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.27 (insiders): 0.2.27: parked-engine check before every agent bootstrap (the real silent-halt mechanism: the raising command answers, the NEXT verb blocked)
4 files changed
+6−3
CHANGELOG.md+3@@ -1,5 +1,8 @@ # Changelog +## 0.2.27 (2026-09-20)+- The silent-halt fix in 0.2.26 modelled the wrong moment and did not fire. What really happens (heartbeat: `requests: 1`, then nothing): a command raises an exception the agent's own Try/Except handles, the command ANSWERS normally, and THEN Altium's debugger parks the script on a breakpoint, on Altium Develop with no error box. The caller of that command sees nothing; the NEXT verb finds a dead agent, starts a second script into a parked engine and blocks until ab's HTTP timeout, and so does every verb after it. `agent::call` now checks before bootstrapping: agent dead + Altium running + the agent script in front = parked, so it sends `EditScript:Stop` first, restarts the agent, runs the verb, and marks the reply `enginePreviouslyParked:true` (also logged in `altium_dialog_log` as `engine_parked_cleared`). The in-flight title trigger from 0.2.26 is removed: the title alone cannot tell a halt from a long command.+ ## 0.2.26 (2026-09-20) Found by the new verb battery (`dev-skills/altium-bridge-test`), first full pass on Altium Designer Develop: - **Silent script halts are caught.** Altium Develop can stop the agent in its script debugger WITHOUT raising an error box (it did on `board_shape`): the box watcher from 0.2.21 saw nothing, the agent stayed dead, and ~30 verbs in a row queued behind it and timed out. Altium does give one tell: it pulls the agent's script document to the front. `agent::call` now treats "the main window flipped to `AdomAgent_*` while my command is in flight" as a halt after a 1.5 s grace for the box watcher: it photographs the editor, sends `EditScript:Stop` and returns `agent_script_error` with `silentHalt:true`.
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "altium-bridge",- "version": "0.2.26",+ "version": "0.2.27", "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.26+0.2.27
src/bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "altium", "displayName": "Altium Designer",- "version": "0.2.26",+ "version": "0.2.27", "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",