kibi-cli 0.19.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +20 -8
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +23 -8
- 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 +26 -4
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +10 -0
- package/dist/cli-register-verification.d.ts +3 -0
- package/dist/cli-register-verification.d.ts.map +1 -0
- package/dist/cli-register-verification.js +16 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -0
- 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 +36 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +371 -40
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +20 -67
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +10 -19
- package/dist/commands/doctor.d.ts +4 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +259 -24
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +10 -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 +56 -0
- package/dist/commands/github-init.d.ts.map +1 -0
- package/dist/commands/github-init.js +310 -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 +73 -25
- 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 +7 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +244 -91
- 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 +23 -2
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +196 -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 +8 -5
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +142 -39
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +3 -0
- package/dist/commands/sync.d.ts +6 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +304 -79
- package/dist/commands/verify.d.ts +10 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +126 -0
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/engine.d.ts +96 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +392 -23
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +5 -6
- package/dist/extractors/manifest.d.ts +8 -1
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +51 -9
- package/dist/extractors/markdown.d.ts +2 -1
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +21 -3
- 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.map +1 -1
- package/dist/extractors/relationships.js +1 -0
- 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/intent-search.d.ts +60 -0
- package/dist/intent-search.d.ts.map +1 -0
- package/dist/intent-search.js +433 -0
- package/dist/operations/bootstrap/activation.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/activation.js +48 -31
- 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 +8 -0
- package/dist/operations/bootstrap/generate.d.ts.map +1 -0
- package/dist/operations/bootstrap/generate.js +204 -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 +2 -2
- package/dist/operations/{autopilot → bootstrap}/guidance.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/guidance.js +2 -0
- 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.map +1 -1
- package/dist/operations/modeling/model-requirement.js +4 -17
- 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 +276 -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-4.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-4.js +155 -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.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +7 -0
- 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 +156 -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 +34 -0
- 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-utils.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-utils.js +2 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +1 -1
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +170 -32
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +415 -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 +10 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +71 -1
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +1 -0
- package/dist/operations/mutation/source-authoring.d.ts +61 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
- package/dist/operations/mutation/source-authoring.js +543 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts +51 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-compiler-lock.js +274 -0
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +34 -3
- package/dist/operations/mutation/symbol-refresh.d.ts +18 -1
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +225 -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.map +1 -1
- package/dist/operations/mutation/upsert.js +363 -24
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +1 -0
- package/dist/operations/planning/apply-plan.d.ts +117 -0
- package/dist/operations/planning/apply-plan.d.ts.map +1 -0
- package/dist/operations/planning/apply-plan.js +1437 -0
- package/dist/operations/planning/compile-intent.d.ts +106 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -0
- package/dist/operations/planning/compile-intent.js +562 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +6 -2
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +15 -2
- 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/types.d.ts +13 -5
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/operations/verification/ingest-verification.d.ts +29 -0
- package/dist/operations/verification/ingest-verification.d.ts.map +1 -0
- package/dist/operations/verification/ingest-verification.js +192 -0
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +2 -1
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +27 -8
- 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 +69 -1
- package/dist/public/distribution-parity.d.ts +1 -1
- package/dist/public/distribution-parity.d.ts.map +1 -1
- package/dist/public/distribution-parity.js +1 -0
- 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 +6 -1
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +21 -3
- package/dist/public/impact/full-kb-quality.d.ts +4 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +61 -1
- 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 +682 -67
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +126 -4
- 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 +72 -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 +11 -0
- package/dist/public/operations/contracts.d.ts.map +1 -0
- package/dist/public/operations/contracts.js +325 -0
- package/dist/public/operations/discovery-executors.d.ts +37 -1
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +206 -6
- 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 +101 -0
- package/dist/public/operations/migration-plan.d.ts.map +1 -0
- package/dist/public/operations/migration-plan.js +537 -0
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +68 -8
- 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.map +1 -1
- package/dist/public/operations/repair-plan.js +1 -0
- package/dist/public/operations/result-envelope.d.ts +13 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -0
- package/dist/public/operations/result-envelope.js +104 -0
- package/dist/public/operations/runtime-types.d.ts +97 -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.d.ts +4 -4
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +4 -3
- 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 +190 -47
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +3 -1
- 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 +270 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -0
- package/dist/public/operations/specs/planning.js +191 -0
- package/dist/public/operations/specs/reporting.d.ts +4 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +46 -1
- package/dist/public/operations/specs/upsert.d.ts +204 -47
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/specs/upsert.js +9 -0
- package/dist/public/operations/specs/verification.d.ts +78 -0
- package/dist/public/operations/specs/verification.d.ts.map +1 -0
- package/dist/public/operations/specs/verification.js +62 -0
- package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
- package/dist/public/operations/symbol-repair-plan.js +123 -0
- package/dist/public/operations/types.d.ts +52 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/playwright-case-id.d.ts +8 -0
- package/dist/public/playwright-case-id.d.ts.map +1 -0
- package/dist/public/playwright-case-id.js +25 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +4 -2
- 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 +115 -239
- 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/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 +56 -3
- package/dist/public/symbol-granularity.d.ts +1 -1
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.js +1 -0
- package/dist/public/telemetry-acceptance.d.ts +7 -0
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +8 -1
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/public/verification-receipt.d.ts +206 -39
- package/dist/public/verification-receipt.d.ts.map +1 -1
- package/dist/public/verification-receipt.js +171 -4
- 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.d.ts +19 -0
- package/dist/report/html-report.d.ts.map +1 -0
- package/dist/report/html-report.js +963 -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.map +1 -1
- package/dist/runtime/cli-runtime.js +82 -22
- package/dist/schemas/entity.schema.json +1148 -273
- package/dist/traceability/evidence-model.d.ts +2 -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.map +1 -1
- package/dist/traceability/git-staged.js +15 -40
- package/dist/traceability/markdown-validate.d.ts.map +1 -1
- package/dist/traceability/markdown-validate.js +12 -7
- 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 +10 -38
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +8 -3
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +3 -0
- package/dist/types/entities.d.ts +3 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +24 -10
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +121 -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 +15 -0
- package/dist/utils/branch-store.d.ts.map +1 -0
- package/dist/utils/branch-store.js +130 -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 +48 -20
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.js +82 -77
- 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 +0 -4
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +7 -8
- package/dist/verification/playwright-reporter.d.ts +21 -0
- package/dist/verification/playwright-reporter.d.ts.map +1 -0
- package/dist/verification/playwright-reporter.js +114 -0
- package/package.json +46 -7
- 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 +79 -1
- package/src/public/distribution-parity.ts +1 -0
- package/src/public/ignore-policy.ts +16 -10
- package/src/public/impact/coverage-depth-quality.ts +36 -0
- package/src/public/impact/full-kb-quality.ts +118 -5
- package/src/public/impact/manifest.ts +2 -4
- package/src/public/operational-artifacts.ts +9 -1
- package/src/public/operations/catalog.ts +146 -9
- package/src/public/operations/check-executor.ts +102 -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 +366 -0
- package/src/public/operations/discovery-executors.ts +299 -12
- package/src/public/operations/index.ts +9 -4
- package/src/public/operations/migration-plan.ts +740 -0
- package/src/public/operations/node-ports.ts +84 -10
- package/src/public/operations/prolog-json.ts +60 -5
- package/src/public/operations/repair-plan.ts +1 -0
- package/src/public/operations/result-envelope.ts +136 -0
- package/src/public/operations/runtime-types.ts +91 -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.ts +4 -3
- 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 +6 -1
- package/src/public/operations/specs/mutation.ts +27 -2
- package/src/public/operations/specs/planning.ts +234 -0
- package/src/public/operations/specs/reporting.ts +55 -1
- package/src/public/operations/specs/upsert.ts +10 -0
- package/src/public/operations/specs/verification.ts +78 -0
- package/src/public/operations/symbol-repair-plan.ts +164 -0
- package/src/public/operations/types.ts +62 -1
- package/src/public/playwright-case-id.ts +35 -0
- package/src/public/schemas/entity.ts +7 -2
- 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 +115 -239
- 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/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 +56 -3
- package/src/public/symbol-granularity.ts +1 -0
- package/src/public/telemetry-acceptance.ts +16 -1
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/public/verification-receipt.ts +248 -6
- package/src/schemas/entity.schema.json +1148 -273
- package/templates/github/kibi-badge.yml +86 -0
- package/templates/github/kibi-report.yml +84 -0
- 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/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/src/public/skills/init-kibi/SKILL.md +0 -62
- /package/dist/operations/{autopilot → bootstrap}/activation.d.ts +0 -0
- /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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relative-time.d.ts","sourceRoot":"","sources":["../../src/report/relative-time.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAK/D;AAGD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAOpD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBvE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const MINUTE_SECONDS = 60;
|
|
2
|
+
const HOUR_SECONDS = 3_600;
|
|
3
|
+
const DAY_SECONDS = 86_400;
|
|
4
|
+
// implements REQ-kibi-html-health-report
|
|
5
|
+
export function parseTimestamp(value) {
|
|
6
|
+
if (value instanceof Date && !Number.isNaN(value.getTime()))
|
|
7
|
+
return value;
|
|
8
|
+
if (typeof value !== "string" || value.trim() === "")
|
|
9
|
+
return undefined;
|
|
10
|
+
const parsed = Date.parse(value);
|
|
11
|
+
return Number.isFinite(parsed) ? new Date(parsed) : undefined;
|
|
12
|
+
}
|
|
13
|
+
// implements REQ-kibi-html-health-report
|
|
14
|
+
export function formatAbsoluteUtc(date) {
|
|
15
|
+
const year = date.getUTCFullYear().toString().padStart(4, "0");
|
|
16
|
+
const month = (date.getUTCMonth() + 1).toString().padStart(2, "0");
|
|
17
|
+
const day = date.getUTCDate().toString().padStart(2, "0");
|
|
18
|
+
const hours = date.getUTCHours().toString().padStart(2, "0");
|
|
19
|
+
const minutes = date.getUTCMinutes().toString().padStart(2, "0");
|
|
20
|
+
return `${year}-${month}-${day} ${hours}:${minutes} UTC`;
|
|
21
|
+
}
|
|
22
|
+
export function formatRelativeAge(fromMs, nowMs) {
|
|
23
|
+
if (!Number.isFinite(fromMs) || !Number.isFinite(nowMs)) {
|
|
24
|
+
return "timestamp unavailable";
|
|
25
|
+
}
|
|
26
|
+
const deltaSeconds = Math.floor((nowMs - fromMs) / 1000);
|
|
27
|
+
if (deltaSeconds < 0)
|
|
28
|
+
return "in the future";
|
|
29
|
+
if (deltaSeconds < MINUTE_SECONDS)
|
|
30
|
+
return "just now";
|
|
31
|
+
const minutes = Math.floor(deltaSeconds / MINUTE_SECONDS);
|
|
32
|
+
if (minutes < 60)
|
|
33
|
+
return `${minutes}m ago`;
|
|
34
|
+
const hours = Math.floor(deltaSeconds / HOUR_SECONDS);
|
|
35
|
+
const remainingMinutes = minutes % 60;
|
|
36
|
+
if (hours < 24) {
|
|
37
|
+
return remainingMinutes === 0
|
|
38
|
+
? `${hours}h ago`
|
|
39
|
+
: `${hours}h ${remainingMinutes}m ago`;
|
|
40
|
+
}
|
|
41
|
+
const days = Math.floor(deltaSeconds / DAY_SECONDS);
|
|
42
|
+
const remainingHours = hours % 24;
|
|
43
|
+
if (days < 7 && remainingHours > 0)
|
|
44
|
+
return `${days}d ${remainingHours}h ago`;
|
|
45
|
+
return `${days}d ago`;
|
|
46
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const REPORT_FILTERS: readonly ["all", "proven", "attention", "stale", "contradiction"];
|
|
2
|
+
export type ReportFilter = (typeof REPORT_FILTERS)[number];
|
|
3
|
+
export declare const PROOF_GATE_KEYS: readonly ["semantic", "scenario", "implementation", "e2e", "evidence"];
|
|
4
|
+
export type ProofGateKey = (typeof PROOF_GATE_KEYS)[number];
|
|
5
|
+
export type RequirementView = Readonly<{
|
|
6
|
+
text: string;
|
|
7
|
+
states: readonly string[];
|
|
8
|
+
earliestGate: ProofGateKey | "proven";
|
|
9
|
+
}>;
|
|
10
|
+
export type ReportViewQuery = Readonly<{
|
|
11
|
+
query: string;
|
|
12
|
+
filter: ReportFilter;
|
|
13
|
+
gate: ProofGateKey | "all";
|
|
14
|
+
}>;
|
|
15
|
+
export declare function matchesReportView(row: RequirementView, view: ReportViewQuery): boolean;
|
|
16
|
+
export declare function reportFilterCounts(rows: readonly RequirementView[]): Readonly<Record<ReportFilter, number>>;
|
|
17
|
+
//# sourceMappingURL=report-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-view.d.ts","sourceRoot":"","sources":["../../src/report/report-view.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,mEAMjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe,wEAMlB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,YAAY,GAAG,QAAQ,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC;CAC5B,CAAC,CAAC;AAGH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAQT;AAGD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,eAAe,EAAE,GAC/B,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CASxC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const REPORT_FILTERS = [
|
|
2
|
+
"all",
|
|
3
|
+
"proven",
|
|
4
|
+
"attention",
|
|
5
|
+
"stale",
|
|
6
|
+
"contradiction",
|
|
7
|
+
];
|
|
8
|
+
export const PROOF_GATE_KEYS = [
|
|
9
|
+
"semantic",
|
|
10
|
+
"scenario",
|
|
11
|
+
"implementation",
|
|
12
|
+
"e2e",
|
|
13
|
+
"evidence",
|
|
14
|
+
];
|
|
15
|
+
// implements REQ-kibi-html-health-report
|
|
16
|
+
export function matchesReportView(row, view) {
|
|
17
|
+
const query = view.query.trim().toLocaleLowerCase();
|
|
18
|
+
const matchesFilter = view.filter === "all" || row.states.includes(view.filter);
|
|
19
|
+
const matchesGate = view.gate === "all" || row.earliestGate === view.gate;
|
|
20
|
+
const matchesQuery = query.length === 0 || row.text.toLocaleLowerCase().includes(query);
|
|
21
|
+
return matchesFilter && matchesGate && matchesQuery;
|
|
22
|
+
}
|
|
23
|
+
// implements REQ-kibi-html-health-report
|
|
24
|
+
export function reportFilterCounts(rows) {
|
|
25
|
+
return {
|
|
26
|
+
all: rows.length,
|
|
27
|
+
proven: rows.filter((row) => row.states.includes("proven")).length,
|
|
28
|
+
attention: rows.filter((row) => row.states.includes("attention")).length,
|
|
29
|
+
stale: rows.filter((row) => row.states.includes("stale")).length,
|
|
30
|
+
contradiction: rows.filter((row) => row.states.includes("contradiction"))
|
|
31
|
+
.length,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type ReportGitRemote = Readonly<{
|
|
2
|
+
name: string;
|
|
3
|
+
url: string;
|
|
4
|
+
}>;
|
|
5
|
+
export type ReportRepositoryProvider = "github" | "gitlab" | "unknown";
|
|
6
|
+
export type ReportRepository = Readonly<{
|
|
7
|
+
identity?: string;
|
|
8
|
+
webUrl?: string;
|
|
9
|
+
provider?: ReportRepositoryProvider;
|
|
10
|
+
commitSha?: string;
|
|
11
|
+
branch?: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type SourceCoordinate = Readonly<{
|
|
14
|
+
id?: string;
|
|
15
|
+
path?: string;
|
|
16
|
+
line?: number;
|
|
17
|
+
column?: number;
|
|
18
|
+
endLine?: number;
|
|
19
|
+
endColumn?: number;
|
|
20
|
+
}>;
|
|
21
|
+
export declare function parseGitRemote(url: string): Readonly<{
|
|
22
|
+
identity: string;
|
|
23
|
+
webUrl: string;
|
|
24
|
+
provider: ReportRepositoryProvider;
|
|
25
|
+
}> | undefined;
|
|
26
|
+
export declare function resolveReportRepository(input: {
|
|
27
|
+
remotes?: readonly ReportGitRemote[];
|
|
28
|
+
commitSha?: string;
|
|
29
|
+
branch?: string;
|
|
30
|
+
}): ReportRepository;
|
|
31
|
+
export declare function shortCommitSha(sha: string | undefined): string | undefined;
|
|
32
|
+
export declare function commitWebUrl(repository: ReportRepository | undefined): string | undefined;
|
|
33
|
+
export declare function sourceWebUrl(repository: ReportRepository | undefined, coordinate: SourceCoordinate | undefined): string | undefined;
|
|
34
|
+
export declare function formatSourceCoordinate(coordinate: SourceCoordinate | undefined): string | undefined;
|
|
35
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/report/repository.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAWH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GACtC,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,wBAAwB,CAAC;CACpC,CAAC,GACF,SAAS,CAkEZ;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,gBAAgB,CAqBnB;AAGD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI1E;AAuBD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,MAAM,GAAG,SAAS,CASpB;AAGD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,MAAM,GAAG,SAAS,CAkBpB;AAGD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,MAAM,GAAG,SAAS,CAYpB"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
function firstCapture(match, index) {
|
|
2
|
+
return match?.[index]?.trim() ?? "";
|
|
3
|
+
}
|
|
4
|
+
function stripGitSuffix(value) {
|
|
5
|
+
return value.replace(/\.git$/i, "").replace(/\/+$/, "");
|
|
6
|
+
}
|
|
7
|
+
// implements REQ-kibi-html-health-report
|
|
8
|
+
export function parseGitRemote(url) {
|
|
9
|
+
const trimmed = url.trim();
|
|
10
|
+
if (trimmed.length === 0)
|
|
11
|
+
return undefined;
|
|
12
|
+
const github = trimmed.match(/^(?:https?:\/\/(?:www\.)?|git@|ssh:\/\/(?:git@)?|git:\/\/)github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?\/?$/i);
|
|
13
|
+
if (github) {
|
|
14
|
+
const owner = firstCapture(github, 1);
|
|
15
|
+
const repo = stripGitSuffix(firstCapture(github, 2));
|
|
16
|
+
if (!owner || !repo || owner.includes(":") || repo.includes(" ")) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
identity: `${owner}/${repo}`,
|
|
21
|
+
webUrl: `https://github.com/${owner}/${repo}`,
|
|
22
|
+
provider: "github",
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const gitlabHttps = trimmed.match(/^https?:\/\/(?:www\.)?(gitlab\.com)\/(.+?)(?:\.git)?\/?$/i);
|
|
26
|
+
const gitlabSsh = trimmed.match(/^(?:git@|ssh:\/\/(?:git@)?)(gitlab\.com)[:/](.+?)(?:\.git)?\/?$/i);
|
|
27
|
+
const gitlab = gitlabHttps ?? gitlabSsh;
|
|
28
|
+
if (gitlab) {
|
|
29
|
+
const identity = stripGitSuffix(firstCapture(gitlab, 2));
|
|
30
|
+
if (!identity || identity.includes(" "))
|
|
31
|
+
return undefined;
|
|
32
|
+
return {
|
|
33
|
+
identity,
|
|
34
|
+
webUrl: `https://gitlab.com/${identity}`,
|
|
35
|
+
provider: "gitlab",
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const genericHttps = trimmed.match(/^https?:\/\/([^/]+)\/(.+?)(?:\.git)?\/?$/i);
|
|
39
|
+
if (genericHttps) {
|
|
40
|
+
const host = firstCapture(genericHttps, 1).toLowerCase();
|
|
41
|
+
const identity = stripGitSuffix(firstCapture(genericHttps, 2));
|
|
42
|
+
if (!host || !identity || identity.includes(" "))
|
|
43
|
+
return undefined;
|
|
44
|
+
return {
|
|
45
|
+
identity,
|
|
46
|
+
webUrl: `https://${host}/${identity}`,
|
|
47
|
+
provider: "unknown",
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const genericSsh = trimmed.match(/^(?:git@|ssh:\/\/(?:git@)?)([^:/]+)[:/](.+?)(?:\.git)?\/?$/i);
|
|
51
|
+
if (genericSsh) {
|
|
52
|
+
const host = firstCapture(genericSsh, 1).toLowerCase();
|
|
53
|
+
const identity = stripGitSuffix(firstCapture(genericSsh, 2));
|
|
54
|
+
if (!host || !identity || identity.includes(" "))
|
|
55
|
+
return undefined;
|
|
56
|
+
return {
|
|
57
|
+
identity,
|
|
58
|
+
webUrl: `https://${host}/${identity}`,
|
|
59
|
+
provider: "unknown",
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
export function resolveReportRepository(input) {
|
|
65
|
+
const remotes = input.remotes ?? [];
|
|
66
|
+
const parsed = remotes
|
|
67
|
+
.map((remote) => ({ remote, repo: parseGitRemote(remote.url) }))
|
|
68
|
+
.filter((entry) => entry.repo !== undefined);
|
|
69
|
+
const origin = parsed.find((entry) => entry.remote.name === "origin");
|
|
70
|
+
const selected = origin?.repo ?? parsed[0]?.repo;
|
|
71
|
+
const commitSha = input.commitSha?.trim() || undefined;
|
|
72
|
+
const branch = input.branch?.trim() || undefined;
|
|
73
|
+
return {
|
|
74
|
+
...(selected ?? {}),
|
|
75
|
+
...(commitSha ? { commitSha } : {}),
|
|
76
|
+
...(branch ? { branch } : {}),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// implements REQ-kibi-html-health-report
|
|
80
|
+
export function shortCommitSha(sha) {
|
|
81
|
+
const value = sha?.trim();
|
|
82
|
+
if (!value)
|
|
83
|
+
return undefined;
|
|
84
|
+
return value.length > 12 ? value.slice(0, 12) : value;
|
|
85
|
+
}
|
|
86
|
+
function encodePath(path) {
|
|
87
|
+
return path
|
|
88
|
+
.split("/")
|
|
89
|
+
.filter((segment) => segment.length > 0)
|
|
90
|
+
.map((segment) => encodeURIComponent(segment))
|
|
91
|
+
.join("/");
|
|
92
|
+
}
|
|
93
|
+
function lineFragment(coordinate) {
|
|
94
|
+
const start = coordinate.line;
|
|
95
|
+
if (typeof start !== "number" || !Number.isInteger(start) || start < 1) {
|
|
96
|
+
return "";
|
|
97
|
+
}
|
|
98
|
+
const end = coordinate.endLine;
|
|
99
|
+
if (typeof end === "number" && Number.isInteger(end) && end > start) {
|
|
100
|
+
return `#L${start}-L${end}`;
|
|
101
|
+
}
|
|
102
|
+
return `#L${start}`;
|
|
103
|
+
}
|
|
104
|
+
// implements REQ-kibi-html-health-report
|
|
105
|
+
export function commitWebUrl(repository) {
|
|
106
|
+
const webUrl = repository?.webUrl?.replace(/\/+$/, "");
|
|
107
|
+
const sha = repository?.commitSha?.trim();
|
|
108
|
+
if (!repository || !webUrl || !sha)
|
|
109
|
+
return undefined;
|
|
110
|
+
if (repository.provider === "github")
|
|
111
|
+
return `${webUrl}/commit/${encodeURIComponent(sha)}`;
|
|
112
|
+
if (repository.provider === "gitlab")
|
|
113
|
+
return `${webUrl}/-/commit/${encodeURIComponent(sha)}`;
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
// implements REQ-kibi-html-health-report
|
|
117
|
+
export function sourceWebUrl(repository, coordinate) {
|
|
118
|
+
const path = coordinate?.path?.trim();
|
|
119
|
+
const webUrl = repository?.webUrl?.replace(/\/+$/, "");
|
|
120
|
+
if (!repository || !coordinate || !path || !webUrl || path.includes("://")) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
const revision = repository.commitSha?.trim() || repository.branch?.trim();
|
|
124
|
+
if (!revision)
|
|
125
|
+
return undefined;
|
|
126
|
+
const encodedPath = encodePath(path);
|
|
127
|
+
const encodedRev = encodeURIComponent(revision);
|
|
128
|
+
const fragment = lineFragment(coordinate);
|
|
129
|
+
if (repository.provider === "github") {
|
|
130
|
+
return `${webUrl}/blob/${encodedRev}/${encodedPath}${fragment}`;
|
|
131
|
+
}
|
|
132
|
+
if (repository.provider === "gitlab") {
|
|
133
|
+
return `${webUrl}/-/blob/${encodedRev}/${encodedPath}${fragment}`;
|
|
134
|
+
}
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
// implements REQ-kibi-html-health-report
|
|
138
|
+
export function formatSourceCoordinate(coordinate) {
|
|
139
|
+
const path = coordinate?.path?.trim();
|
|
140
|
+
if (!path)
|
|
141
|
+
return undefined;
|
|
142
|
+
const start = coordinate?.line;
|
|
143
|
+
if (typeof start === "number" && Number.isInteger(start) && start >= 1) {
|
|
144
|
+
const end = coordinate?.endLine;
|
|
145
|
+
if (typeof end === "number" && Number.isInteger(end) && end > start) {
|
|
146
|
+
return `${path}:${start}-${end}`;
|
|
147
|
+
}
|
|
148
|
+
return `${path}:${start}`;
|
|
149
|
+
}
|
|
150
|
+
return path;
|
|
151
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/cli-runtime.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cli-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/cli-runtime.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIV,gBAAgB,EAEhB,cAAc,EACf,MAAM,uCAAuC,CAAC;AA2E/C,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,cAAmB,GAC3B,gBAAgB,CAgHlB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { EngineClient } from "../engine.js";
|
|
3
3
|
import { nodeFilesystem, nodeGit, nodeNetwork, } from "../public/operations/node-ports.js";
|
|
4
|
-
import {
|
|
4
|
+
import { resolveBranchAttachment } from "../utils/branch-resolver.js";
|
|
5
5
|
function createDefaultProlog(root, branch) {
|
|
6
6
|
const engine = new EngineClient({
|
|
7
7
|
workspaceRoot: root,
|
|
@@ -21,6 +21,34 @@ function workspaceRoot(options) {
|
|
|
21
21
|
function quoteProlog(value) {
|
|
22
22
|
return value.replaceAll("'", "''");
|
|
23
23
|
}
|
|
24
|
+
function bindSignal(port, signal) {
|
|
25
|
+
return new Proxy(port, {
|
|
26
|
+
get(target, property, receiver) {
|
|
27
|
+
if (property === "query") {
|
|
28
|
+
return (goal) => target.query(goal, signal);
|
|
29
|
+
}
|
|
30
|
+
if (property === "queryEntities") {
|
|
31
|
+
return (input) => target.queryEntities?.(input, signal);
|
|
32
|
+
}
|
|
33
|
+
if (property === "searchEntities") {
|
|
34
|
+
return (input) => target.searchEntities?.(input, signal);
|
|
35
|
+
}
|
|
36
|
+
if (property === "save") {
|
|
37
|
+
return () => target.save(signal);
|
|
38
|
+
}
|
|
39
|
+
return Reflect.get(target, property, receiver);
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function enginePort(port, signal) {
|
|
44
|
+
const candidate = port;
|
|
45
|
+
const execute = candidate.execute ?? candidate.command;
|
|
46
|
+
if (!execute)
|
|
47
|
+
return undefined;
|
|
48
|
+
return {
|
|
49
|
+
execute: (command, commandSignal) => execute.call(port, command, commandSignal ?? signal),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
24
52
|
// implements REQ-kibi-operation-interface-parity
|
|
25
53
|
export function createCliRuntime(options = {}) {
|
|
26
54
|
const ownedPrologs = new WeakMap();
|
|
@@ -43,38 +71,70 @@ export function createCliRuntime(options = {}) {
|
|
|
43
71
|
net: merged.net ?? nodeNetwork,
|
|
44
72
|
};
|
|
45
73
|
if (!spec.requiresProlog) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
74
|
+
// Read-only operations such as status may choose to use an explicitly
|
|
75
|
+
// supplied test or host Prolog port, but must not force engine startup.
|
|
76
|
+
// That keeps pre-init and damaged-store diagnostics non-mutating.
|
|
77
|
+
let lazyProlog = merged.prolog;
|
|
78
|
+
const lazyContext = {};
|
|
79
|
+
const ensureProlog = async () => {
|
|
80
|
+
if (lazyProlog !== undefined)
|
|
81
|
+
return bindSignal(lazyProlog, signal);
|
|
82
|
+
const attachment = resolveBranchAttachment(root);
|
|
83
|
+
if ("error" in attachment) {
|
|
84
|
+
throw new Error(`Failed to resolve active branch: ${attachment.error}`);
|
|
56
85
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
86
|
+
const engine = createDefaultProlog(root, attachment.kbBranch);
|
|
87
|
+
await engine.start?.();
|
|
88
|
+
lazyProlog = engine;
|
|
89
|
+
if (lazyContext.current !== undefined)
|
|
90
|
+
ownedPrologs.set(lazyContext.current, engine);
|
|
91
|
+
return bindSignal(engine, signal);
|
|
92
|
+
};
|
|
93
|
+
const lazyEngine = merged.prolog
|
|
94
|
+
? enginePort(merged.prolog, signal)
|
|
95
|
+
: undefined;
|
|
96
|
+
const context = {
|
|
97
|
+
...contextBase,
|
|
98
|
+
...(merged.prolog
|
|
99
|
+
? { prolog: bindSignal(merged.prolog, signal) }
|
|
100
|
+
: {}),
|
|
101
|
+
...(lazyEngine ? { engine: lazyEngine } : {}),
|
|
102
|
+
ensureProlog,
|
|
103
|
+
};
|
|
104
|
+
lazyContext.current = context;
|
|
105
|
+
return context;
|
|
106
|
+
}
|
|
107
|
+
const attachment = resolveBranchAttachment(root);
|
|
108
|
+
if ("error" in attachment) {
|
|
109
|
+
const isNonGitContext = attachment.code === "NOT_A_GIT_REPO" ||
|
|
110
|
+
attachment.code === "GIT_NOT_AVAILABLE";
|
|
111
|
+
await merged.prolog?.terminate?.();
|
|
112
|
+
throw new Error(isNonGitContext
|
|
113
|
+
? "Kibi requires an active Git branch outside a repository; set KIBI_BRANCH explicitly for a standalone workspace."
|
|
114
|
+
: `Failed to resolve active branch: ${attachment.error}`);
|
|
115
|
+
}
|
|
116
|
+
if (attachment.migrationRequired) {
|
|
117
|
+
console.warn(`[KIBI] Legacy branch attachment: Git '${attachment.gitBranch}' is reading KB '${attachment.kbBranch}'. Migrate with 'kibi branch migrate --from ${attachment.kbBranch} --to ${attachment.gitBranch} --apply'; writes are blocked until then.`);
|
|
65
118
|
}
|
|
66
119
|
const usesEngine = merged.prolog === undefined;
|
|
67
|
-
const
|
|
120
|
+
const rawProlog = merged.prolog ?? createDefaultProlog(root, attachment.kbBranch);
|
|
121
|
+
const prolog = bindSignal(rawProlog, signal);
|
|
68
122
|
try {
|
|
69
123
|
await prolog.start?.();
|
|
70
|
-
const kbPath =
|
|
124
|
+
const kbPath = attachment.storePath;
|
|
71
125
|
if (!usesEngine) {
|
|
72
126
|
const attached = await prolog.query(`kb_attach('${quoteProlog(kbPath)}')`);
|
|
73
127
|
if (!attached.success) {
|
|
74
128
|
throw new Error(attached.error ?? "Failed to attach branch KB");
|
|
75
129
|
}
|
|
76
130
|
}
|
|
77
|
-
const
|
|
131
|
+
const attachedEngine = enginePort(rawProlog, signal);
|
|
132
|
+
const context = {
|
|
133
|
+
...contextBase,
|
|
134
|
+
prolog,
|
|
135
|
+
...(attachedEngine ? { engine: attachedEngine } : {}),
|
|
136
|
+
branchAttachment: attachment,
|
|
137
|
+
};
|
|
78
138
|
ownedPrologs.set(context, prolog);
|
|
79
139
|
return context;
|
|
80
140
|
}
|