@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.
Files changed (259) hide show
  1. package/dist/cloud/AssistantCloud.d.ts.map +1 -0
  2. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.js +1 -1
  3. package/dist/cloud/AssistantCloud.js.map +1 -0
  4. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.mjs +1 -1
  5. package/dist/cloud/AssistantCloud.mjs.map +1 -0
  6. package/dist/cloud/AssistantCloudAPI.d.ts.map +1 -0
  7. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.js +1 -1
  8. package/dist/cloud/AssistantCloudAPI.js.map +1 -0
  9. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.mjs +1 -1
  10. package/dist/cloud/AssistantCloudAPI.mjs.map +1 -0
  11. package/dist/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -0
  12. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.js +1 -1
  13. package/dist/cloud/AssistantCloudAuthStrategy.js.map +1 -0
  14. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.mjs +1 -1
  15. package/dist/cloud/AssistantCloudAuthStrategy.mjs.map +1 -0
  16. package/dist/cloud/AssistantCloudAuthTokens.d.ts.map +1 -0
  17. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.js +1 -1
  18. package/dist/cloud/AssistantCloudAuthTokens.js.map +1 -0
  19. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.mjs +1 -1
  20. package/dist/cloud/AssistantCloudAuthTokens.mjs.map +1 -0
  21. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.d.ts +1 -1
  22. package/dist/cloud/AssistantCloudRuns.d.ts.map +1 -0
  23. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.js +1 -1
  24. package/dist/cloud/AssistantCloudRuns.js.map +1 -0
  25. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.mjs +1 -1
  26. package/dist/cloud/AssistantCloudRuns.mjs.map +1 -0
  27. package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts +5 -0
  28. package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -0
  29. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +72 -0
  30. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -0
  31. package/dist/cloud/AssistantCloudThreadHistoryAdapter.mjs +47 -0
  32. package/dist/cloud/AssistantCloudThreadHistoryAdapter.mjs.map +1 -0
  33. package/dist/cloud/AssistantCloudThreadMessages.d.ts +30 -0
  34. package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +1 -0
  35. package/dist/cloud/AssistantCloudThreadMessages.js +46 -0
  36. package/dist/cloud/AssistantCloudThreadMessages.js.map +1 -0
  37. package/dist/cloud/AssistantCloudThreadMessages.mjs +21 -0
  38. package/dist/cloud/AssistantCloudThreadMessages.mjs.map +1 -0
  39. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudThreads.d.ts +2 -0
  40. package/dist/cloud/AssistantCloudThreads.d.ts.map +1 -0
  41. package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudThreads.js +8 -3
  42. package/dist/cloud/AssistantCloudThreads.js.map +1 -0
  43. package/dist/cloud/AssistantCloudThreads.mjs +30 -0
  44. package/dist/cloud/AssistantCloudThreads.mjs.map +1 -0
  45. package/dist/cloud/auiV0.d.ts +46 -0
  46. package/dist/cloud/auiV0.d.ts.map +1 -0
  47. package/dist/cloud/auiV0.js +99 -0
  48. package/dist/cloud/auiV0.js.map +1 -0
  49. package/dist/cloud/auiV0.mjs +73 -0
  50. package/dist/cloud/auiV0.mjs.map +1 -0
  51. package/dist/cloud/index.d.ts.map +1 -0
  52. package/dist/{runtimes/remote-thread-list/cloud → cloud}/index.js +1 -1
  53. package/dist/cloud/index.js.map +1 -0
  54. package/dist/{runtimes/remote-thread-list/cloud → cloud}/index.mjs +1 -1
  55. package/dist/cloud/index.mjs.map +1 -0
  56. package/dist/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.d.ts +1 -1
  57. package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -0
  58. package/dist/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.js +16 -4
  59. package/dist/cloud/useCloudThreadListRuntime.js.map +1 -0
  60. package/dist/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.mjs +23 -5
  61. package/dist/cloud/useCloudThreadListRuntime.mjs.map +1 -0
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +2 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/index.mjs +1 -0
  67. package/dist/index.mjs.map +1 -1
  68. package/dist/model-context/makeAssistantTool.d.ts +2 -1
  69. package/dist/model-context/makeAssistantTool.d.ts.map +1 -1
  70. package/dist/model-context/makeAssistantTool.js.map +1 -1
  71. package/dist/model-context/makeAssistantTool.mjs.map +1 -1
  72. package/dist/model-context/makeAssistantToolUI.d.ts +2 -1
  73. package/dist/model-context/makeAssistantToolUI.d.ts.map +1 -1
  74. package/dist/model-context/makeAssistantToolUI.js.map +1 -1
  75. package/dist/model-context/makeAssistantToolUI.mjs.map +1 -1
  76. package/dist/model-context/useAssistantTool.d.ts +3 -2
  77. package/dist/model-context/useAssistantTool.d.ts.map +1 -1
  78. package/dist/model-context/useAssistantTool.js.map +1 -1
  79. package/dist/model-context/useAssistantTool.mjs.map +1 -1
  80. package/dist/model-context/useAssistantToolUI.d.ts +2 -1
  81. package/dist/model-context/useAssistantToolUI.d.ts.map +1 -1
  82. package/dist/model-context/useAssistantToolUI.js.map +1 -1
  83. package/dist/model-context/useAssistantToolUI.mjs.map +1 -1
  84. package/dist/model-context/useInlineRender.d.ts +2 -1
  85. package/dist/model-context/useInlineRender.d.ts.map +1 -1
  86. package/dist/model-context/useInlineRender.js.map +1 -1
  87. package/dist/model-context/useInlineRender.mjs.map +1 -1
  88. package/dist/runtimes/edge/EdgeChatAdapter.js +3 -3
  89. package/dist/runtimes/edge/EdgeChatAdapter.js.map +1 -1
  90. package/dist/runtimes/edge/EdgeChatAdapter.mjs +3 -3
  91. package/dist/runtimes/edge/EdgeChatAdapter.mjs.map +1 -1
  92. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts +5 -4
  93. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts.map +1 -1
  94. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +1 -1
  95. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
  96. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +1 -1
  97. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
  98. package/dist/runtimes/edge/converters/fromLanguageModelMessages.d.ts.map +1 -1
  99. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +1 -1
  100. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +1 -1
  101. package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts +3 -1
  102. package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts.map +1 -1
  103. package/dist/runtimes/edge/converters/toLanguageModelMessages.js +10 -2
  104. package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
  105. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +10 -2
  106. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
  107. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts +2 -2
  108. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
  109. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +1 -1
  110. package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
  111. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +1 -1
  112. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
  113. package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts +4 -3
  114. package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts.map +1 -1
  115. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js.map +1 -1
  116. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs.map +1 -1
  117. package/dist/runtimes/edge/streams/runResultStream.js +1 -1
  118. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  119. package/dist/runtimes/edge/streams/runResultStream.mjs +1 -1
  120. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  121. package/dist/runtimes/edge/streams/toolResultStream.d.ts +4 -3
  122. package/dist/runtimes/edge/streams/toolResultStream.d.ts.map +1 -1
  123. package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
  124. package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
  125. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +11 -3
  126. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  127. package/dist/runtimes/external-store/ThreadMessageLike.js +10 -1
  128. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  129. package/dist/runtimes/external-store/ThreadMessageLike.mjs +10 -1
  130. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  131. package/dist/runtimes/local/ChatModelAdapter.d.ts +3 -2
  132. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  133. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  134. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +2 -0
  135. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  136. package/dist/runtimes/local/LocalThreadRuntimeCore.js +27 -1
  137. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  138. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +27 -1
  139. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  140. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  141. package/dist/runtimes/local/useLocalRuntime.js +14 -7
  142. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  143. package/dist/runtimes/local/useLocalRuntime.mjs +14 -7
  144. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  145. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  146. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +1 -6
  147. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  148. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +1 -6
  149. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
  150. package/dist/runtimes/remote-thread-list/index.d.ts +0 -1
  151. package/dist/runtimes/remote-thread-list/index.d.ts.map +1 -1
  152. package/dist/runtimes/remote-thread-list/index.js +1 -4
  153. package/dist/runtimes/remote-thread-list/index.js.map +1 -1
  154. package/dist/runtimes/remote-thread-list/index.mjs +0 -1
  155. package/dist/runtimes/remote-thread-list/index.mjs.map +1 -1
  156. package/dist/types/AssistantTypes.d.ts +8 -7
  157. package/dist/types/AssistantTypes.d.ts.map +1 -1
  158. package/dist/types/AssistantTypes.js.map +1 -1
  159. package/dist/types/ContentPartComponentTypes.d.ts +3 -2
  160. package/dist/types/ContentPartComponentTypes.d.ts.map +1 -1
  161. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  162. package/dist/utils/json/fix-json.d.ts.map +1 -0
  163. package/dist/{runtimes/edge/partial-json → utils/json}/fix-json.js +1 -1
  164. package/dist/utils/json/fix-json.js.map +1 -0
  165. package/dist/{runtimes/edge/partial-json → utils/json}/fix-json.mjs +1 -1
  166. package/dist/utils/json/fix-json.mjs.map +1 -0
  167. package/dist/utils/json/is-json.d.ts +5 -0
  168. package/dist/utils/json/is-json.d.ts.map +1 -0
  169. package/dist/utils/json/is-json.js +56 -0
  170. package/dist/utils/json/is-json.js.map +1 -0
  171. package/dist/utils/json/is-json.mjs +29 -0
  172. package/dist/utils/json/is-json.mjs.map +1 -0
  173. package/dist/utils/json/json-value.d.ts +6 -0
  174. package/dist/utils/json/json-value.d.ts.map +1 -0
  175. package/dist/utils/json/json-value.js +19 -0
  176. package/dist/utils/json/json-value.js.map +1 -0
  177. package/dist/utils/json/json-value.mjs +1 -0
  178. package/dist/utils/json/json-value.mjs.map +1 -0
  179. package/dist/utils/json/parse-partial-json.d.ts.map +1 -0
  180. package/dist/{runtimes/edge/partial-json → utils/json}/parse-partial-json.js +1 -1
  181. package/dist/utils/json/parse-partial-json.js.map +1 -0
  182. package/dist/{runtimes/edge/partial-json → utils/json}/parse-partial-json.mjs +1 -1
  183. package/dist/utils/json/parse-partial-json.mjs.map +1 -0
  184. package/package.json +3 -3
  185. package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudRuns.tsx +1 -1
  186. package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +64 -0
  187. package/src/cloud/AssistantCloudThreadMessages.tsx +48 -0
  188. package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudThreads.tsx +10 -3
  189. package/src/cloud/auiV0.ts +130 -0
  190. package/src/{runtimes/remote-thread-list/cloud → cloud}/useCloudThreadListRuntime.tsx +29 -5
  191. package/src/index.ts +1 -0
  192. package/src/model-context/makeAssistantTool.tsx +2 -4
  193. package/src/model-context/makeAssistantToolUI.tsx +2 -4
  194. package/src/model-context/useAssistantTool.tsx +3 -5
  195. package/src/model-context/useAssistantToolUI.tsx +2 -4
  196. package/src/model-context/useInlineRender.tsx +2 -1
  197. package/src/runtimes/edge/EdgeChatAdapter.ts +3 -3
  198. package/src/runtimes/edge/EdgeRuntimeRequestOptions.ts +4 -2
  199. package/src/runtimes/edge/converters/fromLanguageModelMessages.ts +2 -1
  200. package/src/runtimes/edge/converters/toLanguageModelMessages.ts +12 -1
  201. package/src/runtimes/edge/createEdgeRuntimeAPI.ts +4 -4
  202. package/src/runtimes/edge/streams/AssistantStreamChunkType.ts +4 -3
  203. package/src/runtimes/edge/streams/runResultStream.ts +1 -1
  204. package/src/runtimes/edge/streams/toolResultStream.ts +4 -3
  205. package/src/runtimes/external-store/ThreadMessageLike.tsx +24 -3
  206. package/src/runtimes/local/ChatModelAdapter.tsx +3 -2
  207. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +37 -1
  208. package/src/runtimes/local/useLocalRuntime.tsx +14 -7
  209. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +1 -6
  210. package/src/runtimes/remote-thread-list/index.ts +0 -1
  211. package/src/types/AssistantTypes.ts +11 -7
  212. package/src/types/ContentPartComponentTypes.tsx +3 -2
  213. package/src/utils/json/is-json.ts +42 -0
  214. package/src/utils/json/json-value.ts +13 -0
  215. package/dist/runtimes/edge/partial-json/fix-json.d.ts.map +0 -1
  216. package/dist/runtimes/edge/partial-json/fix-json.js.map +0 -1
  217. package/dist/runtimes/edge/partial-json/fix-json.mjs.map +0 -1
  218. package/dist/runtimes/edge/partial-json/parse-partial-json.d.ts.map +0 -1
  219. package/dist/runtimes/edge/partial-json/parse-partial-json.js.map +0 -1
  220. package/dist/runtimes/edge/partial-json/parse-partial-json.mjs.map +0 -1
  221. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts.map +0 -1
  222. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js.map +0 -1
  223. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs.map +0 -1
  224. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts.map +0 -1
  225. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js.map +0 -1
  226. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs.map +0 -1
  227. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts.map +0 -1
  228. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js.map +0 -1
  229. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs.map +0 -1
  230. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.d.ts.map +0 -1
  231. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.js.map +0 -1
  232. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.mjs.map +0 -1
  233. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.d.ts.map +0 -1
  234. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.js.map +0 -1
  235. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.mjs.map +0 -1
  236. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.d.ts.map +0 -1
  237. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.js.map +0 -1
  238. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.mjs +0 -25
  239. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudThreads.mjs.map +0 -1
  240. package/dist/runtimes/remote-thread-list/cloud/index.d.ts.map +0 -1
  241. package/dist/runtimes/remote-thread-list/cloud/index.js.map +0 -1
  242. package/dist/runtimes/remote-thread-list/cloud/index.mjs.map +0 -1
  243. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.d.ts.map +0 -1
  244. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js.map +0 -1
  245. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs.map +0 -1
  246. /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.d.ts +0 -0
  247. /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.d.ts +0 -0
  248. /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.d.ts +0 -0
  249. /package/dist/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.d.ts +0 -0
  250. /package/dist/{runtimes/remote-thread-list/cloud → cloud}/index.d.ts +0 -0
  251. /package/dist/{runtimes/edge/partial-json → utils/json}/fix-json.d.ts +0 -0
  252. /package/dist/{runtimes/edge/partial-json → utils/json}/parse-partial-json.d.ts +0 -0
  253. /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloud.tsx +0 -0
  254. /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAPI.tsx +0 -0
  255. /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthStrategy.tsx +0 -0
  256. /package/src/{runtimes/remote-thread-list/cloud → cloud}/AssistantCloudAuthTokens.tsx +0 -0
  257. /package/src/{runtimes/remote-thread-list/cloud → cloud}/index.ts +0 -0
  258. /package/src/{runtimes/edge/partial-json → utils/json}/fix-json.ts +0 -0
  259. /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/runtimes/edge/partial-json/parse-partial-json.ts
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"]}
@@ -1,4 +1,4 @@
1
- // src/runtimes/edge/partial-json/parse-partial-json.ts
1
+ // src/utils/json/parse-partial-json.ts
2
2
  import sjson from "secure-json-parse";
