@prestyj/cli 5.11.0 → 5.12.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/assets/skills/compliance-guard/SKILL.md +251 -0
- package/assets/skills/compliance-guard/references/artifacts.md +186 -0
- package/assets/skills/compliance-guard/references/eu-uk.md +151 -0
- package/assets/skills/compliance-guard/references/exposure-triage.md +161 -0
- package/assets/skills/compliance-guard/references/lawsuit-vectors.md +141 -0
- package/assets/skills/compliance-guard/references/provenance.md +42 -0
- package/assets/skills/compliance-guard/references/sector-gates.md +173 -0
- package/assets/skills/compliance-guard/references/security-baseline.md +130 -0
- package/assets/skills/compliance-guard/references/trigger-map.md +163 -0
- package/assets/skills/compliance-guard/references/us.md +164 -0
- package/dist/app-sidecar-auth-broadcast.test.js +69 -3
- package/dist/app-sidecar-auth-broadcast.test.js.map +1 -1
- package/dist/app-sidecar-sessions.test.js +1 -1
- package/dist/app-sidecar.js +119 -45
- package/dist/app-sidecar.js.map +1 -1
- package/dist/chat-agents/jiwa.test.js +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +33 -36
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +16 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +35 -76
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +20 -12
- package/dist/config.test.js.map +1 -1
- package/dist/core/agent-session-checkpoint-flush.test.js +2 -2
- package/dist/core/agent-session-crash-durability.test.js +3 -3
- package/dist/core/agent-session-model-switch.test.js +1 -1
- package/dist/core/agent-session-process-gate.test.js +7 -1
- package/dist/core/agent-session-process-gate.test.js.map +1 -1
- package/dist/core/agent-session-review-coverage.test.js +1 -1
- package/dist/core/agent-session-tool-tiers.test.d.ts +2 -0
- package/dist/core/agent-session-tool-tiers.test.d.ts.map +1 -0
- package/dist/core/agent-session-tool-tiers.test.js +138 -0
- package/dist/core/agent-session-tool-tiers.test.js.map +1 -0
- package/dist/core/agent-session.d.ts +43 -3
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +142 -31
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents.d.ts +29 -1
- package/dist/core/agents.d.ts.map +1 -1
- package/dist/core/agents.js +47 -97
- package/dist/core/agents.js.map +1 -1
- package/dist/core/agents.test.js +87 -7
- package/dist/core/agents.test.js.map +1 -1
- package/dist/core/api-benchmark.d.ts +3 -3
- package/dist/core/api-benchmark.js +7 -7
- package/dist/core/auth-providers.d.ts +37 -1
- package/dist/core/auth-providers.d.ts.map +1 -1
- package/dist/core/auth-providers.js +83 -3
- package/dist/core/auth-providers.js.map +1 -1
- package/dist/core/auto-update.test.js +1 -1
- package/dist/core/autopilot-gate.d.ts +2 -2
- package/dist/core/autopilot-gate.js +1 -1
- package/dist/core/bash-spawn-benchmark.js +6 -6
- package/dist/core/bundled-agents.d.ts +3 -0
- package/dist/core/bundled-agents.d.ts.map +1 -0
- package/dist/core/bundled-agents.js +252 -0
- package/dist/core/bundled-agents.js.map +1 -0
- package/dist/core/cache-warm-benchmark.d.ts +2 -2
- package/dist/core/cache-warm-benchmark.js +5 -5
- package/dist/core/code-retrieval-chunkers.d.ts +27 -0
- package/dist/core/code-retrieval-chunkers.d.ts.map +1 -0
- package/dist/core/code-retrieval-chunkers.js +264 -0
- package/dist/core/code-retrieval-chunkers.js.map +1 -0
- package/dist/core/code-retrieval-chunkers.test.d.ts +2 -0
- package/dist/core/code-retrieval-chunkers.test.d.ts.map +1 -0
- package/dist/core/code-retrieval-chunkers.test.js +203 -0
- package/dist/core/code-retrieval-chunkers.test.js.map +1 -0
- package/dist/core/code-retrieval.d.ts +6 -0
- package/dist/core/code-retrieval.d.ts.map +1 -1
- package/dist/core/code-retrieval.js +38 -1
- package/dist/core/code-retrieval.js.map +1 -1
- package/dist/core/encode-cwd.test.js +1 -1
- package/dist/core/extensions/plugin-bundles.js +2 -2
- package/dist/core/extensions/plugin-bundles.js.map +1 -1
- package/dist/core/extensions/plugin-bundles.test.js +2 -2
- package/dist/core/extensions/plugin-bundles.test.js.map +1 -1
- package/dist/core/fast-apply-benchmark.d.ts +2 -2
- package/dist/core/fast-apply-benchmark.js +6 -6
- package/dist/core/foreign-session-import.test.js +1 -1
- package/dist/core/goal-lifecycle-smoke.test.js +2 -2
- package/dist/core/goal-store.js +1 -1
- package/dist/core/goal-store.test.js +2 -2
- package/dist/core/goal-verifier.test.js +2 -2
- package/dist/core/goal-worker-dev-server-lifecycle.test.js +1 -1
- package/dist/core/goal-worker.test.js +2 -2
- package/dist/core/hashline-edit-benchmark.d.ts +2 -2
- package/dist/core/hashline-edit-benchmark.js +7 -7
- package/dist/core/local-endpoint-store.test.js +1 -1
- package/dist/core/logger.d.ts +1 -1
- package/dist/core/logger.js +2 -2
- package/dist/core/logger.js.map +1 -1
- package/dist/core/lsp/client-navigation.test.d.ts +2 -0
- package/dist/core/lsp/client-navigation.test.d.ts.map +1 -0
- package/dist/core/lsp/client-navigation.test.js +135 -0
- package/dist/core/lsp/client-navigation.test.js.map +1 -0
- package/dist/core/lsp/client.d.ts +69 -0
- package/dist/core/lsp/client.d.ts.map +1 -1
- package/dist/core/lsp/client.js +151 -2
- package/dist/core/lsp/client.js.map +1 -1
- package/dist/core/lsp/integration.test.js +2 -2
- package/dist/core/lsp/manager-navigation.test.d.ts +2 -0
- package/dist/core/lsp/manager-navigation.test.d.ts.map +1 -0
- package/dist/core/lsp/manager-navigation.test.js +121 -0
- package/dist/core/lsp/manager-navigation.test.js.map +1 -0
- package/dist/core/lsp/manager.d.ts +35 -1
- package/dist/core/lsp/manager.d.ts.map +1 -1
- package/dist/core/lsp/manager.js +92 -0
- package/dist/core/lsp/manager.js.map +1 -1
- package/dist/core/lsp/servers.test.js +1 -1
- package/dist/core/lsp/windows.test.js +4 -4
- package/dist/core/mcp/catalog-cache.test.js +1 -1
- package/dist/core/mcp/client-session-recovery.test.js +1 -1
- package/dist/core/mcp/client.d.ts.map +1 -1
- package/dist/core/mcp/client.js +2 -10
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/content.d.ts +19 -0
- package/dist/core/mcp/content.d.ts.map +1 -0
- package/dist/core/mcp/content.js +172 -0
- package/dist/core/mcp/content.js.map +1 -0
- package/dist/core/mcp/content.test.d.ts +2 -0
- package/dist/core/mcp/content.test.d.ts.map +1 -0
- package/dist/core/mcp/content.test.js +135 -0
- package/dist/core/mcp/content.test.js.map +1 -0
- package/dist/core/mcp/deferred-catalog.d.ts +1 -1
- package/dist/core/mcp/deferred-catalog.js +1 -1
- package/dist/core/mcp/elicitation.test.js +1 -1
- package/dist/core/mcp/legacy-negotiation.test.js +2 -2
- package/dist/core/mcp/oauth-store.test.js +2 -2
- package/dist/core/mcp/resolve-stdio.test.js +5 -5
- package/dist/core/mcp/shared-pool.test.js +5 -5
- package/dist/core/mcp/store.test.js +5 -5
- package/dist/core/mcp/when-connected.test.js +2 -2
- package/dist/core/nolan-model.test.js +1 -1
- package/dist/core/nolan-prompt.js +5 -5
- package/dist/core/oauth/xai.d.ts +2 -0
- package/dist/core/oauth/xai.d.ts.map +1 -0
- package/dist/core/oauth/xai.js +4 -0
- package/dist/core/oauth/xai.js.map +1 -0
- package/dist/core/persistent-shell.js +1 -1
- package/dist/core/persistent-shell.test.js +6 -6
- package/dist/core/process-manager-dev-server-repro.test.js +51 -12
- package/dist/core/process-manager-dev-server-repro.test.js.map +1 -1
- package/dist/core/process-manager-notifications.test.js +24 -14
- package/dist/core/process-manager-notifications.test.js.map +1 -1
- package/dist/core/process-manager.d.ts +22 -0
- package/dist/core/process-manager.d.ts.map +1 -1
- package/dist/core/process-manager.js +58 -2
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/progress/git-xp.test.js +2 -2
- package/dist/core/progress/ranks.d.ts +14 -3
- package/dist/core/progress/ranks.d.ts.map +1 -1
- package/dist/core/progress/ranks.js +181 -12
- package/dist/core/progress/ranks.js.map +1 -1
- package/dist/core/progress/ranks.test.js +48 -7
- package/dist/core/progress/ranks.test.js.map +1 -1
- package/dist/core/progress/rebuild.test.js +1 -1
- package/dist/core/progress/store.test.js +1 -1
- package/dist/core/progress/types.d.ts +2 -1
- package/dist/core/progress/types.d.ts.map +1 -1
- package/dist/core/project-discovery.d.ts.map +1 -1
- package/dist/core/project-discovery.js +62 -48
- package/dist/core/project-discovery.js.map +1 -1
- package/dist/core/project-discovery.test.js +10 -10
- package/dist/core/prompt-commands.js +3 -3
- package/dist/core/radio.d.ts +1 -1
- package/dist/core/radio.d.ts.map +1 -1
- package/dist/core/radio.js +90 -6
- package/dist/core/radio.js.map +1 -1
- package/dist/core/radio.test.js +15 -2
- package/dist/core/radio.test.js.map +1 -1
- package/dist/core/run-journal.test.js +2 -2
- package/dist/core/sandbox.test.js +6 -6
- package/dist/core/semantic-search-benchmark.d.ts +2 -2
- package/dist/core/semantic-search-benchmark.js +5 -5
- package/dist/core/session-compaction.test.js +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +83 -67
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-manager.test.js +7 -7
- package/dist/core/session-storage-fd-leak.test.d.ts +2 -0
- package/dist/core/session-storage-fd-leak.test.d.ts.map +1 -0
- package/dist/core/session-storage-fd-leak.test.js +116 -0
- package/dist/core/session-storage-fd-leak.test.js.map +1 -0
- package/dist/core/session-storage.d.ts +22 -2
- package/dist/core/session-storage.d.ts.map +1 -1
- package/dist/core/session-storage.js +33 -6
- package/dist/core/session-storage.js.map +1 -1
- package/dist/core/session-storage.test.js +2 -2
- package/dist/core/settings-manager.d.ts +2 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +10 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/shell-path.js +1 -1
- package/dist/core/shell.d.ts +1 -1
- package/dist/core/shell.js +2 -2
- package/dist/core/shell.test.js +2 -2
- package/dist/core/shutdown.d.ts +71 -0
- package/dist/core/shutdown.d.ts.map +1 -0
- package/dist/core/shutdown.js +144 -0
- package/dist/core/shutdown.js.map +1 -0
- package/dist/core/shutdown.test.d.ts +2 -0
- package/dist/core/shutdown.test.d.ts.map +1 -0
- package/dist/core/shutdown.test.js +160 -0
- package/dist/core/shutdown.test.js.map +1 -0
- package/dist/core/sidecar-error-reporter.js +1 -1
- package/dist/core/sidecar-error-reporter.test.js +2 -2
- package/dist/core/skills-routing.test.js +96 -0
- package/dist/core/skills-routing.test.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +3 -0
- package/dist/core/skills.js.map +1 -1
- package/dist/core/subagent-manager.d.ts +9 -0
- package/dist/core/subagent-manager.d.ts.map +1 -1
- package/dist/core/subagent-manager.js +45 -12
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-manager.test.js +14 -8
- package/dist/core/subagent-manager.test.js.map +1 -1
- package/dist/core/subagent-store.test.js +3 -3
- package/dist/core/task-store.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modes/acp-mode.js +2 -2
- package/dist/modes/acp-mode.test.js +4 -4
- package/dist/modes/agent-home-mode.d.ts.map +1 -1
- package/dist/modes/agent-home-mode.js +15 -11
- package/dist/modes/agent-home-mode.js.map +1 -1
- package/dist/modes/json-mode.d.ts +9 -1
- package/dist/modes/json-mode.d.ts.map +1 -1
- package/dist/modes/json-mode.js +3 -1
- package/dist/modes/json-mode.js.map +1 -1
- package/dist/modes/serve-mode.d.ts +1 -1
- package/dist/modes/serve-mode.d.ts.map +1 -1
- package/dist/modes/serve-mode.js +14 -9
- package/dist/modes/serve-mode.js.map +1 -1
- package/dist/modes/subagent-worker-mode.d.ts +5 -0
- package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/session.test.js +1 -1
- package/dist/system-prompt.d.ts +37 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +123 -11
- package/dist/system-prompt.js.map +1 -1
- package/dist/system-prompt.test.js +90 -11
- package/dist/system-prompt.test.js.map +1 -1
- package/dist/system-prompt.tiering.test.d.ts +2 -0
- package/dist/system-prompt.tiering.test.d.ts.map +1 -0
- package/dist/system-prompt.tiering.test.js +105 -0
- package/dist/system-prompt.tiering.test.js.map +1 -0
- package/dist/tools/code-nav.d.ts +30 -0
- package/dist/tools/code-nav.d.ts.map +1 -0
- package/dist/tools/code-nav.js +320 -0
- package/dist/tools/code-nav.js.map +1 -0
- package/dist/tools/code-nav.test.d.ts +2 -0
- package/dist/tools/code-nav.test.d.ts.map +1 -0
- package/dist/tools/code-nav.test.js +136 -0
- package/dist/tools/code-nav.test.js.map +1 -0
- package/dist/tools/edit.test.js +1 -1
- package/dist/tools/generate-image.d.ts +1 -1
- package/dist/tools/goals.d.ts +2 -2
- package/dist/tools/goals.test.js +2 -2
- package/dist/tools/grep-parity.test.d.ts +2 -0
- package/dist/tools/grep-parity.test.d.ts.map +1 -0
- package/dist/tools/grep-parity.test.js +92 -0
- package/dist/tools/grep-parity.test.js.map +1 -0
- package/dist/tools/grep-recall.test.d.ts +2 -0
- package/dist/tools/grep-recall.test.d.ts.map +1 -0
- package/dist/tools/grep-recall.test.js +114 -0
- package/dist/tools/grep-recall.test.js.map +1 -0
- package/dist/tools/grep-spawn.test.d.ts +2 -0
- package/dist/tools/grep-spawn.test.d.ts.map +1 -0
- package/dist/tools/grep-spawn.test.js +66 -0
- package/dist/tools/grep-spawn.test.js.map +1 -0
- package/dist/tools/grep.d.ts +13 -3
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +340 -40
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/grep.test.js +17 -14
- package/dist/tools/grep.test.js.map +1 -1
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/plan-mode.test.js +1 -1
- package/dist/tools/prompt-hints.d.ts +9 -0
- package/dist/tools/prompt-hints.d.ts.map +1 -1
- package/dist/tools/prompt-hints.js +61 -8
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/safe-env.js +1 -1
- package/dist/tools/search-code.d.ts.map +1 -1
- package/dist/tools/search-code.js +7 -6
- package/dist/tools/search-code.js.map +1 -1
- package/dist/tools/search-code.test.js +8 -2
- package/dist/tools/search-code.test.js.map +1 -1
- package/dist/tools/skill.js +2 -1
- package/dist/tools/skill.js.map +1 -1
- package/dist/tools/subagent-control.d.ts.map +1 -1
- package/dist/tools/subagent-control.js +20 -5
- package/dist/tools/subagent-control.js.map +1 -1
- package/dist/tools/subagent-control.test.js +34 -1
- package/dist/tools/subagent-control.test.js.map +1 -1
- package/dist/tools/subagent-shared.d.ts +20 -1
- package/dist/tools/subagent-shared.d.ts.map +1 -1
- package/dist/tools/subagent-shared.js +34 -7
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/subagent-shared.test.js +43 -9
- package/dist/tools/subagent-shared.test.js.map +1 -1
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +11 -8
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/subagent.test.js +3 -0
- package/dist/tools/subagent.test.js.map +1 -1
- package/dist/tools/task-send.test.js +19 -10
- package/dist/tools/task-send.test.js.map +1 -1
- package/dist/tools/tool-search.d.ts.map +1 -1
- package/dist/tools/tool-search.js +2 -1
- package/dist/tools/tool-search.js.map +1 -1
- package/dist/tools/tool-tiers.d.ts +42 -0
- package/dist/tools/tool-tiers.d.ts.map +1 -0
- package/dist/tools/tool-tiers.js +78 -0
- package/dist/tools/tool-tiers.js.map +1 -0
- package/dist/tools/tool-tiers.test.d.ts +2 -0
- package/dist/tools/tool-tiers.test.d.ts.map +1 -0
- package/dist/tools/tool-tiers.test.js +48 -0
- package/dist/tools/tool-tiers.test.js.map +1 -0
- package/dist/tools/write.test.js +1 -1
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/Banner.d.ts.map +1 -1
- package/dist/ui/components/Banner.js +24 -16
- package/dist/ui/components/Banner.js.map +1 -1
- package/dist/ui/components/ToolExecution.js +42 -34
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/components/force-color.d.ts +2 -0
- package/dist/ui/components/force-color.d.ts.map +1 -0
- package/dist/ui/components/force-color.js +11 -0
- package/dist/ui/components/force-color.js.map +1 -0
- package/dist/ui/components/themed-output.test.d.ts +2 -0
- package/dist/ui/components/themed-output.test.d.ts.map +1 -0
- package/dist/ui/components/themed-output.test.js +111 -0
- package/dist/ui/components/themed-output.test.js.map +1 -0
- package/dist/ui/error-item.d.ts +1 -1
- package/dist/ui/error-item.js +3 -3
- package/dist/ui/error-item.js.map +1 -1
- package/dist/ui/hooks/useAgentLoop.d.ts +3 -0
- package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentLoop.js +27 -2
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/dist/ui/login.js +1 -1
- package/dist/ui/login.js.map +1 -1
- package/dist/ui/render.d.ts +1 -1
- package/dist/ui/render.js +6 -6
- package/dist/ui/theme/dark-ansi.json +6 -0
- package/dist/ui/theme/dark-daltonized.json +6 -0
- package/dist/ui/theme/dark.json +6 -0
- package/dist/ui/theme/light-ansi.json +6 -0
- package/dist/ui/theme/light-daltonized.json +6 -0
- package/dist/ui/theme/light.json +6 -0
- package/dist/ui/theme/theme.d.ts +6 -0
- package/dist/ui/theme/theme.d.ts.map +1 -1
- package/dist/ui/tui-terminal-recorder.test.js +1 -1
- package/dist/utils/git.test.js +3 -3
- package/package.json +4 -4
|
@@ -2,7 +2,6 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
import { getFastModel } from "../core/model-registry.js";
|
|
4
4
|
import { truncateTail } from "./truncate.js";
|
|
5
|
-
const MUTATING_TOOLS = new Set(["bash", "write", "edit"]);
|
|
6
5
|
export const SUB_AGENT_MAX_TURNS = 50;
|
|
7
6
|
/**
|
|
8
7
|
* Sub-agents get at most ONE turn-budget extension. A child's extensions run
|
|
@@ -14,7 +13,7 @@ export const SUB_AGENT_MAX_OUTPUT_CHARS = 100_000;
|
|
|
14
13
|
export const SUB_AGENT_MAX_OUTPUT_LINES = 500;
|
|
15
14
|
export const SUB_AGENT_MAX_STDERR_CHARS = 10_000;
|
|
16
15
|
export const SUB_AGENT_TIMEOUT_MS = 10 * 60 * 1000;
|
|
17
|
-
export const SUB_AGENT_DEPTH_ENV = "
|
|
16
|
+
export const SUB_AGENT_DEPTH_ENV = "EZ_SUBAGENT_DEPTH";
|
|
18
17
|
export const MAX_BLOCKING_SUBAGENT_DEPTH = 3;
|
|
19
18
|
export function resolveAgentDefinition(agents, requestedName) {
|
|
20
19
|
if (!requestedName)
|
|
@@ -23,16 +22,44 @@ export function resolveAgentDefinition(agents, requestedName) {
|
|
|
23
22
|
}
|
|
24
23
|
export function selectSubAgent(agents, requestedName, provider, parentModel) {
|
|
25
24
|
const agentDef = resolveAgentDefinition(agents, requestedName);
|
|
26
|
-
const readOnly = !!agentDef &&
|
|
27
|
-
agentDef.tools.length > 0 &&
|
|
28
|
-
!agentDef.tools.some((tool) => MUTATING_TOOLS.has(tool.toLowerCase()));
|
|
29
25
|
return {
|
|
30
26
|
agentDef,
|
|
31
27
|
provider,
|
|
32
28
|
parentModel,
|
|
33
|
-
model:
|
|
29
|
+
model: resolveAgentModel(agentDef, provider, parentModel),
|
|
34
30
|
};
|
|
35
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Resolve which model a named agent runs on.
|
|
34
|
+
*
|
|
35
|
+
* The choice is declared in the agent's `model:` frontmatter, never inferred.
|
|
36
|
+
* This used to guess: any agent without bash/write/edit was treated as
|
|
37
|
+
* "read-only" and silently routed to the provider's cheapest tier — so every
|
|
38
|
+
* research, recon and audit agent always ran on a Haiku-class model, invisibly
|
|
39
|
+
* and with no way to override it. Defaulting to the parent's model instead
|
|
40
|
+
* makes a downgrade opt-in and one line of frontmatter away.
|
|
41
|
+
*/
|
|
42
|
+
export function resolveAgentModel(agentDef, provider, parentModel) {
|
|
43
|
+
const preference = agentDef?.model?.trim();
|
|
44
|
+
if (!preference || preference === "inherit")
|
|
45
|
+
return parentModel;
|
|
46
|
+
if (preference === "fast")
|
|
47
|
+
return getFastModel(provider, parentModel).id;
|
|
48
|
+
return preference;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Render the agent roster for a tool description.
|
|
52
|
+
*
|
|
53
|
+
* Both delegation tools use this: the dispatcher picks an agent from the tool
|
|
54
|
+
* schema alone, so a tool that omits the roster leaves the model guessing a
|
|
55
|
+
* name — which either errors or, worse, silently spawns a generic child.
|
|
56
|
+
*/
|
|
57
|
+
export function renderAgentRoster(agents) {
|
|
58
|
+
if (agents.length === 0)
|
|
59
|
+
return "\n\nNo named agents configured.";
|
|
60
|
+
const list = agents.map((agent) => `- ${agent.name}: ${agent.description}`).join("\n");
|
|
61
|
+
return `\n\nAvailable named agents:\n${list}`;
|
|
62
|
+
}
|
|
36
63
|
export function childThinkingLevel(level) {
|
|
37
64
|
return level === "ultra" ? "max" : level;
|
|
38
65
|
}
|
|
@@ -47,7 +74,7 @@ export function childSubAgentEnv(env = process.env) {
|
|
|
47
74
|
return { ...env, [SUB_AGENT_DEPTH_ENV]: String(currentSubAgentDepth(env) + 1) };
|
|
48
75
|
}
|
|
49
76
|
export function resolveSubAgentCliEntry(env = process.env) {
|
|
50
|
-
const monitoredEntry = env.
|
|
77
|
+
const monitoredEntry = env.EZ_SUBAGENT_WORKER_ENTRY;
|
|
51
78
|
if (monitoredEntry)
|
|
52
79
|
return monitoredEntry;
|
|
53
80
|
const cliPath = fileURLToPath(new URL("../cli.js", import.meta.url));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-shared.js","sourceRoot":"","sources":["../../src/tools/subagent-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,
|
|
1
|
+
{"version":3,"file":"subagent-shared.js","sourceRoot":"","sources":["../../src/tools/subagent-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,50 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { resolveAgentDefinition, resolveSubAgentCliEntry, selectSubAgent, subAgentCacheKey, } from "./subagent-shared.js";
|
|
2
|
+
import { renderAgentRoster, resolveAgentDefinition, resolveSubAgentCliEntry, selectSubAgent, subAgentCacheKey, } from "./subagent-shared.js";
|
|
3
|
+
function agent(overrides) {
|
|
4
|
+
return {
|
|
5
|
+
description: `${overrides.name} agent`,
|
|
6
|
+
tools: ["read"],
|
|
7
|
+
systemPrompt: "Do the task.",
|
|
8
|
+
source: "bundled",
|
|
9
|
+
...overrides,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
3
12
|
describe("selectSubAgent", () => {
|
|
4
13
|
it("keeps shell-capable agents on the parent model", () => {
|
|
5
|
-
const shellAgent = {
|
|
6
|
-
name: "worker",
|
|
7
|
-
description: "Can mutate through shell commands",
|
|
8
|
-
tools: ["read", "bash"],
|
|
9
|
-
systemPrompt: "Work on the task.",
|
|
10
|
-
source: "bundled",
|
|
11
|
-
};
|
|
14
|
+
const shellAgent = agent({ name: "worker", tools: ["read", "bash"], model: "inherit" });
|
|
12
15
|
expect(selectSubAgent([shellAgent], "worker", "openai", "gpt-5.6-sol").model).toBe("gpt-5.6-sol");
|
|
13
16
|
});
|
|
17
|
+
it("keeps a read-only agent on the parent model unless it asks for fast", () => {
|
|
18
|
+
// Regression: read-only agents were inferred to be cheap and silently
|
|
19
|
+
// routed to the provider's low tier, with no way to override it.
|
|
20
|
+
const readOnly = agent({ name: "researcher", tools: ["read", "grep", "web_fetch"] });
|
|
21
|
+
expect(selectSubAgent([readOnly], "researcher", "openai", "gpt-5.6-sol").model).toBe("gpt-5.6-sol");
|
|
22
|
+
});
|
|
23
|
+
it("downgrades only when the agent declares model: fast", () => {
|
|
24
|
+
const fast = agent({ name: "owl", model: "fast" });
|
|
25
|
+
expect(selectSubAgent([fast], "owl", "openai", "gpt-5.6-sol").model).not.toBe("gpt-5.6-sol");
|
|
26
|
+
});
|
|
27
|
+
it("honours an explicit model id", () => {
|
|
28
|
+
const pinned = agent({ name: "pinned", model: "claude-haiku-4-5" });
|
|
29
|
+
expect(selectSubAgent([pinned], "pinned", "anthropic", "claude-opus-5").model).toBe("claude-haiku-4-5");
|
|
30
|
+
});
|
|
31
|
+
it("falls back to the parent model for an unnamed agent", () => {
|
|
32
|
+
expect(selectSubAgent([], undefined, "openai", "gpt-5.6-sol").model).toBe("gpt-5.6-sol");
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
describe("renderAgentRoster", () => {
|
|
36
|
+
it("lists every agent with its routing description", () => {
|
|
37
|
+
const roster = renderAgentRoster([
|
|
38
|
+
agent({ name: "owl", description: "Traces call chains" }),
|
|
39
|
+
agent({ name: "bee", description: "Implements a scoped change" }),
|
|
40
|
+
]);
|
|
41
|
+
expect(roster).toContain("Available named agents:");
|
|
42
|
+
expect(roster).toContain("- owl: Traces call chains");
|
|
43
|
+
expect(roster).toContain("- bee: Implements a scoped change");
|
|
44
|
+
});
|
|
45
|
+
it("says so when there is nothing to route to", () => {
|
|
46
|
+
expect(renderAgentRoster([])).toContain("No named agents configured.");
|
|
47
|
+
});
|
|
14
48
|
});
|
|
15
49
|
describe("resolveAgentDefinition", () => {
|
|
16
50
|
it("stays case-insensitive (regression)", () => {
|
|
@@ -43,7 +77,7 @@ describe("subAgentCacheKey", () => {
|
|
|
43
77
|
});
|
|
44
78
|
describe("resolveSubAgentCliEntry", () => {
|
|
45
79
|
it("keeps app subagent workers behind the monitored sidecar entry", () => {
|
|
46
|
-
expect(resolveSubAgentCliEntry({
|
|
80
|
+
expect(resolveSubAgentCliEntry({ EZ_SUBAGENT_WORKER_ENTRY: "/app/error-mom-sidecar.mjs" })).toBe("/app/error-mom-sidecar.mjs");
|
|
47
81
|
});
|
|
48
82
|
});
|
|
49
83
|
//# sourceMappingURL=subagent-shared.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-shared.test.js","sourceRoot":"","sources":["../../src/tools/subagent-shared.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"subagent-shared.test.js","sourceRoot":"","sources":["../../src/tools/subagent-shared.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EASL,KAAK,kBAAkB,EAKxB,MAAM,sBAAsB,CAAC;AAE9B,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,QAAA,MAAM,cAAc;;;iBAMlB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,iBAAiB,EAAE,MAAM,MAAM,EAC/B,cAAc,EAAE,MAAM,MAAM,EAC5B,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EAC5C,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAClC,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GAClC,SAAS,CAAC,OAAO,cAAc,CAAC,CAmUlC"}
|
package/dist/tools/subagent.js
CHANGED
|
@@ -4,7 +4,7 @@ import { z } from "zod";
|
|
|
4
4
|
import { mcpServersForAgent } from "../core/agents.js";
|
|
5
5
|
import { log } from "../core/logger.js";
|
|
6
6
|
import { getActiveGoalMode, goalModeSubagentRestriction, isPlanModeActive, planModeRestriction, } from "../core/runtime-mode.js";
|
|
7
|
-
import { boundSubAgentOutput, childSubAgentEnv, currentSubAgentDepth, MAX_BLOCKING_SUBAGENT_DEPTH, resolveSubAgentCliEntry, selectSubAgent, subAgentCacheKey, SUB_AGENT_MAX_OUTPUT_CHARS, SUB_AGENT_MAX_STDERR_CHARS, SUB_AGENT_MAX_TURNS, SUB_AGENT_TIMEOUT_MS, } from "./subagent-shared.js";
|
|
7
|
+
import { boundSubAgentOutput, childSubAgentEnv, currentSubAgentDepth, MAX_BLOCKING_SUBAGENT_DEPTH, renderAgentRoster, resolveSubAgentCliEntry, selectSubAgent, subAgentCacheKey, SUB_AGENT_MAX_OUTPUT_CHARS, SUB_AGENT_MAX_STDERR_CHARS, SUB_AGENT_MAX_TURNS, SUB_AGENT_TIMEOUT_MS, } from "./subagent-shared.js";
|
|
8
8
|
/** Only retry errors that specifically mean the selected model cannot be used. */
|
|
9
9
|
export function isModelUnavailableError(stderr) {
|
|
10
10
|
return /does not recognize the requested model|requested model[^\n]*(?:not available|no access)|model[^\n]*(?:does not exist|not found|not available)/i.test(stderr);
|
|
@@ -17,14 +17,10 @@ const SubAgentParams = z.object({
|
|
|
17
17
|
.describe("Named agent definition to use (from ~/.ezcoder/agents/ or .ezcoder/agents/)"),
|
|
18
18
|
});
|
|
19
19
|
export function createSubAgentTool(cwd, agents, getParentProvider, getParentModel, getParentCacheKey, planModeRef, goalModeRef) {
|
|
20
|
-
const agentList = agents.map((a) => `- ${a.name}: ${a.description}`).join("\n");
|
|
21
|
-
const agentDesc = agentList
|
|
22
|
-
? `\n\nAvailable named agents:\n${agentList}`
|
|
23
|
-
: "\n\nNo named agents configured.";
|
|
24
20
|
return {
|
|
25
21
|
name: "subagent",
|
|
26
|
-
description: `Spawn an isolated sub-agent to handle a focused task. The
|
|
27
|
-
|
|
22
|
+
description: `Spawn an isolated sub-agent to handle a focused task. The child has its own context, tools, and system prompt and sees none of this conversation, so its task must stand alone. Use this for isolation or parallelism; multiple calls in one tool batch run concurrently.` +
|
|
23
|
+
renderAgentRoster(agents),
|
|
28
24
|
parameters: SubAgentParams,
|
|
29
25
|
// Sub-agents are isolated child processes (own cwd, context, and PID), so
|
|
30
26
|
// they're safe to run concurrently — unlike bash/edit/write, which mutate
|
|
@@ -78,7 +74,14 @@ export function createSubAgentTool(cwd, agents, getParentProvider, getParentMode
|
|
|
78
74
|
cliArgs.push("--prompt-cache-key", childCacheKey);
|
|
79
75
|
}
|
|
80
76
|
if (agentDef?.systemPrompt) {
|
|
81
|
-
|
|
77
|
+
// --agent-prompt, not --system-prompt: the definition body is composed
|
|
78
|
+
// with the Tools/project-context/Environment scaffolding instead of
|
|
79
|
+
// replacing it. A replaced prompt left the child blind to its own
|
|
80
|
+
// toolset and to where it was running.
|
|
81
|
+
cliArgs.push("--agent-prompt", agentDef.systemPrompt);
|
|
82
|
+
if (agentDef.context === "none") {
|
|
83
|
+
cliArgs.push("--agent-context", "none");
|
|
84
|
+
}
|
|
82
85
|
}
|
|
83
86
|
if (agentDef?.tools.length) {
|
|
84
87
|
cliArgs.push("--tools", agentDef.tools.join(","));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ const owl = {
|
|
|
14
14
|
name: "owl",
|
|
15
15
|
description: "Read-only scout",
|
|
16
16
|
tools: ["read"],
|
|
17
|
+
// Declares the cheap tier explicitly — the only way an agent opts out of the
|
|
18
|
+
// parent's model now — which is what arms the fast-model fallback path below.
|
|
19
|
+
model: "fast",
|
|
17
20
|
systemPrompt: "Inspect code and report findings.",
|
|
18
21
|
source: "bundled",
|
|
19
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.test.js","sourceRoot":"","sources":["../../src/tools/subagent.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent.test.js","sourceRoot":"","sources":["../../src/tools/subagent.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,15 @@ import path from "node:path";
|
|
|
5
5
|
import { ProcessManager } from "../core/process-manager.js";
|
|
6
6
|
import { createTaskSendTool } from "./task-send.js";
|
|
7
7
|
import { createTaskOutputTool } from "./task-output.js";
|
|
8
|
+
/**
|
|
9
|
+
* A throwaway background-log directory per manager.
|
|
10
|
+
*
|
|
11
|
+
* `start()` writes AND prunes inside `bgDir`, so a manager built without one
|
|
12
|
+
* sweeps the developer's real `~/.ezcoder/bg` when the suite runs.
|
|
13
|
+
*/
|
|
14
|
+
async function bgTempDir() {
|
|
15
|
+
return fs.mkdtemp(path.join(os.tmpdir(), "ez-bg-task-send-"));
|
|
16
|
+
}
|
|
8
17
|
async function waitForOutput(manager, id, predicate) {
|
|
9
18
|
let combined = "";
|
|
10
19
|
for (let i = 0; i < 50; i += 1) {
|
|
@@ -22,8 +31,8 @@ describe("interactive background processes (task_send)", () => {
|
|
|
22
31
|
manager?.shutdownAll();
|
|
23
32
|
});
|
|
24
33
|
it("answers an interactive prompt and completes", async () => {
|
|
25
|
-
manager = new ProcessManager();
|
|
26
|
-
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "
|
|
34
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
35
|
+
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "ez-task-send-"));
|
|
27
36
|
// Programs that print their prompt explicitly (echo) are visible over a
|
|
28
37
|
// pipe; bash's `read -p` writes its prompt only to a tty, so use echo here.
|
|
29
38
|
const started = await manager.start('echo "Name:"; read n; echo "HELLO_$n"', tmpDir);
|
|
@@ -34,8 +43,8 @@ describe("interactive background processes (task_send)", () => {
|
|
|
34
43
|
expect(out).toContain("HELLO_world");
|
|
35
44
|
}, 15_000);
|
|
36
45
|
it("drives a REPL across multiple inputs", async () => {
|
|
37
|
-
manager = new ProcessManager();
|
|
38
|
-
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "
|
|
46
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
47
|
+
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "ez-task-send-repl-"));
|
|
39
48
|
// A tiny line-reading loop that echoes back, then exits on EOF.
|
|
40
49
|
const started = await manager.start('while IFS= read -r line; do echo "GOT[$line]"; done', tmpDir);
|
|
41
50
|
await manager.sendInput(started.id, "first");
|
|
@@ -55,8 +64,8 @@ describe("interactive background processes (task_send)", () => {
|
|
|
55
64
|
throw new Error("Process did not exit after EOF");
|
|
56
65
|
}, 15_000);
|
|
57
66
|
it("returns a clear message when the process has already exited", async () => {
|
|
58
|
-
manager = new ProcessManager();
|
|
59
|
-
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "
|
|
67
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
68
|
+
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "ez-task-send-dead-"));
|
|
60
69
|
const started = await manager.start('echo "done"', tmpDir);
|
|
61
70
|
await waitForOutput(manager, started.id, (o) => o.includes("done"));
|
|
62
71
|
// Give the close handler a tick to record the exit code.
|
|
@@ -65,13 +74,13 @@ describe("interactive background processes (task_send)", () => {
|
|
|
65
74
|
expect(result).toMatch(/already exited|not accepting input/);
|
|
66
75
|
}, 15_000);
|
|
67
76
|
it("reports unknown process ids", async () => {
|
|
68
|
-
manager = new ProcessManager();
|
|
77
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
69
78
|
const result = await manager.sendInput("nope", "hi");
|
|
70
79
|
expect(result).toContain('No background process with id "nope"');
|
|
71
80
|
});
|
|
72
81
|
it("exposes a task_send tool that pairs with task_output", async () => {
|
|
73
|
-
manager = new ProcessManager();
|
|
74
|
-
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "
|
|
82
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
83
|
+
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "ez-task-send-tool-"));
|
|
75
84
|
const sendTool = createTaskSendTool(manager);
|
|
76
85
|
const outputTool = createTaskOutputTool(manager);
|
|
77
86
|
expect(sendTool.name).toBe("task_send");
|
|
@@ -85,7 +94,7 @@ describe("interactive background processes (task_send)", () => {
|
|
|
85
94
|
expect(read).toContain("ANSWER_yes");
|
|
86
95
|
}, 15_000);
|
|
87
96
|
it("guards against empty sends", async () => {
|
|
88
|
-
manager = new ProcessManager();
|
|
97
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
89
98
|
const sendTool = createTaskSendTool(manager);
|
|
90
99
|
const ctx = { signal: new AbortController().signal };
|
|
91
100
|
const result = await sendTool.execute({ id: "x", enter: false }, ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-send.test.js","sourceRoot":"","sources":["../../src/tools/task-send.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,KAAK,UAAU,aAAa,CAC1B,OAAuB,EACvB,EAAU,EACV,SAAsC;IAEtC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,SAAS,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACzC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,IAAI,OAAuB,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"task-send.test.js","sourceRoot":"","sources":["../../src/tools/task-send.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../src/tools/tool-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,QAAA,MAAM,gBAAgB;;iBAMpB,CAAC;AAEH,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,EACvC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,GAC9E,SAAS,CAAC,OAAO,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../src/tools/tool-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,QAAA,MAAM,gBAAgB;;iBAMpB,CAAC;AAEH,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,EACvC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,GAC9E,SAAS,CAAC,OAAO,gBAAgB,CAAC,CA8CpC"}
|
|
@@ -18,7 +18,8 @@ const ToolSearchParams = z.object({
|
|
|
18
18
|
export function createToolSearchTool(catalog, onPromote, resolveCached) {
|
|
19
19
|
return {
|
|
20
20
|
name: "tool_search",
|
|
21
|
-
description: "
|
|
21
|
+
description: "Load a tool that is listed as available on demand. Searches the catalog of " +
|
|
22
|
+
"built-in capabilities and connected integrations (MCP servers) by capability. " +
|
|
22
23
|
"Matching tools become available immediately — call them on your next step. " +
|
|
23
24
|
"Use this when you need a capability not in your current toolset.",
|
|
24
25
|
parameters: ToolSearchParams,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-search.js","sourceRoot":"","sources":["../../src/tools/tool-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACP,qFAAqF,CACtF;CACJ,CAAC,CAAC;AASH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA4B,EAC5B,SAAuC,EACvC,aAA+E;IAE/E,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"tool-search.js","sourceRoot":"","sources":["../../src/tools/tool-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { AgentTool } from "@prestyj/agent";
|
|
2
|
+
/**
|
|
3
|
+
* Two-tier split of the built-in toolset.
|
|
4
|
+
*
|
|
5
|
+
* Every tool in `this.tools` ships its full JSON parameter schema on every
|
|
6
|
+
* request, inside the cached prefix. A core tool earns that cost because it is
|
|
7
|
+
* reached in most sessions. A deferred tool does not: it contributes one
|
|
8
|
+
* `- **name**: hint` line to the system prompt's Tools section (~15-25 tokens)
|
|
9
|
+
* instead of a full schema (~300-500 tokens), and `tool_search` promotes it
|
|
10
|
+
* into the live toolset the moment the model asks for that capability.
|
|
11
|
+
*
|
|
12
|
+
* The index line is what makes deferral safe. Dropping a schema WITHOUT
|
|
13
|
+
* advertising the capability trades tokens for capability blindness — the model
|
|
14
|
+
* cannot search for a tool it does not know exists. That is why every deferred
|
|
15
|
+
* name is required to carry a `TOOL_PROMPT_HINTS` entry (enforced by test).
|
|
16
|
+
*
|
|
17
|
+
* Tier membership rule: a tool stays core if it is reached in more than roughly
|
|
18
|
+
* one in five sessions. Deferring a tool is only safe while capability-discovery
|
|
19
|
+
* rates hold: measure that, not just the token saving, before moving a name.
|
|
20
|
+
*/
|
|
21
|
+
export declare const CORE_TOOL_NAMES: readonly string[];
|
|
22
|
+
/**
|
|
23
|
+
* Built-ins that live in the catalog as index lines until `tool_search` is
|
|
24
|
+
* called. Each one is either rare (image generation, screenshots, package
|
|
25
|
+
* source resolution) or only reachable after another tool has already run
|
|
26
|
+
* (the child-agent control cluster follows `spawn_agent`).
|
|
27
|
+
*/
|
|
28
|
+
export declare const DEFERRED_TOOL_NAMES: readonly string[];
|
|
29
|
+
export interface ToolTierPartition {
|
|
30
|
+
/** Tools whose full schema stays in every request. */
|
|
31
|
+
core: AgentTool[];
|
|
32
|
+
/** Tools held in the deferred catalog until `tool_search` promotes them. */
|
|
33
|
+
deferred: AgentTool[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Split a freshly built toolset into its two tiers, preserving input order
|
|
37
|
+
* within each tier. An unrecognised name (a future built-in, an MCP tool that
|
|
38
|
+
* reached this path) defaults to `core`: shipping one extra schema is a token
|
|
39
|
+
* cost, whereas silently hiding an unknown capability is a behaviour loss.
|
|
40
|
+
*/
|
|
41
|
+
export declare function partitionToolsByTier(tools: readonly AgentTool[]): ToolTierPartition;
|
|
42
|
+
//# sourceMappingURL=tool-tiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-tiers.d.ts","sourceRoot":"","sources":["../../src/tools/tool-tiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAsB5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAUhD,CAAC;AAIF,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,iBAAiB,CAQnF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Two-tier split of the built-in toolset.
|
|
3
|
+
*
|
|
4
|
+
* Every tool in `this.tools` ships its full JSON parameter schema on every
|
|
5
|
+
* request, inside the cached prefix. A core tool earns that cost because it is
|
|
6
|
+
* reached in most sessions. A deferred tool does not: it contributes one
|
|
7
|
+
* `- **name**: hint` line to the system prompt's Tools section (~15-25 tokens)
|
|
8
|
+
* instead of a full schema (~300-500 tokens), and `tool_search` promotes it
|
|
9
|
+
* into the live toolset the moment the model asks for that capability.
|
|
10
|
+
*
|
|
11
|
+
* The index line is what makes deferral safe. Dropping a schema WITHOUT
|
|
12
|
+
* advertising the capability trades tokens for capability blindness — the model
|
|
13
|
+
* cannot search for a tool it does not know exists. That is why every deferred
|
|
14
|
+
* name is required to carry a `TOOL_PROMPT_HINTS` entry (enforced by test).
|
|
15
|
+
*
|
|
16
|
+
* Tier membership rule: a tool stays core if it is reached in more than roughly
|
|
17
|
+
* one in five sessions. Deferring a tool is only safe while capability-discovery
|
|
18
|
+
* rates hold: measure that, not just the token saving, before moving a name.
|
|
19
|
+
*/
|
|
20
|
+
export const CORE_TOOL_NAMES = [
|
|
21
|
+
"read",
|
|
22
|
+
"write",
|
|
23
|
+
"edit",
|
|
24
|
+
"bash",
|
|
25
|
+
"grep",
|
|
26
|
+
"find",
|
|
27
|
+
"ls",
|
|
28
|
+
"code_search",
|
|
29
|
+
"code_nav",
|
|
30
|
+
"web_search",
|
|
31
|
+
"web_fetch",
|
|
32
|
+
"task_output",
|
|
33
|
+
"task_send",
|
|
34
|
+
"task_stop",
|
|
35
|
+
"subagent",
|
|
36
|
+
"spawn_agent",
|
|
37
|
+
"skill",
|
|
38
|
+
"enter_plan",
|
|
39
|
+
"exit_plan",
|
|
40
|
+
"tool_search",
|
|
41
|
+
"goals",
|
|
42
|
+
];
|
|
43
|
+
/**
|
|
44
|
+
* Built-ins that live in the catalog as index lines until `tool_search` is
|
|
45
|
+
* called. Each one is either rare (image generation, screenshots, package
|
|
46
|
+
* source resolution) or only reachable after another tool has already run
|
|
47
|
+
* (the child-agent control cluster follows `spawn_agent`).
|
|
48
|
+
*/
|
|
49
|
+
export const DEFERRED_TOOL_NAMES = [
|
|
50
|
+
"source_path",
|
|
51
|
+
"screenshot",
|
|
52
|
+
"generate_image",
|
|
53
|
+
"tasks",
|
|
54
|
+
"send_message",
|
|
55
|
+
"followup_task",
|
|
56
|
+
"wait_agent",
|
|
57
|
+
"list_agents",
|
|
58
|
+
"interrupt_agent",
|
|
59
|
+
];
|
|
60
|
+
const DEFERRED_SET = new Set(DEFERRED_TOOL_NAMES);
|
|
61
|
+
/**
|
|
62
|
+
* Split a freshly built toolset into its two tiers, preserving input order
|
|
63
|
+
* within each tier. An unrecognised name (a future built-in, an MCP tool that
|
|
64
|
+
* reached this path) defaults to `core`: shipping one extra schema is a token
|
|
65
|
+
* cost, whereas silently hiding an unknown capability is a behaviour loss.
|
|
66
|
+
*/
|
|
67
|
+
export function partitionToolsByTier(tools) {
|
|
68
|
+
const core = [];
|
|
69
|
+
const deferred = [];
|
|
70
|
+
for (const tool of tools) {
|
|
71
|
+
if (DEFERRED_SET.has(tool.name))
|
|
72
|
+
deferred.push(tool);
|
|
73
|
+
else
|
|
74
|
+
core.push(tool);
|
|
75
|
+
}
|
|
76
|
+
return { core, deferred };
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=tool-tiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-tiers.js","sourceRoot":"","sources":["../../src/tools/tool-tiers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;IACb,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;IACb,OAAO;IACP,YAAY;IACZ,WAAW;IACX,aAAa;IACb,OAAO;CACR,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,OAAO;IACP,cAAc;IACd,eAAe;IACf,YAAY;IACZ,aAAa;IACb,iBAAiB;CAClB,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AASvE;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-tiers.test.d.ts","sourceRoot":"","sources":["../../src/tools/tool-tiers.test.ts"],"names":[],"mappings":""}
|