@athenaintel/react 0.57.2 → 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 (799) hide show
  1. package/README.md +759 -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 +290 -97
  238. package/dist/chat/AthenaChat.cjs.map +1 -1
  239. package/dist/chat/AthenaChat.d.ts +80 -4
  240. package/dist/chat/AthenaChat.js +290 -97
  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 +56 -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 +57 -20
  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 +3 -1
  583. package/dist/runtime/statewire-run-config.cjs.map +1 -1
  584. package/dist/runtime/statewire-run-config.d.ts +7 -0
  585. package/dist/runtime/statewire-run-config.js +3 -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 +6 -6
  656. package/dist/threads/SessionList.cjs.map +1 -1
  657. package/dist/threads/SessionsPage.cjs +13 -7
  658. package/dist/threads/SessionsPage.cjs.map +1 -1
  659. package/dist/threads/SessionsPage.d.ts +10 -1
  660. package/dist/threads/SessionsPage.js +9 -3
  661. package/dist/threads/SessionsPage.js.map +1 -1
  662. package/dist/threads/session-list-model.cjs.map +1 -1
  663. package/dist/threads/session-list-model.d.ts +2 -1
  664. package/dist/threads/session-list-model.js.map +1 -1
  665. package/dist/threads/session-row-parts.cjs +3 -3
  666. package/dist/threads/session-row-parts.cjs.map +1 -1
  667. package/dist/threads/sessions-page-model.cjs +13 -5
  668. package/dist/threads/sessions-page-model.cjs.map +1 -1
  669. package/dist/threads/sessions-page-model.d.ts +7 -0
  670. package/dist/threads/sessions-page-model.js +11 -3
  671. package/dist/threads/sessions-page-model.js.map +1 -1
  672. package/dist/threads/sessions-page-storage.cjs +8 -8
  673. package/dist/threads/sessions-page-storage.cjs.map +1 -1
  674. package/dist/threads/sessions-page-storage.d.ts +5 -1
  675. package/dist/threads/sessions-page-storage.js +8 -8
  676. package/dist/threads/sessions-page-storage.js.map +1 -1
  677. package/dist/threads/use-athena-sessions.cjs +1 -0
  678. package/dist/threads/use-athena-sessions.cjs.map +1 -1
  679. package/dist/threads/use-athena-sessions.d.ts +7 -0
  680. package/dist/threads/use-athena-sessions.js +1 -0
  681. package/dist/threads/use-athena-sessions.js.map +1 -1
  682. package/dist/threads/use-athena-thread-agent.cjs +31 -0
  683. package/dist/threads/use-athena-thread-agent.cjs.map +1 -0
  684. package/dist/threads/use-athena-thread-agent.d.ts +38 -0
  685. package/dist/threads/use-athena-thread-agent.js +31 -0
  686. package/dist/threads/use-athena-thread-agent.js.map +1 -0
  687. package/dist/threads/use-athena-thread-plan-mode.cjs +18 -0
  688. package/dist/threads/use-athena-thread-plan-mode.cjs.map +1 -0
  689. package/dist/threads/use-athena-thread-plan-mode.d.ts +18 -0
  690. package/dist/threads/use-athena-thread-plan-mode.js +18 -0
  691. package/dist/threads/use-athena-thread-plan-mode.js.map +1 -0
  692. package/dist/threads/use-rest-conversation-history.d.ts +1 -0
  693. package/dist/tools/agent-creations.cjs +97 -0
  694. package/dist/tools/agent-creations.cjs.map +1 -0
  695. package/dist/tools/agent-creations.d.ts +38 -0
  696. package/dist/tools/agent-creations.js +97 -0
  697. package/dist/tools/agent-creations.js.map +1 -0
  698. package/dist/tools/agent-highlights.cjs +100 -0
  699. package/dist/tools/agent-highlights.cjs.map +1 -0
  700. package/dist/tools/agent-highlights.d.ts +57 -0
  701. package/dist/tools/agent-highlights.js +100 -0
  702. package/dist/tools/agent-highlights.js.map +1 -0
  703. package/dist/tools/append-document-tool-ui.cjs +1 -0
  704. package/dist/tools/append-document-tool-ui.cjs.map +1 -1
  705. package/dist/tools/append-document-tool-ui.d.ts +7 -0
  706. package/dist/tools/append-document-tool-ui.js +2 -1
  707. package/dist/tools/append-document-tool-ui.js.map +1 -1
  708. package/dist/tools/auto-open-tools.cjs +144 -71
  709. package/dist/tools/auto-open-tools.cjs.map +1 -1
  710. package/dist/tools/auto-open-tools.d.ts +131 -1
  711. package/dist/tools/auto-open-tools.js +145 -72
  712. package/dist/tools/auto-open-tools.js.map +1 -1
  713. package/dist/tools/browser-tool-uis.cjs +594 -0
  714. package/dist/tools/browser-tool-uis.cjs.map +1 -0
  715. package/dist/tools/browser-tool-uis.d.ts +8 -0
  716. package/dist/tools/browser-tool-uis.js +594 -0
  717. package/dist/tools/browser-tool-uis.js.map +1 -0
  718. package/dist/tools/computer-asset-tool-uis.cjs +313 -0
  719. package/dist/tools/computer-asset-tool-uis.cjs.map +1 -0
  720. package/dist/tools/computer-asset-tool-uis.d.ts +5 -0
  721. package/dist/tools/computer-asset-tool-uis.js +313 -0
  722. package/dist/tools/computer-asset-tool-uis.js.map +1 -0
  723. package/dist/tools/document-edit-tool-uis.cjs +218 -0
  724. package/dist/tools/document-edit-tool-uis.cjs.map +1 -0
  725. package/dist/tools/document-edit-tool-uis.d.ts +40 -0
  726. package/dist/tools/document-edit-tool-uis.js +218 -0
  727. package/dist/tools/document-edit-tool-uis.js.map +1 -0
  728. package/dist/tools/drive-tool-uis.cjs +425 -0
  729. package/dist/tools/drive-tool-uis.cjs.map +1 -0
  730. package/dist/tools/drive-tool-uis.d.ts +120 -0
  731. package/dist/tools/drive-tool-uis.js +425 -0
  732. package/dist/tools/drive-tool-uis.js.map +1 -0
  733. package/dist/tools/email-calendar-tool-uis.cjs +789 -0
  734. package/dist/tools/email-calendar-tool-uis.cjs.map +1 -0
  735. package/dist/tools/email-calendar-tool-uis.d.ts +129 -0
  736. package/dist/tools/email-calendar-tool-uis.js +789 -0
  737. package/dist/tools/email-calendar-tool-uis.js.map +1 -0
  738. package/dist/tools/ontology-tool-uis.cjs +83 -0
  739. package/dist/tools/ontology-tool-uis.cjs.map +1 -0
  740. package/dist/tools/ontology-tool-uis.d.ts +9 -0
  741. package/dist/tools/ontology-tool-uis.js +83 -0
  742. package/dist/tools/ontology-tool-uis.js.map +1 -0
  743. package/dist/tools/orchestration-tool-uis.cjs +586 -0
  744. package/dist/tools/orchestration-tool-uis.cjs.map +1 -0
  745. package/dist/tools/orchestration-tool-uis.d.ts +141 -0
  746. package/dist/tools/orchestration-tool-uis.js +586 -0
  747. package/dist/tools/orchestration-tool-uis.js.map +1 -0
  748. package/dist/tools/presentation-edit-tool-uis.cjs +516 -0
  749. package/dist/tools/presentation-edit-tool-uis.cjs.map +1 -0
  750. package/dist/tools/presentation-edit-tool-uis.d.ts +73 -0
  751. package/dist/tools/presentation-edit-tool-uis.js +516 -0
  752. package/dist/tools/presentation-edit-tool-uis.js.map +1 -0
  753. package/dist/tools/project-tool-uis.cjs +213 -0
  754. package/dist/tools/project-tool-uis.cjs.map +1 -0
  755. package/dist/tools/project-tool-uis.d.ts +14 -0
  756. package/dist/tools/project-tool-uis.js +213 -0
  757. package/dist/tools/project-tool-uis.js.map +1 -0
  758. package/dist/tools/sandbox-tool-uis.cjs +491 -0
  759. package/dist/tools/sandbox-tool-uis.cjs.map +1 -0
  760. package/dist/tools/sandbox-tool-uis.d.ts +116 -0
  761. package/dist/tools/sandbox-tool-uis.js +491 -0
  762. package/dist/tools/sandbox-tool-uis.js.map +1 -0
  763. package/dist/tools/sheet-query-tool-ui.cjs +138 -0
  764. package/dist/tools/sheet-query-tool-ui.cjs.map +1 -0
  765. package/dist/tools/sheet-query-tool-ui.d.ts +15 -0
  766. package/dist/tools/sheet-query-tool-ui.js +138 -0
  767. package/dist/tools/sheet-query-tool-ui.js.map +1 -0
  768. package/dist/tools/studio-screenshot-tool-uis.cjs +262 -0
  769. package/dist/tools/studio-screenshot-tool-uis.cjs.map +1 -0
  770. package/dist/tools/studio-screenshot-tool-uis.d.ts +52 -0
  771. package/dist/tools/studio-screenshot-tool-uis.js +262 -0
  772. package/dist/tools/studio-screenshot-tool-uis.js.map +1 -0
  773. package/dist/tools/subagent-task-tool-ui.cjs +24 -475
  774. package/dist/tools/subagent-task-tool-ui.cjs.map +1 -1
  775. package/dist/tools/subagent-task-tool-ui.d.ts +19 -103
  776. package/dist/tools/subagent-task-tool-ui.js +28 -479
  777. package/dist/tools/subagent-task-tool-ui.js.map +1 -1
  778. package/dist/tools/tool-summary.cjs +36 -0
  779. package/dist/tools/tool-summary.cjs.map +1 -1
  780. package/dist/tools/tool-summary.js +36 -0
  781. package/dist/tools/tool-summary.js.map +1 -1
  782. package/dist/tools/tool-uis.cjs +181 -53
  783. package/dist/tools/tool-uis.cjs.map +1 -1
  784. package/dist/tools/tool-uis.d.ts +40 -0
  785. package/dist/tools/tool-uis.js +183 -55
  786. package/dist/tools/tool-uis.js.map +1 -1
  787. package/dist/typed-interrupts/index.cjs +15 -0
  788. package/dist/typed-interrupts/index.cjs.map +1 -0
  789. package/dist/typed-interrupts/index.d.ts +20 -0
  790. package/dist/typed-interrupts/index.js +15 -0
  791. package/dist/typed-interrupts/index.js.map +1 -0
  792. package/dist/workbench/session-workbench-panes.cjs +6 -6
  793. package/dist/workbench/session-workbench-panes.cjs.map +1 -1
  794. package/package.json +28 -6
  795. package/dist/agent-runtime/src/chat-outbox-store.cjs +0 -510
  796. package/dist/agent-runtime/src/chat-outbox-store.cjs.map +0 -1
  797. package/dist/agent-runtime/src/chat-outbox-store.d.ts +0 -210
  798. package/dist/agent-runtime/src/chat-outbox-store.js +0 -510
  799. package/dist/agent-runtime/src/chat-outbox-store.js.map +0 -1
