@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
@@ -0,0 +1,394 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactQuery = require("@tanstack/react-query");
4
+ const require$$0 = require("react");
5
+ const AthenaAuthContext = require("../auth/AthenaAuthContext.cjs");
6
+ const apiClient = require("../chat-ui/mentions/suggestions/data/api-client.cjs");
7
+ const useAccountWorkspaceId = require("../chat-ui/mentions/use-account-workspace-id.cjs");
8
+ const useAthenaRestQuery = require("../lib/use-athena-rest-query.cjs");
9
+ const AthenaContext = require("../provider/AthenaContext.cjs");
10
+ const AthenaAssetOrder = {
11
+ /**
12
+ * The best title match first (agora's `RELEVANCE`: the title is the words, starts with them,
13
+ * holds them…), then the newest change. An agora from before that order answers by the newest
14
+ * change instead.
15
+ */
16
+ BestMatch: "best-match",
17
+ /** The newest change first. */
18
+ NewestChange: "newest-change"
19
+ };
20
+ const ATHENA_RECENT_ASSETS_NOT_TYPES = [
21
+ "folder",
22
+ "email_message",
23
+ "session",
24
+ "catalog"
25
+ ];
26
+ const ATHENA_SUB_ASSET_MEDIA_TYPES = [
27
+ "athena/meeting_transcript",
28
+ "athena/meeting_transcript_formatted",
29
+ "athena/meeting_recording",
30
+ "athena/meeting_chat_transcript",
31
+ "athena/browse_session_recording"
32
+ ];
33
+ function athenaAssetSearchInput({
34
+ query,
35
+ sortField
36
+ }) {
37
+ var _a, _b;
38
+ const filterColumns = { isArchived: false, isHidden: false };
39
+ if (query.favorites) filterColumns.isFavorited = true;
40
+ if ((_a = query.createdBy) == null ? void 0 : _a.length) filterColumns.createdBy = [...query.createdBy];
41
+ if ((_b = query.notMediaTypes) == null ? void 0 : _b.length) filterColumns.notMediaType = [...query.notMediaTypes];
42
+ return {
43
+ searchRequest: {
44
+ query: query.words.trim(),
45
+ type: [...query.types ?? []],
46
+ notType: [...query.notTypes ?? []],
47
+ limit: query.limit,
48
+ offset: query.offset ?? 0
49
+ },
50
+ returnFullAsset: true,
51
+ shouldCalculateTotal: false,
52
+ sort: { field: sortField, direction: "DESC" },
53
+ filterColumns
54
+ };
55
+ }
56
+ const BAD_USER_INPUT = "BAD_USER_INPUT";
57
+ function refusedInput(error) {
58
+ return Reflect.get(Object(error), "code") === BAD_USER_INPUT;
59
+ }
60
+ async function searchAthenaAssets({
61
+ auth,
62
+ query,
63
+ signal
64
+ }) {
65
+ const ask = async (sortField) => {
66
+ var _a;
67
+ const data = await apiClient.fetchGraphQL(
68
+ auth,
69
+ apiClient.SIMPLE_SEARCH_QUERY,
70
+ { input: athenaAssetSearchInput({ query, sortField }) },
71
+ { signal }
72
+ );
73
+ return ((_a = data.simpleSearch) == null ? void 0 : _a.assets) ?? [];
74
+ };
75
+ if (query.order === AthenaAssetOrder.NewestChange) return ask("UPDATED_AT");
76
+ try {
77
+ return await ask("RELEVANCE");
78
+ } catch (error) {
79
+ if (!refusedInput(error)) throw error;
80
+ return ask("UPDATED_AT");
81
+ }
82
+ }
83
+ const REFUSED_STATUSES = /* @__PURE__ */ new Set([400, 401, 403, 404]);
84
+ const REFUSED_CODES = /* @__PURE__ */ new Set([BAD_USER_INPUT, "UNAUTHORIZED", "FORBIDDEN"]);
85
+ function retryTransient(failureCount, error) {
86
+ const status = Reflect.get(error, "status");
87
+ const code = Reflect.get(error, "code");
88
+ if (typeof status === "number" && REFUSED_STATUSES.has(status)) return false;
89
+ if (typeof code === "string" && REFUSED_CODES.has(code)) return false;
90
+ return failureCount < 1;
91
+ }
92
+ function useAssetReadAuth() {
93
+ var _a, _b;
94
+ const config = AthenaContext.useAthenaConfig();
95
+ const userId = (_b = (_a = require$$0.useContext(AthenaAuthContext.AthenaAuthContext)) == null ? void 0 : _a.user) == null ? void 0 : _b.userId;
96
+ return require$$0.useMemo(
97
+ () => ({
98
+ backendUrl: config.backendUrl,
99
+ appUrl: config.appUrl,
100
+ apiKey: config.apiKey,
101
+ credentials: "include",
102
+ userId,
103
+ get accessToken() {
104
+ return config.token ?? void 0;
105
+ },
106
+ getAccessToken: async () => {
107
+ var _a2;
108
+ return await ((_a2 = config.getToken) == null ? void 0 : _a2.call(config)) ?? void 0;
109
+ },
110
+ renewAccessToken: async () => {
111
+ var _a2;
112
+ return await ((_a2 = config.getToken) == null ? void 0 : _a2.call(config, { force: true })) ?? void 0;
113
+ }
114
+ }),
115
+ [config, userId]
116
+ );
117
+ }
118
+ const ASSET_READ_FRESH_MS = 3e4;
119
+ function useAssetRead({
120
+ name,
121
+ query,
122
+ enabled
123
+ }) {
124
+ const config = AthenaContext.useAthenaConfig();
125
+ const auth = useAssetReadAuth();
126
+ const identity = useAthenaRestQuery.useAthenaQueryIdentity({
127
+ apiKey: config.apiKey,
128
+ token: config.token,
129
+ getToken: config.getToken
130
+ });
131
+ return reactQuery.useQuery(
132
+ {
133
+ queryKey: ["athena-sdk", "assets", name, config.backendUrl, ...identity, query],
134
+ queryFn: ({ signal }) => searchAthenaAssets({ auth, query, signal }),
135
+ enabled: enabled && config.backendUrl.length > 0,
136
+ staleTime: ASSET_READ_FRESH_MS,
137
+ retry: retryTransient,
138
+ refetchOnWindowFocus: false
139
+ },
140
+ useAthenaRestQuery.useAthenaQueryClient()
141
+ );
142
+ }
143
+ function useAthenaAssetSearch({
144
+ words,
145
+ limit = 8,
146
+ notTypes = [],
147
+ enabled = true
148
+ }) {
149
+ const trimmed = words.trim();
150
+ return useAssetRead({
151
+ name: "search",
152
+ query: { words: trimmed, limit, notTypes, order: AthenaAssetOrder.BestMatch },
153
+ enabled: enabled && trimmed.length > 0
154
+ });
155
+ }
156
+ function useAthenaRecentAssets({
157
+ limit = 8,
158
+ enabled = true
159
+ } = {}) {
160
+ const config = AthenaContext.useAthenaConfig();
161
+ const { userId } = useAccountWorkspaceId.useAccountIdentity(useAssetReadAuth(), { tokenGetter: config.getToken });
162
+ return useAssetRead({
163
+ name: "recent",
164
+ query: {
165
+ words: "",
166
+ limit,
167
+ notTypes: ATHENA_RECENT_ASSETS_NOT_TYPES,
168
+ notMediaTypes: ATHENA_SUB_ASSET_MEDIA_TYPES,
169
+ createdBy: userId ? [userId] : [],
170
+ order: AthenaAssetOrder.NewestChange
171
+ },
172
+ enabled: enabled && userId !== void 0
173
+ });
174
+ }
175
+ function useAthenaFavoriteAssets({
176
+ limit = 8,
177
+ notTypes = [],
178
+ enabled = true
179
+ } = {}) {
180
+ return useAssetRead({
181
+ name: "favorites",
182
+ query: { words: "", limit, favorites: true, notTypes, order: AthenaAssetOrder.NewestChange },
183
+ enabled
184
+ });
185
+ }
186
+ function useAthenaProjects({
187
+ limit = 20,
188
+ enabled = true
189
+ } = {}) {
190
+ return useAssetRead({
191
+ name: "projects",
192
+ query: { words: "", limit, types: ["project"], order: AthenaAssetOrder.NewestChange },
193
+ enabled
194
+ });
195
+ }
196
+ const FOLDER_LEFT_OUT = /* @__PURE__ */ new Set(["session", "catalog"]);
197
+ function shownInFolder(asset) {
198
+ return !FOLDER_LEFT_OUT.has(asset.athenaOriginalType ?? "");
199
+ }
200
+ function filedIn(asset, folderId) {
201
+ return (asset.parentFolderId ?? null) === folderId && asset.isHidden !== true;
202
+ }
203
+ function athenaFolderPageOf({
204
+ rows,
205
+ folderId,
206
+ limit,
207
+ offset
208
+ }) {
209
+ const own = rows.slice(0, limit).filter((asset) => filedIn(asset, folderId));
210
+ const seen = /* @__PURE__ */ new Set();
211
+ const assets = own.filter((asset) => {
212
+ if (seen.has(asset.id) || !shownInFolder(asset)) return false;
213
+ seen.add(asset.id);
214
+ return true;
215
+ });
216
+ return { assets, next: own.length >= limit ? offset + limit : null };
217
+ }
218
+ async function listAthenaFolder({
219
+ auth,
220
+ folderId,
221
+ limit,
222
+ offset,
223
+ signal
224
+ }) {
225
+ const data = await apiClient.fetchGraphQL(
226
+ auth,
227
+ apiClient.PAGINATED_ASSETS_QUERY,
228
+ {
229
+ limit,
230
+ offset,
231
+ parentFolderId: folderId,
232
+ filterTypes: null,
233
+ filterColumns: { isArchived: false, isHidden: false }
234
+ },
235
+ { signal }
236
+ );
237
+ return athenaFolderPageOf({
238
+ rows: data.getPaginatedAssetsForWorkspace ?? [],
239
+ folderId,
240
+ limit,
241
+ offset
242
+ });
243
+ }
244
+ function oncePerAsset(data) {
245
+ const seen = /* @__PURE__ */ new Set();
246
+ return {
247
+ ...data,
248
+ pages: data.pages.map((page) => ({
249
+ ...page,
250
+ assets: page.assets.filter((asset) => {
251
+ if (seen.has(asset.id)) return false;
252
+ seen.add(asset.id);
253
+ return true;
254
+ })
255
+ }))
256
+ };
257
+ }
258
+ function useAthenaFolderAssets({
259
+ folderId,
260
+ pageSize = 50,
261
+ enabled = true
262
+ }) {
263
+ const config = AthenaContext.useAthenaConfig();
264
+ const auth = useAssetReadAuth();
265
+ const identity = useAthenaRestQuery.useAthenaQueryIdentity({
266
+ apiKey: config.apiKey,
267
+ token: config.token,
268
+ getToken: config.getToken
269
+ });
270
+ return reactQuery.useInfiniteQuery(
271
+ {
272
+ queryKey: [
273
+ "athena-sdk",
274
+ "assets",
275
+ "folder",
276
+ config.backendUrl,
277
+ ...identity,
278
+ folderId,
279
+ pageSize
280
+ ],
281
+ queryFn: ({ pageParam, signal }) => listAthenaFolder({
282
+ auth,
283
+ folderId,
284
+ limit: pageSize,
285
+ offset: typeof pageParam === "number" ? pageParam : 0,
286
+ signal
287
+ }),
288
+ initialPageParam: 0,
289
+ getNextPageParam: (last) => last.next ?? void 0,
290
+ select: oncePerAsset,
291
+ enabled: enabled && config.backendUrl.length > 0,
292
+ staleTime: ASSET_READ_FRESH_MS,
293
+ retry: retryTransient,
294
+ refetchOnWindowFocus: false
295
+ },
296
+ useAthenaRestQuery.useAthenaQueryClient()
297
+ );
298
+ }
299
+ function useAthenaAssetsRefresh() {
300
+ const config = AthenaContext.useAthenaConfig();
301
+ const identity = useAthenaRestQuery.useAthenaQueryIdentity({
302
+ apiKey: config.apiKey,
303
+ token: config.token,
304
+ getToken: config.getToken
305
+ });
306
+ const queryClient = useAthenaRestQuery.useAthenaQueryClient();
307
+ return () => queryClient.invalidateQueries({
308
+ predicate: ({ queryKey }) => queryKey[0] === "athena-sdk" && queryKey[1] === "assets" && queryKey[3] === config.backendUrl && identity.every((part, at) => Object.is(queryKey[4 + at], part))
309
+ });
310
+ }
311
+ const PROJECT_ASSETS_QUERY = `
312
+ query AthenaProjectAssets($projectId: String!, $first: Int!, $after: String) {
313
+ getProjectLinkedAssetsPaginated(projectId: $projectId, first: $first, after: $after) {
314
+ hasNextPage
315
+ nextCursor
316
+ items {
317
+ asset {
318
+ ${apiClient.MENTION_ASSET_FIELDS}
319
+ }
320
+ }
321
+ }
322
+ }
323
+ `;
324
+ async function listAthenaProjectAssets({
325
+ auth,
326
+ projectId,
327
+ first,
328
+ after,
329
+ signal
330
+ }) {
331
+ const data = await apiClient.fetchGraphQL(auth, PROJECT_ASSETS_QUERY, { projectId, first, after }, { signal });
332
+ const page = data.getProjectLinkedAssetsPaginated;
333
+ return {
334
+ assets: ((page == null ? void 0 : page.items) ?? []).map((item) => item.asset).filter(shownInFolder),
335
+ next: (page == null ? void 0 : page.hasNextPage) && page.nextCursor ? page.nextCursor : null
336
+ };
337
+ }
338
+ function useAthenaProjectAssets({
339
+ projectId,
340
+ pageSize = 20,
341
+ enabled = true
342
+ }) {
343
+ const config = AthenaContext.useAthenaConfig();
344
+ const auth = useAssetReadAuth();
345
+ const identity = useAthenaRestQuery.useAthenaQueryIdentity({
346
+ apiKey: config.apiKey,
347
+ token: config.token,
348
+ getToken: config.getToken
349
+ });
350
+ return reactQuery.useInfiniteQuery(
351
+ {
352
+ queryKey: [
353
+ "athena-sdk",
354
+ "assets",
355
+ "project",
356
+ config.backendUrl,
357
+ ...identity,
358
+ projectId,
359
+ pageSize
360
+ ],
361
+ queryFn: ({ pageParam, signal }) => listAthenaProjectAssets({
362
+ auth,
363
+ projectId,
364
+ first: pageSize,
365
+ after: typeof pageParam === "string" ? pageParam : null,
366
+ signal
367
+ }),
368
+ initialPageParam: null,
369
+ getNextPageParam: (last) => last.next ?? void 0,
370
+ enabled: enabled && config.backendUrl.length > 0,
371
+ staleTime: ASSET_READ_FRESH_MS,
372
+ retry: retryTransient,
373
+ refetchOnWindowFocus: false
374
+ },
375
+ useAthenaRestQuery.useAthenaQueryClient()
376
+ );
377
+ }
378
+ exports.ATHENA_RECENT_ASSETS_NOT_TYPES = ATHENA_RECENT_ASSETS_NOT_TYPES;
379
+ exports.ATHENA_SUB_ASSET_MEDIA_TYPES = ATHENA_SUB_ASSET_MEDIA_TYPES;
380
+ exports.AthenaAssetOrder = AthenaAssetOrder;
381
+ exports.PROJECT_ASSETS_QUERY = PROJECT_ASSETS_QUERY;
382
+ exports.athenaAssetSearchInput = athenaAssetSearchInput;
383
+ exports.athenaFolderPageOf = athenaFolderPageOf;
384
+ exports.listAthenaFolder = listAthenaFolder;
385
+ exports.listAthenaProjectAssets = listAthenaProjectAssets;
386
+ exports.searchAthenaAssets = searchAthenaAssets;
387
+ exports.useAthenaAssetSearch = useAthenaAssetSearch;
388
+ exports.useAthenaAssetsRefresh = useAthenaAssetsRefresh;
389
+ exports.useAthenaFavoriteAssets = useAthenaFavoriteAssets;
390
+ exports.useAthenaFolderAssets = useAthenaFolderAssets;
391
+ exports.useAthenaProjectAssets = useAthenaProjectAssets;
392
+ exports.useAthenaProjects = useAthenaProjects;
393
+ exports.useAthenaRecentAssets = useAthenaRecentAssets;
394
+ //# sourceMappingURL=useAthenaAssets.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAthenaAssets.cjs","sources":["../../src/search/useAthenaAssets.ts"],"sourcesContent":["/**\n * Finding the assets the signed-in person may open, the way Athena on the web's ⌘K box and its\n * sidebar find them: a title search, the person's recent work (what they created, newest change\n * first: the sidebar's \"Your Recents\") and their favourites. Every read is agora's `simpleSearch`\n * (`SIMPLE_SEARCH_QUERY`, the query the composer's @-mentions send), which agora answers under the\n * workspace's read gate (`search_visibility`, built on `asset_access_query`): only assets the\n * caller may open come back, never a hidden one, and never an archived one here. The hooks read\n * through TanStack Query on the host's client (the session list's when the provider has one), so\n * they wait while Athena can't be reached, as the SDK's other reads do.\n */\nimport {\n type InfiniteData,\n useInfiniteQuery,\n type UseInfiniteQueryResult,\n useQuery,\n type UseQueryResult,\n} from '@tanstack/react-query';\nimport { useContext, useMemo } from 'react';\nimport { AthenaAuthContext } from '../auth/AthenaAuthContext';\nimport {\n type AssetResult,\n fetchGraphQL,\n MENTION_ASSET_FIELDS,\n type MentionAuthContext,\n PAGINATED_ASSETS_QUERY,\n SIMPLE_SEARCH_QUERY,\n} from '../chat-ui/mentions/suggestions/data/api-client';\nimport { useAccountIdentity } from '../chat-ui/mentions/use-account-workspace-id';\nimport { useAthenaQueryClient, useAthenaQueryIdentity } from '../lib/use-athena-rest-query';\nimport { useAthenaConfig } from '../provider/AthenaContext';\n\n/** An asset as these reads answer it: what a row needs to draw it and open it. */\nexport type AthenaAssetSummary = AssetResult;\n\n/** The order a read asks agora for. */\nexport const AthenaAssetOrder = {\n /**\n * The best title match first (agora's `RELEVANCE`: the title is the words, starts with them,\n * holds them…), then the newest change. An agora from before that order answers by the newest\n * change instead.\n */\n BestMatch: 'best-match',\n /** The newest change first. */\n NewestChange: 'newest-change',\n} as const;\nexport type AthenaAssetOrder = (typeof AthenaAssetOrder)[keyof typeof AthenaAssetOrder];\n\n/** One read of the assets the person may open. */\nexport interface AthenaAssetQuery {\n /** Words the title holds; empty lists without words. */\n words: string;\n limit: number;\n offset?: number;\n /** Only assets of these types (agora's asset type values: `spreadsheet`, `folder`…). */\n types?: readonly string[];\n /** Leave out assets of these types. */\n notTypes?: readonly string[];\n /** Leave out the sub-assets of these media types (a meeting's transcript files). */\n notMediaTypes?: readonly string[];\n /** Only the person's favourites. */\n favorites?: boolean;\n /** Only the assets these agora users created (`user_…`). */\n createdBy?: readonly string[];\n order: AthenaAssetOrder;\n}\n\n/** The sort field agora's `SortField` names for an order. */\ntype AssetSortField = 'RELEVANCE' | 'UPDATED_AT';\n\n/**\n * What \"Your Recents\" leaves out, as Athena on the web's sidebar does (`useYourRecents`): folders,\n * emails, conversations and catalogs.\n */\nexport const ATHENA_RECENT_ASSETS_NOT_TYPES: readonly string[] = [\n 'folder',\n 'email_message',\n 'session',\n 'catalog',\n];\n\n/**\n * The files a meeting or a browse session keeps beside itself (its transcripts, its recording),\n * which Athena on the web never lists among the person's own (`HIDDEN_SUB_ASSET_MEDIA_TYPES`).\n */\nexport const ATHENA_SUB_ASSET_MEDIA_TYPES: readonly string[] = [\n 'athena/meeting_transcript',\n 'athena/meeting_transcript_formatted',\n 'athena/meeting_recording',\n 'athena/meeting_chat_transcript',\n 'athena/browse_session_recording',\n];\n\n/** `simpleSearch`'s `input` for a read, sorted by `sortField`. */\nexport function athenaAssetSearchInput({\n query,\n sortField,\n}: {\n query: AthenaAssetQuery;\n sortField: AssetSortField;\n}): Record<string, unknown> {\n const filterColumns: Record<string, unknown> = { isArchived: false, isHidden: false };\n if (query.favorites) filterColumns.isFavorited = true;\n if (query.createdBy?.length) filterColumns.createdBy = [...query.createdBy];\n if (query.notMediaTypes?.length) filterColumns.notMediaType = [...query.notMediaTypes];\n return {\n searchRequest: {\n query: query.words.trim(),\n type: [...(query.types ?? [])],\n notType: [...(query.notTypes ?? [])],\n limit: query.limit,\n offset: query.offset ?? 0,\n },\n returnFullAsset: true,\n shouldCalculateTotal: false,\n sort: { field: sortField, direction: 'DESC' },\n filterColumns,\n };\n}\n\n/** The `extensions.code` agora answers a GraphQL input it cannot read with. */\nconst BAD_USER_INPUT = 'BAD_USER_INPUT';\n\n/** Whether agora refused the request's inputs (an older agora reading a newer value). */\nfunction refusedInput(error: unknown): boolean {\n return Reflect.get(Object(error), 'code') === BAD_USER_INPUT;\n}\n\n/**\n * One read (`simpleSearch`). `BestMatch` asks agora for `RELEVANCE`; an agora that predates it\n * refuses the value as bad input, and is asked once more by the newest change. Any other failure\n * stands.\n */\nexport async function searchAthenaAssets({\n auth,\n query,\n signal,\n}: {\n auth: MentionAuthContext;\n query: AthenaAssetQuery;\n signal?: AbortSignal;\n}): Promise<AthenaAssetSummary[]> {\n const ask = async (sortField: AssetSortField) => {\n const data = await fetchGraphQL<{\n simpleSearch: { assets: AssetResult[] | null } | null;\n }>(\n auth,\n SIMPLE_SEARCH_QUERY,\n { input: athenaAssetSearchInput({ query, sortField }) },\n { signal },\n );\n return data.simpleSearch?.assets ?? [];\n };\n if (query.order === AthenaAssetOrder.NewestChange) return ask('UPDATED_AT');\n try {\n return await ask('RELEVANCE');\n } catch (error) {\n if (!refusedInput(error)) throw error;\n return ask('UPDATED_AT');\n }\n}\n\n/** Statuses and codes that answer the same way again: never retried. */\nconst REFUSED_STATUSES: ReadonlySet<number> = new Set([400, 401, 403, 404]);\nconst REFUSED_CODES: ReadonlySet<string> = new Set([BAD_USER_INPUT, 'UNAUTHORIZED', 'FORBIDDEN']);\n\n/** A transient failure is read once more; a refusal is not. */\nfunction retryTransient(failureCount: number, error: Error): boolean {\n const status: unknown = Reflect.get(error, 'status');\n const code: unknown = Reflect.get(error, 'code');\n if (typeof status === 'number' && REFUSED_STATUSES.has(status)) return false;\n if (typeof code === 'string' && REFUSED_CODES.has(code)) return false;\n return failureCount < 1;\n}\n\n/**\n * The provider's credential as agora's GraphQL reads take it: the same shape the chat's\n * @-mentions read with (`AthenaChat`), so a host adds no other path for its key or token.\n */\nfunction useAssetReadAuth(): MentionAuthContext {\n const config = useAthenaConfig();\n const userId = useContext(AthenaAuthContext)?.user?.userId;\n return useMemo<MentionAuthContext>(\n () => ({\n backendUrl: config.backendUrl,\n appUrl: config.appUrl,\n apiKey: config.apiKey,\n credentials: 'include',\n userId,\n get accessToken() {\n return config.token ?? undefined;\n },\n getAccessToken: async () => (await config.getToken?.()) ?? undefined,\n renewAccessToken: async () => (await config.getToken?.({ force: true })) ?? undefined,\n }),\n [config, userId],\n );\n}\n\n/** How long an answer serves another read of the same assets before agora is asked again. */\nconst ASSET_READ_FRESH_MS = 30_000;\n\n/**\n * A read through TanStack Query, keyed by the request, the backend, the signed-in principal and\n * a fingerprint of the credential (`useAthenaQueryIdentity`), never the credential itself.\n */\nfunction useAssetRead({\n name,\n query,\n enabled,\n}: {\n name: string;\n query: AthenaAssetQuery;\n enabled: boolean;\n}): UseQueryResult<AthenaAssetSummary[], Error> {\n const config = useAthenaConfig();\n const auth = useAssetReadAuth();\n const identity = useAthenaQueryIdentity({\n apiKey: config.apiKey,\n token: config.token,\n getToken: config.getToken,\n });\n return useQuery(\n {\n queryKey: ['athena-sdk', 'assets', name, config.backendUrl, ...identity, query],\n queryFn: ({ signal }) => searchAthenaAssets({ auth, query, signal }),\n enabled: enabled && config.backendUrl.length > 0,\n staleTime: ASSET_READ_FRESH_MS,\n retry: retryTransient,\n refetchOnWindowFocus: false,\n },\n useAthenaQueryClient(),\n );\n}\n\nexport interface UseAthenaAssetSearchOptions {\n /** The words; blank holds the read idle. */\n words: string;\n /** At most this many, the best match first. Default 8. */\n limit?: number;\n /** Leave out assets of these types (`session`, `catalog`…). */\n notTypes?: readonly string[];\n /** `false` holds the read idle. Default `true`. */\n enabled?: boolean;\n}\n\n/**\n * The assets whose title holds the words, the best match first, as Athena on the web's ⌘K box\n * ranks them.\n */\nexport function useAthenaAssetSearch({\n words,\n limit = 8,\n notTypes = [],\n enabled = true,\n}: UseAthenaAssetSearchOptions): UseQueryResult<AthenaAssetSummary[], Error> {\n const trimmed = words.trim();\n return useAssetRead({\n name: 'search',\n query: { words: trimmed, limit, notTypes, order: AthenaAssetOrder.BestMatch },\n enabled: enabled && trimmed.length > 0,\n });\n}\n\nexport interface UseAthenaAssetListOptions {\n /** At most this many, the newest change first. Default 8. */\n limit?: number;\n /** `false` holds the read idle. Default `true`. */\n enabled?: boolean;\n}\n\n/**\n * The person's recent work, as Athena on the web's sidebar lists it (\"Your Recents\"): what they\n * created, the newest change first, without folders, emails, conversations, catalogs or a\n * meeting's own files. It waits for agora to say who the credential is (`/api/v0/me`, the read the\n * chat shares).\n */\nexport function useAthenaRecentAssets({\n limit = 8,\n enabled = true,\n}: UseAthenaAssetListOptions = {}): UseQueryResult<AthenaAssetSummary[], Error> {\n const config = useAthenaConfig();\n const { userId } = useAccountIdentity(useAssetReadAuth(), { tokenGetter: config.getToken });\n return useAssetRead({\n name: 'recent',\n query: {\n words: '',\n limit,\n notTypes: ATHENA_RECENT_ASSETS_NOT_TYPES,\n notMediaTypes: ATHENA_SUB_ASSET_MEDIA_TYPES,\n createdBy: userId ? [userId] : [],\n order: AthenaAssetOrder.NewestChange,\n },\n enabled: enabled && userId !== undefined,\n });\n}\n\nexport interface UseAthenaFavoriteAssetsOptions extends UseAthenaAssetListOptions {\n /** Leave out favourites of these types (`session`…). */\n notTypes?: readonly string[];\n}\n\n/** The person's favourites, from every folder, the newest change first. */\nexport function useAthenaFavoriteAssets({\n limit = 8,\n notTypes = [],\n enabled = true,\n}: UseAthenaFavoriteAssetsOptions = {}): UseQueryResult<AthenaAssetSummary[], Error> {\n return useAssetRead({\n name: 'favorites',\n query: { words: '', limit, favorites: true, notTypes, order: AthenaAssetOrder.NewestChange },\n enabled,\n });\n}\n\nexport type UseAthenaProjectsOptions = UseAthenaAssetListOptions;\n\n/**\n * The projects the person can open, the newest change first, as Athena on the web's Projects index\n * lists them.\n */\nexport function useAthenaProjects({\n limit = 20,\n enabled = true,\n}: UseAthenaProjectsOptions = {}): UseQueryResult<AthenaAssetSummary[], Error> {\n return useAssetRead({\n name: 'projects',\n query: { words: '', limit, types: ['project'], order: AthenaAssetOrder.NewestChange },\n enabled,\n });\n}\n\n/**\n * What a folder holds that these lists leave out: conversations and catalogs (agora's listing\n * already leaves conversations out; a catalog is a connection, not a file).\n */\nconst FOLDER_LEFT_OUT: ReadonlySet<string> = new Set(['session', 'catalog']);\n\nfunction shownInFolder(asset: AthenaAssetSummary): boolean {\n return !FOLDER_LEFT_OUT.has(asset.athenaOriginalType ?? '');\n}\n\n/** One page of a listing: the assets shown, and whether agora has more. */\nexport interface AthenaAssetPage {\n assets: AthenaAssetSummary[];\n /** Where the next page starts (agora's offset or cursor); `null` at the end. */\n next: number | string | null;\n}\n\n/**\n * Whether a row of agora's folder listing is one of the folder's own: agora reads a page of the\n * folder's own rows (filed in it, not hidden) and then appends each listed meeting's transcript and\n * video and each listed catalog's children, wherever those are filed.\n */\nfunction filedIn(asset: AthenaAssetSummary, folderId: string | null): boolean {\n return (asset.parentFolderId ?? null) === folderId && asset.isHidden !== true;\n}\n\n/**\n * The page a folder listing's rows make: the folder's own rows, without conversations or catalogs.\n * agora's own rows come first, `limit` of them at most, and the rows it appends follow, so only the\n * first `limit` rows can be the folder's own; a full page of them means another may follow, at\n * `offset + limit` (never at the rows' count, which the appended rows would push past rows not yet\n * read).\n */\nexport function athenaFolderPageOf({\n rows,\n folderId,\n limit,\n offset,\n}: {\n rows: readonly AthenaAssetSummary[];\n folderId: string | null;\n limit: number;\n offset: number;\n}): AthenaAssetPage {\n const own = rows.slice(0, limit).filter((asset) => filedIn(asset, folderId));\n const seen = new Set<string>();\n const assets = own.filter((asset) => {\n if (seen.has(asset.id) || !shownInFolder(asset)) return false;\n seen.add(asset.id);\n return true;\n });\n return { assets, next: own.length >= limit ? offset + limit : null };\n}\n\n/**\n * One page of a folder's children, or the workspace's top level for `folderId: null` (agora's\n * `getPaginatedAssetsForWorkspace`, gated by `asset_access_query`): folders first, then the newest\n * change, without conversations or catalogs (`athenaFolderPageOf`).\n */\nexport async function listAthenaFolder({\n auth,\n folderId,\n limit,\n offset,\n signal,\n}: {\n auth: MentionAuthContext;\n /** The folder, or `null` for the workspace's top level. */\n folderId: string | null;\n limit: number;\n offset: number;\n signal?: AbortSignal;\n}): Promise<AthenaAssetPage> {\n const data = await fetchGraphQL<{ getPaginatedAssetsForWorkspace: AssetResult[] | null }>(\n auth,\n PAGINATED_ASSETS_QUERY,\n {\n limit,\n offset,\n parentFolderId: folderId,\n filterTypes: null,\n filterColumns: { isArchived: false, isHidden: false },\n },\n { signal },\n );\n return athenaFolderPageOf({\n rows: data.getPaginatedAssetsForWorkspace ?? [],\n folderId,\n limit,\n offset,\n });\n}\n\nexport interface UseAthenaFolderAssetsOptions {\n /** The folder, or `null` for the workspace's top level. */\n folderId: string | null;\n /** How many to read a page. Default 50. */\n pageSize?: number;\n /** `false` holds the read idle. Default `true`. */\n enabled?: boolean;\n}\n\n/**\n * Each asset once across the pages read so far: a row agora appended to one page (a catalog's\n * child filed in the same folder) can also be one of the folder's own on another.\n */\nfunction oncePerAsset(data: InfiniteData<AthenaAssetPage>): InfiniteData<AthenaAssetPage> {\n const seen = new Set<string>();\n return {\n ...data,\n pages: data.pages.map((page) => ({\n ...page,\n assets: page.assets.filter((asset) => {\n if (seen.has(asset.id)) return false;\n seen.add(asset.id);\n return true;\n }),\n })),\n };\n}\n\n/**\n * A folder's children (or the workspace's top level), a page at a time (`fetchNextPage`), without\n * conversations or catalogs. Keyed by the folder and the credential's fingerprint, never the\n * credential.\n */\nexport function useAthenaFolderAssets({\n folderId,\n pageSize = 50,\n enabled = true,\n}: UseAthenaFolderAssetsOptions): UseInfiniteQueryResult<InfiniteData<AthenaAssetPage>, Error> {\n const config = useAthenaConfig();\n const auth = useAssetReadAuth();\n const identity = useAthenaQueryIdentity({\n apiKey: config.apiKey,\n token: config.token,\n getToken: config.getToken,\n });\n return useInfiniteQuery(\n {\n queryKey: [\n 'athena-sdk',\n 'assets',\n 'folder',\n config.backendUrl,\n ...identity,\n folderId,\n pageSize,\n ],\n queryFn: ({ pageParam, signal }) =>\n listAthenaFolder({\n auth,\n folderId,\n limit: pageSize,\n offset: typeof pageParam === 'number' ? pageParam : 0,\n signal,\n }),\n initialPageParam: 0 as number | string,\n getNextPageParam: (last: AthenaAssetPage) => last.next ?? undefined,\n select: oncePerAsset,\n enabled: enabled && config.backendUrl.length > 0,\n staleTime: ASSET_READ_FRESH_MS,\n retry: retryTransient,\n refetchOnWindowFocus: false,\n },\n useAthenaQueryClient(),\n );\n}\n\n/**\n * Has every asset read of the provider in use read again (the title search, recent work,\n * favourites, projects, and each folder's and project's pages), for the backend and credential in\n * use alone: a host that changed the person's assets (an upload into a folder, which also makes\n * recent work) calls it. Only the reads on screen are sent again; the rest read again when shown.\n */\nexport function useAthenaAssetsRefresh(): () => Promise<void> {\n const config = useAthenaConfig();\n const identity = useAthenaQueryIdentity({\n apiKey: config.apiKey,\n token: config.token,\n getToken: config.getToken,\n });\n const queryClient = useAthenaQueryClient();\n return () =>\n queryClient.invalidateQueries({\n predicate: ({ queryKey }) =>\n queryKey[0] === 'athena-sdk' &&\n queryKey[1] === 'assets' &&\n queryKey[3] === config.backendUrl &&\n identity.every((part, at) => Object.is(queryKey[4 + at], part)),\n });\n}\n\nexport const PROJECT_ASSETS_QUERY = `\n query AthenaProjectAssets($projectId: String!, $first: Int!, $after: String) {\n getProjectLinkedAssetsPaginated(projectId: $projectId, first: $first, after: $after) {\n hasNextPage\n nextCursor\n items {\n asset {\n ${MENTION_ASSET_FIELDS}\n }\n }\n }\n }\n`;\n\n/**\n * One page of the assets a project links (agora's `getProjectLinkedAssetsPaginated`, which leaves\n * out every asset the caller may not open), without conversations or catalogs.\n */\nexport async function listAthenaProjectAssets({\n auth,\n projectId,\n first,\n after,\n signal,\n}: {\n auth: MentionAuthContext;\n projectId: string;\n first: number;\n after: string | null;\n signal?: AbortSignal;\n}): Promise<AthenaAssetPage> {\n const data = await fetchGraphQL<{\n getProjectLinkedAssetsPaginated: {\n hasNextPage: boolean;\n nextCursor: string | null;\n items: Array<{ asset: AssetResult }>;\n } | null;\n }>(auth, PROJECT_ASSETS_QUERY, { projectId, first, after }, { signal });\n const page = data.getProjectLinkedAssetsPaginated;\n return {\n assets: (page?.items ?? []).map((item) => item.asset).filter(shownInFolder),\n next: page?.hasNextPage && page.nextCursor ? page.nextCursor : null,\n };\n}\n\nexport interface UseAthenaProjectAssetsOptions {\n projectId: string;\n /** How many to read a page (agora reads 50 at most). Default 20. */\n pageSize?: number;\n /** `false` holds the read idle. Default `true`. */\n enabled?: boolean;\n}\n\n/** The assets a project links, a page at a time (`fetchNextPage`). */\nexport function useAthenaProjectAssets({\n projectId,\n pageSize = 20,\n enabled = true,\n}: UseAthenaProjectAssetsOptions): UseInfiniteQueryResult<InfiniteData<AthenaAssetPage>, Error> {\n const config = useAthenaConfig();\n const auth = useAssetReadAuth();\n const identity = useAthenaQueryIdentity({\n apiKey: config.apiKey,\n token: config.token,\n getToken: config.getToken,\n });\n return useInfiniteQuery(\n {\n queryKey: [\n 'athena-sdk',\n 'assets',\n 'project',\n config.backendUrl,\n ...identity,\n projectId,\n pageSize,\n ],\n queryFn: ({ pageParam, signal }) =>\n listAthenaProjectAssets({\n auth,\n projectId,\n first: pageSize,\n after: typeof pageParam === 'string' ? pageParam : null,\n signal,\n }),\n initialPageParam: null as number | string | null,\n getNextPageParam: (last: AthenaAssetPage) => last.next ?? undefined,\n enabled: enabled && config.backendUrl.length > 0,\n staleTime: ASSET_READ_FRESH_MS,\n retry: retryTransient,\n refetchOnWindowFocus: false,\n },\n useAthenaQueryClient(),\n );\n}\n"],"names":["fetchGraphQL","SIMPLE_SEARCH_QUERY","useAthenaConfig","useContext","AthenaAuthContext","useMemo","_a","useAthenaQueryIdentity","useQuery","useAthenaQueryClient","useAccountIdentity","PAGINATED_ASSETS_QUERY","useInfiniteQuery","MENTION_ASSET_FIELDS"],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Finding the assets the signed-in person may open, the way Athena on the web's ⌘K box and its
3
+ * sidebar find them: a title search, the person's recent work (what they created, newest change
4
+ * first: the sidebar's "Your Recents") and their favourites. Every read is agora's `simpleSearch`
5
+ * (`SIMPLE_SEARCH_QUERY`, the query the composer's @-mentions send), which agora answers under the
6
+ * workspace's read gate (`search_visibility`, built on `asset_access_query`): only assets the
7
+ * caller may open come back, never a hidden one, and never an archived one here. The hooks read
8
+ * through TanStack Query on the host's client (the session list's when the provider has one), so
9
+ * they wait while Athena can't be reached, as the SDK's other reads do.
10
+ */
11
+ import { type InfiniteData, type UseInfiniteQueryResult, type UseQueryResult } from '@tanstack/react-query';
12
+ import { type AssetResult, type MentionAuthContext } from '../chat-ui/mentions/suggestions/data/api-client';
13
+ /** An asset as these reads answer it: what a row needs to draw it and open it. */
14
+ export type AthenaAssetSummary = AssetResult;
15
+ /** The order a read asks agora for. */
16
+ export declare const AthenaAssetOrder: {
17
+ /**
18
+ * The best title match first (agora's `RELEVANCE`: the title is the words, starts with them,
19
+ * holds them…), then the newest change. An agora from before that order answers by the newest
20
+ * change instead.
21
+ */
22
+ readonly BestMatch: 'best-match';
23
+ /** The newest change first. */
24
+ readonly NewestChange: 'newest-change';
25
+ };
26
+ export type AthenaAssetOrder = (typeof AthenaAssetOrder)[keyof typeof AthenaAssetOrder];
27
+ /** One read of the assets the person may open. */
28
+ export interface AthenaAssetQuery {
29
+ /** Words the title holds; empty lists without words. */
30
+ words: string;
31
+ limit: number;
32
+ offset?: number;
33
+ /** Only assets of these types (agora's asset type values: `spreadsheet`, `folder`…). */
34
+ types?: readonly string[];
35
+ /** Leave out assets of these types. */
36
+ notTypes?: readonly string[];
37
+ /** Leave out the sub-assets of these media types (a meeting's transcript files). */
38
+ notMediaTypes?: readonly string[];
39
+ /** Only the person's favourites. */
40
+ favorites?: boolean;
41
+ /** Only the assets these agora users created (`user_…`). */
42
+ createdBy?: readonly string[];
43
+ order: AthenaAssetOrder;
44
+ }
45
+ /** The sort field agora's `SortField` names for an order. */
46
+ type AssetSortField = 'RELEVANCE' | 'UPDATED_AT';
47
+ /**
48
+ * What "Your Recents" leaves out, as Athena on the web's sidebar does (`useYourRecents`): folders,
49
+ * emails, conversations and catalogs.
50
+ */
51
+ export declare const ATHENA_RECENT_ASSETS_NOT_TYPES: readonly string[];
52
+ /**
53
+ * The files a meeting or a browse session keeps beside itself (its transcripts, its recording),
54
+ * which Athena on the web never lists among the person's own (`HIDDEN_SUB_ASSET_MEDIA_TYPES`).
55
+ */
56
+ export declare const ATHENA_SUB_ASSET_MEDIA_TYPES: readonly string[];
57
+ /** `simpleSearch`'s `input` for a read, sorted by `sortField`. */
58
+ export declare function athenaAssetSearchInput({ query, sortField, }: {
59
+ query: AthenaAssetQuery;
60
+ sortField: AssetSortField;
61
+ }): Record<string, unknown>;
62
+ /**
63
+ * One read (`simpleSearch`). `BestMatch` asks agora for `RELEVANCE`; an agora that predates it
64
+ * refuses the value as bad input, and is asked once more by the newest change. Any other failure
65
+ * stands.
66
+ */
67
+ export declare function searchAthenaAssets({ auth, query, signal, }: {
68
+ auth: MentionAuthContext;
69
+ query: AthenaAssetQuery;
70
+ signal?: AbortSignal;
71
+ }): Promise<AthenaAssetSummary[]>;
72
+ export interface UseAthenaAssetSearchOptions {
73
+ /** The words; blank holds the read idle. */
74
+ words: string;
75
+ /** At most this many, the best match first. Default 8. */
76
+ limit?: number;
77
+ /** Leave out assets of these types (`session`, `catalog`…). */
78
+ notTypes?: readonly string[];
79
+ /** `false` holds the read idle. Default `true`. */
80
+ enabled?: boolean;
81
+ }
82
+ /**
83
+ * The assets whose title holds the words, the best match first, as Athena on the web's ⌘K box
84
+ * ranks them.
85
+ */
86
+ export declare function useAthenaAssetSearch({ words, limit, notTypes, enabled, }: UseAthenaAssetSearchOptions): UseQueryResult<AthenaAssetSummary[], Error>;
87
+ export interface UseAthenaAssetListOptions {
88
+ /** At most this many, the newest change first. Default 8. */
89
+ limit?: number;
90
+ /** `false` holds the read idle. Default `true`. */
91
+ enabled?: boolean;
92
+ }
93
+ /**
94
+ * The person's recent work, as Athena on the web's sidebar lists it ("Your Recents"): what they
95
+ * created, the newest change first, without folders, emails, conversations, catalogs or a
96
+ * meeting's own files. It waits for agora to say who the credential is (`/api/v0/me`, the read the
97
+ * chat shares).
98
+ */
99
+ export declare function useAthenaRecentAssets({ limit, enabled, }?: UseAthenaAssetListOptions): UseQueryResult<AthenaAssetSummary[], Error>;
100
+ export interface UseAthenaFavoriteAssetsOptions extends UseAthenaAssetListOptions {
101
+ /** Leave out favourites of these types (`session`…). */
102
+ notTypes?: readonly string[];
103
+ }
104
+ /** The person's favourites, from every folder, the newest change first. */
105
+ export declare function useAthenaFavoriteAssets({ limit, notTypes, enabled, }?: UseAthenaFavoriteAssetsOptions): UseQueryResult<AthenaAssetSummary[], Error>;
106
+ export type UseAthenaProjectsOptions = UseAthenaAssetListOptions;
107
+ /**
108
+ * The projects the person can open, the newest change first, as Athena on the web's Projects index
109
+ * lists them.
110
+ */
111
+ export declare function useAthenaProjects({ limit, enabled, }?: UseAthenaProjectsOptions): UseQueryResult<AthenaAssetSummary[], Error>;
112
+ /** One page of a listing: the assets shown, and whether agora has more. */
113
+ export interface AthenaAssetPage {
114
+ assets: AthenaAssetSummary[];
115
+ /** Where the next page starts (agora's offset or cursor); `null` at the end. */
116
+ next: number | string | null;
117
+ }
118
+ /**
119
+ * The page a folder listing's rows make: the folder's own rows, without conversations or catalogs.
120
+ * agora's own rows come first, `limit` of them at most, and the rows it appends follow, so only the
121
+ * first `limit` rows can be the folder's own; a full page of them means another may follow, at
122
+ * `offset + limit` (never at the rows' count, which the appended rows would push past rows not yet
123
+ * read).
124
+ */
125
+ export declare function athenaFolderPageOf({ rows, folderId, limit, offset, }: {
126
+ rows: readonly AthenaAssetSummary[];
127
+ folderId: string | null;
128
+ limit: number;
129
+ offset: number;
130
+ }): AthenaAssetPage;
131
+ /**
132
+ * One page of a folder's children, or the workspace's top level for `folderId: null` (agora's
133
+ * `getPaginatedAssetsForWorkspace`, gated by `asset_access_query`): folders first, then the newest
134
+ * change, without conversations or catalogs (`athenaFolderPageOf`).
135
+ */
136
+ export declare function listAthenaFolder({ auth, folderId, limit, offset, signal, }: {
137
+ auth: MentionAuthContext;
138
+ /** The folder, or `null` for the workspace's top level. */
139
+ folderId: string | null;
140
+ limit: number;
141
+ offset: number;
142
+ signal?: AbortSignal;
143
+ }): Promise<AthenaAssetPage>;
144
+ export interface UseAthenaFolderAssetsOptions {
145
+ /** The folder, or `null` for the workspace's top level. */
146
+ folderId: string | null;
147
+ /** How many to read a page. Default 50. */
148
+ pageSize?: number;
149
+ /** `false` holds the read idle. Default `true`. */
150
+ enabled?: boolean;
151
+ }
152
+ /**
153
+ * A folder's children (or the workspace's top level), a page at a time (`fetchNextPage`), without
154
+ * conversations or catalogs. Keyed by the folder and the credential's fingerprint, never the
155
+ * credential.
156
+ */
157
+ export declare function useAthenaFolderAssets({ folderId, pageSize, enabled, }: UseAthenaFolderAssetsOptions): UseInfiniteQueryResult<InfiniteData<AthenaAssetPage>, Error>;
158
+ /**
159
+ * Has every asset read of the provider in use read again (the title search, recent work,
160
+ * favourites, projects, and each folder's and project's pages), for the backend and credential in
161
+ * use alone: a host that changed the person's assets (an upload into a folder, which also makes
162
+ * recent work) calls it. Only the reads on screen are sent again; the rest read again when shown.
163
+ */
164
+ export declare function useAthenaAssetsRefresh(): () => Promise<void>;
165
+ export declare const PROJECT_ASSETS_QUERY = "\n query AthenaProjectAssets($projectId: String!, $first: Int!, $after: String) {\n getProjectLinkedAssetsPaginated(projectId: $projectId, first: $first, after: $after) {\n hasNextPage\n nextCursor\n items {\n asset {\n \n id\n title\n athenaOriginalType\n athenaConvertedType\n parentFolderId\n updatedAt\n isFavorited\n isArchived\n isHidden\n\n }\n }\n }\n }\n";
166
+ /**
167
+ * One page of the assets a project links (agora's `getProjectLinkedAssetsPaginated`, which leaves
168
+ * out every asset the caller may not open), without conversations or catalogs.
169
+ */
170
+ export declare function listAthenaProjectAssets({ auth, projectId, first, after, signal, }: {
171
+ auth: MentionAuthContext;
172
+ projectId: string;
173
+ first: number;
174
+ after: string | null;
175
+ signal?: AbortSignal;
176
+ }): Promise<AthenaAssetPage>;
177
+ export interface UseAthenaProjectAssetsOptions {
178
+ projectId: string;
179
+ /** How many to read a page (agora reads 50 at most). Default 20. */
180
+ pageSize?: number;
181
+ /** `false` holds the read idle. Default `true`. */
182
+ enabled?: boolean;
183
+ }
184
+ /** The assets a project links, a page at a time (`fetchNextPage`). */
185
+ export declare function useAthenaProjectAssets({ projectId, pageSize, enabled, }: UseAthenaProjectAssetsOptions): UseInfiniteQueryResult<InfiniteData<AthenaAssetPage>, Error>;
186
+ export {};