@athenaintel/react 0.28.1 → 0.32.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 (817) hide show
  1. package/README.md +479 -10
  2. package/dist/agent-runtime/src/asset-attachment.cjs.map +1 -0
  3. package/dist/agent-runtime/src/asset-attachment.js.map +1 -0
  4. package/dist/agent-runtime/src/athena-asset-drag.cjs +44 -0
  5. package/dist/agent-runtime/src/athena-asset-drag.cjs.map +1 -0
  6. package/dist/agent-runtime/src/athena-asset-drag.js +44 -0
  7. package/dist/agent-runtime/src/athena-asset-drag.js.map +1 -0
  8. package/dist/agent-runtime/src/auth-denial.cjs.map +1 -0
  9. package/dist/agent-runtime/src/auth-denial.js.map +1 -0
  10. package/dist/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
  11. package/dist/agent-runtime/src/client-tool-bridge.js.map +1 -0
  12. package/dist/agent-runtime/src/client-tools.cjs.map +1 -0
  13. package/dist/agent-runtime/src/client-tools.js.map +1 -0
  14. package/dist/agent-runtime/src/composer-markdown.cjs +124 -0
  15. package/dist/agent-runtime/src/composer-markdown.cjs.map +1 -0
  16. package/dist/agent-runtime/src/composer-markdown.js +124 -0
  17. package/dist/agent-runtime/src/composer-markdown.js.map +1 -0
  18. package/dist/agent-runtime/src/config-mutations.cjs +59 -0
  19. package/dist/agent-runtime/src/config-mutations.cjs.map +1 -0
  20. package/dist/agent-runtime/src/config-mutations.js +59 -0
  21. package/dist/agent-runtime/src/config-mutations.js.map +1 -0
  22. package/dist/agent-runtime/src/conversation-index.cjs.map +1 -0
  23. package/dist/agent-runtime/src/conversation-index.js.map +1 -0
  24. package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.cjs +36 -0
  25. package/dist/agent-runtime/src/conversation-list.cjs.map +1 -0
  26. package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.js +36 -0
  27. package/dist/agent-runtime/src/conversation-list.js.map +1 -0
  28. package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.cjs +5 -3
  29. package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
  30. package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.js +6 -4
  31. package/dist/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
  32. package/dist/agent-runtime/src/edit-command.cjs.map +1 -0
  33. package/dist/agent-runtime/src/edit-command.js.map +1 -0
  34. package/dist/{packages/agent-runtime → agent-runtime}/src/errors.cjs +23 -0
  35. package/dist/agent-runtime/src/errors.cjs.map +1 -0
  36. package/dist/{packages/agent-runtime → agent-runtime}/src/errors.js +23 -0
  37. package/dist/agent-runtime/src/errors.js.map +1 -0
  38. package/dist/agent-runtime/src/execute-output.cjs +41 -0
  39. package/dist/agent-runtime/src/execute-output.cjs.map +1 -0
  40. package/dist/agent-runtime/src/execute-output.js +41 -0
  41. package/dist/agent-runtime/src/execute-output.js.map +1 -0
  42. package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.cjs +16 -2
  43. package/dist/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
  44. package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.js +16 -2
  45. package/dist/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
  46. package/dist/agent-runtime/src/github-wake-event.cjs.map +1 -0
  47. package/dist/agent-runtime/src/github-wake-event.js.map +1 -0
  48. package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.cjs +24 -1
  49. package/dist/agent-runtime/src/interrupts.cjs.map +1 -0
  50. package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.js +24 -1
  51. package/dist/agent-runtime/src/interrupts.js.map +1 -0
  52. package/dist/agent-runtime/src/message-author.cjs.map +1 -0
  53. package/dist/agent-runtime/src/message-author.js.map +1 -0
  54. package/dist/agent-runtime/src/message-window.cjs.map +1 -0
  55. package/dist/agent-runtime/src/message-window.js.map +1 -0
  56. package/dist/{packages/agent-runtime → agent-runtime}/src/messages.cjs +8 -4
  57. package/dist/agent-runtime/src/messages.cjs.map +1 -0
  58. package/dist/{packages/agent-runtime → agent-runtime}/src/messages.js +6 -2
  59. package/dist/agent-runtime/src/messages.js.map +1 -0
  60. package/dist/agent-runtime/src/model-context.cjs.map +1 -0
  61. package/dist/agent-runtime/src/model-context.js.map +1 -0
  62. package/dist/agent-runtime/src/optimistic-content.cjs.map +1 -0
  63. package/dist/agent-runtime/src/optimistic-content.js.map +1 -0
  64. package/dist/agent-runtime/src/protocol.cjs.map +1 -0
  65. package/dist/agent-runtime/src/protocol.js.map +1 -0
  66. package/dist/{packages/agent-runtime → agent-runtime}/src/queue.cjs +23 -2
  67. package/dist/agent-runtime/src/queue.cjs.map +1 -0
  68. package/dist/{packages/agent-runtime → agent-runtime}/src/queue.js +23 -2
  69. package/dist/agent-runtime/src/queue.js.map +1 -0
  70. package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.cjs +71 -13
  71. package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
  72. package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.js +73 -15
  73. package/dist/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
  74. package/dist/agent-runtime/src/runtime-messages.cjs.map +1 -0
  75. package/dist/agent-runtime/src/runtime-messages.js.map +1 -0
  76. package/dist/agent-runtime/src/screen-point.cjs.map +1 -0
  77. package/dist/agent-runtime/src/screen-point.js.map +1 -0
  78. package/dist/agent-runtime/src/send-recovery.cjs.map +1 -0
  79. package/dist/agent-runtime/src/send-recovery.js.map +1 -0
  80. package/dist/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
  81. package/dist/agent-runtime/src/statewire-attach-observer.js.map +1 -0
  82. package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.cjs +8 -0
  83. package/dist/agent-runtime/src/statewire-state.cjs.map +1 -0
  84. package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.js +8 -0
  85. package/dist/agent-runtime/src/statewire-state.js.map +1 -0
  86. package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.cjs +4 -0
  87. package/dist/agent-runtime/src/statewire-suspended.cjs.map +1 -0
  88. package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.js +4 -0
  89. package/dist/agent-runtime/src/statewire-suspended.js.map +1 -0
  90. package/dist/agent-runtime/src/statewire-transport.cjs +43 -0
  91. package/dist/agent-runtime/src/statewire-transport.cjs.map +1 -0
  92. package/dist/agent-runtime/src/statewire-transport.js +43 -0
  93. package/dist/agent-runtime/src/statewire-transport.js.map +1 -0
  94. package/dist/agent-runtime/src/streaming-markdown.cjs.map +1 -0
  95. package/dist/agent-runtime/src/streaming-markdown.js.map +1 -0
  96. package/dist/agent-runtime/src/subscription-wake-event.cjs +252 -0
  97. package/dist/agent-runtime/src/subscription-wake-event.cjs.map +1 -0
  98. package/dist/agent-runtime/src/subscription-wake-event.js +252 -0
  99. package/dist/agent-runtime/src/subscription-wake-event.js.map +1 -0
  100. package/dist/agent-runtime/src/thread-extras.cjs.map +1 -0
  101. package/dist/agent-runtime/src/thread-extras.js.map +1 -0
  102. package/dist/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
  103. package/dist/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
  104. package/dist/agent-runtime/src/thread-status.cjs.map +1 -0
  105. package/dist/agent-runtime/src/thread-status.js.map +1 -0
  106. package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.cjs +304 -9
  107. package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -0
  108. package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.js +304 -9
  109. package/dist/agent-runtime/src/tool-metadata.js.map +1 -0
  110. package/dist/agent-runtime/src/tool-names.cjs +5 -0
  111. package/dist/agent-runtime/src/tool-names.cjs.map +1 -0
  112. package/dist/agent-runtime/src/tool-names.js +5 -0
  113. package/dist/agent-runtime/src/tool-names.js.map +1 -0
  114. package/dist/agent-runtime/src/tool-outputs.cjs.map +1 -0
  115. package/dist/agent-runtime/src/tool-outputs.js.map +1 -0
  116. package/dist/agent-runtime/src/tool-result.cjs.map +1 -0
  117. package/dist/agent-runtime/src/tool-result.js.map +1 -0
  118. package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.cjs +33 -22
  119. package/dist/agent-runtime/src/use-conversation-list.cjs.map +1 -0
  120. package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.js +34 -23
  121. package/dist/agent-runtime/src/use-conversation-list.js.map +1 -0
  122. package/dist/agent-runtime/src/use-deep-agent-config.cjs +129 -0
  123. package/dist/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
  124. package/dist/agent-runtime/src/use-deep-agent-config.js +129 -0
  125. package/dist/agent-runtime/src/use-deep-agent-config.js.map +1 -0
  126. package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.cjs +2 -0
  127. package/dist/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
  128. package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.js +2 -0
  129. package/dist/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
  130. package/dist/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
  131. package/dist/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
  132. package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.cjs +1 -0
  133. package/dist/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
  134. package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.js +2 -1
  135. package/dist/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
  136. package/dist/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
  137. package/dist/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
  138. package/dist/agent-runtime/src/use-historical-edit-attachments.cjs +52 -0
  139. package/dist/agent-runtime/src/use-historical-edit-attachments.cjs.map +1 -0
  140. package/dist/agent-runtime/src/use-historical-edit-attachments.js +52 -0
  141. package/dist/agent-runtime/src/use-historical-edit-attachments.js.map +1 -0
  142. package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.cjs +14 -0
  143. package/dist/agent-runtime/src/voice-presentation.cjs.map +1 -0
  144. package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.js +14 -0
  145. package/dist/agent-runtime/src/voice-presentation.js.map +1 -0
  146. package/dist/agent-runtime/src/voice-turn-grouping.cjs.map +1 -0
  147. package/dist/agent-runtime/src/voice-turn-grouping.js.map +1 -0
  148. package/dist/assets/AthenaAssetEmbed.cjs +13 -2
  149. package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
  150. package/dist/assets/AthenaAssetEmbed.d.ts +10 -0
  151. package/dist/assets/AthenaAssetEmbed.js +14 -3
  152. package/dist/assets/AthenaAssetEmbed.js.map +1 -1
  153. package/dist/assets/AthenaLayout.cjs +97 -31
  154. package/dist/assets/AthenaLayout.cjs.map +1 -1
  155. package/dist/assets/AthenaLayout.d.ts +13 -0
  156. package/dist/assets/AthenaLayout.js +98 -32
  157. package/dist/assets/AthenaLayout.js.map +1 -1
  158. package/dist/assets/asset-embed-messages.cjs +6 -0
  159. package/dist/assets/asset-embed-messages.cjs.map +1 -1
  160. package/dist/assets/asset-embed-messages.d.ts +13 -0
  161. package/dist/assets/asset-embed-messages.js +6 -0
  162. package/dist/assets/asset-embed-messages.js.map +1 -1
  163. package/dist/assets/asset-panel-store.cjs +68 -32
  164. package/dist/assets/asset-panel-store.cjs.map +1 -1
  165. package/dist/assets/asset-panel-store.d.ts +47 -1
  166. package/dist/assets/asset-panel-store.js +68 -32
  167. package/dist/assets/asset-panel-store.js.map +1 -1
  168. package/dist/assets/use-asset-embed.cjs +29 -8
  169. package/dist/assets/use-asset-embed.cjs.map +1 -1
  170. package/dist/assets/use-asset-embed.d.ts +7 -0
  171. package/dist/assets/use-asset-embed.js +29 -8
  172. package/dist/assets/use-asset-embed.js.map +1 -1
  173. package/dist/catalog/chat-pickers.cjs +152 -0
  174. package/dist/catalog/chat-pickers.cjs.map +1 -0
  175. package/dist/catalog/chat-pickers.d.ts +22 -0
  176. package/dist/catalog/chat-pickers.js +152 -0
  177. package/dist/catalog/chat-pickers.js.map +1 -0
  178. package/dist/catalog/runtime-catalog.cjs +181 -0
  179. package/dist/catalog/runtime-catalog.cjs.map +1 -0
  180. package/dist/catalog/runtime-catalog.d.ts +100 -0
  181. package/dist/catalog/runtime-catalog.js +181 -0
  182. package/dist/catalog/runtime-catalog.js.map +1 -0
  183. package/dist/chat/AthenaChat.cjs +122 -67
  184. package/dist/chat/AthenaChat.cjs.map +1 -1
  185. package/dist/chat/AthenaChat.d.ts +21 -4
  186. package/dist/chat/AthenaChat.js +124 -69
  187. package/dist/chat/AthenaChat.js.map +1 -1
  188. package/dist/chat/StatewireApprovalCard.cjs +38 -37
  189. package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
  190. package/dist/chat/StatewireApprovalCard.d.ts +2 -0
  191. package/dist/chat/StatewireApprovalCard.js +39 -38
  192. package/dist/chat/StatewireApprovalCard.js.map +1 -1
  193. package/dist/chat/StatewireClientToolBridge.cjs +2 -2
  194. package/dist/chat/StatewireClientToolBridge.js +2 -2
  195. package/dist/chat/StatewireQueuedMessages.cjs +15 -12
  196. package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
  197. package/dist/chat/StatewireQueuedMessages.d.ts +22 -2
  198. package/dist/chat/StatewireQueuedMessages.js +15 -12
  199. package/dist/chat/StatewireQueuedMessages.js.map +1 -1
  200. package/dist/chat/StatewireRunRefusalNotice.cjs +48 -0
  201. package/dist/chat/StatewireRunRefusalNotice.cjs.map +1 -0
  202. package/dist/chat/StatewireRunRefusalNotice.d.ts +25 -0
  203. package/dist/chat/StatewireRunRefusalNotice.js +48 -0
  204. package/dist/chat/StatewireRunRefusalNotice.js.map +1 -0
  205. package/dist/chat/WaitingOnYouBanner.cjs +2 -2
  206. package/dist/chat/WaitingOnYouBanner.js +2 -2
  207. package/dist/chat/athena-citation-links.cjs +19 -15
  208. package/dist/chat/athena-citation-links.cjs.map +1 -1
  209. package/dist/chat/athena-citation-links.js +19 -15
  210. package/dist/chat/athena-citation-links.js.map +1 -1
  211. package/dist/chat/run-activity.cjs +9 -1
  212. package/dist/chat/run-activity.cjs.map +1 -1
  213. package/dist/chat/run-activity.d.ts +6 -0
  214. package/dist/chat/run-activity.js +10 -2
  215. package/dist/chat/run-activity.js.map +1 -1
  216. package/dist/chat/statewire-banners.cjs +30 -1
  217. package/dist/chat/statewire-banners.cjs.map +1 -1
  218. package/dist/chat/statewire-banners.d.ts +20 -1
  219. package/dist/chat/statewire-banners.js +32 -3
  220. package/dist/chat/statewire-banners.js.map +1 -1
  221. package/dist/chat/statewire-client-tools.cjs +1 -1
  222. package/dist/chat/statewire-client-tools.js +1 -1
  223. package/dist/chat/super-grouping/CollapsibleGroup.cjs +1 -1
  224. package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -1
  225. package/dist/chat/super-grouping/CollapsibleGroup.js +1 -1
  226. package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -1
  227. package/dist/chat/super-grouping/SuperGroupingCard.cjs +38 -16
  228. package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -1
  229. package/dist/chat/super-grouping/SuperGroupingCard.d.ts +21 -4
  230. package/dist/chat/super-grouping/SuperGroupingCard.js +39 -17
  231. package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -1
  232. package/dist/chat/super-grouping/SuperGroupingTranscript.cjs +377 -0
  233. package/dist/chat/super-grouping/SuperGroupingTranscript.cjs.map +1 -0
  234. package/dist/chat/super-grouping/SuperGroupingTranscript.d.ts +31 -0
  235. package/dist/chat/super-grouping/SuperGroupingTranscript.js +377 -0
  236. package/dist/chat/super-grouping/SuperGroupingTranscript.js.map +1 -0
  237. package/dist/chat/super-grouping/ToolTimeline.cjs +13 -2
  238. package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -1
  239. package/dist/chat/super-grouping/ToolTimeline.d.ts +10 -3
  240. package/dist/chat/super-grouping/ToolTimeline.js +13 -2
  241. package/dist/chat/super-grouping/ToolTimeline.js.map +1 -1
  242. package/dist/chat/super-grouping/activity-timeline.cjs +69 -29
  243. package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -1
  244. package/dist/chat/super-grouping/activity-timeline.d.ts +60 -9
  245. package/dist/chat/super-grouping/activity-timeline.js +70 -30
  246. package/dist/chat/super-grouping/activity-timeline.js.map +1 -1
  247. package/dist/chat/super-grouping/index.cjs +14 -0
  248. package/dist/chat/super-grouping/index.cjs.map +1 -1
  249. package/dist/chat/super-grouping/index.d.ts +7 -2
  250. package/dist/chat/super-grouping/index.js +16 -2
  251. package/dist/chat/super-grouping/index.js.map +1 -1
  252. package/dist/chat/super-grouping/timeline-step.cjs +14 -5
  253. package/dist/chat/super-grouping/timeline-step.cjs.map +1 -1
  254. package/dist/chat/super-grouping/timeline-step.d.ts +10 -1
  255. package/dist/chat/super-grouping/timeline-step.js +15 -6
  256. package/dist/chat/super-grouping/timeline-step.js.map +1 -1
  257. package/dist/chat/super-grouping/toolkit-map.cjs +1 -0
  258. package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -1
  259. package/dist/chat/super-grouping/toolkit-map.js +1 -0
  260. package/dist/chat/super-grouping/toolkit-map.js.map +1 -1
  261. package/dist/chat/super-grouping/turn-segments.cjs +82 -0
  262. package/dist/chat/super-grouping/turn-segments.cjs.map +1 -0
  263. package/dist/chat/super-grouping/turn-segments.d.ts +69 -0
  264. package/dist/chat/super-grouping/turn-segments.js +82 -0
  265. package/dist/chat/super-grouping/turn-segments.js.map +1 -0
  266. package/dist/chat/super-grouping/turn-timing.cjs +110 -0
  267. package/dist/chat/super-grouping/turn-timing.cjs.map +1 -0
  268. package/dist/chat/super-grouping/turn-timing.d.ts +52 -0
  269. package/dist/chat/super-grouping/turn-timing.js +110 -0
  270. package/dist/chat/super-grouping/turn-timing.js.map +1 -0
  271. package/dist/chat/tiptap-text.cjs +1 -1
  272. package/dist/chat/tiptap-text.js +1 -1
  273. package/dist/chat/use-athena-run-live.cjs +1 -1
  274. package/dist/chat/use-athena-run-live.js +1 -1
  275. package/dist/chat/use-statewire-approval-request.cjs +73 -4
  276. package/dist/chat/use-statewire-approval-request.cjs.map +1 -1
  277. package/dist/chat/use-statewire-approval-request.js +74 -5
  278. package/dist/chat/use-statewire-approval-request.js.map +1 -1
  279. package/dist/chat-ui/composer/composer-message.cjs +284 -0
  280. package/dist/chat-ui/composer/composer-message.cjs.map +1 -0
  281. package/dist/chat-ui/composer/composer-message.d.ts +152 -0
  282. package/dist/chat-ui/composer/composer-message.js +284 -0
  283. package/dist/chat-ui/composer/composer-message.js.map +1 -0
  284. package/dist/chat-ui/composer/tiptap-composer.cjs +97 -15
  285. package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
  286. package/dist/chat-ui/composer/tiptap-composer.d.ts +34 -6
  287. package/dist/chat-ui/composer/tiptap-composer.js +97 -15
  288. package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
  289. package/dist/chat-ui/index.cjs +4 -1
  290. package/dist/chat-ui/index.cjs.map +1 -1
  291. package/dist/chat-ui/index.d.ts +3 -2
  292. package/dist/chat-ui/index.js +5 -2
  293. package/dist/chat-ui/index.js.map +1 -1
  294. package/dist/chat-ui/mentions/mention-chip.cjs +31 -3
  295. package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
  296. package/dist/chat-ui/mentions/mention-chip.d.ts +2 -5
  297. package/dist/chat-ui/mentions/mention-chip.js +33 -5
  298. package/dist/chat-ui/mentions/mention-chip.js.map +1 -1
  299. package/dist/chat-ui/mentions/mention-extension.cjs +9 -3
  300. package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -1
  301. package/dist/chat-ui/mentions/mention-extension.js +9 -3
  302. package/dist/chat-ui/mentions/mention-extension.js.map +1 -1
  303. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +3 -1
  304. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -1
  305. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +3 -1
  306. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -1
  307. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +65 -19
  308. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
  309. package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +15 -0
  310. package/dist/chat-ui/mentions/suggestions/data/sources/index.js +67 -21
  311. package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
  312. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +4 -2
  313. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -1
  314. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +2 -1
  315. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +5 -3
  316. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -1
  317. package/dist/chat-ui/mentions/use-account-workspace-id.cjs +61 -0
  318. package/dist/chat-ui/mentions/use-account-workspace-id.cjs.map +1 -0
  319. package/dist/chat-ui/mentions/use-account-workspace-id.d.ts +3 -0
  320. package/dist/chat-ui/mentions/use-account-workspace-id.js +61 -0
  321. package/dist/chat-ui/mentions/use-account-workspace-id.js.map +1 -0
  322. package/dist/chat-ui/mentions/use-member-avatar.cjs +75 -0
  323. package/dist/chat-ui/mentions/use-member-avatar.cjs.map +1 -0
  324. package/dist/chat-ui/mentions/use-member-avatar.d.ts +2 -0
  325. package/dist/chat-ui/mentions/use-member-avatar.js +75 -0
  326. package/dist/chat-ui/mentions/use-member-avatar.js.map +1 -0
  327. package/dist/chat-ui/messages/message-components.cjs +30 -10
  328. package/dist/chat-ui/messages/message-components.cjs.map +1 -1
  329. package/dist/chat-ui/messages/message-components.d.ts +21 -1
  330. package/dist/chat-ui/messages/message-components.js +30 -10
  331. package/dist/chat-ui/messages/message-components.js.map +1 -1
  332. package/dist/chat-ui/messages/runtime-message.cjs +1 -1
  333. package/dist/chat-ui/messages/runtime-message.js +1 -1
  334. package/dist/chat-ui/messages/statewire-continue-run.cjs +5 -5
  335. package/dist/chat-ui/messages/statewire-continue-run.js +5 -5
  336. package/dist/chat-ui/messages/user-edit-composer.cjs +1 -1
  337. package/dist/chat-ui/messages/user-edit-composer.js +1 -1
  338. package/dist/chat-ui/messages/wake-marker.cjs +39 -4
  339. package/dist/chat-ui/messages/wake-marker.cjs.map +1 -1
  340. package/dist/chat-ui/messages/wake-marker.d.ts +16 -5
  341. package/dist/chat-ui/messages/wake-marker.js +40 -5
  342. package/dist/chat-ui/messages/wake-marker.js.map +1 -1
  343. package/dist/chat-ui/rich-text/chat-message-body.cjs +12 -8
  344. package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -1
  345. package/dist/chat-ui/rich-text/chat-message-body.d.ts +6 -1
  346. package/dist/chat-ui/rich-text/chat-message-body.js +13 -9
  347. package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -1
  348. package/dist/chat-ui/rich-text/chat-text-schema.cjs +64 -6
  349. package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -1
  350. package/dist/chat-ui/rich-text/chat-text-schema.d.ts +5 -0
  351. package/dist/chat-ui/rich-text/chat-text-schema.js +66 -8
  352. package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -1
  353. package/dist/chat-ui/statewire.cjs +1 -1
  354. package/dist/chat-ui/statewire.d.ts +1 -1
  355. package/dist/chat-ui/statewire.js +1 -1
  356. package/dist/chat-ui/thread/statewire-history-edge.cjs +2 -2
  357. package/dist/chat-ui/thread/statewire-history-edge.js +2 -2
  358. package/dist/collab/client.cjs +282 -16
  359. package/dist/collab/client.cjs.map +1 -1
  360. package/dist/collab/client.d.ts +127 -2
  361. package/dist/collab/client.js +285 -20
  362. package/dist/collab/client.js.map +1 -1
  363. package/dist/collab/index.cjs +2 -0
  364. package/dist/collab/index.cjs.map +1 -1
  365. package/dist/collab/index.d.ts +1 -1
  366. package/dist/collab/index.js +3 -1
  367. package/dist/composer/AttachmentContext.cjs +38 -12
  368. package/dist/composer/AttachmentContext.cjs.map +1 -1
  369. package/dist/composer/AttachmentContext.d.ts +22 -1
  370. package/dist/composer/AttachmentContext.js +40 -14
  371. package/dist/composer/AttachmentContext.js.map +1 -1
  372. package/dist/composer/QuoteContext.cjs +80 -28
  373. package/dist/composer/QuoteContext.cjs.map +1 -1
  374. package/dist/composer/QuoteContext.d.ts +35 -6
  375. package/dist/composer/QuoteContext.js +82 -30
  376. package/dist/composer/QuoteContext.js.map +1 -1
  377. package/dist/composer/build-composed-message.cjs +27 -0
  378. package/dist/composer/build-composed-message.cjs.map +1 -1
  379. package/dist/composer/build-composed-message.d.ts +21 -0
  380. package/dist/composer/build-composed-message.js +28 -1
  381. package/dist/composer/build-composed-message.js.map +1 -1
  382. package/dist/composer/composer-handoff.cjs +13 -1
  383. package/dist/composer/composer-handoff.cjs.map +1 -1
  384. package/dist/composer/composer-handoff.d.ts +12 -0
  385. package/dist/composer/composer-handoff.js +15 -3
  386. package/dist/composer/composer-handoff.js.map +1 -1
  387. package/dist/composer/index.d.ts +6 -3
  388. package/dist/composer/useReadComposerDraft.cjs +16 -0
  389. package/dist/composer/useReadComposerDraft.cjs.map +1 -0
  390. package/dist/composer/useReadComposerDraft.d.ts +6 -0
  391. package/dist/composer/useReadComposerDraft.js +16 -0
  392. package/dist/composer/useReadComposerDraft.js.map +1 -0
  393. package/dist/diagnostics/athena-diagnostics.cjs.map +1 -1
  394. package/dist/diagnostics/athena-diagnostics.d.ts +3 -1
  395. package/dist/diagnostics/athena-diagnostics.js.map +1 -1
  396. package/dist/diagnostics/errors.cjs +6 -0
  397. package/dist/diagnostics/errors.cjs.map +1 -1
  398. package/dist/diagnostics/errors.d.ts +6 -0
  399. package/dist/diagnostics/errors.js +6 -0
  400. package/dist/diagnostics/errors.js.map +1 -1
  401. package/dist/index.cjs +163 -7
  402. package/dist/index.cjs.map +1 -1
  403. package/dist/index.d.ts +55 -12
  404. package/dist/index.js +170 -14
  405. package/dist/index.js.map +1 -1
  406. package/dist/lib/owner-document.cjs +32 -0
  407. package/dist/lib/owner-document.cjs.map +1 -0
  408. package/dist/lib/owner-document.d.ts +17 -0
  409. package/dist/lib/owner-document.js +32 -0
  410. package/dist/lib/owner-document.js.map +1 -0
  411. package/dist/lib/portal-surface.cjs +55 -0
  412. package/dist/lib/portal-surface.cjs.map +1 -0
  413. package/dist/lib/portal-surface.d.ts +37 -0
  414. package/dist/lib/portal-surface.js +55 -0
  415. package/dist/lib/portal-surface.js.map +1 -0
  416. package/dist/lib/use-athena-rest-query.cjs +34 -0
  417. package/dist/lib/use-athena-rest-query.cjs.map +1 -0
  418. package/dist/lib/use-athena-rest-query.d.ts +31 -0
  419. package/dist/lib/use-athena-rest-query.js +34 -0
  420. package/dist/lib/use-athena-rest-query.js.map +1 -0
  421. package/dist/provider/AthenaProvider.cjs +70 -10
  422. package/dist/provider/AthenaProvider.cjs.map +1 -1
  423. package/dist/provider/AthenaProvider.d.ts +27 -2
  424. package/dist/provider/AthenaProvider.js +74 -14
  425. package/dist/provider/AthenaProvider.js.map +1 -1
  426. package/dist/provider/citation-links.d.ts +10 -2
  427. package/dist/{packages/react → react}/package.json.cjs +1 -1
  428. package/dist/{packages/react → react}/package.json.js +1 -1
  429. package/dist/runtime/StatewireModelLaneSync.cjs +96 -0
  430. package/dist/runtime/StatewireModelLaneSync.cjs.map +1 -0
  431. package/dist/runtime/StatewireModelLaneSync.d.ts +45 -0
  432. package/dist/runtime/StatewireModelLaneSync.js +96 -0
  433. package/dist/runtime/StatewireModelLaneSync.js.map +1 -0
  434. package/dist/runtime/statewire-lifecycle.cjs +20 -5
  435. package/dist/runtime/statewire-lifecycle.cjs.map +1 -1
  436. package/dist/runtime/statewire-lifecycle.d.ts +11 -0
  437. package/dist/runtime/statewire-lifecycle.js +20 -5
  438. package/dist/runtime/statewire-lifecycle.js.map +1 -1
  439. package/dist/runtime/statewire-model-lane.cjs +28 -0
  440. package/dist/runtime/statewire-model-lane.cjs.map +1 -0
  441. package/dist/runtime/statewire-model-lane.d.ts +64 -0
  442. package/dist/runtime/statewire-model-lane.js +28 -0
  443. package/dist/runtime/statewire-model-lane.js.map +1 -0
  444. package/dist/runtime/statewire-run-config.cjs +16 -2
  445. package/dist/runtime/statewire-run-config.cjs.map +1 -1
  446. package/dist/runtime/statewire-run-config.d.ts +10 -0
  447. package/dist/runtime/statewire-run-config.js +16 -2
  448. package/dist/runtime/statewire-run-config.js.map +1 -1
  449. package/dist/runtime/statewire-server-lane-context.cjs +24 -0
  450. package/dist/runtime/statewire-server-lane-context.cjs.map +1 -0
  451. package/dist/runtime/statewire-server-lane-context.d.ts +30 -0
  452. package/dist/runtime/statewire-server-lane-context.js +24 -0
  453. package/dist/runtime/statewire-server-lane-context.js.map +1 -0
  454. package/dist/runtime/useAthenaStatewireRuntime.cjs +47 -23
  455. package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
  456. package/dist/runtime/useAthenaStatewireRuntime.d.ts +8 -1
  457. package/dist/runtime/useAthenaStatewireRuntime.js +48 -24
  458. package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
  459. package/dist/search/useAthenaRepoSearch.cjs +5 -13
  460. package/dist/search/useAthenaRepoSearch.cjs.map +1 -1
  461. package/dist/search/useAthenaRepoSearch.d.ts +3 -3
  462. package/dist/search/useAthenaRepoSearch.js +6 -14
  463. package/dist/search/useAthenaRepoSearch.js.map +1 -1
  464. package/dist/sheet-range/a1.cjs +162 -0
  465. package/dist/sheet-range/a1.cjs.map +1 -0
  466. package/dist/sheet-range/a1.d.ts +91 -0
  467. package/dist/sheet-range/a1.js +162 -0
  468. package/dist/sheet-range/a1.js.map +1 -0
  469. package/dist/sheet-range/index.cjs +22 -0
  470. package/dist/sheet-range/index.cjs.map +1 -0
  471. package/dist/sheet-range/index.d.ts +12 -0
  472. package/dist/sheet-range/index.js +22 -0
  473. package/dist/sheet-range/index.js.map +1 -0
  474. package/dist/sheet-range/range-preview-table.cjs +75 -0
  475. package/dist/sheet-range/range-preview-table.cjs.map +1 -0
  476. package/dist/sheet-range/range-preview-table.d.ts +20 -0
  477. package/dist/sheet-range/range-preview-table.js +75 -0
  478. package/dist/sheet-range/range-preview-table.js.map +1 -0
  479. package/dist/sheet-range/range-preview.cjs +116 -0
  480. package/dist/sheet-range/range-preview.cjs.map +1 -0
  481. package/dist/sheet-range/range-preview.d.ts +67 -0
  482. package/dist/sheet-range/range-preview.js +116 -0
  483. package/dist/sheet-range/range-preview.js.map +1 -0
  484. package/dist/styles.css +1 -1
  485. package/dist/threads/Inbox.cjs +289 -0
  486. package/dist/threads/Inbox.cjs.map +1 -0
  487. package/dist/threads/Inbox.d.ts +46 -0
  488. package/dist/threads/Inbox.js +289 -0
  489. package/dist/threads/Inbox.js.map +1 -0
  490. package/dist/threads/SessionList.cjs +51 -126
  491. package/dist/threads/SessionList.cjs.map +1 -1
  492. package/dist/threads/SessionList.d.ts +26 -1
  493. package/dist/threads/SessionList.js +45 -120
  494. package/dist/threads/SessionList.js.map +1 -1
  495. package/dist/threads/SessionsPage.cjs +753 -0
  496. package/dist/threads/SessionsPage.cjs.map +1 -0
  497. package/dist/threads/SessionsPage.d.ts +35 -0
  498. package/dist/threads/SessionsPage.js +753 -0
  499. package/dist/threads/SessionsPage.js.map +1 -0
  500. package/dist/threads/api.cjs +23 -2
  501. package/dist/threads/api.cjs.map +1 -1
  502. package/dist/threads/api.d.ts +60 -0
  503. package/dist/threads/api.js +23 -2
  504. package/dist/threads/api.js.map +1 -1
  505. package/dist/threads/conversation-list-fetcher.cjs +9 -2
  506. package/dist/threads/conversation-list-fetcher.cjs.map +1 -1
  507. package/dist/threads/conversation-list-fetcher.d.ts +14 -1
  508. package/dist/threads/conversation-list-fetcher.js +9 -2
  509. package/dist/threads/conversation-list-fetcher.js.map +1 -1
  510. package/dist/threads/index.d.ts +2 -1
  511. package/dist/threads/pull-request-display.cjs +25 -0
  512. package/dist/threads/pull-request-display.cjs.map +1 -0
  513. package/dist/threads/pull-request-display.d.ts +15 -0
  514. package/dist/threads/pull-request-display.js +25 -0
  515. package/dist/threads/pull-request-display.js.map +1 -0
  516. package/dist/threads/session-list-model.cjs +16 -2
  517. package/dist/threads/session-list-model.cjs.map +1 -1
  518. package/dist/threads/session-list-model.d.ts +10 -0
  519. package/dist/threads/session-list-model.js +16 -2
  520. package/dist/threads/session-list-model.js.map +1 -1
  521. package/dist/threads/session-row-parts.cjs +152 -0
  522. package/dist/threads/session-row-parts.cjs.map +1 -0
  523. package/dist/threads/session-row-parts.d.ts +50 -0
  524. package/dist/threads/session-row-parts.js +152 -0
  525. package/dist/threads/session-row-parts.js.map +1 -0
  526. package/dist/threads/sessions-page-model.cjs +305 -0
  527. package/dist/threads/sessions-page-model.cjs.map +1 -0
  528. package/dist/threads/sessions-page-model.d.ts +86 -0
  529. package/dist/threads/sessions-page-model.js +305 -0
  530. package/dist/threads/sessions-page-model.js.map +1 -0
  531. package/dist/threads/sessions-page-storage.cjs +93 -0
  532. package/dist/threads/sessions-page-storage.cjs.map +1 -0
  533. package/dist/threads/sessions-page-storage.d.ts +23 -0
  534. package/dist/threads/sessions-page-storage.js +93 -0
  535. package/dist/threads/sessions-page-storage.js.map +1 -0
  536. package/dist/threads/sessions-query.cjs +235 -0
  537. package/dist/threads/sessions-query.cjs.map +1 -0
  538. package/dist/threads/sessions-query.d.ts +119 -0
  539. package/dist/threads/sessions-query.js +235 -0
  540. package/dist/threads/sessions-query.js.map +1 -0
  541. package/dist/threads/statewire-thread-list.cjs +133 -40
  542. package/dist/threads/statewire-thread-list.cjs.map +1 -1
  543. package/dist/threads/statewire-thread-list.d.ts +83 -2
  544. package/dist/threads/statewire-thread-list.js +134 -41
  545. package/dist/threads/statewire-thread-list.js.map +1 -1
  546. package/dist/threads/use-athena-sessions.cjs +198 -0
  547. package/dist/threads/use-athena-sessions.cjs.map +1 -0
  548. package/dist/threads/use-athena-sessions.d.ts +81 -0
  549. package/dist/threads/use-athena-sessions.js +198 -0
  550. package/dist/threads/use-athena-sessions.js.map +1 -0
  551. package/dist/threads/use-athena-thread-model.cjs +14 -0
  552. package/dist/threads/use-athena-thread-model.cjs.map +1 -0
  553. package/dist/threads/use-athena-thread-model.d.ts +22 -0
  554. package/dist/threads/use-athena-thread-model.js +14 -0
  555. package/dist/threads/use-athena-thread-model.js.map +1 -0
  556. package/dist/threads/use-rest-conversation-history.cjs +1 -1
  557. package/dist/threads/use-rest-conversation-history.js +1 -1
  558. package/dist/threads/use-statewire-conversation-history.cjs +1 -1
  559. package/dist/threads/use-statewire-conversation-history.d.ts +3 -0
  560. package/dist/threads/use-statewire-conversation-history.js +1 -1
  561. package/dist/threads/use-thread-read-state.cjs +73 -0
  562. package/dist/threads/use-thread-read-state.cjs.map +1 -0
  563. package/dist/threads/use-thread-read-state.d.ts +51 -0
  564. package/dist/threads/use-thread-read-state.js +73 -0
  565. package/dist/threads/use-thread-read-state.js.map +1 -0
  566. package/dist/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +1 -0
  567. package/dist/tiptap-markdown-table/src/markdown-table-serializer.js.map +1 -0
  568. package/dist/tools/auto-open-tools.cjs +2 -0
  569. package/dist/tools/auto-open-tools.cjs.map +1 -1
  570. package/dist/tools/auto-open-tools.js +2 -0
  571. package/dist/tools/auto-open-tools.js.map +1 -1
  572. package/dist/tools/file-tool-uis.cjs +18 -43
  573. package/dist/tools/file-tool-uis.cjs.map +1 -1
  574. package/dist/tools/file-tool-uis.d.ts +1 -2
  575. package/dist/tools/file-tool-uis.js +18 -42
  576. package/dist/tools/file-tool-uis.js.map +1 -1
  577. package/dist/tools/index.cjs +6 -2
  578. package/dist/tools/index.cjs.map +1 -1
  579. package/dist/tools/index.d.ts +1 -0
  580. package/dist/tools/index.js +6 -2
  581. package/dist/tools/index.js.map +1 -1
  582. package/dist/tools/misc-tool-uis.cjs +2 -2
  583. package/dist/tools/misc-tool-uis.js +2 -2
  584. package/dist/tools/primitives.cjs +1 -1
  585. package/dist/tools/primitives.js +1 -1
  586. package/dist/tools/read-asset-tool-ui.cjs +21 -70
  587. package/dist/tools/read-asset-tool-ui.cjs.map +1 -1
  588. package/dist/tools/read-asset-tool-ui.js +21 -70
  589. package/dist/tools/read-asset-tool-ui.js.map +1 -1
  590. package/dist/tools/step-text.cjs +21 -0
  591. package/dist/tools/step-text.cjs.map +1 -0
  592. package/dist/tools/step-text.d.ts +10 -0
  593. package/dist/tools/step-text.js +21 -0
  594. package/dist/tools/step-text.js.map +1 -0
  595. package/dist/tools/tool-fallback.cjs +24 -5
  596. package/dist/tools/tool-fallback.cjs.map +1 -1
  597. package/dist/tools/tool-fallback.d.ts +3 -1
  598. package/dist/tools/tool-fallback.js +24 -5
  599. package/dist/tools/tool-fallback.js.map +1 -1
  600. package/dist/tools/tool-summary.cjs +661 -0
  601. package/dist/tools/tool-summary.cjs.map +1 -0
  602. package/dist/tools/tool-summary.d.ts +99 -0
  603. package/dist/tools/tool-summary.js +661 -0
  604. package/dist/tools/tool-summary.js.map +1 -0
  605. package/dist/tools/tool-uis.cjs +37 -95
  606. package/dist/tools/tool-uis.cjs.map +1 -1
  607. package/dist/tools/tool-uis.js +37 -95
  608. package/dist/tools/tool-uis.js.map +1 -1
  609. package/dist/tools/voice-update-tool-ui.cjs +1 -1
  610. package/dist/tools/voice-update-tool-ui.js +1 -1
  611. package/dist/tools/write-todos-tool-ui.cjs +3 -2
  612. package/dist/tools/write-todos-tool-ui.cjs.map +1 -1
  613. package/dist/tools/write-todos-tool-ui.d.ts +5 -0
  614. package/dist/tools/write-todos-tool-ui.js +5 -4
  615. package/dist/tools/write-todos-tool-ui.js.map +1 -1
  616. package/dist/ui/popover.cjs +6 -6
  617. package/dist/ui/popover.cjs.map +1 -1
  618. package/dist/ui/popover.js +6 -6
  619. package/dist/ui/popover.js.map +1 -1
  620. package/dist/ui/tooltip.cjs +16 -2
  621. package/dist/ui/tooltip.cjs.map +1 -1
  622. package/dist/ui/tooltip.d.ts +1 -1
  623. package/dist/ui/tooltip.js +16 -2
  624. package/dist/ui/tooltip.js.map +1 -1
  625. package/dist/version.cjs +1 -1
  626. package/dist/version.js +1 -1
  627. package/dist/voice/use-athena-voice-session.cjs.map +1 -1
  628. package/dist/voice/use-athena-voice-session.d.ts +3 -3
  629. package/dist/voice/use-athena-voice-session.js.map +1 -1
  630. package/dist/workbench/SessionWorkbench.cjs +378 -0
  631. package/dist/workbench/SessionWorkbench.cjs.map +1 -0
  632. package/dist/workbench/SessionWorkbench.d.ts +30 -0
  633. package/dist/workbench/SessionWorkbench.js +378 -0
  634. package/dist/workbench/SessionWorkbench.js.map +1 -0
  635. package/dist/workbench/session-workbench-context.cjs +26 -0
  636. package/dist/workbench/session-workbench-context.cjs.map +1 -0
  637. package/dist/workbench/session-workbench-context.d.ts +55 -0
  638. package/dist/workbench/session-workbench-context.js +26 -0
  639. package/dist/workbench/session-workbench-context.js.map +1 -0
  640. package/dist/workbench/session-workbench-model.cjs +288 -0
  641. package/dist/workbench/session-workbench-model.cjs.map +1 -0
  642. package/dist/workbench/session-workbench-model.d.ts +168 -0
  643. package/dist/workbench/session-workbench-model.js +288 -0
  644. package/dist/workbench/session-workbench-model.js.map +1 -0
  645. package/dist/workbench/session-workbench-panes.cjs +580 -0
  646. package/dist/workbench/session-workbench-panes.cjs.map +1 -0
  647. package/dist/workbench/session-workbench-panes.d.ts +16 -0
  648. package/dist/workbench/session-workbench-panes.js +580 -0
  649. package/dist/workbench/session-workbench-panes.js.map +1 -0
  650. package/dist/workbench/session-workspace-api.cjs +157 -0
  651. package/dist/workbench/session-workspace-api.cjs.map +1 -0
  652. package/dist/workbench/session-workspace-api.d.ts +70 -0
  653. package/dist/workbench/session-workspace-api.js +157 -0
  654. package/dist/workbench/session-workspace-api.js.map +1 -0
  655. package/dist/workbench/use-session-workspace.cjs +100 -0
  656. package/dist/workbench/use-session-workspace.cjs.map +1 -0
  657. package/dist/workbench/use-session-workspace.d.ts +45 -0
  658. package/dist/workbench/use-session-workspace.js +100 -0
  659. package/dist/workbench/use-session-workspace.js.map +1 -0
  660. package/dist/workbench/workbench-layout-context.cjs +10 -0
  661. package/dist/workbench/workbench-layout-context.cjs.map +1 -0
  662. package/dist/workbench/workbench-layout-context.d.ts +17 -0
  663. package/dist/workbench/workbench-layout-context.js +10 -0
  664. package/dist/workbench/workbench-layout-context.js.map +1 -0
  665. package/package.json +21 -10
  666. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +0 -77
  667. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +0 -1
  668. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +0 -77
  669. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +0 -1
  670. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +0 -181
  671. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +0 -1
  672. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +0 -181
  673. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +0 -1
  674. package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +0 -1
  675. package/dist/packages/agent-runtime/src/asset-attachment.js.map +0 -1
  676. package/dist/packages/agent-runtime/src/auth-denial.cjs.map +0 -1
  677. package/dist/packages/agent-runtime/src/auth-denial.js.map +0 -1
  678. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +0 -1
  679. package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +0 -1
  680. package/dist/packages/agent-runtime/src/client-tools.cjs.map +0 -1
  681. package/dist/packages/agent-runtime/src/client-tools.js.map +0 -1
  682. package/dist/packages/agent-runtime/src/conversation-index.cjs.map +0 -1
  683. package/dist/packages/agent-runtime/src/conversation-index.js.map +0 -1
  684. package/dist/packages/agent-runtime/src/conversation-list.cjs.map +0 -1
  685. package/dist/packages/agent-runtime/src/conversation-list.js.map +0 -1
  686. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +0 -1
  687. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +0 -1
  688. package/dist/packages/agent-runtime/src/edit-command.cjs.map +0 -1
  689. package/dist/packages/agent-runtime/src/edit-command.js.map +0 -1
  690. package/dist/packages/agent-runtime/src/errors.cjs.map +0 -1
  691. package/dist/packages/agent-runtime/src/errors.js.map +0 -1
  692. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +0 -1
  693. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +0 -1
  694. package/dist/packages/agent-runtime/src/github-wake-event.cjs.map +0 -1
  695. package/dist/packages/agent-runtime/src/github-wake-event.js.map +0 -1
  696. package/dist/packages/agent-runtime/src/interrupts.cjs.map +0 -1
  697. package/dist/packages/agent-runtime/src/interrupts.js.map +0 -1
  698. package/dist/packages/agent-runtime/src/message-author.cjs.map +0 -1
  699. package/dist/packages/agent-runtime/src/message-author.js.map +0 -1
  700. package/dist/packages/agent-runtime/src/message-window.cjs.map +0 -1
  701. package/dist/packages/agent-runtime/src/message-window.js.map +0 -1
  702. package/dist/packages/agent-runtime/src/messages.cjs.map +0 -1
  703. package/dist/packages/agent-runtime/src/messages.js.map +0 -1
  704. package/dist/packages/agent-runtime/src/model-context.cjs.map +0 -1
  705. package/dist/packages/agent-runtime/src/model-context.js.map +0 -1
  706. package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +0 -1
  707. package/dist/packages/agent-runtime/src/optimistic-content.js.map +0 -1
  708. package/dist/packages/agent-runtime/src/protocol.cjs.map +0 -1
  709. package/dist/packages/agent-runtime/src/protocol.js.map +0 -1
  710. package/dist/packages/agent-runtime/src/queue.cjs.map +0 -1
  711. package/dist/packages/agent-runtime/src/queue.js.map +0 -1
  712. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +0 -1
  713. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +0 -1
  714. package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +0 -1
  715. package/dist/packages/agent-runtime/src/runtime-messages.js.map +0 -1
  716. package/dist/packages/agent-runtime/src/screen-point.cjs.map +0 -1
  717. package/dist/packages/agent-runtime/src/screen-point.js.map +0 -1
  718. package/dist/packages/agent-runtime/src/send-recovery.cjs.map +0 -1
  719. package/dist/packages/agent-runtime/src/send-recovery.js.map +0 -1
  720. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +0 -1
  721. package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +0 -1
  722. package/dist/packages/agent-runtime/src/statewire-state.cjs.map +0 -1
  723. package/dist/packages/agent-runtime/src/statewire-state.js.map +0 -1
  724. package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +0 -1
  725. package/dist/packages/agent-runtime/src/statewire-suspended.js.map +0 -1
  726. package/dist/packages/agent-runtime/src/statewire-transport.cjs +0 -11
  727. package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +0 -1
  728. package/dist/packages/agent-runtime/src/statewire-transport.js +0 -11
  729. package/dist/packages/agent-runtime/src/statewire-transport.js.map +0 -1
  730. package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +0 -1
  731. package/dist/packages/agent-runtime/src/streaming-markdown.js.map +0 -1
  732. package/dist/packages/agent-runtime/src/thread-extras.cjs.map +0 -1
  733. package/dist/packages/agent-runtime/src/thread-extras.js.map +0 -1
  734. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +0 -1
  735. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +0 -1
  736. package/dist/packages/agent-runtime/src/thread-status.cjs.map +0 -1
  737. package/dist/packages/agent-runtime/src/thread-status.js.map +0 -1
  738. package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +0 -1
  739. package/dist/packages/agent-runtime/src/tool-metadata.js.map +0 -1
  740. package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +0 -1
  741. package/dist/packages/agent-runtime/src/tool-outputs.js.map +0 -1
  742. package/dist/packages/agent-runtime/src/tool-result.cjs.map +0 -1
  743. package/dist/packages/agent-runtime/src/tool-result.js.map +0 -1
  744. package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +0 -1
  745. package/dist/packages/agent-runtime/src/use-conversation-list.js.map +0 -1
  746. package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs +0 -13
  747. package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +0 -1
  748. package/dist/packages/agent-runtime/src/use-deep-agent-config.js +0 -13
  749. package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +0 -1
  750. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +0 -1
  751. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +0 -1
  752. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +0 -1
  753. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +0 -1
  754. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +0 -1
  755. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +0 -1
  756. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +0 -1
  757. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +0 -1
  758. package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +0 -1
  759. package/dist/packages/agent-runtime/src/voice-presentation.js.map +0 -1
  760. package/dist/packages/agent-runtime/src/voice-turn-grouping.cjs.map +0 -1
  761. package/dist/packages/agent-runtime/src/voice-turn-grouping.js.map +0 -1
  762. package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +0 -1
  763. package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.js.map +0 -1
  764. /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.cjs +0 -0
  765. /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.js +0 -0
  766. /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.cjs +0 -0
  767. /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.js +0 -0
  768. /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.cjs +0 -0
  769. /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.js +0 -0
  770. /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.cjs +0 -0
  771. /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.js +0 -0
  772. /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.cjs +0 -0
  773. /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.js +0 -0
  774. /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.cjs +0 -0
  775. /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.js +0 -0
  776. /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.cjs +0 -0
  777. /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.js +0 -0
  778. /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.cjs +0 -0
  779. /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.js +0 -0
  780. /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.cjs +0 -0
  781. /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.js +0 -0
  782. /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.cjs +0 -0
  783. /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.js +0 -0
  784. /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.cjs +0 -0
  785. /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.js +0 -0
  786. /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.cjs +0 -0
  787. /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.js +0 -0
  788. /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.cjs +0 -0
  789. /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.js +0 -0
  790. /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.cjs +0 -0
  791. /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.js +0 -0
  792. /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.cjs +0 -0
  793. /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.js +0 -0
  794. /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.cjs +0 -0
  795. /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.js +0 -0
  796. /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.cjs +0 -0
  797. /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.js +0 -0
  798. /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.cjs +0 -0
  799. /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.js +0 -0
  800. /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.cjs +0 -0
  801. /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.js +0 -0
  802. /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.cjs +0 -0
  803. /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.js +0 -0
  804. /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.cjs +0 -0
  805. /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.js +0 -0
  806. /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.cjs +0 -0
  807. /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.js +0 -0
  808. /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.cjs +0 -0
  809. /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.js +0 -0
  810. /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.cjs +0 -0
  811. /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.js +0 -0
  812. /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.cjs +0 -0
  813. /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.js +0 -0
  814. /package/dist/{packages/react → react}/package.json.cjs.map +0 -0
  815. /package/dist/{packages/react → react}/package.json.js.map +0 -0
  816. /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.cjs +0 -0
  817. /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.js +0 -0
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const sessionsQuery = require("./sessions-query.cjs");
4
+ const sessionListModel = require("./session-list-model.cjs");
5
+ function mergedPullRequestOf(row) {
6
+ const pullRequests = row.pullRequests ?? [];
7
+ if (pullRequests.length === 0 || pullRequests.some((pr) => pr.state === "OPEN")) return null;
8
+ return pullRequests.some((pr) => pr.state === "MERGED") ? "merged" : "closed";
9
+ }
10
+ function sessionStatusChip(row) {
11
+ var _a;
12
+ const nextAction = ((_a = row.nextAction) == null ? void 0 : _a.trim()) || null;
13
+ switch (row.attention) {
14
+ case "needs_you":
15
+ return { label: nextAction ?? "Needs you", tone: "needs_you", detail: nextAction };
16
+ case "working":
17
+ return { label: "Working", tone: "working", detail: nextAction };
18
+ case "ready":
19
+ return { label: nextAction ?? "Ready for you", tone: "ready", detail: nextAction };
20
+ case "watching":
21
+ return {
22
+ label: row.attentionSource === "follow_up" ? "Sleeping" : nextAction ?? "Waiting",
23
+ tone: "watching",
24
+ detail: nextAction
25
+ };
26
+ case "error":
27
+ return { label: nextAction ?? "Error", tone: "error", detail: nextAction };
28
+ case "done": {
29
+ const merged = mergedPullRequestOf(row);
30
+ if (merged === "merged") return { label: "PR merged", tone: "done", detail: nextAction };
31
+ return { label: "Done", tone: "done", detail: nextAction };
32
+ }
33
+ }
34
+ if (row.runStatus === "needs_input" || row.sessionStatus === "needs_input") {
35
+ return { label: "Needs you", tone: "needs_you", detail: null };
36
+ }
37
+ if (row.runStatus === "running" || row.runStatus === "queued") {
38
+ return { label: "Working", tone: "working", detail: null };
39
+ }
40
+ if (row.runStatus === "failed" || row.sessionStatus === "error") {
41
+ return { label: "Error", tone: "error", detail: null };
42
+ }
43
+ if (row.runStatus === "completed") return { label: "Done", tone: "done", detail: null };
44
+ return { label: "Idle", tone: "muted", detail: null };
45
+ }
46
+ function inboxStateChip(row) {
47
+ switch (row.attention) {
48
+ case "needs_you":
49
+ return { label: "Needs you", tone: "needs_you" };
50
+ case "working":
51
+ return { label: "Working", tone: "working" };
52
+ case "ready":
53
+ return { label: row.attentionSource === "pull_request" ? "PR ready" : "Ready", tone: "ready" };
54
+ case "watching":
55
+ return {
56
+ label: row.attentionSource === "follow_up" ? "Sleeping" : "Waiting",
57
+ tone: "watching"
58
+ };
59
+ case "error":
60
+ return { label: "Error", tone: "error" };
61
+ case "done": {
62
+ const merged = mergedPullRequestOf(row);
63
+ if (merged === "merged") return { label: "PR merged", tone: "done" };
64
+ if (merged === "closed") return { label: "PR closed", tone: "done" };
65
+ return { label: "Answered", tone: "done" };
66
+ }
67
+ default: {
68
+ const fallback = sessionStatusChip(row);
69
+ return { label: fallback.label, tone: fallback.tone };
70
+ }
71
+ }
72
+ }
73
+ const ATTENTION_GROUPS = [
74
+ { key: "needs_you", label: "Needs you" },
75
+ { key: "working", label: "Working" },
76
+ { key: "ready", label: "Ready" },
77
+ { key: "watching", label: "Waiting" },
78
+ { key: "error", label: "Error" },
79
+ { key: "done", label: "Done" },
80
+ { key: "other", label: "Other" }
81
+ ];
82
+ const RUN_STATUS_LABEL = {
83
+ needs_input: "Needs input",
84
+ running: "Running",
85
+ queued: "Queued",
86
+ scheduled: "Scheduled",
87
+ completed: "Completed",
88
+ failed: "Failed",
89
+ canceled: "Canceled"
90
+ };
91
+ const SESSION_STATUS_LABEL = {
92
+ active: "Active",
93
+ needs_input: "Needs input",
94
+ idle: "Idle",
95
+ error: "Error"
96
+ };
97
+ function runStatusLabel(status) {
98
+ return status && RUN_STATUS_LABEL[status] || "No run";
99
+ }
100
+ function sessionStatusLabel(status) {
101
+ return SESSION_STATUS_LABEL[status] ?? status;
102
+ }
103
+ function groupSessionsBy(rows, groupBy) {
104
+ if (rows.length === 0) return [];
105
+ if (groupBy === "none") return [{ key: "all", label: null, items: [...rows] }];
106
+ const buckets = /* @__PURE__ */ new Map();
107
+ const keyOf = (row) => {
108
+ if (groupBy === "attention") {
109
+ return ATTENTION_GROUPS.some((group) => group.key === row.attention) ? row.attention : "other";
110
+ }
111
+ return row.runStatus && row.runStatus in RUN_STATUS_LABEL ? row.runStatus : "none";
112
+ };
113
+ for (const row of rows) {
114
+ const key = keyOf(row);
115
+ const bucket = buckets.get(key) ?? [];
116
+ bucket.push(row);
117
+ buckets.set(key, bucket);
118
+ }
119
+ const order = groupBy === "attention" ? ATTENTION_GROUPS : [
120
+ ...Object.entries(RUN_STATUS_LABEL).map(([key, label]) => ({ key, label })),
121
+ { key: "none", label: "No run" }
122
+ ];
123
+ return order.flatMap(({ key, label }) => {
124
+ const items = buckets.get(key);
125
+ return items ? [{ key, label, items }] : [];
126
+ });
127
+ }
128
+ const SESSIONS_COLUMNS = [
129
+ { id: "status", label: "Status", defaultVisible: true },
130
+ { id: "origin", label: "Origin", defaultVisible: true },
131
+ { id: "mode", label: "Mode", defaultVisible: false },
132
+ { id: "pullRequests", label: "Pull requests", defaultVisible: true },
133
+ { id: "creator", label: "Creator", defaultVisible: false },
134
+ { id: "created", label: "Created", defaultVisible: false },
135
+ { id: "updated", label: "Updated", defaultVisible: true }
136
+ ];
137
+ const DEFAULT_VISIBLE_SESSIONS_COLUMNS = SESSIONS_COLUMNS.filter(
138
+ (column) => column.defaultVisible
139
+ ).map((column) => column.id);
140
+ function humanizeId(value) {
141
+ const words = value.replace(/^asset_/, "").replace(/[-_]+/g, " ").trim();
142
+ if (/^[0-9a-f]{8} ?[0-9a-f]{4}/i.test(words)) return `${words.slice(0, 8)}…`;
143
+ return words ? words.charAt(0).toUpperCase() + words.slice(1) : value;
144
+ }
145
+ function agentLabel(agentId, labels) {
146
+ var _a;
147
+ return ((_a = labels == null ? void 0 : labels.agents) == null ? void 0 : _a[agentId]) ?? `Agent ${humanizeId(agentId)}`;
148
+ }
149
+ function channelLabel(channelId, labels) {
150
+ var _a;
151
+ const channel = channelId || sessionsQuery.DEFAULT_COLLAB_CHANNEL;
152
+ if ((_a = labels == null ? void 0 : labels.channels) == null ? void 0 : _a[channel]) return labels.channels[channel];
153
+ return channel === sessionsQuery.DEFAULT_COLLAB_CHANNEL ? "Default" : humanizeId(channel);
154
+ }
155
+ function plainExcerpt(text) {
156
+ if (!text) return "";
157
+ return text.replace(/<[^>]*>/g, "").replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|`+|~~)/g, "").replace(/^\s{0,3}(#{1,6}|>|[-*+]|\d+\.)\s+/gm, "").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
158
+ }
159
+ function creatorLabel(createdByMe) {
160
+ if (createdByMe === true) return "You";
161
+ if (createdByMe === false) return "Shared with you";
162
+ return "";
163
+ }
164
+ const dateLabel = (value) => {
165
+ const at = Date.parse(value);
166
+ return Number.isFinite(at) ? new Date(at).toLocaleDateString() : value;
167
+ };
168
+ function sessionsFilterChips(query, labels) {
169
+ var _a, _b, _c, _d, _e;
170
+ const chips = [];
171
+ const join = (values) => values.join(", ");
172
+ if ((_a = query.runStatuses) == null ? void 0 : _a.length) {
173
+ chips.push({ field: "runStatuses", label: `Status: ${join(query.runStatuses.map(runStatusLabel))}` });
174
+ }
175
+ if ((_b = query.sessionStatuses) == null ? void 0 : _b.length) {
176
+ chips.push({
177
+ field: "sessionStatuses",
178
+ label: `Session: ${join(query.sessionStatuses.map(sessionStatusLabel))}`
179
+ });
180
+ }
181
+ if (query.unreadOnly) chips.push({ field: "unreadOnly", label: "Unread" });
182
+ if (query.favoritesOnly) chips.push({ field: "favoritesOnly", label: "Pinned" });
183
+ if (query.hasPullRequests !== void 0) {
184
+ chips.push({
185
+ field: "hasPullRequests",
186
+ label: query.hasPullRequests ? "Has pull requests" : "No pull requests"
187
+ });
188
+ }
189
+ if (query.createdByMe !== void 0) {
190
+ chips.push({
191
+ field: "createdByMe",
192
+ label: query.createdByMe ? "Creator: You" : "Creator: Shared with you"
193
+ });
194
+ }
195
+ if ((_c = query.collabAgentIds) == null ? void 0 : _c.length) {
196
+ chips.push({
197
+ field: "collabAgentIds",
198
+ label: `Agent: ${join(query.collabAgentIds.map((id) => agentLabel(id, labels)))}`
199
+ });
200
+ }
201
+ if ((_d = query.collabChannelIds) == null ? void 0 : _d.length) {
202
+ chips.push({
203
+ field: "collabChannelIds",
204
+ label: `Mode: ${join(query.collabChannelIds.map((id) => channelLabel(id, labels)))}`
205
+ });
206
+ }
207
+ if ((_e = query.startChannels) == null ? void 0 : _e.length) {
208
+ chips.push({
209
+ field: "startChannels",
210
+ label: `Origin: ${join(
211
+ query.startChannels.map(
212
+ (channel) => sessionListModel.sessionOriginLabel({ startChannel: channel, appId: null, triggerType: null }) ?? channel
213
+ )
214
+ )}`
215
+ });
216
+ }
217
+ if (query.createdAfter) chips.push({ field: "createdAfter", label: `Created since ${dateLabel(query.createdAfter)}` });
218
+ if (query.createdBefore) chips.push({ field: "createdBefore", label: `Created before ${dateLabel(query.createdBefore)}` });
219
+ if (query.updatedAfter) chips.push({ field: "updatedAfter", label: `Updated since ${dateLabel(query.updatedAfter)}` });
220
+ if (query.updatedBefore) chips.push({ field: "updatedBefore", label: `Updated before ${dateLabel(query.updatedBefore)}` });
221
+ if (query.excludeTriggered) chips.push({ field: "excludeTriggered", label: "Started by a person" });
222
+ return chips;
223
+ }
224
+ const SESSIONS_DATE_PRESETS = [
225
+ { id: "today", label: "Today" },
226
+ { id: "last7", label: "Last 7 days" },
227
+ { id: "last30", label: "Last 30 days" },
228
+ { id: "older30", label: "Older than 30 days" }
229
+ ];
230
+ function datePresetBounds(preset, now = /* @__PURE__ */ new Date()) {
231
+ const midnightDaysAgo = (days) => {
232
+ const midnight = new Date(now);
233
+ midnight.setHours(0, 0, 0, 0);
234
+ midnight.setDate(midnight.getDate() - days);
235
+ return midnight.toISOString();
236
+ };
237
+ if (preset === "today") return { after: midnightDaysAgo(0) };
238
+ if (preset === "last7") return { after: midnightDaysAgo(7) };
239
+ if (preset === "last30") return { after: midnightDaysAgo(30) };
240
+ return { before: midnightDaysAgo(30) };
241
+ }
242
+ function csvCell(value) {
243
+ if (value === null || value === void 0) return "";
244
+ let text = String(value);
245
+ if (/^[=+\-@\t\r]/.test(text)) text = `'${text}`;
246
+ return /[",\r\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
247
+ }
248
+ function sessionsCsv(rows, labels) {
249
+ const header = [
250
+ "Title",
251
+ "Status",
252
+ "Next action",
253
+ "Attention",
254
+ "Run status",
255
+ "Session status",
256
+ "Origin",
257
+ "Agent",
258
+ "Mode",
259
+ "Pull requests",
260
+ "Pinned",
261
+ "Unread",
262
+ "Creator",
263
+ "Created",
264
+ "Updated",
265
+ "Thread ID"
266
+ ];
267
+ const lines = rows.map((row) => {
268
+ const status = sessionStatusChip(row);
269
+ return [
270
+ row.title ?? "",
271
+ status.label,
272
+ row.nextAction ?? "",
273
+ row.attention ?? "",
274
+ row.runStatus ?? "",
275
+ row.sessionStatus ?? "",
276
+ sessionListModel.sessionOriginLabel(row) ?? "",
277
+ row.collabAgentId ? agentLabel(row.collabAgentId, labels) : "",
278
+ row.collabAgentId ? channelLabel(row.collabChannelId, labels) : "",
279
+ (row.pullRequests ?? []).map((pr) => `${pr.repoFullName}#${pr.number} (${pr.state})`).join("; "),
280
+ row.isFavorited,
281
+ row.isUnread,
282
+ creatorLabel(row.createdByMe),
283
+ row.createdAt ?? "",
284
+ row.updatedAt,
285
+ row.id
286
+ ].map(csvCell).join(",");
287
+ });
288
+ return [header.map(csvCell).join(","), ...lines].join("\r\n");
289
+ }
290
+ exports.DEFAULT_VISIBLE_SESSIONS_COLUMNS = DEFAULT_VISIBLE_SESSIONS_COLUMNS;
291
+ exports.SESSIONS_COLUMNS = SESSIONS_COLUMNS;
292
+ exports.SESSIONS_DATE_PRESETS = SESSIONS_DATE_PRESETS;
293
+ exports.agentLabel = agentLabel;
294
+ exports.channelLabel = channelLabel;
295
+ exports.creatorLabel = creatorLabel;
296
+ exports.datePresetBounds = datePresetBounds;
297
+ exports.groupSessionsBy = groupSessionsBy;
298
+ exports.inboxStateChip = inboxStateChip;
299
+ exports.plainExcerpt = plainExcerpt;
300
+ exports.runStatusLabel = runStatusLabel;
301
+ exports.sessionStatusChip = sessionStatusChip;
302
+ exports.sessionStatusLabel = sessionStatusLabel;
303
+ exports.sessionsCsv = sessionsCsv;
304
+ exports.sessionsFilterChips = sessionsFilterChips;
305
+ //# sourceMappingURL=sessions-page-model.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions-page-model.cjs","sources":["../../src/threads/sessions-page-model.ts"],"sourcesContent":["/**\n * Pure derivations behind `SessionsPage` and `Inbox`: the status a row shows\n * (what the person must do, colour-coded by attention), the inbox state chip,\n * grouping, columns, the filter chips' labels and the CSV export. React-free\n * so the render tests stay thin and hosts drawing their own rows reuse them.\n */\nimport type { ConversationAttention } from '@athenaintel/agent-runtime';\nimport {\n type AthenaSessionsQuery,\n type AthenaSessionsQueryField,\n DEFAULT_COLLAB_CHANNEL,\n type SessionRunStatus,\n type SessionSessionStatus,\n} from './sessions-query';\nimport { sessionOriginLabel } from './session-list-model';\nimport type { AthenaStatewireThreadSummary } from './statewire-thread-list';\n\nexport type SessionStatusTone =\n | 'needs_you'\n | 'working'\n | 'ready'\n | 'watching'\n | 'done'\n | 'error'\n | 'muted';\n\nexport interface SessionStatusChip {\n /** Short and imperative where the person must act (\"Approve send email\", \"Merge #12\"). */\n label: string;\n tone: SessionStatusTone;\n /** The longer line behind the label (the full next action), for a tooltip. */\n detail: string | null;\n}\n\ntype StatusRow = Pick<\n AthenaStatewireThreadSummary,\n 'attention' | 'nextAction' | 'attentionSource' | 'runStatus' | 'sessionStatus' | 'pullRequests'\n>;\n\nfunction mergedPullRequestOf(row: Pick<StatusRow, 'pullRequests'>): 'merged' | 'closed' | null {\n const pullRequests = row.pullRequests ?? [];\n if (pullRequests.length === 0 || pullRequests.some((pr) => pr.state === 'OPEN')) return null;\n return pullRequests.some((pr) => pr.state === 'MERGED') ? 'merged' : 'closed';\n}\n\n/**\n * The row's status column: what the session needs from the person, from the\n * server's attention and next action (Devin-style — \"Approve design\", \"PR is\n * ready\", \"Sleeping\", \"Working\", \"Done\"). An older server's rows fall back to\n * the status planes.\n */\nexport function sessionStatusChip(row: StatusRow): SessionStatusChip {\n const nextAction = row.nextAction?.trim() || null;\n switch (row.attention) {\n case 'needs_you':\n return { label: nextAction ?? 'Needs you', tone: 'needs_you', detail: nextAction };\n case 'working':\n return { label: 'Working', tone: 'working', detail: nextAction };\n case 'ready':\n return { label: nextAction ?? 'Ready for you', tone: 'ready', detail: nextAction };\n case 'watching':\n return {\n label: row.attentionSource === 'follow_up' ? 'Sleeping' : (nextAction ?? 'Waiting'),\n tone: 'watching',\n detail: nextAction,\n };\n case 'error':\n return { label: nextAction ?? 'Error', tone: 'error', detail: nextAction };\n case 'done': {\n const merged = mergedPullRequestOf(row);\n if (merged === 'merged') return { label: 'PR merged', tone: 'done', detail: nextAction };\n return { label: 'Done', tone: 'done', detail: nextAction };\n }\n default:\n break;\n }\n if (row.runStatus === 'needs_input' || row.sessionStatus === 'needs_input') {\n return { label: 'Needs you', tone: 'needs_you', detail: null };\n }\n if (row.runStatus === 'running' || row.runStatus === 'queued') {\n return { label: 'Working', tone: 'working', detail: null };\n }\n if (row.runStatus === 'failed' || row.sessionStatus === 'error') {\n return { label: 'Error', tone: 'error', detail: null };\n }\n if (row.runStatus === 'completed') return { label: 'Done', tone: 'done', detail: null };\n return { label: 'Idle', tone: 'muted', detail: null };\n}\n\n/**\n * The inbox row's state chip (Devin's \"Answered\" / \"PR merged\"): what\n * happened last, rather than the next step the status column names.\n */\nexport function inboxStateChip(row: StatusRow): { label: string; tone: SessionStatusTone } {\n switch (row.attention) {\n case 'needs_you':\n return { label: 'Needs you', tone: 'needs_you' };\n case 'working':\n return { label: 'Working', tone: 'working' };\n case 'ready':\n return { label: row.attentionSource === 'pull_request' ? 'PR ready' : 'Ready', tone: 'ready' };\n case 'watching':\n return {\n label: row.attentionSource === 'follow_up' ? 'Sleeping' : 'Waiting',\n tone: 'watching',\n };\n case 'error':\n return { label: 'Error', tone: 'error' };\n case 'done': {\n const merged = mergedPullRequestOf(row);\n if (merged === 'merged') return { label: 'PR merged', tone: 'done' };\n if (merged === 'closed') return { label: 'PR closed', tone: 'done' };\n return { label: 'Answered', tone: 'done' };\n }\n default: {\n // An older server reports no attention: the status planes decide.\n const fallback = sessionStatusChip(row);\n return { label: fallback.label, tone: fallback.tone };\n }\n }\n}\n\nexport type SessionsGroupBy = 'attention' | 'status' | 'none';\n\nexport interface SessionsSection {\n key: string;\n /** `null` for the single ungrouped section. */\n label: string | null;\n items: AthenaStatewireThreadSummary[];\n}\n\nconst ATTENTION_GROUPS: ReadonlyArray<{ key: ConversationAttention | 'other'; label: string }> = [\n { key: 'needs_you', label: 'Needs you' },\n { key: 'working', label: 'Working' },\n { key: 'ready', label: 'Ready' },\n { key: 'watching', label: 'Waiting' },\n { key: 'error', label: 'Error' },\n { key: 'done', label: 'Done' },\n { key: 'other', label: 'Other' },\n];\n\nconst RUN_STATUS_LABEL: Record<SessionRunStatus, string> = {\n needs_input: 'Needs input',\n running: 'Running',\n queued: 'Queued',\n scheduled: 'Scheduled',\n completed: 'Completed',\n failed: 'Failed',\n canceled: 'Canceled',\n};\n\nconst SESSION_STATUS_LABEL: Record<SessionSessionStatus, string> = {\n active: 'Active',\n needs_input: 'Needs input',\n idle: 'Idle',\n error: 'Error',\n};\n\nexport function runStatusLabel(status: string | null | undefined): string {\n return (status && RUN_STATUS_LABEL[status as SessionRunStatus]) || 'No run';\n}\n\nexport function sessionStatusLabel(status: string): string {\n return SESSION_STATUS_LABEL[status as SessionSessionStatus] ?? status;\n}\n\n/** Sections in display order; empty groups are omitted and row order is kept within a group. */\nexport function groupSessionsBy(\n rows: readonly AthenaStatewireThreadSummary[],\n groupBy: SessionsGroupBy,\n): SessionsSection[] {\n if (rows.length === 0) return [];\n if (groupBy === 'none') return [{ key: 'all', label: null, items: [...rows] }];\n const buckets = new Map<string, AthenaStatewireThreadSummary[]>();\n const keyOf = (row: AthenaStatewireThreadSummary): string => {\n if (groupBy === 'attention') {\n return ATTENTION_GROUPS.some((group) => group.key === row.attention)\n ? (row.attention as string)\n : 'other';\n }\n return row.runStatus && row.runStatus in RUN_STATUS_LABEL ? row.runStatus : 'none';\n };\n for (const row of rows) {\n const key = keyOf(row);\n const bucket = buckets.get(key) ?? [];\n bucket.push(row);\n buckets.set(key, bucket);\n }\n const order: ReadonlyArray<{ key: string; label: string }> =\n groupBy === 'attention'\n ? ATTENTION_GROUPS\n : [\n ...Object.entries(RUN_STATUS_LABEL).map(([key, label]) => ({ key, label })),\n { key: 'none', label: 'No run' },\n ];\n return order.flatMap(({ key, label }) => {\n const items = buckets.get(key);\n return items ? [{ key, label, items }] : [];\n });\n}\n\nexport type SessionsColumnId =\n | 'status'\n | 'origin'\n | 'mode'\n | 'pullRequests'\n | 'creator'\n | 'created'\n | 'updated';\n\nexport interface SessionsColumn {\n id: SessionsColumnId;\n label: string;\n /** Shown until the person hides it. */\n defaultVisible: boolean;\n}\n\n/** Every column after the title, in display order. */\nexport const SESSIONS_COLUMNS: readonly SessionsColumn[] = [\n { id: 'status', label: 'Status', defaultVisible: true },\n { id: 'origin', label: 'Origin', defaultVisible: true },\n { id: 'mode', label: 'Mode', defaultVisible: false },\n { id: 'pullRequests', label: 'Pull requests', defaultVisible: true },\n { id: 'creator', label: 'Creator', defaultVisible: false },\n { id: 'created', label: 'Created', defaultVisible: false },\n { id: 'updated', label: 'Updated', defaultVisible: true },\n];\n\nexport const DEFAULT_VISIBLE_SESSIONS_COLUMNS: readonly SessionsColumnId[] = SESSIONS_COLUMNS.filter(\n (column) => column.defaultVisible,\n).map((column) => column.id);\n\n/** Names for agents and channels a host knows; ids are shown otherwise. */\nexport interface SessionsLabels {\n agents?: Readonly<Record<string, string>>;\n channels?: Readonly<Record<string, string>>;\n}\n\nfunction humanizeId(value: string): string {\n const words = value.replace(/^asset_/, '').replace(/[-_]+/g, ' ').trim();\n if (/^[0-9a-f]{8} ?[0-9a-f]{4}/i.test(words)) return `${words.slice(0, 8)}…`;\n return words ? words.charAt(0).toUpperCase() + words.slice(1) : value;\n}\n\nexport function agentLabel(agentId: string, labels?: SessionsLabels): string {\n return labels?.agents?.[agentId] ?? `Agent ${humanizeId(agentId)}`;\n}\n\n/** The session's mode: its agent channel, `Default` for the agent's default channel. */\nexport function channelLabel(channelId: string | null | undefined, labels?: SessionsLabels): string {\n const channel = channelId || DEFAULT_COLLAB_CHANNEL;\n if (labels?.channels?.[channel]) return labels.channels[channel];\n return channel === DEFAULT_COLLAB_CHANNEL ? 'Default' : humanizeId(channel);\n}\n\n/**\n * A message as one line of plain text for a preview: the mention markup the\n * server stores (`<a class=\"mention\" …>Name</a>`) keeps its text, markdown\n * links keep their label, and emphasis, code and heading marks drop.\n */\nexport function plainExcerpt(text: string | null | undefined): string {\n if (!text) return '';\n return text\n .replace(/<[^>]*>/g, '')\n .replace(/!?\\[([^\\]]*)\\]\\([^)]*\\)/g, '$1')\n .replace(/(\\*\\*|__|`+|~~)/g, '')\n .replace(/^\\s{0,3}(#{1,6}|>|[-*+]|\\d+\\.)\\s+/gm, '')\n .replace(/&nbsp;/g, ' ')\n .replace(/&amp;/g, '&')\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#39;/g, \"'\")\n .replace(/\\s+/g, ' ')\n .trim();\n}\n\nexport function creatorLabel(createdByMe: boolean | null | undefined): string {\n if (createdByMe === true) return 'You';\n if (createdByMe === false) return 'Shared with you';\n return '';\n}\n\nexport interface SessionsFilterChip {\n field: AthenaSessionsQueryField;\n label: string;\n}\n\nconst dateLabel = (value: string): string => {\n const at = Date.parse(value);\n return Number.isFinite(at) ? new Date(at).toLocaleDateString() : value;\n};\n\n/** One chip per active filter, in a fixed order (sort and search are not chips). */\nexport function sessionsFilterChips(\n query: AthenaSessionsQuery,\n labels?: SessionsLabels,\n): SessionsFilterChip[] {\n const chips: SessionsFilterChip[] = [];\n const join = (values: readonly string[]) => values.join(', ');\n if (query.runStatuses?.length) {\n chips.push({ field: 'runStatuses', label: `Status: ${join(query.runStatuses.map(runStatusLabel))}` });\n }\n if (query.sessionStatuses?.length) {\n chips.push({\n field: 'sessionStatuses',\n label: `Session: ${join(query.sessionStatuses.map(sessionStatusLabel))}`,\n });\n }\n if (query.unreadOnly) chips.push({ field: 'unreadOnly', label: 'Unread' });\n if (query.favoritesOnly) chips.push({ field: 'favoritesOnly', label: 'Pinned' });\n if (query.hasPullRequests !== undefined) {\n chips.push({\n field: 'hasPullRequests',\n label: query.hasPullRequests ? 'Has pull requests' : 'No pull requests',\n });\n }\n if (query.createdByMe !== undefined) {\n chips.push({\n field: 'createdByMe',\n label: query.createdByMe ? 'Creator: You' : 'Creator: Shared with you',\n });\n }\n if (query.collabAgentIds?.length) {\n chips.push({\n field: 'collabAgentIds',\n label: `Agent: ${join(query.collabAgentIds.map((id) => agentLabel(id, labels)))}`,\n });\n }\n if (query.collabChannelIds?.length) {\n chips.push({\n field: 'collabChannelIds',\n label: `Mode: ${join(query.collabChannelIds.map((id) => channelLabel(id, labels)))}`,\n });\n }\n if (query.startChannels?.length) {\n chips.push({\n field: 'startChannels',\n label: `Origin: ${join(\n query.startChannels.map(\n (channel) =>\n sessionOriginLabel({ startChannel: channel, appId: null, triggerType: null }) ?? channel,\n ),\n )}`,\n });\n }\n if (query.createdAfter) chips.push({ field: 'createdAfter', label: `Created since ${dateLabel(query.createdAfter)}` });\n if (query.createdBefore) chips.push({ field: 'createdBefore', label: `Created before ${dateLabel(query.createdBefore)}` });\n if (query.updatedAfter) chips.push({ field: 'updatedAfter', label: `Updated since ${dateLabel(query.updatedAfter)}` });\n if (query.updatedBefore) chips.push({ field: 'updatedBefore', label: `Updated before ${dateLabel(query.updatedBefore)}` });\n if (query.excludeTriggered) chips.push({ field: 'excludeTriggered', label: 'Started by a person' });\n return chips;\n}\n\nexport type SessionsDatePreset = 'today' | 'last7' | 'last30' | 'older30';\n\nexport const SESSIONS_DATE_PRESETS: ReadonlyArray<{ id: SessionsDatePreset; label: string }> = [\n { id: 'today', label: 'Today' },\n { id: 'last7', label: 'Last 7 days' },\n { id: 'last30', label: 'Last 30 days' },\n { id: 'older30', label: 'Older than 30 days' },\n];\n\n/**\n * The ISO bound a preset stands for, as of `now`: local midnight `0`, `7` or\n * `30` days back. Day-aligned, so the same preset yields the same bound all\n * day — a reopened menu still recognises the chosen preset (and a second\n * click removes it).\n */\nexport function datePresetBounds(\n preset: SessionsDatePreset,\n now: Date = new Date(),\n): { after?: string; before?: string } {\n const midnightDaysAgo = (days: number): string => {\n const midnight = new Date(now);\n midnight.setHours(0, 0, 0, 0);\n midnight.setDate(midnight.getDate() - days);\n return midnight.toISOString();\n };\n if (preset === 'today') return { after: midnightDaysAgo(0) };\n if (preset === 'last7') return { after: midnightDaysAgo(7) };\n if (preset === 'last30') return { after: midnightDaysAgo(30) };\n return { before: midnightDaysAgo(30) };\n}\n\n/** RFC 4180 quoting, with a leading `'` on cells a spreadsheet would run as a formula. */\nfunction csvCell(value: string | number | boolean | null | undefined): string {\n if (value === null || value === undefined) return '';\n let text = String(value);\n if (/^[=+\\-@\\t\\r]/.test(text)) text = `'${text}`;\n return /[\",\\r\\n]/.test(text) ? `\"${text.replace(/\"/g, '\"\"')}\"` : text;\n}\n\n/** The loaded rows as CSV (header first, CRLF line ends), the visible ones only. */\nexport function sessionsCsv(\n rows: readonly AthenaStatewireThreadSummary[],\n labels?: SessionsLabels,\n): string {\n const header = [\n 'Title',\n 'Status',\n 'Next action',\n 'Attention',\n 'Run status',\n 'Session status',\n 'Origin',\n 'Agent',\n 'Mode',\n 'Pull requests',\n 'Pinned',\n 'Unread',\n 'Creator',\n 'Created',\n 'Updated',\n 'Thread ID',\n ];\n const lines = rows.map((row) => {\n const status = sessionStatusChip(row);\n return [\n row.title ?? '',\n status.label,\n row.nextAction ?? '',\n row.attention ?? '',\n row.runStatus ?? '',\n row.sessionStatus ?? '',\n sessionOriginLabel(row) ?? '',\n row.collabAgentId ? agentLabel(row.collabAgentId, labels) : '',\n row.collabAgentId ? channelLabel(row.collabChannelId, labels) : '',\n (row.pullRequests ?? []).map((pr) => `${pr.repoFullName}#${pr.number} (${pr.state})`).join('; '),\n row.isFavorited,\n row.isUnread,\n creatorLabel(row.createdByMe),\n row.createdAt ?? '',\n row.updatedAt,\n row.id,\n ]\n .map(csvCell)\n .join(',');\n });\n return [header.map(csvCell).join(','), ...lines].join('\\r\\n');\n}\n"],"names":["DEFAULT_COLLAB_CHANNEL","sessionOriginLabel"],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { type AthenaSessionsQuery, type AthenaSessionsQueryField } from './sessions-query';
2
+ import type { AthenaStatewireThreadSummary } from './statewire-thread-list';
3
+ export type SessionStatusTone = 'needs_you' | 'working' | 'ready' | 'watching' | 'done' | 'error' | 'muted';
4
+ export interface SessionStatusChip {
5
+ /** Short and imperative where the person must act ("Approve send email", "Merge #12"). */
6
+ label: string;
7
+ tone: SessionStatusTone;
8
+ /** The longer line behind the label (the full next action), for a tooltip. */
9
+ detail: string | null;
10
+ }
11
+ type StatusRow = Pick<AthenaStatewireThreadSummary, 'attention' | 'nextAction' | 'attentionSource' | 'runStatus' | 'sessionStatus' | 'pullRequests'>;
12
+ /**
13
+ * The row's status column: what the session needs from the person, from the
14
+ * server's attention and next action (Devin-style — "Approve design", "PR is
15
+ * ready", "Sleeping", "Working", "Done"). An older server's rows fall back to
16
+ * the status planes.
17
+ */
18
+ export declare function sessionStatusChip(row: StatusRow): SessionStatusChip;
19
+ /**
20
+ * The inbox row's state chip (Devin's "Answered" / "PR merged"): what
21
+ * happened last, rather than the next step the status column names.
22
+ */
23
+ export declare function inboxStateChip(row: StatusRow): {
24
+ label: string;
25
+ tone: SessionStatusTone;
26
+ };
27
+ export type SessionsGroupBy = 'attention' | 'status' | 'none';
28
+ export interface SessionsSection {
29
+ key: string;
30
+ /** `null` for the single ungrouped section. */
31
+ label: string | null;
32
+ items: AthenaStatewireThreadSummary[];
33
+ }
34
+ export declare function runStatusLabel(status: string | null | undefined): string;
35
+ export declare function sessionStatusLabel(status: string): string;
36
+ /** Sections in display order; empty groups are omitted and row order is kept within a group. */
37
+ export declare function groupSessionsBy(rows: readonly AthenaStatewireThreadSummary[], groupBy: SessionsGroupBy): SessionsSection[];
38
+ export type SessionsColumnId = 'status' | 'origin' | 'mode' | 'pullRequests' | 'creator' | 'created' | 'updated';
39
+ export interface SessionsColumn {
40
+ id: SessionsColumnId;
41
+ label: string;
42
+ /** Shown until the person hides it. */
43
+ defaultVisible: boolean;
44
+ }
45
+ /** Every column after the title, in display order. */
46
+ export declare const SESSIONS_COLUMNS: readonly SessionsColumn[];
47
+ export declare const DEFAULT_VISIBLE_SESSIONS_COLUMNS: readonly SessionsColumnId[];
48
+ /** Names for agents and channels a host knows; ids are shown otherwise. */
49
+ export interface SessionsLabels {
50
+ agents?: Readonly<Record<string, string>>;
51
+ channels?: Readonly<Record<string, string>>;
52
+ }
53
+ export declare function agentLabel(agentId: string, labels?: SessionsLabels): string;
54
+ /** The session's mode: its agent channel, `Default` for the agent's default channel. */
55
+ export declare function channelLabel(channelId: string | null | undefined, labels?: SessionsLabels): string;
56
+ /**
57
+ * A message as one line of plain text for a preview: the mention markup the
58
+ * server stores (`<a class="mention" …>Name</a>`) keeps its text, markdown
59
+ * links keep their label, and emphasis, code and heading marks drop.
60
+ */
61
+ export declare function plainExcerpt(text: string | null | undefined): string;
62
+ export declare function creatorLabel(createdByMe: boolean | null | undefined): string;
63
+ export interface SessionsFilterChip {
64
+ field: AthenaSessionsQueryField;
65
+ label: string;
66
+ }
67
+ /** One chip per active filter, in a fixed order (sort and search are not chips). */
68
+ export declare function sessionsFilterChips(query: AthenaSessionsQuery, labels?: SessionsLabels): SessionsFilterChip[];
69
+ export type SessionsDatePreset = 'today' | 'last7' | 'last30' | 'older30';
70
+ export declare const SESSIONS_DATE_PRESETS: ReadonlyArray<{
71
+ id: SessionsDatePreset;
72
+ label: string;
73
+ }>;
74
+ /**
75
+ * The ISO bound a preset stands for, as of `now`: local midnight `0`, `7` or
76
+ * `30` days back. Day-aligned, so the same preset yields the same bound all
77
+ * day — a reopened menu still recognises the chosen preset (and a second
78
+ * click removes it).
79
+ */
80
+ export declare function datePresetBounds(preset: SessionsDatePreset, now?: Date): {
81
+ after?: string;
82
+ before?: string;
83
+ };
84
+ /** The loaded rows as CSV (header first, CRLF line ends), the visible ones only. */
85
+ export declare function sessionsCsv(rows: readonly AthenaStatewireThreadSummary[], labels?: SessionsLabels): string;
86
+ export {};