@shrkcrft/inspector 0.1.0-alpha.2

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 (705) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/acceptance-replay.d.ts +63 -0
  4. package/dist/acceptance-replay.d.ts.map +1 -0
  5. package/dist/acceptance-replay.js +240 -0
  6. package/dist/action-hint-diagnostics.d.ts +32 -0
  7. package/dist/action-hint-diagnostics.d.ts.map +1 -0
  8. package/dist/action-hint-diagnostics.js +133 -0
  9. package/dist/adoption-check.d.ts +28 -0
  10. package/dist/adoption-check.d.ts.map +1 -0
  11. package/dist/adoption-check.js +181 -0
  12. package/dist/adoption-checkpoint.d.ts +97 -0
  13. package/dist/adoption-checkpoint.d.ts.map +1 -0
  14. package/dist/adoption-checkpoint.js +209 -0
  15. package/dist/adoption-merge-preview.d.ts +28 -0
  16. package/dist/adoption-merge-preview.d.ts.map +1 -0
  17. package/dist/adoption-merge-preview.js +254 -0
  18. package/dist/adoption-report-renderer.d.ts +33 -0
  19. package/dist/adoption-report-renderer.d.ts.map +1 -0
  20. package/dist/adoption-report-renderer.js +257 -0
  21. package/dist/adoption-state.d.ts +100 -0
  22. package/dist/adoption-state.d.ts.map +1 -0
  23. package/dist/adoption-state.js +296 -0
  24. package/dist/adoption-three-way.d.ts +46 -0
  25. package/dist/adoption-three-way.d.ts.map +1 -0
  26. package/dist/adoption-three-way.js +181 -0
  27. package/dist/agent-brief.d.ts +77 -0
  28. package/dist/agent-brief.d.ts.map +1 -0
  29. package/dist/agent-brief.js +490 -0
  30. package/dist/agent-contract-gate.d.ts +108 -0
  31. package/dist/agent-contract-gate.d.ts.map +1 -0
  32. package/dist/agent-contract-gate.js +412 -0
  33. package/dist/agent-contract-templates.d.ts +63 -0
  34. package/dist/agent-contract-templates.d.ts.map +1 -0
  35. package/dist/agent-contract-templates.js +346 -0
  36. package/dist/agent-contract.d.ts +65 -0
  37. package/dist/agent-contract.d.ts.map +1 -0
  38. package/dist/agent-contract.js +555 -0
  39. package/dist/agent-handoff.d.ts +123 -0
  40. package/dist/agent-handoff.d.ts.map +1 -0
  41. package/dist/agent-handoff.js +470 -0
  42. package/dist/agent-instructions.d.ts +2 -0
  43. package/dist/agent-instructions.d.ts.map +1 -0
  44. package/dist/agent-instructions.js +21 -0
  45. package/dist/agent-orchestration.d.ts +61 -0
  46. package/dist/agent-orchestration.d.ts.map +1 -0
  47. package/dist/agent-orchestration.js +285 -0
  48. package/dist/agent-task-prep.d.ts +31 -0
  49. package/dist/agent-task-prep.d.ts.map +1 -0
  50. package/dist/agent-task-prep.js +73 -0
  51. package/dist/ai-readiness.d.ts +30 -0
  52. package/dist/ai-readiness.d.ts.map +1 -0
  53. package/dist/ai-readiness.js +279 -0
  54. package/dist/api-report.d.ts +51 -0
  55. package/dist/api-report.d.ts.map +1 -0
  56. package/dist/api-report.js +254 -0
  57. package/dist/apply-dispatch-trace.d.ts +93 -0
  58. package/dist/apply-dispatch-trace.d.ts.map +1 -0
  59. package/dist/apply-dispatch-trace.js +283 -0
  60. package/dist/apply-gate-result.d.ts +52 -0
  61. package/dist/apply-gate-result.d.ts.map +1 -0
  62. package/dist/apply-gate-result.js +44 -0
  63. package/dist/architecture-map.d.ts +118 -0
  64. package/dist/architecture-map.d.ts.map +1 -0
  65. package/dist/architecture-map.js +543 -0
  66. package/dist/area-explore.d.ts +75 -0
  67. package/dist/area-explore.d.ts.map +1 -0
  68. package/dist/area-explore.js +438 -0
  69. package/dist/area-map.d.ts +43 -0
  70. package/dist/area-map.d.ts.map +1 -0
  71. package/dist/area-map.js +197 -0
  72. package/dist/asset-provenance.d.ts +123 -0
  73. package/dist/asset-provenance.d.ts.map +1 -0
  74. package/dist/asset-provenance.js +209 -0
  75. package/dist/barrel-operations.d.ts +45 -0
  76. package/dist/barrel-operations.d.ts.map +1 -0
  77. package/dist/barrel-operations.js +159 -0
  78. package/dist/boundaries-changed-only.d.ts +62 -0
  79. package/dist/boundaries-changed-only.d.ts.map +1 -0
  80. package/dist/boundaries-changed-only.js +97 -0
  81. package/dist/boundary-suggestions.d.ts +20 -0
  82. package/dist/boundary-suggestions.d.ts.map +1 -0
  83. package/dist/boundary-suggestions.js +51 -0
  84. package/dist/bundle-diff.d.ts +98 -0
  85. package/dist/bundle-diff.d.ts.map +1 -0
  86. package/dist/bundle-diff.js +531 -0
  87. package/dist/bundle-replay.d.ts +68 -0
  88. package/dist/bundle-replay.d.ts.map +1 -0
  89. package/dist/bundle-replay.js +273 -0
  90. package/dist/bundle-validate-html.d.ts +11 -0
  91. package/dist/bundle-validate-html.d.ts.map +1 -0
  92. package/dist/bundle-validate-html.js +60 -0
  93. package/dist/change-intent.d.ts +36 -0
  94. package/dist/change-intent.d.ts.map +1 -0
  95. package/dist/change-intent.js +259 -0
  96. package/dist/changed-preflight.d.ts +59 -0
  97. package/dist/changed-preflight.d.ts.map +1 -0
  98. package/dist/changed-preflight.js +358 -0
  99. package/dist/changed-scope.d.ts +112 -0
  100. package/dist/changed-scope.d.ts.map +1 -0
  101. package/dist/changed-scope.js +172 -0
  102. package/dist/changes-summary.d.ts +87 -0
  103. package/dist/changes-summary.d.ts.map +1 -0
  104. package/dist/changes-summary.js +323 -0
  105. package/dist/check-result-v1.d.ts +90 -0
  106. package/dist/check-result-v1.d.ts.map +1 -0
  107. package/dist/check-result-v1.js +335 -0
  108. package/dist/ci-integrity-report.d.ts +38 -0
  109. package/dist/ci-integrity-report.d.ts.map +1 -0
  110. package/dist/ci-integrity-report.js +324 -0
  111. package/dist/ci-permissions-fix.d.ts +38 -0
  112. package/dist/ci-permissions-fix.d.ts.map +1 -0
  113. package/dist/ci-permissions-fix.js +201 -0
  114. package/dist/ci-permissions.d.ts +51 -0
  115. package/dist/ci-permissions.d.ts.map +1 -0
  116. package/dist/ci-permissions.js +431 -0
  117. package/dist/ci-predict.d.ts +42 -0
  118. package/dist/ci-predict.d.ts.map +1 -0
  119. package/dist/ci-predict.js +300 -0
  120. package/dist/ci-scaffold.d.ts +47 -0
  121. package/dist/ci-scaffold.d.ts.map +1 -0
  122. package/dist/ci-scaffold.js +638 -0
  123. package/dist/codemod-assist.d.ts +97 -0
  124. package/dist/codemod-assist.d.ts.map +1 -0
  125. package/dist/codemod-assist.js +261 -0
  126. package/dist/command-recommender.d.ts +25 -0
  127. package/dist/command-recommender.d.ts.map +1 -0
  128. package/dist/command-recommender.js +145 -0
  129. package/dist/command-suggester.d.ts +61 -0
  130. package/dist/command-suggester.d.ts.map +1 -0
  131. package/dist/command-suggester.js +159 -0
  132. package/dist/command-taxonomy.d.ts +38 -0
  133. package/dist/command-taxonomy.d.ts.map +1 -0
  134. package/dist/command-taxonomy.js +164 -0
  135. package/dist/compliance-evidence.d.ts +58 -0
  136. package/dist/compliance-evidence.d.ts.map +1 -0
  137. package/dist/compliance-evidence.js +260 -0
  138. package/dist/compliance-profiles.d.ts +42 -0
  139. package/dist/compliance-profiles.d.ts.map +1 -0
  140. package/dist/compliance-profiles.js +171 -0
  141. package/dist/construct-adoption-diff.d.ts +55 -0
  142. package/dist/construct-adoption-diff.d.ts.map +1 -0
  143. package/dist/construct-adoption-diff.js +331 -0
  144. package/dist/construct-adoption.d.ts +71 -0
  145. package/dist/construct-adoption.d.ts.map +1 -0
  146. package/dist/construct-adoption.js +331 -0
  147. package/dist/construct-inference.d.ts +44 -0
  148. package/dist/construct-inference.d.ts.map +1 -0
  149. package/dist/construct-inference.js +391 -0
  150. package/dist/construct-registry.d.ts +32 -0
  151. package/dist/construct-registry.d.ts.map +1 -0
  152. package/dist/construct-registry.js +198 -0
  153. package/dist/contract-file-rule.d.ts +37 -0
  154. package/dist/contract-file-rule.d.ts.map +1 -0
  155. package/dist/contract-file-rule.js +99 -0
  156. package/dist/contract-template-registry.d.ts +28 -0
  157. package/dist/contract-template-registry.d.ts.map +1 -0
  158. package/dist/contract-template-registry.js +161 -0
  159. package/dist/contradictions.d.ts +52 -0
  160. package/dist/contradictions.d.ts.map +1 -0
  161. package/dist/contradictions.js +391 -0
  162. package/dist/convention-registry.d.ts +44 -0
  163. package/dist/convention-registry.d.ts.map +1 -0
  164. package/dist/convention-registry.js +195 -0
  165. package/dist/coverage-report.d.ts +25 -0
  166. package/dist/coverage-report.d.ts.map +1 -0
  167. package/dist/coverage-report.js +190 -0
  168. package/dist/custom-checks.d.ts +146 -0
  169. package/dist/custom-checks.d.ts.map +1 -0
  170. package/dist/custom-checks.js +260 -0
  171. package/dist/dashboard/dashboard-data.d.ts +59 -0
  172. package/dist/dashboard/dashboard-data.d.ts.map +1 -0
  173. package/dist/dashboard/dashboard-data.js +653 -0
  174. package/dist/dashboard-export.d.ts +67 -0
  175. package/dist/dashboard-export.d.ts.map +1 -0
  176. package/dist/dashboard-export.js +203 -0
  177. package/dist/decision-records.d.ts +47 -0
  178. package/dist/decision-records.d.ts.map +1 -0
  179. package/dist/decision-records.js +255 -0
  180. package/dist/demo-package.d.ts +49 -0
  181. package/dist/demo-package.d.ts.map +1 -0
  182. package/dist/demo-package.js +305 -0
  183. package/dist/demo-script.d.ts +25 -0
  184. package/dist/demo-script.d.ts.map +1 -0
  185. package/dist/demo-script.js +198 -0
  186. package/dist/demo-workflow.d.ts +28 -0
  187. package/dist/demo-workflow.d.ts.map +1 -0
  188. package/dist/demo-workflow.js +178 -0
  189. package/dist/dev-cycle.d.ts +41 -0
  190. package/dist/dev-cycle.d.ts.map +1 -0
  191. package/dist/dev-cycle.js +94 -0
  192. package/dist/dev-session-html.d.ts +13 -0
  193. package/dist/dev-session-html.d.ts.map +1 -0
  194. package/dist/dev-session-html.js +223 -0
  195. package/dist/dev-session-report.d.ts +11 -0
  196. package/dist/dev-session-report.d.ts.map +1 -0
  197. package/dist/dev-session-report.js +206 -0
  198. package/dist/dev-session.d.ts +257 -0
  199. package/dist/dev-session.d.ts.map +1 -0
  200. package/dist/dev-session.js +568 -0
  201. package/dist/diagnostics-suggest.d.ts +17 -0
  202. package/dist/diagnostics-suggest.d.ts.map +1 -0
  203. package/dist/diagnostics-suggest.js +69 -0
  204. package/dist/docs-check.d.ts +40 -0
  205. package/dist/docs-check.d.ts.map +1 -0
  206. package/dist/docs-check.js +221 -0
  207. package/dist/doctor-acknowledgements.d.ts +69 -0
  208. package/dist/doctor-acknowledgements.d.ts.map +1 -0
  209. package/dist/doctor-acknowledgements.js +150 -0
  210. package/dist/doctor-result.d.ts +51 -0
  211. package/dist/doctor-result.d.ts.map +1 -0
  212. package/dist/doctor-result.js +7 -0
  213. package/dist/doctor-suppressions.d.ts +91 -0
  214. package/dist/doctor-suppressions.d.ts.map +1 -0
  215. package/dist/doctor-suppressions.js +238 -0
  216. package/dist/drift-baseline.d.ts +29 -0
  217. package/dist/drift-baseline.d.ts.map +1 -0
  218. package/dist/drift-baseline.js +80 -0
  219. package/dist/drift.d.ts +38 -0
  220. package/dist/drift.d.ts.map +1 -0
  221. package/dist/drift.js +107 -0
  222. package/dist/entrypoint-matrix.d.ts +61 -0
  223. package/dist/entrypoint-matrix.d.ts.map +1 -0
  224. package/dist/entrypoint-matrix.js +221 -0
  225. package/dist/examples-check.d.ts +36 -0
  226. package/dist/examples-check.d.ts.map +1 -0
  227. package/dist/examples-check.js +168 -0
  228. package/dist/execution-graph.d.ts +98 -0
  229. package/dist/execution-graph.d.ts.map +1 -0
  230. package/dist/execution-graph.js +484 -0
  231. package/dist/export-bundle.d.ts +10 -0
  232. package/dist/export-bundle.d.ts.map +1 -0
  233. package/dist/export-bundle.js +90 -0
  234. package/dist/failure-diagnostics.d.ts +63 -0
  235. package/dist/failure-diagnostics.d.ts.map +1 -0
  236. package/dist/failure-diagnostics.js +243 -0
  237. package/dist/feature-bundle.d.ts +111 -0
  238. package/dist/feature-bundle.d.ts.map +1 -0
  239. package/dist/feature-bundle.js +211 -0
  240. package/dist/feedback-actions-v2.d.ts +65 -0
  241. package/dist/feedback-actions-v2.d.ts.map +1 -0
  242. package/dist/feedback-actions-v2.js +183 -0
  243. package/dist/feedback-ingestion.d.ts +96 -0
  244. package/dist/feedback-ingestion.d.ts.map +1 -0
  245. package/dist/feedback-ingestion.js +400 -0
  246. package/dist/fix-preview.d.ts +82 -0
  247. package/dist/fix-preview.d.ts.map +1 -0
  248. package/dist/fix-preview.js +365 -0
  249. package/dist/fuzzy-impact.d.ts +50 -0
  250. package/dist/fuzzy-impact.d.ts.map +1 -0
  251. package/dist/fuzzy-impact.js +446 -0
  252. package/dist/generated-code.d.ts +97 -0
  253. package/dist/generated-code.d.ts.map +1 -0
  254. package/dist/generated-code.js +395 -0
  255. package/dist/git-helpers.d.ts +26 -0
  256. package/dist/git-helpers.d.ts.map +1 -0
  257. package/dist/git-helpers.js +110 -0
  258. package/dist/golden-output.d.ts +33 -0
  259. package/dist/golden-output.d.ts.map +1 -0
  260. package/dist/golden-output.js +92 -0
  261. package/dist/grounding/build-grounding.d.ts +53 -0
  262. package/dist/grounding/build-grounding.d.ts.map +1 -0
  263. package/dist/grounding/build-grounding.js +51 -0
  264. package/dist/grounding/nx-projects.d.ts +29 -0
  265. package/dist/grounding/nx-projects.d.ts.map +1 -0
  266. package/dist/grounding/nx-projects.js +109 -0
  267. package/dist/grounding/validate-extracted-plan.d.ts +20 -0
  268. package/dist/grounding/validate-extracted-plan.d.ts.map +1 -0
  269. package/dist/grounding/validate-extracted-plan.js +127 -0
  270. package/dist/healing-plan.d.ts +33 -0
  271. package/dist/healing-plan.d.ts.map +1 -0
  272. package/dist/healing-plan.js +346 -0
  273. package/dist/helper-registry.d.ts +90 -0
  274. package/dist/helper-registry.d.ts.map +1 -0
  275. package/dist/helper-registry.js +529 -0
  276. package/dist/impact-analysis.d.ts +150 -0
  277. package/dist/impact-analysis.d.ts.map +1 -0
  278. package/dist/impact-analysis.js +697 -0
  279. package/dist/impact-graph-render.d.ts +51 -0
  280. package/dist/impact-graph-render.d.ts.map +1 -0
  281. package/dist/impact-graph-render.js +139 -0
  282. package/dist/impact-graph.d.ts +17 -0
  283. package/dist/impact-graph.d.ts.map +1 -0
  284. package/dist/impact-graph.js +119 -0
  285. package/dist/impact-render.d.ts +22 -0
  286. package/dist/impact-render.d.ts.map +1 -0
  287. package/dist/impact-render.js +413 -0
  288. package/dist/import-graph-analysis.d.ts +28 -0
  289. package/dist/import-graph-analysis.d.ts.map +1 -0
  290. package/dist/import-graph-analysis.js +193 -0
  291. package/dist/import-hygiene.d.ts +93 -0
  292. package/dist/import-hygiene.d.ts.map +1 -0
  293. package/dist/import-hygiene.js +366 -0
  294. package/dist/index.d.ts +223 -0
  295. package/dist/index.d.ts.map +1 -0
  296. package/dist/index.js +233 -0
  297. package/dist/ingest-adoption.d.ts +50 -0
  298. package/dist/ingest-adoption.d.ts.map +1 -0
  299. package/dist/ingest-adoption.js +183 -0
  300. package/dist/ingest-apply.d.ts +80 -0
  301. package/dist/ingest-apply.d.ts.map +1 -0
  302. package/dist/ingest-apply.js +227 -0
  303. package/dist/ingest-body-extractor.d.ts +28 -0
  304. package/dist/ingest-body-extractor.d.ts.map +1 -0
  305. package/dist/ingest-body-extractor.js +129 -0
  306. package/dist/ingest-drafts.d.ts +16 -0
  307. package/dist/ingest-drafts.d.ts.map +1 -0
  308. package/dist/ingest-drafts.js +482 -0
  309. package/dist/inspector-cache.d.ts +41 -0
  310. package/dist/inspector-cache.d.ts.map +1 -0
  311. package/dist/inspector-cache.js +104 -0
  312. package/dist/install-smoke.d.ts +44 -0
  313. package/dist/install-smoke.d.ts.map +1 -0
  314. package/dist/install-smoke.js +31 -0
  315. package/dist/knowledge-authoring.d.ts +151 -0
  316. package/dist/knowledge-authoring.d.ts.map +1 -0
  317. package/dist/knowledge-authoring.js +586 -0
  318. package/dist/knowledge-graph.d.ts +76 -0
  319. package/dist/knowledge-graph.d.ts.map +1 -0
  320. package/dist/knowledge-graph.js +336 -0
  321. package/dist/knowledge-lint.d.ts +97 -0
  322. package/dist/knowledge-lint.d.ts.map +1 -0
  323. package/dist/knowledge-lint.js +302 -0
  324. package/dist/knowledge-rename.d.ts +38 -0
  325. package/dist/knowledge-rename.d.ts.map +1 -0
  326. package/dist/knowledge-rename.js +88 -0
  327. package/dist/knowledge-stale.d.ts +124 -0
  328. package/dist/knowledge-stale.d.ts.map +1 -0
  329. package/dist/knowledge-stale.js +892 -0
  330. package/dist/languages/command-inference.d.ts +27 -0
  331. package/dist/languages/command-inference.d.ts.map +1 -0
  332. package/dist/languages/command-inference.js +214 -0
  333. package/dist/languages/dependency-scan.d.ts +33 -0
  334. package/dist/languages/dependency-scan.d.ts.map +1 -0
  335. package/dist/languages/dependency-scan.js +343 -0
  336. package/dist/languages/index.d.ts +14 -0
  337. package/dist/languages/index.d.ts.map +1 -0
  338. package/dist/languages/index.js +13 -0
  339. package/dist/languages/language-boundaries.d.ts +30 -0
  340. package/dist/languages/language-boundaries.d.ts.map +1 -0
  341. package/dist/languages/language-boundaries.js +176 -0
  342. package/dist/languages/language-cache.d.ts +54 -0
  343. package/dist/languages/language-cache.d.ts.map +1 -0
  344. package/dist/languages/language-cache.js +236 -0
  345. package/dist/languages/language-detection.d.ts +30 -0
  346. package/dist/languages/language-detection.d.ts.map +1 -0
  347. package/dist/languages/language-detection.js +584 -0
  348. package/dist/languages/language-id.d.ts +15 -0
  349. package/dist/languages/language-id.d.ts.map +1 -0
  350. package/dist/languages/language-id.js +15 -0
  351. package/dist/languages/language-runner.d.ts +90 -0
  352. package/dist/languages/language-runner.d.ts.map +1 -0
  353. package/dist/languages/language-runner.js +346 -0
  354. package/dist/languages/polyglot-boundary.d.ts +80 -0
  355. package/dist/languages/polyglot-boundary.d.ts.map +1 -0
  356. package/dist/languages/polyglot-boundary.js +373 -0
  357. package/dist/languages/polyglot-ci.d.ts +25 -0
  358. package/dist/languages/polyglot-ci.d.ts.map +1 -0
  359. package/dist/languages/polyglot-ci.js +278 -0
  360. package/dist/languages/test-impact.d.ts +19 -0
  361. package/dist/languages/test-impact.d.ts.map +1 -0
  362. package/dist/languages/test-impact.js +157 -0
  363. package/dist/loader-diagnostics.d.ts +40 -0
  364. package/dist/loader-diagnostics.d.ts.map +1 -0
  365. package/dist/loader-diagnostics.js +49 -0
  366. package/dist/memory-diff.d.ts +60 -0
  367. package/dist/memory-diff.d.ts.map +1 -0
  368. package/dist/memory-diff.js +302 -0
  369. package/dist/migration-profile-registry.d.ts +26 -0
  370. package/dist/migration-profile-registry.d.ts.map +1 -0
  371. package/dist/migration-profile-registry.js +135 -0
  372. package/dist/migration-readiness.d.ts +101 -0
  373. package/dist/migration-readiness.d.ts.map +1 -0
  374. package/dist/migration-readiness.js +253 -0
  375. package/dist/monorepo-onboarding.d.ts +51 -0
  376. package/dist/monorepo-onboarding.d.ts.map +1 -0
  377. package/dist/monorepo-onboarding.js +235 -0
  378. package/dist/onboarding-adoption-diff.d.ts +53 -0
  379. package/dist/onboarding-adoption-diff.d.ts.map +1 -0
  380. package/dist/onboarding-adoption-diff.js +285 -0
  381. package/dist/onboarding-adoption.d.ts +136 -0
  382. package/dist/onboarding-adoption.d.ts.map +1 -0
  383. package/dist/onboarding-adoption.js +702 -0
  384. package/dist/onboarding-agent-import.d.ts +40 -0
  385. package/dist/onboarding-agent-import.d.ts.map +1 -0
  386. package/dist/onboarding-agent-import.js +114 -0
  387. package/dist/onboarding-diff.d.ts +39 -0
  388. package/dist/onboarding-diff.d.ts.map +1 -0
  389. package/dist/onboarding-diff.js +240 -0
  390. package/dist/onboarding-drafts.d.ts +28 -0
  391. package/dist/onboarding-drafts.d.ts.map +1 -0
  392. package/dist/onboarding-drafts.js +234 -0
  393. package/dist/onboarding-report.d.ts +8 -0
  394. package/dist/onboarding-report.d.ts.map +1 -0
  395. package/dist/onboarding-report.js +239 -0
  396. package/dist/onboarding.d.ts +134 -0
  397. package/dist/onboarding.d.ts.map +1 -0
  398. package/dist/onboarding.js +729 -0
  399. package/dist/ownership.d.ts +38 -0
  400. package/dist/ownership.d.ts.map +1 -0
  401. package/dist/ownership.js +102 -0
  402. package/dist/pack-author-ux.d.ts +58 -0
  403. package/dist/pack-author-ux.d.ts.map +1 -0
  404. package/dist/pack-author-ux.js +219 -0
  405. package/dist/pack-author.d.ts +94 -0
  406. package/dist/pack-author.d.ts.map +1 -0
  407. package/dist/pack-author.js +208 -0
  408. package/dist/pack-compatibility.d.ts +21 -0
  409. package/dist/pack-compatibility.d.ts.map +1 -0
  410. package/dist/pack-compatibility.js +114 -0
  411. package/dist/pack-contributions-inventory.d.ts +121 -0
  412. package/dist/pack-contributions-inventory.d.ts.map +1 -0
  413. package/dist/pack-contributions-inventory.js +732 -0
  414. package/dist/pack-docs.d.ts +11 -0
  415. package/dist/pack-docs.d.ts.map +1 -0
  416. package/dist/pack-docs.js +101 -0
  417. package/dist/pack-doctor.d.ts +50 -0
  418. package/dist/pack-doctor.d.ts.map +1 -0
  419. package/dist/pack-doctor.js +302 -0
  420. package/dist/pack-helper-registry.d.ts +29 -0
  421. package/dist/pack-helper-registry.d.ts.map +1 -0
  422. package/dist/pack-helper-registry.js +144 -0
  423. package/dist/pack-pending.d.ts +68 -0
  424. package/dist/pack-pending.d.ts.map +1 -0
  425. package/dist/pack-pending.js +189 -0
  426. package/dist/pack-quality-score.d.ts +44 -0
  427. package/dist/pack-quality-score.d.ts.map +1 -0
  428. package/dist/pack-quality-score.js +155 -0
  429. package/dist/pack-release-check.d.ts +24 -0
  430. package/dist/pack-release-check.d.ts.map +1 -0
  431. package/dist/pack-release-check.js +258 -0
  432. package/dist/pack-signature-status.d.ts +72 -0
  433. package/dist/pack-signature-status.d.ts.map +1 -0
  434. package/dist/pack-signature-status.js +222 -0
  435. package/dist/pack-symbol-compat.d.ts +60 -0
  436. package/dist/pack-symbol-compat.d.ts.map +1 -0
  437. package/dist/pack-symbol-compat.js +371 -0
  438. package/dist/pack-test-runner.d.ts +59 -0
  439. package/dist/pack-test-runner.d.ts.map +1 -0
  440. package/dist/pack-test-runner.js +211 -0
  441. package/dist/pipeline-command-dictionary.d.ts +2 -0
  442. package/dist/pipeline-command-dictionary.d.ts.map +1 -0
  443. package/dist/pipeline-command-dictionary.js +20 -0
  444. package/dist/pipeline-lint.d.ts +30 -0
  445. package/dist/pipeline-lint.d.ts.map +1 -0
  446. package/dist/pipeline-lint.js +134 -0
  447. package/dist/plan-dependency-graph.d.ts +25 -0
  448. package/dist/plan-dependency-graph.d.ts.map +1 -0
  449. package/dist/plan-dependency-graph.js +195 -0
  450. package/dist/plan-review.d.ts +64 -0
  451. package/dist/plan-review.d.ts.map +1 -0
  452. package/dist/plan-review.js +242 -0
  453. package/dist/plan-simulation.d.ts +108 -0
  454. package/dist/plan-simulation.d.ts.map +1 -0
  455. package/dist/plan-simulation.js +767 -0
  456. package/dist/playbook-registry.d.ts +25 -0
  457. package/dist/playbook-registry.d.ts.map +1 -0
  458. package/dist/playbook-registry.js +148 -0
  459. package/dist/playbook-script.d.ts +60 -0
  460. package/dist/playbook-script.d.ts.map +1 -0
  461. package/dist/playbook-script.js +161 -0
  462. package/dist/plugin-lifecycle-profile-registry.d.ts +52 -0
  463. package/dist/plugin-lifecycle-profile-registry.d.ts.map +1 -0
  464. package/dist/plugin-lifecycle-profile-registry.js +202 -0
  465. package/dist/plugin-lifecycle.d.ts +132 -0
  466. package/dist/plugin-lifecycle.d.ts.map +1 -0
  467. package/dist/plugin-lifecycle.js +477 -0
  468. package/dist/policy-engine.d.ts +101 -0
  469. package/dist/policy-engine.d.ts.map +1 -0
  470. package/dist/policy-engine.js +321 -0
  471. package/dist/policy-override-audit.d.ts +18 -0
  472. package/dist/policy-override-audit.d.ts.map +1 -0
  473. package/dist/policy-override-audit.js +54 -0
  474. package/dist/policy-overrides.d.ts +35 -0
  475. package/dist/policy-overrides.d.ts.map +1 -0
  476. package/dist/policy-overrides.js +84 -0
  477. package/dist/policy-test.d.ts +83 -0
  478. package/dist/policy-test.d.ts.map +1 -0
  479. package/dist/policy-test.js +342 -0
  480. package/dist/pr-summary.d.ts +34 -0
  481. package/dist/pr-summary.d.ts.map +1 -0
  482. package/dist/pr-summary.js +220 -0
  483. package/dist/product-coherence.d.ts +21 -0
  484. package/dist/product-coherence.d.ts.map +1 -0
  485. package/dist/product-coherence.js +158 -0
  486. package/dist/profile-registry.d.ts +42 -0
  487. package/dist/profile-registry.d.ts.map +1 -0
  488. package/dist/profile-registry.js +104 -0
  489. package/dist/project-coupling-audit.d.ts +64 -0
  490. package/dist/project-coupling-audit.d.ts.map +1 -0
  491. package/dist/project-coupling-audit.js +282 -0
  492. package/dist/project-overview.d.ts +14 -0
  493. package/dist/project-overview.d.ts.map +1 -0
  494. package/dist/project-overview.js +27 -0
  495. package/dist/propose-knowledge.d.ts +64 -0
  496. package/dist/propose-knowledge.d.ts.map +1 -0
  497. package/dist/propose-knowledge.js +367 -0
  498. package/dist/quality-baseline.d.ts +123 -0
  499. package/dist/quality-baseline.d.ts.map +1 -0
  500. package/dist/quality-baseline.js +433 -0
  501. package/dist/quality-html.d.ts +7 -0
  502. package/dist/quality-html.d.ts.map +1 -0
  503. package/dist/quality-html.js +64 -0
  504. package/dist/quality-report.d.ts +49 -0
  505. package/dist/quality-report.d.ts.map +1 -0
  506. package/dist/quality-report.js +296 -0
  507. package/dist/query-resolver.d.ts +38 -0
  508. package/dist/query-resolver.d.ts.map +1 -0
  509. package/dist/query-resolver.js +163 -0
  510. package/dist/ranker-explainability.d.ts +91 -0
  511. package/dist/ranker-explainability.d.ts.map +1 -0
  512. package/dist/ranker-explainability.js +550 -0
  513. package/dist/reference-lookup.d.ts +8 -0
  514. package/dist/reference-lookup.d.ts.map +1 -0
  515. package/dist/reference-lookup.js +18 -0
  516. package/dist/registration-hint-registry.d.ts +55 -0
  517. package/dist/registration-hint-registry.d.ts.map +1 -0
  518. package/dist/registration-hint-registry.js +327 -0
  519. package/dist/registry-lifecycle.d.ts +47 -0
  520. package/dist/registry-lifecycle.d.ts.map +1 -0
  521. package/dist/registry-lifecycle.js +214 -0
  522. package/dist/release-readiness.d.ts +64 -0
  523. package/dist/release-readiness.d.ts.map +1 -0
  524. package/dist/release-readiness.js +456 -0
  525. package/dist/release-smoke.d.ts +138 -0
  526. package/dist/release-smoke.d.ts.map +1 -0
  527. package/dist/release-smoke.js +459 -0
  528. package/dist/release-train.d.ts +33 -0
  529. package/dist/release-train.d.ts.map +1 -0
  530. package/dist/release-train.js +104 -0
  531. package/dist/repo-memory.d.ts +95 -0
  532. package/dist/repo-memory.d.ts.map +1 -0
  533. package/dist/repo-memory.js +614 -0
  534. package/dist/report-site.d.ts +92 -0
  535. package/dist/report-site.d.ts.map +1 -0
  536. package/dist/report-site.js +658 -0
  537. package/dist/reposet.d.ts +56 -0
  538. package/dist/reposet.d.ts.map +1 -0
  539. package/dist/reposet.js +160 -0
  540. package/dist/repository-intelligence.d.ts +145 -0
  541. package/dist/repository-intelligence.d.ts.map +1 -0
  542. package/dist/repository-intelligence.js +729 -0
  543. package/dist/repository-knowledge-model.d.ts +218 -0
  544. package/dist/repository-knowledge-model.d.ts.map +1 -0
  545. package/dist/repository-knowledge-model.js +939 -0
  546. package/dist/repository-map.d.ts +72 -0
  547. package/dist/repository-map.d.ts.map +1 -0
  548. package/dist/repository-map.js +332 -0
  549. package/dist/repository-stats.d.ts +66 -0
  550. package/dist/repository-stats.d.ts.map +1 -0
  551. package/dist/repository-stats.js +329 -0
  552. package/dist/review-comment-renderer.d.ts +59 -0
  553. package/dist/review-comment-renderer.d.ts.map +1 -0
  554. package/dist/review-comment-renderer.js +181 -0
  555. package/dist/review-comment-v2.d.ts +9 -0
  556. package/dist/review-comment-v2.d.ts.map +1 -0
  557. package/dist/review-comment-v2.js +178 -0
  558. package/dist/review-html.d.ts +13 -0
  559. package/dist/review-html.d.ts.map +1 -0
  560. package/dist/review-html.js +79 -0
  561. package/dist/review-packet-v2.d.ts +29 -0
  562. package/dist/review-packet-v2.d.ts.map +1 -0
  563. package/dist/review-packet-v2.js +71 -0
  564. package/dist/review-packet-v3.d.ts +22 -0
  565. package/dist/review-packet-v3.d.ts.map +1 -0
  566. package/dist/review-packet-v3.js +181 -0
  567. package/dist/review-packet.d.ts +49 -0
  568. package/dist/review-packet.d.ts.map +1 -0
  569. package/dist/review-packet.js +129 -0
  570. package/dist/risk-signals.d.ts +28 -0
  571. package/dist/risk-signals.d.ts.map +1 -0
  572. package/dist/risk-signals.js +68 -0
  573. package/dist/role-views.d.ts +50 -0
  574. package/dist/role-views.d.ts.map +1 -0
  575. package/dist/role-views.js +334 -0
  576. package/dist/rounds.d.ts +52 -0
  577. package/dist/rounds.d.ts.map +1 -0
  578. package/dist/rounds.js +172 -0
  579. package/dist/rule-drift.d.ts +42 -0
  580. package/dist/rule-drift.d.ts.map +1 -0
  581. package/dist/rule-drift.js +148 -0
  582. package/dist/rule-quality.d.ts +73 -0
  583. package/dist/rule-quality.d.ts.map +1 -0
  584. package/dist/rule-quality.js +356 -0
  585. package/dist/rule-scaffold.d.ts +71 -0
  586. package/dist/rule-scaffold.d.ts.map +1 -0
  587. package/dist/rule-scaffold.js +258 -0
  588. package/dist/safety-audit-deep.d.ts +38 -0
  589. package/dist/safety-audit-deep.d.ts.map +1 -0
  590. package/dist/safety-audit-deep.js +162 -0
  591. package/dist/safety-audit.d.ts +91 -0
  592. package/dist/safety-audit.d.ts.map +1 -0
  593. package/dist/safety-audit.js +138 -0
  594. package/dist/safety-html.d.ts +7 -0
  595. package/dist/safety-html.d.ts.map +1 -0
  596. package/dist/safety-html.js +70 -0
  597. package/dist/scaffold-coverage.d.ts +46 -0
  598. package/dist/scaffold-coverage.d.ts.map +1 -0
  599. package/dist/scaffold-coverage.js +273 -0
  600. package/dist/scaffold-patterns.d.ts +38 -0
  601. package/dist/scaffold-patterns.d.ts.map +1 -0
  602. package/dist/scaffold-patterns.js +282 -0
  603. package/dist/schema-inventory.d.ts +55 -0
  604. package/dist/schema-inventory.d.ts.map +1 -0
  605. package/dist/schema-inventory.js +301 -0
  606. package/dist/search-index.d.ts +75 -0
  607. package/dist/search-index.d.ts.map +1 -0
  608. package/dist/search-index.js +531 -0
  609. package/dist/search-tuning-explain.d.ts +68 -0
  610. package/dist/search-tuning-explain.d.ts.map +1 -0
  611. package/dist/search-tuning-explain.js +207 -0
  612. package/dist/search-tuning-registry.d.ts +54 -0
  613. package/dist/search-tuning-registry.d.ts.map +1 -0
  614. package/dist/search-tuning-registry.js +303 -0
  615. package/dist/self-audit.d.ts +59 -0
  616. package/dist/self-audit.d.ts.map +1 -0
  617. package/dist/self-audit.js +192 -0
  618. package/dist/self-config-doctor-v2.d.ts +57 -0
  619. package/dist/self-config-doctor-v2.d.ts.map +1 -0
  620. package/dist/self-config-doctor-v2.js +653 -0
  621. package/dist/self-config-doctor.d.ts +47 -0
  622. package/dist/self-config-doctor.d.ts.map +1 -0
  623. package/dist/self-config-doctor.js +432 -0
  624. package/dist/sharkcraft-inspector.d.ts +73 -0
  625. package/dist/sharkcraft-inspector.d.ts.map +1 -0
  626. package/dist/sharkcraft-inspector.js +745 -0
  627. package/dist/spec/spec-cross-validate.d.ts +17 -0
  628. package/dist/spec/spec-cross-validate.d.ts.map +1 -0
  629. package/dist/spec/spec-cross-validate.js +53 -0
  630. package/dist/spec/spec-discovery.d.ts +27 -0
  631. package/dist/spec/spec-discovery.d.ts.map +1 -0
  632. package/dist/spec/spec-discovery.js +78 -0
  633. package/dist/spec/spec-review.d.ts +36 -0
  634. package/dist/spec/spec-review.d.ts.map +1 -0
  635. package/dist/spec/spec-review.js +37 -0
  636. package/dist/stability-map.d.ts +62 -0
  637. package/dist/stability-map.d.ts.map +1 -0
  638. package/dist/stability-map.js +404 -0
  639. package/dist/start-here.d.ts +49 -0
  640. package/dist/start-here.d.ts.map +1 -0
  641. package/dist/start-here.js +259 -0
  642. package/dist/surface-profile-detect.d.ts +42 -0
  643. package/dist/surface-profile-detect.d.ts.map +1 -0
  644. package/dist/surface-profile-detect.js +76 -0
  645. package/dist/symbol-index.d.ts +108 -0
  646. package/dist/symbol-index.d.ts.map +1 -0
  647. package/dist/symbol-index.js +483 -0
  648. package/dist/task-decompose.d.ts +38 -0
  649. package/dist/task-decompose.d.ts.map +1 -0
  650. package/dist/task-decompose.js +154 -0
  651. package/dist/task-packet.d.ts +104 -0
  652. package/dist/task-packet.d.ts.map +1 -0
  653. package/dist/task-packet.js +156 -0
  654. package/dist/task-ranker.d.ts +51 -0
  655. package/dist/task-ranker.d.ts.map +1 -0
  656. package/dist/task-ranker.js +410 -0
  657. package/dist/task-risk.d.ts +84 -0
  658. package/dist/task-risk.d.ts.map +1 -0
  659. package/dist/task-risk.js +731 -0
  660. package/dist/task-routing-hint-registry.d.ts +36 -0
  661. package/dist/task-routing-hint-registry.d.ts.map +1 -0
  662. package/dist/task-routing-hint-registry.js +186 -0
  663. package/dist/template-authoring.d.ts +113 -0
  664. package/dist/template-authoring.d.ts.map +1 -0
  665. package/dist/template-authoring.js +521 -0
  666. package/dist/template-body-inference-v2.d.ts +19 -0
  667. package/dist/template-body-inference-v2.d.ts.map +1 -0
  668. package/dist/template-body-inference-v2.js +468 -0
  669. package/dist/template-body-inference.d.ts +59 -0
  670. package/dist/template-body-inference.d.ts.map +1 -0
  671. package/dist/template-body-inference.js +277 -0
  672. package/dist/template-drift.d.ts +39 -0
  673. package/dist/template-drift.d.ts.map +1 -0
  674. package/dist/template-drift.js +353 -0
  675. package/dist/template-lint.d.ts +31 -0
  676. package/dist/template-lint.d.ts.map +1 -0
  677. package/dist/template-lint.js +113 -0
  678. package/dist/test-definitions.d.ts +41 -0
  679. package/dist/test-definitions.d.ts.map +1 -0
  680. package/dist/test-definitions.js +6 -0
  681. package/dist/test-impact.d.ts +30 -0
  682. package/dist/test-impact.d.ts.map +1 -0
  683. package/dist/test-impact.js +173 -0
  684. package/dist/test-runner.d.ts +87 -0
  685. package/dist/test-runner.d.ts.map +1 -0
  686. package/dist/test-runner.js +560 -0
  687. package/dist/uncertainty-report.d.ts +46 -0
  688. package/dist/uncertainty-report.d.ts.map +1 -0
  689. package/dist/uncertainty-report.js +108 -0
  690. package/dist/uncertainty.d.ts +38 -0
  691. package/dist/uncertainty.d.ts.map +1 -0
  692. package/dist/uncertainty.js +115 -0
  693. package/dist/universal-search.d.ts +64 -0
  694. package/dist/universal-search.d.ts.map +1 -0
  695. package/dist/universal-search.js +347 -0
  696. package/dist/upgrade-advisor.d.ts +22 -0
  697. package/dist/upgrade-advisor.d.ts.map +1 -0
  698. package/dist/upgrade-advisor.js +109 -0
  699. package/dist/why-file.d.ts +75 -0
  700. package/dist/why-file.d.ts.map +1 -0
  701. package/dist/why-file.js +202 -0
  702. package/dist/workflow-simulation.d.ts +46 -0
  703. package/dist/workflow-simulation.d.ts.map +1 -0
  704. package/dist/workflow-simulation.js +154 -0
  705. package/package.json +66 -0
