@assistant-ui/react
Version:
React components for AI chat.
35 lines • 1.28 kB
JavaScript
// src/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.ts
import { toCoreMessages } from "../edge/converters/toCoreMessages.mjs";
import { toLanguageModelTools } from "../edge/converters/toLanguageModelTools.mjs";
import { runResultStream } from "../edge/streams/runResultStream.mjs";
import { toolResultStream } from "../edge/streams/toolResultStream.mjs";
import { asAsyncIterable } from "../edge/EdgeChatAdapter.mjs";
import {
getEdgeRuntimeStream
} from "../edge/createEdgeRuntimeAPI.mjs";
var DangerousInBrowserAdapter = class {
constructor(options) {
this.options = options;
}
async *run({ messages, abortSignal, config }) {
const res = await getEdgeRuntimeStream({
options: this.options,
abortSignal,
requestData: {
system: config.system,
messages: toCoreMessages(messages),
tools: config.tools ? toLanguageModelTools(config.tools) : [],
...config.callSettings,
...config.config
}
});
const stream = res.pipeThrough(toolResultStream(config.tools, abortSignal)).pipeThrough(runResultStream());
for await (const update of asAsyncIterable(stream)) {
yield update;
}
}
};
export {
DangerousInBrowserAdapter
};
//# sourceMappingURL=DangerousInBrowserAdapter.mjs.map