@athenaintel/react 0.18.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 (848) hide show
  1. package/README.md +195 -7
  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.d.ts +59 -2
  58. package/dist/chat/StatewireApprovalCard.js +171 -0
  59. package/dist/chat/StatewireApprovalCard.js.map +1 -0
  60. package/dist/chat/StatewireClientToolBridge.cjs +50 -0
  61. package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
  62. package/dist/chat/StatewireClientToolBridge.d.ts +3 -3
  63. package/dist/chat/StatewireClientToolBridge.js +50 -0
  64. package/dist/chat/StatewireClientToolBridge.js.map +1 -0
  65. package/dist/chat/StatewireQueuedMessages.cjs +432 -0
  66. package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
  67. package/dist/chat/StatewireQueuedMessages.d.ts +104 -6
  68. package/dist/chat/StatewireQueuedMessages.js +432 -0
  69. package/dist/chat/StatewireQueuedMessages.js.map +1 -0
  70. package/dist/chat/athena-citation-links.cjs +326 -0
  71. package/dist/chat/athena-citation-links.cjs.map +1 -0
  72. package/dist/chat/athena-citation-links.js +326 -0
  73. package/dist/chat/athena-citation-links.js.map +1 -0
  74. package/dist/chat/run-activity.cjs +28 -0
  75. package/dist/chat/run-activity.cjs.map +1 -0
  76. package/dist/chat/run-activity.js +28 -0
  77. package/dist/chat/run-activity.js.map +1 -0
  78. package/dist/chat/statewire-approval.d.ts +1 -1
  79. package/dist/chat/statewire-banners.cjs +83 -0
  80. package/dist/chat/statewire-banners.cjs.map +1 -0
  81. package/dist/chat/statewire-banners.js +83 -0
  82. package/dist/chat/statewire-banners.js.map +1 -0
  83. package/dist/chat/statewire-client-tools.cjs +73 -0
  84. package/dist/chat/statewire-client-tools.cjs.map +1 -0
  85. package/dist/chat/statewire-client-tools.d.ts +15 -21
  86. package/dist/chat/statewire-client-tools.js +73 -0
  87. package/dist/chat/statewire-client-tools.js.map +1 -0
  88. package/dist/chat/super-grouping/CollapsibleGroup.cjs +158 -0
  89. package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -0
  90. package/dist/chat/super-grouping/CollapsibleGroup.d.ts +52 -11
  91. package/dist/chat/super-grouping/CollapsibleGroup.js +158 -0
  92. package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -0
  93. package/dist/chat/super-grouping/SuperGroupingCard.cjs +361 -0
  94. package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
  95. package/dist/chat/super-grouping/SuperGroupingCard.d.ts +81 -21
  96. package/dist/chat/super-grouping/SuperGroupingCard.js +361 -0
  97. package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
  98. package/dist/chat/super-grouping/activity-timeline.cjs +151 -0
  99. package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
  100. package/dist/chat/super-grouping/activity-timeline.d.ts +91 -0
  101. package/dist/chat/super-grouping/activity-timeline.js +151 -0
  102. package/dist/chat/super-grouping/activity-timeline.js.map +1 -0
  103. package/dist/chat/super-grouping/grouping-function.cjs +55 -0
  104. package/dist/chat/super-grouping/grouping-function.cjs.map +1 -0
  105. package/dist/chat/super-grouping/grouping-function.d.ts +13 -10
  106. package/dist/chat/super-grouping/grouping-function.js +55 -0
  107. package/dist/chat/super-grouping/grouping-function.js.map +1 -0
  108. package/dist/chat/super-grouping/index.cjs +26 -0
  109. package/dist/chat/super-grouping/index.cjs.map +1 -0
  110. package/dist/chat/super-grouping/index.d.ts +12 -0
  111. package/dist/chat/super-grouping/index.js +26 -0
  112. package/dist/chat/super-grouping/index.js.map +1 -0
  113. package/dist/chat/super-grouping/toolkit-map.cjs +96 -0
  114. package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -0
  115. package/dist/chat/super-grouping/toolkit-map.d.ts +8 -1
  116. package/dist/chat/super-grouping/toolkit-map.js +96 -0
  117. package/dist/chat/super-grouping/toolkit-map.js.map +1 -0
  118. package/dist/chat/tiptap-text.cjs +101 -0
  119. package/dist/chat/tiptap-text.cjs.map +1 -0
  120. package/dist/chat/tiptap-text.js +101 -0
  121. package/dist/chat/tiptap-text.js.map +1 -0
  122. package/dist/chat/tooltip-icon-button.cjs +32 -0
  123. package/dist/chat/tooltip-icon-button.cjs.map +1 -0
  124. package/dist/chat/tooltip-icon-button.js +32 -0
  125. package/dist/chat/tooltip-icon-button.js.map +1 -0
  126. package/dist/chat/use-athena-run-live.cjs +23 -0
  127. package/dist/chat/use-athena-run-live.cjs.map +1 -0
  128. package/dist/chat/use-athena-run-live.d.ts +10 -0
  129. package/dist/chat/use-athena-run-live.js +23 -0
  130. package/dist/chat/use-athena-run-live.js.map +1 -0
  131. package/dist/chat/use-statewire-approval-request.cjs +46 -0
  132. package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
  133. package/dist/chat/use-statewire-approval-request.d.ts +44 -0
  134. package/dist/chat/use-statewire-approval-request.js +46 -0
  135. package/dist/chat/use-statewire-approval-request.js.map +1 -0
  136. package/dist/chat-ui/auth/sign-in-card.cjs +128 -0
  137. package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -0
  138. package/dist/chat-ui/auth/sign-in-card.js +128 -0
  139. package/dist/chat-ui/auth/sign-in-card.js.map +1 -0
  140. package/dist/chat-ui/composer/composer-action.cjs +11 -0
  141. package/dist/chat-ui/composer/composer-action.cjs.map +1 -0
  142. package/dist/chat-ui/composer/composer-action.d.ts +5 -8
  143. package/dist/chat-ui/composer/composer-action.js +11 -0
  144. package/dist/chat-ui/composer/composer-action.js.map +1 -0
  145. package/dist/chat-ui/composer/pending-attachment-uploads.cjs +25 -0
  146. package/dist/chat-ui/composer/pending-attachment-uploads.cjs.map +1 -0
  147. package/dist/chat-ui/composer/pending-attachment-uploads.js +25 -0
  148. package/dist/chat-ui/composer/pending-attachment-uploads.js.map +1 -0
  149. package/dist/chat-ui/composer/tiptap-composer.cjs +590 -0
  150. package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -0
  151. package/dist/chat-ui/composer/tiptap-composer.d.ts +44 -7
  152. package/dist/chat-ui/composer/tiptap-composer.js +590 -0
  153. package/dist/chat-ui/composer/tiptap-composer.js.map +1 -0
  154. package/dist/chat-ui/header/chat-header.cjs +33 -0
  155. package/dist/chat-ui/header/chat-header.cjs.map +1 -0
  156. package/dist/chat-ui/header/chat-header.js +33 -0
  157. package/dist/chat-ui/header/chat-header.js.map +1 -0
  158. package/dist/chat-ui/header/conversation-history-panel.cjs +369 -0
  159. package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -0
  160. package/dist/chat-ui/header/conversation-history-panel.d.ts +11 -1
  161. package/dist/chat-ui/header/conversation-history-panel.js +369 -0
  162. package/dist/chat-ui/header/conversation-history-panel.js.map +1 -0
  163. package/dist/chat-ui/index.cjs +139 -0
  164. package/dist/chat-ui/index.cjs.map +1 -0
  165. package/dist/chat-ui/index.d.ts +11 -4
  166. package/dist/chat-ui/index.js +139 -0
  167. package/dist/chat-ui/index.js.map +1 -0
  168. package/dist/chat-ui/lib/asset-urls.cjs +18 -0
  169. package/dist/chat-ui/lib/asset-urls.cjs.map +1 -0
  170. package/dist/chat-ui/lib/asset-urls.js +18 -0
  171. package/dist/chat-ui/lib/asset-urls.js.map +1 -0
  172. package/dist/chat-ui/mentions/mention-chip.cjs +208 -0
  173. package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
  174. package/dist/chat-ui/mentions/mention-chip.js +208 -0
  175. package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
  176. package/dist/chat-ui/mentions/mention-extension.cjs +184 -0
  177. package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
  178. package/dist/chat-ui/mentions/mention-extension.d.ts +24 -2
  179. package/dist/chat-ui/mentions/mention-extension.js +184 -0
  180. package/dist/chat-ui/mentions/mention-extension.js.map +1 -0
  181. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +35 -0
  182. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -0
  183. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +35 -0
  184. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -0
  185. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +95 -0
  186. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -0
  187. package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +5 -0
  188. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +95 -0
  189. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -0
  190. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +116 -0
  191. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -0
  192. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +116 -0
  193. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -0
  194. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +31 -0
  195. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -0
  196. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +31 -0
  197. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -0
  198. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs +27 -0
  199. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs.map +1 -0
  200. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js +27 -0
  201. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js.map +1 -0
  202. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +62 -0
  203. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
  204. package/dist/chat-ui/mentions/suggestions/components/menu-item.js +62 -0
  205. package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -0
  206. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +63 -0
  207. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -0
  208. package/dist/chat-ui/mentions/suggestions/components/menu-list.js +63 -0
  209. package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -0
  210. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs +11 -0
  211. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs.map +1 -0
  212. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js +11 -0
  213. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js.map +1 -0
  214. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs +33 -0
  215. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs.map +1 -0
  216. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js +33 -0
  217. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js.map +1 -0
  218. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +58 -0
  219. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -0
  220. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js +58 -0
  221. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js.map +1 -0
  222. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +81 -0
  223. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -0
  224. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js +81 -0
  225. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js.map +1 -0
  226. package/dist/chat-ui/mentions/suggestions/components/utils.cjs +18 -0
  227. package/dist/chat-ui/mentions/suggestions/components/utils.cjs.map +1 -0
  228. package/dist/chat-ui/mentions/suggestions/components/utils.js +18 -0
  229. package/dist/chat-ui/mentions/suggestions/components/utils.js.map +1 -0
  230. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +123 -0
  231. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -0
  232. package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +10 -0
  233. package/dist/chat-ui/mentions/suggestions/data/api-client.js +123 -0
  234. package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -0
  235. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs +37 -0
  236. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs.map +1 -0
  237. package/dist/chat-ui/mentions/suggestions/data/item-cache.js +37 -0
  238. package/dist/chat-ui/mentions/suggestions/data/item-cache.js.map +1 -0
  239. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +134 -0
  240. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -0
  241. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +134 -0
  242. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -0
  243. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs +91 -0
  244. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs.map +1 -0
  245. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js +91 -0
  246. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js.map +1 -0
  247. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +137 -0
  248. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -0
  249. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +137 -0
  250. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -0
  251. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +375 -0
  252. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -0
  253. package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +16 -1
  254. package/dist/chat-ui/mentions/suggestions/data/sources/index.js +375 -0
  255. package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -0
  256. package/dist/chat-ui/mentions/suggestions/data/types.cjs +9 -0
  257. package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -0
  258. package/dist/chat-ui/mentions/suggestions/data/types.d.ts +14 -0
  259. package/dist/chat-ui/mentions/suggestions/data/types.js +9 -0
  260. package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -0
  261. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +173 -0
  262. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -0
  263. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +14 -4
  264. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +173 -0
  265. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -0
  266. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +45 -0
  267. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -0
  268. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +45 -0
  269. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -0
  270. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs +43 -0
  271. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs.map +1 -0
  272. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js +43 -0
  273. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js.map +1 -0
  274. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs +14 -0
  275. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs.map +1 -0
  276. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js +14 -0
  277. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js.map +1 -0
  278. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs +48 -0
  279. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs.map +1 -0
  280. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js +48 -0
  281. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js.map +1 -0
  282. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +71 -0
  283. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -0
  284. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +71 -0
  285. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -0
  286. package/dist/chat-ui/mentions/suggestions/shims.d.ts +0 -4
  287. package/dist/chat-ui/messages/continue-pill.cjs +54 -0
  288. package/dist/chat-ui/messages/continue-pill.cjs.map +1 -0
  289. package/dist/chat-ui/messages/continue-pill.js +54 -0
  290. package/dist/chat-ui/messages/continue-pill.js.map +1 -0
  291. package/dist/chat-ui/messages/message-actions-config.cjs +12 -0
  292. package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -0
  293. package/dist/chat-ui/messages/message-actions-config.js +12 -0
  294. package/dist/chat-ui/messages/message-actions-config.js.map +1 -0
  295. package/dist/chat-ui/messages/message-components.cjs +343 -0
  296. package/dist/chat-ui/messages/message-components.cjs.map +1 -0
  297. package/dist/chat-ui/messages/message-components.d.ts +13 -1
  298. package/dist/chat-ui/messages/message-components.js +343 -0
  299. package/dist/chat-ui/messages/message-components.js.map +1 -0
  300. package/dist/chat-ui/messages/running-indicator.cjs +49 -0
  301. package/dist/chat-ui/messages/running-indicator.cjs.map +1 -0
  302. package/dist/chat-ui/messages/running-indicator.js +49 -0
  303. package/dist/chat-ui/messages/running-indicator.js.map +1 -0
  304. package/dist/chat-ui/messages/runtime-message.cjs +65 -0
  305. package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
  306. package/dist/chat-ui/messages/runtime-message.d.ts +2 -3
  307. package/dist/chat-ui/messages/runtime-message.js +65 -0
  308. package/dist/chat-ui/messages/runtime-message.js.map +1 -0
  309. package/dist/chat-ui/messages/statewire-continue-run.cjs +154 -0
  310. package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
  311. package/dist/chat-ui/messages/statewire-continue-run.d.ts +52 -7
  312. package/dist/chat-ui/messages/statewire-continue-run.js +154 -0
  313. package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
  314. package/dist/chat-ui/messages/user-edit-composer.cjs +61 -0
  315. package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
  316. package/dist/chat-ui/messages/user-edit-composer.d.ts +5 -2
  317. package/dist/chat-ui/messages/user-edit-composer.js +61 -0
  318. package/dist/chat-ui/messages/user-edit-composer.js.map +1 -0
  319. package/dist/chat-ui/messages/voice-delegation-card.cjs +51 -0
  320. package/dist/chat-ui/messages/voice-delegation-card.cjs.map +1 -0
  321. package/dist/chat-ui/messages/voice-delegation-card.d.ts +26 -0
  322. package/dist/chat-ui/messages/voice-delegation-card.js +51 -0
  323. package/dist/chat-ui/messages/voice-delegation-card.js.map +1 -0
  324. package/dist/chat-ui/statewire.cjs +39 -0
  325. package/dist/chat-ui/statewire.cjs.map +1 -0
  326. package/dist/chat-ui/statewire.d.ts +19 -0
  327. package/dist/chat-ui/statewire.js +39 -0
  328. package/dist/chat-ui/statewire.js.map +1 -0
  329. package/dist/chat-ui/thread/chat-composer-dock.cjs +37 -0
  330. package/dist/chat-ui/thread/chat-composer-dock.cjs.map +1 -0
  331. package/dist/chat-ui/thread/chat-composer-dock.js +37 -0
  332. package/dist/chat-ui/thread/chat-composer-dock.js.map +1 -0
  333. package/dist/chat-ui/thread/chat-thread-shell.cjs +102 -0
  334. package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -0
  335. package/dist/chat-ui/thread/chat-thread-shell.d.ts +7 -1
  336. package/dist/chat-ui/thread/chat-thread-shell.js +102 -0
  337. package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -0
  338. package/dist/chat-ui/thread/composer-send-or-stop.cjs +75 -0
  339. package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -0
  340. package/dist/chat-ui/thread/composer-send-or-stop.d.ts +0 -6
  341. package/dist/chat-ui/thread/composer-send-or-stop.js +75 -0
  342. package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -0
  343. package/dist/chat-ui/thread/statewire-history-edge.cjs +134 -0
  344. package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
  345. package/dist/chat-ui/thread/statewire-history-edge.d.ts +52 -0
  346. package/dist/chat-ui/thread/statewire-history-edge.js +134 -0
  347. package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -0
  348. package/dist/{collab.cjs → collab/client.cjs} +6 -166
  349. package/dist/collab/client.cjs.map +1 -0
  350. package/dist/{collab.js → collab/client.js} +5 -164
  351. package/dist/collab/client.js.map +1 -0
  352. package/dist/collab/close-policy.cjs +14 -0
  353. package/dist/collab/close-policy.cjs.map +1 -0
  354. package/dist/collab/close-policy.js +14 -0
  355. package/dist/collab/close-policy.js.map +1 -0
  356. package/dist/collab/index.cjs +17 -0
  357. package/dist/collab/index.cjs.map +1 -0
  358. package/dist/collab/index.js +17 -0
  359. package/dist/collab/index.js.map +1 -0
  360. package/dist/collab/mint.cjs +59 -0
  361. package/dist/collab/mint.cjs.map +1 -0
  362. package/dist/collab/mint.js +59 -0
  363. package/dist/collab/mint.js.map +1 -0
  364. package/dist/collab/react.cjs +58 -0
  365. package/dist/collab/react.cjs.map +1 -0
  366. package/dist/collab/react.js +58 -0
  367. package/dist/collab/react.js.map +1 -0
  368. package/dist/collab/shape.cjs +45 -0
  369. package/dist/collab/shape.cjs.map +1 -0
  370. package/dist/collab/shape.js +45 -0
  371. package/dist/collab/shape.js.map +1 -0
  372. package/dist/composer/AttachmentContext.cjs +40 -0
  373. package/dist/composer/AttachmentContext.cjs.map +1 -0
  374. package/dist/composer/AttachmentContext.js +40 -0
  375. package/dist/composer/AttachmentContext.js.map +1 -0
  376. package/dist/composer/ComposerAttachmentPreview.cjs +39 -0
  377. package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -0
  378. package/dist/composer/ComposerAttachmentPreview.js +39 -0
  379. package/dist/composer/ComposerAttachmentPreview.js.map +1 -0
  380. package/dist/composer/ComposerDropZone.cjs +61 -0
  381. package/dist/composer/ComposerDropZone.cjs.map +1 -0
  382. package/dist/composer/ComposerDropZone.d.ts +1 -1
  383. package/dist/composer/ComposerDropZone.js +61 -0
  384. package/dist/composer/ComposerDropZone.js.map +1 -0
  385. package/dist/composer/ComposerQuotePreview.cjs +42 -0
  386. package/dist/composer/ComposerQuotePreview.cjs.map +1 -0
  387. package/dist/composer/ComposerQuotePreview.js +42 -0
  388. package/dist/composer/ComposerQuotePreview.js.map +1 -0
  389. package/dist/composer/FileUploadButton.cjs +65 -0
  390. package/dist/composer/FileUploadButton.cjs.map +1 -0
  391. package/dist/composer/FileUploadButton.d.ts +1 -1
  392. package/dist/composer/FileUploadButton.js +65 -0
  393. package/dist/composer/FileUploadButton.js.map +1 -0
  394. package/dist/composer/QuoteContext.cjs +68 -0
  395. package/dist/composer/QuoteContext.cjs.map +1 -0
  396. package/dist/composer/QuoteContext.js +68 -0
  397. package/dist/composer/QuoteContext.js.map +1 -0
  398. package/dist/composer/build-composed-message.cjs +25 -0
  399. package/dist/composer/build-composed-message.cjs.map +1 -0
  400. package/dist/composer/build-composed-message.js +25 -0
  401. package/dist/composer/build-composed-message.js.map +1 -0
  402. package/dist/composer/clipboard.cjs +62 -0
  403. package/dist/composer/clipboard.cjs.map +1 -0
  404. package/dist/composer/clipboard.d.ts +27 -3
  405. package/dist/composer/clipboard.js +62 -0
  406. package/dist/composer/clipboard.js.map +1 -0
  407. package/dist/composer/useAppendToComposer.cjs +21 -0
  408. package/dist/composer/useAppendToComposer.cjs.map +1 -0
  409. package/dist/composer/useAppendToComposer.js +21 -0
  410. package/dist/composer/useAppendToComposer.js.map +1 -0
  411. package/dist/composer/useAttachFiles.cjs +40 -0
  412. package/dist/composer/useAttachFiles.cjs.map +1 -0
  413. package/dist/composer/useAttachFiles.d.ts +24 -0
  414. package/dist/composer/useAttachFiles.js +40 -0
  415. package/dist/composer/useAttachFiles.js.map +1 -0
  416. package/dist/composer/useComposerAttachment.cjs +25 -0
  417. package/dist/composer/useComposerAttachment.cjs.map +1 -0
  418. package/dist/composer/useComposerAttachment.js +25 -0
  419. package/dist/composer/useComposerAttachment.js.map +1 -0
  420. package/dist/composer/useFileUpload.cjs +123 -0
  421. package/dist/composer/useFileUpload.cjs.map +1 -0
  422. package/dist/composer/useFileUpload.js +123 -0
  423. package/dist/composer/useFileUpload.js.map +1 -0
  424. package/dist/composer/useSendMessage.cjs +22 -0
  425. package/dist/composer/useSendMessage.cjs.map +1 -0
  426. package/dist/composer/useSendMessage.js +22 -0
  427. package/dist/composer/useSendMessage.js.map +1 -0
  428. package/dist/diagnostics/athena-diagnostics.cjs +329 -0
  429. package/dist/diagnostics/athena-diagnostics.cjs.map +1 -0
  430. package/dist/diagnostics/athena-diagnostics.d.ts +1 -1
  431. package/dist/diagnostics/athena-diagnostics.js +329 -0
  432. package/dist/diagnostics/athena-diagnostics.js.map +1 -0
  433. package/dist/diagnostics/errors.cjs +89 -0
  434. package/dist/diagnostics/errors.cjs.map +1 -0
  435. package/dist/diagnostics/errors.d.ts +4 -0
  436. package/dist/diagnostics/errors.js +89 -0
  437. package/dist/diagnostics/errors.js.map +1 -0
  438. package/dist/diagnostics/useAthenaDiagnostics.cjs +16 -0
  439. package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -0
  440. package/dist/diagnostics/useAthenaDiagnostics.js +16 -0
  441. package/dist/diagnostics/useAthenaDiagnostics.js.map +1 -0
  442. package/dist/index.cjs +283 -30852
  443. package/dist/index.cjs.map +1 -1
  444. package/dist/index.d.ts +27 -10
  445. package/dist/index.js +155 -30711
  446. package/dist/index.js.map +1 -1
  447. package/dist/lib/athena-urls.cjs +194 -0
  448. package/dist/lib/athena-urls.cjs.map +1 -0
  449. package/dist/lib/athena-urls.d.ts +20 -5
  450. package/dist/lib/athena-urls.js +194 -0
  451. package/dist/lib/athena-urls.js.map +1 -0
  452. package/dist/lib/posthog/before-send.cjs +58 -0
  453. package/dist/lib/posthog/before-send.cjs.map +1 -0
  454. package/dist/lib/posthog/before-send.js +58 -0
  455. package/dist/lib/posthog/before-send.js.map +1 -0
  456. package/dist/lib/posthog/capture-gate.cjs +322 -0
  457. package/dist/lib/posthog/capture-gate.cjs.map +1 -0
  458. package/dist/lib/posthog/capture-gate.js +322 -0
  459. package/dist/lib/posthog/capture-gate.js.map +1 -0
  460. package/dist/lib/posthog/wrap-posthog-client.cjs +163 -0
  461. package/dist/lib/posthog/wrap-posthog-client.cjs.map +1 -0
  462. package/dist/lib/posthog/wrap-posthog-client.js +163 -0
  463. package/dist/lib/posthog/wrap-posthog-client.js.map +1 -0
  464. package/dist/lib/utils.cjs +12 -0
  465. package/dist/lib/utils.cjs.map +1 -0
  466. package/dist/lib/utils.js +9 -0
  467. package/dist/lib/utils.js.map +1 -0
  468. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +77 -0
  469. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +1 -0
  470. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +77 -0
  471. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +1 -0
  472. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +181 -0
  473. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +1 -0
  474. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +181 -0
  475. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +1 -0
  476. package/dist/packages/agent-runtime/src/asset-attachment.cjs +19 -0
  477. package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +1 -0
  478. package/dist/packages/agent-runtime/src/asset-attachment.js +19 -0
  479. package/dist/packages/agent-runtime/src/asset-attachment.js.map +1 -0
  480. package/dist/packages/agent-runtime/src/auth-denial.cjs +28 -0
  481. package/dist/packages/agent-runtime/src/auth-denial.cjs.map +1 -0
  482. package/dist/packages/agent-runtime/src/auth-denial.js +28 -0
  483. package/dist/packages/agent-runtime/src/auth-denial.js.map +1 -0
  484. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs +270 -0
  485. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
  486. package/dist/packages/agent-runtime/src/client-tool-bridge.js +270 -0
  487. package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +1 -0
  488. package/dist/packages/agent-runtime/src/client-tools.cjs +137 -0
  489. package/dist/packages/agent-runtime/src/client-tools.cjs.map +1 -0
  490. package/dist/packages/agent-runtime/src/client-tools.js +137 -0
  491. package/dist/packages/agent-runtime/src/client-tools.js.map +1 -0
  492. package/dist/packages/agent-runtime/src/conversation-index.cjs +80 -0
  493. package/dist/packages/agent-runtime/src/conversation-index.cjs.map +1 -0
  494. package/dist/packages/agent-runtime/src/conversation-index.js +80 -0
  495. package/dist/packages/agent-runtime/src/conversation-index.js.map +1 -0
  496. package/dist/packages/agent-runtime/src/conversation-list.cjs +86 -0
  497. package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
  498. package/dist/packages/agent-runtime/src/conversation-list.js +86 -0
  499. package/dist/packages/agent-runtime/src/conversation-list.js.map +1 -0
  500. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs +55 -0
  501. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
  502. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js +55 -0
  503. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
  504. package/dist/packages/agent-runtime/src/edit-command.cjs +89 -0
  505. package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -0
  506. package/dist/packages/agent-runtime/src/edit-command.js +89 -0
  507. package/dist/packages/agent-runtime/src/edit-command.js.map +1 -0
  508. package/dist/packages/agent-runtime/src/errors.cjs +95 -0
  509. package/dist/packages/agent-runtime/src/errors.cjs.map +1 -0
  510. package/dist/packages/agent-runtime/src/errors.js +95 -0
  511. package/dist/packages/agent-runtime/src/errors.js.map +1 -0
  512. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +236 -0
  513. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
  514. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +236 -0
  515. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
  516. package/dist/packages/agent-runtime/src/interrupts.cjs +117 -0
  517. package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
  518. package/dist/packages/agent-runtime/src/interrupts.js +117 -0
  519. package/dist/packages/agent-runtime/src/interrupts.js.map +1 -0
  520. package/dist/packages/agent-runtime/src/message-author.cjs +31 -0
  521. package/dist/packages/agent-runtime/src/message-author.cjs.map +1 -0
  522. package/dist/packages/agent-runtime/src/message-author.js +31 -0
  523. package/dist/packages/agent-runtime/src/message-author.js.map +1 -0
  524. package/dist/packages/agent-runtime/src/message-window.cjs +85 -0
  525. package/dist/packages/agent-runtime/src/message-window.cjs.map +1 -0
  526. package/dist/packages/agent-runtime/src/message-window.js +85 -0
  527. package/dist/packages/agent-runtime/src/message-window.js.map +1 -0
  528. package/dist/packages/agent-runtime/src/messages.cjs +433 -0
  529. package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
  530. package/dist/packages/agent-runtime/src/messages.js +433 -0
  531. package/dist/packages/agent-runtime/src/messages.js.map +1 -0
  532. package/dist/packages/agent-runtime/src/model-context.cjs +13 -0
  533. package/dist/packages/agent-runtime/src/model-context.cjs.map +1 -0
  534. package/dist/packages/agent-runtime/src/model-context.js +13 -0
  535. package/dist/packages/agent-runtime/src/model-context.js.map +1 -0
  536. package/dist/packages/agent-runtime/src/optimistic-content.cjs +17 -0
  537. package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +1 -0
  538. package/dist/packages/agent-runtime/src/optimistic-content.js +17 -0
  539. package/dist/packages/agent-runtime/src/optimistic-content.js.map +1 -0
  540. package/dist/packages/agent-runtime/src/protocol.cjs +33 -0
  541. package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
  542. package/dist/packages/agent-runtime/src/protocol.js +33 -0
  543. package/dist/packages/agent-runtime/src/protocol.js.map +1 -0
  544. package/dist/packages/agent-runtime/src/queue.cjs +67 -0
  545. package/dist/packages/agent-runtime/src/queue.cjs.map +1 -0
  546. package/dist/packages/agent-runtime/src/queue.js +67 -0
  547. package/dist/packages/agent-runtime/src/queue.js.map +1 -0
  548. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +47 -0
  549. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
  550. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +47 -0
  551. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
  552. package/dist/packages/agent-runtime/src/runtime-messages.cjs +187 -0
  553. package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +1 -0
  554. package/dist/packages/agent-runtime/src/runtime-messages.js +187 -0
  555. package/dist/packages/agent-runtime/src/runtime-messages.js.map +1 -0
  556. package/dist/packages/agent-runtime/src/send-recovery.cjs +128 -0
  557. package/dist/packages/agent-runtime/src/send-recovery.cjs.map +1 -0
  558. package/dist/packages/agent-runtime/src/send-recovery.js +128 -0
  559. package/dist/packages/agent-runtime/src/send-recovery.js.map +1 -0
  560. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs +249 -0
  561. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
  562. package/dist/packages/agent-runtime/src/statewire-attach-observer.js +249 -0
  563. package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +1 -0
  564. package/dist/packages/agent-runtime/src/statewire-state.cjs +16 -0
  565. package/dist/packages/agent-runtime/src/statewire-state.cjs.map +1 -0
  566. package/dist/packages/agent-runtime/src/statewire-state.js +16 -0
  567. package/dist/packages/agent-runtime/src/statewire-state.js.map +1 -0
  568. package/dist/packages/agent-runtime/src/statewire-suspended.cjs +41 -0
  569. package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +1 -0
  570. package/dist/packages/agent-runtime/src/statewire-suspended.js +41 -0
  571. package/dist/packages/agent-runtime/src/statewire-suspended.js.map +1 -0
  572. package/dist/packages/agent-runtime/src/statewire-transport.cjs +6 -0
  573. package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
  574. package/dist/packages/agent-runtime/src/statewire-transport.js +6 -0
  575. package/dist/packages/agent-runtime/src/statewire-transport.js.map +1 -0
  576. package/dist/packages/agent-runtime/src/streaming-markdown.cjs +214 -0
  577. package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +1 -0
  578. package/dist/packages/agent-runtime/src/streaming-markdown.js +214 -0
  579. package/dist/packages/agent-runtime/src/streaming-markdown.js.map +1 -0
  580. package/dist/packages/agent-runtime/src/thread-extras.cjs +38 -0
  581. package/dist/packages/agent-runtime/src/thread-extras.cjs.map +1 -0
  582. package/dist/packages/agent-runtime/src/thread-extras.js +38 -0
  583. package/dist/packages/agent-runtime/src/thread-extras.js.map +1 -0
  584. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs +90 -0
  585. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
  586. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js +90 -0
  587. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
  588. package/dist/packages/agent-runtime/src/thread-status.cjs +49 -0
  589. package/dist/packages/agent-runtime/src/thread-status.cjs.map +1 -0
  590. package/dist/packages/agent-runtime/src/thread-status.js +49 -0
  591. package/dist/packages/agent-runtime/src/thread-status.js.map +1 -0
  592. package/dist/packages/agent-runtime/src/tool-metadata.cjs +1802 -0
  593. package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
  594. package/dist/packages/agent-runtime/src/tool-metadata.js +1802 -0
  595. package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -0
  596. package/dist/packages/agent-runtime/src/tool-outputs.cjs +46 -0
  597. package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +1 -0
  598. package/dist/packages/agent-runtime/src/tool-outputs.js +46 -0
  599. package/dist/packages/agent-runtime/src/tool-outputs.js.map +1 -0
  600. package/dist/packages/agent-runtime/src/tool-result.cjs +151 -0
  601. package/dist/packages/agent-runtime/src/tool-result.cjs.map +1 -0
  602. package/dist/packages/agent-runtime/src/tool-result.js +151 -0
  603. package/dist/packages/agent-runtime/src/tool-result.js.map +1 -0
  604. package/dist/packages/agent-runtime/src/use-conversation-list.cjs +139 -0
  605. package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +1 -0
  606. package/dist/packages/agent-runtime/src/use-conversation-list.js +139 -0
  607. package/dist/packages/agent-runtime/src/use-conversation-list.js.map +1 -0
  608. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs +28 -0
  609. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
  610. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js +28 -0
  611. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
  612. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs +138 -0
  613. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
  614. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js +138 -0
  615. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
  616. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs +387 -0
  617. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
  618. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js +387 -0
  619. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
  620. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs +133 -0
  621. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
  622. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js +133 -0
  623. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
  624. package/dist/packages/agent-runtime/src/voice-presentation.cjs +37 -0
  625. package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +1 -0
  626. package/dist/packages/agent-runtime/src/voice-presentation.js +37 -0
  627. package/dist/packages/agent-runtime/src/voice-presentation.js.map +1 -0
  628. package/dist/packages/react/package.json.cjs +9 -0
  629. package/dist/packages/react/package.json.cjs.map +1 -0
  630. package/dist/packages/react/package.json.js +9 -0
  631. package/dist/packages/react/package.json.js.map +1 -0
  632. package/dist/{AthenaContext-B1QMhIP-.cjs → provider/AthenaContext.cjs} +5 -4
  633. package/dist/provider/AthenaContext.cjs.map +1 -0
  634. package/dist/{AthenaContext-MOslgOmE.js → provider/AthenaContext.js} +3 -3
  635. package/dist/provider/AthenaContext.js.map +1 -0
  636. package/dist/provider/AthenaProvider.cjs +403 -0
  637. package/dist/provider/AthenaProvider.cjs.map +1 -0
  638. package/dist/provider/AthenaProvider.d.ts +4 -2
  639. package/dist/provider/AthenaProvider.js +403 -0
  640. package/dist/provider/AthenaProvider.js.map +1 -0
  641. package/dist/provider/PostHogProvider.cjs +81 -0
  642. package/dist/provider/PostHogProvider.cjs.map +1 -0
  643. package/dist/provider/PostHogProvider.js +59 -0
  644. package/dist/provider/PostHogProvider.js.map +1 -0
  645. package/dist/provider/config.d.ts +17 -9
  646. package/dist/provider/statewire-lifecycle-context.cjs +10 -0
  647. package/dist/provider/statewire-lifecycle-context.cjs.map +1 -0
  648. package/dist/provider/statewire-lifecycle-context.js +10 -0
  649. package/dist/provider/statewire-lifecycle-context.js.map +1 -0
  650. package/dist/provider/statewire-window-context.cjs +10 -0
  651. package/dist/provider/statewire-window-context.cjs.map +1 -0
  652. package/dist/provider/statewire-window-context.d.ts +12 -0
  653. package/dist/provider/statewire-window-context.js +10 -0
  654. package/dist/provider/statewire-window-context.js.map +1 -0
  655. package/dist/runtime/auth.cjs +309 -0
  656. package/dist/runtime/auth.cjs.map +1 -0
  657. package/dist/runtime/auth.d.ts +19 -18
  658. package/dist/runtime/auth.js +309 -0
  659. package/dist/runtime/auth.js.map +1 -0
  660. package/dist/runtime/statewire-auth-headers.cjs +18 -0
  661. package/dist/runtime/statewire-auth-headers.cjs.map +1 -0
  662. package/dist/runtime/statewire-auth-headers.d.ts +38 -0
  663. package/dist/runtime/statewire-auth-headers.js +18 -0
  664. package/dist/runtime/statewire-auth-headers.js.map +1 -0
  665. package/dist/runtime/statewire-lifecycle.cjs +67 -0
  666. package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
  667. package/dist/runtime/statewire-lifecycle.d.ts +25 -0
  668. package/dist/runtime/statewire-lifecycle.js +67 -0
  669. package/dist/runtime/statewire-lifecycle.js.map +1 -0
  670. package/dist/runtime/statewire-run-config.cjs +68 -0
  671. package/dist/runtime/statewire-run-config.cjs.map +1 -0
  672. package/dist/runtime/statewire-run-config.js +68 -0
  673. package/dist/runtime/statewire-run-config.js.map +1 -0
  674. package/dist/runtime/statewire-session-key.cjs +11 -0
  675. package/dist/runtime/statewire-session-key.cjs.map +1 -0
  676. package/dist/runtime/statewire-session-key.d.ts +13 -0
  677. package/dist/runtime/statewire-session-key.js +11 -0
  678. package/dist/runtime/statewire-session-key.js.map +1 -0
  679. package/dist/runtime/useAthenaStatewireRuntime.cjs +179 -0
  680. package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
  681. package/dist/runtime/useAthenaStatewireRuntime.d.ts +36 -5
  682. package/dist/runtime/useAthenaStatewireRuntime.js +180 -0
  683. package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -0
  684. package/dist/styles.css +1 -1
  685. package/dist/theme/index.cjs +182 -0
  686. package/dist/theme/index.cjs.map +1 -0
  687. package/dist/theme/index.js +182 -0
  688. package/dist/theme/index.js.map +1 -0
  689. package/dist/threads/ThreadList.cjs +55 -0
  690. package/dist/threads/ThreadList.cjs.map +1 -0
  691. package/dist/threads/ThreadList.js +55 -0
  692. package/dist/threads/ThreadList.js.map +1 -0
  693. package/dist/threads/api.cjs +208 -0
  694. package/dist/threads/api.cjs.map +1 -0
  695. package/dist/threads/api.js +208 -0
  696. package/dist/threads/api.js.map +1 -0
  697. package/dist/threads/conversation-list-fetcher.cjs +70 -0
  698. package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
  699. package/dist/threads/conversation-list-fetcher.js +70 -0
  700. package/dist/threads/conversation-list-fetcher.js.map +1 -0
  701. package/dist/threads/mint-thread-id.cjs +7 -0
  702. package/dist/threads/mint-thread-id.cjs.map +1 -0
  703. package/dist/threads/mint-thread-id.d.ts +8 -0
  704. package/dist/threads/mint-thread-id.js +7 -0
  705. package/dist/threads/mint-thread-id.js.map +1 -0
  706. package/dist/threads/statewire-thread-list.cjs +231 -0
  707. package/dist/threads/statewire-thread-list.cjs.map +1 -0
  708. package/dist/threads/statewire-thread-list.d.ts +20 -4
  709. package/dist/threads/statewire-thread-list.js +231 -0
  710. package/dist/threads/statewire-thread-list.js.map +1 -0
  711. package/dist/threads/thread-id-context.cjs +22 -0
  712. package/dist/threads/thread-id-context.cjs.map +1 -0
  713. package/dist/threads/thread-id-context.d.ts +9 -0
  714. package/dist/threads/thread-id-context.js +22 -0
  715. package/dist/threads/thread-id-context.js.map +1 -0
  716. package/dist/threads/title.cjs +95 -0
  717. package/dist/threads/title.cjs.map +1 -0
  718. package/dist/threads/title.js +95 -0
  719. package/dist/threads/title.js.map +1 -0
  720. package/dist/threads/use-rest-conversation-history.cjs +79 -0
  721. package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
  722. package/dist/threads/use-rest-conversation-history.js +79 -0
  723. package/dist/threads/use-rest-conversation-history.js.map +1 -0
  724. package/dist/threads/use-statewire-conversation-history.cjs +243 -0
  725. package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
  726. package/dist/threads/use-statewire-conversation-history.js +243 -0
  727. package/dist/threads/use-statewire-conversation-history.js.map +1 -0
  728. package/dist/threads/useAthenaThreadManager.cjs +24 -0
  729. package/dist/threads/useAthenaThreadManager.cjs.map +1 -0
  730. package/dist/threads/useAthenaThreadManager.js +24 -0
  731. package/dist/threads/useAthenaThreadManager.js.map +1 -0
  732. package/dist/toolkits/index.cjs +279 -0
  733. package/dist/toolkits/index.cjs.map +1 -0
  734. package/dist/toolkits/index.js +279 -0
  735. package/dist/toolkits/index.js.map +1 -0
  736. package/dist/tools/NestedPtcMessages.cjs +46 -0
  737. package/dist/tools/NestedPtcMessages.cjs.map +1 -0
  738. package/dist/tools/NestedPtcMessages.js +46 -0
  739. package/dist/tools/NestedPtcMessages.js.map +1 -0
  740. package/dist/tools/append-document-tool-ui.cjs +145 -0
  741. package/dist/tools/append-document-tool-ui.cjs.map +1 -0
  742. package/dist/tools/append-document-tool-ui.js +145 -0
  743. package/dist/tools/append-document-tool-ui.js.map +1 -0
  744. package/dist/tools/asset-utils.cjs +16 -0
  745. package/dist/tools/asset-utils.cjs.map +1 -0
  746. package/dist/tools/asset-utils.js +16 -0
  747. package/dist/tools/asset-utils.js.map +1 -0
  748. package/dist/tools/auto-open-tools.cjs +121 -0
  749. package/dist/tools/auto-open-tools.cjs.map +1 -0
  750. package/dist/tools/auto-open-tools.js +121 -0
  751. package/dist/tools/auto-open-tools.js.map +1 -0
  752. package/dist/tools/file-tool-uis.cjs +108 -0
  753. package/dist/tools/file-tool-uis.cjs.map +1 -0
  754. package/dist/tools/file-tool-uis.js +108 -0
  755. package/dist/tools/file-tool-uis.js.map +1 -0
  756. package/dist/tools/index.cjs +56 -0
  757. package/dist/tools/index.cjs.map +1 -0
  758. package/dist/tools/index.d.ts +15 -0
  759. package/dist/tools/index.js +56 -0
  760. package/dist/tools/index.js.map +1 -0
  761. package/dist/tools/misc-tool-uis.cjs +54 -0
  762. package/dist/tools/misc-tool-uis.cjs.map +1 -0
  763. package/dist/tools/misc-tool-uis.d.ts +2 -0
  764. package/dist/tools/misc-tool-uis.js +54 -0
  765. package/dist/tools/misc-tool-uis.js.map +1 -0
  766. package/dist/tools/primitives.cjs +166 -0
  767. package/dist/tools/primitives.cjs.map +1 -0
  768. package/dist/tools/primitives.d.ts +41 -0
  769. package/dist/tools/primitives.js +166 -0
  770. package/dist/tools/primitives.js.map +1 -0
  771. package/dist/tools/read-asset-tool-ui.cjs +284 -0
  772. package/dist/tools/read-asset-tool-ui.cjs.map +1 -0
  773. package/dist/tools/read-asset-tool-ui.js +284 -0
  774. package/dist/tools/read-asset-tool-ui.js.map +1 -0
  775. package/dist/tools/todo-plan-store.cjs +88 -0
  776. package/dist/tools/todo-plan-store.cjs.map +1 -0
  777. package/dist/tools/todo-plan-store.js +88 -0
  778. package/dist/tools/todo-plan-store.js.map +1 -0
  779. package/dist/tools/tool-fallback.cjs +667 -0
  780. package/dist/tools/tool-fallback.cjs.map +1 -0
  781. package/dist/tools/tool-fallback.d.ts +78 -6
  782. package/dist/tools/tool-fallback.js +667 -0
  783. package/dist/tools/tool-fallback.js.map +1 -0
  784. package/dist/tools/tool-icons.cjs +61 -0
  785. package/dist/tools/tool-icons.cjs.map +1 -0
  786. package/dist/tools/tool-icons.d.ts +10 -0
  787. package/dist/tools/tool-icons.js +61 -0
  788. package/dist/tools/tool-icons.js.map +1 -0
  789. package/dist/tools/tool-uis.cjs +3049 -0
  790. package/dist/tools/tool-uis.cjs.map +1 -0
  791. package/dist/tools/tool-uis.d.ts +1 -23
  792. package/dist/tools/tool-uis.js +3049 -0
  793. package/dist/tools/tool-uis.js.map +1 -0
  794. package/dist/tools/voice-update-tool-ui.cjs +89 -0
  795. package/dist/tools/voice-update-tool-ui.cjs.map +1 -0
  796. package/dist/tools/voice-update-tool-ui.d.ts +27 -0
  797. package/dist/tools/voice-update-tool-ui.js +89 -0
  798. package/dist/tools/voice-update-tool-ui.js.map +1 -0
  799. package/dist/tools/write-todos-tool-ui.cjs +270 -0
  800. package/dist/tools/write-todos-tool-ui.cjs.map +1 -0
  801. package/dist/tools/write-todos-tool-ui.js +270 -0
  802. package/dist/tools/write-todos-tool-ui.js.map +1 -0
  803. package/dist/ui/button.cjs +57 -0
  804. package/dist/ui/button.cjs.map +1 -0
  805. package/dist/ui/button.js +57 -0
  806. package/dist/ui/button.js.map +1 -0
  807. package/dist/ui/collapsible.cjs +17 -0
  808. package/dist/ui/collapsible.cjs.map +1 -0
  809. package/dist/ui/collapsible.js +17 -0
  810. package/dist/ui/collapsible.js.map +1 -0
  811. package/dist/ui/tooltip.cjs +48 -0
  812. package/dist/ui/tooltip.cjs.map +1 -0
  813. package/dist/ui/tooltip.js +48 -0
  814. package/dist/ui/tooltip.js.map +1 -0
  815. package/dist/version.cjs +6 -0
  816. package/dist/version.cjs.map +1 -0
  817. package/dist/version.js +6 -0
  818. package/dist/version.js.map +1 -0
  819. package/package.json +35 -19
  820. package/dist/AthenaAuthContext-B3AwLA5Z.cjs.map +0 -1
  821. package/dist/AthenaAuthContext-DQsdayH2.js.map +0 -1
  822. package/dist/AthenaContext-B1QMhIP-.cjs.map +0 -1
  823. package/dist/AthenaContext-MOslgOmE.js.map +0 -1
  824. package/dist/auth.cjs.map +0 -1
  825. package/dist/auth.js.map +0 -1
  826. package/dist/chat/ComposerEditorContext.d.ts +0 -36
  827. package/dist/chat/super-grouping/tool-status-labels.d.ts +0 -1
  828. package/dist/chat/tiptap-composer.d.ts +0 -7
  829. package/dist/chat-ui.cjs +0 -2667
  830. package/dist/chat-ui.cjs.map +0 -1
  831. package/dist/chat-ui.js +0 -2668
  832. package/dist/chat-ui.js.map +0 -1
  833. package/dist/collab.cjs.map +0 -1
  834. package/dist/collab.js.map +0 -1
  835. package/dist/mentions/composer-keybinds.d.ts +0 -5
  836. package/dist/mentions/mention-extension.d.ts +0 -6
  837. package/dist/mentions/mention-icons.d.ts +0 -4
  838. package/dist/mentions/mention-node-view.d.ts +0 -2
  839. package/dist/mentions/mention-suggestion-list.d.ts +0 -14
  840. package/dist/mentions/mention-suggestion-popup.d.ts +0 -15
  841. package/dist/mentions/mention-suggestions-extension.d.ts +0 -11
  842. package/dist/mentions/mention-types.d.ts +0 -21
  843. package/dist/mentions/mention-utils.d.ts +0 -23
  844. package/dist/mentions/use-mention-suggestions.d.ts +0 -29
  845. package/dist/use-rest-conversation-history-Bs5qn5G3.js +0 -37322
  846. package/dist/use-rest-conversation-history-Bs5qn5G3.js.map +0 -1
  847. package/dist/use-rest-conversation-history-Dm0rdQgT.cjs +0 -37358
  848. package/dist/use-rest-conversation-history-Dm0rdQgT.cjs.map +0 -1
