@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,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const store = require("@tanstack/store");
4
+ const react = require("react");
5
+ function getCurrentScope(state) {
6
+ const lastEntry = state.scopeStack[state.scopeStack.length - 1];
7
+ return (lastEntry == null ? void 0 : lastEntry.scope) ?? "root";
8
+ }
9
+ function getSelectedIndex(state) {
10
+ const lastEntry = state.scopeStack[state.scopeStack.length - 1];
11
+ return (lastEntry == null ? void 0 : lastEntry.selectedIndex) ?? 0;
12
+ }
13
+ function useMenuNavigation() {
14
+ const [store$1] = react.useState(() => {
15
+ const baseStore = new store.Store({
16
+ scopeStack: [{ scope: "root", selectedIndex: 0 }],
17
+ query: "",
18
+ isActive: false
19
+ });
20
+ const navigationStore = baseStore;
21
+ navigationStore.navigateTo = (scope, currentSelectedIndex, options) => {
22
+ const state = baseStore.state;
23
+ const updatedStack = [...state.scopeStack];
24
+ if (updatedStack.length > 0) {
25
+ updatedStack[updatedStack.length - 1] = {
26
+ ...updatedStack[updatedStack.length - 1],
27
+ selectedIndex: currentSelectedIndex
28
+ };
29
+ }
30
+ const newStack = [
31
+ ...updatedStack,
32
+ {
33
+ scope,
34
+ selectedIndex: 0,
35
+ breadcrumbLabel: options == null ? void 0 : options.breadcrumbLabel,
36
+ parentScope: options == null ? void 0 : options.parentScope
37
+ }
38
+ ];
39
+ baseStore.setState((prev) => ({
40
+ ...prev,
41
+ scopeStack: newStack,
42
+ query: ""
43
+ }));
44
+ };
45
+ navigationStore.navigateBack = () => {
46
+ const state = baseStore.state;
47
+ if (state.scopeStack.length <= 1) {
48
+ return;
49
+ }
50
+ const newStack = state.scopeStack.slice(0, -1);
51
+ baseStore.setState((prev) => ({
52
+ ...prev,
53
+ scopeStack: newStack,
54
+ query: ""
55
+ }));
56
+ };
57
+ navigationStore.setQuery = (query) => {
58
+ baseStore.setState((prev) => ({ ...prev, query }));
59
+ };
60
+ navigationStore.open = () => {
61
+ baseStore.setState(() => ({
62
+ scopeStack: [{ scope: "root", selectedIndex: 0 }],
63
+ query: "",
64
+ isActive: true
65
+ }));
66
+ };
67
+ navigationStore.close = () => {
68
+ baseStore.setState(() => ({
69
+ scopeStack: [{ scope: "root", selectedIndex: 0 }],
70
+ query: "",
71
+ isActive: false
72
+ }));
73
+ };
74
+ return navigationStore;
75
+ });
76
+ return store$1;
77
+ }
78
+ exports.getCurrentScope = getCurrentScope;
79
+ exports.getSelectedIndex = getSelectedIndex;
80
+ exports.useMenuNavigation = useMenuNavigation;
81
+ //# sourceMappingURL=use-menu-navigation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-menu-navigation.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/components/use-menu-navigation.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\nimport { useState } from 'react';\nimport type { MenuScope } from '../data/types';\n\n/**\n * Stack entry with scope and selected item position\n *\n * When navigating forward, we save the current selectedIndex so we can restore\n * it when navigating back (like browser history).\n */\nexport interface ScopeStackEntry {\n scope: MenuScope;\n selectedIndex: number; // Position of selected item when we left this scope\n breadcrumbLabel?: string; // Display name for this scope, when it isn't a known category\n parentScope?: MenuScope; // Scope we navigated from\n}\n\n/**\n * Menu navigation state - tracks current navigation context\n *\n * This is the \"current UI state\" that changes as user navigates and types.\n * Cleared when menu opens/closes.\n *\n * Uses a navigation stack for proper back button behavior:\n * - Forward navigation: push to stack (with current selectedIndex)\n * - Back navigation: pop from stack (restore selectedIndex)\n * - Current scope: last item in stack\n * - Parent scope: second-to-last item in stack\n */\nexport interface MenuNavigationState {\n // Navigation stack (browser-like history)\n // Example: [{ scope: 'root', selectedIndex: 2 }, { scope: 'folder_123', selectedIndex: 0 }]\n // Current scope = scopeStack[scopeStack.length - 1].scope\n // Parent scope = scopeStack[scopeStack.length - 2].scope\n scopeStack: ScopeStackEntry[];\n\n // Current search query\n query: string;\n\n // Is menu currently active?\n isActive: boolean;\n}\n\n/**\n * Menu navigation store with helper methods\n */\nexport interface MenuNavigationStore extends Store<MenuNavigationState> {\n navigateTo: (\n scope: MenuScope,\n currentSelectedIndex: number,\n options?: { breadcrumbLabel?: string; parentScope?: MenuScope },\n ) => void;\n navigateBack: () => void;\n setQuery: (query: string) => void;\n open: () => void;\n close: () => void;\n}\n\n/**\n * Get current scope from state\n */\nexport function getCurrentScope(state: MenuNavigationState): MenuScope {\n const lastEntry = state.scopeStack[state.scopeStack.length - 1];\n return lastEntry?.scope ?? \"root\";\n}\n\n/**\n * Get parent scope from state (for source inheritance)\n */\nexport function getParentScope(state: MenuNavigationState): MenuScope | undefined {\n if (state.scopeStack.length <= 1) return undefined;\n const parentEntry = state.scopeStack[state.scopeStack.length - 2];\n return parentEntry?.scope;\n}\n\n/**\n * Get selected index from current scope stack entry\n */\nexport function getSelectedIndex(state: MenuNavigationState): number {\n const lastEntry = state.scopeStack[state.scopeStack.length - 1];\n return lastEntry?.selectedIndex ?? 0;\n}\n\n/**\n * useMenuNavigation - Creates per-editor navigation state\n *\n * This is a UI concern - each editor instance gets its own navigation state.\n *\n * Returns a TanStack Store with navigation helper methods.\n */\nexport function useMenuNavigation(): MenuNavigationStore {\n const [store] = useState(() => {\n const baseStore = new Store<MenuNavigationState>({\n scopeStack: [{ scope: 'root', selectedIndex: 0 }],\n query: '',\n isActive: false,\n });\n\n // Extend store with navigation methods\n const navigationStore = baseStore as MenuNavigationStore;\n\n navigationStore.navigateTo = (\n scope: MenuScope,\n currentSelectedIndex: number,\n options?: { breadcrumbLabel?: string; parentScope?: MenuScope },\n ) => {\n const state = baseStore.state;\n\n // Save current selectedIndex in the current entry before navigating forward\n const updatedStack = [...state.scopeStack];\n if (updatedStack.length > 0) {\n updatedStack[updatedStack.length - 1] = {\n ...updatedStack[updatedStack.length - 1],\n selectedIndex: currentSelectedIndex,\n };\n }\n\n // Push new scope with selectedIndex = 0 (start at top of new scope)\n const newStack = [\n ...updatedStack,\n {\n scope,\n selectedIndex: 0,\n breadcrumbLabel: options?.breadcrumbLabel,\n parentScope: options?.parentScope,\n },\n ];\n\n baseStore.setState((prev) => ({\n ...prev,\n scopeStack: newStack,\n query: '',\n }));\n };\n\n navigationStore.navigateBack = () => {\n const state = baseStore.state;\n\n if (state.scopeStack.length <= 1) {\n return;\n }\n\n const newStack = state.scopeStack.slice(0, -1);\n\n baseStore.setState((prev) => ({\n ...prev,\n scopeStack: newStack,\n query: '',\n }));\n };\n\n navigationStore.setQuery = (query: string) => {\n baseStore.setState((prev) => ({ ...prev, query }));\n };\n\n navigationStore.open = () => {\n baseStore.setState(() => ({\n scopeStack: [{ scope: 'root', selectedIndex: 0 }],\n query: '',\n isActive: true,\n }));\n };\n\n navigationStore.close = () => {\n baseStore.setState(() => ({\n scopeStack: [{ scope: 'root', selectedIndex: 0 }],\n query: '',\n isActive: false,\n }));\n };\n\n return navigationStore;\n });\n\n return store;\n}\n"],"names":["store","useState","Store"],"mappings":";;;;AA6DO,SAAS,gBAAgB,OAAuC;AACrE,QAAM,YAAY,MAAM,WAAW,MAAM,WAAW,SAAS,CAAC;AAC9D,UAAO,uCAAW,UAAS;AAC7B;AAcO,SAAS,iBAAiB,OAAoC;AACnE,QAAM,YAAY,MAAM,WAAW,MAAM,WAAW,SAAS,CAAC;AAC9D,UAAO,uCAAW,kBAAiB;AACrC;AASO,SAAS,oBAAyC;AACvD,QAAM,CAACA,OAAK,IAAIC,MAAAA,SAAS,MAAM;AAC7B,UAAM,YAAY,IAAIC,YAA2B;AAAA,MAC/C,YAAY,CAAC,EAAE,OAAO,QAAQ,eAAe,GAAG;AAAA,MAChD,OAAO;AAAA,MACP,UAAU;AAAA,IAAA,CACX;AAGD,UAAM,kBAAkB;AAExB,oBAAgB,aAAa,CAC3B,OACA,sBACA,YACG;AACH,YAAM,QAAQ,UAAU;AAGxB,YAAM,eAAe,CAAC,GAAG,MAAM,UAAU;AACzC,UAAI,aAAa,SAAS,GAAG;AAC3B,qBAAa,aAAa,SAAS,CAAC,IAAI;AAAA,UACtC,GAAG,aAAa,aAAa,SAAS,CAAC;AAAA,UACvC,eAAe;AAAA,QAAA;AAAA,MAEnB;AAGA,YAAM,WAAW;AAAA,QACf,GAAG;AAAA,QACH;AAAA,UACE;AAAA,UACA,eAAe;AAAA,UACf,iBAAiB,mCAAS;AAAA,UAC1B,aAAa,mCAAS;AAAA,QAAA;AAAA,MACxB;AAGF,gBAAU,SAAS,CAAC,UAAU;AAAA,QAC5B,GAAG;AAAA,QACH,YAAY;AAAA,QACZ,OAAO;AAAA,MAAA,EACP;AAAA,IACJ;AAEA,oBAAgB,eAAe,MAAM;AACnC,YAAM,QAAQ,UAAU;AAExB,UAAI,MAAM,WAAW,UAAU,GAAG;AAChC;AAAA,MACF;AAEA,YAAM,WAAW,MAAM,WAAW,MAAM,GAAG,EAAE;AAE7C,gBAAU,SAAS,CAAC,UAAU;AAAA,QAC5B,GAAG;AAAA,QACH,YAAY;AAAA,QACZ,OAAO;AAAA,MAAA,EACP;AAAA,IACJ;AAEA,oBAAgB,WAAW,CAAC,UAAkB;AAC5C,gBAAU,SAAS,CAAC,UAAU,EAAE,GAAG,MAAM,QAAQ;AAAA,IACnD;AAEA,oBAAgB,OAAO,MAAM;AAC3B,gBAAU,SAAS,OAAO;AAAA,QACxB,YAAY,CAAC,EAAE,OAAO,QAAQ,eAAe,GAAG;AAAA,QAChD,OAAO;AAAA,QACP,UAAU;AAAA,MAAA,EACV;AAAA,IACJ;AAEA,oBAAgB,QAAQ,MAAM;AAC5B,gBAAU,SAAS,OAAO;AAAA,QACxB,YAAY,CAAC,EAAE,OAAO,QAAQ,eAAe,GAAG;AAAA,QAChD,OAAO;AAAA,QACP,UAAU;AAAA,MAAA,EACV;AAAA,IACJ;AAEA,WAAO;AAAA,EACT,CAAC;AAED,SAAOF;AACT;;;;"}
@@ -0,0 +1,81 @@
1
+ import { Store } from "@tanstack/store";
2
+ import { useState } from "react";
3
+ function getCurrentScope(state) {
4
+ const lastEntry = state.scopeStack[state.scopeStack.length - 1];
5
+ return (lastEntry == null ? void 0 : lastEntry.scope) ?? "root";
6
+ }
7
+ function getSelectedIndex(state) {
8
+ const lastEntry = state.scopeStack[state.scopeStack.length - 1];
9
+ return (lastEntry == null ? void 0 : lastEntry.selectedIndex) ?? 0;
10
+ }
11
+ function useMenuNavigation() {
12
+ const [store] = useState(() => {
13
+ const baseStore = new Store({
14
+ scopeStack: [{ scope: "root", selectedIndex: 0 }],
15
+ query: "",
16
+ isActive: false
17
+ });
18
+ const navigationStore = baseStore;
19
+ navigationStore.navigateTo = (scope, currentSelectedIndex, options) => {
20
+ const state = baseStore.state;
21
+ const updatedStack = [...state.scopeStack];
22
+ if (updatedStack.length > 0) {
23
+ updatedStack[updatedStack.length - 1] = {
24
+ ...updatedStack[updatedStack.length - 1],
25
+ selectedIndex: currentSelectedIndex
26
+ };
27
+ }
28
+ const newStack = [
29
+ ...updatedStack,
30
+ {
31
+ scope,
32
+ selectedIndex: 0,
33
+ breadcrumbLabel: options == null ? void 0 : options.breadcrumbLabel,
34
+ parentScope: options == null ? void 0 : options.parentScope
35
+ }
36
+ ];
37
+ baseStore.setState((prev) => ({
38
+ ...prev,
39
+ scopeStack: newStack,
40
+ query: ""
41
+ }));
42
+ };
43
+ navigationStore.navigateBack = () => {
44
+ const state = baseStore.state;
45
+ if (state.scopeStack.length <= 1) {
46
+ return;
47
+ }
48
+ const newStack = state.scopeStack.slice(0, -1);
49
+ baseStore.setState((prev) => ({
50
+ ...prev,
51
+ scopeStack: newStack,
52
+ query: ""
53
+ }));
54
+ };
55
+ navigationStore.setQuery = (query) => {
56
+ baseStore.setState((prev) => ({ ...prev, query }));
57
+ };
58
+ navigationStore.open = () => {
59
+ baseStore.setState(() => ({
60
+ scopeStack: [{ scope: "root", selectedIndex: 0 }],
61
+ query: "",
62
+ isActive: true
63
+ }));
64
+ };
65
+ navigationStore.close = () => {
66
+ baseStore.setState(() => ({
67
+ scopeStack: [{ scope: "root", selectedIndex: 0 }],
68
+ query: "",
69
+ isActive: false
70
+ }));
71
+ };
72
+ return navigationStore;
73
+ });
74
+ return store;
75
+ }
76
+ export {
77
+ getCurrentScope,
78
+ getSelectedIndex,
79
+ useMenuNavigation
80
+ };
81
+ //# sourceMappingURL=use-menu-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-menu-navigation.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/use-menu-navigation.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\nimport { useState } from 'react';\nimport type { MenuScope } from '../data/types';\n\n/**\n * Stack entry with scope and selected item position\n *\n * When navigating forward, we save the current selectedIndex so we can restore\n * it when navigating back (like browser history).\n */\nexport interface ScopeStackEntry {\n scope: MenuScope;\n selectedIndex: number; // Position of selected item when we left this scope\n breadcrumbLabel?: string; // Display name for this scope, when it isn't a known category\n parentScope?: MenuScope; // Scope we navigated from\n}\n\n/**\n * Menu navigation state - tracks current navigation context\n *\n * This is the \"current UI state\" that changes as user navigates and types.\n * Cleared when menu opens/closes.\n *\n * Uses a navigation stack for proper back button behavior:\n * - Forward navigation: push to stack (with current selectedIndex)\n * - Back navigation: pop from stack (restore selectedIndex)\n * - Current scope: last item in stack\n * - Parent scope: second-to-last item in stack\n */\nexport interface MenuNavigationState {\n // Navigation stack (browser-like history)\n // Example: [{ scope: 'root', selectedIndex: 2 }, { scope: 'folder_123', selectedIndex: 0 }]\n // Current scope = scopeStack[scopeStack.length - 1].scope\n // Parent scope = scopeStack[scopeStack.length - 2].scope\n scopeStack: ScopeStackEntry[];\n\n // Current search query\n query: string;\n\n // Is menu currently active?\n isActive: boolean;\n}\n\n/**\n * Menu navigation store with helper methods\n */\nexport interface MenuNavigationStore extends Store<MenuNavigationState> {\n navigateTo: (\n scope: MenuScope,\n currentSelectedIndex: number,\n options?: { breadcrumbLabel?: string; parentScope?: MenuScope },\n ) => void;\n navigateBack: () => void;\n setQuery: (query: string) => void;\n open: () => void;\n close: () => void;\n}\n\n/**\n * Get current scope from state\n */\nexport function getCurrentScope(state: MenuNavigationState): MenuScope {\n const lastEntry = state.scopeStack[state.scopeStack.length - 1];\n return lastEntry?.scope ?? \"root\";\n}\n\n/**\n * Get parent scope from state (for source inheritance)\n */\nexport function getParentScope(state: MenuNavigationState): MenuScope | undefined {\n if (state.scopeStack.length <= 1) return undefined;\n const parentEntry = state.scopeStack[state.scopeStack.length - 2];\n return parentEntry?.scope;\n}\n\n/**\n * Get selected index from current scope stack entry\n */\nexport function getSelectedIndex(state: MenuNavigationState): number {\n const lastEntry = state.scopeStack[state.scopeStack.length - 1];\n return lastEntry?.selectedIndex ?? 0;\n}\n\n/**\n * useMenuNavigation - Creates per-editor navigation state\n *\n * This is a UI concern - each editor instance gets its own navigation state.\n *\n * Returns a TanStack Store with navigation helper methods.\n */\nexport function useMenuNavigation(): MenuNavigationStore {\n const [store] = useState(() => {\n const baseStore = new Store<MenuNavigationState>({\n scopeStack: [{ scope: 'root', selectedIndex: 0 }],\n query: '',\n isActive: false,\n });\n\n // Extend store with navigation methods\n const navigationStore = baseStore as MenuNavigationStore;\n\n navigationStore.navigateTo = (\n scope: MenuScope,\n currentSelectedIndex: number,\n options?: { breadcrumbLabel?: string; parentScope?: MenuScope },\n ) => {\n const state = baseStore.state;\n\n // Save current selectedIndex in the current entry before navigating forward\n const updatedStack = [...state.scopeStack];\n if (updatedStack.length > 0) {\n updatedStack[updatedStack.length - 1] = {\n ...updatedStack[updatedStack.length - 1],\n selectedIndex: currentSelectedIndex,\n };\n }\n\n // Push new scope with selectedIndex = 0 (start at top of new scope)\n const newStack = [\n ...updatedStack,\n {\n scope,\n selectedIndex: 0,\n breadcrumbLabel: options?.breadcrumbLabel,\n parentScope: options?.parentScope,\n },\n ];\n\n baseStore.setState((prev) => ({\n ...prev,\n scopeStack: newStack,\n query: '',\n }));\n };\n\n navigationStore.navigateBack = () => {\n const state = baseStore.state;\n\n if (state.scopeStack.length <= 1) {\n return;\n }\n\n const newStack = state.scopeStack.slice(0, -1);\n\n baseStore.setState((prev) => ({\n ...prev,\n scopeStack: newStack,\n query: '',\n }));\n };\n\n navigationStore.setQuery = (query: string) => {\n baseStore.setState((prev) => ({ ...prev, query }));\n };\n\n navigationStore.open = () => {\n baseStore.setState(() => ({\n scopeStack: [{ scope: 'root', selectedIndex: 0 }],\n query: '',\n isActive: true,\n }));\n };\n\n navigationStore.close = () => {\n baseStore.setState(() => ({\n scopeStack: [{ scope: 'root', selectedIndex: 0 }],\n query: '',\n isActive: false,\n }));\n };\n\n return navigationStore;\n });\n\n return store;\n}\n"],"names":[],"mappings":";;AA6DO,SAAS,gBAAgB,OAAuC;AACrE,QAAM,YAAY,MAAM,WAAW,MAAM,WAAW,SAAS,CAAC;AAC9D,UAAO,uCAAW,UAAS;AAC7B;AAcO,SAAS,iBAAiB,OAAoC;AACnE,QAAM,YAAY,MAAM,WAAW,MAAM,WAAW,SAAS,CAAC;AAC9D,UAAO,uCAAW,kBAAiB;AACrC;AASO,SAAS,oBAAyC;AACvD,QAAM,CAAC,KAAK,IAAI,SAAS,MAAM;AAC7B,UAAM,YAAY,IAAI,MAA2B;AAAA,MAC/C,YAAY,CAAC,EAAE,OAAO,QAAQ,eAAe,GAAG;AAAA,MAChD,OAAO;AAAA,MACP,UAAU;AAAA,IAAA,CACX;AAGD,UAAM,kBAAkB;AAExB,oBAAgB,aAAa,CAC3B,OACA,sBACA,YACG;AACH,YAAM,QAAQ,UAAU;AAGxB,YAAM,eAAe,CAAC,GAAG,MAAM,UAAU;AACzC,UAAI,aAAa,SAAS,GAAG;AAC3B,qBAAa,aAAa,SAAS,CAAC,IAAI;AAAA,UACtC,GAAG,aAAa,aAAa,SAAS,CAAC;AAAA,UACvC,eAAe;AAAA,QAAA;AAAA,MAEnB;AAGA,YAAM,WAAW;AAAA,QACf,GAAG;AAAA,QACH;AAAA,UACE;AAAA,UACA,eAAe;AAAA,UACf,iBAAiB,mCAAS;AAAA,UAC1B,aAAa,mCAAS;AAAA,QAAA;AAAA,MACxB;AAGF,gBAAU,SAAS,CAAC,UAAU;AAAA,QAC5B,GAAG;AAAA,QACH,YAAY;AAAA,QACZ,OAAO;AAAA,MAAA,EACP;AAAA,IACJ;AAEA,oBAAgB,eAAe,MAAM;AACnC,YAAM,QAAQ,UAAU;AAExB,UAAI,MAAM,WAAW,UAAU,GAAG;AAChC;AAAA,MACF;AAEA,YAAM,WAAW,MAAM,WAAW,MAAM,GAAG,EAAE;AAE7C,gBAAU,SAAS,CAAC,UAAU;AAAA,QAC5B,GAAG;AAAA,QACH,YAAY;AAAA,QACZ,OAAO;AAAA,MAAA,EACP;AAAA,IACJ;AAEA,oBAAgB,WAAW,CAAC,UAAkB;AAC5C,gBAAU,SAAS,CAAC,UAAU,EAAE,GAAG,MAAM,QAAQ;AAAA,IACnD;AAEA,oBAAgB,OAAO,MAAM;AAC3B,gBAAU,SAAS,OAAO;AAAA,QACxB,YAAY,CAAC,EAAE,OAAO,QAAQ,eAAe,GAAG;AAAA,QAChD,OAAO;AAAA,QACP,UAAU;AAAA,MAAA,EACV;AAAA,IACJ;AAEA,oBAAgB,QAAQ,MAAM;AAC5B,gBAAU,SAAS,OAAO;AAAA,QACxB,YAAY,CAAC,EAAE,OAAO,QAAQ,eAAe,GAAG;AAAA,QAChD,OAAO;AAAA,QACP,UAAU;AAAA,MAAA,EACV;AAAA,IACJ;AAEA,WAAO;AAAA,EACT,CAAC;AAED,SAAO;AACT;"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function clearTextAfterTrigger(editor) {
4
+ const { state } = editor;
5
+ const { from: cursorPos } = state.selection;
6
+ const backwardText = state.doc.textBetween(0, cursorPos, void 0, "");
7
+ const triggerIndex = backwardText.lastIndexOf("@");
8
+ if (triggerIndex === -1) return;
9
+ const offset = backwardText.length - triggerIndex;
10
+ const from = cursorPos - offset + 1;
11
+ const to = cursorPos;
12
+ if (from < to) {
13
+ const tr = state.tr.deleteRange(from, to);
14
+ editor.view.dispatch(tr);
15
+ }
16
+ }
17
+ exports.clearTextAfterTrigger = clearTextAfterTrigger;
18
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/components/utils.ts"],"sourcesContent":["import type { Editor } from '@tiptap/core';\n\n/**\n * Clear text after @ trigger\n *\n * When navigating in the menu, we want to clear the typed query\n * but keep the @ trigger symbol.\n */\nexport function clearTextAfterTrigger(editor: Editor): void {\n const { state } = editor;\n const { from: cursorPos } = state.selection;\n const backwardText = state.doc.textBetween(0, cursorPos, undefined, '\\ufffc');\n const triggerIndex = backwardText.lastIndexOf('@');\n\n if (triggerIndex === -1) return;\n\n const offset = backwardText.length - triggerIndex;\n const from = cursorPos - offset + 1; // +1 to keep the @ symbol\n const to = cursorPos;\n\n if (from < to) {\n // Delete text after @ but keep the @ symbol\n const tr = state.tr.deleteRange(from, to);\n editor.view.dispatch(tr);\n }\n}\n"],"names":[],"mappings":";;AAQO,SAAS,sBAAsB,QAAsB;AAC1D,QAAM,EAAE,UAAU;AAClB,QAAM,EAAE,MAAM,UAAA,IAAc,MAAM;AAClC,QAAM,eAAe,MAAM,IAAI,YAAY,GAAG,WAAW,QAAW,GAAQ;AAC5E,QAAM,eAAe,aAAa,YAAY,GAAG;AAEjD,MAAI,iBAAiB,GAAI;AAEzB,QAAM,SAAS,aAAa,SAAS;AACrC,QAAM,OAAO,YAAY,SAAS;AAClC,QAAM,KAAK;AAEX,MAAI,OAAO,IAAI;AAEb,UAAM,KAAK,MAAM,GAAG,YAAY,MAAM,EAAE;AACxC,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AACF;;"}
@@ -0,0 +1,18 @@
1
+ function clearTextAfterTrigger(editor) {
2
+ const { state } = editor;
3
+ const { from: cursorPos } = state.selection;
4
+ const backwardText = state.doc.textBetween(0, cursorPos, void 0, "");
5
+ const triggerIndex = backwardText.lastIndexOf("@");
6
+ if (triggerIndex === -1) return;
7
+ const offset = backwardText.length - triggerIndex;
8
+ const from = cursorPos - offset + 1;
9
+ const to = cursorPos;
10
+ if (from < to) {
11
+ const tr = state.tr.deleteRange(from, to);
12
+ editor.view.dispatch(tr);
13
+ }
14
+ }
15
+ export {
16
+ clearTextAfterTrigger
17
+ };
18
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/chat-ui/mentions/suggestions/components/utils.ts"],"sourcesContent":["import type { Editor } from '@tiptap/core';\n\n/**\n * Clear text after @ trigger\n *\n * When navigating in the menu, we want to clear the typed query\n * but keep the @ trigger symbol.\n */\nexport function clearTextAfterTrigger(editor: Editor): void {\n const { state } = editor;\n const { from: cursorPos } = state.selection;\n const backwardText = state.doc.textBetween(0, cursorPos, undefined, '\\ufffc');\n const triggerIndex = backwardText.lastIndexOf('@');\n\n if (triggerIndex === -1) return;\n\n const offset = backwardText.length - triggerIndex;\n const from = cursorPos - offset + 1; // +1 to keep the @ symbol\n const to = cursorPos;\n\n if (from < to) {\n // Delete text after @ but keep the @ symbol\n const tr = state.tr.deleteRange(from, to);\n editor.view.dispatch(tr);\n }\n}\n"],"names":[],"mappings":"AAQO,SAAS,sBAAsB,QAAsB;AAC1D,QAAM,EAAE,UAAU;AAClB,QAAM,EAAE,MAAM,UAAA,IAAc,MAAM;AAClC,QAAM,eAAe,MAAM,IAAI,YAAY,GAAG,WAAW,QAAW,GAAQ;AAC5E,QAAM,eAAe,aAAa,YAAY,GAAG;AAEjD,MAAI,iBAAiB,GAAI;AAEzB,QAAM,SAAS,aAAa,SAAS;AACrC,QAAM,OAAO,YAAY,SAAS;AAClC,QAAM,KAAK;AAEX,MAAI,OAAO,IAAI;AAEb,UAAM,KAAK,MAAM,GAAG,YAAY,MAAM,EAAE;AACxC,WAAO,KAAK,SAAS,EAAE;AAAA,EACzB;AACF;"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ function mentionRequestInit(auth) {
5
+ if (auth.accessToken) {
6
+ return { headers: { Authorization: `Bearer ${auth.accessToken}` } };
7
+ }
8
+ if (auth.apiKey) return { headers: { "X-API-KEY": auth.apiKey } };
9
+ if (auth.credentials) return { headers: {}, credentials: auth.credentials };
10
+ throw new Error("MentionAuthCtx needs either an accessToken or an apiKey");
11
+ }
12
+ const MentionAuthCtx = react.createContext(null);
13
+ function useMentionAuth() {
14
+ const ctx = react.useContext(MentionAuthCtx);
15
+ if (!ctx) throw new Error("MentionAuthCtx not provided");
16
+ return ctx;
17
+ }
18
+ async function fetchGraphQL(auth, query, variables = {}) {
19
+ var _a;
20
+ const url = `${auth.backendUrl.replace(/\/+$/, "")}/graphql`;
21
+ const { headers, credentials } = mentionRequestInit(auth);
22
+ const response = await fetch(url, {
23
+ method: "POST",
24
+ headers: {
25
+ "Content-Type": "application/json",
26
+ ...headers
27
+ },
28
+ ...credentials ? { credentials } : {},
29
+ body: JSON.stringify({ query, variables })
30
+ });
31
+ if (!response.ok) {
32
+ throw new Error(`GraphQL HTTP ${response.status}: ${response.statusText}`);
33
+ }
34
+ const result = await response.json();
35
+ if ((_a = result.errors) == null ? void 0 : _a.length) {
36
+ throw new Error(`GraphQL error: ${result.errors[0].message}`);
37
+ }
38
+ return result.data;
39
+ }
40
+ const MENTION_ASSET_FIELDS = `
41
+ id
42
+ title
43
+ athenaOriginalType
44
+ athenaConvertedType
45
+ parentFolderId
46
+ updatedAt
47
+ isFavorited
48
+ isArchived
49
+ isHidden
50
+ `;
51
+ const SIMPLE_SEARCH_QUERY = `
52
+ query SimpleSearch($input: SimpleSearchRequestInput!) {
53
+ simpleSearch(input: $input) {
54
+ assets {
55
+ ${MENTION_ASSET_FIELDS}
56
+ }
57
+ totalCount
58
+ }
59
+ }
60
+ `;
61
+ const PAGINATED_ASSETS_QUERY = `
62
+ query GetPaginatedAssetsForWorkspace(
63
+ $limit: Int!
64
+ $offset: Int!
65
+ $parentFolderId: String
66
+ $filterTypes: [String!]
67
+ $filterColumns: ColumnFilter
68
+ ) {
69
+ getPaginatedAssetsForWorkspace(
70
+ limit: $limit
71
+ offset: $offset
72
+ parentFolderId: $parentFolderId
73
+ filterTypes: $filterTypes
74
+ filterColumns: $filterColumns
75
+ ) {
76
+ ${MENTION_ASSET_FIELDS}
77
+ }
78
+ }
79
+ `;
80
+ const WORKSPACE_MEMBERS_QUERY = `
81
+ query GetUsersInWorkspace($workspaceId: String!) {
82
+ getUsersInWorkspace(workspaceId: $workspaceId) {
83
+ id
84
+ email
85
+ firstName
86
+ lastName
87
+ isAdmin
88
+ avatarUrl
89
+ }
90
+ }
91
+ `;
92
+ const TOOL_CATALOG_QUERY = `
93
+ query MentionToolCatalog {
94
+ getToolkitToToolsMapping {
95
+ tools {
96
+ id
97
+ name
98
+ description
99
+ icon
100
+ adminOnly
101
+ isMentionable
102
+ }
103
+ toolkits {
104
+ name
105
+ displayName
106
+ description
107
+ icon
108
+ onlyAdmin
109
+ hideFromMenu
110
+ isMentionable
111
+ }
112
+ }
113
+ }
114
+ `;
115
+ exports.MentionAuthCtx = MentionAuthCtx;
116
+ exports.PAGINATED_ASSETS_QUERY = PAGINATED_ASSETS_QUERY;
117
+ exports.SIMPLE_SEARCH_QUERY = SIMPLE_SEARCH_QUERY;
118
+ exports.TOOL_CATALOG_QUERY = TOOL_CATALOG_QUERY;
119
+ exports.WORKSPACE_MEMBERS_QUERY = WORKSPACE_MEMBERS_QUERY;
120
+ exports.fetchGraphQL = fetchGraphQL;
121
+ exports.mentionRequestInit = mentionRequestInit;
122
+ exports.useMentionAuth = useMentionAuth;
123
+ //# sourceMappingURL=api-client.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/data/api-client.ts"],"sourcesContent":["/**\n * API client for mention data fetching.\n *\n * Wraps raw fetch() with GraphQL support. Hosts authenticate with either a\n * bearer token (Chrome extension) or a workspace API key (Microsoft 365\n * add-in); agora's /graphql accepts both.\n */\n\nimport { createContext, useContext } from \"react\";\n\n// ── Auth context ──\n\nexport interface MentionAuthContext {\n backendUrl: string;\n appUrl?: string;\n /** Bearer credential; hosts without one authenticate with `apiKey`. */\n accessToken?: string;\n apiKey?: string;\n /**\n * With neither credential, ride the browser's same-origin session cookie\n * instead of failing — the SDK's AthenaChat, whose REST helpers make the\n * same choice for a host that configured no token and no API key. Hosts\n * that always hold a credential leave this unset so an accidental anonymous\n * query fails loudly.\n */\n credentials?: \"include\";\n workspaceId?: string;\n userId?: string;\n}\n\n/** Credential headers (or the cookie lane) for a mention fetch. */\nexport function mentionRequestInit(\n auth: MentionAuthContext,\n): Pick<RequestInit, \"headers\" | \"credentials\"> {\n if (auth.accessToken) {\n return { headers: { Authorization: `Bearer ${auth.accessToken}` } };\n }\n if (auth.apiKey) return { headers: { \"X-API-KEY\": auth.apiKey } };\n if (auth.credentials) return { headers: {}, credentials: auth.credentials };\n throw new Error(\"MentionAuthCtx needs either an accessToken or an apiKey\");\n}\n\nexport const MentionAuthCtx = createContext<MentionAuthContext | null>(null);\n\nexport function useMentionAuth(): MentionAuthContext {\n const ctx = useContext(MentionAuthCtx);\n if (!ctx) throw new Error(\"MentionAuthCtx not provided\");\n return ctx;\n}\n\n// ── GraphQL client ──\n\nexport async function fetchGraphQL<T = any>(\n auth: MentionAuthContext,\n query: string,\n variables: Record<string, any> = {},\n): Promise<T> {\n const url = `${auth.backendUrl.replace(/\\/+$/, \"\")}/graphql`;\n const { headers, credentials } = mentionRequestInit(auth);\n const response = await fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n ...(credentials ? { credentials } : {}),\n body: JSON.stringify({ query, variables }),\n });\n\n if (!response.ok) {\n throw new Error(`GraphQL HTTP ${response.status}: ${response.statusText}`);\n }\n\n const result = await response.json();\n if (result.errors?.length) {\n throw new Error(`GraphQL error: ${result.errors[0].message}`);\n }\n\n return result.data as T;\n}\n\n// ── GraphQL Queries ──\n\n/**\n * Lightweight asset fragment for mention menu items.\n * Only fetches fields needed for display + navigation.\n */\nconst MENTION_ASSET_FIELDS = `\n id\n title\n athenaOriginalType\n athenaConvertedType\n parentFolderId\n updatedAt\n isFavorited\n isArchived\n isHidden\n`;\n\nexport const SIMPLE_SEARCH_QUERY = `\n query SimpleSearch($input: SimpleSearchRequestInput!) {\n simpleSearch(input: $input) {\n assets {\n ${MENTION_ASSET_FIELDS}\n }\n totalCount\n }\n }\n`;\n\nexport const PAGINATED_ASSETS_QUERY = `\n query GetPaginatedAssetsForWorkspace(\n $limit: Int!\n $offset: Int!\n $parentFolderId: String\n $filterTypes: [String!]\n $filterColumns: ColumnFilter\n ) {\n getPaginatedAssetsForWorkspace(\n limit: $limit\n offset: $offset\n parentFolderId: $parentFolderId\n filterTypes: $filterTypes\n filterColumns: $filterColumns\n ) {\n ${MENTION_ASSET_FIELDS}\n }\n }\n`;\n\nexport const WORKSPACE_MEMBERS_QUERY = `\n query GetUsersInWorkspace($workspaceId: String!) {\n getUsersInWorkspace(workspaceId: $workspaceId) {\n id\n email\n firstName\n lastName\n isAdmin\n avatarUrl\n }\n }\n`;\n\nexport const TOOL_CATALOG_QUERY = `\n query MentionToolCatalog {\n getToolkitToToolsMapping {\n tools {\n id\n name\n description\n icon\n adminOnly\n isMentionable\n }\n toolkits {\n name\n displayName\n description\n icon\n onlyAdmin\n hideFromMenu\n isMentionable\n }\n }\n }\n`;\n\n// ── Response types ──\n\nexport interface ToolCatalogTool {\n id: string;\n name: string;\n description: string | null;\n icon: string;\n adminOnly: boolean;\n isMentionable: boolean;\n}\n\nexport interface ToolCatalogToolkit {\n name: string;\n displayName: string;\n description: string;\n icon: string;\n onlyAdmin: boolean;\n hideFromMenu: boolean;\n isMentionable: boolean;\n}\n\nexport interface ToolCatalogResult {\n getToolkitToToolsMapping: {\n tools: ToolCatalogTool[];\n toolkits: ToolCatalogToolkit[];\n };\n}\n\nexport interface AssetResult {\n id: string;\n title: string | null;\n athenaOriginalType: string | null;\n athenaConvertedType: string | null;\n parentFolderId: string | null;\n updatedAt: string | null;\n isFavorited: boolean | null;\n isArchived: boolean | null;\n isHidden: boolean | null;\n}\n\nexport interface WorkspaceMember {\n id: string;\n email: string | null;\n firstName: string | null;\n lastName: string | null;\n isAdmin: boolean;\n avatarUrl: string | null;\n}\n"],"names":["createContext","useContext"],"mappings":";;;AA+BO,SAAS,mBACd,MAC8C;AAC9C,MAAI,KAAK,aAAa;AACpB,WAAO,EAAE,SAAS,EAAE,eAAe,UAAU,KAAK,WAAW,KAAG;AAAA,EAClE;AACA,MAAI,KAAK,OAAQ,QAAO,EAAE,SAAS,EAAE,aAAa,KAAK,SAAO;AAC9D,MAAI,KAAK,YAAa,QAAO,EAAE,SAAS,CAAA,GAAI,aAAa,KAAK,YAAA;AAC9D,QAAM,IAAI,MAAM,yDAAyD;AAC3E;AAEO,MAAM,iBAAiBA,MAAAA,cAAyC,IAAI;AAEpE,SAAS,iBAAqC;AACnD,QAAM,MAAMC,MAAAA,WAAW,cAAc;AACrC,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,6BAA6B;AACvD,SAAO;AACT;AAIA,eAAsB,aACpB,MACA,OACA,YAAiC,CAAA,GACrB;;AACZ,QAAM,MAAM,GAAG,KAAK,WAAW,QAAQ,QAAQ,EAAE,CAAC;AAClD,QAAM,EAAE,SAAS,gBAAgB,mBAAmB,IAAI;AACxD,QAAM,WAAW,MAAM,MAAM,KAAK;AAAA,IAChC,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,GAAG;AAAA,IAAA;AAAA,IAEL,GAAI,cAAc,EAAE,YAAA,IAAgB,CAAA;AAAA,IACpC,MAAM,KAAK,UAAU,EAAE,OAAO,WAAW;AAAA,EAAA,CAC1C;AAED,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,IAAI,MAAM,gBAAgB,SAAS,MAAM,KAAK,SAAS,UAAU,EAAE;AAAA,EAC3E;AAEA,QAAM,SAAS,MAAM,SAAS,KAAA;AAC9B,OAAI,YAAO,WAAP,mBAAe,QAAQ;AACzB,UAAM,IAAI,MAAM,kBAAkB,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE;AAAA,EAC9D;AAEA,SAAO,OAAO;AAChB;AAQA,MAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA,UAIzB,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAOvB,MAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAe9B,oBAAoB;AAAA;AAAA;AAAA;AAKrB,MAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAahC,MAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;"}
@@ -11,9 +11,19 @@ export interface MentionAuthContext {
11
11
  /** Bearer credential; hosts without one authenticate with `apiKey`. */
12
12
  accessToken?: string;
13
13
  apiKey?: string;
14
+ /**
15
+ * With neither credential, ride the browser's same-origin session cookie
16
+ * instead of failing — the SDK's AthenaChat, whose REST helpers make the
17
+ * same choice for a host that configured no token and no API key. Hosts
18
+ * that always hold a credential leave this unset so an accidental anonymous
19
+ * query fails loudly.
20
+ */
21
+ credentials?: "include";
14
22
  workspaceId?: string;
15
23
  userId?: string;
16
24
  }
25
+ /** Credential headers (or the cookie lane) for a mention fetch. */
26
+ export declare function mentionRequestInit(auth: MentionAuthContext): Pick<RequestInit, "headers" | "credentials">;
17
27
  export declare const MentionAuthCtx: import("react").Context<MentionAuthContext | null>;
18
28
  export declare function useMentionAuth(): MentionAuthContext;
19
29
  export declare function fetchGraphQL<T = any>(auth: MentionAuthContext, query: string, variables?: Record<string, any>): Promise<T>;
@@ -0,0 +1,123 @@
1
+ import { createContext, useContext } from "react";
2
+ function mentionRequestInit(auth) {
3
+ if (auth.accessToken) {
4
+ return { headers: { Authorization: `Bearer ${auth.accessToken}` } };
5
+ }
6
+ if (auth.apiKey) return { headers: { "X-API-KEY": auth.apiKey } };
7
+ if (auth.credentials) return { headers: {}, credentials: auth.credentials };
8
+ throw new Error("MentionAuthCtx needs either an accessToken or an apiKey");
9
+ }
10
+ const MentionAuthCtx = createContext(null);
11
+ function useMentionAuth() {
12
+ const ctx = useContext(MentionAuthCtx);
13
+ if (!ctx) throw new Error("MentionAuthCtx not provided");
14
+ return ctx;
15
+ }
16
+ async function fetchGraphQL(auth, query, variables = {}) {
17
+ var _a;
18
+ const url = `${auth.backendUrl.replace(/\/+$/, "")}/graphql`;
19
+ const { headers, credentials } = mentionRequestInit(auth);
20
+ const response = await fetch(url, {
21
+ method: "POST",
22
+ headers: {
23
+ "Content-Type": "application/json",
24
+ ...headers
25
+ },
26
+ ...credentials ? { credentials } : {},
27
+ body: JSON.stringify({ query, variables })
28
+ });
29
+ if (!response.ok) {
30
+ throw new Error(`GraphQL HTTP ${response.status}: ${response.statusText}`);
31
+ }
32
+ const result = await response.json();
33
+ if ((_a = result.errors) == null ? void 0 : _a.length) {
34
+ throw new Error(`GraphQL error: ${result.errors[0].message}`);
35
+ }
36
+ return result.data;
37
+ }
38
+ const MENTION_ASSET_FIELDS = `
39
+ id
40
+ title
41
+ athenaOriginalType
42
+ athenaConvertedType
43
+ parentFolderId
44
+ updatedAt
45
+ isFavorited
46
+ isArchived
47
+ isHidden
48
+ `;
49
+ const SIMPLE_SEARCH_QUERY = `
50
+ query SimpleSearch($input: SimpleSearchRequestInput!) {
51
+ simpleSearch(input: $input) {
52
+ assets {
53
+ ${MENTION_ASSET_FIELDS}
54
+ }
55
+ totalCount
56
+ }
57
+ }
58
+ `;
59
+ const PAGINATED_ASSETS_QUERY = `
60
+ query GetPaginatedAssetsForWorkspace(
61
+ $limit: Int!
62
+ $offset: Int!
63
+ $parentFolderId: String
64
+ $filterTypes: [String!]
65
+ $filterColumns: ColumnFilter
66
+ ) {
67
+ getPaginatedAssetsForWorkspace(
68
+ limit: $limit
69
+ offset: $offset
70
+ parentFolderId: $parentFolderId
71
+ filterTypes: $filterTypes
72
+ filterColumns: $filterColumns
73
+ ) {
74
+ ${MENTION_ASSET_FIELDS}
75
+ }
76
+ }
77
+ `;
78
+ const WORKSPACE_MEMBERS_QUERY = `
79
+ query GetUsersInWorkspace($workspaceId: String!) {
80
+ getUsersInWorkspace(workspaceId: $workspaceId) {
81
+ id
82
+ email
83
+ firstName
84
+ lastName
85
+ isAdmin
86
+ avatarUrl
87
+ }
88
+ }
89
+ `;
90
+ const TOOL_CATALOG_QUERY = `
91
+ query MentionToolCatalog {
92
+ getToolkitToToolsMapping {
93
+ tools {
94
+ id
95
+ name
96
+ description
97
+ icon
98
+ adminOnly
99
+ isMentionable
100
+ }
101
+ toolkits {
102
+ name
103
+ displayName
104
+ description
105
+ icon
106
+ onlyAdmin
107
+ hideFromMenu
108
+ isMentionable
109
+ }
110
+ }
111
+ }
112
+ `;
113
+ export {
114
+ MentionAuthCtx,
115
+ PAGINATED_ASSETS_QUERY,
116
+ SIMPLE_SEARCH_QUERY,
117
+ TOOL_CATALOG_QUERY,
118
+ WORKSPACE_MEMBERS_QUERY,
119
+ fetchGraphQL,
120
+ mentionRequestInit,
121
+ useMentionAuth
122
+ };
123
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sources":["../../../../../src/chat-ui/mentions/suggestions/data/api-client.ts"],"sourcesContent":["/**\n * API client for mention data fetching.\n *\n * Wraps raw fetch() with GraphQL support. Hosts authenticate with either a\n * bearer token (Chrome extension) or a workspace API key (Microsoft 365\n * add-in); agora's /graphql accepts both.\n */\n\nimport { createContext, useContext } from \"react\";\n\n// ── Auth context ──\n\nexport interface MentionAuthContext {\n backendUrl: string;\n appUrl?: string;\n /** Bearer credential; hosts without one authenticate with `apiKey`. */\n accessToken?: string;\n apiKey?: string;\n /**\n * With neither credential, ride the browser's same-origin session cookie\n * instead of failing — the SDK's AthenaChat, whose REST helpers make the\n * same choice for a host that configured no token and no API key. Hosts\n * that always hold a credential leave this unset so an accidental anonymous\n * query fails loudly.\n */\n credentials?: \"include\";\n workspaceId?: string;\n userId?: string;\n}\n\n/** Credential headers (or the cookie lane) for a mention fetch. */\nexport function mentionRequestInit(\n auth: MentionAuthContext,\n): Pick<RequestInit, \"headers\" | \"credentials\"> {\n if (auth.accessToken) {\n return { headers: { Authorization: `Bearer ${auth.accessToken}` } };\n }\n if (auth.apiKey) return { headers: { \"X-API-KEY\": auth.apiKey } };\n if (auth.credentials) return { headers: {}, credentials: auth.credentials };\n throw new Error(\"MentionAuthCtx needs either an accessToken or an apiKey\");\n}\n\nexport const MentionAuthCtx = createContext<MentionAuthContext | null>(null);\n\nexport function useMentionAuth(): MentionAuthContext {\n const ctx = useContext(MentionAuthCtx);\n if (!ctx) throw new Error(\"MentionAuthCtx not provided\");\n return ctx;\n}\n\n// ── GraphQL client ──\n\nexport async function fetchGraphQL<T = any>(\n auth: MentionAuthContext,\n query: string,\n variables: Record<string, any> = {},\n): Promise<T> {\n const url = `${auth.backendUrl.replace(/\\/+$/, \"\")}/graphql`;\n const { headers, credentials } = mentionRequestInit(auth);\n const response = await fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n ...(credentials ? { credentials } : {}),\n body: JSON.stringify({ query, variables }),\n });\n\n if (!response.ok) {\n throw new Error(`GraphQL HTTP ${response.status}: ${response.statusText}`);\n }\n\n const result = await response.json();\n if (result.errors?.length) {\n throw new Error(`GraphQL error: ${result.errors[0].message}`);\n }\n\n return result.data as T;\n}\n\n// ── GraphQL Queries ──\n\n/**\n * Lightweight asset fragment for mention menu items.\n * Only fetches fields needed for display + navigation.\n */\nconst MENTION_ASSET_FIELDS = `\n id\n title\n athenaOriginalType\n athenaConvertedType\n parentFolderId\n updatedAt\n isFavorited\n isArchived\n isHidden\n`;\n\nexport const SIMPLE_SEARCH_QUERY = `\n query SimpleSearch($input: SimpleSearchRequestInput!) {\n simpleSearch(input: $input) {\n assets {\n ${MENTION_ASSET_FIELDS}\n }\n totalCount\n }\n }\n`;\n\nexport const PAGINATED_ASSETS_QUERY = `\n query GetPaginatedAssetsForWorkspace(\n $limit: Int!\n $offset: Int!\n $parentFolderId: String\n $filterTypes: [String!]\n $filterColumns: ColumnFilter\n ) {\n getPaginatedAssetsForWorkspace(\n limit: $limit\n offset: $offset\n parentFolderId: $parentFolderId\n filterTypes: $filterTypes\n filterColumns: $filterColumns\n ) {\n ${MENTION_ASSET_FIELDS}\n }\n }\n`;\n\nexport const WORKSPACE_MEMBERS_QUERY = `\n query GetUsersInWorkspace($workspaceId: String!) {\n getUsersInWorkspace(workspaceId: $workspaceId) {\n id\n email\n firstName\n lastName\n isAdmin\n avatarUrl\n }\n }\n`;\n\nexport const TOOL_CATALOG_QUERY = `\n query MentionToolCatalog {\n getToolkitToToolsMapping {\n tools {\n id\n name\n description\n icon\n adminOnly\n isMentionable\n }\n toolkits {\n name\n displayName\n description\n icon\n onlyAdmin\n hideFromMenu\n isMentionable\n }\n }\n }\n`;\n\n// ── Response types ──\n\nexport interface ToolCatalogTool {\n id: string;\n name: string;\n description: string | null;\n icon: string;\n adminOnly: boolean;\n isMentionable: boolean;\n}\n\nexport interface ToolCatalogToolkit {\n name: string;\n displayName: string;\n description: string;\n icon: string;\n onlyAdmin: boolean;\n hideFromMenu: boolean;\n isMentionable: boolean;\n}\n\nexport interface ToolCatalogResult {\n getToolkitToToolsMapping: {\n tools: ToolCatalogTool[];\n toolkits: ToolCatalogToolkit[];\n };\n}\n\nexport interface AssetResult {\n id: string;\n title: string | null;\n athenaOriginalType: string | null;\n athenaConvertedType: string | null;\n parentFolderId: string | null;\n updatedAt: string | null;\n isFavorited: boolean | null;\n isArchived: boolean | null;\n isHidden: boolean | null;\n}\n\nexport interface WorkspaceMember {\n id: string;\n email: string | null;\n firstName: string | null;\n lastName: string | null;\n isAdmin: boolean;\n avatarUrl: string | null;\n}\n"],"names":[],"mappings":";AA+BO,SAAS,mBACd,MAC8C;AAC9C,MAAI,KAAK,aAAa;AACpB,WAAO,EAAE,SAAS,EAAE,eAAe,UAAU,KAAK,WAAW,KAAG;AAAA,EAClE;AACA,MAAI,KAAK,OAAQ,QAAO,EAAE,SAAS,EAAE,aAAa,KAAK,SAAO;AAC9D,MAAI,KAAK,YAAa,QAAO,EAAE,SAAS,CAAA,GAAI,aAAa,KAAK,YAAA;AAC9D,QAAM,IAAI,MAAM,yDAAyD;AAC3E;AAEO,MAAM,iBAAiB,cAAyC,IAAI;AAEpE,SAAS,iBAAqC;AACnD,QAAM,MAAM,WAAW,cAAc;AACrC,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,6BAA6B;AACvD,SAAO;AACT;AAIA,eAAsB,aACpB,MACA,OACA,YAAiC,CAAA,GACrB;;AACZ,QAAM,MAAM,GAAG,KAAK,WAAW,QAAQ,QAAQ,EAAE,CAAC;AAClD,QAAM,EAAE,SAAS,gBAAgB,mBAAmB,IAAI;AACxD,QAAM,WAAW,MAAM,MAAM,KAAK;AAAA,IAChC,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,GAAG;AAAA,IAAA;AAAA,IAEL,GAAI,cAAc,EAAE,YAAA,IAAgB,CAAA;AAAA,IACpC,MAAM,KAAK,UAAU,EAAE,OAAO,WAAW;AAAA,EAAA,CAC1C;AAED,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,IAAI,MAAM,gBAAgB,SAAS,MAAM,KAAK,SAAS,UAAU,EAAE;AAAA,EAC3E;AAEA,QAAM,SAAS,MAAM,SAAS,KAAA;AAC9B,OAAI,YAAO,WAAP,mBAAe,QAAQ;AACzB,UAAM,IAAI,MAAM,kBAAkB,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE;AAAA,EAC9D;AAEA,SAAO,OAAO;AAChB;AAQA,MAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA,UAIzB,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAOvB,MAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAe9B,oBAAoB;AAAA;AAAA;AAAA;AAKrB,MAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAahC,MAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const filterItems = require("./utils/filter-items.cjs");
4
+ function createItemCache() {
5
+ return {
6
+ items: {}
7
+ };
8
+ }
9
+ function addItems(cache, items, scope) {
10
+ for (const item of items) {
11
+ const existing = cache.items[item.id];
12
+ if (existing) {
13
+ existing.visibleInScopes.add(scope);
14
+ cache.items[item.id] = {
15
+ ...existing,
16
+ ...item,
17
+ visibleInScopes: existing.visibleInScopes
18
+ // Preserve merged scopes!
19
+ };
20
+ } else {
21
+ cache.items[item.id] = { ...item, visibleInScopes: /* @__PURE__ */ new Set([scope]) };
22
+ }
23
+ }
24
+ }
25
+ function getAllItems(cache) {
26
+ return Object.values(cache.items);
27
+ }
28
+ function getFilteredItems(cache, scope, query) {
29
+ const allItems = getAllItems(cache);
30
+ const scopedItems = allItems.filter((item) => item.visibleInScopes.has(scope));
31
+ return filterItems.filterItems(scopedItems, query);
32
+ }
33
+ exports.addItems = addItems;
34
+ exports.createItemCache = createItemCache;
35
+ exports.getAllItems = getAllItems;
36
+ exports.getFilteredItems = getFilteredItems;
37
+ //# sourceMappingURL=item-cache.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-cache.cjs","sources":["../../../../../src/chat-ui/mentions/suggestions/data/item-cache.ts"],"sourcesContent":["import type { MenuItem, MenuScope } from './types';\nimport { filterItems } from './utils/filter-items';\n\n/**\n * Item Cache\n *\n * Plain object + pure functions for caching menu items.\n * Deduplicates by ID, handles renames/updates automatically.\n */\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Item cache - plain object\n * Stores all fetched items\n */\nexport interface ItemCache {\n items: Record<string, MenuItem>; // itemId → MenuItem\n}\n\n// ============================================================================\n// Utils\n// ============================================================================\n\n/**\n * Create empty cache\n */\nexport function createItemCache(): ItemCache {\n return {\n items: {},\n };\n}\n\n/**\n * Add items to cache with scope tagging (mutates cache)\n *\n * Multi-scope system:\n * - If item exists: ADD scope to existing scopes, update fields\n * - If item new: Create with single scope\n *\n * Deduplication by ID:\n * - ✅ Handles renames: Same ID, new name → updates name, adds scope\n * - ✅ Handles multi-membership: Same ID → adds new scope without removing old ones\n * - ✅ Handles updates: Same ID, new data → updates data, adds scope\n * - ❌ Does NOT handle deletions: Use clearByScope() to remove stale data\n *\n * @param cache - Cache to mutate\n * @param items - Items to add (without visibleInScopes set)\n * @param scope - Scope to tag these items with\n */\nexport function addItems(cache: ItemCache, items: MenuItem[], scope: MenuScope): void {\n for (const item of items) {\n const existing = cache.items[item.id];\n\n if (existing) {\n // Item exists - ADD scope to existing scopes\n existing.visibleInScopes.add(scope);\n // Update other fields (name, thumbnailUrl, etc. may have changed)\n cache.items[item.id] = {\n ...existing,\n ...item,\n visibleInScopes: existing.visibleInScopes, // Preserve merged scopes!\n };\n } else {\n // New item - create with single scope\n cache.items[item.id] = { ...item, visibleInScopes: new Set([scope]) };\n }\n }\n}\n\n/**\n * Get all items (read-only)\n */\nexport function getAllItems(cache: ItemCache): MenuItem[] {\n return Object.values(cache.items);\n}\n\n/**\n * Get filtered items by scope (read-only, no fetching)\n *\n * @param cache - Cache to read from\n * @param scope - Current scope to filter by\n * @param query - Search query\n * @returns Filtered items from cache that belong to this scope\n */\nexport function getFilteredItems(cache: ItemCache, scope: MenuScope, query: string): MenuItem[] {\n const allItems = getAllItems(cache);\n\n // First filter by scope membership\n const scopedItems = allItems.filter((item) => item.visibleInScopes.has(scope));\n\n // Then filter by query\n return filterItems(scopedItems, query, scope);\n}\n\n/**\n * Clear all items\n */\nexport function clearCache(cache: ItemCache): void {\n cache.items = {};\n}\n\n/**\n * Clear scope from all items (mutates cache)\n * Used for invalidation when dynamic data changes\n *\n * Items lose the scope but stay in cache if they have other scopes.\n * Only remove items completely if they have no scopes left.\n *\n * @param cache - Cache to mutate\n * @param scope - Scope to remove from all items\n */\nexport function clearByScope(cache: ItemCache, scope: MenuScope): void {\n const itemsToKeep: Record<string, MenuItem> = {};\n\n for (const [id, item] of Object.entries(cache.items)) {\n // Remove this scope from item\n item.visibleInScopes.delete(scope);\n\n // Keep item only if it still has other scopes\n if (item.visibleInScopes.size > 0) {\n itemsToKeep[id] = item;\n }\n // Otherwise item is removed (no scopes left)\n }\n\n cache.items = itemsToKeep;\n}\n\n/**\n * Remove specific item\n */\nexport function removeItem(cache: ItemCache, itemId: string): void {\n delete cache.items[itemId];\n}\n\n/**\n * Get item by ID\n */\nexport function getItem(cache: ItemCache, itemId: string): MenuItem | undefined {\n return cache.items[itemId];\n}\n\n/**\n * Check if item belongs to a scope\n */\nexport function hasScope(item: MenuItem, scope: MenuScope): boolean {\n return item.visibleInScopes.has(scope);\n}\n"],"names":["filterItems"],"mappings":";;;AA6BO,SAAS,kBAA6B;AAC3C,SAAO;AAAA,IACL,OAAO,CAAA;AAAA,EAAC;AAEZ;AAmBO,SAAS,SAAS,OAAkB,OAAmB,OAAwB;AACpF,aAAW,QAAQ,OAAO;AACxB,UAAM,WAAW,MAAM,MAAM,KAAK,EAAE;AAEpC,QAAI,UAAU;AAEZ,eAAS,gBAAgB,IAAI,KAAK;AAElC,YAAM,MAAM,KAAK,EAAE,IAAI;AAAA,QACrB,GAAG;AAAA,QACH,GAAG;AAAA,QACH,iBAAiB,SAAS;AAAA;AAAA,MAAA;AAAA,IAE9B,OAAO;AAEL,YAAM,MAAM,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,iBAAiB,oBAAI,IAAI,CAAC,KAAK,CAAC,EAAA;AAAA,IACpE;AAAA,EACF;AACF;AAKO,SAAS,YAAY,OAA8B;AACxD,SAAO,OAAO,OAAO,MAAM,KAAK;AAClC;AAUO,SAAS,iBAAiB,OAAkB,OAAkB,OAA2B;AAC9F,QAAM,WAAW,YAAY,KAAK;AAGlC,QAAM,cAAc,SAAS,OAAO,CAAC,SAAS,KAAK,gBAAgB,IAAI,KAAK,CAAC;AAG7E,SAAOA,YAAAA,YAAY,aAAa,KAAY;AAC9C;;;;;"}
@@ -0,0 +1,37 @@
1
+ import { filterItems } from "./utils/filter-items.js";
2
+ function createItemCache() {
3
+ return {
4
+ items: {}
5
+ };
6
+ }
7
+ function addItems(cache, items, scope) {
8
+ for (const item of items) {
9
+ const existing = cache.items[item.id];
10
+ if (existing) {
11
+ existing.visibleInScopes.add(scope);
12
+ cache.items[item.id] = {
13
+ ...existing,
14
+ ...item,
15
+ visibleInScopes: existing.visibleInScopes
16
+ // Preserve merged scopes!
17
+ };
18
+ } else {
19
+ cache.items[item.id] = { ...item, visibleInScopes: /* @__PURE__ */ new Set([scope]) };
20
+ }
21
+ }
22
+ }
23
+ function getAllItems(cache) {
24
+ return Object.values(cache.items);
25
+ }
26
+ function getFilteredItems(cache, scope, query) {
27
+ const allItems = getAllItems(cache);
28
+ const scopedItems = allItems.filter((item) => item.visibleInScopes.has(scope));
29
+ return filterItems(scopedItems, query);
30
+ }
31
+ export {
32
+ addItems,
33
+ createItemCache,
34
+ getAllItems,
35
+ getFilteredItems
36
+ };
37
+ //# sourceMappingURL=item-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-cache.js","sources":["../../../../../src/chat-ui/mentions/suggestions/data/item-cache.ts"],"sourcesContent":["import type { MenuItem, MenuScope } from './types';\nimport { filterItems } from './utils/filter-items';\n\n/**\n * Item Cache\n *\n * Plain object + pure functions for caching menu items.\n * Deduplicates by ID, handles renames/updates automatically.\n */\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Item cache - plain object\n * Stores all fetched items\n */\nexport interface ItemCache {\n items: Record<string, MenuItem>; // itemId → MenuItem\n}\n\n// ============================================================================\n// Utils\n// ============================================================================\n\n/**\n * Create empty cache\n */\nexport function createItemCache(): ItemCache {\n return {\n items: {},\n };\n}\n\n/**\n * Add items to cache with scope tagging (mutates cache)\n *\n * Multi-scope system:\n * - If item exists: ADD scope to existing scopes, update fields\n * - If item new: Create with single scope\n *\n * Deduplication by ID:\n * - ✅ Handles renames: Same ID, new name → updates name, adds scope\n * - ✅ Handles multi-membership: Same ID → adds new scope without removing old ones\n * - ✅ Handles updates: Same ID, new data → updates data, adds scope\n * - ❌ Does NOT handle deletions: Use clearByScope() to remove stale data\n *\n * @param cache - Cache to mutate\n * @param items - Items to add (without visibleInScopes set)\n * @param scope - Scope to tag these items with\n */\nexport function addItems(cache: ItemCache, items: MenuItem[], scope: MenuScope): void {\n for (const item of items) {\n const existing = cache.items[item.id];\n\n if (existing) {\n // Item exists - ADD scope to existing scopes\n existing.visibleInScopes.add(scope);\n // Update other fields (name, thumbnailUrl, etc. may have changed)\n cache.items[item.id] = {\n ...existing,\n ...item,\n visibleInScopes: existing.visibleInScopes, // Preserve merged scopes!\n };\n } else {\n // New item - create with single scope\n cache.items[item.id] = { ...item, visibleInScopes: new Set([scope]) };\n }\n }\n}\n\n/**\n * Get all items (read-only)\n */\nexport function getAllItems(cache: ItemCache): MenuItem[] {\n return Object.values(cache.items);\n}\n\n/**\n * Get filtered items by scope (read-only, no fetching)\n *\n * @param cache - Cache to read from\n * @param scope - Current scope to filter by\n * @param query - Search query\n * @returns Filtered items from cache that belong to this scope\n */\nexport function getFilteredItems(cache: ItemCache, scope: MenuScope, query: string): MenuItem[] {\n const allItems = getAllItems(cache);\n\n // First filter by scope membership\n const scopedItems = allItems.filter((item) => item.visibleInScopes.has(scope));\n\n // Then filter by query\n return filterItems(scopedItems, query, scope);\n}\n\n/**\n * Clear all items\n */\nexport function clearCache(cache: ItemCache): void {\n cache.items = {};\n}\n\n/**\n * Clear scope from all items (mutates cache)\n * Used for invalidation when dynamic data changes\n *\n * Items lose the scope but stay in cache if they have other scopes.\n * Only remove items completely if they have no scopes left.\n *\n * @param cache - Cache to mutate\n * @param scope - Scope to remove from all items\n */\nexport function clearByScope(cache: ItemCache, scope: MenuScope): void {\n const itemsToKeep: Record<string, MenuItem> = {};\n\n for (const [id, item] of Object.entries(cache.items)) {\n // Remove this scope from item\n item.visibleInScopes.delete(scope);\n\n // Keep item only if it still has other scopes\n if (item.visibleInScopes.size > 0) {\n itemsToKeep[id] = item;\n }\n // Otherwise item is removed (no scopes left)\n }\n\n cache.items = itemsToKeep;\n}\n\n/**\n * Remove specific item\n */\nexport function removeItem(cache: ItemCache, itemId: string): void {\n delete cache.items[itemId];\n}\n\n/**\n * Get item by ID\n */\nexport function getItem(cache: ItemCache, itemId: string): MenuItem | undefined {\n return cache.items[itemId];\n}\n\n/**\n * Check if item belongs to a scope\n */\nexport function hasScope(item: MenuItem, scope: MenuScope): boolean {\n return item.visibleInScopes.has(scope);\n}\n"],"names":[],"mappings":";AA6BO,SAAS,kBAA6B;AAC3C,SAAO;AAAA,IACL,OAAO,CAAA;AAAA,EAAC;AAEZ;AAmBO,SAAS,SAAS,OAAkB,OAAmB,OAAwB;AACpF,aAAW,QAAQ,OAAO;AACxB,UAAM,WAAW,MAAM,MAAM,KAAK,EAAE;AAEpC,QAAI,UAAU;AAEZ,eAAS,gBAAgB,IAAI,KAAK;AAElC,YAAM,MAAM,KAAK,EAAE,IAAI;AAAA,QACrB,GAAG;AAAA,QACH,GAAG;AAAA,QACH,iBAAiB,SAAS;AAAA;AAAA,MAAA;AAAA,IAE9B,OAAO;AAEL,YAAM,MAAM,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,iBAAiB,oBAAI,IAAI,CAAC,KAAK,CAAC,EAAA;AAAA,IACpE;AAAA,EACF;AACF;AAKO,SAAS,YAAY,OAA8B;AACxD,SAAO,OAAO,OAAO,MAAM,KAAK;AAClC;AAUO,SAAS,iBAAiB,OAAkB,OAAkB,OAA2B;AAC9F,QAAM,WAAW,YAAY,KAAK;AAGlC,QAAM,cAAc,SAAS,OAAO,CAAC,SAAS,KAAK,gBAAgB,IAAI,KAAK,CAAC;AAG7E,SAAO,YAAY,aAAa,KAAY;AAC9C;"}