@assistant-ui/react 0.7.64 → 0.7.66

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 (130) hide show
  1. package/dist/api/ThreadListItemRuntime.d.ts +2 -0
  2. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
  3. package/dist/api/ThreadListItemRuntime.js +5 -0
  4. package/dist/api/ThreadListItemRuntime.js.map +1 -1
  5. package/dist/api/ThreadListItemRuntime.mjs +5 -0
  6. package/dist/api/ThreadListItemRuntime.mjs.map +1 -1
  7. package/dist/cloud/AssistantCloudThreads.d.ts +1 -1
  8. package/dist/cloud/AssistantCloudThreads.d.ts.map +1 -1
  9. package/dist/cloud/AssistantCloudThreads.js.map +1 -1
  10. package/dist/cloud/AssistantCloudThreads.mjs.map +1 -1
  11. package/dist/cloud/useCloudThreadListRuntime.d.ts +1 -1
  12. package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  13. package/dist/cloud/useCloudThreadListRuntime.js +8 -83
  14. package/dist/cloud/useCloudThreadListRuntime.js.map +1 -1
  15. package/dist/cloud/useCloudThreadListRuntime.mjs +8 -89
  16. package/dist/cloud/useCloudThreadListRuntime.mjs.map +1 -1
  17. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts +1 -2
  18. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  19. package/dist/primitives/thread/useThreadViewportAutoScroll.js +4 -6
  20. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  21. package/dist/primitives/thread/useThreadViewportAutoScroll.mjs +4 -6
  22. package/dist/primitives/thread/useThreadViewportAutoScroll.mjs.map +1 -1
  23. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +1 -0
  24. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
  25. package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -1
  26. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts +1 -1
  27. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts.map +1 -1
  28. package/dist/runtimes/edge/EdgeChatAdapter.d.ts +22 -3
  29. package/dist/runtimes/edge/EdgeChatAdapter.d.ts.map +1 -1
  30. package/dist/runtimes/edge/EdgeChatAdapter.js +44 -13
  31. package/dist/runtimes/edge/EdgeChatAdapter.js.map +1 -1
  32. package/dist/runtimes/edge/EdgeChatAdapter.mjs +34 -13
  33. package/dist/runtimes/edge/EdgeChatAdapter.mjs.map +1 -1
  34. package/dist/runtimes/edge/useEdgeRuntime.d.ts +1 -1
  35. package/dist/runtimes/edge/useEdgeRuntime.d.ts.map +1 -1
  36. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +1 -0
  37. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  38. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +3 -0
  39. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  40. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs +3 -0
  41. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -1
  42. package/dist/runtimes/local/ChatModelAdapter.d.ts +1 -0
  43. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  44. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  45. package/dist/runtimes/local/LocalRuntimeOptions.d.ts +4 -1
  46. package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
  47. package/dist/runtimes/local/LocalRuntimeOptions.js +2 -0
  48. package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
  49. package/dist/runtimes/local/LocalRuntimeOptions.mjs +2 -0
  50. package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
  51. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +21 -31
  52. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
  53. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +43 -147
  54. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  55. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +43 -147
  56. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -1
  57. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  58. package/dist/runtimes/local/LocalThreadRuntimeCore.js +4 -1
  59. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  60. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +4 -1
  61. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  62. package/dist/runtimes/local/useLocalRuntime.d.ts +1 -1
  63. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  64. package/dist/runtimes/local/useLocalRuntime.js +10 -1
  65. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  66. package/dist/runtimes/local/useLocalRuntime.mjs +10 -1
  67. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  68. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  69. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +4 -0
  70. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  71. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs +4 -0
  72. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs.map +1 -1
  73. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +6 -6
  74. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  75. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +25 -23
  76. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  77. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +25 -23
  78. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
  79. package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts +13 -0
  80. package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -0
  81. package/dist/runtimes/remote-thread-list/adapter/cloud.js +96 -0
  82. package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -0
  83. package/dist/runtimes/remote-thread-list/adapter/cloud.mjs +76 -0
  84. package/dist/runtimes/remote-thread-list/adapter/cloud.mjs.map +1 -0
  85. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +12 -0
  86. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -0
  87. package/dist/runtimes/remote-thread-list/adapter/in-memory.js +58 -0
  88. package/dist/runtimes/remote-thread-list/adapter/in-memory.js.map +1 -0
  89. package/dist/runtimes/remote-thread-list/adapter/in-memory.mjs +35 -0
  90. package/dist/runtimes/remote-thread-list/adapter/in-memory.mjs.map +1 -0
  91. package/dist/runtimes/remote-thread-list/index.d.ts +2 -1
  92. package/dist/runtimes/remote-thread-list/index.d.ts.map +1 -1
  93. package/dist/runtimes/remote-thread-list/index.js +3 -0
  94. package/dist/runtimes/remote-thread-list/index.js.map +1 -1
  95. package/dist/runtimes/remote-thread-list/index.mjs +2 -0
  96. package/dist/runtimes/remote-thread-list/index.mjs.map +1 -1
  97. package/dist/runtimes/remote-thread-list/types.d.ts +6 -6
  98. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  99. package/dist/runtimes/remote-thread-list/types.js.map +1 -1
  100. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts +2 -2
  101. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +7 -7
  102. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  103. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +7 -7
  104. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  105. package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
  106. package/dist/utils/hooks/useOnResizeContent.js +7 -17
  107. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  108. package/dist/utils/hooks/useOnResizeContent.mjs +7 -17
  109. package/dist/utils/hooks/useOnResizeContent.mjs.map +1 -1
  110. package/package.json +1 -1
  111. package/src/api/ThreadListItemRuntime.ts +8 -0
  112. package/src/cloud/AssistantCloudThreads.tsx +1 -1
  113. package/src/cloud/useCloudThreadListRuntime.tsx +8 -110
  114. package/src/primitives/thread/useThreadViewportAutoScroll.tsx +3 -8
  115. package/src/runtimes/core/ThreadListRuntimeCore.tsx +1 -0
  116. package/src/runtimes/edge/EdgeChatAdapter.ts +90 -19
  117. package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +4 -0
  118. package/src/runtimes/local/ChatModelAdapter.tsx +1 -0
  119. package/src/runtimes/local/LocalRuntimeOptions.tsx +4 -0
  120. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +47 -190
  121. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +3 -0
  122. package/src/runtimes/local/useLocalRuntime.tsx +15 -2
  123. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +7 -0
  124. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +27 -28
  125. package/src/runtimes/remote-thread-list/adapter/cloud.tsx +99 -0
  126. package/src/runtimes/remote-thread-list/adapter/in-memory.tsx +43 -0
  127. package/src/runtimes/remote-thread-list/index.ts +3 -4
  128. package/src/runtimes/remote-thread-list/types.tsx +10 -12
  129. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +8 -8
  130. package/src/utils/hooks/useOnResizeContent.tsx +7 -21
