← Commit history

fusion-lane: take the platform entries back out: generate.py only takes core, native, checks and app in proposals

Colby Knox ·762e85a51d ·8d ago ·parent 9898329
1 file changed −585
tools/proposed/fusion-lane.json−585
@@ -646,590 +646,5 @@    "altium-lane",    "kicad-lane"   ]- },- {-  "name": "aps_status",-  "tier": "platform",-  "summary": "APS state: configured, signed in, token live, never-charge meter. When configured:false the hint sends you to your org's shared app ID on the wiki (adom-wiki settings get <org> autodesk-aps) before anything else; the fusion-aps-org-setup skill covers new boxes and first-time orgs.",-  "input": {},-  "output": {-   "configured": "bool",-   "neverCharge": "bool",-   "signedIn": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": false,-  "timeoutSeconds": 20,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_signin",-  "tier": "platform",-  "summary": "Open the Autodesk sign-in in the REMEMBERED browser+profile (not the OS default); a background listener captures the token. Pass {exe,profileDir,name} to use+remember a specific browser, or {allowDefaultBrowser:true} to fall back to the OS default. If nothing is remembered, returns needsExtensionOpen so the caller opens authUrl in the user's real browser via nbrowser_open_window.",-  "input": {-   "allowDefaultBrowser": "optional bool",-   "exe": "optional str (browser binary to launch+remember)",-   "name": "optional str",-   "profileDir": "optional str (e.g. 'Default','Profile 2')"-  },-  "output": {-   "authUrl": "str",-   "needsExtensionOpen": "bool",-   "openedVia": "str",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": false,-  "timeoutSeconds": 30,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_set_client_id",-  "tier": "platform",-  "summary": "Set the org's APS (PKCE) client id used for cloud search. Get it from your org's members-only wiki settings: adom-wiki settings get <org> autodesk-aps (never from another machine's config file). When the org has none yet, the reply's hint gives the adom-wiki settings set command that shares it, so every other box adopts it in two calls (fusion-aps-org-setup skill). Public identifier, no secret.",-  "input": {-   "clientId": "required str"-  },-  "output": {-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "clientId": "D5nn...EPAq"-  },-  "longRunning": false,-  "timeoutSeconds": 20,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_browse",-  "tier": "platform",-  "summary": "Browse hubs/projects/folders without launching Fusion.",-  "input": {-   "folderId": "optional str",-   "hubId": "optional str",-   "projectId": "optional str"-  },-  "output": {-   "items": "[{name,type,id}]"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": false,-  "timeoutSeconds": 60,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_search",-  "tier": "platform",-  "summary": "Server-indexed search across the whole team hub: about 20-30 s hub-wide, a few seconds with projectId (not a 30-min folder walk). Budget 120 s. A ZERO from the server index is not absence: the reply then carries data.fallback (a name scan of the newest 400 items), data.completeness, and a hint to fusion_aps_browse a known sibling's folder (issue #85).",-  "input": {-   "hubId": "optional str",-   "limit": "optional int (default 50)",-   "projectId": "optional str",-   "query": "required str"-  },-  "output": {-   "count": "int",-   "results": "[{name,id,projectName,lastModified}]"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "limit": 10,-   "query": "Molecule"-  },-  "longRunning": false,-  "timeoutSeconds": 120,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_recent",-  "tier": "platform",-  "summary": "Most-recently-modified designs across the team hub, newest first.",-  "input": {-   "limit": "optional int (default 25)"-  },-  "output": {-   "count": "int",-   "results": "[...]"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "limit": 25-  },-  "longRunning": false,-  "timeoutSeconds": 120,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_file_info",-  "tier": "platform",-  "summary": "Version history + who/when/size for a file (tip + recent versions).",-  "input": {-   "query": "str  OR  projectId+urn"-  },-  "output": {-   "tip": "{...}",-   "versionCount": "int",-   "versions": "[...]"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "query": "BME690 Molecule"-  },-  "longRunning": false,-  "timeoutSeconds": 40,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_versions",-  "tier": "platform",-  "summary": "Full (uncapped) version history of a file.",-  "input": {-   "query": "str  OR  projectId+urn"-  },-  "output": {-   "versionCount": "int",-   "versions": "[...]"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "query": "BME690 Molecule"-  },-  "longRunning": false,-  "timeoutSeconds": 40,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_download",-  "tier": "platform",-  "summary": "Download a cloud file to the local machine (no Fusion needed).",-  "input": {-   "fileName": "optional str",-   "query": "str OR projectId+urn",-   "saveDir": "optional str"-  },-  "output": {-   "bytes": "int",-   "path": "str"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "query": "BME690 Molecule"-  },-  "longRunning": false,-  "timeoutSeconds": 90,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_upload",-  "tier": "platform",-  "summary": "Upload a local file as a NEW cloud file (free Data Management; needs data:write scope). ⛔ FOLDER HYGIENE: NEVER pass a project ROOT folderId - the bridge REFUSES it (refused_root_upload). Loose files in a shared root clutter the team's cloud. Create/choose a real subfolder first (fusion_aps_create_folder under an 'Adom AI Workspace' folder), or just use fusion_make_3d_package / fusion_build_library_3d which auto-target a non-root workspace. To RELOCATE an existing file, MOVE it (preserves its urn) - do NOT delete + re-upload (mints a new urn, breaks 3D bindings). See the fusion-cloud-hygiene skill.",-  "input": {-   "fileName": "optional str",-   "folderId": "required str (NON-ROOT subfolder)",-   "localPath": "required str",-   "projectId": "required str"-  },-  "output": {-   "bytes": "int",-   "itemUrn": "str"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "folderId": "urn:...",-   "localPath": "C:/x.f3d",-   "projectId": "a.YnVz..."-  },-  "longRunning": false,-  "timeoutSeconds": 90,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_create_folder",-  "tier": "platform",-  "summary": "Create a subfolder in a project (free; needs data:create scope). Use this to make an 'Adom AI Workspace' folder + per-task subfolders so the bridge never dumps loose files in the shared project root. See fusion-cloud-hygiene.",-  "input": {-   "name": "required str",-   "parentFolderId": "required str",-   "projectId": "required str"-  },-  "output": {-   "folderId": "str"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "name": "Adom AI Workspace",-   "parentFolderId": "urn:...",-   "projectId": "a.YnVz..."-  },-  "longRunning": false,-  "timeoutSeconds": 50,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "aps_open",-  "tier": "platform",-  "summary": "Find a cloud design by name and open it in Fusion (any folder depth). Fire-and-poll.",-  "input": {-   "query": "required str",-   "wait": "optional bool"-  },-  "output": {-   "match": "{name}",-   "opening": "bool",-   "statusVerb": "str"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "query": "BME690 Molecule"-  },-  "longRunning": true,-  "timeoutSeconds": 60,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "list_cloud_projects",-  "tier": "platform",-  "summary": "List the cloud PROJECTS visible to the signed-in Fusion session (hub walk - slow on big teams; prefer fusion_aps_search for finding files).",-  "input": {},-  "output": {-   "projects": "list",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": true,-  "timeoutSeconds": 120,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "list_cloud_files",-  "tier": "platform",-  "summary": "List files/folders in a cloud project (optionally a subfolder).",-  "input": {-   "folderPath": "optional str",-   "projectName": "optional str (defaults to active project)"-  },-  "output": {-   "files": "list",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "projectName": "Main"-  },-  "longRunning": true,-  "timeoutSeconds": 120,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "create_cloud_folder",-  "tier": "platform",-  "summary": "Create a subfolder in a cloud project through the signed-in Fusion session's Data API (no APS needed). Idempotent: an existing folder of that name is returned with alreadyExisted:true instead of a duplicate. Folder names are matched case-insensitively. For an APS-side create without Fusion running, use fusion_aps_create_folder.",-  "input": {-   "folderName": "required str",-   "parentPath": "optional str (parent folder path; default the project root)",-   "projectName": "optional str (default the active project)"-  },-  "output": {-   "alreadyExisted": "bool (only when it already existed)",-   "folderId": "str",-   "folderName": "str",-   "parentFolder": "str",-   "project": "str",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "folderName": "AI-Scratch",-   "projectName": "Main"-  },-  "longRunning": false,-  "timeoutSeconds": 60,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "delete_cloud_file",-  "tier": "platform",-  "summary": "DESTRUCTIVE: delete ONE cloud file through the signed-in Fusion session's Data API. Looks in exactly one folder (projectName + folderPath, no recursion) for an exact case-insensitive name match, or for the lineage urn when fileId is given (the precise form; prefer it in shared folders). Refuses without fileName or fileId. Large folders time out on the scan; give a precise folderPath. Use fusion_cleanup_cloud_files to delete a LIST of urns with dryRun support.",-  "input": {-   "fileId": "optional str (lineage urn for a precise delete; lineageUrn is accepted as an alias)",-   "fileName": "required str unless fileId is given (exact name match in one folder)",-   "folderPath": "optional str (default the project root)",-   "projectName": "optional str (default the active project)"-  },-  "output": {-   "fileId": "str",-   "fileName": "str",-   "folder": "str",-   "project": "str",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "fileName": "verbtest-scratch",-   "folderPath": "AI-Scratch",-   "projectName": "Main"-  },-  "longRunning": false,-  "timeoutSeconds": 60,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "cleanup_cloud_files",-  "tier": "platform",-  "summary": "PRECISELY delete a list of cloud files by lineage urn - SAFE cleanup of AI-created clutter. Deletes ONLY the exact fileIds given (never name-guessing), so it can't touch a teammate's file in a shared folder. Loops server-side. Get the ids from fusion_aps_browse (item .id). Use this to remove f3d files the bridge created. A big list takes minutes (relay may time out at ~60s while deletes continue server-side - re-browse to confirm).",-  "input": {-   "fileIds": "required [<lineage urn>]",-   "folderPath": "optional str (default root - where the files live)",-   "projectName": "optional str (default active project)"-  },-  "output": {-   "deletedCount": "int",-   "failed": "[{fileId,error}]",-   "failedCount": "int",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {-   "fileIds": [-    "urn:adsk.wipprod:dm.lineage:abc123"-   ],-   "projectName": "Adom"-  },-  "longRunning": true,-  "timeoutSeconds": 1800,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "managed_library_create",-  "tier": "platform",-  "summary": "Create a NEW managed library on library.io FROM the library in front (which must already be saved in a Fusion Hub). Drives MANAGE > LIBRARY.IO > Push, then completes Fusion's Create Managed Library dialog. PITFALL: a managed library created under one Autodesk account is NOT visible to another account until its managed FOLDER is shared on library.io - proven live, so do not assume hub membership shares it.",-  "input": {-   "description": "optional str",-   "name": "optional str (defaults to the library's own name)"-  },-  "output": {-   "alerts": "[...]",-   "library": "str",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": true,-  "timeoutSeconds": 240,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "managed_library_link",-  "tier": "platform",-  "summary": "Link the library IN FRONT to an existing managed library on library.io. With no name, opens Fusion's Select Managed Library picker, returns its rows as records (name/type/version/managedFolder/description) and CANCELS - a safe read-only listing of what this Autodesk account can reach. With name, selects that row and confirms. SAFETY: after linking, Fusion offers to force-update your library FROM the managed one; 'Replace Local Library' would destroy your parts, so this verb answers CANCEL by default - pass onUpdatePrompt to choose deliberately. A managed library owned by ANOTHER Autodesk account does NOT appear until its managed FOLDER is shared with this account on library.io; being in the same Fusion hub is not enough.",-  "input": {-   "name": "optional str (exact library name from the picker; omit to list read-only)",-   "onUpdatePrompt": "optional str cancel|merge|replace (default cancel; replace OVERWRITES the local library)"-  },-  "output": {-   "alerts": "[...]",-   "linkedTo": "str?",-   "listedOnly": "bool?",-   "managedLibraries": "[{name,type,version,managedFolder,description}]",-   "success": "bool",-   "updatePrompt": "obj?"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": true,-  "timeoutSeconds": 180,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "managed_library_push",-  "tier": "platform",-  "summary": "Push a NEW VERSION of the library in front up to its linked managed library on library.io. Clicking the menu item alone does NOT push: Fusion raises a CEF 'Create New Version' confirmation and THAT is what creates the version, so this verb completes it and fails with confirm_missing rather than reporting a false pass. On a library that is not linked yet, Fusion offers Create Managed Library instead and this reports not_linked_yet - use fusion_managed_library_create. NOTE: Library Manager keeps showing the IMPORTED version number after a push, so the row gains an update-available badge instead of incrementing.",-  "input": {-   "onConfirm": "optional str create|cancel (default create)"-  },-  "output": {-   "alerts": "[...]",-   "confirmed": "obj",-   "library": "str",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": true,-  "timeoutSeconds": 240,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "managed_library_pull",-  "tier": "platform",-  "summary": "Pull the newest version FROM library.io into the linked library in front. A pull ends in ONE of two CEF dialogs and BOTH block the add-in until answered: the force-update prompt when content differs (answered MERGE by default, since pull is an explicit request for the managed content - pass onUpdatePrompt:'replace' to overwrite local parts entirely, or 'cancel' to back out), or 'Up to Date' when already current. If neither appears, nothing was pulled and this reports failure rather than a false pass - Fusion greys Pull out on a library that was never linked.",-  "input": {-   "onUpdatePrompt": "optional str merge|replace|cancel (default merge)"-  },-  "output": {-   "alerts": "[...]",-   "library": "str",-   "success": "bool",-   "upToDate": "bool",-   "updatePrompt": "obj?"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": true,-  "timeoutSeconds": 240,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]- },- {-  "name": "managed_library_unlink",-  "tier": "platform",-  "summary": "Unlink the library in front from its managed library on library.io. Fusion greys this out on a library that was never linked, so a silent no-op there is expected.",-  "input": {},-  "output": {-   "alerts": "[...]",-   "library": "str",-   "success": "bool"-  },-  "hint": "Fusion's cloud (the Autodesk hub, library.io), the counterpart of Altium 365's a365_* verbs.",-  "pitfalls": [],-  "related": [],-  "example": {},-  "longRunning": true,-  "timeoutSeconds": 180,-  "proposedBy": "fusion-lane",-  "since": "0.30.14",-  "agreedBy": [-   "standard-lane"-  ]  } ]