@athenaintel/react 0.19.0 → 0.20.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 +97 -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 +362 -0
- package/dist/assets/use-asset-embed.cjs.map +1 -0
- package/dist/assets/use-asset-embed.js +362 -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 +171 -0
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -0
- package/dist/chat/StatewireApprovalCard.js +171 -0
- package/dist/chat/StatewireApprovalCard.js.map +1 -0
- package/dist/chat/StatewireClientToolBridge.cjs +50 -0
- package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
- package/dist/chat/StatewireClientToolBridge.js +50 -0
- package/dist/chat/StatewireClientToolBridge.js.map +1 -0
- package/dist/chat/StatewireQueuedMessages.cjs +432 -0
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
- package/dist/chat/StatewireQueuedMessages.d.ts +3 -4
- package/dist/chat/StatewireQueuedMessages.js +432 -0
- package/dist/chat/StatewireQueuedMessages.js.map +1 -0
- package/dist/chat/athena-citation-links.cjs +326 -0
- package/dist/chat/athena-citation-links.cjs.map +1 -0
- package/dist/chat/athena-citation-links.js +326 -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 +73 -0
- package/dist/chat/statewire-client-tools.cjs.map +1 -0
- package/dist/chat/statewire-client-tools.js +73 -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 +361 -0
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +4 -1
- package/dist/chat/super-grouping/SuperGroupingCard.js +361 -0
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.cjs +151 -0
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.d.ts +3 -3
- package/dist/chat/super-grouping/activity-timeline.js +151 -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/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 +23 -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 +23 -0
- package/dist/chat/use-athena-run-live.js.map +1 -0
- package/dist/chat/use-statewire-approval-request.cjs +46 -0
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
- package/dist/chat/use-statewire-approval-request.js +46 -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 +590 -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 +590 -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 +139 -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 +139 -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 +208 -0
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-chip.js +208 -0
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.cjs +184 -0
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.d.ts +24 -2
- package/dist/chat-ui/mentions/mention-extension.js +184 -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 +62 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js +62 -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.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 +123 -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 +10 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js +123 -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 +343 -0
- package/dist/chat-ui/messages/message-components.cjs.map +1 -0
- package/dist/chat-ui/messages/message-components.d.ts +13 -1
- package/dist/chat-ui/messages/message-components.js +343 -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 +65 -0
- package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
- package/dist/chat-ui/messages/runtime-message.js +65 -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} +39 -16
- package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
- package/dist/chat-ui/messages/statewire-continue-run.d.ts +5 -1
- package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js} +29 -7
- package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs +61 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.js +61 -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/statewire.cjs +39 -0
- package/dist/chat-ui/statewire.cjs.map +1 -0
- package/dist/chat-ui/statewire.js +39 -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 +134 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
- package/dist/chat-ui/thread/statewire-history-edge.js +134 -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 +274 -27882
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +161 -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/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 +270 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.js +270 -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 +86 -0
- package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-list.js +86 -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 +236 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +236 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs +117 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.js +117 -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 +433 -0
- package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/messages.js +433 -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 +33 -0
- package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/protocol.js +33 -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 +47 -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 +47 -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/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 +6 -0
- package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-transport.js +6 -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-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 +1802 -0
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-metadata.js +1802 -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-edit-submit.cjs +28 -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 +28 -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 +138 -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 +138 -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 +387 -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 +387 -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 +403 -0
- package/dist/provider/AthenaProvider.cjs.map +1 -0
- package/dist/provider/AthenaProvider.js +403 -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 +67 -0
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
- package/dist/runtime/statewire-lifecycle.js +67 -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 +179 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.js +180 -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 +70 -0
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
- package/dist/threads/conversation-list-fetcher.js +70 -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 +231 -0
- package/dist/threads/statewire-thread-list.cjs.map +1 -0
- package/dist/threads/statewire-thread-list.js +231 -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 +79 -0
- package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
- package/dist/threads/use-rest-conversation-history.js +79 -0
- package/dist/threads/use-rest-conversation-history.js.map +1 -0
- package/dist/threads/use-statewire-conversation-history.cjs +243 -0
- package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
- package/dist/threads/use-statewire-conversation-history.js +243 -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 +56 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +56 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/misc-tool-uis.cjs +54 -0
- package/dist/tools/misc-tool-uis.cjs.map +1 -0
- package/dist/{misc-tool-uis-gAiQw0Yl.js → tools/misc-tool-uis.js} +17 -7
- package/dist/tools/misc-tool-uis.js.map +1 -0
- package/dist/tools/primitives.cjs +166 -0
- package/dist/tools/primitives.cjs.map +1 -0
- package/dist/tools/primitives.js +166 -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 +667 -0
- package/dist/tools/tool-fallback.cjs.map +1 -0
- package/dist/tools/tool-fallback.js +667 -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 +89 -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 +89 -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/package.json +18 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"athena-citation-links.js","sources":["../../src/chat/athena-citation-links.ts"],"sourcesContent":["import { useCallback, useContext } from 'react';\nimport type { AthenaAssetCitationReference } from '../assets/asset-embed-messages';\nimport { type AssetType, useAssetPanelStore } from '../assets/asset-panel-store';\nimport { AthenaContext } from '../provider/AthenaContext';\nimport type {\n AthenaCitationLinkMetadata,\n AthenaCitationLinkClickContext,\n AthenaCitationLinkHandleInput,\n AthenaCitationLinkHandler,\n AthenaLinkClickContext,\n AthenaLinkClickHandler,\n AthenaLinkClickHandleInput,\n AthenaLinkKind,\n} from '../provider/citation-links';\n\nconst ATHENA_APP_HOSTNAMES = new Set(['app.athenaintel.com', 'staging-app.athenaintel.com']);\nconst ATHENA_PREVIEW_HOSTNAME_SUFFIX = '.previews.athenaintel.com';\nconst ATHENA_WORKSPACE_HOSTNAME_SUFFIXES = ['.app.athenaintel.com', '.staging-app.athenaintel.com'];\n\nconst ASSET_TYPE_ALIASES: Record<string, AssetType> = {\n document: 'document',\n notebook: 'notebook',\n pdf: 'document',\n powerpoint: 'presentation',\n presentation: 'presentation',\n sheet: 'spreadsheet',\n spreadsheet: 'spreadsheet',\n word_document: 'document',\n};\n\nconst isAthenaSpacesPath = (url: URL): boolean => url.pathname.replace(/\\/+$/, '') === '/dashboard/spaces';\n\nexport interface ParsedAthenaCitationLink {\n url: URL;\n assetId: string;\n assetIds: string[];\n assetType: AssetType | null;\n /** Complete target that can be passed directly to AthenaAssetEmbed.reference. */\n reference: AthenaAssetCitationReference;\n}\n\nconst getFiniteNumber = (url: URL, key: string): number | null => {\n const value = url.searchParams.get(key);\n if (value === null || value.trim() === '') return null;\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : null;\n};\n\nconst parseCitationReference = ({\n url,\n assetId,\n}: {\n url: URL;\n assetId: string;\n}): AthenaAssetCitationReference => {\n const reference: AthenaAssetCitationReference = { id: assetId };\n const anchorType = url.searchParams.get('anchor');\n const page = getFiniteNumber(url, 'page');\n\n switch (anchorType) {\n case 'page':\n if (page !== null) reference.anchor = { type: anchorType, page };\n break;\n case 'page_range': {\n const startPage = getFiniteNumber(url, 'start_page');\n const endPage = getFiniteNumber(url, 'end_page');\n if (startPage !== null && endPage !== null) {\n reference.anchor = { type: anchorType, startPage, endPage };\n }\n break;\n }\n case 'page_rect': {\n const x = getFiniteNumber(url, 'x');\n const y = getFiniteNumber(url, 'y');\n const width = getFiniteNumber(url, 'width');\n const height = getFiniteNumber(url, 'height');\n if (page !== null && x !== null && y !== null && width !== null && height !== null) {\n const unit = url.searchParams.get('unit');\n reference.anchor = {\n type: anchorType,\n page,\n x,\n y,\n width,\n height,\n ...(unit === 'percent' || unit === 'point' ? { unit } : {}),\n };\n }\n break;\n }\n case 'page_text': {\n const text = url.searchParams.get('text');\n if (page !== null && text) reference.anchor = { type: anchorType, page, text };\n break;\n }\n // Sheet anchors: the embed's spreadsheet view navigates + flashes the\n // target range (Olympus `useSheetAnchors`). `sheet_id` is the engine's\n // numeric sheet id, NOT a tab index.\n case 'sheet_cell': {\n const sheetId = getFiniteNumber(url, 'sheet_id');\n const cell = url.searchParams.get('cell');\n if (sheetId !== null && cell) reference.anchor = { type: anchorType, sheetId, cell };\n break;\n }\n case 'sheet_range': {\n const sheetId = getFiniteNumber(url, 'sheet_id');\n const range = url.searchParams.get('range');\n if (sheetId !== null && range) reference.anchor = { type: anchorType, sheetId, range };\n break;\n }\n case 'sheet_tab': {\n const sheetId = getFiniteNumber(url, 'sheet_id');\n if (sheetId !== null) reference.anchor = { type: anchorType, sheetId };\n break;\n }\n case 'sheet_table': {\n const sheetId = getFiniteNumber(url, 'sheet_id');\n const tableName = url.searchParams.get('table_name');\n const fallbackRange = url.searchParams.get('fallback_range');\n if (sheetId !== null && tableName) {\n reference.anchor = {\n type: anchorType,\n sheetId,\n tableName,\n ...(fallbackRange ? { fallbackRange } : {}),\n };\n }\n break;\n }\n }\n\n const excerpt = url.searchParams.get('excerpt');\n if (excerpt) reference.meta = { excerpt };\n return reference;\n};\n\nconst normalizeAssetType = (value: string | null): AssetType | null => {\n if (!value) {\n return null;\n }\n\n const normalizedValue = value.trim().replace(/^athena\\//, '').toLowerCase().replace(/-/g, '_');\n return ASSET_TYPE_ALIASES[normalizedValue] ?? null;\n};\n\nconst getOrigin = (value?: string | null): string | null => {\n if (!value) {\n return null;\n }\n\n try {\n return new URL(value).origin;\n } catch {\n return null;\n }\n};\n\nconst getHostname = (value?: string | null): string | null => {\n if (!value) {\n return null;\n }\n\n try {\n return new URL(value).hostname.toLowerCase();\n } catch {\n return null;\n }\n};\n\nconst matchesHostnameOrSubdomain = ({\n hostname,\n candidateHostname,\n}: {\n hostname: string;\n candidateHostname: string;\n}): boolean => hostname === candidateHostname || hostname.endsWith(`.${candidateHostname}`);\n\nconst getCurrentOrigin = (): string | null => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n return window.location.origin;\n};\n\nconst parseUrl = ({\n href,\n appUrl,\n}: {\n href: string;\n appUrl?: string | null;\n}): URL | null => {\n const fallbackBase = appUrl ?? getCurrentOrigin() ?? 'https://app.athenaintel.com';\n\n try {\n return new URL(href, fallbackBase);\n } catch {\n return null;\n }\n};\n\nconst isAthenaAppUrl = ({\n url,\n appUrl,\n}: {\n url: URL;\n appUrl?: string | null;\n}): boolean => {\n const hostname = url.hostname.toLowerCase();\n\n if (\n ATHENA_APP_HOSTNAMES.has(hostname)\n || hostname.endsWith(ATHENA_PREVIEW_HOSTNAME_SUFFIX)\n || ATHENA_WORKSPACE_HOSTNAME_SUFFIXES.some((suffix) => hostname.endsWith(suffix))\n ) {\n return true;\n }\n\n const configuredHostname = getHostname(appUrl);\n if (configuredHostname && matchesHostnameOrSubdomain({ hostname, candidateHostname: configuredHostname })) {\n return true;\n }\n\n const configuredOrigin = getOrigin(appUrl);\n if (configuredOrigin && url.origin === configuredOrigin) {\n return true;\n }\n\n // Fallback: treat same-origin `/dashboard/spaces?asset_ids=...` links as Athena\n // citations so local dev and private-cloud embeds still work without appUrl.\n // Consumers can disable the default interception with\n // linkClicks={{ interceptAthenaCitations: false }} or the legacy citationLinks alias.\n const currentOrigin = getCurrentOrigin();\n return !!currentOrigin && url.origin === currentOrigin;\n};\n\nexport const parseAthenaCitationLink = ({\n href,\n appUrl,\n}: {\n href: string;\n appUrl?: string | null;\n}): ParsedAthenaCitationLink | null => {\n const url = parseUrl({ href, appUrl });\n if (!url || !isAthenaAppUrl({ url, appUrl }) || !isAthenaSpacesPath(url)) {\n return null;\n }\n\n const assetIdsParam = url.searchParams.get('asset_ids');\n if (!assetIdsParam) {\n return null;\n }\n\n const assetIds = assetIdsParam\n .split(',')\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n const assetId = assetIds[0];\n\n if (!assetId) {\n return null;\n }\n\n return {\n url,\n assetId,\n assetIds,\n assetType: normalizeAssetType(url.searchParams.get('asset_type') ?? url.searchParams.get('type')),\n reference: parseCitationReference({ url, assetId }),\n };\n};\n\nexport const isAthenaCitationUrl = ({\n href,\n appUrl,\n}: {\n href: string;\n appUrl?: string | null;\n}): boolean => parseAthenaCitationLink({ href, appUrl }) !== null;\n\ninterface ResolvedAthenaLink {\n url: URL;\n kind: AthenaLinkKind;\n citation: ParsedAthenaCitationLink | null;\n}\n\nconst resolveAthenaLink = ({\n href,\n appUrl,\n}: AthenaLinkClickHandleInput & {\n appUrl?: string | null;\n}): ResolvedAthenaLink | null => {\n const url = parseUrl({ href, appUrl });\n if (!url) {\n return null;\n }\n\n const citation = parseAthenaCitationLink({ href, appUrl });\n if (citation) {\n return {\n url: citation.url,\n kind: 'athena-citation',\n citation,\n };\n }\n\n return {\n url,\n kind: isAthenaAppUrl({ url, appUrl }) ? 'athena-app' : 'external',\n citation: null,\n };\n};\n\nexport const useAthenaLinkClickHandler = (): AthenaLinkClickHandler => {\n const openAsset = useAssetPanelStore((state) => state.openAsset);\n const isAssetPanelAvailable = useAssetPanelStore((state) => state.assetPanelHostCount > 0);\n const athenaConfig = useContext(AthenaContext);\n const appUrl = athenaConfig?.appUrl;\n\n return useCallback<AthenaLinkClickHandler>(\n ({ href, linkText, target, nativeEvent }: AthenaLinkClickHandleInput) => {\n const resolvedLink = resolveAthenaLink({ href, appUrl });\n if (!resolvedLink) {\n return false;\n }\n\n const linkClicks = athenaConfig?.linkClicks;\n const citationLinks = athenaConfig?.citationLinks;\n const trimmedLinkText = linkText?.trim() || null;\n const citationLink = resolvedLink.citation;\n const citationMetadata: AthenaCitationLinkMetadata | null = citationLink\n ? {\n assetId: citationLink.assetId,\n assetIds: citationLink.assetIds,\n assetType: citationLink.assetType,\n }\n : null;\n const openInAssetPanel = citationLink\n ? () => {\n openAsset(citationLink.assetId, {\n name: trimmedLinkText ?? undefined,\n type: citationLink.assetType ?? undefined,\n // Carry the citation target so the panel's iframe navigates to\n // the cited range/page instead of opening at the top.\n reference: citationLink.reference,\n // Reading references is one preview surface: a citation to a\n // different asset swaps the active tab rather than stacking a\n // tab per cited document.\n replaceActiveTab: true,\n });\n }\n : undefined;\n const context: AthenaLinkClickContext = {\n href,\n url: resolvedLink.url,\n target: target ?? null,\n linkText: trimmedLinkText,\n isAssetPanelAvailable,\n kind: resolvedLink.kind,\n citation: citationMetadata,\n nativeEvent: nativeEvent ?? null,\n openInAssetPanel,\n openInBrowser: (nextTarget) => {\n window.open(resolvedLink.url.toString(), nextTarget ?? target ?? '_blank')?.focus();\n },\n };\n\n if (linkClicks?.onClick?.(context) === true) {\n nativeEvent?.preventDefault();\n return true;\n }\n\n if (!citationLink || !openInAssetPanel || !citationMetadata) {\n return false;\n }\n\n const citationContext: AthenaCitationLinkClickContext = {\n ...context,\n kind: 'athena-citation',\n citation: citationMetadata,\n assetId: citationMetadata.assetId,\n assetIds: citationMetadata.assetIds,\n assetType: citationMetadata.assetType,\n openInAssetPanel,\n };\n\n if (citationLinks?.onClick?.(citationContext) === true) {\n nativeEvent?.preventDefault();\n return true;\n }\n\n if ((linkClicks?.interceptAthenaCitations ?? citationLinks?.interceptAthenaCitations) === false) {\n return false;\n }\n\n if (!isAssetPanelAvailable) {\n return false;\n }\n\n citationContext.openInAssetPanel();\n nativeEvent?.preventDefault();\n return true;\n },\n [appUrl, athenaConfig, isAssetPanelAvailable, openAsset],\n );\n};\n\nexport const useAthenaCitationLinkHandler = (): AthenaCitationLinkHandler => {\n const athenaConfig = useContext(AthenaContext);\n const appUrl = athenaConfig?.appUrl;\n const handleLinkClick = useAthenaLinkClickHandler();\n\n return useCallback<AthenaCitationLinkHandler>(\n (input: AthenaCitationLinkHandleInput) => {\n if (!parseAthenaCitationLink({ href: input.href, appUrl })) {\n return false;\n }\n\n return handleLinkClick(input);\n },\n [appUrl, handleLinkClick],\n );\n};\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function runActivityKey(parts) {
|
|
4
|
+
const last = parts[parts.length - 1];
|
|
5
|
+
if (last === void 0 || last === null || typeof last !== "object") return null;
|
|
6
|
+
const tail = last;
|
|
7
|
+
const type = typeof tail["type"] === "string" ? tail["type"] : "unknown";
|
|
8
|
+
if (type === "text" || type === "reasoning") return null;
|
|
9
|
+
const argsText = typeof tail["argsText"] === "string" ? tail["argsText"].length : 0;
|
|
10
|
+
const settled = tail["result"] === void 0 ? 0 : 1;
|
|
11
|
+
return `${parts.length}:${type}:${argsText}:${settled}`;
|
|
12
|
+
}
|
|
13
|
+
const RUN_ACTIVITY_STALL_SECONDS = 30;
|
|
14
|
+
const RUN_ACTIVITY_COUNTER_SECONDS = 5;
|
|
15
|
+
function runActivityLabel(seconds) {
|
|
16
|
+
if (seconds >= RUN_ACTIVITY_STALL_SECONDS) {
|
|
17
|
+
return `Still working — nothing new for ${seconds}s`;
|
|
18
|
+
}
|
|
19
|
+
if (seconds >= RUN_ACTIVITY_COUNTER_SECONDS) {
|
|
20
|
+
return `Working · ${seconds}s`;
|
|
21
|
+
}
|
|
22
|
+
return "Working";
|
|
23
|
+
}
|
|
24
|
+
exports.RUN_ACTIVITY_COUNTER_SECONDS = RUN_ACTIVITY_COUNTER_SECONDS;
|
|
25
|
+
exports.RUN_ACTIVITY_STALL_SECONDS = RUN_ACTIVITY_STALL_SECONDS;
|
|
26
|
+
exports.runActivityKey = runActivityKey;
|
|
27
|
+
exports.runActivityLabel = runActivityLabel;
|
|
28
|
+
//# sourceMappingURL=run-activity.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-activity.cjs","sources":["../../src/chat/run-activity.ts"],"sourcesContent":["/**\n * Run-liveness key for a streaming assistant message.\n *\n * A tool card's spinner says \"this call is running\"; nothing says the RUN is\n * still alive once parts exist — a stalled stream and a busy one look\n * identical. The activity key summarizes the message tail: it is `null` when\n * no liveness row should show (no parts yet, or a text/reasoning tail that\n * already animates on its own), and otherwise changes whenever anything\n * streams into the tail part — so an elapsed timer keyed on it measures\n * \"time since the stream last moved\", not just \"time since the call began\".\n */\nexport function runActivityKey(parts: ReadonlyArray<unknown>): string | null {\n const last = parts[parts.length - 1];\n if (last === undefined || last === null || typeof last !== 'object') return null;\n const tail = last as Record<string, unknown>;\n const type = typeof tail['type'] === 'string' ? (tail['type'] as string) : 'unknown';\n if (type === 'text' || type === 'reasoning') return null;\n const argsText = typeof tail['argsText'] === 'string' ? (tail['argsText'] as string).length : 0;\n const settled = tail['result'] === undefined ? 0 : 1;\n return `${parts.length}:${type}:${argsText}:${settled}`;\n}\n\n/** Seconds without any streamed change before the row flips to a stall tone. */\nexport const RUN_ACTIVITY_STALL_SECONDS = 30;\n\n/** Seconds before the row starts showing its elapsed counter. */\nexport const RUN_ACTIVITY_COUNTER_SECONDS = 5;\n\n/** The row's label for a given number of seconds since the stream last moved. */\nexport function runActivityLabel(seconds: number): string {\n if (seconds >= RUN_ACTIVITY_STALL_SECONDS) {\n return `Still working — nothing new for ${seconds}s`;\n }\n if (seconds >= RUN_ACTIVITY_COUNTER_SECONDS) {\n return `Working · ${seconds}s`;\n }\n return 'Working';\n}\n"],"names":[],"mappings":";;AAWO,SAAS,eAAe,OAA8C;AAC3E,QAAM,OAAO,MAAM,MAAM,SAAS,CAAC;AACnC,MAAI,SAAS,UAAa,SAAS,QAAQ,OAAO,SAAS,SAAU,QAAO;AAC5E,QAAM,OAAO;AACb,QAAM,OAAO,OAAO,KAAK,MAAM,MAAM,WAAY,KAAK,MAAM,IAAe;AAC3E,MAAI,SAAS,UAAU,SAAS,YAAa,QAAO;AACpD,QAAM,WAAW,OAAO,KAAK,UAAU,MAAM,WAAY,KAAK,UAAU,EAAa,SAAS;AAC9F,QAAM,UAAU,KAAK,QAAQ,MAAM,SAAY,IAAI;AACnD,SAAO,GAAG,MAAM,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,OAAO;AACvD;AAGO,MAAM,6BAA6B;AAGnC,MAAM,+BAA+B;AAGrC,SAAS,iBAAiB,SAAyB;AACxD,MAAI,WAAW,4BAA4B;AACzC,WAAO,mCAAmC,OAAO;AAAA,EACnD;AACA,MAAI,WAAW,8BAA8B;AAC3C,WAAO,aAAa,OAAO;AAAA,EAC7B;AACA,SAAO;AACT;;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function runActivityKey(parts) {
|
|
2
|
+
const last = parts[parts.length - 1];
|
|
3
|
+
if (last === void 0 || last === null || typeof last !== "object") return null;
|
|
4
|
+
const tail = last;
|
|
5
|
+
const type = typeof tail["type"] === "string" ? tail["type"] : "unknown";
|
|
6
|
+
if (type === "text" || type === "reasoning") return null;
|
|
7
|
+
const argsText = typeof tail["argsText"] === "string" ? tail["argsText"].length : 0;
|
|
8
|
+
const settled = tail["result"] === void 0 ? 0 : 1;
|
|
9
|
+
return `${parts.length}:${type}:${argsText}:${settled}`;
|
|
10
|
+
}
|
|
11
|
+
const RUN_ACTIVITY_STALL_SECONDS = 30;
|
|
12
|
+
const RUN_ACTIVITY_COUNTER_SECONDS = 5;
|
|
13
|
+
function runActivityLabel(seconds) {
|
|
14
|
+
if (seconds >= RUN_ACTIVITY_STALL_SECONDS) {
|
|
15
|
+
return `Still working — nothing new for ${seconds}s`;
|
|
16
|
+
}
|
|
17
|
+
if (seconds >= RUN_ACTIVITY_COUNTER_SECONDS) {
|
|
18
|
+
return `Working · ${seconds}s`;
|
|
19
|
+
}
|
|
20
|
+
return "Working";
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
RUN_ACTIVITY_COUNTER_SECONDS,
|
|
24
|
+
RUN_ACTIVITY_STALL_SECONDS,
|
|
25
|
+
runActivityKey,
|
|
26
|
+
runActivityLabel
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=run-activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-activity.js","sources":["../../src/chat/run-activity.ts"],"sourcesContent":["/**\n * Run-liveness key for a streaming assistant message.\n *\n * A tool card's spinner says \"this call is running\"; nothing says the RUN is\n * still alive once parts exist — a stalled stream and a busy one look\n * identical. The activity key summarizes the message tail: it is `null` when\n * no liveness row should show (no parts yet, or a text/reasoning tail that\n * already animates on its own), and otherwise changes whenever anything\n * streams into the tail part — so an elapsed timer keyed on it measures\n * \"time since the stream last moved\", not just \"time since the call began\".\n */\nexport function runActivityKey(parts: ReadonlyArray<unknown>): string | null {\n const last = parts[parts.length - 1];\n if (last === undefined || last === null || typeof last !== 'object') return null;\n const tail = last as Record<string, unknown>;\n const type = typeof tail['type'] === 'string' ? (tail['type'] as string) : 'unknown';\n if (type === 'text' || type === 'reasoning') return null;\n const argsText = typeof tail['argsText'] === 'string' ? (tail['argsText'] as string).length : 0;\n const settled = tail['result'] === undefined ? 0 : 1;\n return `${parts.length}:${type}:${argsText}:${settled}`;\n}\n\n/** Seconds without any streamed change before the row flips to a stall tone. */\nexport const RUN_ACTIVITY_STALL_SECONDS = 30;\n\n/** Seconds before the row starts showing its elapsed counter. */\nexport const RUN_ACTIVITY_COUNTER_SECONDS = 5;\n\n/** The row's label for a given number of seconds since the stream last moved. */\nexport function runActivityLabel(seconds: number): string {\n if (seconds >= RUN_ACTIVITY_STALL_SECONDS) {\n return `Still working — nothing new for ${seconds}s`;\n }\n if (seconds >= RUN_ACTIVITY_COUNTER_SECONDS) {\n return `Working · ${seconds}s`;\n }\n return 'Working';\n}\n"],"names":[],"mappings":"AAWO,SAAS,eAAe,OAA8C;AAC3E,QAAM,OAAO,MAAM,MAAM,SAAS,CAAC;AACnC,MAAI,SAAS,UAAa,SAAS,QAAQ,OAAO,SAAS,SAAU,QAAO;AAC5E,QAAM,OAAO;AACb,QAAM,OAAO,OAAO,KAAK,MAAM,MAAM,WAAY,KAAK,MAAM,IAAe;AAC3E,MAAI,SAAS,UAAU,SAAS,YAAa,QAAO;AACpD,QAAM,WAAW,OAAO,KAAK,UAAU,MAAM,WAAY,KAAK,UAAU,EAAa,SAAS;AAC9F,QAAM,UAAU,KAAK,QAAQ,MAAM,SAAY,IAAI;AACnD,SAAO,GAAG,MAAM,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,OAAO;AACvD;AAGO,MAAM,6BAA6B;AAGnC,MAAM,+BAA+B;AAGrC,SAAS,iBAAiB,SAAyB;AACxD,MAAI,WAAW,4BAA4B;AACzC,WAAO,mCAAmC,OAAO;AAAA,EACnD;AACA,MAAI,WAAW,8BAA8B;AAC3C,WAAO,aAAa,OAAO;AAAA,EAC7B;AACA,SAAO;AACT;"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const lucideReact = require("lucide-react");
|
|
5
|
+
const statewireLifecycleContext = require("../provider/statewire-lifecycle-context.cjs");
|
|
6
|
+
const cnfast = require("cnfast");
|
|
7
|
+
const ERROR_BANNER_TONE = {
|
|
8
|
+
paywall: "border-violet-200 bg-violet-50 text-violet-900",
|
|
9
|
+
// A refused send, not a broken chat: the thread is busy (out-of-band run)
|
|
10
|
+
// or needs a new chat — amber, like the connection strip.
|
|
11
|
+
"read-only": "border-amber-200 bg-amber-50 text-amber-900",
|
|
12
|
+
command: "border-red-200 bg-red-50 text-red-900"
|
|
13
|
+
};
|
|
14
|
+
const StatewireErrorBanner = () => {
|
|
15
|
+
const lifecycle = statewireLifecycleContext.useAthenaStatewireLifecycle();
|
|
16
|
+
if (!(lifecycle == null ? void 0 : lifecycle.error)) return null;
|
|
17
|
+
const { error, dismissError } = lifecycle;
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19
|
+
"div",
|
|
20
|
+
{
|
|
21
|
+
role: "alert",
|
|
22
|
+
className: cnfast.cn(
|
|
23
|
+
"aui-statewire-error-banner flex w-full items-start gap-2 rounded-xl border px-3 py-2.5",
|
|
24
|
+
ERROR_BANNER_TONE[error.kind]
|
|
25
|
+
),
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
28
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-xs", children: error.title }),
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "pt-0.5 text-xs leading-snug opacity-80", children: error.message })
|
|
30
|
+
] }),
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32
|
+
"button",
|
|
33
|
+
{
|
|
34
|
+
type: "button",
|
|
35
|
+
"aria-label": "Dismiss chat error",
|
|
36
|
+
onClick: dismissError,
|
|
37
|
+
className: "shrink-0 rounded p-1 transition-colors hover:bg-black/5",
|
|
38
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "size-3.5" })
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
};
|
|
45
|
+
const StatewireConnectionBanner = () => {
|
|
46
|
+
const lifecycle = statewireLifecycleContext.useAthenaStatewireLifecycle();
|
|
47
|
+
const connection = lifecycle == null ? void 0 : lifecycle.connection;
|
|
48
|
+
if (!(connection == null ? void 0 : connection.degraded)) return null;
|
|
49
|
+
const offline = connection.status === "stopped";
|
|
50
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
51
|
+
"div",
|
|
52
|
+
{
|
|
53
|
+
role: "status",
|
|
54
|
+
className: "aui-statewire-connection-banner flex w-full items-center gap-2 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-800 text-xs",
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
57
|
+
"span",
|
|
58
|
+
{
|
|
59
|
+
"aria-hidden": "true",
|
|
60
|
+
className: cnfast.cn(
|
|
61
|
+
"size-2 shrink-0 rounded-full",
|
|
62
|
+
offline ? "bg-red-500" : "animate-pulse bg-amber-500"
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
),
|
|
66
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1", children: offline ? connection.message ?? "Chat is offline." : "Retrying chat connection…" }),
|
|
67
|
+
(lifecycle == null ? void 0 : lifecycle.reconnect) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
68
|
+
"button",
|
|
69
|
+
{
|
|
70
|
+
type: "button",
|
|
71
|
+
"aria-label": "Reconnect chat",
|
|
72
|
+
onClick: lifecycle.reconnect,
|
|
73
|
+
className: "shrink-0 rounded-md border border-amber-300 bg-white px-2 py-1 font-medium transition-colors hover:bg-amber-100",
|
|
74
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCwIcon, { className: "size-3.5" })
|
|
75
|
+
}
|
|
76
|
+
) : null
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
};
|
|
81
|
+
exports.StatewireConnectionBanner = StatewireConnectionBanner;
|
|
82
|
+
exports.StatewireErrorBanner = StatewireErrorBanner;
|
|
83
|
+
//# sourceMappingURL=statewire-banners.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statewire-banners.cjs","sources":["../../src/chat/statewire-banners.tsx"],"sourcesContent":["import { RefreshCwIcon, XIcon } from 'lucide-react';\nimport type { FC } from 'react';\nimport { useAthenaStatewireLifecycle } from '../provider/statewire-lifecycle-context';\nimport type { AthenaStatewireErrorNotice } from '../runtime/statewire-lifecycle';\nimport { cn } from '../lib/utils';\n\nconst ERROR_BANNER_TONE: Record<AthenaStatewireErrorNotice['kind'], string> = {\n paywall: 'border-violet-200 bg-violet-50 text-violet-900',\n // A refused send, not a broken chat: the thread is busy (out-of-band run)\n // or needs a new chat — amber, like the connection strip.\n 'read-only': 'border-amber-200 bg-amber-50 text-amber-900',\n command: 'border-red-200 bg-red-50 text-red-900',\n};\n\n/**\n * Dismissible transport-error banner: send rejections (including the\n * pre-cutover-thread dispatch fence's 409), paywall refusals, and command\n * failures that would otherwise vanish into the console after the composer\n * already cleared. Renders nothing outside `AthenaProvider`.\n */\nexport const StatewireErrorBanner: FC = () => {\n const lifecycle = useAthenaStatewireLifecycle();\n if (!lifecycle?.error) return null;\n const { error, dismissError } = lifecycle;\n\n return (\n <div\n role=\"alert\"\n className={cn(\n 'aui-statewire-error-banner flex w-full items-start gap-2 rounded-xl border px-3 py-2.5',\n ERROR_BANNER_TONE[error.kind],\n )}\n >\n <div className=\"min-w-0 flex-1\">\n <p className=\"font-semibold text-xs\">{error.title}</p>\n <p className=\"pt-0.5 text-xs leading-snug opacity-80\">{error.message}</p>\n </div>\n <button\n type=\"button\"\n aria-label=\"Dismiss chat error\"\n onClick={dismissError}\n className=\"shrink-0 rounded p-1 transition-colors hover:bg-black/5\"\n >\n <XIcon className=\"size-3.5\" />\n </button>\n </div>\n );\n};\n\n/**\n * Degraded-connection strip: shown only while the statewire channel is\n * degraded, with a manual reconnect affordance when the transport exposes one.\n */\nexport const StatewireConnectionBanner: FC = () => {\n const lifecycle = useAthenaStatewireLifecycle();\n const connection = lifecycle?.connection;\n if (!connection?.degraded) return null;\n const offline = connection.status === 'stopped';\n\n return (\n <div\n role=\"status\"\n className=\"aui-statewire-connection-banner flex w-full items-center gap-2 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-800 text-xs\"\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n 'size-2 shrink-0 rounded-full',\n offline ? 'bg-red-500' : 'animate-pulse bg-amber-500',\n )}\n />\n <span className=\"min-w-0 flex-1\">\n {offline ? (connection.message ?? 'Chat is offline.') : 'Retrying chat connection…'}\n </span>\n {lifecycle?.reconnect ? (\n <button\n type=\"button\"\n aria-label=\"Reconnect chat\"\n onClick={lifecycle.reconnect}\n className=\"shrink-0 rounded-md border border-amber-300 bg-white px-2 py-1 font-medium transition-colors hover:bg-amber-100\"\n >\n <RefreshCwIcon className=\"size-3.5\" />\n </button>\n ) : null}\n </div>\n );\n};\n"],"names":["useAthenaStatewireLifecycle","jsxs","cn","jsx","XIcon","RefreshCwIcon"],"mappings":";;;;;;AAMA,MAAM,oBAAwE;AAAA,EAC5E,SAAS;AAAA;AAAA;AAAA,EAGT,aAAa;AAAA,EACb,SAAS;AACX;AAQO,MAAM,uBAA2B,MAAM;AAC5C,QAAM,YAAYA,0BAAAA,4BAAA;AAClB,MAAI,EAAC,uCAAW,OAAO,QAAO;AAC9B,QAAM,EAAE,OAAO,aAAA,IAAiB;AAEhC,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWC,OAAAA;AAAAA,QACT;AAAA,QACA,kBAAkB,MAAM,IAAI;AAAA,MAAA;AAAA,MAG9B,UAAA;AAAA,QAAAD,2BAAAA,KAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,UAAAE,2BAAAA,IAAC,KAAA,EAAE,WAAU,yBAAyB,UAAA,MAAM,OAAM;AAAA,UAClDA,2BAAAA,IAAC,KAAA,EAAE,WAAU,0CAA0C,gBAAM,QAAA,CAAQ;AAAA,QAAA,GACvE;AAAA,QACAA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,SAAS;AAAA,YACT,WAAU;AAAA,YAEV,UAAAA,2BAAAA,IAACC,YAAAA,OAAA,EAAM,WAAU,WAAA,CAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MAC9B;AAAA,IAAA;AAAA,EAAA;AAGN;AAMO,MAAM,4BAAgC,MAAM;AACjD,QAAM,YAAYJ,0BAAAA,4BAAA;AAClB,QAAM,aAAa,uCAAW;AAC9B,MAAI,EAAC,yCAAY,UAAU,QAAO;AAClC,QAAM,UAAU,WAAW,WAAW;AAEtC,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA,MAEV,UAAA;AAAA,QAAAE,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAWD,OAAAA;AAAAA,cACT;AAAA,cACA,UAAU,eAAe;AAAA,YAAA;AAAA,UAC3B;AAAA,QAAA;AAAA,QAEFC,2BAAAA,IAAC,UAAK,WAAU,kBACb,oBAAW,WAAW,WAAW,qBAAsB,4BAAA,CAC1D;AAAA,SACC,uCAAW,aACVA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,SAAS,UAAU;AAAA,YACnB,WAAU;AAAA,YAEV,UAAAA,2BAAAA,IAACE,YAAAA,eAAA,EAAc,WAAU,WAAA,CAAW;AAAA,UAAA;AAAA,QAAA,IAEpC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;;;"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { RefreshCwIcon, XIcon } from "lucide-react";
|
|
3
|
+
import { useAthenaStatewireLifecycle } from "../provider/statewire-lifecycle-context.js";
|
|
4
|
+
import { cn } from "cnfast";
|
|
5
|
+
const ERROR_BANNER_TONE = {
|
|
6
|
+
paywall: "border-violet-200 bg-violet-50 text-violet-900",
|
|
7
|
+
// A refused send, not a broken chat: the thread is busy (out-of-band run)
|
|
8
|
+
// or needs a new chat — amber, like the connection strip.
|
|
9
|
+
"read-only": "border-amber-200 bg-amber-50 text-amber-900",
|
|
10
|
+
command: "border-red-200 bg-red-50 text-red-900"
|
|
11
|
+
};
|
|
12
|
+
const StatewireErrorBanner = () => {
|
|
13
|
+
const lifecycle = useAthenaStatewireLifecycle();
|
|
14
|
+
if (!(lifecycle == null ? void 0 : lifecycle.error)) return null;
|
|
15
|
+
const { error, dismissError } = lifecycle;
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
role: "alert",
|
|
20
|
+
className: cn(
|
|
21
|
+
"aui-statewire-error-banner flex w-full items-start gap-2 rounded-xl border px-3 py-2.5",
|
|
22
|
+
ERROR_BANNER_TONE[error.kind]
|
|
23
|
+
),
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
26
|
+
/* @__PURE__ */ jsx("p", { className: "font-semibold text-xs", children: error.title }),
|
|
27
|
+
/* @__PURE__ */ jsx("p", { className: "pt-0.5 text-xs leading-snug opacity-80", children: error.message })
|
|
28
|
+
] }),
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
"button",
|
|
31
|
+
{
|
|
32
|
+
type: "button",
|
|
33
|
+
"aria-label": "Dismiss chat error",
|
|
34
|
+
onClick: dismissError,
|
|
35
|
+
className: "shrink-0 rounded p-1 transition-colors hover:bg-black/5",
|
|
36
|
+
children: /* @__PURE__ */ jsx(XIcon, { className: "size-3.5" })
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
const StatewireConnectionBanner = () => {
|
|
44
|
+
const lifecycle = useAthenaStatewireLifecycle();
|
|
45
|
+
const connection = lifecycle == null ? void 0 : lifecycle.connection;
|
|
46
|
+
if (!(connection == null ? void 0 : connection.degraded)) return null;
|
|
47
|
+
const offline = connection.status === "stopped";
|
|
48
|
+
return /* @__PURE__ */ jsxs(
|
|
49
|
+
"div",
|
|
50
|
+
{
|
|
51
|
+
role: "status",
|
|
52
|
+
className: "aui-statewire-connection-banner flex w-full items-center gap-2 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-800 text-xs",
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
"span",
|
|
56
|
+
{
|
|
57
|
+
"aria-hidden": "true",
|
|
58
|
+
className: cn(
|
|
59
|
+
"size-2 shrink-0 rounded-full",
|
|
60
|
+
offline ? "bg-red-500" : "animate-pulse bg-amber-500"
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1", children: offline ? connection.message ?? "Chat is offline." : "Retrying chat connection…" }),
|
|
65
|
+
(lifecycle == null ? void 0 : lifecycle.reconnect) ? /* @__PURE__ */ jsx(
|
|
66
|
+
"button",
|
|
67
|
+
{
|
|
68
|
+
type: "button",
|
|
69
|
+
"aria-label": "Reconnect chat",
|
|
70
|
+
onClick: lifecycle.reconnect,
|
|
71
|
+
className: "shrink-0 rounded-md border border-amber-300 bg-white px-2 py-1 font-medium transition-colors hover:bg-amber-100",
|
|
72
|
+
children: /* @__PURE__ */ jsx(RefreshCwIcon, { className: "size-3.5" })
|
|
73
|
+
}
|
|
74
|
+
) : null
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
};
|
|
79
|
+
export {
|
|
80
|
+
StatewireConnectionBanner,
|
|
81
|
+
StatewireErrorBanner
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=statewire-banners.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statewire-banners.js","sources":["../../src/chat/statewire-banners.tsx"],"sourcesContent":["import { RefreshCwIcon, XIcon } from 'lucide-react';\nimport type { FC } from 'react';\nimport { useAthenaStatewireLifecycle } from '../provider/statewire-lifecycle-context';\nimport type { AthenaStatewireErrorNotice } from '../runtime/statewire-lifecycle';\nimport { cn } from '../lib/utils';\n\nconst ERROR_BANNER_TONE: Record<AthenaStatewireErrorNotice['kind'], string> = {\n paywall: 'border-violet-200 bg-violet-50 text-violet-900',\n // A refused send, not a broken chat: the thread is busy (out-of-band run)\n // or needs a new chat — amber, like the connection strip.\n 'read-only': 'border-amber-200 bg-amber-50 text-amber-900',\n command: 'border-red-200 bg-red-50 text-red-900',\n};\n\n/**\n * Dismissible transport-error banner: send rejections (including the\n * pre-cutover-thread dispatch fence's 409), paywall refusals, and command\n * failures that would otherwise vanish into the console after the composer\n * already cleared. Renders nothing outside `AthenaProvider`.\n */\nexport const StatewireErrorBanner: FC = () => {\n const lifecycle = useAthenaStatewireLifecycle();\n if (!lifecycle?.error) return null;\n const { error, dismissError } = lifecycle;\n\n return (\n <div\n role=\"alert\"\n className={cn(\n 'aui-statewire-error-banner flex w-full items-start gap-2 rounded-xl border px-3 py-2.5',\n ERROR_BANNER_TONE[error.kind],\n )}\n >\n <div className=\"min-w-0 flex-1\">\n <p className=\"font-semibold text-xs\">{error.title}</p>\n <p className=\"pt-0.5 text-xs leading-snug opacity-80\">{error.message}</p>\n </div>\n <button\n type=\"button\"\n aria-label=\"Dismiss chat error\"\n onClick={dismissError}\n className=\"shrink-0 rounded p-1 transition-colors hover:bg-black/5\"\n >\n <XIcon className=\"size-3.5\" />\n </button>\n </div>\n );\n};\n\n/**\n * Degraded-connection strip: shown only while the statewire channel is\n * degraded, with a manual reconnect affordance when the transport exposes one.\n */\nexport const StatewireConnectionBanner: FC = () => {\n const lifecycle = useAthenaStatewireLifecycle();\n const connection = lifecycle?.connection;\n if (!connection?.degraded) return null;\n const offline = connection.status === 'stopped';\n\n return (\n <div\n role=\"status\"\n className=\"aui-statewire-connection-banner flex w-full items-center gap-2 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-800 text-xs\"\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n 'size-2 shrink-0 rounded-full',\n offline ? 'bg-red-500' : 'animate-pulse bg-amber-500',\n )}\n />\n <span className=\"min-w-0 flex-1\">\n {offline ? (connection.message ?? 'Chat is offline.') : 'Retrying chat connection…'}\n </span>\n {lifecycle?.reconnect ? (\n <button\n type=\"button\"\n aria-label=\"Reconnect chat\"\n onClick={lifecycle.reconnect}\n className=\"shrink-0 rounded-md border border-amber-300 bg-white px-2 py-1 font-medium transition-colors hover:bg-amber-100\"\n >\n <RefreshCwIcon className=\"size-3.5\" />\n </button>\n ) : null}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;AAMA,MAAM,oBAAwE;AAAA,EAC5E,SAAS;AAAA;AAAA;AAAA,EAGT,aAAa;AAAA,EACb,SAAS;AACX;AAQO,MAAM,uBAA2B,MAAM;AAC5C,QAAM,YAAY,4BAAA;AAClB,MAAI,EAAC,uCAAW,OAAO,QAAO;AAC9B,QAAM,EAAE,OAAO,aAAA,IAAiB;AAEhC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW;AAAA,QACT;AAAA,QACA,kBAAkB,MAAM,IAAI;AAAA,MAAA;AAAA,MAG9B,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,UAAA,oBAAC,KAAA,EAAE,WAAU,yBAAyB,UAAA,MAAM,OAAM;AAAA,UAClD,oBAAC,KAAA,EAAE,WAAU,0CAA0C,gBAAM,QAAA,CAAQ;AAAA,QAAA,GACvE;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,SAAS;AAAA,YACT,WAAU;AAAA,YAEV,UAAA,oBAAC,OAAA,EAAM,WAAU,WAAA,CAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MAC9B;AAAA,IAAA;AAAA,EAAA;AAGN;AAMO,MAAM,4BAAgC,MAAM;AACjD,QAAM,YAAY,4BAAA;AAClB,QAAM,aAAa,uCAAW;AAC9B,MAAI,EAAC,yCAAY,UAAU,QAAO;AAClC,QAAM,UAAU,WAAW,WAAW;AAEtC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAW;AAAA,cACT;AAAA,cACA,UAAU,eAAe;AAAA,YAAA;AAAA,UAC3B;AAAA,QAAA;AAAA,QAEF,oBAAC,UAAK,WAAU,kBACb,oBAAW,WAAW,WAAW,qBAAsB,4BAAA,CAC1D;AAAA,SACC,uCAAW,aACV;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,SAAS,UAAU;AAAA,YACnB,WAAU;AAAA,YAEV,UAAA,oBAAC,eAAA,EAAc,WAAU,WAAA,CAAW;AAAA,UAAA;AAAA,QAAA,IAEpC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const athenaDiagnostics = require("../diagnostics/athena-diagnostics.cjs");
|
|
4
|
+
const clientTools = require("../packages/agent-runtime/src/client-tools.cjs");
|
|
5
|
+
require("react");
|
|
6
|
+
require("@assistant-ui/tap");
|
|
7
|
+
require("statewire");
|
|
8
|
+
require("../packages/agent-runtime/src/statewire-suspended.cjs");
|
|
9
|
+
require("@tanstack/react-query");
|
|
10
|
+
require("../packages/agent-runtime/src/generated/runconfig-contract.cjs");
|
|
11
|
+
require("../packages/agent-runtime/src/statewire-state.cjs");
|
|
12
|
+
require("../packages/agent-runtime/src/messages.cjs");
|
|
13
|
+
require("@assistant-ui/react-statewire");
|
|
14
|
+
require("@assistant-ui/store");
|
|
15
|
+
require("@assistant-ui/react-statewire/local-storage");
|
|
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
|
+
const assistantStream = require("assistant-stream");
|
|
20
|
+
function hasCallableExecute(entry) {
|
|
21
|
+
return !!entry && typeof entry === "object" && typeof entry.execute === "function";
|
|
22
|
+
}
|
|
23
|
+
function collectStatewireClientTools(toolkit) {
|
|
24
|
+
const executable = Object.entries(toolkit).filter(([, entry]) => hasCallableExecute(entry));
|
|
25
|
+
if (executable.length === 0) return [];
|
|
26
|
+
return executable.flatMap(([name, entry]) => {
|
|
27
|
+
if (entry.parameters === void 0) return [];
|
|
28
|
+
let parameters;
|
|
29
|
+
try {
|
|
30
|
+
parameters = { ...assistantStream.toJSONSchema(entry.parameters) };
|
|
31
|
+
} catch (error) {
|
|
32
|
+
athenaDiagnostics.athenaDiagnostics.emit("tools.schema.warning", {
|
|
33
|
+
level: "warn",
|
|
34
|
+
data: {
|
|
35
|
+
tool: name,
|
|
36
|
+
message: "Frontend tool schema could not be converted for statewire; the tool is not registered",
|
|
37
|
+
error: error instanceof Error ? error.message : String(error)
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
const execute = entry.execute;
|
|
43
|
+
return [
|
|
44
|
+
{
|
|
45
|
+
definition: {
|
|
46
|
+
name,
|
|
47
|
+
description: entry.description ?? "",
|
|
48
|
+
parameters,
|
|
49
|
+
requiresWrite: false
|
|
50
|
+
},
|
|
51
|
+
handler: async (args, context) => {
|
|
52
|
+
const controller = new AbortController();
|
|
53
|
+
const output = await execute(args, {
|
|
54
|
+
// The bridge always supplies the parked call's id; a host invoking
|
|
55
|
+
// the handler directly has no call to correlate.
|
|
56
|
+
toolCallId: (context == null ? void 0 : context.toolCallId) ?? "",
|
|
57
|
+
abortSignal: controller.signal,
|
|
58
|
+
human: () => Promise.reject(
|
|
59
|
+
new Error("Human input is not supported for statewire client tools.")
|
|
60
|
+
)
|
|
61
|
+
});
|
|
62
|
+
return output instanceof assistantStream.ToolResponse ? output.result : output;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
];
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function statewireClientToolWireEntries(tools) {
|
|
69
|
+
return clientTools.clientToolRunConfigEntries(tools);
|
|
70
|
+
}
|
|
71
|
+
exports.collectStatewireClientTools = collectStatewireClientTools;
|
|
72
|
+
exports.statewireClientToolWireEntries = statewireClientToolWireEntries;
|
|
73
|
+
//# sourceMappingURL=statewire-client-tools.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statewire-client-tools.cjs","sources":["../../src/chat/statewire-client-tools.ts"],"sourcesContent":["import { athenaDiagnostics } from '../diagnostics/athena-diagnostics';\nimport type { Toolkit } from '@assistant-ui/react';\nimport {\n type ClientToolHandlerContext,\n clientToolRunConfigEntries,\n type RegisteredClientTool,\n} from '@athenaintel/agent-runtime';\nimport { ToolResponse, toJSONSchema } from 'assistant-stream';\n\n/**\n * @deprecated The SDK's client tools ARE the shared `RegisteredClientTool`\n * shape from `@athenaintel/agent-runtime` (`definition` + `handler`); import\n * that type instead. Retained for one release so existing imports type-check.\n */\nexport type StatewireClientTool = RegisteredClientTool;\n\nfunction hasCallableExecute(\n entry: unknown,\n): entry is { execute: (args: Record<string, unknown>, context: unknown) => unknown } {\n return (\n !!entry &&\n typeof entry === 'object' &&\n typeof (entry as { execute?: unknown }).execute === 'function'\n );\n}\n\n/**\n * Collect the client-executable tools from a frontend toolkit, in the shared\n * `RegisteredClientTool` shape every statewire surface declares and executes.\n *\n * The deep-agent runtime drops frontend (`ui_*`) tool definitions, so tools\n * with a local `execute` must instead be declared through\n * `runConfig.custom.client_tools` and answered by the statewire client-tool\n * bridge. Schema conversion reuses `toJSONSchema` — the same conversion\n * primitive as the legacy assistant-transport — and a tool whose schema cannot\n * be converted is skipped with a warning rather than failing the whole set.\n * SDK tools never gate on write consent (`requiresWrite: false`): a toolkit\n * `execute` is the host app's own code.\n */\nexport function collectStatewireClientTools(toolkit: Toolkit): RegisteredClientTool[] {\n const executable = Object.entries(toolkit).filter(([, entry]) => hasCallableExecute(entry));\n if (executable.length === 0) return [];\n\n return executable.flatMap(([name, entry]) => {\n if (entry.parameters === undefined) return [];\n\n let parameters: Record<string, unknown>;\n try {\n parameters = { ...toJSONSchema(entry.parameters) };\n } catch (error) {\n athenaDiagnostics.emit('tools.schema.warning', {\n level: 'warn',\n data: {\n tool: name,\n message: 'Frontend tool schema could not be converted for statewire; the tool is not registered',\n error: error instanceof Error ? error.message : String(error),\n },\n });\n return [];\n }\n\n const execute = (entry as {\n execute: (args: Record<string, unknown>, context: unknown) => unknown;\n }).execute;\n return [\n {\n definition: {\n name,\n description: entry.description ?? '',\n parameters,\n requiresWrite: false,\n },\n handler: async (args, context?: ClientToolHandlerContext) => {\n const controller = new AbortController();\n const output = await execute(args, {\n // The bridge always supplies the parked call's id; a host invoking\n // the handler directly has no call to correlate.\n toolCallId: context?.toolCallId ?? '',\n abortSignal: controller.signal,\n human: () =>\n Promise.reject(\n new Error('Human input is not supported for statewire client tools.'),\n ),\n });\n return output instanceof ToolResponse ? output.result : output;\n },\n },\n ];\n });\n}\n\n/** Wire entries for `runConfig.custom.client_tools` — the shared contract from\n * `@athenaintel/agent-runtime`, so the SDK cannot drift from the other surfaces. */\nexport function statewireClientToolWireEntries(\n tools: readonly RegisteredClientTool[],\n): Record<string, unknown>[] {\n return clientToolRunConfigEntries(tools);\n}\n"],"names":["toJSONSchema","athenaDiagnostics","ToolResponse","clientToolRunConfigEntries"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,SAAS,mBACP,OACoF;AACpF,SACE,CAAC,CAAC,SACF,OAAO,UAAU,YACjB,OAAQ,MAAgC,YAAY;AAExD;AAeO,SAAS,4BAA4B,SAA0C;AACpF,QAAM,aAAa,OAAO,QAAQ,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,MAAM,mBAAmB,KAAK,CAAC;AAC1F,MAAI,WAAW,WAAW,EAAG,QAAO,CAAA;AAEpC,SAAO,WAAW,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAC3C,QAAI,MAAM,eAAe,OAAW,QAAO,CAAA;AAE3C,QAAI;AACJ,QAAI;AACF,mBAAa,EAAE,GAAGA,gBAAAA,aAAa,MAAM,UAAU,EAAA;AAAA,IACjD,SAAS,OAAO;AACdC,wBAAAA,kBAAkB,KAAK,wBAAwB;AAAA,QAC7C,OAAO;AAAA,QACP,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,SAAS;AAAA,UACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,QAAA;AAAA,MAC9D,CACD;AACD,aAAO,CAAA;AAAA,IACT;AAEA,UAAM,UAAW,MAEd;AACH,WAAO;AAAA,MACL;AAAA,QACE,YAAY;AAAA,UACV;AAAA,UACA,aAAa,MAAM,eAAe;AAAA,UAClC;AAAA,UACA,eAAe;AAAA,QAAA;AAAA,QAEjB,SAAS,OAAO,MAAM,YAAuC;AAC3D,gBAAM,aAAa,IAAI,gBAAA;AACvB,gBAAM,SAAS,MAAM,QAAQ,MAAM;AAAA;AAAA;AAAA,YAGjC,aAAY,mCAAS,eAAc;AAAA,YACnC,aAAa,WAAW;AAAA,YACxB,OAAO,MACL,QAAQ;AAAA,cACN,IAAI,MAAM,0DAA0D;AAAA,YAAA;AAAA,UACtE,CACH;AACD,iBAAO,kBAAkBC,gBAAAA,eAAe,OAAO,SAAS;AAAA,QAC1D;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,CAAC;AACH;AAIO,SAAS,+BACd,OAC2B;AAC3B,SAAOC,YAAAA,2BAA2B,KAAK;AACzC;;;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { athenaDiagnostics } from "../diagnostics/athena-diagnostics.js";
|
|
2
|
+
import { clientToolRunConfigEntries } from "../packages/agent-runtime/src/client-tools.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import "@assistant-ui/tap";
|
|
5
|
+
import "statewire";
|
|
6
|
+
import "../packages/agent-runtime/src/statewire-suspended.js";
|
|
7
|
+
import "@tanstack/react-query";
|
|
8
|
+
import "../packages/agent-runtime/src/generated/runconfig-contract.js";
|
|
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 "@assistant-ui/store";
|
|
13
|
+
import "@assistant-ui/react-statewire/local-storage";
|
|
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 { toJSONSchema, ToolResponse } from "assistant-stream";
|
|
18
|
+
function hasCallableExecute(entry) {
|
|
19
|
+
return !!entry && typeof entry === "object" && typeof entry.execute === "function";
|
|
20
|
+
}
|
|
21
|
+
function collectStatewireClientTools(toolkit) {
|
|
22
|
+
const executable = Object.entries(toolkit).filter(([, entry]) => hasCallableExecute(entry));
|
|
23
|
+
if (executable.length === 0) return [];
|
|
24
|
+
return executable.flatMap(([name, entry]) => {
|
|
25
|
+
if (entry.parameters === void 0) return [];
|
|
26
|
+
let parameters;
|
|
27
|
+
try {
|
|
28
|
+
parameters = { ...toJSONSchema(entry.parameters) };
|
|
29
|
+
} catch (error) {
|
|
30
|
+
athenaDiagnostics.emit("tools.schema.warning", {
|
|
31
|
+
level: "warn",
|
|
32
|
+
data: {
|
|
33
|
+
tool: name,
|
|
34
|
+
message: "Frontend tool schema could not be converted for statewire; the tool is not registered",
|
|
35
|
+
error: error instanceof Error ? error.message : String(error)
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
const execute = entry.execute;
|
|
41
|
+
return [
|
|
42
|
+
{
|
|
43
|
+
definition: {
|
|
44
|
+
name,
|
|
45
|
+
description: entry.description ?? "",
|
|
46
|
+
parameters,
|
|
47
|
+
requiresWrite: false
|
|
48
|
+
},
|
|
49
|
+
handler: async (args, context) => {
|
|
50
|
+
const controller = new AbortController();
|
|
51
|
+
const output = await execute(args, {
|
|
52
|
+
// The bridge always supplies the parked call's id; a host invoking
|
|
53
|
+
// the handler directly has no call to correlate.
|
|
54
|
+
toolCallId: (context == null ? void 0 : context.toolCallId) ?? "",
|
|
55
|
+
abortSignal: controller.signal,
|
|
56
|
+
human: () => Promise.reject(
|
|
57
|
+
new Error("Human input is not supported for statewire client tools.")
|
|
58
|
+
)
|
|
59
|
+
});
|
|
60
|
+
return output instanceof ToolResponse ? output.result : output;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function statewireClientToolWireEntries(tools) {
|
|
67
|
+
return clientToolRunConfigEntries(tools);
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
collectStatewireClientTools,
|
|
71
|
+
statewireClientToolWireEntries
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=statewire-client-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statewire-client-tools.js","sources":["../../src/chat/statewire-client-tools.ts"],"sourcesContent":["import { athenaDiagnostics } from '../diagnostics/athena-diagnostics';\nimport type { Toolkit } from '@assistant-ui/react';\nimport {\n type ClientToolHandlerContext,\n clientToolRunConfigEntries,\n type RegisteredClientTool,\n} from '@athenaintel/agent-runtime';\nimport { ToolResponse, toJSONSchema } from 'assistant-stream';\n\n/**\n * @deprecated The SDK's client tools ARE the shared `RegisteredClientTool`\n * shape from `@athenaintel/agent-runtime` (`definition` + `handler`); import\n * that type instead. Retained for one release so existing imports type-check.\n */\nexport type StatewireClientTool = RegisteredClientTool;\n\nfunction hasCallableExecute(\n entry: unknown,\n): entry is { execute: (args: Record<string, unknown>, context: unknown) => unknown } {\n return (\n !!entry &&\n typeof entry === 'object' &&\n typeof (entry as { execute?: unknown }).execute === 'function'\n );\n}\n\n/**\n * Collect the client-executable tools from a frontend toolkit, in the shared\n * `RegisteredClientTool` shape every statewire surface declares and executes.\n *\n * The deep-agent runtime drops frontend (`ui_*`) tool definitions, so tools\n * with a local `execute` must instead be declared through\n * `runConfig.custom.client_tools` and answered by the statewire client-tool\n * bridge. Schema conversion reuses `toJSONSchema` — the same conversion\n * primitive as the legacy assistant-transport — and a tool whose schema cannot\n * be converted is skipped with a warning rather than failing the whole set.\n * SDK tools never gate on write consent (`requiresWrite: false`): a toolkit\n * `execute` is the host app's own code.\n */\nexport function collectStatewireClientTools(toolkit: Toolkit): RegisteredClientTool[] {\n const executable = Object.entries(toolkit).filter(([, entry]) => hasCallableExecute(entry));\n if (executable.length === 0) return [];\n\n return executable.flatMap(([name, entry]) => {\n if (entry.parameters === undefined) return [];\n\n let parameters: Record<string, unknown>;\n try {\n parameters = { ...toJSONSchema(entry.parameters) };\n } catch (error) {\n athenaDiagnostics.emit('tools.schema.warning', {\n level: 'warn',\n data: {\n tool: name,\n message: 'Frontend tool schema could not be converted for statewire; the tool is not registered',\n error: error instanceof Error ? error.message : String(error),\n },\n });\n return [];\n }\n\n const execute = (entry as {\n execute: (args: Record<string, unknown>, context: unknown) => unknown;\n }).execute;\n return [\n {\n definition: {\n name,\n description: entry.description ?? '',\n parameters,\n requiresWrite: false,\n },\n handler: async (args, context?: ClientToolHandlerContext) => {\n const controller = new AbortController();\n const output = await execute(args, {\n // The bridge always supplies the parked call's id; a host invoking\n // the handler directly has no call to correlate.\n toolCallId: context?.toolCallId ?? '',\n abortSignal: controller.signal,\n human: () =>\n Promise.reject(\n new Error('Human input is not supported for statewire client tools.'),\n ),\n });\n return output instanceof ToolResponse ? output.result : output;\n },\n },\n ];\n });\n}\n\n/** Wire entries for `runConfig.custom.client_tools` — the shared contract from\n * `@athenaintel/agent-runtime`, so the SDK cannot drift from the other surfaces. */\nexport function statewireClientToolWireEntries(\n tools: readonly RegisteredClientTool[],\n): Record<string, unknown>[] {\n return clientToolRunConfigEntries(tools);\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAgBA,SAAS,mBACP,OACoF;AACpF,SACE,CAAC,CAAC,SACF,OAAO,UAAU,YACjB,OAAQ,MAAgC,YAAY;AAExD;AAeO,SAAS,4BAA4B,SAA0C;AACpF,QAAM,aAAa,OAAO,QAAQ,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,MAAM,mBAAmB,KAAK,CAAC;AAC1F,MAAI,WAAW,WAAW,EAAG,QAAO,CAAA;AAEpC,SAAO,WAAW,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAC3C,QAAI,MAAM,eAAe,OAAW,QAAO,CAAA;AAE3C,QAAI;AACJ,QAAI;AACF,mBAAa,EAAE,GAAG,aAAa,MAAM,UAAU,EAAA;AAAA,IACjD,SAAS,OAAO;AACd,wBAAkB,KAAK,wBAAwB;AAAA,QAC7C,OAAO;AAAA,QACP,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,SAAS;AAAA,UACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,QAAA;AAAA,MAC9D,CACD;AACD,aAAO,CAAA;AAAA,IACT;AAEA,UAAM,UAAW,MAEd;AACH,WAAO;AAAA,MACL;AAAA,QACE,YAAY;AAAA,UACV;AAAA,UACA,aAAa,MAAM,eAAe;AAAA,UAClC;AAAA,UACA,eAAe;AAAA,QAAA;AAAA,QAEjB,SAAS,OAAO,MAAM,YAAuC;AAC3D,gBAAM,aAAa,IAAI,gBAAA;AACvB,gBAAM,SAAS,MAAM,QAAQ,MAAM;AAAA;AAAA;AAAA,YAGjC,aAAY,mCAAS,eAAc;AAAA,YACnC,aAAa,WAAW;AAAA,YACxB,OAAO,MACL,QAAQ;AAAA,cACN,IAAI,MAAM,0DAA0D;AAAA,YAAA;AAAA,UACtE,CACH;AACD,iBAAO,kBAAkB,eAAe,OAAO,SAAS;AAAA,QAC1D;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,CAAC;AACH;AAIO,SAAS,+BACd,OAC2B;AAC3B,SAAO,2BAA2B,KAAK;AACzC;"}
|