kibi-cli 1.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/dist/cli-errors.d.ts +3 -1
  2. package/dist/cli-errors.d.ts.map +1 -1
  3. package/dist/cli-errors.js +4 -1
  4. package/dist/cli-json-command.d.ts +1 -0
  5. package/dist/cli-json-command.d.ts.map +1 -1
  6. package/dist/cli-json-command.js +13 -4
  7. package/dist/cli-operation-loader.js +3 -3
  8. package/dist/cli-operation-metadata.d.ts +4 -3
  9. package/dist/cli-operation-metadata.d.ts.map +1 -1
  10. package/dist/cli-operation-metadata.js +7 -5
  11. package/dist/cli-protocol.js +1 -1
  12. package/dist/cli-register-maintenance.d.ts.map +1 -1
  13. package/dist/cli-register-maintenance.js +7 -0
  14. package/dist/cli-register-proof.d.ts +3 -0
  15. package/dist/cli-register-proof.d.ts.map +1 -0
  16. package/dist/cli-register-proof.js +127 -0
  17. package/dist/cli-register-reporting.d.ts.map +1 -1
  18. package/dist/cli-register-reporting.js +7 -0
  19. package/dist/cli.d.ts +4 -0
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +19 -10
  22. package/dist/commands/branch.d.ts +1 -0
  23. package/dist/commands/branch.d.ts.map +1 -1
  24. package/dist/commands/branch.js +8 -4
  25. package/dist/commands/check-generated.d.ts +7 -0
  26. package/dist/commands/check-generated.d.ts.map +1 -0
  27. package/dist/commands/check-generated.js +192 -0
  28. package/dist/commands/check.d.ts +14 -0
  29. package/dist/commands/check.d.ts.map +1 -1
  30. package/dist/commands/check.js +193 -46
  31. package/dist/commands/coverage.d.ts +1 -0
  32. package/dist/commands/coverage.d.ts.map +1 -1
  33. package/dist/commands/coverage.js +6 -0
  34. package/dist/commands/doctor.d.ts +22 -0
  35. package/dist/commands/doctor.d.ts.map +1 -1
  36. package/dist/commands/doctor.js +170 -23
  37. package/dist/commands/engine.d.ts +12 -0
  38. package/dist/commands/engine.d.ts.map +1 -1
  39. package/dist/commands/engine.js +42 -0
  40. package/dist/commands/github-init.d.ts +1 -0
  41. package/dist/commands/github-init.d.ts.map +1 -1
  42. package/dist/commands/github-init.js +9 -5
  43. package/dist/commands/init-helpers.d.ts.map +1 -1
  44. package/dist/commands/init-helpers.js +49 -10
  45. package/dist/commands/migrate.d.ts +4 -0
  46. package/dist/commands/migrate.d.ts.map +1 -1
  47. package/dist/commands/migrate.js +7 -7
  48. package/dist/commands/proof-explain.d.ts +10 -0
  49. package/dist/commands/proof-explain.d.ts.map +1 -0
  50. package/dist/commands/proof-explain.js +45 -0
  51. package/dist/commands/proof-impact.d.ts +7 -0
  52. package/dist/commands/proof-impact.d.ts.map +1 -0
  53. package/dist/commands/proof-impact.js +39 -0
  54. package/dist/commands/proof-migrate-legacy.d.ts +7 -0
  55. package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
  56. package/dist/commands/proof-migrate-legacy.js +45 -0
  57. package/dist/commands/proof-prune.d.ts +8 -0
  58. package/dist/commands/proof-prune.d.ts.map +1 -0
  59. package/dist/commands/proof-prune.js +53 -0
  60. package/dist/commands/prove.d.ts +37 -0
  61. package/dist/commands/prove.d.ts.map +1 -0
  62. package/dist/commands/prove.js +470 -0
  63. package/dist/commands/report.d.ts.map +1 -1
  64. package/dist/commands/report.js +18 -3
  65. package/dist/commands/sync/discovery.d.ts +3 -0
  66. package/dist/commands/sync/discovery.d.ts.map +1 -1
  67. package/dist/commands/sync/discovery.js +36 -28
  68. package/dist/commands/sync/manifest.d.ts +2 -1
  69. package/dist/commands/sync/manifest.d.ts.map +1 -1
  70. package/dist/commands/sync/manifest.js +55 -21
  71. package/dist/commands/sync/persistence.d.ts +4 -1
  72. package/dist/commands/sync/persistence.d.ts.map +1 -1
  73. package/dist/commands/sync/persistence.js +31 -14
  74. package/dist/commands/sync/staging.d.ts +1 -0
  75. package/dist/commands/sync/staging.d.ts.map +1 -1
  76. package/dist/commands/sync/staging.js +5 -2
  77. package/dist/commands/sync/untracked-targets.d.ts +24 -0
  78. package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
  79. package/dist/commands/sync/untracked-targets.js +108 -0
  80. package/dist/commands/sync.d.ts +11 -1
  81. package/dist/commands/sync.d.ts.map +1 -1
  82. package/dist/commands/sync.js +74 -30
  83. package/dist/engine-daemon.d.ts +3 -1
  84. package/dist/engine-daemon.d.ts.map +1 -1
  85. package/dist/engine-daemon.js +49 -20
  86. package/dist/engine.d.ts +17 -77
  87. package/dist/engine.d.ts.map +1 -1
  88. package/dist/engine.js +331 -91
  89. package/dist/env/bootstrap.d.ts +84 -0
  90. package/dist/env/bootstrap.d.ts.map +1 -0
  91. package/dist/env/bootstrap.js +310 -0
  92. package/dist/extractors/manifest.d.ts +5 -0
  93. package/dist/extractors/manifest.d.ts.map +1 -1
  94. package/dist/extractors/manifest.js +46 -1
  95. package/dist/extractors/markdown.d.ts +7 -3
  96. package/dist/extractors/markdown.d.ts.map +1 -1
  97. package/dist/extractors/markdown.js +60 -24
  98. package/dist/extractors/playwright-cases.js +1 -1
  99. package/dist/extractors/relationships.d.ts +6 -0
  100. package/dist/extractors/relationships.d.ts.map +1 -1
  101. package/dist/extractors/relationships.js +1 -1
  102. package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
  103. package/dist/extractors/symbols-coordinator.d.ts +8 -0
  104. package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
  105. package/dist/extractors/symbols-coordinator.js +40 -0
  106. package/dist/extractors/symbols-ts.d.ts +9 -19
  107. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  108. package/dist/extractors/symbols-ts.js +34 -429
  109. package/dist/intent-search.d.ts +1 -0
  110. package/dist/intent-search.d.ts.map +1 -1
  111. package/dist/intent-search.js +11 -8
  112. package/dist/logic/ir.d.ts +1 -0
  113. package/dist/logic/ir.d.ts.map +1 -1
  114. package/dist/logic/ir.js +1 -1
  115. package/dist/operations/bootstrap/activation.d.ts +2 -1
  116. package/dist/operations/bootstrap/activation.d.ts.map +1 -1
  117. package/dist/operations/bootstrap/activation.js +11 -3
  118. package/dist/operations/bootstrap/generate.d.ts +2 -1
  119. package/dist/operations/bootstrap/generate.d.ts.map +1 -1
  120. package/dist/operations/bootstrap/generate.js +6 -3
  121. package/dist/operations/bootstrap/guidance.d.ts +1 -0
  122. package/dist/operations/bootstrap/guidance.d.ts.map +1 -1
  123. package/dist/operations/bootstrap/guidance.js +1 -1
  124. package/dist/operations/modeling/model-requirement.d.ts +5 -0
  125. package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
  126. package/dist/operations/modeling/model-requirement.js +57 -46
  127. package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -1
  128. package/dist/operations/modeling/predicate-applicability.js +103 -4
  129. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
  130. package/dist/operations/modeling/predicate-catalog-2.js +18 -2
  131. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
  132. package/dist/operations/modeling/predicate-catalog-3.js +17 -1
  133. package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
  134. package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
  135. package/dist/operations/modeling/predicate-catalog-5.js +291 -0
  136. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
  137. package/dist/operations/modeling/predicate-catalog.js +4 -0
  138. package/dist/operations/modeling/predicate-loader.d.ts +1 -0
  139. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
  140. package/dist/operations/modeling/predicate-loader.js +4 -3
  141. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
  142. package/dist/operations/modeling/predicate-ranker.js +4 -1
  143. package/dist/operations/modeling/predicate-types.d.ts +1 -1
  144. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  145. package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
  146. package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
  147. package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
  148. package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
  149. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  150. package/dist/operations/modeling/suggest-predicates.js +82 -22
  151. package/dist/operations/mutation/contradictions.d.ts +2 -1
  152. package/dist/operations/mutation/contradictions.d.ts.map +1 -1
  153. package/dist/operations/mutation/contradictions.js +26 -5
  154. package/dist/operations/mutation/delete.d.ts +3 -0
  155. package/dist/operations/mutation/delete.d.ts.map +1 -1
  156. package/dist/operations/mutation/delete.js +100 -32
  157. package/dist/operations/mutation/relationships.d.ts +1 -0
  158. package/dist/operations/mutation/relationships.d.ts.map +1 -1
  159. package/dist/operations/mutation/relationships.js +6 -4
  160. package/dist/operations/mutation/saga.d.ts +51 -0
  161. package/dist/operations/mutation/saga.d.ts.map +1 -0
  162. package/dist/operations/mutation/saga.js +67 -0
  163. package/dist/operations/mutation/serialization.d.ts.map +1 -1
  164. package/dist/operations/mutation/serialization.js +3 -2
  165. package/dist/operations/mutation/source-authoring.d.ts +5 -1
  166. package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
  167. package/dist/operations/mutation/source-authoring.js +79 -46
  168. package/dist/operations/mutation/strict-fact.d.ts +1 -0
  169. package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
  170. package/dist/operations/mutation/strict-fact.js +8 -5
  171. package/dist/operations/mutation/symbol-compiler-lock.d.ts +5 -2
  172. package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -1
  173. package/dist/operations/mutation/symbol-compiler-lock.js +65 -2
  174. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
  175. package/dist/operations/mutation/symbol-granularity.js +11 -89
  176. package/dist/operations/mutation/symbol-refresh.d.ts +1 -0
  177. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
  178. package/dist/operations/mutation/symbol-refresh.js +10 -8
  179. package/dist/operations/mutation/upsert.d.ts +18 -2
  180. package/dist/operations/mutation/upsert.d.ts.map +1 -1
  181. package/dist/operations/mutation/upsert.js +86 -54
  182. package/dist/operations/mutation/validate-upsert.js +2 -2
  183. package/dist/operations/mutation/validation.d.ts.map +1 -1
  184. package/dist/operations/mutation/validation.js +46 -4
  185. package/dist/operations/mutation/warnings.d.ts +1 -0
  186. package/dist/operations/mutation/warnings.d.ts.map +1 -1
  187. package/dist/operations/mutation/warnings.js +7 -5
  188. package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
  189. package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
  190. package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
  191. package/dist/operations/planning/apply-plan.d.ts +8 -106
  192. package/dist/operations/planning/apply-plan.d.ts.map +1 -1
  193. package/dist/operations/planning/apply-plan.js +113 -36
  194. package/dist/operations/planning/compile-intent.d.ts +51 -0
  195. package/dist/operations/planning/compile-intent.d.ts.map +1 -1
  196. package/dist/operations/planning/compile-intent.js +133 -17
  197. package/dist/operations/proof/baseline-diff.d.ts +41 -0
  198. package/dist/operations/proof/baseline-diff.d.ts.map +1 -0
  199. package/dist/operations/proof/baseline-diff.js +153 -0
  200. package/dist/operations/proof/explain.d.ts +75 -0
  201. package/dist/operations/proof/explain.d.ts.map +1 -0
  202. package/dist/operations/proof/explain.js +294 -0
  203. package/dist/operations/proof/impact.d.ts +45 -0
  204. package/dist/operations/proof/impact.d.ts.map +1 -0
  205. package/dist/operations/proof/impact.js +118 -0
  206. package/dist/operations/proof/ingest-proof.d.ts +34 -0
  207. package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
  208. package/dist/operations/proof/ingest-proof.js +348 -0
  209. package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
  210. package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
  211. package/dist/operations/proof/migrate-legacy-receipts.js +92 -0
  212. package/dist/operations/proof/prune-receipts.d.ts +35 -0
  213. package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
  214. package/dist/operations/proof/prune-receipts.js +91 -0
  215. package/dist/operations/proof/receipt-document.d.ts +29 -0
  216. package/dist/operations/proof/receipt-document.d.ts.map +1 -0
  217. package/dist/operations/proof/receipt-document.js +117 -0
  218. package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -1
  219. package/dist/operations/semantic-advisor/analysis-receipt.js +3 -9
  220. package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
  221. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  222. package/dist/operations/semantic-advisor/analyze-prose.js +64 -93
  223. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
  224. package/dist/operations/semantic-advisor/clauses.js +20 -7
  225. package/dist/operations/semantic-advisor/plugin-orchestration.d.ts +63 -0
  226. package/dist/operations/semantic-advisor/plugin-orchestration.d.ts.map +1 -0
  227. package/dist/operations/semantic-advisor/plugin-orchestration.js +489 -0
  228. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +15 -2
  229. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -1
  230. package/dist/operations/semantic-advisor/predicate-rules-core.js +7 -140
  231. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +11 -12
  232. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -1
  233. package/dist/operations/semantic-advisor/predicate-rules-launcher.js +6 -94
  234. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +16 -0
  235. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -1
  236. package/dist/operations/semantic-advisor/predicate-rules-policy.js +7 -150
  237. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +9 -0
  238. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -1
  239. package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +7 -102
  240. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +13 -0
  241. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -1
  242. package/dist/operations/semantic-advisor/predicate-rules-product.js +7 -133
  243. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
  244. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
  245. package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
  246. package/dist/operations/semantic-advisor/types.d.ts +1 -0
  247. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  248. package/dist/plugins/compose-ontology-packs.d.ts +51 -0
  249. package/dist/plugins/compose-ontology-packs.d.ts.map +1 -0
  250. package/dist/plugins/compose-ontology-packs.js +257 -0
  251. package/dist/plugins/compose-semantic-classifier.d.ts +42 -0
  252. package/dist/plugins/compose-semantic-classifier.d.ts.map +1 -0
  253. package/dist/plugins/compose-semantic-classifier.js +211 -0
  254. package/dist/plugins/external-allowlist.d.ts +10 -0
  255. package/dist/plugins/external-allowlist.d.ts.map +1 -0
  256. package/dist/plugins/external-allowlist.js +16 -0
  257. package/dist/plugins/index.d.ts +9 -0
  258. package/dist/plugins/index.d.ts.map +1 -0
  259. package/dist/plugins/index.js +33 -0
  260. package/dist/plugins/load-plugin.d.ts +19 -0
  261. package/dist/plugins/load-plugin.d.ts.map +1 -0
  262. package/dist/plugins/load-plugin.js +59 -0
  263. package/dist/plugins/project-config.d.ts +28 -0
  264. package/dist/plugins/project-config.d.ts.map +1 -0
  265. package/dist/plugins/project-config.js +90 -0
  266. package/dist/plugins/registry.d.ts +93 -0
  267. package/dist/plugins/registry.d.ts.map +1 -0
  268. package/dist/plugins/registry.js +338 -0
  269. package/dist/plugins/resolve-package.d.ts +47 -0
  270. package/dist/plugins/resolve-package.d.ts.map +1 -0
  271. package/dist/plugins/resolve-package.js +262 -0
  272. package/dist/plugins/source-analysis-service.d.ts +44 -0
  273. package/dist/plugins/source-analysis-service.d.ts.map +1 -0
  274. package/dist/plugins/source-analysis-service.js +232 -0
  275. package/dist/prolog/codec.d.ts +13 -1
  276. package/dist/prolog/codec.d.ts.map +1 -1
  277. package/dist/prolog/codec.js +269 -154
  278. package/dist/prolog/error-terms.d.ts +47 -0
  279. package/dist/prolog/error-terms.d.ts.map +1 -0
  280. package/dist/prolog/error-terms.js +334 -0
  281. package/dist/prolog/janitor.d.ts +50 -0
  282. package/dist/prolog/janitor.d.ts.map +1 -0
  283. package/dist/prolog/janitor.js +154 -0
  284. package/dist/prolog/store-lock.d.ts +45 -0
  285. package/dist/prolog/store-lock.d.ts.map +1 -0
  286. package/dist/prolog/store-lock.js +195 -0
  287. package/dist/prolog.d.ts +7 -0
  288. package/dist/prolog.d.ts.map +1 -1
  289. package/dist/prolog.js +55 -17
  290. package/dist/proof/evaluate.d.ts +27 -0
  291. package/dist/proof/evaluate.d.ts.map +1 -0
  292. package/dist/proof/evaluate.js +151 -0
  293. package/dist/proof/inspect.d.ts +12 -0
  294. package/dist/proof/inspect.d.ts.map +1 -0
  295. package/dist/proof/inspect.js +236 -0
  296. package/dist/proof/integrations.d.ts +35 -0
  297. package/dist/proof/integrations.d.ts.map +1 -0
  298. package/dist/proof/integrations.js +123 -0
  299. package/dist/proof/producers/junit-adapter.d.ts +26 -0
  300. package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
  301. package/dist/proof/producers/junit-adapter.js +186 -0
  302. package/dist/{public → proof/producers}/playwright-case-id.d.ts +1 -1
  303. package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
  304. package/dist/{public → proof/producers}/playwright-case-id.js +1 -1
  305. package/dist/proof/producers/playwright-reporter.d.ts +27 -0
  306. package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
  307. package/dist/proof/producers/playwright-reporter.js +138 -0
  308. package/dist/proof/producers/tap-adapter.d.ts +10 -0
  309. package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
  310. package/dist/proof/producers/tap-adapter.js +200 -0
  311. package/dist/proof/receipt-outcome.d.ts +2 -0
  312. package/dist/proof/receipt-outcome.d.ts.map +1 -0
  313. package/dist/proof/receipt-outcome.js +1 -0
  314. package/dist/public/diagnostic-usage.js +6 -6
  315. package/dist/public/distribution-parity.d.ts +7 -1
  316. package/dist/public/distribution-parity.d.ts.map +1 -1
  317. package/dist/public/distribution-parity.js +15 -10
  318. package/dist/public/extractors/symbols-coordinator.d.ts +1 -1
  319. package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
  320. package/dist/public/extractors/symbols-coordinator.js +1 -1
  321. package/dist/public/impact/analyzer.d.ts +1 -1
  322. package/dist/public/impact/analyzer.d.ts.map +1 -1
  323. package/dist/public/impact/analyzer.js +6 -4
  324. package/dist/public/impact/coverage-depth-quality.d.ts +1 -0
  325. package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
  326. package/dist/public/impact/coverage-depth-quality.js +1 -1
  327. package/dist/public/impact/diagnostics.d.ts.map +1 -1
  328. package/dist/public/impact/diagnostics.js +2 -2
  329. package/dist/public/impact/diff-meaning.d.ts +1 -0
  330. package/dist/public/impact/diff-meaning.d.ts.map +1 -1
  331. package/dist/public/impact/diff-meaning.js +5 -2
  332. package/dist/public/impact/full-kb-quality.d.ts +5 -2
  333. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  334. package/dist/public/impact/full-kb-quality.js +329 -64
  335. package/dist/public/operations/catalog.d.ts +450 -196
  336. package/dist/public/operations/catalog.d.ts.map +1 -1
  337. package/dist/public/operations/catalog.js +6 -4
  338. package/dist/public/operations/check-executor.d.ts.map +1 -1
  339. package/dist/public/operations/check-executor.js +4 -8
  340. package/dist/public/operations/check-helpers.d.ts +1 -1
  341. package/dist/public/operations/check-helpers.d.ts.map +1 -1
  342. package/dist/public/operations/check-helpers.js +1 -1
  343. package/dist/public/operations/contracts.d.ts +7 -0
  344. package/dist/public/operations/contracts.d.ts.map +1 -1
  345. package/dist/public/operations/contracts.js +66 -34
  346. package/dist/public/operations/discovery-entities.d.ts +15 -0
  347. package/dist/public/operations/discovery-entities.d.ts.map +1 -1
  348. package/dist/public/operations/discovery-entities.js +38 -0
  349. package/dist/public/operations/discovery-executors.d.ts +9 -9
  350. package/dist/public/operations/discovery-executors.d.ts.map +1 -1
  351. package/dist/public/operations/discovery-executors.js +39 -31
  352. package/dist/public/operations/index.d.ts +1 -1
  353. package/dist/public/operations/index.d.ts.map +1 -1
  354. package/dist/public/operations/index.js +1 -1
  355. package/dist/public/operations/migration-plan.d.ts +4 -3
  356. package/dist/public/operations/migration-plan.d.ts.map +1 -1
  357. package/dist/public/operations/migration-plan.js +23 -21
  358. package/dist/public/operations/node-ports.js +6 -6
  359. package/dist/public/operations/prolog-json.d.ts +1 -1
  360. package/dist/public/operations/prolog-json.d.ts.map +1 -1
  361. package/dist/public/operations/prolog-json.js +7 -7
  362. package/dist/public/operations/repair-plan.d.ts +3 -3
  363. package/dist/public/operations/repair-plan.d.ts.map +1 -1
  364. package/dist/public/operations/repair-plan.js +49 -19
  365. package/dist/public/operations/result-envelope.d.ts +1 -0
  366. package/dist/public/operations/result-envelope.d.ts.map +1 -1
  367. package/dist/public/operations/result-envelope.js +12 -10
  368. package/dist/public/operations/runtime-types.d.ts +21 -1
  369. package/dist/public/operations/runtime-types.d.ts.map +1 -1
  370. package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
  371. package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
  372. package/dist/public/operations/specs/check-rules.generated.js +35 -0
  373. package/dist/public/operations/specs/check.d.ts +7 -2
  374. package/dist/public/operations/specs/check.d.ts.map +1 -1
  375. package/dist/public/operations/specs/check.js +8 -20
  376. package/dist/public/operations/specs/discovery.d.ts +3 -0
  377. package/dist/public/operations/specs/discovery.d.ts.map +1 -1
  378. package/dist/public/operations/specs/discovery.js +3 -0
  379. package/dist/public/operations/specs/mutation-schemas.d.ts +257 -163
  380. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  381. package/dist/public/operations/specs/mutation-schemas.js +15 -7
  382. package/dist/public/operations/specs/planning.d.ts +9 -0
  383. package/dist/public/operations/specs/planning.d.ts.map +1 -1
  384. package/dist/public/operations/specs/planning.js +6 -0
  385. package/dist/public/operations/specs/proof.d.ts +212 -0
  386. package/dist/public/operations/specs/proof.d.ts.map +1 -0
  387. package/dist/public/operations/specs/proof.js +30 -0
  388. package/dist/public/operations/specs/reporting.d.ts +20 -0
  389. package/dist/public/operations/specs/reporting.d.ts.map +1 -1
  390. package/dist/public/operations/specs/reporting.js +112 -12
  391. package/dist/public/operations/specs/semantic.d.ts +1 -1
  392. package/dist/public/operations/specs/semantic.d.ts.map +1 -1
  393. package/dist/public/operations/specs/semantic.js +54 -4
  394. package/dist/public/operations/specs/upsert.d.ts +257 -163
  395. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  396. package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
  397. package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
  398. package/dist/public/operations/symbol-repair-plan.js +121 -4
  399. package/dist/public/operations/types.d.ts +6 -1
  400. package/dist/public/operations/types.d.ts.map +1 -1
  401. package/dist/public/proof-fingerprint.d.ts +54 -0
  402. package/dist/public/proof-fingerprint.d.ts.map +1 -0
  403. package/dist/public/proof-fingerprint.js +141 -0
  404. package/dist/public/proof-protocol.d.ts +354 -0
  405. package/dist/public/proof-protocol.d.ts.map +1 -0
  406. package/dist/public/proof-protocol.js +454 -0
  407. package/dist/public/proof-receipt.d.ts +279 -0
  408. package/dist/public/proof-receipt.d.ts.map +1 -0
  409. package/dist/public/proof-receipt.js +377 -0
  410. package/dist/public/schemas/entity.d.ts.map +1 -1
  411. package/dist/public/schemas/entity.js +21 -7
  412. package/dist/public/skills/kibi-freshness/SKILL.md +1 -1
  413. package/dist/public/skills/kibi-usage/SKILL.md +44 -12
  414. package/dist/public/skills/kibi-usage/resources/operation-access.md +1 -1
  415. package/dist/public/skills/kibi-usage/resources/proof.md +150 -0
  416. package/dist/public/skills/kibi-usage/resources/workflows.md +6 -6
  417. package/dist/public/symbol-granularity.d.ts +3 -14
  418. package/dist/public/symbol-granularity.d.ts.map +1 -1
  419. package/dist/public/symbol-granularity.generated.d.ts +16 -0
  420. package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
  421. package/dist/public/symbol-granularity.generated.js +53 -0
  422. package/dist/public/symbol-granularity.js +6 -47
  423. package/dist/public/telemetry-acceptance.d.ts +3 -77
  424. package/dist/public/telemetry-acceptance.d.ts.map +1 -1
  425. package/dist/public/telemetry-acceptance.js +4 -2
  426. package/dist/public/telemetry-remediation.js +1 -1
  427. package/dist/report/html-report.css +1240 -0
  428. package/dist/report/html-report.d.ts +4 -2
  429. package/dist/report/html-report.d.ts.map +1 -1
  430. package/dist/report/html-report.js +37 -300
  431. package/dist/runtime/cli-runtime.d.ts +2 -0
  432. package/dist/runtime/cli-runtime.d.ts.map +1 -1
  433. package/dist/runtime/cli-runtime.js +32 -7
  434. package/dist/schemas/entity.schema.json +355 -215
  435. package/dist/search-ranking.d.ts +1 -0
  436. package/dist/search-ranking.d.ts.map +1 -1
  437. package/dist/search-ranking.js +3 -0
  438. package/dist/traceability/evidence-model.d.ts +28 -0
  439. package/dist/traceability/evidence-model.d.ts.map +1 -1
  440. package/dist/traceability/git-staged.d.ts +20 -0
  441. package/dist/traceability/git-staged.d.ts.map +1 -1
  442. package/dist/traceability/git-staged.js +145 -1
  443. package/dist/traceability/staged-diagnostics.d.ts +7 -0
  444. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  445. package/dist/traceability/staged-diagnostics.js +78 -7
  446. package/dist/traceability/staged-file-coverage.d.ts +33 -0
  447. package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
  448. package/dist/traceability/staged-file-coverage.js +284 -0
  449. package/dist/traceability/staged-impact-contract.js +4 -4
  450. package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
  451. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  452. package/dist/traceability/staged-symbols-manifest.js +138 -27
  453. package/dist/traceability/symbol-extract.d.ts +24 -2
  454. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  455. package/dist/traceability/symbol-extract.js +64 -208
  456. package/dist/traceability/temp-kb.d.ts +2 -0
  457. package/dist/traceability/temp-kb.d.ts.map +1 -1
  458. package/dist/traceability/temp-kb.js +13 -4
  459. package/dist/types/entities.d.ts +5 -3
  460. package/dist/types/entities.d.ts.map +1 -1
  461. package/dist/utils/branch-resolver.d.ts +1 -0
  462. package/dist/utils/branch-resolver.d.ts.map +1 -1
  463. package/dist/utils/branch-resolver.js +7 -4
  464. package/dist/utils/branch-store.d.ts +6 -0
  465. package/dist/utils/branch-store.d.ts.map +1 -1
  466. package/dist/utils/branch-store.js +27 -0
  467. package/dist/utils/kb-paths.d.ts +1 -1
  468. package/dist/utils/kb-paths.d.ts.map +1 -1
  469. package/dist/utils/kb-paths.js +1 -1
  470. package/dist/utils/rule-registry.d.ts +1 -11
  471. package/dist/utils/rule-registry.d.ts.map +1 -1
  472. package/dist/utils/rule-registry.generated.d.ts +102 -0
  473. package/dist/utils/rule-registry.generated.d.ts.map +1 -0
  474. package/dist/utils/rule-registry.generated.js +131 -0
  475. package/dist/utils/rule-registry.js +12 -113
  476. package/dist/utils/strict-modeling.d.ts +1 -0
  477. package/dist/utils/strict-modeling.d.ts.map +1 -1
  478. package/dist/utils/strict-modeling.js +1 -1
  479. package/package.json +20 -20
  480. package/src/public/diagnostic-usage.ts +6 -6
  481. package/src/public/distribution-parity.ts +17 -10
  482. package/src/public/extractors/symbols-coordinator.ts +1 -0
  483. package/src/public/impact/analyzer.ts +15 -12
  484. package/src/public/impact/coverage-depth-quality.ts +1 -1
  485. package/src/public/impact/diagnostics.ts +2 -1
  486. package/src/public/impact/diff-meaning.ts +11 -4
  487. package/src/public/impact/full-kb-quality.ts +463 -72
  488. package/src/public/operations/catalog.ts +10 -4
  489. package/src/public/operations/check-executor.ts +4 -8
  490. package/src/public/operations/check-helpers.ts +2 -2
  491. package/src/public/operations/contracts.ts +78 -34
  492. package/src/public/operations/discovery-entities.ts +53 -0
  493. package/src/public/operations/discovery-executors.ts +64 -48
  494. package/src/public/operations/index.ts +1 -1
  495. package/src/public/operations/migration-plan.ts +32 -25
  496. package/src/public/operations/node-ports.ts +6 -6
  497. package/src/public/operations/prolog-json.ts +13 -5
  498. package/src/public/operations/repair-plan.ts +60 -23
  499. package/src/public/operations/result-envelope.ts +15 -10
  500. package/src/public/operations/runtime-types.ts +26 -2
  501. package/src/public/operations/specs/check-rules.generated.ts +38 -0
  502. package/src/public/operations/specs/check.ts +12 -21
  503. package/src/public/operations/specs/discovery.ts +3 -0
  504. package/src/public/operations/specs/mutation-schemas.ts +22 -9
  505. package/src/public/operations/specs/planning.ts +7 -0
  506. package/src/public/operations/specs/proof.ts +43 -0
  507. package/src/public/operations/specs/reporting.ts +140 -13
  508. package/src/public/operations/specs/semantic.ts +79 -17
  509. package/src/public/operations/symbol-repair-plan.ts +166 -7
  510. package/src/public/operations/types.ts +6 -1
  511. package/src/public/proof-fingerprint.ts +216 -0
  512. package/src/public/proof-protocol-types.d.ts +96 -0
  513. package/src/public/proof-protocol.ts +589 -0
  514. package/src/public/proof-receipt.ts +499 -0
  515. package/src/public/schemas/entity.ts +26 -10
  516. package/src/public/skills/kibi-freshness/SKILL.md +1 -1
  517. package/src/public/skills/kibi-usage/SKILL.md +44 -12
  518. package/src/public/skills/kibi-usage/resources/operation-access.md +1 -1
  519. package/src/public/skills/kibi-usage/resources/proof.md +150 -0
  520. package/src/public/skills/kibi-usage/resources/workflows.md +6 -6
  521. package/src/public/symbol-granularity.generated.ts +74 -0
  522. package/src/public/symbol-granularity.ts +34 -59
  523. package/src/public/telemetry-acceptance-types.d.ts +98 -0
  524. package/src/public/telemetry-acceptance.ts +22 -100
  525. package/src/public/telemetry-remediation.ts +1 -1
  526. package/src/schemas/entity.schema.json +355 -215
  527. package/dist/cli-register-verification.d.ts +0 -3
  528. package/dist/cli-register-verification.d.ts.map +0 -1
  529. package/dist/cli-register-verification.js +0 -16
  530. package/dist/commands/verify.d.ts +0 -10
  531. package/dist/commands/verify.d.ts.map +0 -1
  532. package/dist/commands/verify.js +0 -126
  533. package/dist/operations/verification/ingest-verification.d.ts +0 -29
  534. package/dist/operations/verification/ingest-verification.d.ts.map +0 -1
  535. package/dist/operations/verification/ingest-verification.js +0 -192
  536. package/dist/public/operations/specs/verification.d.ts +0 -78
  537. package/dist/public/operations/specs/verification.d.ts.map +0 -1
  538. package/dist/public/operations/specs/verification.js +0 -62
  539. package/dist/public/playwright-case-id.d.ts.map +0 -1
  540. package/dist/public/verification-receipt.d.ts +0 -242
  541. package/dist/public/verification-receipt.d.ts.map +0 -1
  542. package/dist/public/verification-receipt.js +0 -296
  543. package/dist/verification/playwright-reporter.d.ts +0 -21
  544. package/dist/verification/playwright-reporter.d.ts.map +0 -1
  545. package/dist/verification/playwright-reporter.js +0 -114
  546. package/src/public/operations/specs/verification.ts +0 -78
  547. package/src/public/playwright-case-id.ts +0 -35
  548. package/src/public/verification-receipt.ts +0 -412
