@athenaintel/react 0.57.1 → 0.59.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 (811) hide show
  1. package/README.md +778 -9
  2. package/dist/agent-runtime/src/addressed-agents.cjs +16 -0
  3. package/dist/agent-runtime/src/addressed-agents.cjs.map +1 -0
  4. package/dist/agent-runtime/src/addressed-agents.d.ts +30 -0
  5. package/dist/agent-runtime/src/addressed-agents.js +16 -0
  6. package/dist/agent-runtime/src/addressed-agents.js.map +1 -0
  7. package/dist/agent-runtime/src/answer-label.cjs +4 -3
  8. package/dist/agent-runtime/src/answer-label.cjs.map +1 -1
  9. package/dist/agent-runtime/src/answer-label.d.ts +13 -6
  10. package/dist/agent-runtime/src/answer-label.js +4 -3
  11. package/dist/agent-runtime/src/answer-label.js.map +1 -1
  12. package/dist/agent-runtime/src/chat-outbox-attachments.cjs.map +1 -1
  13. package/dist/agent-runtime/src/chat-outbox-attachments.d.ts +1 -1
  14. package/dist/agent-runtime/src/chat-outbox-attachments.js.map +1 -1
  15. package/dist/agent-runtime/src/chat-outbox-entry.cjs +101 -0
  16. package/dist/agent-runtime/src/chat-outbox-entry.cjs.map +1 -0
  17. package/dist/agent-runtime/src/chat-outbox-entry.d.ts +99 -0
  18. package/dist/agent-runtime/src/chat-outbox-entry.js +101 -0
  19. package/dist/agent-runtime/src/chat-outbox-entry.js.map +1 -0
  20. package/dist/agent-runtime/src/chat-outbox-legacy.cjs +252 -0
  21. package/dist/agent-runtime/src/chat-outbox-legacy.cjs.map +1 -0
  22. package/dist/agent-runtime/src/chat-outbox-legacy.d.ts +96 -0
  23. package/dist/agent-runtime/src/chat-outbox-legacy.js +252 -0
  24. package/dist/agent-runtime/src/chat-outbox-legacy.js.map +1 -0
  25. package/dist/agent-runtime/src/chat-outbox-policy.cjs +30 -0
  26. package/dist/agent-runtime/src/chat-outbox-policy.cjs.map +1 -0
  27. package/dist/agent-runtime/src/chat-outbox-policy.d.ts +42 -0
  28. package/dist/agent-runtime/src/chat-outbox-policy.js +30 -0
  29. package/dist/agent-runtime/src/chat-outbox-policy.js.map +1 -0
  30. package/dist/agent-runtime/src/chat-outbox-storage.cjs +306 -0
  31. package/dist/agent-runtime/src/chat-outbox-storage.cjs.map +1 -0
  32. package/dist/agent-runtime/src/chat-outbox-storage.d.ts +194 -0
  33. package/dist/agent-runtime/src/chat-outbox-storage.js +306 -0
  34. package/dist/agent-runtime/src/chat-outbox-storage.js.map +1 -0
  35. package/dist/agent-runtime/src/chat-outbox-thread.cjs +21 -94
  36. package/dist/agent-runtime/src/chat-outbox-thread.cjs.map +1 -1
  37. package/dist/agent-runtime/src/chat-outbox-thread.d.ts +22 -18
  38. package/dist/agent-runtime/src/chat-outbox-thread.js +21 -94
  39. package/dist/agent-runtime/src/chat-outbox-thread.js.map +1 -1
  40. package/dist/agent-runtime/src/chat-outbox.cjs +492 -547
  41. package/dist/agent-runtime/src/chat-outbox.cjs.map +1 -1
  42. package/dist/agent-runtime/src/chat-outbox.d.ts +110 -142
  43. package/dist/agent-runtime/src/chat-outbox.js +492 -547
  44. package/dist/agent-runtime/src/chat-outbox.js.map +1 -1
  45. package/dist/agent-runtime/src/composer-markdown.cjs.map +1 -1
  46. package/dist/agent-runtime/src/composer-markdown.d.ts +1 -1
  47. package/dist/agent-runtime/src/composer-markdown.js.map +1 -1
  48. package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs +3 -1
  49. package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -1
  50. package/dist/agent-runtime/src/deep-agent-transport-recipe.d.ts +8 -1
  51. package/dist/agent-runtime/src/deep-agent-transport-recipe.js +3 -1
  52. package/dist/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -1
  53. package/dist/agent-runtime/src/dictation-preferences.d.ts +356 -0
  54. package/dist/agent-runtime/src/dictation-record.d.ts +279 -0
  55. package/dist/agent-runtime/src/dictation-session.d.ts +106 -7
  56. package/dist/agent-runtime/src/dictation-snippets.d.ts +9 -0
  57. package/dist/agent-runtime/src/dictation-transfer.d.ts +142 -0
  58. package/dist/agent-runtime/src/edit-command.cjs.map +1 -1
  59. package/dist/agent-runtime/src/edit-command.d.ts +1 -1
  60. package/dist/agent-runtime/src/edit-command.js.map +1 -1
  61. package/dist/agent-runtime/src/errors.cjs +1 -0
  62. package/dist/agent-runtime/src/errors.cjs.map +1 -1
  63. package/dist/agent-runtime/src/errors.js +1 -0
  64. package/dist/agent-runtime/src/errors.js.map +1 -1
  65. package/dist/agent-runtime/src/generated/runconfig-contract.cjs +24 -0
  66. package/dist/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -1
  67. package/dist/agent-runtime/src/generated/runconfig-contract.d.ts +3 -3
  68. package/dist/agent-runtime/src/generated/runconfig-contract.js +24 -0
  69. package/dist/agent-runtime/src/generated/runconfig-contract.js.map +1 -1
  70. package/dist/agent-runtime/src/index.d.ts +14 -8
  71. package/dist/agent-runtime/src/lane-follow.cjs +289 -0
  72. package/dist/agent-runtime/src/lane-follow.cjs.map +1 -0
  73. package/dist/agent-runtime/src/lane-follow.js +289 -0
  74. package/dist/agent-runtime/src/lane-follow.js.map +1 -0
  75. package/dist/agent-runtime/src/lane-images.cjs +387 -0
  76. package/dist/agent-runtime/src/lane-images.cjs.map +1 -0
  77. package/dist/agent-runtime/src/lane-images.js +387 -0
  78. package/dist/agent-runtime/src/lane-images.js.map +1 -0
  79. package/dist/agent-runtime/src/message-window.js +1 -1
  80. package/dist/agent-runtime/src/messages.cjs +19 -1
  81. package/dist/agent-runtime/src/messages.cjs.map +1 -1
  82. package/dist/agent-runtime/src/messages.d.ts +8 -0
  83. package/dist/agent-runtime/src/messages.js +21 -3
  84. package/dist/agent-runtime/src/messages.js.map +1 -1
  85. package/dist/agent-runtime/src/named-agents.cjs +301 -0
  86. package/dist/agent-runtime/src/named-agents.cjs.map +1 -0
  87. package/dist/agent-runtime/src/named-agents.d.ts +246 -0
  88. package/dist/agent-runtime/src/named-agents.js +301 -0
  89. package/dist/agent-runtime/src/named-agents.js.map +1 -0
  90. package/dist/agent-runtime/src/offline-status.cjs.map +1 -1
  91. package/dist/agent-runtime/src/offline-status.d.ts +66 -2
  92. package/dist/agent-runtime/src/offline-status.js.map +1 -1
  93. package/dist/agent-runtime/src/ptc-subcalls.cjs +41 -0
  94. package/dist/agent-runtime/src/ptc-subcalls.cjs.map +1 -0
  95. package/dist/agent-runtime/src/ptc-subcalls.js +41 -0
  96. package/dist/agent-runtime/src/ptc-subcalls.js.map +1 -0
  97. package/dist/agent-runtime/src/queue.cjs +2 -2
  98. package/dist/agent-runtime/src/queue.cjs.map +1 -1
  99. package/dist/agent-runtime/src/queue.d.ts +20 -25
  100. package/dist/agent-runtime/src/queue.js +2 -2
  101. package/dist/agent-runtime/src/queue.js.map +1 -1
  102. package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs +314 -84
  103. package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -1
  104. package/dist/agent-runtime/src/quota-safe-local-storage-session.d.ts +137 -40
  105. package/dist/agent-runtime/src/quota-safe-local-storage-session.js +318 -88
  106. package/dist/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -1
  107. package/dist/agent-runtime/src/run-send.cjs +54 -0
  108. package/dist/agent-runtime/src/run-send.cjs.map +1 -0
  109. package/dist/agent-runtime/src/run-send.d.ts +51 -0
  110. package/dist/agent-runtime/src/run-send.js +54 -0
  111. package/dist/agent-runtime/src/run-send.js.map +1 -0
  112. package/dist/agent-runtime/src/running-tool-placeholder.cjs +6 -0
  113. package/dist/agent-runtime/src/running-tool-placeholder.cjs.map +1 -1
  114. package/dist/agent-runtime/src/running-tool-placeholder.js +6 -0
  115. package/dist/agent-runtime/src/running-tool-placeholder.js.map +1 -1
  116. package/dist/agent-runtime/src/runtime.d.ts +9 -5
  117. package/dist/agent-runtime/src/sealed-idb.cjs +64 -0
  118. package/dist/agent-runtime/src/sealed-idb.cjs.map +1 -1
  119. package/dist/agent-runtime/src/sealed-idb.d.ts +16 -0
  120. package/dist/agent-runtime/src/sealed-idb.js +64 -0
  121. package/dist/agent-runtime/src/sealed-idb.js.map +1 -1
  122. package/dist/agent-runtime/src/send-recovery.cjs +90 -118
  123. package/dist/agent-runtime/src/send-recovery.cjs.map +1 -1
  124. package/dist/agent-runtime/src/send-recovery.d.ts +25 -29
  125. package/dist/agent-runtime/src/send-recovery.js +90 -118
  126. package/dist/agent-runtime/src/send-recovery.js.map +1 -1
  127. package/dist/agent-runtime/src/statewire-diagnostics.d.ts +4 -1
  128. package/dist/agent-runtime/src/statewire-held-sends.cjs +191 -0
  129. package/dist/agent-runtime/src/statewire-held-sends.cjs.map +1 -0
  130. package/dist/agent-runtime/src/statewire-held-sends.d.ts +119 -0
  131. package/dist/agent-runtime/src/statewire-held-sends.js +191 -0
  132. package/dist/agent-runtime/src/statewire-held-sends.js.map +1 -0
  133. package/dist/agent-runtime/src/statewire-state.cjs +4 -0
  134. package/dist/agent-runtime/src/statewire-state.cjs.map +1 -1
  135. package/dist/agent-runtime/src/statewire-state.js +4 -0
  136. package/dist/agent-runtime/src/statewire-state.js.map +1 -1
  137. package/dist/agent-runtime/src/statewire-transport.cjs +8 -2
  138. package/dist/agent-runtime/src/statewire-transport.cjs.map +1 -1
  139. package/dist/agent-runtime/src/statewire-transport.d.ts +14 -5
  140. package/dist/agent-runtime/src/statewire-transport.js +8 -2
  141. package/dist/agent-runtime/src/statewire-transport.js.map +1 -1
  142. package/dist/agent-runtime/src/subagent-transcripts.cjs +1 -23
  143. package/dist/agent-runtime/src/subagent-transcripts.cjs.map +1 -1
  144. package/dist/agent-runtime/src/subagent-transcripts.js +3 -25
  145. package/dist/agent-runtime/src/subagent-transcripts.js.map +1 -1
  146. package/dist/agent-runtime/src/subagents.cjs +22 -29
  147. package/dist/agent-runtime/src/subagents.cjs.map +1 -1
  148. package/dist/agent-runtime/src/subagents.js +23 -30
  149. package/dist/agent-runtime/src/subagents.js.map +1 -1
  150. package/dist/agent-runtime/src/thread-extras.cjs +27 -19
  151. package/dist/agent-runtime/src/thread-extras.cjs.map +1 -1
  152. package/dist/agent-runtime/src/thread-extras.d.ts +19 -6
  153. package/dist/agent-runtime/src/thread-extras.js +27 -19
  154. package/dist/agent-runtime/src/thread-extras.js.map +1 -1
  155. package/dist/agent-runtime/src/thread-handoff-flow-machine.d.ts +8 -8
  156. package/dist/agent-runtime/src/tool-metadata.cjs +12 -0
  157. package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -1
  158. package/dist/agent-runtime/src/tool-metadata.js +12 -0
  159. package/dist/agent-runtime/src/tool-metadata.js.map +1 -1
  160. package/dist/agent-runtime/src/tool-names.cjs +21 -0
  161. package/dist/agent-runtime/src/tool-names.cjs.map +1 -1
  162. package/dist/agent-runtime/src/tool-names.d.ts +8 -0
  163. package/dist/agent-runtime/src/tool-names.js +21 -0
  164. package/dist/agent-runtime/src/tool-names.js.map +1 -1
  165. package/dist/agent-runtime/src/typed-interrupt-kinds.cjs +247 -0
  166. package/dist/agent-runtime/src/typed-interrupt-kinds.cjs.map +1 -0
  167. package/dist/agent-runtime/src/typed-interrupt-kinds.d.ts +173 -0
  168. package/dist/agent-runtime/src/typed-interrupt-kinds.js +247 -0
  169. package/dist/agent-runtime/src/typed-interrupt-kinds.js.map +1 -0
  170. package/dist/agent-runtime/src/typed-interrupts.cjs +48 -0
  171. package/dist/agent-runtime/src/typed-interrupts.cjs.map +1 -0
  172. package/dist/agent-runtime/src/typed-interrupts.d.ts +75 -0
  173. package/dist/agent-runtime/src/typed-interrupts.js +48 -0
  174. package/dist/agent-runtime/src/typed-interrupts.js.map +1 -0
  175. package/dist/agent-runtime/src/types.d.ts +1 -1
  176. package/dist/agent-runtime/src/use-conversation-list.cjs +1 -0
  177. package/dist/agent-runtime/src/use-conversation-list.cjs.map +1 -1
  178. package/dist/agent-runtime/src/use-conversation-list.d.ts +7 -0
  179. package/dist/agent-runtime/src/use-conversation-list.js +1 -0
  180. package/dist/agent-runtime/src/use-conversation-list.js.map +1 -1
  181. package/dist/agent-runtime/src/use-deep-agent-chat-outbox.cjs +46 -29
  182. package/dist/agent-runtime/src/use-deep-agent-chat-outbox.cjs.map +1 -1
  183. package/dist/agent-runtime/src/use-deep-agent-chat-outbox.d.ts +14 -22
  184. package/dist/agent-runtime/src/use-deep-agent-chat-outbox.js +46 -29
  185. package/dist/agent-runtime/src/use-deep-agent-chat-outbox.js.map +1 -1
  186. package/dist/agent-runtime/src/use-deep-agent-runtime.cjs +78 -14
  187. package/dist/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -1
  188. package/dist/agent-runtime/src/use-deep-agent-runtime.d.ts +34 -7
  189. package/dist/agent-runtime/src/use-deep-agent-runtime.js +79 -15
  190. package/dist/agent-runtime/src/use-deep-agent-runtime.js.map +1 -1
  191. package/dist/agent-runtime/src/use-deep-agent-thread.cjs +16 -1
  192. package/dist/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -1
  193. package/dist/agent-runtime/src/use-deep-agent-thread.d.ts +7 -2
  194. package/dist/agent-runtime/src/use-deep-agent-thread.js +16 -1
  195. package/dist/agent-runtime/src/use-deep-agent-thread.js.map +1 -1
  196. package/dist/agent-runtime/src/use-deep-agent-voice.cjs +30 -4
  197. package/dist/agent-runtime/src/use-deep-agent-voice.cjs.map +1 -1
  198. package/dist/agent-runtime/src/use-deep-agent-voice.d.ts +22 -4
  199. package/dist/agent-runtime/src/use-deep-agent-voice.js +30 -4
  200. package/dist/agent-runtime/src/use-deep-agent-voice.js.map +1 -1
  201. package/dist/agent-runtime/src/withdrawn-turns.d.ts +5 -4
  202. package/dist/agent-runtime/src/word-device-fit.d.ts +174 -0
  203. package/dist/agent-runtime/src/work-in.d.ts +127 -0
  204. package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
  205. package/dist/assets/AthenaAssetEmbed.d.ts +6 -1
  206. package/dist/assets/AthenaAssetEmbed.js.map +1 -1
  207. package/dist/assets/asset-panel-store.cjs +13 -5
  208. package/dist/assets/asset-panel-store.cjs.map +1 -1
  209. package/dist/assets/asset-panel-store.d.ts +33 -2
  210. package/dist/assets/asset-panel-store.js +13 -5
  211. package/dist/assets/asset-panel-store.js.map +1 -1
  212. package/dist/auth/AthenaCredentialSourceContext.cjs +11 -0
  213. package/dist/auth/AthenaCredentialSourceContext.cjs.map +1 -1
  214. package/dist/auth/AthenaCredentialSourceContext.d.ts +6 -0
  215. package/dist/auth/AthenaCredentialSourceContext.js +11 -0
  216. package/dist/auth/AthenaCredentialSourceContext.js.map +1 -1
  217. package/dist/auth/account-identity.cjs +13 -2
  218. package/dist/auth/account-identity.cjs.map +1 -1
  219. package/dist/auth/account-identity.d.ts +9 -0
  220. package/dist/auth/account-identity.js +13 -2
  221. package/dist/auth/account-identity.js.map +1 -1
  222. package/dist/auth/credential-source.cjs +20 -4
  223. package/dist/auth/credential-source.cjs.map +1 -1
  224. package/dist/auth/credential-source.d.ts +9 -0
  225. package/dist/auth/credential-source.js +20 -4
  226. package/dist/auth/credential-source.js.map +1 -1
  227. package/dist/catalog/chat-pickers.cjs +31 -0
  228. package/dist/catalog/chat-pickers.cjs.map +1 -1
  229. package/dist/catalog/chat-pickers.d.ts +17 -0
  230. package/dist/catalog/chat-pickers.js +33 -2
  231. package/dist/catalog/chat-pickers.js.map +1 -1
  232. package/dist/catalog/runtime-catalog.cjs +63 -3
  233. package/dist/catalog/runtime-catalog.cjs.map +1 -1
  234. package/dist/catalog/runtime-catalog.d.ts +63 -3
  235. package/dist/catalog/runtime-catalog.js +64 -4
  236. package/dist/catalog/runtime-catalog.js.map +1 -1
  237. package/dist/chat/AthenaChat.cjs +337 -99
  238. package/dist/chat/AthenaChat.cjs.map +1 -1
  239. package/dist/chat/AthenaChat.d.ts +80 -4
  240. package/dist/chat/AthenaChat.js +337 -99
  241. package/dist/chat/AthenaChat.js.map +1 -1
  242. package/dist/chat/StatewireApprovalCard.cjs +35 -5
  243. package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
  244. package/dist/chat/StatewireApprovalCard.d.ts +55 -2
  245. package/dist/chat/StatewireApprovalCard.js +37 -7
  246. package/dist/chat/StatewireApprovalCard.js.map +1 -1
  247. package/dist/chat/StatewireQueuedMessages.cjs +17 -2
  248. package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
  249. package/dist/chat/StatewireQueuedMessages.d.ts +8 -45
  250. package/dist/chat/StatewireQueuedMessages.js +18 -3
  251. package/dist/chat/StatewireQueuedMessages.js.map +1 -1
  252. package/dist/chat/chat-agent-mentions.cjs +70 -0
  253. package/dist/chat/chat-agent-mentions.cjs.map +1 -0
  254. package/dist/chat/chat-agent-mentions.d.ts +13 -0
  255. package/dist/chat/chat-agent-mentions.js +70 -0
  256. package/dist/chat/chat-agent-mentions.js.map +1 -0
  257. package/dist/chat/composer-actions.cjs +12 -0
  258. package/dist/chat/composer-actions.cjs.map +1 -0
  259. package/dist/chat/composer-actions.d.ts +22 -0
  260. package/dist/chat/composer-actions.js +12 -0
  261. package/dist/chat/composer-actions.js.map +1 -0
  262. package/dist/chat/follow-up-suggestions.cjs +185 -0
  263. package/dist/chat/follow-up-suggestions.cjs.map +1 -0
  264. package/dist/chat/follow-up-suggestions.d.ts +64 -0
  265. package/dist/chat/follow-up-suggestions.js +185 -0
  266. package/dist/chat/follow-up-suggestions.js.map +1 -0
  267. package/dist/chat/super-grouping/ToolTimeline.cjs +4 -3
  268. package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -1
  269. package/dist/chat/super-grouping/ToolTimeline.d.ts +7 -3
  270. package/dist/chat/super-grouping/ToolTimeline.js +4 -3
  271. package/dist/chat/super-grouping/ToolTimeline.js.map +1 -1
  272. package/dist/chat/turn-changes.cjs +284 -0
  273. package/dist/chat/turn-changes.cjs.map +1 -0
  274. package/dist/chat/turn-changes.d.ts +130 -0
  275. package/dist/chat/turn-changes.js +284 -0
  276. package/dist/chat/turn-changes.js.map +1 -0
  277. package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.cjs +31 -0
  278. package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.cjs.map +1 -0
  279. package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.d.ts +31 -0
  280. package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.js +31 -0
  281. package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.js.map +1 -0
  282. package/dist/chat/typed-interrupts/approval-cards.cjs +250 -0
  283. package/dist/chat/typed-interrupts/approval-cards.cjs.map +1 -0
  284. package/dist/chat/typed-interrupts/approval-cards.d.ts +22 -0
  285. package/dist/chat/typed-interrupts/approval-cards.js +250 -0
  286. package/dist/chat/typed-interrupts/approval-cards.js.map +1 -0
  287. package/dist/chat/typed-interrupts/form-cards.cjs +289 -0
  288. package/dist/chat/typed-interrupts/form-cards.cjs.map +1 -0
  289. package/dist/chat/typed-interrupts/form-cards.d.ts +6 -0
  290. package/dist/chat/typed-interrupts/form-cards.js +289 -0
  291. package/dist/chat/typed-interrupts/form-cards.js.map +1 -0
  292. package/dist/chat/typed-interrupts/interrupt-card-shell.cjs +182 -0
  293. package/dist/chat/typed-interrupts/interrupt-card-shell.cjs.map +1 -0
  294. package/dist/chat/typed-interrupts/interrupt-card-shell.d.ts +47 -0
  295. package/dist/chat/typed-interrupts/interrupt-card-shell.js +182 -0
  296. package/dist/chat/typed-interrupts/interrupt-card-shell.js.map +1 -0
  297. package/dist/chat/typed-interrupts/json-schema-form.cjs +388 -0
  298. package/dist/chat/typed-interrupts/json-schema-form.cjs.map +1 -0
  299. package/dist/chat/typed-interrupts/json-schema-form.d.ts +33 -0
  300. package/dist/chat/typed-interrupts/json-schema-form.js +388 -0
  301. package/dist/chat/typed-interrupts/json-schema-form.js.map +1 -0
  302. package/dist/chat/typed-interrupts/questionnaire-card.cjs +449 -0
  303. package/dist/chat/typed-interrupts/questionnaire-card.cjs.map +1 -0
  304. package/dist/chat/typed-interrupts/questionnaire-card.d.ts +20 -0
  305. package/dist/chat/typed-interrupts/questionnaire-card.js +449 -0
  306. package/dist/chat/typed-interrupts/questionnaire-card.js.map +1 -0
  307. package/dist/chat/typed-interrupts/request-file-card.cjs +159 -0
  308. package/dist/chat/typed-interrupts/request-file-card.cjs.map +1 -0
  309. package/dist/chat/typed-interrupts/request-file-card.d.ts +2 -0
  310. package/dist/chat/typed-interrupts/request-file-card.js +159 -0
  311. package/dist/chat/typed-interrupts/request-file-card.js.map +1 -0
  312. package/dist/chat/typed-interrupts/toolkit-selection-card.cjs +189 -0
  313. package/dist/chat/typed-interrupts/toolkit-selection-card.cjs.map +1 -0
  314. package/dist/chat/typed-interrupts/toolkit-selection-card.d.ts +23 -0
  315. package/dist/chat/typed-interrupts/toolkit-selection-card.js +189 -0
  316. package/dist/chat/typed-interrupts/toolkit-selection-card.js.map +1 -0
  317. package/dist/chat/typed-interrupts/typed-interrupt-body.cjs +26 -0
  318. package/dist/chat/typed-interrupts/typed-interrupt-body.cjs.map +1 -0
  319. package/dist/chat/typed-interrupts/typed-interrupt-body.d.ts +3 -0
  320. package/dist/chat/typed-interrupts/typed-interrupt-body.js +26 -0
  321. package/dist/chat/typed-interrupts/typed-interrupt-body.js.map +1 -0
  322. package/dist/chat/typed-interrupts/typed-interrupt-graphql.cjs +105 -0
  323. package/dist/chat/typed-interrupts/typed-interrupt-graphql.cjs.map +1 -0
  324. package/dist/chat/typed-interrupts/typed-interrupt-graphql.d.ts +29 -0
  325. package/dist/chat/typed-interrupts/typed-interrupt-graphql.js +105 -0
  326. package/dist/chat/typed-interrupts/typed-interrupt-graphql.js.map +1 -0
  327. package/dist/chat/typed-interrupts/typed-interrupt-notice.cjs +70 -0
  328. package/dist/chat/typed-interrupts/typed-interrupt-notice.cjs.map +1 -0
  329. package/dist/chat/typed-interrupts/typed-interrupt-notice.d.ts +45 -0
  330. package/dist/chat/typed-interrupts/typed-interrupt-notice.js +70 -0
  331. package/dist/chat/typed-interrupts/typed-interrupt-notice.js.map +1 -0
  332. package/dist/chat/typed-interrupts/typed-interrupt-panel.cjs +76 -0
  333. package/dist/chat/typed-interrupts/typed-interrupt-panel.cjs.map +1 -0
  334. package/dist/chat/typed-interrupts/typed-interrupt-panel.d.ts +11 -0
  335. package/dist/chat/typed-interrupts/typed-interrupt-panel.js +76 -0
  336. package/dist/chat/typed-interrupts/typed-interrupt-panel.js.map +1 -0
  337. package/dist/chat/typed-interrupts/typed-interrupt-types.d.ts +46 -0
  338. package/dist/chat/typed-interrupts/use-interrupt-draft.cjs +106 -0
  339. package/dist/chat/typed-interrupts/use-interrupt-draft.cjs.map +1 -0
  340. package/dist/chat/typed-interrupts/use-interrupt-draft.d.ts +29 -0
  341. package/dist/chat/typed-interrupts/use-interrupt-draft.js +106 -0
  342. package/dist/chat/typed-interrupts/use-interrupt-draft.js.map +1 -0
  343. package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.cjs +231 -0
  344. package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.cjs.map +1 -0
  345. package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.d.ts +66 -0
  346. package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.js +231 -0
  347. package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.js.map +1 -0
  348. package/dist/chat-ui/composer/composer-named-agents.cjs +13 -0
  349. package/dist/chat-ui/composer/composer-named-agents.cjs.map +1 -0
  350. package/dist/chat-ui/composer/composer-named-agents.d.ts +20 -0
  351. package/dist/chat-ui/composer/composer-named-agents.js +13 -0
  352. package/dist/chat-ui/composer/composer-named-agents.js.map +1 -0
  353. package/dist/chat-ui/composer/slash-command-menu.cjs +143 -0
  354. package/dist/chat-ui/composer/slash-command-menu.cjs.map +1 -0
  355. package/dist/chat-ui/composer/slash-command-menu.d.ts +19 -0
  356. package/dist/chat-ui/composer/slash-command-menu.js +143 -0
  357. package/dist/chat-ui/composer/slash-command-menu.js.map +1 -0
  358. package/dist/chat-ui/composer/slash-commands-extension.cjs +51 -0
  359. package/dist/chat-ui/composer/slash-commands-extension.cjs.map +1 -0
  360. package/dist/chat-ui/composer/slash-commands-extension.d.ts +39 -0
  361. package/dist/chat-ui/composer/slash-commands-extension.js +51 -0
  362. package/dist/chat-ui/composer/slash-commands-extension.js.map +1 -0
  363. package/dist/chat-ui/composer/slash-commands.cjs +74 -0
  364. package/dist/chat-ui/composer/slash-commands.cjs.map +1 -0
  365. package/dist/chat-ui/composer/slash-commands.d.ts +82 -0
  366. package/dist/chat-ui/composer/slash-commands.js +74 -0
  367. package/dist/chat-ui/composer/slash-commands.js.map +1 -0
  368. package/dist/chat-ui/composer/tiptap-composer.cjs +135 -9
  369. package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
  370. package/dist/chat-ui/composer/tiptap-composer.d.ts +61 -2
  371. package/dist/chat-ui/composer/tiptap-composer.js +135 -9
  372. package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
  373. package/dist/chat-ui/index.cjs +3 -0
  374. package/dist/chat-ui/index.cjs.map +1 -1
  375. package/dist/chat-ui/index.d.ts +3 -2
  376. package/dist/chat-ui/index.js +3 -0
  377. package/dist/chat-ui/index.js.map +1 -1
  378. package/dist/chat-ui/mentions/mention-chip.cjs +1 -1
  379. package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
  380. package/dist/chat-ui/mentions/mention-chip.js +2 -2
  381. package/dist/chat-ui/mentions/mention-chip.js.map +1 -1
  382. package/dist/chat-ui/mentions/mention-extension.cjs +8 -1
  383. package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -1
  384. package/dist/chat-ui/mentions/mention-extension.js +8 -1
  385. package/dist/chat-ui/mentions/mention-extension.js.map +1 -1
  386. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +1 -0
  387. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -1
  388. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +1 -0
  389. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -1
  390. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +2 -0
  391. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -1
  392. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +3 -1
  393. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -1
  394. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +1 -1
  395. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -1
  396. package/dist/chat-ui/mentions/suggestions/components/menu-item.js +1 -1
  397. package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -1
  398. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +36 -0
  399. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -1
  400. package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +42 -0
  401. package/dist/chat-ui/mentions/suggestions/data/api-client.js +36 -0
  402. package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -1
  403. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +235 -19
  404. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
  405. package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +88 -10
  406. package/dist/chat-ui/mentions/suggestions/data/sources/index.js +236 -20
  407. package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
  408. package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -1
  409. package/dist/chat-ui/mentions/suggestions/data/types.d.ts +27 -1
  410. package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -1
  411. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +56 -5
  412. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -1
  413. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +26 -6
  414. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +57 -6
  415. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -1
  416. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +34 -17
  417. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -1
  418. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.d.ts +19 -1
  419. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +35 -18
  420. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -1
  421. package/dist/chat-ui/statewire.d.ts +1 -1
  422. package/dist/chat-ui/thread/statewire-history-edge.cjs +15 -0
  423. package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -1
  424. package/dist/chat-ui/thread/statewire-history-edge.d.ts +4 -1
  425. package/dist/chat-ui/thread/statewire-history-edge.js +15 -0
  426. package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -1
  427. package/dist/collab/client.cjs +17 -5
  428. package/dist/collab/client.cjs.map +1 -1
  429. package/dist/collab/client.d.ts +22 -7
  430. package/dist/collab/client.js +17 -5
  431. package/dist/collab/client.js.map +1 -1
  432. package/dist/composer/ComposerAttachedReferences.cjs +119 -0
  433. package/dist/composer/ComposerAttachedReferences.cjs.map +1 -0
  434. package/dist/composer/ComposerAttachedReferences.d.ts +26 -0
  435. package/dist/composer/ComposerAttachedReferences.js +119 -0
  436. package/dist/composer/ComposerAttachedReferences.js.map +1 -0
  437. package/dist/composer/ComposerNamedAgents.cjs +63 -0
  438. package/dist/composer/ComposerNamedAgents.cjs.map +1 -0
  439. package/dist/composer/ComposerNamedAgents.d.ts +16 -0
  440. package/dist/composer/ComposerNamedAgents.js +63 -0
  441. package/dist/composer/ComposerNamedAgents.js.map +1 -0
  442. package/dist/composer/attached-references.cjs +159 -0
  443. package/dist/composer/attached-references.cjs.map +1 -0
  444. package/dist/composer/attached-references.d.ts +86 -0
  445. package/dist/composer/attached-references.js +159 -0
  446. package/dist/composer/attached-references.js.map +1 -0
  447. package/dist/composer/build-composed-message.cjs +14 -7
  448. package/dist/composer/build-composed-message.cjs.map +1 -1
  449. package/dist/composer/build-composed-message.d.ts +6 -1
  450. package/dist/composer/build-composed-message.js +14 -7
  451. package/dist/composer/build-composed-message.js.map +1 -1
  452. package/dist/composer/composer-handoff.cjs +6 -2
  453. package/dist/composer/composer-handoff.cjs.map +1 -1
  454. package/dist/composer/composer-handoff.d.ts +7 -1
  455. package/dist/composer/composer-handoff.js +6 -2
  456. package/dist/composer/composer-handoff.js.map +1 -1
  457. package/dist/composer/folder-upload.cjs +149 -0
  458. package/dist/composer/folder-upload.cjs.map +1 -0
  459. package/dist/composer/folder-upload.d.ts +79 -0
  460. package/dist/composer/folder-upload.js +149 -0
  461. package/dist/composer/folder-upload.js.map +1 -0
  462. package/dist/composer/index.d.ts +1 -1
  463. package/dist/composer/useAttachToChat.cjs +35 -0
  464. package/dist/composer/useAttachToChat.cjs.map +1 -0
  465. package/dist/composer/useAttachToChat.d.ts +54 -0
  466. package/dist/composer/useAttachToChat.js +35 -0
  467. package/dist/composer/useAttachToChat.js.map +1 -0
  468. package/dist/composer/useAttachedReferencesComposerProps.cjs +19 -0
  469. package/dist/composer/useAttachedReferencesComposerProps.cjs.map +1 -0
  470. package/dist/composer/useAttachedReferencesComposerProps.d.ts +12 -0
  471. package/dist/composer/useAttachedReferencesComposerProps.js +19 -0
  472. package/dist/composer/useAttachedReferencesComposerProps.js.map +1 -0
  473. package/dist/composer/useFileUpload.cjs +95 -7
  474. package/dist/composer/useFileUpload.cjs.map +1 -1
  475. package/dist/composer/useFileUpload.d.ts +21 -2
  476. package/dist/composer/useFileUpload.js +95 -7
  477. package/dist/composer/useFileUpload.js.map +1 -1
  478. package/dist/data/athena-api-error.cjs +125 -0
  479. package/dist/data/athena-api-error.cjs.map +1 -0
  480. package/dist/data/athena-api-error.d.ts +96 -0
  481. package/dist/data/athena-api-error.js +125 -0
  482. package/dist/data/athena-api-error.js.map +1 -0
  483. package/dist/data/athena-data-client.cjs +106 -0
  484. package/dist/data/athena-data-client.cjs.map +1 -0
  485. package/dist/data/athena-data-client.d.ts +74 -0
  486. package/dist/data/athena-data-client.js +106 -0
  487. package/dist/data/athena-data-client.js.map +1 -0
  488. package/dist/data/athena-member.cjs +93 -0
  489. package/dist/data/athena-member.cjs.map +1 -0
  490. package/dist/data/athena-member.d.ts +125 -0
  491. package/dist/data/athena-member.js +93 -0
  492. package/dist/data/athena-member.js.map +1 -0
  493. package/dist/data/athena-request.cjs +458 -0
  494. package/dist/data/athena-request.cjs.map +1 -0
  495. package/dist/data/athena-request.d.ts +120 -0
  496. package/dist/data/athena-request.js +458 -0
  497. package/dist/data/athena-request.js.map +1 -0
  498. package/dist/data/use-athena-fetch.cjs +14 -0
  499. package/dist/data/use-athena-fetch.cjs.map +1 -0
  500. package/dist/data/use-athena-fetch.d.ts +19 -0
  501. package/dist/data/use-athena-fetch.js +14 -0
  502. package/dist/data/use-athena-fetch.js.map +1 -0
  503. package/dist/data/use-athena-graphql.cjs +66 -0
  504. package/dist/data/use-athena-graphql.cjs.map +1 -0
  505. package/dist/data/use-athena-graphql.d.ts +56 -0
  506. package/dist/data/use-athena-graphql.js +66 -0
  507. package/dist/data/use-athena-graphql.js.map +1 -0
  508. package/dist/data/use-athena-rest.cjs +33 -0
  509. package/dist/data/use-athena-rest.cjs.map +1 -0
  510. package/dist/data/use-athena-rest.d.ts +21 -0
  511. package/dist/data/use-athena-rest.js +33 -0
  512. package/dist/data/use-athena-rest.js.map +1 -0
  513. package/dist/data/use-semantic-query.cjs +44 -0
  514. package/dist/data/use-semantic-query.cjs.map +1 -0
  515. package/dist/data/use-semantic-query.d.ts +92 -0
  516. package/dist/data/use-semantic-query.js +44 -0
  517. package/dist/data/use-semantic-query.js.map +1 -0
  518. package/dist/diagnostics/athena-diagnostics.cjs.map +1 -1
  519. package/dist/diagnostics/athena-diagnostics.d.ts +5 -1
  520. package/dist/diagnostics/athena-diagnostics.js.map +1 -1
  521. package/dist/diagnostics/errors.cjs +7 -0
  522. package/dist/diagnostics/errors.cjs.map +1 -1
  523. package/dist/diagnostics/errors.d.ts +7 -0
  524. package/dist/diagnostics/errors.js +7 -0
  525. package/dist/diagnostics/errors.js.map +1 -1
  526. package/dist/index.cjs +155 -11
  527. package/dist/index.cjs.map +1 -1
  528. package/dist/index.d.ts +72 -13
  529. package/dist/index.js +148 -4
  530. package/dist/index.js.map +1 -1
  531. package/dist/keryx-http/src/initial-sync.cjs +64 -16
  532. package/dist/keryx-http/src/initial-sync.cjs.map +1 -1
  533. package/dist/keryx-http/src/initial-sync.d.ts +31 -1
  534. package/dist/keryx-http/src/initial-sync.js +64 -16
  535. package/dist/keryx-http/src/initial-sync.js.map +1 -1
  536. package/dist/keryx-http/src/own-awareness.cjs +20 -0
  537. package/dist/keryx-http/src/own-awareness.cjs.map +1 -0
  538. package/dist/keryx-http/src/own-awareness.d.ts +50 -0
  539. package/dist/keryx-http/src/own-awareness.js +20 -0
  540. package/dist/keryx-http/src/own-awareness.js.map +1 -0
  541. package/dist/keryx-http/src/update-attributions.cjs +26 -1
  542. package/dist/keryx-http/src/update-attributions.cjs.map +1 -1
  543. package/dist/keryx-http/src/update-attributions.d.ts +10 -1
  544. package/dist/keryx-http/src/update-attributions.js +26 -1
  545. package/dist/keryx-http/src/update-attributions.js.map +1 -1
  546. package/dist/offline/chat-outbox.cjs +262 -26
  547. package/dist/offline/chat-outbox.cjs.map +1 -1
  548. package/dist/offline/chat-outbox.d.ts +90 -12
  549. package/dist/offline/chat-outbox.js +263 -27
  550. package/dist/offline/chat-outbox.js.map +1 -1
  551. package/dist/provider/AthenaProvider.cjs +63 -19
  552. package/dist/provider/AthenaProvider.cjs.map +1 -1
  553. package/dist/provider/AthenaProvider.d.ts +24 -8
  554. package/dist/provider/AthenaProvider.js +66 -22
  555. package/dist/provider/AthenaProvider.js.map +1 -1
  556. package/dist/react/package.json.cjs +1 -1
  557. package/dist/react/package.json.js +1 -1
  558. package/dist/references/src/anchors/types.cjs +5 -0
  559. package/dist/references/src/anchors/types.cjs.map +1 -1
  560. package/dist/references/src/anchors/types.js +5 -0
  561. package/dist/references/src/anchors/types.js.map +1 -1
  562. package/dist/references/src/attachable.cjs +149 -0
  563. package/dist/references/src/attachable.cjs.map +1 -0
  564. package/dist/references/src/attachable.d.ts +87 -0
  565. package/dist/references/src/attachable.js +149 -0
  566. package/dist/references/src/attachable.js.map +1 -0
  567. package/dist/runtime/StatewirePlanModeLaneSync.cjs +93 -0
  568. package/dist/runtime/StatewirePlanModeLaneSync.cjs.map +1 -0
  569. package/dist/runtime/StatewirePlanModeLaneSync.d.ts +34 -0
  570. package/dist/runtime/StatewirePlanModeLaneSync.js +93 -0
  571. package/dist/runtime/StatewirePlanModeLaneSync.js.map +1 -0
  572. package/dist/runtime/StatewireThreadConfigLaneSync.cjs +2 -0
  573. package/dist/runtime/StatewireThreadConfigLaneSync.cjs.map +1 -1
  574. package/dist/runtime/StatewireThreadConfigLaneSync.d.ts +4 -0
  575. package/dist/runtime/StatewireThreadConfigLaneSync.js +2 -0
  576. package/dist/runtime/StatewireThreadConfigLaneSync.js.map +1 -1
  577. package/dist/runtime/statewire-plan-mode.cjs +71 -0
  578. package/dist/runtime/statewire-plan-mode.cjs.map +1 -0
  579. package/dist/runtime/statewire-plan-mode.d.ts +88 -0
  580. package/dist/runtime/statewire-plan-mode.js +71 -0
  581. package/dist/runtime/statewire-plan-mode.js.map +1 -0
  582. package/dist/runtime/statewire-run-config.cjs +18 -1
  583. package/dist/runtime/statewire-run-config.cjs.map +1 -1
  584. package/dist/runtime/statewire-run-config.d.ts +20 -0
  585. package/dist/runtime/statewire-run-config.js +18 -1
  586. package/dist/runtime/statewire-run-config.js.map +1 -1
  587. package/dist/runtime/statewire-session-key.cjs +11 -5
  588. package/dist/runtime/statewire-session-key.cjs.map +1 -1
  589. package/dist/runtime/statewire-session-key.d.ts +22 -10
  590. package/dist/runtime/statewire-session-key.js +11 -5
  591. package/dist/runtime/statewire-session-key.js.map +1 -1
  592. package/dist/runtime/useAthenaStatewireRuntime.cjs +65 -8
  593. package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
  594. package/dist/runtime/useAthenaStatewireRuntime.d.ts +26 -10
  595. package/dist/runtime/useAthenaStatewireRuntime.js +67 -10
  596. package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
  597. package/dist/search/useAthenaAssets.cjs +394 -0
  598. package/dist/search/useAthenaAssets.cjs.map +1 -0
  599. package/dist/search/useAthenaAssets.d.ts +186 -0
  600. package/dist/search/useAthenaAssets.js +394 -0
  601. package/dist/search/useAthenaAssets.js.map +1 -0
  602. package/dist/sheet-range/index.cjs +4 -0
  603. package/dist/sheet-range/index.cjs.map +1 -1
  604. package/dist/sheet-range/index.d.ts +4 -2
  605. package/dist/sheet-range/index.js +4 -0
  606. package/dist/sheet-range/index.js.map +1 -1
  607. package/dist/sheet-range/query-range.cjs +102 -0
  608. package/dist/sheet-range/query-range.cjs.map +1 -0
  609. package/dist/sheet-range/query-range.d.ts +46 -0
  610. package/dist/sheet-range/query-range.js +102 -0
  611. package/dist/sheet-range/query-range.js.map +1 -0
  612. package/dist/styles.css +1 -1
  613. package/dist/subagents/index.cjs +49 -0
  614. package/dist/subagents/index.cjs.map +1 -0
  615. package/dist/subagents/index.d.ts +16 -0
  616. package/dist/subagents/index.js +49 -0
  617. package/dist/subagents/index.js.map +1 -0
  618. package/dist/subagents/lane-follow.cjs +19 -0
  619. package/dist/subagents/lane-follow.cjs.map +1 -0
  620. package/dist/subagents/lane-follow.d.ts +9 -0
  621. package/dist/subagents/lane-follow.js +19 -0
  622. package/dist/subagents/lane-follow.js.map +1 -0
  623. package/dist/subagents/lane-model.cjs +178 -0
  624. package/dist/subagents/lane-model.cjs.map +1 -0
  625. package/dist/subagents/lane-model.d.ts +140 -0
  626. package/dist/subagents/lane-model.js +178 -0
  627. package/dist/subagents/lane-model.js.map +1 -0
  628. package/dist/subagents/lane-parts.cjs +517 -0
  629. package/dist/subagents/lane-parts.cjs.map +1 -0
  630. package/dist/subagents/lane-parts.d.ts +130 -0
  631. package/dist/subagents/lane-parts.js +517 -0
  632. package/dist/subagents/lane-parts.js.map +1 -0
  633. package/dist/subagents/subagent-lane-group.cjs +215 -0
  634. package/dist/subagents/subagent-lane-group.cjs.map +1 -0
  635. package/dist/subagents/subagent-lane-group.d.ts +67 -0
  636. package/dist/subagents/subagent-lane-group.js +215 -0
  637. package/dist/subagents/subagent-lane-group.js.map +1 -0
  638. package/dist/subagents/subagent-transcript-drawer.cjs +431 -0
  639. package/dist/subagents/subagent-transcript-drawer.cjs.map +1 -0
  640. package/dist/subagents/subagent-transcript-drawer.d.ts +78 -0
  641. package/dist/subagents/subagent-transcript-drawer.js +431 -0
  642. package/dist/subagents/subagent-transcript-drawer.js.map +1 -0
  643. package/dist/subagents/task-subagent-group.cjs +115 -0
  644. package/dist/subagents/task-subagent-group.cjs.map +1 -0
  645. package/dist/subagents/task-subagent-group.d.ts +36 -0
  646. package/dist/subagents/task-subagent-group.js +115 -0
  647. package/dist/subagents/task-subagent-group.js.map +1 -0
  648. package/dist/subagents/use-omitted-images-in-view.cjs +68 -0
  649. package/dist/subagents/use-omitted-images-in-view.cjs.map +1 -0
  650. package/dist/subagents/use-omitted-images-in-view.d.ts +21 -0
  651. package/dist/subagents/use-omitted-images-in-view.js +68 -0
  652. package/dist/subagents/use-omitted-images-in-view.js.map +1 -0
  653. package/dist/threads/Inbox.cjs +2 -2
  654. package/dist/threads/Inbox.cjs.map +1 -1
  655. package/dist/threads/SessionList.cjs +27 -24
  656. package/dist/threads/SessionList.cjs.map +1 -1
  657. package/dist/threads/SessionList.js +22 -19
  658. package/dist/threads/SessionList.js.map +1 -1
  659. package/dist/threads/SessionsPage.cjs +13 -7
  660. package/dist/threads/SessionsPage.cjs.map +1 -1
  661. package/dist/threads/SessionsPage.d.ts +10 -1
  662. package/dist/threads/SessionsPage.js +9 -3
  663. package/dist/threads/SessionsPage.js.map +1 -1
  664. package/dist/threads/live-session-rows.cjs +207 -0
  665. package/dist/threads/live-session-rows.cjs.map +1 -0
  666. package/dist/threads/live-session-rows.d.ts +175 -0
  667. package/dist/threads/live-session-rows.js +207 -0
  668. package/dist/threads/live-session-rows.js.map +1 -0
  669. package/dist/threads/session-list-model.cjs.map +1 -1
  670. package/dist/threads/session-list-model.d.ts +2 -1
  671. package/dist/threads/session-list-model.js.map +1 -1
  672. package/dist/threads/session-row-parts.cjs +3 -3
  673. package/dist/threads/session-row-parts.cjs.map +1 -1
  674. package/dist/threads/sessions-page-model.cjs +13 -5
  675. package/dist/threads/sessions-page-model.cjs.map +1 -1
  676. package/dist/threads/sessions-page-model.d.ts +7 -0
  677. package/dist/threads/sessions-page-model.js +11 -3
  678. package/dist/threads/sessions-page-model.js.map +1 -1
  679. package/dist/threads/sessions-page-storage.cjs +8 -8
  680. package/dist/threads/sessions-page-storage.cjs.map +1 -1
  681. package/dist/threads/sessions-page-storage.d.ts +5 -1
  682. package/dist/threads/sessions-page-storage.js +8 -8
  683. package/dist/threads/sessions-page-storage.js.map +1 -1
  684. package/dist/threads/statewire-thread-list.cjs +173 -20
  685. package/dist/threads/statewire-thread-list.cjs.map +1 -1
  686. package/dist/threads/statewire-thread-list.d.ts +44 -1
  687. package/dist/threads/statewire-thread-list.js +174 -21
  688. package/dist/threads/statewire-thread-list.js.map +1 -1
  689. package/dist/threads/use-athena-sessions.cjs +1 -0
  690. package/dist/threads/use-athena-sessions.cjs.map +1 -1
  691. package/dist/threads/use-athena-sessions.d.ts +7 -0
  692. package/dist/threads/use-athena-sessions.js +1 -0
  693. package/dist/threads/use-athena-sessions.js.map +1 -1
  694. package/dist/threads/use-athena-thread-agent.cjs +31 -0
  695. package/dist/threads/use-athena-thread-agent.cjs.map +1 -0
  696. package/dist/threads/use-athena-thread-agent.d.ts +38 -0
  697. package/dist/threads/use-athena-thread-agent.js +31 -0
  698. package/dist/threads/use-athena-thread-agent.js.map +1 -0
  699. package/dist/threads/use-athena-thread-plan-mode.cjs +18 -0
  700. package/dist/threads/use-athena-thread-plan-mode.cjs.map +1 -0
  701. package/dist/threads/use-athena-thread-plan-mode.d.ts +18 -0
  702. package/dist/threads/use-athena-thread-plan-mode.js +18 -0
  703. package/dist/threads/use-athena-thread-plan-mode.js.map +1 -0
  704. package/dist/threads/use-rest-conversation-history.d.ts +1 -0
  705. package/dist/tools/agent-creations.cjs +97 -0
  706. package/dist/tools/agent-creations.cjs.map +1 -0
  707. package/dist/tools/agent-creations.d.ts +38 -0
  708. package/dist/tools/agent-creations.js +97 -0
  709. package/dist/tools/agent-creations.js.map +1 -0
  710. package/dist/tools/agent-highlights.cjs +100 -0
  711. package/dist/tools/agent-highlights.cjs.map +1 -0
  712. package/dist/tools/agent-highlights.d.ts +57 -0
  713. package/dist/tools/agent-highlights.js +100 -0
  714. package/dist/tools/agent-highlights.js.map +1 -0
  715. package/dist/tools/append-document-tool-ui.cjs +1 -0
  716. package/dist/tools/append-document-tool-ui.cjs.map +1 -1
  717. package/dist/tools/append-document-tool-ui.d.ts +7 -0
  718. package/dist/tools/append-document-tool-ui.js +2 -1
  719. package/dist/tools/append-document-tool-ui.js.map +1 -1
  720. package/dist/tools/auto-open-tools.cjs +144 -71
  721. package/dist/tools/auto-open-tools.cjs.map +1 -1
  722. package/dist/tools/auto-open-tools.d.ts +131 -1
  723. package/dist/tools/auto-open-tools.js +145 -72
  724. package/dist/tools/auto-open-tools.js.map +1 -1
  725. package/dist/tools/browser-tool-uis.cjs +594 -0
  726. package/dist/tools/browser-tool-uis.cjs.map +1 -0
  727. package/dist/tools/browser-tool-uis.d.ts +8 -0
  728. package/dist/tools/browser-tool-uis.js +594 -0
  729. package/dist/tools/browser-tool-uis.js.map +1 -0
  730. package/dist/tools/computer-asset-tool-uis.cjs +313 -0
  731. package/dist/tools/computer-asset-tool-uis.cjs.map +1 -0
  732. package/dist/tools/computer-asset-tool-uis.d.ts +5 -0
  733. package/dist/tools/computer-asset-tool-uis.js +313 -0
  734. package/dist/tools/computer-asset-tool-uis.js.map +1 -0
  735. package/dist/tools/document-edit-tool-uis.cjs +218 -0
  736. package/dist/tools/document-edit-tool-uis.cjs.map +1 -0
  737. package/dist/tools/document-edit-tool-uis.d.ts +40 -0
  738. package/dist/tools/document-edit-tool-uis.js +218 -0
  739. package/dist/tools/document-edit-tool-uis.js.map +1 -0
  740. package/dist/tools/drive-tool-uis.cjs +425 -0
  741. package/dist/tools/drive-tool-uis.cjs.map +1 -0
  742. package/dist/tools/drive-tool-uis.d.ts +120 -0
  743. package/dist/tools/drive-tool-uis.js +425 -0
  744. package/dist/tools/drive-tool-uis.js.map +1 -0
  745. package/dist/tools/email-calendar-tool-uis.cjs +789 -0
  746. package/dist/tools/email-calendar-tool-uis.cjs.map +1 -0
  747. package/dist/tools/email-calendar-tool-uis.d.ts +129 -0
  748. package/dist/tools/email-calendar-tool-uis.js +789 -0
  749. package/dist/tools/email-calendar-tool-uis.js.map +1 -0
  750. package/dist/tools/ontology-tool-uis.cjs +83 -0
  751. package/dist/tools/ontology-tool-uis.cjs.map +1 -0
  752. package/dist/tools/ontology-tool-uis.d.ts +9 -0
  753. package/dist/tools/ontology-tool-uis.js +83 -0
  754. package/dist/tools/ontology-tool-uis.js.map +1 -0
  755. package/dist/tools/orchestration-tool-uis.cjs +586 -0
  756. package/dist/tools/orchestration-tool-uis.cjs.map +1 -0
  757. package/dist/tools/orchestration-tool-uis.d.ts +141 -0
  758. package/dist/tools/orchestration-tool-uis.js +586 -0
  759. package/dist/tools/orchestration-tool-uis.js.map +1 -0
  760. package/dist/tools/presentation-edit-tool-uis.cjs +516 -0
  761. package/dist/tools/presentation-edit-tool-uis.cjs.map +1 -0
  762. package/dist/tools/presentation-edit-tool-uis.d.ts +73 -0
  763. package/dist/tools/presentation-edit-tool-uis.js +516 -0
  764. package/dist/tools/presentation-edit-tool-uis.js.map +1 -0
  765. package/dist/tools/project-tool-uis.cjs +213 -0
  766. package/dist/tools/project-tool-uis.cjs.map +1 -0
  767. package/dist/tools/project-tool-uis.d.ts +14 -0
  768. package/dist/tools/project-tool-uis.js +213 -0
  769. package/dist/tools/project-tool-uis.js.map +1 -0
  770. package/dist/tools/sandbox-tool-uis.cjs +491 -0
  771. package/dist/tools/sandbox-tool-uis.cjs.map +1 -0
  772. package/dist/tools/sandbox-tool-uis.d.ts +116 -0
  773. package/dist/tools/sandbox-tool-uis.js +491 -0
  774. package/dist/tools/sandbox-tool-uis.js.map +1 -0
  775. package/dist/tools/sheet-query-tool-ui.cjs +138 -0
  776. package/dist/tools/sheet-query-tool-ui.cjs.map +1 -0
  777. package/dist/tools/sheet-query-tool-ui.d.ts +15 -0
  778. package/dist/tools/sheet-query-tool-ui.js +138 -0
  779. package/dist/tools/sheet-query-tool-ui.js.map +1 -0
  780. package/dist/tools/studio-screenshot-tool-uis.cjs +262 -0
  781. package/dist/tools/studio-screenshot-tool-uis.cjs.map +1 -0
  782. package/dist/tools/studio-screenshot-tool-uis.d.ts +52 -0
  783. package/dist/tools/studio-screenshot-tool-uis.js +262 -0
  784. package/dist/tools/studio-screenshot-tool-uis.js.map +1 -0
  785. package/dist/tools/subagent-task-tool-ui.cjs +24 -475
  786. package/dist/tools/subagent-task-tool-ui.cjs.map +1 -1
  787. package/dist/tools/subagent-task-tool-ui.d.ts +19 -103
  788. package/dist/tools/subagent-task-tool-ui.js +28 -479
  789. package/dist/tools/subagent-task-tool-ui.js.map +1 -1
  790. package/dist/tools/tool-summary.cjs +36 -0
  791. package/dist/tools/tool-summary.cjs.map +1 -1
  792. package/dist/tools/tool-summary.js +36 -0
  793. package/dist/tools/tool-summary.js.map +1 -1
  794. package/dist/tools/tool-uis.cjs +181 -53
  795. package/dist/tools/tool-uis.cjs.map +1 -1
  796. package/dist/tools/tool-uis.d.ts +40 -0
  797. package/dist/tools/tool-uis.js +183 -55
  798. package/dist/tools/tool-uis.js.map +1 -1
  799. package/dist/typed-interrupts/index.cjs +15 -0
  800. package/dist/typed-interrupts/index.cjs.map +1 -0
  801. package/dist/typed-interrupts/index.d.ts +20 -0
  802. package/dist/typed-interrupts/index.js +15 -0
  803. package/dist/typed-interrupts/index.js.map +1 -0
  804. package/dist/workbench/session-workbench-panes.cjs +6 -6
  805. package/dist/workbench/session-workbench-panes.cjs.map +1 -1
  806. package/package.json +28 -6
  807. package/dist/agent-runtime/src/chat-outbox-store.cjs +0 -510
  808. package/dist/agent-runtime/src/chat-outbox-store.cjs.map +0 -1
  809. package/dist/agent-runtime/src/chat-outbox-store.d.ts +0 -210
  810. package/dist/agent-runtime/src/chat-outbox-store.js +0 -510
  811. package/dist/agent-runtime/src/chat-outbox-store.js.map +0 -1
