kibi-cli 0.12.8 → 0.16.1

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 (501) 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 -210
  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 +2 -1
  39. package/dist/commands/check.d.ts.map +1 -1
  40. package/dist/commands/check.js +145 -152
  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 +3 -1
  44. package/dist/commands/discovery-shared.d.ts.map +1 -1
  45. package/dist/commands/discovery-shared.js +8 -209
  46. package/dist/commands/discovery-table.d.ts +3 -0
  47. package/dist/commands/discovery-table.d.ts.map +1 -0
  48. package/dist/commands/discovery-table.js +204 -0
  49. package/dist/commands/gaps.d.ts.map +1 -1
  50. package/dist/commands/gaps.js +15 -19
  51. package/dist/commands/graph.d.ts.map +1 -1
  52. package/dist/commands/graph.js +15 -21
  53. package/dist/commands/query.d.ts +7 -7
  54. package/dist/commands/query.d.ts.map +1 -1
  55. package/dist/commands/query.js +98 -204
  56. package/dist/commands/search.d.ts +4 -4
  57. package/dist/commands/search.d.ts.map +1 -1
  58. package/dist/commands/search.js +14 -27
  59. package/dist/commands/status.d.ts +1 -1
  60. package/dist/commands/status.d.ts.map +1 -1
  61. package/dist/commands/status.js +6 -7
  62. package/dist/commands/sync/discovery.d.ts.map +1 -1
  63. package/dist/commands/sync/discovery.js +8 -1
  64. package/dist/commands/sync/extraction.d.ts +6 -1
  65. package/dist/commands/sync/extraction.d.ts.map +1 -1
  66. package/dist/commands/sync/extraction.js +7 -3
  67. package/dist/commands/sync/manifest.d.ts +1 -1
  68. package/dist/commands/sync/manifest.d.ts.map +1 -1
  69. package/dist/commands/sync/manifest.js +9 -17
  70. package/dist/commands/sync/persistence.d.ts.map +1 -1
  71. package/dist/commands/sync/persistence.js +51 -2
  72. package/dist/extractors/manifest.d.ts.map +1 -1
  73. package/dist/extractors/manifest.js +18 -0
  74. package/dist/extractors/markdown.d.ts +20 -2
  75. package/dist/extractors/markdown.d.ts.map +1 -1
  76. package/dist/extractors/markdown.js +38 -1
  77. package/dist/extractors/symbols-coordinator.d.ts +1 -1
  78. package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
  79. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  80. package/dist/extractors/symbols-ts.js +73 -1
  81. package/dist/operations/autopilot/activation.d.ts +4 -0
  82. package/dist/operations/autopilot/activation.d.ts.map +1 -0
  83. package/dist/operations/autopilot/activation.js +130 -0
  84. package/dist/operations/autopilot/candidate-helpers.d.ts +13 -0
  85. package/dist/operations/autopilot/candidate-helpers.d.ts.map +1 -0
  86. package/dist/operations/autopilot/candidate-helpers.js +55 -0
  87. package/dist/operations/autopilot/candidates.d.ts +4 -0
  88. package/dist/operations/autopilot/candidates.d.ts.map +1 -0
  89. package/dist/operations/autopilot/candidates.js +114 -0
  90. package/dist/operations/autopilot/discovery-evidence.d.ts +10 -0
  91. package/dist/operations/autopilot/discovery-evidence.d.ts.map +1 -0
  92. package/dist/operations/autopilot/discovery-evidence.js +158 -0
  93. package/dist/operations/autopilot/discovery.d.ts +4 -0
  94. package/dist/operations/autopilot/discovery.d.ts.map +1 -0
  95. package/dist/operations/autopilot/discovery.js +100 -0
  96. package/dist/operations/autopilot/generate.d.ts +8 -0
  97. package/dist/operations/autopilot/generate.d.ts.map +1 -0
  98. package/dist/operations/autopilot/generate.js +112 -0
  99. package/dist/operations/autopilot/guidance-actions.d.ts +3 -0
  100. package/dist/operations/autopilot/guidance-actions.d.ts.map +1 -0
  101. package/dist/operations/autopilot/guidance-actions.js +79 -0
  102. package/dist/operations/autopilot/guidance.d.ts +14 -0
  103. package/dist/operations/autopilot/guidance.d.ts.map +1 -0
  104. package/dist/operations/autopilot/guidance.js +124 -0
  105. package/dist/operations/autopilot/markdown-candidates.d.ts +7 -0
  106. package/dist/operations/autopilot/markdown-candidates.d.ts.map +1 -0
  107. package/dist/operations/autopilot/markdown-candidates.js +134 -0
  108. package/dist/operations/autopilot/presentation.d.ts +13 -0
  109. package/dist/operations/autopilot/presentation.d.ts.map +1 -0
  110. package/dist/operations/autopilot/presentation.js +91 -0
  111. package/dist/operations/autopilot/requirement-claims.d.ts +3 -0
  112. package/dist/operations/autopilot/requirement-claims.d.ts.map +1 -0
  113. package/dist/operations/autopilot/requirement-claims.js +48 -0
  114. package/dist/operations/autopilot/types.d.ts +117 -0
  115. package/dist/operations/autopilot/types.d.ts.map +1 -0
  116. package/dist/operations/autopilot/types.js +8 -0
  117. package/dist/operations/modeling/model-requirement.d.ts +10 -0
  118. package/dist/operations/modeling/model-requirement.d.ts.map +1 -0
  119. package/dist/operations/modeling/model-requirement.js +108 -0
  120. package/dist/operations/modeling/predicate-applyplan.d.ts +6 -0
  121. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -0
  122. package/dist/operations/modeling/predicate-applyplan.js +104 -0
  123. package/dist/operations/modeling/predicate-catalog-1.d.ts +3 -0
  124. package/dist/operations/modeling/predicate-catalog-1.d.ts.map +1 -0
  125. package/dist/operations/modeling/predicate-catalog-1.js +200 -0
  126. package/dist/operations/modeling/predicate-catalog-2.d.ts +3 -0
  127. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -0
  128. package/dist/operations/modeling/predicate-catalog-2.js +197 -0
  129. package/dist/operations/modeling/predicate-catalog-3.d.ts +3 -0
  130. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -0
  131. package/dist/operations/modeling/predicate-catalog-3.js +193 -0
  132. package/dist/operations/modeling/predicate-catalog-4.d.ts +3 -0
  133. package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -0
  134. package/dist/operations/modeling/predicate-catalog-4.js +149 -0
  135. package/dist/operations/modeling/predicate-catalog.d.ts +5 -0
  136. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -0
  137. package/dist/operations/modeling/predicate-catalog.js +29 -0
  138. package/dist/operations/modeling/predicate-inference-1.d.ts +16 -0
  139. package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -0
  140. package/dist/operations/modeling/predicate-inference-1.js +161 -0
  141. package/dist/operations/modeling/predicate-inference-2.d.ts +19 -0
  142. package/dist/operations/modeling/predicate-inference-2.d.ts.map +1 -0
  143. package/dist/operations/modeling/predicate-inference-2.js +169 -0
  144. package/dist/operations/modeling/predicate-inference-3.d.ts +15 -0
  145. package/dist/operations/modeling/predicate-inference-3.d.ts.map +1 -0
  146. package/dist/operations/modeling/predicate-inference-3.js +163 -0
  147. package/dist/operations/modeling/predicate-inference.d.ts +5 -0
  148. package/dist/operations/modeling/predicate-inference.d.ts.map +1 -0
  149. package/dist/operations/modeling/predicate-inference.js +148 -0
  150. package/dist/operations/modeling/predicate-loader.d.ts +10 -0
  151. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -0
  152. package/dist/operations/modeling/predicate-loader.js +88 -0
  153. package/dist/operations/modeling/predicate-ranker.d.ts +3 -0
  154. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -0
  155. package/dist/operations/modeling/predicate-ranker.js +24 -0
  156. package/dist/operations/modeling/predicate-score-1.d.ts +3 -0
  157. package/dist/operations/modeling/predicate-score-1.d.ts.map +1 -0
  158. package/dist/operations/modeling/predicate-score-1.js +121 -0
  159. package/dist/operations/modeling/predicate-score-2.d.ts +3 -0
  160. package/dist/operations/modeling/predicate-score-2.d.ts.map +1 -0
  161. package/dist/operations/modeling/predicate-score-2.js +122 -0
  162. package/dist/operations/modeling/predicate-score-3.d.ts +3 -0
  163. package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -0
  164. package/dist/operations/modeling/predicate-score-3.js +54 -0
  165. package/dist/operations/modeling/predicate-types.d.ts +61 -0
  166. package/dist/operations/modeling/predicate-types.d.ts.map +1 -0
  167. package/dist/operations/modeling/predicate-types.js +1 -0
  168. package/dist/operations/modeling/predicate-usage-hints-1.d.ts +3 -0
  169. package/dist/operations/modeling/predicate-usage-hints-1.d.ts.map +1 -0
  170. package/dist/operations/modeling/predicate-usage-hints-1.js +211 -0
  171. package/dist/operations/modeling/predicate-usage-hints-2.d.ts +3 -0
  172. package/dist/operations/modeling/predicate-usage-hints-2.d.ts.map +1 -0
  173. package/dist/operations/modeling/predicate-usage-hints-2.js +209 -0
  174. package/dist/operations/modeling/predicate-usage-hints-3.d.ts +3 -0
  175. package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -0
  176. package/dist/operations/modeling/predicate-usage-hints-3.js +45 -0
  177. package/dist/operations/modeling/predicate-utils.d.ts +23 -0
  178. package/dist/operations/modeling/predicate-utils.d.ts.map +1 -0
  179. package/dist/operations/modeling/predicate-utils.js +187 -0
  180. package/dist/operations/modeling/requirement-applyplan.d.ts +4 -0
  181. package/dist/operations/modeling/requirement-applyplan.d.ts.map +1 -0
  182. package/dist/operations/modeling/requirement-applyplan.js +44 -0
  183. package/dist/operations/modeling/requirement-heuristics.d.ts +4 -0
  184. package/dist/operations/modeling/requirement-heuristics.d.ts.map +1 -0
  185. package/dist/operations/modeling/requirement-heuristics.js +114 -0
  186. package/dist/operations/modeling/requirement-modeler.d.ts +8 -0
  187. package/dist/operations/modeling/requirement-modeler.d.ts.map +1 -0
  188. package/dist/operations/modeling/requirement-modeler.js +70 -0
  189. package/dist/operations/modeling/requirement-types.d.ts +49 -0
  190. package/dist/operations/modeling/requirement-types.d.ts.map +1 -0
  191. package/dist/operations/modeling/requirement-types.js +1 -0
  192. package/dist/operations/modeling/requirement-utils.d.ts +10 -0
  193. package/dist/operations/modeling/requirement-utils.d.ts.map +1 -0
  194. package/dist/operations/modeling/requirement-utils.js +65 -0
  195. package/dist/operations/modeling/suggest-predicates.d.ts +6 -0
  196. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -0
  197. package/dist/operations/modeling/suggest-predicates.js +64 -0
  198. package/dist/operations/mutation/audit.d.ts +6 -0
  199. package/dist/operations/mutation/audit.d.ts.map +1 -0
  200. package/dist/operations/mutation/audit.js +22 -0
  201. package/dist/operations/mutation/contradictions.d.ts +10 -0
  202. package/dist/operations/mutation/contradictions.d.ts.map +1 -0
  203. package/dist/operations/mutation/contradictions.js +40 -0
  204. package/dist/operations/mutation/delete.d.ts +5 -0
  205. package/dist/operations/mutation/delete.d.ts.map +1 -0
  206. package/dist/operations/mutation/delete.js +67 -0
  207. package/dist/operations/mutation/relationships.d.ts +17 -0
  208. package/dist/operations/mutation/relationships.d.ts.map +1 -0
  209. package/dist/operations/mutation/relationships.js +134 -0
  210. package/dist/operations/mutation/save.d.ts +4 -0
  211. package/dist/operations/mutation/save.d.ts.map +1 -0
  212. package/dist/operations/mutation/save.js +14 -0
  213. package/dist/operations/mutation/serialization.d.ts +5 -0
  214. package/dist/operations/mutation/serialization.d.ts.map +1 -0
  215. package/dist/operations/mutation/serialization.js +85 -0
  216. package/dist/operations/mutation/strict-fact.d.ts +4 -0
  217. package/dist/operations/mutation/strict-fact.d.ts.map +1 -0
  218. package/dist/operations/mutation/strict-fact.js +67 -0
  219. package/dist/operations/mutation/symbol-granularity.d.ts +4 -0
  220. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -0
  221. package/dist/operations/mutation/symbol-granularity.js +109 -0
  222. package/dist/operations/mutation/symbol-refresh.d.ts +10 -0
  223. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -0
  224. package/dist/operations/mutation/symbol-refresh.js +105 -0
  225. package/dist/operations/mutation/types.d.ts +43 -0
  226. package/dist/operations/mutation/types.d.ts.map +1 -0
  227. package/dist/operations/mutation/types.js +1 -0
  228. package/dist/operations/mutation/upsert.d.ts +5 -0
  229. package/dist/operations/mutation/upsert.d.ts.map +1 -0
  230. package/dist/operations/mutation/upsert.js +103 -0
  231. package/dist/operations/mutation/validate-upsert.d.ts +5 -0
  232. package/dist/operations/mutation/validate-upsert.d.ts.map +1 -0
  233. package/dist/operations/mutation/validate-upsert.js +50 -0
  234. package/dist/operations/mutation/validation.d.ts +5 -0
  235. package/dist/operations/mutation/validation.d.ts.map +1 -0
  236. package/dist/operations/mutation/validation.js +107 -0
  237. package/dist/operations/mutation/warnings.d.ts +4 -0
  238. package/dist/operations/mutation/warnings.d.ts.map +1 -0
  239. package/dist/operations/mutation/warnings.js +17 -0
  240. package/dist/operations/semantic-advisor/analysis-receipt.d.ts +5 -0
  241. package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -0
  242. package/dist/operations/semantic-advisor/analysis-receipt.js +112 -0
  243. package/dist/operations/semantic-advisor/analyze-prose.d.ts +5 -0
  244. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -0
  245. package/dist/operations/semantic-advisor/analyze-prose.js +271 -0
  246. package/dist/operations/semantic-advisor/clauses.d.ts +10 -0
  247. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -0
  248. package/dist/operations/semantic-advisor/clauses.js +43 -0
  249. package/dist/operations/semantic-advisor/observation-plan.d.ts +3 -0
  250. package/dist/operations/semantic-advisor/observation-plan.d.ts.map +1 -0
  251. package/dist/operations/semantic-advisor/observation-plan.js +19 -0
  252. package/dist/operations/semantic-advisor/predicate-rule.d.ts +14 -0
  253. package/dist/operations/semantic-advisor/predicate-rule.d.ts.map +1 -0
  254. package/dist/operations/semantic-advisor/predicate-rule.js +22 -0
  255. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +79 -0
  256. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -0
  257. package/dist/operations/semantic-advisor/predicate-rules-core.js +140 -0
  258. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +83 -0
  259. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -0
  260. package/dist/operations/semantic-advisor/predicate-rules-policy.js +150 -0
  261. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +48 -0
  262. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -0
  263. package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +102 -0
  264. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +71 -0
  265. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -0
  266. package/dist/operations/semantic-advisor/predicate-rules-product.js +133 -0
  267. package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts +29 -0
  268. package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts.map +1 -0
  269. package/dist/operations/semantic-advisor/prose-coverage-evaluator.js +54 -0
  270. package/dist/operations/semantic-advisor/shared.d.ts +18 -0
  271. package/dist/operations/semantic-advisor/shared.d.ts.map +1 -0
  272. package/dist/operations/semantic-advisor/shared.js +209 -0
  273. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +4 -0
  274. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -0
  275. package/dist/operations/semantic-advisor/strict-count-rules.js +62 -0
  276. package/dist/operations/semantic-advisor/strict-rules.d.ts +4 -0
  277. package/dist/operations/semantic-advisor/strict-rules.d.ts.map +1 -0
  278. package/dist/operations/semantic-advisor/strict-rules.js +106 -0
  279. package/dist/operations/semantic-advisor/types.d.ts +135 -0
  280. package/dist/operations/semantic-advisor/types.d.ts.map +1 -0
  281. package/dist/operations/semantic-advisor/types.js +1 -0
  282. package/dist/prolog/codec.d.ts.map +1 -1
  283. package/dist/prolog/codec.js +9 -2
  284. package/dist/prolog.d.ts +5 -0
  285. package/dist/prolog.d.ts.map +1 -1
  286. package/dist/prolog.js +82 -30
  287. package/dist/public/impact/analyzer.d.ts +3 -0
  288. package/dist/public/impact/analyzer.d.ts.map +1 -0
  289. package/dist/public/impact/analyzer.js +54 -0
  290. package/dist/public/impact/coverage-depth-quality.d.ts +4 -0
  291. package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -0
  292. package/dist/public/impact/coverage-depth-quality.js +179 -0
  293. package/dist/public/impact/diagnostics.d.ts +7 -0
  294. package/dist/public/impact/diagnostics.d.ts.map +1 -0
  295. package/dist/public/impact/diagnostics.js +126 -0
  296. package/dist/public/impact/diff-meaning.d.ts +2 -0
  297. package/dist/public/impact/diff-meaning.d.ts.map +1 -0
  298. package/dist/public/impact/diff-meaning.js +101 -0
  299. package/dist/public/impact/full-kb-quality.d.ts +10 -0
  300. package/dist/public/impact/full-kb-quality.d.ts.map +1 -0
  301. package/dist/public/impact/full-kb-quality.js +191 -0
  302. package/dist/public/impact/manifest.d.ts +5 -0
  303. package/dist/public/impact/manifest.d.ts.map +1 -0
  304. package/dist/public/impact/manifest.js +43 -0
  305. package/dist/public/impact/requirement-quality.d.ts +4 -0
  306. package/dist/public/impact/requirement-quality.d.ts.map +1 -0
  307. package/dist/public/impact/requirement-quality.js +199 -0
  308. package/dist/public/impact/source-changes.d.ts +5 -0
  309. package/dist/public/impact/source-changes.d.ts.map +1 -0
  310. package/dist/public/impact/source-changes.js +129 -0
  311. package/dist/public/impact/summaries.d.ts +6 -0
  312. package/dist/public/impact/summaries.d.ts.map +1 -0
  313. package/dist/public/impact/summaries.js +68 -0
  314. package/dist/public/impact/symbol-quality-model.d.ts +21 -0
  315. package/dist/public/impact/symbol-quality-model.d.ts.map +1 -0
  316. package/dist/public/impact/symbol-quality-model.js +116 -0
  317. package/dist/public/impact/symbol-quality.d.ts +4 -0
  318. package/dist/public/impact/symbol-quality.d.ts.map +1 -0
  319. package/dist/public/impact/symbol-quality.js +159 -0
  320. package/dist/public/impact/types.d.ts +79 -0
  321. package/dist/public/impact/types.d.ts.map +1 -0
  322. package/dist/public/impact/types.js +1 -0
  323. package/dist/public/impact-diagnostics.d.ts +7 -0
  324. package/dist/public/impact-diagnostics.d.ts.map +1 -0
  325. package/dist/public/impact-diagnostics.js +5 -0
  326. package/dist/public/operations/catalog.d.ts +907 -0
  327. package/dist/public/operations/catalog.d.ts.map +1 -0
  328. package/dist/public/operations/catalog.js +42 -0
  329. package/dist/public/operations/check-executor.d.ts +21 -0
  330. package/dist/public/operations/check-executor.d.ts.map +1 -0
  331. package/dist/public/operations/check-executor.js +111 -0
  332. package/dist/public/operations/check-format-shared.d.ts +36 -0
  333. package/dist/public/operations/check-format-shared.d.ts.map +1 -0
  334. package/dist/public/operations/check-format-shared.js +107 -0
  335. package/dist/public/operations/check-helpers.d.ts +10 -0
  336. package/dist/public/operations/check-helpers.d.ts.map +1 -0
  337. package/dist/public/operations/check-helpers.js +107 -0
  338. package/dist/public/operations/discovery-entities.d.ts +14 -0
  339. package/dist/public/operations/discovery-entities.d.ts.map +1 -0
  340. package/dist/public/operations/discovery-entities.js +91 -0
  341. package/dist/public/operations/discovery-executors.d.ts +39 -0
  342. package/dist/public/operations/discovery-executors.d.ts.map +1 -0
  343. package/dist/public/operations/discovery-executors.js +101 -0
  344. package/dist/public/operations/index.d.ts +20 -0
  345. package/dist/public/operations/index.d.ts.map +1 -0
  346. package/dist/public/operations/index.js +18 -0
  347. package/dist/public/operations/node-ports.d.ts +15 -0
  348. package/dist/public/operations/node-ports.d.ts.map +1 -0
  349. package/dist/public/operations/node-ports.js +57 -0
  350. package/dist/public/operations/prolog-json.d.ts +5 -0
  351. package/dist/public/operations/prolog-json.d.ts.map +1 -0
  352. package/dist/public/operations/prolog-json.js +44 -0
  353. package/dist/public/operations/runtime-types.d.ts +69 -0
  354. package/dist/public/operations/runtime-types.d.ts.map +1 -0
  355. package/dist/public/operations/runtime-types.js +17 -0
  356. package/dist/public/operations/specs/autopilot.d.ts +82 -0
  357. package/dist/public/operations/specs/autopilot.d.ts.map +1 -0
  358. package/dist/public/operations/specs/autopilot.js +72 -0
  359. package/dist/public/operations/specs/check.d.ts +51 -0
  360. package/dist/public/operations/specs/check.d.ts.map +1 -0
  361. package/dist/public/operations/specs/check.js +62 -0
  362. package/dist/public/operations/specs/discovery.d.ts +94 -0
  363. package/dist/public/operations/specs/discovery.d.ts.map +1 -0
  364. package/dist/public/operations/specs/discovery.js +98 -0
  365. package/dist/public/operations/specs/modeling.d.ts +126 -0
  366. package/dist/public/operations/specs/modeling.d.ts.map +1 -0
  367. package/dist/public/operations/specs/modeling.js +117 -0
  368. package/dist/public/operations/specs/mutation-schemas.d.ts +233 -0
  369. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -0
  370. package/dist/public/operations/specs/mutation-schemas.js +267 -0
  371. package/dist/public/operations/specs/mutation.d.ts +56 -0
  372. package/dist/public/operations/specs/mutation.d.ts.map +1 -0
  373. package/dist/public/operations/specs/mutation.js +44 -0
  374. package/dist/public/operations/specs/reporting.d.ts +185 -0
  375. package/dist/public/operations/specs/reporting.d.ts.map +1 -0
  376. package/dist/public/operations/specs/reporting.js +158 -0
  377. package/dist/public/operations/specs/semantic.d.ts +53 -0
  378. package/dist/public/operations/specs/semantic.d.ts.map +1 -0
  379. package/dist/public/operations/specs/semantic.js +105 -0
  380. package/dist/public/operations/specs/skills.d.ts +70 -0
  381. package/dist/public/operations/specs/skills.d.ts.map +1 -0
  382. package/dist/public/operations/specs/skills.js +107 -0
  383. package/dist/public/operations/specs/sparql.d.ts +39 -0
  384. package/dist/public/operations/specs/sparql.d.ts.map +1 -0
  385. package/dist/public/operations/specs/sparql.js +121 -0
  386. package/dist/public/operations/specs/upsert.d.ts +256 -0
  387. package/dist/public/operations/specs/upsert.d.ts.map +1 -0
  388. package/dist/public/operations/specs/upsert.js +27 -0
  389. package/dist/public/operations/types.d.ts +24 -0
  390. package/dist/public/operations/types.d.ts.map +1 -0
  391. package/dist/public/operations/types.js +1 -0
  392. package/dist/public/schemas/entity.d.ts.map +1 -1
  393. package/dist/public/schemas/entity.js +48 -0
  394. package/dist/public/skill-system/errors.d.ts +19 -0
  395. package/dist/public/skill-system/errors.d.ts.map +1 -0
  396. package/dist/public/skill-system/errors.js +36 -0
  397. package/dist/public/skill-system/loader.d.ts +9 -0
  398. package/dist/public/skill-system/loader.d.ts.map +1 -0
  399. package/dist/public/skill-system/loader.js +76 -0
  400. package/dist/public/skill-system/paths.d.ts +6 -0
  401. package/dist/public/skill-system/paths.d.ts.map +1 -0
  402. package/dist/public/skill-system/paths.js +25 -0
  403. package/dist/public/skill-system/types.d.ts +15 -0
  404. package/dist/public/skill-system/types.d.ts.map +1 -0
  405. package/dist/public/skill-system/types.js +1 -0
  406. package/dist/public/skill-system/validation.d.ts +10 -0
  407. package/dist/public/skill-system/validation.d.ts.map +1 -0
  408. package/dist/public/skill-system/validation.js +119 -0
  409. package/dist/public/skills/init-kibi/SKILL.md +62 -0
  410. package/dist/public/skills/kibi-freshness/SKILL.md +44 -0
  411. package/dist/public/skills/kibi-traceability/SKILL.md +54 -0
  412. package/dist/public/skills/kibi-usage/SKILL.md +123 -95
  413. package/dist/public/skills/kibi-usage/resources/fact-lanes.md +107 -5
  414. package/dist/public/skills/kibi-usage/resources/operation-access.md +44 -0
  415. package/dist/public/skills/kibi-usage/resources/relationship-directions.md +30 -0
  416. package/dist/public/skills/kibi-usage/resources/workflows.md +40 -3
  417. package/dist/public/skills.d.ts +4 -41
  418. package/dist/public/skills.d.ts.map +1 -1
  419. package/dist/public/skills.js +3 -270
  420. package/dist/public/symbol-granularity.d.ts +1 -1
  421. package/dist/public/symbol-granularity.d.ts.map +1 -1
  422. package/dist/public/symbol-granularity.js +2 -0
  423. package/dist/runtime/cli-runtime.d.ts +3 -0
  424. package/dist/runtime/cli-runtime.d.ts.map +1 -0
  425. package/dist/runtime/cli-runtime.js +96 -0
  426. package/dist/schemas/entity.schema.json +23 -0
  427. package/dist/traceability/evidence-model.d.ts +1 -1
  428. package/dist/traceability/evidence-model.d.ts.map +1 -1
  429. package/dist/traceability/evidence-model.js +1 -1
  430. package/dist/traceability/staged-diagnostics.d.ts +6 -6
  431. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  432. package/dist/traceability/staged-diagnostics.js +12 -6
  433. package/dist/traceability/staged-impact-contract.js +1 -1
  434. package/dist/traceability/staged-symbols-manifest.d.ts +1 -0
  435. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  436. package/dist/traceability/staged-symbols-manifest.js +60 -27
  437. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  438. package/dist/traceability/symbol-extract.js +58 -1
  439. package/dist/traceability/temp-kb.d.ts.map +1 -1
  440. package/dist/traceability/temp-kb.js +34 -1
  441. package/dist/types/entities.d.ts +8 -1
  442. package/dist/types/entities.d.ts.map +1 -1
  443. package/dist/utils/prolog-query-plan-safety.d.ts +8 -0
  444. package/dist/utils/prolog-query-plan-safety.d.ts.map +1 -0
  445. package/dist/utils/prolog-query-plan-safety.js +47 -0
  446. package/dist/utils/rule-registry.d.ts.map +1 -1
  447. package/dist/utils/rule-registry.js +18 -0
  448. package/package.json +60 -2
  449. package/schema/entities.pl +4 -0
  450. package/src/public/impact/analyzer.ts +90 -0
  451. package/src/public/impact/coverage-depth-quality.ts +268 -0
  452. package/src/public/impact/diagnostics.ts +199 -0
  453. package/src/public/impact/diff-meaning.ts +121 -0
  454. package/src/public/impact/full-kb-quality.ts +230 -0
  455. package/src/public/impact/manifest.ts +57 -0
  456. package/src/public/impact/requirement-quality.ts +262 -0
  457. package/src/public/impact/source-changes.ts +180 -0
  458. package/src/public/impact/summaries.ts +100 -0
  459. package/src/public/impact/symbol-quality-model.ts +171 -0
  460. package/src/public/impact/symbol-quality.ts +207 -0
  461. package/src/public/impact/types.ts +99 -0
  462. package/src/public/impact-diagnostics.ts +22 -0
  463. package/src/public/operations/catalog.ts +60 -0
  464. package/src/public/operations/check-executor.ts +185 -0
  465. package/src/public/operations/check-format-shared.ts +178 -0
  466. package/src/public/operations/check-helpers.ts +141 -0
  467. package/src/public/operations/discovery-entities.ts +122 -0
  468. package/src/public/operations/discovery-executors.ts +176 -0
  469. package/src/public/operations/index.ts +19 -0
  470. package/src/public/operations/node-ports.ts +78 -0
  471. package/src/public/operations/prolog-json.ts +71 -0
  472. package/src/public/operations/runtime-types.ts +106 -0
  473. package/src/public/operations/specs/autopilot.ts +98 -0
  474. package/src/public/operations/specs/check.ts +72 -0
  475. package/src/public/operations/specs/discovery.ts +126 -0
  476. package/src/public/operations/specs/modeling.ts +154 -0
  477. package/src/public/operations/specs/mutation-schemas.ts +296 -0
  478. package/src/public/operations/specs/mutation.ts +58 -0
  479. package/src/public/operations/specs/reporting.ts +249 -0
  480. package/src/public/operations/specs/semantic.ts +135 -0
  481. package/src/public/operations/specs/skills.ts +142 -0
  482. package/src/public/operations/specs/sparql.ts +149 -0
  483. package/src/public/operations/specs/upsert.ts +40 -0
  484. package/src/public/operations/types.ts +57 -0
  485. package/src/public/schemas/entity.ts +50 -0
  486. package/src/public/skill-system/errors.ts +38 -0
  487. package/src/public/skill-system/loader.ts +108 -0
  488. package/src/public/skill-system/paths.ts +27 -0
  489. package/src/public/skill-system/types.ts +14 -0
  490. package/src/public/skill-system/validation.ts +175 -0
  491. package/src/public/skills/init-kibi/SKILL.md +62 -0
  492. package/src/public/skills/kibi-freshness/SKILL.md +44 -0
  493. package/src/public/skills/kibi-traceability/SKILL.md +54 -0
  494. package/src/public/skills/kibi-usage/SKILL.md +123 -95
  495. package/src/public/skills/kibi-usage/resources/fact-lanes.md +107 -5
  496. package/src/public/skills/kibi-usage/resources/operation-access.md +44 -0
  497. package/src/public/skills/kibi-usage/resources/relationship-directions.md +30 -0
  498. package/src/public/skills/kibi-usage/resources/workflows.md +40 -3
  499. package/src/public/skills.ts +18 -427
  500. package/src/public/symbol-granularity.ts +4 -0
  501. package/src/schemas/entity.schema.json +23 -0
