{"version":3,"sources":["../src/parse-entry.ts","../src/result.ts","../src/schema/story-report.schema.ts","../../executable-stories-core/schemas/story-report-v1.json","../src/schema/version.ts","../src/schema/parse.ts"],"sourcesContent":["/**\n * Server-safe entry: parseStoryReport, Result types, schema constants.\n *\n * No React, no hooks, no client-only code. Safe to call from Next.js Server\n * Components, build scripts, edge functions, or anywhere else outside the\n * browser. The main \"executable-stories-react\" entry is marked \"use client\"\n * because it touches createContext; this entry stays clean.\n */\n\nexport { parseStoryReport } from \"./schema/parse\";\nexport { storyReportSchema, STORY_REPORT_SCHEMA_MAJOR } from \"./schema/story-report.schema\";\nexport type { Result, ReportParseError, ReportParseErrorCode } from \"./result\";\nexport { ok, err } from \"./result\";\nexport type {\n  StoryReport,\n  ReportFeature as StoryReportFeature,\n  ReportScenario as StoryReportScenario,\n  ReportStep as StoryReportStep,\n  ReportDocEntry as StoryReportDocEntry,\n  ReportSummary as StoryReportSummary,\n} from \"executable-stories-core\";\n","/**\n * Result<T> — explicit success/error type matching the cookbook convention.\n *\n * Used at the boundary where a StoryReport is parsed: the consumer hands us\n * an unknown value (file contents, fetch body, prop) and we return a Result.\n */\nimport type { StoryReport } from \"executable-stories-core\";\n\nexport type Result<T, E = ReportParseError> =\n  | { ok: true; data: T }\n  | { ok: false; error: E };\n\nexport interface ReportParseError {\n  message: string;\n  code: ReportParseErrorCode;\n  issues?: readonly { path: string; message: string }[];\n}\n\nexport type ReportParseErrorCode =\n  | \"INVALID_INPUT\"\n  | \"SCHEMA_VERSION_MISMATCH\"\n  | \"VALIDATION_FAILED\";\n\nexport const ok = <T>(data: T): Result<T> => ({ ok: true, data });\nexport const err = (error: ReportParseError): Result<never> => ({ ok: false, error });\n\n/**\n * Normalize the `StoryReport | Result<StoryReport>` prop accepted across the\n * render entrypoints (`Report`, `ReportInteractive`, `renderReportToHtml`) into\n * a single `Result`. A bare report becomes `ok(report)`; an already-wrapped\n * value passes through. One place owns the \"is this a Result?\" discrimination.\n */\nexport function unwrapReport(value: StoryReport | Result<StoryReport>): Result<StoryReport> {\n  if (\n    typeof value === \"object\" &&\n    value !== null &&\n    \"ok\" in value &&\n    typeof (value as { ok: unknown }).ok === \"boolean\"\n  ) {\n    return value as Result<StoryReport>;\n  }\n  return ok(value as StoryReport);\n}\n","/**\n * StoryReport runtime Zod schema, derived from the canonical JSON Schema\n * at executable-stories-core/schemas/story-report-v1.json.\n *\n * Uses z.fromJSONSchema (experimental in Zod 4.x). If the API changes upstream,\n * only this file needs updating — the rest of the package consumes\n * `storyReportSchema` and `StoryReportSchemaShape` via parse.ts.\n *\n * The JSON Schema is bundled at build time by tsup (resolveJsonModule).\n */\n\nimport { z } from \"zod\";\nimport schemaJson from \"executable-stories-core/schemas/story-report-v1.json\" with { type: \"json\" };\n\nexport { STORY_REPORT_SCHEMA_MAJOR } from \"./version\";\n\n// z.fromJSONSchema (experimental in Zod 4.x) can't translate DocHtml's nested\n// `oneOf` (the exactly-one-of path/url/content constraint) and rejects every\n// html doc entry. The on-disk schema keeps that constraint for Ajv + the\n// machine contract; here we drop it from the in-memory copy the runtime\n// validator is built from. The React DocHtml component already resolves\n// precedence (content → url → path), so the looser runtime check is safe.\nconst schemaForZod = structuredClone(schemaJson) as {\n  $defs?: { DocHtml?: { oneOf?: unknown } };\n};\nif (schemaForZod.$defs?.DocHtml) {\n  delete schemaForZod.$defs.DocHtml.oneOf;\n}\n\nconst compiled = z.fromJSONSchema(schemaForZod as Parameters<typeof z.fromJSONSchema>[0]);\n\nexport const storyReportSchema = compiled;\nexport type StoryReportSchemaShape = z.infer<typeof compiled>;\n","{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"$id\": \"https://executable-stories.dev/schemas/story-report-v1.schema.json\",\n  \"title\": \"StoryReport\",\n  \"description\": \"Pre-grouped, denormalized report shape consumed by UI renderers (React, Svelte, Vue, etc.). Stable public contract \\u2014 additive-only within a major. Distinct from internal TestRunResult.\",\n  \"type\": \"object\",\n  \"$ref\": \"#/$defs/StoryReport\",\n  \"$defs\": {\n    \"StoryReport\": {\n      \"type\": \"object\",\n      \"description\": \"Top-level report containing all features, runtime metadata, and a pre-computed summary.\",\n      \"properties\": {\n        \"schemaVersion\": {\n          \"type\": \"string\",\n          \"pattern\": \"^1\\\\.[0-9]+$\",\n          \"description\": \"Schema version as 'major.minor'. Major bumps are breaking; minors are additive-only. UI packages must accept any 1.x.\"\n        },\n        \"runId\": {\n          \"type\": \"string\",\n          \"minLength\": 1,\n          \"description\": \"Unique deterministic identifier for this run.\"\n        },\n        \"startedAtMs\": {\n          \"type\": \"number\",\n          \"minimum\": 0,\n          \"description\": \"Run start time as Unix epoch milliseconds.\"\n        },\n        \"finishedAtMs\": {\n          \"type\": \"number\",\n          \"minimum\": 0,\n          \"description\": \"Run finish time as Unix epoch milliseconds.\"\n        },\n        \"durationMs\": {\n          \"type\": \"number\",\n          \"minimum\": 0,\n          \"description\": \"Total run duration in milliseconds.\"\n        },\n        \"projectRoot\": {\n          \"type\": \"string\",\n          \"minLength\": 1,\n          \"description\": \"Absolute path to the project root (for context only; relative paths in features.sourceFile are preferred).\"\n        },\n        \"packageVersion\": {\n          \"type\": \"string\",\n          \"description\": \"Version of the package under test, if known.\"\n        },\n        \"gitSha\": {\n          \"type\": \"string\",\n          \"description\": \"Git commit SHA at the time of the run.\"\n        },\n        \"ci\": {\n          \"$ref\": \"#/$defs/CIInfo\"\n        },\n        \"coverage\": {\n          \"$ref\": \"#/$defs/CoverageSummary\"\n        },\n        \"summary\": {\n          \"$ref\": \"#/$defs/Summary\",\n          \"description\": \"Pre-computed counts across all features and scenarios.\"\n        },\n        \"features\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/Feature\"\n          },\n          \"description\": \"Features grouped by sourceFile, sorted by title.\"\n        }\n      },\n      \"required\": [\n        \"schemaVersion\",\n        \"runId\",\n        \"startedAtMs\",\n        \"finishedAtMs\",\n        \"durationMs\",\n        \"projectRoot\",\n        \"summary\",\n        \"features\"\n      ],\n      \"additionalProperties\": false\n    },\n    \"Summary\": {\n      \"type\": \"object\",\n      \"description\": \"Counts by status. Sums equal 'total'.\",\n      \"properties\": {\n        \"total\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"passed\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"failed\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"skipped\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"pending\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"durationMs\": {\n          \"type\": \"number\",\n          \"minimum\": 0\n        }\n      },\n      \"required\": [\n        \"total\",\n        \"passed\",\n        \"failed\",\n        \"skipped\",\n        \"pending\",\n        \"durationMs\"\n      ],\n      \"additionalProperties\": false\n    },\n    \"Feature\": {\n      \"type\": \"object\",\n      \"description\": \"A group of scenarios from the same source file.\",\n      \"properties\": {\n        \"id\": {\n          \"type\": \"string\",\n          \"minLength\": 1,\n          \"description\": \"Stable slug derived from the relative source path. Suitable for use as a deep-link anchor.\"\n        },\n        \"title\": {\n          \"type\": \"string\",\n          \"minLength\": 1,\n          \"description\": \"Display title. Comes from story.feature(...) when declared, otherwise the describe block or file basename.\"\n        },\n        \"sourceFile\": {\n          \"type\": \"string\",\n          \"minLength\": 1,\n          \"description\": \"Source path, relative to projectRoot when possible.\"\n        },\n        \"summary\": {\n          \"$ref\": \"#/$defs/Summary\"\n        },\n        \"scenarios\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/Scenario\"\n          },\n          \"description\": \"Scenarios in this feature, in declaration order.\"\n        },\n        \"kind\": {\n          \"type\": \"string\",\n          \"enum\": [\"feature\", \"ability\", \"business-need\"],\n          \"description\": \"How the feature was declared. Absent when the title was derived rather than declared.\"\n        },\n        \"narrative\": {\n          \"type\": \"string\",\n          \"description\": \"Markdown explaining why the feature exists and who it serves.\"\n        },\n        \"glossary\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/GlossaryTerm\"\n          },\n          \"description\": \"Terms this feature defines, linked wherever they appear in scenario text.\"\n        }\n      },\n      \"required\": [\"id\", \"title\", \"sourceFile\", \"summary\", \"scenarios\"],\n      \"additionalProperties\": false\n    },\n    \"Scenario\": {\n      \"type\": \"object\",\n      \"description\": \"A single scenario with its steps, story-level doc entries, and attachments.\",\n      \"properties\": {\n        \"id\": {\n          \"type\": \"string\",\n          \"minLength\": 1,\n          \"description\": \"Stable identifier: '<feature.id>--<slug-of-title>'. Suitable for use as a deep-link anchor.\"\n        },\n        \"title\": {\n          \"type\": \"string\",\n          \"minLength\": 1\n        },\n        \"status\": {\n          \"$ref\": \"#/$defs/TestStatus\"\n        },\n        \"planned\": {\n          \"type\": \"boolean\",\n          \"description\": \"True for scenarios authored with the framework's todo modifier (e.g. it.todo): specified behavior with no implementation yet. Canonical status stays 'pending'; this flags why.\"\n        },\n        \"durationMs\": {\n          \"type\": \"number\",\n          \"minimum\": 0\n        },\n        \"tags\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"description\": \"Normalized tags, deduplicated, lowercased.\"\n        },\n        \"tickets\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/Ticket\"\n          }\n        },\n        \"covers\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"description\": \"Product-code paths/globs this scenario exercises.\"\n        },\n        \"sourceLine\": {\n          \"type\": \"integer\",\n          \"minimum\": 1\n        },\n        \"errorMessage\": {\n          \"type\": \"string\"\n        },\n        \"errorStack\": {\n          \"type\": \"string\"\n        },\n        \"retry\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"retries\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"docEntries\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          },\n          \"description\": \"Story-level doc entries (rendered before steps).\"\n        },\n        \"steps\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/Step\"\n          }\n        },\n        \"attachments\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/Attachment\"\n          }\n        },\n        \"otelSpans\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/OtelSpan\"\n          }\n        }\n      },\n      \"required\": [\n        \"id\",\n        \"title\",\n        \"status\",\n        \"durationMs\",\n        \"tags\",\n        \"retry\",\n        \"retries\",\n        \"docEntries\",\n        \"steps\",\n        \"attachments\"\n      ],\n      \"additionalProperties\": false\n    },\n    \"Step\": {\n      \"type\": \"object\",\n      \"description\": \"A single BDD step.\",\n      \"properties\": {\n        \"id\": {\n          \"type\": \"string\",\n          \"minLength\": 1\n        },\n        \"index\": {\n          \"type\": \"integer\",\n          \"minimum\": 0\n        },\n        \"keyword\": {\n          \"$ref\": \"#/$defs/StepKeyword\"\n        },\n        \"text\": {\n          \"type\": \"string\"\n        },\n        \"status\": {\n          \"$ref\": \"#/$defs/TestStatus\"\n        },\n        \"durationMs\": {\n          \"type\": \"number\",\n          \"minimum\": 0\n        },\n        \"assertions\": {\n          \"type\": \"integer\",\n          \"minimum\": 0,\n          \"description\": \"Assertions observed or declared for this step. Omit when the adapter cannot observe assertions; zero means observed none.\"\n        },\n        \"errorMessage\": {\n          \"type\": \"string\"\n        },\n        \"mode\": {\n          \"$ref\": \"#/$defs/StepMode\"\n        },\n        \"docEntries\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          },\n          \"description\": \"Doc entries attached to this step.\"\n        }\n      },\n      \"required\": [\n        \"id\",\n        \"index\",\n        \"keyword\",\n        \"text\",\n        \"status\",\n        \"durationMs\",\n        \"docEntries\"\n      ],\n      \"additionalProperties\": false\n    },\n    \"StepKeyword\": {\n      \"type\": \"string\",\n      \"enum\": [\"Given\", \"When\", \"Then\", \"And\", \"But\"]\n    },\n    \"StepMode\": {\n      \"type\": \"string\",\n      \"enum\": [\"normal\", \"skip\", \"only\", \"todo\", \"fails\", \"concurrent\"]\n    },\n    \"TestStatus\": {\n      \"type\": \"string\",\n      \"enum\": [\"passed\", \"failed\", \"skipped\", \"pending\"]\n    },\n    \"Ticket\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"id\": {\n          \"type\": \"string\",\n          \"minLength\": 1\n        },\n        \"url\": {\n          \"type\": \"string\"\n        }\n      },\n      \"required\": [\"id\"],\n      \"additionalProperties\": false\n    },\n    \"Attachment\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\"\n        },\n        \"mediaType\": {\n          \"type\": \"string\",\n          \"minLength\": 1\n        },\n        \"body\": {\n          \"type\": \"string\"\n        },\n        \"contentEncoding\": {\n          \"type\": \"string\",\n          \"enum\": [\"BASE64\", \"IDENTITY\"]\n        },\n        \"external\": {\n          \"const\": true,\n          \"description\": \"body holds the file's path or URL (file missing or too large to embed).\"\n        }\n      },\n      \"required\": [\"name\", \"mediaType\", \"body\", \"contentEncoding\"],\n      \"additionalProperties\": false\n    },\n    \"CIInfo\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\"\n        },\n        \"url\": {\n          \"type\": \"string\"\n        },\n        \"buildNumber\": {\n          \"type\": \"string\"\n        },\n        \"branch\": {\n          \"type\": \"string\"\n        },\n        \"commitSha\": {\n          \"type\": \"string\"\n        },\n        \"prNumber\": {\n          \"type\": \"string\"\n        }\n      },\n      \"required\": [\"name\"],\n      \"additionalProperties\": false\n    },\n    \"CoverageSummary\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"linesPct\": {\n          \"type\": \"number\",\n          \"minimum\": 0,\n          \"maximum\": 100\n        },\n        \"branchesPct\": {\n          \"type\": \"number\",\n          \"minimum\": 0,\n          \"maximum\": 100\n        },\n        \"functionsPct\": {\n          \"type\": \"number\",\n          \"minimum\": 0,\n          \"maximum\": 100\n        },\n        \"statementsPct\": {\n          \"type\": \"number\",\n          \"minimum\": 0,\n          \"maximum\": 100\n        }\n      },\n      \"additionalProperties\": false\n    },\n    \"DocPhase\": {\n      \"type\": \"string\",\n      \"enum\": [\"static\", \"runtime\"]\n    },\n    \"DocEntry\": {\n      \"oneOf\": [\n        {\n          \"$ref\": \"#/$defs/DocNote\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocTag\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocKv\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocCode\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocTable\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocLink\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocSection\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocMermaid\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocScreenshot\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocVideo\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocHtml\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocState\"\n        },\n        {\n          \"$ref\": \"#/$defs/DocCustom\"\n        }\n      ]\n    },\n    \"DocNote\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"note\"\n        },\n        \"text\": {\n          \"type\": \"string\"\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"text\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocTag\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"tag\"\n        },\n        \"names\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"names\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocKv\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"kv\"\n        },\n        \"label\": {\n          \"type\": \"string\"\n        },\n        \"value\": {},\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"label\", \"value\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocCode\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"code\"\n        },\n        \"label\": {\n          \"type\": \"string\"\n        },\n        \"content\": {\n          \"type\": \"string\"\n        },\n        \"lang\": {\n          \"type\": \"string\"\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"label\", \"content\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocTable\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"table\"\n        },\n        \"label\": {\n          \"type\": \"string\"\n        },\n        \"columns\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"rows\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          }\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"label\", \"columns\", \"rows\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocLink\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"link\"\n        },\n        \"label\": {\n          \"type\": \"string\"\n        },\n        \"url\": {\n          \"type\": \"string\"\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"label\", \"url\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocSection\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"section\"\n        },\n        \"title\": {\n          \"type\": \"string\"\n        },\n        \"markdown\": {\n          \"type\": \"string\"\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"title\", \"markdown\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocMermaid\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"mermaid\"\n        },\n        \"code\": {\n          \"type\": \"string\"\n        },\n        \"title\": {\n          \"type\": \"string\"\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"code\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocScreenshot\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"screenshot\"\n        },\n        \"path\": {\n          \"type\": \"string\"\n        },\n        \"alt\": {\n          \"type\": \"string\"\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"path\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocVideo\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"video\"\n        },\n        \"path\": {\n          \"type\": \"string\"\n        },\n        \"caption\": {\n          \"type\": \"string\"\n        },\n        \"poster\": {\n          \"type\": \"string\"\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"path\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocHtml\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"html\"\n        },\n        \"path\": {\n          \"type\": \"string\"\n        },\n        \"url\": {\n          \"type\": \"string\"\n        },\n        \"content\": {\n          \"type\": \"string\"\n        },\n        \"title\": {\n          \"type\": \"string\"\n        },\n        \"height\": {\n          \"oneOf\": [\n            {\n              \"type\": \"number\"\n            },\n            {\n              \"type\": \"string\"\n            }\n          ]\n        },\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"phase\"],\n      \"additionalProperties\": false,\n      \"oneOf\": [\n        {\n          \"required\": [\"path\"]\n        },\n        {\n          \"required\": [\"url\"]\n        },\n        {\n          \"required\": [\"content\"]\n        }\n      ]\n    },\n    \"DocState\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"state\"\n        },\n        \"label\": {\n          \"type\": \"string\"\n        },\n        \"value\": {},\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"value\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"DocCustom\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"kind\": {\n          \"const\": \"custom\"\n        },\n        \"type\": {\n          \"type\": \"string\",\n          \"minLength\": 1\n        },\n        \"data\": {},\n        \"phase\": {\n          \"$ref\": \"#/$defs/DocPhase\"\n        },\n        \"children\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"$ref\": \"#/$defs/DocEntry\"\n          }\n        }\n      },\n      \"required\": [\"kind\", \"type\", \"data\", \"phase\"],\n      \"additionalProperties\": false\n    },\n    \"OtelSpan\": {\n      \"type\": \"object\",\n      \"required\": [\"spanId\", \"name\", \"status\"],\n      \"properties\": {\n        \"spanId\": {\n          \"type\": \"string\"\n        },\n        \"parentSpanId\": {\n          \"type\": \"string\"\n        },\n        \"name\": {\n          \"type\": \"string\"\n        },\n        \"startTimeMs\": {\n          \"type\": \"number\"\n        },\n        \"durationMs\": {\n          \"type\": \"number\"\n        },\n        \"startTimeUnixNano\": {\n          \"type\": \"number\"\n        },\n        \"endTimeUnixNano\": {\n          \"type\": \"number\"\n        },\n        \"status\": {\n          \"enum\": [\"ok\", \"error\", \"unset\"]\n        },\n        \"statusMessage\": {\n          \"type\": \"string\"\n        },\n        \"attributes\": {\n          \"type\": \"object\"\n        }\n      },\n      \"additionalProperties\": false\n    },\n    \"GlossaryTerm\": {\n      \"type\": \"object\",\n      \"description\": \"One glossary entry: a term the scenarios use and what it means.\",\n      \"properties\": {\n        \"term\": {\n          \"type\": \"string\",\n          \"minLength\": 1\n        },\n        \"definition\": {\n          \"type\": \"string\",\n          \"minLength\": 1\n        }\n      },\n      \"required\": [\"term\", \"definition\"],\n      \"additionalProperties\": false\n    }\n  }\n}\n","/**\n * The supported StoryReport schema major version, factored out of\n * story-report.schema.ts so the client island can do a cheap version check\n * WITHOUT importing the Zod schema module (which evaluates z.fromJSONSchema at\n * module load and pulls ~315kb of zod + locales into the bundle).\n */\nexport const STORY_REPORT_SCHEMA_MAJOR = 1 as const;\n","/**\n * parseStoryReport — boundary validator. Accepts unknown input (file contents,\n * fetch body, prop) and returns a Result-typed StoryReport.\n */\n\nimport type { StoryReport } from \"executable-stories-core\";\nimport type { Result } from \"../result\";\nimport { ok, err } from \"../result\";\nimport { storyReportSchema, STORY_REPORT_SCHEMA_MAJOR } from \"./story-report.schema\";\n\nexport function parseStoryReport(input: unknown): Result<StoryReport> {\n  if (input === null || typeof input !== \"object\") {\n    return err({\n      message: \"Expected a StoryReport object.\",\n      code: \"INVALID_INPUT\",\n    });\n  }\n\n  const versionRaw = (input as { schemaVersion?: unknown }).schemaVersion;\n  if (typeof versionRaw === \"string\") {\n    const major = versionRaw.split(\".\")[0];\n    if (major !== String(STORY_REPORT_SCHEMA_MAJOR)) {\n      return err({\n        message: `Schema major ${major} is not supported by this version of executable-stories-react (expected ${STORY_REPORT_SCHEMA_MAJOR}.x). Upgrade the package.`,\n        code: \"SCHEMA_VERSION_MISMATCH\",\n      });\n    }\n  }\n\n  const parsed = storyReportSchema.safeParse(input);\n  if (parsed.success) {\n    return ok(parsed.data as StoryReport);\n  }\n\n  const issues = parsed.error.issues.map((i) => ({\n    path: i.path.join(\".\") || \"/\",\n    message: i.message,\n  }));\n\n  return err({\n    message: `StoryReport failed validation (${issues.length} issue${issues.length === 1 ? \"\" : \"s\"}).`,\n    code: \"VALIDATION_FAILED\",\n    issues,\n  });\n}\n"],"mappings":"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","names":[]}