@zhushanwen/pi-session-manager 0.1.2 → 0.1.4
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 +3 -3
- package/package.json +3 -3
- package/src/index.ts +3 -3
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ agent-managed session pi extension:把 session 的创建/发送/读取/列表/
|
|
|
4
4
|
|
|
5
5
|
## 通道契约
|
|
6
6
|
|
|
7
|
-
- 工具调用经 `ctx.ui.select(SESSION_MANAGER_MARKER, [JSON], {timeout
|
|
7
|
+
- 工具调用经 `ctx.ui.select(SESSION_MANAGER_MARKER, [JSON], {timeout})` 发出,超时按 action 分档(create/history 60s、其余 30s,SSOT 在 `src/index.ts` 的 `SELECT_TIMEOUT_MS`);marker 为 `\x00XYZ_SESSION_MANAGER`(NUL 前缀防与普通 select title 冲突,SSOT 在 `@xyz-agent/extension-protocol`)
|
|
8
8
|
- 请求体为嵌套形状 `{ action, params }`(`SessionManagerRequest` 协议类型);**不要扁平化展开**——runtime event-adapter 按 `data.params` 提取,扁平化会导致 params 丢失
|
|
9
9
|
- 应答方是 xyz-agent runtime 的 `SessionManagerHandler`(select value 通道回写 JSON 字符串;取消/超时返回 null)
|
|
10
10
|
|
|
@@ -15,13 +15,13 @@ agent-managed session pi extension:把 session 的创建/发送/读取/列表/
|
|
|
15
15
|
| `create_managed_session` | create | 在指定 cwd 创建子 session(可选 label);服务端注入 `spawnSource: 'agent'` 与父 session id,`.agent.json` sidecar 落盘供重启恢复 |
|
|
16
16
|
| `send_to_session` | send | 向子 session 发送 prompt(异步处理) |
|
|
17
17
|
| `read_session_history` | history | 读子 session 对话历史(可选 tailTurns 截尾部 N 个 turn) |
|
|
18
|
-
| `list_my_sessions` | list | 列出本 agent 管理的 session
|
|
18
|
+
| `list_my_sessions` | list | 列出本 agent 管理的 session(无过滤参数,自动限定发起方 agent) |
|
|
19
19
|
| `get_session_status` | status | 查询子 session 状态与模型信息 |
|
|
20
20
|
| `abort_session` | abort | 中止运行中的子 session |
|
|
21
21
|
|
|
22
22
|
## 运行要求
|
|
23
23
|
|
|
24
|
-
应答端(runtime handler)在 xyz-agent 桌面应用内;独立 pi CLI 环境无 handler
|
|
24
|
+
应答端(runtime handler)在 xyz-agent 桌面应用内;独立 pi CLI 环境无 handler 时工具将等待至超时(create/history 60s、其余 30s)并返回 cancelled。
|
|
25
25
|
|
|
26
26
|
## 测试
|
|
27
27
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhushanwen/pi-session-manager",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Pi extension for managing agent-managed sessions — create, send, read history, list, status, abort via ctx.ui.select channel.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"README.md"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@xyz-agent/extension-protocol": "0.
|
|
30
|
-
"@zhushanwen/pi-extension-logger": "0.
|
|
29
|
+
"@xyz-agent/extension-protocol": "0.8.0",
|
|
30
|
+
"@zhushanwen/pi-extension-logger": "0.4.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "^24.0.0",
|
package/src/index.ts
CHANGED
|
@@ -40,7 +40,7 @@ const AbortSessionParams = Type.Object({
|
|
|
40
40
|
|
|
41
41
|
// ── select 通道辅助 ──
|
|
42
42
|
|
|
43
|
-
/** select 超时(ms):工具等待 runtime handler respond 的最大时间(
|
|
43
|
+
/** select 超时(ms):工具等待 runtime handler respond 的最大时间(create/history 走长链路放宽) */
|
|
44
44
|
const SELECT_TIMEOUT_MS: Record<SessionManagerAction, number> = {
|
|
45
45
|
create: 60_000,
|
|
46
46
|
send: 30_000,
|
|
@@ -215,7 +215,7 @@ export default function sessionManagerExtension(pi: ExtensionAPI): void {
|
|
|
215
215
|
registerSessionTool(pi, {
|
|
216
216
|
name: "get_session_status",
|
|
217
217
|
label: "Get Session Status",
|
|
218
|
-
description: "Get the current status of a managed session (
|
|
218
|
+
description: "Get the current status of a managed session (active, idle, error, etc.) and its model info.",
|
|
219
219
|
parameters: GetSessionStatusParams,
|
|
220
220
|
action: "status",
|
|
221
221
|
toParams: (p) => ({ sessionId: p.sessionId }),
|
|
@@ -224,7 +224,7 @@ export default function sessionManagerExtension(pi: ExtensionAPI): void {
|
|
|
224
224
|
registerSessionTool(pi, {
|
|
225
225
|
name: "abort_session",
|
|
226
226
|
label: "Abort Session",
|
|
227
|
-
description: "Abort a running managed session. The session
|
|
227
|
+
description: "Abort a running managed session. The session stops processing; its final status will be 'stopped'.",
|
|
228
228
|
parameters: AbortSessionParams,
|
|
229
229
|
action: "abort",
|
|
230
230
|
toParams: (p) => ({ sessionId: p.sessionId }),
|