@planu/cli 4.13.0 → 5.0.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 (1066) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/LICENSE +55 -12
  3. package/README.md +33 -25
  4. package/dist/cli/commands/inspect.d.ts +4 -0
  5. package/dist/cli/commands/inspect.js +144 -0
  6. package/dist/cli/commands/install.d.ts +19 -12
  7. package/dist/cli/commands/install.js +148 -102
  8. package/dist/cli/commands/job.d.ts +3 -0
  9. package/dist/cli/commands/job.js +120 -0
  10. package/dist/cli/commands/offline.d.ts +15 -0
  11. package/dist/cli/commands/offline.js +132 -0
  12. package/dist/cli/commands/serve.js +4 -0
  13. package/dist/cli/commands/spec.js +1 -1
  14. package/dist/cli/commands/storage.d.ts +3 -0
  15. package/dist/cli/commands/storage.js +102 -0
  16. package/dist/cli/commands/uninstall.d.ts +10 -0
  17. package/dist/cli/commands/uninstall.js +93 -7
  18. package/dist/cli/commands/validate.js +1 -1
  19. package/dist/cli/index.js +2 -0
  20. package/dist/cli/router.js +9 -3
  21. package/dist/config/crash-shield-framework-rules.json +93 -0
  22. package/dist/config/environment-schema.json +147 -0
  23. package/dist/config/hardcode-exceptions.json +4 -0
  24. package/dist/config/native-release-public-key.pem +3 -0
  25. package/dist/config/native-targets.json +87 -0
  26. package/dist/config/official-sdd-tools.d.ts +4 -0
  27. package/dist/config/official-sdd-tools.js +35 -0
  28. package/dist/config/product-public.d.ts +225 -0
  29. package/dist/config/product-public.js +147 -0
  30. package/dist/config/product-public.json +283 -0
  31. package/dist/config/registries/hosts/codex.json +20 -363
  32. package/dist/config/release-compatibility.json +13 -0
  33. package/dist/config/release-policy.json +108 -0
  34. package/dist/config/runtime-policy.json +55 -0
  35. package/dist/config/skill-templates/planu-resume-work.md +2 -2
  36. package/dist/config/skill-templates/planu-validate.md +7 -4
  37. package/dist/config/subagent-templates/planu-spec-implementer.md +7 -3
  38. package/dist/config/subagent-templates/planu-validator.md +10 -5
  39. package/dist/config/technology-registry.json +120 -0
  40. package/dist/config/version.js +7 -8
  41. package/dist/core/index.d.ts +1 -1
  42. package/dist/core/spec-validator.d.ts +4 -4
  43. package/dist/core/spec-validator.js +1 -1
  44. package/dist/engine/abortable-process-runner.d.ts +20 -2
  45. package/dist/engine/abortable-process-runner.js +267 -67
  46. package/dist/engine/advanced-testing/accessibility-checker.js +12 -14
  47. package/dist/engine/advanced-testing/mutation-advisor.js +3 -4
  48. package/dist/engine/advanced-testing/property-based.js +2 -3
  49. package/dist/engine/advanced-testing/test-data-advisor.js +2 -3
  50. package/dist/engine/agent-generator.js +2 -1
  51. package/dist/engine/agent-handoff-store.js +2 -1
  52. package/dist/engine/agent-prompt-generator.js +7 -5
  53. package/dist/engine/agent-telemetry.js +2 -1
  54. package/dist/engine/ai-integration/gemini/extensions-advisor.js +41 -9
  55. package/dist/engine/ambiguity-detector.js +12 -11
  56. package/dist/engine/ambiguity-scorer.js +4 -26
  57. package/dist/engine/analyzer/db-engine.js +2 -3
  58. package/dist/engine/analyzer/detectors.js +13 -14
  59. package/dist/engine/analyzer/env-setup.js +9 -10
  60. package/dist/engine/analyzer-env-scanner/env-example.js +7 -8
  61. package/dist/engine/api-spec-generator/graphql-parser.js +2 -2
  62. package/dist/engine/api-validation/graphql-schema-validator.js +2 -1
  63. package/dist/engine/api-validation/openapi-impl-validator.js +6 -7
  64. package/dist/engine/architecture-detector.js +10 -8
  65. package/dist/engine/auth/config.d.ts +1 -1
  66. package/dist/engine/auth/config.js +4 -3
  67. package/dist/engine/auth/scope-mapper.js +1 -7
  68. package/dist/engine/auto-updater/atomic-upgrade.d.ts +8 -0
  69. package/dist/engine/auto-updater/atomic-upgrade.js +381 -0
  70. package/dist/engine/auto-updater/config-detector.js +9 -3
  71. package/dist/engine/auto-updater/config-patcher.d.ts +0 -4
  72. package/dist/engine/auto-updater/config-patcher.js +10 -15
  73. package/dist/engine/auto-updater/index.d.ts +3 -1
  74. package/dist/engine/auto-updater/index.js +44 -30
  75. package/dist/engine/auto-updater/npm-registry.js +10 -2
  76. package/dist/engine/auto-updater/release-verifier.d.ts +3 -0
  77. package/dist/engine/auto-updater/release-verifier.js +112 -0
  78. package/dist/engine/auto-updater/upgrade-lock.d.ts +6 -0
  79. package/dist/engine/auto-updater/upgrade-lock.js +28 -0
  80. package/dist/engine/auto-updater/upgrade-trust-state.d.ts +7 -0
  81. package/dist/engine/auto-updater/upgrade-trust-state.js +59 -0
  82. package/dist/engine/autopilot/audit-logger.js +2 -5
  83. package/dist/engine/autopilot/state-updater.js +4 -4
  84. package/dist/engine/best-practices-library.js +2 -1
  85. package/dist/engine/browser-validator.js +2 -1
  86. package/dist/engine/build-tool-detector.js +3 -2
  87. package/dist/engine/cascade-hooks/hooks/review-enricher.hook.js +9 -6
  88. package/dist/engine/cascade-hooks/state-drift-detector.d.ts +3 -3
  89. package/dist/engine/cascade-hooks/state-drift-detector.js +1 -1
  90. package/dist/engine/ci-generator/context-builders.js +7 -5
  91. package/dist/engine/ci-generator/planu-config.js +1 -7
  92. package/dist/engine/ci-generator/stack-detector.js +0 -2
  93. package/dist/engine/ci-generator/yaml-builder.js +0 -2
  94. package/dist/engine/clarification-gate/gate.d.ts +3 -3
  95. package/dist/engine/claude-config-auditor/rules-auditor.js +4 -3
  96. package/dist/engine/code-scanner/layer-scanner.js +6 -22
  97. package/dist/engine/code-transforms/typescript/ast-utils.js +2 -3
  98. package/dist/engine/complexity-budget/trivial-detector.js +2 -1
  99. package/dist/engine/compliance-test-generator/index.js +7 -2
  100. package/dist/engine/compliance-test-generator/test-formatter.js +2 -2
  101. package/dist/engine/config-health/mcp-config-checker.js +2 -1
  102. package/dist/engine/config-health/ts-checker-scripts.js +4 -3
  103. package/dist/engine/config-health/ts-checker.js +3 -2
  104. package/dist/engine/convention-injector.js +5 -7
  105. package/dist/engine/convention-scanner/convention-parser.js +3 -2
  106. package/dist/engine/core-bridge-duplicate-blocks.d.ts +3 -0
  107. package/dist/engine/core-bridge-duplicate-blocks.js +57 -0
  108. package/dist/engine/core-bridge-gaps.d.ts +4 -0
  109. package/dist/engine/core-bridge-gaps.js +75 -0
  110. package/dist/engine/core-bridge.d.ts +10 -10
  111. package/dist/engine/core-bridge.js +196 -283
  112. package/dist/engine/cost-guardrails.d.ts +1 -1
  113. package/dist/engine/cost-guardrails.js +1 -1
  114. package/dist/engine/cost-tracking/ledger.js +2 -5
  115. package/dist/engine/coverage-gap-analyzer.js +10 -1
  116. package/dist/engine/crash-shield/detectors/framework-detector.d.ts +2 -0
  117. package/dist/engine/crash-shield/detectors/framework-detector.js +110 -192
  118. package/dist/engine/crash-shield/detectors/typescript-detector.js +2 -1
  119. package/dist/engine/criterion-identity.d.ts +1 -0
  120. package/dist/engine/criterion-identity.js +7 -0
  121. package/dist/engine/dashboard/data-loader.js +4 -8
  122. package/dist/engine/dashboard/templates-layout.js +0 -3
  123. package/dist/engine/dashboard/templates-project.js +1 -13
  124. package/dist/engine/data-projects-gc/gc-runner.d.ts +7 -0
  125. package/dist/engine/data-projects-gc/gc-runner.js +113 -3
  126. package/dist/engine/data-projects-gc/scanner.js +5 -1
  127. package/dist/engine/decision-store.js +11 -14
  128. package/dist/engine/deleter/core.js +5 -5
  129. package/dist/engine/dep-auditor/abandonment-data.js +2 -1
  130. package/dist/engine/dep-auditor/abandonment-registry.js +3 -1
  131. package/dist/engine/dep-auditor/cve-fetcher.js +3 -0
  132. package/dist/engine/dep-auditor/dep-duplicates-detector.js +36 -4
  133. package/dist/engine/dep-auditor/license-registry.js +2 -0
  134. package/dist/engine/dependency-evaluator.d.ts +14 -0
  135. package/dist/engine/dependency-evaluator.js +81 -0
  136. package/dist/engine/deploy/providers/fly.js +7 -7
  137. package/dist/engine/deploy/providers/netlify.js +7 -7
  138. package/dist/engine/deploy/providers/railway.js +10 -12
  139. package/dist/engine/deploy/providers/vercel.js +7 -9
  140. package/dist/engine/deprecation-scanner/pattern-loader.js +0 -2
  141. package/dist/engine/desktop-detector.js +2 -3
  142. package/dist/engine/detect-duplication.js +2 -1
  143. package/dist/engine/detectors/advanced-framework-detector/css-state-detector.js +2 -1
  144. package/dist/engine/detectors/advanced-framework-detector/legacy-detector.js +2 -3
  145. package/dist/engine/detectors/advanced-framework-detector/modern-detector.js +3 -4
  146. package/dist/engine/detectors/agent-framework-detector.js +3 -2
  147. package/dist/engine/detectors/ai-native-detector.js +4 -6
  148. package/dist/engine/detectors/cache-db-detector.js +4 -3
  149. package/dist/engine/detectors/cicd-detector.js +4 -3
  150. package/dist/engine/detectors/deployment-detector.js +11 -12
  151. package/dist/engine/detectors/frontend-perf-detector.js +14 -9
  152. package/dist/engine/detectors/library-detector-multilang-a.js +16 -3
  153. package/dist/engine/detectors/library-detector-node.js +14 -4
  154. package/dist/engine/detectors/library-detector-python.js +7 -1
  155. package/dist/engine/detectors/library-detector.js +0 -2
  156. package/dist/engine/detectors/llm-detector/provider-maps.js +3 -2
  157. package/dist/engine/detectors/mcp-candidate-detector.js +12 -16
  158. package/dist/engine/detectors/mfe-detector.js +6 -7
  159. package/dist/engine/detectors/monitoring-detector.js +4 -3
  160. package/dist/engine/detectors/otel-detector.js +3 -2
  161. package/dist/engine/detectors/otel-ecosystem-detectors.d.ts +2 -2
  162. package/dist/engine/detectors/otel-ecosystem-detectors.js +4 -3
  163. package/dist/engine/detectors/platform-specialty-detector.js +3 -5
  164. package/dist/engine/detectors/template-engine-detector.js +3 -4
  165. package/dist/engine/doc-generator/builders.js +2 -3
  166. package/dist/engine/doc-generator/mobile-distribution-guide.js +13 -17
  167. package/dist/engine/doc-generator/portal/dirty-flag-map.d.ts +2 -2
  168. package/dist/engine/doc-generator/portal/portal-regenerator.js +3 -47
  169. package/dist/engine/docs-site-generator/data-collector.d.ts +1 -1
  170. package/dist/engine/docs-site-generator/data-collector.js +7 -28
  171. package/dist/engine/docs-site-generator/tools-renderer.js +3 -10
  172. package/dist/engine/domain-detector.js +3 -6
  173. package/dist/engine/dynamic-knowledge/knowledge-cache.js +3 -4
  174. package/dist/engine/dynamic-knowledge/knowledge-merger.js +17 -2
  175. package/dist/engine/dynamic-knowledge/web-researcher.js +15 -14
  176. package/dist/engine/dynamic-migration-detector/manifest-readers-extended.js +0 -2
  177. package/dist/engine/e2e-test-generator.js +4 -3
  178. package/dist/engine/ecosystem-absorber/knowledge-cache.js +2 -1
  179. package/dist/engine/ecosystem-absorber/platform-crawler.js +2 -2
  180. package/dist/engine/escalator/retry-counter.js +2 -1
  181. package/dist/engine/evidence-gates/artifact-reader.d.ts +16 -1
  182. package/dist/engine/evidence-gates/artifact-reader.js +220 -23
  183. package/dist/engine/evidence-gates/lifecycle-gate.d.ts +2 -1
  184. package/dist/engine/evidence-gates/lifecycle-gate.js +58 -3
  185. package/dist/engine/evidence-gates/reconciliation-freshness.d.ts +11 -0
  186. package/dist/engine/evidence-gates/reconciliation-freshness.js +72 -0
  187. package/dist/engine/evidence-index/done-drift.d.ts +1 -1
  188. package/dist/engine/evidence-index/done-drift.js +40 -18
  189. package/dist/engine/execution/context.d.ts +19 -0
  190. package/dist/engine/execution/context.js +130 -0
  191. package/dist/engine/execution/deadline-io.d.ts +21 -0
  192. package/dist/engine/execution/deadline-io.js +45 -0
  193. package/dist/engine/execution/durable-job-heartbeat-runtime.d.ts +4 -0
  194. package/dist/engine/execution/durable-job-heartbeat-runtime.js +400 -0
  195. package/dist/engine/execution/job-executor.d.ts +16 -0
  196. package/dist/engine/execution/job-executor.js +140 -0
  197. package/dist/engine/execution/job-runtime.d.ts +108 -0
  198. package/dist/engine/execution/job-runtime.js +328 -0
  199. package/dist/engine/execution/native-relevance-scorer.d.ts +6 -0
  200. package/dist/engine/execution/native-relevance-scorer.js +64 -0
  201. package/dist/engine/execution/native-worker-dispatch.d.ts +3 -0
  202. package/dist/engine/execution/native-worker-dispatch.js +46 -0
  203. package/dist/engine/execution/native-worker-protocol.d.ts +6 -0
  204. package/dist/engine/execution/native-worker-protocol.js +33 -0
  205. package/dist/engine/execution/native-worker-runtime.d.ts +4 -0
  206. package/dist/engine/execution/native-worker-runtime.js +177 -0
  207. package/dist/engine/execution/native-worker-thread.d.ts +2 -0
  208. package/dist/engine/execution/native-worker-thread.js +66 -0
  209. package/dist/engine/execution/operation-journal.d.ts +66 -0
  210. package/dist/engine/execution/operation-journal.js +260 -0
  211. package/dist/engine/execution/outbox-worker.d.ts +31 -0
  212. package/dist/engine/execution/outbox-worker.js +192 -0
  213. package/dist/engine/execution/public-job-sanitizer.d.ts +4 -0
  214. package/dist/engine/execution/public-job-sanitizer.js +31 -0
  215. package/dist/engine/execution/validate-job-executor.d.ts +35 -0
  216. package/dist/engine/execution/validate-job-executor.js +805 -0
  217. package/dist/engine/execution/validate-job-payload.d.ts +5 -0
  218. package/dist/engine/execution/validate-job-payload.js +144 -0
  219. package/dist/engine/execution/validate-job-recovery.d.ts +4 -0
  220. package/dist/engine/execution/validate-job-recovery.js +47 -0
  221. package/dist/engine/execution/validate-worker-runtime.d.ts +10 -0
  222. package/dist/engine/execution/validate-worker-runtime.js +188 -0
  223. package/dist/engine/execution/validate-worker-thread.d.ts +2 -0
  224. package/dist/engine/execution/validate-worker-thread.js +64 -0
  225. package/dist/engine/execution-plan/desktop-distribution.js +3 -7
  226. package/dist/engine/execution-plan/mobile-distribution.js +4 -9
  227. package/dist/engine/execution-plan/phases.js +4 -5
  228. package/dist/engine/execution-plan/plan-utils.js +8 -5
  229. package/dist/engine/facilitate/context-loader.js +3 -9
  230. package/dist/engine/figma/code-connect-fetcher.js +9 -8
  231. package/dist/engine/filesystem-watcher/index.d.ts +3 -3
  232. package/dist/engine/filesystem-watcher/index.js +5 -5
  233. package/dist/engine/framework-detector.js +14 -15
  234. package/dist/engine/git/planu-autocommit.js +8 -7
  235. package/dist/engine/git/repository-probe.d.ts +3 -0
  236. package/dist/engine/git/repository-probe.js +13 -0
  237. package/dist/engine/global-rules-manager.js +2 -2
  238. package/dist/engine/handoff-artifacts/io.js +2 -3
  239. package/dist/engine/handoff-artifacts/schemas/red-tests-handoff.js +8 -1
  240. package/dist/engine/handoff-artifacts/schemas.d.ts +6 -1
  241. package/dist/engine/handoff-artifacts/schemas.js +38 -0
  242. package/dist/engine/handoff-packager.d.ts +19 -0
  243. package/dist/engine/handoff-packager.js +415 -13
  244. package/dist/engine/hook-generator/stack-hook-templates.js +4 -4
  245. package/dist/engine/hooks/config-loader.js +1 -1
  246. package/dist/engine/hooks/context-injector.js +4 -7
  247. package/dist/engine/hooks/effort-configurator.js +1 -1
  248. package/dist/engine/hooks/file-watcher.js +1 -14
  249. package/dist/engine/hooks-reconciler.js +6 -4
  250. package/dist/engine/impact-detector/test-break-predictor.js +3 -3
  251. package/dist/engine/impact-detector/tool-registration.js +1 -1
  252. package/dist/engine/implementation-contract/renderer.js +23 -8
  253. package/dist/engine/infrastructure/component-mapper.js +5 -7
  254. package/dist/engine/infrastructure/docker-compose-generator.js +8 -10
  255. package/dist/engine/infrastructure/index.js +6 -3
  256. package/dist/engine/infrastructure/kubernetes-generator.js +2 -2
  257. package/dist/engine/infrastructure/railway-generator.js +10 -8
  258. package/dist/engine/infrastructure/signal-detector.js +6 -8
  259. package/dist/engine/infrastructure/terraform-generator.js +6 -8
  260. package/dist/engine/legal-compliance/detector.js +3 -2
  261. package/dist/engine/lifecycle-reconciliation-io.d.ts +11 -0
  262. package/dist/engine/lifecycle-reconciliation-io.js +180 -0
  263. package/dist/engine/lifecycle-reconciliation.d.ts +16 -0
  264. package/dist/engine/lifecycle-reconciliation.js +406 -0
  265. package/dist/engine/local-first/storage-advisor.js +5 -6
  266. package/dist/engine/local-first/tool-classification.js +2 -0
  267. package/dist/engine/macos-keychain-native-port.d.ts +10 -0
  268. package/dist/engine/macos-keychain-native-port.js +38 -0
  269. package/dist/engine/marketplace-fetcher/cache.js +3 -1
  270. package/dist/engine/mcp-config/mcp-config-writer.d.ts +2 -2
  271. package/dist/engine/mcp-config/mcp-config-writer.js +10 -8
  272. package/dist/engine/migration/db-migrator.js +2 -5
  273. package/dist/engine/migration/equivalence-mapper.js +12 -13
  274. package/dist/engine/migration/service-catalogs.js +6 -7
  275. package/dist/engine/migration/service-migrator-catalogs.js +6 -7
  276. package/dist/engine/migrations/remove-commercial-state.d.ts +3 -0
  277. package/dist/engine/migrations/remove-commercial-state.js +343 -0
  278. package/dist/engine/mobile-detector-ios.js +2 -3
  279. package/dist/engine/mobile-detector.js +16 -4
  280. package/dist/engine/model-router/complexity-analyzer.js +4 -7
  281. package/dist/engine/multi-agent-review/security-analyzer.js +3 -1
  282. package/dist/engine/multi-app-detector/app-type.js +26 -21
  283. package/dist/engine/multi-app-detector/core.js +3 -2
  284. package/dist/engine/multi-teammate-review/disagreement-counter.js +2 -1
  285. package/dist/engine/multi-teammate-review/panel-orchestrator.js +0 -2
  286. package/dist/engine/mutation-config-generator.js +10 -7
  287. package/dist/engine/native-capability-policy.d.ts +4 -0
  288. package/dist/engine/native-capability-policy.js +24 -0
  289. package/dist/engine/native-platform.d.ts +3 -0
  290. package/dist/engine/native-platform.js +44 -0
  291. package/dist/engine/native-runtime-handshake.d.ts +20 -0
  292. package/dist/engine/native-runtime-handshake.js +230 -0
  293. package/dist/engine/network-policy.d.ts +27 -0
  294. package/dist/engine/network-policy.js +175 -0
  295. package/dist/engine/next-spec-resolver/dependency-filter.js +2 -22
  296. package/dist/engine/nfr-profile-detector.js +12 -16
  297. package/dist/engine/nli-keywords.js +8 -9
  298. package/dist/engine/oauth/config-guard.js +4 -5
  299. package/dist/engine/observability/local-execution-spans.d.ts +15 -0
  300. package/dist/engine/observability/local-execution-spans.js +63 -0
  301. package/dist/engine/orchestrator/runtime.js +0 -1
  302. package/dist/engine/package-registry.js +2 -6
  303. package/dist/engine/performance-analyzer.js +2 -5
  304. package/dist/engine/permissions-merger/stack-detectors.js +5 -5
  305. package/dist/engine/planu-core.darwin-arm64.node.manifest.json +39 -0
  306. package/dist/engine/planu-core.darwin-arm64.node.sbom.json +1310 -0
  307. package/dist/engine/planu-core.darwin-x64.node.manifest.json +39 -0
  308. package/dist/engine/planu-core.darwin-x64.node.sbom.json +1310 -0
  309. package/dist/engine/planu-core.linux-arm64-gnu.node.manifest.json +38 -0
  310. package/dist/engine/planu-core.linux-arm64-gnu.node.sbom.json +1310 -0
  311. package/dist/engine/planu-core.linux-arm64-musl.node.manifest.json +38 -0
  312. package/dist/engine/planu-core.linux-arm64-musl.node.sbom.json +1310 -0
  313. package/dist/engine/planu-core.linux-x64-gnu.node.manifest.json +38 -0
  314. package/dist/engine/planu-core.linux-x64-gnu.node.sbom.json +1310 -0
  315. package/dist/engine/planu-core.linux-x64-musl.node.manifest.json +38 -0
  316. package/dist/engine/planu-core.linux-x64-musl.node.sbom.json +1310 -0
  317. package/dist/engine/planu-core.win32-arm64-msvc.node.manifest.json +38 -0
  318. package/dist/engine/planu-core.win32-arm64-msvc.node.sbom.json +1310 -0
  319. package/dist/engine/planu-core.win32-x64-msvc.node.manifest.json +38 -0
  320. package/dist/engine/planu-core.win32-x64-msvc.node.sbom.json +1310 -0
  321. package/dist/engine/platform-detector/desktop.js +15 -2
  322. package/dist/engine/platform-detector/extensions.js +2 -1
  323. package/dist/engine/platform-detector/games.js +2 -1
  324. package/dist/engine/platform-detector.js +3 -2
  325. package/dist/engine/platform-engineering/idp-detector.js +2 -1
  326. package/dist/engine/plugin-installer/stack-matcher.js +9 -17
  327. package/dist/engine/plugins/lifecycle.js +6 -2
  328. package/dist/engine/prior-decisions/contradiction-detector.js +60 -30
  329. package/dist/engine/project-dna/stack-detector.js +15 -17
  330. package/dist/engine/project-graph/builder.js +11 -0
  331. package/dist/engine/project-graph/cache.js +1 -1
  332. package/dist/engine/project-graph/freshness-projection.d.ts +16 -0
  333. package/dist/engine/project-graph/freshness-projection.js +95 -0
  334. package/dist/engine/project-graph/index.d.ts +1 -0
  335. package/dist/engine/project-graph/index.js +1 -0
  336. package/dist/engine/project-graph/query.js +15 -25
  337. package/dist/engine/project-health-checker.js +3 -4
  338. package/dist/engine/project-scanner/stack-detector.js +17 -17
  339. package/dist/engine/property-test-generator.js +2 -3
  340. package/dist/engine/qa-gate.d.ts +1 -0
  341. package/dist/engine/qa-gate.js +6 -4
  342. package/dist/engine/quality-gates/gate-catalog.js +47 -46
  343. package/dist/engine/quality-gates/gate-injector.js +9 -4
  344. package/dist/engine/readiness-checker.d.ts +1 -16
  345. package/dist/engine/readiness-checker.js +27 -88
  346. package/dist/engine/registry/core.js +0 -2
  347. package/dist/engine/registry/loader.js +9 -12
  348. package/dist/engine/registry/matcher.js +129 -24
  349. package/dist/engine/resilience-detector/concurrency-detector.js +4 -4
  350. package/dist/engine/resilience-detector/middleware-detector.js +11 -13
  351. package/dist/engine/resilience-detector/validation-detector.js +17 -4
  352. package/dist/engine/reverse-engineer/config-analyzer.js +9 -8
  353. package/dist/engine/reverse-engineer/orchestrator.js +5 -9
  354. package/dist/engine/reverse-engineer/test-file-parser.js +6 -3
  355. package/dist/engine/rules-generator/index.js +6 -5
  356. package/dist/engine/runtime-policy.d.ts +9 -0
  357. package/dist/engine/runtime-policy.js +138 -0
  358. package/dist/engine/runtime-security/checkers/content-security.js +21 -6
  359. package/dist/engine/runtime-security/checkers/file-permissions.js +0 -2
  360. package/dist/engine/runtime-security/rate-limiter.js +0 -1
  361. package/dist/engine/safety/atomic-write-file.js +20 -9
  362. package/dist/engine/safety/atomic-writer.js +10 -3
  363. package/dist/engine/safety/contained-project-file.d.ts +3 -0
  364. package/dist/engine/safety/contained-project-file.js +23 -0
  365. package/dist/engine/safety/cross-process-lock.d.ts +3 -40
  366. package/dist/engine/safety/cross-process-lock.js +268 -272
  367. package/dist/engine/safety/file-mutex.d.ts +2 -9
  368. package/dist/engine/safety/file-mutex.js +155 -87
  369. package/dist/engine/safety/health-monitor.js +15 -6
  370. package/dist/engine/safety/lock-lease-store.d.ts +79 -0
  371. package/dist/engine/safety/lock-lease-store.js +372 -0
  372. package/dist/engine/safety/lock-scavenger.d.ts +2 -5
  373. package/dist/engine/safety/lock-scavenger.js +158 -76
  374. package/dist/engine/safety/lock-staleness.js +4 -1
  375. package/dist/engine/safety/obsolete-lock-guard.d.ts +8 -0
  376. package/dist/engine/safety/obsolete-lock-guard.js +31 -0
  377. package/dist/engine/safety/transaction.js +3 -3
  378. package/dist/engine/sandbox/index.js +2 -1
  379. package/dist/engine/sandbox/runner-detect.js +3 -2
  380. package/dist/engine/sandbox/runner-docker.js +4 -3
  381. package/dist/engine/scan-project/module-discoverer.js +3 -2
  382. package/dist/engine/schema-generator.js +16 -9
  383. package/dist/engine/scope-boundaries/contradiction-checker.js +63 -1
  384. package/dist/engine/scope-boundaries/scope-validator.js +45 -7
  385. package/dist/engine/security-analyzer/criteria-generator.js +2 -3
  386. package/dist/engine/self-healing/healer.js +4 -4
  387. package/dist/engine/session/checkpoint-writer.js +0 -9
  388. package/dist/engine/shared-agent-memory.js +66 -74
  389. package/dist/engine/skill-adapter/command-rewriter.js +3 -2
  390. package/dist/engine/skill-adapter/index.js +3 -3
  391. package/dist/engine/skill-adapter/placeholder-map.js +3 -2
  392. package/dist/engine/skill-bootstrap/stack-matcher.js +47 -48
  393. package/dist/engine/skill-generation/stack-content-generator.js +0 -2
  394. package/dist/engine/skill-generator/workflow-skill-generator.js +2 -1
  395. package/dist/engine/skill-registry/ttl-refresh.js +3 -1
  396. package/dist/engine/skills/skills-fetcher.js +3 -6
  397. package/dist/engine/skills-reconciler.js +19 -39
  398. package/dist/engine/spec-coverage/test-finder.js +7 -6
  399. package/dist/engine/spec-diff-engine.js +3 -3
  400. package/dist/engine/spec-format/acceptance-criteria.d.ts +6 -2
  401. package/dist/engine/spec-format/acceptance-criteria.js +77 -18
  402. package/dist/engine/spec-format/markdown-sections.d.ts +14 -0
  403. package/dist/engine/spec-format/markdown-sections.js +105 -0
  404. package/dist/engine/spec-format/read-technical-section.js +33 -5
  405. package/dist/engine/spec-format/technical-md-populator.js +3 -2
  406. package/dist/engine/spec-format/unified-spec-builder.d.ts +7 -0
  407. package/dist/engine/spec-format/unified-spec-builder.js +202 -0
  408. package/dist/engine/spec-generator/api-key-resolver.d.ts +1 -1
  409. package/dist/engine/spec-generator/api-key-resolver.js +3 -24
  410. package/dist/engine/spec-generators/issue-extractor.js +9 -3
  411. package/dist/engine/spec-migrator/canonical-deduplicator.d.ts +18 -0
  412. package/dist/engine/spec-migrator/canonical-deduplicator.js +479 -0
  413. package/dist/engine/spec-migrator/drift-detector.js +5 -13
  414. package/dist/engine/spec-migrator/filesystem-import.d.ts +4 -8
  415. package/dist/engine/spec-migrator/filesystem-import.js +134 -23
  416. package/dist/engine/spec-migrator/frontmatter-parser.js +32 -15
  417. package/dist/engine/spec-migrator/index.d.ts +1 -0
  418. package/dist/engine/spec-migrator/index.js +1 -0
  419. package/dist/engine/spec-migrator/planu-canonical-policy.js +10 -1
  420. package/dist/engine/spec-migrator/strict-planu-cleanup.js +24 -25
  421. package/dist/engine/spec-registry/adapter.d.ts +0 -5
  422. package/dist/engine/spec-registry/adapter.js +45 -46
  423. package/dist/engine/spec-registry/client.js +2 -0
  424. package/dist/engine/spec-source-sync.js +3 -2
  425. package/dist/engine/spec-state-machine/transition-spec.d.ts +6 -1
  426. package/dist/engine/spec-state-machine/transition-spec.js +10 -1
  427. package/dist/engine/spec-templates/custom-loader.js +2 -3
  428. package/dist/engine/spec-templates/templates-domain-specific.js +8 -5
  429. package/dist/engine/spec-templates/templates-perf-integration.js +2 -3
  430. package/dist/engine/stack-auditor/manifest-reader.js +0 -2
  431. package/dist/engine/staleness/stale-implementing.js +7 -7
  432. package/dist/engine/tdd-scaffold-generator.js +24 -11
  433. package/dist/engine/teammate-router/green-phase-verifier.js +2 -1
  434. package/dist/engine/teammate-router/red-phase-verifier.js +2 -1
  435. package/dist/engine/technical-enricher/index.js +16 -8
  436. package/dist/engine/technical-enricher/render-enriched.d.ts +1 -0
  437. package/dist/engine/technical-enricher/render-enriched.js +42 -14
  438. package/dist/engine/technology-registry.d.ts +11 -0
  439. package/dist/engine/technology-registry.js +142 -0
  440. package/dist/engine/telemetry/error-reporter.d.ts +1 -2
  441. package/dist/engine/telemetry/error-reporter.js +11 -18
  442. package/dist/engine/telemetry/health-checker.js +58 -31
  443. package/dist/engine/telemetry/index.d.ts +0 -1
  444. package/dist/engine/telemetry/index.js +0 -1
  445. package/dist/engine/telemetry/stance.js +3 -2
  446. package/dist/engine/telemetry/telemetry-client.d.ts +1 -5
  447. package/dist/engine/telemetry/telemetry-client.js +69 -35
  448. package/dist/engine/telemetry/telemetry-store.d.ts +3 -3
  449. package/dist/engine/telemetry/telemetry-store.js +30 -23
  450. package/dist/engine/test-framework-detector/detectors.js +8 -8
  451. package/dist/engine/test-framework-detector/strategy.js +8 -9
  452. package/dist/engine/test-generators/agent-test-templates.js +2 -3
  453. package/dist/engine/test-generators/contract-test-generator.d.ts +1 -1
  454. package/dist/engine/test-generators/contract-test-generator.js +9 -202
  455. package/dist/engine/test-generators/platform-test-templates-b.js +2 -3
  456. package/dist/engine/test-generators/platform-test-templates.js +2 -5
  457. package/dist/engine/test-mocks-generator.js +4 -3
  458. package/dist/engine/test-plan-generator.js +30 -12
  459. package/dist/engine/test-scaffold-generator/advanced-scaffold.js +4 -5
  460. package/dist/engine/test-scaffold-generator/unit-scaffold.js +5 -6
  461. package/dist/engine/text-signal-boundaries.d.ts +2 -0
  462. package/dist/engine/text-signal-boundaries.js +25 -2
  463. package/dist/engine/time/relative-date.d.ts +3 -0
  464. package/dist/engine/time/relative-date.js +16 -0
  465. package/dist/engine/timing/budget.d.ts +17 -17
  466. package/dist/engine/timing/budget.js +98 -64
  467. package/dist/engine/token-optimizer/analytics.d.ts +1 -1
  468. package/dist/engine/token-optimizer/analytics.js +5 -6
  469. package/dist/engine/tool-groups/group-manager.js +3 -3
  470. package/dist/engine/universal-rules/installer.js +1 -1
  471. package/dist/engine/universal-rules/rules/planu-modes.js +2 -0
  472. package/dist/engine/universal-rules/rules/planu-release-policy.js +1 -0
  473. package/dist/engine/update-notifier.js +8 -5
  474. package/dist/engine/usage-tracker/core.d.ts +2 -2
  475. package/dist/engine/usage-tracker/core.js +1 -2
  476. package/dist/engine/usage-tracker/index.d.ts +0 -3
  477. package/dist/engine/usage-tracker/index.js +0 -3
  478. package/dist/engine/usage-tracker/stats.d.ts +2 -2
  479. package/dist/engine/usage-tracker/stats.js +1 -28
  480. package/dist/engine/validation/approved-spec-portability.d.ts +12 -0
  481. package/dist/engine/validation/approved-spec-portability.js +107 -0
  482. package/dist/engine/validation/durable-validation.d.ts +36 -0
  483. package/dist/engine/validation/durable-validation.js +256 -0
  484. package/dist/engine/validation/validation-freshness.d.ts +46 -0
  485. package/dist/engine/validation/validation-freshness.js +567 -0
  486. package/dist/engine/validation/validation-receipt-codec.d.ts +13 -0
  487. package/dist/engine/validation/validation-receipt-codec.js +182 -0
  488. package/dist/engine/validation/validation-receipt.d.ts +62 -0
  489. package/dist/engine/validation/validation-receipt.js +342 -0
  490. package/dist/engine/validation/validation-source-digest.d.ts +2 -0
  491. package/dist/engine/validation/validation-source-digest.js +86 -0
  492. package/dist/engine/validation/validation-source-policy.d.ts +4 -0
  493. package/dist/engine/validation/validation-source-policy.js +16 -0
  494. package/dist/engine/validation/validation-submission.d.ts +37 -0
  495. package/dist/engine/validation/validation-submission.js +142 -0
  496. package/dist/engine/validation/validation-worktree.d.ts +21 -0
  497. package/dist/engine/validation/validation-worktree.js +260 -0
  498. package/dist/engine/validation-evidence-ledger.js +41 -0
  499. package/dist/engine/validation-impact-planner.d.ts +14 -2
  500. package/dist/engine/validation-impact-planner.js +23 -10
  501. package/dist/engine/validator/dor-dod.d.ts +1 -0
  502. package/dist/engine/validator/dor-dod.js +5 -3
  503. package/dist/engine/validator/extractors.d.ts +1 -5
  504. package/dist/engine/validator/extractors.js +24 -69
  505. package/dist/engine/validator/spec-compliance-runner.d.ts +13 -25
  506. package/dist/engine/validator/spec-compliance-runner.js +442 -215
  507. package/dist/engine/validator/validation-report-writer.js +1 -1
  508. package/dist/engine/validator.js +37 -23
  509. package/dist/engine/verify-integrations/index.js +1 -1
  510. package/dist/engine/version-resolver.js +5 -6
  511. package/dist/engine/web-fetcher/stack-advisor.js +156 -92
  512. package/dist/engine/web-fetcher/stack-detector.js +114 -54
  513. package/dist/engine/workspace-manager.js +3 -2
  514. package/dist/errors/classified-degradation.d.ts +3 -0
  515. package/dist/errors/classified-degradation.js +10 -0
  516. package/dist/errors/degradation-sink.d.ts +3 -0
  517. package/dist/errors/degradation-sink.js +5 -0
  518. package/dist/errors/error-taxonomy.d.ts +12 -0
  519. package/dist/errors/error-taxonomy.js +62 -0
  520. package/dist/hosts/claude-code/ux/mcp-prompts.js +10 -4
  521. package/dist/hosts/claude-code/ux/mcp-resources.js +4 -2
  522. package/dist/hosts/codex/config-scaffold.js +4 -3
  523. package/dist/hosts/gemini/config-scaffold.js +2 -1
  524. package/dist/hosts/gemini/multimodal-spec-flow.js +7 -4
  525. package/dist/index.js +23 -20
  526. package/dist/resources/patterns.js +3 -1
  527. package/dist/resources/specs.js +3 -1
  528. package/dist/resources/templates.js +3 -1
  529. package/dist/resources/usage-stats-resource.js +2 -18
  530. package/dist/security/adapters/environment.d.ts +12 -0
  531. package/dist/security/adapters/environment.js +25 -0
  532. package/dist/security/adapters/linux-secret-service.d.ts +8 -0
  533. package/dist/security/adapters/linux-secret-service.js +64 -0
  534. package/dist/security/adapters/macos-keychain.d.ts +18 -0
  535. package/dist/security/adapters/macos-keychain.js +90 -0
  536. package/dist/security/adapters/windows-credential-manager.d.ts +8 -0
  537. package/dist/security/adapters/windows-credential-manager.js +60 -0
  538. package/dist/security/redactor.d.ts +5 -0
  539. package/dist/security/redactor.js +58 -0
  540. package/dist/security/secret-field.d.ts +5 -0
  541. package/dist/security/secret-field.js +17 -0
  542. package/dist/security/secret-migration.d.ts +3 -0
  543. package/dist/security/secret-migration.js +123 -0
  544. package/dist/security/secret-provider.d.ts +23 -0
  545. package/dist/security/secret-provider.js +145 -0
  546. package/dist/security/secure-json.d.ts +3 -0
  547. package/dist/security/secure-json.js +29 -0
  548. package/dist/server/routes/specs.js +10 -0
  549. package/dist/storage/api-surfaces-store.js +2 -2
  550. package/dist/storage/approval-operation-lock.d.ts +1 -1
  551. package/dist/storage/approval-operation-lock.js +5 -3
  552. package/dist/storage/audit-trail-store.d.ts +1 -1
  553. package/dist/storage/audit-trail-store.js +48 -62
  554. package/dist/storage/autopilot-log-store.js +12 -5
  555. package/dist/storage/base-store.d.ts +9 -9
  556. package/dist/storage/base-store.js +58 -21
  557. package/dist/storage/checkpoint-store.js +5 -2
  558. package/dist/storage/comments-store.js +2 -2
  559. package/dist/storage/compliance-audit-store.js +5 -2
  560. package/dist/storage/compliance-gate-config-store.js +7 -4
  561. package/dist/storage/compliance-store.js +2 -2
  562. package/dist/storage/context-profile-store.js +2 -2
  563. package/dist/storage/crash-shield-store.js +8 -4
  564. package/dist/storage/feedback-remote.d.ts +2 -3
  565. package/dist/storage/feedback-remote.js +45 -31
  566. package/dist/storage/feedback-store.js +10 -6
  567. package/dist/storage/figma-store.js +8 -4
  568. package/dist/storage/file-mutex.js +9 -1
  569. package/dist/storage/gaps-log.js +7 -4
  570. package/dist/storage/global-projects-store.js +4 -2
  571. package/dist/storage/global-store.d.ts +1 -17
  572. package/dist/storage/global-store.js +1 -42
  573. package/dist/storage/ideas-store.js +2 -2
  574. package/dist/storage/index.d.ts +5 -2
  575. package/dist/storage/index.js +5 -2
  576. package/dist/storage/knowledge-store/knowledge.js +27 -33
  577. package/dist/storage/lessons-store.js +2 -2
  578. package/dist/storage/migrations/canonical-storage.d.ts +15 -0
  579. package/dist/storage/migrations/canonical-storage.js +712 -0
  580. package/dist/storage/oauth-store.js +36 -8
  581. package/dist/storage/path-resolver.js +16 -3
  582. package/dist/storage/pr-store.js +2 -2
  583. package/dist/storage/project-drift-store.js +20 -8
  584. package/dist/storage/project-identity.d.ts +32 -0
  585. package/dist/storage/project-identity.js +194 -0
  586. package/dist/storage/project-resolver.js +14 -7
  587. package/dist/storage/release-notes-store.js +2 -6
  588. package/dist/storage/runtime-db.d.ts +195 -0
  589. package/dist/storage/runtime-db.js +1110 -0
  590. package/dist/storage/schema-registry.d.ts +5 -0
  591. package/dist/storage/schema-registry.js +74 -0
  592. package/dist/storage/sentry-store.js +20 -9
  593. package/dist/storage/session-state-store.js +12 -5
  594. package/dist/storage/skill-registry-storage.d.ts +1 -1
  595. package/dist/storage/skill-registry-storage.js +13 -11
  596. package/dist/storage/slack-store.js +10 -5
  597. package/dist/storage/spec-store.d.ts +14 -2
  598. package/dist/storage/spec-store.js +134 -37
  599. package/dist/storage/status-store/atomic-status-write.d.ts +5 -0
  600. package/dist/storage/status-store/atomic-status-write.js +57 -0
  601. package/dist/storage/status-store/file-lock.js +61 -20
  602. package/dist/storage/status-store/self-healing.js +13 -8
  603. package/dist/storage/status-store/version-sync.d.ts +2 -1
  604. package/dist/storage/status-store/version-sync.js +36 -39
  605. package/dist/storage/steering-store.js +2 -2
  606. package/dist/storage/storage-bundle.d.ts +5 -0
  607. package/dist/storage/storage-bundle.js +117 -0
  608. package/dist/storage/storage-catalog-validation.d.ts +3 -0
  609. package/dist/storage/storage-catalog-validation.js +20 -0
  610. package/dist/storage/storage-catalog.d.ts +25 -0
  611. package/dist/storage/storage-catalog.js +390 -0
  612. package/dist/storage/storage-layout.d.ts +24 -0
  613. package/dist/storage/storage-layout.js +101 -0
  614. package/dist/storage/storybook-store.js +2 -2
  615. package/dist/storage/supabase-store.js +24 -6
  616. package/dist/storage/tdd-policy-store.js +8 -6
  617. package/dist/storage/tech-debt-store.js +3 -3
  618. package/dist/storage/technology-selection-store.d.ts +1 -1
  619. package/dist/storage/technology-selection-store.js +6 -3
  620. package/dist/storage/token-cache-store.js +3 -3
  621. package/dist/storage/token-ledger-store.js +13 -8
  622. package/dist/storage/transition-log.js +7 -4
  623. package/dist/storage/trash-store.js +15 -6
  624. package/dist/storage/usage-store.d.ts +1 -5
  625. package/dist/storage/usage-store.js +0 -35
  626. package/dist/storage/vector-store/migrator.js +7 -2
  627. package/dist/storage/vector-store/sqlite-adapter.js +4 -1
  628. package/dist/storage/webhook-server-store.js +2 -2
  629. package/dist/tools/api-spec-generator-handler.js +3 -2
  630. package/dist/tools/auto-update-handler.d.ts +4 -4
  631. package/dist/tools/auto-update-handler.js +4 -4
  632. package/dist/tools/browser-validate-handler.js +2 -1
  633. package/dist/tools/challenge-spec/platform-challenge-scenarios-b.js +8 -5
  634. package/dist/tools/challenge-spec/resilience-challenge-scenarios.d.ts +2 -1
  635. package/dist/tools/challenge-spec/resilience-challenge-scenarios.js +10 -7
  636. package/dist/tools/challenge-spec/scenario-collector.js +1 -1
  637. package/dist/tools/challenge-spec/scenarios-data.js +1 -1
  638. package/dist/tools/challenge-spec/scenarios-desktop.js +8 -3
  639. package/dist/tools/challenge-spec/scenarios-failure.js +7 -2
  640. package/dist/tools/challenge-spec/scenarios-utils.d.ts +1 -1
  641. package/dist/tools/challenge-spec/scenarios-utils.js +35 -11
  642. package/dist/tools/challenge-spec/security-challenge-scenarios.js +3 -3
  643. package/dist/tools/challenge-spec.js +5 -5
  644. package/dist/tools/check-readiness.js +1 -1
  645. package/dist/tools/clarify-requirements/multiple-choice.js +53 -41
  646. package/dist/tools/comments-handler.js +2 -3
  647. package/dist/tools/compliance-test-handler.js +2 -2
  648. package/dist/tools/configure-telemetry.js +41 -13
  649. package/dist/tools/create-spec/auto-pipeline.js +13 -1
  650. package/dist/tools/create-spec/autopilot-analyzer.d.ts +1 -1
  651. package/dist/tools/create-spec/autopilot-analyzer.js +2 -4
  652. package/dist/tools/create-spec/mcp-tool-contract.d.ts +10 -4
  653. package/dist/tools/create-spec/mcp-tool-contract.js +7 -36
  654. package/dist/tools/create-spec/post-creation.d.ts +2 -1
  655. package/dist/tools/create-spec/post-creation.js +56 -54
  656. package/dist/tools/create-spec/relevance-scorer.d.ts +1 -1
  657. package/dist/tools/create-spec/relevance-scorer.js +17 -1
  658. package/dist/tools/create-spec/spec-builder.js +2 -23
  659. package/dist/tools/create-spec/spec-created-outbox-consumer.d.ts +14 -0
  660. package/dist/tools/create-spec/spec-created-outbox-consumer.js +176 -0
  661. package/dist/tools/create-spec.d.ts +1 -0
  662. package/dist/tools/create-spec.js +802 -732
  663. package/dist/tools/define-ui-contract/agent-interaction-contract.js +2 -4
  664. package/dist/tools/define-ui-contract-desktop/desktop-contract.js +12 -4
  665. package/dist/tools/define-ui-contract-desktop/native-contract.js +7 -3
  666. package/dist/tools/define-ui-contract-extensions.js +2 -3
  667. package/dist/tools/define-ui-contract-mobile.js +5 -9
  668. package/dist/tools/define-ui-contract-web/component-tree.js +4 -3
  669. package/dist/tools/define-ui-contract.js +7 -4
  670. package/dist/tools/deploy/deploy-spec.js +2 -4
  671. package/dist/tools/deploy/deploy-status.js +2 -4
  672. package/dist/tools/design-schema/nosql-category-schemas.js +2 -3
  673. package/dist/tools/design-schema-sql/migrations.js +3 -2
  674. package/dist/tools/design-schema-sql/tables.js +4 -1
  675. package/dist/tools/design-schema.js +4 -3
  676. package/dist/tools/feedback-handler.js +2 -4
  677. package/dist/tools/gc-data-projects.js +5 -5
  678. package/dist/tools/generate-execution-plan.js +3 -4
  679. package/dist/tools/generate-sub-agent.js +2 -1
  680. package/dist/tools/generate-tests/generators/a11y-tests-generator.js +5 -4
  681. package/dist/tools/generate-tests/generators/advanced-testing-generator.js +5 -4
  682. package/dist/tools/generate-tests/generators/concurrency-test-generator/js-templates.js +9 -4
  683. package/dist/tools/generate-tests/generators/concurrency-test-generator.js +8 -4
  684. package/dist/tools/generate-tests/generators/database/detectors.js +9 -3
  685. package/dist/tools/generate-tests/generators/database/index.js +2 -4
  686. package/dist/tools/generate-tests/generators/event-test-generator.js +5 -4
  687. package/dist/tools/generate-tests/generators/game-tests-generator.js +2 -1
  688. package/dist/tools/generate-tests/generators/graphql-test-generator.js +11 -5
  689. package/dist/tools/generate-tests/generators/grpc-test-generator.js +2 -3
  690. package/dist/tools/generate-tests/generators/llm-security-test-generator.js +4 -3
  691. package/dist/tools/generate-tests/generators/local-first-test-generator.js +4 -3
  692. package/dist/tools/generate-tests/generators/mcp-tests-generator.js +11 -9
  693. package/dist/tools/generate-tests/generators/microservices/index.js +2 -3
  694. package/dist/tools/generate-tests/generators/otel-test-generator.js +6 -3
  695. package/dist/tools/generate-tests/generators/security/detectors.js +2 -5
  696. package/dist/tools/generate-tests/generators/security/index.js +2 -4
  697. package/dist/tools/generate-tests/generators/supply-chain-test-generator.js +2 -3
  698. package/dist/tools/generate-tests/generators/visual-regression-generator.js +14 -17
  699. package/dist/tools/generate-tests/generators/websocket-test-generator.js +2 -3
  700. package/dist/tools/generate-tests/test-helpers.js +11 -12
  701. package/dist/tools/generate-tests-content.js +4 -3
  702. package/dist/tools/generate-tests.js +7 -4
  703. package/dist/tools/git/branch-ops.d.ts +1 -1
  704. package/dist/tools/git/branch-ops.js +3 -2
  705. package/dist/tools/git/git-helpers.d.ts +0 -2
  706. package/dist/tools/git/git-helpers.js +7 -7
  707. package/dist/tools/github-pr-handler.js +10 -3
  708. package/dist/tools/heal-spec-docs.js +6 -53
  709. package/dist/tools/hook-generator-handler.js +6 -6
  710. package/dist/tools/init-constitution/platform-principles.js +4 -2
  711. package/dist/tools/init-project/agents-md-writer.js +14 -5
  712. package/dist/tools/init-project/claude-md-generator.js +19 -12
  713. package/dist/tools/init-project/handler.js +165 -75
  714. package/dist/tools/init-project/host-assets-writer.d.ts +1 -1
  715. package/dist/tools/init-project/host-assets-writer.js +30 -3
  716. package/dist/tools/init-project/lifecycle-helpers.js +3 -5
  717. package/dist/tools/init-project/lint-scaffolder.d.ts +3 -3
  718. package/dist/tools/init-project/lint-scaffolder.js +6 -2
  719. package/dist/tools/init-project/migration-runner.d.ts +8 -1
  720. package/dist/tools/init-project/migration-runner.js +68 -2
  721. package/dist/tools/init-project/per-client-files-writer.js +14 -4
  722. package/dist/tools/init-project/portable-index-reconciler.d.ts +4 -0
  723. package/dist/tools/init-project/portable-index-reconciler.js +14 -0
  724. package/dist/tools/init-project/result-builder.js +1 -3
  725. package/dist/tools/init-project/rules-generator.js +10 -2
  726. package/dist/tools/init-project/scaffold-writer.d.ts +1 -1
  727. package/dist/tools/init-project/scaffold-writer.js +17 -15
  728. package/dist/tools/jobs/handlers.d.ts +15 -0
  729. package/dist/tools/jobs/handlers.js +158 -0
  730. package/dist/tools/list-specs.js +39 -59
  731. package/dist/tools/manage-plugins-handler.js +17 -9
  732. package/dist/tools/merge-risk-handler.js +2 -2
  733. package/dist/tools/migrate-tech/advanced-handlers.js +3 -2
  734. package/dist/tools/migrate-tech/build-tool-handlers.js +3 -2
  735. package/dist/tools/migrate-tech/core-handlers.js +5 -2
  736. package/dist/tools/migrate-tech/data-handlers.js +6 -3
  737. package/dist/tools/migrate-tech-advanced/rollback-handlers.js +3 -2
  738. package/dist/tools/migrate-tech-advanced/service-handlers.js +5 -2
  739. package/dist/tools/oauth-handler.js +7 -1
  740. package/dist/tools/package-handoff.js +2 -0
  741. package/dist/tools/reconcile-spec.js +0 -27
  742. package/dist/tools/register-agent-squad-tools.js +2 -2
  743. package/dist/tools/register-platform-tools/design-stack-tools.js +11 -11
  744. package/dist/tools/register-platform-tools/lifecycle-infra-tools.js +7 -7
  745. package/dist/tools/register-sdd-tools.d.ts +1 -1
  746. package/dist/tools/register-sdd-tools.js +2 -24
  747. package/dist/tools/register-spec-tools/analysis-tools.js +8 -8
  748. package/dist/tools/register-spec-tools/core-spec-tools.js +48 -8
  749. package/dist/tools/registry/auth.js +13 -5
  750. package/dist/tools/registry/publish.js +7 -4
  751. package/dist/tools/resolve-project-path.d.ts +2 -2
  752. package/dist/tools/resolve-project-path.js +7 -7
  753. package/dist/tools/reverse-engineer/analyzer.js +14 -14
  754. package/dist/tools/rollback-release.js +3 -2
  755. package/dist/tools/safe-handler.d.ts +5 -13
  756. package/dist/tools/safe-handler.js +302 -194
  757. package/dist/tools/schema-generator-handler.js +2 -1
  758. package/dist/tools/schemas/index.d.ts +1 -1
  759. package/dist/tools/schemas/index.js +1 -1
  760. package/dist/tools/schemas/output-schemas.d.ts +88 -105
  761. package/dist/tools/schemas/output-schemas.js +12 -122
  762. package/dist/tools/schemas/plugins-schemas.js +0 -2
  763. package/dist/tools/schemas/registry.js +0 -2
  764. package/dist/tools/schemas/skill-registry-schemas.js +0 -2
  765. package/dist/tools/schemas/spec.d.ts +4 -0
  766. package/dist/tools/schemas/spec.js +3 -0
  767. package/dist/tools/schemas/validate-output-schema.d.ts +267 -0
  768. package/dist/tools/schemas/validate-output-schema.js +219 -0
  769. package/dist/tools/sentry-handler.js +6 -1
  770. package/dist/tools/skill-bootstrap-handler.js +7 -4
  771. package/dist/tools/spec-prompt-handler.js +3 -3
  772. package/dist/tools/status-handler.js +4 -0
  773. package/dist/tools/storage-bundle-handler.d.ts +9 -0
  774. package/dist/tools/storage-bundle-handler.js +29 -0
  775. package/dist/tools/storage-paths-handler.d.ts +9 -0
  776. package/dist/tools/storage-paths-handler.js +17 -0
  777. package/dist/tools/suggest-mcp-server.js +11 -5
  778. package/dist/tools/suggest-mcps.js +29 -9
  779. package/dist/tools/suggest-tooling/advanced-testing-catalog.js +4 -5
  780. package/dist/tools/suggest-tooling/build-tool-catalog.js +2 -1
  781. package/dist/tools/suggest-tooling/css-framework-catalog.js +13 -7
  782. package/dist/tools/suggest-tooling/framework-catalog.js +3 -5
  783. package/dist/tools/suggest-tooling/frontend-perf-catalog.js +2 -6
  784. package/dist/tools/suggest-tooling/handler.js +10 -4
  785. package/dist/tools/suggest-tooling/hypermedia-catalog.js +11 -3
  786. package/dist/tools/suggest-tooling/linting-catalog.js +4 -7
  787. package/dist/tools/suggest-tooling/llm-security-catalog.js +2 -1
  788. package/dist/tools/suggest-tooling/local-first-catalog.js +7 -5
  789. package/dist/tools/suggest-tooling/observability-catalog.js +3 -4
  790. package/dist/tools/suggest-tooling/otel-catalog.js +4 -1
  791. package/dist/tools/suggest-tooling/resilience-catalog.js +16 -5
  792. package/dist/tools/suggest-tooling/skills-catalog.js +10 -9
  793. package/dist/tools/suggest-tooling/supply-chain-catalog.js +2 -3
  794. package/dist/tools/supabase-handler.js +2 -1
  795. package/dist/tools/sync-spec-state-handler.d.ts +1 -1
  796. package/dist/tools/sync-spec-state-handler.js +1 -1
  797. package/dist/tools/token-intelligence-handler.js +2 -2
  798. package/dist/tools/token-recording.js +2 -2
  799. package/dist/tools/token-savings-handler.js +2 -2
  800. package/dist/tools/tool-entry.d.ts +4 -4
  801. package/dist/tools/tool-entry.js +3 -3
  802. package/dist/tools/tool-registry/core-tools.js +162 -15
  803. package/dist/tools/tool-registry/group-infra.js +37 -122
  804. package/dist/tools/tool-registry/group-quality-compliance.js +31 -38
  805. package/dist/tools/tool-registry/inventory.d.ts +2 -0
  806. package/dist/tools/tool-registry/inventory.js +2 -0
  807. package/dist/tools/tool-registry-helpers.d.ts +3 -3
  808. package/dist/tools/tool-registry-helpers.js +3 -3
  809. package/dist/tools/tool-usage-report/registered-tools.d.ts +1 -1
  810. package/dist/tools/tool-usage-report/registered-tools.js +3 -15
  811. package/dist/tools/update-status/approval-gates.d.ts +13 -0
  812. package/dist/tools/update-status/approval-gates.js +84 -0
  813. package/dist/tools/update-status/batch.js +4 -2
  814. package/dist/tools/update-status/dod-gates.d.ts +6 -24
  815. package/dist/tools/update-status/dod-gates.js +60 -135
  816. package/dist/tools/update-status/done-receipt-verifier.d.ts +15 -0
  817. package/dist/tools/update-status/done-receipt-verifier.js +158 -0
  818. package/dist/tools/update-status/evidence-gate.js +190 -3
  819. package/dist/tools/update-status/file-sync.d.ts +2 -1
  820. package/dist/tools/update-status/file-sync.js +80 -18
  821. package/dist/tools/update-status/gate-harness.d.ts +7 -0
  822. package/dist/tools/update-status/gate-harness.js +8 -0
  823. package/dist/tools/update-status/index.d.ts +2 -0
  824. package/dist/tools/update-status/index.js +307 -367
  825. package/dist/tools/update-status/qa-gate.d.ts +1 -1
  826. package/dist/tools/update-status/qa-gate.js +2 -2
  827. package/dist/tools/update-status/response-builder.js +3 -3
  828. package/dist/tools/update-status/side-effects.d.ts +2 -0
  829. package/dist/tools/update-status/side-effects.js +32 -39
  830. package/dist/tools/update-status/transition-guard.d.ts +4 -2
  831. package/dist/tools/update-status/transition-guard.js +89 -25
  832. package/dist/tools/update-status-actions.d.ts +4 -2
  833. package/dist/tools/update-status-actions.js +16 -14
  834. package/dist/tools/update-status-convention-gate.js +24 -23
  835. package/dist/tools/update-status-reconcile.js +2 -2
  836. package/dist/tools/usage-report.js +1 -16
  837. package/dist/tools/usage-stats.js +1 -18
  838. package/dist/tools/usage-tracking.d.ts +4 -0
  839. package/dist/tools/usage-tracking.js +20 -0
  840. package/dist/tools/validate-api-contract-handler.js +3 -3
  841. package/dist/tools/validate-lint.d.ts +1 -0
  842. package/dist/tools/validate-lint.js +21 -14
  843. package/dist/tools/validate.d.ts +4 -1
  844. package/dist/tools/validate.js +319 -31
  845. package/dist/transports/http-transport.js +87 -66
  846. package/dist/transports/mcp-types.d.ts +0 -2
  847. package/dist/transports/middleware/with-telemetry.js +3 -2
  848. package/dist/transports/session-context.js +1 -1
  849. package/dist/types/abortable-process.d.ts +2 -0
  850. package/dist/types/advanced-framework.js +0 -2
  851. package/dist/types/atomic-upgrade.d.ts +71 -0
  852. package/dist/types/atomic-upgrade.js +2 -0
  853. package/dist/types/cascade-hooks.d.ts +1 -1
  854. package/dist/types/ci.d.ts +0 -4
  855. package/dist/types/ci.js +0 -2
  856. package/dist/types/clarification-token.d.ts +1 -1
  857. package/dist/types/claude-code-runtime.d.ts +0 -27
  858. package/dist/types/commercial-migration.d.ts +17 -0
  859. package/dist/types/commercial-migration.js +2 -0
  860. package/dist/types/common/primitives.d.ts +0 -2
  861. package/dist/types/core-bridge.d.ts +81 -10
  862. package/dist/types/crash-shield-framework-rules.d.ts +24 -0
  863. package/dist/types/crash-shield-framework-rules.js +2 -0
  864. package/dist/types/dashboard.d.ts +3 -7
  865. package/dist/types/data-gc.d.ts +16 -0
  866. package/dist/types/deploy.js +0 -2
  867. package/dist/types/docs.d.ts +0 -1
  868. package/dist/types/durable-job.d.ts +78 -0
  869. package/dist/types/durable-job.js +2 -0
  870. package/dist/types/durable-validation.d.ts +158 -0
  871. package/dist/types/durable-validation.js +166 -0
  872. package/dist/types/errors/structured-error.d.ts +3 -3
  873. package/dist/types/estimation.d.ts +4 -0
  874. package/dist/types/evidence-gates.d.ts +17 -1
  875. package/dist/types/execution.d.ts +45 -0
  876. package/dist/types/gemini-integration.d.ts +0 -11
  877. package/dist/types/handoff-artifacts.d.ts +43 -0
  878. package/dist/types/hooks-advanced.d.ts +0 -13
  879. package/dist/types/impact-detection.d.ts +2 -2
  880. package/dist/types/index.d.ts +4 -6
  881. package/dist/types/index.js +3 -5
  882. package/dist/types/infrastructure.js +0 -2
  883. package/dist/types/kiro-integration.d.ts +0 -6
  884. package/dist/types/lifecycle.js +0 -2
  885. package/dist/types/migration/canonical-storage.d.ts +37 -0
  886. package/dist/types/migration/canonical-storage.js +2 -0
  887. package/dist/types/migration/index.d.ts +1 -1
  888. package/dist/types/native-worker.d.ts +48 -0
  889. package/dist/types/native-worker.js +2 -0
  890. package/dist/types/network-policy.d.ts +12 -0
  891. package/dist/types/network-policy.js +2 -0
  892. package/dist/types/oauth.js +0 -2
  893. package/dist/types/observability.d.ts +32 -0
  894. package/dist/types/outbox-worker.d.ts +35 -0
  895. package/dist/types/outbox-worker.js +11 -0
  896. package/dist/types/permissions-config.d.ts +0 -27
  897. package/dist/types/permissions-config.js +0 -2
  898. package/dist/types/plugin-install.d.ts +0 -11
  899. package/dist/types/plugin-install.js +0 -2
  900. package/dist/types/portal.d.ts +1 -0
  901. package/dist/types/product-public.d.ts +75 -0
  902. package/dist/types/product-public.js +2 -0
  903. package/dist/types/project/inputs.d.ts +2 -0
  904. package/dist/types/project/lint-scaffolder.d.ts +1 -1
  905. package/dist/types/project/mfe-detection.js +0 -2
  906. package/dist/types/project/platform-mobile.js +0 -2
  907. package/dist/types/project/platform-specialty.js +0 -2
  908. package/dist/types/project-knowledge-graph.d.ts +7 -0
  909. package/dist/types/runtime-database.d.ts +10 -0
  910. package/dist/types/runtime-database.js +2 -0
  911. package/dist/types/runtime-policy.d.ts +51 -0
  912. package/dist/types/runtime-policy.js +2 -0
  913. package/dist/types/safety.d.ts +4 -5
  914. package/dist/types/schema-registry.d.ts +12 -0
  915. package/dist/types/schema-registry.js +2 -0
  916. package/dist/types/security.d.ts +52 -0
  917. package/dist/types/session-safeguard.d.ts +0 -31
  918. package/dist/types/skill-registry.js +0 -2
  919. package/dist/types/spec/canonical-repair.d.ts +81 -0
  920. package/dist/types/spec/canonical-repair.js +2 -0
  921. package/dist/types/spec/core.d.ts +14 -0
  922. package/dist/types/spec/index.d.ts +1 -0
  923. package/dist/types/spec/index.js +1 -0
  924. package/dist/types/spec/inputs.d.ts +31 -0
  925. package/dist/types/spec-format.d.ts +24 -0
  926. package/dist/types/spec-lock-v2.d.ts +13 -7
  927. package/dist/types/spec-lock-v2.js +1 -1
  928. package/dist/types/spec-registry.js +0 -2
  929. package/dist/types/storage-bundle.d.ts +13 -0
  930. package/dist/types/storage-bundle.js +2 -0
  931. package/dist/types/storage-catalog.d.ts +18 -0
  932. package/dist/types/storage-catalog.js +2 -0
  933. package/dist/types/team-planner.js +0 -2
  934. package/dist/types/technology-registry.d.ts +35 -0
  935. package/dist/types/technology-registry.js +2 -0
  936. package/dist/types/technology-symbols.generated.d.ts +117 -0
  937. package/dist/types/technology-symbols.generated.js +2 -0
  938. package/dist/types/telemetry.d.ts +7 -4
  939. package/dist/types/transport.d.ts +2 -2
  940. package/dist/types/usage.d.ts +1 -36
  941. package/dist/types/usage.js +1 -1
  942. package/dist/types/validate-worker.d.ts +50 -0
  943. package/dist/types/validate-worker.js +2 -0
  944. package/dist/types/validation-evidence.d.ts +1 -1
  945. package/dist/types/validation-receipt.d.ts +104 -0
  946. package/dist/types/validation-receipt.js +2 -0
  947. package/dist/types/validation.d.ts +2 -2
  948. package/package.json +36 -21
  949. package/planu-native.json +1 -1
  950. package/planu-plugin.json +23 -40
  951. package/scripts/lib/pending-release-file.mjs +93 -0
  952. package/src/i18n/messages/en.json +0 -41
  953. package/src/i18n/messages/es.json +0 -41
  954. package/src/i18n/messages/pt.json +0 -41
  955. package/dist/cli/commands/activate.d.ts +0 -14
  956. package/dist/cli/commands/activate.js +0 -174
  957. package/dist/config/license-plans.json +0 -244
  958. package/dist/config/server-instructions.ts +0 -121
  959. package/dist/config/version-defaults.ts +0 -76
  960. package/dist/config/version.ts +0 -18
  961. package/dist/engine/ai-integration/gemini/settings-generator.d.ts +0 -4
  962. package/dist/engine/ai-integration/gemini/settings-generator.js +0 -195
  963. package/dist/engine/ai-integration/kiro/hooks-generator.d.ts +0 -6
  964. package/dist/engine/ai-integration/kiro/hooks-generator.js +0 -75
  965. package/dist/engine/hooks/full-spectrum-generator.d.ts +0 -32
  966. package/dist/engine/hooks/full-spectrum-generator.js +0 -117
  967. package/dist/engine/license-validator/config-loader.d.ts +0 -5
  968. package/dist/engine/license-validator/config-loader.js +0 -16
  969. package/dist/engine/license-validator/core.d.ts +0 -15
  970. package/dist/engine/license-validator/core.js +0 -151
  971. package/dist/engine/license-validator/fingerprint.d.ts +0 -3
  972. package/dist/engine/license-validator/fingerprint.js +0 -17
  973. package/dist/engine/license-validator/lemon-squeezy.d.ts +0 -5
  974. package/dist/engine/license-validator/lemon-squeezy.js +0 -55
  975. package/dist/engine/license-validator.d.ts +0 -5
  976. package/dist/engine/license-validator.js +0 -6
  977. package/dist/engine/product-intelligence/index.d.ts +0 -7
  978. package/dist/engine/product-intelligence/index.js +0 -211
  979. package/dist/engine/session/auto-save.d.ts +0 -18
  980. package/dist/engine/session/auto-save.js +0 -98
  981. package/dist/engine/session/context-snapshot.d.ts +0 -8
  982. package/dist/engine/session/context-snapshot.js +0 -49
  983. package/dist/engine/session/memory-sync.d.ts +0 -12
  984. package/dist/engine/session/memory-sync.js +0 -34
  985. package/dist/engine/session/session-diff.d.ts +0 -11
  986. package/dist/engine/session/session-diff.js +0 -42
  987. package/dist/engine/session/session-merge.d.ts +0 -12
  988. package/dist/engine/session/session-merge.js +0 -55
  989. package/dist/engine/session-safeguard/checkpoint-runner.d.ts +0 -4
  990. package/dist/engine/session-safeguard/checkpoint-runner.js +0 -70
  991. package/dist/engine/session-safeguard/learnings-buffer.d.ts +0 -16
  992. package/dist/engine/session-safeguard/learnings-buffer.js +0 -114
  993. package/dist/engine/session-safeguard/precompaction-drain.d.ts +0 -10
  994. package/dist/engine/session-safeguard/precompaction-drain.js +0 -82
  995. package/dist/engine/session-safeguard/unpushed-detector.d.ts +0 -7
  996. package/dist/engine/session-safeguard/unpushed-detector.js +0 -59
  997. package/dist/engine/spec-changelog/core.d.ts +0 -16
  998. package/dist/engine/spec-changelog/core.js +0 -176
  999. package/dist/engine/spec-changelog/diff.d.ts +0 -18
  1000. package/dist/engine/spec-changelog/diff.js +0 -121
  1001. package/dist/engine/spec-changelog/index.d.ts +0 -3
  1002. package/dist/engine/spec-changelog/index.js +0 -4
  1003. package/dist/engine/telemetry/geo-resolver.d.ts +0 -9
  1004. package/dist/engine/telemetry/geo-resolver.js +0 -43
  1005. package/dist/engine/trial-engine.d.ts +0 -5
  1006. package/dist/engine/trial-engine.js +0 -14
  1007. package/dist/engine/usage-tracker/rate-check.d.ts +0 -7
  1008. package/dist/engine/usage-tracker/rate-check.js +0 -18
  1009. package/dist/engine/usage-tracker/rate-limiter.d.ts +0 -14
  1010. package/dist/engine/usage-tracker/rate-limiter.js +0 -73
  1011. package/dist/engine/usage-tracker/trial.d.ts +0 -27
  1012. package/dist/engine/usage-tracker/trial.js +0 -49
  1013. package/dist/engine/webhook/event-handlers.d.ts +0 -25
  1014. package/dist/engine/webhook/event-handlers.js +0 -89
  1015. package/dist/engine/webhook/index.d.ts +0 -4
  1016. package/dist/engine/webhook/index.js +0 -5
  1017. package/dist/engine/webhook/server.d.ts +0 -12
  1018. package/dist/engine/webhook/server.js +0 -249
  1019. package/dist/engine/webhook/signature.d.ts +0 -16
  1020. package/dist/engine/webhook/signature.js +0 -49
  1021. package/dist/storage/data-dir-discovery.d.ts +0 -31
  1022. package/dist/storage/data-dir-discovery.js +0 -140
  1023. package/dist/storage/license-store.d.ts +0 -6
  1024. package/dist/storage/license-store.js +0 -91
  1025. package/dist/storage/migrations/cwd-to-absolute.d.ts +0 -25
  1026. package/dist/storage/migrations/cwd-to-absolute.js +0 -281
  1027. package/dist/storage/session-store.d.ts +0 -20
  1028. package/dist/storage/session-store.js +0 -128
  1029. package/dist/tools/activate-license.d.ts +0 -6
  1030. package/dist/tools/activate-license.js +0 -132
  1031. package/dist/tools/checkpoint-handler.d.ts +0 -3
  1032. package/dist/tools/checkpoint-handler.js +0 -130
  1033. package/dist/tools/create-spec/adapters/prior-decisions-hint.d.ts +0 -14
  1034. package/dist/tools/create-spec/adapters/prior-decisions-hint.js +0 -30
  1035. package/dist/tools/export-session.d.ts +0 -3
  1036. package/dist/tools/export-session.js +0 -90
  1037. package/dist/tools/init-project/ancestor-data-detector.d.ts +0 -22
  1038. package/dist/tools/init-project/ancestor-data-detector.js +0 -81
  1039. package/dist/tools/license-gate.d.ts +0 -18
  1040. package/dist/tools/license-gate.js +0 -222
  1041. package/dist/tools/license-status.d.ts +0 -3
  1042. package/dist/tools/license-status.js +0 -93
  1043. package/dist/tools/list-sessions.d.ts +0 -3
  1044. package/dist/tools/list-sessions.js +0 -46
  1045. package/dist/tools/planu-session-checkpoint.d.ts +0 -6
  1046. package/dist/tools/planu-session-checkpoint.js +0 -42
  1047. package/dist/tools/restore-session.d.ts +0 -3
  1048. package/dist/tools/restore-session.js +0 -71
  1049. package/dist/tools/spec-history.d.ts +0 -3
  1050. package/dist/tools/spec-history.js +0 -59
  1051. package/dist/tools/update-status/force-done-audit.d.ts +0 -2
  1052. package/dist/tools/update-status/force-done-audit.js +0 -23
  1053. package/dist/tools/webhook.d.ts +0 -6
  1054. package/dist/tools/webhook.js +0 -150
  1055. package/dist/types/changelog.d.ts +0 -49
  1056. package/dist/types/changelog.js +0 -3
  1057. package/dist/types/licensing.d.ts +0 -109
  1058. package/dist/types/licensing.js +0 -4
  1059. package/dist/types/migration/cwd-to-absolute.d.ts +0 -8
  1060. package/dist/types/migration/cwd-to-absolute.js +0 -3
  1061. package/dist/types/product-intelligence.d.ts +0 -60
  1062. package/dist/types/product-intelligence.js +0 -3
  1063. package/dist/types/session.d.ts +0 -84
  1064. package/dist/types/session.js +0 -3
  1065. package/dist/types/webhook.d.ts +0 -62
  1066. package/dist/types/webhook.js +0 -4
