@algosuite/vo-mcp 0.2.0-beta.70 → 0.2.0-beta.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-auth-probe-cli.mjs +31 -8
- package/dist/runner-cli.js +853 -471
- package/dist/runner-cli.js.map +3 -3
- package/dist/runner-supervisor.js +39 -7
- package/dist/runner-supervisor.js.map +1 -1
- package/package.json +1 -1
|
@@ -300,15 +300,21 @@ function normalizeClaudePermissionMode(value) {
|
|
|
300
300
|
}
|
|
301
301
|
return normalized;
|
|
302
302
|
}
|
|
303
|
-
function buildClaudeArgs({ permissionMode = DEFAULT_PERMISSION_MODE, maxTurns, model, effort, maxBudgetUsd, researchHarness = false, env = process.env } = {}) {
|
|
303
|
+
function buildClaudeArgs({ permissionMode = DEFAULT_PERMISSION_MODE, maxTurns, model, effort, maxBudgetUsd, researchHarness = false, toolPolicy = "default", env = process.env } = {}) {
|
|
304
304
|
const effectivePermissionMode = normalizeClaudePermissionMode(permissionMode);
|
|
305
|
-
|
|
305
|
+
if (!["default", "skill_readonly", "frozen_inputs_only"].includes(toolPolicy)) {
|
|
306
|
+
throw new Error(`unsupported Claude tool policy "${toolPolicy}"`);
|
|
307
|
+
}
|
|
308
|
+
const frozenInputsOnly = toolPolicy === "frozen_inputs_only";
|
|
309
|
+
const skillReadonly = toolPolicy === "skill_readonly";
|
|
310
|
+
const restrictedSkill = frozenInputsOnly || skillReadonly;
|
|
311
|
+
const noWeb = frozenInputsOnly || String(env?.VO_CODE_RUNNER_NO_WEB ?? "").trim() === "1";
|
|
306
312
|
const research = noWeb ? [] : VO_RESEARCH_TOOLS;
|
|
307
313
|
const noWorkflow = noWeb || String(env?.VO_CODE_RUNNER_NO_WORKFLOW ?? "").trim() === "1";
|
|
308
|
-
const workflow = researchHarness === true && !noWorkflow ? VO_WORKFLOW_TOOLS : [];
|
|
309
|
-
const noConsensus = String(env?.VO_CODE_RUNNER_NO_CONSENSUS ?? "").trim() === "1";
|
|
314
|
+
const workflow = !restrictedSkill && researchHarness === true && !noWorkflow ? VO_WORKFLOW_TOOLS : [];
|
|
315
|
+
const noConsensus = frozenInputsOnly || String(env?.VO_CODE_RUNNER_NO_CONSENSUS ?? "").trim() === "1";
|
|
310
316
|
const consensus = noConsensus ? [] : VO_CONSENSUS_TOOLS;
|
|
311
|
-
const baseTools = effectivePermissionMode === DEFAULT_PERMISSION_MODE ? [VO_SESSION_STATE_TOOL, VO_HEADLESS_PNPM_TOOL, VO_HEADLESS_PNPM_FROM_DIR_TOOL] : [VO_SESSION_STATE_TOOL];
|
|
317
|
+
const baseTools = restrictedSkill ? [] : effectivePermissionMode === DEFAULT_PERMISSION_MODE ? [VO_SESSION_STATE_TOOL, VO_HEADLESS_PNPM_TOOL, VO_HEADLESS_PNPM_FROM_DIR_TOOL] : [VO_SESSION_STATE_TOOL];
|
|
312
318
|
const allowedTools = [...baseTools, ...consensus, ...research, ...workflow].join(",");
|
|
313
319
|
const args = [
|
|
314
320
|
"-p",
|
|
@@ -320,6 +326,21 @@ function buildClaudeArgs({ permissionMode = DEFAULT_PERMISSION_MODE, maxTurns, m
|
|
|
320
326
|
"--allowedTools",
|
|
321
327
|
allowedTools
|
|
322
328
|
];
|
|
329
|
+
if (restrictedSkill) {
|
|
330
|
+
const builtInTools = skillReadonly ? research.join(",") : "";
|
|
331
|
+
args.push(
|
|
332
|
+
"--tools",
|
|
333
|
+
builtInTools,
|
|
334
|
+
"--disable-slash-commands",
|
|
335
|
+
"--no-chrome",
|
|
336
|
+
"--no-session-persistence",
|
|
337
|
+
"--permission-prompts",
|
|
338
|
+
"none"
|
|
339
|
+
);
|
|
340
|
+
}
|
|
341
|
+
if (frozenInputsOnly) {
|
|
342
|
+
args.push("--strict-mcp-config", "--safe-mode");
|
|
343
|
+
}
|
|
323
344
|
if (Number.isInteger(maxTurns) && maxTurns > 0) {
|
|
324
345
|
args.push("--max-turns", String(maxTurns));
|
|
325
346
|
}
|
|
@@ -332,7 +353,9 @@ function buildClaudeArgs({ permissionMode = DEFAULT_PERMISSION_MODE, maxTurns, m
|
|
|
332
353
|
if (typeof maxBudgetUsd === "number" && maxBudgetUsd > 0) {
|
|
333
354
|
args.push("--max-budget-usd", String(maxBudgetUsd));
|
|
334
355
|
}
|
|
335
|
-
|
|
356
|
+
if (!restrictedSkill) {
|
|
357
|
+
args.push(...context7McpArgs(env));
|
|
358
|
+
}
|
|
336
359
|
return args;
|
|
337
360
|
}
|
|
338
361
|
|
|
@@ -624,8 +647,8 @@ var ClaudeRunner = class {
|
|
|
624
647
|
get binary() {
|
|
625
648
|
return "claude";
|
|
626
649
|
}
|
|
627
|
-
buildArgs({ permissionMode, maxTurns, model, effort, maxBudgetUsd, researchHarness } = {}) {
|
|
628
|
-
return buildClaudeArgs({ permissionMode, maxTurns, model, effort, maxBudgetUsd, researchHarness });
|
|
650
|
+
buildArgs({ permissionMode, maxTurns, model, effort, maxBudgetUsd, researchHarness, toolPolicy } = {}) {
|
|
651
|
+
return buildClaudeArgs({ permissionMode, maxTurns, model, effort, maxBudgetUsd, researchHarness, toolPolicy });
|
|
629
652
|
}
|
|
630
653
|
parseEvent(line) {
|
|
631
654
|
return parseStreamEvent(line);
|