pi-daddy 0.48.1 → 0.48.2
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 +6 -0
- package/README.md +7 -1
- package/dist/executors/herdr-agent-display.d.ts +10 -0
- package/dist/executors/herdr-agent-display.d.ts.map +1 -0
- package/dist/executors/herdr-agent-display.js +68 -0
- package/dist/executors/herdr-agent-display.js.map +1 -0
- package/dist/executors/herdr-launcher.d.ts.map +1 -1
- package/dist/executors/herdr-launcher.js +8 -1
- package/dist/executors/herdr-launcher.js.map +1 -1
- package/dist/executors/herdr-owned.d.ts +2 -0
- package/dist/executors/herdr-owned.d.ts.map +1 -1
- package/dist/executors/herdr-owned.js +33 -3
- package/dist/executors/herdr-owned.js.map +1 -1
- package/extensions/execute-child.ts +1 -0
- package/package.json +1 -1
- package/src/executors/herdr-agent-display.ts +72 -0
- package/src/executors/herdr-launcher.ts +8 -1
- package/src/executors/herdr-owned.ts +36 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog — pi-daddy
|
|
2
2
|
|
|
3
|
+
## 0.48.2 — 2026-10-09
|
|
4
|
+
|
|
5
|
+
Restore governed children in Herdr's native agent sidebar. Active entries show the role, and tabs are named for that role instead of all using the same generic label. Update pi-daddy and restart Pi to use the fix.
|
|
6
|
+
|
|
7
|
+
The pane launcher reports activity through Herdr's existing lifecycle API and releases its own entry after process settlement. A matching native receipt lets the coordinator clear an entry if the launcher dies. Retained output tabs remain inspectable without falsely showing a running child. Display failures do not alter permission checks, native cleanup or task results.
|
|
8
|
+
|
|
3
9
|
## 0.48.1 — 2026-10-09
|
|
4
10
|
|
|
5
11
|
Use Herdr's live structured CLI compatibility status instead of requiring exact client/server release 0.8.2 and private protocol 20. Compatible mixed releases can delegate in separate tabs; incompatible or malformed status still refuses. Require a successful actual tab-list response before selecting Herdr. Native ownership, final validation, cancellation and cleanup receipts remain unchanged.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# pi-daddy
|
|
2
2
|
|
|
3
|
-
Source target: **0.48.
|
|
3
|
+
Source target: **0.48.2**. Before installation, verify that `npm view pi-daddy version` and Git tag `v0.48.2` both resolve to this release.
|
|
4
4
|
|
|
5
5
|
**Capability governance and coordination for [pi](https://github.com/badlogic/pi-mono)'s multi-level agent system.**
|
|
6
6
|
An orchestrator grants each sub-agent a deliberate subset of what it holds and withholds the rest. A sub-agent may
|
|
@@ -259,6 +259,12 @@ Final capture preserves whitespace and concatenates text blocks without insertin
|
|
|
259
259
|
|
|
260
260
|
Retained capacity is rechecked against the original bound ownership and settlement receipt before a new single, parallel or chain dispatch. Exact later proof refunds the reservation once; missing, malformed or mismatched proof and unbound ownership remain retained. Recovery does not rewrite the original failed/unknown outcome or mint new capacity on reload. A single delegation reserves its available subtree; use `delegate_all` to allocate independent parallel children.
|
|
261
261
|
|
|
262
|
+
Governed Herdr children appear in the native agent sidebar while running, with their role (for example
|
|
263
|
+
Plan, Build or Review) and a corresponding named tab. Sidebar state is observational: native process
|
|
264
|
+
receipts still determine settlement. A settled child leaves the active agent list; with
|
|
265
|
+
`PI_DADDY_HERDR_KEEP_PANE=1`, its output tab remains for inspection, without a live interactive child.
|
|
266
|
+
Missing sidebar delivery is reported but does not change the execution result.
|
|
267
|
+
|
|
262
268
|
Set `PI_DADDY_HERDR=0` for captured execution or `PI_DADDY_HERDR=1` to demand Herdr panes. An unset value
|
|
263
269
|
probes for a responding server. Startup requires a successful tab-list response and live JSON server status
|
|
264
270
|
reporting a running, CLI-compatible transport. Newer release numbers and an older compatible server do not
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface HerdrAgentDisplay {
|
|
2
|
+
source: string;
|
|
3
|
+
role: string;
|
|
4
|
+
}
|
|
5
|
+
/** The pane launcher owns these reports, so coordinator loss still reaches native cleanup and release. */
|
|
6
|
+
export declare function herdrAgentDisplay(display: HerdrAgentDisplay, env?: NodeJS.ProcessEnv): {
|
|
7
|
+
working: () => Promise<boolean>;
|
|
8
|
+
finish: (settled: boolean) => Promise<boolean>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=herdr-agent-display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"herdr-agent-display.d.ts","sourceRoot":"","sources":["../../src/executors/herdr-agent-display.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AACD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB;;sBA2D5E,OAAO;EAK5B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** Herdr sidebar observations only; never permission, execution or settlement authority. */
|
|
2
|
+
import { createConnection } from "node:net";
|
|
3
|
+
/** The pane launcher owns these reports, so coordinator loss still reaches native cleanup and release. */
|
|
4
|
+
export function herdrAgentDisplay(display, env = process.env) {
|
|
5
|
+
let pending = Promise.resolve(false);
|
|
6
|
+
const socketPath = env.HERDR_SOCKET_PATH, paneId = env.HERDR_PANE_ID;
|
|
7
|
+
function publish(method, extra, seq) {
|
|
8
|
+
pending = pending.then(async () => {
|
|
9
|
+
if (env.HERDR_ENV !== "1" || !socketPath || !paneId)
|
|
10
|
+
return false;
|
|
11
|
+
const request = {
|
|
12
|
+
id: display.source + ":" + seq,
|
|
13
|
+
method,
|
|
14
|
+
params: { pane_id: paneId, source: display.source, agent: "pi", seq, ...extra },
|
|
15
|
+
};
|
|
16
|
+
const delivered = await new Promise((resolve) => {
|
|
17
|
+
let finished = false, buffer = "";
|
|
18
|
+
const socket = createConnection(socketPath);
|
|
19
|
+
const finish = (ok) => {
|
|
20
|
+
if (finished)
|
|
21
|
+
return;
|
|
22
|
+
finished = true;
|
|
23
|
+
clearTimeout(timer);
|
|
24
|
+
socket.destroy();
|
|
25
|
+
resolve(ok);
|
|
26
|
+
};
|
|
27
|
+
const timer = setTimeout(() => finish(false), 750);
|
|
28
|
+
socket.on("error", () => finish(false));
|
|
29
|
+
socket.on("end", () => finish(false));
|
|
30
|
+
socket.on("connect", () => socket.write(JSON.stringify(request) + "\n"));
|
|
31
|
+
socket.on("data", (bytes) => {
|
|
32
|
+
buffer += bytes.toString();
|
|
33
|
+
if (buffer.length > 16384)
|
|
34
|
+
return finish(false);
|
|
35
|
+
const end = buffer.indexOf("\n");
|
|
36
|
+
if (end < 0)
|
|
37
|
+
return;
|
|
38
|
+
try {
|
|
39
|
+
const reply = JSON.parse(buffer.slice(0, end));
|
|
40
|
+
finish(reply.id === request.id && !reply.error && reply.result !== undefined);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
finish(false);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}).catch(() => false);
|
|
47
|
+
if (!delivered)
|
|
48
|
+
console.error("pi-daddy: Herdr agent sidebar report unavailable");
|
|
49
|
+
return delivered;
|
|
50
|
+
});
|
|
51
|
+
return pending;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
working: () => {
|
|
55
|
+
void publish("pane.report_agent", { state: "working" }, 1);
|
|
56
|
+
// Metadata has its own sequence namespace and is visible only while our exact lifecycle source owns the pane.
|
|
57
|
+
return publish("pane.report_metadata", {
|
|
58
|
+
applies_to_source: display.source,
|
|
59
|
+
title: display.role,
|
|
60
|
+
display_agent: "Pi / " + display.role,
|
|
61
|
+
}, 1);
|
|
62
|
+
},
|
|
63
|
+
finish: (settled) => settled
|
|
64
|
+
? publish("pane.release_agent", {}, 2)
|
|
65
|
+
: publish("pane.report_agent", { state: "unknown", message: "Native cleanup is unverified" }, 2),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=herdr-agent-display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"herdr-agent-display.js","sourceRoot":"","sources":["../../src/executors/herdr-agent-display.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-launcher.d.ts","sourceRoot":"","sources":["../../src/executors/herdr-launcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"herdr-launcher.d.ts","sourceRoot":"","sources":["../../src/executors/herdr-launcher.ts"],"names":[],"mappings":"AAOA,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHxF"}
|
|
@@ -4,6 +4,7 @@ import { processTreeActivity } from "./process-activity.js";
|
|
|
4
4
|
import { createConnection } from "node:net";
|
|
5
5
|
import { runOwnedChild } from "./owned-worker.js";
|
|
6
6
|
import { wire } from "./herdr-wire.js";
|
|
7
|
+
import { herdrAgentDisplay } from "./herdr-agent-display.js";
|
|
7
8
|
export async function launchHerdrWorker(socketPath, token) {
|
|
8
9
|
const socket = createConnection(socketPath);
|
|
9
10
|
const abort = new AbortController();
|
|
@@ -38,6 +39,8 @@ export async function launchHerdrWorker(socketPath, token) {
|
|
|
38
39
|
authenticated = true;
|
|
39
40
|
const request = message.request;
|
|
40
41
|
let childPid;
|
|
42
|
+
const display = herdrAgentDisplay(message.display);
|
|
43
|
+
let settled = false;
|
|
41
44
|
void (async () => {
|
|
42
45
|
try {
|
|
43
46
|
const result = await runOwnedChild({
|
|
@@ -79,17 +82,21 @@ export async function launchHerdrWorker(socketPath, token) {
|
|
|
79
82
|
},
|
|
80
83
|
onSpawn: (pid) => {
|
|
81
84
|
childPid = pid;
|
|
85
|
+
void display.working();
|
|
82
86
|
send({ type: "spawned", pid });
|
|
83
87
|
process.stdout.write("pi-daddy: governed child running\n");
|
|
84
88
|
},
|
|
85
89
|
});
|
|
90
|
+
settled = result.cleanup.state === "settled" || result.cleanup.state === "not-started";
|
|
91
|
+
const displayReleased = await display.finish(settled);
|
|
86
92
|
if (!socket.destroyed) {
|
|
87
|
-
send({ type: "result", result });
|
|
93
|
+
send({ type: "result", result, displayReleased: settled && displayReleased });
|
|
88
94
|
socket.end();
|
|
89
95
|
}
|
|
90
96
|
process.stdout.write("\npi-daddy: " + result.cleanup.state + "\n");
|
|
91
97
|
}
|
|
92
98
|
catch (error) {
|
|
99
|
+
await display.finish(settled);
|
|
93
100
|
if (!socket.destroyed) {
|
|
94
101
|
try {
|
|
95
102
|
send({ type: "failure", reason: String(error) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-launcher.js","sourceRoot":"","sources":["../../src/executors/herdr-launcher.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA6B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,KAAa;IACvE,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,EACjB,aAAa,GAAG,KAAK,EACrB,WAAqC,EACrC,UAAgD,CAAC;IACnD,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,EAAE;QAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,EACN,CAAC,OAAO,EAAE,EAAE;QACV,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,UAAU,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,IAAI,aAAa,EAAE,CAAC;YAC/C,WAAW,EAAE,EAAE,CAAC;YAChB,WAAW,GAAG,SAAS,CAAC;YACxB,UAAU,GAAG,SAAS,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,aAAa,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;QACf,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,OAA0D,CAAC;QACnF,IAAI,QAA4B,CAAC;QACjC,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;oBACjC,GAAG,OAAO;oBACV,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,aAAa,EAAE,KAAK,IAAI,EAAE;wBACxB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW;4BAC9B,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;iCAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;iCAC7C,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;4BAC3B,CAAC,CAAC,SAAS,CAAC;wBACd,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBACtF,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;oBAC1F,CAAC;oBACD,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CACxB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACpC,WAAW,GAAG,OAAO,CAAC;wBACtB,UAAU,GAAG,MAAM,CAAC;wBACpB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACzB,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC,CAAC;4BACrE,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxC,CAAC,CAAC;oBACJ,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBAC/B,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACjC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK;gCACzD,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrG,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC;oBACD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;wBACtB,IAAI,CAAC;4BACH,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;wBACvC,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACZ,CAAC;oBACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;wBACf,QAAQ,GAAG,GAAG,CAAC;wBACf,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAC7D,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"herdr-launcher.js","sourceRoot":"","sources":["../../src/executors/herdr-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export interface HerdrOwnedOptions {
|
|
|
8
8
|
onDisplay?: (display: (text: string) => void) => void;
|
|
9
9
|
/** Tests may select a freshly built launcher. Production always uses the packaged build. */
|
|
10
10
|
launcherPath?: string;
|
|
11
|
+
/** Human-readable role; display only, never a dispatch selector. */
|
|
12
|
+
displayName?: string;
|
|
11
13
|
}
|
|
12
14
|
export declare function runHerdrOwned(request: OwnedChildRunRequest, options?: HerdrOwnedOptions): Promise<OwnedChildRunResult>;
|
|
13
15
|
//# sourceMappingURL=herdr-owned.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-owned.d.ts","sourceRoot":"","sources":["../../src/executors/herdr-owned.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOnF,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIzE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACtD,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"herdr-owned.d.ts","sourceRoot":"","sources":["../../src/executors/herdr-owned.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOnF,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIzE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACtD,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAoQ9B"}
|
|
@@ -14,10 +14,13 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
14
14
|
const exec = options.exec ?? defaultExec;
|
|
15
15
|
const directory = await mkdtemp(join(tmpdir(), "pd-herdr-"));
|
|
16
16
|
const path = join(directory, "owner.sock"), token = randomUUID();
|
|
17
|
+
const role = (options.displayName ?? "child").replace(/[^a-zA-Z0-9_-]/g, "-").slice(0, 48) || "child";
|
|
18
|
+
const display = { source: "pi-daddy:" + randomUUID(), role };
|
|
17
19
|
const launcher = options.launcherPath ?? fileURLToPath(new URL("../../dist/executors/herdr-launcher.js", import.meta.url));
|
|
18
20
|
const helper = fileURLToPath(new URL("../../native/linux-x64/worker", import.meta.url));
|
|
19
21
|
let socket, send;
|
|
20
22
|
let identity, outcome, error;
|
|
23
|
+
let paneId, settled = false, displayReleased = false;
|
|
21
24
|
let tabId, entered = false, done = false, authenticated = false;
|
|
22
25
|
let finish;
|
|
23
26
|
const startupTimer = setTimeout(() => {
|
|
@@ -51,7 +54,7 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
51
54
|
authenticated = true;
|
|
52
55
|
clearTimeout(startupTimer);
|
|
53
56
|
const { signal: _signal, onOwnership: _owner, onSpawn: _spawn, onOutput: _out, onObservation: _observation, onStreamEnd: _end, activityProbe: _probe, ...serializable } = request;
|
|
54
|
-
send({ type: "request", request: serializable });
|
|
57
|
+
send({ type: "request", request: serializable, display });
|
|
55
58
|
return;
|
|
56
59
|
}
|
|
57
60
|
if (message?.type === "ownership") {
|
|
@@ -107,6 +110,7 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
107
110
|
}
|
|
108
111
|
if (message?.type === "result" && !outcome) {
|
|
109
112
|
outcome = message.result;
|
|
113
|
+
displayReleased = message.displayReleased === true;
|
|
110
114
|
return;
|
|
111
115
|
}
|
|
112
116
|
if (message?.type === "failure") {
|
|
@@ -150,7 +154,7 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
150
154
|
"--cwd",
|
|
151
155
|
request.cwd,
|
|
152
156
|
"--label",
|
|
153
|
-
"pi-daddy
|
|
157
|
+
"pi-daddy " + role,
|
|
154
158
|
"--no-focus",
|
|
155
159
|
...(options.workspace ? ["--workspace", options.workspace] : []),
|
|
156
160
|
]));
|
|
@@ -160,7 +164,8 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
160
164
|
tabId = pane?.tab_id;
|
|
161
165
|
if (!pane?.pane_id || !tabId)
|
|
162
166
|
throw Error("Herdr creation returned no exact pane/tab identity");
|
|
163
|
-
|
|
167
|
+
paneId = pane.pane_id;
|
|
168
|
+
options.onPane?.(paneId, tabId);
|
|
164
169
|
if (error || request.signal?.aborted)
|
|
165
170
|
throw Error(error ?? "cancelled before Herdr command launch");
|
|
166
171
|
entered = true;
|
|
@@ -185,6 +190,7 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
185
190
|
const receipt = await readCapturedWorkerReceipt(identity);
|
|
186
191
|
if (!receipt)
|
|
187
192
|
throw Error("Herdr worker supplied no independently verified cleanup receipt");
|
|
193
|
+
settled = true;
|
|
188
194
|
return { ...outcome, cleanup: { state: "settled", identity, receipt }, ...(error ? { spawnError: error } : {}) };
|
|
189
195
|
}
|
|
190
196
|
catch (cause) {
|
|
@@ -197,6 +203,7 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
197
203
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
198
204
|
receipt = await readCapturedWorkerReceipt(identity);
|
|
199
205
|
}
|
|
206
|
+
settled = Boolean(receipt);
|
|
200
207
|
return {
|
|
201
208
|
code: receipt?.workerCode ?? null,
|
|
202
209
|
text: "",
|
|
@@ -218,6 +225,29 @@ export async function runHerdrOwned(request, options = {}) {
|
|
|
218
225
|
request.signal?.removeEventListener("abort", abort);
|
|
219
226
|
socket?.destroy();
|
|
220
227
|
await new Promise((resolve) => server.close(() => resolve()));
|
|
228
|
+
// Launcher SIGKILL can bypass its display release. Only the exact native receipt permits this fallback.
|
|
229
|
+
// Sequence ordering applies to an existing source; UI delivery remains best effort and never changes native results.
|
|
230
|
+
if (paneId && identity && !(settled && displayReleased)) {
|
|
231
|
+
try {
|
|
232
|
+
const reply = await exec([
|
|
233
|
+
"pane",
|
|
234
|
+
settled ? "release-agent" : "report-agent",
|
|
235
|
+
paneId,
|
|
236
|
+
"--source",
|
|
237
|
+
display.source,
|
|
238
|
+
"--agent",
|
|
239
|
+
"pi",
|
|
240
|
+
"--seq",
|
|
241
|
+
"3",
|
|
242
|
+
...(settled ? [] : ["--state", "unknown", "--message", "Native cleanup is unverified"]),
|
|
243
|
+
]);
|
|
244
|
+
if (reply.code !== 0 || (reply.stdout.trim() && parseReply(reply).error))
|
|
245
|
+
console.error("pi-daddy: Herdr agent sidebar cleanup report unavailable");
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
console.error("pi-daddy: Herdr agent sidebar cleanup report unavailable");
|
|
249
|
+
}
|
|
250
|
+
}
|
|
221
251
|
if (tabId && !options.keepPane) {
|
|
222
252
|
const closed = parseReply(await exec(["tab", "close", tabId]));
|
|
223
253
|
if (closed.error && !/tab .* not found|tab_not_found/.test(closed.error))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-owned.js","sourceRoot":"","sources":["../../src/executors/herdr-owned.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"herdr-owned.js","sourceRoot":"","sources":["../../src/executors/herdr-owned.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-daddy",
|
|
3
|
-
"version": "0.48.
|
|
3
|
+
"version": "0.48.2",
|
|
4
4
|
"description": "Capability governance for pi sub-agents: spawn Agent Skills (SKILL.md) definitions whose allowed-tools becomes a grant that can only narrow going down a delegation tree, enforced by pi's own --tools allowlist, with an append-only ledger.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** Herdr sidebar observations only; never permission, execution or settlement authority. */
|
|
2
|
+
import { createConnection } from "node:net";
|
|
3
|
+
export interface HerdrAgentDisplay {
|
|
4
|
+
source: string;
|
|
5
|
+
role: string;
|
|
6
|
+
}
|
|
7
|
+
/** The pane launcher owns these reports, so coordinator loss still reaches native cleanup and release. */
|
|
8
|
+
export function herdrAgentDisplay(display: HerdrAgentDisplay, env: NodeJS.ProcessEnv = process.env) {
|
|
9
|
+
let pending = Promise.resolve(false);
|
|
10
|
+
const socketPath = env.HERDR_SOCKET_PATH,
|
|
11
|
+
paneId = env.HERDR_PANE_ID;
|
|
12
|
+
function publish(method: string, extra: Record<string, unknown>, seq: number): Promise<boolean> {
|
|
13
|
+
pending = pending.then(async () => {
|
|
14
|
+
if (env.HERDR_ENV !== "1" || !socketPath || !paneId) return false;
|
|
15
|
+
const request = {
|
|
16
|
+
id: display.source + ":" + seq,
|
|
17
|
+
method,
|
|
18
|
+
params: { pane_id: paneId, source: display.source, agent: "pi", seq, ...extra },
|
|
19
|
+
};
|
|
20
|
+
const delivered = await new Promise<boolean>((resolve) => {
|
|
21
|
+
let finished = false,
|
|
22
|
+
buffer = "";
|
|
23
|
+
const socket = createConnection(socketPath);
|
|
24
|
+
const finish = (ok: boolean) => {
|
|
25
|
+
if (finished) return;
|
|
26
|
+
finished = true;
|
|
27
|
+
clearTimeout(timer);
|
|
28
|
+
socket.destroy();
|
|
29
|
+
resolve(ok);
|
|
30
|
+
};
|
|
31
|
+
const timer = setTimeout(() => finish(false), 750);
|
|
32
|
+
socket.on("error", () => finish(false));
|
|
33
|
+
socket.on("end", () => finish(false));
|
|
34
|
+
socket.on("connect", () => socket.write(JSON.stringify(request) + "\n"));
|
|
35
|
+
socket.on("data", (bytes) => {
|
|
36
|
+
buffer += bytes.toString();
|
|
37
|
+
if (buffer.length > 16384) return finish(false);
|
|
38
|
+
const end = buffer.indexOf("\n");
|
|
39
|
+
if (end < 0) return;
|
|
40
|
+
try {
|
|
41
|
+
const reply = JSON.parse(buffer.slice(0, end));
|
|
42
|
+
finish(reply.id === request.id && !reply.error && reply.result !== undefined);
|
|
43
|
+
} catch {
|
|
44
|
+
finish(false);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}).catch(() => false);
|
|
48
|
+
if (!delivered) console.error("pi-daddy: Herdr agent sidebar report unavailable");
|
|
49
|
+
return delivered;
|
|
50
|
+
});
|
|
51
|
+
return pending;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
working: () => {
|
|
55
|
+
void publish("pane.report_agent", { state: "working" }, 1);
|
|
56
|
+
// Metadata has its own sequence namespace and is visible only while our exact lifecycle source owns the pane.
|
|
57
|
+
return publish(
|
|
58
|
+
"pane.report_metadata",
|
|
59
|
+
{
|
|
60
|
+
applies_to_source: display.source,
|
|
61
|
+
title: display.role,
|
|
62
|
+
display_agent: "Pi / " + display.role,
|
|
63
|
+
},
|
|
64
|
+
1,
|
|
65
|
+
);
|
|
66
|
+
},
|
|
67
|
+
finish: (settled: boolean) =>
|
|
68
|
+
settled
|
|
69
|
+
? publish("pane.release_agent", {}, 2)
|
|
70
|
+
: publish("pane.report_agent", { state: "unknown", message: "Native cleanup is unverified" }, 2),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -4,6 +4,7 @@ import { processTreeActivity } from "./process-activity.ts";
|
|
|
4
4
|
import { createConnection } from "node:net";
|
|
5
5
|
import { runOwnedChild, type OwnedChildRunRequest } from "./owned-worker.ts";
|
|
6
6
|
import { wire } from "./herdr-wire.ts";
|
|
7
|
+
import { herdrAgentDisplay } from "./herdr-agent-display.ts";
|
|
7
8
|
export async function launchHerdrWorker(socketPath: string, token: string): Promise<void> {
|
|
8
9
|
const socket = createConnection(socketPath);
|
|
9
10
|
const abort = new AbortController();
|
|
@@ -43,6 +44,8 @@ export async function launchHerdrWorker(socketPath: string, token: string): Prom
|
|
|
43
44
|
authenticated = true;
|
|
44
45
|
const request = message.request as OwnedChildRunRequest & { sessionPath?: string };
|
|
45
46
|
let childPid: number | undefined;
|
|
47
|
+
const display = herdrAgentDisplay(message.display);
|
|
48
|
+
let settled = false;
|
|
46
49
|
void (async () => {
|
|
47
50
|
try {
|
|
48
51
|
const result = await runOwnedChild({
|
|
@@ -83,16 +86,20 @@ export async function launchHerdrWorker(socketPath: string, token: string): Prom
|
|
|
83
86
|
},
|
|
84
87
|
onSpawn: (pid) => {
|
|
85
88
|
childPid = pid;
|
|
89
|
+
void display.working();
|
|
86
90
|
send({ type: "spawned", pid });
|
|
87
91
|
process.stdout.write("pi-daddy: governed child running\n");
|
|
88
92
|
},
|
|
89
93
|
});
|
|
94
|
+
settled = result.cleanup.state === "settled" || result.cleanup.state === "not-started";
|
|
95
|
+
const displayReleased = await display.finish(settled);
|
|
90
96
|
if (!socket.destroyed) {
|
|
91
|
-
send({ type: "result", result });
|
|
97
|
+
send({ type: "result", result, displayReleased: settled && displayReleased });
|
|
92
98
|
socket.end();
|
|
93
99
|
}
|
|
94
100
|
process.stdout.write("\npi-daddy: " + result.cleanup.state + "\n");
|
|
95
101
|
} catch (error) {
|
|
102
|
+
await display.finish(settled);
|
|
96
103
|
if (!socket.destroyed) {
|
|
97
104
|
try {
|
|
98
105
|
send({ type: "failure", reason: String(error) });
|
|
@@ -24,6 +24,8 @@ export interface HerdrOwnedOptions {
|
|
|
24
24
|
onDisplay?: (display: (text: string) => void) => void;
|
|
25
25
|
/** Tests may select a freshly built launcher. Production always uses the packaged build. */
|
|
26
26
|
launcherPath?: string;
|
|
27
|
+
/** Human-readable role; display only, never a dispatch selector. */
|
|
28
|
+
displayName?: string;
|
|
27
29
|
}
|
|
28
30
|
export async function runHerdrOwned(
|
|
29
31
|
request: OwnedChildRunRequest,
|
|
@@ -33,11 +35,16 @@ export async function runHerdrOwned(
|
|
|
33
35
|
const directory = await mkdtemp(join(tmpdir(), "pd-herdr-"));
|
|
34
36
|
const path = join(directory, "owner.sock"),
|
|
35
37
|
token = randomUUID();
|
|
38
|
+
const role = (options.displayName ?? "child").replace(/[^a-zA-Z0-9_-]/g, "-").slice(0, 48) || "child";
|
|
39
|
+
const display = { source: "pi-daddy:" + randomUUID(), role };
|
|
36
40
|
const launcher =
|
|
37
41
|
options.launcherPath ?? fileURLToPath(new URL("../../dist/executors/herdr-launcher.js", import.meta.url));
|
|
38
42
|
const helper = fileURLToPath(new URL("../../native/linux-x64/worker", import.meta.url));
|
|
39
43
|
let socket: Socket | undefined, send: ((value: unknown) => void) | undefined;
|
|
40
44
|
let identity: CapturedWorkerIdentity | undefined, outcome: OwnedChildRunResult | undefined, error: string | undefined;
|
|
45
|
+
let paneId: string | undefined,
|
|
46
|
+
settled = false,
|
|
47
|
+
displayReleased = false;
|
|
41
48
|
let tabId: string | undefined,
|
|
42
49
|
entered = false,
|
|
43
50
|
done = false,
|
|
@@ -86,7 +93,7 @@ export async function runHerdrOwned(
|
|
|
86
93
|
activityProbe: _probe,
|
|
87
94
|
...serializable
|
|
88
95
|
} = request;
|
|
89
|
-
send!({ type: "request", request: serializable });
|
|
96
|
+
send!({ type: "request", request: serializable, display });
|
|
90
97
|
return;
|
|
91
98
|
}
|
|
92
99
|
if (message?.type === "ownership") {
|
|
@@ -142,6 +149,7 @@ export async function runHerdrOwned(
|
|
|
142
149
|
}
|
|
143
150
|
if (message?.type === "result" && !outcome) {
|
|
144
151
|
outcome = message.result;
|
|
152
|
+
displayReleased = message.displayReleased === true;
|
|
145
153
|
return;
|
|
146
154
|
}
|
|
147
155
|
if (message?.type === "failure") {
|
|
@@ -190,7 +198,7 @@ export async function runHerdrOwned(
|
|
|
190
198
|
"--cwd",
|
|
191
199
|
request.cwd,
|
|
192
200
|
"--label",
|
|
193
|
-
"pi-daddy
|
|
201
|
+
"pi-daddy " + role,
|
|
194
202
|
"--no-focus",
|
|
195
203
|
...(options.workspace ? ["--workspace", options.workspace] : []),
|
|
196
204
|
]),
|
|
@@ -199,7 +207,8 @@ export async function runHerdrOwned(
|
|
|
199
207
|
const pane = created.result?.root_pane as { pane_id?: string; tab_id?: string } | undefined;
|
|
200
208
|
tabId = pane?.tab_id;
|
|
201
209
|
if (!pane?.pane_id || !tabId) throw Error("Herdr creation returned no exact pane/tab identity");
|
|
202
|
-
|
|
210
|
+
paneId = pane.pane_id;
|
|
211
|
+
options.onPane?.(paneId, tabId);
|
|
203
212
|
if (error || request.signal?.aborted) throw Error(error ?? "cancelled before Herdr command launch");
|
|
204
213
|
entered = true;
|
|
205
214
|
const launchReply = await exec([
|
|
@@ -218,6 +227,7 @@ export async function runHerdrOwned(
|
|
|
218
227
|
if (!outcome || !identity) throw Error(error ?? "Herdr launcher closed without a complete result/ownership");
|
|
219
228
|
const receipt = await readCapturedWorkerReceipt(identity);
|
|
220
229
|
if (!receipt) throw Error("Herdr worker supplied no independently verified cleanup receipt");
|
|
230
|
+
settled = true;
|
|
221
231
|
return { ...outcome, cleanup: { state: "settled", identity, receipt }, ...(error ? { spawnError: error } : {}) };
|
|
222
232
|
} catch (cause) {
|
|
223
233
|
fail(cause);
|
|
@@ -229,6 +239,7 @@ export async function runHerdrOwned(
|
|
|
229
239
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
230
240
|
receipt = await readCapturedWorkerReceipt(identity);
|
|
231
241
|
}
|
|
242
|
+
settled = Boolean(receipt);
|
|
232
243
|
return {
|
|
233
244
|
code: receipt?.workerCode ?? null,
|
|
234
245
|
text: "",
|
|
@@ -250,6 +261,28 @@ export async function runHerdrOwned(
|
|
|
250
261
|
request.signal?.removeEventListener("abort", abort);
|
|
251
262
|
socket?.destroy();
|
|
252
263
|
await new Promise<void>((resolve) => server.close(() => resolve()));
|
|
264
|
+
// Launcher SIGKILL can bypass its display release. Only the exact native receipt permits this fallback.
|
|
265
|
+
// Sequence ordering applies to an existing source; UI delivery remains best effort and never changes native results.
|
|
266
|
+
if (paneId && identity && !(settled && displayReleased)) {
|
|
267
|
+
try {
|
|
268
|
+
const reply = await exec([
|
|
269
|
+
"pane",
|
|
270
|
+
settled ? "release-agent" : "report-agent",
|
|
271
|
+
paneId,
|
|
272
|
+
"--source",
|
|
273
|
+
display.source,
|
|
274
|
+
"--agent",
|
|
275
|
+
"pi",
|
|
276
|
+
"--seq",
|
|
277
|
+
"3",
|
|
278
|
+
...(settled ? [] : ["--state", "unknown", "--message", "Native cleanup is unverified"]),
|
|
279
|
+
]);
|
|
280
|
+
if (reply.code !== 0 || (reply.stdout.trim() && parseReply(reply).error))
|
|
281
|
+
console.error("pi-daddy: Herdr agent sidebar cleanup report unavailable");
|
|
282
|
+
} catch {
|
|
283
|
+
console.error("pi-daddy: Herdr agent sidebar cleanup report unavailable");
|
|
284
|
+
}
|
|
285
|
+
}
|
|
253
286
|
if (tabId && !options.keepPane) {
|
|
254
287
|
const closed = parseReply(await exec(["tab", "close", tabId]));
|
|
255
288
|
if (closed.error && !/tab .* not found|tab_not_found/.test(closed.error))
|