@assistant-ui/react 0.7.85 → 0.7.87

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.
Files changed (119) hide show
  1. package/dist/api/AssistantRuntime.d.ts +10 -3
  2. package/dist/api/AssistantRuntime.d.ts.map +1 -1
  3. package/dist/api/AssistantRuntime.js +8 -6
  4. package/dist/api/AssistantRuntime.js.map +1 -1
  5. package/dist/api/AssistantRuntime.mjs +8 -8
  6. package/dist/api/AssistantRuntime.mjs.map +1 -1
  7. package/dist/cloud/useCloudThreadListRuntime.d.ts +1 -1
  8. package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +3 -1
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/model-context/ModelContextTypes.d.ts +1 -1
  16. package/dist/model-context/ModelContextTypes.d.ts.map +1 -1
  17. package/dist/model-context/ModelContextTypes.js +2 -1
  18. package/dist/model-context/ModelContextTypes.js.map +1 -1
  19. package/dist/model-context/ModelContextTypes.mjs +2 -1
  20. package/dist/model-context/ModelContextTypes.mjs.map +1 -1
  21. package/dist/model-context/index.d.ts +2 -0
  22. package/dist/model-context/index.d.ts.map +1 -1
  23. package/dist/model-context/index.js +6 -0
  24. package/dist/model-context/index.js.map +1 -1
  25. package/dist/model-context/index.mjs +4 -0
  26. package/dist/model-context/index.mjs.map +1 -1
  27. package/dist/model-context/makeAssistantReadable.d.ts +6 -0
  28. package/dist/model-context/makeAssistantReadable.d.ts.map +1 -0
  29. package/dist/model-context/makeAssistantReadable.js +86 -0
  30. package/dist/model-context/makeAssistantReadable.js.map +1 -0
  31. package/dist/model-context/makeAssistantReadable.mjs +69 -0
  32. package/dist/model-context/makeAssistantReadable.mjs.map +1 -0
  33. package/dist/model-context/tool.d.ts +12 -0
  34. package/dist/model-context/tool.d.ts.map +1 -0
  35. package/dist/model-context/tool.js +33 -0
  36. package/dist/model-context/tool.js.map +1 -0
  37. package/dist/model-context/tool.mjs +8 -0
  38. package/dist/model-context/tool.mjs.map +1 -0
  39. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  40. package/dist/runtimes/core/BaseThreadRuntimeCore.js +2 -0
  41. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  42. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +2 -0
  43. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  44. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts +1 -1
  45. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts.map +1 -1
  46. package/dist/runtimes/edge/useEdgeRuntime.d.ts +1 -1
  47. package/dist/runtimes/edge/useEdgeRuntime.d.ts.map +1 -1
  48. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts +2 -1
  49. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  50. package/dist/runtimes/external-store/useExternalStoreRuntime.js +1 -5
  51. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  52. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +1 -5
  53. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  54. package/dist/runtimes/index.d.ts +1 -0
  55. package/dist/runtimes/index.d.ts.map +1 -1
  56. package/dist/runtimes/index.js +9 -0
  57. package/dist/runtimes/index.js.map +1 -1
  58. package/dist/runtimes/index.mjs +4 -0
  59. package/dist/runtimes/index.mjs.map +1 -1
  60. package/dist/runtimes/local/LocalRuntimeCore.d.ts +0 -4
  61. package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
  62. package/dist/runtimes/local/LocalRuntimeCore.js +2 -23
  63. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  64. package/dist/runtimes/local/LocalRuntimeCore.mjs +2 -23
  65. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  66. package/dist/runtimes/local/useLocalRuntime.d.ts +2 -6
  67. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  68. package/dist/runtimes/local/useLocalRuntime.js +2 -19
  69. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  70. package/dist/runtimes/local/useLocalRuntime.mjs +2 -21
  71. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  72. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +4 -4
  73. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +4 -4
  74. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts +2 -1
  75. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  76. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +1 -1
  77. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  78. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +1 -1
  79. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  80. package/dist/runtimes/utils/MessageRepository.d.ts +7 -2
  81. package/dist/runtimes/utils/MessageRepository.d.ts.map +1 -1
  82. package/dist/runtimes/utils/MessageRepository.js +26 -0
  83. package/dist/runtimes/utils/MessageRepository.js.map +1 -1
  84. package/dist/runtimes/utils/MessageRepository.mjs +26 -1
  85. package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
  86. package/dist/tailwindcss/index.d.ts.map +1 -1
  87. package/dist/tailwindcss/index.js +1 -4
  88. package/dist/tailwindcss/index.js.map +1 -1
  89. package/dist/tailwindcss/index.mjs +6 -9
  90. package/dist/tailwindcss/index.mjs.map +1 -1
  91. package/dist/utils/json/fix-json.d.ts +1 -1
  92. package/dist/utils/json/fix-json.d.ts.map +1 -1
  93. package/dist/utils/json/fix-json.js +5 -1
  94. package/dist/utils/json/fix-json.js.map +1 -1
  95. package/dist/utils/json/fix-json.mjs +5 -1
  96. package/dist/utils/json/fix-json.mjs.map +1 -1
  97. package/dist/utils/json/parse-partial-json.d.ts +2 -0
  98. package/dist/utils/json/parse-partial-json.d.ts.map +1 -1
  99. package/dist/utils/json/parse-partial-json.js +40 -3
  100. package/dist/utils/json/parse-partial-json.js.map +1 -1
  101. package/dist/utils/json/parse-partial-json.mjs +38 -2
  102. package/dist/utils/json/parse-partial-json.mjs.map +1 -1
  103. package/package.json +4 -1
  104. package/src/api/AssistantRuntime.ts +15 -22
  105. package/src/index.ts +2 -0
  106. package/src/model-context/ModelContextTypes.ts +4 -2
  107. package/src/model-context/index.ts +3 -0
  108. package/src/model-context/makeAssistantReadable.tsx +81 -0
  109. package/src/model-context/tool.ts +26 -0
  110. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +2 -1
  111. package/src/runtimes/external-store/useExternalStoreRuntime.tsx +1 -5
  112. package/src/runtimes/index.ts +2 -0
  113. package/src/runtimes/local/LocalRuntimeCore.tsx +1 -33
  114. package/src/runtimes/local/useLocalRuntime.tsx +2 -29
  115. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +1 -1
  116. package/src/runtimes/utils/MessageRepository.tsx +33 -3
  117. package/src/tailwindcss/index.ts +6 -9
  118. package/src/utils/json/fix-json.ts +6 -2
  119. package/src/utils/json/parse-partial-json.ts +61 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/model-context/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,IACzE,UAAU,SAAS,MAAM,CAAC,GAAG,CAAC,GAC1B,UAAU,CAAC,OAAO,CAAC,GACnB,UAAU,SAAS,CAAC,CAAC,UAAU,GAC7B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GACnB,KAAK,CAAC;AAEd,wBAAgB,IAAI,CAClB,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,EAC1C,OAAO,GAAG,GAAG,EACb,IAAI,EAAE;IACN,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,CACR,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAC5B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,WAAW,CAAC;KAC1B,KACE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAExC"}
