← Commit history

release 1.1.58

John Lauer ·bf3af7c6a9 ·1mo ago ·parent 48cee5d
6 files changed +10−4
README.md+4
@@ -63,6 +63,8 @@ Everything the CLI does is a plain HTTP call, so HD, HW, and any script can hit | fonts.set | `POST /fonts` `{editorFamily?, proseFamily?, proseCodeFamily?, editorSize?, terminalSize?, proseSize?, proseCodeSize?}` | Set any subset live | | exec | `POST /exec` `{command, cwd?, timeoutSec?}` | Buffered: run `bash -lc` as the workspace user, return `{exitCode, stdout, stderr, timedOut}`. HD-local only; cloud (hw) refuses with `exec_disabled_on_cloud` | | exec.stream | `POST /exec/stream` `{command, cwd?, timeoutSec?}` | Streaming: SSE events `start`, `stdout`, `stderr`, `exit {exitCode, timedOut}`. HD-local only, same policy |+| fs.write | `POST /fs/write` `{path, base64 \| text, mkdir?}` | Write a file as the workspace user, atomically (temp file plus rename); `path` is absolute under the home directory or relative to `~/project`. Returns `{ok, path, bytes}`. HD-local only, same policy as exec. Hydrogen Desktop lands screenshots and recordings through this instead of spawning wsl.exe |+| stats | `GET /stats` | Kernel counters in one read: memory (total, available, swap), cumulative CPU ticks, core count, the OOM-kill count, load average, uptime. Hydrogen Desktop's meter and its OOM notice read this instead of running a probe through wsl.exe | | queue.push | `POST /queue/push` `{topic?, type?, payload?, ttlSec?}` | Push an event for the frontend; returns `{id, depth}` | | queue.pull | `GET/POST /queue/pull` `{topic?, max?, peek?}` | Pull (consume) events; `peek` reads without consuming | | queue.status | `GET /queue/status` | Depth + per-topic counts |@@ -274,6 +276,8 @@ v1.1.20: /command returns errorCode command_not_found (HTTP 400) with did-you-me  v1.1.21: event-driven tab census + Claude session identity (John 2026-09-03: never poll the iframes again). GET /tabs and the SSE stream GET /tabs/events publish the extension host's own tabGroups census on every change; POST /claude/session-start ingests the Claude SessionStart hook (id + transcript path, before the jsonl is flushed) and GET /claude/sessions lists it; POST /claude/open-session opens an existing conversation by id and confirms the bind (retagging sdk-cli transcripts, which the Claude extension otherwise declines). Capability markers in /health: tabs.list, tabs.events, claude.open-session, claude.session-start, claude.sessions. +v1.1.58: POST /fs/write (atomic file write as the workspace user) and GET /stats (memory, CPU ticks, OOM-kill count, load) so Hydrogen Desktop never spawns wsl.exe to land a screenshot or read its meter (adom/hydrogen#50, #76). Capability markers fs.write and stats in the /health roster; fs.write is hidden on cloud containers like exec.+ v1.1.57: a slow first Claude open (cold start after an extension-host restart, ~30 s) is no longer reported as a failure: 60 s budgets on New AI thread end to end, a toast at 6 s saying it is still starting, a 30 s tab wait.  v1.1.56: the Codex warm-up no longer starts on its own (this extension also runs in Hydrogen Web, where recovery is not its business); Hydrogen Desktop asks for it with POST /codex/warm when a restarted extension host appears and its Recovery switch is on. The adom-vscode.codexWarmOnReload setting is gone.
VERSION+1−1
@@ -1 +1 @@-1.1.57+1.1.58
bin/adom-vscode
⋯ 1 unchanged line ⋯
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-vscode",-  "version": "1.1.57",+  "version": "1.1.58",   "type": "app",   "description": "CLI + VS Code extension that lets AI assistants and the Hydrogen Desktop frontend drive VS Code from inside an Adom container: open files, live get/set of any setting/theme/font (no reload), native streamed exec, a frontend event queue, container identity (hd/hw), api-key status/inject, extension query/update, modes, paste screenshots, and any VS Code command via a local HTTP API on port 8821 (with port-file fallback discovery).",   "license": "PROPRIETARY",
page.json+2−2
@@ -4,7 +4,7 @@   "slug": "adom-vscode",   "title": "adom-vscode",   "brief": "Let Claude, Codex and Kimi drive VS Code inside your Adom container",-  "version": "1.1.57",+  "version": "1.1.58",   "license": "PROPRIETARY",   "visibility": "public",   "hero": {@@ -141,4 +141,4 @@     "adom-vscode-extensions",     "adom-vscode-modes"   ]-}\ No newline at end of file+}
skills/adom-vscode-exec/SKILL.md+2
@@ -42,6 +42,8 @@ adom-vscode exec "uname -a" --json                   # buffered: waits, prints o ## HTTP  - `POST /exec {command, cwd?, timeoutSec?}` buffered.+- `POST /fs/write {path, base64 | text, mkdir?}` writes a file as the workspace user (atomic, parent directories created); the way to land bytes in the container without piping through a shell. Same HD-local policy as exec; `fs.write` appears in `/health` verbs when allowed.+- `GET /stats` returns kernel counters (memory, CPU ticks, OOM-kill count, load, uptime) in one read, for meters and health without a probe. - `POST /exec/stream {command, cwd?, timeoutSec?}` Server-Sent Events:   `start`, then `stdout` / `stderr` events (`data` is a JSON-encoded chunk),   then `exit {exitCode, timedOut}`. Closing the connection kills the child, so