@assistant-ui/react 0.5.99 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (709) hide show
  1. package/dist/api/AssistantRuntime.d.ts +2 -52
  2. package/dist/api/AssistantRuntime.d.ts.map +1 -1
  3. package/dist/api/AssistantRuntime.js +0 -8
  4. package/dist/api/AssistantRuntime.js.map +1 -1
  5. package/dist/api/AssistantRuntime.mjs +0 -8
  6. package/dist/api/AssistantRuntime.mjs.map +1 -1
  7. package/dist/api/AttachmentRuntime.d.ts +0 -12
  8. package/dist/api/AttachmentRuntime.d.ts.map +1 -1
  9. package/dist/api/AttachmentRuntime.js.map +1 -1
  10. package/dist/api/AttachmentRuntime.mjs.map +1 -1
  11. package/dist/api/ComposerRuntime.d.ts +5 -121
  12. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  13. package/dist/api/ComposerRuntime.js +4 -84
  14. package/dist/api/ComposerRuntime.js.map +1 -1
  15. package/dist/api/ComposerRuntime.mjs +4 -84
  16. package/dist/api/ComposerRuntime.mjs.map +1 -1
  17. package/dist/api/ContentPartRuntime.d.ts +0 -4
  18. package/dist/api/ContentPartRuntime.d.ts.map +1 -1
  19. package/dist/api/ContentPartRuntime.js.map +1 -1
  20. package/dist/api/ContentPartRuntime.mjs.map +1 -1
  21. package/dist/api/MessageRuntime.d.ts +1 -12
  22. package/dist/api/MessageRuntime.d.ts.map +1 -1
  23. package/dist/api/MessageRuntime.js +9 -5
  24. package/dist/api/MessageRuntime.js.map +1 -1
  25. package/dist/api/MessageRuntime.mjs +8 -4
  26. package/dist/api/MessageRuntime.mjs.map +1 -1
  27. package/dist/api/ThreadListItemRuntime.d.ts +9 -5
  28. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
  29. package/dist/api/ThreadListItemRuntime.js +10 -6
  30. package/dist/api/ThreadListItemRuntime.js.map +1 -1
  31. package/dist/api/ThreadListItemRuntime.mjs +10 -6
  32. package/dist/api/ThreadListItemRuntime.mjs.map +1 -1
  33. package/dist/api/ThreadListRuntime.d.ts +5 -23
  34. package/dist/api/ThreadListRuntime.d.ts.map +1 -1
  35. package/dist/api/ThreadListRuntime.js +23 -26
  36. package/dist/api/ThreadListRuntime.js.map +1 -1
  37. package/dist/api/ThreadListRuntime.mjs +23 -26
  38. package/dist/api/ThreadListRuntime.mjs.map +1 -1
  39. package/dist/api/ThreadRuntime.d.ts +17 -164
  40. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  41. package/dist/api/ThreadRuntime.js +2 -94
  42. package/dist/api/ThreadRuntime.js.map +1 -1
  43. package/dist/api/ThreadRuntime.mjs +2 -94
  44. package/dist/api/ThreadRuntime.mjs.map +1 -1
  45. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  46. package/dist/context/providers/AssistantRuntimeProvider.js +0 -1
  47. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  48. package/dist/context/providers/AssistantRuntimeProvider.mjs +0 -1
  49. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  50. package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -1
  51. package/dist/context/providers/TextContentPartProvider.js +0 -2
  52. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  53. package/dist/context/providers/TextContentPartProvider.mjs +0 -2
  54. package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
  55. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +1 -4
  56. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
  57. package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +1 -1
  58. package/dist/context/providers/ThreadRuntimeProvider.js +1 -13
  59. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  60. package/dist/context/providers/ThreadRuntimeProvider.mjs +1 -13
  61. package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
  62. package/dist/context/react/AssistantContext.d.ts +16 -88
  63. package/dist/context/react/AssistantContext.d.ts.map +1 -1
  64. package/dist/context/react/AssistantContext.js +0 -15
  65. package/dist/context/react/AssistantContext.js.map +1 -1
  66. package/dist/context/react/AssistantContext.mjs +0 -11
  67. package/dist/context/react/AssistantContext.mjs.map +1 -1
  68. package/dist/context/react/AttachmentContext.d.ts +16 -32
  69. package/dist/context/react/AttachmentContext.d.ts.map +1 -1
  70. package/dist/context/react/ComposerContext.d.ts +0 -5
  71. package/dist/context/react/ComposerContext.d.ts.map +1 -1
  72. package/dist/context/react/ComposerContext.js +3 -5
  73. package/dist/context/react/ComposerContext.js.map +1 -1
  74. package/dist/context/react/ComposerContext.mjs +2 -3
  75. package/dist/context/react/ComposerContext.mjs.map +1 -1
  76. package/dist/context/react/ContentPartContext.d.ts +0 -5
  77. package/dist/context/react/ContentPartContext.d.ts.map +1 -1
  78. package/dist/context/react/ContentPartContext.js +3 -5
  79. package/dist/context/react/ContentPartContext.js.map +1 -1
  80. package/dist/context/react/ContentPartContext.mjs +2 -3
  81. package/dist/context/react/ContentPartContext.mjs.map +1 -1
  82. package/dist/context/react/MessageContext.d.ts +0 -10
  83. package/dist/context/react/MessageContext.d.ts.map +1 -1
  84. package/dist/context/react/MessageContext.js +2 -6
  85. package/dist/context/react/MessageContext.js.map +1 -1
  86. package/dist/context/react/MessageContext.mjs +2 -4
  87. package/dist/context/react/MessageContext.mjs.map +1 -1
  88. package/dist/context/react/ThreadContext.d.ts +25 -1635
  89. package/dist/context/react/ThreadContext.d.ts.map +1 -1
  90. package/dist/context/react/ThreadContext.js +4 -30
  91. package/dist/context/react/ThreadContext.js.map +1 -1
  92. package/dist/context/react/ThreadContext.mjs +4 -22
  93. package/dist/context/react/ThreadContext.mjs.map +1 -1
  94. package/dist/context/react/ThreadListItemContext.d.ts +6 -24
  95. package/dist/context/react/ThreadListItemContext.d.ts.map +1 -1
  96. package/dist/context/react/index.d.ts +5 -101
  97. package/dist/context/react/index.d.ts.map +1 -1
  98. package/dist/context/react/index.js +0 -38
  99. package/dist/context/react/index.js.map +1 -1
  100. package/dist/context/react/index.mjs +5 -49
  101. package/dist/context/react/index.mjs.map +1 -1
  102. package/dist/index.d.ts +0 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +0 -2
  105. package/dist/index.js.map +1 -1
  106. package/dist/index.mjs +0 -1
  107. package/dist/index.mjs.map +1 -1
  108. package/dist/internal.d.ts +1 -0
  109. package/dist/internal.d.ts.map +1 -1
  110. package/dist/internal.js +3 -0
  111. package/dist/internal.js.map +1 -1
  112. package/dist/internal.mjs +2 -0
  113. package/dist/internal.mjs.map +1 -1
  114. package/dist/model-config/useAssistantToolUI.d.ts.map +1 -1
  115. package/dist/model-config/useAssistantToolUI.js.map +1 -1
  116. package/dist/model-config/useAssistantToolUI.mjs.map +1 -1
  117. package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts +0 -3
  118. package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts.map +1 -1
  119. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +1 -1
  120. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +1 -1
  121. package/dist/primitive-hooks/contentPart/useContentPartImage.d.ts +0 -3
  122. package/dist/primitive-hooks/contentPart/useContentPartImage.d.ts.map +1 -1
  123. package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +1 -1
  124. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +1 -1
  125. package/dist/primitive-hooks/contentPart/useContentPartText.d.ts +0 -3
  126. package/dist/primitive-hooks/contentPart/useContentPartText.d.ts.map +1 -1
  127. package/dist/primitive-hooks/contentPart/useContentPartText.js.map +1 -1
  128. package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +1 -1
  129. package/dist/primitive-hooks/index.d.ts +0 -5
  130. package/dist/primitive-hooks/index.d.ts.map +1 -1
  131. package/dist/primitive-hooks/index.js +1 -11
  132. package/dist/primitive-hooks/index.js.map +1 -1
  133. package/dist/primitive-hooks/index.mjs +0 -5
  134. package/dist/primitive-hooks/index.mjs.map +1 -1
  135. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -5
  136. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  137. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  138. package/dist/primitives/actionBar/ActionBarCopy.mjs.map +1 -1
  139. package/dist/primitives/actionBar/ActionBarEdit.d.ts +0 -4
  140. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  141. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  142. package/dist/primitives/actionBar/ActionBarEdit.mjs.map +1 -1
  143. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +0 -4
  144. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  145. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  146. package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs.map +1 -1
  147. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +0 -4
  148. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  149. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  150. package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs.map +1 -1
  151. package/dist/primitives/actionBar/ActionBarReload.d.ts +0 -4
  152. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  153. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  154. package/dist/primitives/actionBar/ActionBarReload.mjs.map +1 -1
  155. package/dist/primitives/actionBar/ActionBarRoot.d.ts +0 -4
  156. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
  157. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  158. package/dist/primitives/actionBar/ActionBarRoot.mjs.map +1 -1
  159. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +0 -4
  160. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  161. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  162. package/dist/primitives/actionBar/ActionBarSpeak.mjs.map +1 -1
  163. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +0 -4
  164. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  165. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  166. package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs.map +1 -1
  167. package/dist/primitives/assistantModal/AssistantModalContent.d.ts +0 -4
  168. package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
  169. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  170. package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +1 -1
  171. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +0 -4
  172. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
  173. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  174. package/dist/primitives/assistantModal/AssistantModalRoot.mjs.map +1 -1
  175. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +0 -4
  176. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  177. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  178. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
  179. package/dist/primitives/branchPicker/BranchPickerCount.d.ts +0 -4
  180. package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
  181. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  182. package/dist/primitives/branchPicker/BranchPickerCount.mjs.map +1 -1
  183. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +0 -4
  184. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  185. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  186. package/dist/primitives/branchPicker/BranchPickerNext.mjs.map +1 -1
  187. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +0 -4
  188. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
  189. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  190. package/dist/primitives/branchPicker/BranchPickerNumber.mjs.map +1 -1
  191. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +0 -4
  192. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  193. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  194. package/dist/primitives/branchPicker/BranchPickerPrevious.mjs.map +1 -1
  195. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +0 -4
  196. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  197. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  198. package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
  199. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -5
  200. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  201. package/dist/primitives/composer/ComposerAddAttachment.js +2 -2
  202. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  203. package/dist/primitives/composer/ComposerAddAttachment.mjs +1 -1
  204. package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
  205. package/dist/primitives/composer/ComposerAttachments.d.ts +0 -4
  206. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  207. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  208. package/dist/primitives/composer/ComposerAttachments.mjs.map +1 -1
  209. package/dist/primitives/composer/ComposerCancel.d.ts +0 -4
  210. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  211. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  212. package/dist/primitives/composer/ComposerCancel.mjs.map +1 -1
  213. package/dist/primitives/composer/ComposerIf.d.ts +0 -4
  214. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -1
  215. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  216. package/dist/primitives/composer/ComposerIf.mjs.map +1 -1
  217. package/dist/primitives/composer/ComposerInput.d.ts +0 -4
  218. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  219. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  220. package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
  221. package/dist/primitives/composer/ComposerRoot.d.ts +0 -1
  222. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  223. package/dist/primitives/composer/ComposerRoot.js +2 -2
  224. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  225. package/dist/primitives/composer/ComposerRoot.mjs +1 -1
  226. package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
  227. package/dist/primitives/composer/ComposerSend.d.ts +1 -5
  228. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  229. package/dist/primitives/composer/ComposerSend.js +2 -2
  230. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  231. package/dist/primitives/composer/ComposerSend.mjs +1 -1
  232. package/dist/primitives/composer/ComposerSend.mjs.map +1 -1
  233. package/dist/primitives/contentPart/ContentPartDisplay.d.ts +0 -4
  234. package/dist/primitives/contentPart/ContentPartDisplay.d.ts.map +1 -1
  235. package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
  236. package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
  237. package/dist/primitives/contentPart/ContentPartImage.d.ts +0 -4
  238. package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -1
  239. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  240. package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
  241. package/dist/primitives/contentPart/ContentPartInProgress.d.ts +0 -4
  242. package/dist/primitives/contentPart/ContentPartInProgress.d.ts.map +1 -1
  243. package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
  244. package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +1 -1
  245. package/dist/primitives/contentPart/ContentPartText.d.ts +0 -4
  246. package/dist/primitives/contentPart/ContentPartText.d.ts.map +1 -1
  247. package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
  248. package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
  249. package/dist/primitives/index.d.ts +0 -7
  250. package/dist/primitives/index.d.ts.map +1 -1
  251. package/dist/primitives/index.js.map +1 -1
  252. package/dist/primitives/index.mjs.map +1 -1
  253. package/dist/primitives/message/MessageAttachments.d.ts +0 -4
  254. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  255. package/dist/primitives/message/MessageAttachments.js +2 -4
  256. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  257. package/dist/primitives/message/MessageAttachments.mjs +2 -4
  258. package/dist/primitives/message/MessageAttachments.mjs.map +1 -1
  259. package/dist/primitives/message/MessageContent.d.ts +0 -4
  260. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  261. package/dist/primitives/message/MessageContent.js +6 -6
  262. package/dist/primitives/message/MessageContent.js.map +1 -1
  263. package/dist/primitives/message/MessageContent.mjs +7 -7
  264. package/dist/primitives/message/MessageContent.mjs.map +1 -1
  265. package/dist/primitives/message/MessageIf.d.ts +0 -4
  266. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  267. package/dist/primitives/message/MessageIf.js.map +1 -1
  268. package/dist/primitives/message/MessageIf.mjs.map +1 -1
  269. package/dist/primitives/message/MessageRoot.d.ts +0 -4
  270. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  271. package/dist/primitives/message/MessageRoot.js.map +1 -1
  272. package/dist/primitives/message/MessageRoot.mjs.map +1 -1
  273. package/dist/primitives/message/index.d.ts +0 -1
  274. package/dist/primitives/message/index.d.ts.map +1 -1
  275. package/dist/primitives/message/index.js +0 -3
  276. package/dist/primitives/message/index.js.map +1 -1
  277. package/dist/primitives/message/index.mjs +0 -2
  278. package/dist/primitives/message/index.mjs.map +1 -1
  279. package/dist/primitives/thread/ThreadEmpty.d.ts +0 -4
  280. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
  281. package/dist/primitives/thread/ThreadEmpty.js +2 -2
  282. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  283. package/dist/primitives/thread/ThreadEmpty.mjs +1 -1
  284. package/dist/primitives/thread/ThreadEmpty.mjs.map +1 -1
  285. package/dist/primitives/thread/ThreadIf.d.ts +0 -4
  286. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
  287. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  288. package/dist/primitives/thread/ThreadIf.mjs.map +1 -1
  289. package/dist/primitives/thread/ThreadMessages.d.ts +0 -4
  290. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  291. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  292. package/dist/primitives/thread/ThreadMessages.mjs.map +1 -1
  293. package/dist/primitives/thread/ThreadRoot.d.ts +0 -4
  294. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  295. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  296. package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
  297. package/dist/primitives/thread/ThreadScrollToBottom.d.ts +0 -4
  298. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
  299. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  300. package/dist/primitives/thread/ThreadScrollToBottom.mjs.map +1 -1
  301. package/dist/primitives/thread/ThreadSuggestion.d.ts +0 -4
  302. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  303. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  304. package/dist/primitives/thread/ThreadSuggestion.mjs.map +1 -1
  305. package/dist/primitives/thread/ThreadViewport.d.ts +0 -4
  306. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  307. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  308. package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
  309. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  310. package/dist/primitives/threadListItem/ThreadListItemArchive.js +3 -2
  311. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  312. package/dist/primitives/threadListItem/ThreadListItemArchive.mjs +3 -2
  313. package/dist/primitives/threadListItem/ThreadListItemArchive.mjs.map +1 -1
  314. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +14 -0
  315. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
  316. package/dist/primitives/threadListItem/ThreadListItemRoot.js +47 -0
  317. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -0
  318. package/dist/primitives/threadListItem/ThreadListItemRoot.mjs +23 -0
  319. package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +1 -0
  320. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +8 -0
  321. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
  322. package/dist/primitives/{message/MessageInProgress.js → threadListItem/ThreadListItemTitle.js} +13 -10
  323. package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -0
  324. package/dist/primitives/threadListItem/ThreadListItemTitle.mjs +14 -0
  325. package/dist/primitives/threadListItem/ThreadListItemTitle.mjs.map +1 -0
  326. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +13 -0
  327. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
  328. package/dist/{runtimes/core/subscribeToMainThread.js → primitives/threadListItem/ThreadListItemTrigger.js} +17 -22
  329. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -0
  330. package/dist/primitives/threadListItem/ThreadListItemTrigger.mjs +21 -0
  331. package/dist/primitives/threadListItem/ThreadListItemTrigger.mjs.map +1 -0
  332. package/dist/primitives/threadListItem/index.d.ts +3 -0
  333. package/dist/primitives/threadListItem/index.d.ts.map +1 -1
  334. package/dist/primitives/threadListItem/index.js +9 -0
  335. package/dist/primitives/threadListItem/index.js.map +1 -1
  336. package/dist/primitives/threadListItem/index.mjs +6 -0
  337. package/dist/primitives/threadListItem/index.mjs.map +1 -1
  338. package/dist/runtimes/attachment/AttachmentAdapter.d.ts +3 -7
  339. package/dist/runtimes/attachment/AttachmentAdapter.d.ts.map +1 -1
  340. package/dist/runtimes/attachment/AttachmentAdapter.js.map +1 -1
  341. package/dist/runtimes/attachment/CompositeAttachmentAdapter.d.ts +2 -6
  342. package/dist/runtimes/attachment/CompositeAttachmentAdapter.d.ts.map +1 -1
  343. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js +1 -2
  344. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js.map +1 -1
  345. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs +1 -2
  346. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs.map +1 -1
  347. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  348. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +0 -6
  349. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  350. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +0 -6
  351. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
  352. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +5 -4
  353. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  354. package/dist/runtimes/core/BaseThreadRuntimeCore.js +8 -4
  355. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  356. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +8 -4
  357. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  358. package/dist/runtimes/core/ComposerRuntimeCore.d.ts +0 -3
  359. package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
  360. package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
  361. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +7 -10
  362. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
  363. package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -1
  364. package/dist/runtimes/core/ThreadRuntimeCore.d.ts +14 -1
  365. package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
  366. package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
  367. package/dist/runtimes/core/index.d.ts +1 -2
  368. package/dist/runtimes/core/index.d.ts.map +1 -1
  369. package/dist/runtimes/core/index.js +0 -12
  370. package/dist/runtimes/core/index.js.map +1 -1
  371. package/dist/runtimes/core/index.mjs +0 -5
  372. package/dist/runtimes/core/index.mjs.map +1 -1
  373. package/dist/runtimes/edge/converters/toCoreMessages.d.ts +1 -1
  374. package/dist/runtimes/edge/converters/toCoreMessages.d.ts.map +1 -1
  375. package/dist/runtimes/edge/converters/toCoreMessages.js.map +1 -1
  376. package/dist/runtimes/edge/converters/toCoreMessages.mjs.map +1 -1
  377. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts +0 -4
  378. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
  379. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +0 -2
  380. package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
  381. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +0 -2
  382. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
  383. package/dist/runtimes/edge/streams/runResultStream.js +0 -2
  384. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  385. package/dist/runtimes/edge/streams/runResultStream.mjs +0 -2
  386. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  387. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +3 -16
  388. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  389. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  390. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
  391. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +0 -3
  392. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  393. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +0 -3
  394. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  395. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +9 -11
  396. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  397. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +33 -8
  398. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  399. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs +33 -8
  400. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -1
  401. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +0 -1
  402. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  403. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +12 -6
  404. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  405. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +12 -6
  406. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  407. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  408. package/dist/runtimes/external-store/ThreadMessageLike.js +2 -0
  409. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  410. package/dist/runtimes/external-store/ThreadMessageLike.mjs +2 -0
  411. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  412. package/dist/runtimes/local/ChatModelAdapter.d.ts +0 -8
  413. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  414. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  415. package/dist/runtimes/local/LocalRuntimeOptions.d.ts +1 -6
  416. package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
  417. package/dist/runtimes/local/LocalRuntimeOptions.js +1 -2
  418. package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
  419. package/dist/runtimes/local/LocalRuntimeOptions.mjs +1 -2
  420. package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
  421. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +16 -20
  422. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
  423. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +112 -72
  424. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  425. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +112 -72
  426. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -1
  427. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.d.ts +19 -0
  428. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.d.ts.map +1 -0
  429. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.js +87 -0
  430. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.js.map +1 -0
  431. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.mjs +62 -0
  432. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.mjs.map +1 -0
  433. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +1 -1
  434. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  435. package/dist/runtimes/local/LocalThreadRuntimeCore.js +15 -11
  436. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  437. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +15 -11
  438. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  439. package/dist/styles/index.css.map +1 -1
  440. package/dist/types/AssistantTypes.d.ts +1 -18
  441. package/dist/types/AssistantTypes.d.ts.map +1 -1
  442. package/dist/types/AssistantTypes.js.map +1 -1
  443. package/dist/types/AttachmentTypes.d.ts +1 -1
  444. package/dist/types/AttachmentTypes.d.ts.map +1 -1
  445. package/dist/types/AttachmentTypes.js.map +1 -1
  446. package/dist/types/ContentPartComponentTypes.d.ts +4 -28
  447. package/dist/types/ContentPartComponentTypes.d.ts.map +1 -1
  448. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  449. package/dist/ui/assistant-message.d.ts +1 -10
  450. package/dist/ui/assistant-message.d.ts.map +1 -1
  451. package/dist/ui/assistant-message.js.map +1 -1
  452. package/dist/ui/assistant-message.mjs.map +1 -1
  453. package/dist/ui/composer.d.ts +1 -25
  454. package/dist/ui/composer.d.ts.map +1 -1
  455. package/dist/ui/composer.js.map +1 -1
  456. package/dist/ui/composer.mjs.map +1 -1
  457. package/dist/ui/index.d.ts +6 -14
  458. package/dist/ui/index.d.ts.map +1 -1
  459. package/dist/ui/index.js +0 -4
  460. package/dist/ui/index.js.map +1 -1
  461. package/dist/ui/index.mjs +14 -24
  462. package/dist/ui/index.mjs.map +1 -1
  463. package/dist/ui/thread-welcome.d.ts +5 -17
  464. package/dist/ui/thread-welcome.d.ts.map +1 -1
  465. package/dist/ui/thread-welcome.js.map +1 -1
  466. package/dist/ui/thread-welcome.mjs.map +1 -1
  467. package/dist/ui/thread.d.ts +1 -19
  468. package/dist/ui/thread.d.ts.map +1 -1
  469. package/dist/ui/thread.js.map +1 -1
  470. package/dist/ui/thread.mjs.map +1 -1
  471. package/dist/ui/user-message.d.ts +1 -18
  472. package/dist/ui/user-message.d.ts.map +1 -1
  473. package/dist/ui/user-message.js.map +1 -1
  474. package/dist/ui/user-message.mjs.map +1 -1
  475. package/dist/utils/smooth/SmoothContext.js +2 -2
  476. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  477. package/dist/utils/smooth/SmoothContext.mjs +3 -3
  478. package/dist/utils/smooth/SmoothContext.mjs.map +1 -1
  479. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  480. package/dist/utils/smooth/useSmooth.js +0 -1
  481. package/dist/utils/smooth/useSmooth.js.map +1 -1
  482. package/dist/utils/smooth/useSmooth.mjs +0 -1
  483. package/dist/utils/smooth/useSmooth.mjs.map +1 -1
  484. package/package.json +5 -5
  485. package/src/api/AssistantRuntime.ts +1 -23
  486. package/src/api/AttachmentRuntime.ts +0 -12
  487. package/src/api/ComposerRuntime.ts +11 -207
  488. package/src/api/ContentPartRuntime.ts +0 -4
  489. package/src/api/MessageRuntime.ts +7 -11
  490. package/src/api/ThreadListItemRuntime.ts +16 -8
  491. package/src/api/ThreadListRuntime.ts +34 -53
  492. package/src/api/ThreadRuntime.ts +11 -203
  493. package/src/context/providers/AssistantRuntimeProvider.tsx +0 -1
  494. package/src/context/providers/TextContentPartProvider.tsx +0 -2
  495. package/src/context/providers/ThreadRuntimeProvider.tsx +1 -17
  496. package/src/context/react/AssistantContext.ts +0 -25
  497. package/src/context/react/ComposerContext.ts +1 -1
  498. package/src/context/react/ContentPartContext.ts +1 -1
  499. package/src/context/react/MessageContext.ts +2 -2
  500. package/src/context/react/ThreadContext.ts +5 -42
  501. package/src/context/react/index.ts +2 -125
  502. package/src/index.ts +0 -1
  503. package/src/internal.ts +1 -0
  504. package/src/model-config/useAssistantToolUI.tsx +0 -1
  505. package/src/primitive-hooks/contentPart/useContentPartDisplay.tsx +1 -1
  506. package/src/primitive-hooks/contentPart/useContentPartImage.tsx +1 -2
  507. package/src/primitive-hooks/contentPart/useContentPartText.tsx +1 -1
  508. package/src/primitive-hooks/index.ts +0 -5
  509. package/src/primitives/actionBar/ActionBarCopy.tsx +0 -5
  510. package/src/primitives/actionBar/ActionBarEdit.tsx +0 -5
  511. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +0 -6
  512. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +0 -6
  513. package/src/primitives/actionBar/ActionBarReload.tsx +0 -5
  514. package/src/primitives/actionBar/ActionBarRoot.tsx +0 -5
  515. package/src/primitives/actionBar/ActionBarSpeak.tsx +0 -5
  516. package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +0 -6
  517. package/src/primitives/assistantModal/AssistantModalContent.tsx +1 -7
  518. package/src/primitives/assistantModal/AssistantModalRoot.tsx +0 -6
  519. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +0 -6
  520. package/src/primitives/branchPicker/BranchPickerCount.tsx +0 -5
  521. package/src/primitives/branchPicker/BranchPickerNext.tsx +0 -6
  522. package/src/primitives/branchPicker/BranchPickerNumber.tsx +0 -5
  523. package/src/primitives/branchPicker/BranchPickerPrevious.tsx +1 -6
  524. package/src/primitives/branchPicker/BranchPickerRoot.tsx +0 -5
  525. package/src/primitives/composer/ComposerAddAttachment.tsx +2 -7
  526. package/src/primitives/composer/ComposerAttachments.tsx +0 -6
  527. package/src/primitives/composer/ComposerCancel.tsx +0 -5
  528. package/src/primitives/composer/ComposerIf.tsx +0 -5
  529. package/src/primitives/composer/ComposerInput.tsx +0 -5
  530. package/src/primitives/composer/ComposerRoot.tsx +1 -3
  531. package/src/primitives/composer/ComposerSend.tsx +2 -7
  532. package/src/primitives/contentPart/ContentPartDisplay.tsx +0 -6
  533. package/src/primitives/contentPart/ContentPartImage.tsx +0 -5
  534. package/src/primitives/contentPart/ContentPartInProgress.tsx +0 -6
  535. package/src/primitives/contentPart/ContentPartText.tsx +0 -5
  536. package/src/primitives/index.ts +0 -8
  537. package/src/primitives/message/MessageAttachments.tsx +2 -10
  538. package/src/primitives/message/MessageContent.tsx +7 -15
  539. package/src/primitives/message/MessageIf.tsx +0 -5
  540. package/src/primitives/message/MessageRoot.tsx +0 -5
  541. package/src/primitives/message/index.ts +0 -1
  542. package/src/primitives/thread/ThreadEmpty.tsx +1 -6
  543. package/src/primitives/thread/ThreadIf.tsx +0 -5
  544. package/src/primitives/thread/ThreadMessages.tsx +0 -5
  545. package/src/primitives/thread/ThreadRoot.tsx +0 -5
  546. package/src/primitives/thread/ThreadScrollToBottom.tsx +0 -6
  547. package/src/primitives/thread/ThreadSuggestion.tsx +0 -5
  548. package/src/primitives/thread/ThreadViewport.tsx +0 -5
  549. package/src/primitives/threadListItem/ThreadListItemArchive.ts +3 -2
  550. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +29 -0
  551. package/src/primitives/threadListItem/ThreadListItemTitle.tsx +19 -0
  552. package/src/primitives/threadListItem/ThreadListItemTrigger.ts +25 -0
  553. package/src/primitives/threadListItem/index.ts +4 -1
  554. package/src/runtimes/attachment/AttachmentAdapter.ts +2 -12
  555. package/src/runtimes/attachment/CompositeAttachmentAdapter.ts +1 -1
  556. package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +0 -8
  557. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +11 -5
  558. package/src/runtimes/core/ComposerRuntimeCore.tsx +0 -3
  559. package/src/runtimes/core/ThreadListRuntimeCore.tsx +7 -11
  560. package/src/runtimes/core/ThreadRuntimeCore.tsx +18 -1
  561. package/src/runtimes/core/index.ts +1 -2
  562. package/src/runtimes/edge/converters/toCoreMessages.ts +1 -1
  563. package/src/runtimes/edge/createEdgeRuntimeAPI.ts +0 -6
  564. package/src/runtimes/edge/streams/runResultStream.ts +0 -2
  565. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +3 -17
  566. package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +0 -3
  567. package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +47 -10
  568. package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +12 -6
  569. package/src/runtimes/external-store/ThreadMessageLike.tsx +4 -3
  570. package/src/runtimes/local/ChatModelAdapter.tsx +0 -9
  571. package/src/runtimes/local/LocalRuntimeOptions.tsx +1 -7
  572. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +140 -96
  573. package/src/runtimes/local/LocalThreadMetadataRuntimeCore.tsx +79 -0
  574. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +16 -11
  575. package/src/types/AssistantTypes.ts +1 -20
  576. package/src/types/AttachmentTypes.ts +1 -2
  577. package/src/types/ContentPartComponentTypes.tsx +4 -31
  578. package/src/ui/assistant-message.tsx +0 -5
  579. package/src/ui/composer.tsx +0 -5
  580. package/src/ui/index.ts +5 -23
  581. package/src/ui/thread-welcome.tsx +6 -9
  582. package/src/ui/thread.tsx +0 -5
  583. package/src/ui/user-message.tsx +2 -12
  584. package/src/utils/smooth/SmoothContext.tsx +3 -3
  585. package/src/utils/smooth/useSmooth.tsx +0 -1
  586. package/dist/hooks/index.d.ts +0 -3
  587. package/dist/hooks/index.d.ts.map +0 -1
  588. package/dist/hooks/index.js +0 -34
  589. package/dist/hooks/index.js.map +0 -1
  590. package/dist/hooks/index.mjs +0 -8
  591. package/dist/hooks/index.mjs.map +0 -1
  592. package/dist/hooks/useAppendMessage.d.ts +0 -6
  593. package/dist/hooks/useAppendMessage.d.ts.map +0 -1
  594. package/dist/hooks/useAppendMessage.js +0 -42
  595. package/dist/hooks/useAppendMessage.js.map +0 -1
  596. package/dist/hooks/useAppendMessage.mjs +0 -17
  597. package/dist/hooks/useAppendMessage.mjs.map +0 -1
  598. package/dist/hooks/useSwitchToNewThread.d.ts +0 -5
  599. package/dist/hooks/useSwitchToNewThread.d.ts.map +0 -1
  600. package/dist/hooks/useSwitchToNewThread.js +0 -39
  601. package/dist/hooks/useSwitchToNewThread.js.map +0 -1
  602. package/dist/hooks/useSwitchToNewThread.mjs +0 -14
  603. package/dist/hooks/useSwitchToNewThread.mjs.map +0 -1
  604. package/dist/primitive-hooks/actionBar/index.d.ts +0 -34
  605. package/dist/primitive-hooks/actionBar/index.d.ts.map +0 -1
  606. package/dist/primitive-hooks/actionBar/index.js +0 -49
  607. package/dist/primitive-hooks/actionBar/index.js.map +0 -1
  608. package/dist/primitive-hooks/actionBar/index.mjs +0 -20
  609. package/dist/primitive-hooks/actionBar/index.mjs.map +0 -1
  610. package/dist/primitive-hooks/branchPicker/index.d.ts +0 -17
  611. package/dist/primitive-hooks/branchPicker/index.d.ts.map +0 -1
  612. package/dist/primitive-hooks/branchPicker/index.js +0 -40
  613. package/dist/primitive-hooks/branchPicker/index.js.map +0 -1
  614. package/dist/primitive-hooks/branchPicker/index.mjs +0 -12
  615. package/dist/primitive-hooks/branchPicker/index.mjs.map +0 -1
  616. package/dist/primitive-hooks/composer/index.d.ts +0 -17
  617. package/dist/primitive-hooks/composer/index.d.ts.map +0 -1
  618. package/dist/primitive-hooks/composer/index.js +0 -40
  619. package/dist/primitive-hooks/composer/index.js.map +0 -1
  620. package/dist/primitive-hooks/composer/index.mjs +0 -12
  621. package/dist/primitive-hooks/composer/index.mjs.map +0 -1
  622. package/dist/primitive-hooks/message/index.d.ts +0 -5
  623. package/dist/primitive-hooks/message/index.d.ts.map +0 -1
  624. package/dist/primitive-hooks/message/index.js +0 -31
  625. package/dist/primitive-hooks/message/index.js.map +0 -1
  626. package/dist/primitive-hooks/message/index.mjs +0 -6
  627. package/dist/primitive-hooks/message/index.mjs.map +0 -1
  628. package/dist/primitive-hooks/thread/index.d.ts +0 -17
  629. package/dist/primitive-hooks/thread/index.d.ts.map +0 -1
  630. package/dist/primitive-hooks/thread/index.js +0 -40
  631. package/dist/primitive-hooks/thread/index.js.map +0 -1
  632. package/dist/primitive-hooks/thread/index.mjs +0 -12
  633. package/dist/primitive-hooks/thread/index.mjs.map +0 -1
  634. package/dist/primitives/actionBar/types.d.ts +0 -9
  635. package/dist/primitives/actionBar/types.d.ts.map +0 -1
  636. package/dist/primitives/actionBar/types.js +0 -19
  637. package/dist/primitives/actionBar/types.js.map +0 -1
  638. package/dist/primitives/actionBar/types.mjs +0 -1
  639. package/dist/primitives/actionBar/types.mjs.map +0 -1
  640. package/dist/primitives/assistantModal/types.d.ts +0 -4
  641. package/dist/primitives/assistantModal/types.d.ts.map +0 -1
  642. package/dist/primitives/assistantModal/types.js +0 -19
  643. package/dist/primitives/assistantModal/types.js.map +0 -1
  644. package/dist/primitives/assistantModal/types.mjs +0 -1
  645. package/dist/primitives/assistantModal/types.mjs.map +0 -1
  646. package/dist/primitives/attachment/types.d.ts +0 -1
  647. package/dist/primitives/attachment/types.d.ts.map +0 -1
  648. package/dist/primitives/attachment/types.js +0 -2
  649. package/dist/primitives/attachment/types.js.map +0 -1
  650. package/dist/primitives/attachment/types.mjs +0 -1
  651. package/dist/primitives/attachment/types.mjs.map +0 -1
  652. package/dist/primitives/branchPicker/types.d.ts +0 -6
  653. package/dist/primitives/branchPicker/types.d.ts.map +0 -1
  654. package/dist/primitives/branchPicker/types.js +0 -19
  655. package/dist/primitives/branchPicker/types.js.map +0 -1
  656. package/dist/primitives/branchPicker/types.mjs +0 -1
  657. package/dist/primitives/branchPicker/types.mjs.map +0 -1
  658. package/dist/primitives/composer/types.d.ts +0 -6
  659. package/dist/primitives/composer/types.d.ts.map +0 -1
  660. package/dist/primitives/composer/types.js +0 -19
  661. package/dist/primitives/composer/types.js.map +0 -1
  662. package/dist/primitives/composer/types.mjs +0 -1
  663. package/dist/primitives/composer/types.mjs.map +0 -1
  664. package/dist/primitives/contentPart/types.d.ts +0 -5
  665. package/dist/primitives/contentPart/types.d.ts.map +0 -1
  666. package/dist/primitives/contentPart/types.js +0 -19
  667. package/dist/primitives/contentPart/types.js.map +0 -1
  668. package/dist/primitives/contentPart/types.mjs +0 -1
  669. package/dist/primitives/contentPart/types.mjs.map +0 -1
  670. package/dist/primitives/message/MessageInProgress.d.ts +0 -13
  671. package/dist/primitives/message/MessageInProgress.d.ts.map +0 -1
  672. package/dist/primitives/message/MessageInProgress.js.map +0 -1
  673. package/dist/primitives/message/MessageInProgress.mjs +0 -11
  674. package/dist/primitives/message/MessageInProgress.mjs.map +0 -1
  675. package/dist/primitives/message/types.d.ts +0 -5
  676. package/dist/primitives/message/types.d.ts.map +0 -1
  677. package/dist/primitives/message/types.js +0 -19
  678. package/dist/primitives/message/types.js.map +0 -1
  679. package/dist/primitives/message/types.mjs +0 -1
  680. package/dist/primitives/message/types.mjs.map +0 -1
  681. package/dist/primitives/thread/types.d.ts +0 -8
  682. package/dist/primitives/thread/types.d.ts.map +0 -1
  683. package/dist/primitives/thread/types.js +0 -19
  684. package/dist/primitives/thread/types.js.map +0 -1
  685. package/dist/primitives/thread/types.mjs +0 -1
  686. package/dist/primitives/thread/types.mjs.map +0 -1
  687. package/dist/runtimes/core/subscribeToMainThread.d.ts +0 -6
  688. package/dist/runtimes/core/subscribeToMainThread.d.ts.map +0 -1
  689. package/dist/runtimes/core/subscribeToMainThread.js.map +0 -1
  690. package/dist/runtimes/core/subscribeToMainThread.mjs +0 -23
  691. package/dist/runtimes/core/subscribeToMainThread.mjs.map +0 -1
  692. package/src/hooks/index.ts +0 -2
  693. package/src/hooks/useAppendMessage.tsx +0 -19
  694. package/src/hooks/useSwitchToNewThread.tsx +0 -14
  695. package/src/primitive-hooks/actionBar/index.ts +0 -39
  696. package/src/primitive-hooks/branchPicker/index.ts +0 -18
  697. package/src/primitive-hooks/composer/index.ts +0 -17
  698. package/src/primitive-hooks/message/index.ts +0 -4
  699. package/src/primitive-hooks/thread/index.ts +0 -16
  700. package/src/primitives/actionBar/types.ts +0 -8
  701. package/src/primitives/assistantModal/types.ts +0 -3
  702. package/src/primitives/attachment/types.ts +0 -0
  703. package/src/primitives/branchPicker/types.ts +0 -5
  704. package/src/primitives/composer/types.ts +0 -5
  705. package/src/primitives/contentPart/types.ts +0 -4
  706. package/src/primitives/message/MessageInProgress.tsx +0 -22
  707. package/src/primitives/message/types.ts +0 -4
  708. package/src/primitives/thread/types.ts +0 -7
  709. package/src/runtimes/core/subscribeToMainThread.ts +0 -30
