paseo-room 0.9.0 → 0.11.0
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/README.md +42 -20
- package/dist/index.js +290 -170
- package/dist/index.js.map +1 -1
- package/dist/plugin-assets/paseo-plugin.json +1 -1
- package/dist/prompts/contract/supervisor.md +22 -1
- package/dist/prompts/runtime/handoff-request.md +5 -4
- package/dist/prompts/runtime/successor-kickoff.md +3 -2
- package/dist/runtime-plugin/client/attention-settings.tsx +74 -47
- package/dist/runtime-plugin/client/context-settings.tsx +28 -3
- package/dist/runtime-plugin/client/data.ts +9 -0
- package/dist/runtime-plugin/client/effort-settings.tsx +38 -27
- package/dist/runtime-plugin/client/kit.tsx +88 -4
- package/dist/runtime-plugin/client/model.ts +217 -26
- package/dist/runtime-plugin/client/pills.ts +3 -1
- package/dist/runtime-plugin/client/record.tsx +177 -52
- package/dist/runtime-plugin/client/room.tsx +174 -109
- package/dist/runtime-plugin/client/time.ts +41 -1
- package/dist/runtime-plugin/client/views.tsx +42 -33
- package/dist/runtime-plugin/paseo-plugin.json +1 -1
- package/dist/runtime-plugin/server/attention/delivery.ts +21 -6
- package/dist/runtime-plugin/server/attention/engine.ts +28 -8
- package/dist/runtime-plugin/server/attention/log.ts +68 -3
- package/dist/runtime-plugin/server/attention/observer.ts +42 -10
- package/dist/runtime-plugin/server/attention/succession-store.ts +8 -2
- package/dist/runtime-plugin/server/attention/succession.ts +87 -17
- package/dist/runtime-plugin/server/brief.ts +9 -12
- package/dist/runtime-plugin/server/context.ts +2 -1
- package/dist/runtime-plugin/server/contracts/actions.ts +11 -4
- package/dist/runtime-plugin/server/controller.ts +29 -14
- package/dist/runtime-plugin/server/domain/state.ts +7 -3
- package/dist/runtime-plugin/server/events/schema.ts +3 -0
- package/dist/runtime-plugin/server/git.ts +8 -4
- package/dist/runtime-plugin/server/handlers/actions.ts +27 -8
- package/dist/runtime-plugin/server/notices.ts +136 -50
- package/dist/runtime-plugin/server/panel.ts +120 -0
- package/dist/runtime-plugin/server/paseo-port.ts +23 -0
- package/dist/runtime-plugin/server/recovery.ts +2 -5
- package/dist/runtime-plugin/server/rpc.ts +39 -12
- package/dist/runtime-plugin/server/store/project.ts +29 -10
- package/dist/runtime-plugin/server/tools.ts +7 -3
- package/dist/runtime-plugin/shared/identity.ts +31 -10
- package/dist/runtime-plugin/shared/names.ts +16 -0
- package/dist/runtime-plugin/shared/panel.ts +34 -0
- package/dist/runtime-plugin/shared/policy.ts +5 -1
- package/dist/runtime-plugin/shared/rpc-contracts.ts +1 -1
- package/dist/runtime-plugin/shared/seat-context.ts +4 -0
- package/dist/runtime-plugin/shared/states.ts +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -73,9 +73,9 @@ starts, its exit code is preserved; a signal is returned using the conventional
|
|
|
73
73
|
- A running Paseo daemon with CLI and daemon on the same version. Codex requires
|
|
74
74
|
**0.8.0-beta.1 or newer**; any selection containing Claude or Pi requires **0.8.0 or newer**.
|
|
75
75
|
Claude also requires Paseo plugins to be enabled explicitly: the generated trusted server plugin
|
|
76
|
-
is the strong contract carrier, and `paseo-room` never enables plugins for you. The plugin
|
|
77
|
-
|
|
78
|
-
and never installs or upgrades Paseo.
|
|
76
|
+
is the strong contract carrier, and `paseo-room` never enables plugins for you. The plugin
|
|
77
|
+
requires Paseo `>=0.8.0` and has no upper bound. `paseo-room` checks compatibility before
|
|
78
|
+
touching anything, and never installs or upgrades Paseo.
|
|
79
79
|
- An initialised Codex home (`~/.codex/config.toml`) and/or Claude Code home (`~/.claude`).
|
|
80
80
|
Codex must be new enough for `codex debug models` to print its JSON model catalog: the room
|
|
81
81
|
seats Codex only if it can generate the scrubbed catalog copy.
|
|
@@ -98,7 +98,7 @@ starts, its exit code is preserved; a signal is returned using the conventional
|
|
|
98
98
|
SKILL.md, references/ # procedure plus a scaffold loaded only when the skill runs
|
|
99
99
|
room/skill-projections/<agent>/lead/ # exact Lead skill aggregate for each seated agent
|
|
100
100
|
plugin/ # Claude only: trusted creation-time system-prompt append carrier
|
|
101
|
-
paseo-plugin.json # accepts Paseo >=0.8.0
|
|
101
|
+
paseo-plugin.json # accepts Paseo >=0.8.0
|
|
102
102
|
index.server.ts, server/ # exact provider map + generated role contracts
|
|
103
103
|
roles/codex/<role>/
|
|
104
104
|
config.toml # your config.toml + the room's overrides
|
|
@@ -620,9 +620,10 @@ npx paseo-room verify
|
|
|
620
620
|
- **Trust.** Like the carrier, the runtime is trusted, unsandboxed code running in your daemon.
|
|
621
621
|
Enable Paseo plugins yourself; `paseo-room` never does. It is not an operating-system sandbox and
|
|
622
622
|
cannot stop a process running as your user.
|
|
623
|
-
- **Range.** Runtime requires Paseo `>=0.8.0
|
|
624
|
-
|
|
625
|
-
|
|
623
|
+
- **Range.** Runtime requires Paseo `>=0.8.0`, with no upper bound: Paseo releases faster than each
|
|
624
|
+
release could be checked first, so a newer one is accepted unread. `0.8.0` and `0.9.1` are
|
|
625
|
+
live-qualified, and `0.10.1` was compared file by file with `0.9.2`. If a release breaks the
|
|
626
|
+
plugin, Paseo reports it `failed` and `verify` fails with the load error.
|
|
626
627
|
- **Lead** gains room tools such as `assignment_create`, `assignment_dispatch`, `assignment_answer`,
|
|
627
628
|
`assignment_accept`, `gate_run`, and for isolated writers `workspace_close` and `lease_reclaim`.
|
|
628
629
|
`assignment_create` refuses a base that is not a commit of the repository (`base_unknown`).
|
|
@@ -648,6 +649,8 @@ npx paseo-room verify
|
|
|
648
649
|
Room seats › Seat context** sets marks per role, as a share of each seat's own model window:
|
|
649
650
|
- *Lead · report at* (30%): past it, the Lead's Supervisor gets one fact line and the panel shows
|
|
650
651
|
it with **Replace Lead…**, so you can hand over to a fresh Lead rather than let this one compact.
|
|
652
|
+
The Supervisor may then replace that Lead itself, as below. Turning the mark off leaves
|
|
653
|
+
replacing a Lead to you alone.
|
|
651
654
|
- *compact at* (Lead 50%, Supervisor and Peer off): a room Claude seat gets
|
|
652
655
|
`CLAUDE_CODE_AUTO_COMPACT_WINDOW` when its session opens, at creation or on a resume after a
|
|
653
656
|
daemon restart, so Claude compacts at that share instead of near the end of a 1M window. An open
|
|
@@ -667,18 +670,28 @@ npx paseo-room verify
|
|
|
667
670
|
cleans or stashes, and releases a writer only after Paseo proves the Peer archived.
|
|
668
671
|
- **State** lives under `~/.paseo-room/runtime/v1` as append-only event files. Setup never edits it.
|
|
669
672
|
- **The Room runtime panel** (sidebar item, and a workspace panel that opens on its own project)
|
|
670
|
-
puts what needs you first. Below that come your projects,
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
673
|
+
puts what needs you first. Below that come your projects, then your Supervisors.
|
|
674
|
+
- Each project is one line: a status mark whose shape says it (needs a look, working, idle, or
|
|
675
|
+
asleep — its sessions closed, resumed by opening one or a message), then what it is doing, such
|
|
676
|
+
as *Lead idle · 1 of 2 Peers working · 3 open · 1 waiting on Lead*, and when it last did
|
|
677
|
+
something. Projects needing a look come first, then working, idle and asleep ones, the most
|
|
678
|
+
recently active first. Projects with no live seat fold into one *inactive* line, unless
|
|
679
|
+
dispatched work there is still undecided or a Lead replacement is in progress.
|
|
680
|
+
- A project shows who watches it, its Lead and Peer seats (each opens its agent in Paseo, and
|
|
681
|
+
shows the model and thinking option it runs with, the worktree or main checkout it works in, and
|
|
682
|
+
its context as a bar with a tick at its mark), recent activity (dispatches, handbacks, gates and
|
|
683
|
+
decisions, with who did them), and its assignments: open ones first, the most recently updated on
|
|
684
|
+
top, and finished ones by day with when they settled and how long they took, twenty at a time.
|
|
685
|
+
An assignment shows its brief, Peer, evidence and history.
|
|
675
686
|
- Starting a Supervisor, adding a repository, starting a Lead for a project that has none, and
|
|
676
|
-
assigning a Supervisor are guided forms.
|
|
687
|
+
assigning a Supervisor are guided forms. The bell and people icons open the two settings
|
|
688
|
+
screens.
|
|
677
689
|
- The design notes are in [docs/design/runtime-panel-ux.md](docs/design/runtime-panel-ux.md).
|
|
678
690
|
- **Settings › Room seats** shows which account each seat is signed in to (email, plan and
|
|
679
691
|
organization for Claude; login method for Codex; for Pi, only whether a credential file exists).
|
|
680
692
|
It runs each seat's own `claude auth status` or `codex login status` when you open it or press
|
|
681
|
-
Refresh, and never reads a credential file. A seat linked to another home's login is flagged
|
|
693
|
+
Refresh, and never reads a credential file. A seat linked to another home's login is flagged, and
|
|
694
|
+
when seats sign in as more than one account, each gets a letter (*account A*, *account B*).
|
|
682
695
|
|
|
683
696
|
### Room attention: what reaches a Supervisor
|
|
684
697
|
|
|
@@ -734,8 +747,17 @@ learn only when you ask it to check.
|
|
|
734
747
|
before the archive stays on the project's screen for a day, with the reason.
|
|
735
748
|
- Paseo archives the seats in the Lead's workspace with it; the runtime archives them too when the
|
|
736
749
|
Lead is not running, when Paseo would take none.
|
|
737
|
-
- **
|
|
738
|
-
|
|
750
|
+
- **The Supervisor may do the same**, but only for a Lead of its own project that is past its
|
|
751
|
+
rotation mark, through the runtime's `lead_replace_*` tools. The runtime refuses a Lead below
|
|
752
|
+
the mark and applies the same quiet-point checks. The Supervisor reviews the handoff against the
|
|
753
|
+
repository, confirms it, and tells you which Lead now owns the project. The panel shows a
|
|
754
|
+
replacement the Supervisor started, and you may cancel it until it completes. Any other reason to
|
|
755
|
+
replace a Lead stays yours.
|
|
756
|
+
- **Settings › Room attention.** Here you turn letters on or off, see what reached Supervisors in
|
|
757
|
+
the last 24 hours (letters by level, incidents, Lead turns by what was decided, and the ratings you
|
|
758
|
+
or a Supervisor gave), change when a Supervisor is told and how often, and configure the optional
|
|
759
|
+
**attention sensor** in the order it is set up: mode and state, connection, privacy, then the
|
|
760
|
+
shadow evaluation beside the switch that lets it assist.
|
|
739
761
|
- The sensor speaks the System One HTTP shape, with [TypeSafe Jev](https://docs.typesafe.ai/)
|
|
740
762
|
first and any compatible or self-hosted endpoint after it. It is `off` by default.
|
|
741
763
|
- Without a TypeSafe key, use Jev through OpenRouter: endpoint
|
|
@@ -766,7 +788,7 @@ and the refusal is final for that dispatch — narrow or sequence the work:
|
|
|
766
788
|
|
|
767
789
|
| Code | Why |
|
|
768
790
|
|---|---|
|
|
769
|
-
| `worktree_unqualified` | the daemon
|
|
791
|
+
| `worktree_unqualified` | the daemon is older than `0.9.1`, the first Paseo release worktree dispatch was qualified on, or runs a prerelease |
|
|
770
792
|
| `worktree_setup_unobservable` | `paseo.json` at the base declares `worktree.setup`, which Paseo runs where the runtime cannot see it finish |
|
|
771
793
|
| `scope_not_canonical` | a `writeScope` or `serialOnly` item is not a repository-relative path or `*`/`?`/`**` glob |
|
|
772
794
|
| `writer_exclusive` | a writer is still active in Lead's workspace (or, the other way round, isolated writers are active) |
|
|
@@ -789,9 +811,9 @@ the same worktree at the next lease epoch; the old Peer's late reports are refus
|
|
|
789
811
|
the Human form of both, only where the runtime would accept it, and asks twice before discarding
|
|
790
812
|
work.
|
|
791
813
|
|
|
792
|
-
Worktree dispatch is enabled
|
|
793
|
-
|
|
794
|
-
`worktree_unqualified
|
|
814
|
+
Worktree dispatch is enabled on every Paseo release the runtime accepts from `0.9.1`, the release
|
|
815
|
+
that passed the live qualification in the Phase 2 delta §9. An earlier release, or a prerelease or
|
|
816
|
+
build-stamped version, refuses `worktree_unqualified`, and dispatch without isolation still works.
|
|
795
817
|
|
|
796
818
|
To stop using it, finish, close or abandon the recorded work, then run setup **without**
|
|
797
819
|
`--runtime`. Setup refuses while anything is still active or uncertain — including an isolated
|