@assistant-ui/react 0.5.98 → 0.5.100

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. package/dist/api/AssistantRuntime.d.ts +4 -4
  2. package/dist/api/AssistantRuntime.d.ts.map +1 -1
  3. package/dist/api/AssistantRuntime.js +7 -7
  4. package/dist/api/AssistantRuntime.js.map +1 -1
  5. package/dist/api/AssistantRuntime.mjs +7 -9
  6. package/dist/api/AssistantRuntime.mjs.map +1 -1
  7. package/dist/api/ComposerRuntime.d.ts +7 -0
  8. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  9. package/dist/api/ComposerRuntime.js +13 -0
  10. package/dist/api/ComposerRuntime.js.map +1 -1
  11. package/dist/api/ComposerRuntime.mjs +13 -0
  12. package/dist/api/ComposerRuntime.mjs.map +1 -1
  13. package/dist/api/MessageRuntime.d.ts.map +1 -1
  14. package/dist/api/MessageRuntime.js +0 -5
  15. package/dist/api/MessageRuntime.js.map +1 -1
  16. package/dist/api/MessageRuntime.mjs +0 -5
  17. package/dist/api/MessageRuntime.mjs.map +1 -1
  18. package/dist/api/RuntimePathTypes.d.ts +16 -1
  19. package/dist/api/RuntimePathTypes.d.ts.map +1 -1
  20. package/dist/api/RuntimePathTypes.js.map +1 -1
  21. package/dist/api/ThreadListItemRuntime.d.ts +29 -0
  22. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -0
  23. package/dist/api/ThreadListItemRuntime.js +61 -0
  24. package/dist/api/ThreadListItemRuntime.js.map +1 -0
  25. package/dist/api/ThreadListItemRuntime.mjs +36 -0
  26. package/dist/api/ThreadListItemRuntime.mjs.map +1 -0
  27. package/dist/api/ThreadListRuntime.d.ts +51 -0
  28. package/dist/api/ThreadListRuntime.d.ts.map +1 -0
  29. package/dist/api/ThreadListRuntime.js +128 -0
  30. package/dist/api/ThreadListRuntime.js.map +1 -0
  31. package/dist/api/ThreadListRuntime.mjs +105 -0
  32. package/dist/api/ThreadListRuntime.mjs.map +1 -0
  33. package/dist/api/ThreadRuntime.d.ts +3 -0
  34. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  35. package/dist/api/ThreadRuntime.js +1 -1
  36. package/dist/api/ThreadRuntime.js.map +1 -1
  37. package/dist/api/ThreadRuntime.mjs +1 -1
  38. package/dist/api/ThreadRuntime.mjs.map +1 -1
  39. package/dist/api/index.d.ts +1 -1
  40. package/dist/api/index.d.ts.map +1 -1
  41. package/dist/api/index.js.map +1 -1
  42. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  43. package/dist/context/providers/AssistantRuntimeProvider.js +7 -9
  44. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  45. package/dist/context/providers/AssistantRuntimeProvider.mjs +7 -9
  46. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  47. package/dist/context/providers/AttachmentRuntimeProvider.d.ts +6 -5
  48. package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +1 -1
  49. package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
  50. package/dist/context/providers/AttachmentRuntimeProvider.mjs.map +1 -1
  51. package/dist/context/providers/ContentPartRuntimeProvider.d.ts +6 -5
  52. package/dist/context/providers/ContentPartRuntimeProvider.d.ts.map +1 -1
  53. package/dist/context/providers/ContentPartRuntimeProvider.js +1 -4
  54. package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
  55. package/dist/context/providers/ContentPartRuntimeProvider.mjs +1 -4
  56. package/dist/context/providers/ContentPartRuntimeProvider.mjs.map +1 -1
  57. package/dist/context/providers/MessageRuntimeProvider.d.ts +6 -5
  58. package/dist/context/providers/MessageRuntimeProvider.d.ts.map +1 -1
  59. package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
  60. package/dist/context/providers/MessageRuntimeProvider.mjs.map +1 -1
  61. package/dist/context/providers/TextContentPartProvider.d.ts +7 -6
  62. package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -1
  63. package/dist/context/providers/TextContentPartProvider.js +5 -1
  64. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  65. package/dist/context/providers/TextContentPartProvider.mjs +5 -1
  66. package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
  67. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +13 -0
  68. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
  69. package/dist/context/providers/ThreadListItemRuntimeProvider.js +62 -0
  70. package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -0
  71. package/dist/context/providers/ThreadListItemRuntimeProvider.mjs +39 -0
  72. package/dist/context/providers/ThreadListItemRuntimeProvider.mjs.map +1 -0
  73. package/dist/context/react/AssistantContext.d.ts +35 -11
  74. package/dist/context/react/AssistantContext.d.ts.map +1 -1
  75. package/dist/context/react/AssistantContext.js +4 -4
  76. package/dist/context/react/AssistantContext.js.map +1 -1
  77. package/dist/context/react/AssistantContext.mjs +3 -3
  78. package/dist/context/react/AssistantContext.mjs.map +1 -1
  79. package/dist/context/react/ThreadListItemContext.d.ts +58 -0
  80. package/dist/context/react/ThreadListItemContext.d.ts.map +1 -0
  81. package/dist/context/react/ThreadListItemContext.js +53 -0
  82. package/dist/context/react/ThreadListItemContext.js.map +1 -0
  83. package/dist/context/react/ThreadListItemContext.mjs +25 -0
  84. package/dist/context/react/ThreadListItemContext.mjs.map +1 -0
  85. package/dist/context/react/index.d.ts +1 -1
  86. package/dist/context/react/index.d.ts.map +1 -1
  87. package/dist/context/react/index.js +2 -2
  88. package/dist/context/react/index.js.map +1 -1
  89. package/dist/context/react/index.mjs +2 -2
  90. package/dist/context/react/index.mjs.map +1 -1
  91. package/dist/internal.d.ts +1 -1
  92. package/dist/internal.d.ts.map +1 -1
  93. package/dist/internal.js.map +1 -1
  94. package/dist/internal.mjs.map +1 -1
  95. package/dist/primitives/index.d.ts +2 -0
  96. package/dist/primitives/index.d.ts.map +1 -1
  97. package/dist/primitives/index.js +6 -0
  98. package/dist/primitives/index.js.map +1 -1
  99. package/dist/primitives/index.mjs +4 -0
  100. package/dist/primitives/index.mjs.map +1 -1
  101. package/dist/primitives/threadList/ThreadListItems.d.ts +11 -0
  102. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
  103. package/dist/primitives/threadList/ThreadListItems.js +72 -0
  104. package/dist/primitives/threadList/ThreadListItems.js.map +1 -0
  105. package/dist/primitives/threadList/ThreadListItems.mjs +48 -0
  106. package/dist/primitives/threadList/ThreadListItems.mjs.map +1 -0
  107. package/dist/primitives/threadList/ThreadListNew.d.ts +13 -0
  108. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -0
  109. package/dist/primitives/threadList/ThreadListNew.js +43 -0
  110. package/dist/primitives/threadList/ThreadListNew.js.map +1 -0
  111. package/dist/primitives/threadList/ThreadListNew.mjs +21 -0
  112. package/dist/primitives/threadList/ThreadListNew.mjs.map +1 -0
  113. package/dist/primitives/threadList/index.d.ts +3 -0
  114. package/dist/primitives/threadList/index.d.ts.map +1 -0
  115. package/dist/primitives/threadList/index.js +34 -0
  116. package/dist/primitives/threadList/index.js.map +1 -0
  117. package/dist/primitives/threadList/index.mjs +8 -0
  118. package/dist/primitives/threadList/index.mjs.map +1 -0
  119. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +13 -0
  120. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
  121. package/dist/primitives/threadListItem/ThreadListItemArchive.js +43 -0
  122. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -0
  123. package/dist/primitives/threadListItem/ThreadListItemArchive.mjs +21 -0
  124. package/dist/primitives/threadListItem/ThreadListItemArchive.mjs.map +1 -0
  125. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +13 -0
  126. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
  127. package/dist/primitives/threadListItem/ThreadListItemDelete.js +43 -0
  128. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -0
  129. package/dist/primitives/threadListItem/ThreadListItemDelete.mjs +21 -0
  130. package/dist/primitives/threadListItem/ThreadListItemDelete.mjs.map +1 -0
  131. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +13 -0
  132. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
  133. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +43 -0
  134. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -0
  135. package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs +21 -0
  136. package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs.map +1 -0
  137. package/dist/primitives/threadListItem/index.d.ts +4 -0
  138. package/dist/primitives/threadListItem/index.d.ts.map +1 -0
  139. package/dist/primitives/threadListItem/index.js +37 -0
  140. package/dist/primitives/threadListItem/index.js.map +1 -0
  141. package/dist/primitives/threadListItem/index.mjs +10 -0
  142. package/dist/primitives/threadListItem/index.mjs.map +1 -0
  143. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +5 -1
  144. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  145. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +14 -5
  146. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  147. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +14 -5
  148. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
  149. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -1
  150. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +2 -1
  151. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
  152. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs +2 -1
  153. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +1 -1
  154. package/dist/runtimes/core/AssistantRuntimeCore.d.ts +2 -2
  155. package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -1
  156. package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
  157. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +2 -2
  158. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -1
  159. package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
  160. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
  161. package/dist/runtimes/core/ComposerRuntimeCore.d.ts +3 -0
  162. package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
  163. package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
  164. package/dist/runtimes/core/{ThreadManagerRuntimeCore.d.ts → ThreadListRuntimeCore.d.ts} +7 -6
  165. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -0
  166. package/dist/runtimes/core/{ThreadManagerRuntimeCore.js → ThreadListRuntimeCore.js} +4 -4
  167. package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -0
  168. package/dist/runtimes/core/ThreadListRuntimeCore.mjs +1 -0
  169. package/dist/runtimes/core/subscribeToMainThread.js +2 -2
  170. package/dist/runtimes/core/subscribeToMainThread.js.map +1 -1
  171. package/dist/runtimes/core/subscribeToMainThread.mjs +2 -2
  172. package/dist/runtimes/core/subscribeToMainThread.mjs.map +1 -1
  173. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +8 -8
  174. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  175. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  176. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +2 -2
  177. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
  178. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +8 -8
  179. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  180. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +8 -8
  181. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  182. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +35 -0
  183. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -0
  184. package/dist/runtimes/external-store/{ExternalStoreThreadManagementAdapter.js → ExternalStoreThreadListRuntimeCore.js} +21 -9
  185. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -0
  186. package/dist/runtimes/external-store/{ExternalStoreThreadManagementAdapter.mjs → ExternalStoreThreadListRuntimeCore.mjs} +17 -5
  187. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -0
  188. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +1 -1
  189. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  190. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +8 -3
  191. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  192. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +8 -3
  193. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  194. package/dist/runtimes/local/LocalRuntimeCore.d.ts +2 -2
  195. package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
  196. package/dist/runtimes/local/LocalRuntimeCore.js +7 -7
  197. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  198. package/dist/runtimes/local/LocalRuntimeCore.mjs +7 -7
  199. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  200. package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.d.ts → LocalThreadListRuntimeCore.d.ts} +16 -6
  201. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -0
  202. package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.js → LocalThreadListRuntimeCore.js} +11 -8
  203. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -0
  204. package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.mjs → LocalThreadListRuntimeCore.mjs} +7 -4
  205. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -0
  206. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  207. package/dist/runtimes/local/LocalThreadRuntimeCore.js +2 -1
  208. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  209. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +2 -1
  210. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  211. package/dist/types/AssistantTypes.d.ts +2 -0
  212. package/dist/types/AssistantTypes.d.ts.map +1 -1
  213. package/dist/types/AssistantTypes.js.map +1 -1
  214. package/package.json +7 -7
  215. package/src/api/AssistantRuntime.ts +9 -12
  216. package/src/api/ComposerRuntime.ts +17 -0
  217. package/src/api/MessageRuntime.ts +0 -9
  218. package/src/api/RuntimePathTypes.ts +10 -1
  219. package/src/api/ThreadListItemRuntime.ts +67 -0
  220. package/src/api/ThreadListRuntime.ts +159 -0
  221. package/src/api/ThreadRuntime.ts +2 -1
  222. package/src/api/index.ts +1 -4
  223. package/src/context/providers/AssistantRuntimeProvider.tsx +7 -9
  224. package/src/context/providers/AttachmentRuntimeProvider.tsx +6 -4
  225. package/src/context/providers/ContentPartRuntimeProvider.tsx +8 -7
  226. package/src/context/providers/MessageRuntimeProvider.tsx +6 -4
  227. package/src/context/providers/TextContentPartProvider.tsx +11 -7
  228. package/src/context/providers/ThreadListItemRuntimeProvider.tsx +54 -0
  229. package/src/context/react/AssistantContext.ts +4 -4
  230. package/src/context/react/ThreadListItemContext.ts +39 -0
  231. package/src/context/react/index.ts +2 -2
  232. package/src/internal.ts +1 -1
  233. package/src/primitives/index.ts +2 -0
  234. package/src/primitives/threadList/ThreadListItems.tsx +73 -0
  235. package/src/primitives/threadList/ThreadListNew.ts +25 -0
  236. package/src/primitives/threadList/index.ts +2 -0
  237. package/src/primitives/threadListItem/ThreadListItemArchive.ts +25 -0
  238. package/src/primitives/threadListItem/ThreadListItemDelete.ts +25 -0
  239. package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +25 -0
  240. package/src/primitives/threadListItem/index.ts +3 -0
  241. package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +19 -5
  242. package/src/runtimes/composer/DefaultEditComposerRuntimeCore.tsx +3 -2
  243. package/src/runtimes/core/AssistantRuntimeCore.tsx +2 -2
  244. package/src/runtimes/core/BaseAssistantRuntimeCore.tsx +2 -2
  245. package/src/runtimes/core/ComposerRuntimeCore.tsx +4 -0
  246. package/src/runtimes/core/{ThreadManagerRuntimeCore.tsx → ThreadListRuntimeCore.tsx} +7 -5
  247. package/src/runtimes/core/subscribeToMainThread.ts +2 -2
  248. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +8 -8
  249. package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +8 -8
  250. package/src/runtimes/external-store/{ExternalStoreThreadManagementAdapter.tsx → ExternalStoreThreadListRuntimeCore.tsx} +24 -9
  251. package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +8 -3
  252. package/src/runtimes/local/LocalRuntimeCore.tsx +7 -7
  253. package/src/runtimes/local/{LocalThreadManagerRuntimeCore.tsx → LocalThreadListRuntimeCore.tsx} +11 -7
  254. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +2 -1
  255. package/src/types/AssistantTypes.ts +3 -0
  256. package/dist/api/ThreadManagerRuntime.d.ts +0 -32
  257. package/dist/api/ThreadManagerRuntime.d.ts.map +0 -1
  258. package/dist/api/ThreadManagerRuntime.js +0 -73
  259. package/dist/api/ThreadManagerRuntime.js.map +0 -1
  260. package/dist/api/ThreadManagerRuntime.mjs +0 -48
  261. package/dist/api/ThreadManagerRuntime.mjs.map +0 -1
  262. package/dist/runtimes/core/ThreadManagerRuntimeCore.d.ts.map +0 -1
  263. package/dist/runtimes/core/ThreadManagerRuntimeCore.js.map +0 -1
  264. package/dist/runtimes/core/ThreadManagerRuntimeCore.mjs +0 -1
  265. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.d.ts +0 -25
  266. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.d.ts.map +0 -1
  267. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.js.map +0 -1
  268. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.mjs.map +0 -1
  269. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.d.ts.map +0 -1
  270. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.js.map +0 -1
  271. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.mjs.map +0 -1
  272. package/src/api/ThreadManagerRuntime.ts +0 -80
  273. /package/dist/runtimes/core/{ThreadManagerRuntimeCore.mjs.map → ThreadListRuntimeCore.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import { AssistantRuntimeCore } from "../runtimes/core/AssistantRuntimeCore";
2
2
  import { ModelConfigProvider } from "../types/ModelConfigTypes";
3
3
  import { ThreadRuntime, ThreadRuntimeCoreBinding } from "./ThreadRuntime";
4
4
  import { Unsubscribe } from "../types";
5
- import { ThreadManagerRuntime, ThreadManagerRuntimeImpl } from "./ThreadManagerRuntime";
5
+ import { ThreadListRuntime, ThreadListRuntimeImpl } from "./ThreadListRuntime";
6
6
  export type AssistantRuntime = {
7
7
  /**
8
8
  * The currently selected main thread.
@@ -11,7 +11,7 @@ export type AssistantRuntime = {
11
11
  /**
12
12
  * The thread manager, to rename, archive and delete threads.
13
13
  */
14
- threadManager: ThreadManagerRuntime;
14
+ threadList: ThreadListRuntime;
15
15
  /**
16
16
  * Switch to a new thread.
17
17
  */
@@ -37,10 +37,10 @@ export type AssistantRuntime = {
37
37
  */
38
38
  subscribe(callback: () => void): Unsubscribe;
39
39
  };
40
- export declare class AssistantRuntimeImpl implements Omit<AssistantRuntimeCore, "thread" | "threadManager">, AssistantRuntime {
40
+ export declare class AssistantRuntimeImpl implements Omit<AssistantRuntimeCore, "thread" | "threadList">, AssistantRuntime {
41
41
  private readonly _core;
42
42
  private readonly _thread;
43
- readonly threadManager: ThreadManagerRuntimeImpl;
43
+ readonly threadList: ThreadListRuntimeImpl;
44
44
  protected constructor(_core: AssistantRuntimeCore, _thread: ThreadRuntime);
45
45
  get thread(): Readonly<{
46
46
  readonly path: import("./RuntimePathTypes").ThreadRuntimePath;
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantRuntime.d.ts","sourceRoot":"","sources":["../../src/api/AssistantRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,wBAAwB,EAEzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,oBAAoB,CAAC;IAEpC;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE9C;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAExE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;CAC9C,CAAC;AAEF,qBAAa,oBACX,YACE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,eAAe,CAAC,EACtD,gBAAgB;IAKhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,SAAgB,aAAa,2BAAC;IAE9B,SAAS,aACU,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,aAAa;IAKzC,IAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEhB;IAEM,iBAAiB;IAIjB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAC7C;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM7C,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB;IAIhE;;OAEG;IACI,SAAS;IAIhB,SAAS,CAAC,MAAM,CAAC,uBAAuB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,mBAAmB,GAAE,KACnB,OAAO,EAAE,wBAAwB,KAC9B,aAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAc1B,MAAM,CAClB,KAAK,EAAE,oBAAoB,EAC3B,mBAAmB,GAAE,KACnB,OAAO,EAAE,wBAAwB,KAC9B,aAAiC,GAKjC,gBAAgB;CAExB"}
1
+ {"version":3,"file":"AssistantRuntime.d.ts","sourceRoot":"","sources":["../../src/api/AssistantRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,wBAAwB,EAEzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAE9B;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE9C;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAExE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;CAC9C,CAAC;AAEF,qBAAa,oBACX,YACE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,YAAY,CAAC,EACnD,gBAAgB;IAKhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,SAAgB,UAAU,wBAAC;IAE3B,SAAS,aACU,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,aAAa;IAKzC,IAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEhB;IAEM,iBAAiB;IAIjB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAC7C;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM7C,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB;IAIhE;;OAEG;IACI,SAAS;IAIhB,SAAS,CAAC,MAAM,CAAC,uBAAuB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,mBAAmB,GAAE,KACnB,OAAO,EAAE,wBAAwB,KAC9B,aAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAc1B,MAAM,CAClB,KAAK,EAAE,oBAAoB,EAC3B,mBAAmB,GAAE,KACnB,OAAO,EAAE,wBAAwB,KAC9B,aAAiC,GAKjC,gBAAgB;CAExB"}
@@ -25,23 +25,23 @@ __export(AssistantRuntime_exports, {
25
25
  module.exports = __toCommonJS(AssistantRuntime_exports);
26
26
  var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject.cjs");
27
27
  var import_ThreadRuntime = require("./ThreadRuntime.cjs");
28
- var import_ThreadManagerRuntime = require("./ThreadManagerRuntime.cjs");
28
+ var import_ThreadListRuntime = require("./ThreadListRuntime.cjs");
29
29
  var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
30
30
  constructor(_core, _thread) {
31
31
  this._core = _core;
32
32
  this._thread = _thread;
33
- this.threadManager = new import_ThreadManagerRuntime.ThreadManagerRuntimeImpl(_core.threadManager);
33
+ this.threadList = new import_ThreadListRuntime.ThreadListRuntimeImpl(_core.threadList);
34
34
  }
35
- threadManager;
35
+ threadList;
36
36
  get thread() {
37
37
  return this._thread;
38
38
  }
39
39
  switchToNewThread() {
40
- return this._core.threadManager.switchToNewThread();
40
+ return this._core.threadList.switchToNewThread();
41
41
  }
42
42
  switchToThread(threadId) {
43
43
  if (threadId === null) return this.switchToNewThread();
44
- return this._core.threadManager.switchToThread(threadId);
44
+ return this._core.threadList.switchToThread(threadId);
45
45
  }
46
46
  registerModelConfigProvider(provider) {
47
47
  return this._core.registerModelConfigProvider(provider);
@@ -60,8 +60,8 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
60
60
  ref: "threads.main",
61
61
  threadSelector: { type: "main" }
62
62
  },
63
- getState: () => _core.threadManager.mainThread,
64
- subscribe: (callback) => _core.threadManager.subscribe(callback)
63
+ getState: () => _core.threadList.mainThread,
64
+ subscribe: (callback) => _core.threadList.subscribe(callback)
65
65
  })
66
66
  );
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ModelConfigProvider } from \"../types/ModelConfigTypes\";\nimport {\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport {\n ThreadManagerRuntime,\n ThreadManagerRuntimeImpl,\n} from \"./ThreadManagerRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The currently selected main thread.\n */\n thread: ThreadRuntime;\n\n /**\n * The thread manager, to rename, archive and delete threads.\n */\n threadManager: ThreadManagerRuntime;\n\n /**\n * Switch to a new thread.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n */\n switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n switchToThread(threadId: string | null): void;\n\n /**\n * Register a model config provider. Model config providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model config provider to register.\n */\n registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl\n implements\n Omit<AssistantRuntimeCore, \"thread\" | \"threadManager\">,\n AssistantRuntime\n{\n public readonly threadManager;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n private readonly _thread: ThreadRuntime,\n ) {\n this.threadManager = new ThreadManagerRuntimeImpl(_core.threadManager);\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threadManager.switchToNewThread();\n }\n\n public switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n public switchToThread(threadId: string | null): void;\n public switchToThread(threadId: string | null) {\n if (threadId === null) return this.switchToNewThread();\n return this._core.threadManager.switchToThread(threadId);\n }\n\n public registerModelConfigProvider(provider: ModelConfigProvider) {\n return this._core.registerModelConfigProvider(provider);\n }\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n public subscribe() {\n return () => {};\n }\n\n protected static createMainThreadRuntime(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new CustomThreadRuntime(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.threadManager.mainThread,\n subscribe: (callback) => _core.threadManager.subscribe(callback),\n }),\n );\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new AssistantRuntimeImpl(\n _core,\n AssistantRuntimeImpl.createMainThreadRuntime(_core, CustomThreadRuntime),\n ) as AssistantRuntime;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uCAA0C;AAE1C,2BAIO;AAEP,kCAGO;AA0CA,IAAM,uBAAN,MAAM,sBAIb;AAAA,EAGY,YACS,OACA,SACjB;AAFiB;AACA;AAEjB,SAAK,gBAAgB,IAAI,qDAAyB,MAAM,aAAa;AAAA,EACvE;AAAA,EAPgB;AAAA,EAShB,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,cAAc,kBAAkB;AAAA,EACpD;AAAA,EAOO,eAAe,UAAyB;AAC7C,QAAI,aAAa,KAAM,QAAO,KAAK,kBAAkB;AACrD,WAAO,KAAK,MAAM,cAAc,eAAe,QAAQ;AAAA,EACzD;AAAA,EAEO,4BAA4B,UAA+B;AAChE,WAAO,KAAK,MAAM,4BAA4B,QAAQ;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKO,YAAY;AACjB,WAAO,MAAM;AAAA,IAAC;AAAA,EAChB;AAAA,EAEA,OAAiB,wBACf,OACA,sBAEqB,wCACrB;AACA,WAAO,IAAI;AAAA,MACT,IAAI,2DAA0B;AAAA,QAC5B,MAAM;AAAA,UACJ,KAAK;AAAA,UACL,gBAAgB,EAAE,MAAM,OAAO;AAAA,QACjC;AAAA,QACA,UAAU,MAAM,MAAM,cAAc;AAAA,QACpC,WAAW,CAAC,aAAa,MAAM,cAAc,UAAU,QAAQ;AAAA,MACjE,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAc,OACZ,OACA,sBAEqB,wCACrB;AACA,WAAO,IAAI;AAAA,MACT;AAAA,MACA,sBAAqB,wBAAwB,OAAO,mBAAmB;AAAA,IACzE;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ModelConfigProvider } from \"../types/ModelConfigTypes\";\nimport {\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadListRuntime, ThreadListRuntimeImpl } from \"./ThreadListRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The currently selected main thread.\n */\n thread: ThreadRuntime;\n\n /**\n * The thread manager, to rename, archive and delete threads.\n */\n threadList: ThreadListRuntime;\n\n /**\n * Switch to a new thread.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n */\n switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n switchToThread(threadId: string | null): void;\n\n /**\n * Register a model config provider. Model config providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model config provider to register.\n */\n registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl\n implements\n Omit<AssistantRuntimeCore, \"thread\" | \"threadList\">,\n AssistantRuntime\n{\n public readonly threadList;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n private readonly _thread: ThreadRuntime,\n ) {\n this.threadList = new ThreadListRuntimeImpl(_core.threadList);\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threadList.switchToNewThread();\n }\n\n public switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n public switchToThread(threadId: string | null): void;\n public switchToThread(threadId: string | null) {\n if (threadId === null) return this.switchToNewThread();\n return this._core.threadList.switchToThread(threadId);\n }\n\n public registerModelConfigProvider(provider: ModelConfigProvider) {\n return this._core.registerModelConfigProvider(provider);\n }\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n public subscribe() {\n return () => {};\n }\n\n protected static createMainThreadRuntime(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new CustomThreadRuntime(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.threadList.mainThread,\n subscribe: (callback) => _core.threadList.subscribe(callback),\n }),\n );\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new AssistantRuntimeImpl(\n _core,\n AssistantRuntimeImpl.createMainThreadRuntime(_core, CustomThreadRuntime),\n ) as AssistantRuntime;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uCAA0C;AAE1C,2BAIO;AAEP,+BAAyD;AA0ClD,IAAM,uBAAN,MAAM,sBAIb;AAAA,EAGY,YACS,OACA,SACjB;AAFiB;AACA;AAEjB,SAAK,aAAa,IAAI,+CAAsB,MAAM,UAAU;AAAA,EAC9D;AAAA,EAPgB;AAAA,EAShB,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,WAAW,kBAAkB;AAAA,EACjD;AAAA,EAOO,eAAe,UAAyB;AAC7C,QAAI,aAAa,KAAM,QAAO,KAAK,kBAAkB;AACrD,WAAO,KAAK,MAAM,WAAW,eAAe,QAAQ;AAAA,EACtD;AAAA,EAEO,4BAA4B,UAA+B;AAChE,WAAO,KAAK,MAAM,4BAA4B,QAAQ;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKO,YAAY;AACjB,WAAO,MAAM;AAAA,IAAC;AAAA,EAChB;AAAA,EAEA,OAAiB,wBACf,OACA,sBAEqB,wCACrB;AACA,WAAO,IAAI;AAAA,MACT,IAAI,2DAA0B;AAAA,QAC5B,MAAM;AAAA,UACJ,KAAK;AAAA,UACL,gBAAgB,EAAE,MAAM,OAAO;AAAA,QACjC;AAAA,QACA,UAAU,MAAM,MAAM,WAAW;AAAA,QACjC,WAAW,CAAC,aAAa,MAAM,WAAW,UAAU,QAAQ;AAAA,MAC9D,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAc,OACZ,OACA,sBAEqB,wCACrB;AACA,WAAO,IAAI;AAAA,MACT;AAAA,MACA,sBAAqB,wBAAwB,OAAO,mBAAmB;AAAA,IACzE;AAAA,EACF;AACF;","names":[]}
@@ -3,25 +3,23 @@ import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubj
3
3
  import {
4
4
  ThreadRuntimeImpl
5
5
  } from "./ThreadRuntime.mjs";
6
- import {
7
- ThreadManagerRuntimeImpl
8
- } from "./ThreadManagerRuntime.mjs";
6
+ import { ThreadListRuntimeImpl } from "./ThreadListRuntime.mjs";
9
7
  var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
10
8
  constructor(_core, _thread) {
11
9
  this._core = _core;
12
10
  this._thread = _thread;
13
- this.threadManager = new ThreadManagerRuntimeImpl(_core.threadManager);
11
+ this.threadList = new ThreadListRuntimeImpl(_core.threadList);
14
12
  }
15
- threadManager;
13
+ threadList;
16
14
  get thread() {
17
15
  return this._thread;
18
16
  }
19
17
  switchToNewThread() {
20
- return this._core.threadManager.switchToNewThread();
18
+ return this._core.threadList.switchToNewThread();
21
19
  }
22
20
  switchToThread(threadId) {
23
21
  if (threadId === null) return this.switchToNewThread();
24
- return this._core.threadManager.switchToThread(threadId);
22
+ return this._core.threadList.switchToThread(threadId);
25
23
  }
26
24
  registerModelConfigProvider(provider) {
27
25
  return this._core.registerModelConfigProvider(provider);
@@ -40,8 +38,8 @@ var AssistantRuntimeImpl = class _AssistantRuntimeImpl {
40
38
  ref: "threads.main",
41
39
  threadSelector: { type: "main" }
42
40
  },
43
- getState: () => _core.threadManager.mainThread,
44
- subscribe: (callback) => _core.threadManager.subscribe(callback)
41
+ getState: () => _core.threadList.mainThread,
42
+ subscribe: (callback) => _core.threadList.subscribe(callback)
45
43
  })
46
44
  );
47
45
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ModelConfigProvider } from \"../types/ModelConfigTypes\";\nimport {\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport {\n ThreadManagerRuntime,\n ThreadManagerRuntimeImpl,\n} from \"./ThreadManagerRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The currently selected main thread.\n */\n thread: ThreadRuntime;\n\n /**\n * The thread manager, to rename, archive and delete threads.\n */\n threadManager: ThreadManagerRuntime;\n\n /**\n * Switch to a new thread.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n */\n switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n switchToThread(threadId: string | null): void;\n\n /**\n * Register a model config provider. Model config providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model config provider to register.\n */\n registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl\n implements\n Omit<AssistantRuntimeCore, \"thread\" | \"threadManager\">,\n AssistantRuntime\n{\n public readonly threadManager;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n private readonly _thread: ThreadRuntime,\n ) {\n this.threadManager = new ThreadManagerRuntimeImpl(_core.threadManager);\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threadManager.switchToNewThread();\n }\n\n public switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n public switchToThread(threadId: string | null): void;\n public switchToThread(threadId: string | null) {\n if (threadId === null) return this.switchToNewThread();\n return this._core.threadManager.switchToThread(threadId);\n }\n\n public registerModelConfigProvider(provider: ModelConfigProvider) {\n return this._core.registerModelConfigProvider(provider);\n }\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n public subscribe() {\n return () => {};\n }\n\n protected static createMainThreadRuntime(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new CustomThreadRuntime(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.threadManager.mainThread,\n subscribe: (callback) => _core.threadManager.subscribe(callback),\n }),\n );\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new AssistantRuntimeImpl(\n _core,\n AssistantRuntimeImpl.createMainThreadRuntime(_core, CustomThreadRuntime),\n ) as AssistantRuntime;\n }\n}\n"],"mappings":";AACA,SAAS,iCAAiC;AAE1C;AAAA,EAGE;AAAA,OACK;AAEP;AAAA,EAEE;AAAA,OACK;AA0CA,IAAM,uBAAN,MAAM,sBAIb;AAAA,EAGY,YACS,OACA,SACjB;AAFiB;AACA;AAEjB,SAAK,gBAAgB,IAAI,yBAAyB,MAAM,aAAa;AAAA,EACvE;AAAA,EAPgB;AAAA,EAShB,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,cAAc,kBAAkB;AAAA,EACpD;AAAA,EAOO,eAAe,UAAyB;AAC7C,QAAI,aAAa,KAAM,QAAO,KAAK,kBAAkB;AACrD,WAAO,KAAK,MAAM,cAAc,eAAe,QAAQ;AAAA,EACzD;AAAA,EAEO,4BAA4B,UAA+B;AAChE,WAAO,KAAK,MAAM,4BAA4B,QAAQ;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKO,YAAY;AACjB,WAAO,MAAM;AAAA,IAAC;AAAA,EAChB;AAAA,EAEA,OAAiB,wBACf,OACA,sBAEqB,mBACrB;AACA,WAAO,IAAI;AAAA,MACT,IAAI,0BAA0B;AAAA,QAC5B,MAAM;AAAA,UACJ,KAAK;AAAA,UACL,gBAAgB,EAAE,MAAM,OAAO;AAAA,QACjC;AAAA,QACA,UAAU,MAAM,MAAM,cAAc;AAAA,QACpC,WAAW,CAAC,aAAa,MAAM,cAAc,UAAU,QAAQ;AAAA,MACjE,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAc,OACZ,OACA,sBAEqB,mBACrB;AACA,WAAO,IAAI;AAAA,MACT;AAAA,MACA,sBAAqB,wBAAwB,OAAO,mBAAmB;AAAA,IACzE;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/AssistantRuntime.ts"],"sourcesContent":["import { AssistantRuntimeCore } from \"../runtimes/core/AssistantRuntimeCore\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ModelConfigProvider } from \"../types/ModelConfigTypes\";\nimport {\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadListRuntime, ThreadListRuntimeImpl } from \"./ThreadListRuntime\";\n\nexport type AssistantRuntime = {\n /**\n * The currently selected main thread.\n */\n thread: ThreadRuntime;\n\n /**\n * The thread manager, to rename, archive and delete threads.\n */\n threadList: ThreadListRuntime;\n\n /**\n * Switch to a new thread.\n */\n switchToNewThread(): void;\n\n /**\n * Switch to a thread.\n *\n * @param threadId The thread ID to switch to.\n */\n switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n switchToThread(threadId: string | null): void;\n\n /**\n * Register a model config provider. Model config providers are configuration such as system message, temperature, etc. that are set in the frontend.\n *\n * @param provider The model config provider to register.\n */\n registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class AssistantRuntimeImpl\n implements\n Omit<AssistantRuntimeCore, \"thread\" | \"threadList\">,\n AssistantRuntime\n{\n public readonly threadList;\n\n protected constructor(\n private readonly _core: AssistantRuntimeCore,\n private readonly _thread: ThreadRuntime,\n ) {\n this.threadList = new ThreadListRuntimeImpl(_core.threadList);\n }\n\n public get thread() {\n return this._thread;\n }\n\n public switchToNewThread() {\n return this._core.threadList.switchToNewThread();\n }\n\n public switchToThread(threadId: string): void;\n /**\n * @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.\n */\n public switchToThread(threadId: string | null): void;\n public switchToThread(threadId: string | null) {\n if (threadId === null) return this.switchToNewThread();\n return this._core.threadList.switchToThread(threadId);\n }\n\n public registerModelConfigProvider(provider: ModelConfigProvider) {\n return this._core.registerModelConfigProvider(provider);\n }\n\n /**\n * @deprecated Thread is now static and never gets updated. This will be removed in 0.6.0.\n */\n public subscribe() {\n return () => {};\n }\n\n protected static createMainThreadRuntime(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new CustomThreadRuntime(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.threadList.mainThread,\n subscribe: (callback) => _core.threadList.subscribe(callback),\n }),\n );\n }\n\n public static create(\n _core: AssistantRuntimeCore,\n CustomThreadRuntime: new (\n binding: ThreadRuntimeCoreBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n return new AssistantRuntimeImpl(\n _core,\n AssistantRuntimeImpl.createMainThreadRuntime(_core, CustomThreadRuntime),\n ) as AssistantRuntime;\n }\n}\n"],"mappings":";AACA,SAAS,iCAAiC;AAE1C;AAAA,EAGE;AAAA,OACK;AAEP,SAA4B,6BAA6B;AA0ClD,IAAM,uBAAN,MAAM,sBAIb;AAAA,EAGY,YACS,OACA,SACjB;AAFiB;AACA;AAEjB,SAAK,aAAa,IAAI,sBAAsB,MAAM,UAAU;AAAA,EAC9D;AAAA,EAPgB;AAAA,EAShB,IAAW,SAAS;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,oBAAoB;AACzB,WAAO,KAAK,MAAM,WAAW,kBAAkB;AAAA,EACjD;AAAA,EAOO,eAAe,UAAyB;AAC7C,QAAI,aAAa,KAAM,QAAO,KAAK,kBAAkB;AACrD,WAAO,KAAK,MAAM,WAAW,eAAe,QAAQ;AAAA,EACtD;AAAA,EAEO,4BAA4B,UAA+B;AAChE,WAAO,KAAK,MAAM,4BAA4B,QAAQ;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKO,YAAY;AACjB,WAAO,MAAM;AAAA,IAAC;AAAA,EAChB;AAAA,EAEA,OAAiB,wBACf,OACA,sBAEqB,mBACrB;AACA,WAAO,IAAI;AAAA,MACT,IAAI,0BAA0B;AAAA,QAC5B,MAAM;AAAA,UACJ,KAAK;AAAA,UACL,gBAAgB,EAAE,MAAM,OAAO;AAAA,QACjC;AAAA,QACA,UAAU,MAAM,MAAM,WAAW;AAAA,QACjC,WAAW,CAAC,aAAa,MAAM,WAAW,UAAU,QAAQ;AAAA,MAC9D,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAc,OACZ,OACA,sBAEqB,mBACrB;AACA,WAAO,IAAI;AAAA,MACT;AAAA,MACA,sBAAqB,wBAAwB,OAAO,mBAAmB;AAAA,IACzE;AAAA,EACF;AACF;","names":[]}
@@ -4,6 +4,7 @@ import { Unsubscribe } from "../types";
4
4
  import { SubscribableWithState } from "./subscribable/Subscribable";
