@agentuity/workbench 0.0.64 → 0.0.65
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/dist/components/App.d.ts +6 -0
- package/dist/components/App.d.ts.map +1 -0
- package/dist/components/App.js +13 -0
- package/dist/components/App.js.map +1 -0
- package/dist/components/ConnectionStatus.d.ts +7 -0
- package/dist/components/ConnectionStatus.d.ts.map +1 -0
- package/dist/components/ConnectionStatus.js +52 -0
- package/dist/components/ConnectionStatus.js.map +1 -0
- package/dist/components/Inline.d.ts +10 -0
- package/dist/components/Inline.d.ts.map +1 -0
- package/dist/components/Inline.js +11 -0
- package/dist/components/Inline.js.map +1 -0
- package/dist/components/ai-elements/actions.d.ts +10 -0
- package/dist/components/ai-elements/actions.d.ts.map +1 -0
- package/dist/components/ai-elements/actions.js +14 -0
- package/dist/components/ai-elements/actions.js.map +1 -0
- package/dist/components/ai-elements/artifact.d.ts +24 -0
- package/dist/components/ai-elements/artifact.d.ts.map +1 -0
- package/dist/components/ai-elements/artifact.js +21 -0
- package/dist/components/ai-elements/artifact.js.map +1 -0
- package/dist/components/ai-elements/branch.d.ts +21 -0
- package/dist/components/ai-elements/branch.d.ts.map +1 -0
- package/dist/components/ai-elements/branch.js +71 -0
- package/dist/components/ai-elements/branch.js.map +1 -0
- package/dist/components/ai-elements/canvas.d.ts +9 -0
- package/dist/components/ai-elements/canvas.d.ts.map +1 -0
- package/dist/components/ai-elements/canvas.js +6 -0
- package/dist/components/ai-elements/canvas.js.map +1 -0
- package/dist/components/ai-elements/chain-of-thought.d.ts +30 -0
- package/dist/components/ai-elements/chain-of-thought.d.ts.map +1 -0
- package/dist/components/ai-elements/chain-of-thought.js +52 -0
- package/dist/components/ai-elements/chain-of-thought.js.map +1 -0
- package/dist/components/ai-elements/code-block.d.ts +18 -0
- package/dist/components/ai-elements/code-block.d.ts.map +1 -0
- package/dist/components/ai-elements/code-block.js +89 -0
- package/dist/components/ai-elements/code-block.js.map +1 -0
- package/dist/components/ai-elements/confirmation.d.ts +27 -0
- package/dist/components/ai-elements/confirmation.d.ts.map +1 -0
- package/dist/components/ai-elements/confirmation.js +57 -0
- package/dist/components/ai-elements/confirmation.js.map +1 -0
- package/dist/components/ai-elements/connection.d.ts +3 -0
- package/dist/components/ai-elements/connection.d.ts.map +1 -0
- package/dist/components/ai-elements/connection.js +4 -0
- package/dist/components/ai-elements/connection.js.map +1 -0
- package/dist/components/ai-elements/context.d.ts +33 -0
- package/dist/components/ai-elements/context.d.ts.map +1 -0
- package/dist/components/ai-elements/context.js +167 -0
- package/dist/components/ai-elements/context.js.map +1 -0
- package/dist/components/ai-elements/controls.d.ts +5 -0
- package/dist/components/ai-elements/controls.d.ts.map +1 -0
- package/dist/components/ai-elements/controls.js +6 -0
- package/dist/components/ai-elements/controls.js.map +1 -0
- package/dist/components/ai-elements/conversation.d.ts +16 -0
- package/dist/components/ai-elements/conversation.d.ts.map +1 -0
- package/dist/components/ai-elements/conversation.js +18 -0
- package/dist/components/ai-elements/conversation.js.map +1 -0
- package/dist/components/ai-elements/edge.d.ts +6 -0
- package/dist/components/ai-elements/edge.d.ts.map +1 -0
- package/dist/components/ai-elements/edge.js +83 -0
- package/dist/components/ai-elements/edge.js.map +1 -0
- package/dist/components/ai-elements/image.d.ts +7 -0
- package/dist/components/ai-elements/image.d.ts.map +1 -0
- package/dist/components/ai-elements/image.js +4 -0
- package/dist/components/ai-elements/image.js.map +1 -0
- package/dist/components/ai-elements/inline-citation.d.ts +39 -0
- package/dist/components/ai-elements/inline-citation.d.ts.map +1 -0
- package/dist/components/ai-elements/inline-citation.js +62 -0
- package/dist/components/ai-elements/inline-citation.js.map +1 -0
- package/dist/components/ai-elements/loader.d.ts +6 -0
- package/dist/components/ai-elements/loader.d.ts.map +1 -0
- package/dist/components/ai-elements/loader.js +5 -0
- package/dist/components/ai-elements/loader.js.map +1 -0
- package/dist/components/ai-elements/message.d.ts +20 -0
- package/dist/components/ai-elements/message.d.ts.map +1 -0
- package/dist/components/ai-elements/message.js +26 -0
- package/dist/components/ai-elements/message.js.map +1 -0
- package/dist/components/ai-elements/node.d.ts +22 -0
- package/dist/components/ai-elements/node.d.ts.map +1 -0
- package/dist/components/ai-elements/node.js +12 -0
- package/dist/components/ai-elements/node.js.map +1 -0
- package/dist/components/ai-elements/open-in-chat.d.ts +29 -0
- package/dist/components/ai-elements/open-in-chat.d.ts.map +1 -0
- package/dist/components/ai-elements/open-in-chat.js +97 -0
- package/dist/components/ai-elements/open-in-chat.js.map +1 -0
- package/dist/components/ai-elements/panel.d.ts +6 -0
- package/dist/components/ai-elements/panel.d.ts.map +1 -0
- package/dist/components/ai-elements/panel.js +5 -0
- package/dist/components/ai-elements/panel.js.map +1 -0
- package/dist/components/ai-elements/plan.d.ts +26 -0
- package/dist/components/ai-elements/plan.d.ts.map +1 -0
- package/dist/components/ai-elements/plan.js +32 -0
- package/dist/components/ai-elements/plan.js.map +1 -0
- package/dist/components/ai-elements/prompt-input.d.ts +187 -0
- package/dist/components/ai-elements/prompt-input.d.ts.map +1 -0
- package/dist/components/ai-elements/prompt-input.js +544 -0
- package/dist/components/ai-elements/prompt-input.js.map +1 -0
- package/dist/components/ai-elements/queue.d.ts +62 -0
- package/dist/components/ai-elements/queue.d.ts.map +1 -0
- package/dist/components/ai-elements/queue.js +25 -0
- package/dist/components/ai-elements/queue.js.map +1 -0
- package/dist/components/ai-elements/reasoning.d.ts +17 -0
- package/dist/components/ai-elements/reasoning.d.ts.map +1 -0
- package/dist/components/ai-elements/reasoning.js +77 -0
- package/dist/components/ai-elements/reasoning.js.map +1 -0
- package/dist/components/ai-elements/response.d.ts +6 -0
- package/dist/components/ai-elements/response.d.ts.map +1 -0
- package/dist/components/ai-elements/response.js +8 -0
- package/dist/components/ai-elements/response.js.map +1 -0
- package/dist/components/ai-elements/shimmer.d.ts +10 -0
- package/dist/components/ai-elements/shimmer.d.ts.map +1 -0
- package/dist/components/ai-elements/shimmer.js +19 -0
- package/dist/components/ai-elements/shimmer.js.map +1 -0
- package/dist/components/ai-elements/sources.d.ts +13 -0
- package/dist/components/ai-elements/sources.d.ts.map +1 -0
- package/dist/components/ai-elements/sources.js +10 -0
- package/dist/components/ai-elements/sources.js.map +1 -0
- package/dist/components/ai-elements/suggestion.d.ts +11 -0
- package/dist/components/ai-elements/suggestion.d.ts.map +1 -0
- package/dist/components/ai-elements/suggestion.js +13 -0
- package/dist/components/ai-elements/suggestion.js.map +1 -0
- package/dist/components/ai-elements/task.d.ts +15 -0
- package/dist/components/ai-elements/task.d.ts.map +1 -0
- package/dist/components/ai-elements/task.js +11 -0
- package/dist/components/ai-elements/task.js.map +1 -0
- package/dist/components/ai-elements/tool.d.ts +24 -0
- package/dist/components/ai-elements/tool.d.ts.map +1 -0
- package/dist/components/ai-elements/tool.js +47 -0
- package/dist/components/ai-elements/tool.js.map +1 -0
- package/dist/components/ai-elements/toolbar.d.ts +6 -0
- package/dist/components/ai-elements/toolbar.d.ts.map +1 -0
- package/dist/components/ai-elements/toolbar.js +5 -0
- package/dist/components/ai-elements/toolbar.js.map +1 -0
- package/dist/components/ai-elements/web-preview.d.ts +35 -0
- package/dist/components/ai-elements/web-preview.d.ts.map +1 -0
- package/dist/components/ai-elements/web-preview.js +63 -0
- package/dist/components/ai-elements/web-preview.js.map +1 -0
- package/dist/components/internal/Chat.d.ts +11 -0
- package/dist/components/internal/Chat.d.ts.map +1 -0
- package/dist/components/internal/Chat.js +52 -0
- package/dist/components/internal/Chat.js.map +1 -0
- package/dist/components/internal/Header.d.ts +10 -0
- package/dist/components/internal/Header.d.ts.map +1 -0
- package/dist/components/internal/Header.js +31 -0
- package/dist/components/internal/Header.js.map +1 -0
- package/dist/components/internal/InputSection.d.ts +14 -0
- package/dist/components/internal/InputSection.d.ts.map +1 -0
- package/dist/components/internal/InputSection.js +212 -0
- package/dist/components/internal/InputSection.js.map +1 -0
- package/dist/components/internal/Schema.d.ts +7 -0
- package/dist/components/internal/Schema.d.ts.map +1 -0
- package/dist/components/internal/Schema.js +14 -0
- package/dist/components/internal/Schema.js.map +1 -0
- package/dist/components/internal/WorkbenchProvider.d.ts +11 -0
- package/dist/components/internal/WorkbenchProvider.d.ts.map +1 -0
- package/dist/components/internal/WorkbenchProvider.js +224 -0
- package/dist/components/internal/WorkbenchProvider.js.map +1 -0
- package/dist/components/internal/logo.d.ts +2 -0
- package/dist/components/internal/logo.d.ts.map +1 -0
- package/dist/components/internal/logo.js +5 -0
- package/dist/components/internal/logo.js.map +1 -0
- package/dist/components/ui/alert.d.ts +10 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/alert.js +25 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +7 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar.js +14 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/badge.js +23 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/button.d.ts +3 -4
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.d.ts +2 -1
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +4 -1
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/carousel.d.ts +20 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/carousel.js +92 -0
- package/dist/components/ui/carousel.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox.js +9 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +6 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +14 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/command.d.ts +19 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.js +34 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +16 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog.js +36 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +26 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +52 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/field.d.ts +25 -0
- package/dist/components/ui/field.d.ts.map +1 -0
- package/dist/components/ui/field.js +74 -0
- package/dist/components/ui/field.js.map +1 -0
- package/dist/components/ui/form.d.ts +25 -0
- package/dist/components/ui/form.d.ts.map +1 -0
- package/dist/components/ui/form.js +58 -0
- package/dist/components/ui/form.js.map +1 -0
- package/dist/components/ui/hover-card.d.ts +7 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -0
- package/dist/components/ui/hover-card.js +14 -0
- package/dist/components/ui/hover-card.js.map +1 -0
- package/dist/components/ui/input-group.d.ts +17 -0
- package/dist/components/ui/input-group.d.ts.map +1 -0
- package/dist/components/ui/input-group.js +64 -0
- package/dist/components/ui/input-group.js.map +1 -0
- package/dist/components/ui/input.d.ts +1 -2
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/input.js +3 -5
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/label.d.ts +5 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/label.js +9 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/popover.js +18 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/progress.d.ts +5 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/progress.js +9 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/resizable-provider.d.ts +15 -0
- package/dist/components/ui/resizable-provider.d.ts.map +1 -0
- package/dist/components/ui/resizable-provider.js +54 -0
- package/dist/components/ui/resizable-provider.js.map +1 -0
- package/dist/components/ui/resizable.d.ts +9 -0
- package/dist/components/ui/resizable.d.ts.map +1 -0
- package/dist/components/ui/resizable.js +16 -0
- package/dist/components/ui/resizable.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +11 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +16 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/select.js +39 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.d.ts +5 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/separator.js +9 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/switch.js +8 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +8 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs.js +17 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +4 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/textarea.js +7 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/theme-provider.d.ts +14 -0
- package/dist/components/ui/theme-provider.d.ts.map +1 -0
- package/dist/components/ui/theme-provider.js +37 -0
- package/dist/components/ui/theme-provider.js.map +1 -0
- package/dist/components/ui/theme-toggle.d.ts +2 -0
- package/dist/components/ui/theme-toggle.d.ts.map +1 -0
- package/dist/components/ui/theme-toggle.js +10 -0
- package/dist/components/ui/theme-toggle.js.map +1 -0
- package/dist/components/ui/toggle.d.ts +10 -0
- package/dist/components/ui/toggle.d.ts.map +1 -0
- package/dist/components/ui/toggle.js +26 -0
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.js +17 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/components.d.ts +10 -6
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +11 -36
- package/dist/components.js.map +1 -1
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useAgentSchemas.d.ts +70 -0
- package/dist/hooks/useAgentSchemas.d.ts.map +1 -0
- package/dist/hooks/useAgentSchemas.js +90 -0
- package/dist/hooks/useAgentSchemas.js.map +1 -0
- package/dist/hooks/useWorkbenchSchemas.d.ts +56 -0
- package/dist/hooks/useWorkbenchSchemas.d.ts.map +1 -0
- package/dist/hooks/useWorkbenchSchemas.js +63 -0
- package/dist/hooks/useWorkbenchSchemas.js.map +1 -0
- package/dist/hooks/useWorkbenchWebsocket.d.ts +14 -0
- package/dist/hooks/useWorkbenchWebsocket.d.ts.map +1 -0
- package/dist/hooks/useWorkbenchWebsocket.js +163 -0
- package/dist/hooks/useWorkbenchWebsocket.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -0
- package/dist/styles.css +3423 -196
- package/dist/types/config.d.ts +29 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/workbench.d.ts +1 -2
- package/dist/workbench.d.ts.map +1 -1
- package/dist/workbench.js +0 -2
- package/dist/workbench.js.map +1 -1
- package/package.json +50 -7
- package/src/components/App.tsx +29 -0
- package/src/components/ConnectionStatus.tsx +67 -0
- package/src/components/Inline.tsx +16 -0
- package/src/components/ai-elements/actions.tsx +60 -0
- package/src/components/ai-elements/artifact.tsx +118 -0
- package/src/components/ai-elements/branch.tsx +187 -0
- package/src/components/ai-elements/canvas.tsx +24 -0
- package/src/components/ai-elements/chain-of-thought.tsx +198 -0
- package/src/components/ai-elements/code-block.tsx +175 -0
- package/src/components/ai-elements/confirmation.tsx +119 -0
- package/src/components/ai-elements/connection.tsx +16 -0
- package/src/components/ai-elements/context.tsx +357 -0
- package/src/components/ai-elements/controls.tsx +18 -0
- package/src/components/ai-elements/conversation.tsx +90 -0
- package/src/components/ai-elements/edge.tsx +131 -0
- package/src/components/ai-elements/image.tsx +16 -0
- package/src/components/ai-elements/inline-citation.tsx +246 -0
- package/src/components/ai-elements/loader.tsx +88 -0
- package/src/components/ai-elements/message.tsx +63 -0
- package/src/components/ai-elements/node.tsx +66 -0
- package/src/components/ai-elements/open-in-chat.tsx +333 -0
- package/src/components/ai-elements/panel.tsx +12 -0
- package/src/components/ai-elements/plan.tsx +123 -0
- package/src/components/ai-elements/prompt-input.tsx +1203 -0
- package/src/components/ai-elements/queue.tsx +231 -0
- package/src/components/ai-elements/reasoning.tsx +163 -0
- package/src/components/ai-elements/response.tsx +19 -0
- package/src/components/ai-elements/shimmer.tsx +53 -0
- package/src/components/ai-elements/sources.tsx +53 -0
- package/src/components/ai-elements/suggestion.tsx +47 -0
- package/src/components/ai-elements/task.tsx +64 -0
- package/src/components/ai-elements/tool.tsx +136 -0
- package/src/components/ai-elements/toolbar.tsx +13 -0
- package/src/components/ai-elements/web-preview.tsx +238 -0
- package/src/components/internal/Chat.tsx +183 -0
- package/src/components/internal/Header.tsx +77 -0
- package/src/components/internal/InputSection.tsx +427 -0
- package/src/components/internal/Schema.tsx +111 -0
- package/src/components/internal/WorkbenchProvider.tsx +265 -0
- package/src/components/internal/logo.tsx +11 -0
- package/src/components/ui/alert.tsx +60 -0
- package/src/components/ui/avatar.tsx +42 -0
- package/src/components/ui/badge.tsx +40 -0
- package/src/components/ui/button.tsx +10 -5
- package/src/components/ui/card.tsx +4 -1
- package/src/components/ui/carousel.tsx +234 -0
- package/src/components/ui/checkbox.tsx +27 -0
- package/src/components/ui/collapsible.tsx +21 -0
- package/src/components/ui/command.tsx +153 -0
- package/src/components/ui/dialog.tsx +127 -0
- package/src/components/ui/dropdown-menu.tsx +228 -0
- package/src/components/ui/field.tsx +234 -0
- package/src/components/ui/form.tsx +154 -0
- package/src/components/ui/hover-card.tsx +36 -0
- package/src/components/ui/input-group.tsx +158 -0
- package/src/components/ui/input.tsx +16 -18
- package/src/components/ui/label.tsx +21 -0
- package/src/components/ui/popover.tsx +42 -0
- package/src/components/ui/progress.tsx +28 -0
- package/src/components/ui/resizable-provider.tsx +83 -0
- package/src/components/ui/resizable.tsx +54 -0
- package/src/components/ui/scroll-area.tsx +54 -0
- package/src/components/ui/select.tsx +172 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/switch.tsx +26 -0
- package/src/components/ui/tabs.tsx +52 -0
- package/src/components/ui/textarea.tsx +18 -0
- package/src/components/ui/theme-provider.tsx +71 -0
- package/src/components/ui/theme-toggle.tsx +30 -0
- package/src/components/ui/toggle.tsx +44 -0
- package/src/components/ui/tooltip.tsx +55 -0
- package/src/components.tsx +28 -74
- package/src/hooks/index.ts +19 -0
- package/src/hooks/useAgentSchemas.ts +144 -0
- package/src/hooks/useWorkbenchSchemas.ts +69 -0
- package/src/hooks/useWorkbenchWebsocket.ts +220 -0
- package/src/index.ts +5 -11
- package/src/server.ts +6 -0
- package/src/styles.css +214 -59
- package/src/types/config.ts +34 -0
- package/src/types.ts +1 -1
- package/src/workbench.ts +1 -4
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button } from '../ui/button';
|
|
4
|
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
5
|
+
import { Input } from '../ui/input';
|
|
6
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../ui/tooltip';
|
|
7
|
+
import { cn } from '../../lib/utils';
|
|
8
|
+
import { ChevronDownIcon } from 'lucide-react';
|
|
9
|
+
import { createContext, useContext, useEffect, useState } from 'react';
|
|
10
|
+
const WebPreviewContext = createContext(null);
|
|
11
|
+
const useWebPreview = () => {
|
|
12
|
+
const context = useContext(WebPreviewContext);
|
|
13
|
+
if (!context) {
|
|
14
|
+
throw new Error('WebPreview components must be used within a WebPreview');
|
|
15
|
+
}
|
|
16
|
+
return context;
|
|
17
|
+
};
|
|
18
|
+
export const WebPreview = ({ className, children, defaultUrl = '', onUrlChange, ...props }) => {
|
|
19
|
+
const [url, setUrl] = useState(defaultUrl);
|
|
20
|
+
const [consoleOpen, setConsoleOpen] = useState(false);
|
|
21
|
+
const handleUrlChange = (newUrl) => {
|
|
22
|
+
setUrl(newUrl);
|
|
23
|
+
onUrlChange?.(newUrl);
|
|
24
|
+
};
|
|
25
|
+
const contextValue = {
|
|
26
|
+
url,
|
|
27
|
+
setUrl: handleUrlChange,
|
|
28
|
+
consoleOpen,
|
|
29
|
+
setConsoleOpen,
|
|
30
|
+
};
|
|
31
|
+
return (_jsx(WebPreviewContext.Provider, { value: contextValue, children: _jsx("div", { className: cn('flex size-full flex-col rounded-lg border bg-card', className), ...props, children: children }) }));
|
|
32
|
+
};
|
|
33
|
+
export const WebPreviewNavigation = ({ className, children, ...props }) => (_jsx("div", { className: cn('flex items-center gap-1 border-b p-2', className), ...props, children: children }));
|
|
34
|
+
export const WebPreviewNavigationButton = ({ onClick, disabled, tooltip, children, ...props }) => (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { className: "h-8 w-8 p-0 hover:text-foreground", disabled: disabled, onClick: onClick, size: "sm", variant: "ghost", ...props, children: children }) }), _jsx(TooltipContent, { children: _jsx("p", { children: tooltip }) })] }) }));
|
|
35
|
+
export const WebPreviewUrl = ({ value, onChange, onKeyDown, ...props }) => {
|
|
36
|
+
const { url, setUrl } = useWebPreview();
|
|
37
|
+
const [inputValue, setInputValue] = useState(url);
|
|
38
|
+
// Sync input value with context URL when it changes externally
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
setInputValue(url);
|
|
41
|
+
}, [url]);
|
|
42
|
+
const handleChange = (event) => {
|
|
43
|
+
setInputValue(event.target.value);
|
|
44
|
+
onChange?.(event);
|
|
45
|
+
};
|
|
46
|
+
const handleKeyDown = (event) => {
|
|
47
|
+
if (event.key === 'Enter') {
|
|
48
|
+
const target = event.target;
|
|
49
|
+
setUrl(target.value);
|
|
50
|
+
}
|
|
51
|
+
onKeyDown?.(event);
|
|
52
|
+
};
|
|
53
|
+
return (_jsx(Input, { className: "h-8 flex-1 text-sm", onChange: onChange ?? handleChange, onKeyDown: handleKeyDown, placeholder: "Enter URL...", value: value ?? inputValue, ...props }));
|
|
54
|
+
};
|
|
55
|
+
export const WebPreviewBody = ({ className, loading, src, ...props }) => {
|
|
56
|
+
const { url } = useWebPreview();
|
|
57
|
+
return (_jsxs("div", { className: "flex-1", children: [_jsx("iframe", { className: cn('size-full', className), sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-presentation", src: (src ?? url) || undefined, title: "Preview", ...props }), loading] }));
|
|
58
|
+
};
|
|
59
|
+
export const WebPreviewConsole = ({ className, logs = [], children, ...props }) => {
|
|
60
|
+
const { consoleOpen, setConsoleOpen } = useWebPreview();
|
|
61
|
+
return (_jsxs(Collapsible, { className: cn('border-t bg-muted/50 font-mono text-sm', className), onOpenChange: setConsoleOpen, open: consoleOpen, ...props, children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Button, { className: "flex w-full items-center justify-between p-4 text-left font-medium hover:bg-muted/50", variant: "ghost", children: ["Console", _jsx(ChevronDownIcon, { className: cn('h-4 w-4 transition-transform duration-200', consoleOpen && 'rotate-180') })] }) }), _jsx(CollapsibleContent, { className: cn('px-4 pb-4', 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in'), children: _jsxs("div", { className: "max-h-48 space-y-1 overflow-y-auto", children: [logs.length === 0 ? (_jsx("p", { className: "text-muted-foreground", children: "No console output" })) : (logs.map((log, index) => (_jsxs("div", { className: cn('text-xs', log.level === 'error' && 'text-destructive', log.level === 'warn' && 'text-yellow-600', log.level === 'log' && 'text-foreground'), children: [_jsx("span", { className: "text-muted-foreground", children: log.timestamp.toLocaleTimeString() }), ' ', log.message] }, `${log.timestamp.getTime()}-${index}`)))), children] }) })] }));
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=web-preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-preview.js","sourceRoot":"","sources":["../../../src/components/ai-elements/web-preview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASvE,MAAM,iBAAiB,GAAG,aAAa,CAAgC,IAAI,CAAC,CAAC;AAE7E,MAAM,aAAa,GAAG,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAC1B,SAAS,EACT,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,WAAW,EACX,GAAG,KAAK,EACS,EAAE,EAAE;IACrB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC;QACf,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,YAAY,GAA2B;QAC5C,GAAG;QACH,MAAM,EAAE,eAAe;QACvB,WAAW;QACX,cAAc;KACd,CAAC;IAEF,OAAO,CACN,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC9C,cACC,SAAS,EAAE,EAAE,CAAC,mDAAmD,EAAE,SAAS,CAAC,KACzE,KAAK,YAER,QAAQ,GACJ,GACsB,CAC7B,CAAC;AACH,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACmB,EAAE,EAAE,CAAC,CAChC,cAAK,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,KAAM,KAAK,YAC9E,QAAQ,GACJ,CACN,CAAC;AAMF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAC1C,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACyB,EAAE,EAAE,CAAC,CACtC,KAAC,eAAe,cACf,MAAC,OAAO,eACP,KAAC,cAAc,IAAC,OAAO,kBACtB,KAAC,MAAM,IACN,SAAS,EAAC,mCAAmC,EAC7C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,KACX,KAAK,YAER,QAAQ,GACD,GACO,EACjB,KAAC,cAAc,cACd,sBAAI,OAAO,GAAK,GACA,IACR,GACO,CAClB,CAAC;AAIF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAsB,EAAE,EAAE;IAC7F,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAElD,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACd,aAAa,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,YAAY,GAAG,CAAC,KAA0C,EAAE,EAAE;QACnE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAA4C,EAAE,EAAE;QACtE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACN,KAAC,KAAK,IACL,SAAS,EAAC,oBAAoB,EAC9B,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAClC,SAAS,EAAE,aAAa,EACxB,WAAW,EAAC,cAAc,EAC1B,KAAK,EAAE,KAAK,IAAI,UAAU,KACtB,KAAK,GACR,CACF,CAAC;AACH,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,EAAuB,EAAE,EAAE;IAC5F,MAAM,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IAEhC,OAAO,CACN,eAAK,SAAS,EAAC,QAAQ,aACtB,iBACC,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACrC,OAAO,EAAC,6EAA6E,EACrF,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,SAAS,EAC9B,KAAK,EAAC,SAAS,KACX,KAAK,GACR,EACD,OAAO,IACH,CACN,CAAC;AACH,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EACjC,SAAS,EACT,IAAI,GAAG,EAAE,EACT,QAAQ,EACR,GAAG,KAAK,EACgB,EAAE,EAAE;IAC5B,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IAExD,OAAO,CACN,MAAC,WAAW,IACX,SAAS,EAAE,EAAE,CAAC,wCAAwC,EAAE,SAAS,CAAC,EAClE,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,WAAW,KACb,KAAK,aAET,KAAC,kBAAkB,IAAC,OAAO,kBAC1B,MAAC,MAAM,IACN,SAAS,EAAC,sFAAsF,EAChG,OAAO,EAAC,OAAO,wBAGf,KAAC,eAAe,IACf,SAAS,EAAE,EAAE,CACZ,2CAA2C,EAC3C,WAAW,IAAI,YAAY,CAC3B,GACA,IACM,GACW,EACrB,KAAC,kBAAkB,IAClB,SAAS,EAAE,EAAE,CACZ,WAAW,EACX,+VAA+V,CAC/V,YAED,eAAK,SAAS,EAAC,oCAAoC,aACjD,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,YAAG,SAAS,EAAC,uBAAuB,kCAAsB,CAC1D,CAAC,CAAC,CAAC,CACH,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,eACC,SAAS,EAAE,EAAE,CACZ,SAAS,EACT,GAAG,CAAC,KAAK,KAAK,OAAO,IAAI,kBAAkB,EAC3C,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,iBAAiB,EACzC,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,iBAAiB,CACxC,aAGD,eAAM,SAAS,EAAC,uBAAuB,YACrC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,GAC7B,EAAC,GAAG,EACV,GAAG,CAAC,OAAO,KALP,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAMrC,CACN,CAAC,CACF,EACA,QAAQ,IACJ,GACc,IACR,CACd,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import '../../styles.css';
|
|
2
|
+
export interface ChatProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Chat component - conversation and input area (everything except header)
|
|
7
|
+
* Must be used within WorkbenchProvider
|
|
8
|
+
*/
|
|
9
|
+
export declare function Chat({ className: _className }: ChatProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default Chat;
|
|
11
|
+
//# sourceMappingURL=Chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/internal/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAgB1B,MAAM,WAAW,SAAS;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,2CA4JxD;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import '../../styles.css';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { ChevronRight, Copy, Loader, RefreshCcw } from 'lucide-react';
|
|
5
|
+
import { Action, Actions } from '../ai-elements/actions';
|
|
6
|
+
import { Conversation, ConversationContent, ConversationScrollButton, } from '../ai-elements/conversation';
|
|
7
|
+
import { Message, MessageContent } from '../ai-elements/message';
|
|
8
|
+
import { InputSection } from './InputSection';
|
|
9
|
+
import { Shimmer } from '../ai-elements/shimmer';
|
|
10
|
+
import { cn } from '../../lib/utils';
|
|
11
|
+
import { useWorkbench } from './WorkbenchProvider';
|
|
12
|
+
import { Schema } from './Schema';
|
|
13
|
+
/**
|
|
14
|
+
* Chat component - conversation and input area (everything except header)
|
|
15
|
+
* Must be used within WorkbenchProvider
|
|
16
|
+
*/
|
|
17
|
+
export function Chat({ className: _className }) {
|
|
18
|
+
const { agents, suggestions, messages, selectedAgent, setSelectedAgent, isLoading, submitMessage, } = useWorkbench();
|
|
19
|
+
const [value, setValue] = useState('');
|
|
20
|
+
const [schemaOpen, setSchemaOpen] = useState(false);
|
|
21
|
+
const handleSubmit = async () => {
|
|
22
|
+
const selectedAgentData = agents[selectedAgent];
|
|
23
|
+
const hasInputSchema = selectedAgentData?.schema?.input?.json;
|
|
24
|
+
// If agent has no input schema, submit without requiring input
|
|
25
|
+
if (!hasInputSchema) {
|
|
26
|
+
await submitMessage('');
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// For agents with input schema, require input
|
|
30
|
+
if (!value.trim())
|
|
31
|
+
return;
|
|
32
|
+
await submitMessage(value);
|
|
33
|
+
setValue('');
|
|
34
|
+
};
|
|
35
|
+
return (_jsxs("div", { className: "relative flex flex-1 overflow-hidden", children: [_jsxs("div", { className: cn('flex flex-col flex-1 transition-all duration-300 ease-in-out min-w-0', schemaOpen && 'mr-[600px]'), children: [_jsxs(Conversation, { className: "flex-1 overflow-y-auto", children: [_jsx(ConversationContent, { className: "pb-0", children: messages.map(({ role, parts, id }) => {
|
|
36
|
+
const isStreaming = parts.some((part) => part.type === 'text' && part.state === 'streaming');
|
|
37
|
+
return (_jsxs("div", { className: "mb-2", children: [role === 'assistant' && (_jsxs("div", { className: cn('w-fit flex items-center mb-2 text-muted-foreground text-sm transition-colors', !isStreaming && 'hover:text-foreground cursor-pointer'), children: [_jsx(Loader, { className: cn('size-4 transition-all', isStreaming || isLoading ? 'animate-spin mr-2' : 'w-0 mr-2.5') }), isStreaming || isLoading ? (_jsx(Shimmer, { duration: 1, children: "Running..." })) : (_jsxs(_Fragment, { children: ["Ran for", _jsx("span", { className: "mx-1", children: "2.9s" }), "and consumed", _jsx("span", { className: "mx-1", children: "124 tokens" }), _jsx(ChevronRight, { className: "size-4" })] }))] })), !(isStreaming || isLoading) && (_jsxs(_Fragment, { children: [_jsx(Message, { from: role, className: "p-0", children: _jsx(MessageContent, { children: parts.map((part, index) => {
|
|
38
|
+
switch (part.type) {
|
|
39
|
+
case 'text':
|
|
40
|
+
return (_jsx("div", { children: part.text || '' }, `${id}-${part.text}-${index}`));
|
|
41
|
+
}
|
|
42
|
+
}) }) }, id), _jsxs(Actions, { className: cn('mt-1 gap-0', role === 'user' && 'justify-end'), children: [role === 'user' && (_jsx(Action, { label: "Retry", className: "size-8 hover:bg-transparent!", onClick: () => setValue(parts
|
|
43
|
+
.filter((part) => part.type === 'text')
|
|
44
|
+
.map((part) => part.text)
|
|
45
|
+
.join('')), children: _jsx(RefreshCcw, { className: "size-4" }) })), _jsx(Action, { onClick: () => navigator.clipboard.writeText(parts
|
|
46
|
+
.filter((part) => part.type === 'text')
|
|
47
|
+
.map((part) => part.text)
|
|
48
|
+
.join('')), label: "Copy", className: "size-8 hover:bg-transparent!", children: _jsx(Copy, { className: "size-4" }) })] })] }))] }, id));
|
|
49
|
+
}) }), _jsx(ConversationScrollButton, {})] }), _jsx(InputSection, { value: value, onChange: setValue, onSubmit: handleSubmit, isLoading: isLoading, agents: agents, selectedAgent: selectedAgent, setSelectedAgent: setSelectedAgent, suggestions: suggestions, onSchemaOpen: () => setSchemaOpen(true) })] }), _jsx(Schema, { open: schemaOpen, onOpenChange: setSchemaOpen })] }));
|
|
50
|
+
}
|
|
51
|
+
export default Chat;
|
|
52
|
+
//# sourceMappingURL=Chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../src/components/internal/Chat.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface HeaderProps {
|
|
2
|
+
className?: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Header component - navigation bar with logo, title, and settings
|
|
6
|
+
* Must be used within WorkbenchProvider
|
|
7
|
+
*/
|
|
8
|
+
export declare function Header({ className }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default Header;
|
|
10
|
+
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/internal/Header.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAiCD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,2CA2BhD;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Settings } from 'lucide-react';
|
|
3
|
+
import Logo from './logo';
|
|
4
|
+
import { Button } from '../ui/button';
|
|
5
|
+
import { ThemeToggle } from '../ui/theme-toggle';
|
|
6
|
+
import { useWorkbench } from './WorkbenchProvider';
|
|
7
|
+
function StatusIndicator({ status }) {
|
|
8
|
+
if (status === 'connected') {
|
|
9
|
+
return (_jsxs("div", { className: "flex items-center gap-1.5 text-xs text-green-600 dark:text-green-400", children: [_jsx("div", { className: "w-2 h-2 rounded-full bg-green-500 animate-pulse" }), _jsx("span", { children: "Connected" })] }));
|
|
10
|
+
}
|
|
11
|
+
if (status === 'restarting') {
|
|
12
|
+
return (_jsxs("div", { className: "flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400", children: [_jsx("div", { className: "w-2 h-2 rounded-full bg-amber-500 animate-spin" }), _jsx("span", { children: "Restarting..." })] }));
|
|
13
|
+
}
|
|
14
|
+
if (status === 'disconnected') {
|
|
15
|
+
return (_jsxs("div", { className: "flex items-center gap-1.5 text-xs text-red-600 dark:text-red-400", children: [_jsx("div", { className: "w-2 h-2 rounded-full bg-red-500" }), _jsx("span", { children: "Disconnected" })] }));
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Header component - navigation bar with logo, title, and settings
|
|
21
|
+
* Must be used within WorkbenchProvider
|
|
22
|
+
*/
|
|
23
|
+
export function Header({ className }) {
|
|
24
|
+
const { connectionStatus } = useWorkbench();
|
|
25
|
+
const LogoComponent = Logo;
|
|
26
|
+
const title = 'Workbench';
|
|
27
|
+
const showSettings = true;
|
|
28
|
+
return (_jsxs("nav", { className: `flex items-center justify-between gap-6 py-2 px-4 border-b ${className || ''}`, children: [_jsxs("div", { className: "flex items-center gap-2.5", children: [_jsx(LogoComponent, {}), _jsx("h1", { className: "mt-0.5 text-sm", children: title })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(StatusIndicator, { status: connectionStatus }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(ThemeToggle, {}), showSettings && (_jsx(Button, { size: "icon", variant: "ghost", children: _jsx(Settings, {}) }))] })] })] }));
|
|
29
|
+
}
|
|
30
|
+
export default Header;
|
|
31
|
+
//# sourceMappingURL=Header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/internal/Header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOnD,SAAS,eAAe,CAAC,EAAE,MAAM,EAAgC;IAChE,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CACN,eAAK,SAAS,EAAC,sEAAsE,aACpF,cAAK,SAAS,EAAC,iDAAiD,GAAO,EACvE,uCAAsB,IACjB,CACN,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,CACN,eAAK,SAAS,EAAC,sEAAsE,aACpF,cAAK,SAAS,EAAC,gDAAgD,GAAO,EACtE,2CAA0B,IACrB,CACN,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CACN,eAAK,SAAS,EAAC,kEAAkE,aAChF,cAAK,SAAS,EAAC,iCAAiC,GAAO,EACvD,0CAAyB,IACpB,CACN,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,EAAE,SAAS,EAAe;IAChD,MAAM,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,WAAW,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC;IAE1B,OAAO,CACN,eACC,SAAS,EAAE,8DAA8D,SAAS,IAAI,EAAE,EAAE,aAE1F,eAAK,SAAS,EAAC,2BAA2B,aACzC,KAAC,aAAa,KAAG,EACjB,aAAI,SAAS,EAAC,gBAAgB,YAAE,KAAK,GAAM,IACtC,EACN,eAAK,SAAS,EAAC,yBAAyB,aACvC,KAAC,eAAe,IAAC,MAAM,EAAE,gBAAgB,GAAI,EAC7C,eAAK,SAAS,EAAC,yBAAyB,aACvC,KAAC,WAAW,KAAG,EACd,YAAY,IAAI,CAChB,KAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,YAClC,KAAC,QAAQ,KAAG,GACJ,CACT,IACI,IACD,IACD,CACN,CAAC;AACH,CAAC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentSchemaData } from '../../hooks/useAgentSchemas';
|
|
2
|
+
export interface InputSectionProps {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
onSubmit: () => void | Promise<void>;
|
|
6
|
+
isLoading: boolean;
|
|
7
|
+
agents: Record<string, AgentSchemaData>;
|
|
8
|
+
selectedAgent: string;
|
|
9
|
+
setSelectedAgent: (agentId: string) => void;
|
|
10
|
+
suggestions: string[];
|
|
11
|
+
onSchemaOpen: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function InputSection({ value, onChange, onSubmit, isLoading, agents, selectedAgent, setSelectedAgent, suggestions, onSchemaOpen, }: InputSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=InputSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputSection.d.ts","sourceRoot":"","sources":["../../../src/components/internal/InputSection.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAKnE,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;CACzB;AAcD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,YAAY,GACZ,EAAE,iBAAiB,2CAsWnB"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { CheckIcon, ChevronsUpDownIcon, FileJson, SendIcon, Loader2Icon, Sparkles, } from 'lucide-react';
|
|
4
|
+
import { init } from 'modern-monaco';
|
|
5
|
+
import { PromptInput, PromptInputBody, PromptInputFooter, PromptInputTextarea, } from '../ai-elements/prompt-input';
|
|
6
|
+
import { Button } from '../ui/button';
|
|
7
|
+
import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from '../ui/command';
|
|
8
|
+
import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
|
|
9
|
+
import { Select, SelectContent, SelectItem, SelectTrigger } from '../ui/select';
|
|
10
|
+
import { cn } from '../../lib/utils';
|
|
11
|
+
import { convertJsonSchemaToZod } from 'zod-from-json-schema';
|
|
12
|
+
import { zocker } from 'zocker';
|
|
13
|
+
function isSchemaRootObject(schemaJson) {
|
|
14
|
+
if (!schemaJson)
|
|
15
|
+
return false;
|
|
16
|
+
try {
|
|
17
|
+
return (schemaJson.type === 'object' ||
|
|
18
|
+
(schemaJson.type === undefined && schemaJson.properties !== undefined));
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function InputSection({ value, onChange, onSubmit, isLoading, agents, selectedAgent, setSelectedAgent, suggestions, onSchemaOpen, }) {
|
|
25
|
+
const [agentSelectOpen, setAgentSelectOpen] = useState(false);
|
|
26
|
+
const monacoEditorRef = useRef(null);
|
|
27
|
+
const editorInstanceRef = useRef(null);
|
|
28
|
+
const selectedAgentData = agents[selectedAgent];
|
|
29
|
+
// Determine input type for switch case
|
|
30
|
+
const inputType = useMemo(() => {
|
|
31
|
+
const schema = selectedAgentData?.schema?.input?.json;
|
|
32
|
+
if (!schema) {
|
|
33
|
+
return 'none'; // Agent has no input schema
|
|
34
|
+
}
|
|
35
|
+
if (isSchemaRootObject(schema)) {
|
|
36
|
+
return 'object'; // Complex object schema
|
|
37
|
+
}
|
|
38
|
+
if (schema.type === 'string') {
|
|
39
|
+
return 'string'; // String schema
|
|
40
|
+
}
|
|
41
|
+
return 'none'; // Default to none for other types
|
|
42
|
+
}, [selectedAgentData?.schema.input?.json]);
|
|
43
|
+
const isObjectSchema = inputType === 'object';
|
|
44
|
+
const handleGenerateSample = () => {
|
|
45
|
+
if (!selectedAgentData?.schema.input?.json || !isObjectSchema)
|
|
46
|
+
return;
|
|
47
|
+
try {
|
|
48
|
+
const jsonSchema = selectedAgentData.schema.input.json;
|
|
49
|
+
const schemaObject = typeof jsonSchema === 'string' ? JSON.parse(jsonSchema) : jsonSchema;
|
|
50
|
+
const zodSchema = convertJsonSchemaToZod(schemaObject);
|
|
51
|
+
const sampleData = zocker(zodSchema).generate();
|
|
52
|
+
const sampleJson = JSON.stringify(sampleData, null, 2);
|
|
53
|
+
onChange(sampleJson);
|
|
54
|
+
// Update Monaco editor directly if it exists
|
|
55
|
+
if (editorInstanceRef.current) {
|
|
56
|
+
editorInstanceRef.current.setValue(sampleJson);
|
|
57
|
+
editorInstanceRef.current.layout();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error('Failed to generate sample JSON:', error);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (!isObjectSchema || !monacoEditorRef.current) {
|
|
66
|
+
if (editorInstanceRef.current) {
|
|
67
|
+
editorInstanceRef.current.dispose();
|
|
68
|
+
editorInstanceRef.current = null;
|
|
69
|
+
}
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
let isMounted = true;
|
|
73
|
+
let disposed = false;
|
|
74
|
+
let resizeObserver = null;
|
|
75
|
+
init({
|
|
76
|
+
theme: 'vitesse-dark',
|
|
77
|
+
langs: ['json'],
|
|
78
|
+
}).then((monaco) => {
|
|
79
|
+
if (!isMounted || !monacoEditorRef.current)
|
|
80
|
+
return;
|
|
81
|
+
if (editorInstanceRef.current) {
|
|
82
|
+
editorInstanceRef.current.dispose();
|
|
83
|
+
}
|
|
84
|
+
// Configure JSON schema if available
|
|
85
|
+
const jsonSchema = selectedAgentData?.schema.input?.json;
|
|
86
|
+
if (jsonSchema) {
|
|
87
|
+
// Parse schema if it's a string, otherwise use directly
|
|
88
|
+
const schemaObject = typeof jsonSchema === 'string' ? JSON.parse(jsonSchema) : jsonSchema;
|
|
89
|
+
// Access json namespace directly from monaco
|
|
90
|
+
if ('json' in monaco && typeof monaco.json === 'object' && monaco.json !== null) {
|
|
91
|
+
const jsonModule = monaco.json;
|
|
92
|
+
if ('jsonDefaults' in jsonModule &&
|
|
93
|
+
typeof jsonModule.jsonDefaults === 'object' &&
|
|
94
|
+
jsonModule.jsonDefaults !== null) {
|
|
95
|
+
const jsonDefaults = jsonModule.jsonDefaults;
|
|
96
|
+
if ('setDiagnosticsOptions' in jsonDefaults &&
|
|
97
|
+
typeof jsonDefaults.setDiagnosticsOptions === 'function') {
|
|
98
|
+
jsonDefaults.setDiagnosticsOptions({
|
|
99
|
+
validate: true,
|
|
100
|
+
schemas: [
|
|
101
|
+
{
|
|
102
|
+
// URI is just an identifier, doesn't need to be a real URL
|
|
103
|
+
uri: `agentuity://schema/${selectedAgentData.metadata.id}/input`,
|
|
104
|
+
fileMatch: ['*'],
|
|
105
|
+
schema: schemaObject,
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Set initial height
|
|
114
|
+
const container = monacoEditorRef.current;
|
|
115
|
+
container.style.height = '64px'; // min-h-16 = 4rem = 64px
|
|
116
|
+
const editor = monaco.editor.create(container, {
|
|
117
|
+
value: value || '{}',
|
|
118
|
+
language: 'json',
|
|
119
|
+
minimap: { enabled: false },
|
|
120
|
+
fontSize: 14,
|
|
121
|
+
lineNumbers: 'off',
|
|
122
|
+
scrollBeyondLastLine: false,
|
|
123
|
+
wordWrap: 'on',
|
|
124
|
+
automaticLayout: true,
|
|
125
|
+
scrollbar: {
|
|
126
|
+
vertical: 'auto',
|
|
127
|
+
horizontal: 'auto',
|
|
128
|
+
},
|
|
129
|
+
padding: { top: 12, bottom: 12 },
|
|
130
|
+
});
|
|
131
|
+
// Make background transparent
|
|
132
|
+
setTimeout(() => {
|
|
133
|
+
if (disposed)
|
|
134
|
+
return;
|
|
135
|
+
const editorElement = container.querySelector('.monaco-editor');
|
|
136
|
+
if (editorElement) {
|
|
137
|
+
editorElement.style.backgroundColor = 'transparent';
|
|
138
|
+
}
|
|
139
|
+
const backgroundElement = container.querySelector('.monaco-editor .monaco-editor-background');
|
|
140
|
+
if (backgroundElement) {
|
|
141
|
+
backgroundElement.style.backgroundColor = 'transparent';
|
|
142
|
+
}
|
|
143
|
+
const viewLines = container.querySelector('.monaco-editor .view-lines');
|
|
144
|
+
if (viewLines) {
|
|
145
|
+
viewLines.style.backgroundColor = 'transparent';
|
|
146
|
+
}
|
|
147
|
+
}, 0);
|
|
148
|
+
editor.onDidChangeModelContent(() => {
|
|
149
|
+
const newValue = editor.getValue();
|
|
150
|
+
onChange(newValue);
|
|
151
|
+
// Auto-resize based on content
|
|
152
|
+
if (container) {
|
|
153
|
+
const contentHeight = editor.getContentHeight();
|
|
154
|
+
const maxHeight = 192; // max-h-48 = 12rem = 192px
|
|
155
|
+
const minHeight = 64; // min-h-16 = 4rem = 64px
|
|
156
|
+
const newHeight = Math.min(Math.max(contentHeight + 24, minHeight), maxHeight);
|
|
157
|
+
container.style.height = `${newHeight}px`;
|
|
158
|
+
editor.layout();
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
// Resize observer for container size changes
|
|
162
|
+
resizeObserver = new ResizeObserver(() => {
|
|
163
|
+
if (!disposed && editor && isMounted) {
|
|
164
|
+
editor.layout();
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
resizeObserver.observe(container);
|
|
168
|
+
// Force layout update after creation
|
|
169
|
+
setTimeout(() => {
|
|
170
|
+
if (disposed)
|
|
171
|
+
return;
|
|
172
|
+
editor.layout();
|
|
173
|
+
}, 0);
|
|
174
|
+
editorInstanceRef.current = editor;
|
|
175
|
+
});
|
|
176
|
+
return () => {
|
|
177
|
+
isMounted = false;
|
|
178
|
+
disposed = true;
|
|
179
|
+
if (resizeObserver) {
|
|
180
|
+
resizeObserver.disconnect();
|
|
181
|
+
}
|
|
182
|
+
if (editorInstanceRef.current) {
|
|
183
|
+
editorInstanceRef.current.dispose();
|
|
184
|
+
editorInstanceRef.current = null;
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
}, [isObjectSchema, onChange, selectedAgentData]);
|
|
188
|
+
useEffect(() => {
|
|
189
|
+
if (isObjectSchema && editorInstanceRef.current) {
|
|
190
|
+
const currentValue = editorInstanceRef.current.getValue();
|
|
191
|
+
if (currentValue !== value) {
|
|
192
|
+
editorInstanceRef.current.setValue(value || '{}');
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}, [value, isObjectSchema]);
|
|
196
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center gap-2 py-2 px-3", children: [_jsxs(Popover, { open: agentSelectOpen, onOpenChange: setAgentSelectOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { "aria-expanded": agentSelectOpen, className: "font-normal bg-transparent dark:bg-transparent", variant: "outline", size: "sm", children: [agents[selectedAgent]?.metadata.name || 'Select agent', _jsx(ChevronsUpDownIcon, { className: "size-4 shrink-0 opacity-50" })] }) }), _jsx(PopoverContent, { className: "w-fit p-0", children: _jsxs(Command, { children: [_jsx(CommandInput, { placeholder: "Search agents..." }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: "No agents found." }), _jsx(CommandGroup, { children: Object.values(agents).map((agent) => (_jsxs(CommandItem, { value: agent.metadata.identifier, onSelect: (currentValue) => {
|
|
197
|
+
setSelectedAgent(currentValue);
|
|
198
|
+
setAgentSelectOpen(false);
|
|
199
|
+
}, children: [_jsx(CheckIcon, { className: cn('size-4 text-green-500', selectedAgent === agent.metadata.identifier
|
|
200
|
+
? 'opacity-100'
|
|
201
|
+
: 'opacity-0') }), agent.metadata.name] }, agent.metadata.identifier))) })] })] }) })] }), suggestions.length > 0 && (_jsxs(Select, { onValueChange: (value) => onChange(value), children: [_jsx(SelectTrigger, { size: "sm", className: "ml-auto bg-transparent dark:bg-transparent text-foreground!", children: "Suggestions" }), _jsx(SelectContent, { className: "text-sm", side: "top", align: "end", children: suggestions.map((suggestion) => (_jsx(SelectItem, { value: suggestion, children: suggestion }, suggestion))) })] })), isObjectSchema && (_jsxs(Button, { "aria-label": "Generate Sample JSON", size: "sm", variant: "outline", className: "bg-none font-normal", onClick: handleGenerateSample, children: [_jsx(Sparkles, { className: "size-4" }), " Sample"] })), _jsxs(Button, { "aria-label": "View Schema", size: "sm", variant: "outline", className: "bg-none font-normal", onClick: onSchemaOpen, children: [_jsx(FileJson, { className: "size-4" }), " Schema"] })] }), _jsxs(PromptInput, { onSubmit: onSubmit, className: "px-3 pb-3", children: [_jsx(PromptInputBody, { children: (() => {
|
|
202
|
+
switch (inputType) {
|
|
203
|
+
case 'object':
|
|
204
|
+
return (_jsx("div", { ref: monacoEditorRef, className: "w-full rounded-md bg-transparent overflow-hidden", style: { minHeight: '64px', maxHeight: '192px', height: '64px' } }));
|
|
205
|
+
case 'string':
|
|
206
|
+
return (_jsx(PromptInputTextarea, { placeholder: "Enter a message to send...", value: value, onChange: (e) => onChange(e.target.value) }));
|
|
207
|
+
default:
|
|
208
|
+
return (_jsxs("div", { className: "flex flex-col items-center justify-center py-8 px-4 text-center ", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: _jsxs("span", { className: "font-medium", children: ["This agent has not input schema.", ' '] }) }), _jsxs(Button, { "aria-label": "Run Agent", size: "sm", variant: "default", disabled: isLoading, onClick: onSubmit, className: "mt-2", children: [isLoading ? (_jsx(Loader2Icon, { className: "size-4 animate-spin mr-2" })) : (_jsx(SendIcon, { className: "size-4 mr-2" })), "Run Agent"] })] }));
|
|
209
|
+
}
|
|
210
|
+
})() }), _jsx(PromptInputFooter, { children: inputType !== 'none' && (_jsx(Button, { "aria-label": "Submit", size: "icon", variant: "default", disabled: isLoading || (inputType === 'string' && !value.trim()), onClick: onSubmit, className: "ml-auto", children: isLoading ? (_jsx(Loader2Icon, { className: "size-4 animate-spin" })) : (_jsx(SendIcon, { className: "size-4" })) })) })] })] }));
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=InputSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputSection.js","sourceRoot":"","sources":["../../../src/components/internal/InputSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface SchemaProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
onOpenChange: (open: boolean) => void;
|
|
4
|
+
}
|
|
5
|
+
export declare function Schema({ open, onOpenChange }: SchemaProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default Schema;
|
|
7
|
+
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/components/internal/Schema.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,WAAW,2CA+FzD;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { X, FileJson } from 'lucide-react';
|
|
3
|
+
import { Button } from '../ui/button';
|
|
4
|
+
import { CodeBlock, CodeBlockCopyButton } from '../ai-elements/code-block';
|
|
5
|
+
import { ScrollArea } from '../ui/scroll-area';
|
|
6
|
+
import { cn } from '../../lib/utils';
|
|
7
|
+
import { useWorkbench } from './WorkbenchProvider';
|
|
8
|
+
export function Schema({ open, onOpenChange }) {
|
|
9
|
+
const { agents, selectedAgent, schemasLoading, schemasError } = useWorkbench();
|
|
10
|
+
const selectedAgentData = agents[selectedAgent] || null;
|
|
11
|
+
return (_jsx(_Fragment, { children: _jsxs("div", { className: cn('absolute top-0 right-0 h-full w-[600px] max-w-[90vw] bg-background border-l border-border z-50 shadow-xl transition-transform duration-300 ease-in-out flex flex-col', open ? 'translate-x-0' : 'translate-x-full'), children: [_jsxs("div", { className: "flex items-center justify-between p-4 border-b border-border", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(FileJson, { className: "size-5 text-muted-foreground" }), _jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Schema" }), selectedAgentData && (_jsx("p", { className: "text-sm text-muted-foreground", children: selectedAgentData.metadata.name }))] })] }), _jsx(Button, { variant: "ghost", size: "icon", onClick: () => onOpenChange(false), className: "size-8", children: _jsx(X, { className: "size-4" }) })] }), _jsx(ScrollArea, { className: "flex-1", children: _jsxs("div", { className: "p-6 space-y-6", children: [schemasLoading && (_jsx("div", { className: "text-center text-muted-foreground py-8", children: "Loading schemas..." })), schemasError && (_jsxs("div", { className: "rounded-md bg-destructive/10 text-destructive p-4", children: [_jsx("p", { className: "font-medium", children: "Error loading schemas" }), _jsx("p", { className: "text-sm mt-1", children: schemasError.message })] })), !schemasLoading && !schemasError && !selectedAgentData && (_jsx("div", { className: "text-center text-muted-foreground py-8", children: _jsx("p", { children: "No schema available for selected agent" }) })), !schemasLoading && !schemasError && selectedAgentData && (_jsxs(_Fragment, { children: [selectedAgentData.schema.input?.code ? (_jsxs("div", { className: "space-y-2", children: [_jsx("h3", { className: "text-sm font-semibold text-muted-foreground uppercase tracking-wide", children: "Input Schema" }), _jsx(CodeBlock, { code: selectedAgentData.schema.input?.code, language: "typescript", children: _jsx(CodeBlockCopyButton, {}) })] })) : null, selectedAgentData.schema.output?.code ? (_jsxs("div", { className: "space-y-2", children: [_jsx("h3", { className: "text-sm font-semibold text-muted-foreground uppercase tracking-wide", children: "Output Schema" }), _jsx(CodeBlock, { code: selectedAgentData.schema.output?.code, language: "typescript", children: _jsx(CodeBlockCopyButton, {}) })] })) : null] }))] }) })] }) }));
|
|
12
|
+
}
|
|
13
|
+
export default Schema;
|
|
14
|
+
//# sourceMappingURL=Schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/components/internal/Schema.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { WorkbenchConfig } from '@agentuity/core/workbench';
|
|
3
|
+
import type { WorkbenchContextType } from '../../types/config';
|
|
4
|
+
export declare function useWorkbench(): WorkbenchContextType;
|
|
5
|
+
interface WorkbenchProviderProps {
|
|
6
|
+
config: WorkbenchConfig;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare function WorkbenchProvider({ config, children }: WorkbenchProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=WorkbenchProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkbenchProvider.d.ts","sourceRoot":"","sources":["../../../src/components/internal/WorkbenchProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAoB,MAAM,oBAAoB,CAAC;AAMjF,wBAAgB,YAAY,yBAM3B;AAED,UAAU,sBAAsB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAkP7E"}
|