@athenaintel/react 0.19.0 → 0.21.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 (987) hide show
  1. package/README.md +171 -11
  2. package/dist/assets/AssetPanel.cjs +277 -0
  3. package/dist/assets/AssetPanel.cjs.map +1 -0
  4. package/dist/assets/AssetPanel.js +277 -0
  5. package/dist/assets/AssetPanel.js.map +1 -0
  6. package/dist/assets/AthenaAssetEmbed.cjs +151 -0
  7. package/dist/assets/AthenaAssetEmbed.cjs.map +1 -0
  8. package/dist/assets/AthenaAssetEmbed.js +151 -0
  9. package/dist/assets/AthenaAssetEmbed.js.map +1 -0
  10. package/dist/assets/AthenaLayout.cjs +69 -0
  11. package/dist/assets/AthenaLayout.cjs.map +1 -0
  12. package/dist/assets/AthenaLayout.js +69 -0
  13. package/dist/assets/AthenaLayout.js.map +1 -0
  14. package/dist/assets/asset-embed-messages.cjs +39 -0
  15. package/dist/assets/asset-embed-messages.cjs.map +1 -0
  16. package/dist/assets/asset-embed-messages.js +39 -0
  17. package/dist/assets/asset-embed-messages.js.map +1 -0
  18. package/dist/assets/asset-panel-store.cjs +124 -0
  19. package/dist/assets/asset-panel-store.cjs.map +1 -0
  20. package/dist/assets/asset-panel-store.js +124 -0
  21. package/dist/assets/asset-panel-store.js.map +1 -0
  22. package/dist/assets/asset-panel-url.cjs +40 -0
  23. package/dist/assets/asset-panel-url.cjs.map +1 -0
  24. package/dist/assets/asset-panel-url.js +40 -0
  25. package/dist/assets/asset-panel-url.js.map +1 -0
  26. package/dist/assets/use-asset-embed.cjs +370 -0
  27. package/dist/assets/use-asset-embed.cjs.map +1 -0
  28. package/dist/assets/use-asset-embed.js +370 -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 +189 -0
  56. package/dist/chat/StatewireApprovalCard.cjs.map +1 -0
  57. package/dist/chat/StatewireApprovalCard.d.ts +14 -0
  58. package/dist/chat/StatewireApprovalCard.js +189 -0
  59. package/dist/chat/StatewireApprovalCard.js.map +1 -0
  60. package/dist/chat/StatewireClientToolBridge.cjs +51 -0
  61. package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
  62. package/dist/chat/StatewireClientToolBridge.js +51 -0
  63. package/dist/chat/StatewireClientToolBridge.js.map +1 -0
  64. package/dist/chat/StatewireQueuedMessages.cjs +433 -0
  65. package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
  66. package/dist/chat/StatewireQueuedMessages.d.ts +3 -4
  67. package/dist/chat/StatewireQueuedMessages.js +433 -0
  68. package/dist/chat/StatewireQueuedMessages.js.map +1 -0
  69. package/dist/chat/athena-citation-links.cjs +342 -0
  70. package/dist/chat/athena-citation-links.cjs.map +1 -0
  71. package/dist/chat/athena-citation-links.js +342 -0
  72. package/dist/chat/athena-citation-links.js.map +1 -0
  73. package/dist/chat/run-activity.cjs +28 -0
  74. package/dist/chat/run-activity.cjs.map +1 -0
  75. package/dist/chat/run-activity.js +28 -0
  76. package/dist/chat/run-activity.js.map +1 -0
  77. package/dist/chat/statewire-banners.cjs +83 -0
  78. package/dist/chat/statewire-banners.cjs.map +1 -0
  79. package/dist/chat/statewire-banners.js +83 -0
  80. package/dist/chat/statewire-banners.js.map +1 -0
  81. package/dist/chat/statewire-client-tools.cjs +74 -0
  82. package/dist/chat/statewire-client-tools.cjs.map +1 -0
  83. package/dist/chat/statewire-client-tools.js +74 -0
  84. package/dist/chat/statewire-client-tools.js.map +1 -0
  85. package/dist/chat/super-grouping/CollapsibleGroup.cjs +158 -0
  86. package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -0
  87. package/dist/chat/super-grouping/CollapsibleGroup.js +158 -0
  88. package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -0
  89. package/dist/chat/super-grouping/SuperGroupingCard.cjs +243 -0
  90. package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
  91. package/dist/chat/super-grouping/SuperGroupingCard.d.ts +14 -7
  92. package/dist/chat/super-grouping/SuperGroupingCard.js +243 -0
  93. package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
  94. package/dist/chat/super-grouping/ToolTimeline.cjs +131 -0
  95. package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -0
  96. package/dist/chat/super-grouping/ToolTimeline.d.ts +16 -0
  97. package/dist/chat/super-grouping/ToolTimeline.js +131 -0
  98. package/dist/chat/super-grouping/ToolTimeline.js.map +1 -0
  99. package/dist/chat/super-grouping/activity-timeline.cjs +157 -0
  100. package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
  101. package/dist/chat/super-grouping/activity-timeline.d.ts +6 -3
  102. package/dist/chat/super-grouping/activity-timeline.js +157 -0
  103. package/dist/chat/super-grouping/activity-timeline.js.map +1 -0
  104. package/dist/chat/super-grouping/grouping-function.cjs +55 -0
  105. package/dist/chat/super-grouping/grouping-function.cjs.map +1 -0
  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.js +26 -0
  111. package/dist/chat/super-grouping/index.js.map +1 -0
  112. package/dist/chat/super-grouping/timeline-step.cjs +65 -0
  113. package/dist/chat/super-grouping/timeline-step.cjs.map +1 -0
  114. package/dist/chat/super-grouping/timeline-step.d.ts +17 -0
  115. package/dist/chat/super-grouping/timeline-step.js +65 -0
  116. package/dist/chat/super-grouping/timeline-step.js.map +1 -0
  117. package/dist/chat/super-grouping/toolkit-map.cjs +96 -0
  118. package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -0
  119. package/dist/chat/super-grouping/toolkit-map.js +96 -0
  120. package/dist/chat/super-grouping/toolkit-map.js.map +1 -0
  121. package/dist/chat/tiptap-text.cjs +101 -0
  122. package/dist/chat/tiptap-text.cjs.map +1 -0
  123. package/dist/chat/tiptap-text.js +101 -0
  124. package/dist/chat/tiptap-text.js.map +1 -0
  125. package/dist/chat/tooltip-icon-button.cjs +32 -0
  126. package/dist/chat/tooltip-icon-button.cjs.map +1 -0
  127. package/dist/chat/tooltip-icon-button.js +32 -0
  128. package/dist/chat/tooltip-icon-button.js.map +1 -0
  129. package/dist/chat/use-athena-run-live.cjs +24 -0
  130. package/dist/chat/use-athena-run-live.cjs.map +1 -0
  131. package/dist/chat/use-athena-run-live.d.ts +10 -0
  132. package/dist/chat/use-athena-run-live.js +24 -0
  133. package/dist/chat/use-athena-run-live.js.map +1 -0
  134. package/dist/chat/use-statewire-approval-request.cjs +51 -0
  135. package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
  136. package/dist/chat/use-statewire-approval-request.d.ts +12 -2
  137. package/dist/chat/use-statewire-approval-request.js +51 -0
  138. package/dist/chat/use-statewire-approval-request.js.map +1 -0
  139. package/dist/chat-ui/auth/sign-in-card.cjs +128 -0
  140. package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -0
  141. package/dist/chat-ui/auth/sign-in-card.js +128 -0
  142. package/dist/chat-ui/auth/sign-in-card.js.map +1 -0
  143. package/dist/chat-ui/composer/composer-action.cjs +11 -0
  144. package/dist/chat-ui/composer/composer-action.cjs.map +1 -0
  145. package/dist/chat-ui/composer/composer-action.d.ts +5 -8
  146. package/dist/chat-ui/composer/composer-action.js +11 -0
  147. package/dist/chat-ui/composer/composer-action.js.map +1 -0
  148. package/dist/chat-ui/composer/pending-attachment-uploads.cjs +25 -0
  149. package/dist/chat-ui/composer/pending-attachment-uploads.cjs.map +1 -0
  150. package/dist/chat-ui/composer/pending-attachment-uploads.js +25 -0
  151. package/dist/chat-ui/composer/pending-attachment-uploads.js.map +1 -0
  152. package/dist/chat-ui/composer/tiptap-composer.cjs +549 -0
  153. package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -0
  154. package/dist/chat-ui/composer/tiptap-composer.d.ts +44 -7
  155. package/dist/chat-ui/composer/tiptap-composer.js +549 -0
  156. package/dist/chat-ui/composer/tiptap-composer.js.map +1 -0
  157. package/dist/chat-ui/header/chat-header.cjs +33 -0
  158. package/dist/chat-ui/header/chat-header.cjs.map +1 -0
  159. package/dist/chat-ui/header/chat-header.js +33 -0
  160. package/dist/chat-ui/header/chat-header.js.map +1 -0
  161. package/dist/chat-ui/header/conversation-history-panel.cjs +369 -0
  162. package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -0
  163. package/dist/chat-ui/header/conversation-history-panel.js +369 -0
  164. package/dist/chat-ui/header/conversation-history-panel.js.map +1 -0
  165. package/dist/chat-ui/index.cjs +140 -0
  166. package/dist/chat-ui/index.cjs.map +1 -0
  167. package/dist/chat-ui/index.d.ts +4 -3
  168. package/dist/chat-ui/index.js +140 -0
  169. package/dist/chat-ui/index.js.map +1 -0
  170. package/dist/chat-ui/lib/asset-urls.cjs +18 -0
  171. package/dist/chat-ui/lib/asset-urls.cjs.map +1 -0
  172. package/dist/chat-ui/lib/asset-urls.js +18 -0
  173. package/dist/chat-ui/lib/asset-urls.js.map +1 -0
  174. package/dist/chat-ui/mentions/mention-chip.cjs +253 -0
  175. package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
  176. package/dist/chat-ui/mentions/mention-chip.d.ts +11 -0
  177. package/dist/chat-ui/mentions/mention-chip.js +253 -0
  178. package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
  179. package/dist/chat-ui/mentions/mention-extension.cjs +196 -0
  180. package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
  181. package/dist/chat-ui/mentions/mention-extension.d.ts +26 -2
  182. package/dist/chat-ui/mentions/mention-extension.js +196 -0
  183. package/dist/chat-ui/mentions/mention-extension.js.map +1 -0
  184. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +35 -0
  185. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -0
  186. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +35 -0
  187. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -0
  188. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +95 -0
  189. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -0
  190. package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +5 -0
  191. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +95 -0
  192. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -0
  193. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +116 -0
  194. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -0
  195. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +116 -0
  196. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -0
  197. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +31 -0
  198. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -0
  199. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +31 -0
  200. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -0
  201. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs +27 -0
  202. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs.map +1 -0
  203. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js +27 -0
  204. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js.map +1 -0
  205. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +65 -0
  206. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
  207. package/dist/chat-ui/mentions/suggestions/components/menu-item.d.ts +2 -2
  208. package/dist/chat-ui/mentions/suggestions/components/menu-item.js +65 -0
  209. package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -0
  210. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +63 -0
  211. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -0
  212. package/dist/chat-ui/mentions/suggestions/components/menu-list.d.ts +2 -2
  213. package/dist/chat-ui/mentions/suggestions/components/menu-list.js +63 -0
  214. package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -0
  215. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs +11 -0
  216. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs.map +1 -0
  217. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js +11 -0
  218. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js.map +1 -0
  219. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs +33 -0
  220. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs.map +1 -0
  221. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js +33 -0
  222. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js.map +1 -0
  223. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +58 -0
  224. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -0
  225. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js +58 -0
  226. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js.map +1 -0
  227. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +81 -0
  228. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -0
  229. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js +81 -0
  230. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js.map +1 -0
  231. package/dist/chat-ui/mentions/suggestions/components/utils.cjs +18 -0
  232. package/dist/chat-ui/mentions/suggestions/components/utils.cjs.map +1 -0
  233. package/dist/chat-ui/mentions/suggestions/components/utils.js +18 -0
  234. package/dist/chat-ui/mentions/suggestions/components/utils.js.map +1 -0
  235. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +124 -0
  236. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -0
  237. package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +13 -2
  238. package/dist/chat-ui/mentions/suggestions/data/api-client.js +124 -0
  239. package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -0
  240. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs +37 -0
  241. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs.map +1 -0
  242. package/dist/chat-ui/mentions/suggestions/data/item-cache.js +37 -0
  243. package/dist/chat-ui/mentions/suggestions/data/item-cache.js.map +1 -0
  244. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +134 -0
  245. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -0
  246. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +134 -0
  247. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -0
  248. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs +91 -0
  249. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs.map +1 -0
  250. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js +91 -0
  251. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js.map +1 -0
  252. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +137 -0
  253. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -0
  254. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +137 -0
  255. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -0
  256. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +375 -0
  257. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -0
  258. package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +16 -1
  259. package/dist/chat-ui/mentions/suggestions/data/sources/index.js +375 -0
  260. package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -0
  261. package/dist/chat-ui/mentions/suggestions/data/types.cjs +9 -0
  262. package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -0
  263. package/dist/chat-ui/mentions/suggestions/data/types.d.ts +14 -0
  264. package/dist/chat-ui/mentions/suggestions/data/types.js +9 -0
  265. package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -0
  266. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +173 -0
  267. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -0
  268. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +14 -4
  269. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +173 -0
  270. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -0
  271. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +45 -0
  272. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -0
  273. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +45 -0
  274. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -0
  275. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs +43 -0
  276. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs.map +1 -0
  277. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js +43 -0
  278. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js.map +1 -0
  279. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs +14 -0
  280. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs.map +1 -0
  281. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js +14 -0
  282. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js.map +1 -0
  283. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs +48 -0
  284. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs.map +1 -0
  285. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js +48 -0
  286. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js.map +1 -0
  287. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +71 -0
  288. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -0
  289. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +71 -0
  290. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -0
  291. package/dist/chat-ui/messages/continue-pill.cjs +54 -0
  292. package/dist/chat-ui/messages/continue-pill.cjs.map +1 -0
  293. package/dist/chat-ui/messages/continue-pill.js +54 -0
  294. package/dist/chat-ui/messages/continue-pill.js.map +1 -0
  295. package/dist/chat-ui/messages/message-actions-config.cjs +12 -0
  296. package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -0
  297. package/dist/chat-ui/messages/message-actions-config.js +12 -0
  298. package/dist/chat-ui/messages/message-actions-config.js.map +1 -0
  299. package/dist/chat-ui/messages/message-components.cjs +320 -0
  300. package/dist/chat-ui/messages/message-components.cjs.map +1 -0
  301. package/dist/chat-ui/messages/message-components.d.ts +1 -1
  302. package/dist/chat-ui/messages/message-components.js +320 -0
  303. package/dist/chat-ui/messages/message-components.js.map +1 -0
  304. package/dist/chat-ui/messages/running-indicator.cjs +49 -0
  305. package/dist/chat-ui/messages/running-indicator.cjs.map +1 -0
  306. package/dist/chat-ui/messages/running-indicator.js +49 -0
  307. package/dist/chat-ui/messages/running-indicator.js.map +1 -0
  308. package/dist/chat-ui/messages/runtime-message.cjs +66 -0
  309. package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
  310. package/dist/chat-ui/messages/runtime-message.js +66 -0
  311. package/dist/chat-ui/messages/runtime-message.js.map +1 -0
  312. package/dist/{statewire-continue-run-nE9VCKUh.cjs → chat-ui/messages/statewire-continue-run.cjs} +61 -23
  313. package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
  314. package/dist/chat-ui/messages/statewire-continue-run.d.ts +19 -5
  315. package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js} +51 -14
  316. package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
  317. package/dist/chat-ui/messages/user-edit-composer.cjs +62 -0
  318. package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
  319. package/dist/chat-ui/messages/user-edit-composer.js +62 -0
  320. package/dist/chat-ui/messages/user-edit-composer.js.map +1 -0
  321. package/dist/chat-ui/messages/voice-delegation-card.cjs +51 -0
  322. package/dist/chat-ui/messages/voice-delegation-card.cjs.map +1 -0
  323. package/dist/chat-ui/messages/voice-delegation-card.d.ts +26 -0
  324. package/dist/chat-ui/messages/voice-delegation-card.js +51 -0
  325. package/dist/chat-ui/messages/voice-delegation-card.js.map +1 -0
  326. package/dist/chat-ui/rich-text/chat-message-body.cjs +76 -0
  327. package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -0
  328. package/dist/chat-ui/rich-text/chat-message-body.d.ts +5 -0
  329. package/dist/chat-ui/rich-text/chat-message-body.js +76 -0
  330. package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -0
  331. package/dist/chat-ui/rich-text/chat-node-views.cjs +51 -0
  332. package/dist/chat-ui/rich-text/chat-node-views.cjs.map +1 -0
  333. package/dist/chat-ui/rich-text/chat-node-views.d.ts +13 -0
  334. package/dist/chat-ui/rich-text/chat-node-views.js +51 -0
  335. package/dist/chat-ui/rich-text/chat-node-views.js.map +1 -0
  336. package/dist/chat-ui/rich-text/chat-text-schema.cjs +70 -0
  337. package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -0
  338. package/dist/chat-ui/rich-text/chat-text-schema.d.ts +7 -0
  339. package/dist/chat-ui/rich-text/chat-text-schema.js +70 -0
  340. package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -0
  341. package/dist/chat-ui/rich-text/dom-output-spec.cjs +83 -0
  342. package/dist/chat-ui/rich-text/dom-output-spec.cjs.map +1 -0
  343. package/dist/chat-ui/rich-text/dom-output-spec.d.ts +11 -0
  344. package/dist/chat-ui/rich-text/dom-output-spec.js +83 -0
  345. package/dist/chat-ui/rich-text/dom-output-spec.js.map +1 -0
  346. package/dist/chat-ui/statewire.cjs +40 -0
  347. package/dist/chat-ui/statewire.cjs.map +1 -0
  348. package/dist/chat-ui/statewire.js +40 -0
  349. package/dist/chat-ui/statewire.js.map +1 -0
  350. package/dist/chat-ui/thread/chat-composer-dock.cjs +37 -0
  351. package/dist/chat-ui/thread/chat-composer-dock.cjs.map +1 -0
  352. package/dist/chat-ui/thread/chat-composer-dock.js +37 -0
  353. package/dist/chat-ui/thread/chat-composer-dock.js.map +1 -0
  354. package/dist/chat-ui/thread/chat-thread-shell.cjs +102 -0
  355. package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -0
  356. package/dist/chat-ui/thread/chat-thread-shell.js +102 -0
  357. package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -0
  358. package/dist/chat-ui/thread/composer-send-or-stop.cjs +75 -0
  359. package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -0
  360. package/dist/chat-ui/thread/composer-send-or-stop.d.ts +0 -6
  361. package/dist/chat-ui/thread/composer-send-or-stop.js +75 -0
  362. package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -0
  363. package/dist/chat-ui/thread/statewire-history-edge.cjs +135 -0
  364. package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
  365. package/dist/chat-ui/thread/statewire-history-edge.js +135 -0
  366. package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -0
  367. package/dist/{collab.cjs → collab/client.cjs} +6 -166
  368. package/dist/collab/client.cjs.map +1 -0
  369. package/dist/{collab.js → collab/client.js} +5 -164
  370. package/dist/collab/client.js.map +1 -0
  371. package/dist/collab/close-policy.cjs +14 -0
  372. package/dist/collab/close-policy.cjs.map +1 -0
  373. package/dist/collab/close-policy.js +14 -0
  374. package/dist/collab/close-policy.js.map +1 -0
  375. package/dist/collab/index.cjs +17 -0
  376. package/dist/collab/index.cjs.map +1 -0
  377. package/dist/collab/index.js +17 -0
  378. package/dist/collab/index.js.map +1 -0
  379. package/dist/collab/mint.cjs +59 -0
  380. package/dist/collab/mint.cjs.map +1 -0
  381. package/dist/collab/mint.js +59 -0
  382. package/dist/collab/mint.js.map +1 -0
  383. package/dist/collab/react.cjs +58 -0
  384. package/dist/collab/react.cjs.map +1 -0
  385. package/dist/collab/react.js +58 -0
  386. package/dist/collab/react.js.map +1 -0
  387. package/dist/collab/shape.cjs +45 -0
  388. package/dist/collab/shape.cjs.map +1 -0
  389. package/dist/collab/shape.js +45 -0
  390. package/dist/collab/shape.js.map +1 -0
  391. package/dist/composer/AttachmentContext.cjs +40 -0
  392. package/dist/composer/AttachmentContext.cjs.map +1 -0
  393. package/dist/composer/AttachmentContext.js +40 -0
  394. package/dist/composer/AttachmentContext.js.map +1 -0
  395. package/dist/composer/ComposerAttachmentPreview.cjs +39 -0
  396. package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -0
  397. package/dist/composer/ComposerAttachmentPreview.js +39 -0
  398. package/dist/composer/ComposerAttachmentPreview.js.map +1 -0
  399. package/dist/composer/ComposerDropZone.cjs +61 -0
  400. package/dist/composer/ComposerDropZone.cjs.map +1 -0
  401. package/dist/composer/ComposerDropZone.d.ts +1 -1
  402. package/dist/composer/ComposerDropZone.js +61 -0
  403. package/dist/composer/ComposerDropZone.js.map +1 -0
  404. package/dist/composer/ComposerQuotePreview.cjs +42 -0
  405. package/dist/composer/ComposerQuotePreview.cjs.map +1 -0
  406. package/dist/composer/ComposerQuotePreview.js +42 -0
  407. package/dist/composer/ComposerQuotePreview.js.map +1 -0
  408. package/dist/composer/FileUploadButton.cjs +65 -0
  409. package/dist/composer/FileUploadButton.cjs.map +1 -0
  410. package/dist/composer/FileUploadButton.d.ts +1 -1
  411. package/dist/composer/FileUploadButton.js +65 -0
  412. package/dist/composer/FileUploadButton.js.map +1 -0
  413. package/dist/composer/QuoteContext.cjs +68 -0
  414. package/dist/composer/QuoteContext.cjs.map +1 -0
  415. package/dist/composer/QuoteContext.js +68 -0
  416. package/dist/composer/QuoteContext.js.map +1 -0
  417. package/dist/composer/build-composed-message.cjs +25 -0
  418. package/dist/composer/build-composed-message.cjs.map +1 -0
  419. package/dist/composer/build-composed-message.js +25 -0
  420. package/dist/composer/build-composed-message.js.map +1 -0
  421. package/dist/composer/clipboard.cjs +62 -0
  422. package/dist/composer/clipboard.cjs.map +1 -0
  423. package/dist/composer/clipboard.d.ts +27 -3
  424. package/dist/composer/clipboard.js +62 -0
  425. package/dist/composer/clipboard.js.map +1 -0
  426. package/dist/composer/useAppendToComposer.cjs +21 -0
  427. package/dist/composer/useAppendToComposer.cjs.map +1 -0
  428. package/dist/composer/useAppendToComposer.js +21 -0
  429. package/dist/composer/useAppendToComposer.js.map +1 -0
  430. package/dist/composer/useAttachFiles.cjs +40 -0
  431. package/dist/composer/useAttachFiles.cjs.map +1 -0
  432. package/dist/composer/useAttachFiles.d.ts +24 -0
  433. package/dist/composer/useAttachFiles.js +40 -0
  434. package/dist/composer/useAttachFiles.js.map +1 -0
  435. package/dist/composer/useComposerAttachment.cjs +25 -0
  436. package/dist/composer/useComposerAttachment.cjs.map +1 -0
  437. package/dist/composer/useComposerAttachment.js +25 -0
  438. package/dist/composer/useComposerAttachment.js.map +1 -0
  439. package/dist/composer/useFileUpload.cjs +123 -0
  440. package/dist/composer/useFileUpload.cjs.map +1 -0
  441. package/dist/composer/useFileUpload.js +123 -0
  442. package/dist/composer/useFileUpload.js.map +1 -0
  443. package/dist/composer/useSendMessage.cjs +22 -0
  444. package/dist/composer/useSendMessage.cjs.map +1 -0
  445. package/dist/composer/useSendMessage.js +22 -0
  446. package/dist/composer/useSendMessage.js.map +1 -0
  447. package/dist/diagnostics/athena-diagnostics.cjs +329 -0
  448. package/dist/diagnostics/athena-diagnostics.cjs.map +1 -0
  449. package/dist/diagnostics/athena-diagnostics.js +329 -0
  450. package/dist/diagnostics/athena-diagnostics.js.map +1 -0
  451. package/dist/diagnostics/errors.cjs +89 -0
  452. package/dist/diagnostics/errors.cjs.map +1 -0
  453. package/dist/diagnostics/errors.js +89 -0
  454. package/dist/diagnostics/errors.js.map +1 -0
  455. package/dist/diagnostics/useAthenaDiagnostics.cjs +16 -0
  456. package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -0
  457. package/dist/diagnostics/useAthenaDiagnostics.js +16 -0
  458. package/dist/diagnostics/useAthenaDiagnostics.js.map +1 -0
  459. package/dist/index.cjs +275 -27882
  460. package/dist/index.cjs.map +1 -1
  461. package/dist/index.d.ts +6 -4
  462. package/dist/index.js +162 -27759
  463. package/dist/index.js.map +1 -1
  464. package/dist/lib/athena-urls.cjs +194 -0
  465. package/dist/lib/athena-urls.cjs.map +1 -0
  466. package/dist/lib/athena-urls.d.ts +20 -5
  467. package/dist/lib/athena-urls.js +194 -0
  468. package/dist/lib/athena-urls.js.map +1 -0
  469. package/dist/lib/posthog/before-send.cjs +58 -0
  470. package/dist/lib/posthog/before-send.cjs.map +1 -0
  471. package/dist/lib/posthog/before-send.js +58 -0
  472. package/dist/lib/posthog/before-send.js.map +1 -0
  473. package/dist/lib/posthog/capture-gate.cjs +322 -0
  474. package/dist/lib/posthog/capture-gate.cjs.map +1 -0
  475. package/dist/lib/posthog/capture-gate.js +322 -0
  476. package/dist/lib/posthog/capture-gate.js.map +1 -0
  477. package/dist/lib/posthog/wrap-posthog-client.cjs +163 -0
  478. package/dist/lib/posthog/wrap-posthog-client.cjs.map +1 -0
  479. package/dist/lib/posthog/wrap-posthog-client.js +163 -0
  480. package/dist/lib/posthog/wrap-posthog-client.js.map +1 -0
  481. package/dist/lib/utils.cjs +12 -0
  482. package/dist/lib/utils.cjs.map +1 -0
  483. package/dist/lib/utils.js +9 -0
  484. package/dist/lib/utils.js.map +1 -0
  485. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +77 -0
  486. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +1 -0
  487. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +77 -0
  488. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +1 -0
  489. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +181 -0
  490. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +1 -0
  491. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +181 -0
  492. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +1 -0
  493. package/dist/node_modules/qrcode-generator/dist/qrcode.cjs +32 -0
  494. package/dist/node_modules/qrcode-generator/dist/qrcode.cjs.map +1 -0
  495. package/dist/node_modules/qrcode-generator/dist/qrcode.js +31 -0
  496. package/dist/node_modules/qrcode-generator/dist/qrcode.js.map +1 -0
  497. package/dist/node_modules/zod/v4/classic/errors.cjs +44 -0
  498. package/dist/node_modules/zod/v4/classic/errors.cjs.map +1 -0
  499. package/dist/node_modules/zod/v4/classic/errors.js +44 -0
  500. package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
  501. package/dist/node_modules/zod/v4/classic/iso.cjs +43 -0
  502. package/dist/node_modules/zod/v4/classic/iso.cjs.map +1 -0
  503. package/dist/node_modules/zod/v4/classic/iso.js +43 -0
  504. package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
  505. package/dist/node_modules/zod/v4/classic/parse.cjs +29 -0
  506. package/dist/node_modules/zod/v4/classic/parse.cjs.map +1 -0
  507. package/dist/node_modules/zod/v4/classic/parse.js +29 -0
  508. package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
  509. package/dist/node_modules/zod/v4/classic/schemas.cjs +871 -0
  510. package/dist/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
  511. package/dist/node_modules/zod/v4/classic/schemas.js +871 -0
  512. package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
  513. package/dist/node_modules/zod/v4/core/api.cjs +570 -0
  514. package/dist/node_modules/zod/v4/core/api.cjs.map +1 -0
  515. package/dist/node_modules/zod/v4/core/api.js +570 -0
  516. package/dist/node_modules/zod/v4/core/api.js.map +1 -0
  517. package/dist/node_modules/zod/v4/core/checks.cjs +411 -0
  518. package/dist/node_modules/zod/v4/core/checks.cjs.map +1 -0
  519. package/dist/node_modules/zod/v4/core/checks.js +411 -0
  520. package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
  521. package/dist/node_modules/zod/v4/core/core.cjs +77 -0
  522. package/dist/node_modules/zod/v4/core/core.cjs.map +1 -0
  523. package/dist/node_modules/zod/v4/core/core.js +77 -0
  524. package/dist/node_modules/zod/v4/core/core.js.map +1 -0
  525. package/dist/node_modules/zod/v4/core/doc.cjs +38 -0
  526. package/dist/node_modules/zod/v4/core/doc.cjs.map +1 -0
  527. package/dist/node_modules/zod/v4/core/doc.js +38 -0
  528. package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
  529. package/dist/node_modules/zod/v4/core/errors.cjs +76 -0
  530. package/dist/node_modules/zod/v4/core/errors.cjs.map +1 -0
  531. package/dist/node_modules/zod/v4/core/errors.js +76 -0
  532. package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
  533. package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +312 -0
  534. package/dist/node_modules/zod/v4/core/json-schema-processors.cjs.map +1 -0
  535. package/dist/node_modules/zod/v4/core/json-schema-processors.js +312 -0
  536. package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
  537. package/dist/node_modules/zod/v4/core/parse.cjs +96 -0
  538. package/dist/node_modules/zod/v4/core/parse.cjs.map +1 -0
  539. package/dist/node_modules/zod/v4/core/parse.js +96 -0
  540. package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
  541. package/dist/node_modules/zod/v4/core/regexes.cjs +86 -0
  542. package/dist/node_modules/zod/v4/core/regexes.cjs.map +1 -0
  543. package/dist/node_modules/zod/v4/core/regexes.js +86 -0
  544. package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
  545. package/dist/node_modules/zod/v4/core/registries.cjs +52 -0
  546. package/dist/node_modules/zod/v4/core/registries.cjs.map +1 -0
  547. package/dist/node_modules/zod/v4/core/registries.js +52 -0
  548. package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
  549. package/dist/node_modules/zod/v4/core/schemas.cjs +1412 -0
  550. package/dist/node_modules/zod/v4/core/schemas.cjs.map +1 -0
  551. package/dist/node_modules/zod/v4/core/schemas.js +1413 -0
  552. package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
  553. package/dist/node_modules/zod/v4/core/to-json-schema.cjs +370 -0
  554. package/dist/node_modules/zod/v4/core/to-json-schema.cjs.map +1 -0
  555. package/dist/node_modules/zod/v4/core/to-json-schema.js +370 -0
  556. package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
  557. package/dist/node_modules/zod/v4/core/util.cjs +444 -0
  558. package/dist/node_modules/zod/v4/core/util.cjs.map +1 -0
  559. package/dist/node_modules/zod/v4/core/util.js +444 -0
  560. package/dist/node_modules/zod/v4/core/util.js.map +1 -0
  561. package/dist/node_modules/zod/v4/core/versions.cjs +9 -0
  562. package/dist/node_modules/zod/v4/core/versions.cjs.map +1 -0
  563. package/dist/node_modules/zod/v4/core/versions.js +9 -0
  564. package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
  565. package/dist/packages/agent-runtime/src/asset-attachment.cjs +19 -0
  566. package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +1 -0
  567. package/dist/packages/agent-runtime/src/asset-attachment.js +19 -0
  568. package/dist/packages/agent-runtime/src/asset-attachment.js.map +1 -0
  569. package/dist/packages/agent-runtime/src/auth-denial.cjs +28 -0
  570. package/dist/packages/agent-runtime/src/auth-denial.cjs.map +1 -0
  571. package/dist/packages/agent-runtime/src/auth-denial.js +28 -0
  572. package/dist/packages/agent-runtime/src/auth-denial.js.map +1 -0
  573. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs +276 -0
  574. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
  575. package/dist/packages/agent-runtime/src/client-tool-bridge.js +276 -0
  576. package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +1 -0
  577. package/dist/packages/agent-runtime/src/client-tools.cjs +137 -0
  578. package/dist/packages/agent-runtime/src/client-tools.cjs.map +1 -0
  579. package/dist/packages/agent-runtime/src/client-tools.js +137 -0
  580. package/dist/packages/agent-runtime/src/client-tools.js.map +1 -0
  581. package/dist/packages/agent-runtime/src/conversation-index.cjs +80 -0
  582. package/dist/packages/agent-runtime/src/conversation-index.cjs.map +1 -0
  583. package/dist/packages/agent-runtime/src/conversation-index.js +80 -0
  584. package/dist/packages/agent-runtime/src/conversation-index.js.map +1 -0
  585. package/dist/packages/agent-runtime/src/conversation-list.cjs +90 -0
  586. package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
  587. package/dist/packages/agent-runtime/src/conversation-list.js +90 -0
  588. package/dist/packages/agent-runtime/src/conversation-list.js.map +1 -0
  589. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs +55 -0
  590. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
  591. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js +55 -0
  592. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
  593. package/dist/packages/agent-runtime/src/edit-command.cjs +89 -0
  594. package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -0
  595. package/dist/packages/agent-runtime/src/edit-command.js +89 -0
  596. package/dist/packages/agent-runtime/src/edit-command.js.map +1 -0
  597. package/dist/packages/agent-runtime/src/errors.cjs +95 -0
  598. package/dist/packages/agent-runtime/src/errors.cjs.map +1 -0
  599. package/dist/packages/agent-runtime/src/errors.js +95 -0
  600. package/dist/packages/agent-runtime/src/errors.js.map +1 -0
  601. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +238 -0
  602. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
  603. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +238 -0
  604. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
  605. package/dist/packages/agent-runtime/src/interrupts.cjs +141 -0
  606. package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
  607. package/dist/packages/agent-runtime/src/interrupts.js +141 -0
  608. package/dist/packages/agent-runtime/src/interrupts.js.map +1 -0
  609. package/dist/packages/agent-runtime/src/message-author.cjs +31 -0
  610. package/dist/packages/agent-runtime/src/message-author.cjs.map +1 -0
  611. package/dist/packages/agent-runtime/src/message-author.js +31 -0
  612. package/dist/packages/agent-runtime/src/message-author.js.map +1 -0
  613. package/dist/packages/agent-runtime/src/message-window.cjs +85 -0
  614. package/dist/packages/agent-runtime/src/message-window.cjs.map +1 -0
  615. package/dist/packages/agent-runtime/src/message-window.js +85 -0
  616. package/dist/packages/agent-runtime/src/message-window.js.map +1 -0
  617. package/dist/packages/agent-runtime/src/messages.cjs +463 -0
  618. package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
  619. package/dist/packages/agent-runtime/src/messages.js +463 -0
  620. package/dist/packages/agent-runtime/src/messages.js.map +1 -0
  621. package/dist/packages/agent-runtime/src/model-context.cjs +13 -0
  622. package/dist/packages/agent-runtime/src/model-context.cjs.map +1 -0
  623. package/dist/packages/agent-runtime/src/model-context.js +13 -0
  624. package/dist/packages/agent-runtime/src/model-context.js.map +1 -0
  625. package/dist/packages/agent-runtime/src/optimistic-content.cjs +17 -0
  626. package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +1 -0
  627. package/dist/packages/agent-runtime/src/optimistic-content.js +17 -0
  628. package/dist/packages/agent-runtime/src/optimistic-content.js.map +1 -0
  629. package/dist/packages/agent-runtime/src/protocol.cjs +31 -0
  630. package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
  631. package/dist/packages/agent-runtime/src/protocol.js +31 -0
  632. package/dist/packages/agent-runtime/src/protocol.js.map +1 -0
  633. package/dist/packages/agent-runtime/src/queue.cjs +67 -0
  634. package/dist/packages/agent-runtime/src/queue.cjs.map +1 -0
  635. package/dist/packages/agent-runtime/src/queue.js +67 -0
  636. package/dist/packages/agent-runtime/src/queue.js.map +1 -0
  637. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +329 -0
  638. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
  639. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +329 -0
  640. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
  641. package/dist/packages/agent-runtime/src/runtime-messages.cjs +187 -0
  642. package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +1 -0
  643. package/dist/packages/agent-runtime/src/runtime-messages.js +187 -0
  644. package/dist/packages/agent-runtime/src/runtime-messages.js.map +1 -0
  645. package/dist/packages/agent-runtime/src/screen-point.cjs +68 -0
  646. package/dist/packages/agent-runtime/src/screen-point.cjs.map +1 -0
  647. package/dist/packages/agent-runtime/src/screen-point.js +68 -0
  648. package/dist/packages/agent-runtime/src/screen-point.js.map +1 -0
  649. package/dist/packages/agent-runtime/src/send-recovery.cjs +128 -0
  650. package/dist/packages/agent-runtime/src/send-recovery.cjs.map +1 -0
  651. package/dist/packages/agent-runtime/src/send-recovery.js +128 -0
  652. package/dist/packages/agent-runtime/src/send-recovery.js.map +1 -0
  653. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs +249 -0
  654. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
  655. package/dist/packages/agent-runtime/src/statewire-attach-observer.js +249 -0
  656. package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +1 -0
  657. package/dist/packages/agent-runtime/src/statewire-state.cjs +16 -0
  658. package/dist/packages/agent-runtime/src/statewire-state.cjs.map +1 -0
  659. package/dist/packages/agent-runtime/src/statewire-state.js +16 -0
  660. package/dist/packages/agent-runtime/src/statewire-state.js.map +1 -0
  661. package/dist/packages/agent-runtime/src/statewire-suspended.cjs +41 -0
  662. package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +1 -0
  663. package/dist/packages/agent-runtime/src/statewire-suspended.js +41 -0
  664. package/dist/packages/agent-runtime/src/statewire-suspended.js.map +1 -0
  665. package/dist/packages/agent-runtime/src/statewire-transport.cjs +11 -0
  666. package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
  667. package/dist/packages/agent-runtime/src/statewire-transport.js +11 -0
  668. package/dist/packages/agent-runtime/src/statewire-transport.js.map +1 -0
  669. package/dist/packages/agent-runtime/src/streaming-markdown.cjs +214 -0
  670. package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +1 -0
  671. package/dist/packages/agent-runtime/src/streaming-markdown.js +214 -0
  672. package/dist/packages/agent-runtime/src/streaming-markdown.js.map +1 -0
  673. package/dist/packages/agent-runtime/src/thread-extras.cjs +38 -0
  674. package/dist/packages/agent-runtime/src/thread-extras.cjs.map +1 -0
  675. package/dist/packages/agent-runtime/src/thread-extras.js +38 -0
  676. package/dist/packages/agent-runtime/src/thread-extras.js.map +1 -0
  677. package/dist/packages/agent-runtime/src/thread-handoff.cjs +85 -0
  678. package/dist/packages/agent-runtime/src/thread-handoff.cjs.map +1 -0
  679. package/dist/packages/agent-runtime/src/thread-handoff.js +85 -0
  680. package/dist/packages/agent-runtime/src/thread-handoff.js.map +1 -0
  681. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs +90 -0
  682. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
  683. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js +90 -0
  684. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
  685. package/dist/packages/agent-runtime/src/thread-status.cjs +49 -0
  686. package/dist/packages/agent-runtime/src/thread-status.cjs.map +1 -0
  687. package/dist/packages/agent-runtime/src/thread-status.js +49 -0
  688. package/dist/packages/agent-runtime/src/thread-status.js.map +1 -0
  689. package/dist/packages/agent-runtime/src/tool-metadata.cjs +1794 -0
  690. package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
  691. package/dist/packages/agent-runtime/src/tool-metadata.js +1794 -0
  692. package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -0
  693. package/dist/packages/agent-runtime/src/tool-outputs.cjs +46 -0
  694. package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +1 -0
  695. package/dist/packages/agent-runtime/src/tool-outputs.js +46 -0
  696. package/dist/packages/agent-runtime/src/tool-outputs.js.map +1 -0
  697. package/dist/packages/agent-runtime/src/tool-result.cjs +151 -0
  698. package/dist/packages/agent-runtime/src/tool-result.cjs.map +1 -0
  699. package/dist/packages/agent-runtime/src/tool-result.js +151 -0
  700. package/dist/packages/agent-runtime/src/tool-result.js.map +1 -0
  701. package/dist/packages/agent-runtime/src/use-conversation-list.cjs +139 -0
  702. package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +1 -0
  703. package/dist/packages/agent-runtime/src/use-conversation-list.js +139 -0
  704. package/dist/packages/agent-runtime/src/use-conversation-list.js.map +1 -0
  705. package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs +14 -0
  706. package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
  707. package/dist/packages/agent-runtime/src/use-deep-agent-config.js +14 -0
  708. package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +1 -0
  709. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs +44 -0
  710. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
  711. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js +44 -0
  712. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
  713. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs +148 -0
  714. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
  715. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js +148 -0
  716. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
  717. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs +407 -0
  718. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
  719. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js +407 -0
  720. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
  721. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs +133 -0
  722. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
  723. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js +133 -0
  724. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
  725. package/dist/packages/agent-runtime/src/voice-presentation.cjs +37 -0
  726. package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +1 -0
  727. package/dist/packages/agent-runtime/src/voice-presentation.js +37 -0
  728. package/dist/packages/agent-runtime/src/voice-presentation.js.map +1 -0
  729. package/dist/packages/react/package.json.cjs +9 -0
  730. package/dist/packages/react/package.json.cjs.map +1 -0
  731. package/dist/packages/react/package.json.js +9 -0
  732. package/dist/packages/react/package.json.js.map +1 -0
  733. package/dist/{AthenaContext-B1QMhIP-.cjs → provider/AthenaContext.cjs} +5 -4
  734. package/dist/provider/AthenaContext.cjs.map +1 -0
  735. package/dist/{AthenaContext-MOslgOmE.js → provider/AthenaContext.js} +3 -3
  736. package/dist/provider/AthenaContext.js.map +1 -0
  737. package/dist/provider/AthenaProvider.cjs +404 -0
  738. package/dist/provider/AthenaProvider.cjs.map +1 -0
  739. package/dist/provider/AthenaProvider.js +404 -0
  740. package/dist/provider/AthenaProvider.js.map +1 -0
  741. package/dist/provider/PostHogProvider.cjs +81 -0
  742. package/dist/provider/PostHogProvider.cjs.map +1 -0
  743. package/dist/provider/PostHogProvider.js +59 -0
  744. package/dist/provider/PostHogProvider.js.map +1 -0
  745. package/dist/provider/config.d.ts +8 -7
  746. package/dist/provider/statewire-lifecycle-context.cjs +10 -0
  747. package/dist/provider/statewire-lifecycle-context.cjs.map +1 -0
  748. package/dist/provider/statewire-lifecycle-context.js +10 -0
  749. package/dist/provider/statewire-lifecycle-context.js.map +1 -0
  750. package/dist/provider/statewire-window-context.cjs +10 -0
  751. package/dist/provider/statewire-window-context.cjs.map +1 -0
  752. package/dist/provider/statewire-window-context.js +10 -0
  753. package/dist/provider/statewire-window-context.js.map +1 -0
  754. package/dist/runtime/auth.cjs +309 -0
  755. package/dist/runtime/auth.cjs.map +1 -0
  756. package/dist/runtime/auth.d.ts +19 -18
  757. package/dist/runtime/auth.js +309 -0
  758. package/dist/runtime/auth.js.map +1 -0
  759. package/dist/runtime/statewire-auth-headers.cjs +18 -0
  760. package/dist/runtime/statewire-auth-headers.cjs.map +1 -0
  761. package/dist/runtime/statewire-auth-headers.js +18 -0
  762. package/dist/runtime/statewire-auth-headers.js.map +1 -0
  763. package/dist/runtime/statewire-lifecycle.cjs +68 -0
  764. package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
  765. package/dist/runtime/statewire-lifecycle.js +68 -0
  766. package/dist/runtime/statewire-lifecycle.js.map +1 -0
  767. package/dist/runtime/statewire-run-config.cjs +68 -0
  768. package/dist/runtime/statewire-run-config.cjs.map +1 -0
  769. package/dist/runtime/statewire-run-config.js +68 -0
  770. package/dist/runtime/statewire-run-config.js.map +1 -0
  771. package/dist/runtime/statewire-session-key.cjs +11 -0
  772. package/dist/runtime/statewire-session-key.cjs.map +1 -0
  773. package/dist/runtime/statewire-session-key.js +11 -0
  774. package/dist/runtime/statewire-session-key.js.map +1 -0
  775. package/dist/runtime/useAthenaStatewireRuntime.cjs +180 -0
  776. package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
  777. package/dist/runtime/useAthenaStatewireRuntime.js +181 -0
  778. package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -0
  779. package/dist/styles.css +1 -1
  780. package/dist/theme/index.cjs +182 -0
  781. package/dist/theme/index.cjs.map +1 -0
  782. package/dist/theme/index.js +182 -0
  783. package/dist/theme/index.js.map +1 -0
  784. package/dist/threads/ThreadList.cjs +55 -0
  785. package/dist/threads/ThreadList.cjs.map +1 -0
  786. package/dist/threads/ThreadList.js +55 -0
  787. package/dist/threads/ThreadList.js.map +1 -0
  788. package/dist/threads/api.cjs +208 -0
  789. package/dist/threads/api.cjs.map +1 -0
  790. package/dist/threads/api.js +208 -0
  791. package/dist/threads/api.js.map +1 -0
  792. package/dist/threads/conversation-list-fetcher.cjs +74 -0
  793. package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
  794. package/dist/threads/conversation-list-fetcher.js +74 -0
  795. package/dist/threads/conversation-list-fetcher.js.map +1 -0
  796. package/dist/threads/mint-thread-id.cjs +7 -0
  797. package/dist/threads/mint-thread-id.cjs.map +1 -0
  798. package/dist/threads/mint-thread-id.js +7 -0
  799. package/dist/threads/mint-thread-id.js.map +1 -0
  800. package/dist/threads/statewire-thread-list.cjs +232 -0
  801. package/dist/threads/statewire-thread-list.cjs.map +1 -0
  802. package/dist/threads/statewire-thread-list.js +232 -0
  803. package/dist/threads/statewire-thread-list.js.map +1 -0
  804. package/dist/threads/thread-id-context.cjs +22 -0
  805. package/dist/threads/thread-id-context.cjs.map +1 -0
  806. package/dist/threads/thread-id-context.d.ts +9 -0
  807. package/dist/threads/thread-id-context.js +22 -0
  808. package/dist/threads/thread-id-context.js.map +1 -0
  809. package/dist/threads/title.cjs +95 -0
  810. package/dist/threads/title.cjs.map +1 -0
  811. package/dist/threads/title.js +95 -0
  812. package/dist/threads/title.js.map +1 -0
  813. package/dist/threads/use-rest-conversation-history.cjs +80 -0
  814. package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
  815. package/dist/threads/use-rest-conversation-history.js +80 -0
  816. package/dist/threads/use-rest-conversation-history.js.map +1 -0
  817. package/dist/threads/use-statewire-conversation-history.cjs +244 -0
  818. package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
  819. package/dist/threads/use-statewire-conversation-history.d.ts +1 -0
  820. package/dist/threads/use-statewire-conversation-history.js +244 -0
  821. package/dist/threads/use-statewire-conversation-history.js.map +1 -0
  822. package/dist/threads/useAthenaThreadManager.cjs +24 -0
  823. package/dist/threads/useAthenaThreadManager.cjs.map +1 -0
  824. package/dist/threads/useAthenaThreadManager.js +24 -0
  825. package/dist/threads/useAthenaThreadManager.js.map +1 -0
  826. package/dist/toolkits/index.cjs +279 -0
  827. package/dist/toolkits/index.cjs.map +1 -0
  828. package/dist/toolkits/index.js +279 -0
  829. package/dist/toolkits/index.js.map +1 -0
  830. package/dist/tools/NestedPtcMessages.cjs +46 -0
  831. package/dist/tools/NestedPtcMessages.cjs.map +1 -0
  832. package/dist/tools/NestedPtcMessages.js +46 -0
  833. package/dist/tools/NestedPtcMessages.js.map +1 -0
  834. package/dist/tools/append-document-tool-ui.cjs +145 -0
  835. package/dist/tools/append-document-tool-ui.cjs.map +1 -0
  836. package/dist/tools/append-document-tool-ui.js +145 -0
  837. package/dist/tools/append-document-tool-ui.js.map +1 -0
  838. package/dist/tools/asset-utils.cjs +16 -0
  839. package/dist/tools/asset-utils.cjs.map +1 -0
  840. package/dist/tools/asset-utils.js +16 -0
  841. package/dist/tools/asset-utils.js.map +1 -0
  842. package/dist/tools/auto-open-tools.cjs +121 -0
  843. package/dist/tools/auto-open-tools.cjs.map +1 -0
  844. package/dist/tools/auto-open-tools.js +121 -0
  845. package/dist/tools/auto-open-tools.js.map +1 -0
  846. package/dist/tools/file-tool-uis.cjs +108 -0
  847. package/dist/tools/file-tool-uis.cjs.map +1 -0
  848. package/dist/tools/file-tool-uis.js +108 -0
  849. package/dist/tools/file-tool-uis.js.map +1 -0
  850. package/dist/tools/index.cjs +57 -0
  851. package/dist/tools/index.cjs.map +1 -0
  852. package/dist/tools/index.d.ts +1 -0
  853. package/dist/tools/index.js +57 -0
  854. package/dist/tools/index.js.map +1 -0
  855. package/dist/tools/misc-tool-uis.cjs +55 -0
  856. package/dist/tools/misc-tool-uis.cjs.map +1 -0
  857. package/dist/{misc-tool-uis-gAiQw0Yl.js → tools/misc-tool-uis.js} +18 -7
  858. package/dist/tools/misc-tool-uis.js.map +1 -0
  859. package/dist/tools/primitives.cjs +167 -0
  860. package/dist/tools/primitives.cjs.map +1 -0
  861. package/dist/tools/primitives.js +167 -0
  862. package/dist/tools/primitives.js.map +1 -0
  863. package/dist/tools/read-asset-tool-ui.cjs +284 -0
  864. package/dist/tools/read-asset-tool-ui.cjs.map +1 -0
  865. package/dist/tools/read-asset-tool-ui.js +284 -0
  866. package/dist/tools/read-asset-tool-ui.js.map +1 -0
  867. package/dist/tools/todo-plan-store.cjs +88 -0
  868. package/dist/tools/todo-plan-store.cjs.map +1 -0
  869. package/dist/tools/todo-plan-store.js +88 -0
  870. package/dist/tools/todo-plan-store.js.map +1 -0
  871. package/dist/tools/tool-fallback.cjs +668 -0
  872. package/dist/tools/tool-fallback.cjs.map +1 -0
  873. package/dist/tools/tool-fallback.js +668 -0
  874. package/dist/tools/tool-fallback.js.map +1 -0
  875. package/dist/tools/tool-icons.cjs +61 -0
  876. package/dist/tools/tool-icons.cjs.map +1 -0
  877. package/dist/tools/tool-icons.js +61 -0
  878. package/dist/tools/tool-icons.js.map +1 -0
  879. package/dist/tools/tool-uis.cjs +3049 -0
  880. package/dist/tools/tool-uis.cjs.map +1 -0
  881. package/dist/tools/tool-uis.js +3049 -0
  882. package/dist/tools/tool-uis.js.map +1 -0
  883. package/dist/tools/voice-update-tool-ui.cjs +90 -0
  884. package/dist/tools/voice-update-tool-ui.cjs.map +1 -0
  885. package/dist/tools/voice-update-tool-ui.d.ts +27 -0
  886. package/dist/tools/voice-update-tool-ui.js +90 -0
  887. package/dist/tools/voice-update-tool-ui.js.map +1 -0
  888. package/dist/tools/write-todos-tool-ui.cjs +270 -0
  889. package/dist/tools/write-todos-tool-ui.cjs.map +1 -0
  890. package/dist/tools/write-todos-tool-ui.js +270 -0
  891. package/dist/tools/write-todos-tool-ui.js.map +1 -0
  892. package/dist/ui/button.cjs +57 -0
  893. package/dist/ui/button.cjs.map +1 -0
  894. package/dist/ui/button.js +57 -0
  895. package/dist/ui/button.js.map +1 -0
  896. package/dist/ui/collapsible.cjs +17 -0
  897. package/dist/ui/collapsible.cjs.map +1 -0
  898. package/dist/ui/collapsible.js +17 -0
  899. package/dist/ui/collapsible.js.map +1 -0
  900. package/dist/ui/tooltip.cjs +48 -0
  901. package/dist/ui/tooltip.cjs.map +1 -0
  902. package/dist/ui/tooltip.js +48 -0
  903. package/dist/ui/tooltip.js.map +1 -0
  904. package/dist/version.cjs +6 -0
  905. package/dist/version.cjs.map +1 -0
  906. package/dist/version.js +6 -0
  907. package/dist/version.js.map +1 -0
  908. package/dist/voice/index.cjs +6 -0
  909. package/dist/voice/index.cjs.map +1 -0
  910. package/dist/voice/index.d.ts +2 -0
  911. package/dist/voice/index.js +6 -0
  912. package/dist/voice/index.js.map +1 -0
  913. package/dist/voice/use-athena-voice-session.cjs +315 -0
  914. package/dist/voice/use-athena-voice-session.cjs.map +1 -0
  915. package/dist/voice/use-athena-voice-session.d.ts +145 -0
  916. package/dist/voice/use-athena-voice-session.js +315 -0
  917. package/dist/voice/use-athena-voice-session.js.map +1 -0
  918. package/package.json +32 -20
  919. package/dist/AthenaAuthContext-B3AwLA5Z.cjs.map +0 -1
  920. package/dist/AthenaAuthContext-DQsdayH2.js.map +0 -1
  921. package/dist/AthenaContext-B1QMhIP-.cjs.map +0 -1
  922. package/dist/AthenaContext-MOslgOmE.js.map +0 -1
  923. package/dist/SuperGroupingCard-BsWbHyV_.js +0 -795
  924. package/dist/SuperGroupingCard-BsWbHyV_.js.map +0 -1
  925. package/dist/SuperGroupingCard-CRRFUgjN.cjs +0 -794
  926. package/dist/SuperGroupingCard-CRRFUgjN.cjs.map +0 -1
  927. package/dist/auth.cjs.map +0 -1
  928. package/dist/auth.js.map +0 -1
  929. package/dist/chat/ComposerEditorContext.d.ts +0 -36
  930. package/dist/chat/tiptap-composer.d.ts +0 -7
  931. package/dist/chat-ui-statewire.cjs +0 -25
  932. package/dist/chat-ui-statewire.cjs.map +0 -1
  933. package/dist/chat-ui-statewire.js +0 -25
  934. package/dist/chat-ui-statewire.js.map +0 -1
  935. package/dist/chat-ui.cjs +0 -2484
  936. package/dist/chat-ui.cjs.map +0 -1
  937. package/dist/chat-ui.js +0 -2486
  938. package/dist/chat-ui.js.map +0 -1
  939. package/dist/collab.cjs.map +0 -1
  940. package/dist/collab.js.map +0 -1
  941. package/dist/mentions/composer-keybinds.d.ts +0 -5
  942. package/dist/mentions/mention-extension.d.ts +0 -6
  943. package/dist/mentions/mention-icons.d.ts +0 -4
  944. package/dist/mentions/mention-node-view.d.ts +0 -2
  945. package/dist/mentions/mention-suggestion-list.d.ts +0 -14
  946. package/dist/mentions/mention-suggestion-popup.d.ts +0 -15
  947. package/dist/mentions/mention-suggestions-extension.d.ts +0 -11
  948. package/dist/mentions/mention-types.d.ts +0 -21
  949. package/dist/mentions/mention-utils.d.ts +0 -23
  950. package/dist/mentions/use-mention-suggestions.d.ts +0 -29
  951. package/dist/misc-tool-uis-B2e0Okkn.cjs +0 -43
  952. package/dist/misc-tool-uis-B2e0Okkn.cjs.map +0 -1
  953. package/dist/misc-tool-uis-gAiQw0Yl.js.map +0 -1
  954. package/dist/statewire-continue-run-D34gS7_1.js.map +0 -1
  955. package/dist/statewire-continue-run-nE9VCKUh.cjs.map +0 -1
  956. package/dist/statewire-history-edge-C8uyTEjX.cjs +0 -1711
  957. package/dist/statewire-history-edge-C8uyTEjX.cjs.map +0 -1
  958. package/dist/statewire-history-edge-CPohUKMt.js +0 -1712
  959. package/dist/statewire-history-edge-CPohUKMt.js.map +0 -1
  960. package/dist/super-grouping.cjs +0 -22
  961. package/dist/super-grouping.cjs.map +0 -1
  962. package/dist/super-grouping.js +0 -22
  963. package/dist/super-grouping.js.map +0 -1
  964. package/dist/tool-fallback-DkQ3DLkn.js +0 -4281
  965. package/dist/tool-fallback-DkQ3DLkn.js.map +0 -1
  966. package/dist/tool-fallback-kfhpJQZa.cjs +0 -4297
  967. package/dist/tool-fallback-kfhpJQZa.cjs.map +0 -1
  968. package/dist/tools.cjs +0 -41
  969. package/dist/tools.cjs.map +0 -1
  970. package/dist/tools.js +0 -41
  971. package/dist/tools.js.map +0 -1
  972. package/dist/trash-2-B5OaNAL7.cjs +0 -5096
  973. package/dist/trash-2-B5OaNAL7.cjs.map +0 -1
  974. package/dist/trash-2-CCwSURL-.js +0 -5081
  975. package/dist/trash-2-CCwSURL-.js.map +0 -1
  976. package/dist/use-rest-conversation-history-Cm8qMRxp.cjs +0 -32397
  977. package/dist/use-rest-conversation-history-Cm8qMRxp.cjs.map +0 -1
  978. package/dist/use-rest-conversation-history-veDZS-oL.js +0 -32361
  979. package/dist/use-rest-conversation-history-veDZS-oL.js.map +0 -1
  980. package/dist/wrench-BEf72cyP.cjs +0 -417
  981. package/dist/wrench-BEf72cyP.cjs.map +0 -1
  982. package/dist/wrench-CbrOlVYm.js +0 -418
  983. package/dist/wrench-CbrOlVYm.js.map +0 -1
  984. package/dist/x-Dfd2NzK0.cjs +0 -42
  985. package/dist/x-Dfd2NzK0.cjs.map +0 -1
  986. package/dist/x-_DntAa_a.js +0 -43
  987. package/dist/x-_DntAa_a.js.map +0 -1
