seatmesh 1.2.3 → 1.2.5

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.
Files changed (41) hide show
  1. package/dist/commands/agent-forum.d.ts +6 -0
  2. package/dist/commands/agent-forum.d.ts.map +1 -0
  3. package/dist/commands/agent-forum.js +26 -0
  4. package/dist/commands/agent-forum.js.map +1 -0
  5. package/dist/commands/cli-speed.test.d.ts +2 -0
  6. package/dist/commands/cli-speed.test.d.ts.map +1 -0
  7. package/dist/commands/cli-speed.test.js +39 -0
  8. package/dist/commands/cli-speed.test.js.map +1 -0
  9. package/dist/commands/cli-vocal.test.d.ts +2 -0
  10. package/dist/commands/cli-vocal.test.d.ts.map +1 -0
  11. package/dist/commands/cli-vocal.test.js +58 -0
  12. package/dist/commands/cli-vocal.test.js.map +1 -0
  13. package/dist/commands/completion.d.ts.map +1 -1
  14. package/dist/commands/completion.js +11 -1
  15. package/dist/commands/completion.js.map +1 -1
  16. package/dist/commands/help-text.js +5 -5
  17. package/dist/commands/notify-cli.js +1 -1
  18. package/dist/commands/notify-cli.js.map +1 -1
  19. package/dist/commands/web-cli.d.ts +1 -1
  20. package/dist/commands/web-cli.d.ts.map +1 -1
  21. package/dist/commands/web-cli.js +3 -6
  22. package/dist/commands/web-cli.js.map +1 -1
  23. package/dist/fast-spawn.d.ts +3 -0
  24. package/dist/fast-spawn.d.ts.map +1 -0
  25. package/dist/fast-spawn.js +107 -0
  26. package/dist/fast-spawn.js.map +1 -0
  27. package/dist/main.js +10 -8
  28. package/dist/main.js.map +1 -1
  29. package/package.json +8 -7
  30. package/profiles/minimal/roles/common.yaml +2 -2
  31. package/profiles/minimal/roles/manager.yaml +3 -3
  32. package/profiles/minimal/roles/mini.yaml +4 -4
  33. package/profiles/minimal/roles/secretary.yaml +3 -3
  34. package/profiles/minimal/roles/worker.yaml +5 -5
  35. package/templates/docs/COMMANDS.md +1 -1
  36. package/templates/docs/RELEASE.md +9 -3
  37. package/templates/docs/cli/notify.md +1 -1
  38. package/templates/docs/cli/{oc-proxy.md → opencode-cpe.md} +10 -10
  39. package/templates/init/AGENTS.md +17 -11
  40. package/templates/init/README.md +7 -7
  41. package/templates/init/mesh.config.yaml +2 -3
@@ -1,10 +1,12 @@
1
1
  # npm release schedule
2
2
 
3
- **Gate:** `seatmesh@1.2.0` cutover — Adonis hub on `:3190` is the operator console; daemon `/act/card` + `/ui` proxy to hub. See [NOW.md](../NOW.md).
4
-
5
3
  | Date (Asia/Manila) | Package | Notes |
6
4
  |--------------------|---------|--------|
7
- | **2026-09-15** | `seatmesh@1.2.0` | Operator hub cutover: Adonis 7 + Nuxt UI; act/card hub proxy; SessionChrome; mobile drawer; agent forum/golf; contract simplify; LAN/QR; terminals preview-first |
5
+ | **2026-09-18** | `seatmesh@1.2.5` | CLI declares `yaml` dep — fixes npx/global `ERR_MODULE_NOT_FOUND` on merge-mesh-config |
6
+ | **2026-09-17** | `seatmesh@1.2.4` | Open agent kinds (`kindBase`/`extends`); opencode-cpe extends opencode; prove/satisfy/recovery; act/card hub; wave OC relaunch; Orca credit CONTINUE; cross-mesh inbox restart |
7
+ | **2026-09-17** | `seatmesh@1.2.3` | Republish after connectivity@1.2.2 npm staging E409; same surface as 1.2.2 |
8
+ | **2026-09-17** | `seatmesh@1.2.2` | `npx seatmesh web up\|down\|restart\|status`; `agent mds hosted\|agent-self\|agent <kind>`; hub `/mds` live; OC-V2 supervisor health rescue + oc-credit CONTINUE |
9
+ | **2026-09-16** | `seatmesh@1.2.0` | opencode-cpe CliType + runners; `sm pane resume`; OC-LIMIT `scripts/oc-reset.sh` + daemon relaunch; todo-check remaining TASKS DIGEST bulk; `sm web status\|open\|url`; `config upgrade` (npm i -g first); human help + patterns modular `docs/patterns/` |
8
10
  | **2026-09-15** | `seatmesh@1.1.5` | Notify Info/Yes/No native buttons; local Info cards GFM+Mermaid (zoom/pan/expand); session check/repair; CB workspace scope; policy config; agent help/COMMANDS |
