@assistant-ui/react 0.15.14 → 0.15.16

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 (210) hide show
  1. package/dist/assistant-transport.d.ts +32 -0
  2. package/dist/assistant-transport.d.ts.map +1 -0
  3. package/dist/assistant-transport.js +27 -0
  4. package/dist/assistant-transport.js.map +1 -0
  5. package/dist/context/providers/MessageProvider.js +1 -1
  6. package/dist/devtools/DevToolsHooks.d.ts +0 -2
  7. package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
  8. package/dist/devtools/DevToolsHooks.js +10 -12
  9. package/dist/devtools/DevToolsHooks.js.map +1 -1
  10. package/dist/hooks/useMessageQuote.js +1 -1
  11. package/dist/hooks/useToolCallElapsed.js +1 -1
  12. package/dist/index.d.ts +4 -7
  13. package/dist/index.js +6 -8
  14. package/dist/legacy-runtime/AssistantRuntimeProvider.js +1 -1
  15. package/dist/mcp-apps/McpAppRenderer.js +1 -1
  16. package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -1
  17. package/dist/mcp-apps/McpAppsRemoteHost.js +18 -2
  18. package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -1
  19. package/dist/mcp-apps/bridge.d.ts.map +1 -1
  20. package/dist/mcp-apps/bridge.js +33 -24
  21. package/dist/mcp-apps/bridge.js.map +1 -1
  22. package/dist/model-context/makeAssistantVisible.js +1 -1
  23. package/dist/primitives/actionBar/ActionBarCopy.js +1 -1
  24. package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
  25. package/dist/primitives/actionBar/ActionBarExportMarkdown.js +5 -2
  26. package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -1
  27. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +1 -1
  28. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +1 -1
  29. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  30. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +24 -37
  31. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  32. package/dist/primitives/actionBar/useActionBarFloatStatus.js +1 -1
  33. package/dist/primitives/assistantModal/AssistantModalRoot.js +1 -1
  34. package/dist/primitives/attachment/AttachmentName.js +1 -1
  35. package/dist/primitives/attachment/AttachmentRemove.js +1 -1
  36. package/dist/primitives/attachment/AttachmentThumb.js +1 -1
  37. package/dist/primitives/branchPicker/BranchPickerCount.js +1 -1
  38. package/dist/primitives/branchPicker/BranchPickerNumber.js +1 -1
  39. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  40. package/dist/primitives/branchPicker/BranchPickerRoot.js +20 -15
  41. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  42. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +1 -1
  43. package/dist/primitives/composer/ComposerAddAttachment.js +1 -1
  44. package/dist/primitives/composer/ComposerAttachmentDropzone.js +1 -1
  45. package/dist/primitives/composer/ComposerDictationTranscript.d.ts +2 -2
  46. package/dist/primitives/composer/ComposerDictationTranscript.js +3 -3
  47. package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
  48. package/dist/primitives/composer/ComposerInput.js +2 -2
  49. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  50. package/dist/primitives/composer/ComposerQuote.js +1 -1
  51. package/dist/primitives/composer/ComposerRoot.js +1 -1
  52. package/dist/primitives/composer/ComposerStopDictation.js +1 -1
  53. package/dist/primitives/composer/trigger/TriggerPopover.js +1 -1
  54. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -1
  55. package/dist/primitives/composer/trigger/triggerSelectionResource.js +24 -20
  56. package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -1
  57. package/dist/primitives/composer/useComposerInputState.js +1 -1
  58. package/dist/primitives/message/MessageIf.js +1 -1
  59. package/dist/primitives/message/MessagePartsGrouped.js +1 -1
  60. package/dist/primitives/message/MessageRoot.js +1 -1
  61. package/dist/primitives/message.js +1 -1
  62. package/dist/primitives/queueItem/QueueItemRemove.js +1 -1
  63. package/dist/primitives/queueItem/QueueItemSteer.js +1 -1
  64. package/dist/primitives/queueItem/QueueItemText.js +1 -1
  65. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +1 -1
  66. package/dist/primitives/suggestion/SuggestionDescription.js +1 -1
  67. package/dist/primitives/suggestion/SuggestionTitle.js +1 -1
  68. package/dist/primitives/suggestion/SuggestionTrigger.js +1 -1
  69. package/dist/primitives/thread/ThreadIf.js +1 -1
  70. package/dist/primitives/thread/ThreadRoot.d.ts +3 -0
  71. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  72. package/dist/primitives/thread/ThreadRoot.js +44 -9
  73. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  74. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  75. package/dist/primitives/thread/ThreadViewport.js +2 -13
  76. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  77. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  78. package/dist/primitives/thread/useThreadViewportAutoScroll.js +23 -8
  79. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  80. package/dist/primitives/threadList/ThreadListNew.js +1 -1
  81. package/dist/sandbox-host/SandboxHost.d.ts.map +1 -1
  82. package/dist/sandbox-host/SandboxHost.js +6 -1
  83. package/dist/sandbox-host/SandboxHost.js.map +1 -1
  84. package/dist/unstable/useComposerInput.d.ts +2 -2
  85. package/dist/unstable/useComposerInput.js +1 -1
  86. package/dist/unstable/useComposerInput.js.map +1 -1
  87. package/dist/unstable/useComposerInputHistory.js +2 -2
  88. package/dist/unstable/useComposerInputHistory.js.map +1 -1
  89. package/dist/unstable/useLiveCompletionAdapter.d.ts +5 -0
  90. package/dist/unstable/useLiveCompletionAdapter.d.ts.map +1 -1
  91. package/dist/unstable/useLiveCompletionAdapter.js +16 -3
  92. package/dist/unstable/useLiveCompletionAdapter.js.map +1 -1
  93. package/dist/unstable/useMentionAdapter.d.ts +1 -1
  94. package/dist/utils/invokeCallbackSafely.d.ts +5 -0
  95. package/dist/utils/invokeCallbackSafely.d.ts.map +1 -0
  96. package/dist/utils/invokeCallbackSafely.js +15 -0
  97. package/dist/utils/invokeCallbackSafely.js.map +1 -0
  98. package/dist/utils/smooth/SmoothContext.d.ts +6 -6
  99. package/dist/utils/smooth/SmoothContext.js +1 -1
  100. package/dist/utils/smooth/useSmooth.d.ts +3 -0
  101. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  102. package/dist/utils/smooth/useSmooth.js +16 -1
  103. package/dist/utils/smooth/useSmooth.js.map +1 -1
  104. package/dist/utils/useToolArgsFieldStatus.js +1 -1
  105. package/package.json +10 -10
  106. package/src/assistant-transport.ts +94 -0
  107. package/src/devtools/DevToolsHooks.test.ts +40 -0
  108. package/src/devtools/DevToolsHooks.ts +10 -15
  109. package/src/index.ts +8 -4
  110. package/src/mcp-apps/McpAppsRemoteHost.test.ts +29 -3
  111. package/src/mcp-apps/McpAppsRemoteHost.ts +42 -7
  112. package/src/mcp-apps/bridge.test.ts +153 -0
  113. package/src/mcp-apps/bridge.ts +42 -30
  114. package/src/model-context/frame/SPEC_AssistantFrame.md +1 -1
  115. package/src/primitives/actionBar/ActionBarExportMarkdown.test.tsx +67 -0
  116. package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +3 -1
  117. package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +0 -9
  118. package/src/primitives/branchPicker/BranchPickerRoot.tsx +5 -3
  119. package/src/primitives/composer/ComposerDictationTranscript.tsx +2 -2
  120. package/src/primitives/composer/ComposerInput.tsx +1 -1
  121. package/src/primitives/composer/trigger/triggerSelectionResource.test.ts +135 -0
  122. package/src/primitives/composer/trigger/triggerSelectionResource.ts +2 -0
  123. package/src/primitives/thread/ThreadRoot.test.tsx +251 -0
  124. package/src/primitives/thread/ThreadRoot.tsx +33 -0
  125. package/src/primitives/thread/ThreadViewport.tsx +1 -8
  126. package/src/primitives/thread/useThreadViewportAutoScroll.test.tsx +152 -0
  127. package/src/primitives/thread/useThreadViewportAutoScroll.ts +26 -19
  128. package/src/sandbox-host/SandboxHost.test.tsx +90 -0
  129. package/src/sandbox-host/SandboxHost.tsx +8 -2
  130. package/src/tests/RemoteThreadListRuntime.adapterProvider.test.tsx +24 -3
  131. package/src/tests/RemoteThreadListRuntime.reloadMainThread.test.tsx +1 -2
  132. package/src/tests/augmentations.test.ts +49 -0
  133. package/src/tests/in-memory-thread-list.test.tsx +1 -1
  134. package/src/tests/threadMessageById.test.tsx +61 -1
  135. package/src/unstable/useComposerInput.ts +2 -2
  136. package/src/unstable/useComposerInputHistory.test.tsx +4 -4
  137. package/src/unstable/useComposerInputHistory.ts +1 -1
  138. package/src/unstable/useLiveCompletionAdapter.test.tsx +157 -0
  139. package/src/unstable/useLiveCompletionAdapter.ts +41 -17
  140. package/src/utils/invokeCallbackSafely.ts +11 -0
  141. package/src/utils/smooth/useSmooth.test.tsx +110 -0
  142. package/src/utils/smooth/useSmooth.ts +20 -6
  143. package/dist/client/InMemoryThreadList.d.ts +0 -12
  144. package/dist/client/InMemoryThreadList.d.ts.map +0 -1
  145. package/dist/client/InMemoryThreadList.js +0 -374
  146. package/dist/client/InMemoryThreadList.js.map +0 -1
  147. package/dist/context/react/utils/ensureBinding.d.ts +0 -5
  148. package/dist/context/react/utils/ensureBinding.d.ts.map +0 -1
  149. package/dist/context/react/utils/ensureBinding.js +0 -24
  150. package/dist/context/react/utils/ensureBinding.js.map +0 -1
  151. package/dist/context/react/utils/useRuntimeState.d.ts +0 -13
  152. package/dist/context/react/utils/useRuntimeState.d.ts.map +0 -1
  153. package/dist/context/react/utils/useRuntimeState.js +0 -33
  154. package/dist/context/react/utils/useRuntimeState.js.map +0 -1
  155. package/dist/legacy-runtime/cloud/auiV0.d.ts +0 -119
  156. package/dist/legacy-runtime/cloud/auiV0.d.ts.map +0 -1
  157. package/dist/legacy-runtime/cloud/auiV0.js +0 -137
  158. package/dist/legacy-runtime/cloud/auiV0.js.map +0 -1
  159. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts +0 -16
  160. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts.map +0 -1
  161. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js +0 -36
  162. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js.map +0 -1
  163. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts +0 -17
  164. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts.map +0 -1
  165. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js +0 -55
  166. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js.map +0 -1
  167. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.d.ts +0 -11
  168. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.d.ts.map +0 -1
  169. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.js +0 -165
  170. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.js.map +0 -1
  171. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.d.ts +0 -15
  172. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.d.ts.map +0 -1
  173. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.js +0 -81
  174. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.js.map +0 -1
  175. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +0 -126
  176. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +0 -1
  177. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.js +0 -0
  178. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts +0 -14
  179. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +0 -1
  180. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +0 -290
  181. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +0 -1
  182. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.d.ts +0 -7
  183. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.d.ts.map +0 -1
  184. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js +0 -25
  185. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js.map +0 -1
  186. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.d.ts +0 -7
  187. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.d.ts.map +0 -1
  188. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js +0 -27
  189. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js.map +0 -1
  190. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.d.ts +0 -2
  191. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.js +0 -2
  192. package/src/client/InMemoryThreadList.ts +0 -247
  193. package/src/context/react/utils/ensureBinding.ts +0 -46
  194. package/src/context/react/utils/useRuntimeState.ts +0 -46
  195. package/src/legacy-runtime/cloud/auiV0.ts +0 -331
  196. package/src/legacy-runtime/cloud/useCloudThreadListRuntime.ts +0 -31
  197. package/src/legacy-runtime/runtime-cores/assistant-transport/commandQueue.ts +0 -68
  198. package/src/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.test.ts +0 -455
  199. package/src/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.ts +0 -172
  200. package/src/legacy-runtime/runtime-cores/assistant-transport/runManager.ts +0 -113
  201. package/src/legacy-runtime/runtime-cores/assistant-transport/transport-delivery.test.tsx +0 -79
  202. package/src/legacy-runtime/runtime-cores/assistant-transport/transport-parentid.test.tsx +0 -97
  203. package/src/legacy-runtime/runtime-cores/assistant-transport/transport-scheduling.test.ts +0 -307
  204. package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +0 -170
  205. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransport.spec.md +0 -141
  206. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.test.tsx +0 -585
  207. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.ts +0 -476
  208. package/src/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.ts +0 -20
  209. package/src/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.ts +0 -9
  210. package/src/legacy-runtime/runtime-cores/assistant-transport/utils.ts +0 -1