@@ -19,6 +19,7 @@ import { handleGenerateDiagram } from '../diagram-handler.js';
19
19
  import { handleCheckParallelSafety } from '../parallel-safety-handler.js';
20
20
  import { handleAnalyzePerformanceImpact } from '../performance-analysis-handler.js';
21
21
  import { handlePlanStatus } from '../status-handler.js';
22
+ import { handleSessionCheckpoint } from '../session-checkpoint.js';
22
23
  import { handleValidateWorkflow } from '../validate-workflow.js';
23
24
  import { handleTransformCode } from '../transform-code-handler.js';
24
25
  import { handleConfigureTelemetry } from '../configure-telemetry.js';
@@ -42,8 +43,154 @@ import { handleDogfoodWatch } from '../dogfood-watch.js';
42
43
  import { SecurityReportTimeRangeEnum, SecurityReportFormatEnum, } from '../schemas/runtime-security.js';
43
44
  import { RenderSpecForProviderInputSchema, handleRenderSpecForProvider, } from '../render-spec-for-provider.js';
44
45
  import { handleTriageRequest, TriageRequestInputSchema } from '../triage-request.js';
46
+ import { handleStoragePaths } from '../storage-paths-handler.js';
47
+ import { handleStorageExport, handleStorageImport } from '../storage-bundle-handler.js';
48
+ import { handleCancelJob, handleGetJob, handleRestartJob, handleWatchJob, } from '../jobs/handlers.js';
45
49
  // ── Registry ─────────────────────────────────────────────────────────────────
