{"version":3,"file":"test-run.mjs","names":[],"sources":["../src/test-run.ts"],"sourcesContent":["import type {\n  TestRunEvidence,\n  TestRunSuiteExecution,\n  TestRunSuiteId,\n  TestRunTargetId,\n} from \"./test-run-model.js\";\n\nexport {\n  TEST_RUN_EVIDENCE_FORMAT,\n  TEST_RUN_EVIDENCE_FORMAT_VERSION,\n  type TestRunArtifact,\n  type TestRunEvidence,\n  type TestRunIsolation,\n  type TestRunRetainedEvidence,\n  type TestRunRunner,\n  type TestRunSelection,\n  type TestRunSuiteExecution,\n  type TestRunSuiteId,\n  type TestRunSuiteKind,\n  type TestRunSuiteOutcome,\n  type TestRunTargetExecution,\n  type TestRunTargetId,\n  type TestRunTargetKind,\n  type TestRunVerification,\n  type TestRunVerificationOutcome,\n} from \"./test-run-model.js\";\n\n/**\n * Cross-reference constraints derived from the literals in one record.\n *\n * Keeping this type separate makes editor diagnostics point at the authored\n * reference instead of widening every identifier to `string`.\n */\nexport type TestRunReferenceConstraints<Evidence extends TestRunEvidence> = {\n  readonly selection?: {\n    readonly targetIds: readonly TestRunTargetId<Evidence>[];\n    readonly suiteIds: readonly TestRunSuiteId<Evidence>[];\n  };\n  readonly suites?: readonly (TestRunSuiteExecution<string, TestRunTargetId<Evidence>> & {\n    readonly targetId: TestRunTargetId<Evidence>;\n  })[];\n};\n\n/**\n * Defines a test-run evidence record while preserving every authored literal.\n *\n * The candidate selection and every suite's target reference are checked\n * against identifiers recorded in the same object. The function returns its\n * input without allocation or runtime work; use the `/test-run/validate`\n * entry before trusting a record.\n *\n * @example\n * ```ts\n * const evidence = defineTestRunEvidence({\n *   format: \"vize.test-run.evidence\",\n *   id: \"run-1\",\n *   application: \"shop\",\n *   // ...bindings, runner, selection, targets, suites, verification\n * });\n * ```\n */\nexport function defineTestRunEvidence<const Evidence extends TestRunEvidence>(\n  evidence: Evidence & TestRunReferenceConstraints<NoInfer<Evidence>>,\n): Evidence {\n  return evidence;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6DA,SAAgB,sBACd,UACU;CACV,OAAO;AACT"}