@assistant-ui/react 0.7.38 → 0.7.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. package/dist/primitives/actionBar/ActionBarRoot.d.ts +2 -2
  2. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
  3. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  4. package/dist/primitives/actionBar/ActionBarRoot.mjs.map +1 -1
  5. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +2 -2
  6. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
  7. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  8. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +1 -1
  9. package/dist/primitives/assistantModal/AssistantModalContent.d.ts +2 -2
  10. package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
  11. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  12. package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +1 -1
  13. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +2 -2
  14. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  15. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  16. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
  17. package/dist/primitives/assistantModal/scope.d.ts +3 -3
  18. package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
  19. package/dist/primitives/assistantModal/scope.js.map +1 -1
  20. package/dist/primitives/assistantModal/scope.mjs.map +1 -1
  21. package/dist/primitives/attachment/AttachmentRoot.d.ts +2 -2
  22. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  23. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  24. package/dist/primitives/attachment/AttachmentRoot.mjs.map +1 -1
  25. package/dist/primitives/attachment/AttachmentThumb.d.ts +2 -2
  26. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  27. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  28. package/dist/primitives/attachment/AttachmentThumb.mjs.map +1 -1
  29. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +2 -2
  30. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  31. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  32. package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
  33. package/dist/primitives/composer/ComposerRoot.d.ts +2 -2
  34. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  35. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  36. package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
  37. package/dist/primitives/contentPart/ContentPartImage.d.ts +2 -2
  38. package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -1
  39. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  40. package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
  41. package/dist/primitives/contentPart/ContentPartText.d.ts +2 -2
  42. package/dist/primitives/contentPart/ContentPartText.d.ts.map +1 -1
  43. package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
  44. package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
  45. package/dist/primitives/message/MessageRoot.d.ts +2 -2
  46. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  47. package/dist/primitives/message/MessageRoot.js.map +1 -1
  48. package/dist/primitives/message/MessageRoot.mjs.map +1 -1
  49. package/dist/primitives/thread/ThreadRoot.d.ts +2 -2
  50. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  51. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  52. package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
  53. package/dist/primitives/thread/ThreadViewport.d.ts +2 -2
  54. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  55. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  56. package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
  57. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +2 -2
  58. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  59. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  60. package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +1 -1
  61. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +2 -2
  62. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  63. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +2 -2
  64. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -1
  65. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +7 -3
  66. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  67. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +17 -14
  68. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  69. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs +24 -15
  70. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs.map +1 -1
  71. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +3 -2
  72. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  73. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +94 -64
  74. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  75. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +95 -65
  76. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
  77. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts +2 -0
  78. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts.map +1 -1
  79. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js +3 -0
  80. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js.map +1 -1
  81. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs +3 -0
  82. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs.map +1 -1
  83. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts +10 -6
  84. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.d.ts.map +1 -1
  85. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js +25 -8
  86. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.js.map +1 -1
  87. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs +25 -8
  88. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAPI.mjs.map +1 -1
  89. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts +2 -2
  90. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -1
  91. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js +7 -8
  92. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.js.map +1 -1
  93. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs +7 -8
  94. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.mjs.map +1 -1
  95. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.d.ts +15 -0
  96. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.d.ts.map +1 -0
  97. package/dist/runtimes/remote-thread-list/cloud/{CloudContext.js → AssistantCloudRuns.js} +23 -9
  98. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.js.map +1 -0
  99. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.mjs +21 -0
  100. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudRuns.mjs.map +1 -0
  101. package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.d.ts +22 -0
  102. package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.d.ts.map +1 -0
  103. package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.js +85 -0
  104. package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.js.map +1 -0
  105. package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.mjs +60 -0
  106. package/dist/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.mjs.map +1 -0
  107. package/dist/runtimes/remote-thread-list/cloud/index.d.ts +1 -1
  108. package/dist/runtimes/remote-thread-list/cloud/index.d.ts.map +1 -1
  109. package/dist/runtimes/remote-thread-list/cloud/index.js +3 -3
  110. package/dist/runtimes/remote-thread-list/cloud/index.js.map +1 -1
  111. package/dist/runtimes/remote-thread-list/cloud/index.mjs +2 -2
  112. package/dist/runtimes/remote-thread-list/cloud/index.mjs.map +1 -1
  113. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  114. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js +47 -19
  115. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.js.map +1 -1
  116. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs +54 -20
  117. package/dist/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.mjs.map +1 -1
  118. package/dist/runtimes/remote-thread-list/index.d.ts +2 -0
  119. package/dist/runtimes/remote-thread-list/index.d.ts.map +1 -1
  120. package/dist/runtimes/remote-thread-list/index.js +9 -0
  121. package/dist/runtimes/remote-thread-list/index.js.map +1 -1
  122. package/dist/runtimes/remote-thread-list/index.mjs +4 -0
  123. package/dist/runtimes/remote-thread-list/index.mjs.map +1 -1
  124. package/dist/runtimes/remote-thread-list/types.d.ts +11 -4
  125. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  126. package/dist/runtimes/remote-thread-list/types.js.map +1 -1
  127. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  128. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +1 -0
  129. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  130. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +1 -0
  131. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  132. package/dist/styles/index.css.map +1 -1
  133. package/dist/ui/base/button.d.ts.map +1 -1
  134. package/dist/ui/base/button.js.map +1 -1
  135. package/dist/ui/base/button.mjs.map +1 -1
  136. package/dist/ui/base/dialog.js.map +1 -1
  137. package/dist/ui/base/dialog.mjs.map +1 -1
  138. package/dist/utils/createActionButton.d.ts +2 -2
  139. package/dist/utils/createActionButton.d.ts.map +1 -1
  140. package/dist/utils/createActionButton.js.map +1 -1
  141. package/dist/utils/createActionButton.mjs.map +1 -1
  142. package/package.json +9 -12
  143. package/src/primitives/actionBar/ActionBarRoot.tsx +2 -2
  144. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +2 -2
  145. package/src/primitives/assistantModal/AssistantModalContent.tsx +2 -2
  146. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +2 -2
  147. package/src/primitives/assistantModal/scope.tsx +1 -1
  148. package/src/primitives/attachment/AttachmentRoot.tsx +2 -2
  149. package/src/primitives/attachment/AttachmentThumb.tsx +2 -2
  150. package/src/primitives/branchPicker/BranchPickerRoot.tsx +2 -2
  151. package/src/primitives/composer/ComposerRoot.tsx +2 -2
  152. package/src/primitives/contentPart/ContentPartImage.tsx +2 -2
  153. package/src/primitives/contentPart/ContentPartText.tsx +2 -2
  154. package/src/primitives/message/MessageRoot.tsx +2 -2
  155. package/src/primitives/thread/ThreadRoot.tsx +2 -2
  156. package/src/primitives/thread/ThreadViewport.tsx +2 -2
  157. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +2 -2
  158. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +2 -2
  159. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +43 -25
  160. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +119 -80
  161. package/src/runtimes/remote-thread-list/cloud/AssistantCloud.tsx +3 -0
  162. package/src/runtimes/remote-thread-list/cloud/AssistantCloudAPI.tsx +36 -16
  163. package/src/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.tsx +5 -6
  164. package/src/runtimes/remote-thread-list/cloud/AssistantCloudRuns.tsx +26 -0
  165. package/src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx +89 -0
  166. package/src/runtimes/remote-thread-list/cloud/index.ts +1 -1
  167. package/src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx +63 -28
  168. package/src/runtimes/remote-thread-list/index.ts +2 -1
  169. package/src/runtimes/remote-thread-list/types.tsx +18 -6
  170. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +1 -0
  171. package/src/ui/base/button.tsx +2 -2
  172. package/src/ui/base/dialog.tsx +5 -5
  173. package/src/utils/createActionButton.tsx +2 -2
  174. package/dist/runtimes/remote-thread-list/cloud/CloudContext.d.ts +0 -10
  175. package/dist/runtimes/remote-thread-list/cloud/CloudContext.d.ts.map +0 -1
  176. package/dist/runtimes/remote-thread-list/cloud/CloudContext.js.map +0 -1
  177. package/dist/runtimes/remote-thread-list/cloud/CloudContext.mjs +0 -7
  178. package/dist/runtimes/remote-thread-list/cloud/CloudContext.mjs.map +0 -1
  179. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.d.ts +0 -4
  180. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.d.ts.map +0 -1
  181. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.js +0 -46
  182. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.js.map +0 -1
  183. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.mjs +0 -22
  184. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.mjs.map +0 -1
  185. package/src/runtimes/remote-thread-list/cloud/CloudContext.tsx +0 -12
  186. package/src/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.tsx +0 -19