@@ -0,0 +1,284 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { load as parseYaml } from "js-yaml";
3
+ import { extractFromManifestString } from "../extractors/manifest.js";
4
+ import { extractFromMarkdownString } from "../extractors/markdown.js";
5
+ import { CANONICAL_ENTITY_PATHS, isEntityLanePath } from "../utils/kb-paths.js";
6
+ export const STAGED_FILE_COVERAGE_RESULT_VERSION = "kibi.staged-file-coverage.v1";
7
+ function defaultGitReader(args) {
8
+ return execFileSync("git", args, {
9
+ encoding: "buffer",
10
+ maxBuffer: 64 * 1024 * 1024,
11
+ stdio: ["ignore", "pipe", "ignore"],
12
+ });
13
+ }
14
+ function readRequired(reader, args) {
15
+ try {
16
+ return reader(args).toString("utf8");
17
+ }
18
+ catch (error) {
19
+ const message = error instanceof Error ? error.message : String(error);
20
+ throw new Error(`git command failed: git ${args.join(" ")} -> ${message}`);
21
+ }
22
+ }
23
+ function manifestEntries(content) {
24
+ if (!content?.trim())
25
+ return [];
26
+ try {
27
+ return extractFromManifestString(content, CANONICAL_ENTITY_PATHS.symbols);
28
+ }
29
+ catch {
30
+ return [];
31
+ }
32
+ }
33
+ function parseRelationships(content) {
34
+ if (!content?.trim())
35
+ return [];
36
+ try {
37
+ const parsed = parseYaml(content);
38
+ if (!Array.isArray(parsed?.relationships))
39
+ return [];
40
+ return parsed.relationships.flatMap((value) => {
41
+ if (!value || typeof value !== "object")
42
+ return [];
43
+ const row = value;
44
+ return typeof row.type === "string" &&
45
+ typeof row.from === "string" &&
46
+ typeof row.to === "string"
47
+ ? [{ type: row.type, from: row.from, to: row.to }]
48
+ : [];
49
+ });
50
+ }
51
+ catch {
52
+ return [];
53
+ }
54
+ }
55
+ function headKbPaths(reader) {
56
+ try {
57
+ if (reader(["rev-parse", "--verify", "HEAD"]).toString("utf8").trim() === "") {
58
+ return new Set();
59
+ }
60
+ }
61
+ catch {
62
+ // A repository with an unborn branch has no committed knowledge yet.
63
+ return new Set();
64
+ }
65
+ const output = readRequired(reader, [
66
+ "ls-tree",
67
+ "-r",
68
+ "--name-only",
69
+ "-z",
70
+ "HEAD",
71
+ "--",
72
+ ".kb",
73
+ ]);
74
+ return new Set(output.split("\0").filter(Boolean));
75
+ }
76
+ function effectiveRelationshipFiles(inventory, headPaths, reader) {
77
+ const head = new Map();
78
+ for (const path of [...headPaths].sort()) {
79
+ if (!path.startsWith(".kb/relationships/"))
80
+ continue;
81
+ head.set(path, readRequired(reader, ["show", `HEAD:${path}`]));
82
+ }
83
+ const effective = new Map(head);
84
+ for (const entry of inventory) {
85
+ if (!entry.path.startsWith(".kb/relationships/"))
86
+ continue;
87
+ if (entry.oldPath)
88
+ effective.delete(entry.oldPath);
89
+ if (entry.status === "D")
90
+ effective.delete(entry.path);
91
+ else if (entry.content !== undefined)
92
+ effective.set(entry.path, entry.content);
93
+ }
94
+ return { head, effective };
95
+ }
96
+ function effectiveRequirementIds(inventory, headPaths, reader) {
97
+ const files = new Map();
98
+ for (const path of [...headPaths].sort()) {
99
+ if (!path.startsWith(".kb/requirements/") || !path.endsWith(".md")) {
100
+ continue;
101
+ }
102
+ files.set(path, readRequired(reader, ["show", `HEAD:${path}`]));
103
+ }
104
+ for (const entry of inventory) {
105
+ if (entry.oldPath)
106
+ files.delete(entry.oldPath);
107
+ if (!entry.path.startsWith(".kb/requirements/") ||
108
+ !entry.path.endsWith(".md")) {
109
+ continue;
110
+ }
111
+ if (entry.status === "D")
112
+ files.delete(entry.path);
113
+ else if (entry.content !== undefined)
114
+ files.set(entry.path, entry.content);
115
+ }
116
+ const ids = new Set();
117
+ for (const [path, content] of files) {
118
+ try {
119
+ const result = extractFromMarkdownString(content, path);
120
+ if (result.entity.type === "req")
121
+ ids.add(result.entity.id);
122
+ }
123
+ catch {
124
+ // Malformed staged entity markdown is reported by the staged validator.
125
+ }
126
+ }
127
+ return ids;
128
+ }
129
+ function relationshipSet(files) {
130
+ return [...files.values()].flatMap(parseRelationships);
131
+ }
132
+ function stagedManifestContent(inventory) {
133
+ const file = inventory.find((entry) => entry.path === CANONICAL_ENTITY_PATHS.symbols ||
134
+ entry.path === ".kb/symbols.yml");
135
+ if (!file)
136
+ return undefined;
137
+ return file.status === "D" ? null : (file.content ?? null);
138
+ }
139
+ function sourcePaths(entry) {
140
+ return new Set([entry.path, ...(entry.oldPath ? [entry.oldPath] : [])]);
141
+ }
142
+ function entriesForPaths(entries, paths) {
143
+ return entries.filter((entry) => {
144
+ const source = entry.sourceFile ?? entry.entity.source;
145
+ return (typeof source === "string" && paths.has(source.replaceAll("\\", "/")));
146
+ });
147
+ }
148
+ function relevantEntityEvidence(inventory, requirementIds) {
149
+ return inventory.flatMap((entry) => {
150
+ if (entry.status === "D" ||
151
+ entry.content === undefined ||
152
+ !entry.path.endsWith(".md") ||
153
+ !isEntityLanePath(entry.path)) {
154
+ return [];
155
+ }
156
+ try {
157
+ const parsed = extractFromMarkdownString(entry.content, entry.path);
158
+ return parsed.entity.type === "req" &&
159
+ requirementIds.has(parsed.entity.id)
160
+ ? [entry.path]
161
+ : [];
162
+ }
163
+ catch {
164
+ return [];
165
+ }
166
+ });
167
+ }
168
+ function stableEntry(entry) {
169
+ return JSON.stringify({
170
+ id: entry.entity.id,
171
+ title: entry.entity.title,
172
+ sourceFile: entry.sourceFile,
173
+ relationships: entry.relationships
174
+ .map((relationship) => ({
175
+ type: relationship.type,
176
+ from: relationship.from,
177
+ to: relationship.to,
178
+ }))
179
+ .sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b))),
180
+ });
181
+ }
182
+ function changedManifestEvidence(paths, headEntries, effectiveEntries, inventory) {
183
+ const staged = stagedManifestContent(inventory);
184
+ if (staged === undefined)
185
+ return [];
186
+ const before = entriesForPaths(headEntries, paths).map(stableEntry).sort();
187
+ const after = entriesForPaths(effectiveEntries, paths)
188
+ .map(stableEntry)
189
+ .sort();
190
+ return JSON.stringify(before) === JSON.stringify(after)
191
+ ? []
192
+ : [CANONICAL_ENTITY_PATHS.symbols];
193
+ }
194
+ function changedRelationshipEvidence(symbolIds, headFiles, effectiveFiles) {
195
+ const paths = new Set([...headFiles.keys(), ...effectiveFiles.keys()]);
196
+ return [...paths].filter((path) => {
197
+ const select = (content) => parseRelationships(content ?? null)
198
+ .filter((row) => row.type === "implements" && symbolIds.has(row.from))
199
+ .map((row) => `${row.from}\0${row.to}`)
200
+ .sort();
201
+ return (JSON.stringify(select(headFiles.get(path))) !==
202
+ JSON.stringify(select(effectiveFiles.get(path))));
203
+ });
204
+ }
205
+ /** Resolve advisory file-level ownership from committed knowledge plus staged evidence. */
206
+ export function analyzeStagedFileCoverage(inventory, reader = defaultGitReader) {
207
+ const headPaths = headKbPaths(reader);
208
+ const headManifest = headPaths.has(CANONICAL_ENTITY_PATHS.symbols)
209
+ ? readRequired(reader, ["show", `HEAD:${CANONICAL_ENTITY_PATHS.symbols}`])
210
+ : null;
211
+ const stagedManifest = stagedManifestContent(inventory);
212
+ const headEntries = manifestEntries(headManifest);
213
+ const effectiveEntries = manifestEntries(stagedManifest === undefined ? headManifest : stagedManifest);
214
+ const relationshipFiles = effectiveRelationshipFiles(inventory, headPaths, reader);
215
+ const actualRequirementIds = effectiveRequirementIds(inventory, headPaths, reader);
216
+ const headRelationships = relationshipSet(relationshipFiles.head);
217
+ const effectiveRelationships = relationshipSet(relationshipFiles.effective);
218
+ const files = [];
219
+ const diagnostics = [];
220
+ for (const entry of inventory) {
221
+ const paths = sourcePaths(entry);
222
+ const headOwned = entriesForPaths(headEntries, paths);
223
+ const effectiveOwned = entriesForPaths(effectiveEntries, paths);
224
+ const owned = [...headOwned, ...effectiveOwned];
225
+ const symbolIds = new Set(owned.map((item) => item.entity.id));
226
+ const inlineRelationships = owned.flatMap((item) => item.relationships);
227
+ const requirementIds = [
228
+ ...new Set([
229
+ ...inlineRelationships,
230
+ ...headRelationships,
231
+ ...effectiveRelationships,
232
+ ]
233
+ .filter((row) => row.type === "implements" &&
234
+ symbolIds.has(row.from) &&
235
+ actualRequirementIds.has(row.to))
236
+ .map((row) => row.to)),
237
+ ].sort();
238
+ const evidencePaths = [
239
+ ...new Set([
240
+ ...changedManifestEvidence(paths, headEntries, effectiveEntries, inventory),
241
+ ...changedRelationshipEvidence(symbolIds, relationshipFiles.head, relationshipFiles.effective),
242
+ ...relevantEntityEvidence(inventory, new Set(requirementIds)),
243
+ ]),
244
+ ].sort();
245
+ files.push({
246
+ path: entry.path,
247
+ ...(entry.oldPath ? { oldPath: entry.oldPath } : {}),
248
+ status: entry.status,
249
+ analysisDepth: entry.analysisDepth,
250
+ disposition: entry.disposition,
251
+ ...(entry.skipReason ? { reason: entry.skipReason } : {}),
252
+ requirementIds,
253
+ evidencePaths,
254
+ providerId: entry.analysisDepth === "symbol" ? "ts-morph" : null,
255
+ });
256
+ if (entry.analysisDepth !== "file")
257
+ continue;
258
+ if (requirementIds.length === 0) {
259
+ diagnostics.push({
260
+ id: "staged_file_ownership_missing",
261
+ severity: "warning",
262
+ blocking: false,
263
+ path: entry.path,
264
+ message: `Staged text file has no source-linked requirement ownership: ${entry.path}`,
265
+ suggestion: "Review the change and add an authored file/module symbol with an implements relationship when it affects product behavior.",
266
+ requirementIds: [],
267
+ evidencePaths: [],
268
+ });
269
+ }
270
+ else if (evidencePaths.length === 0) {
271
+ diagnostics.push({
272
+ id: "staged_file_impact_review_needed",
273
+ severity: "warning",
274
+ blocking: false,
275
+ path: entry.path,
276
+ message: `Review staged impact for ${entry.path}; existing ownership links to ${requirementIds.join(", ")} but no matching KB evidence changed.`,
277
+ suggestion: "Confirm the linked requirements still describe the behavior, then stage the relevant requirement or ownership evidence when semantics changed.",
278
+ requirementIds,
279
+ evidencePaths: [],
280
+ });
281
+ }
282
+ }
283
+ return { version: STAGED_FILE_COVERAGE_RESULT_VERSION, files, diagnostics };
284
+ }
@@ -41,7 +41,7 @@ export const KIBI_IMPACT_DIAGNOSTICS = {
41
41
  title: "Behavior edit requires staged Kibi impact evidence",
42
42
  resolution: [
43
43
  "Query Kibi via visible MCP tools or the trusted project-local CLI (peer surfaces): use kb_search for discovery, then kb_query for exact follow-up.",
44
- "MCP writes update KB state but do not stage tracked evidence; also stage related KB entity markdown under .kb/, authored .kb/symbols.yaml metadata, or refreshed .kb/symbol-coordinates.yaml.",
44
+ "MCP writes update KB state but do not stage tracked evidence; also stage related KB entity markdown under .kb/, authored .kb/symbols.yaml metadata (the Detail lines name the symbols lacking evidence), or refreshed .kb/symbol-coordinates.yaml.",
45
45
  "Re-run or let the hook run kibi check --staged.",
46
46
  ],
47
47
  },
