@athenaintel/react 0.18.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 +195 -7
- 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.d.ts +59 -2
- 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.d.ts +3 -3
- 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 +104 -6
- 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-approval.d.ts +1 -1
- 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.d.ts +15 -21
- 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.d.ts +52 -11
- 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 +81 -21
- 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 +91 -0
- 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.d.ts +13 -10
- 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.d.ts +12 -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.d.ts +8 -1
- 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.d.ts +44 -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.d.ts +11 -1
- 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 +11 -4
- 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/mentions/suggestions/shims.d.ts +0 -4
- 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.d.ts +2 -3
- package/dist/chat-ui/messages/runtime-message.js +65 -0
- package/dist/chat-ui/messages/runtime-message.js.map +1 -0
- package/dist/chat-ui/messages/statewire-continue-run.cjs +154 -0
- package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
- package/dist/chat-ui/messages/statewire-continue-run.d.ts +52 -7
- package/dist/chat-ui/messages/statewire-continue-run.js +154 -0
- 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.d.ts +5 -2
- 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.d.ts +19 -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.d.ts +7 -1
- 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.d.ts +52 -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.d.ts +1 -1
- 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.d.ts +4 -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 +283 -30852
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +27 -10
- package/dist/index.js +155 -30711
- 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.d.ts +4 -2
- 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 +17 -9
- 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.d.ts +12 -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.d.ts +38 -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.d.ts +25 -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.d.ts +13 -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.d.ts +36 -5
- 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.d.ts +8 -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.d.ts +20 -4
- 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 +15 -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/tools/misc-tool-uis.d.ts +2 -0
- package/dist/tools/misc-tool-uis.js +54 -0
- 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.d.ts +41 -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.d.ts +78 -6
- 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.d.ts +10 -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.d.ts +1 -23
- 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 +35 -19
- 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/auth.cjs.map +0 -1
- package/dist/auth.js.map +0 -1
- package/dist/chat/ComposerEditorContext.d.ts +0 -36
- package/dist/chat/super-grouping/tool-status-labels.d.ts +0 -1
- package/dist/chat/tiptap-composer.d.ts +0 -7
- package/dist/chat-ui.cjs +0 -2667
- package/dist/chat-ui.cjs.map +0 -1
- package/dist/chat-ui.js +0 -2668
- 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/use-rest-conversation-history-Bs5qn5G3.js +0 -37322
- package/dist/use-rest-conversation-history-Bs5qn5G3.js.map +0 -1
- package/dist/use-rest-conversation-history-Dm0rdQgT.cjs +0 -37358
- package/dist/use-rest-conversation-history-Dm0rdQgT.cjs.map +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The assistant turn's activity timeline — the one derivation of "what did
|
|
3
|
+
* this turn do, and how did each step end" behind the grouped
|
|
4
|
+
* ("conversational") view on every surface: the SDK's `AthenaChat`, Olympus's
|
|
5
|
+
* Spaces chat, and the Chrome extension. Pure functions over assistant-ui
|
|
6
|
+
* message parts; `SuperGroupingCard` renders them.
|
|
7
|
+
*
|
|
8
|
+
* Step states come from the shared classifier (`classifyToolResult`) plus the
|
|
9
|
+
* approval outcomes a part carries (`approval`, `interrupt`, a rejection
|
|
10
|
+
* result), so a call that reads as failed, paused, or rejected on one surface
|
|
11
|
+
* cannot read as a green check on another. Copy comes from the shared tool
|
|
12
|
+
* display registry (`toolStatusLabel`).
|
|
13
|
+
*/
|
|
14
|
+
import type { MessageStatus, ThreadAssistantMessagePart } from '@assistant-ui/react';
|
|
15
|
+
import { type ToolStatusLabelState } from '@athenaintel/agent-runtime';
|
|
16
|
+
import type { GroupingFunction } from './grouping-function';
|
|
17
|
+
export type ActivityToolState = ToolStatusLabelState;
|
|
18
|
+
export type ActivityItem = {
|
|
19
|
+
kind: 'reasoning';
|
|
20
|
+
text: string;
|
|
21
|
+
state: 'running' | 'complete';
|
|
22
|
+
} | {
|
|
23
|
+
kind: 'tool';
|
|
24
|
+
toolName: string;
|
|
25
|
+
state: ActivityToolState;
|
|
26
|
+
};
|
|
27
|
+
/** The turn as a whole: still working, parked on the person, ended in error, or done. */
|
|
28
|
+
export type ActivityPhase = 'running' | 'waiting' | 'complete' | 'error';
|
|
29
|
+
type ToolCallPart = Extract<ThreadAssistantMessagePart, {
|
|
30
|
+
type: 'tool-call';
|
|
31
|
+
}>;
|
|
32
|
+
export interface ActivityTimelineOptions {
|
|
33
|
+
/**
|
|
34
|
+
* Tools whose unresolved call means the turn is waiting on the person even
|
|
35
|
+
* without an interrupt or approval on the part (the Chrome extension's
|
|
36
|
+
* device plan approval, which the tool UI itself collects).
|
|
37
|
+
*/
|
|
38
|
+
waitingTools?: ReadonlySet<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Tools whose result is an application payload relayed verbatim (the Chrome
|
|
41
|
+
* extension's page JavaScript), so a `success: false` flag counts only with
|
|
42
|
+
* an error detail — see `classifyToolResult`'s `passThroughPayload`.
|
|
43
|
+
*/
|
|
44
|
+
passThroughTools?: ReadonlySet<string>;
|
|
45
|
+
}
|
|
46
|
+
/** How one tool call ended (or is going), reading the approval fields before the result. */
|
|
47
|
+
export declare function getActivityToolState(part: ToolCallPart, messageStatus: MessageStatus | undefined, { waitingTools, passThroughTools }?: ActivityTimelineOptions): ActivityToolState;
|
|
48
|
+
/**
|
|
49
|
+
* The compact reasoning/tool timeline in the order the parts streamed.
|
|
50
|
+
*
|
|
51
|
+
* A reasoning part is still streaming only while it is the final part of a
|
|
52
|
+
* running message — once any later part appears, the thought has settled.
|
|
53
|
+
* Settled reasoning parts with no text are dropped so the list never shows an
|
|
54
|
+
* empty thinking row.
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildActivityTimeline(content: readonly ThreadAssistantMessagePart[] | undefined, messageStatus: MessageStatus | undefined, options?: ActivityTimelineOptions): ActivityItem[];
|
|
57
|
+
/** Number of tool calls in the timeline. */
|
|
58
|
+
export declare function countActivityTools(timeline: readonly ActivityItem[]): number;
|
|
59
|
+
/**
|
|
60
|
+
* The turn's phase. Waiting on the person wins over everything — a
|
|
61
|
+
* `requires-action` status, a waiting tool, or a host's own `waitingForInput`
|
|
62
|
+
* assertion (no in-repo host passes one) — then the message's own status.
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveActivityPhase(status: MessageStatus | undefined, timeline: readonly ActivityItem[], { waitingForInput }?: {
|
|
65
|
+
waitingForInput?: boolean;
|
|
66
|
+
}): ActivityPhase;
|
|
67
|
+
/**
|
|
68
|
+
* The status-row copy for one step. `resolveToolDisplayName` lets a host with
|
|
69
|
+
* a richer tool catalog name tools the shared registry has no entry for.
|
|
70
|
+
*/
|
|
71
|
+
export declare function getActivityItemLabel(item: ActivityItem, resolveToolDisplayName?: (toolName: string) => string | undefined): string;
|
|
72
|
+
/** The collapsed-card summary of a finished turn. */
|
|
73
|
+
export declare function getActivitySummary(timeline: readonly ActivityItem[]): string;
|
|
74
|
+
/** The part shape the final-text read needs; any message role's parts satisfy it. */
|
|
75
|
+
export type FinalTextPart = {
|
|
76
|
+
readonly type: string;
|
|
77
|
+
readonly text?: string;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* The visible answer of a grouped turn: the text after the final tool call,
|
|
81
|
+
* or all of it when the turn never called a tool. Intermediate text (before
|
|
82
|
+
* or between tool calls) stays available in the details panel.
|
|
83
|
+
*/
|
|
84
|
+
export declare function getFinalText(content: readonly FinalTextPart[] | undefined): string | null;
|
|
85
|
+
/**
|
|
86
|
+
* Keep the final answer out of the details panel: it renders below the card
|
|
87
|
+
* (`SuperGroupingFinalText`), so the details grouping drops every text part
|
|
88
|
+
* after the last tool call and any group that becomes empty.
|
|
89
|
+
*/
|
|
90
|
+
export declare function excludeFinalTextFromGroups(grouping: GroupingFunction): GroupingFunction;
|
|
91
|
+
export {};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import "../../packages/agent-runtime/src/generated/runconfig-contract.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import "@assistant-ui/tap";
|
|
4
|
+
import "statewire";
|
|
5
|
+
import "../../packages/agent-runtime/src/statewire-suspended.js";
|
|
6
|
+
import { toolStatusLabel } from "../../packages/agent-runtime/src/tool-metadata.js";
|
|
7
|
+
import { readRejectedToolResult, classifyToolResult } from "../../packages/agent-runtime/src/tool-result.js";
|
|
8
|
+
import "@tanstack/react-query";
|
|
9
|
+
import "../../packages/agent-runtime/src/statewire-state.js";
|
|
10
|
+
import "../../packages/agent-runtime/src/messages.js";
|
|
11
|
+
import "@assistant-ui/react-statewire";
|
|
12
|
+
import "@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
|
+
const NO_TOOLS = /* @__PURE__ */ new Set();
|
|
18
|
+
function toolCallStatus(part, messageStatus) {
|
|
19
|
+
if (part.result !== void 0) return { type: "complete" };
|
|
20
|
+
if ((messageStatus == null ? void 0 : messageStatus.type) === "incomplete") {
|
|
21
|
+
return {
|
|
22
|
+
type: "incomplete",
|
|
23
|
+
reason: messageStatus.reason === "tool-calls" ? "other" : messageStatus.reason,
|
|
24
|
+
error: messageStatus.error
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if ((messageStatus == null ? void 0 : messageStatus.type) === "complete") return { type: "complete" };
|
|
28
|
+
if ((messageStatus == null ? void 0 : messageStatus.type) === "requires-action") {
|
|
29
|
+
return { type: "requires-action", reason: messageStatus.reason };
|
|
30
|
+
}
|
|
31
|
+
if ((messageStatus == null ? void 0 : messageStatus.type) === "running") return { type: "running" };
|
|
32
|
+
return void 0;
|
|
33
|
+
}
|
|
34
|
+
function getActivityToolState(part, messageStatus, { waitingTools = NO_TOOLS, passThroughTools = NO_TOOLS } = {}) {
|
|
35
|
+
var _a, _b, _c, _d;
|
|
36
|
+
if (((_a = part.approval) == null ? void 0 : _a.approved) === false || readRejectedToolResult(part.result) !== null) {
|
|
37
|
+
return "rejected";
|
|
38
|
+
}
|
|
39
|
+
if (((_b = part.approval) == null ? void 0 : _b.resolution) === "cancelled" || ((_c = part.approval) == null ? void 0 : _c.resolution) === "expired") {
|
|
40
|
+
return "cancelled";
|
|
41
|
+
}
|
|
42
|
+
const unresolved = part.result === void 0;
|
|
43
|
+
const messageIsActive = messageStatus === void 0 || messageStatus.type === "running" || messageStatus.type === "requires-action";
|
|
44
|
+
if (unresolved && (((_d = part.interrupt) == null ? void 0 : _d.type) === "human" || part.approval !== void 0 && part.approval.approved === void 0 && part.approval.resolution === void 0 || waitingTools.has(part.toolName) && messageIsActive)) {
|
|
45
|
+
return "waiting";
|
|
46
|
+
}
|
|
47
|
+
const classification = classifyToolResult({
|
|
48
|
+
status: toolCallStatus(part, messageStatus),
|
|
49
|
+
result: part.result,
|
|
50
|
+
isError: part.isError,
|
|
51
|
+
passThroughPayload: passThroughTools.has(part.toolName)
|
|
52
|
+
});
|
|
53
|
+
if (classification.state === "requires-action") return "waiting";
|
|
54
|
+
return classification.state;
|
|
55
|
+
}
|
|
56
|
+
function buildActivityTimeline(content, messageStatus, options = {}) {
|
|
57
|
+
if (!(content == null ? void 0 : content.length)) return [];
|
|
58
|
+
const lastPartIndex = content.length - 1;
|
|
59
|
+
const timeline = [];
|
|
60
|
+
for (let index = 0; index < content.length; index += 1) {
|
|
61
|
+
const part = content[index];
|
|
62
|
+
if (part.type === "tool-call") {
|
|
63
|
+
timeline.push({
|
|
64
|
+
kind: "tool",
|
|
65
|
+
toolName: part.toolName,
|
|
66
|
+
state: getActivityToolState(part, messageStatus, options)
|
|
67
|
+
});
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (part.type !== "reasoning") continue;
|
|
71
|
+
const text = typeof part.text === "string" ? part.text : "";
|
|
72
|
+
const stillStreaming = (messageStatus == null ? void 0 : messageStatus.type) === "running" && index === lastPartIndex;
|
|
73
|
+
if (!stillStreaming && text.trim() === "") continue;
|
|
74
|
+
timeline.push({ kind: "reasoning", text, state: stillStreaming ? "running" : "complete" });
|
|
75
|
+
}
|
|
76
|
+
return timeline;
|
|
77
|
+
}
|
|
78
|
+
function countActivityTools(timeline) {
|
|
79
|
+
return timeline.reduce((count, item) => item.kind === "tool" ? count + 1 : count, 0);
|
|
80
|
+
}
|
|
81
|
+
function resolveActivityPhase(status, timeline, { waitingForInput = false } = {}) {
|
|
82
|
+
if (waitingForInput || (status == null ? void 0 : status.type) === "requires-action" || timeline.some((item) => item.kind === "tool" && item.state === "waiting")) {
|
|
83
|
+
return "waiting";
|
|
84
|
+
}
|
|
85
|
+
if ((status == null ? void 0 : status.type) === "running") return "running";
|
|
86
|
+
if ((status == null ? void 0 : status.type) === "incomplete") return "error";
|
|
87
|
+
return "complete";
|
|
88
|
+
}
|
|
89
|
+
function getActivityItemLabel(item, resolveToolDisplayName) {
|
|
90
|
+
if (item.kind === "reasoning") {
|
|
91
|
+
return item.state === "running" ? "Thinking" : "Thought through the next step";
|
|
92
|
+
}
|
|
93
|
+
return toolStatusLabel(item.toolName, item.state, resolveToolDisplayName == null ? void 0 : resolveToolDisplayName(item.toolName));
|
|
94
|
+
}
|
|
95
|
+
function getActivitySummary(timeline) {
|
|
96
|
+
const toolCount = countActivityTools(timeline);
|
|
97
|
+
const hasIssue = timeline.some(
|
|
98
|
+
(item) => item.kind === "tool" && (item.state === "error" || item.state === "rejected")
|
|
99
|
+
);
|
|
100
|
+
if (hasIssue) return "Completed with issues";
|
|
101
|
+
if (timeline.some((item) => item.kind === "tool" && item.state === "cancelled")) {
|
|
102
|
+
return "Action cancelled";
|
|
103
|
+
}
|
|
104
|
+
if (timeline.some((item) => item.kind === "tool" && item.state === "paused")) {
|
|
105
|
+
return "Paused during tool use";
|
|
106
|
+
}
|
|
107
|
+
if (toolCount > 0) return `Used ${toolCount} ${toolCount === 1 ? "tool" : "tools"}`;
|
|
108
|
+
return "Reasoning complete";
|
|
109
|
+
}
|
|
110
|
+
function getFinalText(content) {
|
|
111
|
+
var _a;
|
|
112
|
+
if (!(content == null ? void 0 : content.length)) return null;
|
|
113
|
+
let lastToolIndex = -1;
|
|
114
|
+
for (let index = content.length - 1; index >= 0; index -= 1) {
|
|
115
|
+
if (((_a = content[index]) == null ? void 0 : _a.type) === "tool-call") {
|
|
116
|
+
lastToolIndex = index;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
const texts = [];
|
|
121
|
+
for (let index = lastToolIndex + 1; index < content.length; index += 1) {
|
|
122
|
+
const part = content[index];
|
|
123
|
+
if ((part == null ? void 0 : part.type) === "text" && part.text) texts.push(part.text);
|
|
124
|
+
}
|
|
125
|
+
return texts.length > 0 ? texts.join("\n\n") : null;
|
|
126
|
+
}
|
|
127
|
+
function excludeFinalTextFromGroups(grouping) {
|
|
128
|
+
return (parts) => {
|
|
129
|
+
const lastToolIndex = parts.findLastIndex((part) => (part == null ? void 0 : part.type) === "tool-call");
|
|
130
|
+
return grouping(parts).map((group) => ({
|
|
131
|
+
...group,
|
|
132
|
+
indices: group.indices.filter(
|
|
133
|
+
(index) => {
|
|
134
|
+
var _a;
|
|
135
|
+
return ((_a = parts[index]) == null ? void 0 : _a.type) !== "text" || index <= lastToolIndex;
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
})).filter((group) => group.indices.length > 0);
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
export {
|
|
142
|
+
buildActivityTimeline,
|
|
143
|
+
countActivityTools,
|
|
144
|
+
excludeFinalTextFromGroups,
|
|
145
|
+
getActivityItemLabel,
|
|
146
|
+
getActivitySummary,
|
|
147
|
+
getActivityToolState,
|
|
148
|
+
getFinalText,
|
|
149
|
+
resolveActivityPhase
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=activity-timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-timeline.js","sources":["../../../src/chat/super-grouping/activity-timeline.ts"],"sourcesContent":["/**\n * The assistant turn's activity timeline — the one derivation of \"what did\n * this turn do, and how did each step end\" behind the grouped\n * (\"conversational\") view on every surface: the SDK's `AthenaChat`, Olympus's\n * Spaces chat, and the Chrome extension. Pure functions over assistant-ui\n * message parts; `SuperGroupingCard` renders them.\n *\n * Step states come from the shared classifier (`classifyToolResult`) plus the\n * approval outcomes a part carries (`approval`, `interrupt`, a rejection\n * result), so a call that reads as failed, paused, or rejected on one surface\n * cannot read as a green check on another. Copy comes from the shared tool\n * display registry (`toolStatusLabel`).\n */\nimport type {\n MessageStatus,\n ThreadAssistantMessagePart,\n ToolCallMessagePartStatus,\n} from '@assistant-ui/react';\nimport {\n classifyToolResult,\n readRejectedToolResult,\n toolStatusLabel,\n type ToolStatusLabelState,\n} from '@athenaintel/agent-runtime';\nimport type { GroupingFunction } from './grouping-function';\n\nexport type ActivityToolState = ToolStatusLabelState;\n\nexport type ActivityItem =\n | { kind: 'reasoning'; text: string; state: 'running' | 'complete' }\n | { kind: 'tool'; toolName: string; state: ActivityToolState };\n\n/** The turn as a whole: still working, parked on the person, ended in error, or done. */\nexport type ActivityPhase = 'running' | 'waiting' | 'complete' | 'error';\n\ntype ToolCallPart = Extract<ThreadAssistantMessagePart, { type: 'tool-call' }>;\n\nexport interface ActivityTimelineOptions {\n /**\n * Tools whose unresolved call means the turn is waiting on the person even\n * without an interrupt or approval on the part (the Chrome extension's\n * device plan approval, which the tool UI itself collects).\n */\n waitingTools?: ReadonlySet<string>;\n /**\n * Tools whose result is an application payload relayed verbatim (the Chrome\n * extension's page JavaScript), so a `success: false` flag counts only with\n * an error detail — see `classifyToolResult`'s `passThroughPayload`.\n */\n passThroughTools?: ReadonlySet<string>;\n}\n\nconst NO_TOOLS: ReadonlySet<string> = new Set();\n\nfunction toolCallStatus(\n part: ToolCallPart,\n messageStatus: MessageStatus | undefined,\n): ToolCallMessagePartStatus | undefined {\n if (part.result !== undefined) return { type: 'complete' };\n if (messageStatus?.type === 'incomplete') {\n return {\n type: 'incomplete',\n reason: messageStatus.reason === 'tool-calls' ? 'other' : messageStatus.reason,\n error: messageStatus.error,\n };\n }\n if (messageStatus?.type === 'complete') return { type: 'complete' };\n if (messageStatus?.type === 'requires-action') {\n return { type: 'requires-action', reason: messageStatus.reason };\n }\n if (messageStatus?.type === 'running') return { type: 'running' };\n return undefined;\n}\n\n/** How one tool call ended (or is going), reading the approval fields before the result. */\nexport function getActivityToolState(\n part: ToolCallPart,\n messageStatus: MessageStatus | undefined,\n { waitingTools = NO_TOOLS, passThroughTools = NO_TOOLS }: ActivityTimelineOptions = {},\n): ActivityToolState {\n if (part.approval?.approved === false || readRejectedToolResult(part.result) !== null) {\n return 'rejected';\n }\n if (part.approval?.resolution === 'cancelled' || part.approval?.resolution === 'expired') {\n return 'cancelled';\n }\n const unresolved = part.result === undefined;\n const messageIsActive =\n messageStatus === undefined ||\n messageStatus.type === 'running' ||\n messageStatus.type === 'requires-action';\n if (\n unresolved &&\n (part.interrupt?.type === 'human' ||\n (part.approval !== undefined &&\n part.approval.approved === undefined &&\n part.approval.resolution === undefined) ||\n (waitingTools.has(part.toolName) && messageIsActive))\n ) {\n return 'waiting';\n }\n\n const classification = classifyToolResult({\n status: toolCallStatus(part, messageStatus),\n result: part.result,\n isError: part.isError,\n passThroughPayload: passThroughTools.has(part.toolName),\n });\n if (classification.state === 'requires-action') return 'waiting';\n return classification.state;\n}\n\n/**\n * The compact reasoning/tool timeline in the order the parts streamed.\n *\n * A reasoning part is still streaming only while it is the final part of a\n * running message — once any later part appears, the thought has settled.\n * Settled reasoning parts with no text are dropped so the list never shows an\n * empty thinking row.\n */\nexport function buildActivityTimeline(\n content: readonly ThreadAssistantMessagePart[] | undefined,\n messageStatus: MessageStatus | undefined,\n options: ActivityTimelineOptions = {},\n): ActivityItem[] {\n if (!content?.length) return [];\n\n const lastPartIndex = content.length - 1;\n const timeline: ActivityItem[] = [];\n for (let index = 0; index < content.length; index += 1) {\n const part = content[index];\n if (part.type === 'tool-call') {\n timeline.push({\n kind: 'tool',\n toolName: part.toolName,\n state: getActivityToolState(part, messageStatus, options),\n });\n continue;\n }\n if (part.type !== 'reasoning') continue;\n\n const text = typeof part.text === 'string' ? part.text : '';\n const stillStreaming = messageStatus?.type === 'running' && index === lastPartIndex;\n if (!stillStreaming && text.trim() === '') continue;\n timeline.push({ kind: 'reasoning', text, state: stillStreaming ? 'running' : 'complete' });\n }\n return timeline;\n}\n\n/** Number of tool calls in the timeline. */\nexport function countActivityTools(timeline: readonly ActivityItem[]): number {\n return timeline.reduce((count, item) => (item.kind === 'tool' ? count + 1 : count), 0);\n}\n\n/**\n * The turn's phase. Waiting on the person wins over everything — a\n * `requires-action` status, a waiting tool, or a host's own `waitingForInput`\n * assertion (no in-repo host passes one) — then the message's own status.\n */\nexport function resolveActivityPhase(\n status: MessageStatus | undefined,\n timeline: readonly ActivityItem[],\n { waitingForInput = false }: { waitingForInput?: boolean } = {},\n): ActivityPhase {\n if (\n waitingForInput ||\n status?.type === 'requires-action' ||\n timeline.some((item) => item.kind === 'tool' && item.state === 'waiting')\n ) {\n return 'waiting';\n }\n if (status?.type === 'running') return 'running';\n if (status?.type === 'incomplete') return 'error';\n return 'complete';\n}\n\n/**\n * The status-row copy for one step. `resolveToolDisplayName` lets a host with\n * a richer tool catalog name tools the shared registry has no entry for.\n */\nexport function getActivityItemLabel(\n item: ActivityItem,\n resolveToolDisplayName?: (toolName: string) => string | undefined,\n): string {\n if (item.kind === 'reasoning') {\n return item.state === 'running' ? 'Thinking' : 'Thought through the next step';\n }\n return toolStatusLabel(item.toolName, item.state, resolveToolDisplayName?.(item.toolName));\n}\n\n/** The collapsed-card summary of a finished turn. */\nexport function getActivitySummary(timeline: readonly ActivityItem[]): string {\n const toolCount = countActivityTools(timeline);\n const hasIssue = timeline.some(\n (item) => item.kind === 'tool' && (item.state === 'error' || item.state === 'rejected'),\n );\n if (hasIssue) return 'Completed with issues';\n if (timeline.some((item) => item.kind === 'tool' && item.state === 'cancelled')) {\n return 'Action cancelled';\n }\n if (timeline.some((item) => item.kind === 'tool' && item.state === 'paused')) {\n return 'Paused during tool use';\n }\n if (toolCount > 0) return `Used ${toolCount} ${toolCount === 1 ? 'tool' : 'tools'}`;\n return 'Reasoning complete';\n}\n\n/** The part shape the final-text read needs; any message role's parts satisfy it. */\nexport type FinalTextPart = { readonly type: string; readonly text?: string };\n\n/**\n * The visible answer of a grouped turn: the text after the final tool call,\n * or all of it when the turn never called a tool. Intermediate text (before\n * or between tool calls) stays available in the details panel.\n */\nexport function getFinalText(content: readonly FinalTextPart[] | undefined): string | null {\n if (!content?.length) return null;\n\n let lastToolIndex = -1;\n for (let index = content.length - 1; index >= 0; index -= 1) {\n if (content[index]?.type === 'tool-call') {\n lastToolIndex = index;\n break;\n }\n }\n\n const texts: string[] = [];\n for (let index = lastToolIndex + 1; index < content.length; index += 1) {\n const part = content[index];\n if (part?.type === 'text' && part.text) texts.push(part.text);\n }\n return texts.length > 0 ? texts.join('\\n\\n') : null;\n}\n\n/**\n * Keep the final answer out of the details panel: it renders below the card\n * (`SuperGroupingFinalText`), so the details grouping drops every text part\n * after the last tool call and any group that becomes empty.\n */\nexport function excludeFinalTextFromGroups(grouping: GroupingFunction): GroupingFunction {\n return (parts) => {\n const lastToolIndex = parts.findLastIndex((part) => part?.type === 'tool-call');\n return grouping(parts)\n .map((group) => ({\n ...group,\n indices: group.indices.filter(\n (index) => parts[index]?.type !== 'text' || index <= lastToolIndex,\n ),\n }))\n .filter((group) => group.indices.length > 0);\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAoDA,MAAM,+BAAoC,IAAA;AAE1C,SAAS,eACP,MACA,eACuC;AACvC,MAAI,KAAK,WAAW,OAAW,QAAO,EAAE,MAAM,WAAA;AAC9C,OAAI,+CAAe,UAAS,cAAc;AACxC,WAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ,cAAc,WAAW,eAAe,UAAU,cAAc;AAAA,MACxE,OAAO,cAAc;AAAA,IAAA;AAAA,EAEzB;AACA,OAAI,+CAAe,UAAS,WAAY,QAAO,EAAE,MAAM,WAAA;AACvD,OAAI,+CAAe,UAAS,mBAAmB;AAC7C,WAAO,EAAE,MAAM,mBAAmB,QAAQ,cAAc,OAAA;AAAA,EAC1D;AACA,OAAI,+CAAe,UAAS,UAAW,QAAO,EAAE,MAAM,UAAA;AACtD,SAAO;AACT;AAGO,SAAS,qBACd,MACA,eACA,EAAE,eAAe,UAAU,mBAAmB,SAAA,IAAsC,IACjE;;AACnB,QAAI,UAAK,aAAL,mBAAe,cAAa,SAAS,uBAAuB,KAAK,MAAM,MAAM,MAAM;AACrF,WAAO;AAAA,EACT;AACA,QAAI,UAAK,aAAL,mBAAe,gBAAe,iBAAe,UAAK,aAAL,mBAAe,gBAAe,WAAW;AACxF,WAAO;AAAA,EACT;AACA,QAAM,aAAa,KAAK,WAAW;AACnC,QAAM,kBACJ,kBAAkB,UAClB,cAAc,SAAS,aACvB,cAAc,SAAS;AACzB,MACE,iBACC,UAAK,cAAL,mBAAgB,UAAS,WACvB,KAAK,aAAa,UACjB,KAAK,SAAS,aAAa,UAC3B,KAAK,SAAS,eAAe,UAC9B,aAAa,IAAI,KAAK,QAAQ,KAAK,kBACtC;AACA,WAAO;AAAA,EACT;AAEA,QAAM,iBAAiB,mBAAmB;AAAA,IACxC,QAAQ,eAAe,MAAM,aAAa;AAAA,IAC1C,QAAQ,KAAK;AAAA,IACb,SAAS,KAAK;AAAA,IACd,oBAAoB,iBAAiB,IAAI,KAAK,QAAQ;AAAA,EAAA,CACvD;AACD,MAAI,eAAe,UAAU,kBAAmB,QAAO;AACvD,SAAO,eAAe;AACxB;AAUO,SAAS,sBACd,SACA,eACA,UAAmC,CAAA,GACnB;AAChB,MAAI,EAAC,mCAAS,QAAQ,QAAO,CAAA;AAE7B,QAAM,gBAAgB,QAAQ,SAAS;AACvC,QAAM,WAA2B,CAAA;AACjC,WAAS,QAAQ,GAAG,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACtD,UAAM,OAAO,QAAQ,KAAK;AAC1B,QAAI,KAAK,SAAS,aAAa;AAC7B,eAAS,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,UAAU,KAAK;AAAA,QACf,OAAO,qBAAqB,MAAM,eAAe,OAAO;AAAA,MAAA,CACzD;AACD;AAAA,IACF;AACA,QAAI,KAAK,SAAS,YAAa;AAE/B,UAAM,OAAO,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;AACzD,UAAM,kBAAiB,+CAAe,UAAS,aAAa,UAAU;AACtE,QAAI,CAAC,kBAAkB,KAAK,KAAA,MAAW,GAAI;AAC3C,aAAS,KAAK,EAAE,MAAM,aAAa,MAAM,OAAO,iBAAiB,YAAY,YAAY;AAAA,EAC3F;AACA,SAAO;AACT;AAGO,SAAS,mBAAmB,UAA2C;AAC5E,SAAO,SAAS,OAAO,CAAC,OAAO,SAAU,KAAK,SAAS,SAAS,QAAQ,IAAI,OAAQ,CAAC;AACvF;AAOO,SAAS,qBACd,QACA,UACA,EAAE,kBAAkB,MAAA,IAAyC,IAC9C;AACf,MACE,oBACA,iCAAQ,UAAS,qBACjB,SAAS,KAAK,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU,SAAS,GACxE;AACA,WAAO;AAAA,EACT;AACA,OAAI,iCAAQ,UAAS,UAAW,QAAO;AACvC,OAAI,iCAAQ,UAAS,aAAc,QAAO;AAC1C,SAAO;AACT;AAMO,SAAS,qBACd,MACA,wBACQ;AACR,MAAI,KAAK,SAAS,aAAa;AAC7B,WAAO,KAAK,UAAU,YAAY,aAAa;AAAA,EACjD;AACA,SAAO,gBAAgB,KAAK,UAAU,KAAK,OAAO,iEAAyB,KAAK,SAAS;AAC3F;AAGO,SAAS,mBAAmB,UAA2C;AAC5E,QAAM,YAAY,mBAAmB,QAAQ;AAC7C,QAAM,WAAW,SAAS;AAAA,IACxB,CAAC,SAAS,KAAK,SAAS,WAAW,KAAK,UAAU,WAAW,KAAK,UAAU;AAAA,EAAA;AAE9E,MAAI,SAAU,QAAO;AACrB,MAAI,SAAS,KAAK,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU,WAAW,GAAG;AAC/E,WAAO;AAAA,EACT;AACA,MAAI,SAAS,KAAK,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU,QAAQ,GAAG;AAC5E,WAAO;AAAA,EACT;AACA,MAAI,YAAY,EAAG,QAAO,QAAQ,SAAS,IAAI,cAAc,IAAI,SAAS,OAAO;AACjF,SAAO;AACT;AAUO,SAAS,aAAa,SAA8D;;AACzF,MAAI,EAAC,mCAAS,QAAQ,QAAO;AAE7B,MAAI,gBAAgB;AACpB,WAAS,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG;AAC3D,UAAI,aAAQ,KAAK,MAAb,mBAAgB,UAAS,aAAa;AACxC,sBAAgB;AAChB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QAAkB,CAAA;AACxB,WAAS,QAAQ,gBAAgB,GAAG,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACtE,UAAM,OAAO,QAAQ,KAAK;AAC1B,SAAI,6BAAM,UAAS,UAAU,KAAK,KAAM,OAAM,KAAK,KAAK,IAAI;AAAA,EAC9D;AACA,SAAO,MAAM,SAAS,IAAI,MAAM,KAAK,MAAM,IAAI;AACjD;AAOO,SAAS,2BAA2B,UAA8C;AACvF,SAAO,CAAC,UAAU;AAChB,UAAM,gBAAgB,MAAM,cAAc,CAAC,UAAS,6BAAM,UAAS,WAAW;AAC9E,WAAO,SAAS,KAAK,EAClB,IAAI,CAAC,WAAW;AAAA,MACf,GAAG;AAAA,MACH,SAAS,MAAM,QAAQ;AAAA,QACrB,CAAC,UAAA;;AAAU,8BAAM,KAAK,MAAX,mBAAc,UAAS,UAAU,SAAS;AAAA;AAAA,MAAA;AAAA,IACvD,EACA,EACD,OAAO,CAAC,UAAU,MAAM,QAAQ,SAAS,CAAC;AAAA,EAC/C;AACF;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const createToolBasedGroupingFunction = (getToolGroupKey) => (parts) => {
|
|
4
|
+
const calledToolNames = /* @__PURE__ */ new Set();
|
|
5
|
+
for (const part of parts) {
|
|
6
|
+
if (part.type === "tool-call" && part.toolName) calledToolNames.add(part.toolName);
|
|
7
|
+
}
|
|
8
|
+
const groups = [];
|
|
9
|
+
let currentGroup = null;
|
|
10
|
+
for (let idx = 0; idx < parts.length; idx++) {
|
|
11
|
+
const part = parts[idx];
|
|
12
|
+
if ((part == null ? void 0 : part.type) === "reasoning") {
|
|
13
|
+
if (currentGroup) {
|
|
14
|
+
currentGroup.indices.push(idx);
|
|
15
|
+
} else {
|
|
16
|
+
groups.push({ groupKey: void 0, indices: [idx] });
|
|
17
|
+
}
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
let key;
|
|
21
|
+
if ((part == null ? void 0 : part.type) === "tool-call" && part.toolName) {
|
|
22
|
+
key = getToolGroupKey(part.toolName, {
|
|
23
|
+
preferredGroupKey: currentGroup == null ? void 0 : currentGroup.groupKey,
|
|
24
|
+
calledToolNames
|
|
25
|
+
});
|
|
26
|
+
} else if ((part == null ? void 0 : part.type) === "text") {
|
|
27
|
+
const prevKey = currentGroup == null ? void 0 : currentGroup.groupKey;
|
|
28
|
+
let nextKey;
|
|
29
|
+
for (let lookIdx = idx + 1; lookIdx < parts.length; lookIdx++) {
|
|
30
|
+
const lookPart = parts[lookIdx];
|
|
31
|
+
if ((lookPart == null ? void 0 : lookPart.type) === "reasoning" || (lookPart == null ? void 0 : lookPart.type) === "text") continue;
|
|
32
|
+
if ((lookPart == null ? void 0 : lookPart.type) === "tool-call" && lookPart.toolName) {
|
|
33
|
+
nextKey = getToolGroupKey(lookPart.toolName, {
|
|
34
|
+
preferredGroupKey: currentGroup == null ? void 0 : currentGroup.groupKey,
|
|
35
|
+
calledToolNames
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
if (prevKey && nextKey && prevKey === nextKey) {
|
|
41
|
+
key = prevKey;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (currentGroup && currentGroup.groupKey === key) {
|
|
45
|
+
currentGroup.indices.push(idx);
|
|
46
|
+
} else {
|
|
47
|
+
if (currentGroup) groups.push(currentGroup);
|
|
48
|
+
currentGroup = { groupKey: key, indices: [idx] };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (currentGroup) groups.push(currentGroup);
|
|
52
|
+
return groups;
|
|
53
|
+
};
|
|
54
|
+
exports.createToolBasedGroupingFunction = createToolBasedGroupingFunction;
|
|
55
|
+
//# sourceMappingURL=grouping-function.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouping-function.cjs","sources":["../../../src/chat/super-grouping/grouping-function.ts"],"sourcesContent":["import type { GetToolGroupKey } from './toolkit-map';\n\n/** The part shape grouping needs; assistant-ui's `ThreadAssistantMessagePart` satisfies it. */\nexport type GroupablePart = {\n type: string;\n toolName?: string;\n};\n\n/** One group `MessagePrimitive.Unstable_PartsGrouped` renders through its `Group` component. */\nexport type MessagePartGroup = {\n groupKey: string | undefined;\n indices: number[];\n};\n\n/** The grouping contract `MessagePrimitive.Unstable_PartsGrouped` consumes. */\nexport type GroupingFunction = (parts: readonly GroupablePart[]) => MessagePartGroup[];\n\n/**\n * Groups adjacent parts by their toolkit group key: reasoning parts join the\n * open group, and a text part joins when the tool calls on both sides of it\n * share a key. Every `getToolGroupKey` call sees the open group's key and the\n * set of tools the message called, so a tool shared by several toolkits can\n * resolve to the one actually in play (Olympus attributes shared citation\n * tools to the enabled toolkit that way).\n */\nexport const createToolBasedGroupingFunction =\n (getToolGroupKey: GetToolGroupKey): GroupingFunction =>\n (parts) => {\n const calledToolNames = new Set<string>();\n for (const part of parts) {\n if (part.type === 'tool-call' && part.toolName) calledToolNames.add(part.toolName);\n }\n\n const groups: MessagePartGroup[] = [];\n let currentGroup: MessagePartGroup | null = null;\n\n for (let idx = 0; idx < parts.length; idx++) {\n const part = parts[idx];\n\n // Reasoning parts join the current group (if any).\n if (part?.type === 'reasoning') {\n if (currentGroup) {\n currentGroup.indices.push(idx);\n } else {\n groups.push({ groupKey: undefined, indices: [idx] });\n }\n continue;\n }\n\n let key: string | undefined;\n\n if (part?.type === 'tool-call' && part.toolName) {\n key = getToolGroupKey(part.toolName, {\n preferredGroupKey: currentGroup?.groupKey,\n calledToolNames,\n });\n } else if (part?.type === 'text') {\n const prevKey = currentGroup?.groupKey;\n\n let nextKey: string | undefined;\n for (let lookIdx = idx + 1; lookIdx < parts.length; lookIdx++) {\n const lookPart = parts[lookIdx];\n if (lookPart?.type === 'reasoning' || lookPart?.type === 'text') continue;\n if (lookPart?.type === 'tool-call' && lookPart.toolName) {\n nextKey = getToolGroupKey(lookPart.toolName, {\n preferredGroupKey: currentGroup?.groupKey,\n calledToolNames,\n });\n }\n break;\n }\n\n if (prevKey && nextKey && prevKey === nextKey) {\n key = prevKey;\n }\n }\n\n if (currentGroup && currentGroup.groupKey === key) {\n currentGroup.indices.push(idx);\n } else {\n if (currentGroup) groups.push(currentGroup);\n currentGroup = { groupKey: key, indices: [idx] };\n }\n }\n if (currentGroup) groups.push(currentGroup);\n return groups;\n };\n"],"names":[],"mappings":";;AAyBO,MAAM,kCACX,CAAC,oBACD,CAAC,UAAU;AACT,QAAM,sCAAsB,IAAA;AAC5B,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,SAAS,eAAe,KAAK,SAAU,iBAAgB,IAAI,KAAK,QAAQ;AAAA,EACnF;AAEA,QAAM,SAA6B,CAAA;AACnC,MAAI,eAAwC;AAE5C,WAAS,MAAM,GAAG,MAAM,MAAM,QAAQ,OAAO;AAC3C,UAAM,OAAO,MAAM,GAAG;AAGtB,SAAI,6BAAM,UAAS,aAAa;AAC9B,UAAI,cAAc;AAChB,qBAAa,QAAQ,KAAK,GAAG;AAAA,MAC/B,OAAO;AACL,eAAO,KAAK,EAAE,UAAU,QAAW,SAAS,CAAC,GAAG,GAAG;AAAA,MACrD;AACA;AAAA,IACF;AAEA,QAAI;AAEJ,SAAI,6BAAM,UAAS,eAAe,KAAK,UAAU;AAC/C,YAAM,gBAAgB,KAAK,UAAU;AAAA,QACnC,mBAAmB,6CAAc;AAAA,QACjC;AAAA,MAAA,CACD;AAAA,IACH,YAAW,6BAAM,UAAS,QAAQ;AAChC,YAAM,UAAU,6CAAc;AAE9B,UAAI;AACJ,eAAS,UAAU,MAAM,GAAG,UAAU,MAAM,QAAQ,WAAW;AAC7D,cAAM,WAAW,MAAM,OAAO;AAC9B,aAAI,qCAAU,UAAS,gBAAe,qCAAU,UAAS,OAAQ;AACjE,aAAI,qCAAU,UAAS,eAAe,SAAS,UAAU;AACvD,oBAAU,gBAAgB,SAAS,UAAU;AAAA,YAC3C,mBAAmB,6CAAc;AAAA,YACjC;AAAA,UAAA,CACD;AAAA,QACH;AACA;AAAA,MACF;AAEA,UAAI,WAAW,WAAW,YAAY,SAAS;AAC7C,cAAM;AAAA,MACR;AAAA,IACF;AAEA,QAAI,gBAAgB,aAAa,aAAa,KAAK;AACjD,mBAAa,QAAQ,KAAK,GAAG;AAAA,IAC/B,OAAO;AACL,UAAI,aAAc,QAAO,KAAK,YAAY;AAC1C,qBAAe,EAAE,UAAU,KAAK,SAAS,CAAC,GAAG,EAAA;AAAA,IAC/C;AAAA,EACF;AACA,MAAI,aAAc,QAAO,KAAK,YAAY;AAC1C,SAAO;AACT;;"}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import type { GetToolGroupKey } from './toolkit-map';
|
|
2
|
-
|
|
2
|
+
/** The part shape grouping needs; assistant-ui's `ThreadAssistantMessagePart` satisfies it. */
|
|
3
|
+
export type GroupablePart = {
|
|
3
4
|
type: string;
|
|
4
5
|
toolName?: string;
|
|
5
6
|
};
|
|
6
|
-
|
|
7
|
+
/** One group `MessagePrimitive.Unstable_PartsGrouped` renders through its `Group` component. */
|
|
8
|
+
export type MessagePartGroup = {
|
|
7
9
|
groupKey: string | undefined;
|
|
8
10
|
indices: number[];
|
|
9
11
|
};
|
|
12
|
+
/** The grouping contract `MessagePrimitive.Unstable_PartsGrouped` consumes. */
|
|
13
|
+
export type GroupingFunction = (parts: readonly GroupablePart[]) => MessagePartGroup[];
|
|
10
14
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Groups adjacent parts by their toolkit group key: reasoning parts join the
|
|
16
|
+
* open group, and a text part joins when the tool calls on both sides of it
|
|
17
|
+
* share a key. Every `getToolGroupKey` call sees the open group's key and the
|
|
18
|
+
* set of tools the message called, so a tool shared by several toolkits can
|
|
19
|
+
* resolve to the one actually in play (Olympus attributes shared citation
|
|
20
|
+
* tools to the enabled toolkit that way).
|
|
17
21
|
*/
|
|
18
|
-
export declare const createToolBasedGroupingFunction: (getToolGroupKey: GetToolGroupKey) =>
|
|
19
|
-
export {};
|
|
22
|
+
export declare const createToolBasedGroupingFunction: (getToolGroupKey: GetToolGroupKey) => GroupingFunction;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const createToolBasedGroupingFunction = (getToolGroupKey) => (parts) => {
|
|
2
|
+
const calledToolNames = /* @__PURE__ */ new Set();
|
|
3
|
+
for (const part of parts) {
|
|
4
|
+
if (part.type === "tool-call" && part.toolName) calledToolNames.add(part.toolName);
|
|
5
|
+
}
|
|
6
|
+
const groups = [];
|
|
7
|
+
let currentGroup = null;
|
|
8
|
+
for (let idx = 0; idx < parts.length; idx++) {
|
|
9
|
+
const part = parts[idx];
|
|
10
|
+
if ((part == null ? void 0 : part.type) === "reasoning") {
|
|
11
|
+
if (currentGroup) {
|
|
12
|
+
currentGroup.indices.push(idx);
|
|
13
|
+
} else {
|
|
14
|
+
groups.push({ groupKey: void 0, indices: [idx] });
|
|
15
|
+
}
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
let key;
|
|
19
|
+
if ((part == null ? void 0 : part.type) === "tool-call" && part.toolName) {
|
|
20
|
+
key = getToolGroupKey(part.toolName, {
|
|
21
|
+
preferredGroupKey: currentGroup == null ? void 0 : currentGroup.groupKey,
|
|
22
|
+
calledToolNames
|
|
23
|
+
});
|
|
24
|
+
} else if ((part == null ? void 0 : part.type) === "text") {
|
|
25
|
+
const prevKey = currentGroup == null ? void 0 : currentGroup.groupKey;
|
|
26
|
+
let nextKey;
|
|
27
|
+
for (let lookIdx = idx + 1; lookIdx < parts.length; lookIdx++) {
|
|
28
|
+
const lookPart = parts[lookIdx];
|
|
29
|
+
if ((lookPart == null ? void 0 : lookPart.type) === "reasoning" || (lookPart == null ? void 0 : lookPart.type) === "text") continue;
|
|
30
|
+
if ((lookPart == null ? void 0 : lookPart.type) === "tool-call" && lookPart.toolName) {
|
|
31
|
+
nextKey = getToolGroupKey(lookPart.toolName, {
|
|
32
|
+
preferredGroupKey: currentGroup == null ? void 0 : currentGroup.groupKey,
|
|
33
|
+
calledToolNames
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
if (prevKey && nextKey && prevKey === nextKey) {
|
|
39
|
+
key = prevKey;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (currentGroup && currentGroup.groupKey === key) {
|
|
43
|
+
currentGroup.indices.push(idx);
|
|
44
|
+
} else {
|
|
45
|
+
if (currentGroup) groups.push(currentGroup);
|
|
46
|
+
currentGroup = { groupKey: key, indices: [idx] };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (currentGroup) groups.push(currentGroup);
|
|
50
|
+
return groups;
|
|
51
|
+
};
|
|
52
|
+
export {
|
|
53
|
+
createToolBasedGroupingFunction
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=grouping-function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouping-function.js","sources":["../../../src/chat/super-grouping/grouping-function.ts"],"sourcesContent":["import type { GetToolGroupKey } from './toolkit-map';\n\n/** The part shape grouping needs; assistant-ui's `ThreadAssistantMessagePart` satisfies it. */\nexport type GroupablePart = {\n type: string;\n toolName?: string;\n};\n\n/** One group `MessagePrimitive.Unstable_PartsGrouped` renders through its `Group` component. */\nexport type MessagePartGroup = {\n groupKey: string | undefined;\n indices: number[];\n};\n\n/** The grouping contract `MessagePrimitive.Unstable_PartsGrouped` consumes. */\nexport type GroupingFunction = (parts: readonly GroupablePart[]) => MessagePartGroup[];\n\n/**\n * Groups adjacent parts by their toolkit group key: reasoning parts join the\n * open group, and a text part joins when the tool calls on both sides of it\n * share a key. Every `getToolGroupKey` call sees the open group's key and the\n * set of tools the message called, so a tool shared by several toolkits can\n * resolve to the one actually in play (Olympus attributes shared citation\n * tools to the enabled toolkit that way).\n */\nexport const createToolBasedGroupingFunction =\n (getToolGroupKey: GetToolGroupKey): GroupingFunction =>\n (parts) => {\n const calledToolNames = new Set<string>();\n for (const part of parts) {\n if (part.type === 'tool-call' && part.toolName) calledToolNames.add(part.toolName);\n }\n\n const groups: MessagePartGroup[] = [];\n let currentGroup: MessagePartGroup | null = null;\n\n for (let idx = 0; idx < parts.length; idx++) {\n const part = parts[idx];\n\n // Reasoning parts join the current group (if any).\n if (part?.type === 'reasoning') {\n if (currentGroup) {\n currentGroup.indices.push(idx);\n } else {\n groups.push({ groupKey: undefined, indices: [idx] });\n }\n continue;\n }\n\n let key: string | undefined;\n\n if (part?.type === 'tool-call' && part.toolName) {\n key = getToolGroupKey(part.toolName, {\n preferredGroupKey: currentGroup?.groupKey,\n calledToolNames,\n });\n } else if (part?.type === 'text') {\n const prevKey = currentGroup?.groupKey;\n\n let nextKey: string | undefined;\n for (let lookIdx = idx + 1; lookIdx < parts.length; lookIdx++) {\n const lookPart = parts[lookIdx];\n if (lookPart?.type === 'reasoning' || lookPart?.type === 'text') continue;\n if (lookPart?.type === 'tool-call' && lookPart.toolName) {\n nextKey = getToolGroupKey(lookPart.toolName, {\n preferredGroupKey: currentGroup?.groupKey,\n calledToolNames,\n });\n }\n break;\n }\n\n if (prevKey && nextKey && prevKey === nextKey) {\n key = prevKey;\n }\n }\n\n if (currentGroup && currentGroup.groupKey === key) {\n currentGroup.indices.push(idx);\n } else {\n if (currentGroup) groups.push(currentGroup);\n currentGroup = { groupKey: key, indices: [idx] };\n }\n }\n if (currentGroup) groups.push(currentGroup);\n return groups;\n };\n"],"names":[],"mappings":"AAyBO,MAAM,kCACX,CAAC,oBACD,CAAC,UAAU;AACT,QAAM,sCAAsB,IAAA;AAC5B,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,SAAS,eAAe,KAAK,SAAU,iBAAgB,IAAI,KAAK,QAAQ;AAAA,EACnF;AAEA,QAAM,SAA6B,CAAA;AACnC,MAAI,eAAwC;AAE5C,WAAS,MAAM,GAAG,MAAM,MAAM,QAAQ,OAAO;AAC3C,UAAM,OAAO,MAAM,GAAG;AAGtB,SAAI,6BAAM,UAAS,aAAa;AAC9B,UAAI,cAAc;AAChB,qBAAa,QAAQ,KAAK,GAAG;AAAA,MAC/B,OAAO;AACL,eAAO,KAAK,EAAE,UAAU,QAAW,SAAS,CAAC,GAAG,GAAG;AAAA,MACrD;AACA;AAAA,IACF;AAEA,QAAI;AAEJ,SAAI,6BAAM,UAAS,eAAe,KAAK,UAAU;AAC/C,YAAM,gBAAgB,KAAK,UAAU;AAAA,QACnC,mBAAmB,6CAAc;AAAA,QACjC;AAAA,MAAA,CACD;AAAA,IACH,YAAW,6BAAM,UAAS,QAAQ;AAChC,YAAM,UAAU,6CAAc;AAE9B,UAAI;AACJ,eAAS,UAAU,MAAM,GAAG,UAAU,MAAM,QAAQ,WAAW;AAC7D,cAAM,WAAW,MAAM,OAAO;AAC9B,aAAI,qCAAU,UAAS,gBAAe,qCAAU,UAAS,OAAQ;AACjE,aAAI,qCAAU,UAAS,eAAe,SAAS,UAAU;AACvD,oBAAU,gBAAgB,SAAS,UAAU;AAAA,YAC3C,mBAAmB,6CAAc;AAAA,YACjC;AAAA,UAAA,CACD;AAAA,QACH;AACA;AAAA,MACF;AAEA,UAAI,WAAW,WAAW,YAAY,SAAS;AAC7C,cAAM;AAAA,MACR;AAAA,IACF;AAEA,QAAI,gBAAgB,aAAa,aAAa,KAAK;AACjD,mBAAa,QAAQ,KAAK,GAAG;AAAA,IAC/B,OAAO;AACL,UAAI,aAAc,QAAO,KAAK,YAAY;AAC1C,qBAAe,EAAE,UAAU,KAAK,SAAS,CAAC,GAAG,EAAA;AAAA,IAC/C;AAAA,EACF;AACA,MAAI,aAAc,QAAO,KAAK,YAAY;AAC1C,SAAO;AACT;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const activityTimeline = require("./activity-timeline.cjs");
|
|
4
|
+
const CollapsibleGroup = require("./CollapsibleGroup.cjs");
|
|
5
|
+
const groupingFunction = require("./grouping-function.cjs");
|
|
6
|
+
const SuperGroupingCard = require("./SuperGroupingCard.cjs");
|
|
7
|
+
const toolkitMap = require("./toolkit-map.cjs");
|
|
8
|
+
exports.buildActivityTimeline = activityTimeline.buildActivityTimeline;
|
|
9
|
+
exports.countActivityTools = activityTimeline.countActivityTools;
|
|
10
|
+
exports.excludeFinalTextFromGroups = activityTimeline.excludeFinalTextFromGroups;
|
|
11
|
+
exports.getActivityItemLabel = activityTimeline.getActivityItemLabel;
|
|
12
|
+
exports.getActivitySummary = activityTimeline.getActivitySummary;
|
|
13
|
+
exports.getActivityToolState = activityTimeline.getActivityToolState;
|
|
14
|
+
exports.getFinalText = activityTimeline.getFinalText;
|
|
15
|
+
exports.resolveActivityPhase = activityTimeline.resolveActivityPhase;
|
|
16
|
+
exports.CollapsibleGroup = CollapsibleGroup.CollapsibleGroup;
|
|
17
|
+
exports.DEFAULT_TOOLKIT_THEME = CollapsibleGroup.DEFAULT_TOOLKIT_THEME;
|
|
18
|
+
exports.SuperGroupingProvider = CollapsibleGroup.SuperGroupingProvider;
|
|
19
|
+
exports.TOOLKIT_THEMES = CollapsibleGroup.TOOLKIT_THEMES;
|
|
20
|
+
exports.createToolBasedGroupingFunction = groupingFunction.createToolBasedGroupingFunction;
|
|
21
|
+
exports.SuperGroupingCard = SuperGroupingCard.SuperGroupingCard;
|
|
22
|
+
exports.SuperGroupingFinalText = SuperGroupingCard.SuperGroupingFinalText;
|
|
23
|
+
exports.resetRememberedExpansionsForTests = SuperGroupingCard.resetRememberedExpansionsForTests;
|
|
24
|
+
exports.useActivityExpansion = SuperGroupingCard.useActivityExpansion;
|
|
25
|
+
exports.defaultGetToolGroupKey = toolkitMap.defaultGetToolGroupKey;
|
|
26
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@athenaintel/react/super-grouping` — the grouped ("conversational") view of
|
|
3
|
+
* an assistant turn: the activity card, its per-toolkit collapsible blocks,
|
|
4
|
+
* the timeline derivation behind them, and the tool-based grouping function.
|
|
5
|
+
* A lean entry so hosts with their own thread (Olympus, the Chrome extension)
|
|
6
|
+
* mount it from source without the SDK's composer stack.
|
|
7
|
+
*/
|
|
8
|
+
export { type ActivityItem, type ActivityPhase, type ActivityTimelineOptions, type ActivityToolState, buildActivityTimeline, countActivityTools, excludeFinalTextFromGroups, type FinalTextPart, getActivityItemLabel, getActivitySummary, getActivityToolState, getFinalText, resolveActivityPhase, } from './activity-timeline';
|
|
9
|
+
export { CollapsibleGroup, type CollapsibleGroupProps, DEFAULT_TOOLKIT_THEME, SuperGroupingProvider, TOOLKIT_THEMES, type ToolkitTheme, } from './CollapsibleGroup';
|
|
10
|
+
export { createToolBasedGroupingFunction, type GroupablePart, type GroupingFunction, type MessagePartGroup, } from './grouping-function';
|
|
11
|
+
export { resetRememberedExpansionsForTests, SuperGroupingCard, type SuperGroupingCardProps, SuperGroupingFinalText, useActivityExpansion, } from './SuperGroupingCard';
|
|
12
|
+
export { defaultGetToolGroupKey, type GetToolGroupKey, type ToolGroupKeyOptions } from './toolkit-map';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { buildActivityTimeline, countActivityTools, excludeFinalTextFromGroups, getActivityItemLabel, getActivitySummary, getActivityToolState, getFinalText, resolveActivityPhase } from "./activity-timeline.js";
|
|
2
|
+
import { CollapsibleGroup, DEFAULT_TOOLKIT_THEME, SuperGroupingProvider, TOOLKIT_THEMES } from "./CollapsibleGroup.js";
|
|
3
|
+
import { createToolBasedGroupingFunction } from "./grouping-function.js";
|
|
4
|
+
import { SuperGroupingCard, SuperGroupingFinalText, resetRememberedExpansionsForTests, useActivityExpansion } from "./SuperGroupingCard.js";
|
|
5
|
+
import { defaultGetToolGroupKey } from "./toolkit-map.js";
|
|
6
|
+
export {
|
|
7
|
+
CollapsibleGroup,
|
|
8
|
+
DEFAULT_TOOLKIT_THEME,
|
|
9
|
+
SuperGroupingCard,
|
|
10
|
+
SuperGroupingFinalText,
|
|
11
|
+
SuperGroupingProvider,
|
|
12
|
+
TOOLKIT_THEMES,
|
|
13
|
+
buildActivityTimeline,
|
|
14
|
+
countActivityTools,
|
|
15
|
+
createToolBasedGroupingFunction,
|
|
16
|
+
defaultGetToolGroupKey,
|
|
17
|
+
excludeFinalTextFromGroups,
|
|
18
|
+
getActivityItemLabel,
|
|
19
|
+
getActivitySummary,
|
|
20
|
+
getActivityToolState,
|
|
21
|
+
getFinalText,
|
|
22
|
+
resetRememberedExpansionsForTests,
|
|
23
|
+
resolveActivityPhase,
|
|
24
|
+
useActivityExpansion
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const DEFAULT_TOOL_TO_TOOLKIT = {
|
|
4
|
+
// Web
|
|
5
|
+
search: "Web",
|
|
6
|
+
browse: "Web",
|
|
7
|
+
web_search: "Web",
|
|
8
|
+
search_web: "Web",
|
|
9
|
+
web_scrape: "Web",
|
|
10
|
+
scrape_web: "Web",
|
|
11
|
+
// Document
|
|
12
|
+
create_new_document: "Document",
|
|
13
|
+
create_document_from_markdown: "Document",
|
|
14
|
+
append_markdown_to_athena_document: "Document",
|
|
15
|
+
replace_markdown_in_athena_document: "Document",
|
|
16
|
+
delete_blocks_from_athena_document: "Document",
|
|
17
|
+
convert_athena_doc_to_pdf: "Document",
|
|
18
|
+
convert_to_pdf: "Document",
|
|
19
|
+
// Word document (Studio)
|
|
20
|
+
CreateDocument: "Document (Word)",
|
|
21
|
+
CreateParagraph: "Document (Word)",
|
|
22
|
+
OpenDocument: "Document (Word)",
|
|
23
|
+
execute_word_commands: "Document (Word)",
|
|
24
|
+
create_new_word_document: "Document (Word)",
|
|
25
|
+
// Spreadsheet
|
|
26
|
+
create_new_sheet: "Spreadsheet",
|
|
27
|
+
update_sheet_range: "Spreadsheet",
|
|
28
|
+
format_sheet_range: "Spreadsheet",
|
|
29
|
+
bulk_format_sheet_range: "Spreadsheet",
|
|
30
|
+
create_table: "Spreadsheet",
|
|
31
|
+
update_table: "Spreadsheet",
|
|
32
|
+
create_chart: "Spreadsheet",
|
|
33
|
+
update_chart: "Spreadsheet",
|
|
34
|
+
// Studio sheet PTC
|
|
35
|
+
CreateWorkbook: "Spreadsheet",
|
|
36
|
+
AddSheet: "Spreadsheet",
|
|
37
|
+
OpenWorkbook: "Spreadsheet",
|
|
38
|
+
// Presentation
|
|
39
|
+
create_powerpoint_deck: "Presentation",
|
|
40
|
+
create_presentation_pptx_studio: "Presentation",
|
|
41
|
+
execute_presentation_code: "Presentation",
|
|
42
|
+
capture_slide_screenshot: "Presentation",
|
|
43
|
+
// Studio presentation PTC
|
|
44
|
+
CreatePresentation: "Presentation",
|
|
45
|
+
OpenPresentation: "Presentation",
|
|
46
|
+
AddSlide: "Presentation",
|
|
47
|
+
// Notebook
|
|
48
|
+
create_new_notebook: "Notebook",
|
|
49
|
+
run_notebook_cell: "Notebook",
|
|
50
|
+
// Python / code execution
|
|
51
|
+
run_python_code: "Python",
|
|
52
|
+
run_python: "Python",
|
|
53
|
+
// Database
|
|
54
|
+
run_sql: "Database",
|
|
55
|
+
run_database_sql: "Database",
|
|
56
|
+
run_sql_query_tool: "Database",
|
|
57
|
+
execute_sql: "Database",
|
|
58
|
+
describe_database: "Database",
|
|
59
|
+
list_database_tables: "Database",
|
|
60
|
+
get_database_table_schema: "Database",
|
|
61
|
+
// Email / calendar
|
|
62
|
+
search_email: "Email",
|
|
63
|
+
unified_email_search: "Email",
|
|
64
|
+
// Media
|
|
65
|
+
capture_moment: "Computer"
|
|
66
|
+
};
|
|
67
|
+
const UNGROUPED_TOOLS = [
|
|
68
|
+
"read_asset",
|
|
69
|
+
"read_full_asset",
|
|
70
|
+
"ask",
|
|
71
|
+
"open_asset_in_workspace",
|
|
72
|
+
"create_email_draft",
|
|
73
|
+
"unified_email_create_draft",
|
|
74
|
+
"unified_email_send",
|
|
75
|
+
"unified_email_edit_draft"
|
|
76
|
+
];
|
|
77
|
+
const CONTEXT_ONLY_TOOLS = [
|
|
78
|
+
"execute",
|
|
79
|
+
"ls",
|
|
80
|
+
"read_file",
|
|
81
|
+
"write_file",
|
|
82
|
+
"edit_file",
|
|
83
|
+
"glob",
|
|
84
|
+
"grep"
|
|
85
|
+
];
|
|
86
|
+
const SANDBOX_TOOLKIT_GROUPS = ["Notebook", "Computer", "Session Sandbox"];
|
|
87
|
+
const defaultGetToolGroupKey = (toolName, options) => {
|
|
88
|
+
if (UNGROUPED_TOOLS.includes(toolName)) return void 0;
|
|
89
|
+
if (CONTEXT_ONLY_TOOLS.includes(toolName)) {
|
|
90
|
+
const preferred = options == null ? void 0 : options.preferredGroupKey;
|
|
91
|
+
return preferred && SANDBOX_TOOLKIT_GROUPS.includes(preferred) ? preferred : void 0;
|
|
92
|
+
}
|
|
93
|
+
return DEFAULT_TOOL_TO_TOOLKIT[toolName];
|
|
94
|
+
};
|
|
95
|
+
exports.defaultGetToolGroupKey = defaultGetToolGroupKey;
|
|
96
|
+
//# sourceMappingURL=toolkit-map.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolkit-map.cjs","sources":["../../../src/chat/super-grouping/toolkit-map.ts"],"sourcesContent":["/**\n * Static map of tool names → toolkit group display key, mirroring Olympus's\n * runtime `toolDefinitionsStore` output. The SDK doesn't ship a backend-fetched\n * toolkit catalog, so this provides the same grouping behavior using the names\n * the agent typically calls. Consumers can override via the `getToolGroupKey`\n * prop on `<AthenaChat>`.\n *\n * Keys here are toolkit *display* names (what users see in the toolkit\n * selector), not toolkit IDs — they match Olympus's\n * `getToolkitToGroupKeyMap()` output.\n */\nconst DEFAULT_TOOL_TO_TOOLKIT: Record<string, string> = {\n // Web\n search: 'Web',\n browse: 'Web',\n web_search: 'Web',\n search_web: 'Web',\n web_scrape: 'Web',\n scrape_web: 'Web',\n\n // Document\n create_new_document: 'Document',\n create_document_from_markdown: 'Document',\n append_markdown_to_athena_document: 'Document',\n replace_markdown_in_athena_document: 'Document',\n delete_blocks_from_athena_document: 'Document',\n convert_athena_doc_to_pdf: 'Document',\n convert_to_pdf: 'Document',\n\n // Word document (Studio)\n CreateDocument: 'Document (Word)',\n CreateParagraph: 'Document (Word)',\n OpenDocument: 'Document (Word)',\n execute_word_commands: 'Document (Word)',\n create_new_word_document: 'Document (Word)',\n\n // Spreadsheet\n create_new_sheet: 'Spreadsheet',\n update_sheet_range: 'Spreadsheet',\n format_sheet_range: 'Spreadsheet',\n bulk_format_sheet_range: 'Spreadsheet',\n create_table: 'Spreadsheet',\n update_table: 'Spreadsheet',\n create_chart: 'Spreadsheet',\n update_chart: 'Spreadsheet',\n // Studio sheet PTC\n CreateWorkbook: 'Spreadsheet',\n AddSheet: 'Spreadsheet',\n OpenWorkbook: 'Spreadsheet',\n\n // Presentation\n create_powerpoint_deck: 'Presentation',\n create_presentation_pptx_studio: 'Presentation',\n execute_presentation_code: 'Presentation',\n capture_slide_screenshot: 'Presentation',\n // Studio presentation PTC\n CreatePresentation: 'Presentation',\n OpenPresentation: 'Presentation',\n AddSlide: 'Presentation',\n\n // Notebook\n create_new_notebook: 'Notebook',\n run_notebook_cell: 'Notebook',\n\n // Python / code execution\n run_python_code: 'Python',\n run_python: 'Python',\n\n // Database\n run_sql: 'Database',\n run_database_sql: 'Database',\n run_sql_query_tool: 'Database',\n execute_sql: 'Database',\n describe_database: 'Database',\n list_database_tables: 'Database',\n get_database_table_schema: 'Database',\n\n // Email / calendar\n search_email: 'Email',\n unified_email_search: 'Email',\n\n // Media\n capture_moment: 'Computer',\n};\n\n/**\n * Tools that should never participate in grouping — even when surrounded by\n * tools of the same toolkit. Mirrors Olympus's `UNGROUPED_TOOLS`.\n */\nconst UNGROUPED_TOOLS: readonly string[] = [\n 'read_asset',\n 'read_full_asset',\n 'ask',\n 'open_asset_in_workspace',\n 'create_email_draft',\n 'unified_email_create_draft',\n 'unified_email_send',\n 'unified_email_edit_draft',\n];\n\n/**\n * Generic sandbox runtime tools shared across many toolkits (notebook,\n * computer, session sandbox, …). Mirrors Olympus's `CONTEXT_ONLY_TOOLS`:\n * they never start a toolkit group on their own — they only inherit the\n * surrounding group.\n */\nconst CONTEXT_ONLY_TOOLS: readonly string[] = [\n 'execute',\n 'ls',\n 'read_file',\n 'write_file',\n 'edit_file',\n 'glob',\n 'grep',\n];\n\n/**\n * Group display keys for toolkits that target a sandbox and therefore contain\n * the shared runtime tools. Context-only tools may only inherit these groups —\n * an open Web or Email group must not absorb a sandbox call.\n */\nconst SANDBOX_TOOLKIT_GROUPS: readonly string[] = ['Notebook', 'Computer', 'Session Sandbox'];\n\nexport type ToolGroupKeyOptions = {\n /** Display name of the surrounding group, when one is already open. */\n preferredGroupKey?: string;\n /**\n * Distinct tool names the message called. Hosts with a toolkit catalog use\n * it to attribute a tool shared by several toolkits to the one the message\n * leans on; the default map ignores it.\n */\n calledToolNames?: ReadonlySet<string>;\n};\n\n/**\n * Default `getToolGroupKey` implementation used by the SDK's tool grouping.\n * Returns the toolkit display key for a tool name, or `undefined` if the tool\n * is ungrouped or unknown. Context-only tools inherit the surrounding group\n * and are otherwise ungrouped.\n *\n * Override per-app by passing `getToolGroupKey` (or a whole `groupingFunction`) to\n * `SuperGroupingCard`.\n */\nexport const defaultGetToolGroupKey = (\n toolName: string,\n options?: ToolGroupKeyOptions\n): string | undefined => {\n if (UNGROUPED_TOOLS.includes(toolName)) return undefined;\n if (CONTEXT_ONLY_TOOLS.includes(toolName)) {\n const preferred = options?.preferredGroupKey;\n return preferred && SANDBOX_TOOLKIT_GROUPS.includes(preferred) ? preferred : undefined;\n }\n return DEFAULT_TOOL_TO_TOOLKIT[toolName];\n};\n\nexport type GetToolGroupKey = (\n toolName: string,\n options?: ToolGroupKeyOptions\n) => string | undefined;\n"],"names":[],"mappings":";;AAWA,MAAM,0BAAkD;AAAA;AAAA,EAEtD,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA;AAAA,EAGZ,qBAAqB;AAAA,EACrB,+BAA+B;AAAA,EAC/B,oCAAoC;AAAA,EACpC,qCAAqC;AAAA,EACrC,oCAAoC;AAAA,EACpC,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA;AAAA,EAGhB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,0BAA0B;AAAA;AAAA,EAG1B,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA;AAAA,EAEd,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,cAAc;AAAA;AAAA,EAGd,wBAAwB;AAAA,EACxB,iCAAiC;AAAA,EACjC,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA;AAAA,EAE1B,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,UAAU;AAAA;AAAA,EAGV,qBAAqB;AAAA,EACrB,mBAAmB;AAAA;AAAA,EAGnB,iBAAiB;AAAA,EACjB,YAAY;AAAA;AAAA,EAGZ,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,2BAA2B;AAAA;AAAA,EAG3B,cAAc;AAAA,EACd,sBAAsB;AAAA;AAAA,EAGtB,gBAAgB;AAClB;AAMA,MAAM,kBAAqC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAQA,MAAM,qBAAwC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAOA,MAAM,yBAA4C,CAAC,YAAY,YAAY,iBAAiB;AAsBrF,MAAM,yBAAyB,CACpC,UACA,YACuB;AACvB,MAAI,gBAAgB,SAAS,QAAQ,EAAG,QAAO;AAC/C,MAAI,mBAAmB,SAAS,QAAQ,GAAG;AACzC,UAAM,YAAY,mCAAS;AAC3B,WAAO,aAAa,uBAAuB,SAAS,SAAS,IAAI,YAAY;AAAA,EAC/E;AACA,SAAO,wBAAwB,QAAQ;AACzC;;"}
|