veryfront 0.1.996 → 0.1.998
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/esm/cli/templates/manifest.js +1 -1
- package/esm/deno.d.ts +8 -0
- package/esm/deno.js +12 -3
- package/esm/deps/esm.sh/react-dom@19.2.4.d.ts +2 -0
- package/esm/deps/esm.sh/react-dom@19.2.4.d.ts.map +1 -0
- package/esm/deps/esm.sh/react-dom@19.2.4.js +3 -0
- package/esm/react/react-dom.d.ts +3 -0
- package/esm/react/react-dom.d.ts.map +1 -0
- package/esm/react/react-dom.js +2 -0
- package/esm/src/agent/ag-ui/host-support.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/host-support.js +12 -0
- package/esm/src/agent/react/index.d.ts +4 -2
- package/esm/src/agent/react/index.d.ts.map +1 -1
- package/esm/src/agent/react/index.js +2 -1
- package/esm/src/agent/react/use-agent-metadata.d.ts +5 -0
- package/esm/src/agent/react/use-agent-metadata.d.ts.map +1 -1
- package/esm/src/agent/react/use-agent-metadata.js +18 -9
- package/esm/src/agent/react/use-agents.d.ts +33 -0
- package/esm/src/agent/react/use-agents.d.ts.map +1 -0
- package/esm/src/agent/react/use-agents.js +72 -0
- package/esm/src/agent/react/use-chat/index.d.ts +1 -1
- package/esm/src/agent/react/use-chat/index.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/types.d.ts +3 -2
- package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.d.ts +12 -1
- package/esm/src/agent/react/use-chat/use-chat.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.js +47 -7
- package/esm/src/agent/react/use-chat/utils.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/utils.js +4 -0
- package/esm/src/agent/runtime/message-adapter.d.ts.map +1 -1
- package/esm/src/agent/runtime/message-adapter.js +3 -1
- package/esm/src/agent/runtime/text-generation-runtime-message-converter.d.ts.map +1 -1
- package/esm/src/agent/runtime/text-generation-runtime-message-converter.js +6 -2
- package/esm/src/chat/index.d.ts +17 -7
- package/esm/src/chat/index.d.ts.map +1 -1
- package/esm/src/chat/index.js +33 -7
- package/esm/src/chat/protocol.d.ts +13 -1
- package/esm/src/chat/protocol.d.ts.map +1 -1
- package/esm/src/chat/upload-handler.d.ts +55 -0
- package/esm/src/chat/upload-handler.d.ts.map +1 -0
- package/esm/src/chat/upload-handler.js +180 -0
- package/esm/src/discovery/import-rewriter.d.ts +1 -1
- package/esm/src/discovery/import-rewriter.d.ts.map +1 -1
- package/esm/src/discovery/import-rewriter.js +2 -0
- package/esm/src/discovery/transpiler.d.ts.map +1 -1
- package/esm/src/discovery/transpiler.js +2 -0
- package/esm/src/react/components/chat/agent-card.d.ts +84 -11
- package/esm/src/react/components/chat/agent-card.d.ts.map +1 -1
- package/esm/src/react/components/chat/agent-card.js +151 -57
- package/esm/src/react/components/chat/agent-picker.d.ts +166 -0
- package/esm/src/react/components/chat/agent-picker.d.ts.map +1 -0
- package/esm/src/react/components/chat/agent-picker.js +183 -0
- package/esm/src/react/components/chat/chat/components/animations.js +1 -1
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts +125 -3
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachment-pill.js +209 -25
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts +149 -0
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/components/attachments-panel.js +187 -0
- package/esm/src/react/components/chat/chat/components/branch-picker.d.ts +13 -2
- package/esm/src/react/components/chat/chat/components/branch-picker.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/branch-picker.js +6 -8
- package/esm/src/react/components/chat/chat/components/chat-messages-skeleton.d.ts +20 -0
- package/esm/src/react/components/chat/chat/components/chat-messages-skeleton.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/components/chat-messages-skeleton.js +31 -0
- package/esm/src/react/components/chat/chat/components/code-block.d.ts +9 -1
- package/esm/src/react/components/chat/chat/components/code-block.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/code-block.js +14 -6
- package/esm/src/react/components/chat/chat/components/drop-zone.d.ts +11 -4
- package/esm/src/react/components/chat/chat/components/drop-zone.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/drop-zone.js +10 -8
- package/esm/src/react/components/chat/chat/components/empty-state.d.ts +2 -1
- package/esm/src/react/components/chat/chat/components/empty-state.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/empty-state.js +7 -8
- package/esm/src/react/components/chat/chat/components/inference-badge.d.ts +6 -2
- package/esm/src/react/components/chat/chat/components/inference-badge.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/inference-badge.js +5 -4
- package/esm/src/react/components/chat/chat/components/inline-citation.d.ts +9 -1
- package/esm/src/react/components/chat/chat/components/inline-citation.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/inline-citation.js +19 -20
- package/esm/src/react/components/chat/chat/components/message-actions.d.ts +28 -5
- package/esm/src/react/components/chat/chat/components/message-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-actions.js +24 -36
- package/esm/src/react/components/chat/chat/components/message-edit-form.d.ts +7 -2
- package/esm/src/react/components/chat/chat/components/message-edit-form.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-edit-form.js +5 -5
- package/esm/src/react/components/chat/chat/components/message-feedback.d.ts +11 -1
- package/esm/src/react/components/chat/chat/components/message-feedback.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-feedback.js +9 -11
- package/esm/src/react/components/chat/chat/components/quick-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/quick-actions.js +3 -1
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts +66 -3
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/reasoning.js +95 -21
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts +178 -12
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sidebar.js +228 -45
- package/esm/src/react/components/chat/chat/components/skill-badge.d.ts +6 -1
- package/esm/src/react/components/chat/chat/components/skill-badge.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/skill-badge.js +6 -5
- package/esm/src/react/components/chat/chat/components/skill-tool.d.ts +37 -0
- package/esm/src/react/components/chat/chat/components/skill-tool.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/components/skill-tool.js +46 -0
- package/esm/src/react/components/chat/chat/components/sources.d.ts +55 -3
- package/esm/src/react/components/chat/chat/components/sources.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sources.js +50 -16
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts +42 -3
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/step-indicator.js +55 -12
- package/esm/src/react/components/chat/chat/components/tab-switcher.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/tab-switcher.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/tab-switcher.js +3 -3
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts +96 -3
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/tool-ui.js +158 -36
- package/esm/src/react/components/chat/chat/composition/api.d.ts +4 -2
- package/esm/src/react/components/chat/chat/composition/api.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/api.js +4 -2
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts +112 -5
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-composer.js +251 -61
- package/esm/src/react/components/chat/chat/composition/chat-empty-state.d.ts +78 -0
- package/esm/src/react/components/chat/chat/composition/chat-empty-state.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/composition/chat-empty-state.js +63 -0
- package/esm/src/react/components/chat/chat/composition/chat-empty.d.ts +4 -1
- package/esm/src/react/components/chat/chat/composition/chat-empty.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-empty.js +11 -10
- package/esm/src/react/components/chat/chat/composition/chat-message-list.d.ts +11 -3
- package/esm/src/react/components/chat/chat/composition/chat-message-list.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-message-list.js +81 -111
- package/esm/src/react/components/chat/chat/composition/chat-root.d.ts +4 -0
- package/esm/src/react/components/chat/chat/composition/chat-root.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-root.js +3 -1
- package/esm/src/react/components/chat/chat/composition/error-banner.d.ts +4 -0
- package/esm/src/react/components/chat/chat/composition/error-banner.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/error-banner.js +10 -7
- package/esm/src/react/components/chat/chat/composition/message.d.ts +123 -5
- package/esm/src/react/components/chat/chat/composition/message.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/message.js +332 -53
- package/esm/src/react/components/chat/chat/composition/model-avatar.d.ts +6 -1
- package/esm/src/react/components/chat/chat/composition/model-avatar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/model-avatar.js +3 -4
- package/esm/src/react/components/chat/chat/composition/pending-message.d.ts +31 -0
- package/esm/src/react/components/chat/chat/composition/pending-message.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/composition/pending-message.js +31 -0
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts +4 -0
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts +1 -0
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts +29 -0
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/contexts/conversations-context.js +39 -0
- package/esm/src/react/components/chat/chat/contexts/index.d.ts +1 -1
- package/esm/src/react/components/chat/chat/contexts/index.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/index.js +1 -1
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts +2 -0
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-clipboard.d.ts +10 -0
- package/esm/src/react/components/chat/chat/hooks/use-clipboard.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-clipboard.js +34 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversation.d.ts +21 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversation.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversation.js +54 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversations.d.ts +67 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversations.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversations.js +317 -0
- package/esm/src/react/components/chat/chat/hooks/use-drop-zone.d.ts +27 -0
- package/esm/src/react/components/chat/chat/hooks/use-drop-zone.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-drop-zone.js +50 -0
- package/esm/src/react/components/chat/chat/hooks/use-stick-to-bottom.d.ts +49 -0
- package/esm/src/react/components/chat/chat/hooks/use-stick-to-bottom.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-stick-to-bottom.js +120 -0
- package/esm/src/react/components/chat/chat/hooks/use-upload.d.ts +34 -0
- package/esm/src/react/components/chat/chat/hooks/use-upload.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-upload.js +147 -0
- package/esm/src/react/components/chat/chat/hooks/use-uploads-registry.d.ts +37 -0
- package/esm/src/react/components/chat/chat/hooks/use-uploads-registry.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-uploads-registry.js +178 -0
- package/esm/src/react/components/chat/chat/index.d.ts +171 -31
- package/esm/src/react/components/chat/chat/index.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/index.js +371 -77
- package/esm/src/react/components/chat/chat/persistence/conversation-store.d.ts +63 -0
- package/esm/src/react/components/chat/chat/persistence/conversation-store.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/persistence/conversation-store.js +1 -0
- package/esm/src/react/components/chat/chat/persistence/local-conversation-store.d.ts +13 -0
- package/esm/src/react/components/chat/chat/persistence/local-conversation-store.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/persistence/local-conversation-store.js +102 -0
- package/esm/src/react/components/chat/chat/persistence/memory-conversation-store.d.ts +11 -0
- package/esm/src/react/components/chat/chat/persistence/memory-conversation-store.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/persistence/memory-conversation-store.js +33 -0
- package/esm/src/react/components/chat/chat/utils/message-parts.d.ts +4 -1
- package/esm/src/react/components/chat/chat/utils/message-parts.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/utils/message-parts.js +4 -0
- package/esm/src/react/components/chat/chat-actions.d.ts +164 -0
- package/esm/src/react/components/chat/chat-actions.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat-actions.js +191 -0
- package/esm/src/react/components/chat/chat-agent-picker.d.ts +50 -0
- package/esm/src/react/components/chat/chat-agent-picker.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat-agent-picker.js +40 -0
- package/esm/src/react/components/chat/chat-theme-scope.d.ts +26 -0
- package/esm/src/react/components/chat/chat-theme-scope.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat-theme-scope.js +27 -0
- package/esm/src/react/components/chat/chat-tokens-style.d.ts +21 -0
- package/esm/src/react/components/chat/chat-tokens-style.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat-tokens-style.js +24 -0
- package/esm/src/react/components/chat/chat.d.ts +5 -5
- package/esm/src/react/components/chat/chat.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat.js +5 -5
- package/esm/src/react/components/chat/color-mode.d.ts +46 -0
- package/esm/src/react/components/chat/color-mode.d.ts.map +1 -0
- package/esm/src/react/components/chat/color-mode.js +123 -0
- package/esm/src/react/components/chat/error-boundary.js +2 -2
- package/esm/src/react/components/chat/icons/index.d.ts +8 -0
- package/esm/src/react/components/chat/icons/index.d.ts.map +1 -1
- package/esm/src/react/components/chat/icons/index.js +64 -0
- package/esm/src/react/components/chat/markdown.d.ts +24 -1
- package/esm/src/react/components/chat/markdown.d.ts.map +1 -1
- package/esm/src/react/components/chat/markdown.js +122 -38
- package/esm/src/react/components/chat/model-selector.d.ts +130 -8
- package/esm/src/react/components/chat/model-selector.d.ts.map +1 -1
- package/esm/src/react/components/chat/model-selector.js +148 -121
- package/esm/src/react/components/chat/theme.d.ts +9 -12
- package/esm/src/react/components/chat/theme.d.ts.map +1 -1
- package/esm/src/react/components/chat/theme.js +149 -93
- package/esm/src/react/components/chat/ui/alert.d.ts +30 -0
- package/esm/src/react/components/chat/ui/alert.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/alert.js +35 -0
- package/esm/src/react/components/chat/ui/app-shell.d.ts +155 -0
- package/esm/src/react/components/chat/ui/app-shell.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/app-shell.js +276 -0
- package/esm/src/react/components/chat/ui/avatar.d.ts +24 -0
- package/esm/src/react/components/chat/ui/avatar.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/avatar.js +44 -0
- package/esm/src/react/components/chat/ui/badge.d.ts +24 -0
- package/esm/src/react/components/chat/ui/badge.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/badge.js +30 -0
- package/esm/src/react/components/chat/ui/button.d.ts +44 -0
- package/esm/src/react/components/chat/ui/button.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/button.js +108 -0
- package/esm/src/react/components/chat/ui/card.d.ts +42 -0
- package/esm/src/react/components/chat/ui/card.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/card.js +55 -0
- package/esm/src/react/components/chat/ui/checkbox.d.ts +28 -0
- package/esm/src/react/components/chat/ui/checkbox.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/checkbox.js +36 -0
- package/esm/src/react/components/chat/ui/code-block.d.ts +89 -0
- package/esm/src/react/components/chat/ui/code-block.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/code-block.js +277 -0
- package/esm/src/react/components/chat/ui/collapsible.d.ts +30 -0
- package/esm/src/react/components/chat/ui/collapsible.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/collapsible.js +44 -0
- package/esm/src/react/components/chat/ui/command.d.ts +65 -0
- package/esm/src/react/components/chat/ui/command.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/command.js +121 -0
- package/esm/src/react/components/chat/ui/cva.d.ts +36 -0
- package/esm/src/react/components/chat/ui/cva.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/cva.js +45 -0
- package/esm/src/react/components/chat/ui/dialog.d.ts +55 -0
- package/esm/src/react/components/chat/ui/dialog.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/dialog.js +116 -0
- package/esm/src/react/components/chat/ui/drawer.d.ts +41 -0
- package/esm/src/react/components/chat/ui/drawer.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/drawer.js +92 -0
- package/esm/src/react/components/chat/ui/dropdown-menu.d.ts +63 -0
- package/esm/src/react/components/chat/ui/dropdown-menu.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/dropdown-menu.js +76 -0
- package/esm/src/react/components/chat/ui/file-type.d.ts +26 -0
- package/esm/src/react/components/chat/ui/file-type.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/file-type.js +235 -0
- package/esm/src/react/components/chat/ui/floating.d.ts +29 -0
- package/esm/src/react/components/chat/ui/floating.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/floating.js +90 -0
- package/esm/src/react/components/chat/ui/icon-button.d.ts +19 -0
- package/esm/src/react/components/chat/ui/icon-button.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/icon-button.js +20 -0
- package/esm/src/react/components/chat/ui/index.d.ts +43 -0
- package/esm/src/react/components/chat/ui/index.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/index.js +42 -0
- package/esm/src/react/components/chat/ui/input.d.ts +27 -0
- package/esm/src/react/components/chat/ui/input.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/input.js +41 -0
- package/esm/src/react/components/chat/ui/label.d.ts +29 -0
- package/esm/src/react/components/chat/ui/label.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/label.js +40 -0
- package/esm/src/react/components/chat/ui/list.d.ts +47 -0
- package/esm/src/react/components/chat/ui/list.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/list.js +40 -0
- package/esm/src/react/components/chat/ui/pill.d.ts +26 -0
- package/esm/src/react/components/chat/ui/pill.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/pill.js +39 -0
- package/esm/src/react/components/chat/ui/popover.d.ts +47 -0
- package/esm/src/react/components/chat/ui/popover.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/popover.js +68 -0
- package/esm/src/react/components/chat/ui/progress-bar.d.ts +20 -0
- package/esm/src/react/components/chat/ui/progress-bar.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/progress-bar.js +31 -0
- package/esm/src/react/components/chat/ui/radio.d.ts +25 -0
- package/esm/src/react/components/chat/ui/radio.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/radio.js +29 -0
- package/esm/src/react/components/chat/ui/scroll-fade.d.ts +23 -0
- package/esm/src/react/components/chat/ui/scroll-fade.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/scroll-fade.js +40 -0
- package/esm/src/react/components/chat/ui/select.d.ts +64 -0
- package/esm/src/react/components/chat/ui/select.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/select.js +148 -0
- package/esm/src/react/components/chat/ui/shimmer.d.ts +25 -0
- package/esm/src/react/components/chat/ui/shimmer.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/shimmer.js +24 -0
- package/esm/src/react/components/chat/ui/skeleton.d.ts +14 -0
- package/esm/src/react/components/chat/ui/skeleton.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/skeleton.js +12 -0
- package/esm/src/react/components/chat/ui/slot.d.ts +21 -0
- package/esm/src/react/components/chat/ui/slot.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/slot.js +70 -0
- package/esm/src/react/components/chat/ui/status.d.ts +28 -0
- package/esm/src/react/components/chat/ui/status.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/status.js +23 -0
- package/esm/src/react/components/chat/ui/switch.d.ts +34 -0
- package/esm/src/react/components/chat/ui/switch.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/switch.js +58 -0
- package/esm/src/react/components/chat/ui/tabs.d.ts +44 -0
- package/esm/src/react/components/chat/ui/tabs.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/tabs.js +51 -0
- package/esm/src/react/components/chat/ui/tag.d.ts +22 -0
- package/esm/src/react/components/chat/ui/tag.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/tag.js +27 -0
- package/esm/src/react/components/chat/ui/textarea.d.ts +22 -0
- package/esm/src/react/components/chat/ui/textarea.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/textarea.js +35 -0
- package/esm/src/react/components/chat/ui/tooltip.d.ts +40 -0
- package/esm/src/react/components/chat/ui/tooltip.d.ts.map +1 -0
- package/esm/src/react/components/chat/ui/tooltip.js +132 -0
- package/esm/src/react/primitives/input-box.d.ts.map +1 -1
- package/esm/src/react/primitives/input-box.js +17 -4
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +9437 -1064
- package/esm/src/server/handlers/dev/projects/html-shell.d.ts +1 -1
- package/esm/src/server/handlers/dev/projects/html-shell.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/projects/html-shell.js +1 -12
- package/esm/src/server/handlers/request/public-agents-list.handler.d.ts +18 -0
- package/esm/src/server/handlers/request/public-agents-list.handler.d.ts.map +1 -0
- package/esm/src/server/handlers/request/public-agents-list.handler.js +44 -0
- package/esm/src/server/runtime-handler/index.d.ts +1 -1
- package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +3 -0
- package/esm/src/studio/bridge/bridge-bundle.generated.d.ts +1 -1
- package/esm/src/studio/bridge/bridge-bundle.generated.d.ts.map +1 -1
- package/esm/src/studio/bridge/bridge-bundle.generated.js +3 -2
- package/esm/src/task/discovery.d.ts +95 -0
- package/esm/src/task/discovery.d.ts.map +1 -0
- package/esm/src/task/discovery.js +192 -0
- package/esm/src/task/index.d.ts +27 -0
- package/esm/src/task/index.d.ts.map +1 -0
- package/esm/src/task/index.js +22 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/blob/local-storage.d.ts +32 -0
- package/esm/src/workflow/blob/local-storage.d.ts.map +1 -0
- package/esm/src/workflow/blob/local-storage.js +179 -0
- package/esm/src/workflow/blob/types.d.ts +5 -0
- package/esm/src/workflow/blob/types.d.ts.map +1 -1
- package/esm/src/workflow/blob/veryfront-cloud-storage.d.ts +11 -0
- package/esm/src/workflow/blob/veryfront-cloud-storage.d.ts.map +1 -1
- package/esm/src/workflow/blob/veryfront-cloud-storage.js +36 -0
- package/package.json +9 -1
- package/esm/src/react/components/chat/chat/components/uploads-panel.d.ts +0 -20
- package/esm/src/react/components/chat/chat/components/uploads-panel.d.ts.map +0 -1
- package/esm/src/react/components/chat/chat/components/uploads-panel.js +0 -49
- package/esm/src/react/components/chat/chat/contexts/thread-list-context.d.ts +0 -28
- package/esm/src/react/components/chat/chat/contexts/thread-list-context.d.ts.map +0 -1
- package/esm/src/react/components/chat/chat/contexts/thread-list-context.js +0 -27
- package/esm/src/react/components/chat/chat/hooks/use-threads.d.ts +0 -28
- package/esm/src/react/components/chat/chat/hooks/use-threads.d.ts.map +0 -1
- package/esm/src/react/components/chat/chat/hooks/use-threads.js +0 -151
- package/esm/src/react/components/chat/chat-with-sidebar.d.ts +0 -110
- package/esm/src/react/components/chat/chat-with-sidebar.d.ts.map +0 -1
- package/esm/src/react/components/chat/chat-with-sidebar.js +0 -167
- package/esm/src/react/components/chat/message.d.ts +0 -42
- package/esm/src/react/components/chat/message.d.ts.map +0 -1
- package/esm/src/react/components/chat/message.js +0 -69
|
@@ -1,10 +1,49 @@
|
|
|
1
1
|
import * as React from "../../../../../../react/react.js";
|
|
2
2
|
/** Props accepted by step indicator. */
|
|
3
|
-
export interface StepIndicatorProps {
|
|
3
|
+
export interface StepIndicatorProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
|
|
4
4
|
stepIndex: number;
|
|
5
5
|
isComplete: boolean;
|
|
6
6
|
className?: string;
|
|
7
|
+
/** Override the complete/pending status glyph. */
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
/** Compose your own divider; when omitted, the default anatomy is rendered. */
|
|
10
|
+
children?: React.ReactNode;
|
|
7
11
|
}
|
|
8
|
-
/**
|
|
9
|
-
export
|
|
12
|
+
/** Per-indicator state shared with `StepIndicator.*` sub-parts. */
|
|
13
|
+
export interface StepIndicatorContextValue {
|
|
14
|
+
stepIndex: number;
|
|
15
|
+
isComplete: boolean;
|
|
16
|
+
/** Optional override for the complete/pending status glyph. */
|
|
17
|
+
icon?: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Read the enclosing `StepIndicator` state. Throws when used outside a
|
|
21
|
+
* `StepIndicator`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function useStepIndicator(): StepIndicatorContextValue;
|
|
24
|
+
/** `StepIndicator.Rule` — one of the flanking horizontal rules. */
|
|
25
|
+
declare function StepIndicatorRule({ className }: {
|
|
26
|
+
className?: string;
|
|
27
|
+
}): React.JSX.Element;
|
|
28
|
+
declare namespace StepIndicatorRule {
|
|
29
|
+
var displayName: string;
|
|
30
|
+
}
|
|
31
|
+
/** `StepIndicator.Label` — the status glyph + `Step N` pill. */
|
|
32
|
+
declare function StepIndicatorLabel({ className }: {
|
|
33
|
+
className?: string;
|
|
34
|
+
}): React.JSX.Element;
|
|
35
|
+
declare namespace StepIndicatorLabel {
|
|
36
|
+
var displayName: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* StepIndicator — render `<StepIndicator stepIndex={…} isComplete />` for the
|
|
40
|
+
* default divider, or compose `StepIndicator.Root` + `.Rule` / `.Label` for a
|
|
41
|
+
* custom layout. Mirrors the `ToolCall` / `Sources` compounds.
|
|
42
|
+
*/
|
|
43
|
+
export declare const StepIndicator: React.ForwardRefExoticComponent<StepIndicatorProps & React.RefAttributes<HTMLDivElement>> & {
|
|
44
|
+
Root: React.ForwardRefExoticComponent<StepIndicatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
Rule: typeof StepIndicatorRule;
|
|
46
|
+
Label: typeof StepIndicatorLabel;
|
|
47
|
+
};
|
|
48
|
+
export {};
|
|
10
49
|
//# sourceMappingURL=step-indicator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-indicator.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/components/step-indicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"step-indicator.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/components/step-indicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAK1D,wCAAwC;AACxC,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAWD,mEAAmE;AACnE,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,yBAAyB,CAQ5D;AAyCD,mEAAmE;AACnE,iBAAS,iBAAiB,CACxB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,GAAG,CAAC,OAAO,CAEnB;kBAJQ,iBAAiB;;;AAO1B,gEAAgE;AAChE,iBAAS,kBAAkB,CACzB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,GAAG,CAAC,OAAO,CAenB;kBAjBQ,kBAAkB;;;AAoB3B;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;CAIxB,CAAC"}
|
|
@@ -1,16 +1,59 @@
|
|
|
1
1
|
import * as React from "../../../../../../react/react.js";
|
|
2
2
|
import { cn } from "../../theme.js";
|
|
3
3
|
import { CheckCircleIcon } from "../../icons/index.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
import { COMPONENT_ERROR } from "../../../../../errors/error-registry.js";
|
|
5
|
+
const StepIndicatorContext = React.createContext(null);
|
|
6
|
+
/**
|
|
7
|
+
* Read the enclosing `StepIndicator` state. Throws when used outside a
|
|
8
|
+
* `StepIndicator`.
|
|
9
|
+
*/
|
|
10
|
+
export function useStepIndicator() {
|
|
11
|
+
const ctx = React.useContext(StepIndicatorContext);
|
|
12
|
+
if (!ctx) {
|
|
13
|
+
throw COMPONENT_ERROR.create({
|
|
14
|
+
detail: "useStepIndicator must be used within a StepIndicator",
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return ctx;
|
|
16
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* `StepIndicator.Root` — context provider + the flex container. No children
|
|
21
|
+
* renders the default anatomy (`Rule` + `Label` + `Rule`); pass children to
|
|
22
|
+
* recompose.
|
|
23
|
+
*/
|
|
24
|
+
const StepIndicatorRoot = React.forwardRef(function StepIndicator({ stepIndex, isComplete, className, icon, children, ...props }, ref) {
|
|
25
|
+
const context = { stepIndex, isComplete, icon };
|
|
26
|
+
return (React.createElement(StepIndicatorContext.Provider, { value: context },
|
|
27
|
+
React.createElement("div", { ...props, ref: ref, className: cn("flex items-center gap-3 py-3 text-xs text-[var(--faint)]", className) }, children ?? (React.createElement(React.Fragment, null,
|
|
28
|
+
React.createElement(StepIndicatorRule, null),
|
|
29
|
+
React.createElement(StepIndicatorLabel, null),
|
|
30
|
+
React.createElement(StepIndicatorRule, null))))));
|
|
31
|
+
});
|
|
32
|
+
StepIndicatorRoot.displayName = "StepIndicator.Root";
|
|
33
|
+
/** `StepIndicator.Rule` — one of the flanking horizontal rules. */
|
|
34
|
+
function StepIndicatorRule({ className }) {
|
|
35
|
+
return React.createElement("div", { className: cn("flex-1 h-px bg-[var(--edge)]", className) });
|
|
36
|
+
}
|
|
37
|
+
StepIndicatorRule.displayName = "StepIndicator.Rule";
|
|
38
|
+
/** `StepIndicator.Label` — the status glyph + `Step N` pill. */
|
|
39
|
+
function StepIndicatorLabel({ className }) {
|
|
40
|
+
const { stepIndex, isComplete, icon } = useStepIndicator();
|
|
41
|
+
return (React.createElement("div", { className: cn("flex items-center gap-1.5 px-2 py-0.5 rounded-full border border-[var(--outline-border)] bg-transparent", className) },
|
|
42
|
+
icon ?? (isComplete
|
|
43
|
+
? React.createElement(CheckCircleIcon, { className: "size-3.5 text-[var(--success)]" })
|
|
44
|
+
: React.createElement("span", { className: "size-2 rounded-full bg-[var(--faint)] animate-pulse" })),
|
|
45
|
+
React.createElement("span", { className: "font-medium" },
|
|
46
|
+
"Step ",
|
|
47
|
+
stepIndex + 1)));
|
|
48
|
+
}
|
|
49
|
+
StepIndicatorLabel.displayName = "StepIndicator.Label";
|
|
50
|
+
/**
|
|
51
|
+
* StepIndicator — render `<StepIndicator stepIndex={…} isComplete />` for the
|
|
52
|
+
* default divider, or compose `StepIndicator.Root` + `.Rule` / `.Label` for a
|
|
53
|
+
* custom layout. Mirrors the `ToolCall` / `Sources` compounds.
|
|
54
|
+
*/
|
|
55
|
+
export const StepIndicator = Object.assign(StepIndicatorRoot, {
|
|
56
|
+
Root: StepIndicatorRoot,
|
|
57
|
+
Rule: StepIndicatorRule,
|
|
58
|
+
Label: StepIndicatorLabel,
|
|
59
|
+
});
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as React from "../../../../../../react/react.js";
|
|
9
9
|
/** Public API contract for chat tab. */
|
|
10
|
-
export type ChatTab = "chat" | "
|
|
10
|
+
export type ChatTab = "chat" | "attachments";
|
|
11
11
|
/** Props accepted by tab switcher. */
|
|
12
12
|
export interface TabSwitcherProps {
|
|
13
13
|
activeTab: ChatTab;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-switcher.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/components/tab-switcher.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAG1D,wCAAwC;AACxC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"tab-switcher.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/components/tab-switcher.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAG1D,wCAAwC;AACxC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;AAE7C,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,2BAA2B;AAC3B,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAwCvC"}
|
|
@@ -9,7 +9,7 @@ import * as React from "../../../../../../react/react.js";
|
|
|
9
9
|
import { cn } from "../../theme.js";
|
|
10
10
|
const TABS = [
|
|
11
11
|
{ value: "chat", label: "Chat" },
|
|
12
|
-
{ value: "
|
|
12
|
+
{ value: "attachments", label: "Attachments" },
|
|
13
13
|
];
|
|
14
14
|
/** Render tab switcher. */
|
|
15
15
|
export function TabSwitcher({ activeTab, onTabChange, className, }) {
|
|
@@ -19,10 +19,10 @@ export function TabSwitcher({ activeTab, onTabChange, className, }) {
|
|
|
19
19
|
return (React.createElement("button", { key: tab.value, type: "button", role: "tab", "aria-selected": isActive, tabIndex: isActive ? 0 : -1, onClick: () => onTabChange(tab.value), onKeyDown: (e) => {
|
|
20
20
|
if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
|
|
21
21
|
e.preventDefault();
|
|
22
|
-
const next = tab.value === "chat" ? "
|
|
22
|
+
const next = tab.value === "chat" ? "attachments" : "chat";
|
|
23
23
|
onTabChange(next);
|
|
24
24
|
}
|
|
25
|
-
}, className: cn("inline-flex items-center h-full px-5 text-sm font-medium rounded-full transition-colors cursor-pointer", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--
|
|
25
|
+
}, className: cn("inline-flex items-center h-full px-5 text-sm font-medium rounded-full transition-colors cursor-pointer", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--edge-medium)]", isActive
|
|
26
26
|
? "bg-[var(--tab-active-background)] text-[var(--tab-active-foreground)]"
|
|
27
27
|
: "text-[var(--tab-foreground)]") }, tab.label));
|
|
28
28
|
}))));
|
|
@@ -5,14 +5,107 @@
|
|
|
5
5
|
import * as React from "../../../../../../react/react.js";
|
|
6
6
|
import type { ChatDynamicToolPart, ChatToolPart } from "../../../../../agent/react/index.js";
|
|
7
7
|
/** Render tool status badge. */
|
|
8
|
-
export declare function ToolStatusBadge({ state }: {
|
|
8
|
+
export declare function ToolStatusBadge({ state, className }: {
|
|
9
9
|
state: string;
|
|
10
|
+
className?: string;
|
|
10
11
|
}): React.JSX.Element;
|
|
11
12
|
/**
|
|
12
13
|
* Tool call card component - renders tool invocations with parameters and results
|
|
13
14
|
* Styled to match AI Elements (https://ai-sdk.dev/elements)
|
|
15
|
+
*
|
|
16
|
+
* Skill tools (`load_skill`, `load_skill_reference`, `execute_skill_script`)
|
|
17
|
+
* are a compact single-line variant of a tool call, so they render as the
|
|
18
|
+
* `SkillTool` row rather than the full params/result card. This keeps skills
|
|
19
|
+
* and tools under one component — callers render `<ToolCall tool={part} />` for
|
|
20
|
+
* either.
|
|
14
21
|
*/
|
|
15
|
-
|
|
22
|
+
/** Per-tool state shared with `ToolCall.*` sub-parts. */
|
|
23
|
+
export interface ToolCallContextValue {
|
|
16
24
|
tool: ChatToolPart | ChatDynamicToolPart;
|
|
17
|
-
|
|
25
|
+
isExpanded: boolean;
|
|
26
|
+
toggle: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
27
|
+
hasOutput: boolean;
|
|
28
|
+
hasError: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Read the enclosing `ToolCall` state. Throws when used outside a `ToolCall`. */
|
|
31
|
+
export declare function useToolCall(): ToolCallContextValue;
|
|
32
|
+
/** Props accepted by `ToolCall` / `ToolCall.Root` (aka `ToolCallCard`). */
|
|
33
|
+
export interface ToolCallProps {
|
|
34
|
+
tool: ChatToolPart | ChatDynamicToolPart;
|
|
35
|
+
className?: string;
|
|
36
|
+
/** Override the leading tool icon (card variant). */
|
|
37
|
+
icon?: React.ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* `card` (full params/result) or `compact` (single-line row). Defaults to
|
|
40
|
+
* `compact` for skill tools, `card` otherwise. This is a presentation axis —
|
|
41
|
+
* NOT a severity/type.
|
|
42
|
+
*/
|
|
43
|
+
variant?: "card" | "compact";
|
|
44
|
+
/** Initial expanded state of the card (default: auto from tool state). */
|
|
45
|
+
defaultExpanded?: boolean;
|
|
46
|
+
/** Called when the card is toggled; receives the next state + event. */
|
|
47
|
+
onToggle?: (next: boolean, e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
48
|
+
/** Override the compact/skill row rendering. */
|
|
49
|
+
renderSkill?: (tool: ChatToolPart | ChatDynamicToolPart) => React.ReactNode;
|
|
50
|
+
/** Compose your own card; when omitted, the default anatomy is rendered. */
|
|
51
|
+
children?: React.ReactNode;
|
|
52
|
+
}
|
|
53
|
+
/** Props for `ToolCall.Trigger` — the header button. */
|
|
54
|
+
export interface ToolCallTriggerProps {
|
|
55
|
+
/** Override the leading tool icon. */
|
|
56
|
+
icon?: React.ReactNode;
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
/** The header row: tool icon + name + status badge + expand chevron. */
|
|
60
|
+
declare function ToolCallTrigger({ icon, className }: ToolCallTriggerProps): React.JSX.Element;
|
|
61
|
+
declare namespace ToolCallTrigger {
|
|
62
|
+
var displayName: string;
|
|
63
|
+
}
|
|
64
|
+
/** The collapsible region below the trigger. Renders only when expanded. */
|
|
65
|
+
declare function ToolCallBody({ className, children }: {
|
|
66
|
+
className?: string;
|
|
67
|
+
children?: React.ReactNode;
|
|
68
|
+
}): React.JSX.Element | null;
|
|
69
|
+
declare namespace ToolCallBody {
|
|
70
|
+
var displayName: string;
|
|
71
|
+
}
|
|
72
|
+
/** The `Parameters` block. Pass children to replace the highlighted JSON. */
|
|
73
|
+
declare function ToolCallInput({ className, children }: {
|
|
74
|
+
className?: string;
|
|
75
|
+
children?: React.ReactNode;
|
|
76
|
+
}): React.JSX.Element | null;
|
|
77
|
+
declare namespace ToolCallInput {
|
|
78
|
+
var displayName: string;
|
|
79
|
+
}
|
|
80
|
+
/** The `Result` block. Pass children to replace the JSON / auto-table output. */
|
|
81
|
+
declare function ToolCallOutput({ className, children }: {
|
|
82
|
+
className?: string;
|
|
83
|
+
children?: React.ReactNode;
|
|
84
|
+
}): React.JSX.Element | null;
|
|
85
|
+
declare namespace ToolCallOutput {
|
|
86
|
+
var displayName: string;
|
|
87
|
+
}
|
|
88
|
+
/** The error `Alert`. Renders only when the tool carries `errorText`. */
|
|
89
|
+
declare function ToolCallError({ className }: {
|
|
90
|
+
className?: string;
|
|
91
|
+
}): React.JSX.Element | null;
|
|
92
|
+
declare namespace ToolCallError {
|
|
93
|
+
var displayName: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* ToolCall — render `<ToolCall tool={part} />` for the default card, or compose
|
|
97
|
+
* `ToolCall.Trigger` / `Body` / `Input` / `Output` / `Error` for a custom
|
|
98
|
+
* layout. Mirrors the `Message` compound: render it, or compose it.
|
|
99
|
+
*/
|
|
100
|
+
export declare const ToolCall: React.ForwardRefExoticComponent<ToolCallProps & React.RefAttributes<HTMLDivElement>> & {
|
|
101
|
+
Root: React.ForwardRefExoticComponent<ToolCallProps & React.RefAttributes<HTMLDivElement>>;
|
|
102
|
+
Trigger: typeof ToolCallTrigger;
|
|
103
|
+
Body: typeof ToolCallBody;
|
|
104
|
+
Input: typeof ToolCallInput;
|
|
105
|
+
Output: typeof ToolCallOutput;
|
|
106
|
+
Error: typeof ToolCallError;
|
|
107
|
+
};
|
|
108
|
+
/** Back-compat alias — `message.tsx` and others import `ToolCallCard`. */
|
|
109
|
+
export declare const ToolCallCard: React.ForwardRefExoticComponent<ToolCallProps & React.RefAttributes<HTMLDivElement>>;
|
|
110
|
+
export {};
|
|
18
111
|
//# sourceMappingURL=tool-ui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-ui.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/components/tool-ui.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-ui.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/components/tool-ui.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,kCAAkC,CAAC;AAY1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAyD7F,gCAAgC;AAChC,wBAAgB,eAAe,CAC7B,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,KAAK,CAAC,GAAG,CAAC,OAAO,CAcnB;AAwFD;;;;;;;;;GASG;AAaH,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,GAAG,mBAAmB,CAAC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID,kFAAkF;AAClF,wBAAgB,WAAW,IAAI,oBAAoB,CAQlD;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,GAAG,mBAAmB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC3E,gDAAgD;IAChD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5E,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAoED,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wEAAwE;AACxE,iBAAS,eAAe,CACtB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB,GACxC,KAAK,CAAC,GAAG,CAAC,OAAO,CA0BnB;kBA5BQ,eAAe;;;AA+BxB,4EAA4E;AAC5E,iBAAS,YAAY,CACnB,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAC1E,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAc1B;kBAhBQ,YAAY;;;AAmBrB,6EAA6E;AAC7E,iBAAS,aAAa,CACpB,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAC1E,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAa1B;kBAfQ,aAAa;;;AAkBtB,iFAAiF;AACjF,iBAAS,cAAc,CACrB,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAC1E,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAuB1B;kBAzBQ,cAAc;;;AA4BvB,yEAAyE;AACzE,iBAAS,aAAa,CACpB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAa1B;kBAfQ,aAAa;;;AAkBtB;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;CAOnB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,YAAY,sFAAe,CAAC"}
|
|
@@ -5,11 +5,21 @@
|
|
|
5
5
|
import * as React from "../../../../../../react/react.js";
|
|
6
6
|
import { cn } from "../../theme.js";
|
|
7
7
|
import { CheckCircleIcon, ChevronDownIcon, CircleIcon, ClockIcon, WrenchIcon, XCircleIcon, } from "../../icons/index.js";
|
|
8
|
+
import { Alert, AlertContent, AlertIcon } from "../../ui/alert.js";
|
|
9
|
+
import { COMPONENT_ERROR } from "../../../../../errors/error-registry.js";
|
|
8
10
|
import { escapeHtml } from "../../../../../utils/html-escape.js";
|
|
11
|
+
import { isSkillToolPart } from "../utils/message-parts.js";
|
|
12
|
+
import { getSkillToolProps, SkillTool } from "./skill-tool.js";
|
|
9
13
|
/** Tool status configuration mapping state to label and icon */
|
|
10
14
|
const TOOL_STATUS_CONFIG = {
|
|
11
|
-
"input-streaming": {
|
|
12
|
-
|
|
15
|
+
"input-streaming": {
|
|
16
|
+
label: "Pending",
|
|
17
|
+
icon: React.createElement(CircleIcon, { className: "size-3.5" }),
|
|
18
|
+
},
|
|
19
|
+
"input-available": {
|
|
20
|
+
label: "Running",
|
|
21
|
+
icon: React.createElement(ClockIcon, { className: "size-3.5 animate-pulse" }),
|
|
22
|
+
},
|
|
13
23
|
"approval-requested": {
|
|
14
24
|
label: "Awaiting Approval",
|
|
15
25
|
icon: React.createElement(ClockIcon, { className: "size-3.5 text-yellow-600" }),
|
|
@@ -22,18 +32,36 @@ const TOOL_STATUS_CONFIG = {
|
|
|
22
32
|
label: "Completed",
|
|
23
33
|
icon: React.createElement(CheckCircleIcon, { className: "size-3.5 text-green-600" }),
|
|
24
34
|
},
|
|
25
|
-
"output-error": {
|
|
26
|
-
|
|
35
|
+
"output-error": {
|
|
36
|
+
label: "Error",
|
|
37
|
+
icon: React.createElement(XCircleIcon, { className: "size-3.5 text-red-600" }),
|
|
38
|
+
},
|
|
39
|
+
"output-denied": {
|
|
40
|
+
label: "Denied",
|
|
41
|
+
icon: React.createElement(XCircleIcon, { className: "size-3.5 text-orange-600" }),
|
|
42
|
+
},
|
|
27
43
|
// Legacy states
|
|
28
|
-
call: {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
44
|
+
call: {
|
|
45
|
+
label: "Running",
|
|
46
|
+
icon: React.createElement(ClockIcon, { className: "size-3.5 animate-pulse" }),
|
|
47
|
+
},
|
|
48
|
+
"partial-call": {
|
|
49
|
+
label: "Running",
|
|
50
|
+
icon: React.createElement(ClockIcon, { className: "size-3.5 animate-pulse" }),
|
|
51
|
+
},
|
|
52
|
+
result: {
|
|
53
|
+
label: "Completed",
|
|
54
|
+
icon: React.createElement(CheckCircleIcon, { className: "size-3.5 text-green-600" }),
|
|
55
|
+
},
|
|
56
|
+
error: {
|
|
57
|
+
label: "Error",
|
|
58
|
+
icon: React.createElement(XCircleIcon, { className: "size-3.5 text-red-600" }),
|
|
59
|
+
},
|
|
32
60
|
};
|
|
33
61
|
/** Render tool status badge. */
|
|
34
|
-
export function ToolStatusBadge({ state }) {
|
|
62
|
+
export function ToolStatusBadge({ state, className }) {
|
|
35
63
|
const config = TOOL_STATUS_CONFIG[state];
|
|
36
|
-
return (React.createElement("span", { className: "inline-flex items-center gap-1.5 rounded-full
|
|
64
|
+
return (React.createElement("span", { className: cn("inline-flex items-center gap-1.5 rounded-full border border-[var(--outline-border)] px-2 py-0.5 text-[11px] font-medium leading-none text-[var(--foreground)]", className) },
|
|
37
65
|
config?.icon ?? React.createElement(CircleIcon, { className: "size-3.5" }),
|
|
38
66
|
config?.label ?? state));
|
|
39
67
|
}
|
|
@@ -52,7 +80,7 @@ function formatJsonWithHighlight(obj) {
|
|
|
52
80
|
.replace(/: "([^&]*)"/g, ': <span class="text-amber-600">"$1"</span>')
|
|
53
81
|
.replace(/: (\d+)/g, ': <span class="text-blue-600">$1</span>')
|
|
54
82
|
.replace(/: (true|false)/g, ': <span class="text-purple-600">$1</span>');
|
|
55
|
-
return (React.createElement("pre", { className: "
|
|
83
|
+
return (React.createElement("pre", { className: "whitespace-pre-wrap font-mono text-sm", dangerouslySetInnerHTML: { __html: highlighted } }));
|
|
56
84
|
}
|
|
57
85
|
function renderOutputAsTable(output) {
|
|
58
86
|
if (!Array.isArray(output) || output.length === 0)
|
|
@@ -66,40 +94,134 @@ function renderOutputAsTable(output) {
|
|
|
66
94
|
return (React.createElement("div", { className: "overflow-x-auto" },
|
|
67
95
|
React.createElement("table", { className: "min-w-full text-sm" },
|
|
68
96
|
React.createElement("thead", null,
|
|
69
|
-
React.createElement("tr", { className: "border-b border-[var(--
|
|
97
|
+
React.createElement("tr", { className: "border-b border-[var(--edge)]" }, keys.map((key) => (React.createElement("th", { key: key, className: "px-4 py-2 text-left font-medium text-[var(--foreground)]" }, key.replace(/_/g, " ").replace(/\b\w/g, (c) => c.toUpperCase())))))),
|
|
70
98
|
React.createElement("tbody", null, output.map((row, i) => {
|
|
71
99
|
const record = row;
|
|
72
|
-
return (React.createElement("tr", { key: i, className: "border-b border-[var(--
|
|
100
|
+
return (React.createElement("tr", { key: i, className: "border-b border-[var(--edge)]" }, keys.map((key) => (React.createElement("td", { key: key, className: "px-4 py-2 text-[var(--foreground)]" }, String(record?.[key] ?? ""))))));
|
|
73
101
|
})))));
|
|
74
102
|
}
|
|
75
103
|
function hasVisibleToolOutput(output) {
|
|
76
104
|
return output !== undefined && output !== null;
|
|
77
105
|
}
|
|
106
|
+
const ToolCallContext = React.createContext(null);
|
|
107
|
+
/** Read the enclosing `ToolCall` state. Throws when used outside a `ToolCall`. */
|
|
108
|
+
export function useToolCall() {
|
|
109
|
+
const ctx = React.useContext(ToolCallContext);
|
|
110
|
+
if (!ctx) {
|
|
111
|
+
throw COMPONENT_ERROR.create({
|
|
112
|
+
detail: "useToolCall must be used within a ToolCall",
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return ctx;
|
|
116
|
+
}
|
|
78
117
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
118
|
+
* `ToolCall.Root` — context provider + the card wrapper. No children renders
|
|
119
|
+
* the default anatomy (`Trigger` + `Body`); pass children to recompose. Skill /
|
|
120
|
+
* compact tools short-circuit to the single-line row (not composable).
|
|
81
121
|
*/
|
|
82
|
-
|
|
122
|
+
const ToolCallRoot = React.forwardRef(function ToolCall({ tool, className, icon, variant, defaultExpanded, onToggle, renderSkill, children }, ref) {
|
|
83
123
|
const hasOutput = hasVisibleToolOutput(tool.output);
|
|
84
124
|
const hasError = Boolean(tool.errorText);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
125
|
+
// Collapse tool cards by default. Fast server-side tools (e.g.
|
|
126
|
+
// `search_knowledge`) resolve near-instantly and otherwise stack up
|
|
127
|
+
// expanded, burying the assistant's actual reply. The trigger row still
|
|
128
|
+
// shows the tool name + status badge, and the chevron expands on demand.
|
|
129
|
+
// Errors stay open so failures aren't hidden behind a click.
|
|
130
|
+
const shouldExpandByDefault = hasError;
|
|
131
|
+
const [isExpanded, setIsExpanded] = React.useState(defaultExpanded ?? shouldExpandByDefault);
|
|
132
|
+
// Compact row for skill tools (or when forced) — a presentation variant.
|
|
133
|
+
const isCompact = variant === "compact" ||
|
|
134
|
+
(variant !== "card" && isSkillToolPart(tool));
|
|
135
|
+
if (isCompact) {
|
|
136
|
+
if (renderSkill)
|
|
137
|
+
return React.createElement(React.Fragment, null, renderSkill(tool));
|
|
138
|
+
return React.createElement(SkillTool, { ...getSkillToolProps(tool) });
|
|
139
|
+
}
|
|
140
|
+
const toggle = (e) => {
|
|
141
|
+
const next = !isExpanded;
|
|
142
|
+
setIsExpanded(next);
|
|
143
|
+
onToggle?.(next, e);
|
|
144
|
+
};
|
|
145
|
+
const context = {
|
|
146
|
+
tool,
|
|
147
|
+
isExpanded,
|
|
148
|
+
toggle,
|
|
149
|
+
hasOutput,
|
|
150
|
+
hasError,
|
|
151
|
+
};
|
|
152
|
+
return (React.createElement(ToolCallContext.Provider, { value: context },
|
|
153
|
+
React.createElement("div", { ref: ref, className: cn("not-prose w-full overflow-hidden rounded-[var(--radius-md)] border border-[var(--outline-border)] bg-transparent px-4 py-2.5", className) }, children ?? (React.createElement(React.Fragment, null,
|
|
154
|
+
React.createElement(ToolCallTrigger, { icon: icon }),
|
|
155
|
+
React.createElement(ToolCallBody, null))))));
|
|
156
|
+
});
|
|
157
|
+
ToolCallRoot.displayName = "ToolCall.Root";
|
|
158
|
+
/** The header row: tool icon + name + status badge + expand chevron. */
|
|
159
|
+
function ToolCallTrigger({ icon, className }) {
|
|
160
|
+
const { tool, isExpanded, toggle } = useToolCall();
|
|
161
|
+
return (React.createElement("button", { type: "button", onClick: toggle, className: cn("group flex w-full items-center justify-between gap-3 text-left transition-colors hover:text-[var(--foreground)]", className) },
|
|
162
|
+
React.createElement("div", { className: "flex min-w-0 items-center gap-2" },
|
|
163
|
+
icon ?? React.createElement(WrenchIcon, { className: "size-3.5 shrink-0 text-[var(--foreground)]" }),
|
|
164
|
+
React.createElement("span", { className: "min-w-0 truncate text-sm font-medium leading-tight text-[var(--foreground)]" }, tool.toolName),
|
|
165
|
+
React.createElement(ToolStatusBadge, { state: tool.state })),
|
|
166
|
+
React.createElement(ChevronDownIcon, { className: cn("size-3.5 shrink-0 text-[var(--faint)] transition-transform", isExpanded && "rotate-180") })));
|
|
105
167
|
}
|
|
168
|
+
ToolCallTrigger.displayName = "ToolCall.Trigger";
|
|
169
|
+
/** The collapsible region below the trigger. Renders only when expanded. */
|
|
170
|
+
function ToolCallBody({ className, children }) {
|
|
171
|
+
const { isExpanded } = useToolCall();
|
|
172
|
+
if (!isExpanded)
|
|
173
|
+
return null;
|
|
174
|
+
return (React.createElement("div", { className: cn("mt-3 border-t border-[var(--edge)] pt-3", className) }, children ?? (React.createElement(React.Fragment, null,
|
|
175
|
+
React.createElement(ToolCallInput, null),
|
|
176
|
+
React.createElement(ToolCallOutput, null),
|
|
177
|
+
React.createElement(ToolCallError, null)))));
|
|
178
|
+
}
|
|
179
|
+
ToolCallBody.displayName = "ToolCall.Body";
|
|
180
|
+
/** The `Parameters` block. Pass children to replace the highlighted JSON. */
|
|
181
|
+
function ToolCallInput({ className, children }) {
|
|
182
|
+
const { tool } = useToolCall();
|
|
183
|
+
if (tool.input === undefined)
|
|
184
|
+
return null;
|
|
185
|
+
return (React.createElement("div", { className: cn("space-y-2 overflow-hidden", className) },
|
|
186
|
+
React.createElement("h4", { className: "text-xs font-medium text-[var(--faint)]" }, "Parameters"),
|
|
187
|
+
React.createElement("div", { className: "rounded-[var(--radius-md)] bg-[var(--secondary)] p-3" }, children ?? formatJsonWithHighlight(tool.input))));
|
|
188
|
+
}
|
|
189
|
+
ToolCallInput.displayName = "ToolCall.Input";
|
|
190
|
+
/** The `Result` block. Pass children to replace the JSON / auto-table output. */
|
|
191
|
+
function ToolCallOutput({ className, children }) {
|
|
192
|
+
const { tool, hasOutput } = useToolCall();
|
|
193
|
+
if (!hasOutput)
|
|
194
|
+
return null;
|
|
195
|
+
const tableOutput = renderOutputAsTable(tool.output);
|
|
196
|
+
return (React.createElement("div", { className: cn("mt-3 space-y-2 border-t border-[var(--edge)] pt-3", className) },
|
|
197
|
+
React.createElement("h4", { className: "text-xs font-medium text-[var(--faint)]" }, "Result"),
|
|
198
|
+
React.createElement("div", { className: "overflow-x-auto rounded-[var(--radius-md)] bg-[var(--secondary)] text-[var(--foreground)]" }, children ?? tableOutput ?? (React.createElement("div", { className: "p-3" }, formatJsonWithHighlight(tool.output))))));
|
|
199
|
+
}
|
|
200
|
+
ToolCallOutput.displayName = "ToolCall.Output";
|
|
201
|
+
/** The error `Alert`. Renders only when the tool carries `errorText`. */
|
|
202
|
+
function ToolCallError({ className }) {
|
|
203
|
+
const { tool } = useToolCall();
|
|
204
|
+
if (!tool.errorText)
|
|
205
|
+
return null;
|
|
206
|
+
return (React.createElement("div", { className: cn("mt-3 border-t border-[var(--edge)] pt-3", className) },
|
|
207
|
+
React.createElement(Alert, { variant: "error" },
|
|
208
|
+
React.createElement(AlertIcon, null,
|
|
209
|
+
React.createElement(XCircleIcon, { className: "size-4" })),
|
|
210
|
+
React.createElement(AlertContent, null, tool.errorText))));
|
|
211
|
+
}
|
|
212
|
+
ToolCallError.displayName = "ToolCall.Error";
|
|
213
|
+
/**
|
|
214
|
+
* ToolCall — render `<ToolCall tool={part} />` for the default card, or compose
|
|
215
|
+
* `ToolCall.Trigger` / `Body` / `Input` / `Output` / `Error` for a custom
|
|
216
|
+
* layout. Mirrors the `Message` compound: render it, or compose it.
|
|
217
|
+
*/
|
|
218
|
+
export const ToolCall = Object.assign(ToolCallRoot, {
|
|
219
|
+
Root: ToolCallRoot,
|
|
220
|
+
Trigger: ToolCallTrigger,
|
|
221
|
+
Body: ToolCallBody,
|
|
222
|
+
Input: ToolCallInput,
|
|
223
|
+
Output: ToolCallOutput,
|
|
224
|
+
Error: ToolCallError,
|
|
225
|
+
});
|
|
226
|
+
/** Back-compat alias — `message.tsx` and others import `ToolCallCard`. */
|
|
227
|
+
export const ToolCallCard = ToolCallRoot;
|
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { ChatRoot, type ChatRootProps } from "./chat-root.js";
|
|
7
7
|
export { ChatMessageList, type ChatMessageListProps } from "./chat-message-list.js";
|
|
8
|
-
export {
|
|
8
|
+
export { ChatInput, type ChatInputProps } from "./chat-composer.js";
|
|
9
9
|
export { ChatEmpty, type ChatEmptyProps } from "./chat-empty.js";
|
|
10
|
+
export { ChatEmptyState, type ChatEmptyStateAvatarProps, type ChatEmptyStateHeadingProps, type ChatEmptyStateRootProps, type ChatEmptyStateSuggestionProps, type ChatEmptyStateSuggestionsProps, } from "./chat-empty-state.js";
|
|
10
11
|
export { ChatIf, type ChatIfProps } from "./chat-if.js";
|
|
11
12
|
export { AgentAvatar, type AgentAvatarProps } from "./agent-avatar.js";
|
|
12
13
|
export { ModelAvatar, type ModelAvatarProps } from "./model-avatar.js";
|
|
13
14
|
export { ErrorBanner, type ErrorBannerProps } from "./error-banner.js";
|
|
14
|
-
export {
|
|
15
|
+
export { PendingMessage, type PendingMessageProps } from "./pending-message.js";
|
|
16
|
+
export { Message, type MessageProps, type MessageRootProps } from "./message.js";
|
|
15
17
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/composition/api.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/react/components/chat/chat/composition/api.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,GACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
// Root / Layout
|
|
7
7
|
export { ChatRoot } from "./chat-root.js";
|
|
8
8
|
export { ChatMessageList } from "./chat-message-list.js";
|
|
9
|
-
export {
|
|
9
|
+
export { ChatInput } from "./chat-composer.js";
|
|
10
10
|
export { ChatEmpty } from "./chat-empty.js";
|
|
11
|
+
export { ChatEmptyState, } from "./chat-empty-state.js";
|
|
11
12
|
export { ChatIf } from "./chat-if.js";
|
|
12
13
|
export { AgentAvatar } from "./agent-avatar.js";
|
|
13
14
|
export { ModelAvatar } from "./model-avatar.js";
|
|
14
15
|
export { ErrorBanner } from "./error-banner.js";
|
|
15
|
-
|
|
16
|
+
export { PendingMessage } from "./pending-message.js";
|
|
17
|
+
// Message — render-or-compose (`<Message />` or `Message.Root` + parts)
|
|
16
18
|
export { Message } from "./message.js";
|