@@ -49,9 +49,9 @@ export const KIBI_IMPACT_DIAGNOSTICS = {
49
49
  id: "symbols_manifest_stale",
50
50
  title: "Symbol coordinates evidence is stale for changed extraction output",
51
51
  resolution: [
52
- "Refresh symbol coordinates for the changed source file with kibi sync --refresh-symbol-coordinates.",
53
- "Stage .kb/symbol-coordinates.yaml in the same change as the behavior edit, and stage .kb/symbols.yaml only if migration cleanup changed it.",
54
- "Re-run or let the hook run kibi check --staged.",
52
+ "Read the Detail lines: they name the extracted symbols the staged .kb/symbols.yaml evidence does not cover.",
53
+ "Author .kb/symbols.yaml entries for the uncovered symbols (kibi upsert, with implements/covered_by links), then refresh symbol coordinates with kibi sync --refresh-symbol-coordinates.",
54
+ "Stage .kb/symbol-coordinates.yaml and .kb/symbols.yaml in the same change as the behavior edit, then re-run or let the hook run kibi check --staged.",
55
55
  ],
56
56
  },
57
57
  kibi_impact_override_missing_rationale: {
@@ -1,8 +1,16 @@
1
+ import { type ParsedCoordinateArtifact } from "../extractors/symbol-coordinates.js";
2
+ import type { KibiImpactSymbolsManifestFileDetail } from "./evidence-model.js";
1
3
  import type { StagedFile } from "./git-staged.js";
2
4
  export interface StagedSymbolsManifestAssessment {
3
5
  state: "fresh" | "stale" | "missing" | "not_required";
4
6
  sourcePaths: string[];
5
7
  path: string;
8
+ /**
9
+ * Per-file extraction-vs-evidence diffs for the source paths whose symbol
10
+ * output changed. Lets diagnostics name the uncovered symbols instead of
11
+ * reporting a bare "stale" verdict.
12
+ */
13
+ fileDetails?: KibiImpactSymbolsManifestFileDetail[];
6
14
  }
7
15
  export interface StagedAuthoredSymbolsManifestEvidence {
8
16
  path: string;
@@ -12,6 +20,11 @@ export interface StagedAuthoredSymbolsManifestEvidence {
12
20
  }>;
13
21
  changedEntityIds: string[];
14
22
  }
23
+ export declare function parsedCoordinateOrNull(parse: () => ParsedCoordinateArtifact): ParsedCoordinateArtifact | null;
24
+ export declare function manifestRecordSourcePath(record: {
25
+ sourceFile?: unknown;
26
+ source?: unknown;
27
+ }): string | null;
15
28
  export declare function assessStagedSymbolsManifest(options: {
16
29
  symbolsManifestPath: string;
17
30
  sourceFiles: StagedFile[];
@@ -1 +1 @@
1
- {"version":3,"file":"staged-symbols-manifest.d.ts","sourceRoot":"","sources":["../../src/traceability/staged-symbols-manifest.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA0ClD,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;IACtD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC5D,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAuTD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,GAAG,+BAA+B,CAgGlC;AAED,wBAAgB,4CAA4C,CAAC,OAAO,EAAE;IACpE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,GAAG,qCAAqC,CAmExC"}
1
+ {"version":3,"file":"staged-symbols-manifest.d.ts","sourceRoot":"","sources":["../../src/traceability/staged-symbols-manifest.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,wBAAwB,EAG9B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA0ClD,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;IACtD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,mCAAmC,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC5D,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA6ED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,wBAAwB,GACpC,wBAAwB,GAAG,IAAI,CAOjC;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,MAAM,GAAG,IAAI,CAMhB;AAqSD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,GAAG,+BAA+B,CAgLlC;AAED,wBAAgB,4CAA4C,CAAC,OAAO,EAAE;IACpE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,GAAG,qCAAqC,CAmExC"}
@@ -1,4 +1,4 @@
1
- import { execSync } from "node:child_process";
1
+ import { execFileSync } from "node:child_process";
2
2
  import * as path from "node:path";
3
3
  import { extractManifestSymbolRecordsString, } from "../extractors/manifest.js";
4
4
  import { mergeCoordinatesWithManifest, parseCoordinateArtifact as parseStrict, } from "../extractors/symbol-coordinates.js";
@@ -38,14 +38,27 @@ function resolveRelativeManifestPaths(symbolsManifestPath) {
38
38
  coordinatesPath: toRepoRelativePath(coordinatesPath),
39
39
  };
40
40
  }
41
- function readHeadFileContent(filePath) {
41
+ function readHeadFileContent(filePath, cache) {
42
+ const normalizedPath = filePath.replace(/\\/g, "/");
43
+ const cacheKey = `${process.cwd()}\u0000${normalizedPath}`;
44
+ if (cache?.has(cacheKey)) {
45
+ return cache.get(cacheKey) ?? null;
46
+ }
42
47
  try {
43
- return execSync(`git show HEAD:${filePath}`, {
48
+ // Use argv-based git invocation so a source path cannot alter the command.
49
+ // The manifest can exceed a shell helper's small default maxBuffer; without
50
+ // the raised limit the read fails with ENOBUFS and is silently treated as
51
+ // missing, which permanently reports the coordinates manifest as stale.
52
+ const content = execFileSync("git", ["show", `HEAD:${normalizedPath}`], {
44
53
  encoding: "utf8",
45
54
  stdio: ["pipe", "pipe", "pipe"],
55
+ maxBuffer: 64 * 1024 * 1024,
46
56
  });
57
+ cache?.set(cacheKey, content);
58
+ return content;
47
59
  }
48
60
  catch {
61
+ cache?.set(cacheKey, null);
49
62
  return null;
50
63
  }
51
64
  }
@@ -60,6 +73,22 @@ function parseManifestRecords(content, filePath) {
60
73
  return null;
61
74
  }
62
75
  }
76
+ export function parsedCoordinateOrNull(parse) {
77
+ try {
78
+ const parsed = parse();
79
+ return parsed.status === "invalid" ? null : parsed;
80
+ }
81
+ catch {
82
+ return null;
83
+ }
84
+ }
85
+ export function manifestRecordSourcePath(record) {
86
+ return typeof record.sourceFile === "string"
87
+ ? record.sourceFile
88
+ : typeof record.source === "string"
89
+ ? record.source
90
+ : null;
91
+ }
63
92
  function parseCoordinateArtifact(content) {
64
93
  // An absent artifact must not masquerade as an empty authoritative one:
65
94
  // inline authored coordinates stay comparable until the artifact exists.
@@ -68,13 +97,7 @@ function parseCoordinateArtifact(content) {
68
97
  if (content === null || content === undefined) {
69
98
  return null;
70
99
  }
71
- try {
72
- const parsed = parseStrict(content);
73
- return parsed.status === "invalid" ? null : parsed;
74
- }
75
- catch {
76
- return null;
77
- }
100
+ return parsedCoordinateOrNull(() => parseStrict(content));
78
101
  }
79
102
  function normalizeNumber(value) {
80
103
  return typeof value === "number" ? value : null;
@@ -114,7 +137,7 @@ function normalizeRelationships(relationships) {
114
137
  .sort((left, right) => JSON.stringify(left).localeCompare(JSON.stringify(right)));
115
138
  }
116
139
  function normalizeManifestSymbolsForSourceFile(records, sourceFile) {
117
- return records
140
+ const symbols = records
118
141
  .filter((record) => {
119
142
  if (isDocumentedCoarseRecord(record)) {
120
143
  return false;
@@ -135,6 +158,11 @@ function normalizeManifestSymbolsForSourceFile(records, sourceFile) {
135
158
  sourceEndColumn: normalizeNumber(record.sourceEndColumn),
136
159
  }))
137
160
  .sort(compareNormalizedSymbols);
161
+ // Several logical records may own the same declaration. Only identical
162
+ // validated spans collapse; a stale duplicate still carries null coordinates
163
+ // and must remain visible to the equality check.
164
+ return symbols.filter((symbol, index) => index === 0 ||
165
+ JSON.stringify(symbol) !== JSON.stringify(symbols[index - 1]));
138
166
  }
139
167
  function normalizeAuthoredManifestSymbolsForSourceFile(records, sourceFile) {
140
168
  return records
@@ -209,8 +237,8 @@ function signaturesEqual(left, right) {
209
237
  function uniqueSorted(paths) {
210
238
  return Array.from(new Set(paths)).sort();
211
239
  }
212
- function mergeManifestRecordsWithCoordinates(manifestRecords, coordinateArtifact) {
213
- return mergeCoordinatesWithManifest(manifestRecords ?? [], coordinateArtifact);
240
+ function mergeManifestRecordsWithCoordinates(manifestRecords, coordinateArtifact, options = {}) {
241
+ return mergeCoordinatesWithManifest(manifestRecords ?? [], coordinateArtifact, options);
214
242
  }
215
243
  function getEffectiveManifestRecords(options) {
216
244
  const { headCoordinateArtifact, headManifestRecords, paths, stagedFiles } = options;
@@ -229,28 +257,69 @@ function getEffectiveManifestRecords(options) {
229
257
  stagedCoordinateArtifact,
230
258
  };
231
259
  }
260
+ /** Max missing/extra symbol titles surfaced per file before "+N more". */
261
+ const MAX_DETAIL_ITEMS = 6;
262
+ function diffSymbolEvidence(sourcePath, expectedSymbols, stagedSymbols) {
263
+ const stagedTitles = new Set(stagedSymbols.map((symbol) => symbol.title));
264
+ const expectedTitles = new Set(expectedSymbols.map((symbol) => symbol.title));
265
+ const missing = expectedSymbols
266
+ .filter((symbol) => !stagedTitles.has(symbol.title))
267
+ .map((symbol) => ({ title: symbol.title, line: symbol.sourceLine ?? 0 }))
268
+ .sort((left, right) => left.title.localeCompare(right.title));
269
+ const extra = stagedSymbols
270
+ .filter((symbol) => !expectedTitles.has(symbol.title))
271
+ .map((symbol) => symbol.title)
272
+ .sort();
273
+ // Pure coordinate drift (titles unchanged) has no symbol-level remedy to
274
+ // name; leave the detail out so the diagnostic stays verdict + refresh.
275
+ if (missing.length === 0 && extra.length === 0) {
276
+ return null;
277
+ }
278
+ return {
279
+ path: sourcePath,
280
+ expectedCount: expectedSymbols.length,
281
+ coveredCount: stagedSymbols.length,
282
+ missing: missing.slice(0, MAX_DETAIL_ITEMS),
283
+ extra: extra.slice(0, MAX_DETAIL_ITEMS),
284
+ };
285
+ }
232
286
  export function assessStagedSymbolsManifest(options) {
233
287
  const { sourceFiles, stagedFiles, symbolsManifestPath } = options;
234
288
  const paths = resolveRelativeManifestPaths(symbolsManifestPath);
235
- const headManifestRecords = parseManifestRecords(readHeadFileContent(paths.symbolsPath), paths.symbolsPath);
236
- const headCoordinateArtifact = parseCoordinateArtifact(readHeadFileContent(paths.coordinatesPath));
289
+ // Scope HEAD memoization to one assessment. A long-lived CLI process may
290
+ // assess several commits in the same checkout; a process-global cache would
291
+ // otherwise reuse content from the previous HEAD.
292
+ const headFileContentCache = new Map();
293
+ const readAssessmentHeadFileContent = (filePath) => readHeadFileContent(filePath, headFileContentCache);
294
+ const headManifestRecords = parseManifestRecords(readAssessmentHeadFileContent(paths.symbolsPath), paths.symbolsPath);
295
+ const headCoordinateArtifact = parseCoordinateArtifact(readAssessmentHeadFileContent(paths.coordinatesPath));
237
296
  const { stagedCoordinatesFile, stagedCoordinateArtifact, stagedManifestRecords, } = getEffectiveManifestRecords({
238
297
  stagedFiles,
239
298
  paths,
240
299
  headManifestRecords,
241
300
  headCoordinateArtifact,
242
301
  });
243
- const baselineMergedRecords = mergeManifestRecordsWithCoordinates(headManifestRecords, headCoordinateArtifact);
244
- const stagedMergedRecords = mergeManifestRecordsWithCoordinates(stagedManifestRecords, stagedCoordinateArtifact);
302
+ const stagedSourceText = new Map(stagedFiles.map((stagedFile) => [
303
+ stagedFile.path.replace(/\\/g, "/"),
304
+ typeof stagedFile.content === "string" ? stagedFile.content : null,
305
+ ]));
306
+ const resolveStagedSourceText = (sourceFile) => {
307
+ const normalizedSourceFile = sourceFile.replace(/\\/g, "/");
308
+ return stagedSourceText.has(normalizedSourceFile)
309
+ ? (stagedSourceText.get(normalizedSourceFile) ?? null)
310
+ : readAssessmentHeadFileContent(sourceFile);
311
+ };
312
+ const baselineMergedRecords = mergeManifestRecordsWithCoordinates(headManifestRecords, headCoordinateArtifact,
313
+ // Existing bindings must also be valid for the proposed source. Comparing
314
+ // them against HEAD would miss body edits that leave spans unchanged.
315
+ { resolveSourceText: resolveStagedSourceText });
316
+ const stagedMergedRecords = mergeManifestRecordsWithCoordinates(stagedManifestRecords, stagedCoordinateArtifact, { resolveSourceText: resolveStagedSourceText });
245
317
  const requiredRefreshPaths = [];
246
318
  const freshPaths = new Set();
319
+ const symbolDetails = [];
247
320
  for (const sourceFile of sourceFiles) {
248
321
  const manifestRecordsForFile = (stagedManifestRecords ?? []).filter((record) => {
249
- const recordSource = typeof record.sourceFile === "string"
250
- ? record.sourceFile
251
- : typeof record.source === "string"
252
- ? record.source
253
- : null;
322
+ const recordSource = manifestRecordSourcePath(record);
254
323
  return recordSource === sourceFile.path;
255
324
  });
256
325
  const coarseCovered = manifestRecordsForFile.length > 0 &&
@@ -258,16 +327,39 @@ export function assessStagedSymbolsManifest(options) {
258
327
  if (coarseCovered) {
259
328
  continue;
260
329
  }
261
- const expectedSymbols = normalizeExpectedSymbolsForStagedFile(sourceFile);
330
+ const recordsByTitle = new Map();
331
+ for (const record of manifestRecordsForFile) {
332
+ if (typeof record.title !== "string")
333
+ continue;
334
+ const records = recordsByTitle.get(record.title) ?? [];
335
+ records.push(record);
336
+ recordsByTitle.set(record.title, records);
337
+ }
338
+ // A coarse anchor is allowed to stand in for its extracted declaration
339
+ // only when every authored record with that title is explicitly coarse.
340
+ // If a granular record shares the title, keep the declaration in the
341
+ // equality check so a duplicate anchor cannot hide stale coordinates.
342
+ const coarseTitles = new Set([...recordsByTitle.entries()]
343
+ .filter(([, records]) => records.every(isDocumentedCoarseRecord))
344
+ .map(([title]) => title));
345
+ const expectedSymbols = normalizeExpectedSymbolsForStagedFile(sourceFile).filter((symbol) => !coarseTitles.has(symbol.title));
262
346
  const baselineSymbols = normalizeManifestSymbolsForSourceFile(baselineMergedRecords, sourceFile.path);
263
347
  if (signaturesEqual(expectedSymbols, baselineSymbols)) {
264
348
  continue;
265
349
  }
266
350
  requiredRefreshPaths.push(sourceFile.path);
267
- if (!stagedCoordinatesFile || stagedCoordinateArtifact === null) {
351
+ // Without a usable staged coordinate artifact there is nothing to diff
352
+ // against: every extracted symbol counts as uncovered evidence.
353
+ const stagedSymbols = stagedCoordinateArtifact === null
354
+ ? []
355
+ : normalizeManifestSymbolsForSourceFile(stagedMergedRecords, sourceFile.path);
356
+ const detail = diffSymbolEvidence(sourceFile.path, expectedSymbols, stagedSymbols);
357
+ if (detail !== null) {
358
+ symbolDetails.push(detail);
359
+ }
360
+ if (!stagedCoordinatesFile) {
268
361
  continue;
269
362
  }
270
- const stagedSymbols = normalizeManifestSymbolsForSourceFile(stagedMergedRecords, sourceFile.path);
271
363
  if (signaturesEqual(expectedSymbols, stagedSymbols)) {
272
364
  freshPaths.add(sourceFile.path);
273
365
  }
@@ -283,10 +375,29 @@ export function assessStagedSymbolsManifest(options) {
283
375
  if (sourcePaths.every((sourcePath) => freshPaths.has(sourcePath))) {
284
376
  return { state: "fresh", sourcePaths, path: paths.coordinatesPath };
285
377
  }
378
+ // Details are only meaningful for the states whose diagnostics fire; a
379
+ // fresh refresh carries no uncovered symbols by definition, and the stale
380
+ // state cites only the non-fresh paths, so details follow that filter.
381
+ const nonFreshDetails = symbolDetails.filter((detail) => !freshPaths.has(detail.path));
382
+ const detailSpread = nonFreshDetails.length > 0
383
+ ? {
384
+ fileDetails: nonFreshDetails.sort((left, right) => left.path.localeCompare(right.path)),
385
+ }
386
+ : {};
286
387
  if (!stagedCoordinatesFile) {
287
- return { state: "missing", sourcePaths, path: paths.coordinatesPath };
388
+ return {
389
+ state: "missing",
390
+ sourcePaths,
391
+ path: paths.coordinatesPath,
392
+ ...detailSpread,
393
+ };
288
394
  }
289
- return { state: "stale", sourcePaths, path: paths.coordinatesPath };
395
+ return {
396
+ state: "stale",
397
+ sourcePaths: sourcePaths.filter((sourcePath) => !freshPaths.has(sourcePath)),
398
+ path: paths.coordinatesPath,
399
+ ...detailSpread,
400
+ };
290
401
  }
291
402
  export function collectStagedAuthoredSymbolsManifestEvidence(options) {
292
403
  const { sourceFiles, stagedFiles } = options;
@@ -1,5 +1,10 @@
1
+ import type { SourceAnalysisResult as SdkSourceAnalysisResult } from "kibi-plugin-sdk";
2
+ import { isPrivateClassMember } from "../extractors/symbols-ts.js";
1
3
  import { type SymbolKind, type SymbolRole } from "../public/symbol-granularity.js";
2
4
  import type { HunkRange, StagedFile } from "./git-staged.js";
5
+ type SourceAnalysisResult = SdkSourceAnalysisResult & {
6
+ providerId?: string | null;
7
+ };
3
8
  type TraceabilityRelationship = {
4
9
  type: string;
5
10
  to: string;
@@ -24,6 +29,23 @@ export interface ManifestLookupEntry {
24
29
  }
25
30
  export type ManifestLookup = Map<string, ManifestLookupEntry>;
26
31
  export declare function createManifestLookupSentinelKey(manifestPath: string): string;
27
- export declare function extractSymbolsFromStagedFile(stagedFile: StagedFile, manifestLookup?: ManifestLookup): ExtractedSymbol[];
28
- export {};
32
+ export type ExtractSymbolsOptions = Readonly<{
33
+ /**
34
+ * Host-owned analysis. Prefer SourceAnalysisService / capability registry.
35
+ * When omitted, falls back to the builtin ts-morph provider for parity.
36
+ */
37
+ analyzeText?: (filePath: string, content: string) => SourceAnalysisResult | null | Promise<SourceAnalysisResult | null>;
38
+ }>;
39
+ export declare function extractSymbolsFromStagedFile(stagedFile: StagedFile, manifestLookup?: ManifestLookup, options?: ExtractSymbolsOptions): ExtractedSymbol[];
40
+ /**
41
+ * Async staged symbol extraction. Defaults to deterministic builtin analysis.
42
+ * Pass an explicit `registry` only from allowlisted async surfaces that compose
43
+ * replace/augment/shadow (e.g. symbol repair). Maintenance paths (`check`,
44
+ * impact, sync, status, proof) must omit `registry` so external extractors
45
+ * never participate.
46
+ */
47
+ export declare function extractSymbolsFromStagedFileAsync(stagedFile: StagedFile, manifestLookup: ManifestLookup | undefined, options: ExtractSymbolsOptions & Readonly<{
48
+ registry?: import("../plugins/registry.js").CapabilityRegistry;
49
+ }>): Promise<ExtractedSymbol[]>;
50
+ export { isPrivateClassMember };
29
51
  //# sourceMappingURL=symbol-extract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-extract.d.ts","sourceRoot":"","sources":["../../src/traceability/symbol-extract.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7D,KAAK,wBAAwB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAU7D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAE9D,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAG5E;AAmOD,wBAAgB,4BAA4B,CAE1C,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,cAAc,GAC9B,eAAe,EAAE,CA2SnB"}
1
+ {"version":3,"file":"symbol-extract.d.ts","sourceRoot":"","sources":["../../src/traceability/symbol-extract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAEL,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7D,KAAK,oBAAoB,GAAG,uBAAuB,GAAG;IACpD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAU7D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAE9D,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAG5E;AAyND,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,KACZ,oBAAoB,GAAG,IAAI,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACzE,CAAC,CAAC;AAWH,wBAAgB,4BAA4B,CAE1C,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,cAAc,EAC/B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,eAAe,EAAE,CAkCnB;AAED;;;;;;GAMG;AAEH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,OAAO,EAAE,qBAAqB,GAC5B,QAAQ,CAAC;IACP,QAAQ,CAAC,EAAE,OAAO,wBAAwB,EAAE,kBAAkB,CAAC;CAChE,CAAC,GACH,OAAO,CAAC,eAAe,EAAE,CAAC,CA8B5B;AAwCD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}