@zhushanwen/zcode-subagent-cli 0.2.0 → 0.3.0

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/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { EnginePort, ReverseRequestClock, EngineCapabilities, ProbeReport, EngineAgentCallOpts, RunContext, EngineRunResult, EngineHandle, InteractAction, InteractResult, SessionView } from '@zhushanwen/subagent-engine-sdk';
1
+ import { EnginePort, ReverseRequestClock, EngineCapabilities, ProbeReport, EngineAgentCallOpts, RunContext, EngineRunResult, EngineHandle, SessionView } from '@zhushanwen/subagent-engine-sdk';
2
2
 
3
3
  /** 出站帧写入面(main.ts 注入 process.stdout;测试注入内存缓冲)。 */
4
4
  type FrameWriter = (frame: unknown) => void;
@@ -30,17 +30,16 @@ declare class EngineProtocolServer {
30
30
  constructor(opts: EngineProtocolServerOptions);
31
31
  /** 入站帧消费(请求帧 + 反向请求应答帧;main.ts 的行解析器拆行后喂入)。 */
32
32
  handleFrame(frame: unknown): void;
33
- /** 10 正向方法分发(表驱动:method → 处理器;未知方法 → engine_protocol_unknown_method)。 */
33
+ /** 9 正向方法分发(表驱动:method → 处理器;未知方法 → engine_protocol_unknown_method)。 */
34
34
  private dispatch;
35
35
  /**
36
- * 10 正向方法 → 处理器映射(每个处理器消费原始 params 并自行收敛类型——
36
+ * 9 正向方法 → 处理器映射(每个处理器消费原始 params 并自行收敛类型——
37
37
  * 与原 switch case 表达式一一对应)。
38
38
  */
39
39
  private readonly methodHandlers;
40
40
  private initialize;
41
41
  private run;
42
42
  private cancel;
43
- private interact;
44
43
  private read;
45
44
  private validateModel;
46
45
  private emitEvent;
@@ -111,8 +110,8 @@ declare class ZcodeEngine implements EnginePort {
111
110
  /**
112
111
  * 常驻路径主编排:模型解析(v2 单源校验)→ 惰性连接 + runTurn(事件时序前移:
113
112
  * text_delta 流式、终态后 message_end/turn_end)→ schema 仿真重试 → outcome/handle。
114
- * poolKey 固定 'shared'(共享宿主 HOME,无池),onPoolResolved 在 prepare 期、
115
- * onHandleReady 在 create 应答后(§3.4 不变量 3)。
113
+ * onHandleReady 在 create 应答后(§3.4 不变量 3;原 onPoolResolved prepare 期
114
+ * 声明已随 [池抽象降级 2026-09-13] poolKey 协议面退役删除)。
116
115
  */
117
116
  private runViaAppServer;
118
117
  /** pre-aborted 短路收口:合成中止 outcome + 'shared' 锚定 handle。 */
@@ -214,17 +213,6 @@ declare class ZcodeEngine implements EnginePort {
214
213
  * ensureAppServerRuntime 自动重建(与崩溃重建同一代码路径,不变量 4)。
215
214
  */
216
215
  dispose(): Promise<void>;
217
- /**
218
- * [u7a D5] 引擎在途只读快照:activeSessions 非空才算在途——poolKey 'shared' 的
219
- * app-server **空闲常驻进程恒活,禁止按进程存在判定**(进程在 ≠ 在途,否则推迟
220
- * 判定恒真、30min 上限从兜底变常态路径,设计 §3.3 D5 显式排除)。计数权威 =
221
- * activeSessions(attempt 入 create 应答后 add / finally settle 后 delete,与
222
- * dispose 的 close 帧目标集同一状态源,无双记账)。运行时未初始化(从未 run /
223
- * 已 dispose)→ 恒 0。
224
- */
225
- inFlightSnapshot(): {
226
- inFlight: number;
227
- };
228
216
  /** 终态合成(extension-conventions 函数 80 行上限,从 run 提取):aborted / run-failed / parsed 三分支。 */
229
217
  private finalizeOutcome;
230
218
  /** abort 合成终态:exitCode=null(record 正常收尾,不留僵尸)。 */
@@ -237,11 +225,6 @@ declare class ZcodeEngine implements EnginePort {
237
225
  private applyRunFailedOutcome;
238
226
  /** parsed 合成终态:content/sessionId/usage 落位 + schema 校验分流 + coarse 事件。 */
239
227
  private applyParsedOutcome;
240
- /**
241
- * D1 可选面:zcode 首期不支持 conversation(capabilities 声明)——同步拒绝、
242
- * 不创建进程,文案给可操作建议(A11)。
243
- */
244
- interact(_handle: EngineHandle, _action: InteractAction): Promise<InteractResult>;
245
228
  /** [U7] 模型可发现性:v2 桌面登录态聚合(带凭据 provider × models),失败安全返回清单本身可能为空。 */
246
229
  listModels(): Array<{
247
230
  id: string;
@@ -263,8 +246,12 @@ declare class ZcodeEngine implements EnginePort {
263
246
  * sessionId 缺失(解析失败的 run 无法定位 session)跳过①级;②级依赖
264
247
  * handle.journalPath(宿主 run 后回填)。dbPath:新 handle 恒为隔离库绝对路径
265
248
  * (zcodeSessionDbPath(engineDataDir),tier1 白名单集合见方法体——宿主路径仅
266
- * 「共享 HOME 时代」存量兼容);旧 records(池时代)的相对路径仍按 poolKey
267
- * 锚定解析(read 兼容旧数据,池目录不存在时自然落②级 journal 降级)。
249
+ * 「共享 HOME 时代」存量兼容);旧 records(池时代)的相对路径仍按池目录锚定
250
+ * 解析(read 兼容旧数据,池目录不存在时自然落②级 journal 降级)。[池抽象降级
251
+ * 2026-09-13] 锚定 key 用常量 SHARED_POOL_KEY 承载——协议面 poolKey 已删,池
252
+ * 时代真实池 key 不再随 handle 传输;若旧 record 的池目录恰为 shared 布局则①级
253
+ * 仍可达,其余池 key 的旧 record 直接走②级 journal 降级(30 天 TTL 同尺度衰减,
254
+ * 行为安全)。
268
255
  */
269
256
  read(handle: EngineHandle): Promise<SessionView>;
270
257
  /**
@@ -287,6 +274,16 @@ declare class ZcodeEngine implements EnginePort {
287
274
  * 均不出声(避免噪音)。
288
275
  */
289
276
  private warnIgnoredCtxModel;
277
+ /**
278
+ * [U6 / §3.2.6 要点 3] resume 锚 → 历史前缀(interact-resume 的读半段)。
279
+ *
280
+ * 无锚 / 非 zcode 锚形态 → undefined(行为不变)。读通道失败(条目被 TTL 清 /
281
+ * 会话失效 / 控制面错误)= 宿主侧锚判据通过后、引擎派发前的窄竞态窗——降级为
282
+ * **无历史前缀的新会话**(warn 留痕;宿主 reopen 摘要承担主降级面),不炸轮:
283
+ * 续聊消息本身仍可送达(模型缺历史上下文,比整轮失败可用性高,与 reopen 降级
284
+ * 的「带摘要重开」语义同族)。
285
+ */
286
+ private buildResumeHistoryPrefix;
290
287
  /**
291
288
  * persona 拼接后的完整 prompt(personaInjection: 'prompt'——zcode 无 flag 通道):
292
289
  * appendSystemPrompt 段在前(人设/约束语境——D6 合流后 persona≡skillPath+
@@ -315,11 +312,12 @@ declare function createDefaultZcodeEngine(): ZcodeEngine;
315
312
  * 隔离会话库绝对路径(单一构造函数,唯一权威):
316
313
  * `<engineDataDir>/engines/zcode/session-db/db.sqlite`。
317
314
  *
318
- * 选址在池目录之外(不落 `engines/zcode/shared/`——那是 journal 池目录,被
319
- * `deletePoolNativeState` 覆盖,设计 D1/F11);journal 路径不变(仍
320
- * `engines/zcode/shared/journal-<taskId>.jsonl`)。`cleanupExpiredPoolRefs` 会把
321
- * `engines/<engineId>/` 下每个子目录当池枚举,`session-db/` 中的 `db.sqlite*`
322
- * 不匹配任何删除条件(池 GC 守卫 = 验收场景 A9)。
315
+ * 选址在 journal 分组目录之外(不落 `engines/zcode/shared/`——[池抽象降级
316
+ * 2026-09-13] 后那是 journal 固定分组目录,清理机制 = `cleanupExpiredJournals`
317
+ * 的 mtime TTL,refs 计数/deletePoolNativeState 已删,设计 D1/F11);journal
318
+ * 路径不变(仍 `engines/zcode/shared/journal-<taskId>.jsonl`)。
319
+ * `cleanupExpiredJournals` 会把 `engines/<engineId>/` 下每个子目录枚举,
320
+ * `session-db/` 中的 `db.sqlite*` 不匹配任何删除条件(GC 守卫 = 验收场景 A9)。
323
321
  *
324
322
  * @param engineDataDir 引擎数据目录(`deps.engineDataDir()`;禁硬编码,一律由入参推导)
325
323
  */
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { EnginePort, ReverseRequestClock, EngineCapabilities, ProbeReport, EngineAgentCallOpts, RunContext, EngineRunResult, EngineHandle, InteractAction, InteractResult, SessionView } from '@zhushanwen/subagent-engine-sdk';
1
+ import { EnginePort, ReverseRequestClock, EngineCapabilities, ProbeReport, EngineAgentCallOpts, RunContext, EngineRunResult, EngineHandle, SessionView } from '@zhushanwen/subagent-engine-sdk';
2
2
 
3
3
  /** 出站帧写入面(main.ts 注入 process.stdout;测试注入内存缓冲)。 */
4
4
  type FrameWriter = (frame: unknown) => void;
@@ -30,17 +30,16 @@ declare class EngineProtocolServer {
30
30
  constructor(opts: EngineProtocolServerOptions);
31
31
  /** 入站帧消费(请求帧 + 反向请求应答帧;main.ts 的行解析器拆行后喂入)。 */
32
32
  handleFrame(frame: unknown): void;
33
- /** 10 正向方法分发(表驱动:method → 处理器;未知方法 → engine_protocol_unknown_method)。 */
33
+ /** 9 正向方法分发(表驱动:method → 处理器;未知方法 → engine_protocol_unknown_method)。 */
34
34
  private dispatch;
35
35
  /**
36
- * 10 正向方法 → 处理器映射(每个处理器消费原始 params 并自行收敛类型——
36
+ * 9 正向方法 → 处理器映射(每个处理器消费原始 params 并自行收敛类型——
37
37
  * 与原 switch case 表达式一一对应)。
38
38
  */
39
39
  private readonly methodHandlers;
40
40
  private initialize;
41
41
  private run;
42
42
  private cancel;
43
- private interact;
44
43
  private read;
45
44
  private validateModel;
46
45
  private emitEvent;
@@ -111,8 +110,8 @@ declare class ZcodeEngine implements EnginePort {
111
110
  /**
112
111
  * 常驻路径主编排:模型解析(v2 单源校验)→ 惰性连接 + runTurn(事件时序前移:
113
112
  * text_delta 流式、终态后 message_end/turn_end)→ schema 仿真重试 → outcome/handle。
114
- * poolKey 固定 'shared'(共享宿主 HOME,无池),onPoolResolved 在 prepare 期、
115
- * onHandleReady 在 create 应答后(§3.4 不变量 3)。
113
+ * onHandleReady 在 create 应答后(§3.4 不变量 3;原 onPoolResolved prepare 期
114
+ * 声明已随 [池抽象降级 2026-09-13] poolKey 协议面退役删除)。
116
115
  */
117
116
  private runViaAppServer;
118
117
  /** pre-aborted 短路收口:合成中止 outcome + 'shared' 锚定 handle。 */
@@ -214,17 +213,6 @@ declare class ZcodeEngine implements EnginePort {
214
213
  * ensureAppServerRuntime 自动重建(与崩溃重建同一代码路径,不变量 4)。
215
214
  */
216
215
  dispose(): Promise<void>;
217
- /**
218
- * [u7a D5] 引擎在途只读快照:activeSessions 非空才算在途——poolKey 'shared' 的
219
- * app-server **空闲常驻进程恒活,禁止按进程存在判定**(进程在 ≠ 在途,否则推迟
220
- * 判定恒真、30min 上限从兜底变常态路径,设计 §3.3 D5 显式排除)。计数权威 =
221
- * activeSessions(attempt 入 create 应答后 add / finally settle 后 delete,与
222
- * dispose 的 close 帧目标集同一状态源,无双记账)。运行时未初始化(从未 run /
223
- * 已 dispose)→ 恒 0。
224
- */
225
- inFlightSnapshot(): {
226
- inFlight: number;
227
- };
228
216
  /** 终态合成(extension-conventions 函数 80 行上限,从 run 提取):aborted / run-failed / parsed 三分支。 */
229
217
  private finalizeOutcome;
230
218
  /** abort 合成终态:exitCode=null(record 正常收尾,不留僵尸)。 */
@@ -237,11 +225,6 @@ declare class ZcodeEngine implements EnginePort {
237
225
  private applyRunFailedOutcome;
238
226
  /** parsed 合成终态:content/sessionId/usage 落位 + schema 校验分流 + coarse 事件。 */
239
227
  private applyParsedOutcome;
240
- /**
241
- * D1 可选面:zcode 首期不支持 conversation(capabilities 声明)——同步拒绝、
242
- * 不创建进程,文案给可操作建议(A11)。
243
- */
244
- interact(_handle: EngineHandle, _action: InteractAction): Promise<InteractResult>;
245
228
  /** [U7] 模型可发现性:v2 桌面登录态聚合(带凭据 provider × models),失败安全返回清单本身可能为空。 */
246
229
  listModels(): Array<{
247
230
  id: string;
@@ -263,8 +246,12 @@ declare class ZcodeEngine implements EnginePort {
263
246
  * sessionId 缺失(解析失败的 run 无法定位 session)跳过①级;②级依赖
264
247
  * handle.journalPath(宿主 run 后回填)。dbPath:新 handle 恒为隔离库绝对路径
265
248
  * (zcodeSessionDbPath(engineDataDir),tier1 白名单集合见方法体——宿主路径仅
266
- * 「共享 HOME 时代」存量兼容);旧 records(池时代)的相对路径仍按 poolKey
267
- * 锚定解析(read 兼容旧数据,池目录不存在时自然落②级 journal 降级)。
249
+ * 「共享 HOME 时代」存量兼容);旧 records(池时代)的相对路径仍按池目录锚定
250
+ * 解析(read 兼容旧数据,池目录不存在时自然落②级 journal 降级)。[池抽象降级
251
+ * 2026-09-13] 锚定 key 用常量 SHARED_POOL_KEY 承载——协议面 poolKey 已删,池
252
+ * 时代真实池 key 不再随 handle 传输;若旧 record 的池目录恰为 shared 布局则①级
253
+ * 仍可达,其余池 key 的旧 record 直接走②级 journal 降级(30 天 TTL 同尺度衰减,
254
+ * 行为安全)。
268
255
  */
269
256
  read(handle: EngineHandle): Promise<SessionView>;
270
257
  /**
@@ -287,6 +274,16 @@ declare class ZcodeEngine implements EnginePort {
287
274
  * 均不出声(避免噪音)。
288
275
  */
289
276
  private warnIgnoredCtxModel;
277
+ /**
278
+ * [U6 / §3.2.6 要点 3] resume 锚 → 历史前缀(interact-resume 的读半段)。
279
+ *
280
+ * 无锚 / 非 zcode 锚形态 → undefined(行为不变)。读通道失败(条目被 TTL 清 /
281
+ * 会话失效 / 控制面错误)= 宿主侧锚判据通过后、引擎派发前的窄竞态窗——降级为
282
+ * **无历史前缀的新会话**(warn 留痕;宿主 reopen 摘要承担主降级面),不炸轮:
283
+ * 续聊消息本身仍可送达(模型缺历史上下文,比整轮失败可用性高,与 reopen 降级
284
+ * 的「带摘要重开」语义同族)。
285
+ */
286
+ private buildResumeHistoryPrefix;
290
287
  /**
291
288
  * persona 拼接后的完整 prompt(personaInjection: 'prompt'——zcode 无 flag 通道):
292
289
  * appendSystemPrompt 段在前(人设/约束语境——D6 合流后 persona≡skillPath+
@@ -315,11 +312,12 @@ declare function createDefaultZcodeEngine(): ZcodeEngine;
315
312
  * 隔离会话库绝对路径(单一构造函数,唯一权威):
316
313
  * `<engineDataDir>/engines/zcode/session-db/db.sqlite`。
317
314
  *
318
- * 选址在池目录之外(不落 `engines/zcode/shared/`——那是 journal 池目录,被
319
- * `deletePoolNativeState` 覆盖,设计 D1/F11);journal 路径不变(仍
320
- * `engines/zcode/shared/journal-<taskId>.jsonl`)。`cleanupExpiredPoolRefs` 会把
321
- * `engines/<engineId>/` 下每个子目录当池枚举,`session-db/` 中的 `db.sqlite*`
322
- * 不匹配任何删除条件(池 GC 守卫 = 验收场景 A9)。
315
+ * 选址在 journal 分组目录之外(不落 `engines/zcode/shared/`——[池抽象降级
316
+ * 2026-09-13] 后那是 journal 固定分组目录,清理机制 = `cleanupExpiredJournals`
317
+ * 的 mtime TTL,refs 计数/deletePoolNativeState 已删,设计 D1/F11);journal
318
+ * 路径不变(仍 `engines/zcode/shared/journal-<taskId>.jsonl`)。
319
+ * `cleanupExpiredJournals` 会把 `engines/<engineId>/` 下每个子目录枚举,
320
+ * `session-db/` 中的 `db.sqlite*` 不匹配任何删除条件(GC 守卫 = 验收场景 A9)。
323
321
  *
324
322
  * @param engineDataDir 引擎数据目录(`deps.engineDataDir()`;禁硬编码,一律由入参推导)
325
323
  */
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  readZcodeSessionView,
11
11
  zcodeDbPathAllowlist,
12
12
  zcodeSessionDbPath
13
- } from "./chunk-36VY2TNC.js";
13
+ } from "./chunk-DMHXNYG2.js";
14
14
 
15
15
  // src/golden-sample.ts
16
16
  var ZCODE_APPSERVER_GOLDEN = {