@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.
Files changed (398) hide show
  1. package/README.md +2 -2
  2. package/assets/motion/THIRD-PARTY.md +14 -19
  3. package/assets/motion/bin/contact-sheet.mjs +9 -3
  4. package/assets/motion/bin/cues.mjs +337 -0
  5. package/assets/motion/bin/flash-check.mjs +314 -0
  6. package/assets/motion/bin/fonts.mjs +17 -13
  7. package/assets/motion/bin/library.mjs +61 -18
  8. package/assets/motion/bin/motion-blur.mjs +943 -0
  9. package/assets/motion/bin/motion-check.mjs +366 -9
  10. package/assets/motion/bin/music-fit.mjs +436 -0
  11. package/assets/motion/bin/pdf-extract.mjs +22 -10
  12. package/assets/motion/bin/reference-study.mjs +346 -0
  13. package/assets/motion/bin/score-synth.mjs +1052 -93
  14. package/assets/motion/fonts/finger-paint/OFL.txt +93 -0
  15. package/assets/motion/fonts/finger-paint/finger-paint-normal.woff2 +0 -0
  16. package/assets/motion/fonts/fonts.json +56 -0
  17. package/assets/motion/fonts/short-stack/OFL.txt +94 -0
  18. package/assets/motion/fonts/short-stack/short-stack-normal.woff2 +0 -0
  19. package/assets/motion/fonts/sora/OFL.txt +93 -0
  20. package/assets/motion/fonts/sora/sora-normal.woff2 +0 -0
  21. package/assets/motion/fonts/specimen.jpg +0 -0
  22. package/assets/motion/fonts/unbounded/OFL.txt +93 -0
  23. package/assets/motion/fonts/unbounded/unbounded-normal.woff2 +0 -0
  24. package/assets/motion/library/README.md +52 -14
  25. package/assets/motion/library/kit/moves.js +1981 -0
  26. package/assets/motion/library/library.json +232 -0
  27. package/assets/motion/library/pieces/camera-rig/meta.json +13 -0
  28. package/assets/motion/library/pieces/camera-rig/piece.html +153 -0
  29. package/assets/motion/library/pieces/camera-rig/preview.jpg +0 -0
  30. package/assets/motion/library/pieces/chain-knock/meta.json +13 -0
  31. package/assets/motion/library/pieces/chain-knock/piece.html +195 -0
  32. package/assets/motion/library/pieces/chain-knock/preview.jpg +0 -0
  33. package/assets/motion/library/pieces/gather-to-logo/meta.json +13 -0
  34. package/assets/motion/library/pieces/gather-to-logo/piece.html +159 -0
  35. package/assets/motion/library/pieces/gather-to-logo/preview.jpg +0 -0
  36. package/assets/motion/library/pieces/morph-carry/meta.json +13 -0
  37. package/assets/motion/library/pieces/morph-carry/piece.html +173 -0
  38. package/assets/motion/library/pieces/morph-carry/preview.jpg +0 -0
  39. package/assets/motion/library/pieces/one-shape-journey/meta.json +13 -0
  40. package/assets/motion/library/pieces/one-shape-journey/piece.html +195 -0
  41. package/assets/motion/library/pieces/one-shape-journey/preview.jpg +0 -0
  42. package/assets/motion/library/pieces/open-from-subject/meta.json +13 -0
  43. package/assets/motion/library/pieces/open-from-subject/piece.html +168 -0
  44. package/assets/motion/library/pieces/open-from-subject/preview.jpg +0 -0
  45. package/assets/motion/library/pieces/request-to-result/meta.json +13 -0
  46. package/assets/motion/library/pieces/request-to-result/piece.html +212 -0
  47. package/assets/motion/library/pieces/request-to-result/preview.jpg +0 -0
  48. package/assets/motion/library/pieces/scale-dive/meta.json +13 -0
  49. package/assets/motion/library/pieces/scale-dive/piece.html +321 -0
  50. package/assets/motion/library/pieces/scale-dive/preview.jpg +0 -0
  51. package/assets/motion/library/pieces/screen-replica-steps/meta.json +13 -0
  52. package/assets/motion/library/pieces/screen-replica-steps/piece.html +366 -0
  53. package/assets/motion/library/pieces/screen-replica-steps/preview.jpg +0 -0
  54. package/assets/motion/library/pieces/zoom-into-card/meta.json +13 -0
  55. package/assets/motion/library/pieces/zoom-into-card/piece.html +179 -0
  56. package/assets/motion/library/pieces/zoom-into-card/preview.jpg +0 -0
  57. package/assets/motion/library/sheets/diagram.jpg +0 -0
  58. package/assets/motion/library/sheets/frame.jpg +0 -0
  59. package/assets/motion/library/sheets/transition.jpg +0 -0
  60. package/assets/motion/library/sheets/ui.jpg +0 -0
  61. package/assets/motion/plugin.json +1 -1
  62. package/assets/motion/references/build-sheet.md +206 -0
  63. package/assets/motion/references/runtime/determinism-rules.md +3 -3
  64. package/assets/motion/references/runtime/gsap-easing-and-stagger.md +28 -28
  65. package/assets/motion/references/runtime/gsap.md +3 -3
  66. package/assets/motion/references/runtime/inputs-and-assets.md +21 -16
  67. package/assets/motion/references/runtime/lint-validate-inspect.md +3 -3
  68. package/assets/motion/references/runtime/minimal-composition.md +6 -0
  69. package/assets/motion/references/runtime/preview-render.md +3 -3
  70. package/assets/motion/skills/app-walkthrough/SKILL.md +66 -0
  71. package/assets/motion/skills/before-after/SKILL.md +53 -0
  72. package/assets/motion/skills/brand-kit/SKILL.md +17 -16
  73. package/assets/motion/skills/dev-tool-video/SKILL.md +57 -0
  74. package/assets/motion/skills/launch-video/SKILL.md +62 -0
  75. package/assets/motion/skills/match-reference/SKILL.md +58 -0
  76. package/assets/motion/skills/motion/SKILL.md +167 -98
  77. package/assets/motion/skills/source-ingest/SKILL.md +23 -15
  78. package/assets/motion/skills/website-video/SKILL.md +59 -0
  79. package/assets/skills/bulletproof/SKILL.md +36 -11
  80. package/assets/skills/bulletproof/references/agent-surface.md +19 -9
  81. package/assets/skills/bulletproof/references/audit-protocol.md +20 -5
  82. package/assets/skills/bulletproof/references/platform-playbooks.md +5 -4
  83. package/assets/skills/bulletproof/references/provenance.md +26 -1
  84. package/assets/skills/bulletproof/references/secure-defaults.md +6 -5
  85. package/assets/skills/bulletproof/references/supply-chain.md +21 -17
  86. package/assets/skills/bulletproof/references/threat-landscape.md +28 -26
  87. package/assets/skills/bulletproof/references/verification.md +2 -0
  88. package/assets/skills/clarify/SKILL.md +25 -16
  89. package/assets/skills/code-review/SKILL.md +71 -13
  90. package/assets/skills/code-review/references/agent-diffs.md +27 -0
  91. package/assets/skills/code-review/references/tests.md +19 -0
  92. package/assets/skills/compliance-guard/SKILL.md +20 -5
  93. package/assets/skills/compliance-guard/references/artifacts.md +1 -1
  94. package/assets/skills/compliance-guard/references/eu-uk.md +16 -16
  95. package/assets/skills/compliance-guard/references/lawsuit-vectors.md +5 -5
  96. package/assets/skills/compliance-guard/references/provenance.md +41 -2
  97. package/assets/skills/compliance-guard/references/sector-gates.md +3 -3
  98. package/assets/skills/compliance-guard/references/security-baseline.md +2 -2
  99. package/assets/skills/compliance-guard/references/trigger-map.md +5 -5
  100. package/assets/skills/compliance-guard/references/us.md +27 -21
  101. package/assets/skills/durable/SKILL.md +87 -79
  102. package/assets/skills/durable/references/agent-db-safety.md +69 -0
  103. package/assets/skills/durable/references/backups-and-runtime.md +19 -12
  104. package/assets/skills/durable/references/migrations-and-schema.md +13 -6
  105. package/assets/skills/evidence-led-ui/SKILL.md +69 -127
  106. package/assets/skills/evidence-led-ui/references/anti-defaults.md +107 -208
  107. package/assets/skills/evidence-led-ui/references/direction.md +124 -0
  108. package/assets/skills/evidence-led-ui/references/production-contract.md +8 -0
  109. package/assets/skills/evidence-led-ui/references/provenance.md +24 -1
  110. package/assets/skills/lean/SKILL.md +90 -71
  111. package/assets/skills/lean/references/memory-and-processes.md +3 -2
  112. package/assets/skills/lean/references/playbooks.md +37 -12
  113. package/assets/skills/refactoring/SKILL.md +24 -3
  114. package/assets/skills/refactoring/references/agent-pitfalls.md +4 -1
  115. package/assets/skills/refactoring/references/legacy.md +21 -0
  116. package/assets/skills/root-cause/SKILL.md +20 -10
  117. package/assets/skills/shared-language/SKILL.md +16 -14
  118. package/assets/skills/tdd/SKILL.md +27 -15
  119. package/dist/app-sidecar.js +203 -47
  120. package/dist/app-sidecar.js.map +1 -1
  121. package/dist/cli.js +20 -28
  122. package/dist/cli.js.map +1 -1
  123. package/dist/core/acceptance-checks.d.ts +48 -0
  124. package/dist/core/acceptance-checks.js +144 -0
  125. package/dist/core/acceptance-checks.js.map +1 -0
  126. package/dist/core/agent-session.d.ts +119 -75
  127. package/dist/core/agent-session.js +561 -395
  128. package/dist/core/agent-session.js.map +1 -1
  129. package/dist/core/agents.d.ts +6 -5
  130. package/dist/core/agents.js +12 -3
  131. package/dist/core/agents.js.map +1 -1
  132. package/dist/core/ask-user.d.ts +90 -8
  133. package/dist/core/ask-user.js +124 -13
  134. package/dist/core/ask-user.js.map +1 -1
  135. package/dist/core/auth-providers.js +1 -1
  136. package/dist/core/auth-providers.js.map +1 -1
  137. package/dist/core/autopilot-verdict.d.ts +5 -1
  138. package/dist/core/autopilot-verdict.js +30 -13
  139. package/dist/core/autopilot-verdict.js.map +1 -1
  140. package/dist/core/bundled-agents.js +1 -3
  141. package/dist/core/bundled-agents.js.map +1 -1
  142. package/dist/core/cache-diagnostics.d.ts +68 -0
  143. package/dist/core/cache-diagnostics.js +196 -0
  144. package/dist/core/cache-diagnostics.js.map +1 -0
  145. package/dist/core/cache-expiry.d.ts +87 -0
  146. package/dist/core/cache-expiry.js +111 -0
  147. package/dist/core/cache-expiry.js.map +1 -0
  148. package/dist/core/compaction/compactor.js +78 -48
  149. package/dist/core/compaction/compactor.js.map +1 -1
  150. package/dist/core/compaction/plan-step-policy.d.ts +46 -0
  151. package/dist/core/compaction/plan-step-policy.js +57 -0
  152. package/dist/core/compaction/plan-step-policy.js.map +1 -0
  153. package/dist/core/destructive-git-guard.d.ts +90 -0
  154. package/dist/core/destructive-git-guard.js +871 -0
  155. package/dist/core/destructive-git-guard.js.map +1 -0
  156. package/dist/core/event-bus.d.ts +3 -0
  157. package/dist/core/event-bus.js +5 -0
  158. package/dist/core/event-bus.js.map +1 -1
  159. package/dist/core/fast-apply-benchmark.d.ts +1 -1
  160. package/dist/core/fast-apply-benchmark.js +2 -2
  161. package/dist/core/fast-apply-benchmark.js.map +1 -1
  162. package/dist/core/injection-detect.d.ts +38 -0
  163. package/dist/core/injection-detect.js +232 -0
  164. package/dist/core/injection-detect.js.map +1 -0
  165. package/dist/core/keep-awake.d.ts +88 -0
  166. package/dist/core/keep-awake.js +251 -0
  167. package/dist/core/keep-awake.js.map +1 -0
  168. package/dist/core/mcp/client.d.ts +72 -0
  169. package/dist/core/mcp/client.js +264 -41
  170. package/dist/core/mcp/client.js.map +1 -1
  171. package/dist/core/mcp/content.js +6 -2
  172. package/dist/core/mcp/content.js.map +1 -1
  173. package/dist/core/mcp/store.d.ts +6 -1
  174. package/dist/core/mcp/store.js +12 -1
  175. package/dist/core/mcp/store.js.map +1 -1
  176. package/dist/core/mcp/types.d.ts +18 -0
  177. package/dist/core/model-unavailable.d.ts +14 -0
  178. package/dist/core/model-unavailable.js +23 -0
  179. package/dist/core/model-unavailable.js.map +1 -0
  180. package/dist/core/node-debugger.d.ts +148 -0
  181. package/dist/core/node-debugger.js +642 -0
  182. package/dist/core/node-debugger.js.map +1 -0
  183. package/dist/core/nolan-context.d.ts +7 -5
  184. package/dist/core/nolan-context.js +106 -16
  185. package/dist/core/nolan-context.js.map +1 -1
  186. package/dist/core/nolan-prompt.js +24 -21
  187. package/dist/core/nolan-prompt.js.map +1 -1
  188. package/dist/core/package-threats.d.ts +18 -0
  189. package/dist/core/package-threats.js +168 -0
  190. package/dist/core/package-threats.js.map +1 -0
  191. package/dist/core/persistent-shell.d.ts +58 -6
  192. package/dist/core/persistent-shell.js +331 -49
  193. package/dist/core/persistent-shell.js.map +1 -1
  194. package/dist/core/process-manager.d.ts +14 -0
  195. package/dist/core/process-manager.js +61 -0
  196. package/dist/core/process-manager.js.map +1 -1
  197. package/dist/core/progress/git-xp.js +8 -14
  198. package/dist/core/progress/git-xp.js.map +1 -1
  199. package/dist/core/project-discovery.js +77 -26
  200. package/dist/core/project-discovery.js.map +1 -1
  201. package/dist/core/semantic-search-benchmark.d.ts +1 -1
  202. package/dist/core/semantic-search-benchmark.js +2 -2
  203. package/dist/core/semantic-search-benchmark.js.map +1 -1
  204. package/dist/core/session-history.d.ts +12 -0
  205. package/dist/core/session-history.js +27 -0
  206. package/dist/core/session-history.js.map +1 -1
  207. package/dist/core/session-manager.d.ts +13 -1
  208. package/dist/core/session-manager.js +38 -18
  209. package/dist/core/session-manager.js.map +1 -1
  210. package/dist/core/session-summary-index.d.ts +37 -0
  211. package/dist/core/session-summary-index.js +172 -0
  212. package/dist/core/session-summary-index.js.map +1 -0
  213. package/dist/core/settings-manager.d.ts +2 -0
  214. package/dist/core/settings-manager.js +10 -0
  215. package/dist/core/settings-manager.js.map +1 -1
  216. package/dist/core/shell-threats-popular-packages.d.ts +11 -0
  217. package/dist/core/shell-threats-popular-packages.js +675 -0
  218. package/dist/core/shell-threats-popular-packages.js.map +1 -0
  219. package/dist/core/shell-threats.d.ts +8 -0
  220. package/dist/core/shell-threats.js +186 -0
  221. package/dist/core/shell-threats.js.map +1 -0
  222. package/dist/core/skills.js +16 -4
  223. package/dist/core/skills.js.map +1 -1
  224. package/dist/core/stream-rules.d.ts +30 -0
  225. package/dist/core/stream-rules.js +151 -0
  226. package/dist/core/stream-rules.js.map +1 -0
  227. package/dist/core/subagent-manager.d.ts +23 -6
  228. package/dist/core/subagent-manager.js +25 -9
  229. package/dist/core/subagent-manager.js.map +1 -1
  230. package/dist/core/subagent-policy.js +1 -1
  231. package/dist/core/subagent-policy.js.map +1 -1
  232. package/dist/core/subagent-receipt.d.ts +54 -0
  233. package/dist/core/subagent-receipt.js +276 -0
  234. package/dist/core/subagent-receipt.js.map +1 -0
  235. package/dist/core/subagent-turn-record.d.ts +2 -0
  236. package/dist/core/subagent-turn-record.js.map +1 -1
  237. package/dist/core/test-impact.d.ts +73 -0
  238. package/dist/core/test-impact.js +467 -0
  239. package/dist/core/test-impact.js.map +1 -0
  240. package/dist/core/thinking-level.d.ts +1 -1
  241. package/dist/core/thinking-level.js +1 -1
  242. package/dist/core/thinking-level.js.map +1 -1
  243. package/dist/core/verification-gate.d.ts +2 -0
  244. package/dist/core/verification-gate.js +4 -0
  245. package/dist/core/verification-gate.js.map +1 -1
  246. package/dist/core/verification-snapshot.js +3 -5
  247. package/dist/core/verification-snapshot.js.map +1 -1
  248. package/dist/core/workspace-guard.d.ts +18 -7
  249. package/dist/core/workspace-guard.js +227 -60
  250. package/dist/core/workspace-guard.js.map +1 -1
  251. package/dist/core/worktree-setup.d.ts +23 -0
  252. package/dist/core/worktree-setup.js +128 -9
  253. package/dist/core/worktree-setup.js.map +1 -1
  254. package/dist/core/worktree.d.ts +20 -2
  255. package/dist/core/worktree.js +74 -31
  256. package/dist/core/worktree.js.map +1 -1
  257. package/dist/interactive.js +2 -1
  258. package/dist/interactive.js.map +1 -1
  259. package/dist/modes/json-mode.js +11 -2
  260. package/dist/modes/json-mode.js.map +1 -1
  261. package/dist/modes/subagent-worker-mode.d.ts +36 -1
  262. package/dist/modes/subagent-worker-mode.js +100 -42
  263. package/dist/modes/subagent-worker-mode.js.map +1 -1
  264. package/dist/motion-agent/motion-agent.d.ts +7 -3
  265. package/dist/motion-agent/motion-agent.js +6 -8
  266. package/dist/motion-agent/motion-agent.js.map +1 -1
  267. package/dist/motion-agent/motion-prompt.d.ts +1 -1
  268. package/dist/motion-agent/motion-prompt.js +16 -25
  269. package/dist/motion-agent/motion-prompt.js.map +1 -1
  270. package/dist/motion-agent/motion-review-session.js +1 -1
  271. package/dist/motion-agent/motion-review-session.js.map +1 -1
  272. package/dist/motion-agent/motion-review.d.ts +10 -3
  273. package/dist/motion-agent/motion-review.js +15 -7
  274. package/dist/motion-agent/motion-review.js.map +1 -1
  275. package/dist/motion-agent/motion-studio-context.js +1 -1
  276. package/dist/motion-agent/motion-studio-context.js.map +1 -1
  277. package/dist/system-prompt.d.ts +2 -1
  278. package/dist/system-prompt.js +15 -4
  279. package/dist/system-prompt.js.map +1 -1
  280. package/dist/test-support/keep-alive.d.ts +14 -0
  281. package/dist/test-support/keep-alive.js +17 -0
  282. package/dist/test-support/keep-alive.js.map +1 -0
  283. package/dist/tools/ask-user.js +3 -3
  284. package/dist/tools/ask-user.js.map +1 -1
  285. package/dist/tools/bash-read-evidence.d.ts +10 -0
  286. package/dist/tools/bash-read-evidence.js +133 -0
  287. package/dist/tools/bash-read-evidence.js.map +1 -0
  288. package/dist/tools/bash.d.ts +10 -1
  289. package/dist/tools/bash.js +179 -7
  290. package/dist/tools/bash.js.map +1 -1
  291. package/dist/tools/debug.d.ts +54 -0
  292. package/dist/tools/debug.js +233 -0
  293. package/dist/tools/debug.js.map +1 -0
  294. package/dist/tools/edit.js +13 -5
  295. package/dist/tools/edit.js.map +1 -1
  296. package/dist/tools/goals.d.ts +1 -1
  297. package/dist/tools/index.d.ts +25 -2
  298. package/dist/tools/index.js +48 -7
  299. package/dist/tools/index.js.map +1 -1
  300. package/dist/tools/prompt-hints.js +2 -0
  301. package/dist/tools/prompt-hints.js.map +1 -1
  302. package/dist/tools/read-tracker.d.ts +35 -2
  303. package/dist/tools/read-tracker.js +108 -11
  304. package/dist/tools/read-tracker.js.map +1 -1
  305. package/dist/tools/read.js +39 -7
  306. package/dist/tools/read.js.map +1 -1
  307. package/dist/tools/skill.js +5 -0
  308. package/dist/tools/skill.js.map +1 -1
  309. package/dist/tools/subagent-control.js +44 -8
  310. package/dist/tools/subagent-control.js.map +1 -1
  311. package/dist/tools/subagent-shared.d.ts +48 -8
  312. package/dist/tools/subagent-shared.js +75 -14
  313. package/dist/tools/subagent-shared.js.map +1 -1
  314. package/dist/tools/subagent.d.ts +8 -2
  315. package/dist/tools/subagent.js +28 -10
  316. package/dist/tools/subagent.js.map +1 -1
  317. package/dist/tools/task-output.js +3 -2
  318. package/dist/tools/task-output.js.map +1 -1
  319. package/dist/tools/task-send.d.ts +1 -1
  320. package/dist/tools/task-send.js +15 -1
  321. package/dist/tools/task-send.js.map +1 -1
  322. package/dist/tools/tool-tiers.d.ts +2 -2
  323. package/dist/tools/tool-tiers.js +3 -2
  324. package/dist/tools/tool-tiers.js.map +1 -1
  325. package/dist/tools/truncate.d.ts +21 -0
  326. package/dist/tools/truncate.js +187 -0
  327. package/dist/tools/truncate.js.map +1 -1
  328. package/dist/tools/ui-adopt.js +2 -0
  329. package/dist/tools/ui-adopt.js.map +1 -1
  330. package/dist/tools/write.js +4 -3
  331. package/dist/tools/write.js.map +1 -1
  332. package/dist/ui/App.d.ts +0 -4
  333. package/dist/ui/App.js +5 -28
  334. package/dist/ui/App.js.map +1 -1
  335. package/dist/ui/components/ActivityIndicator.js +1 -0
  336. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  337. package/dist/ui/components/Footer.js +1 -1
  338. package/dist/ui/components/Footer.js.map +1 -1
  339. package/dist/ui/hooks/useAgentLoop.d.ts +1 -8
  340. package/dist/ui/hooks/useAgentLoop.js +1 -119
  341. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  342. package/dist/ui/render.d.ts +2 -4
  343. package/dist/ui/render.js +3 -2
  344. package/dist/ui/render.js.map +1 -1
  345. package/dist/utils/git.d.ts +77 -0
  346. package/dist/utils/git.js +285 -21
  347. package/dist/utils/git.js.map +1 -1
  348. package/dist/utils/github-ci.js +2 -1
  349. package/dist/utils/github-ci.js.map +1 -1
  350. package/dist/utils/github.js +11 -9
  351. package/dist/utils/github.js.map +1 -1
  352. package/dist/utils/image.d.ts +14 -0
  353. package/dist/utils/image.js +16 -0
  354. package/dist/utils/image.js.map +1 -1
  355. package/dist/utils/process.d.ts +20 -0
  356. package/dist/utils/process.js +98 -0
  357. package/dist/utils/process.js.map +1 -1
  358. package/dist/utils/text.d.ts +12 -0
  359. package/dist/utils/text.js +11 -0
  360. package/dist/utils/text.js.map +1 -1
  361. package/package.json +6 -6
  362. package/assets/motion/skills/mixkit-split-text-617/SKILL.md +0 -115
  363. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-480.json +0 -1
  364. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-494.json +0 -1
  365. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-5.json +0 -1
  366. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-508.json +0 -1
  367. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6525.json +0 -1
  368. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6539.json +0 -1
  369. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6647.json +0 -1
  370. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6663.json +0 -1
  371. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6677.json +0 -1
  372. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6691.json +0 -1
  373. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6706.json +0 -1
  374. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6722.json +0 -1
  375. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6736.json +0 -1
  376. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6750.json +0 -1
  377. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6764.json +0 -1
  378. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6780.json +0 -1
  379. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6794.json +0 -1
  380. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6810.json +0 -1
  381. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6823.json +0 -1
  382. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6872.json +0 -1
  383. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6936.json +0 -1
  384. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-76.json +0 -1
  385. package/assets/motion/skills/mixkit-split-text-617/data/manifest.json +0 -495
  386. package/assets/motion/skills/mixkit-split-text-617/references/RECONSTRUCTION.md +0 -201
  387. package/assets/motion/skills/mixkit-split-text-617/references/VERIFICATION.md +0 -107
  388. package/assets/motion/skills/mixkit-split-text-617/tools/inspect_motion.py +0 -130
  389. package/assets/motion/skills/video-qa/SKILL.md +0 -66
  390. package/dist/core/ideal-review-subagent.d.ts +0 -42
  391. package/dist/core/ideal-review-subagent.js +0 -95
  392. package/dist/core/ideal-review-subagent.js.map +0 -1
  393. package/dist/core/ideal-review.d.ts +0 -82
  394. package/dist/core/ideal-review.js +0 -242
  395. package/dist/core/ideal-review.js.map +0 -1
  396. package/dist/motion-agent/motion-check-tool.d.ts +0 -21
  397. package/dist/motion-agent/motion-check-tool.js +0 -206
  398. 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, re-grounding, and Ideal review hooks. Defaults to true. */
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 verification `hook_armed` value, so the event fires
283
- * only on a real edge. */
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 the loop-break and
512
- * ideal-review decisions match across the CLI and the app.
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
- * Would the stop AFTER the current turn inject the Ideal review? Same inputs
564
- * as the pre-stop gate below, evaluated early so clients know a candidate
565
- * final answer is a review draft BEFORE it streams.
566
- *
567
- * The turn count is looked ahead by one on purpose. `hookStats.turns` only
568
- * advances at `turn_end`, so while the model is writing the draft the counter
569
- * still reads the PREVIOUS turn; the real gate sees one more. Without the
570
- * lookahead a run sitting on score 3 crosses to 4 on the draft's own
571
- * `turn_end` — after the text already streamed — which is precisely the
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 REVIEWED final
582
- * answer live again.
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 Ideal review phase machine. Once review starts, completion is
594
- * blocked until harness-owned post-injection reads cover every changed file.
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
- private reviewLspEvidence;
598
- private withReviewLspEvidence;
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
- * Suppress only the pre-final Ideal self-review for this live session.
684
- * Autopilot uses this while Nolan independently owns verification; loop-break
685
- * and post-compaction re-grounding remain active.
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
- setIdealReviewSuppressed(suppressed: boolean): void;
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;