@assistant-ui/react 0.5.97 → 0.5.98

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 (979) hide show
  1. package/dist/api/AssistantRuntime.js +9 -7
  2. package/dist/api/AssistantRuntime.js.map +1 -1
  3. package/dist/api/AssistantRuntime.mjs +8 -7
  4. package/dist/api/AssistantRuntime.mjs.map +1 -1
  5. package/dist/api/AttachmentRuntime.js +12 -10
  6. package/dist/api/AttachmentRuntime.js.map +1 -1
  7. package/dist/api/AttachmentRuntime.mjs +11 -10
  8. package/dist/api/AttachmentRuntime.mjs.map +1 -1
  9. package/dist/api/ComposerRuntime.js +16 -14
  10. package/dist/api/ComposerRuntime.js.map +1 -1
  11. package/dist/api/ComposerRuntime.mjs +15 -14
  12. package/dist/api/ComposerRuntime.mjs.map +1 -1
  13. package/dist/api/ContentPartRuntime.js +4 -2
  14. package/dist/api/ContentPartRuntime.js.map +1 -1
  15. package/dist/api/ContentPartRuntime.mjs +3 -2
  16. package/dist/api/ContentPartRuntime.mjs.map +1 -1
  17. package/dist/api/MessageRuntime.js +15 -13
  18. package/dist/api/MessageRuntime.js.map +1 -1
  19. package/dist/api/MessageRuntime.mjs +14 -13
  20. package/dist/api/MessageRuntime.mjs.map +1 -1
  21. package/dist/api/RuntimePathTypes.js +2 -0
  22. package/dist/api/RuntimePathTypes.js.map +1 -1
  23. package/dist/api/ThreadManagerRuntime.js +7 -5
  24. package/dist/api/ThreadManagerRuntime.js.map +1 -1
  25. package/dist/api/ThreadManagerRuntime.mjs +6 -5
  26. package/dist/api/ThreadManagerRuntime.mjs.map +1 -1
  27. package/dist/api/ThreadRuntime.js +12 -10
  28. package/dist/api/ThreadRuntime.js.map +1 -1
  29. package/dist/api/ThreadRuntime.mjs +11 -10
  30. package/dist/api/ThreadRuntime.mjs.map +1 -1
  31. package/dist/api/index.js +2 -0
  32. package/dist/api/index.js.map +1 -1
  33. package/dist/api/subscribable/BaseSubject.js +4 -2
  34. package/dist/api/subscribable/BaseSubject.js.map +1 -1
  35. package/dist/api/subscribable/BaseSubject.mjs +3 -2
  36. package/dist/api/subscribable/BaseSubject.mjs.map +1 -1
  37. package/dist/api/subscribable/LazyMemoizeSubject.js +6 -4
  38. package/dist/api/subscribable/LazyMemoizeSubject.js.map +1 -1
  39. package/dist/api/subscribable/LazyMemoizeSubject.mjs +5 -4
  40. package/dist/api/subscribable/LazyMemoizeSubject.mjs.map +1 -1
  41. package/dist/api/subscribable/NestedSubscriptionSubject.js +5 -3
  42. package/dist/api/subscribable/NestedSubscriptionSubject.js.map +1 -1
  43. package/dist/api/subscribable/NestedSubscriptionSubject.mjs +4 -3
  44. package/dist/api/subscribable/NestedSubscriptionSubject.mjs.map +1 -1
  45. package/dist/api/subscribable/SKIP_UPDATE.js +3 -1
  46. package/dist/api/subscribable/SKIP_UPDATE.js.map +1 -1
  47. package/dist/api/subscribable/SKIP_UPDATE.mjs +2 -1
  48. package/dist/api/subscribable/SKIP_UPDATE.mjs.map +1 -1
  49. package/dist/api/subscribable/ShallowMemoizeSubject.js +7 -5
  50. package/dist/api/subscribable/ShallowMemoizeSubject.js.map +1 -1
  51. package/dist/api/subscribable/ShallowMemoizeSubject.mjs +6 -5
  52. package/dist/api/subscribable/ShallowMemoizeSubject.mjs.map +1 -1
  53. package/dist/api/subscribable/Subscribable.js +2 -0
  54. package/dist/api/subscribable/Subscribable.js.map +1 -1
  55. package/dist/api/subscribable/shallowEqual.js +2 -0
  56. package/dist/api/subscribable/shallowEqual.js.map +1 -1
  57. package/dist/api/subscribable/shallowEqual.mjs +1 -0
  58. package/dist/api/subscribable/shallowEqual.mjs.map +1 -1
  59. package/dist/context/ReadonlyStore.js +3 -1
  60. package/dist/context/ReadonlyStore.js.map +1 -1
  61. package/dist/context/ReadonlyStore.mjs +2 -1
  62. package/dist/context/ReadonlyStore.mjs.map +1 -1
  63. package/dist/context/index.js +8 -6
  64. package/dist/context/index.js.map +1 -1
  65. package/dist/context/index.mjs +4 -3
  66. package/dist/context/index.mjs.map +1 -1
  67. package/dist/context/providers/AssistantRuntimeProvider.js +12 -10
  68. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  69. package/dist/context/providers/AssistantRuntimeProvider.mjs +12 -10
  70. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  71. package/dist/context/providers/AttachmentRuntimeProvider.js +8 -6
  72. package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
  73. package/dist/context/providers/AttachmentRuntimeProvider.mjs +8 -6
  74. package/dist/context/providers/AttachmentRuntimeProvider.mjs.map +1 -1
  75. package/dist/context/providers/ContentPartRuntimeProvider.js +8 -6
  76. package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
  77. package/dist/context/providers/ContentPartRuntimeProvider.mjs +8 -6
  78. package/dist/context/providers/ContentPartRuntimeProvider.mjs.map +1 -1
  79. package/dist/context/providers/MessageRuntimeProvider.js +11 -9
  80. package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
  81. package/dist/context/providers/MessageRuntimeProvider.mjs +11 -9
  82. package/dist/context/providers/MessageRuntimeProvider.mjs.map +1 -1
  83. package/dist/context/providers/TextContentPartProvider.js +9 -7
  84. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  85. package/dist/context/providers/TextContentPartProvider.mjs +9 -7
  86. package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
  87. package/dist/context/providers/ThreadRuntimeProvider.js +11 -9
  88. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  89. package/dist/context/providers/ThreadRuntimeProvider.mjs +10 -9
  90. package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
  91. package/dist/context/providers/index.js +4 -2
  92. package/dist/context/providers/index.js.map +1 -1
  93. package/dist/context/providers/index.mjs +3 -2
  94. package/dist/context/providers/index.mjs.map +1 -1
  95. package/dist/context/react/AssistantContext.js +12 -10
  96. package/dist/context/react/AssistantContext.js.map +1 -1
  97. package/dist/context/react/AssistantContext.mjs +12 -10
  98. package/dist/context/react/AssistantContext.mjs.map +1 -1
  99. package/dist/context/react/AttachmentContext.js +8 -6
  100. package/dist/context/react/AttachmentContext.js.map +1 -1
  101. package/dist/context/react/AttachmentContext.mjs +8 -6
  102. package/dist/context/react/AttachmentContext.mjs.map +1 -1
  103. package/dist/context/react/ComposerContext.js +7 -5
  104. package/dist/context/react/ComposerContext.js.map +1 -1
  105. package/dist/context/react/ComposerContext.mjs +6 -5
  106. package/dist/context/react/ComposerContext.mjs.map +1 -1
  107. package/dist/context/react/ContentPartContext.js +7 -5
  108. package/dist/context/react/ContentPartContext.js.map +1 -1
  109. package/dist/context/react/ContentPartContext.mjs +7 -5
  110. package/dist/context/react/ContentPartContext.mjs.map +1 -1
  111. package/dist/context/react/MessageContext.js +9 -7
  112. package/dist/context/react/MessageContext.js.map +1 -1
  113. package/dist/context/react/MessageContext.mjs +9 -7
  114. package/dist/context/react/MessageContext.mjs.map +1 -1
  115. package/dist/context/react/ThreadContext.js +16 -14
  116. package/dist/context/react/ThreadContext.js.map +1 -1
  117. package/dist/context/react/ThreadContext.mjs +16 -14
  118. package/dist/context/react/ThreadContext.mjs.map +1 -1
  119. package/dist/context/react/index.js +8 -6
  120. package/dist/context/react/index.js.map +1 -1
  121. package/dist/context/react/index.mjs +7 -6
  122. package/dist/context/react/index.mjs.map +1 -1
  123. package/dist/context/react/utils/createContextHook.js +2 -0
  124. package/dist/context/react/utils/createContextHook.js.map +1 -1
  125. package/dist/context/react/utils/createContextHook.mjs +1 -0
  126. package/dist/context/react/utils/createContextHook.mjs.map +1 -1
  127. package/dist/context/react/utils/createContextStoreHook.js +2 -0
  128. package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
  129. package/dist/context/react/utils/createContextStoreHook.mjs +1 -0
  130. package/dist/context/react/utils/createContextStoreHook.mjs.map +1 -1
  131. package/dist/context/stores/AssistantToolUIs.js +3 -1
  132. package/dist/context/stores/AssistantToolUIs.js.map +1 -1
  133. package/dist/context/stores/AssistantToolUIs.mjs +3 -1
  134. package/dist/context/stores/AssistantToolUIs.mjs.map +1 -1
  135. package/dist/context/stores/MessageUtils.js +3 -1
  136. package/dist/context/stores/MessageUtils.js.map +1 -1
  137. package/dist/context/stores/MessageUtils.mjs +2 -1
  138. package/dist/context/stores/MessageUtils.mjs.map +1 -1
  139. package/dist/context/stores/ThreadViewport.js +3 -1
  140. package/dist/context/stores/ThreadViewport.js.map +1 -1
  141. package/dist/context/stores/ThreadViewport.mjs +3 -1
  142. package/dist/context/stores/ThreadViewport.mjs.map +1 -1
  143. package/dist/context/stores/index.js +2 -0
  144. package/dist/context/stores/index.js.map +1 -1
  145. package/dist/edge.js +3 -1
  146. package/dist/edge.js.map +1 -1
  147. package/dist/edge.mjs +2 -1
  148. package/dist/edge.mjs.map +1 -1
  149. package/dist/hooks/index.js +4 -2
  150. package/dist/hooks/index.js.map +1 -1
  151. package/dist/hooks/index.mjs +3 -2
  152. package/dist/hooks/index.mjs.map +1 -1
  153. package/dist/hooks/useAppendMessage.js +4 -2
  154. package/dist/hooks/useAppendMessage.js.map +1 -1
  155. package/dist/hooks/useAppendMessage.mjs +3 -2
  156. package/dist/hooks/useAppendMessage.mjs.map +1 -1
  157. package/dist/hooks/useSwitchToNewThread.js +4 -2
  158. package/dist/hooks/useSwitchToNewThread.js.map +1 -1
  159. package/dist/hooks/useSwitchToNewThread.mjs +3 -2
  160. package/dist/hooks/useSwitchToNewThread.mjs.map +1 -1
  161. package/dist/index.js +21 -19
  162. package/dist/index.js.map +1 -1
  163. package/dist/index.mjs +11 -10
  164. package/dist/index.mjs.map +1 -1
  165. package/dist/internal.js +12 -10
  166. package/dist/internal.js.map +1 -1
  167. package/dist/internal.mjs +10 -9
  168. package/dist/internal.mjs.map +1 -1
  169. package/dist/model-config/index.js +8 -6
  170. package/dist/model-config/index.js.map +1 -1
  171. package/dist/model-config/index.mjs +7 -6
  172. package/dist/model-config/index.mjs.map +1 -1
  173. package/dist/model-config/makeAssistantTool.js +4 -2
  174. package/dist/model-config/makeAssistantTool.js.map +1 -1
  175. package/dist/model-config/makeAssistantTool.mjs +4 -2
  176. package/dist/model-config/makeAssistantTool.mjs.map +1 -1
  177. package/dist/model-config/makeAssistantToolUI.js +4 -2
  178. package/dist/model-config/makeAssistantToolUI.js.map +1 -1
  179. package/dist/model-config/makeAssistantToolUI.mjs +4 -2
  180. package/dist/model-config/makeAssistantToolUI.mjs.map +1 -1
  181. package/dist/model-config/useAssistantInstructions.js +4 -2
  182. package/dist/model-config/useAssistantInstructions.js.map +1 -1
  183. package/dist/model-config/useAssistantInstructions.mjs +4 -2
  184. package/dist/model-config/useAssistantInstructions.mjs.map +1 -1
  185. package/dist/model-config/useAssistantTool.js +4 -2
  186. package/dist/model-config/useAssistantTool.js.map +1 -1
  187. package/dist/model-config/useAssistantTool.mjs +4 -2
  188. package/dist/model-config/useAssistantTool.mjs.map +1 -1
  189. package/dist/model-config/useAssistantToolUI.js +4 -2
  190. package/dist/model-config/useAssistantToolUI.js.map +1 -1
  191. package/dist/model-config/useAssistantToolUI.mjs +4 -2
  192. package/dist/model-config/useAssistantToolUI.mjs.map +1 -1
  193. package/dist/model-config/useInlineRender.js +3 -1
  194. package/dist/model-config/useInlineRender.js.map +1 -1
  195. package/dist/model-config/useInlineRender.mjs +2 -1
  196. package/dist/model-config/useInlineRender.mjs.map +1 -1
  197. package/dist/primitive-hooks/actionBar/index.js +9 -7
  198. package/dist/primitive-hooks/actionBar/index.js.map +1 -1
  199. package/dist/primitive-hooks/actionBar/index.mjs +8 -7
  200. package/dist/primitive-hooks/actionBar/index.mjs.map +1 -1
  201. package/dist/primitive-hooks/actionBar/useActionBarCopy.js +5 -3
  202. package/dist/primitive-hooks/actionBar/useActionBarCopy.js.map +1 -1
  203. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs +4 -3
  204. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs.map +1 -1
  205. package/dist/primitive-hooks/actionBar/useActionBarEdit.js +4 -2
  206. package/dist/primitive-hooks/actionBar/useActionBarEdit.js.map +1 -1
  207. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs +3 -2
  208. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs.map +1 -1
  209. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +4 -2
  210. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js.map +1 -1
  211. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs +3 -2
  212. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs.map +1 -1
  213. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +4 -2
  214. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js.map +1 -1
  215. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs +3 -2
  216. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs.map +1 -1
  217. package/dist/primitive-hooks/actionBar/useActionBarReload.js +6 -4
  218. package/dist/primitive-hooks/actionBar/useActionBarReload.js.map +1 -1
  219. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs +5 -4
  220. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs.map +1 -1
  221. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +4 -2
  222. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js.map +1 -1
  223. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs +3 -2
  224. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs.map +1 -1
  225. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +4 -2
  226. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js.map +1 -1
  227. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs +3 -2
  228. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs.map +1 -1
  229. package/dist/primitive-hooks/attachment/useAttachmentRemove.js +4 -2
  230. package/dist/primitive-hooks/attachment/useAttachmentRemove.js.map +1 -1
  231. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs +3 -2
  232. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs.map +1 -1
  233. package/dist/primitive-hooks/branchPicker/index.js +6 -4
  234. package/dist/primitive-hooks/branchPicker/index.js.map +1 -1
  235. package/dist/primitive-hooks/branchPicker/index.mjs +5 -4
  236. package/dist/primitive-hooks/branchPicker/index.mjs.map +1 -1
  237. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js +4 -2
  238. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js.map +1 -1
  239. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs +4 -2
  240. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs.map +1 -1
  241. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +4 -2
  242. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js.map +1 -1
  243. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs +3 -2
  244. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs.map +1 -1
  245. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js +4 -2
  246. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js.map +1 -1
  247. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs +4 -2
  248. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs.map +1 -1
  249. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +4 -2
  250. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js.map +1 -1
  251. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs +3 -2
  252. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs.map +1 -1
  253. package/dist/primitive-hooks/composer/index.js +6 -4
  254. package/dist/primitive-hooks/composer/index.js.map +1 -1
  255. package/dist/primitive-hooks/composer/index.mjs +5 -4
  256. package/dist/primitive-hooks/composer/index.mjs.map +1 -1
  257. package/dist/primitive-hooks/composer/useComposerAddAttachment.js +4 -2
  258. package/dist/primitive-hooks/composer/useComposerAddAttachment.js.map +1 -1
  259. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs +3 -2
  260. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs.map +1 -1
  261. package/dist/primitive-hooks/composer/useComposerCancel.js +4 -2
  262. package/dist/primitive-hooks/composer/useComposerCancel.js.map +1 -1
  263. package/dist/primitive-hooks/composer/useComposerCancel.mjs +3 -2
  264. package/dist/primitive-hooks/composer/useComposerCancel.mjs.map +1 -1
  265. package/dist/primitive-hooks/composer/useComposerIf.js +4 -2
  266. package/dist/primitive-hooks/composer/useComposerIf.js.map +1 -1
  267. package/dist/primitive-hooks/composer/useComposerIf.mjs +4 -2
  268. package/dist/primitive-hooks/composer/useComposerIf.mjs.map +1 -1
  269. package/dist/primitive-hooks/composer/useComposerSend.js +6 -4
  270. package/dist/primitive-hooks/composer/useComposerSend.js.map +1 -1
  271. package/dist/primitive-hooks/composer/useComposerSend.mjs +5 -4
  272. package/dist/primitive-hooks/composer/useComposerSend.mjs.map +1 -1
  273. package/dist/primitive-hooks/contentPart/index.js +5 -3
  274. package/dist/primitive-hooks/contentPart/index.js.map +1 -1
  275. package/dist/primitive-hooks/contentPart/index.mjs +4 -3
  276. package/dist/primitive-hooks/contentPart/index.mjs.map +1 -1
  277. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +4 -2
  278. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +1 -1
  279. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs +3 -2
  280. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +1 -1
  281. package/dist/primitive-hooks/contentPart/useContentPartImage.js +4 -2
  282. package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +1 -1
  283. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs +3 -2
  284. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +1 -1
  285. package/dist/primitive-hooks/contentPart/useContentPartText.js +4 -2
  286. package/dist/primitive-hooks/contentPart/useContentPartText.js.map +1 -1
  287. package/dist/primitive-hooks/contentPart/useContentPartText.mjs +3 -2
  288. package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +1 -1
  289. package/dist/primitive-hooks/index.js +14 -12
  290. package/dist/primitive-hooks/index.js.map +1 -1
  291. package/dist/primitive-hooks/index.mjs +7 -6
  292. package/dist/primitive-hooks/index.mjs.map +1 -1
  293. package/dist/primitive-hooks/message/index.js +3 -1
  294. package/dist/primitive-hooks/message/index.js.map +1 -1
  295. package/dist/primitive-hooks/message/index.mjs +2 -1
  296. package/dist/primitive-hooks/message/index.mjs.map +1 -1
  297. package/dist/primitive-hooks/message/useMessageIf.js +5 -3
  298. package/dist/primitive-hooks/message/useMessageIf.js.map +1 -1
  299. package/dist/primitive-hooks/message/useMessageIf.mjs +5 -3
  300. package/dist/primitive-hooks/message/useMessageIf.mjs.map +1 -1
  301. package/dist/primitive-hooks/thread/index.js +6 -4
  302. package/dist/primitive-hooks/thread/index.js.map +1 -1
  303. package/dist/primitive-hooks/thread/index.mjs +5 -4
  304. package/dist/primitive-hooks/thread/index.mjs.map +1 -1
  305. package/dist/primitive-hooks/thread/useThreadEmpty.js +4 -2
  306. package/dist/primitive-hooks/thread/useThreadEmpty.js.map +1 -1
  307. package/dist/primitive-hooks/thread/useThreadEmpty.mjs +3 -2
  308. package/dist/primitive-hooks/thread/useThreadEmpty.mjs.map +1 -1
  309. package/dist/primitive-hooks/thread/useThreadIf.js +4 -2
  310. package/dist/primitive-hooks/thread/useThreadIf.js.map +1 -1
  311. package/dist/primitive-hooks/thread/useThreadIf.mjs +4 -2
  312. package/dist/primitive-hooks/thread/useThreadIf.mjs.map +1 -1
  313. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +5 -3
  314. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js.map +1 -1
  315. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs +4 -3
  316. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs.map +1 -1
  317. package/dist/primitive-hooks/thread/useThreadSuggestion.js +5 -3
  318. package/dist/primitive-hooks/thread/useThreadSuggestion.js.map +1 -1
  319. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs +4 -3
  320. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs.map +1 -1
  321. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js +8 -6
  322. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js.map +1 -1
  323. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs +8 -6
  324. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs.map +1 -1
  325. package/dist/primitives/actionBar/ActionBarCopy.js +6 -4
  326. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  327. package/dist/primitives/actionBar/ActionBarCopy.mjs +6 -4
  328. package/dist/primitives/actionBar/ActionBarCopy.mjs.map +1 -1
  329. package/dist/primitives/actionBar/ActionBarEdit.js +5 -3
  330. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  331. package/dist/primitives/actionBar/ActionBarEdit.mjs +5 -3
  332. package/dist/primitives/actionBar/ActionBarEdit.mjs.map +1 -1
  333. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -4
  334. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  335. package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs +6 -4
  336. package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs.map +1 -1
  337. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -4
  338. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  339. package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs +6 -4
  340. package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs.map +1 -1
  341. package/dist/primitives/actionBar/ActionBarReload.js +5 -3
  342. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  343. package/dist/primitives/actionBar/ActionBarReload.mjs +5 -3
  344. package/dist/primitives/actionBar/ActionBarReload.mjs.map +1 -1
  345. package/dist/primitives/actionBar/ActionBarRoot.js +5 -3
  346. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  347. package/dist/primitives/actionBar/ActionBarRoot.mjs +5 -3
  348. package/dist/primitives/actionBar/ActionBarRoot.mjs.map +1 -1
  349. package/dist/primitives/actionBar/ActionBarSpeak.js +5 -3
  350. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  351. package/dist/primitives/actionBar/ActionBarSpeak.mjs +5 -3
  352. package/dist/primitives/actionBar/ActionBarSpeak.mjs.map +1 -1
  353. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -3
  354. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  355. package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs +5 -3
  356. package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs.map +1 -1
  357. package/dist/primitives/actionBar/index.js +10 -8
  358. package/dist/primitives/actionBar/index.js.map +1 -1
  359. package/dist/primitives/actionBar/index.mjs +9 -8
  360. package/dist/primitives/actionBar/index.mjs.map +1 -1
  361. package/dist/primitives/actionBar/types.js +2 -0
  362. package/dist/primitives/actionBar/types.js.map +1 -1
  363. package/dist/primitives/actionBar/useActionBarFloatStatus.js +6 -4
  364. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  365. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs +6 -4
  366. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs.map +1 -1
  367. package/dist/primitives/assistantModal/AssistantModalAnchor.js +5 -3
  368. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  369. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs +5 -3
  370. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +1 -1
  371. package/dist/primitives/assistantModal/AssistantModalContent.js +5 -3
  372. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  373. package/dist/primitives/assistantModal/AssistantModalContent.mjs +5 -3
  374. package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +1 -1
  375. package/dist/primitives/assistantModal/AssistantModalRoot.js +7 -5
  376. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  377. package/dist/primitives/assistantModal/AssistantModalRoot.mjs +7 -5
  378. package/dist/primitives/assistantModal/AssistantModalRoot.mjs.map +1 -1
  379. package/dist/primitives/assistantModal/AssistantModalTrigger.js +5 -3
  380. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  381. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs +5 -3
  382. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
  383. package/dist/primitives/assistantModal/index.js +6 -4
  384. package/dist/primitives/assistantModal/index.js.map +1 -1
  385. package/dist/primitives/assistantModal/index.mjs +5 -4
  386. package/dist/primitives/assistantModal/index.mjs.map +1 -1
  387. package/dist/primitives/assistantModal/scope.js +3 -1
  388. package/dist/primitives/assistantModal/scope.js.map +1 -1
  389. package/dist/primitives/assistantModal/scope.mjs +2 -1
  390. package/dist/primitives/assistantModal/scope.mjs.map +1 -1
  391. package/dist/primitives/assistantModal/types.js +2 -0
  392. package/dist/primitives/assistantModal/types.js.map +1 -1
  393. package/dist/primitives/attachment/AttachmentName.js +4 -2
  394. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  395. package/dist/primitives/attachment/AttachmentName.mjs +4 -2
  396. package/dist/primitives/attachment/AttachmentName.mjs.map +1 -1
  397. package/dist/primitives/attachment/AttachmentRemove.js +5 -3
  398. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  399. package/dist/primitives/attachment/AttachmentRemove.mjs +5 -3
  400. package/dist/primitives/attachment/AttachmentRemove.mjs.map +1 -1
  401. package/dist/primitives/attachment/AttachmentRoot.js +4 -2
  402. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  403. package/dist/primitives/attachment/AttachmentRoot.mjs +3 -2
  404. package/dist/primitives/attachment/AttachmentRoot.mjs.map +1 -1
  405. package/dist/primitives/attachment/AttachmentThumb.js +5 -3
  406. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  407. package/dist/primitives/attachment/AttachmentThumb.mjs +5 -3
  408. package/dist/primitives/attachment/AttachmentThumb.mjs.map +1 -1
  409. package/dist/primitives/attachment/index.js +6 -4
  410. package/dist/primitives/attachment/index.js.map +1 -1
  411. package/dist/primitives/attachment/index.mjs +5 -4
  412. package/dist/primitives/attachment/index.mjs.map +1 -1
  413. package/dist/primitives/branchPicker/BranchPickerCount.js +4 -2
  414. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  415. package/dist/primitives/branchPicker/BranchPickerCount.mjs +4 -2
  416. package/dist/primitives/branchPicker/BranchPickerCount.mjs.map +1 -1
  417. package/dist/primitives/branchPicker/BranchPickerNext.js +5 -3
  418. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  419. package/dist/primitives/branchPicker/BranchPickerNext.mjs +5 -3
  420. package/dist/primitives/branchPicker/BranchPickerNext.mjs.map +1 -1
  421. package/dist/primitives/branchPicker/BranchPickerNumber.js +4 -2
  422. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  423. package/dist/primitives/branchPicker/BranchPickerNumber.mjs +4 -2
  424. package/dist/primitives/branchPicker/BranchPickerNumber.mjs.map +1 -1
  425. package/dist/primitives/branchPicker/BranchPickerPrevious.js +5 -3
  426. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  427. package/dist/primitives/branchPicker/BranchPickerPrevious.mjs +5 -3
  428. package/dist/primitives/branchPicker/BranchPickerPrevious.mjs.map +1 -1
  429. package/dist/primitives/branchPicker/BranchPickerRoot.js +5 -3
  430. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  431. package/dist/primitives/branchPicker/BranchPickerRoot.mjs +5 -3
  432. package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
  433. package/dist/primitives/branchPicker/index.js +7 -5
  434. package/dist/primitives/branchPicker/index.js.map +1 -1
  435. package/dist/primitives/branchPicker/index.mjs +6 -5
  436. package/dist/primitives/branchPicker/index.mjs.map +1 -1
  437. package/dist/primitives/branchPicker/types.js +2 -0
  438. package/dist/primitives/branchPicker/types.js.map +1 -1
  439. package/dist/primitives/composer/ComposerAddAttachment.js +5 -3
  440. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  441. package/dist/primitives/composer/ComposerAddAttachment.mjs +5 -3
  442. package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
  443. package/dist/primitives/composer/ComposerAttachments.js +11 -9
  444. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  445. package/dist/primitives/composer/ComposerAttachments.mjs +11 -9
  446. package/dist/primitives/composer/ComposerAttachments.mjs.map +1 -1
  447. package/dist/primitives/composer/ComposerCancel.js +5 -3
  448. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  449. package/dist/primitives/composer/ComposerCancel.mjs +5 -3
  450. package/dist/primitives/composer/ComposerCancel.mjs.map +1 -1
  451. package/dist/primitives/composer/ComposerIf.js +4 -2
  452. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  453. package/dist/primitives/composer/ComposerIf.mjs +4 -2
  454. package/dist/primitives/composer/ComposerIf.mjs.map +1 -1
  455. package/dist/primitives/composer/ComposerInput.js +7 -5
  456. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  457. package/dist/primitives/composer/ComposerInput.mjs +7 -5
  458. package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
  459. package/dist/primitives/composer/ComposerRoot.js +5 -3
  460. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  461. package/dist/primitives/composer/ComposerRoot.mjs +5 -3
  462. package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
  463. package/dist/primitives/composer/ComposerSend.js +5 -3
  464. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  465. package/dist/primitives/composer/ComposerSend.mjs +5 -3
  466. package/dist/primitives/composer/ComposerSend.mjs.map +1 -1
  467. package/dist/primitives/composer/index.js +9 -7
  468. package/dist/primitives/composer/index.js.map +1 -1
  469. package/dist/primitives/composer/index.mjs +8 -7
  470. package/dist/primitives/composer/index.mjs.map +1 -1
  471. package/dist/primitives/composer/types.js +2 -0
  472. package/dist/primitives/composer/types.js.map +1 -1
  473. package/dist/primitives/contentPart/ContentPartDisplay.js +4 -2
  474. package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
  475. package/dist/primitives/contentPart/ContentPartDisplay.mjs +3 -2
  476. package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
  477. package/dist/primitives/contentPart/ContentPartImage.js +5 -3
  478. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  479. package/dist/primitives/contentPart/ContentPartImage.mjs +4 -3
  480. package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
  481. package/dist/primitives/contentPart/ContentPartInProgress.js +4 -2
  482. package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
  483. package/dist/primitives/contentPart/ContentPartInProgress.mjs +3 -2
  484. package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +1 -1
  485. package/dist/primitives/contentPart/ContentPartText.js +6 -4
  486. package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
  487. package/dist/primitives/contentPart/ContentPartText.mjs +6 -4
  488. package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
  489. package/dist/primitives/contentPart/index.js +6 -4
  490. package/dist/primitives/contentPart/index.js.map +1 -1
  491. package/dist/primitives/contentPart/index.mjs +5 -4
  492. package/dist/primitives/contentPart/index.mjs.map +1 -1
  493. package/dist/primitives/contentPart/types.js +2 -0
  494. package/dist/primitives/contentPart/types.js.map +1 -1
  495. package/dist/primitives/index.js +10 -8
  496. package/dist/primitives/index.js.map +1 -1
  497. package/dist/primitives/index.mjs +9 -8
  498. package/dist/primitives/index.mjs.map +1 -1
  499. package/dist/primitives/message/MessageAttachments.js +11 -9
  500. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  501. package/dist/primitives/message/MessageAttachments.mjs +11 -9
  502. package/dist/primitives/message/MessageAttachments.mjs.map +1 -1
  503. package/dist/primitives/message/MessageContent.js +17 -15
  504. package/dist/primitives/message/MessageContent.js.map +1 -1
  505. package/dist/primitives/message/MessageContent.mjs +17 -15
  506. package/dist/primitives/message/MessageContent.mjs.map +1 -1
  507. package/dist/primitives/message/MessageIf.js +4 -2
  508. package/dist/primitives/message/MessageIf.js.map +1 -1
  509. package/dist/primitives/message/MessageIf.mjs +4 -2
  510. package/dist/primitives/message/MessageIf.mjs.map +1 -1
  511. package/dist/primitives/message/MessageInProgress.js +3 -1
  512. package/dist/primitives/message/MessageInProgress.js.map +1 -1
  513. package/dist/primitives/message/MessageInProgress.mjs +3 -1
  514. package/dist/primitives/message/MessageInProgress.mjs.map +1 -1
  515. package/dist/primitives/message/MessageRoot.js +7 -5
  516. package/dist/primitives/message/MessageRoot.js.map +1 -1
  517. package/dist/primitives/message/MessageRoot.mjs +7 -5
  518. package/dist/primitives/message/MessageRoot.mjs.map +1 -1
  519. package/dist/primitives/message/index.js +7 -5
  520. package/dist/primitives/message/index.js.map +1 -1
  521. package/dist/primitives/message/index.mjs +6 -5
  522. package/dist/primitives/message/index.mjs.map +1 -1
  523. package/dist/primitives/message/types.js +2 -0
  524. package/dist/primitives/message/types.js.map +1 -1
  525. package/dist/primitives/thread/ThreadEmpty.js +4 -2
  526. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  527. package/dist/primitives/thread/ThreadEmpty.mjs +4 -2
  528. package/dist/primitives/thread/ThreadEmpty.mjs.map +1 -1
  529. package/dist/primitives/thread/ThreadIf.js +4 -2
  530. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  531. package/dist/primitives/thread/ThreadIf.mjs +4 -2
  532. package/dist/primitives/thread/ThreadIf.mjs.map +1 -1
  533. package/dist/primitives/thread/ThreadMessages.js +14 -12
  534. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  535. package/dist/primitives/thread/ThreadMessages.mjs +14 -12
  536. package/dist/primitives/thread/ThreadMessages.mjs.map +1 -1
  537. package/dist/primitives/thread/ThreadRoot.js +4 -2
  538. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  539. package/dist/primitives/thread/ThreadRoot.mjs +4 -2
  540. package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
  541. package/dist/primitives/thread/ThreadScrollToBottom.js +5 -3
  542. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  543. package/dist/primitives/thread/ThreadScrollToBottom.mjs +5 -3
  544. package/dist/primitives/thread/ThreadScrollToBottom.mjs.map +1 -1
  545. package/dist/primitives/thread/ThreadSuggestion.js +5 -3
  546. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  547. package/dist/primitives/thread/ThreadSuggestion.mjs +5 -3
  548. package/dist/primitives/thread/ThreadSuggestion.mjs.map +1 -1
  549. package/dist/primitives/thread/ThreadViewport.js +5 -3
  550. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  551. package/dist/primitives/thread/ThreadViewport.mjs +5 -3
  552. package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
  553. package/dist/primitives/thread/index.js +9 -7
  554. package/dist/primitives/thread/index.js.map +1 -1
  555. package/dist/primitives/thread/index.mjs +8 -7
  556. package/dist/primitives/thread/index.mjs.map +1 -1
  557. package/dist/primitives/thread/types.js +2 -0
  558. package/dist/primitives/thread/types.js.map +1 -1
  559. package/dist/runtimes/attachment/AttachmentAdapter.js +2 -0
  560. package/dist/runtimes/attachment/AttachmentAdapter.js.map +1 -1
  561. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js +4 -2
  562. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js.map +1 -1
  563. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs +3 -2
  564. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs.map +1 -1
  565. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.js +5 -3
  566. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.js.map +1 -1
  567. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.mjs +4 -3
  568. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.mjs.map +1 -1
  569. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.js +5 -3
  570. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.js.map +1 -1
  571. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.mjs +4 -3
  572. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.mjs.map +1 -1
  573. package/dist/runtimes/attachment/index.js +5 -3
  574. package/dist/runtimes/attachment/index.js.map +1 -1
  575. package/dist/runtimes/attachment/index.mjs +4 -3
  576. package/dist/runtimes/attachment/index.mjs.map +1 -1
  577. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +5 -3
  578. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  579. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +4 -3
  580. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
  581. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +6 -4
  582. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
  583. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs +5 -4
  584. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +1 -1
  585. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +5 -3
  586. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
  587. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs +4 -3
  588. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs.map +1 -1
  589. package/dist/runtimes/core/AssistantRuntimeCore.js +2 -0
  590. package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
  591. package/dist/runtimes/core/BaseAssistantRuntimeCore.js +5 -3
  592. package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
  593. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs +4 -3
  594. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
  595. package/dist/runtimes/core/BaseThreadRuntimeCore.js +8 -6
  596. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  597. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +7 -6
  598. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  599. package/dist/runtimes/core/ComposerRuntimeCore.js +2 -0
  600. package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
  601. package/dist/runtimes/core/ThreadManagerRuntimeCore.js +2 -0
  602. package/dist/runtimes/core/ThreadManagerRuntimeCore.js.map +1 -1
  603. package/dist/runtimes/core/ThreadRuntimeCore.js +2 -0
  604. package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
  605. package/dist/runtimes/core/index.js +3 -1
  606. package/dist/runtimes/core/index.js.map +1 -1
  607. package/dist/runtimes/core/index.mjs +2 -1
  608. package/dist/runtimes/core/index.mjs.map +1 -1
  609. package/dist/runtimes/core/subscribeToMainThread.js +3 -1
  610. package/dist/runtimes/core/subscribeToMainThread.js.map +1 -1
  611. package/dist/runtimes/core/subscribeToMainThread.mjs +2 -1
  612. package/dist/runtimes/core/subscribeToMainThread.mjs.map +1 -1
  613. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +10 -8
  614. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js.map +1 -1
  615. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs +9 -8
  616. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs.map +1 -1
  617. package/dist/runtimes/dangerous-in-browser/index.js +3 -1
  618. package/dist/runtimes/dangerous-in-browser/index.js.map +1 -1
  619. package/dist/runtimes/dangerous-in-browser/index.mjs +2 -1
  620. package/dist/runtimes/dangerous-in-browser/index.mjs.map +1 -1
  621. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +6 -4
  622. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js.map +1 -1
  623. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs +5 -4
  624. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs.map +1 -1
  625. package/dist/runtimes/edge/EdgeChatAdapter.js +11 -9
  626. package/dist/runtimes/edge/EdgeChatAdapter.js.map +1 -1
  627. package/dist/runtimes/edge/EdgeChatAdapter.mjs +10 -9
  628. package/dist/runtimes/edge/EdgeChatAdapter.mjs.map +1 -1
  629. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +13 -11
  630. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
  631. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +12 -11
  632. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
  633. package/dist/runtimes/edge/converters/fromCoreMessage.js +5 -3
  634. package/dist/runtimes/edge/converters/fromCoreMessage.js.map +1 -1
  635. package/dist/runtimes/edge/converters/fromCoreMessage.mjs +4 -3
  636. package/dist/runtimes/edge/converters/fromCoreMessage.mjs.map +1 -1
  637. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js +3 -1
  638. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +1 -1
  639. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs +2 -1
  640. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +1 -1
  641. package/dist/runtimes/edge/converters/fromLanguageModelTools.js +3 -1
  642. package/dist/runtimes/edge/converters/fromLanguageModelTools.js.map +1 -1
  643. package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs +2 -1
  644. package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs.map +1 -1
  645. package/dist/runtimes/edge/converters/index.js +8 -6
  646. package/dist/runtimes/edge/converters/index.js.map +1 -1
  647. package/dist/runtimes/edge/converters/index.mjs +7 -6
  648. package/dist/runtimes/edge/converters/index.mjs.map +1 -1
  649. package/dist/runtimes/edge/converters/toCoreMessages.js +4 -2
  650. package/dist/runtimes/edge/converters/toCoreMessages.js.map +1 -1
  651. package/dist/runtimes/edge/converters/toCoreMessages.mjs +3 -2
  652. package/dist/runtimes/edge/converters/toCoreMessages.mjs.map +1 -1
  653. package/dist/runtimes/edge/converters/toLanguageModelMessages.js +3 -1
  654. package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
  655. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +2 -1
  656. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
  657. package/dist/runtimes/edge/converters/toLanguageModelTools.js +3 -1
  658. package/dist/runtimes/edge/converters/toLanguageModelTools.js.map +1 -1
  659. package/dist/runtimes/edge/converters/toLanguageModelTools.mjs +2 -1
  660. package/dist/runtimes/edge/converters/toLanguageModelTools.mjs.map +1 -1
  661. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +15 -13
  662. package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
  663. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +14 -13
  664. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
  665. package/dist/runtimes/edge/index.js +8 -6
  666. package/dist/runtimes/edge/index.js.map +1 -1
  667. package/dist/runtimes/edge/index.mjs +5 -4
  668. package/dist/runtimes/edge/index.mjs.map +1 -1
  669. package/dist/runtimes/edge/partial-json/fix-json.js +2 -0
  670. package/dist/runtimes/edge/partial-json/fix-json.js.map +1 -1
  671. package/dist/runtimes/edge/partial-json/fix-json.mjs +1 -0
  672. package/dist/runtimes/edge/partial-json/fix-json.mjs.map +1 -1
  673. package/dist/runtimes/edge/partial-json/parse-partial-json.js +4 -2
  674. package/dist/runtimes/edge/partial-json/parse-partial-json.js.map +1 -1
  675. package/dist/runtimes/edge/partial-json/parse-partial-json.mjs +3 -2
  676. package/dist/runtimes/edge/partial-json/parse-partial-json.mjs.map +1 -1
  677. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js +2 -0
  678. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js.map +1 -1
  679. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs +1 -0
  680. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs.map +1 -1
  681. package/dist/runtimes/edge/streams/assistantDecoderStream.js +3 -1
  682. package/dist/runtimes/edge/streams/assistantDecoderStream.js.map +1 -1
  683. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs +2 -1
  684. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs.map +1 -1
  685. package/dist/runtimes/edge/streams/assistantEncoderStream.js +3 -1
  686. package/dist/runtimes/edge/streams/assistantEncoderStream.js.map +1 -1
  687. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs +2 -1
  688. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs.map +1 -1
  689. package/dist/runtimes/edge/streams/runResultStream.js +10 -8
  690. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  691. package/dist/runtimes/edge/streams/runResultStream.mjs +9 -8
  692. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  693. package/dist/runtimes/edge/streams/toolResultStream.js +2 -0
  694. package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
  695. package/dist/runtimes/edge/streams/toolResultStream.mjs +1 -0
  696. package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
  697. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.js +4 -2
  698. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.js.map +1 -1
  699. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.mjs +3 -2
  700. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.mjs.map +1 -1
  701. package/dist/runtimes/edge/streams/utils/StreamPart.js +2 -0
  702. package/dist/runtimes/edge/streams/utils/StreamPart.js.map +1 -1
  703. package/dist/runtimes/edge/streams/utils/chunkByLineStream.js +2 -0
  704. package/dist/runtimes/edge/streams/utils/chunkByLineStream.js.map +1 -1
  705. package/dist/runtimes/edge/streams/utils/chunkByLineStream.mjs +1 -0
  706. package/dist/runtimes/edge/streams/utils/chunkByLineStream.mjs.map +1 -1
  707. package/dist/runtimes/edge/streams/utils/index.js +5 -3
  708. package/dist/runtimes/edge/streams/utils/index.js.map +1 -1
  709. package/dist/runtimes/edge/streams/utils/index.mjs +4 -3
  710. package/dist/runtimes/edge/streams/utils/index.mjs.map +1 -1
  711. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js +5 -3
  712. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js.map +1 -1
  713. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.mjs +4 -3
  714. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.mjs.map +1 -1
  715. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js +3 -1
  716. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js.map +1 -1
  717. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.mjs +2 -1
  718. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.mjs.map +1 -1
  719. package/dist/runtimes/edge/useEdgeRuntime.js +6 -4
  720. package/dist/runtimes/edge/useEdgeRuntime.js.map +1 -1
  721. package/dist/runtimes/edge/useEdgeRuntime.mjs +5 -4
  722. package/dist/runtimes/edge/useEdgeRuntime.mjs.map +1 -1
  723. package/dist/runtimes/external-store/ExternalStoreAdapter.js +2 -0
  724. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  725. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +8 -6
  726. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  727. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +7 -6
  728. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  729. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.js +6 -4
  730. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.js.map +1 -1
  731. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.mjs +5 -4
  732. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.mjs.map +1 -1
  733. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +12 -10
  734. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  735. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +11 -10
  736. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  737. package/dist/runtimes/external-store/ThreadMessageConverter.js +4 -2
  738. package/dist/runtimes/external-store/ThreadMessageConverter.js.map +1 -1
  739. package/dist/runtimes/external-store/ThreadMessageConverter.mjs +3 -2
  740. package/dist/runtimes/external-store/ThreadMessageConverter.mjs.map +1 -1
  741. package/dist/runtimes/external-store/ThreadMessageLike.js +3 -1
  742. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  743. package/dist/runtimes/external-store/ThreadMessageLike.mjs +2 -1
  744. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  745. package/dist/runtimes/external-store/auto-status.js +6 -4
  746. package/dist/runtimes/external-store/auto-status.js.map +1 -1
  747. package/dist/runtimes/external-store/auto-status.mjs +5 -4
  748. package/dist/runtimes/external-store/auto-status.mjs.map +1 -1
  749. package/dist/runtimes/external-store/external-message-converter.js +10 -8
  750. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  751. package/dist/runtimes/external-store/external-message-converter.mjs +9 -8
  752. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  753. package/dist/runtimes/external-store/getExternalStoreMessage.js +4 -2
  754. package/dist/runtimes/external-store/getExternalStoreMessage.js.map +1 -1
  755. package/dist/runtimes/external-store/getExternalStoreMessage.mjs +3 -2
  756. package/dist/runtimes/external-store/getExternalStoreMessage.mjs.map +1 -1
  757. package/dist/runtimes/external-store/index.js +5 -3
  758. package/dist/runtimes/external-store/index.js.map +1 -1
  759. package/dist/runtimes/external-store/index.mjs +4 -3
  760. package/dist/runtimes/external-store/index.mjs.map +1 -1
  761. package/dist/runtimes/external-store/useExternalStoreRuntime.js +6 -4
  762. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  763. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +5 -4
  764. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  765. package/dist/runtimes/feedback/FeedbackAdapter.js +2 -0
  766. package/dist/runtimes/feedback/FeedbackAdapter.js.map +1 -1
  767. package/dist/runtimes/feedback/index.js +2 -0
  768. package/dist/runtimes/feedback/index.js.map +1 -1
  769. package/dist/runtimes/index.js +18 -16
  770. package/dist/runtimes/index.js.map +1 -1
  771. package/dist/runtimes/index.mjs +9 -8
  772. package/dist/runtimes/index.mjs.map +1 -1
  773. package/dist/runtimes/local/ChatModelAdapter.js +2 -0
  774. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  775. package/dist/runtimes/local/LocalRuntimeCore.js +9 -7
  776. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  777. package/dist/runtimes/local/LocalRuntimeCore.mjs +8 -7
  778. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  779. package/dist/runtimes/local/LocalRuntimeOptions.js +3 -1
  780. package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
  781. package/dist/runtimes/local/LocalRuntimeOptions.mjs +2 -1
  782. package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
  783. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.js +5 -3
  784. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.js.map +1 -1
  785. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.mjs +4 -3
  786. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.mjs.map +1 -1
  787. package/dist/runtimes/local/LocalThreadRuntimeCore.js +8 -6
  788. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  789. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +7 -6
  790. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  791. package/dist/runtimes/local/index.js +3 -1
  792. package/dist/runtimes/local/index.js.map +1 -1
  793. package/dist/runtimes/local/index.mjs +2 -1
  794. package/dist/runtimes/local/index.mjs.map +1 -1
  795. package/dist/runtimes/local/shouldContinue.js +3 -1
  796. package/dist/runtimes/local/shouldContinue.js.map +1 -1
  797. package/dist/runtimes/local/shouldContinue.mjs +2 -1
  798. package/dist/runtimes/local/shouldContinue.mjs.map +1 -1
  799. package/dist/runtimes/local/useLocalRuntime.js +9 -7
  800. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  801. package/dist/runtimes/local/useLocalRuntime.mjs +9 -7
  802. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  803. package/dist/runtimes/speech/SpeechAdapterTypes.js +2 -0
  804. package/dist/runtimes/speech/SpeechAdapterTypes.js.map +1 -1
  805. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.js +4 -2
  806. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.js.map +1 -1
  807. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.mjs +3 -2
  808. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.mjs.map +1 -1
  809. package/dist/runtimes/speech/index.js +3 -1
  810. package/dist/runtimes/speech/index.js.map +1 -1
  811. package/dist/runtimes/speech/index.mjs +2 -1
  812. package/dist/runtimes/speech/index.mjs.map +1 -1
  813. package/dist/runtimes/utils/MessageRepository.js +7 -5
  814. package/dist/runtimes/utils/MessageRepository.js.map +1 -1
  815. package/dist/runtimes/utils/MessageRepository.mjs +6 -5
  816. package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
  817. package/dist/tailwindcss/index.d.ts.map +1 -1
  818. package/dist/tailwindcss/index.js +7 -5
  819. package/dist/tailwindcss/index.js.map +1 -1
  820. package/dist/tailwindcss/index.mjs +6 -5
  821. package/dist/tailwindcss/index.mjs.map +1 -1
  822. package/dist/types/AssistantTypes.js +2 -0
  823. package/dist/types/AssistantTypes.js.map +1 -1
  824. package/dist/types/AttachmentTypes.js +2 -0
  825. package/dist/types/AttachmentTypes.js.map +1 -1
  826. package/dist/types/ContentPartComponentTypes.js +2 -0
  827. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  828. package/dist/types/ModelConfigTypes.js +5 -3
  829. package/dist/types/ModelConfigTypes.js.map +1 -1
  830. package/dist/types/ModelConfigTypes.mjs +4 -3
  831. package/dist/types/ModelConfigTypes.mjs.map +1 -1
  832. package/dist/types/Unsubscribe.js +2 -0
  833. package/dist/types/Unsubscribe.js.map +1 -1
  834. package/dist/types/index.js +2 -0
  835. package/dist/types/index.js.map +1 -1
  836. package/dist/ui/assistant-action-bar.js +23 -21
  837. package/dist/ui/assistant-action-bar.js.map +1 -1
  838. package/dist/ui/assistant-action-bar.mjs +23 -21
  839. package/dist/ui/assistant-action-bar.mjs.map +1 -1
  840. package/dist/ui/assistant-message.js +16 -14
  841. package/dist/ui/assistant-message.js.map +1 -1
  842. package/dist/ui/assistant-message.mjs +16 -14
  843. package/dist/ui/assistant-message.mjs.map +1 -1
  844. package/dist/ui/assistant-modal.js +16 -14
  845. package/dist/ui/assistant-modal.js.map +1 -1
  846. package/dist/ui/assistant-modal.mjs +16 -14
  847. package/dist/ui/assistant-modal.mjs.map +1 -1
  848. package/dist/ui/attachment.js +22 -20
  849. package/dist/ui/attachment.js.map +1 -1
  850. package/dist/ui/attachment.mjs +19 -17
  851. package/dist/ui/attachment.mjs.map +1 -1
  852. package/dist/ui/base/CircleStopIcon.js +3 -1
  853. package/dist/ui/base/CircleStopIcon.js.map +1 -1
  854. package/dist/ui/base/CircleStopIcon.mjs +2 -1
  855. package/dist/ui/base/CircleStopIcon.mjs.map +1 -1
  856. package/dist/ui/base/avatar.js +8 -6
  857. package/dist/ui/base/avatar.js.map +1 -1
  858. package/dist/ui/base/avatar.mjs +8 -6
  859. package/dist/ui/base/avatar.mjs.map +1 -1
  860. package/dist/ui/base/button.js +5 -3
  861. package/dist/ui/base/button.js.map +1 -1
  862. package/dist/ui/base/button.mjs +4 -3
  863. package/dist/ui/base/button.mjs.map +1 -1
  864. package/dist/ui/base/dialog.js +9 -7
  865. package/dist/ui/base/dialog.js.map +1 -1
  866. package/dist/ui/base/dialog.mjs +9 -7
  867. package/dist/ui/base/dialog.mjs.map +1 -1
  868. package/dist/ui/base/index.js +7 -5
  869. package/dist/ui/base/index.js.map +1 -1
  870. package/dist/ui/base/index.mjs +6 -5
  871. package/dist/ui/base/index.mjs.map +1 -1
  872. package/dist/ui/base/tooltip-icon-button.js +6 -4
  873. package/dist/ui/base/tooltip-icon-button.js.map +1 -1
  874. package/dist/ui/base/tooltip-icon-button.mjs +6 -4
  875. package/dist/ui/base/tooltip-icon-button.mjs.map +1 -1
  876. package/dist/ui/base/tooltip.js +7 -5
  877. package/dist/ui/base/tooltip.js.map +1 -1
  878. package/dist/ui/base/tooltip.mjs +7 -5
  879. package/dist/ui/base/tooltip.mjs.map +1 -1
  880. package/dist/ui/branch-picker.js +16 -14
  881. package/dist/ui/branch-picker.js.map +1 -1
  882. package/dist/ui/branch-picker.mjs +16 -14
  883. package/dist/ui/branch-picker.mjs.map +1 -1
  884. package/dist/ui/composer.js +26 -24
  885. package/dist/ui/composer.js.map +1 -1
  886. package/dist/ui/composer.mjs +26 -24
  887. package/dist/ui/composer.mjs.map +1 -1
  888. package/dist/ui/content-part.js +7 -5
  889. package/dist/ui/content-part.js.map +1 -1
  890. package/dist/ui/content-part.mjs +6 -5
  891. package/dist/ui/content-part.mjs.map +1 -1
  892. package/dist/ui/edit-composer.js +14 -12
  893. package/dist/ui/edit-composer.js.map +1 -1
  894. package/dist/ui/edit-composer.mjs +14 -12
  895. package/dist/ui/edit-composer.mjs.map +1 -1
  896. package/dist/ui/index.js +15 -13
  897. package/dist/ui/index.js.map +1 -1
  898. package/dist/ui/index.mjs +14 -13
  899. package/dist/ui/index.mjs.map +1 -1
  900. package/dist/ui/thread-config.js +8 -6
  901. package/dist/ui/thread-config.js.map +1 -1
  902. package/dist/ui/thread-config.mjs +8 -6
  903. package/dist/ui/thread-config.mjs.map +1 -1
  904. package/dist/ui/thread-welcome.js +20 -18
  905. package/dist/ui/thread-welcome.js.map +1 -1
  906. package/dist/ui/thread-welcome.mjs +20 -18
  907. package/dist/ui/thread-welcome.mjs.map +1 -1
  908. package/dist/ui/thread.js +24 -22
  909. package/dist/ui/thread.js.map +1 -1
  910. package/dist/ui/thread.mjs +24 -22
  911. package/dist/ui/thread.mjs.map +1 -1
  912. package/dist/ui/user-action-bar.js +13 -11
  913. package/dist/ui/user-action-bar.js.map +1 -1
  914. package/dist/ui/user-action-bar.mjs +13 -11
  915. package/dist/ui/user-action-bar.mjs.map +1 -1
  916. package/dist/ui/user-message.js +16 -14
  917. package/dist/ui/user-message.js.map +1 -1
  918. package/dist/ui/user-message.mjs +16 -14
  919. package/dist/ui/user-message.mjs.map +1 -1
  920. package/dist/ui/utils/withDefaults.js +5 -3
  921. package/dist/ui/utils/withDefaults.js.map +1 -1
  922. package/dist/ui/utils/withDefaults.mjs +4 -3
  923. package/dist/ui/utils/withDefaults.mjs.map +1 -1
  924. package/dist/utils/ProxyConfigProvider.js +5 -3
  925. package/dist/utils/ProxyConfigProvider.js.map +1 -1
  926. package/dist/utils/ProxyConfigProvider.mjs +4 -3
  927. package/dist/utils/ProxyConfigProvider.mjs.map +1 -1
  928. package/dist/utils/RequireAtLeastOne.js +2 -0
  929. package/dist/utils/RequireAtLeastOne.js.map +1 -1
  930. package/dist/utils/combined/createCombinedStore.js +3 -1
  931. package/dist/utils/combined/createCombinedStore.js.map +1 -1
  932. package/dist/utils/combined/createCombinedStore.mjs +3 -1
  933. package/dist/utils/combined/createCombinedStore.mjs.map +1 -1
  934. package/dist/utils/combined/useCombinedStore.js +4 -2
  935. package/dist/utils/combined/useCombinedStore.js.map +1 -1
  936. package/dist/utils/combined/useCombinedStore.mjs +3 -2
  937. package/dist/utils/combined/useCombinedStore.mjs.map +1 -1
  938. package/dist/utils/createActionButton.js +4 -2
  939. package/dist/utils/createActionButton.js.map +1 -1
  940. package/dist/utils/createActionButton.mjs +4 -2
  941. package/dist/utils/createActionButton.mjs.map +1 -1
  942. package/dist/utils/getThreadMessageText.js +3 -1
  943. package/dist/utils/getThreadMessageText.js.map +1 -1
  944. package/dist/utils/getThreadMessageText.mjs +2 -1
  945. package/dist/utils/getThreadMessageText.mjs.map +1 -1
  946. package/dist/utils/hooks/useManagedRef.js +3 -1
  947. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  948. package/dist/utils/hooks/useManagedRef.mjs +2 -1
  949. package/dist/utils/hooks/useManagedRef.mjs.map +1 -1
  950. package/dist/utils/hooks/useOnResizeContent.js +4 -2
  951. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  952. package/dist/utils/hooks/useOnResizeContent.mjs +3 -2
  953. package/dist/utils/hooks/useOnResizeContent.mjs.map +1 -1
  954. package/dist/utils/hooks/useOnScrollToBottom.js +4 -2
  955. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  956. package/dist/utils/hooks/useOnScrollToBottom.mjs +3 -2
  957. package/dist/utils/hooks/useOnScrollToBottom.mjs.map +1 -1
  958. package/dist/utils/idUtils.js +6 -4
  959. package/dist/utils/idUtils.js.map +1 -1
  960. package/dist/utils/idUtils.mjs +5 -4
  961. package/dist/utils/idUtils.mjs.map +1 -1
  962. package/dist/utils/smooth/SmoothContext.js +10 -8
  963. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  964. package/dist/utils/smooth/SmoothContext.mjs +9 -8
  965. package/dist/utils/smooth/SmoothContext.mjs.map +1 -1
  966. package/dist/utils/smooth/index.js +5 -3
  967. package/dist/utils/smooth/index.js.map +1 -1
  968. package/dist/utils/smooth/index.mjs +4 -3
  969. package/dist/utils/smooth/index.mjs.map +1 -1
  970. package/dist/utils/smooth/useSmooth.js +9 -7
  971. package/dist/utils/smooth/useSmooth.js.map +1 -1
  972. package/dist/utils/smooth/useSmooth.mjs +9 -7
  973. package/dist/utils/smooth/useSmooth.mjs.map +1 -1
  974. package/package.json +8 -7
  975. package/src/tailwindcss/index.ts +4 -4
  976. /package/{generated → dist/styles/tailwindcss}/base-components.css.json +0 -0
  977. /package/{generated → dist/styles/tailwindcss}/modal.css.json +0 -0
  978. /package/{generated → dist/styles/tailwindcss}/thread.css.json +0 -0
  979. /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\";\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":[]}
