@agi-cli/web-sdk 0.1.113 → 0.1.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/git/GitSidebar.d.ts.map +1 -1
- package/dist/components/git/GitSidebar.js +2 -2
- package/dist/components/git/GitSidebar.js.map +1 -1
- package/dist/components/git/GitSidebarToggle.js +1 -1
- package/dist/components/git/GitSidebarToggle.js.map +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/messages/MessagePartItem.d.ts.map +1 -1
- package/dist/components/messages/MessagePartItem.js +9 -5
- package/dist/components/messages/MessagePartItem.js.map +1 -1
- package/dist/components/messages/MessageThread.d.ts.map +1 -1
- package/dist/components/messages/MessageThread.js +116 -30
- package/dist/components/messages/MessageThread.js.map +1 -1
- package/dist/components/messages/renderers/GitDiffRenderer.d.ts.map +1 -1
- package/dist/components/messages/renderers/GitDiffRenderer.js +15 -6
- package/dist/components/messages/renderers/GitDiffRenderer.js.map +1 -1
- package/dist/components/messages/renderers/ListRenderer.d.ts.map +1 -1
- package/dist/components/messages/renderers/ListRenderer.js +18 -9
- package/dist/components/messages/renderers/ListRenderer.js.map +1 -1
- package/dist/components/messages/renderers/ReasoningRenderer.js +1 -1
- package/dist/components/messages/renderers/ReasoningRenderer.js.map +1 -1
- package/dist/components/messages/renderers/SearchRenderer.d.ts.map +1 -1
- package/dist/components/messages/renderers/SearchRenderer.js +24 -18
- package/dist/components/messages/renderers/SearchRenderer.js.map +1 -1
- package/dist/components/messages/renderers/TreeRenderer.d.ts.map +1 -1
- package/dist/components/messages/renderers/TreeRenderer.js +18 -12
- package/dist/components/messages/renderers/TreeRenderer.js.map +1 -1
- package/dist/components/messages/renderers/WebSearchRenderer.d.ts.map +1 -1
- package/dist/components/messages/renderers/WebSearchRenderer.js +20 -26
- package/dist/components/messages/renderers/WebSearchRenderer.js.map +1 -1
- package/dist/components/session-files/SessionFilesDiffPanel.d.ts +2 -0
- package/dist/components/session-files/SessionFilesDiffPanel.d.ts.map +1 -0
- package/dist/components/session-files/SessionFilesDiffPanel.js +344 -0
- package/dist/components/session-files/SessionFilesDiffPanel.js.map +1 -0
- package/dist/components/session-files/SessionFilesSidebar.d.ts +6 -0
- package/dist/components/session-files/SessionFilesSidebar.d.ts.map +1 -0
- package/dist/components/session-files/SessionFilesSidebar.js +80 -0
- package/dist/components/session-files/SessionFilesSidebar.js.map +1 -0
- package/dist/components/session-files/SessionFilesSidebarToggle.d.ts +6 -0
- package/dist/components/session-files/SessionFilesSidebarToggle.d.ts.map +1 -0
- package/dist/components/session-files/SessionFilesSidebarToggle.js +15 -0
- package/dist/components/session-files/SessionFilesSidebarToggle.js.map +1 -0
- package/dist/components/session-files/index.d.ts +4 -0
- package/dist/components/session-files/index.d.ts.map +1 -0
- package/dist/components/session-files/index.js +4 -0
- package/dist/components/session-files/index.js.map +1 -0
- package/dist/components/terminals/TerminalsSidebarToggle.js +1 -1
- package/dist/components/terminals/TerminalsSidebarToggle.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useConfig.d.ts.map +1 -1
- package/dist/hooks/useSessionFiles.d.ts +2 -0
- package/dist/hooks/useSessionFiles.d.ts.map +1 -0
- package/dist/hooks/useSessionFiles.js +15 -0
- package/dist/hooks/useSessionFiles.js.map +1 -0
- package/dist/lib/api-client.d.ts +2 -1
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +15 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/stores/gitStore.d.ts.map +1 -1
- package/dist/stores/gitStore.js +2 -0
- package/dist/stores/gitStore.js.map +1 -1
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +1 -0
- package/dist/stores/index.js.map +1 -1
- package/dist/stores/sessionFilesStore.d.ts +17 -0
- package/dist/stores/sessionFilesStore.d.ts.map +1 -0
- package/dist/stores/sessionFilesStore.js +47 -0
- package/dist/stores/sessionFilesStore.js.map +1 -0
- package/dist/stores/terminalStore.d.ts.map +1 -1
- package/dist/stores/terminalStore.js +2 -0
- package/dist/stores/terminalStore.js.map +1 -1
- package/dist/types/api.d.ts +29 -0
- package/dist/types/api.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, memo } from 'react';
|
|
3
|
+
import { X, ChevronLeft, ChevronRight } from 'lucide-react';
|
|
4
|
+
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
5
|
+
import { prism, vscDarkPlus, } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
6
|
+
import { useSessionFilesStore } from '../../stores/sessionFilesStore';
|
|
7
|
+
import { useSidebarStore } from '../../stores/sidebarStore';
|
|
8
|
+
import { Button } from '../ui/Button';
|
|
9
|
+
function transformToUnifiedDiff(patch) {
|
|
10
|
+
const lines = patch.split('\n');
|
|
11
|
+
const result = [];
|
|
12
|
+
let addCount = 0;
|
|
13
|
+
let removeCount = 0;
|
|
14
|
+
const diffLines = [];
|
|
15
|
+
for (const line of lines) {
|
|
16
|
+
if (line.startsWith('*** Begin Patch') ||
|
|
17
|
+
line.startsWith('*** End Patch') ||
|
|
18
|
+
line.startsWith('*** Update File:') ||
|
|
19
|
+
line.startsWith('*** Add File:') ||
|
|
20
|
+
line.startsWith('*** Delete File:')) {
|
|
21
|
+
if (diffLines.length > 0) {
|
|
22
|
+
result.push(`@@ -1,${removeCount} +1,${addCount} @@`);
|
|
23
|
+
result.push(...diffLines);
|
|
24
|
+
diffLines.length = 0;
|
|
25
|
+
addCount = 0;
|
|
26
|
+
removeCount = 0;
|
|
27
|
+
}
|
|
28
|
+
result.push(line);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (line.match(/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/)) {
|
|
32
|
+
if (diffLines.length > 0) {
|
|
33
|
+
result.push(`@@ -1,${removeCount} +1,${addCount} @@`);
|
|
34
|
+
result.push(...diffLines);
|
|
35
|
+
diffLines.length = 0;
|
|
36
|
+
addCount = 0;
|
|
37
|
+
removeCount = 0;
|
|
38
|
+
}
|
|
39
|
+
result.push(line);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (line.startsWith('@@')) {
|
|
43
|
+
result.push(line);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (line.startsWith('+')) {
|
|
47
|
+
addCount++;
|
|
48
|
+
diffLines.push(line);
|
|
49
|
+
}
|
|
50
|
+
else if (line.startsWith('-')) {
|
|
51
|
+
removeCount++;
|
|
52
|
+
diffLines.push(line);
|
|
53
|
+
}
|
|
54
|
+
else if (line.startsWith(' ') || line.startsWith('\t')) {
|
|
55
|
+
addCount++;
|
|
56
|
+
removeCount++;
|
|
57
|
+
diffLines.push(line.startsWith('\t') ? ` ${line}` : line);
|
|
58
|
+
}
|
|
59
|
+
else if (line.trim() === '') {
|
|
60
|
+
diffLines.push(' ');
|
|
61
|
+
addCount++;
|
|
62
|
+
removeCount++;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
addCount++;
|
|
66
|
+
removeCount++;
|
|
67
|
+
diffLines.push(` ${line}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (diffLines.length > 0) {
|
|
71
|
+
result.push(`@@ -1,${removeCount} +1,${addCount} @@`);
|
|
72
|
+
result.push(...diffLines);
|
|
73
|
+
}
|
|
74
|
+
return result.join('\n');
|
|
75
|
+
}
|
|
76
|
+
function getLanguageFromPath(path) {
|
|
77
|
+
const ext = path.split('.').pop()?.toLowerCase();
|
|
78
|
+
const langMap = {
|
|
79
|
+
js: 'javascript',
|
|
80
|
+
jsx: 'jsx',
|
|
81
|
+
ts: 'typescript',
|
|
82
|
+
tsx: 'tsx',
|
|
83
|
+
py: 'python',
|
|
84
|
+
rb: 'ruby',
|
|
85
|
+
go: 'go',
|
|
86
|
+
rs: 'rust',
|
|
87
|
+
java: 'java',
|
|
88
|
+
c: 'c',
|
|
89
|
+
cpp: 'cpp',
|
|
90
|
+
h: 'c',
|
|
91
|
+
hpp: 'cpp',
|
|
92
|
+
cs: 'csharp',
|
|
93
|
+
php: 'php',
|
|
94
|
+
sh: 'bash',
|
|
95
|
+
bash: 'bash',
|
|
96
|
+
zsh: 'bash',
|
|
97
|
+
sql: 'sql',
|
|
98
|
+
json: 'json',
|
|
99
|
+
yaml: 'yaml',
|
|
100
|
+
yml: 'yaml',
|
|
101
|
+
xml: 'xml',
|
|
102
|
+
html: 'html',
|
|
103
|
+
css: 'css',
|
|
104
|
+
scss: 'scss',
|
|
105
|
+
md: 'markdown',
|
|
106
|
+
txt: 'text',
|
|
107
|
+
svelte: 'svelte',
|
|
108
|
+
};
|
|
109
|
+
return langMap[ext || ''] || 'javascript';
|
|
110
|
+
}
|
|
111
|
+
function parseDiff(patch) {
|
|
112
|
+
const lines = patch.split('\n');
|
|
113
|
+
const result = [];
|
|
114
|
+
let oldLineNum = 0;
|
|
115
|
+
let newLineNum = 0;
|
|
116
|
+
let inHunk = false;
|
|
117
|
+
let filePath = '';
|
|
118
|
+
for (const line of lines) {
|
|
119
|
+
if (line.startsWith('+++') || line.startsWith('*** Update File:')) {
|
|
120
|
+
const match = line.match(/\+\+\+ b\/(.+)/) || line.match(/\*\*\* Update File: (.+)/);
|
|
121
|
+
if (match)
|
|
122
|
+
filePath = match[1];
|
|
123
|
+
}
|
|
124
|
+
if (line.startsWith('*** Add File:')) {
|
|
125
|
+
const match = line.match(/\*\*\* Add File: (.+)/);
|
|
126
|
+
if (match)
|
|
127
|
+
filePath = match[1];
|
|
128
|
+
}
|
|
129
|
+
const hunkMatch = line.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
|
|
130
|
+
if (hunkMatch) {
|
|
131
|
+
oldLineNum = Number.parseInt(hunkMatch[1], 10);
|
|
132
|
+
newLineNum = Number.parseInt(hunkMatch[2], 10);
|
|
133
|
+
inHunk = true;
|
|
134
|
+
result.push({
|
|
135
|
+
content: line,
|
|
136
|
+
codeContent: line,
|
|
137
|
+
type: 'header',
|
|
138
|
+
});
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
if (line.startsWith('***') ||
|
|
142
|
+
line.startsWith('diff ') ||
|
|
143
|
+
line.startsWith('index ') ||
|
|
144
|
+
line.startsWith('---') ||
|
|
145
|
+
line.startsWith('+++') ||
|
|
146
|
+
(line.startsWith('@@') && !inHunk)) {
|
|
147
|
+
result.push({
|
|
148
|
+
content: line,
|
|
149
|
+
codeContent: line,
|
|
150
|
+
type: 'meta',
|
|
151
|
+
});
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (inHunk) {
|
|
155
|
+
if (line.startsWith('+')) {
|
|
156
|
+
result.push({
|
|
157
|
+
content: line,
|
|
158
|
+
codeContent: line.slice(1),
|
|
159
|
+
type: 'add',
|
|
160
|
+
newLineNum: newLineNum++,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
else if (line.startsWith('-')) {
|
|
164
|
+
result.push({
|
|
165
|
+
content: line,
|
|
166
|
+
codeContent: line.slice(1),
|
|
167
|
+
type: 'remove',
|
|
168
|
+
oldLineNum: oldLineNum++,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
else if (line.startsWith(' ') || line === '') {
|
|
172
|
+
result.push({
|
|
173
|
+
content: line,
|
|
174
|
+
codeContent: line.startsWith(' ') ? line.slice(1) : line,
|
|
175
|
+
type: 'context',
|
|
176
|
+
oldLineNum: oldLineNum++,
|
|
177
|
+
newLineNum: newLineNum++,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
result.push({
|
|
182
|
+
content: line,
|
|
183
|
+
codeContent: line,
|
|
184
|
+
type: 'context',
|
|
185
|
+
oldLineNum: oldLineNum++,
|
|
186
|
+
newLineNum: newLineNum++,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
result.push({
|
|
192
|
+
content: line,
|
|
193
|
+
codeContent: line,
|
|
194
|
+
type: 'meta',
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return { lines: result, filePath };
|
|
199
|
+
}
|
|
200
|
+
function FullHeightDiffView({ patch }) {
|
|
201
|
+
const { lines: diffLines, filePath } = parseDiff(patch);
|
|
202
|
+
const language = getLanguageFromPath(filePath);
|
|
203
|
+
const syntaxTheme = document?.documentElement.classList.contains('dark')
|
|
204
|
+
? vscDarkPlus
|
|
205
|
+
: prism;
|
|
206
|
+
return (_jsx("div", { className: "bg-card/60 border border-border rounded-lg overflow-hidden h-full", children: _jsx("div", { className: "overflow-x-auto overflow-y-auto h-full text-xs font-mono", children: diffLines.map((line, i) => {
|
|
207
|
+
const key = `line-${i}-${line.content.slice(0, 20)}`;
|
|
208
|
+
if (line.type === 'meta' || line.type === 'header') {
|
|
209
|
+
return (_jsx("div", { className: `px-3 py-0.5 whitespace-pre-wrap break-all ${line.type === 'header'
|
|
210
|
+
? 'text-muted-foreground/80 bg-muted/20'
|
|
211
|
+
: 'text-muted-foreground/80'}`, children: line.content }, key));
|
|
212
|
+
}
|
|
213
|
+
let lineClass = '';
|
|
214
|
+
let bgClass = '';
|
|
215
|
+
switch (line.type) {
|
|
216
|
+
case 'add':
|
|
217
|
+
lineClass = 'text-emerald-700 dark:text-emerald-300';
|
|
218
|
+
bgClass = 'bg-emerald-500/10';
|
|
219
|
+
break;
|
|
220
|
+
case 'remove':
|
|
221
|
+
lineClass = 'text-red-600 dark:text-red-300';
|
|
222
|
+
bgClass = 'bg-red-500/10';
|
|
223
|
+
break;
|
|
224
|
+
default:
|
|
225
|
+
lineClass = 'text-foreground/80';
|
|
226
|
+
}
|
|
227
|
+
let renderedContent = line.content;
|
|
228
|
+
if (line.codeContent.trim() && language !== 'text') {
|
|
229
|
+
renderedContent = (_jsx(SyntaxHighlighter, { language: language, style: syntaxTheme, customStyle: {
|
|
230
|
+
margin: 0,
|
|
231
|
+
padding: 0,
|
|
232
|
+
background: 'transparent',
|
|
233
|
+
display: 'inline',
|
|
234
|
+
fontSize: 'inherit',
|
|
235
|
+
lineHeight: 'inherit',
|
|
236
|
+
}, codeTagProps: {
|
|
237
|
+
style: {
|
|
238
|
+
fontFamily: 'inherit',
|
|
239
|
+
background: 'transparent',
|
|
240
|
+
},
|
|
241
|
+
}, PreTag: "span", children: line.codeContent }));
|
|
242
|
+
if (line.type === 'add') {
|
|
243
|
+
renderedContent = (_jsxs(_Fragment, { children: [_jsx("span", { className: "select-none", children: "+" }), renderedContent] }));
|
|
244
|
+
}
|
|
245
|
+
else if (line.type === 'remove') {
|
|
246
|
+
renderedContent = (_jsxs(_Fragment, { children: [_jsx("span", { className: "select-none", children: "-" }), renderedContent] }));
|
|
247
|
+
}
|
|
248
|
+
else if (line.type === 'context') {
|
|
249
|
+
renderedContent = (_jsxs(_Fragment, { children: [_jsx("span", { className: "select-none", children: " " }), renderedContent] }));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return (_jsxs("div", { className: `flex ${bgClass}`, children: [_jsx("div", { className: "px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0", children: line.oldLineNum || '' }), _jsx("div", { className: "px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50", children: line.newLineNum || '' }), _jsx("div", { className: `px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${lineClass}`, children: renderedContent })] }, key));
|
|
253
|
+
}) }) }));
|
|
254
|
+
}
|
|
255
|
+
function formatTimestamp(timestamp) {
|
|
256
|
+
const date = new Date(timestamp);
|
|
257
|
+
return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
|
|
258
|
+
}
|
|
259
|
+
export const SessionFilesDiffPanel = memo(function SessionFilesDiffPanel() {
|
|
260
|
+
const isDiffOpen = useSessionFilesStore((state) => state.isDiffOpen);
|
|
261
|
+
const selectedFile = useSessionFilesStore((state) => state.selectedFile);
|
|
262
|
+
const allOperations = useSessionFilesStore((state) => state.allOperations);
|
|
263
|
+
const selectedOperationIndex = useSessionFilesStore((state) => state.selectedOperationIndex);
|
|
264
|
+
const selectOperation = useSessionFilesStore((state) => state.selectOperation);
|
|
265
|
+
const closeDiff = useSessionFilesStore((state) => state.closeDiff);
|
|
266
|
+
const wasCollapsedBeforeDiff = useSidebarStore((state) => state.wasCollapsedBeforeDiff);
|
|
267
|
+
const setWasCollapsedBeforeDiff = useSidebarStore((state) => state.setWasCollapsedBeforeDiff);
|
|
268
|
+
const setCollapsed = useSidebarStore((state) => state.setCollapsed);
|
|
269
|
+
const selectedOperation = allOperations[selectedOperationIndex];
|
|
270
|
+
const patchContent = useMemo(() => {
|
|
271
|
+
if (!selectedOperation || !selectedFile)
|
|
272
|
+
return null;
|
|
273
|
+
let rawPatch = null;
|
|
274
|
+
if (selectedOperation.artifact?.patch) {
|
|
275
|
+
rawPatch = selectedOperation.artifact.patch;
|
|
276
|
+
}
|
|
277
|
+
else if (selectedOperation.patch) {
|
|
278
|
+
rawPatch = selectedOperation.patch;
|
|
279
|
+
}
|
|
280
|
+
else if (selectedOperation.content) {
|
|
281
|
+
const contentLines = selectedOperation.content.split('\n');
|
|
282
|
+
rawPatch = `*** Add File: ${selectedFile}\n${contentLines.map((line) => `+${line}`).join('\n')}`;
|
|
283
|
+
}
|
|
284
|
+
if (!rawPatch)
|
|
285
|
+
return null;
|
|
286
|
+
const hasProperHunkHeader = /@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/.test(rawPatch);
|
|
287
|
+
if (!hasProperHunkHeader) {
|
|
288
|
+
return transformToUnifiedDiff(rawPatch);
|
|
289
|
+
}
|
|
290
|
+
return rawPatch;
|
|
291
|
+
}, [selectedOperation, selectedFile]);
|
|
292
|
+
useEffect(() => {
|
|
293
|
+
const { isCollapsed } = useSidebarStore.getState();
|
|
294
|
+
if (isDiffOpen) {
|
|
295
|
+
setWasCollapsedBeforeDiff(isCollapsed);
|
|
296
|
+
setCollapsed(true);
|
|
297
|
+
}
|
|
298
|
+
else if (wasCollapsedBeforeDiff !== null) {
|
|
299
|
+
setCollapsed(wasCollapsedBeforeDiff);
|
|
300
|
+
setWasCollapsedBeforeDiff(null);
|
|
301
|
+
}
|
|
302
|
+
}, [
|
|
303
|
+
isDiffOpen,
|
|
304
|
+
setWasCollapsedBeforeDiff,
|
|
305
|
+
setCollapsed,
|
|
306
|
+
wasCollapsedBeforeDiff,
|
|
307
|
+
]);
|
|
308
|
+
useEffect(() => {
|
|
309
|
+
const handleKeyDown = (e) => {
|
|
310
|
+
const target = e.target;
|
|
311
|
+
const isInInput = target.tagName === 'INPUT' ||
|
|
312
|
+
target.tagName === 'TEXTAREA' ||
|
|
313
|
+
target.isContentEditable;
|
|
314
|
+
if ((e.key === 'Escape' || (e.key === 'q' && !isInInput)) && isDiffOpen) {
|
|
315
|
+
closeDiff();
|
|
316
|
+
}
|
|
317
|
+
if (!isInInput && isDiffOpen && allOperations.length > 1) {
|
|
318
|
+
if (e.key === 'ArrowLeft' || e.key === '[') {
|
|
319
|
+
e.preventDefault();
|
|
320
|
+
selectOperation(Math.max(0, selectedOperationIndex - 1));
|
|
321
|
+
}
|
|
322
|
+
else if (e.key === 'ArrowRight' || e.key === ']') {
|
|
323
|
+
e.preventDefault();
|
|
324
|
+
selectOperation(Math.min(allOperations.length - 1, selectedOperationIndex + 1));
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
};
|
|
328
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
329
|
+
return () => document.removeEventListener('keydown', handleKeyDown);
|
|
330
|
+
}, [
|
|
331
|
+
isDiffOpen,
|
|
332
|
+
closeDiff,
|
|
333
|
+
allOperations.length,
|
|
334
|
+
selectedOperationIndex,
|
|
335
|
+
selectOperation,
|
|
336
|
+
]);
|
|
337
|
+
if (!isDiffOpen || !selectedFile || !selectedOperation)
|
|
338
|
+
return null;
|
|
339
|
+
const hasMultipleOps = allOperations.length > 1;
|
|
340
|
+
return (_jsxs("div", { className: "absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300", children: [_jsxs("div", { className: "h-14 border-b border-border px-4 flex items-center gap-3 shrink-0", children: [_jsx(Button, { variant: "ghost", size: "icon", onClick: closeDiff, title: "Close diff viewer (ESC)", children: _jsx(X, { className: "w-4 h-4" }) }), _jsxs("div", { className: "flex-1 flex items-center gap-2 min-w-0", children: [_jsx("span", { className: "text-sm font-medium text-foreground font-mono truncate", title: selectedFile, children: selectedFile }), _jsx("span", { className: "text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0 capitalize", children: selectedOperation.operation }), selectedOperation.artifact?.summary && (_jsxs("div", { className: "flex items-center gap-1 text-xs flex-shrink-0", children: [_jsxs("span", { className: "text-green-500", children: ["+", selectedOperation.artifact.summary.additions] }), _jsxs("span", { className: "text-red-500", children: ["-", selectedOperation.artifact.summary.deletions] })] }))] }), hasMultipleOps && (_jsxs("div", { className: "flex items-center gap-2 shrink-0", children: [_jsx(Button, { variant: "ghost", size: "icon", onClick: () => selectOperation(Math.max(0, selectedOperationIndex - 1)), disabled: selectedOperationIndex === 0, title: "Previous operation (\u2190)", children: _jsx(ChevronLeft, { className: "w-4 h-4" }) }), _jsxs("span", { className: "text-xs text-muted-foreground min-w-[60px] text-center", children: [selectedOperationIndex + 1, " / ", allOperations.length] }), _jsx(Button, { variant: "ghost", size: "icon", onClick: () => selectOperation(Math.min(allOperations.length - 1, selectedOperationIndex + 1)), disabled: selectedOperationIndex === allOperations.length - 1, title: "Next operation (\u2192)", children: _jsx(ChevronRight, { className: "w-4 h-4" }) })] }))] }), hasMultipleOps && (_jsx("div", { className: "border-b border-border px-4 py-2 flex gap-2 overflow-x-auto shrink-0", children: allOperations.map((op, idx) => (_jsxs("button", { type: "button", onClick: () => selectOperation(idx), className: `px-3 py-1.5 text-xs rounded-md flex items-center gap-2 shrink-0 transition-colors ${idx === selectedOperationIndex
|
|
341
|
+
? 'bg-primary text-primary-foreground'
|
|
342
|
+
: 'bg-muted hover:bg-muted/80 text-muted-foreground'}`, children: [_jsx("span", { className: "capitalize", children: op.operation }), _jsx("span", { className: "opacity-70", children: formatTimestamp(op.timestamp) }), op.artifact?.summary && (_jsxs("span", { className: "opacity-70", children: ["+", op.artifact.summary.additions, "/-", op.artifact.summary.deletions] }))] }, op.toolCallId))) })), _jsx("div", { className: "flex-1 overflow-hidden p-4", children: patchContent ? (_jsx(FullHeightDiffView, { patch: patchContent })) : (_jsx("div", { className: "h-full flex items-center justify-center text-muted-foreground", children: "No diff content available" })) })] }));
|
|
343
|
+
});
|
|
344
|
+
//# sourceMappingURL=SessionFilesDiffPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionFilesDiffPanel.js","sourceRoot":"","sources":["../../../src/components/session-files/SessionFilesDiffPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionFilesSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/session-files/SessionFilesSidebar.tsx"],"names":[],"mappings":"AAaA,UAAU,wBAAwB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AA0GD,eAAO,MAAM,mBAAmB,gEA2D9B,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useMemo } from 'react';
|
|
3
|
+
import { ChevronRight, FilePen, FileCode, FilePlus, FileEdit, } from 'lucide-react';
|
|
4
|
+
import { useSessionFilesStore } from '../../stores/sessionFilesStore';
|
|
5
|
+
import { useSessionFiles } from '../../hooks/useSessionFiles';
|
|
6
|
+
import { Button } from '../ui/Button';
|
|
7
|
+
function getOperationIcon(operation) {
|
|
8
|
+
switch (operation) {
|
|
9
|
+
case 'write':
|
|
10
|
+
return _jsx(FilePlus, { className: "w-3 h-3 text-green-500" });
|
|
11
|
+
case 'patch':
|
|
12
|
+
return _jsx(FileEdit, { className: "w-3 h-3 text-blue-500" });
|
|
13
|
+
case 'edit':
|
|
14
|
+
return _jsx(FileCode, { className: "w-3 h-3 text-yellow-500" });
|
|
15
|
+
default:
|
|
16
|
+
return _jsx(FilePen, { className: "w-3 h-3 text-muted-foreground" });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function getFileName(path) {
|
|
20
|
+
return path.split('/').pop() || path;
|
|
21
|
+
}
|
|
22
|
+
function countLinesFromPatch(op) {
|
|
23
|
+
if (op.artifact?.summary) {
|
|
24
|
+
return {
|
|
25
|
+
additions: op.artifact.summary.additions,
|
|
26
|
+
deletions: op.artifact.summary.deletions,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const patch = op.artifact?.patch || op.patch;
|
|
30
|
+
if (patch) {
|
|
31
|
+
let additions = 0;
|
|
32
|
+
let deletions = 0;
|
|
33
|
+
const lines = patch.split('\n');
|
|
34
|
+
for (const line of lines) {
|
|
35
|
+
if (line.startsWith('+') && !line.startsWith('+++')) {
|
|
36
|
+
additions++;
|
|
37
|
+
}
|
|
38
|
+
else if (line.startsWith('-') && !line.startsWith('---')) {
|
|
39
|
+
deletions++;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return { additions, deletions };
|
|
43
|
+
}
|
|
44
|
+
if (op.content) {
|
|
45
|
+
const lineCount = op.content.split('\n').length;
|
|
46
|
+
return { additions: lineCount, deletions: 0 };
|
|
47
|
+
}
|
|
48
|
+
return { additions: 0, deletions: 0 };
|
|
49
|
+
}
|
|
50
|
+
function SessionFileItem({ file }) {
|
|
51
|
+
const openDiff = useSessionFilesStore((state) => state.openDiff);
|
|
52
|
+
const selectedFile = useSessionFilesStore((state) => state.selectedFile);
|
|
53
|
+
const isSelected = selectedFile === file.path;
|
|
54
|
+
const lastOp = file.operations[file.operations.length - 1];
|
|
55
|
+
const { totalAdditions, totalDeletions } = useMemo(() => {
|
|
56
|
+
let additions = 0;
|
|
57
|
+
let deletions = 0;
|
|
58
|
+
for (const op of file.operations) {
|
|
59
|
+
const stats = countLinesFromPatch(op);
|
|
60
|
+
additions += stats.additions;
|
|
61
|
+
deletions += stats.deletions;
|
|
62
|
+
}
|
|
63
|
+
return { totalAdditions: additions, totalDeletions: deletions };
|
|
64
|
+
}, [file.operations]);
|
|
65
|
+
const handleClick = () => {
|
|
66
|
+
if (file.operations.length > 0) {
|
|
67
|
+
openDiff(file.path, file.operations);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
return (_jsx("button", { type: "button", onClick: handleClick, className: `w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors ${isSelected ? 'bg-muted' : ''}`, children: _jsxs("div", { className: "flex items-center gap-2", children: [getOperationIcon(lastOp?.operation || 'write'), _jsx("div", { className: "flex-1 min-w-0", children: _jsx("div", { className: "text-sm font-medium truncate", children: getFileName(file.path) }) }), _jsxs("div", { className: "flex items-center gap-1 text-xs shrink-0", children: [file.operationCount > 1 && (_jsxs("span", { className: "bg-muted text-muted-foreground px-1 rounded mr-1", children: [file.operationCount, "x"] })), _jsxs("span", { className: "text-green-500", children: ["+", totalAdditions] }), _jsxs("span", { className: "text-red-500", children: ["-", totalDeletions] })] })] }) }));
|
|
71
|
+
}
|
|
72
|
+
export const SessionFilesSidebar = memo(function SessionFilesSidebar({ sessionId, }) {
|
|
73
|
+
const isExpanded = useSessionFilesStore((state) => state.isExpanded);
|
|
74
|
+
const collapseSidebar = useSessionFilesStore((state) => state.collapseSidebar);
|
|
75
|
+
const { data, isLoading, error } = useSessionFiles(sessionId);
|
|
76
|
+
if (!isExpanded)
|
|
77
|
+
return null;
|
|
78
|
+
return (_jsxs("div", { className: "w-80 border-l border-border bg-background flex flex-col h-full", children: [_jsxs("div", { className: "h-14 border-b border-border px-4 flex items-center justify-between shrink-0", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(FilePen, { className: "w-4 h-4 text-muted-foreground" }), _jsx("span", { className: "font-medium", children: "Session Files" }), data && data.totalFiles > 0 && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["(", data.totalFiles, ")"] }))] }), _jsx(Button, { variant: "ghost", size: "icon", onClick: collapseSidebar, children: _jsx(ChevronRight, { className: "w-4 h-4" }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: isLoading ? (_jsx("div", { className: "p-4 text-sm text-muted-foreground", children: "Loading session files..." })) : error ? (_jsx("div", { className: "p-4 text-sm text-orange-500", children: error instanceof Error ? error.message : 'Failed to load files' })) : !data || data.totalFiles === 0 ? (_jsx("div", { className: "p-4 text-sm text-muted-foreground", children: "No files modified in this session" })) : (_jsx("div", { className: "divide-y divide-border", children: data.files.map((file) => (_jsx(SessionFileItem, { file: file }, file.path))) })) }), data && data.totalOperations > 0 && (_jsxs("div", { className: "border-t border-border px-4 py-2 text-xs text-muted-foreground", children: [data.totalFiles, " file", data.totalFiles !== 1 ? 's' : '', " \u2022", ' ', data.totalOperations, " operation", data.totalOperations !== 1 ? 's' : ''] }))] }));
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=SessionFilesSidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionFilesSidebar.js","sourceRoot":"","sources":["../../../src/components/session-files/SessionFilesSidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionFilesSidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/session-files/SessionFilesSidebarToggle.tsx"],"names":[],"mappings":"AAKA,UAAU,8BAA8B;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,yBAAyB,sEA8BrC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { FilePen } from 'lucide-react';
|
|
4
|
+
import { useSessionFilesStore } from '../../stores/sessionFilesStore';
|
|
5
|
+
import { useSessionFiles } from '../../hooks/useSessionFiles';
|
|
6
|
+
export const SessionFilesSidebarToggle = memo(function SessionFilesSidebarToggle({ sessionId, }) {
|
|
7
|
+
const isExpanded = useSessionFilesStore((state) => state.isExpanded);
|
|
8
|
+
const toggleSidebar = useSessionFilesStore((state) => state.toggleSidebar);
|
|
9
|
+
const { data } = useSessionFiles(sessionId);
|
|
10
|
+
const fileCount = data?.totalFiles ?? 0;
|
|
11
|
+
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative p-3 w-full transition-colors touch-manipulation ${isExpanded
|
|
12
|
+
? 'bg-muted border-r-2 border-primary'
|
|
13
|
+
: 'hover:bg-muted/50'}`, title: "Session Files", children: [_jsx(FilePen, { className: "w-5 h-5 text-muted-foreground mx-auto" }), fileCount > 0 && (_jsx("span", { className: "absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold", children: fileCount > 9 ? '9+' : fileCount }))] }));
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=SessionFilesSidebarToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionFilesSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/session-files/SessionFilesSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAC5C,SAAS,yBAAyB,CAAC,EAClC,SAAS,GACuB;IAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;IAExC,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,4DACV,UAAU;YACT,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,mBACJ,EAAE,EACF,KAAK,EAAC,eAAe,aAErB,KAAC,OAAO,IAAC,SAAS,EAAC,uCAAuC,GAAG,EAC5D,SAAS,GAAG,CAAC,IAAI,CACjB,eAAM,SAAS,EAAC,uIAAuI,YACrJ,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAC3B,CACP,IACO,CACT,CAAC;AACH,CAAC,CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/session-files/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/session-files/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
|
|
@@ -8,6 +8,6 @@ export const TerminalsSidebarToggle = memo(function TerminalsSidebarToggle() {
|
|
|
8
8
|
const toggleSidebar = useTerminalStore((state) => state.toggleSidebar);
|
|
9
9
|
const { data } = useTerminals();
|
|
10
10
|
const terminalCount = data?.count ?? 0;
|
|
11
|
-
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative
|
|
11
|
+
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center ${isExpanded ? 'bg-muted border-r-2 border-primary' : 'hover:bg-muted/50'}`, title: "Terminals", children: [_jsx(Terminal, { className: "w-5 h-5 text-muted-foreground mx-auto" }), terminalCount > 0 && (_jsx("span", { className: "absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold", children: terminalCount > 9 ? '9+' : terminalCount }))] }));
|
|
12
12
|
});
|
|
13
13
|
//# sourceMappingURL=TerminalsSidebarToggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalsSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/terminals/TerminalsSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,sBAAsB;IACzE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IAEhC,MAAM,aAAa,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;IAEvC,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"TerminalsSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/terminals/TerminalsSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,sBAAsB;IACzE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IAEhC,MAAM,aAAa,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;IAEvC,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,8FACV,UAAU,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,mBACrD,EAAE,EACF,KAAK,EAAC,WAAW,aAEjB,KAAC,QAAQ,IAAC,SAAS,EAAC,uCAAuC,GAAG,EAC7D,aAAa,GAAG,CAAC,IAAI,CACrB,eAAM,SAAS,EAAC,uIAAuI,YACrJ,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,GACnC,CACP,IACO,CACT,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,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;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,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;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
package/dist/hooks/index.js
CHANGED
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,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;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,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;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfig.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS;;;;;;;;UAKxB;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"useConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfig.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS;;;;;;;;UAKxB;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM;;;;gBAc25L,CAAC;;;UARt8L;AAED,wBAAgB,YAAY,0FAK3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSessionFiles.d.ts","sourceRoot":"","sources":["../../src/hooks/useSessionFiles.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,4FAW5D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { apiClient } from '../lib/api-client';
|
|
3
|
+
import { useSessionFilesStore } from '../stores/sessionFilesStore';
|
|
4
|
+
export function useSessionFiles(sessionId) {
|
|
5
|
+
const isExpanded = useSessionFilesStore((state) => state.isExpanded);
|
|
6
|
+
return useQuery({
|
|
7
|
+
queryKey: ['session', sessionId, 'files'],
|
|
8
|
+
queryFn: () => (sessionId ? apiClient.getSessionFiles(sessionId) : null),
|
|
9
|
+
enabled: !!sessionId,
|
|
10
|
+
refetchInterval: isExpanded ? 5000 : false,
|
|
11
|
+
retry: 1,
|
|
12
|
+
staleTime: 3000,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useSessionFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSessionFiles.js","sourceRoot":"","sources":["../../src/hooks/useSessionFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,eAAe,CAAC,SAA6B;IAC5D,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAErE,OAAO,QAAQ,CAAC;QACf,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QACzC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,OAAO,EAAE,CAAC,CAAC,SAAS;QACpB,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QAC1C,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,IAAI;KACf,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Session, Message, CreateSessionRequest, SendMessageRequest, SendMessageResponse, GitStatusResponse, GitDiffResponse, GitStageResponse, GitUnstageResponse, GitCommitResponse, GitGenerateCommitMessageResponse, GitBranchInfo, GitPushResponse, UpdateSessionRequest, AllModelsResponse } from '../types/api';
|
|
1
|
+
import type { Session, Message, CreateSessionRequest, SendMessageRequest, SendMessageResponse, GitStatusResponse, GitDiffResponse, GitStageResponse, GitUnstageResponse, GitCommitResponse, GitGenerateCommitMessageResponse, GitBranchInfo, GitPushResponse, UpdateSessionRequest, AllModelsResponse, SessionFilesResponse } from '../types/api';
|
|
2
2
|
/**
|
|
3
3
|
* Configure the API client with the correct base URL
|
|
4
4
|
* This should be called once at application startup
|
|
@@ -55,6 +55,7 @@ declare class ApiClient {
|
|
|
55
55
|
}>;
|
|
56
56
|
truncated: boolean;
|
|
57
57
|
}>;
|
|
58
|
+
getSessionFiles(sessionId: string): Promise<SessionFilesResponse>;
|
|
58
59
|
}
|
|
59
60
|
export declare const apiClient: ApiClient;
|
|
60
61
|
export {};
|