attocode 0.2.1 → 0.2.3
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 +191 -1
- package/README.md +7 -0
- package/dist/src/adapters.d.ts +6 -1
- package/dist/src/adapters.d.ts.map +1 -1
- package/dist/src/adapters.js +8 -1
- package/dist/src/adapters.js.map +1 -1
- package/dist/src/agent.d.ts +41 -4
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +846 -75
- package/dist/src/agent.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +23 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/core/protocol/types.d.ts +8 -8
- package/dist/src/defaults.d.ts +7 -2
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +38 -2
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/integrations/agent-registry.d.ts +13 -0
- package/dist/src/integrations/agent-registry.d.ts.map +1 -1
- package/dist/src/integrations/agent-registry.js.map +1 -1
- package/dist/src/integrations/async-subagent.d.ts +135 -0
- package/dist/src/integrations/async-subagent.d.ts.map +1 -0
- package/dist/src/integrations/async-subagent.js +213 -0
- package/dist/src/integrations/async-subagent.js.map +1 -0
- package/dist/src/integrations/auto-checkpoint.d.ts +98 -0
- package/dist/src/integrations/auto-checkpoint.d.ts.map +1 -0
- package/dist/src/integrations/auto-checkpoint.js +252 -0
- package/dist/src/integrations/auto-checkpoint.js.map +1 -0
- package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
- package/dist/src/integrations/auto-compaction.js +5 -1
- package/dist/src/integrations/auto-compaction.js.map +1 -1
- package/dist/src/integrations/bash-policy.d.ts +33 -0
- package/dist/src/integrations/bash-policy.d.ts.map +1 -0
- package/dist/src/integrations/bash-policy.js +142 -0
- package/dist/src/integrations/bash-policy.js.map +1 -0
- package/dist/src/integrations/codebase-context.d.ts +5 -0
- package/dist/src/integrations/codebase-context.d.ts.map +1 -1
- package/dist/src/integrations/codebase-context.js +33 -0
- package/dist/src/integrations/codebase-context.js.map +1 -1
- package/dist/src/integrations/complexity-classifier.d.ts +86 -0
- package/dist/src/integrations/complexity-classifier.d.ts.map +1 -0
- package/dist/src/integrations/complexity-classifier.js +233 -0
- package/dist/src/integrations/complexity-classifier.js.map +1 -0
- package/dist/src/integrations/delegation-protocol.d.ts +86 -0
- package/dist/src/integrations/delegation-protocol.d.ts.map +1 -0
- package/dist/src/integrations/delegation-protocol.js +127 -0
- package/dist/src/integrations/delegation-protocol.js.map +1 -0
- package/dist/src/integrations/dynamic-budget.d.ts +81 -0
- package/dist/src/integrations/dynamic-budget.d.ts.map +1 -0
- package/dist/src/integrations/dynamic-budget.js +151 -0
- package/dist/src/integrations/dynamic-budget.js.map +1 -0
- package/dist/src/integrations/economics.d.ts +86 -1
- package/dist/src/integrations/economics.d.ts.map +1 -1
- package/dist/src/integrations/economics.js +306 -11
- package/dist/src/integrations/economics.js.map +1 -1
- package/dist/src/integrations/environment-facts.d.ts +52 -0
- package/dist/src/integrations/environment-facts.d.ts.map +1 -0
- package/dist/src/integrations/environment-facts.js +84 -0
- package/dist/src/integrations/environment-facts.js.map +1 -0
- package/dist/src/integrations/hierarchical-config.d.ts.map +1 -1
- package/dist/src/integrations/hierarchical-config.js +17 -0
- package/dist/src/integrations/hierarchical-config.js.map +1 -1
- package/dist/src/integrations/index.d.ts +19 -2
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +34 -2
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/injection-budget.d.ts +71 -0
- package/dist/src/integrations/injection-budget.d.ts.map +1 -0
- package/dist/src/integrations/injection-budget.js +136 -0
- package/dist/src/integrations/injection-budget.js.map +1 -0
- package/dist/src/integrations/mcp-client.d.ts.map +1 -1
- package/dist/src/integrations/mcp-client.js +14 -0
- package/dist/src/integrations/mcp-client.js.map +1 -1
- package/dist/src/integrations/mcp-custom-tools.d.ts +102 -0
- package/dist/src/integrations/mcp-custom-tools.d.ts.map +1 -0
- package/dist/src/integrations/mcp-custom-tools.js +232 -0
- package/dist/src/integrations/mcp-custom-tools.js.map +1 -0
- package/dist/src/integrations/mcp-tool-validator.d.ts +60 -0
- package/dist/src/integrations/mcp-tool-validator.d.ts.map +1 -0
- package/dist/src/integrations/mcp-tool-validator.js +141 -0
- package/dist/src/integrations/mcp-tool-validator.js.map +1 -0
- package/dist/src/integrations/policy-engine.d.ts +55 -0
- package/dist/src/integrations/policy-engine.d.ts.map +1 -0
- package/dist/src/integrations/policy-engine.js +247 -0
- package/dist/src/integrations/policy-engine.js.map +1 -0
- package/dist/src/integrations/safety.d.ts +5 -4
- package/dist/src/integrations/safety.d.ts.map +1 -1
- package/dist/src/integrations/safety.js +32 -7
- package/dist/src/integrations/safety.js.map +1 -1
- package/dist/src/integrations/sandbox/basic.d.ts +7 -0
- package/dist/src/integrations/sandbox/basic.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/basic.js +27 -2
- package/dist/src/integrations/sandbox/basic.js.map +1 -1
- package/dist/src/integrations/sandbox/index.d.ts +6 -0
- package/dist/src/integrations/sandbox/index.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/index.js +3 -0
- package/dist/src/integrations/sandbox/index.js.map +1 -1
- package/dist/src/integrations/sandbox/landlock.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/landlock.js +3 -0
- package/dist/src/integrations/sandbox/landlock.js.map +1 -1
- package/dist/src/integrations/self-improvement.d.ts +90 -0
- package/dist/src/integrations/self-improvement.d.ts.map +1 -0
- package/dist/src/integrations/self-improvement.js +229 -0
- package/dist/src/integrations/self-improvement.js.map +1 -0
- package/dist/src/integrations/smart-decomposer.d.ts +22 -1
- package/dist/src/integrations/smart-decomposer.d.ts.map +1 -1
- package/dist/src/integrations/smart-decomposer.js +127 -28
- package/dist/src/integrations/smart-decomposer.js.map +1 -1
- package/dist/src/integrations/subagent-output-store.d.ts +91 -0
- package/dist/src/integrations/subagent-output-store.d.ts.map +1 -0
- package/dist/src/integrations/subagent-output-store.js +257 -0
- package/dist/src/integrations/subagent-output-store.js.map +1 -0
- package/dist/src/integrations/swarm/index.d.ts +2 -2
- package/dist/src/integrations/swarm/index.d.ts.map +1 -1
- package/dist/src/integrations/swarm/index.js +1 -1
- package/dist/src/integrations/swarm/index.js.map +1 -1
- package/dist/src/integrations/swarm/model-selector.d.ts +16 -0
- package/dist/src/integrations/swarm/model-selector.d.ts.map +1 -1
- package/dist/src/integrations/swarm/model-selector.js +123 -10
- package/dist/src/integrations/swarm/model-selector.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-budget.d.ts +4 -0
- package/dist/src/integrations/swarm/swarm-budget.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-budget.js +6 -0
- package/dist/src/integrations/swarm/swarm-budget.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-config-loader.d.ts +10 -1
- package/dist/src/integrations/swarm/swarm-config-loader.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-config-loader.js +226 -13
- package/dist/src/integrations/swarm/swarm-config-loader.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.d.ts +12 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.js +178 -9
- package/dist/src/integrations/swarm/swarm-event-bridge.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-events.d.ts +66 -1
- package/dist/src/integrations/swarm/swarm-events.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-events.js +26 -5
- package/dist/src/integrations/swarm/swarm-events.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-orchestrator.d.ts +127 -0
- package/dist/src/integrations/swarm/swarm-orchestrator.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-orchestrator.js +1842 -47
- package/dist/src/integrations/swarm/swarm-orchestrator.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-quality-gate.d.ts +91 -3
- package/dist/src/integrations/swarm/swarm-quality-gate.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-quality-gate.js +395 -19
- package/dist/src/integrations/swarm/swarm-quality-gate.js.map +1 -1
- package/dist/src/integrations/swarm/task-queue.d.ts +55 -1
- package/dist/src/integrations/swarm/task-queue.d.ts.map +1 -1
- package/dist/src/integrations/swarm/task-queue.js +389 -16
- package/dist/src/integrations/swarm/task-queue.js.map +1 -1
- package/dist/src/integrations/swarm/types.d.ts +247 -11
- package/dist/src/integrations/swarm/types.d.ts.map +1 -1
- package/dist/src/integrations/swarm/types.js +67 -9
- package/dist/src/integrations/swarm/types.js.map +1 -1
- package/dist/src/integrations/swarm/worker-pool.d.ts +18 -5
- package/dist/src/integrations/swarm/worker-pool.d.ts.map +1 -1
- package/dist/src/integrations/swarm/worker-pool.js +236 -34
- package/dist/src/integrations/swarm/worker-pool.js.map +1 -1
- package/dist/src/integrations/thinking-strategy.d.ts +52 -0
- package/dist/src/integrations/thinking-strategy.d.ts.map +1 -0
- package/dist/src/integrations/thinking-strategy.js +129 -0
- package/dist/src/integrations/thinking-strategy.js.map +1 -0
- package/dist/src/integrations/tool-recommendation.d.ts +61 -0
- package/dist/src/integrations/tool-recommendation.d.ts.map +1 -0
- package/dist/src/integrations/tool-recommendation.js +268 -0
- package/dist/src/integrations/tool-recommendation.js.map +1 -0
- package/dist/src/integrations/verification-gate.d.ts +80 -0
- package/dist/src/integrations/verification-gate.d.ts.map +1 -0
- package/dist/src/integrations/verification-gate.js +146 -0
- package/dist/src/integrations/verification-gate.js.map +1 -0
- package/dist/src/integrations/work-log.d.ts +87 -0
- package/dist/src/integrations/work-log.d.ts.map +1 -0
- package/dist/src/integrations/work-log.js +275 -0
- package/dist/src/integrations/work-log.js.map +1 -0
- package/dist/src/main.js +31 -5
- package/dist/src/main.js.map +1 -1
- package/dist/src/modes/repl.d.ts.map +1 -1
- package/dist/src/modes/repl.js +10 -4
- 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 +5 -0
- package/dist/src/modes/tui.js.map +1 -1
- package/dist/src/modes.d.ts +6 -0
- package/dist/src/modes.d.ts.map +1 -1
- package/dist/src/modes.js +69 -21
- package/dist/src/modes.js.map +1 -1
- package/dist/src/tools/agent.d.ts.map +1 -1
- package/dist/src/tools/agent.js +11 -2
- package/dist/src/tools/agent.js.map +1 -1
- package/dist/src/tools/bash.d.ts +9 -3
- package/dist/src/tools/bash.d.ts.map +1 -1
- package/dist/src/tools/bash.js +12 -0
- package/dist/src/tools/bash.js.map +1 -1
- package/dist/src/tools/coercion.d.ts +6 -0
- package/dist/src/tools/coercion.d.ts.map +1 -1
- package/dist/src/tools/coercion.js +13 -0
- package/dist/src/tools/coercion.js.map +1 -1
- package/dist/src/tools/file.d.ts +2 -2
- package/dist/src/tools/file.js +2 -2
- package/dist/src/tools/file.js.map +1 -1
- package/dist/src/tools/permission.d.ts.map +1 -1
- package/dist/src/tools/permission.js +4 -111
- package/dist/src/tools/permission.js.map +1 -1
- package/dist/src/tools/standard.d.ts +17 -1
- package/dist/src/tools/standard.d.ts.map +1 -1
- package/dist/src/tools/standard.js +64 -11
- package/dist/src/tools/standard.js.map +1 -1
- package/dist/src/tracing/trace-collector.d.ts +167 -0
- package/dist/src/tracing/trace-collector.d.ts.map +1 -1
- package/dist/src/tracing/trace-collector.js +137 -0
- package/dist/src/tracing/trace-collector.js.map +1 -1
- package/dist/src/tracing/types.d.ts +105 -1
- package/dist/src/tracing/types.d.ts.map +1 -1
- 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 +34 -5
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/types.d.ts +89 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +6 -2
|
@@ -11,4 +11,10 @@ import { z } from 'zod';
|
|
|
11
11
|
* Use this instead of z.boolean() for tool parameters that may receive string values.
|
|
12
12
|
*/
|
|
13
13
|
export declare function coerceBoolean(): z.ZodEffects<z.ZodBoolean, boolean, unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* A string schema that accepts arrays by joining elements with newlines.
|
|
16
|
+
* Weaker models (GLM-4, Qwen, etc.) sometimes send file content as an array
|
|
17
|
+
* of lines instead of a single string. This coerces arrays into proper strings.
|
|
18
|
+
*/
|
|
19
|
+
export declare function coerceString(): z.ZodEffects<z.ZodString, string, unknown>;
|
|
14
20
|
//# sourceMappingURL=coercion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coercion.d.ts","sourceRoot":"","sources":["../../../src/tools/coercion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,wBAAgB,aAAa,iDAS5B"}
|
|
1
|
+
{"version":3,"file":"coercion.d.ts","sourceRoot":"","sources":["../../../src/tools/coercion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,wBAAgB,aAAa,iDAS5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,+CAO3B"}
|
|
@@ -22,4 +22,17 @@ export function coerceBoolean() {
|
|
|
22
22
|
return val;
|
|
23
23
|
}, z.boolean());
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* A string schema that accepts arrays by joining elements with newlines.
|
|
27
|
+
* Weaker models (GLM-4, Qwen, etc.) sometimes send file content as an array
|
|
28
|
+
* of lines instead of a single string. This coerces arrays into proper strings.
|
|
29
|
+
*/
|
|
30
|
+
export function coerceString() {
|
|
31
|
+
return z.preprocess((val) => {
|
|
32
|
+
if (Array.isArray(val)) {
|
|
33
|
+
return val.map(item => String(item)).join('\n');
|
|
34
|
+
}
|
|
35
|
+
return val;
|
|
36
|
+
}, z.string());
|
|
37
|
+
}
|
|
25
38
|
//# sourceMappingURL=coercion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coercion.js","sourceRoot":"","sources":["../../../src/tools/coercion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACtE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QACzE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"coercion.js","sourceRoot":"","sources":["../../../src/tools/coercion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACtE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QACzE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACjB,CAAC"}
|
package/dist/src/tools/file.d.ts
CHANGED
|
@@ -13,13 +13,13 @@ export declare const readFileTool: import("./types.js").ToolDefinition<z.ZodObje
|
|
|
13
13
|
}>>;
|
|
14
14
|
export declare const writeFileTool: import("./types.js").ToolDefinition<z.ZodObject<{
|
|
15
15
|
path: z.ZodString;
|
|
16
|
-
content: z.ZodString
|
|
16
|
+
content: z.ZodEffects<z.ZodString, string, unknown>;
|
|
17
17
|
}, "strip", z.ZodTypeAny, {
|
|
18
18
|
content: string;
|
|
19
19
|
path: string;
|
|
20
20
|
}, {
|
|
21
|
-
content: string;
|
|
22
21
|
path: string;
|
|
22
|
+
content?: unknown;
|
|
23
23
|
}>>;
|
|
24
24
|
export declare const editFileTool: import("./types.js").ToolDefinition<z.ZodObject<{
|
|
25
25
|
path: z.ZodString;
|
package/dist/src/tools/file.js
CHANGED
|
@@ -7,7 +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 { coerceBoolean } from './coercion.js';
|
|
10
|
+
import { coerceBoolean, coerceString } from './coercion.js';
|
|
11
11
|
import { FileOperationError, ErrorCategory } from '../errors/index.js';
|
|
12
12
|
import { generateDiff } from '../integrations/diff-utils.js';
|
|
13
13
|
// =============================================================================
|
|
@@ -75,7 +75,7 @@ async function writeFileAtomic(filePath, content) {
|
|
|
75
75
|
}
|
|
76
76
|
const writeFileSchema = z.object({
|
|
77
77
|
path: z.string().describe('Path to the file to write'),
|
|
78
|
-
content:
|
|
78
|
+
content: coerceString().describe('Content to write to the file'),
|
|
79
79
|
});
|
|
80
80
|
export const writeFileTool = defineTool('write_file', 'Write content to a file (creates or overwrites)', writeFileSchema, async (input) => {
|
|
81
81
|
try {
|
|
@@ -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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"}
|
|
@@ -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;AA4HpB;;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,CAoB3E;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"}
|
|
@@ -5,112 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as readline from 'node:readline';
|
|
7
7
|
import { DANGEROUS_PATTERNS } from './types.js';
|
|
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
|
-
];
|
|
8
|
+
import { isReadOnlyBashCommand } from '../integrations/bash-policy.js';
|
|
114
9
|
// =============================================================================
|
|
115
10
|
// PERMISSION CHECKER IMPLEMENTATIONS
|
|
116
11
|
// =============================================================================
|
|
@@ -289,11 +184,9 @@ export function classifyBashCommandDangerLevel(command) {
|
|
|
289
184
|
if (reasons.length > 0) {
|
|
290
185
|
return dangerousLevel;
|
|
291
186
|
}
|
|
292
|
-
//
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
return 'safe';
|
|
296
|
-
}
|
|
187
|
+
// F6: Delegate to bash-policy.ts (single source of truth) for read-only classification
|
|
188
|
+
if (isReadOnlyBashCommand(normalizedCommand)) {
|
|
189
|
+
return 'safe';
|
|
297
190
|
}
|
|
298
191
|
// Default to moderate for unknown commands
|
|
299
192
|
// This ensures new/unknown commands still get reviewed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/tools/permission.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAS1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/tools/permission.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,19 +33,35 @@ export declare function toOpenRouterSchema(tool: ToolDescription): ToolDefinitio
|
|
|
33
33
|
* Convert multiple tool descriptions to OpenRouter format.
|
|
34
34
|
*/
|
|
35
35
|
export declare function toOpenRouterSchemas(tools: ToolDescription[]): ToolDefinitionSchema[];
|
|
36
|
+
/**
|
|
37
|
+
* Options for creating a standard tool registry.
|
|
38
|
+
*/
|
|
39
|
+
export interface StandardRegistryOptions {
|
|
40
|
+
/**
|
|
41
|
+
* Base path for all tool operations.
|
|
42
|
+
* When set, relative paths in file/bash tools are resolved against this directory,
|
|
43
|
+
* and bash commands default to this as their cwd.
|
|
44
|
+
* Falls back to process.cwd() behavior when not set.
|
|
45
|
+
*/
|
|
46
|
+
basePath?: string;
|
|
47
|
+
}
|
|
36
48
|
/**
|
|
37
49
|
* Create a pre-configured tool registry with all standard tools.
|
|
38
50
|
*
|
|
39
51
|
* @param permissionMode - How to handle dangerous operations
|
|
52
|
+
* @param options - Optional configuration including basePath for path resolution
|
|
40
53
|
* @returns Configured ToolRegistry with all tools registered
|
|
41
54
|
*
|
|
42
55
|
* @example
|
|
43
56
|
* ```typescript
|
|
44
57
|
* const registry = createStandardRegistry('interactive');
|
|
45
58
|
* const result = await registry.execute('read_file', { path: 'README.md' });
|
|
59
|
+
*
|
|
60
|
+
* // With basePath for isolated execution
|
|
61
|
+
* const isolated = createStandardRegistry('yolo', { basePath: '/tmp/workspace' });
|
|
46
62
|
* ```
|
|
47
63
|
*/
|
|
48
|
-
export declare function createStandardRegistry(permissionMode?: PermissionMode): ToolRegistry;
|
|
64
|
+
export declare function createStandardRegistry(permissionMode?: PermissionMode, options?: StandardRegistryOptions): ToolRegistry;
|
|
49
65
|
/**
|
|
50
66
|
* Get OpenRouter-compatible tool schemas for all standard tools.
|
|
51
67
|
*/
|
|
@@ -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;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,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,EAAkB,MAAM,YAAY,CAAC;AAOlF,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;AAuDD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,GAAE,cAA8B,EAC9C,OAAO,CAAC,EAAE,uBAAuB,GAChC,YAAY,CA8Bd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,EAAE,CAG/D;AAMD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAiBxC"}
|
|
@@ -8,6 +8,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
10
|
import { undoToolsAsStandard } from './undo.js';
|
|
11
|
+
import * as path from 'node:path';
|
|
11
12
|
// =============================================================================
|
|
12
13
|
// RE-EXPORTS
|
|
13
14
|
// =============================================================================
|
|
@@ -57,31 +58,83 @@ export function toOpenRouterSchemas(tools) {
|
|
|
57
58
|
return tools.map(toOpenRouterSchema);
|
|
58
59
|
}
|
|
59
60
|
// =============================================================================
|
|
60
|
-
//
|
|
61
|
+
// BASE PATH WRAPPING
|
|
61
62
|
// =============================================================================
|
|
63
|
+
/**
|
|
64
|
+
* Resolve a path relative to a base directory.
|
|
65
|
+
* Absolute paths are returned as-is. Relative paths are resolved against basePath.
|
|
66
|
+
*/
|
|
67
|
+
function resolveAgainstBase(basePath, filePath) {
|
|
68
|
+
if (path.isAbsolute(filePath))
|
|
69
|
+
return filePath;
|
|
70
|
+
return path.resolve(basePath, filePath);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Wrap a tool so that path-like inputs are resolved against a basePath.
|
|
74
|
+
* The wrapper preserves the original tool's schema, description, and danger level.
|
|
75
|
+
*
|
|
76
|
+
* Uses 'any' cast internally because Zod's generic type parameters are invariant,
|
|
77
|
+
* making it impossible to express "same type in, same type out" without it.
|
|
78
|
+
*/
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
80
|
+
function wrapToolWithBasePath(tool, basePath, pathFields, cwdField) {
|
|
81
|
+
return {
|
|
82
|
+
...tool,
|
|
83
|
+
execute: async (input) => {
|
|
84
|
+
const resolved = { ...input };
|
|
85
|
+
// Resolve path fields
|
|
86
|
+
for (const field of pathFields) {
|
|
87
|
+
if (typeof resolved[field] === 'string') {
|
|
88
|
+
resolved[field] = resolveAgainstBase(basePath, resolved[field]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Set default cwd if not provided
|
|
92
|
+
if (cwdField && !resolved[cwdField]) {
|
|
93
|
+
resolved[cwdField] = basePath;
|
|
94
|
+
}
|
|
95
|
+
return tool.execute(resolved);
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
62
99
|
/**
|
|
63
100
|
* Create a pre-configured tool registry with all standard tools.
|
|
64
101
|
*
|
|
65
102
|
* @param permissionMode - How to handle dangerous operations
|
|
103
|
+
* @param options - Optional configuration including basePath for path resolution
|
|
66
104
|
* @returns Configured ToolRegistry with all tools registered
|
|
67
105
|
*
|
|
68
106
|
* @example
|
|
69
107
|
* ```typescript
|
|
70
108
|
* const registry = createStandardRegistry('interactive');
|
|
71
109
|
* const result = await registry.execute('read_file', { path: 'README.md' });
|
|
110
|
+
*
|
|
111
|
+
* // With basePath for isolated execution
|
|
112
|
+
* const isolated = createStandardRegistry('yolo', { basePath: '/tmp/workspace' });
|
|
72
113
|
* ```
|
|
73
114
|
*/
|
|
74
|
-
export function createStandardRegistry(permissionMode = 'interactive') {
|
|
115
|
+
export function createStandardRegistry(permissionMode = 'interactive', options) {
|
|
75
116
|
const registry = new ToolRegistry(permissionMode);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
117
|
+
const basePath = options?.basePath;
|
|
118
|
+
if (basePath) {
|
|
119
|
+
// Wrap tools to resolve paths against basePath
|
|
120
|
+
registry.register(wrapToolWithBasePath(readFileTool, basePath, ['path']));
|
|
121
|
+
registry.register(wrapToolWithBasePath(writeFileTool, basePath, ['path']));
|
|
122
|
+
registry.register(wrapToolWithBasePath(editFileTool, basePath, ['path']));
|
|
123
|
+
registry.register(wrapToolWithBasePath(listFilesTool, basePath, ['path']));
|
|
124
|
+
registry.register(wrapToolWithBasePath(bashTool, basePath, [], 'cwd'));
|
|
125
|
+
registry.register(wrapToolWithBasePath(grepTool, basePath, ['path']));
|
|
126
|
+
registry.register(wrapToolWithBasePath(globTool, basePath, ['path']));
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// Register tools as-is (original behavior)
|
|
130
|
+
registry.register(readFileTool);
|
|
131
|
+
registry.register(writeFileTool);
|
|
132
|
+
registry.register(editFileTool);
|
|
133
|
+
registry.register(listFilesTool);
|
|
134
|
+
registry.register(bashTool);
|
|
135
|
+
registry.register(grepTool);
|
|
136
|
+
registry.register(globTool);
|
|
137
|
+
}
|
|
85
138
|
// Undo/history operations (gracefully handle missing tracker context)
|
|
86
139
|
for (const tool of undoToolsAsStandard) {
|
|
87
140
|
registry.register(tool);
|
|
@@ -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;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;
|
|
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;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO;AACL,WAAW;AACX,YAAY,EACZ,UAAU;AAEV,aAAa;AACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa;AAEb,aAAa;AACb,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,CAAC;AAEF,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8DAA8D;YAC9D,UAAU,EAAE,IAAI,CAAC,YAAkD;SACpE;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAwB;IAC1D,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,kBAAkB,CAAC,QAAgB,EAAE,QAAgB;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,8DAA8D;AAC9D,SAAS,oBAAoB,CAC3B,IAAO,EACP,QAAgB,EAChB,UAAoB,EACpB,QAAiB;IAEjB,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,KAAK,EAAE,KAA8B,EAAE,EAAE;YAChD,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAE9B,sBAAsB;YACtB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACxC,QAAQ,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAW,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KACG,CAAC;AACT,CAAC;AAmBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,iBAAiC,aAAa,EAC9C,OAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;IAEnC,IAAI,QAAQ,EAAE,CAAC;QACb,+CAA+C;QAC/C,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,2CAA2C;QAC3C,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,sEAAsE;IACtE,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC;IACnF,OAAO,mBAAmB,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,gFAAgF;AAChF,2CAA2C;AAC3C,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG;QACZ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;QAC7D,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,KAAK,EAAE;QACnE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,KAAK,EAAE;QAChF,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE;QACnE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,KAAK,EAAE;QAC7D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE;QAClE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE;QAC3D,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,KAAK,EAAE;QAC7E,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,IAAI,EAAE;QACjF,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE;KAC/E,CAAC;IAEF,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SAC1D,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -74,7 +74,160 @@ export type TraceEvent = {
|
|
|
74
74
|
} | {
|
|
75
75
|
type: 'error';
|
|
76
76
|
data: ErrorData;
|
|
77
|
+
} | {
|
|
78
|
+
type: 'swarm.start';
|
|
79
|
+
data: SwarmStartData;
|
|
80
|
+
} | {
|
|
81
|
+
type: 'swarm.decomposition';
|
|
82
|
+
data: SwarmDecompositionData;
|
|
83
|
+
} | {
|
|
84
|
+
type: 'swarm.wave';
|
|
85
|
+
data: SwarmWaveData;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'swarm.task';
|
|
88
|
+
data: SwarmTaskData;
|
|
89
|
+
} | {
|
|
90
|
+
type: 'swarm.quality';
|
|
91
|
+
data: SwarmQualityData;
|
|
92
|
+
} | {
|
|
93
|
+
type: 'swarm.budget';
|
|
94
|
+
data: SwarmBudgetData;
|
|
95
|
+
} | {
|
|
96
|
+
type: 'swarm.verification';
|
|
97
|
+
data: SwarmVerificationData;
|
|
98
|
+
} | {
|
|
99
|
+
type: 'swarm.complete';
|
|
100
|
+
data: SwarmCompleteData;
|
|
101
|
+
} | {
|
|
102
|
+
type: 'swarm.orchestrator.llm';
|
|
103
|
+
data: SwarmOrchestratorLLMData;
|
|
104
|
+
} | {
|
|
105
|
+
type: 'swarm.wave.allFailed';
|
|
106
|
+
data: SwarmWaveAllFailedData;
|
|
107
|
+
} | {
|
|
108
|
+
type: 'swarm.phase.progress';
|
|
109
|
+
data: SwarmPhaseProgressData;
|
|
110
|
+
} | {
|
|
111
|
+
type: 'context.compacted';
|
|
112
|
+
data: ContextCompactionData;
|
|
77
113
|
};
|
|
114
|
+
/**
|
|
115
|
+
* Swarm start data.
|
|
116
|
+
*/
|
|
117
|
+
export interface SwarmStartData {
|
|
118
|
+
taskCount: number;
|
|
119
|
+
config: {
|
|
120
|
+
maxConcurrency: number;
|
|
121
|
+
totalBudget: number;
|
|
122
|
+
maxCost: number;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Swarm decomposition data.
|
|
127
|
+
*/
|
|
128
|
+
export interface SwarmDecompositionData {
|
|
129
|
+
tasks: Array<{
|
|
130
|
+
id: string;
|
|
131
|
+
description: string;
|
|
132
|
+
type: string;
|
|
133
|
+
wave: number;
|
|
134
|
+
deps: string[];
|
|
135
|
+
}>;
|
|
136
|
+
totalWaves: number;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Swarm wave data.
|
|
140
|
+
*/
|
|
141
|
+
export interface SwarmWaveData {
|
|
142
|
+
phase: 'start' | 'complete';
|
|
143
|
+
wave: number;
|
|
144
|
+
taskCount: number;
|
|
145
|
+
completed?: number;
|
|
146
|
+
failed?: number;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Swarm task data.
|
|
150
|
+
*/
|
|
151
|
+
export interface SwarmTaskData {
|
|
152
|
+
phase: 'dispatched' | 'completed' | 'failed' | 'skipped';
|
|
153
|
+
taskId: string;
|
|
154
|
+
model?: string;
|
|
155
|
+
tokensUsed?: number;
|
|
156
|
+
costUsed?: number;
|
|
157
|
+
qualityScore?: number;
|
|
158
|
+
error?: string;
|
|
159
|
+
reason?: string;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Swarm quality data.
|
|
163
|
+
*/
|
|
164
|
+
export interface SwarmQualityData {
|
|
165
|
+
taskId: string;
|
|
166
|
+
score: number;
|
|
167
|
+
feedback: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Swarm budget data.
|
|
171
|
+
*/
|
|
172
|
+
export interface SwarmBudgetData {
|
|
173
|
+
tokensUsed: number;
|
|
174
|
+
tokensTotal: number;
|
|
175
|
+
costUsed: number;
|
|
176
|
+
costTotal: number;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Swarm verification data.
|
|
180
|
+
*/
|
|
181
|
+
export interface SwarmVerificationData {
|
|
182
|
+
phase: 'start' | 'step' | 'complete';
|
|
183
|
+
stepIndex?: number;
|
|
184
|
+
description?: string;
|
|
185
|
+
passed?: boolean;
|
|
186
|
+
summary?: string;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Swarm complete data.
|
|
190
|
+
*/
|
|
191
|
+
export interface SwarmCompleteData {
|
|
192
|
+
stats: {
|
|
193
|
+
totalTasks: number;
|
|
194
|
+
completedTasks: number;
|
|
195
|
+
failedTasks: number;
|
|
196
|
+
totalTokens: number;
|
|
197
|
+
totalCost: number;
|
|
198
|
+
totalDuration: number;
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Swarm orchestrator LLM call data.
|
|
203
|
+
*/
|
|
204
|
+
export interface SwarmOrchestratorLLMData {
|
|
205
|
+
model: string;
|
|
206
|
+
purpose: string;
|
|
207
|
+
tokens: number;
|
|
208
|
+
cost: number;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Swarm wave all-failed data.
|
|
212
|
+
*/
|
|
213
|
+
export interface SwarmWaveAllFailedData {
|
|
214
|
+
wave: number;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Swarm phase progress data.
|
|
218
|
+
*/
|
|
219
|
+
export interface SwarmPhaseProgressData {
|
|
220
|
+
phase: 'decomposing' | 'planning' | 'scheduling';
|
|
221
|
+
message: string;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Context compaction data.
|
|
225
|
+
*/
|
|
226
|
+
export interface ContextCompactionData {
|
|
227
|
+
tokensBefore: number;
|
|
228
|
+
tokensAfter: number;
|
|
229
|
+
recoveryInjected: boolean;
|
|
230
|
+
}
|
|
78
231
|
/**
|
|
79
232
|
* LLM request data.
|
|
80
233
|
*/
|
|
@@ -412,6 +565,20 @@ export declare class TraceCollector {
|
|
|
412
565
|
* Record decision events.
|
|
413
566
|
*/
|
|
414
567
|
private recordDecision;
|
|
568
|
+
/** Budget event counter for sampling (only record every 5th). */
|
|
569
|
+
private swarmBudgetCounter;
|
|
570
|
+
private recordSwarmStart;
|
|
571
|
+
private recordSwarmDecomposition;
|
|
572
|
+
private recordSwarmWave;
|
|
573
|
+
private recordSwarmTask;
|
|
574
|
+
private recordSwarmQuality;
|
|
575
|
+
private recordSwarmBudget;
|
|
576
|
+
private recordSwarmVerification;
|
|
577
|
+
private recordSwarmComplete;
|
|
578
|
+
/**
|
|
579
|
+
* Record a context compaction event.
|
|
580
|
+
*/
|
|
581
|
+
private recordContextCompaction;
|
|
415
582
|
/**
|
|
416
583
|
* Start a new iteration.
|
|
417
584
|
*/
|