@@ -3,14 +3,28 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const TASK_TOOL_NAME = "task";
4
4
  const EVAL_TOOL_NAME = "eval";
5
5
  const EXECUTE_TOOL_NAME = "execute";
6
+ const RUN_PYTHON_CODE_TOOL_NAME = "run_python_code";
7
+ const EXECUTE_PRESENTATION_CODE_TOOL_NAME = "execute_presentation_code";
8
+ const EXECUTE_SPREADSHEET_CODE_TOOL_NAME = "execute_spreadsheet_code";
9
+ const EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME = "execute_word_document_code";
10
+ const PTC_PARENT_TOOL_NAMES = /* @__PURE__ */ new Set([
11
+ EXECUTE_TOOL_NAME,
12
+ EVAL_TOOL_NAME,
13
+ RUN_PYTHON_CODE_TOOL_NAME,
14
+ EXECUTE_PRESENTATION_CODE_TOOL_NAME,
15
+ EXECUTE_SPREADSHEET_CODE_TOOL_NAME,
16
+ EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME
17
+ ]);
6
18
  const WRITE_FILE_TOOL_NAME = "write_file";
7
19
  const EDIT_FILE_TOOL_NAME = "edit_file";
8
20
  const SUBMIT_FEEDBACK_TOOL_NAME = "submit_feedback";
9
21
  const QUIET_TOOL_NAMES = /* @__PURE__ */ new Set([SUBMIT_FEEDBACK_TOOL_NAME]);
22
+ const REDACTED_TOOL_NAME = "athena_redacted_tool";
10
23
  const START_ASYNC_TASK_TOOL_NAME = "start_async_task";
11
24
  const CHECK_ASYNC_TASK_TOOL_NAME = "check_async_task";
12
25
  const UPDATE_ASYNC_TASK_TOOL_NAME = "update_async_task";
13
26
  const CANCEL_ASYNC_TASK_TOOL_NAME = "cancel_async_task";
