@assistant-ui/react 0.7.57 → 0.7.59
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cloud/AssistantCloud.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.js +1 -1
- package/dist/cloud/AssistantCloud.js.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.mjs +1 -1
- package/dist/cloud/AssistantCloud.mjs.map +1 -0
- package/dist/cloud/AssistantCloudAPI.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.js +1 -1
- package/dist/cloud/AssistantCloudAPI.js.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.mjs +1 -1
- package/dist/cloud/AssistantCloudAPI.mjs.map +1 -0
- package/dist/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.js +1 -1
- package/dist/cloud/AssistantCloudAuthStrategy.js.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.mjs +1 -1
- package/dist/cloud/AssistantCloudAuthStrategy.mjs.map +1 -0
- package/dist/cloud/AssistantCloudAuthTokens.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.js +1 -1
- package/dist/cloud/AssistantCloudAuthTokens.js.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.mjs +1 -1
- package/dist/cloud/AssistantCloudAuthTokens.mjs.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.d.ts +1 -1
- package/dist/cloud/AssistantCloudRuns.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.js +1 -1
- package/dist/cloud/AssistantCloudRuns.js.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.mjs +1 -1
- package/dist/cloud/AssistantCloudRuns.mjs.map +1 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts +5 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +72 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.mjs +47 -0
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.mjs.map +1 -0
- package/dist/cloud/AssistantCloudThreadMessages.d.ts +30 -0
- package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +1 -0
- package/dist/cloud/AssistantCloudThreadMessages.js +46 -0
- package/dist/cloud/AssistantCloudThreadMessages.js.map +1 -0
- package/dist/cloud/AssistantCloudThreadMessages.mjs +21 -0
- package/dist/cloud/AssistantCloudThreadMessages.mjs.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudThreads.d.ts +2 -0
- package/dist/cloud/AssistantCloudThreads.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudThreads.js +8 -3
- package/dist/cloud/AssistantCloudThreads.js.map +1 -0
- package/dist/cloud/AssistantCloudThreads.mjs +30 -0
- package/dist/cloud/AssistantCloudThreads.mjs.map +1 -0
- package/dist/cloud/auiV0.d.ts +46 -0
- package/dist/cloud/auiV0.d.ts.map +1 -0
- package/dist/cloud/auiV0.js +99 -0
- package/dist/cloud/auiV0.js.map +1 -0
- package/dist/cloud/auiV0.mjs +73 -0
- package/dist/cloud/auiV0.mjs.map +1 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/index.js +1 -1
- package/dist/cloud/index.js.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/index.mjs +1 -1
- package/dist/cloud/index.mjs.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.d.ts +1 -1
- package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.js +16 -4
- package/dist/cloud/useCloudThreadListRuntime.js.map +1 -0
- package/dist/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.mjs +23 -5
- package/dist/cloud/useCloudThreadListRuntime.mjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/model-context/makeAssistantTool.d.ts +2 -1
- package/dist/model-context/makeAssistantTool.d.ts.map +1 -1
- package/dist/model-context/makeAssistantTool.js.map +1 -1
- package/dist/model-context/makeAssistantTool.mjs.map +1 -1
- package/dist/model-context/makeAssistantToolUI.d.ts +2 -1
- package/dist/model-context/makeAssistantToolUI.d.ts.map +1 -1
- package/dist/model-context/makeAssistantToolUI.js.map +1 -1
- package/dist/model-context/makeAssistantToolUI.mjs.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts +3 -2
- package/dist/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantTool.mjs.map +1 -1
- package/dist/model-context/useAssistantToolUI.d.ts +2 -1
- package/dist/model-context/useAssistantToolUI.d.ts.map +1 -1
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.mjs.map +1 -1
- package/dist/model-context/useInlineRender.d.ts +2 -1
- package/dist/model-context/useInlineRender.d.ts.map +1 -1
- package/dist/model-context/useInlineRender.js.map +1 -1
- package/dist/model-context/useInlineRender.mjs.map +1 -1
- package/dist/runtimes/edge/EdgeChatAdapter.js +3 -3
- package/dist/runtimes/edge/EdgeChatAdapter.js.map +1 -1
- package/dist/runtimes/edge/EdgeChatAdapter.mjs +3 -3
- package/dist/runtimes/edge/EdgeChatAdapter.mjs.map +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts +5 -4
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts.map +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +1 -1
- package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.d.ts.map +1 -1
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +1 -1
- package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts +3 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.js +10 -2
- package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +10 -2
- package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts +2 -2
- package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +1 -1
- package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
- package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts +4 -3
- package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts.map +1 -1
- package/dist/runtimes/edge/streams/AssistantStreamChunkType.js.map +1 -1
- package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs.map +1 -1
- package/dist/runtimes/edge/streams/runResultStream.js +1 -1
- package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
- package/dist/runtimes/edge/streams/runResultStream.mjs +1 -1
- package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.d.ts +4 -3
- package/dist/runtimes/edge/streams/toolResultStream.d.ts.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts +11 -3
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js +10 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.mjs +10 -1
- package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts +3 -2
- package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +2 -0
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +27 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +27 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.js +14 -7
- package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.mjs +14 -7
- package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +1 -6
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +1 -6
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/remote-thread-list/index.d.ts +0 -1
- package/dist/runtimes/remote-thread-list/index.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/index.js +1 -4
- package/dist/runtimes/remote-thread-list/index.js.map +1 -1
- package/dist/runtimes/remote-thread-list/index.mjs +0 -1
- package/dist/runtimes/remote-thread-list/index.mjs.map +1 -1
- package/dist/types/AssistantTypes.d.ts +8 -7
- package/dist/types/AssistantTypes.d.ts.map +1 -1
- package/dist/types/AssistantTypes.js.map +1 -1
- package/dist/types/ContentPartComponentTypes.d.ts +3 -2
- package/dist/types/ContentPartComponentTypes.d.ts.map +1 -1
- package/dist/types/ContentPartComponentTypes.js.map +1 -1
- package/dist/utils/json/fix-json.d.ts.map +1 -0
- package/dist/{runtimes/edge/partial-json → utils/json}/fix-json.js +1 -1
- package/dist/utils/json/fix-json.js.map +1 -0
- package/dist/{runtimes/edge/partial-json → utils/json}/fix-json.mjs +1 -1
- package/dist/utils/json/fix-json.mjs.map +1 -0
- package/dist/utils/json/is-json.d.ts +5 -0
- package/dist/utils/json/is-json.d.ts.map +1 -0
- package/dist/utils/json/is-json.js +56 -0
- package/dist/utils/json/is-json.js.map +1 -0
- package/dist/utils/json/is-json.mjs +29 -0
- package/dist/utils/json/is-json.mjs.map +1 -0
- package/dist/utils/json/json-value.d.ts +6 -0
- package/dist/utils/json/json-value.d.ts.map +1 -0
- package/dist/utils/json/json-value.js +19 -0
- package/dist/utils/json/json-value.js.map +1 -0
- package/dist/utils/json/json-value.mjs +1 -0
- package/dist/utils/json/json-value.mjs.map +1 -0
- package/dist/utils/json/parse-partial-json.d.ts.map +1 -0
- package/dist/{runtimes/edge/partial-json → utils/json}/parse-partial-json.js +1 -1
- package/dist/utils/json/parse-partial-json.js.map +1 -0
- package/dist/{runtimes/edge/partial-json → utils/json}/parse-partial-json.mjs +1 -1
- package/dist/utils/json/parse-partial-json.mjs.map +1 -0
- package/package.json +3 -3
- package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.tsx +1 -1
- package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +64 -0
- package/src/cloud/AssistantCloudThreadMessages.tsx +48 -0
- package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudThreads.tsx +10 -3
- package/src/cloud/auiV0.ts +130 -0
- package/src/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.tsx +29 -5
- package/src/index.ts +1 -0
- package/src/model-context/makeAssistantTool.tsx +2 -4
- package/src/model-context/makeAssistantToolUI.tsx +2 -4
- package/src/model-context/useAssistantTool.tsx +3 -5
- package/src/model-context/useAssistantToolUI.tsx +2 -4
- package/src/model-context/useInlineRender.tsx +2 -1
- package/src/runtimes/edge/EdgeChatAdapter.ts +3 -3
- package/src/runtimes/edge/EdgeRuntimeRequestOptions.ts +4 -2
- package/src/runtimes/edge/converters/fromLanguageModelMessages.ts +2 -1
- package/src/runtimes/edge/converters/toLanguageModelMessages.ts +12 -1
- package/src/runtimes/edge/createEdgeRuntimeAPI.ts +4 -4
- package/src/runtimes/edge/streams/AssistantStreamChunkType.ts +4 -3
- package/src/runtimes/edge/streams/runResultStream.ts +1 -1
- package/src/runtimes/edge/streams/toolResultStream.ts +4 -3
- package/src/runtimes/external-store/ThreadMessageLike.tsx +24 -3
- package/src/runtimes/local/ChatModelAdapter.tsx +3 -2
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +37 -1
- package/src/runtimes/local/useLocalRuntime.tsx +14 -7
- package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +1 -6
- package/src/runtimes/remote-thread-list/index.ts +0 -1
- package/src/types/AssistantTypes.ts +11 -7
- package/src/types/ContentPartComponentTypes.tsx +3 -2
- package/src/utils/json/is-json.ts +42 -0
- package/src/utils/json/json-value.ts +13 -0
- package/dist/runtimes/edge/partial-json/fix-json.d.ts.map +0 -1
- package/dist/runtimes/edge/partial-json/fix-json.js.map +0 -1
- package/dist/runtimes/edge/partial-json/fix-json.mjs.map +0 -1
- package/dist/runtimes/edge/partial-json/parse-partial-json.d.ts.map +0 -1
- package/dist/runtimes/edge/partial-json/parse-partial-json.js.map +0 -1
- package/dist/runtimes/edge/partial-json/parse-partial-json.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.mjs +0 -25
- package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/index.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/index.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/index.mjs.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.d.ts.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js.map +0 -1
- package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs.map +0 -1
- /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.d.ts +0 -0
- /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.d.ts +0 -0
- /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.d.ts +0 -0
- /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.d.ts +0 -0
- /package/dist/{runtimes/remote-thread-list/cloud → cloud}/index.d.ts +0 -0
- /package/dist/{runtimes/edge/partial-json → utils/json}/fix-json.d.ts +0 -0
- /package/dist/{runtimes/edge/partial-json → utils/json}/parse-partial-json.d.ts +0 -0
- /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.tsx +0 -0
- /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.tsx +0 -0
- /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.tsx +0 -0
- /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.tsx +0 -0
- /package/src/{runtimes/remote-thread-list/cloud → cloud}/index.ts +0 -0
- /package/src/{runtimes/edge/partial-json → utils/json}/fix-json.ts +0 -0
- /package/src/{runtimes/edge/partial-json → utils/json}/parse-partial-json.ts +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parse-partial-json.d.ts","sourceRoot":"","sources":["../../../src/utils/json/parse-partial-json.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,SAAU,MAAM,QAU5C,CAAC"}
|
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
27
27
|
));
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
29
29
|
|
30
|
-
// src/
|
30
|
+
// src/utils/json/parse-partial-json.ts
|
31
31
|
var parse_partial_json_exports = {};
|
32
32
|
__export(parse_partial_json_exports, {
|
33
33
|
parsePartialJson: () => parsePartialJson
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/json/parse-partial-json.ts"],"sourcesContent":["import sjson from \"secure-json-parse\";\nimport { fixJson } from \"./fix-json\";\n\nexport const parsePartialJson = (json: string) => {\n try {\n return sjson.parse(json);\n } catch {\n try {\n return sjson.parse(fixJson(json));\n } catch {\n return undefined;\n }\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAkB;AAClB,sBAAwB;AAEjB,IAAM,mBAAmB,CAAC,SAAiB;AAChD,MAAI;AACF,WAAO,yBAAAA,QAAM,MAAM,IAAI;AAAA,EACzB,QAAQ;AACN,QAAI;AACF,aAAO,yBAAAA,QAAM,UAAM,yBAAQ,IAAI,CAAC;AAAA,IAClC,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["sjson"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/json/parse-partial-json.ts"],"sourcesContent":["import sjson from \"secure-json-parse\";\nimport { fixJson } from \"./fix-json\";\n\nexport const parsePartialJson = (json: string) => {\n try {\n return sjson.parse(json);\n } catch {\n try {\n return sjson.parse(fixJson(json));\n } catch {\n return undefined;\n }\n }\n};\n"],"mappings":";AAAA,OAAO,WAAW;AAClB,SAAS,eAAe;AAEjB,IAAM,mBAAmB,CAAC,SAAiB;AAChD,MAAI;AACF,WAAO,MAAM,MAAM,IAAI;AAAA,EACzB,QAAQ;AACN,QAAI;AACF,aAAO,MAAM,MAAM,QAAQ,IAAI,CAAC;AAAA,IAClC,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
|
package/package.json
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
"conversational-ui",
|
30
30
|
"conversational-ai"
|
31
31
|
],
|
32
|
-
"version": "0.7.
|
32
|
+
"version": "0.7.59",
|
33
33
|
"license": "MIT",
|
34
34
|
"exports": {
|
35
35
|
".": {
|
@@ -118,8 +118,8 @@
|
|
118
118
|
"tailwindcss-animate": "^1.0.7",
|
119
119
|
"tsx": "^4.19.2",
|
120
120
|
"@assistant-ui/tailwindcss-transformer": "0.1.0",
|
121
|
-
"@assistant-ui/
|
122
|
-
"@assistant-ui/
|
121
|
+
"@assistant-ui/tsbuildutils": "^0.0.1",
|
122
|
+
"@assistant-ui/tsconfig": "0.0.0"
|
123
123
|
},
|
124
124
|
"publishConfig": {
|
125
125
|
"access": "public",
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { RefObject, useState } from "react";
|
2
|
+
import { useThreadListItemRuntime } from "../context";
|
3
|
+
import { ThreadHistoryAdapter } from "../runtimes/adapters/thread-history/ThreadHistoryAdapter";
|
4
|
+
import { ExportedMessageRepositoryItem } from "../runtimes/utils/MessageRepository";
|
5
|
+
import { AssistantCloud } from "./AssistantCloud";
|
6
|
+
import { auiV0Decode, auiV0Encode } from "./auiV0";
|
7
|
+
import { ThreadListItemRuntime } from "../api";
|
8
|
+
|
9
|
+
class AssistantCloudThreadHistoryAdapter implements ThreadHistoryAdapter {
|
10
|
+
constructor(
|
11
|
+
private cloudRef: RefObject<AssistantCloud>,
|
12
|
+
private threadListItemRuntime: ThreadListItemRuntime,
|
13
|
+
) {}
|
14
|
+
|
15
|
+
private _getIdForLocalId: Record<string, string | Promise<string>> = {};
|
16
|
+
|
17
|
+
async append({ parentId, message }: ExportedMessageRepositoryItem) {
|
18
|
+
const { remoteId } = await this.threadListItemRuntime.initialize();
|
19
|
+
const task = this.cloudRef.current.threads.messages
|
20
|
+
.create(remoteId, {
|
21
|
+
parent_id: parentId
|
22
|
+
? ((await this._getIdForLocalId[parentId]) ?? parentId)
|
23
|
+
: null,
|
24
|
+
format: "aui/v0",
|
25
|
+
content: auiV0Encode(message),
|
26
|
+
})
|
27
|
+
.then(({ message_id }) => {
|
28
|
+
this._getIdForLocalId[message.id] = message_id;
|
29
|
+
return message_id;
|
30
|
+
});
|
31
|
+
|
32
|
+
this._getIdForLocalId[message.id] = task;
|
33
|
+
|
34
|
+
return task.then(() => {});
|
35
|
+
}
|
36
|
+
|
37
|
+
async load() {
|
38
|
+
const remoteId = this.threadListItemRuntime.getState().remoteId;
|
39
|
+
if (!remoteId) return { messages: [] };
|
40
|
+
const { messages } =
|
41
|
+
await this.cloudRef.current.threads.messages.list(remoteId);
|
42
|
+
const payload = {
|
43
|
+
messages: messages
|
44
|
+
.filter(
|
45
|
+
(m): m is typeof m & { format: "aui/v0" } => m.format === "aui/v0",
|
46
|
+
)
|
47
|
+
.map(auiV0Decode)
|
48
|
+
.reverse(),
|
49
|
+
};
|
50
|
+
return payload;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
export const useAssistantCloudThreadHistoryAdapter = (
|
55
|
+
cloudRef: RefObject<AssistantCloud>,
|
56
|
+
): ThreadHistoryAdapter => {
|
57
|
+
const threadListItemRuntime = useThreadListItemRuntime();
|
58
|
+
const [adapter] = useState(
|
59
|
+
() =>
|
60
|
+
new AssistantCloudThreadHistoryAdapter(cloudRef, threadListItemRuntime),
|
61
|
+
);
|
62
|
+
|
63
|
+
return adapter;
|
64
|
+
};
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { ReadonlyJSONObject } from "../utils/json/json-value";
|
2
|
+
import { AssistantCloudAPI } from "./AssistantCloudAPI";
|
3
|
+
|
4
|
+
export type CloudMessage = {
|
5
|
+
id: string;
|
6
|
+
parent_id: string | null;
|
7
|
+
height: number;
|
8
|
+
created_at: Date;
|
9
|
+
updated_at: Date;
|
10
|
+
format: "aui/v0" | string;
|
11
|
+
content: ReadonlyJSONObject;
|
12
|
+
};
|
13
|
+
|
14
|
+
type AssistantCloudThreadMessageListResponse = {
|
15
|
+
messages: CloudMessage[];
|
16
|
+
};
|
17
|
+
|
18
|
+
type AssistantCloudThreadMessageCreateBody = {
|
19
|
+
parent_id: string | null;
|
20
|
+
format: "aui/v0" | string;
|
21
|
+
content: ReadonlyJSONObject;
|
22
|
+
};
|
23
|
+
|
24
|
+
type AssistantCloudMessageCreateResponse = {
|
25
|
+
message_id: string;
|
26
|
+
};
|
27
|
+
|
28
|
+
export class AssistantCloudThreadMessages {
|
29
|
+
constructor(private cloud: AssistantCloudAPI) {}
|
30
|
+
|
31
|
+
public async list(
|
32
|
+
threadId: string,
|
33
|
+
): Promise<AssistantCloudThreadMessageListResponse> {
|
34
|
+
return this.cloud.makeRequest(
|
35
|
+
`/threads/${encodeURIComponent(threadId)}/messages`,
|
36
|
+
);
|
37
|
+
}
|
38
|
+
|
39
|
+
public async create(
|
40
|
+
threadId: string,
|
41
|
+
body: AssistantCloudThreadMessageCreateBody,
|
42
|
+
): Promise<AssistantCloudMessageCreateResponse> {
|
43
|
+
return this.cloud.makeRequest(
|
44
|
+
`/threads/${encodeURIComponent(threadId)}/messages`,
|
45
|
+
{ method: "POST", body },
|
46
|
+
);
|
47
|
+
}
|
48
|
+
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { AssistantCloudAPI } from "./AssistantCloudAPI";
|
2
|
+
import { AssistantCloudThreadMessages } from "./AssistantCloudThreadMessages";
|
2
3
|
|
3
4
|
type AssistantCloudThreadsListQuery = {
|
4
5
|
is_archived?: boolean;
|
@@ -42,7 +43,11 @@ type AssistantCloudThreadsUpdateBody = {
|
|
42
43
|
};
|
43
44
|
|
44
45
|
export class AssistantCloudThreads {
|
45
|
-
|
46
|
+
public readonly messages: AssistantCloudThreadMessages;
|
47
|
+
|
48
|
+
constructor(private cloud: AssistantCloudAPI) {
|
49
|
+
this.messages = new AssistantCloudThreadMessages(cloud);
|
50
|
+
}
|
46
51
|
|
47
52
|
public async list(
|
48
53
|
query?: AssistantCloudThreadsListQuery,
|
@@ -60,13 +65,15 @@ export class AssistantCloudThreads {
|
|
60
65
|
threadId: string,
|
61
66
|
body: AssistantCloudThreadsUpdateBody,
|
62
67
|
): Promise<void> {
|
63
|
-
return this.cloud.makeRequest(`/threads/${threadId}`, {
|
68
|
+
return this.cloud.makeRequest(`/threads/${encodeURIComponent(threadId)}`, {
|
64
69
|
method: "PUT",
|
65
70
|
body,
|
66
71
|
});
|
67
72
|
}
|
68
73
|
|
69
74
|
public async delete(threadId: string): Promise<void> {
|
70
|
-
return this.cloud.makeRequest(`/threads/${threadId}`, {
|
75
|
+
return this.cloud.makeRequest(`/threads/${encodeURIComponent(threadId)}`, {
|
76
|
+
method: "DELETE",
|
77
|
+
});
|
71
78
|
}
|
72
79
|
}
|
@@ -0,0 +1,130 @@
|
|
1
|
+
import { JSONObject } from "@ai-sdk/provider";
|
2
|
+
import { ThreadMessage } from "../types";
|
3
|
+
import { MessageStatus } from "../types/AssistantTypes";
|
4
|
+
import { fromThreadMessageLike } from "../runtimes/external-store/ThreadMessageLike";
|
5
|
+
import { CloudMessage } from "./AssistantCloudThreadMessages";
|
6
|
+
import { isJSONValue } from "../utils/json/is-json";
|
7
|
+
import { ReadonlyJSONValue } from "../utils/json/json-value";
|
8
|
+
import { ExportedMessageRepositoryItem } from "../runtimes/utils/MessageRepository";
|
9
|
+
|
10
|
+
type AuiV0MessageContentPart =
|
11
|
+
| {
|
12
|
+
readonly type: "text";
|
13
|
+
readonly text: string;
|
14
|
+
}
|
15
|
+
| {
|
16
|
+
readonly type: "tool-call";
|
17
|
+
readonly toolCallId: string;
|
18
|
+
readonly toolName: string;
|
19
|
+
readonly args: ReadonlyJSONValue;
|
20
|
+
readonly result?: ReadonlyJSONValue;
|
21
|
+
readonly isError?: true;
|
22
|
+
}
|
23
|
+
| {
|
24
|
+
readonly type: "tool-call";
|
25
|
+
readonly toolCallId: string;
|
26
|
+
readonly toolName: string;
|
27
|
+
readonly argsText: string;
|
28
|
+
readonly result?: ReadonlyJSONValue;
|
29
|
+
readonly isError?: true;
|
30
|
+
};
|
31
|
+
|
32
|
+
type AuiV0Message = {
|
33
|
+
readonly role: "assistant" | "user" | "system";
|
34
|
+
readonly status?: MessageStatus;
|
35
|
+
readonly content: readonly AuiV0MessageContentPart[];
|
36
|
+
readonly metadata: {
|
37
|
+
readonly unstable_annotations: readonly ReadonlyJSONValue[];
|
38
|
+
readonly unstable_data: readonly ReadonlyJSONValue[];
|
39
|
+
readonly steps: readonly {
|
40
|
+
readonly usage?: {
|
41
|
+
readonly promptTokens: number;
|
42
|
+
readonly completionTokens: number;
|
43
|
+
};
|
44
|
+
}[];
|
45
|
+
readonly custom: Readonly<JSONObject>;
|
46
|
+
};
|
47
|
+
};
|
48
|
+
|
49
|
+
export const auiV0Encode = (message: ThreadMessage): AuiV0Message => {
|
50
|
+
// TODO attachments are currently intentionally ignored
|
51
|
+
// info: ID and createdAt are ignored (we use the server value instead)
|
52
|
+
return {
|
53
|
+
role: message.role,
|
54
|
+
content: message.content.map((part) => {
|
55
|
+
const type = part.type;
|
56
|
+
switch (type) {
|
57
|
+
case "text": {
|
58
|
+
return {
|
59
|
+
type: "text",
|
60
|
+
text: part.text,
|
61
|
+
};
|
62
|
+
}
|
63
|
+
|
64
|
+
case "tool-call": {
|
65
|
+
if (!isJSONValue(part.result)) {
|
66
|
+
console.warn(
|
67
|
+
"tool-call result is not JSON! " + JSON.stringify(part),
|
68
|
+
);
|
69
|
+
}
|
70
|
+
return {
|
71
|
+
type: "tool-call",
|
72
|
+
toolCallId: part.toolCallId,
|
73
|
+
toolName: part.toolName,
|
74
|
+
...(JSON.stringify(part.args) === part.argsText
|
75
|
+
? {
|
76
|
+
args: part.args,
|
77
|
+
}
|
78
|
+
: { argsText: part.argsText }),
|
79
|
+
...(part.result
|
80
|
+
? { result: part.result as ReadonlyJSONValue }
|
81
|
+
: {}),
|
82
|
+
...(part.isError ? { isError: true } : {}),
|
83
|
+
};
|
84
|
+
}
|
85
|
+
|
86
|
+
default: {
|
87
|
+
const unhandledType: "ui" | "image" | "file" | "audio" = type;
|
88
|
+
throw new Error(
|
89
|
+
`Content part type not supported by aui/v0: ${unhandledType}`,
|
90
|
+
);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}),
|
94
|
+
metadata: message.metadata as AuiV0Message["metadata"],
|
95
|
+
...(message.status
|
96
|
+
? {
|
97
|
+
status:
|
98
|
+
message.status?.type === "running"
|
99
|
+
? {
|
100
|
+
type: "incomplete",
|
101
|
+
reason: "cancelled",
|
102
|
+
}
|
103
|
+
: message.status,
|
104
|
+
}
|
105
|
+
: undefined),
|
106
|
+
};
|
107
|
+
};
|
108
|
+
|
109
|
+
export const auiV0Decode = (
|
110
|
+
cloudMessage: CloudMessage & { format: "aui/v0" },
|
111
|
+
): ExportedMessageRepositoryItem => {
|
112
|
+
const payload = cloudMessage.content as unknown as AuiV0Message;
|
113
|
+
const message = fromThreadMessageLike(
|
114
|
+
{
|
115
|
+
id: cloudMessage.id,
|
116
|
+
createdAt: cloudMessage.created_at,
|
117
|
+
...payload,
|
118
|
+
},
|
119
|
+
cloudMessage.id,
|
120
|
+
{
|
121
|
+
type: "complete",
|
122
|
+
reason: "unknown",
|
123
|
+
},
|
124
|
+
);
|
125
|
+
|
126
|
+
return {
|
127
|
+
parentId: cloudMessage.parent_id,
|
128
|
+
message,
|
129
|
+
};
|
130
|
+
};
|
@@ -1,11 +1,21 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
|
-
import {
|
4
|
-
|
3
|
+
import {
|
4
|
+
FC,
|
5
|
+
PropsWithChildren,
|
6
|
+
useCallback,
|
7
|
+
useEffect,
|
8
|
+
useMemo,
|
9
|
+
useRef,
|
10
|
+
useState,
|
11
|
+
} from "react";
|
5
12
|
import { AssistantCloud } from "./AssistantCloud";
|
6
|
-
import { AssistantRuntime } from "
|
7
|
-
import { RemoteThreadListSubscriber } from "../types";
|
8
|
-
import { toCoreMessages } from "
|
13
|
+
import { AssistantRuntime } from "../api";
|
14
|
+
import { RemoteThreadListSubscriber } from "../runtimes/remote-thread-list/types";
|
15
|
+
import { toCoreMessages } from "../runtimes/edge";
|
16
|
+
import { useRemoteThreadListRuntime } from "../runtimes/remote-thread-list/useRemoteThreadListRuntime";
|
17
|
+
import { RuntimeAdapterProvider } from "../runtimes/adapters/RuntimeAdapterProvider";
|
18
|
+
import { useAssistantCloudThreadHistoryAdapter } from "./AssistantCloudThreadHistoryAdapter";
|
9
19
|
|
10
20
|
type ThreadData = {
|
11
21
|
externalId: string;
|
@@ -104,6 +114,20 @@ export const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {
|
|
104
114
|
subscribers.delete(callback);
|
105
115
|
};
|
106
116
|
},
|
117
|
+
unstable_Provider: useCallback<FC<PropsWithChildren>>(({ children }) => {
|
118
|
+
const history = useAssistantCloudThreadHistoryAdapter({
|
119
|
+
get current() {
|
120
|
+
return adapterRef.current.cloud;
|
121
|
+
},
|
122
|
+
});
|
123
|
+
const adapters = useMemo(() => ({ history }), [history]);
|
124
|
+
|
125
|
+
return (
|
126
|
+
<RuntimeAdapterProvider adapters={adapters}>
|
127
|
+
{children}
|
128
|
+
</RuntimeAdapterProvider>
|
129
|
+
);
|
130
|
+
}, []),
|
107
131
|
});
|
108
132
|
|
109
133
|
return runtime;
|
package/src/index.ts
CHANGED
@@ -2,15 +2,13 @@
|
|
2
2
|
|
3
3
|
import { FC } from "react";
|
4
4
|
import { type AssistantToolProps, useAssistantTool } from "./useAssistantTool";
|
5
|
+
import { ReadonlyJSONObject } from "../utils/json/json-value";
|
5
6
|
|
6
7
|
export type AssistantTool = FC & {
|
7
8
|
unstable_tool: AssistantToolProps<any, any>;
|
8
9
|
};
|
9
10
|
|
10
|
-
export const makeAssistantTool = <
|
11
|
-
TArgs extends Record<string, unknown>,
|
12
|
-
TResult,
|
13
|
-
>(
|
11
|
+
export const makeAssistantTool = <TArgs extends ReadonlyJSONObject, TResult>(
|
14
12
|
tool: AssistantToolProps<TArgs, TResult>,
|
15
13
|
) => {
|
16
14
|
const Tool: AssistantTool = () => {
|
@@ -5,15 +5,13 @@ import {
|
|
5
5
|
type AssistantToolUIProps,
|
6
6
|
useAssistantToolUI,
|
7
7
|
} from "./useAssistantToolUI";
|
8
|
+
import { ReadonlyJSONObject } from "../utils/json/json-value";
|
8
9
|
|
9
10
|
export type AssistantToolUI = FC & {
|
10
11
|
unstable_tool: AssistantToolUIProps<any, any>;
|
11
12
|
};
|
12
13
|
|
13
|
-
export const makeAssistantToolUI = <
|
14
|
-
TArgs extends Record<string, unknown>,
|
15
|
-
TResult,
|
16
|
-
>(
|
14
|
+
export const makeAssistantToolUI = <TArgs extends ReadonlyJSONObject, TResult>(
|
17
15
|
tool: AssistantToolUIProps<TArgs, TResult>,
|
18
16
|
) => {
|
19
17
|
const ToolUI: AssistantToolUI = () => {
|
@@ -7,9 +7,10 @@ import {
|
|
7
7
|
} from "../context/react/AssistantContext";
|
8
8
|
import type { ToolCallContentPartComponent } from "../types/ContentPartComponentTypes";
|
9
9
|
import type { Tool } from "./ModelContextTypes";
|
10
|
+
import { ReadonlyJSONObject } from "../utils/json/json-value";
|
10
11
|
|
11
12
|
export type AssistantToolProps<
|
12
|
-
TArgs extends
|
13
|
+
TArgs extends ReadonlyJSONObject,
|
13
14
|
TResult,
|
14
15
|
> = Tool<TArgs, TResult> & {
|
15
16
|
toolName: string;
|
@@ -17,10 +18,7 @@ export type AssistantToolProps<
|
|
17
18
|
disabled?: boolean | undefined;
|
18
19
|
};
|
19
20
|
|
20
|
-
export const useAssistantTool = <
|
21
|
-
TArgs extends Record<string, unknown>,
|
22
|
-
TResult,
|
23
|
-
>(
|
21
|
+
export const useAssistantTool = <TArgs extends ReadonlyJSONObject, TResult>(
|
24
22
|
tool: AssistantToolProps<TArgs, TResult>,
|
25
23
|
) => {
|
26
24
|
const assistantRuntime = useAssistantRuntime();
|
@@ -3,11 +3,9 @@
|
|
3
3
|
import { useEffect } from "react";
|
4
4
|
import { useToolUIsStore } from "../context/react/AssistantContext";
|
5
5
|
import type { ToolCallContentPartComponent } from "../types/ContentPartComponentTypes";
|
6
|
+
import { ReadonlyJSONObject } from "../utils/json/json-value";
|
6
7
|
|
7
|
-
export type AssistantToolUIProps<
|
8
|
-
TArgs extends Record<string, unknown>,
|
9
|
-
TResult,
|
10
|
-
> = {
|
8
|
+
export type AssistantToolUIProps<TArgs extends ReadonlyJSONObject, TResult> = {
|
11
9
|
toolName: string;
|
12
10
|
render: ToolCallContentPartComponent<TArgs, TResult>;
|
13
11
|
};
|
@@ -3,8 +3,9 @@
|
|
3
3
|
import { FC, useCallback, useEffect, useState } from "react";
|
4
4
|
import { ToolCallContentPartProps } from "../types";
|
5
5
|
import { create } from "zustand";
|
6
|
+
import { ReadonlyJSONObject } from "../utils/json/json-value";
|
6
7
|
|
7
|
-
export const useInlineRender = <TArgs extends
|
8
|
+
export const useInlineRender = <TArgs extends ReadonlyJSONObject, TResult>(
|
8
9
|
toolUI: FC<ToolCallContentPartProps<TArgs, TResult>>,
|
9
10
|
): FC<ToolCallContentPartProps<TArgs, TResult>> => {
|
10
11
|
const [useToolUI] = useState(() => create(() => toolUI));
|
@@ -68,9 +68,9 @@ export class EdgeChatAdapter implements ChatModelAdapter {
|
|
68
68
|
body: JSON.stringify({
|
69
69
|
system: context.system,
|
70
70
|
messages: this.options.unstable_AISDKInterop
|
71
|
-
? (toLanguageModelMessages(
|
72
|
-
|
73
|
-
) as EdgeRuntimeRequestOptions["messages"]) // TODO figure out a better way to do this
|
71
|
+
? (toLanguageModelMessages(messages, {
|
72
|
+
unstable_includeId: this.options.unstable_sendMessageIds,
|
73
|
+
}) as EdgeRuntimeRequestOptions["messages"]) // TODO figure out a better way to do this
|
74
74
|
: toCoreMessages(messages, {
|
75
75
|
unstable_includeId: this.options.unstable_sendMessageIds,
|
76
76
|
}),
|
@@ -4,6 +4,7 @@ import {
|
|
4
4
|
LanguageModelV1CallSettingsSchema,
|
5
5
|
} from "../../model-context/ModelContextTypes";
|
6
6
|
import { z } from "zod";
|
7
|
+
import { ReadonlyJSONObject } from "../../utils/json/json-value";
|
7
8
|
|
8
9
|
const LanguageModelV1FunctionToolSchema = z.object({
|
9
10
|
type: z.literal("function"),
|
@@ -42,11 +43,12 @@ const CoreToolCallContentPartSchema = z.object({
|
|
42
43
|
type: z.literal("tool-call"),
|
43
44
|
toolCallId: z.string(),
|
44
45
|
toolName: z.string(),
|
45
|
-
args: z
|
46
|
+
args: z
|
47
|
+
.record(z.unknown())
|
48
|
+
.refine((c): c is ReadonlyJSONObject => c !== undefined),
|
46
49
|
result: z.unknown().optional(),
|
47
50
|
isError: z.boolean().optional(),
|
48
51
|
});
|
49
|
-
// args is required but unknown;
|
50
52
|
|
51
53
|
const CoreUserMessageSchema = z.object({
|
52
54
|
role: z.literal("user"),
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { LanguageModelV1Message } from "@ai-sdk/provider";
|
2
2
|
import { CoreMessage, ToolCallContentPart } from "../../../types";
|
3
3
|
import { Writable } from "stream";
|
4
|
+
import { ReadonlyJSONObject } from "../../../utils/json/json-value";
|
4
5
|
|
5
6
|
type fromLanguageModelMessagesOptions = {
|
6
7
|
mergeSteps: boolean;
|
@@ -76,7 +77,7 @@ export const fromLanguageModelMessages = (
|
|
76
77
|
toolCallId: part.toolCallId,
|
77
78
|
toolName: part.toolName,
|
78
79
|
argsText: JSON.stringify(part.args),
|
79
|
-
args: part.args as
|
80
|
+
args: part.args as ReadonlyJSONObject,
|
80
81
|
} satisfies ToolCallContentPart;
|
81
82
|
}
|
82
83
|
return part;
|
@@ -74,12 +74,22 @@ const assistantMessageSplitter = () => {
|
|
74
74
|
|
75
75
|
export function toLanguageModelMessages(
|
76
76
|
message: readonly CoreMessage[] | readonly ThreadMessage[],
|
77
|
+
options: { unstable_includeId?: boolean | undefined } = {},
|
77
78
|
): LanguageModelV1Message[] {
|
79
|
+
const includeId = options.unstable_includeId ?? false;
|
78
80
|
return message.flatMap((message) => {
|
79
81
|
const role = message.role;
|
80
82
|
switch (role) {
|
81
83
|
case "system": {
|
82
|
-
return [
|
84
|
+
return [
|
85
|
+
{
|
86
|
+
...(includeId
|
87
|
+
? { unstable_id: (message as ThreadMessage).id }
|
88
|
+
: {}),
|
89
|
+
role: "system",
|
90
|
+
content: message.content[0].text,
|
91
|
+
},
|
92
|
+
];
|
83
93
|
}
|
84
94
|
|
85
95
|
case "user": {
|
@@ -89,6 +99,7 @@ export function toLanguageModelMessages(
|
|
89
99
|
...attachments.map((a) => a.content).flat(),
|
90
100
|
];
|
91
101
|
const msg: LanguageModelV1Message = {
|
102
|
+
...(includeId ? { unstable_id: (message as ThreadMessage).id } : {}),
|
92
103
|
role: "user",
|
93
104
|
content: content.map(
|
94
105
|
(
|
@@ -26,7 +26,7 @@ import { streamPartEncoderStream } from "./streams/utils/streamPartEncoderStream
|
|
26
26
|
import { z } from "zod";
|
27
27
|
|
28
28
|
type FinishResult = {
|
29
|
-
messages: CoreMessage[];
|
29
|
+
messages: readonly CoreMessage[];
|
30
30
|
metadata: {
|
31
31
|
steps: readonly ThreadStep[];
|
32
32
|
};
|
@@ -111,7 +111,7 @@ export const getEdgeRuntimeStream = async ({
|
|
111
111
|
abortSignal,
|
112
112
|
|
113
113
|
...(!!system ? { system } : undefined),
|
114
|
-
messages
|
114
|
+
messages,
|
115
115
|
tools: lmServerTools.concat(clientTools as LanguageModelV1FunctionTool[]),
|
116
116
|
...(toolChoice ? { toolChoice } : undefined),
|
117
117
|
});
|
@@ -201,7 +201,7 @@ export const createEdgeRuntimeAPI = (options: CreateEdgeRuntimeAPIOptions) => ({
|
|
201
201
|
type StreamMessageOptions = LanguageModelV1CallSettings & {
|
202
202
|
model: LanguageModelV1;
|
203
203
|
system?: string;
|
204
|
-
messages: CoreMessage[];
|
204
|
+
messages: readonly CoreMessage[];
|
205
205
|
tools?: LanguageModelV1FunctionTool[];
|
206
206
|
toolChoice?: LanguageModelV1ToolChoice;
|
207
207
|
abortSignal: AbortSignal;
|
@@ -229,7 +229,7 @@ async function streamMessage({
|
|
229
229
|
|
230
230
|
export function convertToLanguageModelPrompt(
|
231
231
|
system: string | undefined,
|
232
|
-
messages: CoreMessage[],
|
232
|
+
messages: readonly CoreMessage[],
|
233
233
|
): LanguageModelV1Prompt {
|
234
234
|
const languageModelMessages: LanguageModelV1Prompt = [];
|
235
235
|
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import { LanguageModelV1StreamPart } from "@ai-sdk/provider";
|
2
|
+
import { ReadonlyJSONValue } from "../../../utils/json/json-value";
|
2
3
|
|
3
4
|
export enum AssistantStreamChunkType {
|
4
5
|
TextDelta = "0",
|
@@ -17,8 +18,8 @@ export enum AssistantStreamChunkType {
|
|
17
18
|
|
18
19
|
export type AssistantStreamChunk = {
|
19
20
|
[AssistantStreamChunkType.TextDelta]: string;
|
20
|
-
[AssistantStreamChunkType.Data]:
|
21
|
-
[AssistantStreamChunkType.Annotation]:
|
21
|
+
[AssistantStreamChunkType.Data]: ReadonlyJSONValue[];
|
22
|
+
[AssistantStreamChunkType.Annotation]: ReadonlyJSONValue[];
|
22
23
|
[AssistantStreamChunkType.ToolCall]: {
|
23
24
|
toolCallId: string;
|
24
25
|
toolName: string;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { CoreChatModelRunResult } from "../../local/ChatModelAdapter";
|
2
|
-
import { parsePartialJson } from "
|
2
|
+
import { parsePartialJson } from "../../../utils/json/parse-partial-json";
|
3
3
|
import { LanguageModelV1StreamPart } from "@ai-sdk/provider";
|
4
4
|
import { ToolResultStreamPart } from "./toolResultStream";
|
5
5
|
import { MessageStatus, ToolCallContentPart } from "../../../types";
|
@@ -1,17 +1,18 @@
|
|
1
1
|
import { Tool } from "../../../model-context/ModelContextTypes";
|
2
|
-
import {
|
2
|
+
import { LanguageModelV1StreamPart } from "@ai-sdk/provider";
|
3
3
|
import { z } from "zod";
|
4
4
|
import sjson from "secure-json-parse";
|
5
|
+
import { ReadonlyJSONValue } from "../../../utils/json/json-value";
|
5
6
|
|
6
7
|
export type ToolResultStreamPart =
|
7
8
|
| LanguageModelV1StreamPart
|
8
9
|
| {
|
9
10
|
type: "annotations";
|
10
|
-
annotations:
|
11
|
+
annotations: ReadonlyJSONValue[];
|
11
12
|
}
|
12
13
|
| {
|
13
14
|
type: "data";
|
14
|
-
data:
|
15
|
+
data: ReadonlyJSONValue[];
|
15
16
|
}
|
16
17
|
| {
|
17
18
|
type: "tool-result";
|