@@ -5,9 +5,6 @@ import { ExternalStoreThreadRuntimeCore } from "./ExternalStoreThreadRuntimeCore
5
5
 
6
6
  const getThreadListAdapter = (store: ExternalStoreAdapter<any>) => {
7
7
  return {
8
- threadId: store.threadId,
9
- onSwitchToNewThread: store.onSwitchToNewThread,
10
- onSwitchToThread: store.onSwitchToThread,
11
8
  ...store.adapters?.threadList,
12
9
  };
13
10
  };
@@ -13,12 +13,19 @@ const DEFAULT_THREAD_ID = "DEFAULT_THREAD_ID";
13
13
  export class ExternalStoreThreadListRuntimeCore
14
14
  implements ThreadListRuntimeCore
15
15
  {
16
+ private _threads: readonly string[] = [];
17
+ private _archivedThreads: readonly string[] = [];
18
+
19
+ public get newThread() {
20
+ return undefined;
21
+ }
22
+
16
23
  public get threads() {
17
- return this.adapter.threads ?? EMPTY_ARRAY;
24
+ return this._threads;
18
25
  }
19
26
 
20
27
  public get archivedThreads() {
21
- return this.adapter.archivedThreads ?? EMPTY_ARRAY;
28
+ return this._archivedThreads;
22
29
  }
23
30
 
24
31
  private _mainThread: ExternalStoreThreadRuntimeCore;
@@ -35,10 +42,10 @@ export class ExternalStoreThreadListRuntimeCore
35
42
  }
