@webpresso/agent-kit 0.21.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 (1230) hide show
  1. package/.claude-plugin/marketplace.json +27 -0
  2. package/.claude-plugin/plugin.json +73 -0
  3. package/LICENSE +21 -0
  4. package/README.md +106 -0
  5. package/THIRD-PARTY-NOTICES.md +60 -0
  6. package/bin/_run.js +201 -0
  7. package/bin/docs-check-internal-links.js +5 -0
  8. package/bin/docs-check-refs.js +5 -0
  9. package/bin/docs-check-stale.js +5 -0
  10. package/bin/docs-lint.js +5 -0
  11. package/bin/docs-migrate.js +5 -0
  12. package/bin/wp-check-dev-link.js +5 -0
  13. package/bin/wp-guard-switch.js +5 -0
  14. package/bin/wp-post-tool.js +5 -0
  15. package/bin/wp-pretool-guard.js +5 -0
  16. package/bin/wp-restore-dev-links.js +5 -0
  17. package/bin/wp-sessionstart-routing.js +5 -0
  18. package/bin/wp-stop-qa.js +5 -0
  19. package/bin/wp-test-quality-check.js +5 -0
  20. package/bin/wp.js +5 -0
  21. package/catalog/AGENTS.md.tpl +202 -0
  22. package/catalog/agent/.audit-budgets.yaml +12 -0
  23. package/catalog/agent/agents/README.md +22 -0
  24. package/catalog/agent/agents/code-reviewer.md +34 -0
  25. package/catalog/agent/agents/doc-writer.md +35 -0
  26. package/catalog/agent/agents/explorer.md +33 -0
  27. package/catalog/agent/agents/security-auditor.md +34 -0
  28. package/catalog/agent/commands/audit-duplication.md +34 -0
  29. package/catalog/agent/commands/audit.md +219 -0
  30. package/catalog/agent/commands/brainstorm.md +115 -0
  31. package/catalog/agent/commands/decide.md +132 -0
  32. package/catalog/agent/commands/fix-all.md +160 -0
  33. package/catalog/agent/commands/fix.md +109 -0
  34. package/catalog/agent/commands/plan-refine.md +103 -0
  35. package/catalog/agent/commands/pll.md +174 -0
  36. package/catalog/agent/commands/tph.md +380 -0
  37. package/catalog/agent/commands/verify.md +9 -0
  38. package/catalog/agent/correlate.allow.yaml +5 -0
  39. package/catalog/agent/guides/agent-guardrails.md +116 -0
  40. package/catalog/agent/guides/parallel-execution.md +79 -0
  41. package/catalog/agent/guides/plan-audit-checklist.md +189 -0
  42. package/catalog/agent/guides/skills.md +32 -0
  43. package/catalog/agent/rules/README.md +30 -0
  44. package/catalog/agent/rules/agent-guide.md +464 -0
  45. package/catalog/agent/rules/blueprint-scoping.md +69 -0
  46. package/catalog/agent/rules/changeset-release.md +161 -0
  47. package/catalog/agent/rules/cmd-execution.md +121 -0
  48. package/catalog/agent/rules/context-mode-routing.md +64 -0
  49. package/catalog/agent/rules/engineering-principles.md +42 -0
  50. package/catalog/agent/rules/extraction-parity.md +157 -0
  51. package/catalog/agent/rules/generated-code-governance.md +87 -0
  52. package/catalog/agent/rules/gstack-routing.md +90 -0
  53. package/catalog/agent/rules/no-timeout-as-fix.md +90 -0
  54. package/catalog/agent/rules/package-conventions.md +80 -0
  55. package/catalog/agent/rules/pre-implementation.md +44 -0
  56. package/catalog/agent/rules/public-package-safety.md +56 -0
  57. package/catalog/agent/rules/repo-restrictions.md +175 -0
  58. package/catalog/agent/rules/rtk-routing.md +50 -0
  59. package/catalog/agent/rules/supported-agent-clis.md +80 -0
  60. package/catalog/agent/rules/ts-coding-conventions.md +68 -0
  61. package/catalog/agent/skills/better-auth-best-practices/SKILL.md +212 -0
  62. package/catalog/agent/skills/deep-research/SKILL.md +240 -0
  63. package/catalog/agent/skills/fix/SKILL.md +120 -0
  64. package/catalog/agent/skills/frontend-design/LICENSE.txt +177 -0
  65. package/catalog/agent/skills/frontend-design/SKILL.md +189 -0
  66. package/catalog/agent/skills/hooks-doctor/SKILL.md +77 -0
  67. package/catalog/agent/skills/logging-best-practices/SKILL.md +145 -0
  68. package/catalog/agent/skills/logging-best-practices/rules/context.md +157 -0
  69. package/catalog/agent/skills/logging-best-practices/rules/pitfalls.md +118 -0
  70. package/catalog/agent/skills/logging-best-practices/rules/structure.md +195 -0
  71. package/catalog/agent/skills/logging-best-practices/rules/wide-events.md +113 -0
  72. package/catalog/agent/skills/lore-protocol/SKILL.md +93 -0
  73. package/catalog/agent/skills/monorepo-navigation/SKILL.md.tpl +57 -0
  74. package/catalog/agent/skills/monorepo-navigation/examples/webpresso.md +240 -0
  75. package/catalog/agent/skills/plan-refine/SKILL.md +645 -0
  76. package/catalog/agent/skills/pll/SKILL.md +85 -0
  77. package/catalog/agent/skills/react-doctor/SKILL.md +54 -0
  78. package/catalog/agent/skills/systematic-debugging/CREATION-LOG.md +133 -0
  79. package/catalog/agent/skills/systematic-debugging/SKILL.md +322 -0
  80. package/catalog/agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  81. package/catalog/agent/skills/systematic-debugging/condition-based-waiting.md +120 -0
  82. package/catalog/agent/skills/systematic-debugging/defense-in-depth.md +128 -0
  83. package/catalog/agent/skills/systematic-debugging/find-polluter.sh +63 -0
  84. package/catalog/agent/skills/systematic-debugging/root-cause-tracing.md +183 -0
  85. package/catalog/agent/skills/systematic-debugging/test-academic.md +14 -0
  86. package/catalog/agent/skills/systematic-debugging/test-pressure-1.md +65 -0
  87. package/catalog/agent/skills/systematic-debugging/test-pressure-2.md +75 -0
  88. package/catalog/agent/skills/systematic-debugging/test-pressure-3.md +75 -0
  89. package/catalog/agent/skills/tanstack-query/.claude-plugin/plugin.json +12 -0
  90. package/catalog/agent/skills/tanstack-query/README.md +59 -0
  91. package/catalog/agent/skills/tanstack-query/SKILL.md +175 -0
  92. package/catalog/agent/skills/tanstack-query/references/best-practices.md +63 -0
  93. package/catalog/agent/skills/tanstack-query/references/common-patterns.md +43 -0
  94. package/catalog/agent/skills/tanstack-query/references/testing.md +44 -0
  95. package/catalog/agent/skills/tanstack-query/references/top-errors.md +19 -0
  96. package/catalog/agent/skills/tanstack-query/references/typescript-patterns.md +36 -0
  97. package/catalog/agent/skills/tanstack-query/rules/tanstack-query.md +41 -0
  98. package/catalog/agent/skills/tanstack-query/templates/custom-hooks-pattern.tsx +26 -0
  99. package/catalog/agent/skills/tanstack-query/templates/devtools-setup.tsx +13 -0
  100. package/catalog/agent/skills/tanstack-query/templates/error-boundary.tsx +52 -0
  101. package/catalog/agent/skills/tanstack-query/templates/package.json +24 -0
  102. package/catalog/agent/skills/tanstack-query/templates/provider-setup.tsx +19 -0
  103. package/catalog/agent/skills/tanstack-query/templates/query-client-config.ts +43 -0
  104. package/catalog/agent/skills/tanstack-query/templates/use-infinite-query.tsx +61 -0
  105. package/catalog/agent/skills/tanstack-query/templates/use-mutation-basic.tsx +52 -0
  106. package/catalog/agent/skills/tanstack-query/templates/use-mutation-optimistic.tsx +48 -0
  107. package/catalog/agent/skills/tanstack-query/templates/use-query-basic.tsx +77 -0
  108. package/catalog/agent/skills/tech-debt/SKILL.md +79 -0
  109. package/catalog/agent/skills/test-driven-development/SKILL.md +403 -0
  110. package/catalog/agent/skills/test-driven-development/testing-anti-patterns.md +317 -0
  111. package/catalog/agent/skills/testing-philosophy/SKILL.md +530 -0
  112. package/catalog/agent/skills/third-party-manifest.json +30 -0
  113. package/catalog/agent/skills/vercel-react-best-practices/AGENTS.md +2672 -0
  114. package/catalog/agent/skills/vercel-react-best-practices/README.md +127 -0
  115. package/catalog/agent/skills/vercel-react-best-practices/SKILL.md +212 -0
  116. package/catalog/agent/skills/vercel-react-best-practices/metadata.json +15 -0
  117. package/catalog/agent/skills/vercel-react-best-practices/rules/_sections.md +46 -0
  118. package/catalog/agent/skills/vercel-react-best-practices/rules/_template.md +28 -0
  119. package/catalog/agent/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  120. package/catalog/agent/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  121. package/catalog/agent/skills/vercel-react-best-practices/rules/async-api-routes.md +35 -0
  122. package/catalog/agent/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  123. package/catalog/agent/skills/vercel-react-best-practices/rules/async-dependencies.md +48 -0
  124. package/catalog/agent/skills/vercel-react-best-practices/rules/async-parallel.md +24 -0
  125. package/catalog/agent/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  126. package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  127. package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-conditional.md +37 -0
  128. package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +48 -0
  129. package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +34 -0
  130. package/catalog/agent/skills/vercel-react-best-practices/rules/bundle-preload.md +44 -0
  131. package/catalog/agent/skills/vercel-react-best-practices/rules/client-event-listeners.md +78 -0
  132. package/catalog/agent/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +74 -0
  133. package/catalog/agent/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  134. package/catalog/agent/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  135. package/catalog/agent/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +110 -0
  136. package/catalog/agent/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  137. package/catalog/agent/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  138. package/catalog/agent/skills/vercel-react-best-practices/rules/js-cache-storage.md +68 -0
  139. package/catalog/agent/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  140. package/catalog/agent/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  141. package/catalog/agent/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  142. package/catalog/agent/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  143. package/catalog/agent/skills/vercel-react-best-practices/rules/js-length-check-first.md +50 -0
  144. package/catalog/agent/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  145. package/catalog/agent/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  146. package/catalog/agent/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  147. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  148. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +38 -0
  149. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +32 -0
  150. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  151. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +36 -0
  152. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +72 -0
  153. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  154. package/catalog/agent/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  155. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  156. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  157. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  158. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +77 -0
  159. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +56 -0
  160. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +36 -0
  161. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  162. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  163. package/catalog/agent/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  164. package/catalog/agent/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  165. package/catalog/agent/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  166. package/catalog/agent/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  167. package/catalog/agent/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  168. package/catalog/agent/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  169. package/catalog/agent/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  170. package/catalog/agent/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  171. package/catalog/agent/skills/verify/SKILL.md +133 -0
  172. package/catalog/agent/skills/web-design-guidelines/SKILL.md +53 -0
  173. package/catalog/agent/workflows/README.md +20 -0
  174. package/catalog/agent/workflows/conf.md +18 -0
  175. package/catalog/agent/workflows/debug.md +20 -0
  176. package/catalog/agent/workflows/docs.md +9 -0
  177. package/catalog/agent/workflows/execute-plan.md +15 -0
  178. package/catalog/agent/workflows/fix-all-md-warnings.md +13 -0
  179. package/catalog/agent/workflows/test.md +14 -0
  180. package/catalog/agent/workflows/write-plan.md +16 -0
  181. package/catalog/base-kit/.actrc.tmpl +2 -0
  182. package/catalog/base-kit/.editorconfig.tmpl +23 -0
  183. package/catalog/base-kit/.github/workflows/ci.webpresso.yml.tmpl +66 -0
  184. package/catalog/base-kit/.gitignore.tmpl +82 -0
  185. package/catalog/base-kit/.husky/commit-msg.tmpl +7 -0
  186. package/catalog/base-kit/.husky/pre-commit.tmpl +10 -0
  187. package/catalog/base-kit/.secretlintrc.json.tmpl +5 -0
  188. package/catalog/base-kit/commitlint.config.ts.tmpl +7 -0
  189. package/catalog/base-kit/e2e/.gitkeep.tmpl +0 -0
  190. package/catalog/base-kit/pnpm-workspace.yaml.tmpl +49 -0
  191. package/catalog/base-kit/scripts/audit-secret-provider-quarantine.ts.tmpl +91 -0
  192. package/catalog/base-kit/scripts/check-no-dev-vars.ts.tmpl +56 -0
  193. package/catalog/base-kit/test/.gitkeep.tmpl +0 -0
  194. package/catalog/blueprints/archived/.gitkeep +0 -0
  195. package/catalog/blueprints/completed/.gitkeep +0 -0
  196. package/catalog/blueprints/in-progress/.gitkeep +0 -0
  197. package/catalog/blueprints/parked/.gitkeep +0 -0
  198. package/catalog/blueprints/planned/.gitkeep +0 -0
  199. package/catalog/docs/templates/adr.md +38 -0
  200. package/catalog/docs/templates/blueprint.md +149 -0
  201. package/catalog/docs/templates/blueprint.yaml +110 -0
  202. package/catalog/docs/templates/core-doc.yaml +28 -0
  203. package/catalog/docs/templates/guide.md +31 -0
  204. package/catalog/docs/templates/guide.yaml +31 -0
  205. package/catalog/docs/templates/postmortem.md +60 -0
  206. package/catalog/docs/templates/research.md +37 -0
  207. package/catalog/docs/templates/runbook.md +39 -0
  208. package/catalog/docs/templates/system.md +44 -0
  209. package/catalog/docs/templates/tech-debt.md +78 -0
  210. package/catalog/vision/VISION.md.tmpl +33 -0
  211. package/commands/audit.md +13 -0
  212. package/commands/blueprint.md +28 -0
  213. package/commands/qa.md +4 -0
  214. package/commands/test.md +4 -0
  215. package/dist/esm/ai-memory/checkpoint/saver.d.ts +14 -0
  216. package/dist/esm/ai-memory/checkpoint/saver.js +28 -0
  217. package/dist/esm/ai-memory/checkpoint/types.d.ts +75 -0
  218. package/dist/esm/ai-memory/checkpoint/types.js +2 -0
  219. package/dist/esm/ai-memory/facts/consolidator.d.ts +23 -0
  220. package/dist/esm/ai-memory/facts/consolidator.js +134 -0
  221. package/dist/esm/ai-memory/facts/extractor.d.ts +28 -0
  222. package/dist/esm/ai-memory/facts/extractor.js +119 -0
  223. package/dist/esm/ai-memory/facts/types.d.ts +61 -0
  224. package/dist/esm/ai-memory/facts/types.js +2 -0
  225. package/dist/esm/ai-memory/hierarchy/retriever.d.ts +47 -0
  226. package/dist/esm/ai-memory/hierarchy/retriever.js +139 -0
  227. package/dist/esm/ai-memory/index.d.ts +11 -0
  228. package/dist/esm/ai-memory/index.js +6 -0
  229. package/dist/esm/ai-memory/store/sqlite-store.d.ts +28 -0
  230. package/dist/esm/ai-memory/store/sqlite-store.js +213 -0
  231. package/dist/esm/ai-prompts/business-canvas.d.ts +52 -0
  232. package/dist/esm/ai-prompts/business-canvas.js +292 -0
  233. package/dist/esm/ai-prompts/circuit-breaker.d.ts +35 -0
  234. package/dist/esm/ai-prompts/circuit-breaker.js +171 -0
  235. package/dist/esm/ai-prompts/experiment-draft.d.ts +86 -0
  236. package/dist/esm/ai-prompts/experiment-draft.js +188 -0
  237. package/dist/esm/ai-prompts/index.d.ts +12 -0
  238. package/dist/esm/ai-prompts/index.js +11 -0
  239. package/dist/esm/ai-prompts/persona-context.d.ts +70 -0
  240. package/dist/esm/ai-prompts/persona-context.js +158 -0
  241. package/dist/esm/ai-prompts/persona-debate.d.ts +67 -0
  242. package/dist/esm/ai-prompts/persona-debate.js +172 -0
  243. package/dist/esm/ai-prompts/persona-tools.d.ts +26 -0
  244. package/dist/esm/ai-prompts/persona-tools.js +172 -0
  245. package/dist/esm/ai-prompts/personas.d.ts +16 -0
  246. package/dist/esm/ai-prompts/personas.js +492 -0
  247. package/dist/esm/ai-prompts/rachel-planning.d.ts +28 -0
  248. package/dist/esm/ai-prompts/rachel-planning.js +217 -0
  249. package/dist/esm/ai-prompts/task-analysis.d.ts +49 -0
  250. package/dist/esm/ai-prompts/task-analysis.js +434 -0
  251. package/dist/esm/ai-prompts/types.d.ts +3 -0
  252. package/dist/esm/ai-prompts/types.js +2 -0
  253. package/dist/esm/ai-tools/index.d.ts +7 -0
  254. package/dist/esm/ai-tools/index.js +6 -0
  255. package/dist/esm/ai-tools/list-files.d.ts +3 -0
  256. package/dist/esm/ai-tools/list-files.js +93 -0
  257. package/dist/esm/ai-tools/read-file.d.ts +3 -0
  258. package/dist/esm/ai-tools/read-file.js +108 -0
  259. package/dist/esm/ai-tools/search-files.d.ts +3 -0
  260. package/dist/esm/ai-tools/search-files.js +166 -0
  261. package/dist/esm/ai-tools/shared/validate-path.d.ts +11 -0
  262. package/dist/esm/ai-tools/shared/validate-path.js +25 -0
  263. package/dist/esm/ai-tools/types.d.ts +370 -0
  264. package/dist/esm/ai-tools/types.js +2 -0
  265. package/dist/esm/ai-tools/write-file.d.ts +3 -0
  266. package/dist/esm/ai-tools/write-file.js +165 -0
  267. package/dist/esm/audit/_budgets.d.ts +28 -0
  268. package/dist/esm/audit/_budgets.js +60 -0
  269. package/dist/esm/audit/absolute-path-policy.d.ts +5 -0
  270. package/dist/esm/audit/absolute-path-policy.js +97 -0
  271. package/dist/esm/audit/agent-cost.d.ts +3 -0
  272. package/dist/esm/audit/agent-cost.js +111 -0
  273. package/dist/esm/audit/agents.d.ts +3 -0
  274. package/dist/esm/audit/agents.js +331 -0
  275. package/dist/esm/audit/ai-contracts.d.ts +3 -0
  276. package/dist/esm/audit/ai-contracts.js +238 -0
  277. package/dist/esm/audit/architecture-drift.d.ts +33 -0
  278. package/dist/esm/audit/architecture-drift.js +364 -0
  279. package/dist/esm/audit/audit-mutation-score.d.ts +43 -0
  280. package/dist/esm/audit/audit-mutation-score.js +92 -0
  281. package/dist/esm/audit/audit-no-ambient-root.d.ts +29 -0
  282. package/dist/esm/audit/audit-no-ambient-root.js +83 -0
  283. package/dist/esm/audit/audit-tph-detect.d.ts +49 -0
  284. package/dist/esm/audit/audit-tph-detect.js +248 -0
  285. package/dist/esm/audit/audit-tph-e2e-detect.d.ts +27 -0
  286. package/dist/esm/audit/audit-tph-e2e-detect.js +84 -0
  287. package/dist/esm/audit/audit-tph-e2e-runner.d.ts +8 -0
  288. package/dist/esm/audit/audit-tph-e2e-runner.js +106 -0
  289. package/dist/esm/audit/audit-tph-e2e.d.ts +16 -0
  290. package/dist/esm/audit/audit-tph-e2e.js +17 -0
  291. package/dist/esm/audit/audit-tph-runner.d.ts +10 -0
  292. package/dist/esm/audit/audit-tph-runner.js +115 -0
  293. package/dist/esm/audit/audit-tph.d.ts +17 -0
  294. package/dist/esm/audit/audit-tph.js +38 -0
  295. package/dist/esm/audit/blueprint-db-consistency.d.ts +15 -0
  296. package/dist/esm/audit/blueprint-db-consistency.js +109 -0
  297. package/dist/esm/audit/blueprint-lifecycle-sql.d.ts +17 -0
  298. package/dist/esm/audit/blueprint-lifecycle-sql.js +136 -0
  299. package/dist/esm/audit/broken-refs.d.ts +26 -0
  300. package/dist/esm/audit/broken-refs.js +181 -0
  301. package/dist/esm/audit/bucket-boundary.d.ts +21 -0
  302. package/dist/esm/audit/bucket-boundary.js +330 -0
  303. package/dist/esm/audit/commit-message-lore.d.ts +41 -0
  304. package/dist/esm/audit/commit-message-lore.js +113 -0
  305. package/dist/esm/audit/compile-drift.d.ts +3 -0
  306. package/dist/esm/audit/compile-drift.js +42 -0
  307. package/dist/esm/audit/cross-repo-correlation.d.ts +14 -0
  308. package/dist/esm/audit/cross-repo-correlation.js +50 -0
  309. package/dist/esm/audit/gitignore-agent-surfaces.d.ts +3 -0
  310. package/dist/esm/audit/gitignore-agent-surfaces.js +68 -0
  311. package/dist/esm/audit/hook-surface.d.ts +82 -0
  312. package/dist/esm/audit/hook-surface.js +251 -0
  313. package/dist/esm/audit/memory-rotation.d.ts +31 -0
  314. package/dist/esm/audit/memory-rotation.js +137 -0
  315. package/dist/esm/audit/memory-unified.d.ts +3 -0
  316. package/dist/esm/audit/memory-unified.js +46 -0
  317. package/dist/esm/audit/open-source-licenses.d.ts +4 -0
  318. package/dist/esm/audit/open-source-licenses.js +224 -0
  319. package/dist/esm/audit/package-surface.d.ts +7 -0
  320. package/dist/esm/audit/package-surface.js +674 -0
  321. package/dist/esm/audit/repo-guardrails.d.ts +89 -0
  322. package/dist/esm/audit/repo-guardrails.js +875 -0
  323. package/dist/esm/audit/roadmap-links.d.ts +7 -0
  324. package/dist/esm/audit/roadmap-links.js +235 -0
  325. package/dist/esm/audit/run-stryker.d.ts +9 -0
  326. package/dist/esm/audit/run-stryker.js +24 -0
  327. package/dist/esm/audit/shell.d.ts +17 -0
  328. package/dist/esm/audit/shell.js +32 -0
  329. package/dist/esm/audit/skill-sizes.d.ts +25 -0
  330. package/dist/esm/audit/skill-sizes.js +153 -0
  331. package/dist/esm/audit/tech-debt-cadence.d.ts +16 -0
  332. package/dist/esm/audit/tech-debt-cadence.js +101 -0
  333. package/dist/esm/audit/tech-debt.d.ts +9 -0
  334. package/dist/esm/audit/tech-debt.js +107 -0
  335. package/dist/esm/audit/vision-doc.d.ts +21 -0
  336. package/dist/esm/audit/vision-doc.js +136 -0
  337. package/dist/esm/blueprint/aggregate.d.ts +146 -0
  338. package/dist/esm/blueprint/aggregate.js +217 -0
  339. package/dist/esm/blueprint/context.d.ts +70 -0
  340. package/dist/esm/blueprint/context.js +301 -0
  341. package/dist/esm/blueprint/core/parser.d.ts +53 -0
  342. package/dist/esm/blueprint/core/parser.js +281 -0
  343. package/dist/esm/blueprint/core/schema.d.ts +163 -0
  344. package/dist/esm/blueprint/core/schema.js +98 -0
  345. package/dist/esm/blueprint/core/types.d.ts +13 -0
  346. package/dist/esm/blueprint/core/types.js +5 -0
  347. package/dist/esm/blueprint/core/validation/criteria.d.ts +6 -0
  348. package/dist/esm/blueprint/core/validation/criteria.js +15 -0
  349. package/dist/esm/blueprint/core/validation/dependencies.d.ts +19 -0
  350. package/dist/esm/blueprint/core/validation/dependencies.js +113 -0
  351. package/dist/esm/blueprint/core/validation/index.d.ts +13 -0
  352. package/dist/esm/blueprint/core/validation/index.js +11 -0
  353. package/dist/esm/blueprint/core/validation/links.d.ts +18 -0
  354. package/dist/esm/blueprint/core/validation/links.js +47 -0
  355. package/dist/esm/blueprint/core/validation/phases.d.ts +12 -0
  356. package/dist/esm/blueprint/core/validation/phases.js +18 -0
  357. package/dist/esm/blueprint/core/validation/state.d.ts +9 -0
  358. package/dist/esm/blueprint/core/validation/state.js +123 -0
  359. package/dist/esm/blueprint/core/validation/task-blocks.d.ts +27 -0
  360. package/dist/esm/blueprint/core/validation/task-blocks.js +48 -0
  361. package/dist/esm/blueprint/core/validation/task-sections.d.ts +14 -0
  362. package/dist/esm/blueprint/core/validation/task-sections.js +60 -0
  363. package/dist/esm/blueprint/core/validation/template.d.ts +9 -0
  364. package/dist/esm/blueprint/core/validation/template.js +65 -0
  365. package/dist/esm/blueprint/cross-repo/allowlist.d.ts +28 -0
  366. package/dist/esm/blueprint/cross-repo/allowlist.js +87 -0
  367. package/dist/esm/blueprint/cross-repo/audit.d.ts +49 -0
  368. package/dist/esm/blueprint/cross-repo/audit.js +161 -0
  369. package/dist/esm/blueprint/cross-repo/resolver.d.ts +28 -0
  370. package/dist/esm/blueprint/cross-repo/resolver.js +32 -0
  371. package/dist/esm/blueprint/dag/cycle-detector.d.ts +12 -0
  372. package/dist/esm/blueprint/dag/cycle-detector.js +46 -0
  373. package/dist/esm/blueprint/dag/executor.d.ts +140 -0
  374. package/dist/esm/blueprint/dag/executor.js +292 -0
  375. package/dist/esm/blueprint/dag/index.d.ts +20 -0
  376. package/dist/esm/blueprint/dag/index.js +17 -0
  377. package/dist/esm/blueprint/dag/interfaces.d.ts +56 -0
  378. package/dist/esm/blueprint/dag/interfaces.js +13 -0
  379. package/dist/esm/blueprint/dag/local/independence.d.ts +107 -0
  380. package/dist/esm/blueprint/dag/local/independence.js +231 -0
  381. package/dist/esm/blueprint/dag/local/index.d.ts +14 -0
  382. package/dist/esm/blueprint/dag/local/index.js +14 -0
  383. package/dist/esm/blueprint/dag/local/package-graph.d.ts +66 -0
  384. package/dist/esm/blueprint/dag/local/package-graph.js +148 -0
  385. package/dist/esm/blueprint/dag/plan-parser.d.ts +54 -0
  386. package/dist/esm/blueprint/dag/plan-parser.js +236 -0
  387. package/dist/esm/blueprint/dag/task-graph-algorithms.d.ts +13 -0
  388. package/dist/esm/blueprint/dag/task-graph-algorithms.js +236 -0
  389. package/dist/esm/blueprint/dag/task-graph.d.ts +171 -0
  390. package/dist/esm/blueprint/dag/task-graph.js +370 -0
  391. package/dist/esm/blueprint/dag/types.d.ts +17 -0
  392. package/dist/esm/blueprint/dag/types.js +2 -0
  393. package/dist/esm/blueprint/db/cold-start.d.ts +8 -0
  394. package/dist/esm/blueprint/db/cold-start.js +45 -0
  395. package/dist/esm/blueprint/db/connection.d.ts +8 -0
  396. package/dist/esm/blueprint/db/connection.js +45 -0
  397. package/dist/esm/blueprint/db/enums.d.ts +76 -0
  398. package/dist/esm/blueprint/db/enums.js +37 -0
  399. package/dist/esm/blueprint/db/ingester.d.ts +25 -0
  400. package/dist/esm/blueprint/db/ingester.js +307 -0
  401. package/dist/esm/blueprint/db/legacy-migration.d.ts +41 -0
  402. package/dist/esm/blueprint/db/legacy-migration.js +122 -0
  403. package/dist/esm/blueprint/db/migrations/run.d.ts +3 -0
  404. package/dist/esm/blueprint/db/migrations/run.js +53 -0
  405. package/dist/esm/blueprint/db/parser/blueprint-db-parser.d.ts +69 -0
  406. package/dist/esm/blueprint/db/parser/blueprint-db-parser.js +408 -0
  407. package/dist/esm/blueprint/db/parser/tech-debt-db-parser.d.ts +33 -0
  408. package/dist/esm/blueprint/db/parser/tech-debt-db-parser.js +134 -0
  409. package/dist/esm/blueprint/db/paths.d.ts +104 -0
  410. package/dist/esm/blueprint/db/paths.js +192 -0
  411. package/dist/esm/blueprint/db/sqlite.d.ts +32 -0
  412. package/dist/esm/blueprint/db/sqlite.js +46 -0
  413. package/dist/esm/blueprint/db/template-runner.d.ts +8 -0
  414. package/dist/esm/blueprint/db/template-runner.js +65 -0
  415. package/dist/esm/blueprint/db/templates.d.ts +11 -0
  416. package/dist/esm/blueprint/db/templates.js +226 -0
  417. package/dist/esm/blueprint/db/workspace-config.d.ts +38 -0
  418. package/dist/esm/blueprint/db/workspace-config.js +150 -0
  419. package/dist/esm/blueprint/evidence.d.ts +140 -0
  420. package/dist/esm/blueprint/evidence.js +152 -0
  421. package/dist/esm/blueprint/execution/artifacts.d.ts +9 -0
  422. package/dist/esm/blueprint/execution/artifacts.js +45 -0
  423. package/dist/esm/blueprint/execution/metadata.d.ts +11 -0
  424. package/dist/esm/blueprint/execution/metadata.js +46 -0
  425. package/dist/esm/blueprint/execution/progress-bridge.d.ts +117 -0
  426. package/dist/esm/blueprint/execution/progress-bridge.js +302 -0
  427. package/dist/esm/blueprint/execution/types.d.ts +233 -0
  428. package/dist/esm/blueprint/execution/types.js +99 -0
  429. package/dist/esm/blueprint/export/spec-kit/_field-map.d.ts +12 -0
  430. package/dist/esm/blueprint/export/spec-kit/_field-map.js +33 -0
  431. package/dist/esm/blueprint/export/spec-kit/constitution.d.ts +7 -0
  432. package/dist/esm/blueprint/export/spec-kit/constitution.js +61 -0
  433. package/dist/esm/blueprint/export/spec-kit/index.d.ts +13 -0
  434. package/dist/esm/blueprint/export/spec-kit/index.js +17 -0
  435. package/dist/esm/blueprint/export/spec-kit/plan.d.ts +7 -0
  436. package/dist/esm/blueprint/export/spec-kit/plan.js +43 -0
  437. package/dist/esm/blueprint/export/spec-kit/spec.d.ts +7 -0
  438. package/dist/esm/blueprint/export/spec-kit/spec.js +35 -0
  439. package/dist/esm/blueprint/export/spec-kit/tasks.d.ts +3 -0
  440. package/dist/esm/blueprint/export/spec-kit/tasks.js +32 -0
  441. package/dist/esm/blueprint/freshness.d.ts +78 -0
  442. package/dist/esm/blueprint/freshness.js +127 -0
  443. package/dist/esm/blueprint/graph/index.d.ts +5 -0
  444. package/dist/esm/blueprint/graph/index.js +5 -0
  445. package/dist/esm/blueprint/graph/mermaid-parser.d.ts +3 -0
  446. package/dist/esm/blueprint/graph/mermaid-parser.js +93 -0
  447. package/dist/esm/blueprint/graph/mermaid-serializer.d.ts +3 -0
  448. package/dist/esm/blueprint/graph/mermaid-serializer.js +20 -0
  449. package/dist/esm/blueprint/graph/schema.d.ts +89 -0
  450. package/dist/esm/blueprint/graph/schema.js +104 -0
  451. package/dist/esm/blueprint/graph/task-graph-adapter.d.ts +6 -0
  452. package/dist/esm/blueprint/graph/task-graph-adapter.js +30 -0
  453. package/dist/esm/blueprint/history/diff.d.ts +36 -0
  454. package/dist/esm/blueprint/history/diff.js +122 -0
  455. package/dist/esm/blueprint/index.d.ts +37 -0
  456. package/dist/esm/blueprint/index.js +46 -0
  457. package/dist/esm/blueprint/lifecycle/audit.d.ts +17 -0
  458. package/dist/esm/blueprint/lifecycle/audit.js +423 -0
  459. package/dist/esm/blueprint/lifecycle/engine.d.ts +38 -0
  460. package/dist/esm/blueprint/lifecycle/engine.js +157 -0
  461. package/dist/esm/blueprint/lifecycle/local.d.ts +15 -0
  462. package/dist/esm/blueprint/lifecycle/local.js +92 -0
  463. package/dist/esm/blueprint/local.d.ts +21 -0
  464. package/dist/esm/blueprint/local.js +25 -0
  465. package/dist/esm/blueprint/markdown/helpers.d.ts +17 -0
  466. package/dist/esm/blueprint/markdown/helpers.js +92 -0
  467. package/dist/esm/blueprint/markdown/task-heading.d.ts +8 -0
  468. package/dist/esm/blueprint/markdown/task-heading.js +19 -0
  469. package/dist/esm/blueprint/next-action.d.ts +27 -0
  470. package/dist/esm/blueprint/next-action.js +45 -0
  471. package/dist/esm/blueprint/project-resolver.d.ts +31 -0
  472. package/dist/esm/blueprint/project-resolver.js +142 -0
  473. package/dist/esm/blueprint/projection-ready.d.ts +3 -0
  474. package/dist/esm/blueprint/projection-ready.js +29 -0
  475. package/dist/esm/blueprint/projects.d.ts +96 -0
  476. package/dist/esm/blueprint/projects.js +383 -0
  477. package/dist/esm/blueprint/query/types.d.ts +53 -0
  478. package/dist/esm/blueprint/query/types.js +16 -0
  479. package/dist/esm/blueprint/roadmap.d.ts +24 -0
  480. package/dist/esm/blueprint/roadmap.js +82 -0
  481. package/dist/esm/blueprint/service/BlueprintCreationService.d.ts +47 -0
  482. package/dist/esm/blueprint/service/BlueprintCreationService.js +260 -0
  483. package/dist/esm/blueprint/service/BlueprintService.d.ts +70 -0
  484. package/dist/esm/blueprint/service/BlueprintService.js +190 -0
  485. package/dist/esm/blueprint/service/TechDebtService.d.ts +102 -0
  486. package/dist/esm/blueprint/service/TechDebtService.js +337 -0
  487. package/dist/esm/blueprint/service/TrackedDocumentService.d.ts +198 -0
  488. package/dist/esm/blueprint/service/TrackedDocumentService.js +162 -0
  489. package/dist/esm/blueprint/service/blueprint-records.d.ts +8 -0
  490. package/dist/esm/blueprint/service/blueprint-records.js +124 -0
  491. package/dist/esm/blueprint/service/blueprint-tech-debt-links.d.ts +3 -0
  492. package/dist/esm/blueprint/service/blueprint-tech-debt-links.js +35 -0
  493. package/dist/esm/blueprint/service/priority-scoring.d.ts +21 -0
  494. package/dist/esm/blueprint/service/priority-scoring.js +85 -0
  495. package/dist/esm/blueprint/service/scanner.d.ts +56 -0
  496. package/dist/esm/blueprint/service/scanner.js +212 -0
  497. package/dist/esm/blueprint/sync/auth.d.ts +27 -0
  498. package/dist/esm/blueprint/sync/auth.js +59 -0
  499. package/dist/esm/blueprint/sync/client.d.ts +64 -0
  500. package/dist/esm/blueprint/sync/client.js +232 -0
  501. package/dist/esm/blueprint/sync/replica.d.ts +55 -0
  502. package/dist/esm/blueprint/sync/replica.js +139 -0
  503. package/dist/esm/blueprint/sync/types.d.ts +178 -0
  504. package/dist/esm/blueprint/sync/types.js +18 -0
  505. package/dist/esm/blueprint/tech-debt/index.d.ts +9 -0
  506. package/dist/esm/blueprint/tech-debt/index.js +9 -0
  507. package/dist/esm/blueprint/tech-debt/parser.d.ts +56 -0
  508. package/dist/esm/blueprint/tech-debt/parser.js +133 -0
  509. package/dist/esm/blueprint/tech-debt/query-types.d.ts +130 -0
  510. package/dist/esm/blueprint/tech-debt/query-types.js +37 -0
  511. package/dist/esm/blueprint/tech-debt/schema.d.ts +151 -0
  512. package/dist/esm/blueprint/tech-debt/schema.js +145 -0
  513. package/dist/esm/blueprint/test-utils/blueprint-mocks.d.ts +31 -0
  514. package/dist/esm/blueprint/test-utils/blueprint-mocks.js +63 -0
  515. package/dist/esm/blueprint/tracked-document/index.d.ts +11 -0
  516. package/dist/esm/blueprint/tracked-document/index.js +11 -0
  517. package/dist/esm/blueprint/tracked-document/parser.d.ts +113 -0
  518. package/dist/esm/blueprint/tracked-document/parser.js +197 -0
  519. package/dist/esm/blueprint/tracked-document/query-types.d.ts +43 -0
  520. package/dist/esm/blueprint/tracked-document/query-types.js +8 -0
  521. package/dist/esm/blueprint/tracked-document/schema.d.ts +80 -0
  522. package/dist/esm/blueprint/tracked-document/schema.js +89 -0
  523. package/dist/esm/blueprint/types/execution-backend.d.ts +17 -0
  524. package/dist/esm/blueprint/types/execution-backend.js +16 -0
  525. package/dist/esm/blueprint/utils/archive.d.ts +69 -0
  526. package/dist/esm/blueprint/utils/archive.js +209 -0
  527. package/dist/esm/blueprint/utils/blueprint-root.d.ts +9 -0
  528. package/dist/esm/blueprint/utils/blueprint-root.js +77 -0
  529. package/dist/esm/blueprint/utils/conflict.d.ts +125 -0
  530. package/dist/esm/blueprint/utils/conflict.js +111 -0
  531. package/dist/esm/blueprint/utils/decision-trace-artifacts.d.ts +16 -0
  532. package/dist/esm/blueprint/utils/decision-trace-artifacts.js +37 -0
  533. package/dist/esm/blueprint/utils/errors.d.ts +14 -0
  534. package/dist/esm/blueprint/utils/errors.js +44 -0
  535. package/dist/esm/blueprint/utils/freshness.d.ts +21 -0
  536. package/dist/esm/blueprint/utils/freshness.js +66 -0
  537. package/dist/esm/blueprint/utils/package-assets.d.ts +6 -0
  538. package/dist/esm/blueprint/utils/package-assets.js +20 -0
  539. package/dist/esm/blueprint/utils/string.d.ts +8 -0
  540. package/dist/esm/blueprint/utils/string.js +10 -0
  541. package/dist/esm/blueprint/utils/tech-debt-root.d.ts +4 -0
  542. package/dist/esm/blueprint/utils/tech-debt-root.js +18 -0
  543. package/dist/esm/blueprint/verification.d.ts +116 -0
  544. package/dist/esm/blueprint/verification.js +246 -0
  545. package/dist/esm/build/generate-skills-dir.d.ts +14 -0
  546. package/dist/esm/build/generate-skills-dir.js +56 -0
  547. package/dist/esm/ci/act-helper.d.ts +29 -0
  548. package/dist/esm/ci/act-helper.js +106 -0
  549. package/dist/esm/ci/act-runner.d.ts +24 -0
  550. package/dist/esm/ci/act-runner.js +71 -0
  551. package/dist/esm/cli/auto-update/detect-pm.d.ts +76 -0
  552. package/dist/esm/cli/auto-update/detect-pm.js +237 -0
  553. package/dist/esm/cli/auto-update/installer.d.ts +65 -0
  554. package/dist/esm/cli/auto-update/installer.js +171 -0
  555. package/dist/esm/cli/auto-update/log.d.ts +46 -0
  556. package/dist/esm/cli/auto-update/log.js +107 -0
  557. package/dist/esm/cli/auto-update/run.d.ts +23 -0
  558. package/dist/esm/cli/auto-update/run.js +116 -0
  559. package/dist/esm/cli/auto-update/skip.d.ts +34 -0
  560. package/dist/esm/cli/auto-update/skip.js +84 -0
  561. package/dist/esm/cli/bootstrap.d.ts +28 -0
  562. package/dist/esm/cli/bootstrap.js +55 -0
  563. package/dist/esm/cli/cli.d.ts +11 -0
  564. package/dist/esm/cli/cli.js +310 -0
  565. package/dist/esm/cli/commands/audit-core.d.ts +61 -0
  566. package/dist/esm/cli/commands/audit-core.js +87 -0
  567. package/dist/esm/cli/commands/audit.d.ts +10 -0
  568. package/dist/esm/cli/commands/audit.js +273 -0
  569. package/dist/esm/cli/commands/bench/index.d.ts +6 -0
  570. package/dist/esm/cli/commands/bench/index.js +54 -0
  571. package/dist/esm/cli/commands/bench/session-memory.d.ts +129 -0
  572. package/dist/esm/cli/commands/bench/session-memory.js +242 -0
  573. package/dist/esm/cli/commands/blueprint/db-commands.d.ts +60 -0
  574. package/dist/esm/cli/commands/blueprint/db-commands.js +244 -0
  575. package/dist/esm/cli/commands/blueprint/execution-io.d.ts +80 -0
  576. package/dist/esm/cli/commands/blueprint/execution-io.js +78 -0
  577. package/dist/esm/cli/commands/blueprint/execution-spec.d.ts +45 -0
  578. package/dist/esm/cli/commands/blueprint/execution-spec.js +177 -0
  579. package/dist/esm/cli/commands/blueprint/execution-state.d.ts +17 -0
  580. package/dist/esm/cli/commands/blueprint/execution-state.js +38 -0
  581. package/dist/esm/cli/commands/blueprint/execution.d.ts +74 -0
  582. package/dist/esm/cli/commands/blueprint/execution.js +256 -0
  583. package/dist/esm/cli/commands/blueprint/mutations.d.ts +109 -0
  584. package/dist/esm/cli/commands/blueprint/mutations.js +357 -0
  585. package/dist/esm/cli/commands/blueprint/router-dispatch.d.ts +50 -0
  586. package/dist/esm/cli/commands/blueprint/router-dispatch.js +358 -0
  587. package/dist/esm/cli/commands/blueprint/router-output.d.ts +25 -0
  588. package/dist/esm/cli/commands/blueprint/router-output.js +190 -0
  589. package/dist/esm/cli/commands/blueprint/router.d.ts +117 -0
  590. package/dist/esm/cli/commands/blueprint/router.js +480 -0
  591. package/dist/esm/cli/commands/blueprint/template-resolver.d.ts +19 -0
  592. package/dist/esm/cli/commands/blueprint/template-resolver.js +55 -0
  593. package/dist/esm/cli/commands/ci.d.ts +31 -0
  594. package/dist/esm/cli/commands/ci.js +76 -0
  595. package/dist/esm/cli/commands/compile.d.ts +21 -0
  596. package/dist/esm/cli/commands/compile.js +329 -0
  597. package/dist/esm/cli/commands/config.d.ts +55 -0
  598. package/dist/esm/cli/commands/config.js +272 -0
  599. package/dist/esm/cli/commands/dev.d.ts +17 -0
  600. package/dist/esm/cli/commands/dev.js +56 -0
  601. package/dist/esm/cli/commands/docs-core.d.ts +26 -0
  602. package/dist/esm/cli/commands/docs-core.js +88 -0
  603. package/dist/esm/cli/commands/docs.d.ts +9 -0
  604. package/dist/esm/cli/commands/docs.js +46 -0
  605. package/dist/esm/cli/commands/doctor.d.ts +10 -0
  606. package/dist/esm/cli/commands/doctor.js +53 -0
  607. package/dist/esm/cli/commands/e2e.d.ts +22 -0
  608. package/dist/esm/cli/commands/e2e.js +99 -0
  609. package/dist/esm/cli/commands/err.d.ts +11 -0
  610. package/dist/esm/cli/commands/err.js +73 -0
  611. package/dist/esm/cli/commands/format.d.ts +4 -0
  612. package/dist/esm/cli/commands/format.js +48 -0
  613. package/dist/esm/cli/commands/gain/index.d.ts +10 -0
  614. package/dist/esm/cli/commands/gain/index.js +83 -0
  615. package/dist/esm/cli/commands/hooks.d.ts +3 -0
  616. package/dist/esm/cli/commands/hooks.js +21 -0
  617. package/dist/esm/cli/commands/init/config.d.ts +36 -0
  618. package/dist/esm/cli/commands/init/config.js +116 -0
  619. package/dist/esm/cli/commands/init/detect-consumer.d.ts +49 -0
  620. package/dist/esm/cli/commands/init/detect-consumer.js +279 -0
  621. package/dist/esm/cli/commands/init/gitignore-patcher.d.ts +9 -0
  622. package/dist/esm/cli/commands/init/gitignore-patcher.js +133 -0
  623. package/dist/esm/cli/commands/init/host-visibility.d.ts +37 -0
  624. package/dist/esm/cli/commands/init/host-visibility.js +105 -0
  625. package/dist/esm/cli/commands/init/index.d.ts +23 -0
  626. package/dist/esm/cli/commands/init/index.js +751 -0
  627. package/dist/esm/cli/commands/init/merge.d.ts +33 -0
  628. package/dist/esm/cli/commands/init/merge.js +111 -0
  629. package/dist/esm/cli/commands/init/preflight.d.ts +15 -0
  630. package/dist/esm/cli/commands/init/preflight.js +87 -0
  631. package/dist/esm/cli/commands/init/prompts.d.ts +24 -0
  632. package/dist/esm/cli/commands/init/prompts.js +126 -0
  633. package/dist/esm/cli/commands/init/scaffold-agent-rules.d.ts +11 -0
  634. package/dist/esm/cli/commands/init/scaffold-agent-rules.js +58 -0
  635. package/dist/esm/cli/commands/init/scaffold-agent-skills.d.ts +11 -0
  636. package/dist/esm/cli/commands/init/scaffold-agent-skills.js +58 -0
  637. package/dist/esm/cli/commands/init/scaffold-agent.d.ts +15 -0
  638. package/dist/esm/cli/commands/init/scaffold-agent.js +63 -0
  639. package/dist/esm/cli/commands/init/scaffold-agents-md.d.ts +16 -0
  640. package/dist/esm/cli/commands/init/scaffold-agents-md.js +182 -0
  641. package/dist/esm/cli/commands/init/scaffold-base-kit.d.ts +9 -0
  642. package/dist/esm/cli/commands/init/scaffold-base-kit.js +183 -0
  643. package/dist/esm/cli/commands/init/scaffold-blueprints.d.ts +8 -0
  644. package/dist/esm/cli/commands/init/scaffold-blueprints.js +84 -0
  645. package/dist/esm/cli/commands/init/scaffold-catalog-ignore.d.ts +14 -0
  646. package/dist/esm/cli/commands/init/scaffold-catalog-ignore.js +48 -0
  647. package/dist/esm/cli/commands/init/scaffold-docs.d.ts +8 -0
  648. package/dist/esm/cli/commands/init/scaffold-docs.js +15 -0
  649. package/dist/esm/cli/commands/init/scaffold-monorepo-nav.d.ts +19 -0
  650. package/dist/esm/cli/commands/init/scaffold-monorepo-nav.js +101 -0
  651. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-normalize.d.ts +20 -0
  652. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-normalize.js +258 -0
  653. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-ownership.d.ts +3 -0
  654. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-global-ownership.js +36 -0
  655. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-ownership.d.ts +11 -0
  656. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-ownership.js +62 -0
  657. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-trust-sync.d.ts +24 -0
  658. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/codex-trust-sync.js +101 -0
  659. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/index.d.ts +68 -0
  660. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/index.js +585 -0
  661. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/skill-hooks.d.ts +21 -0
  662. package/dist/esm/cli/commands/init/scaffolders/agent-hooks/skill-hooks.js +123 -0
  663. package/dist/esm/cli/commands/init/scaffolders/audit-hooks/index.d.ts +16 -0
  664. package/dist/esm/cli/commands/init/scaffolders/audit-hooks/index.js +65 -0
  665. package/dist/esm/cli/commands/init/scaffolders/claude-plugin/index.d.ts +33 -0
  666. package/dist/esm/cli/commands/init/scaffolders/claude-plugin/index.js +67 -0
  667. package/dist/esm/cli/commands/init/scaffolders/claude-rules/index.d.ts +7 -0
  668. package/dist/esm/cli/commands/init/scaffolders/claude-rules/index.js +127 -0
  669. package/dist/esm/cli/commands/init/scaffolders/codex-cli/index.d.ts +17 -0
  670. package/dist/esm/cli/commands/init/scaffolders/codex-cli/index.js +27 -0
  671. package/dist/esm/cli/commands/init/scaffolders/codex-mcp/index.d.ts +79 -0
  672. package/dist/esm/cli/commands/init/scaffolders/codex-mcp/index.js +189 -0
  673. package/dist/esm/cli/commands/init/scaffolders/context-mode/index.d.ts +24 -0
  674. package/dist/esm/cli/commands/init/scaffolders/context-mode/index.js +165 -0
  675. package/dist/esm/cli/commands/init/scaffolders/example-skill/index.d.ts +15 -0
  676. package/dist/esm/cli/commands/init/scaffolders/example-skill/index.js +31 -0
  677. package/dist/esm/cli/commands/init/scaffolders/gstack/index.d.ts +92 -0
  678. package/dist/esm/cli/commands/init/scaffolders/gstack/index.js +228 -0
  679. package/dist/esm/cli/commands/init/scaffolders/lore-commits/index.d.ts +12 -0
  680. package/dist/esm/cli/commands/init/scaffolders/lore-commits/index.js +24 -0
  681. package/dist/esm/cli/commands/init/scaffolders/omc/index.d.ts +41 -0
  682. package/dist/esm/cli/commands/init/scaffolders/omc/index.js +54 -0
  683. package/dist/esm/cli/commands/init/scaffolders/omx/index.d.ts +63 -0
  684. package/dist/esm/cli/commands/init/scaffolders/omx/index.js +251 -0
  685. package/dist/esm/cli/commands/init/scaffolders/opencode-plugin/index.d.ts +9 -0
  686. package/dist/esm/cli/commands/init/scaffolders/opencode-plugin/index.js +86 -0
  687. package/dist/esm/cli/commands/init/scaffolders/rtk/index.d.ts +25 -0
  688. package/dist/esm/cli/commands/init/scaffolders/rtk/index.js +55 -0
  689. package/dist/esm/cli/commands/init/scaffolders/runtime-check/index.d.ts +15 -0
  690. package/dist/esm/cli/commands/init/scaffolders/runtime-check/index.js +37 -0
  691. package/dist/esm/cli/commands/init/scaffolders/spinner.d.ts +23 -0
  692. package/dist/esm/cli/commands/init/scaffolders/spinner.js +32 -0
  693. package/dist/esm/cli/commands/init/scaffolders/subagents/index.d.ts +7 -0
  694. package/dist/esm/cli/commands/init/scaffolders/subagents/index.js +88 -0
  695. package/dist/esm/cli/commands/init/scaffolders/version-pin.d.ts +19 -0
  696. package/dist/esm/cli/commands/init/scaffolders/version-pin.js +95 -0
  697. package/dist/esm/cli/commands/init/scaffolders/vision/index.d.ts +10 -0
  698. package/dist/esm/cli/commands/init/scaffolders/vision/index.js +67 -0
  699. package/dist/esm/cli/commands/init/scaffolders/vision/interview.d.ts +22 -0
  700. package/dist/esm/cli/commands/init/scaffolders/vision/interview.js +73 -0
  701. package/dist/esm/cli/commands/init/scaffolders/workspace-config/index.d.ts +28 -0
  702. package/dist/esm/cli/commands/init/scaffolders/workspace-config/index.js +40 -0
  703. package/dist/esm/cli/commands/lint.d.ts +4 -0
  704. package/dist/esm/cli/commands/lint.js +40 -0
  705. package/dist/esm/cli/commands/mcp.d.ts +4 -0
  706. package/dist/esm/cli/commands/mcp.js +18 -0
  707. package/dist/esm/cli/commands/roadmap.d.ts +7 -0
  708. package/dist/esm/cli/commands/roadmap.js +79 -0
  709. package/dist/esm/cli/commands/rule.d.ts +8 -0
  710. package/dist/esm/cli/commands/rule.js +59 -0
  711. package/dist/esm/cli/commands/skill.d.ts +20 -0
  712. package/dist/esm/cli/commands/skill.js +160 -0
  713. package/dist/esm/cli/commands/sync.d.ts +14 -0
  714. package/dist/esm/cli/commands/sync.js +132 -0
  715. package/dist/esm/cli/commands/tech-debt/index.d.ts +5 -0
  716. package/dist/esm/cli/commands/tech-debt/index.js +5 -0
  717. package/dist/esm/cli/commands/tech-debt/router-dispatch.d.ts +22 -0
  718. package/dist/esm/cli/commands/tech-debt/router-dispatch.js +436 -0
  719. package/dist/esm/cli/commands/tech-debt/router.d.ts +10 -0
  720. package/dist/esm/cli/commands/tech-debt/router.js +30 -0
  721. package/dist/esm/cli/commands/test.d.ts +12 -0
  722. package/dist/esm/cli/commands/test.js +88 -0
  723. package/dist/esm/cli/commands/typecheck.d.ts +18 -0
  724. package/dist/esm/cli/commands/typecheck.js +57 -0
  725. package/dist/esm/cli/commands/worktree/router-dispatch.d.ts +39 -0
  726. package/dist/esm/cli/commands/worktree/router-dispatch.js +217 -0
  727. package/dist/esm/cli/commands/worktree/router.d.ts +10 -0
  728. package/dist/esm/cli/commands/worktree/router.js +34 -0
  729. package/dist/esm/cli/utils.d.ts +45 -0
  730. package/dist/esm/cli/utils.js +156 -0
  731. package/dist/esm/codex/app-server/client.d.ts +50 -0
  732. package/dist/esm/codex/app-server/client.js +202 -0
  733. package/dist/esm/codex/app-server/types.d.ts +240 -0
  734. package/dist/esm/codex/app-server/types.js +103 -0
  735. package/dist/esm/compiler/flatten.d.ts +10 -0
  736. package/dist/esm/compiler/flatten.js +71 -0
  737. package/dist/esm/compiler/manifests/_versions.d.ts +7 -0
  738. package/dist/esm/compiler/manifests/_versions.js +7 -0
  739. package/dist/esm/compiler/manifests/claude.d.ts +9 -0
  740. package/dist/esm/compiler/manifests/claude.js +36 -0
  741. package/dist/esm/compiler/manifests/codex.d.ts +9 -0
  742. package/dist/esm/compiler/manifests/codex.js +23 -0
  743. package/dist/esm/compiler/manifests/cursor.d.ts +9 -0
  744. package/dist/esm/compiler/manifests/cursor.js +28 -0
  745. package/dist/esm/compiler/manifests/gemini.d.ts +9 -0
  746. package/dist/esm/compiler/manifests/gemini.js +20 -0
  747. package/dist/esm/compiler/memory/directives.d.ts +23 -0
  748. package/dist/esm/compiler/memory/directives.js +108 -0
  749. package/dist/esm/compiler/memory/directives.schema.d.ts +55 -0
  750. package/dist/esm/compiler/memory/directives.schema.js +32 -0
  751. package/dist/esm/compiler/memory/merger.d.ts +17 -0
  752. package/dist/esm/compiler/memory/merger.js +122 -0
  753. package/dist/esm/compiler/memory/precedence.d.ts +15 -0
  754. package/dist/esm/compiler/memory/precedence.js +40 -0
  755. package/dist/esm/compiler/memory/provenance.d.ts +13 -0
  756. package/dist/esm/compiler/memory/provenance.js +8 -0
  757. package/dist/esm/compiler/orphans.d.ts +8 -0
  758. package/dist/esm/compiler/orphans.js +58 -0
  759. package/dist/esm/compiler/schema.d.ts +47 -0
  760. package/dist/esm/compiler/schema.js +49 -0
  761. package/dist/esm/config/docs-lint/cli/check-internal-links.d.ts +13 -0
  762. package/dist/esm/config/docs-lint/cli/check-internal-links.js +161 -0
  763. package/dist/esm/config/docs-lint/cli/check-refs.d.ts +9 -0
  764. package/dist/esm/config/docs-lint/cli/check-refs.js +165 -0
  765. package/dist/esm/config/docs-lint/cli/check-stale.d.ts +9 -0
  766. package/dist/esm/config/docs-lint/cli/check-stale.js +116 -0
  767. package/dist/esm/config/docs-lint/cli/commands/migrate-command.d.ts +22 -0
  768. package/dist/esm/config/docs-lint/cli/commands/migrate-command.js +254 -0
  769. package/dist/esm/config/docs-lint/cli/commands/validate-command.d.ts +28 -0
  770. package/dist/esm/config/docs-lint/cli/commands/validate-command.js +363 -0
  771. package/dist/esm/config/docs-lint/cli/factories.d.ts +54 -0
  772. package/dist/esm/config/docs-lint/cli/factories.js +85 -0
  773. package/dist/esm/config/docs-lint/cli/fixers/code-language.d.ts +34 -0
  774. package/dist/esm/config/docs-lint/cli/fixers/code-language.js +277 -0
  775. package/dist/esm/config/docs-lint/cli/interfaces.d.ts +55 -0
  776. package/dist/esm/config/docs-lint/cli/interfaces.js +6 -0
  777. package/dist/esm/config/docs-lint/cli/migrate.d.ts +3 -0
  778. package/dist/esm/config/docs-lint/cli/migrate.js +53 -0
  779. package/dist/esm/config/docs-lint/cli/planning-path.d.ts +2 -0
  780. package/dist/esm/config/docs-lint/cli/planning-path.js +29 -0
  781. package/dist/esm/config/docs-lint/cli/validate.d.ts +3 -0
  782. package/dist/esm/config/docs-lint/cli/validate.js +47 -0
  783. package/dist/esm/config/docs-lint/cli/validators/code-density.d.ts +7 -0
  784. package/dist/esm/config/docs-lint/cli/validators/code-density.js +15 -0
  785. package/dist/esm/config/docs-lint/cli/validators/command-safety.d.ts +19 -0
  786. package/dist/esm/config/docs-lint/cli/validators/command-safety.js +195 -0
  787. package/dist/esm/config/docs-lint/cli/validators/context-limits.d.ts +58 -0
  788. package/dist/esm/config/docs-lint/cli/validators/context-limits.js +212 -0
  789. package/dist/esm/config/docs-lint/cli/validators/deprecated-commands.d.ts +9 -0
  790. package/dist/esm/config/docs-lint/cli/validators/deprecated-commands.js +112 -0
  791. package/dist/esm/config/docs-lint/cli/validators/filename.d.ts +12 -0
  792. package/dist/esm/config/docs-lint/cli/validators/filename.js +128 -0
  793. package/dist/esm/config/docs-lint/cli/validators/imports.d.ts +30 -0
  794. package/dist/esm/config/docs-lint/cli/validators/imports.js +163 -0
  795. package/dist/esm/config/docs-lint/cli/validators/index.d.ts +8 -0
  796. package/dist/esm/config/docs-lint/cli/validators/index.js +8 -0
  797. package/dist/esm/config/docs-lint/cli/validators/links.d.ts +30 -0
  798. package/dist/esm/config/docs-lint/cli/validators/links.js +134 -0
  799. package/dist/esm/config/docs-lint/cli/validators/markdownlint.d.ts +11 -0
  800. package/dist/esm/config/docs-lint/cli/validators/markdownlint.js +17 -0
  801. package/dist/esm/config/docs-lint/cli/validators/structure.d.ts +10 -0
  802. package/dist/esm/config/docs-lint/cli/validators/structure.js +75 -0
  803. package/dist/esm/config/docs-lint/generator/frontmatter-validator.d.ts +6 -0
  804. package/dist/esm/config/docs-lint/generator/frontmatter-validator.js +72 -0
  805. package/dist/esm/config/docs-lint/generator/index.d.ts +11 -0
  806. package/dist/esm/config/docs-lint/generator/index.js +10 -0
  807. package/dist/esm/config/docs-lint/generator/markdown-generator.d.ts +6 -0
  808. package/dist/esm/config/docs-lint/generator/markdown-generator.js +78 -0
  809. package/dist/esm/config/docs-lint/generator/template-loader.d.ts +18 -0
  810. package/dist/esm/config/docs-lint/generator/template-loader.js +66 -0
  811. package/dist/esm/config/docs-lint/generator/types.d.ts +100 -0
  812. package/dist/esm/config/docs-lint/generator/types.js +2 -0
  813. package/dist/esm/config/docs-lint/index.d.ts +34 -0
  814. package/dist/esm/config/docs-lint/index.js +3 -0
  815. package/dist/esm/config/docs-lint/parsers/bold-metadata.d.ts +28 -0
  816. package/dist/esm/config/docs-lint/parsers/bold-metadata.js +176 -0
  817. package/dist/esm/config/docs-lint/parsers/frontmatter.d.ts +20 -0
  818. package/dist/esm/config/docs-lint/parsers/frontmatter.js +67 -0
  819. package/dist/esm/config/docs-lint/parsers/index.d.ts +3 -0
  820. package/dist/esm/config/docs-lint/parsers/index.js +3 -0
  821. package/dist/esm/config/docs-lint/schemas/adaptation.d.ts +28 -0
  822. package/dist/esm/config/docs-lint/schemas/adaptation.js +18 -0
  823. package/dist/esm/config/docs-lint/schemas/agents.d.ts +76 -0
  824. package/dist/esm/config/docs-lint/schemas/agents.js +29 -0
  825. package/dist/esm/config/docs-lint/schemas/audit.d.ts +52 -0
  826. package/dist/esm/config/docs-lint/schemas/audit.js +20 -0
  827. package/dist/esm/config/docs-lint/schemas/common.d.ts +68 -0
  828. package/dist/esm/config/docs-lint/schemas/common.js +73 -0
  829. package/dist/esm/config/docs-lint/schemas/cookbook.d.ts +48 -0
  830. package/dist/esm/config/docs-lint/schemas/cookbook.js +21 -0
  831. package/dist/esm/config/docs-lint/schemas/core.d.ts +189 -0
  832. package/dist/esm/config/docs-lint/schemas/core.js +54 -0
  833. package/dist/esm/config/docs-lint/schemas/decision.d.ts +18 -0
  834. package/dist/esm/config/docs-lint/schemas/decision.js +9 -0
  835. package/dist/esm/config/docs-lint/schemas/draft.d.ts +36 -0
  836. package/dist/esm/config/docs-lint/schemas/draft.js +35 -0
  837. package/dist/esm/config/docs-lint/schemas/evaluation.d.ts +43 -0
  838. package/dist/esm/config/docs-lint/schemas/evaluation.js +22 -0
  839. package/dist/esm/config/docs-lint/schemas/implementation-plan.d.ts +62 -0
  840. package/dist/esm/config/docs-lint/schemas/implementation-plan.js +34 -0
  841. package/dist/esm/config/docs-lint/schemas/index.d.ts +51 -0
  842. package/dist/esm/config/docs-lint/schemas/index.js +109 -0
  843. package/dist/esm/config/docs-lint/schemas/ongoing-initiative.d.ts +99 -0
  844. package/dist/esm/config/docs-lint/schemas/ongoing-initiative.js +31 -0
  845. package/dist/esm/config/docs-lint/schemas/parent-roadmap.d.ts +39 -0
  846. package/dist/esm/config/docs-lint/schemas/parent-roadmap.js +24 -0
  847. package/dist/esm/config/docs-lint/schemas/research.d.ts +26 -0
  848. package/dist/esm/config/docs-lint/schemas/research.js +20 -0
  849. package/dist/esm/config/docs-lint/schemas/rule.d.ts +48 -0
  850. package/dist/esm/config/docs-lint/schemas/rule.js +12 -0
  851. package/dist/esm/config/e2e-preset/index.d.ts +17 -0
  852. package/dist/esm/config/e2e-preset/index.js +29 -0
  853. package/dist/esm/config/e2e-preset/playwright.d.ts +17 -0
  854. package/dist/esm/config/e2e-preset/playwright.js +12 -0
  855. package/dist/esm/config/launch/contracts.d.ts +100 -0
  856. package/dist/esm/config/launch/contracts.js +13 -0
  857. package/dist/esm/config/launch/dev-contracts.d.ts +47 -0
  858. package/dist/esm/config/launch/dev-contracts.js +8 -0
  859. package/dist/esm/config/launch/dev-manifest.d.ts +42 -0
  860. package/dist/esm/config/launch/dev-manifest.js +196 -0
  861. package/dist/esm/config/launch/index.d.ts +14 -0
  862. package/dist/esm/config/launch/index.js +12 -0
  863. package/dist/esm/config/launch/launch-profile.d.ts +47 -0
  864. package/dist/esm/config/launch/launch-profile.js +39 -0
  865. package/dist/esm/config/launch/provision-stack.d.ts +64 -0
  866. package/dist/esm/config/launch/provision-stack.js +45 -0
  867. package/dist/esm/config/oxlint/code-safety.d.ts +19 -0
  868. package/dist/esm/config/oxlint/code-safety.js +90 -0
  869. package/dist/esm/config/oxlint/foundation-purity.d.ts +22 -0
  870. package/dist/esm/config/oxlint/foundation-purity.js +53 -0
  871. package/dist/esm/config/oxlint/graphql-conventions.d.ts +24 -0
  872. package/dist/esm/config/oxlint/graphql-conventions.js +204 -0
  873. package/dist/esm/config/oxlint/import-hygiene.d.ts +35 -0
  874. package/dist/esm/config/oxlint/import-hygiene.js +208 -0
  875. package/dist/esm/config/oxlint/index.d.ts +23 -0
  876. package/dist/esm/config/oxlint/index.js +29 -0
  877. package/dist/esm/config/oxlint/monorepo-paths.d.ts +19 -0
  878. package/dist/esm/config/oxlint/monorepo-paths.js +129 -0
  879. package/dist/esm/config/oxlint/oxlint-config.fixture.d.ts +3 -0
  880. package/dist/esm/config/oxlint/oxlint-config.fixture.js +5 -0
  881. package/dist/esm/config/oxlint/query-patterns.d.ts +25 -0
  882. package/dist/esm/config/oxlint/query-patterns.js +126 -0
  883. package/dist/esm/config/oxlint/testing-quality.d.ts +36 -0
  884. package/dist/esm/config/oxlint/testing-quality.js +187 -0
  885. package/dist/esm/config/oxlint/tier-boundaries.d.ts +36 -0
  886. package/dist/esm/config/oxlint/tier-boundaries.js +134 -0
  887. package/dist/esm/config/stryker/index.d.ts +44 -0
  888. package/dist/esm/config/stryker/index.js +79 -0
  889. package/dist/esm/config/test-preset/index.d.ts +2 -0
  890. package/dist/esm/config/test-preset/index.js +2 -0
  891. package/dist/esm/config/test-preset/vitest.d.ts +26 -0
  892. package/dist/esm/config/test-preset/vitest.js +31 -0
  893. package/dist/esm/config/tsconfig/base.json +37 -0
  894. package/dist/esm/config/tsconfig/cloudflare.json +10 -0
  895. package/dist/esm/config/tsconfig/library.json +16 -0
  896. package/dist/esm/config/tsconfig/react-library.json +9 -0
  897. package/dist/esm/config/tsconfig/react-router.json +10 -0
  898. package/dist/esm/config/vitest/bun-sqlite-shim.d.ts +14 -0
  899. package/dist/esm/config/vitest/bun-sqlite-shim.js +14 -0
  900. package/dist/esm/config/vitest/consumer-package.d.ts +4 -0
  901. package/dist/esm/config/vitest/consumer-package.js +63 -0
  902. package/dist/esm/config/vitest/flakiness-reporter.d.ts +7 -0
  903. package/dist/esm/config/vitest/flakiness-reporter.js +53 -0
  904. package/dist/esm/config/vitest/generated-runtime-aliases.d.ts +6 -0
  905. package/dist/esm/config/vitest/generated-runtime-aliases.js +3 -0
  906. package/dist/esm/config/vitest/node-setup.d.ts +6 -0
  907. package/dist/esm/config/vitest/node-setup.js +16 -0
  908. package/dist/esm/config/vitest/node.d.ts +43 -0
  909. package/dist/esm/config/vitest/node.js +180 -0
  910. package/dist/esm/config/vitest/pool-defaults.d.ts +11 -0
  911. package/dist/esm/config/vitest/pool-defaults.js +43 -0
  912. package/dist/esm/config/vitest/react-router.d.ts +22 -0
  913. package/dist/esm/config/vitest/react-router.js +83 -0
  914. package/dist/esm/config/vitest/react-setup.d.ts +13 -0
  915. package/dist/esm/config/vitest/react-setup.js +27 -0
  916. package/dist/esm/config/vitest/react.d.ts +22 -0
  917. package/dist/esm/config/vitest/react.js +85 -0
  918. package/dist/esm/config/vitest/version-guard.d.ts +7 -0
  919. package/dist/esm/config/vitest/version-guard.js +42 -0
  920. package/dist/esm/config/vitest/workers.d.ts +28 -0
  921. package/dist/esm/config/vitest/workers.js +44 -0
  922. package/dist/esm/config/workers-test/cloudflare-types.d.ts +30 -0
  923. package/dist/esm/config/workers-test/cloudflare-types.js +2 -0
  924. package/dist/esm/config/workers-test/durable-objects.d.ts +60 -0
  925. package/dist/esm/config/workers-test/durable-objects.js +73 -0
  926. package/dist/esm/config/workers-test/env.d.ts +58 -0
  927. package/dist/esm/config/workers-test/env.js +74 -0
  928. package/dist/esm/config/workers-test/execution-context.d.ts +21 -0
  929. package/dist/esm/config/workers-test/execution-context.js +22 -0
  930. package/dist/esm/config/workers-test/index.d.ts +16 -0
  931. package/dist/esm/config/workers-test/index.js +15 -0
  932. package/dist/esm/config/workers-test/requests.d.ts +44 -0
  933. package/dist/esm/config/workers-test/requests.js +71 -0
  934. package/dist/esm/config/workers-test/setup.d.ts +63 -0
  935. package/dist/esm/config/workers-test/setup.js +86 -0
  936. package/dist/esm/content/audit.d.ts +20 -0
  937. package/dist/esm/content/audit.js +164 -0
  938. package/dist/esm/content/dispatch.d.ts +32 -0
  939. package/dist/esm/content/dispatch.js +204 -0
  940. package/dist/esm/content/loader.d.ts +50 -0
  941. package/dist/esm/content/loader.js +166 -0
  942. package/dist/esm/content/schema.d.ts +123 -0
  943. package/dist/esm/content/schema.js +125 -0
  944. package/dist/esm/dev/dev-link-state.d.ts +22 -0
  945. package/dist/esm/dev/dev-link-state.js +51 -0
  946. package/dist/esm/dev/index.d.ts +2 -0
  947. package/dist/esm/dev/index.js +2 -0
  948. package/dist/esm/dev/load-manifest.d.ts +35 -0
  949. package/dist/esm/dev/load-manifest.js +182 -0
  950. package/dist/esm/dev/restore-dev-links/index.d.ts +30 -0
  951. package/dist/esm/dev/restore-dev-links/index.js +103 -0
  952. package/dist/esm/docs-linter/blueprint-plan.d.ts +80 -0
  953. package/dist/esm/docs-linter/blueprint-plan.js +427 -0
  954. package/dist/esm/docs-linter/index.d.ts +8 -0
  955. package/dist/esm/docs-linter/index.js +7 -0
  956. package/dist/esm/docs-linter/types.d.ts +16 -0
  957. package/dist/esm/docs-linter/types.js +8 -0
  958. package/dist/esm/e2e/command-builder.d.ts +3 -0
  959. package/dist/esm/e2e/command-builder.js +98 -0
  960. package/dist/esm/e2e/command-host-adapter.d.ts +30 -0
  961. package/dist/esm/e2e/command-host-adapter.js +70 -0
  962. package/dist/esm/e2e/config.d.ts +26 -0
  963. package/dist/esm/e2e/config.js +39 -0
  964. package/dist/esm/e2e/execution.d.ts +14 -0
  965. package/dist/esm/e2e/execution.js +148 -0
  966. package/dist/esm/e2e/host-adapter.d.ts +6 -0
  967. package/dist/esm/e2e/host-adapter.js +22 -0
  968. package/dist/esm/e2e/index.d.ts +9 -0
  969. package/dist/esm/e2e/index.js +8 -0
  970. package/dist/esm/e2e/load-host-adapter.d.ts +43 -0
  971. package/dist/esm/e2e/load-host-adapter.js +150 -0
  972. package/dist/esm/e2e/run-planner.d.ts +11 -0
  973. package/dist/esm/e2e/run-planner.js +186 -0
  974. package/dist/esm/e2e/suite-registry.d.ts +9 -0
  975. package/dist/esm/e2e/suite-registry.js +30 -0
  976. package/dist/esm/e2e/types.d.ts +81 -0
  977. package/dist/esm/e2e/types.js +2 -0
  978. package/dist/esm/format/errors.d.ts +2 -0
  979. package/dist/esm/format/errors.js +15 -0
  980. package/dist/esm/format/format.d.ts +2 -0
  981. package/dist/esm/format/format.js +16 -0
  982. package/dist/esm/format/index.d.ts +35 -0
  983. package/dist/esm/format/index.js +67 -0
  984. package/dist/esm/hooks/check-dev-link/index.d.ts +19 -0
  985. package/dist/esm/hooks/check-dev-link/index.js +87 -0
  986. package/dist/esm/hooks/doctor.d.ts +34 -0
  987. package/dist/esm/hooks/doctor.js +699 -0
  988. package/dist/esm/hooks/guard-switch/index.d.ts +3 -0
  989. package/dist/esm/hooks/guard-switch/index.js +18 -0
  990. package/dist/esm/hooks/guard-switch/state.d.ts +4 -0
  991. package/dist/esm/hooks/guard-switch/state.js +30 -0
  992. package/dist/esm/hooks/post-tool/lint-after-edit.d.ts +17 -0
  993. package/dist/esm/hooks/post-tool/lint-after-edit.js +57 -0
  994. package/dist/esm/hooks/pretool-guard/dev-routing.d.ts +21 -0
  995. package/dist/esm/hooks/pretool-guard/dev-routing.js +658 -0
  996. package/dist/esm/hooks/pretool-guard/index.d.ts +5 -0
  997. package/dist/esm/hooks/pretool-guard/index.js +11 -0
  998. package/dist/esm/hooks/pretool-guard/logger.d.ts +32 -0
  999. package/dist/esm/hooks/pretool-guard/logger.js +82 -0
  1000. package/dist/esm/hooks/pretool-guard/runner.d.ts +16 -0
  1001. package/dist/esm/hooks/pretool-guard/runner.js +149 -0
  1002. package/dist/esm/hooks/pretool-guard/validators/blueprint.d.ts +3 -0
  1003. package/dist/esm/hooks/pretool-guard/validators/blueprint.js +16 -0
  1004. package/dist/esm/hooks/pretool-guard/validators/command-file.d.ts +3 -0
  1005. package/dist/esm/hooks/pretool-guard/validators/command-file.js +36 -0
  1006. package/dist/esm/hooks/pretool-guard/validators/complexity.d.ts +3 -0
  1007. package/dist/esm/hooks/pretool-guard/validators/complexity.js +24 -0
  1008. package/dist/esm/hooks/pretool-guard/validators/dangerous-commands.d.ts +4 -0
  1009. package/dist/esm/hooks/pretool-guard/validators/dangerous-commands.js +60 -0
  1010. package/dist/esm/hooks/pretool-guard/validators/docs-governance.d.ts +2 -0
  1011. package/dist/esm/hooks/pretool-guard/validators/docs-governance.js +2 -0
  1012. package/dist/esm/hooks/pretool-guard/validators/file-conventions.d.ts +3 -0
  1013. package/dist/esm/hooks/pretool-guard/validators/file-conventions.js +67 -0
  1014. package/dist/esm/hooks/pretool-guard/validators/forbidden-commands.d.ts +66 -0
  1015. package/dist/esm/hooks/pretool-guard/validators/forbidden-commands.js +439 -0
  1016. package/dist/esm/hooks/pretool-guard/validators/index.d.ts +14 -0
  1017. package/dist/esm/hooks/pretool-guard/validators/index.js +26 -0
  1018. package/dist/esm/hooks/pretool-guard/validators/mcp-redirect.d.ts +16 -0
  1019. package/dist/esm/hooks/pretool-guard/validators/mcp-redirect.js +50 -0
  1020. package/dist/esm/hooks/pretool-guard/validators/package-imports.d.ts +10 -0
  1021. package/dist/esm/hooks/pretool-guard/validators/package-imports.js +36 -0
  1022. package/dist/esm/hooks/pretool-guard/validators/package-imports.types.d.ts +8 -0
  1023. package/dist/esm/hooks/pretool-guard/validators/package-imports.types.js +2 -0
  1024. package/dist/esm/hooks/pretool-guard/validators/path-contract.d.ts +15 -0
  1025. package/dist/esm/hooks/pretool-guard/validators/path-contract.js +105 -0
  1026. package/dist/esm/hooks/pretool-guard/validators/plan-frontmatter.d.ts +13 -0
  1027. package/dist/esm/hooks/pretool-guard/validators/plan-frontmatter.js +121 -0
  1028. package/dist/esm/hooks/pretool-guard/validators/skip-result.d.ts +3 -0
  1029. package/dist/esm/hooks/pretool-guard/validators/skip-result.js +4 -0
  1030. package/dist/esm/hooks/pretool-guard/validators/test-quality.d.ts +22 -0
  1031. package/dist/esm/hooks/pretool-guard/validators/test-quality.js +218 -0
  1032. package/dist/esm/hooks/pretool-guard/validators/ux-quality.d.ts +3 -0
  1033. package/dist/esm/hooks/pretool-guard/validators/ux-quality.js +80 -0
  1034. package/dist/esm/hooks/sessionstart/index.d.ts +16 -0
  1035. package/dist/esm/hooks/sessionstart/index.js +122 -0
  1036. package/dist/esm/hooks/sessionstart/update-banner.d.ts +2 -0
  1037. package/dist/esm/hooks/sessionstart/update-banner.js +66 -0
  1038. package/dist/esm/hooks/shared/hook-bootstrap.d.ts +28 -0
  1039. package/dist/esm/hooks/shared/hook-bootstrap.js +62 -0
  1040. package/dist/esm/hooks/shared/mcp-sentinel.d.ts +10 -0
  1041. package/dist/esm/hooks/shared/mcp-sentinel.js +106 -0
  1042. package/dist/esm/hooks/shared/routing-block.d.ts +8 -0
  1043. package/dist/esm/hooks/shared/routing-block.js +140 -0
  1044. package/dist/esm/hooks/shared/types.d.ts +24 -0
  1045. package/dist/esm/hooks/shared/types.js +48 -0
  1046. package/dist/esm/hooks/shared/validators/blueprint.d.ts +17 -0
  1047. package/dist/esm/hooks/shared/validators/blueprint.js +98 -0
  1048. package/dist/esm/hooks/shared/validators/docs-governance.d.ts +3 -0
  1049. package/dist/esm/hooks/shared/validators/docs-governance.js +30 -0
  1050. package/dist/esm/hooks/shared/worktree-root.d.ts +2 -0
  1051. package/dist/esm/hooks/shared/worktree-root.js +46 -0
  1052. package/dist/esm/hooks/stop/qa-changed-files.d.ts +14 -0
  1053. package/dist/esm/hooks/stop/qa-changed-files.js +96 -0
  1054. package/dist/esm/hooks/test-quality-check.d.ts +5 -0
  1055. package/dist/esm/hooks/test-quality-check.js +61 -0
  1056. package/dist/esm/index.d.ts +13 -0
  1057. package/dist/esm/index.js +11 -0
  1058. package/dist/esm/lint/index.d.ts +53 -0
  1059. package/dist/esm/lint/index.js +115 -0
  1060. package/dist/esm/local.d.ts +19 -0
  1061. package/dist/esm/local.js +14 -0
  1062. package/dist/esm/mcp/_tail-hints.d.ts +31 -0
  1063. package/dist/esm/mcp/_tail-hints.js +86 -0
  1064. package/dist/esm/mcp/auto-discover.d.ts +65 -0
  1065. package/dist/esm/mcp/auto-discover.js +108 -0
  1066. package/dist/esm/mcp/blueprint-server.d.ts +137 -0
  1067. package/dist/esm/mcp/blueprint-server.js +2131 -0
  1068. package/dist/esm/mcp/blueprint-server.platform-first.test-harness.d.ts +31 -0
  1069. package/dist/esm/mcp/blueprint-server.platform-first.test-harness.js +216 -0
  1070. package/dist/esm/mcp/blueprint-server.test-harness.d.ts +49 -0
  1071. package/dist/esm/mcp/blueprint-server.test-harness.js +195 -0
  1072. package/dist/esm/mcp/cli.d.ts +10 -0
  1073. package/dist/esm/mcp/cli.js +48 -0
  1074. package/dist/esm/mcp/runners/test.d.ts +36 -0
  1075. package/dist/esm/mcp/runners/test.js +330 -0
  1076. package/dist/esm/mcp/server.d.ts +24 -0
  1077. package/dist/esm/mcp/server.js +142 -0
  1078. package/dist/esm/mcp/tools/_shared/project-root.d.ts +29 -0
  1079. package/dist/esm/mcp/tools/_shared/project-root.js +61 -0
  1080. package/dist/esm/mcp/tools/_shared/redact.d.ts +2 -0
  1081. package/dist/esm/mcp/tools/_shared/redact.js +29 -0
  1082. package/dist/esm/mcp/tools/_shared/result.d.ts +79 -0
  1083. package/dist/esm/mcp/tools/_shared/result.js +85 -0
  1084. package/dist/esm/mcp/tools/_shared/run-command.d.ts +37 -0
  1085. package/dist/esm/mcp/tools/_shared/run-command.js +122 -0
  1086. package/dist/esm/mcp/tools/_shared/test-budget-contract.d.ts +18 -0
  1087. package/dist/esm/mcp/tools/_shared/test-budget-contract.js +24 -0
  1088. package/dist/esm/mcp/tools/_shared/ui-detection.d.ts +2 -0
  1089. package/dist/esm/mcp/tools/_shared/ui-detection.js +19 -0
  1090. package/dist/esm/mcp/tools/audit.d.ts +45 -0
  1091. package/dist/esm/mcp/tools/audit.js +345 -0
  1092. package/dist/esm/mcp/tools/ci-act.d.ts +4 -0
  1093. package/dist/esm/mcp/tools/ci-act.js +91 -0
  1094. package/dist/esm/mcp/tools/e2e.d.ts +31 -0
  1095. package/dist/esm/mcp/tools/e2e.js +116 -0
  1096. package/dist/esm/mcp/tools/format.d.ts +27 -0
  1097. package/dist/esm/mcp/tools/format.js +107 -0
  1098. package/dist/esm/mcp/tools/lint.d.ts +26 -0
  1099. package/dist/esm/mcp/tools/lint.js +229 -0
  1100. package/dist/esm/mcp/tools/qa.d.ts +39 -0
  1101. package/dist/esm/mcp/tools/qa.js +218 -0
  1102. package/dist/esm/mcp/tools/test.d.ts +25 -0
  1103. package/dist/esm/mcp/tools/test.js +112 -0
  1104. package/dist/esm/mcp/tools/typecheck.d.ts +27 -0
  1105. package/dist/esm/mcp/tools/typecheck.js +186 -0
  1106. package/dist/esm/mcp/tools/worker-tail.d.ts +4 -0
  1107. package/dist/esm/mcp/tools/worker-tail.js +121 -0
  1108. package/dist/esm/output-transforms/generic.d.ts +3 -0
  1109. package/dist/esm/output-transforms/generic.js +20 -0
  1110. package/dist/esm/output-transforms/index.d.ts +34 -0
  1111. package/dist/esm/output-transforms/index.js +41 -0
  1112. package/dist/esm/output-transforms/metadata.d.ts +8 -0
  1113. package/dist/esm/output-transforms/metadata.js +24 -0
  1114. package/dist/esm/output-transforms/oxlint.d.ts +3 -0
  1115. package/dist/esm/output-transforms/oxlint.js +85 -0
  1116. package/dist/esm/output-transforms/passthrough.d.ts +3 -0
  1117. package/dist/esm/output-transforms/passthrough.js +11 -0
  1118. package/dist/esm/output-transforms/rulesync.d.ts +3 -0
  1119. package/dist/esm/output-transforms/rulesync.js +80 -0
  1120. package/dist/esm/output-transforms/should-compact.d.ts +7 -0
  1121. package/dist/esm/output-transforms/should-compact.js +14 -0
  1122. package/dist/esm/output-transforms/tsc.d.ts +3 -0
  1123. package/dist/esm/output-transforms/tsc.js +45 -0
  1124. package/dist/esm/output-transforms/vitest.d.ts +3 -0
  1125. package/dist/esm/output-transforms/vitest.js +120 -0
  1126. package/dist/esm/package.json +92 -0
  1127. package/dist/esm/paths/state-root.d.ts +23 -0
  1128. package/dist/esm/paths/state-root.js +121 -0
  1129. package/dist/esm/quality-engine/command-builder.d.ts +141 -0
  1130. package/dist/esm/quality-engine/command-builder.js +285 -0
  1131. package/dist/esm/quality-engine/index.d.ts +15 -0
  1132. package/dist/esm/quality-engine/index.js +16 -0
  1133. package/dist/esm/quality-engine/log-paths.d.ts +44 -0
  1134. package/dist/esm/quality-engine/log-paths.js +73 -0
  1135. package/dist/esm/quality-engine/package-import-rules.d.ts +69 -0
  1136. package/dist/esm/quality-engine/package-import-rules.js +491 -0
  1137. package/dist/esm/quality-engine/target-resolver.d.ts +187 -0
  1138. package/dist/esm/quality-engine/target-resolver.js +552 -0
  1139. package/dist/esm/quality-engine/test-classification.d.ts +7 -0
  1140. package/dist/esm/quality-engine/test-classification.js +85 -0
  1141. package/dist/esm/quality-engine/workspace-config.d.ts +68 -0
  1142. package/dist/esm/quality-engine/workspace-config.js +131 -0
  1143. package/dist/esm/runners/claude-subagent/index.d.ts +11 -0
  1144. package/dist/esm/runners/claude-subagent/index.js +114 -0
  1145. package/dist/esm/runners/claude-subagent/types.d.ts +7 -0
  1146. package/dist/esm/runners/claude-subagent/types.js +5 -0
  1147. package/dist/esm/runners/codex-exec/index.d.ts +16 -0
  1148. package/dist/esm/runners/codex-exec/index.js +105 -0
  1149. package/dist/esm/runners/index.d.ts +3 -0
  1150. package/dist/esm/runners/index.js +2 -0
  1151. package/dist/esm/runners/local-worktree/index.d.ts +19 -0
  1152. package/dist/esm/runners/local-worktree/index.js +85 -0
  1153. package/dist/esm/runners/local-worktree/path.d.ts +10 -0
  1154. package/dist/esm/runners/local-worktree/path.js +14 -0
  1155. package/dist/esm/runners/select.d.ts +12 -0
  1156. package/dist/esm/runners/select.js +38 -0
  1157. package/dist/esm/runners/types.d.ts +70 -0
  1158. package/dist/esm/runners/types.js +62 -0
  1159. package/dist/esm/secret-gate/runner.d.ts +25 -0
  1160. package/dist/esm/secret-gate/runner.js +106 -0
  1161. package/dist/esm/session-memory/fetch-index.d.ts +13 -0
  1162. package/dist/esm/session-memory/fetch-index.js +80 -0
  1163. package/dist/esm/session-memory/repo-hash.d.ts +3 -0
  1164. package/dist/esm/session-memory/repo-hash.js +20 -0
  1165. package/dist/esm/session-memory/session.d.ts +10 -0
  1166. package/dist/esm/session-memory/session.js +105 -0
  1167. package/dist/esm/session-memory/store.d.ts +17 -0
  1168. package/dist/esm/session-memory/store.js +168 -0
  1169. package/dist/esm/session-memory/types.d.ts +58 -0
  1170. package/dist/esm/session-memory/types.js +2 -0
  1171. package/dist/esm/symlinker/consumers.d.ts +97 -0
  1172. package/dist/esm/symlinker/consumers.js +87 -0
  1173. package/dist/esm/symlinker/frontmatter.d.ts +15 -0
  1174. package/dist/esm/symlinker/frontmatter.js +20 -0
  1175. package/dist/esm/symlinker/index.d.ts +84 -0
  1176. package/dist/esm/symlinker/index.js +496 -0
  1177. package/dist/esm/symlinker/test-utils/assert-symlink-resolves.d.ts +12 -0
  1178. package/dist/esm/symlinker/test-utils/assert-symlink-resolves.js +24 -0
  1179. package/dist/esm/symlinker/toml.d.ts +11 -0
  1180. package/dist/esm/symlinker/toml.js +16 -0
  1181. package/dist/esm/symlinker/unified-sync.d.ts +64 -0
  1182. package/dist/esm/symlinker/unified-sync.js +362 -0
  1183. package/dist/esm/telemetry/_endpoint.d.ts +3 -0
  1184. package/dist/esm/telemetry/_endpoint.js +4 -0
  1185. package/dist/esm/telemetry/setup-tthw.d.ts +10 -0
  1186. package/dist/esm/telemetry/setup-tthw.js +34 -0
  1187. package/dist/esm/test/command-builder.d.ts +25 -0
  1188. package/dist/esm/test/command-builder.js +98 -0
  1189. package/dist/esm/test/index.d.ts +3 -0
  1190. package/dist/esm/test/index.js +3 -0
  1191. package/dist/esm/test/target-resolver.d.ts +13 -0
  1192. package/dist/esm/test/target-resolver.js +53 -0
  1193. package/dist/esm/typecheck/index.d.ts +52 -0
  1194. package/dist/esm/typecheck/index.js +135 -0
  1195. package/dist/esm/vite/bundle-budget.d.ts +37 -0
  1196. package/dist/esm/vite/bundle-budget.js +151 -0
  1197. package/dist/esm/vite/chunk-load-recovery.d.ts +18 -0
  1198. package/dist/esm/vite/chunk-load-recovery.js +62 -0
  1199. package/dist/esm/vite/index.d.ts +3 -0
  1200. package/dist/esm/vite/index.js +3 -0
  1201. package/dist/esm/vite/local.d.ts +16 -0
  1202. package/dist/esm/vite/local.js +164 -0
  1203. package/just/dev-kit.just +24 -0
  1204. package/just/e2e-kit.just +13 -0
  1205. package/just/test-kit.just +10 -0
  1206. package/package.json +675 -0
  1207. package/skills/better-auth-best-practices/SKILL.md +212 -0
  1208. package/skills/deep-research/SKILL.md +240 -0
  1209. package/skills/fix/SKILL.md +120 -0
  1210. package/skills/frontend-design/LICENSE.txt +177 -0
  1211. package/skills/frontend-design/SKILL.md +189 -0
  1212. package/skills/hooks-doctor/SKILL.md +77 -0
  1213. package/skills/logging-best-practices/SKILL.md +145 -0
  1214. package/skills/lore-protocol/SKILL.md +93 -0
  1215. package/skills/plan-refine/SKILL.md +645 -0
  1216. package/skills/pll/SKILL.md +85 -0
  1217. package/skills/react-doctor/SKILL.md +54 -0
  1218. package/skills/systematic-debugging/SKILL.md +322 -0
  1219. package/skills/tanstack-query/SKILL.md +175 -0
  1220. package/skills/tech-debt/SKILL.md +79 -0
  1221. package/skills/test-driven-development/SKILL.md +403 -0
  1222. package/skills/testing-philosophy/SKILL.md +530 -0
  1223. package/skills/vercel-react-best-practices/SKILL.md +212 -0
  1224. package/skills/verify/SKILL.md +133 -0
  1225. package/skills/web-design-guidelines/SKILL.md +53 -0
  1226. package/tsconfig/base.json +37 -0
  1227. package/tsconfig/cloudflare.json +10 -0
  1228. package/tsconfig/library.json +16 -0
  1229. package/tsconfig/react-library.json +9 -0
  1230. package/tsconfig/react-router.json +10 -0
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Deferred install scheduler.
3
+ *
4
+ * The auto-update flow calls this synchronously after detecting an
5
+ * available release. We DON'T wait for the install to finish — the parent
6
+ * process exits cleanly and the install completes in a detached child.
7
+ * The next invocation of `webpresso` picks up the new binary.
8
+ *
9
+ * Invariants (per plan Architecture decision 3 and Implementation surface
10
+ * "Auto-update wiring"):
11
+ *
12
+ * - Synchronous: returns before the install starts.
13
+ * - Detached + unref: the install survives the parent exit.
14
+ * - Tombstone before spawn: `autoInstallInProgress = <pid+ts>` is written
15
+ * to the configstore at `<state-root>/update-notifier-cache.json`
16
+ * *before* the spawn fires, so concurrent invocations within the
17
+ * lockout window (60s) skip the spawn.
18
+ * - Stdio captured to file: child stdout / stderr are piped to
19
+ * `<state-root>/auto-update.log` via an `openSync` file descriptor —
20
+ * not via Node IPC, which would tie child lifetime to parent.
21
+ * - Best-effort: any failure inside this function is logged via
22
+ * `logUpdateError` and swallowed; the user never sees an exception
23
+ * from a successful CLI run.
24
+ */
25
+ import { closeSync, existsSync, mkdirSync, openSync, readFileSync, writeFileSync } from 'node:fs';
26
+ import { spawn } from 'node:child_process';
27
+ import { dirname } from 'node:path';
28
+ import { getSurfacePath } from '#paths/state-root.js';
29
+ import { logUpdateError } from './log.js';
30
+ /**
31
+ * Concurrency-lockout window: a tombstone younger than this is considered
32
+ * active; further `scheduleDeferredInstall` calls become no-ops.
33
+ */
34
+ export const LOCKOUT_MS = 60_000;
35
+ /**
36
+ * Schedule a deferred install for the supplied command. Synchronous —
37
+ * spawn() returns immediately; the child runs in the background. The parent
38
+ * is free to `process.exit(0)` after this call returns.
39
+ */
40
+ export function scheduleDeferredInstall(plan) {
41
+ try {
42
+ if (plan.command.length === 0) {
43
+ return { spawned: false, reason: 'empty install command' };
44
+ }
45
+ const configPath = resolveConfigPath();
46
+ if (configPath === null) {
47
+ return { spawned: false, reason: 'state root unavailable' };
48
+ }
49
+ const existing = readTombstone(configPath);
50
+ if (existing !== null && isTombstoneFresh(existing, Date.now())) {
51
+ return {
52
+ spawned: false,
53
+ reason: `recent install in progress (pid=${existing.autoInstallInProgress.pid})`,
54
+ };
55
+ }
56
+ const logPath = resolveLogPath();
57
+ if (logPath === null) {
58
+ return { spawned: false, reason: 'log path unavailable' };
59
+ }
60
+ const tombstone = buildTombstone(process.pid, Date.now());
61
+ writeTombstone(configPath, tombstone);
62
+ const logFd = openLogForAppend(logPath);
63
+ const command = plan.command[0]; // length checked above
64
+ const args = plan.command.slice(1);
65
+ const child = spawn(command, args, {
66
+ detached: true,
67
+ stdio: ['ignore', logFd, logFd],
68
+ windowsHide: true,
69
+ });
70
+ child.unref();
71
+ // Now safe to close our FD — the child has its own duplicates via stdio.
72
+ closeSync(logFd);
73
+ return { spawned: true };
74
+ }
75
+ catch (err) {
76
+ logUpdateError(err);
77
+ return { spawned: false, reason: 'spawn error' };
78
+ }
79
+ }
80
+ /**
81
+ * Clear the install-in-progress tombstone. Called by the install wrapper
82
+ * on exit, or by tests. Best-effort.
83
+ */
84
+ export function clearInstallTombstone() {
85
+ try {
86
+ const configPath = resolveConfigPath();
87
+ if (configPath === null)
88
+ return;
89
+ if (!existsSync(configPath))
90
+ return;
91
+ const current = readTombstone(configPath);
92
+ if (current === null)
93
+ return;
94
+ const next = { ...readRaw(configPath) };
95
+ delete next.autoInstallInProgress;
96
+ writeFileSync(configPath, JSON.stringify(next));
97
+ }
98
+ catch {
99
+ // Best-effort — no caller waits on this.
100
+ }
101
+ }
102
+ /**
103
+ * Whether the given tombstone is within the lockout window relative to `now`.
104
+ * Exported for testability.
105
+ */
106
+ export function isTombstoneFresh(tombstone, now) {
107
+ return now - tombstone.autoInstallInProgress.ts < LOCKOUT_MS;
108
+ }
109
+ /**
110
+ * Build the canonical tombstone shape. Exported for testability.
111
+ */
112
+ export function buildTombstone(pid, ts) {
113
+ return { autoInstallInProgress: { pid, ts } };
114
+ }
115
+ function resolveConfigPath() {
116
+ try {
117
+ return getSurfacePath('update-notifier-cache.json', 'user');
118
+ }
119
+ catch {
120
+ return null;
121
+ }
122
+ }
123
+ function resolveLogPath() {
124
+ try {
125
+ return getSurfacePath('auto-update.log', 'user');
126
+ }
127
+ catch {
128
+ return null;
129
+ }
130
+ }
131
+ function readRaw(configPath) {
132
+ if (!existsSync(configPath))
133
+ return {};
134
+ try {
135
+ const text = readFileSync(configPath, 'utf-8');
136
+ if (text.trim().length === 0)
137
+ return {};
138
+ const parsed = JSON.parse(text);
139
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
140
+ return {};
141
+ return parsed;
142
+ }
143
+ catch {
144
+ return {};
145
+ }
146
+ }
147
+ function readTombstone(configPath) {
148
+ const raw = readRaw(configPath);
149
+ const value = raw.autoInstallInProgress;
150
+ if (value === undefined || value === null || typeof value !== 'object')
151
+ return null;
152
+ const candidate = value;
153
+ if (typeof candidate.pid !== 'number' || typeof candidate.ts !== 'number')
154
+ return null;
155
+ return { autoInstallInProgress: { pid: candidate.pid, ts: candidate.ts } };
156
+ }
157
+ function writeTombstone(configPath, tombstone) {
158
+ const dir = dirname(configPath);
159
+ if (!existsSync(dir))
160
+ mkdirSync(dir, { recursive: true });
161
+ const merged = { ...readRaw(configPath), ...tombstone };
162
+ writeFileSync(configPath, JSON.stringify(merged));
163
+ }
164
+ function openLogForAppend(logPath) {
165
+ const dir = dirname(logPath);
166
+ if (!existsSync(dir))
167
+ mkdirSync(dir, { recursive: true });
168
+ // 'a' — create if missing, append, no truncation. Child inherits the offset.
169
+ return openSync(logPath, 'a');
170
+ }
171
+ //# sourceMappingURL=installer.js.map
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Auto-update error log.
3
+ *
4
+ * Append-only JSON-line log at `<state-root>/auto-update.log`. Used as the
5
+ * sink for `runUpdateFlow(...).catch(logUpdateError)` (per plan D13). Never
6
+ * throws — failures inside the logger are intentionally silent because the
7
+ * logger is itself the error handler of last resort.
8
+ *
9
+ * Each entry is a single JSON object on its own line:
10
+ * { ts, level, message, stack? }
11
+ *
12
+ * The stack is truncated to 500 characters so a single rogue entry can't
13
+ * blow out the file budget. The file is rotated when it crosses 500 lines:
14
+ * the most recent 250 are kept, the rest dropped.
15
+ */
16
+ export type LogLevel = 'error' | 'warn' | 'info';
17
+ export interface LogEntry {
18
+ ts: string;
19
+ level: LogLevel;
20
+ message: string;
21
+ stack?: string;
22
+ }
23
+ export declare const MAX_LINES = 500;
24
+ export declare const ROTATE_KEEP = 250;
25
+ export declare const STACK_TRUNCATE = 500;
26
+ /**
27
+ * Best-effort logger for auto-update flow errors. Sync (append happens before
28
+ * the parent process exits), never throws, never returns a value.
29
+ */
30
+ export declare function logUpdateError(err: unknown): void;
31
+ /**
32
+ * Convert an unknown thrown value into the canonical log entry shape.
33
+ * Exported for testing — pure (no I/O).
34
+ */
35
+ export declare function buildEntry(err: unknown, now?: Date): LogEntry;
36
+ /**
37
+ * Format a log entry as a single JSON line (newline terminated).
38
+ * Exported for testing — pure.
39
+ */
40
+ export declare function formatLine(entry: LogEntry): string;
41
+ /**
42
+ * Apply rotation policy to an array of lines. If lines exceeds MAX_LINES,
43
+ * keep only the last ROTATE_KEEP. Exported for testing — pure.
44
+ */
45
+ export declare function rotateLines(lines: string[]): string[];
46
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Auto-update error log.
3
+ *
4
+ * Append-only JSON-line log at `<state-root>/auto-update.log`. Used as the
5
+ * sink for `runUpdateFlow(...).catch(logUpdateError)` (per plan D13). Never
6
+ * throws — failures inside the logger are intentionally silent because the
7
+ * logger is itself the error handler of last resort.
8
+ *
9
+ * Each entry is a single JSON object on its own line:
10
+ * { ts, level, message, stack? }
11
+ *
12
+ * The stack is truncated to 500 characters so a single rogue entry can't
13
+ * blow out the file budget. The file is rotated when it crosses 500 lines:
14
+ * the most recent 250 are kept, the rest dropped.
15
+ */
16
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from 'node:fs';
17
+ import { dirname } from 'node:path';
18
+ import { getSurfacePath } from '#paths/state-root.js';
19
+ export const MAX_LINES = 500;
20
+ export const ROTATE_KEEP = 250;
21
+ export const STACK_TRUNCATE = 500;
22
+ /**
23
+ * Best-effort logger for auto-update flow errors. Sync (append happens before
24
+ * the parent process exits), never throws, never returns a value.
25
+ */
26
+ export function logUpdateError(err) {
27
+ try {
28
+ const entry = buildEntry(err);
29
+ const logFile = resolveLogFile();
30
+ if (logFile === null)
31
+ return;
32
+ appendEntry(logFile, entry);
33
+ rotateIfNeeded(logFile);
34
+ }
35
+ catch {
36
+ // Best-effort: never propagate logging failure to the parent.
37
+ }
38
+ }
39
+ /**
40
+ * Convert an unknown thrown value into the canonical log entry shape.
41
+ * Exported for testing — pure (no I/O).
42
+ */
43
+ export function buildEntry(err, now = new Date()) {
44
+ const ts = now.toISOString();
45
+ if (err instanceof Error) {
46
+ const stack = err.stack ? err.stack.slice(0, STACK_TRUNCATE) : undefined;
47
+ return { ts, level: 'error', message: err.message, stack };
48
+ }
49
+ if (typeof err === 'string') {
50
+ return { ts, level: 'error', message: err };
51
+ }
52
+ return { ts, level: 'error', message: safeStringify(err) };
53
+ }
54
+ /**
55
+ * Format a log entry as a single JSON line (newline terminated).
56
+ * Exported for testing — pure.
57
+ */
58
+ export function formatLine(entry) {
59
+ return `${JSON.stringify(entry)}\n`;
60
+ }
61
+ /**
62
+ * Apply rotation policy to an array of lines. If lines exceeds MAX_LINES,
63
+ * keep only the last ROTATE_KEEP. Exported for testing — pure.
64
+ */
65
+ export function rotateLines(lines) {
66
+ if (lines.length <= MAX_LINES)
67
+ return lines;
68
+ return lines.slice(-ROTATE_KEEP);
69
+ }
70
+ function resolveLogFile() {
71
+ try {
72
+ return getSurfacePath('auto-update.log', 'user');
73
+ }
74
+ catch {
75
+ return null;
76
+ }
77
+ }
78
+ function appendEntry(logFile, entry) {
79
+ const dir = dirname(logFile);
80
+ if (!existsSync(dir))
81
+ mkdirSync(dir, { recursive: true });
82
+ appendFileSync(logFile, formatLine(entry));
83
+ }
84
+ function rotateIfNeeded(logFile) {
85
+ if (!existsSync(logFile))
86
+ return;
87
+ // Cheap early-out — only read+rewrite when the file has grown beyond budget.
88
+ const size = statSync(logFile).size;
89
+ // Each JSON line averages ≥40 bytes; ignore rotation work below that threshold.
90
+ if (size < MAX_LINES * 40)
91
+ return;
92
+ const content = readFileSync(logFile, 'utf-8');
93
+ const lines = content.split('\n').filter((line) => line.length > 0);
94
+ if (lines.length <= MAX_LINES)
95
+ return;
96
+ const kept = rotateLines(lines);
97
+ writeFileSync(logFile, `${kept.join('\n')}\n`);
98
+ }
99
+ function safeStringify(value) {
100
+ try {
101
+ return JSON.stringify(value);
102
+ }
103
+ catch {
104
+ return String(value);
105
+ }
106
+ }
107
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Auto-update orchestrator.
3
+ *
4
+ * `runUpdateFlow(version)` is the single entry point called from bootstrap.ts.
5
+ * It checks the npm registry for a newer version of @webpresso/agent-kit and,
6
+ * when one is available:
7
+ * 1. Writes a cache entry to the state root (read by the SessionStart banner).
8
+ * 2. Prints a one-line update notice to stderr.
9
+ * 3. Optionally schedules a deferred background install (unless opt-out).
10
+ *
11
+ * The function NEVER throws — all errors are sunk to logUpdateError per D13.
12
+ *
13
+ * ## Registry note
14
+ * Version checks use the public npm registry for the canonical
15
+ * `@webpresso/agent-kit` package.
16
+ */
17
+ export declare function fetchLatestRelease(): Promise<string | null>;
18
+ /**
19
+ * Orchestrate the full auto-update pipeline for the given package version.
20
+ * Resolves without throwing — any error is written to auto-update.log.
21
+ */
22
+ export declare function runUpdateFlow(version: string): Promise<void>;
23
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Auto-update orchestrator.
3
+ *
4
+ * `runUpdateFlow(version)` is the single entry point called from bootstrap.ts.
5
+ * It checks the npm registry for a newer version of @webpresso/agent-kit and,
6
+ * when one is available:
7
+ * 1. Writes a cache entry to the state root (read by the SessionStart banner).
8
+ * 2. Prints a one-line update notice to stderr.
9
+ * 3. Optionally schedules a deferred background install (unless opt-out).
10
+ *
11
+ * The function NEVER throws — all errors are sunk to logUpdateError per D13.
12
+ *
13
+ * ## Registry note
14
+ * Version checks use the public npm registry for the canonical
15
+ * `@webpresso/agent-kit` package.
16
+ */
17
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
18
+ import { dirname, join } from 'node:path';
19
+ import { getStateRoot } from '#paths/state-root.js';
20
+ import { detect } from './detect-pm.js';
21
+ import { scheduleDeferredInstall } from './installer.js';
22
+ import { logUpdateError } from './log.js';
23
+ import { shouldSkipAutoInstall } from './skip.js';
24
+ const PUBLIC_NPM_URL = 'https://registry.npmjs.org/@webpresso%2Fagent-kit';
25
+ const UPDATE_CHECK_INTERVAL = 24 * 60 * 60 * 1000; // 24 hours
26
+ const CACHE_FILENAME = 'update-notifier-cache.json';
27
+ async function readCache(cachePath) {
28
+ try {
29
+ const raw = await readFile(cachePath, 'utf-8');
30
+ const parsed = JSON.parse(raw);
31
+ if (typeof parsed.latest === 'string' &&
32
+ typeof parsed.current === 'string' &&
33
+ typeof parsed.lastUpdateCheck === 'number') {
34
+ return parsed;
35
+ }
36
+ return null;
37
+ }
38
+ catch {
39
+ return null;
40
+ }
41
+ }
42
+ async function writeCache(cachePath, data) {
43
+ try {
44
+ await mkdir(dirname(cachePath), { recursive: true });
45
+ await writeFile(cachePath, JSON.stringify(data, null, 2) + '\n');
46
+ }
47
+ catch {
48
+ // Cache write failure is non-fatal
49
+ }
50
+ }
51
+ export async function fetchLatestRelease() {
52
+ const res = await fetch(PUBLIC_NPM_URL, {
53
+ headers: {
54
+ Accept: 'application/json',
55
+ },
56
+ });
57
+ if (!res.ok)
58
+ return null;
59
+ const data = (await res.json());
60
+ return data['dist-tags']?.latest ?? null;
61
+ }
62
+ function isNewerVersion(latest, current) {
63
+ const l = latest.split('.').map((p) => parseInt(p, 10));
64
+ const c = current.split('.').map((p) => parseInt(p, 10));
65
+ const len = Math.max(l.length, c.length);
66
+ for (let i = 0; i < len; i++) {
67
+ const lv = l[i] ?? 0;
68
+ const cv = c[i] ?? 0;
69
+ if (Number.isNaN(lv) || Number.isNaN(cv))
70
+ return latest !== current;
71
+ if (lv > cv)
72
+ return true;
73
+ if (lv < cv)
74
+ return false;
75
+ }
76
+ return false;
77
+ }
78
+ /**
79
+ * Orchestrate the full auto-update pipeline for the given package version.
80
+ * Resolves without throwing — any error is written to auto-update.log.
81
+ */
82
+ export async function runUpdateFlow(version) {
83
+ try {
84
+ const cachePath = join(getStateRoot(), CACHE_FILENAME);
85
+ const now = Date.now();
86
+ // Check 24-hour interval via cache
87
+ const cached = await readCache(cachePath);
88
+ let latest;
89
+ if (cached !== null && now - cached.lastUpdateCheck < UPDATE_CHECK_INTERVAL) {
90
+ latest = cached.latest;
91
+ }
92
+ else {
93
+ const fetched = await fetchLatestRelease();
94
+ if (fetched === null)
95
+ return;
96
+ latest = fetched;
97
+ await writeCache(cachePath, { latest, current: version, lastUpdateCheck: now });
98
+ }
99
+ if (!isNewerVersion(latest, version))
100
+ return;
101
+ // Notify on stderr — safe for all modes (MCP is gated upstream via shouldSkipUpdateCheck)
102
+ process.stderr.write(`\n @webpresso/agent-kit ${version} → ${latest} available\n Auto-install scheduled for next \`wp\` invocation.\n\n`);
103
+ if (shouldSkipAutoInstall(process.env))
104
+ return;
105
+ const plan = detect(process.env, process.argv[1] ?? '');
106
+ if ('abort' in plan) {
107
+ logUpdateError(new Error(plan.abort));
108
+ return;
109
+ }
110
+ scheduleDeferredInstall({ command: plan.command });
111
+ }
112
+ catch (err) {
113
+ logUpdateError(err);
114
+ }
115
+ }
116
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Decide whether to skip the auto-update check entirely for this invocation.
3
+ *
4
+ * Returning `true` means: bypass the *whole* update flow — no registry probe,
5
+ * no banner, no spawn. This is for invocations where running the flow would be
6
+ * either useless or actively harmful:
7
+ *
8
+ * - `--version` / `-v` / `--help` / `-h` — informational verbs that should
9
+ * never trigger background work.
10
+ * - `mcp` subcommand — JSON-RPC stdio mode; stderr writes would corrupt the
11
+ * transport.
12
+ * - `WP_SKIP_UPDATE_CHECK=1` — explicit user opt-out of the whole flow.
13
+ * - `CI=true` (and the broader set of CI signals via ci-info-style env
14
+ * probing) — non-interactive environments don't want surprise spawns.
15
+ *
16
+ * `setup` / `init` intentionally DO NOT skip the update check: setup is the
17
+ * command users run when they want their agent surfaces refreshed, so it should
18
+ * also detect and schedule an webpresso package refresh when a newer version is
19
+ * available.
20
+ *
21
+ * `WP_SKIP_AUTO_INSTALL=1` does **not** appear here — that variable only
22
+ * disables the install step. The notify side of the flow still runs so users
23
+ * get a banner. That check belongs in the installer module.
24
+ */
25
+ export declare const INFORMATIONAL_FLAGS: Set<string>;
26
+ export declare const CI_ENV_KEYS: readonly ["CI", "CONTINUOUS_INTEGRATION", "BUILD_NUMBER", "RUN_ID", "GITHUB_ACTIONS", "GITLAB_CI", "CIRCLECI", "TRAVIS", "APPVEYOR", "BUILDKITE", "DRONE", "JENKINS_URL"];
27
+ export declare function shouldSkipUpdateCheck(env: NodeJS.ProcessEnv, argv: string[]): boolean;
28
+ /**
29
+ * Whether the installer step should be suppressed (still allow the notify-only
30
+ * banner). Separate from `shouldSkipUpdateCheck` so users can keep notifications
31
+ * but block automatic install.
32
+ */
33
+ export declare function shouldSkipAutoInstall(env: NodeJS.ProcessEnv): boolean;
34
+ //# sourceMappingURL=skip.d.ts.map
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Decide whether to skip the auto-update check entirely for this invocation.
3
+ *
4
+ * Returning `true` means: bypass the *whole* update flow — no registry probe,
5
+ * no banner, no spawn. This is for invocations where running the flow would be
6
+ * either useless or actively harmful:
7
+ *
8
+ * - `--version` / `-v` / `--help` / `-h` — informational verbs that should
9
+ * never trigger background work.
10
+ * - `mcp` subcommand — JSON-RPC stdio mode; stderr writes would corrupt the
11
+ * transport.
12
+ * - `WP_SKIP_UPDATE_CHECK=1` — explicit user opt-out of the whole flow.
13
+ * - `CI=true` (and the broader set of CI signals via ci-info-style env
14
+ * probing) — non-interactive environments don't want surprise spawns.
15
+ *
16
+ * `setup` / `init` intentionally DO NOT skip the update check: setup is the
17
+ * command users run when they want their agent surfaces refreshed, so it should
18
+ * also detect and schedule an webpresso package refresh when a newer version is
19
+ * available.
20
+ *
21
+ * `WP_SKIP_AUTO_INSTALL=1` does **not** appear here — that variable only
22
+ * disables the install step. The notify side of the flow still runs so users
23
+ * get a banner. That check belongs in the installer module.
24
+ */
25
+ export const INFORMATIONAL_FLAGS = new Set(['--version', '-v', '--help', '-h']);
26
+ export const CI_ENV_KEYS = [
27
+ 'CI',
28
+ 'CONTINUOUS_INTEGRATION',
29
+ 'BUILD_NUMBER',
30
+ 'RUN_ID',
31
+ 'GITHUB_ACTIONS',
32
+ 'GITLAB_CI',
33
+ 'CIRCLECI',
34
+ 'TRAVIS',
35
+ 'APPVEYOR',
36
+ 'BUILDKITE',
37
+ 'DRONE',
38
+ 'JENKINS_URL',
39
+ ];
40
+ const SKIP_SUBCOMMANDS = new Set(['mcp']);
41
+ export function shouldSkipUpdateCheck(env, argv) {
42
+ if (hasInformationalFlag(argv))
43
+ return true;
44
+ if (argv[2] !== undefined && SKIP_SUBCOMMANDS.has(argv[2]))
45
+ return true;
46
+ if (env.WP_SKIP_UPDATE_CHECK === '1')
47
+ return true;
48
+ if (isCiEnvironment(env))
49
+ return true;
50
+ return false;
51
+ }
52
+ /**
53
+ * Whether the installer step should be suppressed (still allow the notify-only
54
+ * banner). Separate from `shouldSkipUpdateCheck` so users can keep notifications
55
+ * but block automatic install.
56
+ */
57
+ export function shouldSkipAutoInstall(env) {
58
+ return env.WP_SKIP_AUTO_INSTALL === '1';
59
+ }
60
+ function hasInformationalFlag(argv) {
61
+ // Skip argv[0] (runtime) and argv[1] (script path). Inspect the rest.
62
+ for (let i = 2; i < argv.length; i++) {
63
+ const arg = argv[i];
64
+ if (arg !== undefined && INFORMATIONAL_FLAGS.has(arg))
65
+ return true;
66
+ }
67
+ return false;
68
+ }
69
+ function isCiEnvironment(env) {
70
+ // Match the convention used by `is-ci` / `ci-info`: `CI` set to any
71
+ // truthy-looking value counts. Some CI vendors set `CI=1` rather than
72
+ // `CI=true`, so don't anchor on a specific value.
73
+ if (env.CI !== undefined && env.CI !== '' && env.CI !== 'false' && env.CI !== '0')
74
+ return true;
75
+ for (const key of CI_ENV_KEYS) {
76
+ if (key === 'CI')
77
+ continue;
78
+ const value = env[key];
79
+ if (value !== undefined && value !== '' && value !== 'false' && value !== '0')
80
+ return true;
81
+ }
82
+ return false;
83
+ }
84
+ //# sourceMappingURL=skip.js.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Pre-flight hook for the CLI.
3
+ *
4
+ * Ordered bootstrap per D6 + D8 + D19:
5
+ * 1. Short-circuit on informational verbs (--version / --help / -v / -h)
6
+ * so those always work outside a git repo.
7
+ * 2. Hard-fail outside a git repo — propagates NotInGitRepoError to cli.ts
8
+ * for formatted error output + exit 2.
9
+ * 3. Skip auto-update when env/argv say so (CI, mcp, WP_SKIP_UPDATE_CHECK).
10
+ * 4. Fire-and-forget runUpdateFlow — errors sink to logUpdateError (D13).
11
+ */
12
+ import { NotInGitRepoError } from '#paths/state-root.js';
13
+ export { NotInGitRepoError };
14
+ /**
15
+ * Returns true when argv contains an informational flag anywhere after the
16
+ * first two entries (runtime + script path).
17
+ */
18
+ export declare function isInformationalVerb(argv: string[]): boolean;
19
+ /**
20
+ * Run CLI bootstrap. Throws NotInGitRepoError if not inside a git repo
21
+ * (except for informational verbs). Fire-and-forget auto-update check.
22
+ *
23
+ * @param version Package version string (e.g. "0.16.0") — passed from cli.ts
24
+ * so the caller owns the version read, not bootstrap.
25
+ * @param argv Normalized process.argv (defaults to process.argv).
26
+ */
27
+ export declare function bootstrapAk(version: string, argv?: string[]): Promise<void>;
28
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Pre-flight hook for the CLI.
3
+ *
4
+ * Ordered bootstrap per D6 + D8 + D19:
5
+ * 1. Short-circuit on informational verbs (--version / --help / -v / -h)
6
+ * so those always work outside a git repo.
7
+ * 2. Hard-fail outside a git repo — propagates NotInGitRepoError to cli.ts
8
+ * for formatted error output + exit 2.
9
+ * 3. Skip auto-update when env/argv say so (CI, mcp, WP_SKIP_UPDATE_CHECK).
10
+ * 4. Fire-and-forget runUpdateFlow — errors sink to logUpdateError (D13).
11
+ */
12
+ import { NotInGitRepoError, getRepoKey } from '#paths/state-root.js';
13
+ import { logUpdateError } from '#cli/auto-update/log.js';
14
+ import { shouldSkipUpdateCheck } from '#cli/auto-update/skip.js';
15
+ import { runUpdateFlow } from '#cli/auto-update/run.js';
16
+ export { NotInGitRepoError };
17
+ const INFORMATIONAL_FLAGS = new Set(['--version', '-v', '--help', '-h']);
18
+ /**
19
+ * Returns true when argv contains an informational flag anywhere after the
20
+ * first two entries (runtime + script path).
21
+ */
22
+ export function isInformationalVerb(argv) {
23
+ for (let i = 2; i < argv.length; i++) {
24
+ const arg = argv[i];
25
+ if (arg !== undefined && INFORMATIONAL_FLAGS.has(arg))
26
+ return true;
27
+ }
28
+ return false;
29
+ }
30
+ /**
31
+ * Run CLI bootstrap. Throws NotInGitRepoError if not inside a git repo
32
+ * (except for informational verbs). Fire-and-forget auto-update check.
33
+ *
34
+ * @param version Package version string (e.g. "0.16.0") — passed from cli.ts
35
+ * so the caller owns the version read, not bootstrap.
36
+ * @param argv Normalized process.argv (defaults to process.argv).
37
+ */
38
+ export async function bootstrapAk(version, argv = process.argv) {
39
+ // D19 — informational verbs short-circuit before any git repo check.
40
+ if (isInformationalVerb(argv))
41
+ return;
42
+ // D6 — hard-fail outside git repo. NotInGitRepoError propagates to cli.ts.
43
+ getRepoKey(); // throws NotInGitRepoError if not in git; return value not needed here
44
+ // D8 — skip update check when in CI, mcp mode, or explicitly opted out.
45
+ if (shouldSkipUpdateCheck(process.env, argv))
46
+ return;
47
+ // D13 — awaited so cache write + deferred install spawn complete before exit.
48
+ try {
49
+ await runUpdateFlow(version);
50
+ }
51
+ catch (err) {
52
+ logUpdateError(err);
53
+ }
54
+ }
55
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * `wp` — webpresso CLI entrypoint.
4
+ *
5
+ * Lazy-loads subcommand modules based on the first argv to keep startup
6
+ * cheap. Modeled on apps/cli-wp/src/cli.ts.
7
+ */
8
+ declare const SUPPORTED_COMMANDS: readonly ["blueprint", "config", "roadmap", "sync", "audit", "compile", "rule", "skill", "skills", "docs", "setup", "init", "dev", "doctor", "err", "test", "e2e", "ci", "typecheck", "lint", "format", "tech-debt", "worktree", "mcp", "hooks", "gain", "bench"];
9
+ export { SUPPORTED_COMMANDS };
10
+ export declare function main(): Promise<number>;
11
+ //# sourceMappingURL=cli.d.ts.map