@the-open-engine/zeroshot 6.30.1 → 6.31.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 (318) hide show
  1. package/lib/agent-cli-provider/adapters/acp.d.ts.map +1 -1
  2. package/lib/agent-cli-provider/adapters/acp.js +7 -11
  3. package/lib/agent-cli-provider/adapters/acp.js.map +1 -1
  4. package/lib/agent-cli-provider/adapters/omp-policy.d.ts +4 -0
  5. package/lib/agent-cli-provider/adapters/omp-policy.d.ts.map +1 -0
  6. package/lib/agent-cli-provider/adapters/omp-policy.js +47 -0
  7. package/lib/agent-cli-provider/adapters/omp-policy.js.map +1 -0
  8. package/lib/agent-cli-provider/adapters/omp.d.ts.map +1 -1
  9. package/lib/agent-cli-provider/adapters/omp.js +8 -158
  10. package/lib/agent-cli-provider/adapters/omp.js.map +1 -1
  11. package/lib/agent-cli-provider/adapters/pi.d.ts.map +1 -1
  12. package/lib/agent-cli-provider/adapters/pi.js +12 -124
  13. package/lib/agent-cli-provider/adapters/pi.js.map +1 -1
  14. package/lib/agent-cli-provider/assistant-stream.d.ts +27 -0
  15. package/lib/agent-cli-provider/assistant-stream.d.ts.map +1 -0
  16. package/lib/agent-cli-provider/assistant-stream.js +119 -0
  17. package/lib/agent-cli-provider/assistant-stream.js.map +1 -0
  18. package/lib/agent-cli-provider/contract-actions.d.ts.map +1 -1
  19. package/lib/agent-cli-provider/contract-actions.js +42 -1
  20. package/lib/agent-cli-provider/contract-actions.js.map +1 -1
  21. package/lib/agent-cli-provider/contract-invoke.d.ts.map +1 -1
  22. package/lib/agent-cli-provider/contract-invoke.js +68 -38
  23. package/lib/agent-cli-provider/contract-invoke.js.map +1 -1
  24. package/lib/agent-cli-provider/contract-support.d.ts +5 -6
  25. package/lib/agent-cli-provider/contract-support.d.ts.map +1 -1
  26. package/lib/agent-cli-provider/contract-support.js +99 -6
  27. package/lib/agent-cli-provider/contract-support.js.map +1 -1
  28. package/lib/agent-cli-provider/index.d.ts +8 -6
  29. package/lib/agent-cli-provider/index.d.ts.map +1 -1
  30. package/lib/agent-cli-provider/index.js +34 -10
  31. package/lib/agent-cli-provider/index.js.map +1 -1
  32. package/lib/agent-cli-provider/omp/auth-policy.d.ts +31 -0
  33. package/lib/agent-cli-provider/omp/auth-policy.d.ts.map +1 -0
  34. package/lib/agent-cli-provider/omp/auth-policy.js +98 -0
  35. package/lib/agent-cli-provider/omp/auth-policy.js.map +1 -0
  36. package/lib/agent-cli-provider/{omp-release.d.ts → omp/release.d.ts} +1 -1
  37. package/lib/agent-cli-provider/omp/release.d.ts.map +1 -0
  38. package/lib/agent-cli-provider/{omp-release.js → omp/release.js} +1 -1
  39. package/lib/agent-cli-provider/omp/release.js.map +1 -0
  40. package/lib/agent-cli-provider/{omp-rpc-bounds.d.ts → omp/rpc-bounds.d.ts} +1 -1
  41. package/lib/agent-cli-provider/omp/rpc-bounds.d.ts.map +1 -0
  42. package/lib/agent-cli-provider/{omp-rpc-bounds.js → omp/rpc-bounds.js} +1 -1
  43. package/lib/agent-cli-provider/omp/rpc-bounds.js.map +1 -0
  44. package/lib/agent-cli-provider/omp/rpc-driver-channel.d.ts +19 -0
  45. package/lib/agent-cli-provider/omp/rpc-driver-channel.d.ts.map +1 -0
  46. package/lib/agent-cli-provider/omp/rpc-driver-channel.js +109 -0
  47. package/lib/agent-cli-provider/omp/rpc-driver-channel.js.map +1 -0
  48. package/lib/agent-cli-provider/omp/rpc-driver-dispatch.d.ts +27 -0
  49. package/lib/agent-cli-provider/omp/rpc-driver-dispatch.d.ts.map +1 -0
  50. package/lib/agent-cli-provider/omp/rpc-driver-dispatch.js +135 -0
  51. package/lib/agent-cli-provider/omp/rpc-driver-dispatch.js.map +1 -0
  52. package/lib/agent-cli-provider/omp/rpc-driver-runner.d.ts +3 -0
  53. package/lib/agent-cli-provider/omp/rpc-driver-runner.d.ts.map +1 -0
  54. package/lib/agent-cli-provider/omp/rpc-driver-runner.js +205 -0
  55. package/lib/agent-cli-provider/omp/rpc-driver-runner.js.map +1 -0
  56. package/lib/agent-cli-provider/omp/rpc-driver-state.d.ts +80 -0
  57. package/lib/agent-cli-provider/omp/rpc-driver-state.d.ts.map +1 -0
  58. package/lib/agent-cli-provider/omp/rpc-driver-state.js +86 -0
  59. package/lib/agent-cli-provider/omp/rpc-driver-state.js.map +1 -0
  60. package/lib/agent-cli-provider/omp/rpc-driver.d.ts +3 -0
  61. package/lib/agent-cli-provider/omp/rpc-driver.d.ts.map +1 -0
  62. package/lib/agent-cli-provider/omp/rpc-driver.js +6 -0
  63. package/lib/agent-cli-provider/omp/rpc-driver.js.map +1 -0
  64. package/lib/agent-cli-provider/omp/rpc-event-lines.d.ts +8 -0
  65. package/lib/agent-cli-provider/omp/rpc-event-lines.d.ts.map +1 -0
  66. package/lib/agent-cli-provider/omp/rpc-event-lines.js +59 -0
  67. package/lib/agent-cli-provider/omp/rpc-event-lines.js.map +1 -0
  68. package/lib/agent-cli-provider/omp/rpc-events.d.ts +16 -0
  69. package/lib/agent-cli-provider/omp/rpc-events.d.ts.map +1 -0
  70. package/lib/agent-cli-provider/omp/rpc-events.js +115 -0
  71. package/lib/agent-cli-provider/omp/rpc-events.js.map +1 -0
  72. package/lib/agent-cli-provider/{omp-rpc-protocol.d.ts → omp/rpc-protocol-contract.d.ts} +1 -13
  73. package/lib/agent-cli-provider/omp/rpc-protocol-contract.d.ts.map +1 -0
  74. package/lib/agent-cli-provider/omp/rpc-protocol-contract.js +54 -0
  75. package/lib/agent-cli-provider/omp/rpc-protocol-contract.js.map +1 -0
  76. package/lib/agent-cli-provider/omp/rpc-protocol.d.ts +15 -0
  77. package/lib/agent-cli-provider/omp/rpc-protocol.d.ts.map +1 -0
  78. package/lib/agent-cli-provider/omp/rpc-protocol.js +208 -0
  79. package/lib/agent-cli-provider/omp/rpc-protocol.js.map +1 -0
  80. package/lib/agent-cli-provider/{omp-rpc-session.d.ts → omp/rpc-session.d.ts} +1 -1
  81. package/lib/agent-cli-provider/omp/rpc-session.d.ts.map +1 -0
  82. package/lib/agent-cli-provider/{omp-rpc-session.js → omp/rpc-session.js} +1 -1
  83. package/lib/agent-cli-provider/omp/rpc-session.js.map +1 -0
  84. package/lib/agent-cli-provider/omp/sdk-contract.d.ts +34 -0
  85. package/lib/agent-cli-provider/omp/sdk-contract.d.ts.map +1 -0
  86. package/lib/agent-cli-provider/omp/sdk-contract.js +81 -0
  87. package/lib/agent-cli-provider/omp/sdk-contract.js.map +1 -0
  88. package/lib/agent-cli-provider/omp/sdk-process-credentials.d.ts +6 -0
  89. package/lib/agent-cli-provider/omp/sdk-process-credentials.d.ts.map +1 -0
  90. package/lib/agent-cli-provider/omp/sdk-process-credentials.js +44 -0
  91. package/lib/agent-cli-provider/omp/sdk-process-credentials.js.map +1 -0
  92. package/lib/agent-cli-provider/omp/sdk-process-error.d.ts +5 -0
  93. package/lib/agent-cli-provider/omp/sdk-process-error.d.ts.map +1 -0
  94. package/lib/agent-cli-provider/omp/sdk-process-error.js +13 -0
  95. package/lib/agent-cli-provider/omp/sdk-process-error.js.map +1 -0
  96. package/lib/agent-cli-provider/omp/sdk-process-io.d.ts +18 -0
  97. package/lib/agent-cli-provider/omp/sdk-process-io.d.ts.map +1 -0
  98. package/lib/agent-cli-provider/omp/sdk-process-io.js +80 -0
  99. package/lib/agent-cli-provider/omp/sdk-process-io.js.map +1 -0
  100. package/lib/agent-cli-provider/omp/sdk-process-private-runtime.d.ts +51 -0
  101. package/lib/agent-cli-provider/omp/sdk-process-private-runtime.d.ts.map +1 -0
  102. package/lib/agent-cli-provider/omp/sdk-process-private-runtime.js +154 -0
  103. package/lib/agent-cli-provider/omp/sdk-process-private-runtime.js.map +1 -0
  104. package/lib/agent-cli-provider/omp/sdk-process-result.d.ts +26 -0
  105. package/lib/agent-cli-provider/omp/sdk-process-result.d.ts.map +1 -0
  106. package/lib/agent-cli-provider/omp/sdk-process-result.js +117 -0
  107. package/lib/agent-cli-provider/omp/sdk-process-result.js.map +1 -0
  108. package/lib/agent-cli-provider/omp/sdk-process-runner.d.ts +7 -0
  109. package/lib/agent-cli-provider/omp/sdk-process-runner.d.ts.map +1 -0
  110. package/lib/agent-cli-provider/omp/sdk-process-runner.js +204 -0
  111. package/lib/agent-cli-provider/omp/sdk-process-runner.js.map +1 -0
  112. package/lib/agent-cli-provider/omp/sdk-protocol-collector.d.ts +3 -0
  113. package/lib/agent-cli-provider/omp/sdk-protocol-collector.d.ts.map +1 -0
  114. package/lib/agent-cli-provider/omp/sdk-protocol-collector.js +145 -0
  115. package/lib/agent-cli-provider/omp/sdk-protocol-collector.js.map +1 -0
  116. package/lib/agent-cli-provider/omp/sdk-protocol-frame.d.ts +4 -0
  117. package/lib/agent-cli-provider/omp/sdk-protocol-frame.d.ts.map +1 -0
  118. package/lib/agent-cli-provider/omp/sdk-protocol-frame.js +183 -0
  119. package/lib/agent-cli-provider/omp/sdk-protocol-frame.js.map +1 -0
  120. package/lib/agent-cli-provider/omp/sdk-protocol-request.d.ts +8 -0
  121. package/lib/agent-cli-provider/omp/sdk-protocol-request.d.ts.map +1 -0
  122. package/lib/agent-cli-provider/omp/sdk-protocol-request.js +170 -0
  123. package/lib/agent-cli-provider/omp/sdk-protocol-request.js.map +1 -0
  124. package/lib/agent-cli-provider/omp/sdk-protocol-result.d.ts +5 -0
  125. package/lib/agent-cli-provider/omp/sdk-protocol-result.d.ts.map +1 -0
  126. package/lib/agent-cli-provider/omp/sdk-protocol-result.js +74 -0
  127. package/lib/agent-cli-provider/omp/sdk-protocol-result.js.map +1 -0
  128. package/lib/agent-cli-provider/omp/sdk-protocol-types.d.ts +94 -0
  129. package/lib/agent-cli-provider/omp/sdk-protocol-types.d.ts.map +1 -0
  130. package/lib/agent-cli-provider/omp/sdk-protocol-types.js +54 -0
  131. package/lib/agent-cli-provider/omp/sdk-protocol-types.js.map +1 -0
  132. package/lib/agent-cli-provider/omp/sdk-protocol-value.d.ts +18 -0
  133. package/lib/agent-cli-provider/omp/sdk-protocol-value.d.ts.map +1 -0
  134. package/lib/agent-cli-provider/omp/sdk-protocol-value.js +229 -0
  135. package/lib/agent-cli-provider/omp/sdk-protocol-value.js.map +1 -0
  136. package/lib/agent-cli-provider/omp/sdk-protocol.d.ts +7 -0
  137. package/lib/agent-cli-provider/omp/sdk-protocol.d.ts.map +1 -0
  138. package/lib/agent-cli-provider/omp/sdk-protocol.js +28 -0
  139. package/lib/agent-cli-provider/omp/sdk-protocol.js.map +1 -0
  140. package/lib/agent-cli-provider/omp/sdk-runtime.d.ts +29 -0
  141. package/lib/agent-cli-provider/omp/sdk-runtime.d.ts.map +1 -0
  142. package/lib/agent-cli-provider/omp/sdk-runtime.js +110 -0
  143. package/lib/agent-cli-provider/omp/sdk-runtime.js.map +1 -0
  144. package/lib/agent-cli-provider/omp/sdk-settings-auth.d.ts +3 -0
  145. package/lib/agent-cli-provider/omp/sdk-settings-auth.d.ts.map +1 -0
  146. package/lib/agent-cli-provider/omp/sdk-settings-auth.js +86 -0
  147. package/lib/agent-cli-provider/omp/sdk-settings-auth.js.map +1 -0
  148. package/lib/agent-cli-provider/omp/sdk-settings-constants.d.ts +26 -0
  149. package/lib/agent-cli-provider/omp/sdk-settings-constants.d.ts.map +1 -0
  150. package/lib/agent-cli-provider/omp/sdk-settings-constants.js +148 -0
  151. package/lib/agent-cli-provider/omp/sdk-settings-constants.js.map +1 -0
  152. package/lib/agent-cli-provider/omp/sdk-settings-model-fields.d.ts +5 -0
  153. package/lib/agent-cli-provider/omp/sdk-settings-model-fields.d.ts.map +1 -0
  154. package/lib/agent-cli-provider/omp/sdk-settings-model-fields.js +198 -0
  155. package/lib/agent-cli-provider/omp/sdk-settings-model-fields.js.map +1 -0
  156. package/lib/agent-cli-provider/omp/sdk-settings-model.d.ts +4 -0
  157. package/lib/agent-cli-provider/omp/sdk-settings-model.d.ts.map +1 -0
  158. package/lib/agent-cli-provider/omp/sdk-settings-model.js +163 -0
  159. package/lib/agent-cli-provider/omp/sdk-settings-model.js.map +1 -0
  160. package/lib/agent-cli-provider/omp/sdk-settings-normalize.d.ts +18 -0
  161. package/lib/agent-cli-provider/omp/sdk-settings-normalize.d.ts.map +1 -0
  162. package/lib/agent-cli-provider/omp/sdk-settings-normalize.js +148 -0
  163. package/lib/agent-cli-provider/omp/sdk-settings-normalize.js.map +1 -0
  164. package/lib/agent-cli-provider/omp/sdk-settings-selector.d.ts +3 -0
  165. package/lib/agent-cli-provider/omp/sdk-settings-selector.d.ts.map +1 -0
  166. package/lib/agent-cli-provider/omp/sdk-settings-selector.js +22 -0
  167. package/lib/agent-cli-provider/omp/sdk-settings-selector.js.map +1 -0
  168. package/lib/agent-cli-provider/omp/sdk-settings-types.d.ts +68 -0
  169. package/lib/agent-cli-provider/omp/sdk-settings-types.d.ts.map +1 -0
  170. package/lib/agent-cli-provider/omp/sdk-settings-types.js +19 -0
  171. package/lib/agent-cli-provider/omp/sdk-settings-types.js.map +1 -0
  172. package/lib/agent-cli-provider/omp/sdk-settings-values.d.ts +14 -0
  173. package/lib/agent-cli-provider/omp/sdk-settings-values.d.ts.map +1 -0
  174. package/lib/agent-cli-provider/omp/sdk-settings-values.js +112 -0
  175. package/lib/agent-cli-provider/omp/sdk-settings-values.js.map +1 -0
  176. package/lib/agent-cli-provider/omp/sdk-settings.d.ts +5 -0
  177. package/lib/agent-cli-provider/omp/sdk-settings.d.ts.map +1 -0
  178. package/lib/agent-cli-provider/omp/sdk-settings.js +16 -0
  179. package/lib/agent-cli-provider/omp/sdk-settings.js.map +1 -0
  180. package/lib/agent-cli-provider/omp/sdk-sidecar-context.d.ts +11 -0
  181. package/lib/agent-cli-provider/omp/sdk-sidecar-context.d.ts.map +1 -0
  182. package/lib/agent-cli-provider/omp/sdk-sidecar-context.js +171 -0
  183. package/lib/agent-cli-provider/omp/sdk-sidecar-context.js.map +1 -0
  184. package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.d.ts +5 -0
  185. package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.d.ts.map +1 -0
  186. package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.js +94 -0
  187. package/lib/agent-cli-provider/omp/sdk-sidecar-credentials.js.map +1 -0
  188. package/lib/agent-cli-provider/omp/sdk-sidecar-execute.d.ts +5 -0
  189. package/lib/agent-cli-provider/omp/sdk-sidecar-execute.d.ts.map +1 -0
  190. package/lib/agent-cli-provider/omp/sdk-sidecar-execute.js +175 -0
  191. package/lib/agent-cli-provider/omp/sdk-sidecar-execute.js.map +1 -0
  192. package/lib/agent-cli-provider/omp/sdk-sidecar-output.d.ts +5 -0
  193. package/lib/agent-cli-provider/omp/sdk-sidecar-output.d.ts.map +1 -0
  194. package/lib/agent-cli-provider/omp/sdk-sidecar-output.js +216 -0
  195. package/lib/agent-cli-provider/omp/sdk-sidecar-output.js.map +1 -0
  196. package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.d.ts +11 -0
  197. package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.d.ts.map +1 -0
  198. package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.js +265 -0
  199. package/lib/agent-cli-provider/omp/sdk-sidecar-runtime.js.map +1 -0
  200. package/lib/agent-cli-provider/omp/sdk-sidecar-types.d.ts +148 -0
  201. package/lib/agent-cli-provider/omp/sdk-sidecar-types.d.ts.map +1 -0
  202. package/lib/agent-cli-provider/omp/sdk-sidecar-types.js +84 -0
  203. package/lib/agent-cli-provider/omp/sdk-sidecar-types.js.map +1 -0
  204. package/lib/agent-cli-provider/omp/sdk-sidecar.d.ts +4 -0
  205. package/lib/agent-cli-provider/omp/sdk-sidecar.d.ts.map +1 -0
  206. package/lib/agent-cli-provider/omp/sdk-sidecar.js +9 -0
  207. package/lib/agent-cli-provider/omp/sdk-sidecar.js.map +1 -0
  208. package/lib/agent-cli-provider/process-runner.d.ts +1 -0
  209. package/lib/agent-cli-provider/process-runner.d.ts.map +1 -1
  210. package/lib/agent-cli-provider/process-runner.js +19 -6
  211. package/lib/agent-cli-provider/process-runner.js.map +1 -1
  212. package/lib/agent-cli-provider/provider-registry.d.ts +18 -4
  213. package/lib/agent-cli-provider/provider-registry.d.ts.map +1 -1
  214. package/lib/agent-cli-provider/provider-registry.js +21 -7
  215. package/lib/agent-cli-provider/provider-registry.js.map +1 -1
  216. package/lib/agent-cli-provider/single-agent-runtime.d.ts +10 -1
  217. package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
  218. package/lib/agent-cli-provider/single-agent-runtime.js +378 -11
  219. package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
  220. package/lib/agent-cli-provider/types.d.ts +110 -2
  221. package/lib/agent-cli-provider/types.d.ts.map +1 -1
  222. package/lib/agent-cli-provider/types.js.map +1 -1
  223. package/npm-shrinkwrap.json +18116 -0
  224. package/package.json +16 -3
  225. package/scripts/omp/bun-ffi.d.ts +28 -0
  226. package/scripts/omp/host-supervisor-cleanup.ts +100 -0
  227. package/scripts/omp/host-supervisor-launch.ts +38 -0
  228. package/scripts/omp/host-supervisor-native.ts +181 -0
  229. package/scripts/omp/host-supervisor-tracker.ts +258 -0
  230. package/scripts/omp/host-supervisor.ts +298 -0
  231. package/scripts/omp/promise-gate.ts +13 -0
  232. package/scripts/omp/runtime-identities.js +283 -0
  233. package/scripts/omp/runtime-lock.js +232 -0
  234. package/scripts/omp/runtime-release.js +105 -0
  235. package/scripts/omp/runtime.js +33 -0
  236. package/scripts/omp/sidecar.ts +124 -0
  237. package/scripts/opcore-introduced-check.js +5 -0
  238. package/scripts/release-preflight.js +19 -0
  239. package/src/agent-cli-provider/adapters/acp.ts +18 -17
  240. package/src/agent-cli-provider/adapters/omp-policy.ts +45 -0
  241. package/src/agent-cli-provider/adapters/omp.ts +9 -155
  242. package/src/agent-cli-provider/adapters/pi.ts +15 -145
  243. package/src/agent-cli-provider/assistant-stream.ts +155 -0
  244. package/src/agent-cli-provider/contract-actions.ts +14 -2
  245. package/src/agent-cli-provider/contract-invoke.ts +77 -40
  246. package/src/agent-cli-provider/contract-support.ts +83 -12
  247. package/src/agent-cli-provider/index.ts +60 -5
  248. package/src/agent-cli-provider/omp/auth-policy.ts +126 -0
  249. package/src/agent-cli-provider/omp/rpc-driver-channel.ts +144 -0
  250. package/src/agent-cli-provider/omp/rpc-driver-dispatch.ts +177 -0
  251. package/src/agent-cli-provider/omp/rpc-driver-runner.ts +199 -0
  252. package/src/agent-cli-provider/omp/rpc-driver-state.ts +165 -0
  253. package/src/agent-cli-provider/omp/rpc-driver.ts +8 -0
  254. package/src/agent-cli-provider/omp/rpc-event-lines.ts +58 -0
  255. package/src/agent-cli-provider/omp/rpc-events.ts +154 -0
  256. package/src/agent-cli-provider/omp/rpc-protocol-contract.ts +77 -0
  257. package/src/agent-cli-provider/{omp-rpc-protocol.ts → omp/rpc-protocol.ts} +9 -111
  258. package/src/agent-cli-provider/omp/sdk-contract.ts +123 -0
  259. package/src/agent-cli-provider/omp/sdk-process-credentials.ts +55 -0
  260. package/src/agent-cli-provider/omp/sdk-process-error.ts +9 -0
  261. package/src/agent-cli-provider/omp/sdk-process-io.ts +92 -0
  262. package/src/agent-cli-provider/omp/sdk-process-private-runtime.ts +249 -0
  263. package/src/agent-cli-provider/omp/sdk-process-result.ts +181 -0
  264. package/src/agent-cli-provider/omp/sdk-process-runner.ts +281 -0
  265. package/src/agent-cli-provider/omp/sdk-protocol-collector.ts +140 -0
  266. package/src/agent-cli-provider/omp/sdk-protocol-frame.ts +260 -0
  267. package/src/agent-cli-provider/omp/sdk-protocol-request.ts +181 -0
  268. package/src/agent-cli-provider/omp/sdk-protocol-result.ts +80 -0
  269. package/src/agent-cli-provider/omp/sdk-protocol-types.ts +156 -0
  270. package/src/agent-cli-provider/omp/sdk-protocol-value.ts +234 -0
  271. package/src/agent-cli-provider/omp/sdk-protocol.ts +46 -0
  272. package/src/agent-cli-provider/omp/sdk-runtime.ts +159 -0
  273. package/src/agent-cli-provider/omp/sdk-settings-auth.ts +78 -0
  274. package/src/agent-cli-provider/omp/sdk-settings-constants.ts +147 -0
  275. package/src/agent-cli-provider/omp/sdk-settings-model-fields.ts +233 -0
  276. package/src/agent-cli-provider/omp/sdk-settings-model.ts +238 -0
  277. package/src/agent-cli-provider/omp/sdk-settings-normalize.ts +242 -0
  278. package/src/agent-cli-provider/omp/sdk-settings-selector.ts +28 -0
  279. package/src/agent-cli-provider/omp/sdk-settings-types.ts +88 -0
  280. package/src/agent-cli-provider/omp/sdk-settings-values.ts +118 -0
  281. package/src/agent-cli-provider/omp/sdk-settings.ts +33 -0
  282. package/src/agent-cli-provider/omp/sdk-sidecar-context.ts +199 -0
  283. package/src/agent-cli-provider/omp/sdk-sidecar-credentials.ts +100 -0
  284. package/src/agent-cli-provider/omp/sdk-sidecar-execute.ts +201 -0
  285. package/src/agent-cli-provider/omp/sdk-sidecar-output.ts +235 -0
  286. package/src/agent-cli-provider/omp/sdk-sidecar-runtime.ts +244 -0
  287. package/src/agent-cli-provider/omp/sdk-sidecar-types.ts +173 -0
  288. package/src/agent-cli-provider/omp/sdk-sidecar.ts +3 -0
  289. package/src/agent-cli-provider/process-runner.ts +22 -8
  290. package/src/agent-cli-provider/provider-registry.ts +29 -10
  291. package/src/agent-cli-provider/single-agent-runtime.ts +444 -18
  292. package/src/agent-cli-provider/types.ts +131 -3
  293. package/src/command-cleanup-ownership.js +15 -0
  294. package/task-lib/omp-sdk-runtime.js +8 -0
  295. package/task-lib/runner.js +121 -40
  296. package/task-lib/sdk-watcher.js +154 -0
  297. package/lib/agent-cli-provider/omp-release.d.ts.map +0 -1
  298. package/lib/agent-cli-provider/omp-release.js.map +0 -1
  299. package/lib/agent-cli-provider/omp-rpc-bounds.d.ts.map +0 -1
  300. package/lib/agent-cli-provider/omp-rpc-bounds.js.map +0 -1
  301. package/lib/agent-cli-provider/omp-rpc-driver.d.ts +0 -40
  302. package/lib/agent-cli-provider/omp-rpc-driver.d.ts.map +0 -1
  303. package/lib/agent-cli-provider/omp-rpc-driver.js +0 -519
  304. package/lib/agent-cli-provider/omp-rpc-driver.js.map +0 -1
  305. package/lib/agent-cli-provider/omp-rpc-events.d.ts +0 -28
  306. package/lib/agent-cli-provider/omp-rpc-events.d.ts.map +0 -1
  307. package/lib/agent-cli-provider/omp-rpc-events.js +0 -264
  308. package/lib/agent-cli-provider/omp-rpc-events.js.map +0 -1
  309. package/lib/agent-cli-provider/omp-rpc-protocol.d.ts.map +0 -1
  310. package/lib/agent-cli-provider/omp-rpc-protocol.js +0 -272
  311. package/lib/agent-cli-provider/omp-rpc-protocol.js.map +0 -1
  312. package/lib/agent-cli-provider/omp-rpc-session.d.ts.map +0 -1
  313. package/lib/agent-cli-provider/omp-rpc-session.js.map +0 -1
  314. package/src/agent-cli-provider/omp-rpc-driver.ts +0 -639
  315. package/src/agent-cli-provider/omp-rpc-events.ts +0 -318
  316. /package/src/agent-cli-provider/{omp-release.ts → omp/release.ts} +0 -0
  317. /package/src/agent-cli-provider/{omp-rpc-bounds.ts → omp/rpc-bounds.ts} +0 -0
  318. /package/src/agent-cli-provider/{omp-rpc-session.ts → omp/rpc-session.ts} +0 -0
