@assistant-ui/react 0.7.38 → 0.7.39

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 (179) 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 +4 -2
  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/types.d.ts +10 -2
  119. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  120. package/dist/runtimes/remote-thread-list/types.js.map +1 -1
  121. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  122. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +1 -0
  123. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  124. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +1 -0
  125. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  126. package/dist/styles/index.css.map +1 -1
  127. package/dist/ui/base/button.d.ts.map +1 -1
  128. package/dist/ui/base/button.js.map +1 -1
  129. package/dist/ui/base/button.mjs.map +1 -1
  130. package/dist/ui/base/dialog.js.map +1 -1
  131. package/dist/ui/base/dialog.mjs.map +1 -1
  132. package/dist/utils/createActionButton.d.ts +2 -2
  133. package/dist/utils/createActionButton.d.ts.map +1 -1
  134. package/dist/utils/createActionButton.js.map +1 -1
  135. package/dist/utils/createActionButton.mjs.map +1 -1
  136. package/package.json +7 -10
  137. package/src/primitives/actionBar/ActionBarRoot.tsx +2 -2
  138. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +2 -2
  139. package/src/primitives/assistantModal/AssistantModalContent.tsx +2 -2
  140. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +2 -2
  141. package/src/primitives/assistantModal/scope.tsx +1 -1
  142. package/src/primitives/attachment/AttachmentRoot.tsx +2 -2
  143. package/src/primitives/attachment/AttachmentThumb.tsx +2 -2
  144. package/src/primitives/branchPicker/BranchPickerRoot.tsx +2 -2
  145. package/src/primitives/composer/ComposerRoot.tsx +2 -2
  146. package/src/primitives/contentPart/ContentPartImage.tsx +2 -2
  147. package/src/primitives/contentPart/ContentPartText.tsx +2 -2
  148. package/src/primitives/message/MessageRoot.tsx +2 -2
  149. package/src/primitives/thread/ThreadRoot.tsx +2 -2
  150. package/src/primitives/thread/ThreadViewport.tsx +2 -2
  151. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +2 -2
  152. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +2 -2
  153. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +40 -24
  154. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +119 -80
  155. package/src/runtimes/remote-thread-list/cloud/AssistantCloud.tsx +3 -0
  156. package/src/runtimes/remote-thread-list/cloud/AssistantCloudAPI.tsx +36 -16
  157. package/src/runtimes/remote-thread-list/cloud/AssistantCloudAuthStrategy.tsx +5 -6
  158. package/src/runtimes/remote-thread-list/cloud/AssistantCloudRuns.tsx +26 -0
  159. package/src/runtimes/remote-thread-list/cloud/CloudThreadListItemRuntime.tsx +89 -0
  160. package/src/runtimes/remote-thread-list/cloud/index.ts +1 -1
  161. package/src/runtimes/remote-thread-list/cloud/useCloudThreadListRuntime.tsx +63 -28
  162. package/src/runtimes/remote-thread-list/types.tsx +18 -4
  163. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +1 -0
  164. package/src/ui/base/button.tsx +2 -2
  165. package/src/ui/base/dialog.tsx +5 -5
  166. package/src/utils/createActionButton.tsx +2 -2
  167. package/dist/runtimes/remote-thread-list/cloud/CloudContext.d.ts +0 -10
  168. package/dist/runtimes/remote-thread-list/cloud/CloudContext.d.ts.map +0 -1
  169. package/dist/runtimes/remote-thread-list/cloud/CloudContext.js.map +0 -1
  170. package/dist/runtimes/remote-thread-list/cloud/CloudContext.mjs +0 -7
  171. package/dist/runtimes/remote-thread-list/cloud/CloudContext.mjs.map +0 -1
  172. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.d.ts +0 -4
  173. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.d.ts.map +0 -1
  174. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.js +0 -46
  175. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.js.map +0 -1
  176. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.mjs +0 -22
  177. package/dist/runtimes/remote-thread-list/cloud/useCloudGetOrCreateThread.mjs.map +0 -1
  178. package/src/runtimes/remote-thread-list/cloud/CloudContext.tsx +0 -12
  179. 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":[]}