27
+ const ASK_AGENT_TOOL_NAME = "ask_agent";
14
28
  function salientToolCallDetail(toolCall) {
15
29
  const args = toolCall.args ?? {};
16
30
  const firstString = (...keys) => {
@@ -63,12 +77,19 @@ function salientToolCallDetail(toolCall) {
63
77
  const clean = detail.replace(/\s+/g, " ").trim();
64
78
  return clean.length > 80 ? `${clean.slice(0, 79)}…` : clean;
65
79
  }
80
+ exports.ASK_AGENT_TOOL_NAME = ASK_AGENT_TOOL_NAME;
66
81
  exports.CANCEL_ASYNC_TASK_TOOL_NAME = CANCEL_ASYNC_TASK_TOOL_NAME;
67
82
  exports.CHECK_ASYNC_TASK_TOOL_NAME = CHECK_ASYNC_TASK_TOOL_NAME;
68
83
  exports.EDIT_FILE_TOOL_NAME = EDIT_FILE_TOOL_NAME;
69
84
  exports.EVAL_TOOL_NAME = EVAL_TOOL_NAME;
85
+ exports.EXECUTE_PRESENTATION_CODE_TOOL_NAME = EXECUTE_PRESENTATION_CODE_TOOL_NAME;
86
+ exports.EXECUTE_SPREADSHEET_CODE_TOOL_NAME = EXECUTE_SPREADSHEET_CODE_TOOL_NAME;
70
87
  exports.EXECUTE_TOOL_NAME = EXECUTE_TOOL_NAME;
88
+ exports.EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME = EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME;
89
+ exports.PTC_PARENT_TOOL_NAMES = PTC_PARENT_TOOL_NAMES;
71
90
  exports.QUIET_TOOL_NAMES = QUIET_TOOL_NAMES;
91
+ exports.REDACTED_TOOL_NAME = REDACTED_TOOL_NAME;
92
+ exports.RUN_PYTHON_CODE_TOOL_NAME = RUN_PYTHON_CODE_TOOL_NAME;
72
93
  exports.START_ASYNC_TASK_TOOL_NAME = START_ASYNC_TASK_TOOL_NAME;
73
94
  exports.SUBMIT_FEEDBACK_TOOL_NAME = SUBMIT_FEEDBACK_TOOL_NAME;
74
95
  exports.TASK_TOOL_NAME = TASK_TOOL_NAME;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-names.cjs","sources":["../../../../agent-runtime/src/tool-names.ts"],"sourcesContent":["/**\n * Names of the deepagents built-in tools as they appear on the wire, plus the\n * shared arg shapes / display derivations keyed on those names. One home so\n * tool cards, activity panels, and transcript renderers on every surface agree\n * on which call is which.\n */\nimport type { LangChainToolCall } from \"@assistant-ui/react-langgraph\";\n\n/** The built-in deepagents delegation tool; a `task` call spawns a subagent. */\nexport const TASK_TOOL_NAME = \"task\";\n/** The QuickJS code-interpreter tool (langchain_quickjs middleware). */\nexport const EVAL_TOOL_NAME = \"eval\";\n/** The built-in deepagents sandbox shell tool. */\nexport const EXECUTE_TOOL_NAME = \"execute\";\n/**\n * The Athena studio code executors: sandboxed Python whose SDK calls the\n * backend records as PTC sub-calls, exactly like `execute` / `eval`.\n */\nexport const RUN_PYTHON_CODE_TOOL_NAME = \"run_python_code\";\nexport const EXECUTE_PRESENTATION_CODE_TOOL_NAME = \"execute_presentation_code\";\nexport const EXECUTE_SPREADSHEET_CODE_TOOL_NAME = \"execute_spreadsheet_code\";\nexport const EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME = \"execute_word_document_code\";\n/** Every tool whose ToolMessage artifact may carry promoted PTC sub-calls. */\nexport const PTC_PARENT_TOOL_NAMES: ReadonlySet<string> = new Set<string>([\n EXECUTE_TOOL_NAME,\n EVAL_TOOL_NAME,\n RUN_PYTHON_CODE_TOOL_NAME,\n EXECUTE_PRESENTATION_CODE_TOOL_NAME,\n EXECUTE_SPREADSHEET_CODE_TOOL_NAME,\n EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME,\n]);\n/** The built-in deepagents filesystem write/edit tools. */\nexport const WRITE_FILE_TOOL_NAME = \"write_file\";\nexport const EDIT_FILE_TOOL_NAME = \"edit_file\";\n\n/**\n * Tools whose calls render nothing in chat: no card, no status line. The call\n * and its result stay in the stored transcript and in exports; only the\n * conversation view leaves them out (see `convertDeepAgentMessage`).\n */\nexport const SUBMIT_FEEDBACK_TOOL_NAME = \"submit_feedback\";\nexport const QUIET_TOOL_NAMES: ReadonlySet<string> = new Set([SUBMIT_FEEDBACK_TOOL_NAME]);\n\n/**\n * The deepagents async-subagent tools (ADR 0006 coding workers ride these):\n * `start_async_task` launches a remote task, `check_async_task` polls it,\n * `update_async_task` sends a follow-up, `cancel_async_task` interrupts it.\n */\nexport const START_ASYNC_TASK_TOOL_NAME = \"start_async_task\";\nexport const CHECK_ASYNC_TASK_TOOL_NAME = \"check_async_task\";\nexport const UPDATE_ASYNC_TASK_TOOL_NAME = \"update_async_task\";\nexport const CANCEL_ASYNC_TASK_TOOL_NAME = \"cancel_async_task\";\nexport const LIST_ASYNC_TASKS_TOOL_NAME = \"list_async_tasks\";\n/** The Agent Communication toolkit's synchronous ask of a listed collab agent. */\nexport const ASK_AGENT_TOOL_NAME = \"ask_agent\";\nexport const ASYNC_TASK_TOOL_NAMES = [\n START_ASYNC_TASK_TOOL_NAME,\n CHECK_ASYNC_TASK_TOOL_NAME,\n UPDATE_ASYNC_TASK_TOOL_NAME,\n CANCEL_ASYNC_TASK_TOOL_NAME,\n LIST_ASYNC_TASKS_TOOL_NAME,\n] as const;\n\n/**\n * Args shape shared by `write_file` / `edit_file` (single source of truth for\n * both the tool card and the changed-files panel). `write_file` carries the\n * whole `content`; `edit_file` carries the `old_string` → `new_string`\n * replacement instead (deepagents `WriteFileSchema` / `EditFileSchema`).\n */\nexport type FileToolArgs = {\n file_path?: string;\n path?: string;\n content?: string;\n old_string?: string;\n new_string?: string;\n replace_all?: boolean;\n /** Cross-asset targeting: the sandbox-backed asset the tool acted on. */\n sandbox_asset_id?: string | null;\n};\n\n/**\n * Human-salient one-liner for a nested tool call — the argument a person would\n * glance at (`execute` → the command, file tools → the path, searches → the\n * query). Empty string when nothing salient exists; capped so the ticker line\n * can't blow out the card.\n */\nexport function salientToolCallDetail(toolCall: LangChainToolCall): string {\n const args = (toolCall.args ?? {}) as Record<string, unknown>;\n const firstString = (...keys: string[]): string => {\n for (const key of keys) {\n const value = args[key];\n if (typeof value === \"string\" && value) return value;\n }\n return \"\";\n };\n let detail: string;\n switch (toolCall.name) {\n case EXECUTE_TOOL_NAME:\n detail = firstString(\"command\");\n break;\n case WRITE_FILE_TOOL_NAME:\n case EDIT_FILE_TOOL_NAME:\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"read_file\":\n case \"ls\":\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"write_todos\": {\n const todos = args.todos;\n detail = Array.isArray(todos)\n ? `${todos.length} step${todos.length === 1 ? \"\" : \"s\"}`\n : \"\";\n break;\n }\n case TASK_TOOL_NAME:\n case START_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"description\", \"subagent_type\");\n break;\n case UPDATE_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"message\", \"task_id\");\n break;\n case CHECK_ASYNC_TASK_TOOL_NAME:\n case CANCEL_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"task_id\");\n break;\n default:\n detail = firstString(\n \"query\",\n \"pattern\",\n \"command\",\n \"path\",\n \"file_path\",\n \"url\",\n \"question\",\n );\n }\n const clean = detail.replace(/\\s+/g, \" \").trim();\n return clean.length > 80 ? `${clean.slice(0, 79)}…` : clean;\n}\n"],"names":[],"mappings":";;AASO,MAAM,iBAAiB;AAEvB,MAAM,iBAAiB;AAEvB,MAAM,oBAAoB;AAmB1B,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB;AAO5B,MAAM,4BAA4B;AAClC,MAAM,mBAAwC,oBAAI,IAAI,CAAC,yBAAyB,CAAC;AAOjF,MAAM,6BAA6B;AACnC,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AAmCpC,SAAS,sBAAsB,UAAqC;AACzE,QAAM,OAAQ,SAAS,QAAQ,CAAA;AAC/B,QAAM,cAAc,IAAI,SAA2B;AACjD,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,KAAK,GAAG;AACtB,UAAI,OAAO,UAAU,YAAY,MAAO,QAAO;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AACA,MAAI;AACJ,UAAQ,SAAS,MAAA;AAAA,IACf,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK,eAAe;AAClB,YAAM,QAAQ,KAAK;AACnB,eAAS,MAAM,QAAQ,KAAK,IACxB,GAAG,MAAM,MAAM,QAAQ,MAAM,WAAW,IAAI,KAAK,GAAG,KACpD;AACJ;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,eAAe,eAAe;AACnD;AAAA,IACF,KAAK;AACH,eAAS,YAAY,WAAW,SAAS;AACzC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF;AACE,eAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,EACF;AAEJ,QAAM,QAAQ,OAAO,QAAQ,QAAQ,GAAG,EAAE,KAAA;AAC1C,SAAO,MAAM,SAAS,KAAK,GAAG,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM;AACxD;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tool-names.cjs","sources":["../../../../agent-runtime/src/tool-names.ts"],"sourcesContent":["/**\n * Names of the deepagents built-in tools as they appear on the wire, plus the\n * shared arg shapes / display derivations keyed on those names. One home so\n * tool cards, activity panels, and transcript renderers on every surface agree\n * on which call is which.\n */\nimport type { LangChainToolCall } from \"@assistant-ui/react-langgraph\";\n\n/** The built-in deepagents delegation tool; a `task` call spawns a subagent. */\nexport const TASK_TOOL_NAME = \"task\";\n/** The QuickJS code-interpreter tool (langchain_quickjs middleware). */\nexport const EVAL_TOOL_NAME = \"eval\";\n/** The built-in deepagents sandbox shell tool. */\nexport const EXECUTE_TOOL_NAME = \"execute\";\n/**\n * The Athena studio code executors: sandboxed Python whose SDK calls the\n * backend records as PTC sub-calls, exactly like `execute` / `eval`.\n */\nexport const RUN_PYTHON_CODE_TOOL_NAME = \"run_python_code\";\nexport const EXECUTE_PRESENTATION_CODE_TOOL_NAME = \"execute_presentation_code\";\nexport const EXECUTE_SPREADSHEET_CODE_TOOL_NAME = \"execute_spreadsheet_code\";\nexport const EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME = \"execute_word_document_code\";\n/** Every tool whose ToolMessage artifact may carry promoted PTC sub-calls. */\nexport const PTC_PARENT_TOOL_NAMES: ReadonlySet<string> = new Set<string>([\n EXECUTE_TOOL_NAME,\n EVAL_TOOL_NAME,\n RUN_PYTHON_CODE_TOOL_NAME,\n EXECUTE_PRESENTATION_CODE_TOOL_NAME,\n EXECUTE_SPREADSHEET_CODE_TOOL_NAME,\n EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME,\n]);\n/** The built-in deepagents filesystem write/edit tools. */\nexport const WRITE_FILE_TOOL_NAME = \"write_file\";\nexport const EDIT_FILE_TOOL_NAME = \"edit_file\";\n\n/**\n * Tools whose calls render nothing in chat: no card, no status line. The call\n * and its result stay in the stored transcript and in exports; only the\n * conversation view leaves them out (see `convertDeepAgentMessage`).\n */\nexport const SUBMIT_FEEDBACK_TOOL_NAME = \"submit_feedback\";\nexport const QUIET_TOOL_NAMES: ReadonlySet<string> = new Set([SUBMIT_FEEDBACK_TOOL_NAME]);\n\n/**\n * The tool name a redacted call renders under. A participant who is not the\n * conversation's owner receives tool calls as `{ id, type }` stubs and tool\n * results as `{ type, id, tool_call_id, status }` (agora `read_filters`);\n * `convertDeepAgentMessage` names both this, and tool cards render it as a\n * muted \"Used a tool\" chip.\n */\nexport const REDACTED_TOOL_NAME = \"athena_redacted_tool\";\n\n/**\n * The deepagents async-subagent tools (ADR 0006 coding workers ride these):\n * `start_async_task` launches a remote task, `check_async_task` polls it,\n * `update_async_task` sends a follow-up, `cancel_async_task` interrupts it.\n */\nexport const START_ASYNC_TASK_TOOL_NAME = \"start_async_task\";\nexport const CHECK_ASYNC_TASK_TOOL_NAME = \"check_async_task\";\nexport const UPDATE_ASYNC_TASK_TOOL_NAME = \"update_async_task\";\nexport const CANCEL_ASYNC_TASK_TOOL_NAME = \"cancel_async_task\";\nexport const LIST_ASYNC_TASKS_TOOL_NAME = \"list_async_tasks\";\n/** The Agent Communication toolkit's synchronous ask of a listed collab agent. */\nexport const ASK_AGENT_TOOL_NAME = \"ask_agent\";\nexport const ASYNC_TASK_TOOL_NAMES = [\n START_ASYNC_TASK_TOOL_NAME,\n CHECK_ASYNC_TASK_TOOL_NAME,\n UPDATE_ASYNC_TASK_TOOL_NAME,\n CANCEL_ASYNC_TASK_TOOL_NAME,\n LIST_ASYNC_TASKS_TOOL_NAME,\n] as const;\n\n/**\n * Args shape shared by `write_file` / `edit_file` (single source of truth for\n * both the tool card and the changed-files panel). `write_file` carries the\n * whole `content`; `edit_file` carries the `old_string` → `new_string`\n * replacement instead (deepagents `WriteFileSchema` / `EditFileSchema`).\n */\nexport type FileToolArgs = {\n file_path?: string;\n path?: string;\n content?: string;\n old_string?: string;\n new_string?: string;\n replace_all?: boolean;\n /** Cross-asset targeting: the sandbox-backed asset the tool acted on. */\n sandbox_asset_id?: string | null;\n};\n\n/**\n * Human-salient one-liner for a nested tool call — the argument a person would\n * glance at (`execute` → the command, file tools → the path, searches → the\n * query). Empty string when nothing salient exists; capped so the ticker line\n * can't blow out the card.\n */\nexport function salientToolCallDetail(toolCall: LangChainToolCall): string {\n const args = (toolCall.args ?? {}) as Record<string, unknown>;\n const firstString = (...keys: string[]): string => {\n for (const key of keys) {\n const value = args[key];\n if (typeof value === \"string\" && value) return value;\n }\n return \"\";\n };\n let detail: string;\n switch (toolCall.name) {\n case EXECUTE_TOOL_NAME:\n detail = firstString(\"command\");\n break;\n case WRITE_FILE_TOOL_NAME:\n case EDIT_FILE_TOOL_NAME:\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"read_file\":\n case \"ls\":\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"write_todos\": {\n const todos = args.todos;\n detail = Array.isArray(todos)\n ? `${todos.length} step${todos.length === 1 ? \"\" : \"s\"}`\n : \"\";\n break;\n }\n case TASK_TOOL_NAME:\n case START_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"description\", \"subagent_type\");\n break;\n case UPDATE_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"message\", \"task_id\");\n break;\n case CHECK_ASYNC_TASK_TOOL_NAME:\n case CANCEL_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"task_id\");\n break;\n default:\n detail = firstString(\n \"query\",\n \"pattern\",\n \"command\",\n \"path\",\n \"file_path\",\n \"url\",\n \"question\",\n );\n }\n const clean = detail.replace(/\\s+/g, \" \").trim();\n return clean.length > 80 ? `${clean.slice(0, 79)}…` : clean;\n}\n"],"names":[],"mappings":";;AASO,MAAM,iBAAiB;AAEvB,MAAM,iBAAiB;AAEvB,MAAM,oBAAoB;AAK1B,MAAM,4BAA4B;AAClC,MAAM,sCAAsC;AAC5C,MAAM,qCAAqC;AAC3C,MAAM,uCAAuC;AAE7C,MAAM,4CAAiD,IAAY;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB;AAO5B,MAAM,4BAA4B;AAClC,MAAM,mBAAwC,oBAAI,IAAI,CAAC,yBAAyB,CAAC;AASjF,MAAM,qBAAqB;AAO3B,MAAM,6BAA6B;AACnC,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AAGpC,MAAM,sBAAsB;AAgC5B,SAAS,sBAAsB,UAAqC;AACzE,QAAM,OAAQ,SAAS,QAAQ,CAAA;AAC/B,QAAM,cAAc,IAAI,SAA2B;AACjD,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,KAAK,GAAG;AACtB,UAAI,OAAO,UAAU,YAAY,MAAO,QAAO;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AACA,MAAI;AACJ,UAAQ,SAAS,MAAA;AAAA,IACf,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK,eAAe;AAClB,YAAM,QAAQ,KAAK;AACnB,eAAS,MAAM,QAAQ,KAAK,IACxB,GAAG,MAAM,MAAM,QAAQ,MAAM,WAAW,IAAI,KAAK,GAAG,KACpD;AACJ;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,eAAe,eAAe;AACnD;AAAA,IACF,KAAK;AACH,eAAS,YAAY,WAAW,SAAS;AACzC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF;AACE,eAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,EACF;AAEJ,QAAM,QAAQ,OAAO,QAAQ,QAAQ,GAAG,EAAE,KAAA;AAC1C,SAAO,MAAM,SAAS,KAAK,GAAG,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM;AACxD;;;;;;;;;;;;;;;;;;;;"}
