@prestyj/cli 5.28.0 → 5.29.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/README.md +2 -2
- package/assets/motion/THIRD-PARTY.md +14 -19
- package/assets/motion/bin/contact-sheet.mjs +9 -3
- package/assets/motion/bin/cues.mjs +337 -0
- package/assets/motion/bin/flash-check.mjs +314 -0
- package/assets/motion/bin/fonts.mjs +17 -13
- package/assets/motion/bin/library.mjs +61 -18
- package/assets/motion/bin/motion-blur.mjs +943 -0
- package/assets/motion/bin/motion-check.mjs +366 -9
- 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/fonts/finger-paint/OFL.txt +93 -0
- package/assets/motion/fonts/finger-paint/finger-paint-normal.woff2 +0 -0
- package/assets/motion/fonts/fonts.json +56 -0
- package/assets/motion/fonts/short-stack/OFL.txt +94 -0
- package/assets/motion/fonts/short-stack/short-stack-normal.woff2 +0 -0
- package/assets/motion/fonts/sora/OFL.txt +93 -0
- package/assets/motion/fonts/sora/sora-normal.woff2 +0 -0
- package/assets/motion/fonts/specimen.jpg +0 -0
- package/assets/motion/fonts/unbounded/OFL.txt +93 -0
- package/assets/motion/fonts/unbounded/unbounded-normal.woff2 +0 -0
- package/assets/motion/library/README.md +52 -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/plugin.json +1 -1
- package/assets/motion/references/build-sheet.md +206 -0
- package/assets/motion/references/runtime/determinism-rules.md +3 -3
- package/assets/motion/references/runtime/gsap-easing-and-stagger.md +28 -28
- package/assets/motion/references/runtime/gsap.md +3 -3
- package/assets/motion/references/runtime/inputs-and-assets.md +21 -16
- package/assets/motion/references/runtime/lint-validate-inspect.md +3 -3
- package/assets/motion/references/runtime/minimal-composition.md +6 -0
- package/assets/motion/references/runtime/preview-render.md +3 -3
- package/assets/motion/skills/app-walkthrough/SKILL.md +66 -0
- package/assets/motion/skills/before-after/SKILL.md +53 -0
- package/assets/motion/skills/brand-kit/SKILL.md +17 -16
- package/assets/motion/skills/dev-tool-video/SKILL.md +57 -0
- package/assets/motion/skills/launch-video/SKILL.md +62 -0
- package/assets/motion/skills/match-reference/SKILL.md +58 -0
- package/assets/motion/skills/motion/SKILL.md +167 -98
- package/assets/motion/skills/source-ingest/SKILL.md +23 -15
- package/assets/motion/skills/website-video/SKILL.md +59 -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 +203 -47
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli.js +20 -28
- 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 +119 -75
- package/dist/core/agent-session.js +561 -395
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents.d.ts +6 -5
- package/dist/core/agents.js +12 -3
- 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/auth-providers.js +1 -1
- package/dist/core/auth-providers.js.map +1 -1
- package/dist/core/autopilot-verdict.d.ts +5 -1
- package/dist/core/autopilot-verdict.js +30 -13
- package/dist/core/autopilot-verdict.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/compaction/compactor.js +78 -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/fast-apply-benchmark.d.ts +1 -1
- package/dist/core/fast-apply-benchmark.js +2 -2
- package/dist/core/fast-apply-benchmark.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.d.ts +7 -5
- package/dist/core/nolan-context.js +106 -16
- package/dist/core/nolan-context.js.map +1 -1
- package/dist/core/nolan-prompt.js +24 -21
- package/dist/core/nolan-prompt.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/project-discovery.js +77 -26
- package/dist/core/project-discovery.js.map +1 -1
- package/dist/core/semantic-search-benchmark.d.ts +1 -1
- package/dist/core/semantic-search-benchmark.js +2 -2
- package/dist/core/semantic-search-benchmark.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 +2 -0
- package/dist/core/settings-manager.js +10 -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 +16 -4
- 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 +23 -6
- package/dist/core/subagent-manager.js +25 -9
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-policy.js +1 -1
- package/dist/core/subagent-policy.js.map +1 -1
- package/dist/core/subagent-receipt.d.ts +54 -0
- package/dist/core/subagent-receipt.js +276 -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/core/worktree-setup.d.ts +23 -0
- package/dist/core/worktree-setup.js +128 -9
- package/dist/core/worktree-setup.js.map +1 -1
- package/dist/core/worktree.d.ts +20 -2
- package/dist/core/worktree.js +74 -31
- package/dist/core/worktree.js.map +1 -1
- package/dist/interactive.js +2 -1
- package/dist/interactive.js.map +1 -1
- package/dist/modes/json-mode.js +11 -2
- package/dist/modes/json-mode.js.map +1 -1
- package/dist/modes/subagent-worker-mode.d.ts +36 -1
- package/dist/modes/subagent-worker-mode.js +100 -42
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/motion-agent/motion-agent.d.ts +7 -3
- package/dist/motion-agent/motion-agent.js +6 -8
- 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 -25
- package/dist/motion-agent/motion-prompt.js.map +1 -1
- package/dist/motion-agent/motion-review-session.js +1 -1
- 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.d.ts +2 -1
- package/dist/system-prompt.js +15 -4
- 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 +179 -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.js +13 -5
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/goals.d.ts +1 -1
- package/dist/tools/index.d.ts +25 -2
- package/dist/tools/index.js +48 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/prompt-hints.js +2 -0
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/read-tracker.d.ts +35 -2
- package/dist/tools/read-tracker.js +108 -11
- package/dist/tools/read-tracker.js.map +1 -1
- package/dist/tools/read.js +39 -7
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/skill.js +5 -0
- 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 +48 -8
- package/dist/tools/subagent-shared.js +75 -14
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/subagent.d.ts +8 -2
- package/dist/tools/subagent.js +28 -10
- 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 +2 -2
- package/dist/tools/tool-tiers.js +3 -2
- 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/tools/write.js +4 -3
- package/dist/tools/write.js.map +1 -1
- package/dist/ui/App.d.ts +0 -4
- package/dist/ui/App.js +5 -28
- 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/Footer.js +1 -1
- package/dist/ui/components/Footer.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 +2 -4
- package/dist/ui/render.js +3 -2
- package/dist/ui/render.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/dist/utils/text.d.ts +12 -0
- package/dist/utils/text.js +11 -0
- package/dist/utils/text.js.map +1 -1
- package/package.json +6 -6
- package/assets/motion/skills/mixkit-split-text-617/SKILL.md +0 -115
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-480.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-494.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-5.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-508.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6525.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6539.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6647.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6663.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6677.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6691.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6706.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6722.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6736.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6750.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6764.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6780.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6794.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6810.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6823.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6872.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6936.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-76.json +0 -1
- package/assets/motion/skills/mixkit-split-text-617/data/manifest.json +0 -495
- package/assets/motion/skills/mixkit-split-text-617/references/RECONSTRUCTION.md +0 -201
- package/assets/motion/skills/mixkit-split-text-617/references/VERIFICATION.md +0 -107
- package/assets/motion/skills/mixkit-split-text-617/tools/inspect_motion.py +0 -130
- package/assets/motion/skills/video-qa/SKILL.md +0 -66
- package/dist/core/ideal-review-subagent.d.ts +0 -42
- package/dist/core/ideal-review-subagent.js +0 -95
- 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 -21
- package/dist/motion-agent/motion-check-tool.js +0 -206
- package/dist/motion-agent/motion-check-tool.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AgentTool } from "@prestyj/agent";
|
|
2
|
-
import { type Message, type MessageProvenance, type Provider, type ThinkingLevel } from "@prestyj/ai";
|
|
2
|
+
import { type Message, type MessageProvenance, type Provider, type Usage, type ThinkingLevel } from "@prestyj/ai";
|
|
3
3
|
import { EventBus } from "./event-bus.js";
|
|
4
4
|
import { type CompletionReview } from "./completion-review.js";
|
|
5
5
|
import { SlashCommandRegistry } from "./slash-commands.js";
|
|
@@ -9,6 +9,7 @@ import type { BackgroundProcess } from "./process-manager.js";
|
|
|
9
9
|
import type { MCPElicitHandler } from "./mcp/index.js";
|
|
10
10
|
import { type ContextLimits } from "./context-limits.js";
|
|
11
11
|
import { type ImportForeignTranscriptResult } from "./foreign-session-import.js";
|
|
12
|
+
import { type CacheExpiryStatus } from "./cache-expiry.js";
|
|
12
13
|
import { type EnhanceResult } from "../utils/prompt-enhancer.js";
|
|
13
14
|
import { type VerificationEvidence } from "./verification-evidence.js";
|
|
14
15
|
/** A chat attachment (image / video / other file) prepared for the model. The
|
|
@@ -21,6 +22,13 @@ export interface SessionAttachment {
|
|
|
21
22
|
name: string;
|
|
22
23
|
path?: string;
|
|
23
24
|
}
|
|
25
|
+
/** Per-prompt run controls. */
|
|
26
|
+
export interface PromptRunOptions {
|
|
27
|
+
/** Offer the model no tools for this prompt. */
|
|
28
|
+
disableTools?: boolean;
|
|
29
|
+
/** Hold reasoning effort at the plan-mode ceiling for this prompt. */
|
|
30
|
+
capThinking?: boolean;
|
|
31
|
+
}
|
|
24
32
|
export interface AgentSessionOptions {
|
|
25
33
|
provider: Provider;
|
|
26
34
|
model: string;
|
|
@@ -155,7 +163,7 @@ export interface AgentSessionOptions {
|
|
|
155
163
|
sessionRootDir?: string;
|
|
156
164
|
/** Register EZ Coder built-in/prompt/custom slash commands. Defaults to true. */
|
|
157
165
|
coderSlashCommands?: boolean;
|
|
158
|
-
/** Enable loop-break
|
|
166
|
+
/** Enable loop-break and re-grounding hooks. Defaults to true. */
|
|
159
167
|
selfCorrectionHooks?: boolean;
|
|
160
168
|
/** Override the semantic-loop judge LLM call (tests). Receives the finished
|
|
161
169
|
* prompt, returns the model's raw reply. Default: one-shot `stream()` call
|
|
@@ -222,6 +230,7 @@ export declare class AgentSession {
|
|
|
222
230
|
private autopilotMarkers;
|
|
223
231
|
private appMarkers;
|
|
224
232
|
private turnMetrics;
|
|
233
|
+
private readonly cacheDiagnostics;
|
|
225
234
|
/** Internal-only (EZ_INTERNAL): live per-session cost/reliability recorder.
|
|
226
235
|
* Absent entirely in public builds — see core/internal-diagnostics.ts. */
|
|
227
236
|
private diagnosticsRecorder?;
|
|
@@ -230,6 +239,10 @@ export declare class AgentSession {
|
|
|
230
239
|
* creation). Called from switchModel so video-capable models get the
|
|
231
240
|
* read-tool's native-video path after a mid-session model change. */
|
|
232
241
|
private rebuildReadTool;
|
|
242
|
+
/** Forgets every file read; called whenever the conversation is replaced or
|
|
243
|
+
* rewound, so the model must re-read a file before changing it. */
|
|
244
|
+
private clearReadTracker;
|
|
245
|
+
private recordBashReads;
|
|
233
246
|
private skills;
|
|
234
247
|
private cacheKeyLogged;
|
|
235
248
|
private hookStats;
|
|
@@ -242,20 +255,6 @@ export declare class AgentSession {
|
|
|
242
255
|
private hookFileEditCounts;
|
|
243
256
|
private hookToolCalls;
|
|
244
257
|
private backgroundVerification;
|
|
245
|
-
private idealReviewPhase;
|
|
246
|
-
/** Runtime-only suppression while Nolan owns verification in autopilot mode. */
|
|
247
|
-
private idealReviewSuppressed;
|
|
248
|
-
/** Mirror of the last `hook_armed` value broadcast this run, so the event
|
|
249
|
-
* fires only on a real edge. */
|
|
250
|
-
private idealReviewArmed;
|
|
251
|
-
/** Cached test-drift probe, keyed by the size of the edited-file set. Drift
|
|
252
|
-
* depends only on WHICH files were edited and that set only grows, so this
|
|
253
|
-
* keeps the arming check off the filesystem on most tool results — the probe
|
|
254
|
-
* is several sync existsSync calls per edited file. */
|
|
255
|
-
private idealDriftProbe;
|
|
256
|
-
private readonly reviewCoverage;
|
|
257
|
-
/** Coverage follow-ups spent this run, capped by MAX_REVIEW_COVERAGE_INJECTIONS. */
|
|
258
|
-
private reviewCoverageInjected;
|
|
259
258
|
/** 0 = none; 1 = first nudge sent; 2 = final stop-and-report injected. */
|
|
260
259
|
private loopBreakInjected;
|
|
261
260
|
private regroundingInjected;
|
|
@@ -265,8 +264,6 @@ export declare class AgentSession {
|
|
|
265
264
|
* injection at the next steering poll; judge failures fail open (no
|
|
266
265
|
* injection) and still consume budget + cooldown. */
|
|
267
266
|
private semanticLoop;
|
|
268
|
-
/** Independent Ideal reviewer spawned once per run (score-gated). */
|
|
269
|
-
private independentReviewStarted;
|
|
270
267
|
/**
|
|
271
268
|
* The environment as the cached system prompt currently describes it.
|
|
272
269
|
* Re-recorded on every prompt build, so a rebuild (e.g. `/add-dir`) needs no
|
|
@@ -277,11 +274,12 @@ export declare class AgentSession {
|
|
|
277
274
|
private runStartedAt;
|
|
278
275
|
/** Gate injections spent this run, capped by MAX_PROCESS_GATE_INJECTIONS. */
|
|
279
276
|
private processGateInjected;
|
|
280
|
-
/** Verification gate: code edited this run, nothing proved it since.
|
|
277
|
+
/** Verification gate: code edited this run, nothing proved it since. Always
|
|
278
|
+
* tracks evidence for run status; the `verificationGateEnabled` setting
|
|
279
|
+
* decides whether an unverified stop is also continued once. */
|
|
281
280
|
private readonly verificationGate;
|
|
282
|
-
/** Mirror of the last
|
|
283
|
-
|
|
284
|
-
private verificationArmed;
|
|
281
|
+
/** Mirror of the last `hook_armed` value, so the event fires only on an edge. */
|
|
282
|
+
private preFinalArmed;
|
|
285
283
|
private compactionOccurred;
|
|
286
284
|
/**
|
|
287
285
|
* Re-grounding carry-over for post-turn compaction. `resetHookState` clears
|
|
@@ -294,6 +292,12 @@ export declare class AgentSession {
|
|
|
294
292
|
private postTurnCompaction?;
|
|
295
293
|
private lastCompactionCompacted;
|
|
296
294
|
private compactionRetryAfter;
|
|
295
|
+
/**
|
|
296
|
+
* SoL-Pi plan-step compaction bookkeeping (see compaction/plan-step-policy.ts).
|
|
297
|
+
* Step progress comes from `[DONE:n]` markers in assistant text — the same
|
|
298
|
+
* contract the approved-plan UI tracks.
|
|
299
|
+
*/
|
|
300
|
+
private planStepState;
|
|
297
301
|
/** A restored oversized checkpoint must be canonicalized before its first prompt is persisted. */
|
|
298
302
|
private deferredCompactionPending;
|
|
299
303
|
/** Latest provider count, anchored to the assistant response it measured. */
|
|
@@ -301,8 +305,12 @@ export declare class AgentSession {
|
|
|
301
305
|
private originalRequest;
|
|
302
306
|
private userQueue;
|
|
303
307
|
private queueSeq;
|
|
308
|
+
/** Instant interrupt: the running loop's preempt listeners, fired on queueMessage. */
|
|
309
|
+
private steeringListeners;
|
|
304
310
|
private processManager?;
|
|
305
311
|
private lspManager?;
|
|
312
|
+
private testImpact?;
|
|
313
|
+
private debugManager?;
|
|
306
314
|
private subAgentManager?;
|
|
307
315
|
/**
|
|
308
316
|
* Out-of-band push notifications (finished children, background-process
|
|
@@ -450,6 +458,14 @@ export declare class AgentSession {
|
|
|
450
458
|
* registration on an existing catalog would leave those tools unreachable.
|
|
451
459
|
*/
|
|
452
460
|
private ensureToolSearchTool;
|
|
461
|
+
/**
|
|
462
|
+
* `wait_agent` is deferred, yet nearly every `spawn_agent` is followed by it,
|
|
463
|
+
* so the model spent a whole turn on `tool_search` just to load it (bench 41:
|
|
464
|
+
* ~6 s per fan-out). Promote it as soon as a spawn succeeds instead: the tool
|
|
465
|
+
* list grows exactly as it would after that `tool_search`, one turn earlier,
|
|
466
|
+
* and sessions that never spawn keep the smaller prefix.
|
|
467
|
+
*/
|
|
468
|
+
private promoteWaitAgentAfterSpawn;
|
|
453
469
|
/** Append tools, replacing any same-named entry (cached stub → live tool). */
|
|
454
470
|
private replaceOrPushTools;
|
|
455
471
|
/** Swap already-promoted cached stubs for their live equivalents, in place. */
|
|
@@ -482,10 +498,10 @@ export declare class AgentSession {
|
|
|
482
498
|
willExpandPromptTemplate(content: string): Promise<boolean>;
|
|
483
499
|
/**
|
|
484
500
|
* Process user input. Handles slash commands or runs agent loop.
|
|
501
|
+
* `capThinking` holds reasoning effort at the plan-mode ceiling for this
|
|
502
|
+
* prompt — for turns that must answer quickly from what is already known.
|
|
485
503
|
*/
|
|
486
|
-
prompt(content: string, provenance?: MessageProvenance, options?:
|
|
487
|
-
disableTools?: boolean;
|
|
488
|
-
}): Promise<void>;
|
|
504
|
+
prompt(content: string, provenance?: MessageProvenance, options?: PromptRunOptions): Promise<void>;
|
|
489
505
|
/**
|
|
490
506
|
* Prompt with multimodal attachments (images / videos) alongside optional
|
|
491
507
|
* text. Images and videos become native content blocks the model can see;
|
|
@@ -508,10 +524,17 @@ export declare class AgentSession {
|
|
|
508
524
|
private resetHookState;
|
|
509
525
|
/**
|
|
510
526
|
* Fold one agent event into the hook stat accumulators. Pure bookkeeping —
|
|
511
|
-
* the same signals the TUI's useAgentLoop collects, so
|
|
512
|
-
*
|
|
527
|
+
* the same signals the TUI's useAgentLoop collects, so loop-break decisions
|
|
528
|
+
* match across the CLI and the app.
|
|
513
529
|
*/
|
|
514
530
|
private trackHookEvent;
|
|
531
|
+
/**
|
|
532
|
+
* Count full-file `cat` output from the step that just finished as reads, so
|
|
533
|
+
* an edit after `cat` does not cost a second read. Uses the step's results as
|
|
534
|
+
* stored in the transcript (after per-turn trimming): only bytes the model
|
|
535
|
+
* actually received count.
|
|
536
|
+
*/
|
|
537
|
+
private creditBashReads;
|
|
515
538
|
/**
|
|
516
539
|
* Append every message added since the last flush to the session file.
|
|
517
540
|
*
|
|
@@ -543,15 +566,6 @@ export declare class AgentSession {
|
|
|
543
566
|
* cheaper routing: judging a model's own failure patterns with a weaker
|
|
544
567
|
* model swaps false negatives for false positives. */
|
|
545
568
|
private callSemanticLoopJudge;
|
|
546
|
-
/** Independent fresh-context review of the finished work (Codex Guardian
|
|
547
|
-
* pattern). Spawns a READ-ONLY child on the ACTIVE model, waits bounded,
|
|
548
|
-
* and returns findings for the acting agent to address — or nothing when
|
|
549
|
-
* the review passes, is unavailable, or fails (in-thread review remains the
|
|
550
|
-
* fallback; the feature degrades, never blocks).
|
|
551
|
-
*
|
|
552
|
-
* Runs inside the pre-stop poll, so the candidate final answer is already
|
|
553
|
-
* held by arming and this wait cannot race a streamed answer. */
|
|
554
|
-
private runIndependentReview;
|
|
555
569
|
/**
|
|
556
570
|
* Turn-budget extension gate. The loop consults this instead of stopping
|
|
557
571
|
* mid-task when it exhausts `maxTurns`. Grant ONLY on evidence of progress —
|
|
@@ -559,45 +573,31 @@ export declare class AgentSession {
|
|
|
559
573
|
* with — so reuse the same stuck signals that drive the loop-breaker.
|
|
560
574
|
*/
|
|
561
575
|
private shouldExtendTurnBudget;
|
|
562
|
-
/**
|
|
563
|
-
*
|
|
564
|
-
*
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
*
|
|
568
|
-
*
|
|
569
|
-
*
|
|
570
|
-
*
|
|
571
|
-
|
|
572
|
-
* appear-then-vanish flash. Over-arming by one turn point costs only live
|
|
573
|
-
* token streaming on a final answer that then shows whole; under-arming costs
|
|
574
|
-
* the flash, so this errs toward arming.
|
|
575
|
-
*/
|
|
576
|
-
private wouldInjectIdealReview;
|
|
577
|
-
/** Would a stop right now inject the verification gate? Same conditions as
|
|
578
|
-
* the pre-stop branch below, so arming and injection cannot disagree. */
|
|
579
|
-
private wouldInjectVerification;
|
|
576
|
+
/** Is the pre-stop verification gate active for this session? Off by the
|
|
577
|
+
* `verificationGateEnabled` setting, by `selfCorrectionHooks: false`, and for
|
|
578
|
+
* allow-listed sessions that cannot run commands at all. */
|
|
579
|
+
private verificationGateActive;
|
|
580
|
+
/** Would a stop right now inject a pre-final follow-up? Queued LSP
|
|
581
|
+
* diagnostics (real errors injected below), a mode-owned completion review,
|
|
582
|
+
* or the verification gate can, so clients hold the candidate answer only
|
|
583
|
+
* then. Same conditions as the pre-stop branch, so arming and injection
|
|
584
|
+
* cannot disagree. */
|
|
585
|
+
private wouldInjectBeforeFinal;
|
|
580
586
|
/** Broadcast pre-final hook arming on change. Both edges matter: armed=false
|
|
581
|
-
* after the hook fires is what lets a client stream the
|
|
582
|
-
*
|
|
583
|
-
*
|
|
584
|
-
* Callable before `initialize()`: the sidecar sets Nolan's review suppression
|
|
585
|
-
* on a freshly constructed session, and every arming predicate below reads
|
|
586
|
-
* settings that `initialize()` has not loaded yet. Nothing can be armed
|
|
587
|
-
* before the session can run a turn, and the first `tool_result`/`turn_end`
|
|
588
|
-
* recomputes both edges — so skipping is the correct answer, not a patch. */
|
|
587
|
+
* after the hook fires is what lets a client stream the final answer live
|
|
588
|
+
* again. Callable before `initialize()`, when no manager exists yet. */
|
|
589
589
|
private refreshHookArming;
|
|
590
|
-
private refreshVerificationArmed;
|
|
591
|
-
private refreshIdealReviewArmed;
|
|
592
590
|
/**
|
|
593
|
-
* Pre-stop
|
|
594
|
-
*
|
|
591
|
+
* Pre-stop follow-ups: LSP errors, unread child agents and background
|
|
592
|
+
* processes, the verification gate (when `verificationGateEnabled`), and a
|
|
593
|
+
* mode-owned completion review.
|
|
595
594
|
*/
|
|
596
595
|
private getHookFollowUpMessages;
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
/** Auto-compact if needed, run agent loop with auth retry, and persist messages. */
|
|
596
|
+
/** Wraps the real run: cancels an in-flight cache prewarm and tracks run
|
|
597
|
+
* activity / last real request time for {@link prewarm}. */
|
|
600
598
|
private runLoop;
|
|
599
|
+
/** Auto-compact if needed, run agent loop with auth retry, and persist messages. */
|
|
600
|
+
private runLoopInner;
|
|
601
601
|
switchModel(provider: string, model: string): Promise<void>;
|
|
602
602
|
/**
|
|
603
603
|
* Record the switch as its own trailing message at the point it happened,
|
|
@@ -624,6 +624,20 @@ export declare class AgentSession {
|
|
|
624
624
|
* protect it.
|
|
625
625
|
*/
|
|
626
626
|
private settlePostTurnCompaction;
|
|
627
|
+
/**
|
|
628
|
+
* Advance plan-step bookkeeping over the messages added since the last
|
|
629
|
+
* observation and, when a plan step was newly completed (`[DONE:n]`), run
|
|
630
|
+
* the SoL-Pi cost rule. Called between model steps (in-flight) and once
|
|
631
|
+
* after the run; `scanIndex` and `doneSteps` make each message and each
|
|
632
|
+
* step count once across both paths. Returns undefined when no step
|
|
633
|
+
* completed since the last observation.
|
|
634
|
+
*/
|
|
635
|
+
private observePlanStepProgress;
|
|
636
|
+
/**
|
|
637
|
+
* Plan-step bookkeeping after ANY successful compaction (as in the bench:
|
|
638
|
+
* every compaction leaves a cache-write cost to be repaid by later savings).
|
|
639
|
+
*/
|
|
640
|
+
private recordPlanStepCompaction;
|
|
627
641
|
/**
|
|
628
642
|
* Post-turn compaction: once the final response has been delivered, compact
|
|
629
643
|
* in the background while the user reads the answer, instead of making the
|
|
@@ -632,7 +646,9 @@ export declare class AgentSession {
|
|
|
632
646
|
* Codex `model_post_turn_compact_threshold_percent` guards: skip when user
|
|
633
647
|
* input is already queued (it would race the next turn), when the run was
|
|
634
648
|
* aborted, or during the failure cooldown — and never let a compaction
|
|
635
|
-
* error surface in the completed turn.
|
|
649
|
+
* error surface in the completed turn. Besides the size trigger, a newly
|
|
650
|
+
* completed approved-plan step may compact when the cache-cost rule in
|
|
651
|
+
* compaction/plan-step-policy.ts says the shrink pays for itself.
|
|
636
652
|
*/
|
|
637
653
|
private maybeCompactPostTurn;
|
|
638
654
|
compact(existingCredentials?: {
|
|
@@ -678,13 +694,13 @@ export declare class AgentSession {
|
|
|
678
694
|
size: number;
|
|
679
695
|
costUsd?: number;
|
|
680
696
|
};
|
|
681
|
-
getPlanMode(): boolean;
|
|
682
697
|
/**
|
|
683
|
-
*
|
|
684
|
-
*
|
|
685
|
-
*
|
|
698
|
+
* Whether the provider's prompt cache has likely lapsed since the last
|
|
699
|
+
* successful request, and how many tokens the next message would re-read at
|
|
700
|
+
* full price. Null when the route has no known TTL or the chat is empty.
|
|
686
701
|
*/
|
|
687
|
-
|
|
702
|
+
getCacheExpiryStatus(now?: number): CacheExpiryStatus | null;
|
|
703
|
+
getPlanMode(): boolean;
|
|
688
704
|
/** Queue a user message (optionally with attachments) to be injected mid-run
|
|
689
705
|
* as steering. Returns the new queue length. No-op semantics are the caller's
|
|
690
706
|
* concern. */
|
|
@@ -716,6 +732,13 @@ export declare class AgentSession {
|
|
|
716
732
|
listBackgroundProcesses(): BackgroundProcess[];
|
|
717
733
|
/** Stop a background process by id. Returns a human-readable status string. */
|
|
718
734
|
killBackgroundProcess(id: string): Promise<string>;
|
|
735
|
+
/**
|
|
736
|
+
* Force-stop every background process tree, synchronously. Background
|
|
737
|
+
* commands run in their own process group, so the daemon's group kill on
|
|
738
|
+
* quit never reaches them: this is the only thing that does. Callers on a
|
|
739
|
+
* shutdown deadline run it before awaiting anything that can hang.
|
|
740
|
+
*/
|
|
741
|
+
stopBackgroundProcesses(): void;
|
|
719
742
|
/** Replace a host-owned system prompt in place without resetting conversation history. */
|
|
720
743
|
setCustomSystemPrompt(systemPrompt: string, promptCacheKeyPrefix?: string): void;
|
|
721
744
|
/**
|
|
@@ -784,6 +807,11 @@ export declare class AgentSession {
|
|
|
784
807
|
* the standard prompt therefore needs a rebuild. Custom and sub-agent
|
|
785
808
|
* prompts never render packs, so detection is skipped for them.
|
|
786
809
|
*/
|
|
810
|
+
/**
|
|
811
|
+
* Bring the system prompt to the exact state the next provider request will
|
|
812
|
+
* send. Shared by real runs and {@link prewarm} so both see one prefix.
|
|
813
|
+
*/
|
|
814
|
+
private prepareSystemPromptForRequest;
|
|
787
815
|
private refreshActiveLanguages;
|
|
788
816
|
/** Rebuild messages[0] from current plan-mode + approved-plan state. */
|
|
789
817
|
private rebuildSystemPromptInPlace;
|
|
@@ -919,6 +947,22 @@ export declare class AgentSession {
|
|
|
919
947
|
/** Replace the abort signal (e.g. after cancellation). */
|
|
920
948
|
setSignal(signal: AbortSignal): void;
|
|
921
949
|
private bindManagerCancellation;
|
|
950
|
+
private runLoopDepth;
|
|
951
|
+
private lastRealRequestAt;
|
|
952
|
+
private lastPrewarmAt;
|
|
953
|
+
private prewarmController;
|
|
954
|
+
/**
|
|
955
|
+
* Best-effort Anthropic prompt-cache prewarm before the user's next turn
|
|
956
|
+
* (desktop app calls this on the first keystroke after opening a chat or an
|
|
957
|
+
* idle pause). Sends the exact request prefix the next real turn will use —
|
|
958
|
+
* same system/tools/thinking/cache options — with `max_tokens: 1`, so the
|
|
959
|
+
* first real reply is a cache read instead of a cold write.
|
|
960
|
+
*/
|
|
961
|
+
prewarm(signal?: AbortSignal): Promise<{
|
|
962
|
+
ok: boolean;
|
|
963
|
+
reason: string;
|
|
964
|
+
usage?: Usage;
|
|
965
|
+
}>;
|
|
922
966
|
/** True when speedProfile is "optimized" (1-h cache TTL + pre-warm), or the
|
|
923
967
|
* session was constructed with `forceLongCacheRetention` (Nolan sessions). */
|
|
924
968
|
private isSpeedOptimized;
|