17 lines
1.8 KiB
JSON
17 lines
1.8 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://freecad.org/schemas/freecad-web-cam-python-api-v1.json",
|
|
"oneOf": [
|
|
{ "$ref": "#/$defs/request" },
|
|
{ "$ref": "#/$defs/result" },
|
|
{ "$ref": "#/$defs/error" },
|
|
{ "$ref": "#/$defs/cancel" }
|
|
],
|
|
"$defs": {
|
|
"request": { "type": "object", "required": ["schema", "version", "kind", "requestId", "command", "payload"], "properties": { "schema": { "const": "freecad-web-facade/v1" }, "version": { "const": 1 }, "kind": { "const": "request" }, "requestId": { "type": "string" }, "command": { "const": "cam.inspectPythonApi" }, "payload": { "type": "object", "required": ["schema", "module", "sourceRevision", "entry"] } }, "additionalProperties": true },
|
|
"result": { "type": "object", "required": ["schema", "version", "kind", "requestId", "result"], "properties": { "schema": { "const": "freecad-web-facade/v1" }, "version": { "const": 1 }, "kind": { "const": "result" }, "requestId": { "type": "string" }, "result": { "type": "object", "required": ["schema", "module", "action", "apiCount", "expectedApiCount", "kindCounts", "readOnly", "stateSha256"] } }, "additionalProperties": true },
|
|
"error": { "type": "object", "required": ["schema", "version", "kind", "requestId", "error"], "properties": { "schema": { "const": "freecad-web-facade/v1" }, "version": { "const": 1 }, "kind": { "const": "error" }, "requestId": { "type": "string" }, "error": { "type": "object", "required": ["code", "message"] } }, "additionalProperties": true },
|
|
"cancel": { "type": "object", "required": ["schema", "version", "kind", "requestId", "cancelOf"], "properties": { "schema": { "const": "freecad-web-facade/v1" }, "version": { "const": 1 }, "kind": { "const": "cancel" }, "requestId": { "type": "string" }, "cancelOf": { "type": "string" } }, "additionalProperties": true }
|
|
}
|
|
}
|