@@ -0,0 +1,33 @@
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/model-context/tool.ts
21
+ var tool_exports = {};
22
+ __export(tool_exports, {
23
+ tool: () => tool
24
+ });
25
+ module.exports = __toCommonJS(tool_exports);
26
+ function tool(tool2) {
27
+ return tool2;
28
+ }
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ tool
32
+ });
33
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/model-context/tool.ts"],"sourcesContent":["import { Schema, z } from \"zod\";\nimport { Tool } from \"./ModelContextTypes\";\n\nexport type inferParameters<PARAMETERS extends Tool<any, any>[\"parameters\"]> =\n PARAMETERS extends Schema<any>\n ? PARAMETERS[\"_type\"]\n : PARAMETERS extends z.ZodTypeAny\n ? z.infer<PARAMETERS>\n : never;\n\nexport function tool<\n TArgs extends Tool<any, any>[\"parameters\"],\n TResult = any,\n>(tool: {\n description?: string | undefined;\n parameters: TArgs;\n execute?: (\n args: inferParameters<TArgs>,\n context: {\n toolCallId: string;\n abortSignal: AbortSignal;\n },\n ) => TResult | Promise<TResult>;\n}): Tool<inferParameters<TArgs>, TResult> {\n return tool;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,SAAS,KAGdA,OAUwC;AACxC,SAAOA;AACT;","names":["tool"]}
@@ -0,0 +1,8 @@
1
+ // src/model-context/tool.ts
2
+ function tool(tool2) {
3
+ return tool2;
4
+ }
5
+ export {
6
+ tool
7
+ };
8
+ //# sourceMappingURL=tool.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/model-context/tool.ts"],"sourcesContent":["import { Schema, z } from \"zod\";\nimport { Tool } from \"./ModelContextTypes\";\n\nexport type inferParameters<PARAMETERS extends Tool<any, any>[\"parameters\"]> =\n PARAMETERS extends Schema<any>\n ? PARAMETERS[\"_type\"]\n : PARAMETERS extends z.ZodTypeAny\n ? z.infer<PARAMETERS>\n : never;\n\nexport function tool<\n TArgs extends Tool<any, any>[\"parameters\"],\n TResult = any,\n>(tool: {\n description?: string | undefined;\n parameters: TArgs;\n execute?: (\n args: inferParameters<TArgs>,\n context: {\n toolCallId: string;\n abortSignal: AbortSignal;\n },\n ) => TResult | Promise<TResult>;\n}): Tool<inferParameters<TArgs>, TResult> {\n return tool;\n}\n"],"mappings":";AAUO,SAAS,KAGdA,OAUwC;AACxC,SAAOA;AACT;","names":["tool"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseThreadRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/core/BaseThreadRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,KAAK,kBAAkB,GAAG;IACxB,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,8BAAsB,qBAAsB,YAAW,iBAAiB;IAsB1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IArB7C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,cAAc,CAAS;IAE/B,SAAS,CAAC,QAAQ,CAAC,UAAU,oBAA2B;IACxD,aAAoB,QAAQ,IAAI,kBAAkB,GAAG,SAAS,CAAC;IAC/D,aAAoB,UAAU,IAAI,OAAO,CAAC;IAC1C,aAAoB,WAAW,IAAI,SAAS,gBAAgB,EAAE,CAAC;IAC/D,aAAoB,MAAM,IAAI,OAAO,CAAC;IAEtC,aAAoB,YAAY,IAAI,mBAAmB,CAAC;aACxC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;aACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;aACtC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;aAClD,SAAS,IAAI,IAAI;IAEjC,IAAW,QAAQ,6CAElB;IAED,SAAgB,QAAQ,mCAA8C;gBAEzC,gBAAgB,EAAE,oBAAoB;IAE5D,eAAe;IAItB,OAAO,CAAC,cAAc,CAAqD;IACpE,eAAe,CAAC,SAAS,EAAE,MAAM;IAGjC,SAAS,CAAC,SAAS,EAAE,MAAM;IAe3B,cAAc,CAAC,SAAS,EAAE,MAAM;;;;IAIhC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK7C,SAAS,CAAC,kBAAkB;IAIrB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB;IAOrD,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAKnD,OAAO,CAAC,kBAAkB,CAAyC;IAE5D,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAItC,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,qBAAqB;IAWhE,OAAO,CAAC,aAAa,CAA0B;IACxC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAEhC,KAAK,CAAC,SAAS,EAAE,MAAM;IA8BvB,YAAY;IAMnB,SAAS,CAAC,iBAAiB;IAOpB,MAAM;IAIN,MAAM,CAAC,IAAI,EAAE,yBAAyB;IAO7C,OAAO,CAAC,iBAAiB,CAGrB;IAEG,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,IAAI;CAiBvE"}
1
+ {"version":3,"file":"BaseThreadRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/core/BaseThreadRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,KAAK,kBAAkB,GAAG;IACxB,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,8BAAsB,qBAAsB,YAAW,iBAAiB;IAsB1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IArB7C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,cAAc,CAAS;IAE/B,SAAS,CAAC,QAAQ,CAAC,UAAU,oBAA2B;IACxD,aAAoB,QAAQ,IAAI,kBAAkB,GAAG,SAAS,CAAC;IAC/D,aAAoB,UAAU,IAAI,OAAO,CAAC;IAC1C,aAAoB,WAAW,IAAI,SAAS,gBAAgB,EAAE,CAAC;IAC/D,aAAoB,MAAM,IAAI,OAAO,CAAC;IAEtC,aAAoB,YAAY,IAAI,mBAAmB,CAAC;aACxC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;aACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;aACtC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;aAClD,SAAS,IAAI,IAAI;IAEjC,IAAW,QAAQ,6CAElB;IAED,SAAgB,QAAQ,mCAA8C;gBAEzC,gBAAgB,EAAE,oBAAoB;IAE5D,eAAe;IAItB,OAAO,CAAC,cAAc,CAAqD;IACpE,eAAe,CAAC,SAAS,EAAE,MAAM;IAGjC,SAAS,CAAC,SAAS,EAAE,MAAM;IAe3B,cAAc,CAAC,SAAS,EAAE,MAAM;;;;IAIhC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK7C,SAAS,CAAC,kBAAkB;IAIrB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB;IAOrD,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAKnD,OAAO,CAAC,kBAAkB,CAAyC;IAE5D,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAItC,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,qBAAqB;IAWhE,OAAO,CAAC,aAAa,CAA0B;IACxC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAEhC,KAAK,CAAC,SAAS,EAAE,MAAM;IA8BvB,YAAY;IAMnB,SAAS,CAAC,iBAAiB;IAQpB,MAAM;IAIN,MAAM,CAAC,IAAI,EAAE,yBAAyB;IAO7C,OAAO,CAAC,iBAAiB,CAGrB;IAEG,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,IAAI;CAiBvE"}
@@ -129,11 +129,13 @@ var BaseThreadRuntimeCore = class {
129
129
  this._notifyEventSubscribers("initialize");
130
130
  }
131
131
  }
132
+ // TODO import()/export() on external store doesn't make much sense
132
133
  export() {
133
134
  return this.repository.export();
134
135
  }
135
136
  import(data) {
136
137
  this.ensureInitialized();
138
+ this.repository.clear();
137
139
  this.repository.import(data);
138
140
  this._notifySubscribers();
139
141
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/core/BaseThreadRuntimeCore.tsx"],"sourcesContent":["import type { AppendMessage, Unsubscribe } from \"../../types\";\nimport {\n ExportedMessageRepository,\n MessageRepository,\n} from \"../utils/MessageRepository\";\nimport { DefaultThreadComposerRuntimeCore } from \"../composer/DefaultThreadComposerRuntimeCore\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n RuntimeCapabilities,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { DefaultEditComposerRuntimeCore } from \"../composer/DefaultEditComposerRuntimeCore\";\nimport { SpeechSynthesisAdapter } from \"../adapters/speech/SpeechAdapterTypes\";\nimport { FeedbackAdapter } from \"../adapters/feedback/FeedbackAdapter\";\nimport { AttachmentAdapter } from \"../adapters/attachment\";\nimport { getThreadMessageText } from \"../../utils/getThreadMessageText\";\nimport { ModelContextProvider } from \"../../model-context\";\n\ntype BaseThreadAdapters = {\n speech?: SpeechSynthesisAdapter | undefined;\n feedback?: FeedbackAdapter | undefined;\n attachments?: AttachmentAdapter | undefined;\n};\n\nexport abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {\n private _subscriptions = new Set<() => void>();\n private _isInitialized = false;\n\n protected readonly repository = new MessageRepository();\n public abstract get adapters(): BaseThreadAdapters | undefined;\n public abstract get isDisabled(): boolean;\n public abstract get suggestions(): readonly ThreadSuggestion[];\n public abstract get extras(): unknown;\n\n public abstract get capabilities(): RuntimeCapabilities;\n public abstract append(message: AppendMessage): void;\n public abstract startRun(config: StartRunConfig): void;\n public abstract addToolResult(options: AddToolResultOptions): void;\n public abstract cancelRun(): void;\n\n public get messages() {\n return this.repository.getMessages();\n }\n\n public readonly composer = new DefaultThreadComposerRuntimeCore(this);\n\n constructor(private readonly _contextProvider: ModelContextProvider) {}\n\n public getModelContext() {\n return this._contextProvider.getModelContext();\n }\n\n private _editComposers = new Map<string, DefaultEditComposerRuntimeCore>();\n public getEditComposer(messageId: string) {\n return this._editComposers.get(messageId);\n }\n public beginEdit(messageId: string) {\n if (this._editComposers.has(messageId))\n throw new Error(\"Edit already in progress\");\n\n this._editComposers.set(\n messageId,\n new DefaultEditComposerRuntimeCore(\n this,\n () => this._editComposers.delete(messageId),\n this.repository.getMessage(messageId),\n ),\n );\n this._notifySubscribers();\n }\n\n public getMessageById(messageId: string) {\n return this.repository.getMessage(messageId);\n }\n\n public getBranches(messageId: string): string[] {\n return this.repository.getBranches(messageId);\n }\n\n public switchToBranch(branchId: string): void {\n this.repository.switchToBranch(branchId);\n this._notifySubscribers();\n }\n\n protected _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n public _notifyEventSubscribers(event: ThreadRuntimeEventType) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n\n for (const callback of subscribers) callback();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _submittedFeedback: Record<string, SubmittedFeedback> = {};\n\n public getSubmittedFeedback(messageId: string) {\n return this._submittedFeedback[messageId];\n }\n\n public submitFeedback({ messageId, type }: SubmitFeedbackOptions) {\n const adapter = this.adapters?.feedback;\n if (!adapter) throw new Error(\"Feedback adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n adapter.submit({ message, type });\n\n this._submittedFeedback[messageId] = { type };\n this._notifySubscribers();\n }\n\n private _stopSpeaking: Unsubscribe | undefined;\n public speech: SpeechState | undefined;\n\n public speak(messageId: string) {\n const adapter = this.adapters?.speech;\n if (!adapter) throw new Error(\"Speech adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n\n this._stopSpeaking?.();\n\n const utterance = adapter.speak(getThreadMessageText(message));\n const unsub = utterance.subscribe(() => {\n if (utterance.status.type === \"ended\") {\n this._stopSpeaking = undefined;\n this.speech = undefined;\n } else {\n this.speech = { messageId, status: utterance.status };\n }\n this._notifySubscribers();\n });\n\n this.speech = { messageId, status: utterance.status };\n this._notifySubscribers();\n\n this._stopSpeaking = () => {\n utterance.cancel();\n unsub();\n this.speech = undefined;\n this._stopSpeaking = undefined;\n };\n }\n\n public stopSpeaking() {\n if (!this._stopSpeaking) throw new Error(\"No message is being spoken\");\n this._stopSpeaking();\n this._notifySubscribers();\n }\n\n protected ensureInitialized() {\n if (!this._isInitialized) {\n this._isInitialized = true;\n this._notifyEventSubscribers(\"initialize\");\n }\n }\n\n public export() {\n return this.repository.export();\n }\n\n public import(data: ExportedMessageRepository) {\n this.ensureInitialized();\n\n this.repository.import(data);\n this._notifySubscribers();\n }\n\n private _eventSubscribers = new Map<\n ThreadRuntimeEventType,\n Set<() => void>\n >();\n\n public unstable_on(event: ThreadRuntimeEventType, callback: () => void) {\n if (event === \"model-context-update\") {\n return this._contextProvider.subscribe?.(callback) ?? (() => {});\n }\n\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) {\n this._eventSubscribers.set(event, new Set([callback]));\n } else {\n subscribers.add(callback);\n }\n\n return () => {\n const subscribers = this._eventSubscribers.get(event)!;\n subscribers.delete(callback);\n };\n }\n}\n"],"mappings":"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","names":["subscribers"]}
1
+ {"version":3,"sources":["../../../src/runtimes/core/BaseThreadRuntimeCore.tsx"],"sourcesContent":["import type { AppendMessage, Unsubscribe } from \"../../types\";\nimport {\n ExportedMessageRepository,\n MessageRepository,\n} from \"../utils/MessageRepository\";\nimport { DefaultThreadComposerRuntimeCore } from \"../composer/DefaultThreadComposerRuntimeCore\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n RuntimeCapabilities,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { DefaultEditComposerRuntimeCore } from \"../composer/DefaultEditComposerRuntimeCore\";\nimport { SpeechSynthesisAdapter } from \"../adapters/speech/SpeechAdapterTypes\";\nimport { FeedbackAdapter } from \"../adapters/feedback/FeedbackAdapter\";\nimport { AttachmentAdapter } from \"../adapters/attachment\";\nimport { getThreadMessageText } from \"../../utils/getThreadMessageText\";\nimport { ModelContextProvider } from \"../../model-context\";\n\ntype BaseThreadAdapters = {\n speech?: SpeechSynthesisAdapter | undefined;\n feedback?: FeedbackAdapter | undefined;\n attachments?: AttachmentAdapter | undefined;\n};\n\nexport abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {\n private _subscriptions = new Set<() => void>();\n private _isInitialized = false;\n\n protected readonly repository = new MessageRepository();\n public abstract get adapters(): BaseThreadAdapters | undefined;\n public abstract get isDisabled(): boolean;\n public abstract get suggestions(): readonly ThreadSuggestion[];\n public abstract get extras(): unknown;\n\n public abstract get capabilities(): RuntimeCapabilities;\n public abstract append(message: AppendMessage): void;\n public abstract startRun(config: StartRunConfig): void;\n public abstract addToolResult(options: AddToolResultOptions): void;\n public abstract cancelRun(): void;\n\n public get messages() {\n return this.repository.getMessages();\n }\n\n public readonly composer = new DefaultThreadComposerRuntimeCore(this);\n\n constructor(private readonly _contextProvider: ModelContextProvider) {}\n\n public getModelContext() {\n return this._contextProvider.getModelContext();\n }\n\n private _editComposers = new Map<string, DefaultEditComposerRuntimeCore>();\n public getEditComposer(messageId: string) {\n return this._editComposers.get(messageId);\n }\n public beginEdit(messageId: string) {\n if (this._editComposers.has(messageId))\n throw new Error(\"Edit already in progress\");\n\n this._editComposers.set(\n messageId,\n new DefaultEditComposerRuntimeCore(\n this,\n () => this._editComposers.delete(messageId),\n this.repository.getMessage(messageId),\n ),\n );\n this._notifySubscribers();\n }\n\n public getMessageById(messageId: string) {\n return this.repository.getMessage(messageId);\n }\n\n public getBranches(messageId: string): string[] {\n return this.repository.getBranches(messageId);\n }\n\n public switchToBranch(branchId: string): void {\n this.repository.switchToBranch(branchId);\n this._notifySubscribers();\n }\n\n protected _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n public _notifyEventSubscribers(event: ThreadRuntimeEventType) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n\n for (const callback of subscribers) callback();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _submittedFeedback: Record<string, SubmittedFeedback> = {};\n\n public getSubmittedFeedback(messageId: string) {\n return this._submittedFeedback[messageId];\n }\n\n public submitFeedback({ messageId, type }: SubmitFeedbackOptions) {\n const adapter = this.adapters?.feedback;\n if (!adapter) throw new Error(\"Feedback adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n adapter.submit({ message, type });\n\n this._submittedFeedback[messageId] = { type };\n this._notifySubscribers();\n }\n\n private _stopSpeaking: Unsubscribe | undefined;\n public speech: SpeechState | undefined;\n\n public speak(messageId: string) {\n const adapter = this.adapters?.speech;\n if (!adapter) throw new Error(\"Speech adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n\n this._stopSpeaking?.();\n\n const utterance = adapter.speak(getThreadMessageText(message));\n const unsub = utterance.subscribe(() => {\n if (utterance.status.type === \"ended\") {\n this._stopSpeaking = undefined;\n this.speech = undefined;\n } else {\n this.speech = { messageId, status: utterance.status };\n }\n this._notifySubscribers();\n });\n\n this.speech = { messageId, status: utterance.status };\n this._notifySubscribers();\n\n this._stopSpeaking = () => {\n utterance.cancel();\n unsub();\n this.speech = undefined;\n this._stopSpeaking = undefined;\n };\n }\n\n public stopSpeaking() {\n if (!this._stopSpeaking) throw new Error(\"No message is being spoken\");\n this._stopSpeaking();\n this._notifySubscribers();\n }\n\n protected ensureInitialized() {\n if (!this._isInitialized) {\n this._isInitialized = true;\n this._notifyEventSubscribers(\"initialize\");\n }\n }\n\n // TODO import()/export() on external store doesn't make much sense\n public export() {\n return this.repository.export();\n }\n\n public import(data: ExportedMessageRepository) {\n this.ensureInitialized();\n this.repository.clear();\n this.repository.import(data);\n this._notifySubscribers();\n }\n\n private _eventSubscribers = new Map<\n ThreadRuntimeEventType,\n Set<() => void>\n >();\n\n public unstable_on(event: ThreadRuntimeEventType, callback: () => void) {\n if (event === \"model-context-update\") {\n return this._contextProvider.subscribe?.(callback) ?? (() => {});\n }\n\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) {\n this._eventSubscribers.set(event, new Set([callback]));\n } else {\n subscribers.add(callback);\n }\n\n return () => {\n const subscribers = this._eventSubscribers.get(event)!;\n subscribers.delete(callback);\n };\n }\n}\n"],"mappings":"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","names":["subscribers"]}
@@ -107,11 +107,13 @@ var BaseThreadRuntimeCore = class {
107
107
  this._notifyEventSubscribers("initialize");
108
108
  }
