veryfront 0.1.997 → 0.1.999
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.d.ts +1 -1
- package/esm/cli/templates/manifest.js +15 -15
- package/esm/deno.d.ts +7 -0
- package/esm/deno.js +11 -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/embedding/index.d.ts +0 -2
- package/esm/src/embedding/index.d.ts.map +1 -1
- package/esm/src/embedding/index.js +0 -1
- package/esm/src/embedding/upload-handler.d.ts +2 -13
- package/esm/src/embedding/upload-handler.d.ts.map +1 -1
- package/esm/src/embedding/upload-handler.js +24 -17
- package/esm/src/modules/import-map/default-import-map.d.ts.map +1 -1
- package/esm/src/modules/import-map/default-import-map.js +0 -5
- 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/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 +5 -1
- package/esm/src/embedding/react/use-uploads.d.ts +0 -33
- package/esm/src/embedding/react/use-uploads.d.ts.map +0 -1
- package/esm/src/embedding/react/use-uploads.js +0 -76
- 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
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat upload handler: the server side of `<Chat>`'s batteries-included
|
|
3
|
+
* attachments. Mount it at `app/api/uploads/route.ts` (the same endpoint the
|
|
4
|
+
* composer POSTs to) and files "just work": stored on the local disk in dev,
|
|
5
|
+
* on Veryfront Cloud (or a `BlobStorage` you pass) once deployed.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // app/api/uploads/route.ts
|
|
9
|
+
* import { createChatUploadHandler } from "veryfront/chat/uploads";
|
|
10
|
+
*
|
|
11
|
+
* function authorize(request: Request) {
|
|
12
|
+
* const token = Deno.env.get("UPLOAD_TOKEN");
|
|
13
|
+
* return Boolean(token && request.headers.get("authorization") === `Bearer ${token}`);
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* export const { POST, GET, DELETE } = createChatUploadHandler({ authorize });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* `POST` stores the multipart `file` field and returns `{ id, url, name,
|
|
20
|
+
* mediaType, size }`. The composer sends that `url` as a `file` message part,
|
|
21
|
+
* which the runtime fetches, so the URL must be reachable by the runtime
|
|
22
|
+
* (true for local dev, where `GET` streams the file back from the same origin).
|
|
23
|
+
*
|
|
24
|
+
* @module chat/upload-handler
|
|
25
|
+
*/
|
|
26
|
+
import "../../_dnt.polyfills.js";
|
|
27
|
+
import type { BlobStorage } from "../workflow/blob/types.js";
|
|
28
|
+
/** Configuration for {@link createChatUploadHandler}. */
|
|
29
|
+
export interface ChatUploadHandlerConfig {
|
|
30
|
+
/** Max accepted file size in bytes. @default 25 MB */
|
|
31
|
+
maxFileSize?: number;
|
|
32
|
+
/** Storage backend. Defaults to local disk in dev, Veryfront Cloud when deployed. */
|
|
33
|
+
storage?: BlobStorage;
|
|
34
|
+
/**
|
|
35
|
+
* Gate every request. Return `false` or a `Response` to reject.
|
|
36
|
+
* Required unless `allowUnauthenticated` is explicitly set.
|
|
37
|
+
*/
|
|
38
|
+
authorize?: (request: Request) => boolean | Response | void | Promise<boolean | Response | void>;
|
|
39
|
+
/**
|
|
40
|
+
* Allow POST, GET, and DELETE without an authorization callback.
|
|
41
|
+
* Use this only for local prototypes or deliberately public upload routes.
|
|
42
|
+
*/
|
|
43
|
+
allowUnauthenticated?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Build `{ POST, GET, DELETE }` route handlers for chat attachments.
|
|
47
|
+
* Auto-selects local disk storage in dev and Veryfront Cloud once deployed, or
|
|
48
|
+
* the `storage` you provide. `DELETE ?id=` removes the file from storage.
|
|
49
|
+
*/
|
|
50
|
+
export declare function createChatUploadHandler(config?: ChatUploadHandlerConfig): {
|
|
51
|
+
POST: (request: Request) => Promise<Response>;
|
|
52
|
+
GET: (request: Request) => Promise<Response>;
|
|
53
|
+
DELETE: (request: Request) => Promise<Response>;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=upload-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-handler.d.ts","sourceRoot":"","sources":["../../../src/src/chat/upload-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,2BAA2B,CAAC;AActE,yDAAyD;AACzD,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,OAAO,KACb,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;IACpE;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAiDD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,uBAA4B,GACnC;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjD,CAgHA"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat upload handler: the server side of `<Chat>`'s batteries-included
|
|
3
|
+
* attachments. Mount it at `app/api/uploads/route.ts` (the same endpoint the
|
|
4
|
+
* composer POSTs to) and files "just work": stored on the local disk in dev,
|
|
5
|
+
* on Veryfront Cloud (or a `BlobStorage` you pass) once deployed.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // app/api/uploads/route.ts
|
|
9
|
+
* import { createChatUploadHandler } from "veryfront/chat/uploads";
|
|
10
|
+
*
|
|
11
|
+
* function authorize(request: Request) {
|
|
12
|
+
* const token = Deno.env.get("UPLOAD_TOKEN");
|
|
13
|
+
* return Boolean(token && request.headers.get("authorization") === `Bearer ${token}`);
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* export const { POST, GET, DELETE } = createChatUploadHandler({ authorize });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* `POST` stores the multipart `file` field and returns `{ id, url, name,
|
|
20
|
+
* mediaType, size }`. The composer sends that `url` as a `file` message part,
|
|
21
|
+
* which the runtime fetches, so the URL must be reachable by the runtime
|
|
22
|
+
* (true for local dev, where `GET` streams the file back from the same origin).
|
|
23
|
+
*
|
|
24
|
+
* @module chat/upload-handler
|
|
25
|
+
*/
|
|
26
|
+
import "../../_dnt.polyfills.js";
|
|
27
|
+
import * as dntShim from "../../_dnt.shims.js";
|
|
28
|
+
import { LocalBlobStorage } from "../workflow/blob/local-storage.js";
|
|
29
|
+
import { VeryfrontCloudBlobStorage } from "../workflow/blob/veryfront-cloud-storage.js";
|
|
30
|
+
import { isVeryfrontCloudEnabled } from "../platform/cloud/resolver.js";
|
|
31
|
+
import { isProduction } from "../platform/environment.js";
|
|
32
|
+
import { CONFIG_INVALID } from "../errors/index.js";
|
|
33
|
+
/** 25 MB default cap. Attachments are references, not bulk transfer. */
|
|
34
|
+
const DEFAULT_MAX_FILE_SIZE = 25 * 1024 * 1024;
|
|
35
|
+
const MAX_FILE_NAME_LENGTH = 200;
|
|
36
|
+
/** Ids are storage-issued UUIDs; this guards the `GET ?id=` path against traversal. */
|
|
37
|
+
const SAFE_ID = /^[A-Za-z0-9_-]{1,128}$/;
|
|
38
|
+
const CLOUD_PREFIX = ".veryfront/chat-uploads/";
|
|
39
|
+
const FileCtor = globalThis.File;
|
|
40
|
+
/** Strip path separators, HTML-significant and control chars from a filename. */
|
|
41
|
+
function sanitizeFileName(raw) {
|
|
42
|
+
const cleaned = raw
|
|
43
|
+
.replace(/[/\\]/g, "_")
|
|
44
|
+
.replace(/[<>"'`&]/g, "")
|
|
45
|
+
// deno-lint-ignore no-control-regex
|
|
46
|
+
.replace(/[\x00-\x1f\x7f]/g, "")
|
|
47
|
+
.trim()
|
|
48
|
+
.slice(0, MAX_FILE_NAME_LENGTH);
|
|
49
|
+
return cleaned || "untitled";
|
|
50
|
+
}
|
|
51
|
+
function resolveStorage(config) {
|
|
52
|
+
if (config.storage)
|
|
53
|
+
return config.storage;
|
|
54
|
+
// Cloud storage only when actually deployed. In local dev the cloud bootstrap
|
|
55
|
+
// is present (you're logged in) but the project isn't, so default to disk.
|
|
56
|
+
if (isProduction() && isVeryfrontCloudEnabled()) {
|
|
57
|
+
return new VeryfrontCloudBlobStorage({ prefix: CLOUD_PREFIX });
|
|
58
|
+
}
|
|
59
|
+
return new LocalBlobStorage(`${dntShim.Deno.cwd()}/.veryfront/uploads`);
|
|
60
|
+
}
|
|
61
|
+
function fallbackUrl(requestUrl, id) {
|
|
62
|
+
const url = new URL(requestUrl);
|
|
63
|
+
url.search = "";
|
|
64
|
+
url.searchParams.set("id", id);
|
|
65
|
+
return url.href;
|
|
66
|
+
}
|
|
67
|
+
function rejectsDeclaredSize(request, maxFileSize) {
|
|
68
|
+
const value = request.headers.get("content-length");
|
|
69
|
+
if (!value)
|
|
70
|
+
return false;
|
|
71
|
+
const declared = Number.parseInt(value, 10);
|
|
72
|
+
return Number.isFinite(declared) && declared > maxFileSize;
|
|
73
|
+
}
|
|
74
|
+
async function reject(request, authorize) {
|
|
75
|
+
if (!authorize)
|
|
76
|
+
return null;
|
|
77
|
+
const result = await authorize(request);
|
|
78
|
+
if (result instanceof Response)
|
|
79
|
+
return result;
|
|
80
|
+
if (result === false)
|
|
81
|
+
return Response.json({ error: "Unauthorized" }, { status: 401 });
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Build `{ POST, GET, DELETE }` route handlers for chat attachments.
|
|
86
|
+
* Auto-selects local disk storage in dev and Veryfront Cloud once deployed, or
|
|
87
|
+
* the `storage` you provide. `DELETE ?id=` removes the file from storage.
|
|
88
|
+
*/
|
|
89
|
+
export function createChatUploadHandler(config = {}) {
|
|
90
|
+
const maxFileSize = config.maxFileSize ?? DEFAULT_MAX_FILE_SIZE;
|
|
91
|
+
if (!config.authorize && config.allowUnauthenticated !== true) {
|
|
92
|
+
throw CONFIG_INVALID.create({
|
|
93
|
+
message: "createChatUploadHandler requires `authorize` or `allowUnauthenticated: true`.",
|
|
94
|
+
detail: "Pass authorize to protect upload requests, or set allowUnauthenticated: true for a deliberately public endpoint.",
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
const storage = resolveStorage(config);
|
|
98
|
+
async function POST(request) {
|
|
99
|
+
const denied = await reject(request, config.authorize);
|
|
100
|
+
if (denied)
|
|
101
|
+
return denied;
|
|
102
|
+
if (rejectsDeclaredSize(request, maxFileSize)) {
|
|
103
|
+
return Response.json({ error: `File exceeds ${Math.round(maxFileSize / 1024 / 1024)} MB limit` }, { status: 413 });
|
|
104
|
+
}
|
|
105
|
+
const form = await request.formData();
|
|
106
|
+
const file = form.get("file");
|
|
107
|
+
if (!FileCtor || !(file instanceof FileCtor)) {
|
|
108
|
+
return Response.json({ error: "No file provided" }, { status: 400 });
|
|
109
|
+
}
|
|
110
|
+
if (file.size > maxFileSize) {
|
|
111
|
+
return Response.json({ error: `File exceeds ${Math.round(maxFileSize / 1024 / 1024)} MB limit` }, { status: 413 });
|
|
112
|
+
}
|
|
113
|
+
const name = sanitizeFileName(file.name);
|
|
114
|
+
const mediaType = file.type || "application/octet-stream";
|
|
115
|
+
const ref = await storage.put(file, {
|
|
116
|
+
mimeType: mediaType,
|
|
117
|
+
metadata: { filename: name },
|
|
118
|
+
});
|
|
119
|
+
// Use the backend's own URL when it has one (cloud/S3); otherwise serve the
|
|
120
|
+
// bytes back ourselves from the same origin (local disk in dev).
|
|
121
|
+
const external = ref.url ?? (await storage.stat(ref.id))?.url;
|
|
122
|
+
const url = external ?? fallbackUrl(request.url, ref.id);
|
|
123
|
+
return Response.json({ id: ref.id, url, name, mediaType, size: file.size });
|
|
124
|
+
}
|
|
125
|
+
function toListItem(ref, requestUrl) {
|
|
126
|
+
return {
|
|
127
|
+
id: ref.id,
|
|
128
|
+
url: ref.url ?? fallbackUrl(requestUrl, ref.id),
|
|
129
|
+
name: ref.metadata?.filename ?? ref.id,
|
|
130
|
+
mediaType: ref.mimeType,
|
|
131
|
+
size: ref.size,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
async function GET(request) {
|
|
135
|
+
const denied = await reject(request, config.authorize);
|
|
136
|
+
if (denied)
|
|
137
|
+
return denied;
|
|
138
|
+
const id = new URL(request.url).searchParams.get("id");
|
|
139
|
+
// No `id` → list the adapter's stored files (newest first). This is the
|
|
140
|
+
// source of truth for an "Uploads" surface, so it survives across sessions
|
|
141
|
+
// and browsers, unlike a client-only index.
|
|
142
|
+
if (!id) {
|
|
143
|
+
if (!storage.list) {
|
|
144
|
+
return Response.json({ error: "This storage backend does not support listing", items: [] }, { status: 501 });
|
|
145
|
+
}
|
|
146
|
+
const refs = await storage.list();
|
|
147
|
+
return Response.json({ items: refs.map((ref) => toListItem(ref, request.url)) });
|
|
148
|
+
}
|
|
149
|
+
if (!SAFE_ID.test(id)) {
|
|
150
|
+
return Response.json({ error: "Invalid id" }, { status: 400 });
|
|
151
|
+
}
|
|
152
|
+
const ref = await storage.stat(id);
|
|
153
|
+
const stream = ref ? await storage.getStream(id) : null;
|
|
154
|
+
if (!ref || !stream) {
|
|
155
|
+
return Response.json({ error: "Not found" }, { status: 404 });
|
|
156
|
+
}
|
|
157
|
+
return new Response(stream, {
|
|
158
|
+
headers: {
|
|
159
|
+
"Content-Type": ref.mimeType,
|
|
160
|
+
"Content-Length": String(ref.size),
|
|
161
|
+
"Content-Disposition": `attachment; filename="${ref.metadata?.filename ?? ref.id}"`,
|
|
162
|
+
"X-Content-Type-Options": "nosniff",
|
|
163
|
+
"Cache-Control": "private, max-age=3600",
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
async function DELETE(request) {
|
|
168
|
+
const denied = await reject(request, config.authorize);
|
|
169
|
+
if (denied)
|
|
170
|
+
return denied;
|
|
171
|
+
const id = new URL(request.url).searchParams.get("id");
|
|
172
|
+
if (!id || !SAFE_ID.test(id)) {
|
|
173
|
+
return Response.json({ error: "Invalid id" }, { status: 400 });
|
|
174
|
+
}
|
|
175
|
+
// Idempotent: deleting an already-gone file is a success, not a 404.
|
|
176
|
+
await storage.delete(id);
|
|
177
|
+
return Response.json({ id, deleted: true });
|
|
178
|
+
}
|
|
179
|
+
return { POST, GET, DELETE };
|
|
180
|
+
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* (Deno, Node.js) and handles veryfront package resolution.
|
|
6
6
|
*/
|
|
7
7
|
import { createFileSystem } from "../platform/compat/fs.js";
|
|
8
|
-
export declare const DISCOVERY_GLOBAL_VERYFRONT_MODULES: readonly ["veryfront/agent", "veryfront/tool", "veryfront/platform", "veryfront/prompt", "veryfront/resource", "veryfront/embedding", "veryfront/knowledge", "veryfront/workflow", "veryfront/work", "veryfront/eval", "veryfront/metrics", "veryfront/schemas"];
|
|
8
|
+
export declare const DISCOVERY_GLOBAL_VERYFRONT_MODULES: readonly ["veryfront/agent", "veryfront/tool", "veryfront/platform", "veryfront/prompt", "veryfront/resource", "veryfront/embedding", "veryfront/knowledge", "veryfront/workflow", "veryfront/work", "veryfront/eval", "veryfront/metrics", "veryfront/schemas", "veryfront/chat/uploads"];
|
|
9
9
|
interface DenoRewriteOptions {
|
|
10
10
|
compiled?: boolean;
|
|
11
11
|
resolveSpecifier?: (specifier: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/import-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,eAAO,MAAM,kCAAkC,
|
|
1
|
+
{"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/import-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,eAAO,MAAM,kCAAkC,4RAerC,CAAC;AAEX,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAkHD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA2BR;AAqFD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA2PjB"}
|
|
@@ -20,6 +20,8 @@ export const DISCOVERY_GLOBAL_VERYFRONT_MODULES = [
|
|
|
20
20
|
"veryfront/eval",
|
|
21
21
|
"veryfront/metrics",
|
|
22
22
|
"veryfront/schemas",
|
|
23
|
+
// Server-side chat upload route handler (app/api/uploads/route.ts).
|
|
24
|
+
"veryfront/chat/uploads",
|
|
23
25
|
];
|
|
24
26
|
function escapeRegExp(value) {
|
|
25
27
|
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/transpiler.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/transpiler.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA6IvD;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAkGlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -25,6 +25,7 @@ import * as workMod from "../work/index.js";
|
|
|
25
25
|
import * as evalMod from "../eval/index.js";
|
|
26
26
|
import * as metricsMod from "../metrics/index.js";
|
|
27
27
|
import * as schemasMod from "../schemas/index.js";
|
|
28
|
+
import * as chatUploadsMod from "../chat/upload-handler.js";
|
|
28
29
|
const transpileCache = new Map();
|
|
29
30
|
// Setup veryfront modules as globals for compiled binary support
|
|
30
31
|
let veryfrontGlobalsInitialized = false;
|
|
@@ -47,6 +48,7 @@ async function ensureVeryfrontGlobals() {
|
|
|
47
48
|
"veryfront/eval": evalMod,
|
|
48
49
|
"veryfront/metrics": metricsMod,
|
|
49
50
|
"veryfront/schemas": schemasMod,
|
|
51
|
+
"veryfront/chat/uploads": chatUploadsMod,
|
|
50
52
|
};
|
|
51
53
|
dntShim.dntGlobalThis.__VERYFRONT_MODULES__ = modules;
|
|
52
54
|
veryfrontGlobalsInitialized = true;
|
|
@@ -21,8 +21,6 @@ export { vectorStore } from "./vector-store.js";
|
|
|
21
21
|
export { ragStore } from "./rag-store.js";
|
|
22
22
|
export { createUploadHandler } from "./upload-handler.js";
|
|
23
23
|
export { loadUpload } from "./upload-loader.js";
|
|
24
|
-
export { useUploads } from "./react/use-uploads.js";
|
|
25
|
-
export type { UseUploadsOptions, UseUploadsResult } from "./react/use-uploads.js";
|
|
26
24
|
export { clearEmbeddingProviders, registerEmbeddingProvider, resolveEmbeddingModel, } from "./resolve.js";
|
|
27
25
|
export type { ChunkOptions, Embedding, EmbeddingConfig, RagChunk, RagDocumentMeta, RagRefreshOptions, RagSearchOptions, RagSearchResult, RagStore, RagStoreBackend, RagStoreConfig, RagStoreData, SearchOptions, SearchResult, VectorStore, VectorStoreConfig, } from "./types.js";
|
|
28
26
|
export type { UploadAuthorizationResult, UploadAuthorize, UploadHandlerAuthConfig, UploadHandlerConfig, } from "./upload-handler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
|
|
@@ -21,5 +21,4 @@ export { vectorStore } from "./vector-store.js";
|
|
|
21
21
|
export { ragStore } from "./rag-store.js";
|
|
22
22
|
export { createUploadHandler } from "./upload-handler.js";
|
|
23
23
|
export { loadUpload } from "./upload-loader.js";
|
|
24
|
-
export { useUploads } from "./react/use-uploads.js";
|
|
25
24
|
export { clearEmbeddingProviders, registerEmbeddingProvider, resolveEmbeddingModel, } from "./resolve.js";
|
|
@@ -25,7 +25,7 @@ export interface UploadHandlerConfig {
|
|
|
25
25
|
* `loadUpload`, and ingests into the provided RAG store. When Veryfront Cloud
|
|
26
26
|
* bootstrap is present, the original binary is also stored in the project's
|
|
27
27
|
* uploads store via the cloud adapter. GET returns the upload list. DELETE
|
|
28
|
-
* removes an upload by ID from route params.
|
|
28
|
+
* removes an upload by ID from the `id` query parameter or route params.
|
|
29
29
|
*
|
|
30
30
|
* @example
|
|
31
31
|
* ```ts
|
|
@@ -34,7 +34,7 @@ export interface UploadHandlerConfig {
|
|
|
34
34
|
* import { getEnv } from "veryfront";
|
|
35
35
|
* import { store } from "lib/store.ts";
|
|
36
36
|
*
|
|
37
|
-
* export const { POST, GET } = createUploadHandler(store, {
|
|
37
|
+
* export const { POST, GET, DELETE } = createUploadHandler(store, {
|
|
38
38
|
* auth: {
|
|
39
39
|
* authorize: (request) => {
|
|
40
40
|
* const token = getEnv("UPLOAD_TOKEN");
|
|
@@ -44,17 +44,6 @@ export interface UploadHandlerConfig {
|
|
|
44
44
|
* },
|
|
45
45
|
* });
|
|
46
46
|
* ```
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```ts
|
|
50
|
-
* // app/api/uploads/[id]/route.ts
|
|
51
|
-
* import { createUploadHandler } from "veryfront/embedding";
|
|
52
|
-
* import { store } from "lib/store.ts";
|
|
53
|
-
*
|
|
54
|
-
* export const { DELETE } = createUploadHandler(store, {
|
|
55
|
-
* auth: { type: "none", allowUnauthenticated: true },
|
|
56
|
-
* });
|
|
57
|
-
* ```
|
|
58
47
|
*/
|
|
59
48
|
export declare function createUploadHandler(store: RagStore, config?: UploadHandlerConfig): {
|
|
60
49
|
POST: (request: Request) => Promise<Response>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-handler.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/upload-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"upload-handler.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/upload-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAqF5D,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9E,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,OAAO,KACb,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,IAAI,CAAA;CAAE,GAC5C;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnC,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC;AAuHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,mBAAmB;oBAKC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;oBAmF3B,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;sBAc7C,OAAO,WACP;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAC1C,OAAO,CAAC,QAAQ,CAAC;EA6BrB"}
|
|
@@ -145,6 +145,22 @@ function getSourceBlobStorage() {
|
|
|
145
145
|
? new VeryfrontCloudBlobStorage({ prefix: CLOUD_UPLOAD_PREFIX })
|
|
146
146
|
: null;
|
|
147
147
|
}
|
|
148
|
+
function toUploadRegistryItem(upload) {
|
|
149
|
+
return {
|
|
150
|
+
id: upload.id,
|
|
151
|
+
name: upload.title,
|
|
152
|
+
mediaType: typeToMime(upload.type),
|
|
153
|
+
size: 0,
|
|
154
|
+
...(upload.url ? { url: upload.url } : {}),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
function resolveDeleteId(request, context) {
|
|
158
|
+
const fromParams = context.params.id;
|
|
159
|
+
if (fromParams)
|
|
160
|
+
return fromParams;
|
|
161
|
+
const fromQuery = new URL(request.url).searchParams.get("id");
|
|
162
|
+
return fromQuery ?? "";
|
|
163
|
+
}
|
|
148
164
|
/**
|
|
149
165
|
* Creates HTTP route handlers for upload, listing, and deletion.
|
|
150
166
|
*
|
|
@@ -159,7 +175,7 @@ function getSourceBlobStorage() {
|
|
|
159
175
|
* `loadUpload`, and ingests into the provided RAG store. When Veryfront Cloud
|
|
160
176
|
* bootstrap is present, the original binary is also stored in the project's
|
|
161
177
|
* uploads store via the cloud adapter. GET returns the upload list. DELETE
|
|
162
|
-
* removes an upload by ID from route params.
|
|
178
|
+
* removes an upload by ID from the `id` query parameter or route params.
|
|
163
179
|
*
|
|
164
180
|
* @example
|
|
165
181
|
* ```ts
|
|
@@ -168,7 +184,7 @@ function getSourceBlobStorage() {
|
|
|
168
184
|
* import { getEnv } from "veryfront";
|
|
169
185
|
* import { store } from "lib/store.ts";
|
|
170
186
|
*
|
|
171
|
-
* export const { POST, GET } = createUploadHandler(store, {
|
|
187
|
+
* export const { POST, GET, DELETE } = createUploadHandler(store, {
|
|
172
188
|
* auth: {
|
|
173
189
|
* authorize: (request) => {
|
|
174
190
|
* const token = getEnv("UPLOAD_TOKEN");
|
|
@@ -178,17 +194,6 @@ function getSourceBlobStorage() {
|
|
|
178
194
|
* },
|
|
179
195
|
* });
|
|
180
196
|
* ```
|
|
181
|
-
*
|
|
182
|
-
* @example
|
|
183
|
-
* ```ts
|
|
184
|
-
* // app/api/uploads/[id]/route.ts
|
|
185
|
-
* import { createUploadHandler } from "veryfront/embedding";
|
|
186
|
-
* import { store } from "lib/store.ts";
|
|
187
|
-
*
|
|
188
|
-
* export const { DELETE } = createUploadHandler(store, {
|
|
189
|
-
* auth: { type: "none", allowUnauthenticated: true },
|
|
190
|
-
* });
|
|
191
|
-
* ```
|
|
192
197
|
*/
|
|
193
198
|
export function createUploadHandler(store, config) {
|
|
194
199
|
const maxSize = config?.maxFileSize ?? MAX_FILE_SIZE;
|
|
@@ -247,8 +252,10 @@ export function createUploadHandler(store, config) {
|
|
|
247
252
|
}
|
|
248
253
|
}
|
|
249
254
|
return Response.json({
|
|
250
|
-
|
|
251
|
-
|
|
255
|
+
id,
|
|
256
|
+
name: safeName,
|
|
257
|
+
mediaType: file.type || typeToMime(fileType),
|
|
258
|
+
size: file.size,
|
|
252
259
|
});
|
|
253
260
|
}
|
|
254
261
|
catch (error) {
|
|
@@ -262,7 +269,7 @@ export function createUploadHandler(store, config) {
|
|
|
262
269
|
if (unauthorized)
|
|
263
270
|
return unauthorized;
|
|
264
271
|
const uploads = await enrichUploadsWithSourceUrls(await store.listDocuments());
|
|
265
|
-
return Response.json({ uploads });
|
|
272
|
+
return Response.json({ items: uploads.map(toUploadRegistryItem) });
|
|
266
273
|
}
|
|
267
274
|
catch (error) {
|
|
268
275
|
serverLogger.error("Upload list failed:", error);
|
|
@@ -274,7 +281,7 @@ export function createUploadHandler(store, config) {
|
|
|
274
281
|
const unauthorized = await authorizeUploadRequest(request, authorize);
|
|
275
282
|
if (unauthorized)
|
|
276
283
|
return unauthorized;
|
|
277
|
-
const id = context
|
|
284
|
+
const id = resolveDeleteId(request, context);
|
|
278
285
|
if (!id) {
|
|
279
286
|
return Response.json({ error: "Missing upload ID" }, { status: 400 });
|
|
280
287
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-import-map.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/default-import-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"default-import-map.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/default-import-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmDlD,wBAAgB,mBAAmB,IAAI,eAAe,CAIrD"}
|
|
@@ -25,10 +25,6 @@ function getVeryfrontSsrImportMap() {
|
|
|
25
25
|
const workflowReact = `${base}/workflow/react/index.js${ssr}`;
|
|
26
26
|
// veryfront/react is a barrel that re-exports all browser-side modules.
|
|
27
27
|
const react = `${base}/react/public.js${ssr}`;
|
|
28
|
-
// Map veryfront/embedding to the React hooks submodule for SSR.
|
|
29
|
-
// The full embedding/index.ts imports heavy server-side code (vectorStore, ragStore)
|
|
30
|
-
// that fails to transform. SSR only needs the React hook (useUploads).
|
|
31
|
-
const embedding = `${base}/embedding/react/index.js${ssr}`;
|
|
32
28
|
return {
|
|
33
29
|
"veryfront/react": react,
|
|
34
30
|
"veryfront/head": head,
|
|
@@ -38,7 +34,6 @@ function getVeryfrontSsrImportMap() {
|
|
|
38
34
|
"veryfront/markdown": markdown,
|
|
39
35
|
"veryfront/chat": chat,
|
|
40
36
|
"veryfront/mdx": mdx,
|
|
41
|
-
"veryfront/embedding": embedding,
|
|
42
37
|
"veryfront/workflow": workflowReact,
|
|
43
38
|
"veryfront/react/head": head,
|
|
44
39
|
"veryfront/react/router": router,
|
|
@@ -1,23 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentCard — a running agent rendered as a `Card` wrapping the `Message`
|
|
3
|
+
* anatomy: a header row (agent Avatar + name on the left, `<Status>` on the
|
|
4
|
+
* right) over the agent's reasoning, tool calls, and message text. Composed
|
|
5
|
+
* entirely from the shared primitives — `Card`, `Avatar`, `Status`,
|
|
6
|
+
* `Reasoning`, `ToolCall`, `Markdown` — so it reads like a `Message` inside a
|
|
7
|
+
* card (mirrors Studio's agent/message anatomy).
|
|
8
|
+
*
|
|
9
|
+
* @module react/components/chat/agent-card
|
|
10
|
+
*/
|
|
1
11
|
import * as React from "../../../../react/react.js";
|
|
2
12
|
import type { AgentMessage, AgentStatus, ToolCall } from "../../../agent/index.js";
|
|
3
|
-
import { type
|
|
13
|
+
import { type StatusColor } from "./ui/status.js";
|
|
4
14
|
/** Props accepted by agent card. */
|
|
5
15
|
export interface AgentCardProps {
|
|
6
|
-
/** Agent
|
|
16
|
+
/** Agent display name shown in the header (default "Agent"). */
|
|
17
|
+
name?: string;
|
|
18
|
+
/** Agent avatar image; falls back to an initial. */
|
|
19
|
+
avatarUrl?: string;
|
|
20
|
+
/** Agent messages — rendered as Markdown, mirroring `Message.Content`. */
|
|
7
21
|
messages?: AgentMessage[];
|
|
8
|
-
/** Tool calls */
|
|
22
|
+
/** Tool calls — rendered through the shared `ToolCall` card. */
|
|
9
23
|
toolCalls?: ToolCall[];
|
|
10
|
-
/** Agent status */
|
|
24
|
+
/** Agent status — drives the header `Status` dot + label. */
|
|
11
25
|
status: AgentStatus;
|
|
12
|
-
/** Thinking/reasoning text */
|
|
26
|
+
/** Thinking/reasoning text — rendered through the `Reasoning` component. */
|
|
13
27
|
thinking?: string;
|
|
14
|
-
/** Additional class name */
|
|
28
|
+
/** Additional class name for the card. */
|
|
15
29
|
className?: string;
|
|
16
|
-
/**
|
|
17
|
-
theme?: Partial<AgentTheme>;
|
|
18
|
-
/** Custom tool renderer */
|
|
30
|
+
/** Custom tool renderer — overrides the default `ToolCall` card. */
|
|
19
31
|
renderTool?: (toolCall: ToolCall) => React.ReactNode;
|
|
32
|
+
/** Compose your own card; when omitted, the default anatomy is rendered. */
|
|
33
|
+
children?: React.ReactNode;
|
|
20
34
|
}
|
|
21
|
-
/**
|
|
22
|
-
export
|
|
35
|
+
/** Per-card state shared with `AgentCard.*` sub-parts. */
|
|
36
|
+
export interface AgentCardContextValue {
|
|
37
|
+
name: string;
|
|
38
|
+
avatarUrl?: string;
|
|
39
|
+
messages?: AgentMessage[];
|
|
40
|
+
toolCalls: ToolCall[];
|
|
41
|
+
status: AgentStatus;
|
|
42
|
+
thinking?: string;
|
|
43
|
+
renderTool?: (toolCall: ToolCall) => React.ReactNode;
|
|
44
|
+
presentation: {
|
|
45
|
+
color: StatusColor;
|
|
46
|
+
label: string;
|
|
47
|
+
pulse: boolean;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Read the enclosing `AgentCard` state. Throws when used outside an `AgentCard`. */
|
|
51
|
+
export declare function useAgentCard(): AgentCardContextValue;
|
|
52
|
+
/**
|
|
53
|
+
* The header row: Avatar + name (left), Status (right). Mirrors
|
|
54
|
+
* `ChatMessageHeader` / `Message.Header`.
|
|
55
|
+
*/
|
|
56
|
+
declare function AgentCardHeader({ className }: {
|
|
57
|
+
className?: string;
|
|
58
|
+
}): React.JSX.Element;
|
|
59
|
+
declare namespace AgentCardHeader {
|
|
60
|
+
var displayName: string;
|
|
61
|
+
}
|
|
62
|
+
/** The reasoning block. Renders only when `thinking` text is present. */
|
|
63
|
+
declare function AgentCardReasoning({ className }: {
|
|
64
|
+
className?: string;
|
|
65
|
+
}): React.JSX.Element | null;
|
|
66
|
+
declare namespace AgentCardReasoning {
|
|
67
|
+
var displayName: string;
|
|
68
|
+
}
|
|
69
|
+
/** The tool-call list. Renders one `ToolCall` card per entry, or `renderTool`. */
|
|
70
|
+
declare function AgentCardTools({ className }: {
|
|
71
|
+
className?: string;
|
|
72
|
+
}): React.JSX.Element | null;
|
|
73
|
+
declare namespace AgentCardTools {
|
|
74
|
+
var displayName: string;
|
|
75
|
+
}
|
|
76
|
+
/** The message body — each message's text rendered as `Markdown`. */
|
|
77
|
+
declare function AgentCardBody({ className }: {
|
|
78
|
+
className?: string;
|
|
79
|
+
}): React.JSX.Element | null;
|
|
80
|
+
declare namespace AgentCardBody {
|
|
81
|
+
var displayName: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* AgentCard — render `<AgentCard {...props} />` for the default card, or compose
|
|
85
|
+
* `AgentCard.Header` / `Reasoning` / `Tools` / `Body` for a custom layout.
|
|
86
|
+
* Mirrors the `ToolCall` compound: render it, or compose it.
|
|
87
|
+
*/
|
|
88
|
+
export declare const AgentCard: React.ForwardRefExoticComponent<AgentCardProps & React.RefAttributes<HTMLDivElement>> & {
|
|
89
|
+
Root: React.ForwardRefExoticComponent<AgentCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
90
|
+
Header: typeof AgentCardHeader;
|
|
91
|
+
Reasoning: typeof AgentCardReasoning;
|
|
92
|
+
Tools: typeof AgentCardTools;
|
|
93
|
+
Body: typeof AgentCardBody;
|
|
94
|
+
};
|
|
95
|
+
export {};
|
|
23
96
|
//# sourceMappingURL=agent-card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/chat/agent-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/chat/agent-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAMnF,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK1D,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,gEAAgE;IAChE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,6DAA6D;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAmDD,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,YAAY,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACrE;AAMD,qFAAqF;AACrF,wBAAgB,YAAY,IAAI,qBAAqB,CAQpD;AA0DD;;;GAGG;AACH,iBAAS,eAAe,CACtB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,GAAG,CAAC,OAAO,CAgBnB;kBAlBQ,eAAe;;;AAqBxB,yEAAyE;AACzE,iBAAS,kBAAkB,CACzB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAI1B;kBANQ,kBAAkB;;;AAS3B,kFAAkF;AAClF,iBAAS,cAAc,CACrB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAY1B;kBAdQ,cAAc;;;AAiBvB,qEAAqE;AACrE,iBAAS,aAAa,CACpB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgB1B;kBAlBQ,aAAa;;;AAqBtB;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;CAMpB,CAAC"}
|