@@ -222,4 +222,114 @@ describe("useSmooth", () => {
222
222
  frame();
223
223
  expect(result.current.text).toBe("z");
224
224
  });
225
+
226
+ it("drains completed text when a queued frame never runs", () => {
227
+ vi.spyOn(globalThis, "requestAnimationFrame").mockReturnValue(1);
228
+ vi.spyOn(globalThis, "cancelAnimationFrame").mockImplementation(() => {});
229
+
230
+ const { result, rerender } = renderHook((state) => useSmooth(state, true), {
231
+ initialProps: runningState(""),
232
+ });
233
+
234
+ rerender(runningState("hello"));
235
+ rerender(textState("hello"));
236
+
237
+ expect(result.current.text).toBe("hello");
238
+ expect(result.current.status.type).toBe("complete");
239
+ });
240
+
241
+ it("keeps draining after the source settles when frames are flowing", () => {
242
+ const raf: FrameRequestCallback[] = [];
243
+ vi.spyOn(globalThis, "requestAnimationFrame").mockImplementation((cb) => {
244
+ raf.push(cb);
245
+ return raf.length;
246
+ });
247
+ vi.spyOn(globalThis, "cancelAnimationFrame").mockImplementation(() => {});
248
+ let now = 1000;
249
+ vi.spyOn(Date, "now").mockImplementation(() => now);
250
+
251
+ const frame = () => {
252
+ if (raf.length === 0) return;
253
+ const cb = raf.shift()!;
254
+ now += 16;
255
+ act(() => {
256
+ cb(now);
257
+ });
258
+ };
259
+
260
+ const { result, rerender } = renderHook(
261
+ (state) =>
262
+ useSmooth(state, {
263
+ maxCharsPerFrame: 1,
264
+ maxCharIntervalMs: 1,
265
+ drainMs: 250,
266
+ }),
267
+ { initialProps: runningState("hello") },
268
+ );
269
+
270
+ frame();
271
+ const mid = result.current.text;
272
+ expect(mid.length).toBeGreaterThan(0);
273
+ expect(mid.length).toBeLessThan("hello".length);
274
+ expect(result.current.status.type).toBe("running");
275
+
276
+ rerender(textState("hello"));
277
+ expect(result.current.text).toBe(mid);
278
+ expect(result.current.status.type).toBe("running");
279
+
280
+ frame();
281
+ expect(result.current.text.length).toBeGreaterThan(mid.length);
282
+
283
+ let guard = 0;
284
+ while (result.current.text !== "hello" && guard < 20) {
285
+ guard++;
286
+ frame();
287
+ }
288
+ expect(result.current.text).toBe("hello");
289
+ expect(result.current.status.type).toBe("complete");
290
+ });
291
+
292
+ it("snaps when a settled part replaces the text instead of looping the animator", () => {
293
+ const raf: FrameRequestCallback[] = [];
294
+ vi.spyOn(globalThis, "requestAnimationFrame").mockImplementation((cb) => {
295
+ raf.push(cb);
296
+ return raf.length;
297
+ });
298
+ vi.spyOn(globalThis, "cancelAnimationFrame").mockImplementation(() => {});
299
+ let now = 1000;
300
+ vi.spyOn(Date, "now").mockImplementation(() => now);
301
+
302
+ const frame = () => {
303
+ if (raf.length === 0) return;
304
+ const cb = raf.shift()!;
305
+ now += 16;
306
+ act(() => {
307
+ cb(now);
308
+ });
309
+ };
310
+
311
+ const { result, rerender } = renderHook(
312
+ (state) =>
313
+ useSmooth(state, {
314
+ maxCharsPerFrame: 1,
315
+ maxCharIntervalMs: 1,
316
+ drainMs: 250,
317
+ }),
318
+ { initialProps: runningState("hello world") },
319
+ );
320
+
321
+ frame();
322
+ expect(result.current.text.length).toBeGreaterThan(0);
323
+ const queued = raf.length;
324
+
325
+ rerender(textState("hi"));
326
+ expect(result.current.text).toBe("hi");
327
+ expect(result.current.status.type).toBe("complete");
328
+ expect(raf.length).toBeLessThanOrEqual(queued);
329
+
330
+ const after = raf.length;
331
+ frame();
332
+ expect(result.current.text).toBe("hi");
333
+ expect(raf.length).toBeLessThanOrEqual(after);
334
+ });
225
335
  });