9
11
  | **2026-09-15** | `seatmesh@1.1.4` | Early-adopter UX: `start` idempotent create-or-attach; `session down`; manager terminal welcome (whoami/switch); `sessions` documented |
10
12
  | **2026-09-15** | `seatmesh@1.1.3` | Cursor/Claude respawn prove: agent --trust; composer-ready verify+retry (OC parity); fresh whoami on success expected |
@@ -29,4 +31,8 @@ Skip check: `SEATMESH_SKIP_VERSION_CHECK=1`.
29
31
 
30
32
  Publish: `bash scripts/publish-npm.sh` from repo root (after `npm login`).
31
33
 
34
+ **GitHub Releases:** yes — notes in `docs/releases/vX.Y.Z.md` + row in this file.
35
+ Create/update: `bash scripts/gh-release.sh 1.2.0` (needs `gh auth login`).
36
+ Optional: `bash scripts/gh-release.sh 1.2.0 --publish` (npm then release).
37
+
32
38
  Inbox blips (2026-09-13 prove): daemon `/health` flaps and `checkback ack` 404 while inbox is up (cancel still works). Drain can wedge on `peer_unsent` if coord holds are not backlogged. Not a ship blocker after `seatmesh@1.0.0`; cancel orphan checkbacks instead of retrying ack.
@@ -12,7 +12,7 @@ notify link|url|open "<title>" --url <https> [--check "…"]
12
12
  link-only notify link "Staging" --url http://127.0.0.1:5080
13
13
  → toast Open button → URL (no Info card). Same: notify "…" "…" --url