@@ -0,0 +1,284 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useAuiState, getExternalStoreMessages } from "@assistant-ui/react";
3
+ import { useQuery, useQueryClient, useMutation } from "@tanstack/react-query";
4
+ import { Undo2Icon } from "lucide-react";
5
+ import { useContext, createContext, useMemo, useState } from "react";
6
+ import { isRecord } from "../lib/utils.js";
7
+ import { AthenaStatewireThreadIdContext } from "../threads/thread-id-context.js";
8
+ import { Button } from "../ui/button.js";
9
+ import { useAthenaRunLive } from "./use-athena-run-live.js";
10
+ import { readSoleRuntimeMessageKind } from "../agent-runtime/src/runtime-messages.js";
11
+ import { cn } from "cnfast";
12
+ const AthenaTurnChangesScope = {
13
+ /** Every change in the chat (the default). */
14
+ Chat: "chat",
15
+ /** This turn's changes alone. */
16
+ Turn: "turn"
17
+ };
18
+ const AthenaTurnChangesContext = createContext(null);
19
+ const TURN_CHANGES_FILES_SHOWN = 3;
20
+ const RUN_ID_MAX = 200;
21
+ const RUN_ID_KEY = "athena_run_id";
22
+ const RUN_IDS_SEPARATOR = "\n";
23
+ function runIdOf(metadata) {
24
+ if (!isRecord(metadata)) return null;
25
+ const runId = metadata[RUN_ID_KEY];
26
+ return typeof runId === "string" && runId.length > 0 && runId.length <= RUN_ID_MAX ? runId : null;
27
+ }
28
+ function readMessageRunIds(message) {
29
+ var _a;
30
+ const runIds = [];
31
+ for (const source of getExternalStoreMessages(message)) {
32
+ if (!isRecord(source) || source.type !== "ai") continue;
33
+ const kwargs = source.additional_kwargs;
34
+ const runId = runIdOf(isRecord(kwargs) ? kwargs.metadata : void 0);
35
+ if (runId && !runIds.includes(runId)) runIds.push(runId);
36
+ }
37
+ if (runIds.length > 0) return runIds;
38
+ const joined = runIdOf((_a = message.metadata) == null ? void 0 : _a.custom);
39
+ return joined ? [joined] : [];
40
+ }
41
+ function isLatestAnswer(messages, messageId) {
42
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
43
+ const message = messages[index];
44
+ if (!message) continue;
45
+ if (message.role === "assistant" && isSoleEnding(message)) continue;
46
+ return message.id === messageId && message.role === "assistant";
47
+ }
48
+ return false;
49
+ }
50
+ function isSoleEnding(message) {
51
+ const kind = readSoleRuntimeMessageKind(message);
52
+ return kind !== void 0 && kind !== "handoff";
53
+ }
54
+ const readsByMessage = /* @__PURE__ */ new WeakMap();
55
+ function readMessage(message) {
56
+ const cached = readsByMessage.get(message);
57
+ if (cached) return cached;
58
+ const read = { runIds: readMessageRunIds(message), ending: isSoleEnding(message) };
59
+ readsByMessage.set(message, read);
60
+ return read;
61
+ }
62
+ const turnsByMessages = /* @__PURE__ */ new WeakMap();
63
+ function turnRunIdsByMessage(messages) {
64
+ const cached = turnsByMessages.get(messages);
65
+ if (cached) return cached;
66
+ const turns = /* @__PURE__ */ new Map();
67
+ let runIds = [];
68
+ let last = null;
69
+ const close = () => {
70
+ if (last !== null && runIds.length > 0) turns.set(last, runIds.join(RUN_IDS_SEPARATOR));
71
+ runIds = [];
72
+ last = null;
73
+ };
74
+ for (const message of messages) {
75
+ if (message.role !== "assistant") {
76
+ close();
77
+ continue;
78
+ }
79
+ const read = readMessage(message);
80
+ for (const runId of read.runIds) {
81
+ if (!runIds.includes(runId)) runIds.push(runId);
82
+ }
83
+ if (!read.ending) last = message.id;
84
+ }
85
+ close();
86
+ turnsByMessages.set(messages, turns);
87
+ return turns;
88
+ }
89
+ function editedFilesLabel({ count }) {
90
+ return count === 1 ? "Edited 1 file" : `Edited ${count.toLocaleString("en-US")} files`;
91
+ }
92
+ function moreFilesLabel({ count }) {
93
+ return count === 1 ? "Show 1 more file" : `Show ${count.toLocaleString("en-US")} more files`;
94
+ }
95
+ function splitPath(path) {
96
+ const slash = path.lastIndexOf("/");
97
+ return slash < 0 ? { folder: "", name: path } : { folder: path.slice(0, slash + 1), name: path.slice(slash + 1) };
98
+ }
99
+ const LineCounts = ({
100
+ additions,
101
+ deletions,
102
+ always = false
103
+ }) => {
104
+ if (additions === null || deletions === null) {
105
+ return /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "binary" });
106
+ }
107
+ const showAdded = always || additions > 0;
108
+ const showRemoved = always || deletions > 0;
109
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
110
+ showAdded ? /* @__PURE__ */ jsxs("span", { className: "text-emerald-600 dark:text-emerald-400", children: [
111
+ "+",
112
+ additions.toLocaleString("en-US")
113
+ ] }) : null,
114
+ showAdded && showRemoved ? " " : null,
115
+ showRemoved ? /* @__PURE__ */ jsxs("span", { className: "text-red-600 dark:text-red-400", children: [
116
+ "−",
117
+ deletions.toLocaleString("en-US")
118
+ ] }) : null
119
+ ] });
120
+ };
121
+ const AthenaTurnChangesSlot = ({ className }) => {
122
+ const config = useContext(AthenaTurnChangesContext);
123
+ const threadId = useContext(AthenaStatewireThreadIdContext);
124
+ if (!(config == null ? void 0 : config.enabled) || !threadId) return null;
125
+ return /* @__PURE__ */ jsx(TurnChangesForMessage, { config, threadId, className });
126
+ };
127
+ const TurnChangesForMessage = ({ config, threadId, className }) => {
128
+ const messageId = useAuiState((s) => s.message.id);
129
+ const runIdsKey = useAuiState(
130
+ (s) => turnRunIdsByMessage(s.thread.messages).get(s.message.id) ?? null
131
+ );
132
+ const isLast = useAuiState((s) => s.message.isLast);
133
+ const latest = useAuiState((s) => isLatestAnswer(s.thread.messages, s.message.id));
134
+ const settled = useAuiState(
135
+ (s) => {
136
+ var _a, _b;
137
+ return ((_a = s.message.status) == null ? void 0 : _a.type) === "complete" || ((_b = s.message.status) == null ? void 0 : _b.type) === "incomplete";
138
+ }
139
+ );
140
+ const runLive = useAthenaRunLive();
141
+ const finished = !isLast || settled && !runLive;
142
+ const turn = useMemo(
143
+ () => runIdsKey ? { messageId, runIds: runIdsKey.split(RUN_IDS_SEPARATOR) } : latest ? { messageId, runIds: [] } : null,
144
+ [messageId, runIdsKey, latest]
145
+ );
146
+ const read = config.read;
147
+ const changes = useQuery({
148
+ queryKey: ["athena-sdk", "turn-changes", threadId, messageId, runIdsKey ?? ""],
149
+ queryFn: ({ signal }) => turn ? read({ threadId, turn, signal }) : Promise.resolve(null),
150
+ enabled: finished && turn !== null,
151
+ // Read from the host (the desktop app's own folder, through its main process), never from
152
+ // Athena: it goes whether or not Athena can be reached.
153
+ networkMode: "always",
154
+ // A turn's changes are read once; Undo reads them again.
155
+ staleTime: Number.POSITIVE_INFINITY,
156
+ retry: false
157
+ });
158
+ const summary = changes.data ?? null;
159
+ if (!turn || !finished || !summary || !Array.isArray(summary.files)) return null;
160
+ const count = summary.files.length + Math.max(0, summary.more ?? 0);
161
+ if (count === 0) return null;
162
+ return /* @__PURE__ */ jsx(
163
+ TurnChangesCard,
164
+ {
165
+ config,
166
+ threadId,
167
+ turn,
168
+ summary,
169
+ count,
170
+ className
171
+ }
172
+ );
173
+ };
174
+ const TurnChangesCard = ({ config, threadId, turn, summary, count, className }) => {
175
+ const queryClient = useQueryClient();
176
+ const [expanded, setExpanded] = useState(false);
177
+ const undo = useMutation({
178
+ mutationFn: async () => {
179
+ await config.onUndo({ threadId, turn, changes: summary });
180
+ },
181
+ networkMode: "always",
182
+ onSettled: () => queryClient.invalidateQueries({
183
+ queryKey: ["athena-sdk", "turn-changes", threadId, turn.messageId]
184
+ })
185
+ });
186
+ const hidden = Math.max(0, summary.files.length - TURN_CHANGES_FILES_SHOWN);
187
+ const listed = expanded ? summary.files : summary.files.slice(0, TURN_CHANGES_FILES_SHOWN);
188
+ const unlisted = Math.max(0, summary.more ?? 0);
189
+ return /* @__PURE__ */ jsxs(
190
+ "section",
191
+ {
192
+ "aria-label": "What this turn changed",
193
+ "data-slot": "turn-changes",
194
+ className: cn(
195
+ "aui-turn-changes mt-3 overflow-hidden rounded-xl border border-border/60 bg-background text-[13px] shadow-sm",
196
+ className
197
+ ),
198
+ children: [
199
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 px-3 py-2", children: [
200
+ /* @__PURE__ */ jsx("span", { "data-slot": "turn-changes-title", className: "font-medium text-foreground", children: editedFilesLabel({ count }) }),
201
+ /* @__PURE__ */ jsx("span", { "data-slot": "turn-changes-total", className: "font-mono text-[12px] tabular-nums", children: /* @__PURE__ */ jsx(LineCounts, { additions: summary.additions, deletions: summary.deletions, always: true }) }),
202
+ /* @__PURE__ */ jsxs("span", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
203
+ /* @__PURE__ */ jsxs(
204
+ Button,
205
+ {
206
+ type: "button",
207
+ variant: "ghost",
208
+ size: "xs",
209
+ "data-slot": "turn-changes-undo",
210
+ className: "text-muted-foreground",
211
+ disabled: undo.isPending,
212
+ onClick: () => undo.mutate(),
213
+ children: [
214
+ /* @__PURE__ */ jsx(Undo2Icon, { "aria-hidden": "true" }),
215
+ "Undo"
216
+ ]
217
+ }
218
+ ),
219
+ /* @__PURE__ */ jsx(
220
+ Button,
221
+ {
222
+ type: "button",
223
+ variant: "outline",
224
+ size: "xs",
225
+ "data-slot": "turn-changes-view",
226
+ onClick: () => config.onView({
227
+ threadId,
228
+ turn,
229
+ changes: summary,
230
+ scope: config.reviewScope ?? AthenaTurnChangesScope.Chat
231
+ }),
232
+ children: "View changes"
233
+ }
234
+ )
235
+ ] })
236
+ ] }),
237
+ /* @__PURE__ */ jsxs("ul", { className: "border-t border-border/60 py-1", children: [
238
+ listed.map((file) => {
239
+ const { folder, name } = splitPath(file.path);
240
+ return /* @__PURE__ */ jsxs(
241
+ "li",
242
+ {
243
+ "data-slot": "turn-changes-file",
244
+ className: "flex min-w-0 items-center gap-3 px-3 py-0.5 font-mono text-[12px]",
245
+ children: [
246
+ /* @__PURE__ */ jsxs("span", { className: "min-w-0 truncate", title: file.path, children: [
247
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: folder }),
248
+ /* @__PURE__ */ jsx("span", { className: "text-foreground", children: name })
249
+ ] }),
250
+ /* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 tabular-nums", children: /* @__PURE__ */ jsx(LineCounts, { additions: file.additions, deletions: file.deletions }) })
251
+ ]
252
+ },
253
+ file.path
254
+ );
255
+ }),
256
+ unlisted > 0 && (expanded || hidden === 0) ? /* @__PURE__ */ jsx("li", { "data-slot": "turn-changes-unlisted", className: "px-3 py-0.5 text-[12px] text-muted-foreground", children: unlisted === 1 ? "And 1 more file" : `And ${unlisted.toLocaleString("en-US")} more files` }) : null
257
+ ] }),
258
+ hidden > 0 ? /* @__PURE__ */ jsx(
259
+ "button",
260
+ {
261
+ type: "button",
262
+ "data-slot": "turn-changes-more",
263
+ "aria-expanded": expanded,
264
+ onClick: () => setExpanded((open) => !open),
265
+ className: "w-full border-t border-border/60 px-3 py-1.5 text-left text-[12px] text-muted-foreground outline-none transition-colors hover:bg-muted/40 hover:text-foreground focus-visible:bg-muted/40",
266
+ children: expanded ? "Show fewer files" : moreFilesLabel({ count: hidden + unlisted })
267
+ }
268
+ ) : null
269
+ ]
270
+ }
271
+ );
272
+ };
273
+ export {
274
+ AthenaTurnChangesContext,
275
+ AthenaTurnChangesScope,
276
+ AthenaTurnChangesSlot,
277
+ TURN_CHANGES_FILES_SHOWN,
278
+ editedFilesLabel,
279
+ isLatestAnswer,
280
+ moreFilesLabel,
281
+ readMessageRunIds,
282
+ turnRunIdsByMessage
283
+ };
284
+ //# sourceMappingURL=turn-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-changes.js","sources":["../../src/chat/turn-changes.tsx"],"sourcesContent":["import {\n getExternalStoreMessages,\n type ThreadMessage,\n useAuiState,\n} from '@assistant-ui/react';\nimport { readSoleRuntimeMessageKind } from '@athenaintel/agent-runtime';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { Undo2Icon } from 'lucide-react';\nimport { createContext, type FC, useContext, useMemo, useState } from 'react';\nimport { cn, isRecord } from '../lib/utils';\nimport { AthenaStatewireThreadIdContext } from '../threads/thread-id-context';\nimport { Button } from '../ui/button';\nimport { useAthenaRunLive } from './use-athena-run-live';\n\n/**\n * What a coding turn changed, at the end of the turn in the transcript: Codex's \"Edited 5 files\n * +164 −6 · Undo · View changes\" card. The SDK owns the card and where it goes; the host owns the\n * changes (it reads them, for a turn it can find, through `read`) and what Undo and View changes do.\n * Off unless the host turns it on (`AthenaChatTurnChanges.enabled`): with it off nothing renders\n * and nothing is read.\n */\n\n/** One file a turn changed, as the card lists it. */\nexport interface AthenaTurnChangedFile {\n /** The file's path, relative to the folder the chat works in. */\n path: string;\n /** Lines added and removed; `null` for a binary file. */\n additions: number | null;\n deletions: number | null;\n}\n\n/** What one turn changed, as the host read it. */\nexport interface AthenaTurnChangesSummary {\n /** The files, in the order the card lists them: three show, the rest behind \"Show N more files\". */\n files: readonly AthenaTurnChangedFile[];\n /** Changed files past `files` that the host did not list; counted in \"Edited N files\". */\n more?: number;\n /** Lines added and removed in every file. */\n additions: number;\n deletions: number;\n /**\n * Opaque to the SDK: the host's own handle on these changes (what its review and its undo act\n * on), handed back to `onView` and `onUndo` as it was read.\n */\n ref?: string;\n}\n\n/** A finished assistant turn the host is asked about. */\nexport interface AthenaChatTurn {\n /** The turn's assistant message (its last one): the same id on every read of the thread. */\n messageId: string;\n /**\n * The runs that answered the turn, oldest first: what each of its assistant messages names\n * (`metadata.custom.athena_run_id`, which Athena stamps on every assistant message). A turn\n * resumed after an approval has more than one. Empty for the thread's latest turn while its run\n * ids have not reached the page (Athena stamps them after the reply streams): the host reads its\n * latest turn from its own record, and the card reads again by run once they arrive.\n */\n runIds: readonly string[];\n}\n\n/** Where View changes opens the host's review. */\nexport const AthenaTurnChangesScope = {\n /** Every change in the chat (the default). */\n Chat: 'chat',\n /** This turn's changes alone. */\n Turn: 'turn',\n} as const;\nexport type AthenaTurnChangesScope =\n (typeof AthenaTurnChangesScope)[keyof typeof AthenaTurnChangesScope];\n\n/**\n * `AthenaChat`'s `turnChanges`: the host's half of the turn changes card. The SDK asks `read` for a\n * finished turn's changes once (cached per turn, and only while `enabled`), draws the card when the\n * turn changed something, and calls `onView` and `onUndo` on the person's press.\n */\nexport interface AthenaChatTurnChanges {\n /** Shows the card. Off unless `true`: absent or off, nothing renders and `read` is never called. */\n enabled?: boolean;\n /**\n * What View changes opens: every change in the chat (`chat`, the default) or this turn's alone\n * (`turn`), handed to `onView` as `scope`.\n */\n reviewScope?: AthenaTurnChangesScope;\n /**\n * What `turn` changed, read once the turn has finished: `null` (or no files) for a turn that\n * changed nothing or one the host can't place, which shows nothing. Each turn is read once and\n * kept (TanStack Query, per thread and turn); Undo reads it again. A rejection shows nothing.\n */\n read(params: {\n threadId: string;\n turn: AthenaChatTurn;\n signal: AbortSignal;\n }): Promise<AthenaTurnChangesSummary | null>;\n /** View changes: the host's review of the changes, of the chat or of this turn (`scope`). */\n onView(params: {\n threadId: string;\n turn: AthenaChatTurn;\n changes: AthenaTurnChangesSummary;\n scope: AthenaTurnChangesScope;\n }): void;\n /**\n * Undo: put the folder back as the turn found it. The host decides how (and whether to ask\n * first); the card waits for what it returns, then reads the turn again.\n */\n onUndo(params: {\n threadId: string;\n turn: AthenaChatTurn;\n changes: AthenaTurnChangesSummary;\n }): void | Promise<unknown>;\n}\n\n/** The host's `turnChanges`, which `AthenaChat` provides to every assistant turn it draws. */\nexport const AthenaTurnChangesContext = createContext<AthenaChatTurnChanges | null>(null);\n\n/** How many files the card lists before \"Show N more files\". */\nexport const TURN_CHANGES_FILES_SHOWN = 3;\n\n/** The longest run id the card reads from a message; longer ones are not Athena's. */\nconst RUN_ID_MAX = 200;\nconst RUN_ID_KEY = 'athena_run_id';\nconst RUN_IDS_SEPARATOR = '\\n';\n\nfunction runIdOf(metadata: unknown): string | null {\n if (!isRecord(metadata)) return null;\n const runId = metadata[RUN_ID_KEY];\n return typeof runId === 'string' && runId.length > 0 && runId.length <= RUN_ID_MAX\n ? runId\n : null;\n}\n\n/**\n * The runs an assistant message came from, oldest first: each of its source messages' own\n * (`additional_kwargs.metadata.athena_run_id`), else the joined message's (`metadata.custom`).\n */\nexport function readMessageRunIds(message: ThreadMessage): string[] {\n const runIds: string[] = [];\n for (const source of getExternalStoreMessages<unknown>(message)) {\n if (!isRecord(source) || source.type !== 'ai') continue;\n const kwargs = source.additional_kwargs;\n const runId = runIdOf(isRecord(kwargs) ? kwargs.metadata : undefined);\n if (runId && !runIds.includes(runId)) runIds.push(runId);\n }\n if (runIds.length > 0) return runIds;\n const joined = runIdOf(message.metadata?.custom);\n return joined ? [joined] : [];\n}\n\n/**\n * Whether the message `messageId` is the thread's latest answer: an assistant message, not a run's\n * ending card, with only ending cards after it.\n */\nexport function isLatestAnswer(messages: readonly ThreadMessage[], messageId: string): boolean {\n for (let index = messages.length - 1; index >= 0; index -= 1) {\n const message = messages[index];\n if (!message) continue;\n if (message.role === 'assistant' && isSoleEnding(message)) continue;\n return message.id === messageId && message.role === 'assistant';\n }\n return false;\n}\n\n/** A run's ending drawn as its own message (a stop's card): it carries no turn of its own. */\nfunction isSoleEnding(message: ThreadMessage): boolean {\n const kind = readSoleRuntimeMessageKind(message);\n return kind !== undefined && kind !== 'handoff';\n}\n\n/**\n * What one assistant message says of its turn, read once per message object: a settled message\n * keeps its object across a streamed token, so a new `thread.messages` array reads only the\n * message being generated again.\n */\nconst readsByMessage = new WeakMap<ThreadMessage, { runIds: readonly string[]; ending: boolean }>();\n\nfunction readMessage(message: ThreadMessage): { runIds: readonly string[]; ending: boolean } {\n const cached = readsByMessage.get(message);\n if (cached) return cached;\n const read = { runIds: readMessageRunIds(message), ending: isSoleEnding(message) };\n readsByMessage.set(message, read);\n return read;\n}\n\nconst turnsByMessages = new WeakMap<readonly ThreadMessage[], ReadonlyMap<string, string>>();\n\n/**\n * For each assistant message that ends a turn, its turn's runs (oldest first, one per line): a\n * turn is the assistant messages between two of the person's, and its last one that is not a run's\n * ending card carries the card. Computed once per `thread.messages` array, so every row reads a\n * string from the same map.\n */\nexport function turnRunIdsByMessage(\n messages: readonly ThreadMessage[],\n): ReadonlyMap<string, string> {\n const cached = turnsByMessages.get(messages);\n if (cached) return cached;\n const turns = new Map<string, string>();\n let runIds: string[] = [];\n let last: string | null = null;\n const close = () => {\n if (last !== null && runIds.length > 0) turns.set(last, runIds.join(RUN_IDS_SEPARATOR));\n runIds = [];\n last = null;\n };\n for (const message of messages) {\n if (message.role !== 'assistant') {\n close();\n continue;\n }\n const read = readMessage(message);\n for (const runId of read.runIds) {\n if (!runIds.includes(runId)) runIds.push(runId);\n }\n if (!read.ending) last = message.id;\n }\n close();\n turnsByMessages.set(messages, turns);\n return turns;\n}\n\n/** \"Edited 1 file\", \"Edited 5 files\". */\nexport function editedFilesLabel({ count }: { count: number }): string {\n return count === 1 ? 'Edited 1 file' : `Edited ${count.toLocaleString('en-US')} files`;\n}\n\n/** \"Show 1 more file\", \"Show 4 more files\". */\nexport function moreFilesLabel({ count }: { count: number }): string {\n return count === 1 ? 'Show 1 more file' : `Show ${count.toLocaleString('en-US')} more files`;\n}\n\n/** A path's folder (with its slash) and its name, which the card draws apart. */\nfunction splitPath(path: string): { folder: string; name: string } {\n const slash = path.lastIndexOf('/');\n return slash < 0\n ? { folder: '', name: path }\n : { folder: path.slice(0, slash + 1), name: path.slice(slash + 1) };\n}\n\n/** A count of lines added and removed: \"+12 −3\", nothing for a zero, \"binary\" for a binary file. */\nconst LineCounts: FC<{ additions: number | null; deletions: number | null; always?: boolean }> = ({\n additions,\n deletions,\n always = false,\n}) => {\n if (additions === null || deletions === null) {\n return <span className=\"text-muted-foreground\">binary</span>;\n }\n const showAdded = always || additions > 0;\n const showRemoved = always || deletions > 0;\n return (\n <>\n {showAdded ? (\n <span className=\"text-emerald-600 dark:text-emerald-400\">\n +{additions.toLocaleString('en-US')}\n </span>\n ) : null}\n {showAdded && showRemoved ? ' ' : null}\n {showRemoved ? (\n <span className=\"text-red-600 dark:text-red-400\">−{deletions.toLocaleString('en-US')}</span>\n ) : null}\n </>\n );\n};\n\n/**\n * The turn changes card for the assistant message in scope, at the end of its turn, while the host\n * turned it on (`AthenaChatTurnChanges.enabled`). Renders nothing for a turn still running, one no\n * run of Athena's names, one the host can't place and one that changed nothing.\n */\nexport const AthenaTurnChangesSlot: FC<{ className?: string }> = ({ className }) => {\n const config = useContext(AthenaTurnChangesContext);\n const threadId = useContext(AthenaStatewireThreadIdContext);\n if (!config?.enabled || !threadId) return null;\n return <TurnChangesForMessage config={config} threadId={threadId} className={className} />;\n};\n\nconst TurnChangesForMessage: FC<{\n config: AthenaChatTurnChanges;\n threadId: string;\n className?: string;\n}> = ({ config, threadId, className }) => {\n const messageId = useAuiState((s) => s.message.id);\n // A primitive per row, from one map per messages array (`turnRunIdsByMessage`).\n const runIdsKey = useAuiState(\n (s) => turnRunIdsByMessage(s.thread.messages).get(s.message.id) ?? null,\n );\n const isLast = useAuiState((s) => s.message.isLast);\n // The thread's latest answer that is not a run's ending card (one may follow it: a stop's, a\n // failure's): its turn may be read before its run ids arrive (they reach the page after the\n // reply streams), by the host's own record.\n const latest = useAuiState((s) => isLatestAnswer(s.thread.messages, s.message.id));\n const settled = useAuiState(\n (s) => s.message.status?.type === 'complete' || s.message.status?.type === 'incomplete',\n );\n const runLive = useAthenaRunLive();\n // A turn the person wrote after is over; the last one is once its run is.\n const finished = !isLast || (settled && !runLive);\n const turn = useMemo<AthenaChatTurn | null>(\n () =>\n runIdsKey\n ? { messageId, runIds: runIdsKey.split(RUN_IDS_SEPARATOR) }\n : latest\n ? { messageId, runIds: [] }\n : null,\n [messageId, runIdsKey, latest],\n );\n const read = config.read;\n const changes = useQuery({\n queryKey: ['athena-sdk', 'turn-changes', threadId, messageId, runIdsKey ?? ''],\n queryFn: ({ signal }) =>\n turn ? read({ threadId, turn, signal }) : Promise.resolve(null),\n enabled: finished && turn !== null,\n // Read from the host (the desktop app's own folder, through its main process), never from\n // Athena: it goes whether or not Athena can be reached.\n networkMode: 'always',\n // A turn's changes are read once; Undo reads them again.\n staleTime: Number.POSITIVE_INFINITY,\n retry: false,\n });\n const summary = changes.data ?? null;\n if (!turn || !finished || !summary || !Array.isArray(summary.files)) return null;\n const count = summary.files.length + Math.max(0, summary.more ?? 0);\n if (count === 0) return null;\n return (\n <TurnChangesCard\n config={config}\n threadId={threadId}\n turn={turn}\n summary={summary}\n count={count}\n className={className}\n />\n );\n};\n\nconst TurnChangesCard: FC<{\n config: AthenaChatTurnChanges;\n threadId: string;\n turn: AthenaChatTurn;\n summary: AthenaTurnChangesSummary;\n count: number;\n className?: string;\n}> = ({ config, threadId, turn, summary, count, className }) => {\n const queryClient = useQueryClient();\n const [expanded, setExpanded] = useState(false);\n const undo = useMutation({\n mutationFn: async () => {\n await config.onUndo({ threadId, turn, changes: summary });\n },\n networkMode: 'always',\n onSettled: () =>\n queryClient.invalidateQueries({\n queryKey: ['athena-sdk', 'turn-changes', threadId, turn.messageId],\n }),\n });\n const hidden = Math.max(0, summary.files.length - TURN_CHANGES_FILES_SHOWN);\n const listed = expanded ? summary.files : summary.files.slice(0, TURN_CHANGES_FILES_SHOWN);\n const unlisted = Math.max(0, summary.more ?? 0);\n return (\n <section\n aria-label=\"What this turn changed\"\n data-slot=\"turn-changes\"\n className={cn(\n 'aui-turn-changes mt-3 overflow-hidden rounded-xl border border-border/60 bg-background text-[13px] shadow-sm',\n className,\n )}\n >\n <div className=\"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 px-3 py-2\">\n <span data-slot=\"turn-changes-title\" className=\"font-medium text-foreground\">\n {editedFilesLabel({ count })}\n </span>\n <span data-slot=\"turn-changes-total\" className=\"font-mono text-[12px] tabular-nums\">\n <LineCounts additions={summary.additions} deletions={summary.deletions} always />\n </span>\n <span className=\"ml-auto flex shrink-0 items-center gap-1\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"xs\"\n data-slot=\"turn-changes-undo\"\n className=\"text-muted-foreground\"\n disabled={undo.isPending}\n onClick={() => undo.mutate()}\n >\n <Undo2Icon aria-hidden=\"true\" />\n Undo\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"xs\"\n data-slot=\"turn-changes-view\"\n onClick={() =>\n config.onView({\n threadId,\n turn,\n changes: summary,\n scope: config.reviewScope ?? AthenaTurnChangesScope.Chat,\n })\n }\n >\n View changes\n </Button>\n </span>\n </div>\n <ul className=\"border-t border-border/60 py-1\">\n {listed.map((file) => {\n const { folder, name } = splitPath(file.path);\n return (\n <li\n key={file.path}\n data-slot=\"turn-changes-file\"\n className=\"flex min-w-0 items-center gap-3 px-3 py-0.5 font-mono text-[12px]\"\n >\n <span className=\"min-w-0 truncate\" title={file.path}>\n <span className=\"text-muted-foreground\">{folder}</span>\n <span className=\"text-foreground\">{name}</span>\n </span>\n <span className=\"ml-auto shrink-0 tabular-nums\">\n <LineCounts additions={file.additions} deletions={file.deletions} />\n </span>\n </li>\n );\n })}\n {unlisted > 0 && (expanded || hidden === 0) ? (\n <li data-slot=\"turn-changes-unlisted\" className=\"px-3 py-0.5 text-[12px] text-muted-foreground\">\n {unlisted === 1\n ? 'And 1 more file'\n : `And ${unlisted.toLocaleString('en-US')} more files`}\n </li>\n ) : null}\n </ul>\n {hidden > 0 ? (\n <button\n type=\"button\"\n data-slot=\"turn-changes-more\"\n aria-expanded={expanded}\n onClick={() => setExpanded((open) => !open)}\n className=\"w-full border-t border-border/60 px-3 py-1.5 text-left text-[12px] text-muted-foreground outline-none transition-colors hover:bg-muted/40 hover:text-foreground focus-visible:bg-muted/40\"\n >\n {expanded ? 'Show fewer files' : moreFilesLabel({ count: hidden + unlisted })}\n </button>\n ) : null}\n </section>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const react = require("@assistant-ui/react");
5
+ const reactStatewire = require("@assistant-ui/react-statewire");
6
+ const typedInterrupts = require("../../agent-runtime/src/typed-interrupts.cjs");
7
+ const require$$0 = require("react");
8
+ const threadExtras = require("../../agent-runtime/src/thread-extras.cjs");
9
+ const TypedInterruptPanel = require$$0.lazy(
10
+ () => Promise.resolve().then(() => require("./typed-interrupt-panel.cjs")).then((module2) => ({ default: module2.TypedInterruptPanel }))
11
+ );
12
+ const StatewireTypedInterruptCard = (props) => {
13
+ const extras = react.useAuiState((state) => state.thread.extras);
14
+ if (!threadExtras.hasStatewireThreadExtras(extras)) return null;
15
+ return /* @__PURE__ */ jsxRuntime.jsx(StatewireTypedInterruptCardGate, { ...props });
16
+ };
17
+ const StatewireTypedInterruptCardGate = (props) => {
18
+ var _a;
19
+ const typedParkPending = ((_a = reactStatewire.useStatewireRuns().inputRequests) == null ? void 0 : _a.some(typedInterrupts.isTypedInterruptRequest)) ?? false;
20
+ const [armed, setArmed] = require$$0.useState(false);
21
+ if (typedParkPending && !armed) setArmed(true);
22
+ if (!armed) return null;
23
+ return /* @__PURE__ */ jsxRuntime.jsx(require$$0.Suspense, { fallback: null, children: /* @__PURE__ */ jsxRuntime.jsx(TypedInterruptPanel, { ...props }) });
24
+ };
25
+ const statewireTypedInterrupts = {
26
+ isTypedRequest: typedInterrupts.isTypedInterruptRequest,
27
+ render: (props) => /* @__PURE__ */ jsxRuntime.jsx(StatewireTypedInterruptCard, { ...props })
28
+ };
29
+ exports.StatewireTypedInterruptCard = StatewireTypedInterruptCard;
30
+ exports.statewireTypedInterrupts = statewireTypedInterrupts;
31
+ //# sourceMappingURL=StatewireTypedInterruptCard.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatewireTypedInterruptCard.cjs","sources":["../../../src/chat/typed-interrupts/StatewireTypedInterruptCard.tsx"],"sourcesContent":["import { useAuiState } from '@assistant-ui/react';\nimport { useStatewireRuns } from '@assistant-ui/react-statewire';\nimport { hasStatewireThreadExtras } from '@athenaintel/agent-runtime';\nimport { isTypedInterruptRequest } from '@athenaintel/agent-runtime/typed-interrupts';\nimport { type FC, lazy, Suspense, useState } from 'react';\nimport type { StatewireTypedInterruptCardProps, StatewireTypedInterruptSeam } from '../StatewireApprovalCard';\n\nexport type { StatewireTypedInterruptCardProps };\n\n/**\n * The card itself (its engine and every kind's card) loads on the first typed\n * park: what a chat carries from the start is this check, so a host's startup\n * bundle (the Office task pane's is budgeted) does not grow by cards most\n * conversations never show.\n */\nconst TypedInterruptPanel = lazy(() =>\n import('./typed-interrupt-panel').then((module) => ({ default: module.TypedInterruptPanel })),\n);\n\n/**\n * The agent's typed questions and approvals: when a run parks on a typed\n * Athena interrupt (the `ask` tool's questions, a file request, a form,\n * toolkits to turn on, a saved login, a schedule, a wait, a tool-raised\n * approval), this renders that kind's card, the one Athena on the web shows,\n * and answers it with the resume shape its raiser validates, through\n * `useStatewireTypedInterrupt`. Hand it to `StatewireApprovalCard` as\n * `typedInterrupts={statewireTypedInterrupts}` (`AthenaChat` does), which then\n * leaves typed parks to it and gives it its own props; or mount it beside an\n * approval UI of your own.\n *\n * Who may answer is agora's: a question the agent asked takes any attach that\n * may edit the thread, and an approving answer to a typed approval only a\n * signed-in person (or, while passkey checks are enforced, a device key with a\n * check bound to its person). The card sends the person's answer, with the\n * host's passkey check on an approve, and shows agora's reason when it refuses\n * one, which names where to answer instead.\n *\n * Nothing renders until a typed park appears; from then on the card stays\n * mounted, so an answer it holds while the host decides survives the request\n * folding away. On a legacy (non-statewire) thread it renders nothing.\n */\nexport const StatewireTypedInterruptCard: FC<StatewireTypedInterruptCardProps> = (props) => {\n const extras = useAuiState((state) => state.thread.extras);\n if (!hasStatewireThreadExtras(extras)) return null;\n return <StatewireTypedInterruptCardGate {...props} />;\n};\n\nconst StatewireTypedInterruptCardGate: FC<StatewireTypedInterruptCardProps> = (props) => {\n const typedParkPending = useStatewireRuns().inputRequests?.some(isTypedInterruptRequest) ?? false;\n const [armed, setArmed] = useState(false);\n if (typedParkPending && !armed) setArmed(true);\n if (!armed) return null;\n return (\n <Suspense fallback={null}>\n <TypedInterruptPanel {...props} />\n </Suspense>\n );\n};\n\n/**\n * The SDK's typed cards as `StatewireApprovalCard`'s `typedInterrupts`: the\n * parks they answer (`isTypedInterruptRequest`) and `StatewireTypedInterruptCard`.\n */\nexport const statewireTypedInterrupts: StatewireTypedInterruptSeam = {\n isTypedRequest: isTypedInterruptRequest,\n render: (props) => <StatewireTypedInterruptCard {...props} />,\n};\n"],"names":["lazy","module","useAuiState","hasStatewireThreadExtras","jsx","useStatewireRuns","isTypedInterruptRequest","useState","Suspense"],"mappings":";;;;;;;;AAeA,MAAM,sBAAsBA,WAAAA;AAAAA,EAAK,MAC/B,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,6BAAyB,CAAA,EAAE,KAAK,CAACC,aAAY,EAAE,SAASA,QAAO,sBAAsB;AAC9F;AAwBO,MAAM,8BAAoE,CAAC,UAAU;AAC1F,QAAM,SAASC,MAAAA,YAAY,CAAC,UAAU,MAAM,OAAO,MAAM;AACzD,MAAI,CAACC,aAAAA,yBAAyB,MAAM,EAAG,QAAO;AAC9C,SAAOC,+BAAC,iCAAA,EAAiC,GAAG,MAAA,CAAO;AACrD;AAEA,MAAM,kCAAwE,CAAC,UAAU;;AACvF,QAAM,qBAAmBC,oBAAAA,iBAAA,EAAmB,kBAAnBA,mBAAkC,KAAKC,gBAAAA,6BAA4B;AAC5F,QAAM,CAAC,OAAO,QAAQ,IAAIC,WAAAA,SAAS,KAAK;AACxC,MAAI,oBAAoB,CAAC,MAAO,UAAS,IAAI;AAC7C,MAAI,CAAC,MAAO,QAAO;AACnB,SACEH,+BAACI,WAAAA,YAAS,UAAU,MAClB,yCAAC,qBAAA,EAAqB,GAAG,OAAO,EAAA,CAClC;AAEJ;AAMO,MAAM,2BAAwD;AAAA,EACnE,gBAAgBF,gBAAAA;AAAAA,EAChB,QAAQ,CAAC,UAAUF,2BAAAA,IAAC,6BAAA,EAA6B,GAAG,MAAA,CAAO;AAC7D;;;"}
@@ -0,0 +1,31 @@
1
+ import { type FC } from 'react';
2
+ import type { StatewireTypedInterruptCardProps, StatewireTypedInterruptSeam } from '../StatewireApprovalCard';
3
+ export type { StatewireTypedInterruptCardProps };
4
+ /**
5
+ * The agent's typed questions and approvals: when a run parks on a typed
6
+ * Athena interrupt (the `ask` tool's questions, a file request, a form,
7
+ * toolkits to turn on, a saved login, a schedule, a wait, a tool-raised
8
+ * approval), this renders that kind's card, the one Athena on the web shows,
9
+ * and answers it with the resume shape its raiser validates, through
10
+ * `useStatewireTypedInterrupt`. Hand it to `StatewireApprovalCard` as
11
+ * `typedInterrupts={statewireTypedInterrupts}` (`AthenaChat` does), which then
12
+ * leaves typed parks to it and gives it its own props; or mount it beside an
13
+ * approval UI of your own.
14
+ *
15
+ * Who may answer is agora's: a question the agent asked takes any attach that
16
+ * may edit the thread, and an approving answer to a typed approval only a
17
+ * signed-in person (or, while passkey checks are enforced, a device key with a
18
+ * check bound to its person). The card sends the person's answer, with the
19
+ * host's passkey check on an approve, and shows agora's reason when it refuses
20
+ * one, which names where to answer instead.
21
+ *
22
+ * Nothing renders until a typed park appears; from then on the card stays
23
+ * mounted, so an answer it holds while the host decides survives the request
24
+ * folding away. On a legacy (non-statewire) thread it renders nothing.
25
+ */
26
+ export declare const StatewireTypedInterruptCard: FC<StatewireTypedInterruptCardProps>;
27
+ /**
28
+ * The SDK's typed cards as `StatewireApprovalCard`'s `typedInterrupts`: the
29
+ * parks they answer (`isTypedInterruptRequest`) and `StatewireTypedInterruptCard`.
30
+ */
31
+ export declare const statewireTypedInterrupts: StatewireTypedInterruptSeam;
@@ -0,0 +1,31 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useAuiState } from "@assistant-ui/react";
3
+ import { useStatewireRuns } from "@assistant-ui/react-statewire";
4
+ import { isTypedInterruptRequest } from "../../agent-runtime/src/typed-interrupts.js";
5
+ import { useState, Suspense, lazy } from "react";
6
+ import { hasStatewireThreadExtras } from "../../agent-runtime/src/thread-extras.js";
7
+ const TypedInterruptPanel = lazy(
8
+ () => import("./typed-interrupt-panel.js").then((module) => ({ default: module.TypedInterruptPanel }))
9
+ );
10
+ const StatewireTypedInterruptCard = (props) => {
11
+ const extras = useAuiState((state) => state.thread.extras);
12
+ if (!hasStatewireThreadExtras(extras)) return null;
13
+ return /* @__PURE__ */ jsx(StatewireTypedInterruptCardGate, { ...props });
14
+ };
15
+ const StatewireTypedInterruptCardGate = (props) => {
16
+ var _a;
17
+ const typedParkPending = ((_a = useStatewireRuns().inputRequests) == null ? void 0 : _a.some(isTypedInterruptRequest)) ?? false;
18
+ const [armed, setArmed] = useState(false);
19
+ if (typedParkPending && !armed) setArmed(true);
20
+ if (!armed) return null;
21
+ return /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(TypedInterruptPanel, { ...props }) });
22
+ };
23
+ const statewireTypedInterrupts = {
24
+ isTypedRequest: isTypedInterruptRequest,
25
+ render: (props) => /* @__PURE__ */ jsx(StatewireTypedInterruptCard, { ...props })
26
+ };
27
+ export {
28
+ StatewireTypedInterruptCard,
29
+ statewireTypedInterrupts
30
+ };
31
+ //# sourceMappingURL=StatewireTypedInterruptCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatewireTypedInterruptCard.js","sources":["../../../src/chat/typed-interrupts/StatewireTypedInterruptCard.tsx"],"sourcesContent":["import { useAuiState } from '@assistant-ui/react';\nimport { useStatewireRuns } from '@assistant-ui/react-statewire';\nimport { hasStatewireThreadExtras } from '@athenaintel/agent-runtime';\nimport { isTypedInterruptRequest } from '@athenaintel/agent-runtime/typed-interrupts';\nimport { type FC, lazy, Suspense, useState } from 'react';\nimport type { StatewireTypedInterruptCardProps, StatewireTypedInterruptSeam } from '../StatewireApprovalCard';\n\nexport type { StatewireTypedInterruptCardProps };\n\n/**\n * The card itself (its engine and every kind's card) loads on the first typed\n * park: what a chat carries from the start is this check, so a host's startup\n * bundle (the Office task pane's is budgeted) does not grow by cards most\n * conversations never show.\n */\nconst TypedInterruptPanel = lazy(() =>\n import('./typed-interrupt-panel').then((module) => ({ default: module.TypedInterruptPanel })),\n);\n\n/**\n * The agent's typed questions and approvals: when a run parks on a typed\n * Athena interrupt (the `ask` tool's questions, a file request, a form,\n * toolkits to turn on, a saved login, a schedule, a wait, a tool-raised\n * approval), this renders that kind's card, the one Athena on the web shows,\n * and answers it with the resume shape its raiser validates, through\n * `useStatewireTypedInterrupt`. Hand it to `StatewireApprovalCard` as\n * `typedInterrupts={statewireTypedInterrupts}` (`AthenaChat` does), which then\n * leaves typed parks to it and gives it its own props; or mount it beside an\n * approval UI of your own.\n *\n * Who may answer is agora's: a question the agent asked takes any attach that\n * may edit the thread, and an approving answer to a typed approval only a\n * signed-in person (or, while passkey checks are enforced, a device key with a\n * check bound to its person). The card sends the person's answer, with the\n * host's passkey check on an approve, and shows agora's reason when it refuses\n * one, which names where to answer instead.\n *\n * Nothing renders until a typed park appears; from then on the card stays\n * mounted, so an answer it holds while the host decides survives the request\n * folding away. On a legacy (non-statewire) thread it renders nothing.\n */\nexport const StatewireTypedInterruptCard: FC<StatewireTypedInterruptCardProps> = (props) => {\n const extras = useAuiState((state) => state.thread.extras);\n if (!hasStatewireThreadExtras(extras)) return null;\n return <StatewireTypedInterruptCardGate {...props} />;\n};\n\nconst StatewireTypedInterruptCardGate: FC<StatewireTypedInterruptCardProps> = (props) => {\n const typedParkPending = useStatewireRuns().inputRequests?.some(isTypedInterruptRequest) ?? false;\n const [armed, setArmed] = useState(false);\n if (typedParkPending && !armed) setArmed(true);\n if (!armed) return null;\n return (\n <Suspense fallback={null}>\n <TypedInterruptPanel {...props} />\n </Suspense>\n );\n};\n\n/**\n * The SDK's typed cards as `StatewireApprovalCard`'s `typedInterrupts`: the\n * parks they answer (`isTypedInterruptRequest`) and `StatewireTypedInterruptCard`.\n */\nexport const statewireTypedInterrupts: StatewireTypedInterruptSeam = {\n isTypedRequest: isTypedInterruptRequest,\n render: (props) => <StatewireTypedInterruptCard {...props} />,\n};\n"],"names":[],"mappings":";;;;;;AAeA,MAAM,sBAAsB;AAAA,EAAK,MAC/B,OAAO,4BAAyB,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,OAAO,sBAAsB;AAC9F;AAwBO,MAAM,8BAAoE,CAAC,UAAU;AAC1F,QAAM,SAAS,YAAY,CAAC,UAAU,MAAM,OAAO,MAAM;AACzD,MAAI,CAAC,yBAAyB,MAAM,EAAG,QAAO;AAC9C,SAAO,oBAAC,iCAAA,EAAiC,GAAG,MAAA,CAAO;AACrD;AAEA,MAAM,kCAAwE,CAAC,UAAU;;AACvF,QAAM,qBAAmB,sBAAA,EAAmB,kBAAnB,mBAAkC,KAAK,6BAA4B;AAC5F,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,KAAK;AACxC,MAAI,oBAAoB,CAAC,MAAO,UAAS,IAAI;AAC7C,MAAI,CAAC,MAAO,QAAO;AACnB,SACE,oBAAC,YAAS,UAAU,MAClB,8BAAC,qBAAA,EAAqB,GAAG,OAAO,EAAA,CAClC;AAEJ;AAMO,MAAM,2BAAwD;AAAA,EACnE,gBAAgB;AAAA,EAChB,QAAQ,CAAC,UAAU,oBAAC,6BAAA,EAA6B,GAAG,MAAA,CAAO;AAC7D;"}