kibi-cli 1.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-errors.d.ts +3 -1
- package/dist/cli-errors.d.ts.map +1 -1
- package/dist/cli-errors.js +4 -1
- package/dist/cli-json-command.d.ts +1 -0
- package/dist/cli-json-command.d.ts.map +1 -1
- package/dist/cli-json-command.js +13 -4
- package/dist/cli-operation-loader.js +3 -3
- package/dist/cli-operation-metadata.d.ts +4 -3
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +7 -5
- package/dist/cli-protocol.js +1 -1
- package/dist/cli-register-maintenance.d.ts.map +1 -1
- package/dist/cli-register-maintenance.js +7 -0
- package/dist/cli-register-proof.d.ts +3 -0
- package/dist/cli-register-proof.d.ts.map +1 -0
- package/dist/cli-register-proof.js +127 -0
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +7 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -10
- package/dist/commands/branch.d.ts +1 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +8 -4
- package/dist/commands/check-generated.d.ts +7 -0
- package/dist/commands/check-generated.d.ts.map +1 -0
- package/dist/commands/check-generated.js +192 -0
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +193 -46
- package/dist/commands/coverage.d.ts +1 -0
- package/dist/commands/coverage.d.ts.map +1 -1
- package/dist/commands/coverage.js +6 -0
- package/dist/commands/doctor.d.ts +22 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +170 -23
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +42 -0
- package/dist/commands/github-init.d.ts +1 -0
- package/dist/commands/github-init.d.ts.map +1 -1
- package/dist/commands/github-init.js +9 -5
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +49 -10
- package/dist/commands/migrate.d.ts +4 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +7 -7
- package/dist/commands/proof-explain.d.ts +10 -0
- package/dist/commands/proof-explain.d.ts.map +1 -0
- package/dist/commands/proof-explain.js +45 -0
- package/dist/commands/proof-impact.d.ts +7 -0
- package/dist/commands/proof-impact.d.ts.map +1 -0
- package/dist/commands/proof-impact.js +39 -0
- package/dist/commands/proof-migrate-legacy.d.ts +7 -0
- package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
- package/dist/commands/proof-migrate-legacy.js +45 -0
- package/dist/commands/proof-prune.d.ts +8 -0
- package/dist/commands/proof-prune.d.ts.map +1 -0
- package/dist/commands/proof-prune.js +53 -0
- package/dist/commands/prove.d.ts +37 -0
- package/dist/commands/prove.d.ts.map +1 -0
- package/dist/commands/prove.js +470 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +18 -3
- package/dist/commands/sync/discovery.d.ts +3 -0
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +36 -28
- package/dist/commands/sync/manifest.d.ts +2 -1
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +55 -21
- package/dist/commands/sync/persistence.d.ts +4 -1
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +31 -14
- package/dist/commands/sync/staging.d.ts +1 -0
- package/dist/commands/sync/staging.d.ts.map +1 -1
- package/dist/commands/sync/staging.js +5 -2
- package/dist/commands/sync/untracked-targets.d.ts +24 -0
- package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
- package/dist/commands/sync/untracked-targets.js +108 -0
- package/dist/commands/sync.d.ts +11 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +74 -30
- package/dist/engine-daemon.d.ts +3 -1
- package/dist/engine-daemon.d.ts.map +1 -1
- package/dist/engine-daemon.js +49 -20
- package/dist/engine.d.ts +17 -77
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +331 -91
- package/dist/env/bootstrap.d.ts +84 -0
- package/dist/env/bootstrap.d.ts.map +1 -0
- package/dist/env/bootstrap.js +310 -0
- package/dist/extractors/manifest.d.ts +5 -0
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +46 -1
- package/dist/extractors/markdown.d.ts +7 -3
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +60 -24
- package/dist/extractors/playwright-cases.js +1 -1
- package/dist/extractors/relationships.d.ts +6 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +1 -1
- package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.d.ts +8 -0
- package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.js +40 -0
- package/dist/extractors/symbols-ts.d.ts +9 -19
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +34 -429
- package/dist/intent-search.d.ts +1 -0
- package/dist/intent-search.d.ts.map +1 -1
- package/dist/intent-search.js +11 -8
- package/dist/logic/ir.d.ts +1 -0
- package/dist/logic/ir.d.ts.map +1 -1
- package/dist/logic/ir.js +1 -1
- package/dist/operations/bootstrap/activation.d.ts +2 -1
- package/dist/operations/bootstrap/activation.d.ts.map +1 -1
- package/dist/operations/bootstrap/activation.js +11 -3
- package/dist/operations/bootstrap/generate.d.ts +2 -1
- package/dist/operations/bootstrap/generate.d.ts.map +1 -1
- package/dist/operations/bootstrap/generate.js +6 -3
- package/dist/operations/bootstrap/guidance.d.ts +1 -0
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -1
- package/dist/operations/bootstrap/guidance.js +1 -1
- package/dist/operations/modeling/model-requirement.d.ts +5 -0
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +57 -46
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applicability.js +103 -4
- package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-2.js +18 -2
- package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-3.js +17 -1
- package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-5.js +291 -0
- package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog.js +4 -0
- package/dist/operations/modeling/predicate-loader.d.ts +1 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +4 -3
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-ranker.js +4 -1
- package/dist/operations/modeling/predicate-types.d.ts +1 -1
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +82 -22
- package/dist/operations/mutation/contradictions.d.ts +2 -1
- package/dist/operations/mutation/contradictions.d.ts.map +1 -1
- package/dist/operations/mutation/contradictions.js +26 -5
- package/dist/operations/mutation/delete.d.ts +3 -0
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +100 -32
- package/dist/operations/mutation/relationships.d.ts +1 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +6 -4
- package/dist/operations/mutation/saga.d.ts +51 -0
- package/dist/operations/mutation/saga.d.ts.map +1 -0
- package/dist/operations/mutation/saga.js +67 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +3 -2
- package/dist/operations/mutation/source-authoring.d.ts +5 -1
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
- package/dist/operations/mutation/source-authoring.js +79 -46
- package/dist/operations/mutation/strict-fact.d.ts +1 -0
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
- package/dist/operations/mutation/strict-fact.js +8 -5
- package/dist/operations/mutation/symbol-compiler-lock.d.ts +5 -2
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-compiler-lock.js +65 -2
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +11 -89
- package/dist/operations/mutation/symbol-refresh.d.ts +1 -0
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +10 -8
- package/dist/operations/mutation/upsert.d.ts +18 -2
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +86 -54
- package/dist/operations/mutation/validate-upsert.js +2 -2
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +46 -4
- package/dist/operations/mutation/warnings.d.ts +1 -0
- package/dist/operations/mutation/warnings.d.ts.map +1 -1
- package/dist/operations/mutation/warnings.js +7 -5
- package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
- package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
- package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
- package/dist/operations/planning/apply-plan.d.ts +8 -106
- package/dist/operations/planning/apply-plan.d.ts.map +1 -1
- package/dist/operations/planning/apply-plan.js +113 -36
- package/dist/operations/planning/compile-intent.d.ts +51 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -1
- package/dist/operations/planning/compile-intent.js +133 -17
- package/dist/operations/proof/baseline-diff.d.ts +41 -0
- package/dist/operations/proof/baseline-diff.d.ts.map +1 -0
- package/dist/operations/proof/baseline-diff.js +153 -0
- package/dist/operations/proof/explain.d.ts +75 -0
- package/dist/operations/proof/explain.d.ts.map +1 -0
- package/dist/operations/proof/explain.js +294 -0
- package/dist/operations/proof/impact.d.ts +45 -0
- package/dist/operations/proof/impact.d.ts.map +1 -0
- package/dist/operations/proof/impact.js +118 -0
- package/dist/operations/proof/ingest-proof.d.ts +34 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
- package/dist/operations/proof/ingest-proof.js +348 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
- package/dist/operations/proof/migrate-legacy-receipts.js +92 -0
- package/dist/operations/proof/prune-receipts.d.ts +35 -0
- package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
- package/dist/operations/proof/prune-receipts.js +91 -0
- package/dist/operations/proof/receipt-document.d.ts +29 -0
- package/dist/operations/proof/receipt-document.d.ts.map +1 -0
- package/dist/operations/proof/receipt-document.js +117 -0
- package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analysis-receipt.js +3 -9
- package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +64 -93
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +20 -7
- package/dist/operations/semantic-advisor/plugin-orchestration.d.ts +63 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.js +489 -0
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +15 -2
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-core.js +7 -140
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +11 -12
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +6 -94
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +16 -0
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-policy.js +7 -150
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +9 -0
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +7 -102
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +13 -0
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product.js +7 -133
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
- package/dist/operations/semantic-advisor/types.d.ts +1 -0
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/plugins/compose-ontology-packs.d.ts +51 -0
- package/dist/plugins/compose-ontology-packs.d.ts.map +1 -0
- package/dist/plugins/compose-ontology-packs.js +257 -0
- package/dist/plugins/compose-semantic-classifier.d.ts +42 -0
- package/dist/plugins/compose-semantic-classifier.d.ts.map +1 -0
- package/dist/plugins/compose-semantic-classifier.js +211 -0
- package/dist/plugins/external-allowlist.d.ts +10 -0
- package/dist/plugins/external-allowlist.d.ts.map +1 -0
- package/dist/plugins/external-allowlist.js +16 -0
- package/dist/plugins/index.d.ts +9 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +33 -0
- package/dist/plugins/load-plugin.d.ts +19 -0
- package/dist/plugins/load-plugin.d.ts.map +1 -0
- package/dist/plugins/load-plugin.js +59 -0
- package/dist/plugins/project-config.d.ts +28 -0
- package/dist/plugins/project-config.d.ts.map +1 -0
- package/dist/plugins/project-config.js +90 -0
- package/dist/plugins/registry.d.ts +93 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +338 -0
- package/dist/plugins/resolve-package.d.ts +47 -0
- package/dist/plugins/resolve-package.d.ts.map +1 -0
- package/dist/plugins/resolve-package.js +262 -0
- package/dist/plugins/source-analysis-service.d.ts +44 -0
- package/dist/plugins/source-analysis-service.d.ts.map +1 -0
- package/dist/plugins/source-analysis-service.js +232 -0
- package/dist/prolog/codec.d.ts +13 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +269 -154
- package/dist/prolog/error-terms.d.ts +47 -0
- package/dist/prolog/error-terms.d.ts.map +1 -0
- package/dist/prolog/error-terms.js +334 -0
- package/dist/prolog/janitor.d.ts +50 -0
- package/dist/prolog/janitor.d.ts.map +1 -0
- package/dist/prolog/janitor.js +154 -0
- package/dist/prolog/store-lock.d.ts +45 -0
- package/dist/prolog/store-lock.d.ts.map +1 -0
- package/dist/prolog/store-lock.js +195 -0
- package/dist/prolog.d.ts +7 -0
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +55 -17
- package/dist/proof/evaluate.d.ts +27 -0
- package/dist/proof/evaluate.d.ts.map +1 -0
- package/dist/proof/evaluate.js +151 -0
- package/dist/proof/inspect.d.ts +12 -0
- package/dist/proof/inspect.d.ts.map +1 -0
- package/dist/proof/inspect.js +236 -0
- package/dist/proof/integrations.d.ts +35 -0
- package/dist/proof/integrations.d.ts.map +1 -0
- package/dist/proof/integrations.js +123 -0
- package/dist/proof/producers/junit-adapter.d.ts +26 -0
- package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
- package/dist/proof/producers/junit-adapter.js +186 -0
- package/dist/{public → proof/producers}/playwright-case-id.d.ts +1 -1
- package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
- package/dist/{public → proof/producers}/playwright-case-id.js +1 -1
- package/dist/proof/producers/playwright-reporter.d.ts +27 -0
- package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
- package/dist/proof/producers/playwright-reporter.js +138 -0
- package/dist/proof/producers/tap-adapter.d.ts +10 -0
- package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
- package/dist/proof/producers/tap-adapter.js +200 -0
- package/dist/proof/receipt-outcome.d.ts +2 -0
- package/dist/proof/receipt-outcome.d.ts.map +1 -0
- package/dist/proof/receipt-outcome.js +1 -0
- package/dist/public/diagnostic-usage.js +6 -6
- package/dist/public/distribution-parity.d.ts +7 -1
- package/dist/public/distribution-parity.d.ts.map +1 -1
- package/dist/public/distribution-parity.js +15 -10
- package/dist/public/extractors/symbols-coordinator.d.ts +1 -1
- package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/public/extractors/symbols-coordinator.js +1 -1
- package/dist/public/impact/analyzer.d.ts +1 -1
- package/dist/public/impact/analyzer.d.ts.map +1 -1
- package/dist/public/impact/analyzer.js +6 -4
- package/dist/public/impact/coverage-depth-quality.d.ts +1 -0
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +1 -1
- package/dist/public/impact/diagnostics.d.ts.map +1 -1
- package/dist/public/impact/diagnostics.js +2 -2
- package/dist/public/impact/diff-meaning.d.ts +1 -0
- package/dist/public/impact/diff-meaning.d.ts.map +1 -1
- package/dist/public/impact/diff-meaning.js +5 -2
- package/dist/public/impact/full-kb-quality.d.ts +5 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +329 -64
- package/dist/public/operations/catalog.d.ts +450 -196
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +6 -4
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +4 -8
- package/dist/public/operations/check-helpers.d.ts +1 -1
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +1 -1
- package/dist/public/operations/contracts.d.ts +7 -0
- package/dist/public/operations/contracts.d.ts.map +1 -1
- package/dist/public/operations/contracts.js +66 -34
- package/dist/public/operations/discovery-entities.d.ts +15 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +38 -0
- package/dist/public/operations/discovery-executors.d.ts +9 -9
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +39 -31
- package/dist/public/operations/index.d.ts +1 -1
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +1 -1
- package/dist/public/operations/migration-plan.d.ts +4 -3
- package/dist/public/operations/migration-plan.d.ts.map +1 -1
- package/dist/public/operations/migration-plan.js +23 -21
- package/dist/public/operations/node-ports.js +6 -6
- package/dist/public/operations/prolog-json.d.ts +1 -1
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +7 -7
- package/dist/public/operations/repair-plan.d.ts +3 -3
- package/dist/public/operations/repair-plan.d.ts.map +1 -1
- package/dist/public/operations/repair-plan.js +49 -19
- package/dist/public/operations/result-envelope.d.ts +1 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -1
- package/dist/public/operations/result-envelope.js +12 -10
- package/dist/public/operations/runtime-types.d.ts +21 -1
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
- package/dist/public/operations/specs/check-rules.generated.js +35 -0
- package/dist/public/operations/specs/check.d.ts +7 -2
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +8 -20
- package/dist/public/operations/specs/discovery.d.ts +3 -0
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +3 -0
- package/dist/public/operations/specs/mutation-schemas.d.ts +257 -163
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +15 -7
- package/dist/public/operations/specs/planning.d.ts +9 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -1
- package/dist/public/operations/specs/planning.js +6 -0
- package/dist/public/operations/specs/proof.d.ts +212 -0
- package/dist/public/operations/specs/proof.d.ts.map +1 -0
- package/dist/public/operations/specs/proof.js +30 -0
- package/dist/public/operations/specs/reporting.d.ts +20 -0
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +112 -12
- package/dist/public/operations/specs/semantic.d.ts +1 -1
- package/dist/public/operations/specs/semantic.d.ts.map +1 -1
- package/dist/public/operations/specs/semantic.js +54 -4
- package/dist/public/operations/specs/upsert.d.ts +257 -163
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.js +121 -4
- package/dist/public/operations/types.d.ts +6 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/proof-fingerprint.d.ts +54 -0
- package/dist/public/proof-fingerprint.d.ts.map +1 -0
- package/dist/public/proof-fingerprint.js +141 -0
- package/dist/public/proof-protocol.d.ts +354 -0
- package/dist/public/proof-protocol.d.ts.map +1 -0
- package/dist/public/proof-protocol.js +454 -0
- package/dist/public/proof-receipt.d.ts +279 -0
- package/dist/public/proof-receipt.d.ts.map +1 -0
- package/dist/public/proof-receipt.js +377 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +21 -7
- package/dist/public/skills/kibi-freshness/SKILL.md +1 -1
- package/dist/public/skills/kibi-usage/SKILL.md +44 -12
- package/dist/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/dist/public/skills/kibi-usage/resources/proof.md +150 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +6 -6
- package/dist/public/symbol-granularity.d.ts +3 -14
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.generated.d.ts +16 -0
- package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
- package/dist/public/symbol-granularity.generated.js +53 -0
- package/dist/public/symbol-granularity.js +6 -47
- package/dist/public/telemetry-acceptance.d.ts +3 -77
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +4 -2
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/report/html-report.css +1240 -0
- package/dist/report/html-report.d.ts +4 -2
- package/dist/report/html-report.d.ts.map +1 -1
- package/dist/report/html-report.js +37 -300
- package/dist/runtime/cli-runtime.d.ts +2 -0
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +32 -7
- package/dist/schemas/entity.schema.json +355 -215
- package/dist/search-ranking.d.ts +1 -0
- package/dist/search-ranking.d.ts.map +1 -1
- package/dist/search-ranking.js +3 -0
- package/dist/traceability/evidence-model.d.ts +28 -0
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- package/dist/traceability/git-staged.d.ts +20 -0
- package/dist/traceability/git-staged.d.ts.map +1 -1
- package/dist/traceability/git-staged.js +145 -1
- package/dist/traceability/staged-diagnostics.d.ts +7 -0
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-diagnostics.js +78 -7
- package/dist/traceability/staged-file-coverage.d.ts +33 -0
- package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
- package/dist/traceability/staged-file-coverage.js +284 -0
- package/dist/traceability/staged-impact-contract.js +4 -4
- package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +138 -27
- package/dist/traceability/symbol-extract.d.ts +24 -2
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +64 -208
- package/dist/traceability/temp-kb.d.ts +2 -0
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +13 -4
- package/dist/types/entities.d.ts +5 -3
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +1 -0
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +7 -4
- package/dist/utils/branch-store.d.ts +6 -0
- package/dist/utils/branch-store.d.ts.map +1 -1
- package/dist/utils/branch-store.js +27 -0
- package/dist/utils/kb-paths.d.ts +1 -1
- package/dist/utils/kb-paths.d.ts.map +1 -1
- package/dist/utils/kb-paths.js +1 -1
- package/dist/utils/rule-registry.d.ts +1 -11
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.d.ts +102 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -0
- package/dist/utils/rule-registry.generated.js +131 -0
- package/dist/utils/rule-registry.js +12 -113
- package/dist/utils/strict-modeling.d.ts +1 -0
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +1 -1
- package/package.json +20 -20
- package/src/public/diagnostic-usage.ts +6 -6
- package/src/public/distribution-parity.ts +17 -10
- package/src/public/extractors/symbols-coordinator.ts +1 -0
- package/src/public/impact/analyzer.ts +15 -12
- package/src/public/impact/coverage-depth-quality.ts +1 -1
- package/src/public/impact/diagnostics.ts +2 -1
- package/src/public/impact/diff-meaning.ts +11 -4
- package/src/public/impact/full-kb-quality.ts +463 -72
- package/src/public/operations/catalog.ts +10 -4
- package/src/public/operations/check-executor.ts +4 -8
- package/src/public/operations/check-helpers.ts +2 -2
- package/src/public/operations/contracts.ts +78 -34
- package/src/public/operations/discovery-entities.ts +53 -0
- package/src/public/operations/discovery-executors.ts +64 -48
- package/src/public/operations/index.ts +1 -1
- package/src/public/operations/migration-plan.ts +32 -25
- package/src/public/operations/node-ports.ts +6 -6
- package/src/public/operations/prolog-json.ts +13 -5
- package/src/public/operations/repair-plan.ts +60 -23
- package/src/public/operations/result-envelope.ts +15 -10
- package/src/public/operations/runtime-types.ts +26 -2
- package/src/public/operations/specs/check-rules.generated.ts +38 -0
- package/src/public/operations/specs/check.ts +12 -21
- package/src/public/operations/specs/discovery.ts +3 -0
- package/src/public/operations/specs/mutation-schemas.ts +22 -9
- package/src/public/operations/specs/planning.ts +7 -0
- package/src/public/operations/specs/proof.ts +43 -0
- package/src/public/operations/specs/reporting.ts +140 -13
- package/src/public/operations/specs/semantic.ts +79 -17
- package/src/public/operations/symbol-repair-plan.ts +166 -7
- package/src/public/operations/types.ts +6 -1
- package/src/public/proof-fingerprint.ts +216 -0
- package/src/public/proof-protocol-types.d.ts +96 -0
- package/src/public/proof-protocol.ts +589 -0
- package/src/public/proof-receipt.ts +499 -0
- package/src/public/schemas/entity.ts +26 -10
- package/src/public/skills/kibi-freshness/SKILL.md +1 -1
- package/src/public/skills/kibi-usage/SKILL.md +44 -12
- package/src/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/src/public/skills/kibi-usage/resources/proof.md +150 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +6 -6
- package/src/public/symbol-granularity.generated.ts +74 -0
- package/src/public/symbol-granularity.ts +34 -59
- package/src/public/telemetry-acceptance-types.d.ts +98 -0
- package/src/public/telemetry-acceptance.ts +22 -100
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/schemas/entity.schema.json +355 -215
- package/dist/cli-register-verification.d.ts +0 -3
- package/dist/cli-register-verification.d.ts.map +0 -1
- package/dist/cli-register-verification.js +0 -16
- package/dist/commands/verify.d.ts +0 -10
- package/dist/commands/verify.d.ts.map +0 -1
- package/dist/commands/verify.js +0 -126
- package/dist/operations/verification/ingest-verification.d.ts +0 -29
- package/dist/operations/verification/ingest-verification.d.ts.map +0 -1
- package/dist/operations/verification/ingest-verification.js +0 -192
- package/dist/public/operations/specs/verification.d.ts +0 -78
- package/dist/public/operations/specs/verification.d.ts.map +0 -1
- package/dist/public/operations/specs/verification.js +0 -62
- package/dist/public/playwright-case-id.d.ts.map +0 -1
- package/dist/public/verification-receipt.d.ts +0 -242
- package/dist/public/verification-receipt.d.ts.map +0 -1
- package/dist/public/verification-receipt.js +0 -296
- package/dist/verification/playwright-reporter.d.ts +0 -21
- package/dist/verification/playwright-reporter.d.ts.map +0 -1
- package/dist/verification/playwright-reporter.js +0 -114
- package/src/public/operations/specs/verification.ts +0 -78
- package/src/public/playwright-case-id.ts +0 -35
- package/src/public/verification-receipt.ts +0 -412
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
export declare const VERIFICATION_RECEIPT_VERSION: "kibi.verification-receipt.v1";
|
|
2
|
-
export declare const VERIFICATION_RECEIPT_V2_VERSION: "kibi.verification-receipt.v2";
|
|
3
|
-
export declare const VERIFICATION_CONTRACT_VERSION: "kibi.verification-contract.v1";
|
|
4
|
-
export declare const VERIFICATION_RECEIPT_MAX_AGE_SECONDS: number;
|
|
5
|
-
export declare const VERIFICATION_RECEIPT_OUTCOMES: readonly ["passed", "failed", "errored", "cancelled", "skipped", "timed_out", "interrupted"];
|
|
6
|
-
export declare const VERIFICATION_CONTRACT_SCHEMA: {
|
|
7
|
-
readonly type: "object";
|
|
8
|
-
readonly required: readonly ["version", "runner", "command_argv", "required_case_symbols", "required_projects", "success_policy"];
|
|
9
|
-
readonly properties: {
|
|
10
|
-
readonly version: {
|
|
11
|
-
readonly type: "string";
|
|
12
|
-
readonly const: "kibi.verification-contract.v1";
|
|
13
|
-
};
|
|
14
|
-
readonly runner: {
|
|
15
|
-
readonly type: "string";
|
|
16
|
-
readonly minLength: 1;
|
|
17
|
-
};
|
|
18
|
-
readonly command_argv: {
|
|
19
|
-
readonly type: "array";
|
|
20
|
-
readonly minItems: 1;
|
|
21
|
-
readonly items: {
|
|
22
|
-
readonly type: "string";
|
|
23
|
-
readonly minLength: 1;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
readonly required_case_symbols: {
|
|
27
|
-
readonly type: "array";
|
|
28
|
-
readonly items: {
|
|
29
|
-
readonly type: "string";
|
|
30
|
-
readonly minLength: 1;
|
|
31
|
-
};
|
|
32
|
-
readonly uniqueItems: true;
|
|
33
|
-
};
|
|
34
|
-
readonly required_projects: {
|
|
35
|
-
readonly type: "array";
|
|
36
|
-
readonly items: {
|
|
37
|
-
readonly type: "string";
|
|
38
|
-
readonly minLength: 1;
|
|
39
|
-
};
|
|
40
|
-
readonly uniqueItems: true;
|
|
41
|
-
};
|
|
42
|
-
readonly success_policy: {
|
|
43
|
-
readonly type: "string";
|
|
44
|
-
readonly const: "all_required_cases_first_attempt";
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
readonly additionalProperties: false;
|
|
48
|
-
};
|
|
49
|
-
export declare const VERIFICATION_RECEIPT_SCHEMA: {
|
|
50
|
-
readonly oneOf: readonly [{
|
|
51
|
-
readonly type: "object";
|
|
52
|
-
readonly required: readonly ["version", "receipt_id", "test_id", "runner", "command", "scope", "outcome", "code_snapshot", "environment_hash", "started_at", "finished_at", "artifact_digest"];
|
|
53
|
-
readonly properties: {
|
|
54
|
-
readonly version: {
|
|
55
|
-
readonly type: "string";
|
|
56
|
-
readonly const: "kibi.verification-receipt.v1";
|
|
57
|
-
};
|
|
58
|
-
readonly receipt_id: {
|
|
59
|
-
readonly type: "string";
|
|
60
|
-
readonly pattern: "^VR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$";
|
|
61
|
-
};
|
|
62
|
-
readonly test_id: {
|
|
63
|
-
readonly type: "string";
|
|
64
|
-
readonly minLength: 1;
|
|
65
|
-
};
|
|
66
|
-
readonly runner: {
|
|
67
|
-
readonly type: "string";
|
|
68
|
-
readonly minLength: 1;
|
|
69
|
-
};
|
|
70
|
-
readonly command: {
|
|
71
|
-
readonly type: "string";
|
|
72
|
-
readonly minLength: 1;
|
|
73
|
-
};
|
|
74
|
-
readonly scope: {
|
|
75
|
-
readonly type: "string";
|
|
76
|
-
readonly enum: readonly ["unit", "integration", "end_to_end"];
|
|
77
|
-
};
|
|
78
|
-
readonly outcome: {
|
|
79
|
-
readonly type: "string";
|
|
80
|
-
readonly enum: readonly ["passed", "failed", "errored", "cancelled", "skipped", "timed_out", "interrupted"];
|
|
81
|
-
};
|
|
82
|
-
readonly code_snapshot: {
|
|
83
|
-
readonly type: "string";
|
|
84
|
-
readonly pattern: "^[a-f0-9]{64}$";
|
|
85
|
-
};
|
|
86
|
-
readonly environment_hash: {
|
|
87
|
-
readonly type: "string";
|
|
88
|
-
readonly pattern: "^[a-f0-9]{64}$";
|
|
89
|
-
};
|
|
90
|
-
readonly started_at: {
|
|
91
|
-
readonly type: "string";
|
|
92
|
-
readonly minLength: 1;
|
|
93
|
-
};
|
|
94
|
-
readonly finished_at: {
|
|
95
|
-
readonly type: "string";
|
|
96
|
-
readonly minLength: 1;
|
|
97
|
-
};
|
|
98
|
-
readonly artifact_digest: {
|
|
99
|
-
readonly type: "string";
|
|
100
|
-
readonly pattern: "^[a-f0-9]{64}$";
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
readonly additionalProperties: false;
|
|
104
|
-
}, {
|
|
105
|
-
readonly required: readonly ["version", "receipt_id", "test_id", "runner", "command", "scope", "outcome", "code_snapshot", "environment_hash", "started_at", "finished_at", "artifact_digest", "command_argv", "contract_hash", "case_results"];
|
|
106
|
-
readonly properties: {
|
|
107
|
-
readonly version: {
|
|
108
|
-
readonly type: "string";
|
|
109
|
-
readonly const: "kibi.verification-receipt.v2";
|
|
110
|
-
};
|
|
111
|
-
readonly command_argv: {
|
|
112
|
-
readonly type: "array";
|
|
113
|
-
readonly minItems: 1;
|
|
114
|
-
readonly items: {
|
|
115
|
-
readonly type: "string";
|
|
116
|
-
readonly minLength: 1;
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
readonly contract_hash: {
|
|
120
|
-
readonly type: "string";
|
|
121
|
-
readonly pattern: "^[a-f0-9]{64}$";
|
|
122
|
-
};
|
|
123
|
-
readonly case_results: {
|
|
124
|
-
readonly type: "array";
|
|
125
|
-
readonly minItems: 1;
|
|
126
|
-
readonly maxItems: 1000;
|
|
127
|
-
readonly items: {
|
|
128
|
-
readonly type: "object";
|
|
129
|
-
readonly required: readonly ["symbol_id", "project", "outcome", "retries", "duration_ms"];
|
|
130
|
-
readonly properties: {
|
|
131
|
-
readonly symbol_id: {
|
|
132
|
-
readonly type: "string";
|
|
133
|
-
readonly minLength: 1;
|
|
134
|
-
};
|
|
135
|
-
readonly project: {
|
|
136
|
-
readonly type: "string";
|
|
137
|
-
readonly minLength: 1;
|
|
138
|
-
};
|
|
139
|
-
readonly outcome: {
|
|
140
|
-
readonly type: "string";
|
|
141
|
-
readonly enum: readonly ["passed", "failed", "timed_out", "skipped", "interrupted"];
|
|
142
|
-
};
|
|
143
|
-
readonly retries: {
|
|
144
|
-
readonly type: "integer";
|
|
145
|
-
readonly minimum: 0;
|
|
146
|
-
};
|
|
147
|
-
readonly duration_ms: {
|
|
148
|
-
readonly type: "integer";
|
|
149
|
-
readonly minimum: 0;
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
readonly additionalProperties: false;
|
|
153
|
-
};
|
|
154
|
-
};
|
|
155
|
-
readonly receipt_id: {
|
|
156
|
-
readonly type: "string";
|
|
157
|
-
readonly pattern: "^VR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$";
|
|
158
|
-
};
|
|
159
|
-
readonly test_id: {
|
|
160
|
-
readonly type: "string";
|
|
161
|
-
readonly minLength: 1;
|
|
162
|
-
};
|
|
163
|
-
readonly runner: {
|
|
164
|
-
readonly type: "string";
|
|
165
|
-
readonly minLength: 1;
|
|
166
|
-
};
|
|
167
|
-
readonly command: {
|
|
168
|
-
readonly type: "string";
|
|
169
|
-
readonly minLength: 1;
|
|
170
|
-
};
|
|
171
|
-
readonly scope: {
|
|
172
|
-
readonly type: "string";
|
|
173
|
-
readonly enum: readonly ["unit", "integration", "end_to_end"];
|
|
174
|
-
};
|
|
175
|
-
readonly outcome: {
|
|
176
|
-
readonly type: "string";
|
|
177
|
-
readonly enum: readonly ["passed", "failed", "errored", "cancelled", "skipped", "timed_out", "interrupted"];
|
|
178
|
-
};
|
|
179
|
-
readonly code_snapshot: {
|
|
180
|
-
readonly type: "string";
|
|
181
|
-
readonly pattern: "^[a-f0-9]{64}$";
|
|
182
|
-
};
|
|
183
|
-
readonly environment_hash: {
|
|
184
|
-
readonly type: "string";
|
|
185
|
-
readonly pattern: "^[a-f0-9]{64}$";
|
|
186
|
-
};
|
|
187
|
-
readonly started_at: {
|
|
188
|
-
readonly type: "string";
|
|
189
|
-
readonly minLength: 1;
|
|
190
|
-
};
|
|
191
|
-
readonly finished_at: {
|
|
192
|
-
readonly type: "string";
|
|
193
|
-
readonly minLength: 1;
|
|
194
|
-
};
|
|
195
|
-
readonly artifact_digest: {
|
|
196
|
-
readonly type: "string";
|
|
197
|
-
readonly pattern: "^[a-f0-9]{64}$";
|
|
198
|
-
};
|
|
199
|
-
};
|
|
200
|
-
readonly type: "object";
|
|
201
|
-
readonly additionalProperties: false;
|
|
202
|
-
}];
|
|
203
|
-
};
|
|
204
|
-
export type VerificationReceipt = Readonly<{
|
|
205
|
-
version: typeof VERIFICATION_RECEIPT_VERSION;
|
|
206
|
-
receipt_id: string;
|
|
207
|
-
test_id: string;
|
|
208
|
-
runner: string;
|
|
209
|
-
command: string;
|
|
210
|
-
scope: "unit" | "integration" | "end_to_end";
|
|
211
|
-
outcome: (typeof VERIFICATION_RECEIPT_OUTCOMES)[number];
|
|
212
|
-
code_snapshot: string;
|
|
213
|
-
environment_hash: string;
|
|
214
|
-
started_at: string;
|
|
215
|
-
finished_at: string;
|
|
216
|
-
artifact_digest: string;
|
|
217
|
-
}>;
|
|
218
|
-
export type VerificationReceiptV2 = VerificationReceipt & Readonly<{
|
|
219
|
-
version: typeof VERIFICATION_RECEIPT_V2_VERSION;
|
|
220
|
-
command_argv: readonly string[];
|
|
221
|
-
contract_hash: string;
|
|
222
|
-
case_results: readonly {
|
|
223
|
-
symbol_id: string;
|
|
224
|
-
project: string;
|
|
225
|
-
outcome: "passed" | "failed" | "timed_out" | "skipped" | "interrupted";
|
|
226
|
-
retries: number;
|
|
227
|
-
duration_ms: number;
|
|
228
|
-
}[];
|
|
229
|
-
}>;
|
|
230
|
-
export type VerificationContract = Readonly<{
|
|
231
|
-
version: typeof VERIFICATION_CONTRACT_VERSION;
|
|
232
|
-
runner: string;
|
|
233
|
-
command_argv: readonly string[];
|
|
234
|
-
required_case_symbols: readonly string[];
|
|
235
|
-
required_projects: readonly string[];
|
|
236
|
-
success_policy: "all_required_cases_first_attempt";
|
|
237
|
-
}>;
|
|
238
|
-
export declare function verificationReceiptHistoryErrors(testId: string, verificationScope: unknown, receipts: readonly Readonly<Record<string, unknown>>[]): readonly string[];
|
|
239
|
-
export declare function verificationReceiptCurrentBindingErrors(testId: string, verificationScope: unknown, receipt: Readonly<Record<string, unknown>>, contract?: Readonly<Record<string, unknown>>): readonly string[];
|
|
240
|
-
export declare function verificationContractHash(contract: Readonly<Record<string, unknown>>): string;
|
|
241
|
-
export declare function appendOnlyVerificationReceiptHistoryErrors(previous: readonly Readonly<Record<string, unknown>>[], next: readonly Readonly<Record<string, unknown>>[] | undefined): readonly string[];
|
|
242
|
-
//# sourceMappingURL=verification-receipt.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verification-receipt.d.ts","sourceRoot":"","sources":["../../src/public/verification-receipt.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,EACvC,8BAAuC,CAAC;AAE1C,eAAO,MAAM,+BAA+B,EAC1C,8BAAuC,CAAC;AAE1C,eAAO,MAAM,6BAA6B,EACxC,+BAAwC,CAAC;AAE3C,eAAO,MAAM,oCAAoC,QAAmB,CAAC;AAErE,eAAO,MAAM,6BAA6B,8FAQhC,CAAC;AAuCX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC/B,CAAC;AA0CX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE9B,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,OAAO,EAAE,OAAO,4BAA4B,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC7C,OAAO,EAAE,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AAGH,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GACrD,QAAQ,CAAC;IACP,OAAO,EAAE,OAAO,+BAA+B,CAAC;IAChD,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,SAAS;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;QACvE,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;CACL,CAAC,CAAC;AAGL,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,OAAO,EAAE,OAAO,6BAA6B,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,cAAc,EAAE,kCAAkC,CAAC;CACpD,CAAC,CAAC;AAeH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GACrD,SAAS,MAAM,EAAE,CAsInB;AAGD,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC3C,SAAS,MAAM,EAAE,CA2BnB;AAgBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC1C,MAAM,CAER;AAED,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EACtD,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,GAC7D,SAAS,MAAM,EAAE,CAoBnB"}
|
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
export const VERIFICATION_RECEIPT_VERSION = "kibi.verification-receipt.v1";
|
|
3
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
4
|
-
export const VERIFICATION_RECEIPT_V2_VERSION = "kibi.verification-receipt.v2";
|
|
5
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
6
|
-
export const VERIFICATION_CONTRACT_VERSION = "kibi.verification-contract.v1";
|
|
7
|
-
export const VERIFICATION_RECEIPT_MAX_AGE_SECONDS = 7 * 24 * 60 * 60;
|
|
8
|
-
export const VERIFICATION_RECEIPT_OUTCOMES = [
|
|
9
|
-
"passed",
|
|
10
|
-
"failed",
|
|
11
|
-
"errored",
|
|
12
|
-
"cancelled",
|
|
13
|
-
"skipped",
|
|
14
|
-
"timed_out",
|
|
15
|
-
"interrupted",
|
|
16
|
-
];
|
|
17
|
-
const VERIFICATION_RECEIPT_V1_SCHEMA = {
|
|
18
|
-
type: "object",
|
|
19
|
-
required: [
|
|
20
|
-
"version",
|
|
21
|
-
"receipt_id",
|
|
22
|
-
"test_id",
|
|
23
|
-
"runner",
|
|
24
|
-
"command",
|
|
25
|
-
"scope",
|
|
26
|
-
"outcome",
|
|
27
|
-
"code_snapshot",
|
|
28
|
-
"environment_hash",
|
|
29
|
-
"started_at",
|
|
30
|
-
"finished_at",
|
|
31
|
-
"artifact_digest",
|
|
32
|
-
],
|
|
33
|
-
properties: {
|
|
34
|
-
version: { type: "string", const: VERIFICATION_RECEIPT_VERSION },
|
|
35
|
-
receipt_id: {
|
|
36
|
-
type: "string",
|
|
37
|
-
pattern: "^VR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$",
|
|
38
|
-
},
|
|
39
|
-
test_id: { type: "string", minLength: 1 },
|
|
40
|
-
runner: { type: "string", minLength: 1 },
|
|
41
|
-
command: { type: "string", minLength: 1 },
|
|
42
|
-
scope: { type: "string", enum: ["unit", "integration", "end_to_end"] },
|
|
43
|
-
outcome: { type: "string", enum: [...VERIFICATION_RECEIPT_OUTCOMES] },
|
|
44
|
-
code_snapshot: { type: "string", pattern: "^[a-f0-9]{64}$" },
|
|
45
|
-
environment_hash: { type: "string", pattern: "^[a-f0-9]{64}$" },
|
|
46
|
-
started_at: { type: "string", minLength: 1 },
|
|
47
|
-
finished_at: { type: "string", minLength: 1 },
|
|
48
|
-
artifact_digest: { type: "string", pattern: "^[a-f0-9]{64}$" },
|
|
49
|
-
},
|
|
50
|
-
additionalProperties: false,
|
|
51
|
-
};
|
|
52
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
53
|
-
export const VERIFICATION_CONTRACT_SCHEMA = {
|
|
54
|
-
type: "object",
|
|
55
|
-
required: [
|
|
56
|
-
"version",
|
|
57
|
-
"runner",
|
|
58
|
-
"command_argv",
|
|
59
|
-
"required_case_symbols",
|
|
60
|
-
"required_projects",
|
|
61
|
-
"success_policy",
|
|
62
|
-
],
|
|
63
|
-
properties: {
|
|
64
|
-
version: { type: "string", const: VERIFICATION_CONTRACT_VERSION },
|
|
65
|
-
runner: { type: "string", minLength: 1 },
|
|
66
|
-
command_argv: {
|
|
67
|
-
type: "array",
|
|
68
|
-
minItems: 1,
|
|
69
|
-
items: { type: "string", minLength: 1 },
|
|
70
|
-
},
|
|
71
|
-
required_case_symbols: {
|
|
72
|
-
type: "array",
|
|
73
|
-
items: { type: "string", minLength: 1 },
|
|
74
|
-
uniqueItems: true,
|
|
75
|
-
},
|
|
76
|
-
required_projects: {
|
|
77
|
-
type: "array",
|
|
78
|
-
items: { type: "string", minLength: 1 },
|
|
79
|
-
uniqueItems: true,
|
|
80
|
-
},
|
|
81
|
-
success_policy: {
|
|
82
|
-
type: "string",
|
|
83
|
-
const: "all_required_cases_first_attempt",
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
additionalProperties: false,
|
|
87
|
-
};
|
|
88
|
-
const VERIFICATION_RECEIPT_V2_SCHEMA = {
|
|
89
|
-
...VERIFICATION_RECEIPT_V1_SCHEMA,
|
|
90
|
-
required: [
|
|
91
|
-
...VERIFICATION_RECEIPT_V1_SCHEMA.required,
|
|
92
|
-
"command_argv",
|
|
93
|
-
"contract_hash",
|
|
94
|
-
"case_results",
|
|
95
|
-
],
|
|
96
|
-
properties: {
|
|
97
|
-
...VERIFICATION_RECEIPT_V1_SCHEMA.properties,
|
|
98
|
-
version: { type: "string", const: VERIFICATION_RECEIPT_V2_VERSION },
|
|
99
|
-
command_argv: {
|
|
100
|
-
type: "array",
|
|
101
|
-
minItems: 1,
|
|
102
|
-
items: { type: "string", minLength: 1 },
|
|
103
|
-
},
|
|
104
|
-
contract_hash: { type: "string", pattern: "^[a-f0-9]{64}$" },
|
|
105
|
-
case_results: {
|
|
106
|
-
type: "array",
|
|
107
|
-
minItems: 1,
|
|
108
|
-
maxItems: 1000,
|
|
109
|
-
items: {
|
|
110
|
-
type: "object",
|
|
111
|
-
required: ["symbol_id", "project", "outcome", "retries", "duration_ms"],
|
|
112
|
-
properties: {
|
|
113
|
-
symbol_id: { type: "string", minLength: 1 },
|
|
114
|
-
project: { type: "string", minLength: 1 },
|
|
115
|
-
outcome: {
|
|
116
|
-
type: "string",
|
|
117
|
-
enum: ["passed", "failed", "timed_out", "skipped", "interrupted"],
|
|
118
|
-
},
|
|
119
|
-
retries: { type: "integer", minimum: 0 },
|
|
120
|
-
duration_ms: { type: "integer", minimum: 0 },
|
|
121
|
-
},
|
|
122
|
-
additionalProperties: false,
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
};
|
|
127
|
-
export const VERIFICATION_RECEIPT_SCHEMA = {
|
|
128
|
-
oneOf: [VERIFICATION_RECEIPT_V1_SCHEMA, VERIFICATION_RECEIPT_V2_SCHEMA],
|
|
129
|
-
};
|
|
130
|
-
function timestamp(value) {
|
|
131
|
-
if (typeof value !== "string")
|
|
132
|
-
return null;
|
|
133
|
-
if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/.test(value)) {
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
const parsed = Date.parse(value);
|
|
137
|
-
return Number.isFinite(parsed) ? parsed : null;
|
|
138
|
-
}
|
|
139
|
-
export function verificationReceiptHistoryErrors(testId, verificationScope, receipts) {
|
|
140
|
-
const errors = [];
|
|
141
|
-
let previousFinishedAt = null;
|
|
142
|
-
if (receipts.length > 0 && typeof verificationScope !== "string") {
|
|
143
|
-
errors.push("verification_scope is required when verification_receipts are present");
|
|
144
|
-
}
|
|
145
|
-
const receiptIds = new Set();
|
|
146
|
-
for (const [index, receipt] of receipts.entries()) {
|
|
147
|
-
const prefix = `verification_receipts[${index}]`;
|
|
148
|
-
const receiptId = receipt.receipt_id;
|
|
149
|
-
if (typeof receiptId === "string") {
|
|
150
|
-
if (receiptIds.has(receiptId)) {
|
|
151
|
-
errors.push(`${prefix}.receipt_id duplicates '${receiptId}'`);
|
|
152
|
-
}
|
|
153
|
-
receiptIds.add(receiptId);
|
|
154
|
-
}
|
|
155
|
-
if (receipt.test_id !== testId) {
|
|
156
|
-
errors.push(`${prefix}.test_id must equal '${testId}'`);
|
|
157
|
-
}
|
|
158
|
-
if (!["unit", "integration", "end_to_end"].includes(receipt.scope)) {
|
|
159
|
-
errors.push(`${prefix}.scope must be a supported verification scope`);
|
|
160
|
-
}
|
|
161
|
-
const startedAt = timestamp(receipt.started_at);
|
|
162
|
-
const finishedAt = timestamp(receipt.finished_at);
|
|
163
|
-
if (startedAt === null)
|
|
164
|
-
errors.push(`${prefix}.started_at must be ISO-8601`);
|
|
165
|
-
if (finishedAt === null)
|
|
166
|
-
errors.push(`${prefix}.finished_at must be ISO-8601`);
|
|
167
|
-
if (startedAt !== null && finishedAt !== null && finishedAt < startedAt) {
|
|
168
|
-
errors.push(`${prefix}.finished_at must not precede started_at`);
|
|
169
|
-
}
|
|
170
|
-
if (finishedAt !== null &&
|
|
171
|
-
previousFinishedAt !== null &&
|
|
172
|
-
finishedAt <= previousFinishedAt) {
|
|
173
|
-
errors.push(`${prefix}.finished_at must be strictly later than the previous receipt`);
|
|
174
|
-
}
|
|
175
|
-
if (finishedAt !== null)
|
|
176
|
-
previousFinishedAt = finishedAt;
|
|
177
|
-
if (receipt.version === VERIFICATION_RECEIPT_V2_VERSION) {
|
|
178
|
-
if (!Array.isArray(receipt.command_argv) ||
|
|
179
|
-
receipt.command_argv.length === 0 ||
|
|
180
|
-
receipt.command_argv.some((argument) => typeof argument !== "string" || argument.trim() === "")) {
|
|
181
|
-
errors.push(`${prefix}.command_argv must be a non-empty argv of strings`);
|
|
182
|
-
}
|
|
183
|
-
if (typeof receipt.contract_hash !== "string" ||
|
|
184
|
-
!/^[a-f0-9]{64}$/.test(receipt.contract_hash)) {
|
|
185
|
-
errors.push(`${prefix}.contract_hash must be a SHA-256 hex digest`);
|
|
186
|
-
}
|
|
187
|
-
const caseResults = receipt.case_results;
|
|
188
|
-
if (!Array.isArray(caseResults) || caseResults.length === 0) {
|
|
189
|
-
errors.push(`${prefix}.case_results must contain at least one contracted case`);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
const seenCases = new Set();
|
|
193
|
-
for (const [caseIndex, caseResult] of caseResults.entries()) {
|
|
194
|
-
if (!caseResult ||
|
|
195
|
-
typeof caseResult !== "object" ||
|
|
196
|
-
Array.isArray(caseResult)) {
|
|
197
|
-
errors.push(`${prefix}.case_results[${caseIndex}] must be an object`);
|
|
198
|
-
continue;
|
|
199
|
-
}
|
|
200
|
-
const row = caseResult;
|
|
201
|
-
if (typeof row.symbol_id !== "string" ||
|
|
202
|
-
row.symbol_id.trim() === "" ||
|
|
203
|
-
typeof row.project !== "string" ||
|
|
204
|
-
row.project.trim() === "") {
|
|
205
|
-
errors.push(`${prefix}.case_results[${caseIndex}] requires non-empty symbol_id and project`);
|
|
206
|
-
}
|
|
207
|
-
if (![
|
|
208
|
-
"passed",
|
|
209
|
-
"failed",
|
|
210
|
-
"timed_out",
|
|
211
|
-
"skipped",
|
|
212
|
-
"interrupted",
|
|
213
|
-
].includes(String(row.outcome))) {
|
|
214
|
-
errors.push(`${prefix}.case_results[${caseIndex}].outcome is not a supported result`);
|
|
215
|
-
}
|
|
216
|
-
const key = `${String(row.project ?? "")}\0${String(row.symbol_id ?? "")}`;
|
|
217
|
-
if (seenCases.has(key))
|
|
218
|
-
errors.push(`${prefix}.case_results duplicates '${key.replace("\0", "/")}'`);
|
|
219
|
-
seenCases.add(key);
|
|
220
|
-
if (typeof row.retries !== "number" ||
|
|
221
|
-
!Number.isInteger(row.retries) ||
|
|
222
|
-
row.retries < 0)
|
|
223
|
-
errors.push(`${prefix}.case_results[${caseIndex}].retries must be a non-negative integer`);
|
|
224
|
-
if (typeof row.duration_ms !== "number" ||
|
|
225
|
-
!Number.isInteger(row.duration_ms) ||
|
|
226
|
-
row.duration_ms < 0)
|
|
227
|
-
errors.push(`${prefix}.case_results[${caseIndex}].duration_ms must be a non-negative integer`);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
return errors;
|
|
233
|
-
}
|
|
234
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
235
|
-
export function verificationReceiptCurrentBindingErrors(testId, verificationScope, receipt, contract) {
|
|
236
|
-
const errors = [];
|
|
237
|
-
if (receipt.test_id !== testId) {
|
|
238
|
-
errors.push(`verification receipt test_id must equal '${testId}'`);
|
|
239
|
-
}
|
|
240
|
-
if (typeof verificationScope !== "string") {
|
|
241
|
-
errors.push("verification_scope is required for current receipt evidence");
|
|
242
|
-
}
|
|
243
|
-
else if (receipt.scope !== verificationScope) {
|
|
244
|
-
errors.push(`verification receipt scope must equal the current verification_scope '${verificationScope}'`);
|
|
245
|
-
}
|
|
246
|
-
if (contract !== undefined) {
|
|
247
|
-
if (receipt.version !== VERIFICATION_RECEIPT_V2_VERSION) {
|
|
248
|
-
errors.push("the current verification_contract requires a kibi.verification-receipt.v2");
|
|
249
|
-
}
|
|
250
|
-
else if (typeof receipt.contract_hash === "string") {
|
|
251
|
-
const expectedHash = verificationContractHash(contract);
|
|
252
|
-
if (receipt.contract_hash !== expectedHash) {
|
|
253
|
-
errors.push("verification receipt contract_hash does not match the current verification_contract");
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
return errors;
|
|
258
|
-
}
|
|
259
|
-
function canonicalJson(value) {
|
|
260
|
-
if (Array.isArray(value)) {
|
|
261
|
-
return `[${value.map(canonicalJson).join(",")}]`;
|
|
262
|
-
}
|
|
263
|
-
if (value !== null && typeof value === "object") {
|
|
264
|
-
return `{${Object.entries(value)
|
|
265
|
-
.sort(([left], [right]) => left.localeCompare(right))
|
|
266
|
-
.map(([key, child]) => `${JSON.stringify(key)}:${canonicalJson(child)}`)
|
|
267
|
-
.join(",")}}`;
|
|
268
|
-
}
|
|
269
|
-
return JSON.stringify(value);
|
|
270
|
-
}
|
|
271
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
272
|
-
export function verificationContractHash(contract) {
|
|
273
|
-
return createHash("sha256").update(canonicalJson(contract)).digest("hex");
|
|
274
|
-
}
|
|
275
|
-
export function appendOnlyVerificationReceiptHistoryErrors(previous, next) {
|
|
276
|
-
if (previous.length === 0)
|
|
277
|
-
return [];
|
|
278
|
-
if (next === undefined) {
|
|
279
|
-
return [
|
|
280
|
-
"verification_receipts is append-only and cannot be removed from an existing test",
|
|
281
|
-
];
|
|
282
|
-
}
|
|
283
|
-
if (next.length < previous.length) {
|
|
284
|
-
return [
|
|
285
|
-
`verification_receipts is append-only: expected at least ${previous.length} historical receipt(s), received ${next.length}`,
|
|
286
|
-
];
|
|
287
|
-
}
|
|
288
|
-
for (const [index, receipt] of previous.entries()) {
|
|
289
|
-
if (canonicalJson(next[index]) !== canonicalJson(receipt)) {
|
|
290
|
-
return [
|
|
291
|
-
`verification_receipts is append-only: historical receipt at index ${index} was changed, removed, or reordered`,
|
|
292
|
-
];
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
return [];
|
|
296
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export declare const PLAYWRIGHT_RUN_VERSION: "kibi.playwright-run.v1";
|
|
2
|
-
export type KibiPlaywrightReporterOptions = Readonly<{
|
|
3
|
-
outputPath?: string;
|
|
4
|
-
codeSnapshot?: string;
|
|
5
|
-
commandArgv?: readonly string[];
|
|
6
|
-
environmentHash?: string;
|
|
7
|
-
workspaceRoot?: string;
|
|
8
|
-
now?: () => Date;
|
|
9
|
-
}>;
|
|
10
|
-
/** Reporter callback surface intentionally uses structural types, no Playwright dependency. */
|
|
11
|
-
export declare class KibiPlaywrightReporter {
|
|
12
|
-
private readonly options;
|
|
13
|
-
private readonly cases;
|
|
14
|
-
private startedAt;
|
|
15
|
-
constructor(options?: KibiPlaywrightReporterOptions);
|
|
16
|
-
onBegin(): void;
|
|
17
|
-
onTestEnd(test: unknown, result: unknown): void;
|
|
18
|
-
onEnd(result?: unknown): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export default KibiPlaywrightReporter;
|
|
21
|
-
//# sourceMappingURL=playwright-reporter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-reporter.d.ts","sourceRoot":"","sources":["../../src/verification/playwright-reporter.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,EAAG,wBAAiC,CAAC;AAGxE,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC,CAAC;AAuDH,+FAA+F;AAC/F,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,6BAAkC;IAMvD,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAoCzC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B7C;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import { mkdir, writeFile } from "node:fs/promises";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
import { normalizePlaywrightSourceFile, playwrightCaseId, } from "../public/playwright-case-id.js";
|
|
5
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
6
|
-
export const PLAYWRIGHT_RUN_VERSION = "kibi.playwright-run.v1";
|
|
7
|
-
function envHash() {
|
|
8
|
-
const lockfile = process.env.KIBI_LOCKFILE_DIGEST ?? "unknown";
|
|
9
|
-
return createHash("sha256")
|
|
10
|
-
.update(JSON.stringify({
|
|
11
|
-
platform: process.platform,
|
|
12
|
-
arch: process.arch,
|
|
13
|
-
node: process.version,
|
|
14
|
-
lockfile,
|
|
15
|
-
projects: process.env.KIBI_VERIFICATION_PROJECTS ?? "",
|
|
16
|
-
}))
|
|
17
|
-
.digest("hex");
|
|
18
|
-
}
|
|
19
|
-
function outputPath(options) {
|
|
20
|
-
const configured = options.outputPath ?? process.env.KIBI_VERIFICATION_OUTPUT;
|
|
21
|
-
if (!configured)
|
|
22
|
-
throw new Error("KIBI_VERIFICATION_OUTPUT is required");
|
|
23
|
-
return path.resolve(configured);
|
|
24
|
-
}
|
|
25
|
-
function titlePath(test) {
|
|
26
|
-
const candidate = test;
|
|
27
|
-
const value = candidate.titlePath?.();
|
|
28
|
-
return Array.isArray(value) ? value.map(String).filter(Boolean) : [];
|
|
29
|
-
}
|
|
30
|
-
function sourceLocation(test) {
|
|
31
|
-
const location = test
|
|
32
|
-
.location;
|
|
33
|
-
return {
|
|
34
|
-
file: typeof location?.file === "string" ? location.file : "unknown",
|
|
35
|
-
line: Number.isInteger(location?.line) ? Number(location?.line) : 1,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function projectName(test, result) {
|
|
39
|
-
const project = test.project?.();
|
|
40
|
-
if (typeof project?.name === "string" && project.name)
|
|
41
|
-
return project.name;
|
|
42
|
-
const resultProject = result.projectName;
|
|
43
|
-
return typeof resultProject === "string" && resultProject
|
|
44
|
-
? resultProject
|
|
45
|
-
: "default";
|
|
46
|
-
}
|
|
47
|
-
/** Reporter callback surface intentionally uses structural types, no Playwright dependency. */
|
|
48
|
-
export class KibiPlaywrightReporter {
|
|
49
|
-
options;
|
|
50
|
-
cases = [];
|
|
51
|
-
startedAt;
|
|
52
|
-
constructor(options = {}) {
|
|
53
|
-
this.options = options;
|
|
54
|
-
this.startedAt = (options.now ?? (() => new Date()))().toISOString();
|
|
55
|
-
}
|
|
56
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
57
|
-
onBegin() {
|
|
58
|
-
this.startedAt = (this.options.now ?? (() => new Date()))().toISOString();
|
|
59
|
-
}
|
|
60
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
61
|
-
onTestEnd(test, result) {
|
|
62
|
-
const resultValue = result;
|
|
63
|
-
const location = sourceLocation(test);
|
|
64
|
-
const titles = titlePath(test);
|
|
65
|
-
const title = titles.join(" > ");
|
|
66
|
-
const status = resultValue.status;
|
|
67
|
-
const outcome = status === "passed"
|
|
68
|
-
? "passed"
|
|
69
|
-
: status === "timedOut"
|
|
70
|
-
? "timed_out"
|
|
71
|
-
: status === "skipped"
|
|
72
|
-
? "skipped"
|
|
73
|
-
: "failed";
|
|
74
|
-
const sourceFile = normalizePlaywrightSourceFile(location.file, this.options.workspaceRoot ?? process.cwd());
|
|
75
|
-
this.cases.push({
|
|
76
|
-
symbol_id: playwrightCaseId(sourceFile, title),
|
|
77
|
-
project: projectName(test, result),
|
|
78
|
-
outcome,
|
|
79
|
-
retries: Number.isInteger(resultValue.retry)
|
|
80
|
-
? Number(resultValue.retry)
|
|
81
|
-
: 0,
|
|
82
|
-
duration_ms: Number.isInteger(resultValue.duration)
|
|
83
|
-
? Number(resultValue.duration)
|
|
84
|
-
: 0,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
// implements REQ-kibi-verification-evidence-contract
|
|
88
|
-
async onEnd(result) {
|
|
89
|
-
const now = this.options.now ?? (() => new Date());
|
|
90
|
-
const status = result?.status;
|
|
91
|
-
const artifact = {
|
|
92
|
-
version: PLAYWRIGHT_RUN_VERSION,
|
|
93
|
-
runner: "playwright",
|
|
94
|
-
command_argv: [
|
|
95
|
-
...(this.options.commandArgv ??
|
|
96
|
-
(process.env.KIBI_VERIFICATION_COMMAND_ARGV
|
|
97
|
-
? JSON.parse(process.env.KIBI_VERIFICATION_COMMAND_ARGV)
|
|
98
|
-
: [])),
|
|
99
|
-
],
|
|
100
|
-
code_snapshot: this.options.codeSnapshot ??
|
|
101
|
-
process.env.KIBI_VERIFICATION_SNAPSHOT ??
|
|
102
|
-
"",
|
|
103
|
-
environment_hash: this.options.environmentHash ?? envHash(),
|
|
104
|
-
started_at: this.startedAt,
|
|
105
|
-
finished_at: now().toISOString(),
|
|
106
|
-
process_exit_code: status === "passed" ? 0 : 1,
|
|
107
|
-
cases: this.cases,
|
|
108
|
-
};
|
|
109
|
-
const target = outputPath(this.options);
|
|
110
|
-
await mkdir(path.dirname(target), { recursive: true });
|
|
111
|
-
await writeFile(target, `${JSON.stringify(artifact, null, 2)}\n`, "utf8");
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
export default KibiPlaywrightReporter;
|