@zhushanwen/subagent-core 0.6.0 → 0.7.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.
Files changed (278) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-KXVBIVOU.js +16 -0
  3. package/dist/chunk-T2SYBW3I.js +24 -0
  4. package/dist/chunk-VURUAGMM.js +2305 -0
  5. package/dist/{types-C3fE3R9x.d.cts → engine-discovery-scan-ocpM8FmI.d.cts} +770 -668
  6. package/dist/{types-C3fE3R9x.d.ts → engine-discovery-scan-ocpM8FmI.d.ts} +770 -668
  7. package/dist/execution/engine/engine-discovery-scan.cjs +2210 -0
  8. package/dist/execution/engine/engine-discovery-scan.d.cts +4 -0
  9. package/dist/execution/engine/engine-discovery-scan.d.ts +4 -0
  10. package/dist/execution/engine/engine-discovery-scan.js +20 -0
  11. package/dist/execution/engine/paths.cjs +6 -23
  12. package/dist/execution/engine/paths.d.cts +1 -8
  13. package/dist/execution/engine/paths.d.ts +1 -8
  14. package/dist/execution/engine/paths.js +1 -1
  15. package/dist/execution/relay-env.cjs +12 -28
  16. package/dist/execution/relay-env.d.cts +1 -33
  17. package/dist/execution/relay-env.d.ts +1 -33
  18. package/dist/execution/relay-env.js +5 -3
  19. package/dist/index.cjs +14045 -16059
  20. package/dist/index.d.cts +1035 -1579
  21. package/dist/index.d.ts +1035 -1579
  22. package/dist/index.js +9838 -13800
  23. package/dist.bundle/index.cjs +28875 -30323
  24. package/package.json +20 -26
  25. package/src/__tests__/record-store-last-line.test.ts +16 -7
  26. package/src/core/error-message.ts +7 -6
  27. package/src/core/host-services.ts +8 -2
  28. package/src/core/notify-ports.ts +17 -2
  29. package/src/execution/__tests__/chat-engine-routing.test.ts +62 -28
  30. package/src/execution/__tests__/chat-round-first-round-watchdog.test.ts +255 -0
  31. package/src/execution/__tests__/collect-coordinator-service.test.ts +36 -47
  32. package/src/execution/__tests__/collect-mixed-dispatch.test.ts +20 -53
  33. package/src/execution/__tests__/delivery-methods.test.ts +179 -237
  34. package/src/execution/__tests__/execute-and-await-worktree.test.ts +0 -2
  35. package/src/execution/__tests__/execute-nesting.test.ts +20 -13
  36. package/src/execution/__tests__/explicit-agent-ref-guard.test.ts +20 -33
  37. package/src/execution/__tests__/gc-timer.test.ts +7 -22
  38. package/src/execution/__tests__/get-record-for-action-restart.test.ts +20 -10
  39. package/src/execution/__tests__/helpers/fake-engine-port.ts +187 -0
  40. package/src/execution/__tests__/helpers/spawn-mock.ts +36 -9
  41. package/src/execution/__tests__/helpers/subagent-service-mocks.ts +1 -1
  42. package/src/execution/__tests__/idle-gc.test.ts +200 -0
  43. package/src/execution/__tests__/lifecycle-predicates.test.ts +26 -21
  44. package/src/execution/__tests__/nested-visibility-env-propagation.test.ts +5 -2
  45. package/src/execution/__tests__/reconcile-sweep.test.ts +200 -0
  46. package/src/execution/__tests__/record-store.test.ts +60 -6
  47. package/src/execution/__tests__/recursive-visibility-baseline.test.ts +20 -13
  48. package/src/execution/__tests__/round-supervisor.test.ts +293 -0
  49. package/src/execution/__tests__/session-pending.test.ts +119 -17
  50. package/src/execution/__tests__/stream-sink-retirement.test.ts +10 -10
  51. package/src/execution/__tests__/subagent-service-multiproc-guard.test.ts +1 -11
  52. package/src/execution/__tests__/subagent-service-notify-gate.test.ts +33 -30
  53. package/src/execution/__tests__/subagent-service-parent-guard.test.ts +2 -9
  54. package/src/execution/__tests__/subagent-service-recovery-bounds.test.ts +59 -129
  55. package/src/execution/__tests__/subagent-service.test.ts +2 -2
  56. package/src/execution/__tests__/subprocess-agent-runner-routing.test.ts +109 -7
  57. package/src/execution/__tests__/subprocess-agent-runner.test.ts +108 -36
  58. package/src/execution/__tests__/sync-collect-recovery.test.ts +21 -36
  59. package/src/execution/__tests__/workflow-state-root.test.ts +232 -0
  60. package/src/execution/agent-registry.ts +6 -2
  61. package/src/execution/dialog-queue.ts +6 -73
  62. package/src/execution/engine/__tests__/common/capability-gate.test.ts +115 -15
  63. package/src/execution/engine/__tests__/common/errors.test.ts +11 -18
  64. package/src/execution/engine/__tests__/common/kill-chain.test.ts +7 -0
  65. package/src/execution/engine/__tests__/common/nesting-guard.test.ts +9 -3
  66. package/src/execution/engine/__tests__/common/session-view-service.test.ts +90 -3
  67. package/src/execution/engine/__tests__/conformance/H9-test-disposition.md +116 -0
  68. package/src/execution/engine/__tests__/conformance/__fixtures__/engine-protocol/fake-engine-protocol.mjs +377 -0
  69. package/src/execution/engine/__tests__/conformance/__fixtures__/engine-protocol/recorded.fixture.json +331 -0
  70. package/src/execution/engine/__tests__/conformance/__fixtures__/engine-protocol/smoke-run.fixture.json +213 -0
  71. package/src/execution/engine/__tests__/conformance/chat-round-protocol.test.ts +230 -0
  72. package/src/execution/engine/__tests__/conformance/contract.abort.test.ts +69 -42
  73. package/src/execution/engine/__tests__/conformance/contract.agent-events.test.ts +4 -81
  74. package/src/execution/engine/__tests__/conformance/contract.probe.test.ts +67 -44
  75. package/src/execution/engine/__tests__/conformance/contract.read-degradation.test.ts +81 -54
  76. package/src/execution/engine/__tests__/conformance/engine-conformance.live.test.ts +133 -70
  77. package/src/execution/engine/__tests__/conformance/engine-crash.test.ts +143 -0
  78. package/src/execution/engine/__tests__/conformance/fake-engine-capabilities.ts +19 -0
  79. package/src/execution/engine/__tests__/conformance/golden-replay.pi.test.ts +7 -2
  80. package/src/execution/engine/__tests__/conformance/golden-replay.zcode.test.ts +6 -5
  81. package/src/execution/engine/__tests__/conformance/protocol-blackbox.test.ts +398 -0
  82. package/src/execution/engine/__tests__/conformance/registry-fork-filter.test.ts +221 -0
  83. package/src/execution/engine/__tests__/conformance/round-liveness-supervisor.test.ts +302 -0
  84. package/src/execution/engine/__tests__/conformance/static-spawn-guard.test.ts +58 -0
  85. package/src/execution/engine/__tests__/engine-discovery-scan.test.ts +558 -0
  86. package/src/execution/engine/__tests__/host-task-spec.test.ts +45 -0
  87. package/src/execution/engine/__tests__/model-ref-split.test.ts +74 -0
  88. package/src/execution/engine/__tests__/registry.test.ts +206 -1
  89. package/src/execution/engine/__tests__/routing.test.ts +97 -0
  90. package/src/execution/engine/__tests__/run-failure-worktree-cleanup.test.ts +97 -0
  91. package/src/execution/engine/client/__tests__/__fixtures__/fake-engine.mjs +294 -0
  92. package/src/execution/engine/client/__tests__/engine-client.test.ts +516 -0
  93. package/src/execution/engine/client/__tests__/mirror.test.ts +67 -0
  94. package/src/execution/engine/client/__tests__/pid-file.test.ts +257 -0
  95. package/src/execution/engine/client/__tests__/protocol-closure.test.ts +95 -0
  96. package/src/execution/engine/client/__tests__/remote-engine.test.ts +457 -0
  97. package/src/execution/engine/client/client-options.ts +103 -0
  98. package/src/execution/engine/client/engine-client.ts +687 -0
  99. package/src/execution/engine/client/mirror.ts +167 -0
  100. package/src/execution/engine/client/pid-file.ts +392 -0
  101. package/src/execution/engine/client/reaper.ts +95 -0
  102. package/src/execution/engine/client/remote-engine.ts +441 -0
  103. package/src/execution/engine/client/reverse-router.ts +255 -0
  104. package/src/execution/engine/common/capability-gate.ts +109 -22
  105. package/src/execution/engine/common/errors.ts +9 -25
  106. package/src/execution/engine/common/event-journal.ts +4 -50
  107. package/src/execution/engine/common/journal-replay.ts +3 -1
  108. package/src/execution/engine/common/kill-chain.ts +18 -251
  109. package/src/execution/engine/common/nesting-guard.ts +18 -114
  110. package/src/execution/engine/common/pool-manager.ts +4 -0
  111. package/src/execution/engine/common/session-view-service.ts +56 -84
  112. package/src/execution/engine/config.ts +151 -0
  113. package/src/execution/engine/d8-compat.ts +346 -0
  114. package/src/execution/engine/engine-discovery-roots.ts +107 -0
  115. package/src/execution/engine/engine-discovery-scan.ts +269 -0
  116. package/src/execution/engine/engine-discovery.ts +30 -7
  117. package/src/execution/engine/engine-inspect-package.ts +282 -0
  118. package/src/execution/engine/engine-manifest.ts +244 -0
  119. package/src/execution/engine/host/__tests__/host-askuser-endpoint.test.ts +123 -0
  120. package/src/execution/engine/host/__tests__/host-bridge.test.ts +135 -0
  121. package/src/execution/engine/host/__tests__/spawned-children.test.ts +73 -0
  122. package/src/execution/engine/host/host-bridge.ts +150 -0
  123. package/src/execution/engine/host/host-ui-endpoint.ts +47 -0
  124. package/src/execution/engine/host/pi-host-binding.ts +91 -0
  125. package/src/execution/engine/host/spawned-children.ts +139 -0
  126. package/src/execution/engine/host-task-spec.ts +29 -2
  127. package/src/execution/engine/model-validation.ts +55 -2
  128. package/src/execution/engine/paths.ts +16 -41
  129. package/src/execution/engine/port.ts +48 -2
  130. package/src/execution/engine/registry.ts +153 -34
  131. package/src/execution/engine/routing.ts +225 -52
  132. package/src/execution/engine/types.ts +25 -200
  133. package/src/execution/finalize-record.ts +25 -0
  134. package/src/execution/idle-gc.ts +89 -14
  135. package/src/execution/lifecycle-manager.ts +10 -7
  136. package/src/execution/lifecycle-predicates.ts +10 -8
  137. package/src/execution/record-store.ts +29 -2
  138. package/src/execution/relay-env.ts +19 -36
  139. package/src/execution/round-supervisor/domain.ts +89 -0
  140. package/src/execution/round-supervisor/index.ts +33 -0
  141. package/src/execution/round-supervisor/notify-accounting.ts +87 -0
  142. package/src/execution/round-supervisor/reconcile-sweep.ts +235 -0
  143. package/src/execution/round-supervisor/service-binding.test.ts +661 -0
  144. package/src/execution/round-supervisor/service-binding.ts +273 -0
  145. package/src/execution/round-supervisor/supervisor.ts +426 -0
  146. package/src/execution/session-pending.ts +68 -74
  147. package/src/execution/settled-watchdog.ts +39 -0
  148. package/src/execution/subagent-service.ts +746 -400
  149. package/src/execution/subprocess-agent-runner.ts +16 -8
  150. package/src/execution/types.ts +41 -117
  151. package/src/execution/ui-channels.ts +13 -214
  152. package/src/execution/ui-request-handler-factory.ts +7 -4
  153. package/src/execution/ui-request-observability.ts +2 -2
  154. package/src/execution/workflow-state-root.ts +67 -0
  155. package/src/execution/worktree-git-ops.ts +5 -0
  156. package/src/execution/worktree-manager.ts +11 -1
  157. package/src/index.ts +55 -26
  158. package/src/orchestration/__tests__/execute-agent-call.test.ts +1 -1
  159. package/src/orchestration/execute-agent-call.ts +1 -1
  160. package/src/orchestration/file-run-store.ts +144 -59
  161. package/src/orchestration/models/types.ts +43 -42
  162. package/src/shared/zcode-model-ref.ts +31 -0
  163. package/dist/chunk-43ONBFZX.js +0 -240
  164. package/dist/chunk-A4IVZWVX.js +0 -31
  165. package/dist/chunk-APZY4IME.js +0 -27
  166. package/dist/chunk-V3VHZ2VX.js +0 -59
  167. package/dist/execution/engine/engines/zcode/constants.cjs +0 -107
  168. package/dist/execution/engine/engines/zcode/constants.d.cts +0 -135
  169. package/dist/execution/engine/engines/zcode/constants.d.ts +0 -135
  170. package/dist/execution/engine/engines/zcode/constants.js +0 -54
  171. package/dist/execution/engine/engines/zcode/reader.cjs +0 -276
  172. package/dist/execution/engine/engines/zcode/reader.d.cts +0 -21
  173. package/dist/execution/engine/engines/zcode/reader.d.ts +0 -21
  174. package/dist/execution/engine/engines/zcode/reader.js +0 -9
  175. package/src/__tests__/append-system-prompt-assembly.test.ts +0 -243
  176. package/src/__tests__/fr4-get-state-handshake.test.ts +0 -125
  177. package/src/__tests__/session-runner.test.ts +0 -69
  178. package/src/execution/__tests__/ask-user-transit-e2e.test.ts +0 -490
  179. package/src/execution/__tests__/chatmode-first-round-closure-spawn.test.ts +0 -191
  180. package/src/execution/__tests__/descendant-sweep-guards.test.ts +0 -220
  181. package/src/execution/__tests__/descendant-sweep.test.ts +0 -269
  182. package/src/execution/__tests__/engine-model-validation.test.ts +0 -741
  183. package/src/execution/__tests__/epipe-fallback.test.ts +0 -248
  184. package/src/execution/__tests__/execution-runtime-face.test.ts +0 -272
  185. package/src/execution/__tests__/get-state-handshake.test.ts +0 -127
  186. package/src/execution/__tests__/helpers/session-runner-mocks.ts +0 -113
  187. package/src/execution/__tests__/keep-alive-no-progress.test.ts +0 -280
  188. package/src/execution/__tests__/kill-all-escalation.test.ts +0 -196
  189. package/src/execution/__tests__/max-turns-to-watchdog-ms.test.ts +0 -113
  190. package/src/execution/__tests__/output-collector.test.ts +0 -469
  191. package/src/execution/__tests__/pi-invocation.test.ts +0 -166
  192. package/src/execution/__tests__/recursive-visibility-env.test.ts +0 -149
  193. package/src/execution/__tests__/rpc-mode.test.ts +0 -89
  194. package/src/execution/__tests__/run-and-finalize-anchoring.test.ts +0 -387
  195. package/src/execution/__tests__/run-and-finalize-chatmode.test.ts +0 -277
  196. package/src/execution/__tests__/run-spawn-chatmode-settled.test.ts +0 -254
  197. package/src/execution/__tests__/run-spawn-edges.test.ts +0 -1079
  198. package/src/execution/__tests__/run-spawn-integration.test.ts +0 -933
  199. package/src/execution/__tests__/run-spawn-resume.test.ts +0 -322
  200. package/src/execution/__tests__/run-spawn-rpc-mode.test.ts +0 -196
  201. package/src/execution/__tests__/run-spawn-stdout-callback-throw.test.ts +0 -207
  202. package/src/execution/__tests__/service-kill-escalation.test.ts +0 -91
  203. package/src/execution/__tests__/session-runner-branch-cache-lru.test.ts +0 -110
  204. package/src/execution/__tests__/session-runner-close-prune.test.ts +0 -181
  205. package/src/execution/__tests__/session-runner-dispatch.test.ts +0 -489
  206. package/src/execution/__tests__/session-runner-epipe.test.ts +0 -179
  207. package/src/execution/__tests__/session-runner-heartbeat-idle-fallback.test.ts +0 -227
  208. package/src/execution/__tests__/session-runner-lifecycle-helpers.test.ts +0 -290
  209. package/src/execution/__tests__/session-runner-schema-env.test.ts +0 -352
  210. package/src/execution/__tests__/settled-watchdog.test.ts +0 -524
  211. package/src/execution/__tests__/spawn-args.test.ts +0 -446
  212. package/src/execution/__tests__/spawn-event-adapter-rpc.test.ts +0 -192
  213. package/src/execution/__tests__/spawn-event-adapter.test.ts +0 -167
  214. package/src/execution/__tests__/spawn-worktree-guidance.test.ts +0 -208
  215. package/src/execution/__tests__/spawned-children.test.ts +0 -236
  216. package/src/execution/__tests__/start-sync-model-guard.test.ts +0 -150
  217. package/src/execution/__tests__/stdin-writer.test.ts +0 -464
  218. package/src/execution/__tests__/subagent-service-message-close.test.ts +0 -693
  219. package/src/execution/__tests__/temp-prompt.test.ts +0 -53
  220. package/src/execution/__tests__/timeout-integration.test.ts +0 -616
  221. package/src/execution/__tests__/turn-limiter-semantics.test.ts +0 -194
  222. package/src/execution/__tests__/turn-limiter.test.ts +0 -65
  223. package/src/execution/__tests__/ui-request-handler.test.ts +0 -205
  224. package/src/execution/__tests__/ui-request-queue.test.ts +0 -298
  225. package/src/execution/__tests__/worktree-pid-registration.integration.test.ts +0 -230
  226. package/src/execution/engine/__tests__/common/schema-emulation.test.ts +0 -128
  227. package/src/execution/engine/__tests__/common/session-view-service-zcode-dbpath.test.ts +0 -149
  228. package/src/execution/engine/__tests__/conformance/__fixtures__/pi-golden-events.json +0 -28
  229. package/src/execution/engine/__tests__/conformance/zcode-appserver-harness.ts +0 -128
  230. package/src/execution/engine/__tests__/paths.test.ts +0 -39
  231. package/src/execution/engine/common/schema-emulation.ts +0 -189
  232. package/src/execution/engine/common/session-view-projection.ts +0 -51
  233. package/src/execution/engine/engines/pi/__tests__/pi-engine.test.ts +0 -615
  234. package/src/execution/engine/engines/pi/__tests__/reader.test.ts +0 -155
  235. package/src/execution/engine/engines/pi/__tests__/spawn-opts-direct.test.ts +0 -257
  236. package/src/execution/engine/engines/pi/argv-mirror.ts +0 -135
  237. package/src/execution/engine/engines/pi/get-state-handshake.ts +0 -179
  238. package/src/execution/engine/engines/pi/output-collector.ts +0 -317
  239. package/src/execution/engine/engines/pi/pi-engine.ts +0 -811
  240. package/src/execution/engine/engines/pi/pi-invocation.ts +0 -120
  241. package/src/execution/engine/engines/pi/reader.ts +0 -59
  242. package/src/execution/engine/engines/pi/registration.ts +0 -37
  243. package/src/execution/engine/engines/pi/session-runner.ts +0 -2840
  244. package/src/execution/engine/engines/pi/spawn-event-adapter.ts +0 -404
  245. package/src/execution/engine/engines/pi/stdin-writer.ts +0 -199
  246. package/src/execution/engine/engines/pi/temp-prompt.ts +0 -62
  247. package/src/execution/engine/engines/pi/turn-limiter.ts +0 -102
  248. package/src/execution/engine/engines/zcode/__tests__/__fixtures__/fake-appserver.mjs +0 -301
  249. package/src/execution/engine/engines/zcode/__tests__/__fixtures__/zcode-golden-appserver.json +0 -36
  250. package/src/execution/engine/engines/zcode/__tests__/appserver-launcher.test.ts +0 -321
  251. package/src/execution/engine/engines/zcode/__tests__/connection.test.ts +0 -473
  252. package/src/execution/engine/engines/zcode/__tests__/parser.test.ts +0 -43
  253. package/src/execution/engine/engines/zcode/__tests__/preparer.test.ts +0 -124
  254. package/src/execution/engine/engines/zcode/__tests__/reader.test.ts +0 -210
  255. package/src/execution/engine/engines/zcode/__tests__/registration.test.ts +0 -71
  256. package/src/execution/engine/engines/zcode/__tests__/session-channel-dispose-harvest.test.ts +0 -247
  257. package/src/execution/engine/engines/zcode/__tests__/session-channel-turn-timers.test.ts +0 -451
  258. package/src/execution/engine/engines/zcode/__tests__/session-channel.test.ts +0 -792
  259. package/src/execution/engine/engines/zcode/__tests__/zcode-engine-appserver.test.ts +0 -782
  260. package/src/execution/engine/engines/zcode/__tests__/zcode-engine-degrade.test.ts +0 -168
  261. package/src/execution/engine/engines/zcode/__tests__/zcode-engine-dispose.test.ts +0 -210
  262. package/src/execution/engine/engines/zcode/__tests__/zcode-engine-retry.test.ts +0 -353
  263. package/src/execution/engine/engines/zcode/__tests__/zcode-engine-status.test.ts +0 -282
  264. package/src/execution/engine/engines/zcode/__tests__/zcode-engine-timeout.test.ts +0 -372
  265. package/src/execution/engine/engines/zcode/__tests__/zcode-engine.live.test.ts +0 -145
  266. package/src/execution/engine/engines/zcode/appserver-launcher.ts +0 -167
  267. package/src/execution/engine/engines/zcode/connection.ts +0 -598
  268. package/src/execution/engine/engines/zcode/constants.ts +0 -176
  269. package/src/execution/engine/engines/zcode/golden-sample.ts +0 -47
  270. package/src/execution/engine/engines/zcode/parser.ts +0 -102
  271. package/src/execution/engine/engines/zcode/preparer.ts +0 -235
  272. package/src/execution/engine/engines/zcode/reader.ts +0 -381
  273. package/src/execution/engine/engines/zcode/registration.ts +0 -37
  274. package/src/execution/engine/engines/zcode/session-channel.ts +0 -968
  275. package/src/execution/engine/engines/zcode/zcode-engine.ts +0 -1431
  276. package/src/execution/round-settlement.ts +0 -93
  277. package/src/execution/ui-request-queue.ts +0 -215
  278. package/src/shared/schema-env.ts +0 -44