46
50
  const coreToolsRegistry = [
51
+ {
52
+ name: 'session_checkpoint',
53
+ description: 'Persist a compact, bounded session checkpoint to planu/session-context.md for the next session.',
54
+ schema: {
55
+ projectPath: z.string().trim().min(1).max(4096),
56
+ },
57
+ handler: handleSessionCheckpoint,
58
+ annotations: {
59
+ title: 'Session Checkpoint',
60
+ readOnlyHint: false,
61
+ destructiveHint: false,
62
+ },
63
+ wrap: 'safe',
64
+ group: 'core',
65
+ },
66
+ {
67
+ name: 'get_job',
68
+ description: 'Read the durable state and latest checkpoint or result for a local Planu job.',
69
+ schema: {
70
+ operationId: z.string().trim().min(1).max(128),
71
+ projectId: z.string().trim().min(1).max(128),
72
+ workspaceId: z.string().trim().min(1).max(128).optional(),
73
+ },
74
+ handler: handleGetJob,
75
+ annotations: {
76
+ title: 'Get Durable Job',
77
+ readOnlyHint: true,
78
+ destructiveHint: false,
79
+ openWorldHint: false,
80
+ },
81
+ wrap: 'safe',
82
+ group: 'infrastructure',
83
+ },
84
+ {
85
+ name: 'watch_job',
86
+ description: 'Wait up to 30 seconds for a durable Planu job to change or reach a terminal state.',
87
+ schema: {
88
+ operationId: z.string().trim().min(1).max(128),
89
+ projectId: z.string().trim().min(1).max(128),
90
+ workspaceId: z.string().trim().min(1).max(128).optional(),
91
+ afterCursor: z
92
+ .string()
93
+ .regex(/^[a-f0-9]{64}$/)
94
+ .optional(),
95
+ timeoutMs: z.number().int().min(0).max(30_000).optional(),
96
+ },
97
+ handler: handleWatchJob,
98
+ annotations: {
99
+ title: 'Watch Durable Job',
100
+ readOnlyHint: true,
101
+ destructiveHint: false,
102
+ openWorldHint: false,
103
+ },
104
+ wrap: 'safe',
105
+ group: 'infrastructure',
106
+ },
107
+ {
108
+ name: 'cancel_job',
109
+ description: 'Durably cancel a Planu job and fence any worker that still holds its former lease.',
110
+ schema: {
111
+ operationId: z.string().trim().min(1).max(128),
112
+ projectId: z.string().trim().min(1).max(128),
113
+ workspaceId: z.string().trim().min(1).max(128).optional(),
114
+ },
115
+ handler: handleCancelJob,
116
+ annotations: {
117
+ title: 'Cancel Durable Job',
118
+ readOnlyHint: false,
119
+ destructiveHint: true,
120
+ idempotentHint: true,
121
+ openWorldHint: false,
122
+ },
123
+ wrap: 'safe',
124
+ group: 'infrastructure',
125
+ },
126
+ {
127
+ name: 'restart_job',
128
+ description: 'Restart a cancelled or failed durable job and schedule its typed executor.',
129
+ schema: {
130
+ operationId: z.string().trim().min(1).max(128),
131
+ projectId: z.string().trim().min(1).max(128),
132
+ workspaceId: z.string().trim().min(1).max(128).optional(),
133
+ },
134
+ handler: handleRestartJob,
135
+ annotations: {
136
+ title: 'Restart Durable Job',
137
+ readOnlyHint: false,
138
+ destructiveHint: false,
139
+ idempotentHint: true,
140
+ openWorldHint: false,
141
+ },
142
+ wrap: 'safe',
143
+ group: 'infrastructure',
144
+ },
145
+ {
146
+ name: 'storage_paths',
147
+ description: 'Resolve the canonical local-first Planu storage catalog, including ownership, lifecycle, sensitivity, retention and portability for every registered artifact family.',
148
+ schema: {
149
+ projectPath: z.string().min(1).max(4096).optional(),
150
+ logicalProjectId: z.string().min(1).max(128).optional(),
151
+ workspaceKeyHash: z.string().min(1).max(128).optional(),
152
+ },
153
+ handler: (args) => Promise.resolve(handleStoragePaths(args)),
154
+ annotations: {
155
+ title: 'Planu Storage Paths',
156
+ readOnlyHint: true,
157
+ destructiveHint: false,
158
+ openWorldHint: false,
159
+ },
160
+ wrap: 'safe',
161
+ group: 'infrastructure',
162
+ },
163
+ {
164
+ name: 'storage_export',
165
+ description: 'Export a versioned, checksummed Planu runtime bundle with secret values redacted.',
166
+ schema: {
167
+ projectId: z.string().min(1).max(128),
168
+ outputPath: z.string().min(1).max(4096),
169
+ },
170
+ handler: handleStorageExport,
171
+ annotations: {
172
+ title: 'Export Planu Storage',
173
+ readOnlyHint: false,
174
+ destructiveHint: false,
175
+ openWorldHint: false,
176
+ },
177
+ wrap: 'safe',
178
+ group: 'infrastructure',
179
+ },
180
+ {
181
+ name: 'storage_import',
182
+ description: 'Verify and transactionally import a checksummed Planu runtime bundle.',
183
+ schema: { inputPath: z.string().min(1).max(4096) },
184
+ handler: handleStorageImport,
185
+ annotations: {
186
+ title: 'Import Planu Storage',
187
+ readOnlyHint: false,
188
+ destructiveHint: false,
189
+ openWorldHint: false,
190
+ },
191
+ wrap: 'safe',
192
+ group: 'infrastructure',
193
+ },
47
194
  // ── generate_batch_script (SPEC-253) ──────────────────────────────────────
48
195
  {
49
196
  name: 'generate_batch_script',
@@ -106,7 +253,7 @@ const coreToolsRegistry = [
106
253
  },
107
254
  handler: async (args) => handleGenerateDiagram(args),
108
255
  annotations: { readOnlyHint: true },
109
- wrap: 'licensed',
256
+ wrap: 'governed',
110
257
  group: 'analysis',
111
258
  },
112
259
  // ── check_parallel_safety (SPEC-373) ──────────────────────────────────────
@@ -123,7 +270,7 @@ const coreToolsRegistry = [
123
270
  },
124
271
  handler: (args) => Promise.resolve(handleCheckParallelSafety(args)),
125
272
  annotations: { title: 'Check Parallel Safety', readOnlyHint: true },
126
- wrap: 'licensed',
273
+ wrap: 'governed',
127
274
  group: 'analysis',
128
275
  },
