@athenaintel/react 0.57.2 → 0.60.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 +795 -12
- package/dist/agent-runtime/src/addressed-agents.cjs +16 -0
- package/dist/agent-runtime/src/addressed-agents.cjs.map +1 -0
- package/dist/agent-runtime/src/addressed-agents.d.ts +30 -0
- package/dist/agent-runtime/src/addressed-agents.js +16 -0
- package/dist/agent-runtime/src/addressed-agents.js.map +1 -0
- package/dist/agent-runtime/src/answer-label.cjs +4 -3
- package/dist/agent-runtime/src/answer-label.cjs.map +1 -1
- package/dist/agent-runtime/src/answer-label.d.ts +13 -6
- package/dist/agent-runtime/src/answer-label.js +4 -3
- package/dist/agent-runtime/src/answer-label.js.map +1 -1
- package/dist/agent-runtime/src/chat-outbox-attachments.cjs.map +1 -1
- package/dist/agent-runtime/src/chat-outbox-attachments.d.ts +1 -1
- package/dist/agent-runtime/src/chat-outbox-attachments.js.map +1 -1
- package/dist/agent-runtime/src/chat-outbox-entry.cjs +101 -0
- package/dist/agent-runtime/src/chat-outbox-entry.cjs.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-entry.d.ts +99 -0
- package/dist/agent-runtime/src/chat-outbox-entry.js +101 -0
- package/dist/agent-runtime/src/chat-outbox-entry.js.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-legacy.cjs +252 -0
- package/dist/agent-runtime/src/chat-outbox-legacy.cjs.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-legacy.d.ts +96 -0
- package/dist/agent-runtime/src/chat-outbox-legacy.js +252 -0
- package/dist/agent-runtime/src/chat-outbox-legacy.js.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-policy.cjs +30 -0
- package/dist/agent-runtime/src/chat-outbox-policy.cjs.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-policy.d.ts +42 -0
- package/dist/agent-runtime/src/chat-outbox-policy.js +30 -0
- package/dist/agent-runtime/src/chat-outbox-policy.js.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-storage.cjs +306 -0
- package/dist/agent-runtime/src/chat-outbox-storage.cjs.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-storage.d.ts +194 -0
- package/dist/agent-runtime/src/chat-outbox-storage.js +306 -0
- package/dist/agent-runtime/src/chat-outbox-storage.js.map +1 -0
- package/dist/agent-runtime/src/chat-outbox-thread.cjs +21 -94
- package/dist/agent-runtime/src/chat-outbox-thread.cjs.map +1 -1
- package/dist/agent-runtime/src/chat-outbox-thread.d.ts +22 -18
- package/dist/agent-runtime/src/chat-outbox-thread.js +21 -94
- package/dist/agent-runtime/src/chat-outbox-thread.js.map +1 -1
- package/dist/agent-runtime/src/chat-outbox.cjs +492 -547
- package/dist/agent-runtime/src/chat-outbox.cjs.map +1 -1
- package/dist/agent-runtime/src/chat-outbox.d.ts +110 -142
- package/dist/agent-runtime/src/chat-outbox.js +492 -547
- package/dist/agent-runtime/src/chat-outbox.js.map +1 -1
- package/dist/agent-runtime/src/composer-markdown.cjs +0 -16
- package/dist/agent-runtime/src/composer-markdown.cjs.map +1 -1
- package/dist/agent-runtime/src/composer-markdown.d.ts +1 -1
- package/dist/agent-runtime/src/composer-markdown.js +1 -17
- package/dist/agent-runtime/src/composer-markdown.js.map +1 -1
- package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs +3 -1
- package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -1
- package/dist/agent-runtime/src/deep-agent-transport-recipe.d.ts +8 -1
- package/dist/agent-runtime/src/deep-agent-transport-recipe.js +3 -1
- package/dist/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -1
- package/dist/agent-runtime/src/dictation-preferences.d.ts +356 -0
- package/dist/agent-runtime/src/dictation-record.d.ts +279 -0
- package/dist/agent-runtime/src/dictation-session.d.ts +106 -7
- package/dist/agent-runtime/src/dictation-snippets.d.ts +9 -0
- package/dist/agent-runtime/src/dictation-transfer.d.ts +142 -0
- package/dist/agent-runtime/src/edit-command.cjs.map +1 -1
- package/dist/agent-runtime/src/edit-command.d.ts +1 -1
- package/dist/agent-runtime/src/edit-command.js.map +1 -1
- package/dist/agent-runtime/src/errors.cjs +1 -0
- package/dist/agent-runtime/src/errors.cjs.map +1 -1
- package/dist/agent-runtime/src/errors.js +1 -0
- package/dist/agent-runtime/src/errors.js.map +1 -1
- package/dist/agent-runtime/src/generated/runconfig-contract.cjs +24 -0
- package/dist/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -1
- package/dist/agent-runtime/src/generated/runconfig-contract.d.ts +3 -3
- package/dist/agent-runtime/src/generated/runconfig-contract.js +24 -0
- package/dist/agent-runtime/src/generated/runconfig-contract.js.map +1 -1
- package/dist/agent-runtime/src/index.d.ts +14 -8
- package/dist/agent-runtime/src/lane-follow.cjs +289 -0
- package/dist/agent-runtime/src/lane-follow.cjs.map +1 -0
- package/dist/agent-runtime/src/lane-follow.js +289 -0
- package/dist/agent-runtime/src/lane-follow.js.map +1 -0
- package/dist/agent-runtime/src/lane-images.cjs +387 -0
- package/dist/agent-runtime/src/lane-images.cjs.map +1 -0
- package/dist/agent-runtime/src/lane-images.js +387 -0
- package/dist/agent-runtime/src/lane-images.js.map +1 -0
- package/dist/agent-runtime/src/message-window.js +1 -1
- package/dist/agent-runtime/src/messages.cjs +19 -1
- package/dist/agent-runtime/src/messages.cjs.map +1 -1
- package/dist/agent-runtime/src/messages.d.ts +8 -0
- package/dist/agent-runtime/src/messages.js +21 -3
- package/dist/agent-runtime/src/messages.js.map +1 -1
- package/dist/agent-runtime/src/named-agents.cjs +301 -0
- package/dist/agent-runtime/src/named-agents.cjs.map +1 -0
- package/dist/agent-runtime/src/named-agents.d.ts +246 -0
- package/dist/agent-runtime/src/named-agents.js +301 -0
- package/dist/agent-runtime/src/named-agents.js.map +1 -0
- package/dist/agent-runtime/src/offline-status.cjs.map +1 -1
- package/dist/agent-runtime/src/offline-status.d.ts +93 -2
- package/dist/agent-runtime/src/offline-status.js.map +1 -1
- package/dist/agent-runtime/src/ptc-subcalls.cjs +41 -0
- package/dist/agent-runtime/src/ptc-subcalls.cjs.map +1 -0
- package/dist/agent-runtime/src/ptc-subcalls.js +41 -0
- package/dist/agent-runtime/src/ptc-subcalls.js.map +1 -0
- package/dist/agent-runtime/src/queue.cjs +2 -2
- package/dist/agent-runtime/src/queue.cjs.map +1 -1
- package/dist/agent-runtime/src/queue.d.ts +20 -25
- package/dist/agent-runtime/src/queue.js +2 -2
- package/dist/agent-runtime/src/queue.js.map +1 -1
- package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs +314 -84
- package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -1
- package/dist/agent-runtime/src/quota-safe-local-storage-session.d.ts +137 -40
- package/dist/agent-runtime/src/quota-safe-local-storage-session.js +318 -88
- package/dist/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -1
- package/dist/agent-runtime/src/run-send.cjs +54 -0
- package/dist/agent-runtime/src/run-send.cjs.map +1 -0
- package/dist/agent-runtime/src/run-send.d.ts +51 -0
- package/dist/agent-runtime/src/run-send.js +54 -0
- package/dist/agent-runtime/src/run-send.js.map +1 -0
- package/dist/agent-runtime/src/running-tool-placeholder.cjs +6 -0
- package/dist/agent-runtime/src/running-tool-placeholder.cjs.map +1 -1
- package/dist/agent-runtime/src/running-tool-placeholder.js +6 -0
- package/dist/agent-runtime/src/running-tool-placeholder.js.map +1 -1
- package/dist/agent-runtime/src/runtime.d.ts +9 -5
- package/dist/agent-runtime/src/sealed-idb.cjs +64 -0
- package/dist/agent-runtime/src/sealed-idb.cjs.map +1 -1
- package/dist/agent-runtime/src/sealed-idb.d.ts +16 -0
- package/dist/agent-runtime/src/sealed-idb.js +64 -0
- package/dist/agent-runtime/src/sealed-idb.js.map +1 -1
- package/dist/agent-runtime/src/send-recovery.cjs +90 -118
- package/dist/agent-runtime/src/send-recovery.cjs.map +1 -1
- package/dist/agent-runtime/src/send-recovery.d.ts +25 -29
- package/dist/agent-runtime/src/send-recovery.js +90 -118
- package/dist/agent-runtime/src/send-recovery.js.map +1 -1
- package/dist/agent-runtime/src/statewire-diagnostics.d.ts +4 -1
- package/dist/agent-runtime/src/statewire-held-sends.cjs +191 -0
- package/dist/agent-runtime/src/statewire-held-sends.cjs.map +1 -0
- package/dist/agent-runtime/src/statewire-held-sends.d.ts +119 -0
- package/dist/agent-runtime/src/statewire-held-sends.js +191 -0
- package/dist/agent-runtime/src/statewire-held-sends.js.map +1 -0
- package/dist/agent-runtime/src/statewire-state.cjs +4 -0
- package/dist/agent-runtime/src/statewire-state.cjs.map +1 -1
- package/dist/agent-runtime/src/statewire-state.js +4 -0
- package/dist/agent-runtime/src/statewire-state.js.map +1 -1
- package/dist/agent-runtime/src/statewire-transport.cjs +8 -2
- package/dist/agent-runtime/src/statewire-transport.cjs.map +1 -1
- package/dist/agent-runtime/src/statewire-transport.d.ts +14 -5
- package/dist/agent-runtime/src/statewire-transport.js +8 -2
- package/dist/agent-runtime/src/statewire-transport.js.map +1 -1
- package/dist/agent-runtime/src/subagent-transcripts.cjs +1 -23
- package/dist/agent-runtime/src/subagent-transcripts.cjs.map +1 -1
- package/dist/agent-runtime/src/subagent-transcripts.js +3 -25
- package/dist/agent-runtime/src/subagent-transcripts.js.map +1 -1
- package/dist/agent-runtime/src/subagents.cjs +22 -29
- package/dist/agent-runtime/src/subagents.cjs.map +1 -1
- package/dist/agent-runtime/src/subagents.js +23 -30
- package/dist/agent-runtime/src/subagents.js.map +1 -1
- package/dist/agent-runtime/src/thread-extras.cjs +27 -19
- package/dist/agent-runtime/src/thread-extras.cjs.map +1 -1
- package/dist/agent-runtime/src/thread-extras.d.ts +19 -6
- package/dist/agent-runtime/src/thread-extras.js +27 -19
- package/dist/agent-runtime/src/thread-extras.js.map +1 -1
- package/dist/agent-runtime/src/thread-handoff-flow-machine.d.ts +8 -8
- package/dist/agent-runtime/src/tool-metadata.cjs +19 -0
- package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -1
- package/dist/agent-runtime/src/tool-metadata.js +19 -0
- package/dist/agent-runtime/src/tool-metadata.js.map +1 -1
- package/dist/agent-runtime/src/tool-names.cjs +21 -0
- package/dist/agent-runtime/src/tool-names.cjs.map +1 -1
- package/dist/agent-runtime/src/tool-names.d.ts +8 -0
- package/dist/agent-runtime/src/tool-names.js +21 -0
- package/dist/agent-runtime/src/tool-names.js.map +1 -1
- package/dist/agent-runtime/src/typed-interrupt-kinds.cjs +247 -0
- package/dist/agent-runtime/src/typed-interrupt-kinds.cjs.map +1 -0
- package/dist/agent-runtime/src/typed-interrupt-kinds.d.ts +173 -0
- package/dist/agent-runtime/src/typed-interrupt-kinds.js +247 -0
- package/dist/agent-runtime/src/typed-interrupt-kinds.js.map +1 -0
- package/dist/agent-runtime/src/typed-interrupts.cjs +48 -0
- package/dist/agent-runtime/src/typed-interrupts.cjs.map +1 -0
- package/dist/agent-runtime/src/typed-interrupts.d.ts +75 -0
- package/dist/agent-runtime/src/typed-interrupts.js +48 -0
- package/dist/agent-runtime/src/typed-interrupts.js.map +1 -0
- package/dist/agent-runtime/src/types.d.ts +1 -1
- package/dist/agent-runtime/src/use-conversation-list.cjs +1 -0
- package/dist/agent-runtime/src/use-conversation-list.cjs.map +1 -1
- package/dist/agent-runtime/src/use-conversation-list.d.ts +7 -0
- package/dist/agent-runtime/src/use-conversation-list.js +1 -0
- package/dist/agent-runtime/src/use-conversation-list.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.cjs +46 -29
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.d.ts +14 -22
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.js +46 -29
- package/dist/agent-runtime/src/use-deep-agent-chat-outbox.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-runtime.cjs +78 -14
- package/dist/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-runtime.d.ts +34 -7
- package/dist/agent-runtime/src/use-deep-agent-runtime.js +79 -15
- package/dist/agent-runtime/src/use-deep-agent-runtime.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.cjs +16 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.d.ts +7 -2
- package/dist/agent-runtime/src/use-deep-agent-thread.js +16 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.js.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-voice.cjs +30 -4
- package/dist/agent-runtime/src/use-deep-agent-voice.cjs.map +1 -1
- package/dist/agent-runtime/src/use-deep-agent-voice.d.ts +22 -4
- package/dist/agent-runtime/src/use-deep-agent-voice.js +30 -4
- package/dist/agent-runtime/src/use-deep-agent-voice.js.map +1 -1
- package/dist/agent-runtime/src/withdrawn-turns.d.ts +5 -4
- package/dist/agent-runtime/src/word-device-fit.d.ts +174 -0
- package/dist/agent-runtime/src/work-in.d.ts +127 -0
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
- package/dist/assets/AthenaAssetEmbed.d.ts +6 -1
- package/dist/assets/AthenaAssetEmbed.js.map +1 -1
- package/dist/assets/asset-panel-store.cjs +13 -5
- package/dist/assets/asset-panel-store.cjs.map +1 -1
- package/dist/assets/asset-panel-store.d.ts +33 -2
- package/dist/assets/asset-panel-store.js +13 -5
- package/dist/assets/asset-panel-store.js.map +1 -1
- package/dist/auth/AthenaCredentialSourceContext.cjs +11 -0
- package/dist/auth/AthenaCredentialSourceContext.cjs.map +1 -1
- package/dist/auth/AthenaCredentialSourceContext.d.ts +6 -0
- package/dist/auth/AthenaCredentialSourceContext.js +11 -0
- package/dist/auth/AthenaCredentialSourceContext.js.map +1 -1
- package/dist/auth/account-identity.cjs +13 -2
- package/dist/auth/account-identity.cjs.map +1 -1
- package/dist/auth/account-identity.d.ts +9 -0
- package/dist/auth/account-identity.js +13 -2
- package/dist/auth/account-identity.js.map +1 -1
- package/dist/auth/credential-source.cjs +20 -4
- package/dist/auth/credential-source.cjs.map +1 -1
- package/dist/auth/credential-source.d.ts +9 -0
- package/dist/auth/credential-source.js +20 -4
- package/dist/auth/credential-source.js.map +1 -1
- package/dist/catalog/chat-pickers.cjs +31 -0
- package/dist/catalog/chat-pickers.cjs.map +1 -1
- package/dist/catalog/chat-pickers.d.ts +17 -0
- package/dist/catalog/chat-pickers.js +33 -2
- package/dist/catalog/chat-pickers.js.map +1 -1
- package/dist/catalog/runtime-catalog.cjs +63 -3
- package/dist/catalog/runtime-catalog.cjs.map +1 -1
- package/dist/catalog/runtime-catalog.d.ts +63 -3
- package/dist/catalog/runtime-catalog.js +64 -4
- package/dist/catalog/runtime-catalog.js.map +1 -1
- package/dist/chat/AthenaChat.cjs +301 -98
- package/dist/chat/AthenaChat.cjs.map +1 -1
- package/dist/chat/AthenaChat.d.ts +80 -4
- package/dist/chat/AthenaChat.js +302 -99
- package/dist/chat/AthenaChat.js.map +1 -1
- package/dist/chat/StatewireApprovalCard.cjs +35 -5
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
- package/dist/chat/StatewireApprovalCard.d.ts +55 -2
- package/dist/chat/StatewireApprovalCard.js +37 -7
- package/dist/chat/StatewireApprovalCard.js.map +1 -1
- package/dist/chat/StatewireQueuedMessages.cjs +17 -2
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
- package/dist/chat/StatewireQueuedMessages.d.ts +8 -45
- package/dist/chat/StatewireQueuedMessages.js +18 -3
- package/dist/chat/StatewireQueuedMessages.js.map +1 -1
- package/dist/chat/chat-agent-mentions.cjs +70 -0
- package/dist/chat/chat-agent-mentions.cjs.map +1 -0
- package/dist/chat/chat-agent-mentions.d.ts +13 -0
- package/dist/chat/chat-agent-mentions.js +70 -0
- package/dist/chat/chat-agent-mentions.js.map +1 -0
- package/dist/chat/composer-actions.cjs +12 -0
- package/dist/chat/composer-actions.cjs.map +1 -0
- package/dist/chat/composer-actions.d.ts +22 -0
- package/dist/chat/composer-actions.js +12 -0
- package/dist/chat/composer-actions.js.map +1 -0
- package/dist/chat/follow-up-suggestions.cjs +185 -0
- package/dist/chat/follow-up-suggestions.cjs.map +1 -0
- package/dist/chat/follow-up-suggestions.d.ts +64 -0
- package/dist/chat/follow-up-suggestions.js +185 -0
- package/dist/chat/follow-up-suggestions.js.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs +4 -3
- package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -1
- package/dist/chat/super-grouping/ToolTimeline.d.ts +7 -3
- package/dist/chat/super-grouping/ToolTimeline.js +4 -3
- package/dist/chat/super-grouping/ToolTimeline.js.map +1 -1
- package/dist/chat/turn-changes.cjs +284 -0
- package/dist/chat/turn-changes.cjs.map +1 -0
- package/dist/chat/turn-changes.d.ts +130 -0
- package/dist/chat/turn-changes.js +284 -0
- package/dist/chat/turn-changes.js.map +1 -0
- package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.cjs +31 -0
- package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.cjs.map +1 -0
- package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.d.ts +31 -0
- package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.js +31 -0
- package/dist/chat/typed-interrupts/StatewireTypedInterruptCard.js.map +1 -0
- package/dist/chat/typed-interrupts/approval-cards.cjs +250 -0
- package/dist/chat/typed-interrupts/approval-cards.cjs.map +1 -0
- package/dist/chat/typed-interrupts/approval-cards.d.ts +22 -0
- package/dist/chat/typed-interrupts/approval-cards.js +250 -0
- package/dist/chat/typed-interrupts/approval-cards.js.map +1 -0
- package/dist/chat/typed-interrupts/form-cards.cjs +289 -0
- package/dist/chat/typed-interrupts/form-cards.cjs.map +1 -0
- package/dist/chat/typed-interrupts/form-cards.d.ts +6 -0
- package/dist/chat/typed-interrupts/form-cards.js +289 -0
- package/dist/chat/typed-interrupts/form-cards.js.map +1 -0
- package/dist/chat/typed-interrupts/interrupt-card-shell.cjs +182 -0
- package/dist/chat/typed-interrupts/interrupt-card-shell.cjs.map +1 -0
- package/dist/chat/typed-interrupts/interrupt-card-shell.d.ts +47 -0
- package/dist/chat/typed-interrupts/interrupt-card-shell.js +182 -0
- package/dist/chat/typed-interrupts/interrupt-card-shell.js.map +1 -0
- package/dist/chat/typed-interrupts/json-schema-form.cjs +388 -0
- package/dist/chat/typed-interrupts/json-schema-form.cjs.map +1 -0
- package/dist/chat/typed-interrupts/json-schema-form.d.ts +33 -0
- package/dist/chat/typed-interrupts/json-schema-form.js +388 -0
- package/dist/chat/typed-interrupts/json-schema-form.js.map +1 -0
- package/dist/chat/typed-interrupts/questionnaire-card.cjs +449 -0
- package/dist/chat/typed-interrupts/questionnaire-card.cjs.map +1 -0
- package/dist/chat/typed-interrupts/questionnaire-card.d.ts +20 -0
- package/dist/chat/typed-interrupts/questionnaire-card.js +449 -0
- package/dist/chat/typed-interrupts/questionnaire-card.js.map +1 -0
- package/dist/chat/typed-interrupts/request-file-card.cjs +159 -0
- package/dist/chat/typed-interrupts/request-file-card.cjs.map +1 -0
- package/dist/chat/typed-interrupts/request-file-card.d.ts +2 -0
- package/dist/chat/typed-interrupts/request-file-card.js +159 -0
- package/dist/chat/typed-interrupts/request-file-card.js.map +1 -0
- package/dist/chat/typed-interrupts/toolkit-selection-card.cjs +189 -0
- package/dist/chat/typed-interrupts/toolkit-selection-card.cjs.map +1 -0
- package/dist/chat/typed-interrupts/toolkit-selection-card.d.ts +23 -0
- package/dist/chat/typed-interrupts/toolkit-selection-card.js +189 -0
- package/dist/chat/typed-interrupts/toolkit-selection-card.js.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-body.cjs +26 -0
- package/dist/chat/typed-interrupts/typed-interrupt-body.cjs.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-body.d.ts +3 -0
- package/dist/chat/typed-interrupts/typed-interrupt-body.js +26 -0
- package/dist/chat/typed-interrupts/typed-interrupt-body.js.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-graphql.cjs +105 -0
- package/dist/chat/typed-interrupts/typed-interrupt-graphql.cjs.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-graphql.d.ts +29 -0
- package/dist/chat/typed-interrupts/typed-interrupt-graphql.js +105 -0
- package/dist/chat/typed-interrupts/typed-interrupt-graphql.js.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-notice.cjs +70 -0
- package/dist/chat/typed-interrupts/typed-interrupt-notice.cjs.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-notice.d.ts +45 -0
- package/dist/chat/typed-interrupts/typed-interrupt-notice.js +70 -0
- package/dist/chat/typed-interrupts/typed-interrupt-notice.js.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-panel.cjs +76 -0
- package/dist/chat/typed-interrupts/typed-interrupt-panel.cjs.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-panel.d.ts +11 -0
- package/dist/chat/typed-interrupts/typed-interrupt-panel.js +76 -0
- package/dist/chat/typed-interrupts/typed-interrupt-panel.js.map +1 -0
- package/dist/chat/typed-interrupts/typed-interrupt-types.d.ts +46 -0
- package/dist/chat/typed-interrupts/use-interrupt-draft.cjs +106 -0
- package/dist/chat/typed-interrupts/use-interrupt-draft.cjs.map +1 -0
- package/dist/chat/typed-interrupts/use-interrupt-draft.d.ts +29 -0
- package/dist/chat/typed-interrupts/use-interrupt-draft.js +106 -0
- package/dist/chat/typed-interrupts/use-interrupt-draft.js.map +1 -0
- package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.cjs +231 -0
- package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.cjs.map +1 -0
- package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.d.ts +66 -0
- package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.js +231 -0
- package/dist/chat/typed-interrupts/use-statewire-typed-interrupt.js.map +1 -0
- package/dist/chat-ui/composer/composer-named-agents.cjs +13 -0
- package/dist/chat-ui/composer/composer-named-agents.cjs.map +1 -0
- package/dist/chat-ui/composer/composer-named-agents.d.ts +20 -0
- package/dist/chat-ui/composer/composer-named-agents.js +13 -0
- package/dist/chat-ui/composer/composer-named-agents.js.map +1 -0
- package/dist/chat-ui/composer/slash-command-menu.cjs +143 -0
- package/dist/chat-ui/composer/slash-command-menu.cjs.map +1 -0
- package/dist/chat-ui/composer/slash-command-menu.d.ts +19 -0
- package/dist/chat-ui/composer/slash-command-menu.js +143 -0
- package/dist/chat-ui/composer/slash-command-menu.js.map +1 -0
- package/dist/chat-ui/composer/slash-commands-extension.cjs +51 -0
- package/dist/chat-ui/composer/slash-commands-extension.cjs.map +1 -0
- package/dist/chat-ui/composer/slash-commands-extension.d.ts +39 -0
- package/dist/chat-ui/composer/slash-commands-extension.js +51 -0
- package/dist/chat-ui/composer/slash-commands-extension.js.map +1 -0
- package/dist/chat-ui/composer/slash-commands.cjs +74 -0
- package/dist/chat-ui/composer/slash-commands.cjs.map +1 -0
- package/dist/chat-ui/composer/slash-commands.d.ts +82 -0
- package/dist/chat-ui/composer/slash-commands.js +74 -0
- package/dist/chat-ui/composer/slash-commands.js.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs +135 -9
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.d.ts +61 -2
- package/dist/chat-ui/composer/tiptap-composer.js +135 -9
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
- package/dist/chat-ui/index.cjs +5 -0
- package/dist/chat-ui/index.cjs.map +1 -1
- package/dist/chat-ui/index.d.ts +4 -2
- package/dist/chat-ui/index.js +5 -0
- package/dist/chat-ui/index.js.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs +10 -4
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.js +11 -5
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.cjs +8 -1
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.js +8 -1
- package/dist/chat-ui/mentions/mention-extension.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +1 -0
- package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +20 -2
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +10 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +22 -4
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +1 -1
- package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js +1 -1
- package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +45 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +48 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js +45 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icon-names.generated.cjs +89 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icon-names.generated.cjs.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icon-names.generated.d.ts +8 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icon-names.generated.js +89 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icon-names.generated.js.map +1 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +140 -116
- 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.d.ts +46 -12
- package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +141 -117
- 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 +272 -25
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +88 -10
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +274 -27
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/types.d.ts +27 -1
- package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +56 -5
- 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 +26 -6
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +57 -6
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +34 -17
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.d.ts +19 -1
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +35 -18
- package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -1
- package/dist/chat-ui/mentions/use-asset-icon-app-url.cjs +12 -0
- package/dist/chat-ui/mentions/use-asset-icon-app-url.cjs.map +1 -0
- package/dist/chat-ui/mentions/use-asset-icon-app-url.d.ts +8 -0
- package/dist/chat-ui/mentions/use-asset-icon-app-url.js +12 -0
- package/dist/chat-ui/mentions/use-asset-icon-app-url.js.map +1 -0
- package/dist/chat-ui/statewire.d.ts +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.cjs +15 -0
- package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.d.ts +4 -1
- package/dist/chat-ui/thread/statewire-history-edge.js +15 -0
- package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -1
- package/dist/collab/client.cjs +41 -6
- package/dist/collab/client.cjs.map +1 -1
- package/dist/collab/client.d.ts +38 -7
- package/dist/collab/client.js +41 -6
- package/dist/collab/client.js.map +1 -1
- package/dist/composer/ComposerAttachedReferences.cjs +119 -0
- package/dist/composer/ComposerAttachedReferences.cjs.map +1 -0
- package/dist/composer/ComposerAttachedReferences.d.ts +26 -0
- package/dist/composer/ComposerAttachedReferences.js +119 -0
- package/dist/composer/ComposerAttachedReferences.js.map +1 -0
- package/dist/composer/ComposerNamedAgents.cjs +63 -0
- package/dist/composer/ComposerNamedAgents.cjs.map +1 -0
- package/dist/composer/ComposerNamedAgents.d.ts +16 -0
- package/dist/composer/ComposerNamedAgents.js +63 -0
- package/dist/composer/ComposerNamedAgents.js.map +1 -0
- package/dist/composer/attached-references.cjs +159 -0
- package/dist/composer/attached-references.cjs.map +1 -0
- package/dist/composer/attached-references.d.ts +86 -0
- package/dist/composer/attached-references.js +159 -0
- package/dist/composer/attached-references.js.map +1 -0
- package/dist/composer/build-composed-message.cjs +14 -7
- package/dist/composer/build-composed-message.cjs.map +1 -1
- package/dist/composer/build-composed-message.d.ts +6 -1
- package/dist/composer/build-composed-message.js +14 -7
- package/dist/composer/build-composed-message.js.map +1 -1
- package/dist/composer/composer-handoff.cjs +6 -2
- package/dist/composer/composer-handoff.cjs.map +1 -1
- package/dist/composer/composer-handoff.d.ts +7 -1
- package/dist/composer/composer-handoff.js +6 -2
- package/dist/composer/composer-handoff.js.map +1 -1
- package/dist/composer/folder-upload.cjs +149 -0
- package/dist/composer/folder-upload.cjs.map +1 -0
- package/dist/composer/folder-upload.d.ts +79 -0
- package/dist/composer/folder-upload.js +149 -0
- package/dist/composer/folder-upload.js.map +1 -0
- package/dist/composer/index.d.ts +1 -1
- package/dist/composer/staged-message-metadata.cjs +12 -0
- package/dist/composer/staged-message-metadata.cjs.map +1 -0
- package/dist/composer/staged-message-metadata.d.ts +15 -0
- package/dist/composer/staged-message-metadata.js +12 -0
- package/dist/composer/staged-message-metadata.js.map +1 -0
- package/dist/composer/useAttachToChat.cjs +35 -0
- package/dist/composer/useAttachToChat.cjs.map +1 -0
- package/dist/composer/useAttachToChat.d.ts +54 -0
- package/dist/composer/useAttachToChat.js +35 -0
- package/dist/composer/useAttachToChat.js.map +1 -0
- package/dist/composer/useAttachedReferencesComposerProps.cjs +19 -0
- package/dist/composer/useAttachedReferencesComposerProps.cjs.map +1 -0
- package/dist/composer/useAttachedReferencesComposerProps.d.ts +12 -0
- package/dist/composer/useAttachedReferencesComposerProps.js +19 -0
- package/dist/composer/useAttachedReferencesComposerProps.js.map +1 -0
- package/dist/composer/useFileUpload.cjs +95 -7
- package/dist/composer/useFileUpload.cjs.map +1 -1
- package/dist/composer/useFileUpload.d.ts +21 -2
- package/dist/composer/useFileUpload.js +95 -7
- package/dist/composer/useFileUpload.js.map +1 -1
- package/dist/data/athena-api-error.cjs +125 -0
- package/dist/data/athena-api-error.cjs.map +1 -0
- package/dist/data/athena-api-error.d.ts +96 -0
- package/dist/data/athena-api-error.js +125 -0
- package/dist/data/athena-api-error.js.map +1 -0
- package/dist/data/athena-data-client.cjs +106 -0
- package/dist/data/athena-data-client.cjs.map +1 -0
- package/dist/data/athena-data-client.d.ts +74 -0
- package/dist/data/athena-data-client.js +106 -0
- package/dist/data/athena-data-client.js.map +1 -0
- package/dist/data/athena-member.cjs +93 -0
- package/dist/data/athena-member.cjs.map +1 -0
- package/dist/data/athena-member.d.ts +125 -0
- package/dist/data/athena-member.js +93 -0
- package/dist/data/athena-member.js.map +1 -0
- package/dist/data/athena-request.cjs +460 -0
- package/dist/data/athena-request.cjs.map +1 -0
- package/dist/data/athena-request.d.ts +120 -0
- package/dist/data/athena-request.js +460 -0
- package/dist/data/athena-request.js.map +1 -0
- package/dist/data/use-athena-fetch.cjs +14 -0
- package/dist/data/use-athena-fetch.cjs.map +1 -0
- package/dist/data/use-athena-fetch.d.ts +19 -0
- package/dist/data/use-athena-fetch.js +14 -0
- package/dist/data/use-athena-fetch.js.map +1 -0
- package/dist/data/use-athena-graphql.cjs +66 -0
- package/dist/data/use-athena-graphql.cjs.map +1 -0
- package/dist/data/use-athena-graphql.d.ts +56 -0
- package/dist/data/use-athena-graphql.js +66 -0
- package/dist/data/use-athena-graphql.js.map +1 -0
- package/dist/data/use-athena-rest.cjs +33 -0
- package/dist/data/use-athena-rest.cjs.map +1 -0
- package/dist/data/use-athena-rest.d.ts +21 -0
- package/dist/data/use-athena-rest.js +33 -0
- package/dist/data/use-athena-rest.js.map +1 -0
- package/dist/data/use-semantic-query.cjs +44 -0
- package/dist/data/use-semantic-query.cjs.map +1 -0
- package/dist/data/use-semantic-query.d.ts +92 -0
- package/dist/data/use-semantic-query.js +44 -0
- package/dist/data/use-semantic-query.js.map +1 -0
- package/dist/diagnostics/athena-diagnostics.cjs.map +1 -1
- package/dist/diagnostics/athena-diagnostics.d.ts +5 -1
- package/dist/diagnostics/athena-diagnostics.js.map +1 -1
- package/dist/diagnostics/errors.cjs +7 -0
- package/dist/diagnostics/errors.cjs.map +1 -1
- package/dist/diagnostics/errors.d.ts +7 -0
- package/dist/diagnostics/errors.js +7 -0
- package/dist/diagnostics/errors.js.map +1 -1
- package/dist/index.cjs +155 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +72 -13
- package/dist/index.js +148 -4
- package/dist/index.js.map +1 -1
- package/dist/keryx-http/src/initial-sync.cjs +64 -16
- package/dist/keryx-http/src/initial-sync.cjs.map +1 -1
- package/dist/keryx-http/src/initial-sync.d.ts +31 -1
- package/dist/keryx-http/src/initial-sync.js +64 -16
- package/dist/keryx-http/src/initial-sync.js.map +1 -1
- package/dist/keryx-http/src/own-awareness.cjs +20 -0
- package/dist/keryx-http/src/own-awareness.cjs.map +1 -0
- package/dist/keryx-http/src/own-awareness.d.ts +50 -0
- package/dist/keryx-http/src/own-awareness.js +20 -0
- package/dist/keryx-http/src/own-awareness.js.map +1 -0
- package/dist/keryx-http/src/update-attributions.cjs +26 -1
- package/dist/keryx-http/src/update-attributions.cjs.map +1 -1
- package/dist/keryx-http/src/update-attributions.d.ts +10 -1
- package/dist/keryx-http/src/update-attributions.js +26 -1
- package/dist/keryx-http/src/update-attributions.js.map +1 -1
- package/dist/offline/chat-outbox.cjs +262 -26
- package/dist/offline/chat-outbox.cjs.map +1 -1
- package/dist/offline/chat-outbox.d.ts +90 -12
- package/dist/offline/chat-outbox.js +263 -27
- package/dist/offline/chat-outbox.js.map +1 -1
- package/dist/provider/AthenaProvider.cjs +60 -22
- package/dist/provider/AthenaProvider.cjs.map +1 -1
- package/dist/provider/AthenaProvider.d.ts +24 -8
- package/dist/provider/AthenaProvider.js +61 -23
- package/dist/provider/AthenaProvider.js.map +1 -1
- package/dist/react/package.json.cjs +1 -1
- package/dist/react/package.json.js +1 -1
- package/dist/references/src/anchors/parse.cjs +11 -1
- package/dist/references/src/anchors/parse.cjs.map +1 -1
- package/dist/references/src/anchors/parse.js +11 -1
- package/dist/references/src/anchors/parse.js.map +1 -1
- package/dist/references/src/anchors/schemas.d.ts +1 -0
- package/dist/references/src/anchors/serialize.cjs +1 -0
- package/dist/references/src/anchors/serialize.cjs.map +1 -1
- package/dist/references/src/anchors/serialize.js +1 -0
- package/dist/references/src/anchors/serialize.js.map +1 -1
- package/dist/references/src/anchors/types.cjs +5 -0
- package/dist/references/src/anchors/types.cjs.map +1 -1
- package/dist/references/src/anchors/types.d.ts +9 -0
- package/dist/references/src/anchors/types.js +5 -0
- package/dist/references/src/anchors/types.js.map +1 -1
- package/dist/references/src/attachable.cjs +149 -0
- package/dist/references/src/attachable.cjs.map +1 -0
- package/dist/references/src/attachable.d.ts +87 -0
- package/dist/references/src/attachable.js +149 -0
- package/dist/references/src/attachable.js.map +1 -0
- package/dist/references/src/schemas.d.ts +2 -0
- package/dist/runtime/StatewirePlanModeLaneSync.cjs +93 -0
- package/dist/runtime/StatewirePlanModeLaneSync.cjs.map +1 -0
- package/dist/runtime/StatewirePlanModeLaneSync.d.ts +34 -0
- package/dist/runtime/StatewirePlanModeLaneSync.js +93 -0
- package/dist/runtime/StatewirePlanModeLaneSync.js.map +1 -0
- package/dist/runtime/StatewireThreadConfigLaneSync.cjs +2 -0
- package/dist/runtime/StatewireThreadConfigLaneSync.cjs.map +1 -1
- package/dist/runtime/StatewireThreadConfigLaneSync.d.ts +4 -0
- package/dist/runtime/StatewireThreadConfigLaneSync.js +2 -0
- package/dist/runtime/StatewireThreadConfigLaneSync.js.map +1 -1
- package/dist/runtime/statewire-plan-mode.cjs +71 -0
- package/dist/runtime/statewire-plan-mode.cjs.map +1 -0
- package/dist/runtime/statewire-plan-mode.d.ts +88 -0
- package/dist/runtime/statewire-plan-mode.js +71 -0
- package/dist/runtime/statewire-plan-mode.js.map +1 -0
- package/dist/runtime/statewire-run-config.cjs +3 -1
- package/dist/runtime/statewire-run-config.cjs.map +1 -1
- package/dist/runtime/statewire-run-config.d.ts +7 -0
- package/dist/runtime/statewire-run-config.js +3 -1
- package/dist/runtime/statewire-run-config.js.map +1 -1
- package/dist/runtime/statewire-session-key.cjs +11 -5
- package/dist/runtime/statewire-session-key.cjs.map +1 -1
- package/dist/runtime/statewire-session-key.d.ts +22 -10
- package/dist/runtime/statewire-session-key.js +11 -5
- package/dist/runtime/statewire-session-key.js.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.cjs +64 -9
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.d.ts +26 -10
- package/dist/runtime/useAthenaStatewireRuntime.js +66 -11
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
- package/dist/search/useAthenaAssets.cjs +394 -0
- package/dist/search/useAthenaAssets.cjs.map +1 -0
- package/dist/search/useAthenaAssets.d.ts +186 -0
- package/dist/search/useAthenaAssets.js +394 -0
- package/dist/search/useAthenaAssets.js.map +1 -0
- package/dist/sheet-range/index.cjs +4 -0
- package/dist/sheet-range/index.cjs.map +1 -1
- package/dist/sheet-range/index.d.ts +4 -2
- package/dist/sheet-range/index.js +4 -0
- package/dist/sheet-range/index.js.map +1 -1
- package/dist/sheet-range/query-range.cjs +102 -0
- package/dist/sheet-range/query-range.cjs.map +1 -0
- package/dist/sheet-range/query-range.d.ts +46 -0
- package/dist/sheet-range/query-range.js +102 -0
- package/dist/sheet-range/query-range.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/subagents/index.cjs +49 -0
- package/dist/subagents/index.cjs.map +1 -0
- package/dist/subagents/index.d.ts +16 -0
- package/dist/subagents/index.js +49 -0
- package/dist/subagents/index.js.map +1 -0
- package/dist/subagents/lane-follow.cjs +19 -0
- package/dist/subagents/lane-follow.cjs.map +1 -0
- package/dist/subagents/lane-follow.d.ts +9 -0
- package/dist/subagents/lane-follow.js +19 -0
- package/dist/subagents/lane-follow.js.map +1 -0
- package/dist/subagents/lane-model.cjs +178 -0
- package/dist/subagents/lane-model.cjs.map +1 -0
- package/dist/subagents/lane-model.d.ts +140 -0
- package/dist/subagents/lane-model.js +178 -0
- package/dist/subagents/lane-model.js.map +1 -0
- package/dist/subagents/lane-parts.cjs +517 -0
- package/dist/subagents/lane-parts.cjs.map +1 -0
- package/dist/subagents/lane-parts.d.ts +130 -0
- package/dist/subagents/lane-parts.js +517 -0
- package/dist/subagents/lane-parts.js.map +1 -0
- package/dist/subagents/subagent-lane-group.cjs +215 -0
- package/dist/subagents/subagent-lane-group.cjs.map +1 -0
- package/dist/subagents/subagent-lane-group.d.ts +67 -0
- package/dist/subagents/subagent-lane-group.js +215 -0
- package/dist/subagents/subagent-lane-group.js.map +1 -0
- package/dist/subagents/subagent-transcript-drawer.cjs +431 -0
- package/dist/subagents/subagent-transcript-drawer.cjs.map +1 -0
- package/dist/subagents/subagent-transcript-drawer.d.ts +78 -0
- package/dist/subagents/subagent-transcript-drawer.js +431 -0
- package/dist/subagents/subagent-transcript-drawer.js.map +1 -0
- package/dist/subagents/task-subagent-group.cjs +115 -0
- package/dist/subagents/task-subagent-group.cjs.map +1 -0
- package/dist/subagents/task-subagent-group.d.ts +36 -0
- package/dist/subagents/task-subagent-group.js +115 -0
- package/dist/subagents/task-subagent-group.js.map +1 -0
- package/dist/subagents/use-omitted-images-in-view.cjs +68 -0
- package/dist/subagents/use-omitted-images-in-view.cjs.map +1 -0
- package/dist/subagents/use-omitted-images-in-view.d.ts +21 -0
- package/dist/subagents/use-omitted-images-in-view.js +68 -0
- package/dist/subagents/use-omitted-images-in-view.js.map +1 -0
- package/dist/threads/Inbox.cjs +2 -2
- package/dist/threads/Inbox.cjs.map +1 -1
- package/dist/threads/SessionList.cjs +6 -6
- package/dist/threads/SessionList.cjs.map +1 -1
- package/dist/threads/SessionsPage.cjs +13 -7
- package/dist/threads/SessionsPage.cjs.map +1 -1
- package/dist/threads/SessionsPage.d.ts +10 -1
- package/dist/threads/SessionsPage.js +9 -3
- package/dist/threads/SessionsPage.js.map +1 -1
- package/dist/threads/session-list-model.cjs.map +1 -1
- package/dist/threads/session-list-model.d.ts +2 -1
- package/dist/threads/session-list-model.js.map +1 -1
- package/dist/threads/session-row-parts.cjs +3 -3
- package/dist/threads/session-row-parts.cjs.map +1 -1
- package/dist/threads/sessions-page-model.cjs +13 -5
- package/dist/threads/sessions-page-model.cjs.map +1 -1
- package/dist/threads/sessions-page-model.d.ts +7 -0
- package/dist/threads/sessions-page-model.js +11 -3
- package/dist/threads/sessions-page-model.js.map +1 -1
- package/dist/threads/sessions-page-storage.cjs +8 -8
- package/dist/threads/sessions-page-storage.cjs.map +1 -1
- package/dist/threads/sessions-page-storage.d.ts +5 -1
- package/dist/threads/sessions-page-storage.js +8 -8
- package/dist/threads/sessions-page-storage.js.map +1 -1
- package/dist/threads/statewire-thread-list.cjs +14 -2
- package/dist/threads/statewire-thread-list.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.d.ts +11 -2
- package/dist/threads/statewire-thread-list.js +14 -2
- package/dist/threads/statewire-thread-list.js.map +1 -1
- package/dist/threads/use-athena-sessions.cjs +1 -0
- package/dist/threads/use-athena-sessions.cjs.map +1 -1
- package/dist/threads/use-athena-sessions.d.ts +7 -0
- package/dist/threads/use-athena-sessions.js +1 -0
- package/dist/threads/use-athena-sessions.js.map +1 -1
- package/dist/threads/use-athena-thread-agent.cjs +31 -0
- package/dist/threads/use-athena-thread-agent.cjs.map +1 -0
- package/dist/threads/use-athena-thread-agent.d.ts +38 -0
- package/dist/threads/use-athena-thread-agent.js +31 -0
- package/dist/threads/use-athena-thread-agent.js.map +1 -0
- package/dist/threads/use-athena-thread-plan-mode.cjs +18 -0
- package/dist/threads/use-athena-thread-plan-mode.cjs.map +1 -0
- package/dist/threads/use-athena-thread-plan-mode.d.ts +18 -0
- package/dist/threads/use-athena-thread-plan-mode.js +18 -0
- package/dist/threads/use-athena-thread-plan-mode.js.map +1 -0
- package/dist/threads/use-rest-conversation-history.d.ts +1 -0
- package/dist/tools/agent-creations.cjs +97 -0
- package/dist/tools/agent-creations.cjs.map +1 -0
- package/dist/tools/agent-creations.d.ts +38 -0
- package/dist/tools/agent-creations.js +97 -0
- package/dist/tools/agent-creations.js.map +1 -0
- package/dist/tools/agent-highlights.cjs +100 -0
- package/dist/tools/agent-highlights.cjs.map +1 -0
- package/dist/tools/agent-highlights.d.ts +57 -0
- package/dist/tools/agent-highlights.js +100 -0
- package/dist/tools/agent-highlights.js.map +1 -0
- package/dist/tools/append-document-tool-ui.cjs +1 -0
- package/dist/tools/append-document-tool-ui.cjs.map +1 -1
- package/dist/tools/append-document-tool-ui.d.ts +7 -0
- package/dist/tools/append-document-tool-ui.js +2 -1
- package/dist/tools/append-document-tool-ui.js.map +1 -1
- package/dist/tools/auto-open-tools.cjs +144 -71
- package/dist/tools/auto-open-tools.cjs.map +1 -1
- package/dist/tools/auto-open-tools.d.ts +131 -1
- package/dist/tools/auto-open-tools.js +145 -72
- package/dist/tools/auto-open-tools.js.map +1 -1
- package/dist/tools/browser-tool-uis.cjs +594 -0
- package/dist/tools/browser-tool-uis.cjs.map +1 -0
- package/dist/tools/browser-tool-uis.d.ts +8 -0
- package/dist/tools/browser-tool-uis.js +594 -0
- package/dist/tools/browser-tool-uis.js.map +1 -0
- package/dist/tools/computer-asset-tool-uis.cjs +313 -0
- package/dist/tools/computer-asset-tool-uis.cjs.map +1 -0
- package/dist/tools/computer-asset-tool-uis.d.ts +5 -0
- package/dist/tools/computer-asset-tool-uis.js +313 -0
- package/dist/tools/computer-asset-tool-uis.js.map +1 -0
- package/dist/tools/document-edit-tool-uis.cjs +218 -0
- package/dist/tools/document-edit-tool-uis.cjs.map +1 -0
- package/dist/tools/document-edit-tool-uis.d.ts +40 -0
- package/dist/tools/document-edit-tool-uis.js +218 -0
- package/dist/tools/document-edit-tool-uis.js.map +1 -0
- package/dist/tools/drive-tool-uis.cjs +429 -0
- package/dist/tools/drive-tool-uis.cjs.map +1 -0
- package/dist/tools/drive-tool-uis.d.ts +121 -0
- package/dist/tools/drive-tool-uis.js +429 -0
- package/dist/tools/drive-tool-uis.js.map +1 -0
- package/dist/tools/email-calendar-tool-uis.cjs +789 -0
- package/dist/tools/email-calendar-tool-uis.cjs.map +1 -0
- package/dist/tools/email-calendar-tool-uis.d.ts +129 -0
- package/dist/tools/email-calendar-tool-uis.js +789 -0
- package/dist/tools/email-calendar-tool-uis.js.map +1 -0
- package/dist/tools/ontology-tool-uis.cjs +83 -0
- package/dist/tools/ontology-tool-uis.cjs.map +1 -0
- package/dist/tools/ontology-tool-uis.d.ts +9 -0
- package/dist/tools/ontology-tool-uis.js +83 -0
- package/dist/tools/ontology-tool-uis.js.map +1 -0
- package/dist/tools/orchestration-tool-uis.cjs +586 -0
- package/dist/tools/orchestration-tool-uis.cjs.map +1 -0
- package/dist/tools/orchestration-tool-uis.d.ts +141 -0
- package/dist/tools/orchestration-tool-uis.js +586 -0
- package/dist/tools/orchestration-tool-uis.js.map +1 -0
- package/dist/tools/presentation-edit-tool-uis.cjs +516 -0
- package/dist/tools/presentation-edit-tool-uis.cjs.map +1 -0
- package/dist/tools/presentation-edit-tool-uis.d.ts +73 -0
- package/dist/tools/presentation-edit-tool-uis.js +516 -0
- package/dist/tools/presentation-edit-tool-uis.js.map +1 -0
- package/dist/tools/project-tool-uis.cjs +213 -0
- package/dist/tools/project-tool-uis.cjs.map +1 -0
- package/dist/tools/project-tool-uis.d.ts +14 -0
- package/dist/tools/project-tool-uis.js +213 -0
- package/dist/tools/project-tool-uis.js.map +1 -0
- package/dist/tools/sandbox-tool-uis.cjs +491 -0
- package/dist/tools/sandbox-tool-uis.cjs.map +1 -0
- package/dist/tools/sandbox-tool-uis.d.ts +116 -0
- package/dist/tools/sandbox-tool-uis.js +491 -0
- package/dist/tools/sandbox-tool-uis.js.map +1 -0
- package/dist/tools/sheet-query-tool-ui.cjs +138 -0
- package/dist/tools/sheet-query-tool-ui.cjs.map +1 -0
- package/dist/tools/sheet-query-tool-ui.d.ts +15 -0
- package/dist/tools/sheet-query-tool-ui.js +138 -0
- package/dist/tools/sheet-query-tool-ui.js.map +1 -0
- package/dist/tools/studio-screenshot-tool-uis.cjs +262 -0
- package/dist/tools/studio-screenshot-tool-uis.cjs.map +1 -0
- package/dist/tools/studio-screenshot-tool-uis.d.ts +52 -0
- package/dist/tools/studio-screenshot-tool-uis.js +262 -0
- package/dist/tools/studio-screenshot-tool-uis.js.map +1 -0
- package/dist/tools/subagent-task-tool-ui.cjs +24 -475
- package/dist/tools/subagent-task-tool-ui.cjs.map +1 -1
- package/dist/tools/subagent-task-tool-ui.d.ts +19 -103
- package/dist/tools/subagent-task-tool-ui.js +28 -479
- package/dist/tools/subagent-task-tool-ui.js.map +1 -1
- package/dist/tools/tool-summary.cjs +36 -0
- package/dist/tools/tool-summary.cjs.map +1 -1
- package/dist/tools/tool-summary.js +36 -0
- package/dist/tools/tool-summary.js.map +1 -1
- package/dist/tools/tool-uis.cjs +181 -53
- package/dist/tools/tool-uis.cjs.map +1 -1
- package/dist/tools/tool-uis.d.ts +40 -0
- package/dist/tools/tool-uis.js +183 -55
- package/dist/tools/tool-uis.js.map +1 -1
- package/dist/typed-interrupts/index.cjs +15 -0
- package/dist/typed-interrupts/index.cjs.map +1 -0
- package/dist/typed-interrupts/index.d.ts +20 -0
- package/dist/typed-interrupts/index.js +15 -0
- package/dist/typed-interrupts/index.js.map +1 -0
- package/dist/version.cjs +4 -0
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.ts +9 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -1
- package/dist/workbench/live-desktop-api.cjs +2 -1
- package/dist/workbench/live-desktop-api.cjs.map +1 -1
- package/dist/workbench/live-desktop-api.js +2 -1
- package/dist/workbench/live-desktop-api.js.map +1 -1
- package/dist/workbench/session-workbench-panes.cjs +6 -6
- package/dist/workbench/session-workbench-panes.cjs.map +1 -1
- package/dist/workbench/session-workspace-api.cjs +7 -2
- package/dist/workbench/session-workspace-api.cjs.map +1 -1
- package/dist/workbench/session-workspace-api.d.ts +10 -0
- package/dist/workbench/session-workspace-api.js +7 -2
- package/dist/workbench/session-workspace-api.js.map +1 -1
- package/package.json +28 -6
- package/dist/agent-runtime/src/chat-outbox-store.cjs +0 -510
- package/dist/agent-runtime/src/chat-outbox-store.cjs.map +0 -1
- package/dist/agent-runtime/src/chat-outbox-store.d.ts +0 -210
- package/dist/agent-runtime/src/chat-outbox-store.js +0 -510
- package/dist/agent-runtime/src/chat-outbox-store.js.map +0 -1
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("@assistant-ui/react");
|
|
5
|
+
const lucideReact = require("lucide-react");
|
|
6
|
+
const require$$0 = require("react");
|
|
7
|
+
const assetPanelStore = require("../assets/asset-panel-store.cjs");
|
|
8
|
+
const utils = require("../lib/utils.cjs");
|
|
9
|
+
const toolAppearance = require("./tool-appearance.cjs");
|
|
10
|
+
const toolFallback = require("./tool-fallback.cjs");
|
|
11
|
+
const toolSummary = require("./tool-summary.cjs");
|
|
12
|
+
const toolResult = require("../agent-runtime/src/tool-result.cjs");
|
|
13
|
+
const executeOutput = require("../agent-runtime/src/execute-output.cjs");
|
|
14
|
+
const cnfast = require("cnfast");
|
|
15
|
+
function cardStateOf({
|
|
16
|
+
status,
|
|
17
|
+
isError,
|
|
18
|
+
isPreliminary,
|
|
19
|
+
result
|
|
20
|
+
}) {
|
|
21
|
+
if ((status == null ? void 0 : status.type) === "running") return "running";
|
|
22
|
+
if ((status == null ? void 0 : status.type) === "requires-action") return "waiting";
|
|
23
|
+
if ((status == null ? void 0 : status.type) === "incomplete") return status.reason === "cancelled" ? "cancelled" : "error";
|
|
24
|
+
if (isPreliminary === true) return "running";
|
|
25
|
+
if (isError === true) return "error";
|
|
26
|
+
return status === void 0 && result === void 0 ? "running" : "complete";
|
|
27
|
+
}
|
|
28
|
+
function cardOutcome({ state, failed }) {
|
|
29
|
+
if (failed || state === "error" || state === "cancelled") return "error";
|
|
30
|
+
return state === "waiting" ? "requires-action" : state;
|
|
31
|
+
}
|
|
32
|
+
function rendersAsGenericCard({
|
|
33
|
+
status,
|
|
34
|
+
result,
|
|
35
|
+
isError
|
|
36
|
+
}) {
|
|
37
|
+
const { state } = toolResult.classifyToolResult({ status, result, isError });
|
|
38
|
+
return state === "rejected" || state === "paused";
|
|
39
|
+
}
|
|
40
|
+
function stoppedCallFailure(status) {
|
|
41
|
+
var _a;
|
|
42
|
+
if ((status == null ? void 0 : status.type) !== "incomplete" || status.reason === "cancelled") return null;
|
|
43
|
+
return ((_a = toolResult.toolFailure({ status })) == null ? void 0 : _a.message) ?? null;
|
|
44
|
+
}
|
|
45
|
+
function argsRecord(args) {
|
|
46
|
+
return utils.isRecord(args) ? args : void 0;
|
|
47
|
+
}
|
|
48
|
+
function stringArg(args, key) {
|
|
49
|
+
const value = args == null ? void 0 : args[key];
|
|
50
|
+
return typeof value === "string" ? value : void 0;
|
|
51
|
+
}
|
|
52
|
+
function useCardChrome({ tint = "bg-muted/40 hover:bg-muted/70" } = {}) {
|
|
53
|
+
const isThread = toolAppearance.useToolAppearance() === "thread";
|
|
54
|
+
return isThread ? {
|
|
55
|
+
root: "my-1.5 w-full overflow-hidden rounded-lg border border-border/50 bg-background",
|
|
56
|
+
header: "px-2.5 py-1.5 transition-colors hover:bg-muted/40"
|
|
57
|
+
} : {
|
|
58
|
+
root: "my-2 w-full overflow-hidden rounded-lg border border-border bg-card shadow-sm",
|
|
59
|
+
header: cnfast.cn("px-4 py-2.5 transition-colors", tint)
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const CHIP_CLASS = "shrink-0 rounded px-1.5 py-0.5 font-mono text-[10px] font-medium leading-4";
|
|
63
|
+
function Chevron({ expanded }) {
|
|
64
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "shrink-0 text-muted-foreground", children: expanded ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: "size-4" }) });
|
|
65
|
+
}
|
|
66
|
+
function StatusGlyph({ state, succeeded }) {
|
|
67
|
+
switch (state) {
|
|
68
|
+
case "running":
|
|
69
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex shrink-0 items-center", children: [
|
|
70
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
+
lucideReact.LoaderIcon,
|
|
72
|
+
{
|
|
73
|
+
"aria-hidden": "true",
|
|
74
|
+
className: "size-4 animate-spin text-muted-foreground motion-reduce:animate-none"
|
|
75
|
+
}
|
|
76
|
+
),
|
|
77
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Running" })
|
|
78
|
+
] });
|
|
79
|
+
case "waiting":
|
|
80
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex shrink-0 items-center", children: [
|
|
81
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShieldAlertIcon, { "aria-hidden": "true", className: "size-4 text-amber-600" }),
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Waiting for approval" })
|
|
83
|
+
] });
|
|
84
|
+
case "cancelled":
|
|
85
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cnfast.cn(CHIP_CLASS, "bg-muted text-muted-foreground"), children: "cancelled" });
|
|
86
|
+
case "error":
|
|
87
|
+
return null;
|
|
88
|
+
case "complete":
|
|
89
|
+
return succeeded ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex shrink-0 items-center", children: [
|
|
90
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2Icon, { "aria-hidden": "true", className: "size-4 text-emerald-600" }),
|
|
91
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Done" })
|
|
92
|
+
] }) : null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function ErrorChip() {
|
|
96
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cnfast.cn(CHIP_CLASS, "bg-destructive/10 text-destructive"), children: "error" });
|
|
97
|
+
}
|
|
98
|
+
function StoppedCallNotice({ message }) {
|
|
99
|
+
if (!message) return null;
|
|
100
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
101
|
+
"div",
|
|
102
|
+
{
|
|
103
|
+
"data-slot": "tool-card-notice",
|
|
104
|
+
className: "border-t border-destructive/20 bg-destructive/10 px-4 py-1.5 text-[11px] text-destructive",
|
|
105
|
+
children: [
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Error: " }),
|
|
107
|
+
message
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
const COPIED_RESET_MS = 2e3;
|
|
113
|
+
function CopyIconButton({ value, label }) {
|
|
114
|
+
const [copied, setCopied] = require$$0.useState(false);
|
|
115
|
+
const resetTimer = require$$0.useRef(null);
|
|
116
|
+
require$$0.useEffect(
|
|
117
|
+
() => () => {
|
|
118
|
+
if (resetTimer.current) clearTimeout(resetTimer.current);
|
|
119
|
+
},
|
|
120
|
+
[]
|
|
121
|
+
);
|
|
122
|
+
const copy = require$$0.useCallback(() => {
|
|
123
|
+
if (typeof navigator === "undefined" || !navigator.clipboard) return;
|
|
124
|
+
navigator.clipboard.writeText(value).then(
|
|
125
|
+
() => {
|
|
126
|
+
setCopied(true);
|
|
127
|
+
if (resetTimer.current) clearTimeout(resetTimer.current);
|
|
128
|
+
resetTimer.current = setTimeout(() => setCopied(false), COPIED_RESET_MS);
|
|
129
|
+
},
|
|
130
|
+
() => void 0
|
|
131
|
+
);
|
|
132
|
+
}, [value]);
|
|
133
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
134
|
+
"button",
|
|
135
|
+
{
|
|
136
|
+
type: "button",
|
|
137
|
+
"aria-label": copied ? "Copied" : label,
|
|
138
|
+
title: label,
|
|
139
|
+
onClick: copy,
|
|
140
|
+
className: "shrink-0 rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
141
|
+
children: copied ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { "aria-hidden": "true", className: "size-3.5 text-emerald-600" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CopyIcon, { "aria-hidden": "true", className: "size-3.5" })
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
function SectionBar({
|
|
146
|
+
label,
|
|
147
|
+
hint,
|
|
148
|
+
copyValue,
|
|
149
|
+
copyLabel
|
|
150
|
+
}) {
|
|
151
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-t border-border bg-muted/50 px-3 py-1", children: [
|
|
152
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: label }),
|
|
153
|
+
hint ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-[10px] text-muted-foreground", children: hint }) : null,
|
|
154
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1" }),
|
|
155
|
+
copyValue && copyLabel ? /* @__PURE__ */ jsxRuntime.jsx(CopyIconButton, { value: copyValue, label: copyLabel }) : null
|
|
156
|
+
] });
|
|
157
|
+
}
|
|
158
|
+
function linesLabel(count) {
|
|
159
|
+
return `${count.toLocaleString()} ${count === 1 ? "line" : "lines"}`;
|
|
160
|
+
}
|
|
161
|
+
function blockText(item) {
|
|
162
|
+
if (typeof item === "string") return item;
|
|
163
|
+
return utils.isRecord(item) && item.type === "text" && typeof item.text === "string" ? item.text : null;
|
|
164
|
+
}
|
|
165
|
+
function asText(value) {
|
|
166
|
+
if (typeof value === "string") return value;
|
|
167
|
+
if (value == null) return "";
|
|
168
|
+
if (Array.isArray(value)) {
|
|
169
|
+
const texts = value.flatMap((item) => {
|
|
170
|
+
const text = blockText(item);
|
|
171
|
+
return text === null ? [] : [text];
|
|
172
|
+
});
|
|
173
|
+
if (texts.length > 0) return texts.join("\n");
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
return JSON.stringify(value);
|
|
177
|
+
} catch {
|
|
178
|
+
return String(value);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function indexKeyedBlocks(value) {
|
|
182
|
+
if (!utils.isRecord(value)) return null;
|
|
183
|
+
const entries = Object.entries(value);
|
|
184
|
+
if (entries.length === 0) return null;
|
|
185
|
+
if (!entries.every(([key]) => /^\d+$/.test(key))) return null;
|
|
186
|
+
return entries.sort(([a], [b]) => Number(a) - Number(b)).map(([, block]) => block);
|
|
187
|
+
}
|
|
188
|
+
function resultText(result) {
|
|
189
|
+
if (typeof result === "string") return result;
|
|
190
|
+
const blocks = Array.isArray(result) ? result : indexKeyedBlocks(result);
|
|
191
|
+
if (!blocks) return asText(result);
|
|
192
|
+
return blocks.map((block) => {
|
|
193
|
+
if (typeof block === "string") return block;
|
|
194
|
+
if (!utils.isRecord(block)) return "";
|
|
195
|
+
if (typeof block.text === "string") return block.text;
|
|
196
|
+
if (block.type === "image") return "[image]";
|
|
197
|
+
if (block.type === "file") {
|
|
198
|
+
const name = stringArg(block, "name") ?? stringArg(block, "filename") ?? stringArg(block, "mime_type");
|
|
199
|
+
return `[file: ${name ?? "binary"}]`;
|
|
200
|
+
}
|
|
201
|
+
return "";
|
|
202
|
+
}).filter(Boolean).join("\n");
|
|
203
|
+
}
|
|
204
|
+
function isErrorResult(text) {
|
|
205
|
+
return text.startsWith("Error") || text.startsWith("[sandbox error]");
|
|
206
|
+
}
|
|
207
|
+
const ANSI_ESCAPE = /(?:\u001b\[|\u009b)[0-?]*[ -/]*[@-~]|(?:\u001b\]|\u009d)[^\u0007\u001b\u009c]*(?:\u0007|\u001b\\|\u009c)|\u001b[ -/]*[0-~]/g;
|
|
208
|
+
function stripAnsi(text) {
|
|
209
|
+
return text.replace(ANSI_ESCAPE, "");
|
|
210
|
+
}
|
|
211
|
+
function clampLines(text, maxLines) {
|
|
212
|
+
let end = -1;
|
|
213
|
+
for (let line = 0; line < maxLines; line += 1) {
|
|
214
|
+
end = text.indexOf("\n", end + 1);
|
|
215
|
+
if (end === -1) return { text, hidden: 0 };
|
|
216
|
+
}
|
|
217
|
+
const total = toolSummary.countLines(text);
|
|
218
|
+
if (total <= maxLines) return { text, hidden: 0 };
|
|
219
|
+
return { text: text.slice(0, end), hidden: total - maxLines };
|
|
220
|
+
}
|
|
221
|
+
function splitFilePath(path) {
|
|
222
|
+
const normalized = path.replace(/\\/g, "/");
|
|
223
|
+
const lastSlash = normalized.lastIndexOf("/");
|
|
224
|
+
if (lastSlash < 0) return { dir: "", name: normalized };
|
|
225
|
+
return { dir: normalized.slice(0, lastSlash + 1), name: normalized.slice(lastSlash + 1) };
|
|
226
|
+
}
|
|
227
|
+
const SANDBOX_ASSET_ID = /^asset_(?:thread_)?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
228
|
+
function executeTargetAssetId(args) {
|
|
229
|
+
const id = stringArg(args, "sandbox_asset_id");
|
|
230
|
+
return id !== void 0 && SANDBOX_ASSET_ID.test(id) ? id : void 0;
|
|
231
|
+
}
|
|
232
|
+
function shortAssetId(assetId) {
|
|
233
|
+
return assetId.length > 13 ? `…${assetId.slice(-8)}` : assetId;
|
|
234
|
+
}
|
|
235
|
+
const NO_PARTS = [];
|
|
236
|
+
function useTurnAssetTitle(assetId) {
|
|
237
|
+
const parts = react.useAuiState((s) => {
|
|
238
|
+
var _a, _b;
|
|
239
|
+
return (_b = (_a = s.optional) == null ? void 0 : _a.message) == null ? void 0 : _b.content;
|
|
240
|
+
});
|
|
241
|
+
const titles = require$$0.useMemo(() => toolSummary.collectAssetTitles(parts ?? NO_PARTS), [parts]);
|
|
242
|
+
return titles.get(assetId);
|
|
243
|
+
}
|
|
244
|
+
function useOpenTargetAsset(assetId, title) {
|
|
245
|
+
const openAsset = assetPanelStore.useAssetPanelStore((s) => s.openAsset);
|
|
246
|
+
return require$$0.useCallback(() => {
|
|
247
|
+
openAsset(assetId, title ? { name: title } : void 0);
|
|
248
|
+
}, [assetId, openAsset, title]);
|
|
249
|
+
}
|
|
250
|
+
function SandboxTargetChip({ assetId }) {
|
|
251
|
+
const title = useTurnAssetTitle(assetId);
|
|
252
|
+
const open = useOpenTargetAsset(assetId, title);
|
|
253
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
254
|
+
"button",
|
|
255
|
+
{
|
|
256
|
+
type: "button",
|
|
257
|
+
"data-slot": "sandbox-target-chip",
|
|
258
|
+
onClick: open,
|
|
259
|
+
title: title ? `Open ${title}` : `Ran on asset ${assetId}`,
|
|
260
|
+
className: "relative z-10 flex min-w-0 max-w-[40%] shrink items-center gap-1 rounded border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-medium leading-4 text-primary transition-colors hover:bg-primary/15",
|
|
261
|
+
children: [
|
|
262
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 select-none", children: "on" }),
|
|
263
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: title ?? shortAssetId(assetId) })
|
|
264
|
+
]
|
|
265
|
+
}
|
|
266
|
+
);
|
|
267
|
+
}
|
|
268
|
+
function SandboxTargetRow({ assetId }) {
|
|
269
|
+
const title = useTurnAssetTitle(assetId);
|
|
270
|
+
const open = useOpenTargetAsset(assetId, title);
|
|
271
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "sandbox-target-row", className: "flex items-center gap-1.5 border-t border-border px-3 py-1.5", children: [
|
|
272
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: "Ran on" }),
|
|
273
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
274
|
+
"button",
|
|
275
|
+
{
|
|
276
|
+
type: "button",
|
|
277
|
+
onClick: open,
|
|
278
|
+
title: title ? `Open ${title}` : void 0,
|
|
279
|
+
className: "min-w-0 truncate text-left text-xs font-medium text-foreground transition-opacity hover:opacity-70",
|
|
280
|
+
children: title ?? shortAssetId(assetId)
|
|
281
|
+
}
|
|
282
|
+
)
|
|
283
|
+
] });
|
|
284
|
+
}
|
|
285
|
+
const MAX_BODY_LINES = 400;
|
|
286
|
+
function ExecuteDetails({
|
|
287
|
+
command,
|
|
288
|
+
body,
|
|
289
|
+
running,
|
|
290
|
+
targetAssetId
|
|
291
|
+
}) {
|
|
292
|
+
const output = require$$0.useMemo(() => stripAnsi(body), [body]);
|
|
293
|
+
const visible = require$$0.useMemo(() => clampLines(output, MAX_BODY_LINES), [output]);
|
|
294
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "sandbox-execute-details", children: [
|
|
295
|
+
targetAssetId ? /* @__PURE__ */ jsxRuntime.jsx(SandboxTargetRow, { assetId: targetAssetId }) : null,
|
|
296
|
+
command ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
297
|
+
/* @__PURE__ */ jsxRuntime.jsx(SectionBar, { label: "Command", copyValue: command, copyLabel: "Copy command" }),
|
|
298
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-48 overflow-auto px-3", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "m-0 overflow-x-auto whitespace-pre py-2 font-mono text-xs leading-normal text-foreground", children: command }) })
|
|
299
|
+
] }) : null,
|
|
300
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
301
|
+
SectionBar,
|
|
302
|
+
{
|
|
303
|
+
label: "Output",
|
|
304
|
+
hint: output ? linesLabel(toolSummary.countLines(output)) : void 0,
|
|
305
|
+
copyValue: output || void 0,
|
|
306
|
+
copyLabel: "Copy output"
|
|
307
|
+
}
|
|
308
|
+
),
|
|
309
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-h-80 overflow-auto bg-zinc-900 px-4 py-3", children: [
|
|
310
|
+
output ? /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-zinc-100", children: visible.text }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-mono text-xs text-zinc-400", children: running ? "Waiting for output…" : "No output" }),
|
|
311
|
+
visible.hidden > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "pt-2 font-mono text-[11px] text-zinc-400", children: [
|
|
312
|
+
"… ",
|
|
313
|
+
visible.hidden.toLocaleString(),
|
|
314
|
+
" more ",
|
|
315
|
+
visible.hidden === 1 ? "line" : "lines",
|
|
316
|
+
" not shown"
|
|
317
|
+
] }) : null
|
|
318
|
+
] })
|
|
319
|
+
] });
|
|
320
|
+
}
|
|
321
|
+
function SandboxExecuteCard({
|
|
322
|
+
args,
|
|
323
|
+
result,
|
|
324
|
+
status,
|
|
325
|
+
isError,
|
|
326
|
+
isPreliminary,
|
|
327
|
+
defaultOpen = false
|
|
328
|
+
}) {
|
|
329
|
+
const [expanded, setExpanded] = require$$0.useState(defaultOpen);
|
|
330
|
+
const chrome = useCardChrome();
|
|
331
|
+
const labelId = require$$0.useId();
|
|
332
|
+
const fields = argsRecord(args);
|
|
333
|
+
const command = stringArg(fields, "command") ?? "";
|
|
334
|
+
const { firstLine, extraLines } = toolSummary.firstCommandLine(command);
|
|
335
|
+
const targetAssetId = executeTargetAssetId(fields);
|
|
336
|
+
const state = cardStateOf({ status, isError, isPreliminary, result });
|
|
337
|
+
const answer = isPreliminary === true ? void 0 : result;
|
|
338
|
+
const { body, exitCode, truncated } = require$$0.useMemo(() => executeOutput.parseExecuteOutput(asText(answer)), [answer]);
|
|
339
|
+
const exitFailed = exitCode !== null && exitCode !== 0;
|
|
340
|
+
const callFailed = state === "error" || state === "complete" && exitCode === null && isErrorResult(body);
|
|
341
|
+
const failed = exitFailed || callFailed;
|
|
342
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
343
|
+
"div",
|
|
344
|
+
{
|
|
345
|
+
"data-slot": "sandbox-execute-card",
|
|
346
|
+
"data-tool-outcome": cardOutcome({ state, failed }),
|
|
347
|
+
className: chrome.root,
|
|
348
|
+
children: [
|
|
349
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cnfast.cn("relative flex w-full items-center gap-2 text-left", chrome.header), children: [
|
|
350
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
351
|
+
"button",
|
|
352
|
+
{
|
|
353
|
+
type: "button",
|
|
354
|
+
"aria-expanded": expanded,
|
|
355
|
+
"aria-labelledby": labelId,
|
|
356
|
+
onClick: () => setExpanded(!expanded),
|
|
357
|
+
className: "absolute inset-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"
|
|
358
|
+
}
|
|
359
|
+
),
|
|
360
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
+
lucideReact.TerminalIcon,
|
|
362
|
+
{
|
|
363
|
+
"aria-hidden": "true",
|
|
364
|
+
className: cnfast.cn("size-4 shrink-0", failed ? "text-destructive" : "text-muted-foreground")
|
|
365
|
+
}
|
|
366
|
+
),
|
|
367
|
+
/* @__PURE__ */ jsxRuntime.jsxs("code", { id: labelId, className: "min-w-0 flex-1 truncate font-mono text-xs text-foreground", children: [
|
|
368
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "select-none text-muted-foreground", children: "$ " }),
|
|
369
|
+
firstLine || "execute"
|
|
370
|
+
] }),
|
|
371
|
+
targetAssetId ? /* @__PURE__ */ jsxRuntime.jsx(SandboxTargetChip, { assetId: targetAssetId }) : null,
|
|
372
|
+
extraLines > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cnfast.cn(CHIP_CLASS, "bg-muted text-muted-foreground"), children: `+${extraLines}` }) : null,
|
|
373
|
+
truncated ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cnfast.cn(CHIP_CLASS, "bg-amber-500/10 text-amber-600"), children: "truncated" }) : null,
|
|
374
|
+
exitFailed ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cnfast.cn(CHIP_CLASS, "bg-destructive/10 text-destructive"), children: [
|
|
375
|
+
"exit ",
|
|
376
|
+
exitCode
|
|
377
|
+
] }) : callFailed ? /* @__PURE__ */ jsxRuntime.jsx(ErrorChip, {}) : null,
|
|
378
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatusGlyph, { state, succeeded: exitCode === 0 && !callFailed }),
|
|
379
|
+
/* @__PURE__ */ jsxRuntime.jsx(Chevron, { expanded })
|
|
380
|
+
] }),
|
|
381
|
+
/* @__PURE__ */ jsxRuntime.jsx(StoppedCallNotice, { message: stoppedCallFailure(status) }),
|
|
382
|
+
expanded ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
383
|
+
ExecuteDetails,
|
|
384
|
+
{
|
|
385
|
+
command,
|
|
386
|
+
body,
|
|
387
|
+
running: state === "running",
|
|
388
|
+
targetAssetId
|
|
389
|
+
}
|
|
390
|
+
) : null
|
|
391
|
+
]
|
|
392
|
+
}
|
|
393
|
+
);
|
|
394
|
+
}
|
|
395
|
+
const ExecuteToolUIImpl = (props) => rendersAsGenericCard(props) ? /* @__PURE__ */ jsxRuntime.jsx(toolFallback.ToolFallback, { ...props, icon: lucideReact.TerminalIcon }) : /* @__PURE__ */ jsxRuntime.jsx(SandboxExecuteCard, { ...props });
|
|
396
|
+
const ExecuteToolUI = require$$0.memo(ExecuteToolUIImpl);
|
|
397
|
+
ExecuteToolUI.displayName = "ExecuteToolUI";
|
|
398
|
+
function SandboxDeleteCard({
|
|
399
|
+
args,
|
|
400
|
+
result,
|
|
401
|
+
status,
|
|
402
|
+
isError,
|
|
403
|
+
isPreliminary,
|
|
404
|
+
defaultOpen = false
|
|
405
|
+
}) {
|
|
406
|
+
const [expanded, setExpanded] = require$$0.useState(defaultOpen);
|
|
407
|
+
const chrome = useCardChrome();
|
|
408
|
+
const fields = argsRecord(args);
|
|
409
|
+
const path = stringArg(fields, "file_path") ?? stringArg(fields, "path") ?? "(path)";
|
|
410
|
+
const { dir, name } = splitFilePath(path);
|
|
411
|
+
const state = cardStateOf({ status, isError, isPreliminary, result });
|
|
412
|
+
const text = require$$0.useMemo(
|
|
413
|
+
() => isPreliminary === true ? "" : resultText(result),
|
|
414
|
+
[isPreliminary, result]
|
|
415
|
+
);
|
|
416
|
+
const failed = state === "error" || state === "complete" && isErrorResult(text);
|
|
417
|
+
const hasBody = text !== "";
|
|
418
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
419
|
+
"div",
|
|
420
|
+
{
|
|
421
|
+
"data-slot": "sandbox-delete-card",
|
|
422
|
+
"data-tool-outcome": cardOutcome({ state, failed }),
|
|
423
|
+
className: chrome.root,
|
|
424
|
+
children: [
|
|
425
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
426
|
+
"button",
|
|
427
|
+
{
|
|
428
|
+
type: "button",
|
|
429
|
+
"aria-expanded": hasBody ? expanded : void 0,
|
|
430
|
+
onClick: () => hasBody && setExpanded(!expanded),
|
|
431
|
+
className: cnfast.cn("flex w-full items-center gap-2 text-left", chrome.header),
|
|
432
|
+
children: [
|
|
433
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2Icon, { "aria-hidden": "true", className: "size-4 shrink-0 text-destructive" }),
|
|
434
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1 truncate text-sm text-foreground", children: [
|
|
435
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "Deleted " }),
|
|
436
|
+
/* @__PURE__ */ jsxRuntime.jsxs("code", { className: "font-mono text-xs", title: path, children: [
|
|
437
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: dir }),
|
|
438
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: name })
|
|
439
|
+
] })
|
|
440
|
+
] }),
|
|
441
|
+
failed ? /* @__PURE__ */ jsxRuntime.jsx(ErrorChip, {}) : null,
|
|
442
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatusGlyph, { state, succeeded: !failed }),
|
|
443
|
+
hasBody ? /* @__PURE__ */ jsxRuntime.jsx(Chevron, { expanded }) : null
|
|
444
|
+
]
|
|
445
|
+
}
|
|
446
|
+
),
|
|
447
|
+
/* @__PURE__ */ jsxRuntime.jsx(StoppedCallNotice, { message: stoppedCallFailure(status) }),
|
|
448
|
+
expanded && hasBody ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
449
|
+
/* @__PURE__ */ jsxRuntime.jsx(SectionBar, { label: failed ? "Error" : "Result", copyValue: text, copyLabel: "Copy result" }),
|
|
450
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-48 overflow-auto px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
451
|
+
"pre",
|
|
452
|
+
{
|
|
453
|
+
className: cnfast.cn(
|
|
454
|
+
"whitespace-pre-wrap break-words font-mono text-xs leading-relaxed",
|
|
455
|
+
failed ? "text-destructive" : "text-muted-foreground"
|
|
456
|
+
),
|
|
457
|
+
children: text
|
|
458
|
+
}
|
|
459
|
+
) })
|
|
460
|
+
] }) : null
|
|
461
|
+
]
|
|
462
|
+
}
|
|
463
|
+
);
|
|
464
|
+
}
|
|
465
|
+
const DeleteToolUIImpl = (props) => rendersAsGenericCard(props) ? /* @__PURE__ */ jsxRuntime.jsx(toolFallback.ToolFallback, { ...props, icon: lucideReact.Trash2Icon }) : /* @__PURE__ */ jsxRuntime.jsx(SandboxDeleteCard, { ...props });
|
|
466
|
+
const DeleteToolUI = require$$0.memo(DeleteToolUIImpl);
|
|
467
|
+
DeleteToolUI.displayName = "DeleteToolUI";
|
|
468
|
+
exports.CHIP_CLASS = CHIP_CLASS;
|
|
469
|
+
exports.Chevron = Chevron;
|
|
470
|
+
exports.DeleteToolUI = DeleteToolUI;
|
|
471
|
+
exports.ErrorChip = ErrorChip;
|
|
472
|
+
exports.ExecuteToolUI = ExecuteToolUI;
|
|
473
|
+
exports.SandboxDeleteCard = SandboxDeleteCard;
|
|
474
|
+
exports.SandboxExecuteCard = SandboxExecuteCard;
|
|
475
|
+
exports.StatusGlyph = StatusGlyph;
|
|
476
|
+
exports.StoppedCallNotice = StoppedCallNotice;
|
|
477
|
+
exports.argsRecord = argsRecord;
|
|
478
|
+
exports.asText = asText;
|
|
479
|
+
exports.cardOutcome = cardOutcome;
|
|
480
|
+
exports.cardStateOf = cardStateOf;
|
|
481
|
+
exports.clampLines = clampLines;
|
|
482
|
+
exports.executeTargetAssetId = executeTargetAssetId;
|
|
483
|
+
exports.isErrorResult = isErrorResult;
|
|
484
|
+
exports.rendersAsGenericCard = rendersAsGenericCard;
|
|
485
|
+
exports.resultText = resultText;
|
|
486
|
+
exports.splitFilePath = splitFilePath;
|
|
487
|
+
exports.stoppedCallFailure = stoppedCallFailure;
|
|
488
|
+
exports.stringArg = stringArg;
|
|
489
|
+
exports.stripAnsi = stripAnsi;
|
|
490
|
+
exports.useCardChrome = useCardChrome;
|
|
491
|
+
//# sourceMappingURL=sandbox-tool-uis.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-tool-uis.cjs","sources":["../../src/tools/sandbox-tool-uis.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * The deep agent's sandbox cards, as Athena draws them on the web\n * (Olympus's `athena-deep-agent/sandbox-tool-cards.tsx`):\n *\n * - `execute`: `$ ` and the command's first line, how many lines follow it,\n * and the `truncated` / `exit N` chips the backend's status notes become;\n * behind the header, the command and its output, colour codes stripped and\n * cut at 400 lines. A command run in another asset's machine\n * (`sandbox_asset_id`) names it by the title an earlier result in the turn\n * gave it, else by a short id. Nothing is fetched.\n * - `delete`: the deleted path and what the sandbox answered.\n *\n * The SDK calls a command made (its PTC sub-calls) render under the card\n * through `NestedPtcMessages`, as under every tool UI. A call the person\n * refused at the approval gate, or one the runtime parked, renders as the\n * generic card, which owns those outcomes.\n */\nimport {\n type ToolCallMessagePartComponent,\n type ToolCallMessagePartProps,\n useAuiState,\n} from \"@assistant-ui/react\";\nimport {\n classifyToolResult,\n parseExecuteOutput,\n type ToolResultState,\n toolFailure,\n} from \"@athenaintel/agent-runtime\";\nimport {\n CheckCircle2Icon,\n CheckIcon,\n ChevronDownIcon,\n ChevronRightIcon,\n CopyIcon,\n LoaderIcon,\n ShieldAlertIcon,\n TerminalIcon,\n Trash2Icon,\n} from \"lucide-react\";\nimport { memo, useCallback, useEffect, useId, useMemo, useRef, useState } from \"react\";\nimport { useAssetPanelStore } from \"../assets/asset-panel-store\";\nimport { cn, isRecord } from \"../lib/utils\";\nimport { useToolAppearance } from \"./tool-appearance\";\nimport { ToolFallback } from \"./tool-fallback\";\nimport {\n type AssetTitleSourcePart,\n collectAssetTitles,\n countLines,\n firstCommandLine,\n} from \"./tool-summary\";\n\n// ─── Shared card pieces ──────────────────────────────────────────────\n\n/** The tool-call part fields a card reads; every tool UI's props carry them. */\nexport type ToolPartView = Pick<\n ToolCallMessagePartProps,\n \"toolName\" | \"args\" | \"result\" | \"status\" | \"isError\" | \"isPreliminary\"\n>;\n\nexport interface ToolCardDisclosure {\n /** Start opened. */\n defaultOpen?: boolean;\n}\n\n/** Where a card's call is: its own status first, then what its result says. */\nexport type CardState = \"running\" | \"waiting\" | \"complete\" | \"error\" | \"cancelled\";\n\nexport function cardStateOf({\n status,\n isError,\n isPreliminary,\n result,\n}: Pick<ToolPartView, \"status\" | \"isError\" | \"isPreliminary\" | \"result\">): CardState {\n if (status?.type === \"running\") return \"running\";\n if (status?.type === \"requires-action\") return \"waiting\";\n if (status?.type === \"incomplete\") return status.reason === \"cancelled\" ? \"cancelled\" : \"error\";\n // A running tool's placeholder result is not its answer (`markPreliminaryToolResults`).\n if (isPreliminary === true) return \"running\";\n if (isError === true) return \"error\";\n return status === undefined && result === undefined ? \"running\" : \"complete\";\n}\n\n/** The card's state in the shared classifier's words, for `data-tool-outcome`. */\nexport function cardOutcome({ state, failed }: { state: CardState; failed: boolean }): ToolResultState {\n if (failed || state === \"error\" || state === \"cancelled\") return \"error\";\n return state === \"waiting\" ? \"requires-action\" : state;\n}\n\n/**\n * Outcomes the generic card owns: a call the person refused at the approval\n * gate (neither done nor failed) and one the runtime parked.\n */\nexport function rendersAsGenericCard({\n status,\n result,\n isError,\n}: Pick<ToolPartView, \"status\" | \"result\" | \"isError\">): boolean {\n const { state } = classifyToolResult({ status, result, isError });\n return state === \"rejected\" || state === \"paused\";\n}\n\n/** Why a call that stopped before it finished failed; `null` for any other status. */\nexport function stoppedCallFailure(status: ToolPartView[\"status\"]): string | null {\n if (status?.type !== \"incomplete\" || status.reason === \"cancelled\") return null;\n return toolFailure({ status })?.message ?? null;\n}\n\n/** The arguments as a record; partial while they stream. */\nexport function argsRecord(args: unknown): Record<string, unknown> | undefined {\n return isRecord(args) ? args : undefined;\n}\n\nexport function stringArg(\n args: Record<string, unknown> | undefined,\n key: string,\n): string | undefined {\n const value = args?.[key];\n return typeof value === \"string\" ? value : undefined;\n}\n\n/**\n * The card's frame in the thread's appearance: the boxed host card, or inside\n * `AthenaChat` the thread's row (lighter border, no shadow or header tint).\n * The header tint differs per card, as on the web.\n */\nexport function useCardChrome({ tint = \"bg-muted/40 hover:bg-muted/70\" }: { tint?: string } = {}): {\n root: string;\n header: string;\n} {\n const isThread = useToolAppearance() === \"thread\";\n return isThread\n ? {\n root: \"my-1.5 w-full overflow-hidden rounded-lg border border-border/50 bg-background\",\n header: \"px-2.5 py-1.5 transition-colors hover:bg-muted/40\",\n }\n : {\n root: \"my-2 w-full overflow-hidden rounded-lg border border-border bg-card shadow-sm\",\n header: cn(\"px-4 py-2.5 transition-colors\", tint),\n };\n}\n\nexport const CHIP_CLASS =\n \"shrink-0 rounded px-1.5 py-0.5 font-mono text-[10px] font-medium leading-4\";\n\nexport function Chevron({ expanded }: { expanded: boolean }) {\n return (\n <span aria-hidden=\"true\" className=\"shrink-0 text-muted-foreground\">\n {expanded ? <ChevronDownIcon className=\"size-4\" /> : <ChevronRightIcon className=\"size-4\" />}\n </span>\n );\n}\n\n/**\n * The status end of a header: a spinner while the call runs, a shield while\n * it waits on an approval, `cancelled`, or the check of a success.\n */\nexport function StatusGlyph({ state, succeeded }: { state: CardState; succeeded: boolean }) {\n switch (state) {\n case \"running\":\n return (\n <span className=\"flex shrink-0 items-center\">\n <LoaderIcon\n aria-hidden=\"true\"\n className=\"size-4 animate-spin text-muted-foreground motion-reduce:animate-none\"\n />\n <span className=\"sr-only\">Running</span>\n </span>\n );\n case \"waiting\":\n return (\n <span className=\"flex shrink-0 items-center\">\n <ShieldAlertIcon aria-hidden=\"true\" className=\"size-4 text-amber-600\" />\n <span className=\"sr-only\">Waiting for approval</span>\n </span>\n );\n case \"cancelled\":\n return <span className={cn(CHIP_CLASS, \"bg-muted text-muted-foreground\")}>cancelled</span>;\n case \"error\":\n return null;\n case \"complete\":\n return succeeded ? (\n <span className=\"flex shrink-0 items-center\">\n <CheckCircle2Icon aria-hidden=\"true\" className=\"size-4 text-emerald-600\" />\n <span className=\"sr-only\">Done</span>\n </span>\n ) : null;\n }\n}\n\nexport function ErrorChip() {\n return <span className={cn(CHIP_CLASS, \"bg-destructive/10 text-destructive\")}>error</span>;\n}\n\n/** The failure of a call that stopped before it finished, on screen without opening the card. */\nexport function StoppedCallNotice({ message }: { message: string | null }) {\n if (!message) return null;\n return (\n <div\n data-slot=\"tool-card-notice\"\n className=\"border-t border-destructive/20 bg-destructive/10 px-4 py-1.5 text-[11px] text-destructive\"\n >\n <span className=\"font-medium\">Error: </span>\n {message}\n </div>\n );\n}\n\nconst COPIED_RESET_MS = 2000;\n\nfunction CopyIconButton({ value, label }: { value: string; label: string }) {\n const [copied, setCopied] = useState(false);\n const resetTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n useEffect(\n () => () => {\n if (resetTimer.current) clearTimeout(resetTimer.current);\n },\n [],\n );\n const copy = useCallback(() => {\n // The clipboard API is missing outside a secure context, and writeText\n // rejects where the page may not write it: the button then stays as is.\n if (typeof navigator === \"undefined\" || !navigator.clipboard) return;\n navigator.clipboard.writeText(value).then(\n () => {\n setCopied(true);\n if (resetTimer.current) clearTimeout(resetTimer.current);\n resetTimer.current = setTimeout(() => setCopied(false), COPIED_RESET_MS);\n },\n () => undefined,\n );\n }, [value]);\n return (\n <button\n type=\"button\"\n aria-label={copied ? \"Copied\" : label}\n title={label}\n onClick={copy}\n className=\"shrink-0 rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\"\n >\n {copied ? (\n <CheckIcon aria-hidden=\"true\" className=\"size-3.5 text-emerald-600\" />\n ) : (\n <CopyIcon aria-hidden=\"true\" className=\"size-3.5\" />\n )}\n </button>\n );\n}\n\n/** The label strip above one body section, with an optional copy button. */\nfunction SectionBar({\n label,\n hint,\n copyValue,\n copyLabel,\n}: {\n label: string;\n hint?: string;\n copyValue?: string;\n copyLabel?: string;\n}) {\n return (\n <div className=\"flex items-center gap-2 border-t border-border bg-muted/50 px-3 py-1\">\n <span className=\"text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {label}\n </span>\n {hint ? <span className=\"truncate text-[10px] text-muted-foreground\">{hint}</span> : null}\n <span className=\"flex-1\" />\n {copyValue && copyLabel ? <CopyIconButton value={copyValue} label={copyLabel} /> : null}\n </div>\n );\n}\n\nfunction linesLabel(count: number): string {\n return `${count.toLocaleString()} ${count === 1 ? \"line\" : \"lines\"}`;\n}\n\n// ─── Result text ─────────────────────────────────────────────────────\n\n/** The text of a string or of a `{type: \"text\", text}` block; `null` for anything else. */\nfunction blockText(item: unknown): string | null {\n if (typeof item === \"string\") return item;\n return isRecord(item) && item.type === \"text\" && typeof item.text === \"string\" ? item.text : null;\n}\n\n/**\n * A result as text. The execute image lift turns `[stdout, image…]` into text\n * and image blocks so the model can see a render: the card shows the output\n * the model read, and the image blocks are not output text.\n */\nexport function asText(value: unknown): string {\n if (typeof value === \"string\") return value;\n if (value == null) return \"\";\n if (Array.isArray(value)) {\n const texts = value.flatMap((item) => {\n const text = blockText(item);\n return text === null ? [] : [text];\n });\n if (texts.length > 0) return texts.join(\"\\n\");\n }\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\n/** A content-block array some transports round-trip as an object with numeric keys. */\nfunction indexKeyedBlocks(value: unknown): unknown[] | null {\n if (!isRecord(value)) return null;\n const entries = Object.entries(value);\n if (entries.length === 0) return null;\n if (!entries.every(([key]) => /^\\d+$/.test(key))) return null;\n return entries.sort(([a], [b]) => Number(a) - Number(b)).map(([, block]) => block);\n}\n\n/**\n * Readable text from a string result, a content-block array, or its\n * index-keyed form. A binary block reads as a placeholder naming it, never as\n * serialized base64.\n */\nexport function resultText(result: unknown): string {\n if (typeof result === \"string\") return result;\n const blocks = Array.isArray(result) ? result : indexKeyedBlocks(result);\n if (!blocks) return asText(result);\n return blocks\n .map((block) => {\n if (typeof block === \"string\") return block;\n if (!isRecord(block)) return \"\";\n if (typeof block.text === \"string\") return block.text;\n if (block.type === \"image\") return \"[image]\";\n if (block.type === \"file\") {\n const name =\n stringArg(block, \"name\") ?? stringArg(block, \"filename\") ?? stringArg(block, \"mime_type\");\n return `[file: ${name ?? \"binary\"}]`;\n }\n return \"\";\n })\n .filter(Boolean)\n .join(\"\\n\");\n}\n\n/** A sandbox answer that is an error rather than output (deepagents' and Talos' prefixes). */\nexport function isErrorResult(text: string): boolean {\n return text.startsWith(\"Error\") || text.startsWith(\"[sandbox error]\");\n}\n\n/**\n * ANSI escape sequences: CSI (colours, cursor moves; `ESC [` or the 8-bit\n * `0x9B`), OSC (window titles, hyperlinks; ended by BEL or ST), and the short\n * `ESC` sequences (charset picks, keypad modes). Each quantified class is\n * disjoint from what has to follow it, so the scan is linear in the text.\n */\nconst ANSI_ESCAPE =\n /(?:\\u001b\\[|\\u009b)[0-?]*[ -/]*[@-~]|(?:\\u001b\\]|\\u009d)[^\\u0007\\u001b\\u009c]*(?:\\u0007|\\u001b\\\\|\\u009c)|\\u001b[ -/]*[0-~]/g;\n\n/** `text` without its ANSI escape sequences. */\nexport function stripAnsi(text: string): string {\n return text.replace(ANSI_ESCAPE, \"\");\n}\n\n/**\n * The first `maxLines` lines of `text` and how many follow, so a\n * many-thousand-line output paints at most one card's worth of lines.\n */\nexport function clampLines(text: string, maxLines: number): { text: string; hidden: number } {\n let end = -1;\n for (let line = 0; line < maxLines; line += 1) {\n end = text.indexOf(\"\\n\", end + 1);\n if (end === -1) return { text, hidden: 0 };\n }\n const total = countLines(text);\n if (total <= maxLines) return { text, hidden: 0 };\n return { text: text.slice(0, end), hidden: total - maxLines };\n}\n\n/** Split a path into its directory prefix (with its trailing slash) and file name. */\nexport function splitFilePath(path: string): { dir: string; name: string } {\n const normalized = path.replace(/\\\\/g, \"/\");\n const lastSlash = normalized.lastIndexOf(\"/\");\n if (lastSlash < 0) return { dir: \"\", name: normalized };\n return { dir: normalized.slice(0, lastSlash + 1), name: normalized.slice(lastSlash + 1) };\n}\n\n// ─── Target asset ────────────────────────────────────────────────────\n\n/** Computers, applications and notebooks: the assets `execute` can run in. */\nconst SANDBOX_ASSET_ID =\n /^asset_(?:thread_)?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n\n/** The asset whose machine ran the command; `undefined` for the session's own, or an id still streaming. */\nexport function executeTargetAssetId(args: Record<string, unknown> | undefined): string | undefined {\n const id = stringArg(args, \"sandbox_asset_id\");\n return id !== undefined && SANDBOX_ASSET_ID.test(id) ? id : undefined;\n}\n\n/** The id's tail, for an asset the turn holds no title for. */\nfunction shortAssetId(assetId: string): string {\n return assetId.length > 13 ? `…${assetId.slice(-8)}` : assetId;\n}\n\nconst NO_PARTS: readonly AssetTitleSourcePart[] = [];\n\n/** The title an earlier result in the turn gave the asset; nothing is fetched. */\nfunction useTurnAssetTitle(assetId: string): string | undefined {\n // Optional: a host may render the card outside a message.\n const parts = useAuiState((s) => s.optional?.message?.content);\n const titles = useMemo(() => collectAssetTitles(parts ?? NO_PARTS), [parts]);\n return titles.get(assetId);\n}\n\nfunction useOpenTargetAsset(assetId: string, title: string | undefined): () => void {\n const openAsset = useAssetPanelStore((s) => s.openAsset);\n return useCallback(() => {\n openAsset(assetId, title ? { name: title } : undefined);\n }, [assetId, openAsset, title]);\n}\n\n/** The header's \"on <asset>\" chip; it opens the asset, never the card. */\nfunction SandboxTargetChip({ assetId }: { assetId: string }) {\n const title = useTurnAssetTitle(assetId);\n const open = useOpenTargetAsset(assetId, title);\n return (\n <button\n type=\"button\"\n data-slot=\"sandbox-target-chip\"\n onClick={open}\n title={title ? `Open ${title}` : `Ran on asset ${assetId}`}\n className=\"relative z-10 flex min-w-0 max-w-[40%] shrink items-center gap-1 rounded border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] font-medium leading-4 text-primary transition-colors hover:bg-primary/15\"\n >\n <span className=\"shrink-0 select-none\">on</span>\n <span className=\"min-w-0 truncate\">{title ?? shortAssetId(assetId)}</span>\n </button>\n );\n}\n\n/** The opened card's \"Ran on\" row, whose title opens the asset. */\nfunction SandboxTargetRow({ assetId }: { assetId: string }) {\n const title = useTurnAssetTitle(assetId);\n const open = useOpenTargetAsset(assetId, title);\n return (\n <div data-slot=\"sandbox-target-row\" className=\"flex items-center gap-1.5 border-t border-border px-3 py-1.5\">\n <span className=\"shrink-0 text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n Ran on\n </span>\n <button\n type=\"button\"\n onClick={open}\n title={title ? `Open ${title}` : undefined}\n className=\"min-w-0 truncate text-left text-xs font-medium text-foreground transition-opacity hover:opacity-70\"\n >\n {title ?? shortAssetId(assetId)}\n </button>\n </div>\n );\n}\n\n// ─── execute ─────────────────────────────────────────────────────────\n\n/** Lines painted inside one opened card before the rest is elided. */\nconst MAX_BODY_LINES = 400;\n\n/** The opened command: the asset it ran on, the command itself, and its output. */\nfunction ExecuteDetails({\n command,\n body,\n running,\n targetAssetId,\n}: {\n command: string;\n /** The output without the backend's status notes. */\n body: string;\n running: boolean;\n targetAssetId: string | undefined;\n}) {\n // Sandbox tooling colours its output; the escape codes are noise in a card.\n const output = useMemo(() => stripAnsi(body), [body]);\n const visible = useMemo(() => clampLines(output, MAX_BODY_LINES), [output]);\n return (\n <div data-slot=\"sandbox-execute-details\">\n {targetAssetId ? <SandboxTargetRow assetId={targetAssetId} /> : null}\n {command ? (\n <>\n <SectionBar label=\"Command\" copyValue={command} copyLabel=\"Copy command\" />\n <div className=\"max-h-48 overflow-auto px-3\">\n <pre className=\"m-0 overflow-x-auto whitespace-pre py-2 font-mono text-xs leading-normal text-foreground\">\n {command}\n </pre>\n </div>\n </>\n ) : null}\n <SectionBar\n label=\"Output\"\n hint={output ? linesLabel(countLines(output)) : undefined}\n copyValue={output || undefined}\n copyLabel=\"Copy output\"\n />\n {/* A terminal: dark in either theme. */}\n <div className=\"max-h-80 overflow-auto bg-zinc-900 px-4 py-3\">\n {output ? (\n <pre className=\"whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-zinc-100\">\n {visible.text}\n </pre>\n ) : (\n <p className=\"font-mono text-xs text-zinc-400\">\n {running ? \"Waiting for output…\" : \"No output\"}\n </p>\n )}\n {visible.hidden > 0 ? (\n <p className=\"pt-2 font-mono text-[11px] text-zinc-400\">\n … {visible.hidden.toLocaleString()} more {visible.hidden === 1 ? \"line\" : \"lines\"} not\n shown\n </p>\n ) : null}\n </div>\n </div>\n );\n}\n\nexport type SandboxExecuteCardProps = ToolPartView & ToolCardDisclosure;\n\n/** The `execute` card: the command's header line, and the command and its output behind it. */\nexport function SandboxExecuteCard({\n args,\n result,\n status,\n isError,\n isPreliminary,\n defaultOpen = false,\n}: SandboxExecuteCardProps) {\n const [expanded, setExpanded] = useState(defaultOpen);\n const chrome = useCardChrome();\n const labelId = useId();\n const fields = argsRecord(args);\n const command = stringArg(fields, \"command\") ?? \"\";\n const { firstLine, extraLines } = firstCommandLine(command);\n const targetAssetId = executeTargetAssetId(fields);\n const state = cardStateOf({ status, isError, isPreliminary, result });\n const answer = isPreliminary === true ? undefined : result;\n const { body, exitCode, truncated } = useMemo(() => parseExecuteOutput(asText(answer)), [answer]);\n const exitFailed = exitCode !== null && exitCode !== 0;\n // A call that failed before the command ran answers without an exit code.\n const callFailed =\n state === \"error\" || (state === \"complete\" && exitCode === null && isErrorResult(body));\n const failed = exitFailed || callFailed;\n\n return (\n <div\n data-slot=\"sandbox-execute-card\"\n data-tool-outcome={cardOutcome({ state, failed })}\n className={chrome.root}\n >\n <div className={cn(\"relative flex w-full items-center gap-2 text-left\", chrome.header)}>\n {/* The toggle covers the row, so the target chip stays its own button\n rather than one nested in another. */}\n <button\n type=\"button\"\n aria-expanded={expanded}\n aria-labelledby={labelId}\n onClick={() => setExpanded(!expanded)}\n className=\"absolute inset-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring\"\n />\n <TerminalIcon\n aria-hidden=\"true\"\n className={cn(\"size-4 shrink-0\", failed ? \"text-destructive\" : \"text-muted-foreground\")}\n />\n <code id={labelId} className=\"min-w-0 flex-1 truncate font-mono text-xs text-foreground\">\n <span className=\"select-none text-muted-foreground\">$ </span>\n {firstLine || \"execute\"}\n </code>\n {targetAssetId ? <SandboxTargetChip assetId={targetAssetId} /> : null}\n {extraLines > 0 ? (\n <span className={cn(CHIP_CLASS, \"bg-muted text-muted-foreground\")}>{`+${extraLines}`}</span>\n ) : null}\n {truncated ? (\n <span className={cn(CHIP_CLASS, \"bg-amber-500/10 text-amber-600\")}>truncated</span>\n ) : null}\n {exitFailed ? (\n <span className={cn(CHIP_CLASS, \"bg-destructive/10 text-destructive\")}>exit {exitCode}</span>\n ) : callFailed ? (\n <ErrorChip />\n ) : null}\n <StatusGlyph state={state} succeeded={exitCode === 0 && !callFailed} />\n <Chevron expanded={expanded} />\n </div>\n <StoppedCallNotice message={stoppedCallFailure(status)} />\n {expanded ? (\n <ExecuteDetails\n command={command}\n body={body}\n running={state === \"running\"}\n targetAssetId={targetAssetId}\n />\n ) : null}\n </div>\n );\n}\n\nconst ExecuteToolUIImpl: ToolCallMessagePartComponent = (props) =>\n rendersAsGenericCard(props) ? (\n <ToolFallback {...props} icon={TerminalIcon} />\n ) : (\n <SandboxExecuteCard {...props} />\n );\n\n/** The `execute` (sandbox shell) tool UI. */\nexport const ExecuteToolUI = memo(ExecuteToolUIImpl) as unknown as ToolCallMessagePartComponent;\nExecuteToolUI.displayName = \"ExecuteToolUI\";\n\n// ─── delete ──────────────────────────────────────────────────────────\n\nexport type SandboxDeleteCardProps = ToolPartView & ToolCardDisclosure;\n\n/**\n * The `delete` card: session-only (no cross-asset target) and always\n * approval-gated server-side, with a red icon so a destructive action reads\n * as one.\n */\nexport function SandboxDeleteCard({\n args,\n result,\n status,\n isError,\n isPreliminary,\n defaultOpen = false,\n}: SandboxDeleteCardProps) {\n const [expanded, setExpanded] = useState(defaultOpen);\n const chrome = useCardChrome();\n const fields = argsRecord(args);\n const path = stringArg(fields, \"file_path\") ?? stringArg(fields, \"path\") ?? \"(path)\";\n const { dir, name } = splitFilePath(path);\n const state = cardStateOf({ status, isError, isPreliminary, result });\n const text = useMemo(\n () => (isPreliminary === true ? \"\" : resultText(result)),\n [isPreliminary, result],\n );\n const failed = state === \"error\" || (state === \"complete\" && isErrorResult(text));\n const hasBody = text !== \"\";\n\n return (\n <div\n data-slot=\"sandbox-delete-card\"\n data-tool-outcome={cardOutcome({ state, failed })}\n className={chrome.root}\n >\n <button\n type=\"button\"\n // A card with nothing to reveal does not announce itself as collapsible.\n aria-expanded={hasBody ? expanded : undefined}\n onClick={() => hasBody && setExpanded(!expanded)}\n className={cn(\"flex w-full items-center gap-2 text-left\", chrome.header)}\n >\n <Trash2Icon aria-hidden=\"true\" className=\"size-4 shrink-0 text-destructive\" />\n <span className=\"min-w-0 flex-1 truncate text-sm text-foreground\">\n <span className=\"text-muted-foreground\">Deleted </span>\n <code className=\"font-mono text-xs\" title={path}>\n <span className=\"text-muted-foreground\">{dir}</span>\n <span className=\"font-medium\">{name}</span>\n </code>\n </span>\n {failed ? <ErrorChip /> : null}\n <StatusGlyph state={state} succeeded={!failed} />\n {hasBody ? <Chevron expanded={expanded} /> : null}\n </button>\n <StoppedCallNotice message={stoppedCallFailure(status)} />\n {expanded && hasBody ? (\n <>\n <SectionBar label={failed ? \"Error\" : \"Result\"} copyValue={text} copyLabel=\"Copy result\" />\n <div className=\"max-h-48 overflow-auto px-4 py-3\">\n <pre\n className={cn(\n \"whitespace-pre-wrap break-words font-mono text-xs leading-relaxed\",\n failed ? \"text-destructive\" : \"text-muted-foreground\",\n )}\n >\n {text}\n </pre>\n </div>\n </>\n ) : null}\n </div>\n );\n}\n\nconst DeleteToolUIImpl: ToolCallMessagePartComponent = (props) =>\n rendersAsGenericCard(props) ? (\n <ToolFallback {...props} icon={Trash2Icon} />\n ) : (\n <SandboxDeleteCard {...props} />\n );\n\n/** The `delete` (sandbox file removal) tool UI. */\nexport const DeleteToolUI = memo(DeleteToolUIImpl) as unknown as ToolCallMessagePartComponent;\nDeleteToolUI.displayName = \"DeleteToolUI\";\n"],"names":["classifyToolResult","toolFailure","isRecord","useToolAppearance","cn","jsx","ChevronDownIcon","ChevronRightIcon","jsxs","LoaderIcon","ShieldAlertIcon","CheckCircle2Icon","useState","useRef","useEffect","useCallback","CheckIcon","CopyIcon","countLines","useAuiState","useMemo","collectAssetTitles","useAssetPanelStore","Fragment","useId","firstCommandLine","parseExecuteOutput","TerminalIcon","ToolFallback","memo","Trash2Icon"],"mappings":"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"}
|