@openpresentation/opf 0.2.2 → 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.
- package/README.md +72 -3
- package/dist/catalogs.d.ts +12 -12
- package/dist/catalogs.js +4 -4
- package/dist/catalogs.js.map +1 -1
- package/dist/docs.d.ts +17 -0
- package/dist/docs.js +56 -0
- package/dist/docs.js.map +1 -0
- package/dist/examples.d.ts +43 -0
- package/dist/examples.js +44718 -0
- package/dist/examples.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +545 -5
- package/dist/index.js.map +1 -1
- package/dist/{validator-MwlR2F56.d.ts → presentation-C8BOK0-5.d.ts} +1 -37
- package/dist/repo-readme.d.ts +4 -0
- package/dist/repo-readme.js +9 -0
- package/dist/repo-readme.js.map +1 -0
- package/dist/spec/README.md +42 -0
- package/dist/spec/catalogs/audiences/engineering-team.json +1 -1
- package/dist/spec/catalogs/tones/casual.json +1 -1
- package/dist/spec/catalogs/tones/conversational.json +1 -1
- package/dist/spec/catalogs/tones/technical.json +1 -1
- package/dist/spec/openapi.yaml +13 -13
- package/dist/spec-files.d.ts +7 -2
- package/dist/spec-files.js +8 -1
- package/dist/spec-files.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/validator.d.ts +40 -3
- package/dist/validator.js +531 -0
- package/dist/validator.js.map +1 -1
- package/package.json +14 -2
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
import { CatalogKind } from './catalogs.js';
|
|
2
|
-
import { SchemaName } from './schemas.js';
|
|
3
|
-
|
|
4
|
-
type JsonPrimitive = string | number | boolean | null;
|
|
5
|
-
type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
|
|
6
|
-
interface JsonObject {
|
|
7
|
-
readonly [key: string]: JsonValue;
|
|
8
|
-
}
|
|
9
|
-
type JsonSchema = JsonObject;
|
|
10
|
-
|
|
11
1
|
/**
|
|
12
2
|
* Inline audience metadata for the presentation. Use 'id' to reference an audiences catalog record and override selected fields, or use 'name' for a custom inline audience.
|
|
13
3
|
*
|
|
@@ -2669,30 +2659,4 @@ interface CatalogEntry10 {
|
|
|
2669
2659
|
[k: string]: unknown;
|
|
2670
2660
|
}
|
|
2671
2661
|
|
|
2672
|
-
|
|
2673
|
-
path: string;
|
|
2674
|
-
message: string;
|
|
2675
|
-
keyword: string;
|
|
2676
|
-
schemaPath: string;
|
|
2677
|
-
params: Record<string, unknown>;
|
|
2678
|
-
}
|
|
2679
|
-
interface ValidationResult {
|
|
2680
|
-
valid: boolean;
|
|
2681
|
-
errors: ValidationIssue[];
|
|
2682
|
-
schemaName?: SchemaName;
|
|
2683
|
-
catalogKind?: CatalogKind;
|
|
2684
|
-
}
|
|
2685
|
-
type SchemaOrKind = SchemaName | CatalogKind | JsonSchema;
|
|
2686
|
-
declare class OPFValidationError extends Error {
|
|
2687
|
-
readonly issues: ValidationIssue[];
|
|
2688
|
-
readonly result: ValidationResult;
|
|
2689
|
-
constructor(result: ValidationResult);
|
|
2690
|
-
}
|
|
2691
|
-
declare function validate(value: unknown, schemaOrKind?: SchemaOrKind): ValidationResult;
|
|
2692
|
-
declare function assertValid<T = unknown>(value: T, schemaOrKind?: SchemaOrKind): T;
|
|
2693
|
-
declare function validatePresentation(value: unknown): ValidationResult;
|
|
2694
|
-
declare function assertValidPresentation(value: unknown): asserts value is Presentation;
|
|
2695
|
-
declare function validateCatalogRecord(kind: CatalogKind, value: unknown): ValidationResult;
|
|
2696
|
-
declare function assertValidCatalogRecord(kind: CatalogKind, value: unknown): void;
|
|
2697
|
-
|
|
2698
|
-
export { OPFValidationError as O, type Presentation as P, type SchemaOrKind as S, type ValidationIssue as V, type ValidationResult as a, assertValid as b, assertValidCatalogRecord as c, assertValidPresentation as d, validateCatalogRecord as e, validatePresentation as f, validate as v };
|
|
2662
|
+
export type { Presentation as P };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// src/generated/repo-readme.ts
|
|
2
|
+
var repoReadmeRaw = '# Open Presentation Format (OPF)\n\n[](https://www.npmjs.com/package/@openpresentation/opf)\n[](https://www.npmjs.com/package/@openpresentation/opf)\n[](./LICENSE)\n\nPublic npm package: [`@openpresentation/opf`](https://www.npmjs.com/package/@openpresentation/opf) (`npm install @openpresentation/opf`).\n\nOpen Presentation Format is the portable, human-readable JSON document format for slide decks.\n\nThis repository is the canonical home for the OPF **spec**, **JSON Schemas**, **catalog presets**, examples, generated developer types, local validation tooling, and planning docs for the future render/edit/convert toolkit. OpenPresentation publishes open-source code and documentation only; it does not provide hosted APIs, hosted rendering functions, queues, storage, authentication, jobs, previews, SLAs, telemetry, or managed infrastructure.\n\n## File naming\n\nOpen Presentation Format documents are JSON files. Use `*.opf.json` for complete OPF presentation documents, for example `board-review.opf.json` or `deck.opf.json`.\n\nAvoid using bare `*.opf` for OPF JSON. The `.opf` extension is already used by other document and project formats, while `.opf.json` keeps the OPF identity and still makes the underlying JSON format clear to editors, validators, agents, and version-control tooling.\n\n## Naming and reuse\n\nThe format name is **Open Presentation Format**. The schemas, catalogs, packages, and local tooling in this repository are free and open source under the MIT license, so third-party tools may read, write, validate, render, convert, and describe support for Open Presentation Format without adopting any product-specific branding.\n\n## Why OPF\n\n`.pptx` is a zipped bundle of XML. Humans can\'t diff it, LLMs can\'t read or write it reliably, and git can\'t track it meaningfully. Every change looks like a binary blob.\n\nOPF is plain JSON. A human can open it in an editor. A model can read and write it without guessing at schema-by-example. Decks live in git like the rest of your work.\n\nThat\'s the shift that lets LLMs actually *author* decks. When the format stops fighting them, models can do the work that matters \u2014 narrative structure, persuasive framing, data analysis, chart recommendations, ruthless revision passes \u2014 instead of wrestling with `<p:sp>` tags.\n\nAnd they don\'t start from a blank canvas. [pptx.gallery](https://pptx.gallery) is the human-browsable reference for OPF catalog presets: layouts, themes, color schemes, font schemes, chart types, narratives, audiences, purposes, tones, languages, and social platforms.\n\n## Start in three steps\n\n1. **Install the format package.** `npm install @openpresentation/opf`.\n2. **Author and validate a deck.** Write a `*.opf.json` file \u2014 start from [`docs/how-opf-works.md`](./docs/how-opf-works.md) or copy [`examples/technical/full-feature-tour.opf.json`](./examples/technical/full-feature-tour.opf.json) \u2014 and run `validatePresentation` on it.\n3. **Build on it.** Browse presets at [pptx.gallery](https://pptx.gallery), pin the schemas in your pipeline, and track the [toolkit roadmap](#toolkit-roadmap) for the render and convert libraries.\n\nYour deck lives in git from the first commit. Nothing in these steps calls a hosted service, and nothing ever will \u2014 that boundary is the point.\n\n## JavaScript and TypeScript\n\nThe canonical JavaScript/TypeScript package is published at [`packages/javascript`](./packages/javascript) as [`@openpresentation/opf`](https://www.npmjs.com/package/@openpresentation/opf). The schema is pre-stable (0.x \u2014 expect breaking changes between minor versions until 1.0). Its responsibility is local and format-level only:\n\n- export the canonical schemas from [`spec/`](./spec)\n- export bundled catalog records from [`spec/`](./spec)\n- export a typed raw spec file manifest for package-addressable `spec/` content\n- generate TypeScript types, with `Presentation` as the top-level type\n- validate OPF JSON and catalog records locally\n\nIt does not render `.pptx`, parse `.pptx`, generate content with AI, fetch remote catalogs, call hosted APIs, or provide managed services. Future render/edit/convert packages are planned as separate MIT repos that depend on `@openpresentation/opf`.\n\n## Toolkit roadmap\n\nThe OPF format package is shipping first. The planned toolkit lives outside this format-only repo:\n\n| Planned repo | Role | Boundary |\n|---|---|---|\n| `opf-render` | OPF to SVG/PNG/PDF | Local and embeddable rendering library |\n| `opf-editor` | WYSIWYG bindings/components | Headless editor primitives plus optional UI components |\n| `opf-pptx` | OPF to PPTX and PPTX to OPF | Pure local import/export library for browser and server use where supported |\n\nThese repos provide OSS primitives only. Downstream applications own hosting, auth, storage, collaboration, queues, previews, analytics, support, and workflow UX.\n\n## Usage\n\nInstall from npm:\n\n```sh\npnpm add @openpresentation/opf\n# or: npm install @openpresentation/opf\n```\n\nTo work on the package itself, clone this repo and build the workspace:\n\n```sh\npnpm install\npnpm build\n```\n\nUse the format package from JavaScript or TypeScript:\n\n```ts\nimport {\n presentation,\n audiences,\n purposes,\n tones,\n validatePresentation,\n} from "@openpresentation/opf";\n\nimport type { Presentation } from "@openpresentation/opf";\n\nconst deck: Presentation = {\n name: "Quarterly Review",\n slides: [{ title: "Quarterly Review", items: ["Revenue", "Product", "Hiring"] }],\n};\n\nconst result = validatePresentation(deck);\nconsole.log(result.valid); // schema correctness\nconsole.log(result.warnings); // advisory issues, e.g. unknown catalog ids\nconsole.log(audiences.length, purposes.length, tones.length);\n```\n\nUse focused imports when you only need one surface:\n\n```ts\nimport { presentation } from "@openpresentation/opf/schemas";\nimport { audiences, purposes } from "@openpresentation/opf/catalogs";\nimport { specFileEntries } from "@openpresentation/opf/spec-files";\nimport { validate } from "@openpresentation/opf/validator";\nimport type { Presentation } from "@openpresentation/opf/types";\n```\n\nUse raw JSON when an engine or resolver needs package-addressable files:\n\n```ts\nimport presentationSchema from "@openpresentation/opf/spec/schemas/opf.schema.json" with {\n type: "json",\n};\n```\n\nUse the local-only CLI source during development:\n\n```sh\npnpm --filter @openpresentation/cli build\nnode packages/cli/dist/index.js schemas\nnode packages/cli/dist/index.js catalogs\nnode packages/cli/dist/index.js validate path/to/deck.opf.json\n```\n\n## Layout\n\n| Path | Contents |\n|---|---|\n| [`spec/schemas/opf.schema.json`](./spec/schemas/opf.schema.json) | Canonical JSON Schema for top-level OPF `Presentation` documents. |\n| [`docs/how-opf-works.md`](./docs/how-opf-works.md) | Conceptual introduction: the document model, content shapes, catalog resolution, and the validation philosophy. Start here. |\n| [`docs/design-resolution.md`](./docs/design-resolution.md) | The design precedence algorithm (slide design \u2192 deck design \u2192 resolved theme \u2192 engine defaults) with worked examples. |\n| [`docs/schema-reference.md`](./docs/schema-reference.md) | Author-facing reference for top-level OPF fields and every presentation schema `$defs` object/type. |\n| [`docs/catalog-schema-reference.md`](./docs/catalog-schema-reference.md) | Author-facing reference for every companion catalog schema. |\n| [`docs/content-payloads.md`](./docs/content-payloads.md) | Author-facing notes for slide and region content payloads, including chart and table object shapes. |\n| [`docs/examples.md`](./docs/examples.md) | Guide to the expanded scenario-oriented examples under `examples/gallery/`. |\n| [`spec/schemas/*.schema.json`](./spec/schemas) | Companion schemas for catalog records and sub-objects. |\n| [`spec/catalogs/<catalog-kind>/`](./spec/catalogs) | Canonical bundled catalog records. |\n| [`spec/openapi.yaml`](./spec/openapi.yaml) | Optional reference OpenAPI contract for downstream services that choose to expose OPF over HTTP. OpenPresentation does not host this API. |\n| [`examples/technical/`](./examples/technical) | Focused OPF fixtures for validator, renderer, catalog-resolution, design, content-payload, and region behavior. |\n| [`examples/gallery/`](./examples/gallery) | Broader OPF example decks organized by industry, function, education, government, presentation type, international, and design/media scenarios. |\n| [`packages/javascript/`](./packages/javascript) | Public pre-stable source for `@openpresentation/opf`. |\n| [`packages/cli/`](./packages/cli) | Local-only OPF CLI source; native distribution is deferred. |\n| [`legacy/`](./legacy) | Tombstone for service-specific clients, CLIs, tool integrations, and workflows removed from the OpenPresentation OSS repo. |\n\n## OpenPresentation Boundary\n\nOpenPresentation defines the format, bundled presets, local validation, examples, docs, and planned local render/edit/convert libraries. It does not provide hosted functions or managed product surfaces.\n\nFuture non-JavaScript OPF packages should follow the same local-first boundary: Python and Go packages should expose schemas, types/models, catalogs, validation, and package-addressable assets. Future toolkit packages should expose embeddable library APIs with no required network calls, hosted callbacks, hidden telemetry, or managed infrastructure assumptions.\n\nThe published JavaScript package copies package-addressable OPF schemas, catalogs, reference assets, and the optional reference `spec/openapi.yaml` from `spec/`. It intentionally remains `@openpresentation/opf` instead of introducing a separate `@openpresentation/opf-spec` package so downstream imports can advance by semver-pinning one canonical package.\n\n## License\n\nMIT. See [LICENSE](./LICENSE).\n';
|
|
3
|
+
|
|
4
|
+
// src/repo-readme.ts
|
|
5
|
+
var repoReadme = repoReadmeRaw;
|
|
6
|
+
|
|
7
|
+
export { repoReadme };
|
|
8
|
+
//# sourceMappingURL=repo-readme.js.map
|
|
9
|
+
//# sourceMappingURL=repo-readme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generated/repo-readme.ts","../src/repo-readme.ts"],"names":[],"mappings":";AAEO,IAAM,aAAA,GAAwB,g6TAAA;;;ACY9B,IAAM,UAAA,GAAqB","file":"repo-readme.js","sourcesContent":["// Generated by scripts/generate-content.mjs from README.md. Do not edit by hand.\n\nexport const repoReadmeRaw: string = \"# Open Presentation Format (OPF)\\n\\n[](https://www.npmjs.com/package/@openpresentation/opf)\\n[](https://www.npmjs.com/package/@openpresentation/opf)\\n[](./LICENSE)\\n\\nPublic npm package: [`@openpresentation/opf`](https://www.npmjs.com/package/@openpresentation/opf) (`npm install @openpresentation/opf`).\\n\\nOpen Presentation Format is the portable, human-readable JSON document format for slide decks.\\n\\nThis repository is the canonical home for the OPF **spec**, **JSON Schemas**, **catalog presets**, examples, generated developer types, local validation tooling, and planning docs for the future render/edit/convert toolkit. OpenPresentation publishes open-source code and documentation only; it does not provide hosted APIs, hosted rendering functions, queues, storage, authentication, jobs, previews, SLAs, telemetry, or managed infrastructure.\\n\\n## File naming\\n\\nOpen Presentation Format documents are JSON files. Use `*.opf.json` for complete OPF presentation documents, for example `board-review.opf.json` or `deck.opf.json`.\\n\\nAvoid using bare `*.opf` for OPF JSON. The `.opf` extension is already used by other document and project formats, while `.opf.json` keeps the OPF identity and still makes the underlying JSON format clear to editors, validators, agents, and version-control tooling.\\n\\n## Naming and reuse\\n\\nThe format name is **Open Presentation Format**. The schemas, catalogs, packages, and local tooling in this repository are free and open source under the MIT license, so third-party tools may read, write, validate, render, convert, and describe support for Open Presentation Format without adopting any product-specific branding.\\n\\n## Why OPF\\n\\n`.pptx` is a zipped bundle of XML. Humans can't diff it, LLMs can't read or write it reliably, and git can't track it meaningfully. Every change looks like a binary blob.\\n\\nOPF is plain JSON. A human can open it in an editor. A model can read and write it without guessing at schema-by-example. Decks live in git like the rest of your work.\\n\\nThat's the shift that lets LLMs actually *author* decks. When the format stops fighting them, models can do the work that matters — narrative structure, persuasive framing, data analysis, chart recommendations, ruthless revision passes — instead of wrestling with `<p:sp>` tags.\\n\\nAnd they don't start from a blank canvas. [pptx.gallery](https://pptx.gallery) is the human-browsable reference for OPF catalog presets: layouts, themes, color schemes, font schemes, chart types, narratives, audiences, purposes, tones, languages, and social platforms.\\n\\n## Start in three steps\\n\\n1. **Install the format package.** `npm install @openpresentation/opf`.\\n2. **Author and validate a deck.** Write a `*.opf.json` file — start from [`docs/how-opf-works.md`](./docs/how-opf-works.md) or copy [`examples/technical/full-feature-tour.opf.json`](./examples/technical/full-feature-tour.opf.json) — and run `validatePresentation` on it.\\n3. **Build on it.** Browse presets at [pptx.gallery](https://pptx.gallery), pin the schemas in your pipeline, and track the [toolkit roadmap](#toolkit-roadmap) for the render and convert libraries.\\n\\nYour deck lives in git from the first commit. Nothing in these steps calls a hosted service, and nothing ever will — that boundary is the point.\\n\\n## JavaScript and TypeScript\\n\\nThe canonical JavaScript/TypeScript package is published at [`packages/javascript`](./packages/javascript) as [`@openpresentation/opf`](https://www.npmjs.com/package/@openpresentation/opf). The schema is pre-stable (0.x — expect breaking changes between minor versions until 1.0). Its responsibility is local and format-level only:\\n\\n- export the canonical schemas from [`spec/`](./spec)\\n- export bundled catalog records from [`spec/`](./spec)\\n- export a typed raw spec file manifest for package-addressable `spec/` content\\n- generate TypeScript types, with `Presentation` as the top-level type\\n- validate OPF JSON and catalog records locally\\n\\nIt does not render `.pptx`, parse `.pptx`, generate content with AI, fetch remote catalogs, call hosted APIs, or provide managed services. Future render/edit/convert packages are planned as separate MIT repos that depend on `@openpresentation/opf`.\\n\\n## Toolkit roadmap\\n\\nThe OPF format package is shipping first. The planned toolkit lives outside this format-only repo:\\n\\n| Planned repo | Role | Boundary |\\n|---|---|---|\\n| `opf-render` | OPF to SVG/PNG/PDF | Local and embeddable rendering library |\\n| `opf-editor` | WYSIWYG bindings/components | Headless editor primitives plus optional UI components |\\n| `opf-pptx` | OPF to PPTX and PPTX to OPF | Pure local import/export library for browser and server use where supported |\\n\\nThese repos provide OSS primitives only. Downstream applications own hosting, auth, storage, collaboration, queues, previews, analytics, support, and workflow UX.\\n\\n## Usage\\n\\nInstall from npm:\\n\\n```sh\\npnpm add @openpresentation/opf\\n# or: npm install @openpresentation/opf\\n```\\n\\nTo work on the package itself, clone this repo and build the workspace:\\n\\n```sh\\npnpm install\\npnpm build\\n```\\n\\nUse the format package from JavaScript or TypeScript:\\n\\n```ts\\nimport {\\n presentation,\\n audiences,\\n purposes,\\n tones,\\n validatePresentation,\\n} from \\\"@openpresentation/opf\\\";\\n\\nimport type { Presentation } from \\\"@openpresentation/opf\\\";\\n\\nconst deck: Presentation = {\\n name: \\\"Quarterly Review\\\",\\n slides: [{ title: \\\"Quarterly Review\\\", items: [\\\"Revenue\\\", \\\"Product\\\", \\\"Hiring\\\"] }],\\n};\\n\\nconst result = validatePresentation(deck);\\nconsole.log(result.valid); // schema correctness\\nconsole.log(result.warnings); // advisory issues, e.g. unknown catalog ids\\nconsole.log(audiences.length, purposes.length, tones.length);\\n```\\n\\nUse focused imports when you only need one surface:\\n\\n```ts\\nimport { presentation } from \\\"@openpresentation/opf/schemas\\\";\\nimport { audiences, purposes } from \\\"@openpresentation/opf/catalogs\\\";\\nimport { specFileEntries } from \\\"@openpresentation/opf/spec-files\\\";\\nimport { validate } from \\\"@openpresentation/opf/validator\\\";\\nimport type { Presentation } from \\\"@openpresentation/opf/types\\\";\\n```\\n\\nUse raw JSON when an engine or resolver needs package-addressable files:\\n\\n```ts\\nimport presentationSchema from \\\"@openpresentation/opf/spec/schemas/opf.schema.json\\\" with {\\n type: \\\"json\\\",\\n};\\n```\\n\\nUse the local-only CLI source during development:\\n\\n```sh\\npnpm --filter @openpresentation/cli build\\nnode packages/cli/dist/index.js schemas\\nnode packages/cli/dist/index.js catalogs\\nnode packages/cli/dist/index.js validate path/to/deck.opf.json\\n```\\n\\n## Layout\\n\\n| Path | Contents |\\n|---|---|\\n| [`spec/schemas/opf.schema.json`](./spec/schemas/opf.schema.json) | Canonical JSON Schema for top-level OPF `Presentation` documents. |\\n| [`docs/how-opf-works.md`](./docs/how-opf-works.md) | Conceptual introduction: the document model, content shapes, catalog resolution, and the validation philosophy. Start here. |\\n| [`docs/design-resolution.md`](./docs/design-resolution.md) | The design precedence algorithm (slide design → deck design → resolved theme → engine defaults) with worked examples. |\\n| [`docs/schema-reference.md`](./docs/schema-reference.md) | Author-facing reference for top-level OPF fields and every presentation schema `$defs` object/type. |\\n| [`docs/catalog-schema-reference.md`](./docs/catalog-schema-reference.md) | Author-facing reference for every companion catalog schema. |\\n| [`docs/content-payloads.md`](./docs/content-payloads.md) | Author-facing notes for slide and region content payloads, including chart and table object shapes. |\\n| [`docs/examples.md`](./docs/examples.md) | Guide to the expanded scenario-oriented examples under `examples/gallery/`. |\\n| [`spec/schemas/*.schema.json`](./spec/schemas) | Companion schemas for catalog records and sub-objects. |\\n| [`spec/catalogs/<catalog-kind>/`](./spec/catalogs) | Canonical bundled catalog records. |\\n| [`spec/openapi.yaml`](./spec/openapi.yaml) | Optional reference OpenAPI contract for downstream services that choose to expose OPF over HTTP. OpenPresentation does not host this API. |\\n| [`examples/technical/`](./examples/technical) | Focused OPF fixtures for validator, renderer, catalog-resolution, design, content-payload, and region behavior. |\\n| [`examples/gallery/`](./examples/gallery) | Broader OPF example decks organized by industry, function, education, government, presentation type, international, and design/media scenarios. |\\n| [`packages/javascript/`](./packages/javascript) | Public pre-stable source for `@openpresentation/opf`. |\\n| [`packages/cli/`](./packages/cli) | Local-only OPF CLI source; native distribution is deferred. |\\n| [`legacy/`](./legacy) | Tombstone for service-specific clients, CLIs, tool integrations, and workflows removed from the OpenPresentation OSS repo. |\\n\\n## OpenPresentation Boundary\\n\\nOpenPresentation defines the format, bundled presets, local validation, examples, docs, and planned local render/edit/convert libraries. It does not provide hosted functions or managed product surfaces.\\n\\nFuture non-JavaScript OPF packages should follow the same local-first boundary: Python and Go packages should expose schemas, types/models, catalogs, validation, and package-addressable assets. Future toolkit packages should expose embeddable library APIs with no required network calls, hosted callbacks, hidden telemetry, or managed infrastructure assumptions.\\n\\nThe published JavaScript package copies package-addressable OPF schemas, catalogs, reference assets, and the optional reference `spec/openapi.yaml` from `spec/`. It intentionally remains `@openpresentation/opf` instead of introducing a separate `@openpresentation/opf-spec` package so downstream imports can advance by semver-pinning one canonical package.\\n\\n## License\\n\\nMIT. See [LICENSE](./LICENSE).\\n\";\n","// The raw README.md from the OpenPresentation/opf repo at the version pinned\n// by this release.\n//\n// Source-of-truth: ../../../README.md. The build step inlines the markdown\n// into this module so consumers can render the upstream README without doing\n// any filesystem or network work at runtime.\n//\n// The package's own README.md (npm landing page) is a separate file — this\n// export is intended for sites that want to mirror the canonical upstream\n// README.\n\nimport { repoReadmeRaw } from \"./generated/repo-readme.js\";\n\n/** Raw markdown of the upstream OpenPresentation/opf README at this release. */\nexport const repoReadme: string = repoReadmeRaw;\n"]}
|
|
@@ -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).
|
package/dist/spec/openapi.yaml
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
openapi: 3.1.0
|
|
2
2
|
info:
|
|
3
|
-
title:
|
|
3
|
+
title: OPF Service API Reference
|
|
4
4
|
version: "1.0.0"
|
|
5
5
|
description: |
|
|
6
|
-
REST API for
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
14
|
-
url: https://
|
|
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.
|
|
21
|
-
description:
|
|
20
|
+
- url: https://api.example.com
|
|
21
|
+
description: Downstream service endpoint
|
|
22
22
|
- url: http://localhost:3000/api
|
|
23
|
-
description:
|
|
23
|
+
description: Example local development endpoint
|
|
24
24
|
|
|
25
25
|
tags:
|
|
26
26
|
- name: playground
|
|
27
|
-
description:
|
|
27
|
+
description: Optional unauthenticated OPF preview helpers
|
|
28
28
|
- name: validate
|
|
29
|
-
description: OPF schema 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:
|
|
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://
|
|
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:
|
package/dist/spec-files.d.ts
CHANGED
|
@@ -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 ["
|
|
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];
|
package/dist/spec-files.js
CHANGED
|
@@ -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
|
];
|