@serjm/deepseek-code 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +12 -0
- package/README.ru.md +12 -0
- package/dist/cli/headless.d.ts.map +1 -1
- package/dist/cli/headless.js +2 -0
- package/dist/cli/headless.js.map +1 -1
- package/dist/commands/index.d.ts +7 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +130 -21
- package/dist/commands/index.js.map +1 -1
- package/dist/core/agent-loop.d.ts +26 -1
- package/dist/core/agent-loop.d.ts.map +1 -1
- package/dist/core/agent-loop.js +157 -4
- package/dist/core/agent-loop.js.map +1 -1
- package/dist/core/i18n.d.ts +2 -0
- package/dist/core/i18n.d.ts.map +1 -1
- package/dist/core/i18n.js +6 -0
- package/dist/core/i18n.js.map +1 -1
- package/dist/core/metrics.d.ts +43 -0
- package/dist/core/metrics.d.ts.map +1 -1
- package/dist/core/metrics.js +170 -6
- package/dist/core/metrics.js.map +1 -1
- package/dist/tools/chrome.js +53 -53
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +30 -8
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/types.d.ts +28 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +10 -0
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +13 -1
- package/dist/tools/write.js.map +1 -1
- package/dist/ui/app.d.ts.map +1 -1
- package/dist/ui/app.js +46 -1
- package/dist/ui/app.js.map +1 -1
- package/dist/ui/input-bar.d.ts.map +1 -1
- package/dist/ui/input-bar.js +268 -70
- package/dist/ui/input-bar.js.map +1 -1
- package/package.json +2 -1
package/dist/core/metrics.js
CHANGED
|
@@ -1,4 +1,85 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
1
2
|
import { MODEL_PRICING } from '../config/defaults.js';
|
|
3
|
+
/**
|
|
4
|
+
* Safely capture git status --porcelain output.
|
|
5
|
+
* Returns null outside git repos or on any error.
|
|
6
|
+
*/
|
|
7
|
+
export function captureGitStatus(cwd) {
|
|
8
|
+
try {
|
|
9
|
+
const stdout = execSync('git status --porcelain', {
|
|
10
|
+
cwd,
|
|
11
|
+
encoding: 'utf-8',
|
|
12
|
+
timeout: 5000,
|
|
13
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
14
|
+
});
|
|
15
|
+
return parsePorcelain(stdout);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Parse git status --porcelain output into GitStatusSnapshot.
|
|
23
|
+
*/
|
|
24
|
+
export function parsePorcelain(stdout) {
|
|
25
|
+
const lines = stdout.split(/\r?\n/).filter(Boolean);
|
|
26
|
+
const dirty = [];
|
|
27
|
+
const untracked = [];
|
|
28
|
+
const added = [];
|
|
29
|
+
const deleted = [];
|
|
30
|
+
const allMap = new Map();
|
|
31
|
+
for (const line of lines) {
|
|
32
|
+
// XY <path> or XY "<quoted path>"
|
|
33
|
+
const match = line.match(/^([ MADRC?!]{2})\s+(.+)$/);
|
|
34
|
+
if (!match)
|
|
35
|
+
continue;
|
|
36
|
+
const xy = match[1];
|
|
37
|
+
let path = match[2];
|
|
38
|
+
// Remove surrounding quotes that git adds for special characters
|
|
39
|
+
if (path.startsWith('"') && path.endsWith('"')) {
|
|
40
|
+
path = path.slice(1, -1);
|
|
41
|
+
}
|
|
42
|
+
const staged = xy[0];
|
|
43
|
+
const worktree = xy[1];
|
|
44
|
+
// Untracked: ??
|
|
45
|
+
if (staged === '?' && worktree === '?') {
|
|
46
|
+
untracked.push(path);
|
|
47
|
+
allMap.set(path, true);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
// Added (staged): A<space>
|
|
51
|
+
if (staged === 'A') {
|
|
52
|
+
added.push(path);
|
|
53
|
+
allMap.set(path, true);
|
|
54
|
+
}
|
|
55
|
+
// Deleted: D<space> or <space>D
|
|
56
|
+
if (staged === 'D' || worktree === 'D') {
|
|
57
|
+
deleted.push(path);
|
|
58
|
+
allMap.set(path, true);
|
|
59
|
+
}
|
|
60
|
+
// Modified: M<space>, <space>M, MM, or renamed (R)
|
|
61
|
+
if (staged === 'M' || worktree === 'M' ||
|
|
62
|
+
staged === 'R' || worktree === 'R') {
|
|
63
|
+
dirty.push(path);
|
|
64
|
+
allMap.set(path, true);
|
|
65
|
+
}
|
|
66
|
+
// Also handle staged modifications with other indicators
|
|
67
|
+
if (staged !== '?' && worktree !== '?' && !['A', 'D', 'M', 'R'].includes(staged) && !['D', 'M', 'R'].includes(worktree)) {
|
|
68
|
+
// Anything else that's not clean: treat as dirty
|
|
69
|
+
if (staged !== ' ' || worktree !== ' ') {
|
|
70
|
+
dirty.push(path);
|
|
71
|
+
allMap.set(path, true);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
dirty,
|
|
77
|
+
untracked,
|
|
78
|
+
added,
|
|
79
|
+
deleted,
|
|
80
|
+
all: Array.from(allMap.keys()),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
2
83
|
export class MetricsCollector {
|
|
3
84
|
startTime = Date.now();
|
|
4
85
|
_toolCalls = 0;
|
|
@@ -8,8 +89,11 @@ export class MetricsCollector {
|
|
|
8
89
|
_outputTokens = 0;
|
|
9
90
|
_reasoningOutputTokens = 0;
|
|
10
91
|
_lastInputTokens = 0;
|
|
92
|
+
_apiCalls = 0;
|
|
11
93
|
toolTimings = new Map();
|
|
12
94
|
toolCallLog = [];
|
|
95
|
+
_gitBaseline = null;
|
|
96
|
+
_gitFinal = null;
|
|
13
97
|
get toolCalls() {
|
|
14
98
|
return this._toolCalls;
|
|
15
99
|
}
|
|
@@ -31,9 +115,25 @@ export class MetricsCollector {
|
|
|
31
115
|
get totalTokens() {
|
|
32
116
|
return this._inputTokens + this._outputTokens;
|
|
33
117
|
}
|
|
118
|
+
get apiCalls() {
|
|
119
|
+
return this._apiCalls;
|
|
120
|
+
}
|
|
34
121
|
get elapsedMs() {
|
|
35
122
|
return Date.now() - this.startTime;
|
|
36
123
|
}
|
|
124
|
+
/** Get a copy of the tool call log for budget/inspection purposes */
|
|
125
|
+
get toolCallLogEntries() {
|
|
126
|
+
return [...this.toolCallLog];
|
|
127
|
+
}
|
|
128
|
+
/** Get count of a specific tool in the call log */
|
|
129
|
+
getToolCallCount(name) {
|
|
130
|
+
return this.toolCallLog.filter(t => t.tool === name).length;
|
|
131
|
+
}
|
|
132
|
+
/** Get count of tool calls matching any of the given names */
|
|
133
|
+
getToolCallCountAny(names) {
|
|
134
|
+
const nameSet = new Set(names);
|
|
135
|
+
return this.toolCallLog.filter(t => nameSet.has(t.tool)).length;
|
|
136
|
+
}
|
|
37
137
|
recordToolCallStart(toolName) {
|
|
38
138
|
this.toolTimings.set(toolName, { start: Date.now() });
|
|
39
139
|
}
|
|
@@ -63,6 +163,7 @@ export class MetricsCollector {
|
|
|
63
163
|
this._reasoningOutputTokens += usage.reasoningOutput ?? 0;
|
|
64
164
|
if (input > 0)
|
|
65
165
|
this._lastInputTokens = input;
|
|
166
|
+
this._apiCalls++;
|
|
66
167
|
}
|
|
67
168
|
/**
|
|
68
169
|
* Get current context window usage as % of max context.
|
|
@@ -104,14 +205,48 @@ export class MetricsCollector {
|
|
|
104
205
|
const cost = this.estimatedCostUSD(model);
|
|
105
206
|
const costStr = cost > 0 ? ` · $${cost.toFixed(4)}` : '';
|
|
106
207
|
let summary = '\n\n━━━ Execution Summary ━━━\n';
|
|
107
|
-
|
|
108
|
-
|
|
208
|
+
// API calls count
|
|
209
|
+
const apiCallStr = this._apiCalls > 0
|
|
210
|
+
? `API calls: ${this._apiCalls}\n`
|
|
109
211
|
: '';
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
212
|
+
summary += apiCallStr;
|
|
213
|
+
// Session input/output totals (sum across all API calls)
|
|
214
|
+
const inputStr = this._inputTokens.toLocaleString();
|
|
215
|
+
const outputStr = this._outputTokens.toLocaleString();
|
|
216
|
+
const totalStr = this.totalTokens.toLocaleString();
|
|
217
|
+
const reasoningStr = this._reasoningOutputTokens > 0
|
|
218
|
+
? ` (reasoning: ${this._reasoningOutputTokens.toLocaleString()})`
|
|
219
|
+
: '';
|
|
220
|
+
summary += ` Session input tokens: ${inputStr}`;
|
|
221
|
+
if (this._cacheHitInputTokens > 0 || this._cacheMissInputTokens > 0) {
|
|
222
|
+
summary += ` (cache hit: ${this._cacheHitInputTokens.toLocaleString()}, cache miss: ${this._cacheMissInputTokens.toLocaleString()})`;
|
|
223
|
+
}
|
|
224
|
+
summary += '\n';
|
|
225
|
+
summary += ` Session output tokens: ${outputStr}${reasoningStr}\n`;
|
|
226
|
+
summary += ` Session total tokens: ${totalStr}\n`;
|
|
227
|
+
// Last request context window (the actual size of the last prompt)
|
|
228
|
+
const contextPercent = this.getCurrentWindowPercent();
|
|
229
|
+
if (contextPercent > 0 && this._lastInputTokens > 0) {
|
|
230
|
+
summary += `\nLast request context: ${this._lastInputTokens.toLocaleString()} tokens (${contextPercent}% of 128k window)\n`;
|
|
231
|
+
}
|
|
232
|
+
// Git change report
|
|
233
|
+
const gitReport = this.getGitChangeReport();
|
|
234
|
+
if (gitReport && (gitReport.duringRun.length > 0 || gitReport.newUntracked.length > 0 || gitReport.beforeRun.length > 0)) {
|
|
235
|
+
const formatList = (items) => {
|
|
236
|
+
if (items.length === 0)
|
|
237
|
+
return '(none)';
|
|
238
|
+
const limited = items.slice(0, 10);
|
|
239
|
+
const suffix = items.length > 10 ? ', ... +' + (items.length - 10) + ' more' : '';
|
|
240
|
+
return limited.join(', ') + suffix;
|
|
241
|
+
};
|
|
242
|
+
summary += '\nFiles:\n';
|
|
243
|
+
summary += ` changed during run: ${formatList(gitReport.duringRun)}\n`;
|
|
244
|
+
summary += ` new untracked: ${formatList(gitReport.newUntracked)}\n`;
|
|
245
|
+
summary += ` dirty before run: ${formatList(gitReport.beforeRun)}\n`;
|
|
246
|
+
}
|
|
247
|
+
// Tool breakdown
|
|
113
248
|
if (this.toolCallLog.length > 0) {
|
|
114
|
-
|
|
249
|
+
summary += '\n';
|
|
115
250
|
const groups = new Map();
|
|
116
251
|
for (const call of this.toolCallLog) {
|
|
117
252
|
const g = groups.get(call.tool) ?? { count: 0, totalDuration: 0, success: 0, fail: 0 };
|
|
@@ -127,6 +262,7 @@ export class MetricsCollector {
|
|
|
127
262
|
}
|
|
128
263
|
summary += `Tools: ${Array.from(groups.entries()).map(([name, g]) => `${name} x${g.count}${g.fail > 0 ? ` (${g.success} ok ${g.fail} failed)` : ''}`).join(', ')}\n`;
|
|
129
264
|
}
|
|
265
|
+
summary += `Time: ${mins}m ${secs}s${costStr}\n`;
|
|
130
266
|
summary += '━━━━━━━━━━━━━━━━━━━━━━━━━━\n';
|
|
131
267
|
return summary;
|
|
132
268
|
}
|
|
@@ -139,8 +275,36 @@ export class MetricsCollector {
|
|
|
139
275
|
this._outputTokens = 0;
|
|
140
276
|
this._reasoningOutputTokens = 0;
|
|
141
277
|
this._lastInputTokens = 0;
|
|
278
|
+
this._apiCalls = 0;
|
|
142
279
|
this.toolTimings.clear();
|
|
143
280
|
this.toolCallLog = [];
|
|
281
|
+
this._gitBaseline = null;
|
|
282
|
+
this._gitFinal = null;
|
|
283
|
+
}
|
|
284
|
+
/** Capture git baseline at the start of a session. */
|
|
285
|
+
captureGitBaseline(cwd) {
|
|
286
|
+
this._gitBaseline = captureGitStatus(cwd);
|
|
287
|
+
}
|
|
288
|
+
/** Capture git final at the end of a session. */
|
|
289
|
+
captureGitFinal(cwd) {
|
|
290
|
+
this._gitFinal = captureGitStatus(cwd);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Get a structured change report comparing baseline and final statuses.
|
|
294
|
+
* Returns null if either baseline or final hasn't been captured.
|
|
295
|
+
*/
|
|
296
|
+
getGitChangeReport() {
|
|
297
|
+
if (this._gitBaseline === null || this._gitFinal === null)
|
|
298
|
+
return null;
|
|
299
|
+
const baselineSet = new Set(this._gitBaseline.all);
|
|
300
|
+
const baselineUntrackedSet = new Set(this._gitBaseline.untracked);
|
|
301
|
+
const duringRun = this._gitFinal.all.filter(p => !baselineSet.has(p));
|
|
302
|
+
const newUntracked = this._gitFinal.untracked.filter(p => !baselineUntrackedSet.has(p));
|
|
303
|
+
return {
|
|
304
|
+
beforeRun: [...this._gitBaseline.all],
|
|
305
|
+
duringRun,
|
|
306
|
+
newUntracked,
|
|
307
|
+
};
|
|
144
308
|
}
|
|
145
309
|
}
|
|
146
310
|
//# sourceMappingURL=metrics.js.map
|
package/dist/core/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/chrome.js
CHANGED
|
@@ -576,26 +576,26 @@ export function getLastBrowserTestResult() {
|
|
|
576
576
|
* Returns the server and the URL.
|
|
577
577
|
*/
|
|
578
578
|
async function startTestServer() {
|
|
579
|
-
const html = `<!DOCTYPE html>
|
|
580
|
-
<html lang="en">
|
|
581
|
-
<head><meta charset="UTF-8"><title>Browser Test Page</title></head>
|
|
582
|
-
<body>
|
|
583
|
-
<h1 id="test-title">Browser Test</h1>
|
|
584
|
-
<p id="test-paragraph">Hello, world!</p>
|
|
585
|
-
<button id="test-button" onclick="document.getElementById('test-output').textContent='clicked'">Click Me</button>
|
|
586
|
-
<input id="test-input" type="text" placeholder="Type here">
|
|
587
|
-
<label><input type="checkbox" id="test-checkbox" checked> Checkbox</label>
|
|
588
|
-
<label><input type="radio" name="test-radio" id="radio-1" checked> Radio 1</label>
|
|
589
|
-
<label><input type="radio" name="test-radio" id="radio-2"> Radio 2</label>
|
|
590
|
-
<div id="test-output"></div>
|
|
591
|
-
<script>
|
|
592
|
-
console.log('Browser test page loaded');
|
|
593
|
-
console.error('Test error message');
|
|
594
|
-
localStorage.setItem('test-key', 'test-value');
|
|
595
|
-
sessionStorage.setItem('session-key', 'session-value');
|
|
596
|
-
document.cookie = 'test-cookie=chocolate-chip; path=/';
|
|
597
|
-
</script>
|
|
598
|
-
</body>
|
|
579
|
+
const html = `<!DOCTYPE html>
|
|
580
|
+
<html lang="en">
|
|
581
|
+
<head><meta charset="UTF-8"><title>Browser Test Page</title></head>
|
|
582
|
+
<body>
|
|
583
|
+
<h1 id="test-title">Browser Test</h1>
|
|
584
|
+
<p id="test-paragraph">Hello, world!</p>
|
|
585
|
+
<button id="test-button" onclick="document.getElementById('test-output').textContent='clicked'">Click Me</button>
|
|
586
|
+
<input id="test-input" type="text" placeholder="Type here">
|
|
587
|
+
<label><input type="checkbox" id="test-checkbox" checked> Checkbox</label>
|
|
588
|
+
<label><input type="radio" name="test-radio" id="radio-1" checked> Radio 1</label>
|
|
589
|
+
<label><input type="radio" name="test-radio" id="radio-2"> Radio 2</label>
|
|
590
|
+
<div id="test-output"></div>
|
|
591
|
+
<script>
|
|
592
|
+
console.log('Browser test page loaded');
|
|
593
|
+
console.error('Test error message');
|
|
594
|
+
localStorage.setItem('test-key', 'test-value');
|
|
595
|
+
sessionStorage.setItem('session-key', 'session-value');
|
|
596
|
+
document.cookie = 'test-cookie=chocolate-chip; path=/';
|
|
597
|
+
</script>
|
|
598
|
+
</body>
|
|
599
599
|
</html>`;
|
|
600
600
|
return new Promise((resolve, reject) => {
|
|
601
601
|
const server = createServer((_req, res) => {
|
|
@@ -668,23 +668,23 @@ export async function browserTest(options) {
|
|
|
668
668
|
}
|
|
669
669
|
if (!testUrl) {
|
|
670
670
|
// Fall back to data: URL for basic tests, skip storage/network
|
|
671
|
-
const dataUrl = `data:text/html,<!DOCTYPE html>
|
|
672
|
-
<html lang="en">
|
|
673
|
-
<head><meta charset="UTF-8"><title>Browser Test Page</title></head>
|
|
674
|
-
<body>
|
|
675
|
-
<h1 id="test-title">Browser Test</h1>
|
|
676
|
-
<p id="test-paragraph">Hello, world!</p>
|
|
677
|
-
<button id="test-button" onclick="document.getElementById('test-output').textContent='clicked'">Click Me</button>
|
|
678
|
-
<input id="test-input" type="text" placeholder="Type here">
|
|
679
|
-
<label><input type="checkbox" id="test-checkbox" checked> Checkbox</label>
|
|
680
|
-
<label><input type="radio" name="test-radio" id="radio-1" checked> Radio 1</label>
|
|
681
|
-
<label><input type="radio" name="test-radio" id="radio-2"> Radio 2</label>
|
|
682
|
-
<div id="test-output"></div>
|
|
683
|
-
<script>
|
|
684
|
-
console.log('Browser test page loaded');
|
|
685
|
-
console.error('Test error message');
|
|
686
|
-
</script>
|
|
687
|
-
</body>
|
|
671
|
+
const dataUrl = `data:text/html,<!DOCTYPE html>
|
|
672
|
+
<html lang="en">
|
|
673
|
+
<head><meta charset="UTF-8"><title>Browser Test Page</title></head>
|
|
674
|
+
<body>
|
|
675
|
+
<h1 id="test-title">Browser Test</h1>
|
|
676
|
+
<p id="test-paragraph">Hello, world!</p>
|
|
677
|
+
<button id="test-button" onclick="document.getElementById('test-output').textContent='clicked'">Click Me</button>
|
|
678
|
+
<input id="test-input" type="text" placeholder="Type here">
|
|
679
|
+
<label><input type="checkbox" id="test-checkbox" checked> Checkbox</label>
|
|
680
|
+
<label><input type="radio" name="test-radio" id="radio-1" checked> Radio 1</label>
|
|
681
|
+
<label><input type="radio" name="test-radio" id="radio-2"> Radio 2</label>
|
|
682
|
+
<div id="test-output"></div>
|
|
683
|
+
<script>
|
|
684
|
+
console.log('Browser test page loaded');
|
|
685
|
+
console.error('Test error message');
|
|
686
|
+
</script>
|
|
687
|
+
</body>
|
|
688
688
|
</html>`;
|
|
689
689
|
const baseArgs = { url: dataUrl, sameTab: true, timeout: 30000 };
|
|
690
690
|
async function runDataStep(name, action, extraArgs) {
|
|
@@ -1026,22 +1026,22 @@ function buildRealTestReport(results, totalCalls, totalSites) {
|
|
|
1026
1026
|
}
|
|
1027
1027
|
export const chromeTool = {
|
|
1028
1028
|
name: 'chrome',
|
|
1029
|
-
description: `Control a real browser through a native Chrome runtime.
|
|
1030
|
-
Use it for UI validation, rendered DOM inspection, console and network debugging,
|
|
1031
|
-
screenshots, and multi-step browser workflows when terminal tools are not enough.
|
|
1032
|
-
If the task mentions localhost pages, forms, browser bugs, screenshots, rendered state,
|
|
1033
|
-
console output, or network requests, this is the primary tool.
|
|
1034
|
-
|
|
1035
|
-
Examples:
|
|
1036
|
-
- { "action": "open", "url": "https://example.com" }
|
|
1037
|
-
- { "action": "text", "url": "https://example.com", "selector": "h1" }
|
|
1038
|
-
- { "action": "click", "url": "https://example.com", "selector": ".submit-btn" }
|
|
1039
|
-
- { "action": "fill", "url": "https://example.com/login", "selector": "#email", "text": "user@example.com" }
|
|
1040
|
-
- { "action": "eval", "url": "https://example.com", "code": "document.title" }
|
|
1041
|
-
- { "action": "network", "url": "https://example.com", "api": true }
|
|
1042
|
-
- { "action": "state" }
|
|
1043
|
-
- { "action": "shot", "url": "https://example.com", "output": "screenshot.png", "full": true }
|
|
1044
|
-
- Use "sameTab": true for multi-step flows in one tab.
|
|
1029
|
+
description: `Control a real browser through a native Chrome runtime.
|
|
1030
|
+
Use it for UI validation, rendered DOM inspection, console and network debugging,
|
|
1031
|
+
screenshots, and multi-step browser workflows when terminal tools are not enough.
|
|
1032
|
+
If the task mentions localhost pages, forms, browser bugs, screenshots, rendered state,
|
|
1033
|
+
console output, or network requests, this is the primary tool.
|
|
1034
|
+
|
|
1035
|
+
Examples:
|
|
1036
|
+
- { "action": "open", "url": "https://example.com" }
|
|
1037
|
+
- { "action": "text", "url": "https://example.com", "selector": "h1" }
|
|
1038
|
+
- { "action": "click", "url": "https://example.com", "selector": ".submit-btn" }
|
|
1039
|
+
- { "action": "fill", "url": "https://example.com/login", "selector": "#email", "text": "user@example.com" }
|
|
1040
|
+
- { "action": "eval", "url": "https://example.com", "code": "document.title" }
|
|
1041
|
+
- { "action": "network", "url": "https://example.com", "api": true }
|
|
1042
|
+
- { "action": "state" }
|
|
1043
|
+
- { "action": "shot", "url": "https://example.com", "output": "screenshot.png", "full": true }
|
|
1044
|
+
- Use "sameTab": true for multi-step flows in one tab.
|
|
1045
1045
|
- Use "headless": true for automation or CI-safe browser execution.`,
|
|
1046
1046
|
parameters: chromeParameters,
|
|
1047
1047
|
execute: async (args) => {
|
package/dist/tools/edit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,YAAY,CAAA;AAGvD,eAAO,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,YAAY,CAAA;AAGvD,eAAO,MAAM,QAAQ,EAAE,IAoGtB,CAAA"}
|
package/dist/tools/edit.js
CHANGED
|
@@ -37,6 +37,18 @@ export const editTool = {
|
|
|
37
37
|
try {
|
|
38
38
|
assertPathInWorkspace(filePath);
|
|
39
39
|
const content = await readFile(filePath, 'utf-8');
|
|
40
|
+
// Check if old_string exists
|
|
41
|
+
const index = content.indexOf(oldString);
|
|
42
|
+
if (index === -1) {
|
|
43
|
+
return {
|
|
44
|
+
success: false,
|
|
45
|
+
output: '',
|
|
46
|
+
error: 'String not found in file',
|
|
47
|
+
changed: false,
|
|
48
|
+
verified: false,
|
|
49
|
+
changedFiles: [],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
40
52
|
if (replaceAll) {
|
|
41
53
|
const replaced = content.replaceAll(oldString, newString);
|
|
42
54
|
if (replaced === content) {
|
|
@@ -44,28 +56,35 @@ export const editTool = {
|
|
|
44
56
|
success: false,
|
|
45
57
|
output: '',
|
|
46
58
|
error: 'String not found in file',
|
|
59
|
+
changed: false,
|
|
60
|
+
verified: false,
|
|
61
|
+
changedFiles: [],
|
|
47
62
|
};
|
|
48
63
|
}
|
|
49
64
|
await writeFile(filePath, replaced, 'utf-8');
|
|
65
|
+
// Verify by re-reading
|
|
66
|
+
const writtenContent = await readFile(filePath, 'utf-8');
|
|
67
|
+
const verified = writtenContent === replaced;
|
|
50
68
|
return {
|
|
51
69
|
success: true,
|
|
52
70
|
output: `Replaced all occurrences in ${filePath}`,
|
|
71
|
+
changed: true,
|
|
72
|
+
verified,
|
|
73
|
+
changedFiles: [filePath],
|
|
53
74
|
};
|
|
54
75
|
}
|
|
55
76
|
else {
|
|
56
|
-
const index = content.indexOf(oldString);
|
|
57
|
-
if (index === -1) {
|
|
58
|
-
return {
|
|
59
|
-
success: false,
|
|
60
|
-
output: '',
|
|
61
|
-
error: 'String not found in file',
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
77
|
const replaced = content.replace(oldString, newString);
|
|
65
78
|
await writeFile(filePath, replaced, 'utf-8');
|
|
79
|
+
// Verify by re-reading
|
|
80
|
+
const writtenContent = await readFile(filePath, 'utf-8');
|
|
81
|
+
const verified = writtenContent === replaced;
|
|
66
82
|
return {
|
|
67
83
|
success: true,
|
|
68
84
|
output: `Successfully edited ${filePath}`,
|
|
85
|
+
changed: true,
|
|
86
|
+
verified,
|
|
87
|
+
changedFiles: [filePath],
|
|
69
88
|
};
|
|
70
89
|
}
|
|
71
90
|
}
|
|
@@ -74,6 +93,9 @@ export const editTool = {
|
|
|
74
93
|
success: false,
|
|
75
94
|
output: '',
|
|
76
95
|
error: `Failed to edit file: ${err.message}`,
|
|
96
|
+
changed: false,
|
|
97
|
+
verified: false,
|
|
98
|
+
changedFiles: [],
|
|
77
99
|
};
|
|
78
100
|
}
|
|
79
101
|
},
|
package/dist/tools/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,CAAC,MAAM,QAAQ,GAAS;IAC5B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iFAAiF;IAC9F,UAAU,EAAE;QACV;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mDAAmD;YAChE,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,KAAK,CAAC,OAAO,CAAE,IAA6B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAmB,CAAA;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAoB,CAAA;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAoB,CAAA;QAC3C,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QAErC,IAAI,CAAC;YACH,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YAC/B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAEjD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;gBACzD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACzB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -14,12 +14,40 @@ export interface ToolResult {
|
|
|
14
14
|
success: boolean;
|
|
15
15
|
output: string;
|
|
16
16
|
error?: string;
|
|
17
|
+
/** Whether the tool actually changed something (e.g., file written/modified) */
|
|
18
|
+
changed?: boolean;
|
|
19
|
+
/** Whether the change was verified by re-reading from disk */
|
|
20
|
+
verified?: boolean;
|
|
21
|
+
/** List of files that were changed */
|
|
22
|
+
changedFiles?: string[];
|
|
17
23
|
}
|
|
18
24
|
export type ApprovalRequirement = 'always' | 'auto' | 'never';
|
|
25
|
+
/**
|
|
26
|
+
* Budget limits for a task session.
|
|
27
|
+
* All values are optional — unset means unlimited.
|
|
28
|
+
* 0 is treated as "no limit" (falsy check).
|
|
29
|
+
*/
|
|
30
|
+
export interface TaskBudget {
|
|
31
|
+
/** Maximum total tool calls across all iterations */
|
|
32
|
+
maxToolCalls?: number;
|
|
33
|
+
/** Maximum API calls (round trips to model) */
|
|
34
|
+
maxApiCalls?: number;
|
|
35
|
+
/** Maximum iterations (overrides AgentLoopOptions.maxIterations if set) */
|
|
36
|
+
maxIterations?: number;
|
|
37
|
+
/** Maximum calls to read_file tool */
|
|
38
|
+
maxReadFiles?: number;
|
|
39
|
+
/** Maximum calls to shell/bash/run_shell_command tools */
|
|
40
|
+
maxShellCommands?: number;
|
|
41
|
+
}
|
|
19
42
|
export interface ToolDefinition {
|
|
20
43
|
tool: Tool;
|
|
21
44
|
approval: ApprovalRequirement;
|
|
22
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Preset budget for small/audit tasks (headless mode).
|
|
48
|
+
* Limits tool calls, API calls, read_file, and shell commands.
|
|
49
|
+
*/
|
|
50
|
+
export declare const AUDIT_BUDGET_PRESET: TaskBudget;
|
|
23
51
|
/**
|
|
24
52
|
* OpenAI-compatible tool format for DeepSeek API function calling.
|
|
25
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAE7D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAKjC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ,CAAC;YACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,WAAW,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CA4B1E;AAKD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,aAAa,EAAE,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyDzB"}
|
package/dist/tools/types.js
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preset budget for small/audit tasks (headless mode).
|
|
3
|
+
* Limits tool calls, API calls, read_file, and shell commands.
|
|
4
|
+
*/
|
|
5
|
+
export const AUDIT_BUDGET_PRESET = {
|
|
6
|
+
maxToolCalls: 12,
|
|
7
|
+
maxApiCalls: 6,
|
|
8
|
+
maxReadFiles: 5,
|
|
9
|
+
maxShellCommands: 4,
|
|
10
|
+
};
|
|
1
11
|
/**
|
|
2
12
|
* Convert our internal ToolDefinition[] to OpenAI-compatible tool format.
|
|
3
13
|
*/
|
package/dist/tools/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,YAAY,CAAA;AAKvD,eAAO,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,YAAY,CAAA;AAKvD,eAAO,MAAM,SAAS,EAAE,IA4DvB,CAAA"}
|
package/dist/tools/write.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { writeFile, mkdir } from 'node:fs/promises';
|
|
1
|
+
import { writeFile, readFile, mkdir } from 'node:fs/promises';
|
|
2
2
|
import { dirname } from 'node:path';
|
|
3
3
|
import { assertPathInWorkspace } from './path-safety.js';
|
|
4
4
|
const MAX_FILE_SIZE = 1_048_576; // 1MB limit
|
|
@@ -28,15 +28,24 @@ export const writeTool = {
|
|
|
28
28
|
success: false,
|
|
29
29
|
output: '',
|
|
30
30
|
error: `File too large: ${content.length} bytes exceeds the maximum of ${MAX_FILE_SIZE} bytes (1MB). Use run_shell_command to write large files.`,
|
|
31
|
+
changed: false,
|
|
32
|
+
verified: false,
|
|
33
|
+
changedFiles: [],
|
|
31
34
|
};
|
|
32
35
|
}
|
|
33
36
|
try {
|
|
34
37
|
assertPathInWorkspace(filePath);
|
|
35
38
|
await mkdir(dirname(filePath), { recursive: true });
|
|
36
39
|
await writeFile(filePath, content, 'utf-8');
|
|
40
|
+
// Verify by re-reading the file
|
|
41
|
+
const writtenContent = await readFile(filePath, 'utf-8');
|
|
42
|
+
const verified = writtenContent === content;
|
|
37
43
|
return {
|
|
38
44
|
success: true,
|
|
39
45
|
output: `Successfully wrote ${content.length} bytes to ${filePath}`,
|
|
46
|
+
changed: true,
|
|
47
|
+
verified,
|
|
48
|
+
changedFiles: [filePath],
|
|
40
49
|
};
|
|
41
50
|
}
|
|
42
51
|
catch (err) {
|
|
@@ -44,6 +53,9 @@ export const writeTool = {
|
|
|
44
53
|
success: false,
|
|
45
54
|
output: '',
|
|
46
55
|
error: `Failed to write file: ${err.message}`,
|
|
56
|
+
changed: false,
|
|
57
|
+
verified: false,
|
|
58
|
+
changedFiles: [],
|
|
47
59
|
};
|
|
48
60
|
}
|
|
49
61
|
},
|
package/dist/tools/write.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,aAAa,GAAG,SAAS,CAAA,CAAC,YAAY;AAE5C,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,iFAAiF;IAC9F,UAAU,EAAE;QACV;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACf;KACF;IACD,KAAK,CAAC,OAAO,CAAE,IAA6B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAmB,CAAA;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAA;QAEtC,mBAAmB;QACnB,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,mBAAmB,OAAO,CAAC,MAAM,iCAAiC,aAAa,2DAA2D;gBACjJ,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,EAAE;aACjB,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YAC/B,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAE3C,gCAAgC;YAChC,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACxD,MAAM,QAAQ,GAAG,cAAc,KAAK,OAAO,CAAA;YAE3C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,sBAAsB,OAAO,CAAC,MAAM,aAAa,QAAQ,EAAE;gBACnE,OAAO,EAAE,IAAI;gBACb,QAAQ;gBACR,YAAY,EAAE,CAAC,QAAQ,CAAC;aACzB,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,yBAA0B,GAAa,CAAC,OAAO,EAAE;gBACxD,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,EAAE;aACjB,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAA"}
|
package/dist/ui/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/ui/app.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAA;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/ui/app.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAA;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAmB3D,UAAU,QAAQ;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB;AA4BD,wBAAgB,GAAG,CAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,2CAm/BjD"}
|