@assistant-ui/react 0.8.20 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +3 -1
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.mjs +3 -1
- package/dist/api/ThreadRuntime.mjs.map +1 -1
- package/dist/cloud/AssistantCloudRuns.d.ts +2 -2
- package/dist/cloud/AssistantCloudRuns.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudRuns.js.map +1 -1
- package/dist/cloud/AssistantCloudRuns.mjs.map +1 -1
- package/dist/cloud/auiV0.d.ts +1 -2
- package/dist/cloud/auiV0.d.ts.map +1 -1
- package/dist/cloud/auiV0.js.map +1 -1
- package/dist/cloud/auiV0.mjs.map +1 -1
- package/dist/context/react/AttachmentContext.d.ts +108 -108
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -3
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -4
- package/dist/internal.js.map +1 -1
- package/dist/internal.mjs +3 -3
- package/dist/internal.mjs.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +3 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +3 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js +2 -2
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.mjs +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
- package/dist/runtimes/index.d.ts +1 -2
- package/dist/runtimes/index.d.ts.map +1 -1
- package/dist/runtimes/index.js +6 -5
- package/dist/runtimes/index.js.map +1 -1
- package/dist/runtimes/index.mjs +7 -3
- package/dist/runtimes/index.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +3 -3
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +4 -4
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js +2 -2
- package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.mjs +2 -2
- package/dist/runtimes/remote-thread-list/adapter/cloud.mjs.map +1 -1
- package/dist/runtimes/{edge/streams → streams}/toolResultStream.d.ts +1 -1
- package/dist/runtimes/streams/toolResultStream.d.ts.map +1 -0
- package/dist/runtimes/{edge/streams → streams}/toolResultStream.js +1 -1
- package/dist/runtimes/streams/toolResultStream.js.map +1 -0
- package/dist/runtimes/{edge/streams → streams}/toolResultStream.mjs +1 -1
- package/dist/runtimes/streams/toolResultStream.mjs.map +1 -0
- package/dist/runtimes/utils/MessageRepository.d.ts +2 -2
- package/dist/runtimes/utils/MessageRepository.d.ts.map +1 -1
- package/dist/runtimes/utils/MessageRepository.js +1 -5
- package/dist/runtimes/utils/MessageRepository.js.map +1 -1
- package/dist/runtimes/utils/MessageRepository.mjs +1 -5
- package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
- package/dist/types/AssistantTypes.d.ts +3 -60
- package/dist/types/AssistantTypes.d.ts.map +1 -1
- package/dist/types/AssistantTypes.js.map +1 -1
- package/dist/types/AttachmentTypes.d.ts +3 -3
- package/dist/types/AttachmentTypes.d.ts.map +1 -1
- package/dist/types/AttachmentTypes.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -8
- package/src/api/ThreadRuntime.ts +2 -0
- package/src/cloud/AssistantCloudRuns.tsx +2 -2
- package/src/cloud/auiV0.ts +1 -2
- package/src/index.ts +0 -2
- package/src/internal.ts +1 -1
- package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +2 -0
- package/src/runtimes/external-store/ThreadMessageLike.tsx +1 -1
- package/src/runtimes/index.ts +4 -2
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +4 -4
- package/src/runtimes/remote-thread-list/adapter/cloud.tsx +1 -2
- package/src/runtimes/{edge/streams → streams}/toolResultStream.ts +1 -1
- package/src/runtimes/utils/MessageRepository.tsx +3 -7
- package/src/tests/MessageRepository.test.ts +7 -10
- package/src/types/AssistantTypes.ts +3 -81
- package/src/types/AttachmentTypes.ts +3 -3
- package/src/types/index.ts +0 -9
- package/dist/edge.d.ts +0 -2
- package/dist/edge.d.ts.map +0 -1
- package/dist/edge.js +0 -33
- package/dist/edge.js.map +0 -1
- package/dist/edge.mjs +0 -10
- package/dist/edge.mjs.map +0 -1
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.d.ts +0 -9
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.d.ts.map +0 -1
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +0 -58
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js.map +0 -1
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs +0 -35
- package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs.map +0 -1
- package/dist/runtimes/dangerous-in-browser/index.d.ts +0 -2
- package/dist/runtimes/dangerous-in-browser/index.d.ts.map +0 -1
- package/dist/runtimes/dangerous-in-browser/index.js +0 -31
- package/dist/runtimes/dangerous-in-browser/index.js.map +0 -1
- package/dist/runtimes/dangerous-in-browser/index.mjs +0 -8
- package/dist/runtimes/dangerous-in-browser/index.mjs.map +0 -1
- package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts +0 -5
- package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts.map +0 -1
- package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +0 -40
- package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js.map +0 -1
- package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs +0 -18
- package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs.map +0 -1
- package/dist/runtimes/edge/EdgeModelAdapter.d.ts +0 -48
- package/dist/runtimes/edge/EdgeModelAdapter.d.ts.map +0 -1
- package/dist/runtimes/edge/EdgeModelAdapter.js +0 -127
- package/dist/runtimes/edge/EdgeModelAdapter.js.map +0 -1
- package/dist/runtimes/edge/EdgeModelAdapter.mjs +0 -94
- package/dist/runtimes/edge/EdgeModelAdapter.mjs.map +0 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts +0 -345
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts.map +0 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +0 -106
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +0 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +0 -84
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +0 -1
- package/dist/runtimes/edge/converters/fromCoreMessage.d.ts +0 -8
- package/dist/runtimes/edge/converters/fromCoreMessage.d.ts.map +0 -1
- package/dist/runtimes/edge/converters/fromCoreMessage.js +0 -89
- package/dist/runtimes/edge/converters/fromCoreMessage.js.map +0 -1
- package/dist/runtimes/edge/converters/fromCoreMessage.mjs +0 -63
- package/dist/runtimes/edge/converters/fromCoreMessage.mjs.map +0 -1
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.d.ts +0 -8
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.d.ts.map +0 -1
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.js +0 -149
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +0 -1
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs +0 -124
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +0 -1
- package/dist/runtimes/edge/converters/fromLanguageModelTools.d.ts +0 -4
- package/dist/runtimes/edge/converters/fromLanguageModelTools.d.ts.map +0 -1
- package/dist/runtimes/edge/converters/fromLanguageModelTools.js +0 -41
- package/dist/runtimes/edge/converters/fromLanguageModelTools.js.map +0 -1
- package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs +0 -16
- package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs.map +0 -1
- package/dist/runtimes/edge/converters/index.d.ts +0 -35
- package/dist/runtimes/edge/converters/index.d.ts.map +0 -1
- package/dist/runtimes/edge/converters/index.js +0 -50
- package/dist/runtimes/edge/converters/index.js.map +0 -1
- package/dist/runtimes/edge/converters/index.mjs +0 -24
- package/dist/runtimes/edge/converters/index.mjs.map +0 -1
- package/dist/runtimes/edge/converters/toCoreMessages.d.ts +0 -12
- package/dist/runtimes/edge/converters/toCoreMessages.d.ts.map +0 -1
- package/dist/runtimes/edge/converters/toCoreMessages.js +0 -74
- package/dist/runtimes/edge/converters/toCoreMessages.js.map +0 -1
- package/dist/runtimes/edge/converters/toCoreMessages.mjs +0 -48
- package/dist/runtimes/edge/converters/toCoreMessages.mjs.map +0 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts +0 -6
- package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts.map +0 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.js +0 -168
- package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +0 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +0 -143
- package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +0 -1
- package/dist/runtimes/edge/converters/toLanguageModelTools.d.ts +0 -4
- package/dist/runtimes/edge/converters/toLanguageModelTools.d.ts.map +0 -1
- package/dist/runtimes/edge/converters/toLanguageModelTools.js +0 -50
- package/dist/runtimes/edge/converters/toLanguageModelTools.js.map +0 -1
- package/dist/runtimes/edge/converters/toLanguageModelTools.mjs +0 -15
- package/dist/runtimes/edge/converters/toLanguageModelTools.mjs.map +0 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts +0 -36
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +0 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js +0 -179
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +0 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +0 -156
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +0 -1
- package/dist/runtimes/edge/index.d.ts +0 -6
- package/dist/runtimes/edge/index.d.ts.map +0 -1
- package/dist/runtimes/edge/index.js +0 -40
- package/dist/runtimes/edge/index.js.map +0 -1
- package/dist/runtimes/edge/index.mjs +0 -11
- package/dist/runtimes/edge/index.mjs.map +0 -1
- package/dist/runtimes/edge/streams/toolResultStream.d.ts.map +0 -1
- package/dist/runtimes/edge/streams/toolResultStream.js.map +0 -1
- package/dist/runtimes/edge/streams/toolResultStream.mjs.map +0 -1
- package/dist/runtimes/edge/useEdgeRuntime.d.ts +0 -5
- package/dist/runtimes/edge/useEdgeRuntime.d.ts.map +0 -1
- package/dist/runtimes/edge/useEdgeRuntime.js +0 -41
- package/dist/runtimes/edge/useEdgeRuntime.js.map +0 -1
- package/dist/runtimes/edge/useEdgeRuntime.mjs +0 -17
- package/dist/runtimes/edge/useEdgeRuntime.mjs.map +0 -1
- package/dist/utils/json/parse-partial-json.d.ts +0 -4
- package/dist/utils/json/parse-partial-json.d.ts.map +0 -1
- package/dist/utils/json/parse-partial-json.js +0 -90
- package/dist/utils/json/parse-partial-json.js.map +0 -1
- package/dist/utils/json/parse-partial-json.mjs +0 -54
- package/dist/utils/json/parse-partial-json.mjs.map +0 -1
- package/edge/README.md +0 -1
- package/edge/package.json +0 -5
- package/src/edge.ts +0 -4
- package/src/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.ts +0 -42
- package/src/runtimes/dangerous-in-browser/index.ts +0 -4
- package/src/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.ts +0 -21
- package/src/runtimes/edge/EdgeModelAdapter.ts +0 -188
- package/src/runtimes/edge/EdgeRuntimeRequestOptions.ts +0 -109
- package/src/runtimes/edge/converters/fromCoreMessage.ts +0 -76
- package/src/runtimes/edge/converters/fromLanguageModelMessages.ts +0 -149
- package/src/runtimes/edge/converters/fromLanguageModelTools.ts +0 -16
- package/src/runtimes/edge/converters/index.ts +0 -41
- package/src/runtimes/edge/converters/toCoreMessages.ts +0 -64
- package/src/runtimes/edge/converters/toLanguageModelMessages.ts +0 -184
- package/src/runtimes/edge/converters/toLanguageModelTools.ts +0 -18
- package/src/runtimes/edge/createEdgeRuntimeAPI.ts +0 -234
- package/src/runtimes/edge/index.ts +0 -7
- package/src/runtimes/edge/useEdgeRuntime.ts +0 -17
- package/src/utils/json/parse-partial-json.ts +0 -74
@@ -1,50 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __create = Object.create;
|
3
|
-
var __defProp = Object.defineProperty;
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
8
|
-
var __export = (target, all) => {
|
9
|
-
for (var name in all)
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
11
|
-
};
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
14
|
-
for (let key of __getOwnPropNames(from))
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
17
|
-
}
|
18
|
-
return to;
|
19
|
-
};
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
26
|
-
mod
|
27
|
-
));
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
29
|
-
|
30
|
-
// src/runtimes/edge/converters/toLanguageModelTools.ts
|
31
|
-
var toLanguageModelTools_exports = {};
|
32
|
-
__export(toLanguageModelTools_exports, {
|
33
|
-
toLanguageModelTools: () => toLanguageModelTools
|
34
|
-
});
|
35
|
-
module.exports = __toCommonJS(toLanguageModelTools_exports);
|
36
|
-
var import_zod = require("zod");
|
37
|
-
var import_zod_to_json_schema = __toESM(require("zod-to-json-schema"));
|
38
|
-
var toLanguageModelTools = (tools) => {
|
39
|
-
return Object.entries(tools).map(([name, tool]) => ({
|
40
|
-
type: "function",
|
41
|
-
name,
|
42
|
-
...tool.description ? { description: tool.description } : void 0,
|
43
|
-
parameters: tool.parameters instanceof import_zod.z.ZodType ? (0, import_zod_to_json_schema.default)(tool.parameters) : tool.parameters
|
44
|
-
}));
|
45
|
-
};
|
46
|
-
// Annotate the CommonJS export names for ESM import in node:
|
47
|
-
0 && (module.exports = {
|
48
|
-
toLanguageModelTools
|
49
|
-
});
|
50
|
-
//# sourceMappingURL=toLanguageModelTools.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/edge/converters/toLanguageModelTools.ts"],"sourcesContent":["import { LanguageModelV1FunctionTool } from \"@ai-sdk/provider\";\nimport { JSONSchema7 } from \"json-schema\";\nimport { z } from \"zod\";\nimport zodToJsonSchema from \"zod-to-json-schema\";\nimport { Tool } from \"../../../model-context/ModelContextTypes\";\n\nexport const toLanguageModelTools = (\n tools: Record<string, Tool<any, any>>,\n): LanguageModelV1FunctionTool[] => {\n return Object.entries(tools).map(([name, tool]) => ({\n type: \"function\",\n name,\n ...(tool.description ? { description: tool.description } : undefined),\n parameters: (tool.parameters instanceof z.ZodType\n ? zodToJsonSchema(tool.parameters)\n : tool.parameters) as JSONSchema7,\n }));\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,iBAAkB;AAClB,gCAA4B;AAGrB,IAAM,uBAAuB,CAClC,UACkC;AAClC,SAAO,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO;AAAA,IAClD,MAAM;AAAA,IACN;AAAA,IACA,GAAI,KAAK,cAAc,EAAE,aAAa,KAAK,YAAY,IAAI;AAAA,IAC3D,YAAa,KAAK,sBAAsB,aAAE,cACtC,0BAAAA,SAAgB,KAAK,UAAU,IAC/B,KAAK;AAAA,EACX,EAAE;AACJ;","names":["zodToJsonSchema"]}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
// src/runtimes/edge/converters/toLanguageModelTools.ts
|
2
|
-
import { z } from "zod";
|
3
|
-
import zodToJsonSchema from "zod-to-json-schema";
|
4
|
-
var toLanguageModelTools = (tools) => {
|
5
|
-
return Object.entries(tools).map(([name, tool]) => ({
|
6
|
-
type: "function",
|
7
|
-
name,
|
8
|
-
...tool.description ? { description: tool.description } : void 0,
|
9
|
-
parameters: tool.parameters instanceof z.ZodType ? zodToJsonSchema(tool.parameters) : tool.parameters
|
10
|
-
}));
|
11
|
-
};
|
12
|
-
export {
|
13
|
-
toLanguageModelTools
|
14
|
-
};
|
15
|
-
//# sourceMappingURL=toLanguageModelTools.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/edge/converters/toLanguageModelTools.ts"],"sourcesContent":["import { LanguageModelV1FunctionTool } from \"@ai-sdk/provider\";\nimport { JSONSchema7 } from \"json-schema\";\nimport { z } from \"zod\";\nimport zodToJsonSchema from \"zod-to-json-schema\";\nimport { Tool } from \"../../../model-context/ModelContextTypes\";\n\nexport const toLanguageModelTools = (\n tools: Record<string, Tool<any, any>>,\n): LanguageModelV1FunctionTool[] => {\n return Object.entries(tools).map(([name, tool]) => ({\n type: \"function\",\n name,\n ...(tool.description ? { description: tool.description } : undefined),\n parameters: (tool.parameters instanceof z.ZodType\n ? zodToJsonSchema(tool.parameters)\n : tool.parameters) as JSONSchema7,\n }));\n};\n"],"mappings":";AAEA,SAAS,SAAS;AAClB,OAAO,qBAAqB;AAGrB,IAAM,uBAAuB,CAClC,UACkC;AAClC,SAAO,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO;AAAA,IAClD,MAAM;AAAA,IACN;AAAA,IACA,GAAI,KAAK,cAAc,EAAE,aAAa,KAAK,YAAY,IAAI;AAAA,IAC3D,YAAa,KAAK,sBAAsB,EAAE,UACtC,gBAAgB,KAAK,UAAU,IAC/B,KAAK;AAAA,EACX,EAAE;AACJ;","names":[]}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import { LanguageModelV1, LanguageModelV1ToolChoice, LanguageModelV1Prompt } from "@ai-sdk/provider";
|
2
|
-
import { CoreMessage, ThreadMessage, ThreadStep } from "../../types/AssistantTypes";
|
3
|
-
import { EdgeRuntimeRequestOptionsSchema } from "./EdgeRuntimeRequestOptions";
|
4
|
-
import { LanguageModelConfig, LanguageModelV1CallSettings, Tool } from "../../model-context/ModelContextTypes";
|
5
|
-
import { z } from "zod";
|
6
|
-
import { AssistantStreamChunk } from "assistant-stream";
|
7
|
-
type FinishResult = {
|
8
|
-
messages: readonly (CoreMessage | ThreadMessage)[];
|
9
|
-
metadata: {
|
10
|
-
steps: readonly ThreadStep[];
|
11
|
-
};
|
12
|
-
};
|
13
|
-
type LanguageModelCreator = (config: LanguageModelConfig) => Promise<LanguageModelV1> | LanguageModelV1;
|
14
|
-
export type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {
|
15
|
-
model: LanguageModelV1 | LanguageModelCreator;
|
16
|
-
system?: string;
|
17
|
-
tools?: Record<string, Tool<any, any>>;
|
18
|
-
toolChoice?: LanguageModelV1ToolChoice;
|
19
|
-
onFinish?: (result: FinishResult) => void;
|
20
|
-
};
|
21
|
-
type GetEdgeRuntimeStreamOptions = {
|
22
|
-
abortSignal: AbortSignal;
|
23
|
-
requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;
|
24
|
-
options: CreateEdgeRuntimeAPIOptions;
|
25
|
-
};
|
26
|
-
export declare const getEdgeRuntimeStream: ({ abortSignal, requestData: unsafeRequest, options: { model: modelOrCreator, system: serverSystem, tools: serverTools, toolChoice, onFinish, ...unsafeSettings }, }: GetEdgeRuntimeStreamOptions) => Promise<ReadableStream<AssistantStreamChunk>>;
|
27
|
-
export declare namespace getEdgeRuntimeResponse {
|
28
|
-
export type { GetEdgeRuntimeStreamOptions as Options };
|
29
|
-
}
|
30
|
-
export declare const getEdgeRuntimeResponse: (options: getEdgeRuntimeResponse.Options) => Promise<Response>;
|
31
|
-
export declare const createEdgeRuntimeAPI: (options: CreateEdgeRuntimeAPIOptions) => {
|
32
|
-
POST: (request: Request) => Promise<Response>;
|
33
|
-
};
|
34
|
-
export declare function convertToLanguageModelPrompt(system: string | undefined, messages: readonly CoreMessage[]): LanguageModelV1Prompt;
|
35
|
-
export {};
|
36
|
-
//# sourceMappingURL=createEdgeRuntimeAPI.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"createEdgeRuntimeAPI.d.ts","sourceRoot":"","sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,yBAAyB,EAEzB,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,EACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAE3B,IAAI,EACL,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,oBAAoB,EAErB,MAAM,kBAAkB,CAAC;AAG1B,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,EAAE,CAAC;IACnD,QAAQ,EAAE;QACR,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAC1B,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AAEhD,MAAM,MAAM,2BAA2B,GAAG,2BAA2B,GAAG;IACtE,KAAK,EAAE,eAAe,GAAG,oBAAoB,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAC7D,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,qKAWxC,2BAA2B,kDAkG7B,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,sBAAsB,CAAC;IAC9C,YAAY,EAAE,2BAA2B,IAAI,OAAO,EAAE,CAAC;CACxD;AAED,eAAO,MAAM,sBAAsB,GACjC,SAAS,sBAAsB,CAAC,OAAO,sBASxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAS,2BAA2B;oBACjD,OAAO;CAM7B,CAAC;AA+BH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,SAAS,WAAW,EAAE,GAC/B,qBAAqB,CASvB"}
|
@@ -1,179 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __export = (target, all) => {
|
7
|
-
for (var name in all)
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
-
};
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
-
for (let key of __getOwnPropNames(from))
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
-
}
|
16
|
-
return to;
|
17
|
-
};
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
-
|
20
|
-
// src/runtimes/edge/createEdgeRuntimeAPI.ts
|
21
|
-
var createEdgeRuntimeAPI_exports = {};
|
22
|
-
__export(createEdgeRuntimeAPI_exports, {
|
23
|
-
convertToLanguageModelPrompt: () => convertToLanguageModelPrompt,
|
24
|
-
createEdgeRuntimeAPI: () => createEdgeRuntimeAPI,
|
25
|
-
getEdgeRuntimeResponse: () => getEdgeRuntimeResponse,
|
26
|
-
getEdgeRuntimeStream: () => getEdgeRuntimeStream
|
27
|
-
});
|
28
|
-
module.exports = __toCommonJS(createEdgeRuntimeAPI_exports);
|
29
|
-
var import_EdgeRuntimeRequestOptions = require("./EdgeRuntimeRequestOptions.js");
|
30
|
-
var import_toLanguageModelMessages = require("./converters/toLanguageModelMessages.js");
|
31
|
-
var import_toLanguageModelTools = require("./converters/toLanguageModelTools.js");
|
32
|
-
var import_toolResultStream = require("./streams/toolResultStream.js");
|
33
|
-
var import_ModelContextTypes = require("../../model-context/ModelContextTypes.js");
|
34
|
-
var import_assistant_stream = require("assistant-stream");
|
35
|
-
var import_ai_sdk = require("assistant-stream/ai-sdk");
|
36
|
-
var getEdgeRuntimeStream = async ({
|
37
|
-
abortSignal,
|
38
|
-
requestData: unsafeRequest,
|
39
|
-
options: {
|
40
|
-
model: modelOrCreator,
|
41
|
-
system: serverSystem,
|
42
|
-
tools: serverTools = {},
|
43
|
-
toolChoice,
|
44
|
-
onFinish,
|
45
|
-
...unsafeSettings
|
46
|
-
}
|
47
|
-
}) => {
|
48
|
-
const settings = import_ModelContextTypes.LanguageModelV1CallSettingsSchema.parse(unsafeSettings);
|
49
|
-
const lmServerTools = (0, import_toLanguageModelTools.toLanguageModelTools)(serverTools);
|
50
|
-
const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);
|
51
|
-
const {
|
52
|
-
system: clientSystem,
|
53
|
-
tools: clientTools = [],
|
54
|
-
messages,
|
55
|
-
apiKey,
|
56
|
-
baseUrl,
|
57
|
-
modelName,
|
58
|
-
...callSettings
|
59
|
-
} = import_EdgeRuntimeRequestOptions.EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);
|
60
|
-
const systemMessages = [];
|
61
|
-
if (serverSystem) systemMessages.push(serverSystem);
|
62
|
-
if (clientSystem) systemMessages.push(clientSystem);
|
63
|
-
const system = systemMessages.join("\n\n");
|
64
|
-
for (const clientTool of clientTools) {
|
65
|
-
if (serverTools?.[clientTool.name]) {
|
66
|
-
throw new Error(
|
67
|
-
`Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`
|
68
|
-
);
|
69
|
-
}
|
70
|
-
}
|
71
|
-
const model = typeof modelOrCreator === "function" ? await modelOrCreator({ apiKey, baseUrl, modelName }) : modelOrCreator;
|
72
|
-
let stream;
|
73
|
-
const streamResult = await streamMessage({
|
74
|
-
...settings,
|
75
|
-
...callSettings,
|
76
|
-
model,
|
77
|
-
abortSignal,
|
78
|
-
...!!system ? { system } : void 0,
|
79
|
-
messages,
|
80
|
-
tools: lmServerTools.concat(clientTools),
|
81
|
-
...toolChoice ? { toolChoice } : void 0
|
82
|
-
});
|
83
|
-
stream = streamResult.stream.pipeThrough(new import_ai_sdk.LanguageModelV1StreamDecoder());
|
84
|
-
const canExecuteTools = hasServerTools && toolChoice?.type !== "none";
|
85
|
-
if (canExecuteTools) {
|
86
|
-
stream = stream.pipeThrough((0, import_toolResultStream.toolResultStream)(serverTools, abortSignal));
|
87
|
-
}
|
88
|
-
if (canExecuteTools || onFinish) {
|
89
|
-
const tees = stream.tee();
|
90
|
-
stream = tees[0];
|
91
|
-
let serverStream = tees[1];
|
92
|
-
if (onFinish) {
|
93
|
-
let lastChunk;
|
94
|
-
serverStream.pipeThrough(new import_assistant_stream.AssistantMessageAccumulator()).pipeTo(
|
95
|
-
new WritableStream({
|
96
|
-
write(chunk) {
|
97
|
-
lastChunk = chunk;
|
98
|
-
},
|
99
|
-
close() {
|
100
|
-
if (!lastChunk?.status || lastChunk.status.type === "running")
|
101
|
-
return;
|
102
|
-
const resultingMessages = [
|
103
|
-
...messages,
|
104
|
-
{
|
105
|
-
id: "DEFAULT",
|
106
|
-
createdAt: /* @__PURE__ */ new Date(),
|
107
|
-
role: "assistant",
|
108
|
-
content: lastChunk.content,
|
109
|
-
status: lastChunk.status,
|
110
|
-
metadata: lastChunk.metadata
|
111
|
-
}
|
112
|
-
];
|
113
|
-
onFinish({
|
114
|
-
messages: resultingMessages,
|
115
|
-
metadata: {
|
116
|
-
steps: lastChunk.metadata.steps
|
117
|
-
}
|
118
|
-
});
|
119
|
-
},
|
120
|
-
abort(e) {
|
121
|
-
console.error("Server stream processing error:", e);
|
122
|
-
}
|
123
|
-
})
|
124
|
-
);
|
125
|
-
}
|
126
|
-
}
|
127
|
-
return stream;
|
128
|
-
};
|
129
|
-
var getEdgeRuntimeResponse = async (options) => {
|
130
|
-
const stream = await getEdgeRuntimeStream(options);
|
131
|
-
return new Response(stream.pipeThrough(new import_assistant_stream.DataStreamEncoder()), {
|
132
|
-
headers: {
|
133
|
-
"Content-Type": "text/plain; charset=utf-8",
|
134
|
-
"x-vercel-ai-data-stream": "v1"
|
135
|
-
}
|
136
|
-
});
|
137
|
-
};
|
138
|
-
var createEdgeRuntimeAPI = (options) => ({
|
139
|
-
POST: async (request) => getEdgeRuntimeResponse({
|
140
|
-
abortSignal: request.signal,
|
141
|
-
requestData: await request.json(),
|
142
|
-
options
|
143
|
-
})
|
144
|
-
});
|
145
|
-
async function streamMessage({
|
146
|
-
model,
|
147
|
-
system,
|
148
|
-
messages,
|
149
|
-
tools,
|
150
|
-
toolChoice,
|
151
|
-
...options
|
152
|
-
}) {
|
153
|
-
return model.doStream({
|
154
|
-
inputFormat: "messages",
|
155
|
-
mode: {
|
156
|
-
type: "regular",
|
157
|
-
...tools ? { tools } : void 0,
|
158
|
-
...toolChoice ? { toolChoice } : void 0
|
159
|
-
},
|
160
|
-
prompt: convertToLanguageModelPrompt(system, messages),
|
161
|
-
...options
|
162
|
-
});
|
163
|
-
}
|
164
|
-
function convertToLanguageModelPrompt(system, messages) {
|
165
|
-
const languageModelMessages = [];
|
166
|
-
if (system != null) {
|
167
|
-
languageModelMessages.push({ role: "system", content: system });
|
168
|
-
}
|
169
|
-
languageModelMessages.push(...(0, import_toLanguageModelMessages.toLanguageModelMessages)(messages));
|
170
|
-
return languageModelMessages;
|
171
|
-
}
|
172
|
-
// Annotate the CommonJS export names for ESM import in node:
|
173
|
-
0 && (module.exports = {
|
174
|
-
convertToLanguageModelPrompt,
|
175
|
-
createEdgeRuntimeAPI,
|
176
|
-
getEdgeRuntimeResponse,
|
177
|
-
getEdgeRuntimeStream
|
178
|
-
});
|
179
|
-
//# sourceMappingURL=createEdgeRuntimeAPI.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport {\n CoreMessage,\n ThreadMessage,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport { toolResultStream } from \"./streams/toolResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n Tool,\n} from \"../../model-context/ModelContextTypes\";\nimport { z } from \"zod\";\nimport {\n AssistantMessage,\n AssistantMessageAccumulator,\n AssistantStreamChunk,\n DataStreamEncoder,\n} from \"assistant-stream\";\nimport { LanguageModelV1StreamDecoder } from \"assistant-stream/ai-sdk\";\n\ntype FinishResult = {\n messages: readonly (CoreMessage | ThreadMessage)[];\n metadata: {\n steps: readonly ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<AssistantStreamChunk>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages,\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream.pipeThrough(new LanguageModelV1StreamDecoder());\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: AssistantMessage | undefined;\n serverStream.pipeThrough(new AssistantMessageAccumulator()).pipeTo(\n new WritableStream({\n write(chunk) {\n lastChunk = chunk;\n },\n close() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n {\n id: \"DEFAULT\",\n createdAt: new Date(),\n role: \"assistant\",\n content: lastChunk.content,\n status: lastChunk.status,\n metadata: lastChunk.metadata,\n } satisfies ThreadMessage,\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n steps: lastChunk.metadata.steps,\n },\n });\n },\n abort(e) {\n console.error(\"Server stream processing error:\", e);\n },\n }),\n );\n }\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(stream.pipeThrough(new DataStreamEncoder()), {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n \"x-vercel-ai-data-stream\": \"v1\",\n },\n });\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: readonly CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: readonly CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":"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","names":[]}
|
@@ -1,156 +0,0 @@
|
|
1
|
-
// src/runtimes/edge/createEdgeRuntimeAPI.ts
|
2
|
-
import { EdgeRuntimeRequestOptionsSchema } from "./EdgeRuntimeRequestOptions.mjs";
|
3
|
-
import { toLanguageModelMessages } from "./converters/toLanguageModelMessages.mjs";
|
4
|
-
import { toLanguageModelTools } from "./converters/toLanguageModelTools.mjs";
|
5
|
-
import { toolResultStream } from "./streams/toolResultStream.mjs";
|
6
|
-
import {
|
7
|
-
LanguageModelV1CallSettingsSchema
|
8
|
-
} from "../../model-context/ModelContextTypes.mjs";
|
9
|
-
import {
|
10
|
-
AssistantMessageAccumulator,
|
11
|
-
DataStreamEncoder
|
12
|
-
} from "assistant-stream";
|
13
|
-
import { LanguageModelV1StreamDecoder } from "assistant-stream/ai-sdk";
|
14
|
-
var getEdgeRuntimeStream = async ({
|
15
|
-
abortSignal,
|
16
|
-
requestData: unsafeRequest,
|
17
|
-
options: {
|
18
|
-
model: modelOrCreator,
|
19
|
-
system: serverSystem,
|
20
|
-
tools: serverTools = {},
|
21
|
-
toolChoice,
|
22
|
-
onFinish,
|
23
|
-
...unsafeSettings
|
24
|
-
}
|
25
|
-
}) => {
|
26
|
-
const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);
|
27
|
-
const lmServerTools = toLanguageModelTools(serverTools);
|
28
|
-
const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);
|
29
|
-
const {
|
30
|
-
system: clientSystem,
|
31
|
-
tools: clientTools = [],
|
32
|
-
messages,
|
33
|
-
apiKey,
|
34
|
-
baseUrl,
|
35
|
-
modelName,
|
36
|
-
...callSettings
|
37
|
-
} = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);
|
38
|
-
const systemMessages = [];
|
39
|
-
if (serverSystem) systemMessages.push(serverSystem);
|
40
|
-
if (clientSystem) systemMessages.push(clientSystem);
|
41
|
-
const system = systemMessages.join("\n\n");
|
42
|
-
for (const clientTool of clientTools) {
|
43
|
-
if (serverTools?.[clientTool.name]) {
|
44
|
-
throw new Error(
|
45
|
-
`Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`
|
46
|
-
);
|
47
|
-
}
|
48
|
-
}
|
49
|
-
const model = typeof modelOrCreator === "function" ? await modelOrCreator({ apiKey, baseUrl, modelName }) : modelOrCreator;
|
50
|
-
let stream;
|
51
|
-
const streamResult = await streamMessage({
|
52
|
-
...settings,
|
53
|
-
...callSettings,
|
54
|
-
model,
|
55
|
-
abortSignal,
|
56
|
-
...!!system ? { system } : void 0,
|
57
|
-
messages,
|
58
|
-
tools: lmServerTools.concat(clientTools),
|
59
|
-
...toolChoice ? { toolChoice } : void 0
|
60
|
-
});
|
61
|
-
stream = streamResult.stream.pipeThrough(new LanguageModelV1StreamDecoder());
|
62
|
-
const canExecuteTools = hasServerTools && toolChoice?.type !== "none";
|
63
|
-
if (canExecuteTools) {
|
64
|
-
stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));
|
65
|
-
}
|
66
|
-
if (canExecuteTools || onFinish) {
|
67
|
-
const tees = stream.tee();
|
68
|
-
stream = tees[0];
|
69
|
-
let serverStream = tees[1];
|
70
|
-
if (onFinish) {
|
71
|
-
let lastChunk;
|
72
|
-
serverStream.pipeThrough(new AssistantMessageAccumulator()).pipeTo(
|
73
|
-
new WritableStream({
|
74
|
-
write(chunk) {
|
75
|
-
lastChunk = chunk;
|
76
|
-
},
|
77
|
-
close() {
|
78
|
-
if (!lastChunk?.status || lastChunk.status.type === "running")
|
79
|
-
return;
|
80
|
-
const resultingMessages = [
|
81
|
-
...messages,
|
82
|
-
{
|
83
|
-
id: "DEFAULT",
|
84
|
-
createdAt: /* @__PURE__ */ new Date(),
|
85
|
-
role: "assistant",
|
86
|
-
content: lastChunk.content,
|
87
|
-
status: lastChunk.status,
|
88
|
-
metadata: lastChunk.metadata
|
89
|
-
}
|
90
|
-
];
|
91
|
-
onFinish({
|
92
|
-
messages: resultingMessages,
|
93
|
-
metadata: {
|
94
|
-
steps: lastChunk.metadata.steps
|
95
|
-
}
|
96
|
-
});
|
97
|
-
},
|
98
|
-
abort(e) {
|
99
|
-
console.error("Server stream processing error:", e);
|
100
|
-
}
|
101
|
-
})
|
102
|
-
);
|
103
|
-
}
|
104
|
-
}
|
105
|
-
return stream;
|
106
|
-
};
|
107
|
-
var getEdgeRuntimeResponse = async (options) => {
|
108
|
-
const stream = await getEdgeRuntimeStream(options);
|
109
|
-
return new Response(stream.pipeThrough(new DataStreamEncoder()), {
|
110
|
-
headers: {
|
111
|
-
"Content-Type": "text/plain; charset=utf-8",
|
112
|
-
"x-vercel-ai-data-stream": "v1"
|
113
|
-
}
|
114
|
-
});
|
115
|
-
};
|
116
|
-
var createEdgeRuntimeAPI = (options) => ({
|
117
|
-
POST: async (request) => getEdgeRuntimeResponse({
|
118
|
-
abortSignal: request.signal,
|
119
|
-
requestData: await request.json(),
|
120
|
-
options
|
121
|
-
})
|
122
|
-
});
|
123
|
-
async function streamMessage({
|
124
|
-
model,
|
125
|
-
system,
|
126
|
-
messages,
|
127
|
-
tools,
|
128
|
-
toolChoice,
|
129
|
-
...options
|
130
|
-
}) {
|
131
|
-
return model.doStream({
|
132
|
-
inputFormat: "messages",
|
133
|
-
mode: {
|
134
|
-
type: "regular",
|
135
|
-
...tools ? { tools } : void 0,
|
136
|
-
...toolChoice ? { toolChoice } : void 0
|
137
|
-
},
|
138
|
-
prompt: convertToLanguageModelPrompt(system, messages),
|
139
|
-
...options
|
140
|
-
});
|
141
|
-
}
|
142
|
-
function convertToLanguageModelPrompt(system, messages) {
|
143
|
-
const languageModelMessages = [];
|
144
|
-
if (system != null) {
|
145
|
-
languageModelMessages.push({ role: "system", content: system });
|
146
|
-
}
|
147
|
-
languageModelMessages.push(...toLanguageModelMessages(messages));
|
148
|
-
return languageModelMessages;
|
149
|
-
}
|
150
|
-
export {
|
151
|
-
convertToLanguageModelPrompt,
|
152
|
-
createEdgeRuntimeAPI,
|
153
|
-
getEdgeRuntimeResponse,
|
154
|
-
getEdgeRuntimeStream
|
155
|
-
};
|
156
|
-
//# sourceMappingURL=createEdgeRuntimeAPI.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/edge/createEdgeRuntimeAPI.ts"],"sourcesContent":["import {\n LanguageModelV1,\n LanguageModelV1ToolChoice,\n LanguageModelV1FunctionTool,\n LanguageModelV1Prompt,\n LanguageModelV1CallOptions,\n} from \"@ai-sdk/provider\";\nimport {\n CoreMessage,\n ThreadMessage,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { EdgeRuntimeRequestOptionsSchema } from \"./EdgeRuntimeRequestOptions\";\nimport { toLanguageModelMessages } from \"./converters/toLanguageModelMessages\";\nimport { toLanguageModelTools } from \"./converters/toLanguageModelTools\";\nimport { toolResultStream } from \"./streams/toolResultStream\";\nimport {\n LanguageModelConfig,\n LanguageModelV1CallSettings,\n LanguageModelV1CallSettingsSchema,\n Tool,\n} from \"../../model-context/ModelContextTypes\";\nimport { z } from \"zod\";\nimport {\n AssistantMessage,\n AssistantMessageAccumulator,\n AssistantStreamChunk,\n DataStreamEncoder,\n} from \"assistant-stream\";\nimport { LanguageModelV1StreamDecoder } from \"assistant-stream/ai-sdk\";\n\ntype FinishResult = {\n messages: readonly (CoreMessage | ThreadMessage)[];\n metadata: {\n steps: readonly ThreadStep[];\n };\n};\n\ntype LanguageModelCreator = (\n config: LanguageModelConfig,\n) => Promise<LanguageModelV1> | LanguageModelV1;\n\nexport type CreateEdgeRuntimeAPIOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1 | LanguageModelCreator;\n system?: string;\n tools?: Record<string, Tool<any, any>>;\n toolChoice?: LanguageModelV1ToolChoice;\n onFinish?: (result: FinishResult) => void;\n};\n\ntype GetEdgeRuntimeStreamOptions = {\n abortSignal: AbortSignal;\n requestData: z.infer<typeof EdgeRuntimeRequestOptionsSchema>;\n options: CreateEdgeRuntimeAPIOptions;\n};\n\nexport const getEdgeRuntimeStream = async ({\n abortSignal,\n requestData: unsafeRequest,\n options: {\n model: modelOrCreator,\n system: serverSystem,\n tools: serverTools = {},\n toolChoice,\n onFinish,\n ...unsafeSettings\n },\n}: GetEdgeRuntimeStreamOptions) => {\n const settings = LanguageModelV1CallSettingsSchema.parse(unsafeSettings);\n const lmServerTools = toLanguageModelTools(serverTools);\n const hasServerTools = Object.values(serverTools).some((v) => !!v.execute);\n\n const {\n system: clientSystem,\n tools: clientTools = [],\n messages,\n apiKey,\n baseUrl,\n modelName,\n ...callSettings\n } = EdgeRuntimeRequestOptionsSchema.parse(unsafeRequest);\n\n const systemMessages = [];\n if (serverSystem) systemMessages.push(serverSystem);\n if (clientSystem) systemMessages.push(clientSystem);\n const system = systemMessages.join(\"\\n\\n\");\n\n for (const clientTool of clientTools) {\n if (serverTools?.[clientTool.name]) {\n throw new Error(\n `Tool ${clientTool.name} was defined in both the client and server tools. This is not allowed.`,\n );\n }\n }\n\n const model =\n typeof modelOrCreator === \"function\"\n ? await modelOrCreator({ apiKey, baseUrl, modelName })\n : modelOrCreator;\n\n let stream: ReadableStream<AssistantStreamChunk>;\n const streamResult = await streamMessage({\n ...(settings as Partial<StreamMessageOptions>),\n ...callSettings,\n\n model,\n abortSignal,\n\n ...(!!system ? { system } : undefined),\n messages,\n tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),\n ...(toolChoice ? { toolChoice } : undefined),\n });\n stream = streamResult.stream.pipeThrough(new LanguageModelV1StreamDecoder());\n\n // add tool results if we have server tools\n const canExecuteTools = hasServerTools && toolChoice?.type !== \"none\";\n if (canExecuteTools) {\n stream = stream.pipeThrough(toolResultStream(serverTools, abortSignal));\n }\n\n if (canExecuteTools || onFinish) {\n // tee the stream to process server tools and onFinish asap\n const tees = stream.tee();\n stream = tees[0];\n let serverStream = tees[1];\n\n if (onFinish) {\n let lastChunk: AssistantMessage | undefined;\n serverStream.pipeThrough(new AssistantMessageAccumulator()).pipeTo(\n new WritableStream({\n write(chunk) {\n lastChunk = chunk;\n },\n close() {\n if (!lastChunk?.status || lastChunk.status.type === \"running\")\n return;\n\n const resultingMessages = [\n ...messages,\n {\n id: \"DEFAULT\",\n createdAt: new Date(),\n role: \"assistant\",\n content: lastChunk.content,\n status: lastChunk.status,\n metadata: lastChunk.metadata,\n } satisfies ThreadMessage,\n ];\n onFinish({\n messages: resultingMessages,\n metadata: {\n steps: lastChunk.metadata.steps,\n },\n });\n },\n abort(e) {\n console.error(\"Server stream processing error:\", e);\n },\n }),\n );\n }\n }\n\n return stream;\n};\n\nexport declare namespace getEdgeRuntimeResponse {\n export type { GetEdgeRuntimeStreamOptions as Options };\n}\n\nexport const getEdgeRuntimeResponse = async (\n options: getEdgeRuntimeResponse.Options,\n) => {\n const stream = await getEdgeRuntimeStream(options);\n return new Response(stream.pipeThrough(new DataStreamEncoder()), {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n \"x-vercel-ai-data-stream\": \"v1\",\n },\n });\n};\n\nexport const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({\n POST: async (request: Request) =>\n getEdgeRuntimeResponse({\n abortSignal: request.signal,\n requestData: await request.json(),\n options,\n }),\n});\n\ntype StreamMessageOptions = LanguageModelV1CallSettings & {\n model: LanguageModelV1;\n system?: string;\n messages: readonly CoreMessage[];\n tools?: LanguageModelV1FunctionTool[];\n toolChoice?: LanguageModelV1ToolChoice;\n abortSignal: AbortSignal;\n};\n\nasync function streamMessage({\n model,\n system,\n messages,\n tools,\n toolChoice,\n ...options\n}: StreamMessageOptions) {\n return model.doStream({\n inputFormat: \"messages\",\n mode: {\n type: \"regular\",\n ...(tools ? { tools } : undefined),\n ...(toolChoice ? { toolChoice } : undefined),\n },\n prompt: convertToLanguageModelPrompt(system, messages),\n ...(options as Partial<LanguageModelV1CallOptions>),\n });\n}\n\nexport function convertToLanguageModelPrompt(\n system: string | undefined,\n messages: readonly CoreMessage[],\n): LanguageModelV1Prompt {\n const languageModelMessages: LanguageModelV1Prompt = [];\n\n if (system != null) {\n languageModelMessages.push({ role: \"system\", content: system });\n }\n languageModelMessages.push(...toLanguageModelMessages(messages));\n\n return languageModelMessages;\n}\n"],"mappings":"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","names":[]}
|
@@ -1,6 +0,0 @@
|
|
1
|
-
export * from "./converters";
|
2
|
-
export { useEdgeRuntime, type EdgeRuntimeOptions } from "./useEdgeRuntime";
|
3
|
-
export { EdgeModelAdapter as EdgeChatAdapter } from "./EdgeModelAdapter";
|
4
|
-
export type { EdgeRuntimeRequestOptions } from "./EdgeRuntimeRequestOptions";
|
5
|
-
export { unstable_runPendingTools } from "./streams/toolResultStream";
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/edge/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
@@ -1,40 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
-
var __export = (target, all) => {
|
7
|
-
for (var name in all)
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
-
};
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
-
for (let key of __getOwnPropNames(from))
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
-
}
|
16
|
-
return to;
|
17
|
-
};
|
18
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
20
|
-
|
21
|
-
// src/runtimes/edge/index.ts
|
22
|
-
var edge_exports = {};
|
23
|
-
__export(edge_exports, {
|
24
|
-
EdgeChatAdapter: () => import_EdgeModelAdapter.EdgeModelAdapter,
|
25
|
-
unstable_runPendingTools: () => import_toolResultStream.unstable_runPendingTools,
|
26
|
-
useEdgeRuntime: () => import_useEdgeRuntime.useEdgeRuntime
|
27
|
-
});
|
28
|
-
module.exports = __toCommonJS(edge_exports);
|
29
|
-
__reExport(edge_exports, require("./converters/index.js"), module.exports);
|
30
|
-
var import_useEdgeRuntime = require("./useEdgeRuntime.js");
|
31
|
-
var import_EdgeModelAdapter = require("./EdgeModelAdapter.js");
|
32
|
-
var import_toolResultStream = require("./streams/toolResultStream.js");
|
33
|
-
// Annotate the CommonJS export names for ESM import in node:
|
34
|
-
0 && (module.exports = {
|
35
|
-
EdgeChatAdapter,
|
36
|
-
unstable_runPendingTools,
|
37
|
-
useEdgeRuntime,
|
38
|
-
...require("./converters/index.js")
|
39
|
-
});
|
40
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/edge/index.ts"],"sourcesContent":["export * from \"./converters\";\n\nexport { useEdgeRuntime, type EdgeRuntimeOptions } from \"./useEdgeRuntime\";\nexport { EdgeModelAdapter as EdgeChatAdapter } from \"./EdgeModelAdapter\";\nexport type { EdgeRuntimeRequestOptions } from \"./EdgeRuntimeRequestOptions\";\n\nexport { unstable_runPendingTools } from \"./streams/toolResultStream\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAc,kCAAd;AAEA,4BAAwD;AACxD,8BAAoD;AAGpD,8BAAyC;","names":[]}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
// src/runtimes/edge/index.ts
|
2
|
-
export * from "./converters/index.mjs";
|
3
|
-
import { useEdgeRuntime } from "./useEdgeRuntime.mjs";
|
4
|
-
import { EdgeModelAdapter } from "./EdgeModelAdapter.mjs";
|
5
|
-
import { unstable_runPendingTools } from "./streams/toolResultStream.mjs";
|
6
|
-
export {
|
7
|
-
EdgeModelAdapter as EdgeChatAdapter,
|
8
|
-
unstable_runPendingTools,
|
9
|
-
useEdgeRuntime
|
10
|
-
};
|
11
|
-
//# sourceMappingURL=index.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/edge/index.ts"],"sourcesContent":["export * from \"./converters\";\n\nexport { useEdgeRuntime, type EdgeRuntimeOptions } from \"./useEdgeRuntime\";\nexport { EdgeModelAdapter as EdgeChatAdapter } from \"./EdgeModelAdapter\";\nexport type { EdgeRuntimeRequestOptions } from \"./EdgeRuntimeRequestOptions\";\n\nexport { unstable_runPendingTools } from \"./streams/toolResultStream\";\n"],"mappings":";AAAA,cAAc;AAEd,SAAS,sBAA+C;AACxD,SAA6B,wBAAuB;AAGpD,SAAS,gCAAgC;","names":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"toolResultStream.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/edge/streams/toolResultStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA4CzE,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,EACjD,WAAW,EAAE,WAAW,6BA6BzB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,EACjD,WAAW,EAAE,WAAW,uBAKzB"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/edge/streams/toolResultStream.ts"],"sourcesContent":["import { Tool } from \"../../../model-context/ModelContextTypes\";\nimport { z } from \"zod\";\nimport { AssistantMessage, ToolExecutionStream } from \"assistant-stream\";\nimport { ToolResponse } from \"assistant-stream\";\n\nfunction getToolResponse(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n toolCall: {\n toolCallId: string;\n toolName: string;\n args: unknown;\n },\n) {\n const tool = tools?.[toolCall.toolName];\n if (!tool || !tool.execute) return undefined;\n\n let executeFn = tool.execute;\n\n if (tool.parameters instanceof z.ZodType) {\n const result = tool.parameters.safeParse(toolCall.args);\n if (!result.success) {\n executeFn =\n tool.experimental_onSchemaValidationError ??\n (() => {\n throw new Error(\n `Function parameter validation failed. ${JSON.stringify(result.error.issues)}`,\n );\n });\n }\n }\n\n const getResult = async () => {\n const result = await executeFn(toolCall.args, {\n toolCallId: toolCall.toolCallId,\n abortSignal,\n });\n if (result instanceof ToolResponse) return result;\n return new ToolResponse({\n result: result === undefined ? \"<no result>\" : result,\n });\n };\n\n return getResult();\n}\n\nexport async function unstable_runPendingTools(\n message: AssistantMessage,\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n // TODO parallel tool calling\n for (const part of message.parts) {\n if (part.type === \"tool-call\") {\n const promiseOrUndefined = getToolResponse(tools, abortSignal, part);\n if (promiseOrUndefined) {\n const result = await promiseOrUndefined;\n const updatedParts = message.parts.map((p) => {\n if (p.type === \"tool-call\" && p.toolCallId === part.toolCallId) {\n return {\n ...p,\n state: \"result\" as const,\n artifact: result.artifact,\n result: result.result,\n isError: result.isError,\n };\n }\n return p;\n });\n message = {\n ...message,\n parts: updatedParts,\n content: updatedParts,\n };\n }\n }\n }\n return message;\n}\n\nexport function toolResultStream(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n return new ToolExecutionStream((toolCall) =>\n getToolResponse(tools, abortSignal, toolCall),\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAAkB;AAClB,8BAAsD;AACtD,IAAAA,2BAA6B;AAE7B,SAAS,gBACP,OACA,aACA,UAKA;AACA,QAAM,OAAO,QAAQ,SAAS,QAAQ;AACtC,MAAI,CAAC,QAAQ,CAAC,KAAK,QAAS,QAAO;AAEnC,MAAI,YAAY,KAAK;AAErB,MAAI,KAAK,sBAAsB,aAAE,SAAS;AACxC,UAAM,SAAS,KAAK,WAAW,UAAU,SAAS,IAAI;AACtD,QAAI,CAAC,OAAO,SAAS;AACnB,kBACE,KAAK,yCACJ,MAAM;AACL,cAAM,IAAI;AAAA,UACR,yCAAyC,KAAK,UAAU,OAAO,MAAM,MAAM,CAAC;AAAA,QAC9E;AAAA,MACF;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,YAAY,YAAY;AAC5B,UAAM,SAAS,MAAM,UAAU,SAAS,MAAM;AAAA,MAC5C,YAAY,SAAS;AAAA,MACrB;AAAA,IACF,CAAC;AACD,QAAI,kBAAkB,sCAAc,QAAO;AAC3C,WAAO,IAAI,sCAAa;AAAA,MACtB,QAAQ,WAAW,SAAY,gBAAgB;AAAA,IACjD,CAAC;AAAA,EACH;AAEA,SAAO,UAAU;AACnB;AAEA,eAAsB,yBACpB,SACA,OACA,aACA;AAEA,aAAW,QAAQ,QAAQ,OAAO;AAChC,QAAI,KAAK,SAAS,aAAa;AAC7B,YAAM,qBAAqB,gBAAgB,OAAO,aAAa,IAAI;AACnE,UAAI,oBAAoB;AACtB,cAAM,SAAS,MAAM;AACrB,cAAM,eAAe,QAAQ,MAAM,IAAI,CAAC,MAAM;AAC5C,cAAI,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK,YAAY;AAC9D,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,OAAO;AAAA,cACP,UAAU,OAAO;AAAA,cACjB,QAAQ,OAAO;AAAA,cACf,SAAS,OAAO;AAAA,YAClB;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AACD,kBAAU;AAAA,UACR,GAAG;AAAA,UACH,OAAO;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,iBACd,OACA,aACA;AACA,SAAO,IAAI;AAAA,IAAoB,CAAC,aAC9B,gBAAgB,OAAO,aAAa,QAAQ;AAAA,EAC9C;AACF;","names":["import_assistant_stream"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/edge/streams/toolResultStream.ts"],"sourcesContent":["import { Tool } from \"../../../model-context/ModelContextTypes\";\nimport { z } from \"zod\";\nimport { AssistantMessage, ToolExecutionStream } from \"assistant-stream\";\nimport { ToolResponse } from \"assistant-stream\";\n\nfunction getToolResponse(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n toolCall: {\n toolCallId: string;\n toolName: string;\n args: unknown;\n },\n) {\n const tool = tools?.[toolCall.toolName];\n if (!tool || !tool.execute) return undefined;\n\n let executeFn = tool.execute;\n\n if (tool.parameters instanceof z.ZodType) {\n const result = tool.parameters.safeParse(toolCall.args);\n if (!result.success) {\n executeFn =\n tool.experimental_onSchemaValidationError ??\n (() => {\n throw new Error(\n `Function parameter validation failed. ${JSON.stringify(result.error.issues)}`,\n );\n });\n }\n }\n\n const getResult = async () => {\n const result = await executeFn(toolCall.args, {\n toolCallId: toolCall.toolCallId,\n abortSignal,\n });\n if (result instanceof ToolResponse) return result;\n return new ToolResponse({\n result: result === undefined ? \"<no result>\" : result,\n });\n };\n\n return getResult();\n}\n\nexport async function unstable_runPendingTools(\n message: AssistantMessage,\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n // TODO parallel tool calling\n for (const part of message.parts) {\n if (part.type === \"tool-call\") {\n const promiseOrUndefined = getToolResponse(tools, abortSignal, part);\n if (promiseOrUndefined) {\n const result = await promiseOrUndefined;\n const updatedParts = message.parts.map((p) => {\n if (p.type === \"tool-call\" && p.toolCallId === part.toolCallId) {\n return {\n ...p,\n state: \"result\" as const,\n artifact: result.artifact,\n result: result.result,\n isError: result.isError,\n };\n }\n return p;\n });\n message = {\n ...message,\n parts: updatedParts,\n content: updatedParts,\n };\n }\n }\n }\n return message;\n}\n\nexport function toolResultStream(\n tools: Record<string, Tool<any, any>> | undefined,\n abortSignal: AbortSignal,\n) {\n return new ToolExecutionStream((toolCall) =>\n getToolResponse(tools, abortSignal, toolCall),\n );\n}\n"],"mappings":";AACA,SAAS,SAAS;AAClB,SAA2B,2BAA2B;AACtD,SAAS,oBAAoB;AAE7B,SAAS,gBACP,OACA,aACA,UAKA;AACA,QAAM,OAAO,QAAQ,SAAS,QAAQ;AACtC,MAAI,CAAC,QAAQ,CAAC,KAAK,QAAS,QAAO;AAEnC,MAAI,YAAY,KAAK;AAErB,MAAI,KAAK,sBAAsB,EAAE,SAAS;AACxC,UAAM,SAAS,KAAK,WAAW,UAAU,SAAS,IAAI;AACtD,QAAI,CAAC,OAAO,SAAS;AACnB,kBACE,KAAK,yCACJ,MAAM;AACL,cAAM,IAAI;AAAA,UACR,yCAAyC,KAAK,UAAU,OAAO,MAAM,MAAM,CAAC;AAAA,QAC9E;AAAA,MACF;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,YAAY,YAAY;AAC5B,UAAM,SAAS,MAAM,UAAU,SAAS,MAAM;AAAA,MAC5C,YAAY,SAAS;AAAA,MACrB;AAAA,IACF,CAAC;AACD,QAAI,kBAAkB,aAAc,QAAO;AAC3C,WAAO,IAAI,aAAa;AAAA,MACtB,QAAQ,WAAW,SAAY,gBAAgB;AAAA,IACjD,CAAC;AAAA,EACH;AAEA,SAAO,UAAU;AACnB;AAEA,eAAsB,yBACpB,SACA,OACA,aACA;AAEA,aAAW,QAAQ,QAAQ,OAAO;AAChC,QAAI,KAAK,SAAS,aAAa;AAC7B,YAAM,qBAAqB,gBAAgB,OAAO,aAAa,IAAI;AACnE,UAAI,oBAAoB;AACtB,cAAM,SAAS,MAAM;AACrB,cAAM,eAAe,QAAQ,MAAM,IAAI,CAAC,MAAM;AAC5C,cAAI,EAAE,SAAS,eAAe,EAAE,eAAe,KAAK,YAAY;AAC9D,mBAAO;AAAA,cACL,GAAG;AAAA,cACH,OAAO;AAAA,cACP,UAAU,OAAO;AAAA,cACjB,QAAQ,OAAO;AAAA,cACf,SAAS,OAAO;AAAA,YAClB;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AACD,kBAAU;AAAA,UACR,GAAG;AAAA,UACH,OAAO;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,iBACd,OACA,aACA;AACA,SAAO,IAAI;AAAA,IAAoB,CAAC,aAC9B,gBAAgB,OAAO,aAAa,QAAQ;AAAA,EAC9C;AACF;","names":[]}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
import { LocalRuntimeOptions } from "..";
|
2
|
-
import { EdgeModelAdapterOptions } from "./EdgeModelAdapter";
|
3
|
-
export type EdgeRuntimeOptions = EdgeModelAdapterOptions & LocalRuntimeOptions;
|
4
|
-
export declare const useEdgeRuntime: (options: EdgeRuntimeOptions) => import("../../internal").AssistantRuntimeImpl;
|
5
|
-
//# sourceMappingURL=useEdgeRuntime.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useEdgeRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/edge/useEdgeRuntime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAoB,MAAM,oBAAoB,CAAC;AAG/E,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG,mBAAmB,CAAC;AAE/E,eAAO,MAAM,cAAc,GAAI,SAAS,kBAAkB,kDAQzD,CAAC"}
|