129
276
  // ── analyze_performance_impact (SPEC-300) ─────────────────────────────────
@@ -145,7 +292,7 @@ const coreToolsRegistry = [
145
292
  },
146
293
  handler: async (args) => handleAnalyzePerformanceImpact(args),
147
294
  annotations: { readOnlyHint: true },
148
- wrap: 'licensed',
295
+ wrap: 'governed',
149
296
  group: 'analysis',
150
297
  },
151
298
  // ── planu_status (SPEC-223) ───────────────────────────────────────────────
@@ -198,7 +345,7 @@ const coreToolsRegistry = [
198
345
  },
199
346
  handler: async (args) => handleValidateWorkflow(args),
200
347
  annotations: { readOnlyHint: true },
201
- wrap: 'licensed',
348
+ wrap: 'governed',
202
349
  group: 'core',
203
350
  },
204
351
  // ── transform_code (SPEC-077) ─────────────────────────────────────────────
@@ -223,7 +370,7 @@ const coreToolsRegistry = [
223
370
  },
224
371
  handler: (args) => Promise.resolve(handleTransformCode(args)),
225
372
  annotations: { title: 'Transform Code', readOnlyHint: true },
226
- wrap: 'licensed',
373
+ wrap: 'governed',
227
374
  group: 'core',
