@athenaintel/react 0.23.2 → 0.24.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 +46 -1
- package/dist/assets/AssetPanel.cjs +1 -1
- package/dist/assets/AssetPanel.cjs.map +1 -1
- package/dist/assets/AssetPanel.js +1 -1
- package/dist/assets/AssetPanel.js.map +1 -1
- package/dist/assets/AthenaAssetEmbed.cjs +1 -1
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
- package/dist/assets/AthenaAssetEmbed.js +1 -1
- package/dist/assets/AthenaAssetEmbed.js.map +1 -1
- package/dist/chat/AthenaChat.cjs +138 -46
- package/dist/chat/AthenaChat.cjs.map +1 -1
- package/dist/chat/AthenaChat.d.ts +37 -1
- package/dist/chat/AthenaChat.js +139 -47
- package/dist/chat/AthenaChat.js.map +1 -1
- package/dist/chat/StatewireApprovalCard.cjs +3 -18
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
- package/dist/chat/StatewireApprovalCard.js +3 -18
- package/dist/chat/StatewireApprovalCard.js.map +1 -1
- package/dist/chat/StatewireClientToolBridge.cjs +2 -16
- package/dist/chat/StatewireClientToolBridge.cjs.map +1 -1
- package/dist/chat/StatewireClientToolBridge.js +2 -16
- package/dist/chat/StatewireClientToolBridge.js.map +1 -1
- package/dist/chat/StatewireQueuedMessages.cjs +5 -16
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
- package/dist/chat/StatewireQueuedMessages.js +5 -16
- package/dist/chat/StatewireQueuedMessages.js.map +1 -1
- package/dist/chat/WaitingOnYouBanner.cjs +3 -18
- package/dist/chat/WaitingOnYouBanner.cjs.map +1 -1
- package/dist/chat/WaitingOnYouBanner.js +3 -18
- package/dist/chat/WaitingOnYouBanner.js.map +1 -1
- package/dist/chat/athena-composer-controls.js +1 -1
- package/dist/chat/run-activity.cjs +0 -16
- package/dist/chat/run-activity.cjs.map +1 -1
- package/dist/chat/run-activity.js +0 -16
- package/dist/chat/run-activity.js.map +1 -1
- package/dist/chat/statewire-client-tools.cjs +21 -17
- package/dist/chat/statewire-client-tools.cjs.map +1 -1
- package/dist/chat/statewire-client-tools.d.ts +27 -0
- package/dist/chat/statewire-client-tools.js +21 -17
- package/dist/chat/statewire-client-tools.js.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.cjs +0 -16
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.js +0 -16
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -1
- package/dist/chat/tiptap-text.cjs +1 -17
- package/dist/chat/tiptap-text.cjs.map +1 -1
- package/dist/chat/tiptap-text.js +1 -17
- package/dist/chat/tiptap-text.js.map +1 -1
- package/dist/chat/use-athena-run-live.cjs +0 -15
- package/dist/chat/use-athena-run-live.cjs.map +1 -1
- package/dist/chat/use-athena-run-live.d.ts +7 -0
- package/dist/chat/use-athena-run-live.js +0 -15
- package/dist/chat/use-athena-run-live.js.map +1 -1
- package/dist/chat/use-statewire-approval-request.cjs +4 -16
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -1
- package/dist/chat/use-statewire-approval-request.d.ts +2 -0
- package/dist/chat/use-statewire-approval-request.js +4 -16
- package/dist/chat/use-statewire-approval-request.js.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.cjs +17 -17
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.js +17 -17
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
- package/dist/chat-ui/index.cjs +0 -16
- package/dist/chat-ui/index.cjs.map +1 -1
- package/dist/chat-ui/index.js +0 -16
- package/dist/chat-ui/index.js.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs +1 -16
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.js +1 -16
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +4 -6
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +4 -6
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +2 -9
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +2 -9
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
- package/dist/chat-ui/messages/message-components.cjs +5 -19
- package/dist/chat-ui/messages/message-components.cjs.map +1 -1
- package/dist/chat-ui/messages/message-components.js +5 -19
- package/dist/chat-ui/messages/message-components.js.map +1 -1
- package/dist/chat-ui/messages/runtime-message.cjs +1 -16
- package/dist/chat-ui/messages/runtime-message.cjs.map +1 -1
- package/dist/chat-ui/messages/runtime-message.js +1 -16
- package/dist/chat-ui/messages/runtime-message.js.map +1 -1
- package/dist/chat-ui/messages/statewire-continue-run.cjs +3 -15
- package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -1
- package/dist/chat-ui/messages/statewire-continue-run.js +3 -15
- package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -1
- package/dist/chat-ui/messages/user-edit-composer.cjs +0 -16
- package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -1
- package/dist/chat-ui/messages/user-edit-composer.js +0 -16
- package/dist/chat-ui/messages/user-edit-composer.js.map +1 -1
- package/dist/chat-ui/messages/wake-marker.cjs +1 -16
- package/dist/chat-ui/messages/wake-marker.cjs.map +1 -1
- package/dist/chat-ui/messages/wake-marker.js +1 -16
- package/dist/chat-ui/messages/wake-marker.js.map +1 -1
- package/dist/chat-ui/statewire.cjs +0 -16
- package/dist/chat-ui/statewire.cjs.map +1 -1
- package/dist/chat-ui/statewire.js +0 -16
- package/dist/chat-ui/statewire.js.map +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.cjs +2 -17
- package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.js +2 -17
- package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -1
- package/dist/composer/composer-handoff.cjs +121 -0
- package/dist/composer/composer-handoff.cjs.map +1 -0
- package/dist/composer/composer-handoff.d.ts +89 -0
- package/dist/composer/composer-handoff.js +121 -0
- package/dist/composer/composer-handoff.js.map +1 -0
- package/dist/composer/index.d.ts +2 -0
- package/dist/composer/useAppendToComposer.cjs +19 -7
- package/dist/composer/useAppendToComposer.cjs.map +1 -1
- package/dist/composer/useAppendToComposer.d.ts +22 -4
- package/dist/composer/useAppendToComposer.js +20 -8
- package/dist/composer/useAppendToComposer.js.map +1 -1
- package/dist/composer/useSendMessage.cjs +26 -8
- package/dist/composer/useSendMessage.cjs.map +1 -1
- package/dist/composer/useSendMessage.d.ts +8 -0
- package/dist/composer/useSendMessage.js +27 -9
- package/dist/composer/useSendMessage.js.map +1 -1
- package/dist/diagnostics/athena-diagnostics.cjs.map +1 -1
- package/dist/diagnostics/athena-diagnostics.d.ts +1 -1
- package/dist/diagnostics/athena-diagnostics.js.map +1 -1
- package/dist/diagnostics/errors.cjs +2 -0
- package/dist/diagnostics/errors.cjs.map +1 -1
- package/dist/diagnostics/errors.d.ts +2 -0
- package/dist/diagnostics/errors.js +2 -0
- package/dist/diagnostics/errors.js.map +1 -1
- package/dist/dictation/DictationStrip.cjs +61 -0
- package/dist/dictation/DictationStrip.cjs.map +1 -0
- package/dist/dictation/DictationStrip.d.ts +27 -0
- package/dist/dictation/DictationStrip.js +61 -0
- package/dist/dictation/DictationStrip.js.map +1 -0
- package/dist/dictation/audio-level-history.cjs +68 -0
- package/dist/dictation/audio-level-history.cjs.map +1 -0
- package/dist/dictation/audio-level-history.d.ts +27 -0
- package/dist/dictation/audio-level-history.js +68 -0
- package/dist/dictation/audio-level-history.js.map +1 -0
- package/dist/dictation/dictation-controls.cjs +60 -0
- package/dist/dictation/dictation-controls.cjs.map +1 -0
- package/dist/dictation/dictation-controls.d.ts +15 -0
- package/dist/dictation/dictation-controls.js +60 -0
- package/dist/dictation/dictation-controls.js.map +1 -0
- package/dist/dictation/dictation-engine.cjs +128 -0
- package/dist/dictation/dictation-engine.cjs.map +1 -0
- package/dist/dictation/dictation-engine.d.ts +95 -0
- package/dist/dictation/dictation-engine.js +128 -0
- package/dist/dictation/dictation-engine.js.map +1 -0
- package/dist/dictation/dictation-state.cjs +68 -0
- package/dist/dictation/dictation-state.cjs.map +1 -0
- package/dist/dictation/dictation-state.d.ts +58 -0
- package/dist/dictation/dictation-state.js +68 -0
- package/dist/dictation/dictation-state.js.map +1 -0
- package/dist/dictation/recorded-dictation-engine.cjs +153 -0
- package/dist/dictation/recorded-dictation-engine.cjs.map +1 -0
- package/dist/dictation/recorded-dictation-engine.d.ts +66 -0
- package/dist/dictation/recorded-dictation-engine.js +153 -0
- package/dist/dictation/recorded-dictation-engine.js.map +1 -0
- package/dist/dictation/use-athena-dictation-engine.cjs +64 -0
- package/dist/dictation/use-athena-dictation-engine.cjs.map +1 -0
- package/dist/dictation/use-athena-dictation-engine.d.ts +25 -0
- package/dist/dictation/use-athena-dictation-engine.js +64 -0
- package/dist/dictation/use-athena-dictation-engine.js.map +1 -0
- package/dist/dictation/use-dictation.cjs +215 -0
- package/dist/dictation/use-dictation.cjs.map +1 -0
- package/dist/dictation/use-dictation.d.ts +63 -0
- package/dist/dictation/use-dictation.js +215 -0
- package/dist/dictation/use-dictation.js.map +1 -0
- package/dist/index.cjs +41 -39
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +23 -21
- package/dist/index.js.map +1 -1
- package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/edit-command.js.map +1 -1
- package/dist/packages/agent-runtime/src/errors.cjs +18 -0
- package/dist/packages/agent-runtime/src/errors.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/errors.js +19 -1
- package/dist/packages/agent-runtime/src/errors.js.map +1 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +1 -0
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -1
- package/dist/packages/agent-runtime/src/interrupts.cjs +61 -12
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/interrupts.js +61 -12
- package/dist/packages/agent-runtime/src/interrupts.js.map +1 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +49 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +49 -0
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -1
- package/dist/packages/agent-runtime/src/thread-status.js +1 -1
- package/dist/packages/agent-runtime/src/tool-metadata.cjs +1 -37
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/tool-metadata.js +1 -37
- package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +1 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -1
- package/dist/packages/react/package.json.cjs +1 -1
- package/dist/packages/react/package.json.js +1 -1
- package/dist/provider/AthenaProvider.cjs +45 -20
- package/dist/provider/AthenaProvider.cjs.map +1 -1
- package/dist/provider/AthenaProvider.d.ts +1 -1
- package/dist/provider/AthenaProvider.js +46 -21
- package/dist/provider/AthenaProvider.js.map +1 -1
- package/dist/runtime/statewire-lifecycle.cjs +0 -16
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -1
- package/dist/runtime/statewire-lifecycle.js +0 -16
- package/dist/runtime/statewire-lifecycle.js.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.cjs +3 -17
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.js +3 -17
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/threads/statewire-thread-list.cjs +4 -17
- package/dist/threads/statewire-thread-list.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.js +4 -17
- package/dist/threads/statewire-thread-list.js.map +1 -1
- package/dist/threads/use-rest-conversation-history.cjs +2 -16
- package/dist/threads/use-rest-conversation-history.cjs.map +1 -1
- package/dist/threads/use-rest-conversation-history.js +2 -16
- package/dist/threads/use-rest-conversation-history.js.map +1 -1
- package/dist/threads/use-statewire-conversation-history.cjs +2 -16
- package/dist/threads/use-statewire-conversation-history.cjs.map +1 -1
- package/dist/threads/use-statewire-conversation-history.js +2 -16
- package/dist/threads/use-statewire-conversation-history.js.map +1 -1
- package/dist/toolkits/index.cjs +0 -7
- package/dist/toolkits/index.cjs.map +1 -1
- package/dist/toolkits/index.d.ts +0 -2
- package/dist/toolkits/index.js +0 -7
- package/dist/toolkits/index.js.map +1 -1
- package/dist/tools/index.cjs +4 -20
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.js +1 -17
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/misc-tool-uis.cjs +2 -17
- package/dist/tools/misc-tool-uis.cjs.map +1 -1
- package/dist/tools/misc-tool-uis.js +2 -17
- package/dist/tools/misc-tool-uis.js.map +1 -1
- package/dist/tools/primitives.cjs +1 -16
- package/dist/tools/primitives.cjs.map +1 -1
- package/dist/tools/primitives.js +1 -16
- package/dist/tools/primitives.js.map +1 -1
- package/dist/tools/tool-fallback.cjs +2 -17
- package/dist/tools/tool-fallback.cjs.map +1 -1
- package/dist/tools/tool-fallback.js +2 -17
- package/dist/tools/tool-fallback.js.map +1 -1
- package/dist/tools/voice-update-tool-ui.cjs +1 -17
- package/dist/tools/voice-update-tool-ui.cjs.map +1 -1
- package/dist/tools/voice-update-tool-ui.js +1 -17
- package/dist/tools/voice-update-tool-ui.js.map +1 -1
- package/package.json +1 -1
- package/dist/node_modules/qrcode-generator/dist/qrcode.cjs +0 -32
- package/dist/node_modules/qrcode-generator/dist/qrcode.cjs.map +0 -1
- package/dist/node_modules/qrcode-generator/dist/qrcode.js +0 -31
- package/dist/node_modules/qrcode-generator/dist/qrcode.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/errors.cjs +0 -44
- package/dist/node_modules/zod/v4/classic/errors.cjs.map +0 -1
- package/dist/node_modules/zod/v4/classic/errors.js +0 -44
- package/dist/node_modules/zod/v4/classic/errors.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/iso.cjs +0 -43
- package/dist/node_modules/zod/v4/classic/iso.cjs.map +0 -1
- package/dist/node_modules/zod/v4/classic/iso.js +0 -43
- package/dist/node_modules/zod/v4/classic/iso.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/parse.cjs +0 -29
- package/dist/node_modules/zod/v4/classic/parse.cjs.map +0 -1
- package/dist/node_modules/zod/v4/classic/parse.js +0 -29
- package/dist/node_modules/zod/v4/classic/parse.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/schemas.cjs +0 -871
- package/dist/node_modules/zod/v4/classic/schemas.cjs.map +0 -1
- package/dist/node_modules/zod/v4/classic/schemas.js +0 -871
- package/dist/node_modules/zod/v4/classic/schemas.js.map +0 -1
- package/dist/node_modules/zod/v4/core/api.cjs +0 -570
- package/dist/node_modules/zod/v4/core/api.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/api.js +0 -570
- package/dist/node_modules/zod/v4/core/api.js.map +0 -1
- package/dist/node_modules/zod/v4/core/checks.cjs +0 -411
- package/dist/node_modules/zod/v4/core/checks.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/checks.js +0 -411
- package/dist/node_modules/zod/v4/core/checks.js.map +0 -1
- package/dist/node_modules/zod/v4/core/core.cjs +0 -77
- package/dist/node_modules/zod/v4/core/core.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/core.js +0 -77
- package/dist/node_modules/zod/v4/core/core.js.map +0 -1
- package/dist/node_modules/zod/v4/core/doc.cjs +0 -38
- package/dist/node_modules/zod/v4/core/doc.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/doc.js +0 -38
- package/dist/node_modules/zod/v4/core/doc.js.map +0 -1
- package/dist/node_modules/zod/v4/core/errors.cjs +0 -76
- package/dist/node_modules/zod/v4/core/errors.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/errors.js +0 -76
- package/dist/node_modules/zod/v4/core/errors.js.map +0 -1
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +0 -312
- package/dist/node_modules/zod/v4/core/json-schema-processors.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/json-schema-processors.js +0 -312
- package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +0 -1
- package/dist/node_modules/zod/v4/core/parse.cjs +0 -96
- package/dist/node_modules/zod/v4/core/parse.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/parse.js +0 -96
- package/dist/node_modules/zod/v4/core/parse.js.map +0 -1
- package/dist/node_modules/zod/v4/core/regexes.cjs +0 -86
- package/dist/node_modules/zod/v4/core/regexes.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/regexes.js +0 -86
- package/dist/node_modules/zod/v4/core/regexes.js.map +0 -1
- package/dist/node_modules/zod/v4/core/registries.cjs +0 -52
- package/dist/node_modules/zod/v4/core/registries.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/registries.js +0 -52
- package/dist/node_modules/zod/v4/core/registries.js.map +0 -1
- package/dist/node_modules/zod/v4/core/schemas.cjs +0 -1412
- package/dist/node_modules/zod/v4/core/schemas.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/schemas.js +0 -1413
- package/dist/node_modules/zod/v4/core/schemas.js.map +0 -1
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs +0 -370
- package/dist/node_modules/zod/v4/core/to-json-schema.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/to-json-schema.js +0 -370
- package/dist/node_modules/zod/v4/core/to-json-schema.js.map +0 -1
- package/dist/node_modules/zod/v4/core/util.cjs +0 -444
- package/dist/node_modules/zod/v4/core/util.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/util.js +0 -444
- package/dist/node_modules/zod/v4/core/util.js.map +0 -1
- package/dist/node_modules/zod/v4/core/versions.cjs +0 -9
- package/dist/node_modules/zod/v4/core/versions.cjs.map +0 -1
- package/dist/node_modules/zod/v4/core/versions.js +0 -9
- package/dist/node_modules/zod/v4/core/versions.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-handoff.cjs +0 -85
- package/dist/packages/agent-runtime/src/thread-handoff.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-handoff.js +0 -85
- package/dist/packages/agent-runtime/src/thread-handoff.js.map +0 -1
package/dist/chat/AthenaChat.js
CHANGED
|
@@ -1,21 +1,4 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import "../packages/agent-runtime/src/generated/runconfig-contract.js";
|
|
3
|
-
import { useMemo, useContext, useState, useRef, useEffect, createContext, useCallback } from "react";
|
|
4
|
-
import "@assistant-ui/tap";
|
|
5
|
-
import "statewire";
|
|
6
|
-
import "../packages/agent-runtime/src/statewire-suspended.js";
|
|
7
|
-
import "../packages/agent-runtime/src/conversation-list.js";
|
|
8
|
-
import "@tanstack/react-query";
|
|
9
|
-
import "../packages/agent-runtime/src/statewire-state.js";
|
|
10
|
-
import "../packages/agent-runtime/src/messages.js";
|
|
11
|
-
import "@assistant-ui/store";
|
|
12
|
-
import "../packages/agent-runtime/src/quota-safe-local-storage-session.js";
|
|
13
|
-
import "../packages/agent-runtime/src/statewire-attach-observer.js";
|
|
14
|
-
import "../packages/agent-runtime/src/thread-status.js";
|
|
15
|
-
import "@assistant-ui/react-statewire";
|
|
16
|
-
import { isGithubWakeMessage } from "../packages/agent-runtime/src/github-wake-event.js";
|
|
17
|
-
import "@assistant-ui/core";
|
|
18
|
-
import "../packages/agent-runtime/src/thread-handoff.js";
|
|
19
2
|
import { TiptapText } from "./tiptap-text.js";
|
|
20
3
|
import { AthenaChatErrorBoundary } from "./AthenaChatErrorBoundary.js";
|
|
21
4
|
import { StatewireApprovalCard } from "./StatewireApprovalCard.js";
|
|
@@ -37,17 +20,25 @@ import { ChatThreadShell } from "../chat-ui/thread/chat-thread-shell.js";
|
|
|
37
20
|
import { StatewireHistoryEdge } from "../chat-ui/thread/statewire-history-edge.js";
|
|
38
21
|
import { ThreadLoadingOverlay } from "../chat-ui/thread/thread-loading-overlay.js";
|
|
39
22
|
import { ComposerSendOrStop } from "../chat-ui/thread/composer-send-or-stop.js";
|
|
23
|
+
import { resolveComposerAction } from "../chat-ui/composer/composer-action.js";
|
|
24
|
+
import { athenaDiagnostics } from "../diagnostics/athena-diagnostics.js";
|
|
25
|
+
import { useDictation } from "../dictation/use-dictation.js";
|
|
26
|
+
import { DictationStrip } from "../dictation/DictationStrip.js";
|
|
27
|
+
import { DictationStopButton, DictationMicButton, DictationCancelButton } from "../dictation/dictation-controls.js";
|
|
28
|
+
import { composeDictationDraft, DICTATION_STATUSES } from "../dictation/dictation-state.js";
|
|
29
|
+
import { useAthenaDictationEngine } from "../dictation/use-athena-dictation-engine.js";
|
|
40
30
|
import { TiptapComposer } from "../chat-ui/composer/tiptap-composer.js";
|
|
41
31
|
import { MentionAuthCtx } from "../chat-ui/mentions/suggestions/data/api-client.js";
|
|
42
32
|
import { ACTION_BAR_REVEAL_CLASS, BranchPicker } from "../chat-ui/messages/message-components.js";
|
|
43
33
|
import { useMessageActionsReadOnly } from "../chat-ui/messages/message-actions-config.js";
|
|
44
34
|
import { useAthenaRunLive } from "./use-athena-run-live.js";
|
|
45
35
|
import { DEFAULT_WELCOME_SUGGESTIONS, AthenaChatWelcomeSuggestions, AthenaChatWelcome, welcomeEntrance, welcomeComposerDelayMs } from "./athena-chat-welcome.js";
|
|
46
|
-
import { ATHENA_COMPOSER_COMPONENTS, AthenaComposerMentionButton } from "./athena-composer-controls.js";
|
|
36
|
+
import { AthenaComposerSendButton, ATHENA_COMPOSER_COMPONENTS, AthenaComposerMentionButton } from "./athena-composer-controls.js";
|
|
47
37
|
import { useComposerKeyboardHint, ComposerKeyboardHint } from "./composer-keyboard-hint.js";
|
|
48
38
|
import { usePrefersReducedMotion } from "../lib/use-prefers-reduced-motion.js";
|
|
49
39
|
import { useAuiState, ActionBarPrimitive, ActionBarMorePrimitive, MessagePrimitive, ThreadPrimitive, AuiIf, ErrorPrimitive, useAui } from "@assistant-ui/react";
|
|
50
40
|
import { MoreHorizontalIcon, DownloadIcon, ExternalLinkIcon, BrainIcon, ChevronRightIcon, CheckIcon, CopyIcon, RefreshCwIcon, AlertCircleIcon, ArrowUpIcon, PencilIcon } from "lucide-react";
|
|
41
|
+
import { useMemo, useContext, useState, useRef, useEffect, createContext, useCallback } from "react";
|
|
51
42
|
import { useAthenaThreadId, AthenaStatewireThreadIdContext, useAthenaStatewireThreadId } from "../threads/thread-id-context.js";
|
|
52
43
|
import { FileUploadButton } from "../composer/FileUploadButton.js";
|
|
53
44
|
import { ComposerQuotePreview } from "../composer/ComposerQuotePreview.js";
|
|
@@ -64,6 +55,7 @@ import { getToolkitDisplayInfo } from "../toolkits/index.js";
|
|
|
64
55
|
import { runActivityKey, runActivityVerb, RUN_ACTIVITY_COUNTER_SECONDS, runActivityLabel, RUN_ACTIVITY_STALL_SECONDS } from "./run-activity.js";
|
|
65
56
|
import { readMessageCreatedAt, parseMessageTime, isSameCalendarDay, formatDayLabel, formatMessageTime, formatMessageDateTime } from "./message-time.js";
|
|
66
57
|
import { ThreadScrollToBottom } from "./thread-scroll-to-bottom.js";
|
|
58
|
+
import { isGithubWakeMessage } from "../packages/agent-runtime/src/github-wake-event.js";
|
|
67
59
|
import { cn } from "cnfast";
|
|
68
60
|
function QuotePostMessageBridge() {
|
|
69
61
|
useQuoteFromPostMessage();
|
|
@@ -142,7 +134,9 @@ const AthenaChat = ({
|
|
|
142
134
|
mentionTools,
|
|
143
135
|
welcomeSuggestions = DEFAULT_WELCOME_SUGGESTIONS,
|
|
144
136
|
components,
|
|
145
|
-
groupToolCalls = true
|
|
137
|
+
groupToolCalls = true,
|
|
138
|
+
composer: composerSlots,
|
|
139
|
+
dictation = true
|
|
146
140
|
}) => {
|
|
147
141
|
var _a, _b, _c;
|
|
148
142
|
const athenaConfig = useAthenaConfig();
|
|
@@ -250,6 +244,8 @@ const AthenaChat = ({
|
|
|
250
244
|
AthenaChatComposer,
|
|
251
245
|
{
|
|
252
246
|
tools,
|
|
247
|
+
slots: composerSlots,
|
|
248
|
+
dictation,
|
|
253
249
|
welcomeSuggestionCount: welcomeSuggestions.length
|
|
254
250
|
}
|
|
255
251
|
) })
|
|
@@ -308,7 +304,7 @@ const ATHENA_CHAT_MENTION_CATEGORIES = [
|
|
|
308
304
|
"projects",
|
|
309
305
|
"folders"
|
|
310
306
|
];
|
|
311
|
-
const AthenaChatComposer = ({ tools, welcomeSuggestionCount }) => {
|
|
307
|
+
const AthenaChatComposer = ({ tools, slots, dictation, welcomeSuggestionCount }) => {
|
|
312
308
|
const aui = useAui();
|
|
313
309
|
const threadId = useAthenaStatewireThreadId();
|
|
314
310
|
const { appUrl } = useAthenaConfig();
|
|
@@ -317,6 +313,10 @@ const AthenaChatComposer = ({ tools, welcomeSuggestionCount }) => {
|
|
|
317
313
|
const { attachFiles } = useAttachFiles();
|
|
318
314
|
const composerRef = useRef(null);
|
|
319
315
|
const [hasText, setHasText] = useState(false);
|
|
316
|
+
const isRunning = useAuiState((state) => {
|
|
317
|
+
var _a;
|
|
318
|
+
return ((_a = state.optional.thread) == null ? void 0 : _a.isRunning) ?? false;
|
|
319
|
+
});
|
|
320
320
|
const [dragActive, setDragActive] = useState(false);
|
|
321
321
|
const keyboardHint = useComposerKeyboardHint();
|
|
322
322
|
const reducedMotion = usePrefersReducedMotion();
|
|
@@ -326,6 +326,29 @@ const AthenaChatComposer = ({ tools, welcomeSuggestionCount }) => {
|
|
|
326
326
|
welcomeComposerDelayMs(welcomeSuggestionCount),
|
|
327
327
|
reducedMotion || !mountedEmpty
|
|
328
328
|
);
|
|
329
|
+
const dictationEnabled = dictation !== false;
|
|
330
|
+
const dictationOptions = typeof dictation === "object" ? dictation : void 0;
|
|
331
|
+
const appendSpokenText = useCallback(
|
|
332
|
+
(spoken) => {
|
|
333
|
+
if (!spoken) return;
|
|
334
|
+
aui.composer.setText(composeDictationDraft(aui.composer.getState().text ?? "", spoken));
|
|
335
|
+
},
|
|
336
|
+
[aui]
|
|
337
|
+
);
|
|
338
|
+
const dictationEngine = useAthenaDictationEngine(dictationOptions == null ? void 0 : dictationOptions.engine);
|
|
339
|
+
const dictationCtl = useDictation({
|
|
340
|
+
engine: dictationEngine,
|
|
341
|
+
lang: dictationOptions == null ? void 0 : dictationOptions.lang,
|
|
342
|
+
// A recognizer that gives up on its own (silence window) still hands
|
|
343
|
+
// over what it heard instead of dropping the words with the session.
|
|
344
|
+
onAutoEnd: appendSpokenText
|
|
345
|
+
});
|
|
346
|
+
const recording = dictationEnabled && dictationCtl.isActive;
|
|
347
|
+
const showMic = dictationEnabled && dictationCtl.isSupported;
|
|
348
|
+
const { isActive: dictationActive, cancel: cancelDictation } = dictationCtl;
|
|
349
|
+
useEffect(() => {
|
|
350
|
+
if (!dictationEnabled && dictationActive) cancelDictation();
|
|
351
|
+
}, [cancelDictation, dictationActive, dictationEnabled]);
|
|
329
352
|
const rootCategories = useMemo(() => {
|
|
330
353
|
const categories = [...ATHENA_CHAT_MENTION_CATEGORIES];
|
|
331
354
|
if (tools.some((tool) => tool.type === "toolkit")) categories.push("toolkits");
|
|
@@ -381,6 +404,40 @@ const AthenaChatComposer = ({ tools, welcomeSuggestionCount }) => {
|
|
|
381
404
|
}),
|
|
382
405
|
[attachFiles]
|
|
383
406
|
);
|
|
407
|
+
const stopDictation = useCallback(async () => {
|
|
408
|
+
appendSpokenText((await dictationCtl.stop()).text);
|
|
409
|
+
}, [appendSpokenText, dictationCtl]);
|
|
410
|
+
const sendDictation = useCallback(async () => {
|
|
411
|
+
var _a;
|
|
412
|
+
const { text: spoken, error } = await dictationCtl.stop();
|
|
413
|
+
const text = composeDictationDraft(aui.composer.getState().text ?? "", spoken);
|
|
414
|
+
if (error) {
|
|
415
|
+
aui.composer.setText(text);
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
const extras = attachmentsRef.current.length > 0 || quoteRef.current !== null;
|
|
419
|
+
if (!text && !extras) return;
|
|
420
|
+
aui.composer.setText(text);
|
|
421
|
+
const action = resolveComposerAction({ hasDraft: true, isRunning });
|
|
422
|
+
if (action === "stop") return;
|
|
423
|
+
try {
|
|
424
|
+
await ((_a = slots == null ? void 0 : slots.onBeforeSend) == null ? void 0 : _a.call(slots, { action }));
|
|
425
|
+
} catch (error2) {
|
|
426
|
+
athenaDiagnostics.emit("composer.dictation", {
|
|
427
|
+
level: "warn",
|
|
428
|
+
data: {
|
|
429
|
+
phase: "before_send_rejected",
|
|
430
|
+
error: error2 instanceof Error ? error2.message : String(error2)
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
return;
|
|
434
|
+
}
|
|
435
|
+
if (extras) {
|
|
436
|
+
sendComposed(text);
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
aui.composer.send({ steer: false });
|
|
440
|
+
}, [aui, dictationCtl, isRunning, sendComposed, slots]);
|
|
384
441
|
return /* @__PURE__ */ jsx(ComposerDropZone, { onDragActiveChange: setDragActive, children: /* @__PURE__ */ jsx(
|
|
385
442
|
"div",
|
|
386
443
|
{
|
|
@@ -397,23 +454,35 @@ const AthenaChatComposer = ({ tools, welcomeSuggestionCount }) => {
|
|
|
397
454
|
/* @__PURE__ */ jsx(ComposerQuotePreview, {}),
|
|
398
455
|
/* @__PURE__ */ jsx(ComposerAttachmentPreview, {})
|
|
399
456
|
] }),
|
|
400
|
-
editor: /* @__PURE__ */
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
457
|
+
editor: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
458
|
+
/* @__PURE__ */ jsx("div", { className: cn(recording && "hidden"), children: /* @__PURE__ */ jsx(
|
|
459
|
+
TiptapComposer,
|
|
460
|
+
{
|
|
461
|
+
ref: composerRef,
|
|
462
|
+
threadId,
|
|
463
|
+
appearance: "paper",
|
|
464
|
+
placeholder: "Type @ to tag an asset",
|
|
465
|
+
tools,
|
|
466
|
+
rootCategories,
|
|
467
|
+
onDraftStateChange: setHasText,
|
|
468
|
+
waitForHostUploads,
|
|
469
|
+
interceptSubmit,
|
|
470
|
+
fileIntake,
|
|
471
|
+
onSubmitted: keyboardHint.onSubmitted
|
|
472
|
+
}
|
|
473
|
+
) }),
|
|
474
|
+
recording && /* @__PURE__ */ jsx(
|
|
475
|
+
DictationStrip,
|
|
476
|
+
{
|
|
477
|
+
status: dictationCtl.status,
|
|
478
|
+
transcript: dictationCtl.transcript,
|
|
479
|
+
stream: dictationCtl.stream,
|
|
480
|
+
stoppingLabel: dictationCtl.engine.stoppingLabel
|
|
481
|
+
}
|
|
482
|
+
),
|
|
483
|
+
dictationEnabled && dictationCtl.status === DICTATION_STATUSES.error && dictationCtl.error && /* @__PURE__ */ jsx("p", { className: "aui-dictation-error px-1.5 pb-1 text-destructive text-xs", role: "alert", children: dictationCtl.error.message })
|
|
484
|
+
] }),
|
|
485
|
+
toolbarStart: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: recording ? /* @__PURE__ */ jsx(DictationCancelButton, { onClick: dictationCtl.cancel }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
417
486
|
/* @__PURE__ */ jsx(FileUploadButton, { className: "aui-composer-attach size-8 rounded-full p-0 disabled:opacity-30" }),
|
|
418
487
|
/* @__PURE__ */ jsx(
|
|
419
488
|
AthenaComposerMentionButton,
|
|
@@ -423,17 +492,40 @@ const AthenaChatComposer = ({ tools, welcomeSuggestionCount }) => {
|
|
|
423
492
|
return (_b = (_a = composerRef.current) == null ? void 0 : _a.openMentionMenu) == null ? void 0 : _b.call(_a);
|
|
424
493
|
}
|
|
425
494
|
}
|
|
495
|
+
),
|
|
496
|
+
slots == null ? void 0 : slots.toolbarStart
|
|
497
|
+
] }) }),
|
|
498
|
+
toolbarEnd: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: recording ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
499
|
+
/* @__PURE__ */ jsx(
|
|
500
|
+
DictationStopButton,
|
|
501
|
+
{
|
|
502
|
+
onClick: () => void stopDictation(),
|
|
503
|
+
disabled: dictationCtl.status === DICTATION_STATUSES.stopping
|
|
504
|
+
}
|
|
505
|
+
),
|
|
506
|
+
/* @__PURE__ */ jsx(
|
|
507
|
+
AthenaComposerSendButton,
|
|
508
|
+
{
|
|
509
|
+
action: isRunning ? "queue" : "send",
|
|
510
|
+
onSend: () => void sendDictation(),
|
|
511
|
+
disabled: dictationCtl.status !== DICTATION_STATUSES.listening || isUploading,
|
|
512
|
+
title: isUploading ? "Upload in progress..." : void 0
|
|
513
|
+
}
|
|
426
514
|
)
|
|
427
|
-
] }),
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
515
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
516
|
+
slots == null ? void 0 : slots.toolbarEnd,
|
|
517
|
+
showMic && /* @__PURE__ */ jsx(DictationMicButton, { onClick: dictationCtl.start, disabled: isUploading }),
|
|
518
|
+
/* @__PURE__ */ jsx(
|
|
519
|
+
ComposerSendOrStop,
|
|
520
|
+
{
|
|
521
|
+
composerRef,
|
|
522
|
+
hasDraft: hasText || hasExtras,
|
|
523
|
+
sendBlockedReason: isUploading ? "Upload in progress..." : null,
|
|
524
|
+
onBeforeSend: slots == null ? void 0 : slots.onBeforeSend,
|
|
525
|
+
components: ATHENA_COMPOSER_COMPONENTS
|
|
526
|
+
}
|
|
527
|
+
)
|
|
528
|
+
] }) }),
|
|
437
529
|
belowSurface: /* @__PURE__ */ jsx(ComposerKeyboardHint, { visible: keyboardHint.visible })
|
|
438
530
|
}
|
|
439
531
|
)
|