@skenion/contracts 0.34.0 → 0.36.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/dist/validate.js CHANGED
@@ -1,14 +1,29 @@
1
1
  import Ajv2020Runtime from "ajv/dist/2020.js";
2
- import { controlMessageV01Schema, extensionManifestV01Schema, graphPatchEventV01Schema, graphPatchHistoryV01Schema, graphPatchV01Schema, graphV01Schema, graphV02Schema, nodeDefinitionV01Schema, nodeDefinitionV02Schema, objectTextParseResultV01Schema, projectV01Schema, shaderInterfaceV01Schema, viewStateV01Schema } from "./generated/schemas.js";
2
+ import { controlMessageV01Schema, extensionManifestV01Schema, graphFragmentV02Schema, graphPatchEventV01Schema, graphPatchHistoryV01Schema, graphPatchV01Schema, graphV01Schema, graphV02Schema, nodeDefinitionV01Schema, nodeDefinitionV02Schema, objectTextParseResultV01Schema, projectV01Schema, projectV02Schema, runtimeOperationV0Schema, shaderInterfaceV01Schema, viewStateV01Schema } from "./generated/schemas.js";
3
3
  import { planConversion } from "./conversion.js";
4
+ import { derivePatchContractV02 } from "./project.js";
4
5
  const allowedNodePermissions = new Set();
5
6
  const Ajv2020 = Ajv2020Runtime;
6
7
  const ajv = new Ajv2020({ allErrors: true });
8
+ ajv.addSchema(graphV02Schema);
9
+ ajv.addSchema(graphFragmentV02Schema);
7
10
  ajv.addSchema(graphPatchV01Schema);
8
11
  ajv.addSchema(graphPatchEventV01Schema);
9
12
  ajv.addSchema(nodeDefinitionV01Schema);
10
13
  const graphV01Validator = ajv.compile(graphV01Schema);
11
14
  const graphV02Validator = ajv.compile(graphV02Schema);
15
+ const graphFragmentV02Validator = ajv.compile(graphFragmentV02Schema);
16
+ const runtimeOperationV0Validator = ajv.compile(runtimeOperationV0Schema);
17
+ const pasteGraphFragmentRequestValidator = ajv.compile({
18
+ $schema: "https://json-schema.org/draft/2020-12/schema",
19
+ $id: "https://skenion.dev/schemas/runtime/v0/paste-graph-fragment-request.schema.json",
20
+ $ref: "https://skenion.dev/schemas/runtime/v0/operation.schema.json#/$defs/pasteGraphFragmentRequest"
21
+ });
22
+ const pasteGraphFragmentResponseValidator = ajv.compile({
23
+ $schema: "https://json-schema.org/draft/2020-12/schema",
24
+ $id: "https://skenion.dev/schemas/runtime/v0/paste-graph-fragment-response.schema.json",
25
+ $ref: "https://skenion.dev/schemas/runtime/v0/operation.schema.json#/$defs/pasteGraphFragmentResponse"
26
+ });
12
27
  const graphPatchV01Validator = ajv.compile(graphPatchV01Schema);
13
28
  const graphPatchEventV01Validator = ajv.compile(graphPatchEventV01Schema);
14
29
  const graphPatchHistoryV01Validator = ajv.compile(graphPatchHistoryV01Schema);
@@ -19,6 +34,12 @@ const nodeDefinitionV02Validator = ajv.compile(nodeDefinitionV02Schema);
19
34
  const shaderInterfaceV01Validator = ajv.compile(shaderInterfaceV01Schema);
20
35
  const viewStateV01Validator = ajv.compile(viewStateV01Schema);
21
36
  const projectV01Validator = ajv.compile(projectV01Schema);
37
+ const projectV02Validator = ajv.compile(projectV02Schema);
38
+ const patchDefinitionV02Validator = ajv.compile({
39
+ $schema: "https://json-schema.org/draft/2020-12/schema",
40
+ $id: "https://skenion.dev/schemas/project/v0.2/patch-definition.schema.json",
41
+ $ref: "https://skenion.dev/schemas/project/v0.2/project.schema.json#/$defs/patchDefinition"
42
+ });
22
43
  const extensionManifestV01Validator = ajv.compile(extensionManifestV01Schema);