@@ -0,0 +1,58 @@
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/runtimes/remote-thread-list/adapter/in-memory.tsx
21
+ var in_memory_exports = {};
22
+ __export(in_memory_exports, {
23
+ InMemoryThreadListAdapter: () => InMemoryThreadListAdapter
24
+ });
25
+ module.exports = __toCommonJS(in_memory_exports);
26
+ var import_assistant_stream = require("@assistant-ui/assistant-stream.js");
27
+ var InMemoryThreadListAdapter = class {
28
+ list() {
29
+ return Promise.resolve({
30
+ threads: []
31
+ });
32
+ }
33
+ rename() {
34
+ return Promise.resolve();
35
+ }
36
+ archive() {
37
+ return Promise.resolve();
38
+ }
39
+ unarchive() {
40
+ return Promise.resolve();
41
+ }
42
+ delete() {
43
+ return Promise.resolve();
44
+ }
45
+ initialize(threadId) {
46
+ return Promise.resolve({ remoteId: threadId, externalId: void 0 });
47
+ }
48
+ generateTitle() {
49
+ return Promise.resolve(
50
+ new import_assistant_stream.AssistantStream(new ReadableStream())
51
+ );
52
+ }
53
+ };
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ InMemoryThreadListAdapter
57
+ });
58
+ //# sourceMappingURL=in-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/adapter/in-memory.tsx"],"sourcesContent":["import {\n AssistantStream,\n AssistantStreamChunk,\n} from \"@assistant-ui/assistant-stream\";\nimport {\n RemoteThreadInitializeResponse,\n RemoteThreadListAdapter,\n RemoteThreadListResponse,\n} from \"../types\";\n\nexport class InMemoryThreadListAdapter implements RemoteThreadListAdapter {\n list(): Promise<RemoteThreadListResponse> {\n return Promise.resolve({\n threads: [],\n });\n }\n\n rename(): Promise<void> {\n return Promise.resolve();\n }\n\n archive(): Promise<void> {\n return Promise.resolve();\n }\n\n unarchive(): Promise<void> {\n return Promise.resolve();\n }\n\n delete(): Promise<void> {\n return Promise.resolve();\n }\n\n initialize(threadId: string): Promise<RemoteThreadInitializeResponse> {\n return Promise.resolve({ remoteId: threadId, externalId: undefined });\n }\n\n generateTitle(): Promise<AssistantStream> {\n return Promise.resolve(\n new AssistantStream(new ReadableStream<AssistantStreamChunk>()),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAGO;AAOA,IAAM,4BAAN,MAAmE;AAAA,EACxE,OAA0C;AACxC,WAAO,QAAQ,QAAQ;AAAA,MACrB,SAAS,CAAC;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,SAAwB;AACtB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,UAAyB;AACvB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,YAA2B;AACzB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,SAAwB;AACtB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAW,UAA2D;AACpE,WAAO,QAAQ,QAAQ,EAAE,UAAU,UAAU,YAAY,OAAU,CAAC;AAAA,EACtE;AAAA,EAEA,gBAA0C;AACxC,WAAO,QAAQ;AAAA,MACb,IAAI,wCAAgB,IAAI,eAAqC,CAAC;AAAA,IAChE;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,35 @@
1
+ // src/runtimes/remote-thread-list/adapter/in-memory.tsx
2
+ import {
3
+ AssistantStream
4
+ } from "@assistant-ui/assistant-stream.mjs";
5
+ var InMemoryThreadListAdapter = class {
6
+ list() {
7
+ return Promise.resolve({
8
+ threads: []
9
+ });
10
+ }
11
+ rename() {
12
+ return Promise.resolve();
13
+ }
14
+ archive() {
15
+ return Promise.resolve();
16
+ }
17
+ unarchive() {
18
+ return Promise.resolve();
19
+ }
20
+ delete() {
21
+ return Promise.resolve();
22
+ }
23
+ initialize(threadId) {
24
+ return Promise.resolve({ remoteId: threadId, externalId: void 0 });
25
+ }
26
+ generateTitle() {
27
+ return Promise.resolve(
28
+ new AssistantStream(new ReadableStream())
29
+ );
30
+ }
31
+ };
32
+ export {
33
+ InMemoryThreadListAdapter
34
+ };
35
+ //# sourceMappingURL=in-memory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/adapter/in-memory.tsx"],"sourcesContent":["import {\n AssistantStream,\n AssistantStreamChunk,\n} from \"@assistant-ui/assistant-stream\";\nimport {\n RemoteThreadInitializeResponse,\n RemoteThreadListAdapter,\n RemoteThreadListResponse,\n} from \"../types\";\n\nexport class InMemoryThreadListAdapter implements RemoteThreadListAdapter {\n list(): Promise<RemoteThreadListResponse> {\n return Promise.resolve({\n threads: [],\n });\n }\n\n rename(): Promise<void> {\n return Promise.resolve();\n }\n\n archive(): Promise<void> {\n return Promise.resolve();\n }\n\n unarchive(): Promise<void> {\n return Promise.resolve();\n }\n\n delete(): Promise<void> {\n return Promise.resolve();\n }\n\n initialize(threadId: string): Promise<RemoteThreadInitializeResponse> {\n return Promise.resolve({ remoteId: threadId, externalId: undefined });\n }\n\n generateTitle(): Promise<AssistantStream> {\n return Promise.resolve(\n new AssistantStream(new ReadableStream<AssistantStreamChunk>()),\n );\n }\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,OAEK;AAOA,IAAM,4BAAN,MAAmE;AAAA,EACxE,OAA0C;AACxC,WAAO,QAAQ,QAAQ;AAAA,MACrB,SAAS,CAAC;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,SAAwB;AACtB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,UAAyB;AACvB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,YAA2B;AACzB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,SAAwB;AACtB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAW,UAA2D;AACpE,WAAO,QAAQ,QAAQ,EAAE,UAAU,UAAU,YAAY,OAAU,CAAC;AAAA,EACtE;AAAA,EAEA,gBAA0C;AACxC,WAAO,QAAQ;AAAA,MACb,IAAI,gBAAgB,IAAI,eAAqC,CAAC;AAAA,IAChE;AAAA,EACF;AACF;","names":[]}
@@ -1,3 +1,4 @@
1
1
  export { useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime } from "./useRemoteThreadListRuntime";
