@athenaintel/react 0.28.1 → 0.32.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 +479 -10
- package/dist/agent-runtime/src/asset-attachment.cjs.map +1 -0
- package/dist/agent-runtime/src/asset-attachment.js.map +1 -0
- package/dist/agent-runtime/src/athena-asset-drag.cjs +44 -0
- package/dist/agent-runtime/src/athena-asset-drag.cjs.map +1 -0
- package/dist/agent-runtime/src/athena-asset-drag.js +44 -0
- package/dist/agent-runtime/src/athena-asset-drag.js.map +1 -0
- package/dist/agent-runtime/src/auth-denial.cjs.map +1 -0
- package/dist/agent-runtime/src/auth-denial.js.map +1 -0
- package/dist/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
- package/dist/agent-runtime/src/client-tool-bridge.js.map +1 -0
- package/dist/agent-runtime/src/client-tools.cjs.map +1 -0
- package/dist/agent-runtime/src/client-tools.js.map +1 -0
- package/dist/agent-runtime/src/composer-markdown.cjs +124 -0
- package/dist/agent-runtime/src/composer-markdown.cjs.map +1 -0
- package/dist/agent-runtime/src/composer-markdown.js +124 -0
- package/dist/agent-runtime/src/composer-markdown.js.map +1 -0
- package/dist/agent-runtime/src/config-mutations.cjs +59 -0
- package/dist/agent-runtime/src/config-mutations.cjs.map +1 -0
- package/dist/agent-runtime/src/config-mutations.js +59 -0
- package/dist/agent-runtime/src/config-mutations.js.map +1 -0
- package/dist/agent-runtime/src/conversation-index.cjs.map +1 -0
- package/dist/agent-runtime/src/conversation-index.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.cjs +36 -0
- package/dist/agent-runtime/src/conversation-list.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-list.js +36 -0
- package/dist/agent-runtime/src/conversation-list.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.cjs +5 -3
- package/dist/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/deep-agent-transport-recipe.js +6 -4
- package/dist/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
- package/dist/agent-runtime/src/edit-command.cjs.map +1 -0
- package/dist/agent-runtime/src/edit-command.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/errors.cjs +23 -0
- package/dist/agent-runtime/src/errors.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/errors.js +23 -0
- package/dist/agent-runtime/src/errors.js.map +1 -0
- package/dist/agent-runtime/src/execute-output.cjs +41 -0
- package/dist/agent-runtime/src/execute-output.cjs.map +1 -0
- package/dist/agent-runtime/src/execute-output.js +41 -0
- package/dist/agent-runtime/src/execute-output.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.cjs +16 -2
- package/dist/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/generated/runconfig-contract.js +16 -2
- package/dist/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
- package/dist/agent-runtime/src/github-wake-event.cjs.map +1 -0
- package/dist/agent-runtime/src/github-wake-event.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.cjs +24 -1
- package/dist/agent-runtime/src/interrupts.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/interrupts.js +24 -1
- package/dist/agent-runtime/src/interrupts.js.map +1 -0
- package/dist/agent-runtime/src/message-author.cjs.map +1 -0
- package/dist/agent-runtime/src/message-author.js.map +1 -0
- package/dist/agent-runtime/src/message-window.cjs.map +1 -0
- package/dist/agent-runtime/src/message-window.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/messages.cjs +8 -4
- package/dist/agent-runtime/src/messages.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/messages.js +6 -2
- package/dist/agent-runtime/src/messages.js.map +1 -0
- package/dist/agent-runtime/src/model-context.cjs.map +1 -0
- package/dist/agent-runtime/src/model-context.js.map +1 -0
- package/dist/agent-runtime/src/optimistic-content.cjs.map +1 -0
- package/dist/agent-runtime/src/optimistic-content.js.map +1 -0
- package/dist/agent-runtime/src/protocol.cjs.map +1 -0
- package/dist/agent-runtime/src/protocol.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/queue.cjs +23 -2
- package/dist/agent-runtime/src/queue.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/queue.js +23 -2
- package/dist/agent-runtime/src/queue.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.cjs +71 -13
- package/dist/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/quota-safe-local-storage-session.js +73 -15
- package/dist/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
- package/dist/agent-runtime/src/runtime-messages.cjs.map +1 -0
- package/dist/agent-runtime/src/runtime-messages.js.map +1 -0
- package/dist/agent-runtime/src/screen-point.cjs.map +1 -0
- package/dist/agent-runtime/src/screen-point.js.map +1 -0
- package/dist/agent-runtime/src/send-recovery.cjs.map +1 -0
- package/dist/agent-runtime/src/send-recovery.js.map +1 -0
- package/dist/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
- package/dist/agent-runtime/src/statewire-attach-observer.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.cjs +8 -0
- package/dist/agent-runtime/src/statewire-state.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-state.js +8 -0
- package/dist/agent-runtime/src/statewire-state.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.cjs +4 -0
- package/dist/agent-runtime/src/statewire-suspended.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-suspended.js +4 -0
- package/dist/agent-runtime/src/statewire-suspended.js.map +1 -0
- package/dist/agent-runtime/src/statewire-transport.cjs +43 -0
- package/dist/agent-runtime/src/statewire-transport.cjs.map +1 -0
- package/dist/agent-runtime/src/statewire-transport.js +43 -0
- package/dist/agent-runtime/src/statewire-transport.js.map +1 -0
- package/dist/agent-runtime/src/streaming-markdown.cjs.map +1 -0
- package/dist/agent-runtime/src/streaming-markdown.js.map +1 -0
- package/dist/agent-runtime/src/subscription-wake-event.cjs +252 -0
- package/dist/agent-runtime/src/subscription-wake-event.cjs.map +1 -0
- package/dist/agent-runtime/src/subscription-wake-event.js +252 -0
- package/dist/agent-runtime/src/subscription-wake-event.js.map +1 -0
- package/dist/agent-runtime/src/thread-extras.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-extras.js.map +1 -0
- package/dist/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
- package/dist/agent-runtime/src/thread-status.cjs.map +1 -0
- package/dist/agent-runtime/src/thread-status.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.cjs +304 -9
- package/dist/agent-runtime/src/tool-metadata.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/tool-metadata.js +304 -9
- package/dist/agent-runtime/src/tool-metadata.js.map +1 -0
- package/dist/agent-runtime/src/tool-names.cjs +5 -0
- package/dist/agent-runtime/src/tool-names.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-names.js +5 -0
- package/dist/agent-runtime/src/tool-names.js.map +1 -0
- package/dist/agent-runtime/src/tool-outputs.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-outputs.js.map +1 -0
- package/dist/agent-runtime/src/tool-result.cjs.map +1 -0
- package/dist/agent-runtime/src/tool-result.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.cjs +33 -22
- package/dist/agent-runtime/src/use-conversation-list.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-conversation-list.js +34 -23
- package/dist/agent-runtime/src/use-conversation-list.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-config.cjs +129 -0
- package/dist/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-config.js +129 -0
- package/dist/agent-runtime/src/use-deep-agent-config.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.cjs +2 -0
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-edit-submit.js +2 -0
- package/dist/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.cjs +1 -0
- package/dist/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-thread.js +2 -1
- package/dist/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
- package/dist/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs +52 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.cjs.map +1 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.js +52 -0
- package/dist/agent-runtime/src/use-historical-edit-attachments.js.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.cjs +14 -0
- package/dist/agent-runtime/src/voice-presentation.cjs.map +1 -0
- package/dist/{packages/agent-runtime → agent-runtime}/src/voice-presentation.js +14 -0
- package/dist/agent-runtime/src/voice-presentation.js.map +1 -0
- package/dist/agent-runtime/src/voice-turn-grouping.cjs.map +1 -0
- package/dist/agent-runtime/src/voice-turn-grouping.js.map +1 -0
- package/dist/assets/AthenaAssetEmbed.cjs +13 -2
- package/dist/assets/AthenaAssetEmbed.cjs.map +1 -1
- package/dist/assets/AthenaAssetEmbed.d.ts +10 -0
- package/dist/assets/AthenaAssetEmbed.js +14 -3
- package/dist/assets/AthenaAssetEmbed.js.map +1 -1
- package/dist/assets/AthenaLayout.cjs +97 -31
- package/dist/assets/AthenaLayout.cjs.map +1 -1
- package/dist/assets/AthenaLayout.d.ts +13 -0
- package/dist/assets/AthenaLayout.js +98 -32
- package/dist/assets/AthenaLayout.js.map +1 -1
- package/dist/assets/asset-embed-messages.cjs +6 -0
- package/dist/assets/asset-embed-messages.cjs.map +1 -1
- package/dist/assets/asset-embed-messages.d.ts +13 -0
- package/dist/assets/asset-embed-messages.js +6 -0
- package/dist/assets/asset-embed-messages.js.map +1 -1
- package/dist/assets/asset-panel-store.cjs +68 -32
- package/dist/assets/asset-panel-store.cjs.map +1 -1
- package/dist/assets/asset-panel-store.d.ts +47 -1
- package/dist/assets/asset-panel-store.js +68 -32
- package/dist/assets/asset-panel-store.js.map +1 -1
- package/dist/assets/use-asset-embed.cjs +29 -8
- package/dist/assets/use-asset-embed.cjs.map +1 -1
- package/dist/assets/use-asset-embed.d.ts +7 -0
- package/dist/assets/use-asset-embed.js +29 -8
- package/dist/assets/use-asset-embed.js.map +1 -1
- package/dist/catalog/chat-pickers.cjs +152 -0
- package/dist/catalog/chat-pickers.cjs.map +1 -0
- package/dist/catalog/chat-pickers.d.ts +22 -0
- package/dist/catalog/chat-pickers.js +152 -0
- package/dist/catalog/chat-pickers.js.map +1 -0
- package/dist/catalog/runtime-catalog.cjs +181 -0
- package/dist/catalog/runtime-catalog.cjs.map +1 -0
- package/dist/catalog/runtime-catalog.d.ts +100 -0
- package/dist/catalog/runtime-catalog.js +181 -0
- package/dist/catalog/runtime-catalog.js.map +1 -0
- package/dist/chat/AthenaChat.cjs +122 -67
- package/dist/chat/AthenaChat.cjs.map +1 -1
- package/dist/chat/AthenaChat.d.ts +21 -4
- package/dist/chat/AthenaChat.js +124 -69
- package/dist/chat/AthenaChat.js.map +1 -1
- package/dist/chat/StatewireApprovalCard.cjs +38 -37
- package/dist/chat/StatewireApprovalCard.cjs.map +1 -1
- package/dist/chat/StatewireApprovalCard.d.ts +2 -0
- package/dist/chat/StatewireApprovalCard.js +39 -38
- package/dist/chat/StatewireApprovalCard.js.map +1 -1
- package/dist/chat/StatewireClientToolBridge.cjs +2 -2
- package/dist/chat/StatewireClientToolBridge.js +2 -2
- package/dist/chat/StatewireQueuedMessages.cjs +15 -12
- package/dist/chat/StatewireQueuedMessages.cjs.map +1 -1
- package/dist/chat/StatewireQueuedMessages.d.ts +22 -2
- package/dist/chat/StatewireQueuedMessages.js +15 -12
- package/dist/chat/StatewireQueuedMessages.js.map +1 -1
- package/dist/chat/StatewireRunRefusalNotice.cjs +48 -0
- package/dist/chat/StatewireRunRefusalNotice.cjs.map +1 -0
- package/dist/chat/StatewireRunRefusalNotice.d.ts +25 -0
- package/dist/chat/StatewireRunRefusalNotice.js +48 -0
- package/dist/chat/StatewireRunRefusalNotice.js.map +1 -0
- package/dist/chat/WaitingOnYouBanner.cjs +2 -2
- package/dist/chat/WaitingOnYouBanner.js +2 -2
- package/dist/chat/athena-citation-links.cjs +19 -15
- package/dist/chat/athena-citation-links.cjs.map +1 -1
- package/dist/chat/athena-citation-links.js +19 -15
- package/dist/chat/athena-citation-links.js.map +1 -1
- package/dist/chat/run-activity.cjs +9 -1
- package/dist/chat/run-activity.cjs.map +1 -1
- package/dist/chat/run-activity.d.ts +6 -0
- package/dist/chat/run-activity.js +10 -2
- package/dist/chat/run-activity.js.map +1 -1
- package/dist/chat/statewire-banners.cjs +30 -1
- package/dist/chat/statewire-banners.cjs.map +1 -1
- package/dist/chat/statewire-banners.d.ts +20 -1
- package/dist/chat/statewire-banners.js +32 -3
- package/dist/chat/statewire-banners.js.map +1 -1
- package/dist/chat/statewire-client-tools.cjs +1 -1
- package/dist/chat/statewire-client-tools.js +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.cjs +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.js +1 -1
- package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.cjs +38 -16
- package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingCard.d.ts +21 -4
- package/dist/chat/super-grouping/SuperGroupingCard.js +39 -17
- package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -1
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs +377 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.cjs.map +1 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.d.ts +31 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.js +377 -0
- package/dist/chat/super-grouping/SuperGroupingTranscript.js.map +1 -0
- package/dist/chat/super-grouping/ToolTimeline.cjs +13 -2
- package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -1
- package/dist/chat/super-grouping/ToolTimeline.d.ts +10 -3
- package/dist/chat/super-grouping/ToolTimeline.js +13 -2
- package/dist/chat/super-grouping/ToolTimeline.js.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.cjs +69 -29
- package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -1
- package/dist/chat/super-grouping/activity-timeline.d.ts +60 -9
- package/dist/chat/super-grouping/activity-timeline.js +70 -30
- package/dist/chat/super-grouping/activity-timeline.js.map +1 -1
- package/dist/chat/super-grouping/index.cjs +14 -0
- package/dist/chat/super-grouping/index.cjs.map +1 -1
- package/dist/chat/super-grouping/index.d.ts +7 -2
- package/dist/chat/super-grouping/index.js +16 -2
- package/dist/chat/super-grouping/index.js.map +1 -1
- package/dist/chat/super-grouping/timeline-step.cjs +14 -5
- package/dist/chat/super-grouping/timeline-step.cjs.map +1 -1
- package/dist/chat/super-grouping/timeline-step.d.ts +10 -1
- package/dist/chat/super-grouping/timeline-step.js +15 -6
- package/dist/chat/super-grouping/timeline-step.js.map +1 -1
- package/dist/chat/super-grouping/toolkit-map.cjs +1 -0
- package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -1
- package/dist/chat/super-grouping/toolkit-map.js +1 -0
- package/dist/chat/super-grouping/toolkit-map.js.map +1 -1
- package/dist/chat/super-grouping/turn-segments.cjs +82 -0
- package/dist/chat/super-grouping/turn-segments.cjs.map +1 -0
- package/dist/chat/super-grouping/turn-segments.d.ts +69 -0
- package/dist/chat/super-grouping/turn-segments.js +82 -0
- package/dist/chat/super-grouping/turn-segments.js.map +1 -0
- package/dist/chat/super-grouping/turn-timing.cjs +110 -0
- package/dist/chat/super-grouping/turn-timing.cjs.map +1 -0
- package/dist/chat/super-grouping/turn-timing.d.ts +52 -0
- package/dist/chat/super-grouping/turn-timing.js +110 -0
- package/dist/chat/super-grouping/turn-timing.js.map +1 -0
- package/dist/chat/tiptap-text.cjs +1 -1
- package/dist/chat/tiptap-text.js +1 -1
- package/dist/chat/use-athena-run-live.cjs +1 -1
- package/dist/chat/use-athena-run-live.js +1 -1
- package/dist/chat/use-statewire-approval-request.cjs +73 -4
- package/dist/chat/use-statewire-approval-request.cjs.map +1 -1
- package/dist/chat/use-statewire-approval-request.js +74 -5
- package/dist/chat/use-statewire-approval-request.js.map +1 -1
- package/dist/chat-ui/composer/composer-message.cjs +284 -0
- package/dist/chat-ui/composer/composer-message.cjs.map +1 -0
- package/dist/chat-ui/composer/composer-message.d.ts +152 -0
- package/dist/chat-ui/composer/composer-message.js +284 -0
- package/dist/chat-ui/composer/composer-message.js.map +1 -0
- package/dist/chat-ui/composer/tiptap-composer.cjs +97 -15
- package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -1
- package/dist/chat-ui/composer/tiptap-composer.d.ts +34 -6
- package/dist/chat-ui/composer/tiptap-composer.js +97 -15
- package/dist/chat-ui/composer/tiptap-composer.js.map +1 -1
- package/dist/chat-ui/index.cjs +4 -1
- package/dist/chat-ui/index.cjs.map +1 -1
- package/dist/chat-ui/index.d.ts +3 -2
- package/dist/chat-ui/index.js +5 -2
- package/dist/chat-ui/index.js.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.cjs +31 -3
- package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-chip.d.ts +2 -5
- package/dist/chat-ui/mentions/mention-chip.js +33 -5
- package/dist/chat-ui/mentions/mention-chip.js.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.cjs +9 -3
- package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -1
- package/dist/chat-ui/mentions/mention-extension.js +9 -3
- package/dist/chat-ui/mentions/mention-extension.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +3 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +3 -1
- package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +65 -19
- package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +15 -0
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js +67 -21
- package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +4 -2
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +2 -1
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +5 -3
- package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -1
- package/dist/chat-ui/mentions/use-account-workspace-id.cjs +61 -0
- package/dist/chat-ui/mentions/use-account-workspace-id.cjs.map +1 -0
- package/dist/chat-ui/mentions/use-account-workspace-id.d.ts +3 -0
- package/dist/chat-ui/mentions/use-account-workspace-id.js +61 -0
- package/dist/chat-ui/mentions/use-account-workspace-id.js.map +1 -0
- package/dist/chat-ui/mentions/use-member-avatar.cjs +75 -0
- package/dist/chat-ui/mentions/use-member-avatar.cjs.map +1 -0
- package/dist/chat-ui/mentions/use-member-avatar.d.ts +2 -0
- package/dist/chat-ui/mentions/use-member-avatar.js +75 -0
- package/dist/chat-ui/mentions/use-member-avatar.js.map +1 -0
- package/dist/chat-ui/messages/message-components.cjs +30 -10
- package/dist/chat-ui/messages/message-components.cjs.map +1 -1
- package/dist/chat-ui/messages/message-components.d.ts +21 -1
- package/dist/chat-ui/messages/message-components.js +30 -10
- package/dist/chat-ui/messages/message-components.js.map +1 -1
- package/dist/chat-ui/messages/runtime-message.cjs +1 -1
- package/dist/chat-ui/messages/runtime-message.js +1 -1
- package/dist/chat-ui/messages/statewire-continue-run.cjs +5 -5
- package/dist/chat-ui/messages/statewire-continue-run.js +5 -5
- package/dist/chat-ui/messages/user-edit-composer.cjs +1 -1
- package/dist/chat-ui/messages/user-edit-composer.js +1 -1
- package/dist/chat-ui/messages/wake-marker.cjs +39 -4
- package/dist/chat-ui/messages/wake-marker.cjs.map +1 -1
- package/dist/chat-ui/messages/wake-marker.d.ts +16 -5
- package/dist/chat-ui/messages/wake-marker.js +40 -5
- package/dist/chat-ui/messages/wake-marker.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-message-body.cjs +12 -8
- package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-message-body.d.ts +6 -1
- package/dist/chat-ui/rich-text/chat-message-body.js +13 -9
- package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -1
- package/dist/chat-ui/rich-text/chat-text-schema.cjs +64 -6
- package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -1
- package/dist/chat-ui/rich-text/chat-text-schema.d.ts +5 -0
- package/dist/chat-ui/rich-text/chat-text-schema.js +66 -8
- package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -1
- package/dist/chat-ui/statewire.cjs +1 -1
- package/dist/chat-ui/statewire.d.ts +1 -1
- package/dist/chat-ui/statewire.js +1 -1
- package/dist/chat-ui/thread/statewire-history-edge.cjs +2 -2
- package/dist/chat-ui/thread/statewire-history-edge.js +2 -2
- package/dist/collab/client.cjs +282 -16
- package/dist/collab/client.cjs.map +1 -1
- package/dist/collab/client.d.ts +127 -2
- package/dist/collab/client.js +285 -20
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/index.cjs +2 -0
- package/dist/collab/index.cjs.map +1 -1
- package/dist/collab/index.d.ts +1 -1
- package/dist/collab/index.js +3 -1
- package/dist/composer/AttachmentContext.cjs +38 -12
- package/dist/composer/AttachmentContext.cjs.map +1 -1
- package/dist/composer/AttachmentContext.d.ts +22 -1
- package/dist/composer/AttachmentContext.js +40 -14
- package/dist/composer/AttachmentContext.js.map +1 -1
- package/dist/composer/QuoteContext.cjs +80 -28
- package/dist/composer/QuoteContext.cjs.map +1 -1
- package/dist/composer/QuoteContext.d.ts +35 -6
- package/dist/composer/QuoteContext.js +82 -30
- package/dist/composer/QuoteContext.js.map +1 -1
- package/dist/composer/build-composed-message.cjs +27 -0
- package/dist/composer/build-composed-message.cjs.map +1 -1
- package/dist/composer/build-composed-message.d.ts +21 -0
- package/dist/composer/build-composed-message.js +28 -1
- package/dist/composer/build-composed-message.js.map +1 -1
- package/dist/composer/composer-handoff.cjs +13 -1
- package/dist/composer/composer-handoff.cjs.map +1 -1
- package/dist/composer/composer-handoff.d.ts +12 -0
- package/dist/composer/composer-handoff.js +15 -3
- package/dist/composer/composer-handoff.js.map +1 -1
- package/dist/composer/index.d.ts +6 -3
- package/dist/composer/useReadComposerDraft.cjs +16 -0
- package/dist/composer/useReadComposerDraft.cjs.map +1 -0
- package/dist/composer/useReadComposerDraft.d.ts +6 -0
- package/dist/composer/useReadComposerDraft.js +16 -0
- package/dist/composer/useReadComposerDraft.js.map +1 -0
- package/dist/diagnostics/athena-diagnostics.cjs.map +1 -1
- package/dist/diagnostics/athena-diagnostics.d.ts +3 -1
- package/dist/diagnostics/athena-diagnostics.js.map +1 -1
- package/dist/diagnostics/errors.cjs +6 -0
- package/dist/diagnostics/errors.cjs.map +1 -1
- package/dist/diagnostics/errors.d.ts +6 -0
- package/dist/diagnostics/errors.js +6 -0
- package/dist/diagnostics/errors.js.map +1 -1
- package/dist/index.cjs +163 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +55 -12
- package/dist/index.js +170 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/owner-document.cjs +32 -0
- package/dist/lib/owner-document.cjs.map +1 -0
- package/dist/lib/owner-document.d.ts +17 -0
- package/dist/lib/owner-document.js +32 -0
- package/dist/lib/owner-document.js.map +1 -0
- package/dist/lib/portal-surface.cjs +55 -0
- package/dist/lib/portal-surface.cjs.map +1 -0
- package/dist/lib/portal-surface.d.ts +37 -0
- package/dist/lib/portal-surface.js +55 -0
- package/dist/lib/portal-surface.js.map +1 -0
- package/dist/lib/use-athena-rest-query.cjs +34 -0
- package/dist/lib/use-athena-rest-query.cjs.map +1 -0
- package/dist/lib/use-athena-rest-query.d.ts +31 -0
- package/dist/lib/use-athena-rest-query.js +34 -0
- package/dist/lib/use-athena-rest-query.js.map +1 -0
- package/dist/provider/AthenaProvider.cjs +70 -10
- package/dist/provider/AthenaProvider.cjs.map +1 -1
- package/dist/provider/AthenaProvider.d.ts +27 -2
- package/dist/provider/AthenaProvider.js +74 -14
- package/dist/provider/AthenaProvider.js.map +1 -1
- package/dist/provider/citation-links.d.ts +10 -2
- package/dist/{packages/react → react}/package.json.cjs +1 -1
- package/dist/{packages/react → react}/package.json.js +1 -1
- package/dist/runtime/StatewireModelLaneSync.cjs +96 -0
- package/dist/runtime/StatewireModelLaneSync.cjs.map +1 -0
- package/dist/runtime/StatewireModelLaneSync.d.ts +45 -0
- package/dist/runtime/StatewireModelLaneSync.js +96 -0
- package/dist/runtime/StatewireModelLaneSync.js.map +1 -0
- package/dist/runtime/statewire-lifecycle.cjs +20 -5
- package/dist/runtime/statewire-lifecycle.cjs.map +1 -1
- package/dist/runtime/statewire-lifecycle.d.ts +11 -0
- package/dist/runtime/statewire-lifecycle.js +20 -5
- package/dist/runtime/statewire-lifecycle.js.map +1 -1
- package/dist/runtime/statewire-model-lane.cjs +28 -0
- package/dist/runtime/statewire-model-lane.cjs.map +1 -0
- package/dist/runtime/statewire-model-lane.d.ts +64 -0
- package/dist/runtime/statewire-model-lane.js +28 -0
- package/dist/runtime/statewire-model-lane.js.map +1 -0
- package/dist/runtime/statewire-run-config.cjs +16 -2
- package/dist/runtime/statewire-run-config.cjs.map +1 -1
- package/dist/runtime/statewire-run-config.d.ts +10 -0
- package/dist/runtime/statewire-run-config.js +16 -2
- package/dist/runtime/statewire-run-config.js.map +1 -1
- package/dist/runtime/statewire-server-lane-context.cjs +24 -0
- package/dist/runtime/statewire-server-lane-context.cjs.map +1 -0
- package/dist/runtime/statewire-server-lane-context.d.ts +30 -0
- package/dist/runtime/statewire-server-lane-context.js +24 -0
- package/dist/runtime/statewire-server-lane-context.js.map +1 -0
- package/dist/runtime/useAthenaStatewireRuntime.cjs +47 -23
- package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -1
- package/dist/runtime/useAthenaStatewireRuntime.d.ts +8 -1
- package/dist/runtime/useAthenaStatewireRuntime.js +48 -24
- package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -1
- package/dist/search/useAthenaRepoSearch.cjs +5 -13
- package/dist/search/useAthenaRepoSearch.cjs.map +1 -1
- package/dist/search/useAthenaRepoSearch.d.ts +3 -3
- package/dist/search/useAthenaRepoSearch.js +6 -14
- package/dist/search/useAthenaRepoSearch.js.map +1 -1
- package/dist/sheet-range/a1.cjs +162 -0
- package/dist/sheet-range/a1.cjs.map +1 -0
- package/dist/sheet-range/a1.d.ts +91 -0
- package/dist/sheet-range/a1.js +162 -0
- package/dist/sheet-range/a1.js.map +1 -0
- package/dist/sheet-range/index.cjs +22 -0
- package/dist/sheet-range/index.cjs.map +1 -0
- package/dist/sheet-range/index.d.ts +12 -0
- package/dist/sheet-range/index.js +22 -0
- package/dist/sheet-range/index.js.map +1 -0
- package/dist/sheet-range/range-preview-table.cjs +75 -0
- package/dist/sheet-range/range-preview-table.cjs.map +1 -0
- package/dist/sheet-range/range-preview-table.d.ts +20 -0
- package/dist/sheet-range/range-preview-table.js +75 -0
- package/dist/sheet-range/range-preview-table.js.map +1 -0
- package/dist/sheet-range/range-preview.cjs +116 -0
- package/dist/sheet-range/range-preview.cjs.map +1 -0
- package/dist/sheet-range/range-preview.d.ts +67 -0
- package/dist/sheet-range/range-preview.js +116 -0
- package/dist/sheet-range/range-preview.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/threads/Inbox.cjs +289 -0
- package/dist/threads/Inbox.cjs.map +1 -0
- package/dist/threads/Inbox.d.ts +46 -0
- package/dist/threads/Inbox.js +289 -0
- package/dist/threads/Inbox.js.map +1 -0
- package/dist/threads/SessionList.cjs +51 -126
- package/dist/threads/SessionList.cjs.map +1 -1
- package/dist/threads/SessionList.d.ts +26 -1
- package/dist/threads/SessionList.js +45 -120
- package/dist/threads/SessionList.js.map +1 -1
- package/dist/threads/SessionsPage.cjs +753 -0
- package/dist/threads/SessionsPage.cjs.map +1 -0
- package/dist/threads/SessionsPage.d.ts +35 -0
- package/dist/threads/SessionsPage.js +753 -0
- package/dist/threads/SessionsPage.js.map +1 -0
- package/dist/threads/api.cjs +23 -2
- package/dist/threads/api.cjs.map +1 -1
- package/dist/threads/api.d.ts +60 -0
- package/dist/threads/api.js +23 -2
- package/dist/threads/api.js.map +1 -1
- package/dist/threads/conversation-list-fetcher.cjs +9 -2
- package/dist/threads/conversation-list-fetcher.cjs.map +1 -1
- package/dist/threads/conversation-list-fetcher.d.ts +14 -1
- package/dist/threads/conversation-list-fetcher.js +9 -2
- package/dist/threads/conversation-list-fetcher.js.map +1 -1
- package/dist/threads/index.d.ts +2 -1
- package/dist/threads/pull-request-display.cjs +25 -0
- package/dist/threads/pull-request-display.cjs.map +1 -0
- package/dist/threads/pull-request-display.d.ts +15 -0
- package/dist/threads/pull-request-display.js +25 -0
- package/dist/threads/pull-request-display.js.map +1 -0
- package/dist/threads/session-list-model.cjs +16 -2
- package/dist/threads/session-list-model.cjs.map +1 -1
- package/dist/threads/session-list-model.d.ts +10 -0
- package/dist/threads/session-list-model.js +16 -2
- package/dist/threads/session-list-model.js.map +1 -1
- package/dist/threads/session-row-parts.cjs +152 -0
- package/dist/threads/session-row-parts.cjs.map +1 -0
- package/dist/threads/session-row-parts.d.ts +50 -0
- package/dist/threads/session-row-parts.js +152 -0
- package/dist/threads/session-row-parts.js.map +1 -0
- package/dist/threads/sessions-page-model.cjs +305 -0
- package/dist/threads/sessions-page-model.cjs.map +1 -0
- package/dist/threads/sessions-page-model.d.ts +86 -0
- package/dist/threads/sessions-page-model.js +305 -0
- package/dist/threads/sessions-page-model.js.map +1 -0
- package/dist/threads/sessions-page-storage.cjs +93 -0
- package/dist/threads/sessions-page-storage.cjs.map +1 -0
- package/dist/threads/sessions-page-storage.d.ts +23 -0
- package/dist/threads/sessions-page-storage.js +93 -0
- package/dist/threads/sessions-page-storage.js.map +1 -0
- package/dist/threads/sessions-query.cjs +235 -0
- package/dist/threads/sessions-query.cjs.map +1 -0
- package/dist/threads/sessions-query.d.ts +119 -0
- package/dist/threads/sessions-query.js +235 -0
- package/dist/threads/sessions-query.js.map +1 -0
- package/dist/threads/statewire-thread-list.cjs +133 -40
- package/dist/threads/statewire-thread-list.cjs.map +1 -1
- package/dist/threads/statewire-thread-list.d.ts +83 -2
- package/dist/threads/statewire-thread-list.js +134 -41
- package/dist/threads/statewire-thread-list.js.map +1 -1
- package/dist/threads/use-athena-sessions.cjs +198 -0
- package/dist/threads/use-athena-sessions.cjs.map +1 -0
- package/dist/threads/use-athena-sessions.d.ts +81 -0
- package/dist/threads/use-athena-sessions.js +198 -0
- package/dist/threads/use-athena-sessions.js.map +1 -0
- package/dist/threads/use-athena-thread-model.cjs +14 -0
- package/dist/threads/use-athena-thread-model.cjs.map +1 -0
- package/dist/threads/use-athena-thread-model.d.ts +22 -0
- package/dist/threads/use-athena-thread-model.js +14 -0
- package/dist/threads/use-athena-thread-model.js.map +1 -0
- package/dist/threads/use-rest-conversation-history.cjs +1 -1
- package/dist/threads/use-rest-conversation-history.js +1 -1
- package/dist/threads/use-statewire-conversation-history.cjs +1 -1
- package/dist/threads/use-statewire-conversation-history.d.ts +3 -0
- package/dist/threads/use-statewire-conversation-history.js +1 -1
- package/dist/threads/use-thread-read-state.cjs +73 -0
- package/dist/threads/use-thread-read-state.cjs.map +1 -0
- package/dist/threads/use-thread-read-state.d.ts +51 -0
- package/dist/threads/use-thread-read-state.js +73 -0
- package/dist/threads/use-thread-read-state.js.map +1 -0
- package/dist/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +1 -0
- package/dist/tiptap-markdown-table/src/markdown-table-serializer.js.map +1 -0
- package/dist/tools/auto-open-tools.cjs +2 -0
- package/dist/tools/auto-open-tools.cjs.map +1 -1
- package/dist/tools/auto-open-tools.js +2 -0
- package/dist/tools/auto-open-tools.js.map +1 -1
- package/dist/tools/file-tool-uis.cjs +18 -43
- package/dist/tools/file-tool-uis.cjs.map +1 -1
- package/dist/tools/file-tool-uis.d.ts +1 -2
- package/dist/tools/file-tool-uis.js +18 -42
- package/dist/tools/file-tool-uis.js.map +1 -1
- package/dist/tools/index.cjs +6 -2
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/misc-tool-uis.cjs +2 -2
- package/dist/tools/misc-tool-uis.js +2 -2
- package/dist/tools/primitives.cjs +1 -1
- package/dist/tools/primitives.js +1 -1
- package/dist/tools/read-asset-tool-ui.cjs +21 -70
- package/dist/tools/read-asset-tool-ui.cjs.map +1 -1
- package/dist/tools/read-asset-tool-ui.js +21 -70
- package/dist/tools/read-asset-tool-ui.js.map +1 -1
- package/dist/tools/step-text.cjs +21 -0
- package/dist/tools/step-text.cjs.map +1 -0
- package/dist/tools/step-text.d.ts +10 -0
- package/dist/tools/step-text.js +21 -0
- package/dist/tools/step-text.js.map +1 -0
- package/dist/tools/tool-fallback.cjs +24 -5
- package/dist/tools/tool-fallback.cjs.map +1 -1
- package/dist/tools/tool-fallback.d.ts +3 -1
- package/dist/tools/tool-fallback.js +24 -5
- package/dist/tools/tool-fallback.js.map +1 -1
- package/dist/tools/tool-summary.cjs +661 -0
- package/dist/tools/tool-summary.cjs.map +1 -0
- package/dist/tools/tool-summary.d.ts +99 -0
- package/dist/tools/tool-summary.js +661 -0
- package/dist/tools/tool-summary.js.map +1 -0
- package/dist/tools/tool-uis.cjs +37 -95
- package/dist/tools/tool-uis.cjs.map +1 -1
- package/dist/tools/tool-uis.js +37 -95
- package/dist/tools/tool-uis.js.map +1 -1
- package/dist/tools/voice-update-tool-ui.cjs +1 -1
- package/dist/tools/voice-update-tool-ui.js +1 -1
- package/dist/tools/write-todos-tool-ui.cjs +3 -2
- package/dist/tools/write-todos-tool-ui.cjs.map +1 -1
- package/dist/tools/write-todos-tool-ui.d.ts +5 -0
- package/dist/tools/write-todos-tool-ui.js +5 -4
- package/dist/tools/write-todos-tool-ui.js.map +1 -1
- package/dist/ui/popover.cjs +6 -6
- package/dist/ui/popover.cjs.map +1 -1
- package/dist/ui/popover.js +6 -6
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/tooltip.cjs +16 -2
- package/dist/ui/tooltip.cjs.map +1 -1
- package/dist/ui/tooltip.d.ts +1 -1
- package/dist/ui/tooltip.js +16 -2
- package/dist/ui/tooltip.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/voice/use-athena-voice-session.cjs.map +1 -1
- package/dist/voice/use-athena-voice-session.d.ts +3 -3
- package/dist/voice/use-athena-voice-session.js.map +1 -1
- package/dist/workbench/SessionWorkbench.cjs +378 -0
- package/dist/workbench/SessionWorkbench.cjs.map +1 -0
- package/dist/workbench/SessionWorkbench.d.ts +30 -0
- package/dist/workbench/SessionWorkbench.js +378 -0
- package/dist/workbench/SessionWorkbench.js.map +1 -0
- package/dist/workbench/session-workbench-context.cjs +26 -0
- package/dist/workbench/session-workbench-context.cjs.map +1 -0
- package/dist/workbench/session-workbench-context.d.ts +55 -0
- package/dist/workbench/session-workbench-context.js +26 -0
- package/dist/workbench/session-workbench-context.js.map +1 -0
- package/dist/workbench/session-workbench-model.cjs +288 -0
- package/dist/workbench/session-workbench-model.cjs.map +1 -0
- package/dist/workbench/session-workbench-model.d.ts +168 -0
- package/dist/workbench/session-workbench-model.js +288 -0
- package/dist/workbench/session-workbench-model.js.map +1 -0
- package/dist/workbench/session-workbench-panes.cjs +580 -0
- package/dist/workbench/session-workbench-panes.cjs.map +1 -0
- package/dist/workbench/session-workbench-panes.d.ts +16 -0
- package/dist/workbench/session-workbench-panes.js +580 -0
- package/dist/workbench/session-workbench-panes.js.map +1 -0
- package/dist/workbench/session-workspace-api.cjs +157 -0
- package/dist/workbench/session-workspace-api.cjs.map +1 -0
- package/dist/workbench/session-workspace-api.d.ts +70 -0
- package/dist/workbench/session-workspace-api.js +157 -0
- package/dist/workbench/session-workspace-api.js.map +1 -0
- package/dist/workbench/use-session-workspace.cjs +100 -0
- package/dist/workbench/use-session-workspace.cjs.map +1 -0
- package/dist/workbench/use-session-workspace.d.ts +45 -0
- package/dist/workbench/use-session-workspace.js +100 -0
- package/dist/workbench/use-session-workspace.js.map +1 -0
- package/dist/workbench/workbench-layout-context.cjs +10 -0
- package/dist/workbench/workbench-layout-context.cjs.map +1 -0
- package/dist/workbench/workbench-layout-context.d.ts +17 -0
- package/dist/workbench/workbench-layout-context.js +10 -0
- package/dist/workbench/workbench-layout-context.js.map +1 -0
- package/package.json +21 -10
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +0 -77
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +0 -77
- package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +0 -181
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +0 -1
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +0 -181
- package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +0 -1
- package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/asset-attachment.js.map +0 -1
- package/dist/packages/agent-runtime/src/auth-denial.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/auth-denial.js.map +0 -1
- package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +0 -1
- package/dist/packages/agent-runtime/src/client-tools.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/client-tools.js.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-index.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-index.js.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-list.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/conversation-list.js.map +0 -1
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +0 -1
- package/dist/packages/agent-runtime/src/edit-command.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/edit-command.js.map +0 -1
- package/dist/packages/agent-runtime/src/errors.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/errors.js.map +0 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +0 -1
- package/dist/packages/agent-runtime/src/github-wake-event.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/github-wake-event.js.map +0 -1
- package/dist/packages/agent-runtime/src/interrupts.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/interrupts.js.map +0 -1
- package/dist/packages/agent-runtime/src/message-author.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/message-author.js.map +0 -1
- package/dist/packages/agent-runtime/src/message-window.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/message-window.js.map +0 -1
- package/dist/packages/agent-runtime/src/messages.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/messages.js.map +0 -1
- package/dist/packages/agent-runtime/src/model-context.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/model-context.js.map +0 -1
- package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/optimistic-content.js.map +0 -1
- package/dist/packages/agent-runtime/src/protocol.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/protocol.js.map +0 -1
- package/dist/packages/agent-runtime/src/queue.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/queue.js.map +0 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +0 -1
- package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/runtime-messages.js.map +0 -1
- package/dist/packages/agent-runtime/src/screen-point.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/screen-point.js.map +0 -1
- package/dist/packages/agent-runtime/src/send-recovery.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/send-recovery.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-state.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-state.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-suspended.js.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-transport.cjs +0 -11
- package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/statewire-transport.js +0 -11
- package/dist/packages/agent-runtime/src/statewire-transport.js.map +0 -1
- package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/streaming-markdown.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-extras.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-extras.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +0 -1
- package/dist/packages/agent-runtime/src/thread-status.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/thread-status.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-metadata.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-outputs.js.map +0 -1
- package/dist/packages/agent-runtime/src/tool-result.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/tool-result.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-conversation-list.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs +0 -13
- package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js +0 -13
- package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +0 -1
- package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/voice-presentation.js.map +0 -1
- package/dist/packages/agent-runtime/src/voice-turn-grouping.cjs.map +0 -1
- package/dist/packages/agent-runtime/src/voice-turn-grouping.js.map +0 -1
- package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.cjs.map +0 -1
- package/dist/packages/tiptap-markdown-table/src/markdown-table-serializer.js.map +0 -1
- /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/asset-attachment.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/auth-denial.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tool-bridge.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/client-tools.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/conversation-index.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/edit-command.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/github-wake-event.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-author.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/message-window.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/model-context.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/optimistic-content.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/protocol.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/runtime-messages.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/screen-point.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/send-recovery.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/statewire-attach-observer.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/streaming-markdown.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-extras.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-snapshot-cache.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/thread-status.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-outputs.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/tool-result.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-runtime.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/use-deep-agent-window-sync.js +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.cjs +0 -0
- /package/dist/{packages/agent-runtime → agent-runtime}/src/voice-turn-grouping.js +0 -0
- /package/dist/{packages/react → react}/package.json.cjs.map +0 -0
- /package/dist/{packages/react → react}/package.json.js.map +0 -0
- /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.cjs +0 -0
- /package/dist/{packages/tiptap-markdown-table → tiptap-markdown-table}/src/markdown-table-serializer.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-summary.js","sources":["../../src/tools/tool-summary.ts"],"sourcesContent":["/**\n * One line per tool call, in the words a person would use: \"Ran git diff\n * --stat\", \"Read live_audio.py\", \"Edited upstream.py\" with \"+4 −1\", \"Found 3\n * assets for \"workstation\"\", \"jevin-box is running\". The single summary the\n * SDK's activity timeline, its grouped transcript and its tool cards read, so\n * a step cannot be the literal command on one surface and \"Ran a command\" on\n * another.\n *\n * Tools without a rule here read the shared display registry\n * (`getToolDisplayMeta`); a tool neither knows falls back to the host's\n * catalog name, else a sentence-cased name — never the Title Cased wire id\n * (\"Computer Asset Ensure Sandbox\").\n *\n * Wording follows the Olympus deep-agent cards where they exist\n * (`olympus/src/components/athena-deep-agent/sandbox-tool-cards.tsx`: \"Read\",\n * \"Wrote\", \"Edited\", the command's first line, \"+N -M\" line counts) and the\n * computer toolkit cards (\"Sandbox is running\"). Pure and React-free.\n */\nimport {\n describeToolArgs,\n getToolDisplayMeta,\n hasToolDisplayMeta,\n type ToolStatusLabelState,\n toolCompletedLabel,\n toolStatusLabel,\n} from \"@athenaintel/agent-runtime\";\n\n/** The states a summarized call can be in; the activity timeline's step states. */\nexport type ToolSummaryState = ToolStatusLabelState;\n\nexport interface ToolCallSummary {\n /** The whole line, complete on its own: \"Ran git diff --stat\", \"Read live_audio.py\". Plain text. */\n label: string;\n /** The longer form for a tooltip: the full path, the whole first command line, the repository. */\n detail?: string;\n /** A short chip after the label: \"+4 −1\", \"on jevin-box\", \"exit 1\". */\n meta?: string;\n /** The part of `label` that is literal code (a command, a file name, a pattern), for monospace. */\n code?: string;\n}\n\nexport interface SummarizeToolCallInput {\n toolName: string;\n /** The call's arguments; partial while they stream, `undefined` before any arrive. */\n args?: Record<string, unknown> | undefined;\n /** The tool's result; `undefined` while it runs (the streaming placeholder counts as none). */\n result?: unknown;\n status: ToolSummaryState;\n /** Titles for asset ids the turn already holds (see {@link collectAssetTitles}). */\n assetTitles?: ReadonlyMap<string, string>;\n /** A host catalog name for a tool neither this module nor the registry knows. */\n displayName?: string;\n}\n\n// ─── Text helpers ───────────────────────────────────────────────────────\n\nconst TARGET_MAX = 72;\nconst DETAIL_MAX = 300;\nconst EMPTY_TITLES: ReadonlyMap<string, string> = new Map();\n\nfunction str(value: unknown): string | undefined {\n return typeof value === \"string\" && value.trim() !== \"\" ? value.trim() : undefined;\n}\n\nfunction int(value: unknown): number | undefined {\n if (typeof value === \"number\" && Number.isFinite(value)) return Math.trunc(value);\n if (typeof value === \"string\" && /^\\d+$/.test(value.trim())) return Number(value.trim());\n return undefined;\n}\n\n/** One line, capped at `max` characters with an ellipsis. */\nexport function clipLine(text: string, max = TARGET_MAX): string {\n const oneLine = text.replace(/\\s+/g, \" \").trim();\n return oneLine.length > max ? `${oneLine.slice(0, max - 1).trimEnd()}…` : oneLine;\n}\n\nfunction capitalize(text: string): string {\n return text.length > 0 ? `${text[0]!.toUpperCase()}${text.slice(1)}` : text;\n}\n\nfunction lowerFirst(text: string): string {\n return text.length > 0 ? `${text[0]!.toLowerCase()}${text.slice(1)}` : text;\n}\n\nfunction quoted(text: string): string {\n return `\"${clipLine(text, 60)}\"`;\n}\n\nfunction plural(count: number, one: string, many = `${one}s`): string {\n return `${count} ${count === 1 ? one : many}`;\n}\n\n/** Line count of `text`; an empty string is zero lines, a trailing newline adds none. */\nexport function countLines(text: string): number {\n if (!text) return 0;\n let lines = 1;\n for (let index = text.indexOf(\"\\n\"); index !== -1; index = text.indexOf(\"\\n\", index + 1)) {\n if (index < text.length - 1) lines += 1;\n }\n return lines;\n}\n\n/**\n * The tool name in sentence case, for a tool nothing else names:\n * `frobnicate_widgets` → \"Frobnicate widgets\", `mcp__linear__create_issue` →\n * \"Linear create issue\", `CreateWorkbook` → \"Create workbook\".\n */\nexport function humanizeToolName(toolName: string): string {\n const words = toolName\n .replace(/^mcp__/i, \"\")\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .split(/[\\s_\\-.:/]+/)\n .filter(Boolean)\n .map((word) => (/^[A-Z0-9]{2,}$/.test(word) ? word : word.toLowerCase()));\n return words.length > 0 ? capitalize(words.join(\" \")) : toolName;\n}\n\n// ─── Paths ──────────────────────────────────────────────────────────────\n\n/** Human label for an agent-workspace path (never surface scratch-file garble). */\nexport function friendlyWorkspacePath(value: unknown): string | undefined {\n if (typeof value !== \"string\" || value.trim() === \"\") return undefined;\n const path = value.trim();\n if (path.includes(\"large_tool_results\")) {\n return \"detailed results from an earlier step\";\n }\n if (path.includes(\"/memory/\")) return \"session memory\";\n if (path.includes(\"/skills/\")) return \"a skill reference\";\n const base = path.split(\"/\").filter(Boolean).pop();\n return base ?? path;\n}\n\n/** A file target: its name in code when it is a real path, plain words for scratch space. */\nfunction fileTarget(path: string | undefined): { text: string; code?: string } | undefined {\n const friendly = friendlyWorkspacePath(path);\n if (!friendly || !path) return undefined;\n const isScratch = friendly !== path.split(\"/\").filter(Boolean).pop();\n const text = clipLine(friendly, 60);\n return isScratch ? { text } : { text, code: text };\n}\n\n/** The last `segments` parts of a directory path (\"…/tests/unit\"), or the path itself. */\nexport function shortPath(path: string, segments = 2): string {\n const parts = path.replace(/\\\\/g, \"/\").split(\"/\").filter(Boolean);\n if (parts.length === 0) return \"/\";\n if (parts.length <= segments) return path.startsWith(\"/\") ? `/${parts.join(\"/\")}` : parts.join(\"/\");\n return `…/${parts.slice(-segments).join(\"/\")}`;\n}\n\n// ─── Execute ────────────────────────────────────────────────────────────\n\n/** A shell command's first non-empty line and how many lines follow it. */\nexport function firstCommandLine(command: string): { firstLine: string; extraLines: number } {\n const lines = command.split(\"\\n\");\n const firstIndex = lines.findIndex((line) => line.trim().length > 0);\n if (firstIndex < 0) return { firstLine: \"\", extraLines: 0 };\n return {\n firstLine: lines[firstIndex]!.trim(),\n extraLines: Math.max(0, countLines(command) - firstIndex - 1),\n };\n}\n\nconst EXIT_CODE_NOTE = /^\\[Command (?:succeeded|failed) with exit code (-?\\d+)\\]$/;\n\nfunction textOf(result: unknown): string | undefined {\n if (typeof result === \"string\") return result;\n if (Array.isArray(result)) {\n const texts = result.flatMap((item) => {\n if (typeof item === \"string\") return [item];\n if (item && typeof item === \"object\" && typeof (item as { text?: unknown }).text === \"string\") {\n return [(item as { text: string }).text];\n }\n return [];\n });\n return texts.length > 0 ? texts.join(\"\\n\") : undefined;\n }\n return undefined;\n}\n\n/**\n * The exit code the deepagents sandbox appends to an `execute` result\n * (`[Command failed with exit code 1]`), or `null` when it reported none.\n */\nexport function executeExitCode(result: unknown): number | null {\n const text = textOf(result);\n if (!text) return null;\n const lines = text.trimEnd().split(\"\\n\");\n for (let index = lines.length - 1; index >= 0 && index >= lines.length - 4; index -= 1) {\n const match = EXIT_CODE_NOTE.exec(lines[index]!.trim());\n if (match) return Number.parseInt(match[1]!, 10);\n }\n return null;\n}\n\n// ─── Line counts ────────────────────────────────────────────────────────\n\nconst lineStatsCache = new WeakMap<object, { added: number; removed: number }>();\n\nfunction lineMultiset(text: string): Map<string, number> {\n const counts = new Map<string, number>();\n if (!text) return counts;\n const lines = text.replace(/\\r\\n/g, \"\\n\").split(\"\\n\");\n if (lines.at(-1) === \"\") lines.pop();\n for (const line of lines) counts.set(line, (counts.get(line) ?? 0) + 1);\n return counts;\n}\n\n/**\n * Lines an `edit_file` replacement adds and removes: lines of `new_string`\n * missing from `old_string` and the reverse, counted with multiplicity. Equal\n * to a line diff's counts unless the edit moves lines around. Cached per\n * arguments object, so a settled call is counted once however often the\n * transcript re-renders.\n */\nexport function editLineStats(args: Record<string, unknown>): { added: number; removed: number } {\n const cached = lineStatsCache.get(args);\n if (cached) return cached;\n const before = lineMultiset(typeof args.old_string === \"string\" ? args.old_string : \"\");\n const after = lineMultiset(typeof args.new_string === \"string\" ? args.new_string : \"\");\n let added = 0;\n let removed = 0;\n for (const [line, count] of after) added += Math.max(0, count - (before.get(line) ?? 0));\n for (const [line, count] of before) removed += Math.max(0, count - (after.get(line) ?? 0));\n const stats = { added, removed };\n lineStatsCache.set(args, stats);\n return stats;\n}\n\n// ─── Results ────────────────────────────────────────────────────────────\n\nconst MAX_PARSE_LENGTH = 256 * 1024;\n\n/** A JSON result as an object, or `null` (plain text, too large, or not JSON). */\nfunction parseResult(result: unknown): Record<string, unknown> | unknown[] | null {\n if (result && typeof result === \"object\") return result as Record<string, unknown>;\n if (typeof result !== \"string\" || result.length > MAX_PARSE_LENGTH) return null;\n const trimmed = result.trimStart();\n if (!trimmed.startsWith(\"{\") && !trimmed.startsWith(\"[\")) return null;\n try {\n const parsed: unknown = JSON.parse(trimmed);\n return parsed && typeof parsed === \"object\" ? (parsed as Record<string, unknown>) : null;\n } catch {\n return null;\n }\n}\n\nfunction resultRecord(result: unknown): Record<string, unknown> | null {\n const parsed = parseResult(result);\n return parsed && !Array.isArray(parsed) ? parsed : null;\n}\n\n/** A pull request or issue number off a result (`number`, else the `/pull/N` of its URL). */\nfunction resultNumber(result: unknown): number | undefined {\n const record = resultRecord(result);\n if (!record) return undefined;\n const direct = int(record.number) ?? int(record.pull_number) ?? int(record.issue_number);\n if (direct !== undefined) return direct;\n const url = str(record.html_url) ?? str(record.url);\n const match = url ? /\\/(?:pull|issues)\\/(\\d+)/.exec(url) : null;\n return match ? Number(match[1]) : undefined;\n}\n\n// ─── Asset titles ───────────────────────────────────────────────────────\n\nconst ASSET_ID = /^asset_[A-Za-z0-9-]{6,}$/;\nconst MAX_WALK_NODES = 2000;\ntype TitleEntries = readonly (readonly [string, string])[];\n/** Titles found in an object result, keyed by the result itself. */\nconst titlesByResultObject = new WeakMap<object, TitleEntries>();\n/** Titles found in a string result, keyed by the part that holds it and checked against the string. */\nconst titlesByStringPart = new WeakMap<object, { result: string; entries: TitleEntries }>();\n\nfunction titlesIn(value: unknown): (readonly [string, string])[] {\n const found: (readonly [string, string])[] = [];\n const stack: { node: unknown; depth: number }[] = [{ node: value, depth: 0 }];\n let visited = 0;\n while (stack.length > 0 && visited < MAX_WALK_NODES) {\n const { node, depth } = stack.pop()!;\n visited += 1;\n if (!node || typeof node !== \"object\" || depth > 4) continue;\n if (Array.isArray(node)) {\n for (const child of node) stack.push({ node: child, depth: depth + 1 });\n continue;\n }\n const record = node as Record<string, unknown>;\n const id = str(record.asset_id) ?? str(record.id) ?? str(record.assetId);\n const title = str(record.title) ?? str(record.name);\n if (id && title && ASSET_ID.test(id)) found.push([id, title] as const);\n for (const child of Object.values(record)) {\n if (child && typeof child === \"object\") stack.push({ node: child, depth: depth + 1 });\n }\n }\n return found;\n}\n\n/** The part shape {@link collectAssetTitles} reads; assistant-ui's tool-call parts satisfy it. */\nexport type AssetTitleSourcePart = {\n readonly type: string;\n readonly toolCallId?: string;\n readonly result?: unknown;\n};\n\n/**\n * The titles one result names, parsed once per result: an object result is\n * cached by its own identity, a string result by the part holding it and only\n * while that part still holds the same string, so a replaced result (however\n * long) is always read afresh. Weakly held: nothing outlives the transcript.\n */\nfunction resultTitles(part: AssetTitleSourcePart): TitleEntries {\n const result = part.result;\n if (result !== null && typeof result === \"object\") {\n let entries = titlesByResultObject.get(result);\n if (!entries) {\n entries = titlesIn(result);\n titlesByResultObject.set(result, entries);\n }\n return entries;\n }\n if (typeof result !== \"string\") return [];\n const cached = titlesByStringPart.get(part);\n if (cached && cached.result === result) return cached.entries;\n const entries = titlesIn(parseResult(result));\n titlesByStringPart.set(part, { result, entries });\n return entries;\n}\n\n/**\n * Asset id → title for every asset an earlier result in the turn named\n * (`search_assets` hits, a created asset, a status read), so a later call that\n * targets one by id can say which machine or document it acted on. Only data\n * the turn already holds; nothing is fetched.\n */\nexport function collectAssetTitles(parts: readonly AssetTitleSourcePart[]): Map<string, string> {\n const titles = new Map<string, string>();\n for (const part of parts) {\n if (part.type !== \"tool-call\" || part.result === undefined) continue;\n for (const [id, title] of resultTitles(part)) titles.set(id, title);\n }\n return titles;\n}\n\nfunction assetIdOf(value: unknown): string | undefined {\n const raw = str(value);\n if (!raw) return undefined;\n const bare = raw.split(/[?#]/, 1)[0]!;\n return bare.startsWith(\"asset_\") ? bare : undefined;\n}\n\n// ─── Phrases ────────────────────────────────────────────────────────────\n\n/**\n * How one call reads in every state: the verb in three forms (\"Running\" /\n * \"Ran\" / \"run\") and its object. `active` / `done` replace the composed\n * running / completed sentence when a tool words its outcome differently\n * (\"Found 3 assets for …\", \"jevin-box is running\").\n */\ninterface Phrase {\n verb: readonly [active: string, done: string, base: string];\n /** The object of the verb (\"git status\", \"live_audio.py\", \"a command\"). */\n object: string;\n code?: string;\n detail?: string;\n meta?: readonly (string | false | null | undefined)[];\n active?: string;\n done?: string;\n}\n\nconst RUN = [\"Running\", \"Ran\", \"run\"] as const;\nconst READ = [\"Reading\", \"Read\", \"read\"] as const;\n\nfunction summaryFromPhrase(phrase: Phrase, status: ToolSummaryState): ToolCallSummary {\n const [active, done, base] = phrase.verb;\n const imperative = `${capitalize(base)} ${phrase.object}`;\n let label: string;\n switch (status) {\n case \"running\":\n label = phrase.active ?? `${active} ${phrase.object}`;\n break;\n case \"complete\":\n label = phrase.done ?? `${done} ${phrase.object}`;\n break;\n case \"error\":\n label = `Couldn't ${base} ${phrase.object}`;\n break;\n case \"rejected\":\n label = `${imperative} — rejected`;\n break;\n case \"cancelled\":\n label = `${imperative} — cancelled`;\n break;\n case \"paused\":\n label = `${imperative} — paused`;\n break;\n case \"waiting\":\n label = \"Waiting for your input\";\n break;\n }\n const meta = (phrase.meta ?? []).filter((value): value is string => Boolean(value)).join(\" · \");\n const detail = status === \"waiting\" ? imperative : phrase.detail;\n return {\n label,\n ...(phrase.code && label.includes(phrase.code) ? { code: phrase.code } : {}),\n ...(detail ? { detail: clipLine(detail, DETAIL_MAX) } : {}),\n ...(meta ? { meta } : {}),\n };\n}\n\ntype Rule = (input: Required<Pick<SummarizeToolCallInput, \"status\">> & {\n args: Record<string, unknown>;\n result: unknown;\n titles: ReadonlyMap<string, string>;\n}) => Phrase;\n\nfunction machineName(titles: ReadonlyMap<string, string>, value: unknown): string | undefined {\n const id = assetIdOf(value);\n return id ? titles.get(id) : undefined;\n}\n\n/** \"on <machine>\" when a sandbox tool targeted another asset whose title the turn holds. */\nfunction onMachine(titles: ReadonlyMap<string, string>, args: Record<string, unknown>): string | undefined {\n const machine = machineName(titles, args.sandbox_asset_id);\n return machine ? `on ${machine}` : undefined;\n}\n\nconst COMPUTER_STATES: Record<string, string> = {\n started: \"running\",\n running: \"running\",\n stopped: \"stopped\",\n starting: \"starting\",\n stopping: \"stopping\",\n paused: \"paused\",\n error: \"in an error state\",\n};\n\nfunction computerStateWord(state: string): string {\n return COMPUTER_STATES[state.toLowerCase()] ?? humanizeToolName(state).toLowerCase();\n}\n\nconst executeRule: Rule = ({ args, result, titles }) => {\n const command = typeof args.command === \"string\" ? args.command : \"\";\n const { firstLine, extraLines } = firstCommandLine(command);\n const target = firstLine ? clipLine(firstLine) : undefined;\n const exitCode = executeExitCode(result);\n return {\n verb: RUN,\n object: target ?? \"a command\",\n code: target,\n detail: firstLine\n ? extraLines > 0\n ? `${firstLine} (+${plural(extraLines, \"more line\")})`\n : firstLine\n : undefined,\n meta: [onMachine(titles, args), exitCode !== null && exitCode !== 0 && `exit ${exitCode}`],\n };\n};\n\nfunction filePathOf(args: Record<string, unknown>): string | undefined {\n return str(args.file_path) ?? str(args.path);\n}\n\nconst readFileRule: Rule = ({ args, titles }) => {\n const path = filePathOf(args);\n const target = fileTarget(path);\n const offset = int(args.offset) ?? 0;\n const limit = int(args.limit);\n return {\n verb: READ,\n object: target?.text ?? \"a file\",\n code: target?.code,\n detail: path,\n meta: [\n offset > 0 && (limit ? `lines ${offset + 1}–${offset + limit}` : `from line ${offset + 1}`),\n onMachine(titles, args),\n ],\n };\n};\n\nconst listRule: Rule = ({ args, titles }) => {\n const path = str(args.path) ?? str(args.file_path);\n const target = path ? shortPath(path) : undefined;\n return {\n verb: [\"Listing\", \"Listed\", \"list\"],\n object: target ?? \"the workspace\",\n code: target,\n detail: path,\n meta: [onMachine(titles, args)],\n };\n};\n\nconst globRule: Rule = ({ args, result, titles }) => {\n const pattern = str(args.pattern) ?? str(args.query);\n const path = str(args.path);\n const object = pattern ? `files matching ${clipLine(pattern, 60)}` : \"files\";\n const none = typeof result === \"string\" && /^no files found/i.test(result.trim());\n return {\n verb: [\"Finding\", \"Found\", \"find\"],\n object,\n code: pattern ? clipLine(pattern, 60) : undefined,\n done: none && pattern ? `No files match ${clipLine(pattern, 60)}` : undefined,\n detail: path ? `${pattern ?? \"\"} in ${path}`.trim() : pattern,\n meta: [path && `in ${shortPath(path)}`, onMachine(titles, args)],\n };\n};\n\nconst grepRule: Rule = ({ args, result, titles }) => {\n const pattern = str(args.pattern) ?? str(args.query);\n const path = str(args.path);\n const code = pattern ? clipLine(pattern, 60) : undefined;\n const where = path ? `${shortPath(path)} ` : \"\";\n const object = code ? `${where}for ${code}` : path ? shortPath(path) : \"files\";\n const none =\n typeof result === \"string\" && (result.trim() === \"\" || /^no matches/i.test(result.trim()));\n return {\n verb: [\"Searching\", \"Searched\", \"search\"],\n object,\n code,\n done: none && code ? `No matches for ${code}${path ? ` in ${shortPath(path)}` : \"\"}` : undefined,\n detail: path ? `${pattern ?? \"\"} in ${path}`.trim() : pattern,\n meta: [str(args.glob), onMachine(titles, args)],\n };\n};\n\nconst writeFileRule: Rule = ({ args, titles }) => {\n const path = filePathOf(args);\n const target = fileTarget(path);\n const content = typeof args.content === \"string\" ? args.content : \"\";\n const lines = countLines(content);\n return {\n verb: [\"Writing\", \"Wrote\", \"write\"],\n object: target?.text ?? \"a file\",\n code: target?.code,\n detail: path,\n meta: [lines > 0 && `+${lines}`, onMachine(titles, args)],\n };\n};\n\nconst editFileRule: Rule = ({ args, titles }) => {\n const path = filePathOf(args);\n const target = fileTarget(path);\n const hasReplacement = typeof args.old_string === \"string\" || typeof args.new_string === \"string\";\n const { added, removed } = hasReplacement ? editLineStats(args) : { added: 0, removed: 0 };\n return {\n verb: [\"Editing\", \"Edited\", \"edit\"],\n object: target?.text ?? \"a file\",\n code: target?.code,\n detail: path,\n meta: [\n added + removed > 0 && `+${added} −${removed}`,\n args.replace_all === true && \"all occurrences\",\n onMachine(titles, args),\n ],\n };\n};\n\nconst searchAssetsRule: Rule = ({ args, result }) => {\n const query =\n str(args.title_contains_keyword) ??\n str(args.query) ??\n str(args.search_query) ??\n str(args.keyword);\n const types = Array.isArray(args.types)\n ? args.types.map(str).filter((type): type is string => type !== undefined)\n : [];\n const record = resultRecord(result);\n const assets = Array.isArray(record?.assets) ? record.assets : undefined;\n const count = int(record?.total_count) ?? int(record?.returned_count) ?? assets?.length;\n const forQuery = query ? ` for ${quoted(query)}` : \"\";\n const done =\n count === undefined\n ? undefined\n : count === 0\n ? `No assets found${forQuery}`\n : `Found ${plural(count, \"asset\")}${forQuery}`;\n return {\n verb: [\"Searching\", \"Searched\", \"search\"],\n object: query ? `for ${quoted(query)}` : \"assets\",\n done,\n meta: [types.length > 0 && types.map((type) => humanizeToolName(type).toLowerCase()).join(\", \")],\n };\n};\n\nconst ensureSandboxRule: Rule = ({ args, result, titles }) => {\n const machine = machineName(titles, args.computer_asset_id ?? args.asset_id);\n const record = resultRecord(result);\n const state = str(record?.state);\n return {\n verb: [\"Starting\", \"Started\", \"start\"],\n object: machine ?? \"the computer\",\n done: state ? `${machine ?? \"The computer\"} is ${computerStateWord(state)}` : undefined,\n detail: str(record?.detail),\n };\n};\n\nconst computerStatusRule: Rule = ({ args, result, titles }) => {\n const machine = machineName(titles, args.computer_asset_id ?? args.asset_id);\n const state = str(resultRecord(result)?.state);\n return {\n verb: [\"Checking\", \"Checked\", \"check\"],\n object: machine ?? \"the computer\",\n done: state ? `${machine ?? \"The computer\"} is ${computerStateWord(state)}` : undefined,\n };\n};\n\nconst computerDeployRule: Rule = ({ args, result, titles }) => {\n const machine = machineName(titles, args.computer_asset_id ?? args.asset_id);\n const port = int(args.port);\n const url = str(resultRecord(result)?.url);\n return {\n verb: [\"Deploying\", \"Deployed\", \"deploy\"],\n object: port !== undefined ? `port ${port}` : (machine ?? \"the computer\"),\n detail: url,\n meta: [port !== undefined && machine && `on ${machine}`],\n };\n};\n\nconst computerCreateRule: Rule = ({ args }) => {\n const name = str(args.name) ?? str(args.title);\n return {\n verb: [\"Creating\", \"Created\", \"create\"],\n object: name ? `computer ${quoted(name)}` : \"a computer\",\n };\n};\n\nfunction repoOf(args: Record<string, unknown>): string | undefined {\n const owner = str(args.owner);\n const repo = str(args.repo);\n if (owner && repo) return `${owner}/${repo}`;\n return repo ?? str(args.repository);\n}\n\nconst githubPullRule: Rule = ({ args }) => {\n const number = int(args.pull_number) ?? int(args.number);\n const repo = repoOf(args);\n return {\n verb: [\"Viewing\", \"Viewed\", \"view\"],\n object: number !== undefined ? `pull request #${number}` : \"a pull request\",\n detail: repo && number !== undefined ? `${repo}#${number}` : repo,\n meta: [repo],\n };\n};\n\nconst githubListPullsRule: Rule = ({ args }) => {\n const repo = repoOf(args);\n const state = str(args.state);\n return {\n verb: [\"Listing\", \"Listed\", \"list\"],\n object: state && state !== \"open\" ? `${state} pull requests` : \"pull requests\",\n meta: [repo, str(args.head) && `head ${str(args.head)}`],\n };\n};\n\nconst githubOpenPullRule: Rule = ({ args, result }) => {\n const title = str(args.title);\n const number = resultNumber(result);\n const head = str(args.head);\n const base = str(args.base);\n return {\n verb: [\"Opening\", \"Opened\", \"open\"],\n object: title ? `pull request ${quoted(title)}` : \"a pull request\",\n done: number !== undefined ? `Opened pull request #${number}` : undefined,\n detail: title,\n meta: [head && base && `${head} → ${base}`, args.draft === true && \"draft\", repoOf(args)],\n };\n};\n\nconst githubCommentRule: Rule = ({ args }) => {\n const number = int(args.issue_number) ?? int(args.pull_number);\n return {\n verb: [\"Commenting on\", \"Commented on\", \"comment on\"],\n object: number !== undefined ? `#${number}` : \"an issue\",\n meta: [repoOf(args)],\n };\n};\n\nconst githubIssueRule: Rule = ({ args, result }) => {\n const title = str(args.title);\n const number = resultNumber(result);\n return {\n verb: [\"Creating\", \"Created\", \"create\"],\n object: title ? `issue ${quoted(title)}` : \"an issue\",\n done: number !== undefined ? `Created issue #${number}` : undefined,\n detail: title,\n meta: [repoOf(args)],\n };\n};\n\nconst githubFileRule: Rule = ({ args }) => {\n const path = str(args.path);\n const target = fileTarget(path);\n const repo = repoOf(args);\n return {\n verb: READ,\n object: target?.text ?? \"a file\",\n code: target?.code,\n detail: repo && path ? `${repo}/${path}` : path,\n meta: [repo, str(args.ref)],\n };\n};\n\nconst githubDirectoryRule: Rule = ({ args }) => {\n const path = str(args.path);\n return {\n verb: [\"Listing\", \"Listed\", \"list\"],\n object: path ? shortPath(path) : \"the repository root\",\n code: path ? shortPath(path) : undefined,\n meta: [repoOf(args)],\n };\n};\n\nconst webSearchRule: Rule = ({ args }) => {\n const query = str(args.query) ?? str(args.search_query) ?? str(args.term);\n return {\n verb: [\"Searching\", \"Searched\", \"search\"],\n object: query ? `the web for ${quoted(query)}` : \"the web\",\n };\n};\n\n/** Host and path of a URL, never its credentials, query string or fragment. */\nfunction pageLabel(value: unknown): string | undefined {\n const raw = str(value);\n if (!raw) return undefined;\n try {\n const url = new URL(raw);\n if (url.protocol !== \"http:\" && url.protocol !== \"https:\") return undefined;\n const path = url.pathname === \"/\" ? \"\" : url.pathname;\n return clipLine(`${url.hostname.replace(/^www\\./, \"\")}${path}`, 60);\n } catch {\n return undefined;\n }\n}\n\nconst browseRule: Rule = ({ args }) => {\n const page = pageLabel(args.url) ?? pageLabel(args.link);\n return { verb: READ, object: page ?? \"a web page\" };\n};\n\nconst readAssetRule: Rule = ({ args, titles }) => {\n const rawIds = Array.isArray(args.asset_ids) ? args.asset_ids : [args.asset_id ?? args.asset_ids];\n const ids = rawIds.map(assetIdOf).filter((id): id is string => id !== undefined);\n const named = ids.map((id) => titles.get(id)).filter((title): title is string => Boolean(title));\n const object =\n ids.length > 1\n ? plural(ids.length, \"asset\")\n : named[0]\n ? clipLine(named[0], 60)\n : \"an asset\";\n return {\n verb: READ,\n object,\n detail: ids.length > 1 && named.length > 0 ? named.join(\", \") : undefined,\n };\n};\n\ntype Todo = { status?: unknown; content?: unknown };\n\nconst writeTodosRule: Rule = ({ args }) => {\n const todos = Array.isArray(args.todos) ? (args.todos as Todo[]) : [];\n const done = todos.filter((todo) => todo?.status === \"completed\").length;\n const current = todos.find((todo) => todo?.status === \"in_progress\");\n return {\n verb: [\"Updating\", \"Updated\", \"update\"],\n object: \"plan\",\n done:\n todos.length === 0 ? \"Cleared the plan\" : `Updated plan (${done}/${todos.length} done)`,\n detail: str(current?.content) ? `Now: ${str(current?.content)}` : undefined,\n };\n};\n\nfunction subagentName(value: unknown): string {\n const name = str(value);\n if (!name || name === \"general-purpose\") return \"a subagent\";\n return humanizeToolName(name).toLowerCase();\n}\n\nconst taskRule: Rule = ({ args }) => {\n const description = str(args.description);\n const who = subagentName(args.subagent_type);\n return {\n verb: [\"Delegating to\", \"Delegated to\", \"delegate to\"],\n object: description ? `${who}: ${clipLine(description, 64)}` : who,\n detail: description,\n };\n};\n\nconst startAsyncTaskRule: Rule = ({ args }) => {\n const description = str(args.description);\n return {\n verb: [\"Starting\", \"Started\", \"start\"],\n object: description ? `background task: ${clipLine(description, 56)}` : \"a background task\",\n detail: description,\n };\n};\n\nconst RULES: Record<string, Rule> = {\n execute: executeRule,\n read_file: readFileRule,\n ls: listRule,\n glob: globRule,\n grep: grepRule,\n write_file: writeFileRule,\n edit_file: editFileRule,\n search_assets: searchAssetsRule,\n computer_asset_ensure_sandbox: ensureSandboxRule,\n computer_asset_get_status: computerStatusRule,\n computer_asset_deploy: computerDeployRule,\n computer_asset_create: computerCreateRule,\n github_get_pull_request: githubPullRule,\n github_list_pull_requests: githubListPullsRule,\n github_open_pull_request: githubOpenPullRule,\n github_comment: githubCommentRule,\n github_create_issue: githubIssueRule,\n github_fetch_file: githubFileRule,\n github_list_directory: githubDirectoryRule,\n search: webSearchRule,\n web_search: webSearchRule,\n search_web: webSearchRule,\n exa_search: webSearchRule,\n perplexity_search: webSearchRule,\n firecrawl_search: webSearchRule,\n browse: browseRule,\n web_fetch: browseRule,\n fetch_url: browseRule,\n web_scrape: browseRule,\n scrape_web: browseRule,\n firecrawl_scrape: browseRule,\n read_asset: readAssetRule,\n write_todos: writeTodosRule,\n task: taskRule,\n start_async_task: startAsyncTaskRule,\n};\n\n/** Tool names with a dedicated summary rule (the rest read the shared registry). */\nexport function hasToolSummaryRule(toolName: string): boolean {\n return Object.hasOwn(RULES, toolName);\n}\n\n/**\n * The summary for a tool the shared registry describes: its curated running /\n * completed copy with the call's own one-line description as the chip, and\n * the registry's wording for every other state.\n */\nfunction registrySummary(toolName: string, args: Record<string, unknown> | undefined, status: ToolSummaryState): ToolCallSummary {\n const meta = getToolDisplayMeta(toolName);\n const described = describeToolArgs({ toolName, args });\n const label =\n status === \"running\"\n ? meta.activeLabel\n : status === \"complete\"\n ? (meta.completedLabel ?? toolCompletedLabel(meta.activeLabel))\n : toolStatusLabel(toolName, status);\n return {\n label,\n ...(described && status !== \"waiting\" ? { meta: clipLine(described, 60) } : {}),\n };\n}\n\n/**\n * A tool nothing describes: the host's catalog name (\"Running Frobnicate\",\n * then \"Frobnicate\"), else the sentence-cased tool name (\"Running frobnicate\n * widgets\", then \"Ran frobnicate widgets\").\n */\nfunction unknownToolSummary(toolName: string, status: ToolSummaryState, displayName: string | undefined): ToolCallSummary {\n const name = displayName ?? humanizeToolName(toolName);\n const inSentence = displayName ?? lowerFirst(name);\n switch (status) {\n case \"running\":\n return { label: `Running ${inSentence}` };\n case \"complete\":\n return { label: displayName ?? `Ran ${inSentence}` };\n case \"error\":\n return { label: `${name} failed` };\n case \"rejected\":\n return { label: `${name} — rejected` };\n case \"cancelled\":\n return { label: `${name} — cancelled` };\n case \"paused\":\n return { label: `${name} — paused` };\n case \"waiting\":\n return { label: \"Waiting for your input\", detail: name };\n }\n}\n\n/**\n * The one-line summary of a tool call in its current state. Never throws:\n * missing or partial arguments (a call still streaming) fall back to the\n * verb with a generic object (\"Running a command\").\n */\nexport function summarizeToolCall({\n toolName,\n args,\n result,\n status,\n assetTitles,\n displayName,\n}: SummarizeToolCallInput): ToolCallSummary {\n const rule = RULES[toolName];\n if (rule) {\n return summaryFromPhrase(\n rule({ args: args ?? {}, result, status, titles: assetTitles ?? EMPTY_TITLES }),\n status,\n );\n }\n if (hasToolDisplayMeta(toolName)) return registrySummary(toolName, args, status);\n return unknownToolSummary(toolName, status, displayName);\n}\n"],"names":["entries"],"mappings":"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"}
|
package/dist/tools/tool-uis.cjs
CHANGED
|
@@ -4,6 +4,8 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
4
4
|
const athenaDiagnostics = require("../diagnostics/athena-diagnostics.cjs");
|
|
5
5
|
const react = require("react");
|
|
6
6
|
const lucideReact = require("lucide-react");
|
|
7
|
+
const rangePreview = require("../sheet-range/range-preview.cjs");
|
|
8
|
+
const rangePreviewTable = require("../sheet-range/range-preview-table.cjs");
|
|
7
9
|
const primitives = require("./primitives.cjs");
|
|
8
10
|
const fileToolUis = require("./file-tool-uis.cjs");
|
|
9
11
|
const writeTodosToolUi = require("./write-todos-tool-ui.cjs");
|
|
@@ -2012,47 +2014,27 @@ const RunSqlToolUI = react.memo(
|
|
|
2012
2014
|
RunSqlToolUIImpl
|
|
2013
2015
|
);
|
|
2014
2016
|
RunSqlToolUI.displayName = "RunSqlToolUI";
|
|
2015
|
-
function
|
|
2016
|
-
|
|
2017
|
-
const match = stripped.match(/^([A-Z]+)(\d+)/i);
|
|
2018
|
-
if (!match) return null;
|
|
2019
|
-
return { startCol: match[1].toUpperCase(), startRow: parseInt(match[2], 10) };
|
|
2020
|
-
}
|
|
2021
|
-
function colNumToLetter(n) {
|
|
2022
|
-
let result = "";
|
|
2023
|
-
let num = n;
|
|
2024
|
-
while (num > 0) {
|
|
2025
|
-
num--;
|
|
2026
|
-
result = String.fromCharCode(65 + num % 26) + result;
|
|
2027
|
-
num = Math.floor(num / 26);
|
|
2028
|
-
}
|
|
2029
|
-
return result;
|
|
2030
|
-
}
|
|
2031
|
-
function parseCellsToGrid(cells) {
|
|
2032
|
-
let parsed = null;
|
|
2017
|
+
function parseSheetCellRows(cells) {
|
|
2018
|
+
let parsed = cells;
|
|
2033
2019
|
if (typeof cells === "string") {
|
|
2034
2020
|
try {
|
|
2035
2021
|
parsed = JSON.parse(cells);
|
|
2036
2022
|
} catch {
|
|
2037
2023
|
return null;
|
|
2038
2024
|
}
|
|
2039
|
-
}
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
}
|
|
2053
|
-
return String(cell);
|
|
2054
|
-
});
|
|
2055
|
-
});
|
|
2025
|
+
}
|
|
2026
|
+
if (!Array.isArray(parsed)) return null;
|
|
2027
|
+
return parsed.map((row) => Array.isArray(row) ? row : null);
|
|
2028
|
+
}
|
|
2029
|
+
function sheetCellText(cell) {
|
|
2030
|
+
if (cell == null) return "";
|
|
2031
|
+
if (typeof cell === "object") {
|
|
2032
|
+
const c = cell;
|
|
2033
|
+
if (c.formula) return c.formula;
|
|
2034
|
+
if (c.value !== void 0 && c.value !== null) return String(c.value);
|
|
2035
|
+
return "";
|
|
2036
|
+
}
|
|
2037
|
+
return String(cell);
|
|
2056
2038
|
}
|
|
2057
2039
|
const MAX_SHEET_DISPLAY_ROWS = 30;
|
|
2058
2040
|
const MAX_LISTED_DV_VIOLATIONS = 3;
|
|
@@ -2089,23 +2071,19 @@ const UpdateSheetRangeToolUIImpl = ({
|
|
|
2089
2071
|
const isFailure = isComplete && (data == null ? void 0 : data.success) === false;
|
|
2090
2072
|
const errorMsg = isFailure ? buildSheetUpdateFailureMessage(data, range) : (status == null ? void 0 : status.type) === "incomplete" ? status.error : null;
|
|
2091
2073
|
const grid = react.useMemo(
|
|
2092
|
-
() =>
|
|
2074
|
+
() => parseSheetCellRows(typedArgs == null ? void 0 : typedArgs.cells),
|
|
2093
2075
|
[typedArgs == null ? void 0 : typedArgs.cells]
|
|
2094
2076
|
);
|
|
2095
|
-
const
|
|
2096
|
-
const
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
);
|
|
2106
|
-
const capped = grid.slice(0, MAX_SHEET_DISPLAY_ROWS);
|
|
2107
|
-
return { headers: hdrs, displayRows: capped, totalRows: grid.length };
|
|
2108
|
-
}, [grid, rangeInfo]);
|
|
2077
|
+
const totalRows = (grid == null ? void 0 : grid.length) ?? 0;
|
|
2078
|
+
const preview = react.useMemo(
|
|
2079
|
+
() => grid ? rangePreview.rangePreviewFromRows({
|
|
2080
|
+
anchor: range,
|
|
2081
|
+
rows: grid,
|
|
2082
|
+
formatCell: sheetCellText,
|
|
2083
|
+
maxRows: MAX_SHEET_DISPLAY_ROWS
|
|
2084
|
+
}) : null,
|
|
2085
|
+
[grid, range]
|
|
2086
|
+
);
|
|
2109
2087
|
const openAsset = assetPanelStore.useAssetPanelStore((s) => s.openAsset);
|
|
2110
2088
|
const effectiveAssetId = resultAssetId ?? (assetId.startsWith("asset_") ? assetId : null);
|
|
2111
2089
|
const title = isRunning ? explanation ? `Updating ${range}: ${explanation}` : `Updating sheet range ${range}...` : isFailure ? `Update to ${range || "sheet"} rejected` : explanation ? `Updated ${range}: ${explanation}` : `Updated sheet range ${range}`;
|
|
@@ -2122,55 +2100,19 @@ const UpdateSheetRangeToolUIImpl = ({
|
|
|
2122
2100
|
badge: isComplete && success && grid ? `${totalRows} ${totalRows === 1 ? "row" : "rows"}` : void 0,
|
|
2123
2101
|
error: errorMsg,
|
|
2124
2102
|
children: [
|
|
2125
|
-
|
|
2103
|
+
preview && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2126
2104
|
primitives.ExpandableSection,
|
|
2127
2105
|
{
|
|
2128
2106
|
label: `Show data (${totalRows} ${totalRows === 1 ? "row" : "rows"})`,
|
|
2129
2107
|
defaultOpen: totalRows <= 10,
|
|
2130
|
-
children:
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
children: h
|
|
2139
|
-
},
|
|
2140
|
-
h
|
|
2141
|
-
))
|
|
2142
|
-
] }) }),
|
|
2143
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: displayRows.map((row, i) => {
|
|
2144
|
-
const rowNum = ((rangeInfo == null ? void 0 : rangeInfo.startRow) ?? 1) + i;
|
|
2145
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-t border-border/30 hover:bg-muted/20", children: [
|
|
2146
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "w-8 px-1.5 py-0.5 text-right tabular-nums text-muted-foreground/60", children: rowNum }),
|
|
2147
|
-
headers.map((h, j) => {
|
|
2148
|
-
const val = row[j] ?? "";
|
|
2149
|
-
const isFormula = typeof val === "string" && val.startsWith("=");
|
|
2150
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2151
|
-
"td",
|
|
2152
|
-
{
|
|
2153
|
-
className: cnfast.cn(
|
|
2154
|
-
"max-w-[180px] truncate whitespace-nowrap px-2 py-0.5 text-foreground/80",
|
|
2155
|
-
isFormula && "font-mono text-blue-600"
|
|
2156
|
-
),
|
|
2157
|
-
title: val,
|
|
2158
|
-
children: val || /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/30", children: "—" })
|
|
2159
|
-
},
|
|
2160
|
-
h
|
|
2161
|
-
);
|
|
2162
|
-
})
|
|
2163
|
-
] }, i);
|
|
2164
|
-
}) })
|
|
2165
|
-
] }) }),
|
|
2166
|
-
totalRows > MAX_SHEET_DISPLAY_ROWS && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-2 py-1 text-[10px] text-muted-foreground", children: [
|
|
2167
|
-
"Showing first ",
|
|
2168
|
-
MAX_SHEET_DISPLAY_ROWS,
|
|
2169
|
-
" of ",
|
|
2170
|
-
totalRows,
|
|
2171
|
-
" rows"
|
|
2172
|
-
] })
|
|
2173
|
-
]
|
|
2108
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2109
|
+
rangePreviewTable.RangePreviewTable,
|
|
2110
|
+
{
|
|
2111
|
+
preview,
|
|
2112
|
+
maxRows: MAX_SHEET_DISPLAY_ROWS,
|
|
2113
|
+
caption: range ? `Values written to ${range}` : "Values written"
|
|
2114
|
+
}
|
|
2115
|
+
)
|
|
2174
2116
|
}
|
|
2175
2117
|
),
|
|
2176
2118
|
effectiveAssetId && isComplete && !errorMsg && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-border/40 px-4 py-2", children: /* @__PURE__ */ jsxRuntime.jsxs(
|