@openpresentation/opf 0.2.1 → 0.3.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.
@@ -0,0 +1,42 @@
1
+ # spec/
2
+
3
+ Canonical, package-addressable OPF spec content. Everything in this directory ships inside `@openpresentation/opf` and is importable as `@openpresentation/opf/spec/<path>`.
4
+
5
+ New to the format? Read [`docs/how-opf-works.md`](../docs/how-opf-works.md) first — this directory is the machine-readable half of that story.
6
+
7
+ ## Layout
8
+
9
+ | Path | Contents |
10
+ |---|---|
11
+ | [`schemas/opf.schema.json`](./schemas/opf.schema.json) | Canonical JSON Schema for top-level OPF `Presentation` documents (`$id: https://openpresentation.org/schema/opf/v1`). |
12
+ | [`schemas/*.schema.json`](./schemas) | Companion schemas for catalog records. Each has a stable `$id` of the form `https://openpresentation.org/schema/opf-<kind>/v1` (e.g. `opf-narrative`, `opf-theme`, `opf-chart-type`). |
13
+ | [`catalogs/<kind>/`](./catalogs) | Bundled catalog records, one JSON file per record plus an `index.json` per kind. These are the same records served from `https://www.pptx.gallery/<kind>`. |
14
+ | [`previews/`](./previews) | Preview metadata for catalog records (currently layout previews). |
15
+ | [`reference/engine-defaults.json`](./reference/engine-defaults.json) | Reference example of engine-side defaults. Engine configuration, not part of the OPF document contract; it has no JSON Schema. |
16
+ | [`openapi.yaml`](./openapi.yaml) | Optional reference OpenAPI 3.1 contract for downstream services that choose to expose OPF operations (validate, parse, convert, generate, render) over HTTP. OpenPresentation does not host this API; implementers can use it as a starting point for their own hosted or internal services. Local format tooling never needs it. |
17
+
18
+ ## Consuming this directory
19
+
20
+ Validate a document and load catalog records without touching the files directly:
21
+
22
+ ```ts
23
+ import { validatePresentation, narratives } from "@openpresentation/opf";
24
+
25
+ const result = validatePresentation(deck);
26
+ // result.valid — schema correctness
27
+ // result.errors — structural problems
28
+ // result.warnings — advisory issues such as unknown catalog ids
29
+ ```
30
+
31
+ Import the raw files when an engine, resolver, or non-JavaScript toolchain needs them:
32
+
33
+ ```ts
34
+ import presentationSchema from "@openpresentation/opf/spec/schemas/opf.schema.json" with { type: "json" };
35
+ import qbr from "@openpresentation/opf/spec/catalogs/narratives/qbr.json" with { type: "json" };
36
+ ```
37
+
38
+ The same paths work for any validator in any language: point a JSON Schema draft 2020-12 implementation at `schemas/opf.schema.json` and validate `.opf.json` files against it. Catalog records validate against their kind's companion schema.
39
+
40
+ ## Stability
41
+
42
+ The presentation schema `$id` is pinned to `/v1` and the package is pre-stable (0.x): expect breaking changes between minor versions until 1.0, tracked in [`CHANGELOG.md`](../CHANGELOG.md) with migration notes under [`docs/migrations/`](../docs/migrations).
@@ -9,7 +9,7 @@
9
9
  "decisionPower": "advisory",
10
10
  "attentionBudgetMinutes": 45,
11
11
  "recommendedNarratives": [
12
- "engineering-update",
12
+ "status-update",
13
13
  "challenge-resolution",
14
14
  "innovation",
15
15
  "weekly-progress"
@@ -25,7 +25,7 @@
25
25
  "weekly-progress",
26
26
  "status-update",
27
27
  "company-intro",
28
- "all-hands"
28
+ "focus"
29
29
  ],
30
30
  "tags": ["internal", "warm", "conversational"]
31
31
  }
@@ -22,7 +22,7 @@
22
22
  "If you take one thing from this section, take this."
23
23
  ],
24
24
  "recommendedNarratives": [
25
- "all-hands",
25
+ "focus",
26
26
  "company-intro",
27
27
  "weekly-progress",
28
28
  "performance-review"
@@ -25,7 +25,7 @@
25
25
  "challenge-resolution",
26
26
  "innovation",
27
27
  "conference-talk",
28
- "engineering-update"
28
+ "status-update"
29
29
  ],
30
30
  "tags": ["technical", "engineering", "research"]
31
31
  }
@@ -1,32 +1,32 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
- title: pptx.dev API
3
+ title: OPF Service API Reference
4
4
  version: "1.0.0"
5
5
  description: |
6
- REST API for parsing, validating, converting, generating, and rendering presentations.
6
+ Reference REST API shape for downstream services that parse, validate, convert, generate, or render presentations with OPF.
7
7
  OPF (Open Presentation Format) is the JSON contract; schema URL: `https://openpresentation.org/schema/opf/v1`.
8
8
 
9
- **Authentication:** Send `Authorization: Bearer <Clerk API key>` on every request, or use a signed-in browser session (Studio). `POST /v1/preview` is anonymous (IP rate-limited) for the OPF Playground.
9
+ OpenPresentation does not host this API. Implementers may use this contract as a starting point for their own hosted services, internal tools, or self-hosted deployments.
10
10
 
11
- Human-readable docs: [pptx.dev/docs](https://www.pptx.dev/docs)
11
+ **Authentication:** Send `Authorization: Bearer <token>` on authenticated requests. `POST /v1/preview` is shown as an optional unauthenticated preview endpoint for services that choose to expose one.
12
12
  contact:
13
- name: pptx.dev
14
- url: https://www.pptx.dev
13
+ name: OpenPresentation
14
+ url: https://openpresentation.org
15
15
  license:
16
16
  name: MIT
17
17
  url: https://opensource.org/licenses/MIT
18
18
 
19
19
  servers:
20
- - url: https://api.pptx.dev
21
- description: Production API
20
+ - url: https://api.example.com
21
+ description: Downstream service endpoint
22
22
  - url: http://localhost:3000/api
23
- description: Local Next.js App Router (`/api` prefix)
23
+ description: Example local development endpoint
24
24
 
25
25
  tags:
26
26
  - name: playground
27
- description: Anonymous OPF playground helpers (IP rate limits)
27
+ description: Optional unauthenticated OPF preview helpers
28
28
  - name: validate
29
- description: OPF schema validation (no billing for validation)
29
+ description: OPF schema validation
30
30
  - name: parse
31
31
  description: Upload and inspect .pptx files
32
32
  - name: convert
@@ -421,7 +421,7 @@ components:
421
421
  bearerAuth:
422
422
  type: http
423
423
  scheme: bearer
424
- description: Clerk user or org API key (`ppx_…`), or session cookie from signed-in Studio user.
424
+ description: Service-defined bearer token.
425
425
 
426
426
  parameters:
427
427
  ParseId:
@@ -479,7 +479,7 @@ components:
479
479
 
480
480
  OpfDocument:
481
481
  type: object
482
- description: OPF v1 document. See https://www.pptx.dev/docs/opf for field reference.
482
+ description: OPF v1 document. See https://openpresentation.org/schema/opf/v1 for the canonical schema.
483
483
  additionalProperties: true
484
484
  properties:
485
485
  $schema:
@@ -62,16 +62,23 @@
62
62
  "examples": ["Bob Lee", ["Bob Lee", "Carla Diaz"]]
63
63
  },
