@athenaintel/react 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +171 -11
- package/dist/assets/AssetPanel.cjs +277 -0
- package/dist/assets/AssetPanel.cjs.map +1 -0
- package/dist/assets/AssetPanel.js +277 -0
- package/dist/assets/AssetPanel.js.map +1 -0
- package/dist/assets/AthenaAssetEmbed.cjs +151 -0
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -0
- package/dist/assets/AthenaAssetEmbed.js +151 -0
- package/dist/assets/AthenaAssetEmbed.js.map +1 -0
- package/dist/assets/AthenaLayout.cjs +69 -0
- package/dist/assets/AthenaLayout.cjs.map +1 -0
- package/dist/assets/AthenaLayout.js +69 -0
- package/dist/assets/AthenaLayout.js.map +1 -0
- package/dist/assets/asset-embed-messages.cjs +39 -0
- package/dist/assets/asset-embed-messages.cjs.map +1 -0
- package/dist/assets/asset-embed-messages.js +39 -0
- package/dist/assets/asset-embed-messages.js.map +1 -0
- package/dist/assets/asset-panel-store.cjs +124 -0
- package/dist/assets/asset-panel-store.cjs.map +1 -0
- package/dist/assets/asset-panel-store.js +124 -0
- package/dist/assets/asset-panel-store.js.map +1 -0
- package/dist/assets/asset-panel-url.cjs +40 -0
- package/dist/assets/asset-panel-url.cjs.map +1 -0
- package/dist/assets/asset-panel-url.js +40 -0
- package/dist/assets/asset-panel-url.js.map +1 -0
- package/dist/assets/use-asset-embed.cjs +370 -0
- package/dist/assets/use-asset-embed.cjs.map +1 -0
- package/dist/assets/use-asset-embed.js +370 -0
- package/dist/assets/use-asset-embed.js.map +1 -0
- package/dist/{AthenaAuthContext-B3AwLA5Z.cjs → auth/AthenaAuthContext.cjs} +5 -4
- package/dist/auth/AthenaAuthContext.cjs.map +1 -0
- package/dist/{AthenaAuthContext-DQsdayH2.js → auth/AthenaAuthContext.js} +3 -3
- package/dist/auth/AthenaAuthContext.js.map +1 -0
- package/dist/auth/AthenaAuthProvider.cjs +141 -0
- package/dist/auth/AthenaAuthProvider.cjs.map +1 -0
- package/dist/auth/AthenaAuthProvider.js +141 -0
- package/dist/auth/AthenaAuthProvider.js.map +1 -0
- package/dist/{auth.cjs → auth/AthenaSSOProvider.cjs} +14 -151
- package/dist/auth/AthenaSSOProvider.cjs.map +1 -0
- package/dist/{auth.js → auth/AthenaSSOProvider.js} +4 -142
- package/dist/auth/AthenaSSOProvider.js.map +1 -0
- package/dist/auth/index.cjs +10 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.js +10 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/chat/AthenaChat.cjs +753 -0
- package/dist/chat/AthenaChat.cjs.map +1 -0
- package/dist/chat/AthenaChat.d.ts +3 -2
- package/dist/chat/AthenaChat.js +753 -0
- package/dist/chat/AthenaChat.js.map +1 -0
- package/dist/chat/AthenaChatErrorBoundary.cjs +53 -0
- package/dist/chat/AthenaChatErrorBoundary.cjs.map +1 -0
- package/dist/chat/AthenaChatErrorBoundary.js +53 -0
- package/dist/chat/AthenaChatErrorBoundary.js.map +1 -0
- package/dist/chat/StatewireApprovalCard.cjs +189 -0
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -0
- package/dist/chat/StatewireApprovalCard.d.ts +14 -0
- package/dist/chat/StatewireApprovalCard.js +189 -0
- package/dist/chat/StatewireApprovalCard.js.map +1 -0
- package/dist/chat/StatewireClientToolBridge.cjs +51 -0
- package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
- package/dist/chat/StatewireClientToolBridge.js +51 -0
- package/dist/chat/StatewireClientToolBridge.js.map +1 -0
- package/dist/chat/StatewireQueuedMessages.cjs +433 -0
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
- package/dist/chat/StatewireQueuedMessages.d.ts +3 -4
- package/dist/chat/StatewireQueuedMessages.js +433 -0
- package/dist/chat/StatewireQueuedMessages.js.map +1 -0
- package/dist/chat/athena-citation-links.cjs +342 -0
- package/dist/chat/athena-citation-links.cjs.map +1 -0
- package/dist/chat/athena-citation-links.js +342 -0
- package/dist/chat/athena-citation-links.js.map +1 -0
- package/dist/chat/run-activity.cjs +28 -0
- package/dist/chat/run-activity.cjs.map +1 -0
- package/dist/chat/run-activity.js +28 -0
- package/dist/chat/run-activity.js.map +1 -0
- package/dist/chat/statewire-banners.cjs +83 -0
- package/dist/chat/statewire-banners.cjs.map +1 -0
- package/dist/chat/statewire-banners.js +83 -0
- package/dist/chat/statewire-banners.js.map +1 -0
- package/dist/chat/statewire-client-tools.cjs +74 -0
- package/dist/chat/statewire-client-tools.cjs.map +1 -0
- package/dist/chat/statewire-client-tools.js +74 -0
- package/dist/chat/statewire-client-tools.js.map +1 -0
- package/dist/chat/super-grouping/CollapsibleGroup.cjs +158 -0
- package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -0
- package/dist/chat/super-grouping/CollapsibleGroup.js +158 -0
- package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingCard.cjs +243 -0
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +14 -7
- package/dist/chat/super-grouping/SuperGroupingCard.js +243 -0
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs +131 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.d.ts +16 -0
- package/dist/chat/super-grouping/ToolTimeline.js +131 -0
- package/dist/chat/super-grouping/ToolTimeline.js.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.cjs +157 -0
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
- package/dist/chat/super-grouping/activity-timeline.d.ts +6 -3
- package/dist/chat/super-grouping/activity-timeline.js +157 -0
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -0
- package/dist/chat/super-grouping/grouping-function.cjs +55 -0
- package/dist/chat/super-grouping/grouping-function.cjs.map +1 -0
- package/dist/chat/super-grouping/grouping-function.js +55 -0
- package/dist/chat/super-grouping/grouping-function.js.map +1 -0
- package/dist/chat/super-grouping/index.cjs +26 -0
- package/dist/chat/super-grouping/index.cjs.map +1 -0
- package/dist/chat/super-grouping/index.js +26 -0
- package/dist/chat/super-grouping/index.js.map +1 -0
- package/dist/chat/super-grouping/timeline-step.cjs +65 -0
- package/dist/chat/super-grouping/timeline-step.cjs.map +1 -0
- package/dist/chat/super-grouping/timeline-step.d.ts +17 -0
- package/dist/chat/super-grouping/timeline-step.js +65 -0
- package/dist/chat/super-grouping/timeline-step.js.map +1 -0
- package/dist/chat/super-grouping/toolkit-map.cjs +96 -0
- package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -0
- package/dist/chat/super-grouping/toolkit-map.js +96 -0
- package/dist/chat/super-grouping/toolkit-map.js.map +1 -0
- package/dist/chat/tiptap-text.cjs +101 -0
- package/dist/chat/tiptap-text.cjs.map +1 -0
- package/dist/chat/tiptap-text.js +101 -0
- package/dist/chat/tiptap-text.js.map +1 -0
- package/dist/chat/tooltip-icon-button.cjs +32 -0
- package/dist/chat/tooltip-icon-button.cjs.map +1 -0
- package/dist/chat/tooltip-icon-button.js +32 -0
- package/dist/chat/tooltip-icon-button.js.map +1 -0
- package/dist/chat/use-athena-run-live.cjs +24 -0
- package/dist/chat/use-athena-run-live.cjs.map +1 -0
- package/dist/chat/use-athena-run-live.d.ts +10 -0
- package/dist/chat/use-athena-run-live.js +24 -0
- package/dist/chat/use-athena-run-live.js.map +1 -0
- package/dist/chat/use-statewire-approval-request.cjs +51 -0
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
- package/dist/chat/use-statewire-approval-request.d.ts +12 -2
- package/dist/chat/use-statewire-approval-request.js +51 -0
- package/dist/chat/use-statewire-approval-request.js.map +1 -0
- package/dist/chat-ui/auth/sign-in-card.cjs +128 -0
- package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -0
- package/dist/chat-ui/auth/sign-in-card.js +128 -0
- package/dist/chat-ui/auth/sign-in-card.js.map +1 -0
- package/dist/chat-ui/composer/composer-action.cjs +11 -0
- package/dist/chat-ui/composer/composer-action.cjs.map +1 -0
- package/dist/chat-ui/composer/composer-action.d.ts +5 -8
- package/dist/chat-ui/composer/composer-action.js +11 -0
- package/dist/chat-ui/composer/composer-action.js.map +1 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.cjs +25 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.cjs.map +1 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.js +25 -0
- package/dist/chat-ui/composer/pending-attachment-uploads.js.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs +549 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.d.ts +44 -7
- package/dist/chat-ui/composer/tiptap-composer.js +549 -0
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -0
- package/dist/chat-ui/header/chat-header.cjs +33 -0
- package/dist/chat-ui/header/chat-header.cjs.map +1 -0
- package/dist/chat-ui/header/chat-header.js +33 -0
- package/dist/chat-ui/header/chat-header.js.map +1 -0
- package/dist/chat-ui/header/conversation-history-panel.cjs +369 -0
- package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -0
- package/dist/chat-ui/header/conversation-history-panel.js +369 -0
- package/dist/chat-ui/header/conversation-history-panel.js.map +1 -0
- package/dist/chat-ui/index.cjs +140 -0
- package/dist/chat-ui/index.cjs.map +1 -0
- package/dist/chat-ui/index.d.ts +4 -3
- package/dist/chat-ui/index.js +140 -0
- package/dist/chat-ui/index.js.map +1 -0
- package/dist/chat-ui/lib/asset-urls.cjs +18 -0
- package/dist/chat-ui/lib/asset-urls.cjs.map +1 -0
- package/dist/chat-ui/lib/asset-urls.js +18 -0
- package/dist/chat-ui/lib/asset-urls.js.map +1 -0
- package/dist/chat-ui/mentions/mention-chip.cjs +253 -0
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-chip.d.ts +11 -0
- package/dist/chat-ui/mentions/mention-chip.js +253 -0
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.cjs +196 -0
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
- package/dist/chat-ui/mentions/mention-extension.d.ts +26 -2
- package/dist/chat-ui/mentions/mention-extension.js +196 -0
- package/dist/chat-ui/mentions/mention-extension.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +35 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +35 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +95 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +5 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +95 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +116 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +116 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +31 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +31 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs +27 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js +27 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +65 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.d.ts +2 -2
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js +65 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +63 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.d.ts +2 -2
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js +63 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs +11 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js +11 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs +33 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.js +33 -0
- package/dist/chat-ui/mentions/suggestions/components/menu-summary.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +58 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js +58 -0
- package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +81 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js +81 -0
- package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.cjs +18 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.js +18 -0
- package/dist/chat-ui/mentions/suggestions/components/utils.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +124 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +13 -2
- package/dist/chat-ui/mentions/suggestions/data/api-client.js +124 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs +37 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.js +37 -0
- package/dist/chat-ui/mentions/suggestions/data/item-cache.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +134 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +134 -0
- package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs +91 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.js +91 -0
- package/dist/chat-ui/mentions/suggestions/data/scope-registry.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +137 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +137 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +375 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +16 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +375 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/types.cjs +9 -0
- package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/types.d.ts +14 -0
- package/dist/chat-ui/mentions/suggestions/data/types.js +9 -0
- package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +173 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +14 -4
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +173 -0
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +45 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +45 -0
- package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs +43 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js +43 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs +14 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js +14 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs +48 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js +48 -0
- package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +71 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +71 -0
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -0
- package/dist/chat-ui/messages/continue-pill.cjs +54 -0
- package/dist/chat-ui/messages/continue-pill.cjs.map +1 -0
- package/dist/chat-ui/messages/continue-pill.js +54 -0
- package/dist/chat-ui/messages/continue-pill.js.map +1 -0
- package/dist/chat-ui/messages/message-actions-config.cjs +12 -0
- package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -0
- package/dist/chat-ui/messages/message-actions-config.js +12 -0
- package/dist/chat-ui/messages/message-actions-config.js.map +1 -0
- package/dist/chat-ui/messages/message-components.cjs +320 -0
- package/dist/chat-ui/messages/message-components.cjs.map +1 -0
- package/dist/chat-ui/messages/message-components.d.ts +1 -1
- package/dist/chat-ui/messages/message-components.js +320 -0
- package/dist/chat-ui/messages/message-components.js.map +1 -0
- package/dist/chat-ui/messages/running-indicator.cjs +49 -0
- package/dist/chat-ui/messages/running-indicator.cjs.map +1 -0
- package/dist/chat-ui/messages/running-indicator.js +49 -0
- package/dist/chat-ui/messages/running-indicator.js.map +1 -0
- package/dist/chat-ui/messages/runtime-message.cjs +66 -0
- package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
- package/dist/chat-ui/messages/runtime-message.js +66 -0
- package/dist/chat-ui/messages/runtime-message.js.map +1 -0
- package/dist/{statewire-continue-run-nE9VCKUh.cjs → chat-ui/messages/statewire-continue-run.cjs} +61 -23
- package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
- package/dist/chat-ui/messages/statewire-continue-run.d.ts +19 -5
- package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js} +51 -14
- package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs +62 -0
- package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
- package/dist/chat-ui/messages/user-edit-composer.js +62 -0
- package/dist/chat-ui/messages/user-edit-composer.js.map +1 -0
- package/dist/chat-ui/messages/voice-delegation-card.cjs +51 -0
- package/dist/chat-ui/messages/voice-delegation-card.cjs.map +1 -0
- package/dist/chat-ui/messages/voice-delegation-card.d.ts +26 -0
- package/dist/chat-ui/messages/voice-delegation-card.js +51 -0
- package/dist/chat-ui/messages/voice-delegation-card.js.map +1 -0
- package/dist/chat-ui/rich-text/chat-message-body.cjs +76 -0
- package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -0
- package/dist/chat-ui/rich-text/chat-message-body.d.ts +5 -0
- package/dist/chat-ui/rich-text/chat-message-body.js +76 -0
- package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -0
- package/dist/chat-ui/rich-text/chat-node-views.cjs +51 -0
- package/dist/chat-ui/rich-text/chat-node-views.cjs.map +1 -0
- package/dist/chat-ui/rich-text/chat-node-views.d.ts +13 -0
- package/dist/chat-ui/rich-text/chat-node-views.js +51 -0
- package/dist/chat-ui/rich-text/chat-node-views.js.map +1 -0
- package/dist/chat-ui/rich-text/chat-text-schema.cjs +70 -0
- package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -0
- package/dist/chat-ui/rich-text/chat-text-schema.d.ts +7 -0
- package/dist/chat-ui/rich-text/chat-text-schema.js +70 -0
- package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -0
- package/dist/chat-ui/rich-text/dom-output-spec.cjs +83 -0
- package/dist/chat-ui/rich-text/dom-output-spec.cjs.map +1 -0
- package/dist/chat-ui/rich-text/dom-output-spec.d.ts +11 -0
- package/dist/chat-ui/rich-text/dom-output-spec.js +83 -0
- package/dist/chat-ui/rich-text/dom-output-spec.js.map +1 -0
- package/dist/chat-ui/statewire.cjs +40 -0
- package/dist/chat-ui/statewire.cjs.map +1 -0
- package/dist/chat-ui/statewire.js +40 -0
- package/dist/chat-ui/statewire.js.map +1 -0
- package/dist/chat-ui/thread/chat-composer-dock.cjs +37 -0
- package/dist/chat-ui/thread/chat-composer-dock.cjs.map +1 -0
- package/dist/chat-ui/thread/chat-composer-dock.js +37 -0
- package/dist/chat-ui/thread/chat-composer-dock.js.map +1 -0
- package/dist/chat-ui/thread/chat-thread-shell.cjs +102 -0
- package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -0
- package/dist/chat-ui/thread/chat-thread-shell.js +102 -0
- package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -0
- package/dist/chat-ui/thread/composer-send-or-stop.cjs +75 -0
- package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -0
- package/dist/chat-ui/thread/composer-send-or-stop.d.ts +0 -6
- package/dist/chat-ui/thread/composer-send-or-stop.js +75 -0
- package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs +135 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
- package/dist/chat-ui/thread/statewire-history-edge.js +135 -0
- package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -0
- package/dist/{collab.cjs → collab/client.cjs} +6 -166
- package/dist/collab/client.cjs.map +1 -0
- package/dist/{collab.js → collab/client.js} +5 -164
- package/dist/collab/client.js.map +1 -0
- package/dist/collab/close-policy.cjs +14 -0
- package/dist/collab/close-policy.cjs.map +1 -0
- package/dist/collab/close-policy.js +14 -0
- package/dist/collab/close-policy.js.map +1 -0
- package/dist/collab/index.cjs +17 -0
- package/dist/collab/index.cjs.map +1 -0
- package/dist/collab/index.js +17 -0
- package/dist/collab/index.js.map +1 -0
- package/dist/collab/mint.cjs +59 -0
- package/dist/collab/mint.cjs.map +1 -0
- package/dist/collab/mint.js +59 -0
- package/dist/collab/mint.js.map +1 -0
- package/dist/collab/react.cjs +58 -0
- package/dist/collab/react.cjs.map +1 -0
- package/dist/collab/react.js +58 -0
- package/dist/collab/react.js.map +1 -0
- package/dist/collab/shape.cjs +45 -0
- package/dist/collab/shape.cjs.map +1 -0
- package/dist/collab/shape.js +45 -0
- package/dist/collab/shape.js.map +1 -0
- package/dist/composer/AttachmentContext.cjs +40 -0
- package/dist/composer/AttachmentContext.cjs.map +1 -0
- package/dist/composer/AttachmentContext.js +40 -0
- package/dist/composer/AttachmentContext.js.map +1 -0
- package/dist/composer/ComposerAttachmentPreview.cjs +39 -0
- package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -0
- package/dist/composer/ComposerAttachmentPreview.js +39 -0
- package/dist/composer/ComposerAttachmentPreview.js.map +1 -0
- package/dist/composer/ComposerDropZone.cjs +61 -0
- package/dist/composer/ComposerDropZone.cjs.map +1 -0
- package/dist/composer/ComposerDropZone.d.ts +1 -1
- package/dist/composer/ComposerDropZone.js +61 -0
- package/dist/composer/ComposerDropZone.js.map +1 -0
- package/dist/composer/ComposerQuotePreview.cjs +42 -0
- package/dist/composer/ComposerQuotePreview.cjs.map +1 -0
- package/dist/composer/ComposerQuotePreview.js +42 -0
- package/dist/composer/ComposerQuotePreview.js.map +1 -0
- package/dist/composer/FileUploadButton.cjs +65 -0
- package/dist/composer/FileUploadButton.cjs.map +1 -0
- package/dist/composer/FileUploadButton.d.ts +1 -1
- package/dist/composer/FileUploadButton.js +65 -0
- package/dist/composer/FileUploadButton.js.map +1 -0
- package/dist/composer/QuoteContext.cjs +68 -0
- package/dist/composer/QuoteContext.cjs.map +1 -0
- package/dist/composer/QuoteContext.js +68 -0
- package/dist/composer/QuoteContext.js.map +1 -0
- package/dist/composer/build-composed-message.cjs +25 -0
- package/dist/composer/build-composed-message.cjs.map +1 -0
- package/dist/composer/build-composed-message.js +25 -0
- package/dist/composer/build-composed-message.js.map +1 -0
- package/dist/composer/clipboard.cjs +62 -0
- package/dist/composer/clipboard.cjs.map +1 -0
- package/dist/composer/clipboard.d.ts +27 -3
- package/dist/composer/clipboard.js +62 -0
- package/dist/composer/clipboard.js.map +1 -0
- package/dist/composer/useAppendToComposer.cjs +21 -0
- package/dist/composer/useAppendToComposer.cjs.map +1 -0
- package/dist/composer/useAppendToComposer.js +21 -0
- package/dist/composer/useAppendToComposer.js.map +1 -0
- package/dist/composer/useAttachFiles.cjs +40 -0
- package/dist/composer/useAttachFiles.cjs.map +1 -0
- package/dist/composer/useAttachFiles.d.ts +24 -0
- package/dist/composer/useAttachFiles.js +40 -0
- package/dist/composer/useAttachFiles.js.map +1 -0
- package/dist/composer/useComposerAttachment.cjs +25 -0
- package/dist/composer/useComposerAttachment.cjs.map +1 -0
- package/dist/composer/useComposerAttachment.js +25 -0
- package/dist/composer/useComposerAttachment.js.map +1 -0
- package/dist/composer/useFileUpload.cjs +123 -0
- package/dist/composer/useFileUpload.cjs.map +1 -0
- package/dist/composer/useFileUpload.js +123 -0
- package/dist/composer/useFileUpload.js.map +1 -0
- package/dist/composer/useSendMessage.cjs +22 -0
- package/dist/composer/useSendMessage.cjs.map +1 -0
- package/dist/composer/useSendMessage.js +22 -0
- package/dist/composer/useSendMessage.js.map +1 -0
- package/dist/diagnostics/athena-diagnostics.cjs +329 -0
- package/dist/diagnostics/athena-diagnostics.cjs.map +1 -0
- package/dist/diagnostics/athena-diagnostics.js +329 -0
- package/dist/diagnostics/athena-diagnostics.js.map +1 -0
- package/dist/diagnostics/errors.cjs +89 -0
- package/dist/diagnostics/errors.cjs.map +1 -0
- package/dist/diagnostics/errors.js +89 -0
- package/dist/diagnostics/errors.js.map +1 -0
- package/dist/diagnostics/useAthenaDiagnostics.cjs +16 -0
- package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -0
- package/dist/diagnostics/useAthenaDiagnostics.js +16 -0
- package/dist/diagnostics/useAthenaDiagnostics.js.map +1 -0
- package/dist/index.cjs +275 -27882
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +162 -27759
- package/dist/index.js.map +1 -1
- package/dist/lib/athena-urls.cjs +194 -0
- package/dist/lib/athena-urls.cjs.map +1 -0
- package/dist/lib/athena-urls.d.ts +20 -5
- package/dist/lib/athena-urls.js +194 -0
- package/dist/lib/athena-urls.js.map +1 -0
- package/dist/lib/posthog/before-send.cjs +58 -0
- package/dist/lib/posthog/before-send.cjs.map +1 -0
- package/dist/lib/posthog/before-send.js +58 -0
- package/dist/lib/posthog/before-send.js.map +1 -0
- package/dist/lib/posthog/capture-gate.cjs +322 -0
- package/dist/lib/posthog/capture-gate.cjs.map +1 -0
- package/dist/lib/posthog/capture-gate.js +322 -0
- package/dist/lib/posthog/capture-gate.js.map +1 -0
- package/dist/lib/posthog/wrap-posthog-client.cjs +163 -0
- package/dist/lib/posthog/wrap-posthog-client.cjs.map +1 -0
- package/dist/lib/posthog/wrap-posthog-client.js +163 -0
- package/dist/lib/posthog/wrap-posthog-client.js.map +1 -0
- package/dist/lib/utils.cjs +12 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +77 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +77 -0
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +181 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +1 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +181 -0
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +1 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.cjs +32 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.cjs.map +1 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.js +31 -0
- package/dist/node_modules/qrcode-generator/dist/qrcode.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.cjs +44 -0
- package/dist/node_modules/zod/v4/classic/errors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.js +44 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.cjs +43 -0
- package/dist/node_modules/zod/v4/classic/iso.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.js +43 -0
- package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.cjs +29 -0
- package/dist/node_modules/zod/v4/classic/parse.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +29 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.cjs +871 -0
- package/dist/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +871 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.cjs +570 -0
- package/dist/node_modules/zod/v4/core/api.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +570 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.cjs +411 -0
- package/dist/node_modules/zod/v4/core/checks.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +411 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.cjs +77 -0
- package/dist/node_modules/zod/v4/core/core.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +77 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.cjs +38 -0
- package/dist/node_modules/zod/v4/core/doc.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.js +38 -0
- package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.cjs +76 -0
- package/dist/node_modules/zod/v4/core/errors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +76 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +312 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js +312 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.cjs +96 -0
- package/dist/node_modules/zod/v4/core/parse.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +96 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.cjs +86 -0
- package/dist/node_modules/zod/v4/core/regexes.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +86 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.cjs +52 -0
- package/dist/node_modules/zod/v4/core/registries.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +52 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.cjs +1412 -0
- package/dist/node_modules/zod/v4/core/schemas.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +1413 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs +370 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js +370 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.cjs +444 -0
- package/dist/node_modules/zod/v4/core/util.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +444 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.cjs +9 -0
- package/dist/node_modules/zod/v4/core/versions.cjs.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/packages/agent-runtime/src/asset-attachment.cjs +19 -0
- package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/asset-attachment.js +19 -0
- package/dist/packages/agent-runtime/src/asset-attachment.js.map +1 -0
- package/dist/packages/agent-runtime/src/auth-denial.cjs +28 -0
- package/dist/packages/agent-runtime/src/auth-denial.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/auth-denial.js +28 -0
- package/dist/packages/agent-runtime/src/auth-denial.js.map +1 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs +276 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.js +276 -0
- package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +1 -0
- package/dist/packages/agent-runtime/src/client-tools.cjs +137 -0
- package/dist/packages/agent-runtime/src/client-tools.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/client-tools.js +137 -0
- package/dist/packages/agent-runtime/src/client-tools.js.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-index.cjs +80 -0
- package/dist/packages/agent-runtime/src/conversation-index.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-index.js +80 -0
- package/dist/packages/agent-runtime/src/conversation-index.js.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-list.cjs +90 -0
- package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/conversation-list.js +90 -0
- package/dist/packages/agent-runtime/src/conversation-list.js.map +1 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs +55 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js +55 -0
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
- package/dist/packages/agent-runtime/src/edit-command.cjs +89 -0
- package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/edit-command.js +89 -0
- package/dist/packages/agent-runtime/src/edit-command.js.map +1 -0
- package/dist/packages/agent-runtime/src/errors.cjs +95 -0
- package/dist/packages/agent-runtime/src/errors.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/errors.js +95 -0
- package/dist/packages/agent-runtime/src/errors.js.map +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +238 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +238 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs +141 -0
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/interrupts.js +141 -0
- package/dist/packages/agent-runtime/src/interrupts.js.map +1 -0
- package/dist/packages/agent-runtime/src/message-author.cjs +31 -0
- package/dist/packages/agent-runtime/src/message-author.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/message-author.js +31 -0
- package/dist/packages/agent-runtime/src/message-author.js.map +1 -0
- package/dist/packages/agent-runtime/src/message-window.cjs +85 -0
- package/dist/packages/agent-runtime/src/message-window.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/message-window.js +85 -0
- package/dist/packages/agent-runtime/src/message-window.js.map +1 -0
- package/dist/packages/agent-runtime/src/messages.cjs +463 -0
- package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/messages.js +463 -0
- package/dist/packages/agent-runtime/src/messages.js.map +1 -0
- package/dist/packages/agent-runtime/src/model-context.cjs +13 -0
- package/dist/packages/agent-runtime/src/model-context.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/model-context.js +13 -0
- package/dist/packages/agent-runtime/src/model-context.js.map +1 -0
- package/dist/packages/agent-runtime/src/optimistic-content.cjs +17 -0
- package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/optimistic-content.js +17 -0
- package/dist/packages/agent-runtime/src/optimistic-content.js.map +1 -0
- package/dist/packages/agent-runtime/src/protocol.cjs +31 -0
- package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/protocol.js +31 -0
- package/dist/packages/agent-runtime/src/protocol.js.map +1 -0
- package/dist/packages/agent-runtime/src/queue.cjs +67 -0
- package/dist/packages/agent-runtime/src/queue.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/queue.js +67 -0
- package/dist/packages/agent-runtime/src/queue.js.map +1 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +329 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +329 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
- package/dist/packages/agent-runtime/src/runtime-messages.cjs +187 -0
- package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/runtime-messages.js +187 -0
- package/dist/packages/agent-runtime/src/runtime-messages.js.map +1 -0
- package/dist/packages/agent-runtime/src/screen-point.cjs +68 -0
- package/dist/packages/agent-runtime/src/screen-point.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/screen-point.js +68 -0
- package/dist/packages/agent-runtime/src/screen-point.js.map +1 -0
- package/dist/packages/agent-runtime/src/send-recovery.cjs +128 -0
- package/dist/packages/agent-runtime/src/send-recovery.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/send-recovery.js +128 -0
- package/dist/packages/agent-runtime/src/send-recovery.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs +249 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js +249 -0
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-state.cjs +16 -0
- package/dist/packages/agent-runtime/src/statewire-state.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-state.js +16 -0
- package/dist/packages/agent-runtime/src/statewire-state.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs +41 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.js +41 -0
- package/dist/packages/agent-runtime/src/statewire-suspended.js.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-transport.cjs +11 -0
- package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/statewire-transport.js +11 -0
- package/dist/packages/agent-runtime/src/statewire-transport.js.map +1 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs +214 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.js +214 -0
- package/dist/packages/agent-runtime/src/streaming-markdown.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-extras.cjs +38 -0
- package/dist/packages/agent-runtime/src/thread-extras.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-extras.js +38 -0
- package/dist/packages/agent-runtime/src/thread-extras.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-handoff.cjs +85 -0
- package/dist/packages/agent-runtime/src/thread-handoff.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-handoff.js +85 -0
- package/dist/packages/agent-runtime/src/thread-handoff.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs +90 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js +90 -0
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
- package/dist/packages/agent-runtime/src/thread-status.cjs +49 -0
- package/dist/packages/agent-runtime/src/thread-status.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/thread-status.js +49 -0
- package/dist/packages/agent-runtime/src/thread-status.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-metadata.cjs +1794 -0
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-metadata.js +1794 -0
- package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-outputs.cjs +46 -0
- package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-outputs.js +46 -0
- package/dist/packages/agent-runtime/src/tool-outputs.js.map +1 -0
- package/dist/packages/agent-runtime/src/tool-result.cjs +151 -0
- package/dist/packages/agent-runtime/src/tool-result.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/tool-result.js +151 -0
- package/dist/packages/agent-runtime/src/tool-result.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs +139 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.js +139 -0
- package/dist/packages/agent-runtime/src/use-conversation-list.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs +14 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js +14 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs +44 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js +44 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs +148 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js +148 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs +407 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js +407 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs +133 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js +133 -0
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
- package/dist/packages/agent-runtime/src/voice-presentation.cjs +37 -0
- package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +1 -0
- package/dist/packages/agent-runtime/src/voice-presentation.js +37 -0
- package/dist/packages/agent-runtime/src/voice-presentation.js.map +1 -0
- package/dist/packages/react/package.json.cjs +9 -0
- package/dist/packages/react/package.json.cjs.map +1 -0
- package/dist/packages/react/package.json.js +9 -0
- package/dist/packages/react/package.json.js.map +1 -0
- package/dist/{AthenaContext-B1QMhIP-.cjs → provider/AthenaContext.cjs} +5 -4
- package/dist/provider/AthenaContext.cjs.map +1 -0
- package/dist/{AthenaContext-MOslgOmE.js → provider/AthenaContext.js} +3 -3
- package/dist/provider/AthenaContext.js.map +1 -0
- package/dist/provider/AthenaProvider.cjs +404 -0
- package/dist/provider/AthenaProvider.cjs.map +1 -0
- package/dist/provider/AthenaProvider.js +404 -0
- package/dist/provider/AthenaProvider.js.map +1 -0
- package/dist/provider/PostHogProvider.cjs +81 -0
- package/dist/provider/PostHogProvider.cjs.map +1 -0
- package/dist/provider/PostHogProvider.js +59 -0
- package/dist/provider/PostHogProvider.js.map +1 -0
- package/dist/provider/config.d.ts +8 -7
- package/dist/provider/statewire-lifecycle-context.cjs +10 -0
- package/dist/provider/statewire-lifecycle-context.cjs.map +1 -0
- package/dist/provider/statewire-lifecycle-context.js +10 -0
- package/dist/provider/statewire-lifecycle-context.js.map +1 -0
- package/dist/provider/statewire-window-context.cjs +10 -0
- package/dist/provider/statewire-window-context.cjs.map +1 -0
- package/dist/provider/statewire-window-context.js +10 -0
- package/dist/provider/statewire-window-context.js.map +1 -0
- package/dist/runtime/auth.cjs +309 -0
- package/dist/runtime/auth.cjs.map +1 -0
- package/dist/runtime/auth.d.ts +19 -18
- package/dist/runtime/auth.js +309 -0
- package/dist/runtime/auth.js.map +1 -0
- package/dist/runtime/statewire-auth-headers.cjs +18 -0
- package/dist/runtime/statewire-auth-headers.cjs.map +1 -0
- package/dist/runtime/statewire-auth-headers.js +18 -0
- package/dist/runtime/statewire-auth-headers.js.map +1 -0
- package/dist/runtime/statewire-lifecycle.cjs +68 -0
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
- package/dist/runtime/statewire-lifecycle.js +68 -0
- package/dist/runtime/statewire-lifecycle.js.map +1 -0
- package/dist/runtime/statewire-run-config.cjs +68 -0
- package/dist/runtime/statewire-run-config.cjs.map +1 -0
- package/dist/runtime/statewire-run-config.js +68 -0
- package/dist/runtime/statewire-run-config.js.map +1 -0
- package/dist/runtime/statewire-session-key.cjs +11 -0
- package/dist/runtime/statewire-session-key.cjs.map +1 -0
- package/dist/runtime/statewire-session-key.js +11 -0
- package/dist/runtime/statewire-session-key.js.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs +180 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.js +181 -0
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/theme/index.cjs +182 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.js +182 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/threads/ThreadList.cjs +55 -0
- package/dist/threads/ThreadList.cjs.map +1 -0
- package/dist/threads/ThreadList.js +55 -0
- package/dist/threads/ThreadList.js.map +1 -0
- package/dist/threads/api.cjs +208 -0
- package/dist/threads/api.cjs.map +1 -0
- package/dist/threads/api.js +208 -0
- package/dist/threads/api.js.map +1 -0
- package/dist/threads/conversation-list-fetcher.cjs +74 -0
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
- package/dist/threads/conversation-list-fetcher.js +74 -0
- package/dist/threads/conversation-list-fetcher.js.map +1 -0
- package/dist/threads/mint-thread-id.cjs +7 -0
- package/dist/threads/mint-thread-id.cjs.map +1 -0
- package/dist/threads/mint-thread-id.js +7 -0
- package/dist/threads/mint-thread-id.js.map +1 -0
- package/dist/threads/statewire-thread-list.cjs +232 -0
- package/dist/threads/statewire-thread-list.cjs.map +1 -0
- package/dist/threads/statewire-thread-list.js +232 -0
- package/dist/threads/statewire-thread-list.js.map +1 -0
- package/dist/threads/thread-id-context.cjs +22 -0
- package/dist/threads/thread-id-context.cjs.map +1 -0
- package/dist/threads/thread-id-context.d.ts +9 -0
- package/dist/threads/thread-id-context.js +22 -0
- package/dist/threads/thread-id-context.js.map +1 -0
- package/dist/threads/title.cjs +95 -0
- package/dist/threads/title.cjs.map +1 -0
- package/dist/threads/title.js +95 -0
- package/dist/threads/title.js.map +1 -0
- package/dist/threads/use-rest-conversation-history.cjs +80 -0
- package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
- package/dist/threads/use-rest-conversation-history.js +80 -0
- package/dist/threads/use-rest-conversation-history.js.map +1 -0
- package/dist/threads/use-statewire-conversation-history.cjs +244 -0
- package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
- package/dist/threads/use-statewire-conversation-history.d.ts +1 -0
- package/dist/threads/use-statewire-conversation-history.js +244 -0
- package/dist/threads/use-statewire-conversation-history.js.map +1 -0
- package/dist/threads/useAthenaThreadManager.cjs +24 -0
- package/dist/threads/useAthenaThreadManager.cjs.map +1 -0
- package/dist/threads/useAthenaThreadManager.js +24 -0
- package/dist/threads/useAthenaThreadManager.js.map +1 -0
- package/dist/toolkits/index.cjs +279 -0
- package/dist/toolkits/index.cjs.map +1 -0
- package/dist/toolkits/index.js +279 -0
- package/dist/toolkits/index.js.map +1 -0
- package/dist/tools/NestedPtcMessages.cjs +46 -0
- package/dist/tools/NestedPtcMessages.cjs.map +1 -0
- package/dist/tools/NestedPtcMessages.js +46 -0
- package/dist/tools/NestedPtcMessages.js.map +1 -0
- package/dist/tools/append-document-tool-ui.cjs +145 -0
- package/dist/tools/append-document-tool-ui.cjs.map +1 -0
- package/dist/tools/append-document-tool-ui.js +145 -0
- package/dist/tools/append-document-tool-ui.js.map +1 -0
- package/dist/tools/asset-utils.cjs +16 -0
- package/dist/tools/asset-utils.cjs.map +1 -0
- package/dist/tools/asset-utils.js +16 -0
- package/dist/tools/asset-utils.js.map +1 -0
- package/dist/tools/auto-open-tools.cjs +121 -0
- package/dist/tools/auto-open-tools.cjs.map +1 -0
- package/dist/tools/auto-open-tools.js +121 -0
- package/dist/tools/auto-open-tools.js.map +1 -0
- package/dist/tools/file-tool-uis.cjs +108 -0
- package/dist/tools/file-tool-uis.cjs.map +1 -0
- package/dist/tools/file-tool-uis.js +108 -0
- package/dist/tools/file-tool-uis.js.map +1 -0
- package/dist/tools/index.cjs +57 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +57 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/misc-tool-uis.cjs +55 -0
- package/dist/tools/misc-tool-uis.cjs.map +1 -0
- package/dist/{misc-tool-uis-gAiQw0Yl.js → tools/misc-tool-uis.js} +18 -7
- package/dist/tools/misc-tool-uis.js.map +1 -0
- package/dist/tools/primitives.cjs +167 -0
- package/dist/tools/primitives.cjs.map +1 -0
- package/dist/tools/primitives.js +167 -0
- package/dist/tools/primitives.js.map +1 -0
- package/dist/tools/read-asset-tool-ui.cjs +284 -0
- package/dist/tools/read-asset-tool-ui.cjs.map +1 -0
- package/dist/tools/read-asset-tool-ui.js +284 -0
- package/dist/tools/read-asset-tool-ui.js.map +1 -0
- package/dist/tools/todo-plan-store.cjs +88 -0
- package/dist/tools/todo-plan-store.cjs.map +1 -0
- package/dist/tools/todo-plan-store.js +88 -0
- package/dist/tools/todo-plan-store.js.map +1 -0
- package/dist/tools/tool-fallback.cjs +668 -0
- package/dist/tools/tool-fallback.cjs.map +1 -0
- package/dist/tools/tool-fallback.js +668 -0
- package/dist/tools/tool-fallback.js.map +1 -0
- package/dist/tools/tool-icons.cjs +61 -0
- package/dist/tools/tool-icons.cjs.map +1 -0
- package/dist/tools/tool-icons.js +61 -0
- package/dist/tools/tool-icons.js.map +1 -0
- package/dist/tools/tool-uis.cjs +3049 -0
- package/dist/tools/tool-uis.cjs.map +1 -0
- package/dist/tools/tool-uis.js +3049 -0
- package/dist/tools/tool-uis.js.map +1 -0
- package/dist/tools/voice-update-tool-ui.cjs +90 -0
- package/dist/tools/voice-update-tool-ui.cjs.map +1 -0
- package/dist/tools/voice-update-tool-ui.d.ts +27 -0
- package/dist/tools/voice-update-tool-ui.js +90 -0
- package/dist/tools/voice-update-tool-ui.js.map +1 -0
- package/dist/tools/write-todos-tool-ui.cjs +270 -0
- package/dist/tools/write-todos-tool-ui.cjs.map +1 -0
- package/dist/tools/write-todos-tool-ui.js +270 -0
- package/dist/tools/write-todos-tool-ui.js.map +1 -0
- package/dist/ui/button.cjs +57 -0
- package/dist/ui/button.cjs.map +1 -0
- package/dist/ui/button.js +57 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/collapsible.cjs +17 -0
- package/dist/ui/collapsible.cjs.map +1 -0
- package/dist/ui/collapsible.js +17 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/tooltip.cjs +48 -0
- package/dist/ui/tooltip.cjs.map +1 -0
- package/dist/ui/tooltip.js +48 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/version.cjs +6 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/dist/voice/index.cjs +6 -0
- package/dist/voice/index.cjs.map +1 -0
- package/dist/voice/index.d.ts +2 -0
- package/dist/voice/index.js +6 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/use-athena-voice-session.cjs +315 -0
- package/dist/voice/use-athena-voice-session.cjs.map +1 -0
- package/dist/voice/use-athena-voice-session.d.ts +145 -0
- package/dist/voice/use-athena-voice-session.js +315 -0
- package/dist/voice/use-athena-voice-session.js.map +1 -0
- package/package.json +32 -20
- package/dist/AthenaAuthContext-B3AwLA5Z.cjs.map +0 -1
- package/dist/AthenaAuthContext-DQsdayH2.js.map +0 -1
- package/dist/AthenaContext-B1QMhIP-.cjs.map +0 -1
- package/dist/AthenaContext-MOslgOmE.js.map +0 -1
- package/dist/SuperGroupingCard-BsWbHyV_.js +0 -795
- package/dist/SuperGroupingCard-BsWbHyV_.js.map +0 -1
- package/dist/SuperGroupingCard-CRRFUgjN.cjs +0 -794
- package/dist/SuperGroupingCard-CRRFUgjN.cjs.map +0 -1
- package/dist/auth.cjs.map +0 -1
- package/dist/auth.js.map +0 -1
- package/dist/chat/ComposerEditorContext.d.ts +0 -36
- package/dist/chat/tiptap-composer.d.ts +0 -7
- package/dist/chat-ui-statewire.cjs +0 -25
- package/dist/chat-ui-statewire.cjs.map +0 -1
- package/dist/chat-ui-statewire.js +0 -25
- package/dist/chat-ui-statewire.js.map +0 -1
- package/dist/chat-ui.cjs +0 -2484
- package/dist/chat-ui.cjs.map +0 -1
- package/dist/chat-ui.js +0 -2486
- package/dist/chat-ui.js.map +0 -1
- package/dist/collab.cjs.map +0 -1
- package/dist/collab.js.map +0 -1
- package/dist/mentions/composer-keybinds.d.ts +0 -5
- package/dist/mentions/mention-extension.d.ts +0 -6
- package/dist/mentions/mention-icons.d.ts +0 -4
- package/dist/mentions/mention-node-view.d.ts +0 -2
- package/dist/mentions/mention-suggestion-list.d.ts +0 -14
- package/dist/mentions/mention-suggestion-popup.d.ts +0 -15
- package/dist/mentions/mention-suggestions-extension.d.ts +0 -11
- package/dist/mentions/mention-types.d.ts +0 -21
- package/dist/mentions/mention-utils.d.ts +0 -23
- package/dist/mentions/use-mention-suggestions.d.ts +0 -29
- package/dist/misc-tool-uis-B2e0Okkn.cjs +0 -43
- package/dist/misc-tool-uis-B2e0Okkn.cjs.map +0 -1
- package/dist/misc-tool-uis-gAiQw0Yl.js.map +0 -1
- package/dist/statewire-continue-run-D34gS7_1.js.map +0 -1
- package/dist/statewire-continue-run-nE9VCKUh.cjs.map +0 -1
- package/dist/statewire-history-edge-C8uyTEjX.cjs +0 -1711
- package/dist/statewire-history-edge-C8uyTEjX.cjs.map +0 -1
- package/dist/statewire-history-edge-CPohUKMt.js +0 -1712
- package/dist/statewire-history-edge-CPohUKMt.js.map +0 -1
- package/dist/super-grouping.cjs +0 -22
- package/dist/super-grouping.cjs.map +0 -1
- package/dist/super-grouping.js +0 -22
- package/dist/super-grouping.js.map +0 -1
- package/dist/tool-fallback-DkQ3DLkn.js +0 -4281
- package/dist/tool-fallback-DkQ3DLkn.js.map +0 -1
- package/dist/tool-fallback-kfhpJQZa.cjs +0 -4297
- package/dist/tool-fallback-kfhpJQZa.cjs.map +0 -1
- package/dist/tools.cjs +0 -41
- package/dist/tools.cjs.map +0 -1
- package/dist/tools.js +0 -41
- package/dist/tools.js.map +0 -1
- package/dist/trash-2-B5OaNAL7.cjs +0 -5096
- package/dist/trash-2-B5OaNAL7.cjs.map +0 -1
- package/dist/trash-2-CCwSURL-.js +0 -5081
- package/dist/trash-2-CCwSURL-.js.map +0 -1
- package/dist/use-rest-conversation-history-Cm8qMRxp.cjs +0 -32397
- package/dist/use-rest-conversation-history-Cm8qMRxp.cjs.map +0 -1
- package/dist/use-rest-conversation-history-veDZS-oL.js +0 -32361
- package/dist/use-rest-conversation-history-veDZS-oL.js.map +0 -1
- package/dist/wrench-BEf72cyP.cjs +0 -417
- package/dist/wrench-BEf72cyP.cjs.map +0 -1
- package/dist/wrench-CbrOlVYm.js +0 -418
- package/dist/wrench-CbrOlVYm.js.map +0 -1
- package/dist/x-Dfd2NzK0.cjs +0 -42
- package/dist/x-Dfd2NzK0.cjs.map +0 -1
- package/dist/x-_DntAa_a.js +0 -43
- package/dist/x-_DntAa_a.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileUpload.js","sources":["../../src/composer/useFileUpload.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useAthenaConfig } from '../provider/AthenaContext';\n\nexport interface UploadedAsset {\n id: string;\n title: string;\n fileName: string;\n fileSize: number;\n mediaType: string;\n}\n\nexport interface UploadProgress {\n current: number;\n total: number;\n fileName: string;\n /** 0–1 normalized progress for the current file */\n percent: number;\n}\n\nexport interface UseFileUploadReturn {\n /** Upload one or more files to Athena. Returns the created asset(s). */\n upload: (files: File[]) => Promise<UploadedAsset[]>;\n /** Whether an upload is currently in progress. */\n isUploading: boolean;\n /** Upload progress info (null when idle). */\n progress: UploadProgress | null;\n /** Last upload error (null when no error). */\n error: string | null;\n /** Clear the error state. */\n clearError: () => void;\n}\n\nconst MAX_FILE_SIZE = 5 * 1024 * 1024 * 1024; // 5 GB\n\n/**\n * Hook for uploading files to the Athena platform via the Athena upload endpoint.\n * Files become Athena assets (documents, spreadsheets, PDFs, images, etc.).\n *\n * Usage:\n * const { upload, isUploading, progress, error } = useFileUpload();\n * const assets = await upload(fileList);\n */\nexport function useFileUpload(): UseFileUploadReturn {\n const config = useAthenaConfig();\n // Keep config in a ref so upload() always reads the latest token at call\n // time. AthenaConfig's token is a getter that returns the current value\n // from PropelAuth, and reading via the ref avoids capturing stale\n // destructured values in the useCallback closure.\n const configRef = useRef(config);\n configRef.current = config;\n const { backendUrl, apiKey } = config;\n const [isUploading, setIsUploading] = useState(false);\n const [progress, setProgress] = useState<UploadProgress | null>(null);\n const [error, setError] = useState<string | null>(null);\n const xhrRef = useRef<XMLHttpRequest | null>(null);\n\n // Abort any in-flight upload when the component unmounts\n useEffect(() => {\n return () => {\n xhrRef.current?.abort();\n };\n }, []);\n\n const clearError = useCallback(() => setError(null), []);\n\n const upload = useCallback(\n async (files: File[]): Promise<UploadedAsset[]> => {\n if (files.length === 0) return [];\n\n // Validate file sizes\n for (const file of files) {\n if (file.size > MAX_FILE_SIZE) {\n const msg = `File \"${file.name}\" exceeds the maximum size of 5 GB.`;\n setError(msg);\n throw new Error(msg);\n }\n }\n\n setIsUploading(true);\n setError(null);\n setProgress({ current: 0, total: files.length, fileName: files[0]?.name ?? '', percent: 0 });\n\n try {\n const formData = new FormData();\n for (const file of files) {\n formData.append('files', file, file.name);\n }\n\n // Derive the upload URL from the configured Athena backend URL.\n // If backendUrl points at a nested Athena endpoint, trim it back to the API base first.\n const baseUrl = backendUrl.replace(/\\/api\\/assistant-ui\\/?$/, '');\n const uploadUrl = `${baseUrl}/api/upload/`;\n\n // Read the current token at call time so rotated tokens are picked up.\n const currentToken = configRef.current.token;\n const headers: Record<string, string> = {};\n if (currentToken) {\n headers['Authorization'] = `Bearer ${currentToken}`;\n } else if (apiKey) {\n headers['X-API-KEY'] = apiKey;\n }\n\n const xhr = new XMLHttpRequest();\n xhrRef.current = xhr;\n\n const result = await new Promise<{ success: UploadedAsset[]; errors: Array<{ file: { filename: string }; error: string }> }>((resolve, reject) => {\n xhr.upload.addEventListener('progress', (e) => {\n if (e.lengthComputable) {\n const percent = e.loaded / e.total;\n // Estimate which file we're on based on progress\n const fileIndex = Math.min(\n Math.floor(percent * files.length),\n files.length - 1,\n );\n setProgress({\n current: fileIndex + 1,\n total: files.length,\n fileName: files[fileIndex]?.name ?? '',\n percent,\n });\n }\n });\n\n xhr.addEventListener('load', () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n try {\n const data = JSON.parse(xhr.responseText);\n const assets: UploadedAsset[] = (data.success ?? []).map((a: Record<string, unknown>) => ({\n id: a.id as string,\n title: (a.title ?? a.file_name) as string,\n fileName: a.file_name as string,\n fileSize: a.file_size as number,\n mediaType: a.media_type as string,\n }));\n resolve({ success: assets, errors: data.errors ?? [] });\n } catch {\n reject(new Error('Failed to parse upload response'));\n }\n } else if (xhr.status === 401 || xhr.status === 403) {\n reject(new Error('Authentication failed. Check your API key or token.'));\n } else {\n reject(new Error(`Upload failed with status ${xhr.status}`));\n }\n });\n\n xhr.addEventListener('error', () => reject(new Error('Network error during upload')));\n xhr.addEventListener('abort', () => reject(new Error('Upload was cancelled')));\n\n xhr.open('POST', uploadUrl);\n for (const [key, value] of Object.entries(headers)) {\n xhr.setRequestHeader(key, value);\n }\n xhr.withCredentials = !currentToken && !apiKey;\n xhr.send(formData);\n });\n\n if (result.errors.length > 0) {\n const errMsg = result.errors.map((e) => `${e.file.filename}: ${e.error}`).join('; ');\n if (result.success.length === 0) {\n setError(errMsg);\n throw new Error(errMsg);\n }\n // Partial success — set error but still return successful uploads\n setError(errMsg);\n }\n\n return result.success;\n } catch (err) {\n const msg = err instanceof Error ? err.message : 'Upload failed';\n setError(msg);\n throw err;\n } finally {\n xhrRef.current = null;\n setIsUploading(false);\n setProgress(null);\n }\n },\n [backendUrl, apiKey],\n );\n\n return { upload, isUploading, progress, error, clearError };\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react$1 = require("react");
|
|
4
|
+
const react = require("@assistant-ui/react");
|
|
5
|
+
function useSendMessage() {
|
|
6
|
+
const aui = react.useAui();
|
|
7
|
+
return react$1.useCallback(
|
|
8
|
+
async (text, options) => {
|
|
9
|
+
if (!text.trim()) return;
|
|
10
|
+
const currentText = aui.composer.getState().text;
|
|
11
|
+
const shouldReplace = (options == null ? void 0 : options.replace) ?? true;
|
|
12
|
+
aui.composer.setText(
|
|
13
|
+
shouldReplace || !currentText ? text : `${currentText}
|
|
14
|
+
${text}`
|
|
15
|
+
);
|
|
16
|
+
await aui.composer.send({ steer: false });
|
|
17
|
+
},
|
|
18
|
+
[aui]
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
exports.useSendMessage = useSendMessage;
|
|
22
|
+
//# sourceMappingURL=useSendMessage.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSendMessage.cjs","sources":["../../src/composer/useSendMessage.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useAui } from '@assistant-ui/react';\n\nexport interface SendMessageOptions {\n /**\n * Replace the current composer text before sending.\n * Defaults to `true`.\n */\n replace?: boolean;\n}\n\n/**\n * Hook to programmatically send a user message from anywhere inside AthenaProvider.\n *\n * This is intended for custom workflow buttons, sidebar shortcuts, or other UI\n * that lives outside the AthenaChat thread tree. Unlike `aui.thread().append()`,\n * this uses the provider-scoped composer runtime and does not depend on\n * ThreadPrimitive context.\n *\n * Usage:\n * const sendMessage = useSendMessage();\n * await sendMessage(\"Run the quarterly workflow\");\n * await sendMessage(\"Add this follow-up\", { replace: false });\n */\nexport function useSendMessage() {\n const aui = useAui();\n\n return useCallback(\n async (text: string, options?: SendMessageOptions) => {\n if (!text.trim()) return;\n\n const currentText = aui.composer.getState().text;\n const shouldReplace = options?.replace ?? true;\n\n aui.composer.setText(\n shouldReplace || !currentText ? text : `${currentText}\\n${text}`,\n );\n\n await aui.composer.send({ steer: false });\n },\n [aui],\n );\n}\n"],"names":["useAui","useCallback"],"mappings":";;;;AAwBO,SAAS,iBAAiB;AAC/B,QAAM,MAAMA,MAAAA,OAAA;AAEZ,SAAOC,QAAAA;AAAAA,IACL,OAAO,MAAc,YAAiC;AACpD,UAAI,CAAC,KAAK,OAAQ;AAElB,YAAM,cAAc,IAAI,SAAS,SAAA,EAAW;AAC5C,YAAM,iBAAgB,mCAAS,YAAW;AAE1C,UAAI,SAAS;AAAA,QACX,iBAAiB,CAAC,cAAc,OAAO,GAAG,WAAW;AAAA,EAAK,IAAI;AAAA,MAAA;AAGhE,YAAM,IAAI,SAAS,KAAK,EAAE,OAAO,OAAO;AAAA,IAC1C;AAAA,IACA,CAAC,GAAG;AAAA,EAAA;AAER;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { useAui } from "@assistant-ui/react";
|
|
3
|
+
function useSendMessage() {
|
|
4
|
+
const aui = useAui();
|
|
5
|
+
return useCallback(
|
|
6
|
+
async (text, options) => {
|
|
7
|
+
if (!text.trim()) return;
|
|
8
|
+
const currentText = aui.composer.getState().text;
|
|
9
|
+
const shouldReplace = (options == null ? void 0 : options.replace) ?? true;
|
|
10
|
+
aui.composer.setText(
|
|
11
|
+
shouldReplace || !currentText ? text : `${currentText}
|
|
12
|
+
${text}`
|
|
13
|
+
);
|
|
14
|
+
await aui.composer.send({ steer: false });
|
|
15
|
+
},
|
|
16
|
+
[aui]
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
useSendMessage
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useSendMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSendMessage.js","sources":["../../src/composer/useSendMessage.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useAui } from '@assistant-ui/react';\n\nexport interface SendMessageOptions {\n /**\n * Replace the current composer text before sending.\n * Defaults to `true`.\n */\n replace?: boolean;\n}\n\n/**\n * Hook to programmatically send a user message from anywhere inside AthenaProvider.\n *\n * This is intended for custom workflow buttons, sidebar shortcuts, or other UI\n * that lives outside the AthenaChat thread tree. Unlike `aui.thread().append()`,\n * this uses the provider-scoped composer runtime and does not depend on\n * ThreadPrimitive context.\n *\n * Usage:\n * const sendMessage = useSendMessage();\n * await sendMessage(\"Run the quarterly workflow\");\n * await sendMessage(\"Add this follow-up\", { replace: false });\n */\nexport function useSendMessage() {\n const aui = useAui();\n\n return useCallback(\n async (text: string, options?: SendMessageOptions) => {\n if (!text.trim()) return;\n\n const currentText = aui.composer.getState().text;\n const shouldReplace = options?.replace ?? true;\n\n aui.composer.setText(\n shouldReplace || !currentText ? text : `${currentText}\\n${text}`,\n );\n\n await aui.composer.send({ steer: false });\n },\n [aui],\n );\n}\n"],"names":[],"mappings":";;AAwBO,SAAS,iBAAiB;AAC/B,QAAM,MAAM,OAAA;AAEZ,SAAO;AAAA,IACL,OAAO,MAAc,YAAiC;AACpD,UAAI,CAAC,KAAK,OAAQ;AAElB,YAAM,cAAc,IAAI,SAAS,SAAA,EAAW;AAC5C,YAAM,iBAAgB,mCAAS,YAAW;AAE1C,UAAI,SAAS;AAAA,QACX,iBAAiB,CAAC,cAAc,OAAO,GAAG,WAAW;AAAA,EAAK,IAAI;AAAA,MAAA;AAGhE,YAAM,IAAI,SAAS,KAAK,EAAE,OAAO,OAAO;AAAA,IAC1C;AAAA,IACA,CAAC,GAAG;AAAA,EAAA;AAER;"}
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
6
|
+
const PostHogProvider = require("../provider/PostHogProvider.cjs");
|
|
7
|
+
const wrapPosthogClient = require("../lib/posthog/wrap-posthog-client.cjs");
|
|
8
|
+
const version = require("../version.cjs");
|
|
9
|
+
const errors = require("./errors.cjs");
|
|
10
|
+
const ATHENA_DIAGNOSTIC_LEVELS = ["debug", "info", "warn", "error"];
|
|
11
|
+
const LEVEL_RANK = {
|
|
12
|
+
debug: 0,
|
|
13
|
+
info: 1,
|
|
14
|
+
warn: 2,
|
|
15
|
+
error: 3
|
|
16
|
+
};
|
|
17
|
+
const DEFAULT_CONFIG = {
|
|
18
|
+
console: false,
|
|
19
|
+
posthog: false,
|
|
20
|
+
bufferSize: 300
|
|
21
|
+
};
|
|
22
|
+
const CONSOLE_PREFIX = "[AthenaSDK]";
|
|
23
|
+
const LOCAL_STORAGE_DEBUG_KEY = "athena:debug";
|
|
24
|
+
const GLOBAL_KEY = "__ATHENA_SDK__";
|
|
25
|
+
const REDACT_KEYS = /token|secret|api[-_]?key|authorization|cookie|password/i;
|
|
26
|
+
function redact(data) {
|
|
27
|
+
if (!data) return void 0;
|
|
28
|
+
const out = {};
|
|
29
|
+
for (const [key, value] of Object.entries(data)) {
|
|
30
|
+
if (REDACT_KEYS.test(key)) {
|
|
31
|
+
out[key] = typeof value === "string" && value.length > 0 ? `<redacted:${value.length}>` : "<redacted>";
|
|
32
|
+
} else {
|
|
33
|
+
out[key] = value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
function nowMs() {
|
|
39
|
+
return typeof performance !== "undefined" && typeof performance.now === "function" ? performance.now() : Date.now();
|
|
40
|
+
}
|
|
41
|
+
function readLocalDebugLevel() {
|
|
42
|
+
try {
|
|
43
|
+
if (typeof localStorage === "undefined") return null;
|
|
44
|
+
const raw = localStorage.getItem(LOCAL_STORAGE_DEBUG_KEY);
|
|
45
|
+
if (!raw) return null;
|
|
46
|
+
if (ATHENA_DIAGNOSTIC_LEVELS.includes(raw)) {
|
|
47
|
+
return raw;
|
|
48
|
+
}
|
|
49
|
+
return raw === "1" || raw === "true" ? "debug" : null;
|
|
50
|
+
} catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class AthenaDiagnosticsBus {
|
|
55
|
+
constructor() {
|
|
56
|
+
__publicField(this, "config", { ...DEFAULT_CONFIG });
|
|
57
|
+
__publicField(this, "events", []);
|
|
58
|
+
__publicField(this, "listeners", /* @__PURE__ */ new Set());
|
|
59
|
+
__publicField(this, "snapshotListeners", /* @__PURE__ */ new Set());
|
|
60
|
+
__publicField(this, "seq", 0);
|
|
61
|
+
__publicField(this, "gauges", {});
|
|
62
|
+
__publicField(this, "timings", {});
|
|
63
|
+
__publicField(this, "spans", /* @__PURE__ */ new Map());
|
|
64
|
+
__publicField(this, "cachedSnapshot", null);
|
|
65
|
+
}
|
|
66
|
+
configure(partial) {
|
|
67
|
+
this.config = { ...this.config, ...partial };
|
|
68
|
+
if (this.events.length > this.config.bufferSize) {
|
|
69
|
+
this.events = this.events.slice(-this.config.bufferSize);
|
|
70
|
+
}
|
|
71
|
+
this.invalidate();
|
|
72
|
+
}
|
|
73
|
+
getConfig() {
|
|
74
|
+
return this.config;
|
|
75
|
+
}
|
|
76
|
+
/** Effective console level: the configured one, or `localStorage['athena:debug']`. */
|
|
77
|
+
consoleLevel() {
|
|
78
|
+
if (this.config.console !== false) return this.config.console;
|
|
79
|
+
return readLocalDebugLevel() ?? false;
|
|
80
|
+
}
|
|
81
|
+
emit(name, options = {}) {
|
|
82
|
+
const level = options.level ?? (options.error !== void 0 ? "error" : "info");
|
|
83
|
+
const error = options.error === void 0 ? void 0 : errors.toAthenaSdkError(options.error, {
|
|
84
|
+
code: "unknown",
|
|
85
|
+
message: `Unexpected error during ${name}`
|
|
86
|
+
});
|
|
87
|
+
const event = {
|
|
88
|
+
seq: ++this.seq,
|
|
89
|
+
t: Math.round(nowMs() * 10) / 10,
|
|
90
|
+
at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
91
|
+
name,
|
|
92
|
+
level,
|
|
93
|
+
...options.durationMs !== void 0 && { durationMs: Math.round(options.durationMs) },
|
|
94
|
+
...options.data && { data: redact(options.data) },
|
|
95
|
+
...error && { error }
|
|
96
|
+
};
|
|
97
|
+
this.events.push(event);
|
|
98
|
+
if (this.events.length > this.config.bufferSize) {
|
|
99
|
+
this.events.splice(0, this.events.length - this.config.bufferSize);
|
|
100
|
+
}
|
|
101
|
+
if (event.durationMs !== void 0) {
|
|
102
|
+
this.timings[name] = event.durationMs;
|
|
103
|
+
}
|
|
104
|
+
this.invalidate();
|
|
105
|
+
this.echoToConsole(event);
|
|
106
|
+
this.forwardToPostHog(event);
|
|
107
|
+
for (const listener of this.listeners) {
|
|
108
|
+
try {
|
|
109
|
+
listener(event);
|
|
110
|
+
} catch (listenerError) {
|
|
111
|
+
console.error(`${CONSOLE_PREFIX} diagnostics listener threw`, listenerError);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (this.config.onEvent) {
|
|
115
|
+
try {
|
|
116
|
+
this.config.onEvent(event);
|
|
117
|
+
} catch (callbackError) {
|
|
118
|
+
console.error(`${CONSOLE_PREFIX} onDiagnostic callback threw`, callbackError);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (error && this.config.onError) {
|
|
122
|
+
try {
|
|
123
|
+
this.config.onError(error, event);
|
|
124
|
+
} catch (callbackError) {
|
|
125
|
+
console.error(`${CONSOLE_PREFIX} onError callback threw`, callbackError);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
for (const notify of this.snapshotListeners) notify();
|
|
129
|
+
return event;
|
|
130
|
+
}
|
|
131
|
+
/** Record an error-level event. Returns the normalized `AthenaSdkError`. */
|
|
132
|
+
error(name, error, fallback, data) {
|
|
133
|
+
const normalized = errors.toAthenaSdkError(error, fallback);
|
|
134
|
+
this.emit(name, { level: "error", error: normalized, data });
|
|
135
|
+
return normalized;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Start a named span. Returns a function that ends it and emits `doneName`
|
|
139
|
+
* with `durationMs` (or `errorName` when passed an error). Also records a
|
|
140
|
+
* `performance.measure` so the span shows in the browser's Performance panel.
|
|
141
|
+
*/
|
|
142
|
+
span(spanName, startName, data) {
|
|
143
|
+
const startedAt = nowMs();
|
|
144
|
+
this.spans.set(spanName, startedAt);
|
|
145
|
+
this.mark(`${spanName}:start`);
|
|
146
|
+
this.emit(startName, { level: "debug", data });
|
|
147
|
+
return (doneName, doneOptions = {}) => {
|
|
148
|
+
const durationMs = nowMs() - startedAt;
|
|
149
|
+
this.spans.delete(spanName);
|
|
150
|
+
this.mark(`${spanName}:end`);
|
|
151
|
+
this.measure(spanName);
|
|
152
|
+
this.emit(doneName, {
|
|
153
|
+
level: doneOptions.error !== void 0 ? "error" : "info",
|
|
154
|
+
durationMs,
|
|
155
|
+
data: doneOptions.data,
|
|
156
|
+
error: doneOptions.error
|
|
157
|
+
});
|
|
158
|
+
return durationMs;
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/** Set a gauge (latest-value metric): connection status, transport, auth mode. */
|
|
162
|
+
gauge(name, value) {
|
|
163
|
+
if (this.gauges[name] === value) return;
|
|
164
|
+
this.gauges[name] = value;
|
|
165
|
+
this.invalidate();
|
|
166
|
+
for (const notify of this.snapshotListeners) notify();
|
|
167
|
+
}
|
|
168
|
+
subscribe(listener) {
|
|
169
|
+
this.listeners.add(listener);
|
|
170
|
+
return () => {
|
|
171
|
+
this.listeners.delete(listener);
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Additive consumer registration: every registered consumer receives every
|
|
176
|
+
* event (and every error), unlike the single `onEvent`/`onError` config
|
|
177
|
+
* slots which are last-writer-wins. `AthenaProvider` registers through this
|
|
178
|
+
* so two mounted providers never clobber each other's callbacks.
|
|
179
|
+
*/
|
|
180
|
+
addConsumer(consumer) {
|
|
181
|
+
return this.subscribe((event) => {
|
|
182
|
+
var _a, _b;
|
|
183
|
+
try {
|
|
184
|
+
(_a = consumer.onEvent) == null ? void 0 : _a.call(consumer, event);
|
|
185
|
+
} catch (callbackError) {
|
|
186
|
+
console.error(`${CONSOLE_PREFIX} onDiagnostic consumer threw`, callbackError);
|
|
187
|
+
}
|
|
188
|
+
if (event.error) {
|
|
189
|
+
try {
|
|
190
|
+
(_b = consumer.onError) == null ? void 0 : _b.call(consumer, event.error, event);
|
|
191
|
+
} catch (callbackError) {
|
|
192
|
+
console.error(`${CONSOLE_PREFIX} onError consumer threw`, callbackError);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/** Subscribe to snapshot changes (for `useSyncExternalStore`). */
|
|
198
|
+
subscribeSnapshot(listener) {
|
|
199
|
+
this.snapshotListeners.add(listener);
|
|
200
|
+
return () => {
|
|
201
|
+
this.snapshotListeners.delete(listener);
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
snapshot() {
|
|
205
|
+
if (!this.cachedSnapshot) {
|
|
206
|
+
const { onEvent: _onEvent, onError: _onError, ...config } = this.config;
|
|
207
|
+
this.cachedSnapshot = {
|
|
208
|
+
sdkVersion: version.ATHENA_REACT_SDK_VERSION,
|
|
209
|
+
config,
|
|
210
|
+
events: [...this.events],
|
|
211
|
+
gauges: { ...this.gauges },
|
|
212
|
+
timings: { ...this.timings }
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
return this.cachedSnapshot;
|
|
216
|
+
}
|
|
217
|
+
/** Copy-paste-able JSON of the current snapshot (errors serialized). */
|
|
218
|
+
export() {
|
|
219
|
+
return JSON.stringify(
|
|
220
|
+
this.snapshot(),
|
|
221
|
+
(_key, value) => errors.isAthenaSdkError(value) ? value.toJSON() : value,
|
|
222
|
+
2
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
clear() {
|
|
226
|
+
this.events = [];
|
|
227
|
+
this.timings = {};
|
|
228
|
+
this.invalidate();
|
|
229
|
+
for (const notify of this.snapshotListeners) notify();
|
|
230
|
+
}
|
|
231
|
+
invalidate() {
|
|
232
|
+
this.cachedSnapshot = null;
|
|
233
|
+
}
|
|
234
|
+
mark(name) {
|
|
235
|
+
try {
|
|
236
|
+
if (typeof performance !== "undefined" && typeof performance.mark === "function") {
|
|
237
|
+
performance.mark(`athena-sdk:${name}`);
|
|
238
|
+
}
|
|
239
|
+
} catch {
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
measure(spanName) {
|
|
243
|
+
try {
|
|
244
|
+
if (typeof performance !== "undefined" && typeof performance.measure === "function") {
|
|
245
|
+
performance.measure(
|
|
246
|
+
`athena-sdk:${spanName}`,
|
|
247
|
+
`athena-sdk:${spanName}:start`,
|
|
248
|
+
`athena-sdk:${spanName}:end`
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
} catch {
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
echoToConsole(event) {
|
|
255
|
+
const level = this.consoleLevel();
|
|
256
|
+
if (level === false) {
|
|
257
|
+
if (event.level === "error" && event.error) {
|
|
258
|
+
console.error(`${CONSOLE_PREFIX} ${event.name}: ${event.error.describe()}`, event.data ?? "");
|
|
259
|
+
}
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
if (LEVEL_RANK[event.level] < LEVEL_RANK[level]) return;
|
|
263
|
+
const suffix = event.durationMs !== void 0 ? ` (${event.durationMs}ms)` : "";
|
|
264
|
+
const line = `${CONSOLE_PREFIX} ${event.name}${suffix}`;
|
|
265
|
+
const payload = event.error ? { ...event.data, error: event.error.describe() } : event.data;
|
|
266
|
+
const method = event.level === "error" ? console.error : event.level === "warn" ? console.warn : event.level === "debug" ? console.debug : console.info;
|
|
267
|
+
method(line, payload ?? "");
|
|
268
|
+
}
|
|
269
|
+
forwardToPostHog(event) {
|
|
270
|
+
if (!this.config.posthog) return;
|
|
271
|
+
if (event.durationMs === void 0 && event.level !== "error") return;
|
|
272
|
+
try {
|
|
273
|
+
const client = PostHogProvider.getPostHogInstance();
|
|
274
|
+
wrapPosthogClient.capturePosthogEvent(client, `athena_sdk_${event.name.replace(/\./g, "_")}`, {
|
|
275
|
+
sdk_version: version.ATHENA_REACT_SDK_VERSION,
|
|
276
|
+
level: event.level,
|
|
277
|
+
...event.durationMs !== void 0 && { duration_ms: event.durationMs },
|
|
278
|
+
...event.error && {
|
|
279
|
+
error_code: event.error.code,
|
|
280
|
+
error_message: event.error.message,
|
|
281
|
+
error_status: event.error.status
|
|
282
|
+
},
|
|
283
|
+
...event.data
|
|
284
|
+
});
|
|
285
|
+
} catch {
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
const athenaDiagnostics = new AthenaDiagnosticsBus();
|
|
290
|
+
function installAthenaDiagnosticsGlobal() {
|
|
291
|
+
if (typeof window === "undefined") return;
|
|
292
|
+
const globalWindow = window;
|
|
293
|
+
const existing = globalWindow[GLOBAL_KEY] ?? {};
|
|
294
|
+
globalWindow[GLOBAL_KEY] = {
|
|
295
|
+
...existing,
|
|
296
|
+
version: version.ATHENA_REACT_SDK_VERSION,
|
|
297
|
+
diagnostics: {
|
|
298
|
+
snapshot: () => athenaDiagnostics.snapshot(),
|
|
299
|
+
export: () => athenaDiagnostics.export(),
|
|
300
|
+
clear: () => athenaDiagnostics.clear(),
|
|
301
|
+
enableConsole: (level = "debug") => {
|
|
302
|
+
try {
|
|
303
|
+
localStorage.setItem(LOCAL_STORAGE_DEBUG_KEY, level);
|
|
304
|
+
} catch {
|
|
305
|
+
}
|
|
306
|
+
athenaDiagnostics.configure({ console: level });
|
|
307
|
+
},
|
|
308
|
+
disableConsole: () => {
|
|
309
|
+
try {
|
|
310
|
+
localStorage.removeItem(LOCAL_STORAGE_DEBUG_KEY);
|
|
311
|
+
} catch {
|
|
312
|
+
}
|
|
313
|
+
athenaDiagnostics.configure({ console: false });
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
function debugPropToDiagnosticsConfig(debug) {
|
|
319
|
+
if (debug === void 0) return {};
|
|
320
|
+
if (debug === true) return { console: "debug" };
|
|
321
|
+
if (debug === false) return { console: false };
|
|
322
|
+
if (typeof debug === "string") return { console: debug };
|
|
323
|
+
return debug;
|
|
324
|
+
}
|
|
325
|
+
exports.ATHENA_DIAGNOSTIC_LEVELS = ATHENA_DIAGNOSTIC_LEVELS;
|
|
326
|
+
exports.athenaDiagnostics = athenaDiagnostics;
|
|
327
|
+
exports.debugPropToDiagnosticsConfig = debugPropToDiagnosticsConfig;
|
|
328
|
+
exports.installAthenaDiagnosticsGlobal = installAthenaDiagnosticsGlobal;
|
|
329
|
+
//# sourceMappingURL=athena-diagnostics.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"athena-diagnostics.cjs","sources":["../../src/diagnostics/athena-diagnostics.ts"],"sourcesContent":["/**\n * SDK diagnostics: one structured event bus for everything the SDK does that\n * can be slow or can fail — auth acquisition, thread-list fetches, statewire\n * attach/snapshot/connection changes, sends, first tokens, and every error.\n *\n * Design:\n * - Module-level singleton (one SDK, one bus), configured by `AthenaProvider`\n * from its `debug` / `onDiagnostic` / `onError` props. Nothing here runs\n * until something calls `emit`, and with defaults it costs a ring-buffer push.\n * - Every event carries `t` (ms since page navigation start via\n * `performance.now()`) so the buffer reads as a waterfall. Timed spans use\n * `performance.mark` / `performance.measure` too, so the browser Performance\n * panel shows them as user timings without any extra tooling.\n * - Console output is opt-in (`debug` prop or `localStorage['athena:debug']`),\n * prefixed `[AthenaSDK]`, and level-gated. Errors always reach `onError`.\n * - PostHog forwarding (opt-in) sends the timing events as\n * `athena_sdk_<name>` with `duration_ms`, through the SDK's capture gate.\n *\n * Consumers read the buffer with `useAthenaDiagnostics()` or, in the browser\n * console, `window.__ATHENA_SDK__.diagnostics.snapshot()`.\n */\n\nimport { getPostHogInstance } from '../provider/PostHogProvider';\nimport { capturePosthogEvent, type PosthogCaptureClient } from '../lib/posthog/wrap-posthog-client';\nimport { ATHENA_REACT_SDK_VERSION } from '../version';\nimport { AthenaSdkError, isAthenaSdkError, toAthenaSdkError } from './errors';\n\nexport const ATHENA_DIAGNOSTIC_LEVELS = ['debug', 'info', 'warn', 'error'] as const;\nexport type AthenaDiagnosticLevel = (typeof ATHENA_DIAGNOSTIC_LEVELS)[number];\n\nconst LEVEL_RANK: Record<AthenaDiagnosticLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3,\n};\n\n/**\n * Event names. Dotted `area.event` so a consumer can filter by prefix. Names\n * are part of the public contract: renaming one is a breaking change for\n * dashboards, so add new ones instead of repurposing.\n */\nexport type AthenaDiagnosticEventName =\n // Provider / configuration\n | 'sdk.init'\n | 'sdk.transport'\n | 'sdk.config.warning'\n // Auth acquisition + lifecycle\n | 'auth.bridge.start'\n | 'auth.bridge.ready'\n | 'auth.bridge.timeout'\n | 'auth.bridge.absent'\n | 'auth.bridge.error'\n | 'auth.token.acquired'\n | 'auth.token.refreshed'\n | 'auth.token.refresh_failed'\n | 'auth.token.stale'\n | 'auth.sso.userinfo.start'\n | 'auth.sso.userinfo.done'\n | 'auth.sso.userinfo.error'\n // Thread list + history\n | 'threads.list.start'\n | 'threads.list.done'\n | 'threads.list.error'\n | 'threads.list.aborted'\n | 'threads.history.start'\n | 'threads.history.done'\n | 'threads.history.error'\n | 'threads.history.aborted'\n // Statewire transport\n | 'statewire.attach.start'\n | 'statewire.snapshot'\n | 'statewire.connection'\n | 'statewire.parked'\n | 'statewire.error'\n | 'statewire.read_only'\n // Runs\n | 'run.send'\n | 'run.first_token'\n | 'run.done'\n | 'run.error'\n // Composer\n | 'composer.attachment.error'\n | 'composer.cancel.error'\n // Tool UIs + frontend tools\n | 'tools.schema.warning'\n | 'tools.debug'\n // Mention suggestions\n | 'mentions.fetch.error'\n // Catch-all\n | 'sdk.error';\n\nexport interface AthenaDiagnosticEvent {\n /** Monotonic sequence number within this page. */\n seq: number;\n /** `performance.now()` at emit time (ms since navigation start). */\n t: number;\n /** Wall-clock ISO timestamp, for exports. */\n at: string;\n name: AthenaDiagnosticEventName;\n level: AthenaDiagnosticLevel;\n /** Milliseconds for a completed span (set on `*.done` / `*.ready` / `run.first_token`). */\n durationMs?: number;\n /** Structured context. Never contains credentials — see `redact`. */\n data?: Record<string, unknown>;\n /** Present on error-level events. */\n error?: AthenaSdkError;\n}\n\nexport interface AthenaDiagnosticsConfig {\n /** Minimum level echoed to the console. `false` disables console output. */\n console: AthenaDiagnosticLevel | false;\n /** Forward timing + error events to PostHog as `athena_sdk_*` events. */\n posthog: boolean;\n /** Receives every event (already redacted). */\n onEvent?: (event: AthenaDiagnosticEvent) => void;\n /** Receives every error-level event's `AthenaSdkError`. */\n onError?: (error: AthenaSdkError, event: AthenaDiagnosticEvent) => void;\n /** Ring-buffer capacity. */\n bufferSize: number;\n}\n\nexport interface AthenaDiagnosticsSnapshot {\n sdkVersion: string;\n config: Omit<AthenaDiagnosticsConfig, 'onEvent' | 'onError'>;\n events: AthenaDiagnosticEvent[];\n /** Latest value per gauge (connection status, transport, auth mode, …). */\n gauges: Record<string, unknown>;\n /** Named span durations, most recent per name (`auth.bridge`, `threads.list`, …). */\n timings: Record<string, number>;\n}\n\nconst DEFAULT_CONFIG: AthenaDiagnosticsConfig = {\n console: false,\n posthog: false,\n bufferSize: 300,\n};\n\nconst CONSOLE_PREFIX = '[AthenaSDK]';\nconst LOCAL_STORAGE_DEBUG_KEY = 'athena:debug';\nconst GLOBAL_KEY = '__ATHENA_SDK__';\n\n// Keys whose values must never enter the buffer, the console, or PostHog.\nconst REDACT_KEYS = /token|secret|api[-_]?key|authorization|cookie|password/i;\n\nfunction redact(data: Record<string, unknown> | undefined): Record<string, unknown> | undefined {\n if (!data) return undefined;\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(data)) {\n if (REDACT_KEYS.test(key)) {\n out[key] = typeof value === 'string' && value.length > 0 ? `<redacted:${value.length}>` : '<redacted>';\n } else {\n out[key] = value;\n }\n }\n return out;\n}\n\nfunction nowMs(): number {\n return typeof performance !== 'undefined' && typeof performance.now === 'function'\n ? performance.now()\n : Date.now();\n}\n\nfunction readLocalDebugLevel(): AthenaDiagnosticLevel | null {\n try {\n if (typeof localStorage === 'undefined') return null;\n const raw = localStorage.getItem(LOCAL_STORAGE_DEBUG_KEY);\n if (!raw) return null;\n if ((ATHENA_DIAGNOSTIC_LEVELS as readonly string[]).includes(raw)) {\n return raw as AthenaDiagnosticLevel;\n }\n return raw === '1' || raw === 'true' ? 'debug' : null;\n } catch {\n return null;\n }\n}\n\ntype Listener = (event: AthenaDiagnosticEvent) => void;\n\nclass AthenaDiagnosticsBus {\n private config: AthenaDiagnosticsConfig = { ...DEFAULT_CONFIG };\n private events: AthenaDiagnosticEvent[] = [];\n private listeners = new Set<Listener>();\n private snapshotListeners = new Set<() => void>();\n private seq = 0;\n private gauges: Record<string, unknown> = {};\n private timings: Record<string, number> = {};\n private spans = new Map<string, number>();\n private cachedSnapshot: AthenaDiagnosticsSnapshot | null = null;\n\n configure(partial: Partial<AthenaDiagnosticsConfig>): void {\n this.config = { ...this.config, ...partial };\n if (this.events.length > this.config.bufferSize) {\n this.events = this.events.slice(-this.config.bufferSize);\n }\n this.invalidate();\n }\n\n getConfig(): AthenaDiagnosticsConfig {\n return this.config;\n }\n\n /** Effective console level: the configured one, or `localStorage['athena:debug']`. */\n private consoleLevel(): AthenaDiagnosticLevel | false {\n if (this.config.console !== false) return this.config.console;\n return readLocalDebugLevel() ?? false;\n }\n\n emit(\n name: AthenaDiagnosticEventName,\n options: {\n level?: AthenaDiagnosticLevel;\n data?: Record<string, unknown>;\n durationMs?: number;\n error?: unknown;\n } = {},\n ): AthenaDiagnosticEvent {\n const level = options.level ?? (options.error !== undefined ? 'error' : 'info');\n const error =\n options.error === undefined\n ? undefined\n : toAthenaSdkError(options.error, {\n code: 'unknown',\n message: `Unexpected error during ${name}`,\n });\n const event: AthenaDiagnosticEvent = {\n seq: ++this.seq,\n t: Math.round(nowMs() * 10) / 10,\n at: new Date().toISOString(),\n name,\n level,\n ...(options.durationMs !== undefined && { durationMs: Math.round(options.durationMs) }),\n ...(options.data && { data: redact(options.data) }),\n ...(error && { error }),\n };\n\n this.events.push(event);\n if (this.events.length > this.config.bufferSize) {\n this.events.splice(0, this.events.length - this.config.bufferSize);\n }\n if (event.durationMs !== undefined) {\n this.timings[name] = event.durationMs;\n }\n this.invalidate();\n\n this.echoToConsole(event);\n this.forwardToPostHog(event);\n for (const listener of this.listeners) {\n try {\n listener(event);\n } catch (listenerError) {\n console.error(`${CONSOLE_PREFIX} diagnostics listener threw`, listenerError);\n }\n }\n if (this.config.onEvent) {\n try {\n this.config.onEvent(event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onDiagnostic callback threw`, callbackError);\n }\n }\n if (error && this.config.onError) {\n try {\n this.config.onError(error, event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onError callback threw`, callbackError);\n }\n }\n for (const notify of this.snapshotListeners) notify();\n return event;\n }\n\n /** Record an error-level event. Returns the normalized `AthenaSdkError`. */\n error(\n name: AthenaDiagnosticEventName,\n error: unknown,\n fallback: { code: AthenaSdkError['code']; message: string; hint?: string },\n data?: Record<string, unknown>,\n ): AthenaSdkError {\n const normalized = toAthenaSdkError(error, fallback);\n this.emit(name, { level: 'error', error: normalized, data });\n return normalized;\n }\n\n /**\n * Start a named span. Returns a function that ends it and emits `doneName`\n * with `durationMs` (or `errorName` when passed an error). Also records a\n * `performance.measure` so the span shows in the browser's Performance panel.\n */\n span(\n spanName: string,\n startName: AthenaDiagnosticEventName,\n data?: Record<string, unknown>,\n ): (\n doneName: AthenaDiagnosticEventName,\n doneOptions?: { data?: Record<string, unknown>; error?: unknown },\n ) => number {\n const startedAt = nowMs();\n this.spans.set(spanName, startedAt);\n this.mark(`${spanName}:start`);\n this.emit(startName, { level: 'debug', data });\n return (doneName, doneOptions = {}) => {\n const durationMs = nowMs() - startedAt;\n this.spans.delete(spanName);\n this.mark(`${spanName}:end`);\n this.measure(spanName);\n this.emit(doneName, {\n level: doneOptions.error !== undefined ? 'error' : 'info',\n durationMs,\n data: doneOptions.data,\n error: doneOptions.error,\n });\n return durationMs;\n };\n }\n\n /** Set a gauge (latest-value metric): connection status, transport, auth mode. */\n gauge(name: string, value: unknown): void {\n if (this.gauges[name] === value) return;\n this.gauges[name] = value;\n this.invalidate();\n for (const notify of this.snapshotListeners) notify();\n }\n\n subscribe(listener: Listener): () => void {\n this.listeners.add(listener);\n return () => {\n this.listeners.delete(listener);\n };\n }\n\n /**\n * Additive consumer registration: every registered consumer receives every\n * event (and every error), unlike the single `onEvent`/`onError` config\n * slots which are last-writer-wins. `AthenaProvider` registers through this\n * so two mounted providers never clobber each other's callbacks.\n */\n addConsumer(consumer: {\n onEvent?: (event: AthenaDiagnosticEvent) => void;\n onError?: (error: AthenaSdkError, event: AthenaDiagnosticEvent) => void;\n }): () => void {\n return this.subscribe((event) => {\n try {\n consumer.onEvent?.(event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onDiagnostic consumer threw`, callbackError);\n }\n if (event.error) {\n try {\n consumer.onError?.(event.error, event);\n } catch (callbackError) {\n console.error(`${CONSOLE_PREFIX} onError consumer threw`, callbackError);\n }\n }\n });\n }\n\n /** Subscribe to snapshot changes (for `useSyncExternalStore`). */\n subscribeSnapshot(listener: () => void): () => void {\n this.snapshotListeners.add(listener);\n return () => {\n this.snapshotListeners.delete(listener);\n };\n }\n\n snapshot(): AthenaDiagnosticsSnapshot {\n if (!this.cachedSnapshot) {\n const { onEvent: _onEvent, onError: _onError, ...config } = this.config;\n this.cachedSnapshot = {\n sdkVersion: ATHENA_REACT_SDK_VERSION,\n config,\n events: [...this.events],\n gauges: { ...this.gauges },\n timings: { ...this.timings },\n };\n }\n return this.cachedSnapshot;\n }\n\n /** Copy-paste-able JSON of the current snapshot (errors serialized). */\n export(): string {\n return JSON.stringify(\n this.snapshot(),\n (_key, value) => (isAthenaSdkError(value) ? value.toJSON() : value),\n 2,\n );\n }\n\n clear(): void {\n this.events = [];\n this.timings = {};\n this.invalidate();\n for (const notify of this.snapshotListeners) notify();\n }\n\n private invalidate(): void {\n this.cachedSnapshot = null;\n }\n\n private mark(name: string): void {\n try {\n if (typeof performance !== 'undefined' && typeof performance.mark === 'function') {\n performance.mark(`athena-sdk:${name}`);\n }\n } catch {\n // User Timing is best-effort.\n }\n }\n\n private measure(spanName: string): void {\n try {\n if (typeof performance !== 'undefined' && typeof performance.measure === 'function') {\n performance.measure(\n `athena-sdk:${spanName}`,\n `athena-sdk:${spanName}:start`,\n `athena-sdk:${spanName}:end`,\n );\n }\n } catch {\n // A missing start mark (e.g. after `performance.clearMarks`) is not an error.\n }\n }\n\n private echoToConsole(event: AthenaDiagnosticEvent): void {\n const level = this.consoleLevel();\n if (level === false) {\n // Errors are never silent: with console output off they still log once,\n // compactly, so a broken integration is visible without enabling debug.\n if (event.level === 'error' && event.error) {\n console.error(`${CONSOLE_PREFIX} ${event.name}: ${event.error.describe()}`, event.data ?? '');\n }\n return;\n }\n if (LEVEL_RANK[event.level] < LEVEL_RANK[level]) return;\n const suffix = event.durationMs !== undefined ? ` (${event.durationMs}ms)` : '';\n const line = `${CONSOLE_PREFIX} ${event.name}${suffix}`;\n const payload = event.error ? { ...event.data, error: event.error.describe() } : event.data;\n const method =\n event.level === 'error'\n ? console.error\n : event.level === 'warn'\n ? console.warn\n : event.level === 'debug'\n ? console.debug\n : console.info;\n method(line, payload ?? '');\n }\n\n private forwardToPostHog(event: AthenaDiagnosticEvent): void {\n if (!this.config.posthog) return;\n if (event.durationMs === undefined && event.level !== 'error') return;\n try {\n const client = getPostHogInstance<PosthogCaptureClient>();\n capturePosthogEvent(client, `athena_sdk_${event.name.replace(/\\./g, '_')}`, {\n sdk_version: ATHENA_REACT_SDK_VERSION,\n level: event.level,\n ...(event.durationMs !== undefined && { duration_ms: event.durationMs }),\n ...(event.error && {\n error_code: event.error.code,\n error_message: event.error.message,\n error_status: event.error.status,\n }),\n ...event.data,\n });\n } catch {\n // Analytics must never break the chat.\n }\n }\n}\n\nexport const athenaDiagnostics = new AthenaDiagnosticsBus();\n\n/**\n * Expose the bus on `window.__ATHENA_SDK__` so an integrator can inspect the\n * waterfall from the console (`__ATHENA_SDK__.diagnostics.snapshot()`) or turn\n * console echo on without a rebuild (`localStorage.setItem('athena:debug','debug')`).\n */\nexport function installAthenaDiagnosticsGlobal(): void {\n if (typeof window === 'undefined') return;\n const globalWindow = window as unknown as Record<string, unknown>;\n const existing = (globalWindow[GLOBAL_KEY] ?? {}) as Record<string, unknown>;\n globalWindow[GLOBAL_KEY] = {\n ...existing,\n version: ATHENA_REACT_SDK_VERSION,\n diagnostics: {\n snapshot: () => athenaDiagnostics.snapshot(),\n export: () => athenaDiagnostics.export(),\n clear: () => athenaDiagnostics.clear(),\n enableConsole: (level: AthenaDiagnosticLevel = 'debug') => {\n try {\n localStorage.setItem(LOCAL_STORAGE_DEBUG_KEY, level);\n } catch {\n // localStorage may be unavailable.\n }\n athenaDiagnostics.configure({ console: level });\n },\n disableConsole: () => {\n try {\n localStorage.removeItem(LOCAL_STORAGE_DEBUG_KEY);\n } catch {\n // localStorage may be unavailable.\n }\n athenaDiagnostics.configure({ console: false });\n },\n },\n };\n}\n\n/** Normalize the provider's `debug` prop into a diagnostics config patch. */\nexport function debugPropToDiagnosticsConfig(\n debug: boolean | AthenaDiagnosticLevel | Partial<AthenaDiagnosticsConfig> | undefined,\n): Partial<AthenaDiagnosticsConfig> {\n if (debug === undefined) return {};\n if (debug === true) return { console: 'debug' };\n if (debug === false) return { console: false };\n if (typeof debug === 'string') return { console: debug };\n return debug;\n}\n"],"names":["toAthenaSdkError","ATHENA_REACT_SDK_VERSION","isAthenaSdkError","getPostHogInstance","capturePosthogEvent"],"mappings":"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"}
|