@@ -0,0 +1,346 @@
1
+ /**
2
+ * Self-healing plans.
3
+ *
4
+ * Given a stderr blob, failed report/plan, or command exit-code, produce a
5
+ * deterministic recovery plan. Never auto-fixes; never writes source.
6
+ */
7
+ import { existsSync, readFileSync } from 'node:fs';
8
+ import { buildDiagnosticByCode, listDiagnostics, } from "./failure-diagnostics.js";
9
+ import { suggestDiagnostic } from "./diagnostics-suggest.js";
10
+ export const HEALING_PLAN_SCHEMA = 'sharkcraft.healing-plan/v1';
11
+ export var HealingInputKind;
12
+ (function (HealingInputKind) {
13
+ HealingInputKind["Error"] = "error";
14
+ HealingInputKind["File"] = "file";
15
+ HealingInputKind["Report"] = "report";
16
+ HealingInputKind["Command"] = "command";
17
+ })(HealingInputKind || (HealingInputKind = {}));
18
+ const GENERIC_NEXT = 'shrk diagnostics suggest "<paste error text here>"';
19
+ function inferFromKeywords(text) {
20
+ const causes = [];
21
+ const recover = [];
22
+ const cmds = [];
23
+ const constructs = [];
24
+ const docs = [];
25
+ let humanApproval = false;
26
+ let sourceWrite = false;
27
+ const lower = text.toLowerCase();
28
+ // Plan conflicts.
29
+ if (lower.includes('conflict') || lower.includes('anchor not found')) {
30
+ causes.push('Saved plan has a conflict: file already exists, anchor missing, or replace mismatch.');
31
+ recover.push('Review the saved plan and inspect anchors / target files.');
32
+ cmds.push('shrk plan review <plan.json>');
33
+ cmds.push('shrk plan simulate <plan.json> --include-boundaries --include-impact');
34
+ cmds.push('shrk plan simulate <plan.json> --format markdown --output /tmp/plan-sim.md');
35
+ constructs.push('plan v2 operations: append / insert-after / insert-before / replace / export');
36
+ docs.push('docs/plan-simulation.md');
37
+ }
38
+ // Missing barrel / anchor.
39
+ if (lower.includes('barrel') || lower.includes('export *') || lower.includes('missing anchor')) {
40
+ causes.push('Missing barrel or anchor in the target file.');
41
+ recover.push('Open the barrel/index file referenced by the plan and confirm the anchor exists exactly once.');
42
+ cmds.push('grep -n "<anchor text>" <barrel file>');
43
+ }
44
+ // Pack signing missing secret.
45
+ if (lower.includes('signing') ||
46
+ lower.includes('hmac') ||
47
+ lower.includes('signature') ||
48
+ lower.includes('packs sign') ||
49
+ lower.includes('signed.json')) {
50
+ causes.push('Pack signing failed: secret missing or signature mismatch.');
51
+ recover.push('Provide the signing secret via the CLI (do not commit it).');
52
+ cmds.push('shrk packs sign <packPath> --secret-env SHARKCRAFT_PACK_SIGNING_KEY');
53
+ cmds.push('shrk packs verify');
54
+ humanApproval = true;
55
+ docs.push('docs/security.md');
56
+ }
57
+ // Migration readiness.
58
+ if (lower.includes('migration') && (lower.includes('readiness') || lower.includes('blocker'))) {
59
+ causes.push('Migration readiness gate reported a blocker.');
60
+ recover.push('Resolve each blocker before re-running the gate.');
61
+ cmds.push('shrk migration readiness --profile <id>');
62
+ cmds.push('shrk migration profiles');
63
+ docs.push('docs/migration-readiness.md');
64
+ }
65
+ // Unknown command.
66
+ if (lower.includes('unknown command') || lower.includes('command not found') || lower.includes('not a known')) {
67
+ causes.push('Unknown shrk command (alias / typo / removed command).');
68
+ recover.push('List supported commands; do not invent commands.');
69
+ cmds.push('shrk --help');
70
+ cmds.push('shrk commands');
71
+ }
72
+ // Module not found.
73
+ if (lower.includes('cannot find module') || lower.includes('module_not_found')) {
74
+ causes.push('Dependency missing — node_modules not installed or alias unresolved.');
75
+ recover.push('Install dependencies; do not patch package.json blindly.');
76
+ cmds.push('bun install');
77
+ cmds.push('shrk doctor');
78
+ humanApproval = false;
79
+ }
80
+ // Verification failed.
81
+ if (lower.includes('verification failed') || lower.includes('tests failed') || lower.includes('typecheck failed')) {
82
+ causes.push('A verification command failed.');
83
+ recover.push('Re-run the failing command locally and read its output.');
84
+ cmds.push('bun x tsc -p tsconfig.base.json --noEmit');
85
+ cmds.push('bun test');
86
+ }
87
+ // Release readiness.
88
+ if (lower.includes('release readiness') || lower.includes('preflight')) {
89
+ causes.push('Release readiness reported a blocker.');
90
+ recover.push('Resolve each blocker; do NOT publish to bypass the gate.');
91
+ cmds.push('shrk release readiness --strict');
92
+ cmds.push('bun run release:preflight');
93
+ humanApproval = true;
94
+ }
95
+ // polyglot Java
96
+ if (lower.includes('cannot find symbol')) {
97
+ causes.push('Java compiler reports "cannot find symbol" — missing import or dependency.');
98
+ recover.push('Add the missing import / dependency; run `mvn dependency:tree` to verify.');
99
+ cmds.push('mvn -U test');
100
+ docs.push('docs/healing-plans.md');
101
+ }
102
+ if (lower.includes('package does not exist')) {
103
+ causes.push('Java dependency is not on the classpath.');
104
+ recover.push('Declare the dependency in pom.xml / build.gradle and refresh.');
105
+ cmds.push('mvn -U test');
106
+ cmds.push('./gradlew --refresh-dependencies test');
107
+ }
108
+ // polyglot C#
109
+ if (lower.includes('cs0246')) {
110
+ causes.push('CS0246 — type or namespace not found.');
111
+ recover.push('Add the missing `using` directive or restore the NuGet package.');
112
+ cmds.push('dotnet restore');
113
+ cmds.push('dotnet build');
114
+ }
115
+ if (lower.includes('nu1101')) {
116
+ causes.push('NU1101 — NuGet package not found.');
117
+ recover.push('Verify the package id and feed; then re-restore.');
118
+ cmds.push('dotnet nuget list source');
119
+ cmds.push('dotnet restore --force-evaluate');
120
+ }
121
+ // polyglot Python
122
+ if (lower.includes('modulenotfounderror') || lower.includes('no module named')) {
123
+ causes.push('Python ModuleNotFoundError — dependency not installed in active env.');
124
+ recover.push('Install the dependency; do NOT add bare paths to sys.path as a workaround.');
125
+ cmds.push('python -m pip install -r requirements.txt');
126
+ cmds.push('uv sync');
127
+ cmds.push('poetry install');
128
+ }
129
+ if (lower.includes('pytest') && (lower.includes('collected 0 items') || lower.includes('errors during collection'))) {
130
+ causes.push('pytest collection error — a test file fails to import or a fixture is missing.');
131
+ recover.push('Narrow down with `pytest --collect-only`; fix the failing import first.');
132
+ cmds.push('python -m pytest --collect-only');
133
+ }
134
+ // polyglot Go
135
+ if (lower.includes('no required module provides package') || lower.includes('cannot find module')) {
136
+ causes.push('Go module missing — go.mod is out of date.');
137
+ recover.push('Run `go mod tidy` to bring go.mod in sync.');
138
+ cmds.push('go mod tidy');
139
+ cmds.push('go test ./...');
140
+ }
141
+ if (lower.includes('import cycle')) {
142
+ causes.push('Go import cycle — two packages import each other.');
143
+ recover.push('Refactor: extract shared types into a new neutral package.');
144
+ cmds.push('go list -deps ./...');
145
+ }
146
+ // polyglot Rust
147
+ if (lower.includes('e0432') || lower.includes('unresolved import')) {
148
+ causes.push('Rust E0432 — unresolved import. Crate or mod declaration missing.');
149
+ recover.push('Add the dependency to Cargo.toml or declare the `mod` line.');
150
+ cmds.push('cargo build');
151
+ }
152
+ if (lower.includes('e0308') || lower.includes('mismatched types')) {
153
+ causes.push('Rust E0308 — mismatched types or lifetime/borrow conflict.');
154
+ recover.push('Inspect the offending expression with `cargo check --message-format=short`.');
155
+ cmds.push('cargo check --message-format=short');
156
+ }
157
+ return { causes, recover, cmds, constructs, docs, humanApproval, sourceWrite };
158
+ }
159
+ function summarize(text, max = 240) {
160
+ const cleaned = text.replace(/\s+/g, ' ').trim();
161
+ return cleaned.length > max ? cleaned.slice(0, max) + '…' : cleaned;
162
+ }
163
+ function buildPlan(ctx) {
164
+ const suggest = suggestDiagnostic(ctx.text);
165
+ const codes = new Set();
166
+ for (const c of suggest.candidates)
167
+ codes.add(c.code);
168
+ // Add command-exit-driven codes.
169
+ if (ctx.exitCode !== undefined && ctx.exitCode !== 0 && ctx.command) {
170
+ codes.add('failed-verification');
171
+ }
172
+ const detectedDiagnostics = [];
173
+ for (const code of codes) {
174
+ detectedDiagnostics.push(buildDiagnosticByCode(code, {
175
+ command: ctx.command ?? '',
176
+ exitCode: ctx.exitCode ?? -1,
177
+ }));
178
+ }
179
+ const inferred = inferFromKeywords(ctx.text);
180
+ // Confidence.
181
+ const top = suggest.topSuggestion?.confidence ?? (detectedDiagnostics.length > 0 ? 'medium' : 'low');
182
+ const confidence = top;
183
+ // Recommended commands.
184
+ const recommendedCommands = [];
185
+ for (const d of detectedDiagnostics) {
186
+ if (d.nextCommand)
187
+ recommendedCommands.push(d.nextCommand);
188
+ }
189
+ for (const c of inferred.cmds)
190
+ recommendedCommands.push(c);
191
+ if (recommendedCommands.length === 0)
192
+ recommendedCommands.push(GENERIC_NEXT);
193
+ // Likely causes.
194
+ const likelyCauses = [];
195
+ for (const d of detectedDiagnostics)
196
+ likelyCauses.push(d.likelyCause ?? d.problem);
197
+ for (const c of inferred.causes)
198
+ likelyCauses.push(c);
199
+ if (likelyCauses.length === 0)
200
+ likelyCauses.push('Unable to classify automatically — run generic triage.');
201
+ // Safe recovery steps.
202
+ const safeRecoverySteps = [
203
+ 'Re-read the failing command output carefully (do not skip).',
204
+ 'Reproduce the failure locally before changing code.',
205
+ 'If unsure, run `shrk doctor` and `shrk diagnostics suggest`.',
206
+ ];
207
+ for (const r of inferred.recover)
208
+ safeRecoverySteps.push(r);
209
+ const forbiddenQuickFixes = [
210
+ 'Do NOT bypass safety hooks (--no-verify).',
211
+ 'Do NOT silence the failing test/check — fix the root cause.',
212
+ 'Do NOT commit secrets or signing keys to recover.',
213
+ 'Do NOT delete .sharkcraft/sessions or .sharkcraft/plans to clear state.',
214
+ ];
215
+ const relatedDocs = [...new Set(inferred.docs)];
216
+ const relatedConstructs = [...new Set(inferred.constructs)];
217
+ const humanApprovalRequired = inferred.humanApproval || detectedDiagnostics.some((d) => d.code === 'release-readiness-blocker' || d.code === 'plan-signature-mismatch');
218
+ const sourceWritesInvolved = inferred.sourceWrite;
219
+ const nextSafestCommand = recommendedCommands[0] ?? GENERIC_NEXT;
220
+ return {
221
+ schema: HEALING_PLAN_SCHEMA,
222
+ generatedAt: new Date().toISOString(),
223
+ inputKind: ctx.inputKind,
224
+ inputSummary: summarize(ctx.inputSummary || ctx.text),
225
+ detectedDiagnostics,
226
+ confidence,
227
+ likelyCauses: [...new Set(likelyCauses)],
228
+ safeRecoverySteps: [...new Set(safeRecoverySteps)],
229
+ forbiddenQuickFixes,
230
+ recommendedCommands: [...new Set(recommendedCommands)],
231
+ relatedConstructs,
232
+ relatedDocs,
233
+ humanApprovalRequired,
234
+ sourceWritesInvolved,
235
+ nextSafestCommand,
236
+ notes: [
237
+ 'Heal output is advisory only. No automatic fixes. No source writes.',
238
+ 'CLI is the only write path; MCP stays read-only.',
239
+ ],
240
+ };
241
+ }
242
+ export function buildHealingPlanFromError(errorText) {
243
+ return buildPlan({
244
+ inputKind: HealingInputKind.Error,
245
+ inputSummary: summarize(errorText, 120),
246
+ text: errorText,
247
+ });
248
+ }
249
+ export function buildHealingPlanFromFile(filePath) {
250
+ if (!existsSync(filePath)) {
251
+ return buildPlan({
252
+ inputKind: HealingInputKind.File,
253
+ inputSummary: `(missing file) ${filePath}`,
254
+ text: '',
255
+ });
256
+ }
257
+ const text = readFileSync(filePath, 'utf8');
258
+ return buildPlan({
259
+ inputKind: HealingInputKind.File,
260
+ inputSummary: filePath,
261
+ text,
262
+ });
263
+ }
264
+ export function buildHealingPlanFromReport(reportPath) {
265
+ if (!existsSync(reportPath)) {
266
+ return buildPlan({
267
+ inputKind: HealingInputKind.Report,
268
+ inputSummary: `(missing report) ${reportPath}`,
269
+ text: '',
270
+ });
271
+ }
272
+ let text = readFileSync(reportPath, 'utf8');
273
+ // Flatten the report so keyword scanning works.
274
+ try {
275
+ const j = JSON.parse(text);
276
+ text = JSON.stringify(j);
277
+ }
278
+ catch {
279
+ /* not JSON */
280
+ }
281
+ return buildPlan({
282
+ inputKind: HealingInputKind.Report,
283
+ inputSummary: reportPath,
284
+ text,
285
+ });
286
+ }
287
+ export function buildHealingPlanFromCommand(command, exitCode, stderrText) {
288
+ return buildPlan({
289
+ inputKind: HealingInputKind.Command,
290
+ inputSummary: `${command} (exit ${exitCode})`,
291
+ text: stderrText,
292
+ command,
293
+ exitCode,
294
+ });
295
+ }
296
+ void listDiagnostics;
297
+ export function renderHealingPlanText(p) {
298
+ let out = `=== Healing plan ===\n`;
299
+ out += ` input ${p.inputKind} — ${p.inputSummary}\n`;
300
+ out += ` confidence ${p.confidence}\n`;
301
+ out += ` human approval ${p.humanApprovalRequired ? 'REQUIRED' : 'not required'}\n`;
302
+ out += ` source writes ${p.sourceWritesInvolved ? 'YES' : 'no'}\n\n`;
303
+ out += `Likely causes:\n`;
304
+ for (const c of p.likelyCauses)
305
+ out += ` • ${c}\n`;
306
+ out += `\nSafe recovery steps:\n`;
307
+ for (const s of p.safeRecoverySteps)
308
+ out += ` • ${s}\n`;
309
+ out += `\nForbidden quick fixes:\n`;
310
+ for (const f of p.forbiddenQuickFixes)
311
+ out += ` • ${f}\n`;
312
+ out += `\nRecommended commands:\n`;
313
+ for (const c of p.recommendedCommands)
314
+ out += ` $ ${c}\n`;
315
+ if (p.detectedDiagnostics.length > 0) {
316
+ out += `\nDetected diagnostics:\n`;
317
+ for (const d of p.detectedDiagnostics)
318
+ out += ` • [${d.code}] ${d.problem}\n`;
319
+ }
320
+ if (p.relatedDocs.length)
321
+ out += `\nRelated docs: ${p.relatedDocs.join(', ')}\n`;
322
+ if (p.relatedConstructs.length)
323
+ out += `Related constructs: ${p.relatedConstructs.join(', ')}\n`;
324
+ out += `\nNext safest command:\n $ ${p.nextSafestCommand}\n`;
325
+ return out;
326
+ }
327
+ export function renderHealingPlanMarkdown(p) {
328
+ let out = `# Healing plan\n\n`;
329
+ out += `- **input**: ${p.inputKind} — ${p.inputSummary}\n`;
330
+ out += `- **confidence**: ${p.confidence}\n`;
331
+ out += `- **human approval**: ${p.humanApprovalRequired ? 'REQUIRED' : 'not required'}\n`;
332
+ out += `- **source writes**: ${p.sourceWritesInvolved ? 'YES' : 'no'}\n\n`;
333
+ out += `## Likely causes\n` + p.likelyCauses.map((c) => `- ${c}`).join('\n') + '\n\n';
334
+ out += `## Safe recovery steps\n` + p.safeRecoverySteps.map((s) => `- ${s}`).join('\n') + '\n\n';
335
+ out += `## Forbidden quick fixes\n` + p.forbiddenQuickFixes.map((f) => `- ${f}`).join('\n') + '\n\n';
336
+ out += `## Recommended commands\n` + p.recommendedCommands.map((c) => `- \`${c}\``).join('\n') + '\n\n';
337
+ if (p.detectedDiagnostics.length) {
338
+ out += `## Detected diagnostics\n` + p.detectedDiagnostics.map((d) => `- **${d.code}** — ${d.problem}`).join('\n') + '\n\n';
339
+ }
340
+ if (p.relatedDocs.length)
341
+ out += `**Related docs**: ${p.relatedDocs.join(', ')}\n\n`;
342
+ if (p.relatedConstructs.length)
343
+ out += `**Related constructs**: ${p.relatedConstructs.join(', ')}\n\n`;
344
+ out += `\n**Next safest command**: \`${p.nextSafestCommand}\`\n`;
345
+ return out;
346
+ }
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Helper plan generators (profile-driven for project-specific paths).
3
+ *
4
+ * Helpers are one-shot plan-v2 producers for small, well-bounded edits.
5
+ * They are dry-run by default and idempotent where the plan engine supports it.
6
+ *
7
+ * No helper writes source directly. The output is a structured `IHelperPlan`
8
+ * containing planned ops (using the existing plan-v2 operation set) and a
9
+ * list of advisory conflicts when an expected anchor cannot be resolved.
10
+ *
11
+ * Helpers must accept an IPluginLifecycleProfile instead of hardcoded paths,
12
+ * so the engine knows where the key-table / plugin roots live.
13
+ * Project-specific helpers contributed by packs travel in pack-contributed
14
+ * playbooks/scaffolds; the engine just provides the generic shapes.
15
+ */
16
+ import { type IPluginLifecycleProfile } from '@shrkcrft/plugin-api';
17
+ export declare enum HelperId {
18
+ AddPluginKey = "core.add-plugin-key",
19
+ RemovePluginKey = "core.remove-plugin-key",
20
+ RenamePluginKey = "core.rename-plugin-key",
21
+ AddBarrelExport = "core.add-barrel-export",
22
+ RemoveBarrelExport = "core.remove-barrel-export",
23
+ AddEventEntry = "core.add-event-entry",
24
+ RemoveEventEntry = "core.remove-event-entry",
25
+ AddDefaultRegistration = "core.add-default-registration",
26
+ RemoveDefaultRegistration = "core.remove-default-registration",
27
+ AddComposerEntry = "core.add-composer-entry",
28
+ RemoveComposerEntry = "core.remove-composer-entry",
29
+ RenamePluginFolder = "core.rename-plugin-folder",
30
+ RemoveUserPluginEntry = "core.remove-user-plugin-entry"
31
+ }
32
+ export interface IHelperDefinition {
33
+ id: HelperId;
34
+ description: string;
35
+ destructive: boolean;
36
+ requiresHumanReview: boolean;
37
+ requiresProfile?: boolean;
38
+ variables: ReadonlyArray<{
39
+ name: string;
40
+ required: boolean;
41
+ description: string;
42
+ }>;
43
+ }
44
+ export declare const HELPERS: ReadonlyArray<IHelperDefinition>;
45
+ export interface IHelperPlanOp {
46
+ targetPath: string;
47
+ operation: Record<string, unknown>;
48
+ }
49
+ export interface IHelperPlan {
50
+ schema: 'sharkcraft.helper-plan/v1';
51
+ helperId: HelperId;
52
+ variables: Record<string, string>;
53
+ ops: ReadonlyArray<IHelperPlanOp>;
54
+ manualSteps: ReadonlyArray<string>;
55
+ conflicts: ReadonlyArray<string>;
56
+ destructive: boolean;
57
+ humanReviewRequired: boolean;
58
+ }
59
+ /**
60
+ * Convert a helper plan into a saved plan (synthetic templateId) so
61
+ * it flows through `shrk apply`. Helper ops are persisted as v2 operation
62
+ * intents; the apply path evaluates them against the live file system.
63
+ * Unsigned by default; call `signPlan` separately when desired.
64
+ */
65
+ export declare const HELPER_SYNTHETIC_TEMPLATE = "__helper__";
66
+ export declare function helperPlanToSavedPlan(plan: IHelperPlan, projectRoot: string): {
67
+ schema: 'sharkcraft.plan/v2';
68
+ templateId: string;
69
+ variables: Record<string, string>;
70
+ projectRoot: string;
71
+ createdAt: string;
72
+ expectedChanges: {
73
+ type: string;
74
+ relativePath: string;
75
+ sizeBytes: number;
76
+ operation: Record<string, unknown>;
77
+ }[];
78
+ note?: string;
79
+ };
80
+ interface IHelperBuildInput {
81
+ helperId: HelperId;
82
+ projectRoot: string;
83
+ vars: Record<string, string>;
84
+ /** Required for helpers marked requiresProfile in HELPERS. */
85
+ profile?: IPluginLifecycleProfile;
86
+ }
87
+ export declare function buildHelperPlan(input: IHelperBuildInput): IHelperPlan;
88
+ export declare function renderHelperPlanText(plan: IHelperPlan): string;
89
+ export {};
90
+ //# sourceMappingURL=helper-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper-registry.d.ts","sourceRoot":"","sources":["../src/helper-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,QAAQ;IAClB,YAAY,wBAAwB;IACpC,eAAe,2BAA2B;IAC1C,eAAe,2BAA2B;IAC1C,eAAe,2BAA2B;IAC1C,kBAAkB,8BAA8B;IAChD,aAAa,yBAAyB;IACtC,gBAAgB,4BAA4B;IAC5C,sBAAsB,kCAAkC;IACxD,yBAAyB,qCAAqC;IAC9D,gBAAgB,4BAA4B;IAC5C,mBAAmB,+BAA+B;IAClD,kBAAkB,8BAA8B;IAChD,qBAAqB,kCAAkC;CACxD;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpF;AAED,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAqInD,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,2BAA2B,CAAC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAClC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,MAAM,GAClB;IACD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CA4CA;AAwCD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC;AAWD,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAiQrE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAuB9D"}