paseo-room 0.14.1 → 0.15.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 +8 -23
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/runtime-plugin/client/attention-settings.tsx +8 -103
- package/dist/runtime-plugin/client/data.ts +1 -2
- package/dist/runtime-plugin/client/model.ts +0 -1
- package/dist/runtime-plugin/client/room.tsx +1 -1
- package/dist/runtime-plugin/server/attention/engine.ts +8 -31
- package/dist/runtime-plugin/server/attention/log.ts +1 -2
- package/dist/runtime-plugin/server/attention/mask.ts +28 -20
- package/dist/runtime-plugin/server/attention/signals.ts +2 -21
- package/dist/runtime-plugin/server/attention/triage.ts +4 -50
- package/dist/runtime-plugin/server/context.ts +4 -10
- package/dist/runtime-plugin/server/controller.ts +3 -2
- package/dist/runtime-plugin/server/domain/acceptance.ts +8 -5
- package/dist/runtime-plugin/server/domain/state.ts +33 -1
- package/dist/runtime-plugin/server/domain/views.ts +5 -3
- package/dist/runtime-plugin/server/handlers/actions.ts +4 -1
- package/dist/runtime-plugin/server/rpc.ts +5 -31
- package/dist/runtime-plugin/server/tools.ts +2 -2
- package/dist/runtime-plugin/shared/attention.ts +1 -39
- package/dist/runtime-plugin/shared/rpc-contracts.ts +2 -9
- package/package.json +1 -2
- package/dist/runtime-plugin/server/attention/key.ts +0 -44
- package/dist/runtime-plugin/server/attention/questions.ts +0 -80
- package/dist/runtime-plugin/server/attention/sensor.ts +0 -207
package/README.md
CHANGED
|
@@ -757,8 +757,7 @@ learn only when you ask it to check.
|
|
|
757
757
|
handoff, verbatim, and it verifies the handoff and reports to you before it acts outside the
|
|
758
758
|
repository. The Supervisor gets one line naming the new Lead.
|
|
759
759
|
- The handoff stays on this machine, under `~/.paseo-room/runtime/v1/attention/successions/`,
|
|
760
|
-
owner-only and never
|
|
761
|
-
days.
|
|
760
|
+
owner-only and never put in a letter. Finished replacements are pruned after 30 days.
|
|
762
761
|
- If the replacement stops after the archive, the project offers **Finish replacing Lead**, which
|
|
763
762
|
creates no second Lead, or cancel, which leaves the project as it is. A replacement that fails
|
|
764
763
|
before the archive stays on the project's screen for a day, with the reason.
|
|
@@ -772,30 +771,14 @@ learn only when you ask it to check.
|
|
|
772
771
|
may cancel it until it completes. Any other reason to replace a Lead stays yours.
|
|
773
772
|
- **Settings › Room attention.** Here you turn letters on or off, see what reached Supervisors in
|
|
774
773
|
the last 24 hours (letters by level, incidents, Lead turns by what was decided, and the ratings you
|
|
775
|
-
or a Supervisor gave), change when a Supervisor is told and how often
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
- The sensor speaks the System One HTTP shape, with [TypeSafe Jev](https://docs.typesafe.ai/)
|
|
779
|
-
first and any compatible or self-hosted endpoint after it. It is `off` by default.
|
|
780
|
-
- Without a TypeSafe key, use Jev through OpenRouter: endpoint
|
|
781
|
-
`https://openrouter.ai/api/v1/systemone`, model `typesafe/jev-1.13`, and an OpenRouter key.
|
|
782
|
-
OpenRouter can answer with a dated snapshot such as `typesafe/jev-1.13-20260917`, which the
|
|
783
|
-
sensor accepts as the pinned model.
|
|
784
|
-
- `shadow` assesses Lead messages and records the answers without acting on them. `assist` lets
|
|
785
|
-
them decide, for the question sets you enable, whether a Lead turn wakes the Supervisor, waits
|
|
786
|
-
for a digest, or is only recorded.
|
|
787
|
-
- Nothing leaves the machine until you acknowledge the endpoint's host, and only masked, bounded
|
|
788
|
-
excerpts of Lead messages are sent.
|
|
789
|
-
- The key is write-only: it is stored owner-only under `~/.paseo-room/runtime/v1/secrets` and never
|
|
790
|
-
shown again.
|
|
791
|
-
- **Evaluation.** `npm run attention:eval` (in this repository) reads your Claude Lead transcripts
|
|
792
|
-
read-only and prints what an evaluation would send. `-- --send` runs it against the endpoint, as
|
|
793
|
-
your consent for that run.
|
|
774
|
+
or a Supervisor gave), and change when a Supervisor is told and how often. Code decides every
|
|
775
|
+
letter: no model ranks a Lead turn, and nothing about your projects leaves the machine. Releases
|
|
776
|
+
before 0.15.0 had an optional attention sensor; 0.15.0 removed it and deletes the key it stored.
|
|
794
777
|
- **Usage report.** `npm run attention:report -- --since 2026-09-24 --until 2026-09-30` (in this
|
|
795
778
|
repository) reads the room home read-only. It prints what reached the Supervisors over that window:
|
|
796
779
|
- Lead turns by routing, and letters by level and delay;
|
|
797
780
|
- Lead answers to `message_lead`, and whether they arrived;
|
|
798
|
-
- feedback
|
|
781
|
+
- feedback;
|
|
799
782
|
- what the Supervisor and Lead seats read, and how long a question to you waited.
|
|
800
783
|
|
|
801
784
|
It prints counts and durations only, never message text. The window defaults to the last seven
|
|
@@ -825,7 +808,9 @@ and the refusal is final for that dispatch — narrow or sequence the work:
|
|
|
825
808
|
|
|
826
809
|
Write scopes prevent collisions between isolated writers; **they do not contain a Peer**, which can
|
|
827
810
|
still write anywhere its user can. At handoff the runtime records any changed path outside the
|
|
828
|
-
scope as `scope.exceeded
|
|
811
|
+
scope as `scope.exceeded` and tells Lead. Accepting the candidate needs an override only for an
|
|
812
|
+
outside path another writer holds or has changed: one inside another live lease's scope or a
|
|
813
|
+
serial-only path, or one another open candidate also changed. Lead still integrates
|
|
829
814
|
each candidate by hand, in its own workspace, one at a time; the runtime never merges, rebases or
|
|
830
815
|
pushes.
|
|
831
816
|
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var init_package = __esm({
|
|
|
15
15
|
"package.json"() {
|
|
16
16
|
package_default = {
|
|
17
17
|
name: "paseo-room",
|
|
18
|
-
version: "0.
|
|
18
|
+
version: "0.15.0",
|
|
19
19
|
description: "One CLI that configures Codex, Claude Code, and Pi role homes in $HOME and registers them with your local Paseo daemon.",
|
|
20
20
|
keywords: [
|
|
21
21
|
"paseo",
|
|
@@ -52,7 +52,6 @@ var init_package = __esm({
|
|
|
52
52
|
build: `tsup && node --input-type=module -e "import { cpSync, rmSync } from 'node:fs'; for (const [source, target] of [['src/room/prompts', 'dist/prompts'], ['src/room/skills', 'dist/skills'], ['src/plugin-assets', 'dist/plugin-assets'], ['src/runtime-plugin', 'dist/runtime-plugin']]) { rmSync(target, { recursive: true, force: true }); cpSync(source, target, { recursive: true }); }"`,
|
|
53
53
|
prepack: "npm run build",
|
|
54
54
|
verify: "npm run typecheck && npm run lint && npm test && npm run build && npm run test:package",
|
|
55
|
-
"attention:eval": "node --experimental-transform-types --no-warnings --import ./scripts/ts-resolve.mjs scripts/attention-eval.ts",
|
|
56
55
|
"attention:report": "node --experimental-transform-types --no-warnings --import ./scripts/ts-resolve.mjs scripts/attention-report.ts"
|
|
57
56
|
},
|
|
58
57
|
dependencies: {
|
|
@@ -2483,10 +2482,11 @@ function runtimePluginEntries(layout, agents, roles) {
|
|
|
2483
2482
|
path: join12(root, path),
|
|
2484
2483
|
content: path === LOCATION_MODULE ? renderRuntimeLocation(layout) : path === SUCCESSION_MODULE ? renderSuccessionText() : readFileSync4(join12(BUNDLE, path), "utf8")
|
|
2485
2484
|
})),
|
|
2486
|
-
{ kind: "file", path: join12(root, MANIFEST_FILE), content: renderRuntimeManifestFile(agents, roles) }
|
|
2485
|
+
{ kind: "file", path: join12(root, MANIFEST_FILE), content: renderRuntimeManifestFile(agents, roles) },
|
|
2486
|
+
...REMOVED_FILES.map((path) => ({ kind: "absent", path: join12(root, path) }))
|
|
2487
2487
|
];
|
|
2488
2488
|
}
|
|
2489
|
-
var BUNDLE, LOCATION_MODULE, SUCCESSION_MODULE;
|
|
2489
|
+
var BUNDLE, LOCATION_MODULE, SUCCESSION_MODULE, REMOVED_FILES;
|
|
2490
2490
|
var init_runtime = __esm({
|
|
2491
2491
|
"src/runtime.ts"() {
|
|
2492
2492
|
"use strict";
|
|
@@ -2500,6 +2500,12 @@ var init_runtime = __esm({
|
|
|
2500
2500
|
BUNDLE = fileURLToPath(new URL("./runtime-plugin/", import.meta.url));
|
|
2501
2501
|
LOCATION_MODULE = "server/generated/location.ts";
|
|
2502
2502
|
SUCCESSION_MODULE = "server/generated/succession.ts";
|
|
2503
|
+
REMOVED_FILES = [
|
|
2504
|
+
// The attention sensor, removed in 0.15.0.
|
|
2505
|
+
"server/attention/key.ts",
|
|
2506
|
+
"server/attention/questions.ts",
|
|
2507
|
+
"server/attention/sensor.ts"
|
|
2508
|
+
];
|
|
2503
2509
|
}
|
|
2504
2510
|
});
|
|
2505
2511
|
|