From c79c0706895704e9933f0639f63e81c02a595985 Mon Sep 17 00:00:00 2001 From: Anca Antochi Date: Thu, 26 Feb 2026 18:59:25 +0000 Subject: [PATCH 1/3] Add aio wasm graph schema 1.1.0 --- src/api/json/catalog.json | 5 +- .../json/aio-wasm-graph-config-1.1.0.json | 245 ++++++++++++++++++ 2 files changed, 248 insertions(+), 2 deletions(-) create mode 100644 src/schemas/json/aio-wasm-graph-config-1.1.0.json diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index a16ef77ef4b..c574a3d6d5b 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -9200,9 +9200,10 @@ { "name": "Azure IoT Operations Wasm Graph Config", "description": "", - "url": "https://www.schemastore.org/aio-wasm-graph-config-1.0.0.json", + "url": "https://www.schemastore.org/aio-wasm-graph-config-1.1.0.json", "versions": { - "1.0.0": "https://www.schemastore.org/aio-wasm-graph-config-1.0.0.json" + "1.0.0": "https://www.schemastore.org/aio-wasm-graph-config-1.0.0.json", + "1.1.0": "https://www.schemastore.org/aio-wasm-graph-config-1.1.0.json" } }, { diff --git a/src/schemas/json/aio-wasm-graph-config-1.1.0.json b/src/schemas/json/aio-wasm-graph-config-1.1.0.json new file mode 100644 index 00000000000..243f7c5c25f --- /dev/null +++ b/src/schemas/json/aio-wasm-graph-config-1.1.0.json @@ -0,0 +1,245 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://www.schemastore.org/aio-wasm-graph-config-1.1.0.json", + "title": "Azure IoT Operations Wasm Graph Config", + "type": "object", + "required": ["connections", "metadata", "moduleRequirements", "operations"], + "properties": { + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/WasmGraphConfigConnection" + } + }, + "metadata": { + "$ref": "#/definitions/WasmGraphMetadata" + }, + "moduleConfigurations": { + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/ModuleConfiguration" + } + }, + "moduleRequirements": { + "$ref": "#/definitions/ModuleVersions" + }, + "operations": { + "type": "array", + "items": { + "$ref": "#/definitions/WasmGraphConfigModule" + } + }, + "schemas": { + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/SchemaConfiguration" + } + } + }, + "additionalProperties": false, + "definitions": { + "Arity": { + "oneOf": [ + { + "type": "integer", + "format": "uint32", + "minimum": 1 + }, + { + "const": "unbounded" + } + ], + "default": 1 + }, + "BranchOutputArm": { + "type": "string", + "enum": ["False", "True"] + }, + "ConfigParameters": { + "type": "object", + "required": ["name"], + "properties": { + "default": { + "type": ["string", "null"] + }, + "description": { + "type": ["string", "null"] + }, + "name": { + "type": "string" + }, + "required": { + "default": false, + "type": "boolean" + }, + "schema": { + "type": ["string", "null"] + } + } + }, + "ModuleConfiguration": { + "type": "object", + "required": ["name", "parameters"], + "properties": { + "name": { + "type": "string" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ConfigParameters" + } + } + } + }, + "ModuleVersionFeature": { + "type": "object", + "required": ["name"], + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": ["string", "null"] + } + }, + "additionalProperties": false + }, + "ModuleVersions": { + "type": "object", + "required": ["apiVersion", "runtimeVersion"], + "properties": { + "apiVersion": { + "type": "string" + }, + "features": { + "type": ["array", "null"], + "items": { + "$ref": "#/definitions/ModuleVersionFeature" + } + }, + "runtimeVersion": { + "type": "string" + } + }, + "additionalProperties": false + }, + "SchemaConfiguration": { + "type": "object", + "required": ["format", "name", "schema"], + "properties": { + "format": { + "type": "string" + }, + "name": { + "type": "string" + }, + "schema": { + "type": "string" + } + } + }, + "WasmGraphConfigConnection": { + "type": "object", + "required": ["from", "to"], + "properties": { + "from": { + "$ref": "#/definitions/WasmGraphConfigConnectionFromPoint" + }, + "to": { + "$ref": "#/definitions/WasmGraphConfigConnectionToPoint" + } + }, + "additionalProperties": false + }, + "WasmGraphConfigConnectionFromPoint": { + "type": "object", + "required": ["name"], + "properties": { + "arm": { + "anyOf": [ + { + "$ref": "#/definitions/BranchOutputArm" + }, + { + "type": "null" + } + ] + }, + "name": { + "type": "string" + }, + "schemaName": { + "type": ["string", "null"] + } + }, + "additionalProperties": false + }, + "WasmGraphConfigConnectionOperator": { + "type": "string", + "enum": [ + "source", + "map", + "filter", + "branch", + "concatenate", + "accumulate", + "delay", + "sink" + ] + }, + "WasmGraphConfigConnectionToPoint": { + "type": "object", + "required": ["name"], + "properties": { + "name": { + "type": "string" + } + }, + "additionalProperties": false + }, + "WasmGraphConfigModule": { + "type": "object", + "required": ["name", "operationType"], + "properties": { + "arity": { + "$ref": "#/definitions/Arity" + }, + "module": { + "type": ["string", "null"] + }, + "name": { + "type": "string" + }, + "operationType": { + "$ref": "#/definitions/WasmGraphConfigConnectionOperator" + } + }, + "additionalProperties": false + }, + "WasmGraphMetadata": { + "type": "object", + "required": ["$schema", "name", "version"], + "properties": { + "$schema": { + "type": "string" + }, + "description": { + "type": ["string", "null"] + }, + "name": { + "type": "string" + }, + "vendor": { + "type": ["string", "null"] + }, + "version": { + "type": "string" + } + }, + "additionalProperties": false + } + } +} \ No newline at end of file From e45879e09c72dad1fcf76236df251c76664ffa78 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 19:06:09 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/schemas/json/aio-wasm-graph-config-1.1.0.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/schemas/json/aio-wasm-graph-config-1.1.0.json b/src/schemas/json/aio-wasm-graph-config-1.1.0.json index 243f7c5c25f..11ad6d627b1 100644 --- a/src/schemas/json/aio-wasm-graph-config-1.1.0.json +++ b/src/schemas/json/aio-wasm-graph-config-1.1.0.json @@ -242,4 +242,4 @@ "additionalProperties": false } } -} \ No newline at end of file +} From 6cb180d298ffeeaae0fce7aa17cf92f5c39902ab Mon Sep 17 00:00:00 2001 From: Anca Antochi Date: Thu, 26 Feb 2026 19:43:22 +0000 Subject: [PATCH 3/3] fix validation --- src/schema-validation.jsonc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index dee15b72a95..226644a018a 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -706,6 +706,9 @@ "apibuilder.json": { "externalSchema": ["base-04.json"] }, + "aio-wasm-graph-config-1.1.0.json": { + "unknownFormat": ["uint32"] + }, "apollo-router-2.8.1.json": { "externalSchema": ["base.json"], "unknownFormat": ["uint", "uint32", "uint64"]