@athenaintel/react 0.43.0 → 0.50.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.
- package/README.md +258 -8
- package/dist/agent-runtime/src/answer-label.cjs +137 -0
- package/dist/agent-runtime/src/answer-label.cjs.map +1 -0
- package/dist/agent-runtime/src/answer-label.d.ts +104 -0
- package/dist/agent-runtime/src/answer-label.js +137 -0
- package/dist/agent-runtime/src/answer-label.js.map +1 -0
- package/dist/agent-runtime/src/answer-rows.cjs +180 -0
- package/dist/agent-runtime/src/answer-rows.cjs.map +1 -0
- package/dist/agent-runtime/src/answer-rows.d.ts +86 -0
- package/dist/agent-runtime/src/answer-rows.js +180 -0
- package/dist/agent-runtime/src/answer-rows.js.map +1 -0
- package/dist/agent-runtime/src/call-recap.cjs +319 -0
- package/dist/agent-runtime/src/call-recap.cjs.map +1 -0
- package/dist/agent-runtime/src/call-recap.d.ts +142 -0
- package/dist/agent-runtime/src/call-recap.js +319 -0
- package/dist/agent-runtime/src/call-recap.js.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-store.cjs +1 -0
- package/dist/agent-runtime/src/chat-outbox-store.cjs.map +1 -1
- package/dist/agent-runtime/src/chat-outbox-store.d.ts +7 -0
- package/dist/agent-runtime/src/chat-outbox-store.js +1 -0
- package/dist/agent-runtime/src/chat-outbox-store.js.map +1 -1
- package/dist/agent-runtime/src/chat-outbox.cjs +46 -5
- package/dist/agent-runtime/src/chat-outbox.cjs.map +1 -1
- package/dist/agent-runtime/src/chat-outbox.d.ts +29 -0
- package/dist/agent-runtime/src/chat-outbox.js +46 -5
- package/dist/agent-runtime/src/chat-outbox.js.map +1 -1
- package/dist/agent-runtime/src/client-tool-bridge.cjs +15 -15
- package/dist/agent-runtime/src/client-tool-bridge.cjs.map +1 -1
- package/dist/agent-runtime/src/conversation-index.cjs +8 -8
- package/dist/agent-runtime/src/conversation-index.cjs.map +1 -1
- package/dist/agent-runtime/src/conversation-index.d.ts +7 -0
- package/dist/agent-runtime/src/conversation-index.js.map +1 -1
- package/dist/agent-runtime/src/conversation-list.cjs +2 -1
- package/dist/agent-runtime/src/conversation-list.cjs.map +1 -1
- package/dist/agent-runtime/src/conversation-list.d.ts +19 -3
- package/dist/agent-runtime/src/conversation-list.js +2 -1
- package/dist/agent-runtime/src/conversation-list.js.map +1 -1
- package/dist/agent-runtime/src/decision-checks.cjs +207 -0
- package/dist/agent-runtime/src/decision-checks.cjs.map +1 -0
- package/dist/agent-runtime/src/decision-checks.d.ts +142 -0
- package/dist/agent-runtime/src/decision-checks.js +207 -0
- package/dist/agent-runtime/src/decision-checks.js.map +1 -0
- package/dist/agent-runtime/src/desktop-handoff.d.ts +12 -0
- package/dist/agent-runtime/src/errors.cjs +18 -0
- package/dist/agent-runtime/src/errors.cjs.map +1 -1
- package/dist/agent-runtime/src/errors.d.ts +7 -0
- package/dist/agent-runtime/src/errors.js +18 -0
- package/dist/agent-runtime/src/errors.js.map +1 -1
- package/dist/agent-runtime/src/generated/runconfig-contract.cjs +12 -0
- package/dist/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -1
- package/dist/agent-runtime/src/generated/runconfig-contract.d.ts +6 -6
- package/dist/agent-runtime/src/generated/runconfig-contract.js +12 -0
- package/dist/agent-runtime/src/generated/runconfig-contract.js.map +1 -1
- package/dist/agent-runtime/src/handoff-arrival.cjs +60 -0
- package/dist/agent-runtime/src/handoff-arrival.cjs.map +1 -0
- package/dist/agent-runtime/src/handoff-arrival.d.ts +46 -0
- package/dist/agent-runtime/src/handoff-arrival.js +60 -0
- package/dist/agent-runtime/src/handoff-arrival.js.map +1 -0
- package/dist/agent-runtime/src/index.d.ts +16 -9
- package/dist/agent-runtime/src/interrupts.cjs +71 -19
- package/dist/agent-runtime/src/interrupts.cjs.map +1 -1
- package/dist/agent-runtime/src/interrupts.d.ts +40 -3
- package/dist/agent-runtime/src/interrupts.js +56 -4
- package/dist/agent-runtime/src/interrupts.js.map +1 -1
- package/dist/agent-runtime/src/lane-history.cjs +8 -8
- package/dist/agent-runtime/src/lane-history.cjs.map +1 -1
- package/dist/agent-runtime/src/messages.cjs +43 -8
- package/dist/agent-runtime/src/messages.cjs.map +1 -1
- package/dist/agent-runtime/src/messages.d.ts +25 -3
- package/dist/agent-runtime/src/messages.js +43 -8
- package/dist/agent-runtime/src/messages.js.map +1 -1
- package/dist/agent-runtime/src/model-context.cjs +3 -2
- package/dist/agent-runtime/src/model-context.cjs.map +1 -1
- package/dist/agent-runtime/src/model-context.d.ts +6 -1
- package/dist/agent-runtime/src/model-context.js +3 -2
- package/dist/agent-runtime/src/model-context.js.map +1 -1
- package/dist/agent-runtime/src/offline-status.cjs +36 -0
- package/dist/agent-runtime/src/offline-status.cjs.map +1 -0
- package/dist/agent-runtime/src/offline-status.d.ts +118 -3
- package/dist/agent-runtime/src/offline-status.js +36 -0
- package/dist/agent-runtime/src/offline-status.js.map +1 -0
- package/dist/agent-runtime/src/queue.cjs +0 -9
- package/dist/agent-runtime/src/queue.cjs.map +1 -1
- package/dist/agent-runtime/src/queue.js +0 -9
- package/dist/agent-runtime/src/queue.js.map +1 -1
- package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs +9 -9
- package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -1
- package/dist/agent-runtime/src/runtime-catalog.cjs +42 -0
- package/dist/agent-runtime/src/runtime-catalog.cjs.map +1 -0
- package/dist/agent-runtime/src/runtime-catalog.d.ts +35 -0
- package/dist/agent-runtime/src/runtime-catalog.js +42 -0
- package/dist/agent-runtime/src/runtime-catalog.js.map +1 -0
- package/dist/agent-runtime/src/runtime-messages.cjs.map +1 -1
- package/dist/agent-runtime/src/runtime-messages.d.ts +1 -1
- package/dist/agent-runtime/src/runtime-messages.js.map +1 -1
- package/dist/agent-runtime/src/runtime.d.ts +41 -0
- package/dist/agent-runtime/src/send-recovery.cjs +37 -3
- package/dist/agent-runtime/src/send-recovery.cjs.map +1 -1
- package/dist/agent-runtime/src/send-recovery.d.ts +19 -0
- package/dist/agent-runtime/src/send-recovery.js +37 -3
- package/dist/agent-runtime/src/send-recovery.js.map +1 -1
- package/dist/agent-runtime/src/statewire-suspended.cjs +3 -3
- package/dist/agent-runtime/src/statewire-suspended.cjs.map +1 -1
- package/dist/agent-runtime/src/subagents.cjs +32 -2
- package/dist/agent-runtime/src/subagents.cjs.map +1 -1
- package/dist/agent-runtime/src/subagents.d.ts +9 -0
- package/dist/agent-runtime/src/subagents.js +30 -0
- package/dist/agent-runtime/src/subagents.js.map +1 -1
- package/dist/agent-runtime/src/thread-driver.cjs +67 -0
- package/dist/agent-runtime/src/thread-driver.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-driver.d.ts +49 -0
- package/dist/agent-runtime/src/thread-driver.js +67 -0
- package/dist/agent-runtime/src/thread-driver.js.map +1 -0
- package/dist/agent-runtime/src/thread-handoff-flow-machine.d.ts +172 -0
- package/dist/agent-runtime/src/thread-handoff-protocol.d.ts +868 -0
- package/dist/agent-runtime/src/thread-handoff-qr.d.ts +11 -0
- package/dist/agent-runtime/src/thread-handoff.d.ts +3 -364
- package/dist/agent-runtime/src/thread-status.cjs +3 -3
- package/dist/agent-runtime/src/thread-status.cjs.map +1 -1
- package/dist/agent-runtime/src/tool-metadata.cjs +210 -25
- package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -1
- package/dist/agent-runtime/src/tool-metadata.d.ts +12 -0
- package/dist/agent-runtime/src/tool-metadata.js +210 -25
- package/dist/agent-runtime/src/tool-metadata.js.map +1 -1
- package/dist/agent-runtime/src/tool-names.cjs +2 -0
- package/dist/agent-runtime/src/tool-names.cjs.map +1 -1
- package/dist/agent-runtime/src/tool-names.d.ts +2 -0
- package/dist/agent-runtime/src/tool-names.js +2 -0
- package/dist/agent-runtime/src/tool-names.js.map +1 -1
- package/dist/agent-runtime/src/types.d.ts +10 -2
- package/dist/agent-runtime/src/use-conversation-list.cjs +14 -13
- package/dist/agent-runtime/src/use-conversation-list.cjs.map +1 -1
- package/dist/agent-runtime/src/use-conversation-list.d.ts +6 -0
- package/dist/agent-runtime/src/use-conversation-list.js +3 -2
- package/dist/agent-runtime/src/use-conversation-list.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.cjs +45 -20
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.d.ts +10 -3
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.js +27 -2
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-config.cjs +14 -14
- package/dist/agent-runtime/src/use-deep-agent-config.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.cjs +6 -6
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-runtime.cjs +40 -22
- package/dist/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-runtime.d.ts +17 -0
- package/dist/agent-runtime/src/use-deep-agent-runtime.js +24 -6
- package/dist/agent-runtime/src/use-deep-agent-runtime.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.cjs +45 -45
- package/dist/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-voice.cjs +588 -130
- package/dist/agent-runtime/src/use-deep-agent-voice.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-voice.d.ts +162 -10
- package/dist/agent-runtime/src/use-deep-agent-voice.js +529 -71
- package/dist/agent-runtime/src/use-deep-agent-voice.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-window-sync.cjs +26 -26
- package/dist/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -1
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs +4 -4
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs.map +1 -1
- package/dist/agent-runtime/src/use-thread-handoff-flow.d.ts +34 -26
- package/dist/agent-runtime/src/voice-earcon.cjs +139 -0
- package/dist/agent-runtime/src/voice-earcon.cjs.map +1 -0
- package/dist/agent-runtime/src/voice-earcon.d.ts +38 -0
- package/dist/agent-runtime/src/voice-earcon.js +139 -0
- package/dist/agent-runtime/src/voice-earcon.js.map +1 -0
- package/dist/agent-runtime/src/voice-media.cjs +117 -0
- package/dist/agent-runtime/src/voice-media.cjs.map +1 -0
- package/dist/agent-runtime/src/voice-media.d.ts +63 -0
- package/dist/agent-runtime/src/voice-media.js +117 -0
- package/dist/agent-runtime/src/voice-media.js.map +1 -0
- package/dist/agent-runtime/src/voice-presentation.cjs +2 -0
- package/dist/agent-runtime/src/voice-presentation.cjs.map +1 -1
- package/dist/agent-runtime/src/voice-presentation.js +2 -0
- package/dist/agent-runtime/src/voice-presentation.js.map +1 -1
- package/dist/agent-runtime/src/voice-wire-types.d.ts +32 -0
- package/dist/assets/AssetPanel.cjs +11 -11
- package/dist/assets/AssetPanel.cjs.map +1 -1
- package/dist/assets/AthenaAssetEmbed.cjs +11 -9
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
- package/dist/assets/AthenaAssetEmbed.d.ts +18 -5
- package/dist/assets/AthenaAssetEmbed.js +4 -2
- package/dist/assets/AthenaAssetEmbed.js.map +1 -1
- package/dist/assets/AthenaLayout.cjs +16 -16
- package/dist/assets/AthenaLayout.cjs.map +1 -1
- package/dist/assets/use-asset-content.cjs +4 -4
- package/dist/assets/use-asset-content.cjs.map +1 -1
- package/dist/assets/use-asset-embed.cjs +14 -7
- package/dist/assets/use-asset-embed.cjs.map +1 -1
- package/dist/assets/use-asset-embed.d.ts +23 -6
- package/dist/assets/use-asset-embed.js +10 -3
- package/dist/assets/use-asset-embed.js.map +1 -1
- package/dist/auth/AthenaAuthContext.cjs +3 -3
- package/dist/auth/AthenaAuthContext.cjs.map +1 -1
- package/dist/auth/AthenaAuthProvider.cjs +8 -8
- package/dist/auth/AthenaAuthProvider.cjs.map +1 -1
- package/dist/auth/AthenaCredentialSourceContext.cjs +5 -5
- package/dist/auth/AthenaCredentialSourceContext.cjs.map +1 -1
- package/dist/auth/AthenaSSOProvider.cjs +14 -14
- package/dist/auth/AthenaSSOProvider.cjs.map +1 -1
- package/dist/auth/credential-source.cjs +26 -13
- package/dist/auth/credential-source.cjs.map +1 -1
- package/dist/auth/credential-source.d.ts +8 -0
- package/dist/auth/credential-source.js +26 -13
- package/dist/auth/credential-source.js.map +1 -1
- package/dist/catalog/agent-model-options.cjs +25 -17
- package/dist/catalog/agent-model-options.cjs.map +1 -1
- package/dist/catalog/agent-model-options.d.ts +38 -5
- package/dist/catalog/agent-model-options.js +25 -17
- package/dist/catalog/agent-model-options.js.map +1 -1
- package/dist/catalog/channel-refusal.cjs +36 -0
- package/dist/catalog/channel-refusal.cjs.map +1 -0
- package/dist/catalog/channel-refusal.d.ts +29 -0
- package/dist/catalog/channel-refusal.js +36 -0
- package/dist/catalog/channel-refusal.js.map +1 -0
- package/dist/catalog/chat-pickers.cjs +60 -24
- package/dist/catalog/chat-pickers.cjs.map +1 -1
- package/dist/catalog/chat-pickers.d.ts +12 -2
- package/dist/catalog/chat-pickers.js +56 -20
- package/dist/catalog/chat-pickers.js.map +1 -1
- package/dist/catalog/runtime-catalog.cjs +89 -23
- package/dist/catalog/runtime-catalog.cjs.map +1 -1
- package/dist/catalog/runtime-catalog.d.ts +8 -2
- package/dist/catalog/runtime-catalog.js +83 -17
- package/dist/catalog/runtime-catalog.js.map +1 -1
- package/dist/catalog/use-athena-chat-mode.cjs +12 -12
- package/dist/catalog/use-athena-chat-mode.cjs.map +1 -1
- package/dist/chat/AthenaChat.cjs +155 -67
- package/dist/chat/AthenaChat.cjs.map +1 -1
- package/dist/chat/AthenaChat.d.ts +42 -2
- package/dist/chat/AthenaChat.js +106 -18
- package/dist/chat/AthenaChat.js.map +1 -1
- package/dist/chat/AthenaChatErrorBoundary.cjs +3 -3
- package/dist/chat/AthenaChatErrorBoundary.cjs.map +1 -1
- package/dist/chat/DrivingOnChip.cjs +23 -0
- package/dist/chat/DrivingOnChip.cjs.map +1 -0
- package/dist/chat/DrivingOnChip.d.ts +17 -0
- package/dist/chat/DrivingOnChip.js +23 -0
- package/dist/chat/DrivingOnChip.js.map +1 -0
- package/dist/chat/StatewireApprovalCard.cjs +166 -37
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
- package/dist/chat/StatewireApprovalCard.d.ts +91 -2
- package/dist/chat/StatewireApprovalCard.js +156 -27
- package/dist/chat/StatewireApprovalCard.js.map +1 -1
- package/dist/chat/StatewireClientToolBridge.cjs +2 -2
- package/dist/chat/StatewireClientToolBridge.cjs.map +1 -1
- package/dist/chat/StatewireQueuedMessages.cjs +81 -69
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
- package/dist/chat/StatewireQueuedMessages.d.ts +25 -13
- package/dist/chat/StatewireQueuedMessages.js +73 -61
- package/dist/chat/StatewireQueuedMessages.js.map +1 -1
- package/dist/chat/WaitingOnYouBanner.cjs +9 -5
- package/dist/chat/WaitingOnYouBanner.cjs.map +1 -1
- package/dist/chat/WaitingOnYouBanner.js +7 -3
- package/dist/chat/WaitingOnYouBanner.js.map +1 -1
- package/dist/chat/athena-chat-welcome.cjs +2 -2
- package/dist/chat/athena-chat-welcome.cjs.map +1 -1
- package/dist/chat/athena-citation-links.cjs +5 -5
- package/dist/chat/athena-citation-links.cjs.map +1 -1
- package/dist/chat/athena-composer-controls.cjs +26 -16
- package/dist/chat/athena-composer-controls.cjs.map +1 -1
- package/dist/chat/athena-composer-controls.d.ts +6 -0
- package/dist/chat/athena-composer-controls.js +26 -16
- package/dist/chat/athena-composer-controls.js.map +1 -1
- package/dist/chat/athena-turn-end-status.cjs +42 -0
- package/dist/chat/athena-turn-end-status.cjs.map +1 -0
- package/dist/chat/athena-turn-end-status.d.ts +24 -0
- package/dist/chat/athena-turn-end-status.js +42 -0
- package/dist/chat/athena-turn-end-status.js.map +1 -0
- package/dist/chat/browser-decision-check.cjs +131 -0
- package/dist/chat/browser-decision-check.cjs.map +1 -0
- package/dist/chat/browser-decision-check.d.ts +61 -0
- package/dist/chat/browser-decision-check.js +131 -0
- package/dist/chat/browser-decision-check.js.map +1 -0
- package/dist/chat/chat-outbox-rows.cjs +3 -3
- package/dist/chat/chat-outbox-rows.cjs.map +1 -1
- package/dist/chat/chat-voice-controls.cjs +96 -29
- package/dist/chat/chat-voice-controls.cjs.map +1 -1
- package/dist/chat/chat-voice-controls.d.ts +42 -3
- package/dist/chat/chat-voice-controls.js +92 -25
- package/dist/chat/chat-voice-controls.js.map +1 -1
- package/dist/chat/composer-keyboard-hint.cjs +5 -5
- package/dist/chat/composer-keyboard-hint.cjs.map +1 -1
- package/dist/chat/device-operation.cjs +29 -0
- package/dist/chat/device-operation.cjs.map +1 -0
- package/dist/chat/device-operation.d.ts +34 -0
- package/dist/chat/device-operation.js +29 -0
- package/dist/chat/device-operation.js.map +1 -0
- package/dist/chat/super-grouping/CollapsibleGroup.cjs +14 -14
- package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -1
- package/dist/chat/super-grouping/GroupedMessageParts.cjs +4 -4
- package/dist/chat/super-grouping/GroupedMessageParts.cjs.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.cjs +52 -36
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +19 -4
- package/dist/chat/super-grouping/SuperGroupingCard.js +29 -13
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs +32 -32
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingTranscript.js +3 -3
- package/dist/chat/super-grouping/SuperGroupingTranscript.js.map +1 -1
- package/dist/chat/super-grouping/ToolTimeline.cjs +73 -40
- package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -1
- package/dist/chat/super-grouping/ToolTimeline.d.ts +10 -2
- package/dist/chat/super-grouping/ToolTimeline.js +69 -36
- package/dist/chat/super-grouping/ToolTimeline.js.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.cjs +47 -12
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.d.ts +21 -0
- package/dist/chat/super-grouping/activity-timeline.js +47 -12
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -1
- package/dist/chat/super-grouping/grouping-function.cjs +4 -0
- package/dist/chat/super-grouping/grouping-function.cjs.map +1 -1
- package/dist/chat/super-grouping/grouping-function.d.ts +7 -0
- package/dist/chat/super-grouping/grouping-function.js +5 -1
- package/dist/chat/super-grouping/grouping-function.js.map +1 -1
- package/dist/chat/super-grouping/index.cjs +6 -0
- package/dist/chat/super-grouping/index.cjs.map +1 -1
- package/dist/chat/super-grouping/index.d.ts +5 -2
- package/dist/chat/super-grouping/index.js +7 -1
- package/dist/chat/super-grouping/index.js.map +1 -1
- package/dist/chat/super-grouping/tool-part-placement.cjs +17 -0
- package/dist/chat/super-grouping/tool-part-placement.cjs.map +1 -0
- package/dist/chat/super-grouping/tool-part-placement.d.ts +22 -0
- package/dist/chat/super-grouping/tool-part-placement.js +17 -0
- package/dist/chat/super-grouping/tool-part-placement.js.map +1 -0
- package/dist/chat/thread-scroll-to-bottom.cjs +2 -2
- package/dist/chat/thread-scroll-to-bottom.cjs.map +1 -1
- package/dist/chat/thread-scroll-to-bottom.d.ts +10 -7
- package/dist/chat/thread-scroll-to-bottom.js +2 -2
- package/dist/chat/thread-scroll-to-bottom.js.map +1 -1
- package/dist/chat/tooltip-icon-button.cjs +2 -2
- package/dist/chat/tooltip-icon-button.cjs.map +1 -1
- package/dist/chat/use-athena-voice-live.cjs +11 -0
- package/dist/chat/use-athena-voice-live.cjs.map +1 -0
- package/dist/chat/use-athena-voice-live.d.ts +11 -0
- package/dist/chat/use-athena-voice-live.js +11 -0
- package/dist/chat/use-athena-voice-live.js.map +1 -0
- package/dist/chat/use-statewire-approval-request.cjs +56 -24
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -1
- package/dist/chat/use-statewire-approval-request.d.ts +33 -4
- package/dist/chat/use-statewire-approval-request.js +41 -9
- package/dist/chat/use-statewire-approval-request.js.map +1 -1
- package/dist/chat-ui/auth/sign-in-card.cjs +2 -2
- package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.cjs +138 -107
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.d.ts +20 -4
- package/dist/chat-ui/composer/tiptap-composer.js +85 -54
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
- package/dist/chat-ui/header/conversation-history-panel.cjs +49 -23
- package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -1
- package/dist/chat-ui/header/conversation-history-panel.d.ts +12 -1
- package/dist/chat-ui/header/conversation-history-panel.js +38 -12
- package/dist/chat-ui/header/conversation-history-panel.js.map +1 -1
- package/dist/chat-ui/index.cjs +21 -0
- package/dist/chat-ui/index.cjs.map +1 -1
- package/dist/chat-ui/index.d.ts +8 -1
- package/dist/chat-ui/index.js +21 -0
- package/dist/chat-ui/index.js.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs +4 -4
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +10 -9
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +3 -2
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +2 -2
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +29 -6
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/menu-list.d.ts +7 -1
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js +25 -2
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +2 -2
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +2 -2
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +3 -3
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +56 -2
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.d.ts +12 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +56 -2
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +24 -3
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +7 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +24 -3
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +35 -13
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +15 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +28 -6
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +9 -6
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.d.ts +3 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +5 -2
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -1
- package/dist/chat-ui/mentions/use-account-workspace-id.cjs +45 -10
- package/dist/chat-ui/mentions/use-account-workspace-id.cjs.map +1 -1
- package/dist/chat-ui/mentions/use-account-workspace-id.d.ts +24 -1
- package/dist/chat-ui/mentions/use-account-workspace-id.js +46 -11
- package/dist/chat-ui/mentions/use-account-workspace-id.js.map +1 -1
- package/dist/chat-ui/mentions/use-member-avatar.cjs +4 -4
- package/dist/chat-ui/mentions/use-member-avatar.cjs.map +1 -1
- package/dist/chat-ui/mentions/use-mention-asset.cjs +3 -3
- package/dist/chat-ui/mentions/use-mention-asset.cjs.map +1 -1
- package/dist/chat-ui/messages/answer-label.cjs +42 -0
- package/dist/chat-ui/messages/answer-label.cjs.map +1 -0
- package/dist/chat-ui/messages/answer-label.d.ts +33 -0
- package/dist/chat-ui/messages/answer-label.js +42 -0
- package/dist/chat-ui/messages/answer-label.js.map +1 -0
- package/dist/chat-ui/messages/arrival-animation.cjs +13 -0
- package/dist/chat-ui/messages/arrival-animation.cjs.map +1 -0
- package/dist/chat-ui/messages/arrival-animation.d.ts +14 -0
- package/dist/chat-ui/messages/arrival-animation.js +13 -0
- package/dist/chat-ui/messages/arrival-animation.js.map +1 -0
- package/dist/chat-ui/messages/continue-pill.cjs +5 -5
- package/dist/chat-ui/messages/continue-pill.cjs.map +1 -1
- package/dist/chat-ui/messages/from-the-call-card.cjs +124 -0
- package/dist/chat-ui/messages/from-the-call-card.cjs.map +1 -0
- package/dist/chat-ui/messages/from-the-call-card.d.ts +17 -0
- package/dist/chat-ui/messages/from-the-call-card.js +124 -0
- package/dist/chat-ui/messages/from-the-call-card.js.map +1 -0
- package/dist/chat-ui/messages/handoff-arrival-divider.cjs +44 -0
- package/dist/chat-ui/messages/handoff-arrival-divider.cjs.map +1 -0
- package/dist/chat-ui/messages/handoff-arrival-divider.d.ts +17 -0
- package/dist/chat-ui/messages/handoff-arrival-divider.js +44 -0
- package/dist/chat-ui/messages/handoff-arrival-divider.js.map +1 -0
- package/dist/chat-ui/messages/message-actions-config.cjs +3 -3
- package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -1
- package/dist/chat-ui/messages/message-components.cjs +8 -4
- package/dist/chat-ui/messages/message-components.cjs.map +1 -1
- package/dist/chat-ui/messages/message-components.js +5 -1
- package/dist/chat-ui/messages/message-components.js.map +1 -1
- package/dist/chat-ui/messages/message-images.cjs +66 -0
- package/dist/chat-ui/messages/message-images.cjs.map +1 -0
- package/dist/chat-ui/messages/message-images.d.ts +16 -0
- package/dist/chat-ui/messages/message-images.js +66 -0
- package/dist/chat-ui/messages/message-images.js.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs +2 -2
- package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -1
- package/dist/chat-ui/messages/wake-marker.cjs +3 -3
- package/dist/chat-ui/messages/wake-marker.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-link.cjs +3 -2
- package/dist/chat-ui/rich-text/chat-link.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-link.d.ts +4 -0
- package/dist/chat-ui/rich-text/chat-link.js +4 -3
- package/dist/chat-ui/rich-text/chat-link.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-message-body.cjs +9 -8
- package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-message-body.d.ts +12 -0
- package/dist/chat-ui/rich-text/chat-message-body.js +2 -1
- package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-node-views.cjs +6 -6
- package/dist/chat-ui/rich-text/chat-node-views.cjs.map +1 -1
- package/dist/chat-ui/rich-text/dom-output-spec.cjs +2 -2
- package/dist/chat-ui/rich-text/dom-output-spec.cjs.map +1 -1
- package/dist/chat-ui/statewire.cjs +3 -0
- package/dist/chat-ui/statewire.cjs.map +1 -1
- package/dist/chat-ui/statewire.d.ts +2 -1
- package/dist/chat-ui/statewire.js +3 -0
- package/dist/chat-ui/statewire.js.map +1 -1
- package/dist/chat-ui/thread/chat-thread-shell.cjs +45 -14
- package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -1
- package/dist/chat-ui/thread/chat-thread-shell.d.ts +16 -2
- package/dist/chat-ui/thread/chat-thread-shell.js +37 -6
- package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -1
- package/dist/chat-ui/thread/composer-send-or-stop.cjs +30 -20
- package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -1
- package/dist/chat-ui/thread/composer-send-or-stop.d.ts +8 -0
- package/dist/chat-ui/thread/composer-send-or-stop.js +29 -19
- package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.cjs +20 -21
- package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.js +3 -4
- package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -1
- package/dist/chat-ui/thread/thread-loading-overlay.cjs +5 -5
- package/dist/chat-ui/thread/thread-loading-overlay.cjs.map +1 -1
- package/dist/collab/client.cjs +52 -3
- package/dist/collab/client.cjs.map +1 -1
- package/dist/collab/client.d.ts +27 -0
- package/dist/collab/client.js +52 -3
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/document-status.cjs +150 -0
- package/dist/collab/document-status.cjs.map +1 -0
- package/dist/collab/document-status.d.ts +68 -0
- package/dist/collab/document-status.js +150 -0
- package/dist/collab/document-status.js.map +1 -0
- package/dist/collab/index.cjs +7 -0
- package/dist/collab/index.cjs.map +1 -1
- package/dist/collab/index.d.ts +6 -1
- package/dist/collab/index.js +7 -0
- package/dist/collab/index.js.map +1 -1
- package/dist/collab/presence-react.cjs +11 -11
- package/dist/collab/presence-react.cjs.map +1 -1
- package/dist/collab/react.cjs +6 -6
- package/dist/collab/react.cjs.map +1 -1
- package/dist/composer/AttachmentContext.cjs +24 -11
- package/dist/composer/AttachmentContext.cjs.map +1 -1
- package/dist/composer/AttachmentContext.js +18 -5
- package/dist/composer/AttachmentContext.js.map +1 -1
- package/dist/composer/ComposerAttachmentPreview.cjs +78 -23
- package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -1
- package/dist/composer/ComposerAttachmentPreview.d.ts +5 -3
- package/dist/composer/ComposerAttachmentPreview.js +79 -24
- package/dist/composer/ComposerAttachmentPreview.js.map +1 -1
- package/dist/composer/ComposerDropZone.cjs +7 -7
- package/dist/composer/ComposerDropZone.cjs.map +1 -1
- package/dist/composer/FileUploadButton.cjs +37 -22
- package/dist/composer/FileUploadButton.cjs.map +1 -1
- package/dist/composer/FileUploadButton.d.ts +6 -0
- package/dist/composer/FileUploadButton.js +34 -19
- package/dist/composer/FileUploadButton.js.map +1 -1
- package/dist/composer/QuoteContext.cjs +8 -8
- package/dist/composer/QuoteContext.cjs.map +1 -1
- package/dist/composer/composer-handoff.cjs +4 -4
- package/dist/composer/composer-handoff.cjs.map +1 -1
- package/dist/composer/index.d.ts +1 -1
- package/dist/composer/useAppendToComposer.cjs +4 -4
- package/dist/composer/useAppendToComposer.cjs.map +1 -1
- package/dist/composer/useAttachFiles.cjs +23 -6
- package/dist/composer/useAttachFiles.cjs.map +1 -1
- package/dist/composer/useAttachFiles.d.ts +15 -7
- package/dist/composer/useAttachFiles.js +22 -5
- package/dist/composer/useAttachFiles.js.map +1 -1
- package/dist/composer/useComposerAttachment.cjs +4 -4
- package/dist/composer/useComposerAttachment.cjs.map +1 -1
- package/dist/composer/useFileUpload.cjs +21 -16
- package/dist/composer/useFileUpload.cjs.map +1 -1
- package/dist/composer/useFileUpload.d.ts +12 -0
- package/dist/composer/useFileUpload.js +12 -7
- package/dist/composer/useFileUpload.js.map +1 -1
- package/dist/composer/useReadComposerDraft.cjs +27 -8
- package/dist/composer/useReadComposerDraft.cjs.map +1 -1
- package/dist/composer/useReadComposerDraft.d.ts +23 -1
- package/dist/composer/useReadComposerDraft.js +27 -8
- package/dist/composer/useReadComposerDraft.js.map +1 -1
- package/dist/composer/useSendMessage.cjs +4 -4
- package/dist/composer/useSendMessage.cjs.map +1 -1
- package/dist/diagnostics/useAthenaDiagnostics.cjs +4 -4
- package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -1
- package/dist/dictation/audio-level-history.cjs +3 -3
- package/dist/dictation/audio-level-history.cjs.map +1 -1
- package/dist/dictation/dictation-controls.cjs +24 -20
- package/dist/dictation/dictation-controls.cjs.map +1 -1
- package/dist/dictation/dictation-controls.d.ts +6 -1
- package/dist/dictation/dictation-controls.js +24 -20
- package/dist/dictation/dictation-controls.js.map +1 -1
- package/dist/dictation/use-athena-dictation-engine.cjs +3 -3
- package/dist/dictation/use-athena-dictation-engine.cjs.map +1 -1
- package/dist/dictation/use-dictation.cjs +22 -22
- package/dist/dictation/use-dictation.cjs.map +1 -1
- package/dist/index.cjs +29 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +18 -4
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/keryx-http/src/receive-only-socket.cjs +40 -0
- package/dist/keryx-http/src/receive-only-socket.cjs.map +1 -0
- package/dist/keryx-http/src/receive-only-socket.d.ts +27 -0
- package/dist/keryx-http/src/receive-only-socket.js +40 -0
- package/dist/keryx-http/src/receive-only-socket.js.map +1 -0
- package/dist/keryx-http/src/unconfirmed-update-attributions.cjs +190 -0
- package/dist/keryx-http/src/unconfirmed-update-attributions.cjs.map +1 -0
- package/dist/keryx-http/src/unconfirmed-update-attributions.d.ts +132 -0
- package/dist/keryx-http/src/unconfirmed-update-attributions.js +190 -0
- package/dist/keryx-http/src/unconfirmed-update-attributions.js.map +1 -0
- package/dist/keryx-http/src/update-attributions.cjs +141 -0
- package/dist/keryx-http/src/update-attributions.cjs.map +1 -0
- package/dist/keryx-http/src/update-attributions.d.ts +107 -0
- package/dist/keryx-http/src/update-attributions.js +141 -0
- package/dist/keryx-http/src/update-attributions.js.map +1 -0
- package/dist/lib/owner-document.cjs +6 -6
- package/dist/lib/owner-document.cjs.map +1 -1
- package/dist/lib/use-athena-rest-query.cjs +4 -4
- package/dist/lib/use-athena-rest-query.cjs.map +1 -1
- package/dist/lib/use-document-active.cjs +4 -4
- package/dist/lib/use-document-active.cjs.map +1 -1
- package/dist/lib/use-prefers-reduced-motion.cjs +2 -2
- package/dist/lib/use-prefers-reduced-motion.cjs.map +1 -1
- package/dist/offline/offline-history.cjs +7 -7
- package/dist/offline/offline-history.cjs.map +1 -1
- package/dist/provider/AthenaContext.cjs +3 -3
- package/dist/provider/AthenaContext.cjs.map +1 -1
- package/dist/provider/AthenaProvider.cjs +120 -79
- package/dist/provider/AthenaProvider.cjs.map +1 -1
- package/dist/provider/AthenaProvider.d.ts +11 -1
- package/dist/provider/AthenaProvider.js +44 -3
- package/dist/provider/AthenaProvider.js.map +1 -1
- package/dist/provider/PostHogProvider.cjs +2 -2
- package/dist/provider/PostHogProvider.cjs.map +1 -1
- package/dist/provider/agent-selection-context.cjs +2 -2
- package/dist/provider/agent-selection-context.cjs.map +1 -1
- package/dist/provider/chat-mode-context.cjs +2 -2
- package/dist/provider/chat-mode-context.cjs.map +1 -1
- package/dist/provider/session-persistence-context.cjs +10 -0
- package/dist/provider/session-persistence-context.cjs.map +1 -0
- package/dist/provider/session-persistence-context.d.ts +15 -0
- package/dist/provider/session-persistence-context.js +10 -0
- package/dist/provider/session-persistence-context.js.map +1 -0
- package/dist/provider/statewire-history-context.cjs +4 -4
- package/dist/provider/statewire-history-context.cjs.map +1 -1
- package/dist/provider/statewire-lifecycle-context.cjs +3 -3
- package/dist/provider/statewire-lifecycle-context.cjs.map +1 -1
- package/dist/provider/statewire-window-context.cjs +3 -3
- package/dist/provider/statewire-window-context.cjs.map +1 -1
- package/dist/provider/theme-style-context.cjs +3 -3
- package/dist/provider/theme-style-context.cjs.map +1 -1
- package/dist/react/package.json.cjs +1 -1
- package/dist/react/package.json.js +1 -1
- package/dist/runtime/StatewireThreadConfigLaneSync.cjs +10 -10
- package/dist/runtime/StatewireThreadConfigLaneSync.cjs.map +1 -1
- package/dist/runtime/auth-refusal-restart.cjs +7 -7
- package/dist/runtime/auth-refusal-restart.cjs.map +1 -1
- package/dist/runtime/auth.cjs +13 -13
- package/dist/runtime/auth.cjs.map +1 -1
- package/dist/runtime/statewire-lifecycle.cjs +1 -0
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -1
- package/dist/runtime/statewire-lifecycle.d.ts +3 -1
- package/dist/runtime/statewire-lifecycle.js +2 -1
- package/dist/runtime/statewire-lifecycle.js.map +1 -1
- package/dist/runtime/statewire-server-lane-context.cjs +2 -2
- package/dist/runtime/statewire-server-lane-context.cjs.map +1 -1
- package/dist/runtime/statewire-session-lane.cjs +4 -4
- package/dist/runtime/statewire-session-lane.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.cjs +10 -8
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.d.ts +2 -0
- package/dist/runtime/useAthenaStatewireRuntime.js +2 -0
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/threads/Inbox.cjs +8 -8
- package/dist/threads/Inbox.cjs.map +1 -1
- package/dist/threads/SessionList.cjs +9 -9
- package/dist/threads/SessionList.cjs.map +1 -1
- package/dist/threads/SessionsPage.cjs +11 -11
- package/dist/threads/SessionsPage.cjs.map +1 -1
- package/dist/threads/api.cjs.map +1 -1
- package/dist/threads/api.d.ts +15 -0
- package/dist/threads/api.js.map +1 -1
- package/dist/threads/conversation-list-fetcher.cjs +13 -5
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -1
- package/dist/threads/conversation-list-fetcher.d.ts +4 -1
- package/dist/threads/conversation-list-fetcher.js +13 -5
- package/dist/threads/conversation-list-fetcher.js.map +1 -1
- package/dist/threads/index-triggered-refresh.cjs +10 -10
- package/dist/threads/index-triggered-refresh.cjs.map +1 -1
- package/dist/threads/mark-viewed-thread-read.cjs +12 -12
- package/dist/threads/mark-viewed-thread-read.cjs.map +1 -1
- package/dist/threads/offline-session-list.cjs +3 -3
- package/dist/threads/offline-session-list.cjs.map +1 -1
- package/dist/threads/session-list-tab-share.cjs +5 -5
- package/dist/threads/session-list-tab-share.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.cjs +79 -57
- package/dist/threads/statewire-thread-list.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.d.ts +20 -8
- package/dist/threads/statewire-thread-list.js +28 -6
- package/dist/threads/statewire-thread-list.js.map +1 -1
- package/dist/threads/thread-id-context.cjs +5 -5
- package/dist/threads/thread-id-context.cjs.map +1 -1
- package/dist/threads/use-athena-session-attention.cjs +2 -2
- package/dist/threads/use-athena-session-attention.cjs.map +1 -1
- package/dist/threads/use-athena-sessions.cjs +37 -15
- package/dist/threads/use-athena-sessions.cjs.map +1 -1
- package/dist/threads/use-athena-sessions.d.ts +10 -5
- package/dist/threads/use-athena-sessions.js +28 -6
- package/dist/threads/use-athena-sessions.js.map +1 -1
- package/dist/threads/use-athena-thread-model.cjs +3 -3
- package/dist/threads/use-athena-thread-model.cjs.map +1 -1
- package/dist/threads/use-rest-conversation-history.cjs +3 -3
- package/dist/threads/use-rest-conversation-history.cjs.map +1 -1
- package/dist/threads/use-rest-conversation-history.d.ts +1 -0
- package/dist/threads/use-statewire-conversation-history.cjs +8 -8
- package/dist/threads/use-statewire-conversation-history.cjs.map +1 -1
- package/dist/threads/use-thread-archive.cjs +9 -9
- package/dist/threads/use-thread-archive.cjs.map +1 -1
- package/dist/threads/use-thread-favorite.cjs +2 -2
- package/dist/threads/use-thread-favorite.cjs.map +1 -1
- package/dist/threads/use-thread-field-override.cjs +20 -20
- package/dist/threads/use-thread-field-override.cjs.map +1 -1
- package/dist/threads/use-thread-read-state.cjs +4 -4
- package/dist/threads/use-thread-read-state.cjs.map +1 -1
- package/dist/threads/use-thread-rename.cjs +2 -2
- package/dist/threads/use-thread-rename.cjs.map +1 -1
- package/dist/threads/useAthenaThreadManager.cjs +2 -2
- package/dist/threads/useAthenaThreadManager.cjs.map +1 -1
- package/dist/tools/NestedPtcMessages.cjs +6 -6
- package/dist/tools/NestedPtcMessages.cjs.map +1 -1
- package/dist/tools/append-document-tool-ui.cjs +7 -7
- package/dist/tools/append-document-tool-ui.cjs.map +1 -1
- package/dist/tools/file-tool-uis.cjs +2 -2
- package/dist/tools/file-tool-uis.cjs.map +1 -1
- package/dist/tools/misc-tool-uis.cjs +2 -2
- package/dist/tools/misc-tool-uis.cjs.map +1 -1
- package/dist/tools/primitives.cjs +6 -6
- package/dist/tools/primitives.cjs.map +1 -1
- package/dist/tools/read-asset-tool-ui.cjs +6 -6
- package/dist/tools/read-asset-tool-ui.cjs.map +1 -1
- package/dist/tools/subagent-task-tool-ui.cjs +21 -21
- package/dist/tools/subagent-task-tool-ui.cjs.map +1 -1
- package/dist/tools/test-recording-tool-uis.cjs +16 -16
- package/dist/tools/test-recording-tool-uis.cjs.map +1 -1
- package/dist/tools/todo-plan-store.cjs +4 -4
- package/dist/tools/todo-plan-store.cjs.map +1 -1
- package/dist/tools/tool-appearance.cjs +3 -3
- package/dist/tools/tool-appearance.cjs.map +1 -1
- package/dist/tools/tool-fallback.cjs +14 -14
- package/dist/tools/tool-fallback.cjs.map +1 -1
- package/dist/tools/tool-uis.cjs +74 -74
- package/dist/tools/tool-uis.cjs.map +1 -1
- package/dist/tools/use-elapsed-seconds.cjs +3 -3
- package/dist/tools/use-elapsed-seconds.cjs.map +1 -1
- package/dist/tools/write-todos-tool-ui.cjs +9 -9
- package/dist/tools/write-todos-tool-ui.cjs.map +1 -1
- package/dist/ui/image-viewer.cjs +382 -0
- package/dist/ui/image-viewer.cjs.map +1 -0
- package/dist/ui/image-viewer.d.ts +50 -0
- package/dist/ui/image-viewer.js +382 -0
- package/dist/ui/image-viewer.js.map +1 -0
- package/dist/voice/chat.cjs +6 -0
- package/dist/voice/chat.cjs.map +1 -1
- package/dist/voice/chat.d.ts +1 -1
- package/dist/voice/chat.js +8 -2
- package/dist/voice/livekit-join.cjs +52 -101
- package/dist/voice/livekit-join.cjs.map +1 -1
- package/dist/voice/livekit-join.d.ts +1 -6
- package/dist/voice/livekit-join.js +52 -101
- package/dist/voice/livekit-join.js.map +1 -1
- package/dist/voice/livekit.cjs.map +1 -1
- package/dist/voice/livekit.d.ts +11 -1
- package/dist/voice/livekit.js.map +1 -1
- package/dist/voice/use-athena-voice-session.cjs +34 -34
- package/dist/voice/use-athena-voice-session.cjs.map +1 -1
- package/dist/workbench/ComputerLiveDesktop.cjs +13 -13
- package/dist/workbench/ComputerLiveDesktop.cjs.map +1 -1
- package/dist/workbench/SessionWorkbench.cjs +22 -22
- package/dist/workbench/SessionWorkbench.cjs.map +1 -1
- package/dist/workbench/session-workbench-context.cjs +3 -3
- package/dist/workbench/session-workbench-context.cjs.map +1 -1
- package/dist/workbench/session-workbench-panes.cjs +8 -8
- package/dist/workbench/session-workbench-panes.cjs.map +1 -1
- package/dist/workbench/workbench-layout-context.cjs +3 -3
- package/dist/workbench/workbench-layout-context.cjs.map +1 -1
- package/package.json +2 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const store = require("@assistant-ui/store");
|
|
4
4
|
const reactQuery = require("@tanstack/react-query");
|
|
5
|
-
const
|
|
5
|
+
const require$$0 = require("react");
|
|
6
6
|
const runconfigContract = require("./generated/runconfig-contract.cjs");
|
|
7
7
|
const messageWindow = require("./message-window.cjs");
|
|
8
8
|
const protocol = require("./protocol.cjs");
|
|
@@ -138,11 +138,11 @@ function useDeepAgentLaneHistory({
|
|
|
138
138
|
const extras = s.thread.extras;
|
|
139
139
|
return ((_a2 = protocol.readDeepAgentProtocol(extras == null ? void 0 : extras.state)) == null ? void 0 : _a2.version) ?? 0;
|
|
140
140
|
});
|
|
141
|
-
const sendRef =
|
|
141
|
+
const sendRef = require$$0.useRef(sendCommand);
|
|
142
142
|
sendRef.current = sendCommand;
|
|
143
|
-
const [mount] =
|
|
144
|
-
const [asked, setAsked] =
|
|
145
|
-
const target =
|
|
143
|
+
const [mount] = require$$0.useState(nextMount);
|
|
144
|
+
const [asked, setAsked] = require$$0.useState(false);
|
|
145
|
+
const target = require$$0.useMemo(
|
|
146
146
|
() => lane !== void 0 ? { lane } : messageId !== void 0 ? { messageId } : void 0,
|
|
147
147
|
[lane, messageId]
|
|
148
148
|
);
|
|
@@ -171,21 +171,21 @@ function useDeepAgentLaneHistory({
|
|
|
171
171
|
refetchOnReconnect: false
|
|
172
172
|
});
|
|
173
173
|
const pages = (_a = query.data) == null ? void 0 : _a.pages;
|
|
174
|
-
const history =
|
|
174
|
+
const history = require$$0.useMemo(() => {
|
|
175
175
|
var _a2, _b;
|
|
176
176
|
if (pages === void 0 || pages.length === 0) return null;
|
|
177
177
|
const entries = [...pages].reverse().flatMap((page) => page.steps);
|
|
178
178
|
return { entries, whole: ((_a2 = pages[0]) == null ? void 0 : _a2.whole) === true, total: ((_b = pages[0]) == null ? void 0 : _b.total) ?? 0 };
|
|
179
179
|
}, [pages]);
|
|
180
180
|
const available = askable && !query.isError;
|
|
181
|
-
const steps =
|
|
181
|
+
const steps = require$$0.useMemo(
|
|
182
182
|
() => history === null ? carried : mergeLaneHistory({ history: history.entries, carried, whole: history.whole }),
|
|
183
183
|
[history, carried]
|
|
184
184
|
);
|
|
185
185
|
const hasEarlier = available && (history === null ? checkpointed || steps.length < (total ?? 0) : query.hasNextPage);
|
|
186
186
|
const loading = query.isFetching;
|
|
187
187
|
const { fetchNextPage } = query;
|
|
188
|
-
const loadEarlier =
|
|
188
|
+
const loadEarlier = require$$0.useCallback(() => {
|
|
189
189
|
if (!hasEarlier || loading) return;
|
|
190
190
|
if (history === null) setAsked(true);
|
|
191
191
|
else void fetchNextPage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane-history.cjs","sources":["../../../../agent-runtime/src/lane-history.ts"],"sourcesContent":["/**\n * A card's whole nested transcript on demand — the client half of agora's\n * `history/lane` read command.\n *\n * A card's own document carries its nested transcript (a `task` subagent's\n * lane) cut to its newest entries whenever older ones are left off — a running\n * card always, and on a version-2 view a finished one too — counting the whole\n * stored transcript under `athena_lane_truncated`. `history/lane`\n * `{messageId, before, at?}` answers a page of it: the newest `before` entries,\n * or those strictly older than `at`, oldest first, each projected like a\n * followed lane step (every inline image a placeholder), with\n * `{more: {before}, total}`. {@link useDeepAgentLaneHistory} pages one card's\n * transcript for a surface that shows it whole, and {@link mergeLaneHistory}\n * reads the pages in under the card's own live entries.\n *\n * An in-eval dispatch's lane (`task()` inside `eval`) streams the same way on\n * its `ptc_subagents` registry entry: its newest steps, the marker counting the\n * lane, running or finished. `history/lane` `{lane, before, at?}` pages it by\n * the dispatch id (the registry key, never with `messageId`), and answers the\n * same page with `lane` set and `messageId` null. A lane whose steps no longer\n * ride pages the same way from its subagent checkpoint once agora recorded its\n * namespace (`ns`), `checkpointed`: a previous run's lane in this activation\n * (a later run left its registry entry only its summary and `ns`), or a\n * reopened session's (the registry died with the activation that streamed it,\n * and the summary its eval persisted records `ns`). It carries no steps, and\n * the first page names the total.\n *\n * Only a cut card or lane is paged. A finished card is cut only by a host that\n * serves `history/lane`, so it is always asked, and so is a cut in-eval lane\n * (a client that never sends `lane` needs no gate); a running card is asked\n * only when the host's `protocol` lane advertises\n * `DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION`. A card whose entries carry no ids\n * cannot be paged: the host says to read the card whole with\n * `history/message`, and that one read stands for the lane. Any other refusal\n * (an older pod answers `history/lane` as an unknown command, or wants a\n * `messageId`; a lane with no recorded checkpoint) leaves the surface on the\n * entries it carries: no error, and that mount never asks again.\n *\n * Surfaces opt in. A surface that pages nothing ships none of this.\n */\nimport type { LangChainMessage } from '@assistant-ui/react-langgraph';\nimport type { StatewireThread } from '@assistant-ui/react-statewire';\nimport { useAuiState } from '@assistant-ui/store';\nimport { type InfiniteData, useInfiniteQuery } from '@tanstack/react-query';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport {\n DEEP_AGENT_HISTORY_LANE_COMMAND,\n DEEP_AGENT_HISTORY_MESSAGE_COMMAND,\n DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION,\n DEEP_AGENT_MAX_LANE_PAGE,\n} from './generated/runconfig-contract';\nimport { buildHistoryMessageCommand, readHistoryMessageResult } from './message-window';\nimport { readDeepAgentProtocol } from './protocol';\nimport { nestedMessagesFromArtifact } from './subagents';\nimport { hasStatewireThreadExtras } from './thread-extras';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isCount = (value: unknown): value is number =>\n typeof value === 'number' && Number.isInteger(value) && value >= 0;\n\nconst entryId = (entry: unknown): string | undefined => {\n const id = isRecord(entry) ? entry.id : undefined;\n return typeof id === 'string' ? id : undefined;\n};\n\n/**\n * The `history/lane` read command on the statewire command union, so\n * `sendCommand({ type: 'history/lane', … })` typechecks wherever the deep-agent\n * host is driven (an attach-ACL read, like `history/message`).\n */\ndeclare module '@assistant-ui/core' {\n namespace Assistant {\n interface Commands {\n /** A page of one card's nested transcript. */\n historyLane: HistoryLaneCommand;\n }\n }\n}\n\n/**\n * What one `history/lane` read pages: a card's nested transcript, by the card's\n * message id (a finished card or a running placeholder), or an in-eval\n * dispatch's lane, by its dispatch id.\n */\nexport type DeepAgentLaneTarget =\n | { readonly messageId: string; readonly lane?: undefined }\n | { readonly lane: string; readonly messageId?: undefined };\n\n/** The `history/lane` command: a page of one card's or lane's steps, oldest first. */\nexport type HistoryLaneCommand = {\n readonly type: typeof DEEP_AGENT_HISTORY_LANE_COMMAND;\n /** Entries in the page (`1..DEEP_AGENT_MAX_LANE_PAGE`). */\n readonly before: number;\n /** An entry id: the page holds the entries strictly older than it. Without it, the newest. */\n readonly at?: string;\n} & ({ readonly messageId: string } | { readonly lane: string });\n\nexport function buildHistoryLaneCommand({\n target,\n at,\n}: {\n target: DeepAgentLaneTarget;\n at?: string | undefined;\n}): HistoryLaneCommand {\n return {\n type: DEEP_AGENT_HISTORY_LANE_COMMAND,\n ...(target.lane !== undefined ? { lane: target.lane } : { messageId: target.messageId }),\n before: DEEP_AGENT_MAX_LANE_PAGE,\n ...(at !== undefined && { at }),\n };\n}\n\n/** One page `history/lane` answered. */\nexport interface HistoryLanePage {\n /** The card it pages; `null` for a lane. */\n readonly messageId: string | null;\n /** The in-eval lane it pages; `null` for a card (a host that predates lanes leaves it out). */\n readonly lane: string | null;\n /** The page's entries, oldest first; an entry without a string id is never in one. */\n readonly steps: readonly LangChainMessage[];\n /** Whether entries older than the page remain. */\n readonly hasEarlier: boolean;\n /** Entries the card's transcript, or the lane's checkpoint, stores. */\n readonly total: number;\n}\n\nconst nonEmpty = (value: unknown): string | null =>\n typeof value === 'string' && value ? value : null;\n\nexport function readHistoryLanePage(payload: unknown): HistoryLanePage | null {\n if (!isRecord(payload)) return null;\n const { steps, more, total } = payload;\n const messageId = nonEmpty(payload.messageId);\n const lane = nonEmpty(payload.lane);\n if ((messageId === null) === (lane === null) || !Array.isArray(steps)) return null;\n if (!isRecord(more) || typeof more.before !== 'boolean' || !isCount(total)) return null;\n return {\n messageId,\n lane,\n steps: steps.filter((step): step is LangChainMessage => entryId(step) !== undefined),\n hasEarlier: more.before,\n total,\n };\n}\n\n/** Whether a page answers a read of `target`. */\nconst answers = (page: HistoryLanePage, target: DeepAgentLaneTarget): boolean =>\n target.lane !== undefined ? page.lane === target.lane : page.messageId === target.messageId;\n\n/**\n * Whether `history/lane` was refused because the lane's entries carry no ids\n * to page by: the host names `history/message` as the way to read the card.\n */\nexport function isWholeCardRefusal(error: unknown): boolean {\n const failure = isRecord(error) ? error.failure : undefined;\n return (\n isRecord(failure) &&\n failure.fate === 'rejected' &&\n typeof failure.message === 'string' &&\n failure.message.includes(DEEP_AGENT_HISTORY_MESSAGE_COMMAND)\n );\n}\n\n/** The tool calls an assistant entry makes. */\nconst callCount = (entry: LangChainMessage): number =>\n entry.type === 'ai' ? (entry.tool_calls?.length ?? 0) : 0;\n\n/**\n * A card's transcript with its paged history read in: the history (whole,\n * oldest first), then the card's own entries newer than the last one the\n * history holds — what the lane did since the history was read. The card's\n * entries older than that one and not in the history yet (a page cut short by\n * its size, or a turn the card keeps for a result it holds) come first, so the\n * view never shows less than the card. An entry the card also carries is the\n * card's copy, which is the newer one: a page is a snapshot, which can catch a\n * step mid-stream, and leaves every inline image a placeholder. The exception\n * is a turn the card keeps cut to the calls it holds results for, which\n * carries fewer calls than the page's copy. Without history, the card's own\n * entries. `whole` history is the card's entire transcript as it was read;\n * when none of its entries can be matched to the card's (they carry no ids),\n * it stands alone.\n */\nexport function mergeLaneHistory({\n history,\n carried,\n whole = false,\n}: {\n history: readonly LangChainMessage[];\n carried: readonly LangChainMessage[];\n whole?: boolean;\n}): readonly LangChainMessage[] {\n if (history.length === 0) return carried;\n const held = new Set<string>();\n for (const entry of history) {\n const id = entryId(entry);\n if (id !== undefined) held.add(id);\n }\n let anchor = -1;\n for (let index = carried.length - 1; index >= 0; index -= 1) {\n const id = entryId(carried[index]);\n if (id !== undefined && held.has(id)) {\n anchor = index;\n break;\n }\n }\n if (anchor < 0) return whole ? history : [...history, ...carried];\n const own = new Map<string, LangChainMessage>();\n for (const entry of carried) {\n const id = entryId(entry);\n if (id !== undefined) own.set(id, entry);\n }\n const read = history.map((entry) => {\n const id = entryId(entry);\n const mine = id === undefined ? undefined : own.get(id);\n return mine !== undefined && callCount(mine) >= callCount(entry) ? mine : entry;\n });\n const older = carried.slice(0, anchor).filter((entry) => {\n const id = entryId(entry);\n return id !== undefined && !held.has(id);\n });\n return [...older, ...read, ...carried.slice(anchor + 1)];\n}\n\n/** What a surface shows of one card's or lane's steps. */\nexport interface DeepAgentLaneHistoryState {\n /** The steps with the history read so far; the steps it carries before any. */\n readonly steps: readonly LangChainMessage[];\n /** Entries the transcript stores, when it is cut (a checkpointed lane's, once a page counted them). */\n readonly total: number | undefined;\n /** The host answers `history/lane` for this card or lane, and has not refused it. */\n readonly available: boolean;\n /** Entries older than the ones read remain, and can be asked for. */\n readonly hasEarlier: boolean;\n readonly loading: boolean;\n /** Read the page before the earliest entry read so far (the newest page first). */\n readonly loadEarlier: () => void;\n}\n\n/** One `history/lane` page as the pager holds it. */\ninterface LanePageData {\n /** The page's entries, oldest first. */\n readonly steps: readonly LangChainMessage[];\n readonly hasEarlier: boolean;\n readonly total: number;\n /** The card's whole transcript, read with `history/message`. */\n readonly whole: boolean;\n}\n\n/** One key per card or lane, so a card and a lane never share history or a refusal. */\nconst laneTargetKey = (target: DeepAgentLaneTarget): string =>\n target.lane !== undefined ? `lane:${target.lane}` : `card:${target.messageId}`;\n\n/**\n * The query key one card's or lane's pages are cached under. A finished card or\n * lane never changes, so its pages are kept while it is cached; a running one\n * is read afresh by each surface that mounts it (`mount`), since an old page of\n * a lane that kept running could leave a gap before the steps it carries now.\n */\nexport const deepAgentLaneHistoryQueryKey = ({\n target,\n mount,\n}: {\n target: string;\n mount?: number | undefined;\n}) => ['athena-deep-agent', 'history-lane', target, ...(mount === undefined ? [] : [mount])];\n\nlet mountCount = 0;\nconst nextMount = (): number => {\n mountCount += 1;\n return mountCount;\n};\n\ntype SendCommand = StatewireThread.Extras['sendCommand'];\n\n/** One page of `target`: `history/lane`, or the card whole when its entries carry no ids. */\nasync function readLanePage({\n sendCommand,\n target,\n at,\n}: {\n sendCommand: SendCommand;\n target: DeepAgentLaneTarget;\n at: string | undefined;\n}): Promise<LanePageData> {\n try {\n const page = readHistoryLanePage(await sendCommand(buildHistoryLaneCommand({ target, at })));\n if (page === null || !answers(page, target)) {\n throw new Error('history/lane answered another card or lane');\n }\n return { steps: page.steps, hasEarlier: page.hasEarlier, total: page.total, whole: false };\n } catch (error) {\n if (target.messageId === undefined || !isWholeCardRefusal(error)) throw error;\n const result = readHistoryMessageResult(\n await sendCommand(buildHistoryMessageCommand({ messageId: target.messageId }))\n );\n if (result === null || result.messageId !== target.messageId) {\n throw new Error('history/message answered another message');\n }\n const card: unknown = result.message;\n const steps = nestedMessagesFromArtifact(isRecord(card) ? card.artifact : undefined);\n return { steps, hasEarlier: false, total: steps.length, whole: true };\n }\n}\n\n/**\n * Pages one card's transcript, or one in-eval lane, through `history/lane` for\n * a surface that shows it whole, as a TanStack infinite query. `auto` reads\n * the newest page as soon as it is cut (an open transcript drawer); otherwise\n * nothing is read until `loadEarlier`. A card whose message id changes (its\n * result replaced the running placeholder) is a new query. A refusal is the\n * query's error: never retried or refetched, so it costs one command, and the\n * surface stays on the steps it carries with no error.\n */\nexport function useDeepAgentLaneHistory({\n messageId,\n lane,\n carried,\n total,\n finished = false,\n checkpointed = false,\n auto = false,\n}: {\n /** The card's message id, for a `task` lane. */\n messageId?: string | undefined;\n /** The dispatch id, for an in-eval lane; wins over `messageId`. Neither: nothing to page. */\n lane?: string | undefined;\n /** The steps the card or the lane's registry entry carries. */\n carried: readonly LangChainMessage[];\n /** The cut marker's `messages`; `undefined` while every step rides. */\n total: number | undefined;\n /** The cut marker says the lane finished (only a host serving `history/lane` cuts a card then). */\n finished?: boolean;\n /**\n * No steps ride: an in-eval lane a later run or a reopen left only its\n * summary and namespace. It carries no steps and no marker, `history/lane`\n * pages its subagent's own steps from its checkpoint, and the first page\n * names their total.\n */\n checkpointed?: boolean;\n auto?: boolean;\n}): DeepAgentLaneHistoryState {\n const sendCommand = useAuiState((s) =>\n hasStatewireThreadExtras(s.thread.extras)\n ? (s.thread.extras as StatewireThread.Extras).sendCommand\n : undefined\n );\n const hostVersion = useAuiState((s) => {\n const extras = s.thread.extras as Partial<StatewireThread.Extras> | undefined;\n return readDeepAgentProtocol(extras?.state)?.version ?? 0;\n });\n const sendRef = useRef(sendCommand);\n sendRef.current = sendCommand;\n const [mount] = useState(nextMount);\n const [asked, setAsked] = useState(false);\n\n const target = useMemo<DeepAgentLaneTarget | undefined>(\n () =>\n lane !== undefined ? { lane } : messageId !== undefined ? { messageId } : undefined,\n [lane, messageId]\n );\n // A checkpointed lane's steps were left off once its run had ended.\n const settled = finished || checkpointed;\n const askable =\n (total !== undefined || checkpointed) &&\n target !== undefined &&\n sendCommand !== undefined &&\n (target.lane !== undefined || settled || hostVersion >= DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION);\n\n const query = useInfiniteQuery<\n LanePageData,\n Error,\n InfiniteData<LanePageData, string | undefined>,\n readonly unknown[],\n string | undefined\n >({\n queryKey: deepAgentLaneHistoryQueryKey({\n target: target === undefined ? '' : laneTargetKey(target),\n mount: settled ? undefined : mount,\n }),\n queryFn: ({ pageParam }) => {\n const send = sendRef.current;\n if (target === undefined || send === undefined) {\n return Promise.reject(new Error('no statewire thread to read the lane from'));\n }\n return readLanePage({ sendCommand: send, target, at: pageParam });\n },\n initialPageParam: undefined,\n getNextPageParam: (last) => (last.hasEarlier ? entryId(last.steps[0]) : undefined),\n enabled: askable && (auto || asked),\n retry: false,\n retryOnMount: false,\n staleTime: Number.POSITIVE_INFINITY,\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n });\n\n const pages = query.data?.pages;\n const history = useMemo(() => {\n if (pages === undefined || pages.length === 0) return null;\n // Pages arrive newest first; each is strictly older than the one before.\n const entries = [...pages].reverse().flatMap((page) => page.steps);\n return { entries, whole: pages[0]?.whole === true, total: pages[0]?.total ?? 0 };\n }, [pages]);\n const available = askable && !query.isError;\n const steps = useMemo(\n () =>\n history === null\n ? carried\n : mergeLaneHistory({ history: history.entries, carried, whole: history.whole }),\n [history, carried]\n );\n // Before its first page, a checkpointed lane has every step still to read.\n const hasEarlier =\n available &&\n (history === null ? checkpointed || steps.length < (total ?? 0) : query.hasNextPage);\n const loading = query.isFetching;\n const { fetchNextPage } = query;\n const loadEarlier = useCallback(() => {\n if (!hasEarlier || loading) return;\n if (history === null) setAsked(true);\n else void fetchNextPage();\n }, [fetchNextPage, hasEarlier, history, loading]);\n\n return {\n steps,\n // A lane read without a marker (a checkpointed one) counts what its pages say.\n total: total === undefined ? history?.total : Math.max(total, history?.total ?? 0),\n available,\n hasEarlier,\n loading,\n loadEarlier,\n };\n}\n"],"names":["DEEP_AGENT_HISTORY_LANE_COMMAND","DEEP_AGENT_MAX_LANE_PAGE","DEEP_AGENT_HISTORY_MESSAGE_COMMAND","readHistoryMessageResult","buildHistoryMessageCommand","nestedMessagesFromArtifact","useAuiState","hasStatewireThreadExtras","readDeepAgentProtocol","useRef","useState","useMemo","DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION","useInfiniteQuery","_a","useCallback"],"mappings":";;;;;;;;;;AAwDA,MAAM,WAAW,CAAC,UAChB,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAErE,MAAM,UAAU,CAAC,UACf,OAAO,UAAU,YAAY,OAAO,UAAU,KAAK,KAAK,SAAS;AAEnE,MAAM,UAAU,CAAC,UAAuC;AACtD,QAAM,KAAK,SAAS,KAAK,IAAI,MAAM,KAAK;AACxC,SAAO,OAAO,OAAO,WAAW,KAAK;AACvC;AAkCO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AACF,GAGuB;AACrB,SAAO;AAAA,IACL,MAAMA,kBAAAA;AAAAA,IACN,GAAI,OAAO,SAAS,SAAY,EAAE,MAAM,OAAO,SAAS,EAAE,WAAW,OAAO,UAAA;AAAA,IAC5E,QAAQC,kBAAAA;AAAAA,IACR,GAAI,OAAO,UAAa,EAAE,GAAA;AAAA,EAAG;AAEjC;AAgBA,MAAM,WAAW,CAAC,UAChB,OAAO,UAAU,YAAY,QAAQ,QAAQ;AAExC,SAAS,oBAAoB,SAA0C;AAC5E,MAAI,CAAC,SAAS,OAAO,EAAG,QAAO;AAC/B,QAAM,EAAE,OAAO,MAAM,MAAA,IAAU;AAC/B,QAAM,YAAY,SAAS,QAAQ,SAAS;AAC5C,QAAM,OAAO,SAAS,QAAQ,IAAI;AAClC,MAAK,cAAc,UAAW,SAAS,SAAS,CAAC,MAAM,QAAQ,KAAK,EAAG,QAAO;AAC9E,MAAI,CAAC,SAAS,IAAI,KAAK,OAAO,KAAK,WAAW,aAAa,CAAC,QAAQ,KAAK,EAAG,QAAO;AACnF,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,OAAO,MAAM,OAAO,CAAC,SAAmC,QAAQ,IAAI,MAAM,MAAS;AAAA,IACnF,YAAY,KAAK;AAAA,IACjB;AAAA,EAAA;AAEJ;AAGA,MAAM,UAAU,CAAC,MAAuB,WACtC,OAAO,SAAS,SAAY,KAAK,SAAS,OAAO,OAAO,KAAK,cAAc,OAAO;AAM7E,SAAS,mBAAmB,OAAyB;AAC1D,QAAM,UAAU,SAAS,KAAK,IAAI,MAAM,UAAU;AAClD,SACE,SAAS,OAAO,KAChB,QAAQ,SAAS,cACjB,OAAO,QAAQ,YAAY,YAC3B,QAAQ,QAAQ,SAASC,kBAAAA,kCAAkC;AAE/D;AAGA,MAAM,YAAY,CAAC,UAAA;;AACjB,eAAM,SAAS,SAAQ,WAAM,eAAN,mBAAkB,WAAU,IAAK;AAAA;AAiBnD,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,QAAQ;AACV,GAIgC;AAC9B,MAAI,QAAQ,WAAW,EAAG,QAAO;AACjC,QAAM,2BAAW,IAAA;AACjB,aAAW,SAAS,SAAS;AAC3B,UAAM,KAAK,QAAQ,KAAK;AACxB,QAAI,OAAO,OAAW,MAAK,IAAI,EAAE;AAAA,EACnC;AACA,MAAI,SAAS;AACb,WAAS,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG;AAC3D,UAAM,KAAK,QAAQ,QAAQ,KAAK,CAAC;AACjC,QAAI,OAAO,UAAa,KAAK,IAAI,EAAE,GAAG;AACpC,eAAS;AACT;AAAA,IACF;AAAA,EACF;AACA,MAAI,SAAS,EAAG,QAAO,QAAQ,UAAU,CAAC,GAAG,SAAS,GAAG,OAAO;AAChE,QAAM,0BAAU,IAAA;AAChB,aAAW,SAAS,SAAS;AAC3B,UAAM,KAAK,QAAQ,KAAK;AACxB,QAAI,OAAO,OAAW,KAAI,IAAI,IAAI,KAAK;AAAA,EACzC;AACA,QAAM,OAAO,QAAQ,IAAI,CAAC,UAAU;AAClC,UAAM,KAAK,QAAQ,KAAK;AACxB,UAAM,OAAO,OAAO,SAAY,SAAY,IAAI,IAAI,EAAE;AACtD,WAAO,SAAS,UAAa,UAAU,IAAI,KAAK,UAAU,KAAK,IAAI,OAAO;AAAA,EAC5E,CAAC;AACD,QAAM,QAAQ,QAAQ,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,UAAU;AACvD,UAAM,KAAK,QAAQ,KAAK;AACxB,WAAO,OAAO,UAAa,CAAC,KAAK,IAAI,EAAE;AAAA,EACzC,CAAC;AACD,SAAO,CAAC,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,MAAM,SAAS,CAAC,CAAC;AACzD;AA4BA,MAAM,gBAAgB,CAAC,WACrB,OAAO,SAAS,SAAY,QAAQ,OAAO,IAAI,KAAK,QAAQ,OAAO,SAAS;AAQvE,MAAM,+BAA+B,CAAC;AAAA,EAC3C;AAAA,EACA;AACF,MAGM,CAAC,qBAAqB,gBAAgB,QAAQ,GAAI,UAAU,SAAY,KAAK,CAAC,KAAK,CAAE;AAE3F,IAAI,aAAa;AACjB,MAAM,YAAY,MAAc;AAC9B,gBAAc;AACd,SAAO;AACT;AAKA,eAAe,aAAa;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACF,GAI0B;AACxB,MAAI;AACF,UAAM,OAAO,oBAAoB,MAAM,YAAY,wBAAwB,EAAE,QAAQ,GAAA,CAAI,CAAC,CAAC;AAC3F,QAAI,SAAS,QAAQ,CAAC,QAAQ,MAAM,MAAM,GAAG;AAC3C,YAAM,IAAI,MAAM,4CAA4C;AAAA,IAC9D;AACA,WAAO,EAAE,OAAO,KAAK,OAAO,YAAY,KAAK,YAAY,OAAO,KAAK,OAAO,OAAO,MAAA;AAAA,EACrF,SAAS,OAAO;AACd,QAAI,OAAO,cAAc,UAAa,CAAC,mBAAmB,KAAK,EAAG,OAAM;AACxE,UAAM,SAASC,cAAAA;AAAAA,MACb,MAAM,YAAYC,cAAAA,2BAA2B,EAAE,WAAW,OAAO,UAAA,CAAW,CAAC;AAAA,IAAA;AAE/E,QAAI,WAAW,QAAQ,OAAO,cAAc,OAAO,WAAW;AAC5D,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AACA,UAAM,OAAgB,OAAO;AAC7B,UAAM,QAAQC,UAAAA,2BAA2B,SAAS,IAAI,IAAI,KAAK,WAAW,MAAS;AACnF,WAAO,EAAE,OAAO,YAAY,OAAO,OAAO,MAAM,QAAQ,OAAO,KAAA;AAAA,EACjE;AACF;AAWO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,eAAe;AAAA,EACf,OAAO;AACT,GAmB8B;;AAC5B,QAAM,cAAcC,MAAAA;AAAAA,IAAY,CAAC,MAC/BC,sCAAyB,EAAE,OAAO,MAAM,IACnC,EAAE,OAAO,OAAkC,cAC5C;AAAA,EAAA;AAEN,QAAM,cAAcD,kBAAY,CAAC,MAAM;;AACrC,UAAM,SAAS,EAAE,OAAO;AACxB,aAAOE,MAAAA,SAAAA,sBAAsB,iCAAQ,KAAK,MAAnCA,gBAAAA,IAAsC,YAAW;AAAA,EAC1D,CAAC;AACD,QAAM,UAAUC,MAAAA,OAAO,WAAW;AAClC,UAAQ,UAAU;AAClB,QAAM,CAAC,KAAK,IAAIC,MAAAA,SAAS,SAAS;AAClC,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,KAAK;AAExC,QAAM,SAASC,MAAAA;AAAAA,IACb,MACE,SAAS,SAAY,EAAE,KAAA,IAAS,cAAc,SAAY,EAAE,UAAA,IAAc;AAAA,IAC5E,CAAC,MAAM,SAAS;AAAA,EAAA;AAGlB,QAAM,UAAU,YAAY;AAC5B,QAAM,WACH,UAAU,UAAa,iBACxB,WAAW,UACX,gBAAgB,WACf,OAAO,SAAS,UAAa,WAAW,eAAeC;AAE1D,QAAM,QAAQC,WAAAA,iBAMZ;AAAA,IACA,UAAU,6BAA6B;AAAA,MACrC,QAAQ,WAAW,SAAY,KAAK,cAAc,MAAM;AAAA,MACxD,OAAO,UAAU,SAAY;AAAA,IAAA,CAC9B;AAAA,IACD,SAAS,CAAC,EAAE,gBAAgB;AAC1B,YAAM,OAAO,QAAQ;AACrB,UAAI,WAAW,UAAa,SAAS,QAAW;AAC9C,eAAO,QAAQ,OAAO,IAAI,MAAM,2CAA2C,CAAC;AAAA,MAC9E;AACA,aAAO,aAAa,EAAE,aAAa,MAAM,QAAQ,IAAI,WAAW;AAAA,IAClE;AAAA,IACA,kBAAkB;AAAA,IAClB,kBAAkB,CAAC,SAAU,KAAK,aAAa,QAAQ,KAAK,MAAM,CAAC,CAAC,IAAI;AAAA,IACxE,SAAS,YAAY,QAAQ;AAAA,IAC7B,OAAO;AAAA,IACP,cAAc;AAAA,IACd,WAAW,OAAO;AAAA,IAClB,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,EAAA,CACrB;AAED,QAAM,SAAQ,WAAM,SAAN,mBAAY;AAC1B,QAAM,UAAUF,MAAAA,QAAQ,MAAM;;AAC5B,QAAI,UAAU,UAAa,MAAM,WAAW,EAAG,QAAO;AAEtD,UAAM,UAAU,CAAC,GAAG,KAAK,EAAE,UAAU,QAAQ,CAAC,SAAS,KAAK,KAAK;AACjE,WAAO,EAAE,SAAS,SAAOG,MAAA,MAAM,CAAC,MAAP,gBAAAA,IAAU,WAAU,MAAM,SAAO,WAAM,CAAC,MAAP,mBAAU,UAAS,EAAA;AAAA,EAC/E,GAAG,CAAC,KAAK,CAAC;AACV,QAAM,YAAY,WAAW,CAAC,MAAM;AACpC,QAAM,QAAQH,MAAAA;AAAAA,IACZ,MACE,YAAY,OACR,UACA,iBAAiB,EAAE,SAAS,QAAQ,SAAS,SAAS,OAAO,QAAQ,OAAO;AAAA,IAClF,CAAC,SAAS,OAAO;AAAA,EAAA;AAGnB,QAAM,aACJ,cACC,YAAY,OAAO,gBAAgB,MAAM,UAAU,SAAS,KAAK,MAAM;AAC1E,QAAM,UAAU,MAAM;AACtB,QAAM,EAAE,kBAAkB;AAC1B,QAAM,cAAcI,MAAAA,YAAY,MAAM;AACpC,QAAI,CAAC,cAAc,QAAS;AAC5B,QAAI,YAAY,KAAM,UAAS,IAAI;AAAA,cACzB,cAAA;AAAA,EACZ,GAAG,CAAC,eAAe,YAAY,SAAS,OAAO,CAAC;AAEhD,SAAO;AAAA,IACL;AAAA;AAAA,IAEA,OAAO,UAAU,SAAY,mCAAS,QAAQ,KAAK,IAAI,QAAO,mCAAS,UAAS,CAAC;AAAA,IACjF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"lane-history.cjs","sources":["../../../../agent-runtime/src/lane-history.ts"],"sourcesContent":["/**\n * A card's whole nested transcript on demand — the client half of agora's\n * `history/lane` read command.\n *\n * A card's own document carries its nested transcript (a `task` subagent's\n * lane) cut to its newest entries whenever older ones are left off — a running\n * card always, and on a version-2 view a finished one too — counting the whole\n * stored transcript under `athena_lane_truncated`. `history/lane`\n * `{messageId, before, at?}` answers a page of it: the newest `before` entries,\n * or those strictly older than `at`, oldest first, each projected like a\n * followed lane step (every inline image a placeholder), with\n * `{more: {before}, total}`. {@link useDeepAgentLaneHistory} pages one card's\n * transcript for a surface that shows it whole, and {@link mergeLaneHistory}\n * reads the pages in under the card's own live entries.\n *\n * An in-eval dispatch's lane (`task()` inside `eval`) streams the same way on\n * its `ptc_subagents` registry entry: its newest steps, the marker counting the\n * lane, running or finished. `history/lane` `{lane, before, at?}` pages it by\n * the dispatch id (the registry key, never with `messageId`), and answers the\n * same page with `lane` set and `messageId` null. A lane whose steps no longer\n * ride pages the same way from its subagent checkpoint once agora recorded its\n * namespace (`ns`), `checkpointed`: a previous run's lane in this activation\n * (a later run left its registry entry only its summary and `ns`), or a\n * reopened session's (the registry died with the activation that streamed it,\n * and the summary its eval persisted records `ns`). It carries no steps, and\n * the first page names the total.\n *\n * Only a cut card or lane is paged. A finished card is cut only by a host that\n * serves `history/lane`, so it is always asked, and so is a cut in-eval lane\n * (a client that never sends `lane` needs no gate); a running card is asked\n * only when the host's `protocol` lane advertises\n * `DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION`. A card whose entries carry no ids\n * cannot be paged: the host says to read the card whole with\n * `history/message`, and that one read stands for the lane. Any other refusal\n * (an older pod answers `history/lane` as an unknown command, or wants a\n * `messageId`; a lane with no recorded checkpoint) leaves the surface on the\n * entries it carries: no error, and that mount never asks again.\n *\n * Surfaces opt in. A surface that pages nothing ships none of this.\n */\nimport type { LangChainMessage } from '@assistant-ui/react-langgraph';\nimport type { StatewireThread } from '@assistant-ui/react-statewire';\nimport { useAuiState } from '@assistant-ui/store';\nimport { type InfiniteData, useInfiniteQuery } from '@tanstack/react-query';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport {\n DEEP_AGENT_HISTORY_LANE_COMMAND,\n DEEP_AGENT_HISTORY_MESSAGE_COMMAND,\n DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION,\n DEEP_AGENT_MAX_LANE_PAGE,\n} from './generated/runconfig-contract';\nimport { buildHistoryMessageCommand, readHistoryMessageResult } from './message-window';\nimport { readDeepAgentProtocol } from './protocol';\nimport { nestedMessagesFromArtifact } from './subagents';\nimport { hasStatewireThreadExtras } from './thread-extras';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isCount = (value: unknown): value is number =>\n typeof value === 'number' && Number.isInteger(value) && value >= 0;\n\nconst entryId = (entry: unknown): string | undefined => {\n const id = isRecord(entry) ? entry.id : undefined;\n return typeof id === 'string' ? id : undefined;\n};\n\n/**\n * The `history/lane` read command on the statewire command union, so\n * `sendCommand({ type: 'history/lane', … })` typechecks wherever the deep-agent\n * host is driven (an attach-ACL read, like `history/message`).\n */\ndeclare module '@assistant-ui/core' {\n namespace Assistant {\n interface Commands {\n /** A page of one card's nested transcript. */\n historyLane: HistoryLaneCommand;\n }\n }\n}\n\n/**\n * What one `history/lane` read pages: a card's nested transcript, by the card's\n * message id (a finished card or a running placeholder), or an in-eval\n * dispatch's lane, by its dispatch id.\n */\nexport type DeepAgentLaneTarget =\n | { readonly messageId: string; readonly lane?: undefined }\n | { readonly lane: string; readonly messageId?: undefined };\n\n/** The `history/lane` command: a page of one card's or lane's steps, oldest first. */\nexport type HistoryLaneCommand = {\n readonly type: typeof DEEP_AGENT_HISTORY_LANE_COMMAND;\n /** Entries in the page (`1..DEEP_AGENT_MAX_LANE_PAGE`). */\n readonly before: number;\n /** An entry id: the page holds the entries strictly older than it. Without it, the newest. */\n readonly at?: string;\n} & ({ readonly messageId: string } | { readonly lane: string });\n\nexport function buildHistoryLaneCommand({\n target,\n at,\n}: {\n target: DeepAgentLaneTarget;\n at?: string | undefined;\n}): HistoryLaneCommand {\n return {\n type: DEEP_AGENT_HISTORY_LANE_COMMAND,\n ...(target.lane !== undefined ? { lane: target.lane } : { messageId: target.messageId }),\n before: DEEP_AGENT_MAX_LANE_PAGE,\n ...(at !== undefined && { at }),\n };\n}\n\n/** One page `history/lane` answered. */\nexport interface HistoryLanePage {\n /** The card it pages; `null` for a lane. */\n readonly messageId: string | null;\n /** The in-eval lane it pages; `null` for a card (a host that predates lanes leaves it out). */\n readonly lane: string | null;\n /** The page's entries, oldest first; an entry without a string id is never in one. */\n readonly steps: readonly LangChainMessage[];\n /** Whether entries older than the page remain. */\n readonly hasEarlier: boolean;\n /** Entries the card's transcript, or the lane's checkpoint, stores. */\n readonly total: number;\n}\n\nconst nonEmpty = (value: unknown): string | null =>\n typeof value === 'string' && value ? value : null;\n\nexport function readHistoryLanePage(payload: unknown): HistoryLanePage | null {\n if (!isRecord(payload)) return null;\n const { steps, more, total } = payload;\n const messageId = nonEmpty(payload.messageId);\n const lane = nonEmpty(payload.lane);\n if ((messageId === null) === (lane === null) || !Array.isArray(steps)) return null;\n if (!isRecord(more) || typeof more.before !== 'boolean' || !isCount(total)) return null;\n return {\n messageId,\n lane,\n steps: steps.filter((step): step is LangChainMessage => entryId(step) !== undefined),\n hasEarlier: more.before,\n total,\n };\n}\n\n/** Whether a page answers a read of `target`. */\nconst answers = (page: HistoryLanePage, target: DeepAgentLaneTarget): boolean =>\n target.lane !== undefined ? page.lane === target.lane : page.messageId === target.messageId;\n\n/**\n * Whether `history/lane` was refused because the lane's entries carry no ids\n * to page by: the host names `history/message` as the way to read the card.\n */\nexport function isWholeCardRefusal(error: unknown): boolean {\n const failure = isRecord(error) ? error.failure : undefined;\n return (\n isRecord(failure) &&\n failure.fate === 'rejected' &&\n typeof failure.message === 'string' &&\n failure.message.includes(DEEP_AGENT_HISTORY_MESSAGE_COMMAND)\n );\n}\n\n/** The tool calls an assistant entry makes. */\nconst callCount = (entry: LangChainMessage): number =>\n entry.type === 'ai' ? (entry.tool_calls?.length ?? 0) : 0;\n\n/**\n * A card's transcript with its paged history read in: the history (whole,\n * oldest first), then the card's own entries newer than the last one the\n * history holds — what the lane did since the history was read. The card's\n * entries older than that one and not in the history yet (a page cut short by\n * its size, or a turn the card keeps for a result it holds) come first, so the\n * view never shows less than the card. An entry the card also carries is the\n * card's copy, which is the newer one: a page is a snapshot, which can catch a\n * step mid-stream, and leaves every inline image a placeholder. The exception\n * is a turn the card keeps cut to the calls it holds results for, which\n * carries fewer calls than the page's copy. Without history, the card's own\n * entries. `whole` history is the card's entire transcript as it was read;\n * when none of its entries can be matched to the card's (they carry no ids),\n * it stands alone.\n */\nexport function mergeLaneHistory({\n history,\n carried,\n whole = false,\n}: {\n history: readonly LangChainMessage[];\n carried: readonly LangChainMessage[];\n whole?: boolean;\n}): readonly LangChainMessage[] {\n if (history.length === 0) return carried;\n const held = new Set<string>();\n for (const entry of history) {\n const id = entryId(entry);\n if (id !== undefined) held.add(id);\n }\n let anchor = -1;\n for (let index = carried.length - 1; index >= 0; index -= 1) {\n const id = entryId(carried[index]);\n if (id !== undefined && held.has(id)) {\n anchor = index;\n break;\n }\n }\n if (anchor < 0) return whole ? history : [...history, ...carried];\n const own = new Map<string, LangChainMessage>();\n for (const entry of carried) {\n const id = entryId(entry);\n if (id !== undefined) own.set(id, entry);\n }\n const read = history.map((entry) => {\n const id = entryId(entry);\n const mine = id === undefined ? undefined : own.get(id);\n return mine !== undefined && callCount(mine) >= callCount(entry) ? mine : entry;\n });\n const older = carried.slice(0, anchor).filter((entry) => {\n const id = entryId(entry);\n return id !== undefined && !held.has(id);\n });\n return [...older, ...read, ...carried.slice(anchor + 1)];\n}\n\n/** What a surface shows of one card's or lane's steps. */\nexport interface DeepAgentLaneHistoryState {\n /** The steps with the history read so far; the steps it carries before any. */\n readonly steps: readonly LangChainMessage[];\n /** Entries the transcript stores, when it is cut (a checkpointed lane's, once a page counted them). */\n readonly total: number | undefined;\n /** The host answers `history/lane` for this card or lane, and has not refused it. */\n readonly available: boolean;\n /** Entries older than the ones read remain, and can be asked for. */\n readonly hasEarlier: boolean;\n readonly loading: boolean;\n /** Read the page before the earliest entry read so far (the newest page first). */\n readonly loadEarlier: () => void;\n}\n\n/** One `history/lane` page as the pager holds it. */\ninterface LanePageData {\n /** The page's entries, oldest first. */\n readonly steps: readonly LangChainMessage[];\n readonly hasEarlier: boolean;\n readonly total: number;\n /** The card's whole transcript, read with `history/message`. */\n readonly whole: boolean;\n}\n\n/** One key per card or lane, so a card and a lane never share history or a refusal. */\nconst laneTargetKey = (target: DeepAgentLaneTarget): string =>\n target.lane !== undefined ? `lane:${target.lane}` : `card:${target.messageId}`;\n\n/**\n * The query key one card's or lane's pages are cached under. A finished card or\n * lane never changes, so its pages are kept while it is cached; a running one\n * is read afresh by each surface that mounts it (`mount`), since an old page of\n * a lane that kept running could leave a gap before the steps it carries now.\n */\nexport const deepAgentLaneHistoryQueryKey = ({\n target,\n mount,\n}: {\n target: string;\n mount?: number | undefined;\n}) => ['athena-deep-agent', 'history-lane', target, ...(mount === undefined ? [] : [mount])];\n\nlet mountCount = 0;\nconst nextMount = (): number => {\n mountCount += 1;\n return mountCount;\n};\n\ntype SendCommand = StatewireThread.Extras['sendCommand'];\n\n/** One page of `target`: `history/lane`, or the card whole when its entries carry no ids. */\nasync function readLanePage({\n sendCommand,\n target,\n at,\n}: {\n sendCommand: SendCommand;\n target: DeepAgentLaneTarget;\n at: string | undefined;\n}): Promise<LanePageData> {\n try {\n const page = readHistoryLanePage(await sendCommand(buildHistoryLaneCommand({ target, at })));\n if (page === null || !answers(page, target)) {\n throw new Error('history/lane answered another card or lane');\n }\n return { steps: page.steps, hasEarlier: page.hasEarlier, total: page.total, whole: false };\n } catch (error) {\n if (target.messageId === undefined || !isWholeCardRefusal(error)) throw error;\n const result = readHistoryMessageResult(\n await sendCommand(buildHistoryMessageCommand({ messageId: target.messageId }))\n );\n if (result === null || result.messageId !== target.messageId) {\n throw new Error('history/message answered another message');\n }\n const card: unknown = result.message;\n const steps = nestedMessagesFromArtifact(isRecord(card) ? card.artifact : undefined);\n return { steps, hasEarlier: false, total: steps.length, whole: true };\n }\n}\n\n/**\n * Pages one card's transcript, or one in-eval lane, through `history/lane` for\n * a surface that shows it whole, as a TanStack infinite query. `auto` reads\n * the newest page as soon as it is cut (an open transcript drawer); otherwise\n * nothing is read until `loadEarlier`. A card whose message id changes (its\n * result replaced the running placeholder) is a new query. A refusal is the\n * query's error: never retried or refetched, so it costs one command, and the\n * surface stays on the steps it carries with no error.\n */\nexport function useDeepAgentLaneHistory({\n messageId,\n lane,\n carried,\n total,\n finished = false,\n checkpointed = false,\n auto = false,\n}: {\n /** The card's message id, for a `task` lane. */\n messageId?: string | undefined;\n /** The dispatch id, for an in-eval lane; wins over `messageId`. Neither: nothing to page. */\n lane?: string | undefined;\n /** The steps the card or the lane's registry entry carries. */\n carried: readonly LangChainMessage[];\n /** The cut marker's `messages`; `undefined` while every step rides. */\n total: number | undefined;\n /** The cut marker says the lane finished (only a host serving `history/lane` cuts a card then). */\n finished?: boolean;\n /**\n * No steps ride: an in-eval lane a later run or a reopen left only its\n * summary and namespace. It carries no steps and no marker, `history/lane`\n * pages its subagent's own steps from its checkpoint, and the first page\n * names their total.\n */\n checkpointed?: boolean;\n auto?: boolean;\n}): DeepAgentLaneHistoryState {\n const sendCommand = useAuiState((s) =>\n hasStatewireThreadExtras(s.thread.extras)\n ? (s.thread.extras as StatewireThread.Extras).sendCommand\n : undefined\n );\n const hostVersion = useAuiState((s) => {\n const extras = s.thread.extras as Partial<StatewireThread.Extras> | undefined;\n return readDeepAgentProtocol(extras?.state)?.version ?? 0;\n });\n const sendRef = useRef(sendCommand);\n sendRef.current = sendCommand;\n const [mount] = useState(nextMount);\n const [asked, setAsked] = useState(false);\n\n const target = useMemo<DeepAgentLaneTarget | undefined>(\n () =>\n lane !== undefined ? { lane } : messageId !== undefined ? { messageId } : undefined,\n [lane, messageId]\n );\n // A checkpointed lane's steps were left off once its run had ended.\n const settled = finished || checkpointed;\n const askable =\n (total !== undefined || checkpointed) &&\n target !== undefined &&\n sendCommand !== undefined &&\n (target.lane !== undefined || settled || hostVersion >= DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION);\n\n const query = useInfiniteQuery<\n LanePageData,\n Error,\n InfiniteData<LanePageData, string | undefined>,\n readonly unknown[],\n string | undefined\n >({\n queryKey: deepAgentLaneHistoryQueryKey({\n target: target === undefined ? '' : laneTargetKey(target),\n mount: settled ? undefined : mount,\n }),\n queryFn: ({ pageParam }) => {\n const send = sendRef.current;\n if (target === undefined || send === undefined) {\n return Promise.reject(new Error('no statewire thread to read the lane from'));\n }\n return readLanePage({ sendCommand: send, target, at: pageParam });\n },\n initialPageParam: undefined,\n getNextPageParam: (last) => (last.hasEarlier ? entryId(last.steps[0]) : undefined),\n enabled: askable && (auto || asked),\n retry: false,\n retryOnMount: false,\n staleTime: Number.POSITIVE_INFINITY,\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n });\n\n const pages = query.data?.pages;\n const history = useMemo(() => {\n if (pages === undefined || pages.length === 0) return null;\n // Pages arrive newest first; each is strictly older than the one before.\n const entries = [...pages].reverse().flatMap((page) => page.steps);\n return { entries, whole: pages[0]?.whole === true, total: pages[0]?.total ?? 0 };\n }, [pages]);\n const available = askable && !query.isError;\n const steps = useMemo(\n () =>\n history === null\n ? carried\n : mergeLaneHistory({ history: history.entries, carried, whole: history.whole }),\n [history, carried]\n );\n // Before its first page, a checkpointed lane has every step still to read.\n const hasEarlier =\n available &&\n (history === null ? checkpointed || steps.length < (total ?? 0) : query.hasNextPage);\n const loading = query.isFetching;\n const { fetchNextPage } = query;\n const loadEarlier = useCallback(() => {\n if (!hasEarlier || loading) return;\n if (history === null) setAsked(true);\n else void fetchNextPage();\n }, [fetchNextPage, hasEarlier, history, loading]);\n\n return {\n steps,\n // A lane read without a marker (a checkpointed one) counts what its pages say.\n total: total === undefined ? history?.total : Math.max(total, history?.total ?? 0),\n available,\n hasEarlier,\n loading,\n loadEarlier,\n };\n}\n"],"names":["DEEP_AGENT_HISTORY_LANE_COMMAND","DEEP_AGENT_MAX_LANE_PAGE","DEEP_AGENT_HISTORY_MESSAGE_COMMAND","readHistoryMessageResult","buildHistoryMessageCommand","nestedMessagesFromArtifact","useAuiState","hasStatewireThreadExtras","readDeepAgentProtocol","useRef","useState","useMemo","DEEP_AGENT_LANE_CUT_PROTOCOL_VERSION","useInfiniteQuery","_a","useCallback"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const runconfigContract = require("./generated/runconfig-contract.cjs");
|
|
|
13
13
|
const messageWindow = require("./message-window.cjs");
|
|
14
14
|
const optimisticContent = require("./optimistic-content.cjs");
|
|
15
15
|
const runningToolPlaceholder = require("./running-tool-placeholder.cjs");
|
|
16
|
+
const answerRows = require("./answer-rows.cjs");
|
|
16
17
|
const statewireState = require("./statewire-state.cjs");
|
|
17
18
|
const toolNames = require("./tool-names.cjs");
|
|
18
19
|
const voiceTurnGrouping = require("./voice-turn-grouping.cjs");
|
|
@@ -70,13 +71,15 @@ const convertDeepAgentLangChainMessage = (message, metadata) => {
|
|
|
70
71
|
}
|
|
71
72
|
const usage = nativeStepUsage(message);
|
|
72
73
|
const timing = nativeTurnTiming(message);
|
|
73
|
-
|
|
74
|
+
const runId = answerRows.readAnswerRowKey(message);
|
|
75
|
+
if (usage === void 0 && timing === void 0 && runId === void 0) return converted;
|
|
74
76
|
return {
|
|
75
77
|
...converted,
|
|
76
78
|
metadata: {
|
|
77
79
|
...converted.metadata,
|
|
78
80
|
...usage !== void 0 && { steps: [{ messageId: message.id, usage }] },
|
|
79
|
-
...timing !== void 0 && { timing }
|
|
81
|
+
...timing !== void 0 && { timing },
|
|
82
|
+
...runId !== void 0 && { runId }
|
|
80
83
|
}
|
|
81
84
|
};
|
|
82
85
|
};
|
|
@@ -493,6 +496,30 @@ function liftConversationStatsIntoMetadata(message) {
|
|
|
493
496
|
}
|
|
494
497
|
};
|
|
495
498
|
}
|
|
499
|
+
const PLACE_INSTRUCTIONS_STAMP_KEY = "athena_place_instructions";
|
|
500
|
+
function liftPlaceInstructionsIntoMetadata(message) {
|
|
501
|
+
if (message.type !== "ai") return message;
|
|
502
|
+
const kwargs = message.additional_kwargs;
|
|
503
|
+
const stamp = kwargs == null ? void 0 : kwargs[PLACE_INSTRUCTIONS_STAMP_KEY];
|
|
504
|
+
const existingMetadata = kwargs == null ? void 0 : kwargs.metadata;
|
|
505
|
+
const metadata = typeof existingMetadata === "object" && existingMetadata !== null ? existingMetadata : void 0;
|
|
506
|
+
if (!Array.isArray(stamp) || stamp.length === 0) {
|
|
507
|
+
if (metadata === void 0 || !(PLACE_INSTRUCTIONS_STAMP_KEY in metadata)) return message;
|
|
508
|
+
const { [PLACE_INSTRUCTIONS_STAMP_KEY]: _unvouched, ...rest } = metadata;
|
|
509
|
+
return {
|
|
510
|
+
...message,
|
|
511
|
+
additional_kwargs: { ...kwargs, metadata: rest }
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
if ((metadata == null ? void 0 : metadata[PLACE_INSTRUCTIONS_STAMP_KEY]) === stamp) return message;
|
|
515
|
+
return {
|
|
516
|
+
...message,
|
|
517
|
+
additional_kwargs: {
|
|
518
|
+
...kwargs,
|
|
519
|
+
metadata: { ...metadata, [PLACE_INSTRUCTIONS_STAMP_KEY]: stamp }
|
|
520
|
+
}
|
|
521
|
+
};
|
|
522
|
+
}
|
|
496
523
|
function liftCompactionBoundaryIntoMetadata(message) {
|
|
497
524
|
if (message.type !== "human") return message;
|
|
498
525
|
const kwargs = message.additional_kwargs;
|
|
@@ -667,11 +694,13 @@ function liftMessageIntoMetadataChannels(message) {
|
|
|
667
694
|
liftAopSourceIntoMetadata(
|
|
668
695
|
liftHandoffSummaryIntoMetadata(
|
|
669
696
|
liftCompactionBoundaryIntoMetadata(
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
697
|
+
liftPlaceInstructionsIntoMetadata(
|
|
698
|
+
liftConversationStatsIntoMetadata(
|
|
699
|
+
liftModelIntoMetadata(
|
|
700
|
+
liftErrorsIntoMetadata(
|
|
701
|
+
liftTerminationIntoMetadata(
|
|
702
|
+
liftRunMarkerIntoMetadata(normalizeStringContentParts(message))
|
|
703
|
+
)
|
|
675
704
|
)
|
|
676
705
|
)
|
|
677
706
|
)
|
|
@@ -735,7 +764,11 @@ function convertDeepAgentState(state, {
|
|
|
735
764
|
const sanitized = isLangGraphState(values) ? sanitizeLangChainMessages(values.messages, { toolOutputs }) : [];
|
|
736
765
|
const tail = sanitized[sanitized.length - 1];
|
|
737
766
|
const tailWithdrawn = tail !== void 0 && isWithdrawn(tail);
|
|
738
|
-
const stateMessages =
|
|
767
|
+
const stateMessages = answerRows.withAnswerRows({
|
|
768
|
+
messages: voiceTurnGrouping.groupSpokenUserTurns(sanitized.filter((message) => !isWithdrawn(message))),
|
|
769
|
+
addressedTurn: answerRows.readDeepAgentAddressedTurn(values[answerRows.ADDRESSED_TURN_STATE_KEY]),
|
|
770
|
+
isRunning: isRunning && !tailWithdrawn
|
|
771
|
+
});
|
|
739
772
|
const sources = [
|
|
740
773
|
...keepTailRunningAheadOfLanes(
|
|
741
774
|
withPendingAssistantMessage(stateMessages, isRunning && !tailWithdrawn),
|
|
@@ -761,6 +794,7 @@ exports.ATHENA_STOP_SOURCE_SEND_NOW = ATHENA_STOP_SOURCE_SEND_NOW;
|
|
|
761
794
|
exports.ATHENA_TERMINATION_REASON_KEY = ATHENA_TERMINATION_REASON_KEY;
|
|
762
795
|
exports.DeepAgentMessageConversionCache = DeepAgentMessageConversionCache;
|
|
763
796
|
exports.PENDING_ASSISTANT_MESSAGE_ID = PENDING_ASSISTANT_MESSAGE_ID;
|
|
797
|
+
exports.PLACE_INSTRUCTIONS_STAMP_KEY = PLACE_INSTRUCTIONS_STAMP_KEY;
|
|
764
798
|
exports.convertDeepAgentLangChainMessage = convertDeepAgentLangChainMessage;
|
|
765
799
|
exports.convertDeepAgentMessage = convertDeepAgentMessage;
|
|
766
800
|
exports.convertDeepAgentState = convertDeepAgentState;
|
|
@@ -779,6 +813,7 @@ exports.liftConversationStatsIntoMetadata = liftConversationStatsIntoMetadata;
|
|
|
779
813
|
exports.liftErrorsIntoMetadata = liftErrorsIntoMetadata;
|
|
780
814
|
exports.liftHandoffSummaryIntoMetadata = liftHandoffSummaryIntoMetadata;
|
|
781
815
|
exports.liftModelIntoMetadata = liftModelIntoMetadata;
|
|
816
|
+
exports.liftPlaceInstructionsIntoMetadata = liftPlaceInstructionsIntoMetadata;
|
|
782
817
|
exports.liftRunMarkerIntoMetadata = liftRunMarkerIntoMetadata;
|
|
783
818
|
exports.liftTerminationIntoMetadata = liftTerminationIntoMetadata;
|
|
784
819
|
exports.liftToolMessageMetadataIntoArtifact = liftToolMessageMetadataIntoArtifact;
|