@@ -17,16 +17,30 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/runtimes/remote-thread-list/cloud/CloudContext.tsx
21
- var CloudContext_exports = {};
22
- __export(CloudContext_exports, {
23
- CloudContext: () => CloudContext
20
+ // src/runtimes/remote-thread-list/cloud/AssistantCloudRuns.tsx
21
+ var AssistantCloudRuns_exports = {};
22
+ __export(AssistantCloudRuns_exports, {
23
+ AssistantCloudRuns: () => AssistantCloudRuns
24
24
  });
25
- module.exports = __toCommonJS(CloudContext_exports);
26
- var import_react = require("react");
27
- var CloudContext = (0, import_react.createContext)(null);
25
+ module.exports = __toCommonJS(AssistantCloudRuns_exports);
26
+ var import_assistant_stream = require("assistant-stream");
27
+ var AssistantCloudRuns = class {
28
+ constructor(cloud) {
29
+ this.cloud = cloud;
30
+ }
31
+ async stream(body) {
32
+ const response = await this.cloud.makeRawRequest("/runs/stream", {
33
+ method: "POST",
34
+ headers: {
35
+ Accept: "text/plain"
36
+ },
37
+ body
38
+ });
39
+ return import_assistant_stream.AssistantStream.fromResponse(response, new import_assistant_stream.PlainTextDecoder());
40
+ }
41
+ };
28
42
  // Annotate the CommonJS export names for ESM import in node:
29
43
  0 && (module.exports = {
30
- CloudContext
44
+ AssistantCloudRuns
31
45
  });
32
- //# sourceMappingURL=CloudContext.js.map
46
+ //# sourceMappingURL=AssistantCloudRuns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/AssistantCloudRuns.tsx"],"sourcesContent":["import { CoreMessage } from \"../../../types\";\nimport { AssistantCloudAPI } from \"./AssistantCloudAPI\";\nimport { AssistantStream, PlainTextDecoder } from \"assistant-stream\";\n\ntype AssistantCloudRunsStreamBody = {\n thread_id: string;\n assistant_id: \"system/thread_title\";\n messages: CoreMessage[];\n};\n\nexport class AssistantCloudRuns {\n constructor(private cloud: AssistantCloudAPI) {}\n\n public async stream(\n body: AssistantCloudRunsStreamBody,\n ): Promise<AssistantStream> {\n const response = await this.cloud.makeRawRequest(\"/runs/stream\", {\n method: \"POST\",\n headers: {\n Accept: \"text/plain\",\n },\n body,\n });\n return AssistantStream.fromResponse(response, new PlainTextDecoder());\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAAkD;AAQ3C,IAAM,qBAAN,MAAyB;AAAA,EAC9B,YAAoB,OAA0B;AAA1B;AAAA,EAA2B;AAAA,EAE/C,MAAa,OACX,MAC0B;AAC1B,UAAM,WAAW,MAAM,KAAK,MAAM,eAAe,gBAAgB;AAAA,MAC/D,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,wCAAgB,aAAa,UAAU,IAAI,yCAAiB,CAAC;AAAA,EACtE;AACF;","names":[]}
@@ -0,0 +1,21 @@
1
+ // src/runtimes/remote-thread-list/cloud/AssistantCloudRuns.tsx
2
+ import { AssistantStream, PlainTextDecoder } from "assistant-stream";
3
+ var AssistantCloudRuns = class {
4
+ constructor(cloud) {
5
+ this.cloud = cloud;
6
+ }
7
+ async stream(body) {
8
+ const response = await this.cloud.makeRawRequest("/runs/stream", {
9
+ method: "POST",
10
+ headers: {
11
+ Accept: "text/plain"
12
+ },
13
+ body
14
+ });
15
+ return AssistantStream.fromResponse(response, new PlainTextDecoder());
16
+ }
17
+ };
18
+ export {
19
+ AssistantCloudRuns
20
+ };
21
+ //# sourceMappingURL=AssistantCloudRuns.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/AssistantCloudRuns.tsx"],"sourcesContent":["import { CoreMessage } from \"../../../types\";\nimport { AssistantCloudAPI } from \"./AssistantCloudAPI\";\nimport { AssistantStream, PlainTextDecoder } from \"assistant-stream\";\n\ntype AssistantCloudRunsStreamBody = {\n thread_id: string;\n assistant_id: \"system/thread_title\";\n messages: CoreMessage[];\n};\n\nexport class AssistantCloudRuns {\n constructor(private cloud: AssistantCloudAPI) {}\n\n public async stream(\n body: AssistantCloudRunsStreamBody,\n ): Promise<AssistantStream> {\n const response = await this.cloud.makeRawRequest(\"/runs/stream\", {\n method: \"POST\",\n headers: {\n Accept: \"text/plain\",\n },\n body,\n });\n return AssistantStream.fromResponse(response, new PlainTextDecoder());\n }\n}\n"],"mappings":";AAEA,SAAS,iBAAiB,wBAAwB;AAQ3C,IAAM,qBAAN,MAAyB;AAAA,EAC9B,YAAoB,OAA0B;AAA1B;AAAA,EAA2B;AAAA,EAE/C,MAAa,OACX,MAC0B;AAC1B,UAAM,WAAW,MAAM,KAAK,MAAM,eAAe,gBAAgB;AAAA,MAC/D,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,gBAAgB,aAAa,UAAU,IAAI,iBAAiB,CAAC;AAAA,EACtE;AACF;","names":[]}
@@ -0,0 +1,22 @@
1
+ import { FC } from "react";
2
+ import { RemoteThreadInitializeResponse } from "../types";
3
+ type CloudInitializeResponse = {
4
+ remoteId: string;
5
+ externalId: string | undefined;
6
+ };
7
+ type CloudThreadListItemRuntime = {
8
+ getOrCreateThread: () => Promise<CloudInitializeResponse>;
9
+ generateThreadTitle: () => Promise<void>;
10
+ };
11
+ export declare const useCloudThreadListItemRuntime: () => CloudThreadListItemRuntime;
12
+ type CloudThreadListItemRuntimeAdapter = {
13
+ initialize: (threadId: string) => Promise<RemoteThreadInitializeResponse>;
14
+ generateTitle: (remoteId: string) => Promise<void>;
15
+ };
16
+ type CloudThreadListItemRuntimeContextAdapterProps = {
17
+ adapter: CloudThreadListItemRuntimeAdapter;
18
+ children: React.ReactNode;
19
+ };
20
+ export declare const CloudThreadListItemRuntimeProvider: FC<CloudThreadListItemRuntimeContextAdapterProps>;
21
+ export {};
22
+ //# sourceMappingURL=CloudThreadListItemRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudThreadListItemRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,EAAE,EAAmC,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAG1D,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,iBAAiB,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1D,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,6BAA6B,kCASzC,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC1E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC;AA4BF,KAAK,6CAA6C,GAAG;IACnD,OAAO,EAAE,iCAAiC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,EAAE,CACjD,6CAA6C,CAoB9C,CAAC"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx
22
+ var CloudThreadListItemRuntime_exports = {};
23
+ __export(CloudThreadListItemRuntime_exports, {
24
+ CloudThreadListItemRuntimeProvider: () => CloudThreadListItemRuntimeProvider,
25
+ useCloudThreadListItemRuntime: () => useCloudThreadListItemRuntime
26
+ });
27
+ module.exports = __toCommonJS(CloudThreadListItemRuntime_exports);
28
+ var import_react = require("react");
29
+ var import_context = require("../../../context/index.js");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var useCloudThreadListItemRuntime = () => {
32
+ const cloudThreadListItemRuntime = (0, import_react.useContext)(
33
+ CloudThreadListItemRuntimeContext
34
+ );
35
+ if (!cloudThreadListItemRuntime)
36
+ throw new Error(
37
+ "This component can only be used inside a useCloudThreadListRuntime's runtimeHook."
38
+ );
39
+ return cloudThreadListItemRuntime;
40
+ };
41
+ var CloudThreadListItemRuntimeImpl = class {
42
+ constructor(adapter, threadListItemRuntime) {
43
+ this.adapter = adapter;
44
+ this.threadListItemRuntime = threadListItemRuntime;
45
+ }
46
+ __internal_setThreadListItemRuntime(threadListItemRuntime) {
47
+ this.threadListItemRuntime = threadListItemRuntime;
48
+ }
49
+ async getOrCreateThread() {
50
+ const threadData = this.threadListItemRuntime.getState();
51
+ if (threadData.remoteId)
52
+ return threadData;
53
+ return this.adapter.initialize(threadData.id);
54
+ }
55
+ generateThreadTitle() {
56
+ const remoteId = this.threadListItemRuntime.getState().remoteId;
57
+ if (!remoteId) throw new Error("Thread not initialized yet");
58
+ return this.adapter.generateTitle(remoteId);
59
+ }
60
+ };
61
+ var CloudThreadListItemRuntimeProvider = ({ adapter, children }) => {
62
+ const threadListItemRuntime = (0, import_context.useThreadListItemRuntime)();
63
+ const [cloudThreadListItemRuntime] = (0, import_react.useState)(
64
+ () => new CloudThreadListItemRuntimeImpl(adapter, threadListItemRuntime)
65
+ );
66
+ (0, import_react.useEffect)(() => {
67
+ cloudThreadListItemRuntime.__internal_setThreadListItemRuntime(
68
+ threadListItemRuntime
69
+ );
70
+ }, [cloudThreadListItemRuntime, threadListItemRuntime]);
71
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
72
+ CloudThreadListItemRuntimeContext.Provider,
73
+ {
74
+ value: cloudThreadListItemRuntime,
75
+ children
76
+ }
77
+ );
78
+ };
79
+ var CloudThreadListItemRuntimeContext = (0, import_react.createContext)(null);
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
82
+ CloudThreadListItemRuntimeProvider,
83
+ useCloudThreadListItemRuntime
84
+ });
85
+ //# sourceMappingURL=CloudThreadListItemRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, FC, useContext, useEffect, useState } from \"react\";\nimport { useThreadListItemRuntime } from \"../../../context\";\nimport { RemoteThreadInitializeResponse } from \"../types\";\nimport { ThreadListItemRuntime } from \"../../../api\";\n\ntype CloudInitializeResponse = {\n remoteId: string;\n externalId: string | undefined;\n};\n\ntype CloudThreadListItemRuntime = {\n getOrCreateThread: () => Promise<CloudInitializeResponse>;\n generateThreadTitle: () => Promise<void>;\n};\n\nexport const useCloudThreadListItemRuntime = () => {\n const cloudThreadListItemRuntime = useContext(\n CloudThreadListItemRuntimeContext,\n );\n if (!cloudThreadListItemRuntime)\n throw new Error(\n \"This component can only be used inside a useCloudThreadListRuntime's runtimeHook.\",\n );\n return cloudThreadListItemRuntime;\n};\n\ntype CloudThreadListItemRuntimeAdapter = {\n initialize: (threadId: string) => Promise<RemoteThreadInitializeResponse>;\n generateTitle: (remoteId: string) => Promise<void>;\n};\n\nclass CloudThreadListItemRuntimeImpl implements CloudThreadListItemRuntime {\n public constructor(\n private adapter: CloudThreadListItemRuntimeAdapter,\n private threadListItemRuntime: ThreadListItemRuntime,\n ) {}\n\n public __internal_setThreadListItemRuntime(\n threadListItemRuntime: ThreadListItemRuntime,\n ) {\n this.threadListItemRuntime = threadListItemRuntime;\n }\n\n public async getOrCreateThread(): Promise<CloudInitializeResponse> {\n const threadData = this.threadListItemRuntime.getState();\n if (threadData.remoteId)\n return threadData as RemoteThreadInitializeResponse;\n return this.adapter.initialize(threadData.id);\n }\n\n public generateThreadTitle() {\n const remoteId = this.threadListItemRuntime.getState().remoteId;\n if (!remoteId) throw new Error(\"Thread not initialized yet\");\n return this.adapter.generateTitle(remoteId);\n }\n}\n\ntype CloudThreadListItemRuntimeContextAdapterProps = {\n adapter: CloudThreadListItemRuntimeAdapter;\n children: React.ReactNode;\n};\n\nexport const CloudThreadListItemRuntimeProvider: FC<\n CloudThreadListItemRuntimeContextAdapterProps\n> = ({ adapter, children }) => {\n const threadListItemRuntime = useThreadListItemRuntime();\n const [cloudThreadListItemRuntime] = useState(\n () => new CloudThreadListItemRuntimeImpl(adapter, threadListItemRuntime),\n );\n\n useEffect(() => {\n cloudThreadListItemRuntime.__internal_setThreadListItemRuntime(\n threadListItemRuntime,\n );\n }, [cloudThreadListItemRuntime, threadListItemRuntime]);\n\n return (\n <CloudThreadListItemRuntimeContext.Provider\n value={cloudThreadListItemRuntime}\n >\n {children}\n </CloudThreadListItemRuntimeContext.Provider>\n );\n};\n\nconst CloudThreadListItemRuntimeContext =\n createContext<CloudThreadListItemRuntime | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAmE;AACnE,qBAAyC;AA4ErC;AA9DG,IAAM,gCAAgC,MAAM;AACjD,QAAM,iCAA6B;AAAA,IACjC;AAAA,EACF;AACA,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;AAOA,IAAM,iCAAN,MAA2E;AAAA,EAClE,YACG,SACA,uBACR;AAFQ;AACA;AAAA,EACP;AAAA,EAEI,oCACL,uBACA;AACA,SAAK,wBAAwB;AAAA,EAC/B;AAAA,EAEA,MAAa,oBAAsD;AACjE,UAAM,aAAa,KAAK,sBAAsB,SAAS;AACvD,QAAI,WAAW;AACb,aAAO;AACT,WAAO,KAAK,QAAQ,WAAW,WAAW,EAAE;AAAA,EAC9C;AAAA,EAEO,sBAAsB;AAC3B,UAAM,WAAW,KAAK,sBAAsB,SAAS,EAAE;AACvD,QAAI,CAAC,SAAU,OAAM,IAAI,MAAM,4BAA4B;AAC3D,WAAO,KAAK,QAAQ,cAAc,QAAQ;AAAA,EAC5C;AACF;AAOO,IAAM,qCAET,CAAC,EAAE,SAAS,SAAS,MAAM;AAC7B,QAAM,4BAAwB,yCAAyB;AACvD,QAAM,CAAC,0BAA0B,QAAI;AAAA,IACnC,MAAM,IAAI,+BAA+B,SAAS,qBAAqB;AAAA,EACzE;AAEA,8BAAU,MAAM;AACd,+BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,4BAA4B,qBAAqB,CAAC;AAEtD,SACE;AAAA,IAAC,kCAAkC;AAAA,IAAlC;AAAA,MACC,OAAO;AAAA,MAEN;AAAA;AAAA,EACH;AAEJ;AAEA,IAAM,wCACJ,4BAAiD,IAAI;","names":[]}
@@ -0,0 +1,60 @@
1
+ "use client";
2
+
3
+ // src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx
4
+ import { createContext, useContext, useEffect, useState } from "react";
5
+ import { useThreadListItemRuntime } from "../../../context/index.mjs";
6
+ import { jsx } from "react/jsx-runtime";
7
+ var useCloudThreadListItemRuntime = () => {
8
+ const cloudThreadListItemRuntime = useContext(
9
+ CloudThreadListItemRuntimeContext
10
+ );
11
+ if (!cloudThreadListItemRuntime)
12
+ throw new Error(
13
+ "This component can only be used inside a useCloudThreadListRuntime's runtimeHook."
14
+ );
15
+ return cloudThreadListItemRuntime;
16
+ };
17
+ var CloudThreadListItemRuntimeImpl = class {
18
+ constructor(adapter, threadListItemRuntime) {
19
+ this.adapter = adapter;
20
+ this.threadListItemRuntime = threadListItemRuntime;
21
+ }
22
+ __internal_setThreadListItemRuntime(threadListItemRuntime) {
23
+ this.threadListItemRuntime = threadListItemRuntime;
24
+ }
25
+ async getOrCreateThread() {
26
+ const threadData = this.threadListItemRuntime.getState();
27
+ if (threadData.remoteId)
28
+ return threadData;
29
+ return this.adapter.initialize(threadData.id);
30
+ }
31
+ generateThreadTitle() {
32
+ const remoteId = this.threadListItemRuntime.getState().remoteId;
33
+ if (!remoteId) throw new Error("Thread not initialized yet");
34
+ return this.adapter.generateTitle(remoteId);
35
+ }
36
+ };
37
+ var CloudThreadListItemRuntimeProvider = ({ adapter, children }) => {
38
+ const threadListItemRuntime = useThreadListItemRuntime();
39
+ const [cloudThreadListItemRuntime] = useState(
40
+ () => new CloudThreadListItemRuntimeImpl(adapter, threadListItemRuntime)
41
+ );
42
+ useEffect(() => {
43
+ cloudThreadListItemRuntime.__internal_setThreadListItemRuntime(
44
+ threadListItemRuntime
45
+ );
46
+ }, [cloudThreadListItemRuntime, threadListItemRuntime]);
47
+ return /* @__PURE__ */ jsx(
48
+ CloudThreadListItemRuntimeContext.Provider,
49
+ {
50
+ value: cloudThreadListItemRuntime,
51
+ children
52
+ }
53
+ );
54
+ };
55
+ var CloudThreadListItemRuntimeContext = createContext(null);
56
+ export {
57
+ CloudThreadListItemRuntimeProvider,
58
+ useCloudThreadListItemRuntime
59
+ };
60
+ //# sourceMappingURL=CloudThreadListItemRuntime.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, FC, useContext, useEffect, useState } from \"react\";\nimport { useThreadListItemRuntime } from \"../../../context\";\nimport { RemoteThreadInitializeResponse } from \"../types\";\nimport { ThreadListItemRuntime } from \"../../../api\";\n\ntype CloudInitializeResponse = {\n remoteId: string;\n externalId: string | undefined;\n};\n\ntype CloudThreadListItemRuntime = {\n getOrCreateThread: () => Promise<CloudInitializeResponse>;\n generateThreadTitle: () => Promise<void>;\n};\n\nexport const useCloudThreadListItemRuntime = () => {\n const cloudThreadListItemRuntime = useContext(\n CloudThreadListItemRuntimeContext,\n );\n if (!cloudThreadListItemRuntime)\n throw new Error(\n \"This component can only be used inside a useCloudThreadListRuntime's runtimeHook.\",\n );\n return cloudThreadListItemRuntime;\n};\n\ntype CloudThreadListItemRuntimeAdapter = {\n initialize: (threadId: string) => Promise<RemoteThreadInitializeResponse>;\n generateTitle: (remoteId: string) => Promise<void>;\n};\n\nclass CloudThreadListItemRuntimeImpl implements CloudThreadListItemRuntime {\n public constructor(\n private adapter: CloudThreadListItemRuntimeAdapter,\n private threadListItemRuntime: ThreadListItemRuntime,\n ) {}\n\n public __internal_setThreadListItemRuntime(\n threadListItemRuntime: ThreadListItemRuntime,\n ) {\n this.threadListItemRuntime = threadListItemRuntime;\n }\n\n public async getOrCreateThread(): Promise<CloudInitializeResponse> {\n const threadData = this.threadListItemRuntime.getState();\n if (threadData.remoteId)\n return threadData as RemoteThreadInitializeResponse;\n return this.adapter.initialize(threadData.id);\n }\n\n public generateThreadTitle() {\n const remoteId = this.threadListItemRuntime.getState().remoteId;\n if (!remoteId) throw new Error(\"Thread not initialized yet\");\n return this.adapter.generateTitle(remoteId);\n }\n}\n\ntype CloudThreadListItemRuntimeContextAdapterProps = {\n adapter: CloudThreadListItemRuntimeAdapter;\n children: React.ReactNode;\n};\n\nexport const CloudThreadListItemRuntimeProvider: FC<\n CloudThreadListItemRuntimeContextAdapterProps\n> = ({ adapter, children }) => {\n const threadListItemRuntime = useThreadListItemRuntime();\n const [cloudThreadListItemRuntime] = useState(\n () => new CloudThreadListItemRuntimeImpl(adapter, threadListItemRuntime),\n );\n\n useEffect(() => {\n cloudThreadListItemRuntime.__internal_setThreadListItemRuntime(\n threadListItemRuntime,\n );\n }, [cloudThreadListItemRuntime, threadListItemRuntime]);\n\n return (\n <CloudThreadListItemRuntimeContext.Provider\n value={cloudThreadListItemRuntime}\n >\n {children}\n </CloudThreadListItemRuntimeContext.Provider>\n );\n};\n\nconst CloudThreadListItemRuntimeContext =\n createContext<CloudThreadListItemRuntime | null>(null);\n"],"mappings":";;;AAEA,SAAS,eAAmB,YAAY,WAAW,gBAAgB;AACnE,SAAS,gCAAgC;AA4ErC;AA9DG,IAAM,gCAAgC,MAAM;AACjD,QAAM,6BAA6B;AAAA,IACjC;AAAA,EACF;AACA,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;AAOA,IAAM,iCAAN,MAA2E;AAAA,EAClE,YACG,SACA,uBACR;AAFQ;AACA;AAAA,EACP;AAAA,EAEI,oCACL,uBACA;AACA,SAAK,wBAAwB;AAAA,EAC/B;AAAA,EAEA,MAAa,oBAAsD;AACjE,UAAM,aAAa,KAAK,sBAAsB,SAAS;AACvD,QAAI,WAAW;AACb,aAAO;AACT,WAAO,KAAK,QAAQ,WAAW,WAAW,EAAE;AAAA,EAC9C;AAAA,EAEO,sBAAsB;AAC3B,UAAM,WAAW,KAAK,sBAAsB,SAAS,EAAE;AACvD,QAAI,CAAC,SAAU,OAAM,IAAI,MAAM,4BAA4B;AAC3D,WAAO,KAAK,QAAQ,cAAc,QAAQ;AAAA,EAC5C;AACF;AAOO,IAAM,qCAET,CAAC,EAAE,SAAS,SAAS,MAAM;AAC7B,QAAM,wBAAwB,yBAAyB;AACvD,QAAM,CAAC,0BAA0B,IAAI;AAAA,IACnC,MAAM,IAAI,+BAA+B,SAAS,qBAAqB;AAAA,EACzE;AAEA,YAAU,MAAM;AACd,+BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,4BAA4B,qBAAqB,CAAC;AAEtD,SACE;AAAA,IAAC,kCAAkC;AAAA,IAAlC;AAAA,MACC,OAAO;AAAA,MAEN;AAAA;AAAA,EACH;AAEJ;AAEA,IAAM,oCACJ,cAAiD,IAAI;","names":[]}
@@ -1,4 +1,4 @@
1
1
  export { useCloudThreadListRuntime } from "./useCloudThreadListRuntime";