14
14
  Info only notify info "Brief" --body "## Why\n\n…" [--url https://mdview.io/s/…]
15
- → local /act/card. [--url] = Open button on card.
15
+ → hub /act/card (:3190). [--url] = Open button on card.
16
16
  Bare https:// in body also autolinks. [label](url) works.
17
17
  Mermaid → local Info card renders ```mermaid (mermaid.js). Optional: preview (mdview.io) then --url share.
18
18
  Info+Yes/No notify yesno "Ship?" "Need your call" --body "## Diff\n…" [--url https://…]
@@ -1,14 +1,14 @@
1
- # sm oc-proxy
1
+ # sm opencode-cpe
2
2
 
3
3
  ```text
4
4
  OpenCode via CPE proxy — spawn / relaunch any seat
5
5
 
6
- sm switch <target> oc-proxy [--keep-resume|--fresh] [--queue]
6
+ sm switch <target> opencode-cpe [--keep-resume|--fresh] [--queue]
7
7
  sm launch minis | launch secretary | launch <slot-N>
8
8
 
9
9
  <target> = secretary | manager | mini-N | slot-N | here
10
10
 
11
- oc-proxy ≠ oc / opencode (direct, no CPE script)
11
+ opencode-cpe ≠ oc / opencode (direct, no CPE script)
12
12
  ```
13
13
 
14
14
  ## Config (once)
@@ -16,7 +16,7 @@ OpenCode via CPE proxy — spawn / relaunch any seat
16
16
  ```yaml
17
17
  agents:
18
18
  runners:
19
- oc-proxy: scripts/opencode-cpe.sh
19
+ opencode-cpe: scripts/opencode-cpe.sh
20
20
  connectivity:
21
21
  driver: cpe
22
22
  proxyPort: 18887
@@ -24,17 +24,17 @@ connectivity:
24
24
 
25
25
  | Default for… | Where |
26
26
  |--------------|--------|
27
- | Base columns | `layout.base.cli.<id>: oc-proxy` |
28
- | Minis / workers | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: oc-proxy` |
27
+ | Base columns | `layout.base.cli.<id>: opencode-cpe` |
28
+ | Minis / workers | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: opencode-cpe` |
29
29
 
30
30
  `sm config check`
31
31
 
32
32
  ## Examples
33
33
 
34
34
  ```bash
35
- sm switch secretary oc-proxy --keep-resume
36
- sm switch mini-3 oc-proxy --keep-resume
37
- sm launch minis # after miniDefaultCli = oc-proxy
35
+ sm switch secretary opencode-cpe --keep-resume
36
+ sm switch mini-3 opencode-cpe --keep-resume
37
+ sm launch minis # after miniDefaultCli = opencode-cpe
38
38
  env -u TMUX_PANE sm switch … # from plain shell (stale TMUX_PANE)
39
39
  ```
40
40
 
@@ -42,7 +42,7 @@ env -u TMUX_PANE sm switch … # from plain shell (stale TMUX_PANE)
42
42
 
43
43
  Esc×3 → composer idle → `sm agent whoami`. Full relaunch only if needed: `--fresh`.
44
44
 
45
- All oc-proxy panes stuck / need CONTINUE without typing it: `./scripts/oc-proxy-atomics.sh`
45
+ All opencode-cpe panes stuck / need CONTINUE without typing it: `./scripts/opencode-cpe-atomics.sh`
46
46
  (record → kill CPE OC → revive → CONTINUE across pia/zsign/seatmesh).
47
47
 
48
48
  - CLI: `sm switch --help` · `sm launch --help`
@@ -57,7 +57,7 @@ Ship A — matches brand." \
57
57
  | Shape | Command | Operator gets |
58
58
  |-------|---------|---------------|
59
59
  | Eyes | `notify "<session>" "<check>" [--url]` | Toast (+ link) |
60
- | Info | `notify info\|md "<title>" --md\|--body …` | Toast + `/act/card` markdown |
60
+ | Info | `notify info\|md "<title>" --md\|--body …` | Toast + hub `/act/card` (`:3190`) |
61
61
  | Decide | `notify yesno "<title>" "<blurb>" --md\|--body …` | Toast **Info · Yes · No**; Yes/No peer to `--target` |
62
62
 
63
63
  **yesno:** `<title>` = decision name · `<blurb>` = short toast line · Info content via `--md` / `--body` (not the blurb alone).
@@ -93,17 +93,23 @@ Aliases: `notify info` · `notify md` · `notify details`
93
93
 
94
94
  Lead-only extras (manager/secretary) appear on your `agent` card — spawn/assign/inbox restart are not universal.
95
95
 
96
- ## OpenCode via CPE (`oc-proxy`)
96
+ ## OpenCode via CPE (`opencode-cpe` kind)
97
97
 
98
- **Proxied OpenCode** — not bare `opencode`. Type **`oc-proxy`** only (`oc` / `opencode` = direct, no CPE script).
98
+ **Kind** `opencode-cpe` **extends** `opencode` — same inject provider, CPE launch wrapper.
99
+ Not bare `opencode` (`oc` / `opencode` = direct).
99
100
 
100
101
  ### Config (once per mesh)
101
102
 
102
103
  ```yaml
103
- # mesh.config.yaml
104
+ # mesh.config.yaml — engine already emits opencode-cpe extends opencode;
105
+ # overlay only if you diverge:
104
106
  agents:
105
- runners:
106
- oc-proxy: scripts/opencode-cpe.sh
107
+ kinds:
108
+ opencode-cpe:
109
+ launch: { command: scripts/opencode-cpe.sh }
110
+ # legacy also works:
111
+ # runners:
112
+ # opencode-cpe: scripts/opencode-cpe.sh
107
113
  connectivity:
108
114
  driver: cpe
109
115
  proxyPort: 18887
@@ -111,8 +117,8 @@ connectivity:
111
117
 
112
118
  | Default for… | Where |
113
119
  |--------------|--------|
114
- | Base columns (manager, secretary, …) | `layout.base.cli.<column-id>: oc-proxy` |
115
- | Minis / workers (launch default) | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: oc-proxy` |
120
+ | Base columns (manager, secretary, …) | `layout.base.cli.<column-id>: opencode-cpe` |
121
+ | Minis / workers (launch default) | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: opencode-cpe` |
116
122
 
117
123
  Validate: `sm config check`
118
124
 
@@ -121,8 +127,8 @@ Validate: `sm config check`
121
127
  **One path for every seat** — secretary, manager, `mini-N`, `slot-N`:
122
128
 
123
129
  ```bash
124
- sm switch <target> oc-proxy --keep-resume # keep saved session
125
- sm switch <target> oc-proxy --fresh # new session
130
+ sm switch <target> opencode-cpe --keep-resume # keep saved session
131
+ sm switch <target> opencode-cpe --fresh # new session
126
132
  sm launch minis # all minis (after miniDefaultCli set)
127
133
  sm launch secretary # coord (uses layout.base.cli)
128
134
  ```
@@ -134,7 +140,7 @@ Queue (inbox drains): add `--queue`.
134
140
  ### Stuck mid-build (`esc interrupt` / Build bar)
135
141
 
136
142
  **Do not** full pane restart. **Esc×3** → wait for composer idle → `sm agent whoami` or inbox cold-start.
137
- Full relaunch only when you need a new session: `sm switch <target> oc-proxy --fresh`.
143
+ Full relaunch only when you need a new session: `sm switch <target> opencode-cpe --fresh`.
138
144
 
139
145
  ## Outside `agent` (operator / shared)
140
146
 
@@ -1,24 +1,24 @@
1
1
  # .sm — seatmesh project config
2
2
 
3
- Generated by `npx seatmesh init`. The engine reads **only** files here (+ live
3
+ Generated by `sm init` (or `npx seatmesh init`). The engine reads **only** files here (+ live
4
4
  `mesh-agents.json` state).
5
5
 
6
6
  | Path | Purpose |
7
7
  |------|---------|
8
8
  | `mesh.config.yaml` | Layout, daemon, connectivity, seat paths |
9
9
  | `mesh-agents.json` | Live CLI type + resume per slot |
10
- | `roles/_vendor/` | **LOCKED** role-pack (yaml + docs) — `seatmesh update` |
10
+ | `roles/_vendor/` | **LOCKED** role-pack (yaml + docs) — `sm update` |
11
11
  | `roles/*.extend.yaml` | **USER** project POV — never overwritten |
12
12
  | `runtime/` | Daemon jsonl state (inbox, checkback) |
13
13
 
14
14
  **Seat files** (FOCUS/TASKS/REMINDER) live under `seats.root` in yaml — not deleted
15
- by init; `./sm.sh seat init` creates missing files only.
15
+ by init; `sm seat init` creates missing files only.
16
16
 
17
17
  ```bash
18
- npx seatmesh init
19
- npx seatmesh roles status
20
- npx seatmesh roles migrate # up to current role-pack
21
- npx seatmesh update # refresh _vendor + auto-migrate pack
18
+ sm init
19
+ sm roles status
20
+ sm roles migrate # up to current role-pack
21
+ sm update # refresh _vendor + auto-migrate pack
22
22
  ```
23
23
 
24
24
  See `roles/_vendor/docs/EXTEND.md` for locked sections.
@@ -52,13 +52,12 @@ providers:
52
52
  - cursor-agent
53
53
  - claude
54
54
  - opencode
55
- - oc-proxy
56
55
  - empty
57
56
 
58
- # CPE OpenCode: layout.base.cli.<seat>: oc-proxy + this runner
57
+ # CPE = kind opencode-cpe (extends opencode), not a providers[] entry
59
58
  agents:
60
59
  runners:
61
- oc-proxy: scripts/opencode-cpe.sh
60
+ opencode-cpe: scripts/opencode-cpe.sh
62
61
 
63
62
  seats:
64
63
  root: {{seatsRoot}}