app
adom-vscode
Public Made by Adomby adom
Let Claude, Codex and Kimi drive VS Code inside your Adom container
← Commit history
release 1.1.72
10 files changed
+20−4
README.md+2@@ -276,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.72: the widget helper serves /preview?w=&h= for clean docs screenshots of a widget at slot size.+ v1.1.71: widget pages tell Hydrogen the width they need in the current layout (narrow when tall, wide when compact); the widgets page explains shipping several widgets from one repo. v1.1.70: the usage widgets describe themselves for Hydrogen's hover card (about, refresh fields in the manifest).
VERSION+1−1@@ -1 +1 @@-1.1.71+1.1.72
bin/adom-vscode⋯ 1 unchanged line ⋯
bin/hydrogen-widget-claude-usagebin/hydrogen-widget-codex-usagebin/hydrogen-widget-lib.py+14@@ -84,6 +84,20 @@ def serve(title, data_fn, render_js, refresh_ms=60000, mark=None): self.send_header('access-control-allow-origin', '*'); self.end_headers(); self.wfile.write(body) def do_GET(self): if self.path.startswith('/data.json'): self._send(200, 'application/json', json.dumps(data()).encode())+ elif self.path.startswith('/preview'):+ # /preview?w=175&h=38 : this widget's own page in a frame of exactly that size, offset+ # from the corner, so a browser screenshot of the frame (at any device scale) is a+ # clean, crisp picture for docs. The Hydrogen slot never uses this; it is for humans.+ from urllib.parse import urlparse, parse_qs+ q = parse_qs(urlparse(self.path).query)+ try: w = int(q.get('w', ['175'])[0]); h = int(q.get('h', ['38'])[0])+ except ValueError: w, h = 175, 38+ w = max(48, min(640, w)); h = max(16, min(120, h))+ page = ('<!doctype html><meta charset="utf-8"><title>%s preview</title>'+ '<body style="margin:0;background:#0f1419"><div style="padding:150px 0 40px 40px">'+ '<iframe id="w" src="/" style="width:%dpx;height:%dpx;border:1px solid #2c323a;border-radius:6px;background:#1c2128;display:block"></iframe>'+ '</div></body>') % (title, w, h)+ self._send(200, 'text/html; charset=utf-8', page.encode()) elif self.path.startswith('/health'): self._send(200, 'application/json', b'{"ok":true}') else: self._send(200, 'text/html; charset=utf-8', (PAGE % {'title': title, 'refresh_ms': refresh_ms, 'render_js': render_js, 'mark_svg': ('<svg viewBox="0 0 16 16">' + mark['svg'] + '</svg>') if mark['svg'] else '', 'mark_color': mark['color']}).encode()) # Bind with retries: a previous instance Hydrogen just stopped may still be releasing the
bin/hydrogen-widget-marks.pyinstall.shpackage.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-vscode",- "version": "1.1.71",+ "version": "1.1.72", "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.71",+ "version": "1.1.72", "license": "PROPRIETARY", "visibility": "public", "hero": {@@ -141,4 +141,4 @@ "adom-vscode-extensions", "adom-vscode-modes" ]-}+}