23
44
  function schemaErrors(errors) {
24
45
  return errors.map((error) => {
@@ -99,16 +120,48 @@ function validateNodeDefinitionV01Semantics(definition) {
99
120
  }
100
121
  return errors;
101
122
  }
102
- function validateProjectDocumentV01Semantics(project) {
103
- const errors = validateGraphV01Semantics(project.graph);
104
- const graphNodeIds = new Set(project.graph.nodes.map((node) => node.id));
105
- for (const nodeId of Object.keys(project.viewState.canvas.nodes)) {
123
+ function validateViewStateNodeReferences(viewState, graph, label = "viewState") {
124
+ const errors = [];
125
+ const graphNodeIds = new Set(graph.nodes.map((node) => node.id));
126
+ for (const nodeId of Object.keys(viewState.canvas.nodes)) {
106
127
  if (!graphNodeIds.has(nodeId)) {
107
- errors.push(`viewState references missing graph node: ${nodeId}`);
128
+ errors.push(`${label} references missing graph node: ${nodeId}`);
108
129
  }
109
130
  }
110
131
  return errors;
111
132
  }
133
+ function validateProjectDocumentV01Semantics(project) {
134
+ return [
135
+ ...validateGraphV01Semantics(project.graph),
136
+ ...validateViewStateNodeReferences(project.viewState, project.graph)
137
+ ];
138
+ }
139
+ function graphV02SemanticErrors(graph, label) {
140
+ const result = analyzeGraphDocumentV02(graph);
141
+ return result.diagnostics
142
+ .filter((diagnostic) => diagnostic.severity === "error")
143
+ .map((diagnostic) => `${label} ${diagnostic.code}: ${diagnostic.message}`);
144
+ }
145
+ function validatePatchDefinitionV02Semantics(patch) {
146
+ const errors = graphV02SemanticErrors(patch.graph, `patch ${patch.id} graph`);
147
+ if (patch.viewState) {
148
+ errors.push(...validateViewStateNodeReferences(patch.viewState, patch.graph, `patch ${patch.id} viewState`));
149
+ }
150
+ const contract = derivePatchContractV02(patch);
151
+ errors.push(...duplicateErrors(contract.ports.map((port) => port.id), `boundary port id on patch ${patch.id}`));
152
+ return errors;
153
+ }
154
+ function validateProjectDocumentV02Semantics(project) {
155
+ const errors = [
156
+ ...graphV02SemanticErrors(project.graph, "root graph"),
157
+ ...validateViewStateNodeReferences(project.viewState, project.graph),
158
+ ...duplicateErrors(project.patchLibrary.map((patch) => patch.id), "patch id")
159
+ ];
160
+ for (const patch of project.patchLibrary) {
161
+ errors.push(...validatePatchDefinitionV02Semantics(patch));
162
+ }
163
+ return errors;
164
+ }
112
165
  function diagnostic(diagnostics, severity, code, message, refs = {}) {
113
166
  diagnostics.push({ severity, code, message, ...refs });
114
167
  }
@@ -151,6 +204,74 @@ function isControlMessagePortType(type) {
151
204
  "string"
152
205
  ].includes(type);
153
206
  }
207
+ function fragmentDiagnostic(diagnostics, severity, code, message, refs = {}) {
208
+ diagnostics.push({ severity, code, message, ...refs });
209
+ }
210
+ function analyzeFragmentSemantics(fragment, options) {
211
+ const diagnostics = [];
212
+ const omittedEdgeIds = [];
213
+ const outsideEndpointPolicy = options.outsideEndpointPolicy ?? "reject";
214
+ const nodeIds = new Set();
215
+ const edgeIds = new Set();
216
+ const ports = new Map();
217
+ for (const node of fragment.nodes) {
218
+ if (nodeIds.has(node.id)) {
219
+ fragmentDiagnostic(diagnostics, "error", "duplicate-node-id", `duplicate node id: ${node.id}`, { nodes: [node.id] });
220
+ }
221
+ nodeIds.add(node.id);
222
+ const portIds = new Set();
223
+ for (const port of node.ports) {
224
+ if (portIds.has(port.id)) {
225
+ fragmentDiagnostic(diagnostics, "error", "duplicate-port-id", `duplicate port id on ${node.id}: ${port.id}`, { nodes: [node.id] });
226
+ }
227
+ portIds.add(port.id);
228
+ ports.set(portSpecKey(node.id, port.id), port);
229
+ }
230
+ }
231
+ for (const edge of fragment.edges) {
232
+ if (edgeIds.has(edge.id)) {
233
+ fragmentDiagnostic(diagnostics, "error", "duplicate-edge-id", `duplicate edge id: ${edge.id}`, { edges: [edge.id] });
234
+ }
235
+ edgeIds.add(edge.id);
236
+ const sourceNodeMissing = !nodeIds.has(edge.source.nodeId);
237
+ const targetNodeMissing = !nodeIds.has(edge.target.nodeId);
238
+ if (sourceNodeMissing || targetNodeMissing) {
239
+ const severity = outsideEndpointPolicy === "omit" ? "warning" : "error";
240
+ if (outsideEndpointPolicy === "omit") {
241
+ omittedEdgeIds.push(edge.id);
242
+ }
243
+ fragmentDiagnostic(diagnostics, severity, "fragment-edge-outside-selection", `edge ${edge.id} references an endpoint outside the graph fragment`, { edges: [edge.id] });
244
+ continue;
245
+ }
246
+ const sourceKey = portSpecKey(edge.source.nodeId, edge.source.portId);
247
+ const targetKey = portSpecKey(edge.target.nodeId, edge.target.portId);
248
+ const source = ports.get(sourceKey);
249
+ const target = ports.get(targetKey);
250
+ if (!source) {
251
+ fragmentDiagnostic(diagnostics, "error", "missing-source-port", `edge ${edge.id} references missing source port ${sourceKey}`, { edges: [edge.id] });
252
+ }
253
+ if (!target) {
254
+ fragmentDiagnostic(diagnostics, "error", "missing-target-port", `edge ${edge.id} references missing target port ${targetKey}`, { edges: [edge.id] });
255
+ }
256
+ if (!source || !target) {
257
+ continue;
258
+ }
259
+ if (source.direction !== "output") {
260
+ fragmentDiagnostic(diagnostics, "error", "invalid-source-direction", `edge ${edge.id} source ${sourceKey} is not an output port`, { edges: [edge.id] });
261
+ }
262
+ if (target.direction !== "input") {
263
+ fragmentDiagnostic(diagnostics, "error", "invalid-target-direction", `edge ${edge.id} target ${targetKey} is not an input port`, { edges: [edge.id] });
264
+ }
265
+ if (!portTypeAccepts(source, target)) {
266
+ fragmentDiagnostic(diagnostics, "error", "incompatible-type", `edge ${edge.id} cannot connect ${sourceKey} ${source.type} to ${targetKey} ${target.type}`, { edges: [edge.id] });
267
+ }
268
+ }
269
+ return {
270
+ ok: diagnostics.every((entry) => entry.severity !== "error"),
271
+ diagnostics,
272
+ omittedEdgeIds
273
+ };
274
+ }
154
275
  function portFamily(type) {
155
276
  return type.split(".", 1).join("");
156
277
  }
@@ -398,6 +519,20 @@ export function validateGraphDocumentV02(document) {
398
519
  }
399
520
  return { ok: true, value: graph };
400
521
  }
522
+ export function analyzeGraphFragmentV02(fragment, options = {}) {
523
+ return analyzeFragmentSemantics(fragment, options);
524
+ }
525
+ export function validateGraphFragmentV02(document, options = {}) {
526
+ if (!graphFragmentV02Validator(document)) {
527
+ return { ok: false, errors: schemaErrors(graphFragmentV02Validator.errors) };
528
+ }
529
+ const fragment = document;
530
+ const result = analyzeGraphFragmentV02(fragment, options);
531
+ if (!result.ok) {
532
+ return { ok: false, errors: result.diagnostics.map((entry) => `${entry.code}: ${entry.message}`) };
533
+ }
534
+ return { ok: true, value: fragment };
535
+ }
401
536
  export function validateGraphPatch(document) {
402
537
  if (!graphPatchV01Validator(document)) {
403
538
  return { ok: false, errors: schemaErrors(graphPatchV01Validator.errors) };
@@ -482,4 +617,56 @@ export function validateProjectDocument(document) {
482
617
  }
483
618
  return { ok: true, value: project };
484
619
  }
620
+ export function validatePatchDefinitionV02(document) {
621
+ if (!patchDefinitionV02Validator(document)) {
622
+ return { ok: false, errors: schemaErrors(patchDefinitionV02Validator.errors) };
623
+ }
624
+ const patch = document;
625
+ const errors = validatePatchDefinitionV02Semantics(patch);
626
+ if (errors.length > 0) {
627
+ return { ok: false, errors };
628
+ }
629
+ return { ok: true, value: patch };
630
+ }
631
+ export function validateProjectDocumentV02(document) {
632
+ if (!projectV02Validator(document)) {
633
+ return { ok: false, errors: schemaErrors(projectV02Validator.errors) };
634
+ }
635
+ const project = document;
636
+ const errors = validateProjectDocumentV02Semantics(project);
637
+ if (errors.length > 0) {
638
+ return { ok: false, errors };
639
+ }
640
+ return { ok: true, value: project };
641
+ }
642
+ export function validateRuntimeOperationEnvelope(document) {
643
+ if (!runtimeOperationV0Validator(document)) {
644
+ return { ok: false, errors: schemaErrors(runtimeOperationV0Validator.errors) };
645
+ }
646
+ const envelope = document;
647
+ const requestResult = validatePasteGraphFragmentRequest(envelope.request);
648
+ if (!requestResult.ok) {
649
+ return { ok: false, errors: requestResult.errors };
650
+ }
651
+ return { ok: true, value: envelope };
652
+ }
653
+ export function validatePasteGraphFragmentRequest(document) {
654
+ if (!pasteGraphFragmentRequestValidator(document)) {
655
+ return { ok: false, errors: schemaErrors(pasteGraphFragmentRequestValidator.errors) };
656
+ }
657
+ const request = document;
658
+ const fragmentResult = validateGraphFragmentV02(request.fragment, {
659
+ outsideEndpointPolicy: request.options?.outsideEndpointPolicy
660
+ });
661
+ if (!fragmentResult.ok) {
662
+ return { ok: false, errors: fragmentResult.errors };
663
+ }
664
+ return { ok: true, value: request };
665
+ }
666
+ export function validatePasteGraphFragmentResponse(document) {
667
+ if (!pasteGraphFragmentResponseValidator(document)) {
668
+ return { ok: false, errors: schemaErrors(pasteGraphFragmentResponseValidator.errors) };
669
+ }
670
+ return { ok: true, value: document };
671
+ }
485
672
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skenion/contracts",
3
- "version": "0.34.0",
3
+ "version": "0.36.0",
4
4
  "description": "Skenion contract schemas and validators",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -40,6 +40,10 @@
40
40
  "types": "./dist/generated/schemas.d.ts",
41
41
  "import": "./dist/generated/schemas.js"
42
42
  },
43
+ "./graph/v0.2/fragment-schema": {
44
+ "types": "./dist/generated/schemas.d.ts",
45
+ "import": "./dist/generated/schemas.js"
46
+ },
43
47
  "./graph/v0.1/patch-schema": {
44
48
  "types": "./dist/generated/schemas.d.ts",
45
49
  "import": "./dist/generated/schemas.js"
@@ -72,6 +76,14 @@
72
76
  "types": "./dist/generated/schemas.d.ts",
73
77
  "import": "./dist/generated/schemas.js"
74
78
  },
79
+ "./project/v0.2/schema": {
80
+ "types": "./dist/generated/schemas.d.ts",
81
+ "import": "./dist/generated/schemas.js"
82
+ },
83
+ "./runtime/v0/operation-schema": {
84
+ "types": "./dist/generated/schemas.d.ts",
85
+ "import": "./dist/generated/schemas.js"
86
+ },
75
87
  "./view/v0.1/schema": {
76
88
  "types": "./dist/generated/schemas.d.ts",
77
89
  "import": "./dist/generated/schemas.js"