@zhushanwen/zcode-subagent-cli 0.4.4 → 0.6.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/{chunk-DLLNMF45.js → chunk-PWNJ5JYZ.js} +105 -278
- package/dist/index.cjs +105 -278
- package/dist/index.d.cts +17 -36
- package/dist/index.d.ts +17 -36
- package/dist/index.js +1 -1
- package/dist/main.cjs +105 -278
- package/dist/main.js +1 -1
- package/package.json +4 -3
package/dist/index.d.cts
CHANGED
|
@@ -154,26 +154,18 @@ declare class ZcodeEngine implements EnginePort {
|
|
|
154
154
|
* 单轮常驻执行:runTurn 组合面 + D3 abort 链 + 事件前移(text_delta 实时流出;
|
|
155
155
|
* 终态数据经 read 兜底收口后才 resolve——不变量 1/2)。
|
|
156
156
|
*
|
|
157
|
-
* @param opts
|
|
158
|
-
* 向重试轮传剩余值;缺省不传(channel 走 env→默认,首轮行为)。
|
|
159
|
-
* retried:瞬时重试轮标记——失败文案补「已自动重试一次」句(F-1/F-4)。
|
|
157
|
+
* @param opts retried:瞬时重试轮标记——失败文案补「已自动重试一次」句(F-1/F-4)。
|
|
160
158
|
*/
|
|
161
159
|
private attemptAppServerTurn;
|
|
162
160
|
/**
|
|
163
161
|
* [attemptAppServerTurn 拆分] 失败分流(catch 半边):
|
|
164
162
|
* - signal 已 aborted → 中止终态收口;
|
|
165
|
-
* - [P0-1
|
|
166
|
-
* 再挂在 turn 落定上(race 恒真,killChain 结构性不可达的 v1 击穿点),改以
|
|
167
|
-
* stop 应答三态裁决。await 链终局(非 fire-and-forget):outcome 止损文案与
|
|
168
|
-
* 重试时序(D6,u-z4)都依赖链终局信号——止损完成前不合成终态。timeout 类
|
|
169
|
-
* (idle/ceiling 都算)是 D6 明文的可重试形态——结构化标记
|
|
170
|
-
* (TurnTimeoutError 类型化判据,不经字符串匹配,D4 同精神);
|
|
171
|
-
* - [P0-1 U4] 连接崩溃收割形态(failAllTurns 的错误,D6 第二可重试形态)判据:
|
|
163
|
+
* - [P0-1 U4] 连接崩溃收割形态(failAllTurns 的错误,D6 可重试形态)判据:
|
|
172
164
|
* 非 RPC error(服务端无明确应答——有应答即精确错误归类,非瞬时崩溃面)且
|
|
173
165
|
* conn 不存活。时序可靠性:catch 时刻紧随 onClose 收割,连接重建仅由
|
|
174
166
|
* conn.request 惰性触发——本链路中 runTurn finally 的 closeSession 对死连接
|
|
175
|
-
* 短路(channel 侧 !alive 守卫)、stop 只属 abort
|
|
176
|
-
*
|
|
167
|
+
* 短路(channel 侧 !alive 守卫)、stop 只属 abort 链(已被 signal.aborted
|
|
168
|
+
* 短路)——此刻无 request 可重建,判据可靠;
|
|
177
169
|
* - 其余 → 精确错误终态。
|
|
178
170
|
*/
|
|
179
171
|
private classifyAppServerTurnFailure;
|
|
@@ -182,28 +174,17 @@ declare class ZcodeEngine implements EnginePort {
|
|
|
182
174
|
* shutdown resolve 于 `exit` 事件,而 finalize 挂 `close`(stdio 排空)——两者之间的
|
|
183
175
|
* 事件窗口内 conn.child 仍非 null,紧接的下一任务 request 会复用垂死进程(写入成功
|
|
184
176
|
* 但必败,走崩溃路径)而非触发重建。与 shutdownRuntimeAndDisposeChannel 的
|
|
185
|
-
* HARVEST_GRACE 同款 race 形态(close
|
|
186
|
-
*
|
|
177
|
+
* HARVEST_GRACE 同款 race 形态(close 永不到达不挂死)。abort 链的 await 终局
|
|
178
|
+
* 语义因此是「进程收割确认完成」而非「SIGTERM 已发出」。
|
|
187
179
|
*/
|
|
188
180
|
private awaitConnFinalized;
|
|
189
181
|
/**
|
|
190
|
-
* D3 abort
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
* (带上限)再发 stop——否则 stop 永远发不出,直接连坐杀共享进程。
|
|
197
|
-
* - **超时入口**(`escalateOn: "stop-outcome"`,channel 判死后由 catch await 链终局):
|
|
198
|
-
* turn 已 reject,对它 race 恒真不可用(v1 击穿点)——升级判据改挂在 **stop 应答
|
|
199
|
-
* 三态**:①成功应答 → 服务端接受停 turn,止损确认,链终止;②协议性 error 应答
|
|
200
|
-
* (有 error 帧即控制面活的证据,多因 runTurn finally 的 closeSession 先行关会话,
|
|
201
|
-
* 健康形态竞态)→ 链终止**不升级**(止损由 close 回收 + 服务端自治承担;把
|
|
202
|
-
* 「stop 报错」一律升级会误杀健康共享进程并连坐并发任务);③超时/写入失败/进程
|
|
203
|
-
* 死等连接级失败(控制面死)→ killChain 升级。判据实现依据:error 应答帧 reject
|
|
204
|
-
* 携带 number code(isAppServerRpcError);连接级失败是无 code 的新 Error
|
|
205
|
-
* (connection.request 三态 reject 形态)。返回值即止损路径(超时入口的 outcome
|
|
206
|
-
* 文案素材——D3 强制可观测面)。
|
|
182
|
+
* D3 abort 链执行体(用户取消入口,fire-and-forget——与 turn promise 并行推进):
|
|
183
|
+
* stop 帧(超时 ZCODE_APPSERVER_STOP_TIMEOUT_MS)→ grace 窗口内 turn 落定即止
|
|
184
|
+
* (不杀共享进程)→ 超窗 killChain(conn.shutdown 全序:SIGTERM→grace→SIGKILL)。
|
|
185
|
+
* turn 的最终落定由 attempt 主路径 await 收口,本链不直接产出终态。abort 与 create
|
|
186
|
+
* 竞态(signal 先到、session 未建立):等会话建立(带上限)再发 stop——否则 stop
|
|
187
|
+
* 永远发不出,直接连坐杀共享进程。
|
|
207
188
|
*/
|
|
208
189
|
private appServerAbortChain;
|
|
209
190
|
/**
|
|
@@ -221,15 +202,15 @@ declare class ZcodeEngine implements EnginePort {
|
|
|
221
202
|
* [R5 修复 R4 既有竞态] shutdown → 等崩溃收割实际发生 → channel 退订。killChain 在
|
|
222
203
|
* `exit` 事件 resolve,而连接 finalize(onClose → channel 的 failAllTurns)挂
|
|
223
204
|
* `close` 事件——两者之间有一个事件循环窗口:shutdown resolve 后立即退订,在途
|
|
224
|
-
* turn
|
|
205
|
+
* turn 会错过收割而失去终局来源。退订前等 onClose 触发(本方法先于
|
|
225
206
|
* shutdown 订阅;channel 的订阅在构造期更早——其 failAllTurns 先于本 promise
|
|
226
207
|
* resolve 执行);ZCODE_APPSERVER_HARVEST_GRACE_MS 兜底防 `close` 永不到达时挂死。
|
|
227
208
|
* [P0-1 U5/D7] grace race 输掉(close 迟到/永不到达——stdio 被孙进程持有排空不
|
|
228
209
|
* 尽等病态形态)时,channel.dispose() 内置的 dispose 收割(failAllTurns 先于退订,
|
|
229
|
-
* SessionChannel.dispose)兜底在途 turn
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
210
|
+
* SessionChannel.dispose)兜底在途 turn——在途 turn 收敛为「grace 窗口内明确失败」
|
|
211
|
+
* (设计 §3.4 退化路径闭合);race 窗口与 awaitConnFinalized 同源同量级
|
|
212
|
+
* (ZCODE_APPSERVER_HARVEST_GRACE_MS)。正常 close 先到时 onClose 收割先行,
|
|
213
|
+
* dispose 收割幂等 no-op(零回归)。
|
|
233
214
|
*/
|
|
234
215
|
private shutdownRuntimeAndDisposeChannel;
|
|
235
216
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -154,26 +154,18 @@ declare class ZcodeEngine implements EnginePort {
|
|
|
154
154
|
* 单轮常驻执行:runTurn 组合面 + D3 abort 链 + 事件前移(text_delta 实时流出;
|
|
155
155
|
* 终态数据经 read 兜底收口后才 resolve——不变量 1/2)。
|
|
156
156
|
*
|
|
157
|
-
* @param opts
|
|
158
|
-
* 向重试轮传剩余值;缺省不传(channel 走 env→默认,首轮行为)。
|
|
159
|
-
* retried:瞬时重试轮标记——失败文案补「已自动重试一次」句(F-1/F-4)。
|
|
157
|
+
* @param opts retried:瞬时重试轮标记——失败文案补「已自动重试一次」句(F-1/F-4)。
|
|
160
158
|
*/
|
|
161
159
|
private attemptAppServerTurn;
|
|
162
160
|
/**
|
|
163
161
|
* [attemptAppServerTurn 拆分] 失败分流(catch 半边):
|
|
164
162
|
* - signal 已 aborted → 中止终态收口;
|
|
165
|
-
* - [P0-1
|
|
166
|
-
* 再挂在 turn 落定上(race 恒真,killChain 结构性不可达的 v1 击穿点),改以
|
|
167
|
-
* stop 应答三态裁决。await 链终局(非 fire-and-forget):outcome 止损文案与
|
|
168
|
-
* 重试时序(D6,u-z4)都依赖链终局信号——止损完成前不合成终态。timeout 类
|
|
169
|
-
* (idle/ceiling 都算)是 D6 明文的可重试形态——结构化标记
|
|
170
|
-
* (TurnTimeoutError 类型化判据,不经字符串匹配,D4 同精神);
|
|
171
|
-
* - [P0-1 U4] 连接崩溃收割形态(failAllTurns 的错误,D6 第二可重试形态)判据:
|
|
163
|
+
* - [P0-1 U4] 连接崩溃收割形态(failAllTurns 的错误,D6 可重试形态)判据:
|
|
172
164
|
* 非 RPC error(服务端无明确应答——有应答即精确错误归类,非瞬时崩溃面)且
|
|
173
165
|
* conn 不存活。时序可靠性:catch 时刻紧随 onClose 收割,连接重建仅由
|
|
174
166
|
* conn.request 惰性触发——本链路中 runTurn finally 的 closeSession 对死连接
|
|
175
|
-
* 短路(channel 侧 !alive 守卫)、stop 只属 abort
|
|
176
|
-
*
|
|
167
|
+
* 短路(channel 侧 !alive 守卫)、stop 只属 abort 链(已被 signal.aborted
|
|
168
|
+
* 短路)——此刻无 request 可重建,判据可靠;
|
|
177
169
|
* - 其余 → 精确错误终态。
|
|
178
170
|
*/
|
|
179
171
|
private classifyAppServerTurnFailure;
|
|
@@ -182,28 +174,17 @@ declare class ZcodeEngine implements EnginePort {
|
|
|
182
174
|
* shutdown resolve 于 `exit` 事件,而 finalize 挂 `close`(stdio 排空)——两者之间的
|
|
183
175
|
* 事件窗口内 conn.child 仍非 null,紧接的下一任务 request 会复用垂死进程(写入成功
|
|
184
176
|
* 但必败,走崩溃路径)而非触发重建。与 shutdownRuntimeAndDisposeChannel 的
|
|
185
|
-
* HARVEST_GRACE 同款 race 形态(close
|
|
186
|
-
*
|
|
177
|
+
* HARVEST_GRACE 同款 race 形态(close 永不到达不挂死)。abort 链的 await 终局
|
|
178
|
+
* 语义因此是「进程收割确认完成」而非「SIGTERM 已发出」。
|
|
187
179
|
*/
|
|
188
180
|
private awaitConnFinalized;
|
|
189
181
|
/**
|
|
190
|
-
* D3 abort
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
* (带上限)再发 stop——否则 stop 永远发不出,直接连坐杀共享进程。
|
|
197
|
-
* - **超时入口**(`escalateOn: "stop-outcome"`,channel 判死后由 catch await 链终局):
|
|
198
|
-
* turn 已 reject,对它 race 恒真不可用(v1 击穿点)——升级判据改挂在 **stop 应答
|
|
199
|
-
* 三态**:①成功应答 → 服务端接受停 turn,止损确认,链终止;②协议性 error 应答
|
|
200
|
-
* (有 error 帧即控制面活的证据,多因 runTurn finally 的 closeSession 先行关会话,
|
|
201
|
-
* 健康形态竞态)→ 链终止**不升级**(止损由 close 回收 + 服务端自治承担;把
|
|
202
|
-
* 「stop 报错」一律升级会误杀健康共享进程并连坐并发任务);③超时/写入失败/进程
|
|
203
|
-
* 死等连接级失败(控制面死)→ killChain 升级。判据实现依据:error 应答帧 reject
|
|
204
|
-
* 携带 number code(isAppServerRpcError);连接级失败是无 code 的新 Error
|
|
205
|
-
* (connection.request 三态 reject 形态)。返回值即止损路径(超时入口的 outcome
|
|
206
|
-
* 文案素材——D3 强制可观测面)。
|
|
182
|
+
* D3 abort 链执行体(用户取消入口,fire-and-forget——与 turn promise 并行推进):
|
|
183
|
+
* stop 帧(超时 ZCODE_APPSERVER_STOP_TIMEOUT_MS)→ grace 窗口内 turn 落定即止
|
|
184
|
+
* (不杀共享进程)→ 超窗 killChain(conn.shutdown 全序:SIGTERM→grace→SIGKILL)。
|
|
185
|
+
* turn 的最终落定由 attempt 主路径 await 收口,本链不直接产出终态。abort 与 create
|
|
186
|
+
* 竞态(signal 先到、session 未建立):等会话建立(带上限)再发 stop——否则 stop
|
|
187
|
+
* 永远发不出,直接连坐杀共享进程。
|
|
207
188
|
*/
|
|
208
189
|
private appServerAbortChain;
|
|
209
190
|
/**
|
|
@@ -221,15 +202,15 @@ declare class ZcodeEngine implements EnginePort {
|
|
|
221
202
|
* [R5 修复 R4 既有竞态] shutdown → 等崩溃收割实际发生 → channel 退订。killChain 在
|
|
222
203
|
* `exit` 事件 resolve,而连接 finalize(onClose → channel 的 failAllTurns)挂
|
|
223
204
|
* `close` 事件——两者之间有一个事件循环窗口:shutdown resolve 后立即退订,在途
|
|
224
|
-
* turn
|
|
205
|
+
* turn 会错过收割而失去终局来源。退订前等 onClose 触发(本方法先于
|
|
225
206
|
* shutdown 订阅;channel 的订阅在构造期更早——其 failAllTurns 先于本 promise
|
|
226
207
|
* resolve 执行);ZCODE_APPSERVER_HARVEST_GRACE_MS 兜底防 `close` 永不到达时挂死。
|
|
227
208
|
* [P0-1 U5/D7] grace race 输掉(close 迟到/永不到达——stdio 被孙进程持有排空不
|
|
228
209
|
* 尽等病态形态)时,channel.dispose() 内置的 dispose 收割(failAllTurns 先于退订,
|
|
229
|
-
* SessionChannel.dispose)兜底在途 turn
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
210
|
+
* SessionChannel.dispose)兜底在途 turn——在途 turn 收敛为「grace 窗口内明确失败」
|
|
211
|
+
* (设计 §3.4 退化路径闭合);race 窗口与 awaitConnFinalized 同源同量级
|
|
212
|
+
* (ZCODE_APPSERVER_HARVEST_GRACE_MS)。正常 close 先到时 onClose 收割先行,
|
|
213
|
+
* dispose 收割幂等 no-op(零回归)。
|
|
233
214
|
*/
|
|
234
215
|
private shutdownRuntimeAndDisposeChannel;
|
|
235
216
|
/**
|