@@ -31,6 +31,14 @@ export declare const EDIT_FILE_TOOL_NAME = "edit_file";
31
31
  */
32
32
  export declare const SUBMIT_FEEDBACK_TOOL_NAME = "submit_feedback";
33
33
  export declare const QUIET_TOOL_NAMES: ReadonlySet<string>;
34
+ /**
35
+ * The tool name a redacted call renders under. A participant who is not the
36
+ * conversation's owner receives tool calls as `{ id, type }` stubs and tool
37
+ * results as `{ type, id, tool_call_id, status }` (agora `read_filters`);
38
+ * `convertDeepAgentMessage` names both this, and tool cards render it as a
39
+ * muted "Used a tool" chip.
40
+ */
41
+ export declare const REDACTED_TOOL_NAME = "athena_redacted_tool";
34
42
  /**
35
43
  * The deepagents async-subagent tools (ADR 0006 coding workers ride these):
36
44
  * `start_async_task` launches a remote task, `check_async_task` polls it,
@@ -1,14 +1,28 @@
1
1
  const TASK_TOOL_NAME = "task";
2
2
  const EVAL_TOOL_NAME = "eval";
3
3
  const EXECUTE_TOOL_NAME = "execute";
4
+ const RUN_PYTHON_CODE_TOOL_NAME = "run_python_code";
5
+ const EXECUTE_PRESENTATION_CODE_TOOL_NAME = "execute_presentation_code";
6
+ const EXECUTE_SPREADSHEET_CODE_TOOL_NAME = "execute_spreadsheet_code";
7
+ const EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME = "execute_word_document_code";
8
+ const PTC_PARENT_TOOL_NAMES = /* @__PURE__ */ new Set([
9
+ EXECUTE_TOOL_NAME,
10
+ EVAL_TOOL_NAME,
11
+ RUN_PYTHON_CODE_TOOL_NAME,
12
+ EXECUTE_PRESENTATION_CODE_TOOL_NAME,
13
+ EXECUTE_SPREADSHEET_CODE_TOOL_NAME,
14
+ EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME
15
+ ]);
4
16
  const WRITE_FILE_TOOL_NAME = "write_file";
5
17
  const EDIT_FILE_TOOL_NAME = "edit_file";
6
18
  const SUBMIT_FEEDBACK_TOOL_NAME = "submit_feedback";
7
19
  const QUIET_TOOL_NAMES = /* @__PURE__ */ new Set([SUBMIT_FEEDBACK_TOOL_NAME]);
20
+ const REDACTED_TOOL_NAME = "athena_redacted_tool";
8
21
  const START_ASYNC_TASK_TOOL_NAME = "start_async_task";
9
22
  const CHECK_ASYNC_TASK_TOOL_NAME = "check_async_task";
10
23
  const UPDATE_ASYNC_TASK_TOOL_NAME = "update_async_task";
11
24
  const CANCEL_ASYNC_TASK_TOOL_NAME = "cancel_async_task";
