@assistant-ui/react-ink 0.0.1

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 (456) hide show
  1. package/dist/adapters/LocalStorageThreadListAdapter.d.ts +15 -0
  2. package/dist/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -0
  3. package/dist/adapters/LocalStorageThreadListAdapter.js +154 -0
  4. package/dist/adapters/LocalStorageThreadListAdapter.js.map +1 -0
  5. package/dist/adapters/TitleGenerationAdapter.d.ts +6 -0
  6. package/dist/adapters/TitleGenerationAdapter.d.ts.map +1 -0
  7. package/dist/adapters/TitleGenerationAdapter.js +15 -0
  8. package/dist/adapters/TitleGenerationAdapter.js.map +1 -0
  9. package/dist/adapters/index.d.ts +3 -0
  10. package/dist/adapters/index.d.ts.map +1 -0
  11. package/dist/adapters/index.js +3 -0
  12. package/dist/adapters/index.js.map +1 -0
  13. package/dist/client/index.d.ts +5 -0
  14. package/dist/client/index.d.ts.map +1 -0
  15. package/dist/client/index.js +7 -0
  16. package/dist/client/index.js.map +1 -0
  17. package/dist/context/AssistantContext.d.ts +8 -0
  18. package/dist/context/AssistantContext.d.ts.map +1 -0
  19. package/dist/context/AssistantContext.js +16 -0
  20. package/dist/context/AssistantContext.js.map +1 -0
  21. package/dist/context/index.d.ts +2 -0
  22. package/dist/context/index.d.ts.map +1 -0
  23. package/dist/context/index.js +2 -0
  24. package/dist/context/index.js.map +1 -0
  25. package/dist/context/providers/AttachmentByIndexProvider.d.ts +2 -0
  26. package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -0
  27. package/dist/context/providers/AttachmentByIndexProvider.js +2 -0
  28. package/dist/context/providers/AttachmentByIndexProvider.js.map +1 -0
  29. package/dist/context/providers/RuntimeAdapterProvider.d.ts +16 -0
  30. package/dist/context/providers/RuntimeAdapterProvider.d.ts.map +1 -0
  31. package/dist/context/providers/RuntimeAdapterProvider.js +14 -0
  32. package/dist/context/providers/RuntimeAdapterProvider.js.map +1 -0
  33. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +2 -0
  34. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
  35. package/dist/context/providers/ThreadListItemRuntimeProvider.js +2 -0
  36. package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -0
  37. package/dist/index.d.ts +26 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +32 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/internal.d.ts +4 -0
  42. package/dist/internal.d.ts.map +1 -0
  43. package/dist/internal.js +3 -0
  44. package/dist/internal.js.map +1 -0
  45. package/dist/model-context/index.d.ts +9 -0
  46. package/dist/model-context/index.d.ts.map +1 -0
  47. package/dist/model-context/index.js +7 -0
  48. package/dist/model-context/index.js.map +1 -0
  49. package/dist/primitive-hooks/index.d.ts +15 -0
  50. package/dist/primitive-hooks/index.d.ts.map +1 -0
  51. package/dist/primitive-hooks/index.js +15 -0
  52. package/dist/primitive-hooks/index.js.map +1 -0
  53. package/dist/primitive-hooks/useActionBarCopy.d.ts +10 -0
  54. package/dist/primitive-hooks/useActionBarCopy.d.ts.map +1 -0
  55. package/dist/primitive-hooks/useActionBarCopy.js +26 -0
  56. package/dist/primitive-hooks/useActionBarCopy.js.map +1 -0
  57. package/dist/primitive-hooks/useActionBarEdit.d.ts +5 -0
  58. package/dist/primitive-hooks/useActionBarEdit.d.ts.map +1 -0
  59. package/dist/primitive-hooks/useActionBarEdit.js +11 -0
  60. package/dist/primitive-hooks/useActionBarEdit.js.map +1 -0
  61. package/dist/primitive-hooks/useActionBarFeedback.d.ts +9 -0
  62. package/dist/primitive-hooks/useActionBarFeedback.d.ts.map +1 -0
  63. package/dist/primitive-hooks/useActionBarFeedback.js +19 -0
  64. package/dist/primitive-hooks/useActionBarFeedback.js.map +1 -0
  65. package/dist/primitive-hooks/useActionBarReload.d.ts +5 -0
  66. package/dist/primitive-hooks/useActionBarReload.d.ts.map +1 -0
  67. package/dist/primitive-hooks/useActionBarReload.js +13 -0
  68. package/dist/primitive-hooks/useActionBarReload.js.map +1 -0
  69. package/dist/primitive-hooks/useComposerAddAttachment.d.ts +5 -0
  70. package/dist/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -0
  71. package/dist/primitive-hooks/useComposerAddAttachment.js +10 -0
  72. package/dist/primitive-hooks/useComposerAddAttachment.js.map +1 -0
  73. package/dist/primitive-hooks/useComposerCancel.d.ts +5 -0
  74. package/dist/primitive-hooks/useComposerCancel.d.ts.map +1 -0
  75. package/dist/primitive-hooks/useComposerCancel.js +11 -0
  76. package/dist/primitive-hooks/useComposerCancel.js.map +1 -0
  77. package/dist/primitive-hooks/useComposerSend.d.ts +5 -0
  78. package/dist/primitive-hooks/useComposerSend.d.ts.map +1 -0
  79. package/dist/primitive-hooks/useComposerSend.js +11 -0
  80. package/dist/primitive-hooks/useComposerSend.js.map +1 -0
  81. package/dist/primitive-hooks/useEditComposerCancel.d.ts +4 -0
  82. package/dist/primitive-hooks/useEditComposerCancel.d.ts.map +1 -0
  83. package/dist/primitive-hooks/useEditComposerCancel.js +10 -0
  84. package/dist/primitive-hooks/useEditComposerCancel.js.map +1 -0
  85. package/dist/primitive-hooks/useEditComposerSend.d.ts +5 -0
  86. package/dist/primitive-hooks/useEditComposerSend.d.ts.map +1 -0
  87. package/dist/primitive-hooks/useEditComposerSend.js +11 -0
  88. package/dist/primitive-hooks/useEditComposerSend.js.map +1 -0
  89. package/dist/primitive-hooks/useMessageBranching.d.ts +7 -0
  90. package/dist/primitive-hooks/useMessageBranching.d.ts.map +1 -0
  91. package/dist/primitive-hooks/useMessageBranching.js +15 -0
  92. package/dist/primitive-hooks/useMessageBranching.js.map +1 -0
  93. package/dist/primitive-hooks/useMessageReload.d.ts +5 -0
  94. package/dist/primitive-hooks/useMessageReload.d.ts.map +1 -0
  95. package/dist/primitive-hooks/useMessageReload.js +11 -0
  96. package/dist/primitive-hooks/useMessageReload.js.map +1 -0
  97. package/dist/primitive-hooks/useThreadIsEmpty.d.ts +2 -0
  98. package/dist/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -0
  99. package/dist/primitive-hooks/useThreadIsEmpty.js +5 -0
  100. package/dist/primitive-hooks/useThreadIsEmpty.js.map +1 -0
  101. package/dist/primitive-hooks/useThreadIsRunning.d.ts +2 -0
  102. package/dist/primitive-hooks/useThreadIsRunning.d.ts.map +1 -0
  103. package/dist/primitive-hooks/useThreadIsRunning.js +5 -0
  104. package/dist/primitive-hooks/useThreadIsRunning.js.map +1 -0
  105. package/dist/primitive-hooks/useThreadMessages.d.ts +3 -0
  106. package/dist/primitive-hooks/useThreadMessages.d.ts.map +1 -0
  107. package/dist/primitive-hooks/useThreadMessages.js +5 -0
  108. package/dist/primitive-hooks/useThreadMessages.js.map +1 -0
  109. package/dist/primitives/actionBar/ActionBarCopy.d.ts +10 -0
  110. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -0
  111. package/dist/primitives/actionBar/ActionBarCopy.js +11 -0
  112. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -0
  113. package/dist/primitives/actionBar/ActionBarEdit.d.ts +7 -0
  114. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -0
  115. package/dist/primitives/actionBar/ActionBarEdit.js +8 -0
  116. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -0
  117. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +9 -0
  118. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -0
  119. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +8 -0
  120. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -0
  121. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +9 -0
  122. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -0
  123. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +8 -0
  124. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -0
  125. package/dist/primitives/actionBar/ActionBarReload.d.ts +7 -0
  126. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -0
  127. package/dist/primitives/actionBar/ActionBarReload.js +8 -0
  128. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -0
  129. package/dist/primitives/actionBar/index.d.ts +6 -0
  130. package/dist/primitives/actionBar/index.d.ts.map +1 -0
  131. package/dist/primitives/actionBar/index.js +6 -0
  132. package/dist/primitives/actionBar/index.js.map +1 -0
  133. package/dist/primitives/attachment/AttachmentName.d.ts +5 -0
  134. package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -0
  135. package/dist/primitives/attachment/AttachmentName.js +8 -0
  136. package/dist/primitives/attachment/AttachmentName.js.map +1 -0
  137. package/dist/primitives/attachment/AttachmentRemove.d.ts +7 -0
  138. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -0
  139. package/dist/primitives/attachment/AttachmentRemove.js +12 -0
  140. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -0
  141. package/dist/primitives/attachment/AttachmentRoot.d.ts +7 -0
  142. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -0
  143. package/dist/primitives/attachment/AttachmentRoot.js +6 -0
  144. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -0
  145. package/dist/primitives/attachment/AttachmentThumb.d.ts +5 -0
  146. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -0
  147. package/dist/primitives/attachment/AttachmentThumb.js +11 -0
  148. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -0
  149. package/dist/primitives/attachment/index.d.ts +5 -0
  150. package/dist/primitives/attachment/index.d.ts.map +1 -0
  151. package/dist/primitives/attachment/index.js +5 -0
  152. package/dist/primitives/attachment/index.js.map +1 -0
  153. package/dist/primitives/branchPicker/BranchPickerCount.d.ts +5 -0
  154. package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -0
  155. package/dist/primitives/branchPicker/BranchPickerCount.js +8 -0
  156. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -0
  157. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +7 -0
  158. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -0
  159. package/dist/primitives/branchPicker/BranchPickerNext.js +20 -0
  160. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -0
  161. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +5 -0
  162. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -0
  163. package/dist/primitives/branchPicker/BranchPickerNumber.js +8 -0
  164. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -0
  165. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +7 -0
  166. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -0
  167. package/dist/primitives/branchPicker/BranchPickerPrevious.js +20 -0
  168. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -0
  169. package/dist/primitives/branchPicker/index.d.ts +5 -0
  170. package/dist/primitives/branchPicker/index.d.ts.map +1 -0
  171. package/dist/primitives/branchPicker/index.js +5 -0
  172. package/dist/primitives/branchPicker/index.js.map +1 -0
  173. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +7 -0
  174. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -0
  175. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +13 -0
  176. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -0
  177. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +7 -0
  178. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -0
  179. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +6 -0
  180. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -0
  181. package/dist/primitives/chainOfThought/index.d.ts +4 -0
  182. package/dist/primitives/chainOfThought/index.d.ts.map +1 -0
  183. package/dist/primitives/chainOfThought/index.js +4 -0
  184. package/dist/primitives/chainOfThought/index.js.map +1 -0
  185. package/dist/primitives/composer/ComposerAddAttachment.d.ts +7 -0
  186. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -0
  187. package/dist/primitives/composer/ComposerAddAttachment.js +10 -0
  188. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -0
  189. package/dist/primitives/composer/ComposerAttachments.d.ts +18 -0
  190. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -0
  191. package/dist/primitives/composer/ComposerAttachments.js +4 -0
  192. package/dist/primitives/composer/ComposerAttachments.js.map +1 -0
  193. package/dist/primitives/composer/ComposerCancel.d.ts +7 -0
  194. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -0
  195. package/dist/primitives/composer/ComposerCancel.js +8 -0
  196. package/dist/primitives/composer/ComposerCancel.js.map +1 -0
  197. package/dist/primitives/composer/ComposerIf.d.ts +2 -0
  198. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
  199. package/dist/primitives/composer/ComposerIf.js +2 -0
  200. package/dist/primitives/composer/ComposerIf.js.map +1 -0
  201. package/dist/primitives/composer/ComposerInput.d.ts +12 -0
  202. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -0
  203. package/dist/primitives/composer/ComposerInput.js +25 -0
  204. package/dist/primitives/composer/ComposerInput.js.map +1 -0
  205. package/dist/primitives/composer/ComposerRoot.d.ts +7 -0
  206. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -0
  207. package/dist/primitives/composer/ComposerRoot.js +6 -0
  208. package/dist/primitives/composer/ComposerRoot.js.map +1 -0
  209. package/dist/primitives/composer/ComposerSend.d.ts +7 -0
  210. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -0
  211. package/dist/primitives/composer/ComposerSend.js +8 -0
  212. package/dist/primitives/composer/ComposerSend.js.map +1 -0
  213. package/dist/primitives/composer/EditComposerCancel.d.ts +7 -0
  214. package/dist/primitives/composer/EditComposerCancel.d.ts.map +1 -0
  215. package/dist/primitives/composer/EditComposerCancel.js +8 -0
  216. package/dist/primitives/composer/EditComposerCancel.js.map +1 -0
  217. package/dist/primitives/composer/EditComposerInput.d.ts +10 -0
  218. package/dist/primitives/composer/EditComposerInput.d.ts.map +1 -0
  219. package/dist/primitives/composer/EditComposerInput.js +19 -0
  220. package/dist/primitives/composer/EditComposerInput.js.map +1 -0
  221. package/dist/primitives/composer/EditComposerSend.d.ts +7 -0
  222. package/dist/primitives/composer/EditComposerSend.d.ts.map +1 -0
  223. package/dist/primitives/composer/EditComposerSend.js +8 -0
  224. package/dist/primitives/composer/EditComposerSend.js.map +1 -0
  225. package/dist/primitives/composer/index.d.ts +11 -0
  226. package/dist/primitives/composer/index.d.ts.map +1 -0
  227. package/dist/primitives/composer/index.js +11 -0
  228. package/dist/primitives/composer/index.js.map +1 -0
  229. package/dist/primitives/internal/Pressable.d.ts +9 -0
  230. package/dist/primitives/internal/Pressable.d.ts.map +1 -0
  231. package/dist/primitives/internal/Pressable.js +12 -0
  232. package/dist/primitives/internal/Pressable.js.map +1 -0
  233. package/dist/primitives/message/MessageAttachments.d.ts +12 -0
  234. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -0
  235. package/dist/primitives/message/MessageAttachments.js +4 -0
  236. package/dist/primitives/message/MessageAttachments.js.map +1 -0
  237. package/dist/primitives/message/MessageContent.d.ts +50 -0
  238. package/dist/primitives/message/MessageContent.d.ts.map +1 -0
  239. package/dist/primitives/message/MessageContent.js +69 -0
  240. package/dist/primitives/message/MessageContent.js.map +1 -0
  241. package/dist/primitives/message/MessageIf.d.ts +10 -0
  242. package/dist/primitives/message/MessageIf.d.ts.map +1 -0
  243. package/dist/primitives/message/MessageIf.js +24 -0
  244. package/dist/primitives/message/MessageIf.js.map +1 -0
  245. package/dist/primitives/message/MessageParts.d.ts +11 -0
  246. package/dist/primitives/message/MessageParts.d.ts.map +1 -0
  247. package/dist/primitives/message/MessageParts.js +37 -0
  248. package/dist/primitives/message/MessageParts.js.map +1 -0
  249. package/dist/primitives/message/MessageRoot.d.ts +7 -0
  250. package/dist/primitives/message/MessageRoot.d.ts.map +1 -0
  251. package/dist/primitives/message/MessageRoot.js +6 -0
  252. package/dist/primitives/message/MessageRoot.js.map +1 -0
  253. package/dist/primitives/message/index.d.ts +6 -0
  254. package/dist/primitives/message/index.d.ts.map +1 -0
  255. package/dist/primitives/message/index.js +6 -0
  256. package/dist/primitives/message/index.js.map +1 -0
  257. package/dist/primitives/suggestion/SuggestionDescription.d.ts +7 -0
  258. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -0
  259. package/dist/primitives/suggestion/SuggestionDescription.js +8 -0
  260. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -0
  261. package/dist/primitives/suggestion/SuggestionTitle.d.ts +7 -0
  262. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -0
  263. package/dist/primitives/suggestion/SuggestionTitle.js +8 -0
  264. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -0
  265. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +9 -0
  266. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -0
  267. package/dist/primitives/suggestion/SuggestionTrigger.js +35 -0
  268. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -0
  269. package/dist/primitives/suggestion/index.d.ts +4 -0
  270. package/dist/primitives/suggestion/index.d.ts.map +1 -0
  271. package/dist/primitives/suggestion/index.js +4 -0
  272. package/dist/primitives/suggestion/index.js.map +1 -0
  273. package/dist/primitives/thread/ThreadEmpty.d.ts +6 -0
  274. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -0
  275. package/dist/primitives/thread/ThreadEmpty.js +9 -0
  276. package/dist/primitives/thread/ThreadEmpty.js.map +1 -0
  277. package/dist/primitives/thread/ThreadIf.d.ts +8 -0
  278. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -0
  279. package/dist/primitives/thread/ThreadIf.js +16 -0
  280. package/dist/primitives/thread/ThreadIf.js.map +1 -0
  281. package/dist/primitives/thread/ThreadMessages.d.ts +10 -0
  282. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -0
  283. package/dist/primitives/thread/ThreadMessages.js +18 -0
  284. package/dist/primitives/thread/ThreadMessages.js.map +1 -0
  285. package/dist/primitives/thread/ThreadRoot.d.ts +7 -0
  286. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -0
  287. package/dist/primitives/thread/ThreadRoot.js +6 -0
  288. package/dist/primitives/thread/ThreadRoot.js.map +1 -0
  289. package/dist/primitives/thread/ThreadSuggestion.d.ts +10 -0
  290. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -0
  291. package/dist/primitives/thread/ThreadSuggestion.js +34 -0
  292. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -0
  293. package/dist/primitives/thread/index.d.ts +8 -0
  294. package/dist/primitives/thread/index.d.ts.map +1 -0
  295. package/dist/primitives/thread/index.js +8 -0
  296. package/dist/primitives/thread/index.js.map +1 -0
  297. package/dist/primitives/threadList/ThreadListItems.d.ts +9 -0
  298. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
  299. package/dist/primitives/threadList/ThreadListItems.js +8 -0
  300. package/dist/primitives/threadList/ThreadListItems.js.map +1 -0
  301. package/dist/primitives/threadList/ThreadListNew.d.ts +7 -0
  302. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -0
  303. package/dist/primitives/threadList/ThreadListNew.js +12 -0
  304. package/dist/primitives/threadList/ThreadListNew.js.map +1 -0
  305. package/dist/primitives/threadList/ThreadListRoot.d.ts +7 -0
  306. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -0
  307. package/dist/primitives/threadList/ThreadListRoot.js +6 -0
  308. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -0
  309. package/dist/primitives/threadList/index.d.ts +4 -0
  310. package/dist/primitives/threadList/index.d.ts.map +1 -0
  311. package/dist/primitives/threadList/index.js +4 -0
  312. package/dist/primitives/threadList/index.js.map +1 -0
  313. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +7 -0
  314. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
  315. package/dist/primitives/threadListItem/ThreadListItemArchive.js +12 -0
  316. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -0
  317. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +7 -0
  318. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
  319. package/dist/primitives/threadListItem/ThreadListItemDelete.js +12 -0
  320. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -0
  321. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +7 -0
  322. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
  323. package/dist/primitives/threadListItem/ThreadListItemRoot.js +6 -0
  324. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -0
  325. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +7 -0
  326. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
  327. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +12 -0
  328. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -0
  329. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +7 -0
  330. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
  331. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +12 -0
  332. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -0
  333. package/dist/primitives/threadListItem/index.d.ts +7 -0
  334. package/dist/primitives/threadListItem/index.d.ts.map +1 -0
  335. package/dist/primitives/threadListItem/index.js +7 -0
  336. package/dist/primitives/threadListItem/index.js.map +1 -0
  337. package/dist/runtimes/RemoteThreadListHookInstanceManager.d.ts +96 -0
  338. package/dist/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -0
  339. package/dist/runtimes/RemoteThreadListHookInstanceManager.js +110 -0
  340. package/dist/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -0
  341. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +113 -0
  342. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -0
  343. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.js +440 -0
  344. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -0
  345. package/dist/runtimes/index.d.ts +3 -0
  346. package/dist/runtimes/index.d.ts.map +1 -0
  347. package/dist/runtimes/index.js +3 -0
  348. package/dist/runtimes/index.js.map +1 -0
  349. package/dist/runtimes/useLocalRuntime.d.ts +18 -0
  350. package/dist/runtimes/useLocalRuntime.d.ts.map +1 -0
  351. package/dist/runtimes/useLocalRuntime.js +62 -0
  352. package/dist/runtimes/useLocalRuntime.js.map +1 -0
  353. package/dist/runtimes/useRemoteThreadListRuntime.d.ts +4 -0
  354. package/dist/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -0
  355. package/dist/runtimes/useRemoteThreadListRuntime.js +47 -0
  356. package/dist/runtimes/useRemoteThreadListRuntime.js.map +1 -0
  357. package/dist/types/index.d.ts +2 -0
  358. package/dist/types/index.d.ts.map +1 -0
  359. package/dist/types/index.js +2 -0
  360. package/dist/types/index.js.map +1 -0
  361. package/dist/types/scopes/index.d.ts +3 -0
  362. package/dist/types/scopes/index.d.ts.map +1 -0
  363. package/dist/types/scopes/index.js +2 -0
  364. package/dist/types/scopes/index.js.map +1 -0
  365. package/package.json +78 -0
  366. package/src/adapters/LocalStorageThreadListAdapter.tsx +227 -0
  367. package/src/adapters/TitleGenerationAdapter.ts +20 -0
  368. package/src/adapters/index.ts +5 -0
  369. package/src/client/index.ts +7 -0
  370. package/src/context/AssistantContext.tsx +31 -0
  371. package/src/context/index.ts +1 -0
  372. package/src/context/providers/AttachmentByIndexProvider.tsx +4 -0
  373. package/src/context/providers/RuntimeAdapterProvider.tsx +42 -0
  374. package/src/context/providers/ThreadListItemRuntimeProvider.tsx +1 -0
  375. package/src/index.ts +157 -0
  376. package/src/internal.ts +22 -0
  377. package/src/model-context/index.ts +44 -0
  378. package/src/primitive-hooks/index.ts +20 -0
  379. package/src/primitive-hooks/useActionBarCopy.ts +38 -0
  380. package/src/primitive-hooks/useActionBarEdit.ts +13 -0
  381. package/src/primitive-hooks/useActionBarFeedback.ts +28 -0
  382. package/src/primitive-hooks/useActionBarReload.ts +18 -0
  383. package/src/primitive-hooks/useComposerAddAttachment.ts +16 -0
  384. package/src/primitive-hooks/useComposerCancel.ts +13 -0
  385. package/src/primitive-hooks/useComposerSend.ts +13 -0
  386. package/src/primitive-hooks/useEditComposerCancel.ts +12 -0
  387. package/src/primitive-hooks/useEditComposerSend.ts +13 -0
  388. package/src/primitive-hooks/useMessageBranching.ts +18 -0
  389. package/src/primitive-hooks/useMessageReload.ts +13 -0
  390. package/src/primitive-hooks/useThreadIsEmpty.ts +5 -0
  391. package/src/primitive-hooks/useThreadIsRunning.ts +5 -0
  392. package/src/primitive-hooks/useThreadMessages.ts +6 -0
  393. package/src/primitives/actionBar/ActionBarCopy.tsx +34 -0
  394. package/src/primitives/actionBar/ActionBarEdit.tsx +25 -0
  395. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +23 -0
  396. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +23 -0
  397. package/src/primitives/actionBar/ActionBarReload.tsx +25 -0
  398. package/src/primitives/actionBar/index.ts +11 -0
  399. package/src/primitives/attachment/AttachmentName.tsx +10 -0
  400. package/src/primitives/attachment/AttachmentRemove.tsx +25 -0
  401. package/src/primitives/attachment/AttachmentRoot.tsx +13 -0
  402. package/src/primitives/attachment/AttachmentThumb.tsx +13 -0
  403. package/src/primitives/attachment/index.ts +7 -0
  404. package/src/primitives/branchPicker/BranchPickerCount.tsx +10 -0
  405. package/src/primitives/branchPicker/BranchPickerNext.tsx +37 -0
  406. package/src/primitives/branchPicker/BranchPickerNumber.tsx +10 -0
  407. package/src/primitives/branchPicker/BranchPickerPrevious.tsx +37 -0
  408. package/src/primitives/branchPicker/index.ts +16 -0
  409. package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.tsx +28 -0
  410. package/src/primitives/chainOfThought/ChainOfThoughtRoot.tsx +13 -0
  411. package/src/primitives/chainOfThought/index.ts +9 -0
  412. package/src/primitives/composer/ComposerAddAttachment.tsx +23 -0
  413. package/src/primitives/composer/ComposerAttachments.tsx +25 -0
  414. package/src/primitives/composer/ComposerCancel.tsx +25 -0
  415. package/src/primitives/composer/ComposerIf.tsx +1 -0
  416. package/src/primitives/composer/ComposerInput.tsx +49 -0
  417. package/src/primitives/composer/ComposerRoot.tsx +10 -0
  418. package/src/primitives/composer/ComposerSend.tsx +25 -0
  419. package/src/primitives/composer/EditComposerCancel.tsx +20 -0
  420. package/src/primitives/composer/EditComposerInput.tsx +40 -0
  421. package/src/primitives/composer/EditComposerSend.tsx +25 -0
  422. package/src/primitives/composer/index.ts +25 -0
  423. package/src/primitives/internal/Pressable.tsx +28 -0
  424. package/src/primitives/message/MessageAttachments.tsx +18 -0
  425. package/src/primitives/message/MessageContent.tsx +183 -0
  426. package/src/primitives/message/MessageIf.tsx +40 -0
  427. package/src/primitives/message/MessageParts.tsx +60 -0
  428. package/src/primitives/message/MessageRoot.tsx +10 -0
  429. package/src/primitives/message/index.ts +11 -0
  430. package/src/primitives/suggestion/SuggestionDescription.tsx +16 -0
  431. package/src/primitives/suggestion/SuggestionTitle.tsx +16 -0
  432. package/src/primitives/suggestion/SuggestionTrigger.tsx +55 -0
  433. package/src/primitives/suggestion/index.ts +12 -0
  434. package/src/primitives/thread/ThreadEmpty.tsx +12 -0
  435. package/src/primitives/thread/ThreadIf.tsx +23 -0
  436. package/src/primitives/thread/ThreadMessages.tsx +43 -0
  437. package/src/primitives/thread/ThreadRoot.tsx +14 -0
  438. package/src/primitives/thread/ThreadSuggestion.tsx +56 -0
  439. package/src/primitives/thread/index.ts +16 -0
  440. package/src/primitives/threadList/ThreadListItems.tsx +19 -0
  441. package/src/primitives/threadList/ThreadListNew.tsx +24 -0
  442. package/src/primitives/threadList/ThreadListRoot.tsx +13 -0
  443. package/src/primitives/threadList/index.ts +3 -0
  444. package/src/primitives/threadListItem/ThreadListItemArchive.tsx +24 -0
  445. package/src/primitives/threadListItem/ThreadListItemDelete.tsx +24 -0
  446. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +13 -0
  447. package/src/primitives/threadListItem/ThreadListItemTrigger.tsx +24 -0
  448. package/src/primitives/threadListItem/ThreadListItemUnarchive.tsx +24 -0
  449. package/src/primitives/threadListItem/index.ts +21 -0
  450. package/src/runtimes/RemoteThreadListHookInstanceManager.tsx +180 -0
  451. package/src/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +538 -0
  452. package/src/runtimes/index.ts +2 -0
  453. package/src/runtimes/useLocalRuntime.ts +105 -0
  454. package/src/runtimes/useRemoteThreadListRuntime.ts +80 -0
  455. package/src/types/index.ts +23 -0
  456. package/src/types/scopes/index.ts +59 -0
