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
|
@@ -20,7 +20,7 @@ import { existsSync, readFileSync } from "node:fs";
|
|
|
20
20
|
import * as path from "node:path";
|
|
21
21
|
import { load as parseYAML } from "js-yaml";
|
|
22
22
|
import { DEFAULT_COORDINATES_PATH } from "../utils/manifest-paths.js";
|
|
23
|
-
import { mergeCoordinatesWithManifest,
|
|
23
|
+
import { mergeCoordinatesWithManifest, parseCoordinateArtifact, } from "./symbol-coordinates.js";
|
|
24
24
|
const VALID_RELATIONSHIP_TYPES = new Set([
|
|
25
25
|
"depends_on",
|
|
26
26
|
"executable_for",
|
|
@@ -109,9 +109,11 @@ function validateRelationshipDirection(type, from, to, filePath) {
|
|
|
109
109
|
}
|
|
110
110
|
export class ManifestError extends Error {
|
|
111
111
|
filePath;
|
|
112
|
-
|
|
112
|
+
classification;
|
|
113
|
+
constructor(message, filePath, classification) {
|
|
113
114
|
super(message);
|
|
114
115
|
this.filePath = filePath;
|
|
116
|
+
this.classification = classification;
|
|
115
117
|
this.name = "ManifestError";
|
|
116
118
|
}
|
|
117
119
|
}
|
|
@@ -165,9 +167,15 @@ function extractRelationships(id, symbol, filePath) {
|
|
|
165
167
|
return relationships;
|
|
166
168
|
}
|
|
167
169
|
function extractFromParsedManifest(manifest, filePath) {
|
|
168
|
-
return
|
|
170
|
+
return extractManifestSymbolRecords(getManifestSymbols(manifest, filePath), filePath);
|
|
169
171
|
}
|
|
170
|
-
|
|
172
|
+
/**
|
|
173
|
+
* Convert overlay-merged manifest symbol records into extraction results.
|
|
174
|
+
* Exported so mutation flows can re-extract one canonical entity from the
|
|
175
|
+
* authored manifest plus generated coordinate artifact before committing.
|
|
176
|
+
*/
|
|
177
|
+
// implements REQ-generated-coordinate-persistence
|
|
178
|
+
export function extractManifestSymbolRecords(manifestSymbols, filePath) {
|
|
171
179
|
return manifestSymbols.map((symbol) => {
|
|
172
180
|
if (!symbol.title) {
|
|
173
181
|
throw new ManifestError("Missing required field: title", filePath);
|
|
@@ -253,7 +261,7 @@ export function extractManifestSymbolRecordsString(content, filePath) {
|
|
|
253
261
|
}
|
|
254
262
|
}
|
|
255
263
|
export function extractFromManifest(filePath) {
|
|
256
|
-
return
|
|
264
|
+
return extractManifestSymbolRecords(readManifestWithCoordinateOverlay(filePath), filePath);
|
|
257
265
|
}
|
|
258
266
|
function resolveCoordinatesPath(manifestPath, coordinatesPath) {
|
|
259
267
|
if (coordinatesPath) {
|
|
@@ -266,21 +274,55 @@ function readCoordinateArtifactFromFile(coordinatesPath) {
|
|
|
266
274
|
return null;
|
|
267
275
|
}
|
|
268
276
|
try {
|
|
269
|
-
|
|
277
|
+
const parsed = parseCoordinateArtifact(readFileSync(coordinatesPath, "utf8"));
|
|
278
|
+
if (parsed.status === "invalid") {
|
|
279
|
+
throw new ManifestError(parsed.reason, coordinatesPath, "coordinate-artifact");
|
|
280
|
+
}
|
|
281
|
+
return parsed;
|
|
270
282
|
}
|
|
271
283
|
catch (error) {
|
|
272
|
-
if (error instanceof Error) {
|
|
273
|
-
throw new ManifestError(`Failed to parse coordinate artifact: ${error.message}`, coordinatesPath);
|
|
284
|
+
if (error instanceof Error && !(error instanceof ManifestError)) {
|
|
285
|
+
throw new ManifestError(`Failed to parse coordinate artifact: ${error.message}`, coordinatesPath, "coordinate-artifact");
|
|
274
286
|
}
|
|
275
287
|
throw error;
|
|
276
288
|
}
|
|
277
289
|
}
|
|
290
|
+
/** Resolve workspace-relative source files used to validate bound coordinates. */
|
|
291
|
+
function sourceTextResolver(manifestPath) {
|
|
292
|
+
const bases = [process.cwd()];
|
|
293
|
+
const grandparent = path.resolve(path.dirname(path.dirname(manifestPath)));
|
|
294
|
+
if (!bases.includes(grandparent))
|
|
295
|
+
bases.push(grandparent);
|
|
296
|
+
return (sourceFile) => {
|
|
297
|
+
let resolved = null;
|
|
298
|
+
for (const base of bases) {
|
|
299
|
+
const absolute = path.isAbsolute(sourceFile)
|
|
300
|
+
? sourceFile
|
|
301
|
+
: path.resolve(base, sourceFile);
|
|
302
|
+
if (!existsSync(absolute))
|
|
303
|
+
continue;
|
|
304
|
+
try {
|
|
305
|
+
const content = readFileSync(absolute, "utf8");
|
|
306
|
+
if (typeof content === "string") {
|
|
307
|
+
resolved = content;
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch {
|
|
312
|
+
// Try the next resolution base.
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return resolved;
|
|
316
|
+
};
|
|
317
|
+
}
|
|
278
318
|
// implements REQ-core-extractors
|
|
279
319
|
export function readManifestWithCoordinateOverlay(manifestPath, coordinatesPath) {
|
|
280
320
|
const manifestContent = readFileSync(manifestPath, "utf8");
|
|
281
321
|
const manifestRecords = extractManifestSymbolRecordsString(manifestContent, manifestPath);
|
|
282
322
|
const coordinateArtifact = readCoordinateArtifactFromFile(resolveCoordinatesPath(manifestPath, coordinatesPath));
|
|
283
|
-
return mergeCoordinatesWithManifest(manifestRecords, coordinateArtifact
|
|
323
|
+
return mergeCoordinatesWithManifest(manifestRecords, coordinateArtifact, {
|
|
324
|
+
resolveSourceText: sourceTextResolver(manifestPath),
|
|
325
|
+
});
|
|
284
326
|
}
|
|
285
327
|
function generateId(filePath, title) {
|
|
286
328
|
const hash = createHash("sha256");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type VerificationReceipt } from "../public/verification-receipt.js";
|
|
1
|
+
import { type VerificationContract, type VerificationReceipt } from "../public/verification-receipt.js";
|
|
2
2
|
export interface ExtractedEntity {
|
|
3
3
|
id: string;
|
|
4
4
|
type: string;
|
|
@@ -27,6 +27,7 @@ export interface ExtractedEntity {
|
|
|
27
27
|
sourceEndColumn?: number;
|
|
28
28
|
verification_scope?: "unit" | "integration" | "end_to_end";
|
|
29
29
|
verification_perspective?: "internal" | "consumer";
|
|
30
|
+
verification_contract?: VerificationContract;
|
|
30
31
|
verification_receipts?: readonly VerificationReceipt[];
|
|
31
32
|
fact_kind?: "subject" | "property_value" | "observation" | "meta" | "predicate_schema" | "predicate" | "rule_schema" | "rule";
|
|
32
33
|
subject_key?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/extractors/markdown.ts"],"names":[],"mappings":"AAuBA,OAAO,
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/extractors/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ import { readFileSync } from "node:fs";
|
|
|
20
20
|
import Ajv from "ajv";
|
|
21
21
|
import { load as yamlLoad } from "js-yaml";
|
|
22
22
|
import { semanticClaimKey } from "../operations/semantic-advisor/clauses.js";
|
|
23
|
-
import { verificationReceiptHistoryErrors, } from "../public/verification-receipt.js";
|
|
23
|
+
import { VERIFICATION_CONTRACT_SCHEMA, verificationReceiptHistoryErrors, } from "../public/verification-receipt.js";
|
|
24
24
|
import entitySchema from "../schemas/entity.schema.json" with { type: "json" };
|
|
25
25
|
// Typed fact field constants for extraction
|
|
26
26
|
const FACT_STRING_FIELDS = [
|
|
@@ -71,6 +71,7 @@ const FACT_ONLY_FIELDS = [
|
|
|
71
71
|
const TEST_ENUM_FIELDS = [
|
|
72
72
|
"verification_scope",
|
|
73
73
|
"verification_perspective",
|
|
74
|
+
"verification_contract",
|
|
74
75
|
"verification_receipts",
|
|
75
76
|
];
|
|
76
77
|
const ajv = new Ajv({ strict: false, allErrors: true });
|
|
@@ -334,7 +335,7 @@ function extractFromMarkdownContent(content, filePath) {
|
|
|
334
335
|
const entityTypes = embeddedEntities.join(" and ");
|
|
335
336
|
throw new FrontmatterError(`Invalid embedded entity: requirement contains ${entityTypes} fields`, filePath, {
|
|
336
337
|
classification: "Embedded Entity Violation",
|
|
337
|
-
hint: `Move ${entityTypes} to separate entity files and
|
|
338
|
+
hint: `Move ${entityTypes} to separate entity files and declare typed relationship links there; Kibi owns the compiled relationship shards.`,
|
|
338
339
|
});
|
|
339
340
|
}
|
|
340
341
|
const id = data.id || generateId(filePath, data.title);
|
|
@@ -445,11 +446,28 @@ function extractFromMarkdownContent(content, filePath) {
|
|
|
445
446
|
}
|
|
446
447
|
entity.verification_perspective = data.verification_perspective;
|
|
447
448
|
}
|
|
449
|
+
if (data.verification_contract !== undefined) {
|
|
450
|
+
if (!isObjectRecord(data.verification_contract)) {
|
|
451
|
+
throw new FrontmatterError("Invalid verification_contract; expected an object", filePath, {
|
|
452
|
+
classification: "Invalid Test Verification Contract",
|
|
453
|
+
hint: "Use the kibi.verification-contract.v1 object shape.",
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
const validateContract = ajv.compile(VERIFICATION_CONTRACT_SCHEMA);
|
|
457
|
+
if (!validateContract(data.verification_contract)) {
|
|
458
|
+
throw new FrontmatterError(`Invalid verification_contract: ${ajv.errorsText(validateContract.errors)}`, filePath, {
|
|
459
|
+
classification: "Invalid Test Verification Contract",
|
|
460
|
+
hint: "Use the kibi.verification-contract.v1 object shape.",
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
entity.verification_contract =
|
|
464
|
+
data.verification_contract;
|
|
465
|
+
}
|
|
448
466
|
if (data.verification_receipts !== undefined) {
|
|
449
467
|
if (!Array.isArray(data.verification_receipts)) {
|
|
450
468
|
throw new FrontmatterError("Invalid verification_receipts; expected an array", filePath, {
|
|
451
469
|
classification: "Invalid Test Verification Receipts",
|
|
452
|
-
hint: "Use append
|
|
470
|
+
hint: "Use kibi verify to append kibi.verification-receipt.v2 objects; older v1 entries remain historical compatibility data.",
|
|
453
471
|
});
|
|
454
472
|
}
|
|
455
473
|
const normalizedReceipts = data.verification_receipts.map((value) => {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PlaywrightCaseSymbol = Readonly<{
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
sourceFile: string;
|
|
5
|
+
sourceLine: number;
|
|
6
|
+
sourceColumn: number;
|
|
7
|
+
sourceEndLine: number;
|
|
8
|
+
sourceEndColumn: number;
|
|
9
|
+
symbol_role: "behavioral";
|
|
10
|
+
tags: readonly ["test-case", "playwright"];
|
|
11
|
+
}>;
|
|
12
|
+
export type PlaywrightCaseDiagnostic = Readonly<{
|
|
13
|
+
code: "dynamic_test_case_unresolved";
|
|
14
|
+
sourceFile: string;
|
|
15
|
+
sourceLine: number;
|
|
16
|
+
detail: string;
|
|
17
|
+
}>;
|
|
18
|
+
export type PlaywrightCaseExtraction = Readonly<{
|
|
19
|
+
symbols: readonly PlaywrightCaseSymbol[];
|
|
20
|
+
diagnostics: readonly PlaywrightCaseDiagnostic[];
|
|
21
|
+
}>;
|
|
22
|
+
/** Extract statically named Playwright tests from a TS/JS source module. */
|
|
23
|
+
export declare function extractPlaywrightCases(sourceFile: string, source: string): PlaywrightCaseExtraction;
|
|
24
|
+
//# sourceMappingURL=playwright-cases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-cases.d.ts","sourceRoot":"","sources":["../../src/extractors/playwright-cases.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;CAC5C,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAClD,CAAC,CAAC;AA0GH,4EAA4E;AAE5E,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,wBAAwB,CA0C1B"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { playwrightCaseId } from "../public/playwright-case-id.js";
|
|
2
|
+
function lineColumn(source, offset) {
|
|
3
|
+
const prefix = source.slice(0, offset);
|
|
4
|
+
const line = prefix.split("\n").length;
|
|
5
|
+
const lastBreak = prefix.lastIndexOf("\n");
|
|
6
|
+
return [line, offset - lastBreak];
|
|
7
|
+
}
|
|
8
|
+
function braceDepthAt(source, offset) {
|
|
9
|
+
let depth = 0;
|
|
10
|
+
let quote = null;
|
|
11
|
+
let escaped = false;
|
|
12
|
+
for (const character of source.slice(0, offset)) {
|
|
13
|
+
if (quote) {
|
|
14
|
+
if (escaped)
|
|
15
|
+
escaped = false;
|
|
16
|
+
else if (character === "\\")
|
|
17
|
+
escaped = true;
|
|
18
|
+
else if (character === quote)
|
|
19
|
+
quote = null;
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
if (character === "'" || character === '"' || character === "`") {
|
|
23
|
+
quote = character;
|
|
24
|
+
}
|
|
25
|
+
else if (character === "{")
|
|
26
|
+
depth += 1;
|
|
27
|
+
else if (character === "}")
|
|
28
|
+
depth = Math.max(0, depth - 1);
|
|
29
|
+
}
|
|
30
|
+
return depth;
|
|
31
|
+
}
|
|
32
|
+
function matchingBrace(source, open) {
|
|
33
|
+
let depth = 0;
|
|
34
|
+
for (let index = open; index < source.length; index += 1) {
|
|
35
|
+
if (source[index] === "{")
|
|
36
|
+
depth += 1;
|
|
37
|
+
else if (source[index] === "}") {
|
|
38
|
+
depth -= 1;
|
|
39
|
+
if (depth === 0)
|
|
40
|
+
return index;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
function events(source) {
|
|
46
|
+
const output = [];
|
|
47
|
+
const importedAliases = [
|
|
48
|
+
"test",
|
|
49
|
+
...[...source.matchAll(/\btest\s+as\s+([A-Za-z_$][\w$]*)/g)].map((match) => match[1]),
|
|
50
|
+
];
|
|
51
|
+
const pattern = new RegExp(`\\b(?:${importedAliases.join("|")})(?:\\.only|\\.skip)?\\s*\\.?(describe)?\\s*\\(`, "g");
|
|
52
|
+
for (const match of source.matchAll(pattern)) {
|
|
53
|
+
const start = match.index ?? 0;
|
|
54
|
+
if (/function\s+$/.test(source.slice(Math.max(0, start - 16), start))) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const open = start + match[0].lastIndexOf("(") + 1;
|
|
58
|
+
const remainder = source.slice(open);
|
|
59
|
+
const stringMatch = remainder.match(/^\s*(["'`])((?:\\.|(?!\1).)*)\1/s);
|
|
60
|
+
const dynamic = !stringMatch;
|
|
61
|
+
const title = stringMatch?.[2]?.replaceAll(/\\(["'`\\])/g, "$1");
|
|
62
|
+
const end = Math.min(source.length, open + (stringMatch?.[0].length ?? 1));
|
|
63
|
+
const callbackOpen = source.indexOf("{", end);
|
|
64
|
+
const scopeEnd = match[1] === "describe" && callbackOpen >= 0
|
|
65
|
+
? matchingBrace(source, callbackOpen)
|
|
66
|
+
: undefined;
|
|
67
|
+
output.push({
|
|
68
|
+
kind: match[1] === "describe" ? "describe" : "test",
|
|
69
|
+
start,
|
|
70
|
+
end,
|
|
71
|
+
...(title === undefined ? {} : { title }),
|
|
72
|
+
dynamic,
|
|
73
|
+
braceDepth: braceDepthAt(source, start),
|
|
74
|
+
...(scopeEnd === undefined ? {} : { scopeEnd }),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return output;
|
|
78
|
+
}
|
|
79
|
+
function qualifiedTitle(event, all) {
|
|
80
|
+
const suites = all
|
|
81
|
+
.filter((candidate) => candidate.kind === "describe" &&
|
|
82
|
+
candidate.start < event.start &&
|
|
83
|
+
(candidate.scopeEnd === undefined ||
|
|
84
|
+
event.start < candidate.scopeEnd) &&
|
|
85
|
+
candidate.braceDepth <= event.braceDepth &&
|
|
86
|
+
candidate.title !== undefined)
|
|
87
|
+
.map((candidate) => candidate.title);
|
|
88
|
+
return [...suites, event.title ?? ""].join(" > ");
|
|
89
|
+
}
|
|
90
|
+
/** Extract statically named Playwright tests from a TS/JS source module. */
|
|
91
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
92
|
+
export function extractPlaywrightCases(sourceFile, source) {
|
|
93
|
+
if (!/from\s+["']@playwright\/test["']|require\(\s*["']@playwright\/test/.test(source)) {
|
|
94
|
+
return { symbols: [], diagnostics: [] };
|
|
95
|
+
}
|
|
96
|
+
const symbols = [];
|
|
97
|
+
const diagnostics = [];
|
|
98
|
+
const all = events(source);
|
|
99
|
+
for (const event of all.filter(({ kind }) => kind === "test")) {
|
|
100
|
+
const [line, column] = lineColumn(source, event.start);
|
|
101
|
+
if (event.dynamic) {
|
|
102
|
+
diagnostics.push({
|
|
103
|
+
code: "dynamic_test_case_unresolved",
|
|
104
|
+
sourceFile,
|
|
105
|
+
sourceLine: line,
|
|
106
|
+
detail: "The Playwright test title is computed at runtime and cannot enter a verification contract.",
|
|
107
|
+
});
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const title = qualifiedTitle(event, all);
|
|
111
|
+
const end = source.indexOf("\n", event.end);
|
|
112
|
+
const [endLine, endColumn] = lineColumn(source, end === -1 ? source.length : end);
|
|
113
|
+
symbols.push({
|
|
114
|
+
id: playwrightCaseId(sourceFile, title),
|
|
115
|
+
title,
|
|
116
|
+
sourceFile,
|
|
117
|
+
sourceLine: line,
|
|
118
|
+
sourceColumn: column,
|
|
119
|
+
sourceEndLine: endLine,
|
|
120
|
+
sourceEndColumn: endColumn,
|
|
121
|
+
symbol_role: "behavioral",
|
|
122
|
+
tags: ["test-case", "playwright"],
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return { symbols, diagnostics };
|
|
126
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/extractors/relationships.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/extractors/relationships.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAyBD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,MAAM,GACvB,qBAAqB,EAAE,CAmBzB;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAiBvB;AAmDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAAE,GAC/B,qBAAqB,EAAE,CAEzB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,qBAAqB,EAAE,EACtC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,KAAK,CAAC;IACP,YAAY,EAAE,qBAAqB,CAAC;IACpC,KAAK,EAAE,cAAc,GAAG,YAAY,CAAC;CACtC,CAAC,CAgBD"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { ManifestSymbolRecord } from "./manifest.js";
|
|
2
|
+
/**
|
|
3
|
+
* Format version of the generated coordinate artifact. Version 2 binds every
|
|
4
|
+
* record to the extraction identity that produced it so stale coordinates can
|
|
5
|
+
* never silently overlay a changed symbol.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SYMBOL_COORDINATES_FORMAT_VERSION = 2;
|
|
2
8
|
export interface SymbolCoordinatesRecord {
|
|
3
9
|
sourceFile: string;
|
|
4
10
|
sourceLine: number;
|
|
@@ -6,10 +12,82 @@ export interface SymbolCoordinatesRecord {
|
|
|
6
12
|
sourceEndLine: number;
|
|
7
13
|
sourceEndColumn: number;
|
|
8
14
|
}
|
|
15
|
+
/** A generated record bound to the extraction identity that produced it. */
|
|
16
|
+
export interface BoundSymbolCoordinatesRecord extends SymbolCoordinatesRecord {
|
|
17
|
+
readonly identityHash: string;
|
|
18
|
+
readonly sourceHash: string;
|
|
19
|
+
}
|
|
20
|
+
export type CoordinateArtifactRecord = SymbolCoordinatesRecord | BoundSymbolCoordinatesRecord;
|
|
9
21
|
export interface SymbolCoordinatesArtifact {
|
|
10
|
-
coordinates: Record<string,
|
|
22
|
+
coordinates: Record<string, CoordinateArtifactRecord>;
|
|
23
|
+
}
|
|
24
|
+
export interface CoordinateExtractionIdentity {
|
|
25
|
+
readonly id: string;
|
|
26
|
+
readonly title?: string;
|
|
27
|
+
readonly sourceFile?: string;
|
|
28
|
+
readonly granularity_reason?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface SymbolCoordinateWriteEntry extends SymbolCoordinatesRecord {
|
|
31
|
+
readonly identityHash?: string;
|
|
32
|
+
readonly sourceHash?: string;
|
|
33
|
+
}
|
|
34
|
+
export type ParsedCoordinateArtifact = {
|
|
35
|
+
readonly status: "parsed";
|
|
36
|
+
readonly formatVersion: typeof SYMBOL_COORDINATES_FORMAT_VERSION;
|
|
37
|
+
readonly coordinates: Readonly<Record<string, BoundSymbolCoordinatesRecord>>;
|
|
38
|
+
} | {
|
|
39
|
+
readonly status: "legacy";
|
|
40
|
+
readonly coordinates: Readonly<Record<string, SymbolCoordinatesRecord>>;
|
|
41
|
+
} | {
|
|
42
|
+
readonly status: "invalid";
|
|
43
|
+
readonly reason: string;
|
|
44
|
+
};
|
|
45
|
+
export declare class CoordinateArtifactError extends Error {
|
|
46
|
+
readonly name = "CoordinateArtifactError";
|
|
11
47
|
}
|
|
48
|
+
/** Deterministic canonical identity string for a symbol extraction state. */
|
|
49
|
+
export declare function coordinateIdentityKey(identity: CoordinateExtractionIdentity): string;
|
|
50
|
+
/** Stable hash binding a generated coordinate record to its extraction identity. */
|
|
51
|
+
export declare function coordinateIdentityHash(identity: CoordinateExtractionIdentity): string;
|
|
52
|
+
/** Stable hash of the exact source text used to generate a coordinate span. */
|
|
53
|
+
export declare function coordinateSourceHash(sourceText: string): string;
|
|
54
|
+
/** Select a stable coarse anchor, preferring a title match over the whole file. */
|
|
55
|
+
export declare function coarseCoordinateSpan(sourceFile: string, title: string, content: string): SymbolCoordinatesRecord;
|
|
56
|
+
/**
|
|
57
|
+
* Validate a coordinate span against the same rules requirement proof enforces:
|
|
58
|
+
* nonempty source file, sourceLine >= 1, columns >= 0, endLine >= sourceLine.
|
|
59
|
+
*/
|
|
60
|
+
export declare function isValidCoordinateSpan(value: unknown): value is SymbolCoordinatesRecord;
|
|
61
|
+
/**
|
|
62
|
+
* Strictly parse a generated coordinate artifact. Records failing span
|
|
63
|
+
* validation make the whole artifact invalid; consumers must fail closed
|
|
64
|
+
* instead of silently dropping evidence.
|
|
65
|
+
*/
|
|
66
|
+
export declare function parseCoordinateArtifact(content: string): ParsedCoordinateArtifact;
|
|
67
|
+
/**
|
|
68
|
+
* Serialize the generated artifact as a version 2 document. Every record is
|
|
69
|
+
* bound to both its manifest identity and exact source content.
|
|
70
|
+
* Key order is deterministic without relying on YAML sortKeys so the
|
|
71
|
+
* human-readable header stays first.
|
|
72
|
+
*/
|
|
73
|
+
export declare function writeCoordinateArtifact(entries: Record<string, SymbolCoordinateWriteEntry>): string;
|
|
74
|
+
/** Serialize a legacy artifact without introducing v2 bindings or metadata. */
|
|
75
|
+
export declare function writeLegacyCoordinateArtifact(entries: Record<string, SymbolCoordinatesRecord>): string;
|
|
76
|
+
/**
|
|
77
|
+
* Reader kept for diff/traceability surfaces. Legacy records remain available
|
|
78
|
+
* as spans while v2 records retain their bindings.
|
|
79
|
+
*/
|
|
12
80
|
export declare function readCoordinateArtifact(content: string): SymbolCoordinatesArtifact;
|
|
13
|
-
|
|
14
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Overlay generated coordinates onto authored manifest records.
|
|
83
|
+
*
|
|
84
|
+
* Generated fields are always stripped first so stale spans can never reach
|
|
85
|
+
* compiled state. Bound v2 records apply only when both their identity hash
|
|
86
|
+
* and exact source-content hash match the current manifest and source. Legacy
|
|
87
|
+
* records and inline coordinates are accepted only after live declaration
|
|
88
|
+
* validation.
|
|
89
|
+
*/
|
|
90
|
+
export declare function mergeCoordinatesWithManifest(symbolRecords: ManifestSymbolRecord[], coordinateArtifact: ParsedCoordinateArtifact | SymbolCoordinatesArtifact | null, options?: {
|
|
91
|
+
readonly resolveSourceText?: (sourceFile: string) => string | null;
|
|
92
|
+
}): ManifestSymbolRecord[];
|
|
15
93
|
//# sourceMappingURL=symbol-coordinates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-coordinates.d.ts","sourceRoot":"","sources":["../../src/extractors/symbol-coordinates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"symbol-coordinates.d.ts","sourceRoot":"","sources":["../../src/extractors/symbol-coordinates.ts"],"names":[],"mappings":"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"}
|