pi-neo-subagents 0.1.0 → 0.1.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 +94 -59
- package/README.md +15 -1
- package/package.json +11 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,59 +1,94 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project are documented here. The format follows
|
|
4
|
-
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses
|
|
5
|
-
[semantic versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
-
|
|
7
|
-
## [0.1.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
### Added
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
and
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
### Added
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented here. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses
|
|
5
|
+
[semantic versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
## [0.1.2] — 2026-10-25
|
|
8
|
+
|
|
9
|
+
Corrects the declared Node floor and adds continuous integration.
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- GitHub Actions workflow: `npm ci`, typecheck, and the hermetic suite on Node 22
|
|
14
|
+
and 24 across Linux and Windows, with a build-status badge in the README. The
|
|
15
|
+
suite needs no credentials and costs nothing, because it drives in-memory
|
|
16
|
+
sessions against a scripted fake model.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- `engines.node` claimed `>=20`, but the Pi host SDK requires `>=22.19.0`: on
|
|
21
|
+
Node 20 every test file fails to load (`fs.globSync` does not exist there).
|
|
22
|
+
The floor now matches the host.
|
|
23
|
+
|
|
24
|
+
## [0.1.1] — 2026-10-25
|
|
25
|
+
|
|
26
|
+
Packaging metadata only; no behaviour changes.
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- `repository`, `homepage`, and `bugs` pointing at the source repository, so the
|
|
31
|
+
npm page links to the code and to the issue tracker.
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- Development dependency `vitest` pinned to `^4`. Under `vitest` 5, a fresh
|
|
36
|
+
clone could not install rolldown's optional native binding through
|
|
37
|
+
`npm ci` ([npm/cli#4828]), which broke `npm test` on a clean checkout.
|
|
38
|
+
- `package-lock.json` regenerated at the same resolved versions.
|
|
39
|
+
|
|
40
|
+
[npm/cli#4828]: https://github.com/npm/cli/issues/4828
|
|
41
|
+
|
|
42
|
+
## [0.1.0] — 2026-10-24
|
|
43
|
+
|
|
44
|
+
First public release. Covers the v1 delegation core and the v2 governance work.
|
|
45
|
+
|
|
46
|
+
### Added — delegation core
|
|
47
|
+
|
|
48
|
+
- Named agent definitions as Markdown + frontmatter in `.pi/agents/` (project)
|
|
49
|
+
and `~/.pi/agent/agents/` (user), with project-over-user precedence.
|
|
50
|
+
- `task` tool for the main agent: isolated nested sessions, self-contained task
|
|
51
|
+
text only, final reply returned as the tool result.
|
|
52
|
+
- `/subagents` listing and detail views, and `/subagents run <name> [--to-context] <task>`
|
|
53
|
+
for user-invoked delegation whose result stays out of the model's context by
|
|
54
|
+
default.
|
|
55
|
+
- Definition enforcement: tool whitelists, model overrides, `systemPrompt: replace`.
|
|
56
|
+
- Result contract: 30,000-character truncation with the full result written to a
|
|
57
|
+
temp file, structured details, merged usage, coarse progress updates.
|
|
58
|
+
- Non-interactive output routing: stdout in print mode, stderr in JSON mode,
|
|
59
|
+
notifications in TUI and RPC.
|
|
60
|
+
- `create_subagent` tool and project-first placement, so a session with no
|
|
61
|
+
definitions is never a dead end.
|
|
62
|
+
|
|
63
|
+
### Added — governance and scale (v2)
|
|
64
|
+
|
|
65
|
+
- Execution controls: `maxTurns`, `timeoutMs`, `maxTokens`, and `thinking` in a
|
|
66
|
+
definition or per call; cut-short work is reported as a budget stop, never as
|
|
67
|
+
a failure.
|
|
68
|
+
- Run ledger with `/subagents stats` and `stats reset`.
|
|
69
|
+
- Fan-out dispatch (`tasks`) with a configurable concurrency cap, submission
|
|
70
|
+
order results, per-task status, and cancellation of everything in flight.
|
|
71
|
+
- Chained dispatch (`chain`) with `{previous}` substitution and stop-at-first-
|
|
72
|
+
unfinished-step semantics.
|
|
73
|
+
- Ad-hoc delegation with inline `instructions`, no definition file, accounted as
|
|
74
|
+
`ad-hoc`.
|
|
75
|
+
- Live TUI widget listing in-flight delegations with turn and current tool.
|
|
76
|
+
- Strict definition validation: non-`replace` `systemPrompt`, unknown tools,
|
|
77
|
+
unresolvable models, and invalid budgets are errors.
|
|
78
|
+
- Discovery from nested working directories; listings show source file and
|
|
79
|
+
modification time.
|
|
80
|
+
- Managed definitions: `/subagents new`, `edit`, `rm`.
|
|
81
|
+
- Authorization: project-level agents require first-use consent, plus settings
|
|
82
|
+
`confirmProjectAgents`, `allowModelCreatedDefinitions`,
|
|
83
|
+
`allowUserScopeCreation`, and `maxDepth`.
|
|
84
|
+
- Controlled recursion: opt-in `allowSubagents`, depth-bounded, with depth
|
|
85
|
+
reported in results and the ledger.
|
|
86
|
+
- Hermetic test suite (112 tests) over a single session seam, plus an
|
|
87
|
+
environment-gated live-model smoke suite (`npm run test:live`).
|
|
88
|
+
|
|
89
|
+
### Notes
|
|
90
|
+
|
|
91
|
+
- Delegation is serial per call unless `tasks` is used; nesting requires an
|
|
92
|
+
explicit opt-in.
|
|
93
|
+
- `@earendil-works/pi-ai` and `@earendil-works/pi-coding-agent` are host-provided
|
|
94
|
+
and declared as `peerDependencies` with a `*` range.
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# pi-neo-subagents
|
|
2
2
|
|
|
3
|
+
[](https://github.com/hmtx1024/pi-neo-subagents/actions/workflows/ci.yml)
|
|
4
|
+
|
|
3
5
|
Subagents for [Pi](https://github.com/earendil-works/pi): define named specialist
|
|
4
6
|
agents as Markdown files, then let the main agent delegate self-contained tasks
|
|
5
7
|
to them — or run them yourself. Each delegation runs in an isolated nested
|
|
@@ -307,8 +309,10 @@ dialog UI, `"ask"` proceeds (automation never hangs) while `"deny"` refuses.
|
|
|
307
309
|
|
|
308
310
|
## Development
|
|
309
311
|
|
|
312
|
+
Requires Node 22.19 or newer — the floor declared by the Pi host SDK.
|
|
313
|
+
|
|
310
314
|
```bash
|
|
311
|
-
npm
|
|
315
|
+
npm ci # installs from the committed lockfile
|
|
312
316
|
npm test # vitest, hermetic: scripted fake model, no network
|
|
313
317
|
npm run typecheck
|
|
314
318
|
npm run test:live # live-model smoke suite (real provider, real cost)
|
|
@@ -330,3 +334,13 @@ from it and runs only through `npm run test:live`, which enables it with
|
|
|
330
334
|
Tests drive full in-memory agent sessions through the Pi SDK with pi-ai's
|
|
331
335
|
`fauxProvider` as the scripted model; behaviour is asserted only at the
|
|
332
336
|
session boundary (tool results, visible messages, recorded UI output).
|
|
337
|
+
|
|
338
|
+
Repository layout:
|
|
339
|
+
|
|
340
|
+
| Path | Contents |
|
|
341
|
+
|---|---|
|
|
342
|
+
| `index.ts`, `src/` | the extension itself — everything that ships to npm |
|
|
343
|
+
| `test/` | hermetic suite; `test/live/` is the opt-in live suite |
|
|
344
|
+
| `docs/specs/` | behaviour specifications, current and superseded |
|
|
345
|
+
| `docs/history/` | design records: the tickets each version came from, and the real-model test report |
|
|
346
|
+
| `scripts/manual-test/` | RPC driver and fixtures for scripted end-to-end runs against a real `pi` process |
|
package/package.json
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-neo-subagents",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Subagents for Pi: define Markdown agent definitions and delegate tasks to isolated nested agent sessions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "灰木同学 <hmtx1024@outlook.com>",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/hmtx1024/pi-neo-subagents.git"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/hmtx1024/pi-neo-subagents#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/hmtx1024/pi-neo-subagents/issues"
|
|
15
|
+
},
|
|
8
16
|
"engines": {
|
|
9
|
-
"node": ">=
|
|
17
|
+
"node": ">=22.19.0"
|
|
10
18
|
},
|
|
11
19
|
"files": [
|
|
12
20
|
"index.ts",
|
|
@@ -35,7 +43,7 @@
|
|
|
35
43
|
"@earendil-works/pi-coding-agent": "^1.4.0",
|
|
36
44
|
"@types/node": "^24.0.0",
|
|
37
45
|
"typescript": "^5.9.0",
|
|
38
|
-
"vitest": "^
|
|
46
|
+
"vitest": "^4.0.0"
|
|
39
47
|
},
|
|
40
48
|
"peerDependencies": {
|
|
41
49
|
"@earendil-works/pi-ai": "*",
|