{ "schema": "freecad-web-draft-module-batch-runtime/v1", "taskId": "FW-P6-FPA-Y", "batchId": "d46741d8470b34abef1c838c", "module": "Draft", "tier": "tier-1-readonly", "family": "generic-object", "status": "pass_with_boundaries", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "route": { "command": "draft.pythonFamilyBatch", "native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/DraftRuntimeProbe.cpp:fc_web_dispatch_json", "facade": "web/src/draft-python-family-facade.ts", "worker": "web/src/draft.worker.ts" }, "input": { "cmd": "draft.pythonFamilyBatch", "args": { "tier": "tier-1-readonly", "records": [ { "apiId": "py:Draft:method:TaskPanelCircularArray.get_number_symmetry", "name": "TaskPanelCircularArray.get_number_symmetry", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "disposition": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_center", "name": "TaskPanelCircularArray.get_center", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "disposition": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_axis", "name": "TaskPanelCircularArray.get_axis", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "disposition": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_numbers", "name": "TaskPanelOrthoArray.get_numbers", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "disposition": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_intervals", "name": "TaskPanelOrthoArray.get_intervals", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "disposition": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_number_angle", "name": "TaskPanelPolarArray.get_number_angle", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "disposition": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_center", "name": "TaskPanelPolarArray.get_center", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "disposition": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_axis", "name": "TaskPanelPolarArray.get_axis", "family": "generic-object", "sourcePath": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "disposition": "not_implemented" } ] } }, "inputSha256": "2f91615f7f8cbed7c0e792ee8034ae4019a8fd95959882eeff3a3ed2fd1bd230", "result": { "cmd": "draft.pythonFamilyBatch", "count": 8, "module": "Draft", "ok": true, "records": [ { "apiId": "py:Draft:method:TaskPanelCircularArray.get_number_symmetry", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_number_symmetry", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_center", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_center", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_axis", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_axis", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_numbers", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelOrthoArray.get_numbers", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_intervals", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelOrthoArray.get_intervals", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_number_angle", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_number_angle", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_center", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_center", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_axis", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_axis", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" } ], "resourcesReleased": true, "schema": "freecad-web-draft/python-family-batch/v1", "source": "freecad-source", "tier": "tier-1-readonly" }, "resultSha256": "b3ef1cd906f45d9593e01f4e176f45b1c2e684b1425716e8b85f98f67d3fe727", "replay": { "equal": true, "resultSha256": "b3ef1cd906f45d9593e01f4e176f45b1c2e684b1425716e8b85f98f67d3fe727" }, "facadeWorker": { "ready": { "kind": "ready", "action": "draft.pythonFamilyBatch" }, "success": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "draft-object-batch-success", "result": { "cmd": "draft.pythonFamilyBatch", "count": 8, "module": "Draft", "ok": true, "records": [ { "apiId": "py:Draft:method:TaskPanelCircularArray.get_number_symmetry", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_number_symmetry", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_center", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_center", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_axis", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_axis", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_numbers", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelOrthoArray.get_numbers", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_intervals", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelOrthoArray.get_intervals", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_number_angle", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_number_angle", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_center", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_center", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_axis", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_axis", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" } ], "resourcesReleased": true, "schema": "freecad-web-draft/python-family-batch/v1", "source": "freecad-source", "tier": "tier-1-readonly" } }, "repeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "draft-object-batch-repeat", "result": { "cmd": "draft.pythonFamilyBatch", "count": 8, "module": "Draft", "ok": true, "records": [ { "apiId": "py:Draft:method:TaskPanelCircularArray.get_number_symmetry", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_number_symmetry", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_center", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_center", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_axis", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_axis", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_numbers", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelOrthoArray.get_numbers", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_intervals", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelOrthoArray.get_intervals", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_number_angle", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_number_angle", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_center", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_center", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_axis", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelPolarArray.get_axis", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" } ], "resourcesReleased": true, "schema": "freecad-web-draft/python-family-batch/v1", "source": "freecad-source", "tier": "tier-1-readonly" } }, "crossModule": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "draft-object-batch-cross", "result": { "cmd": "draft.pythonFamilyBatch", "count": 1, "module": "Draft", "ok": true, "records": [ { "apiId": "py:BIM:class:Binding", "code": "method_evidence_pending", "family": "generic-object", "message": "Draft Python API has no method-level readonly native evidence", "name": "TaskPanelCircularArray.get_number_symmetry", "native": true, "parameterSchema": "source-declared", "resourcesReleased": true, "returnSchema": "source-declared", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" } ], "resourcesReleased": true, "schema": "freecad-web-draft/python-family-batch/v1", "source": "freecad-source", "tier": "tier-1-readonly" } }, "malformed": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "invalid", "error": { "code": "invalid_request", "message": "Draft Python family envelope is invalid" } }, "cancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "draft-family-cancel-1", "error": { "code": "cancelled", "message": "request was cancelled" } }, "reset": { "kind": "reset", "requestId": "draft-object-batch-reset" }, "traceSha256": "3b7745d896ae577dbfc9268ae2ca9bfe2dba7c4a6b403bd7e05b9436cb4f9b4f" }, "dispositionCounts": { "exposed": 0, "restricted": 0, "nonportable": 0, "not_implemented": 8 }, "records": [ { "apiId": "py:Draft:method:TaskPanelCircularArray.get_number_symmetry", "name": "TaskPanelCircularArray.get_number_symmetry", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "69469219b46935945dc12844a33854d542195537a0ad42a2444bdbf4edd2ec78" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_center", "name": "TaskPanelCircularArray.get_center", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "1b39d5539d58649bd6f0cfded4ab9910dd8c276bee53d62b55deacff8aef7d2f" }, { "apiId": "py:Draft:method:TaskPanelCircularArray.get_axis", "name": "TaskPanelCircularArray.get_axis", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_circulararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "46635ed9ad8bd291b3344b8c6d6c6c0d9a1d573338cf83908b1c872466341637" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_numbers", "name": "TaskPanelOrthoArray.get_numbers", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "adcb883c2a2d7c11c55a3049c34747e6e632fca04da911541e5a194e8ec6f02b" }, { "apiId": "py:Draft:method:TaskPanelOrthoArray.get_intervals", "name": "TaskPanelOrthoArray.get_intervals", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_orthoarray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "54b6b9aa51821b8604a53d9dc12a1f50268c47f3ee07a4e52946c65762db1040" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_number_angle", "name": "TaskPanelPolarArray.get_number_angle", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "edbb9b8d7008e9130faca9e51d9c513dcda83f2f6c0c248b7775b9b3cf48c8d1" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_center", "name": "TaskPanelPolarArray.get_center", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "67f00938924b11976eff54eb7f60e25ea9f983b93604cb2f2121dfff69a78b10" }, { "apiId": "py:Draft:method:TaskPanelPolarArray.get_axis", "name": "TaskPanelPolarArray.get_axis", "family": "generic-object", "status": "not_implemented", "code": "method_evidence_pending", "message": "Draft Python API has no method-level readonly native evidence", "sourceEntry": "src/Mod/Draft/drafttaskpanels/task_polararray.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "evidenceSha256": "9241708169cfc266a67f7e1c3d24f7d3f545f654b9a7ab32ad5e2329c2453031" } ], "resources": { "resourcesReleased": true, "documentMutation": false }, "artifacts": { "wasm": { "path": "web/public/kernel/FreeCADWebDraftRuntimeProbe.wasm", "sha256": "d990725bc31d0b5b4665a9e16c456599c35a05a2097bf1465ec0d194fcf10c50" }, "loader": { "path": "web/public/kernel/FreeCADWebDraftRuntimeProbe.js", "sha256": "52268c1f6601d5961fd1980508f4ab3c4a8362b3f463210f0be2aead8f1f0a29" } }, "boundaries": [ "Draft GUI/tool and method records retain their source-declared not_implemented or GUI restricted boundaries.", "All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope." ] }