2
- export { useCloudGetOrCreateThread } from "./useCloudGetOrCreateThread";
2
+ export { useCloudThreadListItemRuntime } from "./CloudThreadListItemRuntime";
3
3
  export { AssistantCloud } from "./AssistantCloud";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/remote-thread-list/cloud/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/remote-thread-list/cloud/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -21,17 +21,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var cloud_exports = {};
22
22
  __export(cloud_exports, {
23
23
  AssistantCloud: () => import_AssistantCloud.AssistantCloud,
24
- useCloudGetOrCreateThread: () => import_useCloudGetOrCreateThread.useCloudGetOrCreateThread,
24
+ useCloudThreadListItemRuntime: () => import_CloudThreadListItemRuntime.useCloudThreadListItemRuntime,
25
25
  useCloudThreadListRuntime: () => import_useCloudThreadListRuntime.useCloudThreadListRuntime
26
26
  });
27
27
  module.exports = __toCommonJS(cloud_exports);
28
28
  var import_useCloudThreadListRuntime = require("./useCloudThreadListRuntime.js");
29
- var import_useCloudGetOrCreateThread = require("./useCloudGetOrCreateThread.js");
29
+ var import_CloudThreadListItemRuntime = require("./CloudThreadListItemRuntime.js");
30
30
  var import_AssistantCloud = require("./AssistantCloud.js");
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
33
33
  AssistantCloud,
