@agi-cli/web-sdk 0.1.79 → 0.1.81

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.
Files changed (43) hide show
  1. package/dist/components/chat/ChatInput.d.ts.map +1 -1
  2. package/dist/components/chat/ChatInput.js +79 -8
  3. package/dist/components/chat/ChatInput.js.map +1 -1
  4. package/dist/components/chat/FileMentionPopup.d.ts +15 -0
  5. package/dist/components/chat/FileMentionPopup.d.ts.map +1 -0
  6. package/dist/components/chat/FileMentionPopup.js +123 -0
  7. package/dist/components/chat/FileMentionPopup.js.map +1 -0
  8. package/dist/components/chat/UnifiedAgentSelector.d.ts.map +1 -1
  9. package/dist/components/chat/UnifiedAgentSelector.js +63 -11
  10. package/dist/components/chat/UnifiedAgentSelector.js.map +1 -1
  11. package/dist/components/chat/UnifiedModelSelector.d.ts.map +1 -1
  12. package/dist/components/chat/UnifiedModelSelector.js +140 -27
  13. package/dist/components/chat/UnifiedModelSelector.js.map +1 -1
  14. package/dist/components/messages/AssistantMessageGroup.d.ts.map +1 -1
  15. package/dist/components/messages/AssistantMessageGroup.js +3 -1
  16. package/dist/components/messages/AssistantMessageGroup.js.map +1 -1
  17. package/dist/components/messages/renderers/ApplyPatchRenderer.d.ts.map +1 -1
  18. package/dist/components/messages/renderers/ApplyPatchRenderer.js +2 -2
  19. package/dist/components/messages/renderers/ApplyPatchRenderer.js.map +1 -1
  20. package/dist/components/messages/renderers/EditRenderer.d.ts +1 -1
  21. package/dist/components/messages/renderers/EditRenderer.d.ts.map +1 -1
  22. package/dist/components/messages/renderers/EditRenderer.js +19 -9
  23. package/dist/components/messages/renderers/EditRenderer.js.map +1 -1
  24. package/dist/components/messages/renderers/ReadRenderer.d.ts.map +1 -1
  25. package/dist/components/messages/renderers/ReadRenderer.js +17 -6
  26. package/dist/components/messages/renderers/ReadRenderer.js.map +1 -1
  27. package/dist/components/messages/renderers/WriteRenderer.d.ts.map +1 -1
  28. package/dist/components/messages/renderers/WriteRenderer.js +17 -7
  29. package/dist/components/messages/renderers/WriteRenderer.js.map +1 -1
  30. package/dist/hooks/index.d.ts +1 -0
  31. package/dist/hooks/index.d.ts.map +1 -1
  32. package/dist/hooks/index.js +1 -0
  33. package/dist/hooks/index.js.map +1 -1
  34. package/dist/hooks/useConfig.d.ts.map +1 -1
  35. package/dist/hooks/useFiles.d.ts +9 -0
  36. package/dist/hooks/useFiles.d.ts.map +1 -0
  37. package/dist/hooks/useFiles.js +14 -0
  38. package/dist/hooks/useFiles.js.map +1 -0
  39. package/dist/lib/api-client.d.ts +8 -0
  40. package/dist/lib/api-client.d.ts.map +1 -1
  41. package/dist/lib/api-client.js +8 -1
  42. package/dist/lib/api-client.js.map +1 -1
  43. package/package.json +4 -3
@@ -1,13 +1,125 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useRef, useMemo } from 'react';
3
3
  import { ChevronDown, Search } from 'lucide-react';
4
+ import Fuse from 'fuse.js';
4
5
  import { useAllModels } from '../../hooks/useConfig';
