191 lines
4.9 KiB
JSON
191 lines
4.9 KiB
JSON
{
|
|
"schema": "freecad-web-p6-sandbox-facade/v1",
|
|
"taskId": "FW-P6-SDB-E",
|
|
"module": "Sandbox",
|
|
"action": "sandbox.createRecompute",
|
|
"result": "pass",
|
|
"envelopeSchema": "freecad-web-facade/v1",
|
|
"typedSchema": "freecad-web-sandbox/create-recompute/v1",
|
|
"fixture": {
|
|
"schema": "freecad-web-sandbox/create-recompute/v1",
|
|
"module": "Sandbox",
|
|
"action": "create/recompute",
|
|
"objectType": "Sandbox::SandboxObject",
|
|
"integer": 42,
|
|
"inputSha256": "2d7481e3a14751abe74d1f39889bf5b84f7223e379414ae9940d85fe7b308824"
|
|
},
|
|
"responses": {
|
|
"success": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "sdb-e-success",
|
|
"result": {
|
|
"schema": "freecad-web-sandbox/create-recompute/v1",
|
|
"module": "Sandbox",
|
|
"action": "create/recompute",
|
|
"objectType": "Sandbox::SandboxObject",
|
|
"objectInteger": 42,
|
|
"objectCount": 1,
|
|
"recompute": 1,
|
|
"resourcesReleased": true
|
|
}
|
|
},
|
|
"expectedError": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sdb-e-error",
|
|
"error": {
|
|
"code": "invalid_fixture",
|
|
"message": "Sandbox fixture is not supported",
|
|
"diagnostic": {
|
|
"field": "objectType"
|
|
}
|
|
}
|
|
},
|
|
"duplicate": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sdb-e-success",
|
|
"error": {
|
|
"code": "duplicate_request",
|
|
"message": "requestId has already been dispatched"
|
|
}
|
|
},
|
|
"cancelled": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sdb-e-cancel",
|
|
"error": {
|
|
"code": "cancelled",
|
|
"message": "request was cancelled before execution"
|
|
}
|
|
},
|
|
"afterCancel": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "sdb-e-after-cancel",
|
|
"result": {
|
|
"schema": "freecad-web-sandbox/create-recompute/v1",
|
|
"module": "Sandbox",
|
|
"action": "create/recompute",
|
|
"objectType": "Sandbox::SandboxObject",
|
|
"objectInteger": 42,
|
|
"objectCount": 1,
|
|
"recompute": 1,
|
|
"resourcesReleased": true
|
|
}
|
|
}
|
|
},
|
|
"trace": [
|
|
{
|
|
"direction": "request",
|
|
"requestId": "sdb-e-success"
|
|
},
|
|
{
|
|
"direction": "handler-start",
|
|
"requestId": "sdb-e-success"
|
|
},
|
|
{
|
|
"direction": "handler-end",
|
|
"requestId": "sdb-e-success"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "sdb-e-success",
|
|
"kind": "result",
|
|
"code": null
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "sdb-e-error"
|
|
},
|
|
{
|
|
"direction": "handler-start",
|
|
"requestId": "sdb-e-error"
|
|
},
|
|
{
|
|
"direction": "handler-end",
|
|
"requestId": "sdb-e-error"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "sdb-e-error",
|
|
"kind": "error",
|
|
"code": "invalid_fixture"
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "sdb-e-success"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "sdb-e-success",
|
|
"kind": "error",
|
|
"code": "duplicate_request"
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "sdb-e-cancel"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "sdb-e-cancel",
|
|
"kind": "error",
|
|
"code": "cancelled"
|
|
},
|
|
{
|
|
"direction": "request",
|
|
"requestId": "sdb-e-after-cancel"
|
|
},
|
|
{
|
|
"direction": "handler-start",
|
|
"requestId": "sdb-e-after-cancel"
|
|
},
|
|
{
|
|
"direction": "handler-end",
|
|
"requestId": "sdb-e-after-cancel"
|
|
},
|
|
{
|
|
"direction": "response",
|
|
"requestId": "sdb-e-after-cancel",
|
|
"kind": "result",
|
|
"code": null
|
|
}
|
|
],
|
|
"sequencing": {
|
|
"maxActive": 1,
|
|
"requestCount": 5,
|
|
"responseCount": 5,
|
|
"cancelAccepted": true
|
|
},
|
|
"state": {
|
|
"unchangedAfterCancel": true
|
|
},
|
|
"schemaChecks": {
|
|
"request": true,
|
|
"result": true,
|
|
"expectedError": true,
|
|
"duplicate": true,
|
|
"cancel": true,
|
|
"noNativePointers": true
|
|
},
|
|
"artifacts": {
|
|
"kernel": "docs/p6/sandbox-kernel.json",
|
|
"recovery": "docs/p6/sandbox-recovery.json",
|
|
"workerLog": "docs/freecad-p6-sandbox-e-facade.log"
|
|
},
|
|
"commands": [
|
|
"npx tsc --target ES2022 --module ESNext --moduleResolution Bundler --strict --skipLibCheck --outDir <tmp> --declaration false --noEmit false src/facade-envelope.ts src/sandbox-facade.ts",
|
|
"node tools/run_p6_sandbox_facade_smoke.mjs <tmp>/sandbox-facade.js freecad-source/build-web/configure/bin"
|
|
],
|
|
"boundaries": [
|
|
"Only the Sandbox create/recompute action is exposed; GUI actions and full worker UI are out of scope.",
|
|
"The handler returns typed JSON fields only and never exposes a native pointer or document object."
|
|
]
|
|
}
|