@@ -0,0 +1,10 @@
1
+ import type { ComponentProps, FC } from "react";
2
+ import { Text } from "ink";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+
5
+ export type AttachmentNameProps = ComponentProps<typeof Text>;
6
+
7
+ export const AttachmentName: FC<AttachmentNameProps> = (props) => {
8
+ const name = useAuiState((s) => s.attachment.name);
9
+ return <Text {...props}>{name}</Text>;
10
+ };
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import { useCallback } from "react";
3
+ import { useAui } from "@assistant-ui/store";
4
+ import { Pressable, type PressableProps } from "../internal/Pressable";
5
+
6
+ export type AttachmentRemoveProps = Omit<PressableProps, "onPress"> & {
7
+ children: ReactNode;
8
+ };
9
+
10
+ export const AttachmentRemove = ({
11
+ children,
12
+ ...pressableProps
13
+ }: AttachmentRemoveProps) => {
14
+ const aui = useAui();
15
+
16
+ const handleRemove = useCallback(() => {
17
+ aui.attachment().remove();
18
+ }, [aui]);
19
+
20
+ return (
21
+ <Pressable onPress={handleRemove} {...pressableProps}>
22
+ {children}
23
+ </Pressable>
24
+ );
25
+ };
@@ -0,0 +1,13 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ import { Box } from "ink";
3
+
4
+ export type AttachmentRootProps = ComponentProps<typeof Box> & {
5
+ children: ReactNode;
6
+ };
7
+
8
+ export const AttachmentRoot = ({
9
+ children,
10
+ ...boxProps
11
+ }: AttachmentRootProps) => {
12
+ return <Box {...boxProps}>{children}</Box>;
13
+ };
@@ -0,0 +1,13 @@
1
+ import type { ComponentProps, FC } from "react";
2
+ import { Text } from "ink";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+
5
+ export type AttachmentThumbProps = ComponentProps<typeof Text>;
6
+
7
+ export const AttachmentThumb: FC<AttachmentThumbProps> = (props) => {
8
+ const ext = useAuiState((s) => {
9
+ const parts = s.attachment.name.split(".");
10
+ return parts.length > 1 ? parts.pop()! : "";
11
+ });
12
+ return <Text {...props}>.{ext}</Text>;
13
+ };
@@ -0,0 +1,7 @@
1
+ export { AttachmentRoot, type AttachmentRootProps } from "./AttachmentRoot";
2
+ export { AttachmentName, type AttachmentNameProps } from "./AttachmentName";
3
+ export { AttachmentThumb, type AttachmentThumbProps } from "./AttachmentThumb";
4
+ export {
5
+ AttachmentRemove,
6
+ type AttachmentRemoveProps,
7
+ } from "./AttachmentRemove";
@@ -0,0 +1,10 @@
1
+ import type { ComponentProps } from "react";
2
+ import { Text } from "ink";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+
5
+ export type BranchPickerCountProps = ComponentProps<typeof Text>;
6
+
7
+ export const BranchPickerCount = (props: BranchPickerCountProps) => {
8
+ const branchCount = useAuiState((s) => s.message.branchCount);
9
+ return <Text {...props}>{branchCount}</Text>;
10
+ };
@@ -0,0 +1,37 @@
1
+ import type { ReactNode } from "react";
2
+ import { useCallback } from "react";
3
+ import { useAui, useAuiState } from "@assistant-ui/store";
4
+ import { Pressable, type PressableProps } from "../internal/Pressable";
5
+
6
+ export type BranchPickerNextProps = Omit<PressableProps, "onPress"> & {
7
+ children: ReactNode;
8
+ };
9
+
10
+ export const BranchPickerNext = ({
11
+ children,
12
+ disabled: disabledProp,
13
+ ...pressableProps
14
+ }: BranchPickerNextProps) => {
15
+ const aui = useAui();
16
+ const disabled = useAuiState((s) => {
17
+ if (s.message.branchNumber >= s.message.branchCount) return true;
18
+ if (s.thread.isRunning && !s.thread.capabilities.switchBranchDuringRun) {
19
+ return true;
20
+ }
21
+ return false;
22
+ });
23
+
24
+ const goToNext = useCallback(() => {
25
+ aui.message().switchToBranch({ position: "next" });
26
+ }, [aui]);
27
+
28
+ return (
29
+ <Pressable
30
+ onPress={goToNext}
31
+ disabled={disabledProp ?? disabled}
32
+ {...pressableProps}
33
+ >
34
+ {children}
35
+ </Pressable>
36
+ );
37
+ };
@@ -0,0 +1,10 @@
1
+ import type { ComponentProps } from "react";
2
+ import { Text } from "ink";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+
5
+ export type BranchPickerNumberProps = ComponentProps<typeof Text>;
6
+
7
+ export const BranchPickerNumber = (props: BranchPickerNumberProps) => {
8
+ const branchNumber = useAuiState((s) => s.message.branchNumber);
9
+ return <Text {...props}>{branchNumber}</Text>;
10
+ };
@@ -0,0 +1,37 @@
1
+ import type { ReactNode } from "react";
2
+ import { useCallback } from "react";
3
+ import { useAui, useAuiState } from "@assistant-ui/store";
4
+ import { Pressable, type PressableProps } from "../internal/Pressable";
5
+
6
+ export type BranchPickerPreviousProps = Omit<PressableProps, "onPress"> & {
7
+ children: ReactNode;
8
+ };
9
+
10
+ export const BranchPickerPrevious = ({
11
+ children,
12
+ disabled: disabledProp,
13
+ ...pressableProps
14
+ }: BranchPickerPreviousProps) => {
15
+ const aui = useAui();
16
+ const disabled = useAuiState((s) => {
17
+ if (s.message.branchNumber <= 1) return true;
18
+ if (s.thread.isRunning && !s.thread.capabilities.switchBranchDuringRun) {
19
+ return true;
20
+ }
21
+ return false;
22
+ });
23
+
24
+ const goToPrevious = useCallback(() => {
25
+ aui.message().switchToBranch({ position: "previous" });
26
+ }, [aui]);
27
+
28
+ return (
29
+ <Pressable
30
+ onPress={goToPrevious}
31
+ disabled={disabledProp ?? disabled}
32
+ {...pressableProps}
33
+ >
34
+ {children}
35
+ </Pressable>
36
+ );
37
+ };
@@ -0,0 +1,16 @@
1
+ export {
2
+ BranchPickerPrevious,
3
+ type BranchPickerPreviousProps,
4
+ } from "./BranchPickerPrevious";
5
+ export {
6
+ BranchPickerNext,
7
+ type BranchPickerNextProps,
8
+ } from "./BranchPickerNext";
9
+ export {
10
+ BranchPickerNumber,
11
+ type BranchPickerNumberProps,
12
+ } from "./BranchPickerNumber";
13
+ export {
14
+ BranchPickerCount,
15
+ type BranchPickerCountProps,
16
+ } from "./BranchPickerCount";
@@ -0,0 +1,28 @@
1
+ import { useCallback, type ReactNode } from "react";
2
+ import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { Pressable, type PressableProps } from "../internal/Pressable";
4
+
5
+ export type ChainOfThoughtAccordionTriggerProps = Omit<
6
+ PressableProps,
7
+ "onPress"
8
+ > & {
9
+ children: ReactNode;
10
+ };
11
+
12
+ export const ChainOfThoughtAccordionTrigger = ({
13
+ children,
14
+ ...pressableProps
15
+ }: ChainOfThoughtAccordionTriggerProps) => {
16
+ const aui = useAui();
17
+ const collapsed = useAuiState((s) => s.chainOfThought.collapsed);
18
+
19
+ const onPress = useCallback(() => {
20
+ aui.chainOfThought().setCollapsed(!collapsed);
21
+ }, [aui, collapsed]);
22
+
23
+ return (
24
+ <Pressable onPress={onPress} {...pressableProps}>
25
+ {children}
26
+ </Pressable>
27
+ );
28
+ };
@@ -0,0 +1,13 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ import { Box } from "ink";
3
+
4
+ export type ChainOfThoughtRootProps = ComponentProps<typeof Box> & {
5
+ children: ReactNode;
6
+ };
7
+
8
+ export const ChainOfThoughtRoot = ({
9
+ children,
10
+ ...boxProps
11
+ }: ChainOfThoughtRootProps) => {
12
+ return <Box {...boxProps}>{children}</Box>;
13
+ };
@@ -0,0 +1,9 @@
1
+ export {
2
+ ChainOfThoughtRoot,
3
+ type ChainOfThoughtRootProps,
4
+ } from "./ChainOfThoughtRoot";
5
+ export {
6
+ ChainOfThoughtAccordionTrigger,
7
+ type ChainOfThoughtAccordionTriggerProps,
8
+ } from "./ChainOfThoughtAccordionTrigger";
9
+ export { ChainOfThoughtPrimitiveParts } from "@assistant-ui/core/react";
@@ -0,0 +1,23 @@
1
+ import type { ReactNode } from "react";
2
+ import { useAuiState } from "@assistant-ui/store";
3
+ import { useComposerAddAttachment } from "../../primitive-hooks/useComposerAddAttachment";
4
+ import { Pressable, type PressableProps } from "../internal/Pressable";
5
+
6
+ export type ComposerAddAttachmentProps = Omit<PressableProps, "onPress"> & {
7
+ children: ReactNode;
8
+ };
9
+
10
+ export const ComposerAddAttachment = ({
11
+ children,
12
+ disabled: disabledProp,
13
+ ...pressableProps
14
+ }: ComposerAddAttachmentProps) => {
15
+ const isDisabled = useAuiState((s) => !s.composer.isEditing);
16
+ const { addAttachment: _addAttachment } = useComposerAddAttachment();
17
+
18
+ return (
19
+ <Pressable disabled={disabledProp ?? isDisabled} {...pressableProps}>
20
+ {children}
21
+ </Pressable>
22
+ );
23
+ };
@@ -0,0 +1,25 @@
1
+ import type { ComponentType } from "react";
2
+ import {
3
+ ComposerPrimitiveAttachments,
4
+ ComposerPrimitiveAttachmentByIndex,
5
+ } from "@assistant-ui/core/react";
6
+
7
+ export type AttachmentComponents = {
8
+ Image?: ComponentType | undefined;
9
+ Document?: ComponentType | undefined;
10
+ File?: ComponentType | undefined;
11
+ Attachment?: ComponentType | undefined;
12
+ };
13
+
14
+ export type ComposerAttachmentsProps = {
15
+ components: AttachmentComponents | undefined;
16
+ };
17
+
18
+ export type ComposerAttachmentByIndexProps = {
19
+ index: number;
20
+ components?: AttachmentComponents | undefined;
21
+ };
22
+
23
+ export const ComposerAttachmentByIndex = ComposerPrimitiveAttachmentByIndex;
24
+
25
+ export const ComposerAttachments = ComposerPrimitiveAttachments;
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import { useComposerCancel } from "../../primitive-hooks/useComposerCancel";
3
+ import { Pressable, type PressableProps } from "../internal/Pressable";
4
+
5
+ export type ComposerCancelProps = Omit<PressableProps, "onPress"> & {
6
+ children: ReactNode;
7
+ };
8
+
9
+ export const ComposerCancel = ({
10
+ children,
11
+ disabled,
12
+ ...pressableProps
13
+ }: ComposerCancelProps) => {
14
+ const { cancel, canCancel } = useComposerCancel();
15
+
16
+ return (
17
+ <Pressable
18
+ onPress={cancel}
19
+ disabled={disabled ?? !canCancel}
20
+ {...pressableProps}
21
+ >
22
+ {children}
23
+ </Pressable>
24
+ );
25
+ };
@@ -0,0 +1 @@
1
+ export { ComposerPrimitiveIf as ComposerIf } from "@assistant-ui/core/react";
@@ -0,0 +1,49 @@
1
+ import type { ComponentProps } from "react";
2
+ import { Box, Text, useFocus, useInput } from "ink";
3
+ import { useAui, useAuiState } from "@assistant-ui/store";
4
+
5
+ export type ComposerInputProps = ComponentProps<typeof Box> & {
6
+ /** Submit the message when Enter is pressed. @default false */
7
+ submitOnEnter?: boolean | undefined;
8
+ /** Placeholder text shown when the input is empty. */
9
+ placeholder?: string | undefined;
10
+ /** Whether this input should receive focus automatically. @default true */
11
+ autoFocus?: boolean | undefined;
12
+ };
13
+
14
+ export const ComposerInput = ({
15
+ submitOnEnter = false,
16
+ placeholder = "",
17
+ autoFocus = true,
18
+ ...boxProps
19
+ }: ComposerInputProps) => {
20
+ const aui = useAui();
21
+ const text = useAuiState((s) => s.composer.text);
22
+ const { isFocused } = useFocus({ autoFocus });
23
+
24
+ useInput(
25
+ (input, key) => {
26
+ if (key.return) {
27
+ if (submitOnEnter) {
28
+ aui.composer().send();
29
+ }
30
+ return;
31
+ }
32
+ if (key.backspace || key.delete) {
33
+ aui.composer().setText(text.slice(0, -1));
34
+ return;
35
+ }
36
+ if (input && !key.ctrl && !key.meta) {
37
+ aui.composer().setText(text + input);
38
+ }
39
+ },
40
+ { isActive: isFocused },
41
+ );
42
+
43
+ return (
44
+ <Box {...boxProps}>
45
+ <Text dimColor={!text && !!placeholder}>{text || placeholder}</Text>
46
+ {isFocused && <Text>▋</Text>}
47
+ </Box>
48
+ );
49
+ };
@@ -0,0 +1,10 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ import { Box } from "ink";
3
+
4
+ export type ComposerRootProps = ComponentProps<typeof Box> & {
5
+ children: ReactNode;
6
+ };
7
+
8
+ export const ComposerRoot = ({ children, ...boxProps }: ComposerRootProps) => {
9
+ return <Box {...boxProps}>{children}</Box>;
10
+ };
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import { useComposerSend } from "../../primitive-hooks/useComposerSend";
3
+ import { Pressable, type PressableProps } from "../internal/Pressable";
4
+
5
+ export type ComposerSendProps = Omit<PressableProps, "onPress"> & {
6
+ children: ReactNode;
7
+ };
8
+
9
+ export const ComposerSend = ({
10
+ children,
11
+ disabled,
12
+ ...pressableProps
13
+ }: ComposerSendProps) => {
14
+ const { send, canSend } = useComposerSend();
15
+
16
+ return (
17
+ <Pressable
18
+ onPress={send}
19
+ disabled={disabled ?? !canSend}
20
+ {...pressableProps}
21
+ >
22
+ {children}
23
+ </Pressable>
24
+ );
25
+ };
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from "react";
2
+ import { useEditComposerCancel } from "../../primitive-hooks/useEditComposerCancel";
3
+ import { Pressable, type PressableProps } from "../internal/Pressable";
4
+
5
+ export type EditComposerCancelProps = Omit<PressableProps, "onPress"> & {
6
+ children: ReactNode;
7
+ };
8
+
9
+ export const EditComposerCancel = ({
10
+ children,
11
+ ...pressableProps
12
+ }: EditComposerCancelProps) => {
13
+ const { cancel } = useEditComposerCancel();
14
+
15
+ return (
16
+ <Pressable onPress={cancel} {...pressableProps}>
17
+ {children}
18
+ </Pressable>
19
+ );
20
+ };
@@ -0,0 +1,40 @@
1
+ import type { ComponentProps } from "react";
2
+ import { Box, Text, useFocus, useInput } from "ink";
3
+ import { useAui, useAuiState } from "@assistant-ui/store";
4
+
5
+ export type EditComposerInputProps = ComponentProps<typeof Box> & {
6
+ /** Placeholder text shown when the input is empty. */
7
+ placeholder?: string | undefined;
8
+ /** Whether this input should receive focus automatically. @default true */
9
+ autoFocus?: boolean | undefined;
10
+ };
11
+
12
+ export const EditComposerInput = ({
13
+ placeholder = "",
14
+ autoFocus = true,
15
+ ...boxProps
16
+ }: EditComposerInputProps) => {
17
+ const aui = useAui();
18
+ const text = useAuiState((s) => s.composer.text);
19
+ const { isFocused } = useFocus({ autoFocus });
20
+
21
+ useInput(
22
+ (input, key) => {
23
+ if (key.backspace || key.delete) {
24
+ aui.composer().setText(text.slice(0, -1));
25
+ return;
26
+ }
27
+ if (input && !key.ctrl && !key.meta && !key.return) {
28
+ aui.composer().setText(text + input);
29
+ }
30
+ },
31
+ { isActive: isFocused },
32
+ );
33
+
34
+ return (
35
+ <Box {...boxProps}>
36
+ <Text dimColor={!text && !!placeholder}>{text || placeholder}</Text>
37
+ {isFocused && <Text>▋</Text>}
38
+ </Box>
39
+ );
40
+ };
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import { useEditComposerSend } from "../../primitive-hooks/useEditComposerSend";
3
+ import { Pressable, type PressableProps } from "../internal/Pressable";
4
+
5
+ export type EditComposerSendProps = Omit<PressableProps, "onPress"> & {
6
+ children: ReactNode;
7
+ };
8
+
9
+ export const EditComposerSend = ({
10
+ children,
11
+ disabled: disabledProp,
12
+ ...pressableProps
13
+ }: EditComposerSendProps) => {
14
+ const { send, disabled } = useEditComposerSend();
15
+
16
+ return (
17
+ <Pressable
18
+ onPress={send}
19
+ disabled={disabledProp ?? disabled}
20
+ {...pressableProps}
21
+ >
22
+ {children}
23
+ </Pressable>
24
+ );
25
+ };
@@ -0,0 +1,25 @@
1
+ export { ComposerRoot, type ComposerRootProps } from "./ComposerRoot";
2
+ export {
3
+ ComposerAttachments,
4
+ ComposerAttachmentByIndex,
5
+ } from "./ComposerAttachments";
6
+ export { ComposerInput, type ComposerInputProps } from "./ComposerInput";
7
+ export { ComposerSend, type ComposerSendProps } from "./ComposerSend";
8
+ export { ComposerCancel, type ComposerCancelProps } from "./ComposerCancel";
9
+ export {
10
+ ComposerAddAttachment,
11
+ type ComposerAddAttachmentProps,
12
+ } from "./ComposerAddAttachment";
13
+ export { ComposerIf } from "./ComposerIf";
14
+ export {
15
+ EditComposerInput,
16
+ type EditComposerInputProps,
17
+ } from "./EditComposerInput";
18
+ export {
19
+ EditComposerSend,
20
+ type EditComposerSendProps,
21
+ } from "./EditComposerSend";
22
+ export {
23
+ EditComposerCancel,
24
+ type EditComposerCancelProps,
25
+ } from "./EditComposerCancel";
@@ -0,0 +1,28 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ import { Box, useFocus, useInput } from "ink";
3
+
4
+ export type PressableProps = ComponentProps<typeof Box> & {
5
+ children: ReactNode;
6
+ onPress?: (() => void) | undefined;
7
+ disabled?: boolean | undefined;
8
+ };
9
+
10
+ export const Pressable = ({
11
+ children,
12
+ onPress,
13
+ disabled,
14
+ ...boxProps
15
+ }: PressableProps) => {
16
+ const { isFocused } = useFocus({ isActive: !disabled });
17
+
18
+ useInput(
19
+ (_input, key) => {
20
+ if (key.return && onPress) {
21
+ onPress();
22
+ }
23
+ },
24
+ { isActive: isFocused && !disabled },
25
+ );
26
+
27
+ return <Box {...boxProps}>{children}</Box>;
28
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ MessagePrimitiveAttachments,
3
+ MessagePrimitiveAttachmentByIndex,
4
+ } from "@assistant-ui/core/react";
5
+ import type { AttachmentComponents } from "../composer/ComposerAttachments";
6
+
7
+ export type MessageAttachmentsProps = {
8
+ components: AttachmentComponents | undefined;
9
+ };
10
+
11
+ export type MessageAttachmentByIndexProps = {
12
+ index: number;
13
+ components?: AttachmentComponents | undefined;
14
+ };
15
+
16
+ export const MessageAttachmentByIndex = MessagePrimitiveAttachmentByIndex;
17
+
18
+ export const MessageAttachments = MessagePrimitiveAttachments;