@athenaintel/react 0.19.0 → 0.20.0

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 (857) hide show
  1. package/README.md +97 -11
  2. package/dist/assets/AssetPanel.cjs +277 -0
  3. package/dist/assets/AssetPanel.cjs.map +1 -0
  4. package/dist/assets/AssetPanel.js +277 -0
  5. package/dist/assets/AssetPanel.js.map +1 -0
  6. package/dist/assets/AthenaAssetEmbed.cjs +151 -0
  7. package/dist/assets/AthenaAssetEmbed.cjs.map +1 -0
  8. package/dist/assets/AthenaAssetEmbed.js +151 -0
  9. package/dist/assets/AthenaAssetEmbed.js.map +1 -0
  10. package/dist/assets/AthenaLayout.cjs +69 -0
  11. package/dist/assets/AthenaLayout.cjs.map +1 -0
  12. package/dist/assets/AthenaLayout.js +69 -0
  13. package/dist/assets/AthenaLayout.js.map +1 -0
  14. package/dist/assets/asset-embed-messages.cjs +39 -0
  15. package/dist/assets/asset-embed-messages.cjs.map +1 -0
  16. package/dist/assets/asset-embed-messages.js +39 -0
  17. package/dist/assets/asset-embed-messages.js.map +1 -0
  18. package/dist/assets/asset-panel-store.cjs +124 -0
  19. package/dist/assets/asset-panel-store.cjs.map +1 -0
  20. package/dist/assets/asset-panel-store.js +124 -0
  21. package/dist/assets/asset-panel-store.js.map +1 -0
  22. package/dist/assets/asset-panel-url.cjs +40 -0
  23. package/dist/assets/asset-panel-url.cjs.map +1 -0
  24. package/dist/assets/asset-panel-url.js +40 -0
  25. package/dist/assets/asset-panel-url.js.map +1 -0
  26. package/dist/assets/use-asset-embed.cjs +362 -0
  27. package/dist/assets/use-asset-embed.cjs.map +1 -0
  28. package/dist/assets/use-asset-embed.js +362 -0
  29. package/dist/assets/use-asset-embed.js.map +1 -0
  30. package/dist/{AthenaAuthContext-B3AwLA5Z.cjs → auth/AthenaAuthContext.cjs} +5 -4
  31. package/dist/auth/AthenaAuthContext.cjs.map +1 -0
  32. package/dist/{AthenaAuthContext-DQsdayH2.js → auth/AthenaAuthContext.js} +3 -3
  33. package/dist/auth/AthenaAuthContext.js.map +1 -0
  34. package/dist/auth/AthenaAuthProvider.cjs +141 -0
  35. package/dist/auth/AthenaAuthProvider.cjs.map +1 -0
  36. package/dist/auth/AthenaAuthProvider.js +141 -0
  37. package/dist/auth/AthenaAuthProvider.js.map +1 -0
  38. package/dist/{auth.cjs → auth/AthenaSSOProvider.cjs} +14 -151
  39. package/dist/auth/AthenaSSOProvider.cjs.map +1 -0
  40. package/dist/{auth.js → auth/AthenaSSOProvider.js} +4 -142
  41. package/dist/auth/AthenaSSOProvider.js.map +1 -0
  42. package/dist/auth/index.cjs +10 -0
  43. package/dist/auth/index.cjs.map +1 -0
  44. package/dist/auth/index.js +10 -0
  45. package/dist/auth/index.js.map +1 -0
  46. package/dist/chat/AthenaChat.cjs +753 -0
  47. package/dist/chat/AthenaChat.cjs.map +1 -0
  48. package/dist/chat/AthenaChat.d.ts +3 -2
  49. package/dist/chat/AthenaChat.js +753 -0
  50. package/dist/chat/AthenaChat.js.map +1 -0
  51. package/dist/chat/AthenaChatErrorBoundary.cjs +53 -0
  52. package/dist/chat/AthenaChatErrorBoundary.cjs.map +1 -0
  53. package/dist/chat/AthenaChatErrorBoundary.js +53 -0
  54. package/dist/chat/AthenaChatErrorBoundary.js.map +1 -0
  55. package/dist/chat/StatewireApprovalCard.cjs +171 -0
  56. package/dist/chat/StatewireApprovalCard.cjs.map +1 -0
  57. package/dist/chat/StatewireApprovalCard.js +171 -0
  58. package/dist/chat/StatewireApprovalCard.js.map +1 -0
  59. package/dist/chat/StatewireClientToolBridge.cjs +50 -0
  60. package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
  61. package/dist/chat/StatewireClientToolBridge.js +50 -0
  62. package/dist/chat/StatewireClientToolBridge.js.map +1 -0
  63. package/dist/chat/StatewireQueuedMessages.cjs +432 -0
  64. package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
  65. package/dist/chat/StatewireQueuedMessages.d.ts +3 -4
  66. package/dist/chat/StatewireQueuedMessages.js +432 -0
  67. package/dist/chat/StatewireQueuedMessages.js.map +1 -0
  68. package/dist/chat/athena-citation-links.cjs +326 -0
  69. package/dist/chat/athena-citation-links.cjs.map +1 -0
  70. package/dist/chat/athena-citation-links.js +326 -0
  71. package/dist/chat/athena-citation-links.js.map +1 -0
  72. package/dist/chat/run-activity.cjs +28 -0
  73. package/dist/chat/run-activity.cjs.map +1 -0
  74. package/dist/chat/run-activity.js +28 -0
  75. package/dist/chat/run-activity.js.map +1 -0
  76. package/dist/chat/statewire-banners.cjs +83 -0
  77. package/dist/chat/statewire-banners.cjs.map +1 -0
  78. package/dist/chat/statewire-banners.js +83 -0
  79. package/dist/chat/statewire-banners.js.map +1 -0
  80. package/dist/chat/statewire-client-tools.cjs +73 -0
  81. package/dist/chat/statewire-client-tools.cjs.map +1 -0
  82. package/dist/chat/statewire-client-tools.js +73 -0
  83. package/dist/chat/statewire-client-tools.js.map +1 -0
  84. package/dist/chat/super-grouping/CollapsibleGroup.cjs +158 -0
  85. package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -0
  86. package/dist/chat/super-grouping/CollapsibleGroup.js +158 -0
  87. package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -0
  88. package/dist/chat/super-grouping/SuperGroupingCard.cjs +361 -0
  89. package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
  90. package/dist/chat/super-grouping/SuperGroupingCard.d.ts +4 -1
  91. package/dist/chat/super-grouping/SuperGroupingCard.js +361 -0
  92. package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
  93. package/dist/chat/super-grouping/activity-timeline.cjs +151 -0
  94. package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
  95. package/dist/chat/super-grouping/activity-timeline.d.ts +3 -3
  96. package/dist/chat/super-grouping/activity-timeline.js +151 -0
  97. package/dist/chat/super-grouping/activity-timeline.js.map +1 -0
  98. package/dist/chat/super-grouping/grouping-function.cjs +55 -0
  99. package/dist/chat/super-grouping/grouping-function.cjs.map +1 -0
  100. package/dist/chat/super-grouping/grouping-function.js +55 -0
  101. package/dist/chat/super-grouping/grouping-function.js.map +1 -0
  102. package/dist/chat/super-grouping/index.cjs +26 -0
  103. package/dist/chat/super-grouping/index.cjs.map +1 -0
  104. package/dist/chat/super-grouping/index.js +26 -0
  105. package/dist/chat/super-grouping/index.js.map +1 -0
  106. package/dist/chat/super-grouping/toolkit-map.cjs +96 -0
  107. package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -0
  108. package/dist/chat/super-grouping/toolkit-map.js +96 -0
  109. package/dist/chat/super-grouping/toolkit-map.js.map +1 -0
  110. package/dist/chat/tiptap-text.cjs +101 -0
  111. package/dist/chat/tiptap-text.cjs.map +1 -0
  112. package/dist/chat/tiptap-text.js +101 -0
  113. package/dist/chat/tiptap-text.js.map +1 -0
  114. package/dist/chat/tooltip-icon-button.cjs +32 -0
  115. package/dist/chat/tooltip-icon-button.cjs.map +1 -0
  116. package/dist/chat/tooltip-icon-button.js +32 -0
  117. package/dist/chat/tooltip-icon-button.js.map +1 -0
  118. package/dist/chat/use-athena-run-live.cjs +23 -0
  119. package/dist/chat/use-athena-run-live.cjs.map +1 -0
  120. package/dist/chat/use-athena-run-live.d.ts +10 -0
  121. package/dist/chat/use-athena-run-live.js +23 -0
  122. package/dist/chat/use-athena-run-live.js.map +1 -0
  123. package/dist/chat/use-statewire-approval-request.cjs +46 -0
  124. package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
  125. package/dist/chat/use-statewire-approval-request.js +46 -0
  126. package/dist/chat/use-statewire-approval-request.js.map +1 -0
  127. package/dist/chat-ui/auth/sign-in-card.cjs +128 -0
  128. package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -0
  129. package/dist/chat-ui/auth/sign-in-card.js +128 -0
  130. package/dist/chat-ui/auth/sign-in-card.js.map +1 -0
  131. package/dist/chat-ui/composer/composer-action.cjs +11 -0
  132. package/dist/chat-ui/composer/composer-action.cjs.map +1 -0
  133. package/dist/chat-ui/composer/composer-action.d.ts +5 -8
  134. package/dist/chat-ui/composer/composer-action.js +11 -0
  135. package/dist/chat-ui/composer/composer-action.js.map +1 -0
  136. package/dist/chat-ui/composer/pending-attachment-uploads.cjs +25 -0
  137. package/dist/chat-ui/composer/pending-attachment-uploads.cjs.map +1 -0
  138. package/dist/chat-ui/composer/pending-attachment-uploads.js +25 -0
  139. package/dist/chat-ui/composer/pending-attachment-uploads.js.map +1 -0
  140. package/dist/chat-ui/composer/tiptap-composer.cjs +590 -0
  141. package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -0
  142. package/dist/chat-ui/composer/tiptap-composer.d.ts +44 -7
  143. package/dist/chat-ui/composer/tiptap-composer.js +590 -0
  144. package/dist/chat-ui/composer/tiptap-composer.js.map +1 -0
  145. package/dist/chat-ui/header/chat-header.cjs +33 -0
  146. package/dist/chat-ui/header/chat-header.cjs.map +1 -0
  147. package/dist/chat-ui/header/chat-header.js +33 -0
  148. package/dist/chat-ui/header/chat-header.js.map +1 -0
  149. package/dist/chat-ui/header/conversation-history-panel.cjs +369 -0
  150. package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -0
  151. package/dist/chat-ui/header/conversation-history-panel.js +369 -0
  152. package/dist/chat-ui/header/conversation-history-panel.js.map +1 -0
  153. package/dist/chat-ui/index.cjs +139 -0
  154. package/dist/chat-ui/index.cjs.map +1 -0
  155. package/dist/chat-ui/index.d.ts +4 -3
  156. package/dist/chat-ui/index.js +139 -0
  157. package/dist/chat-ui/index.js.map +1 -0
  158. package/dist/chat-ui/lib/asset-urls.cjs +18 -0
  159. package/dist/chat-ui/lib/asset-urls.cjs.map +1 -0
  160. package/dist/chat-ui/lib/asset-urls.js +18 -0
  161. package/dist/chat-ui/lib/asset-urls.js.map +1 -0
  162. package/dist/chat-ui/mentions/mention-chip.cjs +208 -0
  163. package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
  164. package/dist/chat-ui/mentions/mention-chip.js +208 -0
  165. package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
  166. package/dist/chat-ui/mentions/mention-extension.cjs +184 -0
  167. package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
  168. package/dist/chat-ui/mentions/mention-extension.d.ts +24 -2
  169. package/dist/chat-ui/mentions/mention-extension.js +184 -0
  170. package/dist/chat-ui/mentions/mention-extension.js.map +1 -0
  171. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +35 -0
  172. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -0
  173. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +35 -0
  174. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -0
  175. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +95 -0
  176. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -0
  177. package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +5 -0
  178. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +95 -0
  179. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -0
  180. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +116 -0
  181. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -0
  182. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +116 -0
  183. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -0
  184. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +31 -0
  185. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -0
  186. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +31 -0
  187. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -0
  188. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs +27 -0
  189. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs.map +1 -0
  190. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js +27 -0
  191. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js.map +1 -0
  192. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +62 -0
  193. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
  194. package/dist/chat-ui/mentions/suggestions/components/menu-item.js +62 -0
  195. package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -0
  196. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +63 -0
  197. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -0
  198. package/dist/chat-ui/mentions/suggestions/components/menu-list.js +63 -0
  199. package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -0
  200. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs +11 -0
  201. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs.map +1 -0
  202. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js +11 -0
  203. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js.map +1 -0
  204. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs +33 -0
  205. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs.map +1 -0
  206. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js +33 -0
  207. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js.map +1 -0
  208. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +58 -0
  209. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -0
  210. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js +58 -0
  211. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js.map +1 -0
  212. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +81 -0
  213. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -0
  214. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js +81 -0
  215. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js.map +1 -0
  216. package/dist/chat-ui/mentions/suggestions/components/utils.cjs +18 -0
  217. package/dist/chat-ui/mentions/suggestions/components/utils.cjs.map +1 -0
  218. package/dist/chat-ui/mentions/suggestions/components/utils.js +18 -0
  219. package/dist/chat-ui/mentions/suggestions/components/utils.js.map +1 -0
  220. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +123 -0
  221. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -0
  222. package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +10 -0
  223. package/dist/chat-ui/mentions/suggestions/data/api-client.js +123 -0
  224. package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -0
  225. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs +37 -0
  226. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs.map +1 -0
  227. package/dist/chat-ui/mentions/suggestions/data/item-cache.js +37 -0
  228. package/dist/chat-ui/mentions/suggestions/data/item-cache.js.map +1 -0
  229. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +134 -0
  230. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -0
  231. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +134 -0
  232. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -0
  233. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs +91 -0
  234. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs.map +1 -0
  235. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js +91 -0
  236. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js.map +1 -0
  237. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +137 -0
  238. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -0
  239. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +137 -0
  240. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -0
  241. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +375 -0
  242. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -0
  243. package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +16 -1
  244. package/dist/chat-ui/mentions/suggestions/data/sources/index.js +375 -0
  245. package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -0
  246. package/dist/chat-ui/mentions/suggestions/data/types.cjs +9 -0
  247. package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -0
  248. package/dist/chat-ui/mentions/suggestions/data/types.d.ts +14 -0
  249. package/dist/chat-ui/mentions/suggestions/data/types.js +9 -0
  250. package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -0
  251. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +173 -0
  252. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -0
  253. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +14 -4
  254. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +173 -0
  255. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -0
  256. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +45 -0
  257. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -0
  258. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +45 -0
  259. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -0
  260. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs +43 -0
  261. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs.map +1 -0
  262. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js +43 -0
  263. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js.map +1 -0
  264. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs +14 -0
  265. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs.map +1 -0
  266. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js +14 -0
  267. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js.map +1 -0
  268. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs +48 -0
  269. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs.map +1 -0
  270. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js +48 -0
  271. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js.map +1 -0
  272. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +71 -0
  273. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -0
  274. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +71 -0
  275. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -0
  276. package/dist/chat-ui/messages/continue-pill.cjs +54 -0
  277. package/dist/chat-ui/messages/continue-pill.cjs.map +1 -0
  278. package/dist/chat-ui/messages/continue-pill.js +54 -0
  279. package/dist/chat-ui/messages/continue-pill.js.map +1 -0
  280. package/dist/chat-ui/messages/message-actions-config.cjs +12 -0
  281. package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -0
  282. package/dist/chat-ui/messages/message-actions-config.js +12 -0
  283. package/dist/chat-ui/messages/message-actions-config.js.map +1 -0
  284. package/dist/chat-ui/messages/message-components.cjs +343 -0
  285. package/dist/chat-ui/messages/message-components.cjs.map +1 -0
  286. package/dist/chat-ui/messages/message-components.d.ts +13 -1
  287. package/dist/chat-ui/messages/message-components.js +343 -0
  288. package/dist/chat-ui/messages/message-components.js.map +1 -0
  289. package/dist/chat-ui/messages/running-indicator.cjs +49 -0
  290. package/dist/chat-ui/messages/running-indicator.cjs.map +1 -0
  291. package/dist/chat-ui/messages/running-indicator.js +49 -0
  292. package/dist/chat-ui/messages/running-indicator.js.map +1 -0
  293. package/dist/chat-ui/messages/runtime-message.cjs +65 -0
  294. package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
  295. package/dist/chat-ui/messages/runtime-message.js +65 -0
  296. package/dist/chat-ui/messages/runtime-message.js.map +1 -0
  297. package/dist/{statewire-continue-run-nE9VCKUh.cjs → chat-ui/messages/statewire-continue-run.cjs} +39 -16
  298. package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
  299. package/dist/chat-ui/messages/statewire-continue-run.d.ts +5 -1
  300. package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js} +29 -7
  301. package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
  302. package/dist/chat-ui/messages/user-edit-composer.cjs +61 -0
  303. package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
  304. package/dist/chat-ui/messages/user-edit-composer.js +61 -0
  305. package/dist/chat-ui/messages/user-edit-composer.js.map +1 -0
  306. package/dist/chat-ui/messages/voice-delegation-card.cjs +51 -0
  307. package/dist/chat-ui/messages/voice-delegation-card.cjs.map +1 -0
  308. package/dist/chat-ui/messages/voice-delegation-card.d.ts +26 -0
  309. package/dist/chat-ui/messages/voice-delegation-card.js +51 -0
  310. package/dist/chat-ui/messages/voice-delegation-card.js.map +1 -0
  311. package/dist/chat-ui/statewire.cjs +39 -0
  312. package/dist/chat-ui/statewire.cjs.map +1 -0
  313. package/dist/chat-ui/statewire.js +39 -0
  314. package/dist/chat-ui/statewire.js.map +1 -0
  315. package/dist/chat-ui/thread/chat-composer-dock.cjs +37 -0
  316. package/dist/chat-ui/thread/chat-composer-dock.cjs.map +1 -0
  317. package/dist/chat-ui/thread/chat-composer-dock.js +37 -0
  318. package/dist/chat-ui/thread/chat-composer-dock.js.map +1 -0
  319. package/dist/chat-ui/thread/chat-thread-shell.cjs +102 -0
  320. package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -0
  321. package/dist/chat-ui/thread/chat-thread-shell.js +102 -0
  322. package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -0
  323. package/dist/chat-ui/thread/composer-send-or-stop.cjs +75 -0
  324. package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -0
  325. package/dist/chat-ui/thread/composer-send-or-stop.d.ts +0 -6
  326. package/dist/chat-ui/thread/composer-send-or-stop.js +75 -0
  327. package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -0
  328. package/dist/chat-ui/thread/statewire-history-edge.cjs +134 -0
  329. package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
  330. package/dist/chat-ui/thread/statewire-history-edge.js +134 -0
  331. package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -0
  332. package/dist/{collab.cjs → collab/client.cjs} +6 -166
  333. package/dist/collab/client.cjs.map +1 -0
  334. package/dist/{collab.js → collab/client.js} +5 -164
  335. package/dist/collab/client.js.map +1 -0
  336. package/dist/collab/close-policy.cjs +14 -0
  337. package/dist/collab/close-policy.cjs.map +1 -0
  338. package/dist/collab/close-policy.js +14 -0
  339. package/dist/collab/close-policy.js.map +1 -0
  340. package/dist/collab/index.cjs +17 -0
  341. package/dist/collab/index.cjs.map +1 -0
  342. package/dist/collab/index.js +17 -0
  343. package/dist/collab/index.js.map +1 -0
  344. package/dist/collab/mint.cjs +59 -0
  345. package/dist/collab/mint.cjs.map +1 -0
  346. package/dist/collab/mint.js +59 -0
  347. package/dist/collab/mint.js.map +1 -0
  348. package/dist/collab/react.cjs +58 -0
  349. package/dist/collab/react.cjs.map +1 -0
  350. package/dist/collab/react.js +58 -0
  351. package/dist/collab/react.js.map +1 -0
  352. package/dist/collab/shape.cjs +45 -0
  353. package/dist/collab/shape.cjs.map +1 -0
  354. package/dist/collab/shape.js +45 -0
  355. package/dist/collab/shape.js.map +1 -0
  356. package/dist/composer/AttachmentContext.cjs +40 -0
  357. package/dist/composer/AttachmentContext.cjs.map +1 -0
  358. package/dist/composer/AttachmentContext.js +40 -0
  359. package/dist/composer/AttachmentContext.js.map +1 -0
  360. package/dist/composer/ComposerAttachmentPreview.cjs +39 -0
  361. package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -0
  362. package/dist/composer/ComposerAttachmentPreview.js +39 -0
  363. package/dist/composer/ComposerAttachmentPreview.js.map +1 -0
  364. package/dist/composer/ComposerDropZone.cjs +61 -0
  365. package/dist/composer/ComposerDropZone.cjs.map +1 -0
  366. package/dist/composer/ComposerDropZone.d.ts +1 -1
  367. package/dist/composer/ComposerDropZone.js +61 -0
  368. package/dist/composer/ComposerDropZone.js.map +1 -0
  369. package/dist/composer/ComposerQuotePreview.cjs +42 -0
  370. package/dist/composer/ComposerQuotePreview.cjs.map +1 -0
  371. package/dist/composer/ComposerQuotePreview.js +42 -0
  372. package/dist/composer/ComposerQuotePreview.js.map +1 -0
  373. package/dist/composer/FileUploadButton.cjs +65 -0
  374. package/dist/composer/FileUploadButton.cjs.map +1 -0
  375. package/dist/composer/FileUploadButton.d.ts +1 -1
  376. package/dist/composer/FileUploadButton.js +65 -0
  377. package/dist/composer/FileUploadButton.js.map +1 -0
  378. package/dist/composer/QuoteContext.cjs +68 -0
  379. package/dist/composer/QuoteContext.cjs.map +1 -0
  380. package/dist/composer/QuoteContext.js +68 -0
  381. package/dist/composer/QuoteContext.js.map +1 -0
  382. package/dist/composer/build-composed-message.cjs +25 -0
  383. package/dist/composer/build-composed-message.cjs.map +1 -0
  384. package/dist/composer/build-composed-message.js +25 -0
  385. package/dist/composer/build-composed-message.js.map +1 -0
  386. package/dist/composer/clipboard.cjs +62 -0
  387. package/dist/composer/clipboard.cjs.map +1 -0
  388. package/dist/composer/clipboard.d.ts +27 -3
  389. package/dist/composer/clipboard.js +62 -0
  390. package/dist/composer/clipboard.js.map +1 -0
  391. package/dist/composer/useAppendToComposer.cjs +21 -0
  392. package/dist/composer/useAppendToComposer.cjs.map +1 -0
  393. package/dist/composer/useAppendToComposer.js +21 -0
  394. package/dist/composer/useAppendToComposer.js.map +1 -0
  395. package/dist/composer/useAttachFiles.cjs +40 -0
  396. package/dist/composer/useAttachFiles.cjs.map +1 -0
  397. package/dist/composer/useAttachFiles.d.ts +24 -0
  398. package/dist/composer/useAttachFiles.js +40 -0
  399. package/dist/composer/useAttachFiles.js.map +1 -0
  400. package/dist/composer/useComposerAttachment.cjs +25 -0
  401. package/dist/composer/useComposerAttachment.cjs.map +1 -0
  402. package/dist/composer/useComposerAttachment.js +25 -0
  403. package/dist/composer/useComposerAttachment.js.map +1 -0
  404. package/dist/composer/useFileUpload.cjs +123 -0
  405. package/dist/composer/useFileUpload.cjs.map +1 -0
  406. package/dist/composer/useFileUpload.js +123 -0
  407. package/dist/composer/useFileUpload.js.map +1 -0
  408. package/dist/composer/useSendMessage.cjs +22 -0
  409. package/dist/composer/useSendMessage.cjs.map +1 -0
  410. package/dist/composer/useSendMessage.js +22 -0
  411. package/dist/composer/useSendMessage.js.map +1 -0
  412. package/dist/diagnostics/athena-diagnostics.cjs +329 -0
  413. package/dist/diagnostics/athena-diagnostics.cjs.map +1 -0
  414. package/dist/diagnostics/athena-diagnostics.js +329 -0
  415. package/dist/diagnostics/athena-diagnostics.js.map +1 -0
  416. package/dist/diagnostics/errors.cjs +89 -0
  417. package/dist/diagnostics/errors.cjs.map +1 -0
  418. package/dist/diagnostics/errors.js +89 -0
  419. package/dist/diagnostics/errors.js.map +1 -0
  420. package/dist/diagnostics/useAthenaDiagnostics.cjs +16 -0
  421. package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -0
  422. package/dist/diagnostics/useAthenaDiagnostics.js +16 -0
  423. package/dist/diagnostics/useAthenaDiagnostics.js.map +1 -0
  424. package/dist/index.cjs +274 -27882
  425. package/dist/index.cjs.map +1 -1
  426. package/dist/index.d.ts +6 -4
  427. package/dist/index.js +161 -27759
  428. package/dist/index.js.map +1 -1
  429. package/dist/lib/athena-urls.cjs +194 -0
  430. package/dist/lib/athena-urls.cjs.map +1 -0
  431. package/dist/lib/athena-urls.d.ts +20 -5
  432. package/dist/lib/athena-urls.js +194 -0
  433. package/dist/lib/athena-urls.js.map +1 -0
  434. package/dist/lib/posthog/before-send.cjs +58 -0
  435. package/dist/lib/posthog/before-send.cjs.map +1 -0
  436. package/dist/lib/posthog/before-send.js +58 -0
  437. package/dist/lib/posthog/before-send.js.map +1 -0
  438. package/dist/lib/posthog/capture-gate.cjs +322 -0
  439. package/dist/lib/posthog/capture-gate.cjs.map +1 -0
  440. package/dist/lib/posthog/capture-gate.js +322 -0
  441. package/dist/lib/posthog/capture-gate.js.map +1 -0
  442. package/dist/lib/posthog/wrap-posthog-client.cjs +163 -0
  443. package/dist/lib/posthog/wrap-posthog-client.cjs.map +1 -0
  444. package/dist/lib/posthog/wrap-posthog-client.js +163 -0
  445. package/dist/lib/posthog/wrap-posthog-client.js.map +1 -0
  446. package/dist/lib/utils.cjs +12 -0
  447. package/dist/lib/utils.cjs.map +1 -0
  448. package/dist/lib/utils.js +9 -0
  449. package/dist/lib/utils.js.map +1 -0
  450. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +77 -0
  451. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +1 -0
  452. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +77 -0
  453. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +1 -0
  454. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +181 -0
  455. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +1 -0
  456. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +181 -0
  457. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +1 -0
  458. package/dist/packages/agent-runtime/src/asset-attachment.cjs +19 -0
  459. package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +1 -0
  460. package/dist/packages/agent-runtime/src/asset-attachment.js +19 -0
  461. package/dist/packages/agent-runtime/src/asset-attachment.js.map +1 -0
  462. package/dist/packages/agent-runtime/src/auth-denial.cjs +28 -0
  463. package/dist/packages/agent-runtime/src/auth-denial.cjs.map +1 -0
  464. package/dist/packages/agent-runtime/src/auth-denial.js +28 -0
  465. package/dist/packages/agent-runtime/src/auth-denial.js.map +1 -0
  466. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs +270 -0
  467. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
  468. package/dist/packages/agent-runtime/src/client-tool-bridge.js +270 -0
  469. package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +1 -0
  470. package/dist/packages/agent-runtime/src/client-tools.cjs +137 -0
  471. package/dist/packages/agent-runtime/src/client-tools.cjs.map +1 -0
  472. package/dist/packages/agent-runtime/src/client-tools.js +137 -0
  473. package/dist/packages/agent-runtime/src/client-tools.js.map +1 -0
  474. package/dist/packages/agent-runtime/src/conversation-index.cjs +80 -0
  475. package/dist/packages/agent-runtime/src/conversation-index.cjs.map +1 -0
  476. package/dist/packages/agent-runtime/src/conversation-index.js +80 -0
  477. package/dist/packages/agent-runtime/src/conversation-index.js.map +1 -0
  478. package/dist/packages/agent-runtime/src/conversation-list.cjs +86 -0
  479. package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
  480. package/dist/packages/agent-runtime/src/conversation-list.js +86 -0
  481. package/dist/packages/agent-runtime/src/conversation-list.js.map +1 -0
  482. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs +55 -0
  483. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
  484. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js +55 -0
  485. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
  486. package/dist/packages/agent-runtime/src/edit-command.cjs +89 -0
  487. package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -0
  488. package/dist/packages/agent-runtime/src/edit-command.js +89 -0
  489. package/dist/packages/agent-runtime/src/edit-command.js.map +1 -0
  490. package/dist/packages/agent-runtime/src/errors.cjs +95 -0
  491. package/dist/packages/agent-runtime/src/errors.cjs.map +1 -0
  492. package/dist/packages/agent-runtime/src/errors.js +95 -0
  493. package/dist/packages/agent-runtime/src/errors.js.map +1 -0
  494. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +236 -0
  495. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
  496. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +236 -0
  497. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
  498. package/dist/packages/agent-runtime/src/interrupts.cjs +117 -0
  499. package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
  500. package/dist/packages/agent-runtime/src/interrupts.js +117 -0
  501. package/dist/packages/agent-runtime/src/interrupts.js.map +1 -0
  502. package/dist/packages/agent-runtime/src/message-author.cjs +31 -0
  503. package/dist/packages/agent-runtime/src/message-author.cjs.map +1 -0
  504. package/dist/packages/agent-runtime/src/message-author.js +31 -0
  505. package/dist/packages/agent-runtime/src/message-author.js.map +1 -0
  506. package/dist/packages/agent-runtime/src/message-window.cjs +85 -0
  507. package/dist/packages/agent-runtime/src/message-window.cjs.map +1 -0
  508. package/dist/packages/agent-runtime/src/message-window.js +85 -0
  509. package/dist/packages/agent-runtime/src/message-window.js.map +1 -0
  510. package/dist/packages/agent-runtime/src/messages.cjs +433 -0
  511. package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
  512. package/dist/packages/agent-runtime/src/messages.js +433 -0
  513. package/dist/packages/agent-runtime/src/messages.js.map +1 -0
  514. package/dist/packages/agent-runtime/src/model-context.cjs +13 -0
  515. package/dist/packages/agent-runtime/src/model-context.cjs.map +1 -0
  516. package/dist/packages/agent-runtime/src/model-context.js +13 -0
  517. package/dist/packages/agent-runtime/src/model-context.js.map +1 -0
  518. package/dist/packages/agent-runtime/src/optimistic-content.cjs +17 -0
  519. package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +1 -0
  520. package/dist/packages/agent-runtime/src/optimistic-content.js +17 -0
  521. package/dist/packages/agent-runtime/src/optimistic-content.js.map +1 -0
  522. package/dist/packages/agent-runtime/src/protocol.cjs +33 -0
  523. package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
  524. package/dist/packages/agent-runtime/src/protocol.js +33 -0
  525. package/dist/packages/agent-runtime/src/protocol.js.map +1 -0
  526. package/dist/packages/agent-runtime/src/queue.cjs +67 -0
  527. package/dist/packages/agent-runtime/src/queue.cjs.map +1 -0
  528. package/dist/packages/agent-runtime/src/queue.js +67 -0
  529. package/dist/packages/agent-runtime/src/queue.js.map +1 -0
  530. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +47 -0
  531. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
  532. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +47 -0
  533. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
  534. package/dist/packages/agent-runtime/src/runtime-messages.cjs +187 -0
  535. package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +1 -0
  536. package/dist/packages/agent-runtime/src/runtime-messages.js +187 -0
  537. package/dist/packages/agent-runtime/src/runtime-messages.js.map +1 -0
  538. package/dist/packages/agent-runtime/src/send-recovery.cjs +128 -0
  539. package/dist/packages/agent-runtime/src/send-recovery.cjs.map +1 -0
  540. package/dist/packages/agent-runtime/src/send-recovery.js +128 -0
  541. package/dist/packages/agent-runtime/src/send-recovery.js.map +1 -0
  542. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs +249 -0
  543. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
  544. package/dist/packages/agent-runtime/src/statewire-attach-observer.js +249 -0
  545. package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +1 -0
  546. package/dist/packages/agent-runtime/src/statewire-state.cjs +16 -0
  547. package/dist/packages/agent-runtime/src/statewire-state.cjs.map +1 -0
  548. package/dist/packages/agent-runtime/src/statewire-state.js +16 -0
  549. package/dist/packages/agent-runtime/src/statewire-state.js.map +1 -0
  550. package/dist/packages/agent-runtime/src/statewire-suspended.cjs +41 -0
  551. package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +1 -0
  552. package/dist/packages/agent-runtime/src/statewire-suspended.js +41 -0
  553. package/dist/packages/agent-runtime/src/statewire-suspended.js.map +1 -0
  554. package/dist/packages/agent-runtime/src/statewire-transport.cjs +6 -0
  555. package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
  556. package/dist/packages/agent-runtime/src/statewire-transport.js +6 -0
  557. package/dist/packages/agent-runtime/src/statewire-transport.js.map +1 -0
  558. package/dist/packages/agent-runtime/src/streaming-markdown.cjs +214 -0
  559. package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +1 -0
  560. package/dist/packages/agent-runtime/src/streaming-markdown.js +214 -0
  561. package/dist/packages/agent-runtime/src/streaming-markdown.js.map +1 -0
  562. package/dist/packages/agent-runtime/src/thread-extras.cjs +38 -0
  563. package/dist/packages/agent-runtime/src/thread-extras.cjs.map +1 -0
  564. package/dist/packages/agent-runtime/src/thread-extras.js +38 -0
  565. package/dist/packages/agent-runtime/src/thread-extras.js.map +1 -0
  566. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs +90 -0
  567. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
  568. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js +90 -0
  569. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
  570. package/dist/packages/agent-runtime/src/thread-status.cjs +49 -0
  571. package/dist/packages/agent-runtime/src/thread-status.cjs.map +1 -0
  572. package/dist/packages/agent-runtime/src/thread-status.js +49 -0
  573. package/dist/packages/agent-runtime/src/thread-status.js.map +1 -0
  574. package/dist/packages/agent-runtime/src/tool-metadata.cjs +1802 -0
  575. package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
  576. package/dist/packages/agent-runtime/src/tool-metadata.js +1802 -0
  577. package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -0
  578. package/dist/packages/agent-runtime/src/tool-outputs.cjs +46 -0
  579. package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +1 -0
  580. package/dist/packages/agent-runtime/src/tool-outputs.js +46 -0
  581. package/dist/packages/agent-runtime/src/tool-outputs.js.map +1 -0
  582. package/dist/packages/agent-runtime/src/tool-result.cjs +151 -0
  583. package/dist/packages/agent-runtime/src/tool-result.cjs.map +1 -0
  584. package/dist/packages/agent-runtime/src/tool-result.js +151 -0
  585. package/dist/packages/agent-runtime/src/tool-result.js.map +1 -0
  586. package/dist/packages/agent-runtime/src/use-conversation-list.cjs +139 -0
  587. package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +1 -0
  588. package/dist/packages/agent-runtime/src/use-conversation-list.js +139 -0
  589. package/dist/packages/agent-runtime/src/use-conversation-list.js.map +1 -0
  590. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs +28 -0
  591. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
  592. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js +28 -0
  593. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
  594. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs +138 -0
  595. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
  596. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js +138 -0
  597. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
  598. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs +387 -0
  599. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
  600. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js +387 -0
  601. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
  602. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs +133 -0
  603. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
  604. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js +133 -0
  605. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
  606. package/dist/packages/agent-runtime/src/voice-presentation.cjs +37 -0
  607. package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +1 -0
  608. package/dist/packages/agent-runtime/src/voice-presentation.js +37 -0
  609. package/dist/packages/agent-runtime/src/voice-presentation.js.map +1 -0
  610. package/dist/packages/react/package.json.cjs +9 -0
  611. package/dist/packages/react/package.json.cjs.map +1 -0
  612. package/dist/packages/react/package.json.js +9 -0
  613. package/dist/packages/react/package.json.js.map +1 -0
  614. package/dist/{AthenaContext-B1QMhIP-.cjs → provider/AthenaContext.cjs} +5 -4
  615. package/dist/provider/AthenaContext.cjs.map +1 -0
  616. package/dist/{AthenaContext-MOslgOmE.js → provider/AthenaContext.js} +3 -3
  617. package/dist/provider/AthenaContext.js.map +1 -0
  618. package/dist/provider/AthenaProvider.cjs +403 -0
  619. package/dist/provider/AthenaProvider.cjs.map +1 -0
  620. package/dist/provider/AthenaProvider.js +403 -0
  621. package/dist/provider/AthenaProvider.js.map +1 -0
  622. package/dist/provider/PostHogProvider.cjs +81 -0
  623. package/dist/provider/PostHogProvider.cjs.map +1 -0
  624. package/dist/provider/PostHogProvider.js +59 -0
  625. package/dist/provider/PostHogProvider.js.map +1 -0
  626. package/dist/provider/config.d.ts +8 -7
  627. package/dist/provider/statewire-lifecycle-context.cjs +10 -0
  628. package/dist/provider/statewire-lifecycle-context.cjs.map +1 -0
  629. package/dist/provider/statewire-lifecycle-context.js +10 -0
  630. package/dist/provider/statewire-lifecycle-context.js.map +1 -0
  631. package/dist/provider/statewire-window-context.cjs +10 -0
  632. package/dist/provider/statewire-window-context.cjs.map +1 -0
  633. package/dist/provider/statewire-window-context.js +10 -0
  634. package/dist/provider/statewire-window-context.js.map +1 -0
  635. package/dist/runtime/auth.cjs +309 -0
  636. package/dist/runtime/auth.cjs.map +1 -0
  637. package/dist/runtime/auth.d.ts +19 -18
  638. package/dist/runtime/auth.js +309 -0
  639. package/dist/runtime/auth.js.map +1 -0
  640. package/dist/runtime/statewire-auth-headers.cjs +18 -0
  641. package/dist/runtime/statewire-auth-headers.cjs.map +1 -0
  642. package/dist/runtime/statewire-auth-headers.js +18 -0
  643. package/dist/runtime/statewire-auth-headers.js.map +1 -0
  644. package/dist/runtime/statewire-lifecycle.cjs +67 -0
  645. package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
  646. package/dist/runtime/statewire-lifecycle.js +67 -0
  647. package/dist/runtime/statewire-lifecycle.js.map +1 -0
  648. package/dist/runtime/statewire-run-config.cjs +68 -0
  649. package/dist/runtime/statewire-run-config.cjs.map +1 -0
  650. package/dist/runtime/statewire-run-config.js +68 -0
  651. package/dist/runtime/statewire-run-config.js.map +1 -0
  652. package/dist/runtime/statewire-session-key.cjs +11 -0
  653. package/dist/runtime/statewire-session-key.cjs.map +1 -0
  654. package/dist/runtime/statewire-session-key.js +11 -0
  655. package/dist/runtime/statewire-session-key.js.map +1 -0
  656. package/dist/runtime/useAthenaStatewireRuntime.cjs +179 -0
  657. package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
  658. package/dist/runtime/useAthenaStatewireRuntime.js +180 -0
  659. package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -0
  660. package/dist/styles.css +1 -1
  661. package/dist/theme/index.cjs +182 -0
  662. package/dist/theme/index.cjs.map +1 -0
  663. package/dist/theme/index.js +182 -0
  664. package/dist/theme/index.js.map +1 -0
  665. package/dist/threads/ThreadList.cjs +55 -0
  666. package/dist/threads/ThreadList.cjs.map +1 -0
  667. package/dist/threads/ThreadList.js +55 -0
  668. package/dist/threads/ThreadList.js.map +1 -0
  669. package/dist/threads/api.cjs +208 -0
  670. package/dist/threads/api.cjs.map +1 -0
  671. package/dist/threads/api.js +208 -0
  672. package/dist/threads/api.js.map +1 -0
  673. package/dist/threads/conversation-list-fetcher.cjs +70 -0
  674. package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
  675. package/dist/threads/conversation-list-fetcher.js +70 -0
  676. package/dist/threads/conversation-list-fetcher.js.map +1 -0
  677. package/dist/threads/mint-thread-id.cjs +7 -0
  678. package/dist/threads/mint-thread-id.cjs.map +1 -0
  679. package/dist/threads/mint-thread-id.js +7 -0
  680. package/dist/threads/mint-thread-id.js.map +1 -0
  681. package/dist/threads/statewire-thread-list.cjs +231 -0
  682. package/dist/threads/statewire-thread-list.cjs.map +1 -0
  683. package/dist/threads/statewire-thread-list.js +231 -0
  684. package/dist/threads/statewire-thread-list.js.map +1 -0
  685. package/dist/threads/thread-id-context.cjs +22 -0
  686. package/dist/threads/thread-id-context.cjs.map +1 -0
  687. package/dist/threads/thread-id-context.d.ts +9 -0
  688. package/dist/threads/thread-id-context.js +22 -0
  689. package/dist/threads/thread-id-context.js.map +1 -0
  690. package/dist/threads/title.cjs +95 -0
  691. package/dist/threads/title.cjs.map +1 -0
  692. package/dist/threads/title.js +95 -0
  693. package/dist/threads/title.js.map +1 -0
  694. package/dist/threads/use-rest-conversation-history.cjs +79 -0
  695. package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
  696. package/dist/threads/use-rest-conversation-history.js +79 -0
  697. package/dist/threads/use-rest-conversation-history.js.map +1 -0
  698. package/dist/threads/use-statewire-conversation-history.cjs +243 -0
  699. package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
  700. package/dist/threads/use-statewire-conversation-history.js +243 -0
  701. package/dist/threads/use-statewire-conversation-history.js.map +1 -0
  702. package/dist/threads/useAthenaThreadManager.cjs +24 -0
  703. package/dist/threads/useAthenaThreadManager.cjs.map +1 -0
  704. package/dist/threads/useAthenaThreadManager.js +24 -0
  705. package/dist/threads/useAthenaThreadManager.js.map +1 -0
  706. package/dist/toolkits/index.cjs +279 -0
  707. package/dist/toolkits/index.cjs.map +1 -0
  708. package/dist/toolkits/index.js +279 -0
  709. package/dist/toolkits/index.js.map +1 -0
  710. package/dist/tools/NestedPtcMessages.cjs +46 -0
  711. package/dist/tools/NestedPtcMessages.cjs.map +1 -0
  712. package/dist/tools/NestedPtcMessages.js +46 -0
  713. package/dist/tools/NestedPtcMessages.js.map +1 -0
  714. package/dist/tools/append-document-tool-ui.cjs +145 -0
  715. package/dist/tools/append-document-tool-ui.cjs.map +1 -0
  716. package/dist/tools/append-document-tool-ui.js +145 -0
  717. package/dist/tools/append-document-tool-ui.js.map +1 -0
  718. package/dist/tools/asset-utils.cjs +16 -0
  719. package/dist/tools/asset-utils.cjs.map +1 -0
  720. package/dist/tools/asset-utils.js +16 -0
  721. package/dist/tools/asset-utils.js.map +1 -0
  722. package/dist/tools/auto-open-tools.cjs +121 -0
  723. package/dist/tools/auto-open-tools.cjs.map +1 -0
  724. package/dist/tools/auto-open-tools.js +121 -0
  725. package/dist/tools/auto-open-tools.js.map +1 -0
  726. package/dist/tools/file-tool-uis.cjs +108 -0
  727. package/dist/tools/file-tool-uis.cjs.map +1 -0
  728. package/dist/tools/file-tool-uis.js +108 -0
  729. package/dist/tools/file-tool-uis.js.map +1 -0
  730. package/dist/tools/index.cjs +56 -0
  731. package/dist/tools/index.cjs.map +1 -0
  732. package/dist/tools/index.d.ts +1 -0
  733. package/dist/tools/index.js +56 -0
  734. package/dist/tools/index.js.map +1 -0
  735. package/dist/tools/misc-tool-uis.cjs +54 -0
  736. package/dist/tools/misc-tool-uis.cjs.map +1 -0
  737. package/dist/{misc-tool-uis-gAiQw0Yl.js → tools/misc-tool-uis.js} +17 -7
  738. package/dist/tools/misc-tool-uis.js.map +1 -0
  739. package/dist/tools/primitives.cjs +166 -0
  740. package/dist/tools/primitives.cjs.map +1 -0
  741. package/dist/tools/primitives.js +166 -0
  742. package/dist/tools/primitives.js.map +1 -0
  743. package/dist/tools/read-asset-tool-ui.cjs +284 -0
  744. package/dist/tools/read-asset-tool-ui.cjs.map +1 -0
  745. package/dist/tools/read-asset-tool-ui.js +284 -0
  746. package/dist/tools/read-asset-tool-ui.js.map +1 -0
  747. package/dist/tools/todo-plan-store.cjs +88 -0
  748. package/dist/tools/todo-plan-store.cjs.map +1 -0
  749. package/dist/tools/todo-plan-store.js +88 -0
  750. package/dist/tools/todo-plan-store.js.map +1 -0
  751. package/dist/tools/tool-fallback.cjs +667 -0
  752. package/dist/tools/tool-fallback.cjs.map +1 -0
  753. package/dist/tools/tool-fallback.js +667 -0
  754. package/dist/tools/tool-fallback.js.map +1 -0
  755. package/dist/tools/tool-icons.cjs +61 -0
  756. package/dist/tools/tool-icons.cjs.map +1 -0
  757. package/dist/tools/tool-icons.js +61 -0
  758. package/dist/tools/tool-icons.js.map +1 -0
  759. package/dist/tools/tool-uis.cjs +3049 -0
  760. package/dist/tools/tool-uis.cjs.map +1 -0
  761. package/dist/tools/tool-uis.js +3049 -0
  762. package/dist/tools/tool-uis.js.map +1 -0
  763. package/dist/tools/voice-update-tool-ui.cjs +89 -0
  764. package/dist/tools/voice-update-tool-ui.cjs.map +1 -0
  765. package/dist/tools/voice-update-tool-ui.d.ts +27 -0
  766. package/dist/tools/voice-update-tool-ui.js +89 -0
  767. package/dist/tools/voice-update-tool-ui.js.map +1 -0
  768. package/dist/tools/write-todos-tool-ui.cjs +270 -0
  769. package/dist/tools/write-todos-tool-ui.cjs.map +1 -0
  770. package/dist/tools/write-todos-tool-ui.js +270 -0
  771. package/dist/tools/write-todos-tool-ui.js.map +1 -0
  772. package/dist/ui/button.cjs +57 -0
  773. package/dist/ui/button.cjs.map +1 -0
  774. package/dist/ui/button.js +57 -0
  775. package/dist/ui/button.js.map +1 -0
  776. package/dist/ui/collapsible.cjs +17 -0
  777. package/dist/ui/collapsible.cjs.map +1 -0
  778. package/dist/ui/collapsible.js +17 -0
  779. package/dist/ui/collapsible.js.map +1 -0
  780. package/dist/ui/tooltip.cjs +48 -0
  781. package/dist/ui/tooltip.cjs.map +1 -0
  782. package/dist/ui/tooltip.js +48 -0
  783. package/dist/ui/tooltip.js.map +1 -0
  784. package/dist/version.cjs +6 -0
  785. package/dist/version.cjs.map +1 -0
  786. package/dist/version.js +6 -0
  787. package/dist/version.js.map +1 -0
  788. package/package.json +18 -20
  789. package/dist/AthenaAuthContext-B3AwLA5Z.cjs.map +0 -1
  790. package/dist/AthenaAuthContext-DQsdayH2.js.map +0 -1
  791. package/dist/AthenaContext-B1QMhIP-.cjs.map +0 -1
  792. package/dist/AthenaContext-MOslgOmE.js.map +0 -1
  793. package/dist/SuperGroupingCard-BsWbHyV_.js +0 -795
  794. package/dist/SuperGroupingCard-BsWbHyV_.js.map +0 -1
  795. package/dist/SuperGroupingCard-CRRFUgjN.cjs +0 -794
  796. package/dist/SuperGroupingCard-CRRFUgjN.cjs.map +0 -1
  797. package/dist/auth.cjs.map +0 -1
  798. package/dist/auth.js.map +0 -1
  799. package/dist/chat/ComposerEditorContext.d.ts +0 -36
  800. package/dist/chat/tiptap-composer.d.ts +0 -7
  801. package/dist/chat-ui-statewire.cjs +0 -25
  802. package/dist/chat-ui-statewire.cjs.map +0 -1
  803. package/dist/chat-ui-statewire.js +0 -25
  804. package/dist/chat-ui-statewire.js.map +0 -1
  805. package/dist/chat-ui.cjs +0 -2484
  806. package/dist/chat-ui.cjs.map +0 -1
  807. package/dist/chat-ui.js +0 -2486
  808. package/dist/chat-ui.js.map +0 -1
  809. package/dist/collab.cjs.map +0 -1
  810. package/dist/collab.js.map +0 -1
  811. package/dist/mentions/composer-keybinds.d.ts +0 -5
  812. package/dist/mentions/mention-extension.d.ts +0 -6
  813. package/dist/mentions/mention-icons.d.ts +0 -4
  814. package/dist/mentions/mention-node-view.d.ts +0 -2
  815. package/dist/mentions/mention-suggestion-list.d.ts +0 -14
  816. package/dist/mentions/mention-suggestion-popup.d.ts +0 -15
  817. package/dist/mentions/mention-suggestions-extension.d.ts +0 -11
  818. package/dist/mentions/mention-types.d.ts +0 -21
  819. package/dist/mentions/mention-utils.d.ts +0 -23
  820. package/dist/mentions/use-mention-suggestions.d.ts +0 -29
  821. package/dist/misc-tool-uis-B2e0Okkn.cjs +0 -43
  822. package/dist/misc-tool-uis-B2e0Okkn.cjs.map +0 -1
  823. package/dist/misc-tool-uis-gAiQw0Yl.js.map +0 -1
  824. package/dist/statewire-continue-run-D34gS7_1.js.map +0 -1
  825. package/dist/statewire-continue-run-nE9VCKUh.cjs.map +0 -1
  826. package/dist/statewire-history-edge-C8uyTEjX.cjs +0 -1711
  827. package/dist/statewire-history-edge-C8uyTEjX.cjs.map +0 -1
  828. package/dist/statewire-history-edge-CPohUKMt.js +0 -1712
  829. package/dist/statewire-history-edge-CPohUKMt.js.map +0 -1
  830. package/dist/super-grouping.cjs +0 -22
  831. package/dist/super-grouping.cjs.map +0 -1
  832. package/dist/super-grouping.js +0 -22
  833. package/dist/super-grouping.js.map +0 -1
  834. package/dist/tool-fallback-DkQ3DLkn.js +0 -4281
  835. package/dist/tool-fallback-DkQ3DLkn.js.map +0 -1
  836. package/dist/tool-fallback-kfhpJQZa.cjs +0 -4297
  837. package/dist/tool-fallback-kfhpJQZa.cjs.map +0 -1
  838. package/dist/tools.cjs +0 -41
  839. package/dist/tools.cjs.map +0 -1
  840. package/dist/tools.js +0 -41
  841. package/dist/tools.js.map +0 -1
  842. package/dist/trash-2-B5OaNAL7.cjs +0 -5096
  843. package/dist/trash-2-B5OaNAL7.cjs.map +0 -1
  844. package/dist/trash-2-CCwSURL-.js +0 -5081
  845. package/dist/trash-2-CCwSURL-.js.map +0 -1
  846. package/dist/use-rest-conversation-history-Cm8qMRxp.cjs +0 -32397
  847. package/dist/use-rest-conversation-history-Cm8qMRxp.cjs.map +0 -1
  848. package/dist/use-rest-conversation-history-veDZS-oL.js +0 -32361
  849. package/dist/use-rest-conversation-history-veDZS-oL.js.map +0 -1
  850. package/dist/wrench-BEf72cyP.cjs +0 -417
  851. package/dist/wrench-BEf72cyP.cjs.map +0 -1
  852. package/dist/wrench-CbrOlVYm.js +0 -418
  853. package/dist/wrench-CbrOlVYm.js.map +0 -1
  854. package/dist/x-Dfd2NzK0.cjs +0 -42
  855. package/dist/x-Dfd2NzK0.cjs.map +0 -1
  856. package/dist/x-_DntAa_a.js +0 -43
  857. package/dist/x-_DntAa_a.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-items.js","sources":["../../../../../../src/chat-ui/mentions/suggestions/data/utils/filter-items.ts"],"sourcesContent":["import type { MenuItem } from '../types';\nimport { matchesMultiWordQuery } from './match-query';\nimport { getMatchScore } from './score-match';\n\n/**\n * Checks if a query matches an item's ID.\n * This enables looking up assets by their ID (e.g., \"asset_41c91b2d-901f-4844-bdda-f74b9863ba5c\").\n *\n * @param itemId - The item's ID\n * @param query - The normalized search query\n * @returns true if the query matches the item ID\n */\nfunction matchesItemId(itemId: string, query: string): boolean {\n if (!query || !itemId) return false;\n\n const normalizedId: string = itemId.toLowerCase();\n\n // Check if the query is contained in the ID\n // This allows partial ID matching (e.g., typing part of a UUID)\n return normalizedId.includes(query);\n}\n\n/**\n * Filter items by query match and sort by relevance\n *\n * Note: Items are already filtered by scope in getFilteredItems()\n * This function only handles query matching and scoring.\n *\n * @param items - Items already filtered by scope\n * @param query - Search query text\n * @param _scope - Current scope (unused, kept for signature compatibility)\n * @returns Filtered and sorted items\n */\nexport function filterItems(items: MenuItem[], query: string, _scope: string): MenuItem[] {\n if (!items || items.length === 0) return [];\n\n const normalizedQuery: string = query.toLowerCase().trim();\n\n // No query? Return all items (already scope-filtered)\n if (!normalizedQuery) {\n return items;\n }\n\n // Filter by query match (name OR ID)\n const filteredResults: MenuItem[] = items.filter(\n (item) =>\n matchesMultiWordQuery(item.name, normalizedQuery) || matchesItemId(item.id, normalizedQuery)\n );\n\n // Sort by match score\n if (filteredResults.length > 0) {\n filteredResults.sort((a, b) => {\n // Prioritize toolkits at the top of search results\n const aIsToolkit = a.type === 'toolkit';\n const bIsToolkit = b.type === 'toolkit';\n if (aIsToolkit && !bIsToolkit) return -1;\n if (!aIsToolkit && bIsToolkit) return 1;\n\n // Prioritize exact ID matches\n const aIdMatch: boolean = matchesItemId(a.id, normalizedQuery);\n const bIdMatch: boolean = matchesItemId(b.id, normalizedQuery);\n\n // If one has ID match and other doesn't, prioritize ID match\n if (aIdMatch && !bIdMatch) return -1;\n if (!aIdMatch && bIdMatch) return 1;\n\n // If both have ID matches, sort by how closely the ID matches\n // Use ratio-based scoring for better match quality differentiation\n if (aIdMatch && bIdMatch) {\n const aIdScore: number =\n a.id.toLowerCase() === normalizedQuery\n ? 100\n : Math.min((normalizedQuery.length / a.id.length) * 50, 50);\n const bIdScore: number =\n b.id.toLowerCase() === normalizedQuery\n ? 100\n : Math.min((normalizedQuery.length / b.id.length) * 50, 50);\n if (aIdScore !== bIdScore) return bIdScore - aIdScore;\n }\n\n // Fall back to name-based scoring\n const aScore: number = getMatchScore(a.name, normalizedQuery);\n const bScore: number = getMatchScore(b.name, normalizedQuery);\n\n // Sort by score descending, then alphabetically\n if (aScore !== bScore) return bScore - aScore;\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n }\n\n return filteredResults;\n}\n"],"names":[],"mappings":";;AAYA,SAAS,cAAc,QAAgB,OAAwB;AAC7D,MAAI,CAAC,SAAS,CAAC,OAAQ,QAAO;AAE9B,QAAM,eAAuB,OAAO,YAAA;AAIpC,SAAO,aAAa,SAAS,KAAK;AACpC;AAaO,SAAS,YAAY,OAAmB,OAAe,QAA4B;AACxF,MAAI,CAAC,SAAS,MAAM,WAAW,UAAU,CAAA;AAEzC,QAAM,kBAA0B,MAAM,YAAA,EAAc,KAAA;AAGpD,MAAI,CAAC,iBAAiB;AACpB,WAAO;AAAA,EACT;AAGA,QAAM,kBAA8B,MAAM;AAAA,IACxC,CAAC,SACC,sBAAsB,KAAK,MAAM,eAAe,KAAK,cAAc,KAAK,IAAI,eAAe;AAAA,EAAA;AAI/F,MAAI,gBAAgB,SAAS,GAAG;AAC9B,oBAAgB,KAAK,CAAC,GAAG,MAAM;AAE7B,YAAM,aAAa,EAAE,SAAS;AAC9B,YAAM,aAAa,EAAE,SAAS;AAC9B,UAAI,cAAc,CAAC,WAAY,QAAO;AACtC,UAAI,CAAC,cAAc,WAAY,QAAO;AAGtC,YAAM,WAAoB,cAAc,EAAE,IAAI,eAAe;AAC7D,YAAM,WAAoB,cAAc,EAAE,IAAI,eAAe;AAG7D,UAAI,YAAY,CAAC,SAAU,QAAO;AAClC,UAAI,CAAC,YAAY,SAAU,QAAO;AAIlC,UAAI,YAAY,UAAU;AACxB,cAAM,WACJ,EAAE,GAAG,YAAA,MAAkB,kBACnB,MACA,KAAK,IAAK,gBAAgB,SAAS,EAAE,GAAG,SAAU,IAAI,EAAE;AAC9D,cAAM,WACJ,EAAE,GAAG,YAAA,MAAkB,kBACnB,MACA,KAAK,IAAK,gBAAgB,SAAS,EAAE,GAAG,SAAU,IAAI,EAAE;AAC9D,YAAI,aAAa,SAAU,QAAO,WAAW;AAAA,MAC/C;AAGA,YAAM,SAAiB,cAAc,EAAE,MAAM,eAAe;AAC5D,YAAM,SAAiB,cAAc,EAAE,MAAM,eAAe;AAG5D,UAAI,WAAW,OAAQ,QAAO,SAAS;AACvC,aAAO,EAAE,KAAK,YAAA,EAAc,cAAc,EAAE,KAAK,aAAa;AAAA,IAChE,CAAC;AAAA,EACH;AAEA,SAAO;AACT;"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function matchesMultiWordQuery(itemName, query) {
4
+ if (!query) return true;
5
+ const normalizedName = itemName.toLowerCase();
6
+ const normalizedQuery = query.toLowerCase().trim();
7
+ const queryWords = normalizedQuery.split(/\s+/).filter((word) => word.length > 0);
8
+ if (queryWords.length <= 1) {
9
+ return normalizedName.includes(normalizedQuery);
10
+ }
11
+ return queryWords.every((word) => normalizedName.includes(word));
12
+ }
13
+ exports.matchesMultiWordQuery = matchesMultiWordQuery;
14
+ //# sourceMappingURL=match-query.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-query.cjs","sources":["../../../../../../src/chat-ui/mentions/suggestions/data/utils/match-query.ts"],"sourcesContent":["/**\n * Checks if all words in the query appear in the item name (in any order).\n * This enables multi-word search like \"ask devin\" matching \"Devin Ask Question\".\n */\nexport function matchesMultiWordQuery(itemName: string, query: string): boolean {\n if (!query) return true;\n\n const normalizedName = itemName.toLowerCase();\n const normalizedQuery = query.toLowerCase().trim();\n\n // Split query into words and check if ALL words appear in the name\n const queryWords = normalizedQuery.split(/\\s+/).filter((word) => word.length > 0);\n\n // If single word, use simple includes for backwards compatibility\n if (queryWords.length <= 1) {\n return normalizedName.includes(normalizedQuery);\n }\n\n // For multi-word queries, all words must appear somewhere in the name\n return queryWords.every((word) => normalizedName.includes(word));\n}\n"],"names":[],"mappings":";;AAIO,SAAS,sBAAsB,UAAkB,OAAwB;AAC9E,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,iBAAiB,SAAS,YAAA;AAChC,QAAM,kBAAkB,MAAM,YAAA,EAAc,KAAA;AAG5C,QAAM,aAAa,gBAAgB,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AAGhF,MAAI,WAAW,UAAU,GAAG;AAC1B,WAAO,eAAe,SAAS,eAAe;AAAA,EAChD;AAGA,SAAO,WAAW,MAAM,CAAC,SAAS,eAAe,SAAS,IAAI,CAAC;AACjE;;"}
@@ -0,0 +1,14 @@
1
+ function matchesMultiWordQuery(itemName, query) {
2
+ if (!query) return true;
3
+ const normalizedName = itemName.toLowerCase();
4
+ const normalizedQuery = query.toLowerCase().trim();
5
+ const queryWords = normalizedQuery.split(/\s+/).filter((word) => word.length > 0);
6
+ if (queryWords.length <= 1) {
7
+ return normalizedName.includes(normalizedQuery);
8
+ }
9
+ return queryWords.every((word) => normalizedName.includes(word));
10
+ }
11
+ export {
12
+ matchesMultiWordQuery
13
+ };
14
+ //# sourceMappingURL=match-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-query.js","sources":["../../../../../../src/chat-ui/mentions/suggestions/data/utils/match-query.ts"],"sourcesContent":["/**\n * Checks if all words in the query appear in the item name (in any order).\n * This enables multi-word search like \"ask devin\" matching \"Devin Ask Question\".\n */\nexport function matchesMultiWordQuery(itemName: string, query: string): boolean {\n if (!query) return true;\n\n const normalizedName = itemName.toLowerCase();\n const normalizedQuery = query.toLowerCase().trim();\n\n // Split query into words and check if ALL words appear in the name\n const queryWords = normalizedQuery.split(/\\s+/).filter((word) => word.length > 0);\n\n // If single word, use simple includes for backwards compatibility\n if (queryWords.length <= 1) {\n return normalizedName.includes(normalizedQuery);\n }\n\n // For multi-word queries, all words must appear somewhere in the name\n return queryWords.every((word) => normalizedName.includes(word));\n}\n"],"names":[],"mappings":"AAIO,SAAS,sBAAsB,UAAkB,OAAwB;AAC9E,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,iBAAiB,SAAS,YAAA;AAChC,QAAM,kBAAkB,MAAM,YAAA,EAAc,KAAA;AAG5C,QAAM,aAAa,gBAAgB,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AAGhF,MAAI,WAAW,UAAU,GAAG;AAC1B,WAAO,eAAe,SAAS,eAAe;AAAA,EAChD;AAGA,SAAO,WAAW,MAAM,CAAC,SAAS,eAAe,SAAS,IAAI,CAAC;AACjE;"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function getMatchScore(itemName, query) {
4
+ if (!query) return 0;
5
+ const normalizedName = itemName.toLowerCase();
6
+ const normalizedQuery = query.toLowerCase().trim();
7
+ if (!normalizedQuery) return 0;
8
+ const queryWords = normalizedQuery.split(/\s+/).filter((word) => word.length > 0);
9
+ if (normalizedName === normalizedQuery) return 100;
10
+ if (normalizedName.startsWith(normalizedQuery)) return 90;
11
+ if (queryWords.length > 1) {
12
+ const nameWords = normalizedName.split(/\s+/);
13
+ let nameIndex = 0;
14
+ let allWordsMatchInOrder = true;
15
+ for (const qWord of queryWords) {
16
+ let found = false;
17
+ while (nameIndex < nameWords.length) {
18
+ if (nameWords[nameIndex].startsWith(qWord)) {
19
+ found = true;
20
+ nameIndex++;
21
+ break;
22
+ }
23
+ nameIndex++;
24
+ }
25
+ if (!found) {
26
+ allWordsMatchInOrder = false;
27
+ break;
28
+ }
29
+ }
30
+ if (allWordsMatchInOrder) return 80;
31
+ const allWordsMatchWordBoundary = queryWords.every(
32
+ (qWord) => nameWords.some((nWord) => nWord.startsWith(qWord))
33
+ );
34
+ if (allWordsMatchWordBoundary) return 70;
35
+ const allWordsContained = queryWords.every(
36
+ (qWord) => nameWords.some((nWord) => nWord.includes(qWord))
37
+ );
38
+ if (allWordsContained) return 60;
39
+ }
40
+ if (queryWords.length === 1) {
41
+ const nameWords = normalizedName.split(/\s+/);
42
+ if (nameWords.some((word) => word.startsWith(normalizedQuery))) return 50;
43
+ if (normalizedName.includes(normalizedQuery)) return 40;
44
+ }
45
+ return 30;
46
+ }
47
+ exports.getMatchScore = getMatchScore;
48
+ //# sourceMappingURL=score-match.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score-match.cjs","sources":["../../../../../../src/chat-ui/mentions/suggestions/data/utils/score-match.ts"],"sourcesContent":["/**\n * Calculates a match score for sorting results.\n * Higher scores indicate better matches.\n */\nexport function getMatchScore(itemName: string, query: string): number {\n if (!query) return 0;\n\n const normalizedName = itemName.toLowerCase();\n const normalizedQuery = query.toLowerCase().trim();\n\n // Handle empty query after trimming (whitespace-only input)\n if (!normalizedQuery) return 0;\n\n const queryWords = normalizedQuery.split(/\\s+/).filter((word) => word.length > 0);\n\n // Exact match gets highest score\n if (normalizedName === normalizedQuery) return 100;\n\n // Name starts with exact query\n if (normalizedName.startsWith(normalizedQuery)) return 90;\n\n // For multi-word queries, check if words appear at word boundaries in order\n if (queryWords.length > 1) {\n const nameWords = normalizedName.split(/\\s+/);\n\n // Check if all query words match the start of name words (in order)\n let nameIndex = 0;\n let allWordsMatchInOrder = true;\n for (const qWord of queryWords) {\n let found = false;\n while (nameIndex < nameWords.length) {\n if (nameWords[nameIndex].startsWith(qWord)) {\n found = true;\n nameIndex++;\n break;\n }\n nameIndex++;\n }\n if (!found) {\n allWordsMatchInOrder = false;\n break;\n }\n }\n if (allWordsMatchInOrder) return 80;\n\n // Check if all query words match the start of any name words (any order)\n const allWordsMatchWordBoundary = queryWords.every((qWord) =>\n nameWords.some((nWord) => nWord.startsWith(qWord))\n );\n if (allWordsMatchWordBoundary) return 70;\n\n // All query words are contained somewhere in name words\n const allWordsContained = queryWords.every((qWord) =>\n nameWords.some((nWord) => nWord.includes(qWord))\n );\n if (allWordsContained) return 60;\n }\n\n // Single word: starts with query at word boundary\n if (queryWords.length === 1) {\n const nameWords = normalizedName.split(/\\s+/);\n if (nameWords.some((word) => word.startsWith(normalizedQuery))) return 50;\n\n // Query is contained somewhere in the name\n if (normalizedName.includes(normalizedQuery)) return 40;\n }\n\n // Fallback for multi-word matches that didn't meet other criteria\n return 30;\n}\n"],"names":[],"mappings":";;AAIO,SAAS,cAAc,UAAkB,OAAuB;AACrE,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,iBAAiB,SAAS,YAAA;AAChC,QAAM,kBAAkB,MAAM,YAAA,EAAc,KAAA;AAG5C,MAAI,CAAC,gBAAiB,QAAO;AAE7B,QAAM,aAAa,gBAAgB,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AAGhF,MAAI,mBAAmB,gBAAiB,QAAO;AAG/C,MAAI,eAAe,WAAW,eAAe,EAAG,QAAO;AAGvD,MAAI,WAAW,SAAS,GAAG;AACzB,UAAM,YAAY,eAAe,MAAM,KAAK;AAG5C,QAAI,YAAY;AAChB,QAAI,uBAAuB;AAC3B,eAAW,SAAS,YAAY;AAC9B,UAAI,QAAQ;AACZ,aAAO,YAAY,UAAU,QAAQ;AACnC,YAAI,UAAU,SAAS,EAAE,WAAW,KAAK,GAAG;AAC1C,kBAAQ;AACR;AACA;AAAA,QACF;AACA;AAAA,MACF;AACA,UAAI,CAAC,OAAO;AACV,+BAAuB;AACvB;AAAA,MACF;AAAA,IACF;AACA,QAAI,qBAAsB,QAAO;AAGjC,UAAM,4BAA4B,WAAW;AAAA,MAAM,CAAC,UAClD,UAAU,KAAK,CAAC,UAAU,MAAM,WAAW,KAAK,CAAC;AAAA,IAAA;AAEnD,QAAI,0BAA2B,QAAO;AAGtC,UAAM,oBAAoB,WAAW;AAAA,MAAM,CAAC,UAC1C,UAAU,KAAK,CAAC,UAAU,MAAM,SAAS,KAAK,CAAC;AAAA,IAAA;AAEjD,QAAI,kBAAmB,QAAO;AAAA,EAChC;AAGA,MAAI,WAAW,WAAW,GAAG;AAC3B,UAAM,YAAY,eAAe,MAAM,KAAK;AAC5C,QAAI,UAAU,KAAK,CAAC,SAAS,KAAK,WAAW,eAAe,CAAC,EAAG,QAAO;AAGvE,QAAI,eAAe,SAAS,eAAe,EAAG,QAAO;AAAA,EACvD;AAGA,SAAO;AACT;;"}
@@ -0,0 +1,48 @@
1
+ function getMatchScore(itemName, query) {
2
+ if (!query) return 0;
3
+ const normalizedName = itemName.toLowerCase();
4
+ const normalizedQuery = query.toLowerCase().trim();
5
+ if (!normalizedQuery) return 0;
6
+ const queryWords = normalizedQuery.split(/\s+/).filter((word) => word.length > 0);
7
+ if (normalizedName === normalizedQuery) return 100;
8
+ if (normalizedName.startsWith(normalizedQuery)) return 90;
9
+ if (queryWords.length > 1) {
10
+ const nameWords = normalizedName.split(/\s+/);
11
+ let nameIndex = 0;
12
+ let allWordsMatchInOrder = true;
13
+ for (const qWord of queryWords) {
14
+ let found = false;
15
+ while (nameIndex < nameWords.length) {
16
+ if (nameWords[nameIndex].startsWith(qWord)) {
17
+ found = true;
18
+ nameIndex++;
19
+ break;
20
+ }
21
+ nameIndex++;
22
+ }
23
+ if (!found) {
24
+ allWordsMatchInOrder = false;
25
+ break;
26
+ }
27
+ }
28
+ if (allWordsMatchInOrder) return 80;
29
+ const allWordsMatchWordBoundary = queryWords.every(
30
+ (qWord) => nameWords.some((nWord) => nWord.startsWith(qWord))
31
+ );
32
+ if (allWordsMatchWordBoundary) return 70;
33
+ const allWordsContained = queryWords.every(
34
+ (qWord) => nameWords.some((nWord) => nWord.includes(qWord))
35
+ );
36
+ if (allWordsContained) return 60;
37
+ }
38
+ if (queryWords.length === 1) {
39
+ const nameWords = normalizedName.split(/\s+/);
40
+ if (nameWords.some((word) => word.startsWith(normalizedQuery))) return 50;
41
+ if (normalizedName.includes(normalizedQuery)) return 40;
42
+ }
43
+ return 30;
44
+ }
45
+ export {
46
+ getMatchScore
47
+ };
48
+ //# sourceMappingURL=score-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score-match.js","sources":["../../../../../../src/chat-ui/mentions/suggestions/data/utils/score-match.ts"],"sourcesContent":["/**\n * Calculates a match score for sorting results.\n * Higher scores indicate better matches.\n */\nexport function getMatchScore(itemName: string, query: string): number {\n if (!query) return 0;\n\n const normalizedName = itemName.toLowerCase();\n const normalizedQuery = query.toLowerCase().trim();\n\n // Handle empty query after trimming (whitespace-only input)\n if (!normalizedQuery) return 0;\n\n const queryWords = normalizedQuery.split(/\\s+/).filter((word) => word.length > 0);\n\n // Exact match gets highest score\n if (normalizedName === normalizedQuery) return 100;\n\n // Name starts with exact query\n if (normalizedName.startsWith(normalizedQuery)) return 90;\n\n // For multi-word queries, check if words appear at word boundaries in order\n if (queryWords.length > 1) {\n const nameWords = normalizedName.split(/\\s+/);\n\n // Check if all query words match the start of name words (in order)\n let nameIndex = 0;\n let allWordsMatchInOrder = true;\n for (const qWord of queryWords) {\n let found = false;\n while (nameIndex < nameWords.length) {\n if (nameWords[nameIndex].startsWith(qWord)) {\n found = true;\n nameIndex++;\n break;\n }\n nameIndex++;\n }\n if (!found) {\n allWordsMatchInOrder = false;\n break;\n }\n }\n if (allWordsMatchInOrder) return 80;\n\n // Check if all query words match the start of any name words (any order)\n const allWordsMatchWordBoundary = queryWords.every((qWord) =>\n nameWords.some((nWord) => nWord.startsWith(qWord))\n );\n if (allWordsMatchWordBoundary) return 70;\n\n // All query words are contained somewhere in name words\n const allWordsContained = queryWords.every((qWord) =>\n nameWords.some((nWord) => nWord.includes(qWord))\n );\n if (allWordsContained) return 60;\n }\n\n // Single word: starts with query at word boundary\n if (queryWords.length === 1) {\n const nameWords = normalizedName.split(/\\s+/);\n if (nameWords.some((word) => word.startsWith(normalizedQuery))) return 50;\n\n // Query is contained somewhere in the name\n if (normalizedName.includes(normalizedQuery)) return 40;\n }\n\n // Fallback for multi-word matches that didn't meet other criteria\n return 30;\n}\n"],"names":[],"mappings":"AAIO,SAAS,cAAc,UAAkB,OAAuB;AACrE,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,iBAAiB,SAAS,YAAA;AAChC,QAAM,kBAAkB,MAAM,YAAA,EAAc,KAAA;AAG5C,MAAI,CAAC,gBAAiB,QAAO;AAE7B,QAAM,aAAa,gBAAgB,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AAGhF,MAAI,mBAAmB,gBAAiB,QAAO;AAG/C,MAAI,eAAe,WAAW,eAAe,EAAG,QAAO;AAGvD,MAAI,WAAW,SAAS,GAAG;AACzB,UAAM,YAAY,eAAe,MAAM,KAAK;AAG5C,QAAI,YAAY;AAChB,QAAI,uBAAuB;AAC3B,eAAW,SAAS,YAAY;AAC9B,UAAI,QAAQ;AACZ,aAAO,YAAY,UAAU,QAAQ;AACnC,YAAI,UAAU,SAAS,EAAE,WAAW,KAAK,GAAG;AAC1C,kBAAQ;AACR;AACA;AAAA,QACF;AACA;AAAA,MACF;AACA,UAAI,CAAC,OAAO;AACV,+BAAuB;AACvB;AAAA,MACF;AAAA,IACF;AACA,QAAI,qBAAsB,QAAO;AAGjC,UAAM,4BAA4B,WAAW;AAAA,MAAM,CAAC,UAClD,UAAU,KAAK,CAAC,UAAU,MAAM,WAAW,KAAK,CAAC;AAAA,IAAA;AAEnD,QAAI,0BAA2B,QAAO;AAGtC,UAAM,oBAAoB,WAAW;AAAA,MAAM,CAAC,UAC1C,UAAU,KAAK,CAAC,UAAU,MAAM,SAAS,KAAK,CAAC;AAAA,IAAA;AAEjD,QAAI,kBAAmB,QAAO;AAAA,EAChC;AAGA,MAAI,WAAW,WAAW,GAAG;AAC3B,UAAM,YAAY,eAAe,MAAM,KAAK;AAC5C,QAAI,UAAU,KAAK,CAAC,SAAS,KAAK,WAAW,eAAe,CAAC,EAAG,QAAO;AAGvE,QAAI,eAAe,SAAS,eAAe,EAAG,QAAO;AAAA,EACvD;AAGA,SAAO;AACT;"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const core = require("@tiptap/core");
4
+ const Suggestion = require("@tiptap/suggestion");
5
+ const MentionSuggestionsExtension = core.Extension.create({
6
+ name: "mentionSuggestions",
7
+ addOptions() {
8
+ return {
9
+ store: null,
10
+ callbacks: null
11
+ };
12
+ },
13
+ addProseMirrorPlugins() {
14
+ const callbacks = this.options.callbacks;
15
+ return [
16
+ Suggestion({
17
+ editor: this.editor,
18
+ char: "@",
19
+ allowSpaces: false,
20
+ startOfLine: false,
21
+ allowedPrefixes: [" ", " ", "\n", "\r", "(", "[", "{", '"', "'", " "],
22
+ items: () => [],
23
+ command: ({ editor, range, props }) => {
24
+ var _a, _b, _c;
25
+ const item = props;
26
+ if (item.navigatesToScope || item.isNavigationOnly) return;
27
+ editor.chain().focus().deleteRange(range).insertContent({
28
+ type: "mention",
29
+ attrs: {
30
+ type: item.type,
31
+ name: item.name,
32
+ id: item.type === "tab" && typeof ((_a = item.extra) == null ? void 0 : _a.tabId) === "number" ? String(item.extra.tabId) : item.id,
33
+ title: item.type === "tab" && typeof ((_b = item.extra) == null ? void 0 : _b.title) === "string" ? item.extra.title : item.name,
34
+ url: item.url ?? "",
35
+ description: item.description ?? "",
36
+ thumbnailUrl: item.thumbnailUrl ?? "",
37
+ fallbackIcon: item.fallbackIcon ?? "",
38
+ assetType: typeof ((_c = item.extra) == null ? void 0 : _c.athenaOriginalType) === "string" ? item.extra.athenaOriginalType : ""
39
+ }
40
+ }).insertContent({ type: "text", text: " " }).run();
41
+ },
42
+ render: () => ({
43
+ onStart: (props) => {
44
+ callbacks == null ? void 0 : callbacks.onStart({
45
+ query: props.query,
46
+ command: (item) => props.command(item),
47
+ clientRect: props.clientRect ?? null,
48
+ editor: props.editor
49
+ });
50
+ },
51
+ onUpdate: (props) => {
52
+ callbacks == null ? void 0 : callbacks.onUpdate({
53
+ query: props.query,
54
+ command: (item) => props.command(item),
55
+ clientRect: props.clientRect ?? null,
56
+ editor: props.editor
57
+ });
58
+ },
59
+ onKeyDown: ({ event }) => {
60
+ return (callbacks == null ? void 0 : callbacks.onKeyDown(event)) ?? false;
61
+ },
62
+ onExit: () => {
63
+ callbacks == null ? void 0 : callbacks.onExit();
64
+ }
65
+ })
66
+ })
67
+ ];
68
+ }
69
+ });
70
+ exports.MentionSuggestionsExtension = MentionSuggestionsExtension;
71
+ //# sourceMappingURL=mention-suggestions.extension.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention-suggestions.extension.cjs","sources":["../../../../src/chat-ui/mentions/suggestions/mention-suggestions.extension.ts"],"sourcesContent":["/**\n * Tiptap Mention Suggestions Extension\n *\n * Integrates the mention popup with Tiptap's suggestion plugin.\n * Ported from Olympus — same lifecycle management.\n */\n\nimport { Extension } from \"@tiptap/core\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport type { MentionSuggestionsStore } from \"./data/use-mention-suggestions\";\nimport type { MenuItem } from \"./data/types\";\n\nexport interface MentionSuggestionRenderProps {\n query: string;\n command: (item: MenuItem) => void;\n clientRect: (() => DOMRect | null) | null;\n editor: any;\n}\n\nexport type MentionSuggestionCallbacks = {\n onStart: (props: MentionSuggestionRenderProps) => void;\n onUpdate: (props: MentionSuggestionRenderProps) => void;\n onKeyDown: (event: KeyboardEvent) => boolean;\n onExit: () => void;\n};\n\nexport const MentionSuggestionsExtension = Extension.create<{\n store: MentionSuggestionsStore | null;\n callbacks: MentionSuggestionCallbacks | null;\n}>({\n name: \"mentionSuggestions\",\n\n addOptions() {\n return {\n store: null,\n callbacks: null,\n };\n },\n\n addProseMirrorPlugins() {\n const callbacks = this.options.callbacks;\n\n return [\n Suggestion({\n editor: this.editor,\n char: \"@\",\n allowSpaces: false,\n startOfLine: false,\n allowedPrefixes: [\" \", \"\\t\", \"\\n\", \"\\r\", \"(\", \"[\", \"{\", '\"', \"'\", \"\\u00A0\"],\n\n items: () => [],\n\n command: ({ editor, range, props }) => {\n const item = props as unknown as MenuItem;\n // Skip items that can't be mentioned (navigation is handled by the\n // list component)\n if (item.navigatesToScope || item.isNavigationOnly) return;\n\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .insertContent({\n type: \"mention\",\n attrs: {\n type: item.type,\n name: item.name,\n id:\n item.type === \"tab\" && typeof item.extra?.tabId === \"number\"\n ? String(item.extra.tabId)\n : item.id,\n title:\n item.type === \"tab\" && typeof item.extra?.title === \"string\"\n ? item.extra.title\n : item.name,\n url: item.url ?? \"\",\n description: item.description ?? \"\",\n thumbnailUrl: item.thumbnailUrl ?? \"\",\n fallbackIcon: item.fallbackIcon ?? \"\",\n assetType:\n typeof item.extra?.athenaOriginalType === \"string\"\n ? item.extra.athenaOriginalType\n : \"\",\n },\n })\n .insertContent({ type: \"text\", text: \" \" })\n .run();\n },\n\n render: () => ({\n onStart: (props) => {\n callbacks?.onStart({\n query: props.query,\n command: (item) => props.command(item as never),\n clientRect: props.clientRect ?? null,\n editor: props.editor,\n });\n },\n onUpdate: (props) => {\n callbacks?.onUpdate({\n query: props.query,\n command: (item) => props.command(item as never),\n clientRect: props.clientRect ?? null,\n editor: props.editor,\n });\n },\n onKeyDown: ({ event }) => {\n return callbacks?.onKeyDown(event) ?? false;\n },\n onExit: () => {\n callbacks?.onExit();\n },\n }),\n }),\n ];\n },\n});\n"],"names":["Extension"],"mappings":";;;;AA0BO,MAAM,8BAA8BA,KAAAA,UAAU,OAGlD;AAAA,EACD,MAAM;AAAA,EAEN,aAAa;AACX,WAAO;AAAA,MACL,OAAO;AAAA,MACP,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,wBAAwB;AACtB,UAAM,YAAY,KAAK,QAAQ;AAE/B,WAAO;AAAA,MACL,WAAW;AAAA,QACT,QAAQ,KAAK;AAAA,QACb,MAAM;AAAA,QACN,aAAa;AAAA,QACb,aAAa;AAAA,QACb,iBAAiB,CAAC,KAAK,KAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,GAAQ;AAAA,QAE1E,OAAO,MAAM,CAAA;AAAA,QAEb,SAAS,CAAC,EAAE,QAAQ,OAAO,YAAY;;AACrC,gBAAM,OAAO;AAGb,cAAI,KAAK,oBAAoB,KAAK,iBAAkB;AAEpD,iBACG,QACA,MAAA,EACA,YAAY,KAAK,EACjB,cAAc;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,cACL,MAAM,KAAK;AAAA,cACX,MAAM,KAAK;AAAA,cACX,IACE,KAAK,SAAS,SAAS,SAAO,UAAK,UAAL,mBAAY,WAAU,WAChD,OAAO,KAAK,MAAM,KAAK,IACvB,KAAK;AAAA,cACX,OACE,KAAK,SAAS,SAAS,SAAO,UAAK,UAAL,mBAAY,WAAU,WAChD,KAAK,MAAM,QACX,KAAK;AAAA,cACX,KAAK,KAAK,OAAO;AAAA,cACjB,aAAa,KAAK,eAAe;AAAA,cACjC,cAAc,KAAK,gBAAgB;AAAA,cACnC,cAAc,KAAK,gBAAgB;AAAA,cACnC,WACE,SAAO,UAAK,UAAL,mBAAY,wBAAuB,WACtC,KAAK,MAAM,qBACX;AAAA,YAAA;AAAA,UACR,CACD,EACA,cAAc,EAAE,MAAM,QAAQ,MAAM,IAAA,CAAK,EACzC,IAAA;AAAA,QACL;AAAA,QAEA,QAAQ,OAAO;AAAA,UACb,SAAS,CAAC,UAAU;AAClB,mDAAW,QAAQ;AAAA,cACjB,OAAO,MAAM;AAAA,cACb,SAAS,CAAC,SAAS,MAAM,QAAQ,IAAa;AAAA,cAC9C,YAAY,MAAM,cAAc;AAAA,cAChC,QAAQ,MAAM;AAAA,YAAA;AAAA,UAElB;AAAA,UACA,UAAU,CAAC,UAAU;AACnB,mDAAW,SAAS;AAAA,cAClB,OAAO,MAAM;AAAA,cACb,SAAS,CAAC,SAAS,MAAM,QAAQ,IAAa;AAAA,cAC9C,YAAY,MAAM,cAAc;AAAA,cAChC,QAAQ,MAAM;AAAA,YAAA;AAAA,UAElB;AAAA,UACA,WAAW,CAAC,EAAE,YAAY;AACxB,oBAAO,uCAAW,UAAU,WAAU;AAAA,UACxC;AAAA,UACA,QAAQ,MAAM;AACZ,mDAAW;AAAA,UACb;AAAA,QAAA;AAAA,MACF,CACD;AAAA,IAAA;AAAA,EAEL;AACF,CAAC;;"}
@@ -0,0 +1,71 @@
1
+ import { Extension } from "@tiptap/core";
2
+ import Suggestion from "@tiptap/suggestion";
3
+ const MentionSuggestionsExtension = Extension.create({
4
+ name: "mentionSuggestions",
5
+ addOptions() {
6
+ return {
7
+ store: null,
8
+ callbacks: null
9
+ };
10
+ },
11
+ addProseMirrorPlugins() {
12
+ const callbacks = this.options.callbacks;
13
+ return [
14
+ Suggestion({
15
+ editor: this.editor,
16
+ char: "@",
17
+ allowSpaces: false,
18
+ startOfLine: false,
19
+ allowedPrefixes: [" ", " ", "\n", "\r", "(", "[", "{", '"', "'", " "],
20
+ items: () => [],
21
+ command: ({ editor, range, props }) => {
22
+ var _a, _b, _c;
23
+ const item = props;
24
+ if (item.navigatesToScope || item.isNavigationOnly) return;
25
+ editor.chain().focus().deleteRange(range).insertContent({
26
+ type: "mention",
27
+ attrs: {
28
+ type: item.type,
29
+ name: item.name,
30
+ id: item.type === "tab" && typeof ((_a = item.extra) == null ? void 0 : _a.tabId) === "number" ? String(item.extra.tabId) : item.id,
31
+ title: item.type === "tab" && typeof ((_b = item.extra) == null ? void 0 : _b.title) === "string" ? item.extra.title : item.name,
32
+ url: item.url ?? "",
33
+ description: item.description ?? "",
34
+ thumbnailUrl: item.thumbnailUrl ?? "",
35
+ fallbackIcon: item.fallbackIcon ?? "",
36
+ assetType: typeof ((_c = item.extra) == null ? void 0 : _c.athenaOriginalType) === "string" ? item.extra.athenaOriginalType : ""
37
+ }
38
+ }).insertContent({ type: "text", text: " " }).run();
39
+ },
40
+ render: () => ({
41
+ onStart: (props) => {
42
+ callbacks == null ? void 0 : callbacks.onStart({
43
+ query: props.query,
44
+ command: (item) => props.command(item),
45
+ clientRect: props.clientRect ?? null,
46
+ editor: props.editor
47
+ });
48
+ },
49
+ onUpdate: (props) => {
50
+ callbacks == null ? void 0 : callbacks.onUpdate({
51
+ query: props.query,
52
+ command: (item) => props.command(item),
53
+ clientRect: props.clientRect ?? null,
54
+ editor: props.editor
55
+ });
56
+ },
57
+ onKeyDown: ({ event }) => {
58
+ return (callbacks == null ? void 0 : callbacks.onKeyDown(event)) ?? false;
59
+ },
60
+ onExit: () => {
61
+ callbacks == null ? void 0 : callbacks.onExit();
62
+ }
63
+ })
64
+ })
65
+ ];
66
+ }
67
+ });
68
+ export {
69
+ MentionSuggestionsExtension
70
+ };
71
+ //# sourceMappingURL=mention-suggestions.extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention-suggestions.extension.js","sources":["../../../../src/chat-ui/mentions/suggestions/mention-suggestions.extension.ts"],"sourcesContent":["/**\n * Tiptap Mention Suggestions Extension\n *\n * Integrates the mention popup with Tiptap's suggestion plugin.\n * Ported from Olympus — same lifecycle management.\n */\n\nimport { Extension } from \"@tiptap/core\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport type { MentionSuggestionsStore } from \"./data/use-mention-suggestions\";\nimport type { MenuItem } from \"./data/types\";\n\nexport interface MentionSuggestionRenderProps {\n query: string;\n command: (item: MenuItem) => void;\n clientRect: (() => DOMRect | null) | null;\n editor: any;\n}\n\nexport type MentionSuggestionCallbacks = {\n onStart: (props: MentionSuggestionRenderProps) => void;\n onUpdate: (props: MentionSuggestionRenderProps) => void;\n onKeyDown: (event: KeyboardEvent) => boolean;\n onExit: () => void;\n};\n\nexport const MentionSuggestionsExtension = Extension.create<{\n store: MentionSuggestionsStore | null;\n callbacks: MentionSuggestionCallbacks | null;\n}>({\n name: \"mentionSuggestions\",\n\n addOptions() {\n return {\n store: null,\n callbacks: null,\n };\n },\n\n addProseMirrorPlugins() {\n const callbacks = this.options.callbacks;\n\n return [\n Suggestion({\n editor: this.editor,\n char: \"@\",\n allowSpaces: false,\n startOfLine: false,\n allowedPrefixes: [\" \", \"\\t\", \"\\n\", \"\\r\", \"(\", \"[\", \"{\", '\"', \"'\", \"\\u00A0\"],\n\n items: () => [],\n\n command: ({ editor, range, props }) => {\n const item = props as unknown as MenuItem;\n // Skip items that can't be mentioned (navigation is handled by the\n // list component)\n if (item.navigatesToScope || item.isNavigationOnly) return;\n\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .insertContent({\n type: \"mention\",\n attrs: {\n type: item.type,\n name: item.name,\n id:\n item.type === \"tab\" && typeof item.extra?.tabId === \"number\"\n ? String(item.extra.tabId)\n : item.id,\n title:\n item.type === \"tab\" && typeof item.extra?.title === \"string\"\n ? item.extra.title\n : item.name,\n url: item.url ?? \"\",\n description: item.description ?? \"\",\n thumbnailUrl: item.thumbnailUrl ?? \"\",\n fallbackIcon: item.fallbackIcon ?? \"\",\n assetType:\n typeof item.extra?.athenaOriginalType === \"string\"\n ? item.extra.athenaOriginalType\n : \"\",\n },\n })\n .insertContent({ type: \"text\", text: \" \" })\n .run();\n },\n\n render: () => ({\n onStart: (props) => {\n callbacks?.onStart({\n query: props.query,\n command: (item) => props.command(item as never),\n clientRect: props.clientRect ?? null,\n editor: props.editor,\n });\n },\n onUpdate: (props) => {\n callbacks?.onUpdate({\n query: props.query,\n command: (item) => props.command(item as never),\n clientRect: props.clientRect ?? null,\n editor: props.editor,\n });\n },\n onKeyDown: ({ event }) => {\n return callbacks?.onKeyDown(event) ?? false;\n },\n onExit: () => {\n callbacks?.onExit();\n },\n }),\n }),\n ];\n },\n});\n"],"names":[],"mappings":";;AA0BO,MAAM,8BAA8B,UAAU,OAGlD;AAAA,EACD,MAAM;AAAA,EAEN,aAAa;AACX,WAAO;AAAA,MACL,OAAO;AAAA,MACP,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,wBAAwB;AACtB,UAAM,YAAY,KAAK,QAAQ;AAE/B,WAAO;AAAA,MACL,WAAW;AAAA,QACT,QAAQ,KAAK;AAAA,QACb,MAAM;AAAA,QACN,aAAa;AAAA,QACb,aAAa;AAAA,QACb,iBAAiB,CAAC,KAAK,KAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,GAAQ;AAAA,QAE1E,OAAO,MAAM,CAAA;AAAA,QAEb,SAAS,CAAC,EAAE,QAAQ,OAAO,YAAY;;AACrC,gBAAM,OAAO;AAGb,cAAI,KAAK,oBAAoB,KAAK,iBAAkB;AAEpD,iBACG,QACA,MAAA,EACA,YAAY,KAAK,EACjB,cAAc;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,cACL,MAAM,KAAK;AAAA,cACX,MAAM,KAAK;AAAA,cACX,IACE,KAAK,SAAS,SAAS,SAAO,UAAK,UAAL,mBAAY,WAAU,WAChD,OAAO,KAAK,MAAM,KAAK,IACvB,KAAK;AAAA,cACX,OACE,KAAK,SAAS,SAAS,SAAO,UAAK,UAAL,mBAAY,WAAU,WAChD,KAAK,MAAM,QACX,KAAK;AAAA,cACX,KAAK,KAAK,OAAO;AAAA,cACjB,aAAa,KAAK,eAAe;AAAA,cACjC,cAAc,KAAK,gBAAgB;AAAA,cACnC,cAAc,KAAK,gBAAgB;AAAA,cACnC,WACE,SAAO,UAAK,UAAL,mBAAY,wBAAuB,WACtC,KAAK,MAAM,qBACX;AAAA,YAAA;AAAA,UACR,CACD,EACA,cAAc,EAAE,MAAM,QAAQ,MAAM,IAAA,CAAK,EACzC,IAAA;AAAA,QACL;AAAA,QAEA,QAAQ,OAAO;AAAA,UACb,SAAS,CAAC,UAAU;AAClB,mDAAW,QAAQ;AAAA,cACjB,OAAO,MAAM;AAAA,cACb,SAAS,CAAC,SAAS,MAAM,QAAQ,IAAa;AAAA,cAC9C,YAAY,MAAM,cAAc;AAAA,cAChC,QAAQ,MAAM;AAAA,YAAA;AAAA,UAElB;AAAA,UACA,UAAU,CAAC,UAAU;AACnB,mDAAW,SAAS;AAAA,cAClB,OAAO,MAAM;AAAA,cACb,SAAS,CAAC,SAAS,MAAM,QAAQ,IAAa;AAAA,cAC9C,YAAY,MAAM,cAAc;AAAA,cAChC,QAAQ,MAAM;AAAA,YAAA;AAAA,UAElB;AAAA,UACA,WAAW,CAAC,EAAE,YAAY;AACxB,oBAAO,uCAAW,UAAU,WAAU;AAAA,UACxC;AAAA,UACA,QAAQ,MAAM;AACZ,mDAAW;AAAA,UACb;AAAA,QAAA;AAAA,MACF,CACD;AAAA,IAAA;AAAA,EAEL;AACF,CAAC;"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const lucideReact = require("lucide-react");
5
+ const react = require("react");
6
+ const cnfast = require("cnfast");
7
+ const EXIT_ANIMATION_MS = 200;
8
+ const EXIT_RESET_MS = 2500;
9
+ const ContinuePill = ({ onClick, ariaLabel, dataTestId }) => {
10
+ const [isExiting, setIsExiting] = react.useState(false);
11
+ const onClickRef = react.useRef(onClick);
12
+ const pendingOnClickRef = react.useRef(onClick);
13
+ onClickRef.current = onClick;
14
+ react.useEffect(() => {
15
+ if (!isExiting) return;
16
+ const dispatchTimer = setTimeout(
17
+ () => pendingOnClickRef.current(),
18
+ EXIT_ANIMATION_MS
19
+ );
20
+ const resetTimer = setTimeout(() => setIsExiting(false), EXIT_RESET_MS);
21
+ return () => {
22
+ clearTimeout(dispatchTimer);
23
+ clearTimeout(resetTimer);
24
+ };
25
+ }, [isExiting]);
26
+ const handleClick = () => {
27
+ if (isExiting) return;
28
+ pendingOnClickRef.current = onClickRef.current;
29
+ setIsExiting(true);
30
+ };
31
+ return /* @__PURE__ */ jsxRuntime.jsxs(
32
+ "button",
33
+ {
34
+ type: "button",
35
+ onClick: handleClick,
36
+ disabled: isExiting,
37
+ className: cnfast.cn(
38
+ "group inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1 text-xs font-medium text-primary-foreground shadow-sm",
39
+ "transition-all duration-200 ease-out",
40
+ "hover:bg-primary/90 hover:shadow-md active:scale-95",
41
+ "animate-in fade-in slide-in-from-bottom-1",
42
+ isExiting && "pointer-events-none scale-90 opacity-0"
43
+ ),
44
+ "aria-label": ariaLabel,
45
+ "data-testid": dataTestId,
46
+ children: [
47
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Play, { className: "size-3 fill-current transition-transform duration-200 ease-out group-hover:translate-x-0.5" }),
48
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Continue" })
49
+ ]
50
+ }
51
+ );
52
+ };
53
+ exports.ContinuePill = ContinuePill;
54
+ //# sourceMappingURL=continue-pill.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continue-pill.cjs","sources":["../../../src/chat-ui/messages/continue-pill.tsx"],"sourcesContent":["import { Play } from \"lucide-react\";\nimport { type FC, useEffect, useRef, useState } from \"react\";\nimport { cn } from \"../../lib/utils\";\n\nconst EXIT_ANIMATION_MS = 200;\nconst EXIT_RESET_MS = 2500;\n\n/**\n * Shared Continue action for recoverable chat states.\n *\n * The dispatch waits for the exit animation to paint. If the owning runtime\n * does not leave the recoverable state (for example, the command is rejected),\n * the control resets so the user can try again.\n */\nexport const ContinuePill: FC<{\n onClick: () => void;\n ariaLabel: string;\n dataTestId?: string;\n}> = ({ onClick, ariaLabel, dataTestId }) => {\n const [isExiting, setIsExiting] = useState(false);\n const onClickRef = useRef(onClick);\n const pendingOnClickRef = useRef(onClick);\n onClickRef.current = onClick;\n\n useEffect(() => {\n if (!isExiting) return;\n const dispatchTimer = setTimeout(\n () => pendingOnClickRef.current(),\n EXIT_ANIMATION_MS,\n );\n const resetTimer = setTimeout(() => setIsExiting(false), EXIT_RESET_MS);\n return () => {\n clearTimeout(dispatchTimer);\n clearTimeout(resetTimer);\n };\n }, [isExiting]);\n\n const handleClick = (): void => {\n if (isExiting) return;\n pendingOnClickRef.current = onClickRef.current;\n setIsExiting(true);\n };\n\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={isExiting}\n className={cn(\n \"group inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1 text-xs font-medium text-primary-foreground shadow-sm\",\n \"transition-all duration-200 ease-out\",\n \"hover:bg-primary/90 hover:shadow-md active:scale-95\",\n \"animate-in fade-in slide-in-from-bottom-1\",\n isExiting && \"pointer-events-none scale-90 opacity-0\",\n )}\n aria-label={ariaLabel}\n data-testid={dataTestId}\n >\n <Play className=\"size-3 fill-current transition-transform duration-200 ease-out group-hover:translate-x-0.5\" />\n <span>Continue</span>\n </button>\n );\n};\n"],"names":["useState","useRef","useEffect","jsxs","cn","jsx","Play"],"mappings":";;;;;;AAIA,MAAM,oBAAoB;AAC1B,MAAM,gBAAgB;AASf,MAAM,eAIR,CAAC,EAAE,SAAS,WAAW,iBAAiB;AAC3C,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAS,KAAK;AAChD,QAAM,aAAaC,MAAAA,OAAO,OAAO;AACjC,QAAM,oBAAoBA,MAAAA,OAAO,OAAO;AACxC,aAAW,UAAU;AAErBC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,UAAW;AAChB,UAAM,gBAAgB;AAAA,MACpB,MAAM,kBAAkB,QAAA;AAAA,MACxB;AAAA,IAAA;AAEF,UAAM,aAAa,WAAW,MAAM,aAAa,KAAK,GAAG,aAAa;AACtE,WAAO,MAAM;AACX,mBAAa,aAAa;AAC1B,mBAAa,UAAU;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,cAAc,MAAY;AAC9B,QAAI,UAAW;AACf,sBAAkB,UAAU,WAAW;AACvC,iBAAa,IAAI;AAAA,EACnB;AAEA,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,WAAWC,OAAAA;AAAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa;AAAA,MAAA;AAAA,MAEf,cAAY;AAAA,MACZ,eAAa;AAAA,MAEb,UAAA;AAAA,QAAAC,2BAAAA,IAACC,YAAAA,MAAA,EAAK,WAAU,6FAAA,CAA6F;AAAA,QAC7GD,2BAAAA,IAAC,UAAK,UAAA,WAAA,CAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpB;;"}
@@ -0,0 +1,54 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Play } from "lucide-react";
3
+ import { useState, useRef, useEffect } from "react";
4
+ import { cn } from "cnfast";
5
+ const EXIT_ANIMATION_MS = 200;
6
+ const EXIT_RESET_MS = 2500;
7
+ const ContinuePill = ({ onClick, ariaLabel, dataTestId }) => {
8
+ const [isExiting, setIsExiting] = useState(false);
9
+ const onClickRef = useRef(onClick);
10
+ const pendingOnClickRef = useRef(onClick);
11
+ onClickRef.current = onClick;
12
+ useEffect(() => {
13
+ if (!isExiting) return;
14
+ const dispatchTimer = setTimeout(
15
+ () => pendingOnClickRef.current(),
16
+ EXIT_ANIMATION_MS
17
+ );
18
+ const resetTimer = setTimeout(() => setIsExiting(false), EXIT_RESET_MS);
19
+ return () => {
20
+ clearTimeout(dispatchTimer);
21
+ clearTimeout(resetTimer);
22
+ };
23
+ }, [isExiting]);
24
+ const handleClick = () => {
25
+ if (isExiting) return;
26
+ pendingOnClickRef.current = onClickRef.current;
27
+ setIsExiting(true);
28
+ };
29
+ return /* @__PURE__ */ jsxs(
30
+ "button",
31
+ {
32
+ type: "button",
33
+ onClick: handleClick,
34
+ disabled: isExiting,
35
+ className: cn(
36
+ "group inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1 text-xs font-medium text-primary-foreground shadow-sm",
37
+ "transition-all duration-200 ease-out",
38
+ "hover:bg-primary/90 hover:shadow-md active:scale-95",
39
+ "animate-in fade-in slide-in-from-bottom-1",
40
+ isExiting && "pointer-events-none scale-90 opacity-0"
41
+ ),
42
+ "aria-label": ariaLabel,
43
+ "data-testid": dataTestId,
44
+ children: [
45
+ /* @__PURE__ */ jsx(Play, { className: "size-3 fill-current transition-transform duration-200 ease-out group-hover:translate-x-0.5" }),
46
+ /* @__PURE__ */ jsx("span", { children: "Continue" })
47
+ ]
48
+ }
49
+ );
50
+ };
51
+ export {
52
+ ContinuePill
53
+ };
54
+ //# sourceMappingURL=continue-pill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continue-pill.js","sources":["../../../src/chat-ui/messages/continue-pill.tsx"],"sourcesContent":["import { Play } from \"lucide-react\";\nimport { type FC, useEffect, useRef, useState } from \"react\";\nimport { cn } from \"../../lib/utils\";\n\nconst EXIT_ANIMATION_MS = 200;\nconst EXIT_RESET_MS = 2500;\n\n/**\n * Shared Continue action for recoverable chat states.\n *\n * The dispatch waits for the exit animation to paint. If the owning runtime\n * does not leave the recoverable state (for example, the command is rejected),\n * the control resets so the user can try again.\n */\nexport const ContinuePill: FC<{\n onClick: () => void;\n ariaLabel: string;\n dataTestId?: string;\n}> = ({ onClick, ariaLabel, dataTestId }) => {\n const [isExiting, setIsExiting] = useState(false);\n const onClickRef = useRef(onClick);\n const pendingOnClickRef = useRef(onClick);\n onClickRef.current = onClick;\n\n useEffect(() => {\n if (!isExiting) return;\n const dispatchTimer = setTimeout(\n () => pendingOnClickRef.current(),\n EXIT_ANIMATION_MS,\n );\n const resetTimer = setTimeout(() => setIsExiting(false), EXIT_RESET_MS);\n return () => {\n clearTimeout(dispatchTimer);\n clearTimeout(resetTimer);\n };\n }, [isExiting]);\n\n const handleClick = (): void => {\n if (isExiting) return;\n pendingOnClickRef.current = onClickRef.current;\n setIsExiting(true);\n };\n\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={isExiting}\n className={cn(\n \"group inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1 text-xs font-medium text-primary-foreground shadow-sm\",\n \"transition-all duration-200 ease-out\",\n \"hover:bg-primary/90 hover:shadow-md active:scale-95\",\n \"animate-in fade-in slide-in-from-bottom-1\",\n isExiting && \"pointer-events-none scale-90 opacity-0\",\n )}\n aria-label={ariaLabel}\n data-testid={dataTestId}\n >\n <Play className=\"size-3 fill-current transition-transform duration-200 ease-out group-hover:translate-x-0.5\" />\n <span>Continue</span>\n </button>\n );\n};\n"],"names":[],"mappings":";;;;AAIA,MAAM,oBAAoB;AAC1B,MAAM,gBAAgB;AASf,MAAM,eAIR,CAAC,EAAE,SAAS,WAAW,iBAAiB;AAC3C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,aAAa,OAAO,OAAO;AACjC,QAAM,oBAAoB,OAAO,OAAO;AACxC,aAAW,UAAU;AAErB,YAAU,MAAM;AACd,QAAI,CAAC,UAAW;AAChB,UAAM,gBAAgB;AAAA,MACpB,MAAM,kBAAkB,QAAA;AAAA,MACxB;AAAA,IAAA;AAEF,UAAM,aAAa,WAAW,MAAM,aAAa,KAAK,GAAG,aAAa;AACtE,WAAO,MAAM;AACX,mBAAa,aAAa;AAC1B,mBAAa,UAAU;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,cAAc,MAAY;AAC9B,QAAI,UAAW;AACf,sBAAkB,UAAU,WAAW;AACvC,iBAAa,IAAI;AAAA,EACnB;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa;AAAA,MAAA;AAAA,MAEf,cAAY;AAAA,MACZ,eAAa;AAAA,MAEb,UAAA;AAAA,QAAA,oBAAC,MAAA,EAAK,WAAU,6FAAA,CAA6F;AAAA,QAC7G,oBAAC,UAAK,UAAA,WAAA,CAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpB;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const react = require("react");
5
+ const MessageActionsReadOnlyContext = react.createContext(false);
6
+ const MessageActionsReadOnlyProvider = ({ readOnly, children }) => /* @__PURE__ */ jsxRuntime.jsx(MessageActionsReadOnlyContext.Provider, { value: readOnly, children });
7
+ function useMessageActionsReadOnly() {
8
+ return react.useContext(MessageActionsReadOnlyContext);
9
+ }
10
+ exports.MessageActionsReadOnlyProvider = MessageActionsReadOnlyProvider;
11
+ exports.useMessageActionsReadOnly = useMessageActionsReadOnly;
12
+ //# sourceMappingURL=message-actions-config.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-actions-config.cjs","sources":["../../../src/chat-ui/messages/message-actions-config.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nconst MessageActionsReadOnlyContext = createContext(false);\n\n/**\n * Marks the surrounding transcript read-only: the mutating message actions\n * (Edit, Regenerate) hide while Copy stays available. Hosts set this for\n * conversations whose server rejects dispatch — e.g. the Chrome extension's\n * legacy pre-cutover threads, where the runtime's static capability flags\n * cannot know a given thread is fenced.\n */\nexport const MessageActionsReadOnlyProvider: FC<\n PropsWithChildren<{ readOnly: boolean }>\n> = ({ readOnly, children }) => (\n <MessageActionsReadOnlyContext.Provider value={readOnly}>\n {children}\n </MessageActionsReadOnlyContext.Provider>\n);\n\nexport function useMessageActionsReadOnly(): boolean {\n return useContext(MessageActionsReadOnlyContext);\n}\n"],"names":["createContext","jsx","useContext"],"mappings":";;;;AAGA,MAAM,gCAAgCA,MAAAA,cAAc,KAAK;AASlD,MAAM,iCAET,CAAC,EAAE,UAAU,eACfC,2BAAAA,IAAC,8BAA8B,UAA9B,EAAuC,OAAO,UAC5C,SAAA,CACH;AAGK,SAAS,4BAAqC;AACnD,SAAOC,MAAAA,WAAW,6BAA6B;AACjD;;;"}
@@ -0,0 +1,12 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useContext, createContext } from "react";
3
+ const MessageActionsReadOnlyContext = createContext(false);
4
+ const MessageActionsReadOnlyProvider = ({ readOnly, children }) => /* @__PURE__ */ jsx(MessageActionsReadOnlyContext.Provider, { value: readOnly, children });
5
+ function useMessageActionsReadOnly() {
6
+ return useContext(MessageActionsReadOnlyContext);
7
+ }
8
+ export {
9
+ MessageActionsReadOnlyProvider,
10
+ useMessageActionsReadOnly
11
+ };
12
+ //# sourceMappingURL=message-actions-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-actions-config.js","sources":["../../../src/chat-ui/messages/message-actions-config.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nconst MessageActionsReadOnlyContext = createContext(false);\n\n/**\n * Marks the surrounding transcript read-only: the mutating message actions\n * (Edit, Regenerate) hide while Copy stays available. Hosts set this for\n * conversations whose server rejects dispatch — e.g. the Chrome extension's\n * legacy pre-cutover threads, where the runtime's static capability flags\n * cannot know a given thread is fenced.\n */\nexport const MessageActionsReadOnlyProvider: FC<\n PropsWithChildren<{ readOnly: boolean }>\n> = ({ readOnly, children }) => (\n <MessageActionsReadOnlyContext.Provider value={readOnly}>\n {children}\n </MessageActionsReadOnlyContext.Provider>\n);\n\nexport function useMessageActionsReadOnly(): boolean {\n return useContext(MessageActionsReadOnlyContext);\n}\n"],"names":[],"mappings":";;AAGA,MAAM,gCAAgC,cAAc,KAAK;AASlD,MAAM,iCAET,CAAC,EAAE,UAAU,eACf,oBAAC,8BAA8B,UAA9B,EAAuC,OAAO,UAC5C,SAAA,CACH;AAGK,SAAS,4BAAqC;AACnD,SAAO,WAAW,6BAA6B;AACjD;"}