@prestyj/cli 5.28.1 → 5.29.1
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/motion/bin/contact-sheet.mjs +9 -3
- package/assets/motion/bin/cues.mjs +337 -0
- package/assets/motion/bin/library.mjs +53 -10
- package/assets/motion/bin/motion-blur.mjs +943 -0
- package/assets/motion/bin/motion-check.mjs +354 -3
- package/assets/motion/bin/music-fit.mjs +436 -0
- package/assets/motion/bin/pdf-extract.mjs +22 -10
- package/assets/motion/bin/reference-study.mjs +346 -0
- package/assets/motion/bin/score-synth.mjs +1052 -93
- package/assets/motion/library/README.md +50 -14
- package/assets/motion/library/kit/moves.js +1981 -0
- package/assets/motion/library/library.json +232 -0
- package/assets/motion/library/pieces/camera-rig/meta.json +13 -0
- package/assets/motion/library/pieces/camera-rig/piece.html +153 -0
- package/assets/motion/library/pieces/camera-rig/preview.jpg +0 -0
- package/assets/motion/library/pieces/chain-knock/meta.json +13 -0
- package/assets/motion/library/pieces/chain-knock/piece.html +195 -0
- package/assets/motion/library/pieces/chain-knock/preview.jpg +0 -0
- package/assets/motion/library/pieces/gather-to-logo/meta.json +13 -0
- package/assets/motion/library/pieces/gather-to-logo/piece.html +159 -0
- package/assets/motion/library/pieces/gather-to-logo/preview.jpg +0 -0
- package/assets/motion/library/pieces/morph-carry/meta.json +13 -0
- package/assets/motion/library/pieces/morph-carry/piece.html +173 -0
- package/assets/motion/library/pieces/morph-carry/preview.jpg +0 -0
- package/assets/motion/library/pieces/one-shape-journey/meta.json +13 -0
- package/assets/motion/library/pieces/one-shape-journey/piece.html +195 -0
- package/assets/motion/library/pieces/one-shape-journey/preview.jpg +0 -0
- package/assets/motion/library/pieces/open-from-subject/meta.json +13 -0
- package/assets/motion/library/pieces/open-from-subject/piece.html +168 -0
- package/assets/motion/library/pieces/open-from-subject/preview.jpg +0 -0
- package/assets/motion/library/pieces/request-to-result/meta.json +13 -0
- package/assets/motion/library/pieces/request-to-result/piece.html +212 -0
- package/assets/motion/library/pieces/request-to-result/preview.jpg +0 -0
- package/assets/motion/library/pieces/scale-dive/meta.json +13 -0
- package/assets/motion/library/pieces/scale-dive/piece.html +321 -0
- package/assets/motion/library/pieces/scale-dive/preview.jpg +0 -0
- package/assets/motion/library/pieces/screen-replica-steps/meta.json +13 -0
- package/assets/motion/library/pieces/screen-replica-steps/piece.html +366 -0
- package/assets/motion/library/pieces/screen-replica-steps/preview.jpg +0 -0
- package/assets/motion/library/pieces/zoom-into-card/meta.json +13 -0
- package/assets/motion/library/pieces/zoom-into-card/piece.html +179 -0
- package/assets/motion/library/pieces/zoom-into-card/preview.jpg +0 -0
- package/assets/motion/library/sheets/diagram.jpg +0 -0
- package/assets/motion/library/sheets/frame.jpg +0 -0
- package/assets/motion/library/sheets/transition.jpg +0 -0
- package/assets/motion/library/sheets/ui.jpg +0 -0
- package/assets/motion/references/build-sheet.md +206 -0
- package/assets/motion/references/runtime/determinism-rules.md +1 -1
- package/assets/motion/references/runtime/gsap-easing-and-stagger.md +29 -29
- package/assets/motion/references/runtime/inputs-and-assets.md +7 -12
- package/assets/motion/references/runtime/lint-validate-inspect.md +3 -3
- package/assets/motion/references/runtime/minimal-composition.md +1 -1
- package/assets/motion/references/runtime/preview-render.md +3 -3
- package/assets/motion/skills/app-walkthrough/SKILL.md +70 -0
- package/assets/motion/skills/before-after/SKILL.md +57 -0
- package/assets/motion/skills/brand-kit/SKILL.md +3 -3
- package/assets/motion/skills/dev-tool-video/SKILL.md +61 -0
- package/assets/motion/skills/launch-video/SKILL.md +66 -0
- package/assets/motion/skills/match-reference/SKILL.md +62 -0
- package/assets/motion/skills/motion/SKILL.md +148 -98
- package/assets/motion/skills/source-ingest/SKILL.md +17 -6
- package/assets/motion/skills/website-video/SKILL.md +76 -0
- package/assets/skills/bulletproof/SKILL.md +36 -11
- package/assets/skills/bulletproof/references/agent-surface.md +19 -9
- package/assets/skills/bulletproof/references/audit-protocol.md +20 -5
- package/assets/skills/bulletproof/references/platform-playbooks.md +5 -4
- package/assets/skills/bulletproof/references/provenance.md +26 -1
- package/assets/skills/bulletproof/references/secure-defaults.md +6 -5
- package/assets/skills/bulletproof/references/supply-chain.md +21 -17
- package/assets/skills/bulletproof/references/threat-landscape.md +28 -26
- package/assets/skills/bulletproof/references/verification.md +2 -0
- package/assets/skills/clarify/SKILL.md +25 -16
- package/assets/skills/code-review/SKILL.md +71 -13
- package/assets/skills/code-review/references/agent-diffs.md +27 -0
- package/assets/skills/code-review/references/tests.md +19 -0
- package/assets/skills/compliance-guard/SKILL.md +20 -5
- package/assets/skills/compliance-guard/references/artifacts.md +1 -1
- package/assets/skills/compliance-guard/references/eu-uk.md +16 -16
- package/assets/skills/compliance-guard/references/lawsuit-vectors.md +5 -5
- package/assets/skills/compliance-guard/references/provenance.md +41 -2
- package/assets/skills/compliance-guard/references/sector-gates.md +3 -3
- package/assets/skills/compliance-guard/references/security-baseline.md +2 -2
- package/assets/skills/compliance-guard/references/trigger-map.md +5 -5
- package/assets/skills/compliance-guard/references/us.md +27 -21
- package/assets/skills/durable/SKILL.md +87 -79
- package/assets/skills/durable/references/agent-db-safety.md +69 -0
- package/assets/skills/durable/references/backups-and-runtime.md +19 -12
- package/assets/skills/durable/references/migrations-and-schema.md +13 -6
- package/assets/skills/evidence-led-ui/SKILL.md +69 -127
- package/assets/skills/evidence-led-ui/references/anti-defaults.md +107 -208
- package/assets/skills/evidence-led-ui/references/direction.md +124 -0
- package/assets/skills/evidence-led-ui/references/production-contract.md +8 -0
- package/assets/skills/evidence-led-ui/references/provenance.md +24 -1
- package/assets/skills/lean/SKILL.md +90 -71
- package/assets/skills/lean/references/memory-and-processes.md +3 -2
- package/assets/skills/lean/references/playbooks.md +37 -12
- package/assets/skills/refactoring/SKILL.md +24 -3
- package/assets/skills/refactoring/references/agent-pitfalls.md +4 -1
- package/assets/skills/refactoring/references/legacy.md +21 -0
- package/assets/skills/root-cause/SKILL.md +20 -10
- package/assets/skills/shared-language/SKILL.md +16 -14
- package/assets/skills/tdd/SKILL.md +27 -15
- package/dist/app-sidecar.js +206 -47
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli/thinking-arg.d.ts +6 -0
- package/dist/cli/thinking-arg.js +13 -0
- package/dist/cli/thinking-arg.js.map +1 -0
- package/dist/cli.d.ts +1 -2
- package/dist/cli.js +18 -34
- package/dist/cli.js.map +1 -1
- package/dist/core/acceptance-checks.d.ts +48 -0
- package/dist/core/acceptance-checks.js +144 -0
- package/dist/core/acceptance-checks.js.map +1 -0
- package/dist/core/agent-session.d.ts +107 -72
- package/dist/core/agent-session.js +562 -407
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents.d.ts +6 -5
- package/dist/core/agents.js.map +1 -1
- package/dist/core/ask-user.d.ts +90 -8
- package/dist/core/ask-user.js +124 -13
- package/dist/core/ask-user.js.map +1 -1
- package/dist/core/bundled-agents.js +1 -3
- package/dist/core/bundled-agents.js.map +1 -1
- package/dist/core/cache-diagnostics.d.ts +68 -0
- package/dist/core/cache-diagnostics.js +196 -0
- package/dist/core/cache-diagnostics.js.map +1 -0
- package/dist/core/cache-expiry.d.ts +87 -0
- package/dist/core/cache-expiry.js +111 -0
- package/dist/core/cache-expiry.js.map +1 -0
- package/dist/core/codex-request-shape.d.ts +12 -0
- package/dist/core/codex-request-shape.js +31 -0
- package/dist/core/codex-request-shape.js.map +1 -0
- package/dist/core/compaction/compactor.js +84 -48
- package/dist/core/compaction/compactor.js.map +1 -1
- package/dist/core/compaction/plan-step-policy.d.ts +46 -0
- package/dist/core/compaction/plan-step-policy.js +57 -0
- package/dist/core/compaction/plan-step-policy.js.map +1 -0
- package/dist/core/destructive-git-guard.d.ts +90 -0
- package/dist/core/destructive-git-guard.js +871 -0
- package/dist/core/destructive-git-guard.js.map +1 -0
- package/dist/core/event-bus.d.ts +3 -0
- package/dist/core/event-bus.js +5 -0
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/injection-detect.d.ts +38 -0
- package/dist/core/injection-detect.js +232 -0
- package/dist/core/injection-detect.js.map +1 -0
- package/dist/core/keep-awake.d.ts +88 -0
- package/dist/core/keep-awake.js +251 -0
- package/dist/core/keep-awake.js.map +1 -0
- package/dist/core/mcp/client.d.ts +72 -0
- package/dist/core/mcp/client.js +264 -41
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/content.js +6 -2
- package/dist/core/mcp/content.js.map +1 -1
- package/dist/core/mcp/store.d.ts +6 -1
- package/dist/core/mcp/store.js +12 -1
- package/dist/core/mcp/store.js.map +1 -1
- package/dist/core/mcp/types.d.ts +18 -0
- package/dist/core/model-unavailable.d.ts +14 -0
- package/dist/core/model-unavailable.js +23 -0
- package/dist/core/model-unavailable.js.map +1 -0
- package/dist/core/node-debugger.d.ts +148 -0
- package/dist/core/node-debugger.js +642 -0
- package/dist/core/node-debugger.js.map +1 -0
- package/dist/core/nolan-context.js +7 -3
- package/dist/core/nolan-context.js.map +1 -1
- package/dist/core/package-threats.d.ts +18 -0
- package/dist/core/package-threats.js +168 -0
- package/dist/core/package-threats.js.map +1 -0
- package/dist/core/persistent-shell.d.ts +58 -6
- package/dist/core/persistent-shell.js +331 -49
- package/dist/core/persistent-shell.js.map +1 -1
- package/dist/core/process-manager.d.ts +14 -0
- package/dist/core/process-manager.js +61 -0
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/progress/git-xp.js +8 -14
- package/dist/core/progress/git-xp.js.map +1 -1
- package/dist/core/session-history.d.ts +12 -0
- package/dist/core/session-history.js +27 -0
- package/dist/core/session-history.js.map +1 -1
- package/dist/core/session-manager.d.ts +13 -1
- package/dist/core/session-manager.js +38 -18
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-summary-index.d.ts +37 -0
- package/dist/core/session-summary-index.js +172 -0
- package/dist/core/session-summary-index.js.map +1 -0
- package/dist/core/settings-manager.d.ts +12 -0
- package/dist/core/settings-manager.js +20 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/shell-threats-popular-packages.d.ts +11 -0
- package/dist/core/shell-threats-popular-packages.js +675 -0
- package/dist/core/shell-threats-popular-packages.js.map +1 -0
- package/dist/core/shell-threats.d.ts +8 -0
- package/dist/core/shell-threats.js +186 -0
- package/dist/core/shell-threats.js.map +1 -0
- package/dist/core/skills.js +3 -1
- package/dist/core/skills.js.map +1 -1
- package/dist/core/stream-rules.d.ts +30 -0
- package/dist/core/stream-rules.js +151 -0
- package/dist/core/stream-rules.js.map +1 -0
- package/dist/core/subagent-manager.d.ts +20 -5
- package/dist/core/subagent-manager.js +22 -8
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-receipt.d.ts +54 -0
- package/dist/core/subagent-receipt.js +278 -0
- package/dist/core/subagent-receipt.js.map +1 -0
- package/dist/core/subagent-turn-record.d.ts +2 -0
- package/dist/core/subagent-turn-record.js.map +1 -1
- package/dist/core/test-impact.d.ts +73 -0
- package/dist/core/test-impact.js +467 -0
- package/dist/core/test-impact.js.map +1 -0
- package/dist/core/thinking-level.d.ts +1 -1
- package/dist/core/thinking-level.js +1 -1
- package/dist/core/thinking-level.js.map +1 -1
- package/dist/core/verification-gate.d.ts +2 -0
- package/dist/core/verification-gate.js +4 -0
- package/dist/core/verification-gate.js.map +1 -1
- package/dist/core/verification-snapshot.js +3 -5
- package/dist/core/verification-snapshot.js.map +1 -1
- package/dist/core/workspace-guard.d.ts +18 -7
- package/dist/core/workspace-guard.js +227 -60
- package/dist/core/workspace-guard.js.map +1 -1
- package/dist/interactive.js +2 -1
- package/dist/interactive.js.map +1 -1
- package/dist/modes/subagent-worker-mode.js +34 -6
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/motion-agent/motion-agent.d.ts +6 -2
- package/dist/motion-agent/motion-agent.js +5 -7
- package/dist/motion-agent/motion-agent.js.map +1 -1
- package/dist/motion-agent/motion-prompt.d.ts +1 -1
- package/dist/motion-agent/motion-prompt.js +16 -20
- package/dist/motion-agent/motion-prompt.js.map +1 -1
- package/dist/motion-agent/motion-review-session.js +7 -3
- package/dist/motion-agent/motion-review-session.js.map +1 -1
- package/dist/motion-agent/motion-review.d.ts +10 -3
- package/dist/motion-agent/motion-review.js +15 -7
- package/dist/motion-agent/motion-review.js.map +1 -1
- package/dist/motion-agent/motion-studio-context.js +1 -1
- package/dist/motion-agent/motion-studio-context.js.map +1 -1
- package/dist/system-prompt.js +15 -11
- package/dist/system-prompt.js.map +1 -1
- package/dist/test-support/keep-alive.d.ts +14 -0
- package/dist/test-support/keep-alive.js +17 -0
- package/dist/test-support/keep-alive.js.map +1 -0
- package/dist/tools/ask-user.js +3 -3
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/bash-read-evidence.d.ts +10 -0
- package/dist/tools/bash-read-evidence.js +133 -0
- package/dist/tools/bash-read-evidence.js.map +1 -0
- package/dist/tools/bash.d.ts +10 -1
- package/dist/tools/bash.js +115 -7
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/debug.d.ts +54 -0
- package/dist/tools/debug.js +233 -0
- package/dist/tools/debug.js.map +1 -0
- package/dist/tools/edit-targets.d.ts +10 -0
- package/dist/tools/edit-targets.js +31 -0
- package/dist/tools/edit-targets.js.map +1 -0
- package/dist/tools/edit.d.ts +11 -3
- package/dist/tools/edit.js +387 -305
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/goals.d.ts +1 -1
- package/dist/tools/index.d.ts +19 -2
- package/dist/tools/index.js +47 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/prompt-hints.js +6 -1
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/read-tracker.d.ts +5 -0
- package/dist/tools/read-tracker.js +19 -9
- package/dist/tools/read-tracker.js.map +1 -1
- package/dist/tools/read.js +3 -2
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/skill.js +11 -3
- package/dist/tools/skill.js.map +1 -1
- package/dist/tools/subagent-control.js +44 -8
- package/dist/tools/subagent-control.js.map +1 -1
- package/dist/tools/subagent-shared.d.ts +29 -8
- package/dist/tools/subagent-shared.js +45 -14
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/subagent.d.ts +14 -2
- package/dist/tools/subagent.js +43 -13
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/task-output.js +3 -2
- package/dist/tools/task-output.js.map +1 -1
- package/dist/tools/task-send.d.ts +1 -1
- package/dist/tools/task-send.js +15 -1
- package/dist/tools/task-send.js.map +1 -1
- package/dist/tools/tool-tiers.d.ts +8 -2
- package/dist/tools/tool-tiers.js +10 -3
- package/dist/tools/tool-tiers.js.map +1 -1
- package/dist/tools/truncate.d.ts +21 -0
- package/dist/tools/truncate.js +187 -0
- package/dist/tools/truncate.js.map +1 -1
- package/dist/tools/ui-adopt.js +2 -0
- package/dist/tools/ui-adopt.js.map +1 -1
- package/dist/ui/App.d.ts +0 -4
- package/dist/ui/App.js +12 -31
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/ActivityIndicator.js +1 -0
- package/dist/ui/components/ActivityIndicator.js.map +1 -1
- package/dist/ui/components/ToolExecution.js +3 -2
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/hooks/useAgentLoop.d.ts +1 -8
- package/dist/ui/hooks/useAgentLoop.js +1 -119
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/dist/ui/render.d.ts +0 -4
- package/dist/ui/render.js +0 -2
- package/dist/ui/render.js.map +1 -1
- package/dist/ui/terminal-history.js +3 -1
- package/dist/ui/terminal-history.js.map +1 -1
- package/dist/ui/tool-line-summary.js +3 -1
- package/dist/ui/tool-line-summary.js.map +1 -1
- package/dist/utils/format.js +5 -1
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/git.d.ts +77 -0
- package/dist/utils/git.js +285 -21
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/github-ci.js +2 -1
- package/dist/utils/github-ci.js.map +1 -1
- package/dist/utils/github.js +11 -9
- package/dist/utils/github.js.map +1 -1
- package/dist/utils/image.d.ts +14 -0
- package/dist/utils/image.js +16 -0
- package/dist/utils/image.js.map +1 -1
- package/dist/utils/process.d.ts +20 -0
- package/dist/utils/process.js +98 -0
- package/dist/utils/process.js.map +1 -1
- package/package.json +4 -4
- package/assets/motion/references/motion-language.md +0 -128
- package/assets/motion/skills/video-qa/SKILL.md +0 -89
- package/dist/core/ideal-review-subagent.d.ts +0 -56
- package/dist/core/ideal-review-subagent.js +0 -112
- package/dist/core/ideal-review-subagent.js.map +0 -1
- package/dist/core/ideal-review.d.ts +0 -82
- package/dist/core/ideal-review.js +0 -242
- package/dist/core/ideal-review.js.map +0 -1
- package/dist/motion-agent/motion-check-tool.d.ts +0 -35
- package/dist/motion-agent/motion-check-tool.js +0 -514
- package/dist/motion-agent/motion-check-tool.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-send.js","sourceRoot":"","sources":["../../src/tools/task-send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"task-send.js","sourceRoot":"","sources":["../../src/tools/task-send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACrE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;IAChG,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,GAAG,EAAE,CAAC;SACH,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAChC,cAA8B,EAC9B,GAAY;IAEZ,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,0FAA0F;YAC1F,uFAAuF;YACvF,yFAAyF;YACzF,mFAAmF;QACrF,UAAU,EAAE,cAAc;QAC1B,aAAa,EAAE,YAAY;QAC3B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;gBACrE,OAAO,gFAAgF,CAAC;YAC1F,CAAC;YACD,yEAAyE;YACzE,yEAAyE;YACzE,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC7D,IAAI,UAAU;oBAAE,OAAO,0BAA0B,UAAU,EAAE,CAAC;YAChE,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,aAAa;oBAAE,OAAO,0BAA0B,aAAa,EAAE,CAAC;YACtE,CAAC;YACD,OAAO,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -21,9 +21,15 @@ import type { AgentTool } from "@prestyj/agent";
|
|
|
21
21
|
export declare const CORE_TOOL_NAMES: readonly string[];
|
|
22
22
|
/**
|
|
23
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,
|
|
25
|
-
* source resolution) or only reachable after another tool has already run
|
|
24
|
+
* called. Each one is either rare (image generation, screenshots, the
|
|
25
|
+
* debugger, package source resolution) or only reachable after another tool has already run
|
|
26
26
|
* (the child-agent control cluster follows `spawn_agent`).
|
|
27
|
+
*
|
|
28
|
+
* `web_search` moved here after a 30-day usage count over 718 local sessions
|
|
29
|
+
* found it in ~6% of working sessions. `task_send`
|
|
30
|
+
* stays core even though it is rarer: bash's own description points at it,
|
|
31
|
+
* and promoting it mid-session would change the tool list, which restarts
|
|
32
|
+
* Anthropic's prompt cache (tools are cached ahead of system and messages).
|
|
27
33
|
*/
|
|
28
34
|
export declare const DEFERRED_TOOL_NAMES: readonly string[];
|
|
29
35
|
export interface ToolTierPartition {
|
package/dist/tools/tool-tiers.js
CHANGED
|
@@ -31,7 +31,6 @@ export const CORE_TOOL_NAMES = [
|
|
|
31
31
|
"ls",
|
|
32
32
|
"code_search",
|
|
33
33
|
"code_nav",
|
|
34
|
-
"web_search",
|
|
35
34
|
"web_fetch",
|
|
36
35
|
"steroids",
|
|
37
36
|
"task_output",
|
|
@@ -47,15 +46,23 @@ export const CORE_TOOL_NAMES = [
|
|
|
47
46
|
];
|
|
48
47
|
/**
|
|
49
48
|
* Built-ins that live in the catalog as index lines until `tool_search` is
|
|
50
|
-
* called. Each one is either rare (image generation, screenshots,
|
|
51
|
-
* source resolution) or only reachable after another tool has already run
|
|
49
|
+
* called. Each one is either rare (image generation, screenshots, the
|
|
50
|
+
* debugger, package source resolution) or only reachable after another tool has already run
|
|
52
51
|
* (the child-agent control cluster follows `spawn_agent`).
|
|
52
|
+
*
|
|
53
|
+
* `web_search` moved here after a 30-day usage count over 718 local sessions
|
|
54
|
+
* found it in ~6% of working sessions. `task_send`
|
|
55
|
+
* stays core even though it is rarer: bash's own description points at it,
|
|
56
|
+
* and promoting it mid-session would change the tool list, which restarts
|
|
57
|
+
* Anthropic's prompt cache (tools are cached ahead of system and messages).
|
|
53
58
|
*/
|
|
54
59
|
export const DEFERRED_TOOL_NAMES = [
|
|
60
|
+
"web_search",
|
|
55
61
|
"ui_registry",
|
|
56
62
|
"ui_adopt",
|
|
57
63
|
"source_path",
|
|
58
64
|
"screenshot",
|
|
65
|
+
"debug",
|
|
59
66
|
"generate_image",
|
|
60
67
|
"tasks",
|
|
61
68
|
"send_message",
|
|
@@ -1 +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,0EAA0E;IAC1E,sEAAsE;IACtE,4EAA4E;IAC5E,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,aAAa;IACb,UAAU;IACV,
|
|
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,0EAA0E;IAC1E,sEAAsE;IACtE,4EAA4E;IAC5E,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;IACb,OAAO;IACP,YAAY;IACZ,WAAW;IACX,aAAa;IACb,OAAO;CACR,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,YAAY;IACZ,aAAa;IACb,UAAU;IACV,aAAa;IACb,YAAY;IACZ,OAAO;IACP,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"}
|
package/dist/tools/truncate.d.ts
CHANGED
|
@@ -18,3 +18,24 @@ export declare function truncateHead(content: string, maxLines?: number, maxByte
|
|
|
18
18
|
* Used by the bash tool.
|
|
19
19
|
*/
|
|
20
20
|
export declare function truncateTail(content: string, maxLines?: number, maxBytes?: number): TruncateResult;
|
|
21
|
+
/** Hard cap on the descriptor appended to a truncation note. */
|
|
22
|
+
export declare const OMITTED_NOTE_MAX_CHARS = 300;
|
|
23
|
+
/**
|
|
24
|
+
* Describe WHAT a truncation dropped, so the agent can decide whether to fetch
|
|
25
|
+
* the rest (modelled on headroomlabs-ai/headroom PR #3635's CCR descriptor):
|
|
26
|
+
* error/warning line counts, distinct error codes / exception names, distinct
|
|
27
|
+
* source files referenced by diagnostics/stack frames, and the first few
|
|
28
|
+
* distinct error lines. Labels, files and sample lines already visible in
|
|
29
|
+
* `shown` are left out — the note justifies retrieval, it doesn't restate.
|
|
30
|
+
*
|
|
31
|
+
* Returns `""` when nothing notable was cut (the note stays byte-identical),
|
|
32
|
+
* otherwise `"Omitted part: …."`, never longer than OMITTED_NOTE_MAX_CHARS.
|
|
33
|
+
* Deterministic: first-appearance order, no hashing or randomness.
|
|
34
|
+
*/
|
|
35
|
+
export declare function describeOmitted(omitted: readonly string[], shown: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* `describeOmitted` for a non-positional cut (content-aware compression):
|
|
38
|
+
* the omitted lines are the original lines with no counterpart in `shown`.
|
|
39
|
+
* Repeats collapsed to `line (×N)` / `(×N similar)` count as shown.
|
|
40
|
+
*/
|
|
41
|
+
export declare function describeCompressed(original: string, shown: string): string;
|
package/dist/tools/truncate.js
CHANGED
|
@@ -58,4 +58,191 @@ export function truncateTail(content, maxLines = MAX_LINES, maxBytes = MAX_BYTES
|
|
|
58
58
|
keptLines: kept.length,
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
/* ----------------------------------------------------------------------- */
|
|
62
|
+
/* "What was cut" descriptor for truncation notes */
|
|
63
|
+
/* ----------------------------------------------------------------------- */
|
|
64
|
+
/** Hard cap on the descriptor appended to a truncation note. */
|
|
65
|
+
export const OMITTED_NOTE_MAX_CHARS = 300;
|
|
66
|
+
const SAMPLE_MAX_CHARS = 80;
|
|
67
|
+
const MAX_SAMPLES = 3;
|
|
68
|
+
const MAX_LABELS = 3;
|
|
69
|
+
const MAX_FILES = 3;
|
|
70
|
+
/** Cheap gate: a line that can't contain any of these is never error/warn-shaped. */
|
|
71
|
+
const DIAG_PREFILTER = /err|fail|fatal|panic|exception|traceback|crit|warn|caused by|not ok|[✗✖❌×]/i;
|
|
72
|
+
// Optional leading timestamp / [bracketed] prefix before an UPPERCASE log level.
|
|
73
|
+
const LOG_PREFIX = String.raw `^\W{0,4}(?:[\d\-/:.,TZ+]+\s+|\[[^\]]{1,40}\]\s*)*`;
|
|
74
|
+
const LEVEL_END = String.raw `(?=[\s:\]!|]|$)(?!\s*[=,;)])`;
|
|
75
|
+
/**
|
|
76
|
+
* Shape-based (not keyword-based) error-line detectors, so source code being
|
|
77
|
+
* paged through by `read` (`throw new Error(...)`, `console.error(...)`) does
|
|
78
|
+
* not count — only lines that look like a diagnostic / log record.
|
|
79
|
+
*/
|
|
80
|
+
const ERROR_LINE = [
|
|
81
|
+
new RegExp(`${LOG_PREFIX}(?:ERROR|ERR!|FATAL|CRITICAL|PANIC|FAIL(?:ED|URE)?)${LEVEL_END}`),
|
|
82
|
+
/^(?:error|fatal)(?:\[[\w-]+\])?:\s/i, // rustc/cargo/git/CLI `error: …` (column 0)
|
|
83
|
+
/^npm ERR!/,
|
|
84
|
+
/\.\w{1,6}(?::\d+){1,2}:?\s*(?:fatal\s+)?error\b/i, // gcc/clang `f.c:1:2: error:`
|
|
85
|
+
/\(\d+,\d+\):\s*error\b/, // tsc `f.ts(1,2): error TS…`
|
|
86
|
+
/^\s*\d+:\d+\s+error\s/, // eslint stylish
|
|
87
|
+
/^\s*(?:E\s+)?(?:Uncaught\s+)?[A-Z][\w.$]*(?:Error|Exception)(?:\s*\[[\w-]+\])?:(?:\s|$)/,
|
|
88
|
+
/^Traceback \(most recent call last\)/,
|
|
89
|
+
/^\s*(?:✗|✖|❌|not ok\b|--- FAIL\b)/,
|
|
90
|
+
/^thread '.*' panicked|^panic:/,
|
|
91
|
+
/^\s*Caused by:/,
|
|
92
|
+
/\blevel[=:]\s*"?(?:error|fatal)\b/i,
|
|
93
|
+
];
|
|
94
|
+
const WARN_LINE = [
|
|
95
|
+
new RegExp(`${LOG_PREFIX}(?:WARN(?:ING)?)${LEVEL_END}`),
|
|
96
|
+
/^warn(?:ing)?(?:\[[\w-]+\])?:\s/i,
|
|
97
|
+
/^npm WARN\b/,
|
|
98
|
+
/\.\w{1,6}(?::\d+){1,2}:?\s*warning\b/i,
|
|
99
|
+
/\(\d+,\d+\):\s*warning\b/,
|
|
100
|
+
/^\s*\d+:\d+\s+warning\s/,
|
|
101
|
+
/^\s*[A-Z]\w*Warning:\s/,
|
|
102
|
+
/\blevel[=:]\s*"?warn(?:ing)?\b/i,
|
|
103
|
+
];
|
|
104
|
+
/** Error codes / exception names (headroom #3635's "exception types"). */
|
|
105
|
+
const LABEL_RES = [
|
|
106
|
+
/\berror\[([A-Z]?\d{3,5})\]/, // rustc E0425
|
|
107
|
+
/\berror\s+(TS\d{3,5})\b/, // tsc TS2345
|
|
108
|
+
/^\s*(?:E\s+)?(?:Uncaught\s+)?(?:[\w$]+\.)*([A-Z][\w$]*(?:Error|Exception|Warning))\b(?:\s*\[[\w-]+\])?:/,
|
|
109
|
+
/\b(E(?:NOENT|ACCES|PERM|ADDRINUSE|CONNREFUSED|CONNRESET|TIMEDOUT|EXIST|ISDIR|NOTDIR|NOTEMPTY|MFILE|PIPE|NOTFOUND|HOSTUNREACH)|ERR_[A-Z0-9_]{3,})\b/,
|
|
110
|
+
];
|
|
111
|
+
const SRC_EXT = "ts|tsx|js|jsx|mjs|cjs|mts|cts|py|rs|go|java|kt|kts|rb|php|c|h|cc|cpp|cxx|hpp|cs|swift|m|mm|scala|ex|exs|erl|hs|ml|lua|sh|vue|svelte|json|ya?ml|toml|css|scss|less|html|sql|proto|zig|dart";
|
|
112
|
+
/** A source path followed by a line location: `a/b.ts:12`, `b.ts(3,4)`. */
|
|
113
|
+
const FILE_LOC = new RegExp(String.raw `(?:^|[\s(\["'\`])((?:[\w.@~+-]*/)*[\w@+-][\w.@+-]*\.(?:${SRC_EXT}))(?::\d+|\(\d+,\d+\))`);
|
|
114
|
+
const PY_FILE = /File "([^"]+)", line \d+/;
|
|
115
|
+
const RUST_FILE = /-->\s*([^\s:]+):\d+/;
|
|
116
|
+
/** Lines whose file references are diagnostic (stack frames, locations). */
|
|
117
|
+
const FRAME_LINE = new RegExp(String.raw `^\s*(?:at\s|File "|-->|from\s)|^\S+\.(?:${SRC_EXT})(?::\d+|\(\d+,\d+\))`);
|
|
118
|
+
/** Object-literal / call-argument continuation lines in source code. */
|
|
119
|
+
const CODE_TAIL = /[,{([]\s*$/;
|
|
120
|
+
function isError(line) {
|
|
121
|
+
return (DIAG_PREFILTER.test(line) && !CODE_TAIL.test(line) && ERROR_LINE.some((re) => re.test(line)));
|
|
122
|
+
}
|
|
123
|
+
function isWarning(line) {
|
|
124
|
+
return (DIAG_PREFILTER.test(line) && !CODE_TAIL.test(line) && WARN_LINE.some((re) => re.test(line)));
|
|
125
|
+
}
|
|
126
|
+
function extractFile(line) {
|
|
127
|
+
return (PY_FILE.exec(line) ?? RUST_FILE.exec(line) ?? FILE_LOC.exec(line))?.[1];
|
|
128
|
+
}
|
|
129
|
+
function shorten(s, max) {
|
|
130
|
+
return s.length <= max ? s : `${s.slice(0, max - 1)}…`;
|
|
131
|
+
}
|
|
132
|
+
/** Last two path segments — enough to identify a file without eating the cap. */
|
|
133
|
+
function shortPath(p) {
|
|
134
|
+
const parts = p.split(/[\\/]/).filter(Boolean);
|
|
135
|
+
return parts.length <= 2 ? parts.join("/") : `…/${parts.slice(-2).join("/")}`;
|
|
136
|
+
}
|
|
137
|
+
function listWithMore(items, max) {
|
|
138
|
+
const shown = items.slice(0, max).join(", ");
|
|
139
|
+
return items.length > max ? `${shown}, +${items.length - max}` : shown;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Describe WHAT a truncation dropped, so the agent can decide whether to fetch
|
|
143
|
+
* the rest (modelled on headroomlabs-ai/headroom PR #3635's CCR descriptor):
|
|
144
|
+
* error/warning line counts, distinct error codes / exception names, distinct
|
|
145
|
+
* source files referenced by diagnostics/stack frames, and the first few
|
|
146
|
+
* distinct error lines. Labels, files and sample lines already visible in
|
|
147
|
+
* `shown` are left out — the note justifies retrieval, it doesn't restate.
|
|
148
|
+
*
|
|
149
|
+
* Returns `""` when nothing notable was cut (the note stays byte-identical),
|
|
150
|
+
* otherwise `"Omitted part: …."`, never longer than OMITTED_NOTE_MAX_CHARS.
|
|
151
|
+
* Deterministic: first-appearance order, no hashing or randomness.
|
|
152
|
+
*/
|
|
153
|
+
export function describeOmitted(omitted, shown) {
|
|
154
|
+
let errors = 0;
|
|
155
|
+
let warnings = 0;
|
|
156
|
+
const labels = new Set();
|
|
157
|
+
const files = new Set();
|
|
158
|
+
const samples = [];
|
|
159
|
+
const sampleKeys = new Set();
|
|
160
|
+
// Everything already tested against `shown` (hit or miss) — each distinct
|
|
161
|
+
// candidate costs one substring scan, however often it repeats.
|
|
162
|
+
const checked = new Set();
|
|
163
|
+
const isNew = (s) => {
|
|
164
|
+
if (checked.has(s))
|
|
165
|
+
return false;
|
|
166
|
+
checked.add(s);
|
|
167
|
+
return !shown.includes(s);
|
|
168
|
+
};
|
|
169
|
+
for (const line of omitted) {
|
|
170
|
+
const err = isError(line);
|
|
171
|
+
const warn = !err && isWarning(line);
|
|
172
|
+
if (err)
|
|
173
|
+
errors++;
|
|
174
|
+
else if (warn)
|
|
175
|
+
warnings++;
|
|
176
|
+
if (err || warn) {
|
|
177
|
+
for (const re of LABEL_RES) {
|
|
178
|
+
const label = re.exec(line)?.[1];
|
|
179
|
+
if (label && isNew(label))
|
|
180
|
+
labels.add(label);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (err || warn || FRAME_LINE.test(line)) {
|
|
184
|
+
const file = extractFile(line);
|
|
185
|
+
if (file && isNew(file))
|
|
186
|
+
files.add(file);
|
|
187
|
+
}
|
|
188
|
+
if (err && samples.length < MAX_SAMPLES) {
|
|
189
|
+
const text = line.trim().replace(/\s+/g, " ");
|
|
190
|
+
// Distinct modulo numbers, so a retry loop doesn't fill every slot.
|
|
191
|
+
const key = text.replace(/\d+/g, "#");
|
|
192
|
+
if (text && !sampleKeys.has(key) && isNew(line.trim())) {
|
|
193
|
+
sampleKeys.add(key);
|
|
194
|
+
samples.push(text);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (errors === 0 && warnings === 0 && files.size === 0)
|
|
199
|
+
return "";
|
|
200
|
+
const parts = [];
|
|
201
|
+
if (errors || warnings) {
|
|
202
|
+
const plural = (n, what) => `${n} ${what} line${n === 1 ? "" : "s"}`;
|
|
203
|
+
const counts = [errors && plural(errors, "error"), warnings && plural(warnings, "warning")]
|
|
204
|
+
.filter(Boolean)
|
|
205
|
+
.join(", ");
|
|
206
|
+
const labelList = labels.size ? ` (${listWithMore([...labels], MAX_LABELS)})` : "";
|
|
207
|
+
parts.push(`${counts}${labelList}`);
|
|
208
|
+
}
|
|
209
|
+
if (files.size) {
|
|
210
|
+
const names = [...files].map(shortPath);
|
|
211
|
+
parts.push(`${files.size} file${files.size === 1 ? "" : "s"}: ${listWithMore(names, MAX_FILES)}`);
|
|
212
|
+
}
|
|
213
|
+
const head = `Omitted part: ${parts.join("; ")}`;
|
|
214
|
+
let note = `${head}.`;
|
|
215
|
+
// Add sample error lines while they fit under the hard cap.
|
|
216
|
+
const quoted = [];
|
|
217
|
+
for (const s of samples) {
|
|
218
|
+
const next = [...quoted, `"${shorten(s, SAMPLE_MAX_CHARS)}"`];
|
|
219
|
+
const candidate = `${head}; first: ${next.join(" | ")}.`;
|
|
220
|
+
if (candidate.length > OMITTED_NOTE_MAX_CHARS)
|
|
221
|
+
break;
|
|
222
|
+
quoted.push(next[next.length - 1]);
|
|
223
|
+
note = candidate;
|
|
224
|
+
}
|
|
225
|
+
return shorten(note, OMITTED_NOTE_MAX_CHARS);
|
|
226
|
+
}
|
|
227
|
+
/** Timestamps / hex addresses vary across "similar" repeats — ignore them. */
|
|
228
|
+
function looseKey(line) {
|
|
229
|
+
return line
|
|
230
|
+
.replace(/\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?/g, "")
|
|
231
|
+
.replace(/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/g, "")
|
|
232
|
+
.replace(/0x[0-9a-f]+/gi, "")
|
|
233
|
+
.trim();
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* `describeOmitted` for a non-positional cut (content-aware compression):
|
|
237
|
+
* the omitted lines are the original lines with no counterpart in `shown`.
|
|
238
|
+
* Repeats collapsed to `line (×N)` / `(×N similar)` count as shown.
|
|
239
|
+
*/
|
|
240
|
+
export function describeCompressed(original, shown) {
|
|
241
|
+
const shownKeys = new Set();
|
|
242
|
+
for (const l of shown.split("\n")) {
|
|
243
|
+
shownKeys.add(looseKey(l.replace(/ {2}\(×\d+(?: similar)?\)$/, "")));
|
|
244
|
+
}
|
|
245
|
+
const omitted = original.split("\n").filter((l) => !shownKeys.has(looseKey(l)));
|
|
246
|
+
return describeOmitted(omitted, shown);
|
|
247
|
+
}
|
|
61
248
|
//# sourceMappingURL=truncate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/tools/truncate.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO;AAE3C,sFAAsF;AACtF,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC;AASnC;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,QAAQ,GAAG,SAAS,EACpB,QAAQ,GAAG,SAAS;IAEpB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAEhC,sBAAsB;IACtB,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEpC,sBAAsB;IACtB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB;QAClE,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACpB,QAAQ,GAAG,CAAC,CAAC;YACb,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,SAAS;QACT,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,QAAQ,GAAG,SAAS,EACpB,QAAQ,GAAG,SAAS;IAEpB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAEhC,oCAAoC;IACpC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAElC,0CAA0C;IAC1C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACpB,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,SAAS;QACT,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/tools/truncate.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/ui-adopt.js
CHANGED
|
@@ -12,6 +12,8 @@ const params = z.object({
|
|
|
12
12
|
export function createUiAdoptTool(cwd, registry, writer, planModeRef) {
|
|
13
13
|
return {
|
|
14
14
|
name: "ui_adopt",
|
|
15
|
+
// Apply writes several files; a steering message must not leave it half-done.
|
|
16
|
+
interruptible: false,
|
|
15
17
|
description: "Plan then adopt real public Bklit/Kokonut registry source into an existing React project. Reports dependency closure, relocated imports, missing packages/styles, attribution and conflicts. Apply requires the unchanged plan hash, only creates new component files through normal write controls, and never installs packages or overwrites user files.",
|
|
16
18
|
parameters: params,
|
|
17
19
|
executionMode: "sequential",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-adopt.js","sourceRoot":"","sources":["../../src/tools/ui-adopt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-adopt.js","sourceRoot":"","sources":["../../src/tools/ui-adopt.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/App.d.ts
CHANGED
|
@@ -10,8 +10,6 @@ import { type PlanStep } from "../utils/plan-steps.js";
|
|
|
10
10
|
import type { MCPClientManager } from "../core/mcp/index.js";
|
|
11
11
|
import type { AuthStorage } from "../core/auth-storage.js";
|
|
12
12
|
import type { TerminalHistoryPrinter } from "./terminal-history.js";
|
|
13
|
-
import { type ReviewCoverageTracker } from "../core/ideal-review.js";
|
|
14
|
-
import type { LspManager } from "../core/lsp/manager.js";
|
|
15
13
|
import { type DoneStatus } from "./layout-decisions.js";
|
|
16
14
|
import type { GoalMode } from "../core/runtime-mode.js";
|
|
17
15
|
import type { GoalRun } from "../core/goal-store.js";
|
|
@@ -65,8 +63,6 @@ export interface AppProps {
|
|
|
65
63
|
sessionId?: string;
|
|
66
64
|
processManager?: ProcessManager;
|
|
67
65
|
subAgentManager?: SubAgentManager;
|
|
68
|
-
lspManager?: LspManager;
|
|
69
|
-
reviewCoverageTracker?: ReviewCoverageTracker;
|
|
70
66
|
settingsFile?: string;
|
|
71
67
|
mcpManager?: MCPClientManager;
|
|
72
68
|
authStorage?: AuthStorage;
|
package/dist/ui/App.js
CHANGED
|
@@ -19,6 +19,7 @@ import { VerificationGate, isCodeFilePath, isVerificationCommand, } from "../cor
|
|
|
19
19
|
import { useAgentLoop } from "./hooks/useAgentLoop.js";
|
|
20
20
|
import { useTranscriptHistory } from "./hooks/useTranscriptHistory.js";
|
|
21
21
|
import { createWebSearchTool } from "../tools/web-search.js";
|
|
22
|
+
import { editTargetPaths } from "../tools/edit-targets.js";
|
|
22
23
|
import { ChatScreen } from "./components/ChatScreen.js";
|
|
23
24
|
import { LIVE_TOOL_PANEL_ROWS } from "./components/LiveToolPanel.js";
|
|
24
25
|
import { FullScreenOverlayRouter } from "./components/FullScreenOverlayRouter.js";
|
|
@@ -46,7 +47,6 @@ import { getNextPendingTask, markTaskInProgress } from "../core/task-store.js";
|
|
|
46
47
|
import { buildUserContentWithAttachments } from "./prompt-routing.js";
|
|
47
48
|
import { submitPromptCommand } from "./submit-prompt-command.js";
|
|
48
49
|
import { handleUiSlashCommand } from "./submit-slash-commands.js";
|
|
49
|
-
import { buildIdealReviewMessage, evaluateIdealReview, detectTestDrift, } from "../core/ideal-review.js";
|
|
50
50
|
import { buildLoopBreakMessage, evaluateLoopBreak } from "../core/loop-breaker.js";
|
|
51
51
|
import { buildRegroundingMessage } from "../core/regrounding.js";
|
|
52
52
|
import { getNextThinkingLevel, isThinkingLevelSupported } from "./thinking-level.js";
|
|
@@ -68,7 +68,7 @@ import { formatGoalVerifierCompletionEvent, formatGoalWorkerCompletionEvent, } f
|
|
|
68
68
|
import { buildGoalFinalSummarySections, buildGoalSummaryRows, goalPassedDetail, } from "./goal-summary.js";
|
|
69
69
|
import { addLinesChanged, buildSessionSummary, createSessionStats, recordServerToolCall, recordToolEnd, recordTurnEnd, } from "./session-summary.js";
|
|
70
70
|
import { compactHistory, getNextGeneratedItemId, isActiveItem, isSameAssistantText, normalizeAssistantText, partitionCompleted, pinStreamingTextBeforeToolBoundary, removeItemsWithIds, uniqueItemsById, } from "./item-helpers.js";
|
|
71
|
-
import {
|
|
71
|
+
import { LOOP_BREAK_NOTICE_TEXT, REGROUNDING_NOTICE_TEXT, VERIFICATION_HOOK_NOTICE_TEXT, TRUNCATED_CONTINUING_NOTICE_TEXT, TRUNCATED_INCOMPLETE_NOTICE_TEXT, TRUNCATED_EMPTY_RESPONSE_NOTICE_TEXT, TRUNCATED_PROVIDER_ERROR_NOTICE_TEXT, TRUNCATED_REFUSAL_NOTICE_TEXT, lastVisibleTranscriptItem, } from "./app-items.js";
|
|
72
72
|
export { buildUserContentWithAttachments, routePromptCommandInput } from "./prompt-routing.js";
|
|
73
73
|
export { getNextThinkingLevel } from "./thinking-level.js";
|
|
74
74
|
export { getChatControlsLayoutDecision, getDoneFlushDecision, getScrollStabilizationDecision, getStaticHistoryKey, hasParagraphBreakLiveUserMessage, isTallLiveUserMessage, shouldHideHistoryForOverlayView, shouldHideStaticItemsForOverlayView, shouldStabilizeOverlayPaneRerender, shouldTopSpaceAfterPrintedAgentBoundary, shouldTopSpaceAssistantAfterToolBoundary, shouldTopSpaceStreamingAssistant, } from "./layout-decisions.js";
|
|
@@ -845,28 +845,6 @@ export function App(props) {
|
|
|
845
845
|
projectId: activeProjectId,
|
|
846
846
|
resolveCredentials,
|
|
847
847
|
transformContext,
|
|
848
|
-
lspManager: props.lspManager,
|
|
849
|
-
reviewCoverageTracker: props.reviewCoverageTracker,
|
|
850
|
-
getIdealReviewMessage: (stats, touchedFiles) => {
|
|
851
|
-
if (!idealReviewEnabledRef.current)
|
|
852
|
-
return null;
|
|
853
|
-
const decision = evaluateIdealReview(stats);
|
|
854
|
-
// Test drift fires the review even when the volume score is too low to
|
|
855
|
-
// trigger on its own \u2014 a stale sibling test is invisible to typecheck.
|
|
856
|
-
const driftedFiles = detectTestDrift(touchedFiles, process.cwd()).slice(0, 5);
|
|
857
|
-
if (!decision.shouldReview && driftedFiles.length === 0)
|
|
858
|
-
return null;
|
|
859
|
-
log("INFO", "ideal", "Injecting ideal review before final response", {
|
|
860
|
-
score: String(decision.score),
|
|
861
|
-
reasons: decision.reasons.join(", "),
|
|
862
|
-
testDrift: driftedFiles.join(", "),
|
|
863
|
-
});
|
|
864
|
-
setLiveItems((prev) => [
|
|
865
|
-
...prev,
|
|
866
|
-
{ kind: "ideal_hook", text: IDEAL_HOOK_NOTICE_TEXT, tone: "review", id: getId() },
|
|
867
|
-
]);
|
|
868
|
-
return buildIdealReviewMessage(decision.reasons, driftedFiles);
|
|
869
|
-
},
|
|
870
848
|
getLoopBreakMessage: (stats, stage) => {
|
|
871
849
|
if (!idealReviewEnabledRef.current)
|
|
872
850
|
return null;
|
|
@@ -1162,9 +1140,12 @@ export function App(props) {
|
|
|
1162
1140
|
// Verification-gate bookkeeping, mirroring AgentSession.trackHookEvent:
|
|
1163
1141
|
// successful code mutations vs completed foreground verification runs.
|
|
1164
1142
|
if (!isError && args) {
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1143
|
+
if (name === "edit" || name === "write") {
|
|
1144
|
+
// A multi-file edit has no top-level file_path: record every target.
|
|
1145
|
+
for (const filePath of editTargetPaths(args)) {
|
|
1146
|
+
if (isCodeFilePath(filePath))
|
|
1147
|
+
verificationGateRef.current.recordMutation(filePath);
|
|
1148
|
+
}
|
|
1168
1149
|
}
|
|
1169
1150
|
if (name === "bash" &&
|
|
1170
1151
|
!args.run_in_background &&
|
|
@@ -2114,8 +2095,8 @@ export function App(props) {
|
|
|
2114
2095
|
{
|
|
2115
2096
|
kind: "info",
|
|
2116
2097
|
text: next
|
|
2117
|
-
? "
|
|
2118
|
-
: "
|
|
2098
|
+
? "Loop-break and re-grounding nudges enabled. Use /ideal-off to disable them."
|
|
2099
|
+
: "Loop-break and re-grounding nudges disabled. Use /ideal-on to enable them.",
|
|
2119
2100
|
id: getId(),
|
|
2120
2101
|
},
|
|
2121
2102
|
]);
|
|
@@ -2601,8 +2582,8 @@ export function App(props) {
|
|
|
2601
2582
|
name: idealReviewEnabled ? "ideal-off" : "ideal-on",
|
|
2602
2583
|
aliases: [],
|
|
2603
2584
|
description: idealReviewEnabled
|
|
2604
|
-
? "Disable
|
|
2605
|
-
: "Enable
|
|
2585
|
+
? "Disable loop-break and re-grounding nudges"
|
|
2586
|
+
: "Enable loop-break and re-grounding nudges",
|
|
2606
2587
|
sectionTitle: "built-in",
|
|
2607
2588
|
},
|
|
2608
2589
|
{
|