app
Altium - the Altium Bridge
Public Made by Adomby adom
Adom Bridge for Altium Designer: a resident DelphiScript agent gives the AI eval, the 1,100-command process launcher, all 8 EDA surfaces with screenshots, compile/ERC, DRC, OutJob outputs, native SchLib/PcbLib authoring with STEP 3D bodies, and dialog handling by PID.
← Commit history
v0.2.33 (insiders): 0.2.33: all 122 verbs documented for the AI (hint, related, pitfalls, example) with a test that enforces it; dismiss_dialogs honours hwnd; sweeps and recover never answer a save prompt
4 files changed
+7−3
CHANGELOG.md+4@@ -1,5 +1,9 @@ # Changelog +## 0.2.33 (2026-09-21)+- **Every verb is documented for the AI: 122 of 122** have a catalog entry with summary, input, output, hint (the next call), related verbs, pitfalls and an example (98 had none). Each was written from its handler and its agent command. A unit test now fails the build if a verb is undocumented, documented twice, or names a related verb that does not exist. `describe.facts` lists the error codes added this week.+- **Two dialog verbs could answer questions nobody asked them.** `altium_dismiss_dialogs {hwnd, button}` IGNORED `hwnd` and pressed the button on every dialog, save prompts included, although every hint in the bridge tells callers to pass `{hwnd, button}`; it now presses that one dialog. A sweep (no `hwnd`) skips save prompts and any dialog with more than one button. `recover` pressed OK on every dialog it found, and `agent::call` runs it automatically; it now touches only the lone-OK script error box.+ ## 0.2.32 (2026-09-21) - **`altium_agent_recover` actually recovers, and says the truth.** It sent `EditScript:Stop` and answered success without checking. That process only acts when a SCRIPT document is the active document: with a board in front it was a silent no-op, the script stayed on its breakpoint, `altium_selftest_script_error` reported `halted_and_recovered` for an engine that was never freed, and Altium then refused to close (AD 26.10.1; it had only ever worked where the script happened to be in front). Recover now brings each agent script in the workspace to the front (`WorkspaceManager:OpenObject`) and stops it there, warns if a hand-off started a second Altium, and VERIFIES by starting a fresh agent loop: `engineFree:true`, or `errorCode: engine_still_parked` with what to do. - `altium_close` frees a parked script engine before and during the close (Altium refuses to close "when a script is stopped on a breakpoint"), without starting a new agent loop.
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "altium-bridge",- "version": "0.2.32",+ "version": "0.2.33", "type": "app", "description": "Skills for your container so your AI knows how to drive the Altium Designer bridge (altium_* verbs). The bridge runtime itself is the release zip; Adom Bridge loads that.", "tags": [
src/BRIDGE_VERSION+1−1@@ -1 +1 @@-0.2.32+0.2.33
src/bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "altium", "displayName": "Altium Designer",- "version": "0.2.32",+ "version": "0.2.33", "description": "Drive Altium Designer from Adom: a resident DelphiScript agent (eval + the 1,100-command process launcher), the X2 -R command line, UIA over the VCL shell, dialogs by PID, screenshots of every Altium window, and Altium 365.", "homepage": "https://wiki.adom.inc/adom/altium-bridge", "docs": "https://wiki.adom.inc/adom/altium-bridge",