@athenaintel/react 0.57.1 → 0.59.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 +778 -9
- 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.map +1 -1
- package/dist/agent-runtime/src/composer-markdown.d.ts +1 -1
- 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 +66 -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 +12 -0
- package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -1
- package/dist/agent-runtime/src/tool-metadata.js +12 -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 +337 -99
- package/dist/chat/AthenaChat.cjs.map +1 -1
- package/dist/chat/AthenaChat.d.ts +80 -4
- package/dist/chat/AthenaChat.js +337 -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 +3 -0
- package/dist/chat-ui/index.cjs.map +1 -1
- package/dist/chat-ui/index.d.ts +3 -2
- package/dist/chat-ui/index.js +3 -0
- package/dist/chat-ui/index.js.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.js +2 -2
- 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 +2 -0
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +3 -1
- 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 +36 -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 +42 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js +36 -0
- package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +235 -19
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +88 -10
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +236 -20
- 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/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 +17 -5
- package/dist/collab/client.cjs.map +1 -1
- package/dist/collab/client.d.ts +22 -7
- package/dist/collab/client.js +17 -5
- 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/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 +458 -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 +458 -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 +63 -19
- package/dist/provider/AthenaProvider.cjs.map +1 -1
- package/dist/provider/AthenaProvider.d.ts +24 -8
- package/dist/provider/AthenaProvider.js +66 -22
- 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/types.cjs +5 -0
- package/dist/references/src/anchors/types.cjs.map +1 -1
- 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/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 +18 -1
- package/dist/runtime/statewire-run-config.cjs.map +1 -1
- package/dist/runtime/statewire-run-config.d.ts +20 -0
- package/dist/runtime/statewire-run-config.js +18 -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 +65 -8
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.d.ts +26 -10
- package/dist/runtime/useAthenaStatewireRuntime.js +67 -10
- 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 +27 -24
- package/dist/threads/SessionList.cjs.map +1 -1
- package/dist/threads/SessionList.js +22 -19
- package/dist/threads/SessionList.js.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/live-session-rows.cjs +207 -0
- package/dist/threads/live-session-rows.cjs.map +1 -0
- package/dist/threads/live-session-rows.d.ts +175 -0
- package/dist/threads/live-session-rows.js +207 -0
- package/dist/threads/live-session-rows.js.map +1 -0
- 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 +173 -20
- package/dist/threads/statewire-thread-list.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.d.ts +44 -1
- package/dist/threads/statewire-thread-list.js +174 -21
- 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 +425 -0
- package/dist/tools/drive-tool-uis.cjs.map +1 -0
- package/dist/tools/drive-tool-uis.d.ts +120 -0
- package/dist/tools/drive-tool-uis.js +425 -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/workbench/session-workbench-panes.cjs +6 -6
- package/dist/workbench/session-workbench-panes.cjs.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,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const lucideReact = require("lucide-react");
|
|
5
|
+
const require$$0 = require("react");
|
|
6
|
+
const driveToolUis = require("./drive-tool-uis.cjs");
|
|
7
|
+
const primitives = require("./primitives.cjs");
|
|
8
|
+
const toolFallback = require("./tool-fallback.cjs");
|
|
9
|
+
const toolResult = require("../agent-runtime/src/tool-result.cjs");
|
|
10
|
+
function ProjectChipLine({ projectAssetId }) {
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(driveToolUis.AssetChipLine, { children: [
|
|
12
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "for" }),
|
|
13
|
+
/* @__PURE__ */ jsxRuntime.jsx(driveToolUis.AssetChip, { assetId: projectAssetId, fallbackLabel: "Project", assetType: "project" })
|
|
14
|
+
] });
|
|
15
|
+
}
|
|
16
|
+
const PM_DOCUMENT_LABELS = {
|
|
17
|
+
goals: "GOALS.md",
|
|
18
|
+
plan: "PLAN.md",
|
|
19
|
+
activity_log: "ACTIVITY_LOG.md",
|
|
20
|
+
summary: "PM_SUMMARY.md",
|
|
21
|
+
memory: "MEMORY.md"
|
|
22
|
+
};
|
|
23
|
+
const PM_OPERATION_RUNNING = {
|
|
24
|
+
read: "Reading",
|
|
25
|
+
patch: "Patching",
|
|
26
|
+
rewrite: "Rewriting",
|
|
27
|
+
append: "Appending to"
|
|
28
|
+
};
|
|
29
|
+
const PM_OPERATION_DONE = {
|
|
30
|
+
patch: "Patched",
|
|
31
|
+
rewrite: "Rewrote content in",
|
|
32
|
+
append: "Appended content in"
|
|
33
|
+
};
|
|
34
|
+
function pmPatches(value) {
|
|
35
|
+
if (!Array.isArray(value)) return [];
|
|
36
|
+
return value.flatMap(
|
|
37
|
+
(patch) => toolResult.isRecord(patch) ? [
|
|
38
|
+
{
|
|
39
|
+
old: typeof patch.old === "string" ? patch.old : "",
|
|
40
|
+
new: typeof patch.new === "string" ? patch.new : ""
|
|
41
|
+
}
|
|
42
|
+
] : []
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
function pmDocumentsPreview({
|
|
46
|
+
args,
|
|
47
|
+
data
|
|
48
|
+
}) {
|
|
49
|
+
const parts = [];
|
|
50
|
+
const warning = toolResult.stringField(data, ["warning"]);
|
|
51
|
+
if (warning) parts.push({ kind: "text", text: `⚠️ ${warning}` });
|
|
52
|
+
const content = toolResult.stringField(data, ["content"]);
|
|
53
|
+
const patches = pmPatches(args.patches);
|
|
54
|
+
const newContent = toolResult.stringField(args, ["new_content", "content"]);
|
|
55
|
+
if (toolResult.stringField(data, ["operation"]) === "read" && content) {
|
|
56
|
+
const startLine = driveToolUis.numberField(data, "start_line") ?? 0;
|
|
57
|
+
const before = driveToolUis.numberField(data, "lines_before");
|
|
58
|
+
const after = driveToolUis.numberField(data, "lines_after");
|
|
59
|
+
if (before !== void 0 && after !== void 0 && (before > 0 || after > 0)) {
|
|
60
|
+
const lastLine = startLine + (driveToolUis.numberField(data, "lines_returned") ?? 0);
|
|
61
|
+
const total = driveToolUis.numberField(data, "total_lines") ?? "?";
|
|
62
|
+
parts.push({
|
|
63
|
+
kind: "text",
|
|
64
|
+
text: `Lines ${startLine + 1}–${lastLine} of ${total} (${before} before, ${after} after)`
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
parts.push({ kind: "text", text: content });
|
|
68
|
+
} else if (patches.length > 0) {
|
|
69
|
+
parts.push({ kind: "patches", patches });
|
|
70
|
+
} else if (newContent) {
|
|
71
|
+
parts.push({ kind: "text", text: newContent });
|
|
72
|
+
}
|
|
73
|
+
const logEntry = toolResult.stringField(args, ["activity_log_entry"]);
|
|
74
|
+
if (logEntry) parts.push({ kind: "text", text: `Activity log: ${logEntry}` });
|
|
75
|
+
if ((data == null ? void 0 : data.activity_log_recorded) === true) {
|
|
76
|
+
parts.push({ kind: "text", text: "✓ Activity log entry recorded" });
|
|
77
|
+
}
|
|
78
|
+
return parts;
|
|
79
|
+
}
|
|
80
|
+
function PmPatchList({ patches }) {
|
|
81
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1.5 text-xs", children: patches.map((patch, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium text-muted-foreground", children: [
|
|
83
|
+
index + 1,
|
|
84
|
+
"."
|
|
85
|
+
] }),
|
|
86
|
+
patch.old ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "break-all rounded bg-destructive/10 px-1.5 py-0.5 text-destructive line-through", children: patch.old }) : null,
|
|
87
|
+
patch.new ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "break-all rounded bg-emerald-500/10 px-1.5 py-0.5 text-emerald-600", children: patch.new }) : null
|
|
88
|
+
] }, index)) });
|
|
89
|
+
}
|
|
90
|
+
function PmDocumentsPreview({ parts }) {
|
|
91
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-3", children: parts.map(
|
|
92
|
+
(part, index) => part.kind === "patches" ? /* @__PURE__ */ jsxRuntime.jsx(PmPatchList, { patches: part.patches }, index) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "whitespace-pre-wrap break-words text-xs text-muted-foreground", children: part.text }, index)
|
|
93
|
+
) });
|
|
94
|
+
}
|
|
95
|
+
function pmDocumentsDoneTitle({
|
|
96
|
+
data,
|
|
97
|
+
operation,
|
|
98
|
+
label,
|
|
99
|
+
projectAssetId
|
|
100
|
+
}) {
|
|
101
|
+
const message = toolResult.stringField(data, ["message"]);
|
|
102
|
+
if (toolResult.stringField(data, ["operation"]) === "read") {
|
|
103
|
+
const startLine = driveToolUis.numberField(data, "start_line") ?? 0;
|
|
104
|
+
const linesReturned = driveToolUis.numberField(data, "lines_returned");
|
|
105
|
+
const totalLines = driveToolUis.numberField(data, "total_lines");
|
|
106
|
+
const lineInfo = totalLines !== void 0 && linesReturned !== void 0 && linesReturned > 0 ? linesReturned < totalLines ? ` (lines ${startLine + 1}–${startLine + linesReturned} of ${totalLines})` : ` (${totalLines} lines)` : "";
|
|
107
|
+
return projectAssetId ? `Read ${label}${lineInfo}` : message ?? `Read ${label}`;
|
|
108
|
+
}
|
|
109
|
+
const verb = PM_OPERATION_DONE[operation] ?? "Updated";
|
|
110
|
+
if (!projectAssetId) return message ?? "PM document updated";
|
|
111
|
+
return `${(data == null ? void 0 : data.success) === true ? `Successfully ${verb.toLowerCase()}` : verb} ${label}`;
|
|
112
|
+
}
|
|
113
|
+
const PmDocumentsToolUIImpl = (props) => {
|
|
114
|
+
const { toolName, args, result, status, isError } = props;
|
|
115
|
+
const classification = toolResult.classifyToolResult({ status, result, isError });
|
|
116
|
+
if (classification.state === "rejected" || classification.state === "paused") {
|
|
117
|
+
return /* @__PURE__ */ jsxRuntime.jsx(toolFallback.ToolFallback, { ...props, icon: lucideReact.ClipboardListIcon });
|
|
118
|
+
}
|
|
119
|
+
const typedArgs = driveToolUis.argsRecord(args);
|
|
120
|
+
const data = primitives.normalizeResult(result);
|
|
121
|
+
const projectAssetId = toolResult.stringField(data, ["project_asset_id"]) ?? toolResult.stringField(typedArgs, ["project_asset_id"]);
|
|
122
|
+
const documentKey = toolResult.stringField(data, ["document"]) ?? toolResult.stringField(typedArgs, ["document"]) ?? "";
|
|
123
|
+
const label = PM_DOCUMENT_LABELS[documentKey] ?? documentKey;
|
|
124
|
+
const argOperation = toolResult.stringField(typedArgs, ["operation"]) ?? "";
|
|
125
|
+
const operation = toolResult.stringField(data, ["operation"]) ?? argOperation;
|
|
126
|
+
const patchCount = driveToolUis.numberField(data, "patch_count") ?? (Array.isArray(typedArgs.patches) ? typedArgs.patches.length : void 0);
|
|
127
|
+
const patchSuffix = operation === "patch" && patchCount ? ` (${patchCount} patch${patchCount !== 1 ? "es" : ""})` : "";
|
|
128
|
+
const startLineArg = driveToolUis.numberField(typedArgs, "start_line");
|
|
129
|
+
const readFromSuffix = argOperation === "read" && startLineArg !== void 0 && startLineArg > 0 ? ` (from line ${startLineArg + 1})` : "";
|
|
130
|
+
const running = `${PM_OPERATION_RUNNING[argOperation] ?? "Updating"} ${label}${patchSuffix}${readFromSuffix}...`;
|
|
131
|
+
const card = driveToolUis.toolCardOutcome({
|
|
132
|
+
status,
|
|
133
|
+
classification,
|
|
134
|
+
resultFailure: (data == null ? void 0 : data.success) === false ? toolResult.stringField(data, ["message"]) ?? "Failed to access PM document" : null
|
|
135
|
+
});
|
|
136
|
+
const title = card.status === "running" ? running : card.status === "complete" ? pmDocumentsDoneTitle({ data, operation, label, projectAssetId }) : driveToolUis.withoutEllipsis(running);
|
|
137
|
+
const preview = pmDocumentsPreview({ args: typedArgs, data });
|
|
138
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
139
|
+
primitives.ToolCard,
|
|
140
|
+
{
|
|
141
|
+
icon: lucideReact.ClipboardListIcon,
|
|
142
|
+
status: card.status,
|
|
143
|
+
title,
|
|
144
|
+
toolName,
|
|
145
|
+
args: typedArgs,
|
|
146
|
+
result,
|
|
147
|
+
error: card.failure,
|
|
148
|
+
children: [
|
|
149
|
+
card.status === "complete" && projectAssetId ? /* @__PURE__ */ jsxRuntime.jsx(ProjectChipLine, { projectAssetId }) : null,
|
|
150
|
+
preview.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(primitives.ExpandableSection, { label: "Show details", children: /* @__PURE__ */ jsxRuntime.jsx(PmDocumentsPreview, { parts: preview }) }) : null
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
};
|
|
155
|
+
const PmDocumentsToolUI = require$$0.memo(
|
|
156
|
+
PmDocumentsToolUIImpl
|
|
157
|
+
);
|
|
158
|
+
PmDocumentsToolUI.displayName = "PmDocumentsToolUI";
|
|
159
|
+
function roadmapTitle(data) {
|
|
160
|
+
if (!data) return "Roadmap retrieved";
|
|
161
|
+
const goals = driveToolUis.numberField(data, "goals_count");
|
|
162
|
+
const phases = driveToolUis.numberField(data, "phases_count");
|
|
163
|
+
if (goals === 0 && phases === 0) {
|
|
164
|
+
return toolResult.stringField(data, ["message"]) ?? "No roadmap data found";
|
|
165
|
+
}
|
|
166
|
+
const parts = [];
|
|
167
|
+
if (goals !== void 0) parts.push(`${goals} goal(s)`);
|
|
168
|
+
if (phases !== void 0) parts.push(`${phases} phase(s)`);
|
|
169
|
+
const currentPhase = toolResult.stringField(data, ["current_phase"]);
|
|
170
|
+
if (currentPhase) parts.push(`Current: ${currentPhase}`);
|
|
171
|
+
return parts.length > 0 ? `Roadmap: ${parts.join(" · ")}` : "Roadmap retrieved";
|
|
172
|
+
}
|
|
173
|
+
const GetPmRoadmapToolUIImpl = (props) => {
|
|
174
|
+
const { toolName, args, result, status, isError } = props;
|
|
175
|
+
const classification = toolResult.classifyToolResult({ status, result, isError });
|
|
176
|
+
if (classification.state === "rejected" || classification.state === "paused") {
|
|
177
|
+
return /* @__PURE__ */ jsxRuntime.jsx(toolFallback.ToolFallback, { ...props, icon: lucideReact.ClipboardListIcon });
|
|
178
|
+
}
|
|
179
|
+
const typedArgs = driveToolUis.argsRecord(args);
|
|
180
|
+
const data = primitives.normalizeResult(result);
|
|
181
|
+
const projectAssetId = toolResult.stringField(data, ["project_asset_id"]) ?? toolResult.stringField(typedArgs, ["project_asset_id"]);
|
|
182
|
+
const card = driveToolUis.toolCardOutcome({
|
|
183
|
+
status,
|
|
184
|
+
classification,
|
|
185
|
+
resultFailure: (data == null ? void 0 : data.success) === false ? toolResult.stringField(data, ["message"]) ?? "Failed to read roadmap" : null
|
|
186
|
+
});
|
|
187
|
+
const running = "Reading PM roadmap...";
|
|
188
|
+
const title = card.status === "running" ? running : card.status === "complete" ? roadmapTitle(data) : driveToolUis.withoutEllipsis(running);
|
|
189
|
+
const roadmap = card.status === "complete" ? toolResult.stringField(data, ["roadmap"]) : null;
|
|
190
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
191
|
+
primitives.ToolCard,
|
|
192
|
+
{
|
|
193
|
+
icon: lucideReact.ClipboardListIcon,
|
|
194
|
+
status: card.status,
|
|
195
|
+
title,
|
|
196
|
+
toolName,
|
|
197
|
+
args: typedArgs,
|
|
198
|
+
result,
|
|
199
|
+
error: card.failure,
|
|
200
|
+
children: [
|
|
201
|
+
card.status === "complete" && projectAssetId ? /* @__PURE__ */ jsxRuntime.jsx(ProjectChipLine, { projectAssetId }) : null,
|
|
202
|
+
roadmap ? /* @__PURE__ */ jsxRuntime.jsx(primitives.ExpandableSection, { label: "Show roadmap", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "whitespace-pre-wrap break-words text-xs text-muted-foreground", children: roadmap }) }) : null
|
|
203
|
+
]
|
|
204
|
+
}
|
|
205
|
+
);
|
|
206
|
+
};
|
|
207
|
+
const GetPmRoadmapToolUI = require$$0.memo(
|
|
208
|
+
GetPmRoadmapToolUIImpl
|
|
209
|
+
);
|
|
210
|
+
GetPmRoadmapToolUI.displayName = "GetPmRoadmapToolUI";
|
|
211
|
+
exports.GetPmRoadmapToolUI = GetPmRoadmapToolUI;
|
|
212
|
+
exports.PmDocumentsToolUI = PmDocumentsToolUI;
|
|
213
|
+
//# sourceMappingURL=project-tool-uis.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-tool-uis.cjs","sources":["../../src/tools/project-tool-uis.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * The project manager's cards, as Athena on the web draws them:\n * `pm_documents` (which of the PM's documents the agent read or changed, the\n * lines it read and the change it made) and `get_pm_roadmap` (the roadmap's\n * goals, phases and current phase, and the roadmap itself), each finishing\n * with the project as a chip that opens it.\n *\n * Olympus names the project by its title, read from its asset cache; these\n * tools return only the project's id, so its chip says \"Project\". Olympus\n * renders the previews as Markdown; here they show as the text they are.\n */\nimport type { ToolCallMessagePartComponent } from \"@assistant-ui/react\";\nimport { classifyToolResult, isRecord, stringField } from \"@athenaintel/agent-runtime\";\nimport { ClipboardListIcon } from \"lucide-react\";\nimport { memo } from \"react\";\nimport {\n argsRecord,\n AssetChip,\n AssetChipLine,\n numberField,\n toolCardOutcome,\n withoutEllipsis,\n} from \"./drive-tool-uis\";\nimport { ExpandableSection, normalizeResult, ToolCard } from \"./primitives\";\nimport { ToolFallback } from \"./tool-fallback\";\n\n/** \"for [Project]\": the end of a project manager card's sentence. */\nfunction ProjectChipLine({ projectAssetId }: { projectAssetId: string }) {\n return (\n <AssetChipLine>\n <span>for</span>\n <AssetChip assetId={projectAssetId} fallbackLabel=\"Project\" assetType=\"project\" />\n </AssetChipLine>\n );\n}\n\n// ─── pm_documents ────────────────────────────────────────────────────\n\nconst PM_DOCUMENT_LABELS: Record<string, string> = {\n goals: \"GOALS.md\",\n plan: \"PLAN.md\",\n activity_log: \"ACTIVITY_LOG.md\",\n summary: \"PM_SUMMARY.md\",\n memory: \"MEMORY.md\",\n};\n\nconst PM_OPERATION_RUNNING: Record<string, string> = {\n read: \"Reading\",\n patch: \"Patching\",\n rewrite: \"Rewriting\",\n append: \"Appending to\",\n};\n\nconst PM_OPERATION_DONE: Record<string, string> = {\n patch: \"Patched\",\n rewrite: \"Rewrote content in\",\n append: \"Appended content in\",\n};\n\ninterface PmPatch {\n old: string;\n new: string;\n}\n\n/** The `{ old, new }` patches the call carries, as they stream (a half-written patch has one side, or neither). */\nfunction pmPatches(value: unknown): PmPatch[] {\n if (!Array.isArray(value)) return [];\n return value.flatMap((patch) =>\n isRecord(patch)\n ? [\n {\n old: typeof patch.old === \"string\" ? patch.old : \"\",\n new: typeof patch.new === \"string\" ? patch.new : \"\",\n },\n ]\n : [],\n );\n}\n\ntype PmPreviewPart = { kind: \"text\"; text: string } | { kind: \"patches\"; patches: PmPatch[] };\n\n/**\n * What the details show, in Olympus's order: the result's warning, then the\n * lines read (with where they sit in the document), or the patches, or the\n * content written, then the activity log entry and whether it was recorded.\n */\nfunction pmDocumentsPreview({\n args,\n data,\n}: {\n args: Record<string, unknown>;\n data: Record<string, unknown> | null;\n}): PmPreviewPart[] {\n const parts: PmPreviewPart[] = [];\n const warning = stringField(data, [\"warning\"]);\n if (warning) parts.push({ kind: \"text\", text: `⚠️ ${warning}` });\n\n const content = stringField(data, [\"content\"]);\n const patches = pmPatches(args.patches);\n const newContent = stringField(args, [\"new_content\", \"content\"]);\n if (stringField(data, [\"operation\"]) === \"read\" && content) {\n const startLine = numberField(data, \"start_line\") ?? 0;\n const before = numberField(data, \"lines_before\");\n const after = numberField(data, \"lines_after\");\n if (before !== undefined && after !== undefined && (before > 0 || after > 0)) {\n const lastLine = startLine + (numberField(data, \"lines_returned\") ?? 0);\n const total = numberField(data, \"total_lines\") ?? \"?\";\n parts.push({\n kind: \"text\",\n text: `Lines ${startLine + 1}–${lastLine} of ${total} (${before} before, ${after} after)`,\n });\n }\n parts.push({ kind: \"text\", text: content });\n } else if (patches.length > 0) {\n parts.push({ kind: \"patches\", patches });\n } else if (newContent) {\n parts.push({ kind: \"text\", text: newContent });\n }\n\n const logEntry = stringField(args, [\"activity_log_entry\"]);\n if (logEntry) parts.push({ kind: \"text\", text: `Activity log: ${logEntry}` });\n if (data?.activity_log_recorded === true) {\n parts.push({ kind: \"text\", text: \"✓ Activity log entry recorded\" });\n }\n return parts;\n}\n\nfunction PmPatchList({ patches }: { patches: PmPatch[] }) {\n return (\n <div className=\"flex flex-col gap-1.5 text-xs\">\n {patches.map((patch, index) => (\n <div key={index} className=\"flex flex-col gap-0.5\">\n <span className=\"font-medium text-muted-foreground\">{index + 1}.</span>\n {patch.old ? (\n <span className=\"break-all rounded bg-destructive/10 px-1.5 py-0.5 text-destructive line-through\">\n {patch.old}\n </span>\n ) : null}\n {patch.new ? (\n <span className=\"break-all rounded bg-emerald-500/10 px-1.5 py-0.5 text-emerald-600\">\n {patch.new}\n </span>\n ) : null}\n </div>\n ))}\n </div>\n );\n}\n\nfunction PmDocumentsPreview({ parts }: { parts: PmPreviewPart[] }) {\n return (\n <div className=\"flex flex-col gap-3\">\n {parts.map((part, index) =>\n part.kind === \"patches\" ? (\n <PmPatchList key={index} patches={part.patches} />\n ) : (\n <p key={index} className=\"whitespace-pre-wrap break-words text-xs text-muted-foreground\">\n {part.text}\n </p>\n ),\n )}\n </div>\n );\n}\n\n/** What a settled call did, in Olympus's words (\"Read GOALS.md (lines 1–100 of 240)\", \"Successfully patched PLAN.md\"). */\nfunction pmDocumentsDoneTitle({\n data,\n operation,\n label,\n projectAssetId,\n}: {\n data: Record<string, unknown> | null;\n operation: string;\n label: string;\n projectAssetId: string | null;\n}): string {\n const message = stringField(data, [\"message\"]);\n if (stringField(data, [\"operation\"]) === \"read\") {\n const startLine = numberField(data, \"start_line\") ?? 0;\n const linesReturned = numberField(data, \"lines_returned\");\n const totalLines = numberField(data, \"total_lines\");\n const lineInfo =\n totalLines !== undefined && linesReturned !== undefined && linesReturned > 0\n ? linesReturned < totalLines\n ? ` (lines ${startLine + 1}–${startLine + linesReturned} of ${totalLines})`\n : ` (${totalLines} lines)`\n : \"\";\n return projectAssetId ? `Read ${label}${lineInfo}` : (message ?? `Read ${label}`);\n }\n const verb = PM_OPERATION_DONE[operation] ?? \"Updated\";\n if (!projectAssetId) return message ?? \"PM document updated\";\n return `${data?.success === true ? `Successfully ${verb.toLowerCase()}` : verb} ${label}`;\n}\n\nconst PmDocumentsToolUIImpl: ToolCallMessagePartComponent = (props) => {\n const { toolName, args, result, status, isError } = props;\n const classification = classifyToolResult({ status, result, isError });\n // A write refused at the approval gate or parked by the runtime is the\n // generic card's to draw: it is neither a result nor a failure.\n if (classification.state === \"rejected\" || classification.state === \"paused\") {\n return <ToolFallback {...props} icon={ClipboardListIcon} />;\n }\n const typedArgs = argsRecord(args);\n const data = normalizeResult(result);\n const projectAssetId =\n stringField(data, [\"project_asset_id\"]) ?? stringField(typedArgs, [\"project_asset_id\"]);\n const documentKey = stringField(data, [\"document\"]) ?? stringField(typedArgs, [\"document\"]) ?? \"\";\n const label = PM_DOCUMENT_LABELS[documentKey] ?? documentKey;\n const argOperation = stringField(typedArgs, [\"operation\"]) ?? \"\";\n const operation = stringField(data, [\"operation\"]) ?? argOperation;\n\n const patchCount =\n numberField(data, \"patch_count\") ??\n (Array.isArray(typedArgs.patches) ? typedArgs.patches.length : undefined);\n const patchSuffix =\n operation === \"patch\" && patchCount\n ? ` (${patchCount} patch${patchCount !== 1 ? \"es\" : \"\"})`\n : \"\";\n const startLineArg = numberField(typedArgs, \"start_line\");\n const readFromSuffix =\n argOperation === \"read\" && startLineArg !== undefined && startLineArg > 0\n ? ` (from line ${startLineArg + 1})`\n : \"\";\n const running = `${PM_OPERATION_RUNNING[argOperation] ?? \"Updating\"} ${label}${patchSuffix}${readFromSuffix}...`;\n\n // pm_documents answers every refusal as `{ success: false, message }`.\n const card = toolCardOutcome({\n status,\n classification,\n resultFailure:\n data?.success === false\n ? (stringField(data, [\"message\"]) ?? \"Failed to access PM document\")\n : null,\n });\n const title =\n card.status === \"running\"\n ? running\n : card.status === \"complete\"\n ? pmDocumentsDoneTitle({ data, operation, label, projectAssetId })\n : withoutEllipsis(running);\n const preview = pmDocumentsPreview({ args: typedArgs, data });\n\n return (\n <ToolCard\n icon={ClipboardListIcon}\n status={card.status}\n title={title}\n toolName={toolName}\n args={typedArgs}\n result={result}\n error={card.failure}\n >\n {card.status === \"complete\" && projectAssetId ? (\n <ProjectChipLine projectAssetId={projectAssetId} />\n ) : null}\n {preview.length > 0 ? (\n <ExpandableSection label=\"Show details\">\n <PmDocumentsPreview parts={preview} />\n </ExpandableSection>\n ) : null}\n </ToolCard>\n );\n};\n\nexport const PmDocumentsToolUI = memo(\n PmDocumentsToolUIImpl,\n) as unknown as ToolCallMessagePartComponent;\nPmDocumentsToolUI.displayName = \"PmDocumentsToolUI\";\n\n// ─── get_pm_roadmap ──────────────────────────────────────────────────\n\n/** The roadmap's counts in Olympus's words (\"Roadmap: 3 goal(s) · 4 phase(s) · Current: Phase 2: Build\"). */\nfunction roadmapTitle(data: Record<string, unknown> | null): string {\n if (!data) return \"Roadmap retrieved\";\n const goals = numberField(data, \"goals_count\");\n const phases = numberField(data, \"phases_count\");\n if (goals === 0 && phases === 0) {\n return stringField(data, [\"message\"]) ?? \"No roadmap data found\";\n }\n const parts: string[] = [];\n if (goals !== undefined) parts.push(`${goals} goal(s)`);\n if (phases !== undefined) parts.push(`${phases} phase(s)`);\n const currentPhase = stringField(data, [\"current_phase\"]);\n if (currentPhase) parts.push(`Current: ${currentPhase}`);\n return parts.length > 0 ? `Roadmap: ${parts.join(\" · \")}` : \"Roadmap retrieved\";\n}\n\nconst GetPmRoadmapToolUIImpl: ToolCallMessagePartComponent = (props) => {\n const { toolName, args, result, status, isError } = props;\n const classification = classifyToolResult({ status, result, isError });\n if (classification.state === \"rejected\" || classification.state === \"paused\") {\n return <ToolFallback {...props} icon={ClipboardListIcon} />;\n }\n const typedArgs = argsRecord(args);\n const data = normalizeResult(result);\n const projectAssetId =\n stringField(data, [\"project_asset_id\"]) ?? stringField(typedArgs, [\"project_asset_id\"]);\n const card = toolCardOutcome({\n status,\n classification,\n resultFailure:\n data?.success === false ? (stringField(data, [\"message\"]) ?? \"Failed to read roadmap\") : null,\n });\n const running = \"Reading PM roadmap...\";\n const title =\n card.status === \"running\"\n ? running\n : card.status === \"complete\"\n ? roadmapTitle(data)\n : withoutEllipsis(running);\n const roadmap = card.status === \"complete\" ? stringField(data, [\"roadmap\"]) : null;\n\n return (\n <ToolCard\n icon={ClipboardListIcon}\n status={card.status}\n title={title}\n toolName={toolName}\n args={typedArgs}\n result={result}\n error={card.failure}\n >\n {card.status === \"complete\" && projectAssetId ? (\n <ProjectChipLine projectAssetId={projectAssetId} />\n ) : null}\n {roadmap ? (\n <ExpandableSection label=\"Show roadmap\">\n <p className=\"whitespace-pre-wrap break-words text-xs text-muted-foreground\">{roadmap}</p>\n </ExpandableSection>\n ) : null}\n </ToolCard>\n );\n};\n\nexport const GetPmRoadmapToolUI = memo(\n GetPmRoadmapToolUIImpl,\n) as unknown as ToolCallMessagePartComponent;\nGetPmRoadmapToolUI.displayName = \"GetPmRoadmapToolUI\";\n"],"names":["AssetChipLine","jsx","AssetChip","isRecord","stringField","numberField","jsxs","classifyToolResult","ToolFallback","ClipboardListIcon","argsRecord","normalizeResult","toolCardOutcome","withoutEllipsis","ToolCard","ExpandableSection","memo"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The project manager's cards, as Athena on the web draws them:
|
|
3
|
+
* `pm_documents` (which of the PM's documents the agent read or changed, the
|
|
4
|
+
* lines it read and the change it made) and `get_pm_roadmap` (the roadmap's
|
|
5
|
+
* goals, phases and current phase, and the roadmap itself), each finishing
|
|
6
|
+
* with the project as a chip that opens it.
|
|
7
|
+
*
|
|
8
|
+
* Olympus names the project by its title, read from its asset cache; these
|
|
9
|
+
* tools return only the project's id, so its chip says "Project". Olympus
|
|
10
|
+
* renders the previews as Markdown; here they show as the text they are.
|
|
11
|
+
*/
|
|
12
|
+
import type { ToolCallMessagePartComponent } from "@assistant-ui/react";
|
|
13
|
+
export declare const PmDocumentsToolUI: ToolCallMessagePartComponent;
|
|
14
|
+
export declare const GetPmRoadmapToolUI: ToolCallMessagePartComponent;
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ClipboardListIcon } from "lucide-react";
|
|
3
|
+
import { memo } from "react";
|
|
4
|
+
import { toolCardOutcome, withoutEllipsis, numberField, argsRecord, AssetChipLine, AssetChip } from "./drive-tool-uis.js";
|
|
5
|
+
import { normalizeResult, ToolCard, ExpandableSection } from "./primitives.js";
|
|
6
|
+
import { ToolFallback } from "./tool-fallback.js";
|
|
7
|
+
import { classifyToolResult, stringField, isRecord } from "../agent-runtime/src/tool-result.js";
|
|
8
|
+
function ProjectChipLine({ projectAssetId }) {
|
|
9
|
+
return /* @__PURE__ */ jsxs(AssetChipLine, { children: [
|
|
10
|
+
/* @__PURE__ */ jsx("span", { children: "for" }),
|
|
11
|
+
/* @__PURE__ */ jsx(AssetChip, { assetId: projectAssetId, fallbackLabel: "Project", assetType: "project" })
|
|
12
|
+
] });
|
|
13
|
+
}
|
|
14
|
+
const PM_DOCUMENT_LABELS = {
|
|
15
|
+
goals: "GOALS.md",
|
|
16
|
+
plan: "PLAN.md",
|
|
17
|
+
activity_log: "ACTIVITY_LOG.md",
|
|
18
|
+
summary: "PM_SUMMARY.md",
|
|
19
|
+
memory: "MEMORY.md"
|
|
20
|
+
};
|
|
21
|
+
const PM_OPERATION_RUNNING = {
|
|
22
|
+
read: "Reading",
|
|
23
|
+
patch: "Patching",
|
|
24
|
+
rewrite: "Rewriting",
|
|
25
|
+
append: "Appending to"
|
|
26
|
+
};
|
|
27
|
+
const PM_OPERATION_DONE = {
|
|
28
|
+
patch: "Patched",
|
|
29
|
+
rewrite: "Rewrote content in",
|
|
30
|
+
append: "Appended content in"
|
|
31
|
+
};
|
|
32
|
+
function pmPatches(value) {
|
|
33
|
+
if (!Array.isArray(value)) return [];
|
|
34
|
+
return value.flatMap(
|
|
35
|
+
(patch) => isRecord(patch) ? [
|
|
36
|
+
{
|
|
37
|
+
old: typeof patch.old === "string" ? patch.old : "",
|
|
38
|
+
new: typeof patch.new === "string" ? patch.new : ""
|
|
39
|
+
}
|
|
40
|
+
] : []
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
function pmDocumentsPreview({
|
|
44
|
+
args,
|
|
45
|
+
data
|
|
46
|
+
}) {
|
|
47
|
+
const parts = [];
|
|
48
|
+
const warning = stringField(data, ["warning"]);
|
|
49
|
+
if (warning) parts.push({ kind: "text", text: `⚠️ ${warning}` });
|
|
50
|
+
const content = stringField(data, ["content"]);
|
|
51
|
+
const patches = pmPatches(args.patches);
|
|
52
|
+
const newContent = stringField(args, ["new_content", "content"]);
|
|
53
|
+
if (stringField(data, ["operation"]) === "read" && content) {
|
|
54
|
+
const startLine = numberField(data, "start_line") ?? 0;
|
|
55
|
+
const before = numberField(data, "lines_before");
|
|
56
|
+
const after = numberField(data, "lines_after");
|
|
57
|
+
if (before !== void 0 && after !== void 0 && (before > 0 || after > 0)) {
|
|
58
|
+
const lastLine = startLine + (numberField(data, "lines_returned") ?? 0);
|
|
59
|
+
const total = numberField(data, "total_lines") ?? "?";
|
|
60
|
+
parts.push({
|
|
61
|
+
kind: "text",
|
|
62
|
+
text: `Lines ${startLine + 1}–${lastLine} of ${total} (${before} before, ${after} after)`
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
parts.push({ kind: "text", text: content });
|
|
66
|
+
} else if (patches.length > 0) {
|
|
67
|
+
parts.push({ kind: "patches", patches });
|
|
68
|
+
} else if (newContent) {
|
|
69
|
+
parts.push({ kind: "text", text: newContent });
|
|
70
|
+
}
|
|
71
|
+
const logEntry = stringField(args, ["activity_log_entry"]);
|
|
72
|
+
if (logEntry) parts.push({ kind: "text", text: `Activity log: ${logEntry}` });
|
|
73
|
+
if ((data == null ? void 0 : data.activity_log_recorded) === true) {
|
|
74
|
+
parts.push({ kind: "text", text: "✓ Activity log entry recorded" });
|
|
75
|
+
}
|
|
76
|
+
return parts;
|
|
77
|
+
}
|
|
78
|
+
function PmPatchList({ patches }) {
|
|
79
|
+
return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1.5 text-xs", children: patches.map((patch, index) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
80
|
+
/* @__PURE__ */ jsxs("span", { className: "font-medium text-muted-foreground", children: [
|
|
81
|
+
index + 1,
|
|
82
|
+
"."
|
|
83
|
+
] }),
|
|
84
|
+
patch.old ? /* @__PURE__ */ jsx("span", { className: "break-all rounded bg-destructive/10 px-1.5 py-0.5 text-destructive line-through", children: patch.old }) : null,
|
|
85
|
+
patch.new ? /* @__PURE__ */ jsx("span", { className: "break-all rounded bg-emerald-500/10 px-1.5 py-0.5 text-emerald-600", children: patch.new }) : null
|
|
86
|
+
] }, index)) });
|
|
87
|
+
}
|
|
88
|
+
function PmDocumentsPreview({ parts }) {
|
|
89
|
+
return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3", children: parts.map(
|
|
90
|
+
(part, index) => part.kind === "patches" ? /* @__PURE__ */ jsx(PmPatchList, { patches: part.patches }, index) : /* @__PURE__ */ jsx("p", { className: "whitespace-pre-wrap break-words text-xs text-muted-foreground", children: part.text }, index)
|
|
91
|
+
) });
|
|
92
|
+
}
|
|
93
|
+
function pmDocumentsDoneTitle({
|
|
94
|
+
data,
|
|
95
|
+
operation,
|
|
96
|
+
label,
|
|
97
|
+
projectAssetId
|
|
98
|
+
}) {
|
|
99
|
+
const message = stringField(data, ["message"]);
|
|
100
|
+
if (stringField(data, ["operation"]) === "read") {
|
|
101
|
+
const startLine = numberField(data, "start_line") ?? 0;
|
|
102
|
+
const linesReturned = numberField(data, "lines_returned");
|
|
103
|
+
const totalLines = numberField(data, "total_lines");
|
|
104
|
+
const lineInfo = totalLines !== void 0 && linesReturned !== void 0 && linesReturned > 0 ? linesReturned < totalLines ? ` (lines ${startLine + 1}–${startLine + linesReturned} of ${totalLines})` : ` (${totalLines} lines)` : "";
|
|
105
|
+
return projectAssetId ? `Read ${label}${lineInfo}` : message ?? `Read ${label}`;
|
|
106
|
+
}
|
|
107
|
+
const verb = PM_OPERATION_DONE[operation] ?? "Updated";
|
|
108
|
+
if (!projectAssetId) return message ?? "PM document updated";
|
|
109
|
+
return `${(data == null ? void 0 : data.success) === true ? `Successfully ${verb.toLowerCase()}` : verb} ${label}`;
|
|
110
|
+
}
|
|
111
|
+
const PmDocumentsToolUIImpl = (props) => {
|
|
112
|
+
const { toolName, args, result, status, isError } = props;
|
|
113
|
+
const classification = classifyToolResult({ status, result, isError });
|
|
114
|
+
if (classification.state === "rejected" || classification.state === "paused") {
|
|
115
|
+
return /* @__PURE__ */ jsx(ToolFallback, { ...props, icon: ClipboardListIcon });
|
|
116
|
+
}
|
|
117
|
+
const typedArgs = argsRecord(args);
|
|
118
|
+
const data = normalizeResult(result);
|
|
119
|
+
const projectAssetId = stringField(data, ["project_asset_id"]) ?? stringField(typedArgs, ["project_asset_id"]);
|
|
120
|
+
const documentKey = stringField(data, ["document"]) ?? stringField(typedArgs, ["document"]) ?? "";
|
|
121
|
+
const label = PM_DOCUMENT_LABELS[documentKey] ?? documentKey;
|
|
122
|
+
const argOperation = stringField(typedArgs, ["operation"]) ?? "";
|
|
123
|
+
const operation = stringField(data, ["operation"]) ?? argOperation;
|
|
124
|
+
const patchCount = numberField(data, "patch_count") ?? (Array.isArray(typedArgs.patches) ? typedArgs.patches.length : void 0);
|
|
125
|
+
const patchSuffix = operation === "patch" && patchCount ? ` (${patchCount} patch${patchCount !== 1 ? "es" : ""})` : "";
|
|
126
|
+
const startLineArg = numberField(typedArgs, "start_line");
|
|
127
|
+
const readFromSuffix = argOperation === "read" && startLineArg !== void 0 && startLineArg > 0 ? ` (from line ${startLineArg + 1})` : "";
|
|
128
|
+
const running = `${PM_OPERATION_RUNNING[argOperation] ?? "Updating"} ${label}${patchSuffix}${readFromSuffix}...`;
|
|
129
|
+
const card = toolCardOutcome({
|
|
130
|
+
status,
|
|
131
|
+
classification,
|
|
132
|
+
resultFailure: (data == null ? void 0 : data.success) === false ? stringField(data, ["message"]) ?? "Failed to access PM document" : null
|
|
133
|
+
});
|
|
134
|
+
const title = card.status === "running" ? running : card.status === "complete" ? pmDocumentsDoneTitle({ data, operation, label, projectAssetId }) : withoutEllipsis(running);
|
|
135
|
+
const preview = pmDocumentsPreview({ args: typedArgs, data });
|
|
136
|
+
return /* @__PURE__ */ jsxs(
|
|
137
|
+
ToolCard,
|
|
138
|
+
{
|
|
139
|
+
icon: ClipboardListIcon,
|
|
140
|
+
status: card.status,
|
|
141
|
+
title,
|
|
142
|
+
toolName,
|
|
143
|
+
args: typedArgs,
|
|
144
|
+
result,
|
|
145
|
+
error: card.failure,
|
|
146
|
+
children: [
|
|
147
|
+
card.status === "complete" && projectAssetId ? /* @__PURE__ */ jsx(ProjectChipLine, { projectAssetId }) : null,
|
|
148
|
+
preview.length > 0 ? /* @__PURE__ */ jsx(ExpandableSection, { label: "Show details", children: /* @__PURE__ */ jsx(PmDocumentsPreview, { parts: preview }) }) : null
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
);
|
|
152
|
+
};
|
|
153
|
+
const PmDocumentsToolUI = memo(
|
|
154
|
+
PmDocumentsToolUIImpl
|
|
155
|
+
);
|
|
156
|
+
PmDocumentsToolUI.displayName = "PmDocumentsToolUI";
|
|
157
|
+
function roadmapTitle(data) {
|
|
158
|
+
if (!data) return "Roadmap retrieved";
|
|
159
|
+
const goals = numberField(data, "goals_count");
|
|
160
|
+
const phases = numberField(data, "phases_count");
|
|
161
|
+
if (goals === 0 && phases === 0) {
|
|
162
|
+
return stringField(data, ["message"]) ?? "No roadmap data found";
|
|
163
|
+
}
|
|
164
|
+
const parts = [];
|
|
165
|
+
if (goals !== void 0) parts.push(`${goals} goal(s)`);
|
|
166
|
+
if (phases !== void 0) parts.push(`${phases} phase(s)`);
|
|
167
|
+
const currentPhase = stringField(data, ["current_phase"]);
|
|
168
|
+
if (currentPhase) parts.push(`Current: ${currentPhase}`);
|
|
169
|
+
return parts.length > 0 ? `Roadmap: ${parts.join(" · ")}` : "Roadmap retrieved";
|
|
170
|
+
}
|
|
171
|
+
const GetPmRoadmapToolUIImpl = (props) => {
|
|
172
|
+
const { toolName, args, result, status, isError } = props;
|
|
173
|
+
const classification = classifyToolResult({ status, result, isError });
|
|
174
|
+
if (classification.state === "rejected" || classification.state === "paused") {
|
|
175
|
+
return /* @__PURE__ */ jsx(ToolFallback, { ...props, icon: ClipboardListIcon });
|
|
176
|
+
}
|
|
177
|
+
const typedArgs = argsRecord(args);
|
|
178
|
+
const data = normalizeResult(result);
|
|
179
|
+
const projectAssetId = stringField(data, ["project_asset_id"]) ?? stringField(typedArgs, ["project_asset_id"]);
|
|
180
|
+
const card = toolCardOutcome({
|
|
181
|
+
status,
|
|
182
|
+
classification,
|
|
183
|
+
resultFailure: (data == null ? void 0 : data.success) === false ? stringField(data, ["message"]) ?? "Failed to read roadmap" : null
|
|
184
|
+
});
|
|
185
|
+
const running = "Reading PM roadmap...";
|
|
186
|
+
const title = card.status === "running" ? running : card.status === "complete" ? roadmapTitle(data) : withoutEllipsis(running);
|
|
187
|
+
const roadmap = card.status === "complete" ? stringField(data, ["roadmap"]) : null;
|
|
188
|
+
return /* @__PURE__ */ jsxs(
|
|
189
|
+
ToolCard,
|
|
190
|
+
{
|
|
191
|
+
icon: ClipboardListIcon,
|
|
192
|
+
status: card.status,
|
|
193
|
+
title,
|
|
194
|
+
toolName,
|
|
195
|
+
args: typedArgs,
|
|
196
|
+
result,
|
|
197
|
+
error: card.failure,
|
|
198
|
+
children: [
|
|
199
|
+
card.status === "complete" && projectAssetId ? /* @__PURE__ */ jsx(ProjectChipLine, { projectAssetId }) : null,
|
|
200
|
+
roadmap ? /* @__PURE__ */ jsx(ExpandableSection, { label: "Show roadmap", children: /* @__PURE__ */ jsx("p", { className: "whitespace-pre-wrap break-words text-xs text-muted-foreground", children: roadmap }) }) : null
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
};
|
|
205
|
+
const GetPmRoadmapToolUI = memo(
|
|
206
|
+
GetPmRoadmapToolUIImpl
|
|
207
|
+
);
|
|
208
|
+
GetPmRoadmapToolUI.displayName = "GetPmRoadmapToolUI";
|
|
209
|
+
export {
|
|
210
|
+
GetPmRoadmapToolUI,
|
|
211
|
+
PmDocumentsToolUI
|
|
212
|
+
};
|
|
213
|
+
//# sourceMappingURL=project-tool-uis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-tool-uis.js","sources":["../../src/tools/project-tool-uis.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * The project manager's cards, as Athena on the web draws them:\n * `pm_documents` (which of the PM's documents the agent read or changed, the\n * lines it read and the change it made) and `get_pm_roadmap` (the roadmap's\n * goals, phases and current phase, and the roadmap itself), each finishing\n * with the project as a chip that opens it.\n *\n * Olympus names the project by its title, read from its asset cache; these\n * tools return only the project's id, so its chip says \"Project\". Olympus\n * renders the previews as Markdown; here they show as the text they are.\n */\nimport type { ToolCallMessagePartComponent } from \"@assistant-ui/react\";\nimport { classifyToolResult, isRecord, stringField } from \"@athenaintel/agent-runtime\";\nimport { ClipboardListIcon } from \"lucide-react\";\nimport { memo } from \"react\";\nimport {\n argsRecord,\n AssetChip,\n AssetChipLine,\n numberField,\n toolCardOutcome,\n withoutEllipsis,\n} from \"./drive-tool-uis\";\nimport { ExpandableSection, normalizeResult, ToolCard } from \"./primitives\";\nimport { ToolFallback } from \"./tool-fallback\";\n\n/** \"for [Project]\": the end of a project manager card's sentence. */\nfunction ProjectChipLine({ projectAssetId }: { projectAssetId: string }) {\n return (\n <AssetChipLine>\n <span>for</span>\n <AssetChip assetId={projectAssetId} fallbackLabel=\"Project\" assetType=\"project\" />\n </AssetChipLine>\n );\n}\n\n// ─── pm_documents ────────────────────────────────────────────────────\n\nconst PM_DOCUMENT_LABELS: Record<string, string> = {\n goals: \"GOALS.md\",\n plan: \"PLAN.md\",\n activity_log: \"ACTIVITY_LOG.md\",\n summary: \"PM_SUMMARY.md\",\n memory: \"MEMORY.md\",\n};\n\nconst PM_OPERATION_RUNNING: Record<string, string> = {\n read: \"Reading\",\n patch: \"Patching\",\n rewrite: \"Rewriting\",\n append: \"Appending to\",\n};\n\nconst PM_OPERATION_DONE: Record<string, string> = {\n patch: \"Patched\",\n rewrite: \"Rewrote content in\",\n append: \"Appended content in\",\n};\n\ninterface PmPatch {\n old: string;\n new: string;\n}\n\n/** The `{ old, new }` patches the call carries, as they stream (a half-written patch has one side, or neither). */\nfunction pmPatches(value: unknown): PmPatch[] {\n if (!Array.isArray(value)) return [];\n return value.flatMap((patch) =>\n isRecord(patch)\n ? [\n {\n old: typeof patch.old === \"string\" ? patch.old : \"\",\n new: typeof patch.new === \"string\" ? patch.new : \"\",\n },\n ]\n : [],\n );\n}\n\ntype PmPreviewPart = { kind: \"text\"; text: string } | { kind: \"patches\"; patches: PmPatch[] };\n\n/**\n * What the details show, in Olympus's order: the result's warning, then the\n * lines read (with where they sit in the document), or the patches, or the\n * content written, then the activity log entry and whether it was recorded.\n */\nfunction pmDocumentsPreview({\n args,\n data,\n}: {\n args: Record<string, unknown>;\n data: Record<string, unknown> | null;\n}): PmPreviewPart[] {\n const parts: PmPreviewPart[] = [];\n const warning = stringField(data, [\"warning\"]);\n if (warning) parts.push({ kind: \"text\", text: `⚠️ ${warning}` });\n\n const content = stringField(data, [\"content\"]);\n const patches = pmPatches(args.patches);\n const newContent = stringField(args, [\"new_content\", \"content\"]);\n if (stringField(data, [\"operation\"]) === \"read\" && content) {\n const startLine = numberField(data, \"start_line\") ?? 0;\n const before = numberField(data, \"lines_before\");\n const after = numberField(data, \"lines_after\");\n if (before !== undefined && after !== undefined && (before > 0 || after > 0)) {\n const lastLine = startLine + (numberField(data, \"lines_returned\") ?? 0);\n const total = numberField(data, \"total_lines\") ?? \"?\";\n parts.push({\n kind: \"text\",\n text: `Lines ${startLine + 1}–${lastLine} of ${total} (${before} before, ${after} after)`,\n });\n }\n parts.push({ kind: \"text\", text: content });\n } else if (patches.length > 0) {\n parts.push({ kind: \"patches\", patches });\n } else if (newContent) {\n parts.push({ kind: \"text\", text: newContent });\n }\n\n const logEntry = stringField(args, [\"activity_log_entry\"]);\n if (logEntry) parts.push({ kind: \"text\", text: `Activity log: ${logEntry}` });\n if (data?.activity_log_recorded === true) {\n parts.push({ kind: \"text\", text: \"✓ Activity log entry recorded\" });\n }\n return parts;\n}\n\nfunction PmPatchList({ patches }: { patches: PmPatch[] }) {\n return (\n <div className=\"flex flex-col gap-1.5 text-xs\">\n {patches.map((patch, index) => (\n <div key={index} className=\"flex flex-col gap-0.5\">\n <span className=\"font-medium text-muted-foreground\">{index + 1}.</span>\n {patch.old ? (\n <span className=\"break-all rounded bg-destructive/10 px-1.5 py-0.5 text-destructive line-through\">\n {patch.old}\n </span>\n ) : null}\n {patch.new ? (\n <span className=\"break-all rounded bg-emerald-500/10 px-1.5 py-0.5 text-emerald-600\">\n {patch.new}\n </span>\n ) : null}\n </div>\n ))}\n </div>\n );\n}\n\nfunction PmDocumentsPreview({ parts }: { parts: PmPreviewPart[] }) {\n return (\n <div className=\"flex flex-col gap-3\">\n {parts.map((part, index) =>\n part.kind === \"patches\" ? (\n <PmPatchList key={index} patches={part.patches} />\n ) : (\n <p key={index} className=\"whitespace-pre-wrap break-words text-xs text-muted-foreground\">\n {part.text}\n </p>\n ),\n )}\n </div>\n );\n}\n\n/** What a settled call did, in Olympus's words (\"Read GOALS.md (lines 1–100 of 240)\", \"Successfully patched PLAN.md\"). */\nfunction pmDocumentsDoneTitle({\n data,\n operation,\n label,\n projectAssetId,\n}: {\n data: Record<string, unknown> | null;\n operation: string;\n label: string;\n projectAssetId: string | null;\n}): string {\n const message = stringField(data, [\"message\"]);\n if (stringField(data, [\"operation\"]) === \"read\") {\n const startLine = numberField(data, \"start_line\") ?? 0;\n const linesReturned = numberField(data, \"lines_returned\");\n const totalLines = numberField(data, \"total_lines\");\n const lineInfo =\n totalLines !== undefined && linesReturned !== undefined && linesReturned > 0\n ? linesReturned < totalLines\n ? ` (lines ${startLine + 1}–${startLine + linesReturned} of ${totalLines})`\n : ` (${totalLines} lines)`\n : \"\";\n return projectAssetId ? `Read ${label}${lineInfo}` : (message ?? `Read ${label}`);\n }\n const verb = PM_OPERATION_DONE[operation] ?? \"Updated\";\n if (!projectAssetId) return message ?? \"PM document updated\";\n return `${data?.success === true ? `Successfully ${verb.toLowerCase()}` : verb} ${label}`;\n}\n\nconst PmDocumentsToolUIImpl: ToolCallMessagePartComponent = (props) => {\n const { toolName, args, result, status, isError } = props;\n const classification = classifyToolResult({ status, result, isError });\n // A write refused at the approval gate or parked by the runtime is the\n // generic card's to draw: it is neither a result nor a failure.\n if (classification.state === \"rejected\" || classification.state === \"paused\") {\n return <ToolFallback {...props} icon={ClipboardListIcon} />;\n }\n const typedArgs = argsRecord(args);\n const data = normalizeResult(result);\n const projectAssetId =\n stringField(data, [\"project_asset_id\"]) ?? stringField(typedArgs, [\"project_asset_id\"]);\n const documentKey = stringField(data, [\"document\"]) ?? stringField(typedArgs, [\"document\"]) ?? \"\";\n const label = PM_DOCUMENT_LABELS[documentKey] ?? documentKey;\n const argOperation = stringField(typedArgs, [\"operation\"]) ?? \"\";\n const operation = stringField(data, [\"operation\"]) ?? argOperation;\n\n const patchCount =\n numberField(data, \"patch_count\") ??\n (Array.isArray(typedArgs.patches) ? typedArgs.patches.length : undefined);\n const patchSuffix =\n operation === \"patch\" && patchCount\n ? ` (${patchCount} patch${patchCount !== 1 ? \"es\" : \"\"})`\n : \"\";\n const startLineArg = numberField(typedArgs, \"start_line\");\n const readFromSuffix =\n argOperation === \"read\" && startLineArg !== undefined && startLineArg > 0\n ? ` (from line ${startLineArg + 1})`\n : \"\";\n const running = `${PM_OPERATION_RUNNING[argOperation] ?? \"Updating\"} ${label}${patchSuffix}${readFromSuffix}...`;\n\n // pm_documents answers every refusal as `{ success: false, message }`.\n const card = toolCardOutcome({\n status,\n classification,\n resultFailure:\n data?.success === false\n ? (stringField(data, [\"message\"]) ?? \"Failed to access PM document\")\n : null,\n });\n const title =\n card.status === \"running\"\n ? running\n : card.status === \"complete\"\n ? pmDocumentsDoneTitle({ data, operation, label, projectAssetId })\n : withoutEllipsis(running);\n const preview = pmDocumentsPreview({ args: typedArgs, data });\n\n return (\n <ToolCard\n icon={ClipboardListIcon}\n status={card.status}\n title={title}\n toolName={toolName}\n args={typedArgs}\n result={result}\n error={card.failure}\n >\n {card.status === \"complete\" && projectAssetId ? (\n <ProjectChipLine projectAssetId={projectAssetId} />\n ) : null}\n {preview.length > 0 ? (\n <ExpandableSection label=\"Show details\">\n <PmDocumentsPreview parts={preview} />\n </ExpandableSection>\n ) : null}\n </ToolCard>\n );\n};\n\nexport const PmDocumentsToolUI = memo(\n PmDocumentsToolUIImpl,\n) as unknown as ToolCallMessagePartComponent;\nPmDocumentsToolUI.displayName = \"PmDocumentsToolUI\";\n\n// ─── get_pm_roadmap ──────────────────────────────────────────────────\n\n/** The roadmap's counts in Olympus's words (\"Roadmap: 3 goal(s) · 4 phase(s) · Current: Phase 2: Build\"). */\nfunction roadmapTitle(data: Record<string, unknown> | null): string {\n if (!data) return \"Roadmap retrieved\";\n const goals = numberField(data, \"goals_count\");\n const phases = numberField(data, \"phases_count\");\n if (goals === 0 && phases === 0) {\n return stringField(data, [\"message\"]) ?? \"No roadmap data found\";\n }\n const parts: string[] = [];\n if (goals !== undefined) parts.push(`${goals} goal(s)`);\n if (phases !== undefined) parts.push(`${phases} phase(s)`);\n const currentPhase = stringField(data, [\"current_phase\"]);\n if (currentPhase) parts.push(`Current: ${currentPhase}`);\n return parts.length > 0 ? `Roadmap: ${parts.join(\" · \")}` : \"Roadmap retrieved\";\n}\n\nconst GetPmRoadmapToolUIImpl: ToolCallMessagePartComponent = (props) => {\n const { toolName, args, result, status, isError } = props;\n const classification = classifyToolResult({ status, result, isError });\n if (classification.state === \"rejected\" || classification.state === \"paused\") {\n return <ToolFallback {...props} icon={ClipboardListIcon} />;\n }\n const typedArgs = argsRecord(args);\n const data = normalizeResult(result);\n const projectAssetId =\n stringField(data, [\"project_asset_id\"]) ?? stringField(typedArgs, [\"project_asset_id\"]);\n const card = toolCardOutcome({\n status,\n classification,\n resultFailure:\n data?.success === false ? (stringField(data, [\"message\"]) ?? \"Failed to read roadmap\") : null,\n });\n const running = \"Reading PM roadmap...\";\n const title =\n card.status === \"running\"\n ? running\n : card.status === \"complete\"\n ? roadmapTitle(data)\n : withoutEllipsis(running);\n const roadmap = card.status === \"complete\" ? stringField(data, [\"roadmap\"]) : null;\n\n return (\n <ToolCard\n icon={ClipboardListIcon}\n status={card.status}\n title={title}\n toolName={toolName}\n args={typedArgs}\n result={result}\n error={card.failure}\n >\n {card.status === \"complete\" && projectAssetId ? (\n <ProjectChipLine projectAssetId={projectAssetId} />\n ) : null}\n {roadmap ? (\n <ExpandableSection label=\"Show roadmap\">\n <p className=\"whitespace-pre-wrap break-words text-xs text-muted-foreground\">{roadmap}</p>\n </ExpandableSection>\n ) : null}\n </ToolCard>\n );\n};\n\nexport const GetPmRoadmapToolUI = memo(\n GetPmRoadmapToolUIImpl,\n) as unknown as ToolCallMessagePartComponent;\nGetPmRoadmapToolUI.displayName = \"GetPmRoadmapToolUI\";\n"],"names":[],"mappings":"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"}
|