5
5
  import { AttachmentRuntime, EditComposerAttachmentRuntimeImpl, ThreadComposerAttachmentRuntimeImpl } from "./AttachmentRuntime";
6
6
  import { ComposerRuntimePath } from "./RuntimePathTypes";
7
+ import { MessageRole } from "../types/AssistantTypes";
7
8
  export type ThreadComposerRuntimeCoreBinding = SubscribableWithState<ThreadComposerRuntimeCore | undefined, ComposerRuntimePath & {
8
9
  composerSource: "thread";
9
10
  }>;
@@ -66,6 +67,7 @@ type LegacyThreadComposerState = Readonly<{
66
67
  }>;
67
68
  type BaseComposerState = {
68
69
  text: string;
70
+ role: MessageRole;
69
71
  attachments: readonly Attachment[];
70
72
  canCancel: boolean;
71
73
  isEditing: boolean;
@@ -129,6 +131,10 @@ export declare abstract class ComposerRuntimeImpl implements ComposerRuntimeCore
129
131
  * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.
130
132
  */
131
133
  get text(): string;
134
+ /**
135
+ * @deprecated Use `getState().role` instead. This will be removed in 0.6.0.
136
+ */
137
+ get role(): MessageRole;
132
138
  /**
133
139
  * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.
134
140
  */
@@ -151,6 +157,7 @@ export declare abstract class ComposerRuntimeImpl implements ComposerRuntimeCore
151
157
  reset(): void;
152
158
  send(): void;
153
159
  cancel(): void;
160
+ setRole(role: MessageRole): void;
154
161
  subscribe(callback: () => void): Unsubscribe;
155
162
  getAttachmentAccept(): string;
156
163
  abstract getAttachmentByIndex(idx: number): AttachmentRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ComposerRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComposerRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ComposerRuntime.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ var getThreadComposerState = (runtime) => {
41
41
  isEmpty: runtime?.isEmpty ?? true,
42
42
  text: runtime?.text ?? "",
43
43
  attachments: runtime?.attachments ?? EMPTY_ARRAY,
44
+ role: runtime?.role ?? "user",
44
45
  value: runtime?.text ?? "",
45
46
  setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
46
47
  setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
@@ -60,6 +61,7 @@ var getEditComposerState = (runtime, beginEdit) => {
60
61
  isEmpty: runtime?.isEmpty ?? true,
61
62
  text: runtime?.text ?? "",
62
63
  attachments: runtime?.attachments ?? EMPTY_ARRAY,
64
+ role: runtime?.role ?? "user",
63
65
  value: runtime?.text ?? "",
64
66
  setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
65
67
  setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
@@ -99,6 +101,12 @@ var ComposerRuntimeImpl = class {
99
101
  get text() {
100
102
  return this.getState().text;
101
103
  }
104
+ /**
105
+ * @deprecated Use `getState().role` instead. This will be removed in 0.6.0.
106
+ */
107
+ get role() {
108
+ return this.getState().role;
109
+ }
102
110
  /**
103
111
  * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.
104
112
  */
@@ -150,6 +158,11 @@ var ComposerRuntimeImpl = class {
150
158
  if (!core) throw new Error("Composer is not available");
151
159
  core.cancel();
152
160
  }
161
+ setRole(role) {
162
+ const core = this._core.getState();
163
+ if (!core) throw new Error("Composer is not available");
164
+ core.setRole(role);
165
+ }
153
166
  subscribe(callback) {
154
167
  return this._core.subscribe(callback);
155
168
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ComposerRuntime.ts"],"sourcesContent":["import { Attachment, PendingAttachment } from \"../types/AttachmentTypes\";\nimport {\n ComposerRuntimeCore,\n ThreadComposerRuntimeCore,\n} from \"../runtimes/core/ComposerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n EditComposerAttachmentRuntimeImpl,\n ThreadComposerAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadComposerRuntimeCoreBinding = SubscribableWithState<\n ThreadComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"thread\" }\n>;\n\nexport type EditComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"edit\" }\n>;\n\nexport type ComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath\n>;\n\ntype LegacyEditComposerState = Readonly<{\n type: \"edit\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n text: string;\n /**\n * @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0.\n */\n setText: (value: string) => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use useComposerRuntime().beginEdit() instead. This will be removed in 0.6.0.\n */\n edit: () => void;\n /**\n * @deprecated Use `useComposerRuntime().send()` instead. This will be removed in 0.6.0.\n */\n send: () => void;\n /**\n * @deprecated Use `useComposerRuntime().cancel()` instead. This will be removed in 0.6.0.\n */\n cancel: () => void;\n}>;\n\ntype LegacyThreadComposerState = Readonly<{\n type: \"thread\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n attachments: readonly Attachment[];\n\n /** @deprecated Use `useComposerRuntime().addAttachment` instead. This will be removed in 0.6.0. */\n addAttachment: (file: File) => Promise<void>;\n /** @deprecated Use `useComposerRuntime().removeAttachment` instead. This will be removed in 0.6.0. */\n removeAttachment: (attachmentId: string) => Promise<void>;\n\n text: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setText: (value: string) => void;\n\n /** @deprecated Use `useComposerRuntime().reset` instead. This will be removed in 0.6.0. */\n reset: () => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use `useComposerRuntime().send` instead. This will be removed in 0.6.0.\n **/\n send: () => void;\n /** @deprecated Use `useComposerRuntime().cancel` instead. This will be removed in 0.6.0. */\n cancel: () => void;\n}>;\n\ntype BaseComposerState = {\n text: string;\n attachments: readonly Attachment[];\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n};\n\nexport type ThreadComposerState = LegacyThreadComposerState &\n BaseComposerState & {\n type: \"thread\";\n\n attachments: readonly PendingAttachment[];\n };\n\nexport type EditComposerState = LegacyEditComposerState &\n BaseComposerState & {\n type: \"edit\";\n };\n\nexport type ComposerState = ThreadComposerState | EditComposerState;\n\nconst METHOD_NOT_SUPPORTED = () => {\n throw new Error(\"Composer is not available\");\n};\nconst EMPTY_ARRAY = Object.freeze([]);\nconst getThreadComposerState = (\n runtime: ThreadComposerRuntimeCore | undefined,\n): ThreadComposerState => {\n return Object.freeze({\n type: \"thread\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n // edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n reset: runtime?.reset.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n\n addAttachment: runtime?.addAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n removeAttachment:\n runtime?.removeAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nconst getEditComposerState = (\n runtime: ComposerRuntimeCore | undefined,\n beginEdit: () => void,\n): EditComposerState => {\n return Object.freeze({\n type: \"edit\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nexport type ComposerRuntime = {\n path: ComposerRuntimePath;\n readonly type: \"edit\" | \"thread\";\n getState(): ComposerState;\n\n /** @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0. */\n readonly isEditing: boolean;\n\n /** @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0. */\n readonly isEmpty: boolean;\n\n /** @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0. */\n readonly canCancel: boolean;\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly text: string;\n\n /** @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0. */\n readonly attachments: readonly Attachment[];\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly value: string;\n\n setText(text: string): void;\n setValue(text: string): void;\n\n getAttachmentAccept(): string;\n addAttachment(file: File): Promise<void>;\n\n /** @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0. */\n removeAttachment(attachmentId: string): Promise<void>;\n\n /** @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality. */\n reset(): void;\n\n send(): void;\n cancel(): void;\n subscribe(callback: () => void): Unsubscribe;\n getAttachmentByIndex(idx: number): AttachmentRuntime;\n};\n\nexport abstract class ComposerRuntimeImpl\n implements ComposerRuntimeCore, ComposerRuntime\n{\n public get path() {\n return this._core.path;\n }\n\n public abstract get type(): \"edit\" | \"thread\";\n\n constructor(protected _core: ComposerRuntimeCoreBinding) {}\n\n /**\n * @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0.\n */\n public get isEditing() {\n return this.getState().isEditing;\n }\n\n /**\n * @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0.\n */\n public get isEmpty() {\n return this.getState().isEmpty;\n }\n\n /**\n * @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0.\n */\n public get canCancel() {\n return this.getState().canCancel;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get text() {\n return this.getState().text;\n }\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n public get attachments() {\n return this.getState().attachments;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get value() {\n return this.text;\n }\n\n public abstract getState(): ComposerState;\n\n public setText(text: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.setText(text);\n }\n\n public setValue(text: string) {\n this.setText(text);\n }\n\n public addAttachment(file: File) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.addAttachment(file);\n }\n\n /**\n * @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0.\n */\n public removeAttachment(attachmentId: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.removeAttachment(attachmentId);\n }\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n public reset() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.reset();\n }\n\n public send() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.send();\n }\n\n public cancel() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.cancel();\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getAttachmentAccept(): string {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.getAttachmentAccept();\n }\n\n public abstract getAttachmentByIndex(idx: number): AttachmentRuntime;\n}\n\nexport type ThreadComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"thread\" };\n readonly type: \"thread\";\n getState(): ThreadComposerState;\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n attachments: readonly PendingAttachment[];\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"thread-composer\" };\n};\n\nexport class ThreadComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements ThreadComposerRuntime, ThreadComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & {\n composerSource: \"thread\";\n };\n }\n\n public get type() {\n return \"thread\" as const;\n }\n\n private _getState;\n\n constructor(core: ThreadComposerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getThreadComposerState(core.getState()),\n subscribe: (callback) => core.subscribe(callback),\n });\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override get attachments() {\n return this.getState()?.attachments ?? EMPTY_ARRAY;\n }\n\n public override getState(): ThreadComposerState {\n return this._getState();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new ThreadComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"thread-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"thread-composer\",\n } satisfies AttachmentState & { source: \"thread-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n\nexport type EditComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"edit\" };\n readonly type: \"edit\";\n\n getState(): EditComposerState;\n beginEdit(): void;\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n edit(): void;\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"edit-composer\" };\n};\n\nexport class EditComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements EditComposerRuntime, EditComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & { composerSource: \"edit\" };\n }\n\n public get type() {\n return \"edit\" as const;\n }\n\n private _getState;\n constructor(\n core: EditComposerRuntimeCoreBinding,\n private _beginEdit: () => void,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getEditComposerState(core.getState(), this._beginEdit),\n subscribe: (callback) => core.subscribe(callback),\n });\n\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override getState(): EditComposerState {\n return this._getState();\n }\n\n public beginEdit() {\n this._beginEdit();\n }\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n public edit() {\n this.beginEdit();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new EditComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"edit-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"edit-composer\",\n } satisfies AttachmentState & { source: \"edit-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/api/ComposerRuntime.ts"],"sourcesContent":["import { Attachment, PendingAttachment } from \"../types/AttachmentTypes\";\nimport {\n ComposerRuntimeCore,\n ThreadComposerRuntimeCore,\n} from \"../runtimes/core/ComposerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n EditComposerAttachmentRuntimeImpl,\n ThreadComposerAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimePath } from \"./RuntimePathTypes\";\nimport { MessageRole } from \"../types/AssistantTypes\";\n\nexport type ThreadComposerRuntimeCoreBinding = SubscribableWithState<\n ThreadComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"thread\" }\n>;\n\nexport type EditComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"edit\" }\n>;\n\nexport type ComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath\n>;\n\ntype LegacyEditComposerState = Readonly<{\n type: \"edit\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n text: string;\n /**\n * @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0.\n */\n setText: (value: string) => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use useComposerRuntime().beginEdit() instead. This will be removed in 0.6.0.\n */\n edit: () => void;\n /**\n * @deprecated Use `useComposerRuntime().send()` instead. This will be removed in 0.6.0.\n */\n send: () => void;\n /**\n * @deprecated Use `useComposerRuntime().cancel()` instead. This will be removed in 0.6.0.\n */\n cancel: () => void;\n}>;\n\ntype LegacyThreadComposerState = Readonly<{\n type: \"thread\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n attachments: readonly Attachment[];\n\n /** @deprecated Use `useComposerRuntime().addAttachment` instead. This will be removed in 0.6.0. */\n addAttachment: (file: File) => Promise<void>;\n /** @deprecated Use `useComposerRuntime().removeAttachment` instead. This will be removed in 0.6.0. */\n removeAttachment: (attachmentId: string) => Promise<void>;\n\n text: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setText: (value: string) => void;\n\n /** @deprecated Use `useComposerRuntime().reset` instead. This will be removed in 0.6.0. */\n reset: () => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use `useComposerRuntime().send` instead. This will be removed in 0.6.0.\n **/\n send: () => void;\n /** @deprecated Use `useComposerRuntime().cancel` instead. This will be removed in 0.6.0. */\n cancel: () => void;\n}>;\n\ntype BaseComposerState = {\n text: string;\n role: MessageRole;\n attachments: readonly Attachment[];\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n};\n\nexport type ThreadComposerState = LegacyThreadComposerState &\n BaseComposerState & {\n type: \"thread\";\n\n attachments: readonly PendingAttachment[];\n };\n\nexport type EditComposerState = LegacyEditComposerState &\n BaseComposerState & {\n type: \"edit\";\n };\n\nexport type ComposerState = ThreadComposerState | EditComposerState;\n\nconst METHOD_NOT_SUPPORTED = () => {\n throw new Error(\"Composer is not available\");\n};\nconst EMPTY_ARRAY = Object.freeze([]);\nconst getThreadComposerState = (\n runtime: ThreadComposerRuntimeCore | undefined,\n): ThreadComposerState => {\n return Object.freeze({\n type: \"thread\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n role: runtime?.role ?? \"user\",\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n // edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n reset: runtime?.reset.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n\n addAttachment: runtime?.addAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n removeAttachment:\n runtime?.removeAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nconst getEditComposerState = (\n runtime: ComposerRuntimeCore | undefined,\n beginEdit: () => void,\n): EditComposerState => {\n return Object.freeze({\n type: \"edit\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n role: runtime?.role ?? \"user\",\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nexport type ComposerRuntime = {\n path: ComposerRuntimePath;\n readonly type: \"edit\" | \"thread\";\n getState(): ComposerState;\n\n /** @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0. */\n readonly isEditing: boolean;\n\n /** @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0. */\n readonly isEmpty: boolean;\n\n /** @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0. */\n readonly canCancel: boolean;\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly text: string;\n\n /** @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0. */\n readonly attachments: readonly Attachment[];\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly value: string;\n\n setText(text: string): void;\n setValue(text: string): void;\n\n getAttachmentAccept(): string;\n addAttachment(file: File): Promise<void>;\n\n /** @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0. */\n removeAttachment(attachmentId: string): Promise<void>;\n\n /** @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality. */\n reset(): void;\n\n send(): void;\n cancel(): void;\n subscribe(callback: () => void): Unsubscribe;\n getAttachmentByIndex(idx: number): AttachmentRuntime;\n};\n\nexport abstract class ComposerRuntimeImpl\n implements ComposerRuntimeCore, ComposerRuntime\n{\n public get path() {\n return this._core.path;\n }\n\n public abstract get type(): \"edit\" | \"thread\";\n\n constructor(protected _core: ComposerRuntimeCoreBinding) {}\n\n /**\n * @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0.\n */\n public get isEditing() {\n return this.getState().isEditing;\n }\n\n /**\n * @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0.\n */\n public get isEmpty() {\n return this.getState().isEmpty;\n }\n\n /**\n * @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0.\n */\n public get canCancel() {\n return this.getState().canCancel;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get text() {\n return this.getState().text;\n }\n\n /**\n * @deprecated Use `getState().role` instead. This will be removed in 0.6.0.\n */\n public get role() {\n return this.getState().role;\n }\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n public get attachments() {\n return this.getState().attachments;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get value() {\n return this.text;\n }\n\n public abstract getState(): ComposerState;\n\n public setText(text: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.setText(text);\n }\n\n public setValue(text: string) {\n this.setText(text);\n }\n\n public addAttachment(file: File) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.addAttachment(file);\n }\n\n /**\n * @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0.\n */\n public removeAttachment(attachmentId: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.removeAttachment(attachmentId);\n }\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n public reset() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.reset();\n }\n\n public send() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.send();\n }\n\n public cancel() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.cancel();\n }\n\n public setRole(role: MessageRole) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.setRole(role);\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getAttachmentAccept(): string {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.getAttachmentAccept();\n }\n\n public abstract getAttachmentByIndex(idx: number): AttachmentRuntime;\n}\n\nexport type ThreadComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"thread\" };\n readonly type: \"thread\";\n getState(): ThreadComposerState;\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n attachments: readonly PendingAttachment[];\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"thread-composer\" };\n};\n\nexport class ThreadComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements ThreadComposerRuntime, ThreadComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & {\n composerSource: \"thread\";\n };\n }\n\n public get type() {\n return \"thread\" as const;\n }\n\n private _getState;\n\n constructor(core: ThreadComposerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getThreadComposerState(core.getState()),\n subscribe: (callback) => core.subscribe(callback),\n });\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override get attachments() {\n return this.getState()?.attachments ?? EMPTY_ARRAY;\n }\n\n public override getState(): ThreadComposerState {\n return this._getState();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new ThreadComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"thread-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"thread-composer\",\n } satisfies AttachmentState & { source: \"thread-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n\nexport type EditComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"edit\" };\n readonly type: \"edit\";\n\n getState(): EditComposerState;\n beginEdit(): void;\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n edit(): void;\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"edit-composer\" };\n};\n\nexport class EditComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements EditComposerRuntime, EditComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & { composerSource: \"edit\" };\n }\n\n public get type() {\n return \"edit\" as const;\n }\n\n private _getState;\n constructor(\n core: EditComposerRuntimeCoreBinding,\n private _beginEdit: () => void,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getEditComposerState(core.getState(), this._beginEdit),\n subscribe: (callback) => core.subscribe(callback),\n });\n\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override getState(): EditComposerState {\n return this._getState();\n }\n\n public beginEdit() {\n this._beginEdit();\n }\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n public edit() {\n this.beginEdit();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new EditComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"edit-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"edit-composer\",\n } satisfies AttachmentState & { source: \"edit-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,gCAAmC;AACnC,+BAKO;AACP,mCAAsC;AACtC,yBAA4B;AA6G5B,IAAM,uBAAuB,MAAM;AACjC,QAAM,IAAI,MAAM,2BAA2B;AAC7C;AACA,IAAM,cAAc,OAAO,OAAO,CAAC,CAAC;AACpC,IAAM,yBAAyB,CAC7B,YACwB;AACxB,SAAO,OAAO,OAAO;AAAA,IACnB,MAAM;AAAA,IAEN,WAAW,SAAS,aAAa;AAAA,IACjC,WAAW,SAAS,aAAa;AAAA,IACjC,SAAS,SAAS,WAAW;AAAA,IAC7B,MAAM,SAAS,QAAQ;AAAA,IACvB,aAAa,SAAS,eAAe;AAAA,IACrC,MAAM,SAAS,QAAQ;AAAA,IAEvB,OAAO,SAAS,QAAQ;AAAA,IACxB,UAAU,SAAS,QAAQ,KAAK,OAAO,KAAK;AAAA,IAC5C,SAAS,SAAS,QAAQ,KAAK,OAAO,KAAK;AAAA;AAAA,IAE3C,MAAM,SAAS,KAAK,KAAK,OAAO,KAAK;AAAA,IACrC,QAAQ,SAAS,OAAO,KAAK,OAAO,KAAK;AAAA,IACzC,OAAO,SAAS,MAAM,KAAK,OAAO,KAAK;AAAA,IAEvC,eAAe,SAAS,cAAc,KAAK,OAAO,KAAK;AAAA,IACvD,kBACE,SAAS,iBAAiB,KAAK,OAAO,KAAK;AAAA,EAC/C,CAAC;AACH;AAEA,IAAM,uBAAuB,CAC3B,SACA,cACsB;AACtB,SAAO,OAAO,OAAO;AAAA,IACnB,MAAM;AAAA,IAEN,WAAW,SAAS,aAAa;AAAA,IACjC,WAAW,SAAS,aAAa;AAAA,IACjC,SAAS,SAAS,WAAW;AAAA,IAC7B,MAAM,SAAS,QAAQ;AAAA,IACvB,aAAa,SAAS,eAAe;AAAA,IACrC,MAAM,SAAS,QAAQ;AAAA,IAEvB,OAAO,SAAS,QAAQ;AAAA,IACxB,UAAU,SAAS,QAAQ,KAAK,OAAO,KAAK;AAAA,IAC5C,SAAS,SAAS,QAAQ,KAAK,OAAO,KAAK;AAAA,IAC3C,MAAM;AAAA,IACN,MAAM,SAAS,KAAK,KAAK,OAAO,KAAK;AAAA,IACrC,QAAQ,SAAS,OAAO,KAAK,OAAO,KAAK;AAAA,EAC3C,CAAC;AACH;AA2CO,IAAe,sBAAf,MAEP;AAAA,EAOE,YAAsB,OAAmC;AAAnC;AAAA,EAAoC;AAAA,EAN1D,IAAW,OAAO;AAChB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EASA,IAAW,YAAY;AACrB,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAW,UAAU;AACnB,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAW,YAAY;AACrB,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAW,OAAO;AAChB,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAW,OAAO;AAChB,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAW,cAAc;AACvB,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAW,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAIO,QAAQ,MAAc;AAC3B,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,SAAK,QAAQ,IAAI;AAAA,EACnB;AAAA,EAEO,SAAS,MAAc;AAC5B,SAAK,QAAQ,IAAI;AAAA,EACnB;AAAA,EAEO,cAAc,MAAY;AAC/B,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,WAAO,KAAK,cAAc,IAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKO,iBAAiB,cAAsB;AAC5C,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,WAAO,KAAK,iBAAiB,YAAY;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAKO,QAAQ;AACb,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,SAAK,MAAM;AAAA,EACb;AAAA,EAEO,OAAO;AACZ,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,SAAK,KAAK;AAAA,EACZ;AAAA,EAEO,SAAS;AACd,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,SAAK,OAAO;AAAA,EACd;AAAA,EAEO,QAAQ,MAAmB;AAChC,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,SAAK,QAAQ,IAAI;AAAA,EACnB;AAAA,EAEO,UAAU,UAAsB;AACrC,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,sBAA8B;AACnC,UAAM,OAAO,KAAK,MAAM,SAAS;AACjC,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2B;AACtD,WAAO,KAAK,oBAAoB;AAAA,EAClC;AAGF;AAoBO,IAAM,4BAAN,cACG,oBAEV;AAAA,EACE,IAAoB,OAAO;AACzB,WAAO,KAAK,MAAM;AAAA,EAGpB;AAAA,EAEA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAER,YAAY,MAAwC;AAClD,UAAM,eAAe,IAAI,6CAAmB;AAAA,MAC1C,MAAM,KAAK;AAAA,MACX,UAAU,MAAM,uBAAuB,KAAK,SAAS,CAAC;AAAA,MACtD,WAAW,CAAC,aAAa,KAAK,UAAU,QAAQ;AAAA,IAClD,CAAC;AACD,UAAM;AAAA,MACJ,MAAM,KAAK;AAAA,MACX,UAAU,MAAM,KAAK,SAAS;AAAA,MAC9B,WAAW,CAAC,aAAa,aAAa,UAAU,QAAQ;AAAA,IAC1D,CAAC;AACD,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EAEA,IAAoB,cAAc;AAChC,WAAO,KAAK,SAAS,GAAG,eAAe;AAAA,EACzC;AAAA,EAEgB,WAAgC;AAC9C,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,qBAAqB,KAAa;AACvC,WAAO,IAAI;AAAA,MACT,IAAI,mDAAsB;AAAA,QACxB,MAAM;AAAA,UACJ,GAAG,KAAK;AAAA,UACR,kBAAkB;AAAA,UAClB,oBAAoB,EAAE,MAAM,SAAS,OAAO,IAAI;AAAA,UAChD,KAAK,KAAK,KAAK,MAAM,GAAG,KAAK,KAAK,GAAG,gBAAgB,GAAG;AAAA,QAC1D;AAAA,QACA,UAAU,MAAM;AACd,gBAAM,cAAc,KAAK,SAAS,EAAE;AACpC,gBAAM,aAAa,YAAY,GAAG;AAClC,cAAI,CAAC,WAAY,QAAO;AAExB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH;AAAA,YACA,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,WAAW,CAAC,aAAa,KAAK,MAAM,UAAU,QAAQ;AAAA,MACxD,CAAC;AAAA,MACD,KAAK;AAAA,IACP;AAAA,EACF;AACF;AAsBO,IAAM,0BAAN,cACG,oBAEV;AAAA,EAUE,YACE,MACQ,YACR;AACA,UAAM,eAAe,IAAI,6CAAmB;AAAA,MAC1C,MAAM,KAAK;AAAA,MACX,UAAU,MAAM,qBAAqB,KAAK,SAAS,GAAG,KAAK,UAAU;AAAA,MACrE,WAAW,CAAC,aAAa,KAAK,UAAU,QAAQ;AAAA,IAClD,CAAC;AAED,UAAM;AAAA,MACJ,MAAM,KAAK;AAAA,MACX,UAAU,MAAM,KAAK,SAAS;AAAA,MAC9B,WAAW,CAAC,aAAa,aAAa,UAAU,QAAQ;AAAA,IAC1D,CAAC;AAZO;AAcR,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EA1BA,IAAoB,OAAO;AACzB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAoBQ,WAA8B;AAC5C,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,YAAY;AACjB,SAAK,WAAW;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKO,OAAO;AACZ,SAAK,UAAU;AAAA,EACjB;AAAA,EAEO,qBAAqB,KAAa;AACvC,WAAO,IAAI;AAAA,MACT,IAAI,mDAAsB;AAAA,QACxB,MAAM;AAAA,UACJ,GAAG,KAAK;AAAA,UACR,kBAAkB;AAAA,UAClB,oBAAoB,EAAE,MAAM,SAAS,OAAO,IAAI;AAAA,UAChD,KAAK,KAAK,KAAK,MAAM,GAAG,KAAK,KAAK,GAAG,gBAAgB,GAAG;AAAA,QAC1D;AAAA,QACA,UAAU,MAAM;AACd,gBAAM,cAAc,KAAK,SAAS,EAAE;AACpC,gBAAM,aAAa,YAAY,GAAG;AAClC,cAAI,CAAC,WAAY,QAAO;AAExB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH;AAAA,YACA,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,WAAW,CAAC,aAAa,KAAK,MAAM,UAAU,QAAQ;AAAA,MACxD,CAAC;AAAA,MACD,KAAK;AAAA,IACP;AAAA,EACF;AACF;","names":[]}
@@ -18,6 +18,7 @@ var getThreadComposerState = (runtime) => {
18
18
  isEmpty: runtime?.isEmpty ?? true,
19
19
  text: runtime?.text ?? "",
20
20
  attachments: runtime?.attachments ?? EMPTY_ARRAY,
21
+ role: runtime?.role ?? "user",
21
22
  value: runtime?.text ?? "",
22
23
  setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
23
24
  setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
@@ -37,6 +38,7 @@ var getEditComposerState = (runtime, beginEdit) => {
37
38
  isEmpty: runtime?.isEmpty ?? true,
38
39
  text: runtime?.text ?? "",
39
40
  attachments: runtime?.attachments ?? EMPTY_ARRAY,
41
+ role: runtime?.role ?? "user",
40
42
  value: runtime?.text ?? "",
41
43
  setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
42
44
  setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
@@ -76,6 +78,12 @@ var ComposerRuntimeImpl = class {
76
78
  get text() {
77
79
  return this.getState().text;
78
80
  }
81
+ /**
82
+ * @deprecated Use `getState().role` instead. This will be removed in 0.6.0.
83
+ */
84
+ get role() {
85
+ return this.getState().role;
86
+ }
79
87
  /**
80
88
  * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.
81
89
  */
@@ -127,6 +135,11 @@ var ComposerRuntimeImpl = class {
127
135
  if (!core) throw new Error("Composer is not available");
128
136
  core.cancel();
129
137
  }
138
+ setRole(role) {
139
+ const core = this._core.getState();
140
+ if (!core) throw new Error("Composer is not available");
141
+ core.setRole(role);
142
+ }
130
143
  subscribe(callback) {
131
144
  return this._core.subscribe(callback);
132
145
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ComposerRuntime.ts"],"sourcesContent":["import { Attachment, PendingAttachment } from \"../types/AttachmentTypes\";\nimport {\n ComposerRuntimeCore,\n ThreadComposerRuntimeCore,\n} from \"../runtimes/core/ComposerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n EditComposerAttachmentRuntimeImpl,\n ThreadComposerAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadComposerRuntimeCoreBinding = SubscribableWithState<\n ThreadComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"thread\" }\n>;\n\nexport type EditComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"edit\" }\n>;\n\nexport type ComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath\n>;\n\ntype LegacyEditComposerState = Readonly<{\n type: \"edit\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n text: string;\n /**\n * @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0.\n */\n setText: (value: string) => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use useComposerRuntime().beginEdit() instead. This will be removed in 0.6.0.\n */\n edit: () => void;\n /**\n * @deprecated Use `useComposerRuntime().send()` instead. This will be removed in 0.6.0.\n */\n send: () => void;\n /**\n * @deprecated Use `useComposerRuntime().cancel()` instead. This will be removed in 0.6.0.\n */\n cancel: () => void;\n}>;\n\ntype LegacyThreadComposerState = Readonly<{\n type: \"thread\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n attachments: readonly Attachment[];\n\n /** @deprecated Use `useComposerRuntime().addAttachment` instead. This will be removed in 0.6.0. */\n addAttachment: (file: File) => Promise<void>;\n /** @deprecated Use `useComposerRuntime().removeAttachment` instead. This will be removed in 0.6.0. */\n removeAttachment: (attachmentId: string) => Promise<void>;\n\n text: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setText: (value: string) => void;\n\n /** @deprecated Use `useComposerRuntime().reset` instead. This will be removed in 0.6.0. */\n reset: () => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use `useComposerRuntime().send` instead. This will be removed in 0.6.0.\n **/\n send: () => void;\n /** @deprecated Use `useComposerRuntime().cancel` instead. This will be removed in 0.6.0. */\n cancel: () => void;\n}>;\n\ntype BaseComposerState = {\n text: string;\n attachments: readonly Attachment[];\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n};\n\nexport type ThreadComposerState = LegacyThreadComposerState &\n BaseComposerState & {\n type: \"thread\";\n\n attachments: readonly PendingAttachment[];\n };\n\nexport type EditComposerState = LegacyEditComposerState &\n BaseComposerState & {\n type: \"edit\";\n };\n\nexport type ComposerState = ThreadComposerState | EditComposerState;\n\nconst METHOD_NOT_SUPPORTED = () => {\n throw new Error(\"Composer is not available\");\n};\nconst EMPTY_ARRAY = Object.freeze([]);\nconst getThreadComposerState = (\n runtime: ThreadComposerRuntimeCore | undefined,\n): ThreadComposerState => {\n return Object.freeze({\n type: \"thread\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n // edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n reset: runtime?.reset.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n\n addAttachment: runtime?.addAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n removeAttachment:\n runtime?.removeAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nconst getEditComposerState = (\n runtime: ComposerRuntimeCore | undefined,\n beginEdit: () => void,\n): EditComposerState => {\n return Object.freeze({\n type: \"edit\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nexport type ComposerRuntime = {\n path: ComposerRuntimePath;\n readonly type: \"edit\" | \"thread\";\n getState(): ComposerState;\n\n /** @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0. */\n readonly isEditing: boolean;\n\n /** @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0. */\n readonly isEmpty: boolean;\n\n /** @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0. */\n readonly canCancel: boolean;\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly text: string;\n\n /** @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0. */\n readonly attachments: readonly Attachment[];\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly value: string;\n\n setText(text: string): void;\n setValue(text: string): void;\n\n getAttachmentAccept(): string;\n addAttachment(file: File): Promise<void>;\n\n /** @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0. */\n removeAttachment(attachmentId: string): Promise<void>;\n\n /** @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality. */\n reset(): void;\n\n send(): void;\n cancel(): void;\n subscribe(callback: () => void): Unsubscribe;\n getAttachmentByIndex(idx: number): AttachmentRuntime;\n};\n\nexport abstract class ComposerRuntimeImpl\n implements ComposerRuntimeCore, ComposerRuntime\n{\n public get path() {\n return this._core.path;\n }\n\n public abstract get type(): \"edit\" | \"thread\";\n\n constructor(protected _core: ComposerRuntimeCoreBinding) {}\n\n /**\n * @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0.\n */\n public get isEditing() {\n return this.getState().isEditing;\n }\n\n /**\n * @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0.\n */\n public get isEmpty() {\n return this.getState().isEmpty;\n }\n\n /**\n * @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0.\n */\n public get canCancel() {\n return this.getState().canCancel;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get text() {\n return this.getState().text;\n }\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n public get attachments() {\n return this.getState().attachments;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get value() {\n return this.text;\n }\n\n public abstract getState(): ComposerState;\n\n public setText(text: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.setText(text);\n }\n\n public setValue(text: string) {\n this.setText(text);\n }\n\n public addAttachment(file: File) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.addAttachment(file);\n }\n\n /**\n * @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0.\n */\n public removeAttachment(attachmentId: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.removeAttachment(attachmentId);\n }\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n public reset() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.reset();\n }\n\n public send() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.send();\n }\n\n public cancel() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.cancel();\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getAttachmentAccept(): string {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.getAttachmentAccept();\n }\n\n public abstract getAttachmentByIndex(idx: number): AttachmentRuntime;\n}\n\nexport type ThreadComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"thread\" };\n readonly type: \"thread\";\n getState(): ThreadComposerState;\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n attachments: readonly PendingAttachment[];\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"thread-composer\" };\n};\n\nexport class ThreadComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements ThreadComposerRuntime, ThreadComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & {\n composerSource: \"thread\";\n };\n }\n\n public get type() {\n return \"thread\" as const;\n }\n\n private _getState;\n\n constructor(core: ThreadComposerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getThreadComposerState(core.getState()),\n subscribe: (callback) => core.subscribe(callback),\n });\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override get attachments() {\n return this.getState()?.attachments ?? EMPTY_ARRAY;\n }\n\n public override getState(): ThreadComposerState {\n return this._getState();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new ThreadComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"thread-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"thread-composer\",\n } satisfies AttachmentState & { source: \"thread-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n\nexport type EditComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"edit\" };\n readonly type: \"edit\";\n\n getState(): EditComposerState;\n beginEdit(): void;\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n edit(): void;\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"edit-composer\" };\n};\n\nexport class EditComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements EditComposerRuntime, EditComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & { composerSource: \"edit\" };\n }\n\n public get type() {\n return \"edit\" as const;\n }\n\n private _getState;\n constructor(\n core: EditComposerRuntimeCoreBinding,\n private _beginEdit: () => void,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getEditComposerState(core.getState(), this._beginEdit),\n subscribe: (callback) => core.subscribe(callback),\n });\n\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override getState(): EditComposerState {\n return this._getState();\n }\n\n public beginEdit() {\n this._beginEdit();\n }\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n public edit() {\n this.beginEdit();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new EditComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"edit-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"edit-composer\",\n } satisfies AttachmentState & { source: \"edit-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/api/ComposerRuntime.ts"],"sourcesContent":["import { Attachment, PendingAttachment } from \"../types/AttachmentTypes\";\nimport {\n ComposerRuntimeCore,\n ThreadComposerRuntimeCore,\n} from \"../runtimes/core/ComposerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n EditComposerAttachmentRuntimeImpl,\n ThreadComposerAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimePath } from \"./RuntimePathTypes\";\nimport { MessageRole } from \"../types/AssistantTypes\";\n\nexport type ThreadComposerRuntimeCoreBinding = SubscribableWithState<\n ThreadComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"thread\" }\n>;\n\nexport type EditComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath & { composerSource: \"edit\" }\n>;\n\nexport type ComposerRuntimeCoreBinding = SubscribableWithState<\n ComposerRuntimeCore | undefined,\n ComposerRuntimePath\n>;\n\ntype LegacyEditComposerState = Readonly<{\n type: \"edit\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n text: string;\n /**\n * @deprecated Use `useComposerRuntime().setText()` instead. This will be removed in 0.6.0.\n */\n setText: (value: string) => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use useComposerRuntime().beginEdit() instead. This will be removed in 0.6.0.\n */\n edit: () => void;\n /**\n * @deprecated Use `useComposerRuntime().send()` instead. This will be removed in 0.6.0.\n */\n send: () => void;\n /**\n * @deprecated Use `useComposerRuntime().cancel()` instead. This will be removed in 0.6.0.\n */\n cancel: () => void;\n}>;\n\ntype LegacyThreadComposerState = Readonly<{\n type: \"thread\";\n\n /** @deprecated Use `text` instead. This will be removed in 0.6.0. */\n value: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setValue: (value: string) => void;\n\n attachments: readonly Attachment[];\n\n /** @deprecated Use `useComposerRuntime().addAttachment` instead. This will be removed in 0.6.0. */\n addAttachment: (file: File) => Promise<void>;\n /** @deprecated Use `useComposerRuntime().removeAttachment` instead. This will be removed in 0.6.0. */\n removeAttachment: (attachmentId: string) => Promise<void>;\n\n text: string;\n /** @deprecated Use `useComposerRuntime().setText` instead. This will be removed in 0.6.0. */\n setText: (value: string) => void;\n\n /** @deprecated Use `useComposerRuntime().reset` instead. This will be removed in 0.6.0. */\n reset: () => void;\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n\n /**\n * @deprecated Use `useComposerRuntime().send` instead. This will be removed in 0.6.0.\n **/\n send: () => void;\n /** @deprecated Use `useComposerRuntime().cancel` instead. This will be removed in 0.6.0. */\n cancel: () => void;\n}>;\n\ntype BaseComposerState = {\n text: string;\n role: MessageRole;\n attachments: readonly Attachment[];\n\n canCancel: boolean;\n isEditing: boolean;\n isEmpty: boolean;\n};\n\nexport type ThreadComposerState = LegacyThreadComposerState &\n BaseComposerState & {\n type: \"thread\";\n\n attachments: readonly PendingAttachment[];\n };\n\nexport type EditComposerState = LegacyEditComposerState &\n BaseComposerState & {\n type: \"edit\";\n };\n\nexport type ComposerState = ThreadComposerState | EditComposerState;\n\nconst METHOD_NOT_SUPPORTED = () => {\n throw new Error(\"Composer is not available\");\n};\nconst EMPTY_ARRAY = Object.freeze([]);\nconst getThreadComposerState = (\n runtime: ThreadComposerRuntimeCore | undefined,\n): ThreadComposerState => {\n return Object.freeze({\n type: \"thread\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n role: runtime?.role ?? \"user\",\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n // edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n reset: runtime?.reset.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n\n addAttachment: runtime?.addAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n removeAttachment:\n runtime?.removeAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nconst getEditComposerState = (\n runtime: ComposerRuntimeCore | undefined,\n beginEdit: () => void,\n): EditComposerState => {\n return Object.freeze({\n type: \"edit\",\n\n isEditing: runtime?.isEditing ?? false,\n canCancel: runtime?.canCancel ?? false,\n isEmpty: runtime?.isEmpty ?? true,\n text: runtime?.text ?? \"\",\n attachments: runtime?.attachments ?? EMPTY_ARRAY,\n role: runtime?.role ?? \"user\",\n\n value: runtime?.text ?? \"\",\n setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n edit: beginEdit,\n send: runtime?.send.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED,\n });\n};\n\nexport type ComposerRuntime = {\n path: ComposerRuntimePath;\n readonly type: \"edit\" | \"thread\";\n getState(): ComposerState;\n\n /** @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0. */\n readonly isEditing: boolean;\n\n /** @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0. */\n readonly isEmpty: boolean;\n\n /** @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0. */\n readonly canCancel: boolean;\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly text: string;\n\n /** @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0. */\n readonly attachments: readonly Attachment[];\n\n /** @deprecated Use `getState().text` instead. This will be removed in 0.6.0. */\n readonly value: string;\n\n setText(text: string): void;\n setValue(text: string): void;\n\n getAttachmentAccept(): string;\n addAttachment(file: File): Promise<void>;\n\n /** @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0. */\n removeAttachment(attachmentId: string): Promise<void>;\n\n /** @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality. */\n reset(): void;\n\n send(): void;\n cancel(): void;\n subscribe(callback: () => void): Unsubscribe;\n getAttachmentByIndex(idx: number): AttachmentRuntime;\n};\n\nexport abstract class ComposerRuntimeImpl\n implements ComposerRuntimeCore, ComposerRuntime\n{\n public get path() {\n return this._core.path;\n }\n\n public abstract get type(): \"edit\" | \"thread\";\n\n constructor(protected _core: ComposerRuntimeCoreBinding) {}\n\n /**\n * @deprecated Use `getState().isEditing` instead. This will be removed in 0.6.0.\n */\n public get isEditing() {\n return this.getState().isEditing;\n }\n\n /**\n * @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0.\n */\n public get isEmpty() {\n return this.getState().isEmpty;\n }\n\n /**\n * @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0.\n */\n public get canCancel() {\n return this.getState().canCancel;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get text() {\n return this.getState().text;\n }\n\n /**\n * @deprecated Use `getState().role` instead. This will be removed in 0.6.0.\n */\n public get role() {\n return this.getState().role;\n }\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n public get attachments() {\n return this.getState().attachments;\n }\n\n /**\n * @deprecated Use `getState().text` instead. This will be removed in 0.6.0.\n */\n public get value() {\n return this.text;\n }\n\n public abstract getState(): ComposerState;\n\n public setText(text: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.setText(text);\n }\n\n public setValue(text: string) {\n this.setText(text);\n }\n\n public addAttachment(file: File) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.addAttachment(file);\n }\n\n /**\n * @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0.\n */\n public removeAttachment(attachmentId: string) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.removeAttachment(attachmentId);\n }\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n public reset() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.reset();\n }\n\n public send() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.send();\n }\n\n public cancel() {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.cancel();\n }\n\n public setRole(role: MessageRole) {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n core.setRole(role);\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getAttachmentAccept(): string {\n const core = this._core.getState();\n if (!core) throw new Error(\"Composer is not available\");\n return core.getAttachmentAccept();\n }\n\n public abstract getAttachmentByIndex(idx: number): AttachmentRuntime;\n}\n\nexport type ThreadComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"thread\" };\n readonly type: \"thread\";\n getState(): ThreadComposerState;\n\n /**\n * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.\n */\n attachments: readonly PendingAttachment[];\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"thread-composer\" };\n};\n\nexport class ThreadComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements ThreadComposerRuntime, ThreadComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & {\n composerSource: \"thread\";\n };\n }\n\n public get type() {\n return \"thread\" as const;\n }\n\n private _getState;\n\n constructor(core: ThreadComposerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getThreadComposerState(core.getState()),\n subscribe: (callback) => core.subscribe(callback),\n });\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override get attachments() {\n return this.getState()?.attachments ?? EMPTY_ARRAY;\n }\n\n public override getState(): ThreadComposerState {\n return this._getState();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new ThreadComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"thread-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"thread-composer\",\n } satisfies AttachmentState & { source: \"thread-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n\nexport type EditComposerRuntime = Omit<\n ComposerRuntime,\n \"getState\" | \"getAttachmentByIndex\"\n> & {\n readonly path: ComposerRuntimePath & { composerSource: \"edit\" };\n readonly type: \"edit\";\n\n getState(): EditComposerState;\n beginEdit(): void;\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n edit(): void;\n\n getAttachmentByIndex(\n idx: number,\n ): AttachmentRuntime & { source: \"edit-composer\" };\n};\n\nexport class EditComposerRuntimeImpl\n extends ComposerRuntimeImpl\n implements EditComposerRuntime, EditComposerState\n{\n public override get path() {\n return this._core.path as ComposerRuntimePath & { composerSource: \"edit\" };\n }\n\n public get type() {\n return \"edit\" as const;\n }\n\n private _getState;\n constructor(\n core: EditComposerRuntimeCoreBinding,\n private _beginEdit: () => void,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: core.path,\n getState: () => getEditComposerState(core.getState(), this._beginEdit),\n subscribe: (callback) => core.subscribe(callback),\n });\n\n super({\n path: core.path,\n getState: () => core.getState(),\n subscribe: (callback) => stateBinding.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public override getState(): EditComposerState {\n return this._getState();\n }\n\n public beginEdit() {\n this._beginEdit();\n }\n\n /**\n * @deprecated Use `beginEdit()` instead. This will be removed in 0.6.0.\n */\n public edit() {\n this.beginEdit();\n }\n\n public getAttachmentByIndex(idx: number) {\n return new EditComposerAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n attachmentSource: \"edit-composer\",\n attachmentSelector: { type: \"index\", index: idx },\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n attachment: attachment,\n source: \"edit-composer\",\n } satisfies AttachmentState & { source: \"edit-composer\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageRuntime.d.ts","sourceRoot":"","sources":["../../src/api/MessageRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageRuntime.d.ts","sourceRoot":"","sources":["../../src/api/MessageRuntime.ts"],"names":[],"mappings":"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"}
@@ -89,19 +89,16 @@ var MessageRuntimeImpl = class {
89
89
  }
90
90
  reload() {
91
91
  const state = this._core.getState();
92
- if (!state) throw new Error("Message is not available");
93
92
  if (state.role !== "assistant")
94
93
  throw new Error("Can only reload assistant messages");
95
94
  this._threadBinding.getState().startRun(state.parentId);
96
95
  }
97
96
  speak() {
98
97
  const state = this._core.getState();
99
- if (!state) throw new Error("Message is not available");
100
98
  return this._threadBinding.getState().speak(state.id);
101
99
  }
102
100
  stopSpeaking() {
103
101
  const state = this._core.getState();
104
- if (!state) throw new Error("Message is not available");
105
102
  const thread = this._threadBinding.getState();
106
103
  if (thread.speech?.messageId === state.id) {
107
104
  this._threadBinding.getState().stopSpeaking();
@@ -111,7 +108,6 @@ var MessageRuntimeImpl = class {
111
108
  }
112
109
  submitFeedback({ type }) {
113
110
  const state = this._core.getState();
114
- if (!state) throw new Error("Message is not available");
115
111
  this._threadBinding.getState().submitFeedback({
116
112
  messageId: state.id,
117
113
  type
@@ -122,7 +118,6 @@ var MessageRuntimeImpl = class {
122
118
  branchId
123
119
  }) {
124
120
  const state = this._core.getState();
125
- if (!state) throw new Error("Message is not available");
126
121
  if (branchId && position) {
127
122
  throw new Error("May not specify both branchId and position");
128
123
  } else if (!branchId && !position) {