antechamber 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +85 -61
- package/dist/session-store.js +5 -3
- package/extensions/omo-compat/package.json +1 -1
- package/extensions/omo-dag/README.md +4 -0
- package/extensions/omo-dag/package.json +1 -1
- package/extensions/omo-work/README.md +2 -1
- package/extensions/omo-work/docs/DESIGN.md +117 -0
- package/extensions/omo-work/package.json +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,10 +7,20 @@ and this project uses [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.0.7] - 2026-10-20
|
|
11
|
+
|
|
12
|
+
- fix(session): defer registry snapshots for cached lookups (#54)
|
|
13
|
+
|
|
14
|
+
## [1.0.6] - 2026-10-20
|
|
15
|
+
|
|
16
|
+
- docs: integrate the OmO Work extension across the docs (#55)
|
|
17
|
+
|
|
10
18
|
## [1.0.5] - 2026-10-20
|
|
11
19
|
|
|
12
20
|
### Fixed
|
|
13
21
|
|
|
22
|
+
- Avoid copying the entire session registry for cached session lookups, preventing session lists
|
|
23
|
+
from blocking transcript loading after startup.
|
|
14
24
|
- Reduce startup CPU usage and boot delays for large session histories by committing restoration metadata
|
|
15
25
|
in one registry write, while preserving restored costs, child sessions and independent registry writers.
|
|
16
26
|
|
package/README.md
CHANGED
|
@@ -27,7 +27,8 @@ an **external OpenCode server** and sessions run on OmO.
|
|
|
27
27
|
- Tool calls rendered as native OpenChamber tool parts (bash, write, edit,
|
|
28
28
|
and so on), including subagent/task cards.
|
|
29
29
|
- Approvals and questions bridged through pi's extension-UI protocol.
|
|
30
|
-
- Todo list bridging from pi/OmO's todo tool to OpenChamber's task panel
|
|
30
|
+
- Todo list bridging from pi/OmO's todo tool to OpenChamber's task panel
|
|
31
|
+
(OpenChamber 1.x; on 2.x, the OmO Work section shows it by phase).
|
|
31
32
|
- Fork, revert, and unrevert backed by the agent's session tree, not a
|
|
32
33
|
filesystem snapshot. Reverting changes conversation context only; it never
|
|
33
34
|
touches files on disk.
|
|
@@ -37,12 +38,10 @@ an **external OpenCode server** and sessions run on OmO.
|
|
|
37
38
|
ownership tracking for detached task-host processes it spawned.
|
|
38
39
|
- Idle reaping and a live-process cap (`ANTECHAMBER_MAX_LIVE`) so long-running
|
|
39
40
|
deployments don't accumulate agent processes.
|
|
40
|
-
-
|
|
41
|
-
sub-agents behind the open session as a live, clickable graph
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
session's todo phases, monitors, eval cells and background work (see
|
|
45
|
-
[OmO Work](#openchamber-extension-omo-work)).
|
|
41
|
+
- Optional [OpenChamber extensions](#openchamber-extensions): **OmO Graph**
|
|
42
|
+
draws the OmO sub-agents behind the open session as a live, clickable graph,
|
|
43
|
+
and **OmO Work** (OpenChamber 2.x) shows the session's todo phases,
|
|
44
|
+
monitors, eval cells and other background work in the Work Status panel.
|
|
46
45
|
|
|
47
46
|
## Supported backends
|
|
48
47
|
|
|
@@ -93,11 +92,13 @@ skips the check. It needs a global npm or bun install, so it is refused for
|
|
|
93
92
|
source checkouts and `npx`. Drop the flag (plain `antechamber setup`) to point
|
|
94
93
|
OpenChamber back at the `antechamber` bin and stop auto-updates.
|
|
95
94
|
|
|
96
|
-
Optionally, add the bundled [
|
|
97
|
-
`setup` ends by printing
|
|
98
|
-
|
|
99
|
-
**Settings → Extensions → Add → Folder**, paste
|
|
100
|
-
permissions it asks for.
|
|
95
|
+
Optionally, add the bundled [OpenChamber extensions](#openchamber-extensions):
|
|
96
|
+
`setup` ends by printing their folders (under
|
|
97
|
+
`$(npm root -g)/antechamber/extensions/`). In OpenChamber, open
|
|
98
|
+
**Settings → Extensions → Add → Folder**, paste a path, and approve the
|
|
99
|
+
permissions it asks for. On OpenChamber 2.x, add OmO Work to see monitors,
|
|
100
|
+
eval cells and the todo list in the Work Status panel. The folders are updated
|
|
101
|
+
in place by `npm update -g`.
|
|
101
102
|
|
|
102
103
|
For an isolated OpenChamber instance, leaving your main settings untouched:
|
|
103
104
|
|
|
@@ -205,67 +206,88 @@ node dist/cli.js setup --profile ~/.config/antechamber-openchamber \
|
|
|
205
206
|
The source launcher requires the built `dist/cli.js`. Pull updates, run
|
|
206
207
|
`npm ci && npm run build`, and restart OpenChamber.
|
|
207
208
|
|
|
208
|
-
`npm run build` also builds the OmO Graph
|
|
209
|
-
(`$PWD/extensions/omo-dag`) to
|
|
209
|
+
`npm run build` also builds the OmO Graph and OmO Work extensions; `setup`
|
|
210
|
+
prints their folders (`$PWD/extensions/omo-dag`, `$PWD/extensions/omo-work`) to
|
|
211
|
+
add in **Settings → Extensions → Add → Folder**.
|
|
210
212
|
|
|
211
|
-
## OpenChamber
|
|
213
|
+
## OpenChamber extensions
|
|
212
214
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
215
|
+
antechamber ships three optional OpenChamber extensions, in the npm package and
|
|
216
|
+
attached to every GitHub release. None is required to run sessions.
|
|
217
|
+
|
|
218
|
+
| Extension | Adds | OpenChamber | Asks for |
|
|
219
|
+
|---|---|---|---|
|
|
220
|
+
| [OmO Graph](#omo-graph) (`extensions/omo-dag`) | a rail panel drawing the session's OmO sub-agents as a live graph | 1.22 or newer | sessions, local service |
|
|
221
|
+
| [OmO Work](#omo-work) (`extensions/omo-work`) | a Work Status section with the session's todo phases, monitors, eval cells, background sessions and goal timer | 2.3.2 or newer | local service |
|
|
222
|
+
| [OmO Compatibility](#omo-compatibility) (`extensions/omo-compat`) | headers for OmO tool cards, such as `JS Eval` on eval cells | 1.24 or newer | nothing |
|
|
223
|
+
|
|
224
|
+
All three run on OpenChamber web and desktop; VS Code and mobile load no
|
|
225
|
+
extensions.
|
|
226
|
+
|
|
227
|
+
### Installing an extension
|
|
228
|
+
|
|
229
|
+
In OpenChamber, open **Settings → Extensions → Add** and pick the source that
|
|
230
|
+
fits where OpenChamber runs:
|
|
231
|
+
|
|
232
|
+
| OpenChamber runs | Add | OmO Graph | OmO Work | OmO Compatibility |
|
|
233
|
+
|---|---|---|---|---|
|
|
234
|
+
| anywhere (recommended) | **URL** (Git) | `https://github.com/eliottness/antechamber#extension/omo-graph` | `…#extension/omo-work` | `…#extension/omo-compat` |
|
|
235
|
+
| on the machine where antechamber is installed | **Folder** | `extensions/omo-dag` | `extensions/omo-work` | `extensions/omo-compat` |
|
|
236
|
+
| anywhere, offline | **ZIP file** | `antechamber-omo-graph.zip` | `antechamber-omo-work.zip` | `antechamber-omo-compat.zip` |
|
|
237
|
+
|
|
238
|
+
- **URL**: a Git install from the branch every release publishes. OpenChamber
|
|
239
|
+
offers to update it after each release. Keep the `#extension/...` part: the
|
|
240
|
+
bare repository URL makes OpenChamber clone antechamber itself, whose
|
|
241
|
+
`package.json` is not an extension, and OpenChamber words that rejection as
|
|
242
|
+
"panel.id must be kebab-case".
|
|
243
|
+
- **Folder**: the paths `antechamber setup` prints, under
|
|
244
|
+
`$(npm root -g)/antechamber/` for npm installs or the checkout after
|
|
245
|
+
`npm run build`.
|
|
246
|
+
- **ZIP file**: attached to every GitHub release, or built with
|
|
247
|
+
`npm run build && npm run pack:extension -- antechamber-omo-graph.zip` (OmO
|
|
248
|
+
Graph) or `npm run pack:work-extension -- antechamber-omo-work.zip` (OmO
|
|
249
|
+
Work). OpenChamber never updates ZIP installs.
|
|
250
|
+
|
|
251
|
+
Then approve the permissions it asks for. See
|
|
252
|
+
[Upgrading the OpenChamber extensions](#upgrading-the-openchamber-extensions)
|
|
253
|
+
for how each source moves to a new release.
|
|
254
|
+
|
|
255
|
+
### OmO Graph
|
|
256
|
+
|
|
257
|
+
With the default OmO backend, OmO Graph adds a rail panel showing the open
|
|
258
|
+
session's orchestrator and every sub-agent OmO launched, grouped in waves:
|
|
217
259
|
|
|
218
260
|
- each card shows the sub-agent's live state, duration, agent and model;
|
|
219
261
|
- hovering a card highlights its input and output edges;
|
|
220
262
|
- clicking a card opens that sub-agent's session.
|
|
221
263
|
|
|
222
|
-
|
|
223
|
-
|
|
264
|
+
Its local service reads OmO's task store and antechamber's session registry
|
|
265
|
+
read-only. Details: [extensions/omo-dag/README.md](extensions/omo-dag/README.md).
|
|
224
266
|
|
|
225
|
-
|
|
226
|
-
source fits where OpenChamber runs:
|
|
267
|
+
### OmO Work
|
|
227
268
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
the
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
`extensions/omo-work` adds an **OmO Work** section to OpenChamber 2.x's Work
|
|
244
|
-
Status panel (OpenChamber 2.3.2 or newer; 1.x has no extension sections). For
|
|
245
|
-
the open session it shows the OmO todo list grouped by phase, terminal
|
|
246
|
-
monitors with their matched lines, detached eval cells with their output and a
|
|
247
|
-
Stop button, background terminal sessions, and the goal continuation timer
|
|
248
|
-
with a Fire now button. On 2.x, monitors appear here instead of as subagent
|
|
249
|
-
sessions.
|
|
250
|
-
|
|
251
|
-
Add it like OmO Graph: the folder `antechamber setup` prints
|
|
252
|
-
(`.../extensions/omo-work`, built by `npm run build`), or the URL
|
|
253
|
-
`https://github.com/eliottness/antechamber#extension/omo-work`.
|
|
254
|
-
Approve its local service. It needs an antechamber version that writes a
|
|
255
|
-
work-status token into its run record (this release or newer) and an
|
|
256
|
-
OpenChamber restart after upgrading. Details:
|
|
269
|
+
OmO Work adds an **OmO Work** section to OpenChamber 2.x's Work Status panel,
|
|
270
|
+
for the background work of the open session:
|
|
271
|
+
|
|
272
|
+
- the OmO todo list grouped by phase, with progress per phase;
|
|
273
|
+
- terminal monitors, with their command, filter and latest matched lines (on
|
|
274
|
+
2.x, monitors appear here instead of as subagent sessions);
|
|
275
|
+
- detached eval cells, with their output and a **Stop** button;
|
|
276
|
+
- background terminal sessions that are still running;
|
|
277
|
+
- the goal continuation timer, what it waits on, and a **Fire now** button.
|
|
278
|
+
|
|
279
|
+
Its local service talks to the running antechamber through the
|
|
280
|
+
`/antechamber/work-status` routes, authenticated by a token antechamber writes
|
|
281
|
+
into its private run record, so it never needs the server password. It needs
|
|
282
|
+
antechamber running on the same machine as OpenChamber. Details:
|
|
257
283
|
[extensions/omo-work/README.md](extensions/omo-work/README.md).
|
|
258
284
|
|
|
259
|
-
|
|
285
|
+
### OmO Compatibility
|
|
260
286
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
folder `antechamber setup` prints (`.../extensions/omo-compat`, no build
|
|
266
|
-
needed), or the URL
|
|
267
|
-
`https://github.com/eliottness/antechamber#extension/omo-compat`.
|
|
268
|
-
It asks for no permissions. Details:
|
|
287
|
+
OmO Compatibility is a manifest with no code. It tells OpenChamber how to
|
|
288
|
+
display OmO tool calls that antechamber maps onto OpenChamber's cards; today
|
|
289
|
+
it heads eval cells with `JS Eval` or `Python Eval` and the cell's summary. It
|
|
290
|
+
needs no build. Details:
|
|
269
291
|
[extensions/omo-compat/README.md](extensions/omo-compat/README.md).
|
|
270
292
|
|
|
271
293
|
## Upgrading the OpenChamber extensions
|
|
@@ -377,6 +399,8 @@ provenance and creates the GitHub release from the CHANGELOG. See
|
|
|
377
399
|
- [RELEASE.md](RELEASE.md) - automatic patch releases to npm and GitHub on every push to `main`
|
|
378
400
|
|
|
379
401
|
- [extensions/omo-dag/README.md](extensions/omo-dag/README.md) - the OmO Graph OpenChamber extension ([design](extensions/omo-dag/docs/DESIGN.md))
|
|
402
|
+
- [extensions/omo-work/README.md](extensions/omo-work/README.md) - the OmO Work status section for OpenChamber 2.x ([design](extensions/omo-work/docs/DESIGN.md))
|
|
403
|
+
- [extensions/omo-compat/README.md](extensions/omo-compat/README.md) - the OmO Compatibility display rules
|
|
380
404
|
|
|
381
405
|
## Credits
|
|
382
406
|
|
package/dist/session-store.js
CHANGED
|
@@ -385,8 +385,10 @@ export class SessionStore {
|
|
|
385
385
|
this.file = join(dir, "sessions.json");
|
|
386
386
|
}
|
|
387
387
|
load() {
|
|
388
|
-
if (this.batchState !== undefined)
|
|
388
|
+
if (this.batchState !== undefined) {
|
|
389
|
+
this.batchState.entries ??= structuredClone((this.entries ??= this.readEntries()));
|
|
389
390
|
return this.batchState.entries;
|
|
391
|
+
}
|
|
390
392
|
if (this.entries !== undefined)
|
|
391
393
|
return this.entries;
|
|
392
394
|
this.entries = this.readEntries();
|
|
@@ -457,7 +459,7 @@ export class SessionStore {
|
|
|
457
459
|
mutate(change) {
|
|
458
460
|
if (this.batchState !== undefined) {
|
|
459
461
|
this.batchState.changes.push(change);
|
|
460
|
-
change(this.
|
|
462
|
+
change(this.load());
|
|
461
463
|
return;
|
|
462
464
|
}
|
|
463
465
|
this.withRegistryLock(() => {
|
|
@@ -472,7 +474,7 @@ export class SessionStore {
|
|
|
472
474
|
if (this.batchState !== undefined)
|
|
473
475
|
return action();
|
|
474
476
|
const changes = [];
|
|
475
|
-
const batch = { entries:
|
|
477
|
+
const batch = { entries: undefined, changes };
|
|
476
478
|
this.batchState = batch;
|
|
477
479
|
try {
|
|
478
480
|
const result = action();
|
|
@@ -31,6 +31,10 @@ sessions on OmO.
|
|
|
31
31
|
The panel docks in the right rail. The same page is also available full
|
|
32
32
|
screen from the sidebar's Extension pages menu.
|
|
33
33
|
|
|
34
|
+
On OpenChamber 2.x, the bundled [OmO Work](../omo-work/README.md) section
|
|
35
|
+
complements the graph with the session's todo phases, monitors, eval cells and
|
|
36
|
+
other background work.
|
|
37
|
+
|
|
34
38
|
## Requirements
|
|
35
39
|
|
|
36
40
|
- OpenChamber **1.22 or newer**, on web or desktop. It is verified against
|
|
@@ -64,7 +64,8 @@ section (sandboxed iframe) --serviceRequest /status?session=ses_...--> OpenChamb
|
|
|
64
64
|
`antechamber serve` writes `<state dir>/run/<pid>.json` (mode 0600) with its
|
|
65
65
|
URL and a random token that opens only the `/antechamber/work-status` routes. The service
|
|
66
66
|
picks the running server whose agent holds the session and relays the snapshot
|
|
67
|
-
and the Stop and Fire now actions. It keeps no state. See
|
|
67
|
+
and the Stop and Fire now actions. It keeps no state. See [docs/DESIGN.md](docs/DESIGN.md) for the snapshot, refresh,
|
|
68
|
+
server choice and security boundary, and
|
|
68
69
|
[docs/architecture.md](../../docs/architecture.md#omo-work-status-section) for
|
|
69
70
|
where each piece of data comes from in OmO.
|
|
70
71
|
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# OmO Work: design
|
|
2
|
+
|
|
3
|
+
OmO Work is an OpenChamber 2.x Work Status section for the background work of
|
|
4
|
+
the open session. This document covers its parts, its data, its security
|
|
5
|
+
boundary and its limits. Where each field comes from in OmO is documented in
|
|
6
|
+
[docs/architecture.md](../../../docs/architecture.md#omo-work-status-section).
|
|
7
|
+
|
|
8
|
+
## Parts
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
OpenChamber Work Status panel
|
|
12
|
+
└─ section frame (status/index.html + status/main.js, sandboxed iframe)
|
|
13
|
+
│ host.serviceRequest GET /status, GET /eval, POST /eval/stop, POST /goal/fire
|
|
14
|
+
▼
|
|
15
|
+
OpenChamber host ── loopback + OPENCHAMBER_SERVICE_TOKEN ──▶ service/main.js (Node, on the host)
|
|
16
|
+
│ reads <state dir>/run/<pid>.json
|
|
17
|
+
│ Bearer <run token>
|
|
18
|
+
▼
|
|
19
|
+
antechamber /antechamber/work-status/<session>[...]
|
|
20
|
+
│ snapshot from its bridges,
|
|
21
|
+
▼ eval_cells.* / goal RPC to OmO
|
|
22
|
+
omo --mode rpc
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- **Manifest**: `contributes.statusSection` with its own entry, a host
|
|
26
|
+
`service`, and a `panel` block with no entry. OpenChamber 2.x's manifest
|
|
27
|
+
parser requires a `panel` object, but without `panel.entry` there is no rail
|
|
28
|
+
icon or panel; the section is the only surface.
|
|
29
|
+
- **Frame** (`src/status.ts`, `src/view.ts`): renders the snapshot. It follows
|
|
30
|
+
the open session through `host.onSession`, sizes itself through
|
|
31
|
+
`host.setHeight`, and publishes one host header control, **Data path**, when
|
|
32
|
+
the host supports status controls.
|
|
33
|
+
- **Service** (`src/service.ts`, `src/discovery.ts`): stateless relay. It finds
|
|
34
|
+
running antechamber servers through their run records and forwards the
|
|
35
|
+
frame's requests.
|
|
36
|
+
- **Adapter** (`src/work-status.ts` in antechamber): builds the snapshot and
|
|
37
|
+
runs the actions.
|
|
38
|
+
|
|
39
|
+
## Snapshot
|
|
40
|
+
|
|
41
|
+
`GET /antechamber/work-status/<session>` answers one JSON object, version 1:
|
|
42
|
+
|
|
43
|
+
| Field | Content |
|
|
44
|
+
|---|---|
|
|
45
|
+
| `live` | the session's agent process is running; peek, Stop and Fire now need it |
|
|
46
|
+
| `todo` | todo phases in OmO's order, each `{name, tasks: [{content, status}]}`, status `pending`, `in_progress`, `completed` or `cancelled` |
|
|
47
|
+
| `monitors` | live watches (newest first), then the five most recently ended, each with its last 20 matched lines and, once ended, a readable reason |
|
|
48
|
+
| `evalCells` | detached eval cells from `eval_cells.list`, or from the codemode wake source when the list is unavailable (`evalCellsListed: false`) |
|
|
49
|
+
| `background` | background terminal sessions whose process is alive |
|
|
50
|
+
| `goal` | the goal continuation timer (`armed`, `kind`, `dueAtMs`) and the wake-source counts it waits on, or `null` |
|
|
51
|
+
| `wakeSources` | other active wake sources without a dedicated view |
|
|
52
|
+
|
|
53
|
+
The frame checks the envelope (`src/model.ts`) and imports these types from the
|
|
54
|
+
adapter, so a shape change on either side fails the typecheck.
|
|
55
|
+
|
|
56
|
+
## Refresh
|
|
57
|
+
|
|
58
|
+
The frame polls `/status` one request at a time:
|
|
59
|
+
|
|
60
|
+
- every 1.5 s while anything can change on its own (a live monitor, a running
|
|
61
|
+
or queued cell, a background session, an armed timer, a task in progress);
|
|
62
|
+
- every 5 s otherwise, and while the page is hidden;
|
|
63
|
+
- every 10 s after an error, keeping the last snapshot on screen with the
|
|
64
|
+
error above it.
|
|
65
|
+
|
|
66
|
+
A session switch bumps a generation counter, so a late answer for the previous
|
|
67
|
+
session is dropped. Elapsed times and countdowns tick every second from the
|
|
68
|
+
snapshot without refetching. An open eval cell's output is re-read on each
|
|
69
|
+
poll while the cell runs, and once more when its state changes, so a finished
|
|
70
|
+
cell shows its last lines.
|
|
71
|
+
|
|
72
|
+
The adapter caches `eval_cells.list` for one second per session, so several
|
|
73
|
+
open sections cost one RPC.
|
|
74
|
+
|
|
75
|
+
## Choosing the server
|
|
76
|
+
|
|
77
|
+
Several antechamber servers can run at once, and each can answer for a session
|
|
78
|
+
it only knows from disk. For `/status`, the service asks the servers in order,
|
|
79
|
+
newest first, and prefers the first answer with `live: true`, else the first
|
|
80
|
+
successful one. It remembers which server answered for each session and sends
|
|
81
|
+
that session's actions there.
|
|
82
|
+
|
|
83
|
+
Run records without a `token` (older antechamber versions) and records of dead
|
|
84
|
+
processes are skipped. A wildcard bind address (`0.0.0.0`, `::`) is dialed on
|
|
85
|
+
loopback.
|
|
86
|
+
|
|
87
|
+
## Security boundary
|
|
88
|
+
|
|
89
|
+
- **Token scope**: `serve` generates a random 256-bit token at start and writes
|
|
90
|
+
it into `<state dir>/run/<pid>.json` (file 0600, directory 0700). The adapter
|
|
91
|
+
accepts it as `Authorization: Bearer <token>` only when the normalized path
|
|
92
|
+
starts with `/antechamber/work-status/`, so dot segments, `%2e` and
|
|
93
|
+
backslashes cannot reach other routes. It never replaces the server password
|
|
94
|
+
for anything else.
|
|
95
|
+
- **Who can read it**: only processes running as the same user, which can
|
|
96
|
+
already read antechamber's state directory and drive OmO directly.
|
|
97
|
+
- **Frame**: the sandboxed iframe holds no token. It reaches the service only
|
|
98
|
+
through the host, which adds its own per-service token. All text from OmO is
|
|
99
|
+
inserted with `textContent`, never as HTML.
|
|
100
|
+
- **Inputs**: session IDs must match `ses_[0-9A-Za-z]+` and cell IDs
|
|
101
|
+
`[\w.:-]{1,128}`, in both the service and the adapter. Output peeks are
|
|
102
|
+
capped at 64 KiB.
|
|
103
|
+
- **Actions**: Stop and Fire now map to OmO's own RPC requests
|
|
104
|
+
(`eval_cells.stop`, `goal_continuation_fire_now`). The extension kills no
|
|
105
|
+
process itself.
|
|
106
|
+
|
|
107
|
+
## Limits
|
|
108
|
+
|
|
109
|
+
- No Stop for monitors or background terminal sessions, and no continuation
|
|
110
|
+
holds: OmO exposes neither over RPC.
|
|
111
|
+
- Eval cells need OmO's codemode. Without it, or while the agent process is
|
|
112
|
+
stopped, the section shows the cells OmO last reported, without output or
|
|
113
|
+
Stop.
|
|
114
|
+
- Background sessions come from OmO's terminal manifest, which OmO writes on
|
|
115
|
+
start and exit; their command is shown but not their output.
|
|
116
|
+
- The service must run on the machine that runs antechamber, since it reads
|
|
117
|
+
the run records.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antechamber",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "OpenCode-compatible HTTP/SSE server that lets OpenChamber drive the pi coding agent (and OmO) over RPC",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"extensions/omo-work/status/main.js",
|
|
41
41
|
"extensions/omo-work/service/main.js",
|
|
42
42
|
"extensions/omo-work/README.md",
|
|
43
|
+
"extensions/omo-work/docs/DESIGN.md",
|
|
43
44
|
"extensions/omo-compat/package.json",
|
|
44
45
|
"extensions/omo-compat/icon.svg",
|
|
45
46
|
"extensions/omo-compat/README.md",
|