3
3
  import { fixJson } from "./fix-json.mjs";
4
4
  var parsePartialJson = (json) => {
@@ -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.57",
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/tsconfig": "0.0.0",
122
- "@assistant-ui/tsbuildutils": "^0.0.1"
121
+ "@assistant-ui/tsbuildutils": "^0.0.1",
122
+ "@assistant-ui/tsconfig": "0.0.0"
123
123
  },
124
124
  "publishConfig": {
125
125
  "access": "public",
@@ -1,4 +1,4 @@
1
- import { CoreMessage } from "../../../types";
1
+ import { CoreMessage } from "../types";
2
2
  import { AssistantCloudAPI } from "./AssistantCloudAPI";
3
3
  import { AssistantStream, PlainTextDecoder } from "assistant-stream";
4
4
 
@@ -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
- constructor(private cloud: AssistantCloudAPI) {}
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}`, { method: "DELETE" });
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 { useEffect, useRef, useState } from "react";
4
- import { useRemoteThreadListRuntime } from "../useRemoteThreadListRuntime";
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 "../../../api";
7
- import { RemoteThreadListSubscriber } from "../types";
8
- import { toCoreMessages } from "../../edge";
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
@@ -1,4 +1,5 @@
1
1
  export * from "./api";
2
+ export * from "./cloud";
2
3
  export * from "./context";
3
4
  export * from "./model-context";
4
5
  export * from "./primitives";
@@ -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 Record<string, unknown>,
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 Record<string, unknown>, TResult>(
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
- messages,
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.record(z.unknown()),
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 Record<string, unknown>,
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 [{ role: "system", content: message.content[0].text }];
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: [...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 { JSONValue, LanguageModelV1StreamPart } from "@ai-sdk/provider";
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]: JSONValue[];
21
- [AssistantStreamChunkType.Annotation]: JSONValue[];
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 "../partial-json/parse-partial-json";
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 { JSONValue, LanguageModelV1StreamPart } from "@ai-sdk/provider";
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: JSONValue[];
11
+ annotations: ReadonlyJSONValue[];
11
12
  }
12
13
  | {
13
14
  type: "data";
14
- data: JSONValue[];
15
+ data: ReadonlyJSONValue[];
15
16
  }
16
17
  | {
17
18
  type: "tool-result";