@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
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
/**
|
|
3
|
+
* Engine-generated receipt for a helper agent's report.
|
|
4
|
+
*
|
|
5
|
+
* The parent only ever saw a child's prose, and prose can cite files the child
|
|
6
|
+
* never opened. The receipt is built from the child's real tool-call events, so
|
|
7
|
+
* the model cannot write or forge it. It gives the parent checkable handles:
|
|
8
|
+
* which files the child read or changed, which commands it ran and how they
|
|
9
|
+
* exited, and which paths its report names that it never touched.
|
|
10
|
+
*/
|
|
11
|
+
/** Hard cap on the "Receipt (…)" line. */
|
|
12
|
+
export const RECEIPT_MAX_CHARS = 600;
|
|
13
|
+
/** Unbacked paths listed before "+N more". */
|
|
14
|
+
export const UNBACKED_MAX_PATHS = 5;
|
|
15
|
+
const TARGET_MAX_CHARS = 60;
|
|
16
|
+
const COMMAND_MAX_CHARS = 40;
|
|
17
|
+
const FILE_TOOLS = new Set(["read", "write", "edit"]);
|
|
18
|
+
const MUTATING_TOOLS = new Set(["write", "edit"]);
|
|
19
|
+
const ROOT_TOOLS = new Set(["grep", "find", "ls", "code_search"]);
|
|
20
|
+
function str(value) {
|
|
21
|
+
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
22
|
+
}
|
|
23
|
+
/** The one argument that identifies what a tool call acted on. */
|
|
24
|
+
export function keyTarget(name, args = {}) {
|
|
25
|
+
switch (name) {
|
|
26
|
+
case "read":
|
|
27
|
+
case "write":
|
|
28
|
+
case "edit":
|
|
29
|
+
return str(args.file_path) ?? str(args.path) ?? "";
|
|
30
|
+
case "ls":
|
|
31
|
+
return str(args.path) ?? ".";
|
|
32
|
+
case "grep":
|
|
33
|
+
case "find":
|
|
34
|
+
return str(args.pattern) ?? "";
|
|
35
|
+
case "code_search":
|
|
36
|
+
case "web_search":
|
|
37
|
+
return str(args.query) ?? "";
|
|
38
|
+
case "code_nav":
|
|
39
|
+
return str(args.file) ?? "";
|
|
40
|
+
case "bash":
|
|
41
|
+
return (str(args.command) ?? "").split("\n")[0].trim();
|
|
42
|
+
case "web_fetch":
|
|
43
|
+
return str(args.url) ?? "";
|
|
44
|
+
case "source_path":
|
|
45
|
+
return str(args.package) ?? "";
|
|
46
|
+
case "subagent":
|
|
47
|
+
case "spawn_agent":
|
|
48
|
+
if (Array.isArray(args.tasks))
|
|
49
|
+
return `${args.tasks.length} tasks`;
|
|
50
|
+
return str(args.agent) ?? str(args.task_name) ?? "";
|
|
51
|
+
case "task_output":
|
|
52
|
+
case "task_stop":
|
|
53
|
+
case "task_send":
|
|
54
|
+
return str(args.id) ?? "";
|
|
55
|
+
case "skill":
|
|
56
|
+
return str(args.skill) ?? "";
|
|
57
|
+
default: {
|
|
58
|
+
const first = Object.values(args).find((value) => typeof value === "string" && value);
|
|
59
|
+
return typeof first === "string" ? first.split("\n")[0].trim() : "";
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function rootOf(name, args) {
|
|
64
|
+
if (!ROOT_TOOLS.has(name))
|
|
65
|
+
return undefined;
|
|
66
|
+
return str(args.path) ?? ".";
|
|
67
|
+
}
|
|
68
|
+
/** Pairs tool_call_start/tool_call_end events by toolCallId. */
|
|
69
|
+
export class ReceiptRecorder {
|
|
70
|
+
calls = [];
|
|
71
|
+
byId = new Map();
|
|
72
|
+
start(toolCallId, name, args) {
|
|
73
|
+
const toolName = typeof name === "string" && name ? name : "tool";
|
|
74
|
+
const toolArgs = args && typeof args === "object" ? args : {};
|
|
75
|
+
const call = {
|
|
76
|
+
name: toolName,
|
|
77
|
+
target: keyTarget(toolName, toolArgs),
|
|
78
|
+
root: rootOf(toolName, toolArgs),
|
|
79
|
+
outcome: "pending",
|
|
80
|
+
};
|
|
81
|
+
this.calls.push(call);
|
|
82
|
+
if (typeof toolCallId === "string" && toolCallId)
|
|
83
|
+
this.byId.set(toolCallId, call);
|
|
84
|
+
}
|
|
85
|
+
end(toolCallId, result, isError) {
|
|
86
|
+
if (typeof toolCallId !== "string")
|
|
87
|
+
return;
|
|
88
|
+
const call = this.byId.get(toolCallId);
|
|
89
|
+
if (!call)
|
|
90
|
+
return;
|
|
91
|
+
this.byId.delete(toolCallId);
|
|
92
|
+
call.outcome = isError ? "error" : "ok";
|
|
93
|
+
if (call.name === "bash" && typeof result === "string") {
|
|
94
|
+
const match = /^Exit code: (\S+)/.exec(result);
|
|
95
|
+
if (match)
|
|
96
|
+
call.exitCode = match[1];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
reset() {
|
|
100
|
+
this.calls = [];
|
|
101
|
+
this.byId.clear();
|
|
102
|
+
}
|
|
103
|
+
snapshot() {
|
|
104
|
+
return this.calls.map((call) => ({ ...call }));
|
|
105
|
+
}
|
|
106
|
+
/** Receipt + unbacked-path block for a finished report. */
|
|
107
|
+
render(reportText, cwd) {
|
|
108
|
+
return buildHelperReceipt(this.calls, reportText, cwd);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function displayPath(raw, cwd) {
|
|
112
|
+
let shown = raw;
|
|
113
|
+
if (path.isAbsolute(raw)) {
|
|
114
|
+
const relative = path.relative(cwd, raw);
|
|
115
|
+
if (relative && !relative.startsWith("..") && !path.isAbsolute(relative))
|
|
116
|
+
shown = relative;
|
|
117
|
+
}
|
|
118
|
+
shown = shown.split(path.sep).join("/");
|
|
119
|
+
if (shown.length <= TARGET_MAX_CHARS)
|
|
120
|
+
return shown;
|
|
121
|
+
const parts = shown.split("/");
|
|
122
|
+
const tail = `…/${parts.slice(-2).join("/")}`;
|
|
123
|
+
return tail.length <= TARGET_MAX_CHARS ? tail : `…${shown.slice(-(TARGET_MAX_CHARS - 1))}`;
|
|
124
|
+
}
|
|
125
|
+
function clip(text, max) {
|
|
126
|
+
return text.length <= max ? text : `${text.slice(0, max - 1)}…`;
|
|
127
|
+
}
|
|
128
|
+
function renderTarget(call, cwd) {
|
|
129
|
+
const { name, target } = call;
|
|
130
|
+
if (!target)
|
|
131
|
+
return "";
|
|
132
|
+
if (FILE_TOOLS.has(name) || name === "ls" || name === "code_nav") {
|
|
133
|
+
return displayPath(target, cwd);
|
|
134
|
+
}
|
|
135
|
+
if (name === "bash")
|
|
136
|
+
return `\`${clip(target, COMMAND_MAX_CHARS)}\``;
|
|
137
|
+
if (name === "grep" || name === "find" || name === "code_search" || name === "web_search") {
|
|
138
|
+
const root = call.root && call.root !== "." ? ` in ${displayPath(call.root, cwd)}` : "";
|
|
139
|
+
return `"${clip(target, TARGET_MAX_CHARS - 2)}"${root}`;
|
|
140
|
+
}
|
|
141
|
+
return clip(target, TARGET_MAX_CHARS);
|
|
142
|
+
}
|
|
143
|
+
function renderOutcome(call) {
|
|
144
|
+
if (call.name === "bash" && call.exitCode !== undefined)
|
|
145
|
+
return ` → exit ${call.exitCode}`;
|
|
146
|
+
if (call.outcome === "error")
|
|
147
|
+
return " ✗";
|
|
148
|
+
if (call.outcome === "pending")
|
|
149
|
+
return " (unfinished)";
|
|
150
|
+
if (MUTATING_TOOLS.has(call.name))
|
|
151
|
+
return " ✓";
|
|
152
|
+
return "";
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* `Receipt (N calls): read a.ts, b.ts · bash \`npm test\` → exit 0 · edit b.ts ✓`
|
|
156
|
+
* Groups by tool, collapses identical items as ×N, sorts tools and items
|
|
157
|
+
* alphabetically, and caps the line at RECEIPT_MAX_CHARS with "+N more".
|
|
158
|
+
*/
|
|
159
|
+
export function formatReceipt(calls, cwd) {
|
|
160
|
+
const header = `Receipt (${calls.length} call${calls.length === 1 ? "" : "s"})`;
|
|
161
|
+
if (calls.length === 0)
|
|
162
|
+
return `${header}: no tool calls`;
|
|
163
|
+
const groups = new Map();
|
|
164
|
+
for (const call of calls) {
|
|
165
|
+
const item = `${renderTarget(call, cwd)}${renderOutcome(call)}`.trim();
|
|
166
|
+
const group = groups.get(call.name) ?? new Map();
|
|
167
|
+
group.set(item, (group.get(item) ?? 0) + 1);
|
|
168
|
+
groups.set(call.name, group);
|
|
169
|
+
}
|
|
170
|
+
const items = [];
|
|
171
|
+
for (const tool of [...groups.keys()].sort()) {
|
|
172
|
+
const group = groups.get(tool);
|
|
173
|
+
for (const item of [...group.keys()].sort()) {
|
|
174
|
+
const count = group.get(item);
|
|
175
|
+
items.push({ tool, text: `${item}${count > 1 ? ` ×${count}` : ""}` });
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
let line = `${header}:`;
|
|
179
|
+
let lastTool;
|
|
180
|
+
for (let index = 0; index < items.length; index++) {
|
|
181
|
+
const { tool, text } = items[index];
|
|
182
|
+
const piece = tool === lastTool
|
|
183
|
+
? `, ${text}`
|
|
184
|
+
: `${lastTool === undefined ? " " : " · "}${tool}${text ? ` ${text}` : ""}`;
|
|
185
|
+
const remaining = items.length - index - 1;
|
|
186
|
+
// Reserve room for the "+N more" suffix unless this is the last item.
|
|
187
|
+
const reserve = remaining > 0 ? ` · +${remaining} more`.length : 0;
|
|
188
|
+
if (line.length + piece.length + reserve > RECEIPT_MAX_CHARS) {
|
|
189
|
+
return `${line} · +${items.length - index} more`;
|
|
190
|
+
}
|
|
191
|
+
line += piece;
|
|
192
|
+
lastTool = tool;
|
|
193
|
+
}
|
|
194
|
+
return line;
|
|
195
|
+
}
|
|
196
|
+
const PATH_EXTENSIONS = "tsx|ts|mts|cts|jsx|js|mjs|cjs|json|jsonc|md|mdx|py|go|rs|java|kt|kts|cs|rb|php|swift|" +
|
|
197
|
+
"c|cc|cpp|h|hpp|m|sh|bash|zsh|ps1|yml|yaml|toml|ini|css|scss|sass|less|html|vue|svelte|" +
|
|
198
|
+
"sql|graphql|proto|txt|lock|xml|gradle|env";
|
|
199
|
+
// A path-ish token: optional ./ ../ or / prefix, any directory segments, and a
|
|
200
|
+
// file name ending in a known source extension, optionally followed by
|
|
201
|
+
// :line[:col]. Lookbehind rejects mid-token starts (inside URLs, a.b.c chains).
|
|
202
|
+
const PATH_RE = new RegExp(`(?<![\\w@:/.\\\\-])((?:\\.{1,2}/|/)?(?:[\\w@.-]+/)*[\\w@-][\\w@.-]*\\.(?:${PATH_EXTENSIONS}))` +
|
|
203
|
+
`(?::\\d+(?::\\d+)?)?(?![\\w/-])`, "g");
|
|
204
|
+
const URL_RE = /\b[a-z][a-z0-9+.-]*:\/\/\S+/gi;
|
|
205
|
+
/** Prose names, not files: "Node.js", "Next.js", "Vue.js". */
|
|
206
|
+
const LIBRARY_NAME_RE = /^[A-Z][A-Za-z]*\.js$/;
|
|
207
|
+
/** Paths a report mentions, de-duplicated, without :line suffixes. */
|
|
208
|
+
export function extractReportPaths(reportText) {
|
|
209
|
+
const text = reportText.replace(URL_RE, " ");
|
|
210
|
+
const found = new Set();
|
|
211
|
+
for (const match of text.matchAll(PATH_RE)) {
|
|
212
|
+
const candidate = match[1];
|
|
213
|
+
if (LIBRARY_NAME_RE.test(candidate))
|
|
214
|
+
continue;
|
|
215
|
+
if (/^\.+$/.test(candidate))
|
|
216
|
+
continue;
|
|
217
|
+
found.add(candidate);
|
|
218
|
+
}
|
|
219
|
+
return [...found];
|
|
220
|
+
}
|
|
221
|
+
function isUnder(target, root) {
|
|
222
|
+
if (target === root)
|
|
223
|
+
return true;
|
|
224
|
+
const prefix = root.endsWith(path.sep) ? root : `${root}${path.sep}`;
|
|
225
|
+
return target.startsWith(prefix);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Paths the report names that the helper never read, wrote, edited, listed or
|
|
229
|
+
* searched. Conservative by design — anything plausibly touched is covered:
|
|
230
|
+
* exact resolved match, inside a grep/find/ls/code_search root, or (for a
|
|
231
|
+
* relative mention) the trailing segments of a touched file.
|
|
232
|
+
*/
|
|
233
|
+
export function findUnbackedPaths(reportText, calls, cwd) {
|
|
234
|
+
const files = [];
|
|
235
|
+
const roots = [];
|
|
236
|
+
for (const call of calls) {
|
|
237
|
+
if (call.outcome === "error")
|
|
238
|
+
continue;
|
|
239
|
+
if ((FILE_TOOLS.has(call.name) || call.name === "code_nav") && call.target) {
|
|
240
|
+
files.push(path.resolve(cwd, call.target));
|
|
241
|
+
}
|
|
242
|
+
if (call.root)
|
|
243
|
+
roots.push(path.resolve(cwd, call.root));
|
|
244
|
+
}
|
|
245
|
+
const unbacked = [];
|
|
246
|
+
for (const mention of extractReportPaths(reportText)) {
|
|
247
|
+
const resolved = path.resolve(cwd, mention);
|
|
248
|
+
if (files.includes(resolved))
|
|
249
|
+
continue;
|
|
250
|
+
if (roots.some((root) => isUnder(resolved, root)))
|
|
251
|
+
continue;
|
|
252
|
+
if (!path.isAbsolute(mention)) {
|
|
253
|
+
const suffix = `${path.sep}${path.normalize(mention).replace(/^(\.\.?[\\/])+/, "")}`;
|
|
254
|
+
if (files.some((file) => file.endsWith(suffix)))
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
unbacked.push(mention);
|
|
258
|
+
}
|
|
259
|
+
return unbacked.sort();
|
|
260
|
+
}
|
|
261
|
+
export function formatUnbacked(paths) {
|
|
262
|
+
if (paths.length === 0)
|
|
263
|
+
return undefined;
|
|
264
|
+
const shown = paths.slice(0, UNBACKED_MAX_PATHS).join(", ");
|
|
265
|
+
const more = paths.length > UNBACKED_MAX_PATHS ? `, +${paths.length - UNBACKED_MAX_PATHS} more` : "";
|
|
266
|
+
return `Not opened by this helper: ${shown}${more}`;
|
|
267
|
+
}
|
|
268
|
+
/** Full receipt block appended to a helper's result. */
|
|
269
|
+
export function buildHelperReceipt(calls, reportText, cwd) {
|
|
270
|
+
const lines = [formatReceipt(calls, cwd)];
|
|
271
|
+
const unbacked = formatUnbacked(findUnbackedPaths(reportText, calls, cwd));
|
|
272
|
+
if (unbacked)
|
|
273
|
+
lines.push(unbacked);
|
|
274
|
+
return lines.join("\n");
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=subagent-receipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-receipt.js","sourceRoot":"","sources":["../../src/core/subagent-receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface SubagentTurnRecord {
|
|
2
2
|
status: "completed" | "interrupted" | "failed";
|
|
3
3
|
output?: string;
|
|
4
|
+
/** Engine-built receipt of the turn's tool calls (see subagent-receipt.ts). */
|
|
5
|
+
receipt?: string;
|
|
4
6
|
error?: string;
|
|
5
7
|
model?: string;
|
|
6
8
|
turn_count: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-turn-record.js","sourceRoot":"","sources":["../../src/core/subagent-turn-record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-turn-record.js","sourceRoot":"","sources":["../../src/core/subagent-turn-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export interface TestImpactOptions {
|
|
2
|
+
now?: () => number;
|
|
3
|
+
}
|
|
4
|
+
/** Names a module exports, from its source text. */
|
|
5
|
+
export declare function parseExports(source: string): Set<string>;
|
|
6
|
+
export interface EditImpact {
|
|
7
|
+
/** Nearest test files reaching the changed file, relative to cwd, sorted. */
|
|
8
|
+
tests: string[];
|
|
9
|
+
/** Tests reaching it only through more layers of imports; counted, not listed. */
|
|
10
|
+
fartherTests: number;
|
|
11
|
+
/** One shell command per package that runs exactly those tests. */
|
|
12
|
+
commands: string[];
|
|
13
|
+
/** Exports the edit removed that some importer still imports by name. */
|
|
14
|
+
brokenCallers: Array<{
|
|
15
|
+
name: string;
|
|
16
|
+
importers: string[];
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
export declare class TestImpactIndex {
|
|
20
|
+
private readonly cwd;
|
|
21
|
+
private readonly entries;
|
|
22
|
+
private readonly importers;
|
|
23
|
+
private known;
|
|
24
|
+
private scannedAt;
|
|
25
|
+
private scanning;
|
|
26
|
+
/** Export sets captured just before a tool write, keyed by absolute path. */
|
|
27
|
+
private readonly preWriteExports;
|
|
28
|
+
/** Files whose reaching tests were already shown; later edits stay quiet. */
|
|
29
|
+
private readonly shown;
|
|
30
|
+
private readonly runnerCache;
|
|
31
|
+
private readonly now;
|
|
32
|
+
constructor(cwd: string, options?: TestImpactOptions);
|
|
33
|
+
/** Record a file's exports before a tool overwrites it. */
|
|
34
|
+
beforeWrite(absPath: string): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Model-facing note for a just-written file: the tests that reach it (first
|
|
37
|
+
* edit of each file only) and importers left using a removed export (every
|
|
38
|
+
* time). Empty when there is nothing to say.
|
|
39
|
+
*/
|
|
40
|
+
noteAfterWrite(absPath: string, content: string): Promise<string>;
|
|
41
|
+
/** Tests and commands covering a set of changed files (cwd-relative or absolute). */
|
|
42
|
+
impactFor(files: Iterable<string>, brokenCallers?: EditImpact["brokenCallers"]): Promise<EditImpact>;
|
|
43
|
+
private isSource;
|
|
44
|
+
private ensureScanned;
|
|
45
|
+
/**
|
|
46
|
+
* Source files under cwd, cwd-relative and sorted. `git ls-files` first: it
|
|
47
|
+
* applies every nested .gitignore and never walks ignored trees (measured on
|
|
48
|
+
* this repo: 17ms vs 12s for a directory walk that descends into build
|
|
49
|
+
* output before filtering). The walk is the fallback outside a git checkout.
|
|
50
|
+
*/
|
|
51
|
+
private listSourceFiles;
|
|
52
|
+
private scan;
|
|
53
|
+
private resolveSpec;
|
|
54
|
+
private updateEntry;
|
|
55
|
+
private removeEntry;
|
|
56
|
+
/**
|
|
57
|
+
* Tests reaching `file`, nearest import layer first. A layer is added while
|
|
58
|
+
* the running total stays at or under {@link MAX_COMMAND_TESTS}, and the
|
|
59
|
+
* first layer that finds any test is always added. Without the cap a shared
|
|
60
|
+
* hub (a session object most tests construct) makes a leaf helper "reach"
|
|
61
|
+
* half the suite, and a list that long is a list nobody runs. `farther`
|
|
62
|
+
* counts the reaching tests left out.
|
|
63
|
+
*/
|
|
64
|
+
private reachingTests;
|
|
65
|
+
private brokenCallers;
|
|
66
|
+
/** Nearest package.json's test runner (vitest or jest), walking up to cwd. */
|
|
67
|
+
private runnerFor;
|
|
68
|
+
private commandsFor;
|
|
69
|
+
}
|
|
70
|
+
/** The note appended to a successful edit/write result. Empty when nothing applies. */
|
|
71
|
+
export declare function formatEditImpactNote(relPath: string, impact: EditImpact): string;
|
|
72
|
+
/** One line for the verification demand: which tests reach the changed files, and how to run them. */
|
|
73
|
+
export declare function formatImpactForVerification(impact: EditImpact): string;
|