109
109
  }
110
+ // TODO import()/export() on external store doesn't make much sense
110
111
  export() {
111
112
  return this.repository.export();
112
113
  }
113
114
  import(data) {
114
115
  this.ensureInitialized();
116
+ this.repository.clear();
115
117
  this.repository.import(data);
116
118
  this._notifySubscribers();
117
119
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/core/BaseThreadRuntimeCore.tsx"],"sourcesContent":["import type { AppendMessage, Unsubscribe } from \"../../types\";\nimport {\n ExportedMessageRepository,\n MessageRepository,\n} from \"../utils/MessageRepository\";\nimport { DefaultThreadComposerRuntimeCore } from \"../composer/DefaultThreadComposerRuntimeCore\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n RuntimeCapabilities,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { DefaultEditComposerRuntimeCore } from \"../composer/DefaultEditComposerRuntimeCore\";\nimport { SpeechSynthesisAdapter } from \"../adapters/speech/SpeechAdapterTypes\";\nimport { FeedbackAdapter } from \"../adapters/feedback/FeedbackAdapter\";\nimport { AttachmentAdapter } from \"../adapters/attachment\";\nimport { getThreadMessageText } from \"../../utils/getThreadMessageText\";\nimport { ModelContextProvider } from \"../../model-context\";\n\ntype BaseThreadAdapters = {\n speech?: SpeechSynthesisAdapter | undefined;\n feedback?: FeedbackAdapter | undefined;\n attachments?: AttachmentAdapter | undefined;\n};\n\nexport abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {\n private _subscriptions = new Set<() => void>();\n private _isInitialized = false;\n\n protected readonly repository = new MessageRepository();\n public abstract get adapters(): BaseThreadAdapters | undefined;\n public abstract get isDisabled(): boolean;\n public abstract get suggestions(): readonly ThreadSuggestion[];\n public abstract get extras(): unknown;\n\n public abstract get capabilities(): RuntimeCapabilities;\n public abstract append(message: AppendMessage): void;\n public abstract startRun(config: StartRunConfig): void;\n public abstract addToolResult(options: AddToolResultOptions): void;\n public abstract cancelRun(): void;\n\n public get messages() {\n return this.repository.getMessages();\n }\n\n public readonly composer = new DefaultThreadComposerRuntimeCore(this);\n\n constructor(private readonly _contextProvider: ModelContextProvider) {}\n\n public getModelContext() {\n return this._contextProvider.getModelContext();\n }\n\n private _editComposers = new Map<string, DefaultEditComposerRuntimeCore>();\n public getEditComposer(messageId: string) {\n return this._editComposers.get(messageId);\n }\n public beginEdit(messageId: string) {\n if (this._editComposers.has(messageId))\n throw new Error(\"Edit already in progress\");\n\n this._editComposers.set(\n messageId,\n new DefaultEditComposerRuntimeCore(\n this,\n () => this._editComposers.delete(messageId),\n this.repository.getMessage(messageId),\n ),\n );\n this._notifySubscribers();\n }\n\n public getMessageById(messageId: string) {\n return this.repository.getMessage(messageId);\n }\n\n public getBranches(messageId: string): string[] {\n return this.repository.getBranches(messageId);\n }\n\n public switchToBranch(branchId: string): void {\n this.repository.switchToBranch(branchId);\n this._notifySubscribers();\n }\n\n protected _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n public _notifyEventSubscribers(event: ThreadRuntimeEventType) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n\n for (const callback of subscribers) callback();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _submittedFeedback: Record<string, SubmittedFeedback> = {};\n\n public getSubmittedFeedback(messageId: string) {\n return this._submittedFeedback[messageId];\n }\n\n public submitFeedback({ messageId, type }: SubmitFeedbackOptions) {\n const adapter = this.adapters?.feedback;\n if (!adapter) throw new Error(\"Feedback adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n adapter.submit({ message, type });\n\n this._submittedFeedback[messageId] = { type };\n this._notifySubscribers();\n }\n\n private _stopSpeaking: Unsubscribe | undefined;\n public speech: SpeechState | undefined;\n\n public speak(messageId: string) {\n const adapter = this.adapters?.speech;\n if (!adapter) throw new Error(\"Speech adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n\n this._stopSpeaking?.();\n\n const utterance = adapter.speak(getThreadMessageText(message));\n const unsub = utterance.subscribe(() => {\n if (utterance.status.type === \"ended\") {\n this._stopSpeaking = undefined;\n this.speech = undefined;\n } else {\n this.speech = { messageId, status: utterance.status };\n }\n this._notifySubscribers();\n });\n\n this.speech = { messageId, status: utterance.status };\n this._notifySubscribers();\n\n this._stopSpeaking = () => {\n utterance.cancel();\n unsub();\n this.speech = undefined;\n this._stopSpeaking = undefined;\n };\n }\n\n public stopSpeaking() {\n if (!this._stopSpeaking) throw new Error(\"No message is being spoken\");\n this._stopSpeaking();\n this._notifySubscribers();\n }\n\n protected ensureInitialized() {\n if (!this._isInitialized) {\n this._isInitialized = true;\n this._notifyEventSubscribers(\"initialize\");\n }\n }\n\n public export() {\n return this.repository.export();\n }\n\n public import(data: ExportedMessageRepository) {\n this.ensureInitialized();\n\n this.repository.import(data);\n this._notifySubscribers();\n }\n\n private _eventSubscribers = new Map<\n ThreadRuntimeEventType,\n Set<() => void>\n >();\n\n public unstable_on(event: ThreadRuntimeEventType, callback: () => void) {\n if (event === \"model-context-update\") {\n return this._contextProvider.subscribe?.(callback) ?? (() => {});\n }\n\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) {\n this._eventSubscribers.set(event, new Set([callback]));\n } else {\n subscribers.add(callback);\n }\n\n return () => {\n const subscribers = this._eventSubscribers.get(event)!;\n subscribers.delete(callback);\n };\n }\n}\n"],"mappings":"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","names":["subscribers"]}
1
+ {"version":3,"sources":["../../../src/runtimes/core/BaseThreadRuntimeCore.tsx"],"sourcesContent":["import type { AppendMessage, Unsubscribe } from \"../../types\";\nimport {\n ExportedMessageRepository,\n MessageRepository,\n} from \"../utils/MessageRepository\";\nimport { DefaultThreadComposerRuntimeCore } from \"../composer/DefaultThreadComposerRuntimeCore\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n RuntimeCapabilities,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { DefaultEditComposerRuntimeCore } from \"../composer/DefaultEditComposerRuntimeCore\";\nimport { SpeechSynthesisAdapter } from \"../adapters/speech/SpeechAdapterTypes\";\nimport { FeedbackAdapter } from \"../adapters/feedback/FeedbackAdapter\";\nimport { AttachmentAdapter } from \"../adapters/attachment\";\nimport { getThreadMessageText } from \"../../utils/getThreadMessageText\";\nimport { ModelContextProvider } from \"../../model-context\";\n\ntype BaseThreadAdapters = {\n speech?: SpeechSynthesisAdapter | undefined;\n feedback?: FeedbackAdapter | undefined;\n attachments?: AttachmentAdapter | undefined;\n};\n\nexport abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {\n private _subscriptions = new Set<() => void>();\n private _isInitialized = false;\n\n protected readonly repository = new MessageRepository();\n public abstract get adapters(): BaseThreadAdapters | undefined;\n public abstract get isDisabled(): boolean;\n public abstract get suggestions(): readonly ThreadSuggestion[];\n public abstract get extras(): unknown;\n\n public abstract get capabilities(): RuntimeCapabilities;\n public abstract append(message: AppendMessage): void;\n public abstract startRun(config: StartRunConfig): void;\n public abstract addToolResult(options: AddToolResultOptions): void;\n public abstract cancelRun(): void;\n\n public get messages() {\n return this.repository.getMessages();\n }\n\n public readonly composer = new DefaultThreadComposerRuntimeCore(this);\n\n constructor(private readonly _contextProvider: ModelContextProvider) {}\n\n public getModelContext() {\n return this._contextProvider.getModelContext();\n }\n\n private _editComposers = new Map<string, DefaultEditComposerRuntimeCore>();\n public getEditComposer(messageId: string) {\n return this._editComposers.get(messageId);\n }\n public beginEdit(messageId: string) {\n if (this._editComposers.has(messageId))\n throw new Error(\"Edit already in progress\");\n\n this._editComposers.set(\n messageId,\n new DefaultEditComposerRuntimeCore(\n this,\n () => this._editComposers.delete(messageId),\n this.repository.getMessage(messageId),\n ),\n );\n this._notifySubscribers();\n }\n\n public getMessageById(messageId: string) {\n return this.repository.getMessage(messageId);\n }\n\n public getBranches(messageId: string): string[] {\n return this.repository.getBranches(messageId);\n }\n\n public switchToBranch(branchId: string): void {\n this.repository.switchToBranch(branchId);\n this._notifySubscribers();\n }\n\n protected _notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n public _notifyEventSubscribers(event: ThreadRuntimeEventType) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n\n for (const callback of subscribers) callback();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n this._subscriptions.add(callback);\n return () => this._subscriptions.delete(callback);\n }\n\n private _submittedFeedback: Record<string, SubmittedFeedback> = {};\n\n public getSubmittedFeedback(messageId: string) {\n return this._submittedFeedback[messageId];\n }\n\n public submitFeedback({ messageId, type }: SubmitFeedbackOptions) {\n const adapter = this.adapters?.feedback;\n if (!adapter) throw new Error(\"Feedback adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n adapter.submit({ message, type });\n\n this._submittedFeedback[messageId] = { type };\n this._notifySubscribers();\n }\n\n private _stopSpeaking: Unsubscribe | undefined;\n public speech: SpeechState | undefined;\n\n public speak(messageId: string) {\n const adapter = this.adapters?.speech;\n if (!adapter) throw new Error(\"Speech adapter not configured\");\n\n const { message } = this.repository.getMessage(messageId);\n\n this._stopSpeaking?.();\n\n const utterance = adapter.speak(getThreadMessageText(message));\n const unsub = utterance.subscribe(() => {\n if (utterance.status.type === \"ended\") {\n this._stopSpeaking = undefined;\n this.speech = undefined;\n } else {\n this.speech = { messageId, status: utterance.status };\n }\n this._notifySubscribers();\n });\n\n this.speech = { messageId, status: utterance.status };\n this._notifySubscribers();\n\n this._stopSpeaking = () => {\n utterance.cancel();\n unsub();\n this.speech = undefined;\n this._stopSpeaking = undefined;\n };\n }\n\n public stopSpeaking() {\n if (!this._stopSpeaking) throw new Error(\"No message is being spoken\");\n this._stopSpeaking();\n this._notifySubscribers();\n }\n\n protected ensureInitialized() {\n if (!this._isInitialized) {\n this._isInitialized = true;\n this._notifyEventSubscribers(\"initialize\");\n }\n }\n\n // TODO import()/export() on external store doesn't make much sense\n public export() {\n return this.repository.export();\n }\n\n public import(data: ExportedMessageRepository) {\n this.ensureInitialized();\n this.repository.clear();\n this.repository.import(data);\n this._notifySubscribers();\n }\n\n private _eventSubscribers = new Map<\n ThreadRuntimeEventType,\n Set<() => void>\n >();\n\n public unstable_on(event: ThreadRuntimeEventType, callback: () => void) {\n if (event === \"model-context-update\") {\n return this._contextProvider.subscribe?.(callback) ?? (() => {});\n }\n\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) {\n this._eventSubscribers.set(event, new Set([callback]));\n } else {\n subscribers.add(callback);\n }\n\n return () => {\n const subscribers = this._eventSubscribers.get(event)!;\n subscribers.delete(callback);\n };\n }\n}\n"],"mappings":"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","names":["subscribers"]}
@@ -1,5 +1,5 @@
1
1
  import { LocalRuntimeOptions } from "..";
