@velum-labs/routekit-eval-setup 1.3.2 → 1.5.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/adapters/authoring-responses-request.d.ts +5 -0
- package/dist/adapters/authoring-responses-request.js +38 -0
- package/dist/adapters/evaluation-evidence-freshness.d.ts +7 -0
- package/dist/adapters/evaluation-evidence-freshness.js +76 -0
- package/dist/adapters/git-task-history.d.ts +67 -0
- package/dist/adapters/git-task-history.js +171 -0
- package/dist/adapters/integrated-repository-history.d.ts +21 -0
- package/dist/adapters/integrated-repository-history.js +175 -0
- package/dist/adapters/repository-command-diagnostic.d.ts +8 -0
- package/dist/adapters/repository-command-diagnostic.js +46 -0
- package/dist/adapters/repository-command-evidence.d.ts +13 -0
- package/dist/adapters/repository-command-evidence.js +102 -0
- package/dist/adapters/repository-command-runner.d.ts +238 -0
- package/dist/adapters/repository-command-runner.js +1483 -0
- package/dist/adapters/repository-import-context.d.ts +47 -0
- package/dist/adapters/repository-import-context.js +469 -0
- package/dist/adapters/repository-node-test-reporter.d.ts +3 -0
- package/dist/adapters/repository-node-test-reporter.js +27 -0
- package/dist/adapters/repository-review-evidence.d.ts +39 -0
- package/dist/adapters/repository-review-evidence.js +632 -0
- package/dist/adapters/repository-seed-selection.d.ts +7 -0
- package/dist/adapters/repository-seed-selection.js +79 -0
- package/dist/adapters/repository-solution-edits.d.ts +49 -0
- package/dist/adapters/repository-solution-edits.js +136 -0
- package/dist/adapters/repository-vitest-phase-adapter.d.ts +8 -0
- package/dist/adapters/repository-vitest-phase-adapter.js +310 -0
- package/dist/adapters/repository-vitest-reporter.d.ts +24 -0
- package/dist/adapters/repository-vitest-reporter.js +314 -0
- package/dist/adapters/strict-authoring-schema.d.ts +5 -0
- package/dist/adapters/strict-authoring-schema.js +158 -0
- package/dist/adapters/test-discovery.d.ts +30 -0
- package/dist/adapters/test-discovery.js +124 -0
- package/dist/adapters/typescript-repository-index.d.ts +51 -0
- package/dist/adapters/typescript-repository-index.js +226 -0
- package/dist/agentic-capabilities-protocol.d.ts +1373 -0
- package/dist/agentic-capabilities-protocol.js +786 -0
- package/dist/case-checkpoint-store.d.ts +29 -0
- package/dist/case-checkpoint-store.js +133 -0
- package/dist/case-pipeline-protocol-v2.d.ts +184 -0
- package/dist/case-pipeline-protocol-v2.js +193 -0
- package/dist/case-pipeline-protocol.d.ts +2626 -0
- package/dist/case-pipeline-protocol.js +371 -0
- package/dist/effect-api.d.ts +74 -10
- package/dist/effect-api.js +56 -6
- package/dist/errors.d.ts +31 -0
- package/dist/errors.js +10 -0
- package/dist/eval-capability-execution-envelope.d.ts +64 -0
- package/dist/eval-capability-execution-envelope.js +98 -0
- package/dist/eval-capability-policy.d.ts +90 -0
- package/dist/eval-capability-policy.js +107 -0
- package/dist/eval-event-log.d.ts +140 -0
- package/dist/eval-event-log.js +220 -0
- package/dist/evaluation-authoring-policy.d.ts +18 -0
- package/dist/evaluation-authoring-policy.js +19 -0
- package/dist/evaluation-authoring-validation.d.ts +22 -0
- package/dist/evaluation-authoring-validation.js +72 -0
- package/dist/evaluation-evidence.d.ts +20 -0
- package/dist/evaluation-evidence.js +319 -0
- package/dist/evaluation-grader-calibration-protocol.d.ts +108 -0
- package/dist/evaluation-grader-calibration-protocol.js +80 -0
- package/dist/evaluation-grader-calibration.d.ts +18 -0
- package/dist/evaluation-grader-calibration.js +334 -0
- package/dist/evaluation-grading-policy.d.ts +24 -0
- package/dist/evaluation-grading-policy.js +54 -0
- package/dist/evaluation-proposal-policy.d.ts +4 -0
- package/dist/evaluation-proposal-policy.js +91 -0
- package/dist/evaluation-source-retrieval.d.ts +68 -0
- package/dist/evaluation-source-retrieval.js +513 -0
- package/dist/evaluation-structure-policy.d.ts +29 -0
- package/dist/evaluation-structure-policy.js +138 -0
- package/dist/index.d.ts +124 -17
- package/dist/index.js +69 -11
- package/dist/inspection.js +2 -3
- package/dist/project-artifacts.d.ts +7 -2
- package/dist/project-artifacts.js +49 -136
- package/dist/project-authoring.d.ts +66 -5
- package/dist/project-authoring.js +783 -109
- package/dist/project-contracts.d.ts +419 -84
- package/dist/project-contracts.js +160 -52
- package/dist/project-store.js +2 -1
- package/dist/project-workflow.d.ts +5 -4
- package/dist/project-workflow.js +154 -35
- package/dist/repository-adversary-protocol.d.ts +64 -0
- package/dist/repository-adversary-protocol.js +105 -0
- package/dist/repository-behavior-protocol.d.ts +188 -0
- package/dist/repository-behavior-protocol.js +202 -0
- package/dist/repository-benchmark-protocol.d.ts +487 -0
- package/dist/repository-benchmark-protocol.js +96 -0
- package/dist/repository-execution-protocol.d.ts +150 -0
- package/dist/repository-execution-protocol.js +38 -0
- package/dist/repository-fixture-instructions.d.ts +3 -0
- package/dist/repository-fixture-instructions.js +91 -0
- package/dist/repository-fixture-protocol.d.ts +79 -0
- package/dist/repository-fixture-protocol.js +79 -0
- package/dist/repository-foundry-plan-protocol.d.ts +118 -0
- package/dist/repository-foundry-plan-protocol.js +296 -0
- package/dist/repository-foundry-progress-protocol.d.ts +52 -0
- package/dist/repository-foundry-progress-protocol.js +52 -0
- package/dist/repository-improvement-protocol.d.ts +100 -0
- package/dist/repository-improvement-protocol.js +106 -0
- package/dist/repository-language-model-protocol.d.ts +43 -0
- package/dist/repository-language-model-protocol.js +146 -0
- package/dist/repository-oracle-coverage-protocol.d.ts +18 -0
- package/dist/repository-oracle-coverage-protocol.js +39 -0
- package/dist/repository-oracle-execution-binding.d.ts +27 -0
- package/dist/repository-oracle-execution-binding.js +59 -0
- package/dist/repository-oracle-protocol.d.ts +230 -0
- package/dist/repository-oracle-protocol.js +156 -0
- package/dist/repository-oracle-scope-policy.d.ts +22 -0
- package/dist/repository-oracle-scope-policy.js +92 -0
- package/dist/repository-quality-policy.d.ts +15 -0
- package/dist/repository-quality-policy.js +357 -0
- package/dist/repository-routing-benchmark-protocol.d.ts +176 -0
- package/dist/repository-routing-benchmark-protocol.js +103 -0
- package/dist/repository-routing-model-protocol.d.ts +36 -0
- package/dist/repository-routing-model-protocol.js +89 -0
- package/dist/repository-routing-plan-protocol.d.ts +112 -0
- package/dist/repository-routing-plan-protocol.js +58 -0
- package/dist/repository-routing-quality-policy.d.ts +9 -0
- package/dist/repository-routing-quality-policy.js +191 -0
- package/dist/repository-seed-qualification-progress-protocol.d.ts +205 -0
- package/dist/repository-seed-qualification-progress-protocol.js +28 -0
- package/dist/repository-semantic-calibration-protocol.d.ts +768 -0
- package/dist/repository-semantic-calibration-protocol.js +276 -0
- package/dist/repository-semantic-calibration.d.ts +163 -0
- package/dist/repository-semantic-calibration.js +581 -0
- package/dist/repository-specification-contract-facts-protocol.d.ts +224 -0
- package/dist/repository-specification-contract-facts-protocol.js +276 -0
- package/dist/repository-specification-critique-protocol.d.ts +189 -0
- package/dist/repository-specification-critique-protocol.js +103 -0
- package/dist/repository-task-family-protocol.d.ts +24 -0
- package/dist/repository-task-family-protocol.js +37 -0
- package/dist/repository-task-seed-protocol.d.ts +384 -0
- package/dist/repository-task-seed-protocol.js +236 -0
- package/dist/repository-trajectory-protocol.d.ts +20 -0
- package/dist/repository-trajectory-protocol.js +42 -0
- package/dist/service.js +1 -1
- package/dist/services/adversary/service.d.ts +64 -0
- package/dist/services/adversary/service.js +330 -0
- package/dist/services/benchmark-compiler/service.d.ts +450 -0
- package/dist/services/benchmark-compiler/service.js +9 -0
- package/dist/services/budgeted-model/service.d.ts +118 -0
- package/dist/services/budgeted-model/service.js +460 -0
- package/dist/services/case-authoring/service.d.ts +163 -0
- package/dist/services/case-authoring/service.js +1456 -0
- package/dist/services/case-finalization/service.d.ts +283 -0
- package/dist/services/case-finalization/service.js +370 -0
- package/dist/services/case-generation/service.d.ts +619 -0
- package/dist/services/case-generation/service.js +2628 -0
- package/dist/services/case-pipeline/service.d.ts +31 -0
- package/dist/services/case-pipeline/service.js +485 -0
- package/dist/services/case-pipeline-v2/service.d.ts +70 -0
- package/dist/services/case-pipeline-v2/service.js +477 -0
- package/dist/services/command-observability/service.d.ts +13 -0
- package/dist/services/command-observability/service.js +3 -0
- package/dist/services/dimension-labeling/service.d.ts +77 -0
- package/dist/services/dimension-labeling/service.js +188 -0
- package/dist/services/eval-candidate/service.d.ts +208 -0
- package/dist/services/eval-candidate/service.js +64 -0
- package/dist/services/eval-capabilities/service.d.ts +183 -0
- package/dist/services/eval-capabilities/service.js +1433 -0
- package/dist/services/eval-environment/service.d.ts +173 -0
- package/dist/services/eval-environment/service.js +127 -0
- package/dist/services/evidence-reconstruction/service.d.ts +36 -0
- package/dist/services/evidence-reconstruction/service.js +145 -0
- package/dist/services/fixture-builder/service.d.ts +62 -0
- package/dist/services/fixture-builder/service.js +36 -0
- package/dist/services/fixture-validation/service.d.ts +75 -0
- package/dist/services/fixture-validation/service.js +295 -0
- package/dist/services/foundry/service.d.ts +831 -0
- package/dist/services/foundry/service.js +442 -0
- package/dist/services/foundry-progress/service.d.ts +62 -0
- package/dist/services/foundry-progress/service.js +149 -0
- package/dist/services/foundry-v2/service.d.ts +54 -0
- package/dist/services/foundry-v2/service.js +28 -0
- package/dist/services/grounded-authoring/service.d.ts +126 -0
- package/dist/services/grounded-authoring/service.js +822 -0
- package/dist/services/historical-case/service.d.ts +722 -0
- package/dist/services/historical-case/service.js +177 -0
- package/dist/services/improvement-loop/service.d.ts +59 -0
- package/dist/services/improvement-loop/service.js +176 -0
- package/dist/services/language-model/service.d.ts +52 -0
- package/dist/services/language-model/service.js +194 -0
- package/dist/services/oracle-builder/service.d.ts +146 -0
- package/dist/services/oracle-builder/service.js +513 -0
- package/dist/services/oracle-coverage/service.d.ts +28 -0
- package/dist/services/oracle-coverage/service.js +50 -0
- package/dist/services/oracle-coverage-witness/service.d.ts +130 -0
- package/dist/services/oracle-coverage-witness/service.js +538 -0
- package/dist/services/pipeline-challenge/service.d.ts +551 -0
- package/dist/services/pipeline-challenge/service.js +427 -0
- package/dist/services/pipeline-controls/service.d.ts +130 -0
- package/dist/services/pipeline-controls/service.js +483 -0
- package/dist/services/pipeline-oracle/service.d.ts +8 -0
- package/dist/services/pipeline-oracle/service.js +256 -0
- package/dist/services/pipeline-seed/service.d.ts +298 -0
- package/dist/services/pipeline-seed/service.js +428 -0
- package/dist/services/pipeline-spec/service.d.ts +103 -0
- package/dist/services/pipeline-spec/service.js +619 -0
- package/dist/services/pipeline-tournament/service.d.ts +258 -0
- package/dist/services/pipeline-tournament/service.js +476 -0
- package/dist/services/quality-gate/service.d.ts +233 -0
- package/dist/services/quality-gate/service.js +136 -0
- package/dist/services/repository-bundle/service.d.ts +33 -0
- package/dist/services/repository-bundle/service.js +114 -0
- package/dist/services/repository-model/service.d.ts +105 -0
- package/dist/services/repository-model/service.js +250 -0
- package/dist/services/repository-public-artifact/service.d.ts +133 -0
- package/dist/services/repository-public-artifact/service.js +330 -0
- package/dist/services/routing-benchmark/service.d.ts +362 -0
- package/dist/services/routing-benchmark/service.js +96 -0
- package/dist/services/specification-critic/service.d.ts +92 -0
- package/dist/services/specification-critic/service.js +172 -0
- package/dist/services/task-family/service.d.ts +40 -0
- package/dist/services/task-family/service.js +55 -0
- package/dist/services/task-seed/service.d.ts +906 -0
- package/dist/services/task-seed/service.js +1406 -0
- package/dist/services/task-specification/service.d.ts +27 -0
- package/dist/services/task-specification/service.js +40 -0
- package/dist/services/trajectory-policy/service.d.ts +110 -0
- package/dist/services/trajectory-policy/service.js +216 -0
- package/dist/test/agentic-capabilities-protocol.test.d.ts +1 -0
- package/dist/test/agentic-capabilities-protocol.test.js +570 -0
- package/dist/test/agentic-capabilities.test.d.ts +1 -0
- package/dist/test/agentic-capabilities.test.js +1461 -0
- package/dist/test/agentic-environment.test.d.ts +1 -0
- package/dist/test/agentic-environment.test.js +213 -0
- package/dist/test/case-pipeline-foundation.test.d.ts +1 -0
- package/dist/test/case-pipeline-foundation.test.js +535 -0
- package/dist/test/case-pipeline-protocol-v2.test.d.ts +1 -0
- package/dist/test/case-pipeline-protocol-v2.test.js +124 -0
- package/dist/test/case-pipeline-v2.test.d.ts +1 -0
- package/dist/test/case-pipeline-v2.test.js +286 -0
- package/dist/test/case-pipeline.test.d.ts +1 -0
- package/dist/test/case-pipeline.test.js +851 -0
- package/dist/test/eval-capability-policy.test.d.ts +1 -0
- package/dist/test/eval-capability-policy.test.js +50 -0
- package/dist/test/eval-event-log.test.d.ts +1 -0
- package/dist/test/eval-event-log.test.js +125 -0
- package/dist/test/evaluation-evidence-freshness.test.d.ts +1 -0
- package/dist/test/evaluation-evidence-freshness.test.js +44 -0
- package/dist/test/evaluation-evidence.test.d.ts +1 -0
- package/dist/test/evaluation-evidence.test.js +230 -0
- package/dist/test/evaluation-grader-calibration.test.d.ts +1 -0
- package/dist/test/evaluation-grader-calibration.test.js +373 -0
- package/dist/test/evaluation-proposal-digest.test.d.ts +1 -0
- package/dist/test/evaluation-proposal-digest.test.js +187 -0
- package/dist/test/evaluation-source-retrieval.test.d.ts +1 -0
- package/dist/test/evaluation-source-retrieval.test.js +237 -0
- package/dist/test/evaluation-structure-policy.test.d.ts +1 -0
- package/dist/test/evaluation-structure-policy.test.js +196 -0
- package/dist/test/fixtures/repository-resource-panel.d.ts +39 -0
- package/dist/test/fixtures/repository-resource-panel.js +111 -0
- package/dist/test/fixtures/vitest-boundary-panel.d.ts +84 -0
- package/dist/test/fixtures/vitest-boundary-panel.js +120 -0
- package/dist/test/fixtures/vitest-phase-panel.d.ts +135 -0
- package/dist/test/fixtures/vitest-phase-panel.js +213 -0
- package/dist/test/fixtures/vitest-reporter-results.d.ts +76 -0
- package/dist/test/fixtures/vitest-reporter-results.js +94 -0
- package/dist/test/grounded-authoring.test.d.ts +1 -0
- package/dist/test/grounded-authoring.test.js +565 -0
- package/dist/test/integrated-repository-history.test.d.ts +1 -0
- package/dist/test/integrated-repository-history.test.js +227 -0
- package/dist/test/project-authoring.test.js +593 -43
- package/dist/test/project-workflow.test.js +419 -40
- package/dist/test/repository-authoring-artifacts.test.d.ts +1 -0
- package/dist/test/repository-authoring-artifacts.test.js +185 -0
- package/dist/test/repository-bundle.test.d.ts +1 -0
- package/dist/test/repository-bundle.test.js +52 -0
- package/dist/test/repository-case-generation.test.d.ts +1 -0
- package/dist/test/repository-case-generation.test.js +3465 -0
- package/dist/test/repository-command-diagnostic.test.d.ts +1 -0
- package/dist/test/repository-command-diagnostic.test.js +55 -0
- package/dist/test/repository-command-signals.test.d.ts +1 -0
- package/dist/test/repository-command-signals.test.js +124 -0
- package/dist/test/repository-fixture-scope-coverage.test.d.ts +1 -0
- package/dist/test/repository-fixture-scope-coverage.test.js +127 -0
- package/dist/test/repository-fixture-validation.test.d.ts +1 -0
- package/dist/test/repository-fixture-validation.test.js +362 -0
- package/dist/test/repository-foundry-progress.test.d.ts +1 -0
- package/dist/test/repository-foundry-progress.test.js +110 -0
- package/dist/test/repository-foundry-quality.test.d.ts +1 -0
- package/dist/test/repository-foundry-quality.test.js +1138 -0
- package/dist/test/repository-import-context.test.d.ts +1 -0
- package/dist/test/repository-import-context.test.js +354 -0
- package/dist/test/repository-model-authoring.test.d.ts +1 -0
- package/dist/test/repository-model-authoring.test.js +544 -0
- package/dist/test/repository-model.test.d.ts +1 -0
- package/dist/test/repository-model.test.js +2195 -0
- package/dist/test/repository-node-test-reporter.test.d.ts +1 -0
- package/dist/test/repository-node-test-reporter.test.js +104 -0
- package/dist/test/repository-oracle-concurrency.test.d.ts +1 -0
- package/dist/test/repository-oracle-concurrency.test.js +542 -0
- package/dist/test/repository-oracle-coverage-witness.test.d.ts +1 -0
- package/dist/test/repository-oracle-coverage-witness.test.js +511 -0
- package/dist/test/repository-oracle-coverage.test.d.ts +1 -0
- package/dist/test/repository-oracle-coverage.test.js +168 -0
- package/dist/test/repository-oracle-evidence.test.d.ts +1 -0
- package/dist/test/repository-oracle-evidence.test.js +185 -0
- package/dist/test/repository-oracle-plan.test.d.ts +1 -0
- package/dist/test/repository-oracle-plan.test.js +176 -0
- package/dist/test/repository-overlay-isolation.test.d.ts +1 -0
- package/dist/test/repository-overlay-isolation.test.js +85 -0
- package/dist/test/repository-preparation-cache.test.d.ts +1 -0
- package/dist/test/repository-preparation-cache.test.js +414 -0
- package/dist/test/repository-public-artifact.test.d.ts +1 -0
- package/dist/test/repository-public-artifact.test.js +273 -0
- package/dist/test/repository-qualification-diagnostics.test.d.ts +1 -0
- package/dist/test/repository-qualification-diagnostics.test.js +524 -0
- package/dist/test/repository-reference-authoring.test.d.ts +1 -0
- package/dist/test/repository-reference-authoring.test.js +1633 -0
- package/dist/test/repository-review-evidence-v2.test.d.ts +1 -0
- package/dist/test/repository-review-evidence-v2.test.js +183 -0
- package/dist/test/repository-review-evidence.test.d.ts +1 -0
- package/dist/test/repository-review-evidence.test.js +124 -0
- package/dist/test/repository-seed-exclusions.test.d.ts +1 -0
- package/dist/test/repository-seed-exclusions.test.js +96 -0
- package/dist/test/repository-seed-selection.test.d.ts +1 -0
- package/dist/test/repository-seed-selection.test.js +504 -0
- package/dist/test/repository-semantic-calibration.test.d.ts +1 -0
- package/dist/test/repository-semantic-calibration.test.js +688 -0
- package/dist/test/repository-solution-edits.test.d.ts +1 -0
- package/dist/test/repository-solution-edits.test.js +377 -0
- package/dist/test/repository-specification-budget.test.d.ts +1 -0
- package/dist/test/repository-specification-budget.test.js +171 -0
- package/dist/test/repository-specification-contract-checkpoint.test.d.ts +1 -0
- package/dist/test/repository-specification-contract-checkpoint.test.js +228 -0
- package/dist/test/repository-specification-contract-facts.test.d.ts +1 -0
- package/dist/test/repository-specification-contract-facts.test.js +177 -0
- package/dist/test/repository-trajectory-authoring.test.d.ts +1 -0
- package/dist/test/repository-trajectory-authoring.test.js +176 -0
- package/dist/test/repository-valid-control-plan.test.d.ts +1 -0
- package/dist/test/repository-valid-control-plan.test.js +45 -0
- package/dist/test/repository-vitest-phase.test.d.ts +1 -0
- package/dist/test/repository-vitest-phase.test.js +848 -0
- package/dist/test/repository-vitest-reporter.test.d.ts +1 -0
- package/dist/test/repository-vitest-reporter.test.js +158 -0
- package/dist/test/repository-workspace-build.test.d.ts +1 -0
- package/dist/test/repository-workspace-build.test.js +160 -0
- package/dist/test/strict-authoring-schema.test.d.ts +1 -0
- package/dist/test/strict-authoring-schema.test.js +169 -0
- package/package.json +48 -6
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
export declare const RepositoryEvidenceKindV1: Schema.Literals<readonly ["package", "public-surface", "symbol", "protocol", "schema", "test", "command", "history-episode", "workload-signal", "documentation"]>;
|
|
3
|
+
export type RepositoryEvidenceKindV1 = typeof RepositoryEvidenceKindV1.Type;
|
|
4
|
+
export declare const RepositoryEvidenceRefV1: Schema.Struct<{
|
|
5
|
+
readonly kind: Schema.Literals<readonly ["package", "public-surface", "symbol", "protocol", "schema", "test", "command", "history-episode", "workload-signal", "documentation"]>;
|
|
6
|
+
readonly id: Schema.String;
|
|
7
|
+
readonly path: Schema.optionalKey<Schema.String>;
|
|
8
|
+
}>;
|
|
9
|
+
export type RepositoryEvidenceRefV1 = typeof RepositoryEvidenceRefV1.Type;
|
|
10
|
+
export declare const RepositoryCommandRecipeV1: Schema.Struct<{
|
|
11
|
+
readonly id: Schema.String;
|
|
12
|
+
readonly kind: Schema.Literals<readonly ["build", "test", "check", "schema", "custom"]>;
|
|
13
|
+
readonly cwd: Schema.String;
|
|
14
|
+
readonly executable: Schema.String;
|
|
15
|
+
readonly args: Schema.$Array<Schema.String>;
|
|
16
|
+
readonly timeoutMs: Schema.Finite;
|
|
17
|
+
}>;
|
|
18
|
+
export type RepositoryCommandRecipeV1 = typeof RepositoryCommandRecipeV1.Type;
|
|
19
|
+
export declare const RepositoryPackageNodeV1: Schema.Struct<{
|
|
20
|
+
readonly id: Schema.String;
|
|
21
|
+
readonly name: Schema.String;
|
|
22
|
+
readonly path: Schema.String;
|
|
23
|
+
readonly manifestPath: Schema.String;
|
|
24
|
+
readonly dependencyPackageIds: Schema.$Array<Schema.String>;
|
|
25
|
+
readonly publicExports: Schema.$Array<Schema.String>;
|
|
26
|
+
}>;
|
|
27
|
+
export type RepositoryPackageNodeV1 = typeof RepositoryPackageNodeV1.Type;
|
|
28
|
+
export declare const RepositoryPublicSurfaceV1: Schema.Struct<{
|
|
29
|
+
readonly id: Schema.String;
|
|
30
|
+
readonly packageId: Schema.optionalKey<Schema.String>;
|
|
31
|
+
readonly path: Schema.String;
|
|
32
|
+
readonly kind: Schema.Literals<readonly ["package-export", "cli-command", "http-endpoint", "documented-example"]>;
|
|
33
|
+
readonly symbols: Schema.$Array<Schema.String>;
|
|
34
|
+
}>;
|
|
35
|
+
export type RepositoryPublicSurfaceV1 = typeof RepositoryPublicSurfaceV1.Type;
|
|
36
|
+
export declare const RepositoryProtocolNodeV1: Schema.Struct<{
|
|
37
|
+
readonly id: Schema.String;
|
|
38
|
+
readonly path: Schema.String;
|
|
39
|
+
readonly name: Schema.String;
|
|
40
|
+
readonly kind: Schema.Literals<readonly ["wire", "schema", "persistence", "internal-boundary"]>;
|
|
41
|
+
}>;
|
|
42
|
+
export type RepositoryProtocolNodeV1 = typeof RepositoryProtocolNodeV1.Type;
|
|
43
|
+
export declare const RepositoryTestNodeV1: Schema.Struct<{
|
|
44
|
+
readonly id: Schema.String;
|
|
45
|
+
readonly path: Schema.String;
|
|
46
|
+
readonly names: Schema.$Array<Schema.String>;
|
|
47
|
+
readonly commandIds: Schema.$Array<Schema.String>;
|
|
48
|
+
}>;
|
|
49
|
+
export type RepositoryTestNodeV1 = typeof RepositoryTestNodeV1.Type;
|
|
50
|
+
export declare const RepositoryTestBindingV1: Schema.Struct<{
|
|
51
|
+
readonly testId: Schema.String;
|
|
52
|
+
readonly targetIds: Schema.$Array<Schema.String>;
|
|
53
|
+
readonly signals: Schema.$Array<Schema.Literals<readonly ["direct-import", "symbol-reference", "fixture-reference", "package-ownership", "git-cochange", "coverage", "reviewed-hypothesis"]>>;
|
|
54
|
+
readonly confidence: Schema.Literals<readonly ["high", "medium", "hypothesis"]>;
|
|
55
|
+
}>;
|
|
56
|
+
export type RepositoryTestBindingV1 = typeof RepositoryTestBindingV1.Type;
|
|
57
|
+
export declare const RepositoryChangedPathV1: Schema.Struct<{
|
|
58
|
+
readonly path: Schema.String;
|
|
59
|
+
readonly previousPath: Schema.optionalKey<Schema.String>;
|
|
60
|
+
readonly status: Schema.Literals<readonly ["added", "modified", "deleted", "renamed", "copied"]>;
|
|
61
|
+
readonly kind: Schema.Literals<readonly ["implementation", "test", "protocol", "schema", "documentation", "operational", "other"]>;
|
|
62
|
+
}>;
|
|
63
|
+
export type RepositoryChangedPathV1 = typeof RepositoryChangedPathV1.Type;
|
|
64
|
+
export declare const RepositoryChangeEpisodeV1: Schema.Struct<{
|
|
65
|
+
readonly id: Schema.String;
|
|
66
|
+
readonly commit: Schema.String;
|
|
67
|
+
readonly parentCommit: Schema.optionalKey<Schema.String>;
|
|
68
|
+
readonly occurredAt: Schema.String;
|
|
69
|
+
readonly subject: Schema.String;
|
|
70
|
+
readonly body: Schema.String;
|
|
71
|
+
readonly changedPaths: Schema.$Array<Schema.Struct<{
|
|
72
|
+
readonly path: Schema.String;
|
|
73
|
+
readonly previousPath: Schema.optionalKey<Schema.String>;
|
|
74
|
+
readonly status: Schema.Literals<readonly ["added", "modified", "deleted", "renamed", "copied"]>;
|
|
75
|
+
readonly kind: Schema.Literals<readonly ["implementation", "test", "protocol", "schema", "documentation", "operational", "other"]>;
|
|
76
|
+
}>>;
|
|
77
|
+
readonly testPaths: Schema.$Array<Schema.String>;
|
|
78
|
+
readonly implementationPaths: Schema.$Array<Schema.String>;
|
|
79
|
+
readonly protocolPaths: Schema.$Array<Schema.String>;
|
|
80
|
+
readonly behaviorChanging: Schema.Boolean;
|
|
81
|
+
readonly seedEligible: Schema.Boolean;
|
|
82
|
+
}>;
|
|
83
|
+
export type RepositoryChangeEpisodeV1 = typeof RepositoryChangeEpisodeV1.Type;
|
|
84
|
+
export declare const RepositoryWorkloadSignalV1: Schema.Struct<{
|
|
85
|
+
readonly id: Schema.String;
|
|
86
|
+
readonly kind: Schema.Literals<readonly ["recurring-cochange", "recurring-behavior-change", "recurring-command", "public-contract", "reviewed-critical"]>;
|
|
87
|
+
readonly label: Schema.String;
|
|
88
|
+
readonly episodeIds: Schema.$Array<Schema.String>;
|
|
89
|
+
readonly pathPatterns: Schema.$Array<Schema.String>;
|
|
90
|
+
readonly frequency: Schema.Finite;
|
|
91
|
+
readonly importance: Schema.Literals<readonly ["normal", "high", "critical"]>;
|
|
92
|
+
readonly confidence: Schema.Literals<readonly ["high", "medium", "review-required"]>;
|
|
93
|
+
}>;
|
|
94
|
+
export type RepositoryWorkloadSignalV1 = typeof RepositoryWorkloadSignalV1.Type;
|
|
95
|
+
export declare const RepositoryBlindSpotV1: Schema.Struct<{
|
|
96
|
+
readonly id: Schema.String;
|
|
97
|
+
readonly kind: Schema.Literals<readonly ["unmapped-test", "unreconstructible-command", "unsupported-language", "external-service", "history-gap", "unknown-relationship"]>;
|
|
98
|
+
readonly detail: Schema.String;
|
|
99
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
100
|
+
}>;
|
|
101
|
+
export type RepositoryBlindSpotV1 = typeof RepositoryBlindSpotV1.Type;
|
|
102
|
+
export declare const RepositoryBehaviorMapV1: Schema.Struct<{
|
|
103
|
+
readonly version: Schema.Literal<1>;
|
|
104
|
+
readonly repository: Schema.Struct<{
|
|
105
|
+
readonly root: Schema.String;
|
|
106
|
+
readonly requestedRef: Schema.String;
|
|
107
|
+
readonly commit: Schema.String;
|
|
108
|
+
readonly tree: Schema.String;
|
|
109
|
+
}>;
|
|
110
|
+
readonly packages: Schema.$Array<Schema.Struct<{
|
|
111
|
+
readonly id: Schema.String;
|
|
112
|
+
readonly name: Schema.String;
|
|
113
|
+
readonly path: Schema.String;
|
|
114
|
+
readonly manifestPath: Schema.String;
|
|
115
|
+
readonly dependencyPackageIds: Schema.$Array<Schema.String>;
|
|
116
|
+
readonly publicExports: Schema.$Array<Schema.String>;
|
|
117
|
+
}>>;
|
|
118
|
+
readonly publicSurfaces: Schema.$Array<Schema.Struct<{
|
|
119
|
+
readonly id: Schema.String;
|
|
120
|
+
readonly packageId: Schema.optionalKey<Schema.String>;
|
|
121
|
+
readonly path: Schema.String;
|
|
122
|
+
readonly kind: Schema.Literals<readonly ["package-export", "cli-command", "http-endpoint", "documented-example"]>;
|
|
123
|
+
readonly symbols: Schema.$Array<Schema.String>;
|
|
124
|
+
}>>;
|
|
125
|
+
readonly protocols: Schema.$Array<Schema.Struct<{
|
|
126
|
+
readonly id: Schema.String;
|
|
127
|
+
readonly path: Schema.String;
|
|
128
|
+
readonly name: Schema.String;
|
|
129
|
+
readonly kind: Schema.Literals<readonly ["wire", "schema", "persistence", "internal-boundary"]>;
|
|
130
|
+
}>>;
|
|
131
|
+
readonly commands: Schema.$Array<Schema.Struct<{
|
|
132
|
+
readonly id: Schema.String;
|
|
133
|
+
readonly kind: Schema.Literals<readonly ["build", "test", "check", "schema", "custom"]>;
|
|
134
|
+
readonly cwd: Schema.String;
|
|
135
|
+
readonly executable: Schema.String;
|
|
136
|
+
readonly args: Schema.$Array<Schema.String>;
|
|
137
|
+
readonly timeoutMs: Schema.Finite;
|
|
138
|
+
}>>;
|
|
139
|
+
readonly tests: Schema.$Array<Schema.Struct<{
|
|
140
|
+
readonly id: Schema.String;
|
|
141
|
+
readonly path: Schema.String;
|
|
142
|
+
readonly names: Schema.$Array<Schema.String>;
|
|
143
|
+
readonly commandIds: Schema.$Array<Schema.String>;
|
|
144
|
+
}>>;
|
|
145
|
+
readonly testBindings: Schema.$Array<Schema.Struct<{
|
|
146
|
+
readonly testId: Schema.String;
|
|
147
|
+
readonly targetIds: Schema.$Array<Schema.String>;
|
|
148
|
+
readonly signals: Schema.$Array<Schema.Literals<readonly ["direct-import", "symbol-reference", "fixture-reference", "package-ownership", "git-cochange", "coverage", "reviewed-hypothesis"]>>;
|
|
149
|
+
readonly confidence: Schema.Literals<readonly ["high", "medium", "hypothesis"]>;
|
|
150
|
+
}>>;
|
|
151
|
+
readonly historyEpisodes: Schema.$Array<Schema.Struct<{
|
|
152
|
+
readonly id: Schema.String;
|
|
153
|
+
readonly commit: Schema.String;
|
|
154
|
+
readonly parentCommit: Schema.optionalKey<Schema.String>;
|
|
155
|
+
readonly occurredAt: Schema.String;
|
|
156
|
+
readonly subject: Schema.String;
|
|
157
|
+
readonly body: Schema.String;
|
|
158
|
+
readonly changedPaths: Schema.$Array<Schema.Struct<{
|
|
159
|
+
readonly path: Schema.String;
|
|
160
|
+
readonly previousPath: Schema.optionalKey<Schema.String>;
|
|
161
|
+
readonly status: Schema.Literals<readonly ["added", "modified", "deleted", "renamed", "copied"]>;
|
|
162
|
+
readonly kind: Schema.Literals<readonly ["implementation", "test", "protocol", "schema", "documentation", "operational", "other"]>;
|
|
163
|
+
}>>;
|
|
164
|
+
readonly testPaths: Schema.$Array<Schema.String>;
|
|
165
|
+
readonly implementationPaths: Schema.$Array<Schema.String>;
|
|
166
|
+
readonly protocolPaths: Schema.$Array<Schema.String>;
|
|
167
|
+
readonly behaviorChanging: Schema.Boolean;
|
|
168
|
+
readonly seedEligible: Schema.Boolean;
|
|
169
|
+
}>>;
|
|
170
|
+
readonly workloadSignals: Schema.$Array<Schema.Struct<{
|
|
171
|
+
readonly id: Schema.String;
|
|
172
|
+
readonly kind: Schema.Literals<readonly ["recurring-cochange", "recurring-behavior-change", "recurring-command", "public-contract", "reviewed-critical"]>;
|
|
173
|
+
readonly label: Schema.String;
|
|
174
|
+
readonly episodeIds: Schema.$Array<Schema.String>;
|
|
175
|
+
readonly pathPatterns: Schema.$Array<Schema.String>;
|
|
176
|
+
readonly frequency: Schema.Finite;
|
|
177
|
+
readonly importance: Schema.Literals<readonly ["normal", "high", "critical"]>;
|
|
178
|
+
readonly confidence: Schema.Literals<readonly ["high", "medium", "review-required"]>;
|
|
179
|
+
}>>;
|
|
180
|
+
readonly blindSpots: Schema.$Array<Schema.Struct<{
|
|
181
|
+
readonly id: Schema.String;
|
|
182
|
+
readonly kind: Schema.Literals<readonly ["unmapped-test", "unreconstructible-command", "unsupported-language", "external-service", "history-gap", "unknown-relationship"]>;
|
|
183
|
+
readonly detail: Schema.String;
|
|
184
|
+
readonly paths: Schema.$Array<Schema.String>;
|
|
185
|
+
}>>;
|
|
186
|
+
}>;
|
|
187
|
+
export type RepositoryBehaviorMapV1 = typeof RepositoryBehaviorMapV1.Type;
|
|
188
|
+
export declare function assertRepositoryBehaviorMapV1(value: unknown): asserts value is RepositoryBehaviorMapV1;
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
const NonNegativeInteger = Schema.Finite.pipe(Schema.check(Schema.makeFilter((value) => Number.isInteger(value) && value >= 0
|
|
3
|
+
? undefined
|
|
4
|
+
: "value must be a non-negative integer")));
|
|
5
|
+
export const RepositoryEvidenceKindV1 = Schema.Literals([
|
|
6
|
+
"package",
|
|
7
|
+
"public-surface",
|
|
8
|
+
"symbol",
|
|
9
|
+
"protocol",
|
|
10
|
+
"schema",
|
|
11
|
+
"test",
|
|
12
|
+
"command",
|
|
13
|
+
"history-episode",
|
|
14
|
+
"workload-signal",
|
|
15
|
+
"documentation"
|
|
16
|
+
]);
|
|
17
|
+
export const RepositoryEvidenceRefV1 = Schema.Struct({
|
|
18
|
+
kind: RepositoryEvidenceKindV1,
|
|
19
|
+
id: Schema.String,
|
|
20
|
+
path: Schema.optionalKey(Schema.String)
|
|
21
|
+
});
|
|
22
|
+
export const RepositoryCommandRecipeV1 = Schema.Struct({
|
|
23
|
+
id: Schema.String,
|
|
24
|
+
kind: Schema.Literals(["build", "test", "check", "schema", "custom"]),
|
|
25
|
+
cwd: Schema.String,
|
|
26
|
+
executable: Schema.String,
|
|
27
|
+
args: Schema.Array(Schema.String),
|
|
28
|
+
timeoutMs: NonNegativeInteger
|
|
29
|
+
});
|
|
30
|
+
export const RepositoryPackageNodeV1 = Schema.Struct({
|
|
31
|
+
id: Schema.String,
|
|
32
|
+
name: Schema.String,
|
|
33
|
+
path: Schema.String,
|
|
34
|
+
manifestPath: Schema.String,
|
|
35
|
+
dependencyPackageIds: Schema.Array(Schema.String),
|
|
36
|
+
publicExports: Schema.Array(Schema.String)
|
|
37
|
+
});
|
|
38
|
+
export const RepositoryPublicSurfaceV1 = Schema.Struct({
|
|
39
|
+
id: Schema.String,
|
|
40
|
+
packageId: Schema.optionalKey(Schema.String),
|
|
41
|
+
path: Schema.String,
|
|
42
|
+
kind: Schema.Literals([
|
|
43
|
+
"package-export",
|
|
44
|
+
"cli-command",
|
|
45
|
+
"http-endpoint",
|
|
46
|
+
"documented-example"
|
|
47
|
+
]),
|
|
48
|
+
symbols: Schema.Array(Schema.String)
|
|
49
|
+
});
|
|
50
|
+
export const RepositoryProtocolNodeV1 = Schema.Struct({
|
|
51
|
+
id: Schema.String,
|
|
52
|
+
path: Schema.String,
|
|
53
|
+
name: Schema.String,
|
|
54
|
+
kind: Schema.Literals(["wire", "schema", "persistence", "internal-boundary"])
|
|
55
|
+
});
|
|
56
|
+
export const RepositoryTestNodeV1 = Schema.Struct({
|
|
57
|
+
id: Schema.String,
|
|
58
|
+
path: Schema.String,
|
|
59
|
+
names: Schema.Array(Schema.String),
|
|
60
|
+
commandIds: Schema.Array(Schema.String)
|
|
61
|
+
});
|
|
62
|
+
export const RepositoryTestBindingV1 = Schema.Struct({
|
|
63
|
+
testId: Schema.String,
|
|
64
|
+
targetIds: Schema.Array(Schema.String),
|
|
65
|
+
signals: Schema.Array(Schema.Literals([
|
|
66
|
+
"direct-import",
|
|
67
|
+
"symbol-reference",
|
|
68
|
+
"fixture-reference",
|
|
69
|
+
"package-ownership",
|
|
70
|
+
"git-cochange",
|
|
71
|
+
"coverage",
|
|
72
|
+
"reviewed-hypothesis"
|
|
73
|
+
])),
|
|
74
|
+
confidence: Schema.Literals(["high", "medium", "hypothesis"])
|
|
75
|
+
});
|
|
76
|
+
export const RepositoryChangedPathV1 = Schema.Struct({
|
|
77
|
+
path: Schema.String,
|
|
78
|
+
previousPath: Schema.optionalKey(Schema.String),
|
|
79
|
+
status: Schema.Literals(["added", "modified", "deleted", "renamed", "copied"]),
|
|
80
|
+
kind: Schema.Literals([
|
|
81
|
+
"implementation",
|
|
82
|
+
"test",
|
|
83
|
+
"protocol",
|
|
84
|
+
"schema",
|
|
85
|
+
"documentation",
|
|
86
|
+
"operational",
|
|
87
|
+
"other"
|
|
88
|
+
])
|
|
89
|
+
});
|
|
90
|
+
export const RepositoryChangeEpisodeV1 = Schema.Struct({
|
|
91
|
+
id: Schema.String,
|
|
92
|
+
commit: Schema.String,
|
|
93
|
+
parentCommit: Schema.optionalKey(Schema.String),
|
|
94
|
+
occurredAt: Schema.String,
|
|
95
|
+
subject: Schema.String,
|
|
96
|
+
body: Schema.String,
|
|
97
|
+
changedPaths: Schema.Array(RepositoryChangedPathV1),
|
|
98
|
+
testPaths: Schema.Array(Schema.String),
|
|
99
|
+
implementationPaths: Schema.Array(Schema.String),
|
|
100
|
+
protocolPaths: Schema.Array(Schema.String),
|
|
101
|
+
behaviorChanging: Schema.Boolean,
|
|
102
|
+
seedEligible: Schema.Boolean
|
|
103
|
+
});
|
|
104
|
+
export const RepositoryWorkloadSignalV1 = Schema.Struct({
|
|
105
|
+
id: Schema.String,
|
|
106
|
+
kind: Schema.Literals([
|
|
107
|
+
"recurring-cochange",
|
|
108
|
+
"recurring-behavior-change",
|
|
109
|
+
"recurring-command",
|
|
110
|
+
"public-contract",
|
|
111
|
+
"reviewed-critical"
|
|
112
|
+
]),
|
|
113
|
+
label: Schema.String,
|
|
114
|
+
episodeIds: Schema.Array(Schema.String),
|
|
115
|
+
pathPatterns: Schema.Array(Schema.String),
|
|
116
|
+
frequency: NonNegativeInteger,
|
|
117
|
+
importance: Schema.Literals(["normal", "high", "critical"]),
|
|
118
|
+
confidence: Schema.Literals(["high", "medium", "review-required"])
|
|
119
|
+
});
|
|
120
|
+
export const RepositoryBlindSpotV1 = Schema.Struct({
|
|
121
|
+
id: Schema.String,
|
|
122
|
+
kind: Schema.Literals([
|
|
123
|
+
"unmapped-test",
|
|
124
|
+
"unreconstructible-command",
|
|
125
|
+
"unsupported-language",
|
|
126
|
+
"external-service",
|
|
127
|
+
"history-gap",
|
|
128
|
+
"unknown-relationship"
|
|
129
|
+
]),
|
|
130
|
+
detail: Schema.String,
|
|
131
|
+
paths: Schema.Array(Schema.String)
|
|
132
|
+
});
|
|
133
|
+
export const RepositoryBehaviorMapV1 = Schema.Struct({
|
|
134
|
+
version: Schema.Literal(1),
|
|
135
|
+
repository: Schema.Struct({
|
|
136
|
+
root: Schema.String,
|
|
137
|
+
requestedRef: Schema.String,
|
|
138
|
+
commit: Schema.String,
|
|
139
|
+
tree: Schema.String
|
|
140
|
+
}),
|
|
141
|
+
packages: Schema.Array(RepositoryPackageNodeV1),
|
|
142
|
+
publicSurfaces: Schema.Array(RepositoryPublicSurfaceV1),
|
|
143
|
+
protocols: Schema.Array(RepositoryProtocolNodeV1),
|
|
144
|
+
commands: Schema.Array(RepositoryCommandRecipeV1),
|
|
145
|
+
tests: Schema.Array(RepositoryTestNodeV1),
|
|
146
|
+
testBindings: Schema.Array(RepositoryTestBindingV1),
|
|
147
|
+
historyEpisodes: Schema.Array(RepositoryChangeEpisodeV1),
|
|
148
|
+
workloadSignals: Schema.Array(RepositoryWorkloadSignalV1),
|
|
149
|
+
blindSpots: Schema.Array(RepositoryBlindSpotV1)
|
|
150
|
+
});
|
|
151
|
+
const uniqueIds = (values, label) => {
|
|
152
|
+
if (values.some((value) => value.id.trim().length === 0) ||
|
|
153
|
+
new Set(values.map((value) => value.id)).size !== values.length) {
|
|
154
|
+
throw new Error(`${label} ids must be non-empty and unique`);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
export function assertRepositoryBehaviorMapV1(value) {
|
|
158
|
+
const map = Schema.decodeUnknownSync(RepositoryBehaviorMapV1)(value);
|
|
159
|
+
uniqueIds(map.packages, "repository package");
|
|
160
|
+
uniqueIds(map.publicSurfaces, "repository public surface");
|
|
161
|
+
uniqueIds(map.protocols, "repository protocol");
|
|
162
|
+
uniqueIds(map.commands, "repository command");
|
|
163
|
+
uniqueIds(map.tests, "repository test");
|
|
164
|
+
uniqueIds(map.historyEpisodes, "repository history episode");
|
|
165
|
+
uniqueIds(map.workloadSignals, "repository workload signal");
|
|
166
|
+
uniqueIds(map.blindSpots, "repository blind spot");
|
|
167
|
+
const packageIds = new Set(map.packages.map((entry) => entry.id));
|
|
168
|
+
for (const entry of map.packages) {
|
|
169
|
+
if (entry.dependencyPackageIds.some((dependencyId) => !packageIds.has(dependencyId))) {
|
|
170
|
+
throw new Error(`repository package ${JSON.stringify(entry.id)} refers to an unknown package`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const commandIds = new Set(map.commands.map((entry) => entry.id));
|
|
174
|
+
const testIds = new Set(map.tests.map((entry) => entry.id));
|
|
175
|
+
const targetIds = new Set([
|
|
176
|
+
...map.packages.map((entry) => entry.id),
|
|
177
|
+
...map.publicSurfaces.map((entry) => entry.id),
|
|
178
|
+
...map.protocols.map((entry) => entry.id)
|
|
179
|
+
]);
|
|
180
|
+
for (const test of map.tests) {
|
|
181
|
+
if (test.commandIds.some((commandId) => !commandIds.has(commandId))) {
|
|
182
|
+
throw new Error(`repository test ${JSON.stringify(test.id)} refers to an unknown command`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
for (const binding of map.testBindings) {
|
|
186
|
+
if (!testIds.has(binding.testId)) {
|
|
187
|
+
throw new Error(`repository test binding refers to unknown test ${JSON.stringify(binding.testId)}`);
|
|
188
|
+
}
|
|
189
|
+
if (binding.targetIds.length === 0 ||
|
|
190
|
+
binding.targetIds.some((targetId) => !targetIds.has(targetId))) {
|
|
191
|
+
throw new Error(`repository test binding for ${JSON.stringify(binding.testId)} has an unknown target`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const episodeIds = new Set(map.historyEpisodes.map((entry) => entry.id));
|
|
195
|
+
for (const signal of map.workloadSignals) {
|
|
196
|
+
if (signal.frequency !== signal.episodeIds.length ||
|
|
197
|
+
signal.episodeIds.length === 0 ||
|
|
198
|
+
signal.episodeIds.some((episodeId) => !episodeIds.has(episodeId))) {
|
|
199
|
+
throw new Error(`repository workload signal ${JSON.stringify(signal.id)} has invalid episode evidence`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|