@loompad/cli 1.2.2 → 1.2.4

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 (49) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +10 -0
  3. package/dist/cli/index.js +59 -7
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/core/crew.d.ts +16 -1
  6. package/dist/core/crew.js +26 -2
  7. package/dist/core/crew.js.map +1 -1
  8. package/dist/core/orchestra.d.ts +36 -0
  9. package/dist/core/orchestra.js +154 -82
  10. package/dist/core/orchestra.js.map +1 -1
  11. package/dist/core/team-hub.d.ts +2 -1
  12. package/dist/core/team-hub.js +1 -1
  13. package/dist/core/team-hub.js.map +1 -1
  14. package/dist/core/team-leases.d.ts +7 -0
  15. package/dist/core/team-leases.js +19 -0
  16. package/dist/core/team-leases.js.map +1 -1
  17. package/dist/daemon/client.d.ts +12 -1
  18. package/dist/daemon/client.js +5 -2
  19. package/dist/daemon/client.js.map +1 -1
  20. package/dist/daemon/routes/brain.js +2 -2
  21. package/dist/daemon/routes/brain.js.map +1 -1
  22. package/dist/daemon/routes/orchestra.js +1 -0
  23. package/dist/daemon/routes/orchestra.js.map +1 -1
  24. package/dist/daemon/routes/project-team.js +17 -0
  25. package/dist/daemon/routes/project-team.js.map +1 -1
  26. package/dist/daemon/runner.d.ts +11 -0
  27. package/dist/daemon/runner.js +111 -5
  28. package/dist/daemon/runner.js.map +1 -1
  29. package/dist/daemon/runtime/briefings.js +12 -1
  30. package/dist/daemon/runtime/briefings.js.map +1 -1
  31. package/dist/daemon/runtime.d.ts +9 -2
  32. package/dist/daemon/runtime.js +8 -4
  33. package/dist/daemon/runtime.js.map +1 -1
  34. package/dist/daemon/team-coordinator.d.ts +27 -3
  35. package/dist/daemon/team-coordinator.js +54 -2
  36. package/dist/daemon/team-coordinator.js.map +1 -1
  37. package/dist/daemon/team.d.ts +42 -1
  38. package/dist/daemon/team.js +92 -1
  39. package/dist/daemon/team.js.map +1 -1
  40. package/dist/hub/supabase-client.d.ts +4 -2
  41. package/dist/hub/supabase-client.js +21 -12
  42. package/dist/hub/supabase-client.js.map +1 -1
  43. package/dist/web/app.css +12 -0
  44. package/dist/web/app.js +140 -28
  45. package/dist/web/app.js.map +3 -3
  46. package/docs/release-notes/v1.2.3.md +29 -0
  47. package/docs/release-notes/v1.2.4.md +13 -0
  48. package/docs/teams.md +31 -0
  49. 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.
@@ -0,0 +1,13 @@
1
+ ## Loom 1.2.4: two machines, one goal, set up in one step
2
+
3
+ ### Set up team auto-orchestration in one step
4
+ - **`loom team auto`** checks whether goals can split across your teammates' machines here. It says which of their agents a goal would get, and what's missing.
5
+ - **`loom team auto on`** does the setup:
6
+ - shares the project;
7
+ - writes `loom.team.json` if the repo has none (commit and merge it);
8
+ - turns on your machine's shared runner, so teammates' goals can use your agents too.
9
+ - **The Team tab** shows the same status on a **Two machines, one goal** card, with a **Turn on** button.
10
+
11
+ ### Steadier on a teammate's machine
12
+ - **A teammate's task no longer fails to commit.** Loom on their machine was saving its own end-of-turn checkpoint at the same moment and could undo the task's changes. The task's commit is now built separately, so nothing interferes.
13
+ - **Follow-ups reach the teammate.** When your orchestrator asks a teammate's task for more ("also fix the test"), their machine now gets that request on top of its earlier work, instead of the whole task again.
package/docs/teams.md CHANGED
@@ -163,6 +163,37 @@ 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
+ `loom team auto` checks it's ready and says what's missing; `loom team auto on` does the
175
+ setup below for you (the Team tab's **Turn on** is the same thing).
176
+
177
+ ```bash
178
+ # once, in the repo: let teammates' runners take its work (reviewed like any policy change)
179
+ echo '{ "runners": { "shared": true } }' > loom.team.json
180
+ # each teammate, once: their daemon takes tasks with their own agents
181
+ loom runner start --shared
182
+ # you: start a goal as usual — teammates' agents are in it when their runners are online
183
+ loom orchestrate "Add rate limiting and its admin page"
184
+ loom orchestrate "…" --solo # keep this one on your machine
185
+ ```
186
+
187
+ How a task travels: Loom pushes the task's starting commit to
188
+ `refs/loom/run/<run>/<task>-base` on origin and posts a `task` job on the hub. The
189
+ first teammate's runner with that agent claims it, runs it in a fresh clone with
190
+ **their** agent (their subscription, their limits), commits, and pushes to
191
+ `refs/loom/run/<run>/<task>`. Your Loom fetches it, merges it into the goal's
192
+ integration branch next to your own tasks, and checks what it touched against the
193
+ task's lease. The goal still lands as **one PR** from your machine. A task no
194
+ teammate finishes within two hours fails back to your orchestrator, which can
195
+ reassign it.
196
+
166
197
  ## 7. Deploys and release notes
167
198
 
168
199
  `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.2",
3
+ "version": "1.2.4",
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",