2
2
  import { DangerousInBrowserAdapterOptions } from "./DangerousInBrowserAdapter";
3
3
  export type DangerousInBrowserRuntimeOptions = DangerousInBrowserAdapterOptions & LocalRuntimeOptions;
4
- export declare const useDangerousInBrowserRuntime: (options: DangerousInBrowserRuntimeOptions) => import("../..").AssistantRuntime;
4
+ export declare const useDangerousInBrowserRuntime: (options: DangerousInBrowserRuntimeOptions) => import("../../internal").AssistantRuntimeImpl;
5
5
  //# sourceMappingURL=useDangerousInBrowserRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDangerousInBrowserRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,IAAI,CAAC;AAE1D,OAAO,EAEL,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AAGrC,MAAM,MAAM,gCAAgC,GAC1C,gCAAgC,GAAG,mBAAmB,CAAC;AAEzD,eAAO,MAAM,4BAA4B,YAC9B,gCAAgC,qCAM1C,CAAC"}
1
+ {"version":3,"file":"useDangerousInBrowserRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,IAAI,CAAC;AAE1D,OAAO,EAEL,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AAGrC,MAAM,MAAM,gCAAgC,GAC1C,gCAAgC,GAAG,mBAAmB,CAAC;AAEzD,eAAO,MAAM,4BAA4B,YAC9B,gCAAgC,kDAM1C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { LocalRuntimeOptions } from "..";
2
2
  import { EdgeChatAdapterOptions } from "./EdgeChatAdapter";
3
3
  export type EdgeRuntimeOptions = EdgeChatAdapterOptions & LocalRuntimeOptions;
4
- export declare const useEdgeRuntime: (options: EdgeRuntimeOptions) => import("../..").AssistantRuntime;
4
+ export declare const useEdgeRuntime: (options: EdgeRuntimeOptions) => import("../../internal").AssistantRuntimeImpl;
5
5
  //# sourceMappingURL=useEdgeRuntime.d.ts.map
@@ -1 +1 @@
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,sBAAsB,EAAmB,MAAM,mBAAmB,CAAC;AAG5E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE9E,eAAO,MAAM,cAAc,YAAa,kBAAkB,qCAQzD,CAAC"}
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,sBAAsB,EAAmB,MAAM,mBAAmB,CAAC;AAG5E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE9E,eAAO,MAAM,cAAc,YAAa,kBAAkB,kDAQzD,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { ExternalStoreAdapter } from "./ExternalStoreAdapter";
2
- export declare const useExternalStoreRuntime: <T>(store: ExternalStoreAdapter<T>) => import("../..").AssistantRuntime;
2
+ import { AssistantRuntimeImpl } from "../../api/AssistantRuntime";
3
+ export declare const useExternalStoreRuntime: <T>(store: ExternalStoreAdapter<T>) => AssistantRuntimeImpl;
3
4
  //# sourceMappingURL=useExternalStoreRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExternalStoreRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/useExternalStoreRuntime.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAU,oBAAoB,CAAC,CAAC,CAAC,qCAkBzE,CAAC"}
1
+ {"version":3,"file":"useExternalStoreRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/useExternalStoreRuntime.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAU,oBAAoB,CAAC,CAAC,CAAC,yBAezE,CAAC"}
@@ -27,7 +27,6 @@ module.exports = __toCommonJS(useExternalStoreRuntime_exports);
27
27
  var import_react = require("react");
28
28
  var import_ExternalStoreRuntimeCore = require("./ExternalStoreRuntimeCore.js");
29
29
  var import_AssistantRuntime = require("../../api/AssistantRuntime.js");
30
- var import_ThreadRuntime = require("../../api/ThreadRuntime.js");
31
30
  var import_RuntimeAdapterProvider = require("../adapters/RuntimeAdapterProvider.js");
32
31
  var useExternalStoreRuntime = (store) => {
33
32
  const [runtime] = (0, import_react.useState)(() => new import_ExternalStoreRuntimeCore.ExternalStoreRuntimeCore(store));
@@ -39,10 +38,7 @@ var useExternalStoreRuntime = (store) => {
39
38
  if (!modelContext) return void 0;
40
39
  return runtime.registerModelContextProvider(modelContext);
41
40
  }, [modelContext, runtime]);
42
- return (0, import_react.useMemo)(
43
- () => import_AssistantRuntime.AssistantRuntimeImpl.create(runtime, import_ThreadRuntime.ThreadRuntimeImpl),
44
- [runtime]
45
- );
41
+ return (0, import_react.useMemo)(() => new import_AssistantRuntime.AssistantRuntimeImpl(runtime), [runtime]);
46
42
  };