2
- export type { RemoteThreadListAdapter as unstable_RemoteThreadListAdapter, RemoteThreadListSubscriber as unstable_RemoteThreadListSubscriber, } from "./types";
2
+ export type { RemoteThreadListAdapter as unstable_RemoteThreadListAdapter } from "./types";
3
+ export { InMemoryThreadListAdapter as unstable_InMemoryThreadListAdapter } from "./adapter/in-memory";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/remote-thread-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,IAAI,mCAAmC,EAAE,MAAM,8BAA8B,CAAC;AACjH,YAAY,EACV,uBAAuB,IAAI,gCAAgC,EAC3D,0BAA0B,IAAI,mCAAmC,GAClE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/remote-thread-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,IAAI,mCAAmC,EAAE,MAAM,8BAA8B,CAAC;AACjH,YAAY,EAAE,uBAAuB,IAAI,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,MAAM,qBAAqB,CAAC"}
@@ -20,12 +20,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/runtimes/remote-thread-list/index.ts
21
21
  var remote_thread_list_exports = {};
22
22
  __export(remote_thread_list_exports, {
23
+ unstable_InMemoryThreadListAdapter: () => import_in_memory.InMemoryThreadListAdapter,
23
24
  unstable_useRemoteThreadListRuntime: () => import_useRemoteThreadListRuntime.useRemoteThreadListRuntime
24
25
  });
25
26
  module.exports = __toCommonJS(remote_thread_list_exports);
26
27
  var import_useRemoteThreadListRuntime = require("./useRemoteThreadListRuntime.js");
28
+ var import_in_memory = require("./adapter/in-memory.js");
27
29
  // Annotate the CommonJS export names for ESM import in node:
28
30
  0 && (module.exports = {
31
+ unstable_InMemoryThreadListAdapter,
29
32
  unstable_useRemoteThreadListRuntime
30
33
  });
31
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/remote-thread-list/index.ts"],"sourcesContent":["export { useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime } from \"./useRemoteThreadListRuntime\";\nexport type {\n RemoteThreadListAdapter as unstable_RemoteThreadListAdapter,\n RemoteThreadListSubscriber as unstable_RemoteThreadListSubscriber,\n} from \"./types\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAkF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/remote-thread-list/index.ts"],"sourcesContent":["export { useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime } from \"./useRemoteThreadListRuntime\";\nexport type { RemoteThreadListAdapter as unstable_RemoteThreadListAdapter } from \"./types\";\n\nexport { InMemoryThreadListAdapter as unstable_InMemoryThreadListAdapter } from \"./adapter/in-memory\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAkF;AAGlF,uBAAgF;","names":[]}
@@ -1,6 +1,8 @@
1
1
  // src/runtimes/remote-thread-list/index.ts
2
2
  import { useRemoteThreadListRuntime } from "./useRemoteThreadListRuntime.mjs";
3
+ import { InMemoryThreadListAdapter } from "./adapter/in-memory.mjs";
3
4
  export {
5
+ InMemoryThreadListAdapter as unstable_InMemoryThreadListAdapter,
4
6
  useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime
5
7
  };
6
8
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/remote-thread-list/index.ts"],"sourcesContent":["export { useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime } from \"./useRemoteThreadListRuntime\";\nexport type {\n RemoteThreadListAdapter as unstable_RemoteThreadListAdapter,\n RemoteThreadListSubscriber as unstable_RemoteThreadListSubscriber,\n} from \"./types\";\n"],"mappings":";AAAA,SAAuC,kCAA2C;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/remote-thread-list/index.ts"],"sourcesContent":["export { useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime } from \"./useRemoteThreadListRuntime\";\nexport type { RemoteThreadListAdapter as unstable_RemoteThreadListAdapter } from \"./types\";\n\nexport { InMemoryThreadListAdapter as unstable_InMemoryThreadListAdapter } from \"./adapter/in-memory\";\n"],"mappings":";AAAA,SAAuC,kCAA2C;AAGlF,SAAsC,iCAA0C;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import { ComponentType, PropsWithChildren } from "react";
2
2
  import { AssistantRuntime } from "../../api";
3
- import { Unsubscribe } from "../../types";
4
3
  import { AssistantStream } from "assistant-stream";