@@ -0,0 +1,309 @@
1
+ import { useMemo, useState, useRef, useEffect } from "react";
2
+ import { athenaDiagnostics } from "../diagnostics/athena-diagnostics.js";
3
+ function isTrustedOrigin({
4
+ origin,
5
+ trustedOrigins
6
+ }) {
7
+ try {
8
+ const normalizedOrigin = new URL(origin).origin;
9
+ if (trustedOrigins.includes(normalizedOrigin)) {
10
+ return true;
11
+ }
12
+ const { hostname } = new URL(normalizedOrigin);
13
+ return hostname === "athenaintel.com" || hostname.endsWith(".athenaintel.com") || hostname === "localhost";
14
+ } catch {
15
+ return false;
16
+ }
17
+ }
18
+ const BRIDGE_URL_FIELDS = ["statewireSyncUrl", "backendBaseUrl", "appUrl"];
19
+ const EMPTY_BRIDGE_URLS = {
20
+ statewireSyncUrl: null,
21
+ backendBaseUrl: null,
22
+ appUrl: null
23
+ };
24
+ function mergeBridgeConfigMessage(previous, payload) {
25
+ const next = {
26
+ statewireSyncUrl: previous.statewireSyncUrl,
27
+ backendBaseUrl: previous.backendBaseUrl,
28
+ appUrl: previous.appUrl
29
+ };
30
+ for (const field of BRIDGE_URL_FIELDS) {
31
+ const value = payload[field];
32
+ if (typeof value === "string") {
33
+ next[field] = value;
34
+ }
35
+ }
36
+ return next;
37
+ }
38
+ function readAuthMintUrls(data) {
39
+ return mergeBridgeConfigMessage(EMPTY_BRIDGE_URLS, data);
40
+ }
41
+ const BRIDGE_TIMEOUT_MS = 2e3;
42
+ const TOKEN_REFRESH_BUFFER_MS = 5 * 60 * 1e3;
43
+ const TOKEN_REFRESH_RETRY_BASE_MS = 60 * 1e3;
44
+ const TOKEN_REFRESH_RETRY_MAX_MS = 5 * 60 * 1e3;
45
+ const DEFAULT_TOKEN_REFRESH_MS = 55 * 60 * 1e3;
46
+ const EMPTY_TRUSTED_ORIGINS = [];
47
+ const normalizeOrigin = (value) => {
48
+ try {
49
+ return new URL(value).origin;
50
+ } catch {
51
+ return null;
52
+ }
53
+ };
54
+ const getTokenRefreshDelay = (expiresAt, nowMs) => {
55
+ if (typeof expiresAt !== "string") {
56
+ return DEFAULT_TOKEN_REFRESH_MS;
57
+ }
58
+ const expiresAtMs = Date.parse(expiresAt);
59
+ if (!Number.isFinite(expiresAtMs)) {
60
+ return DEFAULT_TOKEN_REFRESH_MS;
61
+ }
62
+ return Math.max(TOKEN_REFRESH_RETRY_BASE_MS, expiresAtMs - nowMs - TOKEN_REFRESH_BUFFER_MS);
63
+ };
64
+ const getAuthRetryDelay = (retryAttempt) => {
65
+ const safeAttempt = Number.isFinite(retryAttempt) ? Math.max(0, Math.floor(retryAttempt)) : 0;
66
+ return Math.min(TOKEN_REFRESH_RETRY_MAX_MS, TOKEN_REFRESH_RETRY_BASE_MS * 2 ** safeAttempt);
67
+ };
68
+ function useParentBridge({
69
+ trustedOrigins = EMPTY_TRUSTED_ORIGINS
70
+ } = {}) {
71
+ const isInIframe = typeof window !== "undefined" && window.parent !== window;
72
+ const runtimeTrustedOrigins = useMemo(() => {
73
+ const origins = /* @__PURE__ */ new Set();
74
+ if (typeof window !== "undefined") {
75
+ origins.add(window.location.origin);
76
+ }
77
+ for (const trustedOrigin of trustedOrigins) {
78
+ const normalizedOrigin = normalizeOrigin(trustedOrigin);
79
+ if (normalizedOrigin) {
80
+ origins.add(normalizedOrigin);
81
+ }
82
+ }
83
+ return [...origins];
84
+ }, [trustedOrigins]);
85
+ const [state, setState] = useState({
86
+ token: null,
87
+ ...EMPTY_BRIDGE_URLS,
88
+ hostAnswered: false,
89
+ ready: false
90
+ });
91
+ const readySignalSent = useRef(false);
92
+ const configReceived = useRef(false);
93
+ useEffect(() => {
94
+ if (!isInIframe) return;
95
+ const endBridgeSpan = athenaDiagnostics.span("auth.bridge", "auth.bridge.start", {
96
+ mode: "iframe"
97
+ });
98
+ let spanEnded = false;
99
+ const endOnce = (name, options) => {
100
+ if (spanEnded) return 0;
101
+ spanEnded = true;
102
+ return endBridgeSpan(name, options);
103
+ };
104
+ const handler = (event) => {
105
+ if (!isTrustedOrigin({ origin: event.origin, trustedOrigins: runtimeTrustedOrigins })) {
106
+ return;
107
+ }
108
+ if (!event.data || typeof event.data !== "object") return;
109
+ if (event.data.type === "athena-config") {
110
+ configReceived.current = true;
111
+ setState((prev) => ({
112
+ ...prev,
113
+ ...mergeBridgeConfigMessage(prev, event.data),
114
+ hostAnswered: true
115
+ // Don't set ready here — wait for athena-auth (token) or the timeout.
116
+ // Setting ready on config alone causes a race: the thread list fires
117
+ // before the token arrives, falling back to X-API-KEY.
118
+ }));
119
+ }
120
+ if (event.data.type === "athena-auth" && typeof event.data.token === "string") {
121
+ endOnce("auth.bridge.ready", { data: { mode: "iframe" } });
122
+ athenaDiagnostics.emit("auth.token.acquired", {
123
+ level: "debug",
124
+ data: { source: "iframe-postmessage" }
125
+ });
126
+ setState((prev) => ({
127
+ ...prev,
128
+ token: event.data.token,
129
+ ready: true
130
+ }));
131
+ }
132
+ };
133
+ window.addEventListener("message", handler);
134
+ if (!readySignalSent.current) {
135
+ window.parent.postMessage({ type: "athena-auth-ready" }, "*");
136
+ readySignalSent.current = true;
137
+ }
138
+ const timer = setTimeout(() => {
139
+ endOnce("auth.bridge.timeout", {
140
+ data: {
141
+ mode: "iframe",
142
+ timeout_ms: BRIDGE_TIMEOUT_MS,
143
+ config_received: configReceived.current
144
+ }
145
+ });
146
+ setState((prev) => prev.ready ? prev : { ...prev, ready: true });
147
+ }, BRIDGE_TIMEOUT_MS);
148
+ return () => {
149
+ window.removeEventListener("message", handler);
150
+ clearTimeout(timer);
151
+ };
152
+ }, [isInIframe, runtimeTrustedOrigins]);
153
+ useEffect(() => {
154
+ if (isInIframe) return;
155
+ if (typeof window === "undefined") return;
156
+ let cancelled = false;
157
+ let requestTimer = null;
158
+ let refreshTimer = null;
159
+ let controller = null;
160
+ let retryAttempt = 0;
161
+ const clearRequestTimer = () => {
162
+ if (requestTimer) {
163
+ clearTimeout(requestTimer);
164
+ requestTimer = null;
165
+ }
166
+ };
167
+ const clearRefreshTimer = () => {
168
+ if (refreshTimer) {
169
+ clearTimeout(refreshTimer);
170
+ refreshTimer = null;
171
+ }
172
+ };
173
+ const markReady = () => {
174
+ if (cancelled) return;
175
+ setState((prev) => prev.ready ? prev : { ...prev, ready: true });
176
+ };
177
+ const scheduleRefresh = (expiresAt) => {
178
+ clearRefreshTimer();
179
+ retryAttempt = 0;
180
+ const delay = getTokenRefreshDelay(expiresAt, Date.now());
181
+ refreshTimer = setTimeout(() => {
182
+ void fetchAuth({ markReadyOnFailure: false });
183
+ }, delay);
184
+ };
185
+ const scheduleRetry = () => {
186
+ clearRefreshTimer();
187
+ const delay = getAuthRetryDelay(retryAttempt);
188
+ retryAttempt += 1;
189
+ refreshTimer = setTimeout(() => {
190
+ void fetchAuth({ markReadyOnFailure: false });
191
+ }, delay);
192
+ };
193
+ const fetchAuth = async ({
194
+ markReadyOnFailure
195
+ }) => {
196
+ controller == null ? void 0 : controller.abort();
197
+ controller = new AbortController();
198
+ const isInitial = markReadyOnFailure;
199
+ const rawEndSpan = isInitial ? athenaDiagnostics.span("auth.bridge", "auth.bridge.start", { mode: "marathon" }) : null;
200
+ let spanEnded = false;
201
+ const endBridgeSpan = rawEndSpan ? (name, options) => {
202
+ if (spanEnded) return 0;
203
+ spanEnded = true;
204
+ return rawEndSpan(name, options);
205
+ } : null;
206
+ clearRequestTimer();
207
+ requestTimer = setTimeout(() => {
208
+ controller == null ? void 0 : controller.abort();
209
+ endBridgeSpan == null ? void 0 : endBridgeSpan("auth.bridge.timeout", {
210
+ data: { mode: "marathon", timeout_ms: BRIDGE_TIMEOUT_MS }
211
+ });
212
+ if (markReadyOnFailure) {
213
+ markReady();
214
+ }
215
+ }, BRIDGE_TIMEOUT_MS);
216
+ try {
217
+ const resp = await fetch("/_athena/auth", {
218
+ credentials: "include",
219
+ headers: { Accept: "application/json" },
220
+ signal: controller.signal
221
+ });
222
+ if (cancelled) return;
223
+ if (!resp.ok) {
224
+ if (resp.status === 404) {
225
+ endBridgeSpan == null ? void 0 : endBridgeSpan("auth.bridge.absent", {
226
+ data: { mode: "marathon", status: resp.status }
227
+ });
228
+ markReady();
229
+ } else {
230
+ const failure = {
231
+ level: "warn",
232
+ data: { mode: "marathon", status: resp.status }
233
+ };
234
+ if (endBridgeSpan) {
235
+ endBridgeSpan("auth.bridge.error", failure);
236
+ } else {
237
+ athenaDiagnostics.emit("auth.token.refresh_failed", failure);
238
+ }
239
+ if (markReadyOnFailure) {
240
+ markReady();
241
+ }
242
+ scheduleRetry();
243
+ }
244
+ return;
245
+ }
246
+ const data = await resp.json();
247
+ if (cancelled) return;
248
+ if (endBridgeSpan) {
249
+ endBridgeSpan("auth.bridge.ready", {
250
+ data: { mode: "marathon", has_token: typeof data.token === "string" }
251
+ });
252
+ athenaDiagnostics.emit("auth.token.acquired", {
253
+ level: "debug",
254
+ data: { source: "marathon", expires_at: data.expires_at }
255
+ });
256
+ } else {
257
+ athenaDiagnostics.emit("auth.token.refreshed", {
258
+ level: "debug",
259
+ data: { source: "marathon", expires_at: data.expires_at }
260
+ });
261
+ }
262
+ setState({
263
+ token: typeof data.token === "string" ? data.token : null,
264
+ ...readAuthMintUrls(data),
265
+ hostAnswered: true,
266
+ ready: true
267
+ });
268
+ scheduleRefresh(data.expires_at);
269
+ } catch (error) {
270
+ if (!cancelled && !(error instanceof DOMException && error.name === "AbortError")) {
271
+ const failure = { level: "warn", data: { mode: "marathon" }, error };
272
+ if (endBridgeSpan) {
273
+ endBridgeSpan("auth.bridge.error", failure);
274
+ } else {
275
+ athenaDiagnostics.emit("auth.token.refresh_failed", failure);
276
+ }
277
+ }
278
+ if (markReadyOnFailure) {
279
+ markReady();
280
+ }
281
+ if (!cancelled) {
282
+ scheduleRetry();
283
+ }
284
+ } finally {
285
+ clearRequestTimer();
286
+ }
287
+ };
288
+ void fetchAuth({ markReadyOnFailure: true });
289
+ return () => {
290
+ cancelled = true;
291
+ controller == null ? void 0 : controller.abort();
292
+ clearRequestTimer();
293
+ clearRefreshTimer();
294
+ };
295
+ }, [isInIframe]);
296
+ return state;
297
+ }
298
+ function useParentAuth() {
299
+ return useParentBridge().token;
300
+ }
301
+ export {
302
+ getAuthRetryDelay,
303
+ getTokenRefreshDelay,
304
+ mergeBridgeConfigMessage,
305
+ readAuthMintUrls,
306
+ useParentAuth,
307
+ useParentBridge
308
+ };
309
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sources":["../../src/runtime/auth.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { athenaDiagnostics } from '../diagnostics/athena-diagnostics';\n\n/**\n * Check whether a PostMessage origin is trusted.\n * Accepts:\n * - explicit trusted origins passed by the host app\n * - the current iframe origin (for same-origin wrappers like Marathon)\n * - any *.athenaintel.com subdomain and localhost (legacy/default behavior)\n */\nfunction isTrustedOrigin({\n origin,\n trustedOrigins,\n}: {\n origin: string;\n trustedOrigins: string[];\n}): boolean {\n try {\n const normalizedOrigin = new URL(origin).origin;\n if (trustedOrigins.includes(normalizedOrigin)) {\n return true;\n }\n\n const { hostname } = new URL(normalizedOrigin);\n return (\n hostname === 'athenaintel.com' ||\n hostname.endsWith('.athenaintel.com') ||\n hostname === 'localhost'\n );\n } catch {\n return false;\n }\n}\n\nexport interface ParentBridgeState {\n /** PropelAuth access token from the parent window. */\n token: string | null;\n /**\n * Statewire sync mount (`…/v2/threads`) minted by the host. `null` when the\n * host minted none; the provider then derives it from the configured\n * `apiUrl`'s origin (or the environment preset).\n */\n statewireSyncUrl: string | null;\n /**\n * Bare Agora API base (no path) minted by the host. `null` when the host\n * minted none; the provider then uses the configured `backendUrl` (or the\n * environment preset).\n */\n backendBaseUrl: string | null;\n /** Athena frontend origin provided by the parent wrapper. */\n appUrl: string | null;\n /**\n * True once a host answered the bridge — a `/_athena/auth` mint or an\n * `athena-config` message — whether or not it minted the statewire fields.\n * Lets the provider tell an outdated host (answered, no mount) from no host\n * at all (the environment preset applies).\n */\n hostAnswered: boolean;\n /** True once config has been received from the parent (or timeout fired). */\n ready: boolean;\n}\n\nconst BRIDGE_URL_FIELDS = ['statewireSyncUrl', 'backendBaseUrl', 'appUrl'] as const;\n\ntype BridgeUrlField = (typeof BRIDGE_URL_FIELDS)[number];\n\n/** The URL half of {@link ParentBridgeState} — what a host can hand the SDK. */\nexport type ParentBridgeUrls = Pick<ParentBridgeState, BridgeUrlField>;\n\nconst EMPTY_BRIDGE_URLS: ParentBridgeUrls = {\n statewireSyncUrl: null,\n backendBaseUrl: null,\n appUrl: null,\n};\n\n/**\n * Fold an `athena-config` postMessage payload over the current URL set. A\n * field is taken only when it is a string; anything else keeps the previous\n * value. Keys outside {@link BridgeUrlField} (a legacy parent's `apiUrl` /\n * `backendUrl` among them) are dropped.\n */\nexport function mergeBridgeConfigMessage(\n previous: ParentBridgeUrls,\n payload: Partial<Record<BridgeUrlField, unknown>>,\n): ParentBridgeUrls {\n const next: ParentBridgeUrls = {\n statewireSyncUrl: previous.statewireSyncUrl,\n backendBaseUrl: previous.backendBaseUrl,\n appUrl: previous.appUrl,\n };\n for (const field of BRIDGE_URL_FIELDS) {\n const value = payload[field];\n if (typeof value === 'string') {\n next[field] = value;\n }\n }\n return next;\n}\n\n/**\n * Read the URL set out of a `/_athena/auth` mint body. Non-string fields are\n * `null`.\n */\nexport function readAuthMintUrls(data: Partial<Record<BridgeUrlField, unknown>>): ParentBridgeUrls {\n return mergeBridgeConfigMessage(EMPTY_BRIDGE_URLS, data);\n}\n\nexport interface ParentBridgeOptions {\n /**\n * Exact parent origins that are allowed to send auth/config via postMessage.\n * Useful for private-cloud or custom-domain deployments.\n */\n trustedOrigins?: string[];\n}\n\n/** How long to wait for the parent bridge before falling back to defaults. */\nconst BRIDGE_TIMEOUT_MS = 2000;\nconst TOKEN_REFRESH_BUFFER_MS = 5 * 60 * 1000;\nconst TOKEN_REFRESH_RETRY_BASE_MS = 60 * 1000;\nconst TOKEN_REFRESH_RETRY_MAX_MS = 5 * 60 * 1000;\nconst DEFAULT_TOKEN_REFRESH_MS = 55 * 60 * 1000;\nconst EMPTY_TRUSTED_ORIGINS: string[] = [];\n\n/** Untrusted shape of the `/_athena/auth` mint body; every field is type-guarded on read. */\ninterface AthenaAuthResponse {\n token?: unknown;\n statewireSyncUrl?: unknown;\n backendBaseUrl?: unknown;\n appUrl?: unknown;\n expires_at?: unknown;\n}\n\nconst normalizeOrigin = (value: string): string | null => {\n try {\n return new URL(value).origin;\n } catch {\n return null;\n }\n};\n\nexport const getTokenRefreshDelay = (expiresAt: unknown, nowMs: number): number => {\n if (typeof expiresAt !== 'string') {\n return DEFAULT_TOKEN_REFRESH_MS;\n }\n\n const expiresAtMs = Date.parse(expiresAt);\n if (!Number.isFinite(expiresAtMs)) {\n return DEFAULT_TOKEN_REFRESH_MS;\n }\n\n return Math.max(TOKEN_REFRESH_RETRY_BASE_MS, expiresAtMs - nowMs - TOKEN_REFRESH_BUFFER_MS);\n};\n\nexport const getAuthRetryDelay = (retryAttempt: number): number => {\n const safeAttempt = Number.isFinite(retryAttempt) ? Math.max(0, Math.floor(retryAttempt)) : 0;\n return Math.min(TOKEN_REFRESH_RETRY_MAX_MS, TOKEN_REFRESH_RETRY_BASE_MS * 2 ** safeAttempt);\n};\n\n/**\n * Listens for auth tokens AND environment config from the host environment.\n *\n * Two transport modes, picked automatically:\n *\n * 1. **Iframe (legacy / Olympus inline preview)**: a parent window posts\n * `athena-config` and `athena-auth` via PostMessage. The hook also posts\n * `athena-auth-ready` so the parent knows when to (re-)send.\n *\n * 2. **Standalone (Marathon-served deploy URL)**: top-level navigation, no\n * parent. The hook fetches `/_athena/auth` on its own origin. Marathon\n * validates its session cookie (sent by the browser automatically) and\n * returns `{ token, statewireSyncUrl, backendBaseUrl, appUrl }` — the\n * statewire mount, the bare Agora base and the app origin. A 404 means\n * we're not on a Marathon origin — the hook falls through with empty\n * state.\n *\n * In both modes a timeout safety net flips `ready: true` so the app never\n * blocks indefinitely.\n */\nexport function useParentBridge({\n trustedOrigins = EMPTY_TRUSTED_ORIGINS,\n}: ParentBridgeOptions = {}): ParentBridgeState {\n const isInIframe = typeof window !== 'undefined' && window.parent !== window;\n const runtimeTrustedOrigins = useMemo(() => {\n const origins = new Set<string>();\n\n if (typeof window !== 'undefined') {\n origins.add(window.location.origin);\n }\n\n for (const trustedOrigin of trustedOrigins) {\n const normalizedOrigin = normalizeOrigin(trustedOrigin);\n if (normalizedOrigin) {\n origins.add(normalizedOrigin);\n }\n }\n\n return [...origins];\n }, [trustedOrigins]);\n\n const [state, setState] = useState<ParentBridgeState>({\n token: null,\n ...EMPTY_BRIDGE_URLS,\n hostAnswered: false,\n ready: false,\n });\n const readySignalSent = useRef(false);\n const configReceived = useRef(false);\n\n useEffect(() => {\n if (!isInIframe) return;\n\n const endBridgeSpan = athenaDiagnostics.span('auth.bridge', 'auth.bridge.start', {\n mode: 'iframe',\n });\n let spanEnded = false;\n const endOnce: typeof endBridgeSpan = (name, options) => {\n if (spanEnded) return 0;\n spanEnded = true;\n return endBridgeSpan(name, options);\n };\n\n const handler = (event: MessageEvent) => {\n if (!isTrustedOrigin({ origin: event.origin, trustedOrigins: runtimeTrustedOrigins })) {\n return;\n }\n if (!event.data || typeof event.data !== 'object') return;\n\n if (event.data.type === 'athena-config') {\n configReceived.current = true;\n setState((prev) => ({\n ...prev,\n ...mergeBridgeConfigMessage(prev, event.data),\n hostAnswered: true,\n // Don't set ready here — wait for athena-auth (token) or the timeout.\n // Setting ready on config alone causes a race: the thread list fires\n // before the token arrives, falling back to X-API-KEY.\n }));\n }\n\n if (event.data.type === 'athena-auth' && typeof event.data.token === 'string') {\n endOnce('auth.bridge.ready', { data: { mode: 'iframe' } });\n athenaDiagnostics.emit('auth.token.acquired', {\n level: 'debug',\n data: { source: 'iframe-postmessage' },\n });\n setState((prev) => ({\n ...prev,\n token: event.data.token,\n ready: true,\n }));\n }\n };\n window.addEventListener('message', handler);\n\n if (!readySignalSent.current) {\n window.parent.postMessage({ type: 'athena-auth-ready' }, '*');\n readySignalSent.current = true;\n }\n\n const timer = setTimeout(() => {\n endOnce('auth.bridge.timeout', {\n data: {\n mode: 'iframe',\n timeout_ms: BRIDGE_TIMEOUT_MS,\n config_received: configReceived.current,\n },\n });\n setState((prev) => (prev.ready ? prev : { ...prev, ready: true }));\n }, BRIDGE_TIMEOUT_MS);\n\n return () => {\n window.removeEventListener('message', handler);\n clearTimeout(timer);\n };\n }, [isInIframe, runtimeTrustedOrigins]);\n\n useEffect(() => {\n if (isInIframe) return;\n if (typeof window === 'undefined') return;\n\n let cancelled = false;\n let requestTimer: ReturnType<typeof setTimeout> | null = null;\n let refreshTimer: ReturnType<typeof setTimeout> | null = null;\n let controller: AbortController | null = null;\n let retryAttempt = 0;\n\n const clearRequestTimer = () => {\n if (requestTimer) {\n clearTimeout(requestTimer);\n requestTimer = null;\n }\n };\n\n const clearRefreshTimer = () => {\n if (refreshTimer) {\n clearTimeout(refreshTimer);\n refreshTimer = null;\n }\n };\n\n const markReady = () => {\n if (cancelled) return;\n setState((prev) => (prev.ready ? prev : { ...prev, ready: true }));\n };\n\n const scheduleRefresh = (expiresAt: unknown) => {\n clearRefreshTimer();\n retryAttempt = 0;\n const delay = getTokenRefreshDelay(expiresAt, Date.now());\n refreshTimer = setTimeout(() => {\n void fetchAuth({ markReadyOnFailure: false });\n }, delay);\n };\n\n const scheduleRetry = () => {\n clearRefreshTimer();\n const delay = getAuthRetryDelay(retryAttempt);\n retryAttempt += 1;\n refreshTimer = setTimeout(() => {\n void fetchAuth({ markReadyOnFailure: false });\n }, delay);\n };\n\n const fetchAuth = async ({\n markReadyOnFailure,\n }: {\n markReadyOnFailure: boolean;\n }) => {\n controller?.abort();\n controller = new AbortController();\n\n // `markReadyOnFailure` distinguishes the initial acquisition (a span the\n // provider blocks on) from a background refresh. Idempotent: the abort\n // timer and the catch path can both reach an end call.\n const isInitial = markReadyOnFailure;\n const rawEndSpan = isInitial\n ? athenaDiagnostics.span('auth.bridge', 'auth.bridge.start', { mode: 'marathon' })\n : null;\n let spanEnded = false;\n const endBridgeSpan: typeof rawEndSpan = rawEndSpan\n ? (name, options) => {\n if (spanEnded) return 0;\n spanEnded = true;\n return rawEndSpan(name, options);\n }\n : null;\n\n clearRequestTimer();\n requestTimer = setTimeout(() => {\n controller?.abort();\n endBridgeSpan?.('auth.bridge.timeout', {\n data: { mode: 'marathon', timeout_ms: BRIDGE_TIMEOUT_MS },\n });\n if (markReadyOnFailure) {\n markReady();\n }\n }, BRIDGE_TIMEOUT_MS);\n\n try {\n const resp = await fetch('/_athena/auth', {\n credentials: 'include',\n headers: { Accept: 'application/json' },\n signal: controller.signal,\n });\n if (cancelled) return;\n\n if (!resp.ok) {\n if (resp.status === 404) {\n // Not a Marathon origin — expected for standalone/local dev.\n endBridgeSpan?.('auth.bridge.absent', {\n data: { mode: 'marathon', status: resp.status },\n });\n markReady();\n } else {\n const failure = {\n level: 'warn' as const,\n data: { mode: 'marathon', status: resp.status },\n };\n if (endBridgeSpan) {\n endBridgeSpan('auth.bridge.error', failure);\n } else {\n athenaDiagnostics.emit('auth.token.refresh_failed', failure);\n }\n if (markReadyOnFailure) {\n markReady();\n }\n scheduleRetry();\n }\n return;\n }\n\n const data = (await resp.json()) as AthenaAuthResponse;\n if (cancelled) return;\n\n if (endBridgeSpan) {\n endBridgeSpan('auth.bridge.ready', {\n data: { mode: 'marathon', has_token: typeof data.token === 'string' },\n });\n athenaDiagnostics.emit('auth.token.acquired', {\n level: 'debug',\n data: { source: 'marathon', expires_at: data.expires_at },\n });\n } else {\n athenaDiagnostics.emit('auth.token.refreshed', {\n level: 'debug',\n data: { source: 'marathon', expires_at: data.expires_at },\n });\n }\n\n setState({\n token: typeof data.token === 'string' ? data.token : null,\n ...readAuthMintUrls(data),\n hostAnswered: true,\n ready: true,\n });\n scheduleRefresh(data.expires_at);\n } catch (error) {\n if (!cancelled && !(error instanceof DOMException && error.name === 'AbortError')) {\n const failure = { level: 'warn' as const, data: { mode: 'marathon' }, error };\n if (endBridgeSpan) {\n endBridgeSpan('auth.bridge.error', failure);\n } else {\n athenaDiagnostics.emit('auth.token.refresh_failed', failure);\n }\n }\n if (markReadyOnFailure) {\n markReady();\n }\n if (!cancelled) {\n scheduleRetry();\n }\n } finally {\n clearRequestTimer();\n }\n };\n\n void fetchAuth({ markReadyOnFailure: true });\n\n return () => {\n cancelled = true;\n controller?.abort();\n clearRequestTimer();\n clearRefreshTimer();\n };\n }, [isInIframe]);\n\n return state;\n}\n\n/**\n * Legacy hook — returns just the auth token from the parent bridge.\n * Prefer useParentBridge() for new code.\n */\nexport function useParentAuth(): string | null {\n return useParentBridge().token;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ async function resolveStatewireAuthToken(source, { staleAuth }) {
4
+ return source.getToken ? await source.getToken({ force: staleAuth }) ?? source.token : source.token;
5
+ }
6
+ async function resolveStatewireAuthHeaders(source, { staleAuth }) {
7
+ const currentToken = await resolveStatewireAuthToken(source, { staleAuth });
8
+ if (currentToken) {
9
+ return { Authorization: `Bearer ${currentToken}` };
10
+ }
11
+ if (source.apiKey) {
12
+ return { "X-API-KEY": source.apiKey };
13
+ }
14
+ return {};
15
+ }
16
+ exports.resolveStatewireAuthHeaders = resolveStatewireAuthHeaders;
17
+ exports.resolveStatewireAuthToken = resolveStatewireAuthToken;
18
+ //# sourceMappingURL=statewire-auth-headers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statewire-auth-headers.cjs","sources":["../../src/runtime/statewire-auth-headers.ts"],"sourcesContent":["/**\n * Resolves the caller's current auth token immediately before a statewire\n * attach or request. `force` is true right after the statewire host refused\n * the previous credential (the transport's `staleAuth` signal): a getter that\n * caches must then mint a fresh token instead of returning the one that was\n * just refused. `force: false` (or no argument) may serve a cached token.\n */\nexport type AthenaStatewireTokenGetter = (options?: {\n force?: boolean;\n}) => string | null | Promise<string | null>;\n\nexport interface StatewireAuthSource {\n /** API key for standalone authentication; used when no token resolves. */\n apiKey?: string;\n /** A token the host already holds; `getToken` takes priority when it resolves one. */\n token?: string | null;\n /** Live token resolver for expiring credentials. */\n getToken?: AthenaStatewireTokenGetter;\n}\n\n/**\n * The token a statewire attach or REST request presents: `getToken` (with the\n * transport's `staleAuth` as `force`) when provided, falling back to the\n * host-held `token` when the getter resolves nothing. A getter failure\n * propagates — a request must fail rather than silently go anonymous.\n */\nexport async function resolveStatewireAuthToken(\n source: StatewireAuthSource,\n { staleAuth }: { staleAuth: boolean },\n): Promise<string | null | undefined> {\n return source.getToken\n ? ((await source.getToken({ force: staleAuth })) ?? source.token)\n : source.token;\n}\n\n/**\n * The auth headers a statewire attach or request carries — the same credential\n * plumbing the legacy transport used: a token (resolved live through\n * `getToken` when provided, with the transport's `staleAuth` passed as `force`)\n * rides `Authorization: Bearer`, and an API key falls back to `X-API-KEY`. Both\n * are accepted by the statewire host. Credential rotation reaches the next\n * request because callers read `source` fresh per resolve.\n */\nexport async function resolveStatewireAuthHeaders(\n source: StatewireAuthSource,\n { staleAuth }: { staleAuth: boolean },\n): Promise<Record<string, string>> {\n const currentToken = await resolveStatewireAuthToken(source, { staleAuth });\n if (currentToken) {\n return { Authorization: `Bearer ${currentToken}` };\n }\n if (source.apiKey) {\n return { 'X-API-KEY': source.apiKey };\n }\n return {};\n}\n"],"names":[],"mappings":";;AA0BA,eAAsB,0BACpB,QACA,EAAE,aACkC;AACpC,SAAO,OAAO,WACR,MAAM,OAAO,SAAS,EAAE,OAAO,UAAA,CAAW,KAAM,OAAO,QACzD,OAAO;AACb;AAUA,eAAsB,4BACpB,QACA,EAAE,aAC+B;AACjC,QAAM,eAAe,MAAM,0BAA0B,QAAQ,EAAE,WAAW;AAC1E,MAAI,cAAc;AAChB,WAAO,EAAE,eAAe,UAAU,YAAY,GAAA;AAAA,EAChD;AACA,MAAI,OAAO,QAAQ;AACjB,WAAO,EAAE,aAAa,OAAO,OAAA;AAAA,EAC/B;AACA,SAAO,CAAA;AACT;;;"}
@@ -0,0 +1,18 @@
1
+ async function resolveStatewireAuthToken(source, { staleAuth }) {
2
+ return source.getToken ? await source.getToken({ force: staleAuth }) ?? source.token : source.token;
3
+ }
4
+ async function resolveStatewireAuthHeaders(source, { staleAuth }) {
5
+ const currentToken = await resolveStatewireAuthToken(source, { staleAuth });
6
+ if (currentToken) {
7
+ return { Authorization: `Bearer ${currentToken}` };
8
+ }
9
+ if (source.apiKey) {
10
+ return { "X-API-KEY": source.apiKey };
11
+ }
12
+ return {};
13
+ }
14
+ export {
15
+ resolveStatewireAuthHeaders,
16
+ resolveStatewireAuthToken
17
+ };
18
+ //# sourceMappingURL=statewire-auth-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statewire-auth-headers.js","sources":["../../src/runtime/statewire-auth-headers.ts"],"sourcesContent":["/**\n * Resolves the caller's current auth token immediately before a statewire\n * attach or request. `force` is true right after the statewire host refused\n * the previous credential (the transport's `staleAuth` signal): a getter that\n * caches must then mint a fresh token instead of returning the one that was\n * just refused. `force: false` (or no argument) may serve a cached token.\n */\nexport type AthenaStatewireTokenGetter = (options?: {\n force?: boolean;\n}) => string | null | Promise<string | null>;\n\nexport interface StatewireAuthSource {\n /** API key for standalone authentication; used when no token resolves. */\n apiKey?: string;\n /** A token the host already holds; `getToken` takes priority when it resolves one. */\n token?: string | null;\n /** Live token resolver for expiring credentials. */\n getToken?: AthenaStatewireTokenGetter;\n}\n\n/**\n * The token a statewire attach or REST request presents: `getToken` (with the\n * transport's `staleAuth` as `force`) when provided, falling back to the\n * host-held `token` when the getter resolves nothing. A getter failure\n * propagates — a request must fail rather than silently go anonymous.\n */\nexport async function resolveStatewireAuthToken(\n source: StatewireAuthSource,\n { staleAuth }: { staleAuth: boolean },\n): Promise<string | null | undefined> {\n return source.getToken\n ? ((await source.getToken({ force: staleAuth })) ?? source.token)\n : source.token;\n}\n\n/**\n * The auth headers a statewire attach or request carries — the same credential\n * plumbing the legacy transport used: a token (resolved live through\n * `getToken` when provided, with the transport's `staleAuth` passed as `force`)\n * rides `Authorization: Bearer`, and an API key falls back to `X-API-KEY`. Both\n * are accepted by the statewire host. Credential rotation reaches the next\n * request because callers read `source` fresh per resolve.\n */\nexport async function resolveStatewireAuthHeaders(\n source: StatewireAuthSource,\n { staleAuth }: { staleAuth: boolean },\n): Promise<Record<string, string>> {\n const currentToken = await resolveStatewireAuthToken(source, { staleAuth });\n if (currentToken) {\n return { Authorization: `Bearer ${currentToken}` };\n }\n if (source.apiKey) {\n return { 'X-API-KEY': source.apiKey };\n }\n return {};\n}\n"],"names":[],"mappings":"AA0BA,eAAsB,0BACpB,QACA,EAAE,aACkC;AACpC,SAAO,OAAO,WACR,MAAM,OAAO,SAAS,EAAE,OAAO,UAAA,CAAW,KAAM,OAAO,QACzD,OAAO;AACb;AAUA,eAAsB,4BACpB,QACA,EAAE,aAC+B;AACjC,QAAM,eAAe,MAAM,0BAA0B,QAAQ,EAAE,WAAW;AAC1E,MAAI,cAAc;AAChB,WAAO,EAAE,eAAe,UAAU,YAAY,GAAA;AAAA,EAChD;AACA,MAAI,OAAO,QAAQ;AACjB,WAAO,EAAE,aAAa,OAAO,OAAA;AAAA,EAC/B;AACA,SAAO,CAAA;AACT;"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../packages/agent-runtime/src/generated/runconfig-contract.cjs");
4
+ require("react");
5
+ require("@assistant-ui/tap");
6
+ require("statewire");
7
+ const errors = require("../packages/agent-runtime/src/errors.cjs");
8
+ require("../packages/agent-runtime/src/statewire-suspended.cjs");
9
+ require("@tanstack/react-query");
10
+ require("../packages/agent-runtime/src/statewire-state.cjs");
11
+ require("../packages/agent-runtime/src/messages.cjs");
12
+ require("@assistant-ui/react-statewire");
13
+ require("@assistant-ui/store");
14
+ require("../packages/agent-runtime/src/quota-safe-local-storage-session.cjs");
15
+ require("../packages/agent-runtime/src/statewire-attach-observer.cjs");
16
+ require("../packages/agent-runtime/src/thread-status.cjs");
17
+ require("@assistant-ui/core");
18
+ require("../packages/agent-runtime/src/thread-handoff.cjs");
19
+ function athenaStatewireErrorNotice(error) {
20
+ if (errors.isStatewireChannelTeardown(error)) return null;
21
+ const rejection = errors.statewireRejectionPayload(error);
22
+ const detail = errors.statewireRejectionDetailMessage(error);
23
+ if ((rejection == null ? void 0 : rejection.status) === 402) {
24
+ return {
25
+ kind: "paywall",
26
+ title: "Usage limit reached",
27
+ message: detail ?? "Athena could not start this run. Review usage or billing to continue."
28
+ };
29
+ }
30
+ if (errors.isLegacyThreadReadOnlyRejection(error)) {
31
+ return {
32
+ kind: "read-only",
33
+ title: "Message was not sent",
34
+ message: detail ?? "This conversation cannot take new messages right now. Try again shortly, or start a new chat."
35
+ };
36
+ }
37
+ return {
38
+ kind: "command",
39
+ title: "Message was not sent",
40
+ message: detail ?? (error instanceof Error && error.message.length > 0 ? error.message : "The chat runtime rejected the command. Please try again.")
41
+ };
42
+ }
43
+ const initialStatewireLifecycle = {
44
+ connection: null,
45
+ error: null,
46
+ reconnect: null
47
+ };
48
+ function statewireLifecycleReducer(state, action) {
49
+ var _a, _b;
50
+ switch (action.type) {
51
+ case "connection": {
52
+ const healthy = ((_a = action.connection) == null ? void 0 : _a.status) === "connected" || ((_b = action.connection) == null ? void 0 : _b.status) === "standby";
53
+ return {
54
+ ...state,
55
+ connection: action.connection,
56
+ error: healthy ? null : state.error
57
+ };
58
+ }
59
+ case "error":
60
+ return { ...state, error: action.error };
61
+ case "raw-connection":
62
+ return { ...state, reconnect: action.reconnect };
63
+ }
64
+ }
65
+ exports.athenaStatewireErrorNotice = athenaStatewireErrorNotice;
66
+ exports.initialStatewireLifecycle = initialStatewireLifecycle;
67
+ exports.statewireLifecycleReducer = statewireLifecycleReducer;
68
+ //# sourceMappingURL=statewire-lifecycle.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statewire-lifecycle.cjs","sources":["../../src/runtime/statewire-lifecycle.ts"],"sourcesContent":["import {\n isLegacyThreadReadOnlyRejection,\n isStatewireChannelTeardown,\n statewireRejectionDetailMessage,\n statewireRejectionPayload,\n} from '@athenaintel/agent-runtime';\nimport type { DeepAgentConnectionState } from '@athenaintel/agent-runtime';\n\n/** A user-visible notice mapped from a statewire transport error. */\nexport interface AthenaStatewireErrorNotice {\n kind: 'paywall' | 'read-only' | 'command';\n title: string;\n message: string;\n}\n\n/**\n * Map the statewire failure envelope to a concise, actionable notice.\n * Returns null for expected channel teardowns (thread switch, unmount),\n * which must not surface as errors.\n */\nexport function athenaStatewireErrorNotice(\n error: unknown,\n): AthenaStatewireErrorNotice | null {\n if (isStatewireChannelTeardown(error)) return null;\n const rejection = statewireRejectionPayload(error);\n // The server's own detail names the actionable reason; the Error message is\n // generic client-side text like `command rejected (500)`.\n const detail = statewireRejectionDetailMessage(error);\n\n if (rejection?.status === 402) {\n return {\n kind: 'paywall',\n title: 'Usage limit reached',\n message:\n detail ?? 'Athena could not start this run. Review usage or billing to continue.',\n };\n }\n\n // Legacy-thread dispatch fence: an out-of-band run is writing this\n // pre-cutover thread (or its adoption failed). A per-send failure, not a\n // standing state — the server's detail names the actionable reason (wait\n // for the run vs. start a new chat).\n if (isLegacyThreadReadOnlyRejection(error)) {\n return {\n kind: 'read-only',\n title: 'Message was not sent',\n message:\n detail ??\n 'This conversation cannot take new messages right now. Try again shortly, or start a new chat.',\n };\n }\n\n return {\n kind: 'command',\n title: 'Message was not sent',\n message:\n detail ??\n (error instanceof Error && error.message.length > 0\n ? error.message\n : 'The chat runtime rejected the command. Please try again.'),\n };\n}\n\n/** Shared lifecycle state for the statewire transport, provided by\n * `AthenaProvider` in statewire mode and read by the chat banners. */\nexport interface AthenaStatewireLifecycleState {\n connection: DeepAgentConnectionState | null;\n error: AthenaStatewireErrorNotice | null;\n reconnect: (() => void) | null;\n dismissError: () => void;\n}\n\n/** The provider's reducer state behind {@link AthenaStatewireLifecycleState}. */\nexport interface StatewireLifecycleReducerState {\n connection: DeepAgentConnectionState | null;\n error: AthenaStatewireErrorNotice | null;\n reconnect: (() => void) | null;\n}\n\nexport type StatewireLifecycleAction =\n | { type: 'connection'; connection: DeepAgentConnectionState | null }\n | { type: 'error'; error: AthenaStatewireErrorNotice | null }\n | { type: 'raw-connection'; reconnect: () => void };\n\nexport const initialStatewireLifecycle: StatewireLifecycleReducerState = {\n connection: null,\n error: null,\n reconnect: null,\n};\n\n/**\n * Folds the runtime's lifecycle observations into the banner state. A healthy\n * channel — connected, or disconnected only because the instance is quiet\n * (`idle`) or the chat has not sent yet (`deferred`) — clears a stale\n * send/transport error: leaving it up tells the user the chat is broken after\n * it has come back.\n */\nexport function statewireLifecycleReducer(\n state: StatewireLifecycleReducerState,\n action: StatewireLifecycleAction,\n): StatewireLifecycleReducerState {\n switch (action.type) {\n case 'connection': {\n const healthy =\n action.connection?.status === 'connected' ||\n action.connection?.status === 'standby';\n return {\n ...state,\n connection: action.connection,\n error: healthy ? null : state.error,\n };\n }\n case 'error':\n return { ...state, error: action.error };\n case 'raw-connection':\n return { ...state, reconnect: action.reconnect };\n }\n}\n"],"names":["isStatewireChannelTeardown","statewireRejectionPayload","statewireRejectionDetailMessage","isLegacyThreadReadOnlyRejection"],"mappings":";;;;;;;;;;;;;;;;;;AAoBO,SAAS,2BACd,OACmC;AACnC,MAAIA,OAAAA,2BAA2B,KAAK,EAAG,QAAO;AAC9C,QAAM,YAAYC,OAAAA,0BAA0B,KAAK;AAGjD,QAAM,SAASC,OAAAA,gCAAgC,KAAK;AAEpD,OAAI,uCAAW,YAAW,KAAK;AAC7B,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SACE,UAAU;AAAA,IAAA;AAAA,EAEhB;AAMA,MAAIC,OAAAA,gCAAgC,KAAK,GAAG;AAC1C,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SACE,UACA;AAAA,IAAA;AAAA,EAEN;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE,WACC,iBAAiB,SAAS,MAAM,QAAQ,SAAS,IAC9C,MAAM,UACN;AAAA,EAAA;AAEV;AAuBO,MAAM,4BAA4D;AAAA,EACvE,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AACb;AASO,SAAS,0BACd,OACA,QACgC;;AAChC,UAAQ,OAAO,MAAA;AAAA,IACb,KAAK,cAAc;AACjB,YAAM,YACJ,YAAO,eAAP,mBAAmB,YAAW,iBAC9B,YAAO,eAAP,mBAAmB,YAAW;AAChC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,YAAY,OAAO;AAAA,QACnB,OAAO,UAAU,OAAO,MAAM;AAAA,MAAA;AAAA,IAElC;AAAA,IACA,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,OAAO,OAAO,MAAA;AAAA,IACnC,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,WAAW,OAAO,UAAA;AAAA,EAAU;AAErD;;;;"}
@@ -0,0 +1,68 @@
1
+ import "../packages/agent-runtime/src/generated/runconfig-contract.js";
2
+ import "react";
3
+ import "@assistant-ui/tap";
4
+ import "statewire";
5
+ import { isStatewireChannelTeardown, statewireRejectionPayload, statewireRejectionDetailMessage, isLegacyThreadReadOnlyRejection } from "../packages/agent-runtime/src/errors.js";
6
+ import "../packages/agent-runtime/src/statewire-suspended.js";
7
+ import "@tanstack/react-query";
8
+ import "../packages/agent-runtime/src/statewire-state.js";
9
+ import "../packages/agent-runtime/src/messages.js";
10
+ import "@assistant-ui/react-statewire";
11
+ import "@assistant-ui/store";
12
+ import "../packages/agent-runtime/src/quota-safe-local-storage-session.js";
13
+ import "../packages/agent-runtime/src/statewire-attach-observer.js";
14
+ import "../packages/agent-runtime/src/thread-status.js";
15
+ import "@assistant-ui/core";
16
+ import "../packages/agent-runtime/src/thread-handoff.js";
17
+ function athenaStatewireErrorNotice(error) {
18
+ if (isStatewireChannelTeardown(error)) return null;
19
+ const rejection = statewireRejectionPayload(error);
20
+ const detail = statewireRejectionDetailMessage(error);
21
+ if ((rejection == null ? void 0 : rejection.status) === 402) {
22
+ return {
23
+ kind: "paywall",
24
+ title: "Usage limit reached",
25
+ message: detail ?? "Athena could not start this run. Review usage or billing to continue."
26
+ };
27
+ }
28
+ if (isLegacyThreadReadOnlyRejection(error)) {
29
+ return {
30
+ kind: "read-only",
31
+ title: "Message was not sent",
32
+ message: detail ?? "This conversation cannot take new messages right now. Try again shortly, or start a new chat."
33
+ };
34
+ }
35
+ return {
36
+ kind: "command",
37
+ title: "Message was not sent",
38
+ message: detail ?? (error instanceof Error && error.message.length > 0 ? error.message : "The chat runtime rejected the command. Please try again.")
39
+ };
40
+ }
41
+ const initialStatewireLifecycle = {
42
+ connection: null,
43
+ error: null,
44
+ reconnect: null
45
+ };
46
+ function statewireLifecycleReducer(state, action) {
47
+ var _a, _b;
48
+ switch (action.type) {
49
+ case "connection": {
50
+ const healthy = ((_a = action.connection) == null ? void 0 : _a.status) === "connected" || ((_b = action.connection) == null ? void 0 : _b.status) === "standby";
51
+ return {
52
+ ...state,
53
+ connection: action.connection,
54
+ error: healthy ? null : state.error
55
+ };
56
+ }
57
+ case "error":
58
+ return { ...state, error: action.error };
59
+ case "raw-connection":
60
+ return { ...state, reconnect: action.reconnect };
61
+ }
62
+ }
63
+ export {
64
+ athenaStatewireErrorNotice,
65
+ initialStatewireLifecycle,
66
+ statewireLifecycleReducer
67
+ };
68
+ //# sourceMappingURL=statewire-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statewire-lifecycle.js","sources":["../../src/runtime/statewire-lifecycle.ts"],"sourcesContent":["import {\n isLegacyThreadReadOnlyRejection,\n isStatewireChannelTeardown,\n statewireRejectionDetailMessage,\n statewireRejectionPayload,\n} from '@athenaintel/agent-runtime';\nimport type { DeepAgentConnectionState } from '@athenaintel/agent-runtime';\n\n/** A user-visible notice mapped from a statewire transport error. */\nexport interface AthenaStatewireErrorNotice {\n kind: 'paywall' | 'read-only' | 'command';\n title: string;\n message: string;\n}\n\n/**\n * Map the statewire failure envelope to a concise, actionable notice.\n * Returns null for expected channel teardowns (thread switch, unmount),\n * which must not surface as errors.\n */\nexport function athenaStatewireErrorNotice(\n error: unknown,\n): AthenaStatewireErrorNotice | null {\n if (isStatewireChannelTeardown(error)) return null;\n const rejection = statewireRejectionPayload(error);\n // The server's own detail names the actionable reason; the Error message is\n // generic client-side text like `command rejected (500)`.\n const detail = statewireRejectionDetailMessage(error);\n\n if (rejection?.status === 402) {\n return {\n kind: 'paywall',\n title: 'Usage limit reached',\n message:\n detail ?? 'Athena could not start this run. Review usage or billing to continue.',\n };\n }\n\n // Legacy-thread dispatch fence: an out-of-band run is writing this\n // pre-cutover thread (or its adoption failed). A per-send failure, not a\n // standing state — the server's detail names the actionable reason (wait\n // for the run vs. start a new chat).\n if (isLegacyThreadReadOnlyRejection(error)) {\n return {\n kind: 'read-only',\n title: 'Message was not sent',\n message:\n detail ??\n 'This conversation cannot take new messages right now. Try again shortly, or start a new chat.',\n };\n }\n\n return {\n kind: 'command',\n title: 'Message was not sent',\n message:\n detail ??\n (error instanceof Error && error.message.length > 0\n ? error.message\n : 'The chat runtime rejected the command. Please try again.'),\n };\n}\n\n/** Shared lifecycle state for the statewire transport, provided by\n * `AthenaProvider` in statewire mode and read by the chat banners. */\nexport interface AthenaStatewireLifecycleState {\n connection: DeepAgentConnectionState | null;\n error: AthenaStatewireErrorNotice | null;\n reconnect: (() => void) | null;\n dismissError: () => void;\n}\n\n/** The provider's reducer state behind {@link AthenaStatewireLifecycleState}. */\nexport interface StatewireLifecycleReducerState {\n connection: DeepAgentConnectionState | null;\n error: AthenaStatewireErrorNotice | null;\n reconnect: (() => void) | null;\n}\n\nexport type StatewireLifecycleAction =\n | { type: 'connection'; connection: DeepAgentConnectionState | null }\n | { type: 'error'; error: AthenaStatewireErrorNotice | null }\n | { type: 'raw-connection'; reconnect: () => void };\n\nexport const initialStatewireLifecycle: StatewireLifecycleReducerState = {\n connection: null,\n error: null,\n reconnect: null,\n};\n\n/**\n * Folds the runtime's lifecycle observations into the banner state. A healthy\n * channel — connected, or disconnected only because the instance is quiet\n * (`idle`) or the chat has not sent yet (`deferred`) — clears a stale\n * send/transport error: leaving it up tells the user the chat is broken after\n * it has come back.\n */\nexport function statewireLifecycleReducer(\n state: StatewireLifecycleReducerState,\n action: StatewireLifecycleAction,\n): StatewireLifecycleReducerState {\n switch (action.type) {\n case 'connection': {\n const healthy =\n action.connection?.status === 'connected' ||\n action.connection?.status === 'standby';\n return {\n ...state,\n connection: action.connection,\n error: healthy ? null : state.error,\n };\n }\n case 'error':\n return { ...state, error: action.error };\n case 'raw-connection':\n return { ...state, reconnect: action.reconnect };\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAoBO,SAAS,2BACd,OACmC;AACnC,MAAI,2BAA2B,KAAK,EAAG,QAAO;AAC9C,QAAM,YAAY,0BAA0B,KAAK;AAGjD,QAAM,SAAS,gCAAgC,KAAK;AAEpD,OAAI,uCAAW,YAAW,KAAK;AAC7B,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SACE,UAAU;AAAA,IAAA;AAAA,EAEhB;AAMA,MAAI,gCAAgC,KAAK,GAAG;AAC1C,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SACE,UACA;AAAA,IAAA;AAAA,EAEN;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE,WACC,iBAAiB,SAAS,MAAM,QAAQ,SAAS,IAC9C,MAAM,UACN;AAAA,EAAA;AAEV;AAuBO,MAAM,4BAA4D;AAAA,EACvE,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AACb;AASO,SAAS,0BACd,OACA,QACgC;;AAChC,UAAQ,OAAO,MAAA;AAAA,IACb,KAAK,cAAc;AACjB,YAAM,YACJ,YAAO,eAAP,mBAAmB,YAAW,iBAC9B,YAAO,eAAP,mBAAmB,YAAW;AAChC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,YAAY,OAAO;AAAA,QACnB,OAAO,UAAU,OAAO,MAAM;AAAA,MAAA;AAAA,IAElC;AAAA,IACA,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,OAAO,OAAO,MAAA;AAAA,IACnC,KAAK;AACH,aAAO,EAAE,GAAG,OAAO,WAAW,OAAO,UAAA;AAAA,EAAU;AAErD;"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const DEEP_AGENT_RUNTIME_MARKER = "athena_deep_agent";
4
+ const STATEWIRE_START_CHANNEL = "web";
5
+ const STATEWIRE_RUN_LABEL = "Athena SDK";
6
+ const DEFAULT_STATEWIRE_MODEL = "claude-sonnet-5";
7
+ const COLLAB_AGENT_REF_PREFIX = "collab_agent:";
8
+ const COLLAB_AGENT_REF_SHAPE = "collab_agent:<asset_id>";
9
+ function parseCollabAgentRef(agent) {
10
+ if (typeof agent !== "string" || !agent.startsWith(COLLAB_AGENT_REF_PREFIX)) return null;
11
+ const assetId = agent.slice(COLLAB_AGENT_REF_PREFIX.length).trim();
12
+ return assetId || null;
13
+ }
14
+ function resolveAgentProp({ agent }) {
15
+ if (agent === void 0 || agent === null || agent.trim() === "") return null;
16
+ const assetId = parseCollabAgentRef(agent.trim());
17
+ if (assetId) return assetId;
18
+ throw new Error(
19
+ `[AthenaSDK] Unsupported \`agent\` prop ${JSON.stringify(agent)}. The only accepted shape is '${COLLAB_AGENT_REF_SHAPE}' (the asset id of a published collab agent). Named agents are not supported — the statewire host always runs the Athena deep agent; omit \`agent\` to use it.`
20
+ );
21
+ }
22
+ function buildStatewireRunConfig(options = {}) {
23
+ var _a, _b, _c, _d, _e;
24
+ const collabAgentId = resolveAgentProp({ agent: options.agent });
25
+ const collabChannelId = collabAgentId && ((_a = options.channel) == null ? void 0 : _a.trim()) ? options.channel.trim() : void 0;
26
+ const model = options.model ?? (collabAgentId ? void 0 : DEFAULT_STATEWIRE_MODEL);
27
+ const panelModel = model ?? DEFAULT_STATEWIRE_MODEL;
28
+ const enabledTools = Array.from(
29
+ /* @__PURE__ */ new Set([...options.tools ?? [], ...options.frontendToolIds ?? []])
30
+ );
31
+ const systemPrompt = ((_b = options.systemPrompt) == null ? void 0 : _b.trim()) ?? "";
32
+ return {
33
+ custom: {
34
+ runtime: DEEP_AGENT_RUNTIME_MARKER,
35
+ // With a collab channel selected, omit the SDK's own 'web' stamp: the
36
+ // request's explicit start_channel would win over the backend overlay's
37
+ // kind-mapped provenance (a custom SMS channel must stamp 'sms').
38
+ ...collabChannelId ? {} : { start_channel: STATEWIRE_START_CHANNEL },
39
+ ...model ? { model } : {},
40
+ // An empty list is behavior-identical to an absent key for the parser
41
+ // (both coerce to []), but the collab-agent overlay merges request keys
42
+ // OVER the agent definition — so an explicit empty list would erase the
43
+ // agent's configured tools. Omit it when empty.
44
+ ...enabledTools.length > 0 ? { enabled_tools: enabledTools } : {},
45
+ panel_config: {
46
+ model: panelModel,
47
+ enabled_tools: enabledTools,
48
+ system_prompt: systemPrompt,
49
+ run_label: STATEWIRE_RUN_LABEL
50
+ },
51
+ ...collabAgentId ? { collab_agent_id: collabAgentId } : {},
52
+ ...collabChannelId ? { collab_channel_id: collabChannelId } : {},
53
+ ...systemPrompt ? { system_prompt: systemPrompt } : {},
54
+ ...((_c = options.workbench) == null ? void 0 : _c.length) ? { workbench: options.workbench } : {},
55
+ ...((_d = options.knowledgeBase) == null ? void 0 : _d.length) ? { knowledge_base: options.knowledgeBase } : {},
56
+ ...options.appId ? { app_id: options.appId } : {},
57
+ ...((_e = options.clientTools) == null ? void 0 : _e.length) ? { client_tools: options.clientTools } : {},
58
+ ...options.extraRunConfig ?? {}
59
+ }
60
+ };
61
+ }
62
+ exports.COLLAB_AGENT_REF_PREFIX = COLLAB_AGENT_REF_PREFIX;
63
+ exports.COLLAB_AGENT_REF_SHAPE = COLLAB_AGENT_REF_SHAPE;
64
+ exports.DEFAULT_STATEWIRE_MODEL = DEFAULT_STATEWIRE_MODEL;
65
+ exports.buildStatewireRunConfig = buildStatewireRunConfig;
66
+ exports.parseCollabAgentRef = parseCollabAgentRef;
67
+ exports.resolveAgentProp = resolveAgentProp;
68
+ //# sourceMappingURL=statewire-run-config.cjs.map