pi-subagents 0.70.0 → 0.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/README.md +4 -2
- package/agents/claude-code-writer.md +1 -0
- package/agents/codex-exec-writer.md +1 -0
- package/agents/cursor-agent-writer.md +1 -0
- package/agents/worker.md +3 -2
- package/docs/agents.md +7 -8
- package/docs/configuration.md +17 -1
- package/docs/extension-api.md +5 -1
- package/docs/models.md +1 -1
- package/docs/observability.md +17 -13
- package/docs/standalone-background.md +4 -4
- package/docs/tool-reference.md +9 -11
- package/docs/workflows.md +1 -1
- package/inspector-runner.mjs +1 -1
- package/package.json +2 -2
- package/skills/pi-subagents/SKILL.md +1 -0
- package/skills/pi-subagents/references/constraints-and-recipes.md +5 -2
- package/skills/pi-subagents/references/execution-controls.md +2 -2
- package/skills/pi-subagents/references/management-authoring-rpc.md +3 -3
- package/skills/pi-subagents/references/multi-lane-orchestration.md +8 -0
- package/skills/pi-subagents/references/prompting-and-roles.md +14 -13
- package/src/agents/agent-management.d.ts.map +1 -1
- package/src/agents/agent-management.js +11 -25
- package/src/agents/agent-management.js.map +1 -1
- package/src/agents/agent-serializer.d.ts.map +1 -1
- package/src/agents/agent-serializer.js +0 -4
- package/src/agents/agent-serializer.js.map +1 -1
- package/src/agents/agents.d.ts +17 -4
- package/src/agents/agents.d.ts.map +1 -1
- package/src/agents/agents.js +39 -22
- package/src/agents/agents.js.map +1 -1
- package/src/agents/proactive-skills.d.ts +1 -0
- package/src/agents/proactive-skills.d.ts.map +1 -1
- package/src/agents/proactive-skills.js +3 -1
- package/src/agents/proactive-skills.js.map +1 -1
- package/src/agents/runtime-agent-registry.d.ts +8 -3
- package/src/agents/runtime-agent-registry.d.ts.map +1 -1
- package/src/agents/runtime-agent-registry.js +14 -9
- package/src/agents/runtime-agent-registry.js.map +1 -1
- package/src/agents/skills.d.ts +2 -0
- package/src/agents/skills.d.ts.map +1 -1
- package/src/agents/skills.js +41 -8
- package/src/agents/skills.js.map +1 -1
- package/src/api/delegation.d.ts +14 -0
- package/src/api/delegation.d.ts.map +1 -1
- package/src/extension/index.d.ts.map +1 -1
- package/src/extension/index.js +5 -1
- package/src/extension/index.js.map +1 -1
- package/src/extension/rpc.d.ts +1 -1
- package/src/extension/rpc.d.ts.map +1 -1
- package/src/extension/rpc.js +11 -1
- package/src/extension/rpc.js.map +1 -1
- package/src/extension/tool-activation.d.ts +9 -0
- package/src/extension/tool-activation.d.ts.map +1 -0
- package/src/extension/tool-activation.js +172 -0
- package/src/extension/tool-activation.js.map +1 -0
- package/src/extension/tool-description.d.ts +4 -4
- package/src/extension/tool-description.d.ts.map +1 -1
- package/src/extension/tool-description.js +1 -1
- package/src/intercom/intercom-bridge.d.ts.map +1 -1
- package/src/intercom/intercom-bridge.js +2 -0
- package/src/intercom/intercom-bridge.js.map +1 -1
- package/src/runs/background/active-async-capacity.d.ts.map +1 -1
- package/src/runs/background/active-async-capacity.js +4 -33
- package/src/runs/background/active-async-capacity.js.map +1 -1
- package/src/runs/background/async-execution.d.ts.map +1 -1
- package/src/runs/background/async-execution.js +5 -67
- package/src/runs/background/async-execution.js.map +1 -1
- package/src/runs/background/async-job-tracker.d.ts.map +1 -1
- package/src/runs/background/async-job-tracker.js +25 -19
- package/src/runs/background/async-job-tracker.js.map +1 -1
- package/src/runs/background/async-resume.d.ts +1 -1
- package/src/runs/background/async-resume.d.ts.map +1 -1
- package/src/runs/background/async-resume.js +8 -6
- package/src/runs/background/async-resume.js.map +1 -1
- package/src/runs/background/async-status.d.ts +1 -0
- package/src/runs/background/async-status.d.ts.map +1 -1
- package/src/runs/background/async-status.js +1 -0
- package/src/runs/background/async-status.js.map +1 -1
- package/src/runs/background/binary-bootstrap.d.ts.map +1 -1
- package/src/runs/background/binary-bootstrap.js +28 -6
- package/src/runs/background/binary-bootstrap.js.map +1 -1
- package/src/runs/background/fleet-view.d.ts.map +1 -1
- package/src/runs/background/fleet-view.js +26 -7
- package/src/runs/background/fleet-view.js.map +1 -1
- package/src/runs/background/notify.d.ts +11 -0
- package/src/runs/background/notify.d.ts.map +1 -1
- package/src/runs/background/notify.js +71 -3
- package/src/runs/background/notify.js.map +1 -1
- package/src/runs/background/process-terminal-candidate.d.ts +18 -0
- package/src/runs/background/process-terminal-candidate.d.ts.map +1 -0
- package/src/runs/background/process-terminal-candidate.js +97 -0
- package/src/runs/background/process-terminal-candidate.js.map +1 -0
- package/src/runs/background/process-terminal.d.ts +3 -15
- package/src/runs/background/process-terminal.d.ts.map +1 -1
- package/src/runs/background/process-terminal.js +19 -96
- package/src/runs/background/process-terminal.js.map +1 -1
- package/src/runs/background/retained-children.d.ts.map +1 -1
- package/src/runs/background/retained-children.js +3 -2
- package/src/runs/background/retained-children.js.map +1 -1
- package/src/runs/background/run-child-session.d.ts +1 -0
- package/src/runs/background/run-child-session.d.ts.map +1 -1
- package/src/runs/background/run-child-session.js.map +1 -1
- package/src/runs/background/run-status.d.ts.map +1 -1
- package/src/runs/background/run-status.js +11 -5
- package/src/runs/background/run-status.js.map +1 -1
- package/src/runs/background/runner-aliases.d.ts.map +1 -1
- package/src/runs/background/runner-aliases.js +28 -16
- package/src/runs/background/runner-aliases.js.map +1 -1
- package/src/runs/background/runner-startup-failure.d.ts +14 -0
- package/src/runs/background/runner-startup-failure.d.ts.map +1 -0
- package/src/runs/background/runner-startup-failure.js +47 -0
- package/src/runs/background/runner-startup-failure.js.map +1 -0
- package/src/runs/background/stale-run-reconciler.d.ts.map +1 -1
- package/src/runs/background/stale-run-reconciler.js +9 -1
- package/src/runs/background/stale-run-reconciler.js.map +1 -1
- package/src/runs/background/subagent-runner-bootstrap.d.ts +14 -0
- package/src/runs/background/subagent-runner-bootstrap.d.ts.map +1 -0
- package/src/runs/background/subagent-runner-bootstrap.js +277 -0
- package/src/runs/background/subagent-runner-bootstrap.js.map +1 -0
- package/src/runs/background/subagent-runner.d.ts +5 -7
- package/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/src/runs/background/subagent-runner.js +67 -274
- package/src/runs/background/subagent-runner.js.map +1 -1
- package/src/runs/background/workflow-terminal-proof.d.ts +18 -0
- package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -0
- package/src/runs/background/workflow-terminal-proof.js +68 -0
- package/src/runs/background/workflow-terminal-proof.js.map +1 -0
- package/src/runs/foreground/execution.d.ts.map +1 -1
- package/src/runs/foreground/execution.js +43 -111
- package/src/runs/foreground/execution.js.map +1 -1
- package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/src/runs/foreground/subagent-executor.js +108 -17
- package/src/runs/foreground/subagent-executor.js.map +1 -1
- package/src/runs/shared/acceptance.d.ts.map +1 -1
- package/src/runs/shared/acceptance.js +7 -40
- package/src/runs/shared/acceptance.js.map +1 -1
- package/src/runs/shared/child-hooks.d.ts +1 -3
- package/src/runs/shared/child-hooks.d.ts.map +1 -1
- package/src/runs/shared/child-hooks.js +1 -16
- package/src/runs/shared/child-hooks.js.map +1 -1
- package/src/runs/shared/child-launch.d.ts +0 -2
- package/src/runs/shared/child-launch.d.ts.map +1 -1
- package/src/runs/shared/child-launch.js +4 -2
- package/src/runs/shared/child-launch.js.map +1 -1
- package/src/runs/shared/child-runtime-config.d.ts +4 -0
- package/src/runs/shared/child-runtime-config.d.ts.map +1 -1
- package/src/runs/shared/child-runtime-config.js.map +1 -1
- package/src/runs/shared/child-session.d.ts +8 -9
- package/src/runs/shared/child-session.d.ts.map +1 -1
- package/src/runs/shared/child-session.js +67 -2
- package/src/runs/shared/child-session.js.map +1 -1
- package/src/runs/shared/dynamic-fanout.js +1 -1
- package/src/runs/shared/dynamic-fanout.js.map +1 -1
- package/src/runs/shared/external-cli-runner.d.ts.map +1 -1
- package/src/runs/shared/external-cli-runner.js +3 -1
- package/src/runs/shared/external-cli-runner.js.map +1 -1
- package/src/runs/shared/git-environment.d.ts +3 -0
- package/src/runs/shared/git-environment.d.ts.map +1 -0
- package/src/runs/shared/git-environment.js +28 -0
- package/src/runs/shared/git-environment.js.map +1 -0
- package/src/runs/shared/mcp-config-sources.d.ts +3 -0
- package/src/runs/shared/mcp-config-sources.d.ts.map +1 -1
- package/src/runs/shared/mcp-config-sources.js.map +1 -1
- package/src/runs/shared/mcp-direct-tool-allowlist.js +1 -1
- package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
- package/src/runs/shared/mcp-direct-tool-grant.d.ts +3 -1
- package/src/runs/shared/mcp-direct-tool-grant.d.ts.map +1 -1
- package/src/runs/shared/mcp-direct-tool-grant.js +19 -5
- package/src/runs/shared/mcp-direct-tool-grant.js.map +1 -1
- package/src/runs/shared/parallel-utils.d.ts +0 -1
- package/src/runs/shared/parallel-utils.d.ts.map +1 -1
- package/src/runs/shared/parallel-utils.js.map +1 -1
- package/src/runs/shared/pi-spawn.d.ts +10 -1
- package/src/runs/shared/pi-spawn.d.ts.map +1 -1
- package/src/runs/shared/pi-spawn.js +86 -7
- package/src/runs/shared/pi-spawn.js.map +1 -1
- package/src/runs/shared/single-output.d.ts.map +1 -1
- package/src/runs/shared/single-output.js +10 -2
- package/src/runs/shared/single-output.js.map +1 -1
- package/src/runs/shared/structured-output.d.ts +7 -0
- package/src/runs/shared/structured-output.d.ts.map +1 -1
- package/src/runs/shared/structured-output.js +74 -0
- package/src/runs/shared/structured-output.js.map +1 -1
- package/src/runs/shared/subagent-control.d.ts.map +1 -1
- package/src/runs/shared/subagent-control.js +6 -19
- package/src/runs/shared/subagent-control.js.map +1 -1
- package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
- package/src/runs/shared/subagent-prompt-runtime.js +23 -7
- package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
- package/src/runs/shared/tool-availability.js +1 -1
- package/src/runs/shared/tool-availability.js.map +1 -1
- package/src/shared/child-session-name.d.ts.map +1 -1
- package/src/shared/child-session-name.js +4 -2
- package/src/shared/child-session-name.js.map +1 -1
- package/src/shared/fork-context.d.ts +4 -0
- package/src/shared/fork-context.d.ts.map +1 -1
- package/src/shared/fork-context.js +9 -4
- package/src/shared/fork-context.js.map +1 -1
- package/src/shared/launch-contract.d.ts.map +1 -1
- package/src/shared/launch-contract.js +0 -1
- package/src/shared/launch-contract.js.map +1 -1
- package/src/shared/pruned-fork.d.ts +1 -1
- package/src/shared/pruned-fork.d.ts.map +1 -1
- package/src/shared/pruned-fork.js +70 -65
- package/src/shared/pruned-fork.js.map +1 -1
- package/src/shared/types.d.ts +32 -13
- package/src/shared/types.d.ts.map +1 -1
- package/src/shared/types.js +2 -0
- package/src/shared/types.js.map +1 -1
- package/src/slash/delegation-adapters.d.ts +7 -1
- package/src/slash/delegation-adapters.d.ts.map +1 -1
- package/src/slash/delegation-adapters.js +17 -0
- package/src/slash/delegation-adapters.js.map +1 -1
- package/src/slash/prompt-template-bridge.d.ts.map +1 -1
- package/src/slash/prompt-template-bridge.js +14 -1
- package/src/slash/prompt-template-bridge.js.map +1 -1
- package/src/slash/prompt-workflows.d.ts.map +1 -1
- package/src/slash/prompt-workflows.js +16 -2
- package/src/slash/prompt-workflows.js.map +1 -1
- package/src/slash/slash-commands.d.ts.map +1 -1
- package/src/slash/slash-commands.js +5 -251
- package/src/slash/slash-commands.js.map +1 -1
- package/src/slash/subagent-cost.d.ts +29 -0
- package/src/slash/subagent-cost.d.ts.map +1 -0
- package/src/slash/subagent-cost.js +271 -0
- package/src/slash/subagent-cost.js.map +1 -0
- package/src/slash/subagents-admin.d.ts.map +1 -1
- package/src/slash/subagents-admin.js +4 -5
- package/src/slash/subagents-admin.js.map +1 -1
- package/src/tui/fleet.d.ts.map +1 -1
- package/src/tui/fleet.js +4 -0
- package/src/tui/fleet.js.map +1 -1
- package/src/tui/render.d.ts.map +1 -1
- package/src/tui/render.js +16 -11
- package/src/tui/render.js.map +1 -1
- package/src/watchdog/diff-tool.d.ts +2 -1
- package/src/watchdog/diff-tool.d.ts.map +1 -1
- package/src/watchdog/diff-tool.js +9 -3
- package/src/watchdog/diff-tool.js.map +1 -1
- package/src/watchdog/permission-arbiter.d.ts.map +1 -1
- package/src/watchdog/permission-arbiter.js +12 -8
- package/src/watchdog/permission-arbiter.js.map +1 -1
- package/src/watchdog/register-child.d.ts +3 -1
- package/src/watchdog/register-child.d.ts.map +1 -1
- package/src/watchdog/register-child.js +12 -3
- package/src/watchdog/register-child.js.map +1 -1
- package/src/watchdog/review.d.ts +1 -0
- package/src/watchdog/review.d.ts.map +1 -1
- package/src/watchdog/review.js +12 -6
- package/src/watchdog/review.js.map +1 -1
- package/src/watchdog/runtime.d.ts +1 -1
- package/src/watchdog/runtime.d.ts.map +1 -1
- package/src/watchdog/runtime.js +2 -1
- package/src/watchdog/runtime.js.map +1 -1
- package/src/watchdog/turn-delta.d.ts +5 -1
- package/src/watchdog/turn-delta.d.ts.map +1 -1
- package/src/watchdog/turn-delta.js +9 -5
- package/src/watchdog/turn-delta.js.map +1 -1
- package/src/workflows/scripted-workflow.d.ts.map +1 -1
- package/src/workflows/scripted-workflow.js +1 -3
- package/src/workflows/scripted-workflow.js.map +1 -1
- package/src/runs/shared/completion-evidence.d.ts +0 -31
- package/src/runs/shared/completion-evidence.d.ts.map +0 -1
- package/src/runs/shared/completion-evidence.js +0 -54
- package/src/runs/shared/completion-evidence.js.map +0 -1
- package/src/runs/shared/completion-guard.d.ts +0 -35
- package/src/runs/shared/completion-guard.d.ts.map +0 -1
- package/src/runs/shared/completion-guard.js +0 -214
- package/src/runs/shared/completion-guard.js.map +0 -1
- package/src/runs/shared/llm-intent-arbiter.d.ts +0 -48
- package/src/runs/shared/llm-intent-arbiter.d.ts.map +0 -1
- package/src/runs/shared/llm-intent-arbiter.js +0 -235
- package/src/runs/shared/llm-intent-arbiter.js.map +0 -1
- package/src/runs/shared/task-intent.d.ts +0 -38
- package/src/runs/shared/task-intent.d.ts.map +0 -1
- package/src/runs/shared/task-intent.js +0 -213
- package/src/runs/shared/task-intent.js.map +0 -1
package/src/agents/agents.js
CHANGED
|
@@ -510,7 +510,6 @@ function cloneOverrideBase(agent) {
|
|
|
510
510
|
...(!agent.extensionsFromDefault && agent.extensions ? { extensions: [...agent.extensions] } : {}),
|
|
511
511
|
...(agent.subagentOnlyExtensions ? { subagentOnlyExtensions: [...agent.subagentOnlyExtensions] } : {}),
|
|
512
512
|
...(agent.mutationTools ? { mutationTools: [...agent.mutationTools] } : {}),
|
|
513
|
-
...(agent.completionGuard !== undefined ? { completionGuard: agent.completionGuard } : {}),
|
|
514
513
|
...(agent.toolBudget !== undefined ? { toolBudget: agent.toolBudget } : {}),
|
|
515
514
|
};
|
|
516
515
|
}
|
|
@@ -541,7 +540,6 @@ function cloneOverrideValue(override) {
|
|
|
541
540
|
...(override.extensions !== undefined ? { extensions: override.extensions === false ? false : [...override.extensions] } : {}),
|
|
542
541
|
...(override.subagentOnlyExtensions !== undefined ? { subagentOnlyExtensions: override.subagentOnlyExtensions === false ? false : [...override.subagentOnlyExtensions] } : {}),
|
|
543
542
|
...(override.mutationTools !== undefined ? { mutationTools: override.mutationTools === false ? false : [...override.mutationTools] } : {}),
|
|
544
|
-
...(override.completionGuard !== undefined ? { completionGuard: override.completionGuard } : {}),
|
|
545
543
|
...(override.toolBudget !== undefined ? { toolBudget: override.toolBudget === false ? false : { ...override.toolBudget, ...(Array.isArray(override.toolBudget.block) ? { block: [...override.toolBudget.block] } : {}) } } : {}),
|
|
546
544
|
};
|
|
547
545
|
}
|
|
@@ -804,14 +802,6 @@ function parseBuiltinOverrideEntry(name, value, filePath) {
|
|
|
804
802
|
throw new Error(`Builtin override '${name}' in '${filePath}' has invalid 'disabled'; expected a boolean.`);
|
|
805
803
|
}
|
|
806
804
|
}
|
|
807
|
-
if ("completionGuard" in input) {
|
|
808
|
-
if (typeof input.completionGuard === "boolean") {
|
|
809
|
-
override.completionGuard = input.completionGuard;
|
|
810
|
-
}
|
|
811
|
-
else {
|
|
812
|
-
throw new Error(`Builtin override '${name}' in '${filePath}' has invalid 'completionGuard'; expected a boolean.`);
|
|
813
|
-
}
|
|
814
|
-
}
|
|
815
805
|
if ("toolBudget" in input) {
|
|
816
806
|
if (input.toolBudget === false) {
|
|
817
807
|
override.toolBudget = false;
|
|
@@ -1263,8 +1253,6 @@ function applyBuiltinOverride(agent, override, meta) {
|
|
|
1263
1253
|
else
|
|
1264
1254
|
next.mutationTools = [...override.mutationTools];
|
|
1265
1255
|
}
|
|
1266
|
-
if (override.completionGuard !== undefined)
|
|
1267
|
-
next.completionGuard = override.completionGuard;
|
|
1268
1256
|
if (override.toolBudget !== undefined) {
|
|
1269
1257
|
if (override.toolBudget === false)
|
|
1270
1258
|
delete next.toolBudget;
|
|
@@ -1331,6 +1319,43 @@ function applyCustomAgentOverrides(agents, userSettings, projectSettings, userSe
|
|
|
1331
1319
|
return withUserOverride;
|
|
1332
1320
|
});
|
|
1333
1321
|
}
|
|
1322
|
+
function runtimeAgentOverrides(settings) {
|
|
1323
|
+
const overrides = {};
|
|
1324
|
+
for (const [name, override] of Object.entries(settings.overrides)) {
|
|
1325
|
+
const narrowed = {};
|
|
1326
|
+
if (override.model !== undefined)
|
|
1327
|
+
narrowed.model = override.model;
|
|
1328
|
+
if (override.defaultProvider !== undefined)
|
|
1329
|
+
narrowed.defaultProvider = override.defaultProvider;
|
|
1330
|
+
if (override.fast !== undefined)
|
|
1331
|
+
narrowed.fast = override.fast;
|
|
1332
|
+
if (override.thinking !== undefined)
|
|
1333
|
+
narrowed.thinking = override.thinking;
|
|
1334
|
+
if (Object.keys(narrowed).length > 0)
|
|
1335
|
+
overrides[name] = narrowed;
|
|
1336
|
+
}
|
|
1337
|
+
return { ...settings, overrides };
|
|
1338
|
+
}
|
|
1339
|
+
/**
|
|
1340
|
+
* Runtime-registered agents keep their extension-owned definition (prompt,
|
|
1341
|
+
* tools, context, budgets, and every other launch field) but follow the same
|
|
1342
|
+
* model-tier settings as every other agent: `subagents.defaultModel`,
|
|
1343
|
+
* `defaultProvider`, `defaultThinking`, and the `model`, `defaultProvider`,
|
|
1344
|
+
* `fast`, and `thinking` fields of `agentOverrides.<name>`, user then project,
|
|
1345
|
+
* provider-scoped overrides included. Other override fields are ignored for
|
|
1346
|
+
* runtime agents. A definition `model` still wins over `defaultModel`.
|
|
1347
|
+
*/
|
|
1348
|
+
export function applyRuntimeAgentSettings(agents, context) {
|
|
1349
|
+
if (agents.length === 0)
|
|
1350
|
+
return agents;
|
|
1351
|
+
const sources = getAgentDiscoverySources(context.cwd, context.preferredModelProvider);
|
|
1352
|
+
const { user, project } = settingsForScope(sources, context.scope);
|
|
1353
|
+
const defaultProvider = resolveSubagentDefaultProvider(user, project, sources.projectSettingsPath);
|
|
1354
|
+
const defaultModel = resolveSubagentDefaultModel(user, project, sources.userSettingsPath, sources.projectSettingsPath, defaultProvider);
|
|
1355
|
+
const defaultThinking = resolveSubagentDefaultThinking(user, project, sources.projectSettingsPath);
|
|
1356
|
+
const withDefaults = applySubagentDefaultThinking(applySubagentDefaultModel(agents, defaultModel, defaultProvider), defaultThinking);
|
|
1357
|
+
return applyCustomAgentOverrides(withDefaults, runtimeAgentOverrides(user), runtimeAgentOverrides(project), sources.userSettingsPath, sources.projectSettingsPath);
|
|
1358
|
+
}
|
|
1334
1359
|
export function buildBuiltinOverrideConfig(base, draft) {
|
|
1335
1360
|
const override = {};
|
|
1336
1361
|
if (draft.machine !== base.machine)
|
|
@@ -1387,9 +1412,6 @@ export function buildBuiltinOverrideConfig(base, draft) {
|
|
|
1387
1412
|
}
|
|
1388
1413
|
if (!arraysEqual(draft.mutationTools, base.mutationTools))
|
|
1389
1414
|
override.mutationTools = draft.mutationTools ? [...draft.mutationTools] : false;
|
|
1390
|
-
if ((draft.completionGuard !== false) !== (base.completionGuard !== false)) {
|
|
1391
|
-
override.completionGuard = draft.completionGuard !== false;
|
|
1392
|
-
}
|
|
1393
1415
|
if (JSON.stringify(draft.toolBudget) !== JSON.stringify(base.toolBudget))
|
|
1394
1416
|
override.toolBudget = draft.toolBudget ?? false;
|
|
1395
1417
|
return Object.keys(override).length > 0 ? override : undefined;
|
|
@@ -1741,7 +1763,7 @@ function parseAgentRunnerFrontmatter(raw, agentName) {
|
|
|
1741
1763
|
function validateExternalRunnerProfile(frontmatter, agentName, runner) {
|
|
1742
1764
|
if (runner?.type !== "external-cli" && runner?.type !== "external-job")
|
|
1743
1765
|
return;
|
|
1744
|
-
const unsupported = ["tools", "excludeTools", "allowNestedSubagents", "allowedAgents", "model", "thinking", "extensions", "subagentOnlyExtensions", "mutationTools", "maxSubagentDepth", "
|
|
1766
|
+
const unsupported = ["tools", "excludeTools", "allowNestedSubagents", "allowedAgents", "model", "thinking", "extensions", "subagentOnlyExtensions", "mutationTools", "maxSubagentDepth", "skills", "skill", "skillPath", "toolBudget", "permission", "permissions"]
|
|
1745
1767
|
.filter((field) => frontmatter[field] !== undefined);
|
|
1746
1768
|
if (unsupported.length > 0) {
|
|
1747
1769
|
throw new Error(`Agent '${agentName}' uses runner.type='${runner.type}' and declares unsupported Pi-only fields: ${unsupported.join(", ")}.`);
|
|
@@ -1946,11 +1968,6 @@ function loadAgentsFromDefinitionFiles(files, source, discoveryPriority, package
|
|
|
1946
1968
|
assertJsonSchemaObject(parsed, `Agent '${localName}' outputSchema`);
|
|
1947
1969
|
outputSchema = parsed;
|
|
1948
1970
|
}
|
|
1949
|
-
const completionGuard = frontmatter.completionGuard === "false"
|
|
1950
|
-
? false
|
|
1951
|
-
: frontmatter.completionGuard === "true"
|
|
1952
|
-
? true
|
|
1953
|
-
: undefined;
|
|
1954
1971
|
const maxSubagentDepth = Number.isInteger(parsedMaxSubagentDepth) && parsedMaxSubagentDepth >= 0
|
|
1955
1972
|
? parsedMaxSubagentDepth
|
|
1956
1973
|
: undefined;
|
|
@@ -2002,7 +2019,6 @@ function loadAgentsFromDefinitionFiles(files, source, discoveryPriority, package
|
|
|
2002
2019
|
defaultProgress: frontmatter.defaultProgress === "true",
|
|
2003
2020
|
interactive: frontmatter.interactive === "true",
|
|
2004
2021
|
...(maxSubagentDepth !== undefined ? { maxSubagentDepth } : {}),
|
|
2005
|
-
...(completionGuard !== undefined ? { completionGuard } : {}),
|
|
2006
2022
|
...(toolBudget !== undefined ? { toolBudget } : {}),
|
|
2007
2023
|
...(permissions !== undefined ? { permissions } : {}),
|
|
2008
2024
|
...(memory !== undefined ? { memory } : {}),
|
|
@@ -2540,6 +2556,7 @@ function buildAllDiscovery(sources, includeChains, settingsScope) {
|
|
|
2540
2556
|
],
|
|
2541
2557
|
chains,
|
|
2542
2558
|
chainDiagnostics: [...packageChainDiagnostics, ...(sources.userChains?.diagnostics ?? []), ...projectChainDiagnostics],
|
|
2559
|
+
cwd: sources.cwd,
|
|
2543
2560
|
userDir: sources.userDir,
|
|
2544
2561
|
projectDir: sources.projectAgentsDir,
|
|
2545
2562
|
userChainDir: sources.userChainDir,
|