@comput/pi-intercom 0.6.1 → 0.8.1
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 +65 -6
- package/dist/config.d.ts +5 -0
- package/dist/config.js +84 -22
- package/dist/config.js.map +1 -1
- package/dist/index.js +18 -4
- package/dist/index.js.map +1 -1
- package/dist/launcher.js +11 -1
- package/dist/launcher.js.map +1 -1
- package/dist/reminders.d.ts +28 -0
- package/dist/reminders.js +81 -0
- package/dist/reminders.js.map +1 -0
- package/dist/runtime.d.ts +11 -1
- package/dist/runtime.js +89 -11
- package/dist/runtime.js.map +1 -1
- package/package.json +12 -6
- package/references/releasing.md +90 -0
- package/references/v1-specification.md +4 -4
- package/src/config.ts +59 -16
- package/src/index.ts +17 -4
- package/src/launcher.ts +9 -1
- package/src/reminders.ts +69 -0
- package/src/runtime.ts +76 -12
package/README.md
CHANGED
|
@@ -26,6 +26,10 @@ The value is the loop: **delegate → report back → evaluate → decide the ne
|
|
|
26
26
|
>
|
|
27
27
|
> **0.5.1:** manually closed workers remain registered and sort last as disconnected in the monitor. Optional JSON health checks and guarded resume preserve the distinction between connectivity and saved session identity.
|
|
28
28
|
>
|
|
29
|
+
> **0.8.0:** Config is restricted to the session working directory. No parent search or explicit-parent override; shared-config subfolder launches are refused.
|
|
30
|
+
|
|
31
|
+
> **0.7.0:** Coordinator-local five-minute reminders follow worker calls. Use `intercom_stop_reminders` when nothing needs follow-up. Busy periods are skipped; shutdown/reload clears the timer.
|
|
32
|
+
|
|
29
33
|
> **0.6.1:** Linux Herdr background save-handoff-and-close workflow, with saved public summaries in config and monitor/JSON details. Empty rosters no longer open a monitor; coordinator session/tab names are preserved.
|
|
30
34
|
|
|
31
35
|
For potential next steps, see [Improvement topics](references/roadmap.md). These are proposals for discussion, not implemented features or release commitments.
|
|
@@ -100,13 +104,17 @@ Linux `multiplexer: none` is explicitly unsupported: no terminal guessing, headl
|
|
|
100
104
|
|
|
101
105
|
### Startup and launchers
|
|
102
106
|
|
|
103
|
-
|
|
107
|
+
**Strict root isolation (0.8.0):** The session's starting working directory is its config root. An explicit flag cannot widen this boundary. Only `<root>/.pi-intercom/config.json` is considered: there is no upward search, Git-root inference, or home-directory fallback. If that exact config is absent, startup creates a local coordinator config, opens a loopback listener, preserves the session/tab name, and waits for user input (no model turn). Invalid/unreadable local config is an error and is not overwritten. A session ID absent from an existing selected config, including a fork, is a worker, never a replacement coordinator.
|
|
108
|
+
|
|
109
|
+
Created/resumed workers receive `--intercom-root /absolute/session/root` explicitly as a same-directory assertion, **not permission to read a parent config**. The supplied root must canonically equal the session working directory, and its exact config must already exist. A mismatched root is rejected before reading its config or creating startup resources. No environment variable selects a parent root. Shared-roster workers must start in the coordinator's root; create/resume requests for subfolders are rejected before launch instead of silently changing the working directory. Linked metadata/config paths that escape the root and stable redirects of an already validated root are rejected. Monitor/logging readers retain stricter rules and may reject even internal links. These guards cover config access and temporary-config cleanup. They do not sandbox all filesystem I/O, pin an already-running telemetry writer after filesystem changes, or provide an atomic defense against concurrent filesystem replacement.
|
|
110
|
+
|
|
111
|
+
**Upgrade note:** Existing subfolder workers cannot rejoin a parent roster by supplying a flag. Their saved history/config entries are retained, but launching them in a subfolder with the parent's config is refused. Use workers whose configured directory is the coordinator root, and explicitly describe any subfolder work in their assignment. Independent sessions started in subfolders use only their own local config; ancestor files are left untouched.
|
|
104
112
|
|
|
105
113
|
Default launcher `herdr` requires the coordinator to be inside Herdr (`HERDR_ENV=1` and workspace context), with `herdr` on PATH. Windows needs `powershell.exe` plus `pi.ps1` in the worker pane; Linux needs `sh` plus `pi`. Each worker gets **one tab, one pane, no split, no focus change**. The Windows-only `none` launcher requires `pi.cmd` and Windows PowerShell on PATH and opens a separate visible PowerShell terminal. Missing launcher is an error, not fallback. Launch acknowledgment means command submission/terminal creation, not Pi readiness. A failed launch can leave a tab or process behind; no automatic cleanup occurs. See the scoped live evidence below.
|
|
106
114
|
|
|
107
115
|
## Explicit workflow
|
|
108
116
|
|
|
109
|
-
1. Coordinator calls `intercom_create_worker({projectDirectory:"."})`.
|
|
117
|
+
1. Coordinator calls `intercom_create_worker({projectDirectory:"."})`. The launcher passes the same-directory root assertion; no worker identity, responsibility or callback address is passed.
|
|
110
118
|
2. Anonymous worker opens its own endpoint and sends its session ID, actual port and root-relative project directory to coordinator Pi. Registration starts a normal coordinator turn when idle or queues steering when busy. It creates **no config entry or hidden pending-registration map**.
|
|
111
119
|
3. Coordinator decides and calls `intercom_configure_worker` with **all five explicit fields**: `sessionId`, `port`, `projectDirectory`, `name`, `description`. This only writes config.
|
|
112
120
|
4. Coordinator separately calls `intercom_reload_worker({to:"Builder"})`. Worker rereads responsibility and synchronizes Pi/Herdr tab names. **This is not Pi `/reload`, a restart, cancellation, or work assignment.** No model turn starts.
|
|
@@ -121,13 +129,14 @@ Every tool rereads current config and checks the live Pi session ID. Names are c
|
|
|
121
129
|
|
|
122
130
|
| Tool | Arguments | Permission / effect |
|
|
123
131
|
|---|---|---|
|
|
124
|
-
| `intercom_create_worker` | `projectDirectory?` (default `.`) | Coordinator; launch anonymous worker |
|
|
132
|
+
| `intercom_create_worker` | `projectDirectory?` (default `.`) | Coordinator; launch anonymous worker at the same root only |
|
|
125
133
|
| `intercom_configure_worker` | `sessionId`, `port`, `projectDirectory`, `name`, `description` | Coordinator; all five explicit fields, writes only |
|
|
126
134
|
| `intercom_reload_worker` | `to` (worker name) | Coordinator; passive config/name reload |
|
|
127
135
|
| `intercom_send` | `to` (name), `message` | Configured, responsibility-loaded sessions; asynchronous message |
|
|
128
136
|
| `intercom_list` | None | Configured coordinator/workers; saved roster, never live health |
|
|
129
137
|
| `intercom_worker_status` | `name?`, `offset?`, `limit?`, `probe?` | Configured sessions; local JSON by default, optional bounded endpoint checks for returned page |
|
|
130
138
|
| `intercom_request_status` | `to` (worker name) | Coordinator; independent extension report |
|
|
139
|
+
| `intercom_stop_reminders` | None | Coordinator; disable reminder timer until another qualifying worker call, without cancelling work |
|
|
131
140
|
| `intercom_report_status` | None | Workers including anonymous; shared report function, never registration |
|
|
132
141
|
| `intercom_report_work` | `status`, `summary?` | Configured, responsibility-loaded workers; save a public report and notify coordinator, never approve/complete work |
|
|
133
142
|
| `intercom_stop_worker` | `to` | Unsupported graceful cancellation; no side effects |
|
|
@@ -141,6 +150,27 @@ Every tool rereads current config and checks the live Pi session ID. Names are c
|
|
|
141
150
|
|
|
142
151
|
Anonymous `send`/`list` and all coordinator operations fail explicitly. Anonymous registration and status remain available. A dedicated repeat-registration operation and broader anonymous permissions remain **unresolved contract TODOs**, not silently added tools. If initial registration fails, the worker remains reachable and reports the error locally. Explicit user Pi `/reload` restarts this extension and repeats startup registration; status is not a substitute and there is no automatic retry.
|
|
143
152
|
|
|
153
|
+
### Coordinator reminders (0.7.0)
|
|
154
|
+
|
|
155
|
+
A coordinator-local timer wakes an idle agent to review delegated work. It is **not** an endpoint health ping, task assignment, worker retry, or crashed-process watchdog. It starts disarmed and does not change shared config or the wire protocol.
|
|
156
|
+
|
|
157
|
+
- Valid coordinator calls to create, configure, resume, reload, request status from, message, or close a worker start/reset the timer **before the attempted operation**. A subsequent operation failure can still need follow-up, so it does not automatically cancel the timer.
|
|
158
|
+
- Every five minutes, recheck coordinator identity and whether Pi is idle. Busy ticks are skipped, not queued. Worker replies, incoming reports, list/JSON status reads (including probes), and worker-to-worker/coordinator messages do not reset it.
|
|
159
|
+
- `intercom_stop_reminders({})` disables reminders until the next qualifying call. It does not cancel workers, close jobs or model work. There is no automatic reminder-count cutoff.
|
|
160
|
+
- Timers are in memory only. Shutdown, Pi `/reload`, or session replacement disposes them; startup does not restore or replay them. Reset/stop invalidates stale callbacks and older in-flight calls cannot re-arm after a later stop.
|
|
161
|
+
- Aborting the owning tool's Pi run also disarms its reminder generation when that AbortSignal is available. This is **not universal Escape/Stop detection**: the host may later be in a separate retry/compaction run whose abort does not reach the original signal. Use the explicit stop tool to disable reminders reliably.
|
|
162
|
+
- Reminder delivery uses Pi's existing user-message path. Host input rejection remains possible (including the documented compaction gap); reminders are not immediately retried. The next normal tick is a new periodic check, not proof of prior delivery.
|
|
163
|
+
|
|
164
|
+
The reminder contains only this fixed public text, never task payloads or private reasoning:
|
|
165
|
+
|
|
166
|
+
> Intercom reminder: Review outstanding delegated work and worker reports. If follow-up is needed, take the next appropriate action. Do not assume workers have finished or stopped.
|
|
167
|
+
>
|
|
168
|
+
> If there is genuinely nothing to follow up on, call `intercom_stop_reminders`. Otherwise, reminders continue every five minutes; a new worker call resets the timer.
|
|
169
|
+
>
|
|
170
|
+
> This reminder does not authorize new work, retries, worker closure, or publication.
|
|
171
|
+
|
|
172
|
+
Reload the coordinator's extension to register the new tool and timer logic. No existing live session is armed merely by installing the change.
|
|
173
|
+
|
|
144
174
|
## Config and wire contracts
|
|
145
175
|
|
|
146
176
|
Shared, source-controlled file: `<root>/.pi-intercom/config.json`. Do not ignore it or split IDs/ports into runtime config. Example **schema only** (not automatically installed placeholder data):
|
|
@@ -264,6 +294,7 @@ Run these commands from a source checkout; tests and workflows are not shipped i
|
|
|
264
294
|
npm ci
|
|
265
295
|
npm run typecheck
|
|
266
296
|
npm test
|
|
297
|
+
npm audit --audit-level=low
|
|
267
298
|
npm run check:package
|
|
268
299
|
# Optional installed-host compatibility probe (confirms the known defect):
|
|
269
300
|
PI_INTERCOM_PI_ROOT='C:/path/to/pi-coding-agent' npm run test:host
|
|
@@ -273,11 +304,39 @@ The extension source runs through Pi's TypeScript loader; `npm run build` genera
|
|
|
273
304
|
|
|
274
305
|
## Publishing
|
|
275
306
|
|
|
276
|
-
[`.github/workflows/publish.yml`](https://github.com/
|
|
307
|
+
[`.github/workflows/publish.yml`](https://github.com/mbundgaard/pi-intercom/blob/main/.github/workflows/publish.yml) publishes **only on pushed version tags**. Ordinary commits, GitHub Release publication and manual dispatch do not publish. It checks out the triggering SHA, requires an annotated stable `vX.Y.Z` tag, and verifies the tag matches the package version and both lockfile version fields before installing dependencies.
|
|
308
|
+
|
|
309
|
+
Windows/Linux validation includes a clean install, typecheck, tests, full-tree security audit and package checks. The publisher packs and preserves an exact archive, publishes it with npm Trusted Publishing/OIDC and provenance (no stored npm token), then verifies the registry archive and decoded provenance linkage. Configure/check npm's trusted publisher as owner `mbundgaard`, repository `pi-intercom`, workflow `publish.yml`, no environment, with direct `npm publish` allowed.
|
|
310
|
+
|
|
311
|
+
Follow the [release procedure](references/releasing.md): review → choose an unused version/tag → update versions and changelog → validate → obtain explicit authorization → commit/push main → verify CI → create an annotated tag on that exact commit → push only that tag. Never trigger a second publisher, move tags, reuse published versions or blindly retry uncertain publication. Report success only after registry/artifact/linkage verification. Publishing does not install the extension or reload running sessions.
|
|
312
|
+
|
|
313
|
+
The tag-only workflow is a source change for future releases; historical tags retain their original workflow snapshots. Any security findings must be resolved before the audit gate can pass.
|
|
314
|
+
|
|
315
|
+
### 0.8.1 Tag-only releases and dependency security updates
|
|
316
|
+
|
|
317
|
+
- Publish only from pushed, annotated stable version tags, with exact-commit and package/lockfile version checks. GitHub Release and manual-dispatch publication triggers are removed.
|
|
318
|
+
- Add full-tree security audit gates to main/PR CI and release validation.
|
|
319
|
+
- Upgrade the development SDK to Pi 1.4.0 with a scoped `undici` 8.12.2 override and patched `brace-expansion` 5.0.12. Verify actual installed dependency versions as well as a clean audit; Pi 0.84.4's shrinkwrap prevented effective overrides. The runtime TUI alias stays at 0.84.4 and the Node minimum remains 22.19.0. This does not upgrade users' installed Pi.
|
|
320
|
+
- Keep handoff reporting model-only on newer SDKs: nested calls lack the transcript tool-result evidence required for closure. Existing final-settlement and persistence checks remain unchanged.
|
|
321
|
+
- Preserve and publish one archive using npm Trusted Publishing/OIDC, then compare the registry download and decoded provenance linkage against the release build.
|
|
322
|
+
- Document explicit release authorization, immutable tags, uncertain-publication handling, and installation/reload separation in [the release procedure](references/releasing.md).
|
|
323
|
+
- Includes the coordinator reminders and strict session-root isolation from the preserved, unpublished 0.7.0/0.8.0 tags. Shared-roster subfolder worker launches are refused rather than redirected to parent configuration.
|
|
324
|
+
|
|
325
|
+
### 0.8.0 Strict session-root isolation
|
|
326
|
+
|
|
327
|
+
- Never search parent folders for config, even when a local config is missing or malformed. An explicit root must canonically equal the session working directory; it cannot permit a parent config.
|
|
328
|
+
- Validate before startup resources, reject escaping/dangling config links and stable root redirects, and guard temporary-config cleanup. These are config protections, not a filesystem sandbox or atomic TOCTOU guarantee.
|
|
329
|
+
- Created/resumed workers receive an explicit same-directory root assertion. Shared-config subfolder launches are now rejected, not silently relocated. Existing registrations/history remain intact.
|
|
330
|
+
- Includes the coordinator reminders from the preserved 0.7.0 GitHub release, whose npm publication was blocked by authorization after the repository transfer.
|
|
331
|
+
- Local validation: 205 tests, typecheck and isolated package-install checks passed. Native Windows/Linux CI gates publication.
|
|
277
332
|
|
|
278
|
-
|
|
333
|
+
### 0.7.0 Coordinator reminders
|
|
279
334
|
|
|
280
|
-
|
|
335
|
+
- Valid coordinator worker calls arm/reset a five-minute reminder using fixed public text. Failed attempted operations can still need follow-up; incoming reports and read-only status queries do not reset the timer.
|
|
336
|
+
- New coordinator-only `intercom_stop_reminders` disables reminders until the next qualifying worker call. No automatic reminder-count cutoff, worker retry, closure or publication is authorized.
|
|
337
|
+
- Busy ticks are skipped without a backlog; stale callbacks and older in-flight calls are fenced. Shutdown/reload/session replacement clears ephemeral timer state.
|
|
338
|
+
- Owning-run AbortSignal cancellation is supported where available, but is not universal detection of later Escape/Stop during separate retry/compaction runs.
|
|
339
|
+
- Local validation: 183 tests, typecheck and isolated package-install checks. Update and reload the coordinator to activate the new tool; startup itself does not arm reminders.
|
|
281
340
|
|
|
282
341
|
### 0.6.1 Background handoff-and-close and quiet startup
|
|
283
342
|
|
package/dist/config.d.ts
CHANGED
|
@@ -39,10 +39,15 @@ export declare class ConfigStore {
|
|
|
39
39
|
private readonly options;
|
|
40
40
|
readonly file: string;
|
|
41
41
|
private tail;
|
|
42
|
+
private canonicalRoot?;
|
|
42
43
|
constructor(root: string, options?: ConfigStoreOptions);
|
|
44
|
+
private assertLocalPaths;
|
|
45
|
+
validateRoot(expectedCanonicalRoot: string): Promise<void>;
|
|
43
46
|
read(): Promise<Config>;
|
|
44
47
|
static discover(cwd: string): Promise<ConfigStore | undefined>;
|
|
48
|
+
static workspace(cwd: string, workspaceRoot: string): Promise<ConfigStore>;
|
|
45
49
|
protected openTemporary(file: string): Promise<import("fs/promises").FileHandle>;
|
|
50
|
+
private cleanupTemporary;
|
|
46
51
|
private temporary;
|
|
47
52
|
initialize(id: string, boundPort: number, assertValid?: () => void): Promise<boolean>;
|
|
48
53
|
private publish;
|
package/dist/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mkdir, readFile, realpath, rename, unlink, open, link, stat } from 'node:fs/promises';
|
|
1
|
+
import { mkdir, readFile, realpath, rename, unlink, open, link, stat, lstat } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { fencedClose, validateHandoff, validateCloseJob } from './handoff.js';
|
|
@@ -85,37 +85,97 @@ export class ConfigStore {
|
|
|
85
85
|
options;
|
|
86
86
|
file;
|
|
87
87
|
tail = Promise.resolve();
|
|
88
|
+
canonicalRoot;
|
|
88
89
|
constructor(root, options = {}) {
|
|
89
90
|
this.root = root;
|
|
90
91
|
this.options = options;
|
|
91
92
|
this.file = path.join(root, '.pi-intercom', 'config.json');
|
|
92
93
|
}
|
|
93
|
-
async
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
for
|
|
100
|
-
|
|
94
|
+
async assertLocalPaths() {
|
|
95
|
+
const root = await realpath(this.root);
|
|
96
|
+
if (this.canonicalRoot === undefined)
|
|
97
|
+
this.canonicalRoot = root;
|
|
98
|
+
else if (root !== this.canonicalRoot)
|
|
99
|
+
fail('config root canonical location changed');
|
|
100
|
+
// Reject existing escaping links/junctions before following them for any
|
|
101
|
+
// config access. These path checks are best effort, not TOCTOU protection.
|
|
102
|
+
for (const [location, directory] of [[path.dirname(this.file), true], [this.file, false]]) {
|
|
101
103
|
try {
|
|
102
|
-
await
|
|
103
|
-
return store;
|
|
104
|
+
await lstat(location);
|
|
104
105
|
}
|
|
105
106
|
catch (error) {
|
|
106
|
-
if (error.code
|
|
107
|
-
|
|
107
|
+
if (error.code === 'ENOENT')
|
|
108
|
+
continue;
|
|
109
|
+
throw error;
|
|
108
110
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
let resolved;
|
|
112
|
+
try {
|
|
113
|
+
resolved = await realpath(location);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
fail('local config path cannot be resolved safely');
|
|
117
|
+
}
|
|
118
|
+
const relative = path.relative(root, resolved);
|
|
119
|
+
if (relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative))
|
|
120
|
+
fail('local config path escapes session root');
|
|
121
|
+
const metadata = await stat(resolved);
|
|
122
|
+
if (directory ? !metadata.isDirectory() : !metadata.isFile())
|
|
123
|
+
fail('invalid local config path type');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async validateRoot(expectedCanonicalRoot) {
|
|
127
|
+
await this.assertLocalPaths();
|
|
128
|
+
if (this.canonicalRoot !== expectedCanonicalRoot)
|
|
129
|
+
fail('config root canonical location changed');
|
|
130
|
+
}
|
|
131
|
+
async read() {
|
|
132
|
+
// Missing, malformed and unreadable local files propagate; no fallback.
|
|
133
|
+
await this.assertLocalPaths();
|
|
134
|
+
return validateConfig(JSON.parse(await readFile(this.file, 'utf8')));
|
|
135
|
+
}
|
|
136
|
+
static async discover(cwd) {
|
|
137
|
+
const store = new ConfigStore(await realpath(cwd));
|
|
138
|
+
try {
|
|
139
|
+
await store.read();
|
|
140
|
+
return store;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
if (error.code !== 'ENOENT')
|
|
144
|
+
throw error;
|
|
145
|
+
return undefined;
|
|
113
146
|
}
|
|
114
147
|
}
|
|
148
|
+
static async workspace(cwd, workspaceRoot) {
|
|
149
|
+
text(workspaceRoot, 'workspaceRoot');
|
|
150
|
+
if (!path.isAbsolute(workspaceRoot))
|
|
151
|
+
fail('workspaceRoot must be absolute');
|
|
152
|
+
const root = await realpath(workspaceRoot);
|
|
153
|
+
if (!(await stat(root)).isDirectory())
|
|
154
|
+
fail('workspaceRoot is not a directory');
|
|
155
|
+
const current = await realpath(cwd);
|
|
156
|
+
if (path.relative(root, current) !== '')
|
|
157
|
+
fail('workspaceRoot must equal the session working directory; parent configs are forbidden');
|
|
158
|
+
const store = new ConfigStore(root);
|
|
159
|
+
await store.read(); // Explicit worker mode must never create a replacement coordinator.
|
|
160
|
+
return store;
|
|
161
|
+
}
|
|
115
162
|
openTemporary(file) { return open(file, 'wx'); }
|
|
163
|
+
async cleanupTemporary(temp) {
|
|
164
|
+
// A moved root may leave an unpublished temp behind. Never follow a
|
|
165
|
+
// replacement parent outside the pinned root just to clean up. This guard
|
|
166
|
+
// is independent of lifecycle/deadline expiry so ordinary failures clean up.
|
|
167
|
+
await this.assertLocalPaths();
|
|
168
|
+
const resolved = await realpath(temp);
|
|
169
|
+
const relative = path.relative(this.canonicalRoot, resolved);
|
|
170
|
+
if (relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative))
|
|
171
|
+
fail('temporary config path escapes session root');
|
|
172
|
+
await unlink(temp);
|
|
173
|
+
}
|
|
116
174
|
async temporary(config) {
|
|
117
175
|
validateConfig(config);
|
|
176
|
+
await this.assertLocalPaths();
|
|
118
177
|
await mkdir(path.dirname(this.file), { recursive: true });
|
|
178
|
+
await this.assertLocalPaths();
|
|
119
179
|
const temp = `${this.file}.${randomUUID()}.tmp`;
|
|
120
180
|
const handle = await this.openTemporary(temp);
|
|
121
181
|
try {
|
|
@@ -127,7 +187,7 @@ export class ConfigStore {
|
|
|
127
187
|
catch (error) {
|
|
128
188
|
// Cleanup failures must not replace the original write/sync/close error.
|
|
129
189
|
await handle.close().catch(() => { });
|
|
130
|
-
await
|
|
190
|
+
await this.cleanupTemporary(temp).catch(() => { });
|
|
131
191
|
throw error;
|
|
132
192
|
}
|
|
133
193
|
}
|
|
@@ -137,6 +197,7 @@ export class ConfigStore {
|
|
|
137
197
|
assertValid();
|
|
138
198
|
const temp = await this.temporary({ version: 1, multiplexer: 'herdr', agents: [{ sessionId: id, name: 'Coordinator', coordinator: true, description: DEFAULT_DESCRIPTION, port: boundPort, projectDirectory: '.' }] });
|
|
139
199
|
try {
|
|
200
|
+
await this.assertLocalPaths();
|
|
140
201
|
assertValid();
|
|
141
202
|
try {
|
|
142
203
|
await link(temp, this.file);
|
|
@@ -145,14 +206,14 @@ export class ConfigStore {
|
|
|
145
206
|
if (e.code !== 'EEXIST')
|
|
146
207
|
throw e;
|
|
147
208
|
await this.read();
|
|
148
|
-
await
|
|
209
|
+
await this.cleanupTemporary(temp);
|
|
149
210
|
return false;
|
|
150
211
|
}
|
|
151
|
-
await
|
|
212
|
+
await this.cleanupTemporary(temp);
|
|
152
213
|
return true;
|
|
153
214
|
}
|
|
154
215
|
catch (error) {
|
|
155
|
-
await
|
|
216
|
+
await this.cleanupTemporary(temp).catch(() => { });
|
|
156
217
|
throw error;
|
|
157
218
|
}
|
|
158
219
|
}
|
|
@@ -167,6 +228,7 @@ export class ConfigStore {
|
|
|
167
228
|
// of this already synced/closed temp, never the mutation or any OS action
|
|
168
229
|
// outside config persistence. The elapsed budget bounds retry initiation,
|
|
169
230
|
// not the duration of an already-submitted OS rename.
|
|
231
|
+
await this.assertLocalPaths();
|
|
170
232
|
assertValid();
|
|
171
233
|
if (attempt > 0 && now() - started >= RENAME_BUDGET_MS)
|
|
172
234
|
throw originalError;
|
|
@@ -201,7 +263,7 @@ export class ConfigStore {
|
|
|
201
263
|
await this.publish(temp, assertValid);
|
|
202
264
|
}
|
|
203
265
|
catch (error) {
|
|
204
|
-
await
|
|
266
|
+
await this.cleanupTemporary(temp).catch(() => { });
|
|
205
267
|
throw error;
|
|
206
268
|
}
|
|
207
269
|
return c;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import { createActivityTracker } from './activity.js';
|
|
|
10
10
|
import { createCloseProvider } from './pane-close.js';
|
|
11
11
|
const to = Type.Object({ to: Type.String({ minLength: 1, maxLength: 128 }) });
|
|
12
12
|
const tools = [
|
|
13
|
-
['create_worker', 'Coordinator only. Launch one anonymous worker
|
|
13
|
+
['create_worker', 'Coordinator only. Launch one anonymous worker at the coordinator root. projectDirectory defaults to root and must resolve to that same directory; subfolder launches cannot use a parent config and are refused. No assignment, configuration, or registration wait.', Type.Object({ projectDirectory: Type.Optional(Type.String()) })],
|
|
14
14
|
['configure_worker', 'Coordinator only. Write explicit reported connection details and responsibility to config. Does not notify, reload, or start work. Use reload_worker separately.', Type.Object({ sessionId: Type.String(), port: Type.Integer({ minimum: 1, maximum: 65535 }), projectDirectory: Type.String(), name: Type.String({ minLength: 1, maxLength: 128 }), description: Type.String({ minLength: 1, maxLength: 4096 }) })],
|
|
15
15
|
['reload_worker', 'Coordinator only. Ask worker to reread responsibility and synchronize names. NOT Pi extension reload, cancellation, restart, or work assignment.', to],
|
|
16
16
|
['send', 'Configured sessions only. Send an explicit work/progress/findings message by recipient name. Idle delivery starts a turn; busy delivery steers at supported boundaries. Receipt is not an agent reply. Progress questions do not cancel assignments.', Type.Object({ to: Type.String(), message: Type.String({ minLength: 1, maxLength: 48000 }) })],
|
|
@@ -18,11 +18,12 @@ const tools = [
|
|
|
18
18
|
['list', 'Configured sessions only. Read current saved names, responsibilities, session IDs, roles and ports. No live probing. Output limited to 50 KiB/2000 lines; full data remains in config.json.', Type.Object({})],
|
|
19
19
|
['request_status', 'Coordinator only. Ask worker extension to send an independent sessionId/port/busy report without a model turn on worker. No synchronous status reply.', to],
|
|
20
20
|
['report_work', 'Configured, responsibility-loaded workers only. Store one public report (blocked, needs_decision, ready_for_review) and notify the coordinator; clear retires it. Summary required except clear (omit or empty). Never include private reasoning, credentials, raw tool payloads, or secrets. Receipt is not approval, verified completion, or permission for follow-up work.', Type.Object({ status: Type.String({ enum: ['blocked', 'needs_decision', 'ready_for_review', 'clear'] }), summary: Type.Optional(Type.String({ maxLength: 2000 })) })],
|
|
21
|
+
['stop_reminders', 'Coordinator only. Disable the five-minute orchestration reminders until the next worker-directed call. Use when there is genuinely nothing to follow up on. Stops only reminders, not workers, close jobs or model work. Reminder state is session-local and clears on shutdown/reload.', Type.Object({})],
|
|
21
22
|
['report_status', 'Worker only (including anonymous). Send runtime sessionId/port/busy report to coordinator. This is NOT registration and creates no config entry.', Type.Object({})],
|
|
22
23
|
['stop_worker', UNSUPPORTED_CANCELLATION, to],
|
|
23
24
|
['close_worker', 'Coordinator only. Begin a background save-handoff-and-close job for a configured worker in Linux Herdr. Requests a public summary, saves it in config, waits for successful tool persistence and final turn settlement, then attempts one verified pane close. Returns job acceptance, not completion. Registration/session history are retained. Check worker_status/list for closeJob; failure/timeout/uncertainty never authorizes retry. Not graceful abort or an all-descendants termination guarantee; Windows/non-Herdr unsupported.', to],
|
|
24
25
|
['report_handoff', 'Configured worker only, in response to its pending close request. Submit the matching jobId and concise public resume handoff (current work, completed work, unfinished items, blockers, next step). Never include secrets, private reasoning or raw tool payloads. Saved receipt is not closure: finish the response and wait; the extension requires final turn settlement before pane closure.', Type.Object({ jobId: Type.String({ minLength: 1, maxLength: 128 }), summary: Type.String({ minLength: 1, maxLength: 4000 }) })],
|
|
25
|
-
['resume_worker', 'Coordinator only. Resume saved session/name/responsibility after the user explicitly confirms the old session was closed: set confirmClosed:true only for that confirmation, never infer it from disconnected status. A matching live health endpoint blocks launch. In-flight/uncertain attempts are fenced until worker status arrives; otherwise inspect process and reload coordinator before considering retry. No cross-process uniqueness guarantee, automatic assignment, replacement or removal.', Type.Object({ to: Type.String({ minLength: 1, maxLength: 128 }), confirmClosed: Type.Boolean() })],
|
|
26
|
+
['resume_worker', 'Coordinator only. Resume saved session/name/responsibility after the user explicitly confirms the old session was closed: set confirmClosed:true only for that confirmation, never infer it from disconnected status. A matching live health endpoint blocks launch. In-flight/uncertain attempts are fenced until worker status arrives; otherwise inspect process and reload coordinator before considering retry. Saved subfolder launches are refused rather than relocated, because a worker cannot use a parent config. No cross-process uniqueness guarantee, automatic assignment, replacement or removal.', Type.Object({ to: Type.String({ minLength: 1, maxLength: 128 }), confirmClosed: Type.Boolean() })],
|
|
26
27
|
['remove_worker', 'Coordinator only. Remove config entry only; never stop process or delete session files. A running worker must be explicitly closed before removal. Retain registration to resume it later; remove only to forget it. Pending or uncertain close jobs block removal.', to],
|
|
27
28
|
['set_multiplexer', 'Coordinator only. Set herdr (default, Windows/Linux) or none (separate visible Windows terminals; unsupported on Linux) for future launches. Never move/restart existing workers or fall back.', Type.Object({ multiplexer: Type.String({ enum: ['herdr', 'none'] }) })],
|
|
28
29
|
];
|
|
@@ -43,6 +44,10 @@ class PiConfigStore extends ConfigStore {
|
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
export default function intercomExtension(pi) {
|
|
47
|
+
pi.registerFlag('intercom-root', {
|
|
48
|
+
type: 'string',
|
|
49
|
+
description: 'Explicit Intercom root must equal this session cwd; parent configuration is never allowed, even with this flag.',
|
|
50
|
+
});
|
|
46
51
|
let runtime;
|
|
47
52
|
let context;
|
|
48
53
|
let generation = 0;
|
|
@@ -111,6 +116,11 @@ export default function intercomExtension(pi) {
|
|
|
111
116
|
throw new Error('PiIntercom requires Windows or Linux interactive Pi. No resources started.');
|
|
112
117
|
if (!ctx.isProjectTrusted())
|
|
113
118
|
throw new Error('PiIntercom requires project trust before honoring shared project configuration.');
|
|
119
|
+
// Flags become available at session_start, not extension factory time. Never
|
|
120
|
+
// infer workspace authority from ancestors or inherited environment values.
|
|
121
|
+
const workspaceRoot = pi.getFlag('intercom-root');
|
|
122
|
+
if (workspaceRoot !== undefined && typeof workspaceRoot !== 'string')
|
|
123
|
+
throw new Error('PiIntercom: intercom-root must be an explicit absolute path.');
|
|
114
124
|
runtime = new Intercom({
|
|
115
125
|
cwd: ctx.cwd,
|
|
116
126
|
sessionId: () => context.sessionManager.getSessionId(),
|
|
@@ -122,7 +132,7 @@ export default function intercomExtension(pi) {
|
|
|
122
132
|
pi.setSessionName(name); await launcher.syncName(name); },
|
|
123
133
|
notify: text => ctx.ui.notify(text, 'info'),
|
|
124
134
|
}, {
|
|
125
|
-
launch: launcher.launch, store: root => new PiConfigStore(root),
|
|
135
|
+
launch: launcher.launch, store: root => new PiConfigStore(root), workspaceRoot,
|
|
126
136
|
closeProvider: createCloseProvider({
|
|
127
137
|
sessionId: () => context.sessionManager.getSessionId(),
|
|
128
138
|
sessionFile: () => context.sessionManager.getSessionFile(),
|
|
@@ -229,13 +239,17 @@ export default function intercomExtension(pi) {
|
|
|
229
239
|
for (const [operation, description, parameters] of tools) {
|
|
230
240
|
pi.registerTool({
|
|
231
241
|
name: `intercom_${operation}`, label: `Intercom ${operation}`, description, parameters,
|
|
242
|
+
// Handoff readiness requires this call's successful transcript tool result.
|
|
243
|
+
// Pi1.x enforces model-only for nested calls;0.84 ignores this optional field
|
|
244
|
+
// and has no nested-tool API. Never substitute a parent result as proof.
|
|
245
|
+
exposure: operation === 'report_handoff' ? 'model-only' : 'direct',
|
|
232
246
|
async execute(_id, args, signal, _update, ctx) {
|
|
233
247
|
signal?.throwIfAborted();
|
|
234
248
|
context = ctx;
|
|
235
249
|
if (!runtime)
|
|
236
250
|
throw new Error('PiIntercom not initialized; inspect startup error.');
|
|
237
251
|
const current = runtime, started = generation;
|
|
238
|
-
const result = await current.tool(operation, args, _id);
|
|
252
|
+
const result = await current.tool(operation, args, _id, signal);
|
|
239
253
|
if (operation === 'configure_worker')
|
|
240
254
|
await ensureCoordinatorMonitor(current, ctx, started);
|
|
241
255
|
const output = truncateHead(JSON.stringify(result, null, 2));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/launcher.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
2
|
import { promisify } from 'node:util';
|
|
3
|
+
import path from 'node:path';
|
|
3
4
|
import { fail } from './config.js';
|
|
4
5
|
export const run = async (file, args) => {
|
|
5
6
|
const { stdout } = await promisify(execFile)(file, args, { windowsHide: true, timeout: 40000, maxBuffer: 1024 * 1024 });
|
|
@@ -14,11 +15,20 @@ export function launchers(options) {
|
|
|
14
15
|
const platform = options.platform ?? process.platform;
|
|
15
16
|
if (platform !== 'win32' && platform !== 'linux')
|
|
16
17
|
fail('launchers support Windows and Linux only');
|
|
18
|
+
const paths = platform === 'win32' ? path.win32 : path.posix;
|
|
19
|
+
if (typeof request.workspaceRoot !== 'string' || !request.workspaceRoot.trim() || request.workspaceRoot.includes('\0') || !paths.isAbsolute(request.workspaceRoot))
|
|
20
|
+
fail('worker launch requires an explicit absolute workspace root');
|
|
21
|
+
// Runtime performs authoritative realpath equality before reading config.
|
|
22
|
+
// Defend direct launcher calls too, without filesystem access or cwd rewrites.
|
|
23
|
+
const samePath = (value) => platform === 'win32' ? paths.resolve(value).toLowerCase() : paths.resolve(value);
|
|
24
|
+
if (typeof request.cwd !== 'string' || !paths.isAbsolute(request.cwd) || samePath(request.workspaceRoot) !== samePath(request.cwd))
|
|
25
|
+
fail('worker workspace root must equal its working directory; parent workspace access is not allowed');
|
|
17
26
|
if (platform === 'linux' && request.multiplexer === 'none')
|
|
18
27
|
fail('Linux worker launching requires Herdr; none is Windows-only. No terminal fallback');
|
|
19
28
|
if (request.sessionId && !await options.sessionExists(request.cwd, request.sessionId))
|
|
20
29
|
fail('saved Pi session not found in project directory; never-used sessions may not be persisted. Config unchanged; no replacement launched');
|
|
21
|
-
|
|
30
|
+
// Explicit per-child CLI scope cannot widen cwd or leak from a parent shell environment.
|
|
31
|
+
const args = ['-e', options.extension, '--intercom-root', request.workspaceRoot, ...(request.sessionId ? ['--session', request.sessionId] : [])];
|
|
22
32
|
if (request.multiplexer === 'herdr') {
|
|
23
33
|
if (env.HERDR_ENV !== '1' || !env.HERDR_WORKSPACE_ID)
|
|
24
34
|
fail('Herdr launcher requires this Pi to run inside a Herdr-managed workspace; no fallback');
|
package/dist/launcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,MAAM,CAAC,MAAM,GAAG,GAAQ,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IACxH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC7E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;AAClF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAQ7F,MAAM,UAAU,SAAS,CAAC,OAAwB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAClE,KAAK,UAAU,MAAM,CAAC,OAAsB;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;QACtD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;YAAE,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACnG,IAAI,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM;YAAE,IAAI,CAAC,mFAAmF,CAAC,CAAC;QACtJ,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,sIAAsI,CAAC,CAAC;QACpO,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const REMINDER_INTERVAL_MS: number;
|
|
2
|
+
export declare const REMINDER_TEXT = "Intercom reminder: Review outstanding delegated work and worker reports. If follow-up is needed, take the next appropriate action. Do not assume workers have finished or stopped.\n\nIf there is genuinely nothing to follow up on, call intercom_stop_reminders. Otherwise, reminders continue every five minutes; a new worker call resets the timer.\n\nThis reminder does not authorize new work, retries, worker closure, or publication.";
|
|
3
|
+
export interface ReminderClock {
|
|
4
|
+
schedule(callback: () => void, milliseconds: number): () => void;
|
|
5
|
+
}
|
|
6
|
+
interface ReminderHost {
|
|
7
|
+
isCoordinator(): Promise<boolean>;
|
|
8
|
+
busy(): boolean;
|
|
9
|
+
deliver(text: string): void;
|
|
10
|
+
}
|
|
11
|
+
/** Ephemeral reminder only: never worker actions, network retries or a backlog. */
|
|
12
|
+
export declare class CoordinatorReminders {
|
|
13
|
+
private readonly host;
|
|
14
|
+
private readonly timer;
|
|
15
|
+
private generation;
|
|
16
|
+
private tick;
|
|
17
|
+
private checking;
|
|
18
|
+
private disposed;
|
|
19
|
+
private cancel?;
|
|
20
|
+
private detachOwner?;
|
|
21
|
+
constructor(host: ReminderHost, timer?: ReminderClock);
|
|
22
|
+
arm(signal?: AbortSignal): void;
|
|
23
|
+
stop(): void;
|
|
24
|
+
dispose(): void;
|
|
25
|
+
private current;
|
|
26
|
+
private schedule;
|
|
27
|
+
}
|
|
28
|
+
export {};
|