@@ -0,0 +1,123 @@
1
+ import { useRef, useState, useEffect, useCallback } from "react";
2
+ import { useAthenaConfig } from "../provider/AthenaContext.js";
3
+ const MAX_FILE_SIZE = 5 * 1024 * 1024 * 1024;
4
+ function useFileUpload() {
5
+ const config = useAthenaConfig();
6
+ const configRef = useRef(config);
7
+ configRef.current = config;
8
+ const { backendUrl, apiKey } = config;
9
+ const [isUploading, setIsUploading] = useState(false);
10
+ const [progress, setProgress] = useState(null);
11
+ const [error, setError] = useState(null);
12
+ const xhrRef = useRef(null);
13
+ useEffect(() => {
14
+ return () => {
15
+ var _a;
16
+ (_a = xhrRef.current) == null ? void 0 : _a.abort();
17
+ };
18
+ }, []);
19
+ const clearError = useCallback(() => setError(null), []);
20
+ const upload = useCallback(
21
+ async (files) => {
22
+ var _a;
23
+ if (files.length === 0) return [];
24
+ for (const file of files) {
25
+ if (file.size > MAX_FILE_SIZE) {
26
+ const msg = `File "${file.name}" exceeds the maximum size of 5 GB.`;
27
+ setError(msg);
28
+ throw new Error(msg);
29
+ }
30
+ }
31
+ setIsUploading(true);
32
+ setError(null);
33
+ setProgress({ current: 0, total: files.length, fileName: ((_a = files[0]) == null ? void 0 : _a.name) ?? "", percent: 0 });
34
+ try {
35
+ const formData = new FormData();
36
+ for (const file of files) {
37
+ formData.append("files", file, file.name);
38
+ }
39
+ const baseUrl = backendUrl.replace(/\/api\/assistant-ui\/?$/, "");
40
+ const uploadUrl = `${baseUrl}/api/upload/`;
41
+ const currentToken = configRef.current.token;
42
+ const headers = {};
43
+ if (currentToken) {
44
+ headers["Authorization"] = `Bearer ${currentToken}`;
45
+ } else if (apiKey) {
46
+ headers["X-API-KEY"] = apiKey;
47
+ }
48
+ const xhr = new XMLHttpRequest();
49
+ xhrRef.current = xhr;
50
+ const result = await new Promise((resolve, reject) => {
51
+ xhr.upload.addEventListener("progress", (e) => {
52
+ var _a2;
53
+ if (e.lengthComputable) {
54
+ const percent = e.loaded / e.total;
55
+ const fileIndex = Math.min(
56
+ Math.floor(percent * files.length),
57
+ files.length - 1
58
+ );
59
+ setProgress({
60
+ current: fileIndex + 1,
61
+ total: files.length,
62
+ fileName: ((_a2 = files[fileIndex]) == null ? void 0 : _a2.name) ?? "",
63
+ percent
64
+ });
65
+ }
66
+ });
67
+ xhr.addEventListener("load", () => {
68
+ if (xhr.status >= 200 && xhr.status < 300) {
69
+ try {
70
+ const data = JSON.parse(xhr.responseText);
71
+ const assets = (data.success ?? []).map((a) => ({
72
+ id: a.id,
73
+ title: a.title ?? a.file_name,
74
+ fileName: a.file_name,
75
+ fileSize: a.file_size,
76
+ mediaType: a.media_type
77
+ }));
78
+ resolve({ success: assets, errors: data.errors ?? [] });
79
+ } catch {
80
+ reject(new Error("Failed to parse upload response"));
81
+ }
82
+ } else if (xhr.status === 401 || xhr.status === 403) {
83
+ reject(new Error("Authentication failed. Check your API key or token."));
84
+ } else {
85
+ reject(new Error(`Upload failed with status ${xhr.status}`));
86
+ }
87
+ });
88
+ xhr.addEventListener("error", () => reject(new Error("Network error during upload")));
89
+ xhr.addEventListener("abort", () => reject(new Error("Upload was cancelled")));
90
+ xhr.open("POST", uploadUrl);
91
+ for (const [key, value] of Object.entries(headers)) {
92
+ xhr.setRequestHeader(key, value);
93
+ }
94
+ xhr.withCredentials = !currentToken && !apiKey;
95
+ xhr.send(formData);
96
+ });
97
+ if (result.errors.length > 0) {
98
+ const errMsg = result.errors.map((e) => `${e.file.filename}: ${e.error}`).join("; ");
99
+ if (result.success.length === 0) {
100
+ setError(errMsg);
101
+ throw new Error(errMsg);
102
+ }
103
+ setError(errMsg);
104
+ }
105
+ return result.success;
106
+ } catch (err) {
107
+ const msg = err instanceof Error ? err.message : "Upload failed";
108
+ setError(msg);
109
+ throw err;
110
+ } finally {
111
+ xhrRef.current = null;
112
+ setIsUploading(false);
113
+ setProgress(null);
114
+ }
115
+ },
116
+ [backendUrl, apiKey]
117
+ );
118
+ return { upload, isUploading, progress, error, clearError };
119
+ }
120
+ export {
121
+ useFileUpload
122
+ };
123
+ //# sourceMappingURL=useFileUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileUpload.js","sources":["../../src/composer/useFileUpload.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useAthenaConfig } from '../provider/AthenaContext';\n\nexport interface UploadedAsset {\n id: string;\n title: string;\n fileName: string;\n fileSize: number;\n mediaType: string;\n}\n\nexport interface UploadProgress {\n current: number;\n total: number;\n fileName: string;\n /** 0–1 normalized progress for the current file */\n percent: number;\n}\n\nexport interface UseFileUploadReturn {\n /** Upload one or more files to Athena. Returns the created asset(s). */\n upload: (files: File[]) => Promise<UploadedAsset[]>;\n /** Whether an upload is currently in progress. */\n isUploading: boolean;\n /** Upload progress info (null when idle). */\n progress: UploadProgress | null;\n /** Last upload error (null when no error). */\n error: string | null;\n /** Clear the error state. */\n clearError: () => void;\n}\n\nconst MAX_FILE_SIZE = 5 * 1024 * 1024 * 1024; // 5 GB\n\n/**\n * Hook for uploading files to the Athena platform via the Athena upload endpoint.\n * Files become Athena assets (documents, spreadsheets, PDFs, images, etc.).\n *\n * Usage:\n * const { upload, isUploading, progress, error } = useFileUpload();\n * const assets = await upload(fileList);\n */\nexport function useFileUpload(): UseFileUploadReturn {\n const config = useAthenaConfig();\n // Keep config in a ref so upload() always reads the latest token at call\n // time. AthenaConfig's token is a getter that returns the current value\n // from PropelAuth, and reading via the ref avoids capturing stale\n // destructured values in the useCallback closure.\n const configRef = useRef(config);\n configRef.current = config;\n const { backendUrl, apiKey } = config;\n const [isUploading, setIsUploading] = useState(false);\n const [progress, setProgress] = useState<UploadProgress | null>(null);\n const [error, setError] = useState<string | null>(null);\n const xhrRef = useRef<XMLHttpRequest | null>(null);\n\n // Abort any in-flight upload when the component unmounts\n useEffect(() => {\n return () => {\n xhrRef.current?.abort();\n };\n }, []);\n\n const clearError = useCallback(() => setError(null), []);\n\n const upload = useCallback(\n async (files: File[]): Promise<UploadedAsset[]> => {\n if (files.length === 0) return [];\n\n // Validate file sizes\n for (const file of files) {\n if (file.size > MAX_FILE_SIZE) {\n const msg = `File \"${file.name}\" exceeds the maximum size of 5 GB.`;\n setError(msg);\n throw new Error(msg);\n }\n }\n\n setIsUploading(true);\n setError(null);\n setProgress({ current: 0, total: files.length, fileName: files[0]?.name ?? '', percent: 0 });\n\n try {\n const formData = new FormData();\n for (const file of files) {\n formData.append('files', file, file.name);\n }\n\n // Derive the upload URL from the configured Athena backend URL.\n // If backendUrl points at a nested Athena endpoint, trim it back to the API base first.\n const baseUrl = backendUrl.replace(/\\/api\\/assistant-ui\\/?$/, '');\n const uploadUrl = `${baseUrl}/api/upload/`;\n\n // Read the current token at call time so rotated tokens are picked up.\n const currentToken = configRef.current.token;\n const headers: Record<string, string> = {};\n if (currentToken) {\n headers['Authorization'] = `Bearer ${currentToken}`;\n } else if (apiKey) {\n headers['X-API-KEY'] = apiKey;\n }\n\n const xhr = new XMLHttpRequest();\n xhrRef.current = xhr;\n\n const result = await new Promise<{ success: UploadedAsset[]; errors: Array<{ file: { filename: string }; error: string }> }>((resolve, reject) => {\n xhr.upload.addEventListener('progress', (e) => {\n if (e.lengthComputable) {\n const percent = e.loaded / e.total;\n // Estimate which file we're on based on progress\n const fileIndex = Math.min(\n Math.floor(percent * files.length),\n files.length - 1,\n );\n setProgress({\n current: fileIndex + 1,\n total: files.length,\n fileName: files[fileIndex]?.name ?? '',\n percent,\n });\n }\n });\n\n xhr.addEventListener('load', () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n try {\n const data = JSON.parse(xhr.responseText);\n const assets: UploadedAsset[] = (data.success ?? []).map((a: Record<string, unknown>) => ({\n id: a.id as string,\n title: (a.title ?? a.file_name) as string,\n fileName: a.file_name as string,\n fileSize: a.file_size as number,\n mediaType: a.media_type as string,\n }));\n resolve({ success: assets, errors: data.errors ?? [] });\n } catch {\n reject(new Error('Failed to parse upload response'));\n }\n } else if (xhr.status === 401 || xhr.status === 403) {\n reject(new Error('Authentication failed. Check your API key or token.'));\n } else {\n reject(new Error(`Upload failed with status ${xhr.status}`));\n }\n });\n\n xhr.addEventListener('error', () => reject(new Error('Network error during upload')));\n xhr.addEventListener('abort', () => reject(new Error('Upload was cancelled')));\n\n xhr.open('POST', uploadUrl);\n for (const [key, value] of Object.entries(headers)) {\n xhr.setRequestHeader(key, value);\n }\n xhr.withCredentials = !currentToken && !apiKey;\n xhr.send(formData);\n });\n\n if (result.errors.length > 0) {\n const errMsg = result.errors.map((e) => `${e.file.filename}: ${e.error}`).join('; ');\n if (result.success.length === 0) {\n setError(errMsg);\n throw new Error(errMsg);\n }\n // Partial success — set error but still return successful uploads\n setError(errMsg);\n }\n\n return result.success;\n } catch (err) {\n const msg = err instanceof Error ? err.message : 'Upload failed';\n setError(msg);\n throw err;\n } finally {\n xhrRef.current = null;\n setIsUploading(false);\n setProgress(null);\n }\n },\n [backendUrl, apiKey],\n );\n\n return { upload, isUploading, progress, error, clearError };\n}\n"],"names":["_a"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react$1 = require("react");
4
+ const react = require("@assistant-ui/react");
5
+ function useSendMessage() {
6
+ const aui = react.useAui();
7
+ return react$1.useCallback(
8
+ async (text, options) => {
9
+ if (!text.trim()) return;
10
+ const currentText = aui.composer.getState().text;
11
+ const shouldReplace = (options == null ? void 0 : options.replace) ?? true;
12
+ aui.composer.setText(
13
+ shouldReplace || !currentText ? text : `${currentText}
14
+ ${text}`
15
+ );
16
+ await aui.composer.send({ steer: false });
17
+ },
18
+ [aui]
19
+ );
20
+ }
21
+ exports.useSendMessage = useSendMessage;
22
+ //# sourceMappingURL=useSendMessage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendMessage.cjs","sources":["../../src/composer/useSendMessage.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useAui } from '@assistant-ui/react';\n\nexport interface SendMessageOptions {\n /**\n * Replace the current composer text before sending.\n * Defaults to `true`.\n */\n replace?: boolean;\n}\n\n/**\n * Hook to programmatically send a user message from anywhere inside AthenaProvider.\n *\n * This is intended for custom workflow buttons, sidebar shortcuts, or other UI\n * that lives outside the AthenaChat thread tree. Unlike `aui.thread().append()`,\n * this uses the provider-scoped composer runtime and does not depend on\n * ThreadPrimitive context.\n *\n * Usage:\n * const sendMessage = useSendMessage();\n * await sendMessage(\"Run the quarterly workflow\");\n * await sendMessage(\"Add this follow-up\", { replace: false });\n */\nexport function useSendMessage() {\n const aui = useAui();\n\n return useCallback(\n async (text: string, options?: SendMessageOptions) => {\n if (!text.trim()) return;\n\n const currentText = aui.composer.getState().text;\n const shouldReplace = options?.replace ?? true;\n\n aui.composer.setText(\n shouldReplace || !currentText ? text : `${currentText}\\n${text}`,\n );\n\n await aui.composer.send({ steer: false });\n },\n [aui],\n );\n}\n"],"names":["useAui","useCallback"],"mappings":";;;;AAwBO,SAAS,iBAAiB;AAC/B,QAAM,MAAMA,MAAAA,OAAA;AAEZ,SAAOC,QAAAA;AAAAA,IACL,OAAO,MAAc,YAAiC;AACpD,UAAI,CAAC,KAAK,OAAQ;AAElB,YAAM,cAAc,IAAI,SAAS,SAAA,EAAW;AAC5C,YAAM,iBAAgB,mCAAS,YAAW;AAE1C,UAAI,SAAS;AAAA,QACX,iBAAiB,CAAC,cAAc,OAAO,GAAG,WAAW;AAAA,EAAK,IAAI;AAAA,MAAA;AAGhE,YAAM,IAAI,SAAS,KAAK,EAAE,OAAO,OAAO;AAAA,IAC1C;AAAA,IACA,CAAC,GAAG;AAAA,EAAA;AAER;;"}
@@ -0,0 +1,22 @@
1
+ import { useCallback } from "react";
2
+ import { useAui } from "@assistant-ui/react";
3
+ function useSendMessage() {
4
+ const aui = useAui();
5
+ return useCallback(
6
+ async (text, options) => {
7
+ if (!text.trim()) return;
8
+ const currentText = aui.composer.getState().text;
9
+ const shouldReplace = (options == null ? void 0 : options.replace) ?? true;
10
+ aui.composer.setText(
11
+ shouldReplace || !currentText ? text : `${currentText}
12
+ ${text}`
13
+ );
14
+ await aui.composer.send({ steer: false });
15
+ },
16
+ [aui]
17
+ );
18
+ }
19
+ export {
20
+ useSendMessage
21
+ };
22
+ //# sourceMappingURL=useSendMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendMessage.js","sources":["../../src/composer/useSendMessage.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useAui } from '@assistant-ui/react';\n\nexport interface SendMessageOptions {\n /**\n * Replace the current composer text before sending.\n * Defaults to `true`.\n */\n replace?: boolean;\n}\n\n/**\n * Hook to programmatically send a user message from anywhere inside AthenaProvider.\n *\n * This is intended for custom workflow buttons, sidebar shortcuts, or other UI\n * that lives outside the AthenaChat thread tree. Unlike `aui.thread().append()`,\n * this uses the provider-scoped composer runtime and does not depend on\n * ThreadPrimitive context.\n *\n * Usage:\n * const sendMessage = useSendMessage();\n * await sendMessage(\"Run the quarterly workflow\");\n * await sendMessage(\"Add this follow-up\", { replace: false });\n */\nexport function useSendMessage() {\n const aui = useAui();\n\n return useCallback(\n async (text: string, options?: SendMessageOptions) => {\n if (!text.trim()) return;\n\n const currentText = aui.composer.getState().text;\n const shouldReplace = options?.replace ?? true;\n\n aui.composer.setText(\n shouldReplace || !currentText ? text : `${currentText}\\n${text}`,\n );\n\n await aui.composer.send({ steer: false });\n },\n [aui],\n );\n}\n"],"names":[],"mappings":";;AAwBO,SAAS,iBAAiB;AAC/B,QAAM,MAAM,OAAA;AAEZ,SAAO;AAAA,IACL,OAAO,MAAc,YAAiC;AACpD,UAAI,CAAC,KAAK,OAAQ;AAElB,YAAM,cAAc,IAAI,SAAS,SAAA,EAAW;AAC5C,YAAM,iBAAgB,mCAAS,YAAW;AAE1C,UAAI,SAAS;AAAA,QACX,iBAAiB,CAAC,cAAc,OAAO,GAAG,WAAW;AAAA,EAAK,IAAI;AAAA,MAAA;AAGhE,YAAM,IAAI,SAAS,KAAK,EAAE,OAAO,OAAO;AAAA,IAC1C;AAAA,IACA,CAAC,GAAG;AAAA,EAAA;AAER;"}
@@ -0,0 +1,329 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
+ const PostHogProvider = require("../provider/PostHogProvider.cjs");
7
+ const wrapPosthogClient = require("../lib/posthog/wrap-posthog-client.cjs");
8
+ const version = require("../version.cjs");
9
+ const errors = require("./errors.cjs");
10
+ const ATHENA_DIAGNOSTIC_LEVELS = ["debug", "info", "warn", "error"];
11
+ const LEVEL_RANK = {
12
+ debug: 0,
13
+ info: 1,
14
+ warn: 2,
15
+ error: 3
16
+ };
17
+ const DEFAULT_CONFIG = {
18
+ console: false,
19
+ posthog: false,
20
+ bufferSize: 300
21
+ };
22
+ const CONSOLE_PREFIX = "[AthenaSDK]";
23
+ const LOCAL_STORAGE_DEBUG_KEY = "athena:debug";
24
+ const GLOBAL_KEY = "__ATHENA_SDK__";
25
+ const REDACT_KEYS = /token|secret|api[-_]?key|authorization|cookie|password/i;
26
+ function redact(data) {
27
+ if (!data) return void 0;
28
+ const out = {};
29
+ for (const [key, value] of Object.entries(data)) {
30
+ if (REDACT_KEYS.test(key)) {
31
+ out[key] = typeof value === "string" && value.length > 0 ? `<redacted:${value.length}>` : "<redacted>";
32
+ } else {
33
+ out[key] = value;
34
+ }
35
+ }
36
+ return out;
37
+ }
38
+ function nowMs() {
39
+ return typeof performance !== "undefined" && typeof performance.now === "function" ? performance.now() : Date.now();
40
+ }
41
+ function readLocalDebugLevel() {
42
+ try {
43
+ if (typeof localStorage === "undefined") return null;
44
+ const raw = localStorage.getItem(LOCAL_STORAGE_DEBUG_KEY);
45
+ if (!raw) return null;
46
+ if (ATHENA_DIAGNOSTIC_LEVELS.includes(raw)) {
47
+ return raw;
48
+ }
49
+ return raw === "1" || raw === "true" ? "debug" : null;
50
+ } catch {
51
+ return null;
52
+ }
53
+ }
54
+ class AthenaDiagnosticsBus {
55
+ constructor() {
56
+ __publicField(this, "config", { ...DEFAULT_CONFIG });
57
+ __publicField(this, "events", []);
58
+ __publicField(this, "listeners", /* @__PURE__ */ new Set());
59
+ __publicField(this, "snapshotListeners", /* @__PURE__ */ new Set());
60
+ __publicField(this, "seq", 0);
61
+ __publicField(this, "gauges", {});
62
+ __publicField(this, "timings", {});
63
+ __publicField(this, "spans", /* @__PURE__ */ new Map());
64
+ __publicField(this, "cachedSnapshot", null);
65
+ }
66
+ configure(partial) {
67
+ this.config = { ...this.config, ...partial };
68
+ if (this.events.length > this.config.bufferSize) {
69
+ this.events = this.events.slice(-this.config.bufferSize);
70
+ }
71
+ this.invalidate();
72
+ }
73
+ getConfig() {
74
+ return this.config;
75
+ }
76
+ /** Effective console level: the configured one, or `localStorage['athena:debug']`. */
77
+ consoleLevel() {
78
+ if (this.config.console !== false) return this.config.console;
79
+ return readLocalDebugLevel() ?? false;
80
+ }
81
+ emit(name, options = {}) {
82
+ const level = options.level ?? (options.error !== void 0 ? "error" : "info");
83
+ const error = options.error === void 0 ? void 0 : errors.toAthenaSdkError(options.error, {
84
+ code: "unknown",
85
+ message: `Unexpected error during ${name}`
86
+ });
87
+ const event = {
88
+ seq: ++this.seq,
89
+ t: Math.round(nowMs() * 10) / 10,
90
+ at: (/* @__PURE__ */ new Date()).toISOString(),
91
+ name,
92
+ level,
93
+ ...options.durationMs !== void 0 && { durationMs: Math.round(options.durationMs) },
94
+ ...options.data && { data: redact(options.data) },
95
+ ...error && { error }
96
+ };
97
+ this.events.push(event);
98
+ if (this.events.length > this.config.bufferSize) {
99
+ this.events.splice(0, this.events.length - this.config.bufferSize);
100
+ }
101
+ if (event.durationMs !== void 0) {
102
+ this.timings[name] = event.durationMs;
103
+ }
104
+ this.invalidate();
105
+ this.echoToConsole(event);
106
+ this.forwardToPostHog(event);
107
+ for (const listener of this.listeners) {
108
+ try {
109
+ listener(event);
110
+ } catch (listenerError) {
111
+ console.error(`${CONSOLE_PREFIX} diagnostics listener threw`, listenerError);
112
+ }
113
+ }
114
+ if (this.config.onEvent) {
115
+ try {
116
+ this.config.onEvent(event);
117
+ } catch (callbackError) {
118
+ console.error(`${CONSOLE_PREFIX} onDiagnostic callback threw`, callbackError);
119
+ }
120
+ }
121
+ if (error && this.config.onError) {
122
+ try {
123
+ this.config.onError(error, event);
124
+ } catch (callbackError) {
125
+ console.error(`${CONSOLE_PREFIX} onError callback threw`, callbackError);
126
+ }
127
+ }
128
+ for (const notify of this.snapshotListeners) notify();
129
+ return event;
130
+ }
131
+ /** Record an error-level event. Returns the normalized `AthenaSdkError`. */
132
+ error(name, error, fallback, data) {
133
+ const normalized = errors.toAthenaSdkError(error, fallback);
134
+ this.emit(name, { level: "error", error: normalized, data });
135
+ return normalized;
136
+ }
137
+ /**
138
+ * Start a named span. Returns a function that ends it and emits `doneName`
139
+ * with `durationMs` (or `errorName` when passed an error). Also records a
140
+ * `performance.measure` so the span shows in the browser's Performance panel.
141
+ */
142
+ span(spanName, startName, data) {
143
+ const startedAt = nowMs();
144
+ this.spans.set(spanName, startedAt);
145
+ this.mark(`${spanName}:start`);
146
+ this.emit(startName, { level: "debug", data });
147
+ return (doneName, doneOptions = {}) => {
148
+ const durationMs = nowMs() - startedAt;
149
+ this.spans.delete(spanName);
150
+ this.mark(`${spanName}:end`);
151
+ this.measure(spanName);
152
+ this.emit(doneName, {
153
+ level: doneOptions.error !== void 0 ? "error" : "info",
154
+ durationMs,
155
+ data: doneOptions.data,
156
+ error: doneOptions.error
157
+ });
158
+ return durationMs;
159
+ };
160
+ }
161
+ /** Set a gauge (latest-value metric): connection status, transport, auth mode. */
162
+ gauge(name, value) {
163
+ if (this.gauges[name] === value) return;
164
+ this.gauges[name] = value;
165
+ this.invalidate();
166
+ for (const notify of this.snapshotListeners) notify();
167
+ }
168
+ subscribe(listener) {
169
+ this.listeners.add(listener);
170
+ return () => {
171
+ this.listeners.delete(listener);
172
+ };
173
+ }
174
+ /**
175
+ * Additive consumer registration: every registered consumer receives every
176
+ * event (and every error), unlike the single `onEvent`/`onError` config
177
+ * slots which are last-writer-wins. `AthenaProvider` registers through this
178
+ * so two mounted providers never clobber each other's callbacks.
179
+ */
180
+ addConsumer(consumer) {
181
+ return this.subscribe((event) => {
182
+ var _a, _b;
183
+ try {
184
+ (_a = consumer.onEvent) == null ? void 0 : _a.call(consumer, event);
185
+ } catch (callbackError) {
186
+ console.error(`${CONSOLE_PREFIX} onDiagnostic consumer threw`, callbackError);
187
+ }
188
+ if (event.error) {
189
+ try {
190
+ (_b = consumer.onError) == null ? void 0 : _b.call(consumer, event.error, event);
191
+ } catch (callbackError) {
192
+ console.error(`${CONSOLE_PREFIX} onError consumer threw`, callbackError);
193
+ }
194
+ }
195
+ });
196
+ }
197
+ /** Subscribe to snapshot changes (for `useSyncExternalStore`). */
198
+ subscribeSnapshot(listener) {
199
+ this.snapshotListeners.add(listener);
200
+ return () => {
201
+ this.snapshotListeners.delete(listener);
202
+ };
203
+ }
204
+ snapshot() {
205
+ if (!this.cachedSnapshot) {
206
+ const { onEvent: _onEvent, onError: _onError, ...config } = this.config;
207
+ this.cachedSnapshot = {
208
+ sdkVersion: version.ATHENA_REACT_SDK_VERSION,
209
+ config,
210
+ events: [...this.events],
211
+ gauges: { ...this.gauges },
212
+ timings: { ...this.timings }
213
+ };
214
+ }
215
+ return this.cachedSnapshot;
216
+ }
217
+ /** Copy-paste-able JSON of the current snapshot (errors serialized). */
218
+ export() {
219
+ return JSON.stringify(
220
+ this.snapshot(),
221
+ (_key, value) => errors.isAthenaSdkError(value) ? value.toJSON() : value,
222
+ 2
223
+ );
224
+ }
225
+ clear() {
226
+ this.events = [];
227
+ this.timings = {};
228
+ this.invalidate();
229
+ for (const notify of this.snapshotListeners) notify();
230
+ }
231
+ invalidate() {
232
+ this.cachedSnapshot = null;
233
+ }
234
+ mark(name) {
235
+ try {
236
+ if (typeof performance !== "undefined" && typeof performance.mark === "function") {
237
+ performance.mark(`athena-sdk:${name}`);
238
+ }
239
+ } catch {
240
+ }
241
+ }
242
+ measure(spanName) {
243
+ try {
244
+ if (typeof performance !== "undefined" && typeof performance.measure === "function") {
245
+ performance.measure(
246
+ `athena-sdk:${spanName}`,
247
+ `athena-sdk:${spanName}:start`,
248
+ `athena-sdk:${spanName}:end`
249
+ );
250
+ }
251
+ } catch {
252
+ }
253
+ }
254
+ echoToConsole(event) {
255
+ const level = this.consoleLevel();
256
+ if (level === false) {
257
+ if (event.level === "error" && event.error) {
258
+ console.error(`${CONSOLE_PREFIX} ${event.name}: ${event.error.describe()}`, event.data ?? "");
259
+ }
260
+ return;
261
+ }
262
+ if (LEVEL_RANK[event.level] < LEVEL_RANK[level]) return;
263
+ const suffix = event.durationMs !== void 0 ? ` (${event.durationMs}ms)` : "";
264
+ const line = `${CONSOLE_PREFIX} ${event.name}${suffix}`;
265
+ const payload = event.error ? { ...event.data, error: event.error.describe() } : event.data;
266
+ const method = event.level === "error" ? console.error : event.level === "warn" ? console.warn : event.level === "debug" ? console.debug : console.info;
267
+ method(line, payload ?? "");
268
+ }
269
+ forwardToPostHog(event) {
270
+ if (!this.config.posthog) return;
271
+ if (event.durationMs === void 0 && event.level !== "error") return;
272
+ try {
273
+ const client = PostHogProvider.getPostHogInstance();
274
+ wrapPosthogClient.capturePosthogEvent(client, `athena_sdk_${event.name.replace(/\./g, "_")}`, {
275
+ sdk_version: version.ATHENA_REACT_SDK_VERSION,
276
+ level: event.level,
277
+ ...event.durationMs !== void 0 && { duration_ms: event.durationMs },
278
+ ...event.error && {
279
+ error_code: event.error.code,
280
+ error_message: event.error.message,
281
+ error_status: event.error.status
282
+ },
283
+ ...event.data
284
+ });
285
+ } catch {
286
+ }
287
+ }
288
+ }
289
+ const athenaDiagnostics = new AthenaDiagnosticsBus();
290
+ function installAthenaDiagnosticsGlobal() {
291
+ if (typeof window === "undefined") return;
292
+ const globalWindow = window;
293
+ const existing = globalWindow[GLOBAL_KEY] ?? {};
294
+ globalWindow[GLOBAL_KEY] = {
295
+ ...existing,
296
+ version: version.ATHENA_REACT_SDK_VERSION,
297
+ diagnostics: {
298
+ snapshot: () => athenaDiagnostics.snapshot(),
299
+ export: () => athenaDiagnostics.export(),
300
+ clear: () => athenaDiagnostics.clear(),
301
+ enableConsole: (level = "debug") => {
302
+ try {
303
+ localStorage.setItem(LOCAL_STORAGE_DEBUG_KEY, level);
304
+ } catch {
305
+ }
306
+ athenaDiagnostics.configure({ console: level });
307
+ },
308
+ disableConsole: () => {
309
+ try {
310
+ localStorage.removeItem(LOCAL_STORAGE_DEBUG_KEY);
311
+ } catch {
312
+ }
313
+ athenaDiagnostics.configure({ console: false });
314
+ }
315
+ }
316
+ };
317
+ }
318
+ function debugPropToDiagnosticsConfig(debug) {
319
+ if (debug === void 0) return {};
320
+ if (debug === true) return { console: "debug" };
321
+ if (debug === false) return { console: false };
322
+ if (typeof debug === "string") return { console: debug };
323
+ return debug;
324
+ }
325
+ exports.ATHENA_DIAGNOSTIC_LEVELS = ATHENA_DIAGNOSTIC_LEVELS;
326
+ exports.athenaDiagnostics = athenaDiagnostics;
327
+ exports.debugPropToDiagnosticsConfig = debugPropToDiagnosticsConfig;
328
+ exports.installAthenaDiagnosticsGlobal = installAthenaDiagnosticsGlobal;
329
+ //# sourceMappingURL=athena-diagnostics.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"athena-diagnostics.cjs","sources":["../../src/diagnostics/athena-diagnostics.ts"],"sourcesContent":["/**\n * SDK diagnostics: one structured event bus for everything the SDK does that\n * can be slow or can fail — auth acquisition, thread-list fetches, statewire\n * attach/snapshot/connection changes, sends, first tokens, and every error.\n *\n * Design:\n * - Module-level singleton (one SDK, one bus), configured by `AthenaProvider`\n * from its `debug` / `onDiagnostic` / `onError` props. Nothing here runs\n * until something calls `emit`, and with defaults it costs a ring-buffer push.\n * - Every event carries `t` (ms since page navigation start via\n * `performance.now()`) so the buffer reads as a waterfall. Timed spans use\n * `performance.mark` / `performance.measure` too, so the browser Performance\n * panel shows them as user timings without any extra tooling.\n * - Console output is opt-in (`debug` prop or `localStorage['athena:debug']`),\n * prefixed `[AthenaSDK]`, and level-gated. Errors always reach `onError`.\n * - PostHog forwarding (opt-in) sends the timing events as\n * `athena_sdk_<name>` with `duration_ms`, through the SDK's capture gate.\n *\n * Consumers read the buffer with `useAthenaDiagnostics()` or, in the browser\n * console, `window.__ATHENA_SDK__.diagnostics.snapshot()`.\n */\n\nimport { getPostHogInstance } from '../provider/PostHogProvider';\nimport { capturePosthogEvent, type PosthogCaptureClient } from '../lib/posthog/wrap-posthog-client';\nimport { ATHENA_REACT_SDK_VERSION } from '../version';\nimport { AthenaSdkError, isAthenaSdkError, toAthenaSdkError } from './errors';\n\nexport const ATHENA_DIAGNOSTIC_LEVELS = ['debug', 'info', 'warn', 'error'] as const;\nexport type AthenaDiagnosticLevel = (typeof ATHENA_DIAGNOSTIC_LEVELS)[number];\n\nconst LEVEL_RANK: Record<AthenaDiagnosticLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3,\n};\n\n/**\n * Event names. Dotted `area.event` so a consumer can filter by prefix. Names\n * are part of the public contract: renaming one is a breaking change for\n * dashboards, so add new ones instead of repurposing.\n */\nexport type AthenaDiagnosticEventName =\n // Provider / configuration\n | 'sdk.init'\n | 'sdk.transport'\n | 'sdk.config.warning'\n // Auth acquisition + lifecycle\n | 'auth.bridge.start'\n | 'auth.bridge.ready'\n | 'auth.bridge.timeout'\n | 'auth.bridge.absent'\n | 'auth.bridge.error'\n | 'auth.token.acquired'\n | 'auth.token.refreshed'\n | 'auth.token.refresh_failed'\n | 'auth.token.stale'\n | 'auth.sso.userinfo.start'\n | 'auth.sso.userinfo.done'\n | 'auth.sso.userinfo.error'\n // Thread list + history\n | 'threads.list.start'\n | 'threads.list.done'\n | 'threads.list.error'\n | 'threads.list.aborted'\n | 'threads.history.start'\n | 'threads.history.done'\n | 'threads.history.error'\n | 'threads.history.aborted'\n // Statewire transport\n | 'statewire.attach.start'\n | 'statewire.snapshot'\n | 'statewire.connection'\n | 'statewire.parked'\n | 'statewire.error'\n | 'statewire.read_only'\n // Runs\n | 'run.send'\n | 'run.first_token'\n | 'run.done'\n | 'run.error'\n // Composer\n | 'composer.attachment.error'\n | 'composer.cancel.error'\n // Tool UIs + frontend tools\n | 'tools.schema.warning'\n | 'tools.debug'\n // Mention suggestions\n | 'mentions.fetch.error'\n // Catch-all\n | 'sdk.error';\n\nexport interface AthenaDiagnosticEvent {\n /** Monotonic sequence number within this page. */\n seq: number;\n /** `performance.now()` at emit time (ms since navigation start). */\n t: number;\n /** Wall-clock ISO timestamp, for exports. */\n at: string;\n name: AthenaDiagnosticEventName;\n level: AthenaDiagnosticLevel;\n /** Milliseconds for a completed span (set on `*.done` / `*.ready` / `run.first_token`). */\n durationMs?: number;\n /** Structured context. Never contains credentials — see `redact`. */\n data?: Record<string, unknown>;\n /** Present on error-level events. */\n error?: AthenaSdkError;\n}\n\nexport interface AthenaDiagnosticsConfig {\n /** Minimum level echoed to the console. `false` disables console output. */\n console: AthenaDiagnosticLevel | false;\n /** Forward timing + error events to PostHog as `athena_sdk_*` events. */\n posthog: boolean;\n /** Receives every event (already redacted). */\n onEvent?: (event: AthenaDiagnosticEvent) => void;\n /** Receives every error-level event's `AthenaSdkError`. */\n onError?: (error: AthenaSdkError, event: AthenaDiagnosticEvent) => void;\n /** Ring-buffer capacity. */\n bufferSize: number;\n}\n\nexport interface AthenaDiagnosticsSnapshot {\n sdkVersion: string;\n config: Omit<AthenaDiagnosticsConfig, 'onEvent' | 'onError'>;\n events: AthenaDiagnosticEvent[];\n /** Latest value per gauge (connection status, transport, auth mode, …). */\n gauges: Record<string, unknown>;\n /** Named span durations, most recent per name (`auth.bridge`, `threads.list`, …). */\n timings: Record<string, number>;\n}\n\nconst DEFAULT_CONFIG: AthenaDiagnosticsConfig = {\n console: false,\n posthog: false,\n bufferSize: 300,\n};\n\nconst CONSOLE_PREFIX = '[AthenaSDK]';\nconst LOCAL_STORAGE_DEBUG_KEY = 'athena:debug';\nconst GLOBAL_KEY = '__ATHENA_SDK__';\n\n// Keys whose values must never enter the buffer, the console, or PostHog.\nconst REDACT_KEYS = /token|secret|api[-_]?key|authorization|cookie|password/i;\n\nfunction redact(data: Record<string, unknown> | undefined): Record<string, unknown> | undefined {\n if (!data) return undefined;\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (REDACT_KEYS.test(key)) {\n out[key] = typeof value === 'string' && value.length > 0 ? `<redacted:${value.length}>` : '<redacted>';\n } else {\n out[key] = value;\n }\n }\n return out;\n}\n\nfunction nowMs(): number {\n return typeof performance !== 'undefined' && typeof performance.now === 'function'\n ? performance.now()\n : Date.now();\n}\n\nfunction readLocalDebugLevel(): AthenaDiagnosticLevel | null {\n try {\n if (typeof localStorage === 'undefined') return null;\n const raw = localStorage.getItem(LOCAL_STORAGE_DEBUG_KEY);\n if (!raw) return null;\n if ((ATHENA_DIAGNOSTIC_LEVELS as readonly string[]).includes(raw)) {\n return raw as AthenaDiagnosticLevel;\n }\n return raw === '1' || raw === 'true' ? 'debug' : null;\n } catch {\n return null;\n }\n}\n\ntype Listener = (event: AthenaDiagnosticEvent) => void;\n\nclass AthenaDiagnosticsBus {\n private config: AthenaDiagnosticsConfig = { ...DEFAULT_CONFIG };\n private events: AthenaDiagnosticEvent[] = [];\n private listeners = new Set<Listener>();\n private snapshotListeners = new Set<() => void>();\n private seq = 0;\n private gauges: Record<string, unknown> = {};\n private timings: Record<string, number> = {};\n private spans = new Map<string, number>();\n private cachedSnapshot: AthenaDiagnosticsSnapshot | null = null;\n\n configure(partial: Partial<AthenaDiagnosticsConfig>): void {\n this.config = { ...this.config, ...partial };\n if (this.events.length > this.config.bufferSize) {\n this.events = this.events.slice(-this.config.bufferSize);\n }\n this.invalidate();\n }\n\n getConfig(): AthenaDiagnosticsConfig {\n return this.config;\n }\n\n /** Effective console level: the configured one, or `localStorage['athena:debug']`. */\n private consoleLevel(): AthenaDiagnosticLevel | false {\n if (this.config.console !== false) return this.config.console;\n return readLocalDebugLevel() ?? false;\n }\n\n emit(\n name: AthenaDiagnosticEventName,\n options: {\n level?: AthenaDiagnosticLevel;\n data?: Record<string, unknown>;\n durationMs?: number;\n error?: unknown;\n } = {},\n ): AthenaDiagnosticEvent {\n const level = options.level ?? (options.error !== undefined ? 'error' : 'info');\n const error =\n options.error === undefined\n ? undefined\n : toAthenaSdkError(options.error, {\n code: 'unknown',\n message: `Unexpected error during ${name}`,\n });\n const event: AthenaDiagnosticEvent = {\n seq: ++this.seq,\n t: Math.round(nowMs() * 10) / 10,\n at: new Date().toISOString(),\n name,\n level,\n ...(options.durationMs !== undefined && { durationMs: Math.round(options.durationMs) }),\n ...(options.data && { data: redact(options.data) }),\n ...(error && { error }),\n };\n\n this.events.push(event);\n if (this.events.length > this.config.bufferSize) {\n this.events.splice(0, this.events.length - this.config.bufferSize);\n }\n if (event.durationMs !== undefined) {\n this.timings[name] = event.durationMs;\n }\n this.invalidate();\n\n this.echoToConsole(event);\n this.forwardToPostHog(event);\n for (const listener of this.listeners) {\n try {\n listener(event);\n } catch (listenerError) {\n console.error(`${CONSOLE_PREFIX} diagnostics listener threw`, listenerError);\n }\n }\n if (this.config.onEvent) {\n try {\n this.config.onEvent(event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onDiagnostic callback threw`, callbackError);\n }\n }\n if (error && this.config.onError) {\n try {\n this.config.onError(error, event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onError callback threw`, callbackError);\n }\n }\n for (const notify of this.snapshotListeners) notify();\n return event;\n }\n\n /** Record an error-level event. Returns the normalized `AthenaSdkError`. */\n error(\n name: AthenaDiagnosticEventName,\n error: unknown,\n fallback: { code: AthenaSdkError['code']; message: string; hint?: string },\n data?: Record<string, unknown>,\n ): AthenaSdkError {\n const normalized = toAthenaSdkError(error, fallback);\n this.emit(name, { level: 'error', error: normalized, data });\n return normalized;\n }\n\n /**\n * Start a named span. Returns a function that ends it and emits `doneName`\n * with `durationMs` (or `errorName` when passed an error). Also records a\n * `performance.measure` so the span shows in the browser's Performance panel.\n */\n span(\n spanName: string,\n startName: AthenaDiagnosticEventName,\n data?: Record<string, unknown>,\n ): (\n doneName: AthenaDiagnosticEventName,\n doneOptions?: { data?: Record<string, unknown>; error?: unknown },\n ) => number {\n const startedAt = nowMs();\n this.spans.set(spanName, startedAt);\n this.mark(`${spanName}:start`);\n this.emit(startName, { level: 'debug', data });\n return (doneName, doneOptions = {}) => {\n const durationMs = nowMs() - startedAt;\n this.spans.delete(spanName);\n this.mark(`${spanName}:end`);\n this.measure(spanName);\n this.emit(doneName, {\n level: doneOptions.error !== undefined ? 'error' : 'info',\n durationMs,\n data: doneOptions.data,\n error: doneOptions.error,\n });\n return durationMs;\n };\n }\n\n /** Set a gauge (latest-value metric): connection status, transport, auth mode. */\n gauge(name: string, value: unknown): void {\n if (this.gauges[name] === value) return;\n this.gauges[name] = value;\n this.invalidate();\n for (const notify of this.snapshotListeners) notify();\n }\n\n subscribe(listener: Listener): () => void {\n this.listeners.add(listener);\n return () => {\n this.listeners.delete(listener);\n };\n }\n\n /**\n * Additive consumer registration: every registered consumer receives every\n * event (and every error), unlike the single `onEvent`/`onError` config\n * slots which are last-writer-wins. `AthenaProvider` registers through this\n * so two mounted providers never clobber each other's callbacks.\n */\n addConsumer(consumer: {\n onEvent?: (event: AthenaDiagnosticEvent) => void;\n onError?: (error: AthenaSdkError, event: AthenaDiagnosticEvent) => void;\n }): () => void {\n return this.subscribe((event) => {\n try {\n consumer.onEvent?.(event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onDiagnostic consumer threw`, callbackError);\n }\n if (event.error) {\n try {\n consumer.onError?.(event.error, event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onError consumer threw`, callbackError);\n }\n }\n });\n }\n\n /** Subscribe to snapshot changes (for `useSyncExternalStore`). */\n subscribeSnapshot(listener: () => void): () => void {\n this.snapshotListeners.add(listener);\n return () => {\n this.snapshotListeners.delete(listener);\n };\n }\n\n snapshot(): AthenaDiagnosticsSnapshot {\n if (!this.cachedSnapshot) {\n const { onEvent: _onEvent, onError: _onError, ...config } = this.config;\n this.cachedSnapshot = {\n sdkVersion: ATHENA_REACT_SDK_VERSION,\n config,\n events: [...this.events],\n gauges: { ...this.gauges },\n timings: { ...this.timings },\n };\n }\n return this.cachedSnapshot;\n }\n\n /** Copy-paste-able JSON of the current snapshot (errors serialized). */\n export(): string {\n return JSON.stringify(\n this.snapshot(),\n (_key, value) => (isAthenaSdkError(value) ? value.toJSON() : value),\n 2,\n );\n }\n\n clear(): void {\n this.events = [];\n this.timings = {};\n this.invalidate();\n for (const notify of this.snapshotListeners) notify();\n }\n\n private invalidate(): void {\n this.cachedSnapshot = null;\n }\n\n private mark(name: string): void {\n try {\n if (typeof performance !== 'undefined' && typeof performance.mark === 'function') {\n performance.mark(`athena-sdk:${name}`);\n }\n } catch {\n // User Timing is best-effort.\n }\n }\n\n private measure(spanName: string): void {\n try {\n if (typeof performance !== 'undefined' && typeof performance.measure === 'function') {\n performance.measure(\n `athena-sdk:${spanName}`,\n `athena-sdk:${spanName}:start`,\n `athena-sdk:${spanName}:end`,\n );\n }\n } catch {\n // A missing start mark (e.g. after `performance.clearMarks`) is not an error.\n }\n }\n\n private echoToConsole(event: AthenaDiagnosticEvent): void {\n const level = this.consoleLevel();\n if (level === false) {\n // Errors are never silent: with console output off they still log once,\n // compactly, so a broken integration is visible without enabling debug.\n if (event.level === 'error' && event.error) {\n console.error(`${CONSOLE_PREFIX} ${event.name}: ${event.error.describe()}`, event.data ?? '');\n }\n return;\n }\n if (LEVEL_RANK[event.level] < LEVEL_RANK[level]) return;\n const suffix = event.durationMs !== undefined ? ` (${event.durationMs}ms)` : '';\n const line = `${CONSOLE_PREFIX} ${event.name}${suffix}`;\n const payload = event.error ? { ...event.data, error: event.error.describe() } : event.data;\n const method =\n event.level === 'error'\n ? console.error\n : event.level === 'warn'\n ? console.warn\n : event.level === 'debug'\n ? console.debug\n : console.info;\n method(line, payload ?? '');\n }\n\n private forwardToPostHog(event: AthenaDiagnosticEvent): void {\n if (!this.config.posthog) return;\n if (event.durationMs === undefined && event.level !== 'error') return;\n try {\n const client = getPostHogInstance<PosthogCaptureClient>();\n capturePosthogEvent(client, `athena_sdk_${event.name.replace(/\\./g, '_')}`, {\n sdk_version: ATHENA_REACT_SDK_VERSION,\n level: event.level,\n ...(event.durationMs !== undefined && { duration_ms: event.durationMs }),\n ...(event.error && {\n error_code: event.error.code,\n error_message: event.error.message,\n error_status: event.error.status,\n }),\n ...event.data,\n });\n } catch {\n // Analytics must never break the chat.\n }\n }\n}\n\nexport const athenaDiagnostics = new AthenaDiagnosticsBus();\n\n/**\n * Expose the bus on `window.__ATHENA_SDK__` so an integrator can inspect the\n * waterfall from the console (`__ATHENA_SDK__.diagnostics.snapshot()`) or turn\n * console echo on without a rebuild (`localStorage.setItem('athena:debug','debug')`).\n */\nexport function installAthenaDiagnosticsGlobal(): void {\n if (typeof window === 'undefined') return;\n const globalWindow = window as unknown as Record<string, unknown>;\n const existing = (globalWindow[GLOBAL_KEY] ?? {}) as Record<string, unknown>;\n globalWindow[GLOBAL_KEY] = {\n ...existing,\n version: ATHENA_REACT_SDK_VERSION,\n diagnostics: {\n snapshot: () => athenaDiagnostics.snapshot(),\n export: () => athenaDiagnostics.export(),\n clear: () => athenaDiagnostics.clear(),\n enableConsole: (level: AthenaDiagnosticLevel = 'debug') => {\n try {\n localStorage.setItem(LOCAL_STORAGE_DEBUG_KEY, level);\n } catch {\n // localStorage may be unavailable.\n }\n athenaDiagnostics.configure({ console: level });\n },\n disableConsole: () => {\n try {\n localStorage.removeItem(LOCAL_STORAGE_DEBUG_KEY);\n } catch {\n // localStorage may be unavailable.\n }\n athenaDiagnostics.configure({ console: false });\n },\n },\n };\n}\n\n/** Normalize the provider's `debug` prop into a diagnostics config patch. */\nexport function debugPropToDiagnosticsConfig(\n debug: boolean | AthenaDiagnosticLevel | Partial<AthenaDiagnosticsConfig> | undefined,\n): Partial<AthenaDiagnosticsConfig> {\n if (debug === undefined) return {};\n if (debug === true) return { console: 'debug' };\n if (debug === false) return { console: false };\n if (typeof debug === 'string') return { console: debug };\n return debug;\n}\n"],"names":["toAthenaSdkError","ATHENA_REACT_SDK_VERSION","isAthenaSdkError","getPostHogInstance","capturePosthogEvent"],"mappings":";;;;;;;;;AA2BO,MAAM,2BAA2B,CAAC,SAAS,QAAQ,QAAQ,OAAO;AAGzE,MAAM,aAAoD;AAAA,EACxD,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AACT;AAiGA,MAAM,iBAA0C;AAAA,EAC9C,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AACd;AAEA,MAAM,iBAAiB;AACvB,MAAM,0BAA0B;AAChC,MAAM,aAAa;AAGnB,MAAM,cAAc;AAEpB,SAAS,OAAO,MAAgF;AAC9F,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,MAA+B,CAAA;AACrC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC/C,QAAI,YAAY,KAAK,GAAG,GAAG;AACzB,UAAI,GAAG,IAAI,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,aAAa,MAAM,MAAM,MAAM;AAAA,IAC5F,OAAO;AACL,UAAI,GAAG,IAAI;AAAA,IACb;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,QAAgB;AACvB,SAAO,OAAO,gBAAgB,eAAe,OAAO,YAAY,QAAQ,aACpE,YAAY,QACZ,KAAK,IAAA;AACX;AAEA,SAAS,sBAAoD;AAC3D,MAAI;AACF,QAAI,OAAO,iBAAiB,YAAa,QAAO;AAChD,UAAM,MAAM,aAAa,QAAQ,uBAAuB;AACxD,QAAI,CAAC,IAAK,QAAO;AACjB,QAAK,yBAA+C,SAAS,GAAG,GAAG;AACjE,aAAO;AAAA,IACT;AACA,WAAO,QAAQ,OAAO,QAAQ,SAAS,UAAU;AAAA,EACnD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAIA,MAAM,qBAAqB;AAAA,EAA3B;AACU,kCAAkC,EAAE,GAAG,eAAA;AACvC,kCAAkC,CAAA;AAClC,yDAAgB,IAAA;AAChB,iEAAwB,IAAA;AACxB,+BAAM;AACN,kCAAkC,CAAA;AAClC,mCAAkC,CAAA;AAClC,qDAAY,IAAA;AACZ,0CAAmD;AAAA;AAAA,EAE3D,UAAU,SAAiD;AACzD,SAAK,SAAS,EAAE,GAAG,KAAK,QAAQ,GAAG,QAAA;AACnC,QAAI,KAAK,OAAO,SAAS,KAAK,OAAO,YAAY;AAC/C,WAAK,SAAS,KAAK,OAAO,MAAM,CAAC,KAAK,OAAO,UAAU;AAAA,IACzD;AACA,SAAK,WAAA;AAAA,EACP;AAAA,EAEA,YAAqC;AACnC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGQ,eAA8C;AACpD,QAAI,KAAK,OAAO,YAAY,MAAO,QAAO,KAAK,OAAO;AACtD,WAAO,yBAAyB;AAAA,EAClC;AAAA,EAEA,KACE,MACA,UAKI,IACmB;AACvB,UAAM,QAAQ,QAAQ,UAAU,QAAQ,UAAU,SAAY,UAAU;AACxE,UAAM,QACJ,QAAQ,UAAU,SACd,SACAA,OAAAA,iBAAiB,QAAQ,OAAO;AAAA,MAC9B,MAAM;AAAA,MACN,SAAS,2BAA2B,IAAI;AAAA,IAAA,CACzC;AACP,UAAM,QAA+B;AAAA,MACnC,KAAK,EAAE,KAAK;AAAA,MACZ,GAAG,KAAK,MAAM,MAAA,IAAU,EAAE,IAAI;AAAA,MAC9B,KAAI,oBAAI,KAAA,GAAO,YAAA;AAAA,MACf;AAAA,MACA;AAAA,MACA,GAAI,QAAQ,eAAe,UAAa,EAAE,YAAY,KAAK,MAAM,QAAQ,UAAU,EAAA;AAAA,MACnF,GAAI,QAAQ,QAAQ,EAAE,MAAM,OAAO,QAAQ,IAAI,EAAA;AAAA,MAC/C,GAAI,SAAS,EAAE,MAAA;AAAA,IAAM;AAGvB,SAAK,OAAO,KAAK,KAAK;AACtB,QAAI,KAAK,OAAO,SAAS,KAAK,OAAO,YAAY;AAC/C,WAAK,OAAO,OAAO,GAAG,KAAK,OAAO,SAAS,KAAK,OAAO,UAAU;AAAA,IACnE;AACA,QAAI,MAAM,eAAe,QAAW;AAClC,WAAK,QAAQ,IAAI,IAAI,MAAM;AAAA,IAC7B;AACA,SAAK,WAAA;AAEL,SAAK,cAAc,KAAK;AACxB,SAAK,iBAAiB,KAAK;AAC3B,eAAW,YAAY,KAAK,WAAW;AACrC,UAAI;AACF,iBAAS,KAAK;AAAA,MAChB,SAAS,eAAe;AACtB,gBAAQ,MAAM,GAAG,cAAc,+BAA+B,aAAa;AAAA,MAC7E;AAAA,IACF;AACA,QAAI,KAAK,OAAO,SAAS;AACvB,UAAI;AACF,aAAK,OAAO,QAAQ,KAAK;AAAA,MAC3B,SAAS,eAAe;AACtB,gBAAQ,MAAM,GAAG,cAAc,gCAAgC,aAAa;AAAA,MAC9E;AAAA,IACF;AACA,QAAI,SAAS,KAAK,OAAO,SAAS;AAChC,UAAI;AACF,aAAK,OAAO,QAAQ,OAAO,KAAK;AAAA,MAClC,SAAS,eAAe;AACtB,gBAAQ,MAAM,GAAG,cAAc,2BAA2B,aAAa;AAAA,MACzE;AAAA,IACF;AACA,eAAW,UAAU,KAAK,kBAAmB,QAAA;AAC7C,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MACE,MACA,OACA,UACA,MACgB;AAChB,UAAM,aAAaA,OAAAA,iBAAiB,OAAO,QAAQ;AACnD,SAAK,KAAK,MAAM,EAAE,OAAO,SAAS,OAAO,YAAY,MAAM;AAC3D,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KACE,UACA,WACA,MAIU;AACV,UAAM,YAAY,MAAA;AAClB,SAAK,MAAM,IAAI,UAAU,SAAS;AAClC,SAAK,KAAK,GAAG,QAAQ,QAAQ;AAC7B,SAAK,KAAK,WAAW,EAAE,OAAO,SAAS,MAAM;AAC7C,WAAO,CAAC,UAAU,cAAc,OAAO;AACrC,YAAM,aAAa,UAAU;AAC7B,WAAK,MAAM,OAAO,QAAQ;AAC1B,WAAK,KAAK,GAAG,QAAQ,MAAM;AAC3B,WAAK,QAAQ,QAAQ;AACrB,WAAK,KAAK,UAAU;AAAA,QAClB,OAAO,YAAY,UAAU,SAAY,UAAU;AAAA,QACnD;AAAA,QACA,MAAM,YAAY;AAAA,QAClB,OAAO,YAAY;AAAA,MAAA,CACpB;AACD,aAAO;AAAA,IACT;AAAA,EACF;AAAA;AAAA,EAGA,MAAM,MAAc,OAAsB;AACxC,QAAI,KAAK,OAAO,IAAI,MAAM,MAAO;AACjC,SAAK,OAAO,IAAI,IAAI;AACpB,SAAK,WAAA;AACL,eAAW,UAAU,KAAK,kBAAmB,QAAA;AAAA,EAC/C;AAAA,EAEA,UAAU,UAAgC;AACxC,SAAK,UAAU,IAAI,QAAQ;AAC3B,WAAO,MAAM;AACX,WAAK,UAAU,OAAO,QAAQ;AAAA,IAChC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,UAGG;AACb,WAAO,KAAK,UAAU,CAAC,UAAU;;AAC/B,UAAI;AACF,uBAAS,YAAT,kCAAmB;AAAA,MACrB,SAAS,eAAe;AACtB,gBAAQ,MAAM,GAAG,cAAc,gCAAgC,aAAa;AAAA,MAC9E;AACA,UAAI,MAAM,OAAO;AACf,YAAI;AACF,yBAAS,YAAT,kCAAmB,MAAM,OAAO;AAAA,QAClC,SAAS,eAAe;AACtB,kBAAQ,MAAM,GAAG,cAAc,2BAA2B,aAAa;AAAA,QACzE;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAGA,kBAAkB,UAAkC;AAClD,SAAK,kBAAkB,IAAI,QAAQ;AACnC,WAAO,MAAM;AACX,WAAK,kBAAkB,OAAO,QAAQ;AAAA,IACxC;AAAA,EACF;AAAA,EAEA,WAAsC;AACpC,QAAI,CAAC,KAAK,gBAAgB;AACxB,YAAM,EAAE,SAAS,UAAU,SAAS,UAAU,GAAG,OAAA,IAAW,KAAK;AACjE,WAAK,iBAAiB;AAAA,QACpB,YAAYC,QAAAA;AAAAA,QACZ;AAAA,QACA,QAAQ,CAAC,GAAG,KAAK,MAAM;AAAA,QACvB,QAAQ,EAAE,GAAG,KAAK,OAAA;AAAA,QAClB,SAAS,EAAE,GAAG,KAAK,QAAA;AAAA,MAAQ;AAAA,IAE/B;AACA,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,SAAiB;AACf,WAAO,KAAK;AAAA,MACV,KAAK,SAAA;AAAA,MACL,CAAC,MAAM,UAAWC,OAAAA,iBAAiB,KAAK,IAAI,MAAM,WAAW;AAAA,MAC7D;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,QAAc;AACZ,SAAK,SAAS,CAAA;AACd,SAAK,UAAU,CAAA;AACf,SAAK,WAAA;AACL,eAAW,UAAU,KAAK,kBAAmB,QAAA;AAAA,EAC/C;AAAA,EAEQ,aAAmB;AACzB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEQ,KAAK,MAAoB;AAC/B,QAAI;AACF,UAAI,OAAO,gBAAgB,eAAe,OAAO,YAAY,SAAS,YAAY;AAChF,oBAAY,KAAK,cAAc,IAAI,EAAE;AAAA,MACvC;AAAA,IACF,QAAQ;AAAA,IAER;AAAA,EACF;AAAA,EAEQ,QAAQ,UAAwB;AACtC,QAAI;AACF,UAAI,OAAO,gBAAgB,eAAe,OAAO,YAAY,YAAY,YAAY;AACnF,oBAAY;AAAA,UACV,cAAc,QAAQ;AAAA,UACtB,cAAc,QAAQ;AAAA,UACtB,cAAc,QAAQ;AAAA,QAAA;AAAA,MAE1B;AAAA,IACF,QAAQ;AAAA,IAER;AAAA,EACF;AAAA,EAEQ,cAAc,OAAoC;AACxD,UAAM,QAAQ,KAAK,aAAA;AACnB,QAAI,UAAU,OAAO;AAGnB,UAAI,MAAM,UAAU,WAAW,MAAM,OAAO;AAC1C,gBAAQ,MAAM,GAAG,cAAc,IAAI,MAAM,IAAI,KAAK,MAAM,MAAM,SAAA,CAAU,IAAI,MAAM,QAAQ,EAAE;AAAA,MAC9F;AACA;AAAA,IACF;AACA,QAAI,WAAW,MAAM,KAAK,IAAI,WAAW,KAAK,EAAG;AACjD,UAAM,SAAS,MAAM,eAAe,SAAY,KAAK,MAAM,UAAU,QAAQ;AAC7E,UAAM,OAAO,GAAG,cAAc,IAAI,MAAM,IAAI,GAAG,MAAM;AACrD,UAAM,UAAU,MAAM,QAAQ,EAAE,GAAG,MAAM,MAAM,OAAO,MAAM,MAAM,SAAA,EAAS,IAAM,MAAM;AACvF,UAAM,SACJ,MAAM,UAAU,UACZ,QAAQ,QACR,MAAM,UAAU,SACd,QAAQ,OACR,MAAM,UAAU,UACd,QAAQ,QACR,QAAQ;AAClB,WAAO,MAAM,WAAW,EAAE;AAAA,EAC5B;AAAA,EAEQ,iBAAiB,OAAoC;AAC3D,QAAI,CAAC,KAAK,OAAO,QAAS;AAC1B,QAAI,MAAM,eAAe,UAAa,MAAM,UAAU,QAAS;AAC/D,QAAI;AACF,YAAM,SAASC,gBAAAA,mBAAA;AACfC,4CAAoB,QAAQ,cAAc,MAAM,KAAK,QAAQ,OAAO,GAAG,CAAC,IAAI;AAAA,QAC1E,aAAaH,QAAAA;AAAAA,QACb,OAAO,MAAM;AAAA,QACb,GAAI,MAAM,eAAe,UAAa,EAAE,aAAa,MAAM,WAAA;AAAA,QAC3D,GAAI,MAAM,SAAS;AAAA,UACjB,YAAY,MAAM,MAAM;AAAA,UACxB,eAAe,MAAM,MAAM;AAAA,UAC3B,cAAc,MAAM,MAAM;AAAA,QAAA;AAAA,QAE5B,GAAG,MAAM;AAAA,MAAA,CACV;AAAA,IACH,QAAQ;AAAA,IAER;AAAA,EACF;AACF;AAEO,MAAM,oBAAoB,IAAI,qBAAA;AAO9B,SAAS,iCAAuC;AACrD,MAAI,OAAO,WAAW,YAAa;AACnC,QAAM,eAAe;AACrB,QAAM,WAAY,aAAa,UAAU,KAAK,CAAA;AAC9C,eAAa,UAAU,IAAI;AAAA,IACzB,GAAG;AAAA,IACH,SAASA,QAAAA;AAAAA,IACT,aAAa;AAAA,MACX,UAAU,MAAM,kBAAkB,SAAA;AAAA,MAClC,QAAQ,MAAM,kBAAkB,OAAA;AAAA,MAChC,OAAO,MAAM,kBAAkB,MAAA;AAAA,MAC/B,eAAe,CAAC,QAA+B,YAAY;AACzD,YAAI;AACF,uBAAa,QAAQ,yBAAyB,KAAK;AAAA,QACrD,QAAQ;AAAA,QAER;AACA,0BAAkB,UAAU,EAAE,SAAS,MAAA,CAAO;AAAA,MAChD;AAAA,MACA,gBAAgB,MAAM;AACpB,YAAI;AACF,uBAAa,WAAW,uBAAuB;AAAA,QACjD,QAAQ;AAAA,QAER;AACA,0BAAkB,UAAU,EAAE,SAAS,MAAA,CAAO;AAAA,MAChD;AAAA,IAAA;AAAA,EACF;AAEJ;AAGO,SAAS,6BACd,OACkC;AAClC,MAAI,UAAU,OAAW,QAAO,CAAA;AAChC,MAAI,UAAU,KAAM,QAAO,EAAE,SAAS,QAAA;AACtC,MAAI,UAAU,MAAO,QAAO,EAAE,SAAS,MAAA;AACvC,MAAI,OAAO,UAAU,SAAU,QAAO,EAAE,SAAS,MAAA;AACjD,SAAO;AACT;;;;;"}
@@ -27,7 +27,7 @@ export type AthenaDiagnosticLevel = (typeof ATHENA_DIAGNOSTIC_LEVELS)[number];
27
27
  * are part of the public contract: renaming one is a breaking change for
