@athenaintel/react 0.19.0 → 0.21.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 +171 -11
- package/dist/assets/AssetPanel.cjs +277 -0
- package/dist/assets/AssetPanel.cjs.map +1 -0
- package/dist/assets/AssetPanel.js +277 -0
- package/dist/assets/AssetPanel.js.map +1 -0
- package/dist/assets/AthenaAssetEmbed.cjs +151 -0
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -0
- package/dist/assets/AthenaAssetEmbed.js +151 -0
- package/dist/assets/AthenaAssetEmbed.js.map +1 -0
- package/dist/assets/AthenaLayout.cjs +69 -0
- package/dist/assets/AthenaLayout.cjs.map +1 -0
- package/dist/assets/AthenaLayout.js +69 -0
- package/dist/assets/AthenaLayout.js.map +1 -0
- package/dist/assets/asset-embed-messages.cjs +39 -0
- package/dist/assets/asset-embed-messages.cjs.map +1 -0
- package/dist/assets/asset-embed-messages.js +39 -0
- package/dist/assets/asset-embed-messages.js.map +1 -0
- package/dist/assets/asset-panel-store.cjs +124 -0
- package/dist/assets/asset-panel-store.cjs.map +1 -0
- package/dist/assets/asset-panel-store.js +124 -0
- package/dist/assets/asset-panel-store.js.map +1 -0
- package/dist/assets/asset-panel-url.cjs +40 -0
- package/dist/assets/asset-panel-url.cjs.map +1 -0
- package/dist/assets/asset-panel-url.js +40 -0
- package/dist/assets/asset-panel-url.js.map +1 -0
- package/dist/assets/use-asset-embed.cjs +370 -0
- package/dist/assets/use-asset-embed.cjs.map +1 -0
- package/dist/assets/use-asset-embed.js +370 -0
- package/dist/assets/use-asset-embed.js.map +1 -0
- package/dist/{AthenaAuthContext-B3AwLA5Z.cjs → auth/AthenaAuthContext.cjs} +5 -4
- package/dist/auth/AthenaAuthContext.cjs.map +1 -0
- package/dist/{AthenaAuthContext-DQsdayH2.js → auth/AthenaAuthContext.js} +3 -3
- package/dist/auth/AthenaAuthContext.js.map +1 -0
- package/dist/auth/AthenaAuthProvider.cjs +141 -0
- package/dist/auth/AthenaAuthProvider.cjs.map +1 -0
- package/dist/auth/AthenaAuthProvider.js +141 -0
- package/dist/auth/AthenaAuthProvider.js.map +1 -0
- package/dist/{auth.cjs → auth/AthenaSSOProvider.cjs} +14 -151
- package/dist/auth/AthenaSSOProvider.cjs.map +1 -0
- package/dist/{auth.js → auth/AthenaSSOProvider.js} +4 -142
- package/dist/auth/AthenaSSOProvider.js.map +1 -0
- package/dist/auth/index.cjs +10 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.js +10 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/chat/AthenaChat.cjs +753 -0
- package/dist/chat/AthenaChat.cjs.map +1 -0
- package/dist/chat/AthenaChat.d.ts +3 -2
- package/dist/chat/AthenaChat.js +753 -0
- package/dist/chat/AthenaChat.js.map +1 -0
- package/dist/chat/AthenaChatErrorBoundary.cjs +53 -0
- package/dist/chat/AthenaChatErrorBoundary.cjs.map +1 -0
- package/dist/chat/AthenaChatErrorBoundary.js +53 -0
- package/dist/chat/AthenaChatErrorBoundary.js.map +1 -0
- package/dist/chat/StatewireApprovalCard.cjs +189 -0
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -0
- package/dist/chat/StatewireApprovalCard.d.ts +14 -0
- package/dist/chat/StatewireApprovalCard.js +189 -0
- package/dist/chat/StatewireApprovalCard.js.map +1 -0
- package/dist/chat/StatewireClientToolBridge.cjs +51 -0
- package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
- package/dist/chat/StatewireClientToolBridge.js +51 -0
- package/dist/chat/StatewireClientToolBridge.js.map +1 -0
- package/dist/chat/StatewireQueuedMessages.cjs +433 -0
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
- package/dist/chat/StatewireQueuedMessages.d.ts +3 -4
- package/dist/chat/StatewireQueuedMessages.js +433 -0
- package/dist/chat/StatewireQueuedMessages.js.map +1 -0
- package/dist/chat/athena-citation-links.cjs +342 -0
- package/dist/chat/athena-citation-links.cjs.map +1 -0
- package/dist/chat/athena-citation-links.js +342 -0
- package/dist/chat/athena-citation-links.js.map +1 -0
- package/dist/chat/run-activity.cjs +28 -0
- package/dist/chat/run-activity.cjs.map +1 -0
- package/dist/chat/run-activity.js +28 -0
- package/dist/chat/run-activity.js.map +1 -0
- package/dist/chat/statewire-banners.cjs +83 -0
- package/dist/chat/statewire-banners.cjs.map +1 -0
- package/dist/chat/statewire-banners.js +83 -0
- package/dist/chat/statewire-banners.js.map +1 -0
- package/dist/chat/statewire-client-tools.cjs +74 -0
- package/dist/chat/statewire-client-tools.cjs.map +1 -0
- package/dist/chat/statewire-client-tools.js +74 -0
- package/dist/chat/statewire-client-tools.js.map +1 -0
- package/dist/chat/super-grouping/CollapsibleGroup.cjs +158 -0
- package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -0
- package/dist/chat/super-grouping/CollapsibleGroup.js +158 -0
- package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingCard.cjs +243 -0
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +14 -7
- package/dist/chat/super-grouping/SuperGroupingCard.js +243 -0
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs +131 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.d.ts +16 -0
- package/dist/chat/super-grouping/ToolTimeline.js +131 -0
- package/dist/chat/super-grouping/ToolTimeline.js.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.cjs +157 -0
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.d.ts +6 -3
- package/dist/chat/super-grouping/activity-timeline.js +157 -0
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -0
- package/dist/chat/super-grouping/grouping-function.cjs +55 -0
- package/dist/chat/super-grouping/grouping-function.cjs.map +1 -0
- package/dist/chat/super-grouping/grouping-function.js +55 -0
- package/dist/chat/super-grouping/grouping-function.js.map +1 -0
- package/dist/chat/super-grouping/index.cjs +26 -0
- package/dist/chat/super-grouping/index.cjs.map +1 -0
- package/dist/chat/super-grouping/index.js +26 -0
- package/dist/chat/super-grouping/index.js.map +1 -0
- package/dist/chat/super-grouping/timeline-step.cjs +65 -0
- package/dist/chat/super-grouping/timeline-step.cjs.map +1 -0
- package/dist/chat/super-grouping/timeline-step.d.ts +17 -0
- package/dist/chat/super-grouping/timeline-step.js +65 -0
- package/dist/chat/super-grouping/timeline-step.js.map +1 -0
- package/dist/chat/super-grouping/toolkit-map.cjs +96 -0
- package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -0
- package/dist/chat/super-grouping/toolkit-map.js +96 -0
- package/dist/chat/super-grouping/toolkit-map.js.map +1 -0
- package/dist/chat/tiptap-text.cjs +101 -0
- package/dist/chat/tiptap-text.cjs.map +1 -0
- package/dist/chat/tiptap-text.js +101 -0
- package/dist/chat/tiptap-text.js.map +1 -0
- package/dist/chat/tooltip-icon-button.cjs +32 -0
- package/dist/chat/tooltip-icon-button.cjs.map +1 -0
- package/dist/chat/tooltip-icon-button.js +32 -0
- package/dist/chat/tooltip-icon-button.js.map +1 -0
- package/dist/chat/use-athena-run-live.cjs +24 -0
- package/dist/chat/use-athena-run-live.cjs.map +1 -0
- package/dist/chat/use-athena-run-live.d.ts +10 -0
- package/dist/chat/use-athena-run-live.js +24 -0
- package/dist/chat/use-athena-run-live.js.map +1 -0
- package/dist/chat/use-statewire-approval-request.cjs +51 -0
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
- package/dist/chat/use-statewire-approval-request.d.ts +12 -2
- package/dist/chat/use-statewire-approval-request.js +51 -0
- package/dist/chat/use-statewire-approval-request.js.map +1 -0
- package/dist/chat-ui/auth/sign-in-card.cjs +128 -0
- package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -0
- package/dist/chat-ui/auth/sign-in-card.js +128 -0
- package/dist/chat-ui/auth/sign-in-card.js.map +1 -0
- package/dist/chat-ui/composer/composer-action.cjs +11 -0
- package/dist/chat-ui/composer/composer-action.cjs.map +1 -0
- package/dist/chat-ui/composer/composer-action.d.ts +5 -8
- package/dist/chat-ui/composer/composer-action.js +11 -0
- package/dist/chat-ui/composer/composer-action.js.map +1 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.cjs +25 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.cjs.map +1 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.js +25 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.js.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs +549 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.d.ts +44 -7
- package/dist/chat-ui/composer/tiptap-composer.js +549 -0
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -0
- package/dist/chat-ui/header/chat-header.cjs +33 -0
- package/dist/chat-ui/header/chat-header.cjs.map +1 -0
- package/dist/chat-ui/header/chat-header.js +33 -0
- package/dist/chat-ui/header/chat-header.js.map +1 -0
- package/dist/chat-ui/header/conversation-history-panel.cjs +369 -0
- package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -0
- package/dist/chat-ui/header/conversation-history-panel.js +369 -0
- package/dist/chat-ui/header/conversation-history-panel.js.map +1 -0
- package/dist/chat-ui/index.cjs +140 -0
- package/dist/chat-ui/index.cjs.map +1 -0
- package/dist/chat-ui/index.d.ts +4 -3
- package/dist/chat-ui/index.js +140 -0
- package/dist/chat-ui/index.js.map +1 -0
- package/dist/chat-ui/lib/asset-urls.cjs +18 -0
- package/dist/chat-ui/lib/asset-urls.cjs.map +1 -0
- package/dist/chat-ui/lib/asset-urls.js +18 -0
- package/dist/chat-ui/lib/asset-urls.js.map +1 -0
- package/dist/chat-ui/mentions/mention-chip.cjs +253 -0
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-chip.d.ts +11 -0
- package/dist/chat-ui/mentions/mention-chip.js +253 -0
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.cjs +196 -0
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.d.ts +26 -2
- package/dist/chat-ui/mentions/mention-extension.js +196 -0
- package/dist/chat-ui/mentions/mention-extension.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +35 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +35 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +95 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +5 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +95 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +116 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +116 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +31 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +31 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs +27 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js +27 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +65 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.d.ts +2 -2
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js +65 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +63 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.d.ts +2 -2
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js +63 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs +11 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js +11 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs +33 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.js +33 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +58 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js +58 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +81 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js +81 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.cjs +18 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.js +18 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +124 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +13 -2
- package/dist/chat-ui/mentions/suggestions/data/api-client.js +124 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs +37 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.js +37 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +134 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +134 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs +91 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.js +91 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +137 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +137 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +375 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +16 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +375 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/types.cjs +9 -0
- package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/types.d.ts +14 -0
- package/dist/chat-ui/mentions/suggestions/data/types.js +9 -0
- package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +173 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +14 -4
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +173 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +45 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +45 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs +43 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js +43 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs +14 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js +14 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs +48 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js +48 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +71 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +71 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -0
- package/dist/chat-ui/messages/continue-pill.cjs +54 -0
- package/dist/chat-ui/messages/continue-pill.cjs.map +1 -0
- package/dist/chat-ui/messages/continue-pill.js +54 -0
- package/dist/chat-ui/messages/continue-pill.js.map +1 -0
- package/dist/chat-ui/messages/message-actions-config.cjs +12 -0
- package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -0
- package/dist/chat-ui/messages/message-actions-config.js +12 -0
- package/dist/chat-ui/messages/message-actions-config.js.map +1 -0
- package/dist/chat-ui/messages/message-components.cjs +320 -0
- package/dist/chat-ui/messages/message-components.cjs.map +1 -0
- package/dist/chat-ui/messages/message-components.d.ts +1 -1
- package/dist/chat-ui/messages/message-components.js +320 -0
- package/dist/chat-ui/messages/message-components.js.map +1 -0
- package/dist/chat-ui/messages/running-indicator.cjs +49 -0
- package/dist/chat-ui/messages/running-indicator.cjs.map +1 -0
- package/dist/chat-ui/messages/running-indicator.js +49 -0
- package/dist/chat-ui/messages/running-indicator.js.map +1 -0
- package/dist/chat-ui/messages/runtime-message.cjs +66 -0
- package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
- package/dist/chat-ui/messages/runtime-message.js +66 -0
- package/dist/chat-ui/messages/runtime-message.js.map +1 -0
- package/dist/{statewire-continue-run-nE9VCKUh.cjs → chat-ui/messages/statewire-continue-run.cjs} +61 -23
- package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
- package/dist/chat-ui/messages/statewire-continue-run.d.ts +19 -5
- package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js} +51 -14
- package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs +62 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.js +62 -0
- package/dist/chat-ui/messages/user-edit-composer.js.map +1 -0
- package/dist/chat-ui/messages/voice-delegation-card.cjs +51 -0
- package/dist/chat-ui/messages/voice-delegation-card.cjs.map +1 -0
- package/dist/chat-ui/messages/voice-delegation-card.d.ts +26 -0
- package/dist/chat-ui/messages/voice-delegation-card.js +51 -0
- package/dist/chat-ui/messages/voice-delegation-card.js.map +1 -0
- package/dist/chat-ui/rich-text/chat-message-body.cjs +76 -0
- package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -0
- package/dist/chat-ui/rich-text/chat-message-body.d.ts +5 -0
- package/dist/chat-ui/rich-text/chat-message-body.js +76 -0
- package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -0
- package/dist/chat-ui/rich-text/chat-node-views.cjs +51 -0
- package/dist/chat-ui/rich-text/chat-node-views.cjs.map +1 -0
- package/dist/chat-ui/rich-text/chat-node-views.d.ts +13 -0
- package/dist/chat-ui/rich-text/chat-node-views.js +51 -0
- package/dist/chat-ui/rich-text/chat-node-views.js.map +1 -0
- package/dist/chat-ui/rich-text/chat-text-schema.cjs +70 -0
- package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -0
- package/dist/chat-ui/rich-text/chat-text-schema.d.ts +7 -0
- package/dist/chat-ui/rich-text/chat-text-schema.js +70 -0
- package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -0
- package/dist/chat-ui/rich-text/dom-output-spec.cjs +83 -0
- package/dist/chat-ui/rich-text/dom-output-spec.cjs.map +1 -0
- package/dist/chat-ui/rich-text/dom-output-spec.d.ts +11 -0
- package/dist/chat-ui/rich-text/dom-output-spec.js +83 -0
- package/dist/chat-ui/rich-text/dom-output-spec.js.map +1 -0
- package/dist/chat-ui/statewire.cjs +40 -0
- package/dist/chat-ui/statewire.cjs.map +1 -0
- package/dist/chat-ui/statewire.js +40 -0
- package/dist/chat-ui/statewire.js.map +1 -0
- package/dist/chat-ui/thread/chat-composer-dock.cjs +37 -0
- package/dist/chat-ui/thread/chat-composer-dock.cjs.map +1 -0
- package/dist/chat-ui/thread/chat-composer-dock.js +37 -0
- package/dist/chat-ui/thread/chat-composer-dock.js.map +1 -0
- package/dist/chat-ui/thread/chat-thread-shell.cjs +102 -0
- package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -0
- package/dist/chat-ui/thread/chat-thread-shell.js +102 -0
- package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -0
- package/dist/chat-ui/thread/composer-send-or-stop.cjs +75 -0
- package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -0
- package/dist/chat-ui/thread/composer-send-or-stop.d.ts +0 -6
- package/dist/chat-ui/thread/composer-send-or-stop.js +75 -0
- package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs +135 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
- package/dist/chat-ui/thread/statewire-history-edge.js +135 -0
- package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -0
- package/dist/{collab.cjs → collab/client.cjs} +6 -166
- package/dist/collab/client.cjs.map +1 -0
- package/dist/{collab.js → collab/client.js} +5 -164
- package/dist/collab/client.js.map +1 -0
- package/dist/collab/close-policy.cjs +14 -0
- package/dist/collab/close-policy.cjs.map +1 -0
- package/dist/collab/close-policy.js +14 -0
- package/dist/collab/close-policy.js.map +1 -0
- package/dist/collab/index.cjs +17 -0
- package/dist/collab/index.cjs.map +1 -0
- package/dist/collab/index.js +17 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/mint.cjs +59 -0
- package/dist/collab/mint.cjs.map +1 -0
- package/dist/collab/mint.js +59 -0
- package/dist/collab/mint.js.map +1 -0
- package/dist/collab/react.cjs +58 -0
- package/dist/collab/react.cjs.map +1 -0
- package/dist/collab/react.js +58 -0
- package/dist/collab/react.js.map +1 -0
- package/dist/collab/shape.cjs +45 -0
- package/dist/collab/shape.cjs.map +1 -0
- package/dist/collab/shape.js +45 -0
- package/dist/collab/shape.js.map +1 -0
- package/dist/composer/AttachmentContext.cjs +40 -0
- package/dist/composer/AttachmentContext.cjs.map +1 -0
- package/dist/composer/AttachmentContext.js +40 -0
- package/dist/composer/AttachmentContext.js.map +1 -0
- package/dist/composer/ComposerAttachmentPreview.cjs +39 -0
- package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -0
- package/dist/composer/ComposerAttachmentPreview.js +39 -0
- package/dist/composer/ComposerAttachmentPreview.js.map +1 -0
- package/dist/composer/ComposerDropZone.cjs +61 -0
- package/dist/composer/ComposerDropZone.cjs.map +1 -0
- package/dist/composer/ComposerDropZone.d.ts +1 -1
- package/dist/composer/ComposerDropZone.js +61 -0
- package/dist/composer/ComposerDropZone.js.map +1 -0
- package/dist/composer/ComposerQuotePreview.cjs +42 -0
- package/dist/composer/ComposerQuotePreview.cjs.map +1 -0
- package/dist/composer/ComposerQuotePreview.js +42 -0
- package/dist/composer/ComposerQuotePreview.js.map +1 -0
- package/dist/composer/FileUploadButton.cjs +65 -0
- package/dist/composer/FileUploadButton.cjs.map +1 -0
- package/dist/composer/FileUploadButton.d.ts +1 -1
- package/dist/composer/FileUploadButton.js +65 -0
- package/dist/composer/FileUploadButton.js.map +1 -0
- package/dist/composer/QuoteContext.cjs +68 -0
- package/dist/composer/QuoteContext.cjs.map +1 -0
- package/dist/composer/QuoteContext.js +68 -0
- package/dist/composer/QuoteContext.js.map +1 -0
- package/dist/composer/build-composed-message.cjs +25 -0
- package/dist/composer/build-composed-message.cjs.map +1 -0
- package/dist/composer/build-composed-message.js +25 -0
- package/dist/composer/build-composed-message.js.map +1 -0
- package/dist/composer/clipboard.cjs +62 -0
- package/dist/composer/clipboard.cjs.map +1 -0
- package/dist/composer/clipboard.d.ts +27 -3
- package/dist/composer/clipboard.js +62 -0
- package/dist/composer/clipboard.js.map +1 -0
- package/dist/composer/useAppendToComposer.cjs +21 -0
- package/dist/composer/useAppendToComposer.cjs.map +1 -0
- package/dist/composer/useAppendToComposer.js +21 -0
- package/dist/composer/useAppendToComposer.js.map +1 -0
- package/dist/composer/useAttachFiles.cjs +40 -0
- package/dist/composer/useAttachFiles.cjs.map +1 -0
- package/dist/composer/useAttachFiles.d.ts +24 -0
- package/dist/composer/useAttachFiles.js +40 -0
- package/dist/composer/useAttachFiles.js.map +1 -0
- package/dist/composer/useComposerAttachment.cjs +25 -0
- package/dist/composer/useComposerAttachment.cjs.map +1 -0
- package/dist/composer/useComposerAttachment.js +25 -0
- package/dist/composer/useComposerAttachment.js.map +1 -0
- package/dist/composer/useFileUpload.cjs +123 -0
- package/dist/composer/useFileUpload.cjs.map +1 -0
- package/dist/composer/useFileUpload.js +123 -0
- package/dist/composer/useFileUpload.js.map +1 -0
- package/dist/composer/useSendMessage.cjs +22 -0
- package/dist/composer/useSendMessage.cjs.map +1 -0
- package/dist/composer/useSendMessage.js +22 -0
- package/dist/composer/useSendMessage.js.map +1 -0
- package/dist/diagnostics/athena-diagnostics.cjs +329 -0
- package/dist/diagnostics/athena-diagnostics.cjs.map +1 -0
- package/dist/diagnostics/athena-diagnostics.js +329 -0
- package/dist/diagnostics/athena-diagnostics.js.map +1 -0
- package/dist/diagnostics/errors.cjs +89 -0
- package/dist/diagnostics/errors.cjs.map +1 -0
- package/dist/diagnostics/errors.js +89 -0
- package/dist/diagnostics/errors.js.map +1 -0
- package/dist/diagnostics/useAthenaDiagnostics.cjs +16 -0
- package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -0
- package/dist/diagnostics/useAthenaDiagnostics.js +16 -0
- package/dist/diagnostics/useAthenaDiagnostics.js.map +1 -0
- package/dist/index.cjs +275 -27882
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +162 -27759
- package/dist/index.js.map +1 -1
- package/dist/lib/athena-urls.cjs +194 -0
- package/dist/lib/athena-urls.cjs.map +1 -0
- package/dist/lib/athena-urls.d.ts +20 -5
- package/dist/lib/athena-urls.js +194 -0
- package/dist/lib/athena-urls.js.map +1 -0
- package/dist/lib/posthog/before-send.cjs +58 -0
- package/dist/lib/posthog/before-send.cjs.map +1 -0
- package/dist/lib/posthog/before-send.js +58 -0
- package/dist/lib/posthog/before-send.js.map +1 -0
- package/dist/lib/posthog/capture-gate.cjs +322 -0
- package/dist/lib/posthog/capture-gate.cjs.map +1 -0
- package/dist/lib/posthog/capture-gate.js +322 -0
- package/dist/lib/posthog/capture-gate.js.map +1 -0
- package/dist/lib/posthog/wrap-posthog-client.cjs +163 -0
- package/dist/lib/posthog/wrap-posthog-client.cjs.map +1 -0
- package/dist/lib/posthog/wrap-posthog-client.js +163 -0
- package/dist/lib/posthog/wrap-posthog-client.js.map +1 -0
- package/dist/lib/utils.cjs +12 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +77 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +77 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +181 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +181 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +1 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.cjs +32 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.cjs.map +1 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.js +31 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.cjs +44 -0
- package/dist/node_modules/zod/v4/classic/errors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.js +44 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.cjs +43 -0
- package/dist/node_modules/zod/v4/classic/iso.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.js +43 -0
- package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.cjs +29 -0
- package/dist/node_modules/zod/v4/classic/parse.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +29 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.cjs +871 -0
- package/dist/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +871 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.cjs +570 -0
- package/dist/node_modules/zod/v4/core/api.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +570 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.cjs +411 -0
- package/dist/node_modules/zod/v4/core/checks.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +411 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.cjs +77 -0
- package/dist/node_modules/zod/v4/core/core.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +77 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.cjs +38 -0
- package/dist/node_modules/zod/v4/core/doc.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.js +38 -0
- package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.cjs +76 -0
- package/dist/node_modules/zod/v4/core/errors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +76 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +312 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js +312 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.cjs +96 -0
- package/dist/node_modules/zod/v4/core/parse.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +96 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.cjs +86 -0
- package/dist/node_modules/zod/v4/core/regexes.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +86 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.cjs +52 -0
- package/dist/node_modules/zod/v4/core/registries.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +52 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.cjs +1412 -0
- package/dist/node_modules/zod/v4/core/schemas.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +1413 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs +370 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js +370 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.cjs +444 -0
- package/dist/node_modules/zod/v4/core/util.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +444 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.cjs +9 -0
- package/dist/node_modules/zod/v4/core/versions.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/packages/agent-runtime/src/asset-attachment.cjs +19 -0
- package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/asset-attachment.js +19 -0
- package/dist/packages/agent-runtime/src/asset-attachment.js.map +1 -0
- package/dist/packages/agent-runtime/src/auth-denial.cjs +28 -0
- package/dist/packages/agent-runtime/src/auth-denial.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/auth-denial.js +28 -0
- package/dist/packages/agent-runtime/src/auth-denial.js.map +1 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs +276 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.js +276 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +1 -0
- package/dist/packages/agent-runtime/src/client-tools.cjs +137 -0
- package/dist/packages/agent-runtime/src/client-tools.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/client-tools.js +137 -0
- package/dist/packages/agent-runtime/src/client-tools.js.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-index.cjs +80 -0
- package/dist/packages/agent-runtime/src/conversation-index.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-index.js +80 -0
- package/dist/packages/agent-runtime/src/conversation-index.js.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-list.cjs +90 -0
- package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-list.js +90 -0
- package/dist/packages/agent-runtime/src/conversation-list.js.map +1 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs +55 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js +55 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
- package/dist/packages/agent-runtime/src/edit-command.cjs +89 -0
- package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/edit-command.js +89 -0
- package/dist/packages/agent-runtime/src/edit-command.js.map +1 -0
- package/dist/packages/agent-runtime/src/errors.cjs +95 -0
- package/dist/packages/agent-runtime/src/errors.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/errors.js +95 -0
- package/dist/packages/agent-runtime/src/errors.js.map +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +238 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +238 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs +141 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.js +141 -0
- package/dist/packages/agent-runtime/src/interrupts.js.map +1 -0
- package/dist/packages/agent-runtime/src/message-author.cjs +31 -0
- package/dist/packages/agent-runtime/src/message-author.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/message-author.js +31 -0
- package/dist/packages/agent-runtime/src/message-author.js.map +1 -0
- package/dist/packages/agent-runtime/src/message-window.cjs +85 -0
- package/dist/packages/agent-runtime/src/message-window.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/message-window.js +85 -0
- package/dist/packages/agent-runtime/src/message-window.js.map +1 -0
- package/dist/packages/agent-runtime/src/messages.cjs +463 -0
- package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/messages.js +463 -0
- package/dist/packages/agent-runtime/src/messages.js.map +1 -0
- package/dist/packages/agent-runtime/src/model-context.cjs +13 -0
- package/dist/packages/agent-runtime/src/model-context.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/model-context.js +13 -0
- package/dist/packages/agent-runtime/src/model-context.js.map +1 -0
- package/dist/packages/agent-runtime/src/optimistic-content.cjs +17 -0
- package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/optimistic-content.js +17 -0
- package/dist/packages/agent-runtime/src/optimistic-content.js.map +1 -0
- package/dist/packages/agent-runtime/src/protocol.cjs +31 -0
- package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/protocol.js +31 -0
- package/dist/packages/agent-runtime/src/protocol.js.map +1 -0
- package/dist/packages/agent-runtime/src/queue.cjs +67 -0
- package/dist/packages/agent-runtime/src/queue.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/queue.js +67 -0
- package/dist/packages/agent-runtime/src/queue.js.map +1 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +329 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +329 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
- package/dist/packages/agent-runtime/src/runtime-messages.cjs +187 -0
- package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/runtime-messages.js +187 -0
- package/dist/packages/agent-runtime/src/runtime-messages.js.map +1 -0
- package/dist/packages/agent-runtime/src/screen-point.cjs +68 -0
- package/dist/packages/agent-runtime/src/screen-point.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/screen-point.js +68 -0
- package/dist/packages/agent-runtime/src/screen-point.js.map +1 -0
- package/dist/packages/agent-runtime/src/send-recovery.cjs +128 -0
- package/dist/packages/agent-runtime/src/send-recovery.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/send-recovery.js +128 -0
- package/dist/packages/agent-runtime/src/send-recovery.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs +249 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js +249 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-state.cjs +16 -0
- package/dist/packages/agent-runtime/src/statewire-state.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-state.js +16 -0
- package/dist/packages/agent-runtime/src/statewire-state.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs +41 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.js +41 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-transport.cjs +11 -0
- package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-transport.js +11 -0
- package/dist/packages/agent-runtime/src/statewire-transport.js.map +1 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs +214 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.js +214 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-extras.cjs +38 -0
- package/dist/packages/agent-runtime/src/thread-extras.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-extras.js +38 -0
- package/dist/packages/agent-runtime/src/thread-extras.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-handoff.cjs +85 -0
- package/dist/packages/agent-runtime/src/thread-handoff.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-handoff.js +85 -0
- package/dist/packages/agent-runtime/src/thread-handoff.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs +90 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js +90 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-status.cjs +49 -0
- package/dist/packages/agent-runtime/src/thread-status.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-status.js +49 -0
- package/dist/packages/agent-runtime/src/thread-status.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-metadata.cjs +1794 -0
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-metadata.js +1794 -0
- package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-outputs.cjs +46 -0
- package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-outputs.js +46 -0
- package/dist/packages/agent-runtime/src/tool-outputs.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-result.cjs +151 -0
- package/dist/packages/agent-runtime/src/tool-result.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-result.js +151 -0
- package/dist/packages/agent-runtime/src/tool-result.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs +139 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.js +139 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs +14 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js +14 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs +44 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js +44 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs +148 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js +148 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs +407 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js +407 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs +133 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js +133 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
- package/dist/packages/agent-runtime/src/voice-presentation.cjs +37 -0
- package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/voice-presentation.js +37 -0
- package/dist/packages/agent-runtime/src/voice-presentation.js.map +1 -0
- package/dist/packages/react/package.json.cjs +9 -0
- package/dist/packages/react/package.json.cjs.map +1 -0
- package/dist/packages/react/package.json.js +9 -0
- package/dist/packages/react/package.json.js.map +1 -0
- package/dist/{AthenaContext-B1QMhIP-.cjs → provider/AthenaContext.cjs} +5 -4
- package/dist/provider/AthenaContext.cjs.map +1 -0
- package/dist/{AthenaContext-MOslgOmE.js → provider/AthenaContext.js} +3 -3
- package/dist/provider/AthenaContext.js.map +1 -0
- package/dist/provider/AthenaProvider.cjs +404 -0
- package/dist/provider/AthenaProvider.cjs.map +1 -0
- package/dist/provider/AthenaProvider.js +404 -0
- package/dist/provider/AthenaProvider.js.map +1 -0
- package/dist/provider/PostHogProvider.cjs +81 -0
- package/dist/provider/PostHogProvider.cjs.map +1 -0
- package/dist/provider/PostHogProvider.js +59 -0
- package/dist/provider/PostHogProvider.js.map +1 -0
- package/dist/provider/config.d.ts +8 -7
- package/dist/provider/statewire-lifecycle-context.cjs +10 -0
- package/dist/provider/statewire-lifecycle-context.cjs.map +1 -0
- package/dist/provider/statewire-lifecycle-context.js +10 -0
- package/dist/provider/statewire-lifecycle-context.js.map +1 -0
- package/dist/provider/statewire-window-context.cjs +10 -0
- package/dist/provider/statewire-window-context.cjs.map +1 -0
- package/dist/provider/statewire-window-context.js +10 -0
- package/dist/provider/statewire-window-context.js.map +1 -0
- package/dist/runtime/auth.cjs +309 -0
- package/dist/runtime/auth.cjs.map +1 -0
- package/dist/runtime/auth.d.ts +19 -18
- package/dist/runtime/auth.js +309 -0
- package/dist/runtime/auth.js.map +1 -0
- package/dist/runtime/statewire-auth-headers.cjs +18 -0
- package/dist/runtime/statewire-auth-headers.cjs.map +1 -0
- package/dist/runtime/statewire-auth-headers.js +18 -0
- package/dist/runtime/statewire-auth-headers.js.map +1 -0
- package/dist/runtime/statewire-lifecycle.cjs +68 -0
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
- package/dist/runtime/statewire-lifecycle.js +68 -0
- package/dist/runtime/statewire-lifecycle.js.map +1 -0
- package/dist/runtime/statewire-run-config.cjs +68 -0
- package/dist/runtime/statewire-run-config.cjs.map +1 -0
- package/dist/runtime/statewire-run-config.js +68 -0
- package/dist/runtime/statewire-run-config.js.map +1 -0
- package/dist/runtime/statewire-session-key.cjs +11 -0
- package/dist/runtime/statewire-session-key.cjs.map +1 -0
- package/dist/runtime/statewire-session-key.js +11 -0
- package/dist/runtime/statewire-session-key.js.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs +180 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.js +181 -0
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/theme/index.cjs +182 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.js +182 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/threads/ThreadList.cjs +55 -0
- package/dist/threads/ThreadList.cjs.map +1 -0
- package/dist/threads/ThreadList.js +55 -0
- package/dist/threads/ThreadList.js.map +1 -0
- package/dist/threads/api.cjs +208 -0
- package/dist/threads/api.cjs.map +1 -0
- package/dist/threads/api.js +208 -0
- package/dist/threads/api.js.map +1 -0
- package/dist/threads/conversation-list-fetcher.cjs +74 -0
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
- package/dist/threads/conversation-list-fetcher.js +74 -0
- package/dist/threads/conversation-list-fetcher.js.map +1 -0
- package/dist/threads/mint-thread-id.cjs +7 -0
- package/dist/threads/mint-thread-id.cjs.map +1 -0
- package/dist/threads/mint-thread-id.js +7 -0
- package/dist/threads/mint-thread-id.js.map +1 -0
- package/dist/threads/statewire-thread-list.cjs +232 -0
- package/dist/threads/statewire-thread-list.cjs.map +1 -0
- package/dist/threads/statewire-thread-list.js +232 -0
- package/dist/threads/statewire-thread-list.js.map +1 -0
- package/dist/threads/thread-id-context.cjs +22 -0
- package/dist/threads/thread-id-context.cjs.map +1 -0
- package/dist/threads/thread-id-context.d.ts +9 -0
- package/dist/threads/thread-id-context.js +22 -0
- package/dist/threads/thread-id-context.js.map +1 -0
- package/dist/threads/title.cjs +95 -0
- package/dist/threads/title.cjs.map +1 -0
- package/dist/threads/title.js +95 -0
- package/dist/threads/title.js.map +1 -0
- package/dist/threads/use-rest-conversation-history.cjs +80 -0
- package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
- package/dist/threads/use-rest-conversation-history.js +80 -0
- package/dist/threads/use-rest-conversation-history.js.map +1 -0
- package/dist/threads/use-statewire-conversation-history.cjs +244 -0
- package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
- package/dist/threads/use-statewire-conversation-history.d.ts +1 -0
- package/dist/threads/use-statewire-conversation-history.js +244 -0
- package/dist/threads/use-statewire-conversation-history.js.map +1 -0
- package/dist/threads/useAthenaThreadManager.cjs +24 -0
- package/dist/threads/useAthenaThreadManager.cjs.map +1 -0
- package/dist/threads/useAthenaThreadManager.js +24 -0
- package/dist/threads/useAthenaThreadManager.js.map +1 -0
- package/dist/toolkits/index.cjs +279 -0
- package/dist/toolkits/index.cjs.map +1 -0
- package/dist/toolkits/index.js +279 -0
- package/dist/toolkits/index.js.map +1 -0
- package/dist/tools/NestedPtcMessages.cjs +46 -0
- package/dist/tools/NestedPtcMessages.cjs.map +1 -0
- package/dist/tools/NestedPtcMessages.js +46 -0
- package/dist/tools/NestedPtcMessages.js.map +1 -0
- package/dist/tools/append-document-tool-ui.cjs +145 -0
- package/dist/tools/append-document-tool-ui.cjs.map +1 -0
- package/dist/tools/append-document-tool-ui.js +145 -0
- package/dist/tools/append-document-tool-ui.js.map +1 -0
- package/dist/tools/asset-utils.cjs +16 -0
- package/dist/tools/asset-utils.cjs.map +1 -0
- package/dist/tools/asset-utils.js +16 -0
- package/dist/tools/asset-utils.js.map +1 -0
- package/dist/tools/auto-open-tools.cjs +121 -0
- package/dist/tools/auto-open-tools.cjs.map +1 -0
- package/dist/tools/auto-open-tools.js +121 -0
- package/dist/tools/auto-open-tools.js.map +1 -0
- package/dist/tools/file-tool-uis.cjs +108 -0
- package/dist/tools/file-tool-uis.cjs.map +1 -0
- package/dist/tools/file-tool-uis.js +108 -0
- package/dist/tools/file-tool-uis.js.map +1 -0
- package/dist/tools/index.cjs +57 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +57 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/misc-tool-uis.cjs +55 -0
- package/dist/tools/misc-tool-uis.cjs.map +1 -0
- package/dist/{misc-tool-uis-gAiQw0Yl.js → tools/misc-tool-uis.js} +18 -7
- package/dist/tools/misc-tool-uis.js.map +1 -0
- package/dist/tools/primitives.cjs +167 -0
- package/dist/tools/primitives.cjs.map +1 -0
- package/dist/tools/primitives.js +167 -0
- package/dist/tools/primitives.js.map +1 -0
- package/dist/tools/read-asset-tool-ui.cjs +284 -0
- package/dist/tools/read-asset-tool-ui.cjs.map +1 -0
- package/dist/tools/read-asset-tool-ui.js +284 -0
- package/dist/tools/read-asset-tool-ui.js.map +1 -0
- package/dist/tools/todo-plan-store.cjs +88 -0
- package/dist/tools/todo-plan-store.cjs.map +1 -0
- package/dist/tools/todo-plan-store.js +88 -0
- package/dist/tools/todo-plan-store.js.map +1 -0
- package/dist/tools/tool-fallback.cjs +668 -0
- package/dist/tools/tool-fallback.cjs.map +1 -0
- package/dist/tools/tool-fallback.js +668 -0
- package/dist/tools/tool-fallback.js.map +1 -0
- package/dist/tools/tool-icons.cjs +61 -0
- package/dist/tools/tool-icons.cjs.map +1 -0
- package/dist/tools/tool-icons.js +61 -0
- package/dist/tools/tool-icons.js.map +1 -0
- package/dist/tools/tool-uis.cjs +3049 -0
- package/dist/tools/tool-uis.cjs.map +1 -0
- package/dist/tools/tool-uis.js +3049 -0
- package/dist/tools/tool-uis.js.map +1 -0
- package/dist/tools/voice-update-tool-ui.cjs +90 -0
- package/dist/tools/voice-update-tool-ui.cjs.map +1 -0
- package/dist/tools/voice-update-tool-ui.d.ts +27 -0
- package/dist/tools/voice-update-tool-ui.js +90 -0
- package/dist/tools/voice-update-tool-ui.js.map +1 -0
- package/dist/tools/write-todos-tool-ui.cjs +270 -0
- package/dist/tools/write-todos-tool-ui.cjs.map +1 -0
- package/dist/tools/write-todos-tool-ui.js +270 -0
- package/dist/tools/write-todos-tool-ui.js.map +1 -0
- package/dist/ui/button.cjs +57 -0
- package/dist/ui/button.cjs.map +1 -0
- package/dist/ui/button.js +57 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/collapsible.cjs +17 -0
- package/dist/ui/collapsible.cjs.map +1 -0
- package/dist/ui/collapsible.js +17 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/tooltip.cjs +48 -0
- package/dist/ui/tooltip.cjs.map +1 -0
- package/dist/ui/tooltip.js +48 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/version.cjs +6 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/dist/voice/index.cjs +6 -0
- package/dist/voice/index.cjs.map +1 -0
- package/dist/voice/index.d.ts +2 -0
- package/dist/voice/index.js +6 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/use-athena-voice-session.cjs +315 -0
- package/dist/voice/use-athena-voice-session.cjs.map +1 -0
- package/dist/voice/use-athena-voice-session.d.ts +145 -0
- package/dist/voice/use-athena-voice-session.js +315 -0
- package/dist/voice/use-athena-voice-session.js.map +1 -0
- package/package.json +32 -20
- package/dist/AthenaAuthContext-B3AwLA5Z.cjs.map +0 -1
- package/dist/AthenaAuthContext-DQsdayH2.js.map +0 -1
- package/dist/AthenaContext-B1QMhIP-.cjs.map +0 -1
- package/dist/AthenaContext-MOslgOmE.js.map +0 -1
- package/dist/SuperGroupingCard-BsWbHyV_.js +0 -795
- package/dist/SuperGroupingCard-BsWbHyV_.js.map +0 -1
- package/dist/SuperGroupingCard-CRRFUgjN.cjs +0 -794
- package/dist/SuperGroupingCard-CRRFUgjN.cjs.map +0 -1
- package/dist/auth.cjs.map +0 -1
- package/dist/auth.js.map +0 -1
- package/dist/chat/ComposerEditorContext.d.ts +0 -36
- package/dist/chat/tiptap-composer.d.ts +0 -7
- package/dist/chat-ui-statewire.cjs +0 -25
- package/dist/chat-ui-statewire.cjs.map +0 -1
- package/dist/chat-ui-statewire.js +0 -25
- package/dist/chat-ui-statewire.js.map +0 -1
- package/dist/chat-ui.cjs +0 -2484
- package/dist/chat-ui.cjs.map +0 -1
- package/dist/chat-ui.js +0 -2486
- package/dist/chat-ui.js.map +0 -1
- package/dist/collab.cjs.map +0 -1
- package/dist/collab.js.map +0 -1
- package/dist/mentions/composer-keybinds.d.ts +0 -5
- package/dist/mentions/mention-extension.d.ts +0 -6
- package/dist/mentions/mention-icons.d.ts +0 -4
- package/dist/mentions/mention-node-view.d.ts +0 -2
- package/dist/mentions/mention-suggestion-list.d.ts +0 -14
- package/dist/mentions/mention-suggestion-popup.d.ts +0 -15
- package/dist/mentions/mention-suggestions-extension.d.ts +0 -11
- package/dist/mentions/mention-types.d.ts +0 -21
- package/dist/mentions/mention-utils.d.ts +0 -23
- package/dist/mentions/use-mention-suggestions.d.ts +0 -29
- package/dist/misc-tool-uis-B2e0Okkn.cjs +0 -43
- package/dist/misc-tool-uis-B2e0Okkn.cjs.map +0 -1
- package/dist/misc-tool-uis-gAiQw0Yl.js.map +0 -1
- package/dist/statewire-continue-run-D34gS7_1.js.map +0 -1
- package/dist/statewire-continue-run-nE9VCKUh.cjs.map +0 -1
- package/dist/statewire-history-edge-C8uyTEjX.cjs +0 -1711
- package/dist/statewire-history-edge-C8uyTEjX.cjs.map +0 -1
- package/dist/statewire-history-edge-CPohUKMt.js +0 -1712
- package/dist/statewire-history-edge-CPohUKMt.js.map +0 -1
- package/dist/super-grouping.cjs +0 -22
- package/dist/super-grouping.cjs.map +0 -1
- package/dist/super-grouping.js +0 -22
- package/dist/super-grouping.js.map +0 -1
- package/dist/tool-fallback-DkQ3DLkn.js +0 -4281
- package/dist/tool-fallback-DkQ3DLkn.js.map +0 -1
- package/dist/tool-fallback-kfhpJQZa.cjs +0 -4297
- package/dist/tool-fallback-kfhpJQZa.cjs.map +0 -1
- package/dist/tools.cjs +0 -41
- package/dist/tools.cjs.map +0 -1
- package/dist/tools.js +0 -41
- package/dist/tools.js.map +0 -1
- package/dist/trash-2-B5OaNAL7.cjs +0 -5096
- package/dist/trash-2-B5OaNAL7.cjs.map +0 -1
- package/dist/trash-2-CCwSURL-.js +0 -5081
- package/dist/trash-2-CCwSURL-.js.map +0 -1
- package/dist/use-rest-conversation-history-Cm8qMRxp.cjs +0 -32397
- package/dist/use-rest-conversation-history-Cm8qMRxp.cjs.map +0 -1
- package/dist/use-rest-conversation-history-veDZS-oL.js +0 -32361
- package/dist/use-rest-conversation-history-veDZS-oL.js.map +0 -1
- package/dist/wrench-BEf72cyP.cjs +0 -417
- package/dist/wrench-BEf72cyP.cjs.map +0 -1
- package/dist/wrench-CbrOlVYm.js +0 -418
- package/dist/wrench-CbrOlVYm.js.map +0 -1
- package/dist/x-Dfd2NzK0.cjs +0 -42
- package/dist/x-Dfd2NzK0.cjs.map +0 -1
- package/dist/x-_DntAa_a.js +0 -43
- package/dist/x-_DntAa_a.js.map +0 -1
package/dist/{statewire-continue-run-nE9VCKUh.cjs → chat-ui/messages/statewire-continue-run.cjs}
RENAMED
|
@@ -1,29 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
4
|
const react = require("@assistant-ui/react");
|
|
4
5
|
const reactStatewire = require("@assistant-ui/react-statewire");
|
|
5
|
-
|
|
6
|
+
require("../../packages/agent-runtime/src/generated/runconfig-contract.cjs");
|
|
6
7
|
require("react");
|
|
7
8
|
require("@assistant-ui/tap");
|
|
8
9
|
require("statewire");
|
|
9
|
-
const
|
|
10
|
+
const errors = require("../../packages/agent-runtime/src/errors.cjs");
|
|
11
|
+
require("../../packages/agent-runtime/src/statewire-suspended.cjs");
|
|
12
|
+
require("@tanstack/react-query");
|
|
13
|
+
require("../../packages/agent-runtime/src/statewire-state.cjs");
|
|
14
|
+
const messages = require("../../packages/agent-runtime/src/messages.cjs");
|
|
15
|
+
const threadExtras = require("../../packages/agent-runtime/src/thread-extras.cjs");
|
|
10
16
|
require("@assistant-ui/store");
|
|
17
|
+
require("../../packages/agent-runtime/src/quota-safe-local-storage-session.cjs");
|
|
18
|
+
require("../../packages/agent-runtime/src/statewire-attach-observer.cjs");
|
|
19
|
+
const threadStatus = require("../../packages/agent-runtime/src/thread-status.cjs");
|
|
20
|
+
const runtimeMessages = require("../../packages/agent-runtime/src/runtime-messages.cjs");
|
|
21
|
+
require("../../packages/agent-runtime/src/thread-handoff.cjs");
|
|
22
|
+
const continuePill = require("./continue-pill.cjs");
|
|
23
|
+
const runtimeMessage = require("./runtime-message.cjs");
|
|
24
|
+
const cnfast = require("cnfast");
|
|
25
|
+
function notifyContinue(onContinue, context) {
|
|
26
|
+
try {
|
|
27
|
+
onContinue == null ? void 0 : onContinue(context);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
console.debug("[StatewireContinueRunButton] onContinue hook failed:", error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
11
32
|
function StatewireContinueRunButton({
|
|
12
33
|
allowReadyFallback = false,
|
|
13
34
|
onContinue
|
|
14
35
|
} = {}) {
|
|
15
|
-
const status =
|
|
36
|
+
const status = threadStatus.useDeepAgentThreadStatus();
|
|
16
37
|
const { runId } = reactStatewire.useStatewireRuns();
|
|
17
38
|
const sendCommand = reactStatewire.useStatewireSendCommand();
|
|
18
39
|
const isSettled = status === "stopped" || status === "error";
|
|
19
40
|
if (!isSettled && !(allowReadyFallback && status === "ready")) return null;
|
|
20
41
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21
|
-
|
|
42
|
+
continuePill.ContinuePill,
|
|
22
43
|
{
|
|
23
44
|
ariaLabel: "Continue this run from where it stopped",
|
|
24
45
|
dataTestId: "statewire-continue-run",
|
|
25
46
|
onClick: () => {
|
|
26
|
-
onContinue
|
|
47
|
+
notifyContinue(onContinue, { status, runId });
|
|
27
48
|
sendCommand({
|
|
28
49
|
type: "run/continue",
|
|
29
50
|
...runId !== null && { runId }
|
|
@@ -32,7 +53,9 @@ function StatewireContinueRunButton({
|
|
|
32
53
|
}
|
|
33
54
|
);
|
|
34
55
|
}
|
|
35
|
-
function StatewireContinueRunAffordance(
|
|
56
|
+
function StatewireContinueRunAffordance({
|
|
57
|
+
onContinue
|
|
58
|
+
} = {}) {
|
|
36
59
|
const messageId = react.useAuiState((state) => state.message.id);
|
|
37
60
|
const lastMessageId = react.useAuiState(
|
|
38
61
|
(state) => {
|
|
@@ -43,41 +66,44 @@ function StatewireContinueRunAffordance() {
|
|
|
43
66
|
const runMarker = react.useAuiState(
|
|
44
67
|
(state) => {
|
|
45
68
|
var _a;
|
|
46
|
-
return (_a =
|
|
69
|
+
return (_a = messages.readRunMarkerFromSourceMessages(state.message)) == null ? void 0 : _a.marker;
|
|
47
70
|
}
|
|
48
71
|
);
|
|
49
|
-
const threadExtras = react.useAuiState((state) => state.thread.extras);
|
|
50
|
-
const isContinuableMarker = runMarker ===
|
|
72
|
+
const threadExtras$1 = react.useAuiState((state) => state.thread.extras);
|
|
73
|
+
const isContinuableMarker = runMarker === messages.ATHENA_RUN_MARKER_CANCELLED || runMarker === messages.ATHENA_RUN_MARKER_FAILED;
|
|
51
74
|
if (messageId !== lastMessageId || !isContinuableMarker) return null;
|
|
52
|
-
if (!
|
|
53
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full justify-center py-1", children: /* @__PURE__ */ jsxRuntime.jsx(StatewireContinueRunButton, { allowReadyFallback: true }) });
|
|
75
|
+
if (!threadExtras.hasStatewireThreadExtras(threadExtras$1)) return null;
|
|
76
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full justify-center py-1", children: /* @__PURE__ */ jsxRuntime.jsx(StatewireContinueRunButton, { allowReadyFallback: true, onContinue }) });
|
|
54
77
|
}
|
|
55
78
|
const readRuntimeTailEnding = (message) => {
|
|
56
|
-
const runtime =
|
|
79
|
+
const runtime = runtimeMessages.readRuntimeMessageFromSourceMessages(message);
|
|
57
80
|
return runtime ? { kind: runtime.kind, silent: runtime.silent } : null;
|
|
58
81
|
};
|
|
59
82
|
function StatewireRunEndedFooter({
|
|
60
83
|
className,
|
|
61
84
|
readTailEnding,
|
|
62
|
-
renderActions
|
|
85
|
+
renderActions,
|
|
86
|
+
onContinue
|
|
63
87
|
} = {}) {
|
|
64
|
-
const threadExtras = react.useAuiState((state) => state.thread.extras);
|
|
65
|
-
if (!
|
|
88
|
+
const threadExtras$1 = react.useAuiState((state) => state.thread.extras);
|
|
89
|
+
if (!threadExtras.hasStatewireThreadExtras(threadExtras$1)) return null;
|
|
66
90
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
67
91
|
StatewireRunEndedFooterContent,
|
|
68
92
|
{
|
|
69
93
|
className,
|
|
70
94
|
readTailEnding,
|
|
71
|
-
renderActions
|
|
95
|
+
renderActions,
|
|
96
|
+
onContinue
|
|
72
97
|
}
|
|
73
98
|
);
|
|
74
99
|
}
|
|
75
100
|
function StatewireRunEndedFooterContent({
|
|
76
101
|
className,
|
|
77
102
|
readTailEnding = readRuntimeTailEnding,
|
|
78
|
-
renderActions
|
|
103
|
+
renderActions,
|
|
104
|
+
onContinue
|
|
79
105
|
}) {
|
|
80
|
-
const status =
|
|
106
|
+
const status = threadStatus.useDeepAgentThreadStatus();
|
|
81
107
|
const { error } = reactStatewire.useStatewireRuns();
|
|
82
108
|
const tailEndingKind = react.useAuiState((state) => {
|
|
83
109
|
var _a;
|
|
@@ -89,14 +115,26 @@ function StatewireRunEndedFooterContent({
|
|
|
89
115
|
const last = state.thread.messages.at(-1);
|
|
90
116
|
return last ? ((_a = readTailEnding(last)) == null ? void 0 : _a.silent) ?? false : false;
|
|
91
117
|
});
|
|
118
|
+
const transcriptEmpty = react.useAuiState((state) => state.thread.messages.length === 0);
|
|
92
119
|
if (status !== "stopped" && status !== "error") return null;
|
|
120
|
+
if (status === "stopped" && transcriptEmpty) return null;
|
|
93
121
|
if (status === "stopped" && tailEndingSilent) return null;
|
|
94
122
|
const tailRendersEnding = tailEndingKind !== null && !tailEndingSilent;
|
|
95
123
|
const tailMatchesStatus = status === "error" ? tailEndingKind === "failed" : tailEndingKind === "stopped" || tailEndingKind === "paused";
|
|
96
124
|
if (tailRendersEnding && tailMatchesStatus) return null;
|
|
97
125
|
const tailOwnsContinue = tailRendersEnding && tailEndingKind !== "handoff";
|
|
98
|
-
const action = renderActions ? renderActions({ status, tailEndingKind: tailRendersEnding ? tailEndingKind : null }) : tailOwnsContinue ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(StatewireContinueRunButton, {});
|
|
99
|
-
const
|
|
126
|
+
const action = renderActions ? renderActions({ status, tailEndingKind: tailRendersEnding ? tailEndingKind : null }) : tailOwnsContinue ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(StatewireContinueRunButton, { onContinue });
|
|
127
|
+
const refusal = status === "error" ? errors.readRetryableRunRefusal(error) : null;
|
|
128
|
+
const message = status === "error" ? refusal ? {
|
|
129
|
+
kind: "paused",
|
|
130
|
+
reason: refusal.code,
|
|
131
|
+
severity: "info",
|
|
132
|
+
title: "Waiting for a server update",
|
|
133
|
+
detail: "The server hosting this chat is restarting, so the queued message could not start yet. It runs on a ready server automatically.",
|
|
134
|
+
text: void 0,
|
|
135
|
+
silent: false,
|
|
136
|
+
isSoleSourceMessage: true
|
|
137
|
+
} : {
|
|
100
138
|
kind: "failed",
|
|
101
139
|
reason: "error",
|
|
102
140
|
severity: "error",
|
|
@@ -116,16 +154,16 @@ function StatewireRunEndedFooterContent({
|
|
|
116
154
|
isSoleSourceMessage: true
|
|
117
155
|
};
|
|
118
156
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
-
|
|
157
|
+
runtimeMessage.RuntimeMessageCard,
|
|
120
158
|
{
|
|
121
159
|
"data-testid": "statewire-run-ended-footer",
|
|
122
160
|
message,
|
|
123
161
|
action,
|
|
124
|
-
className:
|
|
162
|
+
className: cnfast.cn("mx-auto max-w-[95%]", className)
|
|
125
163
|
}
|
|
126
164
|
);
|
|
127
165
|
}
|
|
128
166
|
exports.StatewireContinueRunAffordance = StatewireContinueRunAffordance;
|
|
129
167
|
exports.StatewireContinueRunButton = StatewireContinueRunButton;
|
|
130
168
|
exports.StatewireRunEndedFooter = StatewireRunEndedFooter;
|
|
131
|
-
//# sourceMappingURL=statewire-continue-run
|
|
169
|
+
//# sourceMappingURL=statewire-continue-run.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statewire-continue-run.cjs","sources":["../../../src/chat-ui/messages/statewire-continue-run.tsx"],"sourcesContent":["import { type ThreadMessage, useAuiState } from \"@assistant-ui/react\";\nimport {\n useStatewireRuns,\n useStatewireSendCommand,\n} from \"@assistant-ui/react-statewire\";\nimport {\n ATHENA_RUN_MARKER_CANCELLED,\n ATHENA_RUN_MARKER_FAILED,\n type AthenaRuntimeMessage,\n type AthenaRuntimeMessageKind,\n type DeepAgentThreadStatus,\n hasStatewireThreadExtras,\n readRetryableRunRefusal,\n readRunMarkerFromSourceMessages,\n readRuntimeMessageFromSourceMessages,\n useDeepAgentThreadStatus,\n} from \"@athenaintel/agent-runtime\";\nimport type { ReactElement, ReactNode } from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { ContinuePill } from \"./continue-pill\";\nimport { RuntimeMessageCard } from \"./runtime-message\";\n\nexport interface StatewireContinueRunButtonProps {\n /**\n * Also offer Continue while the thread projects `ready`. An old snapshot\n * can report a resting thread whose last persisted ending is still\n * continuable; the marker row that mounts this button knows that.\n */\n allowReadyFallback?: boolean;\n /**\n * Called as the continue dispatches (after the pill's exit animation),\n * immediately before the command queues — the host's telemetry hook.\n * Receives the settled status and live run id the user acted on. Queueing\n * publishes the command's first update synchronously, so a hook that pairs\n * this click with that update must run first. Best-effort: a throwing hook\n * is swallowed and never blocks the dispatch.\n */\n onContinue?: (context: { status: DeepAgentThreadStatus; runId: string | null }) => void;\n}\n\nfunction notifyContinue(\n onContinue: StatewireContinueRunButtonProps[\"onContinue\"],\n context: { status: DeepAgentThreadStatus; runId: string | null },\n): void {\n try {\n onContinue?.(context);\n } catch (error) {\n console.debug(\"[StatewireContinueRunButton] onContinue hook failed:\", error);\n }\n}\n\n/**\n * Dispatches the bare `run/continue` for the live Statewire thread — the\n * heal-then-continue recovery for stopped, errored, and pod-drained runs. The\n * command is exactly what the library's `onResume` emits, so it inherits the\n * optimistic running-flip (the pill unmounts once the dispatch is accepted)\n * and routes rejections to the runtime's shared `onError` policy.\n *\n * Gated on the LIVE thread status, never on the persisted marker: markers live\n * in the transcript forever, while continuability is a property of the\n * current run state. Requires `capabilities.continue` on the host thread and\n * a statewire aui scope (throws outside one, like every `useStatewire*` hook).\n */\nexport function StatewireContinueRunButton({\n allowReadyFallback = false,\n onContinue,\n}: StatewireContinueRunButtonProps = {}): ReactElement | null {\n const status = useDeepAgentThreadStatus();\n const { runId } = useStatewireRuns();\n const sendCommand = useStatewireSendCommand();\n\n const isSettled = status === \"stopped\" || status === \"error\";\n if (!isSettled && !(allowReadyFallback && status === \"ready\")) return null;\n\n return (\n <ContinuePill\n ariaLabel=\"Continue this run from where it stopped\"\n dataTestId=\"statewire-continue-run\"\n onClick={() => {\n notifyContinue(onContinue, { status, runId });\n sendCommand({\n type: \"run/continue\",\n ...(runId !== null && { runId }),\n });\n }}\n />\n );\n}\n\nexport interface StatewireContinueRunAffordanceProps {\n /** Forwarded to the mounted `StatewireContinueRunButton`. */\n onContinue?: StatewireContinueRunButtonProps[\"onContinue\"];\n}\n\n/**\n * Recovery affordance for the latest persisted stopped/failed run marker,\n * for the `runtimeMessageAction` slot of `createAssistantMessage`.\n *\n * Marker messages remain in history forever, so only the current last message\n * may continue. The extras guard keeps Statewire hooks out of read-only or\n * legacy runtimes where they would throw.\n */\nexport function StatewireContinueRunAffordance({\n onContinue,\n}: StatewireContinueRunAffordanceProps = {}): ReactElement | null {\n const messageId = useAuiState((state) => state.message.id);\n const lastMessageId = useAuiState(\n (state) => state.thread.messages.at(-1)?.id,\n );\n const runMarker = useAuiState(\n (state) => readRunMarkerFromSourceMessages(state.message)?.marker,\n );\n const threadExtras = useAuiState((state) => state.thread.extras);\n\n const isContinuableMarker =\n runMarker === ATHENA_RUN_MARKER_CANCELLED ||\n runMarker === ATHENA_RUN_MARKER_FAILED;\n if (messageId !== lastMessageId || !isContinuableMarker) return null;\n if (!hasStatewireThreadExtras(threadExtras)) return null;\n\n return (\n <div className=\"flex w-full justify-center py-1\">\n <StatewireContinueRunButton allowReadyFallback onContinue={onContinue} />\n </div>\n );\n}\n\n/** The ending a transcript row paints, as the footer needs to know it. */\nexport interface StatewireTailEnding {\n kind: AthenaRuntimeMessageKind;\n /** A send-now cancellation: kept in the data, painted as nothing. */\n silent: boolean;\n}\n\n/** Reads the runtime ending (marker or handoff) a message row renders, if any. */\nexport type ReadStatewireTailEnding = (message: ThreadMessage) => StatewireTailEnding | null;\n\nconst readRuntimeTailEnding: ReadStatewireTailEnding = (message) => {\n const runtime = readRuntimeMessageFromSourceMessages(message);\n return runtime ? { kind: runtime.kind, silent: runtime.silent } : null;\n};\n\nexport interface StatewireRunEndedFooterActionsContext {\n /** The live settled status the footer describes. */\n status: \"stopped\" | \"error\";\n /** The ending the tail row renders, when it renders one (silent markers read as none). */\n tailEndingKind: AthenaRuntimeMessageKind | null;\n}\n\nexport interface StatewireRunEndedFooterProps {\n /** Merged onto the recovery card's default classes. */\n className?: string;\n /**\n * How the host's assistant row paints the transcript tail. The default reads\n * the runtime ending only (a persisted marker or handoff); a host whose row\n * also styles an assistant-ui error status as a failed ending passes a\n * reader that reports it, so the footer never doubles that row's recovery.\n */\n readTailEnding?: ReadStatewireTailEnding;\n /**\n * The recovery controls. The default renders Continue unless the tail row\n * (a marker of another kind) already carries it; hosts with richer recovery\n * (Retry + Continue) supply their own and decide ownership from the context.\n */\n renderActions?: (context: StatewireRunEndedFooterActionsContext) => ReactNode;\n /** Forwarded to the default Continue action (unused when `renderActions` is set). */\n onContinue?: StatewireContinueRunButtonProps[\"onContinue\"];\n}\n\n/**\n * Recovery row for a settled run whose persisted ending is no longer the\n * transcript tail — rendered after the messages (`renderMessages`). Rewinds,\n * compaction, and older snapshots can all leave the durable run state\n * recoverable without a marker row that owns the action. The failure copy\n * comes from the replicated run error (`runs.error.message`) — the same text\n * the marker would have carried. A RETRYABLE refusal recorded there\n * (`readRetryableRunRefusal`: a closing host refused to start the queued\n * work, which stays in its lane and re-dispatches on the thread's next\n * placement) is not a failure of the run and paints as a pause, keeping\n * Continue as the manual way on. Renders nothing on legacy (non-statewire)\n * threads.\n */\nexport function StatewireRunEndedFooter({\n className,\n readTailEnding,\n renderActions,\n onContinue,\n}: StatewireRunEndedFooterProps = {}): ReactElement | null {\n const threadExtras = useAuiState((state) => state.thread.extras);\n if (!hasStatewireThreadExtras(threadExtras)) return null;\n return (\n <StatewireRunEndedFooterContent\n className={className}\n readTailEnding={readTailEnding}\n renderActions={renderActions}\n onContinue={onContinue}\n />\n );\n}\n\nfunction StatewireRunEndedFooterContent({\n className,\n readTailEnding = readRuntimeTailEnding,\n renderActions,\n onContinue,\n}: StatewireRunEndedFooterProps): ReactElement | null {\n const status = useDeepAgentThreadStatus();\n const { error } = useStatewireRuns();\n // The reader builds a fresh object per call; select primitives so the\n // snapshots stay stable under `Object.is` comparison.\n const tailEndingKind = useAuiState((state) => {\n const last = state.thread.messages.at(-1);\n return last ? (readTailEnding(last)?.kind ?? null) : null;\n });\n const tailEndingSilent = useAuiState((state) => {\n const last = state.thread.messages.at(-1);\n return last ? (readTailEnding(last)?.silent ?? false) : false;\n });\n const transcriptEmpty = useAuiState((state) => state.thread.messages.length === 0);\n\n if (status !== \"stopped\" && status !== \"error\") return null;\n\n // A user stop that retracted the only turn (its text went back to the\n // composer) settles as stopped over an empty transcript: there is no\n // conversation to continue or retry, so the thread reads as fresh.\n if (status === \"stopped\" && transcriptEmpty) return null;\n\n // A send-now promotion intentionally cancels the superseded run without a\n // visible ending. Statewire can briefly report that cancellation as stopped;\n // preserve the silent contract instead of presenting a false recovery state.\n // A genuine error still wins and remains recoverable below.\n if (status === \"stopped\" && tailEndingSilent) return null;\n\n const tailRendersEnding = tailEndingKind !== null && !tailEndingSilent;\n const tailMatchesStatus =\n status === \"error\"\n ? tailEndingKind === \"failed\"\n : tailEndingKind === \"stopped\" || tailEndingKind === \"paused\";\n if (tailRendersEnding && tailMatchesStatus) return null;\n\n // An older run's marker at the tail still carries its own Continue (the\n // marker-row affordance); a handoff banner does not.\n const tailOwnsContinue = tailRendersEnding && tailEndingKind !== \"handoff\";\n const action = renderActions ? (\n renderActions({ status, tailEndingKind: tailRendersEnding ? tailEndingKind : null })\n ) : tailOwnsContinue ? undefined : (\n <StatewireContinueRunButton onContinue={onContinue} />\n );\n const refusal = status === \"error\" ? readRetryableRunRefusal(error) : null;\n const message: AthenaRuntimeMessage =\n status === \"error\"\n ? refusal\n ? {\n kind: \"paused\",\n reason: refusal.code,\n severity: \"info\",\n title: \"Waiting for a server update\",\n detail:\n \"The server hosting this chat is restarting, so the queued message could not start yet. It runs on a ready server automatically.\",\n text: undefined,\n silent: false,\n isSoleSourceMessage: true,\n }\n : {\n kind: \"failed\",\n reason: \"error\",\n severity: \"error\",\n title: \"Run failed\",\n detail: undefined,\n text: error?.message ? `⚠️ The run failed: ${error.message}` : undefined,\n silent: false,\n isSoleSourceMessage: true,\n }\n : {\n kind: \"stopped\",\n reason: undefined,\n severity: \"info\",\n title: \"Conversation stopped\",\n detail: undefined,\n text: undefined,\n silent: false,\n isSoleSourceMessage: true,\n };\n\n return (\n <RuntimeMessageCard\n data-testid=\"statewire-run-ended-footer\"\n message={message}\n action={action}\n className={cn(\"mx-auto max-w-[95%]\", className)}\n />\n );\n}\n"],"names":["useDeepAgentThreadStatus","useStatewireRuns","useStatewireSendCommand","jsx","ContinuePill","useAuiState","readRunMarkerFromSourceMessages","threadExtras","ATHENA_RUN_MARKER_CANCELLED","ATHENA_RUN_MARKER_FAILED","hasStatewireThreadExtras","readRuntimeMessageFromSourceMessages","readRetryableRunRefusal","RuntimeMessageCard","cn"],"mappings":"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"}
|
|
@@ -9,8 +9,12 @@ export interface StatewireContinueRunButtonProps {
|
|
|
9
9
|
*/
|
|
10
10
|
allowReadyFallback?: boolean;
|
|
11
11
|
/**
|
|
12
|
-
* Called as the continue dispatches (after the pill's exit animation)
|
|
13
|
-
* the host's telemetry hook.
|
|
12
|
+
* Called as the continue dispatches (after the pill's exit animation),
|
|
13
|
+
* immediately before the command queues — the host's telemetry hook.
|
|
14
|
+
* Receives the settled status and live run id the user acted on. Queueing
|
|
15
|
+
* publishes the command's first update synchronously, so a hook that pairs
|
|
16
|
+
* this click with that update must run first. Best-effort: a throwing hook
|
|
17
|
+
* is swallowed and never blocks the dispatch.
|
|
14
18
|
*/
|
|
15
19
|
onContinue?: (context: {
|
|
16
20
|
status: DeepAgentThreadStatus;
|
|
@@ -30,6 +34,10 @@ export interface StatewireContinueRunButtonProps {
|
|
|
30
34
|
* a statewire aui scope (throws outside one, like every `useStatewire*` hook).
|
|
31
35
|
*/
|
|
32
36
|
export declare function StatewireContinueRunButton({ allowReadyFallback, onContinue, }?: StatewireContinueRunButtonProps): ReactElement | null;
|
|
37
|
+
export interface StatewireContinueRunAffordanceProps {
|
|
38
|
+
/** Forwarded to the mounted `StatewireContinueRunButton`. */
|
|
39
|
+
onContinue?: StatewireContinueRunButtonProps["onContinue"];
|
|
40
|
+
}
|
|
33
41
|
/**
|
|
34
42
|
* Recovery affordance for the latest persisted stopped/failed run marker,
|
|
35
43
|
* for the `runtimeMessageAction` slot of `createAssistantMessage`.
|
|
@@ -38,7 +46,7 @@ export declare function StatewireContinueRunButton({ allowReadyFallback, onConti
|
|
|
38
46
|
* may continue. The extras guard keeps Statewire hooks out of read-only or
|
|
39
47
|
* legacy runtimes where they would throw.
|
|
40
48
|
*/
|
|
41
|
-
export declare function StatewireContinueRunAffordance(): ReactElement | null;
|
|
49
|
+
export declare function StatewireContinueRunAffordance({ onContinue, }?: StatewireContinueRunAffordanceProps): ReactElement | null;
|
|
42
50
|
/** The ending a transcript row paints, as the footer needs to know it. */
|
|
43
51
|
export interface StatewireTailEnding {
|
|
44
52
|
kind: AthenaRuntimeMessageKind;
|
|
@@ -69,6 +77,8 @@ export interface StatewireRunEndedFooterProps {
|
|
|
69
77
|
* (Retry + Continue) supply their own and decide ownership from the context.
|
|
70
78
|
*/
|
|
71
79
|
renderActions?: (context: StatewireRunEndedFooterActionsContext) => ReactNode;
|
|
80
|
+
/** Forwarded to the default Continue action (unused when `renderActions` is set). */
|
|
81
|
+
onContinue?: StatewireContinueRunButtonProps["onContinue"];
|
|
72
82
|
}
|
|
73
83
|
/**
|
|
74
84
|
* Recovery row for a settled run whose persisted ending is no longer the
|
|
@@ -76,7 +86,11 @@ export interface StatewireRunEndedFooterProps {
|
|
|
76
86
|
* compaction, and older snapshots can all leave the durable run state
|
|
77
87
|
* recoverable without a marker row that owns the action. The failure copy
|
|
78
88
|
* comes from the replicated run error (`runs.error.message`) — the same text
|
|
79
|
-
* the marker would have carried.
|
|
89
|
+
* the marker would have carried. A RETRYABLE refusal recorded there
|
|
90
|
+
* (`readRetryableRunRefusal`: a closing host refused to start the queued
|
|
91
|
+
* work, which stays in its lane and re-dispatches on the thread's next
|
|
92
|
+
* placement) is not a failure of the run and paints as a pause, keeping
|
|
93
|
+
* Continue as the manual way on. Renders nothing on legacy (non-statewire)
|
|
80
94
|
* threads.
|
|
81
95
|
*/
|
|
82
|
-
export declare function StatewireRunEndedFooter({ className, readTailEnding, renderActions, }?: StatewireRunEndedFooterProps): ReactElement | null;
|
|
96
|
+
export declare function StatewireRunEndedFooter({ className, readTailEnding, renderActions, onContinue, }?: StatewireRunEndedFooterProps): ReactElement | null;
|
package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js}
RENAMED
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useAuiState } from "@assistant-ui/react";
|
|
3
3
|
import { useStatewireRuns, useStatewireSendCommand } from "@assistant-ui/react-statewire";
|
|
4
|
-
import
|
|
4
|
+
import "../../packages/agent-runtime/src/generated/runconfig-contract.js";
|
|
5
5
|
import "react";
|
|
6
6
|
import "@assistant-ui/tap";
|
|
7
7
|
import "statewire";
|
|
8
|
-
import {
|
|
8
|
+
import { readRetryableRunRefusal } from "../../packages/agent-runtime/src/errors.js";
|
|
9
|
+
import "../../packages/agent-runtime/src/statewire-suspended.js";
|
|
10
|
+
import "@tanstack/react-query";
|
|
11
|
+
import "../../packages/agent-runtime/src/statewire-state.js";
|
|
12
|
+
import { readRunMarkerFromSourceMessages, ATHENA_RUN_MARKER_CANCELLED, ATHENA_RUN_MARKER_FAILED } from "../../packages/agent-runtime/src/messages.js";
|
|
13
|
+
import { hasStatewireThreadExtras } from "../../packages/agent-runtime/src/thread-extras.js";
|
|
9
14
|
import "@assistant-ui/store";
|
|
15
|
+
import "../../packages/agent-runtime/src/quota-safe-local-storage-session.js";
|
|
16
|
+
import "../../packages/agent-runtime/src/statewire-attach-observer.js";
|
|
17
|
+
import { useDeepAgentThreadStatus } from "../../packages/agent-runtime/src/thread-status.js";
|
|
18
|
+
import { readRuntimeMessageFromSourceMessages } from "../../packages/agent-runtime/src/runtime-messages.js";
|
|
19
|
+
import "../../packages/agent-runtime/src/thread-handoff.js";
|
|
20
|
+
import { ContinuePill } from "./continue-pill.js";
|
|
21
|
+
import { RuntimeMessageCard } from "./runtime-message.js";
|
|
22
|
+
import { cn } from "cnfast";
|
|
23
|
+
function notifyContinue(onContinue, context) {
|
|
24
|
+
try {
|
|
25
|
+
onContinue == null ? void 0 : onContinue(context);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
console.debug("[StatewireContinueRunButton] onContinue hook failed:", error);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
10
30
|
function StatewireContinueRunButton({
|
|
11
31
|
allowReadyFallback = false,
|
|
12
32
|
onContinue
|
|
@@ -22,7 +42,7 @@ function StatewireContinueRunButton({
|
|
|
22
42
|
ariaLabel: "Continue this run from where it stopped",
|
|
23
43
|
dataTestId: "statewire-continue-run",
|
|
24
44
|
onClick: () => {
|
|
25
|
-
onContinue
|
|
45
|
+
notifyContinue(onContinue, { status, runId });
|
|
26
46
|
sendCommand({
|
|
27
47
|
type: "run/continue",
|
|
28
48
|
...runId !== null && { runId }
|
|
@@ -31,7 +51,9 @@ function StatewireContinueRunButton({
|
|
|
31
51
|
}
|
|
32
52
|
);
|
|
33
53
|
}
|
|
34
|
-
function StatewireContinueRunAffordance(
|
|
54
|
+
function StatewireContinueRunAffordance({
|
|
55
|
+
onContinue
|
|
56
|
+
} = {}) {
|
|
35
57
|
const messageId = useAuiState((state) => state.message.id);
|
|
36
58
|
const lastMessageId = useAuiState(
|
|
37
59
|
(state) => {
|
|
@@ -49,7 +71,7 @@ function StatewireContinueRunAffordance() {
|
|
|
49
71
|
const isContinuableMarker = runMarker === ATHENA_RUN_MARKER_CANCELLED || runMarker === ATHENA_RUN_MARKER_FAILED;
|
|
50
72
|
if (messageId !== lastMessageId || !isContinuableMarker) return null;
|
|
51
73
|
if (!hasStatewireThreadExtras(threadExtras)) return null;
|
|
52
|
-
return /* @__PURE__ */ jsx("div", { className: "flex w-full justify-center py-1", children: /* @__PURE__ */ jsx(StatewireContinueRunButton, { allowReadyFallback: true }) });
|
|
74
|
+
return /* @__PURE__ */ jsx("div", { className: "flex w-full justify-center py-1", children: /* @__PURE__ */ jsx(StatewireContinueRunButton, { allowReadyFallback: true, onContinue }) });
|
|
53
75
|
}
|
|
54
76
|
const readRuntimeTailEnding = (message) => {
|
|
55
77
|
const runtime = readRuntimeMessageFromSourceMessages(message);
|
|
@@ -58,7 +80,8 @@ const readRuntimeTailEnding = (message) => {
|
|
|
58
80
|
function StatewireRunEndedFooter({
|
|
59
81
|
className,
|
|
60
82
|
readTailEnding,
|
|
61
|
-
renderActions
|
|
83
|
+
renderActions,
|
|
84
|
+
onContinue
|
|
62
85
|
} = {}) {
|
|
63
86
|
const threadExtras = useAuiState((state) => state.thread.extras);
|
|
64
87
|
if (!hasStatewireThreadExtras(threadExtras)) return null;
|
|
@@ -67,14 +90,16 @@ function StatewireRunEndedFooter({
|
|
|
67
90
|
{
|
|
68
91
|
className,
|
|
69
92
|
readTailEnding,
|
|
70
|
-
renderActions
|
|
93
|
+
renderActions,
|
|
94
|
+
onContinue
|
|
71
95
|
}
|
|
72
96
|
);
|
|
73
97
|
}
|
|
74
98
|
function StatewireRunEndedFooterContent({
|
|
75
99
|
className,
|
|
76
100
|
readTailEnding = readRuntimeTailEnding,
|
|
77
|
-
renderActions
|
|
101
|
+
renderActions,
|
|
102
|
+
onContinue
|
|
78
103
|
}) {
|
|
79
104
|
const status = useDeepAgentThreadStatus();
|
|
80
105
|
const { error } = useStatewireRuns();
|
|
@@ -88,14 +113,26 @@ function StatewireRunEndedFooterContent({
|
|
|
88
113
|
const last = state.thread.messages.at(-1);
|
|
89
114
|
return last ? ((_a = readTailEnding(last)) == null ? void 0 : _a.silent) ?? false : false;
|
|
90
115
|
});
|
|
116
|
+
const transcriptEmpty = useAuiState((state) => state.thread.messages.length === 0);
|
|
91
117
|
if (status !== "stopped" && status !== "error") return null;
|
|
118
|
+
if (status === "stopped" && transcriptEmpty) return null;
|
|
92
119
|
if (status === "stopped" && tailEndingSilent) return null;
|
|
93
120
|
const tailRendersEnding = tailEndingKind !== null && !tailEndingSilent;
|
|
94
121
|
const tailMatchesStatus = status === "error" ? tailEndingKind === "failed" : tailEndingKind === "stopped" || tailEndingKind === "paused";
|
|
95
122
|
if (tailRendersEnding && tailMatchesStatus) return null;
|
|
96
123
|
const tailOwnsContinue = tailRendersEnding && tailEndingKind !== "handoff";
|
|
97
|
-
const action = renderActions ? renderActions({ status, tailEndingKind: tailRendersEnding ? tailEndingKind : null }) : tailOwnsContinue ? void 0 : /* @__PURE__ */ jsx(StatewireContinueRunButton, {});
|
|
98
|
-
const
|
|
124
|
+
const action = renderActions ? renderActions({ status, tailEndingKind: tailRendersEnding ? tailEndingKind : null }) : tailOwnsContinue ? void 0 : /* @__PURE__ */ jsx(StatewireContinueRunButton, { onContinue });
|
|
125
|
+
const refusal = status === "error" ? readRetryableRunRefusal(error) : null;
|
|
126
|
+
const message = status === "error" ? refusal ? {
|
|
127
|
+
kind: "paused",
|
|
128
|
+
reason: refusal.code,
|
|
129
|
+
severity: "info",
|
|
130
|
+
title: "Waiting for a server update",
|
|
131
|
+
detail: "The server hosting this chat is restarting, so the queued message could not start yet. It runs on a ready server automatically.",
|
|
132
|
+
text: void 0,
|
|
133
|
+
silent: false,
|
|
134
|
+
isSoleSourceMessage: true
|
|
135
|
+
} : {
|
|
99
136
|
kind: "failed",
|
|
100
137
|
reason: "error",
|
|
101
138
|
severity: "error",
|
|
@@ -125,8 +162,8 @@ function StatewireRunEndedFooterContent({
|
|
|
125
162
|
);
|
|
126
163
|
}
|
|
127
164
|
export {
|
|
128
|
-
StatewireContinueRunAffordance
|
|
129
|
-
StatewireContinueRunButton
|
|
130
|
-
StatewireRunEndedFooter
|
|
165
|
+
StatewireContinueRunAffordance,
|
|
166
|
+
StatewireContinueRunButton,
|
|
167
|
+
StatewireRunEndedFooter
|
|
131
168
|
};
|
|
132
|
-
//# sourceMappingURL=statewire-continue-run
|
|
169
|
+
//# sourceMappingURL=statewire-continue-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statewire-continue-run.js","sources":["../../../src/chat-ui/messages/statewire-continue-run.tsx"],"sourcesContent":["import { type ThreadMessage, useAuiState } from \"@assistant-ui/react\";\nimport {\n useStatewireRuns,\n useStatewireSendCommand,\n} from \"@assistant-ui/react-statewire\";\nimport {\n ATHENA_RUN_MARKER_CANCELLED,\n ATHENA_RUN_MARKER_FAILED,\n type AthenaRuntimeMessage,\n type AthenaRuntimeMessageKind,\n type DeepAgentThreadStatus,\n hasStatewireThreadExtras,\n readRetryableRunRefusal,\n readRunMarkerFromSourceMessages,\n readRuntimeMessageFromSourceMessages,\n useDeepAgentThreadStatus,\n} from \"@athenaintel/agent-runtime\";\nimport type { ReactElement, ReactNode } from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { ContinuePill } from \"./continue-pill\";\nimport { RuntimeMessageCard } from \"./runtime-message\";\n\nexport interface StatewireContinueRunButtonProps {\n /**\n * Also offer Continue while the thread projects `ready`. An old snapshot\n * can report a resting thread whose last persisted ending is still\n * continuable; the marker row that mounts this button knows that.\n */\n allowReadyFallback?: boolean;\n /**\n * Called as the continue dispatches (after the pill's exit animation),\n * immediately before the command queues — the host's telemetry hook.\n * Receives the settled status and live run id the user acted on. Queueing\n * publishes the command's first update synchronously, so a hook that pairs\n * this click with that update must run first. Best-effort: a throwing hook\n * is swallowed and never blocks the dispatch.\n */\n onContinue?: (context: { status: DeepAgentThreadStatus; runId: string | null }) => void;\n}\n\nfunction notifyContinue(\n onContinue: StatewireContinueRunButtonProps[\"onContinue\"],\n context: { status: DeepAgentThreadStatus; runId: string | null },\n): void {\n try {\n onContinue?.(context);\n } catch (error) {\n console.debug(\"[StatewireContinueRunButton] onContinue hook failed:\", error);\n }\n}\n\n/**\n * Dispatches the bare `run/continue` for the live Statewire thread — the\n * heal-then-continue recovery for stopped, errored, and pod-drained runs. The\n * command is exactly what the library's `onResume` emits, so it inherits the\n * optimistic running-flip (the pill unmounts once the dispatch is accepted)\n * and routes rejections to the runtime's shared `onError` policy.\n *\n * Gated on the LIVE thread status, never on the persisted marker: markers live\n * in the transcript forever, while continuability is a property of the\n * current run state. Requires `capabilities.continue` on the host thread and\n * a statewire aui scope (throws outside one, like every `useStatewire*` hook).\n */\nexport function StatewireContinueRunButton({\n allowReadyFallback = false,\n onContinue,\n}: StatewireContinueRunButtonProps = {}): ReactElement | null {\n const status = useDeepAgentThreadStatus();\n const { runId } = useStatewireRuns();\n const sendCommand = useStatewireSendCommand();\n\n const isSettled = status === \"stopped\" || status === \"error\";\n if (!isSettled && !(allowReadyFallback && status === \"ready\")) return null;\n\n return (\n <ContinuePill\n ariaLabel=\"Continue this run from where it stopped\"\n dataTestId=\"statewire-continue-run\"\n onClick={() => {\n notifyContinue(onContinue, { status, runId });\n sendCommand({\n type: \"run/continue\",\n ...(runId !== null && { runId }),\n });\n }}\n />\n );\n}\n\nexport interface StatewireContinueRunAffordanceProps {\n /** Forwarded to the mounted `StatewireContinueRunButton`. */\n onContinue?: StatewireContinueRunButtonProps[\"onContinue\"];\n}\n\n/**\n * Recovery affordance for the latest persisted stopped/failed run marker,\n * for the `runtimeMessageAction` slot of `createAssistantMessage`.\n *\n * Marker messages remain in history forever, so only the current last message\n * may continue. The extras guard keeps Statewire hooks out of read-only or\n * legacy runtimes where they would throw.\n */\nexport function StatewireContinueRunAffordance({\n onContinue,\n}: StatewireContinueRunAffordanceProps = {}): ReactElement | null {\n const messageId = useAuiState((state) => state.message.id);\n const lastMessageId = useAuiState(\n (state) => state.thread.messages.at(-1)?.id,\n );\n const runMarker = useAuiState(\n (state) => readRunMarkerFromSourceMessages(state.message)?.marker,\n );\n const threadExtras = useAuiState((state) => state.thread.extras);\n\n const isContinuableMarker =\n runMarker === ATHENA_RUN_MARKER_CANCELLED ||\n runMarker === ATHENA_RUN_MARKER_FAILED;\n if (messageId !== lastMessageId || !isContinuableMarker) return null;\n if (!hasStatewireThreadExtras(threadExtras)) return null;\n\n return (\n <div className=\"flex w-full justify-center py-1\">\n <StatewireContinueRunButton allowReadyFallback onContinue={onContinue} />\n </div>\n );\n}\n\n/** The ending a transcript row paints, as the footer needs to know it. */\nexport interface StatewireTailEnding {\n kind: AthenaRuntimeMessageKind;\n /** A send-now cancellation: kept in the data, painted as nothing. */\n silent: boolean;\n}\n\n/** Reads the runtime ending (marker or handoff) a message row renders, if any. */\nexport type ReadStatewireTailEnding = (message: ThreadMessage) => StatewireTailEnding | null;\n\nconst readRuntimeTailEnding: ReadStatewireTailEnding = (message) => {\n const runtime = readRuntimeMessageFromSourceMessages(message);\n return runtime ? { kind: runtime.kind, silent: runtime.silent } : null;\n};\n\nexport interface StatewireRunEndedFooterActionsContext {\n /** The live settled status the footer describes. */\n status: \"stopped\" | \"error\";\n /** The ending the tail row renders, when it renders one (silent markers read as none). */\n tailEndingKind: AthenaRuntimeMessageKind | null;\n}\n\nexport interface StatewireRunEndedFooterProps {\n /** Merged onto the recovery card's default classes. */\n className?: string;\n /**\n * How the host's assistant row paints the transcript tail. The default reads\n * the runtime ending only (a persisted marker or handoff); a host whose row\n * also styles an assistant-ui error status as a failed ending passes a\n * reader that reports it, so the footer never doubles that row's recovery.\n */\n readTailEnding?: ReadStatewireTailEnding;\n /**\n * The recovery controls. The default renders Continue unless the tail row\n * (a marker of another kind) already carries it; hosts with richer recovery\n * (Retry + Continue) supply their own and decide ownership from the context.\n */\n renderActions?: (context: StatewireRunEndedFooterActionsContext) => ReactNode;\n /** Forwarded to the default Continue action (unused when `renderActions` is set). */\n onContinue?: StatewireContinueRunButtonProps[\"onContinue\"];\n}\n\n/**\n * Recovery row for a settled run whose persisted ending is no longer the\n * transcript tail — rendered after the messages (`renderMessages`). Rewinds,\n * compaction, and older snapshots can all leave the durable run state\n * recoverable without a marker row that owns the action. The failure copy\n * comes from the replicated run error (`runs.error.message`) — the same text\n * the marker would have carried. A RETRYABLE refusal recorded there\n * (`readRetryableRunRefusal`: a closing host refused to start the queued\n * work, which stays in its lane and re-dispatches on the thread's next\n * placement) is not a failure of the run and paints as a pause, keeping\n * Continue as the manual way on. Renders nothing on legacy (non-statewire)\n * threads.\n */\nexport function StatewireRunEndedFooter({\n className,\n readTailEnding,\n renderActions,\n onContinue,\n}: StatewireRunEndedFooterProps = {}): ReactElement | null {\n const threadExtras = useAuiState((state) => state.thread.extras);\n if (!hasStatewireThreadExtras(threadExtras)) return null;\n return (\n <StatewireRunEndedFooterContent\n className={className}\n readTailEnding={readTailEnding}\n renderActions={renderActions}\n onContinue={onContinue}\n />\n );\n}\n\nfunction StatewireRunEndedFooterContent({\n className,\n readTailEnding = readRuntimeTailEnding,\n renderActions,\n onContinue,\n}: StatewireRunEndedFooterProps): ReactElement | null {\n const status = useDeepAgentThreadStatus();\n const { error } = useStatewireRuns();\n // The reader builds a fresh object per call; select primitives so the\n // snapshots stay stable under `Object.is` comparison.\n const tailEndingKind = useAuiState((state) => {\n const last = state.thread.messages.at(-1);\n return last ? (readTailEnding(last)?.kind ?? null) : null;\n });\n const tailEndingSilent = useAuiState((state) => {\n const last = state.thread.messages.at(-1);\n return last ? (readTailEnding(last)?.silent ?? false) : false;\n });\n const transcriptEmpty = useAuiState((state) => state.thread.messages.length === 0);\n\n if (status !== \"stopped\" && status !== \"error\") return null;\n\n // A user stop that retracted the only turn (its text went back to the\n // composer) settles as stopped over an empty transcript: there is no\n // conversation to continue or retry, so the thread reads as fresh.\n if (status === \"stopped\" && transcriptEmpty) return null;\n\n // A send-now promotion intentionally cancels the superseded run without a\n // visible ending. Statewire can briefly report that cancellation as stopped;\n // preserve the silent contract instead of presenting a false recovery state.\n // A genuine error still wins and remains recoverable below.\n if (status === \"stopped\" && tailEndingSilent) return null;\n\n const tailRendersEnding = tailEndingKind !== null && !tailEndingSilent;\n const tailMatchesStatus =\n status === \"error\"\n ? tailEndingKind === \"failed\"\n : tailEndingKind === \"stopped\" || tailEndingKind === \"paused\";\n if (tailRendersEnding && tailMatchesStatus) return null;\n\n // An older run's marker at the tail still carries its own Continue (the\n // marker-row affordance); a handoff banner does not.\n const tailOwnsContinue = tailRendersEnding && tailEndingKind !== \"handoff\";\n const action = renderActions ? (\n renderActions({ status, tailEndingKind: tailRendersEnding ? tailEndingKind : null })\n ) : tailOwnsContinue ? undefined : (\n <StatewireContinueRunButton onContinue={onContinue} />\n );\n const refusal = status === \"error\" ? readRetryableRunRefusal(error) : null;\n const message: AthenaRuntimeMessage =\n status === \"error\"\n ? refusal\n ? {\n kind: \"paused\",\n reason: refusal.code,\n severity: \"info\",\n title: \"Waiting for a server update\",\n detail:\n \"The server hosting this chat is restarting, so the queued message could not start yet. It runs on a ready server automatically.\",\n text: undefined,\n silent: false,\n isSoleSourceMessage: true,\n }\n : {\n kind: \"failed\",\n reason: \"error\",\n severity: \"error\",\n title: \"Run failed\",\n detail: undefined,\n text: error?.message ? `⚠️ The run failed: ${error.message}` : undefined,\n silent: false,\n isSoleSourceMessage: true,\n }\n : {\n kind: \"stopped\",\n reason: undefined,\n severity: \"info\",\n title: \"Conversation stopped\",\n detail: undefined,\n text: undefined,\n silent: false,\n isSoleSourceMessage: true,\n };\n\n return (\n <RuntimeMessageCard\n data-testid=\"statewire-run-ended-footer\"\n message={message}\n action={action}\n className={cn(\"mx-auto max-w-[95%]\", className)}\n />\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("@assistant-ui/react");
|
|
5
|
+
require("../../packages/agent-runtime/src/generated/runconfig-contract.cjs");
|
|
6
|
+
require("react");
|
|
7
|
+
require("@assistant-ui/tap");
|
|
8
|
+
require("statewire");
|
|
9
|
+
require("../../packages/agent-runtime/src/statewire-suspended.cjs");
|
|
10
|
+
require("@tanstack/react-query");
|
|
11
|
+
require("../../packages/agent-runtime/src/statewire-state.cjs");
|
|
12
|
+
require("../../packages/agent-runtime/src/messages.cjs");
|
|
13
|
+
require("@assistant-ui/react-statewire");
|
|
14
|
+
const useDeepAgentEditSubmit = require("../../packages/agent-runtime/src/use-deep-agent-edit-submit.cjs");
|
|
15
|
+
require("../../packages/agent-runtime/src/quota-safe-local-storage-session.cjs");
|
|
16
|
+
require("../../packages/agent-runtime/src/statewire-attach-observer.cjs");
|
|
17
|
+
require("../../packages/agent-runtime/src/thread-status.cjs");
|
|
18
|
+
require("@assistant-ui/core");
|
|
19
|
+
require("../../packages/agent-runtime/src/thread-handoff.cjs");
|
|
20
|
+
const UserEditComposer = () => {
|
|
21
|
+
const submit = useDeepAgentEditSubmit.useDeepAgentMessageEditSubmit();
|
|
22
|
+
const isEmpty = react.useAuiState((s) => s.message.composer.isEmpty);
|
|
23
|
+
const onKeyDown = (event) => {
|
|
24
|
+
if (event.key !== "Enter" || event.shiftKey || event.nativeEvent.isComposing) return;
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
void submit();
|
|
27
|
+
};
|
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 flex justify-end", "data-testid": "chat-user-edit-composer", children: /* @__PURE__ */ jsxRuntime.jsxs(react.ComposerPrimitive.Root, { className: "flex w-full max-w-[85%] flex-col gap-2 rounded-2xl rounded-br-md border border-border bg-muted px-3.5 py-2.5", children: [
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30
|
+
react.ComposerPrimitive.Input,
|
|
31
|
+
{
|
|
32
|
+
autoFocus: true,
|
|
33
|
+
submitMode: "none",
|
|
34
|
+
onKeyDown,
|
|
35
|
+
className: "w-full resize-none bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground"
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-1.5", children: [
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.ComposerPrimitive.Cancel, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
40
|
+
"button",
|
|
41
|
+
{
|
|
42
|
+
type: "button",
|
|
43
|
+
className: "rounded-lg px-2.5 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
44
|
+
children: "Cancel"
|
|
45
|
+
}
|
|
46
|
+
) }),
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
"button",
|
|
49
|
+
{
|
|
50
|
+
type: "button",
|
|
51
|
+
"data-testid": "chat-user-edit-send",
|
|
52
|
+
disabled: isEmpty,
|
|
53
|
+
onClick: () => void submit(),
|
|
54
|
+
className: "rounded-lg bg-foreground px-2.5 py-1 text-xs font-medium text-background shadow-sm transition-colors hover:bg-foreground/80 disabled:cursor-not-allowed disabled:opacity-60",
|
|
55
|
+
children: "Send"
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
] })
|
|
59
|
+
] }) });
|
|
60
|
+
};
|
|
61
|
+
exports.UserEditComposer = UserEditComposer;
|
|
62
|
+
//# sourceMappingURL=user-edit-composer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-edit-composer.cjs","sources":["../../../src/chat-ui/messages/user-edit-composer.tsx"],"sourcesContent":["import { ComposerPrimitive, useAuiState } from \"@assistant-ui/react\";\nimport { useDeepAgentMessageEditSubmit } from \"@athenaintel/agent-runtime\";\nimport type { FC, KeyboardEvent } from \"react\";\n\n/**\n * Rendered in place of a user message while it is being edited (entered via\n * the action bar's Edit control, which seeds this composer with the message\n * text). Sending leaves as a `run/edit` anchored on the host's own parent of\n * the message (`useDeepAgentMessageEditSubmit`) — on a windowed wire the\n * lane's `anchorBefore` at the window edge — so the rewind is never rejected\n * `wrong-anchor` the way the library's converted-message anchor is after a\n * chunked assistant turn; Escape/Cancel exits edit mode.\n */\nexport const UserEditComposer: FC = () => {\n const submit = useDeepAgentMessageEditSubmit();\n const isEmpty = useAuiState((s) => s.message.composer.isEmpty);\n const onKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.key !== \"Enter\" || event.shiftKey || event.nativeEvent.isComposing) return;\n event.preventDefault();\n void submit();\n };\n return (\n <div className=\"mb-3 flex justify-end\" data-testid=\"chat-user-edit-composer\">\n <ComposerPrimitive.Root className=\"flex w-full max-w-[85%] flex-col gap-2 rounded-2xl rounded-br-md border border-border bg-muted px-3.5 py-2.5\">\n <ComposerPrimitive.Input\n autoFocus\n submitMode=\"none\"\n onKeyDown={onKeyDown}\n className=\"w-full resize-none bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground\"\n />\n <div className=\"flex items-center justify-end gap-1.5\">\n <ComposerPrimitive.Cancel asChild>\n <button\n type=\"button\"\n className=\"rounded-lg px-2.5 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground\"\n >\n Cancel\n </button>\n </ComposerPrimitive.Cancel>\n <button\n type=\"button\"\n data-testid=\"chat-user-edit-send\"\n disabled={isEmpty}\n onClick={() => void submit()}\n className=\"rounded-lg bg-foreground px-2.5 py-1 text-xs font-medium text-background shadow-sm transition-colors hover:bg-foreground/80 disabled:cursor-not-allowed disabled:opacity-60\"\n >\n Send\n </button>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n"],"names":["useDeepAgentMessageEditSubmit","useAuiState","jsx","jsxs","ComposerPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;AAaO,MAAM,mBAAuB,MAAM;AACxC,QAAM,SAASA,uBAAAA,8BAAA;AACf,QAAM,UAAUC,MAAAA,YAAY,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO;AAC7D,QAAM,YAAY,CAAC,UAA8C;AAC/D,QAAI,MAAM,QAAQ,WAAW,MAAM,YAAY,MAAM,YAAY,YAAa;AAC9E,UAAM,eAAA;AACN,SAAK,OAAA;AAAA,EACP;AACA,SACEC,2BAAAA,IAAC,OAAA,EAAI,WAAU,yBAAwB,eAAY,2BACjD,UAAAC,2BAAAA,KAACC,MAAAA,kBAAkB,MAAlB,EAAuB,WAAU,gHAChC,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAACE,MAAAA,kBAAkB;AAAA,MAAlB;AAAA,QACC,WAAS;AAAA,QACT,YAAW;AAAA,QACX;AAAA,QACA,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZD,2BAAAA,KAAC,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,MAAAD,2BAAAA,IAACE,MAAAA,kBAAkB,QAAlB,EAAyB,SAAO,MAC/B,UAAAF,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACX,UAAA;AAAA,QAAA;AAAA,MAAA,GAGH;AAAA,MACAA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,eAAY;AAAA,UACZ,UAAU;AAAA,UACV,SAAS,MAAM,KAAK,OAAA;AAAA,UACpB,WAAU;AAAA,UACX,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAED,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useAuiState, ComposerPrimitive } from "@assistant-ui/react";
|
|
3
|
+
import "../../packages/agent-runtime/src/generated/runconfig-contract.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import "@assistant-ui/tap";
|
|
6
|
+
import "statewire";
|
|
7
|
+
import "../../packages/agent-runtime/src/statewire-suspended.js";
|
|
8
|
+
import "@tanstack/react-query";
|
|
9
|
+
import "../../packages/agent-runtime/src/statewire-state.js";
|
|
10
|
+
import "../../packages/agent-runtime/src/messages.js";
|
|
11
|
+
import "@assistant-ui/react-statewire";
|
|
12
|
+
import { useDeepAgentMessageEditSubmit } from "../../packages/agent-runtime/src/use-deep-agent-edit-submit.js";
|
|
13
|
+
import "../../packages/agent-runtime/src/quota-safe-local-storage-session.js";
|
|
14
|
+
import "../../packages/agent-runtime/src/statewire-attach-observer.js";
|
|
15
|
+
import "../../packages/agent-runtime/src/thread-status.js";
|
|
16
|
+
import "@assistant-ui/core";
|
|
17
|
+
import "../../packages/agent-runtime/src/thread-handoff.js";
|
|
18
|
+
const UserEditComposer = () => {
|
|
19
|
+
const submit = useDeepAgentMessageEditSubmit();
|
|
20
|
+
const isEmpty = useAuiState((s) => s.message.composer.isEmpty);
|
|
21
|
+
const onKeyDown = (event) => {
|
|
22
|
+
if (event.key !== "Enter" || event.shiftKey || event.nativeEvent.isComposing) return;
|
|
23
|
+
event.preventDefault();
|
|
24
|
+
void submit();
|
|
25
|
+
};
|
|
26
|
+
return /* @__PURE__ */ jsx("div", { className: "mb-3 flex justify-end", "data-testid": "chat-user-edit-composer", children: /* @__PURE__ */ jsxs(ComposerPrimitive.Root, { className: "flex w-full max-w-[85%] flex-col gap-2 rounded-2xl rounded-br-md border border-border bg-muted px-3.5 py-2.5", children: [
|
|
27
|
+
/* @__PURE__ */ jsx(
|
|
28
|
+
ComposerPrimitive.Input,
|
|
29
|
+
{
|
|
30
|
+
autoFocus: true,
|
|
31
|
+
submitMode: "none",
|
|
32
|
+
onKeyDown,
|
|
33
|
+
className: "w-full resize-none bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground"
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-1.5", children: [
|
|
37
|
+
/* @__PURE__ */ jsx(ComposerPrimitive.Cancel, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
38
|
+
"button",
|
|
39
|
+
{
|
|
40
|
+
type: "button",
|
|
41
|
+
className: "rounded-lg px-2.5 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
42
|
+
children: "Cancel"
|
|
43
|
+
}
|
|
44
|
+
) }),
|
|
45
|
+
/* @__PURE__ */ jsx(
|
|
46
|
+
"button",
|
|
47
|
+
{
|
|
48
|
+
type: "button",
|
|
49
|
+
"data-testid": "chat-user-edit-send",
|
|
50
|
+
disabled: isEmpty,
|
|
51
|
+
onClick: () => void submit(),
|
|
52
|
+
className: "rounded-lg bg-foreground px-2.5 py-1 text-xs font-medium text-background shadow-sm transition-colors hover:bg-foreground/80 disabled:cursor-not-allowed disabled:opacity-60",
|
|
53
|
+
children: "Send"
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
] })
|
|
57
|
+
] }) });
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
UserEditComposer
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=user-edit-composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-edit-composer.js","sources":["../../../src/chat-ui/messages/user-edit-composer.tsx"],"sourcesContent":["import { ComposerPrimitive, useAuiState } from \"@assistant-ui/react\";\nimport { useDeepAgentMessageEditSubmit } from \"@athenaintel/agent-runtime\";\nimport type { FC, KeyboardEvent } from \"react\";\n\n/**\n * Rendered in place of a user message while it is being edited (entered via\n * the action bar's Edit control, which seeds this composer with the message\n * text). Sending leaves as a `run/edit` anchored on the host's own parent of\n * the message (`useDeepAgentMessageEditSubmit`) — on a windowed wire the\n * lane's `anchorBefore` at the window edge — so the rewind is never rejected\n * `wrong-anchor` the way the library's converted-message anchor is after a\n * chunked assistant turn; Escape/Cancel exits edit mode.\n */\nexport const UserEditComposer: FC = () => {\n const submit = useDeepAgentMessageEditSubmit();\n const isEmpty = useAuiState((s) => s.message.composer.isEmpty);\n const onKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.key !== \"Enter\" || event.shiftKey || event.nativeEvent.isComposing) return;\n event.preventDefault();\n void submit();\n };\n return (\n <div className=\"mb-3 flex justify-end\" data-testid=\"chat-user-edit-composer\">\n <ComposerPrimitive.Root className=\"flex w-full max-w-[85%] flex-col gap-2 rounded-2xl rounded-br-md border border-border bg-muted px-3.5 py-2.5\">\n <ComposerPrimitive.Input\n autoFocus\n submitMode=\"none\"\n onKeyDown={onKeyDown}\n className=\"w-full resize-none bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground\"\n />\n <div className=\"flex items-center justify-end gap-1.5\">\n <ComposerPrimitive.Cancel asChild>\n <button\n type=\"button\"\n className=\"rounded-lg px-2.5 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground\"\n >\n Cancel\n </button>\n </ComposerPrimitive.Cancel>\n <button\n type=\"button\"\n data-testid=\"chat-user-edit-send\"\n disabled={isEmpty}\n onClick={() => void submit()}\n className=\"rounded-lg bg-foreground px-2.5 py-1 text-xs font-medium text-background shadow-sm transition-colors hover:bg-foreground/80 disabled:cursor-not-allowed disabled:opacity-60\"\n >\n Send\n </button>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaO,MAAM,mBAAuB,MAAM;AACxC,QAAM,SAAS,8BAAA;AACf,QAAM,UAAU,YAAY,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO;AAC7D,QAAM,YAAY,CAAC,UAA8C;AAC/D,QAAI,MAAM,QAAQ,WAAW,MAAM,YAAY,MAAM,YAAY,YAAa;AAC9E,UAAM,eAAA;AACN,SAAK,OAAA;AAAA,EACP;AACA,SACE,oBAAC,OAAA,EAAI,WAAU,yBAAwB,eAAY,2BACjD,UAAA,qBAAC,kBAAkB,MAAlB,EAAuB,WAAU,gHAChC,UAAA;AAAA,IAAA;AAAA,MAAC,kBAAkB;AAAA,MAAlB;AAAA,QACC,WAAS;AAAA,QACT,YAAW;AAAA,QACX;AAAA,QACA,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZ,qBAAC,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,MAAA,oBAAC,kBAAkB,QAAlB,EAAyB,SAAO,MAC/B,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACX,UAAA;AAAA,QAAA;AAAA,MAAA,GAGH;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,eAAY;AAAA,UACZ,UAAU;AAAA,UACV,SAAS,MAAM,KAAK,OAAA;AAAA,UACpB,WAAU;AAAA,UACX,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAED,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
|