baxian 2.0.1 → 2.0.3

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 (259) hide show
  1. package/README.md +5 -7
  2. package/README.zh-CN.md +5 -7
  3. package/dist/agent/bootstrap.d.ts.map +1 -1
  4. package/dist/agent/bootstrap.js +2 -4
  5. package/dist/agent/bootstrap.js.map +1 -1
  6. package/dist/agent/branch.d.ts +0 -12
  7. package/dist/agent/branch.d.ts.map +1 -1
  8. package/dist/agent/branch.js +1 -78
  9. package/dist/agent/branch.js.map +1 -1
  10. package/dist/agent/detect/region.d.ts.map +1 -1
  11. package/dist/agent/detect/region.js +0 -3
  12. package/dist/agent/detect/region.js.map +1 -1
  13. package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
  14. package/dist/agent/dispatch-reconciler.js +8 -59
  15. package/dist/agent/dispatch-reconciler.js.map +1 -1
  16. package/dist/agent/lineage.d.ts.map +1 -1
  17. package/dist/agent/lineage.js +0 -9
  18. package/dist/agent/lineage.js.map +1 -1
  19. package/dist/agent/manager.d.ts +66 -142
  20. package/dist/agent/manager.d.ts.map +1 -1
  21. package/dist/agent/manager.js +936 -2738
  22. package/dist/agent/manager.js.map +1 -1
  23. package/dist/agent/net-exec.d.ts.map +1 -1
  24. package/dist/agent/net-exec.js +0 -5
  25. package/dist/agent/net-exec.js.map +1 -1
  26. package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
  27. package/dist/agent/pane-streamer-manager.js +0 -36
  28. package/dist/agent/pane-streamer-manager.js.map +1 -1
  29. package/dist/agent/pane-streamer.d.ts +10 -1
  30. package/dist/agent/pane-streamer.d.ts.map +1 -1
  31. package/dist/agent/pane-streamer.js +142 -79
  32. package/dist/agent/pane-streamer.js.map +1 -1
  33. package/dist/agent/phase-signal-watcher.d.ts +2 -11
  34. package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
  35. package/dist/agent/phase-signal-watcher.js +36 -160
  36. package/dist/agent/phase-signal-watcher.js.map +1 -1
  37. package/dist/agent/phase-signal.d.ts +13 -40
  38. package/dist/agent/phase-signal.d.ts.map +1 -1
  39. package/dist/agent/phase-signal.js +38 -98
  40. package/dist/agent/phase-signal.js.map +1 -1
  41. package/dist/agent/preflight.d.ts +0 -1
  42. package/dist/agent/preflight.d.ts.map +1 -1
  43. package/dist/agent/preflight.js +6 -31
  44. package/dist/agent/preflight.js.map +1 -1
  45. package/dist/agent/prompt.d.ts +1 -30
  46. package/dist/agent/prompt.d.ts.map +1 -1
  47. package/dist/agent/prompt.js +20 -148
  48. package/dist/agent/prompt.js.map +1 -1
  49. package/dist/agent/repo-store.d.ts.map +1 -1
  50. package/dist/agent/repo-store.js +0 -42
  51. package/dist/agent/repo-store.js.map +1 -1
  52. package/dist/agent/runner.d.ts.map +1 -1
  53. package/dist/agent/runner.js +0 -2
  54. package/dist/agent/runner.js.map +1 -1
  55. package/dist/agent/tmux-install.js +0 -1
  56. package/dist/agent/tmux-install.js.map +1 -1
  57. package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
  58. package/dist/agent/tmux-probe-poller.js +0 -7
  59. package/dist/agent/tmux-probe-poller.js.map +1 -1
  60. package/dist/agent/tmux.d.ts.map +1 -1
  61. package/dist/agent/tmux.js +0 -86
  62. package/dist/agent/tmux.js.map +1 -1
  63. package/dist/agent/vt-visible-text.d.ts +87 -0
  64. package/dist/agent/vt-visible-text.d.ts.map +1 -0
  65. package/dist/agent/vt-visible-text.js +1058 -0
  66. package/dist/agent/vt-visible-text.js.map +1 -0
  67. package/dist/api/agents.d.ts.map +1 -1
  68. package/dist/api/agents.js +1 -42
  69. package/dist/api/agents.js.map +1 -1
  70. package/dist/api/config.d.ts.map +1 -1
  71. package/dist/api/config.js +8 -53
  72. package/dist/api/config.js.map +1 -1
  73. package/dist/api/hosts.d.ts.map +1 -1
  74. package/dist/api/hosts.js +2 -57
  75. package/dist/api/hosts.js.map +1 -1
  76. package/dist/api/platform-guard.d.ts.map +1 -1
  77. package/dist/api/platform-guard.js +2 -3
  78. package/dist/api/platform-guard.js.map +1 -1
  79. package/dist/api/probe.d.ts.map +1 -1
  80. package/dist/api/probe.js +0 -1
  81. package/dist/api/probe.js.map +1 -1
  82. package/dist/api/projects.d.ts.map +1 -1
  83. package/dist/api/projects.js +599 -332
  84. package/dist/api/projects.js.map +1 -1
  85. package/dist/api/tasks.d.ts.map +1 -1
  86. package/dist/api/tasks.js +15 -40
  87. package/dist/api/tasks.js.map +1 -1
  88. package/dist/app.d.ts +0 -2
  89. package/dist/app.d.ts.map +1 -1
  90. package/dist/app.js +0 -6
  91. package/dist/app.js.map +1 -1
  92. package/dist/cli.d.ts.map +1 -1
  93. package/dist/cli.js +4 -29
  94. package/dist/cli.js.map +1 -1
  95. package/dist/config/hot-reload.d.ts.map +1 -1
  96. package/dist/config/hot-reload.js +0 -4
  97. package/dist/config/hot-reload.js.map +1 -1
  98. package/dist/config/loader.d.ts +5 -1
  99. package/dist/config/loader.d.ts.map +1 -1
  100. package/dist/config/loader.js +36 -47
  101. package/dist/config/loader.js.map +1 -1
  102. package/dist/config/normalizer.d.ts.map +1 -1
  103. package/dist/config/normalizer.js +0 -19
  104. package/dist/config/normalizer.js.map +1 -1
  105. package/dist/config/validator.d.ts +7 -4
  106. package/dist/config/validator.d.ts.map +1 -1
  107. package/dist/config/validator.js +56 -270
  108. package/dist/config/validator.js.map +1 -1
  109. package/dist/event/handlers.d.ts.map +1 -1
  110. package/dist/event/handlers.js +356 -234
  111. package/dist/event/handlers.js.map +1 -1
  112. package/dist/event/log.js +0 -2
  113. package/dist/event/log.js.map +1 -1
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +0 -50
  116. package/dist/index.js.map +1 -1
  117. package/dist/platform/body-digest.d.ts.map +1 -1
  118. package/dist/platform/body-digest.js +0 -4
  119. package/dist/platform/body-digest.js.map +1 -1
  120. package/dist/platform/command-renderer.d.ts +6 -0
  121. package/dist/platform/command-renderer.d.ts.map +1 -1
  122. package/dist/platform/command-renderer.js +20 -3
  123. package/dist/platform/command-renderer.js.map +1 -1
  124. package/dist/platform/comment-cursor.d.ts.map +1 -1
  125. package/dist/platform/comment-cursor.js +0 -21
  126. package/dist/platform/comment-cursor.js.map +1 -1
  127. package/dist/platform/driver-host.d.ts.map +1 -1
  128. package/dist/platform/driver-host.js +3 -1
  129. package/dist/platform/driver-host.js.map +1 -1
  130. package/dist/platform/driver-spec.d.ts.map +1 -1
  131. package/dist/platform/driver-spec.js +33 -46
  132. package/dist/platform/driver-spec.js.map +1 -1
  133. package/dist/platform/field-mapper.d.ts.map +1 -1
  134. package/dist/platform/field-mapper.js +3 -11
  135. package/dist/platform/field-mapper.js.map +1 -1
  136. package/dist/platform/git-driver.d.ts +2 -0
  137. package/dist/platform/git-driver.d.ts.map +1 -1
  138. package/dist/platform/git-driver.js +9 -23
  139. package/dist/platform/git-driver.js.map +1 -1
  140. package/dist/platform/manifest.d.ts.map +1 -1
  141. package/dist/platform/manifest.js +0 -3
  142. package/dist/platform/manifest.js.map +1 -1
  143. package/dist/platform/markers.d.ts.map +1 -1
  144. package/dist/platform/markers.js +0 -19
  145. package/dist/platform/markers.js.map +1 -1
  146. package/dist/platform/platform-poller.d.ts +0 -1
  147. package/dist/platform/platform-poller.d.ts.map +1 -1
  148. package/dist/platform/platform-poller.js +0 -49
  149. package/dist/platform/platform-poller.js.map +1 -1
  150. package/dist/platform/plugin-registry.d.ts.map +1 -1
  151. package/dist/platform/plugin-registry.js +1 -12
  152. package/dist/platform/plugin-registry.js.map +1 -1
  153. package/dist/platform/plugins/github/driver.json +5 -0
  154. package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +20 -14
  155. package/dist/platform/pr-conversation-cache.d.ts.map +1 -1
  156. package/dist/platform/pr-conversation-cache.js +0 -17
  157. package/dist/platform/pr-conversation-cache.js.map +1 -1
  158. package/dist/platform/preflight-exec.d.ts.map +1 -1
  159. package/dist/platform/preflight-exec.js +0 -9
  160. package/dist/platform/preflight-exec.js.map +1 -1
  161. package/dist/platform/response-parser.d.ts.map +1 -1
  162. package/dist/platform/response-parser.js +0 -4
  163. package/dist/platform/response-parser.js.map +1 -1
  164. package/dist/platform/review-timeline.d.ts.map +1 -1
  165. package/dist/platform/review-timeline.js +0 -22
  166. package/dist/platform/review-timeline.js.map +1 -1
  167. package/dist/platform/row-schema.d.ts.map +1 -1
  168. package/dist/platform/row-schema.js +0 -11
  169. package/dist/platform/row-schema.js.map +1 -1
  170. package/dist/platform/startup.d.ts.map +1 -1
  171. package/dist/platform/startup.js +6 -17
  172. package/dist/platform/startup.js.map +1 -1
  173. package/dist/platform/types.d.ts +1 -0
  174. package/dist/platform/types.d.ts.map +1 -1
  175. package/dist/platform/types.js +3 -8
  176. package/dist/platform/types.js.map +1 -1
  177. package/dist/platform/verdict-engine.d.ts.map +1 -1
  178. package/dist/platform/verdict-engine.js +0 -15
  179. package/dist/platform/verdict-engine.js.map +1 -1
  180. package/dist/shared/concurrency.d.ts.map +1 -1
  181. package/dist/shared/concurrency.js +0 -2
  182. package/dist/shared/concurrency.js.map +1 -1
  183. package/dist/shared/constants.d.ts +1 -8
  184. package/dist/shared/constants.d.ts.map +1 -1
  185. package/dist/shared/constants.js +2 -32
  186. package/dist/shared/constants.js.map +1 -1
  187. package/dist/shared/git-url.d.ts.map +1 -1
  188. package/dist/shared/git-url.js +0 -9
  189. package/dist/shared/git-url.js.map +1 -1
  190. package/dist/shared/types.d.ts +28 -135
  191. package/dist/shared/types.d.ts.map +1 -1
  192. package/dist/shared/types.js +7 -6
  193. package/dist/shared/types.js.map +1 -1
  194. package/dist/skill/registry.d.ts.map +1 -1
  195. package/dist/skill/registry.js +0 -5
  196. package/dist/skill/registry.js.map +1 -1
  197. package/dist/skills/baxian-pr-feedback/SKILL.md +5 -3
  198. package/dist/skills/baxian-pr-recheck/SKILL.md +4 -0
  199. package/dist/skills/baxian-pr-review/SKILL.md +4 -0
  200. package/dist/skills/baxian-signals/SKILL.md +15 -38
  201. package/dist/skills/baxian-task-check/SKILL.md +13 -14
  202. package/dist/state/agent-store.d.ts.map +1 -1
  203. package/dist/state/agent-store.js +0 -6
  204. package/dist/state/agent-store.js.map +1 -1
  205. package/dist/state/error-record-store.d.ts.map +1 -1
  206. package/dist/state/error-record-store.js +0 -5
  207. package/dist/state/error-record-store.js.map +1 -1
  208. package/dist/state/init.d.ts.map +1 -1
  209. package/dist/state/init.js +0 -1
  210. package/dist/state/init.js.map +1 -1
  211. package/dist/state/lock.d.ts.map +1 -1
  212. package/dist/state/lock.js +0 -1
  213. package/dist/state/lock.js.map +1 -1
  214. package/dist/state/snapshot.d.ts.map +1 -1
  215. package/dist/state/snapshot.js +5 -2
  216. package/dist/state/snapshot.js.map +1 -1
  217. package/dist/state/task-store.d.ts.map +1 -1
  218. package/dist/state/task-store.js +56 -143
  219. package/dist/state/task-store.js.map +1 -1
  220. package/dist/terminal/attach.d.ts.map +1 -1
  221. package/dist/terminal/attach.js +0 -4
  222. package/dist/terminal/attach.js.map +1 -1
  223. package/dist/terminal/stream-ws.js +0 -5
  224. package/dist/terminal/stream-ws.js.map +1 -1
  225. package/dist/web/assets/index-CiAnjs1_.js +15 -0
  226. package/dist/web/assets/index-yqxawAPJ.css +1 -0
  227. package/dist/web/index.html +2 -2
  228. package/package.json +1 -1
  229. package/dist/agent/review-transport.d.ts +0 -92
  230. package/dist/agent/review-transport.d.ts.map +0 -1
  231. package/dist/agent/review-transport.js +0 -512
  232. package/dist/agent/review-transport.js.map +0 -1
  233. package/dist/agent/root-agent-runtime.d.ts +0 -80
  234. package/dist/agent/root-agent-runtime.d.ts.map +0 -1
  235. package/dist/agent/root-agent-runtime.js +0 -635
  236. package/dist/agent/root-agent-runtime.js.map +0 -1
  237. package/dist/agent/root-recovery-coordinator.d.ts +0 -125
  238. package/dist/agent/root-recovery-coordinator.d.ts.map +0 -1
  239. package/dist/agent/root-recovery-coordinator.js +0 -1579
  240. package/dist/agent/root-recovery-coordinator.js.map +0 -1
  241. package/dist/event/server-handlers.d.ts +0 -4
  242. package/dist/event/server-handlers.d.ts.map +0 -1
  243. package/dist/event/server-handlers.js +0 -1294
  244. package/dist/event/server-handlers.js.map +0 -1
  245. package/dist/skills/baxian-research/SKILL.md +0 -28
  246. package/dist/skills/baxian-server-feedback/SKILL.md +0 -40
  247. package/dist/skills/baxian-server-feedback/agents/openai.yaml +0 -2
  248. package/dist/skills/baxian-server-review/SKILL.md +0 -58
  249. package/dist/skills/baxian-server-review/agents/openai.yaml +0 -2
  250. package/dist/state/review-store.d.ts +0 -33
  251. package/dist/state/review-store.d.ts.map +0 -1
  252. package/dist/state/review-store.js +0 -272
  253. package/dist/state/review-store.js.map +0 -1
  254. package/dist/state/root-recovery-store.d.ts +0 -107
  255. package/dist/state/root-recovery-store.d.ts.map +0 -1
  256. package/dist/state/root-recovery-store.js +0 -400
  257. package/dist/state/root-recovery-store.js.map +0 -1
  258. package/dist/web/assets/index-BPv6vv3U.css +0 -1
  259. package/dist/web/assets/index-BXfgaFNm.js +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"command-renderer.js","sourceRoot":"","sources":["../../src/platform/command-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAe7D,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;AACjD,6CAA6C;AAC7C,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAE1C,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAgD;IACtF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC;QACjC,KAAK,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC;QACrC,KAAK,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC;QAC7B,KAAK,SAAS,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrD,KAAK,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC;QACrC,KAAK,iBAAiB,CAAC,CAAC,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChE,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC;QACjC,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,qBAAqB,CAAC,4CAA4C,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,qBAAqB,CAAC,wCAAwC,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,GAAG,CAAC,eAAe,CAAC;QAC7B,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS;mBAChC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,eAAe;mBAClD,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;mBAChC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,GAAG;mBAChC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,qBAAqB,CAAC,sDAAsD,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC;YAChH,CAAC;YACD,OAAO,GAAG,CAAC,eAAe,CAAC;QAC7B,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;YAC9F,yDAAyD;YACzD,8CAA8C;YAC9C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,qBAAqB,CAAC,iCAAiC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,qBAAqB,CAAC,qCAAqC,CAAC,CAAC;YACrG,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,qBAAqB,CAAC,wCAAwC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS;gBAAE,MAAM,IAAI,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;YACpG,OAAO,GAAG,CAAC,cAAc,CAAC;QAC5B,CAAC;QACD;YACE,MAAM,IAAI,qBAAqB,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,GAAgD;IACpF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/E,OAAO,OAAO;SACX,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACzE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAoD,EACpD,GAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,qBAAqB,CAAC,sBAAsB,eAAe,SAAS,CAAC,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,GAAgD;IAEhD,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"command-renderer.js","sourceRoot":"","sources":["../../src/platform/command-renderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"comment-cursor.d.ts","sourceRoot":"","sources":["../../src/platform/comment-cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpE,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAWD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjF;AA6ED,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJvE,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,KAAK,CAAS;gBAEO,QAAQ,EAAE,MAAM,EAAmB,OAAO,EAAE,MAAM;IAYzE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAI7E,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAqBzF,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7G,YAAY,CAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAC3F,OAAO,CAAC,IAAI,CAAC;IA2BhB,aAAa,IAAI;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAK3C,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3E,WAAW,IAAI,MAAM,EAAE;IAQjB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5E,gBAAgB,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAItD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE,OAAO,CAAC,aAAa;YAMP,OAAO;CAatB"}
1
+ {"version":3,"file":"comment-cursor.d.ts","sourceRoot":"","sources":["../../src/platform/comment-cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpE,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAWD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjF;AAsED,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJvE,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,KAAK,CAAS;gBAEO,QAAQ,EAAE,MAAM,EAAmB,OAAO,EAAE,MAAM;IAYzE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBrB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAI7E,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAqBzF,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7G,YAAY,CAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAC3F,OAAO,CAAC,IAAI,CAAC;IA2BhB,aAAa,IAAI;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAI3C,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3E,WAAW,IAAI,MAAM,EAAE;IAQjB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5E,gBAAgB,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAItD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE,OAAO,CAAC,aAAa;YAMP,OAAO;CAYtB"}
@@ -5,23 +5,15 @@ import { rowBodyDigest } from './markers.js';
5
5
  import { versionTimeOf } from './row-schema.js';
6
6
  import { isRecord } from '../shared/index.js';
7
7
  import { repoIdentityKey } from '../shared/git-url.js';
8
- // 定长 digest 文件名:深层 namespace 不撞 ENAMETOOLONG;键出自 repoIdentityKey 单一归一化函数(spec §4)。
9
8
  export function platformPollerStatePath(stateDir, repoUrl) {
10
9
  return join(stateDir, 'state', `poller-git-${sha256Hex(repoIdentityKey(repoUrl))}.json`);
11
10
  }
12
- // 协议键(source key/comment id)的合法形态包含 'constructor'/'__proto__' 等原型特殊名:
13
- // 普通对象上 `??=` 会读到继承的 Object 构造器、'__proto__' 赋值被 setter 吞掉——
14
- // 所有 cursor 容器一律 null-prototype,磁盘加载后同样重建(JSON.parse 产出的是普通对象)。
15
11
  const dict = () => Object.create(null);
16
12
  const emptySource = () => ({ watermarkTime: null, bucket: dict(), ledger: dict() });
17
- // 提交值均出自 Date.parse(整数毫秒):1e300 这类「有限但超 Date 量程」的损坏值会把全部
18
- // 真实行判旧、健康停页——按 ECMAScript Date 有效范围收紧。
19
13
  const MAX_DATE_MS = 8_640_000_000_000_000;
20
14
  const isWatermark = (v) => v === null || (typeof v === 'number' && Number.isSafeInteger(v) && Math.abs(v) <= MAX_DATE_MS);
21
15
  const DIGEST_RE = new RegExp(`^${BODY_DIGEST_SOURCE}$`);
22
16
  const isDigestMap = (v) => isRecord(v) && Object.values(v).every(x => typeof x === 'string' && DIGEST_RE.test(x));
23
- // 类型断言不校验磁盘内容:watermarkTime 落成字符串会参与数值强转、把历史行静默判旧——
24
- // 语法合法但结构损坏的文件与坏 JSON 同级:抛出而非带病运行。
25
17
  function validateCursorFile(parsed) {
26
18
  if (parsed.version !== 3)
27
19
  throw new Error(`cursor file version unsupported (got ${JSON.stringify(parsed.version)})`);
@@ -111,18 +103,13 @@ export class CommentCursorStore {
111
103
  return;
112
104
  throw e;
113
105
  }
114
- // 损坏/失配一律抛出(周期跳过),空状态覆盖会把全部水位清零、整段历史重放。
115
106
  const parsed = JSON.parse(raw);
116
- // 文件名已按 repoIdentityKey 归一:同一仓库的 https/ssh/.git 拼写变体命中同一文件,
117
- // 按原始配置串比较会在合法改写后永久拒载——一致性按归一化身份判。
118
107
  if (typeof parsed.repoUrl !== 'string' || repoIdentityKey(parsed.repoUrl) !== this.repoKey) {
119
108
  throw new Error(`cursor file repo mismatch: file has ${JSON.stringify(parsed.repoUrl)}, entry is ${this.repoUrl}`);
120
109
  }
121
110
  validateCursorFile(parsed);
122
111
  this.state = rebuildNullProto(parsed);
123
112
  }
124
- // persist 失败后内存已前移而磁盘落后:唯一会跳过重写的路径(水位未变早退/代际已删)需要
125
- // 这个补写钩子,调用方在每周期开头 flush 一次,磁盘在文件系统恢复后无需重启即收敛。
126
113
  async flushIfDirty() {
127
114
  if (this.dirty)
128
115
  await this.persist();
@@ -159,10 +146,6 @@ export class CommentCursorStore {
159
146
  this.mutableSource(taskId, prNumber, sourceKey).ledger[id] = digest;
160
147
  await this.persist();
161
148
  }
162
- // 提交条件由调用方保证:该源全部新 revision 的下游投递成功后才调用。可见性截断在此
163
- // 统一应用(与 classify 同源的稳定 cutoff)——靠调用方预过滤会让新调用方漏做时水位越过
164
- // held-back 行、评论永久跳过。桶在水位未前移时也重建——同秒编辑(d1→d2)消费后若桶残留
165
- // d1,同一 revision 每轮重判新;水位/桶/账本全部无变化的稳态周期跳过落盘。
166
149
  async commitSource(taskId, prNumber, sourceKey, rows, cutoffMs) {
167
150
  const settled = rows.filter(row => {
168
151
  const vt = versionTimeOf(row);
@@ -195,7 +178,6 @@ export class CommentCursorStore {
195
178
  listPrsCursor() {
196
179
  return this.state.listPrs;
197
180
  }
198
- // 同款 cutoff 内化:水位 = 截断内最大 versionTime,未前移即免落盘。
199
181
  async commitListPrs(rows, cutoffMs) {
200
182
  let max = this.state.listPrs.watermarkTime;
201
183
  for (const row of rows) {
@@ -253,8 +235,6 @@ export class CommentCursorStore {
253
235
  delete this.state.pendingAdoptions[taskId];
254
236
  await this.persist();
255
237
  }
256
- // 删除 key 即丢弃其 cursor(spec §5.3 增量①):残留水位会让「删除后重加」的源
257
- // 把缺席期间的评论按旧水位永久跳过。
258
238
  async pruneSources(activeKeys) {
259
239
  let changed = false;
260
240
  for (const prs of Object.values(this.state.generations)) {
@@ -278,7 +258,6 @@ export class CommentCursorStore {
278
258
  async persist() {
279
259
  try {
280
260
  await mkdir(dirname(this.filePath), { recursive: true });
281
- // 计数器保证并发/同毫秒调用各持唯一 tmp 路径(防重入之外的纵深)。
282
261
  const tmp = `${this.filePath}.${process.pid}.${Date.now()}.${tmpSeq++}.tmp`;
283
262
  await writeFile(tmp, JSON.stringify(this.state));
284
263
  await rename(tmp, this.filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"comment-cursor.js","sourceRoot":"","sources":["../../src/platform/comment-cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comment-cursor.js","sourceRoot":"","sources":["../../src/platform/comment-cursor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"driver-host.d.ts","sourceRoot":"","sources":["../../src/platform/driver-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAyB,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAEhE;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,UAAU,GACf,SAAS,GAAG,SAAS,CAOvB"}
1
+ {"version":3,"file":"driver-host.d.ts","sourceRoot":"","sources":["../../src/platform/driver-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAyB,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAQhE;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,UAAU,GACf,SAAS,GAAG,SAAS,CAOvB"}
@@ -1,7 +1,9 @@
1
1
  import { resolveProjectTool } from '../config/validator.js';
2
2
  import { buildDriverRunContext, GitDriver } from './git-driver.js';
3
3
  export function makeDriverExec(runner) {
4
- return (command, opts) => runner.exec(command, { timeout: opts.timeout, maxBuffer: opts.maxBuffer });
4
+ return (command, opts) => opts.stdin === undefined
5
+ ? runner.exec(command, { timeout: opts.timeout, maxBuffer: opts.maxBuffer })
6
+ : runner.execWithStdin(command, opts.stdin, { timeout: opts.timeout, maxBuffer: opts.maxBuffer });
5
7
  }
6
8
  export function buildProjectDriver(project, registry, exec) {
7
9
  const tool = resolveProjectTool(project);
@@ -1 +1 @@
1
- {"version":3,"file":"driver-host.js","sourceRoot":"","sources":["../../src/platform/driver-host.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAmB,MAAM,iBAAiB,CAAC;AAGpF,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,QAAwB,EACxB,IAAgB;IAEhB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;IAC9C,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"driver-host.js","sourceRoot":"","sources":["../../src/platform/driver-host.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAmB,MAAM,iBAAiB,CAAC;AAGpF,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;QAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5E,CAAC,CAAC,MAAM,CAAC,aAAa,CAClB,OAAO,EACP,IAAI,CAAC,KAAK,EACV,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CACrD,CAAC;AACR,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,QAAwB,EACxB,IAAgB;IAEhB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;IAC9C,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"driver-spec.d.ts","sourceRoot":"","sources":["../../src/platform/driver-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAA2C,qBAAqB,EAG3E,MAAM,YAAY,CAAC;AA6CpB,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAqc5D"}
1
+ {"version":3,"file":"driver-spec.d.ts","sourceRoot":"","sources":["../../src/platform/driver-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAA2C,qBAAqB,EAG3E,MAAM,YAAY,CAAC;AAwCpB,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAAE,CA6b5D"}
@@ -4,18 +4,14 @@ import { CONTROL_CHAR_RE, isRecord } from '../shared/index.js';
4
4
  const PLACEHOLDER_TOKEN_RE = /\{([^{}]*)\}/g;
5
5
  const VALID_PLACEHOLDER_NAME_RE = /^[a-zA-Z]+$/;
6
6
  const ERROR_CLASS_RE = /^[A-Z][A-Z0-9_]*$/;
7
- // driverSchema 1 加载期契约(spec §5.3 增量⑥):仅查「已声明字段合法」挡不住整键省略——
8
- // 漏 sourceProjectId 会让 fork 防护恒等式静默成立,装机期拒载优于运行期静默失败。
9
7
  const REQUIRED_OPS = [
10
- 'listPrs', 'prView', 'projectView', 'branchView', 'listComments', 'merge', 'close', 'deleteBranch',
8
+ 'listPrs', 'prView', 'projectView', 'branchView', 'listComments', 'comment', 'merge', 'close', 'deleteBranch',
11
9
  ];
12
- // treatAsSuccess 的语义是「错误已证明目标状态达成」的幂等写——权威读取没有这种状态,
13
- // 声明在读 op 上会把 404/权限失败折叠成空行集或截断页并以 ok 进完整性门。
14
- const TREAT_AS_SUCCESS_LABEL = [...WRITE_OPS].join('/');
15
- // 写 op 不消费作用域/原子保护占位符时 schema 照常通过,但 merge 会失去 REST sha 陈旧保护、
16
- // close/deleteBranch 可指向固定资源——占位符消费纳入加载期契约(argv 与 env 值合并检查)。
10
+ const TREAT_AS_SUCCESS_OPS = new Set(['merge', 'close', 'deleteBranch']);
11
+ const TREAT_AS_SUCCESS_LABEL = [...TREAT_AS_SUCCESS_OPS].join('/');
17
12
  const REQUIRED_OP_PLACEHOLDERS = [
18
13
  ['merge', [['prNumber'], ['expectedHeadSha']]],
14
+ ['comment', [['prNumber'], ['body']]],
19
15
  ['close', [['prNumber']]],
20
16
  ['deleteBranch', [['branch', 'branchEncoded'], ['expectedHeadSha'], ['remoteProjectId']]],
21
17
  ['branchView', [['branch', 'branchEncoded'], ['remoteProjectId']]],
@@ -38,7 +34,6 @@ const RESERVED_ERROR_CLASSES = [
38
34
  ['ACCESS_DENIED', 'core'], ['RATE_LIMIT', 'core'], ['NOT_FOUND', 'core'],
39
35
  ['MERGE_BLOCKED', 'merge'],
40
36
  ];
41
- // Cf = 零宽空格/BOM/方向控制等不可见格式字符:trim() 不归一,肉眼与日志均不可见,键恒查不到。
42
37
  const INVISIBLE_FORMAT_RE = /\p{Cf}/u;
43
38
  export function parseDriverSpec(raw, pluginPath) {
44
39
  const errors = [];
@@ -60,7 +55,6 @@ export function parseDriverSpec(raw, pluginPath) {
60
55
  err('ops must be an object');
61
56
  return { errors };
62
57
  }
63
- // 先查 token 形状(防 {prNumber1} 等 typo 被"只认合法形状"的正则直接跳过),形状合法再查白名单。
64
58
  const checkPlaceholders = (s, ctx, allowed) => {
65
59
  const placeholderText = s.replace(/\\[{}]/g, '');
66
60
  for (const m of placeholderText.matchAll(PLACEHOLDER_TOKEN_RE)) {
@@ -72,14 +66,11 @@ export function parseDriverSpec(raw, pluginPath) {
72
66
  if (!allowed.has(name))
73
67
  err(`${ctx}: unknown placeholder {${name}}`);
74
68
  }
75
- // 不成对/嵌套的大括号不构成完整 token,上面的扫描不报、渲染时字面量直进命令行——单独拒绝。
76
69
  const stripped = placeholderText.replace(PLACEHOLDER_TOKEN_RE, '');
77
70
  if (stripped.includes('{') || stripped.includes('}')) {
78
71
  err(`${ctx}: unbalanced '{' or '}' in '${s}' (placeholders must be complete {name} tokens)`);
79
72
  }
80
73
  };
81
- // 段形态谓词单点定义(map 源路径与 op 级 flatten 共用):空段/空白段/残留方括号/不可见
82
- // 格式字符/控制字符都会被取值器当普通键名查找而恒缺失——加载期拒绝。
83
74
  const isMalformedSegment = (key) => key === '' || key.trim() !== key || key.includes('[') || key.includes(']')
84
75
  || INVISIBLE_FORMAT_RE.test(key) || CONTROL_CHAR_RE.test(key);
85
76
  const checkSourcePath = (src, ctxField) => {
@@ -112,7 +103,6 @@ export function parseDriverSpec(raw, pluginPath) {
112
103
  if (value !== undefined && typeof value !== 'boolean')
113
104
  err(`${ctxField}.optional must be a boolean`);
114
105
  };
115
- // argv/env 的形状规则在 ops 与 preflight 两个语境完全一致,仅占位符白名单不同——单点维护。
116
106
  const checkArgv = (argv, ctx, allowed) => {
117
107
  if (!Array.isArray(argv) || argv.length === 0 || argv.some(a => typeof a !== 'string')) {
118
108
  err(`${ctx}.argv must be a non-empty string array`);
@@ -135,7 +125,6 @@ export function parseDriverSpec(raw, pluginPath) {
135
125
  err(`${ctx}.env values must be strings`);
136
126
  continue;
137
127
  }
138
- // env 值经 shellQuote 渲染为命令内联前缀,控制字符无合法用途,校验期拒绝(spec §4)。
139
128
  if (CONTROL_CHAR_RE.test(v)) {
140
129
  err(`${ctx}.env value for ${k} contains a control character`);
141
130
  continue;
@@ -143,8 +132,15 @@ export function parseDriverSpec(raw, pluginPath) {
143
132
  checkPlaceholders(v, `${ctx}.env`, allowed);
144
133
  }
145
134
  };
146
- // errorClasses 先于 ops 校验:ops treatAsSuccess 引用比对直接消费这里收集的合法类名,
147
- // 免得再维护一份「宽松预收集」的第二定义(何为已声明的 class 只有一个答案)。
135
+ const checkStdin = (stdin, ctx, allowed) => {
136
+ if (stdin === undefined)
137
+ return;
138
+ if (typeof stdin !== 'string' || stdin.length === 0) {
139
+ err(`${ctx}.stdin must be a non-empty string`);
140
+ return;
141
+ }
142
+ checkPlaceholders(stdin, `${ctx}.stdin`, allowed);
143
+ };
148
144
  const errorClassNames = new Set();
149
145
  if (!Array.isArray(spec.errorClasses)) {
150
146
  err('errorClasses must be an array');
@@ -159,7 +155,6 @@ export function parseDriverSpec(raw, pluginPath) {
159
155
  err(`errorClasses[${i}].class must be UPPER_SNAKE`);
160
156
  }
161
157
  else if (errorClassNames.has(c.class)) {
162
- // 匹配按声明序先到先得,重复类名让后者静默不可达且 treatAsSuccess 引用歧义。
163
158
  err(`errorClasses[${i}].class duplicates '${c.class}'`);
164
159
  }
165
160
  else {
@@ -174,8 +169,6 @@ export function parseDriverSpec(raw, pluginPath) {
174
169
  }
175
170
  else {
176
171
  try {
177
- // 恒匹配的正则必匹配空串('|'/'.*'/'^'/'(?:)'…)——错误分类必须锚定具体错误文本,
178
- // 否则被 treatAsSuccess 引用时把权限/项目错误吞成幂等成功。
179
172
  if (new RegExp(r).test(''))
180
173
  err(`errorClasses[${i}].regex[${k}] matches the empty string (matches any stderr)`);
181
174
  }
@@ -193,9 +186,9 @@ export function parseDriverSpec(raw, pluginPath) {
193
186
  }
194
187
  const op = opValue;
195
188
  const allowed = op.parse === 'json-paged' ? PLACEHOLDERS_WITH_PAGE : PLACEHOLDERS;
196
- // argv 坏只跳过依赖它的 {page} 检查(join 会在非数组上崩);env/map/flatten 不依赖 argv,照常单遍聚合校验(与下方 preflight 一致,作者不必多轮试错)。
197
189
  const argvOk = checkArgv(op.argv, ctx, allowed);
198
190
  checkEnv(op.env, ctx, allowed);
191
+ checkStdin(op.stdin, ctx, allowed);
199
192
  if (op.parse !== undefined && op.parse !== 'json' && op.parse !== 'json-paged') {
200
193
  err(`${ctx}.parse must be 'json' | 'json-paged'`);
201
194
  }
@@ -212,8 +205,6 @@ export function parseDriverSpec(raw, pluginPath) {
212
205
  err(`${ctx}.flatten must be a non-empty string`);
213
206
  }
214
207
  else if (typeof op.flatten === 'string' && op.flatten.split('.').some(isMalformedSegment)) {
215
- // op 级 flatten 是纯点路径(spec §5.3),[] 语法只属于 map source;getPath 按字面键查,
216
- // 'notes[]'/空段会恒查不到而静默零行。
217
208
  err(`${ctx}.flatten must be a dot path of non-empty segments without '[]' (got '${op.flatten}')`);
218
209
  }
219
210
  const mapContainer = checkContainer(op.map, `${ctx}.map`);
@@ -222,8 +213,6 @@ export function parseDriverSpec(raw, pluginPath) {
222
213
  if (!MAP_TARGET_FIELDS.has(field))
223
214
  err(`${ctx}.map.${field}: not in the closed target field set`);
224
215
  const checkDiscussionRef = (src) => {
225
- // '_discussion' 是保留的父引用前缀:裸用无语义;无 flatten 时 parent===element,
226
- // 前缀会静默退化为对元素自身的取值——两种形态都按声明错误拒绝。
227
216
  if (src === '_discussion' || src.startsWith('_discussion[]')) {
228
217
  err(`${ctx}.map.${field}: '_discussion' is a reserved parent reference (use '_discussion.<field>')`);
229
218
  }
@@ -276,7 +265,8 @@ export function parseDriverSpec(raw, pluginPath) {
276
265
  const op = opValue;
277
266
  const argvText = Array.isArray(op.argv) ? op.argv.filter(a => typeof a === 'string').join(' ') : '';
278
267
  const envText = isRecord(op.env) ? Object.values(op.env).filter(v => typeof v === 'string').join(' ') : '';
279
- return `${argvText} ${envText}`;
268
+ const stdinText = typeof op.stdin === 'string' ? op.stdin : '';
269
+ return `${argvText} ${envText} ${stdinText}`;
280
270
  };
281
271
  const requirePlaceholders = (opValue, ctx, groups) => {
282
272
  if (!isRecord(opValue))
@@ -301,22 +291,19 @@ export function parseDriverSpec(raw, pluginPath) {
301
291
  }
302
292
  return value;
303
293
  };
304
- // 声明层契约与 optional 值层无关:{sources, optional: true} 是合法声明,整键省略才拒载。
305
294
  const requireDeclaredFields = (opValue, ctx, fields) => {
306
295
  if (!isRecord(opValue))
307
296
  return;
308
297
  const rawMap = opValue.map;
309
298
  const map = isRecord(rawMap) ? rawMap : rawMap === undefined ? {} : undefined;
310
299
  if (map === undefined)
311
- return; // 非法形状已由 checkContainer 报错
300
+ return;
312
301
  for (const field of fields) {
313
302
  if (!(field in map))
314
303
  err(`${ctx}.map.${field} must be declared (lifecycle-required mapping)`);
315
304
  }
316
305
  return map;
317
306
  };
318
- // core 以显式 {page} 循环驱动这些 op(spec §5.3 分页执行模型):非 paged 形态到运行期才会
319
- // 以「重复页/页上限」误诊暴露,装机时报错优于运行期降级。
320
307
  const requirePagedParse = (opValue, ctx) => {
321
308
  if (isRecord(opValue) && opValue.parse !== 'json-paged') {
322
309
  err(`${ctx}.parse must be 'json-paged'`);
@@ -330,7 +317,6 @@ export function parseDriverSpec(raw, pluginPath) {
330
317
  requirePagedParse(src, ctx);
331
318
  requirePlaceholders(src, ctx, [['prNumber']]);
332
319
  if (isRecord(src) && src.optional !== undefined) {
333
- // 完整性门要求全部源当周期成功(spec §6 verdict ①),「可选源」与之矛盾。
334
320
  err(`${ctx}.optional is not allowed on a comment source (completeness gate covers every source)`);
335
321
  }
336
322
  if (isRecord(src) && src.treatAsSuccess !== undefined) {
@@ -342,13 +328,6 @@ export function parseDriverSpec(raw, pluginPath) {
342
328
  if (!('createdAt' in map) && !('updatedAt' in map)) {
343
329
  err(`${ctx} must declare at least one of createdAt/updatedAt`);
344
330
  }
345
- // body/时间戳若声明成 optional,后端整键省略会静默折叠为「无正文/无时间戳」——反馈被吞而
346
- // 健康度全绿(sourceProjectId 同型静默失败)。「值可空」用 null-as-present 表达即可(非
347
- // optional 映射对 null 值不报错,GitHub 纯 APPROVED review 的 body: null 属值层)。body 对
348
- // **全部**源禁 optional——豁免若按 reviews 类给,装饰性 reviewState 声明即可伪造类别绕开;
349
- // 时间戳豁免限 reviews 类(PENDING 的 submitted_at 键可缺失——github OpenAPI 非 required,
350
- // undated 行级跳过 + 一次性日志承接,spec §5.3 增量①),伪造类别换到的只是这份有界、
351
- // 日志可见的降级,吞不掉带正文的反馈。
352
331
  if ('body' in map && isOptionalDeclaration(map, 'body')) {
353
332
  err(`${ctx}.map.body must not be optional (null-as-present already covers empty values)`);
354
333
  }
@@ -362,7 +341,6 @@ export function parseDriverSpec(raw, pluginPath) {
362
341
  const commentSources = [];
363
342
  const rawListComments = rawOps.listComments;
364
343
  if (Array.isArray(rawListComments)) {
365
- // 空数组声明了 op 键却零源:裁决与反馈生命周期静默永久挂起,与整键省略同级拒载。
366
344
  if (rawListComments.length === 0)
367
345
  err('ops.listComments must declare at least one source');
368
346
  const seenKeys = new Set();
@@ -399,8 +377,6 @@ export function parseDriverSpec(raw, pluginPath) {
399
377
  if (rawOps[opName] !== undefined)
400
378
  requireDeclaredFields(rawOps[opName], `ops.${opName}`, fields);
401
379
  }
402
- // parse 形态按 op 契约钉死:单资源读缺 parse 会恒零行、绕过基数检查静默停摆;
403
- // 写 op 声明 json-paged 能通过装载、却在唯一执行入口 runOp 被拒——两个方向都装机期报错。
404
380
  for (const opName of SINGLE_RESOURCE_OPS) {
405
381
  const op = rawOps[opName];
406
382
  if (op !== undefined && isRecord(op) && op.parse !== 'json') {
@@ -413,18 +389,15 @@ export function parseDriverSpec(raw, pluginPath) {
413
389
  err(`ops.${opName}.parse must not be 'json-paged' (write ops run through runOp, which has no page loop)`);
414
390
  }
415
391
  }
416
- // treatAsSuccess 允许域覆盖全部声明 op(加载门必须与运行期折叠机制同覆盖面——只罩必需
417
- // op 会让附加 op 的读失败照样被折叠);optional 禁令只针对生命周期必需 op(附加 op 可降级)。
418
392
  const requiredOpSet = new Set(REQUIRED_OPS);
419
393
  for (const [opName, opValue] of Object.entries(rawOps)) {
420
394
  if (opName === 'listComments' || !isRecord(opValue))
421
395
  continue;
422
396
  const op = opValue;
423
397
  if (requiredOpSet.has(opName) && op.optional === true) {
424
- // 生命周期必需 op 声明 optional 是矛盾声明:调用方无从降级,运行期仍按必需失败。
425
398
  err(`ops.${opName}.optional must not be true (lifecycle-required op)`);
426
399
  }
427
- if (!WRITE_OPS.has(opName) && op.treatAsSuccess !== undefined) {
400
+ if (!TREAT_AS_SUCCESS_OPS.has(opName) && op.treatAsSuccess !== undefined) {
428
401
  err(`ops.${opName}.treatAsSuccess is only allowed on ${TREAT_AS_SUCCESS_LABEL}`);
429
402
  }
430
403
  }
@@ -432,6 +405,21 @@ export function parseDriverSpec(raw, pluginPath) {
432
405
  if (rawOps[opName] !== undefined)
433
406
  requirePlaceholders(rawOps[opName], `ops.${opName}`, groups);
434
407
  }
408
+ if (isRecord(rawOps.comment)) {
409
+ const comment = rawOps.comment;
410
+ const argvText = Array.isArray(comment.argv)
411
+ ? comment.argv.filter(a => typeof a === 'string').join(' ')
412
+ : '';
413
+ const envText = isRecord(comment.env)
414
+ ? Object.values(comment.env).filter(v => typeof v === 'string').join(' ')
415
+ : '';
416
+ if (`${argvText} ${envText}`.includes('{body}')) {
417
+ err('ops.comment must not inline {body} in argv/env; transport it through stdin');
418
+ }
419
+ if (comment.stdin !== '{body}') {
420
+ err("ops.comment.stdin must be exactly '{body}'");
421
+ }
422
+ }
435
423
  for (const [cls, requiredBy] of RESERVED_ERROR_CLASSES) {
436
424
  if (requiredBy !== 'core' && rawOps[requiredBy] === undefined)
437
425
  continue;
@@ -471,7 +459,6 @@ export function parseDriverSpec(raw, pluginPath) {
471
459
  if (step.versionCheck === true)
472
460
  versionSteps += 1;
473
461
  });
474
- // manifest 的 minToolVersion 必填:没有恰好一个版本步骤,它就是装机即死的字段。
475
462
  if (versionSteps !== 1) {
476
463
  err(`preflight must declare exactly one versionCheck step (got ${versionSteps})`);
477
464
  }
@@ -1 +1 @@
1
- {"version":3,"file":"driver-spec.js","sourceRoot":"","sources":["../../src/platform/driver-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver-spec.js","sourceRoot":"","sources":["../../src/platform/driver-spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-mapper.d.ts","sourceRoot":"","sources":["../../src/platform/field-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AA0FD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,CAkCvF"}
1
+ {"version":3,"file":"field-mapper.d.ts","sourceRoot":"","sources":["../../src/platform/field-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAoFD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,CA+BvF"}
@@ -14,8 +14,6 @@ function getPath(obj, path) {
14
14
  }
15
15
  return cur;
16
16
  }
17
- // map 源路径取值器:点路径 + 单层 [] 展平(spec §5.3),供 resolveField 使用;
18
- // op 级 flatten(上面的 getPath)语义不同(缺失/非数组按形状损坏拒绝),两者不合并。
19
17
  function resolveSourceSegments(obj, segments, fullPath, opName, field) {
20
18
  if (segments.length === 0)
21
19
  return obj;
@@ -30,10 +28,8 @@ function resolveSourceSegments(obj, segments, fullPath, opName, field) {
30
28
  }
31
29
  const key = seg.slice(0, -2);
32
30
  if (!Object.hasOwn(record, key))
33
- return MISSING; // 数组键本身不存在 → MISSING,走必需/optional 语义
31
+ return MISSING;
34
32
  const arr = record[key];
35
- // null-as-present(spec §5.3):键存在值 null 不触发任何缺失语义;集合投影统一空数组,
36
- // 与 [] 响应同构、required 不抛。仅键不存在才是 MISSING。
37
33
  if (arr === null)
38
34
  return [];
39
35
  if (!Array.isArray(arr)) {
@@ -43,7 +39,7 @@ function resolveSourceSegments(obj, segments, fullPath, opName, field) {
43
39
  for (const element of arr) {
44
40
  const v = resolveSourceSegments(element, rest, fullPath, opName, field);
45
41
  if (v !== MISSING)
46
- results.push(v); // 元素缺剩余路径键则跳过该元素(宽松聚合)
42
+ results.push(v);
47
43
  }
48
44
  return results;
49
45
  }
@@ -68,10 +64,9 @@ function resolveField(opName, compiled, element, parent) {
68
64
  for (const src of compiled.sources) {
69
65
  const v = resolveSourceSegments(src.fromParent ? parent : element, src.segments, src.raw, opName, compiled.field);
70
66
  if (v !== MISSING) {
71
- // values 翻译只作用于字符串命中(spec §5.3 增量③):null/数字等命中原样透传。
72
67
  if (compiled.values && typeof v === 'string' && Object.hasOwn(compiled.values, v))
73
68
  return compiled.values[v];
74
- return v; // null 是合法值,键存在即命中
69
+ return v;
75
70
  }
76
71
  }
77
72
  if (compiled.optional)
@@ -81,7 +76,6 @@ function resolveField(opName, compiled, element, parent) {
81
76
  export function mapResponse(opName, op, payload) {
82
77
  const compiledFields = compileMap(opName, op.map ?? {});
83
78
  const units = [];
84
- // null 或非对象 payload 按零行处理
85
79
  if (payload === null || typeof payload !== 'object') {
86
80
  return [];
87
81
  }
@@ -89,8 +83,6 @@ export function mapResponse(opName, op, payload) {
89
83
  for (const item of top) {
90
84
  if (op.flatten) {
91
85
  const arr = getPath(item, op.flatten);
92
- // 键缺失/非数组是响应形状损坏而非空集合:静默跳过会把整页伪装成合法空页,被跳过的
93
- // discussion 若含令牌或人类反馈,完整性门照样放行——fail closed;显式 null/[] 才是空集合。
94
86
  if (arr === MISSING) {
95
87
  throw new FieldMappingError(`op ${opName}: flatten path '${op.flatten}' missing on a response item`);
96
88
  }