@agentuity/workbench 0.0.87 → 0.0.89
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.map +1 -1
- package/dist/components/App.js +18 -2
- package/dist/components/App.js.map +1 -1
- package/dist/components/ai-elements/code-block.d.ts +3 -3
- package/dist/components/ai-elements/code-block.d.ts.map +1 -1
- package/dist/components/ai-elements/code-block.js +29 -7
- package/dist/components/ai-elements/code-block.js.map +1 -1
- package/dist/components/internal/Chat.d.ts +3 -2
- package/dist/components/internal/Chat.d.ts.map +1 -1
- package/dist/components/internal/Chat.js +23 -24
- package/dist/components/internal/Chat.js.map +1 -1
- package/dist/components/internal/MonacoJsonEditor.d.ts.map +1 -1
- package/dist/components/internal/MonacoJsonEditor.js +10 -53
- package/dist/components/internal/MonacoJsonEditor.js.map +1 -1
- package/dist/components/internal/Schema.d.ts +1 -2
- package/dist/components/internal/Schema.d.ts.map +1 -1
- package/dist/components/internal/Schema.js +2 -3
- package/dist/components/internal/Schema.js.map +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/input.js.map +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/{styles.css → standalone.css} +207 -1537
- package/package.json +29 -29
- package/src/{styles.css → base.css} +36 -52
- package/src/components/App.tsx +41 -5
- package/src/components/ai-elements/code-block.tsx +42 -10
- package/src/components/internal/Chat.tsx +112 -120
- package/src/components/internal/MonacoJsonEditor.tsx +15 -63
- package/src/components/internal/Schema.tsx +74 -86
- package/src/components/ui/input.tsx +2 -3
- package/src/index.ts +5 -14
- package/src/integration.css +15 -0
- package/src/standalone.css +25 -0
- package/dist/components/ConnectionStatus.d.ts +0 -7
- package/dist/components/ConnectionStatus.d.ts.map +0 -1
- package/dist/components/ConnectionStatus.js +0 -52
- package/dist/components/ConnectionStatus.js.map +0 -1
- package/dist/components/Inline.d.ts +0 -10
- package/dist/components/Inline.d.ts.map +0 -1
- package/dist/components/Inline.js +0 -11
- package/dist/components/Inline.js.map +0 -1
- package/dist/components/ai-elements/artifact.d.ts +0 -24
- package/dist/components/ai-elements/artifact.d.ts.map +0 -1
- package/dist/components/ai-elements/artifact.js +0 -21
- package/dist/components/ai-elements/artifact.js.map +0 -1
- package/dist/components/ai-elements/branch.d.ts +0 -21
- package/dist/components/ai-elements/branch.d.ts.map +0 -1
- package/dist/components/ai-elements/branch.js +0 -71
- package/dist/components/ai-elements/branch.js.map +0 -1
- package/dist/components/ai-elements/canvas.d.ts +0 -9
- package/dist/components/ai-elements/canvas.d.ts.map +0 -1
- package/dist/components/ai-elements/canvas.js +0 -6
- package/dist/components/ai-elements/canvas.js.map +0 -1
- package/dist/components/ai-elements/chain-of-thought.d.ts +0 -30
- package/dist/components/ai-elements/chain-of-thought.d.ts.map +0 -1
- package/dist/components/ai-elements/chain-of-thought.js +0 -52
- package/dist/components/ai-elements/chain-of-thought.js.map +0 -1
- package/dist/components/ai-elements/confirmation.d.ts +0 -27
- package/dist/components/ai-elements/confirmation.d.ts.map +0 -1
- package/dist/components/ai-elements/confirmation.js +0 -57
- package/dist/components/ai-elements/confirmation.js.map +0 -1
- package/dist/components/ai-elements/connection.d.ts +0 -3
- package/dist/components/ai-elements/connection.d.ts.map +0 -1
- package/dist/components/ai-elements/connection.js +0 -4
- package/dist/components/ai-elements/connection.js.map +0 -1
- package/dist/components/ai-elements/context.d.ts +0 -33
- package/dist/components/ai-elements/context.d.ts.map +0 -1
- package/dist/components/ai-elements/context.js +0 -167
- package/dist/components/ai-elements/context.js.map +0 -1
- package/dist/components/ai-elements/controls.d.ts +0 -5
- package/dist/components/ai-elements/controls.d.ts.map +0 -1
- package/dist/components/ai-elements/controls.js +0 -6
- package/dist/components/ai-elements/controls.js.map +0 -1
- package/dist/components/ai-elements/edge.d.ts +0 -6
- package/dist/components/ai-elements/edge.d.ts.map +0 -1
- package/dist/components/ai-elements/edge.js +0 -83
- package/dist/components/ai-elements/edge.js.map +0 -1
- package/dist/components/ai-elements/image.d.ts +0 -7
- package/dist/components/ai-elements/image.d.ts.map +0 -1
- package/dist/components/ai-elements/image.js +0 -4
- package/dist/components/ai-elements/image.js.map +0 -1
- package/dist/components/ai-elements/inline-citation.d.ts +0 -39
- package/dist/components/ai-elements/inline-citation.d.ts.map +0 -1
- package/dist/components/ai-elements/inline-citation.js +0 -62
- package/dist/components/ai-elements/inline-citation.js.map +0 -1
- package/dist/components/ai-elements/loader.d.ts +0 -6
- package/dist/components/ai-elements/loader.d.ts.map +0 -1
- package/dist/components/ai-elements/loader.js +0 -5
- package/dist/components/ai-elements/loader.js.map +0 -1
- package/dist/components/ai-elements/node.d.ts +0 -22
- package/dist/components/ai-elements/node.d.ts.map +0 -1
- package/dist/components/ai-elements/node.js +0 -12
- package/dist/components/ai-elements/node.js.map +0 -1
- package/dist/components/ai-elements/open-in-chat.d.ts +0 -29
- package/dist/components/ai-elements/open-in-chat.d.ts.map +0 -1
- package/dist/components/ai-elements/open-in-chat.js +0 -97
- package/dist/components/ai-elements/open-in-chat.js.map +0 -1
- package/dist/components/ai-elements/panel.d.ts +0 -6
- package/dist/components/ai-elements/panel.d.ts.map +0 -1
- package/dist/components/ai-elements/panel.js +0 -5
- package/dist/components/ai-elements/panel.js.map +0 -1
- package/dist/components/ai-elements/plan.d.ts +0 -26
- package/dist/components/ai-elements/plan.d.ts.map +0 -1
- package/dist/components/ai-elements/plan.js +0 -32
- package/dist/components/ai-elements/plan.js.map +0 -1
- package/dist/components/ai-elements/queue.d.ts +0 -62
- package/dist/components/ai-elements/queue.d.ts.map +0 -1
- package/dist/components/ai-elements/queue.js +0 -25
- package/dist/components/ai-elements/queue.js.map +0 -1
- package/dist/components/ai-elements/reasoning.d.ts +0 -17
- package/dist/components/ai-elements/reasoning.d.ts.map +0 -1
- package/dist/components/ai-elements/reasoning.js +0 -77
- package/dist/components/ai-elements/reasoning.js.map +0 -1
- package/dist/components/ai-elements/response.d.ts +0 -6
- package/dist/components/ai-elements/response.d.ts.map +0 -1
- package/dist/components/ai-elements/response.js +0 -8
- package/dist/components/ai-elements/response.js.map +0 -1
- package/dist/components/ai-elements/sources.d.ts +0 -13
- package/dist/components/ai-elements/sources.d.ts.map +0 -1
- package/dist/components/ai-elements/sources.js +0 -10
- package/dist/components/ai-elements/sources.js.map +0 -1
- package/dist/components/ai-elements/suggestion.d.ts +0 -11
- package/dist/components/ai-elements/suggestion.d.ts.map +0 -1
- package/dist/components/ai-elements/suggestion.js +0 -13
- package/dist/components/ai-elements/suggestion.js.map +0 -1
- package/dist/components/ai-elements/task.d.ts +0 -15
- package/dist/components/ai-elements/task.d.ts.map +0 -1
- package/dist/components/ai-elements/task.js +0 -11
- package/dist/components/ai-elements/task.js.map +0 -1
- package/dist/components/ai-elements/tool.d.ts +0 -24
- package/dist/components/ai-elements/tool.d.ts.map +0 -1
- package/dist/components/ai-elements/tool.js +0 -47
- package/dist/components/ai-elements/tool.js.map +0 -1
- package/dist/components/ai-elements/toolbar.d.ts +0 -6
- package/dist/components/ai-elements/toolbar.d.ts.map +0 -1
- package/dist/components/ai-elements/toolbar.js +0 -5
- package/dist/components/ai-elements/toolbar.js.map +0 -1
- package/dist/components/ai-elements/web-preview.d.ts +0 -35
- package/dist/components/ai-elements/web-preview.d.ts.map +0 -1
- package/dist/components/ai-elements/web-preview.js +0 -63
- package/dist/components/ai-elements/web-preview.js.map +0 -1
- package/dist/components/ui/alert.d.ts +0 -10
- package/dist/components/ui/alert.d.ts.map +0 -1
- package/dist/components/ui/alert.js +0 -25
- package/dist/components/ui/alert.js.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -10
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/badge.js +0 -23
- package/dist/components/ui/badge.js.map +0 -1
- package/dist/components/ui/card.d.ts +0 -10
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/card.js +0 -25
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/carousel.d.ts +0 -20
- package/dist/components/ui/carousel.d.ts.map +0 -1
- package/dist/components/ui/carousel.js +0 -92
- package/dist/components/ui/carousel.js.map +0 -1
- package/dist/components/ui/checkbox.d.ts +0 -5
- package/dist/components/ui/checkbox.d.ts.map +0 -1
- package/dist/components/ui/checkbox.js +0 -9
- package/dist/components/ui/checkbox.js.map +0 -1
- package/dist/components/ui/collapsible.d.ts +0 -6
- package/dist/components/ui/collapsible.d.ts.map +0 -1
- package/dist/components/ui/collapsible.js +0 -14
- package/dist/components/ui/collapsible.js.map +0 -1
- package/dist/components/ui/field.d.ts +0 -25
- package/dist/components/ui/field.d.ts.map +0 -1
- package/dist/components/ui/field.js +0 -74
- package/dist/components/ui/field.js.map +0 -1
- package/dist/components/ui/form.d.ts +0 -25
- package/dist/components/ui/form.d.ts.map +0 -1
- package/dist/components/ui/form.js +0 -58
- package/dist/components/ui/form.js.map +0 -1
- package/dist/components/ui/label.d.ts +0 -5
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/label.js +0 -9
- package/dist/components/ui/label.js.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -5
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/progress.js +0 -9
- package/dist/components/ui/progress.js.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -5
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/separator.js +0 -9
- package/dist/components/ui/separator.js.map +0 -1
- package/dist/components/ui/switch.d.ts +0 -5
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/switch.js +0 -8
- package/dist/components/ui/switch.js.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/tabs.js +0 -17
- package/dist/components/ui/tabs.js.map +0 -1
- package/dist/components/ui/toggle.d.ts +0 -10
- package/dist/components/ui/toggle.d.ts.map +0 -1
- package/dist/components/ui/toggle.js +0 -26
- package/dist/components/ui/toggle.js.map +0 -1
- package/dist/components.d.ts +0 -12
- package/dist/components.d.ts.map +0 -1
- package/dist/components.js +0 -13
- package/dist/components.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -7
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -5
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useWorkbenchSchemas.d.ts +0 -56
- package/dist/hooks/useWorkbenchSchemas.d.ts.map +0 -1
- package/dist/hooks/useWorkbenchSchemas.js +0 -63
- package/dist/hooks/useWorkbenchSchemas.js.map +0 -1
- package/src/components/ConnectionStatus.tsx +0 -67
- package/src/components/Inline.tsx +0 -16
- package/src/components/ai-elements/artifact.tsx +0 -118
- package/src/components/ai-elements/branch.tsx +0 -187
- package/src/components/ai-elements/canvas.tsx +0 -24
- package/src/components/ai-elements/chain-of-thought.tsx +0 -198
- package/src/components/ai-elements/confirmation.tsx +0 -119
- package/src/components/ai-elements/connection.tsx +0 -16
- package/src/components/ai-elements/context.tsx +0 -357
- package/src/components/ai-elements/controls.tsx +0 -18
- package/src/components/ai-elements/edge.tsx +0 -131
- package/src/components/ai-elements/image.tsx +0 -16
- package/src/components/ai-elements/inline-citation.tsx +0 -246
- package/src/components/ai-elements/loader.tsx +0 -88
- package/src/components/ai-elements/node.tsx +0 -66
- package/src/components/ai-elements/open-in-chat.tsx +0 -333
- package/src/components/ai-elements/panel.tsx +0 -12
- package/src/components/ai-elements/plan.tsx +0 -123
- package/src/components/ai-elements/queue.tsx +0 -231
- package/src/components/ai-elements/reasoning.tsx +0 -163
- package/src/components/ai-elements/response.tsx +0 -19
- package/src/components/ai-elements/sources.tsx +0 -53
- package/src/components/ai-elements/suggestion.tsx +0 -47
- package/src/components/ai-elements/task.tsx +0 -64
- package/src/components/ai-elements/tool.tsx +0 -136
- package/src/components/ai-elements/toolbar.tsx +0 -13
- package/src/components/ai-elements/web-preview.tsx +0 -238
- package/src/components/ui/alert.tsx +0 -60
- package/src/components/ui/badge.tsx +0 -40
- package/src/components/ui/card.tsx +0 -41
- package/src/components/ui/carousel.tsx +0 -234
- package/src/components/ui/checkbox.tsx +0 -27
- package/src/components/ui/collapsible.tsx +0 -21
- package/src/components/ui/field.tsx +0 -234
- package/src/components/ui/form.tsx +0 -154
- package/src/components/ui/label.tsx +0 -21
- package/src/components/ui/progress.tsx +0 -28
- package/src/components/ui/separator.tsx +0 -28
- package/src/components/ui/switch.tsx +0 -26
- package/src/components/ui/tabs.tsx +0 -52
- package/src/components/ui/toggle.tsx +0 -44
- package/src/components.tsx +0 -29
- package/src/hooks/index.ts +0 -20
- package/src/hooks/useWorkbenchSchemas.ts +0 -69
|
@@ -1,25 +0,0 @@
|
|
|
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 { ScrollArea } from '../ui/scroll-area';
|
|
6
|
-
import { cn } from '../../lib/utils';
|
|
7
|
-
import { ChevronDownIcon, PaperclipIcon } from 'lucide-react';
|
|
8
|
-
export const QueueItem = ({ className, ...props }) => (_jsx("li", { className: cn('group flex flex-col gap-1 rounded-md px-3 py-1 text-sm transition-colors hover:bg-muted', className), ...props }));
|
|
9
|
-
export const QueueItemIndicator = ({ completed = false, className, ...props }) => (_jsx("span", { className: cn('mt-0.5 inline-block size-2.5 rounded-full border', completed
|
|
10
|
-
? 'border-muted-foreground/20 bg-muted-foreground/10'
|
|
11
|
-
: 'border-muted-foreground/50', className), ...props }));
|
|
12
|
-
export const QueueItemContent = ({ completed = false, className, ...props }) => (_jsx("span", { className: cn('line-clamp-1 grow break-words', completed ? 'text-muted-foreground/50 line-through' : 'text-muted-foreground', className), ...props }));
|
|
13
|
-
export const QueueItemDescription = ({ completed = false, className, ...props }) => (_jsx("div", { className: cn('ml-6 text-xs', completed ? 'text-muted-foreground/40 line-through' : 'text-muted-foreground', className), ...props }));
|
|
14
|
-
export const QueueItemActions = ({ className, ...props }) => (_jsx("div", { className: cn('flex gap-1', className), ...props }));
|
|
15
|
-
export const QueueItemAction = ({ className, ...props }) => (_jsx(Button, { className: cn('size-auto rounded p-1 text-muted-foreground opacity-0 transition-opacity hover:bg-muted-foreground/10 hover:text-foreground group-hover:opacity-100', className), size: "icon", type: "button", variant: "ghost", ...props }));
|
|
16
|
-
export const QueueItemAttachment = ({ className, ...props }) => (_jsx("div", { className: cn('mt-1 flex flex-wrap gap-2', className), ...props }));
|
|
17
|
-
export const QueueItemImage = ({ className, ...props }) => (_jsx("img", { alt: "", className: cn('h-8 w-8 rounded border object-cover', className), height: 32, width: 32, ...props }));
|
|
18
|
-
export const QueueItemFile = ({ children, className, ...props }) => (_jsxs("span", { className: cn('flex items-center gap-1 rounded border bg-muted px-2 py-1 text-xs', className), ...props, children: [_jsx(PaperclipIcon, { size: 12 }), _jsx("span", { className: "max-w-[100px] truncate", children: children })] }));
|
|
19
|
-
export const QueueList = ({ children, className, ...props }) => (_jsx(ScrollArea, { className: cn('-mb-1 mt-2', className), ...props, children: _jsx("div", { className: "max-h-40 pr-4", children: _jsx("ul", { children: children }) }) }));
|
|
20
|
-
export const QueueSection = ({ className, defaultOpen = true, ...props }) => (_jsx(Collapsible, { className: cn(className), defaultOpen: defaultOpen, ...props }));
|
|
21
|
-
export const QueueSectionTrigger = ({ children, className, ...props }) => (_jsx(CollapsibleTrigger, { asChild: true, children: _jsx("button", { className: cn('group flex w-full items-center justify-between rounded-md bg-muted/40 px-3 py-2 text-left font-medium text-muted-foreground text-sm transition-colors hover:bg-muted', className), type: "button", ...props, children: children }) }));
|
|
22
|
-
export const QueueSectionLabel = ({ count, label, icon, className, ...props }) => (_jsxs("span", { className: cn('flex items-center gap-2', className), ...props, children: [_jsx(ChevronDownIcon, { className: "group-data-[state=closed]:-rotate-90 size-4 transition-transform" }), icon, _jsxs("span", { children: [count, " ", label] })] }));
|
|
23
|
-
export const QueueSectionContent = ({ className, ...props }) => (_jsx(CollapsibleContent, { className: cn(className), ...props }));
|
|
24
|
-
export const Queue = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col gap-2 rounded-xl border border-border bg-background px-3 pt-2 pb-2 shadow-xs', className), ...props }));
|
|
25
|
-
//# sourceMappingURL=queue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/components/ai-elements/queue.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ComponentProps } from 'react';
|
|
2
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
3
|
-
export type ReasoningProps = ComponentProps<typeof Collapsible> & {
|
|
4
|
-
isStreaming?: boolean;
|
|
5
|
-
open?: boolean;
|
|
6
|
-
defaultOpen?: boolean;
|
|
7
|
-
onOpenChange?: (open: boolean) => void;
|
|
8
|
-
duration?: number;
|
|
9
|
-
};
|
|
10
|
-
export declare const Reasoning: import("react").MemoExoticComponent<({ className, isStreaming, open, defaultOpen, onOpenChange, duration: durationProp, children, ...props }: ReasoningProps) => import("react/jsx-runtime").JSX.Element>;
|
|
11
|
-
export type ReasoningTriggerProps = ComponentProps<typeof CollapsibleTrigger>;
|
|
12
|
-
export declare const ReasoningTrigger: import("react").MemoExoticComponent<({ className, children, ...props }: ReasoningTriggerProps) => import("react/jsx-runtime").JSX.Element>;
|
|
13
|
-
export type ReasoningContentProps = ComponentProps<typeof CollapsibleContent> & {
|
|
14
|
-
children: string;
|
|
15
|
-
};
|
|
16
|
-
export declare const ReasoningContent: import("react").MemoExoticComponent<({ className, children, ...props }: ReasoningContentProps) => import("react/jsx-runtime").JSX.Element>;
|
|
17
|
-
//# sourceMappingURL=reasoning.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/reasoning.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAsBxF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,GAAG;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,eAAO,MAAM,SAAS,gJAUlB,cAAc,6CAwDjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAY9E,eAAO,MAAM,gBAAgB,0EAA4C,qBAAqB,6CAsB5F,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC/E,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,0EAA4C,qBAAqB,6CAW5F,CAAC"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
4
|
-
import { BrainIcon, ChevronDownIcon } from 'lucide-react';
|
|
5
|
-
import { createContext, memo, useContext, useEffect, useState } from 'react';
|
|
6
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
7
|
-
import { cn } from '../../lib/utils';
|
|
8
|
-
import { Response } from './response';
|
|
9
|
-
import { Shimmer } from './shimmer';
|
|
10
|
-
const ReasoningContext = createContext(null);
|
|
11
|
-
const useReasoning = () => {
|
|
12
|
-
const context = useContext(ReasoningContext);
|
|
13
|
-
if (!context) {
|
|
14
|
-
throw new Error('Reasoning components must be used within Reasoning');
|
|
15
|
-
}
|
|
16
|
-
return context;
|
|
17
|
-
};
|
|
18
|
-
const AUTO_CLOSE_DELAY = 1000;
|
|
19
|
-
const MS_IN_S = 1000;
|
|
20
|
-
export const Reasoning = memo(({ className, isStreaming = false, open, defaultOpen = true, onOpenChange, duration: durationProp, children, ...props }) => {
|
|
21
|
-
const [isOpen, setIsOpen] = useControllableState({
|
|
22
|
-
prop: open,
|
|
23
|
-
defaultProp: defaultOpen,
|
|
24
|
-
onChange: onOpenChange,
|
|
25
|
-
});
|
|
26
|
-
const [duration, setDuration] = useControllableState({
|
|
27
|
-
prop: durationProp,
|
|
28
|
-
defaultProp: 0,
|
|
29
|
-
});
|
|
30
|
-
const [hasAutoClosed, setHasAutoClosed] = useState(false);
|
|
31
|
-
const [startTime, setStartTime] = useState(null);
|
|
32
|
-
// Track duration when streaming starts and ends
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
if (isStreaming) {
|
|
35
|
-
if (startTime === null) {
|
|
36
|
-
setStartTime(Date.now());
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else if (startTime !== null) {
|
|
40
|
-
setDuration(Math.ceil((Date.now() - startTime) / MS_IN_S));
|
|
41
|
-
setStartTime(null);
|
|
42
|
-
}
|
|
43
|
-
}, [isStreaming, startTime, setDuration]);
|
|
44
|
-
// Auto-open when streaming starts, auto-close when streaming ends (once only)
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
if (defaultOpen && !isStreaming && isOpen && !hasAutoClosed) {
|
|
47
|
-
// Add a small delay before closing to allow user to see the content
|
|
48
|
-
const timer = setTimeout(() => {
|
|
49
|
-
setIsOpen(false);
|
|
50
|
-
setHasAutoClosed(true);
|
|
51
|
-
}, AUTO_CLOSE_DELAY);
|
|
52
|
-
return () => clearTimeout(timer);
|
|
53
|
-
}
|
|
54
|
-
}, [isStreaming, isOpen, defaultOpen, setIsOpen, hasAutoClosed]);
|
|
55
|
-
const handleOpenChange = (newOpen) => {
|
|
56
|
-
setIsOpen(newOpen);
|
|
57
|
-
};
|
|
58
|
-
return (_jsx(ReasoningContext.Provider, { value: { isStreaming, isOpen, setIsOpen, duration }, children: _jsx(Collapsible, { className: cn('not-prose mb-4', className), onOpenChange: handleOpenChange, open: isOpen, ...props, children: children }) }));
|
|
59
|
-
});
|
|
60
|
-
const getThinkingMessage = (isStreaming, duration) => {
|
|
61
|
-
if (isStreaming || duration === 0) {
|
|
62
|
-
return _jsx(Shimmer, { duration: 1, children: "Thinking..." });
|
|
63
|
-
}
|
|
64
|
-
if (duration === undefined) {
|
|
65
|
-
return _jsx("p", { children: "Thought for a few seconds" });
|
|
66
|
-
}
|
|
67
|
-
return _jsxs("p", { children: ["Thought for ", duration, " seconds"] });
|
|
68
|
-
};
|
|
69
|
-
export const ReasoningTrigger = memo(({ className, children, ...props }) => {
|
|
70
|
-
const { isStreaming, isOpen, duration } = useReasoning();
|
|
71
|
-
return (_jsx(CollapsibleTrigger, { className: cn('flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground', className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(BrainIcon, { className: "size-4" }), getThinkingMessage(isStreaming, duration), _jsx(ChevronDownIcon, { className: cn('size-4 transition-transform', isOpen ? 'rotate-180' : 'rotate-0') })] })) }));
|
|
72
|
-
});
|
|
73
|
-
export const ReasoningContent = memo(({ className, children, ...props }) => (_jsx(CollapsibleContent, { className: cn('mt-4 text-sm', 'data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in', className), ...props, children: _jsx(Response, { className: "grid gap-2", children: children }) })));
|
|
74
|
-
Reasoning.displayName = 'Reasoning';
|
|
75
|
-
ReasoningTrigger.displayName = 'ReasoningTrigger';
|
|
76
|
-
ReasoningContent.displayName = 'ReasoningContent';
|
|
77
|
-
//# sourceMappingURL=reasoning.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning.js","sourceRoot":"","sources":["../../../src/components/ai-elements/reasoning.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type ComponentProps } from 'react';
|
|
2
|
-
import { Streamdown } from 'streamdown';
|
|
3
|
-
type ResponseProps = ComponentProps<typeof Streamdown>;
|
|
4
|
-
export declare const Response: import("react").MemoExoticComponent<({ className, ...props }: ResponseProps) => import("react/jsx-runtime").JSX.Element>;
|
|
5
|
-
export {};
|
|
6
|
-
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/response.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,KAAK,aAAa,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;AAEvD,eAAO,MAAM,QAAQ,gEACM,aAAa,6CAOvC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from '../../lib/utils';
|
|
4
|
-
import { memo } from 'react';
|
|
5
|
-
import { Streamdown } from 'streamdown';
|
|
6
|
-
export const Response = memo(({ className, ...props }) => (_jsx(Streamdown, { className: cn('size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0', className), ...props })), (prevProps, nextProps) => prevProps.children === nextProps.children);
|
|
7
|
-
Response.displayName = 'Response';
|
|
8
|
-
//# sourceMappingURL=response.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/components/ai-elements/response.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAuB,IAAI,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAC3B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiB,EAAE,EAAE,CAAC,CAC3C,KAAC,UAAU,IACV,SAAS,EAAE,EAAE,CAAC,wDAAwD,EAAE,SAAS,CAAC,KAC9E,KAAK,GACR,CACF,EACD,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CACnE,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
2
|
-
import type { ComponentProps } from 'react';
|
|
3
|
-
export type SourcesProps = ComponentProps<'div'>;
|
|
4
|
-
export declare const Sources: ({ className, ...props }: SourcesProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
export type SourcesTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
|
|
6
|
-
count: number;
|
|
7
|
-
};
|
|
8
|
-
export declare const SourcesTrigger: ({ className, count, children, ...props }: SourcesTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export type SourcesContentProps = ComponentProps<typeof CollapsibleContent>;
|
|
10
|
-
export declare const SourcesContent: ({ className, ...props }: SourcesContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export type SourceProps = ComponentProps<'a'>;
|
|
12
|
-
export declare const Source: ({ href, title, children, ...props }: SourceProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
//# sourceMappingURL=sources.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/sources.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAe,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEjD,eAAO,MAAM,OAAO,GAAI,yBAAyB,YAAY,4CAE5D,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC7E,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,0CAA0C,mBAAmB,4CAS3F,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE5E,eAAO,MAAM,cAAc,GAAI,yBAAyB,mBAAmB,4CAS1E,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAE9C,eAAO,MAAM,MAAM,GAAI,qCAAqC,WAAW,4CAStE,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
4
|
-
import { cn } from '../../lib/utils';
|
|
5
|
-
import { BookIcon, ChevronDownIcon } from 'lucide-react';
|
|
6
|
-
export const Sources = ({ className, ...props }) => (_jsx(Collapsible, { className: cn('not-prose mb-4 text-primary text-xs', className), ...props }));
|
|
7
|
-
export const SourcesTrigger = ({ className, count, children, ...props }) => (_jsx(CollapsibleTrigger, { className: cn('flex items-center gap-2', className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsxs("p", { className: "font-medium", children: ["Used ", count, " sources"] }), _jsx(ChevronDownIcon, { className: "h-4 w-4" })] })) }));
|
|
8
|
-
export const SourcesContent = ({ className, ...props }) => (_jsx(CollapsibleContent, { className: cn('mt-3 flex w-fit flex-col gap-2', 'data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in', className), ...props }));
|
|
9
|
-
export const Source = ({ href, title, children, ...props }) => (_jsx("a", { className: "flex items-center gap-2", href: href, rel: "noreferrer", target: "_blank", ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(BookIcon, { className: "h-4 w-4" }), _jsx("span", { className: "block font-medium", children: title })] })) }));
|
|
10
|
-
//# sourceMappingURL=sources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/components/ai-elements/sources.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKzD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgB,EAAE,EAAE,CAAC,CACjE,KAAC,WAAW,IAAC,SAAS,EAAE,EAAE,CAAC,qCAAqC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC3F,CAAC;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAuB,EAAE,EAAE,CAAC,CAChG,KAAC,kBAAkB,IAAC,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAAM,KAAK,YAChF,QAAQ,IAAI,CACZ,8BACC,aAAG,SAAS,EAAC,aAAa,sBAAO,KAAK,gBAAa,EACnD,KAAC,eAAe,IAAC,SAAS,EAAC,SAAS,GAAG,IACrC,CACH,GACmB,CACrB,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAuB,EAAE,EAAE,CAAC,CAC/E,KAAC,kBAAkB,IAClB,SAAS,EAAE,EAAE,CACZ,gCAAgC,EAChC,uLAAuL,EACvL,SAAS,CACT,KACG,KAAK,GACR,CACF,CAAC;AAIF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAe,EAAE,EAAE,CAAC,CAC3E,YAAG,SAAS,EAAC,yBAAyB,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAC,YAAY,EAAC,MAAM,EAAC,QAAQ,KAAK,KAAK,YAC3F,QAAQ,IAAI,CACZ,8BACC,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,EAChC,eAAM,SAAS,EAAC,mBAAmB,YAAE,KAAK,GAAQ,IAChD,CACH,GACE,CACJ,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ComponentProps } from 'react';
|
|
2
|
-
import { Button } from '../ui/button';
|
|
3
|
-
import { ScrollArea } from '../ui/scroll-area';
|
|
4
|
-
export type SuggestionsProps = ComponentProps<typeof ScrollArea>;
|
|
5
|
-
export declare const Suggestions: ({ className, children, ...props }: SuggestionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export type SuggestionProps = Omit<ComponentProps<typeof Button>, 'onClick'> & {
|
|
7
|
-
suggestion: string;
|
|
8
|
-
onClick?: (suggestion: string) => void;
|
|
9
|
-
};
|
|
10
|
-
export declare const Suggestion: ({ suggestion, onClick, className, variant, size, children, ...props }: SuggestionProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=suggestion.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"suggestion.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/suggestion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAa,MAAM,mBAAmB,CAAC;AAG1D,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjE,eAAO,MAAM,WAAW,GAAI,mCAAmC,gBAAgB,4CAK9E,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,uEAQxB,eAAe,4CAiBjB,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Button } from '../ui/button';
|
|
4
|
-
import { ScrollArea, ScrollBar } from '../ui/scroll-area';
|
|
5
|
-
import { cn } from '../../lib/utils';
|
|
6
|
-
export const Suggestions = ({ className, children, ...props }) => (_jsxs(ScrollArea, { className: "w-full overflow-x-auto whitespace-nowrap", ...props, children: [_jsx("div", { className: cn('flex w-max flex-nowrap items-center gap-2', className), children: children }), _jsx(ScrollBar, { className: "hidden", orientation: "horizontal" })] }));
|
|
7
|
-
export const Suggestion = ({ suggestion, onClick, className, variant = 'outline', size = 'sm', children, ...props }) => {
|
|
8
|
-
const handleClick = () => {
|
|
9
|
-
onClick?.(suggestion);
|
|
10
|
-
};
|
|
11
|
-
return (_jsx(Button, { className: cn('cursor-pointer rounded-full px-4', className), onClick: handleClick, size: size, type: "button", variant: variant, ...props, children: children || suggestion }));
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=suggestion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"suggestion.js","sourceRoot":"","sources":["../../../src/components/ai-elements/suggestion.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAoB,EAAE,EAAE,CAAC,CACnF,MAAC,UAAU,IAAC,SAAS,EAAC,0CAA0C,KAAK,KAAK,aACzE,cAAK,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,EAC5F,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAC,YAAY,GAAG,IAC7C,CACb,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAC1B,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,GAAG,KAAK,EACS,EAAE,EAAE;IACrB,MAAM,WAAW,GAAG,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACN,KAAC,MAAM,IACN,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,SAAS,CAAC,EAC5D,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,KACZ,KAAK,YAER,QAAQ,IAAI,UAAU,GACf,CACT,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
2
|
-
import type { ComponentProps } from 'react';
|
|
3
|
-
export type TaskItemFileProps = ComponentProps<'div'>;
|
|
4
|
-
export declare const TaskItemFile: ({ children, className, ...props }: TaskItemFileProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
export type TaskItemProps = ComponentProps<'div'>;
|
|
6
|
-
export declare const TaskItem: ({ children, className, ...props }: TaskItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export type TaskProps = ComponentProps<typeof Collapsible>;
|
|
8
|
-
export declare const Task: ({ defaultOpen, className, ...props }: TaskProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export type TaskTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
|
|
10
|
-
title: string;
|
|
11
|
-
};
|
|
12
|
-
export declare const TaskTrigger: ({ children, className, title, ...props }: TaskTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export type TaskContentProps = ComponentProps<typeof CollapsibleContent>;
|
|
14
|
-
export declare const TaskContent: ({ children, className, ...props }: TaskContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
//# sourceMappingURL=task.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/task.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,GAAI,mCAAmC,iBAAiB,4CAUhF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ,GAAI,mCAAmC,aAAa,4CAIxE,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,eAAO,MAAM,IAAI,GAAI,sCAA6C,SAAS,4CAE1E,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC1E,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,0CAA0C,gBAAgB,4CAUrF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,eAAO,MAAM,WAAW,GAAI,mCAAmC,gBAAgB,4CAU9E,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
4
|
-
import { cn } from '../../lib/utils';
|
|
5
|
-
import { ChevronDownIcon, SearchIcon } from 'lucide-react';
|
|
6
|
-
export const TaskItemFile = ({ children, className, ...props }) => (_jsx("div", { className: cn('inline-flex items-center gap-1 rounded-md border bg-secondary px-1.5 py-0.5 text-foreground text-xs', className), ...props, children: children }));
|
|
7
|
-
export const TaskItem = ({ children, className, ...props }) => (_jsx("div", { className: cn('text-muted-foreground text-sm', className), ...props, children: children }));
|
|
8
|
-
export const Task = ({ defaultOpen = true, className, ...props }) => (_jsx(Collapsible, { className: cn(className), defaultOpen: defaultOpen, ...props }));
|
|
9
|
-
export const TaskTrigger = ({ children, className, title, ...props }) => (_jsx(CollapsibleTrigger, { asChild: true, className: cn('group', className), ...props, children: children ?? (_jsxs("div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground", children: [_jsx(SearchIcon, { className: "size-4" }), _jsx("p", { className: "text-sm", children: title }), _jsx(ChevronDownIcon, { className: "size-4 transition-transform group-data-[state=open]:rotate-180" })] })) }));
|
|
10
|
-
export const TaskContent = ({ children, className, ...props }) => (_jsx(CollapsibleContent, { className: cn('data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in', className), ...props, children: _jsx("div", { className: "mt-4 space-y-2 border-muted border-l-2 pl-4", children: children }) }));
|
|
11
|
-
//# sourceMappingURL=task.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/components/ai-elements/task.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK3D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAqB,EAAE,EAAE,CAAC,CACrF,cACC,SAAS,EAAE,EAAE,CACZ,qGAAqG,EACrG,SAAS,CACT,KACG,KAAK,YAER,QAAQ,GACJ,CACN,CAAC;AAIF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiB,EAAE,EAAE,CAAC,CAC7E,cAAK,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAM,KAAK,YACvE,QAAQ,GACJ,CACN,CAAC;AAIF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,EAAa,EAAE,EAAE,CAAC,CAC/E,KAAC,WAAW,IAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,KAAM,KAAK,GAAI,CAC9E,CAAC;AAMF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAoB,EAAE,EAAE,CAAC,CAC1F,KAAC,kBAAkB,IAAC,OAAO,QAAC,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,KAAM,KAAK,YACtE,QAAQ,IAAI,CACZ,eAAK,SAAS,EAAC,qHAAqH,aACnI,KAAC,UAAU,IAAC,SAAS,EAAC,QAAQ,GAAG,EACjC,YAAG,SAAS,EAAC,SAAS,YAAE,KAAK,GAAK,EAClC,KAAC,eAAe,IAAC,SAAS,EAAC,gEAAgE,GAAG,IACzF,CACN,GACmB,CACrB,CAAC;AAIF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoB,EAAE,EAAE,CAAC,CACnF,KAAC,kBAAkB,IAClB,SAAS,EAAE,EAAE,CACZ,+MAA+M,EAC/M,SAAS,CACT,KACG,KAAK,YAET,cAAK,SAAS,EAAC,6CAA6C,YAAE,QAAQ,GAAO,GACzD,CACrB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Collapsible, CollapsibleContent } from '../ui/collapsible';
|
|
2
|
-
import type { ToolUIPart } from 'ai';
|
|
3
|
-
import type { ComponentProps } from 'react';
|
|
4
|
-
export type ToolProps = ComponentProps<typeof Collapsible>;
|
|
5
|
-
export declare const Tool: ({ className, ...props }: ToolProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export type ToolHeaderProps = {
|
|
7
|
-
title?: string;
|
|
8
|
-
type: ToolUIPart['type'];
|
|
9
|
-
state: any;
|
|
10
|
-
className?: string;
|
|
11
|
-
};
|
|
12
|
-
export declare const ToolHeader: ({ className, title, type, state, ...props }: ToolHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export type ToolContentProps = ComponentProps<typeof CollapsibleContent>;
|
|
14
|
-
export declare const ToolContent: ({ className, ...props }: ToolContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export type ToolInputProps = ComponentProps<'div'> & {
|
|
16
|
-
input: ToolUIPart['input'];
|
|
17
|
-
};
|
|
18
|
-
export declare const ToolInput: ({ className, input, ...props }: ToolInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
export type ToolOutputProps = ComponentProps<'div'> & {
|
|
20
|
-
output: ToolUIPart['output'];
|
|
21
|
-
errorText: ToolUIPart['errorText'];
|
|
22
|
-
};
|
|
23
|
-
export declare const ToolOutput: ({ className, output, errorText, ...props }: ToolOutputProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
-
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/tool.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAC;AAExF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AASrC,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,OAAO,CAAC;AAIvD,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,eAAO,MAAM,IAAI,GAAI,yBAAyB,SAAS,4CAEtD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AA+BF,eAAO,MAAM,UAAU,GAAI,6CAA6C,eAAe,4CAYtF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,eAAO,MAAM,WAAW,GAAI,yBAAyB,gBAAgB,4CAQpE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACpD,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,gCAAgC,cAAc,4CASvE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACrD,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,4CAA4C,eAAe,mDA6BrF,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Badge } from '../ui/badge';
|
|
4
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
5
|
-
import { cn } from '../../lib/utils';
|
|
6
|
-
import { CheckCircleIcon, ChevronDownIcon, CircleIcon, ClockIcon, WrenchIcon, XCircleIcon, } from 'lucide-react';
|
|
7
|
-
import { isValidElement } from 'react';
|
|
8
|
-
import { CodeBlock } from './code-block';
|
|
9
|
-
export const Tool = ({ className, ...props }) => (_jsx(Collapsible, { className: cn('not-prose mb-4 w-full rounded-md border', className), ...props }));
|
|
10
|
-
const getStatusBadge = (status) => {
|
|
11
|
-
const labels = {
|
|
12
|
-
'input-streaming': 'Pending',
|
|
13
|
-
'input-available': 'Running',
|
|
14
|
-
'approval-requested': 'Awaiting Approval',
|
|
15
|
-
'approval-responded': 'Responded',
|
|
16
|
-
'output-available': 'Completed',
|
|
17
|
-
'output-error': 'Error',
|
|
18
|
-
'output-denied': 'Denied',
|
|
19
|
-
};
|
|
20
|
-
const icons = {
|
|
21
|
-
'input-streaming': _jsx(CircleIcon, { className: "size-4" }),
|
|
22
|
-
'input-available': _jsx(ClockIcon, { className: "size-4 animate-pulse" }),
|
|
23
|
-
'approval-requested': _jsx(ClockIcon, { className: "size-4 text-yellow-600" }),
|
|
24
|
-
'approval-responded': _jsx(CheckCircleIcon, { className: "size-4 text-blue-600" }),
|
|
25
|
-
'output-available': _jsx(CheckCircleIcon, { className: "size-4 text-green-600" }),
|
|
26
|
-
'output-error': _jsx(XCircleIcon, { className: "size-4 text-red-600" }),
|
|
27
|
-
'output-denied': _jsx(XCircleIcon, { className: "size-4 text-orange-600" }),
|
|
28
|
-
};
|
|
29
|
-
return (_jsxs(Badge, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [icons[status], labels[status]] }));
|
|
30
|
-
};
|
|
31
|
-
export const ToolHeader = ({ className, title, type, state, ...props }) => (_jsxs(CollapsibleTrigger, { className: cn('flex w-full items-center justify-between gap-4 p-3', className), ...props, children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(WrenchIcon, { className: "size-4 text-muted-foreground" }), _jsx("span", { className: "font-medium text-sm", children: title ?? type.split('-').slice(1).join('-') }), getStatusBadge(state)] }), _jsx(ChevronDownIcon, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })] }));
|
|
32
|
-
export const ToolContent = ({ className, ...props }) => (_jsx(CollapsibleContent, { className: cn('data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in', className), ...props }));
|
|
33
|
-
export const ToolInput = ({ className, input, ...props }) => (_jsxs("div", { className: cn('space-y-2 overflow-hidden p-4', className), ...props, children: [_jsx("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: "Parameters" }), _jsx("div", { className: "rounded-md bg-muted/50", children: _jsx(CodeBlock, { code: JSON.stringify(input, null, 2), language: "json" }) })] }));
|
|
34
|
-
export const ToolOutput = ({ className, output, errorText, ...props }) => {
|
|
35
|
-
if (!(output || errorText)) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
let Output = _jsx("div", { children: output });
|
|
39
|
-
if (typeof output === 'object' && !isValidElement(output)) {
|
|
40
|
-
Output = _jsx(CodeBlock, { code: JSON.stringify(output, null, 2), language: "json" });
|
|
41
|
-
}
|
|
42
|
-
else if (typeof output === 'string') {
|
|
43
|
-
Output = _jsx(CodeBlock, { code: output, language: "json" });
|
|
44
|
-
}
|
|
45
|
-
return (_jsxs("div", { className: cn('space-y-2 p-4', className), ...props, children: [_jsx("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: errorText ? 'Error' : 'Result' }), _jsxs("div", { className: cn('overflow-x-auto rounded-md text-xs [&_table]:w-full', errorText ? 'bg-destructive/10 text-destructive' : 'bg-muted/50 text-foreground'), children: [errorText && _jsx("div", { children: errorText }), Output] })] }));
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=tool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/components/ai-elements/tool.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { NodeToolbar } from '@xyflow/react';
|
|
2
|
-
import type { ComponentProps } from 'react';
|
|
3
|
-
type ToolbarProps = ComponentProps<typeof NodeToolbar>;
|
|
4
|
-
export declare const Toolbar: ({ className, ...props }: ToolbarProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
export {};
|
|
6
|
-
//# sourceMappingURL=toolbar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/toolbar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAY,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,KAAK,YAAY,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD,eAAO,MAAM,OAAO,GAAI,yBAAyB,YAAY,4CAM5D,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from '../../lib/utils';
|
|
3
|
-
import { NodeToolbar, Position } from '@xyflow/react';
|
|
4
|
-
export const Toolbar = ({ className, ...props }) => (_jsx(NodeToolbar, { className: cn('flex items-center gap-1 rounded-sm border bg-background p-1.5', className), position: Position.Bottom, ...props }));
|
|
5
|
-
//# sourceMappingURL=toolbar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.js","sourceRoot":"","sources":["../../../src/components/ai-elements/toolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKtD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgB,EAAE,EAAE,CAAC,CACjE,KAAC,WAAW,IACX,SAAS,EAAE,EAAE,CAAC,+DAA+D,EAAE,SAAS,CAAC,EACzF,QAAQ,EAAE,QAAQ,CAAC,MAAM,KACrB,KAAK,GACR,CACF,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Button } from '../ui/button';
|
|
2
|
-
import { Input } from '../ui/input';
|
|
3
|
-
import type { ComponentProps, ReactNode } from 'react';
|
|
4
|
-
export type WebPreviewContextValue = {
|
|
5
|
-
url: string;
|
|
6
|
-
setUrl: (url: string) => void;
|
|
7
|
-
consoleOpen: boolean;
|
|
8
|
-
setConsoleOpen: (open: boolean) => void;
|
|
9
|
-
};
|
|
10
|
-
export type WebPreviewProps = ComponentProps<'div'> & {
|
|
11
|
-
defaultUrl?: string;
|
|
12
|
-
onUrlChange?: (url: string) => void;
|
|
13
|
-
};
|
|
14
|
-
export declare const WebPreview: ({ className, children, defaultUrl, onUrlChange, ...props }: WebPreviewProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export type WebPreviewNavigationProps = ComponentProps<'div'>;
|
|
16
|
-
export declare const WebPreviewNavigation: ({ className, children, ...props }: WebPreviewNavigationProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
-
export type WebPreviewNavigationButtonProps = ComponentProps<typeof Button> & {
|
|
18
|
-
tooltip?: string;
|
|
19
|
-
};
|
|
20
|
-
export declare const WebPreviewNavigationButton: ({ onClick, disabled, tooltip, children, ...props }: WebPreviewNavigationButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
export type WebPreviewUrlProps = ComponentProps<typeof Input>;
|
|
22
|
-
export declare const WebPreviewUrl: ({ value, onChange, onKeyDown, ...props }: WebPreviewUrlProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
export type WebPreviewBodyProps = ComponentProps<'iframe'> & {
|
|
24
|
-
loading?: ReactNode;
|
|
25
|
-
};
|
|
26
|
-
export declare const WebPreviewBody: ({ className, loading, src, ...props }: WebPreviewBodyProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
-
export type WebPreviewConsoleProps = ComponentProps<'div'> & {
|
|
28
|
-
logs?: Array<{
|
|
29
|
-
level: 'log' | 'warn' | 'error';
|
|
30
|
-
message: string;
|
|
31
|
-
timestamp: Date;
|
|
32
|
-
}>;
|
|
33
|
-
};
|
|
34
|
-
export declare const WebPreviewConsole: ({ className, logs, children, ...props }: WebPreviewConsoleProps) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
-
//# sourceMappingURL=web-preview.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-preview.d.ts","sourceRoot":"","sources":["../../../src/components/ai-elements/web-preview.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,MAAM,sBAAsB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAYF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,4DAMxB,eAAe,4CA0BjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB,GAAI,mCAIlC,yBAAyB,4CAI3B,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,oDAMxC,+BAA+B,4CAoBjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;AAE9D,eAAO,MAAM,aAAa,GAAI,0CAA0C,kBAAkB,4CAgCzF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IAC5D,OAAO,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,uCAAuC,mBAAmB,4CAexF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IAC5D,IAAI,CAAC,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;KAChB,CAAC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,yCAK/B,sBAAsB,4CAwDxB,CAAC"}
|
|
@@ -1,63 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-preview.js","sourceRoot":"","sources":["../../../src/components/ai-elements/web-preview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
-
declare const alertVariants: (props?: ({
|
|
4
|
-
variant?: "default" | "destructive" | null | undefined;
|
|
5
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
-
declare function Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
declare function AlertTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
declare function AlertDescription({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export { Alert, AlertTitle, AlertDescription };
|
|
10
|
-
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,aAAa;;8EAclB,CAAC;AAEF,iBAAS,KAAK,CAAC,EACd,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,2CASlE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW7E;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cva } from 'class-variance-authority';
|
|
3
|
-
import { cn } from '../../lib/utils';
|
|
4
|
-
const alertVariants = cva('relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current', {
|
|
5
|
-
variants: {
|
|
6
|
-
variant: {
|
|
7
|
-
default: 'bg-card text-card-foreground',
|
|
8
|
-
destructive: 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',
|
|
9
|
-
},
|
|
10
|
-
},
|
|
11
|
-
defaultVariants: {
|
|
12
|
-
variant: 'default',
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
function Alert({ className, variant, ...props }) {
|
|
16
|
-
return (_jsx("div", { "data-slot": "alert", role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
|
|
17
|
-
}
|
|
18
|
-
function AlertTitle({ className, ...props }) {
|
|
19
|
-
return (_jsx("div", { "data-slot": "alert-title", className: cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className), ...props }));
|
|
20
|
-
}
|
|
21
|
-
function AlertDescription({ className, ...props }) {
|
|
22
|
-
return (_jsx("div", { "data-slot": "alert-description", className: cn('text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed', className), ...props }));
|
|
23
|
-
}
|
|
24
|
-
export { Alert, AlertTitle, AlertDescription };
|
|
25
|
-
//# sourceMappingURL=alert.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/components/ui/alert.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,aAAa,GAAG,GAAG,CACxB,mOAAmO,EACnO;IACC,QAAQ,EAAE;QACT,OAAO,EAAE;YACR,OAAO,EAAE,8BAA8B;YACvC,WAAW,EACV,mGAAmG;SACpG;KACD;IACD,eAAe,EAAE;QAChB,OAAO,EAAE,SAAS;KAClB;CACD,CACD,CAAC;AAEF,SAAS,KAAK,CAAC,EACd,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EAC0D;IAClE,OAAO,CACN,2BACW,OAAO,EACjB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAChD,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACvE,OAAO,CACN,2BACW,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,6DAA6D,EAAE,SAAS,CAAC,KACnF,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAC7E,OAAO,CACN,2BACW,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CACZ,gGAAgG,EAChG,SAAS,CACT,KACG,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
-
declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
5
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
-
declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
|
|
7
|
-
asChild?: boolean;
|
|
8
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export { Badge, badgeVariants };
|
|
10
|
-
//# sourceMappingURL=badge.d.ts.map
|