kibi-cli 0.14.0 → 0.17.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 (456) hide show
  1. package/bin/kibi +3 -1
  2. package/dist/cli-command.d.ts +5 -0
  3. package/dist/cli-command.d.ts.map +1 -0
  4. package/dist/cli-command.js +9 -0
  5. package/dist/cli-errors.d.ts +13 -0
  6. package/dist/cli-errors.d.ts.map +1 -0
  7. package/dist/cli-errors.js +26 -0
  8. package/dist/cli-input.d.ts +6 -0
  9. package/dist/cli-input.d.ts.map +1 -0
  10. package/dist/cli-input.js +54 -0
  11. package/dist/cli-json-command.d.ts +14 -0
  12. package/dist/cli-json-command.d.ts.map +1 -0
  13. package/dist/cli-json-command.js +96 -0
  14. package/dist/cli-protocol.d.ts +12 -0
  15. package/dist/cli-protocol.d.ts.map +1 -0
  16. package/dist/cli-protocol.js +37 -0
  17. package/dist/cli-register-foundation.d.ts +3 -0
  18. package/dist/cli-register-foundation.d.ts.map +1 -0
  19. package/dist/cli-register-foundation.js +90 -0
  20. package/dist/cli-register-maintenance.d.ts +3 -0
  21. package/dist/cli-register-maintenance.d.ts.map +1 -0
  22. package/dist/cli-register-maintenance.js +36 -0
  23. package/dist/cli-register-reporting.d.ts +3 -0
  24. package/dist/cli-register-reporting.d.ts.map +1 -0
  25. package/dist/cli-register-reporting.js +101 -0
  26. package/dist/cli-register-skills.d.ts +3 -0
  27. package/dist/cli-register-skills.d.ts.map +1 -0
  28. package/dist/cli-register-skills.js +71 -0
  29. package/dist/cli-validate.d.ts +18 -0
  30. package/dist/cli-validate.d.ts.map +1 -0
  31. package/dist/cli-validate.js +45 -0
  32. package/dist/cli.d.ts +4 -4
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +48 -211
  35. package/dist/commands/aggregated-checks.d.ts +1 -1
  36. package/dist/commands/aggregated-checks.d.ts.map +1 -1
  37. package/dist/commands/aggregated-checks.js +28 -34
  38. package/dist/commands/check.d.ts +1 -1
  39. package/dist/commands/check.d.ts.map +1 -1
  40. package/dist/commands/check.js +53 -95
  41. package/dist/commands/coverage.d.ts.map +1 -1
  42. package/dist/commands/coverage.js +12 -17
  43. package/dist/commands/discovery-shared.d.ts +2 -1
  44. package/dist/commands/discovery-shared.d.ts.map +1 -1
  45. package/dist/commands/discovery-shared.js +6 -18
  46. package/dist/commands/gaps.d.ts.map +1 -1
  47. package/dist/commands/gaps.js +15 -19
  48. package/dist/commands/graph.d.ts.map +1 -1
  49. package/dist/commands/graph.js +15 -21
  50. package/dist/commands/query.d.ts +7 -7
  51. package/dist/commands/query.d.ts.map +1 -1
  52. package/dist/commands/query.js +98 -204
  53. package/dist/commands/search.d.ts +4 -4
  54. package/dist/commands/search.d.ts.map +1 -1
  55. package/dist/commands/search.js +14 -27
  56. package/dist/commands/status.d.ts +1 -1
  57. package/dist/commands/status.d.ts.map +1 -1
  58. package/dist/commands/status.js +6 -7
  59. package/dist/commands/sync/manifest.d.ts +13 -2
  60. package/dist/commands/sync/manifest.d.ts.map +1 -1
  61. package/dist/commands/sync/manifest.js +31 -22
  62. package/dist/commands/sync/persistence.d.ts.map +1 -1
  63. package/dist/commands/sync/persistence.js +39 -1
  64. package/dist/extractors/markdown.d.ts +22 -2
  65. package/dist/extractors/markdown.d.ts.map +1 -1
  66. package/dist/extractors/markdown.js +50 -1
  67. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  68. package/dist/extractors/symbols-ts.js +11 -1
  69. package/dist/logic/ir.d.ts +112 -0
  70. package/dist/logic/ir.d.ts.map +1 -0
  71. package/dist/logic/ir.js +729 -0
  72. package/dist/operations/autopilot/activation.d.ts +4 -0
  73. package/dist/operations/autopilot/activation.d.ts.map +1 -0
  74. package/dist/operations/autopilot/activation.js +130 -0
  75. package/dist/operations/autopilot/candidate-helpers.d.ts +13 -0
  76. package/dist/operations/autopilot/candidate-helpers.d.ts.map +1 -0
  77. package/dist/operations/autopilot/candidate-helpers.js +55 -0
  78. package/dist/operations/autopilot/candidates.d.ts +4 -0
  79. package/dist/operations/autopilot/candidates.d.ts.map +1 -0
  80. package/dist/operations/autopilot/candidates.js +114 -0
  81. package/dist/operations/autopilot/discovery-evidence.d.ts +10 -0
  82. package/dist/operations/autopilot/discovery-evidence.d.ts.map +1 -0
  83. package/dist/operations/autopilot/discovery-evidence.js +158 -0
  84. package/dist/operations/autopilot/discovery.d.ts +4 -0
  85. package/dist/operations/autopilot/discovery.d.ts.map +1 -0
  86. package/dist/operations/autopilot/discovery.js +100 -0
  87. package/dist/operations/autopilot/generate.d.ts +8 -0
  88. package/dist/operations/autopilot/generate.d.ts.map +1 -0
  89. package/dist/operations/autopilot/generate.js +112 -0
  90. package/dist/operations/autopilot/guidance-actions.d.ts +3 -0
  91. package/dist/operations/autopilot/guidance-actions.d.ts.map +1 -0
  92. package/dist/operations/autopilot/guidance-actions.js +79 -0
  93. package/dist/operations/autopilot/guidance.d.ts +14 -0
  94. package/dist/operations/autopilot/guidance.d.ts.map +1 -0
  95. package/dist/operations/autopilot/guidance.js +124 -0
  96. package/dist/operations/autopilot/markdown-candidates.d.ts +7 -0
  97. package/dist/operations/autopilot/markdown-candidates.d.ts.map +1 -0
  98. package/dist/operations/autopilot/markdown-candidates.js +134 -0
  99. package/dist/operations/autopilot/presentation.d.ts +13 -0
  100. package/dist/operations/autopilot/presentation.d.ts.map +1 -0
  101. package/dist/operations/autopilot/presentation.js +91 -0
  102. package/dist/operations/autopilot/requirement-claims.d.ts +3 -0
  103. package/dist/operations/autopilot/requirement-claims.d.ts.map +1 -0
  104. package/dist/operations/autopilot/requirement-claims.js +48 -0
  105. package/dist/operations/autopilot/types.d.ts +117 -0
  106. package/dist/operations/autopilot/types.d.ts.map +1 -0
  107. package/dist/operations/autopilot/types.js +8 -0
  108. package/dist/operations/modeling/logic-modeling.d.ts +22 -0
  109. package/dist/operations/modeling/logic-modeling.d.ts.map +1 -0
  110. package/dist/operations/modeling/logic-modeling.js +111 -0
  111. package/dist/operations/modeling/model-requirement.d.ts +10 -0
  112. package/dist/operations/modeling/model-requirement.d.ts.map +1 -0
  113. package/dist/operations/modeling/model-requirement.js +164 -0
  114. package/dist/operations/modeling/predicate-applyplan.d.ts +6 -0
  115. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -0
  116. package/dist/operations/modeling/predicate-applyplan.js +117 -0
  117. package/dist/operations/modeling/predicate-catalog-1.d.ts +3 -0
  118. package/dist/operations/modeling/predicate-catalog-1.d.ts.map +1 -0
  119. package/dist/operations/modeling/predicate-catalog-1.js +200 -0
  120. package/dist/operations/modeling/predicate-catalog-2.d.ts +3 -0
  121. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -0
  122. package/dist/operations/modeling/predicate-catalog-2.js +197 -0
  123. package/dist/operations/modeling/predicate-catalog-3.d.ts +3 -0
  124. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -0
  125. package/dist/operations/modeling/predicate-catalog-3.js +193 -0
  126. package/dist/operations/modeling/predicate-catalog-4.d.ts +3 -0
  127. package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -0
  128. package/dist/operations/modeling/predicate-catalog-4.js +149 -0
  129. package/dist/operations/modeling/predicate-catalog.d.ts +5 -0
  130. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -0
  131. package/dist/operations/modeling/predicate-catalog.js +29 -0
  132. package/dist/operations/modeling/predicate-inference-1.d.ts +16 -0
  133. package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -0
  134. package/dist/operations/modeling/predicate-inference-1.js +161 -0
  135. package/dist/operations/modeling/predicate-inference-2.d.ts +19 -0
  136. package/dist/operations/modeling/predicate-inference-2.d.ts.map +1 -0
  137. package/dist/operations/modeling/predicate-inference-2.js +169 -0
  138. package/dist/operations/modeling/predicate-inference-3.d.ts +15 -0
  139. package/dist/operations/modeling/predicate-inference-3.d.ts.map +1 -0
  140. package/dist/operations/modeling/predicate-inference-3.js +163 -0
  141. package/dist/operations/modeling/predicate-inference.d.ts +5 -0
  142. package/dist/operations/modeling/predicate-inference.d.ts.map +1 -0
  143. package/dist/operations/modeling/predicate-inference.js +163 -0
  144. package/dist/operations/modeling/predicate-loader.d.ts +10 -0
  145. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -0
  146. package/dist/operations/modeling/predicate-loader.js +94 -0
  147. package/dist/operations/modeling/predicate-ranker.d.ts +3 -0
  148. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -0
  149. package/dist/operations/modeling/predicate-ranker.js +62 -0
  150. package/dist/operations/modeling/predicate-score-1.d.ts +3 -0
  151. package/dist/operations/modeling/predicate-score-1.d.ts.map +1 -0
  152. package/dist/operations/modeling/predicate-score-1.js +121 -0
  153. package/dist/operations/modeling/predicate-score-2.d.ts +3 -0
  154. package/dist/operations/modeling/predicate-score-2.d.ts.map +1 -0
  155. package/dist/operations/modeling/predicate-score-2.js +122 -0
  156. package/dist/operations/modeling/predicate-score-3.d.ts +3 -0
  157. package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -0
  158. package/dist/operations/modeling/predicate-score-3.js +54 -0
  159. package/dist/operations/modeling/predicate-types.d.ts +64 -0
  160. package/dist/operations/modeling/predicate-types.d.ts.map +1 -0
  161. package/dist/operations/modeling/predicate-types.js +1 -0
  162. package/dist/operations/modeling/predicate-usage-hints-1.d.ts +3 -0
  163. package/dist/operations/modeling/predicate-usage-hints-1.d.ts.map +1 -0
  164. package/dist/operations/modeling/predicate-usage-hints-1.js +211 -0
  165. package/dist/operations/modeling/predicate-usage-hints-2.d.ts +3 -0
  166. package/dist/operations/modeling/predicate-usage-hints-2.d.ts.map +1 -0
  167. package/dist/operations/modeling/predicate-usage-hints-2.js +209 -0
  168. package/dist/operations/modeling/predicate-usage-hints-3.d.ts +3 -0
  169. package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -0
  170. package/dist/operations/modeling/predicate-usage-hints-3.js +45 -0
  171. package/dist/operations/modeling/predicate-utils.d.ts +23 -0
  172. package/dist/operations/modeling/predicate-utils.d.ts.map +1 -0
  173. package/dist/operations/modeling/predicate-utils.js +187 -0
  174. package/dist/operations/modeling/requirement-applyplan.d.ts +4 -0
  175. package/dist/operations/modeling/requirement-applyplan.d.ts.map +1 -0
  176. package/dist/operations/modeling/requirement-applyplan.js +44 -0
  177. package/dist/operations/modeling/requirement-heuristics.d.ts +4 -0
  178. package/dist/operations/modeling/requirement-heuristics.d.ts.map +1 -0
  179. package/dist/operations/modeling/requirement-heuristics.js +114 -0
  180. package/dist/operations/modeling/requirement-modeler.d.ts +8 -0
  181. package/dist/operations/modeling/requirement-modeler.d.ts.map +1 -0
  182. package/dist/operations/modeling/requirement-modeler.js +70 -0
  183. package/dist/operations/modeling/requirement-types.d.ts +61 -0
  184. package/dist/operations/modeling/requirement-types.d.ts.map +1 -0
  185. package/dist/operations/modeling/requirement-types.js +1 -0
  186. package/dist/operations/modeling/requirement-utils.d.ts +10 -0
  187. package/dist/operations/modeling/requirement-utils.d.ts.map +1 -0
  188. package/dist/operations/modeling/requirement-utils.js +65 -0
  189. package/dist/operations/modeling/suggest-predicates.d.ts +6 -0
  190. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -0
  191. package/dist/operations/modeling/suggest-predicates.js +64 -0
  192. package/dist/operations/mutation/audit.d.ts +6 -0
  193. package/dist/operations/mutation/audit.d.ts.map +1 -0
  194. package/dist/operations/mutation/audit.js +22 -0
  195. package/dist/operations/mutation/contradictions.d.ts +10 -0
  196. package/dist/operations/mutation/contradictions.d.ts.map +1 -0
  197. package/dist/operations/mutation/contradictions.js +40 -0
  198. package/dist/operations/mutation/delete.d.ts +5 -0
  199. package/dist/operations/mutation/delete.d.ts.map +1 -0
  200. package/dist/operations/mutation/delete.js +67 -0
  201. package/dist/operations/mutation/relationships.d.ts +17 -0
  202. package/dist/operations/mutation/relationships.d.ts.map +1 -0
  203. package/dist/operations/mutation/relationships.js +142 -0
  204. package/dist/operations/mutation/save.d.ts +4 -0
  205. package/dist/operations/mutation/save.d.ts.map +1 -0
  206. package/dist/operations/mutation/save.js +14 -0
  207. package/dist/operations/mutation/serialization.d.ts +5 -0
  208. package/dist/operations/mutation/serialization.d.ts.map +1 -0
  209. package/dist/operations/mutation/serialization.js +88 -0
  210. package/dist/operations/mutation/strict-fact.d.ts +4 -0
  211. package/dist/operations/mutation/strict-fact.d.ts.map +1 -0
  212. package/dist/operations/mutation/strict-fact.js +132 -0
  213. package/dist/operations/mutation/symbol-granularity.d.ts +4 -0
  214. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -0
  215. package/dist/operations/mutation/symbol-granularity.js +109 -0
  216. package/dist/operations/mutation/symbol-refresh.d.ts +10 -0
  217. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -0
  218. package/dist/operations/mutation/symbol-refresh.js +105 -0
  219. package/dist/operations/mutation/types.d.ts +43 -0
  220. package/dist/operations/mutation/types.d.ts.map +1 -0
  221. package/dist/operations/mutation/types.js +1 -0
  222. package/dist/operations/mutation/upsert.d.ts +5 -0
  223. package/dist/operations/mutation/upsert.d.ts.map +1 -0
  224. package/dist/operations/mutation/upsert.js +103 -0
  225. package/dist/operations/mutation/validate-upsert.d.ts +5 -0
  226. package/dist/operations/mutation/validate-upsert.d.ts.map +1 -0
  227. package/dist/operations/mutation/validate-upsert.js +50 -0
  228. package/dist/operations/mutation/validation.d.ts +5 -0
  229. package/dist/operations/mutation/validation.d.ts.map +1 -0
  230. package/dist/operations/mutation/validation.js +107 -0
  231. package/dist/operations/mutation/warnings.d.ts +4 -0
  232. package/dist/operations/mutation/warnings.d.ts.map +1 -0
  233. package/dist/operations/mutation/warnings.js +17 -0
  234. package/dist/operations/semantic-advisor/analysis-receipt.d.ts +5 -0
  235. package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -0
  236. package/dist/operations/semantic-advisor/analysis-receipt.js +120 -0
  237. package/dist/operations/semantic-advisor/analyze-prose.d.ts +5 -0
  238. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -0
  239. package/dist/operations/semantic-advisor/analyze-prose.js +693 -0
  240. package/dist/operations/semantic-advisor/clauses.d.ts +10 -0
  241. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -0
  242. package/dist/operations/semantic-advisor/clauses.js +43 -0
  243. package/dist/operations/semantic-advisor/observation-plan.d.ts +3 -0
  244. package/dist/operations/semantic-advisor/observation-plan.d.ts.map +1 -0
  245. package/dist/operations/semantic-advisor/observation-plan.js +31 -0
  246. package/dist/operations/semantic-advisor/predicate-rule.d.ts +14 -0
  247. package/dist/operations/semantic-advisor/predicate-rule.d.ts.map +1 -0
  248. package/dist/operations/semantic-advisor/predicate-rule.js +22 -0
  249. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +79 -0
  250. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -0
  251. package/dist/operations/semantic-advisor/predicate-rules-core.js +140 -0
  252. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +83 -0
  253. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -0
  254. package/dist/operations/semantic-advisor/predicate-rules-policy.js +150 -0
  255. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +48 -0
  256. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -0
  257. package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +102 -0
  258. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +71 -0
  259. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -0
  260. package/dist/operations/semantic-advisor/predicate-rules-product.js +133 -0
  261. package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts +29 -0
  262. package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts.map +1 -0
  263. package/dist/operations/semantic-advisor/prose-coverage-evaluator.js +54 -0
  264. package/dist/operations/semantic-advisor/shared.d.ts +19 -0
  265. package/dist/operations/semantic-advisor/shared.d.ts.map +1 -0
  266. package/dist/operations/semantic-advisor/shared.js +209 -0
  267. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +4 -0
  268. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -0
  269. package/dist/operations/semantic-advisor/strict-count-rules.js +62 -0
  270. package/dist/operations/semantic-advisor/strict-rules.d.ts +4 -0
  271. package/dist/operations/semantic-advisor/strict-rules.d.ts.map +1 -0
  272. package/dist/operations/semantic-advisor/strict-rules.js +106 -0
  273. package/dist/operations/semantic-advisor/types.d.ts +195 -0
  274. package/dist/operations/semantic-advisor/types.d.ts.map +1 -0
  275. package/dist/operations/semantic-advisor/types.js +1 -0
  276. package/dist/prolog/codec.d.ts.map +1 -1
  277. package/dist/prolog/codec.js +20 -3
  278. package/dist/prolog.d.ts +5 -0
  279. package/dist/prolog.d.ts.map +1 -1
  280. package/dist/prolog.js +89 -32
  281. package/dist/public/impact/diagnostics.d.ts.map +1 -1
  282. package/dist/public/impact/diagnostics.js +8 -4
  283. package/dist/public/impact/full-kb-quality.d.ts +1 -1
  284. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  285. package/dist/public/impact/full-kb-quality.js +34 -1
  286. package/dist/public/impact/requirement-quality.d.ts.map +1 -1
  287. package/dist/public/impact/requirement-quality.js +6 -23
  288. package/dist/public/operations/catalog.d.ts +986 -0
  289. package/dist/public/operations/catalog.d.ts.map +1 -0
  290. package/dist/public/operations/catalog.js +42 -0
  291. package/dist/public/operations/check-executor.d.ts +21 -0
  292. package/dist/public/operations/check-executor.d.ts.map +1 -0
  293. package/dist/public/operations/check-executor.js +111 -0
  294. package/dist/public/operations/check-format-shared.d.ts +36 -0
  295. package/dist/public/operations/check-format-shared.d.ts.map +1 -0
  296. package/dist/public/operations/check-format-shared.js +107 -0
  297. package/dist/public/operations/check-helpers.d.ts +10 -0
  298. package/dist/public/operations/check-helpers.d.ts.map +1 -0
  299. package/dist/public/operations/check-helpers.js +107 -0
  300. package/dist/public/operations/discovery-entities.d.ts +14 -0
  301. package/dist/public/operations/discovery-entities.d.ts.map +1 -0
  302. package/dist/public/operations/discovery-entities.js +91 -0
  303. package/dist/public/operations/discovery-executors.d.ts +39 -0
  304. package/dist/public/operations/discovery-executors.d.ts.map +1 -0
  305. package/dist/public/operations/discovery-executors.js +101 -0
  306. package/dist/public/operations/index.d.ts +21 -0
  307. package/dist/public/operations/index.d.ts.map +1 -0
  308. package/dist/public/operations/index.js +19 -0
  309. package/dist/public/operations/node-ports.d.ts +15 -0
  310. package/dist/public/operations/node-ports.d.ts.map +1 -0
  311. package/dist/public/operations/node-ports.js +57 -0
  312. package/dist/public/operations/prolog-json.d.ts +5 -0
  313. package/dist/public/operations/prolog-json.d.ts.map +1 -0
  314. package/dist/public/operations/prolog-json.js +44 -0
  315. package/dist/public/operations/runtime-types.d.ts +69 -0
  316. package/dist/public/operations/runtime-types.d.ts.map +1 -0
  317. package/dist/public/operations/runtime-types.js +17 -0
  318. package/dist/public/operations/specs/autopilot.d.ts +82 -0
  319. package/dist/public/operations/specs/autopilot.d.ts.map +1 -0
  320. package/dist/public/operations/specs/autopilot.js +72 -0
  321. package/dist/public/operations/specs/check.d.ts +51 -0
  322. package/dist/public/operations/specs/check.d.ts.map +1 -0
  323. package/dist/public/operations/specs/check.js +65 -0
  324. package/dist/public/operations/specs/discovery.d.ts +94 -0
  325. package/dist/public/operations/specs/discovery.d.ts.map +1 -0
  326. package/dist/public/operations/specs/discovery.js +98 -0
  327. package/dist/public/operations/specs/modeling.d.ts +142 -0
  328. package/dist/public/operations/specs/modeling.d.ts.map +1 -0
  329. package/dist/public/operations/specs/modeling.js +133 -0
  330. package/dist/public/operations/specs/mutation-schemas.d.ts +268 -0
  331. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -0
  332. package/dist/public/operations/specs/mutation-schemas.js +294 -0
  333. package/dist/public/operations/specs/mutation.d.ts +56 -0
  334. package/dist/public/operations/specs/mutation.d.ts.map +1 -0
  335. package/dist/public/operations/specs/mutation.js +44 -0
  336. package/dist/public/operations/specs/reporting.d.ts +185 -0
  337. package/dist/public/operations/specs/reporting.d.ts.map +1 -0
  338. package/dist/public/operations/specs/reporting.js +158 -0
  339. package/dist/public/operations/specs/semantic.d.ts +81 -0
  340. package/dist/public/operations/specs/semantic.d.ts.map +1 -0
  341. package/dist/public/operations/specs/semantic.js +137 -0
  342. package/dist/public/operations/specs/skills.d.ts +70 -0
  343. package/dist/public/operations/specs/skills.d.ts.map +1 -0
  344. package/dist/public/operations/specs/skills.js +107 -0
  345. package/dist/public/operations/specs/sparql.d.ts +39 -0
  346. package/dist/public/operations/specs/sparql.d.ts.map +1 -0
  347. package/dist/public/operations/specs/sparql.js +121 -0
  348. package/dist/public/operations/specs/upsert.d.ts +291 -0
  349. package/dist/public/operations/specs/upsert.d.ts.map +1 -0
  350. package/dist/public/operations/specs/upsert.js +27 -0
  351. package/dist/public/operations/types.d.ts +24 -0
  352. package/dist/public/operations/types.d.ts.map +1 -0
  353. package/dist/public/operations/types.js +1 -0
  354. package/dist/public/schemas/entity.d.ts.map +1 -1
  355. package/dist/public/schemas/entity.js +317 -0
  356. package/dist/public/schemas/relationship.d.ts.map +1 -1
  357. package/dist/public/schemas/relationship.js +1 -0
  358. package/dist/public/skill-system/errors.d.ts +19 -0
  359. package/dist/public/skill-system/errors.d.ts.map +1 -0
  360. package/dist/public/skill-system/errors.js +36 -0
  361. package/dist/public/skill-system/loader.d.ts +9 -0
  362. package/dist/public/skill-system/loader.d.ts.map +1 -0
  363. package/dist/public/skill-system/loader.js +76 -0
  364. package/dist/public/skill-system/paths.d.ts +6 -0
  365. package/dist/public/skill-system/paths.d.ts.map +1 -0
  366. package/dist/public/skill-system/paths.js +25 -0
  367. package/dist/public/skill-system/types.d.ts +15 -0
  368. package/dist/public/skill-system/types.d.ts.map +1 -0
  369. package/dist/public/skill-system/types.js +1 -0
  370. package/dist/public/skill-system/validation.d.ts +10 -0
  371. package/dist/public/skill-system/validation.d.ts.map +1 -0
  372. package/dist/public/skill-system/validation.js +119 -0
  373. package/dist/public/skills/init-kibi/SKILL.md +62 -0
  374. package/dist/public/skills/kibi-freshness/SKILL.md +44 -0
  375. package/dist/public/skills/kibi-traceability/SKILL.md +54 -0
  376. package/dist/public/skills/kibi-usage/SKILL.md +145 -99
  377. package/dist/public/skills/kibi-usage/resources/fact-lanes.md +112 -0
  378. package/dist/public/skills/kibi-usage/resources/logic-ir.md +43 -0
  379. package/dist/public/skills/kibi-usage/resources/operation-access.md +44 -0
  380. package/dist/public/skills/kibi-usage/resources/ui-requirements.md +96 -0
  381. package/dist/public/skills/kibi-usage/resources/workflows.md +41 -3
  382. package/dist/public/skills.d.ts +4 -41
  383. package/dist/public/skills.d.ts.map +1 -1
  384. package/dist/public/skills.js +3 -270
  385. package/dist/public/symbol-granularity.d.ts +9 -0
  386. package/dist/public/symbol-granularity.d.ts.map +1 -1
  387. package/dist/public/symbol-granularity.js +16 -0
  388. package/dist/runtime/cli-runtime.d.ts +3 -0
  389. package/dist/runtime/cli-runtime.d.ts.map +1 -0
  390. package/dist/runtime/cli-runtime.js +96 -0
  391. package/dist/schemas/entity.schema.json +329 -3
  392. package/dist/traceability/staged-diagnostics.d.ts +2 -2
  393. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  394. package/dist/traceability/staged-diagnostics.js +17 -10
  395. package/dist/traceability/staged-impact-contract.js +1 -1
  396. package/dist/traceability/staged-symbols-manifest.d.ts +1 -0
  397. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  398. package/dist/traceability/staged-symbols-manifest.js +53 -24
  399. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  400. package/dist/traceability/symbol-extract.js +17 -1
  401. package/dist/traceability/temp-kb.d.ts.map +1 -1
  402. package/dist/traceability/temp-kb.js +47 -1
  403. package/dist/types/entities.d.ts +3 -0
  404. package/dist/types/entities.d.ts.map +1 -1
  405. package/dist/types/relationships.d.ts +1 -1
  406. package/dist/types/relationships.d.ts.map +1 -1
  407. package/dist/utils/rule-registry.d.ts.map +1 -1
  408. package/dist/utils/rule-registry.js +24 -0
  409. package/dist/utils/schema-version.d.ts +1 -1
  410. package/dist/utils/schema-version.js +1 -1
  411. package/package.json +60 -2
  412. package/src/public/impact/diagnostics.ts +18 -11
  413. package/src/public/impact/full-kb-quality.ts +30 -3
  414. package/src/public/impact/requirement-quality.ts +6 -26
  415. package/src/public/operations/catalog.ts +60 -0
  416. package/src/public/operations/check-executor.ts +185 -0
  417. package/src/public/operations/check-format-shared.ts +178 -0
  418. package/src/public/operations/check-helpers.ts +141 -0
  419. package/src/public/operations/discovery-entities.ts +122 -0
  420. package/src/public/operations/discovery-executors.ts +176 -0
  421. package/src/public/operations/index.ts +20 -0
  422. package/src/public/operations/node-ports.ts +78 -0
  423. package/src/public/operations/prolog-json.ts +71 -0
  424. package/src/public/operations/runtime-types.ts +106 -0
  425. package/src/public/operations/specs/autopilot.ts +98 -0
  426. package/src/public/operations/specs/check.ts +75 -0
  427. package/src/public/operations/specs/discovery.ts +126 -0
  428. package/src/public/operations/specs/modeling.ts +174 -0
  429. package/src/public/operations/specs/mutation-schemas.ts +326 -0
  430. package/src/public/operations/specs/mutation.ts +58 -0
  431. package/src/public/operations/specs/reporting.ts +249 -0
  432. package/src/public/operations/specs/semantic.ts +174 -0
  433. package/src/public/operations/specs/skills.ts +142 -0
  434. package/src/public/operations/specs/sparql.ts +149 -0
  435. package/src/public/operations/specs/upsert.ts +40 -0
  436. package/src/public/operations/types.ts +57 -0
  437. package/src/public/schemas/entity.ts +324 -1
  438. package/src/public/schemas/relationship.ts +1 -0
  439. package/src/public/skill-system/errors.ts +38 -0
  440. package/src/public/skill-system/loader.ts +108 -0
  441. package/src/public/skill-system/paths.ts +27 -0
  442. package/src/public/skill-system/types.ts +14 -0
  443. package/src/public/skill-system/validation.ts +175 -0
  444. package/src/public/skills/init-kibi/SKILL.md +62 -0
  445. package/src/public/skills/kibi-freshness/SKILL.md +44 -0
  446. package/src/public/skills/kibi-traceability/SKILL.md +54 -0
  447. package/src/public/skills/kibi-usage/SKILL.md +145 -99
  448. package/src/public/skills/kibi-usage/resources/fact-lanes.md +112 -0
  449. package/src/public/skills/kibi-usage/resources/logic-ir.md +43 -0
  450. package/src/public/skills/kibi-usage/resources/operation-access.md +44 -0
  451. package/src/public/skills/kibi-usage/resources/ui-requirements.md +96 -0
  452. package/src/public/skills/kibi-usage/resources/workflows.md +41 -3
  453. package/src/public/skills.ts +18 -427
  454. package/src/public/symbol-granularity.ts +25 -0
  455. package/src/schemas/entity.schema.json +329 -3
  456. package/src/schemas/relationship.schema.json +1 -0