28
28
  * dashboards, so add new ones instead of repurposing.
29
29
  */
30
- export type AthenaDiagnosticEventName = 'sdk.init' | 'sdk.transport' | 'sdk.config.warning' | 'auth.bridge.start' | 'auth.bridge.ready' | 'auth.bridge.timeout' | 'auth.bridge.absent' | 'auth.bridge.error' | 'auth.token.acquired' | 'auth.token.refreshed' | 'auth.token.refresh_failed' | 'auth.token.stale' | 'auth.sso.userinfo.start' | 'auth.sso.userinfo.done' | 'auth.sso.userinfo.error' | 'threads.list.start' | 'threads.list.done' | 'threads.list.error' | 'threads.list.aborted' | 'threads.history.start' | 'threads.history.done' | 'threads.history.error' | 'threads.history.aborted' | 'statewire.attach.start' | 'statewire.snapshot' | 'statewire.connection' | 'statewire.parked' | 'statewire.error' | 'statewire.read_only' | 'run.send' | 'run.first_token' | 'run.done' | 'run.error' | 'sdk.error';
30
+ export type AthenaDiagnosticEventName = 'sdk.init' | 'sdk.transport' | 'sdk.config.warning' | 'auth.bridge.start' | 'auth.bridge.ready' | 'auth.bridge.timeout' | 'auth.bridge.absent' | 'auth.bridge.error' | 'auth.token.acquired' | 'auth.token.refreshed' | 'auth.token.refresh_failed' | 'auth.token.stale' | 'auth.sso.userinfo.start' | 'auth.sso.userinfo.done' | 'auth.sso.userinfo.error' | 'threads.list.start' | 'threads.list.done' | 'threads.list.error' | 'threads.list.aborted' | 'threads.history.start' | 'threads.history.done' | 'threads.history.error' | 'threads.history.aborted' | 'statewire.attach.start' | 'statewire.snapshot' | 'statewire.connection' | 'statewire.parked' | 'statewire.error' | 'statewire.read_only' | 'run.send' | 'run.first_token' | 'run.done' | 'run.error' | 'composer.attachment.error' | 'composer.cancel.error' | 'tools.schema.warning' | 'tools.debug' | 'mentions.fetch.error' | 'sdk.error';
31
31
  export interface AthenaDiagnosticEvent {
32
32
  /** Monotonic sequence number within this page. */
33
33
  seq: number;