@ouispec/contract 0.1.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.
Files changed (48) hide show
  1. package/INTEGRATOR-GUIDE.md +729 -0
  2. package/LICENSE +21 -0
  3. package/README.md +10 -0
  4. package/dist/codegen.d.ts +71 -0
  5. package/dist/codegen.d.ts.map +1 -0
  6. package/dist/codegen.js +195 -0
  7. package/dist/codegen.js.map +1 -0
  8. package/dist/generated/contract.d.ts +1286 -0
  9. package/dist/generated/contract.d.ts.map +1 -0
  10. package/dist/generated/contract.js +14 -0
  11. package/dist/generated/contract.js.map +1 -0
  12. package/dist/generated/schemas.d.ts +111 -0
  13. package/dist/generated/schemas.d.ts.map +1 -0
  14. package/dist/generated/schemas.js +3256 -0
  15. package/dist/generated/schemas.js.map +1 -0
  16. package/dist/index.d.ts +29 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +28 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/render-contract.d.ts +47 -0
  21. package/dist/render-contract.d.ts.map +1 -0
  22. package/dist/render-contract.js +123 -0
  23. package/dist/render-contract.js.map +1 -0
  24. package/dist/render-guide.d.ts +4 -0
  25. package/dist/render-guide.d.ts.map +1 -0
  26. package/dist/render-guide.js +132 -0
  27. package/dist/render-guide.js.map +1 -0
  28. package/dist/schema-document.d.ts +7 -0
  29. package/dist/schema-document.d.ts.map +1 -0
  30. package/dist/schema-document.js +2 -0
  31. package/dist/schema-document.js.map +1 -0
  32. package/dist/validate.d.ts +22 -0
  33. package/dist/validate.d.ts.map +1 -0
  34. package/dist/validate.js +89 -0
  35. package/dist/validate.js.map +1 -0
  36. package/package.json +65 -0
  37. package/schemas/action-effect.json +113 -0
  38. package/schemas/agent-binding.json +58 -0
  39. package/schemas/approvals.json +249 -0
  40. package/schemas/control-kind-registration.json +187 -0
  41. package/schemas/control-table.json +276 -0
  42. package/schemas/event-declarations.json +316 -0
  43. package/schemas/generated-knowledge.json +58 -0
  44. package/schemas/json-schema.json +153 -0
  45. package/schemas/oui-config.json +178 -0
  46. package/schemas/oui-manifest.json +346 -0
  47. package/schemas/room-catalog-data.json +455 -0
  48. package/schemas/tier2-mapping.json +195 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/generated/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @ouispec/contract — the OUI integrator contract (ADR-0226 §3).