64
64
  "audience": {
65
- "type": "array",
66
- "items": {
67
- "oneOf": [
68
- { "type": "string" },
69
- { "$ref": "#/$defs/Audience" }
70
- ]
71
- },
72
- "minItems": 1,
73
- "description": "Intended audiences for the presentation. Each item accepts either:\n- A string shorthand: free-form description ('Series B investors'), an audiences catalog id ('executives'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Audience object for custom audience metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-audience/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.audiences.records[] → catalogs.audiences.source → default catalog at https://www.pptx.gallery/audiences.",
65
+ "oneOf": [
66
+ { "type": "string" },
67
+ {
68
+ "type": "array",
69
+ "items": {
70
+ "oneOf": [
71
+ { "type": "string" },
72
+ { "$ref": "#/$defs/Audience" }
73
+ ]
74
+ },
75
+ "minItems": 1
76
+ }
77
+ ],
78
+ "description": "Intended audiences for the presentation. Accepts either:\n- A single string shorthand: free-form description ('Series B investors'), an audiences catalog id ('executives'), an HTTPS URL, or a 'pkg:' reference.\n- An array of string shorthands and/or inline Audience objects for custom audience metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-audience/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.audiences.records[] → catalogs.audiences.source → default catalog at https://www.pptx.gallery/audiences.",
74
79
  "examples": [
80
+ "executives",
81
+ "Biology Students and Wildlife Enthusiasts",
75
82
  ["executives"],
76
83
  ["board", "c-suite"],
77
84
  ["Series B investors", "https://acme.com/decks/audiences/acme-board.json"],
@@ -1586,7 +1593,7 @@
1586
1593
  "items": {
1587
1594
  "type": "array",
1588
1595
  "items": { "$ref": "#/$defs/ListItem" },
1589
- "description": "Full-slide generic list payload. Presence of this field infers type 'list'."
1596
+ "description": "Full-slide generic list payload. Presence of this field infers type 'list'. At slide root, multiple content payload kinds with no explicit type, blocks, or regions are accepted as shorthand for layout-agnostic blocks."
1590
1597
  },
1591
1598
  "bullets": {
1592
1599
  "type": "array",
@@ -1638,7 +1645,7 @@
1638
1645
  "blocks": {
1639
1646
  "type": "array",
1640
1647
  "items": { "$ref": "#/$defs/ContentPayload" },
1641
- "description": "Layout-agnostic content blocks rendered together as a composed payload when exact placement is unspecified."
1648
+ "description": "Layout-agnostic content blocks rendered together as a composed payload when exact placement is unspecified. At slide root, multiple content payload kinds with no explicit type, blocks, or regions are accepted as shorthand for equivalent blocks."
1642
1649
  },
1643
1650
  "design": {
1644
1651
  "$ref": "#/$defs/Design",
@@ -1,4 +1,9 @@
1
1
  declare const specFileEntries: readonly [{
2
+ readonly path: "README.md";
3
+ readonly packagePath: "@openpresentation/opf/spec/README.md";
4
+ readonly kind: "spec";
5
+ readonly mediaType: "text/markdown";
6
+ }, {
2
7
  readonly path: "catalogs/audiences/all-hands.json";
3
8
  readonly packagePath: "@openpresentation/opf/spec/catalogs/audiences/all-hands.json";
4
9
  readonly kind: "catalogRecord";
@@ -2379,8 +2384,8 @@ declare const specFileEntries: readonly [{
2379
2384
  readonly kind: "schema";
2380
2385
  readonly mediaType: "application/json";
2381
2386
  }];
2382
- declare const specFilePaths: readonly ["catalogs/audiences/all-hands.json", "catalogs/audiences/board.json", "catalogs/audiences/candidates.json", "catalogs/audiences/customers.json", "catalogs/audiences/engineering-team.json", "catalogs/audiences/executives.json", "catalogs/audiences/index.json", "catalogs/audiences/investors.json", "catalogs/audiences/marketing-team.json", "catalogs/audiences/regulators.json", "catalogs/audiences/sales-team.json", "catalogs/chart-types/100pct-bullet-bar-2x.json", "catalogs/chart-types/100pct-bullet-bar-3x.json", "catalogs/chart-types/100pct-bullet-bar.json", "catalogs/chart-types/100pct-bullet-column-2x.json", "catalogs/chart-types/100pct-bullet-column-3x.json", "catalogs/chart-types/100pct-bullet-column.json", "catalogs/chart-types/100pct-progress-bar.json", "catalogs/chart-types/100pct-stacked-area-2x.json", "catalogs/chart-types/100pct-stacked-area-3x.json", "catalogs/chart-types/100pct-stacked-bar-2x.json", "catalogs/chart-types/100pct-stacked-bar-3x.json", "catalogs/chart-types/100pct-stacked-column-2x.json", "catalogs/chart-types/100pct-stacked-column-3x.json", "catalogs/chart-types/area.json", "catalogs/chart-types/australia.json", "catalogs/chart-types/bar.json", "catalogs/chart-types/box-and-whisker-2x.json", "catalogs/chart-types/box-and-whisker-3x.json", "catalogs/chart-types/box-and-whisker.json", "catalogs/chart-types/bullet-bar-2x.json", "catalogs/chart-types/bullet-bar-3x.json", "catalogs/chart-types/bullet-bar.json", "catalogs/chart-types/bullet-column-2x.json", "catalogs/chart-types/bullet-column-3x.json", "catalogs/chart-types/bullet-column.json", "catalogs/chart-types/canada.json", "catalogs/chart-types/clustered-bar-2x.json", "catalogs/chart-types/clustered-column.json", "catalogs/chart-types/column.json", "catalogs/chart-types/dot-plot-2x.json", "catalogs/chart-types/dot-plot-3x.json", "catalogs/chart-types/dot-plot-4x.json", "catalogs/chart-types/dot-plot-5x.json", "catalogs/chart-types/dot-plot-6x.json", "catalogs/chart-types/dot-plot.json", "catalogs/chart-types/doughnut.json", "catalogs/chart-types/dumbbell.json", "catalogs/chart-types/filled-radar.json", "catalogs/chart-types/funnel.json", "catalogs/chart-types/histogram.json", "catalogs/chart-types/index.json", "catalogs/chart-types/line-2x.json", "catalogs/chart-types/line-3x.json", "catalogs/chart-types/line-with-high-low-and-markers.json", "catalogs/chart-types/line-with-high-low.json", "catalogs/chart-types/line-with-markers-2x.json", "catalogs/chart-types/line-with-markers-3x.json", "catalogs/chart-types/line-with-markers.json", "catalogs/chart-types/line.json", "catalogs/chart-types/pareto.json", "catalogs/chart-types/pie.json", "catalogs/chart-types/radar-with-markers.json", "catalogs/chart-types/radar.json", "catalogs/chart-types/scatter.json", "catalogs/chart-types/sparkline-2x.json", "catalogs/chart-types/sparkline-3x.json", "catalogs/chart-types/sparkline-4x.json", "catalogs/chart-types/sparkline-5x.json", "catalogs/chart-types/sparkline-6x.json", "catalogs/chart-types/sparkline.json", "catalogs/chart-types/stacked-area-2x.json", "catalogs/chart-types/stacked-area-3x.json", "catalogs/chart-types/stacked-bar-2x.json", "catalogs/chart-types/stacked-bar-3x.json", "catalogs/chart-types/stacked-column-2x.json", "catalogs/chart-types/stacked-column-3x.json", "catalogs/chart-types/stacked-line-2x.json", "catalogs/chart-types/stacked-line-3x.json", "catalogs/chart-types/stacked-line-with-markers-2x.json", "catalogs/chart-types/stacked-line-with-markers-3x.json", "catalogs/chart-types/treemap-2x.json", "catalogs/chart-types/treemap-3x.json", "catalogs/chart-types/treemap.json", "catalogs/chart-types/united-kingdom.json", "catalogs/chart-types/united-states.json", "catalogs/chart-types/waterfall.json", "catalogs/chart-types/world.json", "catalogs/color-schemes/black-and-white.json", "catalogs/color-schemes/bold-red.json", "catalogs/color-schemes/boost.json", "catalogs/color-schemes/burnt-orange.json", "catalogs/color-schemes/cool-horizon.json", "catalogs/color-schemes/corporate-blue.json", "catalogs/color-schemes/deep-purple.json", "catalogs/color-schemes/forest-green.json", "catalogs/color-schemes/golden-yellow.json", "catalogs/color-schemes/index.json", "catalogs/color-schemes/luxury.json", "catalogs/color-schemes/pastel-red.json", "catalogs/color-schemes/slate-gray.json", "catalogs/color-schemes/steel-blue.json", "catalogs/color-schemes/vibes.json", "catalogs/font-schemes/angsana-new.json", "catalogs/font-schemes/aparajita.json", "catalogs/font-schemes/aptos.json", "catalogs/font-schemes/arabic-typesetting.json", "catalogs/font-schemes/arial.json", "catalogs/font-schemes/batang.json", "catalogs/font-schemes/bookman.json", "catalogs/font-schemes/calibri.json", "catalogs/font-schemes/century-schoolbook.json", "catalogs/font-schemes/consolas.json", "catalogs/font-schemes/constantia.json", "catalogs/font-schemes/courier-new.json", "catalogs/font-schemes/daunpenh.json", "catalogs/font-schemes/david.json", "catalogs/font-schemes/dilleniaupc.json", "catalogs/font-schemes/fangsong.json", "catalogs/font-schemes/garamond.json", "catalogs/font-schemes/gautami.json", "catalogs/font-schemes/georgia.json", "catalogs/font-schemes/gisha.json", "catalogs/font-schemes/grandview.json", "catalogs/font-schemes/gungsuh.json", "catalogs/font-schemes/impact.json", "catalogs/font-schemes/index.json", "catalogs/font-schemes/kalinga.json", "catalogs/font-schemes/kartika.json", "catalogs/font-schemes/khmer-ui.json", "catalogs/font-schemes/latha.json", "catalogs/font-schemes/lucida-sans.json", "catalogs/font-schemes/malgun-gothic.json", "catalogs/font-schemes/mangal.json", "catalogs/font-schemes/meiryo.json", "catalogs/font-schemes/microsoft-jhenghei.json", "catalogs/font-schemes/microsoft-yahei.json", "catalogs/font-schemes/mingliu.json", "catalogs/font-schemes/miriam.json", "catalogs/font-schemes/montserrat.json", "catalogs/font-schemes/ms-mincho.json", "catalogs/font-schemes/nirmala-ui.json", "catalogs/font-schemes/noto-naksh-arabic.json", "catalogs/font-schemes/noto-nastaliq-urdu.json", "catalogs/font-schemes/noto-sans-arabic.json", "catalogs/font-schemes/noto-sans-armenian.json", "catalogs/font-schemes/noto-sans-bengali.json", "catalogs/font-schemes/noto-sans-devangari.json", "catalogs/font-schemes/noto-sans-ethiopic.json", "catalogs/font-schemes/noto-sans-georgian.json", "catalogs/font-schemes/noto-sans-gujarati.json", "catalogs/font-schemes/noto-sans-gurmukhi.json", "catalogs/font-schemes/noto-sans-hebrew.json", "catalogs/font-schemes/noto-sans-jp.json", "catalogs/font-schemes/noto-sans-kannada.json", "catalogs/font-schemes/noto-sans-khmer.json", "catalogs/font-schemes/noto-sans-kr.json", "catalogs/font-schemes/noto-sans-malayalam.json", "catalogs/font-schemes/noto-sans-mongolian.json", "catalogs/font-schemes/noto-sans-oriya.json", "catalogs/font-schemes/noto-sans-sc.json", "catalogs/font-schemes/noto-sans-tamil.json", "catalogs/font-schemes/noto-sans-tc.json", "catalogs/font-schemes/noto-sans-telugu.json", "catalogs/font-schemes/noto-sans-thai.json", "catalogs/font-schemes/noto-sans.json", "catalogs/font-schemes/nyala.json", "catalogs/font-schemes/open-sans.json", "catalogs/font-schemes/pmingliu.json", "catalogs/font-schemes/poppins.json", "catalogs/font-schemes/pt-serif.json", "catalogs/font-schemes/raavi.json", "catalogs/font-schemes/raleway.json", "catalogs/font-schemes/roboto.json", "catalogs/font-schemes/rockwell.json", "catalogs/font-schemes/sakkal-majalla.json", "catalogs/font-schemes/seaford.json", "catalogs/font-schemes/segoe-ui-light.json", "catalogs/font-schemes/segoe-ui.json", "catalogs/font-schemes/shonar-bangla.json", "catalogs/font-schemes/shruti.json", "catalogs/font-schemes/simsun.json", "catalogs/font-schemes/skeena.json", "catalogs/font-schemes/sylfaen.json", "catalogs/font-schemes/tahoma.json", "catalogs/font-schemes/tenorite.json", "catalogs/font-schemes/times-new-roman.json", "catalogs/font-schemes/traditional-arabic.json", "catalogs/font-schemes/trebuchet-ms.json", "catalogs/font-schemes/tunga.json", "catalogs/font-schemes/verdana.json", "catalogs/font-schemes/vrinda.json", "catalogs/font-schemes/yu-gothic.json", "catalogs/languages/afrikaans.json", "catalogs/languages/albanian.json", "catalogs/languages/amharic.json", "catalogs/languages/arabic.json", "catalogs/languages/armenian.json", "catalogs/languages/aymara.json", "catalogs/languages/azerbaijani.json", "catalogs/languages/bengali.json", "catalogs/languages/berber-latin.json", "catalogs/languages/bosnian-latin.json", "catalogs/languages/bulgarian.json", "catalogs/languages/catalan.json", "catalogs/languages/cebuano.json", "catalogs/languages/chinese-simplified.json", "catalogs/languages/chinese-traditional.json", "catalogs/languages/chittagonian.json", "catalogs/languages/croatian.json", "catalogs/languages/czech.json", "catalogs/languages/danish.json", "catalogs/languages/dutch.json", "catalogs/languages/english-au.json", "catalogs/languages/english-ca.json", "catalogs/languages/english-gb.json", "catalogs/languages/english-in.json", "catalogs/languages/english-us.json", "catalogs/languages/english.json", "catalogs/languages/estonian.json", "catalogs/languages/filipino.json", "catalogs/languages/finnish.json", "catalogs/languages/french.json", "catalogs/languages/fulfulde.json", "catalogs/languages/galician.json", "catalogs/languages/georgian.json", "catalogs/languages/german.json", "catalogs/languages/greek.json", "catalogs/languages/gujarati.json", "catalogs/languages/hausa.json", "catalogs/languages/hebrew.json", "catalogs/languages/hindi.json", "catalogs/languages/hungarian.json", "catalogs/languages/igbo.json", "catalogs/languages/index.json", "catalogs/languages/indonesian.json", "catalogs/languages/italian.json", "catalogs/languages/japanese.json", "catalogs/languages/kannada.json", "catalogs/languages/kazakh.json", "catalogs/languages/khmer.json", "catalogs/languages/kinyarwanda.json", "catalogs/languages/korean.json", "catalogs/languages/kurmanji.json", "catalogs/languages/latvian.json", "catalogs/languages/lithuanian.json", "catalogs/languages/macedonian.json", "catalogs/languages/malagasy.json", "catalogs/languages/malay.json", "catalogs/languages/malayalam.json", "catalogs/languages/maori.json", "catalogs/languages/marathi.json", "catalogs/languages/mongolian.json", "catalogs/languages/nepali.json", "catalogs/languages/norwegian.json", "catalogs/languages/odia.json", "catalogs/languages/oromo.json", "catalogs/languages/pashto.json", "catalogs/languages/persian.json", "catalogs/languages/polish.json", "catalogs/languages/portuguese.json", "catalogs/languages/punjabi-gurmukhi.json", "catalogs/languages/punjabi-shahmukhi.json", "catalogs/languages/romanian.json", "catalogs/languages/russian.json", "catalogs/languages/serbian-cyrillic.json", "catalogs/languages/serbian-latin.json", "catalogs/languages/shona.json", "catalogs/languages/slovak.json", "catalogs/languages/slovenian.json", "catalogs/languages/somali.json", "catalogs/languages/spanish.json", "catalogs/languages/swahili.json", "catalogs/languages/swedish.json", "catalogs/languages/tagalog.json", "catalogs/languages/tajik.json", "catalogs/languages/tamil.json", "catalogs/languages/telugu.json", "catalogs/languages/thai.json", "catalogs/languages/turkish.json", "catalogs/languages/ukrainian.json", "catalogs/languages/urdu.json", "catalogs/languages/uzbek-latin.json", "catalogs/languages/vietnamese-quoc-ngu.json", "catalogs/languages/xhosa.json", "catalogs/languages/yoruba.json", "catalogs/languages/zulu.json", "catalogs/layouts/blank.json", "catalogs/layouts/chart-1x.json", "catalogs/layouts/chart-2x.json", "catalogs/layouts/chart-3x.json", "catalogs/layouts/code-1x.json", "catalogs/layouts/extract/canonical.json", "catalogs/layouts/image-1x.json", "catalogs/layouts/image-2x.json", "catalogs/layouts/image-3x.json", "catalogs/layouts/image-bleed.json", "catalogs/layouts/index.json", "catalogs/layouts/list-1x.json", "catalogs/layouts/list-2x.json", "catalogs/layouts/list-3x.json", "catalogs/layouts/list-4x.json", "catalogs/layouts/list-5x.json", "catalogs/layouts/list-6x.json", "catalogs/layouts/media-1x.json", "catalogs/layouts/number-1x.json", "catalogs/layouts/number-2x.json", "catalogs/layouts/number-3x.json", "catalogs/layouts/number-4x.json", "catalogs/layouts/number-5x.json", "catalogs/layouts/number-6x.json", "catalogs/layouts/table-1x.json", "catalogs/layouts/text-1x.json", "catalogs/layouts/text-2x.json", "catalogs/layouts/text-3x.json", "catalogs/layouts/title-subtitle.json", "catalogs/layouts/title.json", "catalogs/narratives/board-meeting.json", "catalogs/narratives/business-narrative.json", "catalogs/narratives/business-review.json", "catalogs/narratives/capacity-planning.json", "catalogs/narratives/challenge-resolution.json", "catalogs/narratives/classic-story.json", "catalogs/narratives/company-intro.json", "catalogs/narratives/conference-talk.json", "catalogs/narratives/early-startup-pitch.json", "catalogs/narratives/educate.json", "catalogs/narratives/employee-review.json", "catalogs/narratives/failure-analysis.json", "catalogs/narratives/focus.json", "catalogs/narratives/golden-circle.json", "catalogs/narratives/index.json", "catalogs/narratives/innovation.json", "catalogs/narratives/justice.json", "catalogs/narratives/marketing-strategy.json", "catalogs/narratives/performance-improvement-plan.json", "catalogs/narratives/performance-review.json", "catalogs/narratives/persuade.json", "catalogs/narratives/persuasive-sales.json", "catalogs/narratives/pitch-deck.json", "catalogs/narratives/problem-solution.json", "catalogs/narratives/product-launch.json", "catalogs/narratives/project-proposal.json", "catalogs/narratives/qbr.json", "catalogs/narratives/rags-to-riches.json", "catalogs/narratives/reveal.json", "catalogs/narratives/scqa.json", "catalogs/narratives/status-update.json", "catalogs/narratives/strategic-advisory.json", "catalogs/narratives/strategic-narrative.json", "catalogs/narratives/survey-analysis.json", "catalogs/narratives/survival-story.json", "catalogs/narratives/transformation-arc.json", "catalogs/narratives/trend-analysis.json", "catalogs/narratives/underdog-victory.json", "catalogs/narratives/venture-pitch.json", "catalogs/narratives/weekly-progress.json", "catalogs/purposes/align.json", "catalogs/purposes/decide.json", "catalogs/purposes/educate.json", "catalogs/purposes/index.json", "catalogs/purposes/inform.json", "catalogs/purposes/persuade.json", "catalogs/purposes/pitch.json", "catalogs/purposes/plan.json", "catalogs/purposes/report.json", "catalogs/purposes/sell.json", "catalogs/social-platforms/bluesky.json", "catalogs/social-platforms/facebook.json", "catalogs/social-platforms/github.json", "catalogs/social-platforms/index.json", "catalogs/social-platforms/instagram.json", "catalogs/social-platforms/linkedin.json", "catalogs/social-platforms/mastodon.json", "catalogs/social-platforms/threads.json", "catalogs/social-platforms/tiktok.json", "catalogs/social-platforms/x.json", "catalogs/social-platforms/youtube.json", "catalogs/themes/bold.json", "catalogs/themes/classic.json", "catalogs/themes/dark.json", "catalogs/themes/index.json", "catalogs/themes/minimal.json", "catalogs/tones/authoritative.json", "catalogs/tones/casual.json", "catalogs/tones/conversational.json", "catalogs/tones/formal.json", "catalogs/tones/index.json", "catalogs/tones/inspirational.json", "catalogs/tones/persuasive.json", "catalogs/tones/technical.json", "openapi.yaml", "previews/layouts/action-plan.html", "previews/layouts/agenda.html", "previews/layouts/appendix-index.html", "previews/layouts/architecture-stack.html", "previews/layouts/assumptions-dependencies.html", "previews/layouts/before-after.html", "previews/layouts/benchmark-target-table.html", "previews/layouts/bullet-list.html", "previews/layouts/business-model-canvas.html", "previews/layouts/capability-map.html", "previews/layouts/case-study.html", "previews/layouts/chapter-recap.html", "previews/layouts/circular-lifecycle.html", "previews/layouts/comparison.html", "previews/layouts/competitive-landscape.html", "previews/layouts/customer-journey.html", "previews/layouts/customer-logos.html", "previews/layouts/dashboard.html", "previews/layouts/data-visualization.html", "previews/layouts/decision-tree.html", "previews/layouts/detailed-data-table.html", "previews/layouts/ecosystem-map.html", "previews/layouts/executive-decision.html", "previews/layouts/executive-summary.html", "previews/layouts/faq.html", "previews/layouts/feature-comparison-matrix.html", "previews/layouts/forecast-scenario.html", "previews/layouts/funnel-pyramid.html", "previews/layouts/gantt-project-plan.html", "previews/layouts/geographic-map.html", "previews/layouts/heatmap-cohort.html", "previews/layouts/hub-and-spoke.html", "previews/layouts/icon-grid.html", "previews/layouts/image-focus.html", "previews/layouts/index.json", "previews/layouts/key-takeaway.html", "previews/layouts/kpi-scorecard.html", "previews/layouts/logic-tree.html", "previews/layouts/market-size.html", "previews/layouts/matrix-quadrant.html", "previews/layouts/network-dependency-map.html", "previews/layouts/one-column-explainer.html", "previews/layouts/org-chart.html", "previews/layouts/persona-grid.html", "previews/layouts/photo-grid.html", "previews/layouts/pricing-table.html", "previews/layouts/process-flow.html", "previews/layouts/product-feature.html", "previews/layouts/pros-cons.html", "previews/layouts/qa-discussion.html", "previews/layouts/quote-highlight.html", "previews/layouts/raci-matrix.html", "previews/layouts/risk-heatmap.html", "previews/layouts/roadmap.html", "previews/layouts/screenshot-walkthrough.html", "previews/layouts/section-divider.html", "previews/layouts/single-message-statement.html", "previews/layouts/stats-metrics.html", "previews/layouts/status-rag.html", "previews/layouts/swimlane-process.html", "previews/layouts/swot-analysis.html", "previews/layouts/team-bio.html", "previews/layouts/testimonial-grid.html", "previews/layouts/thank-you-cta.html", "previews/layouts/three-column.html", "previews/layouts/timeline.html", "previews/layouts/title-slide.html", "previews/layouts/two-column.html", "previews/layouts/venn-overlap.html", "previews/layouts/waterfall-bridge.html", "previews/layouts/wheel-radial.html", "reference/engine-defaults.json", "schemas/audience.schema.json", "schemas/chart-type.schema.json", "schemas/color-scheme.schema.json", "schemas/font-scheme.schema.json", "schemas/language.schema.json", "schemas/layout.schema.json", "schemas/narrative.schema.json", "schemas/opf.schema.json", "schemas/purpose.schema.json", "schemas/social-platform.schema.json", "schemas/theme.schema.json", "schemas/tone.schema.json"];
2383
- declare const specFileKinds: readonly ["catalogRecord", "catalogIndex", "openapi", "spec", "reference", "schema"];
2387
+ declare const specFilePaths: readonly ["README.md", "catalogs/audiences/all-hands.json", "catalogs/audiences/board.json", "catalogs/audiences/candidates.json", "catalogs/audiences/customers.json", "catalogs/audiences/engineering-team.json", "catalogs/audiences/executives.json", "catalogs/audiences/index.json", "catalogs/audiences/investors.json", "catalogs/audiences/marketing-team.json", "catalogs/audiences/regulators.json", "catalogs/audiences/sales-team.json", "catalogs/chart-types/100pct-bullet-bar-2x.json", "catalogs/chart-types/100pct-bullet-bar-3x.json", "catalogs/chart-types/100pct-bullet-bar.json", "catalogs/chart-types/100pct-bullet-column-2x.json", "catalogs/chart-types/100pct-bullet-column-3x.json", "catalogs/chart-types/100pct-bullet-column.json", "catalogs/chart-types/100pct-progress-bar.json", "catalogs/chart-types/100pct-stacked-area-2x.json", "catalogs/chart-types/100pct-stacked-area-3x.json", "catalogs/chart-types/100pct-stacked-bar-2x.json", "catalogs/chart-types/100pct-stacked-bar-3x.json", "catalogs/chart-types/100pct-stacked-column-2x.json", "catalogs/chart-types/100pct-stacked-column-3x.json", "catalogs/chart-types/area.json", "catalogs/chart-types/australia.json", "catalogs/chart-types/bar.json", "catalogs/chart-types/box-and-whisker-2x.json", "catalogs/chart-types/box-and-whisker-3x.json", "catalogs/chart-types/box-and-whisker.json", "catalogs/chart-types/bullet-bar-2x.json", "catalogs/chart-types/bullet-bar-3x.json", "catalogs/chart-types/bullet-bar.json", "catalogs/chart-types/bullet-column-2x.json", "catalogs/chart-types/bullet-column-3x.json", "catalogs/chart-types/bullet-column.json", "catalogs/chart-types/canada.json", "catalogs/chart-types/clustered-bar-2x.json", "catalogs/chart-types/clustered-column.json", "catalogs/chart-types/column.json", "catalogs/chart-types/dot-plot-2x.json", "catalogs/chart-types/dot-plot-3x.json", "catalogs/chart-types/dot-plot-4x.json", "catalogs/chart-types/dot-plot-5x.json", "catalogs/chart-types/dot-plot-6x.json", "catalogs/chart-types/dot-plot.json", "catalogs/chart-types/doughnut.json", "catalogs/chart-types/dumbbell.json", "catalogs/chart-types/filled-radar.json", "catalogs/chart-types/funnel.json", "catalogs/chart-types/histogram.json", "catalogs/chart-types/index.json", "catalogs/chart-types/line-2x.json", "catalogs/chart-types/line-3x.json", "catalogs/chart-types/line-with-high-low-and-markers.json", "catalogs/chart-types/line-with-high-low.json", "catalogs/chart-types/line-with-markers-2x.json", "catalogs/chart-types/line-with-markers-3x.json", "catalogs/chart-types/line-with-markers.json", "catalogs/chart-types/line.json", "catalogs/chart-types/pareto.json", "catalogs/chart-types/pie.json", "catalogs/chart-types/radar-with-markers.json", "catalogs/chart-types/radar.json", "catalogs/chart-types/scatter.json", "catalogs/chart-types/sparkline-2x.json", "catalogs/chart-types/sparkline-3x.json", "catalogs/chart-types/sparkline-4x.json", "catalogs/chart-types/sparkline-5x.json", "catalogs/chart-types/sparkline-6x.json", "catalogs/chart-types/sparkline.json", "catalogs/chart-types/stacked-area-2x.json", "catalogs/chart-types/stacked-area-3x.json", "catalogs/chart-types/stacked-bar-2x.json", "catalogs/chart-types/stacked-bar-3x.json", "catalogs/chart-types/stacked-column-2x.json", "catalogs/chart-types/stacked-column-3x.json", "catalogs/chart-types/stacked-line-2x.json", "catalogs/chart-types/stacked-line-3x.json", "catalogs/chart-types/stacked-line-with-markers-2x.json", "catalogs/chart-types/stacked-line-with-markers-3x.json", "catalogs/chart-types/treemap-2x.json", "catalogs/chart-types/treemap-3x.json", "catalogs/chart-types/treemap.json", "catalogs/chart-types/united-kingdom.json", "catalogs/chart-types/united-states.json", "catalogs/chart-types/waterfall.json", "catalogs/chart-types/world.json", "catalogs/color-schemes/black-and-white.json", "catalogs/color-schemes/bold-red.json", "catalogs/color-schemes/boost.json", "catalogs/color-schemes/burnt-orange.json", "catalogs/color-schemes/cool-horizon.json", "catalogs/color-schemes/corporate-blue.json", "catalogs/color-schemes/deep-purple.json", "catalogs/color-schemes/forest-green.json", "catalogs/color-schemes/golden-yellow.json", "catalogs/color-schemes/index.json", "catalogs/color-schemes/luxury.json", "catalogs/color-schemes/pastel-red.json", "catalogs/color-schemes/slate-gray.json", "catalogs/color-schemes/steel-blue.json", "catalogs/color-schemes/vibes.json", "catalogs/font-schemes/angsana-new.json", "catalogs/font-schemes/aparajita.json", "catalogs/font-schemes/aptos.json", "catalogs/font-schemes/arabic-typesetting.json", "catalogs/font-schemes/arial.json", "catalogs/font-schemes/batang.json", "catalogs/font-schemes/bookman.json", "catalogs/font-schemes/calibri.json", "catalogs/font-schemes/century-schoolbook.json", "catalogs/font-schemes/consolas.json", "catalogs/font-schemes/constantia.json", "catalogs/font-schemes/courier-new.json", "catalogs/font-schemes/daunpenh.json", "catalogs/font-schemes/david.json", "catalogs/font-schemes/dilleniaupc.json", "catalogs/font-schemes/fangsong.json", "catalogs/font-schemes/garamond.json", "catalogs/font-schemes/gautami.json", "catalogs/font-schemes/georgia.json", "catalogs/font-schemes/gisha.json", "catalogs/font-schemes/grandview.json", "catalogs/font-schemes/gungsuh.json", "catalogs/font-schemes/impact.json", "catalogs/font-schemes/index.json", "catalogs/font-schemes/kalinga.json", "catalogs/font-schemes/kartika.json", "catalogs/font-schemes/khmer-ui.json", "catalogs/font-schemes/latha.json", "catalogs/font-schemes/lucida-sans.json", "catalogs/font-schemes/malgun-gothic.json", "catalogs/font-schemes/mangal.json", "catalogs/font-schemes/meiryo.json", "catalogs/font-schemes/microsoft-jhenghei.json", "catalogs/font-schemes/microsoft-yahei.json", "catalogs/font-schemes/mingliu.json", "catalogs/font-schemes/miriam.json", "catalogs/font-schemes/montserrat.json", "catalogs/font-schemes/ms-mincho.json", "catalogs/font-schemes/nirmala-ui.json", "catalogs/font-schemes/noto-naksh-arabic.json", "catalogs/font-schemes/noto-nastaliq-urdu.json", "catalogs/font-schemes/noto-sans-arabic.json", "catalogs/font-schemes/noto-sans-armenian.json", "catalogs/font-schemes/noto-sans-bengali.json", "catalogs/font-schemes/noto-sans-devangari.json", "catalogs/font-schemes/noto-sans-ethiopic.json", "catalogs/font-schemes/noto-sans-georgian.json", "catalogs/font-schemes/noto-sans-gujarati.json", "catalogs/font-schemes/noto-sans-gurmukhi.json", "catalogs/font-schemes/noto-sans-hebrew.json", "catalogs/font-schemes/noto-sans-jp.json", "catalogs/font-schemes/noto-sans-kannada.json", "catalogs/font-schemes/noto-sans-khmer.json", "catalogs/font-schemes/noto-sans-kr.json", "catalogs/font-schemes/noto-sans-malayalam.json", "catalogs/font-schemes/noto-sans-mongolian.json", "catalogs/font-schemes/noto-sans-oriya.json", "catalogs/font-schemes/noto-sans-sc.json", "catalogs/font-schemes/noto-sans-tamil.json", "catalogs/font-schemes/noto-sans-tc.json", "catalogs/font-schemes/noto-sans-telugu.json", "catalogs/font-schemes/noto-sans-thai.json", "catalogs/font-schemes/noto-sans.json", "catalogs/font-schemes/nyala.json", "catalogs/font-schemes/open-sans.json", "catalogs/font-schemes/pmingliu.json", "catalogs/font-schemes/poppins.json", "catalogs/font-schemes/pt-serif.json", "catalogs/font-schemes/raavi.json", "catalogs/font-schemes/raleway.json", "catalogs/font-schemes/roboto.json", "catalogs/font-schemes/rockwell.json", "catalogs/font-schemes/sakkal-majalla.json", "catalogs/font-schemes/seaford.json", "catalogs/font-schemes/segoe-ui-light.json", "catalogs/font-schemes/segoe-ui.json", "catalogs/font-schemes/shonar-bangla.json", "catalogs/font-schemes/shruti.json", "catalogs/font-schemes/simsun.json", "catalogs/font-schemes/skeena.json", "catalogs/font-schemes/sylfaen.json", "catalogs/font-schemes/tahoma.json", "catalogs/font-schemes/tenorite.json", "catalogs/font-schemes/times-new-roman.json", "catalogs/font-schemes/traditional-arabic.json", "catalogs/font-schemes/trebuchet-ms.json", "catalogs/font-schemes/tunga.json", "catalogs/font-schemes/verdana.json", "catalogs/font-schemes/vrinda.json", "catalogs/font-schemes/yu-gothic.json", "catalogs/languages/afrikaans.json", "catalogs/languages/albanian.json", "catalogs/languages/amharic.json", "catalogs/languages/arabic.json", "catalogs/languages/armenian.json", "catalogs/languages/aymara.json", "catalogs/languages/azerbaijani.json", "catalogs/languages/bengali.json", "catalogs/languages/berber-latin.json", "catalogs/languages/bosnian-latin.json", "catalogs/languages/bulgarian.json", "catalogs/languages/catalan.json", "catalogs/languages/cebuano.json", "catalogs/languages/chinese-simplified.json", "catalogs/languages/chinese-traditional.json", "catalogs/languages/chittagonian.json", "catalogs/languages/croatian.json", "catalogs/languages/czech.json", "catalogs/languages/danish.json", "catalogs/languages/dutch.json", "catalogs/languages/english-au.json", "catalogs/languages/english-ca.json", "catalogs/languages/english-gb.json", "catalogs/languages/english-in.json", "catalogs/languages/english-us.json", "catalogs/languages/english.json", "catalogs/languages/estonian.json", "catalogs/languages/filipino.json", "catalogs/languages/finnish.json", "catalogs/languages/french.json", "catalogs/languages/fulfulde.json", "catalogs/languages/galician.json", "catalogs/languages/georgian.json", "catalogs/languages/german.json", "catalogs/languages/greek.json", "catalogs/languages/gujarati.json", "catalogs/languages/hausa.json", "catalogs/languages/hebrew.json", "catalogs/languages/hindi.json", "catalogs/languages/hungarian.json", "catalogs/languages/igbo.json", "catalogs/languages/index.json", "catalogs/languages/indonesian.json", "catalogs/languages/italian.json", "catalogs/languages/japanese.json", "catalogs/languages/kannada.json", "catalogs/languages/kazakh.json", "catalogs/languages/khmer.json", "catalogs/languages/kinyarwanda.json", "catalogs/languages/korean.json", "catalogs/languages/kurmanji.json", "catalogs/languages/latvian.json", "catalogs/languages/lithuanian.json", "catalogs/languages/macedonian.json", "catalogs/languages/malagasy.json", "catalogs/languages/malay.json", "catalogs/languages/malayalam.json", "catalogs/languages/maori.json", "catalogs/languages/marathi.json", "catalogs/languages/mongolian.json", "catalogs/languages/nepali.json", "catalogs/languages/norwegian.json", "catalogs/languages/odia.json", "catalogs/languages/oromo.json", "catalogs/languages/pashto.json", "catalogs/languages/persian.json", "catalogs/languages/polish.json", "catalogs/languages/portuguese.json", "catalogs/languages/punjabi-gurmukhi.json", "catalogs/languages/punjabi-shahmukhi.json", "catalogs/languages/romanian.json", "catalogs/languages/russian.json", "catalogs/languages/serbian-cyrillic.json", "catalogs/languages/serbian-latin.json", "catalogs/languages/shona.json", "catalogs/languages/slovak.json", "catalogs/languages/slovenian.json", "catalogs/languages/somali.json", "catalogs/languages/spanish.json", "catalogs/languages/swahili.json", "catalogs/languages/swedish.json", "catalogs/languages/tagalog.json", "catalogs/languages/tajik.json", "catalogs/languages/tamil.json", "catalogs/languages/telugu.json", "catalogs/languages/thai.json", "catalogs/languages/turkish.json", "catalogs/languages/ukrainian.json", "catalogs/languages/urdu.json", "catalogs/languages/uzbek-latin.json", "catalogs/languages/vietnamese-quoc-ngu.json", "catalogs/languages/xhosa.json", "catalogs/languages/yoruba.json", "catalogs/languages/zulu.json", "catalogs/layouts/blank.json", "catalogs/layouts/chart-1x.json", "catalogs/layouts/chart-2x.json", "catalogs/layouts/chart-3x.json", "catalogs/layouts/code-1x.json", "catalogs/layouts/extract/canonical.json", "catalogs/layouts/image-1x.json", "catalogs/layouts/image-2x.json", "catalogs/layouts/image-3x.json", "catalogs/layouts/image-bleed.json", "catalogs/layouts/index.json", "catalogs/layouts/list-1x.json", "catalogs/layouts/list-2x.json", "catalogs/layouts/list-3x.json", "catalogs/layouts/list-4x.json", "catalogs/layouts/list-5x.json", "catalogs/layouts/list-6x.json", "catalogs/layouts/media-1x.json", "catalogs/layouts/number-1x.json", "catalogs/layouts/number-2x.json", "catalogs/layouts/number-3x.json", "catalogs/layouts/number-4x.json", "catalogs/layouts/number-5x.json", "catalogs/layouts/number-6x.json", "catalogs/layouts/table-1x.json", "catalogs/layouts/text-1x.json", "catalogs/layouts/text-2x.json", "catalogs/layouts/text-3x.json", "catalogs/layouts/title-subtitle.json", "catalogs/layouts/title.json", "catalogs/narratives/board-meeting.json", "catalogs/narratives/business-narrative.json", "catalogs/narratives/business-review.json", "catalogs/narratives/capacity-planning.json", "catalogs/narratives/challenge-resolution.json", "catalogs/narratives/classic-story.json", "catalogs/narratives/company-intro.json", "catalogs/narratives/conference-talk.json", "catalogs/narratives/early-startup-pitch.json", "catalogs/narratives/educate.json", "catalogs/narratives/employee-review.json", "catalogs/narratives/failure-analysis.json", "catalogs/narratives/focus.json", "catalogs/narratives/golden-circle.json", "catalogs/narratives/index.json", "catalogs/narratives/innovation.json", "catalogs/narratives/justice.json", "catalogs/narratives/marketing-strategy.json", "catalogs/narratives/performance-improvement-plan.json", "catalogs/narratives/performance-review.json", "catalogs/narratives/persuade.json", "catalogs/narratives/persuasive-sales.json", "catalogs/narratives/pitch-deck.json", "catalogs/narratives/problem-solution.json", "catalogs/narratives/product-launch.json", "catalogs/narratives/project-proposal.json", "catalogs/narratives/qbr.json", "catalogs/narratives/rags-to-riches.json", "catalogs/narratives/reveal.json", "catalogs/narratives/scqa.json", "catalogs/narratives/status-update.json", "catalogs/narratives/strategic-advisory.json", "catalogs/narratives/strategic-narrative.json", "catalogs/narratives/survey-analysis.json", "catalogs/narratives/survival-story.json", "catalogs/narratives/transformation-arc.json", "catalogs/narratives/trend-analysis.json", "catalogs/narratives/underdog-victory.json", "catalogs/narratives/venture-pitch.json", "catalogs/narratives/weekly-progress.json", "catalogs/purposes/align.json", "catalogs/purposes/decide.json", "catalogs/purposes/educate.json", "catalogs/purposes/index.json", "catalogs/purposes/inform.json", "catalogs/purposes/persuade.json", "catalogs/purposes/pitch.json", "catalogs/purposes/plan.json", "catalogs/purposes/report.json", "catalogs/purposes/sell.json", "catalogs/social-platforms/bluesky.json", "catalogs/social-platforms/facebook.json", "catalogs/social-platforms/github.json", "catalogs/social-platforms/index.json", "catalogs/social-platforms/instagram.json", "catalogs/social-platforms/linkedin.json", "catalogs/social-platforms/mastodon.json", "catalogs/social-platforms/threads.json", "catalogs/social-platforms/tiktok.json", "catalogs/social-platforms/x.json", "catalogs/social-platforms/youtube.json", "catalogs/themes/bold.json", "catalogs/themes/classic.json", "catalogs/themes/dark.json", "catalogs/themes/index.json", "catalogs/themes/minimal.json", "catalogs/tones/authoritative.json", "catalogs/tones/casual.json", "catalogs/tones/conversational.json", "catalogs/tones/formal.json", "catalogs/tones/index.json", "catalogs/tones/inspirational.json", "catalogs/tones/persuasive.json", "catalogs/tones/technical.json", "openapi.yaml", "previews/layouts/action-plan.html", "previews/layouts/agenda.html", "previews/layouts/appendix-index.html", "previews/layouts/architecture-stack.html", "previews/layouts/assumptions-dependencies.html", "previews/layouts/before-after.html", "previews/layouts/benchmark-target-table.html", "previews/layouts/bullet-list.html", "previews/layouts/business-model-canvas.html", "previews/layouts/capability-map.html", "previews/layouts/case-study.html", "previews/layouts/chapter-recap.html", "previews/layouts/circular-lifecycle.html", "previews/layouts/comparison.html", "previews/layouts/competitive-landscape.html", "previews/layouts/customer-journey.html", "previews/layouts/customer-logos.html", "previews/layouts/dashboard.html", "previews/layouts/data-visualization.html", "previews/layouts/decision-tree.html", "previews/layouts/detailed-data-table.html", "previews/layouts/ecosystem-map.html", "previews/layouts/executive-decision.html", "previews/layouts/executive-summary.html", "previews/layouts/faq.html", "previews/layouts/feature-comparison-matrix.html", "previews/layouts/forecast-scenario.html", "previews/layouts/funnel-pyramid.html", "previews/layouts/gantt-project-plan.html", "previews/layouts/geographic-map.html", "previews/layouts/heatmap-cohort.html", "previews/layouts/hub-and-spoke.html", "previews/layouts/icon-grid.html", "previews/layouts/image-focus.html", "previews/layouts/index.json", "previews/layouts/key-takeaway.html", "previews/layouts/kpi-scorecard.html", "previews/layouts/logic-tree.html", "previews/layouts/market-size.html", "previews/layouts/matrix-quadrant.html", "previews/layouts/network-dependency-map.html", "previews/layouts/one-column-explainer.html", "previews/layouts/org-chart.html", "previews/layouts/persona-grid.html", "previews/layouts/photo-grid.html", "previews/layouts/pricing-table.html", "previews/layouts/process-flow.html", "previews/layouts/product-feature.html", "previews/layouts/pros-cons.html", "previews/layouts/qa-discussion.html", "previews/layouts/quote-highlight.html", "previews/layouts/raci-matrix.html", "previews/layouts/risk-heatmap.html", "previews/layouts/roadmap.html", "previews/layouts/screenshot-walkthrough.html", "previews/layouts/section-divider.html", "previews/layouts/single-message-statement.html", "previews/layouts/stats-metrics.html", "previews/layouts/status-rag.html", "previews/layouts/swimlane-process.html", "previews/layouts/swot-analysis.html", "previews/layouts/team-bio.html", "previews/layouts/testimonial-grid.html", "previews/layouts/thank-you-cta.html", "previews/layouts/three-column.html", "previews/layouts/timeline.html", "previews/layouts/title-slide.html", "previews/layouts/two-column.html", "previews/layouts/venn-overlap.html", "previews/layouts/waterfall-bridge.html", "previews/layouts/wheel-radial.html", "reference/engine-defaults.json", "schemas/audience.schema.json", "schemas/chart-type.schema.json", "schemas/color-scheme.schema.json", "schemas/font-scheme.schema.json", "schemas/language.schema.json", "schemas/layout.schema.json", "schemas/narrative.schema.json", "schemas/opf.schema.json", "schemas/purpose.schema.json", "schemas/social-platform.schema.json", "schemas/theme.schema.json", "schemas/tone.schema.json"];
2388
+ declare const specFileKinds: readonly ["spec", "catalogRecord", "catalogIndex", "openapi", "reference", "schema"];
2384
2389
  type SpecFileEntry = typeof specFileEntries[number];
2385
2390
  type SpecFilePath = typeof specFilePaths[number];
2386
2391
  type SpecFileKind = typeof specFileKinds[number];
@@ -1,5 +1,11 @@
1
1
  // src/generated/spec-files.ts
2
2
  var specFileEntries = [
3
+ {
4
+ "path": "README.md",
5
+ "packagePath": "@openpresentation/opf/spec/README.md",
6
+ "kind": "spec",
7
+ "mediaType": "text/markdown"
8
+ },
3
9
  {
4
10
  "path": "catalogs/audiences/all-hands.json",
5
11
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/all-hands.json",
@@ -2858,6 +2864,7 @@ var specFileEntries = [
2858
2864
  }
2859
2865
  ];
2860
2866
  var specFilePaths = [
2867
+ "README.md",
2861
2868
  "catalogs/audiences/all-hands.json",
2862
2869
  "catalogs/audiences/board.json",
2863
2870
  "catalogs/audiences/candidates.json",
@@ -3336,10 +3343,10 @@ var specFilePaths = [
3336
3343
  "schemas/tone.schema.json"
3337
3344
  ];
3338
3345
  var specFileKinds = [
3346
+ "spec",
3339
3347
  "catalogRecord",
3340
3348
  "catalogIndex",
3341
3349
  "openapi",
3342
- "spec",
3343
3350
  "reference",
3344
3351
  "schema"
3345
3352
  ];