@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 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: 30s})` 发出;marker 为 `\x00XYZ_SESSION_MANAGER`(NUL 前缀防与普通 select title 冲突,SSOT 在 `@xyz-agent/extension-protocol`)
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(可按 spawnSource / parentAgentSessionId 过滤) |
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 时工具将等待至 30s 超时并返回 cancelled。
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.2",
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.6.0",
30
- "@zhushanwen/pi-extension-logger": "0.3.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 的最大时间(read/create 走长链路放宽) */
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 (running, idle, error, etc.) and its model info.",
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 will stop processing and enter aborted state.",
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 }),