@@ -0,0 +1,18 @@
1
+ export type DiagnosticTelemetry = Readonly<Record<string, unknown>>;
2
+ export type ValidationResult = {
3
+ readonly valid: true;
4
+ } | {
5
+ readonly valid: false;
6
+ readonly errors: readonly string[];
7
+ };
8
+ export type PreparedInputResult = {
9
+ readonly valid: true;
10
+ readonly businessInput: Readonly<Record<string, unknown>>;
11
+ readonly telemetry?: DiagnosticTelemetry;
12
+ } | {
13
+ readonly valid: false;
14
+ readonly errors: readonly string[];
15
+ };
16
+ export declare function prepareOperationInput(input: unknown, schema: object): PreparedInputResult;
17
+ export declare function validateAgainstSchema(input: unknown, schema: object): ValidationResult;
18
+ //# sourceMappingURL=cli-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-validate.d.ts","sourceRoot":"","sources":["../src/cli-validate.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAGpE,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAGlE,MAAM,MAAM,mBAAmB,GAC3B;IACE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C,GACD;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAiBlE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,mBAAmB,CAgCrB;AAGD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,gBAAgB,CAKlB"}
@@ -0,0 +1,45 @@
1
+ import Ajv from "ajv";
2
+ function isObject(value) {
3
+ return value !== null && typeof value === "object" && !Array.isArray(value);
4
+ }
5
+ function formatValidationErrors(errors) {
6
+ return errors.map((error) => {
7
+ const location = error.instancePath.length > 0 ? error.instancePath : "/";
8
+ const parameters = Object.values(error.params).join(", ");
9
+ return `${location} ${error.message ?? "is invalid"}${parameters.length > 0 ? `: ${parameters}` : ""}`;
10
+ });
11
+ }
12
+ // implements REQ-kibi-operation-interface-parity
13
+ export function prepareOperationInput(input, schema) {
14
+ if (!isObject(input)) {
15
+ return { valid: false, errors: ["input must be an object"] };
16
+ }
17
+ const telemetryValue = input._diagnostic_telemetry;
18
+ if (telemetryValue !== undefined && !isObject(telemetryValue)) {
19
+ return {
20
+ valid: false,
21
+ errors: ["_diagnostic_telemetry must be an object when provided"],
22
+ };
23
+ }
24
+ const businessInput = Object.fromEntries(Object.entries(input).filter(([key]) => key !== "_diagnostic_telemetry"));
25
+ const schemaWithExactTopLevel = { ...schema, additionalProperties: false };
26
+ const validator = new Ajv({ allErrors: true, strict: false }).compile(schemaWithExactTopLevel);
27
+ if (!validator(businessInput)) {
28
+ return {
29
+ valid: false,
30
+ errors: validator.errors
31
+ ? formatValidationErrors(validator.errors)
32
+ : ["input is invalid"],
33
+ };
34
+ }
35
+ return telemetryValue === undefined
36
+ ? { valid: true, businessInput }
37
+ : { valid: true, businessInput, telemetry: telemetryValue };
38
+ }
39
+ // implements REQ-kibi-operation-interface-parity
40
+ export function validateAgainstSchema(input, schema) {
41
+ const result = prepareOperationInput(input, schema);
42
+ return result.valid
43
+ ? { valid: true }
44
+ : { valid: false, errors: result.errors };
45
+ }
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- /** All command handlers return this instead of calling process.exit(). */
2
- export interface CommandResult {
3
- exitCode?: number;
4
- }
1
+ import { Command } from "commander";
2
+ export type { CommandResult } from "./cli-command.js";
3
+ export declare function buildProgram(): Command;
4
+ export declare function main(): Promise<never>;
5
5
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA8CA,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAmBtD,wBAAgB,YAAY,IAAI,OAAO,CAYtC;AAGD,wBAAsB,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAgB3C"}
package/dist/cli.js CHANGED
@@ -15,219 +15,56 @@
15
15
  You should have received a copy of the GNU Affero General Public License