47
43
  // Annotate the CommonJS export names for ESM import in node:
48
44
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/external-store/useExternalStoreRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport { ExternalStoreRuntimeCore } from \"./ExternalStoreRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { AssistantRuntimeImpl } from \"../../api/AssistantRuntime\";\nimport { ThreadRuntimeImpl } from \"../../api/ThreadRuntime\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\n\nexport const useExternalStoreRuntime = <T,>(store: ExternalStoreAdapter<T>) => {\n const [runtime] = useState(() => new ExternalStoreRuntimeCore(store));\n\n useEffect(() => {\n runtime.setAdapter(store);\n });\n\n const { modelContext } = useRuntimeAdapters() ?? {};\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(\n () => AssistantRuntimeImpl.create(runtime, ThreadRuntimeImpl),\n [runtime],\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,sCAAyC;AAEzC,8BAAqC;AACrC,2BAAkC;AAClC,oCAAmC;AAE5B,IAAM,0BAA0B,CAAK,UAAmC;AAC7E,QAAM,CAAC,OAAO,QAAI,uBAAS,MAAM,IAAI,yDAAyB,KAAK,CAAC;AAEpE,8BAAU,MAAM;AACd,YAAQ,WAAW,KAAK;AAAA,EAC1B,CAAC;AAED,QAAM,EAAE,aAAa,QAAI,kDAAmB,KAAK,CAAC;AAElD,8BAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,aAAO;AAAA,IACL,MAAM,6CAAqB,OAAO,SAAS,sCAAiB;AAAA,IAC5D,CAAC,OAAO;AAAA,EACV;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/external-store/useExternalStoreRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport { ExternalStoreRuntimeCore } from \"./ExternalStoreRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { AssistantRuntimeImpl } from \"../../api/AssistantRuntime\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\n\nexport const useExternalStoreRuntime = <T,>(store: ExternalStoreAdapter<T>) => {\n const [runtime] = useState(() => new ExternalStoreRuntimeCore(store));\n\n useEffect(() => {\n runtime.setAdapter(store);\n });\n\n const { modelContext } = useRuntimeAdapters() ?? {};\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,sCAAyC;AAEzC,8BAAqC;AACrC,oCAAmC;AAE5B,IAAM,0BAA0B,CAAK,UAAmC;AAC7E,QAAM,CAAC,OAAO,QAAI,uBAAS,MAAM,IAAI,yDAAyB,KAAK,CAAC;AAEpE,8BAAU,MAAM;AACd,YAAQ,WAAW,KAAK;AAAA,EAC1B,CAAC;AAED,QAAM,EAAE,aAAa,QAAI,kDAAmB,KAAK,CAAC;AAElD,8BAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,aAAO,sBAAQ,MAAM,IAAI,6CAAqB,OAAO,GAAG,CAAC,OAAO,CAAC;AACnE;","names":[]}
@@ -4,7 +4,6 @@
4
4
  import { useEffect, useMemo, useState } from "react";
5
5
  import { ExternalStoreRuntimeCore } from "./ExternalStoreRuntimeCore.mjs";
6
6
  import { AssistantRuntimeImpl } from "../../api/AssistantRuntime.mjs";
7
- import { ThreadRuntimeImpl } from "../../api/ThreadRuntime.mjs";
8
7
  import { useRuntimeAdapters } from "../adapters/RuntimeAdapterProvider.mjs";
9
8
  var useExternalStoreRuntime = (store) => {
10
9
  const [runtime] = useState(() => new ExternalStoreRuntimeCore(store));
@@ -16,10 +15,7 @@ var useExternalStoreRuntime = (store) => {
16
15
  if (!modelContext) return void 0;
17
16
  return runtime.registerModelContextProvider(modelContext);
18
17
  }, [modelContext, runtime]);
19
- return useMemo(
20
- () => AssistantRuntimeImpl.create(runtime, ThreadRuntimeImpl),
21
- [runtime]
22
- );
18
+ return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);
23
19
  };
24
20
  export {
25
21
  useExternalStoreRuntime
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/external-store/useExternalStoreRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport { ExternalStoreRuntimeCore } from \"./ExternalStoreRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { AssistantRuntimeImpl } from \"../../api/AssistantRuntime\";\nimport { ThreadRuntimeImpl } from \"../../api/ThreadRuntime\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\n\nexport const useExternalStoreRuntime = <T,>(store: ExternalStoreAdapter<T>) => {\n const [runtime] = useState(() => new ExternalStoreRuntimeCore(store));\n\n useEffect(() => {\n runtime.setAdapter(store);\n });\n\n const { modelContext } = useRuntimeAdapters() ?? {};\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(\n () => AssistantRuntimeImpl.create(runtime, ThreadRuntimeImpl),\n [runtime],\n );\n};\n"],"mappings":";;;AAEA,SAAS,WAAW,SAAS,gBAAgB;AAC7C,SAAS,gCAAgC;AAEzC,SAAS,4BAA4B;AACrC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAE5B,IAAM,0BAA0B,CAAK,UAAmC;AAC7E,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,yBAAyB,KAAK,CAAC;AAEpE,YAAU,MAAM;AACd,YAAQ,WAAW,KAAK;AAAA,EAC1B,CAAC;AAED,QAAM,EAAE,aAAa,IAAI,mBAAmB,KAAK,CAAC;AAElD,YAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,SAAO;AAAA,IACL,MAAM,qBAAqB,OAAO,SAAS,iBAAiB;AAAA,IAC5D,CAAC,OAAO;AAAA,EACV;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/external-store/useExternalStoreRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport { ExternalStoreRuntimeCore } from \"./ExternalStoreRuntimeCore\";\nimport { ExternalStoreAdapter } from \"./ExternalStoreAdapter\";\nimport { AssistantRuntimeImpl } from \"../../api/AssistantRuntime\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\n\nexport const useExternalStoreRuntime = <T,>(store: ExternalStoreAdapter<T>) => {\n const [runtime] = useState(() => new ExternalStoreRuntimeCore(store));\n\n useEffect(() => {\n runtime.setAdapter(store);\n });\n\n const { modelContext } = useRuntimeAdapters() ?? {};\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);\n};\n"],"mappings":";;;AAEA,SAAS,WAAW,SAAS,gBAAgB;AAC7C,SAAS,gCAAgC;AAEzC,SAAS,4BAA4B;AACrC,SAAS,0BAA0B;AAE5B,IAAM,0BAA0B,CAAK,UAAmC;AAC7E,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,yBAAyB,KAAK,CAAC;AAEpE,YAAU,MAAM;AACd,YAAQ,WAAW,KAAK;AAAA,EAC1B,CAAC;AAED,QAAM,EAAE,aAAa,IAAI,mBAAmB,KAAK,CAAC;AAElD,YAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,SAAO,QAAQ,MAAM,IAAI,qBAAqB,OAAO,GAAG,CAAC,OAAO,CAAC;AACnE;","names":[]}
@@ -5,4 +5,5 @@ export * from "./edge";
5
5
  export * from "./external-store";
6
6
  export * from "./local";
7
7
  export * from "./remote-thread-list";
