← Commit history

Publish 0.3.21

John Lauer ·fc23118bae · ·parent 60d8338
4 files changed +30−4
package.json+1−1
@@ -4,7 +4,7 @@   "type": "bootstrap",   "title": "Adom Hydrogen (Windows / WSL2)",   "brief": "The Windows (WSL2) platform layer for Hydrogen.",-  "version": "0.3.20",+  "version": "0.3.21",   "description": "The Windows platform layer for Hydrogen, where the workspace runs in a WSL2 Ubuntu distro. Depends on adom/hydrogen-bootstrap (the platform-generic layer, which bundles the generic hydrogen-* skills) and adds everything specific to the WSL2 runtime: the WSL2/networking/lifecycle hydrogen-* skills (BUNDLED here by design, John+Kyle 2026-07-16) and the WSL2 code-server workbench seed. Sibling adom/hydrogen-mac-bootstrap carries the parallel mac skills. This is the package the golden WSL2 image installs.",   "org": "adom",   "tags": [
page.json+1−1
@@ -4,7 +4,7 @@   "slug": "hydrogen-windows-bootstrap",   "title": "Adom Hydrogen (Windows / WSL2)",   "brief": "The Windows (WSL2) platform layer for Hydrogen.",-  "version": "0.3.20",+  "version": "0.3.21",   "author": {     "name": "John Lauer",     "email": "[email protected]"
skills/hydrogen-ai-threads-api/SKILL.md+25
@@ -137,6 +137,31 @@ running that AI's full CLI. TUI threads are FIRST-CLASS rows in the tree (marked processes?" dialog). Delivery endpoints (`run-prompt`, `inject`) do not type into TUIs; drive a TUI conversation in its terminal. +## The AI picker: what happens when you do not name the AI (1.0.213)++`POST /ai-threads/new` and `POST /ai-threads/run-prompt {new:true}` take an optional `type`+(`claude` | `codex` | `kimi`). Name it and that AI opens, no questions. Leave it out and the+USER decides: a picker dialog appears in the shell (the same idea as the Browser Picker) with+a 5 second countdown to their default AI, keys 1/2/3, Enter, Escape, and a "remember for this+app" checkbox keyed on the thread's `app:` tag. This is what a dashboard's "Send to AI" hits,+so the human chooses where their phrase goes and can switch from Claude to Codex before the+countdown fires.++What that means for you as a caller:+- No answer within 45 s, or the user's setting `ai_picker: "never"`: the default AI is used+  and the call proceeds as before. You are never stranded.+- The user cancels: the call returns `{ok:false, cancelled:true}` and nothing was opened or+  delivered. Do not retry in a loop; either pass `type` or tell the user.+- A Codex or Kimi pick with a prompt: the thread opens through that AI's own command, the+  fresh tab is found in the census (type matches, no sid yet) and the prompt is typed in; the+  answer carries `tid`, `inject`, and `delivered:false` with a reason when the tab never+  surfaced (then `POST /ai-threads/inject {tid, text}` once `GET /ai-threads` lists it).+- To open silently from a thread, pass `type`. The picker is for humans; an AI that wants a+  Codex thread says so.++`POST /ai-threads/settings {ai_picker: "ask"|"never", default_ai: "claude"|"codex"|"kimi"}`+controls both halves; the AI threads panel's settings expose the same two switches.+ ## See what is open  ```bash
skills/hydrogen-api/SKILL.md+3−2
@@ -419,7 +419,7 @@ POST /setup/step/<id>  <!-- BEGIN GENERATED ROUTE INDEX --> -Every route the router exposes, 286 across 21 categories, grouped the+Every route the router exposes, 287 across 21 categories, grouped the way the API Explorer groups them. Generated from the same table `/_manifest` serves, so it cannot drift from the code; `scripts/check-manifest-fresh.sh` fails the build if it does. @@ -427,7 +427,7 @@ cannot drift from the code; `scripts/check-manifest-fresh.sh` fails the build if description, and a `safety` flag (`destructive` / `disruptive`) that this flat index does not. **Read a route's safety from `/_manifest` before calling it, not from this list.** -**AI Threads** (37)+**AI Threads** (38)  - `GET /ai-threads` - `POST /ai-threads/activate`@@ -447,6 +447,7 @@ description, and a `safety` flag (`destructive` / `disruptive`) that this flat i - `GET /ai-threads/names` - `POST /ai-threads/new` - `POST /ai-threads/new-tui`+- `POST /ai-threads/pick` - `GET /ai-threads/prompts` - `POST /ai-threads/rename` - `POST /ai-threads/reorder`