@loompad/cli 1.2.2 → 1.2.3
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 +28 -0
- package/dist/cli/index.js +33 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/core/crew.d.ts +16 -1
- package/dist/core/crew.js +26 -2
- package/dist/core/crew.js.map +1 -1
- package/dist/core/orchestra.d.ts +36 -0
- package/dist/core/orchestra.js +149 -82
- package/dist/core/orchestra.js.map +1 -1
- package/dist/core/team-hub.d.ts +2 -1
- package/dist/core/team-hub.js +1 -1
- package/dist/core/team-hub.js.map +1 -1
- package/dist/core/team-leases.d.ts +7 -0
- package/dist/core/team-leases.js +19 -0
- package/dist/core/team-leases.js.map +1 -1
- package/dist/daemon/client.d.ts +9 -1
- package/dist/daemon/client.js +2 -2
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/routes/brain.js +2 -2
- package/dist/daemon/routes/brain.js.map +1 -1
- package/dist/daemon/routes/orchestra.js +1 -0
- package/dist/daemon/routes/orchestra.js.map +1 -1
- package/dist/daemon/runner.d.ts +11 -0
- package/dist/daemon/runner.js +96 -3
- package/dist/daemon/runner.js.map +1 -1
- package/dist/daemon/runtime/briefings.js +12 -1
- package/dist/daemon/runtime/briefings.js.map +1 -1
- package/dist/daemon/runtime.d.ts +9 -2
- package/dist/daemon/runtime.js +8 -4
- package/dist/daemon/runtime.js.map +1 -1
- package/dist/daemon/team-coordinator.d.ts +27 -3
- package/dist/daemon/team-coordinator.js +54 -2
- package/dist/daemon/team-coordinator.js.map +1 -1
- package/dist/daemon/team.d.ts +9 -1
- package/dist/daemon/team.js +44 -1
- package/dist/daemon/team.js.map +1 -1
- package/dist/hub/supabase-client.d.ts +4 -2
- package/dist/hub/supabase-client.js +21 -12
- package/dist/hub/supabase-client.js.map +1 -1
- package/dist/web/app.css +4 -0
- package/dist/web/app.js +96 -27
- package/dist/web/app.js.map +3 -3
- package/docs/release-notes/v1.2.3.md +29 -0
- package/docs/teams.md +28 -0
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
## Loom 1.2.3: two people, one goal, both machines
|
|
2
|
+
|
|
3
|
+
### Team auto-orchestration
|
|
4
|
+
- **A goal splits across your teammates' machines on its own.** When a teammate's Loom is a shared runner, your orchestrator sees their agents as `team:codex`, `team:opencode` and so on. Self-contained tasks go to them; tightly coupled ones stay with you.
|
|
5
|
+
- **Nobody on their side clicks anything.** Their runner claims the task, runs it with **their** agent in a fresh clone (their subscription, their limits) and pushes the result back.
|
|
6
|
+
- **A teammate who goes offline doesn't stall you.** A task nobody takes within 10 minutes goes back to your orchestrator, which hands it to someone else.
|
|
7
|
+
- **Still one PR.** Your Loom merges each teammate's task into the goal's integration branch next to your own, checks what it touched against the task's lease, and opens one PR from your machine.
|
|
8
|
+
- Set it up once:
|
|
9
|
+
- in the repo: `{ "runners": { "shared": true } }` in `loom.team.json`;
|
|
10
|
+
- each teammate: `loom runner start --shared`;
|
|
11
|
+
- then `loom orchestrate "<goal>"` as usual, or `--solo` to keep a goal on your machine.
|
|
12
|
+
|
|
13
|
+
### Simple mode, by default
|
|
14
|
+
- A project opens on five plain tabs: **Chat, Team, Agents, Board, Memory**. The composer is just a box, the agent and Plan.
|
|
15
|
+
- **Developer mode** (Settings → Preferences → Mode) brings back the rest: Orchestra, Crew, Insights, the terminal, console, browser, right-hand panel, and the model, permission and cost chips.
|
|
16
|
+
- No Developer vocabulary leaks into Simple mode: no "baton" labels, no permission badges.
|
|
17
|
+
|
|
18
|
+
### Safer team hub
|
|
19
|
+
- When a teammate disconnects, the hub no longer broadcasts their repo names to signed-in users of other teams.
|
|
20
|
+
- A teammate can't replace another member's encryption key envelope; only the owner can.
|
|
21
|
+
- Old presence, expired leases and invites, and team activity older than 90 days are cleaned up hourly.
|
|
22
|
+
|
|
23
|
+
### Fixes from the fourth field round
|
|
24
|
+
- `loom runner stop` really stops: a stopped runner no longer takes a job the hub pushes to it.
|
|
25
|
+
- `loom memory:repair` now shows up in `loom memory` and in what agents are briefed with; add `--dry-run` to preview it.
|
|
26
|
+
- A crew card no longer gets stuck asking about its own files.
|
|
27
|
+
- Crew checkouts live beside the project on an external disk, like orchestra's.
|
|
28
|
+
- `loom crew status` shows card ids, says how to accept a failed card, and has `--json`.
|
|
29
|
+
- The Verified card quotes agents' words without raw markdown.
|
package/docs/teams.md
CHANGED
|
@@ -163,6 +163,34 @@ Each goal gets a fresh clone (a fresh container when Docker runs), and agents
|
|
|
163
163
|
get a scrubbed environment with only their logins and the token. If a goal of
|
|
164
164
|
yours needs a CI fix and you've been offline 15 minutes, your runner takes it.
|
|
165
165
|
|
|
166
|
+
### Two people, one goal: team auto-orchestration
|
|
167
|
+
|
|
168
|
+
When teammates' Looms are shared runners, a goal you start doesn't stay on your
|
|
169
|
+
machine. Your orchestrator sees each teammate's agents as `team:<agent>` workers
|
|
170
|
+
(`team:codex`, `team:opencode`, …) and splits the goal across both machines:
|
|
171
|
+
self-contained tasks go to a teammate, tightly coupled ones stay with you. Nobody
|
|
172
|
+
on their side clicks anything.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# once, in the repo: let teammates' runners take its work (reviewed like any policy change)
|
|
176
|
+
echo '{ "runners": { "shared": true } }' > loom.team.json
|
|
177
|
+
# each teammate, once: their daemon takes tasks with their own agents
|
|
178
|
+
loom runner start --shared
|
|
179
|
+
# you: start a goal as usual — teammates' agents are in it when their runners are online
|
|
180
|
+
loom orchestrate "Add rate limiting and its admin page"
|
|
181
|
+
loom orchestrate "…" --solo # keep this one on your machine
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
How a task travels: Loom pushes the task's starting commit to
|
|
185
|
+
`refs/loom/run/<run>/<task>-base` on origin and posts a `task` job on the hub. The
|
|
186
|
+
first teammate's runner with that agent claims it, runs it in a fresh clone with
|
|
187
|
+
**their** agent (their subscription, their limits), commits, and pushes to
|
|
188
|
+
`refs/loom/run/<run>/<task>`. Your Loom fetches it, merges it into the goal's
|
|
189
|
+
integration branch next to your own tasks, and checks what it touched against the
|
|
190
|
+
task's lease. The goal still lands as **one PR** from your machine. A task no
|
|
191
|
+
teammate finishes within two hours fails back to your orchestrator, which can
|
|
192
|
+
reassign it.
|
|
193
|
+
|
|
166
194
|
## 7. Deploys and release notes
|
|
167
195
|
|
|
168
196
|
`loom team deploys` lists deployments; results show in the team feed, and a
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loompad/cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "Loom — local-first control plane for coding agents: one CLI, shared memory, baton handoffs and routes across Claude Code, OpenCode, and friends.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|