@maxiaochao/pi-toolkit 0.13.0 → 0.13.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 +14 -0
- package/README.md +15 -1
- package/package.json +4 -3
- package/packages/herdr-subagents/CHANGELOG.md +5 -0
- package/packages/herdr-subagents/README.md +1 -1
- package/packages/herdr-subagents/TESTING.md +1 -0
- package/packages/herdr-subagents/package.json +1 -1
- package/packages/herdr-subagents/src/protocol.ts +1 -1
- package/packages/herdr-subagents/tests/core-state-machine.mjs +2 -1
- package/skills/agent-team/SKILL.md +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 2026-10-21 - v0.13.2
|
|
2
|
+
|
|
3
|
+
- make agent-team user-invoked only and add post-release workflow/npm/tarball verification
|
|
4
|
+
|
|
5
|
+
## Unreleased
|
|
6
|
+
|
|
7
|
+
- Make Agent Team user-invoked only through `/skill:agent-team`, hidden from automatic model selection.
|
|
8
|
+
- Add `npm run release:check -- vX.Y.Z` to wait for GitHub publication and verify exact npm versions, remote tags, integrity, and all tarball contents against the release commit, including coordinated child releases.
|
|
9
|
+
|
|
10
|
+
## 2026-10-21 - v0.13.1
|
|
11
|
+
|
|
12
|
+
- herdr-subagents v0.7.2: clarify final answer submission through subagent_report
|
|
13
|
+
- Herdr Subagents: clarify that child tasks must finish through `subagent_report`, not a normal text reply; remove the process-exit condition from the report instructions.
|
|
14
|
+
|
|
1
15
|
## 2026-10-20 - v0.13.0
|
|
2
16
|
|
|
3
17
|
- background-tasks v0.1.0: bundle background shell tasks with runtime limits, bounded logs, completion notifications and /bg controls
|
package/README.md
CHANGED
|
@@ -77,7 +77,7 @@ bash scripts/install.sh
|
|
|
77
77
|
| `html-artifact` | Build self-contained HTML explainers and diagrams |
|
|
78
78
|
| `pdlog` | Decompress and inspect Pudu `.pdlog` files |
|
|
79
79
|
| `herdr` | Control Herdr workspaces, tabs, panes, and agents |
|
|
80
|
-
| `agent-team` |
|
|
80
|
+
| `agent-team` | Manually invoke `/skill:agent-team` for concurrent analysis with configured models and roles, result collection, and investigation records; hidden from automatic model selection |
|
|
81
81
|
| `tapd` | Investigate and operate on TAPD items with workspace, evidence, and safe-download guardrails |
|
|
82
82
|
|
|
83
83
|
Package-specific skills, such as `pi-worktree`, are documented by their child package.
|
|
@@ -85,3 +85,17 @@ Package-specific skills, such as `pi-worktree`, are documented by their child pa
|
|
|
85
85
|
## Repository
|
|
86
86
|
|
|
87
87
|
This repository is an npm workspace. Child implementations live under `packages/*`; `extensions/` contains only the toolkit-only BTW module. Development, testing, media generation, and release rules are documented in [AGENTS.md](AGENTS.md).
|
|
88
|
+
|
|
89
|
+
### Post-release verification
|
|
90
|
+
|
|
91
|
+
After pushing a release, run from this checkout:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm run release:check -- v0.13.1
|
|
95
|
+
# Wait up to 15 minutes, polling every 15 seconds:
|
|
96
|
+
npm run release:check -- v0.13.1 --timeout 900 --interval 15
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Omit the tag to use the current root `package.json` version. Requires Node.js, Git, npm, tar, authenticated GitHub CLI (`gh auth login`), and local release tags (`git fetch origin --tags` if needed).
|
|
100
|
+
|
|
101
|
+
The read-only check verifies remote tag commits, waits for the matching `publish.yml` run to succeed, and checks exact public npm versions and tarball integrity. It compares every packaged file and mode against an isolated snapshot of the release tag, including an optional coordinated child release. It uses the tag rather than uncommitted checkout changes, never installs or publishes, and removes temporary downloads. Failures exit nonzero; only a pending workflow or npm `E404` is retried within the shared timeout (600 seconds by default). Local packing uses `--ignore-scripts`, matching this repository's source-only packages; packages that add generated prepack output will need this check updated.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maxiaochao/pi-toolkit",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.2",
|
|
4
4
|
"description": "Personal pi coding agent toolkit: background tasks, scheduler, /btw, /cache_export, apply_patch, browser automation, and bundled theme/skills.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -61,10 +61,11 @@
|
|
|
61
61
|
"ws": "^8.19.0"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
|
-
"test": "node tests/package-layout.mjs && node tests/release-check.mjs && npm --prefix packages/todo test && npm --prefix packages/cache-export test && npm --prefix packages/codex-edit test && npm --prefix packages/herdr-subagents test && npm --prefix packages/openai-account-pool test && npm --prefix packages/scheduler test && npm --prefix packages/background-tasks test && npm --prefix packages/worktree test && node --experimental-strip-types extensions/btw/tests/history.mjs",
|
|
65
|
-
"test:root": "node tests/package-layout.mjs && node tests/release-check.mjs && node --experimental-strip-types extensions/btw/tests/history.mjs",
|
|
64
|
+
"test": "node tests/package-layout.mjs && node tests/release-check.mjs && node tests/post-release-check.mjs && npm --prefix packages/todo test && npm --prefix packages/cache-export test && npm --prefix packages/codex-edit test && npm --prefix packages/herdr-subagents test && npm --prefix packages/openai-account-pool test && npm --prefix packages/scheduler test && npm --prefix packages/background-tasks test && npm --prefix packages/worktree test && node --experimental-strip-types extensions/btw/tests/history.mjs",
|
|
65
|
+
"test:root": "node tests/package-layout.mjs && node tests/release-check.mjs && node tests/post-release-check.mjs && node --experimental-strip-types extensions/btw/tests/history.mjs",
|
|
66
66
|
"load-test": "pi -ne -e ./packages/cache-export/extensions/cache-export.ts && pi -ne -e ./extensions/btw/index.ts && pi -ne -e ./packages/codex-edit/extensions/codex-edit.ts && pi -ne -e ./packages/herdr-subagents/extensions/herdr-subagents.ts && pi -ne -e ./packages/scheduler/extensions/scheduler.ts && pi -ne -e ./packages/background-tasks/extensions/background-tasks.ts && pi -ne -e ./packages/worktree/extensions/worktree.ts && npm --prefix packages/background-tasks run load-test -- --toolkit",
|
|
67
67
|
"load-test:root": "pi -ne -e ./extensions/btw/index.ts",
|
|
68
|
+
"release:check": "node scripts/post-release-check.mjs",
|
|
68
69
|
"eval:agents": "node evaluations/agents-md/run.mjs",
|
|
69
70
|
"eval:agents:test": "node evaluations/agents-md/tests/run-tests.mjs",
|
|
70
71
|
"postinstall": "node scripts/install-agents.mjs"
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
## 2026-10-21 - v0.7.2
|
|
2
|
+
|
|
3
|
+
- clarify final answer submission through subagent_report
|
|
4
|
+
- Clarify child report instructions: submit the final result through `subagent_report` when work finishes or cannot be completed, rather than tying submission to process exit or ending with a normal text reply.
|
|
5
|
+
|
|
1
6
|
## 2026-10-20 - v0.7.1
|
|
2
7
|
|
|
3
8
|
- clarify Persona responsibilities and dispatch guidance
|
|
@@ -52,7 +52,7 @@ Cleanup belongs to the Pi session that created the run. Starting a new Pi sessio
|
|
|
52
52
|
|
|
53
53
|
## Result protocol
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
When the task finishes or cannot be completed, the child must call `subagent_report` once instead of ending with a normal text reply. The terminal status is:
|
|
56
56
|
|
|
57
57
|
- `completed`: the requested work finished.
|
|
58
58
|
- `failed`: it cannot be completed; include `error`.
|
|
@@ -17,6 +17,7 @@ It verifies:
|
|
|
17
17
|
- required explicit Personas in the tool schema and execution, including legacy single-task argument normalization;
|
|
18
18
|
- model-facing role selection guidance for broad independent review, codebase investigation, file-changing work, and charter-driven agent-team execution;
|
|
19
19
|
- effective Persona descriptions in parent listings, corresponding bodies in child system prompts, and unchanged read/write tool boundaries;
|
|
20
|
+
- child system prompts require a terminal `subagent_report` when work finishes or cannot be completed, not a normal text reply or a process-exit condition;
|
|
20
21
|
- rejection of missing, blank, invalid, and unknown Personas before creating runs, while custom Personas remain supported;
|
|
21
22
|
- explicit rejection of parallel write-capable tasks with the conflicting task, Persona, and corrective action;
|
|
22
23
|
- waiting through a delayed authoritative report after a prompt transport error while the Pi process is alive;
|
|
@@ -11,7 +11,7 @@ export function reportProtocolPrompt(systemPrompt: string, kind: ReportPromptKin
|
|
|
11
11
|
TURN_INTRO[kind],
|
|
12
12
|
systemPrompt.trim(),
|
|
13
13
|
"",
|
|
14
|
-
"
|
|
14
|
+
"Submit your final answer by calling the subagent_report tool.",
|
|
15
15
|
"Put the complete final answer in result, a concise parent-facing paragraph in summary, and list any useful document paths.",
|
|
16
16
|
"Use status=completed when the task is finished, or status=failed with error when it cannot be completed.",
|
|
17
17
|
"Do not pause for parent input; make a reasonable assumption or report failed with the missing requirement.",
|
|
@@ -155,7 +155,8 @@ async function run(tasks, concurrency, herdr = fakeHerdr(), signal) {
|
|
|
155
155
|
const directory = parallel.details.tasks[index].recordDirectory;
|
|
156
156
|
const instructions = readFileSync(join(directory, "system-prompt.md"), "utf8");
|
|
157
157
|
assert.ok(instructions.startsWith(personas.get(name).systemPrompt), "Each child must receive its selected Persona body");
|
|
158
|
-
assert.
|
|
158
|
+
assert.ok(instructions.includes("Submit your final answer by calling the subagent_report tool."));
|
|
159
|
+
assert.doesNotMatch(instructions, /process exits/);
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
const projectAgents = join(root, ".pi", "herdr-subagents", "agents");
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-team
|
|
3
|
-
description:
|
|
3
|
+
description: 多模型协作分析:按配置的模型和角色调度独立子代理,汇总结果并维护调查档案。
|
|
4
|
+
disable-model-invocation: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
当前会话是**主 Agent**,负责核心调度:按配置中的模型和角色启动独立子代理,分派用户问题,收集结果并维护调查档案。主 Agent 根据结果决定直接回答、补充核验或继续下一轮。子代理不需要常驻;跨轮连续性来自持久调查档案和逻辑成员身份,而不是聊天记忆。
|
|
7
8
|
|
|
8
|
-
##
|
|
9
|
+
## 调用方式
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
用户通过 `/skill:agent-team` 显式加载后开启。此 skill 不参与模型自动选择;高代价决策也不构成自动加载或启动的授权。
|
|
11
12
|
|
|
12
13
|
## 1. 建立调查档案
|
|
13
14
|
|