4
+ import { ThreadMessage } from "../../types";
5
5
  export type RemoteThreadInitializeResponse = {
6
6
  remoteId: string;
7
7
  externalId: string | undefined;
@@ -15,18 +15,18 @@ export type RemoteThreadMetadata = {
15
15
  export type RemoteThreadListResponse = {
16
16
  threads: RemoteThreadMetadata[];
17
17
  };
18
- export type RemoteThreadListSubscriber = {
19
- onGenerateTitle: (threadId: string, begin: () => Promise<AssistantStream>) => void;
20
- };
21
18
  export type RemoteThreadListAdapter = {
22
- runtimeHook: () => AssistantRuntime;
23
19
  list(): Promise<RemoteThreadListResponse>;
24
20
  rename(remoteId: string, newTitle: string): Promise<void>;
25
21
  archive(remoteId: string): Promise<void>;
26
22
  unarchive(remoteId: string): Promise<void>;
27
23
  delete(remoteId: string): Promise<void>;
28
24
  initialize(threadId: string): Promise<RemoteThreadInitializeResponse>;
29
- subscribe?(subscriber: RemoteThreadListSubscriber): Unsubscribe;
25
+ generateTitle(remoteId: string, unstable_messages: readonly ThreadMessage[]): Promise<AssistantStream>;
30
26
  unstable_Provider?: ComponentType<PropsWithChildren>;
31
27
  };
28
+ export type RemoteThreadListOptions = {
29
+ runtimeHook: () => AssistantRuntime;
30
+ adapter: RemoteThreadListAdapter;
31
+ };
32
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtimes/remote-thread-list/types.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,KAClC,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,gBAAgB,CAAC;IAEpC,IAAI,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAE1C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAEtE,SAAS,CAAC,CAAC,UAAU,EAAE,0BAA0B,GAAG,WAAW,CAAC;IAEhE,iBAAiB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACtD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtimes/remote-thread-list/types.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAE1C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACtE,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,SAAS,aAAa,EAAE,GAC1C,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,iBAAiB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,gBAAgB,CAAC;IACpC,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/remote-thread-list/types.tsx"],"sourcesContent":["import { ComponentType, PropsWithChildren } from \"react\";\nimport { AssistantRuntime } from \"../../api\";\nimport { Unsubscribe } from \"../../types\";\nimport { AssistantStream } from \"assistant-stream\";\n\nexport type RemoteThreadInitializeResponse = {\n remoteId: string;\n externalId: string | undefined;\n};\n\nexport type RemoteThreadMetadata = {\n readonly status: \"regular\" | \"archived\";\n readonly remoteId: string;\n readonly externalId?: string | undefined;\n readonly title?: string | undefined;\n};\n\nexport type RemoteThreadListResponse = {\n threads: RemoteThreadMetadata[];\n};\n\nexport type RemoteThreadListSubscriber = {\n onGenerateTitle: (\n threadId: string,\n begin: () => Promise<AssistantStream>,\n ) => void;\n};\n\nexport type RemoteThreadListAdapter = {\n runtimeHook: () => AssistantRuntime;\n\n list(): Promise<RemoteThreadListResponse>;\n\n rename(remoteId: string, newTitle: string): Promise<void>;\n archive(remoteId: string): Promise<void>;\n unarchive(remoteId: string): Promise<void>;\n delete(remoteId: string): Promise<void>;\n initialize(threadId: string): Promise<RemoteThreadInitializeResponse>;\n\n subscribe?(subscriber: RemoteThreadListSubscriber): Unsubscribe;\n\n unstable_Provider?: ComponentType<PropsWithChildren>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/remote-thread-list/types.tsx"],"sourcesContent":["import { ComponentType, PropsWithChildren } from \"react\";\nimport { AssistantRuntime } from \"../../api\";\nimport { AssistantStream } from \"assistant-stream\";\nimport { ThreadMessage } from \"../../types\";\n\nexport type RemoteThreadInitializeResponse = {\n remoteId: string;\n externalId: string | undefined;\n};\n\nexport type RemoteThreadMetadata = {\n readonly status: \"regular\" | \"archived\";\n readonly remoteId: string;\n readonly externalId?: string | undefined;\n readonly title?: string | undefined;\n};\n\nexport type RemoteThreadListResponse = {\n threads: RemoteThreadMetadata[];\n};\n\nexport type RemoteThreadListAdapter = {\n list(): Promise<RemoteThreadListResponse>;\n\n rename(remoteId: string, newTitle: string): Promise<void>;\n archive(remoteId: string): Promise<void>;\n unarchive(remoteId: string): Promise<void>;\n delete(remoteId: string): Promise<void>;\n initialize(threadId: string): Promise<RemoteThreadInitializeResponse>;\n generateTitle(\n remoteId: string,\n unstable_messages: readonly ThreadMessage[],\n ): Promise<AssistantStream>;\n\n unstable_Provider?: ComponentType<PropsWithChildren>;\n};\n\nexport type RemoteThreadListOptions = {\n runtimeHook: () => AssistantRuntime;\n adapter: RemoteThreadListAdapter;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,3 +1,3 @@
1
- import { RemoteThreadListAdapter } from "./types";
2
- export declare const useRemoteThreadListRuntime: (adapter: RemoteThreadListAdapter) => import("../..").AssistantRuntime;
1
+ import { RemoteThreadListOptions } from "./types";
2
+ export declare const useRemoteThreadListRuntime: (options: RemoteThreadListOptions) => import("../..").AssistantRuntime;
3
3
  //# sourceMappingURL=useRemoteThreadListRuntime.d.ts.map
@@ -30,10 +30,10 @@ var import_RemoteThreadListThreadListRuntimeCore = require("./RemoteThreadListTh
30
30
  var import_internal = require("../../internal.js");
31
31
  var RemoteThreadListRuntimeCore = class extends import_BaseAssistantRuntimeCore.BaseAssistantRuntimeCore {
32
32
  threads;
33
- constructor(adapter) {
33
+ constructor(options) {
34
34
  super();
35
35
  this.threads = new import_RemoteThreadListThreadListRuntimeCore.RemoteThreadListThreadListRuntimeCore(
36
- adapter,
36
+ options,
37
37
  this._contextProvider
38
38
  );
39
39
  }
@@ -41,12 +41,12 @@ var RemoteThreadListRuntimeCore = class extends import_BaseAssistantRuntimeCore.
41
41
  return this.threads.__internal_RenderComponent;
42
42
  }
43
43
  };
44
- var useRemoteThreadListRuntime = (adapter) => {
45
- const [runtime] = (0, import_react.useState)(() => new RemoteThreadListRuntimeCore(adapter));
44
+ var useRemoteThreadListRuntime = (options) => {
45
+ const [runtime] = (0, import_react.useState)(() => new RemoteThreadListRuntimeCore(options));
46
46
  (0, import_react.useEffect)(() => {
47
- runtime.threads.__internal_setAdapter(adapter);
48
- return runtime.threads.__internal_bindAdapter();
49
- }, [runtime, adapter]);
47
+ runtime.threads.__internal_setOptions(options);
48
+ runtime.threads.__internal_load();
49
+ }, [runtime, options]);
50
50
  return (0, import_react.useMemo)(() => import_internal.AssistantRuntimeImpl.create(runtime), [runtime]);
51
51
  };
52
52
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useMemo } from \"react\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { RemoteThreadListThreadListRuntimeCore } from \"./RemoteThreadListThreadListRuntimeCore\";\nimport { RemoteThreadListAdapter } from \"./types\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\nimport { AssistantRuntimeCore } from \"../core/AssistantRuntimeCore\";\n\nclass RemoteThreadListRuntimeCore\n extends BaseAssistantRuntimeCore\n implements AssistantRuntimeCore\n{\n public readonly threads;\n\n constructor(adapter: RemoteThreadListAdapter) {\n super();\n this.threads = new RemoteThreadListThreadListRuntimeCore(\n adapter,\n this._contextProvider,\n );\n }\n\n public get RenderComponent() {\n return this.threads.__internal_RenderComponent;\n }\n}\n\nexport const useRemoteThreadListRuntime = (\n adapter: RemoteThreadListAdapter,\n) => {\n const [runtime] = useState(() => new RemoteThreadListRuntimeCore(adapter));\n useEffect(() => {\n runtime.threads.__internal_setAdapter(adapter);\n return runtime.threads.__internal_bindAdapter();\n }, [runtime, adapter]);\n return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,sCAAyC;AACzC,mDAAsD;AAEtD,sBAAqC;AAGrC,IAAM,8BAAN,cACU,yDAEV;AAAA,EACkB;AAAA,EAEhB,YAAY,SAAkC;AAC5C,UAAM;AACN,SAAK,UAAU,IAAI;AAAA,MACjB;AAAA,MACA,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ;AAAA,EACtB;AACF;AAEO,IAAM,6BAA6B,CACxC,YACG;AACH,QAAM,CAAC,OAAO,QAAI,uBAAS,MAAM,IAAI,4BAA4B,OAAO,CAAC;AACzE,8BAAU,MAAM;AACd,YAAQ,QAAQ,sBAAsB,OAAO;AAC7C,WAAO,QAAQ,QAAQ,uBAAuB;AAAA,EAChD,GAAG,CAAC,SAAS,OAAO,CAAC;AACrB,aAAO,sBAAQ,MAAM,qCAAqB,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC;AACtE;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useMemo } from \"react\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { RemoteThreadListThreadListRuntimeCore } from \"./RemoteThreadListThreadListRuntimeCore\";\nimport { RemoteThreadListOptions } from \"./types\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\nimport { AssistantRuntimeCore } from \"../core/AssistantRuntimeCore\";\n\nclass RemoteThreadListRuntimeCore\n extends BaseAssistantRuntimeCore\n implements AssistantRuntimeCore\n{\n public readonly threads;\n\n constructor(options: RemoteThreadListOptions) {\n super();\n this.threads = new RemoteThreadListThreadListRuntimeCore(\n options,\n this._contextProvider,\n );\n }\n\n public get RenderComponent() {\n return this.threads.__internal_RenderComponent;\n }\n}\n\nexport const useRemoteThreadListRuntime = (\n options: RemoteThreadListOptions,\n) => {\n const [runtime] = useState(() => new RemoteThreadListRuntimeCore(options));\n useEffect(() => {\n runtime.threads.__internal_setOptions(options);\n runtime.threads.__internal_load();\n }, [runtime, options]);\n return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,sCAAyC;AACzC,mDAAsD;AAEtD,sBAAqC;AAGrC,IAAM,8BAAN,cACU,yDAEV;AAAA,EACkB;AAAA,EAEhB,YAAY,SAAkC;AAC5C,UAAM;AACN,SAAK,UAAU,IAAI;AAAA,MACjB;AAAA,MACA,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ;AAAA,EACtB;AACF;AAEO,IAAM,6BAA6B,CACxC,YACG;AACH,QAAM,CAAC,OAAO,QAAI,uBAAS,MAAM,IAAI,4BAA4B,OAAO,CAAC;AACzE,8BAAU,MAAM;AACd,YAAQ,QAAQ,sBAAsB,OAAO;AAC7C,YAAQ,QAAQ,gBAAgB;AAAA,EAClC,GAAG,CAAC,SAAS,OAAO,CAAC;AACrB,aAAO,sBAAQ,MAAM,qCAAqB,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC;AACtE;","names":[]}
@@ -7,10 +7,10 @@ import { RemoteThreadListThreadListRuntimeCore } from "./RemoteThreadListThreadL
7
7
  import { AssistantRuntimeImpl } from "../../internal.mjs";
