@henryqw/pi-subagent 26.2.0 → 26.2.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/README.md +1 -1
- package/dist/process-lease.js +4 -2
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Delegate work to configured Pi Roles with [Herdr](https://herdr.dev/). Authorize
|
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
|
-
Requires Pi 1.0.0 or later. Development and automated checks use Pi 1.0.
|
|
9
|
+
Requires Pi 1.0.0 or later. Development and automated checks use Pi 1.0.0. Older Pi releases are no longer supported.
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
pi install npm:@henryqw/pi-task-models
|
package/dist/process-lease.js
CHANGED
|
@@ -19,7 +19,8 @@ export async function assertPrivateLease(path, allowMissing) {
|
|
|
19
19
|
export async function scanProcessLease(path, execute, pid, allowMissing = false) {
|
|
20
20
|
if (!await assertPrivateLease(path, allowMissing))
|
|
21
21
|
return [];
|
|
22
|
-
|
|
22
|
+
// -w: host-wide warnings (for example an unreachable network mount) are not lease evidence; real errors still reach stderr.
|
|
23
|
+
const args = ["-w", "-nP", "-a", ...(pid === undefined ? [] : ["-p", String(pid)]), "-F", "p", "--", path];
|
|
23
24
|
const result = await execute(args);
|
|
24
25
|
if (result.killed || ![0, 1].includes(result.code) || (result.code === 1 && (result.stdout.trim() || result.stderr.trim()))) {
|
|
25
26
|
throw new Error("Exact process lease lsof scan failed or was ambiguous.");
|
|
@@ -28,7 +29,8 @@ export async function scanProcessLease(path, execute, pid, allowMissing = false)
|
|
|
28
29
|
return [];
|
|
29
30
|
if (result.stderr.trim())
|
|
30
31
|
throw new Error("Exact process lease lsof scan returned unexpected diagnostics.");
|
|
31
|
-
|
|
32
|
+
// lsof always selects the file descriptor field, so `-F p` also emits `f<fd>` lines.
|
|
33
|
+
const lines = result.stdout.trim().split(/\r?\n/).filter((line) => line && !/^f\w+$/.test(line));
|
|
32
34
|
if (!lines.length || lines.some((line) => !/^p[1-9]\d*$/.test(line))) {
|
|
33
35
|
throw new Error("Exact process lease lsof scan returned malformed PID fields.");
|
|
34
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@henryqw/pi-subagent",
|
|
3
|
-
"version": "26.2.
|
|
3
|
+
"version": "26.2.2",
|
|
4
4
|
"description": "Delegate bounded direct work or durable checked isolated task graphs to Pi roles.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -66,17 +66,17 @@
|
|
|
66
66
|
"image": "https://raw.githubusercontent.com/HenryQW/pi-harness/main/extensions/pi-subagent/example.png"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@henryqw/pi-config-store": "^
|
|
69
|
+
"@henryqw/pi-config-store": "^3.0.0",
|
|
70
70
|
"@henryqw/pi-herdr": "^0.4.9",
|
|
71
|
-
"@henryqw/pi-multi-codex": "^
|
|
71
|
+
"@henryqw/pi-multi-codex": "^3.0.0",
|
|
72
72
|
"@henryqw/pi-process": "^0.2.0",
|
|
73
73
|
"@henryqw/pi-task-models": "^7.0.0",
|
|
74
74
|
"proper-lockfile": "^4.1.2"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
|
-
"@earendil-works/pi-ai": "1.0.
|
|
78
|
-
"@earendil-works/pi-coding-agent": "1.0.
|
|
79
|
-
"@earendil-works/pi-tui": "1.0.
|
|
77
|
+
"@earendil-works/pi-ai": "1.0.0",
|
|
78
|
+
"@earendil-works/pi-coding-agent": "1.0.0",
|
|
79
|
+
"@earendil-works/pi-tui": "1.0.0",
|
|
80
80
|
"@types/proper-lockfile": "^4.1.4"
|
|
81
81
|
}
|
|
82
82
|
}
|