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/tui/render.js
CHANGED
|
@@ -43,21 +43,22 @@ function capCompactMainWindowResult(component, layout, theme, enabled) {
|
|
|
43
43
|
return lines;
|
|
44
44
|
const visibleRows = maxLines === 1 ? 1 : maxLines - 1;
|
|
45
45
|
const hiddenCount = lines.length - visibleRows;
|
|
46
|
-
const hint = theme.fg("accent", `… ${hiddenCount} rows hidden · ${
|
|
46
|
+
const hint = theme.fg("accent", `… ${hiddenCount} rows hidden · ${expandKeyHint("to expand", "to view them")}`);
|
|
47
47
|
if (maxLines === 1)
|
|
48
48
|
return [truncLine(`${lines[0] ?? ""} ${hint}`, width)];
|
|
49
49
|
return [...lines.slice(0, visibleRows), truncLine(hint, width)];
|
|
50
50
|
};
|
|
51
51
|
return capped;
|
|
52
52
|
}
|
|
53
|
-
function
|
|
54
|
-
|
|
53
|
+
function expandKeyHint(action, unconfiguredAction = action) {
|
|
54
|
+
const shortcut = keyText("app.tools.expand");
|
|
55
|
+
return shortcut ? `Press ${shortcut} ${action}` : `Configure the expand key ${unconfiguredAction}`;
|
|
55
56
|
}
|
|
56
57
|
export function liveDetailHintText() {
|
|
57
|
-
return
|
|
58
|
+
return expandKeyHint("for live detail");
|
|
58
59
|
}
|
|
59
60
|
function workflowDetailHintText() {
|
|
60
|
-
return
|
|
61
|
+
return expandKeyHint("for details");
|
|
61
62
|
}
|
|
62
63
|
function foregroundSingleHintText(shortcut) {
|
|
63
64
|
if (!shortcut)
|
|
@@ -1976,8 +1977,12 @@ function widgetStats(job, theme, projection = buildWorkflowWidgetProjection(job)
|
|
|
1976
1977
|
parts.push(formatDuration(Math.max(0, end - job.startedAt)));
|
|
1977
1978
|
return statJoin(theme, parts);
|
|
1978
1979
|
}
|
|
1979
|
-
function widgetStepStats(theme, step) {
|
|
1980
|
+
function widgetStepStats(theme, step, snapshotNow = Date.now()) {
|
|
1981
|
+
const externalElapsed = step.runner?.type === "external-cli" && step.externalProcess
|
|
1982
|
+
? step.externalProcess.durationMs ?? Math.max(0, (step.externalProcess.endedAt ?? snapshotNow) - step.externalProcess.startedAt)
|
|
1983
|
+
: undefined;
|
|
1980
1984
|
return statJoin(theme, [
|
|
1985
|
+
step.runner?.type === "external-cli" ? "external-cli" : "",
|
|
1981
1986
|
step.turnCount !== undefined ? `${step.turnCount} turns` : "",
|
|
1982
1987
|
step.toolCount !== undefined ? formatToolUseStat(step.toolCount) : "",
|
|
1983
1988
|
step.tokens
|
|
@@ -1985,7 +1990,7 @@ function widgetStepStats(theme, step) {
|
|
|
1985
1990
|
? formatContextUsage(step.tokens, step.contextLimit) ?? formatTokenUsage(step.tokens, "token")
|
|
1986
1991
|
: step.tokens.total ? formatTokenUsage(step.tokens, "token") : ""
|
|
1987
1992
|
: "",
|
|
1988
|
-
step.durationMs !== undefined ? formatDuration(step.durationMs) : "",
|
|
1993
|
+
externalElapsed !== undefined ? formatDuration(externalElapsed) : step.durationMs !== undefined ? formatDuration(step.durationMs) : "",
|
|
1989
1994
|
]);
|
|
1990
1995
|
}
|
|
1991
1996
|
function modelThinkingBadge(theme, model, thinking) {
|
|
@@ -2191,7 +2196,7 @@ function foregroundStyleWidgetStepLines(job, theme, step, itemTitle, index, tota
|
|
|
2191
2196
|
const rowIndent = options?.rowIndent ?? " ";
|
|
2192
2197
|
const detailIndent = options?.detailIndent ?? " ";
|
|
2193
2198
|
const status = widgetStepStatus(step.status, theme);
|
|
2194
|
-
const stats = widgetStepStats(theme, step);
|
|
2199
|
+
const stats = widgetStepStats(theme, step, job.updatedAt);
|
|
2195
2200
|
const modelDisplay = modelThinkingBadge(theme, step.model, step.thinking);
|
|
2196
2201
|
const collapseDetails = shouldCollapseSingleChildDetails(job, step);
|
|
2197
2202
|
const displayName = collapseDetails ? singleChildAgentName(job, step) : childDisplayName(step);
|
|
@@ -2355,7 +2360,7 @@ function compactSingleWidgetLines(job, theme, width, frame, projection = buildWo
|
|
|
2355
2360
|
const step = row.step;
|
|
2356
2361
|
const status = widgetStepStatus(step.status, theme);
|
|
2357
2362
|
const activity = widgetStepActivityLine(step, width, false, job.updatedAt);
|
|
2358
|
-
const stepStats = widgetStepStats(theme, step);
|
|
2363
|
+
const stepStats = widgetStepStats(theme, step, job.updatedAt);
|
|
2359
2364
|
const activitySuffix = activity ? ` ${theme.fg("dim", "·")} ${theme.fg("dim", activity)}` : "";
|
|
2360
2365
|
const modelDisplay = modelThinkingBadge(theme, step.model, step.thinking);
|
|
2361
2366
|
const task = compactTaskText(step.description, step.label);
|
|
@@ -2588,7 +2593,7 @@ function fitWidgetLineBudget(lines, theme, width, expanded) {
|
|
|
2588
2593
|
const hiddenCount = lines.length - visibleLines;
|
|
2589
2594
|
const hint = expanded
|
|
2590
2595
|
? `… ${hiddenCount} live-detail lines hidden`
|
|
2591
|
-
: `… ${hiddenCount} lines hidden · ${
|
|
2596
|
+
: `… ${hiddenCount} lines hidden · ${expandKeyHint("to expand", "to view them")}`;
|
|
2592
2597
|
return [...lines.slice(0, visibleLines), truncLine(theme.fg("dim", hint), width)];
|
|
2593
2598
|
}
|
|
2594
2599
|
function fitAdaptiveWidgetLines(jobs, buildLines, theme, width, expanded, frame, projectionFor) {
|
|
@@ -3307,7 +3312,7 @@ export function renderSubagentResult(result, options, theme, frame, rendererConf
|
|
|
3307
3312
|
const c = new Container();
|
|
3308
3313
|
const detailIndent = mainWindowIndent(layout, 1);
|
|
3309
3314
|
c.addChild(new Text(truncLine(`${contextPrefix}${compactLine} · ${lines.length} lines`, width), 0, 0));
|
|
3310
|
-
c.addChild(new Text(truncLine(theme.fg("accent", `${detailIndent}
|
|
3315
|
+
c.addChild(new Text(truncLine(theme.fg("accent", `${detailIndent}${expandKeyHint("for full output")}`), width), 0, 0));
|
|
3311
3316
|
return compact(c);
|
|
3312
3317
|
}
|
|
3313
3318
|
const c = new Container();
|