8
8
  var RemoteThreadListRuntimeCore = class extends BaseAssistantRuntimeCore {
9
9
  threads;
10
- constructor(adapter) {
10
+ constructor(options) {
11
11
  super();
12
12
  this.threads = new RemoteThreadListThreadListRuntimeCore(
13
- adapter,
13
+ options,
14
14
  this._contextProvider
15
15
  );
16
16
  }
@@ -18,12 +18,12 @@ var RemoteThreadListRuntimeCore = class extends BaseAssistantRuntimeCore {
18
18
  return this.threads.__internal_RenderComponent;
19
19
  }
20
20
  };
21
- var useRemoteThreadListRuntime = (adapter) => {
22
- const [runtime] = useState(() => new RemoteThreadListRuntimeCore(adapter));
21
+ var useRemoteThreadListRuntime = (options) => {
22
+ const [runtime] = useState(() => new RemoteThreadListRuntimeCore(options));
23
23
  useEffect(() => {
24
- runtime.threads.__internal_setAdapter(adapter);
25
- return runtime.threads.__internal_bindAdapter();
26
- }, [runtime, adapter]);
24
+ runtime.threads.__internal_setOptions(options);
25
+ runtime.threads.__internal_load();
26
+ }, [runtime, options]);
27
27
  return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);
28
28
  };
