@assistant-ui/react 0.5.97 → 0.5.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1153) 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 +15 -13
  4. package/dist/api/AssistantRuntime.js.map +1 -1
  5. package/dist/api/AssistantRuntime.mjs +14 -15
  6. package/dist/api/AssistantRuntime.mjs.map +1 -1
  7. package/dist/api/AttachmentRuntime.js +12 -10
  8. package/dist/api/AttachmentRuntime.js.map +1 -1
  9. package/dist/api/AttachmentRuntime.mjs +11 -10
  10. package/dist/api/AttachmentRuntime.mjs.map +1 -1
  11. package/dist/api/ComposerRuntime.d.ts +7 -0
  12. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  13. package/dist/api/ComposerRuntime.js +29 -14
  14. package/dist/api/ComposerRuntime.js.map +1 -1
  15. package/dist/api/ComposerRuntime.mjs +28 -14
  16. package/dist/api/ComposerRuntime.mjs.map +1 -1
  17. package/dist/api/ContentPartRuntime.js +4 -2
  18. package/dist/api/ContentPartRuntime.js.map +1 -1
  19. package/dist/api/ContentPartRuntime.mjs +3 -2
  20. package/dist/api/ContentPartRuntime.mjs.map +1 -1
  21. package/dist/api/MessageRuntime.d.ts.map +1 -1
  22. package/dist/api/MessageRuntime.js +15 -18
  23. package/dist/api/MessageRuntime.js.map +1 -1
  24. package/dist/api/MessageRuntime.mjs +14 -18
  25. package/dist/api/MessageRuntime.mjs.map +1 -1
  26. package/dist/api/RuntimePathTypes.d.ts +16 -1
  27. package/dist/api/RuntimePathTypes.d.ts.map +1 -1
  28. package/dist/api/RuntimePathTypes.js +2 -0
  29. package/dist/api/RuntimePathTypes.js.map +1 -1
  30. package/dist/api/ThreadListItemRuntime.d.ts +29 -0
  31. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -0
  32. package/dist/api/ThreadListItemRuntime.js +61 -0
  33. package/dist/api/ThreadListItemRuntime.js.map +1 -0
  34. package/dist/api/ThreadListItemRuntime.mjs +36 -0
  35. package/dist/api/ThreadListItemRuntime.mjs.map +1 -0
  36. package/dist/api/ThreadListRuntime.d.ts +51 -0
  37. package/dist/api/ThreadListRuntime.d.ts.map +1 -0
  38. package/dist/api/ThreadListRuntime.js +128 -0
  39. package/dist/api/ThreadListRuntime.js.map +1 -0
  40. package/dist/api/ThreadListRuntime.mjs +105 -0
  41. package/dist/api/ThreadListRuntime.mjs.map +1 -0
  42. package/dist/api/ThreadRuntime.d.ts +3 -0
  43. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  44. package/dist/api/ThreadRuntime.js +13 -11
  45. package/dist/api/ThreadRuntime.js.map +1 -1
  46. package/dist/api/ThreadRuntime.mjs +12 -11
  47. package/dist/api/ThreadRuntime.mjs.map +1 -1
  48. package/dist/api/index.d.ts +1 -1
  49. package/dist/api/index.d.ts.map +1 -1
  50. package/dist/api/index.js +2 -0
  51. package/dist/api/index.js.map +1 -1
  52. package/dist/api/subscribable/BaseSubject.js +4 -2
  53. package/dist/api/subscribable/BaseSubject.js.map +1 -1
  54. package/dist/api/subscribable/BaseSubject.mjs +3 -2
  55. package/dist/api/subscribable/BaseSubject.mjs.map +1 -1
  56. package/dist/api/subscribable/LazyMemoizeSubject.js +6 -4
  57. package/dist/api/subscribable/LazyMemoizeSubject.js.map +1 -1
  58. package/dist/api/subscribable/LazyMemoizeSubject.mjs +5 -4
  59. package/dist/api/subscribable/LazyMemoizeSubject.mjs.map +1 -1
  60. package/dist/api/subscribable/NestedSubscriptionSubject.js +5 -3
  61. package/dist/api/subscribable/NestedSubscriptionSubject.js.map +1 -1
  62. package/dist/api/subscribable/NestedSubscriptionSubject.mjs +4 -3
  63. package/dist/api/subscribable/NestedSubscriptionSubject.mjs.map +1 -1
  64. package/dist/api/subscribable/SKIP_UPDATE.js +3 -1
  65. package/dist/api/subscribable/SKIP_UPDATE.js.map +1 -1
  66. package/dist/api/subscribable/SKIP_UPDATE.mjs +2 -1
  67. package/dist/api/subscribable/SKIP_UPDATE.mjs.map +1 -1
  68. package/dist/api/subscribable/ShallowMemoizeSubject.js +7 -5
  69. package/dist/api/subscribable/ShallowMemoizeSubject.js.map +1 -1
  70. package/dist/api/subscribable/ShallowMemoizeSubject.mjs +6 -5
  71. package/dist/api/subscribable/ShallowMemoizeSubject.mjs.map +1 -1
  72. package/dist/api/subscribable/Subscribable.js +2 -0
  73. package/dist/api/subscribable/Subscribable.js.map +1 -1
  74. package/dist/api/subscribable/shallowEqual.js +2 -0
  75. package/dist/api/subscribable/shallowEqual.js.map +1 -1
  76. package/dist/api/subscribable/shallowEqual.mjs +1 -0
  77. package/dist/api/subscribable/shallowEqual.mjs.map +1 -1
  78. package/dist/context/ReadonlyStore.js +3 -1
  79. package/dist/context/ReadonlyStore.js.map +1 -1
  80. package/dist/context/ReadonlyStore.mjs +2 -1
  81. package/dist/context/ReadonlyStore.mjs.map +1 -1
  82. package/dist/context/index.js +8 -6
  83. package/dist/context/index.js.map +1 -1
  84. package/dist/context/index.mjs +4 -3
  85. package/dist/context/index.mjs.map +1 -1
  86. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  87. package/dist/context/providers/AssistantRuntimeProvider.js +18 -18
  88. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  89. package/dist/context/providers/AssistantRuntimeProvider.mjs +18 -18
  90. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  91. package/dist/context/providers/AttachmentRuntimeProvider.d.ts +6 -5
  92. package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +1 -1
  93. package/dist/context/providers/AttachmentRuntimeProvider.js +8 -6
  94. package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
  95. package/dist/context/providers/AttachmentRuntimeProvider.mjs +8 -6
  96. package/dist/context/providers/AttachmentRuntimeProvider.mjs.map +1 -1
  97. package/dist/context/providers/ContentPartRuntimeProvider.d.ts +6 -5
  98. package/dist/context/providers/ContentPartRuntimeProvider.d.ts.map +1 -1
  99. package/dist/context/providers/ContentPartRuntimeProvider.js +8 -9
  100. package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
  101. package/dist/context/providers/ContentPartRuntimeProvider.mjs +8 -9
  102. package/dist/context/providers/ContentPartRuntimeProvider.mjs.map +1 -1
  103. package/dist/context/providers/MessageRuntimeProvider.d.ts +6 -5
  104. package/dist/context/providers/MessageRuntimeProvider.d.ts.map +1 -1
  105. package/dist/context/providers/MessageRuntimeProvider.js +11 -9
  106. package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
  107. package/dist/context/providers/MessageRuntimeProvider.mjs +11 -9
  108. package/dist/context/providers/MessageRuntimeProvider.mjs.map +1 -1
  109. package/dist/context/providers/TextContentPartProvider.d.ts +7 -6
  110. package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -1
  111. package/dist/context/providers/TextContentPartProvider.js +13 -7
  112. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  113. package/dist/context/providers/TextContentPartProvider.mjs +13 -7
  114. package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
  115. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +13 -0
  116. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
  117. package/dist/context/providers/ThreadListItemRuntimeProvider.js +62 -0
  118. package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -0
  119. package/dist/context/providers/ThreadListItemRuntimeProvider.mjs +39 -0
  120. package/dist/context/providers/ThreadListItemRuntimeProvider.mjs.map +1 -0
  121. package/dist/context/providers/ThreadRuntimeProvider.js +11 -9
  122. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  123. package/dist/context/providers/ThreadRuntimeProvider.mjs +10 -9
  124. package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
  125. package/dist/context/providers/index.js +4 -2
  126. package/dist/context/providers/index.js.map +1 -1
  127. package/dist/context/providers/index.mjs +3 -2
  128. package/dist/context/providers/index.mjs.map +1 -1
  129. package/dist/context/react/AssistantContext.d.ts +35 -11
  130. package/dist/context/react/AssistantContext.d.ts.map +1 -1
  131. package/dist/context/react/AssistantContext.js +15 -13
  132. package/dist/context/react/AssistantContext.js.map +1 -1
  133. package/dist/context/react/AssistantContext.mjs +14 -12
  134. package/dist/context/react/AssistantContext.mjs.map +1 -1
  135. package/dist/context/react/AttachmentContext.js +8 -6
  136. package/dist/context/react/AttachmentContext.js.map +1 -1
  137. package/dist/context/react/AttachmentContext.mjs +8 -6
  138. package/dist/context/react/AttachmentContext.mjs.map +1 -1
  139. package/dist/context/react/ComposerContext.js +7 -5
  140. package/dist/context/react/ComposerContext.js.map +1 -1
  141. package/dist/context/react/ComposerContext.mjs +6 -5
  142. package/dist/context/react/ComposerContext.mjs.map +1 -1
  143. package/dist/context/react/ContentPartContext.js +7 -5
  144. package/dist/context/react/ContentPartContext.js.map +1 -1
  145. package/dist/context/react/ContentPartContext.mjs +7 -5
  146. package/dist/context/react/ContentPartContext.mjs.map +1 -1
  147. package/dist/context/react/MessageContext.js +9 -7
  148. package/dist/context/react/MessageContext.js.map +1 -1
  149. package/dist/context/react/MessageContext.mjs +9 -7
  150. package/dist/context/react/MessageContext.mjs.map +1 -1
  151. package/dist/context/react/ThreadContext.js +16 -14
  152. package/dist/context/react/ThreadContext.js.map +1 -1
  153. package/dist/context/react/ThreadContext.mjs +16 -14
  154. package/dist/context/react/ThreadContext.mjs.map +1 -1
  155. package/dist/context/react/ThreadListItemContext.d.ts +58 -0
  156. package/dist/context/react/ThreadListItemContext.d.ts.map +1 -0
  157. package/dist/context/react/ThreadListItemContext.js +53 -0
  158. package/dist/context/react/ThreadListItemContext.js.map +1 -0
  159. package/dist/context/react/ThreadListItemContext.mjs +25 -0
  160. package/dist/context/react/ThreadListItemContext.mjs.map +1 -0
  161. package/dist/context/react/index.d.ts +1 -1
  162. package/dist/context/react/index.d.ts.map +1 -1
  163. package/dist/context/react/index.js +10 -8
  164. package/dist/context/react/index.js.map +1 -1
  165. package/dist/context/react/index.mjs +9 -8
  166. package/dist/context/react/index.mjs.map +1 -1
  167. package/dist/context/react/utils/createContextHook.js +2 -0
  168. package/dist/context/react/utils/createContextHook.js.map +1 -1
  169. package/dist/context/react/utils/createContextHook.mjs +1 -0
  170. package/dist/context/react/utils/createContextHook.mjs.map +1 -1
  171. package/dist/context/react/utils/createContextStoreHook.js +2 -0
  172. package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
  173. package/dist/context/react/utils/createContextStoreHook.mjs +1 -0
  174. package/dist/context/react/utils/createContextStoreHook.mjs.map +1 -1
  175. package/dist/context/stores/AssistantToolUIs.js +3 -1
  176. package/dist/context/stores/AssistantToolUIs.js.map +1 -1
  177. package/dist/context/stores/AssistantToolUIs.mjs +3 -1
  178. package/dist/context/stores/AssistantToolUIs.mjs.map +1 -1
  179. package/dist/context/stores/MessageUtils.js +3 -1
  180. package/dist/context/stores/MessageUtils.js.map +1 -1
  181. package/dist/context/stores/MessageUtils.mjs +2 -1
  182. package/dist/context/stores/MessageUtils.mjs.map +1 -1
  183. package/dist/context/stores/ThreadViewport.js +3 -1
  184. package/dist/context/stores/ThreadViewport.js.map +1 -1
  185. package/dist/context/stores/ThreadViewport.mjs +3 -1
  186. package/dist/context/stores/ThreadViewport.mjs.map +1 -1
  187. package/dist/context/stores/index.js +2 -0
  188. package/dist/context/stores/index.js.map +1 -1
  189. package/dist/edge.js +3 -1
  190. package/dist/edge.js.map +1 -1
  191. package/dist/edge.mjs +2 -1
  192. package/dist/edge.mjs.map +1 -1
  193. package/dist/hooks/index.js +4 -2
  194. package/dist/hooks/index.js.map +1 -1
  195. package/dist/hooks/index.mjs +3 -2
  196. package/dist/hooks/index.mjs.map +1 -1
  197. package/dist/hooks/useAppendMessage.js +4 -2
  198. package/dist/hooks/useAppendMessage.js.map +1 -1
  199. package/dist/hooks/useAppendMessage.mjs +3 -2
  200. package/dist/hooks/useAppendMessage.mjs.map +1 -1
  201. package/dist/hooks/useSwitchToNewThread.js +4 -2
  202. package/dist/hooks/useSwitchToNewThread.js.map +1 -1
  203. package/dist/hooks/useSwitchToNewThread.mjs +3 -2
  204. package/dist/hooks/useSwitchToNewThread.mjs.map +1 -1
  205. package/dist/index.js +21 -19
  206. package/dist/index.js.map +1 -1
  207. package/dist/index.mjs +11 -10
  208. package/dist/index.mjs.map +1 -1
  209. package/dist/internal.d.ts +1 -1
  210. package/dist/internal.d.ts.map +1 -1
  211. package/dist/internal.js +12 -10
  212. package/dist/internal.js.map +1 -1
  213. package/dist/internal.mjs +10 -9
  214. package/dist/internal.mjs.map +1 -1
  215. package/dist/model-config/index.js +8 -6
  216. package/dist/model-config/index.js.map +1 -1
  217. package/dist/model-config/index.mjs +7 -6
  218. package/dist/model-config/index.mjs.map +1 -1
  219. package/dist/model-config/makeAssistantTool.js +4 -2
  220. package/dist/model-config/makeAssistantTool.js.map +1 -1
  221. package/dist/model-config/makeAssistantTool.mjs +4 -2
  222. package/dist/model-config/makeAssistantTool.mjs.map +1 -1
  223. package/dist/model-config/makeAssistantToolUI.js +4 -2
  224. package/dist/model-config/makeAssistantToolUI.js.map +1 -1
  225. package/dist/model-config/makeAssistantToolUI.mjs +4 -2
  226. package/dist/model-config/makeAssistantToolUI.mjs.map +1 -1
  227. package/dist/model-config/useAssistantInstructions.js +4 -2
  228. package/dist/model-config/useAssistantInstructions.js.map +1 -1
  229. package/dist/model-config/useAssistantInstructions.mjs +4 -2
  230. package/dist/model-config/useAssistantInstructions.mjs.map +1 -1
  231. package/dist/model-config/useAssistantTool.js +4 -2
  232. package/dist/model-config/useAssistantTool.js.map +1 -1
  233. package/dist/model-config/useAssistantTool.mjs +4 -2
  234. package/dist/model-config/useAssistantTool.mjs.map +1 -1
  235. package/dist/model-config/useAssistantToolUI.js +4 -2
  236. package/dist/model-config/useAssistantToolUI.js.map +1 -1
  237. package/dist/model-config/useAssistantToolUI.mjs +4 -2
  238. package/dist/model-config/useAssistantToolUI.mjs.map +1 -1
  239. package/dist/model-config/useInlineRender.js +3 -1
  240. package/dist/model-config/useInlineRender.js.map +1 -1
  241. package/dist/model-config/useInlineRender.mjs +2 -1
  242. package/dist/model-config/useInlineRender.mjs.map +1 -1
  243. package/dist/primitive-hooks/actionBar/index.js +9 -7
  244. package/dist/primitive-hooks/actionBar/index.js.map +1 -1
  245. package/dist/primitive-hooks/actionBar/index.mjs +8 -7
  246. package/dist/primitive-hooks/actionBar/index.mjs.map +1 -1
  247. package/dist/primitive-hooks/actionBar/useActionBarCopy.js +5 -3
  248. package/dist/primitive-hooks/actionBar/useActionBarCopy.js.map +1 -1
  249. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs +4 -3
  250. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs.map +1 -1
  251. package/dist/primitive-hooks/actionBar/useActionBarEdit.js +4 -2
  252. package/dist/primitive-hooks/actionBar/useActionBarEdit.js.map +1 -1
  253. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs +3 -2
  254. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs.map +1 -1
  255. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +4 -2
  256. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js.map +1 -1
  257. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs +3 -2
  258. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs.map +1 -1
  259. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +4 -2
  260. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js.map +1 -1
  261. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs +3 -2
  262. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs.map +1 -1
  263. package/dist/primitive-hooks/actionBar/useActionBarReload.js +6 -4
  264. package/dist/primitive-hooks/actionBar/useActionBarReload.js.map +1 -1
  265. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs +5 -4
  266. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs.map +1 -1
  267. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +4 -2
  268. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js.map +1 -1
  269. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs +3 -2
  270. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs.map +1 -1
  271. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +4 -2
  272. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js.map +1 -1
  273. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs +3 -2
  274. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs.map +1 -1
  275. package/dist/primitive-hooks/attachment/useAttachmentRemove.js +4 -2
  276. package/dist/primitive-hooks/attachment/useAttachmentRemove.js.map +1 -1
  277. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs +3 -2
  278. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs.map +1 -1
  279. package/dist/primitive-hooks/branchPicker/index.js +6 -4
  280. package/dist/primitive-hooks/branchPicker/index.js.map +1 -1
  281. package/dist/primitive-hooks/branchPicker/index.mjs +5 -4
  282. package/dist/primitive-hooks/branchPicker/index.mjs.map +1 -1
  283. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js +4 -2
  284. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js.map +1 -1
  285. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs +4 -2
  286. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs.map +1 -1
  287. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +4 -2
  288. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js.map +1 -1
  289. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs +3 -2
  290. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs.map +1 -1
  291. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js +4 -2
  292. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js.map +1 -1
  293. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs +4 -2
  294. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs.map +1 -1
  295. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +4 -2
  296. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js.map +1 -1
  297. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs +3 -2
  298. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs.map +1 -1
  299. package/dist/primitive-hooks/composer/index.js +6 -4
  300. package/dist/primitive-hooks/composer/index.js.map +1 -1
  301. package/dist/primitive-hooks/composer/index.mjs +5 -4
  302. package/dist/primitive-hooks/composer/index.mjs.map +1 -1
  303. package/dist/primitive-hooks/composer/useComposerAddAttachment.js +4 -2
  304. package/dist/primitive-hooks/composer/useComposerAddAttachment.js.map +1 -1
  305. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs +3 -2
  306. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs.map +1 -1
  307. package/dist/primitive-hooks/composer/useComposerCancel.js +4 -2
  308. package/dist/primitive-hooks/composer/useComposerCancel.js.map +1 -1
  309. package/dist/primitive-hooks/composer/useComposerCancel.mjs +3 -2
  310. package/dist/primitive-hooks/composer/useComposerCancel.mjs.map +1 -1
  311. package/dist/primitive-hooks/composer/useComposerIf.js +4 -2
  312. package/dist/primitive-hooks/composer/useComposerIf.js.map +1 -1
  313. package/dist/primitive-hooks/composer/useComposerIf.mjs +4 -2
  314. package/dist/primitive-hooks/composer/useComposerIf.mjs.map +1 -1
  315. package/dist/primitive-hooks/composer/useComposerSend.js +6 -4
  316. package/dist/primitive-hooks/composer/useComposerSend.js.map +1 -1
  317. package/dist/primitive-hooks/composer/useComposerSend.mjs +5 -4
  318. package/dist/primitive-hooks/composer/useComposerSend.mjs.map +1 -1
  319. package/dist/primitive-hooks/contentPart/index.js +5 -3
  320. package/dist/primitive-hooks/contentPart/index.js.map +1 -1
  321. package/dist/primitive-hooks/contentPart/index.mjs +4 -3
  322. package/dist/primitive-hooks/contentPart/index.mjs.map +1 -1
  323. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +4 -2
  324. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +1 -1
  325. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs +3 -2
  326. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +1 -1
  327. package/dist/primitive-hooks/contentPart/useContentPartImage.js +4 -2
  328. package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +1 -1
  329. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs +3 -2
  330. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +1 -1
  331. package/dist/primitive-hooks/contentPart/useContentPartText.js +4 -2
  332. package/dist/primitive-hooks/contentPart/useContentPartText.js.map +1 -1
  333. package/dist/primitive-hooks/contentPart/useContentPartText.mjs +3 -2
  334. package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +1 -1
  335. package/dist/primitive-hooks/index.js +14 -12
  336. package/dist/primitive-hooks/index.js.map +1 -1
  337. package/dist/primitive-hooks/index.mjs +7 -6
  338. package/dist/primitive-hooks/index.mjs.map +1 -1
  339. package/dist/primitive-hooks/message/index.js +3 -1
  340. package/dist/primitive-hooks/message/index.js.map +1 -1
  341. package/dist/primitive-hooks/message/index.mjs +2 -1
  342. package/dist/primitive-hooks/message/index.mjs.map +1 -1
  343. package/dist/primitive-hooks/message/useMessageIf.js +5 -3
  344. package/dist/primitive-hooks/message/useMessageIf.js.map +1 -1
  345. package/dist/primitive-hooks/message/useMessageIf.mjs +5 -3
  346. package/dist/primitive-hooks/message/useMessageIf.mjs.map +1 -1
  347. package/dist/primitive-hooks/thread/index.js +6 -4
  348. package/dist/primitive-hooks/thread/index.js.map +1 -1
  349. package/dist/primitive-hooks/thread/index.mjs +5 -4
  350. package/dist/primitive-hooks/thread/index.mjs.map +1 -1
  351. package/dist/primitive-hooks/thread/useThreadEmpty.js +4 -2
  352. package/dist/primitive-hooks/thread/useThreadEmpty.js.map +1 -1
  353. package/dist/primitive-hooks/thread/useThreadEmpty.mjs +3 -2
  354. package/dist/primitive-hooks/thread/useThreadEmpty.mjs.map +1 -1
  355. package/dist/primitive-hooks/thread/useThreadIf.js +4 -2
  356. package/dist/primitive-hooks/thread/useThreadIf.js.map +1 -1
  357. package/dist/primitive-hooks/thread/useThreadIf.mjs +4 -2
  358. package/dist/primitive-hooks/thread/useThreadIf.mjs.map +1 -1
  359. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +5 -3
  360. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js.map +1 -1
  361. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs +4 -3
  362. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs.map +1 -1
  363. package/dist/primitive-hooks/thread/useThreadSuggestion.js +5 -3
  364. package/dist/primitive-hooks/thread/useThreadSuggestion.js.map +1 -1
  365. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs +4 -3
  366. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs.map +1 -1
  367. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js +8 -6
  368. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js.map +1 -1
  369. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs +8 -6
  370. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs.map +1 -1
  371. package/dist/primitives/actionBar/ActionBarCopy.js +6 -4
  372. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  373. package/dist/primitives/actionBar/ActionBarCopy.mjs +6 -4
  374. package/dist/primitives/actionBar/ActionBarCopy.mjs.map +1 -1
  375. package/dist/primitives/actionBar/ActionBarEdit.js +5 -3
  376. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  377. package/dist/primitives/actionBar/ActionBarEdit.mjs +5 -3
  378. package/dist/primitives/actionBar/ActionBarEdit.mjs.map +1 -1
  379. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -4
  380. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  381. package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs +6 -4
  382. package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs.map +1 -1
  383. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -4
  384. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  385. package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs +6 -4
  386. package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs.map +1 -1
  387. package/dist/primitives/actionBar/ActionBarReload.js +5 -3
  388. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  389. package/dist/primitives/actionBar/ActionBarReload.mjs +5 -3
  390. package/dist/primitives/actionBar/ActionBarReload.mjs.map +1 -1
  391. package/dist/primitives/actionBar/ActionBarRoot.js +5 -3
  392. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  393. package/dist/primitives/actionBar/ActionBarRoot.mjs +5 -3
  394. package/dist/primitives/actionBar/ActionBarRoot.mjs.map +1 -1
  395. package/dist/primitives/actionBar/ActionBarSpeak.js +5 -3
  396. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  397. package/dist/primitives/actionBar/ActionBarSpeak.mjs +5 -3
  398. package/dist/primitives/actionBar/ActionBarSpeak.mjs.map +1 -1
  399. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -3
  400. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  401. package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs +5 -3
  402. package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs.map +1 -1
  403. package/dist/primitives/actionBar/index.js +10 -8
  404. package/dist/primitives/actionBar/index.js.map +1 -1
  405. package/dist/primitives/actionBar/index.mjs +9 -8
  406. package/dist/primitives/actionBar/index.mjs.map +1 -1
  407. package/dist/primitives/actionBar/types.js +2 -0
  408. package/dist/primitives/actionBar/types.js.map +1 -1
  409. package/dist/primitives/actionBar/useActionBarFloatStatus.js +6 -4
  410. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  411. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs +6 -4
  412. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs.map +1 -1
  413. package/dist/primitives/assistantModal/AssistantModalAnchor.js +5 -3
  414. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  415. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs +5 -3
  416. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +1 -1
  417. package/dist/primitives/assistantModal/AssistantModalContent.js +5 -3
  418. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  419. package/dist/primitives/assistantModal/AssistantModalContent.mjs +5 -3
  420. package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +1 -1
  421. package/dist/primitives/assistantModal/AssistantModalRoot.js +7 -5
  422. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  423. package/dist/primitives/assistantModal/AssistantModalRoot.mjs +7 -5
  424. package/dist/primitives/assistantModal/AssistantModalRoot.mjs.map +1 -1
  425. package/dist/primitives/assistantModal/AssistantModalTrigger.js +5 -3
  426. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  427. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs +5 -3
  428. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
  429. package/dist/primitives/assistantModal/index.js +6 -4
  430. package/dist/primitives/assistantModal/index.js.map +1 -1
  431. package/dist/primitives/assistantModal/index.mjs +5 -4
  432. package/dist/primitives/assistantModal/index.mjs.map +1 -1
  433. package/dist/primitives/assistantModal/scope.js +3 -1
  434. package/dist/primitives/assistantModal/scope.js.map +1 -1
  435. package/dist/primitives/assistantModal/scope.mjs +2 -1
  436. package/dist/primitives/assistantModal/scope.mjs.map +1 -1
  437. package/dist/primitives/assistantModal/types.js +2 -0
  438. package/dist/primitives/assistantModal/types.js.map +1 -1
  439. package/dist/primitives/attachment/AttachmentName.js +4 -2
  440. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  441. package/dist/primitives/attachment/AttachmentName.mjs +4 -2
  442. package/dist/primitives/attachment/AttachmentName.mjs.map +1 -1
  443. package/dist/primitives/attachment/AttachmentRemove.js +5 -3
  444. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  445. package/dist/primitives/attachment/AttachmentRemove.mjs +5 -3
  446. package/dist/primitives/attachment/AttachmentRemove.mjs.map +1 -1
  447. package/dist/primitives/attachment/AttachmentRoot.js +4 -2
  448. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  449. package/dist/primitives/attachment/AttachmentRoot.mjs +3 -2
  450. package/dist/primitives/attachment/AttachmentRoot.mjs.map +1 -1
  451. package/dist/primitives/attachment/AttachmentThumb.js +5 -3
  452. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  453. package/dist/primitives/attachment/AttachmentThumb.mjs +5 -3
  454. package/dist/primitives/attachment/AttachmentThumb.mjs.map +1 -1
  455. package/dist/primitives/attachment/index.js +6 -4
  456. package/dist/primitives/attachment/index.js.map +1 -1
  457. package/dist/primitives/attachment/index.mjs +5 -4
  458. package/dist/primitives/attachment/index.mjs.map +1 -1
  459. package/dist/primitives/branchPicker/BranchPickerCount.js +4 -2
  460. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  461. package/dist/primitives/branchPicker/BranchPickerCount.mjs +4 -2
  462. package/dist/primitives/branchPicker/BranchPickerCount.mjs.map +1 -1
  463. package/dist/primitives/branchPicker/BranchPickerNext.js +5 -3
  464. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  465. package/dist/primitives/branchPicker/BranchPickerNext.mjs +5 -3
  466. package/dist/primitives/branchPicker/BranchPickerNext.mjs.map +1 -1
  467. package/dist/primitives/branchPicker/BranchPickerNumber.js +4 -2
  468. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  469. package/dist/primitives/branchPicker/BranchPickerNumber.mjs +4 -2
  470. package/dist/primitives/branchPicker/BranchPickerNumber.mjs.map +1 -1
  471. package/dist/primitives/branchPicker/BranchPickerPrevious.js +5 -3
  472. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  473. package/dist/primitives/branchPicker/BranchPickerPrevious.mjs +5 -3
  474. package/dist/primitives/branchPicker/BranchPickerPrevious.mjs.map +1 -1
  475. package/dist/primitives/branchPicker/BranchPickerRoot.js +5 -3
  476. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  477. package/dist/primitives/branchPicker/BranchPickerRoot.mjs +5 -3
  478. package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
  479. package/dist/primitives/branchPicker/index.js +7 -5
  480. package/dist/primitives/branchPicker/index.js.map +1 -1
  481. package/dist/primitives/branchPicker/index.mjs +6 -5
  482. package/dist/primitives/branchPicker/index.mjs.map +1 -1
  483. package/dist/primitives/branchPicker/types.js +2 -0
  484. package/dist/primitives/branchPicker/types.js.map +1 -1
  485. package/dist/primitives/composer/ComposerAddAttachment.js +5 -3
  486. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  487. package/dist/primitives/composer/ComposerAddAttachment.mjs +5 -3
  488. package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
  489. package/dist/primitives/composer/ComposerAttachments.js +11 -9
  490. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  491. package/dist/primitives/composer/ComposerAttachments.mjs +11 -9
  492. package/dist/primitives/composer/ComposerAttachments.mjs.map +1 -1
  493. package/dist/primitives/composer/ComposerCancel.js +5 -3
  494. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  495. package/dist/primitives/composer/ComposerCancel.mjs +5 -3
  496. package/dist/primitives/composer/ComposerCancel.mjs.map +1 -1
  497. package/dist/primitives/composer/ComposerIf.js +4 -2
  498. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  499. package/dist/primitives/composer/ComposerIf.mjs +4 -2
  500. package/dist/primitives/composer/ComposerIf.mjs.map +1 -1
  501. package/dist/primitives/composer/ComposerInput.js +7 -5
  502. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  503. package/dist/primitives/composer/ComposerInput.mjs +7 -5
  504. package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
  505. package/dist/primitives/composer/ComposerRoot.js +5 -3
  506. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  507. package/dist/primitives/composer/ComposerRoot.mjs +5 -3
  508. package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
  509. package/dist/primitives/composer/ComposerSend.js +5 -3
  510. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  511. package/dist/primitives/composer/ComposerSend.mjs +5 -3
  512. package/dist/primitives/composer/ComposerSend.mjs.map +1 -1
  513. package/dist/primitives/composer/index.js +9 -7
  514. package/dist/primitives/composer/index.js.map +1 -1
  515. package/dist/primitives/composer/index.mjs +8 -7
  516. package/dist/primitives/composer/index.mjs.map +1 -1
  517. package/dist/primitives/composer/types.js +2 -0
  518. package/dist/primitives/composer/types.js.map +1 -1
  519. package/dist/primitives/contentPart/ContentPartDisplay.js +4 -2
  520. package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
  521. package/dist/primitives/contentPart/ContentPartDisplay.mjs +3 -2
  522. package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
  523. package/dist/primitives/contentPart/ContentPartImage.js +5 -3
  524. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  525. package/dist/primitives/contentPart/ContentPartImage.mjs +4 -3
  526. package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
  527. package/dist/primitives/contentPart/ContentPartInProgress.js +4 -2
  528. package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
  529. package/dist/primitives/contentPart/ContentPartInProgress.mjs +3 -2
  530. package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +1 -1
  531. package/dist/primitives/contentPart/ContentPartText.js +6 -4
  532. package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
  533. package/dist/primitives/contentPart/ContentPartText.mjs +6 -4
  534. package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
  535. package/dist/primitives/contentPart/index.js +6 -4
  536. package/dist/primitives/contentPart/index.js.map +1 -1
  537. package/dist/primitives/contentPart/index.mjs +5 -4
  538. package/dist/primitives/contentPart/index.mjs.map +1 -1
  539. package/dist/primitives/contentPart/types.js +2 -0
  540. package/dist/primitives/contentPart/types.js.map +1 -1
  541. package/dist/primitives/index.d.ts +2 -0
  542. package/dist/primitives/index.d.ts.map +1 -1
  543. package/dist/primitives/index.js +16 -8
  544. package/dist/primitives/index.js.map +1 -1
  545. package/dist/primitives/index.mjs +13 -8
  546. package/dist/primitives/index.mjs.map +1 -1
  547. package/dist/primitives/message/MessageAttachments.js +11 -9
  548. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  549. package/dist/primitives/message/MessageAttachments.mjs +11 -9
  550. package/dist/primitives/message/MessageAttachments.mjs.map +1 -1
  551. package/dist/primitives/message/MessageContent.js +17 -15
  552. package/dist/primitives/message/MessageContent.js.map +1 -1
  553. package/dist/primitives/message/MessageContent.mjs +17 -15
  554. package/dist/primitives/message/MessageContent.mjs.map +1 -1
  555. package/dist/primitives/message/MessageIf.js +4 -2
  556. package/dist/primitives/message/MessageIf.js.map +1 -1
  557. package/dist/primitives/message/MessageIf.mjs +4 -2
  558. package/dist/primitives/message/MessageIf.mjs.map +1 -1
  559. package/dist/primitives/message/MessageInProgress.js +3 -1
  560. package/dist/primitives/message/MessageInProgress.js.map +1 -1
  561. package/dist/primitives/message/MessageInProgress.mjs +3 -1
  562. package/dist/primitives/message/MessageInProgress.mjs.map +1 -1
  563. package/dist/primitives/message/MessageRoot.js +7 -5
  564. package/dist/primitives/message/MessageRoot.js.map +1 -1
  565. package/dist/primitives/message/MessageRoot.mjs +7 -5
  566. package/dist/primitives/message/MessageRoot.mjs.map +1 -1
  567. package/dist/primitives/message/index.js +7 -5
  568. package/dist/primitives/message/index.js.map +1 -1
  569. package/dist/primitives/message/index.mjs +6 -5
  570. package/dist/primitives/message/index.mjs.map +1 -1
  571. package/dist/primitives/message/types.js +2 -0
  572. package/dist/primitives/message/types.js.map +1 -1
  573. package/dist/primitives/thread/ThreadEmpty.js +4 -2
  574. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  575. package/dist/primitives/thread/ThreadEmpty.mjs +4 -2
  576. package/dist/primitives/thread/ThreadEmpty.mjs.map +1 -1
  577. package/dist/primitives/thread/ThreadIf.js +4 -2
  578. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  579. package/dist/primitives/thread/ThreadIf.mjs +4 -2
  580. package/dist/primitives/thread/ThreadIf.mjs.map +1 -1
  581. package/dist/primitives/thread/ThreadMessages.js +14 -12
  582. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  583. package/dist/primitives/thread/ThreadMessages.mjs +14 -12
  584. package/dist/primitives/thread/ThreadMessages.mjs.map +1 -1
  585. package/dist/primitives/thread/ThreadRoot.js +4 -2
  586. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  587. package/dist/primitives/thread/ThreadRoot.mjs +4 -2
  588. package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
  589. package/dist/primitives/thread/ThreadScrollToBottom.js +5 -3
  590. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  591. package/dist/primitives/thread/ThreadScrollToBottom.mjs +5 -3
  592. package/dist/primitives/thread/ThreadScrollToBottom.mjs.map +1 -1
  593. package/dist/primitives/thread/ThreadSuggestion.js +5 -3
  594. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  595. package/dist/primitives/thread/ThreadSuggestion.mjs +5 -3
  596. package/dist/primitives/thread/ThreadSuggestion.mjs.map +1 -1
  597. package/dist/primitives/thread/ThreadViewport.js +5 -3
  598. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  599. package/dist/primitives/thread/ThreadViewport.mjs +5 -3
  600. package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
  601. package/dist/primitives/thread/index.js +9 -7
  602. package/dist/primitives/thread/index.js.map +1 -1
  603. package/dist/primitives/thread/index.mjs +8 -7
  604. package/dist/primitives/thread/index.mjs.map +1 -1
  605. package/dist/primitives/thread/types.js +2 -0
  606. package/dist/primitives/thread/types.js.map +1 -1
  607. package/dist/primitives/threadList/ThreadListItems.d.ts +11 -0
  608. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
  609. package/dist/primitives/threadList/ThreadListItems.js +72 -0
  610. package/dist/primitives/threadList/ThreadListItems.js.map +1 -0
  611. package/dist/primitives/threadList/ThreadListItems.mjs +48 -0
  612. package/dist/primitives/threadList/ThreadListItems.mjs.map +1 -0
  613. package/dist/primitives/threadList/ThreadListNew.d.ts +13 -0
  614. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -0
  615. package/dist/primitives/threadList/ThreadListNew.js +43 -0
  616. package/dist/primitives/threadList/ThreadListNew.js.map +1 -0
  617. package/dist/primitives/threadList/ThreadListNew.mjs +21 -0
  618. package/dist/primitives/threadList/ThreadListNew.mjs.map +1 -0
  619. package/dist/primitives/threadList/index.d.ts +3 -0
  620. package/dist/primitives/threadList/index.d.ts.map +1 -0
  621. package/dist/primitives/threadList/index.js +34 -0
  622. package/dist/primitives/threadList/index.js.map +1 -0
  623. package/dist/primitives/threadList/index.mjs +8 -0
  624. package/dist/primitives/threadList/index.mjs.map +1 -0
  625. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +13 -0
  626. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
  627. package/dist/primitives/threadListItem/ThreadListItemArchive.js +43 -0
  628. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -0
  629. package/dist/primitives/threadListItem/ThreadListItemArchive.mjs +21 -0
  630. package/dist/primitives/threadListItem/ThreadListItemArchive.mjs.map +1 -0
  631. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +13 -0
  632. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
  633. package/dist/primitives/threadListItem/ThreadListItemDelete.js +43 -0
  634. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -0
  635. package/dist/primitives/threadListItem/ThreadListItemDelete.mjs +21 -0
  636. package/dist/primitives/threadListItem/ThreadListItemDelete.mjs.map +1 -0
  637. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +13 -0
  638. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
  639. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +43 -0
  640. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -0
  641. package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs +21 -0
  642. package/dist/primitives/threadListItem/ThreadListItemUnarchive.mjs.map +1 -0
  643. package/dist/primitives/threadListItem/index.d.ts +4 -0
  644. package/dist/primitives/threadListItem/index.d.ts.map +1 -0
  645. package/dist/primitives/threadListItem/index.js +37 -0
  646. package/dist/primitives/threadListItem/index.js.map +1 -0
  647. package/dist/primitives/threadListItem/index.mjs +10 -0
  648. package/dist/primitives/threadListItem/index.mjs.map +1 -0
  649. package/dist/runtimes/attachment/AttachmentAdapter.js +2 -0
  650. package/dist/runtimes/attachment/AttachmentAdapter.js.map +1 -1
  651. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js +4 -2
  652. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js.map +1 -1
  653. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs +3 -2
  654. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs.map +1 -1
  655. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.js +5 -3
  656. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.js.map +1 -1
  657. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.mjs +4 -3
  658. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.mjs.map +1 -1
  659. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.js +5 -3
  660. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.js.map +1 -1
  661. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.mjs +4 -3
  662. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.mjs.map +1 -1
  663. package/dist/runtimes/attachment/index.js +5 -3
  664. package/dist/runtimes/attachment/index.js.map +1 -1
  665. package/dist/runtimes/attachment/index.mjs +4 -3
  666. package/dist/runtimes/attachment/index.mjs.map +1 -1
  667. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +5 -1
  668. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  669. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +19 -8
  670. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  671. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +18 -8
  672. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
  673. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -1
  674. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +8 -5
  675. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
  676. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs +7 -5
  677. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +1 -1
  678. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +5 -3
  679. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
  680. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs +4 -3
  681. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs.map +1 -1
  682. package/dist/runtimes/core/AssistantRuntimeCore.d.ts +2 -2
  683. package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -1
  684. package/dist/runtimes/core/AssistantRuntimeCore.js +2 -0
  685. package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
  686. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +2 -2
  687. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -1
  688. package/dist/runtimes/core/BaseAssistantRuntimeCore.js +5 -3
  689. package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
  690. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs +4 -3
  691. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
  692. package/dist/runtimes/core/BaseThreadRuntimeCore.js +8 -6
  693. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  694. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +7 -6
  695. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  696. package/dist/runtimes/core/ComposerRuntimeCore.d.ts +3 -0
  697. package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
  698. package/dist/runtimes/core/ComposerRuntimeCore.js +2 -0
  699. package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
  700. package/dist/runtimes/core/{ThreadManagerRuntimeCore.d.ts → ThreadListRuntimeCore.d.ts} +7 -6
  701. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -0
  702. package/dist/runtimes/core/{ThreadManagerRuntimeCore.js → ThreadListRuntimeCore.js} +5 -3
  703. package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -0
  704. package/dist/runtimes/core/ThreadListRuntimeCore.mjs +1 -0
  705. package/dist/runtimes/core/ThreadRuntimeCore.js +2 -0
  706. package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
  707. package/dist/runtimes/core/index.js +3 -1
  708. package/dist/runtimes/core/index.js.map +1 -1
  709. package/dist/runtimes/core/index.mjs +2 -1
  710. package/dist/runtimes/core/index.mjs.map +1 -1
  711. package/dist/runtimes/core/subscribeToMainThread.js +5 -3
  712. package/dist/runtimes/core/subscribeToMainThread.js.map +1 -1
  713. package/dist/runtimes/core/subscribeToMainThread.mjs +4 -3
  714. package/dist/runtimes/core/subscribeToMainThread.mjs.map +1 -1
  715. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +10 -8
  716. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js.map +1 -1
  717. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs +9 -8
  718. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs.map +1 -1
  719. package/dist/runtimes/dangerous-in-browser/index.js +3 -1
  720. package/dist/runtimes/dangerous-in-browser/index.js.map +1 -1
  721. package/dist/runtimes/dangerous-in-browser/index.mjs +2 -1
  722. package/dist/runtimes/dangerous-in-browser/index.mjs.map +1 -1
  723. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +6 -4
  724. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js.map +1 -1
  725. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs +5 -4
  726. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs.map +1 -1
  727. package/dist/runtimes/edge/EdgeChatAdapter.js +11 -9
  728. package/dist/runtimes/edge/EdgeChatAdapter.js.map +1 -1
  729. package/dist/runtimes/edge/EdgeChatAdapter.mjs +10 -9
  730. package/dist/runtimes/edge/EdgeChatAdapter.mjs.map +1 -1
  731. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +13 -11
  732. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
  733. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +12 -11
  734. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
  735. package/dist/runtimes/edge/converters/fromCoreMessage.js +5 -3
  736. package/dist/runtimes/edge/converters/fromCoreMessage.js.map +1 -1
  737. package/dist/runtimes/edge/converters/fromCoreMessage.mjs +4 -3
  738. package/dist/runtimes/edge/converters/fromCoreMessage.mjs.map +1 -1
  739. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js +3 -1
  740. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +1 -1
  741. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs +2 -1
  742. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +1 -1
  743. package/dist/runtimes/edge/converters/fromLanguageModelTools.js +3 -1
  744. package/dist/runtimes/edge/converters/fromLanguageModelTools.js.map +1 -1
  745. package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs +2 -1
  746. package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs.map +1 -1
  747. package/dist/runtimes/edge/converters/index.js +8 -6
  748. package/dist/runtimes/edge/converters/index.js.map +1 -1
  749. package/dist/runtimes/edge/converters/index.mjs +7 -6
  750. package/dist/runtimes/edge/converters/index.mjs.map +1 -1
  751. package/dist/runtimes/edge/converters/toCoreMessages.js +4 -2
  752. package/dist/runtimes/edge/converters/toCoreMessages.js.map +1 -1
  753. package/dist/runtimes/edge/converters/toCoreMessages.mjs +3 -2
  754. package/dist/runtimes/edge/converters/toCoreMessages.mjs.map +1 -1
  755. package/dist/runtimes/edge/converters/toLanguageModelMessages.js +3 -1
  756. package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
  757. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +2 -1
  758. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
  759. package/dist/runtimes/edge/converters/toLanguageModelTools.js +3 -1
  760. package/dist/runtimes/edge/converters/toLanguageModelTools.js.map +1 -1
  761. package/dist/runtimes/edge/converters/toLanguageModelTools.mjs +2 -1
  762. package/dist/runtimes/edge/converters/toLanguageModelTools.mjs.map +1 -1
  763. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +15 -13
  764. package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
  765. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +14 -13
  766. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
  767. package/dist/runtimes/edge/index.js +8 -6
  768. package/dist/runtimes/edge/index.js.map +1 -1
  769. package/dist/runtimes/edge/index.mjs +5 -4
  770. package/dist/runtimes/edge/index.mjs.map +1 -1
  771. package/dist/runtimes/edge/partial-json/fix-json.js +2 -0
  772. package/dist/runtimes/edge/partial-json/fix-json.js.map +1 -1
  773. package/dist/runtimes/edge/partial-json/fix-json.mjs +1 -0
  774. package/dist/runtimes/edge/partial-json/fix-json.mjs.map +1 -1
  775. package/dist/runtimes/edge/partial-json/parse-partial-json.js +4 -2
  776. package/dist/runtimes/edge/partial-json/parse-partial-json.js.map +1 -1
  777. package/dist/runtimes/edge/partial-json/parse-partial-json.mjs +3 -2
  778. package/dist/runtimes/edge/partial-json/parse-partial-json.mjs.map +1 -1
  779. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js +2 -0
  780. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js.map +1 -1
  781. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs +1 -0
  782. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs.map +1 -1
  783. package/dist/runtimes/edge/streams/assistantDecoderStream.js +3 -1
  784. package/dist/runtimes/edge/streams/assistantDecoderStream.js.map +1 -1
  785. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs +2 -1
  786. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs.map +1 -1
  787. package/dist/runtimes/edge/streams/assistantEncoderStream.js +3 -1
  788. package/dist/runtimes/edge/streams/assistantEncoderStream.js.map +1 -1
  789. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs +2 -1
  790. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs.map +1 -1
  791. package/dist/runtimes/edge/streams/runResultStream.js +10 -8
  792. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  793. package/dist/runtimes/edge/streams/runResultStream.mjs +9 -8
  794. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  795. package/dist/runtimes/edge/streams/toolResultStream.js +2 -0
  796. package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
  797. package/dist/runtimes/edge/streams/toolResultStream.mjs +1 -0
  798. package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
  799. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.js +4 -2
  800. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.js.map +1 -1
  801. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.mjs +3 -2
  802. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.mjs.map +1 -1
  803. package/dist/runtimes/edge/streams/utils/StreamPart.js +2 -0
  804. package/dist/runtimes/edge/streams/utils/StreamPart.js.map +1 -1
  805. package/dist/runtimes/edge/streams/utils/chunkByLineStream.js +2 -0
  806. package/dist/runtimes/edge/streams/utils/chunkByLineStream.js.map +1 -1
  807. package/dist/runtimes/edge/streams/utils/chunkByLineStream.mjs +1 -0
  808. package/dist/runtimes/edge/streams/utils/chunkByLineStream.mjs.map +1 -1
  809. package/dist/runtimes/edge/streams/utils/index.js +5 -3
  810. package/dist/runtimes/edge/streams/utils/index.js.map +1 -1
  811. package/dist/runtimes/edge/streams/utils/index.mjs +4 -3
  812. package/dist/runtimes/edge/streams/utils/index.mjs.map +1 -1
  813. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js +5 -3
  814. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js.map +1 -1
  815. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.mjs +4 -3
  816. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.mjs.map +1 -1
  817. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js +3 -1
  818. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js.map +1 -1
  819. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.mjs +2 -1
  820. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.mjs.map +1 -1
  821. package/dist/runtimes/edge/useEdgeRuntime.js +6 -4
  822. package/dist/runtimes/edge/useEdgeRuntime.js.map +1 -1
  823. package/dist/runtimes/edge/useEdgeRuntime.mjs +5 -4
  824. package/dist/runtimes/edge/useEdgeRuntime.mjs.map +1 -1
  825. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +8 -8
  826. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  827. package/dist/runtimes/external-store/ExternalStoreAdapter.js +2 -0
  828. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  829. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +2 -2
  830. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
  831. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +14 -12
  832. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  833. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +13 -12
  834. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  835. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +35 -0
  836. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -0
  837. package/dist/runtimes/external-store/{ExternalStoreThreadManagementAdapter.js → ExternalStoreThreadListRuntimeCore.js} +21 -10
  838. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -0
  839. package/dist/runtimes/external-store/{ExternalStoreThreadManagementAdapter.mjs → ExternalStoreThreadListRuntimeCore.mjs} +16 -6
  840. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -0
  841. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +1 -1
  842. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +12 -10
  843. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  844. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +11 -10
  845. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  846. package/dist/runtimes/external-store/ThreadMessageConverter.js +4 -2
  847. package/dist/runtimes/external-store/ThreadMessageConverter.js.map +1 -1
  848. package/dist/runtimes/external-store/ThreadMessageConverter.mjs +3 -2
  849. package/dist/runtimes/external-store/ThreadMessageConverter.mjs.map +1 -1
  850. package/dist/runtimes/external-store/ThreadMessageLike.js +3 -1
  851. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  852. package/dist/runtimes/external-store/ThreadMessageLike.mjs +2 -1
  853. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  854. package/dist/runtimes/external-store/auto-status.js +6 -4
  855. package/dist/runtimes/external-store/auto-status.js.map +1 -1
  856. package/dist/runtimes/external-store/auto-status.mjs +5 -4
  857. package/dist/runtimes/external-store/auto-status.mjs.map +1 -1
  858. package/dist/runtimes/external-store/external-message-converter.js +10 -8
  859. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  860. package/dist/runtimes/external-store/external-message-converter.mjs +9 -8
  861. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  862. package/dist/runtimes/external-store/getExternalStoreMessage.js +4 -2
  863. package/dist/runtimes/external-store/getExternalStoreMessage.js.map +1 -1
  864. package/dist/runtimes/external-store/getExternalStoreMessage.mjs +3 -2
  865. package/dist/runtimes/external-store/getExternalStoreMessage.mjs.map +1 -1
  866. package/dist/runtimes/external-store/index.js +5 -3
  867. package/dist/runtimes/external-store/index.js.map +1 -1
  868. package/dist/runtimes/external-store/index.mjs +4 -3
  869. package/dist/runtimes/external-store/index.mjs.map +1 -1
  870. package/dist/runtimes/external-store/useExternalStoreRuntime.js +6 -4
  871. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  872. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +5 -4
  873. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  874. package/dist/runtimes/feedback/FeedbackAdapter.js +2 -0
  875. package/dist/runtimes/feedback/FeedbackAdapter.js.map +1 -1
  876. package/dist/runtimes/feedback/index.js +2 -0
  877. package/dist/runtimes/feedback/index.js.map +1 -1
  878. package/dist/runtimes/index.js +18 -16
  879. package/dist/runtimes/index.js.map +1 -1
  880. package/dist/runtimes/index.mjs +9 -8
  881. package/dist/runtimes/index.mjs.map +1 -1
  882. package/dist/runtimes/local/ChatModelAdapter.js +2 -0
  883. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  884. package/dist/runtimes/local/LocalRuntimeCore.d.ts +2 -2
  885. package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
  886. package/dist/runtimes/local/LocalRuntimeCore.js +15 -13
  887. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  888. package/dist/runtimes/local/LocalRuntimeCore.mjs +14 -13
  889. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  890. package/dist/runtimes/local/LocalRuntimeOptions.js +3 -1
  891. package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
  892. package/dist/runtimes/local/LocalRuntimeOptions.mjs +2 -1
  893. package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
  894. package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.d.ts → LocalThreadListRuntimeCore.d.ts} +16 -6
  895. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -0
  896. package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.js → LocalThreadListRuntimeCore.js} +14 -9
  897. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -0
  898. package/dist/runtimes/local/{LocalThreadManagerRuntimeCore.mjs → LocalThreadListRuntimeCore.mjs} +9 -5
  899. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -0
  900. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  901. package/dist/runtimes/local/LocalThreadRuntimeCore.js +10 -7
  902. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  903. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +9 -7
  904. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  905. package/dist/runtimes/local/index.js +3 -1
  906. package/dist/runtimes/local/index.js.map +1 -1
  907. package/dist/runtimes/local/index.mjs +2 -1
  908. package/dist/runtimes/local/index.mjs.map +1 -1
  909. package/dist/runtimes/local/shouldContinue.js +3 -1
  910. package/dist/runtimes/local/shouldContinue.js.map +1 -1
  911. package/dist/runtimes/local/shouldContinue.mjs +2 -1
  912. package/dist/runtimes/local/shouldContinue.mjs.map +1 -1
  913. package/dist/runtimes/local/useLocalRuntime.js +9 -7
  914. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  915. package/dist/runtimes/local/useLocalRuntime.mjs +9 -7
  916. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  917. package/dist/runtimes/speech/SpeechAdapterTypes.js +2 -0
  918. package/dist/runtimes/speech/SpeechAdapterTypes.js.map +1 -1
  919. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.js +4 -2
  920. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.js.map +1 -1
  921. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.mjs +3 -2
  922. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.mjs.map +1 -1
  923. package/dist/runtimes/speech/index.js +3 -1
  924. package/dist/runtimes/speech/index.js.map +1 -1
  925. package/dist/runtimes/speech/index.mjs +2 -1
  926. package/dist/runtimes/speech/index.mjs.map +1 -1
  927. package/dist/runtimes/utils/MessageRepository.js +7 -5
  928. package/dist/runtimes/utils/MessageRepository.js.map +1 -1
  929. package/dist/runtimes/utils/MessageRepository.mjs +6 -5
  930. package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
  931. package/dist/tailwindcss/index.d.ts.map +1 -1
  932. package/dist/tailwindcss/index.js +7 -5
  933. package/dist/tailwindcss/index.js.map +1 -1
  934. package/dist/tailwindcss/index.mjs +6 -5
  935. package/dist/tailwindcss/index.mjs.map +1 -1
  936. package/dist/types/AssistantTypes.d.ts +2 -0
  937. package/dist/types/AssistantTypes.d.ts.map +1 -1
  938. package/dist/types/AssistantTypes.js +2 -0
  939. package/dist/types/AssistantTypes.js.map +1 -1
  940. package/dist/types/AttachmentTypes.js +2 -0
  941. package/dist/types/AttachmentTypes.js.map +1 -1
  942. package/dist/types/ContentPartComponentTypes.js +2 -0
  943. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  944. package/dist/types/ModelConfigTypes.js +5 -3
  945. package/dist/types/ModelConfigTypes.js.map +1 -1
  946. package/dist/types/ModelConfigTypes.mjs +4 -3
  947. package/dist/types/ModelConfigTypes.mjs.map +1 -1
  948. package/dist/types/Unsubscribe.js +2 -0
  949. package/dist/types/Unsubscribe.js.map +1 -1
  950. package/dist/types/index.js +2 -0
  951. package/dist/types/index.js.map +1 -1
  952. package/dist/ui/assistant-action-bar.js +23 -21
  953. package/dist/ui/assistant-action-bar.js.map +1 -1
  954. package/dist/ui/assistant-action-bar.mjs +23 -21
  955. package/dist/ui/assistant-action-bar.mjs.map +1 -1
  956. package/dist/ui/assistant-message.js +16 -14
  957. package/dist/ui/assistant-message.js.map +1 -1
  958. package/dist/ui/assistant-message.mjs +16 -14
  959. package/dist/ui/assistant-message.mjs.map +1 -1
  960. package/dist/ui/assistant-modal.js +16 -14
  961. package/dist/ui/assistant-modal.js.map +1 -1
  962. package/dist/ui/assistant-modal.mjs +16 -14
  963. package/dist/ui/assistant-modal.mjs.map +1 -1
  964. package/dist/ui/attachment.js +22 -20
  965. package/dist/ui/attachment.js.map +1 -1
  966. package/dist/ui/attachment.mjs +19 -17
  967. package/dist/ui/attachment.mjs.map +1 -1
  968. package/dist/ui/base/CircleStopIcon.js +3 -1
  969. package/dist/ui/base/CircleStopIcon.js.map +1 -1
  970. package/dist/ui/base/CircleStopIcon.mjs +2 -1
  971. package/dist/ui/base/CircleStopIcon.mjs.map +1 -1
  972. package/dist/ui/base/avatar.js +8 -6
  973. package/dist/ui/base/avatar.js.map +1 -1
  974. package/dist/ui/base/avatar.mjs +8 -6
  975. package/dist/ui/base/avatar.mjs.map +1 -1
  976. package/dist/ui/base/button.js +5 -3
  977. package/dist/ui/base/button.js.map +1 -1
  978. package/dist/ui/base/button.mjs +4 -3
  979. package/dist/ui/base/button.mjs.map +1 -1
  980. package/dist/ui/base/dialog.js +9 -7
  981. package/dist/ui/base/dialog.js.map +1 -1
  982. package/dist/ui/base/dialog.mjs +9 -7
  983. package/dist/ui/base/dialog.mjs.map +1 -1
  984. package/dist/ui/base/index.js +7 -5
  985. package/dist/ui/base/index.js.map +1 -1
  986. package/dist/ui/base/index.mjs +6 -5
  987. package/dist/ui/base/index.mjs.map +1 -1
  988. package/dist/ui/base/tooltip-icon-button.js +6 -4
  989. package/dist/ui/base/tooltip-icon-button.js.map +1 -1
  990. package/dist/ui/base/tooltip-icon-button.mjs +6 -4
  991. package/dist/ui/base/tooltip-icon-button.mjs.map +1 -1
  992. package/dist/ui/base/tooltip.js +7 -5
  993. package/dist/ui/base/tooltip.js.map +1 -1
  994. package/dist/ui/base/tooltip.mjs +7 -5
  995. package/dist/ui/base/tooltip.mjs.map +1 -1
  996. package/dist/ui/branch-picker.js +16 -14
  997. package/dist/ui/branch-picker.js.map +1 -1
  998. package/dist/ui/branch-picker.mjs +16 -14
  999. package/dist/ui/branch-picker.mjs.map +1 -1
  1000. package/dist/ui/composer.js +26 -24
  1001. package/dist/ui/composer.js.map +1 -1
  1002. package/dist/ui/composer.mjs +26 -24
  1003. package/dist/ui/composer.mjs.map +1 -1
  1004. package/dist/ui/content-part.js +7 -5
  1005. package/dist/ui/content-part.js.map +1 -1
  1006. package/dist/ui/content-part.mjs +6 -5
  1007. package/dist/ui/content-part.mjs.map +1 -1
  1008. package/dist/ui/edit-composer.js +14 -12
  1009. package/dist/ui/edit-composer.js.map +1 -1
  1010. package/dist/ui/edit-composer.mjs +14 -12
  1011. package/dist/ui/edit-composer.mjs.map +1 -1
  1012. package/dist/ui/index.js +15 -13
  1013. package/dist/ui/index.js.map +1 -1
  1014. package/dist/ui/index.mjs +14 -13
  1015. package/dist/ui/index.mjs.map +1 -1
  1016. package/dist/ui/thread-config.js +8 -6
  1017. package/dist/ui/thread-config.js.map +1 -1
  1018. package/dist/ui/thread-config.mjs +8 -6
  1019. package/dist/ui/thread-config.mjs.map +1 -1
  1020. package/dist/ui/thread-welcome.js +20 -18
  1021. package/dist/ui/thread-welcome.js.map +1 -1
  1022. package/dist/ui/thread-welcome.mjs +20 -18
  1023. package/dist/ui/thread-welcome.mjs.map +1 -1
  1024. package/dist/ui/thread.js +24 -22
  1025. package/dist/ui/thread.js.map +1 -1
  1026. package/dist/ui/thread.mjs +24 -22
  1027. package/dist/ui/thread.mjs.map +1 -1
  1028. package/dist/ui/user-action-bar.js +13 -11
  1029. package/dist/ui/user-action-bar.js.map +1 -1
  1030. package/dist/ui/user-action-bar.mjs +13 -11
  1031. package/dist/ui/user-action-bar.mjs.map +1 -1
  1032. package/dist/ui/user-message.js +16 -14
  1033. package/dist/ui/user-message.js.map +1 -1
  1034. package/dist/ui/user-message.mjs +16 -14
  1035. package/dist/ui/user-message.mjs.map +1 -1
  1036. package/dist/ui/utils/withDefaults.js +5 -3
  1037. package/dist/ui/utils/withDefaults.js.map +1 -1
  1038. package/dist/ui/utils/withDefaults.mjs +4 -3
  1039. package/dist/ui/utils/withDefaults.mjs.map +1 -1
  1040. package/dist/utils/ProxyConfigProvider.js +5 -3
  1041. package/dist/utils/ProxyConfigProvider.js.map +1 -1
  1042. package/dist/utils/ProxyConfigProvider.mjs +4 -3
  1043. package/dist/utils/ProxyConfigProvider.mjs.map +1 -1
  1044. package/dist/utils/RequireAtLeastOne.js +2 -0
  1045. package/dist/utils/RequireAtLeastOne.js.map +1 -1
  1046. package/dist/utils/combined/createCombinedStore.js +3 -1
  1047. package/dist/utils/combined/createCombinedStore.js.map +1 -1
  1048. package/dist/utils/combined/createCombinedStore.mjs +3 -1
  1049. package/dist/utils/combined/createCombinedStore.mjs.map +1 -1
  1050. package/dist/utils/combined/useCombinedStore.js +4 -2
  1051. package/dist/utils/combined/useCombinedStore.js.map +1 -1
  1052. package/dist/utils/combined/useCombinedStore.mjs +3 -2
  1053. package/dist/utils/combined/useCombinedStore.mjs.map +1 -1
  1054. package/dist/utils/createActionButton.js +4 -2
  1055. package/dist/utils/createActionButton.js.map +1 -1
  1056. package/dist/utils/createActionButton.mjs +4 -2
  1057. package/dist/utils/createActionButton.mjs.map +1 -1
  1058. package/dist/utils/getThreadMessageText.js +3 -1
  1059. package/dist/utils/getThreadMessageText.js.map +1 -1
  1060. package/dist/utils/getThreadMessageText.mjs +2 -1
  1061. package/dist/utils/getThreadMessageText.mjs.map +1 -1
  1062. package/dist/utils/hooks/useManagedRef.js +3 -1
  1063. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  1064. package/dist/utils/hooks/useManagedRef.mjs +2 -1
  1065. package/dist/utils/hooks/useManagedRef.mjs.map +1 -1
  1066. package/dist/utils/hooks/useOnResizeContent.js +4 -2
  1067. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  1068. package/dist/utils/hooks/useOnResizeContent.mjs +3 -2
  1069. package/dist/utils/hooks/useOnResizeContent.mjs.map +1 -1
  1070. package/dist/utils/hooks/useOnScrollToBottom.js +4 -2
  1071. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  1072. package/dist/utils/hooks/useOnScrollToBottom.mjs +3 -2
  1073. package/dist/utils/hooks/useOnScrollToBottom.mjs.map +1 -1
  1074. package/dist/utils/idUtils.js +6 -4
  1075. package/dist/utils/idUtils.js.map +1 -1
  1076. package/dist/utils/idUtils.mjs +5 -4
  1077. package/dist/utils/idUtils.mjs.map +1 -1
  1078. package/dist/utils/smooth/SmoothContext.js +10 -8
  1079. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  1080. package/dist/utils/smooth/SmoothContext.mjs +9 -8
  1081. package/dist/utils/smooth/SmoothContext.mjs.map +1 -1
  1082. package/dist/utils/smooth/index.js +5 -3
  1083. package/dist/utils/smooth/index.js.map +1 -1
  1084. package/dist/utils/smooth/index.mjs +4 -3
  1085. package/dist/utils/smooth/index.mjs.map +1 -1
  1086. package/dist/utils/smooth/useSmooth.js +9 -7
  1087. package/dist/utils/smooth/useSmooth.js.map +1 -1
  1088. package/dist/utils/smooth/useSmooth.mjs +9 -7
  1089. package/dist/utils/smooth/useSmooth.mjs.map +1 -1
  1090. package/package.json +13 -12
  1091. package/src/api/AssistantRuntime.ts +9 -12
  1092. package/src/api/ComposerRuntime.ts +17 -0
  1093. package/src/api/MessageRuntime.ts +0 -9
  1094. package/src/api/RuntimePathTypes.ts +10 -1
  1095. package/src/api/ThreadListItemRuntime.ts +67 -0
  1096. package/src/api/ThreadListRuntime.ts +159 -0
  1097. package/src/api/ThreadRuntime.ts +2 -1
  1098. package/src/api/index.ts +1 -4
  1099. package/src/context/providers/AssistantRuntimeProvider.tsx +7 -9
  1100. package/src/context/providers/AttachmentRuntimeProvider.tsx +6 -4
  1101. package/src/context/providers/ContentPartRuntimeProvider.tsx +8 -7
  1102. package/src/context/providers/MessageRuntimeProvider.tsx +6 -4
  1103. package/src/context/providers/TextContentPartProvider.tsx +11 -7
  1104. package/src/context/providers/ThreadListItemRuntimeProvider.tsx +54 -0
  1105. package/src/context/react/AssistantContext.ts +4 -4
  1106. package/src/context/react/ThreadListItemContext.ts +39 -0
  1107. package/src/context/react/index.ts +2 -2
  1108. package/src/internal.ts +1 -1
  1109. package/src/primitives/index.ts +2 -0
  1110. package/src/primitives/threadList/ThreadListItems.tsx +73 -0
  1111. package/src/primitives/threadList/ThreadListNew.ts +25 -0
  1112. package/src/primitives/threadList/index.ts +2 -0
  1113. package/src/primitives/threadListItem/ThreadListItemArchive.ts +25 -0
  1114. package/src/primitives/threadListItem/ThreadListItemDelete.ts +25 -0
  1115. package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +25 -0
  1116. package/src/primitives/threadListItem/index.ts +3 -0
  1117. package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +19 -5
  1118. package/src/runtimes/composer/DefaultEditComposerRuntimeCore.tsx +3 -2
  1119. package/src/runtimes/core/AssistantRuntimeCore.tsx +2 -2
  1120. package/src/runtimes/core/BaseAssistantRuntimeCore.tsx +2 -2
  1121. package/src/runtimes/core/ComposerRuntimeCore.tsx +4 -0
  1122. package/src/runtimes/core/{ThreadManagerRuntimeCore.tsx → ThreadListRuntimeCore.tsx} +7 -5
  1123. package/src/runtimes/core/subscribeToMainThread.ts +2 -2
  1124. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +8 -8
  1125. package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +8 -8
  1126. package/src/runtimes/external-store/{ExternalStoreThreadManagementAdapter.tsx → ExternalStoreThreadListRuntimeCore.tsx} +16 -6
  1127. package/src/runtimes/local/LocalRuntimeCore.tsx +7 -7
  1128. package/src/runtimes/local/{LocalThreadManagerRuntimeCore.tsx → LocalThreadListRuntimeCore.tsx} +11 -7
  1129. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +2 -1
  1130. package/src/tailwindcss/index.ts +4 -4
  1131. package/src/types/AssistantTypes.ts +3 -0
  1132. package/dist/api/ThreadManagerRuntime.d.ts +0 -32
  1133. package/dist/api/ThreadManagerRuntime.d.ts.map +0 -1
  1134. package/dist/api/ThreadManagerRuntime.js +0 -71
  1135. package/dist/api/ThreadManagerRuntime.js.map +0 -1
  1136. package/dist/api/ThreadManagerRuntime.mjs +0 -47
  1137. package/dist/api/ThreadManagerRuntime.mjs.map +0 -1
  1138. package/dist/runtimes/core/ThreadManagerRuntimeCore.d.ts.map +0 -1
  1139. package/dist/runtimes/core/ThreadManagerRuntimeCore.js.map +0 -1
  1140. package/dist/runtimes/core/ThreadManagerRuntimeCore.mjs +0 -1
  1141. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.d.ts +0 -25
  1142. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.d.ts.map +0 -1
  1143. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.js.map +0 -1
  1144. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.mjs.map +0 -1
  1145. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.d.ts.map +0 -1
  1146. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.js.map +0 -1
  1147. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.mjs.map +0 -1
  1148. package/src/api/ThreadManagerRuntime.ts +0 -80
  1149. /package/dist/runtimes/core/{ThreadManagerRuntimeCore.mjs.map → ThreadListRuntimeCore.mjs.map} +0 -0
  1150. /package/{generated → dist/styles/tailwindcss}/base-components.css.json +0 -0
  1151. /package/{generated → dist/styles/tailwindcss}/modal.css.json +0 -0
  1152. /package/{generated → dist/styles/tailwindcss}/thread.css.json +0 -0
  1153. /package/{generated → dist/styles/themes}/default.css.json +0 -0
