attocode 0.1.3 → 0.1.4
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 +19 -1
- package/README.md +56 -0
- package/dist/src/agent.d.ts +5 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +201 -15
- package/dist/src/agent.js.map +1 -1
- package/dist/src/analysis/feedback-loop.d.ts +115 -0
- package/dist/src/analysis/feedback-loop.d.ts.map +1 -0
- package/dist/src/analysis/feedback-loop.js +226 -0
- package/dist/src/analysis/feedback-loop.js.map +1 -0
- package/dist/src/analysis/index.d.ts +9 -0
- package/dist/src/analysis/index.d.ts.map +1 -0
- package/dist/src/analysis/index.js +9 -0
- package/dist/src/analysis/index.js.map +1 -0
- package/dist/src/analysis/prompt-templates.d.ts +36 -0
- package/dist/src/analysis/prompt-templates.d.ts.map +1 -0
- package/dist/src/analysis/prompt-templates.js +198 -0
- package/dist/src/analysis/prompt-templates.js.map +1 -0
- package/dist/src/analysis/trace-summary.d.ts +56 -0
- package/dist/src/analysis/trace-summary.d.ts.map +1 -0
- package/dist/src/analysis/trace-summary.js +261 -0
- package/dist/src/analysis/trace-summary.js.map +1 -0
- package/dist/src/commands/handler.d.ts.map +1 -1
- package/dist/src/commands/handler.js +194 -2
- package/dist/src/commands/handler.js.map +1 -1
- package/dist/src/config.d.ts +3 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/defaults.d.ts +11 -2
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +25 -2
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/errors/index.d.ts +233 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +427 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/integrations/auto-compaction.d.ts +33 -0
- package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
- package/dist/src/integrations/auto-compaction.js +47 -3
- package/dist/src/integrations/auto-compaction.js.map +1 -1
- package/dist/src/integrations/dead-letter-queue.d.ts +208 -0
- package/dist/src/integrations/dead-letter-queue.d.ts.map +1 -0
- package/dist/src/integrations/dead-letter-queue.js +458 -0
- package/dist/src/integrations/dead-letter-queue.js.map +1 -0
- package/dist/src/integrations/health-check.d.ts +218 -0
- package/dist/src/integrations/health-check.d.ts.map +1 -0
- package/dist/src/integrations/health-check.js +400 -0
- package/dist/src/integrations/health-check.js.map +1 -0
- package/dist/src/integrations/index.d.ts +5 -0
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +9 -0
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/mcp-client.d.ts +9 -0
- package/dist/src/integrations/mcp-client.d.ts.map +1 -1
- package/dist/src/integrations/mcp-client.js +49 -7
- package/dist/src/integrations/mcp-client.js.map +1 -1
- package/dist/src/integrations/openrouter-pricing.d.ts +28 -3
- package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
- package/dist/src/integrations/openrouter-pricing.js +57 -16
- package/dist/src/integrations/openrouter-pricing.js.map +1 -1
- package/dist/src/integrations/retry.d.ts +131 -0
- package/dist/src/integrations/retry.d.ts.map +1 -0
- package/dist/src/integrations/retry.js +233 -0
- package/dist/src/integrations/retry.js.map +1 -0
- package/dist/src/integrations/sqlite-store.d.ts +42 -0
- package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
- package/dist/src/integrations/sqlite-store.js +111 -0
- package/dist/src/integrations/sqlite-store.js.map +1 -1
- package/dist/src/main.js +88 -7
- package/dist/src/main.js.map +1 -1
- package/dist/src/modes/repl.d.ts.map +1 -1
- package/dist/src/modes/repl.js +37 -1
- package/dist/src/modes/repl.js.map +1 -1
- package/dist/src/modes/tui.d.ts.map +1 -1
- package/dist/src/modes/tui.js +46 -5
- package/dist/src/modes/tui.js.map +1 -1
- package/dist/src/modes.d.ts.map +1 -1
- package/dist/src/modes.js +10 -3
- package/dist/src/modes.js.map +1 -1
- package/dist/src/persistence/schema.d.ts +4 -0
- package/dist/src/persistence/schema.d.ts.map +1 -1
- package/dist/src/persistence/schema.js +49 -0
- package/dist/src/persistence/schema.js.map +1 -1
- package/dist/src/providers/adapters/anthropic.d.ts +24 -2
- package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
- package/dist/src/providers/adapters/anthropic.js +184 -0
- package/dist/src/providers/adapters/anthropic.js.map +1 -1
- package/dist/src/tools/bash.d.ts.map +1 -1
- package/dist/src/tools/bash.js +7 -4
- package/dist/src/tools/bash.js.map +1 -1
- package/dist/src/tools/file.d.ts.map +1 -1
- package/dist/src/tools/file.js +31 -10
- package/dist/src/tools/file.js.map +1 -1
- package/dist/src/tools/permission.d.ts +12 -0
- package/dist/src/tools/permission.d.ts.map +1 -1
- package/dist/src/tools/permission.js +136 -0
- package/dist/src/tools/permission.js.map +1 -1
- package/dist/src/tools/registry.d.ts +23 -1
- package/dist/src/tools/registry.d.ts.map +1 -1
- package/dist/src/tools/registry.js +77 -17
- package/dist/src/tools/registry.js.map +1 -1
- package/dist/src/tools/standard.d.ts.map +1 -1
- package/dist/src/tools/standard.js +8 -0
- package/dist/src/tools/standard.js.map +1 -1
- package/dist/src/tools/types.d.ts +20 -1
- package/dist/src/tools/types.d.ts.map +1 -1
- package/dist/src/tools/types.js.map +1 -1
- package/dist/src/tracing/trace-collector.d.ts +198 -2
- package/dist/src/tracing/trace-collector.d.ts.map +1 -1
- package/dist/src/tracing/trace-collector.js +315 -3
- package/dist/src/tracing/trace-collector.js.map +1 -1
- package/dist/src/tracing/types.d.ts +470 -2
- package/dist/src/tracing/types.d.ts.map +1 -1
- package/dist/src/tracing/types.js +25 -0
- package/dist/src/tracing/types.js.map +1 -1
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +161 -4
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/types.d.ts +35 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +6 -3
- package/dist/src/hello.d.ts +0 -2
- package/dist/src/hello.d.ts.map +0 -1
- package/dist/src/hello.js +0 -4
- package/dist/src/hello.js.map +0 -1
- package/dist/src/test-sqlite.d.ts +0 -2
- package/dist/src/test-sqlite.d.ts.map +0 -1
- package/dist/src/test-sqlite.js +0 -114
- package/dist/src/test-sqlite.js.map +0 -1
package/dist/src/tools/file.js
CHANGED
|
@@ -7,6 +7,7 @@ import { z } from 'zod';
|
|
|
7
7
|
import * as fs from 'node:fs/promises';
|
|
8
8
|
import * as path from 'node:path';
|
|
9
9
|
import { defineTool } from './registry.js';
|
|
10
|
+
import { FileOperationError, ErrorCategory } from '../errors/index.js';
|
|
10
11
|
// =============================================================================
|
|
11
12
|
// READ FILE
|
|
12
13
|
// =============================================================================
|
|
@@ -26,12 +27,16 @@ export const readFileTool = defineTool('read_file', 'Read the contents of a file
|
|
|
26
27
|
catch (error) {
|
|
27
28
|
const err = error;
|
|
28
29
|
if (err.code === 'ENOENT') {
|
|
29
|
-
|
|
30
|
+
throw FileOperationError.notFound(input.path, 'read');
|
|
30
31
|
}
|
|
31
32
|
if (err.code === 'EACCES') {
|
|
32
|
-
|
|
33
|
+
throw FileOperationError.permissionDenied(input.path, 'read');
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
+
if (err.code === 'EBUSY') {
|
|
36
|
+
throw FileOperationError.busy(input.path, 'read');
|
|
37
|
+
}
|
|
38
|
+
// For other errors, wrap with generic file operation error
|
|
39
|
+
throw new FileOperationError(`Error reading file: ${err.message}`, err.code === 'ETIMEDOUT' ? ErrorCategory.TRANSIENT : ErrorCategory.INTERNAL, err.code === 'ETIMEDOUT', input.path, 'read', { code: err.code }, err);
|
|
35
40
|
}
|
|
36
41
|
}, 'safe');
|
|
37
42
|
// =============================================================================
|
|
@@ -96,9 +101,16 @@ export const writeFileTool = defineTool('write_file', 'Write content to a file (
|
|
|
96
101
|
catch (error) {
|
|
97
102
|
const err = error;
|
|
98
103
|
if (err.code === 'ENOSPC' || err.message.includes('Disk full')) {
|
|
99
|
-
|
|
104
|
+
throw new FileOperationError(`Disk full - cannot write file: ${input.path}`, ErrorCategory.RESOURCE, false, // Not recoverable without human intervention
|
|
105
|
+
input.path, 'write', { code: err.code });
|
|
106
|
+
}
|
|
107
|
+
if (err.code === 'EACCES') {
|
|
108
|
+
throw FileOperationError.permissionDenied(input.path, 'write');
|
|
100
109
|
}
|
|
101
|
-
|
|
110
|
+
if (err.code === 'EBUSY') {
|
|
111
|
+
throw FileOperationError.busy(input.path, 'write');
|
|
112
|
+
}
|
|
113
|
+
throw new FileOperationError(`Error writing file: ${err.message}`, ErrorCategory.INTERNAL, false, input.path, 'write', { code: err.code }, err);
|
|
102
114
|
}
|
|
103
115
|
}, 'moderate');
|
|
104
116
|
// =============================================================================
|
|
@@ -142,12 +154,18 @@ export const editFileTool = defineTool('edit_file', 'Make a surgical edit by rep
|
|
|
142
154
|
catch (error) {
|
|
143
155
|
const err = error;
|
|
144
156
|
if (err.code === 'ENOENT') {
|
|
145
|
-
|
|
157
|
+
throw FileOperationError.notFound(input.path, 'edit');
|
|
146
158
|
}
|
|
147
159
|
if (err.code === 'ENOSPC' || err.message.includes('Disk full')) {
|
|
148
|
-
|
|
160
|
+
throw new FileOperationError(`Disk full - cannot edit file: ${input.path}`, ErrorCategory.RESOURCE, false, input.path, 'edit', { code: err.code });
|
|
149
161
|
}
|
|
150
|
-
|
|
162
|
+
if (err.code === 'EACCES') {
|
|
163
|
+
throw FileOperationError.permissionDenied(input.path, 'edit');
|
|
164
|
+
}
|
|
165
|
+
if (err.code === 'EBUSY') {
|
|
166
|
+
throw FileOperationError.busy(input.path, 'edit');
|
|
167
|
+
}
|
|
168
|
+
throw new FileOperationError(`Error editing file: ${err.message}`, ErrorCategory.INTERNAL, false, input.path, 'edit', { code: err.code }, err);
|
|
151
169
|
}
|
|
152
170
|
}, 'moderate');
|
|
153
171
|
// =============================================================================
|
|
@@ -187,9 +205,12 @@ export const listFilesTool = defineTool('list_files', 'List files and directorie
|
|
|
187
205
|
catch (error) {
|
|
188
206
|
const err = error;
|
|
189
207
|
if (err.code === 'ENOENT') {
|
|
190
|
-
|
|
208
|
+
throw FileOperationError.notFound(input.path, 'list');
|
|
209
|
+
}
|
|
210
|
+
if (err.code === 'EACCES') {
|
|
211
|
+
throw FileOperationError.permissionDenied(input.path, 'list');
|
|
191
212
|
}
|
|
192
|
-
|
|
213
|
+
throw new FileOperationError(`Error listing directory: ${err.message}`, ErrorCategory.INTERNAL, false, input.path, 'list', { code: err.code }, err);
|
|
193
214
|
}
|
|
194
215
|
}, 'safe');
|
|
195
216
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/tools/file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/tools/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,18 @@ export declare function addDangerPattern(pattern: DangerPattern): void;
|
|
|
23
23
|
* Check if a command matches any danger patterns.
|
|
24
24
|
*/
|
|
25
25
|
export declare function isDangerous(command: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Classify bash command danger level dynamically.
|
|
28
|
+
*
|
|
29
|
+
* This function provides smarter classification than static danger levels:
|
|
30
|
+
* 1. First checks for dangerous/critical patterns (rm -rf, sudo, etc.)
|
|
31
|
+
* 2. Then checks if command matches read-only patterns (cat, ls, grep, etc.)
|
|
32
|
+
* 3. Falls back to 'moderate' for unknown commands
|
|
33
|
+
*
|
|
34
|
+
* This allows read-only commands to be auto-approved while still requiring
|
|
35
|
+
* confirmation for write operations.
|
|
36
|
+
*/
|
|
37
|
+
export declare function classifyBashCommandDangerLevel(command: string): DangerLevel;
|
|
26
38
|
import type { TUIApprovalBridge } from '../adapters.js';
|
|
27
39
|
/**
|
|
28
40
|
* TUI Permission Checker
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../src/tools/permission.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../src/tools/permission.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAuPpB;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAchF;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAqB1F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAsB3E;AAMD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAChD,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEvC,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAqCrE"}
|
|
@@ -6,6 +6,112 @@
|
|
|
6
6
|
import * as readline from 'node:readline';
|
|
7
7
|
import { DANGEROUS_PATTERNS } from './types.js';
|
|
8
8
|
// =============================================================================
|
|
9
|
+
// READ-ONLY COMMAND PATTERNS
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Patterns for read-only bash commands that can be auto-approved.
|
|
13
|
+
* These commands only read data and don't modify the filesystem or system state.
|
|
14
|
+
*/
|
|
15
|
+
const READ_ONLY_COMMAND_PATTERNS = [
|
|
16
|
+
// File reading commands
|
|
17
|
+
/^cat\s/,
|
|
18
|
+
/^head\s/,
|
|
19
|
+
/^tail\s/,
|
|
20
|
+
/^less\s/,
|
|
21
|
+
/^more\s/,
|
|
22
|
+
// File listing and info
|
|
23
|
+
/^ls\b/,
|
|
24
|
+
/^stat\s/,
|
|
25
|
+
/^file\s/,
|
|
26
|
+
/^tree\b/,
|
|
27
|
+
/^du\s/,
|
|
28
|
+
/^df\b/,
|
|
29
|
+
/^wc\s/,
|
|
30
|
+
// File searching
|
|
31
|
+
/^find\s/,
|
|
32
|
+
/^grep\s/,
|
|
33
|
+
/^rg\s/, // ripgrep
|
|
34
|
+
/^ag\s/, // silver searcher
|
|
35
|
+
/^ack\s/,
|
|
36
|
+
/^fd\s/, // fd-find
|
|
37
|
+
// Text processing (read-only)
|
|
38
|
+
/^diff\s/,
|
|
39
|
+
/^cmp\s/,
|
|
40
|
+
/^sort\s.*\|/, // sort piped (not writing)
|
|
41
|
+
/^uniq\s/,
|
|
42
|
+
/^cut\s/,
|
|
43
|
+
/^awk\s.*\|/, // awk piped (not writing)
|
|
44
|
+
// System info
|
|
45
|
+
/^which\s/,
|
|
46
|
+
/^type\s/,
|
|
47
|
+
/^whereis\s/,
|
|
48
|
+
/^pwd$/,
|
|
49
|
+
/^whoami$/,
|
|
50
|
+
/^id$/,
|
|
51
|
+
/^env$/,
|
|
52
|
+
/^printenv\b/,
|
|
53
|
+
/^hostname$/,
|
|
54
|
+
/^uname\b/,
|
|
55
|
+
/^uptime$/,
|
|
56
|
+
/^date$/,
|
|
57
|
+
/^echo\s/,
|
|
58
|
+
// Git read-only commands
|
|
59
|
+
/^git\s+(status|log|diff|show|branch|remote|rev-parse|describe|tag\s+-l|ls-files|ls-tree)\b/,
|
|
60
|
+
/^git\s+config\s+--get/,
|
|
61
|
+
/^git\s+config\s+-l/,
|
|
62
|
+
/^git\s+config\s+--list/,
|
|
63
|
+
/^git\s+blame\s/,
|
|
64
|
+
/^git\s+shortlog\b/,
|
|
65
|
+
/^git\s+stash\s+list/,
|
|
66
|
+
// npm read-only commands
|
|
67
|
+
/^npm\s+(ls|list|view|show|info|outdated|audit|search|whoami|version)\b/,
|
|
68
|
+
/^npm\s+config\s+(list|get)/,
|
|
69
|
+
// yarn read-only
|
|
70
|
+
/^yarn\s+(list|info|outdated|why|workspaces)\b/,
|
|
71
|
+
// pnpm read-only
|
|
72
|
+
/^pnpm\s+(list|ls|outdated|why)\b/,
|
|
73
|
+
// Python read-only
|
|
74
|
+
/^python3?\s+-c\s+["']print/,
|
|
75
|
+
/^pip\s+(list|show|freeze|search)\b/,
|
|
76
|
+
/^pip3\s+(list|show|freeze|search)\b/,
|
|
77
|
+
// Node read-only
|
|
78
|
+
/^node\s+-e\s+["']console\.log/,
|
|
79
|
+
/^node\s+--version$/,
|
|
80
|
+
/^npm\s+--version$/,
|
|
81
|
+
// Process inspection
|
|
82
|
+
/^ps\b/,
|
|
83
|
+
/^top\s+-l\s+1/, // one-shot top
|
|
84
|
+
/^pgrep\s/,
|
|
85
|
+
// Network inspection (read-only)
|
|
86
|
+
/^ping\s+-c\s+\d/, // limited ping
|
|
87
|
+
/^host\s/,
|
|
88
|
+
/^dig\s/,
|
|
89
|
+
/^nslookup\s/,
|
|
90
|
+
// Testing commands (generally safe)
|
|
91
|
+
/^npm\s+test\b/,
|
|
92
|
+
/^npm\s+run\s+test\b/,
|
|
93
|
+
/^yarn\s+test\b/,
|
|
94
|
+
/^pnpm\s+test\b/,
|
|
95
|
+
/^jest\b/,
|
|
96
|
+
/^vitest\b/,
|
|
97
|
+
/^mocha\b/,
|
|
98
|
+
/^pytest\b/,
|
|
99
|
+
/^go\s+test\b/,
|
|
100
|
+
/^cargo\s+test\b/,
|
|
101
|
+
// Type checking (read-only)
|
|
102
|
+
/^tsc\s+--noEmit/,
|
|
103
|
+
/^tsc\s+-p\s+.*--noEmit/,
|
|
104
|
+
/^npm\s+run\s+(typecheck|type-check|check-types)\b/,
|
|
105
|
+
/^npx\s+tsc\s+--noEmit/,
|
|
106
|
+
// Linting (read-only)
|
|
107
|
+
/^eslint\b/,
|
|
108
|
+
/^prettier\s+--check/,
|
|
109
|
+
/^npm\s+run\s+lint\b/,
|
|
110
|
+
// Build inspection
|
|
111
|
+
/^make\s+-n/, // dry-run
|
|
112
|
+
/^cargo\s+check\b/,
|
|
113
|
+
];
|
|
114
|
+
// =============================================================================
|
|
9
115
|
// PERMISSION CHECKER IMPLEMENTATIONS
|
|
10
116
|
// =============================================================================
|
|
11
117
|
/**
|
|
@@ -163,6 +269,36 @@ export function isDangerous(command) {
|
|
|
163
269
|
const { level } = classifyCommand(command);
|
|
164
270
|
return level === 'dangerous' || level === 'critical';
|
|
165
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Classify bash command danger level dynamically.
|
|
274
|
+
*
|
|
275
|
+
* This function provides smarter classification than static danger levels:
|
|
276
|
+
* 1. First checks for dangerous/critical patterns (rm -rf, sudo, etc.)
|
|
277
|
+
* 2. Then checks if command matches read-only patterns (cat, ls, grep, etc.)
|
|
278
|
+
* 3. Falls back to 'moderate' for unknown commands
|
|
279
|
+
*
|
|
280
|
+
* This allows read-only commands to be auto-approved while still requiring
|
|
281
|
+
* confirmation for write operations.
|
|
282
|
+
*/
|
|
283
|
+
export function classifyBashCommandDangerLevel(command) {
|
|
284
|
+
// Normalize command - trim and handle common prefixes
|
|
285
|
+
const normalizedCommand = command.trim();
|
|
286
|
+
// First, check dangerous patterns using existing classifyCommand
|
|
287
|
+
const { level: dangerousLevel, reasons } = classifyCommand(normalizedCommand);
|
|
288
|
+
// If we found any dangerous patterns, use that classification
|
|
289
|
+
if (reasons.length > 0) {
|
|
290
|
+
return dangerousLevel;
|
|
291
|
+
}
|
|
292
|
+
// Check if command matches read-only patterns
|
|
293
|
+
for (const pattern of READ_ONLY_COMMAND_PATTERNS) {
|
|
294
|
+
if (pattern.test(normalizedCommand)) {
|
|
295
|
+
return 'safe';
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// Default to moderate for unknown commands
|
|
299
|
+
// This ensures new/unknown commands still get reviewed
|
|
300
|
+
return 'moderate';
|
|
301
|
+
}
|
|
166
302
|
/**
|
|
167
303
|
* TUI Permission Checker
|
|
168
304
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/tools/permission.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/tools/permission.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
import type { ToolDefinition, ToolResult, ToolDescription, ExecuteOptions, ToolEventListener, PermissionChecker, DangerLevel } from './types.js';
|
|
8
|
+
import type { DeadLetterQueue } from '../integrations/dead-letter-queue.js';
|
|
8
9
|
export declare class ToolRegistry {
|
|
9
10
|
private tools;
|
|
10
11
|
private listeners;
|
|
11
12
|
private permissionChecker;
|
|
13
|
+
private dlq;
|
|
14
|
+
private sessionId?;
|
|
12
15
|
constructor(permissionMode?: ExecuteOptions['permissionMode']);
|
|
13
16
|
/**
|
|
14
17
|
* Register a tool.
|
|
@@ -55,9 +58,28 @@ export declare class ToolRegistry {
|
|
|
55
58
|
* This allows TUI mode to inject its own checker that routes through the approval dialog.
|
|
56
59
|
*/
|
|
57
60
|
setPermissionChecker(checker: PermissionChecker): void;
|
|
61
|
+
/**
|
|
62
|
+
* Set the dead letter queue for failed operation tracking.
|
|
63
|
+
* When set, permanent failures will be logged to the DLQ for later retry.
|
|
64
|
+
*/
|
|
65
|
+
setDeadLetterQueue(dlq: DeadLetterQueue | null, sessionId?: string): void;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Options for tool definition.
|
|
69
|
+
*/
|
|
70
|
+
export interface DefineToolOptions<T extends z.ZodTypeAny> {
|
|
71
|
+
/** Default danger level for permission checking */
|
|
72
|
+
dangerLevel?: DangerLevel;
|
|
73
|
+
/**
|
|
74
|
+
* Optional callback to dynamically determine danger level based on input.
|
|
75
|
+
* If provided, this takes precedence over the static dangerLevel.
|
|
76
|
+
*/
|
|
77
|
+
getDangerLevel?: (input: z.infer<T>) => DangerLevel;
|
|
78
|
+
/** Retry configuration */
|
|
79
|
+
retryConfig?: ToolDefinition['retryConfig'];
|
|
58
80
|
}
|
|
59
81
|
/**
|
|
60
82
|
* Create a tool definition with type inference.
|
|
61
83
|
*/
|
|
62
|
-
export declare function defineTool<T extends z.ZodTypeAny>(name: string, description: string, parameters: T, execute: (input: z.infer<T>) => Promise<ToolResult>,
|
|
84
|
+
export declare function defineTool<T extends z.ZodTypeAny>(name: string, description: string, parameters: T, execute: (input: z.infer<T>) => Promise<ToolResult>, dangerLevelOrOptions?: DangerLevel | DefineToolOptions<T>): ToolDefinition<T>;
|
|
63
85
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAY,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EAEd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAY,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EAEd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAwF5E,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,cAAc,GAAE,cAAc,CAAC,gBAAgB,CAAiB;IAI5E;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAO/D;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;IAIhB;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE;IAQpC;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC;IA6HtB;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAK3C;;OAEG;IACH,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAI/D;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAItD;;;OAGG;IACH,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAI1E;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU;IACvD,mDAAmD;IACnD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;IACpD,0BAA0B;IAC1B,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAC/C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,EACnD,oBAAoB,GAAE,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAU,GAChE,cAAc,CAAC,CAAC,CAAC,CAenB"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { z, ZodError } from 'zod';
|
|
7
7
|
import { createPermissionChecker } from './permission.js';
|
|
8
|
+
import { withRetry, TOOL_RETRY_CONFIG } from '../integrations/retry.js';
|
|
9
|
+
import { ToolError, ValidationError, ResourceError, isAgentError, isRecoverable, formatError, } from '../errors/index.js';
|
|
8
10
|
// =============================================================================
|
|
9
11
|
// ZOD TO JSON SCHEMA CONVERTER
|
|
10
12
|
// =============================================================================
|
|
@@ -84,6 +86,8 @@ export class ToolRegistry {
|
|
|
84
86
|
tools = new Map();
|
|
85
87
|
listeners = new Set();
|
|
86
88
|
permissionChecker;
|
|
89
|
+
dlq = null;
|
|
90
|
+
sessionId;
|
|
87
91
|
constructor(permissionMode = 'interactive') {
|
|
88
92
|
this.permissionChecker = createPermissionChecker(permissionMode);
|
|
89
93
|
}
|
|
@@ -149,20 +153,24 @@ export class ToolRegistry {
|
|
|
149
153
|
}
|
|
150
154
|
catch (error) {
|
|
151
155
|
if (error instanceof ZodError) {
|
|
152
|
-
const
|
|
156
|
+
const validationError = ValidationError.fromZodError(error);
|
|
157
|
+
this.emit({ type: 'error', tool: name, error: validationError });
|
|
153
158
|
return {
|
|
154
159
|
success: false,
|
|
155
|
-
output: `Invalid input: ${
|
|
160
|
+
output: `Invalid input: ${validationError.message}`,
|
|
156
161
|
};
|
|
157
162
|
}
|
|
158
163
|
throw error;
|
|
159
164
|
}
|
|
160
|
-
// Check permissions
|
|
165
|
+
// Check permissions - use dynamic danger level if available
|
|
166
|
+
const dangerLevel = tool.getDangerLevel
|
|
167
|
+
? tool.getDangerLevel(validatedInput)
|
|
168
|
+
: tool.dangerLevel;
|
|
161
169
|
const permissionRequest = {
|
|
162
170
|
tool: name,
|
|
163
171
|
operation: tool.description,
|
|
164
172
|
target: JSON.stringify(validatedInput).slice(0, 100),
|
|
165
|
-
dangerLevel
|
|
173
|
+
dangerLevel,
|
|
166
174
|
};
|
|
167
175
|
this.emit({ type: 'permission_requested', request: permissionRequest });
|
|
168
176
|
const permissionResponse = await this.permissionChecker.check(permissionRequest);
|
|
@@ -179,22 +187,63 @@ export class ToolRegistry {
|
|
|
179
187
|
}
|
|
180
188
|
this.emit({ type: 'permission_granted', request: permissionRequest });
|
|
181
189
|
this.emit({ type: 'executing', tool: name });
|
|
182
|
-
// Execute with timeout
|
|
190
|
+
// Execute with timeout and optional retry
|
|
183
191
|
try {
|
|
184
192
|
const timeout = options?.timeout ?? 30000;
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
193
|
+
const maxAttempts = tool.retryConfig?.maxAttempts ?? 1;
|
|
194
|
+
// Wrap execution with timeout
|
|
195
|
+
const executeWithTimeout = async () => {
|
|
196
|
+
return await Promise.race([
|
|
197
|
+
tool.execute(validatedInput),
|
|
198
|
+
new Promise((_, reject) => setTimeout(() => reject(ResourceError.timeout(timeout, timeout)), timeout)),
|
|
199
|
+
]);
|
|
200
|
+
};
|
|
201
|
+
// Execute with retry if configured (maxAttempts > 1)
|
|
202
|
+
let result;
|
|
203
|
+
if (maxAttempts > 1) {
|
|
204
|
+
result = await withRetry(executeWithTimeout, {
|
|
205
|
+
maxAttempts,
|
|
206
|
+
...TOOL_RETRY_CONFIG,
|
|
207
|
+
baseDelayMs: tool.retryConfig?.baseDelayMs ?? TOOL_RETRY_CONFIG.baseDelayMs,
|
|
208
|
+
retryableErrors: tool.retryConfig?.retryableErrors ?? TOOL_RETRY_CONFIG.retryableErrors,
|
|
209
|
+
onRetry: (attempt, error, delay) => {
|
|
210
|
+
this.emit({
|
|
211
|
+
type: 'error',
|
|
212
|
+
tool: name,
|
|
213
|
+
error: new Error(`Retry ${attempt}: ${error.message} (waiting ${delay}ms)`),
|
|
214
|
+
});
|
|
215
|
+
},
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
result = await executeWithTimeout();
|
|
220
|
+
}
|
|
189
221
|
this.emit({ type: 'complete', tool: name, result });
|
|
190
222
|
return result;
|
|
191
223
|
}
|
|
192
224
|
catch (error) {
|
|
193
|
-
|
|
194
|
-
|
|
225
|
+
// Convert to ToolError if not already a typed error
|
|
226
|
+
const toolError = isAgentError(error)
|
|
227
|
+
? error
|
|
228
|
+
: ToolError.fromError(error, name);
|
|
229
|
+
this.emit({ type: 'error', tool: name, error: toolError });
|
|
230
|
+
// Write to DLQ if the error is not recoverable (permanent failure)
|
|
231
|
+
if (this.dlq?.isAvailable() && !isRecoverable(toolError)) {
|
|
232
|
+
try {
|
|
233
|
+
this.dlq.add({
|
|
234
|
+
operation: `tool:${name}`,
|
|
235
|
+
args: validatedInput,
|
|
236
|
+
error: toolError,
|
|
237
|
+
sessionId: this.sessionId,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
// Don't let DLQ errors affect tool execution
|
|
242
|
+
}
|
|
243
|
+
}
|
|
195
244
|
return {
|
|
196
245
|
success: false,
|
|
197
|
-
output: `Execution error: ${
|
|
246
|
+
output: `Execution error: ${formatError(toolError)}`,
|
|
198
247
|
};
|
|
199
248
|
}
|
|
200
249
|
}
|
|
@@ -231,20 +280,31 @@ export class ToolRegistry {
|
|
|
231
280
|
setPermissionChecker(checker) {
|
|
232
281
|
this.permissionChecker = checker;
|
|
233
282
|
}
|
|
283
|
+
/**
|
|
284
|
+
* Set the dead letter queue for failed operation tracking.
|
|
285
|
+
* When set, permanent failures will be logged to the DLQ for later retry.
|
|
286
|
+
*/
|
|
287
|
+
setDeadLetterQueue(dlq, sessionId) {
|
|
288
|
+
this.dlq = dlq;
|
|
289
|
+
this.sessionId = sessionId;
|
|
290
|
+
}
|
|
234
291
|
}
|
|
235
|
-
// =============================================================================
|
|
236
|
-
// FACTORY FUNCTIONS
|
|
237
|
-
// =============================================================================
|
|
238
292
|
/**
|
|
239
293
|
* Create a tool definition with type inference.
|
|
240
294
|
*/
|
|
241
|
-
export function defineTool(name, description, parameters, execute,
|
|
295
|
+
export function defineTool(name, description, parameters, execute, dangerLevelOrOptions = 'safe') {
|
|
296
|
+
// Support both old signature (dangerLevel string) and new signature (options object)
|
|
297
|
+
const options = typeof dangerLevelOrOptions === 'string'
|
|
298
|
+
? { dangerLevel: dangerLevelOrOptions }
|
|
299
|
+
: dangerLevelOrOptions;
|
|
242
300
|
return {
|
|
243
301
|
name,
|
|
244
302
|
description,
|
|
245
303
|
parameters,
|
|
246
|
-
dangerLevel,
|
|
304
|
+
dangerLevel: options.dangerLevel ?? 'safe',
|
|
305
|
+
getDangerLevel: options.getDangerLevel,
|
|
247
306
|
execute,
|
|
307
|
+
retryConfig: options.retryConfig,
|
|
248
308
|
};
|
|
249
309
|
}
|
|
250
310
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAWlC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../../../src/tools/standard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../../../src/tools/standard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMlE,OAAO,EAEL,YAAY,EACZ,UAAU,EAGV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EAGb,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,CAAC;AAMF;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,oBAAoB,CAU9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,oBAAoB,EAAE,CAEpF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,GAAE,cAA8B,GAAG,YAAY,CAoBnG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,EAAE,CAG/D;AAMD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAiBxC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { ToolRegistry, defineTool } from './registry.js';
|
|
8
8
|
import { readFileTool, writeFileTool, editFileTool, listFilesTool } from './file.js';
|
|
9
9
|
import { bashTool, grepTool, globTool } from './bash.js';
|
|
10
|
+
import { undoToolsAsStandard } from './undo.js';
|
|
10
11
|
// =============================================================================
|
|
11
12
|
// RE-EXPORTS
|
|
12
13
|
// =============================================================================
|
|
@@ -81,6 +82,10 @@ export function createStandardRegistry(permissionMode = 'interactive') {
|
|
|
81
82
|
registry.register(bashTool);
|
|
82
83
|
registry.register(grepTool);
|
|
83
84
|
registry.register(globTool);
|
|
85
|
+
// Undo/history operations (gracefully handle missing tracker context)
|
|
86
|
+
for (const tool of undoToolsAsStandard) {
|
|
87
|
+
registry.register(tool);
|
|
88
|
+
}
|
|
84
89
|
return registry;
|
|
85
90
|
}
|
|
86
91
|
/**
|
|
@@ -105,6 +110,9 @@ export function getToolsSummary() {
|
|
|
105
110
|
{ name: 'bash', desc: 'Execute shell commands', safe: false },
|
|
106
111
|
{ name: 'grep', desc: 'Search for patterns in files', safe: true },
|
|
107
112
|
{ name: 'glob', desc: 'Find files by pattern', safe: true },
|
|
113
|
+
{ name: 'undo_file_change', desc: 'Undo last change to a file', safe: false },
|
|
114
|
+
{ name: 'show_file_history', desc: 'Show change history for a file', safe: true },
|
|
115
|
+
{ name: 'show_session_changes', desc: 'Show all session changes', safe: true },
|
|
108
116
|
];
|
|
109
117
|
return tools
|
|
110
118
|
.map(t => ` • ${t.name}: ${t.desc}${t.safe ? '' : ' ⚠️'}`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard.js","sourceRoot":"","sources":["../../../src/tools/standard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"standard.js","sourceRoot":"","sources":["../../../src/tools/standard.ts"],"names":[],"mappings":"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"}
|