← Commit history
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.13.21\ No newline at end of file+1.13.22\ 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.13.21",+  "version": "1.13.22",   "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/fusion-bridge",   "author": "Adom Inc.",
contracts/describe.json+278−2
@@ -1,6 +1,6 @@ {   "contract": "fusion-bridge verb catalog",-  "frozen": "2026-10-29",+  "frozen": "2026-10-30",   "note": "The Python bridge and the Rust bridge must both serve this catalog byte-for-byte in meaning: same names, same args, same result shapes, same timeouts. Regenerate ONLY from describe.py and diff in CI.",   "source": "describe.py",   "verbs": [@@ -3969,6 +3969,144 @@             ],             "type": "object"           },+          "cam_inspect": {+            "description": "Read the active document's CAM: setups, their operations' toolpath state, warnings and errors, and NC programs.",+            "properties": {},+            "required": [+              "op",+              "target"+            ],+            "type": "object"+          },+          "cam_job": {+            "description": "Make a milling job: a setup on the given bodies, then operations in order (strategy face, adaptive, contour, parallel, scallop, pocket_clearing or drill), each with a tool from Fusion's sample library chosen by type and diameter (nearest) and optional Fusion parameter overrides by name. Drill picks the bodies' holes of the drill's diameter unless holeFaces are given. Generates the toolpaths, reports every operation's warnings and errors and the machining time, and, with post, writes G-code through a post from Fusion's library (FANUC, Grbl, HAAS - Next Generation Control, ...). Opens the Manufacture workspace once if the document has no CAM yet, then returns to the user's workspace. Journaled.",+            "properties": {+              "bodies": {+                "items": {+                  "type": "object"+                },+                "maxItems": 32,+                "minItems": 1,+                "type": "array"+              },+              "name": {+                "type": "string"+              },+              "operationId": {+                "type": "string"+              },+              "operations": {+                "items": {+                  "additionalProperties": false,+                  "properties": {+                    "holeFaces": {+                      "items": {+                        "type": "object"+                      },+                      "maxItems": 512,+                      "type": "array"+                    },+                    "name": {+                      "type": "string"+                    },+                    "parameters": {+                      "type": "object"+                    },+                    "strategy": {+                      "enum": [+                        "face",+                        "adaptive",+                        "contour",+                        "parallel",+                        "scallop",+                        "pocket_clearing",+                        "drill"+                      ],+                      "type": "string"+                    },+                    "tool": {+                      "additionalProperties": false,+                      "properties": {+                        "diameterMm": {+                          "exclusiveMinimum": 0,+                          "maximum": 200,+                          "type": "number"+                        },+                        "type": {+                          "description": "Tool type as Fusion names it: flat end mill, ball end mill, bull nose end mill, drill, chamfer mill, ...",+                          "type": "string"+                        }+                      },+                      "type": "object"+                    }+                  },+                  "required": [+                    "strategy"+                  ],+                  "type": "object"+                },+                "maxItems": 32,+                "minItems": 1,+                "type": "array"+              },+              "post": {+                "additionalProperties": false,+                "properties": {+                  "folder": {+                    "type": "string"+                  },+                  "machine": {+                    "type": "string"+                  },+                  "program": {+                    "type": "string"+                  }+                },+                "required": [+                  "folder"+                ],+                "type": "object"+              },+              "timeoutSeconds": {+                "maximum": 3600,+                "minimum": 10,+                "type": "number"+              }+            },+            "required": [+              "op",+              "sessionId",+              "operationId",+              "target",+              "bodies",+              "operations"+            ],+            "type": "object"+          },+          "cam_tools": {+            "description": "List tools in Fusion's sample tool libraries (milling or hole making, metric), optionally of one type, with diameter in mm, so cam_job can name them.",+            "properties": {+              "library": {+                "enum": [+                  "milling",+                  "hole"+                ],+                "type": "string"+              },+              "limit": {+                "maximum": 500,+                "minimum": 1,+                "type": "integer"+              },+              "type": {+                "type": "string"+              }+            },+            "required": [+              "op"+            ],+            "type": "object"+          },           "component_create": {             "description": "Create a native internal component and its first occurrence in a Hybrid design. parent is a component definition; edits to it affect every instance. Returns a representative root-context occurrence and all affectedOccurrences when the parent definition is reused.",             "properties": {@@ -11310,7 +11448,7 @@         "op": "inspect"       },       "input": {-        "op": "required enum: inspect|inspect_entity|new_design|parameter_set|parameter_create|health|export|transaction_probe|sketch_create|sketch_geometry|sketch_constraint|sketch_dimension|sketch_project|sketch_edit|plane_create|feature_create|feature_edit|entity_delete|parameter_batch|component_create|occurrence_insert|occurrence_update|occurrence_delete|component_metadata|joint_create|joint_edit|joint_delete|interference|bom|bom_export|cad_import|mcmaster_discover|mcmaster_open|material_list|material_assign|rigid_group_create|rigid_group_edit|rigid_group_delete|assembly_properties|geometry_query|measure|sketch_curve_edit|sketch_offset|construction_axis|sketch_diagnostics|joint_origin_create|joint_origin_edit|joint_origin_delete|regular_joint_create|regular_joint_edit|motion_link_create|motion_link_edit|motion_link_delete|configuration_inspect|render_scene_inspect|exploded_view_plan|exploded_preview_create|exploded_preview_sample|exploded_preview_show|exploded_preview_dispose|exploded_preview_inspect|efficiency_report|exploded_view_render|render_image",+        "op": "required enum: inspect|inspect_entity|new_design|parameter_set|parameter_create|health|export|transaction_probe|sketch_create|sketch_geometry|sketch_constraint|sketch_dimension|sketch_project|sketch_edit|plane_create|feature_create|feature_edit|entity_delete|parameter_batch|component_create|occurrence_insert|occurrence_update|occurrence_delete|component_metadata|joint_create|joint_edit|joint_delete|interference|bom|bom_export|cad_import|mcmaster_discover|mcmaster_open|material_list|material_assign|rigid_group_create|rigid_group_edit|rigid_group_delete|assembly_properties|geometry_query|measure|sketch_curve_edit|sketch_offset|construction_axis|sketch_diagnostics|joint_origin_create|joint_origin_edit|joint_origin_delete|regular_joint_create|regular_joint_edit|motion_link_create|motion_link_edit|motion_link_delete|configuration_inspect|render_scene_inspect|exploded_view_plan|exploded_preview_create|exploded_preview_sample|exploded_preview_show|exploded_preview_dispose|exploded_preview_inspect|efficiency_report|exploded_view_render|render_image|cam_tools|cam_job|cam_inspect",         "operationId": "required unique write ID; reuse unchanged for retry",         "operationSchemas": {           "assembly_properties": {@@ -11526,6 +11664,144 @@             ],             "type": "object"           },+          "cam_inspect": {+            "description": "Read the active document's CAM: setups, their operations' toolpath state, warnings and errors, and NC programs.",+            "properties": {},+            "required": [+              "op",+              "target"+            ],+            "type": "object"+          },+          "cam_job": {+            "description": "Make a milling job: a setup on the given bodies, then operations in order (strategy face, adaptive, contour, parallel, scallop, pocket_clearing or drill), each with a tool from Fusion's sample library chosen by type and diameter (nearest) and optional Fusion parameter overrides by name. Drill picks the bodies' holes of the drill's diameter unless holeFaces are given. Generates the toolpaths, reports every operation's warnings and errors and the machining time, and, with post, writes G-code through a post from Fusion's library (FANUC, Grbl, HAAS - Next Generation Control, ...). Opens the Manufacture workspace once if the document has no CAM yet, then returns to the user's workspace. Journaled.",+            "properties": {+              "bodies": {+                "items": {+                  "type": "object"+                },+                "maxItems": 32,+                "minItems": 1,+                "type": "array"+              },+              "name": {+                "type": "string"+              },+              "operationId": {+                "type": "string"+              },+              "operations": {+                "items": {+                  "additionalProperties": false,+                  "properties": {+                    "holeFaces": {+                      "items": {+                        "type": "object"+                      },+                      "maxItems": 512,+                      "type": "array"+                    },+                    "name": {+                      "type": "string"+                    },+                    "parameters": {+                      "type": "object"+                    },+                    "strategy": {+                      "enum": [+                        "face",+                        "adaptive",+                        "contour",+                        "parallel",+                        "scallop",+                        "pocket_clearing",+                        "drill"+                      ],+                      "type": "string"+                    },+                    "tool": {+                      "additionalProperties": false,+                      "properties": {+                        "diameterMm": {+                          "exclusiveMinimum": 0,+                          "maximum": 200,+                          "type": "number"+                        },+                        "type": {+                          "description": "Tool type as Fusion names it: flat end mill, ball end mill, bull nose end mill, drill, chamfer mill, ...",+                          "type": "string"+                        }+                      },+                      "type": "object"+                    }+                  },+                  "required": [+                    "strategy"+                  ],+                  "type": "object"+                },+                "maxItems": 32,+                "minItems": 1,+                "type": "array"+              },+              "post": {+                "additionalProperties": false,+                "properties": {+                  "folder": {+                    "type": "string"+                  },+                  "machine": {+                    "type": "string"+                  },+                  "program": {+                    "type": "string"+                  }+                },+                "required": [+                  "folder"+                ],+                "type": "object"+              },+              "timeoutSeconds": {+                "maximum": 3600,+                "minimum": 10,+                "type": "number"+              }+            },+            "required": [+              "op",+              "sessionId",+              "operationId",+              "target",+              "bodies",+              "operations"+            ],+            "type": "object"+          },+          "cam_tools": {+            "description": "List tools in Fusion's sample tool libraries (milling or hole making, metric), optionally of one type, with diameter in mm, so cam_job can name them.",+            "properties": {+              "library": {+                "enum": [+                  "milling",+                  "hole"+                ],+                "type": "string"+              },+              "limit": {+                "maximum": 500,+                "minimum": 1,+                "type": "integer"+              },+              "type": {+                "type": "string"+              }+            },+            "required": [+              "op"+            ],+            "type": "object"+          },           "component_create": {             "description": "Create a native internal component and its first occurrence in a Hybrid design. parent is a component definition; edits to it affect every instance. Returns a representative root-context occurrence and all affectedOccurrences when the parent definition is reused.",             "properties": {
dashboard/Cargo.lock+1−1
@@ -4,7 +4,7 @@ version = 4  [[package]] name = "fusion-dashboard"-version = "1.13.21"+version = "1.13.22" dependencies = [  "serde_json", ]
dashboard/Cargo.toml+1−1
@@ -1,6 +1,6 @@ [package] name = "fusion-dashboard"-version = "1.13.21"+version = "1.13.22" edition = "2021"  [dependencies]
install.sh+1−1
@@ -21,7 +21,7 @@ echo "Installed fusion-bridge skills: $(ls "$PKG_DIR/skills" 2>/dev/null | tr '\ # binary (the three-artifact pattern: bridge zip -> ab, THIS pkg -> container skills + # this download, page media -> wiki). Per the wiki's PKG_VS_RELEASE policy, binaries are # platform-tagged RELEASE assets, never tarball content - the installer fetches them.-DASH_VERSION="1.13.21"+DASH_VERSION="1.13.22" DASH_URL="https://wiki.adom.inc/download/adom/fusion-bridge/${DASH_VERSION}/fusion-dashboard" DEST="" if [ -w /usr/local/bin ]; then DEST=/usr/local/bin
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "fusion-bridge",-  "version": "1.13.21",+  "version": "1.13.22",   "type": "app",   "description": "This package installs the bridge's SKILLS into your container so your AI knows how to drive it; Adom Bridge loads the bridge runtime itself from the release zip.",   "dependencies": {
page.json+2−2
@@ -1,6 +1,6 @@ {   "slug": "fusion-bridge",-  "version": "1.13.21",+  "version": "1.13.22",   "type": "app",   "description": "This package installs the bridge's SKILLS into your container so your AI knows how to drive it; Adom Bridge loads the bridge runtime itself from the release zip.",   "dependencies": {@@ -152,4 +152,4 @@   "confirmed_user_skills": [     "fusion-design-efficiency"   ]-}\ No newline at end of file+}
rust/Cargo.lock+5−5
@@ -19,7 +19,7 @@ dependencies = [  [[package]] name = "adom-fusion-bridge"-version = "1.13.21"+version = "1.13.22" dependencies = [  "adom-eda-checks",  "base64",@@ -299,7 +299,7 @@ dependencies = [  [[package]] name = "fusion-core"-version = "1.13.21"+version = "1.13.22" dependencies = [  "serde",  "serde_json",@@ -310,7 +310,7 @@ dependencies = [  [[package]] name = "fusion-lbr"-version = "1.13.21"+version = "1.13.22" dependencies = [  "regex",  "roxmltree",@@ -322,14 +322,14 @@ dependencies = [  [[package]] name = "fusion-os-mac"-version = "1.13.21"+version = "1.13.22" dependencies = [  "fusion-core", ]  [[package]] name = "fusion-os-win"-version = "1.13.21"+version = "1.13.22" dependencies = [  "fusion-core",  "windows-sys 0.59.0",
rust/Cargo.toml+1−1
@@ -4,7 +4,7 @@ members = ["core", "lbr", "os-win", "os-mac", "bridge"]  # One version for the whole bridge, in lockstep with BRIDGE_VERSION (tools/release.sh bumps both). [workspace.package]-version = "1.13.21"+version = "1.13.22" edition = "2021" license = "MIT"