34
- useCloudGetOrCreateThread,
34
+ useCloudThreadListItemRuntime,
35
35
  useCloudThreadListRuntime
36
36
  });
37
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/index.ts"],"sourcesContent":["export { useCloudThreadListRuntime } from \"./useCloudThreadListRuntime\";\nexport { useCloudGetOrCreateThread } from \"./useCloudGetOrCreateThread\";\nexport { AssistantCloud } from \"./AssistantCloud\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCAA0C;AAC1C,uCAA0C;AAC1C,4BAA+B;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/index.ts"],"sourcesContent":["export { useCloudThreadListRuntime } from \"./useCloudThreadListRuntime\";\nexport { useCloudThreadListItemRuntime } from \"./CloudThreadListItemRuntime\";\nexport { AssistantCloud } from \"./AssistantCloud\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCAA0C;AAC1C,wCAA8C;AAC9C,4BAA+B;","names":[]}
@@ -1,10 +1,10 @@
1
1
  // src/runtimes/remote-thread-list/cloud/index.ts
2
2
  import { useCloudThreadListRuntime } from "./useCloudThreadListRuntime.mjs";
3
- import { useCloudGetOrCreateThread } from "./useCloudGetOrCreateThread.mjs";
3
+ import { useCloudThreadListItemRuntime } from "./CloudThreadListItemRuntime.mjs";
4
4
  import { AssistantCloud } from "./AssistantCloud.mjs";