@@ -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":[]}
@@ -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;
@@ -206,7 +208,7 @@ class MessageRuntimeImpl {
206
208
  })
207
209
  );
208
210
  }
209
- }
211
+ };
210
212
  // Annotate the CommonJS export names for ESM import in node:
211
213
  0 && (module.exports = {
212
214
  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) 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,20 +1,21 @@
1
- import { getThreadMessageText } from "../utils/getThreadMessageText";
1
+ // src/api/MessageRuntime.ts
2
+ import { getThreadMessageText } from "../utils/getThreadMessageText.mjs";
2
3
  import {
3
4
  MessageAttachmentRuntimeImpl
4
- } from "./AttachmentRuntime";
5
+ } from "./AttachmentRuntime.mjs";
5
6
  import {
6
7
  EditComposerRuntimeImpl
7
- } from "./ComposerRuntime";
8
+ } from "./ComposerRuntime.mjs";
8
9
  import {
9
10
  ContentPartRuntimeImpl
10
- } from "./ContentPartRuntime";
11
- import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject";
12
- import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE";
13
- import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject";
14
- const COMPLETE_STATUS = {
11
+ } from "./ContentPartRuntime.mjs";
12
+ import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject.mjs";
13
+ import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE.mjs";
14
+ import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject.mjs";
15
+ var COMPLETE_STATUS = {
15
16
  type: "complete"
16
17
  };
