← Commit history

v1.8.4: fix #295 (no GUI-exe shell-out, use direct API), fix #289 (expectDocument document guard)

John Lauer ·bb99976be8 ·2mo ago ·parent 3e32346
4 files changed +24−7
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.8.3\ No newline at end of file+1.8.4\ No newline at end of file
adom-bridge-fusion-manifest.json+5−5
@@ -1,13 +1,13 @@ {     "manifest_version": 1,     "name": "fusion360",-    "version": "1.8.3",-    "url": "https://wiki.adom.inc/download/adom/adom-desktop-fusion-bridge/1.8.3/adom-bridge-fusion-v1.8.3.zip",-    "sha256": "b944df02cf55fd4ed912a285d50fb2c023166404282f021794cab679c557401d",-    "size": 292456,+    "version": "1.8.4",+    "url": "https://wiki.adom.inc/download/adom/adom-desktop-fusion-bridge/1.8.4/adom-bridge-fusion-v1.8.4.zip",+    "sha256": "5fbe3460a681d388aaf79ed88a5dc2a7a5fd7d2df060b4a3531e93242e6783ac",+    "size": 575519,     "verbPrefixes": [         "fusion_"     ],     "healthEndpoint": "/status",-    "released_at": "2026-07-24T10:50:00Z"+    "released_at": "2026-07-24T18:30:00Z" }\ No newline at end of file
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "fusion360",   "displayName": "Autodesk Fusion 360",-  "version": "1.8.3",+  "version": "1.8.4",   "description": "Drive Autodesk Fusion 360 from the cloud: launch Fusion, electronics board layout, design rules, exports (STEP/IGES/STL/3MF/USDZ/OBJ/DXF/DWG/Gerbers/BOM/CPL), fast APS server-indexed cloud search plus browse/recent/file-info/versions, cloud file download/upload and folder creation, and in-app parametric modeling (fusion_run_modeling_script). Never-charge: APS calls are capped to the free tier.",   "homepage": "https://wiki.adom.inc/adom/adom-desktop-fusion-bridge",   "author": "Adom Inc.",
skills/fusion-driving/SKILL.md+17
@@ -61,6 +61,23 @@ background; only **synthetic input** (`send_key`/`click`), **whole-screen captur **initial launch** foreground Fusion. Reach for the API path first; fall back to input injection only when there is no API for it, and expect that to surface the window. +## Guard the active document with `expectDocument` (a tab-switch retargets your writes)++Every mutating verb acts on Fusion's **active document**, and a user switching tabs in Fusion+silently retargets it. A `fusion_run_modeling_script` meant for one design can land in another and+delete bodies out of it (a real near-miss, issue #289). So across a multi-step mutation, pass+**`expectDocument`** with the name you expect to be active:++```bash+adom-desktop fusion_run_modeling_script '{"script":"...","expectDocument":"Monitor arms v1"}'+```++If the active document is not that, the bridge refuses **before executing** and returns+`errorCode: "wrong_document"` with `expected`/`actual`, instead of mutating the wrong file. It is a+**name** check, so if the doc was renamed mid-session, pass the new name. Honoured on every mutating+verb: `run_modeling_script`, `execute_text_command`, `electron_run`, `close_document`,+`close_all_documents`, `import_step`, `set_parameter`, `save_to_cloud`, `delete_cloud_file`.+ ## Rule 1 - after EVERY mutating op, READ the popup array. Then analyze. Then proceed.  A mutating op = anything that changes Fusion's state: `fusion_run_modeling_script`,