@@ -137,6 +137,9 @@ const positiveOr = (value: number | undefined, fallback: number): number =>
137
137
  * `true` uses the default rate, and a {@link SmoothOptions} object tunes
138
138
  * the reveal. Returns the part state with `text` replaced by the revealed
139
139
  * prefix and `status` reporting `running` until the reveal catches up.
140
+ * If the source settles before any character has been revealed, the text
141
+ * is committed immediately so a missed animation frame cannot leave an
142
+ * empty bubble.
140
143
  *
141
144
  * The reveal auto-disables under `prefers-reduced-motion: reduce`,
142
145
  * committing the full text immediately; this takes precedence over an
@@ -229,13 +232,10 @@ export const useSmooth = (
229
232
  return;
230
233
  }
231
234
 
232
- // Discontinuity: part flipped, or new text breaks continuation
233
- // of the animator's current target. Either case requires
234
- // resetting the cursor — without the part check, a new part
235
- // whose text happens to share a prefix with the previous target
236
- // would keep the stale cursor and flicker.
237
235
  const partChanged = animatorPartRef.current !== part;
238
236
  animatorPartRef.current = part;
237
+ // A new part whose text shares a prefix with the previous target would
238
+ // keep the stale cursor and flicker without this reset.
239
239
  if (partChanged || !text.startsWith(animatorRef.targetText)) {
240
240
  if (state.status.type === "running") {
241
241
  animatorRef.currentText = "";
@@ -246,13 +246,27 @@ export const useSmooth = (
246
246
  animatorRef.currentText = text;
247
247
  animatorRef.targetText = text;
248
248
  animatorRef.stop();
249
+ setText(text);
249
250
  }
250
251
  return;
251
252
  }
252
253
 
253
254
  animatorRef.targetText = text;
255
+ if (state.status.type !== "running") {
256
+ // No character has painted. A pending frame that never runs would
257
+ // leave an empty bubble after settle.
258
+ if (animatorRef.currentText === "") {
259
+ animatorRef.currentText = text;
260
+ animatorRef.stop();
261
+ setText(text);
262
+ return;
263
+ }
264
+ animatorRef.start();
265
+ return;
266
+ }
267
+
254
268
  animatorRef.start();
255
- }, [animatorRef, enabled, text, state.status.type, part]);
269
+ }, [animatorRef, enabled, text, state.status.type, part, setText]);
256
270
 
