@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.
- package/INTEGRATOR-GUIDE.md +729 -0
- package/LICENSE +21 -0
- package/README.md +10 -0
- package/dist/codegen.d.ts +71 -0
- package/dist/codegen.d.ts.map +1 -0
- package/dist/codegen.js +195 -0
- package/dist/codegen.js.map +1 -0
- package/dist/generated/contract.d.ts +1286 -0
- package/dist/generated/contract.d.ts.map +1 -0
- package/dist/generated/contract.js +14 -0
- package/dist/generated/contract.js.map +1 -0
- package/dist/generated/schemas.d.ts +111 -0
- package/dist/generated/schemas.d.ts.map +1 -0
- package/dist/generated/schemas.js +3256 -0
- package/dist/generated/schemas.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/render-contract.d.ts +47 -0
- package/dist/render-contract.d.ts.map +1 -0
- package/dist/render-contract.js +123 -0
- package/dist/render-contract.js.map +1 -0
- package/dist/render-guide.d.ts +4 -0
- package/dist/render-guide.d.ts.map +1 -0
- package/dist/render-guide.js +132 -0
- package/dist/render-guide.js.map +1 -0
- package/dist/schema-document.d.ts +7 -0
- package/dist/schema-document.d.ts.map +1 -0
- package/dist/schema-document.js +2 -0
- package/dist/schema-document.js.map +1 -0
- package/dist/validate.d.ts +22 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +89 -0
- package/dist/validate.js.map +1 -0
- package/package.json +65 -0
- package/schemas/action-effect.json +113 -0
- package/schemas/agent-binding.json +58 -0
- package/schemas/approvals.json +249 -0
- package/schemas/control-kind-registration.json +187 -0
- package/schemas/control-table.json +276 -0
- package/schemas/event-declarations.json +316 -0
- package/schemas/generated-knowledge.json +58 -0
- package/schemas/json-schema.json +153 -0
- package/schemas/oui-config.json +178 -0
- package/schemas/oui-manifest.json +346 -0
- package/schemas/room-catalog-data.json +455 -0
- 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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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"}
|