@agi-cli/web-sdk 0.1.61
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/README.md +187 -0
- package/dist/components/chat/ChatInput.d.ts +10 -0
- package/dist/components/chat/ChatInput.d.ts.map +1 -0
- package/dist/components/chat/ChatInput.js +53 -0
- package/dist/components/chat/ChatInput.js.map +1 -0
- package/dist/components/chat/ChatInputContainer.d.ts +9 -0
- package/dist/components/chat/ChatInputContainer.d.ts.map +1 -0
- package/dist/components/chat/ChatInputContainer.js +52 -0
- package/dist/components/chat/ChatInputContainer.js.map +1 -0
- package/dist/components/chat/ConfigModal.d.ts +13 -0
- package/dist/components/chat/ConfigModal.d.ts.map +1 -0
- package/dist/components/chat/ConfigModal.js +51 -0
- package/dist/components/chat/ConfigModal.js.map +1 -0
- package/dist/components/chat/ConfigSelector.d.ts +11 -0
- package/dist/components/chat/ConfigSelector.d.ts.map +1 -0
- package/dist/components/chat/ConfigSelector.js +47 -0
- package/dist/components/chat/ConfigSelector.js.map +1 -0
- package/dist/components/chat/StopButton.d.ts +8 -0
- package/dist/components/chat/StopButton.d.ts.map +1 -0
- package/dist/components/chat/StopButton.js +25 -0
- package/dist/components/chat/StopButton.js.map +1 -0
- package/dist/components/git/GitCommitModal.d.ts +2 -0
- package/dist/components/git/GitCommitModal.d.ts.map +1 -0
- package/dist/components/git/GitCommitModal.js +44 -0
- package/dist/components/git/GitCommitModal.js.map +1 -0
- package/dist/components/git/GitDiffPanel.d.ts +2 -0
- package/dist/components/git/GitDiffPanel.d.ts.map +1 -0
- package/dist/components/git/GitDiffPanel.js +69 -0
- package/dist/components/git/GitDiffPanel.js.map +1 -0
- package/dist/components/git/GitDiffViewer.d.ts +7 -0
- package/dist/components/git/GitDiffViewer.d.ts.map +1 -0
- package/dist/components/git/GitDiffViewer.js +136 -0
- package/dist/components/git/GitDiffViewer.js.map +1 -0
- package/dist/components/git/GitFileItem.d.ts +9 -0
- package/dist/components/git/GitFileItem.d.ts.map +1 -0
- package/dist/components/git/GitFileItem.js +90 -0
- package/dist/components/git/GitFileItem.js.map +1 -0
- package/dist/components/git/GitFileList.d.ts +7 -0
- package/dist/components/git/GitFileList.d.ts.map +1 -0
- package/dist/components/git/GitFileList.js +24 -0
- package/dist/components/git/GitFileList.js.map +1 -0
- package/dist/components/git/GitSidebar.d.ts +2 -0
- package/dist/components/git/GitSidebar.d.ts.map +1 -0
- package/dist/components/git/GitSidebar.js +38 -0
- package/dist/components/git/GitSidebar.js.map +1 -0
- package/dist/components/git/GitSidebarToggle.d.ts +2 -0
- package/dist/components/git/GitSidebarToggle.d.ts.map +1 -0
- package/dist/components/git/GitSidebarToggle.js +18 -0
- package/dist/components/git/GitSidebarToggle.js.map +1 -0
- package/dist/components/index.d.ts +28 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +34 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/messages/AssistantMessageGroup.d.ts +10 -0
- package/dist/components/messages/AssistantMessageGroup.d.ts.map +1 -0
- package/dist/components/messages/AssistantMessageGroup.js +85 -0
- package/dist/components/messages/AssistantMessageGroup.js.map +1 -0
- package/dist/components/messages/MessagePartItem.d.ts +11 -0
- package/dist/components/messages/MessagePartItem.d.ts.map +1 -0
- package/dist/components/messages/MessagePartItem.js +290 -0
- package/dist/components/messages/MessagePartItem.js.map +1 -0
- package/dist/components/messages/MessageThread.d.ts +9 -0
- package/dist/components/messages/MessageThread.d.ts.map +1 -0
- package/dist/components/messages/MessageThread.js +88 -0
- package/dist/components/messages/MessageThread.js.map +1 -0
- package/dist/components/messages/MessageThreadContainer.d.ts +6 -0
- package/dist/components/messages/MessageThreadContainer.d.ts.map +1 -0
- package/dist/components/messages/MessageThreadContainer.js +18 -0
- package/dist/components/messages/MessageThreadContainer.js.map +1 -0
- package/dist/components/messages/UserMessageGroup.d.ts +8 -0
- package/dist/components/messages/UserMessageGroup.d.ts.map +1 -0
- package/dist/components/messages/UserMessageGroup.js +43 -0
- package/dist/components/messages/UserMessageGroup.js.map +1 -0
- package/dist/components/messages/renderers/ApplyPatchRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/ApplyPatchRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/ApplyPatchRenderer.js +36 -0
- package/dist/components/messages/renderers/ApplyPatchRenderer.js.map +1 -0
- package/dist/components/messages/renderers/BashRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/BashRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/BashRenderer.js +48 -0
- package/dist/components/messages/renderers/BashRenderer.js.map +1 -0
- package/dist/components/messages/renderers/DebugRenderer.d.ts +5 -0
- package/dist/components/messages/renderers/DebugRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/DebugRenderer.js +5 -0
- package/dist/components/messages/renderers/DebugRenderer.js.map +1 -0
- package/dist/components/messages/renderers/DiffView.d.ts +6 -0
- package/dist/components/messages/renderers/DiffView.d.ts.map +1 -0
- package/dist/components/messages/renderers/DiffView.js +186 -0
- package/dist/components/messages/renderers/DiffView.js.map +1 -0
- package/dist/components/messages/renderers/EditRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/EditRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/EditRenderer.js +15 -0
- package/dist/components/messages/renderers/EditRenderer.js.map +1 -0
- package/dist/components/messages/renderers/ErrorRenderer.d.ts +8 -0
- package/dist/components/messages/renderers/ErrorRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/ErrorRenderer.js +118 -0
- package/dist/components/messages/renderers/ErrorRenderer.js.map +1 -0
- package/dist/components/messages/renderers/FinishRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/FinishRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/FinishRenderer.js +7 -0
- package/dist/components/messages/renderers/FinishRenderer.js.map +1 -0
- package/dist/components/messages/renderers/GenericRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/GenericRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/GenericRenderer.js +42 -0
- package/dist/components/messages/renderers/GenericRenderer.js.map +1 -0
- package/dist/components/messages/renderers/GitCommitRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/GitCommitRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/GitCommitRenderer.js +18 -0
- package/dist/components/messages/renderers/GitCommitRenderer.js.map +1 -0
- package/dist/components/messages/renderers/GitDiffRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/GitDiffRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/GitDiffRenderer.js +25 -0
- package/dist/components/messages/renderers/GitDiffRenderer.js.map +1 -0
- package/dist/components/messages/renderers/GitStatusRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/GitStatusRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/GitStatusRenderer.js +56 -0
- package/dist/components/messages/renderers/GitStatusRenderer.js.map +1 -0
- package/dist/components/messages/renderers/ListRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/ListRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/ListRenderer.js +14 -0
- package/dist/components/messages/renderers/ListRenderer.js.map +1 -0
- package/dist/components/messages/renderers/ProgressUpdateRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/ProgressUpdateRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/ProgressUpdateRenderer.js +9 -0
- package/dist/components/messages/renderers/ProgressUpdateRenderer.js.map +1 -0
- package/dist/components/messages/renderers/ReadRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/ReadRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/ReadRenderer.js +59 -0
- package/dist/components/messages/renderers/ReadRenderer.js.map +1 -0
- package/dist/components/messages/renderers/SearchRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/SearchRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/SearchRenderer.js +62 -0
- package/dist/components/messages/renderers/SearchRenderer.js.map +1 -0
- package/dist/components/messages/renderers/ToolErrorDisplay.d.ts +12 -0
- package/dist/components/messages/renderers/ToolErrorDisplay.d.ts.map +1 -0
- package/dist/components/messages/renderers/ToolErrorDisplay.js +10 -0
- package/dist/components/messages/renderers/ToolErrorDisplay.js.map +1 -0
- package/dist/components/messages/renderers/TreeRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/TreeRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/TreeRenderer.js +20 -0
- package/dist/components/messages/renderers/TreeRenderer.js.map +1 -0
- package/dist/components/messages/renderers/UpdatePlanRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/UpdatePlanRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/UpdatePlanRenderer.js +13 -0
- package/dist/components/messages/renderers/UpdatePlanRenderer.js.map +1 -0
- package/dist/components/messages/renderers/WebSearchRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/WebSearchRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/WebSearchRenderer.js +35 -0
- package/dist/components/messages/renderers/WebSearchRenderer.js.map +1 -0
- package/dist/components/messages/renderers/WriteRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/WriteRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/WriteRenderer.js +18 -0
- package/dist/components/messages/renderers/WriteRenderer.js.map +1 -0
- package/dist/components/messages/renderers/index.d.ts +10 -0
- package/dist/components/messages/renderers/index.d.ts.map +1 -0
- package/dist/components/messages/renderers/index.js +72 -0
- package/dist/components/messages/renderers/index.js.map +1 -0
- package/dist/components/messages/renderers/types.d.ts +77 -0
- package/dist/components/messages/renderers/types.d.ts.map +1 -0
- package/dist/components/messages/renderers/types.js +2 -0
- package/dist/components/messages/renderers/types.js.map +1 -0
- package/dist/components/messages/renderers/utils.d.ts +11 -0
- package/dist/components/messages/renderers/utils.d.ts.map +1 -0
- package/dist/components/messages/renderers/utils.js +18 -0
- package/dist/components/messages/renderers/utils.js.map +1 -0
- package/dist/components/sessions/LeanHeader.d.ts +9 -0
- package/dist/components/sessions/LeanHeader.d.ts.map +1 -0
- package/dist/components/sessions/LeanHeader.js +28 -0
- package/dist/components/sessions/LeanHeader.js.map +1 -0
- package/dist/components/sessions/SessionHeader.d.ts +7 -0
- package/dist/components/sessions/SessionHeader.d.ts.map +1 -0
- package/dist/components/sessions/SessionHeader.js +49 -0
- package/dist/components/sessions/SessionHeader.js.map +1 -0
- package/dist/components/sessions/SessionItem.d.ts +9 -0
- package/dist/components/sessions/SessionItem.d.ts.map +1 -0
- package/dist/components/sessions/SessionItem.js +27 -0
- package/dist/components/sessions/SessionItem.js.map +1 -0
- package/dist/components/sessions/SessionListContainer.d.ts +7 -0
- package/dist/components/sessions/SessionListContainer.d.ts.map +1 -0
- package/dist/components/sessions/SessionListContainer.js +32 -0
- package/dist/components/sessions/SessionListContainer.js.map +1 -0
- package/dist/components/ui/Button.d.ts +8 -0
- package/dist/components/ui/Button.d.ts.map +1 -0
- package/dist/components/ui/Button.js +19 -0
- package/dist/components/ui/Button.js.map +1 -0
- package/dist/components/ui/Card.d.ts +6 -0
- package/dist/components/ui/Card.d.ts.map +1 -0
- package/dist/components/ui/Card.js +7 -0
- package/dist/components/ui/Card.js.map +1 -0
- package/dist/components/ui/Input.d.ts +6 -0
- package/dist/components/ui/Input.d.ts.map +1 -0
- package/dist/components/ui/Input.js +7 -0
- package/dist/components/ui/Input.js.map +1 -0
- package/dist/components/ui/Textarea.d.ts +6 -0
- package/dist/components/ui/Textarea.d.ts.map +1 -0
- package/dist/components/ui/Textarea.js +7 -0
- package/dist/components/ui/Textarea.js.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +9 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useConfig.d.ts +18 -0
- package/dist/hooks/useConfig.d.ts.map +1 -0
- package/dist/hooks/useConfig.js +16 -0
- package/dist/hooks/useConfig.js.map +1 -0
- package/dist/hooks/useGit.d.ts +8 -0
- package/dist/hooks/useGit.d.ts.map +1 -0
- package/dist/hooks/useGit.js +71 -0
- package/dist/hooks/useGit.js.map +1 -0
- package/dist/hooks/useMessages.d.ts +4 -0
- package/dist/hooks/useMessages.d.ts.map +1 -0
- package/dist/hooks/useMessages.js +25 -0
- package/dist/hooks/useMessages.js.map +1 -0
- package/dist/hooks/useSessionStream.d.ts +2 -0
- package/dist/hooks/useSessionStream.d.ts.map +1 -0
- package/dist/hooks/useSessionStream.js +332 -0
- package/dist/hooks/useSessionStream.js.map +1 -0
- package/dist/hooks/useSessions.d.ts +4 -0
- package/dist/hooks/useSessions.d.ts.map +1 -0
- package/dist/hooks/useSessions.js +19 -0
- package/dist/hooks/useSessions.js.map +1 -0
- package/dist/hooks/useTheme.d.ts +8 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/hooks/useTheme.js +40 -0
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/hooks/useWorkingDirectory.d.ts +2 -0
- package/dist/hooks/useWorkingDirectory.d.ts.map +1 -0
- package/dist/hooks/useWorkingDirectory.js +34 -0
- package/dist/hooks/useWorkingDirectory.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api-client.d.ts +44 -0
- package/dist/lib/api-client.d.ts.map +1 -0
- package/dist/lib/api-client.js +195 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/config.d.ts +5 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +22 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/index.d.ts +4 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/sse-client.d.ts +13 -0
- package/dist/lib/sse-client.d.ts.map +1 -0
- package/dist/lib/sse-client.js +111 -0
- package/dist/lib/sse-client.js.map +1 -0
- package/dist/stores/gitStore.d.ts +20 -0
- package/dist/stores/gitStore.d.ts.map +1 -0
- package/dist/stores/gitStore.js +35 -0
- package/dist/stores/gitStore.js.map +1 -0
- package/dist/stores/index.d.ts +3 -0
- package/dist/stores/index.d.ts.map +1 -0
- package/dist/stores/index.js +3 -0
- package/dist/stores/index.js.map +1 -0
- package/dist/stores/sidebarStore.d.ts +26 -0
- package/dist/stores/sidebarStore.d.ts.map +1 -0
- package/dist/stores/sidebarStore.js +16 -0
- package/dist/stores/sidebarStore.js.map +1 -0
- package/dist/types/api.d.ts +128 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +2 -0
- package/dist/types/api.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GenericRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAIpD,wBAAgB,eAAe,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,oBAAoB,2CAkFtB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronRight, AlertCircle } from 'lucide-react';
|
|
3
|
+
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
4
|
+
import { vscDarkPlus } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
5
|
+
import { formatDuration } from './utils';
|
|
6
|
+
import { ToolErrorDisplay } from './ToolErrorDisplay';
|
|
7
|
+
export function GenericRenderer({ toolName, contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
8
|
+
const result = contentJson.result;
|
|
9
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
10
|
+
const hasResult = result && Object.keys(result).length > 0;
|
|
11
|
+
// Check for errors
|
|
12
|
+
const hasError = contentJson.error ||
|
|
13
|
+
(result &&
|
|
14
|
+
typeof result === 'object' &&
|
|
15
|
+
'ok' in result &&
|
|
16
|
+
result.ok === false);
|
|
17
|
+
const errorMessage = typeof contentJson.error === 'string'
|
|
18
|
+
? contentJson.error
|
|
19
|
+
: result &&
|
|
20
|
+
typeof result === 'object' &&
|
|
21
|
+
'error' in result &&
|
|
22
|
+
typeof result.error === 'string'
|
|
23
|
+
? result.error
|
|
24
|
+
: null;
|
|
25
|
+
const errorStack = result &&
|
|
26
|
+
typeof result === 'object' &&
|
|
27
|
+
'stack' in result &&
|
|
28
|
+
typeof result.stack === 'string'
|
|
29
|
+
? result.stack
|
|
30
|
+
: undefined;
|
|
31
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: `flex items-center gap-2 transition-colors w-full ${hasError
|
|
32
|
+
? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'
|
|
33
|
+
: 'text-foreground hover:text-foreground/80'}`, children: [_jsx(ChevronRight, { className: `h-3 w-3 flex-shrink-0 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), hasError && (_jsx(AlertCircle, { className: "h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400" })), _jsxs("span", { className: "font-medium flex-shrink-0", children: [toolName, hasError ? ' error' : ''] }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsx("span", { className: "text-muted-foreground/80 flex-shrink-0", children: timeStr })] }), isExpanded && hasError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded && !hasError && hasResult && (_jsx("div", { className: "mt-2 ml-5 bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full", children: _jsx("div", { className: "overflow-x-auto max-w-full", children: _jsx(SyntaxHighlighter, { language: "json", style: vscDarkPlus, customStyle: {
|
|
34
|
+
margin: 0,
|
|
35
|
+
padding: '0.75rem',
|
|
36
|
+
fontSize: '0.75rem',
|
|
37
|
+
lineHeight: '1.5',
|
|
38
|
+
background: 'transparent',
|
|
39
|
+
maxWidth: '100%',
|
|
40
|
+
}, wrapLines: true, wrapLongLines: true, children: JSON.stringify(result, null, 2) }) }) }))] }));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=GenericRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GenericRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitCommitRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GitCommitRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,iBAAiB,CAAC,EACjC,WAAW,EACX,cAAc,GACd,EAAE,aAAa,2CAsCf"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
3
|
+
import { vscDarkPlus } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
4
|
+
import { formatDuration } from './utils';
|
|
5
|
+
export function GitCommitRenderer({ contentJson, toolDurationMs, }) {
|
|
6
|
+
const result = contentJson.result || {};
|
|
7
|
+
const message = String(result.message || '');
|
|
8
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
9
|
+
return (_jsxs("div", { className: "text-xs space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-emerald-700 dark:text-emerald-300", children: "git commit" }), _jsx("span", { className: "text-muted-foreground/70", children: "\u00B7" }), _jsx("span", { className: "text-muted-foreground/80", children: timeStr })] }), message && (_jsx("div", { className: "bg-card/60 border border-border rounded-lg overflow-hidden max-w-full", children: _jsx("div", { className: "overflow-x-auto max-w-full", children: _jsx(SyntaxHighlighter, { language: "bash", style: vscDarkPlus, customStyle: {
|
|
10
|
+
margin: 0,
|
|
11
|
+
padding: '0.75rem',
|
|
12
|
+
fontSize: '0.75rem',
|
|
13
|
+
lineHeight: '1.5',
|
|
14
|
+
background: 'transparent',
|
|
15
|
+
maxWidth: '100%',
|
|
16
|
+
}, wrapLines: true, wrapLongLines: true, children: message }) }) }))] }));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=GitCommitRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitCommitRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GitCommitRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,UAAU,iBAAiB,CAAC,EACjC,WAAW,EACX,cAAc,GACC;IACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/C,OAAO,CACN,eAAK,SAAS,EAAC,mBAAmB,aACjC,eAAK,SAAS,EAAC,yBAAyB,aACvC,eAAM,SAAS,EAAC,oDAAoD,2BAE7D,EACP,eAAM,SAAS,EAAC,0BAA0B,uBAAS,EACnD,eAAM,SAAS,EAAC,0BAA0B,YAAE,OAAO,GAAQ,IACtD,EACL,OAAO,IAAI,CACX,cAAK,SAAS,EAAC,uEAAuE,YACrF,cAAK,SAAS,EAAC,4BAA4B,YAC1C,KAAC,iBAAiB,IACjB,QAAQ,EAAC,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE;4BACZ,MAAM,EAAE,CAAC;4BACT,OAAO,EAAE,SAAS;4BAClB,QAAQ,EAAE,SAAS;4BACnB,UAAU,EAAE,KAAK;4BACjB,UAAU,EAAE,aAAa;4BACzB,QAAQ,EAAE,MAAM;yBAChB,EACD,SAAS,QACT,aAAa,kBAEZ,OAAO,GACW,GACf,GACD,CACN,IACI,CACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitDiffRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GitDiffRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,wBAAgB,eAAe,CAAC,EAC/B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA8Df"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronRight } from 'lucide-react';
|
|
3
|
+
import { DiffView } from './DiffView';
|
|
4
|
+
import { formatDuration } from './utils';
|
|
5
|
+
export function GitDiffRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
6
|
+
const result = contentJson.result || {};
|
|
7
|
+
const patch = String(result.patch || result.diff || '');
|
|
8
|
+
const all = result.all;
|
|
9
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
10
|
+
// Count files, additions, and deletions from patch
|
|
11
|
+
const lines = patch.split('\n');
|
|
12
|
+
let files = 0;
|
|
13
|
+
let additions = 0;
|
|
14
|
+
let deletions = 0;
|
|
15
|
+
for (const line of lines) {
|
|
16
|
+
if (line.startsWith('diff --git'))
|
|
17
|
+
files += 1;
|
|
18
|
+
else if (line.startsWith('+') && !line.startsWith('+++'))
|
|
19
|
+
additions += 1;
|
|
20
|
+
else if (line.startsWith('-') && !line.startsWith('---'))
|
|
21
|
+
deletions += 1;
|
|
22
|
+
}
|
|
23
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex items-center gap-2 text-purple-700 dark:text-purple-300 transition-colors hover:text-purple-600 dark:hover:text-purple-200 w-full", children: [_jsx(ChevronRight, { className: `h-3 w-3 flex-shrink-0 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), _jsx("span", { className: "font-medium flex-shrink-0", children: "git diff" }), all && (_jsx("span", { className: "text-xs text-muted-foreground/60 flex-shrink-0", children: "(all)" })), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), files > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { className: "text-foreground/70 flex-shrink-0", children: [files, " ", files === 1 ? 'file' : 'files'] }), additions > 0 && (_jsxs("span", { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0", children: ["+", additions] })), deletions > 0 && (_jsxs("span", { className: "text-red-600 dark:text-red-400 flex-shrink-0", children: ["-", deletions] }))] })), _jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0", children: ["\u00B7 ", timeStr] })] }), isExpanded && patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsx(DiffView, { patch: patch }) }))] }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=GitDiffRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitDiffRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GitDiffRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,EAC/B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACO;IACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/C,mDAAmD;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;aACzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS,IAAI,CAAC,CAAC;aACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,wIAAwI,aAElJ,KAAC,YAAY,IACZ,SAAS,EAAE,8CAA8C,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,GACvF,EACF,eAAM,SAAS,EAAC,2BAA2B,yBAAgB,EAC1D,GAAG,IAAI,CACP,eAAM,SAAS,EAAC,gDAAgD,sBAEzD,CACP,EACD,eAAM,SAAS,EAAC,wCAAwC,uBAAS,EAChE,KAAK,GAAG,CAAC,IAAI,CACb,8BACC,gBAAM,SAAS,EAAC,kCAAkC,aAChD,KAAK,OAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IACjC,EACN,SAAS,GAAG,CAAC,IAAI,CACjB,gBAAM,SAAS,EAAC,sDAAsD,kBACnE,SAAS,IACL,CACP,EACA,SAAS,GAAG,CAAC,IAAI,CACjB,gBAAM,SAAS,EAAC,8CAA8C,kBAC3D,SAAS,IACL,CACP,IACC,CACH,EACD,gBAAM,SAAS,EAAC,wCAAwC,wBACpD,OAAO,IACJ,IACC,EACR,UAAU,IAAI,KAAK,IAAI,CACvB,cAAK,SAAS,EAAC,WAAW,YACzB,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,GACrB,CACN,IACI,CACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitStatusRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GitStatusRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAgD7C,wBAAgB,iBAAiB,CAAC,EACjC,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA4Ef"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronRight } from 'lucide-react';
|
|
3
|
+
import { formatDuration } from './utils';
|
|
4
|
+
function parseStatusLine(line) {
|
|
5
|
+
if (!line || line.length < 3)
|
|
6
|
+
return null;
|
|
7
|
+
const x = line[0];
|
|
8
|
+
const y = line[1];
|
|
9
|
+
const file = line.slice(3);
|
|
10
|
+
if (x === '?' && y === '?') {
|
|
11
|
+
return { status: '??', file, type: 'untracked' };
|
|
12
|
+
}
|
|
13
|
+
let type = 'unstaged';
|
|
14
|
+
if (x !== ' ' && y !== ' ')
|
|
15
|
+
type = 'both';
|
|
16
|
+
else if (x !== ' ')
|
|
17
|
+
type = 'staged';
|
|
18
|
+
return { status: `${x}${y}`, file, type };
|
|
19
|
+
}
|
|
20
|
+
function getStatusIcon(status) {
|
|
21
|
+
if (status === '??')
|
|
22
|
+
return '?';
|
|
23
|
+
if (status[0] === 'A' || status[1] === 'A')
|
|
24
|
+
return '+';
|
|
25
|
+
if (status[0] === 'M' || status[1] === 'M')
|
|
26
|
+
return '~';
|
|
27
|
+
if (status[0] === 'D' || status[1] === 'D')
|
|
28
|
+
return '-';
|
|
29
|
+
if (status[0] === 'R' || status[1] === 'R')
|
|
30
|
+
return '→';
|
|
31
|
+
return status;
|
|
32
|
+
}
|
|
33
|
+
function getStatusColor(type) {
|
|
34
|
+
switch (type) {
|
|
35
|
+
case 'staged':
|
|
36
|
+
return 'text-emerald-600 dark:text-emerald-400';
|
|
37
|
+
case 'unstaged':
|
|
38
|
+
return 'text-amber-600 dark:text-amber-400';
|
|
39
|
+
case 'untracked':
|
|
40
|
+
return 'text-muted-foreground/60';
|
|
41
|
+
case 'both':
|
|
42
|
+
return 'text-blue-600 dark:text-blue-400';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export function GitStatusRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
46
|
+
const result = contentJson.result || {};
|
|
47
|
+
const staged = Number(result.staged || 0);
|
|
48
|
+
const unstaged = Number(result.unstaged || 0);
|
|
49
|
+
const raw = (result.raw || []);
|
|
50
|
+
const summary = String(result.summary || '');
|
|
51
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
52
|
+
const statusLines = raw.map(parseStatusLine).filter(Boolean);
|
|
53
|
+
const hasChanges = staged > 0 || unstaged > 0;
|
|
54
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex items-center gap-2 text-blue-700 dark:text-blue-300 transition-colors hover:text-blue-600 dark:hover:text-blue-200 w-full", children: [_jsx(ChevronRight, { className: `h-3 w-3 flex-shrink-0 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), _jsx("span", { className: "font-medium flex-shrink-0", children: "git status" }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), hasChanges ? (_jsxs(_Fragment, { children: [staged > 0 && (_jsxs("span", { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0", children: [staged, " staged"] })), unstaged > 0 && (_jsxs("span", { className: "text-amber-600 dark:text-amber-400 flex-shrink-0", children: [unstaged, " unstaged"] }))] })) : (_jsx("span", { className: "text-muted-foreground/60 flex-shrink-0", children: "clean" })), _jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0", children: ["\u00B7 ", timeStr] })] }), isExpanded && (statusLines.length > 0 || summary) && (_jsx("div", { className: "mt-2 ml-5", children: statusLines.length > 0 ? (_jsx("div", { className: "bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto", children: _jsx("div", { className: "divide-y divide-border/50", children: statusLines.map((line, i) => (_jsxs("div", { className: "flex items-center gap-2 px-3 py-1.5 font-mono hover:bg-muted/20", children: [_jsx("span", { className: `font-semibold w-6 flex-shrink-0 ${getStatusColor(line.type)}`, children: getStatusIcon(line.status) }), _jsx("span", { className: "text-foreground/80 break-all", children: line.file })] }, `${line.file}-${i}`))) }) })) : (summary && (_jsx("div", { className: "bg-card/60 border border-border rounded-lg p-3 text-muted-foreground", children: summary }))) }))] }));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=GitStatusRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitStatusRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/GitStatusRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ListRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA8Cf"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown, ChevronRight } from 'lucide-react';
|
|
3
|
+
import { File, Folder } from 'lucide-react';
|
|
4
|
+
import { formatDuration } from './utils';
|
|
5
|
+
export function ListRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
6
|
+
const result = contentJson.result || {};
|
|
7
|
+
const entries = result.entries || [];
|
|
8
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
9
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex items-center gap-2 text-cyan-700 dark:text-cyan-300 transition-colors hover:text-cyan-600 dark:hover:text-cyan-200", children: [isExpanded ? (_jsx(ChevronDown, { className: "h-3 w-3" })) : (_jsx(ChevronRight, { className: "h-3 w-3" })), _jsx("span", { className: "font-medium", children: "ls" }), _jsx("span", { className: "text-muted-foreground/70", children: "\u00B7" }), _jsxs("span", { className: "text-foreground/70", children: [entries.length, " ", entries.length === 1 ? 'entry' : 'entries'] }), _jsxs("span", { className: "text-muted-foreground/80", children: ["\u00B7 ", timeStr] })] }), isExpanded && (_jsx("div", { className: "mt-2 ml-5 space-y-0.5 max-h-96 overflow-y-auto", children: entries.map((entry, i) => {
|
|
10
|
+
const e = entry;
|
|
11
|
+
return (_jsxs("div", { className: "flex items-center gap-1.5 text-xs font-mono text-foreground/80", children: [e.isDirectory ? (_jsx(Folder, { className: "h-3 w-3 text-blue-500" })) : (_jsx(File, { className: "h-3 w-3 text-muted-foreground" })), _jsx("span", { children: e.name })] }, `${e.name}-${i}`));
|
|
12
|
+
}) }))] }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ListRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ListRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACO;IACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAI,MAAM,CAAC,OAA0B,IAAI,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/C,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,yHAAyH,aAElI,UAAU,CAAC,CAAC,CAAC,CACb,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,CACnC,CAAC,CAAC,CAAC,CACH,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,CACpC,EACD,eAAM,SAAS,EAAC,aAAa,mBAAU,EACvC,eAAM,SAAS,EAAC,0BAA0B,uBAAS,EACnD,gBAAM,SAAS,EAAC,oBAAoB,aAClC,OAAO,CAAC,MAAM,OAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IACtD,EACP,gBAAM,SAAS,EAAC,0BAA0B,wBAAI,OAAO,IAAQ,IACrD,EACR,UAAU,IAAI,CACd,cAAK,SAAS,EAAC,gDAAgD,YAC7D,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBACzB,MAAM,CAAC,GAAG,KAAiD,CAAC;oBAC5D,OAAO,CACN,eAEC,SAAS,EAAC,gEAAgE,aAEzE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAChB,KAAC,MAAM,IAAC,SAAS,EAAC,uBAAuB,GAAG,CAC5C,CAAC,CAAC,CAAC,CACH,KAAC,IAAI,IAAC,SAAS,EAAC,+BAA+B,GAAG,CAClD,EACD,yBAAO,CAAC,CAAC,IAAI,GAAQ,KARhB,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAShB,CACN,CAAC;gBACH,CAAC,CAAC,GACG,CACN,IACI,CACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressUpdateRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ProgressUpdateRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,EAAE,WAAW,EAAE,EAAE,aAAa,2CAepE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export function ProgressUpdateRenderer({ contentJson }) {
|
|
3
|
+
const result = contentJson.result || {};
|
|
4
|
+
const message = String(result.message || 'Processing...');
|
|
5
|
+
const stage = result.stage ? String(result.stage) : undefined;
|
|
6
|
+
const pct = result.pct ? Number(result.pct) : undefined;
|
|
7
|
+
return (_jsxs("div", { className: "flex items-center gap-2 text-sm text-violet-700 dark:text-violet-300 animate-pulse", children: [stage && _jsxs("span", { className: "text-muted-foreground/80", children: ["[", stage, "]"] }), _jsx("span", { children: message }), pct !== undefined && (_jsxs("span", { className: "text-muted-foreground/80", children: ["(", pct, "%)"] }))] }));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ProgressUpdateRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressUpdateRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ProgressUpdateRenderer.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,sBAAsB,CAAC,EAAE,WAAW,EAAiB;IACpE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExD,OAAO,CACN,eAAK,SAAS,EAAC,oFAAoF,aACjG,KAAK,IAAI,gBAAM,SAAS,EAAC,0BAA0B,kBAAG,KAAK,SAAS,EACrE,yBAAO,OAAO,GAAQ,EACrB,GAAG,KAAK,SAAS,IAAI,CACrB,gBAAM,SAAS,EAAC,0BAA0B,kBAAG,GAAG,UAAU,CAC1D,IACI,CACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ReadRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAsC7C,wBAAgB,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA2Df"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronRight } from 'lucide-react';
|
|
3
|
+
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
4
|
+
import { vscDarkPlus } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
5
|
+
import { formatDuration } from './utils';
|
|
6
|
+
function getLanguageFromPath(path) {
|
|
7
|
+
const ext = path.split('.').pop()?.toLowerCase();
|
|
8
|
+
const langMap = {
|
|
9
|
+
js: 'javascript',
|
|
10
|
+
jsx: 'jsx',
|
|
11
|
+
ts: 'typescript',
|
|
12
|
+
tsx: 'tsx',
|
|
13
|
+
py: 'python',
|
|
14
|
+
rb: 'ruby',
|
|
15
|
+
go: 'go',
|
|
16
|
+
rs: 'rust',
|
|
17
|
+
java: 'java',
|
|
18
|
+
c: 'c',
|
|
19
|
+
cpp: 'cpp',
|
|
20
|
+
h: 'c',
|
|
21
|
+
hpp: 'cpp',
|
|
22
|
+
cs: 'csharp',
|
|
23
|
+
php: 'php',
|
|
24
|
+
sh: 'bash',
|
|
25
|
+
bash: 'bash',
|
|
26
|
+
zsh: 'bash',
|
|
27
|
+
sql: 'sql',
|
|
28
|
+
json: 'json',
|
|
29
|
+
yaml: 'yaml',
|
|
30
|
+
yml: 'yaml',
|
|
31
|
+
xml: 'xml',
|
|
32
|
+
html: 'html',
|
|
33
|
+
css: 'css',
|
|
34
|
+
scss: 'scss',
|
|
35
|
+
md: 'markdown',
|
|
36
|
+
txt: 'text',
|
|
37
|
+
};
|
|
38
|
+
return langMap[ext || ''] || 'text';
|
|
39
|
+
}
|
|
40
|
+
export function ReadRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
41
|
+
const result = contentJson.result || {};
|
|
42
|
+
const path = String(result.path || '');
|
|
43
|
+
const content = String(result.content || '');
|
|
44
|
+
const lines = content.split('\n');
|
|
45
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
46
|
+
const language = getLanguageFromPath(path);
|
|
47
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex items-center gap-2 text-blue-700 dark:text-blue-300 transition-colors hover:text-blue-600 dark:hover:text-blue-200 w-full min-w-0", children: [_jsx(ChevronRight, { className: `h-3 w-3 flex-shrink-0 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), _jsx("span", { className: "font-medium flex-shrink-0", children: "read" }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsx("span", { className: "text-foreground/70 truncate min-w-0", style: {
|
|
48
|
+
direction: 'rtl',
|
|
49
|
+
unicodeBidi: 'plaintext',
|
|
50
|
+
}, title: path, children: path }), _jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0 whitespace-nowrap", children: ["\u00B7 ", lines.length, " lines \u00B7 ", timeStr] })] }), isExpanded && content && (_jsx("div", { className: "mt-2 ml-5 bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full", children: _jsx("div", { className: "overflow-x-auto max-w-full", children: _jsx(SyntaxHighlighter, { language: language, style: vscDarkPlus, customStyle: {
|
|
51
|
+
margin: 0,
|
|
52
|
+
padding: '0.75rem',
|
|
53
|
+
fontSize: '0.75rem',
|
|
54
|
+
lineHeight: '1.5',
|
|
55
|
+
background: 'transparent',
|
|
56
|
+
maxWidth: '100%',
|
|
57
|
+
}, showLineNumbers: true, wrapLines: true, wrapLongLines: true, children: content }) }) }))] }));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=ReadRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ReadRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/SearchRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,wBAAgB,cAAc,CAAC,EAC9B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA8Hf"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown, ChevronRight, AlertCircle } from 'lucide-react';
|
|
3
|
+
import { formatDuration } from './utils';
|
|
4
|
+
import { ToolErrorDisplay } from './ToolErrorDisplay';
|
|
5
|
+
export function SearchRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
6
|
+
const result = contentJson.result || {};
|
|
7
|
+
const matches = result.matches || [];
|
|
8
|
+
const files = result.files || [];
|
|
9
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
10
|
+
// Check for errors
|
|
11
|
+
const hasError = contentJson.error ||
|
|
12
|
+
(result &&
|
|
13
|
+
typeof result === 'object' &&
|
|
14
|
+
'ok' in result &&
|
|
15
|
+
result.ok === false) ||
|
|
16
|
+
(result && 'error' in result);
|
|
17
|
+
const errorMessage = typeof contentJson.error === 'string'
|
|
18
|
+
? contentJson.error
|
|
19
|
+
: result &&
|
|
20
|
+
typeof result === 'object' &&
|
|
21
|
+
'error' in result &&
|
|
22
|
+
typeof result.error === 'string'
|
|
23
|
+
? result.error
|
|
24
|
+
: null;
|
|
25
|
+
const errorStack = result &&
|
|
26
|
+
typeof result === 'object' &&
|
|
27
|
+
'stack' in result &&
|
|
28
|
+
typeof result.stack === 'string'
|
|
29
|
+
? result.stack
|
|
30
|
+
: undefined;
|
|
31
|
+
// Determine what to show - matches for grep/ripgrep, files for glob
|
|
32
|
+
const itemCount = matches.length > 0 ? matches.length : files.length;
|
|
33
|
+
const itemLabel = matches.length > 0
|
|
34
|
+
? matches.length === 1
|
|
35
|
+
? 'match'
|
|
36
|
+
: 'matches'
|
|
37
|
+
: files.length === 1
|
|
38
|
+
? 'file'
|
|
39
|
+
: 'files';
|
|
40
|
+
// Extract search term from args
|
|
41
|
+
const searchTerm = (() => {
|
|
42
|
+
const args = contentJson.args;
|
|
43
|
+
if (args && typeof args === 'object') {
|
|
44
|
+
if (typeof args.pattern === 'string')
|
|
45
|
+
return args.pattern;
|
|
46
|
+
if (typeof args.query === 'string')
|
|
47
|
+
return args.query;
|
|
48
|
+
if (typeof args.filePattern === 'string')
|
|
49
|
+
return args.filePattern;
|
|
50
|
+
}
|
|
51
|
+
return '';
|
|
52
|
+
})();
|
|
53
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: `flex items-center gap-2 transition-colors ${hasError
|
|
54
|
+
? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'
|
|
55
|
+
: 'text-amber-700 dark:text-amber-300 hover:text-amber-600 dark:hover:text-amber-200'}`, children: [isExpanded ? (_jsx(ChevronDown, { className: "h-3 w-3" })) : (_jsx(ChevronRight, { className: "h-3 w-3" })), hasError && (_jsx(AlertCircle, { className: "h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400" })), _jsxs("span", { className: "font-medium", children: ["search", hasError ? ' error' : ''] }), searchTerm && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground/70", children: "\u00B7" }), _jsxs("span", { className: "font-mono text-foreground/90 text-[11px]", children: ["\"", searchTerm.length > 30
|
|
56
|
+
? `${searchTerm.slice(0, 30)}…`
|
|
57
|
+
: searchTerm, "\""] })] })), _jsx("span", { className: "text-muted-foreground/70", children: "\u00B7" }), _jsxs("span", { className: "text-foreground/70", children: [itemCount, " ", itemLabel] }), _jsxs("span", { className: "text-muted-foreground/80", children: ["\u00B7 ", timeStr] })] }), isExpanded && hasError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded && !hasError && matches.length > 0 && (_jsx("div", { className: "mt-2 ml-5 space-y-1 max-h-96 overflow-y-auto", children: matches.map((match, i) => {
|
|
58
|
+
const m = match;
|
|
59
|
+
return (_jsxs("div", { className: "text-xs font-mono bg-card/60 border border-border rounded px-2 py-1", children: [_jsxs("div", { className: "text-blue-600 dark:text-blue-400 truncate", children: [m.file, ":", m.line] }), _jsx("div", { className: "text-foreground/80 truncate", children: m.text })] }, `${m.file}-${m.line}-${i}`));
|
|
60
|
+
}) })), isExpanded && !hasError && files.length > 0 && matches.length === 0 && (_jsx("div", { className: "mt-2 ml-5 space-y-0.5 max-h-96 overflow-y-auto", children: files.map((file) => (_jsx("div", { className: "text-xs font-mono text-foreground/70 truncate", children: String(file) }, String(file)))) }))] }));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=SearchRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/SearchRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface ToolErrorDisplayProps {
|
|
2
|
+
error: string;
|
|
3
|
+
stack?: string;
|
|
4
|
+
showStack?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Shared error display component for tool results with ok: false
|
|
8
|
+
* Matches the structure and colors of ErrorRenderer
|
|
9
|
+
*/
|
|
10
|
+
export declare function ToolErrorDisplay({ error, stack, showStack, }: ToolErrorDisplayProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=ToolErrorDisplay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolErrorDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ToolErrorDisplay.tsx"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,SAAiB,GACjB,EAAE,qBAAqB,2CA4BvB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { AlertCircle } from 'lucide-react';
|
|
3
|
+
/**
|
|
4
|
+
* Shared error display component for tool results with ok: false
|
|
5
|
+
* Matches the structure and colors of ErrorRenderer
|
|
6
|
+
*/
|
|
7
|
+
export function ToolErrorDisplay({ error, stack, showStack = false, }) {
|
|
8
|
+
return (_jsx("div", { className: "mt-2 ml-5 p-3 bg-red-50 dark:bg-red-950/20 border border-red-200 dark:border-red-800 rounded text-sm", children: _jsxs("div", { className: "flex items-start gap-2", children: [_jsx(AlertCircle, { className: "h-4 w-4 flex-shrink-0 text-red-600 dark:text-red-400 mt-0.5" }), _jsxs("div", { className: "flex-1 space-y-2", children: [_jsxs("div", { children: [_jsx("div", { className: "font-medium text-red-600 dark:text-red-400", children: "Tool Error:" }), _jsx("div", { className: "mt-1 text-red-900 dark:text-red-200 whitespace-pre-wrap", children: error })] }), showStack && stack && (_jsxs("details", { className: "mt-2", children: [_jsx("summary", { className: "cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200", children: "View stack trace" }), _jsx("pre", { className: "mt-2 p-2 bg-red-100/50 dark:bg-red-900/20 rounded text-xs overflow-x-auto text-red-800 dark:text-red-300", children: stack })] }))] })] }) }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ToolErrorDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolErrorDisplay.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ToolErrorDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQ3C;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,SAAS,GAAG,KAAK,GACM;IACvB,OAAO,CACN,cAAK,SAAS,EAAC,sGAAsG,YACpH,eAAK,SAAS,EAAC,wBAAwB,aACtC,KAAC,WAAW,IAAC,SAAS,EAAC,6DAA6D,GAAG,EACvF,eAAK,SAAS,EAAC,kBAAkB,aAChC,0BACC,cAAK,SAAS,EAAC,4CAA4C,4BAErD,EACN,cAAK,SAAS,EAAC,yDAAyD,YACtE,KAAK,GACD,IACD,EACL,SAAS,IAAI,KAAK,IAAI,CACtB,mBAAS,SAAS,EAAC,MAAM,aACxB,kBAAS,SAAS,EAAC,kGAAkG,iCAE3G,EACV,cAAK,SAAS,EAAC,0GAA0G,YACvH,KAAK,GACD,IACG,CACV,IACI,IACD,GACD,CACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/TreeRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CAiDf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown, ChevronRight } from 'lucide-react';
|
|
3
|
+
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
4
|
+
import { vscDarkPlus } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
5
|
+
import { formatDuration } from './utils';
|
|
6
|
+
export function TreeRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
7
|
+
const result = contentJson.result || {};
|
|
8
|
+
const tree = String(result.tree || '');
|
|
9
|
+
const lines = tree.split('\n').length;
|
|
10
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
11
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex items-center gap-2 text-cyan-700 dark:text-cyan-300 transition-colors hover:text-cyan-600 dark:hover:text-cyan-200", children: [isExpanded ? (_jsx(ChevronDown, { className: "h-3 w-3" })) : (_jsx(ChevronRight, { className: "h-3 w-3" })), _jsx("span", { className: "font-medium", children: "tree" }), _jsx("span", { className: "text-muted-foreground/70", children: "\u00B7" }), _jsxs("span", { className: "text-foreground/70", children: [lines, " ", lines === 1 ? 'line' : 'lines'] }), _jsxs("span", { className: "text-muted-foreground/80", children: ["\u00B7 ", timeStr] })] }), isExpanded && tree && (_jsx("div", { className: "mt-2 ml-5 bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full", children: _jsx("div", { className: "overflow-x-auto max-w-full", children: _jsx(SyntaxHighlighter, { language: "bash", style: vscDarkPlus, customStyle: {
|
|
12
|
+
margin: 0,
|
|
13
|
+
padding: '0.75rem',
|
|
14
|
+
fontSize: '0.75rem',
|
|
15
|
+
lineHeight: '1.5',
|
|
16
|
+
background: 'transparent',
|
|
17
|
+
maxWidth: '100%',
|
|
18
|
+
}, wrapLines: true, wrapLongLines: true, children: tree }) }) }))] }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=TreeRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/TreeRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACO;IACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/C,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,yHAAyH,aAElI,UAAU,CAAC,CAAC,CAAC,CACb,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,CACnC,CAAC,CAAC,CAAC,CACH,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,CACpC,EACD,eAAM,SAAS,EAAC,aAAa,qBAAY,EACzC,eAAM,SAAS,EAAC,0BAA0B,uBAAS,EACnD,gBAAM,SAAS,EAAC,oBAAoB,aAClC,KAAK,OAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IACjC,EACP,gBAAM,SAAS,EAAC,0BAA0B,wBAAI,OAAO,IAAQ,IACrD,EACR,UAAU,IAAI,IAAI,IAAI,CACtB,cAAK,SAAS,EAAC,0GAA0G,YACxH,cAAK,SAAS,EAAC,4BAA4B,YAC1C,KAAC,iBAAiB,IACjB,QAAQ,EAAC,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE;4BACZ,MAAM,EAAE,CAAC;4BACT,OAAO,EAAE,SAAS;4BAClB,QAAQ,EAAE,SAAS;4BACnB,UAAU,EAAE,KAAK;4BACjB,UAAU,EAAE,aAAa;4BACzB,QAAQ,EAAE,MAAM;yBAChB,EACD,SAAS,QACT,aAAa,kBAEZ,IAAI,GACc,GACf,GACD,CACN,IACI,CACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdatePlanRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/UpdatePlanRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAY7C,wBAAgB,kBAAkB,CAAC,EAAE,WAAW,EAAE,EAAE,aAAa,2CA0ChE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CheckCircle2, Circle, ArrowRight } from 'lucide-react';
|
|
3
|
+
export function UpdatePlanRenderer({ contentJson }) {
|
|
4
|
+
const result = (contentJson.result || {});
|
|
5
|
+
const items = result.items || [];
|
|
6
|
+
const note = result.note;
|
|
7
|
+
return (_jsx("div", { className: "text-xs", children: _jsxs("div", { className: "bg-blue-500/10 border border-blue-500/30 dark:bg-blue-500/5 dark:border-blue-500/20 rounded-lg p-3 space-y-2", children: [note && (_jsx("div", { className: "text-blue-700 dark:text-blue-300 text-sm font-medium mb-3", children: note })), _jsx("div", { className: "space-y-1.5", children: items.map((item, idx) => (_jsxs("div", { className: "flex items-start gap-2", children: [item.status === 'completed' && (_jsx(CheckCircle2, { className: "h-4 w-4 text-emerald-600 dark:text-emerald-300 flex-shrink-0 mt-0.5" })), item.status === 'in_progress' && (_jsx(ArrowRight, { className: "h-4 w-4 text-blue-700 dark:text-blue-300 flex-shrink-0 mt-0.5 animate-pulse" })), item.status === 'pending' && (_jsx(Circle, { className: "h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5" })), _jsx("span", { className: `text-sm ${item.status === 'completed'
|
|
8
|
+
? 'text-muted-foreground line-through'
|
|
9
|
+
: item.status === 'in_progress'
|
|
10
|
+
? 'text-foreground'
|
|
11
|
+
: 'text-muted-foreground/80'}`, children: item.step })] }, `${item.step}-${idx}`))) })] }) }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=UpdatePlanRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdatePlanRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/UpdatePlanRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAahE,MAAM,UAAU,kBAAkB,CAAC,EAAE,WAAW,EAAiB;IAChE,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAqB,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,OAAO,CACN,cAAK,SAAS,EAAC,SAAS,YACvB,eAAK,SAAS,EAAC,8GAA8G,aAC3H,IAAI,IAAI,CACR,cAAK,SAAS,EAAC,2DAA2D,YACxE,IAAI,GACA,CACN,EACD,cAAK,SAAS,EAAC,aAAa,YAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CACzB,eAAiC,SAAS,EAAC,wBAAwB,aACjE,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,CAC/B,KAAC,YAAY,IAAC,SAAS,EAAC,qEAAqE,GAAG,CAChG,EACA,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,CACjC,KAAC,UAAU,IAAC,SAAS,EAAC,6EAA6E,GAAG,CACtG,EACA,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAC7B,KAAC,MAAM,IAAC,SAAS,EAAC,oDAAoD,GAAG,CACzE,EACD,eACC,SAAS,EAAE,WACV,IAAI,CAAC,MAAM,KAAK,WAAW;oCAC1B,CAAC,CAAC,oCAAoC;oCACtC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa;wCAC9B,CAAC,CAAC,iBAAiB;wCACnB,CAAC,CAAC,0BACL,EAAE,YAED,IAAI,CAAC,IAAI,GACJ,KApBE,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAqBzB,CACN,CAAC,GACG,IACD,GACD,CACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSearchRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/WebSearchRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAe7C,wBAAgB,iBAAiB,CAAC,EACjC,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CAqHf"}
|