8
+ export { ExportedMessageRepository } from "./utils/MessageRepository";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtimes/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
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
+ };
6
10
  var __copyProps = (to, from, except, desc) => {
7
11
  if (from && typeof from === "object" || typeof from === "function") {
8
12
  for (let key of __getOwnPropNames(from))
@@ -16,6 +20,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
16
20
 
17
21
  // src/runtimes/index.ts
18
22
  var runtimes_exports = {};
23
+ __export(runtimes_exports, {
24
+ ExportedMessageRepository: () => import_MessageRepository.ExportedMessageRepository
25
+ });
19
26
  module.exports = __toCommonJS(runtimes_exports);
20
27
  __reExport(runtimes_exports, require("./adapters/index.js"), module.exports);
21
28
  __reExport(runtimes_exports, require("./core/index.js"), module.exports);
@@ -24,8 +31,10 @@ __reExport(runtimes_exports, require("./edge/index.js"), module.exports);
24
31
  __reExport(runtimes_exports, require("./external-store/index.js"), module.exports);
25
32
  __reExport(runtimes_exports, require("./local/index.js"), module.exports);
26
33
  __reExport(runtimes_exports, require("./remote-thread-list/index.js"), module.exports);
34
+ var import_MessageRepository = require("./utils/MessageRepository.js");
27
35
  // Annotate the CommonJS export names for ESM import in node:
28
36
  0 && (module.exports = {
37
+ ExportedMessageRepository,
29
38
  ...require("./adapters/index.js"),
30
39
  ...require("./core/index.js"),
31
40
  ...require("./dangerous-in-browser/index.js"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./dangerous-in-browser\";\nexport * from \"./edge\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,gCAAd;AACA,6BAAc,4BADd;AAEA,6BAAc,4CAFd;AAGA,6BAAc,4BAHd;AAIA,6BAAc,sCAJd;AAKA,6BAAc,6BALd;AAMA,6BAAc,0CANd;","names":[]}
1
+ {"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./dangerous-in-browser\";\nexport * from \"./edge\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n\nexport { ExportedMessageRepository } from \"./utils/MessageRepository\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAc,gCAAd;AACA,6BAAc,4BADd;AAEA,6BAAc,4CAFd;AAGA,6BAAc,4BAHd;AAIA,6BAAc,sCAJd;AAKA,6BAAc,6BALd;AAMA,6BAAc,0CANd;AAQA,+BAA0C;","names":[]}
@@ -6,4 +6,8 @@ export * from "./edge/index.mjs";
6
6
  export * from "./external-store/index.mjs";
7
7
  export * from "./local/index.mjs";
8
8
  export * from "./remote-thread-list/index.mjs";
9
+ import { ExportedMessageRepository } from "./utils/MessageRepository.mjs";
10
+ export {
11
+ ExportedMessageRepository
12
+ };
9
13
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./dangerous-in-browser\";\nexport * from \"./edge\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/runtimes/index.ts"],"sourcesContent":["export * from \"./adapters\";\nexport * from \"./core\";\nexport * from \"./dangerous-in-browser\";\nexport * from \"./edge\";\nexport * from \"./external-store\";\nexport * from \"./local\";\nexport * from \"./remote-thread-list\";\n\nexport { ExportedMessageRepository } from \"./utils/MessageRepository\";\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAS,iCAAiC;","names":[]}
@@ -1,4 +1,3 @@
1
- import type { CoreMessage } from "../../types/AssistantTypes";
2
1
  import { BaseAssistantRuntimeCore } from "../core/BaseAssistantRuntimeCore";
3
2
  import { LocalRuntimeOptionsBase } from "./LocalRuntimeOptions";
4
3
  import { LocalThreadListRuntimeCore } from "./LocalThreadListRuntimeCore";
@@ -8,8 +7,5 @@ export declare class LocalRuntimeCore extends BaseAssistantRuntimeCore {
8
7
  readonly Provider: undefined;
9
8
  private _options;
10
9
  constructor(options: LocalRuntimeOptionsBase, initialMessages: readonly ThreadMessageLike[] | undefined);
11
- reset({ initialMessages, }?: {
12
- initialMessages?: readonly CoreMessage[] | undefined;
13
- }): void;
14
10
  }
15
11
  //# sourceMappingURL=LocalRuntimeCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/local/LocalRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAoBtD,qBAAa,gBAAiB,SAAQ,wBAAwB;IAC5D,SAAgB,OAAO,6BAAC;IACxB,SAAgB,QAAQ,YAAa;IAErC,OAAO,CAAC,QAAQ,CAA0B;gBAGxC,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS;IAiBpD,KAAK,CAAC,EACX,eAAe,GAChB,GAAE;QACD,eAAe,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;KACjD;CAQP"}
1
+ {"version":3,"file":"LocalRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/local/LocalRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,gBAAiB,SAAQ,wBAAwB;IAC5D,SAAgB,OAAO,6BAAC;IACxB,SAAgB,QAAQ,YAAa;IAErC,OAAO,CAAC,QAAQ,CAA0B;gBAGxC,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS;CAgB5D"}
@@ -26,21 +26,7 @@ module.exports = __toCommonJS(LocalRuntimeCore_exports);
26
26
  var import_BaseAssistantRuntimeCore = require("../core/BaseAssistantRuntimeCore.js");
27
27
  var import_LocalThreadRuntimeCore = require("./LocalThreadRuntimeCore.js");
28
28
  var import_LocalThreadListRuntimeCore = require("./LocalThreadListRuntimeCore.js");
29
- var import_ThreadMessageLike = require("../external-store/ThreadMessageLike.js");
30
- var import_internal = require("../../internal.js");
31
- var import_auto_status = require("../external-store/auto-status.js");
32
- var getExportFromInitialMessages = (initialMessages) => {
33
- const messages = initialMessages.map((i, idx) => {
34
- const isLast = idx === initialMessages.length - 1;
35
- return (0, import_ThreadMessageLike.fromThreadMessageLike)(i, (0, import_internal.generateId)(), (0, import_auto_status.getAutoStatus)(isLast, false));
36
- });
37
- return {
38
- messages: messages.map((m, idx) => ({
39
- parentId: messages[idx - 1]?.id ?? null,
40
- message: m
41
- }))
42
- };
43
- };
29
+ var import_MessageRepository = require("../utils/MessageRepository.js");
44
30
  var LocalRuntimeCore = class extends import_BaseAssistantRuntimeCore.BaseAssistantRuntimeCore {
45
31
  threads;
46
32
  Provider = void 0;
@@ -52,16 +38,9 @@ var LocalRuntimeCore = class extends import_BaseAssistantRuntimeCore.BaseAssista
52
38
  return new import_LocalThreadRuntimeCore.LocalThreadRuntimeCore(this._contextProvider, this._options);
53
39
  });
54
40
  if (initialMessages) {
55
- this.threads.getMainThreadRuntimeCore().import(getExportFromInitialMessages(initialMessages));
41
+ this.threads.getMainThreadRuntimeCore().import(import_MessageRepository.ExportedMessageRepository.fromArray(initialMessages));
56
42
  }
57
43
  }
58
- reset({
59
- initialMessages
60
- } = {}) {
61
- this.threads.switchToNewThread();
62
- if (!initialMessages) return;
63
- this.threads.getMainThreadRuntimeCore().import(getExportFromInitialMessages(initialMessages));
64
- }
65
44
  };
66
45
  // Annotate the CommonJS export names for ESM import in node:
67
46
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/local/LocalRuntimeCore.tsx"],"sourcesContent":["import type { CoreMessage } from \"../../types/AssistantTypes\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport { LocalThreadListRuntimeCore } from \"./LocalThreadListRuntimeCore\";\nimport { ExportedMessageRepository } from \"../utils/MessageRepository\";\nimport { ThreadMessageLike } from \"../external-store\";\nimport { fromThreadMessageLike } from \"../external-store/ThreadMessageLike\";\nimport { generateId } from \"../../internal\";\nimport { getAutoStatus } from \"../external-store/auto-status\";\n\nconst getExportFromInitialMessages = (\n initialMessages: readonly ThreadMessageLike[],\n): ExportedMessageRepository => {\n const messages = initialMessages.map((i, idx) => {\n const isLast = idx === initialMessages.length - 1;\n return fromThreadMessageLike(i, generateId(), getAutoStatus(isLast, false));\n });\n return {\n messages: messages.map((m, idx) => ({\n parentId: messages[idx - 1]?.id ?? null,\n message: m,\n })),\n };\n};\n\nexport class LocalRuntimeCore extends BaseAssistantRuntimeCore {\n public readonly threads;\n public readonly Provider = undefined;\n\n private _options: LocalRuntimeOptionsBase;\n\n constructor(\n options: LocalRuntimeOptionsBase,\n initialMessages: readonly ThreadMessageLike[] | undefined,\n ) {\n super();\n\n this._options = options;\n\n this.threads = new LocalThreadListRuntimeCore(() => {\n return new LocalThreadRuntimeCore(this._contextProvider, this._options);\n });\n\n if (initialMessages) {\n this.threads\n .getMainThreadRuntimeCore()\n .import(getExportFromInitialMessages(initialMessages));\n }\n }\n\n public reset({\n initialMessages,\n }: {\n initialMessages?: readonly CoreMessage[] | undefined;\n } = {}) {\n this.threads.switchToNewThread();\n if (!initialMessages) return;\n\n this.threads\n .getMainThreadRuntimeCore()\n .import(getExportFromInitialMessages(initialMessages));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sCAAyC;AACzC,oCAAuC;AAEvC,wCAA2C;AAG3C,+BAAsC;AACtC,sBAA2B;AAC3B,yBAA8B;AAE9B,IAAM,+BAA+B,CACnC,oBAC8B;AAC9B,QAAM,WAAW,gBAAgB,IAAI,CAAC,GAAG,QAAQ;AAC/C,UAAM,SAAS,QAAQ,gBAAgB,SAAS;AAChD,eAAO,gDAAsB,OAAG,4BAAW,OAAG,kCAAc,QAAQ,KAAK,CAAC;AAAA,EAC5E,CAAC;AACD,SAAO;AAAA,IACL,UAAU,SAAS,IAAI,CAAC,GAAG,SAAS;AAAA,MAClC,UAAU,SAAS,MAAM,CAAC,GAAG,MAAM;AAAA,MACnC,SAAS;AAAA,IACX,EAAE;AAAA,EACJ;AACF;AAEO,IAAM,mBAAN,cAA+B,yDAAyB;AAAA,EAC7C;AAAA,EACA,WAAW;AAAA,EAEnB;AAAA,EAER,YACE,SACA,iBACA;AACA,UAAM;AAEN,SAAK,WAAW;AAEhB,SAAK,UAAU,IAAI,6DAA2B,MAAM;AAClD,aAAO,IAAI,qDAAuB,KAAK,kBAAkB,KAAK,QAAQ;AAAA,IACxE,CAAC;AAED,QAAI,iBAAiB;AACnB,WAAK,QACF,yBAAyB,EACzB,OAAO,6BAA6B,eAAe,CAAC;AAAA,IACzD;AAAA,EACF;AAAA,EAEO,MAAM;AAAA,IACX;AAAA,EACF,IAEI,CAAC,GAAG;AACN,SAAK,QAAQ,kBAAkB;AAC/B,QAAI,CAAC,gBAAiB;AAEtB,SAAK,QACF,yBAAyB,EACzB,OAAO,6BAA6B,eAAe,CAAC;AAAA,EACzD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/local/LocalRuntimeCore.tsx"],"sourcesContent":["import { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport { LocalThreadListRuntimeCore } from \"./LocalThreadListRuntimeCore\";\nimport { ExportedMessageRepository } from \"../utils/MessageRepository\";\nimport { ThreadMessageLike } from \"../external-store\";\n\nexport class LocalRuntimeCore extends BaseAssistantRuntimeCore {\n public readonly threads;\n public readonly Provider = undefined;\n\n private _options: LocalRuntimeOptionsBase;\n\n constructor(\n options: LocalRuntimeOptionsBase,\n initialMessages: readonly ThreadMessageLike[] | undefined,\n ) {\n super();\n\n this._options = options;\n\n this.threads = new LocalThreadListRuntimeCore(() => {\n return new LocalThreadRuntimeCore(this._contextProvider, this._options);\n });\n\n if (initialMessages) {\n this.threads\n .getMainThreadRuntimeCore()\n .import(ExportedMessageRepository.fromArray(initialMessages));\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAyC;AACzC,oCAAuC;AAEvC,wCAA2C;AAC3C,+BAA0C;AAGnC,IAAM,mBAAN,cAA+B,yDAAyB;AAAA,EAC7C;AAAA,EACA,WAAW;AAAA,EAEnB;AAAA,EAER,YACE,SACA,iBACA;AACA,UAAM;AAEN,SAAK,WAAW;AAEhB,SAAK,UAAU,IAAI,6DAA2B,MAAM;AAClD,aAAO,IAAI,qDAAuB,KAAK,kBAAkB,KAAK,QAAQ;AAAA,IACxE,CAAC;AAED,QAAI,iBAAiB;AACnB,WAAK,QACF,yBAAyB,EACzB,OAAO,mDAA0B,UAAU,eAAe,CAAC;AAAA,IAChE;AAAA,EACF;AACF;","names":[]}
@@ -2,21 +2,7 @@
2
2
  import { BaseAssistantRuntimeCore } from "../core/BaseAssistantRuntimeCore.mjs";