228
375
  },
229
376
  // ── configure_telemetry (SPEC-200) ────────────────────────────────────────
@@ -272,7 +419,7 @@ const coreToolsRegistry = [
272
419
  },
273
420
  handler: async (args) => handleTelemetryHealth(args),
274
421
  annotations: { title: 'Telemetry Health', readOnlyHint: true },
275
- wrap: 'licensed',
422
+ wrap: 'governed',
276
423
  group: 'core',
277
424
  },
278
425
  // ── configure_observability (SPEC-165) ────────────────────────────────────
@@ -365,7 +512,7 @@ const coreToolsRegistry = [
365
512
  },
366
513
  handler: (args) => Promise.resolve(handleRecommendModel(args)),
367
514
  annotations: { title: 'Recommend Model', readOnlyHint: true },
368
- wrap: 'licensed',
515
+ wrap: 'governed',
369
516
  group: 'analysis',
370
517
  },
371
518
  // ── export_spec (SPEC-097) ────────────────────────────────────────────────
@@ -393,7 +540,7 @@ const coreToolsRegistry = [
393
540
  },
394
541
  handler: async (args) => handleExportSpec(args),
395
542
  annotations: { readOnlyHint: false },
396
- wrap: 'licensed',
543
+ wrap: 'governed',
397
544
  group: 'spec',