@@ -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,15 +1,16 @@
1
- import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject";
1
+ // src/api/ComposerRuntime.ts
2
+ import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject.mjs";
2
3
  import {
3
4
  EditComposerAttachmentRuntimeImpl,
4
5
  ThreadComposerAttachmentRuntimeImpl
5
- } from "./AttachmentRuntime";
6
- import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject";
7
- import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE";
8
- const METHOD_NOT_SUPPORTED = () => {
6
+ } from "./AttachmentRuntime.mjs";
7
+ import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject.mjs";
8
+ import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE.mjs";
9
+ var METHOD_NOT_SUPPORTED = () => {
9
10
  throw new Error("Composer is not available");
10
11
  };
11
- const EMPTY_ARRAY = Object.freeze([]);
12
- const getThreadComposerState = (runtime) => {
12
+ var EMPTY_ARRAY = Object.freeze([]);
13
+ var getThreadComposerState = (runtime) => {
13
14
  return Object.freeze({
14
15
  type: "thread",
15
16
  isEditing: runtime?.isEditing ?? false,
@@ -17,6 +18,7 @@ const getThreadComposerState = (runtime) => {
17
18
  isEmpty: runtime?.isEmpty ?? true,
18
19
  text: runtime?.text ?? "",
19
20
  attachments: runtime?.attachments ?? EMPTY_ARRAY,
21
+ role: runtime?.role ?? "user",
20
22
  value: runtime?.text ?? "",
21
23
  setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
22
24
  setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
@@ -28,7 +30,7 @@ const getThreadComposerState = (runtime) => {
28
30
  removeAttachment: runtime?.removeAttachment.bind(runtime) ?? METHOD_NOT_SUPPORTED
29
31
  });
30
32
  };
31
- const getEditComposerState = (runtime, beginEdit) => {
33
+ var getEditComposerState = (runtime, beginEdit) => {
32
34
  return Object.freeze({
33
35
  type: "edit",
34
36
  isEditing: runtime?.isEditing ?? false,
@@ -36,6 +38,7 @@ const getEditComposerState = (runtime, beginEdit) => {
36
38
  isEmpty: runtime?.isEmpty ?? true,
37
39
  text: runtime?.text ?? "",
38
40
  attachments: runtime?.attachments ?? EMPTY_ARRAY,
41
+ role: runtime?.role ?? "user",
39
42
  value: runtime?.text ?? "",
40
43
  setValue: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
41
44
  setText: runtime?.setText.bind(runtime) ?? METHOD_NOT_SUPPORTED,
@@ -44,7 +47,7 @@ const getEditComposerState = (runtime, beginEdit) => {
44
47
  cancel: runtime?.cancel.bind(runtime) ?? METHOD_NOT_SUPPORTED
45
48
  });
46
49
  };
47
- class ComposerRuntimeImpl {
50
+ var ComposerRuntimeImpl = class {
48
51
  constructor(_core) {
49
52
  this._core = _core;
50
53
  }
@@ -75,6 +78,12 @@ class ComposerRuntimeImpl {
75
78
  get text() {
76
79
  return this.getState().text;
77
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
+ }
78
87
  /**
79
88
  * @deprecated Use `getState().attachments` instead. This will be removed in 0.6.0.
80
89
  */
@@ -126,6 +135,11 @@ class ComposerRuntimeImpl {
126
135
  if (!core) throw new Error("Composer is not available");
127
136
  core.cancel();
128
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
+ }
129
143
  subscribe(callback) {
130
144
  return this._core.subscribe(callback);
131
145
  }
@@ -134,8 +148,8 @@ class ComposerRuntimeImpl {
134
148
  if (!core) throw new Error("Composer is not available");
135
149
  return core.getAttachmentAccept();
136
150
  }
137
- }
138
- class ThreadComposerRuntimeImpl extends ComposerRuntimeImpl {
151
+ };
152
+ var ThreadComposerRuntimeImpl = class extends ComposerRuntimeImpl {
139
153
  get path() {
140
154
  return this._core.path;
141
155
  }
@@ -186,8 +200,8 @@ class ThreadComposerRuntimeImpl extends ComposerRuntimeImpl {
186
200
  this._core
187
201
  );
188
202
  }
189
- }
190
- class EditComposerRuntimeImpl extends ComposerRuntimeImpl {
203
+ };
204
+ var EditComposerRuntimeImpl = class extends ComposerRuntimeImpl {
191
205
  constructor(core, _beginEdit) {
192
206
  const stateBinding = new LazyMemoizeSubject({
193
207
  path: core.path,
@@ -245,7 +259,7 @@ class EditComposerRuntimeImpl extends ComposerRuntimeImpl {
245
259
  this._core
246
260
  );
247
261
  }
248
- }
262
+ };
249
263
  export {
250
264
  ComposerRuntimeImpl,
251
265
  EditComposerRuntimeImpl,
@@ -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":[]}
@@ -16,12 +16,14 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/ContentPartRuntime.ts
19
21
  var ContentPartRuntime_exports = {};
20
22
  __export(ContentPartRuntime_exports, {
21
23
  ContentPartRuntimeImpl: () => ContentPartRuntimeImpl
22
24
  });
23
25
  module.exports = __toCommonJS(ContentPartRuntime_exports);
24
- class ContentPartRuntimeImpl {
26
+ var ContentPartRuntimeImpl = class {
25
27
  constructor(contentBinding, messageApi, threadApi) {
26
28
  this.contentBinding = contentBinding;
27
29
  this.messageApi = messageApi;
@@ -52,7 +54,7 @@ class ContentPartRuntimeImpl {
52
54
  subscribe(callback) {
53
55
  return this.contentBinding.subscribe(callback);
54
56
  }
55
- }
57
+ };
56
58
  // Annotate the CommonJS export names for ESM import in node:
57
59
  0 && (module.exports = {
58
60
  ContentPartRuntimeImpl
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ContentPartRuntime.ts"],"sourcesContent":["import {\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { MessageStateBinding } from \"./MessageRuntime\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { Unsubscribe } from \"../types\";\nimport { ContentPartRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ContentPartState = (\n | ThreadUserContentPart\n | ThreadAssistantContentPart\n) & {\n /**\n * @deprecated You can directly access content part fields in the state. Replace `.part.type` with `.type` etc. This will be removed in 0.6.0.\n */\n part: ThreadUserContentPart | ThreadAssistantContentPart;\n status: ContentPartStatus | ToolCallContentPartStatus;\n};\n\ntype ContentPartSnapshotBinding = SubscribableWithState<\n ContentPartState,\n ContentPartRuntimePath\n>;\n\nexport type ContentPartRuntime = {\n path: ContentPartRuntimePath;\n\n getState(): ContentPartState;\n addToolResult(result: any): void;\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class ContentPartRuntimeImpl implements ContentPartRuntime {\n public get path() {\n return this.contentBinding.path;\n }\n\n constructor(\n private contentBinding: ContentPartSnapshotBinding,\n private messageApi: MessageStateBinding,\n private threadApi: ThreadRuntimeCoreBinding,\n ) {}\n\n public getState() {\n return this.contentBinding.getState();\n }\n\n public addToolResult(result: any) {\n const message = this.messageApi.getState();\n if (!message) throw new Error(\"Message is not available\");\n\n const state = this.contentBinding.getState();\n if (!state) throw new Error(\"Content part is not available\");\n\n if (state.type !== \"tool-call\")\n throw new Error(\"Tried to add tool result to non-tool content part\");\n\n const toolName = state.toolName;\n const toolCallId = state.toolCallId;\n\n this.threadApi.getState().addToolResult({\n messageId: message.id,\n toolName,\n toolCallId,\n result,\n });\n }\n\n public subscribe(callback: () => void) {\n return this.contentBinding.subscribe(callback);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCO,MAAM,uBAAqD;AAAA,EAKhE,YACU,gBACA,YACA,WACR;AAHQ;AACA;AACA;AAAA,EACP;AAAA,EARH,IAAW,OAAO;AAChB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAQO,WAAW;AAChB,WAAO,KAAK,eAAe,SAAS;AAAA,EACtC;AAAA,EAEO,cAAc,QAAa;AAChC,UAAM,UAAU,KAAK,WAAW,SAAS;AACzC,QAAI,CAAC,QAAS,OAAM,IAAI,MAAM,0BAA0B;AAExD,UAAM,QAAQ,KAAK,eAAe,SAAS;AAC3C,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,+BAA+B;AAE3D,QAAI,MAAM,SAAS;AACjB,YAAM,IAAI,MAAM,mDAAmD;AAErE,UAAM,WAAW,MAAM;AACvB,UAAM,aAAa,MAAM;AAEzB,SAAK,UAAU,SAAS,EAAE,cAAc;AAAA,MACtC,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,UAAU,UAAsB;AACrC,WAAO,KAAK,eAAe,UAAU,QAAQ;AAAA,EAC/C;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/ContentPartRuntime.ts"],"sourcesContent":["import {\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { MessageStateBinding } from \"./MessageRuntime\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { Unsubscribe } from \"../types\";\nimport { ContentPartRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ContentPartState = (\n | ThreadUserContentPart\n | ThreadAssistantContentPart\n) & {\n /**\n * @deprecated You can directly access content part fields in the state. Replace `.part.type` with `.type` etc. This will be removed in 0.6.0.\n */\n part: ThreadUserContentPart | ThreadAssistantContentPart;\n status: ContentPartStatus | ToolCallContentPartStatus;\n};\n\ntype ContentPartSnapshotBinding = SubscribableWithState<\n ContentPartState,\n ContentPartRuntimePath\n>;\n\nexport type ContentPartRuntime = {\n path: ContentPartRuntimePath;\n\n getState(): ContentPartState;\n addToolResult(result: any): void;\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class ContentPartRuntimeImpl implements ContentPartRuntime {\n public get path() {\n return this.contentBinding.path;\n }\n\n constructor(\n private contentBinding: ContentPartSnapshotBinding,\n private messageApi: MessageStateBinding,\n private threadApi: ThreadRuntimeCoreBinding,\n ) {}\n\n public getState() {\n return this.contentBinding.getState();\n }\n\n public addToolResult(result: any) {\n const message = this.messageApi.getState();\n if (!message) throw new Error(\"Message is not available\");\n\n const state = this.contentBinding.getState();\n if (!state) throw new Error(\"Content part is not available\");\n\n if (state.type !== \"tool-call\")\n throw new Error(\"Tried to add tool result to non-tool content part\");\n\n const toolName = state.toolName;\n const toolCallId = state.toolCallId;\n\n this.threadApi.getState().addToolResult({\n messageId: message.id,\n toolName,\n toolCallId,\n result,\n });\n }\n\n public subscribe(callback: () => void) {\n return this.contentBinding.subscribe(callback);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCO,IAAM,yBAAN,MAA2D;AAAA,EAKhE,YACU,gBACA,YACA,WACR;AAHQ;AACA;AACA;AAAA,EACP;AAAA,EARH,IAAW,OAAO;AAChB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAQO,WAAW;AAChB,WAAO,KAAK,eAAe,SAAS;AAAA,EACtC;AAAA,EAEO,cAAc,QAAa;AAChC,UAAM,UAAU,KAAK,WAAW,SAAS;AACzC,QAAI,CAAC,QAAS,OAAM,IAAI,MAAM,0BAA0B;AAExD,UAAM,QAAQ,KAAK,eAAe,SAAS;AAC3C,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,+BAA+B;AAE3D,QAAI,MAAM,SAAS;AACjB,YAAM,IAAI,MAAM,mDAAmD;AAErE,UAAM,WAAW,MAAM;AACvB,UAAM,aAAa,MAAM;AAEzB,SAAK,UAAU,SAAS,EAAE,cAAc;AAAA,MACtC,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,UAAU,UAAsB;AACrC,WAAO,KAAK,eAAe,UAAU,QAAQ;AAAA,EAC/C;AACF;","names":[]}
@@ -1,4 +1,5 @@
1
- class ContentPartRuntimeImpl {
1
+ // src/api/ContentPartRuntime.ts
2
+ var ContentPartRuntimeImpl = class {
2
3
  constructor(contentBinding, messageApi, threadApi) {
3
4
  this.contentBinding = contentBinding;
4
5
  this.messageApi = messageApi;
@@ -29,7 +30,7 @@ class ContentPartRuntimeImpl {
29
30
  subscribe(callback) {
30
31
  return this.contentBinding.subscribe(callback);
31
32
  }
32
- }
33
+ };
33
34
  export {
34
35
  ContentPartRuntimeImpl
35
36
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ContentPartRuntime.ts"],"sourcesContent":["import {\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { MessageStateBinding } from \"./MessageRuntime\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { Unsubscribe } from \"../types\";\nimport { ContentPartRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ContentPartState = (\n | ThreadUserContentPart\n | ThreadAssistantContentPart\n) & {\n /**\n * @deprecated You can directly access content part fields in the state. Replace `.part.type` with `.type` etc. This will be removed in 0.6.0.\n */\n part: ThreadUserContentPart | ThreadAssistantContentPart;\n status: ContentPartStatus | ToolCallContentPartStatus;\n};\n\ntype ContentPartSnapshotBinding = SubscribableWithState<\n ContentPartState,\n ContentPartRuntimePath\n>;\n\nexport type ContentPartRuntime = {\n path: ContentPartRuntimePath;\n\n getState(): ContentPartState;\n addToolResult(result: any): void;\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class ContentPartRuntimeImpl implements ContentPartRuntime {\n public get path() {\n return this.contentBinding.path;\n }\n\n constructor(\n private contentBinding: ContentPartSnapshotBinding,\n private messageApi: MessageStateBinding,\n private threadApi: ThreadRuntimeCoreBinding,\n ) {}\n\n public getState() {\n return this.contentBinding.getState();\n }\n\n public addToolResult(result: any) {\n const message = this.messageApi.getState();\n if (!message) throw new Error(\"Message is not available\");\n\n const state = this.contentBinding.getState();\n if (!state) throw new Error(\"Content part is not available\");\n\n if (state.type !== \"tool-call\")\n throw new Error(\"Tried to add tool result to non-tool content part\");\n\n const toolName = state.toolName;\n const toolCallId = state.toolCallId;\n\n this.threadApi.getState().addToolResult({\n messageId: message.id,\n toolName,\n toolCallId,\n result,\n });\n }\n\n public subscribe(callback: () => void) {\n return this.contentBinding.subscribe(callback);\n }\n}\n"],"mappings":"AAoCO,MAAM,uBAAqD;AAAA,EAKhE,YACU,gBACA,YACA,WACR;AAHQ;AACA;AACA;AAAA,EACP;AAAA,EARH,IAAW,OAAO;AAChB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAQO,WAAW;AAChB,WAAO,KAAK,eAAe,SAAS;AAAA,EACtC;AAAA,EAEO,cAAc,QAAa;AAChC,UAAM,UAAU,KAAK,WAAW,SAAS;AACzC,QAAI,CAAC,QAAS,OAAM,IAAI,MAAM,0BAA0B;AAExD,UAAM,QAAQ,KAAK,eAAe,SAAS;AAC3C,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,+BAA+B;AAE3D,QAAI,MAAM,SAAS;AACjB,YAAM,IAAI,MAAM,mDAAmD;AAErE,UAAM,WAAW,MAAM;AACvB,UAAM,aAAa,MAAM;AAEzB,SAAK,UAAU,SAAS,EAAE,cAAc;AAAA,MACtC,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,UAAU,UAAsB;AACrC,WAAO,KAAK,eAAe,UAAU,QAAQ;AAAA,EAC/C;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/ContentPartRuntime.ts"],"sourcesContent":["import {\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { MessageStateBinding } from \"./MessageRuntime\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { Unsubscribe } from \"../types\";\nimport { ContentPartRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ContentPartState = (\n | ThreadUserContentPart\n | ThreadAssistantContentPart\n) & {\n /**\n * @deprecated You can directly access content part fields in the state. Replace `.part.type` with `.type` etc. This will be removed in 0.6.0.\n */\n part: ThreadUserContentPart | ThreadAssistantContentPart;\n status: ContentPartStatus | ToolCallContentPartStatus;\n};\n\ntype ContentPartSnapshotBinding = SubscribableWithState<\n ContentPartState,\n ContentPartRuntimePath\n>;\n\nexport type ContentPartRuntime = {\n path: ContentPartRuntimePath;\n\n getState(): ContentPartState;\n addToolResult(result: any): void;\n subscribe(callback: () => void): Unsubscribe;\n};\n\nexport class ContentPartRuntimeImpl implements ContentPartRuntime {\n public get path() {\n return this.contentBinding.path;\n }\n\n constructor(\n private contentBinding: ContentPartSnapshotBinding,\n private messageApi: MessageStateBinding,\n private threadApi: ThreadRuntimeCoreBinding,\n ) {}\n\n public getState() {\n return this.contentBinding.getState();\n }\n\n public addToolResult(result: any) {\n const message = this.messageApi.getState();\n if (!message) throw new Error(\"Message is not available\");\n\n const state = this.contentBinding.getState();\n if (!state) throw new Error(\"Content part is not available\");\n\n if (state.type !== \"tool-call\")\n throw new Error(\"Tried to add tool result to non-tool content part\");\n\n const toolName = state.toolName;\n const toolCallId = state.toolCallId;\n\n this.threadApi.getState().addToolResult({\n messageId: message.id,\n toolName,\n toolCallId,\n result,\n });\n }\n\n public subscribe(callback: () => void) {\n return this.contentBinding.subscribe(callback);\n }\n}\n"],"mappings":";AAoCO,IAAM,yBAAN,MAA2D;AAAA,EAKhE,YACU,gBACA,YACA,WACR;AAHQ;AACA;AACA;AAAA,EACP;AAAA,EARH,IAAW,OAAO;AAChB,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAQO,WAAW;AAChB,WAAO,KAAK,eAAe,SAAS;AAAA,EACtC;AAAA,EAEO,cAAc,QAAa;AAChC,UAAM,UAAU,KAAK,WAAW,SAAS;AACzC,QAAI,CAAC,QAAS,OAAM,IAAI,MAAM,0BAA0B;AAExD,UAAM,QAAQ,KAAK,eAAe,SAAS;AAC3C,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,+BAA+B;AAE3D,QAAI,MAAM,SAAS;AACjB,YAAM,IAAI,MAAM,mDAAmD;AAErE,UAAM,WAAW,MAAM;AACvB,UAAM,aAAa,MAAM;AAEzB,SAAK,UAAU,SAAS,EAAE,cAAc;AAAA,MACtC,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,UAAU,UAAsB;AACrC,WAAO,KAAK,eAAe,UAAU,QAAQ;AAAA,EAC/C;AACF;","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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"}
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/MessageRuntime.ts
19
21
  var MessageRuntime_exports = {};
20
22
  __export(MessageRuntime_exports, {
21
23
  EMPTY_CONTENT: () => EMPTY_CONTENT,
@@ -23,17 +25,17 @@ __export(MessageRuntime_exports, {
23
25
  toContentPartStatus: () => toContentPartStatus
24
26
  });
25
27
  module.exports = __toCommonJS(MessageRuntime_exports);
26
- var import_getThreadMessageText = require("../utils/getThreadMessageText");
27
- var import_AttachmentRuntime = require("./AttachmentRuntime");
28
- var import_ComposerRuntime = require("./ComposerRuntime");
29
- var import_ContentPartRuntime = require("./ContentPartRuntime");
30
- var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject");
31
- var import_SKIP_UPDATE = require("./subscribable/SKIP_UPDATE");
32
- var import_ShallowMemoizeSubject = require("./subscribable/ShallowMemoizeSubject");
33
- const COMPLETE_STATUS = {
28
+ var import_getThreadMessageText = require("../utils/getThreadMessageText.cjs");
29
+ var import_AttachmentRuntime = require("./AttachmentRuntime.cjs");
30
+ var import_ComposerRuntime = require("./ComposerRuntime.cjs");
31
+ var import_ContentPartRuntime = require("./ContentPartRuntime.cjs");
32
+ var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject.cjs");
33
+ var import_SKIP_UPDATE = require("./subscribable/SKIP_UPDATE.cjs");
34
+ var import_ShallowMemoizeSubject = require("./subscribable/ShallowMemoizeSubject.cjs");
35
+ var COMPLETE_STATUS = {
34
36
  type: "complete"
35
37
  };
36
- const toContentPartStatus = (message, partIndex, part) => {
38
+ var toContentPartStatus = (message, partIndex, part) => {
37
39
  if (message.role !== "assistant") return COMPLETE_STATUS;
38
40
  if (part.type === "tool-call") {
39
41
  if (!part.result) {
@@ -46,8 +48,8 @@ const toContentPartStatus = (message, partIndex, part) => {
46
48
  if (message.status.type === "requires-action") return COMPLETE_STATUS;
47
49
  return isLastPart ? message.status : COMPLETE_STATUS;
48
50
  };
49
- const EMPTY_CONTENT = Object.freeze({ type: "text", text: "" });
50
- const getContentPartState = (message, partIndex) => {
51
+ var EMPTY_CONTENT = Object.freeze({ type: "text", text: "" });
52
+ var getContentPartState = (message, partIndex) => {
51
53
  let part = message.content[partIndex];
52
54
  if (!part) {
53
55
  if (message.content.length === 0 && partIndex === 0) {
@@ -61,7 +63,7 @@ const getContentPartState = (message, partIndex) => {
61
63
  const status = toContentPartStatus(message, partIndex, part);
62
64
  return Object.freeze({ ...part, part, status });
63
65
  };
64
- class MessageRuntimeImpl {
66
+ var MessageRuntimeImpl = class {
65
67
  constructor(_core, _threadBinding) {
66
68
  this._core = _core;
67
69
  this._threadBinding = _threadBinding;
@@ -87,19 +89,16 @@ class MessageRuntimeImpl {
87
89
  }
88
90
  reload() {
89
91
  const state = this._core.getState();
90
- if (!state) throw new Error("Message is not available");
91
92
  if (state.role !== "assistant")
92
93
  throw new Error("Can only reload assistant messages");
93
94
  this._threadBinding.getState().startRun(state.parentId);
94
95
  }
95
96
  speak() {
96
97
  const state = this._core.getState();
97
- if (!state) throw new Error("Message is not available");
98
98
  return this._threadBinding.getState().speak(state.id);
99
99
  }
100
100
  stopSpeaking() {
101
101
  const state = this._core.getState();
102
- if (!state) throw new Error("Message is not available");
103
102
  const thread = this._threadBinding.getState();
104
103
  if (thread.speech?.messageId === state.id) {
105
104
  this._threadBinding.getState().stopSpeaking();
@@ -109,7 +108,6 @@ class MessageRuntimeImpl {
109
108
  }
110
109
  submitFeedback({ type }) {
111
110
  const state = this._core.getState();
112
- if (!state) throw new Error("Message is not available");
113
111
  this._threadBinding.getState().submitFeedback({
114
112
  messageId: state.id,
115
113
  type
@@ -120,7 +118,6 @@ class MessageRuntimeImpl {
120
118
  branchId
121
119
  }) {
122
120
  const state = this._core.getState();
123
- if (!state) throw new Error("Message is not available");
124
121
  if (branchId && position) {
125
122
  throw new Error("May not specify both branchId and position");
126
123
  } else if (!branchId && !position) {
@@ -206,7 +203,7 @@ class MessageRuntimeImpl {
206
203
  })
207
204
  );
208
205
  }
209
- }
206
+ };
210
207
  // Annotate the CommonJS export names for ESM import in node:
211
208
  0 && (module.exports = {
212
209
  EMPTY_CONTENT,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/MessageRuntime.ts"],"sourcesContent":["import {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport {\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n Unsubscribe,\n} from \"../types\";\nimport {\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { getThreadMessageText } from \"../utils/getThreadMessageText\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n MessageAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport {\n EditComposerRuntime,\n EditComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport {\n ContentPartRuntime,\n ContentPartRuntimeImpl,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nimport { MessageRuntimePath } from \"./RuntimePathTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\n\nconst COMPLETE_STATUS: ContentPartStatus = {\n type: \"complete\",\n};\n\nexport const toContentPartStatus = (\n message: ThreadMessage,\n partIndex: number,\n part: ThreadUserContentPart | ThreadAssistantContentPart,\n): ToolCallContentPartStatus => {\n if (message.role !== \"assistant\") return COMPLETE_STATUS;\n\n if (part.type === \"tool-call\") {\n if (!part.result) {\n return message.status as ToolCallContentPartStatus;\n } else {\n return COMPLETE_STATUS;\n }\n }\n\n const isLastPart = partIndex === Math.max(0, message.content.length - 1);\n if (message.status.type === \"requires-action\") return COMPLETE_STATUS;\n return isLastPart ? (message.status as ContentPartStatus) : COMPLETE_STATUS;\n};\n\nexport const EMPTY_CONTENT = Object.freeze({ type: \"text\", text: \"\" });\n\nconst getContentPartState = (\n message: MessageState,\n partIndex: number,\n): ContentPartState | SKIP_UPDATE => {\n let part = message.content[partIndex];\n if (!part) {\n // for empty messages, show an empty text content part\n if (message.content.length === 0 && partIndex === 0) {\n part = EMPTY_CONTENT;\n } else {\n return SKIP_UPDATE;\n }\n } else if (\n message.content.length === 1 &&\n part.type === \"text\" &&\n part.text.length === 0\n ) {\n // ensure reference equality for equivalent empty text parts\n part = EMPTY_CONTENT;\n }\n\n // if the content part is the same, don't update\n const status = toContentPartStatus(message, partIndex, part);\n return Object.freeze({ ...part, part, status });\n};\n\nexport type MessageState = ThreadMessage & {\n /**\n * @deprecated You can directly access message fields in the state. Replace `.message.content` with `.content` etc. This will be removed in 0.6.0.\n */\n message: ThreadMessage;\n parentId: string | null;\n isLast: boolean;\n /**\n * @deprecated Use `branchNumber` and `branchCount` instead. This will be removed in 0.6.0.\n */\n branches: readonly string[];\n\n branchNumber: number;\n branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speech: SpeechState | undefined;\n submittedFeedback: SubmittedFeedback | undefined;\n};\n\nexport type MessageStateBinding = SubscribableWithState<\n MessageState,\n MessageRuntimePath\n>;\n\nexport type MessageRuntime = {\n readonly path: MessageRuntimePath;\n\n readonly composer: EditComposerRuntime;\n\n getState(): MessageState;\n reload(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback({ type }: { type: \"positive\" | \"negative\" }): void;\n switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }): void;\n unstable_getCopyText(): string;\n\n subscribe(callback: () => void): Unsubscribe;\n\n getContentPartByIndex(idx: number): ContentPartRuntime;\n getContentPartByToolCallId(toolCallId: string): ContentPartRuntime;\n\n getAttachmentByIndex(idx: number): AttachmentRuntime & { source: \"message\" };\n};\n\nexport class MessageRuntimeImpl implements MessageRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: MessageStateBinding,\n private _threadBinding: ThreadRuntimeCoreBinding,\n ) {\n this.composer = new EditComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"edit\",\n },\n getState: () =>\n this._threadBinding\n .getState()\n .getEditComposer(this._core.getState().id),\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n () => this._threadBinding.getState().beginEdit(this._core.getState().id),\n );\n }\n\n public composer;\n\n public getState() {\n return this._core.getState();\n }\n\n public reload() {\n const state = this._core.getState();\n if (!state) throw new Error(\"Message is not available\");\n if (state.role !== \"assistant\")\n throw new Error(\"Can only reload assistant messages\");\n\n this._threadBinding.getState().startRun(state.parentId);\n }\n\n public speak() {\n const state = this._core.getState();\n if (!state) throw new Error(\"Message is not available\");\n\n return this._threadBinding.getState().speak(state.id);\n }\n\n public stopSpeaking() {\n const state = this._core.getState();\n if (!state) throw new Error(\"Message is not available\");\n\n const thread = this._threadBinding.getState();\n if (thread.speech?.messageId === state.id) {\n this._threadBinding.getState().stopSpeaking();\n } else {\n throw new Error(\"Message is not being spoken\");\n }\n }\n\n public submitFeedback({ type }: { type: \"positive\" | \"negative\" }) {\n const state = this._core.getState();\n if (!state) throw new Error(\"Message is not available\");\n\n this._threadBinding.getState().submitFeedback({\n messageId: state.id,\n type,\n });\n }\n\n public switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }) {\n const state = this._core.getState();\n if (!state) throw new Error(\"Message is not available\");\n\n if (branchId && position) {\n throw new Error(\"May not specify both branchId and position\");\n } else if (!branchId && !position) {\n throw new Error(\"Must specify either branchId or position\");\n }\n\n const thread = this._threadBinding.getState();\n const branches = thread.getBranches(state.id);\n let targetBranch = branchId;\n if (position === \"previous\") {\n targetBranch = branches[state.branchNumber - 2];\n } else if (position === \"next\") {\n targetBranch = branches[state.branchNumber];\n }\n if (!targetBranch) throw new Error(\"Branch not found\");\n\n this._threadBinding.getState().switchToBranch(targetBranch);\n }\n\n public unstable_getCopyText() {\n return getThreadMessageText(this.getState());\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getContentPartByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Content part index must be >= 0\");\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.content[${idx}]`,\n contentPartSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getContentPartState(this.getState(), idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getContentPartByToolCallId(toolCallId: string) {\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.content[toolCallId=${JSON.stringify(toolCallId)}]`,\n contentPartSelector: { type: \"toolCallId\", toolCallId },\n },\n getState: () => {\n const state = this._core.getState();\n const idx = state.content.findIndex(\n (part) =>\n part.type === \"tool-call\" && part.toolCallId === toolCallId,\n );\n if (idx === -1) return SKIP_UPDATE;\n return getContentPartState(state, idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getAttachmentByIndex(idx: number) {\n return new MessageAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n attachmentSource: \"message\",\n attachmentSelector: { type: \"index\", index: 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: \"message\",\n } satisfies AttachmentState & { source: \"message\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n );\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/api/MessageRuntime.ts"],"sourcesContent":["import {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport {\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n Unsubscribe,\n} from \"../types\";\nimport {\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { getThreadMessageText } from \"../utils/getThreadMessageText\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n MessageAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport {\n EditComposerRuntime,\n EditComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport {\n ContentPartRuntime,\n ContentPartRuntimeImpl,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nimport { MessageRuntimePath } from \"./RuntimePathTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\n\nconst COMPLETE_STATUS: ContentPartStatus = {\n type: \"complete\",\n};\n\nexport const toContentPartStatus = (\n message: ThreadMessage,\n partIndex: number,\n part: ThreadUserContentPart | ThreadAssistantContentPart,\n): ToolCallContentPartStatus => {\n if (message.role !== \"assistant\") return COMPLETE_STATUS;\n\n if (part.type === \"tool-call\") {\n if (!part.result) {\n return message.status as ToolCallContentPartStatus;\n } else {\n return COMPLETE_STATUS;\n }\n }\n\n const isLastPart = partIndex === Math.max(0, message.content.length - 1);\n if (message.status.type === \"requires-action\") return COMPLETE_STATUS;\n return isLastPart ? (message.status as ContentPartStatus) : COMPLETE_STATUS;\n};\n\nexport const EMPTY_CONTENT = Object.freeze({ type: \"text\", text: \"\" });\n\nconst getContentPartState = (\n message: MessageState,\n partIndex: number,\n): ContentPartState | SKIP_UPDATE => {\n let part = message.content[partIndex];\n if (!part) {\n // for empty messages, show an empty text content part\n if (message.content.length === 0 && partIndex === 0) {\n part = EMPTY_CONTENT;\n } else {\n return SKIP_UPDATE;\n }\n } else if (\n message.content.length === 1 &&\n part.type === \"text\" &&\n part.text.length === 0\n ) {\n // ensure reference equality for equivalent empty text parts\n part = EMPTY_CONTENT;\n }\n\n // if the content part is the same, don't update\n const status = toContentPartStatus(message, partIndex, part);\n return Object.freeze({ ...part, part, status });\n};\n\nexport type MessageState = ThreadMessage & {\n /**\n * @deprecated You can directly access message fields in the state. Replace `.message.content` with `.content` etc. This will be removed in 0.6.0.\n */\n message: ThreadMessage;\n parentId: string | null;\n isLast: boolean;\n /**\n * @deprecated Use `branchNumber` and `branchCount` instead. This will be removed in 0.6.0.\n */\n branches: readonly string[];\n\n branchNumber: number;\n branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speech: SpeechState | undefined;\n submittedFeedback: SubmittedFeedback | undefined;\n};\n\nexport type MessageStateBinding = SubscribableWithState<\n MessageState,\n MessageRuntimePath\n>;\n\nexport type MessageRuntime = {\n readonly path: MessageRuntimePath;\n\n readonly composer: EditComposerRuntime;\n\n getState(): MessageState;\n reload(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback({ type }: { type: \"positive\" | \"negative\" }): void;\n switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }): void;\n unstable_getCopyText(): string;\n\n subscribe(callback: () => void): Unsubscribe;\n\n getContentPartByIndex(idx: number): ContentPartRuntime;\n getContentPartByToolCallId(toolCallId: string): ContentPartRuntime;\n\n getAttachmentByIndex(idx: number): AttachmentRuntime & { source: \"message\" };\n};\n\nexport class MessageRuntimeImpl implements MessageRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: MessageStateBinding,\n private _threadBinding: ThreadRuntimeCoreBinding,\n ) {\n this.composer = new EditComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"edit\",\n },\n getState: () =>\n this._threadBinding\n .getState()\n .getEditComposer(this._core.getState().id),\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n () => this._threadBinding.getState().beginEdit(this._core.getState().id),\n );\n }\n\n public composer;\n\n public getState() {\n return this._core.getState();\n }\n\n public reload() {\n const state = this._core.getState();\n if (state.role !== \"assistant\")\n throw new Error(\"Can only reload assistant messages\");\n\n this._threadBinding.getState().startRun(state.parentId);\n }\n\n public speak() {\n const state = this._core.getState();\n return this._threadBinding.getState().speak(state.id);\n }\n\n public stopSpeaking() {\n const state = this._core.getState();\n const thread = this._threadBinding.getState();\n if (thread.speech?.messageId === state.id) {\n this._threadBinding.getState().stopSpeaking();\n } else {\n throw new Error(\"Message is not being spoken\");\n }\n }\n\n public submitFeedback({ type }: { type: \"positive\" | \"negative\" }) {\n const state = this._core.getState();\n this._threadBinding.getState().submitFeedback({\n messageId: state.id,\n type,\n });\n }\n\n public switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }) {\n const state = this._core.getState();\n if (branchId && position) {\n throw new Error(\"May not specify both branchId and position\");\n } else if (!branchId && !position) {\n throw new Error(\"Must specify either branchId or position\");\n }\n\n const thread = this._threadBinding.getState();\n const branches = thread.getBranches(state.id);\n let targetBranch = branchId;\n if (position === \"previous\") {\n targetBranch = branches[state.branchNumber - 2];\n } else if (position === \"next\") {\n targetBranch = branches[state.branchNumber];\n }\n if (!targetBranch) throw new Error(\"Branch not found\");\n\n this._threadBinding.getState().switchToBranch(targetBranch);\n }\n\n public unstable_getCopyText() {\n return getThreadMessageText(this.getState());\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getContentPartByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Content part index must be >= 0\");\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.content[${idx}]`,\n contentPartSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getContentPartState(this.getState(), idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getContentPartByToolCallId(toolCallId: string) {\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.content[toolCallId=${JSON.stringify(toolCallId)}]`,\n contentPartSelector: { type: \"toolCallId\", toolCallId },\n },\n getState: () => {\n const state = this._core.getState();\n const idx = state.content.findIndex(\n (part) =>\n part.type === \"tool-call\" && part.toolCallId === toolCallId,\n );\n if (idx === -1) return SKIP_UPDATE;\n return getContentPartState(state, idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getAttachmentByIndex(idx: number) {\n return new MessageAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n attachmentSource: \"message\",\n attachmentSelector: { type: \"index\", index: 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: \"message\",\n } satisfies AttachmentState & { source: \"message\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n );\n }\n}\n"],"mappings":"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","names":[]}