25
+ const ASK_AGENT_TOOL_NAME = "ask_agent";
12
26
  function salientToolCallDetail(toolCall) {
13
27
  const args = toolCall.args ?? {};
14
28
  const firstString = (...keys) => {
@@ -62,12 +76,19 @@ function salientToolCallDetail(toolCall) {
62
76
  return clean.length > 80 ? `${clean.slice(0, 79)}…` : clean;
63
77
  }
64
78
  export {
79
+ ASK_AGENT_TOOL_NAME,
65
80
  CANCEL_ASYNC_TASK_TOOL_NAME,
66
81
  CHECK_ASYNC_TASK_TOOL_NAME,
67
82
  EDIT_FILE_TOOL_NAME,
68
83
  EVAL_TOOL_NAME,
84
+ EXECUTE_PRESENTATION_CODE_TOOL_NAME,
85
+ EXECUTE_SPREADSHEET_CODE_TOOL_NAME,
69
86
  EXECUTE_TOOL_NAME,
87
+ EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME,
88
+ PTC_PARENT_TOOL_NAMES,
70
89
  QUIET_TOOL_NAMES,
90
+ REDACTED_TOOL_NAME,
91
+ RUN_PYTHON_CODE_TOOL_NAME,
71
92
  START_ASYNC_TASK_TOOL_NAME,
72
93
  SUBMIT_FEEDBACK_TOOL_NAME,
73
94
  TASK_TOOL_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-names.js","sources":["../../../../agent-runtime/src/tool-names.ts"],"sourcesContent":["/**\n * Names of the deepagents built-in tools as they appear on the wire, plus the\n * shared arg shapes / display derivations keyed on those names. One home so\n * tool cards, activity panels, and transcript renderers on every surface agree\n * on which call is which.\n */\nimport type { LangChainToolCall } from \"@assistant-ui/react-langgraph\";\n\n/** The built-in deepagents delegation tool; a `task` call spawns a subagent. */\nexport const TASK_TOOL_NAME = \"task\";\n/** The QuickJS code-interpreter tool (langchain_quickjs middleware). */\nexport const EVAL_TOOL_NAME = \"eval\";\n/** The built-in deepagents sandbox shell tool. */\nexport const EXECUTE_TOOL_NAME = \"execute\";\n/**\n * The Athena studio code executors: sandboxed Python whose SDK calls the\n * backend records as PTC sub-calls, exactly like `execute` / `eval`.\n */\nexport const RUN_PYTHON_CODE_TOOL_NAME = \"run_python_code\";\nexport const EXECUTE_PRESENTATION_CODE_TOOL_NAME = \"execute_presentation_code\";\nexport const EXECUTE_SPREADSHEET_CODE_TOOL_NAME = \"execute_spreadsheet_code\";\nexport const EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME = \"execute_word_document_code\";\n/** Every tool whose ToolMessage artifact may carry promoted PTC sub-calls. */\nexport const PTC_PARENT_TOOL_NAMES: ReadonlySet<string> = new Set<string>([\n EXECUTE_TOOL_NAME,\n EVAL_TOOL_NAME,\n RUN_PYTHON_CODE_TOOL_NAME,\n EXECUTE_PRESENTATION_CODE_TOOL_NAME,\n EXECUTE_SPREADSHEET_CODE_TOOL_NAME,\n EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME,\n]);\n/** The built-in deepagents filesystem write/edit tools. */\nexport const WRITE_FILE_TOOL_NAME = \"write_file\";\nexport const EDIT_FILE_TOOL_NAME = \"edit_file\";\n\n/**\n * Tools whose calls render nothing in chat: no card, no status line. The call\n * and its result stay in the stored transcript and in exports; only the\n * conversation view leaves them out (see `convertDeepAgentMessage`).\n */\nexport const SUBMIT_FEEDBACK_TOOL_NAME = \"submit_feedback\";\nexport const QUIET_TOOL_NAMES: ReadonlySet<string> = new Set([SUBMIT_FEEDBACK_TOOL_NAME]);\n\n/**\n * The deepagents async-subagent tools (ADR 0006 coding workers ride these):\n * `start_async_task` launches a remote task, `check_async_task` polls it,\n * `update_async_task` sends a follow-up, `cancel_async_task` interrupts it.\n */\nexport const START_ASYNC_TASK_TOOL_NAME = \"start_async_task\";\nexport const CHECK_ASYNC_TASK_TOOL_NAME = \"check_async_task\";\nexport const UPDATE_ASYNC_TASK_TOOL_NAME = \"update_async_task\";\nexport const CANCEL_ASYNC_TASK_TOOL_NAME = \"cancel_async_task\";\nexport const LIST_ASYNC_TASKS_TOOL_NAME = \"list_async_tasks\";\n/** The Agent Communication toolkit's synchronous ask of a listed collab agent. */\nexport const ASK_AGENT_TOOL_NAME = \"ask_agent\";\nexport const ASYNC_TASK_TOOL_NAMES = [\n START_ASYNC_TASK_TOOL_NAME,\n CHECK_ASYNC_TASK_TOOL_NAME,\n UPDATE_ASYNC_TASK_TOOL_NAME,\n CANCEL_ASYNC_TASK_TOOL_NAME,\n LIST_ASYNC_TASKS_TOOL_NAME,\n] as const;\n\n/**\n * Args shape shared by `write_file` / `edit_file` (single source of truth for\n * both the tool card and the changed-files panel). `write_file` carries the\n * whole `content`; `edit_file` carries the `old_string` → `new_string`\n * replacement instead (deepagents `WriteFileSchema` / `EditFileSchema`).\n */\nexport type FileToolArgs = {\n file_path?: string;\n path?: string;\n content?: string;\n old_string?: string;\n new_string?: string;\n replace_all?: boolean;\n /** Cross-asset targeting: the sandbox-backed asset the tool acted on. */\n sandbox_asset_id?: string | null;\n};\n\n/**\n * Human-salient one-liner for a nested tool call — the argument a person would\n * glance at (`execute` → the command, file tools → the path, searches → the\n * query). Empty string when nothing salient exists; capped so the ticker line\n * can't blow out the card.\n */\nexport function salientToolCallDetail(toolCall: LangChainToolCall): string {\n const args = (toolCall.args ?? {}) as Record<string, unknown>;\n const firstString = (...keys: string[]): string => {\n for (const key of keys) {\n const value = args[key];\n if (typeof value === \"string\" && value) return value;\n }\n return \"\";\n };\n let detail: string;\n switch (toolCall.name) {\n case EXECUTE_TOOL_NAME:\n detail = firstString(\"command\");\n break;\n case WRITE_FILE_TOOL_NAME:\n case EDIT_FILE_TOOL_NAME:\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"read_file\":\n case \"ls\":\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"write_todos\": {\n const todos = args.todos;\n detail = Array.isArray(todos)\n ? `${todos.length} step${todos.length === 1 ? \"\" : \"s\"}`\n : \"\";\n break;\n }\n case TASK_TOOL_NAME:\n case START_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"description\", \"subagent_type\");\n break;\n case UPDATE_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"message\", \"task_id\");\n break;\n case CHECK_ASYNC_TASK_TOOL_NAME:\n case CANCEL_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"task_id\");\n break;\n default:\n detail = firstString(\n \"query\",\n \"pattern\",\n \"command\",\n \"path\",\n \"file_path\",\n \"url\",\n \"question\",\n );\n }\n const clean = detail.replace(/\\s+/g, \" \").trim();\n return clean.length > 80 ? `${clean.slice(0, 79)}…` : clean;\n}\n"],"names":[],"mappings":"AASO,MAAM,iBAAiB;AAEvB,MAAM,iBAAiB;AAEvB,MAAM,oBAAoB;AAmB1B,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB;AAO5B,MAAM,4BAA4B;AAClC,MAAM,mBAAwC,oBAAI,IAAI,CAAC,yBAAyB,CAAC;AAOjF,MAAM,6BAA6B;AACnC,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AAmCpC,SAAS,sBAAsB,UAAqC;AACzE,QAAM,OAAQ,SAAS,QAAQ,CAAA;AAC/B,QAAM,cAAc,IAAI,SAA2B;AACjD,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,KAAK,GAAG;AACtB,UAAI,OAAO,UAAU,YAAY,MAAO,QAAO;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AACA,MAAI;AACJ,UAAQ,SAAS,MAAA;AAAA,IACf,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK,eAAe;AAClB,YAAM,QAAQ,KAAK;AACnB,eAAS,MAAM,QAAQ,KAAK,IACxB,GAAG,MAAM,MAAM,QAAQ,MAAM,WAAW,IAAI,KAAK,GAAG,KACpD;AACJ;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,eAAe,eAAe;AACnD;AAAA,IACF,KAAK;AACH,eAAS,YAAY,WAAW,SAAS;AACzC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF;AACE,eAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,EACF;AAEJ,QAAM,QAAQ,OAAO,QAAQ,QAAQ,GAAG,EAAE,KAAA;AAC1C,SAAO,MAAM,SAAS,KAAK,GAAG,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM;AACxD;"}
1
+ {"version":3,"file":"tool-names.js","sources":["../../../../agent-runtime/src/tool-names.ts"],"sourcesContent":["/**\n * Names of the deepagents built-in tools as they appear on the wire, plus the\n * shared arg shapes / display derivations keyed on those names. One home so\n * tool cards, activity panels, and transcript renderers on every surface agree\n * on which call is which.\n */\nimport type { LangChainToolCall } from \"@assistant-ui/react-langgraph\";\n\n/** The built-in deepagents delegation tool; a `task` call spawns a subagent. */\nexport const TASK_TOOL_NAME = \"task\";\n/** The QuickJS code-interpreter tool (langchain_quickjs middleware). */\nexport const EVAL_TOOL_NAME = \"eval\";\n/** The built-in deepagents sandbox shell tool. */\nexport const EXECUTE_TOOL_NAME = \"execute\";\n/**\n * The Athena studio code executors: sandboxed Python whose SDK calls the\n * backend records as PTC sub-calls, exactly like `execute` / `eval`.\n */\nexport const RUN_PYTHON_CODE_TOOL_NAME = \"run_python_code\";\nexport const EXECUTE_PRESENTATION_CODE_TOOL_NAME = \"execute_presentation_code\";\nexport const EXECUTE_SPREADSHEET_CODE_TOOL_NAME = \"execute_spreadsheet_code\";\nexport const EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME = \"execute_word_document_code\";\n/** Every tool whose ToolMessage artifact may carry promoted PTC sub-calls. */\nexport const PTC_PARENT_TOOL_NAMES: ReadonlySet<string> = new Set<string>([\n EXECUTE_TOOL_NAME,\n EVAL_TOOL_NAME,\n RUN_PYTHON_CODE_TOOL_NAME,\n EXECUTE_PRESENTATION_CODE_TOOL_NAME,\n EXECUTE_SPREADSHEET_CODE_TOOL_NAME,\n EXECUTE_WORD_DOCUMENT_CODE_TOOL_NAME,\n]);\n/** The built-in deepagents filesystem write/edit tools. */\nexport const WRITE_FILE_TOOL_NAME = \"write_file\";\nexport const EDIT_FILE_TOOL_NAME = \"edit_file\";\n\n/**\n * Tools whose calls render nothing in chat: no card, no status line. The call\n * and its result stay in the stored transcript and in exports; only the\n * conversation view leaves them out (see `convertDeepAgentMessage`).\n */\nexport const SUBMIT_FEEDBACK_TOOL_NAME = \"submit_feedback\";\nexport const QUIET_TOOL_NAMES: ReadonlySet<string> = new Set([SUBMIT_FEEDBACK_TOOL_NAME]);\n\n/**\n * The tool name a redacted call renders under. A participant who is not the\n * conversation's owner receives tool calls as `{ id, type }` stubs and tool\n * results as `{ type, id, tool_call_id, status }` (agora `read_filters`);\n * `convertDeepAgentMessage` names both this, and tool cards render it as a\n * muted \"Used a tool\" chip.\n */\nexport const REDACTED_TOOL_NAME = \"athena_redacted_tool\";\n\n/**\n * The deepagents async-subagent tools (ADR 0006 coding workers ride these):\n * `start_async_task` launches a remote task, `check_async_task` polls it,\n * `update_async_task` sends a follow-up, `cancel_async_task` interrupts it.\n */\nexport const START_ASYNC_TASK_TOOL_NAME = \"start_async_task\";\nexport const CHECK_ASYNC_TASK_TOOL_NAME = \"check_async_task\";\nexport const UPDATE_ASYNC_TASK_TOOL_NAME = \"update_async_task\";\nexport const CANCEL_ASYNC_TASK_TOOL_NAME = \"cancel_async_task\";\nexport const LIST_ASYNC_TASKS_TOOL_NAME = \"list_async_tasks\";\n/** The Agent Communication toolkit's synchronous ask of a listed collab agent. */\nexport const ASK_AGENT_TOOL_NAME = \"ask_agent\";\nexport const ASYNC_TASK_TOOL_NAMES = [\n START_ASYNC_TASK_TOOL_NAME,\n CHECK_ASYNC_TASK_TOOL_NAME,\n UPDATE_ASYNC_TASK_TOOL_NAME,\n CANCEL_ASYNC_TASK_TOOL_NAME,\n LIST_ASYNC_TASKS_TOOL_NAME,\n] as const;\n\n/**\n * Args shape shared by `write_file` / `edit_file` (single source of truth for\n * both the tool card and the changed-files panel). `write_file` carries the\n * whole `content`; `edit_file` carries the `old_string` → `new_string`\n * replacement instead (deepagents `WriteFileSchema` / `EditFileSchema`).\n */\nexport type FileToolArgs = {\n file_path?: string;\n path?: string;\n content?: string;\n old_string?: string;\n new_string?: string;\n replace_all?: boolean;\n /** Cross-asset targeting: the sandbox-backed asset the tool acted on. */\n sandbox_asset_id?: string | null;\n};\n\n/**\n * Human-salient one-liner for a nested tool call — the argument a person would\n * glance at (`execute` → the command, file tools → the path, searches → the\n * query). Empty string when nothing salient exists; capped so the ticker line\n * can't blow out the card.\n */\nexport function salientToolCallDetail(toolCall: LangChainToolCall): string {\n const args = (toolCall.args ?? {}) as Record<string, unknown>;\n const firstString = (...keys: string[]): string => {\n for (const key of keys) {\n const value = args[key];\n if (typeof value === \"string\" && value) return value;\n }\n return \"\";\n };\n let detail: string;\n switch (toolCall.name) {\n case EXECUTE_TOOL_NAME:\n detail = firstString(\"command\");\n break;\n case WRITE_FILE_TOOL_NAME:\n case EDIT_FILE_TOOL_NAME:\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"read_file\":\n case \"ls\":\n detail = firstString(\"file_path\", \"path\");\n break;\n case \"write_todos\": {\n const todos = args.todos;\n detail = Array.isArray(todos)\n ? `${todos.length} step${todos.length === 1 ? \"\" : \"s\"}`\n : \"\";\n break;\n }\n case TASK_TOOL_NAME:\n case START_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"description\", \"subagent_type\");\n break;\n case UPDATE_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"message\", \"task_id\");\n break;\n case CHECK_ASYNC_TASK_TOOL_NAME:\n case CANCEL_ASYNC_TASK_TOOL_NAME:\n detail = firstString(\"task_id\");\n break;\n default:\n detail = firstString(\n \"query\",\n \"pattern\",\n \"command\",\n \"path\",\n \"file_path\",\n \"url\",\n \"question\",\n );\n }\n const clean = detail.replace(/\\s+/g, \" \").trim();\n return clean.length > 80 ? `${clean.slice(0, 79)}…` : clean;\n}\n"],"names":[],"mappings":"AASO,MAAM,iBAAiB;AAEvB,MAAM,iBAAiB;AAEvB,MAAM,oBAAoB;AAK1B,MAAM,4BAA4B;AAClC,MAAM,sCAAsC;AAC5C,MAAM,qCAAqC;AAC3C,MAAM,uCAAuC;AAE7C,MAAM,4CAAiD,IAAY;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB;AAO5B,MAAM,4BAA4B;AAClC,MAAM,mBAAwC,oBAAI,IAAI,CAAC,yBAAyB,CAAC;AASjF,MAAM,qBAAqB;AAO3B,MAAM,6BAA6B;AACnC,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AAGpC,MAAM,sBAAsB;AAgC5B,SAAS,sBAAsB,UAAqC;AACzE,QAAM,OAAQ,SAAS,QAAQ,CAAA;AAC/B,QAAM,cAAc,IAAI,SAA2B;AACjD,eAAW,OAAO,MAAM;AACtB,YAAM,QAAQ,KAAK,GAAG;AACtB,UAAI,OAAO,UAAU,YAAY,MAAO,QAAO;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AACA,MAAI;AACJ,UAAQ,SAAS,MAAA;AAAA,IACf,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,aAAa,MAAM;AACxC;AAAA,IACF,KAAK,eAAe;AAClB,YAAM,QAAQ,KAAK;AACnB,eAAS,MAAM,QAAQ,KAAK,IACxB,GAAG,MAAM,MAAM,QAAQ,MAAM,WAAW,IAAI,KAAK,GAAG,KACpD;AACJ;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,eAAe,eAAe;AACnD;AAAA,IACF,KAAK;AACH,eAAS,YAAY,WAAW,SAAS;AACzC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,eAAS,YAAY,SAAS;AAC9B;AAAA,IACF;AACE,eAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,EACF;AAEJ,QAAM,QAAQ,OAAO,QAAQ,QAAQ,GAAG,EAAE,KAAA;AAC1C,SAAO,MAAM,SAAS,KAAK,GAAG,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM;AACxD;"}
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const typedInterrupts = require("./typed-interrupts.cjs");
4
+ function isRecord(value) {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value);
6
+ }
7
+ function isOptional(value, check) {
8
+ return value === void 0 || check(value);
9
+ }
10
+ const isString = (value) => typeof value === "string";
11
+ const isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);
12
+ const TYPED_APPROVAL_SOURCES = /* @__PURE__ */ new Set([
13
+ typedInterrupts.TypedInterruptSource.PM_SCHEDULE_APPROVAL,
14
+ typedInterrupts.TypedInterruptSource.BROWSE_PROFILE_APPROVAL,
15
+ typedInterrupts.TypedInterruptSource.TOOLKIT_SELECTION
16
+ ]);
17
+ function isTypedApprovalInterrupt(payload) {
18
+ return payload.type === typedInterrupts.TypedInterruptType.HITL || TYPED_APPROVAL_SOURCES.has(payload.source);
19
+ }
20
+ const TYPED_NON_RUNNING_ACTIONS = /* @__PURE__ */ new Set(["reject", "cancel"]);
21
+ function typedAnswerLetsSomethingRun(value) {
22
+ if (!isRecord(value)) return true;
23
+ return !(typeof value.action === "string" && TYPED_NON_RUNNING_ACTIONS.has(value.action));
24
+ }
25
+ const TYPED_INTERRUPT_ID_KEY = "__interrupt_id__";
26
+ const TYPED_INTERRUPT_INSTANCE_KEY = "__interrupt_instance_id__";
27
+ function stampTypedInterruptAnswer({
28
+ payload,
29
+ value
30
+ }) {
31
+ const stamped = {
32
+ ...value,
33
+ [TYPED_INTERRUPT_ID_KEY]: payload.source,
34
+ [TYPED_INTERRUPT_INSTANCE_KEY]: payload.interrupt_instance_id
35
+ };
36
+ const parsed = JSON.parse(JSON.stringify(stamped));
37
+ return isRecord(parsed) ? parsed : {};
38
+ }
39
+ function typedInterruptCancel() {
40
+ return { action: "cancel" };
41
+ }
42
+ function hasInterruptTimeout(payload) {
43
+ return payload.timeout_seconds !== void 0 && payload.timeout_at !== void 0;
44
+ }
45
+ function interruptTimeoutRemaining(payload, now = Date.now()) {
46
+ if (!payload.timeout_at) return null;
47
+ const deadline = new Date(payload.timeout_at).getTime();
48
+ if (Number.isNaN(deadline)) return null;
49
+ return Math.max(0, (deadline - now) / 1e3);
50
+ }
51
+ function stripInterruptTimeoutText(message) {
52
+ if (!message) return "";
53
+ return message.replace(/\s*\(timeout in \d+s\)/, "");
54
+ }
55
+ function interruptDraftId(payload) {
56
+ return payload.timeout_at ?? payload.source;
57
+ }
58
+ function isCustomWithSource(payload, source) {
59
+ return payload.type === typedInterrupts.TypedInterruptType.CUSTOM && payload.source === source;
60
+ }
61
+ const isStringArray = (value) => Array.isArray(value) && value.every(isString);
62
+ function optionalText(value) {
63
+ return isString(value) ? value : null;
64
+ }
65
+ const QuestionType = {
66
+ TEXT: "text",
67
+ YES_NO: "yes_no",
68
+ SINGLE_CHOICE: "single_choice",
69
+ MULTI_CHOICE: "multi_choice"
70
+ };
71
+ const QUESTION_TYPES = new Set(Object.values(QuestionType));
72
+ function isQuestionnaireInterrupt(payload) {
73
+ return isCustomWithSource(payload, typedInterrupts.TypedInterruptSource.ASK_QUESTIONNAIRE);
74
+ }
75
+ function readQuestionnaireContext(payload) {
76
+ const { context } = payload;
77
+ const questions = Array.isArray(context.questions) ? context.questions.filter(isRecord).map(
78
+ (question) => ({
79
+ text: isString(question.text) ? question.text : "",
80
+ type: isString(question.type) && QUESTION_TYPES.has(question.type) ? question.type : QuestionType.TEXT,
81
+ options: isStringArray(question.options) ? question.options : [],
82
+ recommended: optionalText(question.recommended)
83
+ })
84
+ ) : [];
85
+ return { title: optionalText(context.title), questions };
86
+ }
87
+ function questionnaireResume(answers) {
88
+ return { answers: answers.map(({ value, comment }) => ({ value, comment })) };
89
+ }
90
+ function isToolkitSelectionInterrupt(payload) {
91
+ return isCustomWithSource(payload, typedInterrupts.TypedInterruptSource.TOOLKIT_SELECTION);
92
+ }
93
+ const NO_TOOLKIT_SELECTION = { action: "enable", toolkits: [] };
94
+ function readToolkitItem(value) {
95
+ if (!isRecord(value) || !isString(value.toolkit_id) || !isString(value.display_name)) return null;
96
+ const { description, rationale, added_tool_count: added } = value;
97
+ if (description != null && !isString(description) || rationale != null && !isString(rationale) || !isOptional(added, isFiniteNumber)) {
98
+ return null;
99
+ }
100
+ return {
101
+ toolkit_id: value.toolkit_id,
102
+ display_name: value.display_name,
103
+ description: optionalText(description),
104
+ rationale: optionalText(rationale),
105
+ ...isFiniteNumber(added) ? { added_tool_count: added } : {}
106
+ };
107
+ }
108
+ function readToolkitSelectionContext(payload) {
109
+ const { context } = payload;
110
+ const { action, toolkits, total, current_tool_count: current, max_tools: max } = context;
111
+ if (action !== "enable" && action !== "disable") return NO_TOOLKIT_SELECTION;
112
+ if (!Array.isArray(toolkits)) return NO_TOOLKIT_SELECTION;
113
+ if (!isOptional(total, isFiniteNumber) || !isOptional(current, isFiniteNumber) || !isOptional(max, isFiniteNumber)) {
114
+ return NO_TOOLKIT_SELECTION;
115
+ }
116
+ const items = toolkits.map(readToolkitItem);
117
+ if (items.some((item) => item === null)) return NO_TOOLKIT_SELECTION;
118
+ return {
119
+ action,
120
+ toolkits: items,
121
+ ...isFiniteNumber(current) ? { current_tool_count: current } : {},
122
+ ...isFiniteNumber(max) ? { max_tools: max } : {}
123
+ };
124
+ }
125
+ function toolkitSelectionResume({
126
+ action,
127
+ approvedToolkitIds,
128
+ reason
129
+ }) {
130
+ return {
131
+ action,
132
+ approved_toolkit_ids: action === "approve" ? [...approvedToolkitIds] : [],
133
+ ...reason ? { reason } : {}
134
+ };
135
+ }
136
+ function isBrowseProfileApprovalInterrupt(payload) {
137
+ return isCustomWithSource(payload, typedInterrupts.TypedInterruptSource.BROWSE_PROFILE_APPROVAL);
138
+ }
139
+ function readBrowseProfileApprovalContext(payload) {
140
+ const approval = payload.context.browse_profile_approval;
141
+ if (!isRecord(approval)) return { profiles: [], sessionApprovalAllowed: false };
142
+ const profiles = Array.isArray(approval.profiles) ? approval.profiles.flatMap(
143
+ (profile) => isRecord(profile) && isString(profile.profile_asset_id) ? [
144
+ {
145
+ profile_asset_id: profile.profile_asset_id,
146
+ approval_scope: optionalText(profile.approval_scope)
147
+ }
148
+ ] : []
149
+ ) : [];
150
+ return { profiles, sessionApprovalAllowed: approval.session_approval_allowed === true };
151
+ }
152
+ function browseProfileApprovalResume({
153
+ action,
154
+ forSession = false
155
+ }) {
156
+ return action === "approve" && forSession ? { action, scope: "session" } : { action };
157
+ }
158
+ function isPmScheduleApprovalInterrupt(payload) {
159
+ return isCustomWithSource(payload, typedInterrupts.TypedInterruptSource.PM_SCHEDULE_APPROVAL);
160
+ }
161
+ const PM_SCHEDULE_FIELDS = [
162
+ "project_asset_id",
163
+ "cron",
164
+ "timezone",
165
+ "summary",
166
+ "scheduled_for",
167
+ "schedule_id"
168
+ ];
169
+ function readPmScheduleApprovalContext(payload) {
170
+ const { context } = payload;
171
+ const fields = PM_SCHEDULE_FIELDS.flatMap((key) => {
172
+ const value = context[key];
173
+ return value ? [[key, String(value)]] : [];
174
+ });
175
+ return { action: optionalText(context.action), fields };
176
+ }
177
+ function typedApprovalResume({
178
+ action,
179
+ reason
180
+ }) {
181
+ return reason ? { action, reason } : { action };
182
+ }
183
+ function isWaitForMinutesInterrupt(payload) {
184
+ return isCustomWithSource(payload, typedInterrupts.TypedInterruptSource.WAIT_FOR_MINUTES);
185
+ }
186
+ function readWaitForMinutesContext(payload) {
187
+ const { minutes, reason, timeout_seconds: timeoutSeconds } = payload.context;
188
+ return {
189
+ minutes: isFiniteNumber(minutes) ? minutes : 0,
190
+ reason: isString(reason) && reason ? reason : null,
191
+ timeoutSeconds: isFiniteNumber(timeoutSeconds) ? timeoutSeconds : null
192
+ };
193
+ }
194
+ function isRequestFileInterrupt(payload) {
195
+ return isCustomWithSource(payload, typedInterrupts.TypedInterruptSource.REQUEST_FILE);
196
+ }
197
+ function readRequestFileContext(payload) {
198
+ const { prompt, allow_multiple: allowMultiple } = payload.context;
199
+ return {
200
+ prompt: isString(prompt) && prompt || payload.message || "Upload a file to continue.",
201
+ allowMultiple: allowMultiple === true
202
+ };
203
+ }
204
+ function requestFileResume(files) {
205
+ return {
206
+ files: files.map(({ asset_id, filename, mention }) => ({ asset_id, filename, mention }))
207
+ };
208
+ }
209
+ function readTypedHitlContext(payload) {
210
+ const { context } = payload;
211
+ return {
212
+ toolId: optionalText(context.tool_id),
213
+ toolCallId: optionalText(context.tool_call_id),
214
+ toolArgs: isRecord(context.tool_args) ? context.tool_args : {},
215
+ approvalContext: context.approval_context
216
+ };
217
+ }
218
+ exports.QuestionType = QuestionType;
219
+ exports.TYPED_INTERRUPT_ID_KEY = TYPED_INTERRUPT_ID_KEY;
220
+ exports.TYPED_INTERRUPT_INSTANCE_KEY = TYPED_INTERRUPT_INSTANCE_KEY;
221
+ exports.browseProfileApprovalResume = browseProfileApprovalResume;
222
+ exports.hasInterruptTimeout = hasInterruptTimeout;
223
+ exports.interruptDraftId = interruptDraftId;
224
+ exports.interruptTimeoutRemaining = interruptTimeoutRemaining;
225
+ exports.isBrowseProfileApprovalInterrupt = isBrowseProfileApprovalInterrupt;
226
+ exports.isPmScheduleApprovalInterrupt = isPmScheduleApprovalInterrupt;
227
+ exports.isQuestionnaireInterrupt = isQuestionnaireInterrupt;
228
+ exports.isRequestFileInterrupt = isRequestFileInterrupt;
229
+ exports.isToolkitSelectionInterrupt = isToolkitSelectionInterrupt;
230
+ exports.isTypedApprovalInterrupt = isTypedApprovalInterrupt;
231
+ exports.isWaitForMinutesInterrupt = isWaitForMinutesInterrupt;
232
+ exports.questionnaireResume = questionnaireResume;
233
+ exports.readBrowseProfileApprovalContext = readBrowseProfileApprovalContext;
234
+ exports.readPmScheduleApprovalContext = readPmScheduleApprovalContext;
235
+ exports.readQuestionnaireContext = readQuestionnaireContext;
236
+ exports.readRequestFileContext = readRequestFileContext;
237
+ exports.readToolkitSelectionContext = readToolkitSelectionContext;
238
+ exports.readTypedHitlContext = readTypedHitlContext;
239
+ exports.readWaitForMinutesContext = readWaitForMinutesContext;
240
+ exports.requestFileResume = requestFileResume;
241
+ exports.stampTypedInterruptAnswer = stampTypedInterruptAnswer;
242
+ exports.stripInterruptTimeoutText = stripInterruptTimeoutText;
243
+ exports.toolkitSelectionResume = toolkitSelectionResume;
244
+ exports.typedAnswerLetsSomethingRun = typedAnswerLetsSomethingRun;
245
+ exports.typedApprovalResume = typedApprovalResume;
246
+ exports.typedInterruptCancel = typedInterruptCancel;
247
+ //# sourceMappingURL=typed-interrupt-kinds.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-interrupt-kinds.cjs","sources":["../../../../agent-runtime/src/typed-interrupt-kinds.ts"],"sourcesContent":["/**\n * What a typed card needs beyond the selector (`typed-interrupts.ts`): which\n * answers decide something only a person may decide (`isTypedApprovalInterrupt`),\n * the stamps the raiser's stale-resume check reads, the timer, and each kind's\n * context reader and resume, each mirroring its raiser\n * (`agora/services/interrupts/definitions.py`) and Olympus's\n * `config/interruptDefinitions.ts`.\n */\n\nimport {\n type TypedInterruptPayload,\n TypedInterruptSource,\n TypedInterruptType,\n} from './typed-interrupts';\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isOptional<T>(value: unknown, check: (candidate: unknown) => candidate is T): boolean {\n return value === undefined || check(value);\n}\n\nconst isString = (value: unknown): value is string => typeof value === 'string';\nconst isFiniteNumber = (value: unknown): value is number =>\n typeof value === 'number' && Number.isFinite(value);\n\n/**\n * The parks a person answers by approving: a tool-raised HITL approval (type\n * `hitl`), a project manager's schedule (standing work), a saved login the\n * agent asks to use, and toolkits it asks to turn on. A question the agent\n * asked (a form, a questionnaire, a file) is not: answering it decides\n * nothing. Mirrors agora's `answer_checks.is_typed_approval_interrupt`, which\n * holds an approving answer to a signed-in person (or, while checks are\n * enforced, a device key with a passkey check).\n */\nconst TYPED_APPROVAL_SOURCES: ReadonlySet<string> = new Set([\n TypedInterruptSource.PM_SCHEDULE_APPROVAL,\n TypedInterruptSource.BROWSE_PROFILE_APPROVAL,\n TypedInterruptSource.TOOLKIT_SELECTION,\n]);\n\nexport function isTypedApprovalInterrupt(payload: TypedInterruptPayload): boolean {\n return payload.type === TypedInterruptType.HITL || TYPED_APPROVAL_SOURCES.has(payload.source);\n}\n\n/**\n * What every typed raiser reads as running nothing: a reject, and the card's\n * cancel, which ends the interrupted operation (agora's\n * `TYPED_NON_RUNNING_ACTIONS`). Anything else, unreadable included, runs.\n */\nconst TYPED_NON_RUNNING_ACTIONS: ReadonlySet<string> = new Set(['reject', 'cancel']);\n\n/** Whether a typed answer lets anything run, as its raiser reads it (fails closed). */\nexport function typedAnswerLetsSomethingRun(value: unknown): boolean {\n if (!isRecord(value)) return true;\n return !(typeof value.action === 'string' && TYPED_NON_RUNNING_ACTIONS.has(value.action));\n}\n\n/** The keys the raiser's stale-resume check reads on an answer. */\nexport const TYPED_INTERRUPT_ID_KEY = '__interrupt_id__';\nexport const TYPED_INTERRUPT_INSTANCE_KEY = '__interrupt_instance_id__';\n\n/**\n * The answer as it leaves: the kind's resume value stamped with the park it\n * answers (`__interrupt_id__`, `__interrupt_instance_id__`) and serialized as\n * plain JSON, so an optional field a card left unset never reaches statewire\n * as `undefined` (an invalid document there).\n */\nexport function stampTypedInterruptAnswer({\n payload,\n value,\n}: {\n payload: TypedInterruptPayload;\n value: Readonly<Record<string, unknown>>;\n}): Record<string, unknown> {\n const stamped = {\n ...value,\n [TYPED_INTERRUPT_ID_KEY]: payload.source,\n [TYPED_INTERRUPT_INSTANCE_KEY]: payload.interrupt_instance_id,\n };\n const parsed: unknown = JSON.parse(JSON.stringify(stamped));\n return isRecord(parsed) ? parsed : {};\n}\n\n/** `{ action: 'cancel' }`: every typed raiser ends the interrupted operation (`FormCancelledError`). */\nexport function typedInterruptCancel(): Record<string, string> {\n return { action: 'cancel' };\n}\n\n// ── Timeouts ─────────────────────────────────────────────────────────────\n\n/** Whether the backend's timer answers this park for the person at a deadline. */\nexport function hasInterruptTimeout(payload: TypedInterruptPayload): boolean {\n return payload.timeout_seconds !== undefined && payload.timeout_at !== undefined;\n}\n\n/** Seconds until the backend's timer answers (never negative), or `null` without one. */\nexport function interruptTimeoutRemaining(\n payload: TypedInterruptPayload,\n now: number = Date.now(),\n): number | null {\n if (!payload.timeout_at) return null;\n const deadline = new Date(payload.timeout_at).getTime();\n if (Number.isNaN(deadline)) return null;\n return Math.max(0, (deadline - now) / 1000);\n}\n\n/**\n * The park's message without the raiser's `(timeout in 180s)` suffix, for\n * once the person stopped the timer and the card says \"take your time\".\n */\nexport function stripInterruptTimeoutText(message: string | null | undefined): string {\n if (!message) return '';\n return message.replace(/\\s*\\(timeout in \\d+s\\)/, '');\n}\n\n/**\n * The key a timed interrupt's draft is saved under: the one the backend's\n * timer worker checks before it fires (`_draft_interrupt_id_for_timeout`: the\n * park's `timeout_at`, else its source). A draft under any other key does not\n * hold the timer.\n */\nexport function interruptDraftId(payload: TypedInterruptPayload): string {\n return payload.timeout_at ?? payload.source;\n}\n\n// ── Kinds ────────────────────────────────────────────────────────────────\n\nfunction isCustomWithSource(payload: TypedInterruptPayload, source: string): boolean {\n return payload.type === TypedInterruptType.CUSTOM && payload.source === source;\n}\n\nconst isStringArray = (value: unknown): value is string[] =>\n Array.isArray(value) && value.every(isString);\n\nfunction optionalText(value: unknown): string | null {\n return isString(value) ? value : null;\n}\n\n/** The kinds of question the `ask` tool asks. */\nexport const QuestionType = {\n TEXT: 'text',\n YES_NO: 'yes_no',\n SINGLE_CHOICE: 'single_choice',\n MULTI_CHOICE: 'multi_choice',\n} as const;\n\nexport type QuestionType = (typeof QuestionType)[keyof typeof QuestionType];\n\nconst QUESTION_TYPES: ReadonlySet<string> = new Set(Object.values(QuestionType));\n\nexport interface TypedQuestion {\n readonly text: string;\n readonly type: QuestionType;\n readonly options: readonly string[];\n /** The answer the agent recommends (an option, or `yes` / `no`); also the timeout's answer. */\n readonly recommended: string | null;\n}\n\nexport interface QuestionnaireContext {\n /** The questionnaire's own title, when the agent gave one. */\n readonly title: string | null;\n readonly questions: readonly TypedQuestion[];\n}\n\nexport function isQuestionnaireInterrupt(payload: TypedInterruptPayload): boolean {\n return isCustomWithSource(payload, TypedInterruptSource.ASK_QUESTIONNAIRE);\n}\n\n/** The questions the `ask` tool parked on (`misc_tools.py`), in order. */\nexport function readQuestionnaireContext(payload: TypedInterruptPayload): QuestionnaireContext {\n const { context } = payload;\n const questions = Array.isArray(context.questions)\n ? context.questions.filter(isRecord).map(\n (question): TypedQuestion => ({\n text: isString(question.text) ? question.text : '',\n type:\n isString(question.type) && QUESTION_TYPES.has(question.type)\n ? (question.type as QuestionType)\n : QuestionType.TEXT,\n options: isStringArray(question.options) ? question.options : [],\n recommended: optionalText(question.recommended),\n }),\n )\n : [];\n return { title: optionalText(context.title), questions };\n}\n\n/** One answer of a questionnaire's resume (`QuestionnaireAnswer`). */\nexport interface QuestionnaireAnswer {\n readonly value: string;\n readonly comment: string | null;\n}\n\n/** The questionnaire's resume (`QuestionnaireResume`); an empty list is the card's cancel. */\nexport function questionnaireResume(answers: readonly QuestionnaireAnswer[]): Record<string, unknown> {\n return { answers: answers.map(({ value, comment }) => ({ value, comment })) };\n}\n\n/** One toolkit `toggle_toolkit` proposes (`agent_config_tools.py`). */\nexport interface ToolkitSelectionItem {\n readonly toolkit_id: string;\n readonly display_name: string;\n readonly description: string | null;\n /** The agent's reason it needs this toolkit, shown to the person. */\n readonly rationale: string | null;\n /** Tools this toolkit adds beyond those already on (the tool cap's headroom). */\n readonly added_tool_count?: number;\n}\n\nexport interface ToolkitSelectionContext {\n readonly action: 'enable' | 'disable';\n readonly toolkits: readonly ToolkitSelectionItem[];\n /** Tools already on and the run's cap (enable only), so the card warns before a breach. */\n readonly current_tool_count?: number;\n readonly max_tools?: number;\n}\n\nexport function isToolkitSelectionInterrupt(payload: TypedInterruptPayload): boolean {\n return isCustomWithSource(payload, TypedInterruptSource.TOOLKIT_SELECTION);\n}\n\nconst NO_TOOLKIT_SELECTION: ToolkitSelectionContext = { action: 'enable', toolkits: [] };\n\nfunction readToolkitItem(value: unknown): ToolkitSelectionItem | null {\n if (!isRecord(value) || !isString(value.toolkit_id) || !isString(value.display_name)) return null;\n const { description, rationale, added_tool_count: added } = value;\n if (\n (description != null && !isString(description)) ||\n (rationale != null && !isString(rationale)) ||\n !isOptional(added, isFiniteNumber)\n ) {\n return null;\n }\n return {\n toolkit_id: value.toolkit_id,\n display_name: value.display_name,\n description: optionalText(description),\n rationale: optionalText(rationale),\n ...(isFiniteNumber(added) ? { added_tool_count: added } : {}),\n };\n}\n\n/**\n * The toolkits `toggle_toolkit` asks to turn on or off. Read whole or not at\n * all, as Olympus's schema reads it: a malformed context is an empty enable.\n */\nexport function readToolkitSelectionContext(payload: TypedInterruptPayload): ToolkitSelectionContext {\n const { context } = payload;\n const { action, toolkits, total, current_tool_count: current, max_tools: max } = context;\n if (action !== 'enable' && action !== 'disable') return NO_TOOLKIT_SELECTION;\n if (!Array.isArray(toolkits)) return NO_TOOLKIT_SELECTION;\n if (\n !isOptional(total, isFiniteNumber) ||\n !isOptional(current, isFiniteNumber) ||\n !isOptional(max, isFiniteNumber)\n ) {\n return NO_TOOLKIT_SELECTION;\n }\n const items = toolkits.map(readToolkitItem);\n if (items.some((item) => item === null)) return NO_TOOLKIT_SELECTION;\n return {\n action,\n toolkits: items as ToolkitSelectionItem[],\n ...(isFiniteNumber(current) ? { current_tool_count: current } : {}),\n ...(isFiniteNumber(max) ? { max_tools: max } : {}),\n };\n}\n\n/** The toolkit selection's resume (`ToolkitSelectionResume`). */\nexport function toolkitSelectionResume({\n action,\n approvedToolkitIds,\n reason,\n}: {\n action: 'approve' | 'reject';\n approvedToolkitIds: readonly string[];\n reason?: string;\n}): Record<string, unknown> {\n return {\n action,\n approved_toolkit_ids: action === 'approve' ? [...approvedToolkitIds] : [],\n ...(reason ? { reason } : {}),\n };\n}\n\n/** One saved login the browse-profile gate asks to use (`browse_profile_gate_node.py`). */\nexport interface BrowseProfileApprovalProfile {\n readonly profile_asset_id: string;\n /** What the ordinary approve grants: `session` (this browser session) or `attempt` (this one action). */\n readonly approval_scope: string | null;\n}\n\nexport interface BrowseProfileApprovalContext {\n readonly profiles: readonly BrowseProfileApprovalProfile[];\n /** Stamped when every shown profile may be approved for the rest of the thread. */\n readonly sessionApprovalAllowed: boolean;\n}\n\nexport function isBrowseProfileApprovalInterrupt(payload: TypedInterruptPayload): boolean {\n return isCustomWithSource(payload, TypedInterruptSource.BROWSE_PROFILE_APPROVAL);\n}\n\nexport function readBrowseProfileApprovalContext(\n payload: TypedInterruptPayload,\n): BrowseProfileApprovalContext {\n const approval = payload.context.browse_profile_approval;\n if (!isRecord(approval)) return { profiles: [], sessionApprovalAllowed: false };\n const profiles = Array.isArray(approval.profiles)\n ? approval.profiles.flatMap((profile): BrowseProfileApprovalProfile[] =>\n isRecord(profile) && isString(profile.profile_asset_id)\n ? [\n {\n profile_asset_id: profile.profile_asset_id,\n approval_scope: optionalText(profile.approval_scope),\n },\n ]\n : [],\n )\n : [];\n return { profiles, sessionApprovalAllowed: approval.session_approval_allowed === true };\n}\n\n/** The browse-profile gate's resume (`BrowseProfileApprovalResume`). */\nexport function browseProfileApprovalResume({\n action,\n forSession = false,\n}: {\n action: 'approve' | 'reject';\n /** On an approve: stop asking about these profiles for the rest of the thread. */\n forSession?: boolean;\n}): Record<string, unknown> {\n return action === 'approve' && forSession ? { action, scope: 'session' } : { action };\n}\n\nexport function isPmScheduleApprovalInterrupt(payload: TypedInterruptPayload): boolean {\n return isCustomWithSource(payload, TypedInterruptSource.PM_SCHEDULE_APPROVAL);\n}\n\n/** The project manager schedule a person approves (`pm_tools.py`). */\nexport interface PmScheduleApprovalContext {\n /** `delete` for a deletion; anything else is a creation. */\n readonly action: string | null;\n /** The schedule's facts, in the card's order, by their context key. */\n readonly fields: readonly (readonly [key: string, value: string])[];\n}\n\nconst PM_SCHEDULE_FIELDS = [\n 'project_asset_id',\n 'cron',\n 'timezone',\n 'summary',\n 'scheduled_for',\n 'schedule_id',\n] as const;\n\nexport function readPmScheduleApprovalContext(payload: TypedInterruptPayload): PmScheduleApprovalContext {\n const { context } = payload;\n // Only the facts the schedule has, as Olympus's card lists them.\n const fields = PM_SCHEDULE_FIELDS.flatMap((key): (readonly [string, string])[] => {\n const value = context[key];\n return value ? [[key, String(value)]] : [];\n });\n return { action: optionalText(context.action), fields };\n}\n\n/** An approval's resume (`HITLResume`, `PMScheduleApprovalResume`): approve, or reject with a reason. */\nexport function typedApprovalResume({\n action,\n reason,\n}: {\n action: 'approve' | 'reject';\n reason?: string;\n}): Record<string, unknown> {\n return reason ? { action, reason } : { action };\n}\n\nexport function isWaitForMinutesInterrupt(payload: TypedInterruptPayload): boolean {\n return isCustomWithSource(payload, TypedInterruptSource.WAIT_FOR_MINUTES);\n}\n\n/** The wait `wait_for_minutes` announced (`misc_tools.py`). */\nexport interface WaitForMinutesContext {\n readonly minutes: number;\n readonly reason: string | null;\n /** The whole wait in seconds, when the raiser stamped it on the context. */\n readonly timeoutSeconds: number | null;\n}\n\n/**\n * Each field on its own: the raiser sends `reason: null` for a wait without\n * one, which must not lose the minutes.\n */\nexport function readWaitForMinutesContext(payload: TypedInterruptPayload): WaitForMinutesContext {\n const { minutes, reason, timeout_seconds: timeoutSeconds } = payload.context;\n return {\n minutes: isFiniteNumber(minutes) ? minutes : 0,\n reason: isString(reason) && reason ? reason : null,\n timeoutSeconds: isFiniteNumber(timeoutSeconds) ? timeoutSeconds : null,\n };\n}\n\nexport function isRequestFileInterrupt(payload: TypedInterruptPayload): boolean {\n return isCustomWithSource(payload, TypedInterruptSource.REQUEST_FILE);\n}\n\n/** What `request_file_from_user` asks for (`misc_tools.py`). */\nexport interface RequestFileContext {\n readonly prompt: string;\n readonly allowMultiple: boolean;\n}\n\nexport function readRequestFileContext(payload: TypedInterruptPayload): RequestFileContext {\n const { prompt, allow_multiple: allowMultiple } = payload.context;\n return {\n prompt: (isString(prompt) && prompt) || payload.message || 'Upload a file to continue.',\n allowMultiple: allowMultiple === true,\n };\n}\n\n/** One uploaded file of `request_file_from_user`'s resume (`RequestedFile`). */\nexport interface RequestedFile {\n readonly asset_id: string;\n readonly filename: string;\n /** The `[@title](link)` mention the agent can quote. */\n readonly mention: string | null;\n}\n\n/** The file request's resume (`RequestFileResume`). */\nexport function requestFileResume(files: readonly RequestedFile[]): Record<string, unknown> {\n return {\n files: files.map(({ asset_id, filename, mention }) => ({ asset_id, filename, mention })),\n };\n}\n\n/** The gated call of a tool-raised HITL approval (`raise_hitl_interrupt`). */\nexport interface TypedHitlContext {\n readonly toolId: string | null;\n readonly toolCallId: string | null;\n readonly toolArgs: Readonly<Record<string, unknown>>;\n /** What the backend resolved about the call before asking (`approval_context`). */\n readonly approvalContext: unknown;\n}\n\nexport function readTypedHitlContext(payload: TypedInterruptPayload): TypedHitlContext {\n const { context } = payload;\n return {\n toolId: optionalText(context.tool_id),\n toolCallId: optionalText(context.tool_call_id),\n toolArgs: isRecord(context.tool_args) ? context.tool_args : {},\n approvalContext: context.approval_context,\n };\n}\n"],"names":["TypedInterruptSource","TypedInterruptType"],"mappings":"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"}