@athenaintel/react 0.28.1 → 0.30.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 +418 -10
- package/dist/agent-runtime/src/asset-attachment.cjs.map +1 -0
- package/dist/agent-runtime/src/asset-attachment.js.map +1 -0
- package/dist/agent-runtime/src/auth-denial.cjs.map +1 -0
- package/dist/agent-runtime/src/auth-denial.js.map +1 -0
- package/dist/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
- package/dist/agent-runtime/src/client-tool-bridge.js.map +1 -0
- package/dist/agent-runtime/src/client-tools.cjs.map +1 -0
- package/dist/agent-runtime/src/client-tools.js.map +1 -0
- package/dist/agent-runtime/src/composer-markdown.cjs +124 -0
- package/dist/agent-runtime/src/composer-markdown.cjs.map +1 -0
- package/dist/agent-runtime/src/composer-markdown.js +124 -0
- package/dist/agent-runtime/src/composer-markdown.js.map +1 -0
- package/dist/agent-runtime/src/conversation-index.cjs.map +1 -0
- package/dist/agent-runtime/src/conversation-index.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.cjs +36 -0
- package/dist/agent-runtime/src/conversation-list.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.js +36 -0
- package/dist/agent-runtime/src/conversation-list.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.cjs +5 -3
- package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.js +6 -4
- package/dist/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
- package/dist/agent-runtime/src/edit-command.cjs.map +1 -0
- package/dist/agent-runtime/src/edit-command.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/errors.cjs +23 -0
- package/dist/agent-runtime/src/errors.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/errors.js +23 -0
- package/dist/agent-runtime/src/errors.js.map +1 -0
- package/dist/agent-runtime/src/execute-output.cjs +41 -0
- package/dist/agent-runtime/src/execute-output.cjs.map +1 -0
- package/dist/agent-runtime/src/execute-output.js +41 -0
- package/dist/agent-runtime/src/execute-output.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.cjs +10 -2
- package/dist/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.js +10 -2
- package/dist/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
- package/dist/agent-runtime/src/github-wake-event.cjs.map +1 -0
- package/dist/agent-runtime/src/github-wake-event.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.cjs +24 -1
- package/dist/agent-runtime/src/interrupts.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.js +24 -1
- package/dist/agent-runtime/src/interrupts.js.map +1 -0
- package/dist/agent-runtime/src/message-author.cjs.map +1 -0
- package/dist/agent-runtime/src/message-author.js.map +1 -0
- package/dist/agent-runtime/src/message-window.cjs.map +1 -0
- package/dist/agent-runtime/src/message-window.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/messages.cjs +8 -4
- package/dist/agent-runtime/src/messages.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/messages.js +6 -2
- package/dist/agent-runtime/src/messages.js.map +1 -0
- package/dist/agent-runtime/src/model-context.cjs.map +1 -0
- package/dist/agent-runtime/src/model-context.js.map +1 -0
- package/dist/agent-runtime/src/optimistic-content.cjs.map +1 -0
- package/dist/agent-runtime/src/optimistic-content.js.map +1 -0
- package/dist/agent-runtime/src/protocol.cjs.map +1 -0
- package/dist/agent-runtime/src/protocol.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/queue.cjs +23 -2
- package/dist/agent-runtime/src/queue.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/queue.js +23 -2
- package/dist/agent-runtime/src/queue.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.cjs +23 -13
- package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.js +24 -14
- package/dist/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
- package/dist/agent-runtime/src/runtime-messages.cjs.map +1 -0
- package/dist/agent-runtime/src/runtime-messages.js.map +1 -0
- package/dist/agent-runtime/src/screen-point.cjs.map +1 -0
- package/dist/agent-runtime/src/screen-point.js.map +1 -0
- package/dist/agent-runtime/src/send-recovery.cjs.map +1 -0
- package/dist/agent-runtime/src/send-recovery.js.map +1 -0
- package/dist/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
- package/dist/agent-runtime/src/statewire-attach-observer.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.cjs +8 -0
- package/dist/agent-runtime/src/statewire-state.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.js +8 -0
- package/dist/agent-runtime/src/statewire-state.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.cjs +4 -0
- package/dist/agent-runtime/src/statewire-suspended.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.js +4 -0
- package/dist/agent-runtime/src/statewire-suspended.js.map +1 -0
- package/dist/agent-runtime/src/statewire-transport.cjs +43 -0
- package/dist/agent-runtime/src/statewire-transport.cjs.map +1 -0
- package/dist/agent-runtime/src/statewire-transport.js +43 -0
- package/dist/agent-runtime/src/statewire-transport.js.map +1 -0
- package/dist/agent-runtime/src/streaming-markdown.cjs.map +1 -0
- package/dist/agent-runtime/src/streaming-markdown.js.map +1 -0
- package/dist/agent-runtime/src/subscription-wake-event.cjs +252 -0
- package/dist/agent-runtime/src/subscription-wake-event.cjs.map +1 -0
- package/dist/agent-runtime/src/subscription-wake-event.js +252 -0
- package/dist/agent-runtime/src/subscription-wake-event.js.map +1 -0
- package/dist/agent-runtime/src/thread-extras.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-extras.js.map +1 -0
- package/dist/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
- package/dist/agent-runtime/src/thread-status.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-status.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.cjs +279 -3
- package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.js +279 -3
- package/dist/agent-runtime/src/tool-metadata.js.map +1 -0
- package/dist/agent-runtime/src/tool-names.cjs +5 -0
- package/dist/agent-runtime/src/tool-names.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-names.js +5 -0
- package/dist/agent-runtime/src/tool-names.js.map +1 -0
- package/dist/agent-runtime/src/tool-outputs.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-outputs.js.map +1 -0
- package/dist/agent-runtime/src/tool-result.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-result.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.cjs +33 -22
- package/dist/agent-runtime/src/use-conversation-list.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.js +34 -23
- package/dist/agent-runtime/src/use-conversation-list.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-config.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.cjs +2 -0
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.js +2 -0
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.cjs +1 -0
- package/dist/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.js +2 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs +52 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs.map +1 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.js +52 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.cjs +14 -0
- package/dist/agent-runtime/src/voice-presentation.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.js +14 -0
- package/dist/agent-runtime/src/voice-presentation.js.map +1 -0
- package/dist/agent-runtime/src/voice-turn-grouping.cjs.map +1 -0
- package/dist/agent-runtime/src/voice-turn-grouping.js.map +1 -0
- package/dist/assets/AthenaAssetEmbed.cjs +8 -2
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
- package/dist/assets/AthenaAssetEmbed.d.ts +8 -0
- package/dist/assets/AthenaAssetEmbed.js +8 -2
- package/dist/assets/AthenaAssetEmbed.js.map +1 -1
- package/dist/assets/AthenaLayout.cjs +97 -31
- package/dist/assets/AthenaLayout.cjs.map +1 -1
- package/dist/assets/AthenaLayout.d.ts +13 -0
- package/dist/assets/AthenaLayout.js +98 -32
- package/dist/assets/AthenaLayout.js.map +1 -1
- package/dist/assets/asset-embed-messages.cjs.map +1 -1
- package/dist/assets/asset-embed-messages.d.ts +6 -0
- package/dist/assets/asset-embed-messages.js.map +1 -1
- package/dist/assets/asset-panel-store.cjs +68 -32
- package/dist/assets/asset-panel-store.cjs.map +1 -1
- package/dist/assets/asset-panel-store.d.ts +47 -1
- package/dist/assets/asset-panel-store.js +68 -32
- package/dist/assets/asset-panel-store.js.map +1 -1
- package/dist/assets/use-asset-embed.cjs +29 -8
- package/dist/assets/use-asset-embed.cjs.map +1 -1
- package/dist/assets/use-asset-embed.d.ts +7 -0
- package/dist/assets/use-asset-embed.js +29 -8
- package/dist/assets/use-asset-embed.js.map +1 -1
- package/dist/catalog/chat-pickers.cjs +152 -0
- package/dist/catalog/chat-pickers.cjs.map +1 -0
- package/dist/catalog/chat-pickers.d.ts +22 -0
- package/dist/catalog/chat-pickers.js +152 -0
- package/dist/catalog/chat-pickers.js.map +1 -0
- package/dist/catalog/runtime-catalog.cjs +181 -0
- package/dist/catalog/runtime-catalog.cjs.map +1 -0
- package/dist/catalog/runtime-catalog.d.ts +100 -0
- package/dist/catalog/runtime-catalog.js +181 -0
- package/dist/catalog/runtime-catalog.js.map +1 -0
- package/dist/chat/AthenaChat.cjs +86 -46
- package/dist/chat/AthenaChat.cjs.map +1 -1
- package/dist/chat/AthenaChat.d.ts +21 -4
- package/dist/chat/AthenaChat.js +88 -48
- package/dist/chat/AthenaChat.js.map +1 -1
- package/dist/chat/StatewireApprovalCard.cjs +38 -37
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
- package/dist/chat/StatewireApprovalCard.d.ts +2 -0
- package/dist/chat/StatewireApprovalCard.js +39 -38
- package/dist/chat/StatewireApprovalCard.js.map +1 -1
- package/dist/chat/StatewireClientToolBridge.cjs +2 -2
- package/dist/chat/StatewireClientToolBridge.js +2 -2
- package/dist/chat/StatewireQueuedMessages.cjs +15 -12
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
- package/dist/chat/StatewireQueuedMessages.d.ts +22 -2
- package/dist/chat/StatewireQueuedMessages.js +15 -12
- package/dist/chat/StatewireQueuedMessages.js.map +1 -1
- package/dist/chat/StatewireRunRefusalNotice.cjs +48 -0
- package/dist/chat/StatewireRunRefusalNotice.cjs.map +1 -0
- package/dist/chat/StatewireRunRefusalNotice.d.ts +25 -0
- package/dist/chat/StatewireRunRefusalNotice.js +48 -0
- package/dist/chat/StatewireRunRefusalNotice.js.map +1 -0
- package/dist/chat/WaitingOnYouBanner.cjs +2 -2
- package/dist/chat/WaitingOnYouBanner.js +2 -2
- package/dist/chat/athena-citation-links.cjs +19 -15
- package/dist/chat/athena-citation-links.cjs.map +1 -1
- package/dist/chat/athena-citation-links.js +19 -15
- package/dist/chat/athena-citation-links.js.map +1 -1
- package/dist/chat/run-activity.cjs +9 -1
- package/dist/chat/run-activity.cjs.map +1 -1
- package/dist/chat/run-activity.d.ts +6 -0
- package/dist/chat/run-activity.js +10 -2
- package/dist/chat/run-activity.js.map +1 -1
- package/dist/chat/statewire-banners.cjs +30 -1
- package/dist/chat/statewire-banners.cjs.map +1 -1
- package/dist/chat/statewire-banners.d.ts +20 -1
- package/dist/chat/statewire-banners.js +32 -3
- package/dist/chat/statewire-banners.js.map +1 -1
- package/dist/chat/statewire-client-tools.cjs +1 -1
- package/dist/chat/statewire-client-tools.js +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.cjs +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.js +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.cjs +7 -5
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +8 -2
- package/dist/chat/super-grouping/SuperGroupingCard.js +7 -5
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs +350 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.d.ts +31 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.js +350 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.js.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs +13 -2
- package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -1
- package/dist/chat/super-grouping/ToolTimeline.d.ts +10 -3
- package/dist/chat/super-grouping/ToolTimeline.js +13 -2
- package/dist/chat/super-grouping/ToolTimeline.js.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.cjs +51 -26
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.d.ts +40 -8
- package/dist/chat/super-grouping/activity-timeline.js +52 -27
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -1
- package/dist/chat/super-grouping/index.cjs +12 -0
- package/dist/chat/super-grouping/index.cjs.map +1 -1
- package/dist/chat/super-grouping/index.d.ts +7 -2
- package/dist/chat/super-grouping/index.js +14 -2
- package/dist/chat/super-grouping/index.js.map +1 -1
- package/dist/chat/super-grouping/timeline-step.cjs +14 -5
- package/dist/chat/super-grouping/timeline-step.cjs.map +1 -1
- package/dist/chat/super-grouping/timeline-step.d.ts +10 -1
- package/dist/chat/super-grouping/timeline-step.js +15 -6
- package/dist/chat/super-grouping/timeline-step.js.map +1 -1
- package/dist/chat/super-grouping/turn-segments.cjs +82 -0
- package/dist/chat/super-grouping/turn-segments.cjs.map +1 -0
- package/dist/chat/super-grouping/turn-segments.d.ts +69 -0
- package/dist/chat/super-grouping/turn-segments.js +82 -0
- package/dist/chat/super-grouping/turn-segments.js.map +1 -0
- package/dist/chat/super-grouping/turn-timing.cjs +110 -0
- package/dist/chat/super-grouping/turn-timing.cjs.map +1 -0
- package/dist/chat/super-grouping/turn-timing.d.ts +52 -0
- package/dist/chat/super-grouping/turn-timing.js +110 -0
- package/dist/chat/super-grouping/turn-timing.js.map +1 -0
- package/dist/chat/tiptap-text.cjs +1 -1
- package/dist/chat/tiptap-text.js +1 -1
- package/dist/chat/use-athena-run-live.cjs +1 -1
- package/dist/chat/use-athena-run-live.js +1 -1
- package/dist/chat/use-statewire-approval-request.cjs +73 -4
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -1
- package/dist/chat/use-statewire-approval-request.js +74 -5
- package/dist/chat/use-statewire-approval-request.js.map +1 -1
- package/dist/chat-ui/composer/composer-message.cjs +284 -0
- package/dist/chat-ui/composer/composer-message.cjs.map +1 -0
- package/dist/chat-ui/composer/composer-message.d.ts +152 -0
- package/dist/chat-ui/composer/composer-message.js +284 -0
- package/dist/chat-ui/composer/composer-message.js.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs +57 -11
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.d.ts +34 -6
- package/dist/chat-ui/composer/tiptap-composer.js +57 -11
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
- package/dist/chat-ui/index.cjs +4 -1
- package/dist/chat-ui/index.cjs.map +1 -1
- package/dist/chat-ui/index.d.ts +3 -2
- package/dist/chat-ui/index.js +5 -2
- package/dist/chat-ui/index.js.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs +3 -2
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.js +4 -3
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.cjs +8 -2
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.js +8 -2
- package/dist/chat-ui/mentions/mention-extension.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +3 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +3 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +65 -19
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +15 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +67 -21
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +4 -2
- 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 +2 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +5 -3
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -1
- package/dist/chat-ui/messages/message-components.cjs +30 -10
- package/dist/chat-ui/messages/message-components.cjs.map +1 -1
- package/dist/chat-ui/messages/message-components.d.ts +21 -1
- package/dist/chat-ui/messages/message-components.js +30 -10
- package/dist/chat-ui/messages/message-components.js.map +1 -1
- package/dist/chat-ui/messages/runtime-message.cjs +1 -1
- package/dist/chat-ui/messages/runtime-message.js +1 -1
- package/dist/chat-ui/messages/statewire-continue-run.cjs +5 -5
- package/dist/chat-ui/messages/statewire-continue-run.js +5 -5
- package/dist/chat-ui/messages/user-edit-composer.cjs +1 -1
- package/dist/chat-ui/messages/user-edit-composer.js +1 -1
- package/dist/chat-ui/messages/wake-marker.cjs +39 -4
- package/dist/chat-ui/messages/wake-marker.cjs.map +1 -1
- package/dist/chat-ui/messages/wake-marker.d.ts +16 -5
- package/dist/chat-ui/messages/wake-marker.js +40 -5
- package/dist/chat-ui/messages/wake-marker.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-message-body.cjs +12 -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 +6 -1
- package/dist/chat-ui/rich-text/chat-message-body.js +13 -9
- package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-text-schema.cjs +64 -6
- package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-text-schema.d.ts +5 -0
- package/dist/chat-ui/rich-text/chat-text-schema.js +66 -8
- package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -1
- package/dist/chat-ui/statewire.cjs +1 -1
- package/dist/chat-ui/statewire.d.ts +1 -1
- package/dist/chat-ui/statewire.js +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.cjs +2 -2
- package/dist/chat-ui/thread/statewire-history-edge.js +2 -2
- package/dist/collab/client.cjs +218 -13
- package/dist/collab/client.cjs.map +1 -1
- package/dist/collab/client.d.ts +105 -2
- package/dist/collab/client.js +221 -17
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/index.cjs +2 -0
- package/dist/collab/index.cjs.map +1 -1
- package/dist/collab/index.d.ts +1 -1
- package/dist/collab/index.js +3 -1
- package/dist/composer/AttachmentContext.cjs +38 -12
- package/dist/composer/AttachmentContext.cjs.map +1 -1
- package/dist/composer/AttachmentContext.d.ts +22 -1
- package/dist/composer/AttachmentContext.js +40 -14
- package/dist/composer/AttachmentContext.js.map +1 -1
- package/dist/composer/QuoteContext.cjs +80 -28
- package/dist/composer/QuoteContext.cjs.map +1 -1
- package/dist/composer/QuoteContext.d.ts +35 -6
- package/dist/composer/QuoteContext.js +82 -30
- package/dist/composer/QuoteContext.js.map +1 -1
- package/dist/composer/build-composed-message.cjs +27 -0
- package/dist/composer/build-composed-message.cjs.map +1 -1
- package/dist/composer/build-composed-message.d.ts +21 -0
- package/dist/composer/build-composed-message.js +28 -1
- package/dist/composer/build-composed-message.js.map +1 -1
- package/dist/composer/composer-handoff.cjs +13 -1
- package/dist/composer/composer-handoff.cjs.map +1 -1
- package/dist/composer/composer-handoff.d.ts +12 -0
- package/dist/composer/composer-handoff.js +15 -3
- package/dist/composer/composer-handoff.js.map +1 -1
- package/dist/composer/index.d.ts +6 -3
- package/dist/composer/useReadComposerDraft.cjs +16 -0
- package/dist/composer/useReadComposerDraft.cjs.map +1 -0
- package/dist/composer/useReadComposerDraft.d.ts +6 -0
- package/dist/composer/useReadComposerDraft.js +16 -0
- package/dist/composer/useReadComposerDraft.js.map +1 -0
- package/dist/diagnostics/errors.cjs +6 -0
- package/dist/diagnostics/errors.cjs.map +1 -1
- package/dist/diagnostics/errors.d.ts +6 -0
- package/dist/diagnostics/errors.js +6 -0
- package/dist/diagnostics/errors.js.map +1 -1
- package/dist/index.cjs +159 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +53 -12
- package/dist/index.js +166 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/owner-document.cjs +32 -0
- package/dist/lib/owner-document.cjs.map +1 -0
- package/dist/lib/owner-document.d.ts +17 -0
- package/dist/lib/owner-document.js +32 -0
- package/dist/lib/owner-document.js.map +1 -0
- package/dist/lib/portal-surface.cjs +55 -0
- package/dist/lib/portal-surface.cjs.map +1 -0
- package/dist/lib/portal-surface.d.ts +37 -0
- package/dist/lib/portal-surface.js +55 -0
- package/dist/lib/portal-surface.js.map +1 -0
- package/dist/lib/use-athena-rest-query.cjs +34 -0
- package/dist/lib/use-athena-rest-query.cjs.map +1 -0
- package/dist/lib/use-athena-rest-query.d.ts +31 -0
- package/dist/lib/use-athena-rest-query.js +34 -0
- package/dist/lib/use-athena-rest-query.js.map +1 -0
- package/dist/provider/AthenaProvider.cjs +36 -6
- package/dist/provider/AthenaProvider.cjs.map +1 -1
- package/dist/provider/AthenaProvider.d.ts +20 -1
- package/dist/provider/AthenaProvider.js +38 -8
- package/dist/provider/AthenaProvider.js.map +1 -1
- package/dist/provider/citation-links.d.ts +10 -2
- package/dist/{packages/react → react}/package.json.cjs +1 -1
- package/dist/{packages/react → react}/package.json.js +1 -1
- package/dist/runtime/statewire-lifecycle.cjs +15 -3
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -1
- package/dist/runtime/statewire-lifecycle.d.ts +6 -0
- package/dist/runtime/statewire-lifecycle.js +15 -3
- package/dist/runtime/statewire-lifecycle.js.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.cjs +11 -7
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.js +11 -7
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
- package/dist/search/useAthenaRepoSearch.cjs +5 -13
- package/dist/search/useAthenaRepoSearch.cjs.map +1 -1
- package/dist/search/useAthenaRepoSearch.d.ts +3 -3
- package/dist/search/useAthenaRepoSearch.js +6 -14
- package/dist/search/useAthenaRepoSearch.js.map +1 -1
- package/dist/sheet-range/a1.cjs +162 -0
- package/dist/sheet-range/a1.cjs.map +1 -0
- package/dist/sheet-range/a1.d.ts +91 -0
- package/dist/sheet-range/a1.js +162 -0
- package/dist/sheet-range/a1.js.map +1 -0
- package/dist/sheet-range/index.cjs +22 -0
- package/dist/sheet-range/index.cjs.map +1 -0
- package/dist/sheet-range/index.d.ts +12 -0
- package/dist/sheet-range/index.js +22 -0
- package/dist/sheet-range/index.js.map +1 -0
- package/dist/sheet-range/range-preview-table.cjs +75 -0
- package/dist/sheet-range/range-preview-table.cjs.map +1 -0
- package/dist/sheet-range/range-preview-table.d.ts +20 -0
- package/dist/sheet-range/range-preview-table.js +75 -0
- package/dist/sheet-range/range-preview-table.js.map +1 -0
- package/dist/sheet-range/range-preview.cjs +116 -0
- package/dist/sheet-range/range-preview.cjs.map +1 -0
- package/dist/sheet-range/range-preview.d.ts +67 -0
- package/dist/sheet-range/range-preview.js +116 -0
- package/dist/sheet-range/range-preview.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/threads/Inbox.cjs +289 -0
- package/dist/threads/Inbox.cjs.map +1 -0
- package/dist/threads/Inbox.d.ts +46 -0
- package/dist/threads/Inbox.js +289 -0
- package/dist/threads/Inbox.js.map +1 -0
- package/dist/threads/SessionList.cjs +51 -126
- package/dist/threads/SessionList.cjs.map +1 -1
- package/dist/threads/SessionList.d.ts +26 -1
- package/dist/threads/SessionList.js +45 -120
- package/dist/threads/SessionList.js.map +1 -1
- package/dist/threads/SessionsPage.cjs +753 -0
- package/dist/threads/SessionsPage.cjs.map +1 -0
- package/dist/threads/SessionsPage.d.ts +35 -0
- package/dist/threads/SessionsPage.js +753 -0
- package/dist/threads/SessionsPage.js.map +1 -0
- package/dist/threads/api.cjs +21 -1
- package/dist/threads/api.cjs.map +1 -1
- package/dist/threads/api.d.ts +59 -0
- package/dist/threads/api.js +21 -1
- package/dist/threads/api.js.map +1 -1
- package/dist/threads/conversation-list-fetcher.cjs +9 -2
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -1
- package/dist/threads/conversation-list-fetcher.d.ts +14 -1
- package/dist/threads/conversation-list-fetcher.js +9 -2
- package/dist/threads/conversation-list-fetcher.js.map +1 -1
- package/dist/threads/index.d.ts +2 -1
- package/dist/threads/pull-request-display.cjs +25 -0
- package/dist/threads/pull-request-display.cjs.map +1 -0
- package/dist/threads/pull-request-display.d.ts +15 -0
- package/dist/threads/pull-request-display.js +25 -0
- package/dist/threads/pull-request-display.js.map +1 -0
- package/dist/threads/session-list-model.cjs +16 -2
- package/dist/threads/session-list-model.cjs.map +1 -1
- package/dist/threads/session-list-model.d.ts +10 -0
- package/dist/threads/session-list-model.js +16 -2
- package/dist/threads/session-list-model.js.map +1 -1
- package/dist/threads/session-row-parts.cjs +152 -0
- package/dist/threads/session-row-parts.cjs.map +1 -0
- package/dist/threads/session-row-parts.d.ts +50 -0
- package/dist/threads/session-row-parts.js +152 -0
- package/dist/threads/session-row-parts.js.map +1 -0
- package/dist/threads/sessions-page-model.cjs +305 -0
- package/dist/threads/sessions-page-model.cjs.map +1 -0
- package/dist/threads/sessions-page-model.d.ts +86 -0
- package/dist/threads/sessions-page-model.js +305 -0
- package/dist/threads/sessions-page-model.js.map +1 -0
- package/dist/threads/sessions-page-storage.cjs +93 -0
- package/dist/threads/sessions-page-storage.cjs.map +1 -0
- package/dist/threads/sessions-page-storage.d.ts +23 -0
- package/dist/threads/sessions-page-storage.js +93 -0
- package/dist/threads/sessions-page-storage.js.map +1 -0
- package/dist/threads/sessions-query.cjs +235 -0
- package/dist/threads/sessions-query.cjs.map +1 -0
- package/dist/threads/sessions-query.d.ts +119 -0
- package/dist/threads/sessions-query.js +235 -0
- package/dist/threads/sessions-query.js.map +1 -0
- package/dist/threads/statewire-thread-list.cjs +133 -40
- package/dist/threads/statewire-thread-list.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.d.ts +83 -2
- package/dist/threads/statewire-thread-list.js +134 -41
- package/dist/threads/statewire-thread-list.js.map +1 -1
- package/dist/threads/use-athena-sessions.cjs +198 -0
- package/dist/threads/use-athena-sessions.cjs.map +1 -0
- package/dist/threads/use-athena-sessions.d.ts +81 -0
- package/dist/threads/use-athena-sessions.js +198 -0
- package/dist/threads/use-athena-sessions.js.map +1 -0
- package/dist/threads/use-rest-conversation-history.cjs +1 -1
- package/dist/threads/use-rest-conversation-history.js +1 -1
- package/dist/threads/use-statewire-conversation-history.cjs +1 -1
- package/dist/threads/use-statewire-conversation-history.d.ts +3 -0
- package/dist/threads/use-statewire-conversation-history.js +1 -1
- package/dist/threads/use-thread-read-state.cjs +73 -0
- package/dist/threads/use-thread-read-state.cjs.map +1 -0
- package/dist/threads/use-thread-read-state.d.ts +51 -0
- package/dist/threads/use-thread-read-state.js +73 -0
- package/dist/threads/use-thread-read-state.js.map +1 -0
- package/dist/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +1 -0
- package/dist/tiptap-markdown-table/src/markdown-table-serializer.js.map +1 -0
- package/dist/tools/auto-open-tools.cjs +2 -0
- package/dist/tools/auto-open-tools.cjs.map +1 -1
- package/dist/tools/auto-open-tools.js +2 -0
- package/dist/tools/auto-open-tools.js.map +1 -1
- package/dist/tools/file-tool-uis.cjs +18 -43
- package/dist/tools/file-tool-uis.cjs.map +1 -1
- package/dist/tools/file-tool-uis.d.ts +1 -2
- package/dist/tools/file-tool-uis.js +18 -42
- package/dist/tools/file-tool-uis.js.map +1 -1
- package/dist/tools/index.cjs +6 -2
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/misc-tool-uis.cjs +2 -2
- package/dist/tools/misc-tool-uis.js +2 -2
- package/dist/tools/primitives.cjs +1 -1
- package/dist/tools/primitives.js +1 -1
- package/dist/tools/read-asset-tool-ui.cjs +21 -70
- package/dist/tools/read-asset-tool-ui.cjs.map +1 -1
- package/dist/tools/read-asset-tool-ui.js +21 -70
- package/dist/tools/read-asset-tool-ui.js.map +1 -1
- package/dist/tools/step-text.cjs +21 -0
- package/dist/tools/step-text.cjs.map +1 -0
- package/dist/tools/step-text.d.ts +10 -0
- package/dist/tools/step-text.js +21 -0
- package/dist/tools/step-text.js.map +1 -0
- package/dist/tools/tool-fallback.cjs +24 -5
- package/dist/tools/tool-fallback.cjs.map +1 -1
- package/dist/tools/tool-fallback.d.ts +3 -1
- package/dist/tools/tool-fallback.js +24 -5
- package/dist/tools/tool-fallback.js.map +1 -1
- package/dist/tools/tool-summary.cjs +661 -0
- package/dist/tools/tool-summary.cjs.map +1 -0
- package/dist/tools/tool-summary.d.ts +99 -0
- package/dist/tools/tool-summary.js +661 -0
- package/dist/tools/tool-summary.js.map +1 -0
- package/dist/tools/tool-uis.cjs +37 -95
- package/dist/tools/tool-uis.cjs.map +1 -1
- package/dist/tools/tool-uis.js +37 -95
- package/dist/tools/tool-uis.js.map +1 -1
- package/dist/tools/voice-update-tool-ui.cjs +1 -1
- package/dist/tools/voice-update-tool-ui.js +1 -1
- package/dist/tools/write-todos-tool-ui.cjs +3 -2
- package/dist/tools/write-todos-tool-ui.cjs.map +1 -1
- package/dist/tools/write-todos-tool-ui.d.ts +5 -0
- package/dist/tools/write-todos-tool-ui.js +5 -4
- package/dist/tools/write-todos-tool-ui.js.map +1 -1
- package/dist/ui/popover.cjs +6 -6
- package/dist/ui/popover.cjs.map +1 -1
- package/dist/ui/popover.js +6 -6
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/tooltip.cjs +16 -2
- package/dist/ui/tooltip.cjs.map +1 -1
- package/dist/ui/tooltip.d.ts +1 -1
- package/dist/ui/tooltip.js +16 -2
- package/dist/ui/tooltip.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/voice/use-athena-voice-session.cjs.map +1 -1
- package/dist/voice/use-athena-voice-session.d.ts +3 -3
- package/dist/voice/use-athena-voice-session.js.map +1 -1
- package/dist/workbench/SessionWorkbench.cjs +378 -0
- package/dist/workbench/SessionWorkbench.cjs.map +1 -0
- package/dist/workbench/SessionWorkbench.d.ts +30 -0
- package/dist/workbench/SessionWorkbench.js +378 -0
- package/dist/workbench/SessionWorkbench.js.map +1 -0
- package/dist/workbench/session-workbench-context.cjs +26 -0
- package/dist/workbench/session-workbench-context.cjs.map +1 -0
- package/dist/workbench/session-workbench-context.d.ts +55 -0
- package/dist/workbench/session-workbench-context.js +26 -0
- package/dist/workbench/session-workbench-context.js.map +1 -0
- package/dist/workbench/session-workbench-model.cjs +288 -0
- package/dist/workbench/session-workbench-model.cjs.map +1 -0
- package/dist/workbench/session-workbench-model.d.ts +168 -0
- package/dist/workbench/session-workbench-model.js +288 -0
- package/dist/workbench/session-workbench-model.js.map +1 -0
- package/dist/workbench/session-workbench-panes.cjs +580 -0
- package/dist/workbench/session-workbench-panes.cjs.map +1 -0
- package/dist/workbench/session-workbench-panes.d.ts +16 -0
- package/dist/workbench/session-workbench-panes.js +580 -0
- package/dist/workbench/session-workbench-panes.js.map +1 -0
- package/dist/workbench/session-workspace-api.cjs +157 -0
- package/dist/workbench/session-workspace-api.cjs.map +1 -0
- package/dist/workbench/session-workspace-api.d.ts +70 -0
- package/dist/workbench/session-workspace-api.js +157 -0
- package/dist/workbench/session-workspace-api.js.map +1 -0
- package/dist/workbench/use-session-workspace.cjs +100 -0
- package/dist/workbench/use-session-workspace.cjs.map +1 -0
- package/dist/workbench/use-session-workspace.d.ts +45 -0
- package/dist/workbench/use-session-workspace.js +100 -0
- package/dist/workbench/use-session-workspace.js.map +1 -0
- package/dist/workbench/workbench-layout-context.cjs +10 -0
- package/dist/workbench/workbench-layout-context.cjs.map +1 -0
- package/dist/workbench/workbench-layout-context.d.ts +17 -0
- package/dist/workbench/workbench-layout-context.js +10 -0
- package/dist/workbench/workbench-layout-context.js.map +1 -0
- package/package.json +20 -9
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +0 -77
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +0 -77
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +0 -181
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +0 -181
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +0 -1
- package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/asset-attachment.js.map +0 -1
- package/dist/packages/agent-runtime/src/auth-denial.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/auth-denial.js.map +0 -1
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +0 -1
- package/dist/packages/agent-runtime/src/client-tools.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/client-tools.js.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-index.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-index.js.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-list.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-list.js.map +0 -1
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +0 -1
- package/dist/packages/agent-runtime/src/edit-command.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/edit-command.js.map +0 -1
- package/dist/packages/agent-runtime/src/errors.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/errors.js.map +0 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +0 -1
- package/dist/packages/agent-runtime/src/github-wake-event.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/github-wake-event.js.map +0 -1
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/interrupts.js.map +0 -1
- package/dist/packages/agent-runtime/src/message-author.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/message-author.js.map +0 -1
- package/dist/packages/agent-runtime/src/message-window.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/message-window.js.map +0 -1
- package/dist/packages/agent-runtime/src/messages.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/messages.js.map +0 -1
- package/dist/packages/agent-runtime/src/model-context.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/model-context.js.map +0 -1
- package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/optimistic-content.js.map +0 -1
- package/dist/packages/agent-runtime/src/protocol.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/protocol.js.map +0 -1
- package/dist/packages/agent-runtime/src/queue.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/queue.js.map +0 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +0 -1
- package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/runtime-messages.js.map +0 -1
- package/dist/packages/agent-runtime/src/screen-point.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/screen-point.js.map +0 -1
- package/dist/packages/agent-runtime/src/send-recovery.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/send-recovery.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-state.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-state.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-suspended.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-transport.cjs +0 -11
- package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-transport.js +0 -11
- package/dist/packages/agent-runtime/src/statewire-transport.js.map +0 -1
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/streaming-markdown.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-extras.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-extras.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-status.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-status.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-metadata.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-outputs.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-result.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-result.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-conversation-list.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +0 -1
- package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/voice-presentation.js.map +0 -1
- package/dist/packages/agent-runtime/src/voice-turn-grouping.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/voice-turn-grouping.js.map +0 -1
- package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +0 -1
- package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.js.map +0 -1
- /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-config.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-config.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.js +0 -0
- /package/dist/{packages/react → react}/package.json.cjs.map +0 -0
- /package/dist/{packages/react → react}/package.json.js.map +0 -0
- /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.cjs +0 -0
- /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.js +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The workspace's runtime catalog for a chat's model and agent pickers: the models the signed-in
|
|
3
|
+
* person may run (the workspace's allow or deny list, admin-only models for admins), and the
|
|
4
|
+
* published collab agents they can see. The rules are the Chrome extension's, which every host now
|
|
5
|
+
* reads from here.
|
|
6
|
+
*/
|
|
7
|
+
export type AthenaModelStatus = 'ACTIVE' | 'LEGACY' | 'RECOMMENDED';
|
|
8
|
+
export interface AthenaModelOption {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
description: string | null;
|
|
12
|
+
/** Upper-case provider key, e.g. `ANTHROPIC`, `OPENAI`. */
|
|
13
|
+
provider: string;
|
|
14
|
+
status: AthenaModelStatus;
|
|
15
|
+
sortOrder: number;
|
|
16
|
+
familyId: string;
|
|
17
|
+
familyName: string;
|
|
18
|
+
isFamilyDefault: boolean;
|
|
19
|
+
isFeatured: boolean;
|
|
20
|
+
variantOrder: number;
|
|
21
|
+
}
|
|
22
|
+
export interface AthenaAgentOption {
|
|
23
|
+
/** The collab agent's asset id; pass `collab_agent:<id>` as the provider's `agent`. */
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
}
|
|
27
|
+
/** The provider labels a model picker groups by. */
|
|
28
|
+
export declare const MODEL_PROVIDER_LABELS: Readonly<Record<string, string>>;
|
|
29
|
+
export declare const ATHENA_MODEL_CATALOG_QUERY = "\n query AthenaModelCatalog {\n getCurrentUserWithWorkspace { user { isAdmin } }\n settings { workspace { approvedLargeLlms blacklistedLlms } }\n availableModels {\n id name provider status description adminOnly sortOrder\n familyId familyName isFamilyDefault isFeatured variantOrder\n }\n }\n";
|
|
30
|
+
export declare const ATHENA_AGENT_CATALOG_QUERY = "\n query AthenaAgentCatalog {\n getAllAssets(filterByAthenaOriginalType: [\"collab_agent\"]) { id title }\n }\n";
|
|
31
|
+
export interface AthenaModelCatalogResponse {
|
|
32
|
+
getCurrentUserWithWorkspace: {
|
|
33
|
+
user: {
|
|
34
|
+
isAdmin: boolean;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
settings: {
|
|
38
|
+
workspace: {
|
|
39
|
+
approvedLargeLlms: string[];
|
|
40
|
+
blacklistedLlms: string[];
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
availableModels: Array<{
|
|
44
|
+
id: string;
|
|
45
|
+
name: string;
|
|
46
|
+
provider: string;
|
|
47
|
+
status: AthenaModelStatus;
|
|
48
|
+
description: string | null;
|
|
49
|
+
adminOnly: boolean;
|
|
50
|
+
sortOrder: number;
|
|
51
|
+
familyId: string;
|
|
52
|
+
familyName: string;
|
|
53
|
+
isFamilyDefault: boolean;
|
|
54
|
+
isFeatured: boolean;
|
|
55
|
+
variantOrder: number;
|
|
56
|
+
}>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The models the person may pick, in catalog order. A workspace with an allow list offers only
|
|
60
|
+
* those; otherwise everything except its deny list. Admin-only models are offered to admins only.
|
|
61
|
+
*/
|
|
62
|
+
export declare function normalizeModelCatalog({ response, }: {
|
|
63
|
+
response: AthenaModelCatalogResponse;
|
|
64
|
+
}): AthenaModelOption[];
|
|
65
|
+
/** The published collab agents, named and sorted; assets with a blank id are dropped. */
|
|
66
|
+
export declare function normalizeAgentCatalog({ assets, }: {
|
|
67
|
+
assets: ReadonlyArray<{
|
|
68
|
+
id: string;
|
|
69
|
+
title: string | null;
|
|
70
|
+
}>;
|
|
71
|
+
}): AthenaAgentOption[];
|
|
72
|
+
/**
|
|
73
|
+
* The model a picker shows as chosen: the stored choice while the catalog offers it, else the
|
|
74
|
+
* default (unless retired), else a recommended family default, else any live model. While the
|
|
75
|
+
* catalog is empty (loading, or unreachable) the stored choice or the default stands.
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolveCatalogModelId({ stored, defaultModelId, models, }: {
|
|
78
|
+
stored: string | null;
|
|
79
|
+
defaultModelId: string;
|
|
80
|
+
models: readonly AthenaModelOption[];
|
|
81
|
+
}): string;
|
|
82
|
+
/** Models grouped under their provider's label, in catalog order. */
|
|
83
|
+
export declare function groupModelsByProvider({ models, }: {
|
|
84
|
+
models: readonly AthenaModelOption[];
|
|
85
|
+
}): Array<{
|
|
86
|
+
provider: string;
|
|
87
|
+
models: AthenaModelOption[];
|
|
88
|
+
}>;
|
|
89
|
+
/**
|
|
90
|
+
* A short fingerprint (two FNV-1a rounds, 64 bits) of a credential: it tells accounts apart in an
|
|
91
|
+
* in-memory cache key without the credential itself, or anything it could be recovered from,
|
|
92
|
+
* entering the key.
|
|
93
|
+
*/
|
|
94
|
+
export declare function credentialFingerprint({ credential }: {
|
|
95
|
+
credential: string;
|
|
96
|
+
}): string;
|
|
97
|
+
/** The models the signed-in person may pick (`normalizeModelCatalog`). */
|
|
98
|
+
export declare function useAthenaModelCatalog(): import("@tanstack/react-query").UseQueryResult<AthenaModelOption[], Error>;
|
|
99
|
+
/** The published collab agents the signed-in person can see (`normalizeAgentCatalog`). */
|
|
100
|
+
export declare function useAthenaAgentCatalog(): import("@tanstack/react-query").UseQueryResult<AthenaAgentOption[], Error>;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { useQuery, QueryClientContext, QueryClient } from "@tanstack/react-query";
|
|
2
|
+
import { useMemo, useContext, useState } from "react";
|
|
3
|
+
import { AthenaAuthContext } from "../auth/AthenaAuthContext.js";
|
|
4
|
+
import { fetchGraphQL } from "../chat-ui/mentions/suggestions/data/api-client.js";
|
|
5
|
+
import { useAthenaConfig } from "../provider/AthenaContext.js";
|
|
6
|
+
const MODEL_PROVIDER_LABELS = {
|
|
7
|
+
ANTHROPIC: "Anthropic",
|
|
8
|
+
OPENAI: "OpenAI",
|
|
9
|
+
GOOGLE: "Google",
|
|
10
|
+
XAI: "xAI",
|
|
11
|
+
META: "Meta",
|
|
12
|
+
MISTRAL: "Mistral",
|
|
13
|
+
DEEPSEEK: "DeepSeek",
|
|
14
|
+
QWEN: "Qwen",
|
|
15
|
+
MOONSHOT: "Moonshot",
|
|
16
|
+
MINIMAX: "MiniMax",
|
|
17
|
+
ZAI: "Z.ai"
|
|
18
|
+
};
|
|
19
|
+
const ATHENA_MODEL_CATALOG_QUERY = `
|
|
20
|
+
query AthenaModelCatalog {
|
|
21
|
+
getCurrentUserWithWorkspace { user { isAdmin } }
|
|
22
|
+
settings { workspace { approvedLargeLlms blacklistedLlms } }
|
|
23
|
+
availableModels {
|
|
24
|
+
id name provider status description adminOnly sortOrder
|
|
25
|
+
familyId familyName isFamilyDefault isFeatured variantOrder
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
const ATHENA_AGENT_CATALOG_QUERY = `
|
|
30
|
+
query AthenaAgentCatalog {
|
|
31
|
+
getAllAssets(filterByAthenaOriginalType: ["collab_agent"]) { id title }
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
function normalizeModelCatalog({
|
|
35
|
+
response
|
|
36
|
+
}) {
|
|
37
|
+
const isAdmin = response.getCurrentUserWithWorkspace.user.isAdmin;
|
|
38
|
+
const approved = new Set(response.settings.workspace.approvedLargeLlms);
|
|
39
|
+
const denied = new Set(response.settings.workspace.blacklistedLlms);
|
|
40
|
+
const hasAllowlist = approved.size > 0;
|
|
41
|
+
return response.availableModels.filter(
|
|
42
|
+
(model) => (!model.adminOnly || isAdmin) && (hasAllowlist ? approved.has(model.id) : !denied.has(model.id))
|
|
43
|
+
).map(
|
|
44
|
+
(model) => ({
|
|
45
|
+
id: model.id,
|
|
46
|
+
label: model.name,
|
|
47
|
+
description: model.description,
|
|
48
|
+
provider: model.provider,
|
|
49
|
+
status: model.status,
|
|
50
|
+
sortOrder: model.sortOrder,
|
|
51
|
+
familyId: model.familyId,
|
|
52
|
+
familyName: model.familyName,
|
|
53
|
+
isFamilyDefault: model.isFamilyDefault,
|
|
54
|
+
isFeatured: model.isFeatured,
|
|
55
|
+
variantOrder: model.variantOrder
|
|
56
|
+
})
|
|
57
|
+
).sort(
|
|
58
|
+
(left, right) => left.sortOrder - right.sortOrder || left.variantOrder - right.variantOrder || left.label.localeCompare(right.label)
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
function normalizeAgentCatalog({
|
|
62
|
+
assets
|
|
63
|
+
}) {
|
|
64
|
+
return assets.filter((asset) => asset.id.trim().length > 0).map((asset) => {
|
|
65
|
+
var _a;
|
|
66
|
+
return { id: asset.id, name: ((_a = asset.title) == null ? void 0 : _a.trim()) || "Untitled agent" };
|
|
67
|
+
}).sort((left, right) => left.name.localeCompare(right.name));
|
|
68
|
+
}
|
|
69
|
+
function resolveCatalogModelId({
|
|
70
|
+
stored,
|
|
71
|
+
defaultModelId,
|
|
72
|
+
models
|
|
73
|
+
}) {
|
|
74
|
+
var _a;
|
|
75
|
+
if (stored && models.some((model) => model.id === stored)) return stored;
|
|
76
|
+
return ((_a = models.find((model) => model.id === defaultModelId && model.status !== "LEGACY") ?? models.find((model) => model.status === "RECOMMENDED" && model.isFamilyDefault) ?? models.find((model) => model.status !== "LEGACY" && model.isFamilyDefault) ?? models.find((model) => model.status !== "LEGACY") ?? models[0]) == null ? void 0 : _a.id) ?? (stored || defaultModelId);
|
|
77
|
+
}
|
|
78
|
+
function groupModelsByProvider({
|
|
79
|
+
models
|
|
80
|
+
}) {
|
|
81
|
+
const groups = /* @__PURE__ */ new Map();
|
|
82
|
+
for (const model of models) {
|
|
83
|
+
const label = MODEL_PROVIDER_LABELS[model.provider] ?? model.provider;
|
|
84
|
+
groups.set(label, [...groups.get(label) ?? [], model]);
|
|
85
|
+
}
|
|
86
|
+
return Array.from(groups, ([provider, grouped]) => ({ provider, models: grouped }));
|
|
87
|
+
}
|
|
88
|
+
function useCatalogAuth() {
|
|
89
|
+
const config = useAthenaConfig();
|
|
90
|
+
return useMemo(
|
|
91
|
+
() => ({
|
|
92
|
+
backendUrl: config.backendUrl,
|
|
93
|
+
appUrl: config.appUrl,
|
|
94
|
+
apiKey: config.apiKey,
|
|
95
|
+
credentials: "include",
|
|
96
|
+
get accessToken() {
|
|
97
|
+
return config.token ?? void 0;
|
|
98
|
+
},
|
|
99
|
+
getAccessToken: async () => {
|
|
100
|
+
var _a;
|
|
101
|
+
return await ((_a = config.getToken) == null ? void 0 : _a.call(config)) ?? void 0;
|
|
102
|
+
},
|
|
103
|
+
renewAccessToken: async () => {
|
|
104
|
+
var _a;
|
|
105
|
+
return await ((_a = config.getToken) == null ? void 0 : _a.call(config, { force: true })) ?? void 0;
|
|
106
|
+
}
|
|
107
|
+
}),
|
|
108
|
+
[config]
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
function credentialFingerprint({ credential }) {
|
|
112
|
+
const round = (seed) => {
|
|
113
|
+
let hash = seed;
|
|
114
|
+
for (let index = 0; index < credential.length; index += 1) {
|
|
115
|
+
hash ^= credential.charCodeAt(index);
|
|
116
|
+
hash = Math.imul(hash, 16777619) >>> 0;
|
|
117
|
+
}
|
|
118
|
+
return hash.toString(16).padStart(8, "0");
|
|
119
|
+
};
|
|
120
|
+
return `${round(2166136261)}${round(16777619)}`;
|
|
121
|
+
}
|
|
122
|
+
function useCatalogPrincipal() {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
const config = useAthenaConfig();
|
|
125
|
+
const userId = (_b = (_a = useContext(AthenaAuthContext)) == null ? void 0 : _a.user) == null ? void 0 : _b.userId;
|
|
126
|
+
if (userId) return `user:${userId}`;
|
|
127
|
+
if (config.apiKey) return `key:${credentialFingerprint({ credential: config.apiKey })}`;
|
|
128
|
+
if (config.token) return `token:${credentialFingerprint({ credential: config.token })}`;
|
|
129
|
+
return "session";
|
|
130
|
+
}
|
|
131
|
+
function useCatalogQueryClient() {
|
|
132
|
+
const host = useContext(QueryClientContext);
|
|
133
|
+
const [own] = useState(() => new QueryClient());
|
|
134
|
+
return host ?? own;
|
|
135
|
+
}
|
|
136
|
+
function useAthenaModelCatalog() {
|
|
137
|
+
const auth = useCatalogAuth();
|
|
138
|
+
const principal = useCatalogPrincipal();
|
|
139
|
+
const queryClient = useCatalogQueryClient();
|
|
140
|
+
return useQuery(
|
|
141
|
+
{
|
|
142
|
+
queryKey: ["athena-sdk", "catalog", "models", auth.backendUrl, principal],
|
|
143
|
+
queryFn: async () => normalizeModelCatalog({
|
|
144
|
+
response: await fetchGraphQL(auth, ATHENA_MODEL_CATALOG_QUERY)
|
|
145
|
+
}),
|
|
146
|
+
staleTime: 5 * 60 * 1e3
|
|
147
|
+
},
|
|
148
|
+
queryClient
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
function useAthenaAgentCatalog() {
|
|
152
|
+
const auth = useCatalogAuth();
|
|
153
|
+
const principal = useCatalogPrincipal();
|
|
154
|
+
const queryClient = useCatalogQueryClient();
|
|
155
|
+
return useQuery(
|
|
156
|
+
{
|
|
157
|
+
queryKey: ["athena-sdk", "catalog", "agents", auth.backendUrl, principal],
|
|
158
|
+
queryFn: async () => normalizeAgentCatalog({
|
|
159
|
+
assets: (await fetchGraphQL(
|
|
160
|
+
auth,
|
|
161
|
+
ATHENA_AGENT_CATALOG_QUERY
|
|
162
|
+
)).getAllAssets ?? []
|
|
163
|
+
}),
|
|
164
|
+
staleTime: 60 * 1e3
|
|
165
|
+
},
|
|
166
|
+
queryClient
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
export {
|
|
170
|
+
ATHENA_AGENT_CATALOG_QUERY,
|
|
171
|
+
ATHENA_MODEL_CATALOG_QUERY,
|
|
172
|
+
MODEL_PROVIDER_LABELS,
|
|
173
|
+
credentialFingerprint,
|
|
174
|
+
groupModelsByProvider,
|
|
175
|
+
normalizeAgentCatalog,
|
|
176
|
+
normalizeModelCatalog,
|
|
177
|
+
resolveCatalogModelId,
|
|
178
|
+
useAthenaAgentCatalog,
|
|
179
|
+
useAthenaModelCatalog
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=runtime-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-catalog.js","sources":["../../src/catalog/runtime-catalog.ts"],"sourcesContent":["import { QueryClient, QueryClientContext, useQuery } from '@tanstack/react-query';\nimport { useContext, useMemo, useState } from 'react';\nimport { AthenaAuthContext } from '../auth/AthenaAuthContext';\nimport { fetchGraphQL, type MentionAuthContext } from '../chat-ui/mentions/suggestions/data/api-client';\nimport { useAthenaConfig } from '../provider/AthenaContext';\n\n/**\n * The workspace's runtime catalog for a chat's model and agent pickers: the models the signed-in\n * person may run (the workspace's allow or deny list, admin-only models for admins), and the\n * published collab agents they can see. The rules are the Chrome extension's, which every host now\n * reads from here.\n */\n\nexport type AthenaModelStatus = 'ACTIVE' | 'LEGACY' | 'RECOMMENDED';\n\nexport interface AthenaModelOption {\n id: string;\n label: string;\n description: string | null;\n /** Upper-case provider key, e.g. `ANTHROPIC`, `OPENAI`. */\n provider: string;\n status: AthenaModelStatus;\n sortOrder: number;\n familyId: string;\n familyName: string;\n isFamilyDefault: boolean;\n isFeatured: boolean;\n variantOrder: number;\n}\n\nexport interface AthenaAgentOption {\n /** The collab agent's asset id; pass `collab_agent:<id>` as the provider's `agent`. */\n id: string;\n name: string;\n}\n\n/** The provider labels a model picker groups by. */\nexport const MODEL_PROVIDER_LABELS: Readonly<Record<string, string>> = {\n ANTHROPIC: 'Anthropic',\n OPENAI: 'OpenAI',\n GOOGLE: 'Google',\n XAI: 'xAI',\n META: 'Meta',\n MISTRAL: 'Mistral',\n DEEPSEEK: 'DeepSeek',\n QWEN: 'Qwen',\n MOONSHOT: 'Moonshot',\n MINIMAX: 'MiniMax',\n ZAI: 'Z.ai',\n};\n\nexport const ATHENA_MODEL_CATALOG_QUERY = `\n query AthenaModelCatalog {\n getCurrentUserWithWorkspace { user { isAdmin } }\n settings { workspace { approvedLargeLlms blacklistedLlms } }\n availableModels {\n id name provider status description adminOnly sortOrder\n familyId familyName isFamilyDefault isFeatured variantOrder\n }\n }\n`;\n\nexport const ATHENA_AGENT_CATALOG_QUERY = `\n query AthenaAgentCatalog {\n getAllAssets(filterByAthenaOriginalType: [\"collab_agent\"]) { id title }\n }\n`;\n\nexport interface AthenaModelCatalogResponse {\n getCurrentUserWithWorkspace: { user: { isAdmin: boolean } };\n settings: { workspace: { approvedLargeLlms: string[]; blacklistedLlms: string[] } };\n availableModels: Array<{\n id: string;\n name: string;\n provider: string;\n status: AthenaModelStatus;\n description: string | null;\n adminOnly: boolean;\n sortOrder: number;\n familyId: string;\n familyName: string;\n isFamilyDefault: boolean;\n isFeatured: boolean;\n variantOrder: number;\n }>;\n}\n\n/**\n * The models the person may pick, in catalog order. A workspace with an allow list offers only\n * those; otherwise everything except its deny list. Admin-only models are offered to admins only.\n */\nexport function normalizeModelCatalog({\n response,\n}: {\n response: AthenaModelCatalogResponse;\n}): AthenaModelOption[] {\n const isAdmin = response.getCurrentUserWithWorkspace.user.isAdmin;\n const approved = new Set(response.settings.workspace.approvedLargeLlms);\n const denied = new Set(response.settings.workspace.blacklistedLlms);\n const hasAllowlist = approved.size > 0;\n return response.availableModels\n .filter(\n (model) =>\n (!model.adminOnly || isAdmin) && (hasAllowlist ? approved.has(model.id) : !denied.has(model.id)),\n )\n .map(\n (model): AthenaModelOption => ({\n id: model.id,\n label: model.name,\n description: model.description,\n provider: model.provider,\n status: model.status,\n sortOrder: model.sortOrder,\n familyId: model.familyId,\n familyName: model.familyName,\n isFamilyDefault: model.isFamilyDefault,\n isFeatured: model.isFeatured,\n variantOrder: model.variantOrder,\n }),\n )\n .sort(\n (left, right) =>\n left.sortOrder - right.sortOrder ||\n left.variantOrder - right.variantOrder ||\n left.label.localeCompare(right.label),\n );\n}\n\n/** The published collab agents, named and sorted; assets with a blank id are dropped. */\nexport function normalizeAgentCatalog({\n assets,\n}: {\n assets: ReadonlyArray<{ id: string; title: string | null }>;\n}): AthenaAgentOption[] {\n return assets\n .filter((asset) => asset.id.trim().length > 0)\n .map((asset) => ({ id: asset.id, name: asset.title?.trim() || 'Untitled agent' }))\n .sort((left, right) => left.name.localeCompare(right.name));\n}\n\n/**\n * The model a picker shows as chosen: the stored choice while the catalog offers it, else the\n * default (unless retired), else a recommended family default, else any live model. While the\n * catalog is empty (loading, or unreachable) the stored choice or the default stands.\n */\nexport function resolveCatalogModelId({\n stored,\n defaultModelId,\n models,\n}: {\n stored: string | null;\n defaultModelId: string;\n models: readonly AthenaModelOption[];\n}): string {\n if (stored && models.some((model) => model.id === stored)) return stored;\n return (\n (\n models.find((model) => model.id === defaultModelId && model.status !== 'LEGACY') ??\n models.find((model) => model.status === 'RECOMMENDED' && model.isFamilyDefault) ??\n models.find((model) => model.status !== 'LEGACY' && model.isFamilyDefault) ??\n models.find((model) => model.status !== 'LEGACY') ??\n models[0]\n )?.id ?? (stored || defaultModelId)\n );\n}\n\n/** Models grouped under their provider's label, in catalog order. */\nexport function groupModelsByProvider({\n models,\n}: {\n models: readonly AthenaModelOption[];\n}): Array<{ provider: string; models: AthenaModelOption[] }> {\n const groups = new Map<string, AthenaModelOption[]>();\n for (const model of models) {\n const label = MODEL_PROVIDER_LABELS[model.provider] ?? model.provider;\n groups.set(label, [...(groups.get(label) ?? []), model]);\n }\n return Array.from(groups, ([provider, grouped]) => ({ provider, models: grouped }));\n}\n\n/** The provider's credentials as the SDK's GraphQL client takes them. */\nfunction useCatalogAuth(): MentionAuthContext {\n const config = useAthenaConfig();\n return useMemo<MentionAuthContext>(\n () => ({\n backendUrl: config.backendUrl,\n appUrl: config.appUrl,\n apiKey: config.apiKey,\n credentials: 'include',\n get accessToken() {\n return config.token ?? undefined;\n },\n getAccessToken: async () => (await config.getToken?.()) ?? undefined,\n renewAccessToken: async () => (await config.getToken?.({ force: true })) ?? undefined,\n }),\n [config],\n );\n}\n\n/**\n * A short fingerprint (two FNV-1a rounds, 64 bits) of a credential: it tells accounts apart in an\n * in-memory cache key without the credential itself, or anything it could be recovered from,\n * entering the key.\n */\nexport function credentialFingerprint({ credential }: { credential: string }): string {\n const round = (seed: number) => {\n let hash = seed;\n for (let index = 0; index < credential.length; index += 1) {\n hash ^= credential.charCodeAt(index);\n hash = Math.imul(hash, 0x01000193) >>> 0;\n }\n return hash.toString(16).padStart(8, '0');\n };\n return `${round(0x811c9dc5)}${round(0x01000193)}`;\n}\n\n/**\n * Who is asking, for the cache key: the catalog differs per account (admin-only models, the\n * workspace's lists, the agents shared with them), and a host can switch accounts while keeping its\n * query client. The signed-in user's id when the SDK knows it, else a fingerprint of the credential\n * in use. Never the credential itself.\n */\nfunction useCatalogPrincipal(): string {\n const config = useAthenaConfig();\n const userId = useContext(AthenaAuthContext)?.user?.userId;\n if (userId) return `user:${userId}`;\n if (config.apiKey) return `key:${credentialFingerprint({ credential: config.apiKey })}`;\n if (config.token) return `token:${credentialFingerprint({ credential: config.token })}`;\n return 'session';\n}\n\n/**\n * The host's QueryClient when there is one (the thread list provides one), else one of the\n * pickers' own, so the catalog hooks work with or without the thread list.\n */\nfunction useCatalogQueryClient(): QueryClient {\n const host = useContext(QueryClientContext);\n const [own] = useState(() => new QueryClient());\n return host ?? own;\n}\n\n/** The models the signed-in person may pick (`normalizeModelCatalog`). */\nexport function useAthenaModelCatalog() {\n const auth = useCatalogAuth();\n const principal = useCatalogPrincipal();\n const queryClient = useCatalogQueryClient();\n return useQuery(\n {\n queryKey: ['athena-sdk', 'catalog', 'models', auth.backendUrl, principal],\n queryFn: async () =>\n normalizeModelCatalog({\n response: await fetchGraphQL<AthenaModelCatalogResponse>(auth, ATHENA_MODEL_CATALOG_QUERY),\n }),\n staleTime: 5 * 60 * 1000,\n },\n queryClient,\n );\n}\n\n/** The published collab agents the signed-in person can see (`normalizeAgentCatalog`). */\nexport function useAthenaAgentCatalog() {\n const auth = useCatalogAuth();\n const principal = useCatalogPrincipal();\n const queryClient = useCatalogQueryClient();\n return useQuery(\n {\n queryKey: ['athena-sdk', 'catalog', 'agents', auth.backendUrl, principal],\n queryFn: async () =>\n normalizeAgentCatalog({\n assets:\n (\n await fetchGraphQL<{ getAllAssets: Array<{ id: string; title: string | null }> }>(\n auth,\n ATHENA_AGENT_CATALOG_QUERY,\n )\n ).getAllAssets ?? [],\n }),\n staleTime: 60 * 1000,\n },\n queryClient,\n );\n}\n"],"names":[],"mappings":";;;;;AAqCO,MAAM,wBAA0D;AAAA,EACrE,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,KAAK;AACP;AAEO,MAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWnC,MAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AA6BnC,SAAS,sBAAsB;AAAA,EACpC;AACF,GAEwB;AACtB,QAAM,UAAU,SAAS,4BAA4B,KAAK;AAC1D,QAAM,WAAW,IAAI,IAAI,SAAS,SAAS,UAAU,iBAAiB;AACtE,QAAM,SAAS,IAAI,IAAI,SAAS,SAAS,UAAU,eAAe;AAClE,QAAM,eAAe,SAAS,OAAO;AACrC,SAAO,SAAS,gBACb;AAAA,IACC,CAAC,WACE,CAAC,MAAM,aAAa,aAAa,eAAe,SAAS,IAAI,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;AAAA,EAAA,EAEjG;AAAA,IACC,CAAC,WAA8B;AAAA,MAC7B,IAAI,MAAM;AAAA,MACV,OAAO,MAAM;AAAA,MACb,aAAa,MAAM;AAAA,MACnB,UAAU,MAAM;AAAA,MAChB,QAAQ,MAAM;AAAA,MACd,WAAW,MAAM;AAAA,MACjB,UAAU,MAAM;AAAA,MAChB,YAAY,MAAM;AAAA,MAClB,iBAAiB,MAAM;AAAA,MACvB,YAAY,MAAM;AAAA,MAClB,cAAc,MAAM;AAAA,IAAA;AAAA,EACtB,EAED;AAAA,IACC,CAAC,MAAM,UACL,KAAK,YAAY,MAAM,aACvB,KAAK,eAAe,MAAM,gBAC1B,KAAK,MAAM,cAAc,MAAM,KAAK;AAAA,EAAA;AAE5C;AAGO,SAAS,sBAAsB;AAAA,EACpC;AACF,GAEwB;AACtB,SAAO,OACJ,OAAO,CAAC,UAAU,MAAM,GAAG,KAAA,EAAO,SAAS,CAAC,EAC5C,IAAI,CAAC,UAAA;;AAAW,aAAE,IAAI,MAAM,IAAI,QAAM,WAAM,UAAN,mBAAa,WAAU,iBAAA;AAAA,GAAmB,EAChF,KAAK,CAAC,MAAM,UAAU,KAAK,KAAK,cAAc,MAAM,IAAI,CAAC;AAC9D;AAOO,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAIW;;AACT,MAAI,UAAU,OAAO,KAAK,CAAC,UAAU,MAAM,OAAO,MAAM,EAAG,QAAO;AAClE,WAEI,YAAO,KAAK,CAAC,UAAU,MAAM,OAAO,kBAAkB,MAAM,WAAW,QAAQ,KAC/E,OAAO,KAAK,CAAC,UAAU,MAAM,WAAW,iBAAiB,MAAM,eAAe,KAC9E,OAAO,KAAK,CAAC,UAAU,MAAM,WAAW,YAAY,MAAM,eAAe,KACzE,OAAO,KAAK,CAAC,UAAU,MAAM,WAAW,QAAQ,KAChD,OAAO,CAAC,MAJR,mBAKC,QAAO,UAAU;AAExB;AAGO,SAAS,sBAAsB;AAAA,EACpC;AACF,GAE6D;AAC3D,QAAM,6BAAa,IAAA;AACnB,aAAW,SAAS,QAAQ;AAC1B,UAAM,QAAQ,sBAAsB,MAAM,QAAQ,KAAK,MAAM;AAC7D,WAAO,IAAI,OAAO,CAAC,GAAI,OAAO,IAAI,KAAK,KAAK,IAAK,KAAK,CAAC;AAAA,EACzD;AACA,SAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,UAAU,OAAO,OAAO,EAAE,UAAU,QAAQ,QAAA,EAAU;AACpF;AAGA,SAAS,iBAAqC;AAC5C,QAAM,SAAS,gBAAA;AACf,SAAO;AAAA,IACL,OAAO;AAAA,MACL,YAAY,OAAO;AAAA,MACnB,QAAQ,OAAO;AAAA,MACf,QAAQ,OAAO;AAAA,MACf,aAAa;AAAA,MACb,IAAI,cAAc;AAChB,eAAO,OAAO,SAAS;AAAA,MACzB;AAAA,MACA,gBAAgB,YAAA;;AAAa,uBAAM,YAAO,aAAP,oCAAwB;AAAA;AAAA,MAC3D,kBAAkB,YAAA;;AAAa,uBAAM,YAAO,aAAP,gCAAkB,EAAE,OAAO,KAAA,OAAY;AAAA;AAAA,IAAA;AAAA,IAE9E,CAAC,MAAM;AAAA,EAAA;AAEX;AAOO,SAAS,sBAAsB,EAAE,cAA8C;AACpF,QAAM,QAAQ,CAAC,SAAiB;AAC9B,QAAI,OAAO;AACX,aAAS,QAAQ,GAAG,QAAQ,WAAW,QAAQ,SAAS,GAAG;AACzD,cAAQ,WAAW,WAAW,KAAK;AACnC,aAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,IACzC;AACA,WAAO,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAAA,EAC1C;AACA,SAAO,GAAG,MAAM,UAAU,CAAC,GAAG,MAAM,QAAU,CAAC;AACjD;AAQA,SAAS,sBAA8B;;AACrC,QAAM,SAAS,gBAAA;AACf,QAAM,UAAS,sBAAW,iBAAiB,MAA5B,mBAA+B,SAA/B,mBAAqC;AACpD,MAAI,OAAQ,QAAO,QAAQ,MAAM;AACjC,MAAI,OAAO,OAAQ,QAAO,OAAO,sBAAsB,EAAE,YAAY,OAAO,OAAA,CAAQ,CAAC;AACrF,MAAI,OAAO,MAAO,QAAO,SAAS,sBAAsB,EAAE,YAAY,OAAO,MAAA,CAAO,CAAC;AACrF,SAAO;AACT;AAMA,SAAS,wBAAqC;AAC5C,QAAM,OAAO,WAAW,kBAAkB;AAC1C,QAAM,CAAC,GAAG,IAAI,SAAS,MAAM,IAAI,aAAa;AAC9C,SAAO,QAAQ;AACjB;AAGO,SAAS,wBAAwB;AACtC,QAAM,OAAO,eAAA;AACb,QAAM,YAAY,oBAAA;AAClB,QAAM,cAAc,sBAAA;AACpB,SAAO;AAAA,IACL;AAAA,MACE,UAAU,CAAC,cAAc,WAAW,UAAU,KAAK,YAAY,SAAS;AAAA,MACxE,SAAS,YACP,sBAAsB;AAAA,QACpB,UAAU,MAAM,aAAyC,MAAM,0BAA0B;AAAA,MAAA,CAC1F;AAAA,MACH,WAAW,IAAI,KAAK;AAAA,IAAA;AAAA,IAEtB;AAAA,EAAA;AAEJ;AAGO,SAAS,wBAAwB;AACtC,QAAM,OAAO,eAAA;AACb,QAAM,YAAY,oBAAA;AAClB,QAAM,cAAc,sBAAA;AACpB,SAAO;AAAA,IACL;AAAA,MACE,UAAU,CAAC,cAAc,WAAW,UAAU,KAAK,YAAY,SAAS;AAAA,MACxE,SAAS,YACP,sBAAsB;AAAA,QACpB,SAEI,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,QAAA,GAEF,gBAAgB,CAAA;AAAA,MAAC,CACtB;AAAA,MACH,WAAW,KAAK;AAAA,IAAA;AAAA,IAElB;AAAA,EAAA;AAEJ;"}
|
package/dist/chat/AthenaChat.cjs
CHANGED
|
@@ -6,6 +6,7 @@ const AthenaChatErrorBoundary = require("./AthenaChatErrorBoundary.cjs");
|
|
|
6
6
|
const StatewireApprovalCard = require("./StatewireApprovalCard.cjs");
|
|
7
7
|
const StatewireQueuedMessages = require("./StatewireQueuedMessages.cjs");
|
|
8
8
|
const statewireBanners = require("./statewire-banners.cjs");
|
|
9
|
+
const StatewireRunRefusalNotice = require("./StatewireRunRefusalNotice.cjs");
|
|
9
10
|
const WaitingOnYouBanner = require("./WaitingOnYouBanner.cjs");
|
|
10
11
|
const wakeMarker = require("../chat-ui/messages/wake-marker.cjs");
|
|
11
12
|
const toolFallback = require("../tools/tool-fallback.cjs");
|
|
@@ -13,6 +14,7 @@ const appendDocumentToolUi = require("../tools/append-document-tool-ui.cjs");
|
|
|
13
14
|
const readAssetToolUi = require("../tools/read-asset-tool-ui.cjs");
|
|
14
15
|
const toolUis = require("../tools/tool-uis.cjs");
|
|
15
16
|
const SuperGroupingCard = require("./super-grouping/SuperGroupingCard.cjs");
|
|
17
|
+
const SuperGroupingTranscript = require("./super-grouping/SuperGroupingTranscript.cjs");
|
|
16
18
|
const NestedPtcMessages = require("../tools/NestedPtcMessages.cjs");
|
|
17
19
|
const tooltipIconButton = require("./tooltip-icon-button.cjs");
|
|
18
20
|
const button = require("../ui/button.cjs");
|
|
@@ -23,6 +25,7 @@ const statewireHistoryEdge = require("../chat-ui/thread/statewire-history-edge.c
|
|
|
23
25
|
const threadLoadingOverlay = require("../chat-ui/thread/thread-loading-overlay.cjs");
|
|
24
26
|
const composerSendOrStop = require("../chat-ui/thread/composer-send-or-stop.cjs");
|
|
25
27
|
const composerAction = require("../chat-ui/composer/composer-action.cjs");
|
|
28
|
+
const composerMessage = require("../chat-ui/composer/composer-message.cjs");
|
|
26
29
|
const athenaDiagnostics = require("../diagnostics/athena-diagnostics.cjs");
|
|
27
30
|
const useDictation = require("../dictation/use-dictation.cjs");
|
|
28
31
|
const DictationStrip = require("../dictation/DictationStrip.cjs");
|
|
@@ -42,6 +45,7 @@ const react = require("@assistant-ui/react");
|
|
|
42
45
|
const lucideReact = require("lucide-react");
|
|
43
46
|
const react$1 = require("react");
|
|
44
47
|
const threadIdContext = require("../threads/thread-id-context.cjs");
|
|
48
|
+
const statewireThreadList = require("../threads/statewire-thread-list.cjs");
|
|
45
49
|
const FileUploadButton = require("../composer/FileUploadButton.cjs");
|
|
46
50
|
const ComposerQuotePreview = require("../composer/ComposerQuotePreview.cjs");
|
|
47
51
|
const ComposerAttachmentPreview = require("../composer/ComposerAttachmentPreview.cjs");
|
|
@@ -57,11 +61,15 @@ const index = require("../toolkits/index.cjs");
|
|
|
57
61
|
const runActivity = require("./run-activity.cjs");
|
|
58
62
|
const messageTime = require("./message-time.cjs");
|
|
59
63
|
const threadScrollToBottom = require("./thread-scroll-to-bottom.cjs");
|
|
60
|
-
const githubWakeEvent = require("../
|
|
64
|
+
const githubWakeEvent = require("../agent-runtime/src/github-wake-event.cjs");
|
|
65
|
+
const subscriptionWakeEvent = require("../agent-runtime/src/subscription-wake-event.cjs");
|
|
66
|
+
const threadStatus = require("../agent-runtime/src/thread-status.cjs");
|
|
61
67
|
const cnfast = require("cnfast");
|
|
68
|
+
const DEFAULT_COMPOSER_PLACEHOLDER = "Type @ to tag an asset";
|
|
62
69
|
function QuotePostMessageBridge() {
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
const marker = react$1.useRef(null);
|
|
71
|
+
QuoteContext.useQuoteFromPostMessage({ scope: marker });
|
|
72
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { ref: marker, hidden: true });
|
|
65
73
|
}
|
|
66
74
|
const AthenaChatDefaultComponentsContext = react$1.createContext(null);
|
|
67
75
|
const AthenaReasoningTextComponentContext = react$1.createContext(null);
|
|
@@ -96,8 +104,8 @@ const AthenaDefaultAssistantMessage = () => {
|
|
|
96
104
|
);
|
|
97
105
|
};
|
|
98
106
|
const AthenaDefaultUserMessage = () => {
|
|
99
|
-
const {
|
|
100
|
-
return /* @__PURE__ */ jsxRuntime.jsx(AthenaUserMessage, { TextComponent });
|
|
107
|
+
const { UserTextComponent } = useAthenaChatDefaultComponents();
|
|
108
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AthenaUserMessage, { TextComponent: UserTextComponent });
|
|
101
109
|
};
|
|
102
110
|
const getReasoningTokensFromMetadata = (metadata) => {
|
|
103
111
|
if (!utils.isRecord(metadata)) {
|
|
@@ -140,9 +148,10 @@ const AthenaChat = ({
|
|
|
140
148
|
composer: composerSlots,
|
|
141
149
|
dictation = true
|
|
142
150
|
}) => {
|
|
143
|
-
var _a, _b, _c;
|
|
151
|
+
var _a, _b, _c, _d, _e;
|
|
144
152
|
const athenaConfig = AthenaContext.useAthenaConfig();
|
|
145
153
|
const statewireThreadId = react$1.useContext(threadIdContext.AthenaStatewireThreadIdContext);
|
|
154
|
+
const startNewSession = (_a = statewireThreadList.useAthenaStatewireThreadList()) == null ? void 0 : _a.newThread;
|
|
146
155
|
const mentionAuth = react$1.useMemo(
|
|
147
156
|
() => ({
|
|
148
157
|
backendUrl: athenaConfig.backendUrl,
|
|
@@ -187,15 +196,17 @@ const AthenaChat = ({
|
|
|
187
196
|
}),
|
|
188
197
|
[toolUIs]
|
|
189
198
|
);
|
|
190
|
-
const textComponent = ((
|
|
191
|
-
const
|
|
192
|
-
const
|
|
199
|
+
const textComponent = ((_b = components == null ? void 0 : components.messageParts) == null ? void 0 : _b.Text) ?? tiptapText.TiptapText;
|
|
200
|
+
const userTextComponent = ((_c = components == null ? void 0 : components.messageParts) == null ? void 0 : _c.Text) ?? messageComponents.UserMessageText;
|
|
201
|
+
const reasoningComponent = (_d = components == null ? void 0 : components.messageParts) == null ? void 0 : _d.Reasoning;
|
|
202
|
+
const emptyComponent = ((_e = components == null ? void 0 : components.messageParts) == null ? void 0 : _e.Empty) ?? AthenaAssistantMessageEmpty;
|
|
193
203
|
const actionBarComponent = (components == null ? void 0 : components.AssistantActionBar) ?? AthenaAssistantActionBar;
|
|
194
204
|
const avatarComponent = components == null ? void 0 : components.AssistantAvatar;
|
|
195
205
|
const defaultComponentsContextValue = react$1.useMemo(
|
|
196
206
|
() => ({
|
|
197
207
|
toolUIs: mergedToolUIs,
|
|
198
208
|
TextComponent: textComponent,
|
|
209
|
+
UserTextComponent: userTextComponent,
|
|
199
210
|
ReasoningComponent: reasoningComponent,
|
|
200
211
|
EmptyComponent: emptyComponent,
|
|
201
212
|
ActionBarComponent: actionBarComponent,
|
|
@@ -209,12 +220,13 @@ const AthenaChat = ({
|
|
|
209
220
|
groupToolCalls,
|
|
210
221
|
mergedToolUIs,
|
|
211
222
|
reasoningComponent,
|
|
212
|
-
textComponent
|
|
223
|
+
textComponent,
|
|
224
|
+
userTextComponent
|
|
213
225
|
]
|
|
214
226
|
);
|
|
215
227
|
const AssistantMessageComponent = (components == null ? void 0 : components.AssistantMessage) ?? AthenaDefaultAssistantMessage;
|
|
216
228
|
const UserMessageComponent = (components == null ? void 0 : components.UserMessage) ?? AthenaDefaultUserMessage;
|
|
217
|
-
const
|
|
229
|
+
const messageComponents$1 = react$1.useMemo(
|
|
218
230
|
() => ({
|
|
219
231
|
UserMessage: UserMessageComponent,
|
|
220
232
|
AssistantMessage: AssistantMessageComponent
|
|
@@ -238,14 +250,15 @@ const AthenaChat = ({
|
|
|
238
250
|
viewportOverlay: /* @__PURE__ */ jsxRuntime.jsx(ThreadScrollToTop, {}),
|
|
239
251
|
welcome: /* @__PURE__ */ jsxRuntime.jsx(athenaChatWelcome.AthenaChatWelcome, { welcomeMessage, welcomeSubtext }),
|
|
240
252
|
beforeMessages: /* @__PURE__ */ jsxRuntime.jsx(statewireHistoryEdge.StatewireHistoryEdge, { className: "aui-thread-history-edge" }),
|
|
241
|
-
components:
|
|
253
|
+
components: messageComponents$1,
|
|
242
254
|
runningIndicator: null,
|
|
243
255
|
scrollToBottom: null,
|
|
244
256
|
viewportFooterClassName: "aui-thread-viewport-footer sticky bottom-0 mx-auto mt-auto flex w-full max-w-(--thread-max-width) flex-col gap-4 overflow-visible rounded-t-3xl bg-background pt-4 pb-4 md:pb-6",
|
|
245
257
|
viewportFooter: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
246
258
|
welcomeSuggestions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(react.ThreadPrimitive.Empty, { children: /* @__PURE__ */ jsxRuntime.jsx(athenaChatWelcome.AthenaChatWelcomeSuggestions, { suggestions: welcomeSuggestions }) }),
|
|
247
259
|
/* @__PURE__ */ jsxRuntime.jsx(statewireBanners.StatewireConnectionBanner, {}),
|
|
248
|
-
/* @__PURE__ */ jsxRuntime.jsx(statewireBanners.StatewireErrorBanner, {}),
|
|
260
|
+
/* @__PURE__ */ jsxRuntime.jsx(statewireBanners.StatewireErrorBanner, { onStartNewSession: startNewSession }),
|
|
261
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatewireRunRefusalNotice.StatewireRunRefusalNotice, { onStartNewSession: startNewSession }),
|
|
249
262
|
/* @__PURE__ */ jsxRuntime.jsx(StatewireApprovalCard.StatewireApprovalCard, {}),
|
|
250
263
|
/* @__PURE__ */ jsxRuntime.jsx(apiClient.MentionAuthCtx.Provider, { value: mentionAuth, children: /* @__PURE__ */ jsxRuntime.jsx(StatewireQueuedMessages.StatewireQueuedMessages, {}) }),
|
|
251
264
|
/* @__PURE__ */ jsxRuntime.jsx(AttachmentContext.AttachmentProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(QuoteContext.QuoteProvider, { children: [
|
|
@@ -327,6 +340,11 @@ const AthenaChatComposer = ({ tools, slots, dictation, welcomeSuggestionCount })
|
|
|
327
340
|
var _a;
|
|
328
341
|
return ((_a = state.optional.thread) == null ? void 0 : _a.isRunning) ?? false;
|
|
329
342
|
});
|
|
343
|
+
const connection = threadStatus.useDeepAgentConnection();
|
|
344
|
+
const runLive = react.useAuiState((state) => {
|
|
345
|
+
const thread = state.optional.thread;
|
|
346
|
+
return thread ? threadStatus.readRunLive(thread, connection) : false;
|
|
347
|
+
});
|
|
330
348
|
const [dragActive, setDragActive] = react$1.useState(false);
|
|
331
349
|
const keyboardHint = composerKeyboardHint.useComposerKeyboardHint();
|
|
332
350
|
const reducedMotion = usePrefersReducedMotion.usePrefersReducedMotion();
|
|
@@ -341,6 +359,11 @@ const AthenaChatComposer = ({ tools, slots, dictation, welcomeSuggestionCount })
|
|
|
341
359
|
const appendSpokenText = react$1.useCallback(
|
|
342
360
|
(spoken) => {
|
|
343
361
|
if (!spoken) return;
|
|
362
|
+
const composer = composerRef.current;
|
|
363
|
+
if (composer == null ? void 0 : composer.appendText) {
|
|
364
|
+
composer.appendText(spoken);
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
344
367
|
aui.composer.setText(dictationState.composeDictationDraft(aui.composer.getState().text ?? "", spoken));
|
|
345
368
|
},
|
|
346
369
|
[aui]
|
|
@@ -386,24 +409,25 @@ const AthenaChatComposer = ({ tools, slots, dictation, welcomeSuggestionCount })
|
|
|
386
409
|
});
|
|
387
410
|
}, []);
|
|
388
411
|
const sendComposed = react$1.useCallback(
|
|
389
|
-
(
|
|
390
|
-
const
|
|
412
|
+
(editorSend) => {
|
|
413
|
+
const send = buildComposedMessage.buildComposedSend({
|
|
391
414
|
attachments: attachmentsRef.current,
|
|
392
415
|
quote: quoteRef.current,
|
|
393
|
-
|
|
416
|
+
send: editorSend,
|
|
394
417
|
appUrl
|
|
395
418
|
});
|
|
396
|
-
if (!
|
|
397
|
-
|
|
419
|
+
if (!send) return false;
|
|
420
|
+
composerMessage.prepareComposerSend({ threadId, ...send });
|
|
421
|
+
aui.composer.setText(send.text);
|
|
398
422
|
aui.composer.send({ steer: false });
|
|
399
423
|
clearAttachments();
|
|
400
424
|
clearQuote();
|
|
401
425
|
return true;
|
|
402
426
|
},
|
|
403
|
-
[appUrl, aui, clearAttachments, clearQuote]
|
|
427
|
+
[appUrl, aui, clearAttachments, clearQuote, threadId]
|
|
404
428
|
);
|
|
405
429
|
const interceptSubmit = react$1.useCallback(
|
|
406
|
-
(text) => attachmentsRef.current.length > 0 || quoteRef.current !== null ? sendComposed(text) : false,
|
|
430
|
+
(text, draftMarkdown) => attachmentsRef.current.length > 0 || quoteRef.current !== null ? sendComposed({ text, draftMarkdown }) : false,
|
|
407
431
|
[sendComposed]
|
|
408
432
|
);
|
|
409
433
|
const fileIntake = react$1.useMemo(
|
|
@@ -418,20 +442,20 @@ const AthenaChatComposer = ({ tools, slots, dictation, welcomeSuggestionCount })
|
|
|
418
442
|
appendSpokenText((await dictationCtl.stop()).text);
|
|
419
443
|
}, [appendSpokenText, dictationCtl]);
|
|
420
444
|
const sendDictation = react$1.useCallback(async () => {
|
|
421
|
-
var _a;
|
|
445
|
+
var _a, _b, _c;
|
|
422
446
|
const { text: spoken, error } = await dictationCtl.stop();
|
|
423
|
-
|
|
424
|
-
if (error)
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
447
|
+
appendSpokenText(spoken);
|
|
448
|
+
if (error) return;
|
|
449
|
+
const send = ((_b = (_a = composerRef.current) == null ? void 0 : _a.captureSend) == null ? void 0 : _b.call(_a)) ?? {
|
|
450
|
+
text: aui.composer.getState().text ?? "",
|
|
451
|
+
draftMarkdown: aui.composer.getState().text ?? ""
|
|
452
|
+
};
|
|
428
453
|
const extras = attachmentsRef.current.length > 0 || quoteRef.current !== null;
|
|
429
|
-
if (!text && !extras) return;
|
|
430
|
-
aui.composer.setText(text);
|
|
454
|
+
if (!send.text && !extras) return;
|
|
431
455
|
const action = composerAction.resolveComposerAction({ hasDraft: true, isRunning });
|
|
432
456
|
if (action === "stop") return;
|
|
433
457
|
try {
|
|
434
|
-
await ((
|
|
458
|
+
await ((_c = slots == null ? void 0 : slots.onBeforeSend) == null ? void 0 : _c.call(slots, { action }));
|
|
435
459
|
} catch (error2) {
|
|
436
460
|
athenaDiagnostics.athenaDiagnostics.emit("composer.dictation", {
|
|
437
461
|
level: "warn",
|
|
@@ -443,11 +467,13 @@ const AthenaChatComposer = ({ tools, slots, dictation, welcomeSuggestionCount })
|
|
|
443
467
|
return;
|
|
444
468
|
}
|
|
445
469
|
if (extras) {
|
|
446
|
-
sendComposed(
|
|
470
|
+
sendComposed(send);
|
|
447
471
|
return;
|
|
448
472
|
}
|
|
473
|
+
composerMessage.prepareComposerSend({ threadId, ...send });
|
|
474
|
+
aui.composer.setText(send.text);
|
|
449
475
|
aui.composer.send({ steer: false });
|
|
450
|
-
}, [aui, dictationCtl, isRunning, sendComposed, slots]);
|
|
476
|
+
}, [appendSpokenText, aui, dictationCtl, isRunning, sendComposed, slots, threadId]);
|
|
451
477
|
return /* @__PURE__ */ jsxRuntime.jsx(ComposerDropZone.ComposerDropZone, { onDragActiveChange: setDragActive, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
452
478
|
"div",
|
|
453
479
|
{
|
|
@@ -471,7 +497,7 @@ const AthenaChatComposer = ({ tools, slots, dictation, welcomeSuggestionCount })
|
|
|
471
497
|
ref: composerRef,
|
|
472
498
|
threadId,
|
|
473
499
|
appearance: "paper",
|
|
474
|
-
placeholder:
|
|
500
|
+
placeholder: (runLive ? slots == null ? void 0 : slots.runningPlaceholder : void 0) ?? (slots == null ? void 0 : slots.placeholder) ?? DEFAULT_COMPOSER_PLACEHOLDER,
|
|
475
501
|
tools,
|
|
476
502
|
rootCategories,
|
|
477
503
|
onDraftStateChange: setHasText,
|
|
@@ -555,7 +581,7 @@ const MessageError = () => /* @__PURE__ */ jsxRuntime.jsx(react.MessagePrimitive
|
|
|
555
581
|
}
|
|
556
582
|
) })
|
|
557
583
|
] }) });
|
|
558
|
-
|
|
584
|
+
function useSecondsSince(resetKey) {
|
|
559
585
|
const [seconds, setSeconds] = react$1.useState(0);
|
|
560
586
|
react$1.useEffect(() => {
|
|
561
587
|
setSeconds(0);
|
|
@@ -565,8 +591,11 @@ const RunStatusLine = ({ verb, resetKey, counterOnly = false, className }) => {
|
|
|
565
591
|
}, 1e3);
|
|
566
592
|
return () => clearInterval(timer);
|
|
567
593
|
}, [resetKey]);
|
|
594
|
+
return seconds;
|
|
595
|
+
}
|
|
596
|
+
const RunStatusLine = ({ verb, resetKey, className }) => {
|
|
597
|
+
const seconds = useSecondsSince(resetKey);
|
|
568
598
|
const stalled = seconds >= runActivity.RUN_ACTIVITY_STALL_SECONDS;
|
|
569
|
-
if (counterOnly && seconds < runActivity.RUN_ACTIVITY_COUNTER_SECONDS) return null;
|
|
570
599
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
571
600
|
"div",
|
|
572
601
|
{
|
|
@@ -627,13 +656,22 @@ const AthenaMessageActivityIndicator = () => {
|
|
|
627
656
|
};
|
|
628
657
|
const AthenaGroupedRunMeta = () => {
|
|
629
658
|
const activityKey = react.useAuiState((s) => runActivity.runActivityKey(s.message.parts));
|
|
630
|
-
|
|
631
|
-
|
|
659
|
+
const seconds = useSecondsSince(activityKey ?? "thinking");
|
|
660
|
+
const stalled = seconds >= runActivity.RUN_ACTIVITY_STALL_SECONDS;
|
|
661
|
+
if (!stalled) return null;
|
|
662
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
663
|
+
"span",
|
|
632
664
|
{
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
665
|
+
"data-slot": "run-stalled",
|
|
666
|
+
"data-stalled": "true",
|
|
667
|
+
className: "tabular-nums text-amber-600 dark:text-amber-400",
|
|
668
|
+
children: [
|
|
669
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { "aria-hidden": "true", children: [
|
|
670
|
+
"Nothing new for ",
|
|
671
|
+
runActivity.runElapsedLabel(seconds)
|
|
672
|
+
] }),
|
|
673
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-live": "polite", className: "sr-only", children: "Assistant is still working; nothing new for over thirty seconds." })
|
|
674
|
+
]
|
|
637
675
|
}
|
|
638
676
|
);
|
|
639
677
|
};
|
|
@@ -818,7 +856,7 @@ const AthenaAssistantMessage = ({
|
|
|
818
856
|
/* @__PURE__ */ jsxRuntime.jsx(AthenaReasoningTextComponentContext.Provider, { value: TextComponent, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "aui-assistant-message-content wrap-break-word px-2 text-foreground leading-relaxed", children: [
|
|
819
857
|
/* @__PURE__ */ jsxRuntime.jsx(NestedPtcMessages.NestedPtcComponentsProvider, { components: nestedPtcComponents, children: groupToolCalls ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col space-y-2", children: [
|
|
820
858
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
821
|
-
|
|
859
|
+
SuperGroupingTranscript.SuperGroupingTranscript,
|
|
822
860
|
{
|
|
823
861
|
toolUIs: toolUIsWithNestedMessages,
|
|
824
862
|
TextComponent,
|
|
@@ -959,12 +997,14 @@ const AthenaAssistantActionBar = ({ className }) => {
|
|
|
959
997
|
);
|
|
960
998
|
};
|
|
961
999
|
const AthenaUserMessage = ({
|
|
962
|
-
TextComponent =
|
|
1000
|
+
TextComponent = messageComponents.UserMessageText
|
|
963
1001
|
}) => {
|
|
964
|
-
const isWake = react.useAuiState(
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
1002
|
+
const isWake = react.useAuiState(
|
|
1003
|
+
(s) => {
|
|
1004
|
+
var _a, _b;
|
|
1005
|
+
return githubWakeEvent.isGithubWakeMessage((_a = s.message.metadata) == null ? void 0 : _a.custom) || subscriptionWakeEvent.isSubscriptionWakeMessage((_b = s.message.metadata) == null ? void 0 : _b.custom);
|
|
1006
|
+
}
|
|
1007
|
+
);
|
|
968
1008
|
if (isWake) {
|
|
969
1009
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
970
1010
|
react.MessagePrimitive.Root,
|