3
3
  import { LocalThreadRuntimeCore } from "./LocalThreadRuntimeCore.mjs";
4
4
  import { LocalThreadListRuntimeCore } from "./LocalThreadListRuntimeCore.mjs";
5
- import { fromThreadMessageLike } from "../external-store/ThreadMessageLike.mjs";
6
- import { generateId } from "../../internal.mjs";
7
- import { getAutoStatus } from "../external-store/auto-status.mjs";
8
- var getExportFromInitialMessages = (initialMessages) => {
9
- const messages = initialMessages.map((i, idx) => {
10
- const isLast = idx === initialMessages.length - 1;
11
- return fromThreadMessageLike(i, generateId(), getAutoStatus(isLast, false));
12
- });
13
- return {
14
- messages: messages.map((m, idx) => ({
15
- parentId: messages[idx - 1]?.id ?? null,
16
- message: m
17
- }))
18
- };
19
- };
5
+ import { ExportedMessageRepository } from "../utils/MessageRepository.mjs";
20
6
  var LocalRuntimeCore = class extends BaseAssistantRuntimeCore {
21
7
  threads;
22
8
  Provider = void 0;
@@ -28,16 +14,9 @@ var LocalRuntimeCore = class extends BaseAssistantRuntimeCore {
28
14
  return new LocalThreadRuntimeCore(this._contextProvider, this._options);
29
15
  });
30
16
  if (initialMessages) {
31
- this.threads.getMainThreadRuntimeCore().import(getExportFromInitialMessages(initialMessages));
17
+ this.threads.getMainThreadRuntimeCore().import(ExportedMessageRepository.fromArray(initialMessages));
32
18
  }
33
19
  }
34
- reset({
35
- initialMessages
36
- } = {}) {
37
- this.threads.switchToNewThread();
38
- if (!initialMessages) return;
39
- this.threads.getMainThreadRuntimeCore().import(getExportFromInitialMessages(initialMessages));
40
- }
41
20
  };
42
21
  export {
43
22
  LocalRuntimeCore
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/local/LocalRuntimeCore.tsx"],"sourcesContent":["import type { CoreMessage } from \"../../types/AssistantTypes\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport { LocalThreadListRuntimeCore } from \"./LocalThreadListRuntimeCore\";\nimport { ExportedMessageRepository } from \"../utils/MessageRepository\";\nimport { ThreadMessageLike } from \"../external-store\";\nimport { fromThreadMessageLike } from \"../external-store/ThreadMessageLike\";\nimport { generateId } from \"../../internal\";\nimport { getAutoStatus } from \"../external-store/auto-status\";\n\nconst getExportFromInitialMessages = (\n initialMessages: readonly ThreadMessageLike[],\n): ExportedMessageRepository => {\n const messages = initialMessages.map((i, idx) => {\n const isLast = idx === initialMessages.length - 1;\n return fromThreadMessageLike(i, generateId(), getAutoStatus(isLast, false));\n });\n return {\n messages: messages.map((m, idx) => ({\n parentId: messages[idx - 1]?.id ?? null,\n message: m,\n })),\n };\n};\n\nexport class LocalRuntimeCore extends BaseAssistantRuntimeCore {\n public readonly threads;\n public readonly Provider = undefined;\n\n private _options: LocalRuntimeOptionsBase;\n\n constructor(\n options: LocalRuntimeOptionsBase,\n initialMessages: readonly ThreadMessageLike[] | undefined,\n ) {\n super();\n\n this._options = options;\n\n this.threads = new LocalThreadListRuntimeCore(() => {\n return new LocalThreadRuntimeCore(this._contextProvider, this._options);\n });\n\n if (initialMessages) {\n this.threads\n .getMainThreadRuntimeCore()\n .import(getExportFromInitialMessages(initialMessages));\n }\n }\n\n public reset({\n initialMessages,\n }: {\n initialMessages?: readonly CoreMessage[] | undefined;\n } = {}) {\n this.threads.switchToNewThread();\n if (!initialMessages) return;\n\n this.threads\n .getMainThreadRuntimeCore()\n .import(getExportFromInitialMessages(initialMessages));\n }\n}\n"],"mappings":";AACA,SAAS,gCAAgC;AACzC,SAAS,8BAA8B;AAEvC,SAAS,kCAAkC;AAG3C,SAAS,6BAA6B;AACtC,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAE9B,IAAM,+BAA+B,CACnC,oBAC8B;AAC9B,QAAM,WAAW,gBAAgB,IAAI,CAAC,GAAG,QAAQ;AAC/C,UAAM,SAAS,QAAQ,gBAAgB,SAAS;AAChD,WAAO,sBAAsB,GAAG,WAAW,GAAG,cAAc,QAAQ,KAAK,CAAC;AAAA,EAC5E,CAAC;AACD,SAAO;AAAA,IACL,UAAU,SAAS,IAAI,CAAC,GAAG,SAAS;AAAA,MAClC,UAAU,SAAS,MAAM,CAAC,GAAG,MAAM;AAAA,MACnC,SAAS;AAAA,IACX,EAAE;AAAA,EACJ;AACF;AAEO,IAAM,mBAAN,cAA+B,yBAAyB;AAAA,EAC7C;AAAA,EACA,WAAW;AAAA,EAEnB;AAAA,EAER,YACE,SACA,iBACA;AACA,UAAM;AAEN,SAAK,WAAW;AAEhB,SAAK,UAAU,IAAI,2BAA2B,MAAM;AAClD,aAAO,IAAI,uBAAuB,KAAK,kBAAkB,KAAK,QAAQ;AAAA,IACxE,CAAC;AAED,QAAI,iBAAiB;AACnB,WAAK,QACF,yBAAyB,EACzB,OAAO,6BAA6B,eAAe,CAAC;AAAA,IACzD;AAAA,EACF;AAAA,EAEO,MAAM;AAAA,IACX;AAAA,EACF,IAEI,CAAC,GAAG;AACN,SAAK,QAAQ,kBAAkB;AAC/B,QAAI,CAAC,gBAAiB;AAEtB,SAAK,QACF,yBAAyB,EACzB,OAAO,6BAA6B,eAAe,CAAC;AAAA,EACzD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/local/LocalRuntimeCore.tsx"],"sourcesContent":["import { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { LocalThreadRuntimeCore } from \"./LocalThreadRuntimeCore\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport { LocalThreadListRuntimeCore } from \"./LocalThreadListRuntimeCore\";\nimport { ExportedMessageRepository } from \"../utils/MessageRepository\";\nimport { ThreadMessageLike } from \"../external-store\";\n\nexport class LocalRuntimeCore extends BaseAssistantRuntimeCore {\n public readonly threads;\n public readonly Provider = undefined;\n\n private _options: LocalRuntimeOptionsBase;\n\n constructor(\n options: LocalRuntimeOptionsBase,\n initialMessages: readonly ThreadMessageLike[] | undefined,\n ) {\n super();\n\n this._options = options;\n\n this.threads = new LocalThreadListRuntimeCore(() => {\n return new LocalThreadRuntimeCore(this._contextProvider, this._options);\n });\n\n if (initialMessages) {\n this.threads\n .getMainThreadRuntimeCore()\n .import(ExportedMessageRepository.fromArray(initialMessages));\n }\n }\n}\n"],"mappings":";AAAA,SAAS,gCAAgC;AACzC,SAAS,8BAA8B;AAEvC,SAAS,kCAAkC;AAC3C,SAAS,iCAAiC;AAGnC,IAAM,mBAAN,cAA+B,yBAAyB;AAAA,EAC7C;AAAA,EACA,WAAW;AAAA,EAEnB;AAAA,EAER,YACE,SACA,iBACA;AACA,UAAM;AAEN,SAAK,WAAW;AAEhB,SAAK,UAAU,IAAI,2BAA2B,MAAM;AAClD,aAAO,IAAI,uBAAuB,KAAK,kBAAkB,KAAK,QAAQ;AAAA,IACxE,CAAC;AAED,QAAI,iBAAiB;AACnB,WAAK,QACF,yBAAyB,EACzB,OAAO,0BAA0B,UAAU,eAAe,CAAC;AAAA,IAChE;AAAA,EACF;AACF;","names":[]}
@@ -1,9 +1,5 @@
1
1
  import type { ChatModelAdapter } from "./ChatModelAdapter";
2
- import { LocalRuntimeCore } from "./LocalRuntimeCore";
3
2
  import { LocalRuntimeOptions } from "./LocalRuntimeOptions";
4
- import { AssistantRuntime } from "../../api/AssistantRuntime";
5
- export type LocalRuntime = AssistantRuntime & {
6
- reset: (options?: Parameters<LocalRuntimeCore["reset"]>[0]) => void;
7
- };
8
- export declare const useLocalRuntime: (adapter: ChatModelAdapter, { cloud, ...options }?: LocalRuntimeOptions) => AssistantRuntime;
3
+ import { AssistantRuntimeImpl } from "../../internal";
4
+ export declare const useLocalRuntime: (adapter: ChatModelAdapter, { cloud, ...options }?: LocalRuntimeOptions) => AssistantRuntimeImpl;
9
5
  //# sourceMappingURL=useLocalRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocalRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/local/useLocalRuntime.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AAMpC,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACrE,CAAC;AAqDF,eAAO,MAAM,eAAe,YACjB,gBAAgB,0BACF,mBAAmB,qBAO3C,CAAC"}