3
+ *
4
+ * The JSON Schemas an integrator builds against, versioned together with
5
+ * `MANIFEST_VERSION`, and the TypeScript types generated from them:
6
+ *
7
+ * | Schema | What it describes |
8
+ * |---|---|
9
+ * | `control-table.json` | A tier 1 design system's control table, with the kinds it registers |
10
+ * | `control-kind-registration.json` | A control kind a design system adds |
11
+ * | `tier2-mapping.json` | A tier 2 mapping of a third-party design system |
12
+ * | `agent-binding.json` | The `agent` prop a control carries |
13
+ * | `action-effect.json` | What an action does, and how a job settles |
14
+ * | `room-catalog-data.json` | A tier 3 room catalog |
15
+ * | `oui-manifest.json` | The generated manifest |
16
+ * | `generated-knowledge.json` | The generated knowledge |
17
+ * | `oui-config.json` | `oui.config.json` |
18
+ * | `approvals.json` | The approval messages (ADR-0228) |
19
+ * | `event-declarations.json` | A product's event declarations (ADR-0227 §2.4) |
20
+ *
21
+ * Browser-safe and dependency-free. Validation is `./validate`; the type
22
+ * renderer is `./codegen`; the files are `./schemas/<file>`; the integrator
23
+ * guide is `INTEGRATOR-GUIDE.md`.
24
+ */
25
+ export * from './generated/contract.js';
26
+ export { CONTRACT_SCHEMAS, CONTRACT_TYPES, type ContractSchemaFile, type ContractTypeName } from './generated/schemas.js';
27
+ export type { ContractSchemaDocument } from './schema-document.js';
28
+ export { CONTRACT_FILES, CONTRACT_SCHEMA_HOST, type ContractFile } from './render-contract.js';
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1H,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @ouispec/contract — the OUI integrator contract (ADR-0226 §3).
3
+ *
4
+ * The JSON Schemas an integrator builds against, versioned together with
5
+ * `MANIFEST_VERSION`, and the TypeScript types generated from them:
6
+ *
7
+ * | Schema | What it describes |
8
+ * |---|---|
9
+ * | `control-table.json` | A tier 1 design system's control table, with the kinds it registers |
10
+ * | `control-kind-registration.json` | A control kind a design system adds |
11
+ * | `tier2-mapping.json` | A tier 2 mapping of a third-party design system |
12
+ * | `agent-binding.json` | The `agent` prop a control carries |
13
+ * | `action-effect.json` | What an action does, and how a job settles |
14
+ * | `room-catalog-data.json` | A tier 3 room catalog |
15
+ * | `oui-manifest.json` | The generated manifest |
16
+ * | `generated-knowledge.json` | The generated knowledge |
17
+ * | `oui-config.json` | `oui.config.json` |
18
+ * | `approvals.json` | The approval messages (ADR-0228) |
19
+ * | `event-declarations.json` | A product's event declarations (ADR-0227 §2.4) |
20
+ *
21
+ * Browser-safe and dependency-free. Validation is `./validate`; the type
22
+ * renderer is `./codegen`; the files are `./schemas/<file>`; the integrator
23
+ * guide is `INTEGRATOR-GUIDE.md`.
24
+ */
25
+ export * from './generated/contract.js';
26
+ export { CONTRACT_SCHEMAS, CONTRACT_TYPES } from './generated/schemas.js';
27
+ export { CONTRACT_FILES, CONTRACT_SCHEMA_HOST } from './render-contract.js';
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAkD,MAAM,wBAAwB,CAAC;AAE1H,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAqB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * What `scripts/generate.mjs` writes from `schemas/`: the contract's
3
+ * TypeScript types, and the schemas as importable values. Pure: it takes the
4
+ * parsed schema files and returns the text, so a test can hold the checked-in
5
+ * output to the schemas.
6
+ */
7
+ import { type RenderableSchema } from './codegen.js';
8
+ /** Where every contract schema lives, by version: a path with no npm scope in it, so the packages can move without renaming it. */
9
+ export declare const CONTRACT_SCHEMA_HOST = "https://schemas.closurestudio.ai";
10
+ /** One schema file of the contract, and how its types render. */
11
+ export interface ContractFile {
12
+ file: string;
13
+ /** The root type's name, or null when the file only holds `$defs`. Default: its `title`. */
14
+ root?: string | null;
15
+ /**
16
+ * `readonly` for what a reader receives; `Array` where the hand-written
17
+ * types the generated ones replace were mutable, so their users keep
18
+ * compiling.
19
+ */
20
+ arrays?: 'readonly' | 'Array';
21
+ /** The section heading in the generated file. */
22
+ heading: string;
23
+ }
24
+ /**
25
+ * Every schema of the contract, in dependency order. One major covers them
26
+ * all (ADR-0226 §3.1): it is `MANIFEST_VERSION`, and it is in each `$id`.
27
+ * The event declarations keep their own document version (W9) and `$id`.
28
+ */
29
+ export declare const CONTRACT_FILES: readonly ContractFile[];
30
+ export type SchemaDocument = RenderableSchema & {
31
+ $id: string;
32
+ title: string;
33
+ $defs?: Readonly<Record<string, RenderableSchema>>;
34
+ };
35
+ export interface RenderedContract {
36
+ /** `src/generated/contract.ts`: every type. */
37
+ types: string;
38
+ /** `src/generated/schemas.ts`: every schema, as a value. */
39
+ schemas: string;
40
+ /** Type name → the schema reference it is generated from (`control-table.json#/$defs/ControlDescriptor`). */
41
+ names: Readonly<Record<string, string>>;
42
+ }
43
+ /** The version every `$id` of the contract carries, from the manifest's `version`. */
44
+ export declare function manifestVersion(docs: Readonly<Record<string, SchemaDocument>>): number;
45
+ /** Render the contract from its parsed schema files. Throws naming the first inconsistency. */
46
+ export declare function renderContract(docs: Readonly<Record<string, SchemaDocument>>, banner: string): RenderedContract;
47
+ //# sourceMappingURL=render-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-contract.d.ts","sourceRoot":"","sources":["../src/render-contract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAoB,KAAK,gBAAgB,EAAsB,MAAM,cAAc,CAAC;AAE3F,mIAAmI;AACnI,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAEvE,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC9B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAajD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;CAAE,CAAC;AAEnI,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,6GAA6G;IAC7G,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzC;AAKD,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,MAAM,CAItF;AAED,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAkF/G"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * What `scripts/generate.mjs` writes from `schemas/`: the contract's
3
+ * TypeScript types, and the schemas as importable values. Pure: it takes the
4
+ * parsed schema files and returns the text, so a test can hold the checked-in
5
+ * output to the schemas.
6
+ */
7
+ import { doc, renderNamed } from './codegen.js';
8
+ /** Where every contract schema lives, by version: a path with no npm scope in it, so the packages can move without renaming it. */
9
+ export const CONTRACT_SCHEMA_HOST = 'https://schemas.closurestudio.ai';
10
+ /**
11
+ * Every schema of the contract, in dependency order. One major covers them
12
+ * all (ADR-0226 §3.1): it is `MANIFEST_VERSION`, and it is in each `$id`.
13
+ * The event declarations keep their own document version (W9) and `$id`.
14
+ */
15
+ export const CONTRACT_FILES = [
16
+ { file: 'json-schema.json', heading: 'JSON Schema, as capabilities declare their inputs and values' },
17
+ { file: 'action-effect.json', heading: 'What an action does (ADR-0226 §2.6), and how a job settles' },
18
+ { file: 'agent-binding.json', heading: 'The binding a control carries (ADR-0220 §2.2)' },
19
+ { file: 'control-kind-registration.json', heading: 'Control kinds, and the props their schemas come from' },
20
+ { file: 'control-table.json', root: 'ControlTableFile', heading: 'A design system’s control table (ADR-0226 §2.2)' },
21
+ { file: 'tier2-mapping.json', heading: 'A tier 2 mapping (ADR-0226 §2.3)' },
22
+ { file: 'room-catalog-data.json', heading: 'A room catalog, as data (ADR-0220 §2.3)' },
23
+ { file: 'oui-manifest.json', heading: 'The generated manifest' },
24
+ { file: 'generated-knowledge.json', heading: 'The generated knowledge' },
25
+ { file: 'oui-config.json', root: 'OuiConfigFile', heading: '`oui.config.json` (ADR-0226 §2.4)' },
26
+ { file: 'approvals.json', root: null, arrays: 'Array', heading: 'Approvals (ADR-0228)' },
27
+ { file: 'event-declarations.json', root: 'EventDeclarationDocument', heading: 'Event declarations (ADR-0227 §2.4)' },
28
+ ];
29
+ const hasBody = (schema) => ['type', 'properties', 'oneOf', 'anyOf', 'allOf', '$ref', 'enum', 'const'].some((k) => k in schema);
30
+ /** The version every `$id` of the contract carries, from the manifest's `version`. */
31
+ export function manifestVersion(docs) {
32
+ const version = docs['oui-manifest.json']?.properties?.version?.const;
33
+ if (typeof version !== 'number')
34
+ throw new Error('oui-manifest.json: properties.version must be a const number: the contract major');
35
+ return version;
36
+ }
37
+ /** Render the contract from its parsed schema files. Throws naming the first inconsistency. */
38
+ export function renderContract(docs, banner) {
39
+ const version = manifestVersion(docs);
40
+ const base = `${CONTRACT_SCHEMA_HOST}/oui/v${version}/`;
41
+ // Every type's name, by the reference that names it.
42
+ const names = new Map();
43
+ const byName = new Map();
44
+ const claim = (ref, name) => {
45
+ const other = byName.get(name);
46
+ if (other)
47
+ throw new Error(`${ref} and ${other} would both generate the type ${name}`);
48
+ byName.set(name, ref);
49
+ names.set(ref, name);
50
+ };
51
+ for (const entry of CONTRACT_FILES) {
52
+ const schema = docs[entry.file];
53
+ if (!schema)
54
+ throw new Error(`schemas/${entry.file} is missing`);
55
+ if (entry.file !== 'event-declarations.json' && schema.$id !== `${base}${entry.file}`) {
56
+ throw new Error(`schemas/${entry.file}: $id must be ${base}${entry.file} (the contract major is ${version})`);
57
+ }
58
+ const root = entry.root === undefined ? schema.title : entry.root;
59
+ if (root && hasBody(schema))
60
+ claim(entry.file, root);
61
+ for (const def of Object.keys(schema.$defs ?? {}))
62
+ claim(`${entry.file}#/$defs/${def}`, def);
63
+ }
64
+ for (const file of Object.keys(docs)) {
65
+ if (!CONTRACT_FILES.some((e) => e.file === file))
66
+ throw new Error(`schemas/${file} is not listed in CONTRACT_FILES`);
67
+ }
68
+ const resolverFor = (file) => (ref) => {
69
+ const [target, pointer = ''] = ref.split('#');
70
+ const targetFile = target || file;
71
+ const key = pointer ? `${targetFile}#${pointer}` : targetFile;
72
+ const name = names.get(key);
73
+ if (!name)
74
+ throw new Error(`schemas/${file}: $ref "${ref}" names no generated type`);
75
+ return name;
76
+ };
77
+ let types = `// GENERATED FILE — DO NOT EDIT.\n//\n${banner
78
+ .split('\n')
79
+ .map((l) => `// ${l}`.trimEnd())
80
+ .join('\n')}\n\n`;
81
+ types += doc('The contract major. A breaking change to any schema of the contract bumps it, and it is in every `$id`.', '');
82
+ types += `export const MANIFEST_VERSION = ${version};\n\n`;
83
+ types += doc('Where the contract’s schemas are identified: each `$id` is this followed by the file name.', '');
84
+ types += `export const CONTRACT_SCHEMA_BASE = '${base}';\n`;
85
+ for (const entry of CONTRACT_FILES) {
86
+ const schema = docs[entry.file];
87
+ const options = {
88
+ refName: resolverFor(entry.file),
89
+ arrays: entry.arrays ?? 'readonly',
90
+ maps: (entry.arrays ?? 'readonly') === 'readonly' ? 'Record' : 'index',
91
+ indexSignature: 'union',
92
+ };
93
+ types += `${types.endsWith('\n\n') ? '' : '\n'}// ─── ${entry.heading} ${'─'.repeat(Math.max(3, 74 - entry.heading.length))}\n// ${schema.$id}\n\n`;
94
+ const root = names.get(entry.file);
95
+ if (root)
96
+ types += `${renderNamed(root, schema, undefined, options)}\n`;
97
+ for (const [def, defSchema] of Object.entries(schema.$defs ?? {})) {
98
+ types += `${renderNamed(def, defSchema, undefined, options)}\n`;
99
+ }
100
+ }
101
+ types = types.replace(/\n+$/, '\n');
102
+ let schemas = `// GENERATED FILE — DO NOT EDIT.\n//\n${banner
103
+ .split('\n')
104
+ .map((l) => `// ${l}`.trimEnd())
105
+ .join('\n')}\n\n`;
106
+ schemas += `import type { ContractSchemaDocument } from '../schema-document.js';\n\n`;
107
+ schemas += doc('Every schema of the contract, by file name, exactly as `schemas/` holds it.', '');
108
+ schemas += `export const CONTRACT_SCHEMAS = {\n`;
109
+ for (const entry of CONTRACT_FILES) {
110
+ const body = JSON.stringify(docs[entry.file], null, 2).replace(/\n/g, '\n ');
111
+ schemas += ` '${entry.file}': ${body} as ContractSchemaDocument,\n`;
112
+ }
113
+ schemas += `} as const;\n\n`;
114
+ schemas += `export type ContractSchemaFile = keyof typeof CONTRACT_SCHEMAS;\n\n`;
115
+ schemas += doc('Each generated type, by name, and the schema it is generated from (`file`, or `file#/$defs/Name`).', '');
116
+ schemas += `export const CONTRACT_TYPES = {\n`;
117
+ for (const [ref, name] of [...names.entries()])
118
+ schemas += ` ${name}: '${ref}',\n`;
119
+ schemas += `} as const;\n\n`;
120
+ schemas += `export type ContractTypeName = keyof typeof CONTRACT_TYPES;\n`;
121
+ return { types, schemas, names: Object.fromEntries([...names.entries()].map(([ref, name]) => [name, ref])) };
122
+ }
123
+ //# sourceMappingURL=render-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-contract.js","sourceRoot":"","sources":["../src/render-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type SchemaDocument } from './render-contract.js';
2
+ /** Render the guide from the parsed schemas and the prose sections, by file name. */
3
+ export declare function renderGuide(docs: Readonly<Record<string, SchemaDocument>>, sections: Readonly<Record<string, string>>): string;
4
+ //# sourceMappingURL=render-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-guide.d.ts","sourceRoot":"","sources":["../src/render-guide.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA8C5F,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAgF9H"}
@@ -0,0 +1,132 @@
1
+ import { CONTRACT_FILES, manifestVersion } from './render-contract.js';
2
+ const SCHEMA_DIRECTIVE = /^<!-- schema: ([a-z0-9-]+\.json)(?:#\/\$defs\/([A-Za-z0-9]+))? -->$/;
3
+ const SCHEMAS_DIRECTIVE = '<!-- schemas -->';
4
+ /** The first sentence of a description, on one line, for a table cell. */
5
+ function firstSentence(text) {
6
+ if (!text)
7
+ return '';
8
+ const flat = text.split('\n\n')[0].replace(/\s*\n\s*/g, ' ');
9
+ const end = flat.search(/[.!?](\s|$)/);
10
+ return (end === -1 ? flat : flat.slice(0, end + 1)).replace(/\|/g, '\\|');
11
+ }
12
+ /** A short type for a table cell: a name, a literal union, or `T[]`. */
13
+ function shortType(schema, nameOf) {
14
+ const stated = typeof schema.$comment === 'string' ? /^ts:\s*(.+)$/s.exec(schema.$comment.trim())?.[1] : undefined;
15
+ if (stated)
16
+ return stated;
17
+ if (typeof schema.$ref === 'string')
18
+ return nameOf(schema.$ref);
19
+ if ('const' in schema)
20
+ return JSON.stringify(schema.const);
21
+ if (schema.enum) {
22
+ const values = schema.enum.map(v => JSON.stringify(v));
23
+ return values.length > 6 ? `${values.slice(0, 6).join(' \\| ')} \\| …` : values.join(' \\| ');
24
+ }
25
+ const union = schema.anyOf ?? schema.oneOf;
26
+ if (union)
27
+ return union.map(s => shortType(s, nameOf)).join(' \\| ');
28
+ const types = schema.type === undefined ? [] : Array.isArray(schema.type) ? schema.type : [schema.type];
29
+ const inline = () => {
30
+ const required = new Set(schema.required ?? []);
31
+ const fields = Object.entries(schema.properties ?? {}).map(([k, v]) => `${k}${required.has(k) ? '' : '?'}: ${shortType(v, nameOf)}`);
32
+ return `{ ${fields.join(', ')} }`;
33
+ };
34
+ if (!types.length)
35
+ return schema.properties ? inline() : 'any';
36
+ return types
37
+ .map(type => {
38
+ if (type === 'array')
39
+ return schema.items ? `${shortType(schema.items, nameOf)}[]` : 'array';
40
+ if (type === 'object' && !schema.properties && schema.additionalProperties && typeof schema.additionalProperties === 'object') {
41
+ return `map of ${shortType(schema.additionalProperties, nameOf)}`;
42
+ }
43
+ if (type === 'object' && schema.properties)
44
+ return inline();
45
+ return type;
46
+ })
47
+ .join(' \\| ');
48
+ }
49
+ /** Render the guide from the parsed schemas and the prose sections, by file name. */
50
+ export function renderGuide(docs, sections) {
51
+ const version = manifestVersion(docs);
52
+ // The type each schema and definition generates, to name in the tables.
53
+ const names = new Map();
54
+ for (const entry of CONTRACT_FILES) {
55
+ const schema = docs[entry.file];
56
+ if (!schema)
57
+ throw new Error(`schemas/${entry.file} is missing`);
58
+ const root = entry.root === undefined ? schema.title : entry.root;
59
+ if (root)
60
+ names.set(entry.file, root);
61
+ for (const def of Object.keys(schema.$defs ?? {}))
62
+ names.set(`${entry.file}#/$defs/${def}`, def);
63
+ }
64
+ const nameIn = (file) => (ref) => {
65
+ const [target, pointer] = ref.split('#');
66
+ const key = pointer ? `${target || file}#${pointer}` : target || file;
67
+ return names.get(key) ?? (key === `${file}` ? names.get(file) : ref);
68
+ };
69
+ const reference = (file, def) => {
70
+ const doc = docs[file];
71
+ if (!doc)
72
+ throw new Error(`the guide names schemas/${file}, which does not exist`);
73
+ const schema = def ? doc.$defs?.[def] : doc;
74
+ if (!schema)
75
+ throw new Error(`the guide names ${file}#/$defs/${def}, which does not exist`);
76
+ const typeName = def ?? names.get(file) ?? doc.title;
77
+ const id = def ? `${doc.$id}#/$defs/${def}` : doc.$id;
78
+ const nameOf = nameIn(file);
79
+ const lines = [
80
+ `> **Schema:** [\`${file}${def ? `#/$defs/${def}` : ''}\`](schemas/${file}) · \`${id}\` · TypeScript: \`${typeName}\` from \`@ouispec/contract\``,
81
+ ];
82
+ const parts = [schema, ...(schema.allOf ?? [])];
83
+ const props = parts.flatMap(p => Object.entries((p.$ref ? docs[file].$defs?.[p.$ref.split('/').pop()]?.properties : undefined) ?? p.properties ?? {}));
84
+ const required = new Set(parts.flatMap(p => [
85
+ ...(p.required ?? []),
86
+ ...((p.$ref ? docs[file].$defs?.[p.$ref.split('/').pop()]?.required : undefined) ?? []),
87
+ ]));
88
+ if (props.length) {
89
+ lines.push('>', '> | Field | Type | Required | What it is |', '> |---|---|---|---|');
90
+ for (const [field, prop] of props) {
91
+ lines.push(`> | \`${field}\` | ${shortType(prop, nameOf)} | ${required.has(field) ? 'yes' : ''} | ${firstSentence(prop.description)} |`);
92
+ }
93
+ const extra = schema.additionalProperties;
94
+ if (extra && typeof extra === 'object')
95
+ lines.push(`> | *any other key* | ${shortType(extra, nameOf)} | | ${firstSentence(extra.description)} |`);
96
+ }
97
+ else if (schema.oneOf || schema.anyOf || schema.enum) {
98
+ lines.push('>', `> One of: ${shortType(schema, nameOf)}.`);
99
+ }
100
+ return lines.join('\n');
101
+ };
102
+ const index = () => {
103
+ const lines = ['| Schema | TypeScript | `$id` |', '|---|---|---|'];
104
+ for (const entry of CONTRACT_FILES) {
105
+ const doc = docs[entry.file];
106
+ const root = names.get(entry.file);
107
+ const typeName = root ? `\`${root}\`` : `its ${Object.keys(doc.$defs ?? {}).length} \`$defs\`, one type each`;
108
+ lines.push(`| [\`${entry.file}\`](schemas/${entry.file}) | ${typeName} | \`${doc.$id}\` |`);
109
+ }
110
+ return lines.join('\n');
111
+ };
112
+ const files = Object.keys(sections).sort();
113
+ if (!files.length)
114
+ throw new Error('guide/ has no sections');
115
+ const body = files
116
+ .map(file => sections[file]
117
+ .trimEnd()
118
+ .split('\n')
119
+ .map(line => {
120
+ const t = line.trim();
121
+ if (t === SCHEMAS_DIRECTIVE)
122
+ return index();
123
+ const m = SCHEMA_DIRECTIVE.exec(t);
124
+ return m ? reference(m[1], m[2]) : line;
125
+ })
126
+ .join('\n'))
127
+ .join('\n\n');
128
+ return (`<!-- GENERATED FILE — DO NOT EDIT. Generated from guide/*.md and schemas/*.json by @ouispec/contract (contract major ${version}).\n` +
129
+ ` Edit the sections or the schemas, then: pnpm generate (in packages/contract). -->\n\n` +
130
+ `${body}\n`);
131
+ }
132
+ //# sourceMappingURL=render-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-guide.js","sourceRoot":"","sources":["../src/render-guide.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** A schema file of the contract, as a value: JSON Schema (draft 2020-12) with its `$id` and `title`. */
2
+ export type ContractSchemaDocument = Readonly<Record<string, unknown>> & {
3
+ readonly $schema: string;
4
+ readonly $id: string;
5
+ readonly title: string;
6
+ };
7
+ //# sourceMappingURL=schema-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-document.d.ts","sourceRoot":"","sources":["../src/schema-document.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-document.js","sourceRoot":"","sources":["../src/schema-document.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { type ContractSchemaFile, type ContractTypeName } from './generated/schemas.js';
2
+ /** A schema of the contract, by file (`control-table.json`) or by the type generated from it (`ControlDescriptor`). */
3
+ export type ContractRef = ContractSchemaFile | ContractTypeName;
4
+ export interface ContractValidator {
5
+ /** Every way `value` breaks the schema, each with its JSON pointer. Empty when it conforms. */
6
+ problems(ref: ContractRef, value: unknown): string[];
7
+ /** Throws a `ContractError` listing every problem, naming `what`. */
8
+ assert(ref: ContractRef, value: unknown, what: string): void;
9
+ }
10
+ export declare class ContractError extends Error {
11
+ readonly what: string;
12
+ readonly ref: ContractRef;
13
+ readonly problems: readonly string[];
14
+ constructor(what: string, ref: ContractRef, problems: readonly string[]);
15
+ }
16
+ /** The schema `$id` (and pointer) a reference names. */
17
+ export declare function contractSchemaId(ref: ContractRef): string;
18
+ /** Compile every schema of the contract once. */
19
+ export declare function createContractValidator(): ContractValidator;
20
+ /** Every way `value` breaks the contract's `ref`. Compiles the schemas on first use. */
21
+ export declare function contractProblems(ref: ContractRef, value: unknown): string[];
22
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAUA,OAAO,EAAoC,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO1H,uHAAuH;AACvH,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IACrD,qEAAqE;IACrE,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9D;AAED,qBAAa,aAAc,SAAQ,KAAK;IAEpC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,GAAG,EAAE,WAAW;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;gBAF3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,SAAS,MAAM,EAAE;CAKvC;AAED,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAMzD;AAgBD,iDAAiD;AACjD,wBAAgB,uBAAuB,IAAI,iBAAiB,CA8B3D;AAID,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAG3E"}