16
16
  along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  */
18
+ import { once } from "node:events";
18
19
  import { readFileSync } from "node:fs";
20
+ import { resolve } from "node:path";
21
+ import { pathToFileURL } from "node:url";
19
22
  import { Command } from "commander";
20
- import { branchEnsureCommand } from "./commands/branch.js";
21
- import { checkCommand } from "./commands/check.js";
22
- import { coverageCommand } from "./commands/coverage.js";
23
- import { doctorCommand } from "./commands/doctor.js";
24
- import { gapsCommand } from "./commands/gaps.js";
25
- import { gcCommand } from "./commands/gc.js";
26
- import { graphCommand } from "./commands/graph.js";
27
- import { initCommand } from "./commands/init.js";
28
- import { migrateCommand } from "./commands/migrate.js";
29
- import { queryCommand } from "./commands/query.js";
30
- import { searchCommand } from "./commands/search.js";
31
- import { skillsListCommand, skillsLoadCommand, skillsReadCommand, skillsValidateCommand, } from "./commands/skills.js";
32
- import { statusCommand } from "./commands/status.js";
33
- import { syncCommand } from "./commands/sync.js";
34
- import { usageMetricsCommand } from "./commands/usage-metrics.js";
23
+ import { registerJsonOnlyCommands } from "./cli-json-command.js";
24
+ import { registerFoundationCommands } from "./cli-register-foundation.js";
25
+ import { registerMaintenanceCommands } from "./cli-register-maintenance.js";
26
+ import { registerReportingCommands } from "./cli-register-reporting.js";
27
+ import { registerSkillsCommands } from "./cli-register-skills.js";
35
28
  const packageJson = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