@@ -0,0 +1,331 @@
1
+ {
2
+ "_comment": "recorded by packages/subagent-core/scripts/record-engine-fixtures.mjs (W10);裁剪/脱敏后 wire 帧 + 结构白名单;复跑 = pnpm test:engine-protocol",
3
+ "schemaVersion": 1,
4
+ "engineId": "fake",
5
+ "recordedAt": "2026-09-08T23:41:59.728Z",
6
+ "protocolVersion": 1,
7
+ "wire": {
8
+ "hostToEngine": [
9
+ {
10
+ "id": 1,
11
+ "method": "initialize",
12
+ "params": {
13
+ "protocolVersion": 1,
14
+ "hostInfo": {
15
+ "name": "record-engine-fixtures",
16
+ "version": "1",
17
+ "dataRoot": "<dataRoot>"
18
+ },
19
+ "engineConfig": {}
20
+ }
21
+ },
22
+ {
23
+ "id": 2,
24
+ "method": "probe",
25
+ "params": {
26
+ "force": false
27
+ }
28
+ },
29
+ {
30
+ "id": 3,
31
+ "method": "run",
32
+ "params": {
33
+ "runId": "run-fake-record",
34
+ "task": "recorded smoke task (redacted)",
35
+ "ctx": {
36
+ "poolKey": "shared",
37
+ "cwd": "<workdir>"
38
+ }
39
+ }
40
+ },
41
+ {
42
+ "id": "rev-log-100",
43
+ "result": {
44
+ "ok": true
45
+ }
46
+ },
47
+ {
48
+ "id": "rev-pool-101",
49
+ "result": {
50
+ "ok": true
51
+ }
52
+ },
53
+ {
54
+ "id": "rev-ready-102",
55
+ "result": {
56
+ "ok": true
57
+ }
58
+ },
59
+ {
60
+ "id": "rev-child-103",
61
+ "result": {
62
+ "ok": true
63
+ }
64
+ },
65
+ {
66
+ "id": "rev-stream-104",
67
+ "result": {
68
+ "ok": true
69
+ }
70
+ },
71
+ {
72
+ "id": "rev-stream-105",
73
+ "result": {
74
+ "ok": true
75
+ }
76
+ },
77
+ {
78
+ "id": "rev-perm-106",
79
+ "result": {
80
+ "unsupported": true
81
+ }
82
+ },
83
+ {
84
+ "id": "rev-ask-107",
85
+ "result": {
86
+ "unsupported": true
87
+ }
88
+ },
89
+ {
90
+ "id": "rev-childst-108",
91
+ "result": {
92
+ "ok": true
93
+ }
94
+ },
95
+ {
96
+ "id": 4,
97
+ "method": "dispose",
98
+ "params": {}
99
+ }
100
+ ],
101
+ "engineToHost": [
102
+ {
103
+ "id": 1,
104
+ "result": {
105
+ "protocolVersion": 1,
106
+ "engineId": "fake",
107
+ "engineVersion": "0.1.0",
108
+ "adapterVersion": "fake-adapter-1",
109
+ "capabilities": {
110
+ "schemaEnforcement": "emulated",
111
+ "steer": "unsupported",
112
+ "conversation": "native",
113
+ "personaInjection": "prompt",
114
+ "eventGranularity": "stream",
115
+ "sandbox": "none",
116
+ "sessionRead": "full",
117
+ "resume": "cold",
118
+ "interrupt": "kill-only",
119
+ "permissionMode": "ignored",
120
+ "maxTurns": true
121
+ }
122
+ }
123
+ },
124
+ {
125
+ "id": 2,
126
+ "result": {
127
+ "ok": true,
128
+ "engineVersion": "0.1.0",
129
+ "checks": [
130
+ {
131
+ "name": "binary",
132
+ "ok": true
133
+ }
134
+ ]
135
+ }
136
+ },
137
+ {
138
+ "id": "rev-log-100",
139
+ "method": "host/log",
140
+ "params": {
141
+ "level": "info",
142
+ "component": "fake",
143
+ "message": "run started (redacted)"
144
+ }
145
+ },
146
+ {
147
+ "id": "rev-pool-101",
148
+ "method": "host/poolResolved",
149
+ "params": {
150
+ "runId": "run-fake-record",
151
+ "poolKey": "shared"
152
+ }
153
+ },
154
+ {
155
+ "id": "rev-ready-102",
156
+ "method": "host/handleReady",
157
+ "params": {
158
+ "runId": "run-fake-record",
159
+ "sessionRef": {
160
+ "sessionId": "sess-fixture"
161
+ },
162
+ "poolKey": "shared"
163
+ }
164
+ },
165
+ {
166
+ "id": "rev-child-103",
167
+ "method": "host/childSpawned",
168
+ "params": {
169
+ "pid": 43751,
170
+ "recordId": "run-smoke-1"
171
+ }
172
+ },
173
+ {
174
+ "id": "rev-stream-104",
175
+ "method": "host/streamDelta",
176
+ "params": {
177
+ "runId": "run-fake-record",
178
+ "delta": "<redacted>"
179
+ }
180
+ },
181
+ {
182
+ "method": "event",
183
+ "params": {
184
+ "runId": "run-fake-record",
185
+ "seq": 1,
186
+ "event": {
187
+ "type": "text_delta",
188
+ "delta": "<redacted>"
189
+ }
190
+ }
191
+ },
192
+ {
193
+ "id": "rev-stream-105",
194
+ "method": "host/streamDelta",
195
+ "params": {
196
+ "runId": "run-fake-record",
197
+ "delta": "<redacted>"
198
+ }
199
+ },
200
+ {
201
+ "method": "event",
202
+ "params": {
203
+ "runId": "run-fake-record",
204
+ "seq": 2,
205
+ "event": {
206
+ "type": "text_delta",
207
+ "delta": "<redacted>"
208
+ }
209
+ }
210
+ },
211
+ {
212
+ "method": "event",
213
+ "params": {
214
+ "runId": "run-fake-record",
215
+ "seq": 3,
216
+ "event": {
217
+ "type": "message_end",
218
+ "usage": {
219
+ "input": 10,
220
+ "output": 5,
221
+ "cacheRead": 0,
222
+ "cacheWrite": 0
223
+ }
224
+ }
225
+ }
226
+ },
227
+ {
228
+ "id": "rev-perm-106",
229
+ "method": "host/permission",
230
+ "params": {
231
+ "runId": "run-fake-record",
232
+ "request": {
233
+ "action": "bash",
234
+ "detail": "redacted"
235
+ }
236
+ }
237
+ },
238
+ {
239
+ "id": "rev-ask-107",
240
+ "method": "host/askUser",
241
+ "params": {
242
+ "runId": "run-fake-record",
243
+ "request": {
244
+ "method": "select",
245
+ "id": "q1"
246
+ }
247
+ }
248
+ },
249
+ {
250
+ "method": "event",
251
+ "params": {
252
+ "runId": "run-fake-record",
253
+ "seq": 4,
254
+ "event": {
255
+ "type": "turn_end"
256
+ }
257
+ }
258
+ },
259
+ {
260
+ "id": "rev-childst-108",
261
+ "method": "host/childStateChanged",
262
+ "params": {
263
+ "pid": 43751,
264
+ "recordId": "run-smoke-1",
265
+ "state": "exited",
266
+ "killed": false,
267
+ "exitCode": 0
268
+ }
269
+ },
270
+ {
271
+ "id": 3,
272
+ "result": {
273
+ "handle": {
274
+ "v": 1,
275
+ "engineId": "fake",
276
+ "sessionRef": {
277
+ "sessionId": "sess-fixture"
278
+ },
279
+ "poolKey": "shared",
280
+ "adapterVersion": "fake-adapter-1"
281
+ },
282
+ "outcome": {
283
+ "content": "Hello world",
284
+ "error": null,
285
+ "exitCode": 0,
286
+ "engineId": "fake"
287
+ }
288
+ }
289
+ },
290
+ {
291
+ "id": 4,
292
+ "result": {
293
+ "ok": true
294
+ }
295
+ }
296
+ ]
297
+ },
298
+ "run": {
299
+ "result": {
300
+ "handle": {
301
+ "v": 1,
302
+ "engineId": "fake",
303
+ "sessionRef": {
304
+ "sessionId": "sess-fixture"
305
+ },
306
+ "poolKey": "shared",
307
+ "adapterVersion": "fake-adapter-1"
308
+ },
309
+ "outcome": {
310
+ "content": "Hello world",
311
+ "error": null,
312
+ "exitCode": 0,
313
+ "engineId": "fake"
314
+ }
315
+ }
316
+ },
317
+ "events": [
318
+ {
319
+ "type": "text_delta"
320
+ },
321
+ {
322
+ "type": "text_delta"
323
+ },
324
+ {
325
+ "type": "message_end"
326
+ },
327
+ {
328
+ "type": "turn_end"
329
+ }
330
+ ]
331
+ }
@@ -0,0 +1,213 @@
1
+ {
2
+ "_comment": "协议层基线 fixture(W10 基线三层①)。形态 = record:engine-fixtures 的录制产物(schemaVersion 1):真实 run 的引擎帧裁剪/脱敏后落盘——路径与会话 id 占位化。复跑(test:engine-protocol)由 fake-engine-protocol.mjs 回放本文件,套件按白名单逐字段比对;text_delta 正文等不可复现字段在结构等价断言中显式排除(设计 §4 基线三层①)。",
3
+ "schemaVersion": 1,
4
+ "engineId": "fake",
5
+ "recordedAt": "2026-09-09T00:00:00.000Z",
6
+ "protocolVersion": 1,
7
+ "initialize": {
8
+ "result": {
9
+ "protocolVersion": 1,
10
+ "engineId": "fake",
11
+ "engineVersion": "0.1.0",
12
+ "adapterVersion": "fake-adapter-1",
13
+ "capabilities": {
14
+ "schemaEnforcement": "emulated",
15
+ "steer": "unsupported",
16
+ "conversation": "native",
17
+ "personaInjection": "prompt",
18
+ "eventGranularity": "stream",
19
+ "sandbox": "none",
20
+ "sessionRead": "full",
21
+ "resume": "cold",
22
+ "interrupt": "kill-only",
23
+ "permissionMode": "ignored",
24
+ "maxTurns": true
25
+ }
26
+ }
27
+ },
28
+ "probe": {
29
+ "result": {
30
+ "ok": true,
31
+ "engineVersion": "0.1.0",
32
+ "checks": [
33
+ {
34
+ "name": "binary",
35
+ "ok": true
36
+ }
37
+ ]
38
+ }
39
+ },
40
+ "probeFailure": {
41
+ "ok": false,
42
+ "engineVersion": "0.1.0",
43
+ "checks": [
44
+ {
45
+ "name": "binary",
46
+ "ok": false
47
+ }
48
+ ],
49
+ "error": {
50
+ "code": "engine_probe_failed",
51
+ "message": "engine binary check failed (redacted)",
52
+ "recovery": "Reinstall the engine package or fix PATH, then re-probe via the host engine list."
53
+ }
54
+ },
55
+ "listModels": {
56
+ "result": {
57
+ "models": [
58
+ {
59
+ "id": "fake-1",
60
+ "provider": "fake",
61
+ "dynamic": false
62
+ }
63
+ ]
64
+ }
65
+ },
66
+ "validateModel": {
67
+ "result": {
68
+ "canonicalRef": "fake/fake-1"
69
+ }
70
+ },
71
+ "interact": {
72
+ "result": {
73
+ "accepted": true
74
+ }
75
+ },
76
+ "read": {
77
+ "result": {
78
+ "entries": [],
79
+ "truncated": false
80
+ }
81
+ },
82
+ "run": {
83
+ "params": {
84
+ "runId": "run-smoke-1",
85
+ "task": "recorded smoke task (redacted)",
86
+ "ctx": {
87
+ "poolKey": "shared",
88
+ "cwd": "<workdir>",
89
+ "model": "fake/fake-1"
90
+ }
91
+ },
92
+ "script": [
93
+ {
94
+ "op": "log",
95
+ "level": "info",
96
+ "component": "fake",
97
+ "message": "run started (redacted)"
98
+ },
99
+ {
100
+ "op": "poolResolved",
101
+ "poolKey": "shared"
102
+ },
103
+ {
104
+ "op": "handleReady",
105
+ "sessionRef": {
106
+ "sessionId": "sess-fixture"
107
+ },
108
+ "poolKey": "shared"
109
+ },
110
+ {
111
+ "op": "childSpawned",
112
+ "recordId": "run-smoke-1"
113
+ },
114
+ {
115
+ "op": "streamDelta",
116
+ "delta": "Hello"
117
+ },
118
+ {
119
+ "op": "emit",
120
+ "seq": 1,
121
+ "event": {
122
+ "type": "text_delta",
123
+ "delta": "Hello"
124
+ }
125
+ },
126
+ {
127
+ "op": "streamDelta",
128
+ "delta": " world"
129
+ },
130
+ {
131
+ "op": "emit",
132
+ "seq": 2,
133
+ "event": {
134
+ "type": "text_delta",
135
+ "delta": " world"
136
+ }
137
+ },
138
+ {
139
+ "op": "emit",
140
+ "seq": 3,
141
+ "event": {
142
+ "type": "message_end",
143
+ "usage": {
144
+ "input": 10,
145
+ "output": 5,
146
+ "cacheRead": 0,
147
+ "cacheWrite": 0
148
+ }
149
+ }
150
+ },
151
+ {
152
+ "op": "permission",
153
+ "request": {
154
+ "action": "bash",
155
+ "detail": "redacted"
156
+ }
157
+ },
158
+ {
159
+ "op": "askUser",
160
+ "request": {
161
+ "method": "select",
162
+ "id": "q1"
163
+ },
164
+ "echoResultAsLog": true
165
+ },
166
+ {
167
+ "op": "emit",
168
+ "seq": 4,
169
+ "event": {
170
+ "type": "turn_end"
171
+ }
172
+ },
173
+ {
174
+ "op": "childStateChanged",
175
+ "recordId": "run-smoke-1",
176
+ "state": "exited",
177
+ "killed": false,
178
+ "exitCode": 0
179
+ }
180
+ ],
181
+ "result": {
182
+ "handle": {
183
+ "v": 1,
184
+ "engineId": "fake",
185
+ "sessionRef": {
186
+ "sessionId": "sess-fixture"
187
+ },
188
+ "poolKey": "shared",
189
+ "adapterVersion": "fake-adapter-1"
190
+ },
191
+ "outcome": {
192
+ "content": "Hello world",
193
+ "error": null,
194
+ "exitCode": 0,
195
+ "engineId": "fake"
196
+ }
197
+ }
198
+ },
199
+ "events": [
200
+ {
201
+ "type": "text_delta"
202
+ },
203
+ {
204
+ "type": "text_delta"
205
+ },
206
+ {
207
+ "type": "message_end"
208
+ },
209
+ {
210
+ "type": "turn_end"
211
+ }
212
+ ]
213
+ }