@@ -1,169 +1,37 @@
1
- /*
2
- Kibi — repo-local, per-branch, queryable long-term memory for software projects
3
- Copyright (C) 2026 Piotr Franczyk
4
-
5
- This program is free software: you can redistribute it and/or modify
6
- it under the terms of the GNU Affero General Public License as published by
7
- the Free Software Foundation, either version 3 of the License, or
8
- (at your option) any later version.
9
-
10
- This program is distributed in the hope that it will be useful,
11
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- GNU Affero General Public License for more details.
14
-
15
- You should have received a copy of the GNU Affero General Public License
16
- along with this program. If not, see <https://www.gnu.org/licenses/>.
17
- */
18
- import * as path from "node:path";
19
1
  import Table from "cli-table3";
20
- import { PrologProcess } from "../prolog.js";
21
- import { parseEntityFromBinding, parseEntityFromList, parseListOfLists, parsePrologValue, } from "../prolog/codec.js";
2
+ import { parseListOfLists, parsePrologValue } from "../prolog/codec.js";
3
+ import { VALID_ENTITY_TYPES, executeOperation, querySpec, } from "../public/operations/index.js";
22
4
  import relationshipSchema from "../public/schemas/relationship.js";
23
- import { VALID_ENTITY_TYPES } from "../query/service.js";
24
- import { resolveActiveBranch } from "../utils/branch-resolver.js";
25
- import { safeCleanupProlog } from "../utils/prolog-cleanup.js";
5
+ import { createCliRuntime } from "../runtime/cli-runtime.js";
6
+ import { withAttachedBranchProlog } from "./discovery-shared.js";
26
7
  const REL_TYPES = relationshipSchema.properties.type.enum;