398
545
  },
399
546
  // ── decompose_spec (SPEC-157) ─────────────────────────────────────────────
@@ -425,7 +572,7 @@ const coreToolsRegistry = [
425
572
  },
426
573
  handler: async (args) => handleDecomposeSpec(args),
427
574
  annotations: { readOnlyHint: true },
428
- wrap: 'licensed',
575
+ wrap: 'governed',
429
576
  group: 'spec',
430
577
  },
431
578
  // ── facilitate (SPEC-037 + SPEC-264) ──────────────────────────────────────
@@ -557,7 +704,7 @@ const coreToolsRegistry = [
557
704
  },
558
705
  handler: async (args) => handleScanProject(args),
559
706
  annotations: { readOnlyHint: false },
560
- wrap: 'licensed',
707
+ wrap: 'governed',
561
708
  group: 'analysis',
562
709
  },
563
710
  // ── estimate_ai_cost (SPEC-069) ───────────────────────────────────────────
@@ -579,7 +726,7 @@ const coreToolsRegistry = [
579
726
  },
580
727
  handler: async (args) => handleEstimateAiCost(args),
581
728
  annotations: { title: 'Estimate AI Cost', readOnlyHint: true },
582
- wrap: 'licensed',
729
+ wrap: 'governed',
583
730
  group: 'analysis',