17
- const toContentPartStatus = (message, partIndex, part) => {
18
+ var toContentPartStatus = (message, partIndex, part) => {
18
19
  if (message.role !== "assistant") return COMPLETE_STATUS;
19
20
  if (part.type === "tool-call") {
20
21
  if (!part.result) {
@@ -27,8 +28,8 @@ const toContentPartStatus = (message, partIndex, part) => {
27
28
  if (message.status.type === "requires-action") return COMPLETE_STATUS;
28
29
  return isLastPart ? message.status : COMPLETE_STATUS;
29
30
  };
30
- const EMPTY_CONTENT = Object.freeze({ type: "text", text: "" });
31
- const getContentPartState = (message, partIndex) => {
31
+ var EMPTY_CONTENT = Object.freeze({ type: "text", text: "" });
32
+ var getContentPartState = (message, partIndex) => {
32
33
  let part = message.content[partIndex];
33
34
  if (!part) {
34
35
  if (message.content.length === 0 && partIndex === 0) {
@@ -42,7 +43,7 @@ const getContentPartState = (message, partIndex) => {
42
43
  const status = toContentPartStatus(message, partIndex, part);
43
44
  return Object.freeze({ ...part, part, status });
44
45
  };
45
- class MessageRuntimeImpl {
46
+ var MessageRuntimeImpl = class {
46
47
  constructor(_core, _threadBinding) {
47
48
  this._core = _core;
48
49
  this._threadBinding = _threadBinding;
@@ -187,7 +188,7 @@ class MessageRuntimeImpl {
187
188
  })
188
189
  );
189
190
  }
190
- }
191
+ };
191
192
  export {
192
193
  EMPTY_CONTENT,
193
194
  MessageRuntimeImpl,
@@ -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) 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":";AAcA,SAAS,4BAA4B;AACrC;AAAA,EAGE;AAAA,OACK;AACP;AAAA,EAEE;AAAA,OACK;AACP;AAAA,EAEE;AAAA,OAEK;AAGP,SAAS,iCAAiC;AAC1C,SAAS,mBAAmB;AAC5B,SAAS,6BAA6B;AAGtC,IAAM,kBAAqC;AAAA,EACzC,MAAM;AACR;AAEO,IAAM,sBAAsB,CACjC,SACA,WACA,SAC8B;AAC9B,MAAI,QAAQ,SAAS,YAAa,QAAO;AAEzC,MAAI,KAAK,SAAS,aAAa;AAC7B,QAAI,CAAC,KAAK,QAAQ;AAChB,aAAO,QAAQ;AAAA,IACjB,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,aAAa,cAAc,KAAK,IAAI,GAAG,QAAQ,QAAQ,SAAS,CAAC;AACvE,MAAI,QAAQ,OAAO,SAAS,kBAAmB,QAAO;AACtD,SAAO,aAAc,QAAQ,SAA+B;AAC9D;AAEO,IAAM,gBAAgB,OAAO,OAAO,EAAE,MAAM,QAAQ,MAAM,GAAG,CAAC;AAErE,IAAM,sBAAsB,CAC1B,SACA,cACmC;AACnC,MAAI,OAAO,QAAQ,QAAQ,SAAS;AACpC,MAAI,CAAC,MAAM;AAET,QAAI,QAAQ,QAAQ,WAAW,KAAK,cAAc,GAAG;AACnD,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF,WACE,QAAQ,QAAQ,WAAW,KAC3B,KAAK,SAAS,UACd,KAAK,KAAK,WAAW,GACrB;AAEA,WAAO;AAAA,EACT;AAGA,QAAM,SAAS,oBAAoB,SAAS,WAAW,IAAI;AAC3D,SAAO,OAAO,OAAO,EAAE,GAAG,MAAM,MAAM,OAAO,CAAC;AAChD;AA8DO,IAAM,qBAAN,MAAmD;AAAA,EAKxD,YACU,OACA,gBACR;AAFQ;AACA;AAER,SAAK,WAAW,IAAI;AAAA,MAClB,IAAI,0BAA0B;AAAA,QAC5B,MAAM;AAAA,UACJ,GAAG,KAAK;AAAA,UACR,KAAK,KAAK,KAAK,MAAM,GAAG,KAAK,KAAK,GAAG;AAAA,UACrC,gBAAgB;AAAA,QAClB;AAAA,QACA,UAAU,MACR,KAAK,eACF,SAAS,EACT,gBAAgB,KAAK,MAAM,SAAS,EAAE,EAAE;AAAA,QAC7C,WAAW,CAAC,aAAa,KAAK,eAAe,UAAU,QAAQ;AAAA,MACjE,CAAC;AAAA,MACD,MAAM,KAAK,eAAe,SAAS,EAAE,UAAU,KAAK,MAAM,SAAS,EAAE,EAAE;AAAA,IACzE;AAAA,EACF;AAAA,EAvBA,IAAW,OAAO;AAChB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAuBO;AAAA,EAEA,WAAW;AAChB,WAAO,KAAK,MAAM,SAAS;AAAA,EAC7B;AAAA,EAEO,SAAS;AACd,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,0BAA0B;AACtD,QAAI,MAAM,SAAS;AACjB,YAAM,IAAI,MAAM,oCAAoC;AAEtD,SAAK,eAAe,SAAS,EAAE,SAAS,MAAM,QAAQ;AAAA,EACxD;AAAA,EAEO,QAAQ;AACb,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,0BAA0B;AAEtD,WAAO,KAAK,eAAe,SAAS,EAAE,MAAM,MAAM,EAAE;AAAA,EACtD;AAAA,EAEO,eAAe;AACpB,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,0BAA0B;AAEtD,UAAM,SAAS,KAAK,eAAe,SAAS;AAC5C,QAAI,OAAO,QAAQ,cAAc,MAAM,IAAI;AACzC,WAAK,eAAe,SAAS,EAAE,aAAa;AAAA,IAC9C,OAAO;AACL,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC/C;AAAA,EACF;AAAA,EAEO,eAAe,EAAE,KAAK,GAAsC;AACjE,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,0BAA0B;AAEtD,SAAK,eAAe,SAAS,EAAE,eAAe;AAAA,MAC5C,WAAW,MAAM;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,eAAe;AAAA,IACpB;AAAA,IACA;AAAA,EACF,GAGG;AACD,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,0BAA0B;AAEtD,QAAI,YAAY,UAAU;AACxB,YAAM,IAAI,MAAM,4CAA4C;AAAA,IAC9D,WAAW,CAAC,YAAY,CAAC,UAAU;AACjC,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AAEA,UAAM,SAAS,KAAK,eAAe,SAAS;AAC5C,UAAM,WAAW,OAAO,YAAY,MAAM,EAAE;AAC5C,QAAI,eAAe;AACnB,QAAI,aAAa,YAAY;AAC3B,qBAAe,SAAS,MAAM,eAAe,CAAC;AAAA,IAChD,WAAW,aAAa,QAAQ;AAC9B,qBAAe,SAAS,MAAM,YAAY;AAAA,IAC5C;AACA,QAAI,CAAC,aAAc,OAAM,IAAI,MAAM,kBAAkB;AAErD,SAAK,eAAe,SAAS,EAAE,eAAe,YAAY;AAAA,EAC5D;AAAA,EAEO,uBAAuB;AAC5B,WAAO,qBAAqB,KAAK,SAAS,CAAC;AAAA,EAC7C;AAAA,EAEO,UAAU,UAAsB;AACrC,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,sBAAsB,KAAa;AACxC,QAAI,MAAM,EAAG,OAAM,IAAI,MAAM,iCAAiC;AAC9D,WAAO,IAAI;AAAA,MACT,IAAI,sBAAsB;AAAA,QACxB,MAAM;AAAA,UACJ,GAAG,KAAK;AAAA,UACR,KAAK,KAAK,KAAK,MAAM,GAAG,KAAK,KAAK,GAAG,YAAY,GAAG;AAAA,UACpD,qBAAqB,EAAE,MAAM,SAAS,OAAO,IAAI;AAAA,QACnD;AAAA,QACA,UAAU,MAAM;AACd,iBAAO,oBAAoB,KAAK,SAAS,GAAG,GAAG;AAAA,QACjD;AAAA,QACA,WAAW,CAAC,aAAa,KAAK,MAAM,UAAU,QAAQ;AAAA,MACxD,CAAC;AAAA,MACD,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEO,2BAA2B,YAAoB;AACpD,WAAO,IAAI;AAAA,MACT,IAAI,sBAAsB;AAAA,QACxB,MAAM;AAAA,UACJ,GAAG,KAAK;AAAA,UACR,KACE,KAAK,KAAK,MACV,GAAG,KAAK,KAAK,GAAG,uBAAuB,KAAK,UAAU,UAAU,CAAC;AAAA,UACnE,qBAAqB,EAAE,MAAM,cAAc,WAAW;AAAA,QACxD;AAAA,QACA,UAAU,MAAM;AACd,gBAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,gBAAM,MAAM,MAAM,QAAQ;AAAA,YACxB,CAAC,SACC,KAAK,SAAS,eAAe,KAAK,eAAe;AAAA,UACrD;AACA,cAAI,QAAQ,GAAI,QAAO;AACvB,iBAAO,oBAAoB,OAAO,GAAG;AAAA,QACvC;AAAA,QACA,WAAW,CAAC,aAAa,KAAK,MAAM,UAAU,QAAQ;AAAA,MACxD,CAAC;AAAA,MACD,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEO,qBAAqB,KAAa;AACvC,WAAO,IAAI;AAAA,MACT,IAAI,sBAAsB;AAAA,QACxB,MAAM;AAAA,UACJ,GAAG,KAAK;AAAA,UACR,KAAK,KAAK,KAAK,MAAM,GAAG,KAAK,KAAK,GAAG,gBAAgB,GAAG;AAAA,UACxD,kBAAkB;AAAA,UAClB,oBAAoB,EAAE,MAAM,SAAS,OAAO,IAAI;AAAA,QAClD;AAAA,QACA,UAAU,MAAM;AACd,gBAAM,cAAc,KAAK,SAAS,EAAE;AACpC,gBAAM,aAAa,cAAc,GAAG;AACpC,cAAI,CAAC,WAAY,QAAO;AAExB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH;AAAA,YACA,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,WAAW,CAAC,aAAa,KAAK,MAAM,UAAU,QAAQ;AAAA,MACxD,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -12,6 +12,8 @@ var __copyProps = (to, from, except, desc) => {
12
12
  return to;
13
13
  };
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/api/RuntimePathTypes.ts
15
17
  var RuntimePathTypes_exports = {};
16
18
  module.exports = __toCommonJS(RuntimePathTypes_exports);
17
19
  //# sourceMappingURL=RuntimePathTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/RuntimePathTypes.ts"],"sourcesContent":["export type ThreadManagerRuntimePath = {\n ref: string;\n};\n\nexport type ThreadRuntimePath = {\n ref: string;\n threadSelector: { type: \"main\" };\n};\n\nexport type MessageRuntimePath = ThreadRuntimePath & {\n messageSelector:\n | { type: \"messageId\"; messageId: string }\n | { type: \"index\"; index: number };\n};\n\nexport type ContentPartRuntimePath = MessageRuntimePath & {\n contentPartSelector:\n | { type: \"index\"; index: number }\n | { type: \"toolCallId\"; toolCallId: string };\n};\n\nexport type AttachmentRuntimePath = (\n | (MessageRuntimePath & {\n attachmentSource: \"message\" | \"edit-composer\";\n })\n | (ThreadRuntimePath & {\n attachmentSource: \"thread-composer\";\n })\n) & {\n attachmentSelector:\n | {\n type: \"index\";\n index: number;\n }\n | {\n type: \"index\";\n index: number;\n }\n | {\n type: \"index\";\n index: number;\n };\n};\n\nexport type ComposerRuntimePath =\n | (ThreadRuntimePath & {\n composerSource: \"thread\";\n })\n | (MessageRuntimePath & {\n composerSource: \"edit\";\n });\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/api/RuntimePathTypes.ts"],"sourcesContent":["export type ThreadManagerRuntimePath = {\n ref: string;\n};\n\nexport type ThreadRuntimePath = {\n ref: string;\n threadSelector: { type: \"main\" };\n};\n\nexport type MessageRuntimePath = ThreadRuntimePath & {\n messageSelector:\n | { type: \"messageId\"; messageId: string }\n | { type: \"index\"; index: number };\n};\n\nexport type ContentPartRuntimePath = MessageRuntimePath & {\n contentPartSelector:\n | { type: \"index\"; index: number }\n | { type: \"toolCallId\"; toolCallId: string };\n};\n\nexport type AttachmentRuntimePath = (\n | (MessageRuntimePath & {\n attachmentSource: \"message\" | \"edit-composer\";\n })\n | (ThreadRuntimePath & {\n attachmentSource: \"thread-composer\";\n })\n) & {\n attachmentSelector:\n | {\n type: \"index\";\n index: number;\n }\n | {\n type: \"index\";\n index: number;\n }\n | {\n type: \"index\";\n index: number;\n };\n};\n\nexport type ComposerRuntimePath =\n | (ThreadRuntimePath & {\n composerSource: \"thread\";\n })\n | (MessageRuntimePath & {\n composerSource: \"edit\";\n });\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -16,22 +16,24 @@ 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/ThreadManagerRuntime.ts
19
21
  var ThreadManagerRuntime_exports = {};
20
22
  __export(ThreadManagerRuntime_exports, {
21
23
  ThreadManagerRuntimeImpl: () => ThreadManagerRuntimeImpl
22
24
  });
23
25
  module.exports = __toCommonJS(ThreadManagerRuntime_exports);
24
- var import_LazyMemoizeSubject = require("./subscribable/LazyMemoizeSubject");
25
- const getThreadManagerState = (threadManager) => {
26
+ var import_LazyMemoizeSubject = require("./subscribable/LazyMemoizeSubject.cjs");
27
+ var getThreadManagerState = (threadManager) => {
26
28
  return {
27
29
  threads: threadManager.threads,
28
30
  archivedThreads: threadManager.archivedThreads
29
31
  };
30
32
  };
31
- const THREAD_MANAGER_PATH = {
33
+ var THREAD_MANAGER_PATH = {
32
34
  ref: "threadManager"
33
35
  };
34
- class ThreadManagerRuntimeImpl {
36
+ var ThreadManagerRuntimeImpl = class {
35
37
  constructor(_core) {
36
38
  this._core = _core;
37
39
  const stateBinding = new import_LazyMemoizeSubject.LazyMemoizeSubject({
@@ -63,7 +65,7 @@ class ThreadManagerRuntimeImpl {
63
65
  subscribe(callback) {
64
66
  return this._core.subscribe(callback);
65
67
  }
66
- }
68
+ };
67
69
  // Annotate the CommonJS export names for ESM import in node:
68
70
  0 && (module.exports = {
69
71
  ThreadManagerRuntimeImpl
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ThreadManagerRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../runtimes/core/ThreadManagerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadManagerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadManagerState = Readonly<{\n threads: readonly ThreadManagerMetadata[];\n archivedThreads: readonly ThreadManagerMetadata[];\n}>;\n\nexport type ThreadManagerRuntime = Readonly<{\n path: ThreadManagerRuntimePath;\n getState(): ThreadManagerState;\n\n rename(threadId: string, newTitle: string): Promise<void>;\n archive(threadId: string): Promise<void>;\n unarchive(threadId: string): Promise<void>;\n delete(threadId: string): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n}>;\n\nconst getThreadManagerState = (\n threadManager: ThreadManagerRuntimeCore,\n): ThreadManagerState => {\n return {\n threads: threadManager.threads,\n archivedThreads: threadManager.archivedThreads,\n };\n};\n\nconst THREAD_MANAGER_PATH = {\n ref: \"threadManager\",\n};\n\nexport type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;\n\nexport class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {\n public get path() {\n return THREAD_MANAGER_PATH;\n }\n\n private _getState;\n constructor(private _core: ThreadManagerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: THREAD_MANAGER_PATH,\n getState: () => getThreadManagerState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public getState(): ThreadManagerState {\n return this._getState();\n }\n\n public rename(threadId: string, newTitle: string): Promise<void> {\n return this._core.rename(threadId, newTitle);\n }\n\n public archive(threadId: string): Promise<void> {\n return this._core.archive(threadId);\n }\n\n public unarchive(threadId: string): Promise<void> {\n return this._core.unarchive(threadId);\n }\n\n public delete(threadId: string): Promise<void> {\n return this._core.delete(threadId);\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAmC;AAyBnC,MAAM,wBAAwB,CAC5B,kBACuB;AACvB,SAAO;AAAA,IACL,SAAS,cAAc;AAAA,IACvB,iBAAiB,cAAc;AAAA,EACjC;AACF;AAEA,MAAM,sBAAsB;AAAA,EAC1B,KAAK;AACP;AAIO,MAAM,yBAAyD;AAAA,EAMpE,YAAoB,OAAwC;AAAxC;AAClB,UAAM,eAAe,IAAI,6CAAmB;AAAA,MAC1C,MAAM;AAAA,MACN,UAAU,MAAM,sBAAsB,KAAK;AAAA,MAC3C,WAAW,CAAC,aAAa,MAAM,UAAU,QAAQ;AAAA,IACnD,CAAC;AAED,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EAbA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAWD,WAA+B;AACpC,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,OAAO,UAAkB,UAAiC;AAC/D,WAAO,KAAK,MAAM,OAAO,UAAU,QAAQ;AAAA,EAC7C;AAAA,EAEO,QAAQ,UAAiC;AAC9C,WAAO,KAAK,MAAM,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEO,UAAU,UAAiC;AAChD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,OAAO,UAAiC;AAC7C,WAAO,KAAK,MAAM,OAAO,QAAQ;AAAA,EACnC;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/ThreadManagerRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../runtimes/core/ThreadManagerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadManagerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadManagerState = Readonly<{\n threads: readonly ThreadManagerMetadata[];\n archivedThreads: readonly ThreadManagerMetadata[];\n}>;\n\nexport type ThreadManagerRuntime = Readonly<{\n path: ThreadManagerRuntimePath;\n getState(): ThreadManagerState;\n\n rename(threadId: string, newTitle: string): Promise<void>;\n archive(threadId: string): Promise<void>;\n unarchive(threadId: string): Promise<void>;\n delete(threadId: string): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n}>;\n\nconst getThreadManagerState = (\n threadManager: ThreadManagerRuntimeCore,\n): ThreadManagerState => {\n return {\n threads: threadManager.threads,\n archivedThreads: threadManager.archivedThreads,\n };\n};\n\nconst THREAD_MANAGER_PATH = {\n ref: \"threadManager\",\n};\n\nexport type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;\n\nexport class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {\n public get path() {\n return THREAD_MANAGER_PATH;\n }\n\n private _getState;\n constructor(private _core: ThreadManagerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: THREAD_MANAGER_PATH,\n getState: () => getThreadManagerState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public getState(): ThreadManagerState {\n return this._getState();\n }\n\n public rename(threadId: string, newTitle: string): Promise<void> {\n return this._core.rename(threadId, newTitle);\n }\n\n public archive(threadId: string): Promise<void> {\n return this._core.archive(threadId);\n }\n\n public unarchive(threadId: string): Promise<void> {\n return this._core.unarchive(threadId);\n }\n\n public delete(threadId: string): Promise<void> {\n return this._core.delete(threadId);\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAmC;AAyBnC,IAAM,wBAAwB,CAC5B,kBACuB;AACvB,SAAO;AAAA,IACL,SAAS,cAAc;AAAA,IACvB,iBAAiB,cAAc;AAAA,EACjC;AACF;AAEA,IAAM,sBAAsB;AAAA,EAC1B,KAAK;AACP;AAIO,IAAM,2BAAN,MAA+D;AAAA,EAMpE,YAAoB,OAAwC;AAAxC;AAClB,UAAM,eAAe,IAAI,6CAAmB;AAAA,MAC1C,MAAM;AAAA,MACN,UAAU,MAAM,sBAAsB,KAAK;AAAA,MAC3C,WAAW,CAAC,aAAa,MAAM,UAAU,QAAQ;AAAA,IACnD,CAAC;AAED,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EAbA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAWD,WAA+B;AACpC,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,OAAO,UAAkB,UAAiC;AAC/D,WAAO,KAAK,MAAM,OAAO,UAAU,QAAQ;AAAA,EAC7C;AAAA,EAEO,QAAQ,UAAiC;AAC9C,WAAO,KAAK,MAAM,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEO,UAAU,UAAiC;AAChD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,OAAO,UAAiC;AAC7C,WAAO,KAAK,MAAM,OAAO,QAAQ;AAAA,EACnC;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
@@ -1,14 +1,15 @@
1
- import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject";
2
- const getThreadManagerState = (threadManager) => {
1
+ // src/api/ThreadManagerRuntime.ts
2
+ import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject.mjs";
3
+ var getThreadManagerState = (threadManager) => {
3
4
  return {
4
5
  threads: threadManager.threads,
5
6
  archivedThreads: threadManager.archivedThreads
6
7
  };
7
8
  };
8
- const THREAD_MANAGER_PATH = {
9
+ var THREAD_MANAGER_PATH = {
9
10
  ref: "threadManager"
10
11
  };
11
- class ThreadManagerRuntimeImpl {
12
+ var ThreadManagerRuntimeImpl = class {
12
13
  constructor(_core) {
13
14
  this._core = _core;
14
15
  const stateBinding = new LazyMemoizeSubject({
@@ -40,7 +41,7 @@ class ThreadManagerRuntimeImpl {
40
41
  subscribe(callback) {
41
42
  return this._core.subscribe(callback);
42
43
  }
43
- }
44
+ };
44
45
  export {
45
46
  ThreadManagerRuntimeImpl
46
47
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ThreadManagerRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../runtimes/core/ThreadManagerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadManagerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadManagerState = Readonly<{\n threads: readonly ThreadManagerMetadata[];\n archivedThreads: readonly ThreadManagerMetadata[];\n}>;\n\nexport type ThreadManagerRuntime = Readonly<{\n path: ThreadManagerRuntimePath;\n getState(): ThreadManagerState;\n\n rename(threadId: string, newTitle: string): Promise<void>;\n archive(threadId: string): Promise<void>;\n unarchive(threadId: string): Promise<void>;\n delete(threadId: string): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n}>;\n\nconst getThreadManagerState = (\n threadManager: ThreadManagerRuntimeCore,\n): ThreadManagerState => {\n return {\n threads: threadManager.threads,\n archivedThreads: threadManager.archivedThreads,\n };\n};\n\nconst THREAD_MANAGER_PATH = {\n ref: \"threadManager\",\n};\n\nexport type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;\n\nexport class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {\n public get path() {\n return THREAD_MANAGER_PATH;\n }\n\n private _getState;\n constructor(private _core: ThreadManagerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: THREAD_MANAGER_PATH,\n getState: () => getThreadManagerState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public getState(): ThreadManagerState {\n return this._getState();\n }\n\n public rename(threadId: string, newTitle: string): Promise<void> {\n return this._core.rename(threadId, newTitle);\n }\n\n public archive(threadId: string): Promise<void> {\n return this._core.archive(threadId);\n }\n\n public unarchive(threadId: string): Promise<void> {\n return this._core.unarchive(threadId);\n }\n\n public delete(threadId: string): Promise<void> {\n return this._core.delete(threadId);\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":"AAAA,SAAS,0BAA0B;AAyBnC,MAAM,wBAAwB,CAC5B,kBACuB;AACvB,SAAO;AAAA,IACL,SAAS,cAAc;AAAA,IACvB,iBAAiB,cAAc;AAAA,EACjC;AACF;AAEA,MAAM,sBAAsB;AAAA,EAC1B,KAAK;AACP;AAIO,MAAM,yBAAyD;AAAA,EAMpE,YAAoB,OAAwC;AAAxC;AAClB,UAAM,eAAe,IAAI,mBAAmB;AAAA,MAC1C,MAAM;AAAA,MACN,UAAU,MAAM,sBAAsB,KAAK;AAAA,MAC3C,WAAW,CAAC,aAAa,MAAM,UAAU,QAAQ;AAAA,IACnD,CAAC;AAED,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EAbA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAWD,WAA+B;AACpC,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,OAAO,UAAkB,UAAiC;AAC/D,WAAO,KAAK,MAAM,OAAO,UAAU,QAAQ;AAAA,EAC7C;AAAA,EAEO,QAAQ,UAAiC;AAC9C,WAAO,KAAK,MAAM,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEO,UAAU,UAAiC;AAChD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,OAAO,UAAiC;AAC7C,WAAO,KAAK,MAAM,OAAO,QAAQ;AAAA,EACnC;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/ThreadManagerRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport {\n ThreadManagerMetadata,\n ThreadManagerRuntimeCore,\n} from \"../runtimes/core/ThreadManagerRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport { ThreadManagerRuntimePath } from \"./RuntimePathTypes\";\n\nexport type ThreadManagerState = Readonly<{\n threads: readonly ThreadManagerMetadata[];\n archivedThreads: readonly ThreadManagerMetadata[];\n}>;\n\nexport type ThreadManagerRuntime = Readonly<{\n path: ThreadManagerRuntimePath;\n getState(): ThreadManagerState;\n\n rename(threadId: string, newTitle: string): Promise<void>;\n archive(threadId: string): Promise<void>;\n unarchive(threadId: string): Promise<void>;\n delete(threadId: string): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n}>;\n\nconst getThreadManagerState = (\n threadManager: ThreadManagerRuntimeCore,\n): ThreadManagerState => {\n return {\n threads: threadManager.threads,\n archivedThreads: threadManager.archivedThreads,\n };\n};\n\nconst THREAD_MANAGER_PATH = {\n ref: \"threadManager\",\n};\n\nexport type ThreadManagerRuntimeCoreBinding = ThreadManagerRuntimeCore;\n\nexport class ThreadManagerRuntimeImpl implements ThreadManagerRuntime {\n public get path() {\n return THREAD_MANAGER_PATH;\n }\n\n private _getState;\n constructor(private _core: ThreadManagerRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: THREAD_MANAGER_PATH,\n getState: () => getThreadManagerState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n }\n\n public getState(): ThreadManagerState {\n return this._getState();\n }\n\n public rename(threadId: string, newTitle: string): Promise<void> {\n return this._core.rename(threadId, newTitle);\n }\n\n public archive(threadId: string): Promise<void> {\n return this._core.archive(threadId);\n }\n\n public unarchive(threadId: string): Promise<void> {\n return this._core.unarchive(threadId);\n }\n\n public delete(threadId: string): Promise<void> {\n return this._core.delete(threadId);\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":";AAAA,SAAS,0BAA0B;AAyBnC,IAAM,wBAAwB,CAC5B,kBACuB;AACvB,SAAO;AAAA,IACL,SAAS,cAAc;AAAA,IACvB,iBAAiB,cAAc;AAAA,EACjC;AACF;AAEA,IAAM,sBAAsB;AAAA,EAC1B,KAAK;AACP;AAIO,IAAM,2BAAN,MAA+D;AAAA,EAMpE,YAAoB,OAAwC;AAAxC;AAClB,UAAM,eAAe,IAAI,mBAAmB;AAAA,MAC1C,MAAM;AAAA,MACN,UAAU,MAAM,sBAAsB,KAAK;AAAA,MAC3C,WAAW,CAAC,aAAa,MAAM,UAAU,QAAQ;AAAA,IACnD,CAAC;AAED,SAAK,YAAY,aAAa,SAAS,KAAK,YAAY;AAAA,EAC1D;AAAA,EAbA,IAAW,OAAO;AAChB,WAAO;AAAA,EACT;AAAA,EAEQ;AAAA,EAWD,WAA+B;AACpC,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEO,OAAO,UAAkB,UAAiC;AAC/D,WAAO,KAAK,MAAM,OAAO,UAAU,QAAQ;AAAA,EAC7C;AAAA,EAEO,QAAQ,UAAiC;AAC9C,WAAO,KAAK,MAAM,QAAQ,QAAQ;AAAA,EACpC;AAAA,EAEO,UAAU,UAAiC;AAChD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AAAA,EAEO,OAAO,UAAiC;AAC7C,WAAO,KAAK,MAAM,OAAO,QAAQ;AAAA,EACnC;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}