kibi-cli 0.19.0 → 2.0.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.
- package/dist/cli-errors.d.ts +3 -1
- package/dist/cli-errors.d.ts.map +1 -1
- package/dist/cli-errors.js +4 -1
- package/dist/cli-json-command.d.ts +1 -0
- package/dist/cli-json-command.d.ts.map +1 -1
- package/dist/cli-json-command.js +13 -4
- package/dist/cli-operation-loader.d.ts.map +1 -1
- package/dist/cli-operation-loader.js +53 -20
- package/dist/cli-operation-metadata.d.ts +21 -8
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +27 -10
- package/dist/cli-protocol.d.ts.map +1 -1
- package/dist/cli-protocol.js +38 -8
- package/dist/cli-register-foundation.d.ts.map +1 -1
- package/dist/cli-register-foundation.js +14 -2
- package/dist/cli-register-maintenance.d.ts.map +1 -1
- package/dist/cli-register-maintenance.js +33 -4
- package/dist/cli-register-proof.d.ts +3 -0
- package/dist/cli-register-proof.d.ts.map +1 -0
- package/dist/cli-register-proof.js +103 -0
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +11 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -8
- package/dist/commands/aggregated-checks.d.ts +1 -2
- package/dist/commands/aggregated-checks.d.ts.map +1 -1
- package/dist/commands/aggregated-checks.js +14 -9
- package/dist/commands/branch.d.ts +37 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +375 -40
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +209 -110
- package/dist/commands/coverage.d.ts +1 -0
- package/dist/commands/coverage.d.ts.map +1 -1
- package/dist/commands/coverage.js +6 -0
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +10 -19
- package/dist/commands/doctor.d.ts +26 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +291 -30
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +50 -7
- package/dist/commands/gc.d.ts +5 -2
- package/dist/commands/gc.d.ts.map +1 -1
- package/dist/commands/gc.js +140 -71
- package/dist/commands/github-init.d.ts +57 -0
- package/dist/commands/github-init.d.ts.map +1 -0
- package/dist/commands/github-init.js +314 -0
- package/dist/commands/init-helpers.d.ts +1 -1
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +109 -28
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +79 -24
- package/dist/commands/legacy-storage-migration.d.ts +54 -0
- package/dist/commands/legacy-storage-migration.d.ts.map +1 -0
- package/dist/commands/legacy-storage-migration.js +277 -0
- package/dist/commands/migrate.d.ts +11 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +249 -96
- package/dist/commands/proof-migrate-legacy.d.ts +7 -0
- package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
- package/dist/commands/proof-migrate-legacy.js +45 -0
- package/dist/commands/proof-prune.d.ts +8 -0
- package/dist/commands/proof-prune.d.ts.map +1 -0
- package/dist/commands/proof-prune.js +53 -0
- package/dist/commands/prove.d.ts +37 -0
- package/dist/commands/prove.d.ts.map +1 -0
- package/dist/commands/prove.js +470 -0
- package/dist/commands/report.d.ts +24 -0
- package/dist/commands/report.d.ts.map +1 -0
- package/dist/commands/report.js +191 -0
- package/dist/commands/sync/cache.d.ts +16 -3
- package/dist/commands/sync/cache.d.ts.map +1 -1
- package/dist/commands/sync/cache.js +111 -4
- package/dist/commands/sync/discovery.d.ts +26 -2
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +204 -15
- package/dist/commands/sync/extraction.d.ts +8 -1
- package/dist/commands/sync/extraction.d.ts.map +1 -1
- package/dist/commands/sync/extraction.js +38 -4
- package/dist/commands/sync/manifest.d.ts +9 -6
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +195 -60
- package/dist/commands/sync/persistence.d.ts +4 -1
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +26 -12
- package/dist/commands/sync/staging.d.ts +1 -0
- package/dist/commands/sync/staging.d.ts.map +1 -1
- package/dist/commands/sync/staging.js +5 -2
- package/dist/commands/sync/untracked-targets.d.ts +24 -0
- package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
- package/dist/commands/sync/untracked-targets.js +108 -0
- package/dist/commands/sync.d.ts +17 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +375 -106
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/engine-daemon.d.ts +3 -1
- package/dist/engine-daemon.d.ts.map +1 -1
- package/dist/engine-daemon.js +49 -20
- package/dist/engine.d.ts +34 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +578 -42
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +5 -6
- package/dist/extractors/manifest.d.ts +13 -1
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +97 -10
- package/dist/extractors/markdown.d.ts +5 -2
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +47 -12
- package/dist/extractors/playwright-cases.d.ts +24 -0
- package/dist/extractors/playwright-cases.d.ts.map +1 -0
- package/dist/extractors/playwright-cases.js +126 -0
- package/dist/extractors/relationships.d.ts +6 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +2 -1
- package/dist/extractors/symbol-coordinates.d.ts +81 -3
- package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
- package/dist/extractors/symbol-coordinates.js +389 -51
- package/dist/extractors/symbols-coordinator.js +11 -1
- package/dist/extractors/symbols-ts.d.ts +1 -0
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +142 -67
- package/dist/intent-search.d.ts +61 -0
- package/dist/intent-search.d.ts.map +1 -0
- package/dist/intent-search.js +437 -0
- package/dist/logic/ir.d.ts +1 -0
- package/dist/logic/ir.d.ts.map +1 -1
- package/dist/logic/ir.js +1 -1
- package/dist/operations/bootstrap/activation.d.ts +5 -0
- package/dist/operations/bootstrap/activation.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/activation.js +58 -33
- package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidates.d.ts +4 -0
- package/dist/operations/{autopilot → bootstrap}/candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/candidates.js +22 -8
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.js +46 -6
- package/dist/operations/{autopilot → bootstrap}/discovery.d.ts +1 -1
- package/dist/operations/bootstrap/discovery.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/discovery.js +21 -14
- package/dist/operations/bootstrap/generate.d.ts +9 -0
- package/dist/operations/bootstrap/generate.d.ts.map +1 -0
- package/dist/operations/bootstrap/generate.js +207 -0
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.js +4 -4
- package/dist/operations/{autopilot → bootstrap}/guidance.d.ts +3 -2
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/guidance.js +3 -1
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.js +4 -3
- package/dist/operations/bootstrap/presentation.d.ts +15 -0
- package/dist/operations/bootstrap/presentation.d.ts.map +1 -0
- package/dist/operations/bootstrap/presentation.js +177 -0
- package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/types.d.ts +63 -21
- package/dist/operations/bootstrap/types.d.ts.map +1 -0
- package/dist/operations/bootstrap/types.js +25 -0
- package/dist/operations/modeling/model-requirement.d.ts +5 -0
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +57 -63
- package/dist/operations/modeling/predicate-applicability.d.ts +16 -0
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-applicability.js +375 -0
- package/dist/operations/modeling/predicate-applyplan.d.ts +13 -2
- package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applyplan.js +100 -3
- package/dist/operations/modeling/predicate-bindings.d.ts +6 -0
- package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-bindings.js +122 -0
- package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-2.js +18 -2
- package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-3.js +17 -1
- package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-4.js +155 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-5.js +291 -0
- package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog.js +4 -0
- package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference-1.js +8 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts +10 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference-launcher.js +13 -0
- package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference.js +4 -0
- package/dist/operations/modeling/predicate-loader.d.ts +1 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +11 -3
- package/dist/operations/modeling/predicate-ranker.d.ts +8 -1
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-ranker.js +159 -24
- package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-score-3.js +6 -0
- package/dist/operations/modeling/predicate-types.d.ts +35 -1
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.js +40 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
- package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-utils.js +2 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +203 -32
- package/dist/operations/mutation/contradictions.d.ts +2 -1
- package/dist/operations/mutation/contradictions.d.ts.map +1 -1
- package/dist/operations/mutation/contradictions.js +26 -5
- package/dist/operations/mutation/delete.d.ts +3 -0
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +483 -19
- package/dist/operations/mutation/entity-projection.d.ts +11 -0
- package/dist/operations/mutation/entity-projection.d.ts.map +1 -0
- package/dist/operations/mutation/entity-projection.js +14 -0
- package/dist/operations/mutation/relationships.d.ts +11 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +77 -5
- package/dist/operations/mutation/saga.d.ts +51 -0
- package/dist/operations/mutation/saga.d.ts.map +1 -0
- package/dist/operations/mutation/saga.js +67 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +3 -1
- package/dist/operations/mutation/source-authoring.d.ts +65 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
- package/dist/operations/mutation/source-authoring.js +576 -0
- package/dist/operations/mutation/strict-fact.d.ts +1 -0
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
- package/dist/operations/mutation/strict-fact.js +8 -5
- package/dist/operations/mutation/symbol-compiler-lock.d.ts +54 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-compiler-lock.js +337 -0
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +35 -4
- package/dist/operations/mutation/symbol-refresh.d.ts +19 -1
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +227 -63
- package/dist/operations/mutation/types.d.ts +57 -1
- package/dist/operations/mutation/types.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.d.ts +18 -2
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +403 -32
- package/dist/operations/mutation/validate-upsert.js +2 -2
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +47 -4
- package/dist/operations/mutation/warnings.d.ts +1 -0
- package/dist/operations/mutation/warnings.d.ts.map +1 -1
- package/dist/operations/mutation/warnings.js +7 -5
- package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
- package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
- package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
- package/dist/operations/planning/apply-plan.d.ts +19 -0
- package/dist/operations/planning/apply-plan.d.ts.map +1 -0
- package/dist/operations/planning/apply-plan.js +1514 -0
- package/dist/operations/planning/compile-intent.d.ts +108 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -0
- package/dist/operations/planning/compile-intent.js +618 -0
- package/dist/operations/proof/ingest-proof.d.ts +34 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
- package/dist/operations/proof/ingest-proof.js +307 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
- package/dist/operations/proof/migrate-legacy-receipts.js +88 -0
- package/dist/operations/proof/prune-receipts.d.ts +35 -0
- package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
- package/dist/operations/proof/prune-receipts.js +91 -0
- package/dist/operations/proof/receipt-document.d.ts +29 -0
- package/dist/operations/proof/receipt-document.d.ts.map +1 -0
- package/dist/operations/proof/receipt-document.js +117 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +52 -28
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +35 -9
- package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/ingestion-boundary.js +7 -3
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +51 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +96 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
- package/dist/operations/semantic-advisor/types.d.ts +13 -5
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/prolog/codec.d.ts +13 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +269 -153
- package/dist/prolog/error-terms.d.ts +47 -0
- package/dist/prolog/error-terms.d.ts.map +1 -0
- package/dist/prolog/error-terms.js +334 -0
- package/dist/prolog/janitor.d.ts +50 -0
- package/dist/prolog/janitor.d.ts.map +1 -0
- package/dist/prolog/janitor.js +154 -0
- package/dist/prolog/store-lock.d.ts +45 -0
- package/dist/prolog/store-lock.d.ts.map +1 -0
- package/dist/prolog/store-lock.js +195 -0
- package/dist/prolog.d.ts +7 -0
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +82 -25
- package/dist/proof/evaluate.d.ts +27 -0
- package/dist/proof/evaluate.d.ts.map +1 -0
- package/dist/proof/evaluate.js +151 -0
- package/dist/proof/inspect.d.ts +12 -0
- package/dist/proof/inspect.d.ts.map +1 -0
- package/dist/proof/inspect.js +236 -0
- package/dist/proof/integrations.d.ts +35 -0
- package/dist/proof/integrations.d.ts.map +1 -0
- package/dist/proof/integrations.js +123 -0
- package/dist/proof/producers/junit-adapter.d.ts +26 -0
- package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
- package/dist/proof/producers/junit-adapter.js +186 -0
- package/dist/proof/producers/playwright-case-id.d.ts +8 -0
- package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
- package/dist/proof/producers/playwright-case-id.js +25 -0
- package/dist/proof/producers/playwright-reporter.d.ts +27 -0
- package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
- package/dist/proof/producers/playwright-reporter.js +138 -0
- package/dist/proof/producers/tap-adapter.d.ts +10 -0
- package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
- package/dist/proof/producers/tap-adapter.js +200 -0
- package/dist/proof/receipt-outcome.d.ts +2 -0
- package/dist/proof/receipt-outcome.d.ts.map +1 -0
- package/dist/proof/receipt-outcome.js +1 -0
- package/dist/public/branch-resolver.d.ts +1 -0
- package/dist/public/branch-resolver.d.ts.map +1 -1
- package/dist/public/branch-resolver.js +1 -0
- package/dist/public/check-types.d.ts +2 -2
- package/dist/public/check-types.d.ts.map +1 -1
- package/dist/public/check-types.js +16 -16
- package/dist/public/diagnostic-usage.d.ts.map +1 -1
- package/dist/public/diagnostic-usage.js +74 -6
- package/dist/public/distribution-parity.d.ts +7 -1
- package/dist/public/distribution-parity.d.ts.map +1 -1
- package/dist/public/distribution-parity.js +15 -9
- package/dist/public/ignore-policy.d.ts.map +1 -1
- package/dist/public/ignore-policy.js +16 -4
- package/dist/public/impact/coverage-depth-quality.d.ts +7 -1
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +22 -4
- package/dist/public/impact/diagnostics.d.ts.map +1 -1
- package/dist/public/impact/diagnostics.js +2 -2
- package/dist/public/impact/diff-meaning.d.ts +1 -0
- package/dist/public/impact/diff-meaning.d.ts.map +1 -1
- package/dist/public/impact/diff-meaning.js +5 -2
- package/dist/public/impact/full-kb-quality.d.ts +7 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +364 -39
- package/dist/public/impact/manifest.d.ts.map +1 -1
- package/dist/public/impact/manifest.js +2 -5
- package/dist/public/operational-artifacts.d.ts.map +1 -1
- package/dist/public/operational-artifacts.js +7 -1
- package/dist/public/operations/catalog.d.ts +900 -34
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +130 -6
- package/dist/public/operations/check-executor.d.ts +2 -2
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +68 -13
- package/dist/public/operations/check-format-shared.d.ts +3 -0
- package/dist/public/operations/check-format-shared.d.ts.map +1 -1
- package/dist/public/operations/check-format-shared.js +3 -0
- package/dist/public/operations/check-helpers.d.ts +27 -2
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +62 -26
- package/dist/public/operations/contracts.d.ts +18 -0
- package/dist/public/operations/contracts.d.ts.map +1 -0
- package/dist/public/operations/contracts.js +334 -0
- package/dist/public/operations/discovery-entities.d.ts +3 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +4 -0
- package/dist/public/operations/discovery-executors.d.ts +43 -7
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +216 -13
- package/dist/public/operations/index.d.ts +9 -4
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +8 -3
- package/dist/public/operations/migration-plan.d.ts +102 -0
- package/dist/public/operations/migration-plan.d.ts.map +1 -0
- package/dist/public/operations/migration-plan.js +539 -0
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +71 -11
- package/dist/public/operations/prolog-json.d.ts +14 -0
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +44 -5
- package/dist/public/operations/repair-plan.d.ts +3 -3
- package/dist/public/operations/repair-plan.d.ts.map +1 -1
- package/dist/public/operations/repair-plan.js +49 -18
- package/dist/public/operations/result-envelope.d.ts +14 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -0
- package/dist/public/operations/result-envelope.js +106 -0
- package/dist/public/operations/runtime-types.d.ts +102 -7
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- package/dist/public/operations/source-relationship-parity.d.ts +13 -0
- package/dist/public/operations/source-relationship-parity.d.ts.map +1 -0
- package/dist/public/operations/source-relationship-parity.js +162 -0
- package/dist/public/operations/specs/{autopilot.d.ts → bootstrap.d.ts} +9 -9
- package/dist/public/operations/specs/bootstrap.d.ts.map +1 -0
- package/dist/public/operations/specs/{autopilot.js → bootstrap.js} +8 -7
- package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
- package/dist/public/operations/specs/check-rules.generated.js +34 -0
- package/dist/public/operations/specs/check.d.ts +9 -4
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +10 -21
- package/dist/public/operations/specs/discovery.d.ts +87 -3
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +53 -3
- package/dist/public/operations/specs/modeling.d.ts +3 -3
- package/dist/public/operations/specs/modeling.js +3 -3
- package/dist/public/operations/specs/mutation-schemas.d.ts +251 -14
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +16 -6
- package/dist/public/operations/specs/mutation.d.ts +42 -2
- package/dist/public/operations/specs/mutation.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation.js +26 -2
- package/dist/public/operations/specs/planning.d.ts +279 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -0
- package/dist/public/operations/specs/planning.js +197 -0
- package/dist/public/operations/specs/proof.d.ts +212 -0
- package/dist/public/operations/specs/proof.d.ts.map +1 -0
- package/dist/public/operations/specs/proof.js +30 -0
- package/dist/public/operations/specs/reporting.d.ts +23 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +156 -11
- package/dist/public/operations/specs/upsert.d.ts +265 -14
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/specs/upsert.js +9 -0
- package/dist/public/operations/symbol-repair-plan.d.ts +22 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
- package/dist/public/operations/symbol-repair-plan.js +238 -0
- package/dist/public/operations/types.d.ts +52 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/proof-fingerprint.d.ts +54 -0
- package/dist/public/proof-fingerprint.d.ts.map +1 -0
- package/dist/public/proof-fingerprint.js +141 -0
- package/dist/public/proof-protocol.d.ts +354 -0
- package/dist/public/proof-protocol.d.ts.map +1 -0
- package/dist/public/proof-protocol.js +454 -0
- package/dist/public/proof-receipt.d.ts +279 -0
- package/dist/public/proof-receipt.d.ts.map +1 -0
- package/dist/public/proof-receipt.js +377 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +22 -6
- package/dist/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/dist/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/dist/public/skills/kibi-freshness/SKILL.md +39 -9
- package/dist/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/dist/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/dist/public/skills/kibi-traceability/SKILL.md +47 -47
- package/dist/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/dist/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/dist/public/skills/kibi-usage/SKILL.md +136 -231
- package/dist/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/dist/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/dist/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/dist/public/skills/kibi-usage/resources/proof.md +105 -0
- package/dist/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/dist/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +57 -4
- package/dist/public/symbol-granularity.d.ts +3 -14
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.generated.d.ts +16 -0
- package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
- package/dist/public/symbol-granularity.generated.js +20 -0
- package/dist/public/symbol-granularity.js +6 -46
- package/dist/public/telemetry-acceptance.d.ts +3 -70
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +11 -2
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/relationships/shards.d.ts +16 -0
- package/dist/relationships/shards.d.ts.map +1 -1
- package/dist/relationships/shards.js +87 -2
- package/dist/report/brand.d.ts +19 -0
- package/dist/report/brand.d.ts.map +1 -0
- package/dist/report/brand.js +112 -0
- package/dist/report/html-report.css +282 -0
- package/dist/report/html-report.d.ts +21 -0
- package/dist/report/html-report.d.ts.map +1 -0
- package/dist/report/html-report.js +700 -0
- package/dist/report/relative-time.d.ts +4 -0
- package/dist/report/relative-time.d.ts.map +1 -0
- package/dist/report/relative-time.js +46 -0
- package/dist/report/report-view.d.ts +17 -0
- package/dist/report/report-view.d.ts.map +1 -0
- package/dist/report/report-view.js +33 -0
- package/dist/report/repository.d.ts +35 -0
- package/dist/report/repository.d.ts.map +1 -0
- package/dist/report/repository.js +151 -0
- package/dist/runtime/cli-runtime.d.ts +2 -0
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +90 -23
- package/dist/schemas/entity.schema.json +1254 -239
- package/dist/search-ranking.d.ts +1 -0
- package/dist/search-ranking.d.ts.map +1 -1
- package/dist/search-ranking.js +3 -0
- package/dist/traceability/evidence-model.d.ts +30 -2
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- package/dist/traceability/evidence-model.js +2 -2
- package/dist/traceability/git-staged.d.ts +20 -0
- package/dist/traceability/git-staged.d.ts.map +1 -1
- package/dist/traceability/git-staged.js +156 -37
- package/dist/traceability/markdown-validate.d.ts.map +1 -1
- package/dist/traceability/markdown-validate.js +12 -7
- package/dist/traceability/staged-diagnostics.d.ts +7 -0
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-diagnostics.js +78 -7
- package/dist/traceability/staged-file-coverage.d.ts +33 -0
- package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
- package/dist/traceability/staged-file-coverage.js +284 -0
- package/dist/traceability/staged-impact-contract.d.ts +3 -3
- package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
- package/dist/traceability/staged-impact-contract.js +12 -40
- package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +142 -26
- package/dist/traceability/symbol-extract.d.ts +5 -0
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +1 -1
- package/dist/traceability/temp-kb.d.ts +2 -0
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +14 -2
- package/dist/types/entities.d.ts +5 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +25 -10
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +124 -38
- package/dist/utils/branch-store-locator.d.ts +23 -0
- package/dist/utils/branch-store-locator.d.ts.map +1 -0
- package/dist/utils/branch-store-locator.js +90 -0
- package/dist/utils/branch-store.d.ts +21 -0
- package/dist/utils/branch-store.d.ts.map +1 -0
- package/dist/utils/branch-store.js +157 -0
- package/dist/utils/config.d.ts +39 -37
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +107 -119
- package/dist/utils/kb-manifest.d.ts +35 -0
- package/dist/utils/kb-manifest.d.ts.map +1 -0
- package/dist/utils/kb-manifest.js +154 -0
- package/dist/utils/kb-paths.d.ts +54 -0
- package/dist/utils/kb-paths.d.ts.map +1 -0
- package/dist/utils/kb-paths.js +125 -0
- package/dist/utils/manifest-paths.d.ts +4 -4
- package/dist/utils/manifest-paths.d.ts.map +1 -1
- package/dist/utils/manifest-paths.js +8 -56
- package/dist/utils/rule-registry.d.ts +42 -24
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.d.ts +97 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -0
- package/dist/utils/rule-registry.generated.js +125 -0
- package/dist/utils/rule-registry.js +52 -148
- package/dist/utils/schema-version.d.ts +5 -5
- package/dist/utils/schema-version.d.ts.map +1 -1
- package/dist/utils/schema-version.js +26 -6
- package/dist/utils/strict-modeling.d.ts +1 -4
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +8 -9
- package/package.json +47 -11
- package/schema/config.json +2 -2
- package/schema/manifest.json +26 -0
- package/src/public/branch-resolver.ts +1 -0
- package/src/public/check-types.ts +22 -19
- package/src/public/diagnostic-usage.ts +84 -6
- package/src/public/distribution-parity.ts +17 -9
- package/src/public/ignore-policy.ts +16 -10
- package/src/public/impact/coverage-depth-quality.ts +37 -1
- package/src/public/impact/diagnostics.ts +2 -1
- package/src/public/impact/diff-meaning.ts +11 -4
- package/src/public/impact/full-kb-quality.ts +545 -41
- package/src/public/impact/manifest.ts +2 -4
- package/src/public/operational-artifacts.ts +9 -1
- package/src/public/operations/catalog.ts +153 -10
- package/src/public/operations/check-executor.ts +98 -15
- package/src/public/operations/check-format-shared.ts +6 -0
- package/src/public/operations/check-helpers.ts +74 -35
- package/src/public/operations/contracts.ts +382 -0
- package/src/public/operations/discovery-entities.ts +7 -0
- package/src/public/operations/discovery-executors.ts +315 -25
- package/src/public/operations/index.ts +9 -4
- package/src/public/operations/migration-plan.ts +747 -0
- package/src/public/operations/node-ports.ts +87 -13
- package/src/public/operations/prolog-json.ts +60 -5
- package/src/public/operations/repair-plan.ts +60 -22
- package/src/public/operations/result-envelope.ts +141 -0
- package/src/public/operations/runtime-types.ts +96 -5
- package/src/public/operations/source-relationship-parity.ts +226 -0
- package/src/public/operations/specs/{autopilot.ts → bootstrap.ts} +17 -16
- package/src/public/operations/specs/check-rules.generated.ts +37 -0
- package/src/public/operations/specs/check.ts +14 -22
- package/src/public/operations/specs/discovery.ts +57 -3
- package/src/public/operations/specs/modeling.ts +3 -3
- package/src/public/operations/specs/mutation-schemas.ts +24 -6
- package/src/public/operations/specs/mutation.ts +27 -2
- package/src/public/operations/specs/planning.ts +241 -0
- package/src/public/operations/specs/proof.ts +43 -0
- package/src/public/operations/specs/reporting.ts +193 -12
- package/src/public/operations/specs/upsert.ts +10 -0
- package/src/public/operations/symbol-repair-plan.ts +324 -0
- package/src/public/operations/types.ts +62 -1
- package/src/public/proof-fingerprint.ts +216 -0
- package/src/public/proof-protocol-types.d.ts +96 -0
- package/src/public/proof-protocol.ts +589 -0
- package/src/public/proof-receipt.ts +499 -0
- package/src/public/schemas/entity.ts +27 -6
- package/src/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/src/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/src/public/skills/kibi-freshness/SKILL.md +39 -9
- package/src/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/src/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/src/public/skills/kibi-traceability/SKILL.md +47 -47
- package/src/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/src/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/src/public/skills/kibi-usage/SKILL.md +136 -231
- package/src/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/src/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/src/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/src/public/skills/kibi-usage/resources/proof.md +105 -0
- package/src/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/src/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +57 -4
- package/src/public/symbol-granularity.generated.ts +41 -0
- package/src/public/symbol-granularity.ts +35 -59
- package/src/public/telemetry-acceptance-types.d.ts +98 -0
- package/src/public/telemetry-acceptance.ts +30 -93
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/schemas/entity.schema.json +1254 -239
- package/templates/github/kibi-badge.yml +86 -0
- package/templates/github/kibi-report.yml +84 -0
- package/dist/operations/autopilot/activation.d.ts +0 -4
- package/dist/operations/autopilot/activation.d.ts.map +0 -1
- package/dist/operations/autopilot/candidates.d.ts +0 -4
- package/dist/operations/autopilot/discovery.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.d.ts +0 -8
- package/dist/operations/autopilot/generate.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.js +0 -112
- package/dist/operations/autopilot/guidance.d.ts.map +0 -1
- package/dist/operations/autopilot/presentation.d.ts +0 -13
- package/dist/operations/autopilot/presentation.d.ts.map +0 -1
- package/dist/operations/autopilot/presentation.js +0 -91
- package/dist/operations/autopilot/types.d.ts.map +0 -1
- package/dist/operations/autopilot/types.js +0 -8
- package/dist/public/operations/specs/autopilot.d.ts.map +0 -1
- package/dist/public/skills/init-kibi/SKILL.md +0 -62
- package/dist/public/verification-receipt.d.ts +0 -75
- package/dist/public/verification-receipt.d.ts.map +0 -1
- package/dist/public/verification-receipt.js +0 -129
- package/src/public/skills/init-kibi/SKILL.md +0 -62
- package/src/public/verification-receipt.ts +0 -170
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.js +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.js +0 -0
package/dist/utils/config.js
CHANGED
|
@@ -17,143 +17,131 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { existsSync, readFileSync } from "node:fs";
|
|
19
19
|
import * as path from "node:path";
|
|
20
|
-
import {
|
|
21
|
-
|
|
20
|
+
import { CANONICAL_ENTITY_PATHS, LEGACY_DEFAULT_ENTITY_PATHS, } from "./kb-paths.js";
|
|
21
|
+
/** Canonical entity paths; always the same, never merged with user input. */
|
|
22
|
+
export const DEFAULT_CONFIG_PATHS = CANONICAL_ENTITY_PATHS;
|
|
22
23
|
/**
|
|
23
|
-
*
|
|
24
|
+
* Load the canonical entity paths. The result is constant: Kibi owns the
|
|
25
|
+
* layout and repositories cannot relocate knowledge lanes.
|
|
24
26
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
checks: DEFAULT_CHECKS_CONFIG,
|
|
41
|
-
};
|
|
27
|
+
export function loadEntityPaths(_cwd = process.cwd()) {
|
|
28
|
+
return CANONICAL_ENTITY_PATHS;
|
|
29
|
+
}
|
|
30
|
+
function isRecord(value) {
|
|
31
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
32
|
+
}
|
|
33
|
+
function pickLegacyPathValue(paths, key) {
|
|
34
|
+
const value = paths[key];
|
|
35
|
+
return typeof value === "string" ? value : undefined;
|
|
36
|
+
}
|
|
37
|
+
/** Whether a legacy `.kb/config.json` exists at the workspace root. */
|
|
38
|
+
export function legacyConfigExists(cwd) {
|
|
39
|
+
return existsSync(path.join(cwd, ".kb", "config.json"));
|
|
40
|
+
}
|
|
42
41
|
/**
|
|
43
|
-
*
|
|
42
|
+
* Read a legacy `.kb/config.json` if one exists. Malformed JSON returns
|
|
43
|
+
* `kind: "malformed"` so migration can report actionable diagnostics
|
|
44
|
+
* instead of silently guessing paths.
|
|
44
45
|
*/
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
symbols: "symbols.yaml",
|
|
55
|
-
};
|
|
56
|
-
function readUserConfig(configPath) {
|
|
57
|
-
if (!existsSync(configPath)) {
|
|
46
|
+
export function readLegacyKbConfig(cwd) {
|
|
47
|
+
const configPath = path.join(cwd, ".kb", "config.json");
|
|
48
|
+
if (!existsSync(configPath))
|
|
49
|
+
return { kind: "none" };
|
|
50
|
+
let raw;
|
|
51
|
+
try {
|
|
52
|
+
raw = readFileSync(configPath, "utf8");
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
58
55
|
return {
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
kind: "malformed",
|
|
57
|
+
error: error instanceof Error ? error.message : String(error),
|
|
61
58
|
};
|
|
62
59
|
}
|
|
63
60
|
try {
|
|
64
|
-
const
|
|
61
|
+
const parsed = JSON.parse(raw);
|
|
62
|
+
if (!isRecord(parsed)) {
|
|
63
|
+
return {
|
|
64
|
+
kind: "malformed",
|
|
65
|
+
error: "config.json must contain a JSON object",
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const paths = isRecord(parsed.paths) ? parsed.paths : undefined;
|
|
69
|
+
let legacyPaths = undefined;
|
|
70
|
+
if (paths !== undefined) {
|
|
71
|
+
const next = {};
|
|
72
|
+
for (const key of [
|
|
73
|
+
"requirements",
|
|
74
|
+
"scenarios",
|
|
75
|
+
"tests",
|
|
76
|
+
"adr",
|
|
77
|
+
"flags",
|
|
78
|
+
"events",
|
|
79
|
+
"facts",
|
|
80
|
+
"symbols",
|
|
81
|
+
]) {
|
|
82
|
+
const value = pickLegacyPathValue(paths, key);
|
|
83
|
+
if (value !== undefined) {
|
|
84
|
+
next[key] = value;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
legacyPaths = Object.keys(next).length > 0 ? next : undefined;
|
|
88
|
+
}
|
|
65
89
|
return {
|
|
66
|
-
|
|
67
|
-
|
|
90
|
+
kind: "present",
|
|
91
|
+
config: {
|
|
92
|
+
...(typeof parsed.schemaVersion === "number" ||
|
|
93
|
+
typeof parsed.schemaVersion === "string"
|
|
94
|
+
? { schemaVersion: parsed.schemaVersion }
|
|
95
|
+
: {}),
|
|
96
|
+
...(parsed.semanticAdvisorBackfill === "pending" ||
|
|
97
|
+
parsed.semanticAdvisorBackfill === "completed" ||
|
|
98
|
+
parsed.semanticAdvisorBackfill === "not_applicable"
|
|
99
|
+
? { semanticAdvisorBackfill: parsed.semanticAdvisorBackfill }
|
|
100
|
+
: {}),
|
|
101
|
+
...(typeof parsed.symbolsManifest === "string"
|
|
102
|
+
? { symbolsManifest: parsed.symbolsManifest }
|
|
103
|
+
: {}),
|
|
104
|
+
...(typeof parsed.defaultBranch === "string"
|
|
105
|
+
? { defaultBranch: parsed.defaultBranch }
|
|
106
|
+
: {}),
|
|
107
|
+
...(parsed.checks !== undefined ? { checks: parsed.checks } : {}),
|
|
108
|
+
...(legacyPaths !== undefined ? { paths: legacyPaths } : {}),
|
|
109
|
+
},
|
|
68
110
|
};
|
|
69
111
|
}
|
|
70
|
-
catch {
|
|
112
|
+
catch (error) {
|
|
71
113
|
return {
|
|
72
|
-
|
|
73
|
-
|
|
114
|
+
kind: "malformed",
|
|
115
|
+
error: error instanceof Error ? error.message : String(error),
|
|
74
116
|
};
|
|
75
117
|
}
|
|
76
118
|
}
|
|
77
119
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* @param cwd - The working directory to look for .kb/config.json
|
|
82
|
-
* @returns The merged configuration (defaults + user config)
|
|
120
|
+
* Resolve the effective legacy entity paths for migration discovery:
|
|
121
|
+
* configured values win, then the historical `documentation/` defaults.
|
|
122
|
+
* Glob-bearing values are preserved so migration can strip them to roots.
|
|
83
123
|
*/
|
|
84
|
-
export function
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
},
|
|
93
|
-
...(userConfig.schemaVersion !== undefined || useDefaultSchemaVersion
|
|
94
|
-
? {
|
|
95
|
-
schemaVersion: userConfig.schemaVersion ?? DEFAULT_CONFIG.schemaVersion,
|
|
96
|
-
}
|
|
97
|
-
: {}),
|
|
98
|
-
...(userConfig.defaultBranch !== undefined
|
|
99
|
-
? { defaultBranch: userConfig.defaultBranch }
|
|
100
|
-
: {}),
|
|
101
|
-
...(userConfig.semanticAdvisorBackfill !== undefined
|
|
102
|
-
? { semanticAdvisorBackfill: userConfig.semanticAdvisorBackfill }
|
|
103
|
-
: {}),
|
|
104
|
-
checks: userConfig.checks
|
|
105
|
-
? {
|
|
106
|
-
rules: {
|
|
107
|
-
...DEFAULT_CHECKS_CONFIG.rules,
|
|
108
|
-
...userConfig.checks.rules,
|
|
109
|
-
},
|
|
110
|
-
symbolTraceability: {
|
|
111
|
-
...DEFAULT_CHECKS_CONFIG.symbolTraceability,
|
|
112
|
-
...userConfig.checks.symbolTraceability,
|
|
113
|
-
},
|
|
114
|
-
}
|
|
115
|
-
: DEFAULT_CHECKS_CONFIG,
|
|
124
|
+
export function resolveLegacyEntityPaths(config) {
|
|
125
|
+
const paths = config?.paths;
|
|
126
|
+
const pick = (key) => {
|
|
127
|
+
const configured = paths?.[key];
|
|
128
|
+
if (typeof configured === "string" && configured.trim().length > 0) {
|
|
129
|
+
return configured.trim();
|
|
130
|
+
}
|
|
131
|
+
return LEGACY_DEFAULT_ENTITY_PATHS[key];
|
|
116
132
|
};
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Load sync configuration with fallback to glob patterns.
|
|
120
|
-
* This is used by sync.ts to maintain backward compatibility with
|
|
121
|
-
* older config files that may use glob patterns.
|
|
122
|
-
*
|
|
123
|
-
* @param cwd - The working directory to look for .kb/config.json
|
|
124
|
-
* @returns The merged configuration with sync-compatible paths
|
|
125
|
-
*/
|
|
126
|
-
export function loadSyncConfig(cwd = process.cwd()) {
|
|
127
|
-
// implements REQ-003
|
|
128
|
-
const configPath = path.join(cwd, ".kb/config.json");
|
|
129
|
-
const { userConfig, useDefaultSchemaVersion } = readUserConfig(configPath);
|
|
133
|
+
const symbolsConfigured = paths?.symbols ?? config?.symbolsManifest;
|
|
130
134
|
return {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
: {}),
|
|
143
|
-
...(userConfig.semanticAdvisorBackfill !== undefined
|
|
144
|
-
? { semanticAdvisorBackfill: userConfig.semanticAdvisorBackfill }
|
|
145
|
-
: {}),
|
|
146
|
-
checks: userConfig.checks
|
|
147
|
-
? {
|
|
148
|
-
rules: {
|
|
149
|
-
...DEFAULT_CHECKS_CONFIG.rules,
|
|
150
|
-
...userConfig.checks.rules,
|
|
151
|
-
},
|
|
152
|
-
symbolTraceability: {
|
|
153
|
-
...DEFAULT_CHECKS_CONFIG.symbolTraceability,
|
|
154
|
-
...userConfig.checks.symbolTraceability,
|
|
155
|
-
},
|
|
156
|
-
}
|
|
157
|
-
: DEFAULT_CHECKS_CONFIG,
|
|
135
|
+
requirements: pick("requirements"),
|
|
136
|
+
scenarios: pick("scenarios"),
|
|
137
|
+
tests: pick("tests"),
|
|
138
|
+
adr: pick("adr"),
|
|
139
|
+
flags: pick("flags"),
|
|
140
|
+
events: pick("events"),
|
|
141
|
+
facts: pick("facts"),
|
|
142
|
+
symbols: typeof symbolsConfigured === "string" &&
|
|
143
|
+
symbolsConfigured.trim().length > 0
|
|
144
|
+
? symbolsConfigured.trim()
|
|
145
|
+
: LEGACY_DEFAULT_ENTITY_PATHS.symbols,
|
|
158
146
|
};
|
|
159
147
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kibi-owned repository lifecycle manifest (`.kb/manifest.json`).
|
|
3
|
+
*
|
|
4
|
+
* Replaces the former user-facing `.kb/config.json`. Every field is
|
|
5
|
+
* Kibi-managed: users never configure paths or enforcement policy. The
|
|
6
|
+
* manifest carries only Kibi lifecycle metadata (schema version, migration
|
|
7
|
+
* and semantic-backfill state).
|
|
8
|
+
*/
|
|
9
|
+
export declare const KB_MANIFEST_VERSION = 1;
|
|
10
|
+
export type SemanticAdvisorBackfill = "pending" | "completed" | "not_applicable";
|
|
11
|
+
export interface KbManifest {
|
|
12
|
+
/** Manifest payload schema, used to validate future formats safely. */
|
|
13
|
+
manifestVersion: number;
|
|
14
|
+
/** KB entity/relationship schema generation this repository uses. */
|
|
15
|
+
schemaVersion: number;
|
|
16
|
+
/** Retroactive semantic-advisor backfill review state. */
|
|
17
|
+
semanticAdvisorBackfill: SemanticAdvisorBackfill;
|
|
18
|
+
}
|
|
19
|
+
export declare function defaultKbManifest(): KbManifest;
|
|
20
|
+
export type KbManifestStatus = {
|
|
21
|
+
state: "ok";
|
|
22
|
+
manifest: KbManifest;
|
|
23
|
+
manifestHash: string | null;
|
|
24
|
+
} | {
|
|
25
|
+
state: "missing" | "invalid" | "future";
|
|
26
|
+
manifest: null;
|
|
27
|
+
manifestHash: string | null;
|
|
28
|
+
warning: string;
|
|
29
|
+
};
|
|
30
|
+
export declare function readKbManifestStatus(workspaceRoot: string): KbManifestStatus;
|
|
31
|
+
export declare function readKbManifest(workspaceRoot: string): KbManifest | null;
|
|
32
|
+
/** Read the manifest, tolerating missing/corrupt state with Kibi defaults. */
|
|
33
|
+
export declare function readKbManifestOrDefault(workspaceRoot: string): KbManifest;
|
|
34
|
+
export declare function writeKbManifest(workspaceRoot: string, manifest: KbManifest): string;
|
|
35
|
+
//# sourceMappingURL=kb-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kb-manifest.d.ts","sourceRoot":"","sources":["../../src/utils/kb-manifest.ts"],"names":[],"mappings":"AA8BA;;;;;;;GAOG;AAEH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,uBAAuB,EAAE,uBAAuB,CAAC;CAClD;AAED,wBAAgB,iBAAiB,IAAI,UAAU,CAM9C;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClE;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA+CN,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,CAyD5E;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGvE;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAEzE;AASD,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,UAAU,GACnB,MAAM,CAIR"}
|
|
@@ -0,0 +1,154 @@
|
|
|
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 { createHash } from "node:crypto";
|
|
19
|
+
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync, } from "node:fs";
|
|
20
|
+
import * as path from "node:path";
|
|
21
|
+
import { KB_PATHS } from "./kb-paths.js";
|
|
22
|
+
import { LATEST_KB_SCHEMA_VERSION } from "./schema-version.js";
|
|
23
|
+
/**
|
|
24
|
+
* Kibi-owned repository lifecycle manifest (`.kb/manifest.json`).
|
|
25
|
+
*
|
|
26
|
+
* Replaces the former user-facing `.kb/config.json`. Every field is
|
|
27
|
+
* Kibi-managed: users never configure paths or enforcement policy. The
|
|
28
|
+
* manifest carries only Kibi lifecycle metadata (schema version, migration
|
|
29
|
+
* and semantic-backfill state).
|
|
30
|
+
*/
|
|
31
|
+
export const KB_MANIFEST_VERSION = 1;
|
|
32
|
+
export function defaultKbManifest() {
|
|
33
|
+
return {
|
|
34
|
+
manifestVersion: KB_MANIFEST_VERSION,
|
|
35
|
+
schemaVersion: LATEST_KB_SCHEMA_VERSION,
|
|
36
|
+
semanticAdvisorBackfill: "not_applicable",
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function manifestPathFor(workspaceRoot) {
|
|
40
|
+
return path.join(workspaceRoot, KB_PATHS.manifest);
|
|
41
|
+
}
|
|
42
|
+
function isRecord(value) {
|
|
43
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Validate a parsed manifest document. Unknown fields are ignored so future
|
|
47
|
+
* Kibi versions can add metadata without breaking older readers, but the
|
|
48
|
+
* declared manifestVersion must not exceed what this build understands.
|
|
49
|
+
*/
|
|
50
|
+
function validateManifest(parsed) {
|
|
51
|
+
if (!isRecord(parsed))
|
|
52
|
+
return null;
|
|
53
|
+
const rawVersion = parsed.manifestVersion;
|
|
54
|
+
const manifestVersion = typeof rawVersion === "number" && Number.isInteger(rawVersion)
|
|
55
|
+
? rawVersion
|
|
56
|
+
: null;
|
|
57
|
+
if (manifestVersion === null)
|
|
58
|
+
return null;
|
|
59
|
+
if (manifestVersion > KB_MANIFEST_VERSION)
|
|
60
|
+
return null;
|
|
61
|
+
const schemaVersion = parsed.schemaVersion;
|
|
62
|
+
if (typeof schemaVersion !== "number" ||
|
|
63
|
+
!Number.isInteger(schemaVersion) ||
|
|
64
|
+
schemaVersion < 1) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
const backfill = parsed.semanticAdvisorBackfill;
|
|
68
|
+
if (backfill !== "pending" &&
|
|
69
|
+
backfill !== "completed" &&
|
|
70
|
+
backfill !== "not_applicable") {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
manifestVersion,
|
|
75
|
+
schemaVersion,
|
|
76
|
+
semanticAdvisorBackfill: backfill,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export function readKbManifestStatus(workspaceRoot) {
|
|
80
|
+
const manifestPath = manifestPathFor(workspaceRoot);
|
|
81
|
+
if (!existsSync(manifestPath)) {
|
|
82
|
+
return {
|
|
83
|
+
state: "missing",
|
|
84
|
+
manifest: null,
|
|
85
|
+
manifestHash: null,
|
|
86
|
+
warning: "Kibi lifecycle manifest is missing; run 'kibi init' or 'kibi migrate' to create it.",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
let contents;
|
|
90
|
+
try {
|
|
91
|
+
contents = readFileSync(manifestPath, "utf8");
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return {
|
|
95
|
+
state: "invalid",
|
|
96
|
+
manifest: null,
|
|
97
|
+
manifestHash: null,
|
|
98
|
+
warning: `Kibi lifecycle manifest at ${KB_PATHS.manifest} is unreadable; re-run 'kibi init'.`,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
const manifestHash = createHash("sha256").update(contents).digest("hex");
|
|
102
|
+
let parsed;
|
|
103
|
+
try {
|
|
104
|
+
parsed = JSON.parse(contents);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return {
|
|
108
|
+
state: "invalid",
|
|
109
|
+
manifest: null,
|
|
110
|
+
manifestHash,
|
|
111
|
+
warning: `Kibi lifecycle manifest at ${KB_PATHS.manifest} is not valid JSON; re-run 'kibi init'.`,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const manifest = validateManifest(parsed);
|
|
115
|
+
if (manifest === null) {
|
|
116
|
+
const rawVersion = isRecord(parsed) ? parsed.manifestVersion : undefined;
|
|
117
|
+
if (typeof rawVersion === "number" &&
|
|
118
|
+
Number.isInteger(rawVersion) &&
|
|
119
|
+
rawVersion > KB_MANIFEST_VERSION) {
|
|
120
|
+
return {
|
|
121
|
+
state: "future",
|
|
122
|
+
manifest: null,
|
|
123
|
+
manifestHash,
|
|
124
|
+
warning: `Kibi lifecycle manifest version ${rawVersion} is newer than this build supports (${KB_MANIFEST_VERSION}); upgrade kibi.`,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
state: "invalid",
|
|
129
|
+
manifest: null,
|
|
130
|
+
manifestHash,
|
|
131
|
+
warning: `Kibi lifecycle manifest at ${KB_PATHS.manifest} is malformed; re-run 'kibi init' or 'kibi migrate'.`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return { state: "ok", manifest, manifestHash };
|
|
135
|
+
}
|
|
136
|
+
export function readKbManifest(workspaceRoot) {
|
|
137
|
+
const status = readKbManifestStatus(workspaceRoot);
|
|
138
|
+
return status.state === "ok" ? status.manifest : null;
|
|
139
|
+
}
|
|
140
|
+
/** Read the manifest, tolerating missing/corrupt state with Kibi defaults. */
|
|
141
|
+
export function readKbManifestOrDefault(workspaceRoot) {
|
|
142
|
+
return readKbManifest(workspaceRoot) ?? defaultKbManifest();
|
|
143
|
+
}
|
|
144
|
+
function writeAtomically(filePath, content) {
|
|
145
|
+
mkdirSync(path.dirname(filePath), { recursive: true });
|
|
146
|
+
const tempPath = `${filePath}.tmp-${process.pid}-${Date.now()}`;
|
|
147
|
+
writeFileSync(tempPath, content, "utf8");
|
|
148
|
+
renameSync(tempPath, filePath);
|
|
149
|
+
}
|
|
150
|
+
export function writeKbManifest(workspaceRoot, manifest) {
|
|
151
|
+
const filePath = manifestPathFor(workspaceRoot);
|
|
152
|
+
writeAtomically(filePath, `${JSON.stringify(manifest, null, 2)}\n`);
|
|
153
|
+
return filePath;
|
|
154
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical Kibi project-knowledge namespace.
|
|
3
|
+
*
|
|
4
|
+
* Kibi owns one opinionated layout under `.kb/`. Entity source lanes, the
|
|
5
|
+
* symbols manifest, relationship shards, and the lifecycle manifest are
|
|
6
|
+
* Kibi-owned but Git-tracked project knowledge; branch stores and recovery
|
|
7
|
+
* state are derived runtime data. Nothing in this module is user-configurable.
|
|
8
|
+
*/
|
|
9
|
+
export declare const KB_ROOT = ".kb";
|
|
10
|
+
/** Kibi-owned entity-source lanes (Git-tracked authored knowledge). */
|
|
11
|
+
export declare const ENTITY_LANES: readonly ["requirements", "scenarios", "tests", "facts", "adr", "flags", "events"];
|
|
12
|
+
export type EntityLane = (typeof ENTITY_LANES)[number];
|
|
13
|
+
/** Config-key spelling used by legacy `.kb/config.json` path configuration. */
|
|
14
|
+
export declare const LEGACY_CONFIG_PATH_KEYS: Readonly<Record<EntityLane, string>>;
|
|
15
|
+
export declare const KB_PATHS: {
|
|
16
|
+
/** Repo-relative canonical lane directories under `.kb/`. */
|
|
17
|
+
readonly lanes: {
|
|
18
|
+
readonly requirements: ".kb/requirements";
|
|
19
|
+
readonly scenarios: ".kb/scenarios";
|
|
20
|
+
readonly tests: ".kb/tests";
|
|
21
|
+
readonly facts: ".kb/facts";
|
|
22
|
+
readonly adr: ".kb/adr";
|
|
23
|
+
readonly flags: ".kb/flags";
|
|
24
|
+
readonly events: ".kb/events";
|
|
25
|
+
};
|
|
26
|
+
readonly symbolsManifest: ".kb/symbols.yaml";
|
|
27
|
+
readonly symbolCoordinates: ".kb/symbol-coordinates.yaml";
|
|
28
|
+
readonly manifest: ".kb/manifest.json";
|
|
29
|
+
readonly relationships: ".kb/relationships";
|
|
30
|
+
};
|
|
31
|
+
/** Derived runtime trees. Authored knowledge and relationship shards stay writable. */
|
|
32
|
+
export declare const DERIVED_KB_PREFIXES: readonly [".kb/branches", ".kb/recovery", ".kb/proof/runs", ".kb/briefs", ".kb/migrations"];
|
|
33
|
+
export type KbEntityPaths = Readonly<{
|
|
34
|
+
requirements: string;
|
|
35
|
+
scenarios: string;
|
|
36
|
+
tests: string;
|
|
37
|
+
adr: string;
|
|
38
|
+
flags: string;
|
|
39
|
+
events: string;
|
|
40
|
+
facts: string;
|
|
41
|
+
symbols: string;
|
|
42
|
+
}>;
|
|
43
|
+
/** Canonical, non-configurable entity source paths. */
|
|
44
|
+
export declare const CANONICAL_ENTITY_PATHS: KbEntityPaths;
|
|
45
|
+
/** Legacy default entity paths (pre-canonical layout) used for migration only. */
|
|
46
|
+
export declare const LEGACY_DEFAULT_ENTITY_PATHS: KbEntityPaths;
|
|
47
|
+
export declare function isEntityLanePath(repoRelativePath: string): boolean;
|
|
48
|
+
export declare function entityLaneForPath(repoRelativePath: string): EntityLane | null;
|
|
49
|
+
export declare function isSymbolsManifestPath(repoRelativePath: string): boolean;
|
|
50
|
+
/** True when the path is any Kibi-owned tracked knowledge artifact. */
|
|
51
|
+
export declare function isKbKnowledgePath(repoRelativePath: string): boolean;
|
|
52
|
+
/** True when the path is a derived runtime tree that agents must not author. */
|
|
53
|
+
export declare function isDerivedKbPath(repoRelativePath: string): boolean;
|
|
54
|
+
//# sourceMappingURL=kb-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kb-paths.d.ts","sourceRoot":"","sources":["../../src/utils/kb-paths.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AAEH,eAAO,MAAM,OAAO,QAAQ,CAAC;AAE7B,uEAAuE;AACvE,eAAO,MAAM,YAAY,oFAQf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAQxE,CAAC;AAMF,eAAO,MAAM,QAAQ;IACnB,6DAA6D;;;;;;;;;;;;;;CAcrD,CAAC;AAEX,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,6FAMtB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,EAAE,aASpC,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,EAAE,aASzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKlE;AAED,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAO7E;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKnE;AAMD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKjE"}
|
|
@@ -0,0 +1,125 @@
|
|
|
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
|
+
/**
|
|
19
|
+
* Canonical Kibi project-knowledge namespace.
|
|
20
|
+
*
|
|
21
|
+
* Kibi owns one opinionated layout under `.kb/`. Entity source lanes, the
|
|
22
|
+
* symbols manifest, relationship shards, and the lifecycle manifest are
|
|
23
|
+
* Kibi-owned but Git-tracked project knowledge; branch stores and recovery
|
|
24
|
+
* state are derived runtime data. Nothing in this module is user-configurable.
|
|
25
|
+
*/
|
|
26
|
+
export const KB_ROOT = ".kb";
|
|
27
|
+
/** Kibi-owned entity-source lanes (Git-tracked authored knowledge). */
|
|
28
|
+
export const ENTITY_LANES = [
|
|
29
|
+
"requirements",
|
|
30
|
+
"scenarios",
|
|
31
|
+
"tests",
|
|
32
|
+
"facts",
|
|
33
|
+
"adr",
|
|
34
|
+
"flags",
|
|
35
|
+
"events",
|
|
36
|
+
];
|
|
37
|
+
/** Config-key spelling used by legacy `.kb/config.json` path configuration. */
|
|
38
|
+
export const LEGACY_CONFIG_PATH_KEYS = {
|
|
39
|
+
requirements: "requirements",
|
|
40
|
+
scenarios: "scenarios",
|
|
41
|
+
tests: "tests",
|
|
42
|
+
facts: "facts",
|
|
43
|
+
adr: "adr",
|
|
44
|
+
flags: "flags",
|
|
45
|
+
events: "events",
|
|
46
|
+
};
|
|
47
|
+
const LANE_SUFFIX = Object.fromEntries(ENTITY_LANES.map((lane) => [lane, `/${lane}/`]));
|
|
48
|
+
export const KB_PATHS = {
|
|
49
|
+
/** Repo-relative canonical lane directories under `.kb/`. */
|
|
50
|
+
lanes: {
|
|
51
|
+
requirements: ".kb/requirements",
|
|
52
|
+
scenarios: ".kb/scenarios",
|
|
53
|
+
tests: ".kb/tests",
|
|
54
|
+
facts: ".kb/facts",
|
|
55
|
+
adr: ".kb/adr",
|
|
56
|
+
flags: ".kb/flags",
|
|
57
|
+
events: ".kb/events",
|
|
58
|
+
},
|
|
59
|
+
symbolsManifest: ".kb/symbols.yaml",
|
|
60
|
+
symbolCoordinates: ".kb/symbol-coordinates.yaml",
|
|
61
|
+
manifest: ".kb/manifest.json",
|
|
62
|
+
relationships: ".kb/relationships",
|
|
63
|
+
};
|
|
64
|
+
/** Derived runtime trees. Authored knowledge and relationship shards stay writable. */
|
|
65
|
+
export const DERIVED_KB_PREFIXES = [
|
|
66
|
+
".kb/branches",
|
|
67
|
+
".kb/recovery",
|
|
68
|
+
".kb/proof/runs",
|
|
69
|
+
".kb/briefs",
|
|
70
|
+
".kb/migrations",
|
|
71
|
+
];
|
|
72
|
+
/** Canonical, non-configurable entity source paths. */
|
|
73
|
+
export const CANONICAL_ENTITY_PATHS = {
|
|
74
|
+
requirements: KB_PATHS.lanes.requirements,
|
|
75
|
+
scenarios: KB_PATHS.lanes.scenarios,
|
|
76
|
+
tests: KB_PATHS.lanes.tests,
|
|
77
|
+
adr: KB_PATHS.lanes.adr,
|
|
78
|
+
flags: KB_PATHS.lanes.flags,
|
|
79
|
+
events: KB_PATHS.lanes.events,
|
|
80
|
+
facts: KB_PATHS.lanes.facts,
|
|
81
|
+
symbols: KB_PATHS.symbolsManifest,
|
|
82
|
+
};
|
|
83
|
+
/** Legacy default entity paths (pre-canonical layout) used for migration only. */
|
|
84
|
+
export const LEGACY_DEFAULT_ENTITY_PATHS = {
|
|
85
|
+
requirements: "documentation/requirements",
|
|
86
|
+
scenarios: "documentation/scenarios",
|
|
87
|
+
tests: "documentation/tests",
|
|
88
|
+
adr: "documentation/adr",
|
|
89
|
+
flags: "documentation/flags",
|
|
90
|
+
events: "documentation/events",
|
|
91
|
+
facts: "documentation/facts",
|
|
92
|
+
symbols: "documentation/symbols.yaml",
|
|
93
|
+
};
|
|
94
|
+
export function isEntityLanePath(repoRelativePath) {
|
|
95
|
+
if (!repoRelativePath.startsWith(`${KB_ROOT}/`))
|
|
96
|
+
return false;
|
|
97
|
+
const rest = repoRelativePath.slice(KB_ROOT.length + 1);
|
|
98
|
+
const segment = rest.split("/")[0] ?? "";
|
|
99
|
+
return ENTITY_LANES.includes(segment);
|
|
100
|
+
}
|
|
101
|
+
export function entityLaneForPath(repoRelativePath) {
|
|
102
|
+
for (const lane of ENTITY_LANES) {
|
|
103
|
+
if (repoRelativePath.includes(LANE_SUFFIX[lane])) {
|
|
104
|
+
return lane;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
export function isSymbolsManifestPath(repoRelativePath) {
|
|
110
|
+
return (repoRelativePath === KB_PATHS.symbolsManifest ||
|
|
111
|
+
repoRelativePath === KB_PATHS.symbolCoordinates);
|
|
112
|
+
}
|
|
113
|
+
/** True when the path is any Kibi-owned tracked knowledge artifact. */
|
|
114
|
+
export function isKbKnowledgePath(repoRelativePath) {
|
|
115
|
+
return (isEntityLanePath(repoRelativePath) ||
|
|
116
|
+
isSymbolsManifestPath(repoRelativePath));
|
|
117
|
+
}
|
|
118
|
+
function toPosixRepoPath(repoRelativePath) {
|
|
119
|
+
return repoRelativePath.replaceAll("\\", "/");
|
|
120
|
+
}
|
|
121
|
+
/** True when the path is a derived runtime tree that agents must not author. */
|
|
122
|
+
export function isDerivedKbPath(repoRelativePath) {
|
|
123
|
+
const posix = toPosixRepoPath(repoRelativePath);
|
|
124
|
+
return DERIVED_KB_PREFIXES.some((prefix) => posix === prefix || posix.startsWith(`${prefix}/`));
|
|
125
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export declare const DEFAULT_SYMBOLS_PATH
|
|
2
|
-
export declare const DEFAULT_COORDINATES_PATH
|
|
3
|
-
export declare function resolveSymbolsManifestPaths(workspaceRoot: string
|
|
1
|
+
export declare const DEFAULT_SYMBOLS_PATH: ".kb/symbols.yaml";
|
|
2
|
+
export declare const DEFAULT_COORDINATES_PATH: ".kb/symbol-coordinates.yaml";
|
|
3
|
+
export declare function resolveSymbolsManifestPaths(workspaceRoot: string): {
|
|
4
4
|
symbolsPath: string;
|
|
5
5
|
coordinatesPath: string;
|
|
6
6
|
};
|
|
7
|
-
export declare function resolveSymbolsManifestPath(workspaceRoot: string
|
|
7
|
+
export declare function resolveSymbolsManifestPath(workspaceRoot: string): string;
|
|
8
8
|
//# sourceMappingURL=manifest-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-paths.d.ts","sourceRoot":"","sources":["../../src/utils/manifest-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"manifest-paths.d.ts","sourceRoot":"","sources":["../../src/utils/manifest-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,oBAA2B,CAAC;AAC7D,eAAO,MAAM,wBAAwB,+BAA6B,CAAC;AAGnE,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,CAMA;AAGD,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE"}
|