5
6
  export function UnifiedModelSelector({ provider, model, onChange, disabled = false, }) {
6
7
  const { data: allModels, isLoading } = useAllModels();
7
8
  const [isOpen, setIsOpen] = useState(false);
8
9
  const [searchQuery, setSearchQuery] = useState('');
10
+ const [highlightedIndex, setHighlightedIndex] = useState(0);
9
11
  const dropdownRef = useRef(null);
10
12
  const searchInputRef = useRef(null);
13
+ const itemRefs = useRef([]);
14
+ const flattenedModels = useMemo(() => {
15
+ if (!allModels)
16
+ return [];
17
+ const flattened = [];
18
+ for (const [providerKey, providerData] of Object.entries(allModels)) {
19
+ for (const modelItem of providerData.models) {
20
+ flattened.push({
21
+ providerKey,
22
+ providerLabel: providerData.label,
23
+ modelId: modelItem.id,
24
+ modelLabel: modelItem.label,
25
+ toolCall: modelItem.toolCall,
26
+ reasoning: modelItem.reasoning,
27
+ });
28
+ }
29
+ }
30
+ return flattened;
31
+ }, [allModels]);
32
+ const fuse = useMemo(() => {
33
+ return new Fuse(flattenedModels, {
34
+ keys: [
35
+ { name: 'modelLabel', weight: 1 },
36
+ { name: 'modelId', weight: 0.5 },
37
+ { name: 'providerLabel', weight: 0.3 },
38
+ ],
39
+ threshold: 0.5,
40
+ ignoreLocation: true,
41
+ includeScore: true,
42
+ distance: 100,
43
+ minMatchCharLength: 1,
44
+ findAllMatches: true,
45
+ });
46
+ }, [flattenedModels]);
47
+ const filteredModels = useMemo(() => {
48
+ if (!allModels)
49
+ return {};
50
+ if (!searchQuery.trim())
51
+ return allModels;
52
+ const results = fuse.search(searchQuery);
53
+ const sortedResults = results.sort((a, b) => {
54
+ const scoreA = a.score ?? 1;
55
+ const scoreB = b.score ?? 1;
56
+ if (Math.abs(scoreA - scoreB) < 0.001) {
57
+ const labelA = a.item.modelLabel.toLowerCase();
58
+ const labelB = b.item.modelLabel.toLowerCase();
59
+ const query = searchQuery.toLowerCase();
60
+ const indexA = labelA.indexOf(query);
61
+ const indexB = labelB.indexOf(query);
62
+ if (indexA >= 0 && indexB < 0)
63
+ return -1;
64
+ if (indexB >= 0 && indexA < 0)
65
+ return 1;
66
+ if (indexA >= 0 && indexB >= 0)
67
+ return indexA - indexB;
68
+ }
69
+ return scoreA - scoreB;
70
+ });
71
+ const filtered = {};
72
+ for (const result of sortedResults) {
73
+ const item = result.item;
74
+ if (!filtered[item.providerKey]) {
75
+ filtered[item.providerKey] = {
76
+ label: item.providerLabel,
77
+ models: [],
78
+ };
79
+ }
80
+ const existingModel = filtered[item.providerKey].models.find((m) => m.id === item.modelId);
81
+ if (!existingModel) {
82
+ filtered[item.providerKey].models.push({
83
+ id: item.modelId,
84
+ label: item.modelLabel,
85
+ toolCall: item.toolCall,
86
+ reasoning: item.reasoning,
87
+ });
88
+ }
89
+ }
90
+ return filtered;
91
+ }, [allModels, searchQuery, fuse]);
92
+ const filteredFlatList = useMemo(() => {
93
+ const list = [];
94
+ for (const [providerKey, providerData] of Object.entries(filteredModels)) {
95
+ for (const modelItem of providerData.models) {
96
+ list.push({
97
+ providerKey,
98
+ providerLabel: providerData.label,
99
+ modelId: modelItem.id,
100
+ modelLabel: modelItem.label,
101
+ toolCall: modelItem.toolCall,
102
+ reasoning: modelItem.reasoning,
103
+ });
104
+ }
105
+ }
106
+ return list;
107
+ }, [filteredModels]);
108
+ useEffect(() => {
109
+ if (isOpen) {
110
+ setHighlightedIndex(0);
111
+ }
112
+ }, [searchQuery, isOpen]);
113
+ useEffect(() => {
114
+ if (isOpen &&
115
+ highlightedIndex >= 0 &&
116
+ highlightedIndex < itemRefs.current.length) {
117
+ itemRefs.current[highlightedIndex]?.scrollIntoView({
118
+ block: 'nearest',
119
+ behavior: 'smooth',
120
+ });
121
+ }
122
+ }, [highlightedIndex, isOpen]);
11
123
  useEffect(() => {
12
124
  const handleClickOutside = (event) => {
13
125
  if (dropdownRef.current &&
@@ -30,44 +142,45 @@ export function UnifiedModelSelector({ provider, model, onChange, disabled = fal
30
142
  document.removeEventListener('keydown', handleEscape);
31
143
  };
32
144
  }, [isOpen]);
33
- const filteredModels = useMemo(() => {
34
- if (!allModels)
35
- return {};
36
- if (!searchQuery.trim())
37
- return allModels;
38
- const query = searchQuery.toLowerCase();
39
- const filtered = {};
40
- for (const [providerKey, providerData] of Object.entries(allModels)) {
41
- const providerMatches = providerData.label.toLowerCase().includes(query);
42
- const matchingModels = providerData.models.filter((m) => providerMatches ||
43
- m.label.toLowerCase().includes(query) ||
44
- m.id.toLowerCase().includes(query));
45
- if (matchingModels.length > 0) {
46
- filtered[providerKey] = {
47
- label: providerData.label,
48
- models: matchingModels,
49
- };
50
- }
51
- }
52
- return filtered;
53
- }, [allModels, searchQuery]);
54
145
  const handleSelect = (selectedProvider, selectedModel) => {
55
146
  onChange(selectedProvider, selectedModel);
56
147
  setIsOpen(false);
57
148
  setSearchQuery('');
58
149
  };
59
- const handleKeyDown = (event, selectedProvider, selectedModel) => {
60
- if (event.key === 'Enter' || event.key === ' ') {
150
+ const handleSearchKeyDown = (event) => {
151
+ if (filteredFlatList.length === 0)
152
+ return;
153
+ if (event.key === 'ArrowDown') {
61
154
  event.preventDefault();
62
- handleSelect(selectedProvider, selectedModel);
155
+ setHighlightedIndex((prev) => prev < filteredFlatList.length - 1 ? prev + 1 : 0);
156
+ }
157
+ else if (event.key === 'ArrowUp') {
158
+ event.preventDefault();
159
+ setHighlightedIndex((prev) => prev > 0 ? prev - 1 : filteredFlatList.length - 1);
160
+ }
161
+ else if (event.key === 'Enter') {
162
+ event.preventDefault();
163
+ const highlighted = filteredFlatList[highlightedIndex];
164
+ if (highlighted) {
165
+ handleSelect(highlighted.providerKey, highlighted.modelId);
166
+ }
63
167
  }
64
168
  };
65
169
  const currentProviderLabel = allModels?.[provider]?.label || provider;
66
170
  const currentModelLabel = allModels?.[provider]?.models.find((m) => m.id === model)?.label || model;
67
- return (_jsxs("div", { ref: dropdownRef, className: "relative w-full", children: [_jsxs("button", { type: "button", onClick: () => !disabled && setIsOpen(!isOpen), disabled: disabled || isLoading, className: "w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors", children: [_jsxs("span", { className: "flex items-center gap-2 text-sm truncate", children: [_jsx("span", { className: "text-[hsl(var(--muted-foreground))]", children: currentProviderLabel }), _jsx("span", { className: "text-[hsl(var(--muted-foreground))]/50", children: "/" }), _jsx("span", { className: "text-[hsl(var(--foreground))]", children: currentModelLabel })] }), _jsx(ChevronDown, { className: `w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}` })] }), isOpen && !isLoading && allModels && (_jsxs("div", { className: "absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col", children: [_jsx("div", { className: "p-2 border-b border-[hsl(var(--border))]", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]" }), _jsx("input", { ref: searchInputRef, type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "Search providers and models...", className: "w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]" })] }) }), _jsx("div", { className: "overflow-y-auto", children: Object.keys(filteredModels).length === 0 ? (_jsx("div", { className: "p-4 text-center text-[hsl(var(--muted-foreground))] text-sm", children: "No models found" })) : (Object.entries(filteredModels).map(([providerKey, providerData]) => (_jsxs("div", { className: "border-b border-[hsl(var(--border))] last:border-0", children: [_jsx("div", { className: "px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))]", children: providerData.label }), _jsx("div", { children: providerData.models.map((modelItem) => {
171
+ return (_jsxs("div", { ref: dropdownRef, className: "relative w-full", children: [_jsxs("button", { type: "button", onClick: () => !disabled && setIsOpen(!isOpen), disabled: disabled || isLoading, className: "w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors", children: [_jsxs("span", { className: "flex items-center gap-2 text-sm truncate", children: [_jsx("span", { className: "text-[hsl(var(--muted-foreground))]", children: currentProviderLabel }), _jsx("span", { className: "text-[hsl(var(--muted-foreground))]/50", children: "/" }), _jsx("span", { className: "text-[hsl(var(--foreground))]", children: currentModelLabel })] }), _jsx(ChevronDown, { className: `w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}` })] }), isOpen && !isLoading && allModels && (_jsxs("div", { className: "absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col", children: [_jsx("div", { className: "p-2 border-b border-[hsl(var(--border))]", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]" }), _jsx("input", { ref: searchInputRef, type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), onKeyDown: handleSearchKeyDown, placeholder: "Search providers and models...", className: "w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]" })] }) }), _jsx("div", { className: "overflow-y-auto", children: Object.keys(filteredModels).length === 0 ? (_jsx("div", { className: "p-4 text-center text-[hsl(var(--muted-foreground))] text-sm", children: "No models found" })) : (Object.entries(filteredModels).map(([providerKey, providerData]) => (_jsxs("div", { className: "border-b border-[hsl(var(--border))] last:border-0", children: [_jsx("div", { className: "px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))]", children: providerData.label }), _jsx("div", { children: providerData.models.map((modelItem) => {
68
172
  const isSelected = providerKey === provider && modelItem.id === model;
69
- return (_jsxs("button", { type: "button", onClick: () => handleSelect(providerKey, modelItem.id), onKeyDown: (e) => handleKeyDown(e, providerKey, modelItem.id), className: `w-full text-left px-4 py-2 text-sm hover:bg-[hsl(var(--accent))] flex items-center justify-between transition-colors ${isSelected
70
- ? 'bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))] font-medium'
173
+ const flatIndex = filteredFlatList.findIndex((item) => item.providerKey === providerKey &&
174
+ item.modelId === modelItem.id);
175
+ const isHighlighted = flatIndex === highlightedIndex;
176
+ return (_jsxs("button", { ref: (el) => {
177
+ if (flatIndex >= 0) {
178
+ itemRefs.current[flatIndex] = el;
179
+ }
180
+ }, type: "button", onClick: () => handleSelect(providerKey, modelItem.id), onMouseEnter: () => setHighlightedIndex(flatIndex), className: `w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${isHighlighted
181
+ ? 'bg-[hsl(var(--accent))]'
182
+ : 'hover:bg-[hsl(var(--accent))]'} ${isSelected
183
+ ? 'text-[hsl(var(--accent-foreground))] font-medium'
71
184
  : 'text-[hsl(var(--foreground))]'}`, children: [_jsx("span", { className: "truncate", children: modelItem.label }), (modelItem.toolCall || modelItem.reasoning) && (_jsxs("div", { className: "flex gap-1 ml-2 flex-shrink-0", children: [modelItem.toolCall && (_jsx("span", { className: "text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded", children: "Tools" })), modelItem.reasoning && (_jsx("span", { className: "text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded", children: "Reasoning" }))] }))] }, modelItem.id));
72
185
  }) })] }, providerKey)))) })] }))] }));
73
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedModelSelector.js","sourceRoot":"","sources":["../../../src/components/chat/UnifiedModelSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnifiedModelSelector.js","sourceRoot":"","sources":["../../../src/components/chat/UnifiedModelSelector.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessageGroup.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessageGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,UAAU,0BAA0B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;CACvB;AAsBD,eAAO,MAAM,qBAAqB,kEA4KjC,CAAC"}
1
+ {"version":3,"file":"AssistantMessageGroup.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessageGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,UAAU,0BAA0B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;CACvB;AAsBD,eAAO,MAAM,qBAAqB,kEAgLjC,CAAC"}
@@ -44,7 +44,9 @@ export const AssistantMessageGroup = memo(function AssistantMessageGroup({ messa
44
44
  };
45
45
  return (_jsxs("div", { className: "relative", children: [showHeader && (_jsx("div", { className: "pb-2", children: _jsxs("div", { className: "inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4", children: [_jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10", children: _jsx(Sparkles, { className: "h-3.5 w-3.5 text-violet-700 dark:text-violet-300" }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-2 gap-y-1 text-xs md:text-sm text-muted-foreground pl-3", children: [message.agent && (_jsx("span", { className: "font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap", children: message.agent })), message.agent && message.provider && (_jsx("span", { className: "hidden md:inline", children: "\u00B7" })), message.provider && (_jsx("span", { className: "text-muted-foreground whitespace-nowrap", children: message.provider })), message.model && _jsx("span", { className: "hidden md:inline", children: "\u00B7" }), message.model && (_jsx("span", { className: "text-muted-foreground break-all md:break-normal", children: message.model })), message.createdAt && (_jsx("span", { className: "hidden md:inline", children: "\u00B7" })), message.createdAt && (_jsx("span", { className: "text-muted-foreground whitespace-nowrap", children: formatTime(message.createdAt) }))] })] }) })), _jsxs("div", { className: "relative ml-1", children: [parts.map((part, index) => {
46
46
  const isLastPart = index === parts.length - 1;
47
- const showLine = !isLastPart || hasNextAssistantMessage;
47
+ // Don't show line after finish tool
48
+ const isFinishTool = part.type === 'tool_result' && part.toolName === 'finish';
49
+ const showLine = (!isLastPart || hasNextAssistantMessage) && !isFinishTool;
48
50
  const isLastToolCall = part.type === 'tool_call' && isLastPart;
49
51
  const isProgressUpdate = part.type === 'tool_result' &&
50
52
  part.toolName === 'progress_update';
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessageGroup.js","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessageGroup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssistantMessageGroup.js","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessageGroup.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApplyPatchRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ApplyPatchRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAqB7C,wBAAgB,kBAAkB,CAAC,EAClC,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CAkIf"}
1
+ {"version":3,"file":"ApplyPatchRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ApplyPatchRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAqB7C,wBAAgB,kBAAkB,CAAC,EAClC,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA8If"}
@@ -30,7 +30,7 @@ export function ApplyPatchRenderer({ contentJson, toolDurationMs, isExpanded, on
30
30
  const changes = Array.isArray(contentJson.result?.changes)
31
31
  ? contentJson.result?.changes
32
32
  : [];
33
- // Check for errors
33
+ const singleFilePath = files === 1 && changes.length > 0 ? changes[0].filePath : null;
34
34
  const hasError = contentJson.error ||
35
35
  (contentJson.result &&
36
36
  'ok' in contentJson.result &&
@@ -50,6 +50,6 @@ export function ApplyPatchRenderer({ contentJson, toolDurationMs, isExpanded, on
50
50
  : undefined;
51
51
  return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: `flex items-center gap-2 transition-colors w-full ${hasError
52
52
  ? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'
53
- : 'text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200'}`, children: [_jsx(ChevronRight, { className: `h-3 w-3 flex-shrink-0 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), _jsxs("span", { className: "font-medium flex-shrink-0", children: ["apply patch", hasError ? ' error' : ''] }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsxs("span", { className: "text-foreground/70 flex-shrink-0", children: [files, " ", files === 1 ? 'file' : 'files'] }), _jsxs("span", { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0", children: ["+", additions] }), _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 && hasError && errorMessage && (_jsxs("div", { children: [_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true }), patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsxs("details", { 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: "Show patch that failed" }), _jsx("div", { className: "mt-2", children: _jsx(DiffView, { patch: patch }) })] }) }))] })), isExpanded && !hasError && changes.length > 0 && (_jsx("div", { className: "mt-2 ml-5 space-y-2", children: changes.map((change) => (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "font-mono text-foreground/80", children: change.filePath }), _jsx("div", { className: "flex flex-wrap gap-2", children: change.hunks.map((hunk, index) => (_jsx("span", { className: "rounded bg-muted px-2 py-0.5 text-[0.65rem] font-mono text-muted-foreground", children: formatHunkLabel(hunk) }, `apply-patch-${change.filePath}-hunk-${index}`))) })] }, `apply-patch-${change.filePath}-${change.kind}`))) })), isExpanded && !hasError && patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsx(DiffView, { patch: patch }) }))] }));
53
+ : 'text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200'}`, children: [_jsx(ChevronRight, { className: `h-3 w-3 flex-shrink-0 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), _jsxs("span", { className: "font-medium flex-shrink-0", children: ["apply patch", hasError ? ' error' : ''] }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), singleFilePath ? (_jsx("span", { className: "text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap", dir: "rtl", title: singleFilePath, children: singleFilePath })) : (_jsxs("span", { className: "text-foreground/70 flex-shrink-0", children: [files, " ", files === 1 ? 'file' : 'files'] })), _jsxs("span", { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0", children: ["+", additions] }), _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 && hasError && errorMessage && (_jsxs("div", { children: [_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true }), patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsxs("details", { 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: "Show patch that failed" }), _jsx("div", { className: "mt-2", children: _jsx(DiffView, { patch: patch }) })] }) }))] })), isExpanded && !hasError && changes.length > 0 && (_jsx("div", { className: "mt-2 ml-5 space-y-2", children: changes.map((change) => (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "font-mono text-foreground/80", children: change.filePath }), _jsx("div", { className: "flex flex-wrap gap-2", children: change.hunks.map((hunk, index) => (_jsx("span", { className: "rounded bg-muted px-2 py-0.5 text-[0.65rem] font-mono text-muted-foreground", children: formatHunkLabel(hunk) }, `apply-patch-${change.filePath}-hunk-${index}`))) })] }, `apply-patch-${change.filePath}-${change.kind}`))) })), isExpanded && !hasError && patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsx(DiffView, { patch: patch }) }))] }));
54
54
  }
55
55
  //# sourceMappingURL=ApplyPatchRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplyPatchRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ApplyPatchRenderer.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;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAkBtD,MAAM,UAAU,kBAAkB,CAAC,EAClC,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACO;IACf,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACtC,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;QACnD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,GAAG,KAAK,EAAE,CAAC;QAClC,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,IAA0B,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,GAAG,IAAI,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;QACzD,CAAC,CAAE,WAAW,CAAC,MAAM,EAAE,OAA8B;QACrD,CAAC,CAAC,EAAE,CAAC;IAEN,mBAAmB;IACnB,MAAM,QAAQ,GACb,WAAW,CAAC,KAAK;QACjB,CAAC,WAAW,CAAC,MAAM;YAClB,IAAI,IAAI,WAAW,CAAC,MAAM;YAC1B,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACnC,MAAM,YAAY,GACjB,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;QACpC,CAAC,CAAC,WAAW,CAAC,KAAK;QACnB,CAAC,CAAC,WAAW,CAAC,MAAM;YAClB,OAAO,IAAI,WAAW,CAAC,MAAM;YAC7B,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YAC7C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;YAC1B,CAAC,CAAC,IAAI,CAAC;IACV,MAAM,UAAU,GACf,WAAW,CAAC,MAAM;QAClB,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;QACtC,OAAO,IAAI,WAAW,CAAC,MAAM;QAC7B,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;QAC3C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;QAC1B,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,oDACV,QAAQ;oBACP,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,uFACJ,EAAE,aAEF,KAAC,YAAY,IACZ,SAAS,EAAE,8CAA8C,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,GACvF,EACF,gBAAM,SAAS,EAAC,2BAA2B,4BAC9B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAC9B,EACP,eAAM,SAAS,EAAC,wCAAwC,uBAAS,EACjE,gBAAM,SAAS,EAAC,kCAAkC,aAChD,KAAK,OAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IACjC,EACP,gBAAM,SAAS,EAAC,sDAAsD,kBACnE,SAAS,IACL,EACP,gBAAM,SAAS,EAAC,8CAA8C,kBAC3D,SAAS,IACL,EACP,gBAAM,SAAS,EAAC,wCAAwC,wBACpD,OAAO,IACJ,IACC,EACR,UAAU,IAAI,QAAQ,IAAI,YAAY,IAAI,CAC1C,0BACC,KAAC,gBAAgB,IAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,SAAG,EACrE,KAAK,IAAI,CACT,cAAK,SAAS,EAAC,WAAW,YACzB,8BACC,kBAAS,SAAS,EAAC,kGAAkG,uCAE3G,EACV,cAAK,SAAS,EAAC,MAAM,YACpB,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,GACrB,IACG,GACL,CACN,IACI,CACN,EACA,UAAU,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACjD,cAAK,SAAS,EAAC,qBAAqB,YAClC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxB,eAEC,SAAS,EAAC,WAAW,aAErB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,MAAM,CAAC,QAAQ,GACX,EACN,cAAK,SAAS,EAAC,sBAAsB,YACnC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,eAEC,SAAS,EAAC,6EAA6E,YAEtF,eAAe,CAAC,IAAI,CAAC,IAHjB,eAAe,MAAM,CAAC,QAAQ,SAAS,KAAK,EAAE,CAI7C,CACP,CAAC,GACG,KAfD,eAAe,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAgB/C,CACN,CAAC,GACG,CACN,EAEA,UAAU,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,CACpC,cAAK,SAAS,EAAC,WAAW,YACzB,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,GACrB,CACN,IACI,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ApplyPatchRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ApplyPatchRenderer.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;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAkBtD,MAAM,UAAU,kBAAkB,CAAC,EAClC,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACO;IACf,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACtC,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;QACnD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,GAAG,KAAK,EAAE,CAAC;QAClC,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,IAA0B,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,GAAG,IAAI,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;QACzD,CAAC,CAAE,WAAW,CAAC,MAAM,EAAE,OAA8B;QACrD,CAAC,CAAC,EAAE,CAAC;IAEN,MAAM,cAAc,GACnB,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhE,MAAM,QAAQ,GACb,WAAW,CAAC,KAAK;QACjB,CAAC,WAAW,CAAC,MAAM;YAClB,IAAI,IAAI,WAAW,CAAC,MAAM;YAC1B,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACnC,MAAM,YAAY,GACjB,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;QACpC,CAAC,CAAC,WAAW,CAAC,KAAK;QACnB,CAAC,CAAC,WAAW,CAAC,MAAM;YAClB,OAAO,IAAI,WAAW,CAAC,MAAM;YAC7B,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YAC7C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;YAC1B,CAAC,CAAC,IAAI,CAAC;IACV,MAAM,UAAU,GACf,WAAW,CAAC,MAAM;QAClB,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;QACtC,OAAO,IAAI,WAAW,CAAC,MAAM;QAC7B,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;QAC3C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;QAC1B,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,oDACV,QAAQ;oBACP,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,uFACJ,EAAE,aAEF,KAAC,YAAY,IACZ,SAAS,EAAE,8CAA8C,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,GACvF,EACF,gBAAM,SAAS,EAAC,2BAA2B,4BAC9B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAC9B,EACP,eAAM,SAAS,EAAC,wCAAwC,uBAAS,EAChE,cAAc,CAAC,CAAC,CAAC,CACjB,eACC,SAAS,EAAC,wFAAwF,EAClG,GAAG,EAAC,KAAK,EACT,KAAK,EAAE,cAAc,YAEpB,cAAc,GACT,CACP,CAAC,CAAC,CAAC,CACH,gBAAM,SAAS,EAAC,kCAAkC,aAChD,KAAK,OAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IACjC,CACP,EACD,gBAAM,SAAS,EAAC,sDAAsD,kBACnE,SAAS,IACL,EACP,gBAAM,SAAS,EAAC,8CAA8C,kBAC3D,SAAS,IACL,EACP,gBAAM,SAAS,EAAC,wCAAwC,wBACpD,OAAO,IACJ,IACC,EACR,UAAU,IAAI,QAAQ,IAAI,YAAY,IAAI,CAC1C,0BACC,KAAC,gBAAgB,IAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,SAAG,EACrE,KAAK,IAAI,CACT,cAAK,SAAS,EAAC,WAAW,YACzB,8BACC,kBAAS,SAAS,EAAC,kGAAkG,uCAE3G,EACV,cAAK,SAAS,EAAC,MAAM,YACpB,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,GACrB,IACG,GACL,CACN,IACI,CACN,EACA,UAAU,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACjD,cAAK,SAAS,EAAC,qBAAqB,YAClC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxB,eAEC,SAAS,EAAC,WAAW,aAErB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,MAAM,CAAC,QAAQ,GACX,EACN,cAAK,SAAS,EAAC,sBAAsB,YACnC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,eAEC,SAAS,EAAC,6EAA6E,YAEtF,eAAe,CAAC,IAAI,CAAC,IAHjB,eAAe,MAAM,CAAC,QAAQ,SAAS,KAAK,EAAE,CAI7C,CACP,CAAC,GACG,KAfD,eAAe,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAgB/C,CACN,CAAC,GACG,CACN,EAEA,UAAU,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,CACpC,cAAK,SAAS,EAAC,WAAW,YACzB,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,GACrB,CACN,IACI,CACN,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { RendererProps } from './types';
2
- export declare function EditRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }: RendererProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function EditRenderer({ args, result, artifact, toolDurationMs, isExpanded, onToggle, }: RendererProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=EditRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/EditRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,wBAAgB,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CAyCf"}
1
+ {"version":3,"file":"EditRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/EditRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7C,wBAAgB,YAAY,CAAC,EAC5B,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA4Ef"}
@@ -1,15 +1,25 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronRight } from 'lucide-react';
2
+ import { ChevronRight, AlertCircle } from 'lucide-react';
3
3
  import { DiffView } from './DiffView';
4
4
  import { formatDuration } from './utils';
5
- export function EditRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
6
- const artifact = contentJson.artifact;
7
- const timeStr = formatDuration(toolDurationMs);
8
- const summary = artifact?.summary || {};
9
- const files = Number(summary.files || 0);
10
- const additions = Number(summary.additions || 0);
11
- const deletions = Number(summary.deletions || 0);
5
+ import { ToolErrorDisplay } from './ToolErrorDisplay';
6
+ export function EditRenderer({ args, result, artifact, toolDurationMs, isExpanded, onToggle, }) {
7
+ const hasToolError = typeof result === 'object' && 'ok' in result && result.ok === false;
8
+ const errorMessage = hasToolError && 'error' in result && typeof result.error === 'string'
9
+ ? result.error
10
+ : null;
11
+ const errorStack = hasToolError && 'stack' in result && typeof result.stack === 'string'
12
+ ? result.stack
13
+ : undefined;
14
+ const path = String(result.path || args.path || '');
15
+ const opsApplied = Number(result.opsApplied || 0);
12
16
  const patch = artifact?.patch ? String(artifact.patch) : '';
13
- 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: "edit" }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsxs("span", { className: "text-foreground/70 flex-shrink-0", children: [files, " ", files === 1 ? 'file' : 'files'] }), _jsxs("span", { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0", children: ["+", additions] }), _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 }) }))] }));
17
+ const timeStr = formatDuration(toolDurationMs);
18
+ const canExpand = patch.length > 0 || hasToolError;
19
+ return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: () => canExpand && onToggle(), className: `flex items-center gap-2 transition-colors min-w-0 w-full ${hasToolError
20
+ ? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'
21
+ : canExpand
22
+ ? 'text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200'
23
+ : 'text-purple-700 dark:text-purple-300'}`, children: [canExpand ? (isExpanded ? (_jsx(ChevronRight, { className: "h-3 w-3 flex-shrink-0 rotate-90 transition-transform" })) : (_jsx(ChevronRight, { className: "h-3 w-3 flex-shrink-0 transition-transform" }))) : (_jsx("div", { className: "w-3 flex-shrink-0" })), hasToolError && (_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: ["edit", hasToolError ? ' error' : ''] }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsx("span", { className: "text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap", dir: "rtl", title: path, children: path }), !hasToolError && opsApplied > 0 && (_jsxs("span", { className: "text-muted-foreground/80 whitespace-nowrap flex-shrink-0", children: ["\u00B7 ", opsApplied, " ops \u00B7 ", timeStr] })), hasToolError && (_jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0", children: ["\u00B7 ", timeStr] }))] }), isExpanded && hasToolError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded && !hasToolError && patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsx(DiffView, { patch: patch }) }))] }));
14
24
  }
15
25
  //# sourceMappingURL=EditRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/EditRenderer.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,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACO;IACf,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACtC,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,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,qBAAY,EACvD,eAAM,SAAS,EAAC,wCAAwC,uBAAS,EACjE,gBAAM,SAAS,EAAC,kCAAkC,aAChD,KAAK,OAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IACjC,EACP,gBAAM,SAAS,EAAC,sDAAsD,kBACnE,SAAS,IACL,EACP,gBAAM,SAAS,EAAC,8CAA8C,kBAC3D,SAAS,IACL,EACP,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"}
1
+ {"version":3,"file":"EditRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/EditRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReadRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ReadRenderer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA+C7C,wBAAgB,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CAsEf"}
1
+ {"version":3,"file":"ReadRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ReadRenderer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAgD7C,wBAAgB,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA6Gf"}
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronRight } from 'lucide-react';
2
+ import { ChevronRight, AlertCircle } from 'lucide-react';
3
3
  import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
4
4
  import { prism, vscDarkPlus, } from 'react-syntax-highlighter/dist/esm/styles/prism';
5
5
  import { formatDuration } from './utils';
6
+ import { ToolErrorDisplay } from './ToolErrorDisplay';
6
7
  function getLanguageFromPath(path) {
7
8
  const ext = path.split('.').pop()?.toLowerCase();
8
9
  const langMap = {
@@ -48,7 +49,15 @@ function parseLineRange(lineRange) {
48
49
  }
49
50
  export function ReadRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
50
51
  const result = contentJson.result || {};
51
- const path = String(result.path || '');
52
+ const args = contentJson.args || {};
53
+ const hasToolError = typeof result === 'object' && 'ok' in result && result.ok === false;
54
+ const errorMessage = hasToolError && 'error' in result && typeof result.error === 'string'
55
+ ? result.error
56
+ : null;
57
+ const errorStack = hasToolError && 'stack' in result && typeof result.stack === 'string'
58
+ ? result.stack
59
+ : undefined;
60
+ const path = String(result.path || args.path || '');
52
61
  const content = String(result.content || '');
53
62
  const lineRange = result.lineRange;
54
63
  const lines = content.split('\n');
@@ -61,10 +70,12 @@ export function ReadRenderer({ contentJson, toolDurationMs, isExpanded, onToggle
61
70
  const displayText = lineRange
62
71
  ? `${path}:${lineRange.replace('@', '')}`
63
72
  : path;
64
- 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: {
65
- direction: 'rtl',
66
- unicodeBidi: 'plaintext',
67
- }, title: displayText, children: displayText }), _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: syntaxTheme, customStyle: {
73
+ const canExpand = content.length > 0 || hasToolError;
74
+ return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: () => canExpand && onToggle(), className: `flex items-center gap-2 transition-colors w-full min-w-0 ${hasToolError
75
+ ? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'
76
+ : canExpand
77
+ ? 'text-blue-700 dark:text-blue-300 hover:text-blue-600 dark:hover:text-blue-200'
78
+ : 'text-blue-700 dark:text-blue-300'}`, children: [canExpand ? (isExpanded ? (_jsx(ChevronRight, { className: "h-3 w-3 flex-shrink-0 rotate-90 transition-transform" })) : (_jsx(ChevronRight, { className: "h-3 w-3 flex-shrink-0 transition-transform" }))) : (_jsx("div", { className: "w-3 flex-shrink-0" })), hasToolError && (_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: ["read", hasToolError ? ' error' : ''] }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsx("span", { className: "text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap", dir: "rtl", title: displayText, children: displayText }), !hasToolError && lines.length > 0 && (_jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0 whitespace-nowrap", children: ["\u00B7 ", lines.length, " lines \u00B7 ", timeStr] })), hasToolError && (_jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0", children: ["\u00B7 ", timeStr] }))] }), isExpanded && hasToolError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded && !hasToolError && 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: syntaxTheme, customStyle: {
68
79
  margin: 0,
69
80
  padding: '0.75rem',
70
81
  fontSize: '0.75rem',
@@ -1 +1 @@
1
- {"version":3,"file":"ReadRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ReadRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ReadRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACN,KAAK,EACL,WAAW,GACX,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,SAAS,mBAAmB,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;IACjD,MAAM,OAAO,GAA2B;QACvC,EAAE,EAAE,YAAY;QAChB,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,YAAY;QAChB,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,CAAC,EAAE,GAAG;QACN,GAAG,EAAE,KAAK;QACV,CAAC,EAAE,GAAG;QACN,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,QAAQ;QACZ,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,UAAU;QACd,GAAG,EAAE,MAAM;KACX,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,SAA6B;IACpD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,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,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;IAEpC,MAAM,YAAY,GACjB,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC;IACrE,MAAM,YAAY,GACjB,YAAY,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QACpE,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,UAAU,GACf,YAAY,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QACpE,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACvE,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,KAAK,CAAC;IAET,MAAM,kBAAkB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,SAAS;QAC5B,CAAC,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QACzC,CAAC,CAAC,IAAI,CAAC;IAER,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC;IAErD,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,IAAI,QAAQ,EAAE,EACtC,SAAS,EAAE,4DACV,YAAY;oBACX,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,SAAS;wBACV,CAAC,CAAC,+EAA+E;wBACjF,CAAC,CAAC,kCACL,EAAE,aAED,SAAS,CAAC,CAAC,CAAC,CACZ,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,YAAY,IAAC,SAAS,EAAC,sDAAsD,GAAG,CACjF,CAAC,CAAC,CAAC,CACH,KAAC,YAAY,IAAC,SAAS,EAAC,4CAA4C,GAAG,CACvE,CACD,CAAC,CAAC,CAAC,CACH,cAAK,SAAS,EAAC,mBAAmB,GAAG,CACrC,EACA,YAAY,IAAI,CAChB,KAAC,WAAW,IAAC,SAAS,EAAC,sDAAsD,GAAG,CAChF,EACD,gBAAM,SAAS,EAAC,2BAA2B,qBACrC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAC3B,EACP,eAAM,SAAS,EAAC,wCAAwC,uBAAS,EACjE,eACC,SAAS,EAAC,wFAAwF,EAClG,GAAG,EAAC,KAAK,EACT,KAAK,EAAE,WAAW,YAEjB,WAAW,GACN,EACN,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACrC,gBAAM,SAAS,EAAC,0DAA0D,wBACtE,KAAK,CAAC,MAAM,oBAAW,OAAO,IAC3B,CACP,EACA,YAAY,IAAI,CAChB,gBAAM,SAAS,EAAC,wCAAwC,wBACpD,OAAO,IACJ,CACP,IACO,EACR,UAAU,IAAI,YAAY,IAAI,YAAY,IAAI,CAC9C,KAAC,gBAAgB,IAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,SAAG,CACtE,EACA,UAAU,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAC1C,cAAK,SAAS,EAAC,0GAA0G,YACxH,cAAK,SAAS,EAAC,4BAA4B,YAC1C,KAAC,iBAAiB,IACjB,QAAQ,EAAE,QAAQ,EAClB,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,eAAe,QACf,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,QACT,aAAa,kBAEZ,OAAO,GACW,GACf,GACD,CACN,IACI,CACN,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WriteRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/WriteRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,wBAAgB,aAAa,CAAC,EAC7B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CA0Cf"}
1
+ {"version":3,"file":"WriteRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/WriteRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK7C,wBAAgB,aAAa,CAAC,EAC7B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACR,EAAE,aAAa,2CAgFf"}
@@ -1,18 +1,28 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronRight } from 'lucide-react';
2
+ import { ChevronRight, AlertCircle } from 'lucide-react';
3
3
  import { DiffView } from './DiffView';
4
4
  import { formatDuration } from './utils';
5
+ import { ToolErrorDisplay } from './ToolErrorDisplay';
5
6
  export function WriteRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
6
7
  const result = contentJson.result || {};
8
+ const args = contentJson.args || {};
7
9
  const artifact = contentJson.artifact;
8
- const path = String(result.path || '');
10
+ const hasToolError = typeof result === 'object' && 'ok' in result && result.ok === false;
11
+ const errorMessage = hasToolError && 'error' in result && typeof result.error === 'string'
12
+ ? result.error
13
+ : null;
14
+ const errorStack = hasToolError && 'stack' in result && typeof result.stack === 'string'
15
+ ? result.stack
16
+ : undefined;
17
+ const path = String(result.path || args.path || '');
9
18
  const bytes = Number(result.bytes || 0);
10
19
  const patch = artifact?.patch ? String(artifact.patch) : '';
11
20
  const timeStr = formatDuration(toolDurationMs);
12
- return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex items-center gap-2 text-emerald-700 dark:text-emerald-300 transition-colors hover:text-emerald-600 dark:hover:text-emerald-200 min-w-0 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: "write" }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsx("span", { className: "text-foreground/70 min-w-0 flex-shrink overflow-hidden", style: {
13
- direction: 'rtl',
14
- textAlign: 'left',
15
- unicodeBidi: 'plaintext',
16
- }, title: path, children: path }), _jsxs("span", { className: "text-muted-foreground/80 whitespace-nowrap flex-shrink-0", children: ["\u00B7 ", bytes, " bytes \u00B7 ", timeStr] })] }), isExpanded && patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsx(DiffView, { patch: patch }) }))] }));
21
+ const canExpand = patch.length > 0 || hasToolError;
22
+ return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: () => canExpand && onToggle(), className: `flex items-center gap-2 transition-colors min-w-0 w-full ${hasToolError
23
+ ? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'
24
+ : canExpand
25
+ ? 'text-emerald-700 dark:text-emerald-300 hover:text-emerald-600 dark:hover:text-emerald-200'
26
+ : 'text-emerald-700 dark:text-emerald-300'}`, children: [canExpand ? (isExpanded ? (_jsx(ChevronRight, { className: "h-3 w-3 flex-shrink-0 rotate-90 transition-transform" })) : (_jsx(ChevronRight, { className: "h-3 w-3 flex-shrink-0 transition-transform" }))) : (_jsx("div", { className: "w-3 flex-shrink-0" })), hasToolError && (_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: ["write", hasToolError ? ' error' : ''] }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), _jsx("span", { className: "text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap", dir: "rtl", title: path, children: path }), !hasToolError && bytes > 0 && (_jsxs("span", { className: "text-muted-foreground/80 whitespace-nowrap flex-shrink-0", children: ["\u00B7 ", bytes, " bytes \u00B7 ", timeStr] })), hasToolError && (_jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0", children: ["\u00B7 ", timeStr] }))] }), isExpanded && hasToolError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded && !hasToolError && patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsx(DiffView, { patch: patch }) }))] }));
17
27
  }
18
28
  //# sourceMappingURL=WriteRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WriteRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/WriteRenderer.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,aAAa,CAAC,EAC7B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,GACO;IACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,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,oJAAoJ,aAE9J,KAAC,YAAY,IACZ,SAAS,EAAE,8CAA8C,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,GACvF,EACF,eAAM,SAAS,EAAC,2BAA2B,sBAAa,EACxD,eAAM,SAAS,EAAC,wCAAwC,uBAAS,EACjE,eACC,SAAS,EAAC,wDAAwD,EAClE,KAAK,EAAE;4BACN,SAAS,EAAE,KAAK;4BAChB,SAAS,EAAE,MAAM;4BACjB,WAAW,EAAE,WAAW;yBACxB,EACD,KAAK,EAAE,IAAI,YAEV,IAAI,GACC,EACP,gBAAM,SAAS,EAAC,0DAA0D,wBACtE,KAAK,oBAAW,OAAO,IACpB,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"}
1
+ {"version":3,"file":"WriteRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/WriteRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './useConfig';
2
+ export * from './useFiles';
2
3
  export * from './useGit';
3
4
  export * from './useMessages';
4
5
  export * from './useSessions';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // Export all hooks
2
2
  export * from './useConfig';
3
+ export * from './useFiles';
3
4
  export * from './useGit';
4
5
  export * from './useMessages';
5
6
  export * from './useSessions';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}