@nadicodeai/ui 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -3
- package/README.md +14 -21
- package/dist/agents.d.ts +10 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +9 -0
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/use-case-bento.d.ts +2 -4
- package/dist/components/use-case-bento.d.ts.map +1 -1
- package/dist/components/use-case-bento.js +2 -3
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -16
- package/dist/internal/assistant-ui/attachment.d.ts +5 -0
- package/dist/internal/assistant-ui/attachment.d.ts.map +1 -0
- package/dist/internal/assistant-ui/attachment.js +93 -0
- package/dist/internal/assistant-ui/follow-up-suggestions.d.ts +3 -0
- package/dist/internal/assistant-ui/follow-up-suggestions.d.ts.map +1 -0
- package/dist/internal/assistant-ui/follow-up-suggestions.js +8 -0
- package/dist/internal/assistant-ui/markdown-text.d.ts +2 -0
- package/dist/internal/assistant-ui/markdown-text.d.ts.map +1 -0
- package/dist/internal/assistant-ui/markdown-text.js +54 -0
- package/dist/internal/assistant-ui/reasoning.d.ts +31 -0
- package/dist/internal/assistant-ui/reasoning.d.ts.map +1 -0
- package/dist/internal/assistant-ui/reasoning.js +118 -0
- package/dist/internal/assistant-ui/thread.d.ts +26 -0
- package/dist/internal/assistant-ui/thread.d.ts.map +1 -0
- package/dist/internal/assistant-ui/thread.js +118 -0
- package/dist/internal/assistant-ui/tool-fallback.d.ts +10 -0
- package/dist/internal/assistant-ui/tool-fallback.d.ts.map +1 -0
- package/dist/internal/assistant-ui/tool-fallback.js +163 -0
- package/dist/internal/assistant-ui/tool-group.d.ts +18 -0
- package/dist/internal/assistant-ui/tool-group.d.ts.map +1 -0
- package/dist/internal/assistant-ui/tool-group.js +44 -0
- package/dist/internal/assistant-ui/tooltip-icon-button.d.ts +8 -0
- package/dist/internal/assistant-ui/tooltip-icon-button.d.ts.map +1 -0
- package/dist/internal/assistant-ui/tooltip-icon-button.js +10 -0
- package/dist/styles/globals.css +3 -209
- package/docs/agents/nadicodeai-ui.md +4 -6
- package/docs/component-classification.md +1 -1
- package/docs/consuming-cross-repo.md +9 -3
- package/docs/contract.md +6 -6
- package/docs/migration/base-ui-migration.md +0 -11
- package/docs/product-compositions.md +1 -1
- package/llms.txt +5 -6
- package/package.json +10 -28
- package/skills/nadicodeai-ui/SKILL.md +5 -7
- package/dist/ai-elements.d.ts +0 -49
- package/dist/ai-elements.d.ts.map +0 -1
- package/dist/ai-elements.js +0 -48
- package/dist/components/agent-avatar.d.ts +0 -7
- package/dist/components/agent-avatar.d.ts.map +0 -1
- package/dist/components/agent-avatar.js +0 -6
- package/dist/components/agent-chat.d.ts +0 -20
- package/dist/components/agent-chat.d.ts.map +0 -1
- package/dist/components/agent-chat.js +0 -10
- package/dist/components/agent-composer.d.ts +0 -56
- package/dist/components/agent-composer.d.ts.map +0 -1
- package/dist/components/agent-composer.js +0 -56
- package/dist/components/agent-message.d.ts +0 -117
- package/dist/components/agent-message.d.ts.map +0 -1
- package/dist/components/agent-message.js +0 -99
- package/dist/components/agent-thread.d.ts +0 -26
- package/dist/components/agent-thread.d.ts.map +0 -1
- package/dist/components/agent-thread.js +0 -63
- package/dist/components/agent-tool-approval.d.ts +0 -27
- package/dist/components/agent-tool-approval.d.ts.map +0 -1
- package/dist/components/agent-tool-approval.js +0 -43
- package/dist/components/ai-elements/agent.d.ts +0 -27
- package/dist/components/ai-elements/agent.d.ts.map +0 -1
- package/dist/components/ai-elements/agent.js +0 -25
- 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 -20
- package/dist/components/ai-elements/attachments.d.ts +0 -55
- package/dist/components/ai-elements/attachments.d.ts.map +0 -1
- package/dist/components/ai-elements/attachments.js +0 -125
- package/dist/components/ai-elements/audio-player.d.ts +0 -30
- package/dist/components/ai-elements/audio-player.d.ts.map +0 -1
- package/dist/components/ai-elements/audio-player.js +0 -41
- package/dist/components/ai-elements/canvas.d.ts +0 -8
- package/dist/components/ai-elements/canvas.d.ts.map +0 -1
- package/dist/components/ai-elements/canvas.js +0 -5
- 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 -49
- package/dist/components/ai-elements/checkpoint.d.ts +0 -12
- package/dist/components/ai-elements/checkpoint.d.ts.map +0 -1
- package/dist/components/ai-elements/checkpoint.js +0 -10
- package/dist/components/ai-elements/code-block.d.ts +0 -53
- package/dist/components/ai-elements/code-block.d.ts.map +0 -1
- package/dist/components/ai-elements/code-block.js +0 -239
- package/dist/components/ai-elements/commit.d.ts +0 -65
- package/dist/components/ai-elements/commit.d.ts.map +0 -1
- package/dist/components/ai-elements/commit.js +0 -83
- package/dist/components/ai-elements/confirmation.d.ts +0 -50
- 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/connection.d.ts +0 -6
- package/dist/components/ai-elements/connection.d.ts.map +0 -1
- package/dist/components/ai-elements/connection.js +0 -10
- 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 -147
- 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 -5
- package/dist/components/ai-elements/conversation.d.ts +0 -24
- package/dist/components/ai-elements/conversation.d.ts.map +0 -1
- package/dist/components/ai-elements/conversation.js +0 -41
- 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 -88
- package/dist/components/ai-elements/environment-variables.d.ts +0 -39
- package/dist/components/ai-elements/environment-variables.d.ts.map +0 -1
- package/dist/components/ai-elements/environment-variables.js +0 -60
- package/dist/components/ai-elements/file-tree.d.ts +0 -27
- package/dist/components/ai-elements/file-tree.d.ts.map +0 -1
- package/dist/components/ai-elements/file-tree.js +0 -73
- 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 -3
- 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 -86
- package/dist/components/ai-elements/jsx-preview.d.ts +0 -30
- package/dist/components/ai-elements/jsx-preview.d.ts.map +0 -1
- package/dist/components/ai-elements/jsx-preview.js +0 -159
- package/dist/components/ai-elements/message.d.ts +0 -38
- package/dist/components/ai-elements/message.d.ts.map +0 -1
- package/dist/components/ai-elements/message.js +0 -91
- package/dist/components/ai-elements/mic-selector.d.ts +0 -46
- package/dist/components/ai-elements/mic-selector.d.ts.map +0 -1
- package/dist/components/ai-elements/mic-selector.js +0 -180
- package/dist/components/ai-elements/model-selector.d.ts +0 -36
- package/dist/components/ai-elements/model-selector.d.ts.map +0 -1
- package/dist/components/ai-elements/model-selector.js +0 -18
- 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/open-in-chat.d.ts +0 -27
- package/dist/components/ai-elements/open-in-chat.d.ts.map +0 -1
- package/dist/components/ai-elements/open-in-chat.js +0 -81
- package/dist/components/ai-elements/package-info.d.ts +0 -30
- package/dist/components/ai-elements/package-info.d.ts.map +0 -1
- package/dist/components/ai-elements/package-info.js +0 -50
- 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/persona.d.ts +0 -49
- package/dist/components/ai-elements/persona.d.ts.map +0 -1
- package/dist/components/ai-elements/persona.js +0 -175
- package/dist/components/ai-elements/plan.d.ts +0 -27
- package/dist/components/ai-elements/plan.d.ts.map +0 -1
- package/dist/components/ai-elements/plan.js +0 -34
- package/dist/components/ai-elements/prompt-input.d.ts +0 -149
- package/dist/components/ai-elements/prompt-input.d.ts.map +0 -1
- package/dist/components/ai-elements/prompt-input.js +0 -704
- 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 -24
- package/dist/components/ai-elements/reasoning.d.ts +0 -27
- package/dist/components/ai-elements/reasoning.d.ts.map +0 -1
- package/dist/components/ai-elements/reasoning.js +0 -92
- package/dist/components/ai-elements/sandbox.d.ts +0 -25
- package/dist/components/ai-elements/sandbox.d.ts.map +0 -1
- package/dist/components/ai-elements/sandbox.js +0 -15
- package/dist/components/ai-elements/schema-display.d.ts +0 -56
- package/dist/components/ai-elements/schema-display.d.ts.map +0 -1
- package/dist/components/ai-elements/schema-display.js +0 -90
- package/dist/components/ai-elements/shimmer.d.ts +0 -10
- package/dist/components/ai-elements/shimmer.d.ts.map +0 -1
- package/dist/components/ai-elements/shimmer.js +0 -11
- package/dist/components/ai-elements/snippet.d.ts +0 -19
- package/dist/components/ai-elements/snippet.d.ts.map +0 -1
- package/dist/components/ai-elements/snippet.js +0 -32
- 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 -9
- package/dist/components/ai-elements/speech-input.d.ts +0 -55
- package/dist/components/ai-elements/speech-input.d.ts.map +0 -1
- package/dist/components/ai-elements/speech-input.js +0 -187
- package/dist/components/ai-elements/stack-trace.d.ts +0 -38
- package/dist/components/ai-elements/stack-trace.d.ts.map +0 -1
- package/dist/components/ai-elements/stack-trace.js +0 -181
- 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/task.d.ts +0 -15
- package/dist/components/ai-elements/task.d.ts.map +0 -1
- package/dist/components/ai-elements/task.js +0 -10
- package/dist/components/ai-elements/terminal.d.ts +0 -28
- package/dist/components/ai-elements/terminal.d.ts.map +0 -1
- package/dist/components/ai-elements/terminal.js +0 -55
- package/dist/components/ai-elements/test-results.d.ts +0 -59
- package/dist/components/ai-elements/test-results.d.ts.map +0 -1
- package/dist/components/ai-elements/test-results.js +0 -98
- package/dist/components/ai-elements/tool.d.ts +0 -32
- package/dist/components/ai-elements/tool.d.ts.map +0 -1
- package/dist/components/ai-elements/tool.js +0 -49
- 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/transcription.d.ts +0 -17
- package/dist/components/ai-elements/transcription.d.ts.map +0 -1
- package/dist/components/ai-elements/transcription.js +0 -36
- package/dist/components/ai-elements/voice-selector.d.ts +0 -65
- package/dist/components/ai-elements/voice-selector.d.ts.map +0 -1
- package/dist/components/ai-elements/voice-selector.js +0 -224
- 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 -66
- package/dist/components/artifact-panel.d.ts +0 -130
- package/dist/components/artifact-panel.d.ts.map +0 -1
- package/dist/components/artifact-panel.js +0 -180
- package/dist/components/attachment.d.ts +0 -24
- package/dist/components/attachment.d.ts.map +0 -1
- package/dist/components/attachment.js +0 -68
- package/dist/components/bubble.d.ts +0 -17
- package/dist/components/bubble.d.ts.map +0 -1
- package/dist/components/bubble.js +0 -59
- package/dist/components/demo-surface.d.ts +0 -34
- package/dist/components/demo-surface.d.ts.map +0 -1
- package/dist/components/demo-surface.js +0 -21
- package/dist/components/files-preview.d.ts +0 -36
- package/dist/components/files-preview.d.ts.map +0 -1
- package/dist/components/files-preview.js +0 -85
- package/dist/components/marker.d.ts +0 -11
- package/dist/components/marker.d.ts.map +0 -1
- package/dist/components/marker.js +0 -34
- package/dist/components/message-scroller.d.ts +0 -17
- package/dist/components/message-scroller.d.ts.map +0 -1
- package/dist/components/message-scroller.js +0 -29
- package/dist/components/message.d.ts +0 -11
- package/dist/components/message.d.ts.map +0 -1
- package/dist/components/message.js +0 -21
- package/dist/components/state-notice.d.ts +0 -13
- package/dist/components/state-notice.d.ts.map +0 -1
- package/dist/components/state-notice.js +0 -8
- package/dist/components/watch-it-work-band.d.ts +0 -12
- package/dist/components/watch-it-work-band.d.ts.map +0 -1
- package/dist/components/watch-it-work-band.js +0 -8
- package/dist/hooks/use-controllable-state.d.ts +0 -9
- package/dist/hooks/use-controllable-state.d.ts.map +0 -1
- package/dist/hooks/use-controllable-state.js +0 -23
- package/dist/lib/agent-attachment.d.ts +0 -11
- package/dist/lib/agent-attachment.d.ts.map +0 -1
- package/dist/lib/agent-attachment.js +0 -19
- package/dist/lib/agent-contracts.d.ts +0 -132
- package/dist/lib/agent-contracts.d.ts.map +0 -1
- package/dist/lib/agent-contracts.js +0 -6
- package/dist/lib/agent-state.d.ts +0 -22
- package/dist/lib/agent-state.d.ts.map +0 -1
- package/dist/lib/agent-state.js +0 -96
- package/dist/lib/agent-work-state.d.ts +0 -36
- package/dist/lib/agent-work-state.d.ts.map +0 -1
- package/dist/lib/agent-work-state.js +0 -36
- package/dist/lib/message-scroller-primitive/components.d.ts +0 -17
- package/dist/lib/message-scroller-primitive/components.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/components.js +0 -204
- package/dist/lib/message-scroller-primitive/geometry.d.ts +0 -51
- package/dist/lib/message-scroller-primitive/geometry.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/geometry.js +0 -199
- package/dist/lib/message-scroller-primitive/index.d.ts +0 -12
- package/dist/lib/message-scroller-primitive/index.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/index.js +0 -12
- package/dist/lib/message-scroller-primitive/stores.d.ts +0 -6
- package/dist/lib/message-scroller-primitive/stores.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/stores.js +0 -53
- package/dist/lib/message-scroller-primitive/types.d.ts +0 -88
- package/dist/lib/message-scroller-primitive/types.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/types.js +0 -40
- package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts +0 -19
- package/dist/lib/message-scroller-primitive/use-message-scroller-commands.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/use-message-scroller-commands.js +0 -188
- package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts +0 -7
- package/dist/lib/message-scroller-primitive/use-message-scroller-controller.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/use-message-scroller-controller.js +0 -506
- package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts +0 -49
- package/dist/lib/message-scroller-primitive/use-message-scroller-refs.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/use-message-scroller-refs.js +0 -90
- package/dist/lib/message-scroller-primitive/use-render.d.ts +0 -22
- package/dist/lib/message-scroller-primitive/use-render.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/use-render.js +0 -113
- package/dist/lib/message-scroller-primitive/utils.d.ts +0 -4
- package/dist/lib/message-scroller-primitive/utils.d.ts.map +0 -1
- package/dist/lib/message-scroller-primitive/utils.js +0 -9
- package/docs/agent-work-surfaces.md +0 -132
- package/docs/migration/ai-elements-vendoring.md +0 -29
- package/docs/terminal-tui-semantics.md +0 -172
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../lib/utils.js";
|
|
3
|
-
const defaultDemoSurfaceLabels = {
|
|
4
|
-
approvalLabel: "Human approval",
|
|
5
|
-
approveAction: "Approve",
|
|
6
|
-
editAction: "Edit",
|
|
7
|
-
liveDemoLabel: "live demo",
|
|
8
|
-
};
|
|
9
|
-
function delayStep(index) {
|
|
10
|
-
return {
|
|
11
|
-
"--nc-anim-delay": `calc(var(--nc-duration-stagger) * ${index})`,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
function DemoSurface({ script, title = "Nadia", className, children, autoplay = true, labels, ...props }) {
|
|
15
|
-
if (!script) {
|
|
16
|
-
return (_jsx("div", { "data-slot": "demo-surface", className: cn("grid min-h-0 bg-card", className), ...props, children: children }));
|
|
17
|
-
}
|
|
18
|
-
const demoLabels = { ...defaultDemoSurfaceLabels, ...labels };
|
|
19
|
-
return (_jsxs("div", { "data-slot": "demo-surface", className: cn("nc-chat-thread h-[var(--nc-h-bento-mobile-main)] min-h-0 lg:h-full", className), "data-nc-autoplay": autoplay ? "" : undefined, "data-nc-autoplay-name": title, ...props, children: [_jsxs("div", { className: "nc-chat-thread-header", children: [_jsx("span", { className: "nc-agent-avatar", "data-accent": script.accent, "aria-hidden": "true", children: "NA" }), _jsxs("div", { className: "nc-chat-thread-identity", children: [_jsx("div", { className: "nc-chat-thread-domain", children: script.domain }), _jsxs("div", { className: "nc-chat-thread-name", children: [_jsx("span", { children: title }), _jsxs("span", { className: "nc-chat-thread-role", children: ["/ ", script.role] })] })] }), _jsx("span", { className: "nc-chat-thread-workflow", children: script.workflow })] }), _jsxs("div", { className: "nc-chat-thread-body", children: [_jsx("div", { className: "nc-chat-bubble-user nc-anim-msg-in", style: delayStep(0), children: script.user }), _jsx("div", { className: "nc-chat-bubble-agent nc-anim-msg-in", "data-accent": script.accent, style: delayStep(1), children: script.agent }), script.traces.map((trace, index) => (_jsx("div", { className: "nc-tool-call-trace nc-anim-msg-in", style: delayStep(index + 2), children: trace }, trace))), _jsxs("div", { className: "nc-artifact-preview nc-anim-msg-in", "data-kind": script.artifactKind, style: delayStep(5), children: [_jsxs("div", { className: "nc-artifact-preview-header", children: [_jsx("span", { className: "nc-artifact-preview-title", children: script.artifactTitle }), _jsx("span", { className: "nc-artifact-preview-kind", children: script.artifactKindLabel ?? script.artifactKind })] }), _jsx("div", { className: "nc-artifact-preview-body", children: script.artifactBody })] }), _jsxs("div", { className: "nc-approval-gate nc-anim-msg-in", style: delayStep(6), children: [_jsx("span", { className: "nc-approval-gate-label", children: demoLabels.approvalLabel }), _jsx("span", { className: "nc-approval-gate-title", children: script.approvalTitle }), _jsx("span", { className: "nc-approval-gate-copy", children: script.approvalCopy }), _jsxs("span", { className: "nc-approval-gate-actions", children: [_jsx("button", { type: "button", children: demoLabels.approveAction }), _jsx("button", { type: "button", "data-variant": "secondary", children: demoLabels.editAction })] })] })] }), _jsx("div", { className: "nc-chat-thread-footer", children: _jsxs("div", { className: "nc-usage-meter", children: [_jsxs("div", { className: "nc-usage-meter-meta", children: [_jsx("span", { children: script.role }), _jsx("span", { className: "nc-usage-meter-sep", children: "/" }), _jsx("span", { children: script.steps }), _jsx("span", { className: "nc-usage-meter-spacer" }), _jsx("span", { children: demoLabels.liveDemoLabel })] }), _jsx("div", { className: "nc-usage-meter-track", children: _jsx("div", { className: "nc-usage-meter-fill", style: { "--nc-usage": script.usage } }) })] }) })] }));
|
|
20
|
-
}
|
|
21
|
-
export { DemoSurface };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { BundledLanguage } from "shiki";
|
|
3
|
-
import { FileTree } from "./ai-elements/file-tree";
|
|
4
|
-
import { type AgentRedactionRule } from "./artifact-panel";
|
|
5
|
-
export type AgentFileStatus = "unchanged" | "added" | "modified" | "deleted" | "blocked" | "running";
|
|
6
|
-
export type AgentFileNode = {
|
|
7
|
-
id: string;
|
|
8
|
-
name: string;
|
|
9
|
-
path: string;
|
|
10
|
-
type: "file" | "directory";
|
|
11
|
-
status?: AgentFileStatus;
|
|
12
|
-
description?: string;
|
|
13
|
-
language?: BundledLanguage;
|
|
14
|
-
content?: string;
|
|
15
|
-
redaction?: AgentRedactionRule;
|
|
16
|
-
children?: AgentFileNode[];
|
|
17
|
-
};
|
|
18
|
-
declare function ProjectFileTree({ files, selectedPath, defaultExpandedPaths, expandedPaths, onExpandedPathsChange, onSelectFile, className, ...props }: Omit<React.ComponentProps<typeof FileTree>, "defaultExpanded" | "expanded" | "onExpandedChange" | "onSelect"> & {
|
|
19
|
-
files: AgentFileNode[];
|
|
20
|
-
selectedPath?: string;
|
|
21
|
-
defaultExpandedPaths?: string[];
|
|
22
|
-
expandedPaths?: string[];
|
|
23
|
-
onExpandedPathsChange?: (paths: string[]) => void;
|
|
24
|
-
onSelectFile?: (node: AgentFileNode) => void;
|
|
25
|
-
}): React.JSX.Element;
|
|
26
|
-
declare function FilesPreview({ files, selectedPath, defaultExpandedPaths, onSelectFile, previewActions, className, treeClassName, previewClassName, ...props }: React.ComponentProps<"div"> & {
|
|
27
|
-
files: AgentFileNode[];
|
|
28
|
-
selectedPath?: string;
|
|
29
|
-
defaultExpandedPaths?: string[];
|
|
30
|
-
onSelectFile?: (node: AgentFileNode) => void;
|
|
31
|
-
previewActions?: React.ReactNode;
|
|
32
|
-
treeClassName?: string;
|
|
33
|
-
previewClassName?: string;
|
|
34
|
-
}): React.JSX.Element;
|
|
35
|
-
export { FilesPreview, ProjectFileTree };
|
|
36
|
-
//# sourceMappingURL=files-preview.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files-preview.d.ts","sourceRoot":"","sources":["../../src/components/files-preview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAgC,MAAM,oCAAoC,CAAC;AAE5F,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAKrC,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,OAAO,GACP,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B,CAAC;AA4EF,iBAAS,eAAe,CAAC,EACvB,KAAK,EACL,YAAY,EACZ,oBAA2C,EAC3C,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CACL,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EACrC,iBAAiB,GAAG,UAAU,GAAG,kBAAkB,GAAG,UAAU,CACjE,GAAG;IACF,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9C,qBAuCA;AA4CD,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,qBA2CA;AAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { CircleAlertIcon, CircleCheckIcon, CircleDashedIcon, CircleDotIcon, FileIcon, FolderIcon, } from "lucide-react";
|
|
5
|
-
import { FileTree, FileTreeFile, FileTreeFolder } from "./ai-elements/file-tree.js";
|
|
6
|
-
import { CodeBlock } from "./ai-elements/code-block.js";
|
|
7
|
-
import { RedactedNotice, getAgentRedactionText, } from "./artifact-panel.js";
|
|
8
|
-
import { Badge } from "./badge.js";
|
|
9
|
-
import { FeedbackState } from "./feedback-state.js";
|
|
10
|
-
import { cn } from "../lib/utils.js";
|
|
11
|
-
const defaultCodeLanguage = "plaintext";
|
|
12
|
-
const EMPTY_EXPANDED_PATHS = [];
|
|
13
|
-
const fileStatusMeta = {
|
|
14
|
-
added: { label: "Added", icon: _jsx(CircleCheckIcon, { className: "size-3" }) },
|
|
15
|
-
blocked: { label: "Blocked", icon: _jsx(CircleAlertIcon, { className: "size-3" }) },
|
|
16
|
-
deleted: { label: "Deleted", icon: _jsx(CircleDashedIcon, { className: "size-3" }) },
|
|
17
|
-
modified: { label: "Modified", icon: _jsx(CircleDotIcon, { className: "size-3" }) },
|
|
18
|
-
running: { label: "Running", icon: _jsx(CircleDotIcon, { className: "size-3" }) },
|
|
19
|
-
};
|
|
20
|
-
function collectNodes(nodes, map = new Map()) {
|
|
21
|
-
for (const node of nodes) {
|
|
22
|
-
map.set(node.path, node);
|
|
23
|
-
if (node.children) {
|
|
24
|
-
collectNodes(node.children, map);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return map;
|
|
28
|
-
}
|
|
29
|
-
function findFirstFile(nodes) {
|
|
30
|
-
for (const node of nodes) {
|
|
31
|
-
if (node.type === "file") {
|
|
32
|
-
return node;
|
|
33
|
-
}
|
|
34
|
-
const child = findFirstFile(node.children ?? []);
|
|
35
|
-
if (child) {
|
|
36
|
-
return child;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
function FileStatusBadge({ status }) {
|
|
42
|
-
if (!status || status === "unchanged") {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
const { icon, label } = fileStatusMeta[status];
|
|
46
|
-
return (_jsxs(Badge, { "data-slot": "file-status-badge", variant: "outline", className: "gap-1", children: [icon, label] }));
|
|
47
|
-
}
|
|
48
|
-
function renderFileNode(node) {
|
|
49
|
-
if (node.type === "directory") {
|
|
50
|
-
return (_jsx(FileTreeFolder, { path: node.path, name: node.name, children: (node.children ?? []).map(renderFileNode) }, node.id));
|
|
51
|
-
}
|
|
52
|
-
return (_jsxs(FileTreeFile, { path: node.path, name: node.name, children: [_jsx("span", { className: "size-4 shrink-0" }), _jsx(FileIcon, { className: "size-4 shrink-0 text-muted-foreground" }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: node.name }), _jsx(FileStatusBadge, { status: node.status })] }, node.id));
|
|
53
|
-
}
|
|
54
|
-
function ProjectFileTree({ files, selectedPath, defaultExpandedPaths = EMPTY_EXPANDED_PATHS, expandedPaths, onExpandedPathsChange, onSelectFile, className, ...props }) {
|
|
55
|
-
const nodeByPath = React.useMemo(() => collectNodes(files), [files]);
|
|
56
|
-
const defaultExpanded = React.useMemo(() => new Set(defaultExpandedPaths), [defaultExpandedPaths]);
|
|
57
|
-
const controlledExpanded = React.useMemo(() => (expandedPaths ? new Set(expandedPaths) : undefined), [expandedPaths]);
|
|
58
|
-
return (_jsx("div", { "data-slot": "project-file-tree", className: className, children: _jsx(FileTree, { selectedPath: selectedPath, defaultExpanded: defaultExpanded, expanded: controlledExpanded, onExpandedChange: (paths) => onExpandedPathsChange?.([...paths]), onSelect: (path) => {
|
|
59
|
-
const node = nodeByPath.get(path);
|
|
60
|
-
if (node) {
|
|
61
|
-
onSelectFile?.(node);
|
|
62
|
-
}
|
|
63
|
-
}, ...props, children: files.length > 0 ? (files.map(renderFileNode)) : (_jsx(FeedbackState, { status: "empty", title: "No files", compact: true, className: "rounded-md border-0 bg-transparent" })) }) }));
|
|
64
|
-
}
|
|
65
|
-
function FilePreviewBody({ file }) {
|
|
66
|
-
if (!file) {
|
|
67
|
-
return (_jsx(FeedbackState, { status: "empty", title: "No file selected", compact: true, className: "rounded-md border-0 bg-transparent" }));
|
|
68
|
-
}
|
|
69
|
-
if (file.redaction) {
|
|
70
|
-
return _jsx(RedactedNotice, { redaction: file.redaction });
|
|
71
|
-
}
|
|
72
|
-
if (file.type === "directory") {
|
|
73
|
-
return (_jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [_jsx(FolderIcon, { className: "size-4" }), file.description ?? "Directory selected."] }));
|
|
74
|
-
}
|
|
75
|
-
if (file.content) {
|
|
76
|
-
return (_jsx(CodeBlock, { code: file.content, language: file.language ?? defaultCodeLanguage, showLineNumbers: true }));
|
|
77
|
-
}
|
|
78
|
-
return (_jsx("div", { className: "text-sm text-muted-foreground", children: getAgentRedactionText(file.redaction) ?? file.description ?? "File content is not loaded." }));
|
|
79
|
-
}
|
|
80
|
-
function FilesPreview({ files, selectedPath, defaultExpandedPaths, onSelectFile, previewActions, className, treeClassName, previewClassName, ...props }) {
|
|
81
|
-
const nodeByPath = React.useMemo(() => collectNodes(files), [files]);
|
|
82
|
-
const selectedFile = (selectedPath ? nodeByPath.get(selectedPath) : undefined) ?? findFirstFile(files);
|
|
83
|
-
return (_jsxs("div", { "data-slot": "files-preview", className: cn("grid gap-4 rounded-lg border bg-background p-3 md:grid-cols-[minmax(14rem,18rem)_1fr]", className), ...props, children: [_jsx(ProjectFileTree, { files: files, selectedPath: selectedFile?.path, defaultExpandedPaths: defaultExpandedPaths, onSelectFile: onSelectFile, className: treeClassName }), _jsxs("section", { "data-slot": "files-preview-panel", className: cn("min-w-0 rounded-md border bg-card", previewClassName), children: [_jsxs("header", { className: "flex items-center justify-between gap-3 border-b px-3 py-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate text-sm font-medium", children: selectedFile?.name ?? "Preview" }), selectedFile?.path && (_jsx("div", { className: "truncate text-xs text-muted-foreground", children: selectedFile.path }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [_jsx(FileStatusBadge, { status: selectedFile?.status }), previewActions] })] }), _jsx("div", { className: "p-3", children: _jsx(FilePreviewBody, { file: selectedFile }) })] })] }));
|
|
84
|
-
}
|
|
85
|
-
export { FilesPreview, ProjectFileTree };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
3
|
-
import { type VariantProps } from "class-variance-authority";
|
|
4
|
-
declare const markerVariants: (props?: ({
|
|
5
|
-
variant?: "separator" | "default" | "border" | null | undefined;
|
|
6
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
-
declare function Marker({ className, variant, render, ...props }: useRender.ComponentProps<"div"> & VariantProps<typeof markerVariants>): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
8
|
-
declare function MarkerIcon({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
9
|
-
declare function MarkerContent({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
10
|
-
export { Marker, MarkerIcon, MarkerContent, markerVariants };
|
|
11
|
-
//# sourceMappingURL=marker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../src/components/marker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;8EAYnB,CAAC;AAEF,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAmB,EACnB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,0EAevE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBASxE;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAW3E;AAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
-
import { cva } from "class-variance-authority";
|
|
5
|
-
import { cn } from "../lib/utils.js";
|
|
6
|
-
const markerVariants = cva("group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground", {
|
|
7
|
-
variants: {
|
|
8
|
-
variant: {
|
|
9
|
-
default: "",
|
|
10
|
-
separator: "before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border",
|
|
11
|
-
border: "border-b border-border pb-2",
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
function Marker({ className, variant = "default", render, ...props }) {
|
|
16
|
-
return useRender({
|
|
17
|
-
defaultTagName: "div",
|
|
18
|
-
props: mergeProps({
|
|
19
|
-
className: cn(markerVariants({ variant, className })),
|
|
20
|
-
}, props),
|
|
21
|
-
render,
|
|
22
|
-
state: {
|
|
23
|
-
slot: "marker",
|
|
24
|
-
variant,
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
function MarkerIcon({ className, ...props }) {
|
|
29
|
-
return (_jsx("span", { "data-slot": "marker-icon", "aria-hidden": "true", className: cn("size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
30
|
-
}
|
|
31
|
-
function MarkerContent({ className, ...props }) {
|
|
32
|
-
return (_jsx("span", { "data-slot": "marker-content", className: cn("min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className), ...props }));
|
|
33
|
-
}
|
|
34
|
-
export { Marker, MarkerIcon, MarkerContent, markerVariants };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { Button } from "./button";
|
|
3
|
-
import { MessageScroller as MessageScrollerPrimitive, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "../lib/message-scroller-primitive/index";
|
|
4
|
-
declare function MessageScrollerProvider(props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>): React.JSX.Element;
|
|
5
|
-
declare function MessageScroller({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Root>): React.JSX.Element;
|
|
6
|
-
declare function MessageScrollerViewport({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>): React.JSX.Element;
|
|
7
|
-
declare function MessageScrollerContent({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Content>): React.JSX.Element;
|
|
8
|
-
declare function MessageScrollerItem({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Item>): React.JSX.Element;
|
|
9
|
-
type MessageScrollerButtonProps = Omit<React.ComponentProps<typeof MessageScrollerPrimitive.Button>, "render"> & {
|
|
10
|
-
variant?: React.ComponentProps<typeof Button>["variant"];
|
|
11
|
-
size?: React.ComponentProps<typeof Button>["size"];
|
|
12
|
-
};
|
|
13
|
-
declare function MessageScrollerButton({ className, children, direction, variant, size, ...props }: MessageScrollerButtonProps): React.JSX.Element;
|
|
14
|
-
export { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, };
|
|
15
|
-
export type { MessageScrollerButtonProps };
|
|
16
|
-
export type { MessageScrollerDefaultScrollPosition, MessageScrollerScrollAlign, MessageScrollerScrollable, MessageScrollerScrollOptions, MessageScrollerVisibilityState, } from "../lib/message-scroller-primitive/index";
|
|
17
|
-
//# sourceMappingURL=message-scroller.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message-scroller.d.ts","sourceRoot":"","sources":["../../src/components/message-scroller.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,eAAe,IAAI,wBAAwB,EAC3C,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,kCAAkC,CAAC;AAQ1C,iBAAS,uBAAuB,CAC9B,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,QAAQ,CAAC,qBAGtE;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,IAAI,CAAC,qBAW5D;AAED,iBAAS,uBAAuB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,QAAQ,CAAC,qBAWhE;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,OAAO,CAAC,qBAQ/D;AAED,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,IAAI,CAAC,qBAW5D;AAED,KAAK,0BAA0B,GAAG,IAAI,CACpC,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,MAAM,CAAC,EAC5D,QAAQ,CACT,GAAG;IACF,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CACpD,CAAC;AAEF,iBAAS,qBAAqB,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,SAAiB,EACjB,OAAqB,EACrB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,0BAA0B,qBAuB5B;AAED,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,GAC7B,CAAC;AAEF,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAE3C,YAAY,EACV,oCAAoC,EACpC,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { ArrowDownIcon } from "lucide-react";
|
|
4
|
-
import { Button } from "./button.js";
|
|
5
|
-
import { MessageScroller as MessageScrollerPrimitive, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, } from "../lib/message-scroller-primitive/index.js";
|
|
6
|
-
import { cn } from "../lib/utils.js";
|
|
7
|
-
// Headless behavior (viewport ref, follow-bottom, visibility, scroll commands)
|
|
8
|
-
// lives in the vendored primitive under ../lib/message-scroller-primitive. This file
|
|
9
|
-
// is the styled brand wrapper: data-slots plus token-only classes over each
|
|
10
|
-
// primitive part.
|
|
11
|
-
function MessageScrollerProvider(props) {
|
|
12
|
-
return _jsx(MessageScrollerPrimitive.Provider, { ...props });
|
|
13
|
-
}
|
|
14
|
-
function MessageScroller({ className, ...props }) {
|
|
15
|
-
return (_jsx(MessageScrollerPrimitive.Root, { "data-slot": "message-scroller", className: cn("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className), ...props }));
|
|
16
|
-
}
|
|
17
|
-
function MessageScrollerViewport({ className, ...props }) {
|
|
18
|
-
return (_jsx(MessageScrollerPrimitive.Viewport, { "data-slot": "message-scroller-viewport", className: cn("scroll-fade-b size-full min-h-0 min-w-0 overflow-y-auto overscroll-contain contain-content", className), ...props }));
|
|
19
|
-
}
|
|
20
|
-
function MessageScrollerContent({ className, ...props }) {
|
|
21
|
-
return (_jsx(MessageScrollerPrimitive.Content, { "data-slot": "message-scroller-content", className: cn("flex h-max min-h-full flex-col gap-6", className), ...props }));
|
|
22
|
-
}
|
|
23
|
-
function MessageScrollerItem({ className, ...props }) {
|
|
24
|
-
return (_jsx(MessageScrollerPrimitive.Item, { "data-slot": "message-scroller-item", className: cn("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className), ...props }));
|
|
25
|
-
}
|
|
26
|
-
function MessageScrollerButton({ className, children, direction = "end", variant = "secondary", size = "icon-sm", ...props }) {
|
|
27
|
-
return (_jsx(MessageScrollerPrimitive.Button, { direction: direction, "data-slot": "message-scroller-button", "data-direction": direction, render: _jsx(Button, { variant: variant, size: size }), className: cn("absolute bottom-4 left-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-[var(--nc-duration-open)] ease-[var(--nc-ease-out-strong)] hover:bg-muted hover:text-foreground motion-reduce:transition-none data-[active=false]:pointer-events-none data-[active=false]:scale-[0.98] data-[active=false]:opacity-0 data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:bottom-auto data-[direction=start]:data-[active=false]:-translate-y-full data-[direction=start]:[&_svg]:rotate-180", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(ArrowDownIcon, { "data-icon": true }), _jsx("span", { className: "sr-only", children: direction === "end" ? "Scroll to end" : "Scroll to start" })] })) }));
|
|
28
|
-
}
|
|
29
|
-
export { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
declare function MessageGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
3
|
-
declare function Message({ className, align, ...props }: React.ComponentProps<"div"> & {
|
|
4
|
-
align?: "start" | "end";
|
|
5
|
-
}): React.JSX.Element;
|
|
6
|
-
declare function MessageAvatar({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
7
|
-
declare function MessageContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
8
|
-
declare function MessageHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
9
|
-
declare function MessageFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
10
|
-
export { MessageGroup, Message, MessageAvatar, MessageContent, MessageFooter, MessageHeader };
|
|
11
|
-
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/components/message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQzE;AAED,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,KAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,qBAY3D;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW3E;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW1E;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW1E;AAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../lib/utils.js";
|
|
3
|
-
function MessageGroup({ className, ...props }) {
|
|
4
|
-
return (_jsx("div", { "data-slot": "message-group", className: cn("flex min-w-0 flex-col gap-2", className), ...props }));
|
|
5
|
-
}
|
|
6
|
-
function Message({ className, align = "start", ...props }) {
|
|
7
|
-
return (_jsx("div", { "data-slot": "message", "data-align": align, className: cn("group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse", className), ...props }));
|
|
8
|
-
}
|
|
9
|
-
function MessageAvatar({ className, ...props }) {
|
|
10
|
-
return (_jsx("div", { "data-slot": "message-avatar", className: cn("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8", className), ...props }));
|
|
11
|
-
}
|
|
12
|
-
function MessageContent({ className, ...props }) {
|
|
13
|
-
return (_jsx("div", { "data-slot": "message-content", className: cn("flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end", className), ...props }));
|
|
14
|
-
}
|
|
15
|
-
function MessageHeader({ className, ...props }) {
|
|
16
|
-
return (_jsx("div", { "data-slot": "message-header", className: cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className), ...props }));
|
|
17
|
-
}
|
|
18
|
-
function MessageFooter({ className, ...props }) {
|
|
19
|
-
return (_jsx("div", { "data-slot": "message-footer", className: cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end", className), ...props }));
|
|
20
|
-
}
|
|
21
|
-
export { MessageGroup, Message, MessageAvatar, MessageContent, MessageFooter, MessageHeader };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { AgentWorkState } from "./agent-message";
|
|
3
|
-
declare function StateNotice({ state, icon: Icon, title, description, actions, className, ...props }: {
|
|
4
|
-
state: Exclude<AgentWorkState, "empty" | "idle">;
|
|
5
|
-
icon: React.ComponentType<{
|
|
6
|
-
className?: string;
|
|
7
|
-
}>;
|
|
8
|
-
title: React.ReactNode;
|
|
9
|
-
description?: React.ReactNode;
|
|
10
|
-
actions?: React.ReactNode;
|
|
11
|
-
} & Omit<React.ComponentProps<"div">, "title">): React.JSX.Element;
|
|
12
|
-
export { StateNotice };
|
|
13
|
-
//# sourceMappingURL=state-notice.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state-notice.d.ts","sourceRoot":"","sources":["../../src/components/state-notice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,iBAAS,WAAW,CAAC,EACnB,KAAK,EACL,IAAI,EAAE,IAAI,EACV,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IACD,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IACjD,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,qBAsB7C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { statePresentation } from "../lib/agent-work-state.js";
|
|
3
|
-
import { cn } from "../lib/utils.js";
|
|
4
|
-
function StateNotice({ state, icon: Icon, title, description, actions, className, ...props }) {
|
|
5
|
-
const { role, busy } = statePresentation(state);
|
|
6
|
-
return (_jsxs("div", { "data-agent-state": state, role: role, className: cn("flex flex-wrap items-center gap-3 border bg-muted/30 text-sm", className), ...props, children: [_jsx(Icon, { className: cn("size-4 text-muted-foreground", busy && "motion-safe:animate-spin motion-reduce:animate-pulse") }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "font-medium", children: title }), description && _jsx("div", { className: "text-muted-foreground", children: description })] }), actions] }));
|
|
7
|
-
}
|
|
8
|
-
export { StateNotice };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type DemoSurfaceLabels, type DemoSurfaceScript } from "./demo-surface";
|
|
3
|
-
declare function WatchItWorkBand({ kicker, title, lead, primaryDemo, secondaryDemo, demoLabels, className, ...props }: React.ComponentProps<"div"> & {
|
|
4
|
-
kicker?: string;
|
|
5
|
-
title?: string;
|
|
6
|
-
lead?: string;
|
|
7
|
-
primaryDemo?: DemoSurfaceScript;
|
|
8
|
-
secondaryDemo?: DemoSurfaceScript;
|
|
9
|
-
demoLabels?: Partial<DemoSurfaceLabels>;
|
|
10
|
-
}): React.JSX.Element;
|
|
11
|
-
export { WatchItWorkBand };
|
|
12
|
-
//# sourceMappingURL=watch-it-work-band.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch-it-work-band.d.ts","sourceRoot":"","sources":["../../src/components/watch-it-work-band.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAe,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE7F,iBAAS,eAAe,CAAC,EACvB,MAAgC,EAChC,KAAuB,EACvB,IAAI,EACJ,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC,qBAsBA;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { SeamGrid } from "./seam-grid.js";
|
|
3
|
-
import { Bento, BentoItem } from "./bento.js";
|
|
4
|
-
import { DemoSurface } from "./demo-surface.js";
|
|
5
|
-
function WatchItWorkBand({ kicker = "Product demonstration", title = "Watch it work", lead, primaryDemo, secondaryDemo, demoLabels, className, ...props }) {
|
|
6
|
-
return (_jsx(SeamGrid, { "data-slot": "watch-it-work-band", className: className, ...props, children: _jsxs(Bento, { children: [_jsxs(BentoItem, { span: 4, children: [_jsx("p", { className: "nc-type-caption-mono text-muted-foreground uppercase", children: kicker }), _jsx("h2", { className: "nc-type-title-md text-foreground", children: title }), lead ? _jsx("p", { className: "nc-type-body-md text-muted-foreground", children: lead }) : null] }), primaryDemo ? (_jsx(BentoItem, { span: 4, surface: "soft", stretch: true, className: "p-[var(--nc-sm)]", children: _jsx(DemoSurface, { labels: demoLabels, script: primaryDemo, title: "Conversation" }) })) : null, secondaryDemo ? (_jsx(BentoItem, { span: 4, surface: "soft", stretch: true, className: "p-[var(--nc-sm)]", children: _jsx(DemoSurface, { labels: demoLabels, script: secondaryDemo, title: "Screen" }) })) : null] }) }));
|
|
7
|
-
}
|
|
8
|
-
export { WatchItWorkBand };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
type SetStateAction<T> = T | ((previousValue: T) => T);
|
|
2
|
-
type UseControllableStateParams<T> = {
|
|
3
|
-
defaultProp?: T;
|
|
4
|
-
onChange?: (value: T) => void;
|
|
5
|
-
prop?: T;
|
|
6
|
-
};
|
|
7
|
-
declare function useControllableState<T>({ defaultProp, onChange, prop }: UseControllableStateParams<T>): readonly [T, (nextValue: SetStateAction<T>) => void];
|
|
8
|
-
export { useControllableState };
|
|
9
|
-
//# sourceMappingURL=use-controllable-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-controllable-state.d.ts","sourceRoot":"","sources":["../../src/hooks/use-controllable-state.ts"],"names":[],"mappings":"AAIA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvD,KAAK,0BAA0B,CAAC,CAAC,IAAI;IACnC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC,4BAW/E,cAAc,CAAC,CAAC,CAAC,WAkBhC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
function useControllableState({ defaultProp, onChange, prop }) {
|
|
4
|
-
const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultProp);
|
|
5
|
-
const isControlled = prop !== undefined;
|
|
6
|
-
const value = isControlled ? prop : uncontrolledValue;
|
|
7
|
-
const onChangeRef = React.useRef(onChange);
|
|
8
|
-
React.useEffect(() => {
|
|
9
|
-
onChangeRef.current = onChange;
|
|
10
|
-
}, [onChange]);
|
|
11
|
-
const setValue = React.useCallback((nextValue) => {
|
|
12
|
-
const resolvedValue = typeof nextValue === "function" ? nextValue(value) : nextValue;
|
|
13
|
-
if (Object.is(value, resolvedValue)) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
if (!isControlled) {
|
|
17
|
-
setUncontrolledValue(resolvedValue);
|
|
18
|
-
}
|
|
19
|
-
onChangeRef.current?.(resolvedValue);
|
|
20
|
-
}, [isControlled, value]);
|
|
21
|
-
return [value, setValue];
|
|
22
|
-
}
|
|
23
|
-
export { useControllableState };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { AttachmentData } from "../components/ai-elements/attachments";
|
|
2
|
-
type AgentAttachmentDataInput = {
|
|
3
|
-
id: string;
|
|
4
|
-
type: "file" | "image" | "audio" | "video" | "source";
|
|
5
|
-
name: string;
|
|
6
|
-
mediaType?: string;
|
|
7
|
-
url?: string;
|
|
8
|
-
};
|
|
9
|
-
declare function agentAttachmentToData(attachment: AgentAttachmentDataInput): AttachmentData;
|
|
10
|
-
export { agentAttachmentToData };
|
|
11
|
-
//# sourceMappingURL=agent-attachment.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-attachment.d.ts","sourceRoot":"","sources":["../../src/lib/agent-attachment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,iBAAS,qBAAqB,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc,CAkBnF;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function agentAttachmentToData(attachment) {
|
|
2
|
-
if (attachment.type === "source") {
|
|
3
|
-
return {
|
|
4
|
-
filename: attachment.name,
|
|
5
|
-
id: attachment.id,
|
|
6
|
-
mediaType: attachment.mediaType ?? "text/plain",
|
|
7
|
-
title: attachment.name,
|
|
8
|
-
type: "source-document",
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
return {
|
|
12
|
-
filename: attachment.name,
|
|
13
|
-
id: attachment.id,
|
|
14
|
-
mediaType: attachment.mediaType,
|
|
15
|
-
type: "file",
|
|
16
|
-
url: attachment.url,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export { agentAttachmentToData };
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
export type AgentApprovalChoice = "run" | "deny" | "session" | "always";
|
|
2
|
-
export type AgentApprovalAlias = "approve-once" | "reject" | "approve-session" | "approve-always";
|
|
3
|
-
export declare const agentApprovalAliases: {
|
|
4
|
-
readonly always: "approve-always";
|
|
5
|
-
readonly deny: "reject";
|
|
6
|
-
readonly run: "approve-once";
|
|
7
|
-
readonly session: "approve-session";
|
|
8
|
-
};
|
|
9
|
-
export interface AgentApprovalRequest {
|
|
10
|
-
/** False when the backend cannot honor a permanent approval. */
|
|
11
|
-
allowPermanent?: boolean;
|
|
12
|
-
command: string;
|
|
13
|
-
description: string;
|
|
14
|
-
}
|
|
15
|
-
export interface AgentClarifyRequest {
|
|
16
|
-
choices: string[] | null;
|
|
17
|
-
/** Whether the user may provide an answer outside the listed choices. */
|
|
18
|
-
otherAllowed: boolean;
|
|
19
|
-
question: string;
|
|
20
|
-
}
|
|
21
|
-
export type AgentTodoStatus = "pending" | "in_progress" | "completed" | "cancelled";
|
|
22
|
-
export interface AgentTodoItem {
|
|
23
|
-
content: string;
|
|
24
|
-
id: string;
|
|
25
|
-
status: AgentTodoStatus;
|
|
26
|
-
}
|
|
27
|
-
export interface AgentModelPricing {
|
|
28
|
-
/** Formatted cached-input price, or null when unavailable. */
|
|
29
|
-
cache: string | null;
|
|
30
|
-
free: boolean;
|
|
31
|
-
/** Formatted input price per million tokens. */
|
|
32
|
-
input: string;
|
|
33
|
-
/** Formatted output price per million tokens. */
|
|
34
|
-
output: string;
|
|
35
|
-
}
|
|
36
|
-
export interface AgentModelOptionProvider {
|
|
37
|
-
authenticated?: boolean;
|
|
38
|
-
auth_type?: string;
|
|
39
|
-
free_tier?: boolean;
|
|
40
|
-
is_current?: boolean;
|
|
41
|
-
is_user_defined?: boolean;
|
|
42
|
-
key_env?: string;
|
|
43
|
-
models?: string[];
|
|
44
|
-
name: string;
|
|
45
|
-
pricing?: Record<string, AgentModelPricing>;
|
|
46
|
-
slug: string;
|
|
47
|
-
total_models?: number;
|
|
48
|
-
/** Model ids locked for the current free-tier account. */
|
|
49
|
-
unavailable_models?: string[];
|
|
50
|
-
warning?: string;
|
|
51
|
-
}
|
|
52
|
-
export interface AgentModelOptions {
|
|
53
|
-
model?: string;
|
|
54
|
-
provider?: string;
|
|
55
|
-
providers?: AgentModelOptionProvider[];
|
|
56
|
-
}
|
|
57
|
-
export interface AgentSessionListItem {
|
|
58
|
-
active: boolean;
|
|
59
|
-
id: string;
|
|
60
|
-
preview: string | null;
|
|
61
|
-
title: string | null;
|
|
62
|
-
}
|
|
63
|
-
export type AgentSubagentStatus = "completed" | "error" | "failed" | "interrupted" | "queued" | "running" | "timeout";
|
|
64
|
-
export interface AgentSubagentOutputEntry {
|
|
65
|
-
isError: boolean;
|
|
66
|
-
preview: string;
|
|
67
|
-
tool: string;
|
|
68
|
-
}
|
|
69
|
-
export interface AgentSubagentProgress {
|
|
70
|
-
apiCalls?: number;
|
|
71
|
-
costUsd?: number;
|
|
72
|
-
depth: number;
|
|
73
|
-
durationSeconds?: number;
|
|
74
|
-
filesRead?: string[];
|
|
75
|
-
filesWritten?: string[];
|
|
76
|
-
goal: string;
|
|
77
|
-
id: string;
|
|
78
|
-
index: number;
|
|
79
|
-
inputTokens?: number;
|
|
80
|
-
iteration?: number;
|
|
81
|
-
model?: string;
|
|
82
|
-
notes: string[];
|
|
83
|
-
outputTail?: AgentSubagentOutputEntry[];
|
|
84
|
-
outputTokens?: number;
|
|
85
|
-
parentId: null | string;
|
|
86
|
-
reasoningTokens?: number;
|
|
87
|
-
startedAt?: number;
|
|
88
|
-
status: AgentSubagentStatus;
|
|
89
|
-
summary?: string;
|
|
90
|
-
taskCount: number;
|
|
91
|
-
thinking: string[];
|
|
92
|
-
toolCount: number;
|
|
93
|
-
tools: string[];
|
|
94
|
-
toolsets?: string[];
|
|
95
|
-
}
|
|
96
|
-
export interface AgentSubagentAggregate {
|
|
97
|
-
activeCount: number;
|
|
98
|
-
costUsd: number;
|
|
99
|
-
descendantCount: number;
|
|
100
|
-
filesTouched: number;
|
|
101
|
-
hotness: number;
|
|
102
|
-
inputTokens: number;
|
|
103
|
-
maxDepthFromHere: number;
|
|
104
|
-
outputTokens: number;
|
|
105
|
-
totalDuration: number;
|
|
106
|
-
totalTools: number;
|
|
107
|
-
}
|
|
108
|
-
export interface AgentSubagentNode {
|
|
109
|
-
aggregate: AgentSubagentAggregate;
|
|
110
|
-
children: AgentSubagentNode[];
|
|
111
|
-
item: AgentSubagentProgress;
|
|
112
|
-
}
|
|
113
|
-
export type AgentDiffLineKind = "add" | "remove" | "context";
|
|
114
|
-
export interface AgentDiffLine {
|
|
115
|
-
kind: AgentDiffLineKind;
|
|
116
|
-
newNo?: number;
|
|
117
|
-
oldNo?: number;
|
|
118
|
-
text: string;
|
|
119
|
-
}
|
|
120
|
-
export interface AgentDiffFile {
|
|
121
|
-
lines: AgentDiffLine[];
|
|
122
|
-
path: string;
|
|
123
|
-
}
|
|
124
|
-
export type AgentQueuedMessage = string;
|
|
125
|
-
export type AgentQueue = AgentQueuedMessage[];
|
|
126
|
-
export interface AgentUsage {
|
|
127
|
-
cap: number;
|
|
128
|
-
currency: string;
|
|
129
|
-
period: string;
|
|
130
|
-
spent: number;
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=agent-contracts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-contracts.d.ts","sourceRoot":"","sources":["../../src/lib/agent-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface AgentQueueWindow<T> {
|
|
2
|
-
end: number;
|
|
3
|
-
hasEarlier: boolean;
|
|
4
|
-
hasLater: boolean;
|
|
5
|
-
start: number;
|
|
6
|
-
window: T[];
|
|
7
|
-
}
|
|
8
|
-
export declare function getAgentQueueWindow<T>(items: readonly T[], activeIndex: number | null, windowSize?: number): AgentQueueWindow<T>;
|
|
9
|
-
export interface AgentStreamingSplit {
|
|
10
|
-
stablePrefix: string;
|
|
11
|
-
unstableSuffix: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function splitAgentStreamingMarkdown(text: string, previousStablePrefix?: string): AgentStreamingSplit;
|
|
14
|
-
export interface AgentRenderBudgetMessage {
|
|
15
|
-
weight: number;
|
|
16
|
-
}
|
|
17
|
-
export interface AgentRenderBudgetWindow<T> {
|
|
18
|
-
hasEarlier: boolean;
|
|
19
|
-
window: T[];
|
|
20
|
-
}
|
|
21
|
-
export declare function windowAgentMessagesByBudget<T extends AgentRenderBudgetMessage>(messages: readonly T[], budget: number): AgentRenderBudgetWindow<T>;
|
|
22
|
-
//# sourceMappingURL=agent-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-state.d.ts","sourceRoot":"","sources":["../../src/lib/agent-state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,CAAC;CACb;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,SAAI,GACb,gBAAgB,CAAC,CAAC,CAAC,CAerB;AAmED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,oBAAoB,SAAK,GACxB,mBAAmB,CAYrB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC;CACb;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,wBAAwB,EAC5E,QAAQ,EAAE,SAAS,CAAC,EAAE,EACtB,MAAM,EAAE,MAAM,GACb,uBAAuB,CAAC,CAAC,CAAC,CAiB5B"}
|