1
+ {"version":3,"file":"useLocalRuntime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/local/useLocalRuntime.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAkCtD,eAAO,MAAM,eAAe,YACjB,gBAAgB,0BACF,mBAAmB,yBAO3C,CAAC"}
@@ -26,27 +26,10 @@ __export(useLocalRuntime_exports, {
26
26
  module.exports = __toCommonJS(useLocalRuntime_exports);
27
27
  var import_react = require("react");
28
28
  var import_LocalRuntimeCore = require("./LocalRuntimeCore.js");
29
- var import_AssistantRuntime = require("../../api/AssistantRuntime.js");
30
- var import_internal = require("../../internal.js");
31
29
  var import_RuntimeAdapterProvider = require("../adapters/RuntimeAdapterProvider.js");
32
30
  var import_useRemoteThreadListRuntime = require("../remote-thread-list/useRemoteThreadListRuntime.js");
33
31
  var import_cloud = require("../remote-thread-list/adapter/cloud.js");
34
- var LocalRuntimeImpl = class _LocalRuntimeImpl extends import_AssistantRuntime.AssistantRuntimeImpl {
35
- constructor(core) {
36
- super(core, import_internal.ThreadRuntimeImpl);
37
- this.core = core;
38
- }
39
- __internal_bindMethods() {
40
- super.__internal_bindMethods();
41
- this.reset = this.reset.bind(this);
42
- }
43
- reset(options) {
44
- this.core.reset(options);
45
- }
46
- static create(_core) {
47
- return new _LocalRuntimeImpl(_core);
48
- }
49
- };
32
+ var import_internal = require("../../internal.js");
50
33
  var useLocalThreadRuntime = (adapter, { initialMessages, ...options }) => {
51
34
  const { modelContext, ...threadListAdapters } = (0, import_RuntimeAdapterProvider.useRuntimeAdapters)() ?? {};
52
35
  const opt = (0, import_react.useMemo)(
@@ -69,7 +52,7 @@ var useLocalThreadRuntime = (adapter, { initialMessages, ...options }) => {
69
52
  if (!modelContext) return void 0;
70
53
  return runtime.registerModelContextProvider(modelContext);
71
54
  }, [modelContext, runtime]);
72
- return (0, import_react.useMemo)(() => LocalRuntimeImpl.create(runtime), [runtime]);
55
+ return (0, import_react.useMemo)(() => new import_internal.AssistantRuntimeImpl(runtime), [runtime]);
73
56
  };
74
57
  var useLocalRuntime = (adapter, { cloud, ...options } = {}) => {
75
58
  const cloudAdapter = (0, import_cloud.useCloudThreadListAdapter)({ cloud });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/local/useLocalRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport type { ChatModelAdapter } from \"./ChatModelAdapter\";\nimport { LocalRuntimeCore } from \"./LocalRuntimeCore\";\nimport { LocalRuntimeOptions } from \"./LocalRuntimeOptions\";\nimport {\n AssistantRuntime,\n AssistantRuntimeImpl,\n} from \"../../api/AssistantRuntime\";\nimport { ThreadRuntimeImpl } from \"../../internal\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\nimport { useRemoteThreadListRuntime } from \"../remote-thread-list/useRemoteThreadListRuntime\";\nimport { useCloudThreadListAdapter } from \"../remote-thread-list/adapter/cloud\";\n\nexport type LocalRuntime = AssistantRuntime & {\n reset: (options?: Parameters<LocalRuntimeCore[\"reset\"]>[0]) => void;\n};\n\nclass LocalRuntimeImpl extends AssistantRuntimeImpl implements LocalRuntime {\n private constructor(private core: LocalRuntimeCore) {\n super(core, ThreadRuntimeImpl);\n }\n\n public override __internal_bindMethods() {\n super.__internal_bindMethods();\n this.reset = this.reset.bind(this);\n }\n\n public reset(options?: Parameters<LocalRuntimeCore[\"reset\"]>[0]) {\n this.core.reset(options);\n }\n\n public static override create(_core: LocalRuntimeCore): LocalRuntime {\n return new LocalRuntimeImpl(_core);\n }\n}\n\nconst useLocalThreadRuntime = (\n adapter: ChatModelAdapter,\n { initialMessages, ...options }: LocalRuntimeOptions,\n) => {\n const { modelContext, ...threadListAdapters } = useRuntimeAdapters() ?? {};\n const opt = useMemo(\n () => ({\n ...options,\n adapters: {\n ...threadListAdapters,\n ...options.adapters,\n chatModel: adapter,\n },\n }),\n [adapter, options, threadListAdapters],\n );\n\n const [runtime] = useState(() => new LocalRuntimeCore(opt, initialMessages));\n\n useEffect(() => {\n runtime.threads.getMainThreadRuntimeCore().__internal_setOptions(opt);\n runtime.threads.getMainThreadRuntimeCore().__internal_load();\n }, [runtime, opt]);\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(() => LocalRuntimeImpl.create(runtime), [runtime]);\n};\n\nexport const useLocalRuntime = (\n adapter: ChatModelAdapter,\n { cloud, ...options }: LocalRuntimeOptions = {},\n) => {\n const cloudAdapter = useCloudThreadListAdapter({ cloud });\n return useRemoteThreadListRuntime({\n runtimeHook: () => useLocalThreadRuntime(adapter, options),\n adapter: cloudAdapter,\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAE7C,8BAAiC;AAEjC,8BAGO;AACP,sBAAkC;AAClC,oCAAmC;AACnC,wCAA2C;AAC3C,mBAA0C;AAM1C,IAAM,mBAAN,MAAM,0BAAyB,6CAA6C;AAAA,EAClE,YAAoB,MAAwB;AAClD,UAAM,MAAM,iCAAiB;AADH;AAAA,EAE5B;AAAA,EAEgB,yBAAyB;AACvC,UAAM,uBAAuB;AAC7B,SAAK,QAAQ,KAAK,MAAM,KAAK,IAAI;AAAA,EACnC;AAAA,EAEO,MAAM,SAAoD;AAC/D,SAAK,KAAK,MAAM,OAAO;AAAA,EACzB;AAAA,EAEA,OAAuB,OAAO,OAAuC;AACnE,WAAO,IAAI,kBAAiB,KAAK;AAAA,EACnC;AACF;AAEA,IAAM,wBAAwB,CAC5B,SACA,EAAE,iBAAiB,GAAG,QAAQ,MAC3B;AACH,QAAM,EAAE,cAAc,GAAG,mBAAmB,QAAI,kDAAmB,KAAK,CAAC;AACzE,QAAM,UAAM;AAAA,IACV,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,GAAG;AAAA,QACH,GAAG,QAAQ;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,SAAS,SAAS,kBAAkB;AAAA,EACvC;AAEA,QAAM,CAAC,OAAO,QAAI,uBAAS,MAAM,IAAI,yCAAiB,KAAK,eAAe,CAAC;AAE3E,8BAAU,MAAM;AACd,YAAQ,QAAQ,yBAAyB,EAAE,sBAAsB,GAAG;AACpE,YAAQ,QAAQ,yBAAyB,EAAE,gBAAgB;AAAA,EAC7D,GAAG,CAAC,SAAS,GAAG,CAAC;AAEjB,8BAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,aAAO,sBAAQ,MAAM,iBAAiB,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC;AAClE;AAEO,IAAM,kBAAkB,CAC7B,SACA,EAAE,OAAO,GAAG,QAAQ,IAAyB,CAAC,MAC3C;AACH,QAAM,mBAAe,wCAA0B,EAAE,MAAM,CAAC;AACxD,aAAO,8DAA2B;AAAA,IAChC,aAAa,MAAM,sBAAsB,SAAS,OAAO;AAAA,IACzD,SAAS;AAAA,EACX,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/local/useLocalRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useState } from \"react\";\nimport type { ChatModelAdapter } from \"./ChatModelAdapter\";\nimport { LocalRuntimeCore } from \"./LocalRuntimeCore\";\nimport { LocalRuntimeOptions } from \"./LocalRuntimeOptions\";\nimport { useRuntimeAdapters } from \"../adapters/RuntimeAdapterProvider\";\nimport { useRemoteThreadListRuntime } from \"../remote-thread-list/useRemoteThreadListRuntime\";\nimport { useCloudThreadListAdapter } from \"../remote-thread-list/adapter/cloud\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\n\nconst useLocalThreadRuntime = (\n adapter: ChatModelAdapter,\n { initialMessages, ...options }: LocalRuntimeOptions,\n) => {\n const { modelContext, ...threadListAdapters } = useRuntimeAdapters() ?? {};\n const opt = useMemo(\n () => ({\n ...options,\n adapters: {\n ...threadListAdapters,\n ...options.adapters,\n chatModel: adapter,\n },\n }),\n [adapter, options, threadListAdapters],\n );\n\n const [runtime] = useState(() => new LocalRuntimeCore(opt, initialMessages));\n\n useEffect(() => {\n runtime.threads.getMainThreadRuntimeCore().__internal_setOptions(opt);\n runtime.threads.getMainThreadRuntimeCore().__internal_load();\n }, [runtime, opt]);\n\n useEffect(() => {\n if (!modelContext) return undefined;\n return runtime.registerModelContextProvider(modelContext);\n }, [modelContext, runtime]);\n\n return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);\n};\n\nexport const useLocalRuntime = (\n adapter: ChatModelAdapter,\n { cloud, ...options }: LocalRuntimeOptions = {},\n) => {\n const cloudAdapter = useCloudThreadListAdapter({ cloud });\n return useRemoteThreadListRuntime({\n runtimeHook: () => useLocalThreadRuntime(adapter, options),\n adapter: cloudAdapter,\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAE7C,8BAAiC;AAEjC,oCAAmC;AACnC,wCAA2C;AAC3C,mBAA0C;AAC1C,sBAAqC;AAErC,IAAM,wBAAwB,CAC5B,SACA,EAAE,iBAAiB,GAAG,QAAQ,MAC3B;AACH,QAAM,EAAE,cAAc,GAAG,mBAAmB,QAAI,kDAAmB,KAAK,CAAC;AACzE,QAAM,UAAM;AAAA,IACV,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,GAAG;AAAA,QACH,GAAG,QAAQ;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,SAAS,SAAS,kBAAkB;AAAA,EACvC;AAEA,QAAM,CAAC,OAAO,QAAI,uBAAS,MAAM,IAAI,yCAAiB,KAAK,eAAe,CAAC;AAE3E,8BAAU,MAAM;AACd,YAAQ,QAAQ,yBAAyB,EAAE,sBAAsB,GAAG;AACpE,YAAQ,QAAQ,yBAAyB,EAAE,gBAAgB;AAAA,EAC7D,GAAG,CAAC,SAAS,GAAG,CAAC;AAEjB,8BAAU,MAAM;AACd,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,QAAQ,6BAA6B,YAAY;AAAA,EAC1D,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,aAAO,sBAAQ,MAAM,IAAI,qCAAqB,OAAO,GAAG,CAAC,OAAO,CAAC;AACnE;AAEO,IAAM,kBAAkB,CAC7B,SACA,EAAE,OAAO,GAAG,QAAQ,IAAyB,CAAC,MAC3C;AACH,QAAM,mBAAe,wCAA0B,EAAE,MAAM,CAAC;AACxD,aAAO,8DAA2B;AAAA,IAChC,aAAa,MAAM,sBAAsB,SAAS,OAAO;AAAA,IACzD,SAAS;AAAA,EACX,CAAC;AACH;","names":[]}