@athenaintel/react 0.28.1 → 0.30.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 +418 -10
- package/dist/agent-runtime/src/asset-attachment.cjs.map +1 -0
- package/dist/agent-runtime/src/asset-attachment.js.map +1 -0
- package/dist/agent-runtime/src/auth-denial.cjs.map +1 -0
- package/dist/agent-runtime/src/auth-denial.js.map +1 -0
- package/dist/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
- package/dist/agent-runtime/src/client-tool-bridge.js.map +1 -0
- package/dist/agent-runtime/src/client-tools.cjs.map +1 -0
- package/dist/agent-runtime/src/client-tools.js.map +1 -0
- package/dist/agent-runtime/src/composer-markdown.cjs +124 -0
- package/dist/agent-runtime/src/composer-markdown.cjs.map +1 -0
- package/dist/agent-runtime/src/composer-markdown.js +124 -0
- package/dist/agent-runtime/src/composer-markdown.js.map +1 -0
- package/dist/agent-runtime/src/conversation-index.cjs.map +1 -0
- package/dist/agent-runtime/src/conversation-index.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.cjs +36 -0
- package/dist/agent-runtime/src/conversation-list.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.js +36 -0
- package/dist/agent-runtime/src/conversation-list.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.cjs +5 -3
- package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.js +6 -4
- package/dist/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
- package/dist/agent-runtime/src/edit-command.cjs.map +1 -0
- package/dist/agent-runtime/src/edit-command.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/errors.cjs +23 -0
- package/dist/agent-runtime/src/errors.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/errors.js +23 -0
- package/dist/agent-runtime/src/errors.js.map +1 -0
- package/dist/agent-runtime/src/execute-output.cjs +41 -0
- package/dist/agent-runtime/src/execute-output.cjs.map +1 -0
- package/dist/agent-runtime/src/execute-output.js +41 -0
- package/dist/agent-runtime/src/execute-output.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.cjs +10 -2
- package/dist/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.js +10 -2
- package/dist/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
- package/dist/agent-runtime/src/github-wake-event.cjs.map +1 -0
- package/dist/agent-runtime/src/github-wake-event.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.cjs +24 -1
- package/dist/agent-runtime/src/interrupts.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.js +24 -1
- package/dist/agent-runtime/src/interrupts.js.map +1 -0
- package/dist/agent-runtime/src/message-author.cjs.map +1 -0
- package/dist/agent-runtime/src/message-author.js.map +1 -0
- package/dist/agent-runtime/src/message-window.cjs.map +1 -0
- package/dist/agent-runtime/src/message-window.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/messages.cjs +8 -4
- package/dist/agent-runtime/src/messages.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/messages.js +6 -2
- package/dist/agent-runtime/src/messages.js.map +1 -0
- package/dist/agent-runtime/src/model-context.cjs.map +1 -0
- package/dist/agent-runtime/src/model-context.js.map +1 -0
- package/dist/agent-runtime/src/optimistic-content.cjs.map +1 -0
- package/dist/agent-runtime/src/optimistic-content.js.map +1 -0
- package/dist/agent-runtime/src/protocol.cjs.map +1 -0
- package/dist/agent-runtime/src/protocol.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/queue.cjs +23 -2
- package/dist/agent-runtime/src/queue.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/queue.js +23 -2
- package/dist/agent-runtime/src/queue.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.cjs +23 -13
- package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.js +24 -14
- package/dist/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
- package/dist/agent-runtime/src/runtime-messages.cjs.map +1 -0
- package/dist/agent-runtime/src/runtime-messages.js.map +1 -0
- package/dist/agent-runtime/src/screen-point.cjs.map +1 -0
- package/dist/agent-runtime/src/screen-point.js.map +1 -0
- package/dist/agent-runtime/src/send-recovery.cjs.map +1 -0
- package/dist/agent-runtime/src/send-recovery.js.map +1 -0
- package/dist/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
- package/dist/agent-runtime/src/statewire-attach-observer.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.cjs +8 -0
- package/dist/agent-runtime/src/statewire-state.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.js +8 -0
- package/dist/agent-runtime/src/statewire-state.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.cjs +4 -0
- package/dist/agent-runtime/src/statewire-suspended.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.js +4 -0
- package/dist/agent-runtime/src/statewire-suspended.js.map +1 -0
- package/dist/agent-runtime/src/statewire-transport.cjs +43 -0
- package/dist/agent-runtime/src/statewire-transport.cjs.map +1 -0
- package/dist/agent-runtime/src/statewire-transport.js +43 -0
- package/dist/agent-runtime/src/statewire-transport.js.map +1 -0
- package/dist/agent-runtime/src/streaming-markdown.cjs.map +1 -0
- package/dist/agent-runtime/src/streaming-markdown.js.map +1 -0
- package/dist/agent-runtime/src/subscription-wake-event.cjs +252 -0
- package/dist/agent-runtime/src/subscription-wake-event.cjs.map +1 -0
- package/dist/agent-runtime/src/subscription-wake-event.js +252 -0
- package/dist/agent-runtime/src/subscription-wake-event.js.map +1 -0
- package/dist/agent-runtime/src/thread-extras.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-extras.js.map +1 -0
- package/dist/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
- package/dist/agent-runtime/src/thread-status.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-status.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.cjs +279 -3
- package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.js +279 -3
- package/dist/agent-runtime/src/tool-metadata.js.map +1 -0
- package/dist/agent-runtime/src/tool-names.cjs +5 -0
- package/dist/agent-runtime/src/tool-names.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-names.js +5 -0
- package/dist/agent-runtime/src/tool-names.js.map +1 -0
- package/dist/agent-runtime/src/tool-outputs.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-outputs.js.map +1 -0
- package/dist/agent-runtime/src/tool-result.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-result.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.cjs +33 -22
- package/dist/agent-runtime/src/use-conversation-list.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.js +34 -23
- package/dist/agent-runtime/src/use-conversation-list.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-config.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.cjs +2 -0
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.js +2 -0
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.cjs +1 -0
- package/dist/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.js +2 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs +52 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs.map +1 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.js +52 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.cjs +14 -0
- package/dist/agent-runtime/src/voice-presentation.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.js +14 -0
- package/dist/agent-runtime/src/voice-presentation.js.map +1 -0
- package/dist/agent-runtime/src/voice-turn-grouping.cjs.map +1 -0
- package/dist/agent-runtime/src/voice-turn-grouping.js.map +1 -0
- package/dist/assets/AthenaAssetEmbed.cjs +8 -2
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
- package/dist/assets/AthenaAssetEmbed.d.ts +8 -0
- package/dist/assets/AthenaAssetEmbed.js +8 -2
- package/dist/assets/AthenaAssetEmbed.js.map +1 -1
- package/dist/assets/AthenaLayout.cjs +97 -31
- package/dist/assets/AthenaLayout.cjs.map +1 -1
- package/dist/assets/AthenaLayout.d.ts +13 -0
- package/dist/assets/AthenaLayout.js +98 -32
- package/dist/assets/AthenaLayout.js.map +1 -1
- package/dist/assets/asset-embed-messages.cjs.map +1 -1
- package/dist/assets/asset-embed-messages.d.ts +6 -0
- package/dist/assets/asset-embed-messages.js.map +1 -1
- package/dist/assets/asset-panel-store.cjs +68 -32
- package/dist/assets/asset-panel-store.cjs.map +1 -1
- package/dist/assets/asset-panel-store.d.ts +47 -1
- package/dist/assets/asset-panel-store.js +68 -32
- package/dist/assets/asset-panel-store.js.map +1 -1
- package/dist/assets/use-asset-embed.cjs +29 -8
- package/dist/assets/use-asset-embed.cjs.map +1 -1
- package/dist/assets/use-asset-embed.d.ts +7 -0
- package/dist/assets/use-asset-embed.js +29 -8
- package/dist/assets/use-asset-embed.js.map +1 -1
- package/dist/catalog/chat-pickers.cjs +152 -0
- package/dist/catalog/chat-pickers.cjs.map +1 -0
- package/dist/catalog/chat-pickers.d.ts +22 -0
- package/dist/catalog/chat-pickers.js +152 -0
- package/dist/catalog/chat-pickers.js.map +1 -0
- package/dist/catalog/runtime-catalog.cjs +181 -0
- package/dist/catalog/runtime-catalog.cjs.map +1 -0
- package/dist/catalog/runtime-catalog.d.ts +100 -0
- package/dist/catalog/runtime-catalog.js +181 -0
- package/dist/catalog/runtime-catalog.js.map +1 -0
- package/dist/chat/AthenaChat.cjs +86 -46
- package/dist/chat/AthenaChat.cjs.map +1 -1
- package/dist/chat/AthenaChat.d.ts +21 -4
- package/dist/chat/AthenaChat.js +88 -48
- package/dist/chat/AthenaChat.js.map +1 -1
- package/dist/chat/StatewireApprovalCard.cjs +38 -37
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
- package/dist/chat/StatewireApprovalCard.d.ts +2 -0
- package/dist/chat/StatewireApprovalCard.js +39 -38
- package/dist/chat/StatewireApprovalCard.js.map +1 -1
- package/dist/chat/StatewireClientToolBridge.cjs +2 -2
- package/dist/chat/StatewireClientToolBridge.js +2 -2
- package/dist/chat/StatewireQueuedMessages.cjs +15 -12
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
- package/dist/chat/StatewireQueuedMessages.d.ts +22 -2
- package/dist/chat/StatewireQueuedMessages.js +15 -12
- package/dist/chat/StatewireQueuedMessages.js.map +1 -1
- package/dist/chat/StatewireRunRefusalNotice.cjs +48 -0
- package/dist/chat/StatewireRunRefusalNotice.cjs.map +1 -0
- package/dist/chat/StatewireRunRefusalNotice.d.ts +25 -0
- package/dist/chat/StatewireRunRefusalNotice.js +48 -0
- package/dist/chat/StatewireRunRefusalNotice.js.map +1 -0
- package/dist/chat/WaitingOnYouBanner.cjs +2 -2
- package/dist/chat/WaitingOnYouBanner.js +2 -2
- package/dist/chat/athena-citation-links.cjs +19 -15
- package/dist/chat/athena-citation-links.cjs.map +1 -1
- package/dist/chat/athena-citation-links.js +19 -15
- package/dist/chat/athena-citation-links.js.map +1 -1
- package/dist/chat/run-activity.cjs +9 -1
- package/dist/chat/run-activity.cjs.map +1 -1
- package/dist/chat/run-activity.d.ts +6 -0
- package/dist/chat/run-activity.js +10 -2
- package/dist/chat/run-activity.js.map +1 -1
- package/dist/chat/statewire-banners.cjs +30 -1
- package/dist/chat/statewire-banners.cjs.map +1 -1
- package/dist/chat/statewire-banners.d.ts +20 -1
- package/dist/chat/statewire-banners.js +32 -3
- package/dist/chat/statewire-banners.js.map +1 -1
- package/dist/chat/statewire-client-tools.cjs +1 -1
- package/dist/chat/statewire-client-tools.js +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.cjs +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.js +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.cjs +7 -5
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +8 -2
- package/dist/chat/super-grouping/SuperGroupingCard.js +7 -5
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs +350 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.d.ts +31 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.js +350 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.js.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs +13 -2
- package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -1
- package/dist/chat/super-grouping/ToolTimeline.d.ts +10 -3
- package/dist/chat/super-grouping/ToolTimeline.js +13 -2
- package/dist/chat/super-grouping/ToolTimeline.js.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.cjs +51 -26
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.d.ts +40 -8
- package/dist/chat/super-grouping/activity-timeline.js +52 -27
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -1
- package/dist/chat/super-grouping/index.cjs +12 -0
- package/dist/chat/super-grouping/index.cjs.map +1 -1
- package/dist/chat/super-grouping/index.d.ts +7 -2
- package/dist/chat/super-grouping/index.js +14 -2
- package/dist/chat/super-grouping/index.js.map +1 -1
- package/dist/chat/super-grouping/timeline-step.cjs +14 -5
- package/dist/chat/super-grouping/timeline-step.cjs.map +1 -1
- package/dist/chat/super-grouping/timeline-step.d.ts +10 -1
- package/dist/chat/super-grouping/timeline-step.js +15 -6
- package/dist/chat/super-grouping/timeline-step.js.map +1 -1
- package/dist/chat/super-grouping/turn-segments.cjs +82 -0
- package/dist/chat/super-grouping/turn-segments.cjs.map +1 -0
- package/dist/chat/super-grouping/turn-segments.d.ts +69 -0
- package/dist/chat/super-grouping/turn-segments.js +82 -0
- package/dist/chat/super-grouping/turn-segments.js.map +1 -0
- package/dist/chat/super-grouping/turn-timing.cjs +110 -0
- package/dist/chat/super-grouping/turn-timing.cjs.map +1 -0
- package/dist/chat/super-grouping/turn-timing.d.ts +52 -0
- package/dist/chat/super-grouping/turn-timing.js +110 -0
- package/dist/chat/super-grouping/turn-timing.js.map +1 -0
- package/dist/chat/tiptap-text.cjs +1 -1
- package/dist/chat/tiptap-text.js +1 -1
- package/dist/chat/use-athena-run-live.cjs +1 -1
- package/dist/chat/use-athena-run-live.js +1 -1
- package/dist/chat/use-statewire-approval-request.cjs +73 -4
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -1
- package/dist/chat/use-statewire-approval-request.js +74 -5
- package/dist/chat/use-statewire-approval-request.js.map +1 -1
- package/dist/chat-ui/composer/composer-message.cjs +284 -0
- package/dist/chat-ui/composer/composer-message.cjs.map +1 -0
- package/dist/chat-ui/composer/composer-message.d.ts +152 -0
- package/dist/chat-ui/composer/composer-message.js +284 -0
- package/dist/chat-ui/composer/composer-message.js.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs +57 -11
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.d.ts +34 -6
- package/dist/chat-ui/composer/tiptap-composer.js +57 -11
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
- package/dist/chat-ui/index.cjs +4 -1
- package/dist/chat-ui/index.cjs.map +1 -1
- package/dist/chat-ui/index.d.ts +3 -2
- package/dist/chat-ui/index.js +5 -2
- package/dist/chat-ui/index.js.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs +3 -2
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.js +4 -3
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.cjs +8 -2
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.js +8 -2
- package/dist/chat-ui/mentions/mention-extension.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +3 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +3 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +65 -19
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +15 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +67 -21
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +4 -2
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +2 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +5 -3
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -1
- package/dist/chat-ui/messages/message-components.cjs +30 -10
- package/dist/chat-ui/messages/message-components.cjs.map +1 -1
- package/dist/chat-ui/messages/message-components.d.ts +21 -1
- package/dist/chat-ui/messages/message-components.js +30 -10
- package/dist/chat-ui/messages/message-components.js.map +1 -1
- package/dist/chat-ui/messages/runtime-message.cjs +1 -1
- package/dist/chat-ui/messages/runtime-message.js +1 -1
- package/dist/chat-ui/messages/statewire-continue-run.cjs +5 -5
- package/dist/chat-ui/messages/statewire-continue-run.js +5 -5
- package/dist/chat-ui/messages/user-edit-composer.cjs +1 -1
- package/dist/chat-ui/messages/user-edit-composer.js +1 -1
- package/dist/chat-ui/messages/wake-marker.cjs +39 -4
- package/dist/chat-ui/messages/wake-marker.cjs.map +1 -1
- package/dist/chat-ui/messages/wake-marker.d.ts +16 -5
- package/dist/chat-ui/messages/wake-marker.js +40 -5
- package/dist/chat-ui/messages/wake-marker.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-message-body.cjs +12 -8
- package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-message-body.d.ts +6 -1
- package/dist/chat-ui/rich-text/chat-message-body.js +13 -9
- package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-text-schema.cjs +64 -6
- package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-text-schema.d.ts +5 -0
- package/dist/chat-ui/rich-text/chat-text-schema.js +66 -8
- package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -1
- package/dist/chat-ui/statewire.cjs +1 -1
- package/dist/chat-ui/statewire.d.ts +1 -1
- package/dist/chat-ui/statewire.js +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.cjs +2 -2
- package/dist/chat-ui/thread/statewire-history-edge.js +2 -2
- package/dist/collab/client.cjs +218 -13
- package/dist/collab/client.cjs.map +1 -1
- package/dist/collab/client.d.ts +105 -2
- package/dist/collab/client.js +221 -17
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/index.cjs +2 -0
- package/dist/collab/index.cjs.map +1 -1
- package/dist/collab/index.d.ts +1 -1
- package/dist/collab/index.js +3 -1
- package/dist/composer/AttachmentContext.cjs +38 -12
- package/dist/composer/AttachmentContext.cjs.map +1 -1
- package/dist/composer/AttachmentContext.d.ts +22 -1
- package/dist/composer/AttachmentContext.js +40 -14
- package/dist/composer/AttachmentContext.js.map +1 -1
- package/dist/composer/QuoteContext.cjs +80 -28
- package/dist/composer/QuoteContext.cjs.map +1 -1
- package/dist/composer/QuoteContext.d.ts +35 -6
- package/dist/composer/QuoteContext.js +82 -30
- package/dist/composer/QuoteContext.js.map +1 -1
- package/dist/composer/build-composed-message.cjs +27 -0
- package/dist/composer/build-composed-message.cjs.map +1 -1
- package/dist/composer/build-composed-message.d.ts +21 -0
- package/dist/composer/build-composed-message.js +28 -1
- package/dist/composer/build-composed-message.js.map +1 -1
- package/dist/composer/composer-handoff.cjs +13 -1
- package/dist/composer/composer-handoff.cjs.map +1 -1
- package/dist/composer/composer-handoff.d.ts +12 -0
- package/dist/composer/composer-handoff.js +15 -3
- package/dist/composer/composer-handoff.js.map +1 -1
- package/dist/composer/index.d.ts +6 -3
- package/dist/composer/useReadComposerDraft.cjs +16 -0
- package/dist/composer/useReadComposerDraft.cjs.map +1 -0
- package/dist/composer/useReadComposerDraft.d.ts +6 -0
- package/dist/composer/useReadComposerDraft.js +16 -0
- package/dist/composer/useReadComposerDraft.js.map +1 -0
- package/dist/diagnostics/errors.cjs +6 -0
- package/dist/diagnostics/errors.cjs.map +1 -1
- package/dist/diagnostics/errors.d.ts +6 -0
- package/dist/diagnostics/errors.js +6 -0
- package/dist/diagnostics/errors.js.map +1 -1
- package/dist/index.cjs +159 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +53 -12
- package/dist/index.js +166 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/owner-document.cjs +32 -0
- package/dist/lib/owner-document.cjs.map +1 -0
- package/dist/lib/owner-document.d.ts +17 -0
- package/dist/lib/owner-document.js +32 -0
- package/dist/lib/owner-document.js.map +1 -0
- package/dist/lib/portal-surface.cjs +55 -0
- package/dist/lib/portal-surface.cjs.map +1 -0
- package/dist/lib/portal-surface.d.ts +37 -0
- package/dist/lib/portal-surface.js +55 -0
- package/dist/lib/portal-surface.js.map +1 -0
- package/dist/lib/use-athena-rest-query.cjs +34 -0
- package/dist/lib/use-athena-rest-query.cjs.map +1 -0
- package/dist/lib/use-athena-rest-query.d.ts +31 -0
- package/dist/lib/use-athena-rest-query.js +34 -0
- package/dist/lib/use-athena-rest-query.js.map +1 -0
- package/dist/provider/AthenaProvider.cjs +36 -6
- package/dist/provider/AthenaProvider.cjs.map +1 -1
- package/dist/provider/AthenaProvider.d.ts +20 -1
- package/dist/provider/AthenaProvider.js +38 -8
- package/dist/provider/AthenaProvider.js.map +1 -1
- package/dist/provider/citation-links.d.ts +10 -2
- package/dist/{packages/react → react}/package.json.cjs +1 -1
- package/dist/{packages/react → react}/package.json.js +1 -1
- package/dist/runtime/statewire-lifecycle.cjs +15 -3
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -1
- package/dist/runtime/statewire-lifecycle.d.ts +6 -0
- package/dist/runtime/statewire-lifecycle.js +15 -3
- package/dist/runtime/statewire-lifecycle.js.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.cjs +11 -7
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.js +11 -7
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
- package/dist/search/useAthenaRepoSearch.cjs +5 -13
- package/dist/search/useAthenaRepoSearch.cjs.map +1 -1
- package/dist/search/useAthenaRepoSearch.d.ts +3 -3
- package/dist/search/useAthenaRepoSearch.js +6 -14
- package/dist/search/useAthenaRepoSearch.js.map +1 -1
- package/dist/sheet-range/a1.cjs +162 -0
- package/dist/sheet-range/a1.cjs.map +1 -0
- package/dist/sheet-range/a1.d.ts +91 -0
- package/dist/sheet-range/a1.js +162 -0
- package/dist/sheet-range/a1.js.map +1 -0
- package/dist/sheet-range/index.cjs +22 -0
- package/dist/sheet-range/index.cjs.map +1 -0
- package/dist/sheet-range/index.d.ts +12 -0
- package/dist/sheet-range/index.js +22 -0
- package/dist/sheet-range/index.js.map +1 -0
- package/dist/sheet-range/range-preview-table.cjs +75 -0
- package/dist/sheet-range/range-preview-table.cjs.map +1 -0
- package/dist/sheet-range/range-preview-table.d.ts +20 -0
- package/dist/sheet-range/range-preview-table.js +75 -0
- package/dist/sheet-range/range-preview-table.js.map +1 -0
- package/dist/sheet-range/range-preview.cjs +116 -0
- package/dist/sheet-range/range-preview.cjs.map +1 -0
- package/dist/sheet-range/range-preview.d.ts +67 -0
- package/dist/sheet-range/range-preview.js +116 -0
- package/dist/sheet-range/range-preview.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/threads/Inbox.cjs +289 -0
- package/dist/threads/Inbox.cjs.map +1 -0
- package/dist/threads/Inbox.d.ts +46 -0
- package/dist/threads/Inbox.js +289 -0
- package/dist/threads/Inbox.js.map +1 -0
- package/dist/threads/SessionList.cjs +51 -126
- package/dist/threads/SessionList.cjs.map +1 -1
- package/dist/threads/SessionList.d.ts +26 -1
- package/dist/threads/SessionList.js +45 -120
- package/dist/threads/SessionList.js.map +1 -1
- package/dist/threads/SessionsPage.cjs +753 -0
- package/dist/threads/SessionsPage.cjs.map +1 -0
- package/dist/threads/SessionsPage.d.ts +35 -0
- package/dist/threads/SessionsPage.js +753 -0
- package/dist/threads/SessionsPage.js.map +1 -0
- package/dist/threads/api.cjs +21 -1
- package/dist/threads/api.cjs.map +1 -1
- package/dist/threads/api.d.ts +59 -0
- package/dist/threads/api.js +21 -1
- package/dist/threads/api.js.map +1 -1
- package/dist/threads/conversation-list-fetcher.cjs +9 -2
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -1
- package/dist/threads/conversation-list-fetcher.d.ts +14 -1
- package/dist/threads/conversation-list-fetcher.js +9 -2
- package/dist/threads/conversation-list-fetcher.js.map +1 -1
- package/dist/threads/index.d.ts +2 -1
- package/dist/threads/pull-request-display.cjs +25 -0
- package/dist/threads/pull-request-display.cjs.map +1 -0
- package/dist/threads/pull-request-display.d.ts +15 -0
- package/dist/threads/pull-request-display.js +25 -0
- package/dist/threads/pull-request-display.js.map +1 -0
- package/dist/threads/session-list-model.cjs +16 -2
- package/dist/threads/session-list-model.cjs.map +1 -1
- package/dist/threads/session-list-model.d.ts +10 -0
- package/dist/threads/session-list-model.js +16 -2
- package/dist/threads/session-list-model.js.map +1 -1
- package/dist/threads/session-row-parts.cjs +152 -0
- package/dist/threads/session-row-parts.cjs.map +1 -0
- package/dist/threads/session-row-parts.d.ts +50 -0
- package/dist/threads/session-row-parts.js +152 -0
- package/dist/threads/session-row-parts.js.map +1 -0
- package/dist/threads/sessions-page-model.cjs +305 -0
- package/dist/threads/sessions-page-model.cjs.map +1 -0
- package/dist/threads/sessions-page-model.d.ts +86 -0
- package/dist/threads/sessions-page-model.js +305 -0
- package/dist/threads/sessions-page-model.js.map +1 -0
- package/dist/threads/sessions-page-storage.cjs +93 -0
- package/dist/threads/sessions-page-storage.cjs.map +1 -0
- package/dist/threads/sessions-page-storage.d.ts +23 -0
- package/dist/threads/sessions-page-storage.js +93 -0
- package/dist/threads/sessions-page-storage.js.map +1 -0
- package/dist/threads/sessions-query.cjs +235 -0
- package/dist/threads/sessions-query.cjs.map +1 -0
- package/dist/threads/sessions-query.d.ts +119 -0
- package/dist/threads/sessions-query.js +235 -0
- package/dist/threads/sessions-query.js.map +1 -0
- package/dist/threads/statewire-thread-list.cjs +133 -40
- package/dist/threads/statewire-thread-list.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.d.ts +83 -2
- package/dist/threads/statewire-thread-list.js +134 -41
- package/dist/threads/statewire-thread-list.js.map +1 -1
- package/dist/threads/use-athena-sessions.cjs +198 -0
- package/dist/threads/use-athena-sessions.cjs.map +1 -0
- package/dist/threads/use-athena-sessions.d.ts +81 -0
- package/dist/threads/use-athena-sessions.js +198 -0
- package/dist/threads/use-athena-sessions.js.map +1 -0
- package/dist/threads/use-rest-conversation-history.cjs +1 -1
- package/dist/threads/use-rest-conversation-history.js +1 -1
- package/dist/threads/use-statewire-conversation-history.cjs +1 -1
- package/dist/threads/use-statewire-conversation-history.d.ts +3 -0
- package/dist/threads/use-statewire-conversation-history.js +1 -1
- package/dist/threads/use-thread-read-state.cjs +73 -0
- package/dist/threads/use-thread-read-state.cjs.map +1 -0
- package/dist/threads/use-thread-read-state.d.ts +51 -0
- package/dist/threads/use-thread-read-state.js +73 -0
- package/dist/threads/use-thread-read-state.js.map +1 -0
- package/dist/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +1 -0
- package/dist/tiptap-markdown-table/src/markdown-table-serializer.js.map +1 -0
- package/dist/tools/auto-open-tools.cjs +2 -0
- package/dist/tools/auto-open-tools.cjs.map +1 -1
- package/dist/tools/auto-open-tools.js +2 -0
- package/dist/tools/auto-open-tools.js.map +1 -1
- package/dist/tools/file-tool-uis.cjs +18 -43
- package/dist/tools/file-tool-uis.cjs.map +1 -1
- package/dist/tools/file-tool-uis.d.ts +1 -2
- package/dist/tools/file-tool-uis.js +18 -42
- package/dist/tools/file-tool-uis.js.map +1 -1
- package/dist/tools/index.cjs +6 -2
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/misc-tool-uis.cjs +2 -2
- package/dist/tools/misc-tool-uis.js +2 -2
- package/dist/tools/primitives.cjs +1 -1
- package/dist/tools/primitives.js +1 -1
- package/dist/tools/read-asset-tool-ui.cjs +21 -70
- package/dist/tools/read-asset-tool-ui.cjs.map +1 -1
- package/dist/tools/read-asset-tool-ui.js +21 -70
- package/dist/tools/read-asset-tool-ui.js.map +1 -1
- package/dist/tools/step-text.cjs +21 -0
- package/dist/tools/step-text.cjs.map +1 -0
- package/dist/tools/step-text.d.ts +10 -0
- package/dist/tools/step-text.js +21 -0
- package/dist/tools/step-text.js.map +1 -0
- package/dist/tools/tool-fallback.cjs +24 -5
- package/dist/tools/tool-fallback.cjs.map +1 -1
- package/dist/tools/tool-fallback.d.ts +3 -1
- package/dist/tools/tool-fallback.js +24 -5
- package/dist/tools/tool-fallback.js.map +1 -1
- package/dist/tools/tool-summary.cjs +661 -0
- package/dist/tools/tool-summary.cjs.map +1 -0
- package/dist/tools/tool-summary.d.ts +99 -0
- package/dist/tools/tool-summary.js +661 -0
- package/dist/tools/tool-summary.js.map +1 -0
- package/dist/tools/tool-uis.cjs +37 -95
- package/dist/tools/tool-uis.cjs.map +1 -1
- package/dist/tools/tool-uis.js +37 -95
- package/dist/tools/tool-uis.js.map +1 -1
- package/dist/tools/voice-update-tool-ui.cjs +1 -1
- package/dist/tools/voice-update-tool-ui.js +1 -1
- package/dist/tools/write-todos-tool-ui.cjs +3 -2
- package/dist/tools/write-todos-tool-ui.cjs.map +1 -1
- package/dist/tools/write-todos-tool-ui.d.ts +5 -0
- package/dist/tools/write-todos-tool-ui.js +5 -4
- package/dist/tools/write-todos-tool-ui.js.map +1 -1
- package/dist/ui/popover.cjs +6 -6
- package/dist/ui/popover.cjs.map +1 -1
- package/dist/ui/popover.js +6 -6
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/tooltip.cjs +16 -2
- package/dist/ui/tooltip.cjs.map +1 -1
- package/dist/ui/tooltip.d.ts +1 -1
- package/dist/ui/tooltip.js +16 -2
- package/dist/ui/tooltip.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/voice/use-athena-voice-session.cjs.map +1 -1
- package/dist/voice/use-athena-voice-session.d.ts +3 -3
- package/dist/voice/use-athena-voice-session.js.map +1 -1
- package/dist/workbench/SessionWorkbench.cjs +378 -0
- package/dist/workbench/SessionWorkbench.cjs.map +1 -0
- package/dist/workbench/SessionWorkbench.d.ts +30 -0
- package/dist/workbench/SessionWorkbench.js +378 -0
- package/dist/workbench/SessionWorkbench.js.map +1 -0
- package/dist/workbench/session-workbench-context.cjs +26 -0
- package/dist/workbench/session-workbench-context.cjs.map +1 -0
- package/dist/workbench/session-workbench-context.d.ts +55 -0
- package/dist/workbench/session-workbench-context.js +26 -0
- package/dist/workbench/session-workbench-context.js.map +1 -0
- package/dist/workbench/session-workbench-model.cjs +288 -0
- package/dist/workbench/session-workbench-model.cjs.map +1 -0
- package/dist/workbench/session-workbench-model.d.ts +168 -0
- package/dist/workbench/session-workbench-model.js +288 -0
- package/dist/workbench/session-workbench-model.js.map +1 -0
- package/dist/workbench/session-workbench-panes.cjs +580 -0
- package/dist/workbench/session-workbench-panes.cjs.map +1 -0
- package/dist/workbench/session-workbench-panes.d.ts +16 -0
- package/dist/workbench/session-workbench-panes.js +580 -0
- package/dist/workbench/session-workbench-panes.js.map +1 -0
- package/dist/workbench/session-workspace-api.cjs +157 -0
- package/dist/workbench/session-workspace-api.cjs.map +1 -0
- package/dist/workbench/session-workspace-api.d.ts +70 -0
- package/dist/workbench/session-workspace-api.js +157 -0
- package/dist/workbench/session-workspace-api.js.map +1 -0
- package/dist/workbench/use-session-workspace.cjs +100 -0
- package/dist/workbench/use-session-workspace.cjs.map +1 -0
- package/dist/workbench/use-session-workspace.d.ts +45 -0
- package/dist/workbench/use-session-workspace.js +100 -0
- package/dist/workbench/use-session-workspace.js.map +1 -0
- package/dist/workbench/workbench-layout-context.cjs +10 -0
- package/dist/workbench/workbench-layout-context.cjs.map +1 -0
- package/dist/workbench/workbench-layout-context.d.ts +17 -0
- package/dist/workbench/workbench-layout-context.js +10 -0
- package/dist/workbench/workbench-layout-context.js.map +1 -0
- package/package.json +20 -9
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +0 -77
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +0 -77
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +0 -181
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +0 -181
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +0 -1
- package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/asset-attachment.js.map +0 -1
- package/dist/packages/agent-runtime/src/auth-denial.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/auth-denial.js.map +0 -1
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +0 -1
- package/dist/packages/agent-runtime/src/client-tools.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/client-tools.js.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-index.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-index.js.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-list.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-list.js.map +0 -1
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +0 -1
- package/dist/packages/agent-runtime/src/edit-command.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/edit-command.js.map +0 -1
- package/dist/packages/agent-runtime/src/errors.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/errors.js.map +0 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +0 -1
- package/dist/packages/agent-runtime/src/github-wake-event.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/github-wake-event.js.map +0 -1
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/interrupts.js.map +0 -1
- package/dist/packages/agent-runtime/src/message-author.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/message-author.js.map +0 -1
- package/dist/packages/agent-runtime/src/message-window.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/message-window.js.map +0 -1
- package/dist/packages/agent-runtime/src/messages.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/messages.js.map +0 -1
- package/dist/packages/agent-runtime/src/model-context.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/model-context.js.map +0 -1
- package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/optimistic-content.js.map +0 -1
- package/dist/packages/agent-runtime/src/protocol.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/protocol.js.map +0 -1
- package/dist/packages/agent-runtime/src/queue.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/queue.js.map +0 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +0 -1
- package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/runtime-messages.js.map +0 -1
- package/dist/packages/agent-runtime/src/screen-point.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/screen-point.js.map +0 -1
- package/dist/packages/agent-runtime/src/send-recovery.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/send-recovery.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-state.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-state.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-suspended.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-transport.cjs +0 -11
- package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-transport.js +0 -11
- package/dist/packages/agent-runtime/src/statewire-transport.js.map +0 -1
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/streaming-markdown.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-extras.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-extras.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-status.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-status.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-metadata.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-outputs.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-result.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-result.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-conversation-list.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +0 -1
- package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/voice-presentation.js.map +0 -1
- package/dist/packages/agent-runtime/src/voice-turn-grouping.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/voice-turn-grouping.js.map +0 -1
- package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +0 -1
- package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.js.map +0 -1
- /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-config.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-config.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.js +0 -0
- /package/dist/{packages/react → react}/package.json.cjs.map +0 -0
- /package/dist/{packages/react → react}/package.json.js.map +0 -0
- /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.cjs +0 -0
- /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.js +0 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const lucideReact = require("lucide-react");
|
|
5
|
+
const reactQuery = require("@tanstack/react-query");
|
|
6
|
+
const react = require("react");
|
|
7
|
+
const useAthenaRestQuery = require("../lib/use-athena-rest-query.cjs");
|
|
8
|
+
const credentialRenewal = require("../runtime/credential-renewal.cjs");
|
|
9
|
+
const popover = require("../ui/popover.cjs");
|
|
10
|
+
const api = require("./api.cjs");
|
|
11
|
+
const SessionList = require("./SessionList.cjs");
|
|
12
|
+
const sessionListModel = require("./session-list-model.cjs");
|
|
13
|
+
const sessionRowParts = require("./session-row-parts.cjs");
|
|
14
|
+
const sessionsPageModel = require("./sessions-page-model.cjs");
|
|
15
|
+
const statewireThreadList = require("./statewire-thread-list.cjs");
|
|
16
|
+
const useAthenaSessions = require("./use-athena-sessions.cjs");
|
|
17
|
+
const cnfast = require("cnfast");
|
|
18
|
+
const INBOX_QUERY = { createdByMe: true, excludeDismissed: true };
|
|
19
|
+
const INBOX_UNREAD_QUERY = { ...INBOX_QUERY, unreadOnly: true };
|
|
20
|
+
const INBOX_PAGE_SIZE = 50;
|
|
21
|
+
function useAthenaInboxUnreadCount() {
|
|
22
|
+
const unread = useAthenaSessions.useAthenaSessions({ query: INBOX_UNREAD_QUERY, pageSize: INBOX_PAGE_SIZE });
|
|
23
|
+
const count = unread.rows.length;
|
|
24
|
+
const hasMore = unread.hasNextPage;
|
|
25
|
+
return {
|
|
26
|
+
count,
|
|
27
|
+
hasMore,
|
|
28
|
+
label: count === 0 ? "" : `${count}${hasMore ? "+" : ""}`,
|
|
29
|
+
isAvailable: unread.isAvailable
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function useInboxDismiss(refresh) {
|
|
33
|
+
const live = react.useContext(statewireThreadList.AthenaSessionsLiveContext);
|
|
34
|
+
const queryClient = useAthenaRestQuery.useAthenaQueryClient();
|
|
35
|
+
const [hidden, setHidden] = react.useState(() => /* @__PURE__ */ new Set());
|
|
36
|
+
const mutation = reactQuery.useMutation(
|
|
37
|
+
{
|
|
38
|
+
mutationKey: ["athena-sdk", "inbox-dismiss", (live == null ? void 0 : live.backendUrl) ?? "", (live == null ? void 0 : live.principal) ?? ""],
|
|
39
|
+
mutationFn: async (threadId) => {
|
|
40
|
+
if (!live) throw new Error("[AthenaSDK] The inbox needs enableThreadList.");
|
|
41
|
+
return credentialRenewal.withCredentialRenewal(
|
|
42
|
+
live.getAuth,
|
|
43
|
+
(auth) => api.dismissThreadFromInbox(live.backendUrl, auth, { threadId, dismissed: true })
|
|
44
|
+
);
|
|
45
|
+
},
|
|
46
|
+
onMutate: (threadId) => setHidden((current) => new Set(current).add(threadId)),
|
|
47
|
+
// The local hide only bridges the write and the refresh after it: once
|
|
48
|
+
// the inbox has re-read, the server decides — a dismissed session comes
|
|
49
|
+
// back with its next message, and a failed dismiss shows it again.
|
|
50
|
+
onSettled: async (_result, _error, threadId) => {
|
|
51
|
+
try {
|
|
52
|
+
await refresh();
|
|
53
|
+
} finally {
|
|
54
|
+
setHidden((current) => {
|
|
55
|
+
if (!current.has(threadId)) return current;
|
|
56
|
+
const next = new Set(current);
|
|
57
|
+
next.delete(threadId);
|
|
58
|
+
return next;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
queryClient
|
|
64
|
+
);
|
|
65
|
+
return { hidden, dismiss: mutation.mutate, pending: mutation.isPending };
|
|
66
|
+
}
|
|
67
|
+
const InboxRow = ({ row, isActive, list, onOpen, onDismiss }) => {
|
|
68
|
+
const chip = sessionsPageModel.inboxStateChip(row);
|
|
69
|
+
const excerpt = sessionsPageModel.plainExcerpt(row.preview);
|
|
70
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
71
|
+
"li",
|
|
72
|
+
{
|
|
73
|
+
"data-thread-id": row.id,
|
|
74
|
+
"data-unread": row.isUnread || void 0,
|
|
75
|
+
className: cnfast.cn(
|
|
76
|
+
"group relative flex items-start gap-2 rounded-lg transition-colors hover:bg-muted/40",
|
|
77
|
+
isActive && "bg-muted"
|
|
78
|
+
),
|
|
79
|
+
children: [
|
|
80
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
81
|
+
"button",
|
|
82
|
+
{
|
|
83
|
+
type: "button",
|
|
84
|
+
onClick: () => onOpen(row),
|
|
85
|
+
className: cnfast.cn("flex min-w-0 flex-1 items-start gap-2 rounded-lg p-2 pl-2.5 text-left", sessionRowParts.FOCUS_RING_CLASS),
|
|
86
|
+
children: [
|
|
87
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
88
|
+
"span",
|
|
89
|
+
{
|
|
90
|
+
role: row.isUnread ? "img" : void 0,
|
|
91
|
+
"aria-label": row.isUnread ? "Unread" : void 0,
|
|
92
|
+
"aria-hidden": row.isUnread ? void 0 : true,
|
|
93
|
+
className: cnfast.cn("mt-1.5 size-2 shrink-0 rounded-full", row.isUnread ? "bg-primary" : "bg-transparent")
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
97
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
98
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
+
"span",
|
|
100
|
+
{
|
|
101
|
+
"data-title": true,
|
|
102
|
+
className: cnfast.cn("min-w-0 flex-1 truncate text-foreground text-sm", row.isUnread ? "font-semibold" : "font-medium"),
|
|
103
|
+
children: row.title ?? "Untitled"
|
|
104
|
+
}
|
|
105
|
+
),
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-[11px] text-muted-foreground", children: sessionListModel.relativeTime(row.updatedAt) })
|
|
107
|
+
] }),
|
|
108
|
+
excerpt ? /* @__PURE__ */ jsxRuntime.jsx("span", { "data-excerpt": true, className: "mt-0.5 line-clamp-2 break-words text-muted-foreground text-xs", children: excerpt }) : null,
|
|
109
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-1 flex", children: /* @__PURE__ */ jsxRuntime.jsx(sessionRowParts.StatusChip, { label: chip.label, tone: chip.tone, detail: row.nextAction }) })
|
|
110
|
+
] })
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { "data-row-actions": true, className: "flex shrink-0 items-center gap-0.5 py-2 pr-2", children: [
|
|
115
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
116
|
+
sessionRowParts.RowIconButton,
|
|
117
|
+
{
|
|
118
|
+
label: row.isUnread ? "Mark read" : "Mark unread",
|
|
119
|
+
action: "read-state",
|
|
120
|
+
pending: list.readStatePendingThreadIds.has(row.id),
|
|
121
|
+
onClick: () => list.setReadState({ threadId: row.id, isUnread: !row.isUnread, updatedAt: row.updatedAt }),
|
|
122
|
+
children: row.isUnread ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MailOpenIcon, { className: "size-3.5", "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MailIcon, { className: "size-3.5", "aria-hidden": true })
|
|
123
|
+
}
|
|
124
|
+
),
|
|
125
|
+
onDismiss ? /* @__PURE__ */ jsxRuntime.jsx(sessionRowParts.RowIconButton, { label: "Dismiss from inbox", action: "dismiss", onClick: () => onDismiss(row.id), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "size-3.5", "aria-hidden": true }) }) : null
|
|
126
|
+
] })
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
);
|
|
130
|
+
};
|
|
131
|
+
function InboxBody({
|
|
132
|
+
className,
|
|
133
|
+
title = "Inbox",
|
|
134
|
+
defaultTab = "all",
|
|
135
|
+
onOpenSession,
|
|
136
|
+
list
|
|
137
|
+
}) {
|
|
138
|
+
var _a;
|
|
139
|
+
const [tab, setTab] = react.useState(defaultTab);
|
|
140
|
+
const all = useAthenaSessions.useAthenaSessions({ query: INBOX_QUERY, pageSize: INBOX_PAGE_SIZE });
|
|
141
|
+
const unread = useAthenaSessions.useAthenaSessions({ query: INBOX_UNREAD_QUERY, pageSize: INBOX_PAGE_SIZE });
|
|
142
|
+
const shown = tab === "unread" ? unread : all;
|
|
143
|
+
const refreshBoth = async () => {
|
|
144
|
+
await Promise.all([all.refresh(), unread.refresh()]);
|
|
145
|
+
};
|
|
146
|
+
const dismissal = useInboxDismiss(refreshBoth);
|
|
147
|
+
const canDismiss = ((_a = shown.supportedFilters) == null ? void 0 : _a.has("exclude_dismissed")) ?? false;
|
|
148
|
+
const rows = react.useMemo(
|
|
149
|
+
() => shown.rows.filter((row) => !dismissal.hidden.has(row.id)),
|
|
150
|
+
[shown.rows, dismissal.hidden]
|
|
151
|
+
);
|
|
152
|
+
const unreadRows = unread.rows.filter((row) => !dismissal.hidden.has(row.id));
|
|
153
|
+
const unreadLabel = `${unreadRows.length}${unread.hasNextPage ? "+" : ""}`;
|
|
154
|
+
const allLabel = `${all.rows.filter((row) => !dismissal.hidden.has(row.id)).length}${all.hasNextPage ? "+" : ""}`;
|
|
155
|
+
const open = (row) => {
|
|
156
|
+
list.selectThread(row.id);
|
|
157
|
+
if (row.isUnread) {
|
|
158
|
+
list.setReadState({ threadId: row.id, isUnread: false, updatedAt: row.updatedAt });
|
|
159
|
+
}
|
|
160
|
+
onOpenSession == null ? void 0 : onOpenSession({ threadId: row.id, title: row.title });
|
|
161
|
+
};
|
|
162
|
+
const markAllRead = () => {
|
|
163
|
+
for (const row of unreadRows) {
|
|
164
|
+
list.setReadState({ threadId: row.id, isUnread: false, updatedAt: row.updatedAt });
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
const showSkeleton = rows.length === 0 && (!shown.hasResolvedFirstPage || shown.isFetching);
|
|
168
|
+
const notice = shown.unavailableFields.length > 0 ? "This Athena server cannot narrow the inbox to your own, undismissed sessions yet, so it lists every session you can see." : null;
|
|
169
|
+
const tabClass = (active) => cnfast.cn(
|
|
170
|
+
"inline-flex h-7 items-center gap-1.5 rounded-md px-2.5 font-medium text-xs transition-colors",
|
|
171
|
+
active ? "bg-muted text-foreground" : "text-muted-foreground hover:text-foreground",
|
|
172
|
+
sessionRowParts.FOCUS_RING_CLASS
|
|
173
|
+
);
|
|
174
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "inbox", className: cnfast.cn("athena-sdk-chrome flex min-h-0 flex-col gap-2", className), children: [
|
|
175
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 px-1", children: [
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-foreground text-sm", children: title }),
|
|
177
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { role: "tablist", "aria-label": "Inbox", className: "flex items-center gap-0.5", children: [
|
|
178
|
+
/* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", role: "tab", "aria-selected": tab === "all", onClick: () => setTab("all"), className: tabClass(tab === "all"), children: [
|
|
179
|
+
"All",
|
|
180
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { "data-testid": "inbox-all-count", className: "text-muted-foreground", children: allLabel })
|
|
181
|
+
] }),
|
|
182
|
+
/* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", role: "tab", "aria-selected": tab === "unread", onClick: () => setTab("unread"), className: tabClass(tab === "unread"), children: [
|
|
183
|
+
"Unread",
|
|
184
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { "data-testid": "inbox-unread-count", className: "text-muted-foreground", children: unreadLabel })
|
|
185
|
+
] })
|
|
186
|
+
] }),
|
|
187
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1" }),
|
|
188
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
189
|
+
"button",
|
|
190
|
+
{
|
|
191
|
+
type: "button",
|
|
192
|
+
onClick: markAllRead,
|
|
193
|
+
disabled: unreadRows.length === 0,
|
|
194
|
+
className: cnfast.cn(
|
|
195
|
+
"inline-flex h-7 items-center gap-1 rounded-md px-2 text-muted-foreground text-xs transition-colors hover:bg-muted hover:text-foreground disabled:opacity-50",
|
|
196
|
+
sessionRowParts.FOCUS_RING_CLASS
|
|
197
|
+
),
|
|
198
|
+
title: "Mark the loaded unread sessions read",
|
|
199
|
+
children: [
|
|
200
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCheckIcon, { className: "size-3.5", "aria-hidden": true }),
|
|
201
|
+
"Mark all read"
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
] }),
|
|
206
|
+
notice ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "status", "data-testid": "inbox-degraded", className: "mx-1 rounded-md border border-amber-200 bg-amber-50 px-2.5 py-1.5 text-[11px] text-amber-900", children: notice }) : null,
|
|
207
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-0 flex-1 overflow-y-auto", children: [
|
|
208
|
+
showSkeleton ? /* @__PURE__ */ jsxRuntime.jsx(SessionList.SessionListSkeleton, { rows: 4 }) : rows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "inbox-empty", className: "px-3 py-8 text-center text-muted-foreground text-xs", children: tab === "unread" ? "You are all caught up." : "Nothing in your inbox." }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-0.5", "aria-busy": shown.isFetching || void 0, children: rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
209
|
+
InboxRow,
|
|
210
|
+
{
|
|
211
|
+
row,
|
|
212
|
+
isActive: row.id === list.activeThreadId,
|
|
213
|
+
list,
|
|
214
|
+
onOpen: open,
|
|
215
|
+
onDismiss: canDismiss ? dismissal.dismiss : null
|
|
216
|
+
},
|
|
217
|
+
row.id
|
|
218
|
+
)) }),
|
|
219
|
+
shown.hasNextPage && !showSkeleton ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
220
|
+
"button",
|
|
221
|
+
{
|
|
222
|
+
type: "button",
|
|
223
|
+
onClick: shown.fetchNextPage,
|
|
224
|
+
disabled: shown.isFetchingNextPage,
|
|
225
|
+
className: cnfast.cn("mt-1 w-full rounded-md py-2 text-muted-foreground text-xs transition-colors hover:bg-muted disabled:opacity-50", sessionRowParts.FOCUS_RING_CLASS),
|
|
226
|
+
children: shown.isFetchingNextPage ? "Loading…" : "Load more"
|
|
227
|
+
}
|
|
228
|
+
) : null
|
|
229
|
+
] })
|
|
230
|
+
] });
|
|
231
|
+
}
|
|
232
|
+
function Inbox(props) {
|
|
233
|
+
const list = statewireThreadList.useAthenaStatewireThreadList();
|
|
234
|
+
const live = react.useContext(statewireThreadList.AthenaSessionsLiveContext);
|
|
235
|
+
if (!list || !live) return null;
|
|
236
|
+
return /* @__PURE__ */ jsxRuntime.jsx(InboxBody, { ...props, list });
|
|
237
|
+
}
|
|
238
|
+
function InboxButtonBody({ className, panelClassName, align = "end", onOpenSession, ...inboxProps }) {
|
|
239
|
+
const [open, setOpen] = react.useState(false);
|
|
240
|
+
const unread = useAthenaInboxUnreadCount();
|
|
241
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(popover.Popover, { open, onOpenChange: setOpen, children: [
|
|
242
|
+
/* @__PURE__ */ jsxRuntime.jsx(popover.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
243
|
+
"button",
|
|
244
|
+
{
|
|
245
|
+
type: "button",
|
|
246
|
+
"aria-label": unread.count > 0 ? `Inbox, ${unread.label} unread` : "Inbox",
|
|
247
|
+
"data-testid": "inbox-button",
|
|
248
|
+
className: cnfast.cn(
|
|
249
|
+
"relative inline-flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
250
|
+
sessionRowParts.FOCUS_RING_CLASS,
|
|
251
|
+
className
|
|
252
|
+
),
|
|
253
|
+
children: [
|
|
254
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.BellIcon, { className: "size-4", "aria-hidden": true }),
|
|
255
|
+
unread.count > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
256
|
+
"span",
|
|
257
|
+
{
|
|
258
|
+
"data-testid": "inbox-badge",
|
|
259
|
+
className: "absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 font-semibold text-[10px] text-primary-foreground leading-none",
|
|
260
|
+
children: unread.label
|
|
261
|
+
}
|
|
262
|
+
) : null
|
|
263
|
+
]
|
|
264
|
+
}
|
|
265
|
+
) }),
|
|
266
|
+
/* @__PURE__ */ jsxRuntime.jsx(popover.PopoverContent, { align, className: cnfast.cn("flex max-h-[70vh] w-96 flex-col p-2", panelClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
267
|
+
Inbox,
|
|
268
|
+
{
|
|
269
|
+
...inboxProps,
|
|
270
|
+
onOpenSession: (target) => {
|
|
271
|
+
setOpen(false);
|
|
272
|
+
onOpenSession == null ? void 0 : onOpenSession(target);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
) })
|
|
276
|
+
] });
|
|
277
|
+
}
|
|
278
|
+
function InboxButton(props) {
|
|
279
|
+
const live = react.useContext(statewireThreadList.AthenaSessionsLiveContext);
|
|
280
|
+
if (!live) return null;
|
|
281
|
+
return /* @__PURE__ */ jsxRuntime.jsx(InboxButtonBody, { ...props });
|
|
282
|
+
}
|
|
283
|
+
exports.INBOX_PAGE_SIZE = INBOX_PAGE_SIZE;
|
|
284
|
+
exports.INBOX_QUERY = INBOX_QUERY;
|
|
285
|
+
exports.INBOX_UNREAD_QUERY = INBOX_UNREAD_QUERY;
|
|
286
|
+
exports.Inbox = Inbox;
|
|
287
|
+
exports.InboxButton = InboxButton;
|
|
288
|
+
exports.useAthenaInboxUnreadCount = useAthenaInboxUnreadCount;
|
|
289
|
+
//# sourceMappingURL=Inbox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Inbox.cjs","sources":["../../src/threads/Inbox.tsx"],"sourcesContent":["/**\n * `Inbox` and `InboxButton` — the Devin-style notifications inbox over the\n * session list, with no endpoint of its own:\n *\n * - **What is in it.** The viewer's own sessions, newest activity first, minus\n * the ones dismissed from the inbox — the same set Athena's inbox shows —\n * read through `POST /api/conversations/threads/list` with\n * `created_by_me` + `exclude_dismissed` (+ `unread_only` for the Unread\n * tab). Each row is the session's title, its latest message, a state chip\n * (Needs you / Working / PR merged / Answered …) and an unread dot.\n * - **Live.** The rows fold the per-user conversation index like every other\n * list under the provider, so a session flipping to \"needs you\" or getting\n * a new message moves in place.\n * - **Writes.** Opening a row (or \"Mark read\") stores the read receipt through\n * `POST /api/conversations/threads/read-state`; \"Dismiss\" uses\n * `POST /api/conversations/threads/notifications/dismiss` (EDIT on the\n * session — a dismissed session comes back with its next message).\n * - **Counts.** The unread badge counts the unread page (50 rows); past that\n * it reads `50+`.\n *\n * Renders nothing outside `<AthenaProvider enableThreadList>`.\n */\nimport { BellIcon, CheckCheckIcon, MailIcon, MailOpenIcon, XIcon } from 'lucide-react';\nimport { useMutation } from '@tanstack/react-query';\nimport type { FC } from 'react';\nimport { useContext, useMemo, useState } from 'react';\nimport { cn } from '../lib/utils';\nimport { useAthenaQueryClient } from '../lib/use-athena-rest-query';\nimport { withCredentialRenewal } from '../runtime/credential-renewal';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\nimport { dismissThreadFromInbox } from './api';\nimport { SessionListSkeleton, type SessionOpenTarget } from './SessionList';\nimport { relativeTime } from './session-list-model';\nimport { FOCUS_RING_CLASS, RowIconButton, StatusChip } from './session-row-parts';\nimport { inboxStateChip, plainExcerpt } from './sessions-page-model';\nimport type { AthenaSessionsQuery } from './sessions-query';\nimport {\n AthenaSessionsLiveContext,\n type AthenaStatewireThreadListState,\n type AthenaStatewireThreadSummary,\n useAthenaStatewireThreadList,\n} from './statewire-thread-list';\nimport { type AthenaSessionsList, useAthenaSessions } from './use-athena-sessions';\n\n/** The inbox's sessions: the viewer's own, not dismissed, newest activity first. */\nexport const INBOX_QUERY: AthenaSessionsQuery = { createdByMe: true, excludeDismissed: true };\n/** The Unread tab, and what the badge counts. */\nexport const INBOX_UNREAD_QUERY: AthenaSessionsQuery = { ...INBOX_QUERY, unreadOnly: true };\n\n/** Rows per inbox page — and the badge's ceiling before it reads `50+`. */\nexport const INBOX_PAGE_SIZE = 50;\n\nexport type InboxTab = 'all' | 'unread';\n\nexport interface AthenaInboxUnreadCount {\n /** Unread sessions loaded (at most one page). */\n count: number;\n /** More unread sessions exist beyond `count`. */\n hasMore: boolean;\n /** `count` with `+` when there are more, `''` for none. */\n label: string;\n isAvailable: boolean;\n}\n\n/** The unread count the inbox badge shows; shares the Unread tab's cache. */\nexport function useAthenaInboxUnreadCount(): AthenaInboxUnreadCount {\n const unread = useAthenaSessions({ query: INBOX_UNREAD_QUERY, pageSize: INBOX_PAGE_SIZE });\n const count = unread.rows.length;\n const hasMore = unread.hasNextPage;\n return {\n count,\n hasMore,\n label: count === 0 ? '' : `${count}${hasMore ? '+' : ''}`,\n isAvailable: unread.isAvailable,\n };\n}\n\n/** Dismiss from the inbox: hidden at once, back on failure, the inbox lists refreshed after. */\nfunction useInboxDismiss(refresh: () => Promise<void>) {\n const live = useContext(AthenaSessionsLiveContext);\n const queryClient = useAthenaQueryClient();\n const [hidden, setHidden] = useState<ReadonlySet<string>>(() => new Set());\n const mutation = useMutation(\n {\n mutationKey: ['athena-sdk', 'inbox-dismiss', live?.backendUrl ?? '', live?.principal ?? ''],\n mutationFn: async (threadId: string) => {\n if (!live) throw new Error('[AthenaSDK] The inbox needs enableThreadList.');\n return withCredentialRenewal(live.getAuth, (auth) =>\n dismissThreadFromInbox(live.backendUrl, auth, { threadId, dismissed: true }),\n );\n },\n onMutate: (threadId) => setHidden((current) => new Set(current).add(threadId)),\n // The local hide only bridges the write and the refresh after it: once\n // the inbox has re-read, the server decides — a dismissed session comes\n // back with its next message, and a failed dismiss shows it again.\n onSettled: async (_result, _error, threadId) => {\n try {\n await refresh();\n } finally {\n setHidden((current) => {\n if (!current.has(threadId)) return current;\n const next = new Set(current);\n next.delete(threadId);\n return next;\n });\n }\n },\n },\n queryClient,\n );\n return { hidden, dismiss: mutation.mutate, pending: mutation.isPending };\n}\n\nconst InboxRow: FC<{\n row: AthenaStatewireThreadSummary;\n isActive: boolean;\n list: AthenaStatewireThreadListState;\n onOpen: (row: AthenaStatewireThreadSummary) => void;\n onDismiss: ((threadId: string) => void) | null;\n}> = ({ row, isActive, list, onOpen, onDismiss }) => {\n const chip = inboxStateChip(row);\n const excerpt = plainExcerpt(row.preview);\n return (\n <li\n data-thread-id={row.id}\n data-unread={row.isUnread || undefined}\n className={cn(\n 'group relative flex items-start gap-2 rounded-lg transition-colors hover:bg-muted/40',\n isActive && 'bg-muted',\n )}\n >\n <button\n type=\"button\"\n onClick={() => onOpen(row)}\n className={cn('flex min-w-0 flex-1 items-start gap-2 rounded-lg p-2 pl-2.5 text-left', FOCUS_RING_CLASS)}\n >\n <span\n role={row.isUnread ? 'img' : undefined}\n aria-label={row.isUnread ? 'Unread' : undefined}\n aria-hidden={row.isUnread ? undefined : true}\n className={cn('mt-1.5 size-2 shrink-0 rounded-full', row.isUnread ? 'bg-primary' : 'bg-transparent')}\n />\n <span className=\"min-w-0 flex-1\">\n <span className=\"flex items-center gap-2\">\n <span\n data-title\n className={cn('min-w-0 flex-1 truncate text-foreground text-sm', row.isUnread ? 'font-semibold' : 'font-medium')}\n >\n {row.title ?? 'Untitled'}\n </span>\n <span className=\"shrink-0 text-[11px] text-muted-foreground\">{relativeTime(row.updatedAt)}</span>\n </span>\n {excerpt ? (\n <span data-excerpt className=\"mt-0.5 line-clamp-2 break-words text-muted-foreground text-xs\">\n {excerpt}\n </span>\n ) : null}\n <span className=\"mt-1 flex\">\n <StatusChip label={chip.label} tone={chip.tone} detail={row.nextAction} />\n </span>\n </span>\n </button>\n <div data-row-actions className=\"flex shrink-0 items-center gap-0.5 py-2 pr-2\">\n <RowIconButton\n label={row.isUnread ? 'Mark read' : 'Mark unread'}\n action=\"read-state\"\n pending={list.readStatePendingThreadIds.has(row.id)}\n onClick={() =>\n list.setReadState({ threadId: row.id, isUnread: !row.isUnread, updatedAt: row.updatedAt })\n }\n >\n {row.isUnread ? <MailOpenIcon className=\"size-3.5\" aria-hidden /> : <MailIcon className=\"size-3.5\" aria-hidden />}\n </RowIconButton>\n {onDismiss ? (\n <RowIconButton label=\"Dismiss from inbox\" action=\"dismiss\" onClick={() => onDismiss(row.id)}>\n <XIcon className=\"size-3.5\" aria-hidden />\n </RowIconButton>\n ) : null}\n </div>\n </li>\n );\n};\n\nexport interface InboxProps {\n className?: string;\n /** Heading (default \"Inbox\"). */\n title?: string;\n /** The tab it opens on (default `all`). */\n defaultTab?: InboxTab;\n /** Called after a row is opened (selected and marked read), so a host can show its chat. */\n onOpenSession?: (target: SessionOpenTarget) => void;\n}\n\nfunction InboxBody({\n className,\n title = 'Inbox',\n defaultTab = 'all',\n onOpenSession,\n list,\n}: InboxProps & { list: AthenaStatewireThreadListState }) {\n const [tab, setTab] = useState<InboxTab>(defaultTab);\n const all = useAthenaSessions({ query: INBOX_QUERY, pageSize: INBOX_PAGE_SIZE });\n const unread = useAthenaSessions({ query: INBOX_UNREAD_QUERY, pageSize: INBOX_PAGE_SIZE });\n const shown: AthenaSessionsList = tab === 'unread' ? unread : all;\n const refreshBoth = async () => {\n await Promise.all([all.refresh(), unread.refresh()]);\n };\n const dismissal = useInboxDismiss(refreshBoth);\n // Dismissal is only offered where the server can leave dismissed sessions\n // out of the inbox; elsewhere a dismissed row would stay in the list.\n const canDismiss = shown.supportedFilters?.has('exclude_dismissed') ?? false;\n const rows = useMemo(\n () => shown.rows.filter((row) => !dismissal.hidden.has(row.id)),\n [shown.rows, dismissal.hidden],\n );\n const unreadRows = unread.rows.filter((row) => !dismissal.hidden.has(row.id));\n const unreadLabel = `${unreadRows.length}${unread.hasNextPage ? '+' : ''}`;\n const allLabel = `${all.rows.filter((row) => !dismissal.hidden.has(row.id)).length}${all.hasNextPage ? '+' : ''}`;\n\n const open = (row: AthenaStatewireThreadSummary) => {\n list.selectThread(row.id);\n if (row.isUnread) {\n list.setReadState({ threadId: row.id, isUnread: false, updatedAt: row.updatedAt });\n }\n onOpenSession?.({ threadId: row.id, title: row.title });\n };\n const markAllRead = () => {\n for (const row of unreadRows) {\n list.setReadState({ threadId: row.id, isUnread: false, updatedAt: row.updatedAt });\n }\n };\n const showSkeleton = rows.length === 0 && (!shown.hasResolvedFirstPage || shown.isFetching);\n const notice =\n shown.unavailableFields.length > 0\n ? 'This Athena server cannot narrow the inbox to your own, undismissed sessions yet, so it lists every session you can see.'\n : null;\n\n const tabClass = (active: boolean) =>\n cn(\n 'inline-flex h-7 items-center gap-1.5 rounded-md px-2.5 font-medium text-xs transition-colors',\n active ? 'bg-muted text-foreground' : 'text-muted-foreground hover:text-foreground',\n FOCUS_RING_CLASS,\n );\n\n return (\n <div data-testid=\"inbox\" className={cn('athena-sdk-chrome flex min-h-0 flex-col gap-2', className)}>\n <div className=\"flex items-center gap-2 px-1\">\n <h2 className=\"font-semibold text-foreground text-sm\">{title}</h2>\n <div role=\"tablist\" aria-label=\"Inbox\" className=\"flex items-center gap-0.5\">\n <button type=\"button\" role=\"tab\" aria-selected={tab === 'all'} onClick={() => setTab('all')} className={tabClass(tab === 'all')}>\n All\n <span data-testid=\"inbox-all-count\" className=\"text-muted-foreground\">\n {allLabel}\n </span>\n </button>\n <button type=\"button\" role=\"tab\" aria-selected={tab === 'unread'} onClick={() => setTab('unread')} className={tabClass(tab === 'unread')}>\n Unread\n <span data-testid=\"inbox-unread-count\" className=\"text-muted-foreground\">\n {unreadLabel}\n </span>\n </button>\n </div>\n <div className=\"flex-1\" />\n <button\n type=\"button\"\n onClick={markAllRead}\n disabled={unreadRows.length === 0}\n className={cn(\n 'inline-flex h-7 items-center gap-1 rounded-md px-2 text-muted-foreground text-xs transition-colors hover:bg-muted hover:text-foreground disabled:opacity-50',\n FOCUS_RING_CLASS,\n )}\n title=\"Mark the loaded unread sessions read\"\n >\n <CheckCheckIcon className=\"size-3.5\" aria-hidden />\n Mark all read\n </button>\n </div>\n {notice ? (\n <p role=\"status\" data-testid=\"inbox-degraded\" className=\"mx-1 rounded-md border border-amber-200 bg-amber-50 px-2.5 py-1.5 text-[11px] text-amber-900\">\n {notice}\n </p>\n ) : null}\n <div className=\"min-h-0 flex-1 overflow-y-auto\">\n {showSkeleton ? (\n <SessionListSkeleton rows={4} />\n ) : rows.length === 0 ? (\n <p data-testid=\"inbox-empty\" className=\"px-3 py-8 text-center text-muted-foreground text-xs\">\n {tab === 'unread' ? 'You are all caught up.' : 'Nothing in your inbox.'}\n </p>\n ) : (\n <ul className=\"flex flex-col gap-0.5\" aria-busy={shown.isFetching || undefined}>\n {rows.map((row) => (\n <InboxRow\n key={row.id}\n row={row}\n isActive={row.id === list.activeThreadId}\n list={list}\n onOpen={open}\n onDismiss={canDismiss ? dismissal.dismiss : null}\n />\n ))}\n </ul>\n )}\n {shown.hasNextPage && !showSkeleton ? (\n <button\n type=\"button\"\n onClick={shown.fetchNextPage}\n disabled={shown.isFetchingNextPage}\n className={cn('mt-1 w-full rounded-md py-2 text-muted-foreground text-xs transition-colors hover:bg-muted disabled:opacity-50', FOCUS_RING_CLASS)}\n >\n {shown.isFetchingNextPage ? 'Loading…' : 'Load more'}\n </button>\n ) : null}\n </div>\n </div>\n );\n}\n\n/**\n * The notifications inbox: All / Unread tabs with counts, rows of title,\n * latest message, state chip and unread dot, mark read / mark all read and\n * dismiss. Renders nothing outside `<AthenaProvider enableThreadList>`.\n */\nexport function Inbox(props: InboxProps) {\n const list = useAthenaStatewireThreadList();\n const live = useContext(AthenaSessionsLiveContext);\n if (!list || !live) return null;\n return <InboxBody {...props} list={list} />;\n}\n\nexport interface InboxButtonProps extends Omit<InboxProps, 'className'> {\n className?: string;\n /** Classes for the popover panel. */\n panelClassName?: string;\n align?: 'start' | 'center' | 'end';\n}\n\nfunction InboxButtonBody({ className, panelClassName, align = 'end', onOpenSession, ...inboxProps }: InboxButtonProps) {\n const [open, setOpen] = useState(false);\n const unread = useAthenaInboxUnreadCount();\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n aria-label={unread.count > 0 ? `Inbox, ${unread.label} unread` : 'Inbox'}\n data-testid=\"inbox-button\"\n className={cn(\n 'relative inline-flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground',\n FOCUS_RING_CLASS,\n className,\n )}\n >\n <BellIcon className=\"size-4\" aria-hidden />\n {unread.count > 0 ? (\n <span\n data-testid=\"inbox-badge\"\n className=\"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 font-semibold text-[10px] text-primary-foreground leading-none\"\n >\n {unread.label}\n </span>\n ) : null}\n </button>\n </PopoverTrigger>\n <PopoverContent align={align} className={cn('flex max-h-[70vh] w-96 flex-col p-2', panelClassName)}>\n <Inbox\n {...inboxProps}\n onOpenSession={(target) => {\n setOpen(false);\n onOpenSession?.(target);\n }}\n />\n </PopoverContent>\n </Popover>\n );\n}\n\n/**\n * A bell with the unread count that opens `Inbox` in a popover. Renders\n * nothing outside `<AthenaProvider enableThreadList>`.\n */\nexport function InboxButton(props: InboxButtonProps) {\n const live = useContext(AthenaSessionsLiveContext);\n if (!live) return null;\n return <InboxButtonBody {...props} />;\n}\n"],"names":["useAthenaSessions","useContext","AthenaSessionsLiveContext","useAthenaQueryClient","useState","useMutation","withCredentialRenewal","dismissThreadFromInbox","inboxStateChip","plainExcerpt","jsxs","cn","FOCUS_RING_CLASS","jsx","relativeTime","StatusChip","RowIconButton","MailOpenIcon","MailIcon","XIcon","useMemo","CheckCheckIcon","SessionListSkeleton","useAthenaStatewireThreadList","Popover","PopoverTrigger","BellIcon","PopoverContent"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type SessionOpenTarget } from './SessionList';
|
|
2
|
+
import type { AthenaSessionsQuery } from './sessions-query';
|
|
3
|
+
/** The inbox's sessions: the viewer's own, not dismissed, newest activity first. */
|
|
4
|
+
export declare const INBOX_QUERY: AthenaSessionsQuery;
|
|
5
|
+
/** The Unread tab, and what the badge counts. */
|
|
6
|
+
export declare const INBOX_UNREAD_QUERY: AthenaSessionsQuery;
|
|
7
|
+
/** Rows per inbox page — and the badge's ceiling before it reads `50+`. */
|
|
8
|
+
export declare const INBOX_PAGE_SIZE = 50;
|
|
9
|
+
export type InboxTab = 'all' | 'unread';
|
|
10
|
+
export interface AthenaInboxUnreadCount {
|
|
11
|
+
/** Unread sessions loaded (at most one page). */
|
|
12
|
+
count: number;
|
|
13
|
+
/** More unread sessions exist beyond `count`. */
|
|
14
|
+
hasMore: boolean;
|
|
15
|
+
/** `count` with `+` when there are more, `''` for none. */
|
|
16
|
+
label: string;
|
|
17
|
+
isAvailable: boolean;
|
|
18
|
+
}
|
|
19
|
+
/** The unread count the inbox badge shows; shares the Unread tab's cache. */
|
|
20
|
+
export declare function useAthenaInboxUnreadCount(): AthenaInboxUnreadCount;
|
|
21
|
+
export interface InboxProps {
|
|
22
|
+
className?: string;
|
|
23
|
+
/** Heading (default "Inbox"). */
|
|
24
|
+
title?: string;
|
|
25
|
+
/** The tab it opens on (default `all`). */
|
|
26
|
+
defaultTab?: InboxTab;
|
|
27
|
+
/** Called after a row is opened (selected and marked read), so a host can show its chat. */
|
|
28
|
+
onOpenSession?: (target: SessionOpenTarget) => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The notifications inbox: All / Unread tabs with counts, rows of title,
|
|
32
|
+
* latest message, state chip and unread dot, mark read / mark all read and
|
|
33
|
+
* dismiss. Renders nothing outside `<AthenaProvider enableThreadList>`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function Inbox(props: InboxProps): import("react").JSX.Element | null;
|
|
36
|
+
export interface InboxButtonProps extends Omit<InboxProps, 'className'> {
|
|
37
|
+
className?: string;
|
|
38
|
+
/** Classes for the popover panel. */
|
|
39
|
+
panelClassName?: string;
|
|
40
|
+
align?: 'start' | 'center' | 'end';
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* A bell with the unread count that opens `Inbox` in a popover. Renders
|
|
44
|
+
* nothing outside `<AthenaProvider enableThreadList>`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function InboxButton(props: InboxButtonProps): import("react").JSX.Element | null;
|