257
271
  useEffect(() => {
258
272
  return () => {
@@ -1,12 +0,0 @@
1
- import { ClientOutput } from "@assistant-ui/store";
2
- import { ResourceElement } from "@assistant-ui/tap";
3
- //#region src/client/InMemoryThreadList.d.ts
4
- type InMemoryThreadListProps = {
5
- thread: (threadId: string) => ResourceElement<ClientOutput<"thread">>;
6
- onSwitchToThread?: (threadId: string) => void;
7
- onSwitchToNewThread?: () => void;
8
- };
9
- declare const InMemoryThreadList: import("@assistant-ui/tap").Resource<ClientOutput<"threads">, [props: InMemoryThreadListProps]>;
10
- //#endregion
11
- export { InMemoryThreadList, InMemoryThreadListProps };
12
- //# sourceMappingURL=InMemoryThreadList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryThreadList.d.ts","names":[],"sources":["../../src/client/InMemoryThreadList.ts"],"mappings":";;;KAgBY;EACV,SAAS,qBAAqB,gBAAgB;EAC9C,oBAAoB;EACpB;;cAgMW,gDAAkB,SAAA,0BAAA,OAAA"}
@@ -1,374 +0,0 @@
1
- import { Derived, attachTransformScopes, useClientLookup, useClientResource } from "@assistant-ui/store";
2
- import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
- import { DataRenderers, Tools } from "@assistant-ui/core/react";
4
- import { generateId } from "@assistant-ui/core";
5
- import { useState } from "@assistant-ui/tap/react-shim";
6
- import { ModelContext } from "@assistant-ui/core/store";
7
- import { resource, withKey } from "@assistant-ui/tap";
8
- //#region src/client/InMemoryThreadList.ts
9
- const RESOLVED_PROMISE = Promise.resolve();
10
- const useThreadListItemClient = (props) => {
11
- const $ = c(19);
12
- const { data, isRunning, onSwitchTo, onRename, onUpdateCustom, onArchive, onUnarchive, onDelete } = props;
13
- let t0;
14
- if ($[0] !== data.custom || $[1] !== data.id || $[2] !== data.status || $[3] !== data.title || $[4] !== isRunning) {
15
- t0 = {
16
- id: data.id,
17
- remoteId: void 0,
18
- externalId: void 0,
19
- title: data.title,
20
- status: data.status,
21
- custom: data.custom,
22
- isRunning
23
- };
24
- $[0] = data.custom;
25
- $[1] = data.id;
26
- $[2] = data.status;
27
- $[3] = data.title;
28
- $[4] = isRunning;
29
- $[5] = t0;
30
- } else t0 = $[5];
31
- const state = t0;
32
- let t1;
33
- if ($[6] !== state) {
34
- t1 = () => state;
35
- $[6] = state;
36
- $[7] = t1;
37
- } else t1 = $[7];
38
- let t2;
39
- if ($[8] !== data.id) {
40
- t2 = async () => ({
41
- remoteId: data.id,
42
- externalId: void 0
43
- });
44
- $[8] = data.id;
45
- $[9] = t2;
46
- } else t2 = $[9];
47
- let t3;
48
- if ($[10] !== onArchive || $[11] !== onDelete || $[12] !== onRename || $[13] !== onSwitchTo || $[14] !== onUnarchive || $[15] !== onUpdateCustom || $[16] !== t1 || $[17] !== t2) {
49
- t3 = {
50
- getState: t1,
51
- switchTo: onSwitchTo,
52
- rename: onRename,
53
- updateCustom: onUpdateCustom,
54
- archive: onArchive,
55
- unarchive: onUnarchive,
56
- delete: onDelete,
57
- generateTitle: _temp,
58
- initialize: t2,
59
- detach: _temp2
60
- };
61
- $[10] = onArchive;
62
- $[11] = onDelete;
63
- $[12] = onRename;
64
- $[13] = onSwitchTo;
65
- $[14] = onUnarchive;
66
- $[15] = onUpdateCustom;
67
- $[16] = t1;
68
- $[17] = t2;
69
- $[18] = t3;
70
- } else t3 = $[18];
71
- return t3;
72
- };
73
- const ThreadListItemClient = resource(useThreadListItemClient);
74
- const useInMemoryThreadList = (props) => {
75
- const $ = c(60);
76
- const { thread: threadFactory, onSwitchToThread, onSwitchToNewThread } = props;
77
- const [mainThreadId, setMainThreadId] = useState("main");
78
- const [threads, setThreads] = useState(_temp3);
79
- let t0;
80
- if ($[0] !== onSwitchToThread) {
81
- t0 = (threadId) => {
82
- setMainThreadId(threadId);
83
- onSwitchToThread?.(threadId);
84
- };
85
- $[0] = onSwitchToThread;
86
- $[1] = t0;
87
- } else t0 = $[1];
88
- const handleSwitchToThread = t0;
89
- let t1;
90
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
91
- t1 = (threadId_0, title) => {
92
- setThreads((prev) => prev.map((t) => t.id === threadId_0 ? {
93
- ...t,
94
- title
95
- } : t));
96
- };
97
- $[2] = t1;
98
- } else t1 = $[2];
99
- const handleRename = t1;
100
- let t2;
101
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
102
- t2 = (threadId_1) => {
103
- setThreads((prev_0) => prev_0.map((t_0) => t_0.id === threadId_1 ? {
104
- ...t_0,
105
- status: "archived"
106
- } : t_0));
107
- };
108
- $[3] = t2;
109
- } else t2 = $[3];
110
- const handleArchive = t2;
111
- let t3;
112
- if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
113
- t3 = (threadId_2) => {
114
- setThreads((prev_1) => prev_1.map((t_1) => t_1.id === threadId_2 ? {
115
- ...t_1,
116
- status: "regular"
117
- } : t_1));
118
- };
119
- $[4] = t3;
120
- } else t3 = $[4];
121
- const handleUnarchive = t3;
122
- let t4;
123
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
124
- t4 = (threadId_3, custom) => {
125
- setThreads((prev_2) => prev_2.map((t_2) => t_2.id === threadId_3 ? {
126
- ...t_2,
127
- custom
128
- } : t_2));
129
- };
130
- $[5] = t4;
131
- } else t4 = $[5];
132
- const handleUpdateCustom = t4;
133
- let t5;
134
- if ($[6] !== threads) {
135
- t5 = (threadId_4) => {
136
- setThreads((prev_3) => prev_3.filter((t_3) => t_3.id !== threadId_4));
137
- setMainThreadId((prev_4) => prev_4 === threadId_4 ? threads.find((t_4) => t_4.id !== threadId_4)?.id || "main" : prev_4);
138
- };
139
- $[6] = threads;
140
- $[7] = t5;
141
- } else t5 = $[7];
142
- const handleDelete = t5;
143
- let t6;
144
- if ($[8] !== onSwitchToNewThread) {
145
- t6 = () => {
146
- const newId = `thread-${generateId()}`;
147
- setThreads((prev_5) => [...prev_5, {
148
- id: newId,
149
- title: "New Thread",
150
- status: "regular"
151
- }]);
152
- setMainThreadId(newId);
153
- onSwitchToNewThread?.();
154
- };
155
- $[8] = onSwitchToNewThread;
156
- $[9] = t6;
157
- } else t6 = $[9];
158
- const handleSwitchToNewThread = t6;
159
- let t7;
160
- if ($[10] !== mainThreadId || $[11] !== threadFactory) {
161
- t7 = threadFactory(mainThreadId);
162
- $[10] = mainThreadId;
163
- $[11] = threadFactory;
164
- $[12] = t7;
165
- } else t7 = $[12];
166
- const mainThreadClient = useClientResource(t7);
167
- let t8;
168
- if ($[13] !== handleDelete || $[14] !== handleSwitchToThread || $[15] !== mainThreadClient.state || $[16] !== mainThreadId || $[17] !== threads) {
169
- let t9;
170
- if ($[19] !== handleDelete || $[20] !== handleSwitchToThread || $[21] !== mainThreadClient.state || $[22] !== mainThreadId) {
171
- t9 = (t_5) => withKey(t_5.id, ThreadListItemClient({
172
- data: t_5,
173
- isRunning: t_5.id === mainThreadId && mainThreadClient.state.isRunning,
174
- onSwitchTo: () => handleSwitchToThread(t_5.id),
175
- onRename: (title_0) => handleRename(t_5.id, title_0),
176
- onUpdateCustom: (custom_0) => handleUpdateCustom(t_5.id, custom_0),
177
- onArchive: () => handleArchive(t_5.id),
178
- onUnarchive: () => handleUnarchive(t_5.id),
179
- onDelete: () => handleDelete(t_5.id)
180
- }));
181
- $[19] = handleDelete;
182
- $[20] = handleSwitchToThread;
183
- $[21] = mainThreadClient.state;
184
- $[22] = mainThreadId;
185
- $[23] = t9;
186
- } else t9 = $[23];
187
- t8 = threads.map(t9);
188
- $[13] = handleDelete;
189
- $[14] = handleSwitchToThread;
190
- $[15] = mainThreadClient.state;
191
- $[16] = mainThreadId;
192
- $[17] = threads;
193
- $[18] = t8;
194
- } else t8 = $[18];
195
- const threadListItems = useClientLookup(t8);
196
- let t10;
197
- let t11;
198
- let t12;
199
- let t13;
200
- let t14;
201
- let t15;
202
- let t9;
203
- if ($[24] !== mainThreadId || $[25] !== threads) {
204
- const regularThreads = threads.filter(_temp4);
205
- const archivedThreads = threads.filter(_temp5);
206
- t9 = mainThreadId;
207
- t10 = null;
208
- t11 = false;
209
- t12 = false;
210
- t13 = false;
211
- t14 = regularThreads.map(_temp6);
212
- t15 = archivedThreads.map(_temp7);
213
- $[24] = mainThreadId;
214
- $[25] = threads;
215
- $[26] = t10;
216
- $[27] = t11;
217
- $[28] = t12;
218
- $[29] = t13;
219
- $[30] = t14;
220
- $[31] = t15;
221
- $[32] = t9;
222
- } else {
223
- t10 = $[26];
224
- t11 = $[27];
225
- t12 = $[28];
226
- t13 = $[29];
227
- t14 = $[30];
228
- t15 = $[31];
229
- t9 = $[32];
230
- }
231
- let t16;
232
- if ($[33] !== mainThreadClient.state || $[34] !== t10 || $[35] !== t11 || $[36] !== t12 || $[37] !== t13 || $[38] !== t14 || $[39] !== t15 || $[40] !== t9 || $[41] !== threadListItems.state) {
233
- t16 = {
234
- mainThreadId: t9,
235
- newThreadId: t10,
236
- isLoading: t11,
237
- isLoadingMore: t12,
238
- hasMore: t13,
239
- threadIds: t14,
240
- archivedThreadIds: t15,
241
- threadItems: threadListItems.state,
242
- main: mainThreadClient.state
243
- };
244
- $[33] = mainThreadClient.state;
245
- $[34] = t10;
246
- $[35] = t11;
247
- $[36] = t12;
248
- $[37] = t13;
249
- $[38] = t14;
250
- $[39] = t15;
251
- $[40] = t9;
252
- $[41] = threadListItems.state;
253
- $[42] = t16;
254
- } else t16 = $[42];
255
- const state = t16;
256
- let t17;
257
- if ($[43] !== state) {
258
- t17 = () => state;
259
- $[43] = state;
260
- $[44] = t17;
261
- } else t17 = $[44];
262
- let t18;
263
- if ($[45] !== mainThreadClient.methods) {
264
- t18 = () => mainThreadClient.methods.unstable_refetchThread?.() ?? RESOLVED_PROMISE;
265
- $[45] = mainThreadClient.methods;
266
- $[46] = t18;
267
- } else t18 = $[46];
268
- let t19;
269
- if ($[47] !== mainThreadId || $[48] !== threadListItems || $[49] !== threads) {
270
- t19 = (selector) => {
271
- if (selector === "main") {
272
- const index = threads.findIndex((t_10) => t_10.id === mainThreadId);
273
- return threadListItems.get({ index: index === -1 ? 0 : index });
274
- }
275
- if ("id" in selector) {
276
- const index_0 = threads.findIndex((t_11) => t_11.id === selector.id);
277
- return threadListItems.get({ index: index_0 });
278
- }
279
- return threadListItems.get(selector);
280
- };
281
- $[47] = mainThreadId;
282
- $[48] = threadListItems;
283
- $[49] = threads;
284
- $[50] = t19;
285
- } else t19 = $[50];
286
- let t20;
287
- if ($[51] !== mainThreadClient.methods) {
288
- t20 = () => mainThreadClient.methods;
289
- $[51] = mainThreadClient.methods;
290
- $[52] = t20;
291
- } else t20 = $[52];
292
- let t21;
293
- if ($[53] !== handleSwitchToNewThread || $[54] !== handleSwitchToThread || $[55] !== t17 || $[56] !== t18 || $[57] !== t19 || $[58] !== t20) {
294
- t21 = {
295
- getState: t17,
296
- switchToThread: handleSwitchToThread,
297
- switchToNewThread: handleSwitchToNewThread,
298
- getLoadThreadsPromise: _temp8,
299
- reload: _temp9,
300
- reloadMainThread: t18,
301
- loadMore: _temp0,
302
- item: t19,
303
- thread: t20
304
- };
305
- $[53] = handleSwitchToNewThread;
306
- $[54] = handleSwitchToThread;
307
- $[55] = t17;
308
- $[56] = t18;
309
- $[57] = t19;
310
- $[58] = t20;
311
- $[59] = t21;
312
- } else t21 = $[59];
313
- return t21;
314
- };
315
- const InMemoryThreadList = resource(useInMemoryThreadList);
316
- attachTransformScopes(useInMemoryThreadList, (scopes, parent) => {
317
- scopes.thread ??= Derived({
318
- source: "threads",
319
- query: { type: "main" },
320
- get: (aui) => aui.threads.thread("main")
321
- });
322
- scopes.threadListItem ??= Derived({
323
- source: "threads",
324
- query: { type: "main" },
325
- get: (aui) => aui.threads.item("main")
326
- });
327
- scopes.composer ??= Derived({
328
- source: "thread",
329
- query: {},
330
- get: (aui) => aui.threads.thread("main").composer()
331
- });
332
- if (!scopes.modelContext && parent.modelContext.source === null) scopes.modelContext = ModelContext();
333
- if (!scopes.tools && parent.tools.source === null) scopes.tools = Tools({});
334
- if (!scopes.dataRenderers && parent.dataRenderers.source === null) scopes.dataRenderers = DataRenderers();
335
- if (!scopes.suggestions && parent.suggestions.source === null) scopes.suggestions = Derived({
336
- source: "thread",
337
- query: {},
338
- get: (aui) => aui.thread.suggestions()
339
- });
340
- });
341
- function _temp() {}
342
- function _temp2() {}
343
- function _temp3() {
344
- return [{
345
- id: "main",
346
- title: "Main Thread",
347
- status: "regular"
348
- }];
349
- }
350
- function _temp4(t_6) {
351
- return t_6.status === "regular";
352
- }
353
- function _temp5(t_7) {
354
- return t_7.status === "archived";
355
- }
356
- function _temp6(t_8) {
357
- return t_8.id;
358
- }
359
- function _temp7(t_9) {
360
- return t_9.id;
361
- }
362
- function _temp8() {
363
- return RESOLVED_PROMISE;
364
- }
365
- function _temp9() {
366
- return RESOLVED_PROMISE;
367
- }
368
- function _temp0() {
369
- return RESOLVED_PROMISE;
370
- }
371
- //#endregion
372
- export { InMemoryThreadList };
373
-
374
- //# sourceMappingURL=InMemoryThreadList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryThreadList.js","names":["useState","useMemo","resource","withKey","ResourceElement","ClientOutput","useClientLookup","Derived","attachTransformScopes","useClientResource","generateId","ModelContext","Tools","DataRenderers","RESOLVED_PROMISE","Promise","resolve","InMemoryThreadListProps","thread","threadId","onSwitchToThread","onSwitchToNewThread","ThreadData","id","title","status","custom","Record","useThreadListItemClient","props","$","_c","data","isRunning","onSwitchTo","onRename","onUpdateCustom","onArchive","onUnarchive","onDelete","t0","remoteId","undefined","externalId","state","t1","t2","t3","getState","switchTo","rename","updateCustom","archive","unarchive","delete","generateTitle","_temp","initialize","detach","_temp2","ThreadListItemClient","useInMemoryThreadList","threadFactory","mainThreadId","setMainThreadId","threads","setThreads","_temp3","handleSwitchToThread","Symbol","for","threadId_0","prev","map","t","handleRename","threadId_1","prev_0","t_0","const","handleArchive","threadId_2","prev_1","t_1","handleUnarchive","t4","threadId_3","prev_2","t_2","handleUpdateCustom","t5","threadId_4","prev_3","filter","t_3","prev_4","find","t_4","handleDelete","t6","newId","prev_5","handleSwitchToNewThread","t7","mainThreadClient","t8","t9","t_5","title_0","custom_0","threadListItems","t10","t11","t12","t13","t14","t15","regularThreads","_temp4","archivedThreads","_temp5","_temp6","_temp7","t16","newThreadId","isLoading","isLoadingMore","hasMore","threadIds","archivedThreadIds","threadItems","main","t17","t18","methods","unstable_refetchThread","t19","selector","index","findIndex","t_10","get","index_0","t_11","t20","t21","switchToThread","switchToNewThread","getLoadThreadsPromise","_temp8","reload","_temp9","reloadMainThread","loadMore","_temp0","item","InMemoryThreadList","scopes","parent","source","query","type","aui","threadListItem","composer","modelContext","tools","dataRenderers","suggestions","t_6","t_7","t_8","t_9"],"sources":["../../src/client/InMemoryThreadList.ts"],"sourcesContent":["import { useState, useMemo } from \"react\";\nimport { resource, withKey, type ResourceElement } from \"@assistant-ui/tap\";\nimport {\n type ClientOutput,\n useClientLookup,\n Derived,\n attachTransformScopes,\n useClientResource,\n} from \"@assistant-ui/store\";\nimport { generateId } from \"@assistant-ui/core\";\n\nimport { ModelContext } from \"@assistant-ui/core/store\";\nimport { Tools, DataRenderers } from \"@assistant-ui/core/react\";\n\nconst RESOLVED_PROMISE = Promise.resolve();\n\nexport type InMemoryThreadListProps = {\n thread: (threadId: string) => ResourceElement<ClientOutput<\"thread\">>;\n onSwitchToThread?: (threadId: string) => void;\n onSwitchToNewThread?: () => void;\n};\n\ntype ThreadData = {\n id: string;\n title?: string;\n status: \"regular\" | \"archived\";\n custom?: Record<string, unknown> | undefined;\n};\n\n// ThreadListItem Client\nconst useThreadListItemClient = (props: {\n data: ThreadData;\n isRunning: boolean;\n onSwitchTo: () => void;\n onRename: (title: string) => void;\n onUpdateCustom: (custom: Record<string, unknown> | undefined) => void;\n onArchive: () => void;\n onUnarchive: () => void;\n onDelete: () => void;\n}): ClientOutput<\"threadListItem\"> => {\n const {\n data,\n isRunning,\n onSwitchTo,\n onRename,\n onUpdateCustom,\n onArchive,\n onUnarchive,\n onDelete,\n } = props;\n const state = useMemo(\n () => ({\n id: data.id,\n remoteId: undefined,\n externalId: undefined,\n title: data.title,\n status: data.status,\n custom: data.custom,\n isRunning,\n }),\n [data.id, data.title, data.status, data.custom, isRunning],\n );\n\n return {\n getState: () => state,\n switchTo: onSwitchTo,\n rename: onRename,\n updateCustom: onUpdateCustom,\n archive: onArchive,\n unarchive: onUnarchive,\n delete: onDelete,\n generateTitle: () => {},\n initialize: async () => ({ remoteId: data.id, externalId: undefined }),\n detach: () => {},\n };\n};\n\nconst ThreadListItemClient = resource(useThreadListItemClient);\n\n// InMemoryThreadList Client\nconst useInMemoryThreadList = (\n props: InMemoryThreadListProps,\n): ClientOutput<\"threads\"> => {\n const {\n thread: threadFactory,\n onSwitchToThread,\n onSwitchToNewThread,\n } = props;\n\n const [mainThreadId, setMainThreadId] = useState(\"main\");\n const [threads, setThreads] = useState<readonly ThreadData[]>(() => [\n { id: \"main\", title: \"Main Thread\", status: \"regular\" },\n ]);\n\n const handleSwitchToThread = (threadId: string) => {\n setMainThreadId(threadId);\n onSwitchToThread?.(threadId);\n };\n\n const handleRename = (threadId: string, title: string) => {\n setThreads((prev) =>\n prev.map((t) => (t.id === threadId ? { ...t, title } : t)),\n );\n };\n\n const handleArchive = (threadId: string) => {\n setThreads((prev) =>\n prev.map((t) =>\n t.id === threadId ? { ...t, status: \"archived\" as const } : t,\n ),\n );\n };\n\n const handleUnarchive = (threadId: string) => {\n setThreads((prev) =>\n prev.map((t) =>\n t.id === threadId ? { ...t, status: \"regular\" as const } : t,\n ),\n );\n };\n\n const handleUpdateCustom = (\n threadId: string,\n custom: Record<string, unknown> | undefined,\n ) => {\n setThreads((prev) =>\n prev.map((t) => (t.id === threadId ? { ...t, custom } : t)),\n );\n };\n\n const handleDelete = (threadId: string) => {\n setThreads((prev) => prev.filter((t) => t.id !== threadId));\n setMainThreadId((prev) =>\n prev === threadId\n ? threads.find((t) => t.id !== threadId)?.id || \"main\"\n : prev,\n );\n };\n\n const handleSwitchToNewThread = () => {\n const newId = `thread-${generateId()}`;\n setThreads((prev) => [\n ...prev,\n { id: newId, title: \"New Thread\", status: \"regular\" },\n ]);\n setMainThreadId(newId);\n onSwitchToNewThread?.();\n };\n\n // Only the main thread is mounted, so it is the only thread that can run.\n const mainThreadClient = useClientResource(threadFactory(mainThreadId));\n\n const threadListItems = useClientLookup(\n threads.map((t) =>\n withKey(\n t.id,\n ThreadListItemClient({\n data: t,\n isRunning: t.id === mainThreadId && mainThreadClient.state.isRunning,\n onSwitchTo: () => handleSwitchToThread(t.id),\n onRename: (title) => handleRename(t.id, title),\n onUpdateCustom: (custom) => handleUpdateCustom(t.id, custom),\n onArchive: () => handleArchive(t.id),\n onUnarchive: () => handleUnarchive(t.id),\n onDelete: () => handleDelete(t.id),\n }),\n ),\n ),\n );\n\n const state = useMemo(() => {\n const regularThreads = threads.filter((t) => t.status === \"regular\");\n const archivedThreads = threads.filter((t) => t.status === \"archived\");\n\n return {\n mainThreadId,\n newThreadId: null,\n isLoading: false,\n isLoadingMore: false,\n hasMore: false,\n threadIds: regularThreads.map((t) => t.id),\n archivedThreadIds: archivedThreads.map((t) => t.id),\n threadItems: threadListItems.state,\n main: mainThreadClient.state,\n };\n }, [mainThreadId, threads, threadListItems.state, mainThreadClient.state]);\n\n return {\n getState: () => state,\n switchToThread: handleSwitchToThread,\n switchToNewThread: handleSwitchToNewThread,\n getLoadThreadsPromise: () => RESOLVED_PROMISE,\n reload: () => RESOLVED_PROMISE,\n reloadMainThread: () =>\n mainThreadClient.methods.unstable_refetchThread?.() ?? RESOLVED_PROMISE,\n loadMore: () => RESOLVED_PROMISE,\n item: (selector) => {\n if (selector === \"main\") {\n const index = threads.findIndex((t) => t.id === mainThreadId);\n return threadListItems.get({ index: index === -1 ? 0 : index });\n }\n if (\"id\" in selector) {\n const index = threads.findIndex((t) => t.id === selector.id);\n return threadListItems.get({ index });\n }\n return threadListItems.get(selector);\n },\n thread: () => mainThreadClient.methods,\n };\n};\n\nexport const InMemoryThreadList = resource(useInMemoryThreadList);\n\nattachTransformScopes(useInMemoryThreadList, (scopes, parent) => {\n scopes.thread ??= Derived({\n source: \"threads\",\n query: { type: \"main\" },\n get: (aui) => aui.threads.thread(\"main\"),\n });\n scopes.threadListItem ??= Derived({\n source: \"threads\",\n query: { type: \"main\" },\n get: (aui) => aui.threads.item(\"main\"),\n });\n scopes.composer ??= Derived({\n source: \"thread\",\n query: {},\n get: (aui) => aui.threads.thread(\"main\").composer(),\n });\n\n if (!scopes.modelContext && parent.modelContext.source === null) {\n scopes.modelContext = ModelContext();\n }\n if (!scopes.tools && parent.tools.source === null) {\n scopes.tools = Tools({});\n }\n if (!scopes.dataRenderers && parent.dataRenderers.source === null) {\n scopes.dataRenderers = DataRenderers();\n }\n if (!scopes.suggestions && parent.suggestions.source === null) {\n scopes.suggestions = Derived({\n source: \"thread\",\n query: {},\n get: (aui) => aui.thread.suggestions(),\n });\n }\n});\n"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- //#region src/context/react/utils/ensureBinding.d.ts
2
- declare const ensureBinding: (r: unknown) => void;
3
- //#endregion
4
- export { ensureBinding };
5
- //# sourceMappingURL=ensureBinding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureBinding.d.ts","names":[],"sources":["../../../../src/context/react/utils/ensureBinding.ts"],"mappings":";cAmCa,gBAAiB"}
@@ -1,24 +0,0 @@
1
- //#region src/context/react/utils/ensureBinding.ts
2
- const debugVerifyPrototype = (runtime, prototype) => {
3
- const unboundMethods = Object.getOwnPropertyNames(prototype).filter((methodStr) => {
4
- const descriptor = Object.getOwnPropertyDescriptor(prototype, methodStr);
5
- const isMethod = descriptor && typeof descriptor.value === "function";
6
- if (!isMethod) return false;
7
- const methodName = methodStr;
8
- return isMethod && !methodName.startsWith("_") && methodName !== "constructor" && prototype[methodName] === runtime[methodName];
9
- });
10
- if (unboundMethods.length > 0) throw new Error(`The following methods are not bound: ${JSON.stringify(unboundMethods)}`);
11
- const prototypePrototype = Object.getPrototypeOf(prototype);
12
- if (prototypePrototype && prototypePrototype !== Object.prototype) debugVerifyPrototype(runtime, prototypePrototype);
13
- };
14
- const ensureBinding = (r) => {
15
- const runtime = r;
16
- if (runtime.__isBound) return;
17
- runtime.__internal_bindMethods?.();
18
- runtime.__isBound = true;
19
- if (process.env.NODE_ENV !== "production") debugVerifyPrototype(runtime, Object.getPrototypeOf(runtime));
20
- };
21
- //#endregion
22
- export { ensureBinding };
23
-
24
- //# sourceMappingURL=ensureBinding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureBinding.js","names":["Bindable","__internal_bindMethods","__isBound","debugVerifyPrototype","runtime","Record","prototype","unboundMethods","Object","getOwnPropertyNames","filter","methodStr","descriptor","getOwnPropertyDescriptor","isMethod","value","methodName","startsWith","length","Error","JSON","stringify","prototypePrototype","getPrototypeOf","ensureBinding","r","process","env","NODE_ENV"],"sources":["../../../../src/context/react/utils/ensureBinding.ts"],"sourcesContent":["type Bindable = {\n __internal_bindMethods?: () => void;\n __isBound?: boolean;\n};\nconst debugVerifyPrototype = (\n runtime: Record<string, unknown>,\n prototype: any,\n) => {\n const unboundMethods = Object.getOwnPropertyNames(prototype).filter(\n (methodStr) => {\n const descriptor = Object.getOwnPropertyDescriptor(prototype, methodStr);\n const isMethod = descriptor && typeof descriptor.value === \"function\";\n if (!isMethod) return false;\n\n const methodName = methodStr as keyof typeof runtime | \"constructor\";\n return (\n isMethod &&\n !methodName.startsWith(\"_\") &&\n methodName !== \"constructor\" &&\n prototype[methodName] === runtime[methodName]\n );\n },\n );\n\n if (unboundMethods.length > 0) {\n throw new Error(\n `The following methods are not bound: ${JSON.stringify(unboundMethods)}`,\n );\n }\n\n const prototypePrototype = Object.getPrototypeOf(prototype);\n if (prototypePrototype && prototypePrototype !== Object.prototype) {\n debugVerifyPrototype(runtime, prototypePrototype);\n }\n};\nexport const ensureBinding = (r: unknown) => {\n const runtime = r as Bindable;\n if (runtime.__isBound) return;\n\n runtime.__internal_bindMethods?.();\n runtime.__isBound = true;\n\n if (process.env.NODE_ENV !== \"production\") {\n debugVerifyPrototype(runtime, Object.getPrototypeOf(runtime));\n }\n};\n"],"mappings":";AAIA,MAAMG,wBACJC,SACAE,cACG;CACH,MAAMC,iBAAiBC,OAAOC,oBAAoBH,SAAS,CAAC,CAACI,QAC1DC,cAAc;EACb,MAAMC,aAAaJ,OAAOK,yBAAyBP,WAAWK,SAAS;EACvE,MAAMG,WAAWF,cAAc,OAAOA,WAAWG,UAAU;EAC3D,IAAI,CAACD,UAAU,OAAO;EAEtB,MAAME,aAAaL;EACnB,OACEG,YACA,CAACE,WAAWC,WAAW,GAAG,KAC1BD,eAAe,iBACfV,UAAUU,gBAAgBZ,QAAQY;CAEtC,CACF;CAEA,IAAIT,eAAeW,SAAS,GAC1B,MAAM,IAAIC,MACR,wCAAwCC,KAAKC,UAAUd,cAAc,GACvE;CAGF,MAAMe,qBAAqBd,OAAOe,eAAejB,SAAS;CAC1D,IAAIgB,sBAAsBA,uBAAuBd,OAAOF,WACtDH,qBAAqBC,SAASkB,kBAAkB;AAEpD;AACA,MAAaE,iBAAiBC,MAAe;CAC3C,MAAMrB,UAAUqB;CAChB,IAAIrB,QAAQF,WAAW;CAEvBE,QAAQH,yBAAyB;CACjCG,QAAQF,YAAY;CAEpB,IAAIwB,QAAQC,IAAIC,aAAa,cAC3BzB,qBAAqBC,SAASI,OAAOe,eAAenB,OAAO,CAAC;AAEhE"}
@@ -1,13 +0,0 @@
1
- import { Unsubscribe } from "@assistant-ui/core";
2
- //#region src/context/react/utils/useRuntimeState.d.ts
3
- type SubscribableRuntime<TState> = {
4
- getState: () => TState;
5
- subscribe: (callback: () => void) => Unsubscribe;
6
- };
7
- declare function useRuntimeStateInternal<TState, TSelected>(runtime: SubscribableRuntime<TState>, selector?: ((state: TState) => TSelected | TState) | undefined): TSelected | TState;
8
- declare function useRuntimeState<TState>(runtime: SubscribableRuntime<TState>): TState;
9
- declare function useRuntimeState<TState, TSelected>(runtime: SubscribableRuntime<TState>, selector: (state: TState) => TSelected): TSelected;
10
- declare function useRuntimeState<TState, TSelected>(runtime: SubscribableRuntime<TState>, selector: ((state: TState) => TSelected) | undefined): TSelected | TState;
11
- //#endregion
12
- export { SubscribableRuntime, useRuntimeState, useRuntimeStateInternal };
13
- //# sourceMappingURL=useRuntimeState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRuntimeState.d.ts","names":[],"sources":["../../../../src/context/react/utils/useRuntimeState.ts"],"mappings":";;KAIY,oBAAoB;EAC9B,gBAAgB;EAChB,YAAY,yBAAyB;;iBAGvB,wBAAwB,QAAQ,WAC9C,SAAS,oBAAoB,SAC7B,aAAY,OAAO,WAAW,YAAY,sBACzC,YAAY;iBAcC,gBAAgB,QAC9B,SAAS,oBAAoB,UAC5B;iBACa,gBAAgB,QAAQ,WACtC,SAAS,oBAAoB,SAC7B,WAAW,OAAO,WAAW,YAC5B;iBACa,gBAAgB,QAAQ,WACtC,SAAS,oBAAoB,SAC7B,YAAY,OAAO,WAAW,yBAC7B,YAAY"}