584
731
  },
585
732
  // ── heal_spec_docs (SPEC-493) ─────────────────────────────────────────────
@@ -607,7 +754,7 @@ const coreToolsRegistry = [
607
754
  readOnlyHint: false,
608
755
  destructiveHint: false,
609
756
  },
610
- wrap: 'licensed',
757
+ wrap: 'governed',
611
758
  group: 'spec',
612
759
  },
613
760
  // ── convert_to_bdd (SPEC-481) ─────────────────────────────────────────────
@@ -679,7 +826,7 @@ const coreToolsRegistry = [
679
826
  },
680
827
  handler: (args) => Promise.resolve(handleIdeConfig(args)),
681
828
  annotations: { title: 'Generate IDE Config' },
682
- wrap: 'licensed',
829
+ wrap: 'governed',
683
830
  group: 'core',
684
831
  },
685
832
  // ── living_reconcile_spec (SPEC-330) ──────────────────────────────────────
@@ -702,7 +849,7 @@ const coreToolsRegistry = [
702
849
  readOnlyHint: false,
703
850
  destructiveHint: false,
704
851
  },
705
- wrap: 'licensed',
852
+ wrap: 'governed',
706
853
  group: 'spec',
707
854
  },
708
855
  // ── security_report (SPEC-084) ────────────────────────────────────────────
@@ -716,7 +863,7 @@ const coreToolsRegistry = [
716
863
  },
717
864
  handler: (args) => Promise.resolve(handleSecurityReport(args)),
718
865
  annotations: { readOnlyHint: true },
719
- wrap: 'licensed',
866
+ wrap: 'governed',
720
867
  group: 'core',
721
868
  },
722
869
  // ── render_spec_for_provider (SPEC-670) ───────────────────────────────────
@@ -1,19 +1,8 @@
1
- // SPEC-597-EXEMPT: canonical mapping (npm-package↔framework, keyword catalogue)
2
- // — must enumerate framework names by design; no detection logic to migrate.
3
- /* eslint-disable max-lines, max-lines-per-function -- thematic registry group consolidated by SPEC refactor-phase3 (commit aafeea60); each block is a declarative tool registration ~20 lines, split would re-create the ~120 register-*.ts files this phase intentionally collapsed */
4
- // tools/tool-registry/group-infra.ts — Declarative registry: infrastructure & platform tools.
5
- //
6
- // Phase 2 (refactor/registry-phase2): consolidates register-*.ts files for:
7
- // webhook, dashboard, usage, license, auto-update, deploy, cross-repo-search, browser-validate,
8
- // workers, plugins, registry, skill-registry, tool-groups, rbac, workspace, memory-config,
9
- // onboarding, docs-registry, well-known
1
+ import { technologyValue } from '../../engine/technology-registry.js';
10
2
  import { z } from 'zod';
11
3
  // ── safe handlers ────────────────────────────────────────────────────────────
12
- import { safe, safeLicensed, safeTracked } from '../safe-handler.js';
13
- // ── License tools (register-license-tools.ts) ───────────────────────────────
14
- import { handleActivateLicense, handleDeactivateLicense } from '../activate-license.js';
15
- import { handleLicenseStatus } from '../license-status.js';
16
- import { LicenseStatusOutputSchema, SpecIdSchema } from '../schemas/index.js';
4
+ import { safe, safeGoverned, safeTracked } from '../safe-handler.js';
5
+ import { SpecIdSchema } from '../schemas/index.js';
17
6
  // ── OAuth tools (register-oauth-tools.ts / register-configure-oauth-tool.ts) ─
18
7
  import { handleStartOAuthFlow, handleOAuthStatus, StartOAuthFlowInputSchema, OAuthStatusInputSchema, } from '../oauth-handler.js';
19
8
  import { handleConfigureOAuth } from '../configure-oauth-handler.js';
@@ -21,8 +10,6 @@ import { handleConfigureOAuth } from '../configure-oauth-handler.js';
21
10
  import { handleUsageStats } from '../usage-stats.js';
22
11
  import { handleUsageReport } from '../usage-report.js';
23
12
  import { handleToolUsageReport } from '../tool-usage-report.js';
24
- // ── Webhook tools (register-webhook-tools.ts) ────────────────────────────────
25
- import { handleStartWebhook, handleStopWebhook, handleWebhookStatus } from '../webhook.js';
26
13
  // ── Outbound webhook tools (register-outbound-webhook-tools.ts) ──────────────
27
14
  import { handleConfigureWebhook, handleOutboundWebhookStatus, handleRemoveWebhook, } from '../outbound-webhook-handler.js';
28
15
  // ── Dashboard tools (register-dashboard-tools.ts) ────────────────────────────
@@ -89,59 +76,26 @@ const SUPPORTED_EVENTS = [
89
76
  'validate.failed',
90
77
  ];
91
78
  const deployProviderEnum = z
92
- .enum(['vercel', 'netlify', 'cloudflare-pages', 'fly', 'railway'])
79
+ .enum([
80
+ technologyValue('technology-vercel-9d3508'),
81
+ technologyValue('technology-netlify-58465a'),
82
+ 'cloudflare-pages',
83
+ technologyValue('technology-fly-f4debd'),
84
+ technologyValue('technology-railway-e34d1c'),
85
+ ])
93
86
  .describe('Deploy provider: vercel | netlify | cloudflare-pages | fly | railway');
94
87
  export function registerInfraGroupTools(server) {
95
- // ── License tools ──────────────────────────────────────────────────────────
96
- server.registerTool('activate_license', {
97
- description: 'Activate a Planu license key to unlock Pro/Team/Enterprise features. ' +
98
- 'Get your key at https://planu.dev/pricing.',
99
- inputSchema: {
100
- licenseKey: z
101
- .string()
102
- .max(500)
103
- .describe('License key from Lemon Squeezy (e.g. XXXXXXXX-XXXX-...)'),
104
- instanceName: z
105
- .string()
106
- .max(500)
107
- .optional()
108
- .describe('Optional name for this machine (defaults to hostname)'),
109
- },
110
- annotations: { title: 'Activate License', readOnlyHint: false },
111
- }, safe(async (args) => handleActivateLicense(args)));
112
- server.registerTool('deactivate_license', {
113
- description: 'Deactivate your Planu license on this machine. ' +
114
- 'Frees up the activation slot so you can use it elsewhere.',
115
- inputSchema: {
116
- confirm: z
117
- .boolean()
118
- .describe('Set to true to confirm deactivation. This reverts to the Free plan.'),
119
- },
120
- annotations: { title: 'Deactivate License', destructiveHint: true },
121
- }, safe(async (args) => handleDeactivateLicense(args)));
122
- server.registerTool('license_status', {
123
- description: 'Show your current Planu plan, limits, usage, and upgrade options.',
124
- inputSchema: {
125
- projectId: z
126
- .string()
127
- .max(500)
128
- .optional()
129
- .describe('Optional project ID to include project-specific usage'),
130
- },
131
- outputSchema: LicenseStatusOutputSchema,
132
- annotations: { title: 'License Status', readOnlyHint: true },
133
- }, safe(async (args) => handleLicenseStatus(args)));
134
88
  // ── OAuth tools ────────────────────────────────────────────────────────────
135
89
  server.registerTool('start_oauth_flow', {
136
90
  description: 'Start guided OAuth setup for supported integrations such as Figma, GitHub, Sentry, or Supabase.',
137
91
  inputSchema: StartOAuthFlowInputSchema,
138
92
  annotations: { title: 'Start OAuth Flow', readOnlyHint: false },
139
- }, safeLicensed('start_oauth_flow', async (args) => handleStartOAuthFlow(args)));
93
+ }, safeGoverned('start_oauth_flow', async (args) => handleStartOAuthFlow(args)));
140
94
  server.registerTool('oauth_status', {
141
95
  description: 'Show which OAuth-backed integrations are connected for this project.',
142
96
  inputSchema: OAuthStatusInputSchema,
143
97
  annotations: { title: 'OAuth Status', readOnlyHint: true },
144
- }, safeLicensed('oauth_status', async (args) => handleOAuthStatus(args)));
98
+ }, safeGoverned('oauth_status', async (args) => handleOAuthStatus(args)));
145
99
  server.registerTool('configure_oauth', {
146
100
  description: 'Inspect Planu MCP OAuth/API-key auth status or test a bearer token without exposing secrets.',
147
101
  inputSchema: {
@@ -152,7 +106,7 @@ export function registerInfraGroupTools(server) {
152
106
  }, safe(async (args) => handleConfigureOAuth(args)));
153
107
  // ── Usage tools ────────────────────────────────────────────────────────────
154
108
  server.registerTool('usage_stats', {
155
- description: 'View your Planu usage statistics — tool calls, top tools, remaining daily calls. ' +
109
+ description: 'View your Planu usage statistics — tool calls, top tools, and execution health. ' +
156
110
  'Helps you understand how much of your plan you are using. ' +
157
111
  'For the last 30 days with no parameters prefer resource: planu://usage/stats.',
158
112
  inputSchema: {
@@ -195,45 +149,6 @@ export function registerInfraGroupTools(server) {
195
149
  },
196
150
  annotations: { title: 'Tool Usage Report', readOnlyHint: true },
197
151
  }, safe(async (args) => handleToolUsageReport(args)));
198
- // ── Webhook tools (inbound) ────────────────────────────────────────────────
199
- server.registerTool('start_webhook', {
200
- description: 'Start a local HTTP server to receive Lemon Squeezy webhook events. ' +
201
- 'Configure the server URL in your Lemon Squeezy dashboard under Settings > Webhooks.',
202
- inputSchema: {
203
- port: z
204
- .number()
205
- .int()
206
- .min(1)
207
- .max(65535)
208
- .optional()
209
- .describe('Port to listen on (default: 2358)'),
210
- secret: z
211
- .string()
212
- .optional()
213
- .describe('Webhook secret from Lemon Squeezy dashboard for HMAC-SHA256 signature validation'),
214
- },
215
- annotations: { title: 'Start Webhook Server', readOnlyHint: false },
216
- }, safe((args) => handleStartWebhook(args)));
217
- server.registerTool('stop_webhook', {
218
- description: 'Stop the running Lemon Squeezy webhook server.',
219
- inputSchema: {
220
- force: z
221
- .boolean()
222
- .optional()
223
- .describe('Force stop even if events are being processed (default: false)'),
224
- },
225
- annotations: { title: 'Stop Webhook Server', destructiveHint: false },
226
- }, safe((args) => handleStopWebhook(args)));
227
- server.registerTool('webhook_status', {
228
- description: 'Show whether the webhook server is running and display recently received events.',
229
- inputSchema: {
230
- includeEvents: z
231
- .boolean()
232
- .optional()
233
- .describe('Include recent event log in the output (default: true)'),
234
- },
235
- annotations: { title: 'Webhook Status', readOnlyHint: true },
236
- }, safe((args) => Promise.resolve(handleWebhookStatus(args))));
237
152
  // ── Outbound webhook tools ─────────────────────────────────────────────────
238
153
  server.registerTool('configure_webhook', {
239
154
  description: 'Register an outbound webhook endpoint to receive Planu spec lifecycle events. ' +
@@ -329,8 +244,8 @@ export function registerInfraGroupTools(server) {
329
244
  annotations: { readOnlyHint: true },
330
245
  }, safe(async (_args) => handleCheckUpdateStatus()));
331
246
  server.registerTool('enable_auto_update', {
332
- description: 'Enable automatic updates for Planu by switching the MCP config to use ' +
333
- '"npx -y @planu/cli@latest". Detects the config file automatically (~/.claude.json or ' +
247
+ description: 'Resolve the newest verified Planu release and pin the MCP config to its exact version. ' +
248
+ 'Detects the config file automatically (~/.claude.json or ' +
334
249
  'Claude Desktop config). Creates a backup before any modification. ' +
335
250
  'Call with confirm=false (default) to preview the change; confirm=true to apply it.',
336
251
  inputSchema: {
@@ -366,7 +281,7 @@ export function registerInfraGroupTools(server) {
366
281
  .describe('Set to true to apply the pin immediately. Defaults to false (preview only).'),
367
282
  },
368
283
  annotations: { readOnlyHint: false, destructiveHint: false },
369
- }, safeLicensed('pin_version', async (args) => handlePinVersion(args)));
284
+ }, safeGoverned('pin_version', async (args) => handlePinVersion(args)));
370
285
  // ── Deploy tools ────────────────────────────────────────────────────────────
371
286
  server.registerTool('configure_deploy_target', {
372
287
  description: 'Save credentials for a deploy provider (Vercel, Netlify, etc.). Stores the API token in data/{projectId}/deploy-config.json. Required before deploy_spec.',
@@ -472,7 +387,7 @@ export function registerInfraGroupTools(server) {
472
387
  .describe('Maximum results to return across all projects (default 50)'),
473
388
  },
474
389
  annotations: { title: 'Search All Projects', readOnlyHint: true },
475
- }, safeLicensed('search_all_projects', async (args) => handleSearchAllProjects(args)));
390
+ }, safeGoverned('search_all_projects', async (args) => handleSearchAllProjects(args)));
476
391
  // ── Browser validate tools ─────────────────────────────────────────────────
477
392
  server.registerTool('validate_browser', {
478
393
  description: 'Extract UI-testable assertions from a spec and run them against a live URL using Playwright. ' +
@@ -518,7 +433,7 @@ export function registerInfraGroupTools(server) {
518
433
  value: ConfigureWorkersInputSchema.shape.value,
519
434
  },
520
435
  annotations: { title: 'Configure Workers', readOnlyHint: false },
521
- }, safeLicensed('configure_workers', (args) => handleConfigureWorkers(args)));
436
+ }, safeGoverned('configure_workers', (args) => handleConfigureWorkers(args)));
522
437
  // ── Plugin tools ───────────────────────────────────────────────────────────