27
- // implements REQ-003
28
8
  export async function queryCommand(type, options) {
29
- let prolog = null;
30
- let attached = false;
9
+ // implements REQ-003, REQ-kibi-operation-interface-parity
10
+ if (!type && !options.source && !options.relationships) {
11
+ console.error("Error: Must specify entity type, --source, or --relationships option");
12
+ return { exitCode: 1 };
13
+ }
14
+ if (type && !VALID_ENTITY_TYPES.some((candidate) => candidate === type)) {
15
+ console.error(`Error: Invalid type '${type}'. Valid types: ${VALID_ENTITY_TYPES.join(", ")}`);
16
+ return { exitCode: 1 };
17
+ }
31
18
  try {
32
- prolog = new PrologProcess({ timeout: 120000 });
33
- await prolog.start();
34
- await prolog.query("set_prolog_flag(answer_write_options, [max_depth(0), spacing(next_argument)])");
35
- let currentBranch;
36
- const branchResult = resolveActiveBranch();
37
- if ("error" in branchResult) {
38
- const isNonGitError = branchResult.code === "NOT_A_GIT_REPO" ||
39
- branchResult.code === "GIT_NOT_AVAILABLE";
40
- if (isNonGitError) {
41
- // For query command, use "main" as default branch when git is not available
42
- // or the current directory is not a git repository. This allows querying
43
- // after init in a non-git directory.
44
- currentBranch = "main";
45
- }
46
- else {
47
- console.error(`Error: Failed to resolve active branch:\n${branchResult.error}`);
48
- await prolog.terminate();
49
- return { exitCode: 1 };
50
- }
51
- }
52
- else {
53
- currentBranch = branchResult.branch;
54
- }
55
- const kbPath = path.join(process.cwd(), `.kb/branches/${currentBranch}`);
56
- const attachResult = await prolog.query(`kb_attach('${kbPath}')`);
57
- if (!attachResult.success) {
58
- await prolog.terminate();
59
- console.error(`Error: Failed to attach KB: ${attachResult.error || "Unknown error"}`);
60
- return { exitCode: 1 };
61
- }
62
- attached = true;
63
- let results = [];
19
+ const limit = Number.parseInt(options.limit || "100", 10);
20
+ const offset = Number.parseInt(options.offset || "0", 10);
64
21
  if (options.relationships) {
65
- const fromId = String(options.relationships);
66
- const safeFromId = fromId.replace(/'/g, "''");
67
- const relTypesList = REL_TYPES.join(", ");
68
- const goal = `findall([Type,From,To], (member(Type, [${relTypesList}]), kb_relationship(Type, '${safeFromId}', To), From='${safeFromId}'), Results)`;
69
- const queryResult = await prolog.query(goal);
70
- if (queryResult.success && queryResult.bindings.Results) {
71
- const rows = parseListOfLists(queryResult.bindings.Results);
72
- const parsed = rows
73
- .filter((r) => r.length >= 3)
74
- .flatMap((r) => {
75
- const [typeValue, fromValue, toValue] = r;
76
- if (typeValue === undefined ||
77
- fromValue === undefined ||
78
- toValue === undefined) {
79
- return [];
80
- }
81
- return [
82
- {
83
- type: parsePrologValue(typeValue),
84
- from: parsePrologValue(fromValue),
85
- to: parsePrologValue(toValue),
86
- },
87
- ];
88
- });
89
- results = parsed.filter((rel) => rel &&
90
- typeof rel.type === "string" &&
91
- typeof rel.from === "string" &&
92
- typeof rel.to === "string" &&
93
- rel.from === fromId &&
94
- REL_TYPES.includes(rel.type));
95
- }
96
- }
97
- else if (type || options.source) {
98
- if (type && !VALID_ENTITY_TYPES.includes(type)) {
99
- console.error(`Error: Invalid type '${type}'. Valid types: ${VALID_ENTITY_TYPES.join(", ")}`);
100
- return { exitCode: 1 };
101
- }
102
- let goal;
103
- if (options.source) {
104
- const safeSource = String(options.source).replace(/'/g, "\\'");
105
- if (type) {
106
- goal = `findall([Id,'${type}',Props], (kb_entities_by_source('${safeSource}', SourceIds), member(Id, SourceIds), kb_entity(Id, '${type}', Props)), Results)`;
107
- }
108
- else {
109
- goal = `findall([Id,Type,Props], (kb_entities_by_source('${safeSource}', SourceIds), member(Id, SourceIds), kb_entity(Id, Type, Props)), Results)`;
110
- }
111
- }
112
- else if (options.id) {
113
- const safeId = String(options.id).replace(/'/g, "''");
114
- goal = `kb_entity('${safeId}', '${type}', Props), Id = '${safeId}', Type = '${type}', Result = [Id, Type, Props]`;
115
- }
116
- else if (options.tag) {
117
- const safeTag = String(options.tag).replace(/'/g, "''");
118
- goal = `findall([Id,'${type}',Props], (kb_entity(Id, '${type}', Props), memberchk(tags=Tags, Props), member('${safeTag}', Tags)), Results)`;
119
- }
120
- else {
121
- goal = `findall([Id,'${type}',Props], kb_entity(Id, '${type}', Props), Results)`;
122
- }
123
- const queryResult = await prolog.query(goal);
124
- if (queryResult.success) {
125
- if (options.id) {
126
- // Single entity query
127
- if (queryResult.bindings.Result) {
128
- const entity = parseEntityFromBinding(queryResult.bindings.Result);
129
- results = [entity];
130
- }
131
- }
132
- else {
133
- // Multiple entities query
134
- if (queryResult.bindings.Results) {
135
- const entitiesData = parseListOfLists(queryResult.bindings.Results);
136
- for (const data of entitiesData) {
137
- const entity = parseEntityFromList(data);
138
- results.push(entity);
139
- }
140
- }
141
- }
142
- }
143
- }
144
- else {
145
- console.error("Error: Must specify entity type, --source, or --relationships option");
146
- return { exitCode: 1 };
147
- }
148
- const limit = Number.parseInt(options.limit || "100");
149
- const offset = Number.parseInt(options.offset || "0");
150
- const paginated = results.slice(offset, offset + limit);
151
- if (!paginated || paginated.length === 0) {
152
- if (options.format === "json") {
153
- console.log("[]");
154
- }
155
- else {
156
- console.log("No entities found");
157
- }
22
+ const relationships = await queryRelationships(options.relationships);
23
+ printRelationships(relationships.slice(offset, offset + limit), options.format);
158
24
  return { exitCode: 0 };
159
25
  }
160
- // Format output
161
- if (options.format === "table") {
162
- outputTable(paginated, Boolean(options.relationships));
163
- }
164
- else {
165
- console.log(JSON.stringify(paginated, null, 2));
166
- }
26
+ const result = await executeOperation(createCliRuntime(), querySpec, {
27
+ ...(type !== undefined ? { type } : {}),
28
+ ...(options.id !== undefined ? { id: options.id } : {}),
29
+ ...(options.tag !== undefined ? { tags: [options.tag] } : {}),
30
+ ...(options.source !== undefined ? { sourceFile: options.source } : {}),
31
+ limit,
32
+ offset,
33
+ }, { workspaceRoot: process.cwd() });
34
+ printEntities(result.structuredContent?.entities ?? [], options.format);
167
35
  return { exitCode: 0 };
168
36
  }
169
37
  catch (error) {
@@ -171,57 +39,83 @@ export async function queryCommand(type, options) {
171
39
  console.error(`Error: ${message}`);
172
40
  return { exitCode: 1 };
173
41
  }
174
- finally {
175
- await safeCleanupProlog(prolog);
42
+ }
43
+ async function queryRelationships(fromId) {
44
+ return withAttachedBranchProlog(async (prolog) => {
45
+ const safeFromId = fromId.replaceAll("'", "''");
46
+ const goal = `findall([Type,From,To], (member(Type, [${REL_TYPES.join(", ")}]), kb_relationship(Type, '${safeFromId}', To), From='${safeFromId}'), Results)`;
47
+ const result = await prolog.query(goal);
48
+ const binding = result.bindings.Results;
49
+ if (!result.success || !binding)
50
+ return [];
51
+ return parseListOfLists(binding).flatMap((row) => {
52
+ const [typeValue, fromValue, toValue] = row;
53
+ if (!typeValue || !fromValue || !toValue)
54
+ return [];
55
+ const type = parsePrologValue(typeValue);
56
+ const from = parsePrologValue(fromValue);
57
+ const to = parsePrologValue(toValue);
58
+ if (typeof type !== "string" ||
59
+ typeof from !== "string" ||
60
+ typeof to !== "string" ||
61
+ from !== fromId ||
62
+ !REL_TYPES.includes(type)) {
63
+ return [];
64
+ }
65
+ return [{ type, from, to }];
66
+ });
67
+ });
68
+ }
69
+ function printRelationships(items, format) {
70
+ if (items.length === 0) {
71
+ console.log(format === "json" ? "[]" : "No entities found");
72
+ return;
73
+ }
74
+ if (format !== "table") {
75
+ console.log(JSON.stringify(items, null, 2));
76
+ return;
176
77
  }
78
+ const table = new Table({
79
+ head: ["Type", "From", "To"],
80
+ colWidths: [20, 18, 18],
81
+ });
82
+ for (const item of items) {
83
+ table.push([
84
+ item.type || "N/A",
85
+ item.from.substring(0, 16) || "N/A",
86
+ item.to.substring(0, 16) || "N/A",
87
+ ]);
88
+ }
89
+ console.log(table.toString());
177
90
  }
178
- /**
179
- * Output results as a formatted table.
180
- */
181
- function outputTable(items, isRelationships) {
91
+ function printEntities(items, format) {
182
92
  if (items.length === 0) {
183
- console.log("No entities found.");
93
+ console.log(format === "json" ? "[]" : "No entities found");
184
94
  return;
185
95
  }
186
- if (isRelationships) {
187
- const table = new Table({
188
- head: ["Type", "From", "To"],
189
- colWidths: [20, 18, 18],
190
- });
191
- for (const item of items) {
192
- const rel = item;
193
- table.push([
194
- rel.type || "N/A",
195
- rel.from.substring(0, 16) || "N/A",
196
- rel.to.substring(0, 16) || "N/A",
197
- ]);
198
- }
199
- console.log(table.toString());
96
+ if (format !== "table") {
97
+ console.log(JSON.stringify(items, null, 2));
98
+ return;
200
99
  }
201
- else {
202
- const table = new Table({
203
- head: ["ID", "Type", "Title", "Status", "Tags"],
204
- colWidths: [18, 10, 40, 12, 30],
205
- });
206
- for (const entity of items) {
207
- const record = entity;
208
- const id = typeof record.id === "string" ? record.id : "N/A";
209
- const entityType = typeof record.type === "string" ? record.type : "N/A";
210
- const title = typeof record.title === "string" ? record.title : "N/A";
211
- const status = typeof record.status === "string" ? record.status : "N/A";
212
- const tags = Array.isArray(record.tags)
213
- ? record.tags
214
- .filter((tag) => typeof tag === "string")
215
- .join(", ")
216
- : "";
217
- table.push([
218
- id.substring(0, 16),
219
- entityType,
220
- title.substring(0, 38),
221
- status,
222
- tags.substring(0, 28),
223
- ]);
224
- }
225
- console.log(table.toString());
100
+ const table = new Table({
101
+ head: ["ID", "Type", "Title", "Status", "Tags"],
102
+ colWidths: [18, 10, 40, 12, 30],
103
+ });
104
+ for (const item of items) {
105
+ const id = typeof item.id === "string" ? item.id : "N/A";
106
+ const entityType = typeof item.type === "string" ? item.type : "N/A";
107
+ const title = typeof item.title === "string" ? item.title : "N/A";
108
+ const status = typeof item.status === "string" ? item.status : "N/A";
109
+ const tags = Array.isArray(item.tags)
110
+ ? item.tags.filter((tag) => typeof tag === "string").join(", ")
111
+ : "";
112
+ table.push([
113
+ id.substring(0, 16),
114
+ entityType,
115
+ title.substring(0, 38),
116
+ status,
117
+ tags.substring(0, 28),
118
+ ]);
226
119
  }
120
+ console.log(table.toString());
227
121
  }
@@ -1,8 +1,8 @@
1
1
  interface SearchOptions {
2
- type?: string;
3
- format?: "json" | "table";
4
- limit?: string;
5
- offset?: string;
2
+ readonly type?: string;
3
+ readonly format?: "json" | "table";
4
+ readonly limit?: string;
5
+ readonly offset?: string;
6
6
  }
7
7
  export declare function searchCommand(query: string | undefined, options: SearchOptions): Promise<void>;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AASA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
@@ -1,38 +1,25 @@
1
- import { VALID_ENTITY_TYPES, queryEntities } from "../query/service.js";
2
- import { rankEntities } from "../search-ranking.js";
3
- import { printDiscoveryResult, withAttachedBranchProlog, } from "./discovery-shared.js";
4
- // implements REQ-mcp-search-discovery, REQ-003
1
+ import { VALID_ENTITY_TYPES, executeOperation, searchSpec, } from "../public/operations/index.js";
2
+ import { createCliRuntime } from "../runtime/cli-runtime.js";
3
+ import { printDiscoveryResult } from "./discovery-shared.js";
5
4
  export async function searchCommand(query, options) {
5
+ // implements REQ-003, REQ-kibi-operation-interface-parity
6
6
  if (!query?.trim()) {
7
7
  console.error("Error: search query is required");
8
8
  process.exitCode = 1;
9
9
  return;
10
10
  }
11
- if (options.type && !VALID_ENTITY_TYPES.includes(options.type)) {
11
+ if (options.type &&
12
+ !VALID_ENTITY_TYPES.some((candidate) => candidate === options.type)) {
12
13
  console.error(`Error: invalid type '${options.type}'. Valid types: ${VALID_ENTITY_TYPES.join(", ")}`);
13
14
  process.exitCode = 1;
14
15
  return;
15
16
  }
16
- await withAttachedBranchProlog(async (prolog) => {
17
- const limit = Number.parseInt(options.limit || "20", 10);
18
- const offset = Number.parseInt(options.offset || "0", 10);
19
- const result = await executeSearch(prolog, query, options.type, limit, offset);
20
- printDiscoveryResult(options.format, result, buildSearchText(query, result));
21
- });
22
- }
23
- async function executeSearch(prolog, query, type, limit, offset) {
24
- const entitiesResult = await queryEntities(prolog, {
25
- ...(type !== undefined ? { type } : {}),
26
- limit: 100000,
27
- offset: 0,
28
- });
29
- const matches = await rankEntities(entitiesResult.entities, query, process.cwd());
30
- const paginated = matches.slice(offset, offset + limit);
31
- return { results: paginated, count: matches.length };
32
- }
33
- function buildSearchText(query, result) {
34
- if (result.count === 0) {
35
- return `No search results for '${query}'.`;
36
- }
37
- return `Found ${result.count} search results for '${query}'. Showing ${result.results.length}: ${result.results.map((match) => match.entity.id).join(", ")}`;
17
+ const result = await executeOperation(createCliRuntime(), searchSpec, {
18
+ query,
19
+ ...(options.type !== undefined ? { type: options.type } : {}),
20
+ limit: Number.parseInt(options.limit || "20", 10),
21
+ offset: Number.parseInt(options.offset || "0", 10),
22
+ }, { workspaceRoot: process.cwd() });
23
+ const structured = result.structuredContent ?? { results: [], count: 0 };
24
+ printDiscoveryResult(options.format, structured, result.content[0]?.text ?? `No search results for '${query}'.`);
38
25
  }
@@ -1,5 +1,5 @@
1
1
  interface StatusOptions {
2
- format?: "json" | "table";
2
+ readonly format?: "json" | "table";
3
3
  }
4
4
  export declare function statusCommand(options: StatusOptions): Promise<void>;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAOA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAazE"}
@@ -1,9 +1,8 @@
1
- import { printDiscoveryResult, resolveCurrentKbPath, runJsonModuleQuery, withPrologProcess, } from "./discovery-shared.js";
2
- // implements REQ-002, REQ-003
1
+ import { executeOperation, statusSpec } from "../public/operations/index.js";
2
+ import { createCliRuntime } from "../runtime/cli-runtime.js";
3
+ import { printDiscoveryResult } from "./discovery-shared.js";
3
4
  export async function statusCommand(options) {
4
- await withPrologProcess(async (prolog) => {
5
- const kbPath = await resolveCurrentKbPath();
6
- const result = await runJsonModuleQuery(prolog, "status.pl", "status:kb_status_json(JsonString)", "status query failed", kbPath);
7
- printDiscoveryResult(options.format, result, `Branch ${result.branch} is ${result.syncState} (dirty=${result.dirty})`);
8
- });
5
+ // implements REQ-003, REQ-kibi-operation-interface-parity
6
+ const result = await executeOperation(createCliRuntime(), statusSpec, {}, { workspaceRoot: process.cwd() });
7
+ printDiscoveryResult(options.format, result.structuredContent, result.content[0]?.text ?? "Status unavailable");
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/discovery.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,IAAI,CAIf;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC;IACT,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC,CA0BD"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/discovery.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,IAAI,CAIf;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC;IACT,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC,CAkCD"}
@@ -18,6 +18,7 @@
18
18
  import * as path from "node:path";
19
19
  import fg from "fast-glob";
20
20
  import { getRelationshipsDir } from "../../extractors/relationships.js";
21
+ const MARKDOWN_DISCOVERY_IGNORE = ["**/README.md"];
21
22
  export function normalizeMarkdownPath(pattern) {
22
23
  if (!pattern)
23
24
  return null;
@@ -38,7 +39,9 @@ export async function discoverSourceFiles(cwd, paths) {
38
39
  const markdownFiles = await fg(markdownPatterns, {
39
40
  cwd,
40
41
  absolute: true,
42
+ ignore: [...MARKDOWN_DISCOVERY_IGNORE],
41
43
  });
44
+ const entityMarkdownFiles = markdownFiles.filter((file) => !file.endsWith("/README.md"));
42
45
  const manifestFiles = paths.symbols
43
46
  ? await fg(paths.symbols, {
44
47
  cwd,
@@ -46,5 +49,9 @@ export async function discoverSourceFiles(cwd, paths) {
46
49
  })
47
50
  : [];
48
51
  const relationshipsDir = getRelationshipsDir(path.join(cwd, ".kb"));
49
- return { markdownFiles, manifestFiles, relationshipsDir };
52
+ return {
53
+ markdownFiles: entityMarkdownFiles,
54
+ manifestFiles,
55
+ relationshipsDir,
56
+ };
50
57
  }
@@ -7,5 +7,10 @@ export interface ExtractionOutput {
7
7
  message: string;
8
8
  }[];
9
9
  }
10
- export declare function processExtractions(changedMarkdownFiles: string[], changedManifestFiles: string[], validateOnly: boolean): Promise<ExtractionOutput>;
10
+ interface ExtractionDependencies {
11
+ extractFromMarkdown: (file: string) => ExtractionResult;
12
+ extractFromManifest: (file: string) => ExtractionResult[];
13
+ }
14
+ export declare function processExtractions(changedMarkdownFiles: string[], changedManifestFiles: string[], validateOnly: boolean, dependencies?: ExtractionDependencies): Promise<ExtractionOutput>;
15
+ export {};
11
16
  //# sourceMappingURL=extraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/extraction.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,8BAA8B,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7C;AAED,wBAAsB,kBAAkB,CAEtC,oBAAoB,EAAE,MAAM,EAAE,EAC9B,oBAAoB,EAAE,MAAM,EAAE,EAC9B,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,gBAAgB,CAAC,CA4C3B"}
1
+ {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/extraction.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,8BAA8B,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7C;AAED,UAAU,sBAAsB;IAC9B,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACxD,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;CAC3D;AAOD,wBAAsB,kBAAkB,CAEtC,oBAAoB,EAAE,MAAM,EAAE,EAC9B,oBAAoB,EAAE,MAAM,EAAE,EAC9B,YAAY,EAAE,OAAO,EACrB,YAAY,GAAE,sBAAwD,GACrE,OAAO,CAAC,gBAAgB,CAAC,CA4C3B"}
@@ -18,15 +18,19 @@
18
18
  import { extractFromManifest } from "../../extractors/manifest.js";
19
19
  import { FrontmatterError, extractFromMarkdown, } from "../../extractors/markdown.js";
20
20
  import { toCacheKey } from "./cache.js";
21
+ const DEFAULT_EXTRACTION_DEPENDENCIES = {
22
+ extractFromMarkdown,
23
+ extractFromManifest,
24
+ };
21
25
  export async function processExtractions(
22
26
  // implements REQ-003
23
- changedMarkdownFiles, changedManifestFiles, validateOnly) {
27
+ changedMarkdownFiles, changedManifestFiles, validateOnly, dependencies = DEFAULT_EXTRACTION_DEPENDENCIES) {
24
28
  const results = [];
25
29
  const failedCacheKeys = new Set();
26
30
  const errors = [];
27
31
  for (const file of changedMarkdownFiles) {
28
32
  try {
29
- results.push(extractFromMarkdown(file));
33
+ results.push(dependencies.extractFromMarkdown(file));
30
34
  }
31
35
  catch (error) {
32
36
  const message = error instanceof Error ? error.message : String(error);
@@ -46,7 +50,7 @@ changedMarkdownFiles, changedManifestFiles, validateOnly) {
46
50
  }
47
51
  for (const file of changedManifestFiles) {
48
52
  try {
49
- const manifestResults = extractFromManifest(file);
53
+ const manifestResults = dependencies.extractFromManifest(file);
50
54
  results.push(...manifestResults);
51
55
  }
52
56
  catch (error) {
@@ -13,7 +13,7 @@ interface ManifestDeps {
13
13
  writeCoordinateArtifact: typeof writeCoordinateArtifact;
14
14
  resolveSymbolsManifestPaths: typeof resolveSymbolsManifestPaths;
15
15
  }
16
- export declare const SYMBOLS_MANIFEST_COMMENT_BLOCK = "# symbols.yaml\n# AUTHORED fields (edit freely):\n# id, title, sourceFile, links, status, tags, owner, priority\n# GENERATED fields (never edit manually \u2014 overwritten by kibi sync and kb.symbols.refresh):\n# sourceLine, sourceColumn, sourceEndLine, sourceEndColumn\n# Run `kibi sync` or call the `kb.symbols.refresh` MCP tool to refresh coordinates.\n";
16
+ export declare const SYMBOLS_MANIFEST_COMMENT_BLOCK = "# symbols.yaml\n# AUTHORED fields (edit freely):\n# id, title, sourceFile, links, status, tags, owner, priority\n# Generated coordinates are stored separately in symbol-coordinates.yaml.\n# Run `kibi sync --refresh-symbol-coordinates` to refresh them.\n";
17
17
  export declare function refreshManifestCoordinates(manifestPath: string, workspaceRoot: string, deps?: Partial<ManifestDeps> & {
18
18
  refreshSymbolCoordinates?: boolean;
19
19
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/manifest.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAEL,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,mBAAmB,EACxB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,UAAU,YAAY;IACpB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,2BAA2B,EAAE,OAAO,2BAA2B,CAAC;CACjE;AAgBD,eAAO,MAAM,8BAA8B,6WAM1C,CAAC;AAoBF,wBAAsB,0BAA0B,CAE9C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,GACpE,OAAO,CAAC,IAAI,CAAC,CA0If;AAED,wBAAgB,0BAA0B,CAExC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAOT;AAED,wBAAgB,8BAA8B,CAE5C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC3B,OAAO,CAUT"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/manifest.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAEL,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,mBAAmB,EACxB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,UAAU,YAAY;IACpB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,2BAA2B,EAAE,OAAO,2BAA2B,CAAC;CACjE;AAgBD,eAAO,MAAM,8BAA8B,oQAK1C,CAAC;AAwBF,wBAAsB,0BAA0B,CAE9C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,GACpE,OAAO,CAAC,IAAI,CAAC,CAmIf;AAED,wBAAgB,0BAA0B,CAExC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAOT;AAED,wBAAgB,8BAA8B,CAE5C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC3B,OAAO,CAUT"}
@@ -37,9 +37,8 @@ function resolveDeps(overrides) {
37
37
  export const SYMBOLS_MANIFEST_COMMENT_BLOCK = `# symbols.yaml
38
38
  # AUTHORED fields (edit freely):
39
39
  # id, title, sourceFile, links, status, tags, owner, priority
40
- # GENERATED fields (never edit manually — overwritten by kibi sync and kb.symbols.refresh):
41
- # sourceLine, sourceColumn, sourceEndLine, sourceEndColumn
42
- # Run \`kibi sync\` or call the \`kb.symbols.refresh\` MCP tool to refresh coordinates.
40
+ # Generated coordinates are stored separately in symbol-coordinates.yaml.
41
+ # Run \`kibi sync --refresh-symbol-coordinates\` to refresh them.
43
42
  `;
44
43
  const SYMBOL_COORD_EXTENSIONS = new Set([
45
44
  ".ts",
@@ -57,6 +56,10 @@ const GENERATED_COORD_FIELDS = [
57
56
  "sourceEndLine",
58
57
  "sourceEndColumn",
59
58
  ];
59
+ const GENERATED_MANIFEST_FIELDS = new Set([
60
+ ...GENERATED_COORD_FIELDS,
61
+ "coordinatesGeneratedAt",
62
+ ]);
60
63
  export async function refreshManifestCoordinates(
61
64
  // implements REQ-003
62
65
  manifestPath, workspaceRoot, deps) {
@@ -108,20 +111,9 @@ manifestPath, workspaceRoot, deps) {
108
111
  console.warn(`Warning: Failed to write symbol-coordinates artifact: ${String(err)}`);
109
112
  }
110
113
  }
111
- // Strip generated fields from symbols.yaml entries only if original had them
112
- const strippedEnriched = enriched.map((current, idx) => {
113
- const prev = before[idx] ?? {};
114
- const out = { ...current };
115
- const originalHadGenerated = GENERATED_COORD_FIELDS.some((f) => prev[f] !== undefined);
116
- if (originalHadGenerated) {
117
- for (const field of GENERATED_COORD_FIELDS) {
118
- delete out[field];
119
- }
120
- }
121
- // Ensure we never write coordinatesGeneratedAt
122
- out.coordinatesGeneratedAt = undefined;
123
- return out;
124
- });
114
+ // Coordinates belong exclusively to the generated artifact. Always strip
115
+ // them from the authored manifest so consecutive refreshes are idempotent.
116
+ const strippedEnriched = enriched.map((current) => Object.fromEntries(Object.entries(current).filter(([field]) => !GENERATED_MANIFEST_FIELDS.has(field))));
125
117
  parsed.symbols = strippedEnriched;
126
118
  let refreshed = 0;
127
119
  let failed = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/persistence.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAEV,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0ErD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAmCD,wBAAsB,eAAe,CAEnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAqEvD;AAGD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,kBAAkB,EAAE,qBAAqB,EAAE,GAC1C,OAAO,CAAC;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CA+K7D"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/persistence.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAEV,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA+FrD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAmCD,wBAAsB,eAAe,CAEnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAyFvD;AA6BD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,kBAAkB,EAAE,qBAAqB,EAAE,GAC1C,OAAO,CAAC;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CA+K7D"}