@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,172 @@
1
+ /**
2
+ * Changed-scope quality model v2.
3
+ *
4
+ * Generalised classification of any finding (boundary violation, policy
5
+ * failure, drift entry, quality issue, doctor warning…) against a set of
6
+ * changed files plus an optional baseline.
7
+ *
8
+ * Each finding falls into one of seven buckets:
9
+ *
10
+ * new-in-changed-file — finding lives in a changed file and was NOT
11
+ * in the baseline.
12
+ * existing-touched — finding exists in baseline AND the finding's
13
+ * file is in the changed set.
14
+ * existing-untouched-hidden — finding exists in baseline AND finding's file
15
+ * is not changed; suppressed from the
16
+ * "introduced by this change" view.
17
+ * resolved — finding existed in baseline but is no longer
18
+ * present in the current result.
19
+ * unknown — finding has no file path, so we cannot bucket
20
+ * it against changed files.
21
+ * unchanged — baseline and current both report this finding
22
+ * in an unchanged file. Same as
23
+ * existing-untouched-hidden but logically
24
+ * preserved as "no change".
25
+ * out-of-scope — finding lives outside any explicit scope the
26
+ * caller passed (e.g. a non-relevant package).
27
+ *
28
+ * Inputs are pure data — this module does not run git, does not read files,
29
+ * does not call out to language servers. Callers pre-compute the changed-file
30
+ * set with `resolveChangedFiles` from `boundaries-changed-only.ts` (or pass
31
+ * an explicit list), then feed everything in.
32
+ *
33
+ * Schema: sharkcraft.changed-scope/v1
34
+ */
35
+ import { resolve } from 'node:path';
36
+ export const CHANGED_SCOPE_SCHEMA = 'sharkcraft.changed-scope/v1';
37
+ export var ChangedFindingBucket;
38
+ (function (ChangedFindingBucket) {
39
+ ChangedFindingBucket["NewInChangedFile"] = "new-in-changed-file";
40
+ ChangedFindingBucket["ExistingTouched"] = "existing-touched";
41
+ ChangedFindingBucket["ExistingUntouchedHidden"] = "existing-untouched-hidden";
42
+ ChangedFindingBucket["Resolved"] = "resolved";
43
+ ChangedFindingBucket["Unknown"] = "unknown";
44
+ ChangedFindingBucket["Unchanged"] = "unchanged";
45
+ ChangedFindingBucket["OutOfScope"] = "out-of-scope";
46
+ })(ChangedFindingBucket || (ChangedFindingBucket = {}));
47
+ function normalisePath(input, projectRoot) {
48
+ if (!input)
49
+ return '';
50
+ if (input.startsWith('/') || /^[A-Za-z]:[\\/]/.test(input)) {
51
+ const rel = resolve(input).replace(resolve(projectRoot), '').replace(/^[\\/]+/, '');
52
+ return rel.split(/[\\/]/).join('/');
53
+ }
54
+ return input.split(/[\\/]/).join('/');
55
+ }
56
+ function isInSet(file, set) {
57
+ if (set.size === 0)
58
+ return false;
59
+ if (set.has(file))
60
+ return true;
61
+ for (const candidate of set) {
62
+ if (candidate && (file === candidate || file.endsWith('/' + candidate)))
63
+ return true;
64
+ }
65
+ return false;
66
+ }
67
+ export function classifyChangedScope(opts) {
68
+ const changedSet = new Set(opts.changedFiles.map((f) => f.split(/[\\/]/).join('/')));
69
+ const scopeSet = new Set((opts.scopeFiles ?? []).map((f) => f.split(/[\\/]/).join('/')));
70
+ const baselineKeys = new Set((opts.baseline ?? []).map((b) => b.key));
71
+ const baselineByKey = new Map();
72
+ for (const b of opts.baseline ?? [])
73
+ baselineByKey.set(b.key, b);
74
+ const currentKeys = new Set(opts.current.map((c) => c.key));
75
+ const classified = [];
76
+ const newIssues = [];
77
+ const existingTouched = [];
78
+ const hiddenBaseline = [];
79
+ const resolved = [];
80
+ for (const finding of opts.current) {
81
+ const file = normalisePath(finding.file, opts.projectRoot);
82
+ if (!file) {
83
+ classified.push({ finding, bucket: ChangedFindingBucket.Unknown });
84
+ continue;
85
+ }
86
+ if (scopeSet.size > 0 && !isInSet(file, scopeSet)) {
87
+ classified.push({ finding, bucket: ChangedFindingBucket.OutOfScope });
88
+ continue;
89
+ }
90
+ const inChanged = isInSet(file, changedSet);
91
+ const inBaseline = baselineKeys.has(finding.key);
92
+ if (inChanged && inBaseline) {
93
+ classified.push({ finding, bucket: ChangedFindingBucket.ExistingTouched });
94
+ existingTouched.push(finding);
95
+ continue;
96
+ }
97
+ if (inChanged && !inBaseline) {
98
+ classified.push({ finding, bucket: ChangedFindingBucket.NewInChangedFile });
99
+ newIssues.push(finding);
100
+ continue;
101
+ }
102
+ if (!inChanged && inBaseline) {
103
+ classified.push({ finding, bucket: ChangedFindingBucket.Unchanged });
104
+ hiddenBaseline.push(finding);
105
+ continue;
106
+ }
107
+ // not in changed, not in baseline — pre-existing in untouched file.
108
+ classified.push({ finding, bucket: ChangedFindingBucket.ExistingUntouchedHidden });
109
+ hiddenBaseline.push(finding);
110
+ }
111
+ for (const b of opts.baseline ?? []) {
112
+ if (!currentKeys.has(b.key)) {
113
+ classified.push({ finding: b, bucket: ChangedFindingBucket.Resolved });
114
+ resolved.push(b);
115
+ }
116
+ }
117
+ const counts = {
118
+ newInChangedFile: 0,
119
+ existingTouched: 0,
120
+ existingUntouchedHidden: 0,
121
+ resolved: 0,
122
+ unknown: 0,
123
+ unchanged: 0,
124
+ outOfScope: 0,
125
+ };
126
+ for (const c of classified) {
127
+ switch (c.bucket) {
128
+ case ChangedFindingBucket.NewInChangedFile:
129
+ counts.newInChangedFile += 1;
130
+ break;
131
+ case ChangedFindingBucket.ExistingTouched:
132
+ counts.existingTouched += 1;
133
+ break;
134
+ case ChangedFindingBucket.ExistingUntouchedHidden:
135
+ counts.existingUntouchedHidden += 1;
136
+ break;
137
+ case ChangedFindingBucket.Resolved:
138
+ counts.resolved += 1;
139
+ break;
140
+ case ChangedFindingBucket.Unknown:
141
+ counts.unknown += 1;
142
+ break;
143
+ case ChangedFindingBucket.Unchanged:
144
+ counts.unchanged += 1;
145
+ break;
146
+ case ChangedFindingBucket.OutOfScope:
147
+ counts.outOfScope += 1;
148
+ break;
149
+ }
150
+ }
151
+ return {
152
+ schema: CHANGED_SCOPE_SCHEMA,
153
+ changedFiles: opts.changedFiles,
154
+ classified,
155
+ counts,
156
+ newIssues,
157
+ existingTouched,
158
+ hiddenBaseline,
159
+ resolved,
160
+ };
161
+ }
162
+ /**
163
+ * Convenience helper for callers that want the headline numbers in
164
+ * one line of text.
165
+ */
166
+ export function summariseChangedScope(classification) {
167
+ const c = classification.counts;
168
+ return (`New issues introduced: ${c.newInChangedFile} | ` +
169
+ `Existing touched: ${c.existingTouched} | ` +
170
+ `Existing hidden baseline: ${c.existingUntouchedHidden + c.unchanged} | ` +
171
+ `Resolved: ${c.resolved}`);
172
+ }
@@ -0,0 +1,87 @@
1
+ import type { ISharkcraftInspection } from './sharkcraft-inspector.js';
2
+ export declare const CHANGES_SUMMARY_SCHEMA = "sharkcraft.changes-summary/v1";
3
+ export declare enum ChangeArea {
4
+ Cli = "cli",
5
+ McpServer = "mcp-server",
6
+ Inspector = "inspector",
7
+ Knowledge = "knowledge",
8
+ Templates = "templates",
9
+ Paths = "paths",
10
+ Pipelines = "pipelines",
11
+ Presets = "presets",
12
+ Boundaries = "boundaries",
13
+ Packs = "packs",
14
+ Core = "core",
15
+ Workspace = "workspace",
16
+ Config = "config",
17
+ PluginApi = "plugin-api",
18
+ Importer = "importer",
19
+ Generator = "generator",
20
+ PackContrib = "pack-contributions",
21
+ PackManifest = "pack-manifest",
22
+ Docs = "docs",
23
+ Tests = "tests",
24
+ Examples = "examples",
25
+ Scripts = "scripts",
26
+ E2E = "e2e",
27
+ Sharkcraft = "sharkcraft-self-config",
28
+ Reports = "reports",
29
+ Unknown = "unknown"
30
+ }
31
+ export interface IChangedFileSummary {
32
+ path: string;
33
+ area: ChangeArea;
34
+ isTest: boolean;
35
+ isDoc: boolean;
36
+ isMcpTool: boolean;
37
+ isCliCommand: boolean;
38
+ isSchema: boolean;
39
+ isPackAsset: boolean;
40
+ isSafetyRelevant: boolean;
41
+ }
42
+ export interface IChangesSummaryReport {
43
+ schema: typeof CHANGES_SUMMARY_SCHEMA;
44
+ generatedAt: string;
45
+ source: 'since' | 'staged' | 'files' | 'working-tree';
46
+ ref?: string;
47
+ /** Optional round / label that this diff represents. */
48
+ roundLabel?: string;
49
+ totalFiles: number;
50
+ filesByArea: Record<string, readonly string[]>;
51
+ files: readonly IChangedFileSummary[];
52
+ /** Touched CLI command files (relative). */
53
+ touchedCommands: readonly string[];
54
+ /** Touched MCP tool files. */
55
+ touchedMcpTools: readonly string[];
56
+ /** Touched JSON schema or schema-like files. */
57
+ touchedSchemas: readonly string[];
58
+ /** Touched docs files. */
59
+ touchedDocs: readonly string[];
60
+ /** Touched test files. */
61
+ touchedTests: readonly string[];
62
+ /** Touched pack manifest / pack assets. */
63
+ touchedPackAssets: readonly string[];
64
+ /** Touched safety-relevant files. */
65
+ safetyRelevantFiles: readonly string[];
66
+ /** Risk verdict — low | medium | high. */
67
+ risk: 'low' | 'medium' | 'high';
68
+ /** Reasons backing the risk verdict. */
69
+ riskReasons: readonly string[];
70
+ /** Suggested validation commands. */
71
+ suggestedValidationCommands: readonly string[];
72
+ /** Likely PR-title-style summary. */
73
+ likelyPrSummary: string;
74
+ }
75
+ export interface IChangesSummaryOptions {
76
+ /** Diff base (used with --since). */
77
+ since?: string;
78
+ /** Use git diff --cached. */
79
+ staged?: boolean;
80
+ /** Explicit file list, bypasses git. */
81
+ files?: readonly string[];
82
+ /** Optional round / label captured into the report (no behavioural effect). */
83
+ roundLabel?: string;
84
+ }
85
+ export declare function buildChangesSummary(inspection: ISharkcraftInspection, options?: IChangesSummaryOptions): Promise<IChangesSummaryReport>;
86
+ export declare function renderChangesSummaryMarkdown(report: IChangesSummaryReport): string;
87
+ //# sourceMappingURL=changes-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes-summary.d.ts","sourceRoot":"","sources":["../src/changes-summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Changes summary.
3
+ *
4
+ * Generic "what changed and what should I check?" report. Generates a
5
+ * grouped summary over git --since / --staged / --files and surfaces:
6
+ * - touched packages / areas
7
+ * - touched commands / MCP tools / schemas / docs / tests / pack assets
8
+ * - safety-relevant changes (boundaries, plan signing, MCP write surface)
9
+ * - risk summary
10
+ * - suggested validation commands
11
+ *
12
+ * Read-only; no AI; deterministic. Schema: sharkcraft.changes-summary/v1.
13
+ */
14
+ import { getChangedFiles } from "./git-helpers.js";
15
+ export const CHANGES_SUMMARY_SCHEMA = 'sharkcraft.changes-summary/v1';
16
+ export var ChangeArea;
17
+ (function (ChangeArea) {
18
+ ChangeArea["Cli"] = "cli";
19
+ ChangeArea["McpServer"] = "mcp-server";
20
+ ChangeArea["Inspector"] = "inspector";
21
+ ChangeArea["Knowledge"] = "knowledge";
22
+ ChangeArea["Templates"] = "templates";
23
+ ChangeArea["Paths"] = "paths";
24
+ ChangeArea["Pipelines"] = "pipelines";
25
+ ChangeArea["Presets"] = "presets";
26
+ ChangeArea["Boundaries"] = "boundaries";
27
+ ChangeArea["Packs"] = "packs";
28
+ ChangeArea["Core"] = "core";
29
+ ChangeArea["Workspace"] = "workspace";
30
+ ChangeArea["Config"] = "config";
31
+ ChangeArea["PluginApi"] = "plugin-api";
32
+ ChangeArea["Importer"] = "importer";
33
+ ChangeArea["Generator"] = "generator";
34
+ ChangeArea["PackContrib"] = "pack-contributions";
35
+ ChangeArea["PackManifest"] = "pack-manifest";
36
+ ChangeArea["Docs"] = "docs";
37
+ ChangeArea["Tests"] = "tests";
38
+ ChangeArea["Examples"] = "examples";
39
+ ChangeArea["Scripts"] = "scripts";
40
+ ChangeArea["E2E"] = "e2e";
41
+ ChangeArea["Sharkcraft"] = "sharkcraft-self-config";
42
+ ChangeArea["Reports"] = "reports";
43
+ ChangeArea["Unknown"] = "unknown";
44
+ })(ChangeArea || (ChangeArea = {}));
45
+ function classifyArea(file) {
46
+ if (file.startsWith('packages/cli/'))
47
+ return ChangeArea.Cli;
48
+ if (file.startsWith('packages/mcp-server/'))
49
+ return ChangeArea.McpServer;
50
+ if (file.startsWith('packages/inspector/'))
51
+ return ChangeArea.Inspector;
52
+ if (file.startsWith('packages/knowledge/'))
53
+ return ChangeArea.Knowledge;
54
+ if (file.startsWith('packages/templates/'))
55
+ return ChangeArea.Templates;
56
+ if (file.startsWith('packages/paths/'))
57
+ return ChangeArea.Paths;
58
+ if (file.startsWith('packages/pipelines/'))
59
+ return ChangeArea.Pipelines;
60
+ if (file.startsWith('packages/presets/'))
61
+ return ChangeArea.Presets;
62
+ if (file.startsWith('packages/boundaries/'))
63
+ return ChangeArea.Boundaries;
64
+ if (file.startsWith('packages/packs/'))
65
+ return ChangeArea.Packs;
66
+ if (file.startsWith('packages/core/'))
67
+ return ChangeArea.Core;
68
+ if (file.startsWith('packages/workspace/'))
69
+ return ChangeArea.Workspace;
70
+ if (file.startsWith('packages/config/'))
71
+ return ChangeArea.Config;
72
+ if (file.startsWith('packages/plugin-api/'))
73
+ return ChangeArea.PluginApi;
74
+ if (file.startsWith('packages/importer/'))
75
+ return ChangeArea.Importer;
76
+ if (file.startsWith('packages/generator/'))
77
+ return ChangeArea.Generator;
78
+ if (file.startsWith('docs/'))
79
+ return ChangeArea.Docs;
80
+ if (file.startsWith('e2e/'))
81
+ return ChangeArea.E2E;
82
+ if (file.startsWith('examples/'))
83
+ return ChangeArea.Examples;
84
+ if (file.startsWith('scripts/'))
85
+ return ChangeArea.Scripts;
86
+ if (file.startsWith('sharkcraft/'))
87
+ return ChangeArea.Sharkcraft;
88
+ if (file.startsWith('.sharkcraft/'))
89
+ return ChangeArea.Reports;
90
+ if (/(?:^|\/)[\w-]*sharkcraft-pack\//.test(file)) {
91
+ return ChangeArea.PackContrib;
92
+ }
93
+ return ChangeArea.Unknown;
94
+ }
95
+ function classifyFile(file) {
96
+ const area = classifyArea(file);
97
+ const lower = file.toLowerCase();
98
+ const isTest = lower.includes('__tests__/') ||
99
+ lower.endsWith('.test.ts') ||
100
+ lower.endsWith('.spec.ts') ||
101
+ lower.endsWith('.test.tsx') ||
102
+ lower.endsWith('.spec.tsx');
103
+ const isDoc = lower.endsWith('.md') || area === ChangeArea.Docs;
104
+ const isMcpTool = lower.startsWith('packages/mcp-server/src/tools/') && lower.endsWith('.ts');
105
+ const isCliCommand = lower.startsWith('packages/cli/src/commands/') && lower.endsWith('.ts');
106
+ const isSchema = lower.includes('schema') && (lower.endsWith('.json') || lower.endsWith('.ts'));
107
+ const isPackAsset = area === ChangeArea.PackContrib || area === ChangeArea.Packs;
108
+ const isSafetyRelevant = isMcpTool ||
109
+ lower.includes('safety-audit') ||
110
+ lower.includes('command-catalog') ||
111
+ lower.includes('plan-signing') ||
112
+ lower.includes('boundaries-changed-only') ||
113
+ lower.includes('apply.command') ||
114
+ lower.startsWith('packages/generator/src/plan');
115
+ return {
116
+ path: file,
117
+ area,
118
+ isTest,
119
+ isDoc,
120
+ isMcpTool,
121
+ isCliCommand,
122
+ isSchema,
123
+ isPackAsset,
124
+ isSafetyRelevant,
125
+ };
126
+ }
127
+ function groupByArea(files) {
128
+ const out = {};
129
+ for (const f of files) {
130
+ const key = f.area;
131
+ if (!out[key])
132
+ out[key] = [];
133
+ out[key].push(f.path);
134
+ }
135
+ for (const key of Object.keys(out))
136
+ out[key].sort();
137
+ return out;
138
+ }
139
+ function computeRisk(files) {
140
+ const reasons = [];
141
+ let score = 0;
142
+ const mcpCount = files.filter((f) => f.isMcpTool).length;
143
+ if (mcpCount > 0) {
144
+ reasons.push(`${mcpCount} MCP tool file(s) touched — run safety audit`);
145
+ score += 3;
146
+ }
147
+ const safetyCount = files.filter((f) => f.isSafetyRelevant).length;
148
+ if (safetyCount > 0) {
149
+ reasons.push(`${safetyCount} safety-relevant file(s) touched`);
150
+ score += 2;
151
+ }
152
+ const writeCmd = files.filter((f) => f.isCliCommand &&
153
+ (f.path.includes('apply') || f.path.includes('gen') || f.path.includes('init'))).length;
154
+ if (writeCmd > 0) {
155
+ reasons.push(`${writeCmd} write-path command file(s) touched`);
156
+ score += 2;
157
+ }
158
+ const packCount = files.filter((f) => f.isPackAsset).length;
159
+ if (packCount > 0) {
160
+ reasons.push(`${packCount} pack asset file(s) touched — re-sign before publish`);
161
+ score += 1;
162
+ }
163
+ if (files.length > 25) {
164
+ reasons.push(`${files.length} files changed — large diff`);
165
+ score += 1;
166
+ }
167
+ if (score >= 5)
168
+ return { risk: 'high', reasons };
169
+ if (score >= 2)
170
+ return { risk: 'medium', reasons };
171
+ return { risk: 'low', reasons };
172
+ }
173
+ function suggestValidationCommands(files) {
174
+ const out = new Set();
175
+ out.add('bun x tsc -p tsconfig.base.json --noEmit');
176
+ out.add('bun test');
177
+ if (files.some((f) => f.isMcpTool)) {
178
+ out.add('shrk safety audit --deep');
179
+ out.add('shrk commands doctor');
180
+ }
181
+ if (files.some((f) => f.isCliCommand)) {
182
+ out.add('shrk commands doctor');
183
+ out.add('shrk commands ux-check');
184
+ }
185
+ if (files.some((f) => f.area === ChangeArea.Knowledge || f.area === ChangeArea.Sharkcraft)) {
186
+ out.add('shrk doctor');
187
+ out.add('shrk knowledge stale-check --ci');
188
+ }
189
+ if (files.some((f) => f.area === ChangeArea.Templates || f.path.includes('templates'))) {
190
+ out.add('shrk templates drift --min-severity warning');
191
+ }
192
+ if (files.some((f) => f.area === ChangeArea.Boundaries || f.path.endsWith('boundaries.ts'))) {
193
+ out.add('shrk check boundaries --changed-only');
194
+ }
195
+ if (files.some((f) => f.isPackAsset)) {
196
+ out.add('shrk packs doctor');
197
+ out.add('shrk packs verify');
198
+ }
199
+ if (files.some((f) => f.area === ChangeArea.Inspector)) {
200
+ out.add('shrk product check');
201
+ }
202
+ return Array.from(out);
203
+ }
204
+ function buildPrSummary(files) {
205
+ const areaCounts = new Map();
206
+ for (const f of files)
207
+ areaCounts.set(f.area, (areaCounts.get(f.area) ?? 0) + 1);
208
+ const top = [...areaCounts.entries()].sort((a, b) => b[1] - a[1]).slice(0, 3);
209
+ if (top.length === 0)
210
+ return 'No changes';
211
+ return `Changes across: ${top.map(([a, c]) => `${a} (${c})`).join(', ')}`;
212
+ }
213
+ export async function buildChangesSummary(inspection, options = {}) {
214
+ const cwd = inspection.projectRoot;
215
+ let changedFiles = [];
216
+ let source = 'working-tree';
217
+ let ref;
218
+ if (options.files && options.files.length > 0) {
219
+ changedFiles = options.files;
220
+ source = 'files';
221
+ }
222
+ else if (options.staged) {
223
+ changedFiles = getChangedFiles(cwd, { staged: true });
224
+ source = 'staged';
225
+ }
226
+ else if (options.since) {
227
+ changedFiles = getChangedFiles(cwd, { since: options.since });
228
+ source = 'since';
229
+ ref = options.since;
230
+ }
231
+ else {
232
+ changedFiles = getChangedFiles(cwd, {});
233
+ source = 'working-tree';
234
+ }
235
+ const classified = changedFiles.map(classifyFile);
236
+ const filesByArea = groupByArea(classified);
237
+ const touchedCommands = classified.filter((c) => c.isCliCommand).map((c) => c.path);
238
+ const touchedMcpTools = classified.filter((c) => c.isMcpTool).map((c) => c.path);
239
+ const touchedSchemas = classified.filter((c) => c.isSchema).map((c) => c.path);
240
+ const touchedDocs = classified.filter((c) => c.isDoc).map((c) => c.path);
241
+ const touchedTests = classified.filter((c) => c.isTest).map((c) => c.path);
242
+ const touchedPackAssets = classified.filter((c) => c.isPackAsset).map((c) => c.path);
243
+ const safetyRelevantFiles = classified.filter((c) => c.isSafetyRelevant).map((c) => c.path);
244
+ const { risk, reasons } = computeRisk(classified);
245
+ return {
246
+ schema: CHANGES_SUMMARY_SCHEMA,
247
+ generatedAt: new Date().toISOString(),
248
+ source,
249
+ ...(ref ? { ref } : {}),
250
+ ...(options.roundLabel ? { roundLabel: options.roundLabel } : {}),
251
+ totalFiles: classified.length,
252
+ filesByArea,
253
+ files: classified,
254
+ touchedCommands,
255
+ touchedMcpTools,
256
+ touchedSchemas,
257
+ touchedDocs,
258
+ touchedTests,
259
+ touchedPackAssets,
260
+ safetyRelevantFiles,
261
+ risk,
262
+ riskReasons: reasons,
263
+ suggestedValidationCommands: suggestValidationCommands(classified),
264
+ likelyPrSummary: buildPrSummary(classified),
265
+ };
266
+ }
267
+ export function renderChangesSummaryMarkdown(report) {
268
+ const lines = [];
269
+ lines.push('# Changes summary');
270
+ lines.push(`Generated: ${report.generatedAt}`);
271
+ lines.push(`Source: ${report.source}${report.ref ? ` (ref=${report.ref})` : ''}`);
272
+ lines.push('');
273
+ lines.push(`- total files: ${report.totalFiles}`);
274
+ lines.push(`- risk: **${report.risk}**`);
275
+ if (report.riskReasons.length > 0) {
276
+ lines.push(' - ' + report.riskReasons.join('\n - '));
277
+ }
278
+ lines.push('');
279
+ lines.push('## Files by area');
280
+ for (const [area, files] of Object.entries(report.filesByArea)) {
281
+ lines.push(`### ${area} (${files.length})`);
282
+ for (const f of files)
283
+ lines.push(`- ${f}`);
284
+ }
285
+ if (report.touchedCommands.length > 0) {
286
+ lines.push('');
287
+ lines.push('## Touched CLI commands');
288
+ for (const c of report.touchedCommands)
289
+ lines.push(`- ${c}`);
290
+ }
291
+ if (report.touchedMcpTools.length > 0) {
292
+ lines.push('');
293
+ lines.push('## Touched MCP tools (read-only invariant — verify!)');
294
+ for (const t of report.touchedMcpTools)
295
+ lines.push(`- ${t}`);
296
+ }
297
+ if (report.touchedDocs.length > 0) {
298
+ lines.push('');
299
+ lines.push('## Touched docs');
300
+ for (const d of report.touchedDocs)
301
+ lines.push(`- ${d}`);
302
+ }
303
+ if (report.touchedTests.length > 0) {
304
+ lines.push('');
305
+ lines.push('## Touched tests');
306
+ for (const t of report.touchedTests)
307
+ lines.push(`- ${t}`);
308
+ }
309
+ if (report.touchedPackAssets.length > 0) {
310
+ lines.push('');
311
+ lines.push('## Touched pack assets (re-sign before publish)');
312
+ for (const p of report.touchedPackAssets)
313
+ lines.push(`- ${p}`);
314
+ }
315
+ lines.push('');
316
+ lines.push('## Suggested validation commands');
317
+ for (const c of report.suggestedValidationCommands)
318
+ lines.push(`- \`${c}\``);
319
+ lines.push('');
320
+ lines.push('## Likely PR summary');
321
+ lines.push(`> ${report.likelyPrSummary}`);
322
+ return lines.join('\n') + '\n';
323
+ }
@@ -0,0 +1,90 @@
1
+ export declare const CHECK_RESULT_SCHEMA = "sharkcraft.check-result/v1";
2
+ export declare const CHECK_AGGREGATE_SCHEMA = "sharkcraft.check-aggregate/v1";
3
+ export declare enum CheckResultStatus {
4
+ Pass = "pass",
5
+ Warn = "warn",
6
+ Fail = "fail",
7
+ Unknown = "unknown"
8
+ }
9
+ export declare enum CheckFindingSeverity {
10
+ Error = "error",
11
+ Warning = "warning",
12
+ Info = "info"
13
+ }
14
+ export interface ICheckFinding {
15
+ severity: CheckFindingSeverity;
16
+ file?: string;
17
+ line?: number;
18
+ column?: number;
19
+ ruleId?: string;
20
+ message: string;
21
+ suggestedAction?: string;
22
+ safeToAutoFix?: boolean;
23
+ metadata?: Record<string, unknown>;
24
+ }
25
+ export interface ICheckResultSummary {
26
+ errors: number;
27
+ warnings: number;
28
+ infos: number;
29
+ total: number;
30
+ }
31
+ export interface ICheckResult {
32
+ schema: typeof CHECK_RESULT_SCHEMA;
33
+ tool: string;
34
+ command?: string;
35
+ generatedAt: string;
36
+ status: CheckResultStatus;
37
+ findings: readonly ICheckFinding[];
38
+ summary: ICheckResultSummary;
39
+ metadata?: Record<string, unknown>;
40
+ sourceReportPath?: string;
41
+ }
42
+ export interface IParseResultOk {
43
+ ok: true;
44
+ result: ICheckResult;
45
+ }
46
+ export interface IParseResultErr {
47
+ ok: false;
48
+ reason: string;
49
+ }
50
+ export type ParseCheckResult = IParseResultOk | IParseResultErr;
51
+ export interface IBuildCheckResultInput {
52
+ tool: string;
53
+ command?: string;
54
+ findings: readonly ICheckFinding[];
55
+ sourceReportPath?: string;
56
+ metadata?: Record<string, unknown>;
57
+ /** Force a specific status (overrides the auto-derived one). */
58
+ status?: CheckResultStatus;
59
+ }
60
+ export declare function buildCheckResult(input: IBuildCheckResultInput): ICheckResult;
61
+ export declare function parseCheckResult(raw: string): ParseCheckResult;
62
+ export declare function parseCheckResultFromFile(path: string): ParseCheckResult;
63
+ export declare function convertEslintToCheckResult(raw: string, sourceReportPath?: string): ParseCheckResult;
64
+ /**
65
+ * Biome's JSON output is not a stable contract. We accept either:
66
+ * - the adjacent shape: { diagnostics: [{ category, severity, description, location: { path, line?, column? } }] }
67
+ * - native Biome `--reporter github`-ish: { diagnostics: [{ severity, description, location }] }
68
+ * Anything else returns a clear reason.
69
+ */
70
+ export declare function convertBiomeToCheckResult(raw: string, sourceReportPath?: string): ParseCheckResult;
71
+ export interface ICheckAggregateEntry {
72
+ tool: string;
73
+ status: CheckResultStatus;
74
+ summary: ICheckResultSummary;
75
+ sourceReportPath: string;
76
+ }
77
+ export interface ICheckAggregate {
78
+ schema: typeof CHECK_AGGREGATE_SCHEMA;
79
+ generatedAt: string;
80
+ overall: CheckResultStatus;
81
+ total: ICheckResultSummary;
82
+ entries: readonly ICheckAggregateEntry[];
83
+ /** Findings rolled up across every imported result. */
84
+ findings: readonly ICheckFinding[];
85
+ }
86
+ export declare function buildCheckAggregate(results: readonly {
87
+ result: ICheckResult;
88
+ sourceReportPath: string;
89
+ }[]): ICheckAggregate;
90
+ //# sourceMappingURL=check-result-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-result-v1.d.ts","sourceRoot":"","sources":["../src/check-result-v1.ts"],"names":[],"mappings":"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"}