@@ -1,40 +0,0 @@
1
- import type { OmpSessionLaunch } from './omp-rpc-session';
2
- import type { CommandSpec, OutputEvent } from './types';
3
- export interface OmpRpcSpawnEvidence {
4
- readonly pid: number;
5
- readonly processGroupId: number | null;
6
- readonly terminationStrategy: 'process-group' | 'process-tree';
7
- }
8
- export interface OmpRpcSessionEvidence {
9
- readonly phase: 'ready' | 'terminal';
10
- readonly sessionId: string | null;
11
- readonly sessionFile: string | null;
12
- readonly selectedProvider: string;
13
- readonly selectedModel: string;
14
- readonly thinkingLevel: string;
15
- }
16
- export interface OmpRpcTaskRequest {
17
- readonly commandSpec: CommandSpec;
18
- readonly prompt: string;
19
- readonly expectedVersion: string;
20
- readonly session: OmpSessionLaunch;
21
- readonly signal: AbortSignal;
22
- readonly timeoutMs: number;
23
- readonly abortGraceMs: number;
24
- readonly exitGraceMs: number;
25
- }
26
- export interface OmpRpcTaskHooks {
27
- readonly onSpawn: (evidence: OmpRpcSpawnEvidence) => Promise<void>;
28
- readonly onEvent: (event: OutputEvent) => Promise<void>;
29
- readonly onSession: (evidence: OmpRpcSessionEvidence) => Promise<void>;
30
- }
31
- export interface OmpRpcTaskResult {
32
- readonly events: readonly OutputEvent[];
33
- readonly text: string;
34
- readonly session: OmpRpcSessionEvidence;
35
- readonly stopReason: string;
36
- readonly exitCode: number | null;
37
- readonly signal: string | null;
38
- }
39
- export declare function runOmpRpcTask(request: OmpRpcTaskRequest, hooks: OmpRpcTaskHooks): Promise<OmpRpcTaskResult>;
40
- //# sourceMappingURL=omp-rpc-driver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omp-rpc-driver.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/omp-rpc-driver.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,eAAe,GAAG,cAAc,CAAC;CAChE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AA2FD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAoe3B"}
@@ -1,519 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runOmpRpcTask = runOmpRpcTask;
4
- const node_child_process_1 = require("node:child_process");
5
- const env_safety_1 = require("./env-safety");
6
- const omp_rpc_protocol_1 = require("./omp-rpc-protocol");
7
- const omp_rpc_events_1 = require("./omp-rpc-events");
8
- const omp_rpc_bounds_1 = require("./omp-rpc-bounds");
9
- const json_1 = require("./json");
10
- const UNKNOWN_SESSION_EVIDENCE = {
11
- sessionId: null,
12
- sessionFile: null,
13
- selectedProvider: '',
14
- selectedModel: '',
15
- thinkingLevel: '',
16
- };
17
- // extension_ui_request method table (docs/rpc.md "Extension UI Sub-Protocol"). Zeroshot has no
18
- // interactive host surface, so every method resolves to a cancelled/no-op response instead of
19
- // blocking the child indefinitely.
20
- const UI_RESPONDERS = {
21
- confirm: (id) => ({ type: 'extension_ui_response', id, confirmed: false, cancelled: true }),
22
- select: (id) => ({ type: 'extension_ui_response', id, cancelled: true }),
23
- input: (id) => ({ type: 'extension_ui_response', id, cancelled: true }),
24
- editor: (id) => ({ type: 'extension_ui_response', id, cancelled: true }),
25
- open_url: (id) => ({ type: 'extension_ui_response', id, cancelled: true }),
26
- notify: (id) => ({ type: 'extension_ui_response', id, cancelled: false }),
27
- setStatus: (id) => ({ type: 'extension_ui_response', id, cancelled: false }),
28
- setWidget: (id) => ({ type: 'extension_ui_response', id, cancelled: false }),
29
- setTitle: (id) => ({ type: 'extension_ui_response', id, cancelled: false }),
30
- set_editor_text: (id) => ({ type: 'extension_ui_response', id, cancelled: false }),
31
- cancel: (id) => ({ type: 'extension_ui_response', id, cancelled: false }),
32
- };
33
- class OmpRpcTaskFailure extends Error {
34
- stopReason;
35
- constructor(stopReason, message) {
36
- super(message);
37
- this.name = 'OmpRpcTaskFailure';
38
- this.stopReason = stopReason;
39
- }
40
- }
41
- function createDriverState() {
42
- return {
43
- decoder: new omp_rpc_protocol_1.OmpRpcFrameDecoder(omp_rpc_protocol_1.DEFAULT_OMP_RPC_DECODER_LIMITS),
44
- eventState: (0, omp_rpc_events_1.createOmpRpcEventState)(),
45
- pending: new Map(),
46
- lifetimeRequestIds: new Set(),
47
- queuedFrames: 0,
48
- events: [],
49
- textParts: [],
50
- stderrTail: '',
51
- negotiatedV2: false,
52
- readyReceived: false,
53
- promptSent: false,
54
- terminal: false,
55
- settled: false,
56
- abortStopReason: null,
57
- pendingStopReason: null,
58
- terminationStarted: false,
59
- sessionEvidence: UNKNOWN_SESSION_EVIDENCE,
60
- processExit: null,
61
- chain: Promise.resolve(),
62
- };
63
- }
64
- // eslint-disable-next-line max-lines-per-function
65
- function runOmpRpcTask(request, hooks) {
66
- return new Promise((resolvePromise, rejectPromise) => {
67
- const { commandSpec } = request;
68
- const state = createDriverState();
69
- const child = (0, node_child_process_1.spawn)(commandSpec.binary, [...commandSpec.args], {
70
- shell: false,
71
- stdio: ['pipe', 'pipe', 'pipe'],
72
- ...(commandSpec.cwd === undefined ? {} : { cwd: commandSpec.cwd }),
73
- detached: process.platform !== 'win32',
74
- windowsHide: true,
75
- env: { ...(0, env_safety_1.omitProcessControlEnv)(process.env), ...(0, env_safety_1.omitUnsafeProviderEnv)(commandSpec.env) },
76
- });
77
- // Gated on the 'spawn' event (fires only once the OS has actually created the process and
78
- // assigned a real pid), not called synchronously right after spawn(): when the binary is
79
- // missing, `child.pid` is still undefined at this point and the eventual 'error' event is
80
- // what surfaces the failure. Synthesizing spawn evidence for a pid that was never real (e.g.
81
- // a placeholder) would let ownership-based termination signal an unrelated, potentially
82
- // privileged PID once that placeholder is treated as an owned process/group id. No stdin
83
- // write happens before this resolves (negotiateAndPrompt awaits it), so spawn evidence stays
84
- // durable before the prompt is written, and is simply never reported when spawn never
85
- // succeeds.
86
- const spawnHookPromise = new Promise((resolveSpawnHook) => {
87
- child.once('spawn', () => {
88
- const pid = child.pid;
89
- // Node guarantees a defined pid once 'spawn' fires; this is a defensive narrowing only.
90
- if (pid === undefined) {
91
- failPermanently('spawn-hook-failed', 'Process spawned without a pid.');
92
- resolveSpawnHook();
93
- return;
94
- }
95
- hooks
96
- .onSpawn({
97
- pid,
98
- processGroupId: process.platform === 'win32' ? null : pid,
99
- terminationStrategy: process.platform === 'win32' ? 'process-tree' : 'process-group',
100
- })
101
- .then(resolveSpawnHook, (error) => {
102
- failPermanently('spawn-hook-failed', error instanceof Error ? error.message : String(error));
103
- resolveSpawnHook();
104
- });
105
- });
106
- });
107
- let abortTimer;
108
- let timeoutTimer;
109
- function clearTimers() {
110
- if (abortTimer !== undefined)
111
- clearTimeout(abortTimer);
112
- if (timeoutTimer !== undefined)
113
- clearTimeout(timeoutTimer);
114
- }
115
- function deriveStopReason() {
116
- const lastResult = [...state.events].reverse().find((event) => event.type === 'result');
117
- if (lastResult && lastResult.type === 'result' && lastResult.success === false) {
118
- return 'turn-failed';
119
- }
120
- return 'completed';
121
- }
122
- function finish(stopReason) {
123
- if (state.settled)
124
- return;
125
- state.settled = true;
126
- clearTimers();
127
- resolvePromise({
128
- events: state.events,
129
- text: state.textParts.join(''),
130
- session: { ...state.sessionEvidence, phase: 'terminal' },
131
- stopReason,
132
- exitCode: state.processExit?.exitCode ?? null,
133
- signal: state.processExit?.signal ?? null,
134
- });
135
- }
136
- function pushEvent(event) {
137
- state.events.push(event);
138
- if (event.type === 'text')
139
- state.textParts.push(event.text);
140
- void hooks.onEvent(event).catch(() => { });
141
- }
142
- // A child that exits *on a signal* leaves child.exitCode null and reports the signal name in
143
- // child.signalCode instead, so exitCode alone is not a terminal check. Both must be consulted
144
- // before any kill(): once the child has been reaped its pid — and therefore the negative pid
145
- // captured here as a process-group id — can be reused by an unrelated process group, and
146
- // signalling that group would terminate a process this driver never owned.
147
- function hasExited() {
148
- return child.exitCode !== null || child.signalCode !== null;
149
- }
150
- function terminateOwnedBoundary() {
151
- if (state.terminationStarted || child.pid === undefined || hasExited())
152
- return;
153
- state.terminationStarted = true;
154
- const pid = child.pid;
155
- try {
156
- if (process.platform === 'win32')
157
- child.kill('SIGTERM');
158
- else
159
- process.kill(-pid, 'SIGTERM');
160
- }
161
- catch {
162
- // Process may already be gone.
163
- }
164
- setTimeout(() => {
165
- if (hasExited())
166
- return;
167
- try {
168
- if (process.platform === 'win32')
169
- child.kill('SIGKILL');
170
- else
171
- process.kill(-pid, 'SIGKILL');
172
- }
173
- catch {
174
- // Process may already be gone.
175
- }
176
- }, request.exitGraceMs);
177
- }
178
- function failPermanently(stopReason, message) {
179
- if (state.terminal)
180
- return;
181
- state.terminal = true;
182
- state.pendingStopReason = stopReason;
183
- pushEvent({ type: 'result', success: false, result: null, error: `${stopReason}: ${message}` });
184
- terminateOwnedBoundary();
185
- }
186
- function registerLifetimeId(id) {
187
- if (state.lifetimeRequestIds.has(id))
188
- return true;
189
- if (state.lifetimeRequestIds.size >= omp_rpc_bounds_1.MAX_LIFETIME_REQUEST_IDS)
190
- return false;
191
- state.lifetimeRequestIds.add(id);
192
- return true;
193
- }
194
- function writeFrame(frame) {
195
- if (child.stdin.destroyed)
196
- return;
197
- try {
198
- child.stdin.write((0, omp_rpc_protocol_1.encodeOmpRpcCommand)(frame, omp_rpc_protocol_1.DEFAULT_OMP_RPC_DECODER_LIMITS.maxPhysicalFrameBytes));
199
- }
200
- catch {
201
- // Stdin already closed; the close handler settles the task.
202
- }
203
- }
204
- function sendCommand(command) {
205
- const id = command.id ?? '';
206
- if (!registerLifetimeId(id)) {
207
- return Promise.reject(new OmpRpcTaskFailure('lifetime-request-id-exceeded', `command id "${id}" exceeds the lifetime request-id bound.`));
208
- }
209
- if (state.pending.size >= omp_rpc_bounds_1.MAX_PENDING_REQUESTS) {
210
- return Promise.reject(new OmpRpcTaskFailure('pending-request-exceeded', 'too many concurrent outbound RPC commands are awaiting a response.'));
211
- }
212
- return new Promise((resolve, reject) => {
213
- state.pending.set(id, { resolve, reject });
214
- writeFrame(command);
215
- });
216
- }
217
- function assertSuccessfulResponse(response, command, id) {
218
- if ((0, json_1.getString)(response, 'command') !== command || (0, json_1.getString)(response, 'id') !== id) {
219
- throw new OmpRpcTaskFailure('malformed-response', `Expected a ${command} response with id "${id}".`);
220
- }
221
- if ((0, json_1.getBoolean)(response, 'success') !== true) {
222
- throw new OmpRpcTaskFailure('unsafe-config', (0, json_1.getString)(response, 'error') ?? `${command} was rejected.`);
223
- }
224
- }
225
- function handleResponse(frame) {
226
- const id = (0, json_1.getOptionalString)(frame, 'id');
227
- if (!id)
228
- return;
229
- const command = state.pending.get(id);
230
- if (command === undefined)
231
- return;
232
- state.pending.delete(id);
233
- command.resolve(frame);
234
- }
235
- function handleExtensionUiRequest(frame) {
236
- const id = (0, json_1.getString)(frame, 'id');
237
- const method = (0, json_1.getString)(frame, 'method');
238
- if (id === null || method === null) {
239
- throw new OmpRpcTaskFailure('malformed-extension-ui-request', 'extension_ui_request is missing id/method.');
240
- }
241
- if (!registerLifetimeId(id)) {
242
- throw new OmpRpcTaskFailure('lifetime-request-id-exceeded', `extension_ui_request id "${id}" exceeds the lifetime request-id bound.`);
243
- }
244
- const responder = UI_RESPONDERS[method];
245
- if (responder === undefined) {
246
- throw new OmpRpcTaskFailure('unsupported-ui-method', `extension_ui_request used unsupported method "${method}".`);
247
- }
248
- writeFrame(responder(id));
249
- }
250
- function handleHostToolCall(frame) {
251
- const id = (0, json_1.getString)(frame, 'id');
252
- if (id === null)
253
- throw new OmpRpcTaskFailure('malformed-host-tool-call', 'host_tool_call is missing id.');
254
- if (!registerLifetimeId(id)) {
255
- throw new OmpRpcTaskFailure('lifetime-request-id-exceeded', `host_tool_call id "${id}" exceeds the lifetime request-id bound.`);
256
- }
257
- writeFrame({
258
- type: 'host_tool_result',
259
- id,
260
- isError: true,
261
- result: { content: [{ type: 'text', text: 'Zeroshot declares no host tools' }] },
262
- });
263
- }
264
- function handleHostUriRequest(frame) {
265
- const id = (0, json_1.getString)(frame, 'id');
266
- if (id === null)
267
- throw new OmpRpcTaskFailure('malformed-host-uri-request', 'host_uri_request is missing id.');
268
- if (!registerLifetimeId(id)) {
269
- throw new OmpRpcTaskFailure('lifetime-request-id-exceeded', `host_uri_request id "${id}" exceeds the lifetime request-id bound.`);
270
- }
271
- writeFrame({ type: 'host_uri_result', id, isError: true, error: 'Zeroshot declares no host URI schemes' });
272
- }
273
- function handlePromptResultFrame(frame) {
274
- if ((0, json_1.getString)(frame, 'id') !== 'zs-2')
275
- return;
276
- const agentInvoked = (0, json_1.getBoolean)(frame, 'agentInvoked') ?? false;
277
- if (agentInvoked)
278
- return; // agent_end is authoritative for the invoked path.
279
- // Do not set state.terminal here: the enqueue() .catch() handler calls failPermanently(),
280
- // which owns that transition and no-ops if it's already true (see negotiateAndPrompt()).
281
- throw new OmpRpcTaskFailure('local-only-prompt', 'OMP resolved the prompt without invoking the agent (no agent turn).');
282
- }
283
- function handleAgentEnd() {
284
- if (state.terminal)
285
- return;
286
- state.terminal = true;
287
- state.pendingStopReason = deriveStopReason();
288
- // Graceful shutdown: close stdin so OMP exits on its own (docs/rpc.md: "When stdin closes
289
- // ... the process exits with code 0"). Only escalate to SIGTERM/SIGKILL if that stalls.
290
- child.stdin?.end();
291
- setTimeout(() => terminateOwnedBoundary(), request.exitGraceMs);
292
- }
293
- function emitNormalized(frame) {
294
- for (const event of (0, omp_rpc_events_1.normalizeOmpRpcFrame)(frame, state.eventState))
295
- pushEvent(event);
296
- }
297
- function dispatchReadyFrame(frame) {
298
- state.readyReceived = true;
299
- if (frame.type !== 'ready') {
300
- throw new OmpRpcTaskFailure('unsupported-protocol', `Expected an initial ready frame, got "${frame.type}".`);
301
- }
302
- const supportedVersions = (0, json_1.getArray)(frame, 'supportedProtocolVersions');
303
- if (!supportedVersions.includes(2)) {
304
- throw new OmpRpcTaskFailure('unsupported-protocol', `OMP ready frame did not advertise protocol v2 (supportedProtocolVersions=${JSON.stringify(supportedVersions)}).`);
305
- }
306
- const maxFrameBytes = (0, json_1.getNumber)(frame, 'maxFrameBytes');
307
- const maxReassembledFrameBytes = (0, json_1.getNumber)(frame, 'maxReassembledFrameBytes');
308
- if (maxFrameBytes === null ||
309
- maxFrameBytes > omp_rpc_protocol_1.DEFAULT_OMP_RPC_DECODER_LIMITS.maxPhysicalFrameBytes ||
310
- maxReassembledFrameBytes === null ||
311
- maxReassembledFrameBytes > omp_rpc_protocol_1.DEFAULT_OMP_RPC_DECODER_LIMITS.maxReassembledFrameBytes) {
312
- throw new OmpRpcTaskFailure('unsupported-limits', `OMP ready frame advertised limits above the pinned decoder caps (maxFrameBytes=${String(maxFrameBytes)}, maxReassembledFrameBytes=${String(maxReassembledFrameBytes)}).`);
313
- }
314
- negotiateAndPrompt().catch((error) => {
315
- if (error instanceof omp_rpc_protocol_1.OmpRpcProtocolError)
316
- failPermanently(error.code, error.message);
317
- else if (error instanceof OmpRpcTaskFailure)
318
- failPermanently(error.stopReason, error.message);
319
- else
320
- failPermanently('driver-error', error instanceof Error ? error.message : String(error));
321
- });
322
- }
323
- async function negotiateAndPrompt() {
324
- // Every stdin write is ordered after onSpawn resolves (spawn evidence must be durable
325
- // before the prompt is written, so a detached watcher crash after spawn is still owned).
326
- await spawnHookPromise;
327
- if (state.settled)
328
- return;
329
- const negotiateResponse = await sendCommand({ id: 'zs-1', type: 'negotiate_protocol', protocolVersion: 2 });
330
- assertSuccessfulResponse(negotiateResponse, 'negotiate_protocol', 'zs-1');
331
- state.negotiatedV2 = true;
332
- const stateResponse = await sendCommand({ id: 'zs-state', type: 'get_state' }).catch(() => null);
333
- state.sessionEvidence = sessionEvidenceFromState(stateResponse);
334
- await hooks.onSession({ ...state.sessionEvidence, phase: 'ready' });
335
- state.promptSent = true;
336
- const ack = await sendCommand({ id: 'zs-2', type: 'prompt', message: request.prompt });
337
- assertSuccessfulResponse(ack, 'prompt', 'zs-2');
338
- const data = (0, json_1.getRecord)(ack, 'data');
339
- const agentInvoked = data ? (0, json_1.getBoolean)(data, 'agentInvoked') : null;
340
- if (agentInvoked === false) {
341
- // Do not set state.terminal here: failPermanently() (invoked by this function's
342
- // .catch() handler) owns that transition and no-ops if it's already true, which would
343
- // skip pushEvent/terminateOwnedBoundary and hang the task forever.
344
- throw new OmpRpcTaskFailure('local-only-prompt', 'OMP resolved the prompt without invoking the agent (no agent turn).');
345
- }
346
- // agentInvoked true or omitted: completion is driven entirely by later frame dispatch
347
- // (agent_end / a delayed prompt_result), not by this function returning.
348
- }
349
- // Present on both the get_state response's `data` and a `session_info_update` event frame per
350
- // docs/rpc.md; either may carry only a subset, so callers merge this onto prior evidence
351
- // rather than replacing it wholesale.
352
- function sessionFieldsFromRecord(record) {
353
- const sessionId = (0, json_1.getString)(record, 'sessionId');
354
- const sessionFile = (0, json_1.getString)(record, 'sessionFile');
355
- return {
356
- ...(sessionId !== null ? { sessionId } : {}),
357
- ...(sessionFile !== null ? { sessionFile } : {}),
358
- };
359
- }
360
- function sessionEvidenceFromState(stateResponse) {
361
- if (stateResponse === null || (0, json_1.getBoolean)(stateResponse, 'success') !== true)
362
- return UNKNOWN_SESSION_EVIDENCE;
363
- const data = (0, json_1.getRecord)(stateResponse, 'data');
364
- const model = data ? (0, json_1.getRecord)(data, 'model') : null;
365
- return {
366
- ...UNKNOWN_SESSION_EVIDENCE,
367
- ...(data ? sessionFieldsFromRecord(data) : {}),
368
- selectedProvider: (model ? (0, json_1.getString)(model, 'provider') : null) ?? '',
369
- selectedModel: (model ? (0, json_1.getString)(model, 'id') : null) ?? '',
370
- thinkingLevel: (data ? (0, json_1.getString)(data, 'thinkingLevel') : null) ?? '',
371
- };
372
- }
373
- // session_info_update is a builtin slash-command side channel (docs/rpc.md) that can carry a
374
- // later-observed sessionId/sessionFile than the initial get_state snapshot. Returning the
375
- // hooks.onSession() promise (rather than fire-and-forget) lets a persistence failure surface
376
- // through the same enqueue()/state.chain .catch() -> failPermanently() path as every other
377
- // dispatch failure, instead of being silently swallowed.
378
- function handleSessionInfoUpdate(frame) {
379
- const updates = sessionFieldsFromRecord(frame);
380
- if (Object.keys(updates).length === 0)
381
- return;
382
- state.sessionEvidence = { ...state.sessionEvidence, ...updates };
383
- return hooks.onSession({ ...state.sessionEvidence, phase: 'ready' });
384
- }
385
- function dispatchFrame(frame) {
386
- if (state.terminal)
387
- return; // Frames after the terminal frame are dropped.
388
- if (!state.readyReceived) {
389
- dispatchReadyFrame(frame);
390
- return;
391
- }
392
- (0, omp_rpc_protocol_1.assertNoPreNegotiationRpcChunk)(frame.type, state.negotiatedV2);
393
- switch (frame.type) {
394
- case 'response':
395
- handleResponse(frame);
396
- return;
397
- case 'extension_ui_request':
398
- handleExtensionUiRequest(frame);
399
- return;
400
- case 'host_tool_call':
401
- handleHostToolCall(frame);
402
- return;
403
- case 'host_uri_request':
404
- handleHostUriRequest(frame);
405
- return;
406
- case 'host_tool_cancel':
407
- case 'host_uri_cancel':
408
- return; // No long-running host operation is ever started, so nothing to cancel.
409
- case 'extension_error':
410
- throw new OmpRpcTaskFailure('extension-error', (0, json_1.getString)(frame, 'error') ?? 'OMP extension runner reported an error.');
411
- case 'prompt_result':
412
- handlePromptResultFrame(frame);
413
- return;
414
- case 'agent_end':
415
- handleAgentEnd();
416
- return;
417
- case 'session_info_update':
418
- return handleSessionInfoUpdate(frame);
419
- default:
420
- if (state.promptSent)
421
- emitNormalized(frame);
422
- }
423
- }
424
- function enqueue(frame) {
425
- // Bounded before anything is queued: a single stdout chunk can decode to an
426
- // attacker-controlled number of frames (each individually within the decoder's per-frame
427
- // caps), and dispatch is asynchronous (chained via state.chain), so without this check a
428
- // burst could queue unbounded work before any of it is actually processed.
429
- if (state.queuedFrames >= omp_rpc_bounds_1.MAX_PENDING_REQUESTS) {
430
- failPermanently('pending-request-exceeded', `More than ${omp_rpc_bounds_1.MAX_PENDING_REQUESTS} RPC frames are queued awaiting dispatch.`);
431
- return;
432
- }
433
- state.queuedFrames += 1;
434
- state.chain = state.chain
435
- .then(() => dispatchFrame(frame))
436
- .catch((error) => {
437
- if (error instanceof omp_rpc_protocol_1.OmpRpcProtocolError)
438
- failPermanently(error.code, error.message);
439
- else if (error instanceof OmpRpcTaskFailure)
440
- failPermanently(error.stopReason, error.message);
441
- else
442
- failPermanently('driver-error', error instanceof Error ? error.message : String(error));
443
- })
444
- .finally(() => {
445
- state.queuedFrames -= 1;
446
- });
447
- }
448
- child.stdout?.on('data', (chunk) => {
449
- let frames;
450
- try {
451
- frames = state.decoder.push(chunk, state.negotiatedV2);
452
- }
453
- catch (error) {
454
- if (error instanceof omp_rpc_protocol_1.OmpRpcProtocolError)
455
- failPermanently(error.code, error.message);
456
- else
457
- failPermanently('decoder-error', error instanceof Error ? error.message : String(error));
458
- return;
459
- }
460
- for (const frame of frames)
461
- enqueue(frame);
462
- });
463
- child.stderr?.on('data', (chunk) => {
464
- state.stderrTail = (state.stderrTail + chunk.toString('utf8')).slice(-omp_rpc_bounds_1.MAX_STDERR_TAIL_BYTES);
465
- });
466
- child.once('error', (error) => {
467
- if (state.settled)
468
- return;
469
- state.settled = true;
470
- clearTimers();
471
- rejectPromise(error);
472
- });
473
- child.once('close', (exitCode, signal) => {
474
- state.processExit = { exitCode, signal: signal ?? null };
475
- for (const command of state.pending.values()) {
476
- command.reject(new OmpRpcTaskFailure('process-closed', 'child process ended before a response arrived.'));
477
- }
478
- state.pending.clear();
479
- if (state.terminal) {
480
- // Outcome already decided (agent_end / a permanent failure); the process has now actually
481
- // exited, so resolve with the real exitCode/signal.
482
- finish(state.pendingStopReason ?? deriveStopReason());
483
- return;
484
- }
485
- state.terminal = true;
486
- let detail;
487
- try {
488
- state.decoder.finish();
489
- detail = `OMP process exited (code=${exitCode ?? 'null'}, signal=${signal ?? 'null'}) before a terminal RPC frame arrived.`;
490
- }
491
- catch (error) {
492
- detail = error instanceof omp_rpc_protocol_1.OmpRpcProtocolError ? error.message : String(error);
493
- }
494
- if (state.stderrTail)
495
- detail += ` stderr: ${state.stderrTail}`;
496
- const stopReason = state.abortStopReason ?? 'stream-ended-before-terminal';
497
- pushEvent({ type: 'result', success: false, result: null, error: `${stopReason}: ${detail}` });
498
- finish(stopReason);
499
- });
500
- function beginAbort(stopReason) {
501
- if (state.settled || state.terminal || state.abortStopReason !== null)
502
- return;
503
- state.abortStopReason = stopReason;
504
- writeFrame({ id: 'zs-abort', type: 'abort' });
505
- abortTimer = setTimeout(() => {
506
- if (!state.terminal)
507
- terminateOwnedBoundary();
508
- }, request.abortGraceMs);
509
- }
510
- if (request.signal.aborted) {
511
- beginAbort('cancelled');
512
- }
513
- else {
514
- request.signal.addEventListener('abort', () => beginAbort('cancelled'), { once: true });
515
- }
516
- timeoutTimer = setTimeout(() => beginAbort('timeout'), request.timeoutMs);
517
- });
518
- }
519
- //# sourceMappingURL=omp-rpc-driver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omp-rpc-driver.js","sourceRoot":"","sources":["../../src/agent-cli-provider/omp-rpc-driver.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { type OmpRpcInboundFrame } from './omp-rpc-protocol';
2
- import type { OutputEvent, ProviderParseResult, ProviderParserState } from './types';
3
- export interface OmpRpcEventState {
4
- lastAssistantText: string;
5
- lastAssistantThinking: string;
6
- lastToolId: string | null | undefined;
7
- normalizedBytes: number;
8
- }
9
- export declare function createOmpRpcEventState(): OmpRpcEventState;
10
- /**
11
- * Normalize one decoded OMP RPC v2 event frame into zero or more OutputEvents. Only the frame
12
- * types below produce output; every other known-pre-negotiation frame (agent_start/agent_end,
13
- * turn_start, ready, response, session_info_update, subagent_*, ...) is protocol/control plumbing
14
- * the driver consumes directly and must never leak into log/attach/ledger output.
15
- */
16
- export declare function normalizeOmpRpcFrame(frame: OmpRpcInboundFrame, state: OmpRpcEventState): readonly OutputEvent[];
17
- /**
18
- * Parse one line of the rpc-stdio lane's already-normalized OutputEvent JSON stream (produced
19
- * from `OmpRpcTaskResult.events` by `contract-invoke.ts` / `rpc-watcher.js`). This is the
20
- * `ProviderAdapter.parseEvent` counterpart to `normalizeOmpRpcFrame` above: the driver normalizes
21
- * raw RPC frames to OutputEvent once, and this function is a validating passthrough over that
22
- * already-normalized shape so generic log/attach tooling built on `adapter.parseEvent` keeps
23
- * working for the omp provider without re-deriving events from raw frames. Each case rebuilds a
24
- * literal matching its OutputEvent variant instead of casting the parsed record, so an
25
- * unexpectedly-shaped line fails closed (returns null) rather than passing through untyped.
26
- */
27
- export declare function parseNormalizedOmpRpcEventLine(line: string, _state: ProviderParserState): ProviderParseResult;
28
- //# sourceMappingURL=omp-rpc-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omp-rpc-events.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/omp-rpc-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAalF,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,IAAI,gBAAgB,CAOzD;AAuMD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,gBAAgB,GACtB,SAAS,WAAW,EAAE,CAmBxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CA8CrB"}