Files
FreeCADWasmDev/docs/p6/cam-action-04-facade.schema.json
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

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 }
}
}