29
29
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useMemo } from \"react\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { RemoteThreadListThreadListRuntimeCore } from \"./RemoteThreadListThreadListRuntimeCore\";\nimport { RemoteThreadListAdapter } from \"./types\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\nimport { AssistantRuntimeCore } from \"../core/AssistantRuntimeCore\";\n\nclass RemoteThreadListRuntimeCore\n extends BaseAssistantRuntimeCore\n implements AssistantRuntimeCore\n{\n public readonly threads;\n\n constructor(adapter: RemoteThreadListAdapter) {\n super();\n this.threads = new RemoteThreadListThreadListRuntimeCore(\n adapter,\n this._contextProvider,\n );\n }\n\n public get RenderComponent() {\n return this.threads.__internal_RenderComponent;\n }\n}\n\nexport const useRemoteThreadListRuntime = (\n adapter: RemoteThreadListAdapter,\n) => {\n const [runtime] = useState(() => new RemoteThreadListRuntimeCore(adapter));\n useEffect(() => {\n runtime.threads.__internal_setAdapter(adapter);\n return runtime.threads.__internal_bindAdapter();\n }, [runtime, adapter]);\n return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);\n};\n"],"mappings":";;;AAEA,SAAS,UAAU,WAAW,eAAe;AAC7C,SAAS,gCAAgC;AACzC,SAAS,6CAA6C;AAEtD,SAAS,4BAA4B;AAGrC,IAAM,8BAAN,cACU,yBAEV;AAAA,EACkB;AAAA,EAEhB,YAAY,SAAkC;AAC5C,UAAM;AACN,SAAK,UAAU,IAAI;AAAA,MACjB;AAAA,MACA,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ;AAAA,EACtB;AACF;AAEO,IAAM,6BAA6B,CACxC,YACG;AACH,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,4BAA4B,OAAO,CAAC;AACzE,YAAU,MAAM;AACd,YAAQ,QAAQ,sBAAsB,OAAO;AAC7C,WAAO,QAAQ,QAAQ,uBAAuB;AAAA,EAChD,GAAG,CAAC,SAAS,OAAO,CAAC;AACrB,SAAO,QAAQ,MAAM,qBAAqB,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC;AACtE;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useMemo } from \"react\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { RemoteThreadListThreadListRuntimeCore } from \"./RemoteThreadListThreadListRuntimeCore\";\nimport { RemoteThreadListOptions } from \"./types\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\nimport { AssistantRuntimeCore } from \"../core/AssistantRuntimeCore\";\n\nclass RemoteThreadListRuntimeCore\n extends BaseAssistantRuntimeCore\n implements AssistantRuntimeCore\n{\n public readonly threads;\n\n constructor(options: RemoteThreadListOptions) {\n super();\n this.threads = new RemoteThreadListThreadListRuntimeCore(\n options,\n this._contextProvider,\n );\n }\n\n public get RenderComponent() {\n return this.threads.__internal_RenderComponent;\n }\n}\n\nexport const useRemoteThreadListRuntime = (\n options: RemoteThreadListOptions,\n) => {\n const [runtime] = useState(() => new RemoteThreadListRuntimeCore(options));\n useEffect(() => {\n runtime.threads.__internal_setOptions(options);\n runtime.threads.__internal_load();\n }, [runtime, options]);\n return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);\n};\n"],"mappings":";;;AAEA,SAAS,UAAU,WAAW,eAAe;AAC7C,SAAS,gCAAgC;AACzC,SAAS,6CAA6C;AAEtD,SAAS,4BAA4B;AAGrC,IAAM,8BAAN,cACU,yBAEV;AAAA,EACkB;AAAA,EAEhB,YAAY,SAAkC;AAC5C,UAAM;AACN,SAAK,UAAU,IAAI;AAAA,MACjB;AAAA,MACA,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ;AAAA,EACtB;AACF;AAEO,IAAM,6BAA6B,CACxC,YACG;AACH,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,4BAA4B,OAAO,CAAC;AACzE,YAAU,MAAM;AACd,YAAQ,QAAQ,sBAAsB,OAAO;AAC7C,YAAQ,QAAQ,gBAAgB;AAAA,EAClC,GAAG,CAAC,SAAS,OAAO,CAAC;AACrB,SAAO,QAAQ,MAAM,qBAAqB,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC;AACtE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnResizeContent.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useOnResizeContent.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,aAAc,MAAM,IAAI,qCA4CtD,CAAC"}
1
+ {"version":3,"file":"useOnResizeContent.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useOnResizeContent.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,aAAc,MAAM,IAAI,qCA8BtD,CAAC"}
@@ -33,26 +33,16 @@ var useOnResizeContent = (callback) => {
33
33
  const resizeObserver = new ResizeObserver(() => {
34
34
  callbackRef();
35
35
  });
36
- const mutationObserver = new MutationObserver((mutations) => {
37
- for (const mutation of mutations) {
38
- for (const node of mutation.addedNodes) {
39
- if (node instanceof Element) {
40
- resizeObserver.observe(node);
41
- }
42
- }
43
- for (const node of mutation.removedNodes) {
44
- if (node instanceof Element) {
45
- resizeObserver.unobserve(node);
46
- }
47
- }
48
- }
36
+ const mutationObserver = new MutationObserver(() => {
49
37
  callbackRef();
50
38
  });
51
39
  resizeObserver.observe(el);
52
- mutationObserver.observe(el, { childList: true });
53
- for (const child of el.children) {
54
- resizeObserver.observe(child);
55
- }
40
+ mutationObserver.observe(el, {
41
+ childList: true,
42
+ subtree: true,
43
+ attributes: true,
44
+ characterData: true
45
+ });
56
46
  return () => {
57
47
  resizeObserver.disconnect();
58
48
  mutationObserver.disconnect();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/hooks/useOnResizeContent.tsx"],"sourcesContent":["import { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useCallback } from \"react\";\nimport { useManagedRef } from \"./useManagedRef\";\n\nexport const useOnResizeContent = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n\n const refCallback = useCallback(\n (el: HTMLElement) => {\n const resizeObserver = new ResizeObserver(() => {\n callbackRef();\n });\n\n const mutationObserver = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n for (const node of mutation.addedNodes) {\n if (node instanceof Element) {\n resizeObserver.observe(node);\n }\n }\n\n for (const node of mutation.removedNodes) {\n if (node instanceof Element) {\n resizeObserver.unobserve(node);\n }\n }\n }\n\n callbackRef();\n });\n\n resizeObserver.observe(el);\n mutationObserver.observe(el, { childList: true });\n\n // Observe existing children\n for (const child of el.children) {\n resizeObserver.observe(child);\n }\n\n return () => {\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n },\n [callbackRef],\n );\n\n return useManagedRef(refCallback);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAA+B;AAC/B,mBAA4B;AAC5B,2BAA8B;AAEvB,IAAM,qBAAqB,CAAC,aAAyB;AAC1D,QAAM,kBAAc,8CAAe,QAAQ;AAE3C,QAAM,kBAAc;AAAA,IAClB,CAAC,OAAoB;AACnB,YAAM,iBAAiB,IAAI,eAAe,MAAM;AAC9C,oBAAY;AAAA,MACd,CAAC;AAED,YAAM,mBAAmB,IAAI,iBAAiB,CAAC,cAAc;AAC3D,mBAAW,YAAY,WAAW;AAChC,qBAAW,QAAQ,SAAS,YAAY;AACtC,gBAAI,gBAAgB,SAAS;AAC3B,6BAAe,QAAQ,IAAI;AAAA,YAC7B;AAAA,UACF;AAEA,qBAAW,QAAQ,SAAS,cAAc;AACxC,gBAAI,gBAAgB,SAAS;AAC3B,6BAAe,UAAU,IAAI;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAEA,oBAAY;AAAA,MACd,CAAC;AAED,qBAAe,QAAQ,EAAE;AACzB,uBAAiB,QAAQ,IAAI,EAAE,WAAW,KAAK,CAAC;AAGhD,iBAAW,SAAS,GAAG,UAAU;AAC/B,uBAAe,QAAQ,KAAK;AAAA,MAC9B;AAEA,aAAO,MAAM;AACX,uBAAe,WAAW;AAC1B,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,aAAO,oCAAc,WAAW;AAClC;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/hooks/useOnResizeContent.tsx"],"sourcesContent":["import { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useCallback } from \"react\";\nimport { useManagedRef } from \"./useManagedRef\";\n\nexport const useOnResizeContent = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n\n const refCallback = useCallback(\n (el: HTMLElement) => {\n const resizeObserver = new ResizeObserver(() => {\n callbackRef();\n });\n\n const mutationObserver = new MutationObserver(() => {\n callbackRef();\n });\n\n resizeObserver.observe(el);\n mutationObserver.observe(el, {\n childList: true,\n subtree: true,\n attributes: true,\n characterData: true,\n });\n\n return () => {\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n },\n [callbackRef],\n );\n\n return useManagedRef(refCallback);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAA+B;AAC/B,mBAA4B;AAC5B,2BAA8B;AAEvB,IAAM,qBAAqB,CAAC,aAAyB;AAC1D,QAAM,kBAAc,8CAAe,QAAQ;AAE3C,QAAM,kBAAc;AAAA,IAClB,CAAC,OAAoB;AACnB,YAAM,iBAAiB,IAAI,eAAe,MAAM;AAC9C,oBAAY;AAAA,MACd,CAAC;AAED,YAAM,mBAAmB,IAAI,iBAAiB,MAAM;AAClD,oBAAY;AAAA,MACd,CAAC;AAED,qBAAe,QAAQ,EAAE;AACzB,uBAAiB,QAAQ,IAAI;AAAA,QAC3B,WAAW;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,eAAe;AAAA,MACjB,CAAC;AAED,aAAO,MAAM;AACX,uBAAe,WAAW;AAC1B,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,aAAO,oCAAc,WAAW;AAClC;","names":[]}
@@ -9,26 +9,16 @@ var useOnResizeContent = (callback) => {
9
9
  const resizeObserver = new ResizeObserver(() => {
10
10
  callbackRef();
11
11
  });
12
- const mutationObserver = new MutationObserver((mutations) => {
13
- for (const mutation of mutations) {
14
- for (const node of mutation.addedNodes) {
15
- if (node instanceof Element) {
16
- resizeObserver.observe(node);
17
- }
18
- }
19
- for (const node of mutation.removedNodes) {
20
- if (node instanceof Element) {
21
- resizeObserver.unobserve(node);
22
- }
23
- }
24
- }
12
+ const mutationObserver = new MutationObserver(() => {
25
13
  callbackRef();
26
14
  });
27
15
  resizeObserver.observe(el);
28
- mutationObserver.observe(el, { childList: true });
29
- for (const child of el.children) {
30
- resizeObserver.observe(child);
31
- }
16
+ mutationObserver.observe(el, {
17
+ childList: true,
18
+ subtree: true,
19
+ attributes: true,
20
+ characterData: true
21
+ });
32
22
  return () => {
33
23
  resizeObserver.disconnect();
34
24
  mutationObserver.disconnect();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/hooks/useOnResizeContent.tsx"],"sourcesContent":["import { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useCallback } from \"react\";\nimport { useManagedRef } from \"./useManagedRef\";\n\nexport const useOnResizeContent = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n\n const refCallback = useCallback(\n (el: HTMLElement) => {\n const resizeObserver = new ResizeObserver(() => {\n callbackRef();\n });\n\n const mutationObserver = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n for (const node of mutation.addedNodes) {\n if (node instanceof Element) {\n resizeObserver.observe(node);\n }\n }\n\n for (const node of mutation.removedNodes) {\n if (node instanceof Element) {\n resizeObserver.unobserve(node);\n }\n }\n }\n\n callbackRef();\n });\n\n resizeObserver.observe(el);\n mutationObserver.observe(el, { childList: true });\n\n // Observe existing children\n for (const child of el.children) {\n resizeObserver.observe(child);\n }\n\n return () => {\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n },\n [callbackRef],\n );\n\n return useManagedRef(refCallback);\n};\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAEvB,IAAM,qBAAqB,CAAC,aAAyB;AAC1D,QAAM,cAAc,eAAe,QAAQ;AAE3C,QAAM,cAAc;AAAA,IAClB,CAAC,OAAoB;AACnB,YAAM,iBAAiB,IAAI,eAAe,MAAM;AAC9C,oBAAY;AAAA,MACd,CAAC;AAED,YAAM,mBAAmB,IAAI,iBAAiB,CAAC,cAAc;AAC3D,mBAAW,YAAY,WAAW;AAChC,qBAAW,QAAQ,SAAS,YAAY;AACtC,gBAAI,gBAAgB,SAAS;AAC3B,6BAAe,QAAQ,IAAI;AAAA,YAC7B;AAAA,UACF;AAEA,qBAAW,QAAQ,SAAS,cAAc;AACxC,gBAAI,gBAAgB,SAAS;AAC3B,6BAAe,UAAU,IAAI;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAEA,oBAAY;AAAA,MACd,CAAC;AAED,qBAAe,QAAQ,EAAE;AACzB,uBAAiB,QAAQ,IAAI,EAAE,WAAW,KAAK,CAAC;AAGhD,iBAAW,SAAS,GAAG,UAAU;AAC/B,uBAAe,QAAQ,KAAK;AAAA,MAC9B;AAEA,aAAO,MAAM;AACX,uBAAe,WAAW;AAC1B,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,SAAO,cAAc,WAAW;AAClC;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/hooks/useOnResizeContent.tsx"],"sourcesContent":["import { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useCallback } from \"react\";\nimport { useManagedRef } from \"./useManagedRef\";\n\nexport const useOnResizeContent = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n\n const refCallback = useCallback(\n (el: HTMLElement) => {\n const resizeObserver = new ResizeObserver(() => {\n callbackRef();\n });\n\n const mutationObserver = new MutationObserver(() => {\n callbackRef();\n });\n\n resizeObserver.observe(el);\n mutationObserver.observe(el, {\n childList: true,\n subtree: true,\n attributes: true,\n characterData: true,\n });\n\n return () => {\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n },\n [callbackRef],\n );\n\n return useManagedRef(refCallback);\n};\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAEvB,IAAM,qBAAqB,CAAC,aAAyB;AAC1D,QAAM,cAAc,eAAe,QAAQ;AAE3C,QAAM,cAAc;AAAA,IAClB,CAAC,OAAoB;AACnB,YAAM,iBAAiB,IAAI,eAAe,MAAM;AAC9C,oBAAY;AAAA,MACd,CAAC;AAED,YAAM,mBAAmB,IAAI,iBAAiB,MAAM;AAClD,oBAAY;AAAA,MACd,CAAC;AAED,qBAAe,QAAQ,EAAE;AACzB,uBAAiB,QAAQ,IAAI;AAAA,QAC3B,WAAW;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,eAAe;AAAA,MACjB,CAAC;AAED,aAAO,MAAM;AACX,uBAAe,WAAW;AAC1B,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,SAAO,cAAc,WAAW;AAClC;","names":[]}
package/package.json CHANGED
@@ -29,7 +29,7 @@
29
29
  "conversational-ui",
30
30
  "conversational-ai"
31
31
  ],
32
- "version": "0.7.64",
32
+ "version": "0.7.66",
33
33
  "license": "MIT",
34
34
  "exports": {
35
35
  ".": {
@@ -26,6 +26,8 @@ export type ThreadListItemRuntime = {
26
26
  getState(): ThreadListItemState;
27
27
 
28
28
  initialize(): Promise<{ remoteId: string; externalId: string | undefined }>;
29
+ generateTitle(): Promise<void>;
30
+
29
31
  switchTo(): Promise<void>;
30
32
  rename(newTitle: string): Promise<void>;
31
33
  archive(): Promise<void>;
@@ -62,6 +64,7 @@ export class ThreadListItemRuntimeImpl implements ThreadListItemRuntime {
62
64
  this.unarchive = this.unarchive.bind(this);
63
65
  this.delete = this.delete.bind(this);
64
66
  this.initialize = this.initialize.bind(this);
67
+ this.generateTitle = this.generateTitle.bind(this);
65
68
  this.subscribe = this.subscribe.bind(this);
66
69
  this.unstable_on = this.unstable_on.bind(this);
67
70
  this.getState = this.getState.bind(this);
@@ -108,6 +111,11 @@ export class ThreadListItemRuntimeImpl implements ThreadListItemRuntime {
108
111
  return this._threadListBinding.initialize(state.id);
109
112
  }
110
113
 
114
+ public generateTitle(): Promise<void> {
115
+ const state = this._core.getState();
116
+ return this._threadListBinding.generateTitle(state.id);
117
+ }
118
+
111
119
  public unstable_on(event: ThreadListItemEventType, callback: () => void) {
112
120
  let prevIsMain = this._core.getState().isMain;
113
121
  return this.subscribe(() => {
@@ -25,7 +25,7 @@ type AssistantCloudThreadsListResponse = {
25
25
  };
26
26
 
27
27
  type AssistantCloudThreadsCreateBody = {
28
- title: string;
28
+ title?: string | undefined;
29
29
  last_message_at: Date;
30
30
  metadata?: unknown | undefined;
31
31
  external_id?: string | undefined;
@@ -1,21 +1,9 @@
1
1
  "use client";
2
2
 
3
- import {
4
- FC,
5
- PropsWithChildren,
6
- useCallback,
7
- useEffect,
8
- useMemo,
9
- useRef,
10
- useState,
11
- } from "react";
12
3
  import { AssistantCloud } from "./AssistantCloud";
13
4
  import { AssistantRuntime } from "../api";
14
- import { RemoteThreadListSubscriber } from "../runtimes/remote-thread-list/types";
15
- import { toCoreMessages } from "../runtimes/edge";
16
5
  import { useRemoteThreadListRuntime } from "../runtimes/remote-thread-list/useRemoteThreadListRuntime";
17
- import { RuntimeAdapterProvider } from "../runtimes/adapters/RuntimeAdapterProvider";
18
- import { useAssistantCloudThreadHistoryAdapter } from "./AssistantCloudThreadHistoryAdapter";
6
+ import { useCloudThreadListAdapter } from "../runtimes/remote-thread-list/adapter/cloud";
19
7
 
20
8
  type ThreadData = {
21
9
  externalId: string;
@@ -30,104 +18,14 @@ type CloudThreadListAdapter = {
30
18
  delete?(threadId: string): Promise<void>;
31
19
  };
32
20
 
33
- const beginnable = <T,>(callback: () => Promise<T>) => {
34
- let task: Promise<T> | undefined = undefined;
35
-
36
- return () => {
37
- if (task === undefined) task = callback();
38
- return task;
39
- };
40
- };
41
-
42
- export const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {
43
- const adapterRef = useRef(adapter);
44
- useEffect(() => {
45
- adapterRef.current = adapter;
46
- }, [adapter]);
47
-
48
- const [subscribers] = useState(() => new Set<RemoteThreadListSubscriber>());
49
-
21
+ export const useCloudThreadListRuntime = ({
22
+ runtimeHook,
23
+ ...adapterOptions
24
+ }: CloudThreadListAdapter) => {
25
+ const adapter = useCloudThreadListAdapter(adapterOptions);
50
26
  const runtime = useRemoteThreadListRuntime({
51
- runtimeHook: adapter.runtimeHook,
52
- list: async () => {
53
- const { threads } = await adapter.cloud.threads.list();
54
- return {
55
- threads: threads.map((t) => ({
56
- status: t.is_archived ? "archived" : "regular",
57
- remoteId: t.id,
58
- title: t.title,
59
- externalId: t.external_id ?? undefined,
60
- })),
61
- };
62
- },
63
-
64
- initialize: async (threadId: string) => {
65
- const createTask = adapterRef.current.create?.() ?? Promise.resolve();
66
- const t = await createTask;
67
- const external_id = t ? t.externalId : undefined;
68
- const { thread_id: remoteId } =
69
- await adapterRef.current.cloud.threads.create({
70
- title: "New Thread",
71
- last_message_at: new Date(),
72
- external_id,
73
- });
74
-
75
- const dispose = runtime.threads
76
- .getById(threadId)
77
- .unstable_on("run-end", () => {
78
- dispose();
79
-
80
- const messages = runtime.threads
81
- .getById(threadId)
82
- .getState().messages;
83
- const begin = beginnable(() => {
84
- return adapterRef.current.cloud.runs.stream({
85
- thread_id: remoteId,
86
- assistant_id: "system/thread_title",
87
- messages: toCoreMessages(messages),
88
- });
89
- });
90
- for (const subscriber of subscribers) {
91
- subscriber.onGenerateTitle(remoteId, begin);
92
- }
93
- });
94
-
95
- return { externalId: external_id, remoteId: remoteId };
96
- },
97
-
98
- rename: async (threadId, newTitle) => {
99
- return adapter.cloud.threads.update(threadId, { title: newTitle });
100
- },
101
- archive: async (threadId) => {
102
- return adapter.cloud.threads.update(threadId, { is_archived: true });
103
- },
104
- unarchive: async (threadId) => {
105
- return adapter.cloud.threads.update(threadId, { is_archived: false });
106
- },
107
- delete: async (threadId) => {
108
- await adapter.delete?.(threadId);
109
- return adapter.cloud.threads.delete(threadId);
110
- },
111
- subscribe: (callback) => {
112
- subscribers.add(callback);
113
- return () => {
114
- subscribers.delete(callback);
115
- };
116
- },
117
- unstable_Provider: useCallback<FC<PropsWithChildren>>(({ children }) => {
118
- const history = useAssistantCloudThreadHistoryAdapter({
119
- get current() {
120
- return adapterRef.current.cloud;
121
- },
122
- });
123
- const adapters = useMemo(() => ({ history }), [history]);
124
-
125
- return (
126
- <RuntimeAdapterProvider adapters={adapters}>
127
- {children}
128
- </RuntimeAdapterProvider>
129
- );
130
- }, []),
27
+ runtimeHook: runtimeHook,
28
+ adapter,
131
29
  });
132
30
 
133
31
  return runtime;
@@ -14,13 +14,11 @@ import { writableStore } from "../../context/ReadonlyStore";
14
14
  export namespace useThreadViewportAutoScroll {
15
15
  export type Options = {
16
16
  autoScroll?: boolean | undefined;
17
- unstable_scrollToBottomOnRunStart?: boolean | undefined;
18
17
  };
19
18
  }
20
19
 
21
20
  export const useThreadViewportAutoScroll = <TElement extends HTMLElement>({
22
21
  autoScroll = true,
23
- unstable_scrollToBottomOnRunStart = true,
24
22
  }: useThreadViewportAutoScroll.Options): RefCallback<TElement> => {
25
23
  const divRef = useRef<TElement>(null);
26
24
 
@@ -83,8 +81,6 @@ export const useThreadViewportAutoScroll = <TElement extends HTMLElement>({
83
81
  };
84
82
  });
85
83
 
86
- const autoScrollRef = useComposedRefs<TElement>(resizeRef, scrollRef, divRef);
87
-
88
84
  useOnScrollToBottom(() => {
89
85
  scrollToBottom("auto");
90
86
  });
@@ -92,10 +88,9 @@ export const useThreadViewportAutoScroll = <TElement extends HTMLElement>({
92
88
  // autoscroll on run start
93
89
  const threadRuntime = useThreadRuntime();
94
90
  useEffect(() => {
95
- if (!unstable_scrollToBottomOnRunStart) return undefined;
96
-
97
- return threadRuntime.unstable_on("run-start", focus);
98
- }, [unstable_scrollToBottomOnRunStart]);
91
+ return threadRuntime.unstable_on("run-start", () => scrollToBottom("auto"));
92
+ }, []);
99
93
 
94
+ const autoScrollRef = useComposedRefs<TElement>(resizeRef, scrollRef, divRef);
100
95
  return autoScrollRef;
101
96
  };