5
5
  export {
6
6
  AssistantCloud,
7
- useCloudGetOrCreateThread,
7
+ useCloudThreadListItemRuntime,
8
8
  useCloudThreadListRuntime
9
9
  };
10
10
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/index.ts"],"sourcesContent":["export { useCloudThreadListRuntime } from \"./useCloudThreadListRuntime\";\nexport { useCloudGetOrCreateThread } from \"./useCloudGetOrCreateThread\";\nexport { AssistantCloud } from \"./AssistantCloud\";\n"],"mappings":";AAAA,SAAS,iCAAiC;AAC1C,SAAS,iCAAiC;AAC1C,SAAS,sBAAsB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/index.ts"],"sourcesContent":["export { useCloudThreadListRuntime } from \"./useCloudThreadListRuntime\";\nexport { useCloudThreadListItemRuntime } from \"./CloudThreadListItemRuntime\";\nexport { AssistantCloud } from \"./AssistantCloud\";\n"],"mappings":";AAAA,SAAS,iCAAiC;AAC1C,SAAS,qCAAqC;AAC9C,SAAS,sBAAsB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useCloudThreadListRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,cAAc,CAAC;IAEtB,WAAW,EAAE,MAAM,gBAAgB,CAAC;IAEpC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAa,sBAAsB,qBA6ExE,CAAC"}
1
+ {"version":3,"file":"useCloudThreadListRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKhD,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,cAAc,CAAC;IAEtB,WAAW,EAAE,MAAM,gBAAgB,CAAC;IAEpC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,CAAC;AAWF,eAAO,MAAM,yBAAyB,YAAa,sBAAsB,qBA8FxE,CAAC"}
@@ -26,19 +26,28 @@ __export(useCloudThreadListRuntime_exports, {
26
26
  module.exports = __toCommonJS(useCloudThreadListRuntime_exports);
27
27
  var import_react = require("react");
28
28
  var import_useRemoteThreadListRuntime = require("../useRemoteThreadListRuntime.js");
29
- var import_CloudContext = require("./CloudContext.js");
29
+ var import_CloudThreadListItemRuntime = require("./CloudThreadListItemRuntime.js");
30
+ var import_edge = require("../../edge/index.js");
30
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
+ var beginnable = (callback) => {
33
+ let task = void 0;
34
+ return () => {
35
+ if (task === void 0) task = callback();
36
+ return task;
37
+ };
38
+ };
31
39
  var useCloudThreadListRuntime = (adapter) => {
32
40
  const adapterRef = (0, import_react.useRef)(adapter);
33
41
  (0, import_react.useEffect)(() => {
34
42
  adapterRef.current = adapter;
35
43
  }, [adapter]);
36
- const cloudContextValue = (0, import_react.useMemo)(() => {
37
- const subscribers = /* @__PURE__ */ new Set();
44
+ const [subscribers] = (0, import_react.useState)(() => /* @__PURE__ */ new Set());
45
+ const cloudThreadListItemRuntimeAdapter = (0, import_react.useMemo)(() => {
38
46
  return {
39
- initialize: async () => {
40
- const createTask = adapterRef.current.create?.() ?? Promise.resolve();
41
- const task = createTask.then(async (t) => {
47
+ initialize: async (threadId) => {
48
+ const begin = beginnable(async () => {
49
+ const createTask = adapterRef.current.create?.() ?? Promise.resolve();
50
+ const t = await createTask;
42
51
  const external_id = t ? t.externalId : void 0;
43
52
  const { thread_id } = await adapterRef.current.cloud.threads.create({
44
53
  title: "New Thread",
@@ -48,18 +57,25 @@ var useCloudThreadListRuntime = (adapter) => {
48
57
  return { externalId: external_id, remoteId: thread_id };
49
58
  });
50
59
  for (const subscriber of subscribers) {
51
- subscriber(task);
60
+ subscriber.onInitialize(threadId, begin);
52
61
  }
53
- return task;
62
+ return begin();
54
63
  },
55
- subscribe: (callback) => {
56
- subscribers.add(callback);
57
- return () => {
58
- subscribers.delete(callback);
59
- };
64
+ generateTitle: async (remoteId) => {
65
+ const messages = runtime.thread.getState().messages;
66
+ const begin = beginnable(() => {
67
+ return adapterRef.current.cloud.runs.stream({
68
+ thread_id: remoteId,
69
+ assistant_id: "system/thread_title",
70
+ messages: (0, import_edge.toCoreMessages)(messages)
71
+ });
72
+ });
73
+ for (const subscriber of subscribers) {
74
+ subscriber.onGenerateTitle(remoteId, begin);
75
+ }
60
76
  }
61
77
  };
62
- }, []);
78
+ }, [subscribers]);
63
79
  const runtime = (0, import_useRemoteThreadListRuntime.useRemoteThreadListRuntime)({
64
80
  runtimeHook: adapter.runtimeHook,
65
81
  list: async () => {
@@ -86,12 +102,24 @@ var useCloudThreadListRuntime = (adapter) => {
86
102
  await adapter.delete?.(threadId);
87
103
  return adapter.cloud.threads.delete(threadId);
88
104
  },
89
- onInitialize: (callback) => {
90
- return cloudContextValue.subscribe(callback);
105
+ subscribe: (callback) => {
106
+ subscribers.add(callback);
107
+ return () => {
108
+ subscribers.delete(callback);
109
+ };
91
110
  },
92
- unstable_Provider: ({ children }) => {
93
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_CloudContext.CloudContext.Provider, { value: cloudContextValue, children });
94
- }
111
+ unstable_Provider: (0, import_react.useCallback)(
112
+ ({ children }) => {
113
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
114
+ import_CloudThreadListItemRuntime.CloudThreadListItemRuntimeProvider,
115
+ {
116
+ adapter: cloudThreadListItemRuntimeAdapter,
117
+ children
118
+ }
119
+ );
120
+ },
121
+ [cloudThreadListItemRuntimeAdapter]
122
+ )
95
123
  });
96
124
  return runtime;
97
125
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { PropsWithChildren, useEffect, useMemo, useRef } from \"react\";\nimport { useRemoteThreadListRuntime } from \"../useRemoteThreadListRuntime\";\nimport { AssistantCloud } from \"./AssistantCloud\";\nimport { CloudContext, CloudInitializeResponse } from \"./CloudContext\";\nimport { AssistantRuntime } from \"../../../api\";\n\ntype ThreadData = {\n externalId: string;\n};\n\ntype CloudThreadListAdapter = {\n cloud: AssistantCloud;\n\n runtimeHook: () => AssistantRuntime;\n\n create?(): Promise<ThreadData>;\n delete?(threadId: string): Promise<void>;\n};\n\nexport const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {\n const adapterRef = useRef(adapter);\n useEffect(() => {\n adapterRef.current = adapter;\n }, [adapter]);\n\n const cloudContextValue = useMemo(() => {\n const subscribers = new Set<\n (result: Promise<CloudInitializeResponse>) => void\n >();\n return {\n initialize: async () => {\n const createTask = adapterRef.current.create?.() ?? Promise.resolve();\n const task = createTask.then(async (t) => {\n const external_id = t ? t.externalId : undefined;\n const { thread_id } = await adapterRef.current.cloud.threads.create({\n title: \"New Thread\",\n last_message_at: new Date(),\n external_id,\n });\n return { externalId: external_id, remoteId: thread_id };\n });\n for (const subscriber of subscribers) {\n subscriber(task);\n }\n return task;\n },\n subscribe: (\n callback: (result: Promise<CloudInitializeResponse>) => void,\n ) => {\n subscribers.add(callback);\n return () => {\n subscribers.delete(callback);\n };\n },\n };\n }, []);\n\n const runtime = useRemoteThreadListRuntime({\n runtimeHook: adapter.runtimeHook,\n list: async () => {\n const { threads } = await adapter.cloud.threads.list();\n return {\n threads: threads.map((t) => ({\n status: t.is_archived ? \"archived\" : \"regular\",\n remoteId: t.id,\n title: t.title,\n externalId: t.external_id ?? undefined,\n })),\n };\n },\n rename: async (threadId, newTitle) => {\n return adapter.cloud.threads.update(threadId, { title: newTitle });\n },\n archive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: true });\n },\n unarchive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: false });\n },\n delete: async (threadId) => {\n await adapter.delete?.(threadId);\n return adapter.cloud.threads.delete(threadId);\n },\n onInitialize: (callback) => {\n return cloudContextValue.subscribe(callback);\n },\n unstable_Provider: ({ children }: PropsWithChildren) => {\n return (\n <CloudContext.Provider value={cloudContextValue}>\n {children}\n </CloudContext.Provider>\n );\n },\n });\n\n return runtime;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA8D;AAC9D,wCAA2C;AAE3C,0BAAsD;AAqF9C;AArED,IAAM,4BAA4B,CAAC,YAAoC;AAC5E,QAAM,iBAAa,qBAAO,OAAO;AACjC,8BAAU,MAAM;AACd,eAAW,UAAU;AAAA,EACvB,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,wBAAoB,sBAAQ,MAAM;AACtC,UAAM,cAAc,oBAAI,IAEtB;AACF,WAAO;AAAA,MACL,YAAY,YAAY;AACtB,cAAM,aAAa,WAAW,QAAQ,SAAS,KAAK,QAAQ,QAAQ;AACpE,cAAM,OAAO,WAAW,KAAK,OAAO,MAAM;AACxC,gBAAM,cAAc,IAAI,EAAE,aAAa;AACvC,gBAAM,EAAE,UAAU,IAAI,MAAM,WAAW,QAAQ,MAAM,QAAQ,OAAO;AAAA,YAClE,OAAO;AAAA,YACP,iBAAiB,oBAAI,KAAK;AAAA,YAC1B;AAAA,UACF,CAAC;AACD,iBAAO,EAAE,YAAY,aAAa,UAAU,UAAU;AAAA,QACxD,CAAC;AACD,mBAAW,cAAc,aAAa;AACpC,qBAAW,IAAI;AAAA,QACjB;AACA,eAAO;AAAA,MACT;AAAA,MACA,WAAW,CACT,aACG;AACH,oBAAY,IAAI,QAAQ;AACxB,eAAO,MAAM;AACX,sBAAY,OAAO,QAAQ;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,cAAU,8DAA2B;AAAA,IACzC,aAAa,QAAQ;AAAA,IACrB,MAAM,YAAY;AAChB,YAAM,EAAE,QAAQ,IAAI,MAAM,QAAQ,MAAM,QAAQ,KAAK;AACrD,aAAO;AAAA,QACL,SAAS,QAAQ,IAAI,CAAC,OAAO;AAAA,UAC3B,QAAQ,EAAE,cAAc,aAAa;AAAA,UACrC,UAAU,EAAE;AAAA,UACZ,OAAO,EAAE;AAAA,UACT,YAAY,EAAE,eAAe;AAAA,QAC/B,EAAE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,QAAQ,OAAO,UAAU,aAAa;AACpC,aAAO,QAAQ,MAAM,QAAQ,OAAO,UAAU,EAAE,OAAO,SAAS,CAAC;AAAA,IACnE;AAAA,IACA,SAAS,OAAO,aAAa;AAC3B,aAAO,QAAQ,MAAM,QAAQ,OAAO,UAAU,EAAE,aAAa,KAAK,CAAC;AAAA,IACrE;AAAA,IACA,WAAW,OAAO,aAAa;AAC7B,aAAO,QAAQ,MAAM,QAAQ,OAAO,UAAU,EAAE,aAAa,MAAM,CAAC;AAAA,IACtE;AAAA,IACA,QAAQ,OAAO,aAAa;AAC1B,YAAM,QAAQ,SAAS,QAAQ;AAC/B,aAAO,QAAQ,MAAM,QAAQ,OAAO,QAAQ;AAAA,IAC9C;AAAA,IACA,cAAc,CAAC,aAAa;AAC1B,aAAO,kBAAkB,UAAU,QAAQ;AAAA,IAC7C;AAAA,IACA,mBAAmB,CAAC,EAAE,SAAS,MAAyB;AACtD,aACE,4CAAC,iCAAa,UAAb,EAAsB,OAAO,mBAC3B,UACH;AAAA,IAEJ;AAAA,EACF,CAAC;AAED,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n PropsWithChildren,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useRemoteThreadListRuntime } from \"../useRemoteThreadListRuntime\";\nimport { AssistantCloud } from \"./AssistantCloud\";\nimport { AssistantRuntime } from \"../../../api\";\nimport { RemoteThreadListSubscriber } from \"../types\";\nimport { CloudThreadListItemRuntimeProvider } from \"./CloudThreadListItemRuntime\";\nimport { toCoreMessages } from \"../../edge\";\n\ntype ThreadData = {\n externalId: string;\n};\n\ntype CloudThreadListAdapter = {\n cloud: AssistantCloud;\n\n runtimeHook: () => AssistantRuntime;\n\n create?(): Promise<ThreadData>;\n delete?(threadId: string): Promise<void>;\n};\n\nconst beginnable = <T,>(callback: () => Promise<T>) => {\n let task: Promise<T> | undefined = undefined;\n\n return () => {\n if (task === undefined) task = callback();\n return task;\n };\n};\n\nexport const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {\n const adapterRef = useRef(adapter);\n useEffect(() => {\n adapterRef.current = adapter;\n }, [adapter]);\n\n const [subscribers] = useState(() => new Set<RemoteThreadListSubscriber>());\n\n const cloudThreadListItemRuntimeAdapter = useMemo(() => {\n return {\n initialize: async (threadId: string) => {\n const begin = beginnable(async () => {\n const createTask = adapterRef.current.create?.() ?? Promise.resolve();\n const t = await createTask;\n const external_id = t ? t.externalId : undefined;\n const { thread_id } = await adapterRef.current.cloud.threads.create({\n title: \"New Thread\",\n last_message_at: new Date(),\n external_id,\n });\n return { externalId: external_id, remoteId: thread_id };\n });\n\n for (const subscriber of subscribers) {\n subscriber.onInitialize(threadId, begin);\n }\n\n // note: onInitialize immediately throws if there are any issues\n // therefore begin is safe to call here\n return begin();\n },\n generateTitle: async (remoteId: string) => {\n const messages = runtime.thread.getState().messages;\n const begin = beginnable(() => {\n return adapterRef.current.cloud.runs.stream({\n thread_id: remoteId,\n assistant_id: \"system/thread_title\",\n messages: toCoreMessages(messages),\n });\n });\n for (const subscriber of subscribers) {\n subscriber.onGenerateTitle(remoteId, begin);\n }\n },\n };\n }, [subscribers]);\n\n const runtime = useRemoteThreadListRuntime({\n runtimeHook: adapter.runtimeHook,\n list: async () => {\n const { threads } = await adapter.cloud.threads.list();\n return {\n threads: threads.map((t) => ({\n status: t.is_archived ? \"archived\" : \"regular\",\n remoteId: t.id,\n title: t.title,\n externalId: t.external_id ?? undefined,\n })),\n };\n },\n rename: async (threadId, newTitle) => {\n return adapter.cloud.threads.update(threadId, { title: newTitle });\n },\n archive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: true });\n },\n unarchive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: false });\n },\n delete: async (threadId) => {\n await adapter.delete?.(threadId);\n return adapter.cloud.threads.delete(threadId);\n },\n subscribe: (callback) => {\n subscribers.add(callback);\n return () => {\n subscribers.delete(callback);\n };\n },\n unstable_Provider: useCallback(\n ({ children }: PropsWithChildren) => {\n return (\n <CloudThreadListItemRuntimeProvider\n adapter={cloudThreadListItemRuntimeAdapter}\n >\n {children}\n </CloudThreadListItemRuntimeProvider>\n );\n },\n [cloudThreadListItemRuntimeAdapter],\n ),\n });\n\n return runtime;\n};\n"],"mappings":"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","names":[]}
@@ -1,21 +1,36 @@
1
1
  "use client";
2
2
 
3
3
  // src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx
4
- import { useEffect, useMemo, useRef } from "react";
4
+ import {
5
+ useCallback,
6
+ useEffect,
7
+ useMemo,
8
+ useRef,
9
+ useState
10
+ } from "react";
5
11
  import { useRemoteThreadListRuntime } from "../useRemoteThreadListRuntime.mjs";
6
- import { CloudContext } from "./CloudContext.mjs";
12
+ import { CloudThreadListItemRuntimeProvider } from "./CloudThreadListItemRuntime.mjs";
13
+ import { toCoreMessages } from "../../edge/index.mjs";
7
14
  import { jsx } from "react/jsx-runtime";
15
+ var beginnable = (callback) => {
16
+ let task = void 0;
17
+ return () => {
18
+ if (task === void 0) task = callback();
19
+ return task;
20
+ };
21
+ };
8
22
  var useCloudThreadListRuntime = (adapter) => {
9
23
  const adapterRef = useRef(adapter);
10
24
  useEffect(() => {
11
25
  adapterRef.current = adapter;
12
26
  }, [adapter]);
13
- const cloudContextValue = useMemo(() => {
14
- const subscribers = /* @__PURE__ */ new Set();
27
+ const [subscribers] = useState(() => /* @__PURE__ */ new Set());
28
+ const cloudThreadListItemRuntimeAdapter = useMemo(() => {
15
29
  return {
16
- initialize: async () => {
17
- const createTask = adapterRef.current.create?.() ?? Promise.resolve();
18
- const task = createTask.then(async (t) => {
30
+ initialize: async (threadId) => {
31
+ const begin = beginnable(async () => {
32
+ const createTask = adapterRef.current.create?.() ?? Promise.resolve();
33
+ const t = await createTask;
19
34
  const external_id = t ? t.externalId : void 0;
20
35
  const { thread_id } = await adapterRef.current.cloud.threads.create({
21
36
  title: "New Thread",
@@ -25,18 +40,25 @@ var useCloudThreadListRuntime = (adapter) => {
25
40
  return { externalId: external_id, remoteId: thread_id };
26
41
  });
27
42
  for (const subscriber of subscribers) {
28
- subscriber(task);
43
+ subscriber.onInitialize(threadId, begin);
29
44
  }
30
- return task;
45
+ return begin();
31
46
  },
32
- subscribe: (callback) => {
33
- subscribers.add(callback);
34
- return () => {
35
- subscribers.delete(callback);
36
- };
47
+ generateTitle: async (remoteId) => {
48
+ const messages = runtime.thread.getState().messages;
49
+ const begin = beginnable(() => {
50
+ return adapterRef.current.cloud.runs.stream({
51
+ thread_id: remoteId,
52
+ assistant_id: "system/thread_title",
53
+ messages: toCoreMessages(messages)
54
+ });
55
+ });
56
+ for (const subscriber of subscribers) {
57
+ subscriber.onGenerateTitle(remoteId, begin);
58
+ }
37
59
  }
38
60
  };
39
- }, []);
61
+ }, [subscribers]);
40
62
  const runtime = useRemoteThreadListRuntime({
41
63
  runtimeHook: adapter.runtimeHook,
42
64
  list: async () => {
@@ -63,12 +85,24 @@ var useCloudThreadListRuntime = (adapter) => {
63
85
  await adapter.delete?.(threadId);
64
86
  return adapter.cloud.threads.delete(threadId);
65
87
  },
66
- onInitialize: (callback) => {
67
- return cloudContextValue.subscribe(callback);
88
+ subscribe: (callback) => {
89
+ subscribers.add(callback);
90
+ return () => {
91
+ subscribers.delete(callback);
92
+ };
68
93
  },
69
- unstable_Provider: ({ children }) => {
70
- return /* @__PURE__ */ jsx(CloudContext.Provider, { value: cloudContextValue, children });
71
- }
94
+ unstable_Provider: useCallback(
95
+ ({ children }) => {
96
+ return /* @__PURE__ */ jsx(
97
+ CloudThreadListItemRuntimeProvider,
98
+ {
99
+ adapter: cloudThreadListItemRuntimeAdapter,
100
+ children
101
+ }
102
+ );
103
+ },
104
+ [cloudThreadListItemRuntimeAdapter]
105
+ )
72
106
  });
73
107
  return runtime;
74
108
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { PropsWithChildren, useEffect, useMemo, useRef } from \"react\";\nimport { useRemoteThreadListRuntime } from \"../useRemoteThreadListRuntime\";\nimport { AssistantCloud } from \"./AssistantCloud\";\nimport { CloudContext, CloudInitializeResponse } from \"./CloudContext\";\nimport { AssistantRuntime } from \"../../../api\";\n\ntype ThreadData = {\n externalId: string;\n};\n\ntype CloudThreadListAdapter = {\n cloud: AssistantCloud;\n\n runtimeHook: () => AssistantRuntime;\n\n create?(): Promise<ThreadData>;\n delete?(threadId: string): Promise<void>;\n};\n\nexport const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {\n const adapterRef = useRef(adapter);\n useEffect(() => {\n adapterRef.current = adapter;\n }, [adapter]);\n\n const cloudContextValue = useMemo(() => {\n const subscribers = new Set<\n (result: Promise<CloudInitializeResponse>) => void\n >();\n return {\n initialize: async () => {\n const createTask = adapterRef.current.create?.() ?? Promise.resolve();\n const task = createTask.then(async (t) => {\n const external_id = t ? t.externalId : undefined;\n const { thread_id } = await adapterRef.current.cloud.threads.create({\n title: \"New Thread\",\n last_message_at: new Date(),\n external_id,\n });\n return { externalId: external_id, remoteId: thread_id };\n });\n for (const subscriber of subscribers) {\n subscriber(task);\n }\n return task;\n },\n subscribe: (\n callback: (result: Promise<CloudInitializeResponse>) => void,\n ) => {\n subscribers.add(callback);\n return () => {\n subscribers.delete(callback);\n };\n },\n };\n }, []);\n\n const runtime = useRemoteThreadListRuntime({\n runtimeHook: adapter.runtimeHook,\n list: async () => {\n const { threads } = await adapter.cloud.threads.list();\n return {\n threads: threads.map((t) => ({\n status: t.is_archived ? \"archived\" : \"regular\",\n remoteId: t.id,\n title: t.title,\n externalId: t.external_id ?? undefined,\n })),\n };\n },\n rename: async (threadId, newTitle) => {\n return adapter.cloud.threads.update(threadId, { title: newTitle });\n },\n archive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: true });\n },\n unarchive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: false });\n },\n delete: async (threadId) => {\n await adapter.delete?.(threadId);\n return adapter.cloud.threads.delete(threadId);\n },\n onInitialize: (callback) => {\n return cloudContextValue.subscribe(callback);\n },\n unstable_Provider: ({ children }: PropsWithChildren) => {\n return (\n <CloudContext.Provider value={cloudContextValue}>\n {children}\n </CloudContext.Provider>\n );\n },\n });\n\n return runtime;\n};\n"],"mappings":";;;AAEA,SAA4B,WAAW,SAAS,cAAc;AAC9D,SAAS,kCAAkC;AAE3C,SAAS,oBAA6C;AAqF9C;AArED,IAAM,4BAA4B,CAAC,YAAoC;AAC5E,QAAM,aAAa,OAAO,OAAO;AACjC,YAAU,MAAM;AACd,eAAW,UAAU;AAAA,EACvB,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,oBAAoB,QAAQ,MAAM;AACtC,UAAM,cAAc,oBAAI,IAEtB;AACF,WAAO;AAAA,MACL,YAAY,YAAY;AACtB,cAAM,aAAa,WAAW,QAAQ,SAAS,KAAK,QAAQ,QAAQ;AACpE,cAAM,OAAO,WAAW,KAAK,OAAO,MAAM;AACxC,gBAAM,cAAc,IAAI,EAAE,aAAa;AACvC,gBAAM,EAAE,UAAU,IAAI,MAAM,WAAW,QAAQ,MAAM,QAAQ,OAAO;AAAA,YAClE,OAAO;AAAA,YACP,iBAAiB,oBAAI,KAAK;AAAA,YAC1B;AAAA,UACF,CAAC;AACD,iBAAO,EAAE,YAAY,aAAa,UAAU,UAAU;AAAA,QACxD,CAAC;AACD,mBAAW,cAAc,aAAa;AACpC,qBAAW,IAAI;AAAA,QACjB;AACA,eAAO;AAAA,MACT;AAAA,MACA,WAAW,CACT,aACG;AACH,oBAAY,IAAI,QAAQ;AACxB,eAAO,MAAM;AACX,sBAAY,OAAO,QAAQ;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,UAAU,2BAA2B;AAAA,IACzC,aAAa,QAAQ;AAAA,IACrB,MAAM,YAAY;AAChB,YAAM,EAAE,QAAQ,IAAI,MAAM,QAAQ,MAAM,QAAQ,KAAK;AACrD,aAAO;AAAA,QACL,SAAS,QAAQ,IAAI,CAAC,OAAO;AAAA,UAC3B,QAAQ,EAAE,cAAc,aAAa;AAAA,UACrC,UAAU,EAAE;AAAA,UACZ,OAAO,EAAE;AAAA,UACT,YAAY,EAAE,eAAe;AAAA,QAC/B,EAAE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,QAAQ,OAAO,UAAU,aAAa;AACpC,aAAO,QAAQ,MAAM,QAAQ,OAAO,UAAU,EAAE,OAAO,SAAS,CAAC;AAAA,IACnE;AAAA,IACA,SAAS,OAAO,aAAa;AAC3B,aAAO,QAAQ,MAAM,QAAQ,OAAO,UAAU,EAAE,aAAa,KAAK,CAAC;AAAA,IACrE;AAAA,IACA,WAAW,OAAO,aAAa;AAC7B,aAAO,QAAQ,MAAM,QAAQ,OAAO,UAAU,EAAE,aAAa,MAAM,CAAC;AAAA,IACtE;AAAA,IACA,QAAQ,OAAO,aAAa;AAC1B,YAAM,QAAQ,SAAS,QAAQ;AAC/B,aAAO,QAAQ,MAAM,QAAQ,OAAO,QAAQ;AAAA,IAC9C;AAAA,IACA,cAAc,CAAC,aAAa;AAC1B,aAAO,kBAAkB,UAAU,QAAQ;AAAA,IAC7C;AAAA,IACA,mBAAmB,CAAC,EAAE,SAAS,MAAyB;AACtD,aACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,mBAC3B,UACH;AAAA,IAEJ;AAAA,EACF,CAAC;AAED,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n PropsWithChildren,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useRemoteThreadListRuntime } from \"../useRemoteThreadListRuntime\";\nimport { AssistantCloud } from \"./AssistantCloud\";\nimport { AssistantRuntime } from \"../../../api\";\nimport { RemoteThreadListSubscriber } from \"../types\";\nimport { CloudThreadListItemRuntimeProvider } from \"./CloudThreadListItemRuntime\";\nimport { toCoreMessages } from \"../../edge\";\n\ntype ThreadData = {\n externalId: string;\n};\n\ntype CloudThreadListAdapter = {\n cloud: AssistantCloud;\n\n runtimeHook: () => AssistantRuntime;\n\n create?(): Promise<ThreadData>;\n delete?(threadId: string): Promise<void>;\n};\n\nconst beginnable = <T,>(callback: () => Promise<T>) => {\n let task: Promise<T> | undefined = undefined;\n\n return () => {\n if (task === undefined) task = callback();\n return task;\n };\n};\n\nexport const useCloudThreadListRuntime = (adapter: CloudThreadListAdapter) => {\n const adapterRef = useRef(adapter);\n useEffect(() => {\n adapterRef.current = adapter;\n }, [adapter]);\n\n const [subscribers] = useState(() => new Set<RemoteThreadListSubscriber>());\n\n const cloudThreadListItemRuntimeAdapter = useMemo(() => {\n return {\n initialize: async (threadId: string) => {\n const begin = beginnable(async () => {\n const createTask = adapterRef.current.create?.() ?? Promise.resolve();\n const t = await createTask;\n const external_id = t ? t.externalId : undefined;\n const { thread_id } = await adapterRef.current.cloud.threads.create({\n title: \"New Thread\",\n last_message_at: new Date(),\n external_id,\n });\n return { externalId: external_id, remoteId: thread_id };\n });\n\n for (const subscriber of subscribers) {\n subscriber.onInitialize(threadId, begin);\n }\n\n // note: onInitialize immediately throws if there are any issues\n // therefore begin is safe to call here\n return begin();\n },\n generateTitle: async (remoteId: string) => {\n const messages = runtime.thread.getState().messages;\n const begin = beginnable(() => {\n return adapterRef.current.cloud.runs.stream({\n thread_id: remoteId,\n assistant_id: \"system/thread_title\",\n messages: toCoreMessages(messages),\n });\n });\n for (const subscriber of subscribers) {\n subscriber.onGenerateTitle(remoteId, begin);\n }\n },\n };\n }, [subscribers]);\n\n const runtime = useRemoteThreadListRuntime({\n runtimeHook: adapter.runtimeHook,\n list: async () => {\n const { threads } = await adapter.cloud.threads.list();\n return {\n threads: threads.map((t) => ({\n status: t.is_archived ? \"archived\" : \"regular\",\n remoteId: t.id,\n title: t.title,\n externalId: t.external_id ?? undefined,\n })),\n };\n },\n rename: async (threadId, newTitle) => {\n return adapter.cloud.threads.update(threadId, { title: newTitle });\n },\n archive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: true });\n },\n unarchive: async (threadId) => {\n return adapter.cloud.threads.update(threadId, { is_archived: false });\n },\n delete: async (threadId) => {\n await adapter.delete?.(threadId);\n return adapter.cloud.threads.delete(threadId);\n },\n subscribe: (callback) => {\n subscribers.add(callback);\n return () => {\n subscribers.delete(callback);\n };\n },\n unstable_Provider: useCallback(\n ({ children }: PropsWithChildren) => {\n return (\n <CloudThreadListItemRuntimeProvider\n adapter={cloudThreadListItemRuntimeAdapter}\n >\n {children}\n </CloudThreadListItemRuntimeProvider>\n );\n },\n [cloudThreadListItemRuntimeAdapter],\n ),\n });\n\n return runtime;\n};\n"],"mappings":"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","names":[]}
@@ -1,2 +1,4 @@
1
+ export { useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime } from "./useRemoteThreadListRuntime";
2
+ export type { RemoteThreadListAdapter as unstable_RemoteThreadListAdapter } from "./types";
1
3
  export * from "./cloud";
2
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":"AACA,cAAc,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;AAC3F,cAAc,SAAS,CAAC"}