@assistant-ui/react 0.10.8 → 0.10.10

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 (91) hide show
  1. package/dist/api/ComposerRuntime.d.ts +46 -0
  2. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  3. package/dist/api/ComposerRuntime.js.map +1 -1
  4. package/dist/api/ThreadListItemRuntime.d.ts +5 -0
  5. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
  6. package/dist/api/ThreadListItemRuntime.js +5 -0
  7. package/dist/api/ThreadListItemRuntime.js.map +1 -1
  8. package/dist/cloud/auiV0.d.ts +1 -0
  9. package/dist/cloud/auiV0.d.ts.map +1 -1
  10. package/dist/cloud/auiV0.js.map +1 -1
  11. package/dist/primitives/composer/ComposerInput.d.ts +2 -0
  12. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  13. package/dist/primitives/composer/ComposerInput.js +19 -1
  14. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  15. package/dist/primitives/error/ErrorMessage.d.ts +10 -0
  16. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -0
  17. package/dist/primitives/error/ErrorMessage.js +19 -0
  18. package/dist/primitives/error/ErrorMessage.js.map +1 -0
  19. package/dist/primitives/error/ErrorRoot.d.ts +10 -0
  20. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -0
  21. package/dist/primitives/error/ErrorRoot.js +14 -0
  22. package/dist/primitives/error/ErrorRoot.js.map +1 -0
  23. package/dist/primitives/error/index.d.ts +3 -0
  24. package/dist/primitives/error/index.d.ts.map +1 -0
  25. package/dist/primitives/error/index.js +8 -0
  26. package/dist/primitives/error/index.js.map +1 -0
  27. package/dist/primitives/index.d.ts +1 -0
  28. package/dist/primitives/index.d.ts.map +1 -1
  29. package/dist/primitives/index.js +2 -0
  30. package/dist/primitives/index.js.map +1 -1
  31. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  32. package/dist/primitives/message/MessageContent.js +10 -3
  33. package/dist/primitives/message/MessageContent.js.map +1 -1
  34. package/dist/primitives/message/MessageError.d.ts +3 -0
  35. package/dist/primitives/message/MessageError.d.ts.map +1 -0
  36. package/dist/primitives/message/MessageError.js +16 -0
  37. package/dist/primitives/message/MessageError.js.map +1 -0
  38. package/dist/primitives/message/index.d.ts +1 -0
  39. package/dist/primitives/message/index.d.ts.map +1 -1
  40. package/dist/primitives/message/index.js +2 -0
  41. package/dist/primitives/message/index.js.map +1 -1
  42. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +1 -0
  43. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
  44. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +1 -0
  45. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  46. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +2 -0
  47. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  48. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
  49. package/dist/runtimes/external-store/external-message-converter.js +3 -0
  50. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  51. package/dist/runtimes/local/ChatModelAdapter.d.ts +1 -0
  52. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  53. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +1 -0
  54. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
  55. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +3 -0
  56. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  57. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +1 -0
  58. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  59. package/dist/runtimes/local/LocalThreadRuntimeCore.js +6 -1
  60. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  61. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  62. package/dist/runtimes/local/useLocalRuntime.js +5 -0
  63. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  64. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  65. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  66. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +1 -0
  67. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  68. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +10 -0
  69. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/api/ComposerRuntime.ts +54 -0
  72. package/src/api/ThreadListItemRuntime.ts +12 -0
  73. package/src/cloud/auiV0.ts +2 -4
  74. package/src/primitives/composer/ComposerInput.tsx +22 -0
  75. package/src/primitives/error/ErrorMessage.tsx +31 -0
  76. package/src/primitives/error/ErrorRoot.tsx +18 -0
  77. package/src/primitives/error/index.ts +2 -0
  78. package/src/primitives/index.ts +1 -0
  79. package/src/primitives/message/MessageContent.tsx +16 -4
  80. package/src/primitives/message/MessageError.tsx +13 -0
  81. package/src/primitives/message/index.ts +1 -0
  82. package/src/runtimes/core/ThreadListRuntimeCore.tsx +1 -0
  83. package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +4 -0
  84. package/src/runtimes/external-store/external-message-converter.tsx +4 -0
  85. package/src/runtimes/local/ChatModelAdapter.tsx +1 -0
  86. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +4 -0
  87. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +9 -1
  88. package/src/runtimes/local/useLocalRuntime.tsx +6 -0
  89. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +2 -0
  90. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +15 -1
  91. package/src/tests/MessageRepository.test.ts +1 -0
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react-hooks/rules-of-hooks */
1
2
  "use client";
2
3
 
3
4
  import {
@@ -138,6 +139,7 @@ export class RemoteThreadListHookInstanceManager extends BaseSubscribable {
138
139
  private _OuterActiveThreadProvider: FC<{
139
140
  threadId: string;
140
141
  provider: ComponentType<PropsWithChildren>;
142
+ // eslint-disable-next-line react/display-name
141
143
  }> = memo(({ threadId, provider: Provider }) => {
142
144
  const assistantRuntime = useAssistantRuntime();
143
145
  const threadListItemRuntime = useMemo(
@@ -465,7 +465,9 @@ export class RemoteThreadListThreadListRuntimeCore
465
465
  }
466
466
 
467
467
  private async _ensureThreadIsNotMain(threadId: string) {
468
- // if thread is main thread, switch to another thread
468
+ if (threadId === this.newThreadId)
469
+ throw new Error("Cannot ensure new thread is not main");
470
+
469
471
  if (threadId === this._mainThreadId) {
470
472
  await this.switchToNewThread();
471
473
  }
@@ -528,10 +530,22 @@ export class RemoteThreadListThreadListRuntimeCore
528
530
  });
529
531
  }
530
532
 
533
+ public async detach(threadIdOrRemoteId: string): Promise<void> {
534
+ const data = this.getItemById(threadIdOrRemoteId);
535
+ if (!data) throw new Error("Thread not found");
536
+ if (data.status !== "regular" && data.status !== "archived")
537
+ throw new Error("Thread is not yet initialized");
538
+
539
+ await this._ensureThreadIsNotMain(data.threadId);
540
+ this._hookManager.stopThreadRuntime(data.threadId);
541
+ }
542
+
531
543
  private useBoundIds = create<string[]>(() => []);
532
544
 
533
545
  public __internal_RenderComponent: FC = () => {
546
+ // eslint-disable-next-line react-hooks/rules-of-hooks
534
547
  const id = useId();
548
+ // eslint-disable-next-line react-hooks/rules-of-hooks
535
549
  useEffect(() => {
536
550
  this.useBoundIds.setState((s) => [...s, id], true);
537
551
  return () => {
@@ -44,6 +44,7 @@ describe("MessageRepository", () => {
44
44
  content: [{ type: "text", text: "Test message" }],
45
45
  status: { type: "complete", reason: "stop" },
46
46
  metadata: {
47
+ unstable_state: null,
47
48
  unstable_annotations: [],
48
49
  unstable_data: [],
49
50
  steps: [],