@orion-agents/orion-code 0.1.0 → 0.1.2
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/README.md +107 -67
- package/README.zh-CN.md +192 -217
- package/dist/cli.js +23 -21
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +397 -212
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/target-command.d.ts.map +1 -1
- package/dist/commands/target-command.js +43 -9
- package/dist/commands/target-command.js.map +1 -1
- package/dist/commands/types.d.ts +33 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js +5 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +2 -2
- package/dist/core/agent.js.map +1 -1
- package/dist/framework/external-assertion.d.ts +65 -0
- package/dist/framework/external-assertion.d.ts.map +1 -0
- package/dist/framework/external-assertion.js +571 -0
- package/dist/framework/external-assertion.js.map +1 -0
- package/dist/framework/index.d.ts +6 -4
- package/dist/framework/index.d.ts.map +1 -1
- package/dist/framework/index.js +4 -1
- package/dist/framework/index.js.map +1 -1
- package/dist/framework/query.d.ts +18 -1
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +65 -28
- package/dist/framework/query.js.map +1 -1
- package/dist/framework/tool-scheduler.d.ts +2 -0
- package/dist/framework/tool-scheduler.d.ts.map +1 -1
- package/dist/framework/tool-scheduler.js +23 -9
- package/dist/framework/tool-scheduler.js.map +1 -1
- package/dist/framework/tool-serializer.d.ts.map +1 -1
- package/dist/framework/tool-serializer.js +20 -4
- package/dist/framework/tool-serializer.js.map +1 -1
- package/dist/framework/tool.d.ts +11 -5
- package/dist/framework/tool.d.ts.map +1 -1
- package/dist/framework/tool.js.map +1 -1
- package/dist/harness/context-harness.d.ts.map +1 -1
- package/dist/harness/context-harness.js +4 -3
- package/dist/harness/context-harness.js.map +1 -1
- package/dist/harness/drift-guard.d.ts.map +1 -1
- package/dist/harness/drift-guard.js +14 -5
- package/dist/harness/drift-guard.js.map +1 -1
- package/dist/harness/safety.d.ts.map +1 -1
- package/dist/harness/safety.js +19 -3
- package/dist/harness/safety.js.map +1 -1
- package/dist/init.d.ts +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +115 -34
- package/dist/init.js.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.js +4 -1
- package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
- package/dist/memory/storage.d.ts.map +1 -1
- package/dist/memory/storage.js +1 -0
- package/dist/memory/storage.js.map +1 -1
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +11 -5
- package/dist/memory/store.js.map +1 -1
- package/dist/migration/command.d.ts.map +1 -1
- package/dist/migration/command.js +6 -1
- package/dist/migration/command.js.map +1 -1
- package/dist/migration/migrate.d.ts.map +1 -1
- package/dist/migration/migrate.js +4 -1
- package/dist/migration/migrate.js.map +1 -1
- package/dist/print-ui/launch.d.ts +4 -0
- package/dist/print-ui/launch.d.ts.map +1 -1
- package/dist/print-ui/launch.js +102 -9
- package/dist/print-ui/launch.js.map +1 -1
- package/dist/product/identity.d.ts +2 -2
- package/dist/product/identity.d.ts.map +1 -1
- package/dist/product/identity.js +2 -2
- package/dist/product/identity.js.map +1 -1
- package/dist/product/index.d.ts +2 -1
- package/dist/product/index.d.ts.map +1 -1
- package/dist/product/index.js +5 -1
- package/dist/product/index.js.map +1 -1
- package/dist/product/version.d.ts +12 -0
- package/dist/product/version.d.ts.map +1 -0
- package/dist/product/version.js +31 -0
- package/dist/product/version.js.map +1 -0
- package/dist/runtime/agent-runtime-controller.d.ts +49 -0
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +1048 -81
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/agent-runtime-protocol.d.ts +14 -2
- package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-protocol.js +18 -0
- package/dist/runtime/agent-runtime-protocol.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts +6 -0
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +226 -20
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/goals/accounting.d.ts +28 -0
- package/dist/runtime/goals/accounting.d.ts.map +1 -1
- package/dist/runtime/goals/accounting.js +69 -0
- package/dist/runtime/goals/accounting.js.map +1 -1
- package/dist/runtime/goals/completion-audit.d.ts +13 -8
- package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
- package/dist/runtime/goals/completion-audit.js +598 -16
- package/dist/runtime/goals/completion-audit.js.map +1 -1
- package/dist/runtime/goals/coordinator.d.ts +44 -5
- package/dist/runtime/goals/coordinator.d.ts.map +1 -1
- package/dist/runtime/goals/coordinator.js +1124 -58
- package/dist/runtime/goals/coordinator.js.map +1 -1
- package/dist/runtime/goals/evidence.d.ts +37 -0
- package/dist/runtime/goals/evidence.d.ts.map +1 -0
- package/dist/runtime/goals/evidence.js +300 -0
- package/dist/runtime/goals/evidence.js.map +1 -0
- package/dist/runtime/goals/presentation.d.ts +4 -0
- package/dist/runtime/goals/presentation.d.ts.map +1 -0
- package/dist/runtime/goals/presentation.js +50 -0
- package/dist/runtime/goals/presentation.js.map +1 -0
- package/dist/runtime/goals/prompt.d.ts.map +1 -1
- package/dist/runtime/goals/prompt.js +38 -8
- package/dist/runtime/goals/prompt.js.map +1 -1
- package/dist/runtime/goals/tools.d.ts +18 -1
- package/dist/runtime/goals/tools.d.ts.map +1 -1
- package/dist/runtime/goals/tools.js +308 -28
- package/dist/runtime/goals/tools.js.map +1 -1
- package/dist/runtime/goals/types.d.ts +241 -7
- package/dist/runtime/goals/types.d.ts.map +1 -1
- package/dist/runtime/goals/types.js +8 -2
- package/dist/runtime/goals/types.js.map +1 -1
- package/dist/runtime/subagents/child-executor-guard.d.ts +12 -4
- package/dist/runtime/subagents/child-executor-guard.d.ts.map +1 -1
- package/dist/runtime/subagents/child-executor-guard.js +397 -61
- package/dist/runtime/subagents/child-executor-guard.js.map +1 -1
- package/dist/runtime/subagents/presets.d.ts +4 -5
- package/dist/runtime/subagents/presets.d.ts.map +1 -1
- package/dist/runtime/subagents/presets.js +18 -33
- package/dist/runtime/subagents/presets.js.map +1 -1
- package/dist/runtime/subagents/production.d.ts +3 -1
- package/dist/runtime/subagents/production.d.ts.map +1 -1
- package/dist/runtime/subagents/production.js +37 -7
- package/dist/runtime/subagents/production.js.map +1 -1
- package/dist/runtime/subagents/runner.d.ts.map +1 -1
- package/dist/runtime/subagents/runner.js +24 -3
- package/dist/runtime/subagents/runner.js.map +1 -1
- package/dist/runtime/subagents/runtime-integration.d.ts +3 -0
- package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
- package/dist/runtime/subagents/runtime-integration.js +18 -7
- package/dist/runtime/subagents/runtime-integration.js.map +1 -1
- package/dist/runtime/subagents/supervisor.d.ts +4 -4
- package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
- package/dist/runtime/subagents/supervisor.js +39 -19
- package/dist/runtime/subagents/supervisor.js.map +1 -1
- package/dist/runtime/subagents/types.d.ts +7 -0
- package/dist/runtime/subagents/types.d.ts.map +1 -1
- package/dist/runtime/subagents/types.js +12 -1
- package/dist/runtime/subagents/types.js.map +1 -1
- package/dist/runtime/ui-events.d.ts +10 -0
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-events.js +5 -5
- package/dist/runtime/ui-events.js.map +1 -1
- package/dist/runtime/ui-view-model.d.ts +3 -3
- package/dist/runtime/ui-view-model.d.ts.map +1 -1
- package/dist/runtime/ui-view-model.js +11 -4
- package/dist/runtime/ui-view-model.js.map +1 -1
- package/dist/services/config.d.ts +18 -7
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +79 -57
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +164 -18
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-config.d.ts +1 -1
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/goal-storage.d.ts +9 -4
- package/dist/services/goal-storage.d.ts.map +1 -1
- package/dist/services/goal-storage.js +1113 -75
- package/dist/services/goal-storage.js.map +1 -1
- package/dist/services/llm.d.ts +19 -0
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +153 -20
- package/dist/services/llm.js.map +1 -1
- package/dist/services/model-registry.d.ts +1 -1
- package/dist/services/model-registry.d.ts.map +1 -1
- package/dist/services/model-registry.js +69 -19
- package/dist/services/model-registry.js.map +1 -1
- package/dist/services/provider-resilience/coordinator.d.ts +2 -1
- package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
- package/dist/services/provider-resilience/coordinator.js +7 -6
- package/dist/services/provider-resilience/coordinator.js.map +1 -1
- package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
- package/dist/services/provider-resilience/error-classifier.js +67 -17
- package/dist/services/provider-resilience/error-classifier.js.map +1 -1
- package/dist/services/provider-resilience/types.d.ts +1 -1
- package/dist/services/provider-resilience/types.d.ts.map +1 -1
- package/dist/services/provider-resilience/types.js.map +1 -1
- package/dist/services/redaction.d.ts.map +1 -1
- package/dist/services/redaction.js +9 -1
- package/dist/services/redaction.js.map +1 -1
- package/dist/services/session-storage.d.ts +12 -1
- package/dist/services/session-storage.d.ts.map +1 -1
- package/dist/services/session-storage.js +23 -7
- package/dist/services/session-storage.js.map +1 -1
- package/dist/services/storage-maintenance.d.ts +73 -3
- package/dist/services/storage-maintenance.d.ts.map +1 -1
- package/dist/services/storage-maintenance.js +771 -104
- package/dist/services/storage-maintenance.js.map +1 -1
- package/dist/services/task-manager.d.ts.map +1 -1
- package/dist/services/task-manager.js +2 -2
- package/dist/services/task-manager.js.map +1 -1
- package/dist/services/web-search-adapters.d.ts.map +1 -1
- package/dist/services/web-search-adapters.js +89 -49
- package/dist/services/web-search-adapters.js.map +1 -1
- package/dist/services/web-search-mcp.d.ts.map +1 -1
- package/dist/services/web-search-mcp.js +34 -37
- package/dist/services/web-search-mcp.js.map +1 -1
- package/dist/services/workspace-state.d.ts +4 -0
- package/dist/services/workspace-state.d.ts.map +1 -1
- package/dist/services/workspace-state.js +30 -9
- package/dist/services/workspace-state.js.map +1 -1
- package/dist/terminal-ui/completion.js +1 -1
- package/dist/terminal-ui/completion.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +3 -0
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +26 -98
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/tools/git.d.ts.map +1 -1
- package/dist/tools/git.js +275 -27
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +29 -10
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mcp.d.ts.map +1 -1
- package/dist/tools/mcp.js +20 -12
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/web.d.ts.map +1 -1
- package/dist/tools/web.js +38 -14
- package/dist/tools/web.js.map +1 -1
- package/dist/tui-ui/layout.d.ts.map +1 -1
- package/dist/tui-ui/layout.js +36 -23
- package/dist/tui-ui/layout.js.map +1 -1
- package/dist/tui-ui/pickers.d.ts.map +1 -1
- package/dist/tui-ui/pickers.js +5 -4
- package/dist/tui-ui/pickers.js.map +1 -1
- package/dist/tui-ui/runner.d.ts +1 -0
- package/dist/tui-ui/runner.d.ts.map +1 -1
- package/dist/tui-ui/runner.js +15 -17
- package/dist/tui-ui/runner.js.map +1 -1
- package/dist/tui-ui/state.d.ts +6 -0
- package/dist/tui-ui/state.d.ts.map +1 -1
- package/dist/tui-ui/state.js +61 -30
- package/dist/tui-ui/state.js.map +1 -1
- package/package.json +14 -9
|
@@ -24,14 +24,21 @@ exports.evaluateToolCall = evaluateToolCall;
|
|
|
24
24
|
exports.createChildToolExecutorGuard = createChildToolExecutorGuard;
|
|
25
25
|
const path_1 = require("path");
|
|
26
26
|
const fs_1 = require("fs");
|
|
27
|
+
const async_hooks_1 = require("async_hooks");
|
|
27
28
|
/** Tools whose arguments carry a single primary path under key `path`. */
|
|
28
29
|
const PATH_TOOLS = new Set(['read_file', 'list_files']);
|
|
29
30
|
/** Tools whose arguments carry a base/glob root under `path`. */
|
|
30
31
|
const BASE_PATH_TOOLS = new Set(['glob']);
|
|
31
32
|
/** Tools whose arguments carry a search base under `path`. */
|
|
32
33
|
const SEARCH_PATH_TOOLS = new Set(['grep']);
|
|
34
|
+
/** Known tools constrained by ToolContext.cwd but not by a narrower packet scope. */
|
|
35
|
+
const ROOT_BOUND_TOOLS = new Set(['git_status']);
|
|
33
36
|
/** batch_read nests step args; each step has { tool, args }. */
|
|
34
37
|
const BATCH_TOOL = 'batch_read';
|
|
38
|
+
const BATCH_READ_MAX_STEPS = 8;
|
|
39
|
+
const BATCH_READ_ALLOWED_TOOLS = new Set(['git_status', 'list_files', 'glob', 'grep', 'read_file']);
|
|
40
|
+
/** Built-ins whose contract is explicitly independent of repository paths. */
|
|
41
|
+
const DEFAULT_SCOPE_AGNOSTIC_TOOLS = new Set(['time', 'web_search', 'web_fetch']);
|
|
35
42
|
/**
|
|
36
43
|
* Return the realpath of the nearest existing ancestor of `p`.
|
|
37
44
|
*
|
|
@@ -73,6 +80,32 @@ function nearestExistingAncestorRealpath(p) {
|
|
|
73
80
|
}
|
|
74
81
|
return undefined; // loop exhausted, no existing ancestor found
|
|
75
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Resolve an existing or not-yet-created target without dropping its missing
|
|
85
|
+
* suffix. For example, `<root>/src/not-created` canonicalizes to that exact
|
|
86
|
+
* target rather than widening to the existing `<root>/src` ancestor.
|
|
87
|
+
*/
|
|
88
|
+
function canonicalTargetRealpath(p) {
|
|
89
|
+
let current = p;
|
|
90
|
+
for (let i = 0; i < 64; i++) {
|
|
91
|
+
if ((0, fs_1.existsSync)(current)) {
|
|
92
|
+
try {
|
|
93
|
+
const ancestorReal = (0, fs_1.realpathSync)(current);
|
|
94
|
+
return (0, path_1.resolve)(ancestorReal, (0, path_1.relative)(current, p));
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
const code = err?.code;
|
|
98
|
+
if (code !== 'ENOENT')
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const parent = (0, path_1.resolve)(current, '..');
|
|
103
|
+
if (parent === current)
|
|
104
|
+
return undefined;
|
|
105
|
+
current = parent;
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
76
109
|
/** True if `candidate` is `ancestor` or inside it (both realpaths). */
|
|
77
110
|
function isInsideOrEqual(candidate, ancestor) {
|
|
78
111
|
if (candidate === ancestor)
|
|
@@ -83,77 +116,320 @@ function isInsideOrEqual(candidate, ancestor) {
|
|
|
83
116
|
/**
|
|
84
117
|
* Check that a path stays inside root (and inside a scope if scopes given).
|
|
85
118
|
*
|
|
86
|
-
* Strategy: resolve the path against root,
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* descend into a scope from the root (ancestor is root itself, remaining
|
|
91
|
-
* suffix enters a scope).
|
|
119
|
+
* Strategy: resolve the path against root, canonicalize its nearest existing
|
|
120
|
+
* ancestor, then append the unresolved suffix. Keeping that suffix is
|
|
121
|
+
* important for missing scope paths: `src/not-created` must not widen to
|
|
122
|
+
* `src`. Existing symlink ancestors are resolved before containment checks.
|
|
92
123
|
*/
|
|
93
124
|
function checkContainment(rawPath, rootReal, scopeReals) {
|
|
94
125
|
if (typeof rawPath !== 'string' || rawPath.trim() === '') {
|
|
95
126
|
return { contained: false, reason: 'empty path' };
|
|
96
127
|
}
|
|
97
128
|
const resolved = (0, path_1.resolve)(rootReal, rawPath);
|
|
98
|
-
const
|
|
129
|
+
const targetReal = canonicalTargetRealpath(resolved);
|
|
99
130
|
// If no existing ancestor could be resolved (e.g. EACCES on realpathSync),
|
|
100
131
|
// containment cannot be verified — reject the path.
|
|
101
|
-
if (
|
|
132
|
+
if (targetReal === undefined) {
|
|
102
133
|
return { contained: false, reason: `cannot verify path containment: ${rawPath}` };
|
|
103
134
|
}
|
|
104
135
|
// Boundary 1: must be inside root.
|
|
105
|
-
if (!isInsideOrEqual(
|
|
136
|
+
if (!isInsideOrEqual(targetReal, rootReal)) {
|
|
106
137
|
return { contained: false, reason: `path escapes project root: ${rawPath}` };
|
|
107
138
|
}
|
|
108
139
|
// Boundary 2: if scopes specified, the target must be inside a scope.
|
|
109
140
|
if (scopeReals.length > 0) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
// Ancestor is root (or above scope) but target may descend into a
|
|
114
|
-
// scope. Re-resolve the full target's nearest-existing-ancestor
|
|
115
|
-
// against each scope: the resolved path relative to root must, when
|
|
116
|
-
// joined, fall inside a scope realpath.
|
|
117
|
-
const targetInScope = scopeReals.some(s => {
|
|
118
|
-
// Compute where the target would resolve to relative to root, then
|
|
119
|
-
// check containment against the scope realpath.
|
|
120
|
-
const targetResolved = (0, path_1.resolve)(rootReal, rawPath);
|
|
121
|
-
const targetAncestor = nearestExistingAncestorRealpath(targetResolved);
|
|
122
|
-
return targetAncestor !== undefined && isInsideOrEqual(targetAncestor, s);
|
|
123
|
-
});
|
|
124
|
-
if (!targetInScope) {
|
|
125
|
-
return { contained: false, reason: `path outside packet scope: ${rawPath}` };
|
|
126
|
-
}
|
|
141
|
+
const targetInScope = scopeReals.some(scope => isInsideOrEqual(targetReal, scope));
|
|
142
|
+
if (!targetInScope) {
|
|
143
|
+
return { contained: false, reason: `path outside packet scope: ${rawPath}` };
|
|
127
144
|
}
|
|
128
145
|
}
|
|
129
146
|
return { contained: true };
|
|
130
147
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
148
|
+
function isRecord(value) {
|
|
149
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
150
|
+
}
|
|
151
|
+
/** Keep known-tool containment identical to the path accepted by the executor. */
|
|
152
|
+
function normalizeKnownToolPath(input) {
|
|
153
|
+
let value = input.trim();
|
|
154
|
+
const markdownLink = value.match(/^!?\[[^\]]*\]\(([\s\S]+)\)$/u);
|
|
155
|
+
if (markdownLink) {
|
|
156
|
+
value = markdownLink[1].trim();
|
|
157
|
+
if (value.startsWith('<')) {
|
|
158
|
+
const end = value.indexOf('>');
|
|
159
|
+
if (end >= 0)
|
|
160
|
+
value = value.slice(1, end);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
value = value.replace(/\s+["'][\s\S]*["']$/u, '');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if ((value.startsWith('`') && value.endsWith('`')) ||
|
|
167
|
+
(value.startsWith('"') && value.endsWith('"')) ||
|
|
168
|
+
(value.startsWith("'") && value.endsWith("'"))) {
|
|
169
|
+
value = value.slice(1, -1);
|
|
170
|
+
}
|
|
171
|
+
if (value.startsWith('file://')) {
|
|
172
|
+
try {
|
|
173
|
+
return decodeURIComponent(new URL(value).pathname);
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return value.replace(/^file:\/\//u, '');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return value;
|
|
180
|
+
}
|
|
181
|
+
/** Parse batch_read input exactly like the real executor before guarding it. */
|
|
182
|
+
function parseBatchReadSteps(rawSteps) {
|
|
183
|
+
let value = rawSteps;
|
|
184
|
+
if (typeof value === 'string') {
|
|
185
|
+
try {
|
|
186
|
+
value = JSON.parse(value);
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return { error: 'steps must be an array or a valid JSON array string' };
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (!Array.isArray(value))
|
|
193
|
+
return { error: 'steps must be an array' };
|
|
194
|
+
if (value.length === 0)
|
|
195
|
+
return { error: 'steps must not be empty' };
|
|
196
|
+
if (value.length > BATCH_READ_MAX_STEPS) {
|
|
197
|
+
return { error: `steps exceed the ${BATCH_READ_MAX_STEPS}-step limit` };
|
|
198
|
+
}
|
|
199
|
+
const steps = [];
|
|
200
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
201
|
+
const step = value[index];
|
|
202
|
+
if (!isRecord(step) || typeof step.tool !== 'string' || !step.tool) {
|
|
203
|
+
return { error: `step ${index + 1} requires an object with a tool string` };
|
|
204
|
+
}
|
|
205
|
+
let stepArgs = step.args;
|
|
206
|
+
if (typeof stepArgs === 'string') {
|
|
207
|
+
try {
|
|
208
|
+
stepArgs = JSON.parse(stepArgs);
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
return { error: `step ${index + 1} args must be a valid JSON object string` };
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (!isRecord(stepArgs))
|
|
215
|
+
return { error: `step ${index + 1} args must be an object` };
|
|
216
|
+
steps.push({ tool: step.tool, args: stepArgs });
|
|
217
|
+
}
|
|
218
|
+
return { steps };
|
|
219
|
+
}
|
|
220
|
+
const PATH_LIKE_ARG_KEY = /(?:^|_)(?:path|paths|file|files|filepath|filename|directory|directories|dir|cwd|root|base|location|locations|source|sources|destination|destinations|target|targets|uri|uris)(?:$|_)/iu;
|
|
221
|
+
/** Detect nested path/file/location/resourceUri shapes without trusting MCP schemas. */
|
|
222
|
+
function hasUnknownPathArgs(value, key = '', inheritedPathContext = false) {
|
|
223
|
+
const normalizedKey = key.replace(/([a-z0-9])([A-Z])/g, '$1_$2').replace(/[-.]/g, '_');
|
|
224
|
+
const pathContext = inheritedPathContext || PATH_LIKE_ARG_KEY.test(normalizedKey);
|
|
225
|
+
if (typeof value === 'string') {
|
|
226
|
+
if (value.trim().startsWith('file://'))
|
|
227
|
+
return true;
|
|
228
|
+
if (!pathContext)
|
|
229
|
+
return false;
|
|
230
|
+
const uriKey = /(?:^|_)(?:uri|uris)(?:$|_)/iu.test(normalizedKey);
|
|
231
|
+
return !uriKey;
|
|
232
|
+
}
|
|
233
|
+
if (Array.isArray(value)) {
|
|
234
|
+
return value.some(item => hasUnknownPathArgs(item, key, pathContext));
|
|
235
|
+
}
|
|
236
|
+
if (!isRecord(value))
|
|
237
|
+
return pathContext;
|
|
238
|
+
if (pathContext)
|
|
239
|
+
return true;
|
|
240
|
+
return Object.entries(value).some(([nestedKey, nestedValue]) => hasUnknownPathArgs(nestedValue, nestedKey, false));
|
|
241
|
+
}
|
|
242
|
+
/** Match grep's basename-only `glob` filter exactly as the real executor does. */
|
|
243
|
+
function matchesGrepGlob(name, pattern) {
|
|
244
|
+
const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, '\\$&');
|
|
245
|
+
const regex = escaped.replace(/\*/g, '.*').replace(/\?/g, '.');
|
|
246
|
+
return new RegExp(`^${regex}$`).test(name);
|
|
247
|
+
}
|
|
248
|
+
function checkGrepDescendantSymlinks(rawBasePath, rootReal, scopeReals, globPattern) {
|
|
249
|
+
const base = (0, path_1.resolve)(rootReal, rawBasePath);
|
|
250
|
+
try {
|
|
251
|
+
if (!(0, fs_1.existsSync)(base) || !(0, fs_1.statSync)(base).isDirectory())
|
|
252
|
+
return { contained: true };
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
return { contained: false, reason: `cannot inspect search path: ${rawBasePath}` };
|
|
256
|
+
}
|
|
257
|
+
const pending = [base];
|
|
258
|
+
while (pending.length > 0) {
|
|
259
|
+
const directory = pending.pop();
|
|
260
|
+
let entries;
|
|
261
|
+
try {
|
|
262
|
+
entries = (0, fs_1.readdirSync)(directory, { withFileTypes: true });
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
// Real grep skips unreadable directories rather than searching them.
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
for (const entry of entries) {
|
|
269
|
+
if (entry.name.startsWith('.'))
|
|
270
|
+
continue;
|
|
271
|
+
const entryPath = (0, path_1.join)(directory, entry.name);
|
|
272
|
+
if (entry.isDirectory()) {
|
|
273
|
+
pending.push(entryPath);
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
if (globPattern && !matchesGrepGlob(entry.name, globPattern))
|
|
277
|
+
continue;
|
|
278
|
+
if (!entry.isSymbolicLink())
|
|
279
|
+
continue;
|
|
280
|
+
try {
|
|
281
|
+
// Real grep checks isFile() immediately before streaming. Directory,
|
|
282
|
+
// dangling and other non-file symlink targets are therefore skipped.
|
|
283
|
+
if (!(0, fs_1.statSync)(entryPath).isFile())
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
let targetReal;
|
|
290
|
+
try {
|
|
291
|
+
targetReal = (0, fs_1.realpathSync)(entryPath);
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
return {
|
|
295
|
+
contained: false,
|
|
296
|
+
reason: `cannot verify search descendant symlink: ${entryPath}`,
|
|
297
|
+
path: entryPath,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
if (!isInsideOrEqual(targetReal, rootReal)) {
|
|
301
|
+
return {
|
|
302
|
+
contained: false,
|
|
303
|
+
reason: `search descendant symlink escapes project root: ${entryPath}`,
|
|
304
|
+
path: entryPath,
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
if (scopeReals.length > 0 && !scopeReals.some(scope => isInsideOrEqual(targetReal, scope))) {
|
|
308
|
+
return {
|
|
309
|
+
contained: false,
|
|
310
|
+
reason: `search descendant symlink escapes packet scope: ${entryPath}`,
|
|
311
|
+
path: entryPath,
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
}
|
|
142
315
|
}
|
|
316
|
+
return { contained: true };
|
|
317
|
+
}
|
|
318
|
+
function evaluateResolvedToolCall(tool, args, rootReal, scopeReals, scopeAgnosticTools) {
|
|
143
319
|
if (tool === BATCH_TOOL) {
|
|
144
|
-
const
|
|
145
|
-
if (
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
320
|
+
const parsed = parseBatchReadSteps(args.steps);
|
|
321
|
+
if (parsed.error || !parsed.steps) {
|
|
322
|
+
return {
|
|
323
|
+
ok: false,
|
|
324
|
+
tool,
|
|
325
|
+
reason: `invalid batch_read: ${parsed.error ?? 'steps are required'}`,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
for (const step of parsed.steps) {
|
|
329
|
+
if (!BATCH_READ_ALLOWED_TOOLS.has(step.tool)) {
|
|
330
|
+
return {
|
|
331
|
+
ok: false,
|
|
332
|
+
tool,
|
|
333
|
+
reason: `tool ${step.tool} is not allowed in batch_read`,
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
const verdict = evaluateResolvedToolCall(step.tool, step.args, rootReal, scopeReals, scopeAgnosticTools);
|
|
337
|
+
if (!verdict.ok)
|
|
338
|
+
return verdict;
|
|
339
|
+
}
|
|
340
|
+
return { ok: true };
|
|
341
|
+
}
|
|
342
|
+
if (ROOT_BOUND_TOOLS.has(tool)) {
|
|
343
|
+
if (scopeReals.length > 0) {
|
|
344
|
+
return {
|
|
345
|
+
ok: false,
|
|
346
|
+
tool,
|
|
347
|
+
reason: `${tool} is root-bound and unavailable under packet scope`,
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
// git_status's published schema has one optional filesystem argument:
|
|
351
|
+
// `cwd`. Other path/workdir-like aliases are ignored by the real tool.
|
|
352
|
+
const rawCwd = args.cwd;
|
|
353
|
+
if (rawCwd === undefined || rawCwd === '')
|
|
354
|
+
return { ok: true };
|
|
355
|
+
if (typeof rawCwd !== 'string') {
|
|
356
|
+
return { ok: false, tool, reason: `${tool} cwd must be a string` };
|
|
357
|
+
}
|
|
358
|
+
const normalizedCwd = normalizeKnownToolPath(rawCwd);
|
|
359
|
+
const containment = checkContainment(normalizedCwd, rootReal, []);
|
|
360
|
+
if (!containment.contained) {
|
|
361
|
+
return {
|
|
362
|
+
ok: false,
|
|
363
|
+
tool,
|
|
364
|
+
reason: containment.reason ?? 'cwd rejected',
|
|
365
|
+
path: normalizedCwd,
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
return { ok: true };
|
|
369
|
+
}
|
|
370
|
+
const knownPathTool = PATH_TOOLS.has(tool) || BASE_PATH_TOOLS.has(tool) || SEARCH_PATH_TOOLS.has(tool);
|
|
371
|
+
if (knownPathTool) {
|
|
372
|
+
const rawPath = args.path;
|
|
373
|
+
if (scopeReals.length > 0 &&
|
|
374
|
+
(BASE_PATH_TOOLS.has(tool) || SEARCH_PATH_TOOLS.has(tool)) &&
|
|
375
|
+
(typeof rawPath !== 'string' || rawPath.trim() === '')) {
|
|
376
|
+
return {
|
|
377
|
+
ok: false,
|
|
378
|
+
tool,
|
|
379
|
+
reason: `${tool} requires explicit path under packet scope`,
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
if (typeof rawPath === 'string') {
|
|
383
|
+
const normalizedPath = normalizeKnownToolPath(rawPath);
|
|
384
|
+
const containment = checkContainment(normalizedPath, rootReal, scopeReals);
|
|
385
|
+
if (!containment.contained) {
|
|
386
|
+
return {
|
|
387
|
+
ok: false,
|
|
388
|
+
tool,
|
|
389
|
+
reason: containment.reason ?? 'path rejected',
|
|
390
|
+
path: normalizedPath,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
if (SEARCH_PATH_TOOLS.has(tool)) {
|
|
394
|
+
const descendants = checkGrepDescendantSymlinks(normalizedPath, rootReal, scopeReals, typeof args.glob === 'string' ? args.glob : undefined);
|
|
395
|
+
if (!descendants.contained) {
|
|
396
|
+
return {
|
|
397
|
+
ok: false,
|
|
398
|
+
tool,
|
|
399
|
+
reason: descendants.reason ?? 'search descendant symlink rejected',
|
|
400
|
+
path: descendants.path ?? normalizedPath,
|
|
401
|
+
};
|
|
152
402
|
}
|
|
153
403
|
}
|
|
154
404
|
}
|
|
405
|
+
else if (SEARCH_PATH_TOOLS.has(tool) && scopeReals.length === 0) {
|
|
406
|
+
const descendants = checkGrepDescendantSymlinks('.', rootReal, scopeReals, typeof args.glob === 'string' ? args.glob : undefined);
|
|
407
|
+
if (!descendants.contained) {
|
|
408
|
+
return {
|
|
409
|
+
ok: false,
|
|
410
|
+
tool,
|
|
411
|
+
reason: descendants.reason ?? 'search descendant symlink rejected',
|
|
412
|
+
path: descendants.path ?? rootReal,
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
return { ok: true };
|
|
155
417
|
}
|
|
156
|
-
|
|
418
|
+
if (!scopeAgnosticTools.has(tool)) {
|
|
419
|
+
return {
|
|
420
|
+
ok: false,
|
|
421
|
+
tool,
|
|
422
|
+
reason: `${tool} is not certified scope-agnostic`,
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
if (hasUnknownPathArgs(args)) {
|
|
426
|
+
return {
|
|
427
|
+
ok: false,
|
|
428
|
+
tool,
|
|
429
|
+
reason: `${tool} scope-agnostic certification requires pathless arguments`,
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
return { ok: true };
|
|
157
433
|
}
|
|
158
434
|
/**
|
|
159
435
|
* Evaluate whether a tool call is allowed under the guard's boundaries.
|
|
@@ -164,36 +440,84 @@ function evaluateToolCall(tool, args, options) {
|
|
|
164
440
|
if (rootReal === undefined) {
|
|
165
441
|
return { ok: false, tool, reason: 'cannot resolve project root realpath' };
|
|
166
442
|
}
|
|
167
|
-
const
|
|
168
|
-
const
|
|
169
|
-
for (const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
return { ok: false, tool, reason: verdict.reason ?? 'path rejected', path };
|
|
443
|
+
const requestedScopes = options.scopePaths ?? [];
|
|
444
|
+
const scopeReals = [];
|
|
445
|
+
for (const scopePath of requestedScopes) {
|
|
446
|
+
if (typeof scopePath !== 'string' || scopePath.trim() === '') {
|
|
447
|
+
return { ok: false, tool, reason: 'cannot verify packet scope: empty path' };
|
|
173
448
|
}
|
|
449
|
+
const scopeReal = canonicalTargetRealpath((0, path_1.resolve)(rootReal, scopePath));
|
|
450
|
+
if (scopeReal === undefined || !isInsideOrEqual(scopeReal, rootReal)) {
|
|
451
|
+
return {
|
|
452
|
+
ok: false,
|
|
453
|
+
tool,
|
|
454
|
+
reason: `cannot verify packet scope: ${scopePath}`,
|
|
455
|
+
path: scopePath,
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
scopeReals.push(scopeReal);
|
|
174
459
|
}
|
|
175
|
-
|
|
460
|
+
const scopeAgnosticTools = new Set([
|
|
461
|
+
...DEFAULT_SCOPE_AGNOSTIC_TOOLS,
|
|
462
|
+
...(options.scopeAgnosticTools ?? []),
|
|
463
|
+
]);
|
|
464
|
+
return evaluateResolvedToolCall(tool, args, rootReal, scopeReals, scopeAgnosticTools);
|
|
176
465
|
}
|
|
177
466
|
/**
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
467
|
+
* An async-context scope holder. Every parallel child gets its own packet
|
|
468
|
+
* scope, while callers outside a child context retain the legacy root-only
|
|
469
|
+
* behavior (or a scope explicitly entered for that async context).
|
|
470
|
+
*
|
|
471
|
+
* A process-wide mutable `current` value is unsafe here: parallel children
|
|
472
|
+
* overwrite each other's scope, and one child's cleanup can remove another
|
|
473
|
+
* still-running child's boundary. AsyncLocalStorage is available in Node 20
|
|
474
|
+
* and follows the promise/callback chain used by each child run.
|
|
181
475
|
*/
|
|
182
476
|
class ScopeHolder {
|
|
183
477
|
constructor() {
|
|
184
|
-
this.
|
|
478
|
+
this.storage = new async_hooks_1.AsyncLocalStorage();
|
|
479
|
+
}
|
|
480
|
+
runWithScope(paths, operation) {
|
|
481
|
+
return this.storage.run([...paths], operation);
|
|
185
482
|
}
|
|
186
483
|
setScope(paths) {
|
|
187
|
-
this.
|
|
484
|
+
this.storage.enterWith([...paths]);
|
|
188
485
|
}
|
|
189
486
|
clear() {
|
|
190
|
-
this.
|
|
487
|
+
this.storage.enterWith([]);
|
|
191
488
|
}
|
|
192
489
|
getScope() {
|
|
193
|
-
return this.
|
|
490
|
+
return this.storage.getStore() ?? [];
|
|
194
491
|
}
|
|
195
492
|
}
|
|
196
493
|
exports.ScopeHolder = ScopeHolder;
|
|
494
|
+
/**
|
|
495
|
+
* Rewrite approved root-bound cwd arguments to canonical absolute paths before
|
|
496
|
+
* delegation. The git tool passes cwd directly to child_process, where a
|
|
497
|
+
* relative value would otherwise resolve against process.cwd() instead of the
|
|
498
|
+
* guarded project root. batch_read is normalized to its parsed array form so
|
|
499
|
+
* nested git_status calls receive the same protection.
|
|
500
|
+
*/
|
|
501
|
+
function canonicalizeApprovedArgs(tool, args, rootReal) {
|
|
502
|
+
if (ROOT_BOUND_TOOLS.has(tool)) {
|
|
503
|
+
const rawCwd = args.cwd;
|
|
504
|
+
const normalizedCwd = typeof rawCwd === 'string' && rawCwd !== '' ? normalizeKnownToolPath(rawCwd) : '.';
|
|
505
|
+
return { ...args, cwd: (0, path_1.resolve)(rootReal, normalizedCwd) };
|
|
506
|
+
}
|
|
507
|
+
if (tool === BATCH_TOOL) {
|
|
508
|
+
const parsed = parseBatchReadSteps(args.steps);
|
|
509
|
+
if (parsed.steps) {
|
|
510
|
+
return {
|
|
511
|
+
...args,
|
|
512
|
+
steps: parsed.steps.map(step => ({
|
|
513
|
+
tool: step.tool,
|
|
514
|
+
args: canonicalizeApprovedArgs(step.tool, step.args, rootReal),
|
|
515
|
+
})),
|
|
516
|
+
};
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
return args;
|
|
520
|
+
}
|
|
197
521
|
/**
|
|
198
522
|
* Wrap a child tool executor with containment enforcement. The returned
|
|
199
523
|
* executor delegates to `inner` only when all path-bearing args are inside
|
|
@@ -205,6 +529,7 @@ function createChildToolExecutorGuard(inner, options) {
|
|
|
205
529
|
const verdict = evaluateToolCall(name, args, {
|
|
206
530
|
rootCwd: options.rootCwd,
|
|
207
531
|
scopePaths,
|
|
532
|
+
scopeAgnosticTools: options.scopeAgnosticTools,
|
|
208
533
|
});
|
|
209
534
|
if (!verdict.ok) {
|
|
210
535
|
return JSON.stringify({
|
|
@@ -213,7 +538,18 @@ function createChildToolExecutorGuard(inner, options) {
|
|
|
213
538
|
error: `Subagent scope guard rejected ${verdict.tool}: ${verdict.reason}`,
|
|
214
539
|
});
|
|
215
540
|
}
|
|
216
|
-
|
|
541
|
+
if (!ROOT_BOUND_TOOLS.has(name) && name !== BATCH_TOOL) {
|
|
542
|
+
return inner(name, args, abortSignal);
|
|
543
|
+
}
|
|
544
|
+
const rootReal = nearestExistingAncestorRealpath(options.rootCwd);
|
|
545
|
+
if (rootReal === undefined) {
|
|
546
|
+
return JSON.stringify({
|
|
547
|
+
success: false,
|
|
548
|
+
output: '',
|
|
549
|
+
error: `Subagent scope guard rejected ${name}: cannot resolve project root realpath`,
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
return inner(name, canonicalizeApprovedArgs(name, args, rootReal), abortSignal);
|
|
217
553
|
};
|
|
218
554
|
}
|
|
219
555
|
//# sourceMappingURL=child-executor-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-executor-guard.js","sourceRoot":"","sources":["../../../src/runtime/subagents/child-executor-guard.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAsLH,4CAsBC;AA4BD,oEA2BC;AAjQD,+BAAqD;AACrD,2BAA8C;AAE9C,0EAA0E;AAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAExD,iEAAiE;AACjE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1C,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,gEAAgE;AAChE,MAAM,UAAU,GAAG,YAAY,CAAC;AAsBhC;;;;;;;GAOG;AACH,SAAS,+BAA+B,CAAC,CAAS;IAChD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,OAAO,IAAA,iBAAY,EAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,4EAA4E;gBAC5E,yEAAyE;gBACzE,MAAM,IAAI,GAAI,GAA6B,EAAE,IAAI,CAAC;gBAClD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,8DAA8D;oBAC9D,oDAAoD;oBACpD,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACtC,IAAI,MAAM,KAAK,OAAO;wBAAE,OAAO,SAAS,CAAC;oBACzC,OAAO,GAAG,MAAM,CAAC;oBACjB,SAAS;gBACX,CAAC;gBACD,qEAAqE;gBACrE,uEAAuE;gBACvE,6CAA6C;gBAC7C,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC,CAAC,wCAAwC;QAClF,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,6CAA6C;AACjE,CAAC;AAED,uEAAuE;AACvE,SAAS,eAAe,CAAC,SAAiB,EAAE,QAAgB;IAC1D,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1C,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CACvB,OAAe,EACf,QAAgB,EAChB,UAA6B;IAE7B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAE/D,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,OAAO,EAAE,EAAE,CAAC;IACpF,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,OAAO,EAAE,EAAE,CAAC;IAC/E,CAAC;IAED,sEAAsE;IACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,iDAAiD;QACjD,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,kEAAkE;YAClE,gEAAgE;YAChE,oEAAoE;YACpE,wCAAwC;YACxC,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACxC,mEAAmE;gBACnE,gDAAgD;gBAChD,MAAM,cAAc,GAAG,IAAA,cAAO,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,cAAc,GAAG,+BAA+B,CAAC,cAAc,CAAC,CAAC;gBACvE,OAAO,cAAc,KAAK,SAAS,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,OAAO,EAAE,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,uDAAuD;AACvD,SAAS,eAAe,CACtB,IAAY,EACZ,IAA6B;IAE7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IACE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QACpB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAC3B,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACpB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,yEAAyE;IAC3E,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtE,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;wBACxC,CAAC,CAAE,IAAI,CAAC,IAAgC;wBACxC,CAAC,CAAC,EAAE,CAAC;oBACT,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,IAA6B,EAC7B,OAAqB;IAErB,MAAM,QAAQ,GAAG,+BAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IAC7E,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpD,+BAA+B,CAAC,IAAA,cAAO,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CACtD,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,eAAe,EAAE,IAAI,EAAE,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAa,WAAW;IAAxB;QACU,YAAO,GAAsB,EAAE,CAAC;IAa1C,CAAC;IAXC,QAAQ,CAAC,KAAwB;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAdD,kCAcC;AAED;;;;GAIG;AACH,SAAgB,4BAA4B,CAC1C,KAIoB,EACpB,OAAqD;IAMrD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU;SACX,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,iCAAiC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE;aAC1E,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"child-executor-guard.js","sourceRoot":"","sources":["../../../src/runtime/subagents/child-executor-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,15 +30,14 @@ export declare function toolsForRole(role: SubagentRole): readonly string[];
|
|
|
30
30
|
export declare function systemPromptForRole(role: SubagentRole): string;
|
|
31
31
|
/**
|
|
32
32
|
* Filter an upstream tool list to a role's allowlist, removing any forbidden
|
|
33
|
-
* tool and the recursive `subtask`
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* cannot invoke arbitrary MCP actions.
|
|
33
|
+
* tool, every dynamic first-class MCP tool, and the recursive `subtask`
|
|
34
|
+
* capability. `readOnlyHint` is not a path-containment capability, so it must
|
|
35
|
+
* not make an MCP tool child-visible.
|
|
37
36
|
*
|
|
38
37
|
* Returns the names the child may receive; the caller is responsible for
|
|
39
38
|
* resolving them to tool definitions.
|
|
40
39
|
*/
|
|
41
|
-
export declare function filterToolsForRole(availableToolNames: readonly string[], role: SubagentRole,
|
|
40
|
+
export declare function filterToolsForRole(availableToolNames: readonly string[], role: SubagentRole, _runtimeTools?: readonly OpenHorseTool[]): string[];
|
|
42
41
|
/** Assert a filtered tool list contains no forbidden tool. Used by the runner. */
|
|
43
42
|
export declare function assertNoForbiddenTools(toolNames: readonly string[]): void;
|
|
44
43
|
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/runtime/subagents/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,sEAAsE;AACtE,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/runtime/subagents/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,sEAAsE;AACtE,eAAO,MAAM,6BAA6B,oEAUhC,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,0KAgB3B,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,oCAAoC;IACpC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;CACtB;AAqBD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAwBzD,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAElE;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,IAAI,EAAE,YAAY,EAClB,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,GACvC,MAAM,EAAE,CAeV;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAMzE"}
|