36
43
 
37
44
  public getThreadMetadataById(threadId: string) {
38
- for (const thread of this.threads) {
45
+ for (const thread of this.adapter.threads ?? []) {
39
46
  if (thread.threadId === threadId) return thread;
40
47
  }
41
- for (const thread of this.archivedThreads) {
48
+ for (const thread of this.adapter.archivedThreads ?? []) {
42
49
  if (thread.threadId === threadId) return thread;
43
50
  }
44
51
  return undefined;
@@ -52,25 +59,55 @@ export class ExternalStoreThreadListRuntimeCore
52
59
  const newThreads = adapter.threads ?? EMPTY_ARRAY;
53
60
  const newArchivedThreads = adapter.archivedThreads ?? EMPTY_ARRAY;
54
61
 
62
+ const previousThreadId = previousAdapter.threadId ?? DEFAULT_THREAD_ID;
63
+ const previousThreads = previousAdapter.threads ?? EMPTY_ARRAY;
64
+ const previousArchivedThreads =
65
+ previousAdapter.archivedThreads ?? EMPTY_ARRAY;
66
+
55
67
  if (
56
- previousAdapter.threadId === newThreadId &&
57
- previousAdapter.threads === newThreads &&
58
- previousAdapter.archivedThreads === newArchivedThreads
68
+ previousThreadId === newThreadId &&
69
+ previousThreads === newThreads &&
70
+ previousArchivedThreads === newArchivedThreads
59
71
  ) {
60
72
  return;
61
73
  }
62
74
 
75
+ if (previousAdapter.threads !== newThreads) {
76
+ this._threads =
77
+ this.adapter.threads?.map((t) => t.threadId) ?? EMPTY_ARRAY;
78
+ }
79
+
80
+ if (previousAdapter.archivedThreads !== newArchivedThreads) {
81
+ this._archivedThreads =
82
+ this.adapter.archivedThreads?.map((t) => t.threadId) ?? EMPTY_ARRAY;
83
+ }
84
+
63
85
  if (previousAdapter.threadId !== newThreadId) {
64
86
  this._mainThread._notifyEventSubscribers("switched-away");
65
87
  this._mainThread = this.threadFactory(newThreadId);
66
88
  this._mainThread._notifyEventSubscribers("switched-to");
67
89
  }
68
90
 
91
+ const previousMainState = this._mainThread.metadata.state;
92
+ const mainState = this.archivedThreads.includes(
93
+ this._mainThread.metadata.threadId,
94
+ )
95
+ ? "archived"
96
+ : "regular";
97
+
98
+ if (previousMainState !== mainState) {
99
+ if (mainState === "archived") {
100
+ this._mainThread.metadata.archive();
101
+ } else {
102
+ this._mainThread.metadata.unarchive();
103
+ }
104
+ }
105
+
69
106
  this._notifySubscribers();
70
107
  }
71
108
 
72
- public switchToThread(threadId: string): void {
73
- if (this._mainThread?.threadId === threadId) return;
109
+ public async switchToThread(threadId: string): Promise<void> {
110
+ if (this._mainThread?.metadata.threadId === threadId) return;
74
111
  const onSwitchToThread = this.adapter.onSwitchToThread;
75
112
  if (!onSwitchToThread)
76
113
  throw new Error(
@@ -79,7 +116,7 @@ export class ExternalStoreThreadListRuntimeCore
79
116
  onSwitchToThread(threadId);
80
117
  }
81
118
 
82
- public switchToNewThread(): void {
119
+ public async switchToNewThread(): Promise<void> {
83
120
  const onSwitchToNewThread = this.adapter.onSwitchToNewThread;
84
121
  if (!onSwitchToNewThread)
85
122
  throw new Error(
@@ -18,6 +18,7 @@ import {
18
18
  ThreadRuntimeCore,
19
19
  } from "../core/ThreadRuntimeCore";
20
20
  import { BaseThreadRuntimeCore } from "../core/BaseThreadRuntimeCore";
21
+ import { LocalThreadMetadataRuntimeCore } from "../local/LocalThreadMetadataRuntimeCore";
21
22
 
22
23
  const EMPTY_ARRAY = Object.freeze([]);
23
24
 
@@ -49,7 +50,6 @@ export class ExternalStoreThreadRuntimeCore
49
50
  return this._capabilities;
50
51
  }
51
52
 
52
- public threadId!: string;
53
53
  private _messages!: ThreadMessage[];
54
54
  public isDisabled!: boolean;
55
55
 
@@ -80,8 +80,9 @@ export class ExternalStoreThreadRuntimeCore
80
80
  threadId: string,
81
81
  store: ExternalStoreAdapter<any>,
82
82
  ) {
83
- super(configProvider);
84
- this.threadId = threadId;
83
+ const metadata = new LocalThreadMetadataRuntimeCore(threadId);
84
+ metadata.create();
85
+ super(configProvider, metadata);
85
86
  this.setStore(store);
86
87
  }
87
88
 
@@ -239,8 +240,13 @@ export class ExternalStoreThreadRuntimeCore
239
240
  }
240
241
 
241
242
  private updateMessages = (messages: ThreadMessage[]) => {
242
- this._store.setMessages?.(
243
- messages.flatMap(getExternalStoreMessage).filter((m) => m != null),
244
- );
243
+ const hasConverter = this._store.convertMessage !== undefined;
244
+ if (hasConverter) {
245
+ this._store.setMessages?.(
246
+ messages.flatMap(getExternalStoreMessage).filter((m) => m != null),
247
+ );
248
+ } else {
249
+ this._store.setMessages?.(messages);
250
+ }
245
251
  };
246
252
  }
@@ -33,6 +33,7 @@ export type ThreadMessageLike = {
33
33
  createdAt?: Date | undefined;
34
34
  status?: MessageStatus | undefined;
35
35
  attachments?: CompleteAttachment[] | undefined;
36
+ // TODO metadata
36
37
  };
37
38
 
38
39
  export const fromThreadMessageLike = (
@@ -53,9 +54,9 @@ export const fromThreadMessageLike = (
53
54
 
54
55
  if (role !== "user" && attachments)
55
56
  throw new Error("Attachments are only supported for user messages");
56
- // TODO add in 0.6
57
- // if (role !== "assistant" && status)
58
- // throw new Error("Status is only supported for assistant messages");
57
+
58
+ if (role !== "assistant" && status)
59
+ throw new Error("Status is only supported for assistant messages");
59
60
 
60
61
  switch (role) {
61
62
  case "assistant":
@@ -17,10 +17,6 @@ export type ChatModelRunResult = {
17
17
  content?: ThreadAssistantContentPart[];
18
18
  status?: MessageStatus;
19
19
  metadata?: {
20
- /**
21
- * @internal Use `steps` instead. This field will be removed in v0.6.
22
- */
23
- roundtrips?: ThreadStep[];
24
20
  steps?: ThreadStep[];
25
21
  custom?: Record<string, unknown>;
26
22
  };
@@ -32,11 +28,6 @@ export type ChatModelRunOptions = {
32
28
  config: ModelConfig;
33
29
 
34
30
  unstable_assistantMessageId?: string;
35
-
36
- /**
37
- * @deprecated Declare the run function as an AsyncGenerator instead. This method will be removed in v0.6
38
- */
39
- onUpdate: (result: ChatModelRunUpdate) => void;
40
31
  };
41
32
 
42
33
  export type ChatModelAdapter = {
@@ -6,10 +6,6 @@ import { ChatModelAdapter } from "./ChatModelAdapter";
6
6
 
7
7
  export type LocalRuntimeOptionsBase = {
8
8
  maxSteps?: number | undefined;
9
- /**
10
- * @deprecated Use `maxSteps` (which is `maxToolRoundtrips` + 1; if you set `maxToolRoundtrips` to 2, set `maxSteps` to 3) instead. This field will be removed in v0.6.
11
- */
12
- maxToolRoundtrips?: number | undefined;
13
9
  adapters: {
14
10
  chatModel: ChatModelAdapter;
15
11
  attachments?: AttachmentAdapter | undefined;
@@ -27,13 +23,11 @@ export type LocalRuntimeOptions = Omit<LocalRuntimeOptionsBase, "adapters"> & {
27
23
  export const splitLocalRuntimeOptions = <T extends LocalRuntimeOptions>(
28
24
  options: T,
29
25
  ) => {
30
- const { initialMessages, maxToolRoundtrips, maxSteps, adapters, ...rest } =
31
- options;
26
+ const { initialMessages, maxSteps, adapters, ...rest } = options;
32
27
 
33
28
  return {
34
29
  localRuntimeOptions: {
35
30
  initialMessages,
36
- maxToolRoundtrips,
37
31
  maxSteps,
38
32
  adapters,
39
33
  },
@@ -1,16 +1,18 @@
1
1
  import type { Unsubscribe } from "../../types";
2
- import {
3
- ThreadListMetadata,
4
- ThreadListRuntimeCore,
5
- } from "../core/ThreadListRuntimeCore";
2
+ import { ThreadListRuntimeCore } from "../core/ThreadListRuntimeCore";
6
3
  import { ExportedMessageRepository } from "../utils/MessageRepository";
7
4
  import { generateId } from "../../utils/idUtils";
8
5
  import { LocalThreadRuntimeCore } from "./LocalThreadRuntimeCore";
6
+ import { ThreadMetadata } from "../core/ThreadRuntimeCore";
7
+
8
+ export type ThreadListAdapter = {
9
+ subscribe(callback: () => void): Unsubscribe;
10
+ };
9
11
 
10
12
  export type LocalThreadData = {
11
- data: ExportedMessageRepository;
12
- metadata: ThreadListMetadata;
13
- isArchived: boolean;
13
+ runtime: LocalThreadRuntimeCore;
14
+ lastState: ThreadMetadata["state"];
15
+ dispose: Unsubscribe;
14
16
  };
15
17
 
16
18
  export type LocalThreadFactory = (
@@ -20,9 +22,13 @@ export type LocalThreadFactory = (
20
22
 
21
23
  export class LocalThreadListRuntimeCore implements ThreadListRuntimeCore {
22
24
  private _threadData = new Map<string, LocalThreadData>();
25
+ private _threads: readonly string[] = [];
26
+ private _archivedThreads: readonly string[] = [];
27
+ private _newThread: string | undefined;
23
28
 
24
- private _threads: readonly ThreadListMetadata[] = [];
25
- private _archivedThreads: readonly ThreadListMetadata[] = [];
29
+ public get newThread() {
30
+ return this._newThread;
31
+ }
26
32
 
27
33
  public get threads() {
28
34
  return this._threads;
@@ -32,134 +38,172 @@ export class LocalThreadListRuntimeCore implements ThreadListRuntimeCore {
32
38
  return this._archivedThreads;
33
39
  }
34
40
 
35
- private _mainThread: LocalThreadRuntimeCore;
41
+ private _mainThread!: LocalThreadRuntimeCore;
36
42
 
37
43
  public get mainThread(): LocalThreadRuntimeCore {
38
44
  return this._mainThread;
39
45
  }
40
46
 
41
47
  constructor(private _threadFactory: LocalThreadFactory) {
42
- const threadId = generateId();
43
- this._threadData.set(threadId, {
44
- data: { messages: [] },
45
- metadata: { threadId },
46
- isArchived: false,
47
- });
48
- this._threads = [{ threadId }];
49
- this._mainThread = this._threadFactory(threadId, { messages: [] });
48
+ this.switchToNewThread();
50
49
  }
51
50
 
52
51
  public getThreadMetadataById(threadId: string) {
53
- return this._threadData.get(threadId)?.metadata;
52
+ return this._threadData.get(threadId)?.runtime.metadata;
54
53
  }
55
54
 
56
- public switchToThread(threadId: string): void {
57
- if (this._mainThread.threadId === threadId) return;
55
+ public switchToThread(threadId: string): Promise<void> {
56
+ if (this._mainThread?.metadata.threadId === threadId)
57
+ return Promise.resolve();
58
58
 
59
59
  const data = this._threadData.get(threadId);
60
60
  if (!data) throw new Error("Thread not found");
61
61
 
62
- const thread = this._threadFactory(threadId, data.data);
63
- this._performThreadSwitch(thread);
64
- }
62
+ if (data.runtime.metadata.state === "archived") this.unarchive(threadId);
65
63
 
66
- public switchToNewThread(): void {
67
- const threadId = generateId();
68
- this._threadData.set(threadId, {
69
- data: { messages: [] },
70
- metadata: { threadId },
71
- isArchived: false,
72
- });
73
- this._threads = [{ threadId }];
74
- const thread = this._threadFactory(threadId, { messages: [] });
75
- this._performThreadSwitch(thread);
76
- }
77
-
78
- private _performThreadSwitch(newThreadCore: LocalThreadRuntimeCore) {
79
- const data = this._threadData.get(this._mainThread.threadId);
80
- if (!data) throw new Error("Thread not found");
64
+ this._mainThread?._notifyEventSubscribers("switched-away");
65
+ this._mainThread = data.runtime;
66
+ this._notifySubscribers();
81
67
 
82
- const exprt = this._mainThread.export();
83
- data.data = exprt;
68
+ data.runtime._notifyEventSubscribers("switched-to");
69
+ return Promise.resolve();
70
+ }
84
71
 
85
- this._mainThread._notifyEventSubscribers("switched-away");
86
- this._mainThread = newThreadCore;
87
- newThreadCore._notifyEventSubscribers("switched-to");
72
+ public switchToNewThread(): Promise<void> {
73
+ if (this._newThread === undefined) {
74
+ let threadId: string;
75
+ do {
76
+ threadId = generateId();
77
+ } while (this._threadData.has(threadId));
78
+
79
+ const runtime = this._threadFactory(threadId, { messages: [] });
80
+ const dispose = runtime.metadata.subscribe(() => {
81
+ this._syncState(threadId, runtime.metadata);
82
+ threadId = runtime.metadata.threadId;
83
+ });
84
+ this._threadData.set(threadId, { runtime, lastState: "new", dispose });
85
+ this._newThread = threadId;
86
+ }
88
87
 
89
- this._notifySubscribers();
88
+ this.switchToThread(this._newThread);
89
+ return Promise.resolve();
90
90
  }
91
91
 
92
- private _performMoveOp(
93
- threadId: string,
94
- operation: "archive" | "unarchive" | "delete",
92
+ private async _syncState(
93
+ lastThreadId: string,
94
+ { state, threadId }: ThreadMetadata,
95
95
  ) {
96
- const data = this._threadData.get(threadId);
96
+ const data = this._threadData.get(lastThreadId);
97
97
  if (!data) throw new Error("Thread not found");
98
-
99
- if (operation === "archive" && data.isArchived) return;
100
- if (operation === "unarchive" && !data.isArchived) return;
101
-
102
- if (operation === "archive") {
103
- data.isArchived = true;
104
- this._archivedThreads = [...this._archivedThreads, data.metadata];
105
- }
106
- if (operation === "unarchive") {
107
- data.isArchived = false;
108
- this._threads = [...this._threads, data.metadata];
109
- }
110
- if (operation === "delete") {
111
- this._threadData.delete(threadId);
98
+ const lastState = data.lastState;
99
+ if (lastState === state && lastThreadId === threadId) return;
100
+
101
+ if (lastThreadId !== threadId) {
102
+ this._threadData.delete(lastThreadId);
103
+ if (lastState === "new") {
104
+ this._newThread = threadId;
105
+ }
106
+ if (lastState === "regular") {
107
+ this._threads = this._threads.map((t) =>
108
+ t === lastThreadId ? threadId : t,
109
+ );
110
+ }
111
+ if (lastState === "archived") {
112
+ this._archivedThreads = this._archivedThreads.map((t) =>
113
+ t === lastThreadId ? threadId : t,
114
+ );
115
+ }
112
116
  }
113
117
 
114
- if (
115
- operation === "archive" ||
116
- (operation === "delete" && data.isArchived)
117
- ) {
118
- this._archivedThreads = this._archivedThreads.filter(
119
- (t) => t.threadId !== threadId,
120
- );
118
+ if (lastState !== state) {
119
+ if (lastState === "new") {
120
+ this._newThread = undefined;
121
+ }
122
+
123
+ if (lastState === "regular") {
124
+ this._threads = this._threads.filter((t) => t !== threadId);
125
+ }
126
+
127
+ if (lastState === "archived") {
128
+ this._archivedThreads = this._archivedThreads.filter(
129
+ (t) => t !== threadId,
130
+ );
131
+ }
132
+
133
+ if (state === "new") {
134
+ if (this._newThread) {
135
+ this.delete(this._newThread);
136
+ }
137
+ this._newThread = threadId;
138
+ }
139
+ if (state === "archived") {
140
+ this._archivedThreads = [
141
+ ...this._archivedThreads,
142
+ data.runtime.metadata.threadId,
143
+ ];
144
+ }
145
+ if (state === "regular") {
146
+ this._threads = [...this._threads, data.runtime.metadata.threadId];
147
+ }
148
+ if (state === "deleted") {
149
+ data.dispose();
150
+ this._threadData.delete(threadId);
151
+ }
152
+
153
+ data.lastState = state;
121
154
  }
122
155
 
156
+ this._notifySubscribers();
157
+
123
158
  if (
124
- operation === "unarchive" ||
125
- (operation === "delete" && !data.isArchived)
159
+ threadId === this._mainThread.metadata.threadId &&
160
+ (state === "archived" || state === "deleted")
126
161
  ) {
127
- this._threads = this._threads.filter((t) => t.threadId !== threadId);
162
+ const lastThread = this._threads[0];
163
+ if (lastThread) {
164
+ await this.switchToThread(lastThread);
165
+ } else {
166
+ await this.switchToNewThread();
167
+ }
128
168
  }
129
-
130
- this._notifySubscribers();
131
169
  }
132
170
 
133
- public async rename(threadId: string, newTitle: string): Promise<void> {
171
+ public rename(threadId: string, newTitle: string): Promise<void> {
134
172
  const data = this._threadData.get(threadId);
135
173
  if (!data) throw new Error("Thread not found");
174
+ data.runtime.metadata.rename(newTitle);
136
175
 
137
- data.metadata = {
138
- ...data.metadata,
139
- title: newTitle,
140
- };
141
-
142
- const threadList = data.isArchived ? this.archivedThreads : this.threads;
143
- const idx = threadList.findIndex((t) => t.threadId === threadId);
144
- const updatedThreadList = threadList.toSpliced(idx, 1, data.metadata);
145
- if (data.isArchived) {
146
- this._archivedThreads = updatedThreadList;
147
- } else {
148
- this._threads = updatedThreadList;
149
- }
150
- this._notifySubscribers();
176
+ return Promise.resolve();
151
177
  }
152
178
 
153
- public async archive(threadId: string): Promise<void> {
154
- this._performMoveOp(threadId, "archive");
179
+ public archive(threadId: string): Promise<void> {
180
+ const data = this._threadData.get(threadId);
181
+ if (!data) throw new Error("Thread not found");
182
+ if (data.lastState !== "regular")
183
+ throw new Error("Thread is not yet created or archived");
184
+ data.runtime.metadata.archive();
185
+
186
+ return Promise.resolve();
155
187
  }
156
188
 
157
- public async unarchive(threadId: string): Promise<void> {
158
- this._performMoveOp(threadId, "unarchive");
189
+ public unarchive(threadId: string): Promise<void> {
190
+ const data = this._threadData.get(threadId);
191
+ if (!data) throw new Error("Thread not found");
192
+ if (data.lastState !== "archived")
193
+ throw new Error("Thread is not archived");
194
+ data.runtime.metadata.unarchive();
195
+
196
+ return Promise.resolve();
159
197
  }
160
198
 
161
- public async delete(threadId: string): Promise<void> {
162
- this._performMoveOp(threadId, "delete");
199
+ public delete(threadId: string): Promise<void> {
200
+ const data = this._threadData.get(threadId);
201
+ if (!data) throw new Error("Thread not found");
202
+ if (data.lastState !== "regular" && data.lastState !== "archived")
203
+ throw new Error("Thread is not yet created or already deleted");
204
+ data.runtime.metadata.delete();
205
+
206
+ return Promise.resolve();
163
207
  }
164
208
 
165
209
  private _subscriptions = new Set<() => void>();
@@ -0,0 +1,79 @@
1
+ import { ThreadMetadataRuntimeCore } from "../core/ThreadRuntimeCore";
2
+
3
+ export class LocalThreadMetadataRuntimeCore
4
+ implements ThreadMetadataRuntimeCore
5
+ {
6
+ private _state: "regular" | "archived" | "deleted" | "new" = "new";
7
+ private _title: string | undefined;
8
+ private _subscribers = new Set<() => void>();
9
+
10
+ constructor(private _threadId: string) {}
11
+
12
+ public get threadId() {
13
+ return this._threadId;
14
+ }
15
+
16
+ public get state() {
17
+ return this._state;
18
+ }
19
+
20
+ public get title() {
21
+ return this._title;
22
+ }
23
+
24
+ public rename(newTitle: string) {
25
+ this._title = newTitle;
26
+ this._notifySubscribers();
27
+
28
+ return Promise.resolve();
29
+ }
30
+
31
+ public archive() {
32
+ if (this._state === "new") throw new Error("Thread not created");
33
+ if (this._state === "archived") throw new Error("Thread already archived");
34
+ if (this._state === "deleted") throw new Error("Thread deleted");
35
+
36
+ this._state = "archived";
37
+ this._notifySubscribers();
38
+
39
+ return Promise.resolve();
40
+ }
41
+
42
+ public unarchive() {
43
+ if (this._state !== "archived") throw new Error("Thread not archived");
44
+
45
+ this._state = "regular";
46
+ this._notifySubscribers();
47
+
48
+ return Promise.resolve();
49
+ }
50
+
51
+ public delete() {
52
+ if (this._state === "new") throw new Error("Thread not created");
53
+ if (this._state === "deleted") throw new Error("Thread already deleted");
54
+
55
+ this._state = "deleted";
56
+ this._notifySubscribers();
57
+
58
+ return Promise.resolve();
59
+ }
60
+
61
+ public create(title?: string) {
62
+ if (this.state !== "new") throw new Error("Thread not new");
63
+
64
+ this._state = "regular";
65
+ this._title = title ?? this._title;
66
+ this._notifySubscribers();
67
+
68
+ return Promise.resolve();
69
+ }
70
+
71
+ public subscribe(callback: () => void) {
72
+ this._subscribers.add(callback);
73
+ return () => this._subscribers.delete(callback);
74
+ }
75
+
76
+ private _notifySubscribers() {
77
+ for (const callback of this._subscribers) callback();
78
+ }
79
+ }