36
- const VERSION = packageJson.version ?? "0.1.0";
37
- // implements REQ-003
38
- /** Wraps an async command handler to apply its returned exitCode to process.exitCode. */
39
- function withExitCode(fn) {
40
- return async (...args) => {
41
- const result = await fn(...args);
42
- if (result && typeof result.exitCode === "number") {
43
- process.exitCode = result.exitCode;
44
- }
45
- };
29
+ function packageVersion(value) {
30
+ if (value !== null &&
31
+ typeof value === "object" &&
32
+ "version" in value &&
33
+ typeof value.version === "string") {
34
+ return value.version;
35
+ }
36
+ return "0.1.0";
37
+ }
38
+ // implements REQ-kibi-operation-interface-parity
39
+ export function buildProgram() {
40
+ const program = new Command()
41
+ .name("kibi")
42
+ .description("Prolog-based project knowledge base")
43
+ .version(packageVersion(packageJson));
44
+ registerFoundationCommands(program);
45
+ registerReportingCommands(program);
46
+ registerMaintenanceCommands(program);
47
+ registerSkillsCommands(program);
48
+ registerJsonOnlyCommands(program);
49
+ return program;
46
50
  }
47
- const program = new Command();
48
- program
49
- .name("kibi")
50
- .description("Prolog-based project knowledge base")
51
- .version(VERSION);
52
- program
53
- .command("init")
54
- .description("Initialize .kb/ directory")
55
- .option("--no-hooks", "Do not install git hooks (hooks installed by default)")
56
- .action(withExitCode(async (options) => {
57
- return initCommand(options);
58
- }));
59
- program
60
- .command("migrate")
61
- .description("Migrate .kb/config.json to the latest schema version")
62
- .option("--dry-run", "Preview migration changes without writing files")
63
- .option("--yes", "Apply migration changes without prompting")
64
- .action(withExitCode(async (options) => {
65
- return migrateCommand(options);
66
- }));
67
- program
68
- .command("sync")
69
- .description("Sync entities from documents")
70
- .option("--validate-only", "Perform validation without mutations")
71
- .option("--refresh-symbol-coordinates", "Refresh generated symbol coordinates")
72
- .option("--rebuild", "Rebuild branch snapshot from scratch (discards current KB)")
73
- .action(withExitCode(async (options) => {
74
- return syncCommand(options);
75
- }));
76
- program;
77
- program
78
- .command("query [type]")
79
- .description("Query knowledge base")
80
- .option("--id <id>", "Query specific entity by ID")
81
- .option("--tag <tag>", "Filter by tag")
82
- .option("--source <path>", "Filter by source file path (substring match)")
83
- .option("--relationships <id>", "Get relationships from entity")
84
- .option("--format <format>", "Output format: json|table", "json")
85
- .option("--limit <n>", "Limit results", "100")
86
- .option("--offset <n>", "Skip results", "0")
87
- .action(withExitCode(async (type, options) => {
88
- return queryCommand(type, options);
89
- }));
90
- program
91
- .command("search [query]")
92
- .description("Search knowledge base metadata and markdown content")
93
- .option("--type <type>", "Filter by entity type")
94
- .option("--format <format>", "Output format: json|table", "table")
95
- .option("--limit <n>", "Limit results", "20")
96
- .option("--offset <n>", "Skip results", "0")
97
- .action(async (query, options) => {
98
- await searchCommand(query, options);
99
- });
100
- program
101
- .command("status")
102
- .description("Show KB snapshot and freshness metadata")
103
- .option("--format <format>", "Output format: json|table", "table")
104
- .action(async (options) => {
105
- await statusCommand(options);
106
- });
107
- program
108
- .command("gaps [type]")
109
- .description("Find entities missing or present on selected relationships")
110
- .option("--missing-rel <rels>", "Comma-separated missing relationship filters")
111
- .option("--present-rel <rels>", "Comma-separated present relationship filters")
112
- .option("--tag <tags>", "Comma-separated tag filter")
113
- .option("--source <path>", "Source file substring filter")
114
- .option("--limit <n>", "Limit results", "100")
115
- .option("--offset <n>", "Skip results", "0")
116
- .option("--format <format>", "Output format: json|table", "table")
117
- .action(async (type, options) => {
118
- await gapsCommand(type, options);
119
- });
120
- program
121
- .command("coverage")
122
- .description("Generate curated coverage reports")
123
- .option("--by <group>", "Coverage mode: req|symbol|type", "req")
124
- .option("--tag <tags>", "Comma-separated tag filter")
125
- .option("--include-passing", "Include passing rows", false)
126
- .option("--no-include-transitive", "Disable transitive symbol coverage")
127
- .option("--limit <n>", "Limit results", "100")
128
- .option("--offset <n>", "Skip results", "0")
129
- .option("--format <format>", "Output format: json|table", "table")
130
- .action(async (options) => {
131
- await coverageCommand(options);
132
- });
133
- program
134
- .command("graph")
135
- .description("Traverse the KB graph from one or more seed IDs")
136
- .option("--from <ids>", "Comma-separated seed IDs")
137
- .option("--relationships <rels>", "Comma-separated relationship filter")
138
- .option("--direction <direction>", "Direction: outgoing|incoming|both", "outgoing")
139
- .option("--depth <n>", "Traversal depth", "1")
140
- .option("--entity-types <types>", "Comma-separated entity type filter")
141
- .option("--max-nodes <n>", "Maximum node count", "200")
142
- .option("--max-edges <n>", "Maximum edge count", "500")
143
- .option("--format <format>", "Output format: json|table", "table")
144
- .action(async (options) => {
145
- await graphCommand(options);
146
- });
147
- program
148
- .command("check")
149
- .description("Check KB consistency and integrity")
150
- .option("--fix", "Suggest fixes for violations")
151
- .option("--kb-path <dir>", "Path to KB directory (overrides branch resolution)")
152
- .option("--rules <csv>", "Comma-separated allowlist of rule names to run")
153
- .option("--staged", "Run check only against staged changes (experimental)")
154
- .option("--min-links <n>", "Minimum number of links required for symbol coverage", "1")
155
- .option("--dry-run", "Do not modify files; only print what would happen")
156
- .option("--format <format>", "Output format: text|json", "text")
157
- .action(withExitCode(async (options) => {
158
- return checkCommand(options);
159
- }));
160
- program
161
- .command("gc")
162
- .description("Garbage collect stale branch KBs")
163
- .option("--dry-run", "Preview without deleting (default)", true)
164
- .option("--force", "Actually delete stale branches")
165
- .action(async (options) => {
166
- const dryRun = !options.force;
167
- await gcCommand({ dryRun, force: options.force });
168
- });
169
- program
170
- .command("doctor")
171
- .description("Diagnose KB setup and configuration")
172
- .action(withExitCode(async () => doctorCommand()));
173
- program
174
- .command("usage-metrics")
175
- .description("Report usage and quality metrics from .kb/usage.log")
176
- .option("--format <format>", "Output format: json|table", "table")
177
- .option("--limit <n>", "Limit top zero-result source files", "10")
178
- .action(withExitCode(async (options) => {
179
- return usageMetricsCommand(options);
180
- }));
181
- const skillsProgram = program
182
- .command("skills")
183
- .description("Manage bundled markdown skills");
184
- skillsProgram
185
- .command("list")
186
- .description("List bundled markdown skills")
187
- .option("--format <format>", "Output format: json|table", "table")
188
- .action(withExitCode(async (options) => {
189
- return skillsListCommand(options);
190
- }));
191
- skillsProgram
192
- .command("load")
193
- .description("Load a bundled markdown skill")
194
- .argument("<id>", "Bundled skill ID")
195
- .option("--format <format>", "Output format: json|markdown", "markdown")
196
- .action(withExitCode(async (id, options) => {
197
- return skillsLoadCommand(id, options);
198
- }));
199
- skillsProgram
200
- .command("read")
201
- .description("Read a declared bundled skill resource")
202
- .argument("<id>", "Bundled skill ID")
203
- .argument("<resource>", "Declared resource path")
204
- .option("--format <format>", "Output format: text|json", "text")
205
- .action(withExitCode(async (id, resource, options) => {
206
- return skillsReadCommand(id, resource, options);
207
- }));
208
- skillsProgram
209
- .command("validate")
210
- .description("Validate a bundled markdown skill path")
211
- .argument("<path>", "Skill bundle directory or SKILL.md path")
212
- .option("--format <format>", "Output format: json|table", "table")
213
- .action(withExitCode(async (pathLike, options) => {
214
- return skillsValidateCommand(pathLike, options);
215
- }));
216
- program
217
- .command("branch")
218
- .description("Manage branch KBs")
219
- .argument("<action>", "Action: ensure")
220
- .option("--from <branch>", "Source branch to copy KB from")
221
- .action(async (action, options) => {
222
- if (action === "ensure") {
223
- await branchEnsureCommand(options);
51
+ // implements REQ-kibi-operation-interface-parity
52
+ export async function main() {
53
+ let exitCode = process.exitCode ?? 0;
54
+ try {
55
+ await buildProgram().parseAsync(process.argv);
56
+ exitCode = process.exitCode ?? 0;
57
+ }
58
+ catch (error) {
59
+ const message = error instanceof Error ? error.message : String(error);
60
+ console.error(message);
61
+ exitCode = 1;
224
62
  }
225
- });
226
- program
227
- .parseAsync(process.argv)
228
- .then(() => process.exit(process.exitCode ?? 0))
229
- .catch((error) => {
230
- const message = error instanceof Error ? error.message : String(error);
231
- console.error(message);
232
- process.exit(1);
233
- });
63
+ await Promise.all([process.stdout, process.stderr].map((stream) => stream.writableNeedDrain ? once(stream, "drain") : Promise.resolve()));
64
+ process.exit(exitCode);
65
+ }
66
+ const entryPath = process.argv[1];
67
+ if (entryPath !== undefined &&
68
+ import.meta.url === pathToFileURL(resolve(entryPath)).href) {
69
+ void main();
70
+ }
@@ -8,5 +8,5 @@ import type { Violation } from "./check.js";
8
8
  * @param rulesAllowlist - Set of rule names to run (null = all)
9
9
  * @param requireAdr - Whether to require ADR constraints for symbol-traceability
10
10
  */
11
- export declare function runAggregatedChecks(prolog: PrologProcess, rulesAllowlist: Set<string> | null, requireAdr?: boolean): Promise<Violation[]>;
11
+ export declare function runAggregatedChecks(prolog: Pick<PrologProcess, "query">, rulesAllowlist: Set<string> | null, requireAdr?: boolean): Promise<Violation[]>;
12
12
  //# sourceMappingURL=aggregated-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated-checks.d.ts","sourceRoot":"","sources":["../../src/commands/aggregated-checks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAU5C;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAClC,UAAU,UAAQ,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA4DtB"}
1
+ {"version":3,"file":"aggregated-checks.d.ts","sourceRoot":"","sources":["../../src/commands/aggregated-checks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAU5C;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,EACpC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAClC,UAAU,UAAQ,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAuDtB"}
@@ -21,44 +21,38 @@ export async function runAggregatedChecks(prolog, rulesAllowlist, requireAdr = f
21
21
  -> call(checks:check_all_json_with_options(JsonString, ${requireAdrStr}))
22
22
  ; call(checks:check_all_json(JsonString))
23
23
  ))`;
24
+ const result = await prolog.query(query);
25
+ if (!result.success) {
26
+ throw new Error(`Aggregated checks query failed: ${result.error || "Unknown error"}`);
27
+ }
28
+ let violationsDict;
24
29
  try {
25
- const result = await prolog.query(query);
26
- if (!result.success) {
27
- throw new Error(`Aggregated checks query failed: ${result.error || "Unknown error"}`);
28
- }
29
- let violationsDict;
30
- try {
31
- const jsonString = result.bindings.JsonString;
32
- if (!jsonString) {
33
- throw new Error("No JSON string in binding");
34
- }
35
- let parsed = JSON.parse(jsonString);
36
- if (typeof parsed === "string") {
37
- parsed = JSON.parse(parsed);
38
- }
39
- violationsDict = parsed;
30
+ const jsonString = result.bindings.JsonString;
31
+ if (!jsonString) {
32
+ throw new Error("No JSON string in binding");
40
33
  }
41
- catch (parseError) {
42
- throw new Error(`Failed to parse violations JSON: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
34
+ let parsed = JSON.parse(jsonString);
35
+ if (typeof parsed === "string") {
36
+ parsed = JSON.parse(parsed);
43
37
  }
44
- for (const ruleViolations of Object.values(violationsDict)) {
45
- for (const v of ruleViolations) {
46
- const isAllowed = !rulesAllowlist || rulesAllowlist.has(v.rule);
47
- if (isAllowed) {
48
- violations.push({
49
- rule: v.rule,
50
- entityId: v.entityId,
51
- description: v.description,
52
- ...(v.suggestion ? { suggestion: v.suggestion } : {}),
53
- ...(v.source ? { source: v.source } : {}),
54
- });
55
- }
38
+ violationsDict = parsed;
39
+ }
40
+ catch (parseError) {
41
+ throw new Error(`Failed to parse violations JSON: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
42
+ }
43
+ for (const ruleViolations of Object.values(violationsDict)) {
44
+ for (const v of ruleViolations) {
45
+ const isAllowed = !rulesAllowlist || rulesAllowlist.has(v.rule);
46
+ if (isAllowed) {
47
+ violations.push({
48
+ rule: v.rule,
49
+ entityId: v.entityId,
50
+ description: v.description,
51
+ ...(v.suggestion ? { suggestion: v.suggestion } : {}),
52
+ ...(v.source ? { source: v.source } : {}),
53
+ });
56
54
  }
57
55
  }
58
- return violations;
59
- }
60
- catch (error) {
61
- const message = error instanceof Error ? error.message : String(error);
62
- throw new Error(`Error running aggregated checks: ${message}`);
63
56
  }
57
+ return violations;
64
58
  }
@@ -1,4 +1,4 @@
1
- import { type Violation } from "../utils/rule-registry.js";
1
+ import type { Violation } from "../utils/rule-registry.js";
2
2
  export type { Violation };
3
3
  export interface CheckOptions {
4
4
  fix?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAoFA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,SAAS,EAAE,CAAC;AAgB1B,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAkZD,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAya/B"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAkFA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,YAAY,EAAE,SAAS,EAAE,CAAC;AAG1B,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AA2bD,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAqW/B"}