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
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { EngineClient } from "../engine.js";
|
|
3
|
-
import { getBranchOverride } from "../env.js";
|
|
4
3
|
import { PrologProcess, resolveKbPlPath } from "../prolog.js";
|
|
5
4
|
import { escapeAtom } from "../prolog/codec.js";
|
|
6
5
|
import { executeOperation, } from "../public/operations/runtime-types.js";
|
|
7
6
|
import { createCliRuntime } from "../runtime/cli-runtime.js";
|
|
7
|
+
import { resolveBranchAttachment } from "../utils/branch-resolver.js";
|
|
8
8
|
import { safeCleanupProlog } from "../utils/prolog-cleanup.js";
|
|
9
9
|
import { renderDiscoveryTable } from "./discovery-table.js";
|
|
10
|
-
import { getCurrentBranch } from "./init-helpers.js";
|
|
11
10
|
export { renderCoverageTable } from "./discovery-table.js";
|
|
12
11
|
// implements REQ-kibi-operation-interface-parity
|
|
13
12
|
export async function executeReportingSpec(spec, input, options = {}) {
|
|
@@ -22,13 +21,10 @@ export async function withAttachedBranchProlog(callback, deps) {
|
|
|
22
21
|
let attached = false;
|
|
23
22
|
let branchName;
|
|
24
23
|
try {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
catch {
|
|
30
|
-
branchName = getBranchOverride() || "main";
|
|
31
|
-
}
|
|
24
|
+
const attachment = resolveBranchAttachment(process.cwd());
|
|
25
|
+
if ("error" in attachment)
|
|
26
|
+
throw new Error(attachment.error);
|
|
27
|
+
branchName = attachment.kbBranch;
|
|
32
28
|
if (usesEngine) {
|
|
33
29
|
engine = new EngineClient({
|
|
34
30
|
workspaceRoot: process.cwd(),
|
|
@@ -42,9 +38,8 @@ export async function withAttachedBranchProlog(callback, deps) {
|
|
|
42
38
|
prolog = createProlog({ timeout: 120000 });
|
|
43
39
|
await prolog.start();
|
|
44
40
|
}
|
|
45
|
-
await prolog.query("set_prolog_flag(answer_write_options, [max_depth(0), spacing(next_argument)])");
|
|
46
41
|
if (!usesEngine) {
|
|
47
|
-
const kbPath =
|
|
42
|
+
const kbPath = attachment.storePath;
|
|
48
43
|
const attachResult = await prolog.query(`kb_attach('${escapeAtom(kbPath)}')`);
|
|
49
44
|
if (!attachResult.success) {
|
|
50
45
|
throw new Error(`Failed to attach KB: ${attachResult.error || "Unknown error"}`);
|
|
@@ -65,14 +60,10 @@ export async function withAttachedBranchProlog(callback, deps) {
|
|
|
65
60
|
// implements REQ-003
|
|
66
61
|
// implements REQ-003
|
|
67
62
|
export async function resolveCurrentKbPath() {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
catch {
|
|
73
|
-
branch = getBranchOverride() || "main";
|
|
74
|
-
}
|
|
75
|
-
return path.join(process.cwd(), ".kb/branches", branch);
|
|
63
|
+
const attachment = resolveBranchAttachment(process.cwd());
|
|
64
|
+
if ("error" in attachment)
|
|
65
|
+
throw new Error(attachment.error);
|
|
66
|
+
return attachment.storePath;
|
|
76
67
|
}
|
|
77
68
|
// implements REQ-003
|
|
78
69
|
export function resolveCoreModulePath(fileName, deps) {
|
|
@@ -1,4 +1,29 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface DoctorOptions {
|
|
2
|
+
format?: "json" | "table";
|
|
3
|
+
}
|
|
4
|
+
export declare function doctorCommand(options?: DoctorOptions): Promise<{
|
|
2
5
|
exitCode: number;
|
|
3
6
|
}>;
|
|
7
|
+
export declare function detectExecuteApplyPlanExport(load?: () => Promise<{
|
|
8
|
+
executeApplyPlan?: unknown;
|
|
9
|
+
}>): Promise<boolean>;
|
|
10
|
+
export declare function packageMigrationActions(runtime: Readonly<Record<string, unknown>>): Promise<Readonly<{
|
|
11
|
+
id: string;
|
|
12
|
+
code: string;
|
|
13
|
+
category: "package" | "branch" | "storage" | "schema" | "freshness" | "relationship" | "symbol" | "semantic" | "proof" | "quality";
|
|
14
|
+
state: import("../public/operations/migration-plan.js").MigrationActionState;
|
|
15
|
+
safety: import("../public/operations/migration-plan.js").MigrationSafety;
|
|
16
|
+
invocation: import("../public/operations/migration-plan.js").MigrationInvocation;
|
|
17
|
+
affectedEntityIds: readonly string[];
|
|
18
|
+
affectedFiles: readonly string[];
|
|
19
|
+
dependsOn: readonly string[];
|
|
20
|
+
preconditions: readonly Readonly<Record<string, unknown>>[];
|
|
21
|
+
postconditions: readonly Readonly<Record<string, unknown>>[];
|
|
22
|
+
evidence: Readonly<Record<string, unknown>>;
|
|
23
|
+
autoApplicable: boolean;
|
|
24
|
+
dispositionRequired: boolean;
|
|
25
|
+
allowedDispositions: readonly import("../public/operations/migration-plan.js").MigrationDisposition[];
|
|
26
|
+
}>[]>;
|
|
27
|
+
export declare function nextAncestorDirectory(current: string): string | undefined;
|
|
28
|
+
export declare function nearestNamedPackageManifest(startDir: string, name: string): string | undefined;
|
|
4
29
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,aAAa,CACjC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiF/B;AAED,wBAAsB,4BAA4B,CAChD,IAAI,GAAE,MAAM,OAAO,CAAC;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CACT,GACxC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;MAkE3C;AAkGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGzE;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAepB"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -17,9 +17,14 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { execSync } from "node:child_process";
|
|
19
19
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
20
|
+
import { createRequire } from "node:module";
|
|
20
21
|
import * as path from "node:path";
|
|
22
|
+
import { fileURLToPath } from "node:url";
|
|
23
|
+
import { buildMigrationPlan, migrationAction, } from "../public/operations/migration-plan.js";
|
|
24
|
+
import { readKbManifestStatus } from "../utils/kb-manifest.js";
|
|
25
|
+
import { planLegacyStorageMigration } from "./legacy-storage-migration.js";
|
|
21
26
|
// implements REQ-003
|
|
22
|
-
export async function doctorCommand() {
|
|
27
|
+
export async function doctorCommand(options = {}) {
|
|
23
28
|
const checks = [
|
|
24
29
|
{
|
|
25
30
|
name: "SWI-Prolog",
|
|
@@ -30,8 +35,12 @@ export async function doctorCommand() {
|
|
|
30
35
|
check: checkKbDirectory,
|
|
31
36
|
},
|
|
32
37
|
{
|
|
33
|
-
name: "
|
|
34
|
-
check:
|
|
38
|
+
name: ".kb/ manifest",
|
|
39
|
+
check: checkKbManifest,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "Canonical storage",
|
|
43
|
+
check: checkLegacyStorage,
|
|
35
44
|
},
|
|
36
45
|
{
|
|
37
46
|
name: "Git repository",
|
|
@@ -50,18 +59,35 @@ export async function doctorCommand() {
|
|
|
50
59
|
check: checkPostRewriteHook,
|
|
51
60
|
},
|
|
52
61
|
];
|
|
62
|
+
const results = checks.map(({ name, check }) => ({ name, ...check() }));
|
|
63
|
+
const allPassed = results.every((result) => result.passed);
|
|
64
|
+
const runtime = await runtimeProvenance();
|
|
65
|
+
const packageActions = await packageMigrationActions(runtime);
|
|
66
|
+
const migrationPlan = buildMigrationPlan({
|
|
67
|
+
expected: {
|
|
68
|
+
branch: null,
|
|
69
|
+
kbBranch: null,
|
|
70
|
+
configHash: null,
|
|
71
|
+
},
|
|
72
|
+
evaluatedDomains: ["package"],
|
|
73
|
+
actions: packageActions,
|
|
74
|
+
});
|
|
75
|
+
if (options.format === "json") {
|
|
76
|
+
console.log(JSON.stringify({
|
|
77
|
+
version: "kibi.doctor.v1",
|
|
78
|
+
passed: allPassed,
|
|
79
|
+
runtime,
|
|
80
|
+
checks: results,
|
|
81
|
+
migrationPlan,
|
|
82
|
+
}, null, 2));
|
|
83
|
+
return { exitCode: allPassed ? 0 : 1 };
|
|
84
|
+
}
|
|
53
85
|
console.log("Kibi Environment Diagnostics\n");
|
|
54
|
-
|
|
55
|
-
for (const { name, check } of checks) {
|
|
56
|
-
const result = check();
|
|
86
|
+
for (const result of results) {
|
|
57
87
|
const status = result.passed ? "✓" : "✗";
|
|
58
|
-
console.log(`${status} ${name}: ${result.message}`);
|
|
59
|
-
if (!result.passed)
|
|
60
|
-
|
|
61
|
-
if (result.remediation) {
|
|
62
|
-
console.log(` → ${result.remediation}`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
88
|
+
console.log(`${status} ${result.name}: ${result.message}`);
|
|
89
|
+
if (!result.passed && result.remediation)
|
|
90
|
+
console.log(` → ${result.remediation}`);
|
|
65
91
|
}
|
|
66
92
|
console.log();
|
|
67
93
|
if (allPassed) {
|
|
@@ -71,6 +97,198 @@ export async function doctorCommand() {
|
|
|
71
97
|
console.log("Some checks failed. Please address the issues above.");
|
|
72
98
|
return { exitCode: 1 };
|
|
73
99
|
}
|
|
100
|
+
export async function detectExecuteApplyPlanExport(load = () => import("../public/operations/index.js")) {
|
|
101
|
+
try {
|
|
102
|
+
const operations = await load();
|
|
103
|
+
return typeof operations.executeApplyPlan === "function";
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export async function packageMigrationActions(runtime) {
|
|
110
|
+
const actions = [];
|
|
111
|
+
const versions = ["cliVersion", "coreVersion", "mcpVersion"].filter((key) => runtime[key] === "unresolved" || runtime[key] === "unknown");
|
|
112
|
+
if (versions.length > 0) {
|
|
113
|
+
actions.push(migrationAction({
|
|
114
|
+
id: "package-provenance-unresolved",
|
|
115
|
+
code: "package_provenance_unresolved",
|
|
116
|
+
category: "package",
|
|
117
|
+
safety: "operator",
|
|
118
|
+
invocation: {
|
|
119
|
+
kind: "review",
|
|
120
|
+
instruction: "Install one coordinated Kibi artifact set and rerun kibi doctor; Kibi never selects a package manager or rewrites dependency configuration.",
|
|
121
|
+
},
|
|
122
|
+
evidence: { unresolvedVersions: versions },
|
|
123
|
+
dispositionRequired: true,
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
const cliVersion = typeof runtime.cliVersion === "string" ? runtime.cliVersion : "unknown";
|
|
127
|
+
const mcpCliRange = typeof runtime.mcpCliRange === "string" ? runtime.mcpCliRange : "unknown";
|
|
128
|
+
if (cliVersion !== "unknown" &&
|
|
129
|
+
mcpCliRange !== "unknown" &&
|
|
130
|
+
!satisfiesCaretRange(cliVersion, mcpCliRange)) {
|
|
131
|
+
actions.push(migrationAction({
|
|
132
|
+
id: "package-mcp-cli-range-mismatch",
|
|
133
|
+
code: "package_dependency_range_mismatch",
|
|
134
|
+
category: "package",
|
|
135
|
+
safety: "operator",
|
|
136
|
+
invocation: {
|
|
137
|
+
kind: "review",
|
|
138
|
+
instruction: "Install a newly versioned coordinated Kibi package set whose MCP CLI dependency range includes the installed CLI; project-local overrides are temporary and Kibi never edits dependency configuration.",
|
|
139
|
+
},
|
|
140
|
+
evidence: { cliVersion, mcpCliRange },
|
|
141
|
+
dispositionRequired: true,
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
if (runtime.executeApplyPlanExported === false) {
|
|
145
|
+
actions.push(migrationAction({
|
|
146
|
+
id: "package-cli-export-surface-drift",
|
|
147
|
+
code: "package_export_surface_drift",
|
|
148
|
+
category: "package",
|
|
149
|
+
safety: "operator",
|
|
150
|
+
invocation: {
|
|
151
|
+
kind: "review",
|
|
152
|
+
instruction: "Treat same-version artifacts with different exports as a release defect: obtain a newly versioned CLI/MCP pair and do not downgrade receipts or hand-edit package metadata.",
|
|
153
|
+
},
|
|
154
|
+
evidence: { executeApplyPlanExported: false },
|
|
155
|
+
dispositionRequired: true,
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
return actions;
|
|
159
|
+
}
|
|
160
|
+
function satisfiesCaretRange(version, range) {
|
|
161
|
+
const match = range.trim().match(/^\^(\d+)\.(\d+)\.(\d+)/);
|
|
162
|
+
if (!match)
|
|
163
|
+
return true;
|
|
164
|
+
const major = Number(match[1]);
|
|
165
|
+
const minor = Number(match[2]);
|
|
166
|
+
const patch = Number(match[3]);
|
|
167
|
+
const actual = version.match(/^(\d+)\.(\d+)\.(\d+)/);
|
|
168
|
+
if (!actual)
|
|
169
|
+
return false;
|
|
170
|
+
const aMajor = Number(actual[1]);
|
|
171
|
+
const aMinor = Number(actual[2]);
|
|
172
|
+
const aPatch = Number(actual[3]);
|
|
173
|
+
return (aMajor === major &&
|
|
174
|
+
(aMinor > minor || (aMinor === minor && aPatch >= patch)));
|
|
175
|
+
}
|
|
176
|
+
async function runtimeProvenance() {
|
|
177
|
+
const packagePath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "package.json");
|
|
178
|
+
let cli = {};
|
|
179
|
+
try {
|
|
180
|
+
cli = JSON.parse(readFileSync(packagePath, "utf8"));
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
// Keep doctor JSON useful even from an unusual packed entrypoint.
|
|
184
|
+
}
|
|
185
|
+
const core = resolveInstalledPackageInfo("kibi-core");
|
|
186
|
+
const mcp = resolveInstalledPackageInfo("kibi-mcp");
|
|
187
|
+
const executeApplyPlanExported = await detectExecuteApplyPlanExport();
|
|
188
|
+
return {
|
|
189
|
+
cliVersion: typeof cli.version === "string" ? cli.version : "unknown",
|
|
190
|
+
coreVersion: core.version,
|
|
191
|
+
mcpVersion: mcp.version,
|
|
192
|
+
coreRange: cli.dependencies && typeof cli.dependencies === "object"
|
|
193
|
+
? (cli.dependencies["kibi-core"] ??
|
|
194
|
+
"unknown")
|
|
195
|
+
: "unknown",
|
|
196
|
+
mcpCliRange: mcp.dependencies?.["kibi-cli"] ?? "unknown",
|
|
197
|
+
executeApplyPlanExported,
|
|
198
|
+
entrypoint: process.argv[1] ?? "unknown",
|
|
199
|
+
packageVersions: process.env.KIBI_PACKAGE_VERSIONS ?? "unknown",
|
|
200
|
+
locations: {
|
|
201
|
+
cli: packagePath,
|
|
202
|
+
cliEntrypoint: process.argv[1] ?? "unknown",
|
|
203
|
+
core: core.path,
|
|
204
|
+
coreEntrypoint: core.entrypoint,
|
|
205
|
+
mcp: mcp.path,
|
|
206
|
+
mcpEntrypoint: mcp.entrypoint,
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
function packageInfoFromManifest(manifestPath) {
|
|
211
|
+
let metadata;
|
|
212
|
+
try {
|
|
213
|
+
metadata = JSON.parse(readFileSync(manifestPath, "utf8"));
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
// Missing or unreadable manifest is not usable provenance.
|
|
217
|
+
return undefined;
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
version: typeof metadata.version === "string" ? metadata.version : "unknown",
|
|
221
|
+
path: manifestPath,
|
|
222
|
+
entrypoint: typeof metadata.main === "string"
|
|
223
|
+
? path.resolve(path.dirname(manifestPath), metadata.main)
|
|
224
|
+
: "unknown",
|
|
225
|
+
dependencies: metadata.dependencies && typeof metadata.dependencies === "object"
|
|
226
|
+
? metadata.dependencies
|
|
227
|
+
: undefined,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
export function nextAncestorDirectory(current) {
|
|
231
|
+
const parent = path.dirname(current);
|
|
232
|
+
return parent === current ? undefined : parent;
|
|
233
|
+
}
|
|
234
|
+
export function nearestNamedPackageManifest(startDir, name) {
|
|
235
|
+
let current = startDir;
|
|
236
|
+
while (current !== undefined) {
|
|
237
|
+
const candidate = path.join(current, "package.json");
|
|
238
|
+
try {
|
|
239
|
+
const metadata = JSON.parse(readFileSync(candidate, "utf8"));
|
|
240
|
+
if (metadata.name === name)
|
|
241
|
+
return candidate;
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
// Keep walking; an unrelated or absent manifest is not a match.
|
|
245
|
+
}
|
|
246
|
+
current = nextAncestorDirectory(current);
|
|
247
|
+
}
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
250
|
+
function resolveInstalledPackageInfo(name) {
|
|
251
|
+
const require = createRequire(import.meta.url);
|
|
252
|
+
// Preferred: direct manifest subpath. Works when the package exports
|
|
253
|
+
// "./package.json" or has no restrictive exports map at all.
|
|
254
|
+
try {
|
|
255
|
+
const info = packageInfoFromManifest(require.resolve(`${name}/package.json`));
|
|
256
|
+
if (info)
|
|
257
|
+
return info;
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
// Fall through to entrypoint-based resolution below.
|
|
261
|
+
}
|
|
262
|
+
// Fallback: a tight exports map may hide ./package.json while the package
|
|
263
|
+
// itself is installed and runnable. Resolve the entrypoint, then walk up to
|
|
264
|
+
// the nearest manifest that actually names the target package so doctor
|
|
265
|
+
// never reports a coordinated install as unresolved.
|
|
266
|
+
try {
|
|
267
|
+
const entrypoint = require.resolve(name);
|
|
268
|
+
const manifestPath = nearestNamedPackageManifest(path.dirname(entrypoint), name);
|
|
269
|
+
const info = manifestPath
|
|
270
|
+
? packageInfoFromManifest(manifestPath)
|
|
271
|
+
: undefined;
|
|
272
|
+
if (info)
|
|
273
|
+
return info;
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
// The package is genuinely absent from this install graph.
|
|
277
|
+
}
|
|
278
|
+
// Last resort: sibling workspace package inside the Kibi monorepo.
|
|
279
|
+
const local = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "..", name.replace(/^kibi-/, ""), "package.json");
|
|
280
|
+
if (existsSync(local)) {
|
|
281
|
+
const info = packageInfoFromManifest(local);
|
|
282
|
+
if (info)
|
|
283
|
+
return info;
|
|
284
|
+
}
|
|
285
|
+
return {
|
|
286
|
+
version: "unresolved",
|
|
287
|
+
path: "unresolved",
|
|
288
|
+
entrypoint: "unresolved",
|
|
289
|
+
dependencies: undefined,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
74
292
|
function checkSWIProlog() {
|
|
75
293
|
try {
|
|
76
294
|
const output = execSync("swipl --version", { encoding: "utf-8" });
|
|
@@ -125,30 +343,50 @@ function checkKbDirectory() {
|
|
|
125
343
|
message: "Found",
|
|
126
344
|
};
|
|
127
345
|
}
|
|
128
|
-
function
|
|
129
|
-
const
|
|
130
|
-
if (
|
|
346
|
+
function checkKbManifest() {
|
|
347
|
+
const status = readKbManifestStatus(process.cwd());
|
|
348
|
+
if (status.state === "missing") {
|
|
131
349
|
return {
|
|
132
350
|
passed: false,
|
|
133
351
|
message: "Not found",
|
|
134
352
|
remediation: "Run: kibi init",
|
|
135
353
|
};
|
|
136
354
|
}
|
|
137
|
-
|
|
138
|
-
const content = readFileSync(configPath, "utf-8");
|
|
139
|
-
JSON.parse(content);
|
|
355
|
+
if (status.state !== "ok") {
|
|
140
356
|
return {
|
|
141
|
-
passed:
|
|
142
|
-
message: "
|
|
357
|
+
passed: false,
|
|
358
|
+
message: status.state === "invalid" ? "Invalid manifest" : "Future version",
|
|
359
|
+
remediation: `Repair .kb/manifest.json: ${status.warning}`,
|
|
143
360
|
};
|
|
144
361
|
}
|
|
145
|
-
|
|
362
|
+
return {
|
|
363
|
+
passed: true,
|
|
364
|
+
message: `schemaVersion ${status.manifest.schemaVersion}`,
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
function checkLegacyStorage() {
|
|
368
|
+
const plan = planLegacyStorageMigration(process.cwd());
|
|
369
|
+
if (plan.legacyConfig === "malformed") {
|
|
370
|
+
return {
|
|
371
|
+
passed: false,
|
|
372
|
+
message: "Legacy .kb/config.json is malformed",
|
|
373
|
+
remediation: plan.legacyConfigError ??
|
|
374
|
+
"Repair or remove the legacy .kb/config.json, then run: kibi migrate --yes",
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
if (plan.legacyConfig === "present" || plan.moves.length > 0) {
|
|
146
378
|
return {
|
|
147
379
|
passed: false,
|
|
148
|
-
message:
|
|
149
|
-
|
|
380
|
+
message: plan.moves.length > 0
|
|
381
|
+
? `${plan.moves.length} legacy knowledge file(s) still outside .kb/`
|
|
382
|
+
: "Legacy .kb/config.json still present",
|
|
383
|
+
remediation: "Run: kibi migrate --yes",
|
|
150
384
|
};
|
|
151
385
|
}
|
|
386
|
+
return {
|
|
387
|
+
passed: true,
|
|
388
|
+
message: "Canonical .kb/ layout",
|
|
389
|
+
};
|
|
152
390
|
}
|
|
153
391
|
function checkGitRepository() {
|
|
154
392
|
try {
|
|
@@ -233,8 +471,13 @@ function checkPreCommitHook() {
|
|
|
233
471
|
const preCommitExecutable = (preCommitStats.mode & 0o111) !== 0;
|
|
234
472
|
// Read hook content to determine whether it's using the new staged check
|
|
235
473
|
const content = readFileSync(preCommitPath, "utf-8");
|
|
236
|
-
|
|
237
|
-
|
|
474
|
+
// Current templates resolve the kibi binary into KIBI_BIN before invoking
|
|
475
|
+
// it (git hooks do not get node_modules/.bin on PATH); legacy templates
|
|
476
|
+
// invoked bare `kibi`.
|
|
477
|
+
const resolvesKibi = content.includes("KIBI_BIN=");
|
|
478
|
+
const usesKibi = resolvesKibi || content.includes("kibi check");
|
|
479
|
+
const usesStaged = content.includes('"$KIBI_BIN" check --staged') ||
|
|
480
|
+
content.includes("kibi check --staged");
|
|
238
481
|
if (!usesKibi) {
|
|
239
482
|
// Fail if hook doesn't invoke kibi at all
|
|
240
483
|
return {
|
|
@@ -245,15 +488,24 @@ function checkPreCommitHook() {
|
|
|
245
488
|
}
|
|
246
489
|
if (preCommitExecutable) {
|
|
247
490
|
if (usesStaged) {
|
|
491
|
+
if (!resolvesKibi) {
|
|
492
|
+
// Functional template that invokes bare `kibi`: it fails whenever
|
|
493
|
+
// kibi is installed only as a project dependency.
|
|
494
|
+
return {
|
|
495
|
+
passed: true,
|
|
496
|
+
message: "Installed and executable (legacy template without kibi CLI resolution — run 'kibi init' to regenerate so hooks work with local installs)",
|
|
497
|
+
remediation: "Run: kibi init to update git hooks to the latest template",
|
|
498
|
+
};
|
|
499
|
+
}
|
|
248
500
|
return {
|
|
249
501
|
passed: true,
|
|
250
|
-
message: "Installed and executable (uses 'kibi check --staged')",
|
|
502
|
+
message: "Installed and executable (resolves kibi CLI; uses 'kibi check --staged')",
|
|
251
503
|
};
|
|
252
504
|
}
|
|
253
505
|
// Warn but pass if using legacy kibi check without --staged
|
|
254
506
|
return {
|
|
255
507
|
passed: true,
|
|
256
|
-
message: "Installed and executable (uses legacy 'kibi check' — consider running 'kibi init' to update hooks to use '--staged')",
|
|
508
|
+
message: "Installed and executable (uses legacy 'kibi check' — consider running 'kibi init' to update hooks to use '--staged' with CLI resolution)",
|
|
257
509
|
remediation: "Run: kibi init to update git hooks to the latest template",
|
|
258
510
|
};
|
|
259
511
|
}
|
|
@@ -294,9 +546,11 @@ function checkPostRewriteHook() {
|
|
|
294
546
|
try {
|
|
295
547
|
const postRewriteStats = statSync(postRewritePath);
|
|
296
548
|
const postRewriteExecutable = (postRewriteStats.mode & 0o111) !== 0;
|
|
297
|
-
// Read hook content to verify it invokes kibi
|
|
549
|
+
// Read hook content to verify it invokes kibi. Current templates invoke
|
|
550
|
+
// the resolved KIBI_BIN; legacy templates invoked bare `kibi sync`.
|
|
298
551
|
const content = readFileSync(postRewritePath, "utf-8");
|
|
299
|
-
const usesKibi = content.includes("kibi sync");
|
|
552
|
+
const usesKibi = content.includes('"$KIBI_BIN" sync') || content.includes("kibi sync");
|
|
553
|
+
const resolvesKibi = content.includes("KIBI_BIN=");
|
|
300
554
|
if (!usesKibi) {
|
|
301
555
|
return {
|
|
302
556
|
passed: false,
|
|
@@ -305,6 +559,13 @@ function checkPostRewriteHook() {
|
|
|
305
559
|
};
|
|
306
560
|
}
|
|
307
561
|
if (postRewriteExecutable) {
|
|
562
|
+
if (!resolvesKibi) {
|
|
563
|
+
return {
|
|
564
|
+
passed: true,
|
|
565
|
+
message: "Installed and executable (legacy template without kibi CLI resolution — run 'kibi init' to regenerate so hooks work with local installs)",
|
|
566
|
+
remediation: "Run: kibi init to update git hooks to the latest template",
|
|
567
|
+
};
|
|
568
|
+
}
|
|
308
569
|
return {
|
|
309
570
|
passed: true,
|
|
310
571
|
message: "Installed and executable",
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
export declare function engineStatusCommand(): Promise<void>;
|
|
2
2
|
export declare function engineStopCommand(): Promise<void>;
|
|
3
3
|
export declare function storageStatusCommand(): Promise<void>;
|
|
4
|
+
export interface EngineJanitorOptions {
|
|
5
|
+
readonly all?: boolean;
|
|
6
|
+
readonly apply?: boolean;
|
|
7
|
+
readonly format?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Classify and (optionally) clean stale engine daemons and branch-store
|
|
11
|
+
* locks: crashed engines leave ownership journals behind, worktree removals
|
|
12
|
+
* strand live daemons, dead daemons leave sockets. Report-only by default;
|
|
13
|
+
`--apply` executes the clean actions.
|
|
14
|
+
*/
|
|
15
|
+
export declare function engineJanitorCommand(options: EngineJanitorOptions): Promise<void>;
|
|
4
16
|
export declare function storageCompactCommand(): Promise<void>;
|
|
5
17
|
export declare function storageExportCommand(options: {
|
|
6
18
|
output: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/commands/engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/commands/engine.ts"],"names":[],"mappings":"AAkCA,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BzD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWvD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AAEH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB3D;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhB"}
|
package/dist/commands/engine.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { EngineClient } from "../engine.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveBranchAttachment } from "../utils/branch-resolver.js";
|
|
4
4
|
function currentBranch(root) {
|
|
5
|
-
const resolved =
|
|
5
|
+
const resolved = resolveBranchAttachment(root);
|
|
6
6
|
if ("error" in resolved) {
|
|
7
|
-
if (resolved.code === "NOT_A_GIT_REPO" ||
|
|
8
|
-
resolved.code === "GIT_NOT_AVAILABLE") {
|
|
9
|
-
return "main";
|
|
10
|
-
}
|
|
11
7
|
throw new Error(resolved.error);
|
|
12
8
|
}
|
|
13
|
-
return resolved.
|
|
9
|
+
return resolved.kbBranch;
|
|
14
10
|
}
|
|
15
11
|
function client() {
|
|
16
12
|
const workspaceRoot = path.resolve(process.env.KIBI_WORKSPACE ??
|
|
@@ -73,7 +69,54 @@ export async function engineStopCommand() {
|
|
|
73
69
|
export async function storageStatusCommand() {
|
|
74
70
|
await engineStatusCommand();
|
|
75
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Classify and (optionally) clean stale engine daemons and branch-store
|
|
74
|
+
* locks: crashed engines leave ownership journals behind, worktree removals
|
|
75
|
+
* strand live daemons, dead daemons leave sockets. Report-only by default;
|
|
76
|
+
`--apply` executes the clean actions.
|
|
77
|
+
*/
|
|
78
|
+
// implements REQ-core-journaled-engine-persistence
|
|
79
|
+
export async function engineJanitorCommand(options) {
|
|
80
|
+
const { runtimeDirectory } = await import("../engine.js");
|
|
81
|
+
const { runJanitor } = await import("../prolog/janitor.js");
|
|
82
|
+
const findings = runJanitor({
|
|
83
|
+
workspaceRoot: workspaceRoot(),
|
|
84
|
+
runtimeDirectory: runtimeDirectory(),
|
|
85
|
+
all: options.all === true,
|
|
86
|
+
apply: options.apply === true,
|
|
87
|
+
});
|
|
88
|
+
const cleanable = findings.filter((f) => f.action !== "keep").length;
|
|
89
|
+
const cleaned = options.apply === true ? cleanable : 0;
|
|
90
|
+
if (options.format === "json") {
|
|
91
|
+
console.log(JSON.stringify({ findings, cleaned, cleanable, total: findings.length }));
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (findings.length === 0) {
|
|
95
|
+
console.log("No engine or lock artifacts found.");
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
for (const finding of findings) {
|
|
99
|
+
const holder = "pid" in finding && finding.pid !== undefined ? ` pid=${finding.pid}` : "";
|
|
100
|
+
const workspace = finding.kind === "store-lock" && finding.workspaceRoot !== undefined
|
|
101
|
+
? ` workspace=${finding.workspaceRoot}`
|
|
102
|
+
: "";
|
|
103
|
+
const scope = finding.kind === "store-lock"
|
|
104
|
+
? `store ${finding.storePath}`
|
|
105
|
+
: `socket ${finding.socketPath}`;
|
|
106
|
+
console.log(`[${finding.action}] ${scope}${holder}${workspace} holder=${finding.holderState}`);
|
|
107
|
+
}
|
|
108
|
+
console.log(options.apply === true
|
|
109
|
+
? `${findings.length} finding(s), ${cleaned} cleaned`
|
|
110
|
+
: `${findings.length} finding(s), ${cleanable} cleanable (report only; re-run with --apply)`);
|
|
111
|
+
}
|
|
76
112
|
export async function storageCompactCommand() {
|
|
113
|
+
const root = workspaceRoot();
|
|
114
|
+
const attachment = resolveBranchAttachment(root);
|
|
115
|
+
if ("error" in attachment)
|
|
116
|
+
throw new Error(attachment.error);
|
|
117
|
+
if (attachment.migrationRequired) {
|
|
118
|
+
throw new Error(`Storage compaction blocked by legacy attachment (${attachment.gitBranch} -> ${attachment.kbBranch}); migrate the branch KB first.`);
|
|
119
|
+
}
|
|
77
120
|
const engine = client();
|
|
78
121
|
try {
|
|
79
122
|
const result = await engine.compact();
|
package/dist/commands/gc.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
type GcOptions = {
|
|
2
2
|
dryRun?: boolean;
|
|
3
3
|
force?: boolean;
|
|
4
|
-
|
|
4
|
+
purge?: boolean;
|
|
5
|
+
retentionDays?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function gcCommand(options?: GcOptions): Promise<void>;
|
|
5
8
|
export default gcCommand;
|
|
6
9
|
//# sourceMappingURL=gc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"AAWA,KAAK,SAAS,GAAG;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA0GF,wBAAsB,SAAS,CAAC,OAAO,GAAE,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFtE;AAED,eAAe,SAAS,CAAC"}
|