253 lines
6.9 KiB
JSON
253 lines
6.9 KiB
JSON
{
|
|
"schema": "freecad-web-p6-cam-action-04-facade/v1",
|
|
"task_id": "FW-P6-CAM-ACT-04-E",
|
|
"status": "pass",
|
|
"action": "cam.inspectPythonApi",
|
|
"envelopeSchema": "freecad-web-facade/v1",
|
|
"typedSchema": "freecad-web-cam/python-api/v1",
|
|
"responses": {
|
|
"success": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "cam-action-04-success",
|
|
"result": {
|
|
"schema": "freecad-web-cam/python-api/v1",
|
|
"module": "CAM",
|
|
"action": "python-api",
|
|
"sourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
|
|
"currentSourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
|
|
"sourceEntry": "src/Mod/CAM/Path",
|
|
"apiCount": 2883,
|
|
"expectedApiCount": 2883,
|
|
"kindCounts": {
|
|
"class": 512,
|
|
"function": 731,
|
|
"method": 1640
|
|
},
|
|
"representatives": [
|
|
{
|
|
"kind": "class",
|
|
"name": "PathJob",
|
|
"path": "src/Mod/CAM/Path/Main/Job.py",
|
|
"line": 42
|
|
},
|
|
{
|
|
"kind": "function",
|
|
"name": "parseSubLines",
|
|
"path": "src/Mod/CAM/Path/Op/Base.py",
|
|
"line": 118
|
|
},
|
|
{
|
|
"kind": "method",
|
|
"name": "setFromGCode",
|
|
"path": "src/Mod/CAM/Path/Op/Base.py",
|
|
"line": 233
|
|
}
|
|
],
|
|
"guiExcluded": [
|
|
"FreeCADGui",
|
|
"PySide",
|
|
"pivy.coin"
|
|
],
|
|
"readOnly": true,
|
|
"stateSha256": "c9b5a4ccf98df2fd76a7204f2a2d90237ae902c5f36157c001a68a4a0ccfd783"
|
|
}
|
|
},
|
|
"expectedError": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "cam-action-04-error",
|
|
"error": {
|
|
"code": "revision_mismatch",
|
|
"message": "CAM Python API source revision is not locked",
|
|
"diagnostic": {
|
|
"sourceRevision": "wrong-revision"
|
|
}
|
|
}
|
|
},
|
|
"duplicate": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "cam-action-04-success",
|
|
"error": {
|
|
"code": "duplicate_request",
|
|
"message": "requestId has already been dispatched"
|
|
}
|
|
},
|
|
"cancelled": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "cam-action-04-cancel",
|
|
"error": {
|
|
"code": "cancelled",
|
|
"message": "request was cancelled before execution"
|
|
}
|
|
},
|
|
"afterCancel": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "cam-action-04-after-cancel",
|
|
"result": {
|
|
"schema": "freecad-web-cam/python-api/v1",
|
|
"module": "CAM",
|
|
"action": "python-api",
|
|
"sourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
|
|
"currentSourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
|
|
"sourceEntry": "src/Mod/CAM/Path",
|
|
"apiCount": 2883,
|
|
"expectedApiCount": 2883,
|
|
"kindCounts": {
|
|
"class": 512,
|
|
"function": 731,
|
|
"method": 1640
|
|
},
|
|
"representatives": [
|
|
{
|
|
"kind": "class",
|
|
"name": "PathJob",
|
|
"path": "src/Mod/CAM/Path/Main/Job.py",
|
|
"line": 42
|
|
},
|
|
{
|
|
"kind": "function",
|
|
"name": "parseSubLines",
|
|
"path": "src/Mod/CAM/Path/Op/Base.py",
|
|
"line": 118
|
|
},
|
|
{
|
|
"kind": "method",
|
|
"name": "setFromGCode",
|
|
"path": "src/Mod/CAM/Path/Op/Base.py",
|
|
"line": 233
|
|
}
|
|
],
|
|
"guiExcluded": [
|
|
"FreeCADGui",
|
|
"PySide",
|
|
"pivy.coin"
|
|
],
|
|
"readOnly": true,
|
|
"stateSha256": "c9b5a4ccf98df2fd76a7204f2a2d90237ae902c5f36157c001a68a4a0ccfd783"
|
|
}
|
|
}
|
|
},
|
|
"trace": [
|
|
{
|
|
"direction": "request",
|
|
"requestId": "cam-action-04-success",
|
|
"command": "cam.inspectPythonApi"
|
|
},
|
|
{
|
|
"direction": "handler-start",
|
|
"requestId": "cam-action-04-success"
|
|
},
|
|
{
|
|
"direction": "handler-end",
|
|
"requestId": "cam-action-04-success"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "cam-action-04-success",
|
|
"kind": "result",
|
|
"code": null
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "cam-action-04-error",
|
|
"command": "cam.inspectPythonApi"
|
|
},
|
|
{
|
|
"direction": "handler-start",
|
|
"requestId": "cam-action-04-error"
|
|
},
|
|
{
|
|
"direction": "handler-end",
|
|
"requestId": "cam-action-04-error"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "cam-action-04-error",
|
|
"kind": "error",
|
|
"code": "revision_mismatch"
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "cam-action-04-success",
|
|
"command": "cam.inspectPythonApi"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "cam-action-04-success",
|
|
"kind": "error",
|
|
"code": "duplicate_request"
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "cam-action-04-cancel",
|
|
"command": "cam.inspectPythonApi"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "cam-action-04-cancel",
|
|
"kind": "error",
|
|
"code": "cancelled"
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "cam-action-04-after-cancel",
|
|
"command": "cam.inspectPythonApi"
|
|
},
|
|
{
|
|
"direction": "handler-start",
|
|
"requestId": "cam-action-04-after-cancel"
|
|
},
|
|
{
|
|
"direction": "handler-end",
|
|
"requestId": "cam-action-04-after-cancel"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "cam-action-04-after-cancel",
|
|
"kind": "result",
|
|
"code": null
|
|
}
|
|
],
|
|
"sequencing": {
|
|
"maxActive": 1,
|
|
"activeAfter": 0,
|
|
"requestCount": 5,
|
|
"responseCount": 5,
|
|
"cancelAccepted": true
|
|
},
|
|
"state": {
|
|
"beforeCancel": "c9b5a4ccf98df2fd76a7204f2a2d90237ae902c5f36157c001a68a4a0ccfd783",
|
|
"afterCancel": "c9b5a4ccf98df2fd76a7204f2a2d90237ae902c5f36157c001a68a4a0ccfd783",
|
|
"unchangedAfterCancel": true
|
|
},
|
|
"schemaChecks": {
|
|
"request": true,
|
|
"result": true,
|
|
"expectedError": true,
|
|
"duplicate": true,
|
|
"cancel": true,
|
|
"noNativePointers": true
|
|
},
|
|
"inputSha256": "379fc54fff09c4e5960be1419737893a460f6850d17445621fd5db95a3a3d6ae",
|
|
"commands": [
|
|
"npx tsc --target ES2022 --module ESNext --moduleResolution Bundler --strict --skipLibCheck --outDir /tmp/freecad-p6-cam-action-04 --declaration false --noEmit false src/facade-envelope.ts src/cam-python-facade.ts",
|
|
"node tools/run_p6_cam_action04_facade_smoke.mjs /tmp/freecad-p6-cam-action-04/cam-python-facade.js"
|
|
],
|
|
"artifacts": {
|
|
"schema": "docs/p6/cam-action-04-facade.schema.json",
|
|
"workerLog": "docs/freecad-p6-cam-action-04-e-facade.log"
|
|
},
|
|
"boundaries": [
|
|
"Python API inventory is read-only and never exposes native pointers or arbitrary execution."
|
|
]
|
|
}
|