523
438
  server.registerTool('manage_plugins', {
524
439
  description: 'Manage Planu plugin lifecycle: search, list, activate, deactivate, uninstall, info. ' +
@@ -530,7 +445,7 @@ export function registerInfraGroupTools(server) {
530
445
  readOnlyHint: false,
531
446
  destructiveHint: false,
532
447
  },
533
- }, safeLicensed('manage_plugins', async (args) => handleManagePlugins(args)));
448
+ }, safeGoverned('manage_plugins', async (args) => handleManagePlugins(args)));
534
449
  server.registerTool('scaffold_plugin', {
535
450
  description: 'Generate a starter plugin project with manifest, entry point, tests, and examples. ' +
536
451
  'The scaffold includes TypeScript config and example extensions for the selected types.',
@@ -539,7 +454,7 @@ export function registerInfraGroupTools(server) {
539
454
  title: 'Scaffold Plugin',
540
455
  readOnlyHint: false,
541
456
  },
542
- }, safeLicensed('scaffold_plugin', async (args) => handleScaffoldPlugin(args)));
457
+ }, safeGoverned('scaffold_plugin', async (args) => handleScaffoldPlugin(args)));
543
458
  // ── Token optimizer tools ──────────────────────────────────────────────────
544
459
  server.registerTool('suggest_token_optimizer', {
545
460
  description: 'Detect whether RTK (Response Token Killer) or Headroom are configured in the project. ' +
@@ -548,7 +463,7 @@ export function registerInfraGroupTools(server) {
548
463
  inputSchema: {
549
464
  projectPath: z.string().describe('Absolute path to the project root directory'),
550
465
  },
551
- }, safeLicensed('suggest_token_optimizer', async (args) => handleSuggestTokenOptimizer(args)));
466
+ }, safeGoverned('suggest_token_optimizer', async (args) => handleSuggestTokenOptimizer(args)));
552
467
  server.registerTool('token_optimizer_status', {
553
468
  description: 'Returns the installation status of RTK and Headroom token optimization tools. ' +
554
469
  'Includes version info and number of configured PreToolUse hooks.',
@@ -556,7 +471,7 @@ export function registerInfraGroupTools(server) {
556
471
  inputSchema: {
557
472
  projectPath: z.string().describe('Absolute path to the project root directory'),
558
473
  },
559
- }, safeLicensed('token_optimizer_status', async (args) => handleTokenOptimizerStatus(args)));
474
+ }, safeGoverned('token_optimizer_status', async (args) => handleTokenOptimizerStatus(args)));
560
475
  // ── RBAC tools ─────────────────────────────────────────────────────────────
561
476
  server.registerTool('configure_roles', {
562
477
  description: 'Enable or disable Role-Based Access Control (RBAC) for a project. ' +
@@ -568,7 +483,7 @@ export function registerInfraGroupTools(server) {
568
483
  enabled: ConfigureRolesInputSchema.shape.enabled,
569
484
  },
570
485
  annotations: { title: 'Configure Roles (RBAC)', readOnlyHint: false },
571
- }, safeLicensed('configure_roles', (args) => handleConfigureRoles(args)));
486
+ }, safeGoverned('configure_roles', (args) => handleConfigureRoles(args)));
572
487
  server.registerTool('assign_role', {
573
488
  description: 'Assign a role to a user for a project or a specific spec. ' +
574
489
  'Roles: Admin (full access), Architect (create/approve/configure), ' +
@@ -583,7 +498,7 @@ export function registerInfraGroupTools(server) {
583
498
  assignedBy: AssignRoleInputSchema.shape.assignedBy,
584
499
  },
585
500
  annotations: { title: 'Assign Role', readOnlyHint: false },
586
- }, safeLicensed('assign_role', (args) => handleAssignRole(args)));
501
+ }, safeGoverned('assign_role', (args) => handleAssignRole(args)));
587
502
  // ── Framework registry tools ───────────────────────────────────────────────
588
503
  server.registerTool('check_spec_accuracy', {
589
504
  description: 'Validate spec content (spec.md text or acceptance criteria) against the framework registry ' +
@@ -786,7 +701,7 @@ export function registerInfraGroupTools(server) {
786
701
  .describe('Also audit ~/.claude/ global config (default: true)'),
787
702
  },
788
703
  annotations: { readOnlyHint: true },
789
- }, safeLicensed('audit_claude_config', async (args) => handleAuditClaudeConfig(args)));
704
+ }, safeGoverned('audit_claude_config', async (args) => handleAuditClaudeConfig(args)));
790
705
  server.registerTool('generate_docs_site', {
791
706
  description: 'Generate a static HTML documentation site from project specs, tools catalog, architecture diagrams, and metrics. ' +
792
707
  'Produces a navigable portal with dashboard, spec pages, tools catalog, Mermaid diagrams, and search.',
@@ -799,7 +714,7 @@ export function registerInfraGroupTools(server) {
799
714
  .describe('Site title (default: "Planu Documentation")'),
800
715
  },
801
716
  annotations: { readOnlyHint: false },
802
- }, safeLicensed('generate_docs_site', async (args) => handleGenerateDocsSite(args)));
717
+ }, safeGoverned('generate_docs_site', async (args) => handleGenerateDocsSite(args)));
803
718
  // ── Memory config tools ────────────────────────────────────────────────────
804
719
  server.registerTool('configure_memory', {
805
720
  description: 'Configure persistent AI memory for your project using OpenMemory (local) or Mem0 Cloud. ' +
@@ -820,7 +735,7 @@ export function registerInfraGroupTools(server) {
820
735
  .optional()
821
736
  .describe('Mem0 API key — required for setup-mem0-cloud action. Get from https://app.mem0.ai'),
822
737
  },
823
- }, safeLicensed('configure_memory', async (args) => handleConfigureMemory(args)));
738
+ }, safeGoverned('configure_memory', async (args) => handleConfigureMemory(args)));
824
739
  server.registerTool('memory_status', {
825
740
  description: 'Returns the current AI memory configuration status. ' +
826
741
  'Shows which provider is configured (none, openmemory, mem0-cloud) and the config file path.',
@@ -828,7 +743,7 @@ export function registerInfraGroupTools(server) {
828
743
  inputSchema: {
829
744
  projectPath: z.string().describe('Absolute path to the project root directory'),
830
745
  },
831
- }, safeLicensed('memory_status', async (args) => handleMemoryStatus(args)));
746
+ }, safeGoverned('memory_status', async (args) => handleMemoryStatus(args)));
832
747
  // ── Code graph tools ──────────────────────────────────────────────────────
833
748
  server.registerTool('configure_code_graph', {
834
749
  description: 'Configure a local code graph MCP provider for the project. Supports Colby CodeGraph, CodeGraphContext, Pathfinder, and Axon. Writes the provider entry to .claude.json.',
@@ -845,14 +760,14 @@ export function registerInfraGroupTools(server) {
845
760
  ])
846
761
  .describe('setup-colby-codegraph: configure @colbymchenry/codegraph | setup-codegraph-context: configure CodeGraphContext | setup-pathfinder: configure Pathfinder | setup-axon: configure Axon | status: show current provider status'),
847
762
  },
848
- }, safeLicensed('configure_code_graph', async (args) => handleConfigureCodeGraph(args)));
763
+ }, safeGoverned('configure_code_graph', async (args) => handleConfigureCodeGraph(args)));
849
764
  server.registerTool('code_graph_status', {
850
765
  description: 'Returns the current code graph MCP provider status from .claude.json, including the active provider if one is configured.',
851
766
  annotations: { title: 'Code Graph Status', readOnlyHint: true },
852
767
  inputSchema: {
853
768
  projectPath: z.string().min(1).max(4096).describe('Absolute path to the project root'),
854
769
  },
855
- }, safeLicensed('code_graph_status', async (args) => handleCodeGraphStatus(args)));
770
+ }, safeGoverned('code_graph_status', async (args) => handleCodeGraphStatus(args)));
856
771
  // ── Onboarding tools ───────────────────────────────────────────────────────
857
772
  server.registerTool('start_onboarding', {
858
773
  description: 'Start interactive onboarding for a new project. Generates personalized recommendations based on your role, project type, and team size. Returns a markdown guide with next steps.',
@@ -867,7 +782,7 @@ export function registerInfraGroupTools(server) {
867
782
  teamSize: z.enum(['1', '2-5', '6-20', '20+']).describe('Team size: 1, 2-5, 6-20, 20+'),
868
783
  },
869
784
  annotations: { readOnlyHint: false },
870
- }, safeLicensed('start_onboarding', async (args) => handleStartOnboarding(args)));
785
+ }, safeGoverned('start_onboarding', async (args) => handleStartOnboarding(args)));
871
786
  server.registerTool('guided_tour', {
872
787
  description: 'Get a step-by-step guided tour of a Planu feature area. Returns markdown with numbered steps, examples, and tool hints.',
873
788
  inputSchema: {
@@ -883,14 +798,14 @@ export function registerInfraGroupTools(server) {
883
798
  .describe('Tour area: spec-lifecycle, team-collaboration, integrations, ai-tools, security, reporting'),
884
799
  },
885
800
  annotations: { readOnlyHint: true },
886
- }, safeLicensed('guided_tour', async (args) => handleGuidedTour(args)));
801
+ }, safeGoverned('guided_tour', async (args) => handleGuidedTour(args)));
887
802
  server.registerTool('onboarding_checklist', {
888
803
  description: 'Check what onboarding steps are complete for a project. Verifies planu.json, CLAUDE.md, specs, rules, and skills. Returns a checklist with progress percentage.',
889
804
  inputSchema: {
890
805
  projectPath: z.string().min(1).max(4096).describe('Absolute path to the project root'),
891
806
  },
892
807
  annotations: { readOnlyHint: true },
893
- }, safeLicensed('onboarding_checklist', async (args) => handleOnboardingChecklist(args)));
808
+ }, safeGoverned('onboarding_checklist', async (args) => handleOnboardingChecklist(args)));
894
809
  server.registerTool('quick_start', {
895
810
  description: 'Get a quick start guide for a common project archetype. Returns a markdown guide with copy-paste commands.',
896
811
  inputSchema: {
@@ -905,14 +820,14 @@ export function registerInfraGroupTools(server) {
905
820
  .describe('Optional project path to personalize the guide'),
906
821
  },
907
822
  annotations: { readOnlyHint: true },
908
- }, safeLicensed('quick_start', async (args) => handleQuickStart(args)));
823
+ }, safeGoverned('quick_start', async (args) => handleQuickStart(args)));
909
824
  server.registerTool('onboarding_progress', {
910
825
  description: 'View onboarding progress for a project. Shows setup checklist, profile, and next recommended steps.',
911
826
  inputSchema: {
912
827
  projectPath: z.string().min(1).max(4096).describe('Absolute path to the project root'),
913
828
  },
914
829
  annotations: { readOnlyHint: true },
915
- }, safeLicensed('onboarding_progress', async (args) => handleOnboardingProgress(args)));
830
+ }, safeGoverned('onboarding_progress', async (args) => handleOnboardingProgress(args)));
916
831
  // ── Docs registry tools ────────────────────────────────────────────────────
917
832
  server.registerTool('validate_docs_registry', {
918
833
  description: 'Check all entries in the built-in docs-registry.json for broken or slow links. ' +
@@ -925,7 +840,7 @@ export function registerInfraGroupTools(server) {
925
840
  .describe('Absolute path to the project root (used for context only).'),
926
841
  },
927
842
  annotations: { readOnlyHint: true },
928
- }, safeLicensed('validate_docs_registry', async (args) => {
843
+ }, safeGoverned('validate_docs_registry', async (args) => {
929
844
  return handleValidateDocsRegistry(args);
930
845
  }));
931
846
  server.registerTool('discover_docs_url', {
@@ -940,7 +855,7 @@ export function registerInfraGroupTools(server) {
940
855
  .describe('Package or library name to look up (e.g. "axios", "requests", "tokio").'),
941
856
  },
942
857
  annotations: { readOnlyHint: true },
943
- }, safeLicensed('discover_docs_url', async (args) => {
858
+ }, safeGoverned('discover_docs_url', async (args) => {
944
859
  return handleDiscoverDocsUrl(args);
945
860
  }));
946
861
  // ── GC tools ───────────────────────────────────────────────────────────────