@smthrs/gateway 0.35.0 → 1.0.0-rc.4

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 (605) hide show
  1. package/CHANGELOG.md +198 -0
  2. package/LICENSE +1 -1
  3. package/README.md +92 -0
  4. package/dist/cjs/Diagnosis.d.ts +275 -0
  5. package/dist/cjs/Diagnosis.d.ts.map +1 -0
  6. package/dist/cjs/Diagnosis.js +476 -0
  7. package/dist/cjs/Diagnosis.js.map +7 -0
  8. package/dist/cjs/EngineTrace.d.ts +76 -0
  9. package/dist/cjs/EngineTrace.d.ts.map +1 -0
  10. package/dist/cjs/EngineTrace.js +509 -0
  11. package/dist/cjs/EngineTrace.js.map +7 -0
  12. package/dist/cjs/GatewayError.d.ts +54 -0
  13. package/dist/cjs/GatewayError.d.ts.map +1 -0
  14. package/dist/cjs/GatewayError.js +51 -0
  15. package/dist/cjs/GatewayError.js.map +7 -0
  16. package/dist/cjs/GatewayProjection.d.ts +480 -0
  17. package/dist/cjs/GatewayProjection.d.ts.map +1 -0
  18. package/dist/cjs/GatewayProjection.js +471 -0
  19. package/dist/cjs/GatewayProjection.js.map +7 -0
  20. package/dist/cjs/GatewayRpcs.d.ts +1886 -0
  21. package/dist/cjs/GatewayRpcs.d.ts.map +1 -0
  22. package/dist/cjs/GatewayRpcs.js +121 -0
  23. package/dist/cjs/GatewayRpcs.js.map +7 -0
  24. package/dist/cjs/GatewaySchema.d.ts +3274 -0
  25. package/dist/cjs/GatewaySchema.d.ts.map +1 -0
  26. package/dist/cjs/GatewaySchema.js +141 -0
  27. package/dist/cjs/GatewaySchema.js.map +7 -0
  28. package/dist/cjs/GatewayServer.d.ts +427 -0
  29. package/dist/cjs/GatewayServer.d.ts.map +1 -0
  30. package/dist/cjs/GatewayServer.js +428 -0
  31. package/dist/cjs/GatewayServer.js.map +7 -0
  32. package/dist/cjs/HostBranchPresence.d.ts +19 -0
  33. package/dist/cjs/HostBranchPresence.d.ts.map +1 -0
  34. package/dist/cjs/HostBranchPresence.js +82 -0
  35. package/dist/cjs/HostBranchPresence.js.map +7 -0
  36. package/dist/cjs/Projections.d.ts +209 -0
  37. package/dist/cjs/Projections.d.ts.map +1 -0
  38. package/dist/cjs/Projections.js +906 -0
  39. package/dist/cjs/Projections.js.map +7 -0
  40. package/dist/cjs/RunDevTools.d.ts +181 -0
  41. package/dist/cjs/RunDevTools.d.ts.map +1 -0
  42. package/dist/cjs/RunDevTools.js +195 -0
  43. package/dist/cjs/RunDevTools.js.map +7 -0
  44. package/dist/cjs/RunHistory.d.ts +185 -0
  45. package/dist/cjs/RunHistory.d.ts.map +1 -0
  46. package/dist/cjs/RunHistory.js +68 -0
  47. package/dist/cjs/RunHistory.js.map +7 -0
  48. package/dist/cjs/RunTrace.d.ts +753 -0
  49. package/dist/cjs/RunTrace.d.ts.map +1 -0
  50. package/dist/cjs/RunTrace.js +1595 -0
  51. package/dist/cjs/RunTrace.js.map +7 -0
  52. package/dist/cjs/RuntimeBridge.d.ts +1386 -0
  53. package/dist/cjs/RuntimeBridge.d.ts.map +1 -0
  54. package/dist/cjs/RuntimeBridge.js +598 -0
  55. package/dist/cjs/RuntimeBridge.js.map +7 -0
  56. package/dist/cjs/bun/BunGateway.d.ts +20 -0
  57. package/dist/cjs/bun/BunGateway.d.ts.map +1 -0
  58. package/dist/cjs/bun/BunGateway.js +62 -0
  59. package/dist/cjs/bun/BunGateway.js.map +7 -0
  60. package/dist/cjs/index.d.ts +65 -0
  61. package/dist/cjs/index.d.ts.map +1 -0
  62. package/dist/cjs/index.js +59 -0
  63. package/dist/cjs/index.js.map +7 -0
  64. package/dist/cjs/internal/NativeGateway.d.ts +176 -0
  65. package/dist/cjs/internal/NativeGateway.d.ts.map +1 -0
  66. package/dist/cjs/internal/NativeGateway.js +187 -0
  67. package/dist/cjs/internal/NativeGateway.js.map +7 -0
  68. package/dist/cjs/internal/actionRenderings.d.ts +12 -0
  69. package/dist/cjs/internal/actionRenderings.d.ts.map +1 -0
  70. package/dist/cjs/internal/actionRenderings.js +224 -0
  71. package/dist/cjs/internal/actionRenderings.js.map +7 -0
  72. package/dist/cjs/internal/callEvents.d.ts +97 -0
  73. package/dist/cjs/internal/callEvents.d.ts.map +1 -0
  74. package/dist/cjs/internal/callEvents.js +169 -0
  75. package/dist/cjs/internal/callEvents.js.map +7 -0
  76. package/dist/cjs/internal/digestIndex.d.ts +31 -0
  77. package/dist/cjs/internal/digestIndex.d.ts.map +1 -0
  78. package/dist/cjs/internal/digestIndex.js +105 -0
  79. package/dist/cjs/internal/digestIndex.js.map +7 -0
  80. package/dist/cjs/internal/digestMemory.d.ts +19 -0
  81. package/dist/cjs/internal/digestMemory.d.ts.map +1 -0
  82. package/dist/cjs/internal/digestMemory.js +33 -0
  83. package/dist/cjs/internal/digestMemory.js.map +7 -0
  84. package/dist/cjs/internal/inspectLabels.d.ts +13 -0
  85. package/dist/cjs/internal/inspectLabels.d.ts.map +1 -0
  86. package/dist/cjs/internal/inspectLabels.js +29 -0
  87. package/dist/cjs/internal/inspectLabels.js.map +7 -0
  88. package/dist/cjs/internal/nativeResolution.d.ts +41 -0
  89. package/dist/cjs/internal/nativeResolution.d.ts.map +1 -0
  90. package/dist/cjs/internal/nativeResolution.js +62 -0
  91. package/dist/cjs/internal/nativeResolution.js.map +7 -0
  92. package/dist/cjs/internal/nodeEvents.d.ts +47 -0
  93. package/dist/cjs/internal/nodeEvents.d.ts.map +1 -0
  94. package/dist/cjs/internal/nodeEvents.js +60 -0
  95. package/dist/cjs/internal/nodeEvents.js.map +7 -0
  96. package/dist/cjs/node/NodeGateway.d.ts +16 -0
  97. package/dist/cjs/node/NodeGateway.d.ts.map +1 -0
  98. package/dist/cjs/node/NodeGateway.js +48 -0
  99. package/dist/cjs/node/NodeGateway.js.map +7 -0
  100. package/dist/cjs/package.json +1 -0
  101. package/dist/esm/Diagnosis.d.ts +275 -0
  102. package/dist/esm/Diagnosis.d.ts.map +1 -0
  103. package/dist/esm/Diagnosis.js +697 -0
  104. package/dist/esm/Diagnosis.js.map +1 -0
  105. package/dist/esm/EngineTrace.d.ts +76 -0
  106. package/dist/esm/EngineTrace.d.ts.map +1 -0
  107. package/dist/esm/EngineTrace.js +557 -0
  108. package/dist/esm/EngineTrace.js.map +1 -0
  109. package/dist/esm/GatewayError.d.ts +54 -0
  110. package/dist/esm/GatewayError.d.ts.map +1 -0
  111. package/dist/esm/GatewayError.js +60 -0
  112. package/dist/esm/GatewayError.js.map +1 -0
  113. package/dist/esm/GatewayProjection.d.ts +480 -0
  114. package/dist/esm/GatewayProjection.d.ts.map +1 -0
  115. package/dist/esm/GatewayProjection.js +799 -0
  116. package/dist/esm/GatewayProjection.js.map +1 -0
  117. package/dist/esm/GatewayRpcs.d.ts +1886 -0
  118. package/dist/esm/GatewayRpcs.d.ts.map +1 -0
  119. package/dist/esm/GatewayRpcs.js +145 -0
  120. package/dist/esm/GatewayRpcs.js.map +1 -0
  121. package/dist/esm/GatewaySchema.d.ts +3274 -0
  122. package/dist/esm/GatewaySchema.d.ts.map +1 -0
  123. package/dist/esm/GatewaySchema.js +244 -0
  124. package/dist/esm/GatewaySchema.js.map +1 -0
  125. package/dist/esm/GatewayServer.d.ts +427 -0
  126. package/dist/esm/GatewayServer.d.ts.map +1 -0
  127. package/dist/esm/GatewayServer.js +725 -0
  128. package/dist/esm/GatewayServer.js.map +1 -0
  129. package/dist/esm/HostBranchPresence.d.ts +19 -0
  130. package/dist/esm/HostBranchPresence.d.ts.map +1 -0
  131. package/dist/esm/HostBranchPresence.js +57 -0
  132. package/dist/esm/HostBranchPresence.js.map +1 -0
  133. package/dist/esm/Projections.d.ts +209 -0
  134. package/dist/esm/Projections.d.ts.map +1 -0
  135. package/dist/esm/Projections.js +1254 -0
  136. package/dist/esm/Projections.js.map +1 -0
  137. package/dist/esm/RunDevTools.d.ts +181 -0
  138. package/dist/esm/RunDevTools.d.ts.map +1 -0
  139. package/dist/esm/RunDevTools.js +281 -0
  140. package/dist/esm/RunDevTools.js.map +1 -0
  141. package/dist/esm/RunHistory.d.ts +185 -0
  142. package/dist/esm/RunHistory.d.ts.map +1 -0
  143. package/dist/esm/RunHistory.js +109 -0
  144. package/dist/esm/RunHistory.js.map +1 -0
  145. package/dist/esm/RunTrace.d.ts +753 -0
  146. package/dist/esm/RunTrace.d.ts.map +1 -0
  147. package/dist/esm/RunTrace.js +2106 -0
  148. package/dist/esm/RunTrace.js.map +1 -0
  149. package/dist/esm/RuntimeBridge.d.ts +1386 -0
  150. package/dist/esm/RuntimeBridge.d.ts.map +1 -0
  151. package/dist/esm/RuntimeBridge.js +659 -0
  152. package/dist/esm/RuntimeBridge.js.map +1 -0
  153. package/dist/esm/bun/BunGateway.d.ts +20 -0
  154. package/dist/esm/bun/BunGateway.d.ts.map +1 -0
  155. package/dist/esm/bun/BunGateway.js +32 -0
  156. package/dist/esm/bun/BunGateway.js.map +1 -0
  157. package/dist/esm/index.d.ts +65 -0
  158. package/dist/esm/index.d.ts.map +1 -0
  159. package/dist/esm/index.js +65 -0
  160. package/dist/esm/index.js.map +1 -0
  161. package/dist/esm/internal/NativeGateway.d.ts +176 -0
  162. package/dist/esm/internal/NativeGateway.d.ts.map +1 -0
  163. package/dist/esm/internal/NativeGateway.js +268 -0
  164. package/dist/esm/internal/NativeGateway.js.map +1 -0
  165. package/dist/esm/internal/actionRenderings.d.ts +12 -0
  166. package/dist/esm/internal/actionRenderings.d.ts.map +1 -0
  167. package/dist/esm/internal/actionRenderings.js +212 -0
  168. package/dist/esm/internal/actionRenderings.js.map +1 -0
  169. package/dist/esm/internal/callEvents.d.ts +97 -0
  170. package/dist/esm/internal/callEvents.d.ts.map +1 -0
  171. package/dist/esm/internal/callEvents.js +206 -0
  172. package/dist/esm/internal/callEvents.js.map +1 -0
  173. package/dist/esm/internal/digestIndex.d.ts +31 -0
  174. package/dist/esm/internal/digestIndex.d.ts.map +1 -0
  175. package/dist/esm/internal/digestIndex.js +87 -0
  176. package/dist/esm/internal/digestIndex.js.map +1 -0
  177. package/dist/esm/internal/digestMemory.d.ts +19 -0
  178. package/dist/esm/internal/digestMemory.d.ts.map +1 -0
  179. package/dist/esm/internal/digestMemory.js +23 -0
  180. package/dist/esm/internal/digestMemory.js.map +1 -0
  181. package/dist/esm/internal/inspectLabels.d.ts +13 -0
  182. package/dist/esm/internal/inspectLabels.d.ts.map +1 -0
  183. package/dist/esm/internal/inspectLabels.js +17 -0
  184. package/dist/esm/internal/inspectLabels.js.map +1 -0
  185. package/dist/esm/internal/nativeResolution.d.ts +41 -0
  186. package/dist/esm/internal/nativeResolution.d.ts.map +1 -0
  187. package/dist/esm/internal/nativeResolution.js +78 -0
  188. package/dist/esm/internal/nativeResolution.js.map +1 -0
  189. package/dist/esm/internal/nodeEvents.d.ts +47 -0
  190. package/dist/esm/internal/nodeEvents.d.ts.map +1 -0
  191. package/dist/esm/internal/nodeEvents.js +60 -0
  192. package/dist/esm/internal/nodeEvents.js.map +1 -0
  193. package/dist/esm/node/NodeGateway.d.ts +16 -0
  194. package/dist/esm/node/NodeGateway.d.ts.map +1 -0
  195. package/dist/esm/node/NodeGateway.js +13 -0
  196. package/dist/esm/node/NodeGateway.js.map +1 -0
  197. package/dist/vendor/adapters.json +2707 -0
  198. package/dist/vendor/bun/BunChildProcessSpawner.d.ts +7 -0
  199. package/dist/vendor/bun/BunChildProcessSpawner.js +14 -0
  200. package/dist/vendor/bun/BunClusterHttp.d.ts +83 -0
  201. package/dist/vendor/bun/BunClusterHttp.js +39 -0
  202. package/dist/vendor/bun/BunClusterSocket.d.ts +65 -0
  203. package/dist/vendor/bun/BunClusterSocket.js +22 -0
  204. package/dist/vendor/bun/BunCrypto.d.ts +10 -0
  205. package/dist/vendor/bun/BunCrypto.js +8 -0
  206. package/dist/vendor/bun/BunFileSystem.d.ts +10 -0
  207. package/dist/vendor/bun/BunFileSystem.js +9 -0
  208. package/dist/vendor/bun/BunHttpClient.d.ts +9 -0
  209. package/dist/vendor/bun/BunHttpClient.js +1 -0
  210. package/dist/vendor/bun/BunHttpPlatform.d.ts +10 -0
  211. package/dist/vendor/bun/BunHttpPlatform.js +11 -0
  212. package/dist/vendor/bun/BunHttpServer.d.ts +142 -0
  213. package/dist/vendor/bun/BunHttpServer.js +38 -0
  214. package/dist/vendor/bun/BunHttpServerRequest.d.ts +18 -0
  215. package/dist/vendor/bun/BunHttpServerRequest.js +7 -0
  216. package/dist/vendor/bun/BunMultipart.d.ts +31 -0
  217. package/dist/vendor/bun/BunMultipart.js +12 -0
  218. package/dist/vendor/bun/BunPath.d.ts +24 -0
  219. package/dist/vendor/bun/BunPath.js +12 -0
  220. package/dist/vendor/bun/BunRedis.d.ts +49 -0
  221. package/dist/vendor/bun/BunRedis.js +11 -0
  222. package/dist/vendor/bun/BunRuntime.d.ts +85 -0
  223. package/dist/vendor/bun/BunRuntime.js +8 -0
  224. package/dist/vendor/bun/BunServices.d.ts +34 -0
  225. package/dist/vendor/bun/BunServices.js +23 -0
  226. package/dist/vendor/bun/BunSink.d.ts +8 -0
  227. package/dist/vendor/bun/BunSink.js +12 -0
  228. package/dist/vendor/bun/BunSocket.d.ts +40 -0
  229. package/dist/vendor/bun/BunSocket.js +29 -0
  230. package/dist/vendor/bun/BunSocketServer.d.ts +8 -0
  231. package/dist/vendor/bun/BunSocketServer.js +21 -0
  232. package/dist/vendor/bun/BunStdio.d.ts +11 -0
  233. package/dist/vendor/bun/BunStdio.js +10 -0
  234. package/dist/vendor/bun/BunStream.d.ts +19 -0
  235. package/dist/vendor/bun/BunStream.js +30 -0
  236. package/dist/vendor/bun/BunTerminal.d.ts +21 -0
  237. package/dist/vendor/bun/BunTerminal.js +10 -0
  238. package/dist/vendor/bun/BunWorker.d.ts +20 -0
  239. package/dist/vendor/bun/BunWorker.js +9 -0
  240. package/dist/vendor/bun/BunWorkerRunner.d.ts +12 -0
  241. package/dist/vendor/bun/BunWorkerRunner.js +7 -0
  242. package/dist/vendor/bun/LICENSE +21 -0
  243. package/dist/vendor/bun/index.d.ts +92 -0
  244. package/dist/vendor/bun/index.js +107 -0
  245. package/dist/vendor/chunk-2GCOZTTW.js +48 -0
  246. package/dist/vendor/chunk-37CUR3PO.js +81 -0
  247. package/dist/vendor/chunk-3ARKKENZ.js +45 -0
  248. package/dist/vendor/chunk-3NV2UDBI.js +7 -0
  249. package/dist/vendor/chunk-3OSW7CT7.js +143 -0
  250. package/dist/vendor/chunk-62R63L74.js +62 -0
  251. package/dist/vendor/chunk-6AQLBC2I.js +118 -0
  252. package/dist/vendor/chunk-6C5H7S6B.js +18 -0
  253. package/dist/vendor/chunk-6DY5RBZD.js +85 -0
  254. package/dist/vendor/chunk-6UPBD47P.js +53 -0
  255. package/dist/vendor/chunk-AVVVN75Z.js +96 -0
  256. package/dist/vendor/chunk-B4DHEMBB.js +14 -0
  257. package/dist/vendor/chunk-BCK3NJOX.js +15 -0
  258. package/dist/vendor/chunk-BFBIHJ6X.js +0 -0
  259. package/dist/vendor/chunk-CES4OUM4.js +63 -0
  260. package/dist/vendor/chunk-D64L6YND.js +59 -0
  261. package/dist/vendor/chunk-DS2R6WOM.js +18 -0
  262. package/dist/vendor/chunk-DX4Z23DM.js +65 -0
  263. package/dist/vendor/chunk-DZ2VOUDP.js +564 -0
  264. package/dist/vendor/chunk-FOXN6JPJ.js +61 -0
  265. package/dist/vendor/chunk-FPQF7CR5.js +55 -0
  266. package/dist/vendor/chunk-FUTCTCEG.js +20 -0
  267. package/dist/vendor/chunk-GUPAV2YZ.js +18 -0
  268. package/dist/vendor/chunk-H2Z2Y4QH.js +70 -0
  269. package/dist/vendor/chunk-HAEDVSSM.js +129 -0
  270. package/dist/vendor/chunk-HY7BBL3K.js +93 -0
  271. package/dist/vendor/chunk-IFTTT6D5.js +31 -0
  272. package/dist/vendor/chunk-KQDSNB7M.js +26 -0
  273. package/dist/vendor/chunk-LIHLXXGQ.js +26 -0
  274. package/dist/vendor/chunk-LKCGQEE5.js +28 -0
  275. package/dist/vendor/chunk-MH2J3BYB.js +0 -0
  276. package/dist/vendor/chunk-ML2NAFH2.js +131 -0
  277. package/dist/vendor/chunk-MLFIZ5O2.js +0 -0
  278. package/dist/vendor/chunk-MLKGABMK.js +9 -0
  279. package/dist/vendor/chunk-MSCLEMYX.js +71 -0
  280. package/dist/vendor/chunk-OBWXQKVP.js +57 -0
  281. package/dist/vendor/chunk-QR557K66.js +20 -0
  282. package/dist/vendor/chunk-R4QUY7DH.js +18 -0
  283. package/dist/vendor/chunk-RGECXXJS.js +18 -0
  284. package/dist/vendor/chunk-TFY7W6D4.js +36 -0
  285. package/dist/vendor/chunk-TGPIVY4A.js +104 -0
  286. package/dist/vendor/chunk-TGXCX6W3.js +398 -0
  287. package/dist/vendor/chunk-TOHSFXMV.js +437 -0
  288. package/dist/vendor/chunk-UHIDPUFF.js +34 -0
  289. package/dist/vendor/chunk-ULT6CWUI.js +109 -0
  290. package/dist/vendor/chunk-UXBGYQR3.js +18 -0
  291. package/dist/vendor/chunk-V6LUGQ7O.js +21 -0
  292. package/dist/vendor/chunk-W4OASVX6.js +92 -0
  293. package/dist/vendor/chunk-WAII54GA.js +18 -0
  294. package/dist/vendor/chunk-WECQDT36.js +426 -0
  295. package/dist/vendor/chunk-WHKMOC7Z.js +28 -0
  296. package/dist/vendor/chunk-WVFOZ2UL.js +40 -0
  297. package/dist/vendor/chunk-X73E2UPI.js +18 -0
  298. package/dist/vendor/chunk-XCYARUII.js +63 -0
  299. package/dist/vendor/chunk-XFEVTDVD.js +34 -0
  300. package/dist/vendor/chunk-XFZZYSJ4.js +22 -0
  301. package/dist/vendor/chunk-XJWJXLXJ.js +18 -0
  302. package/dist/vendor/chunk-XY3Q62EO.js +18 -0
  303. package/dist/vendor/chunk-YDASSC75.js +394 -0
  304. package/dist/vendor/chunk-Z6C7SO5Z.js +507 -0
  305. package/dist/vendor/chunk-Z7QNPJEB.js +229 -0
  306. package/dist/vendor/chunk-Z7QPP4YH.js +249 -0
  307. package/dist/vendor/chunk-ZCHYLHJH.js +86 -0
  308. package/dist/vendor/chunk-ZIQVYVMA.js +22 -0
  309. package/dist/vendor/chunk-ZPIG2CUA.js +34 -0
  310. package/dist/vendor/cjs/bun/BunChildProcessSpawner.d.ts +7 -0
  311. package/dist/vendor/cjs/bun/BunChildProcessSpawner.js +1 -0
  312. package/dist/vendor/cjs/bun/BunClusterHttp.d.ts +83 -0
  313. package/dist/vendor/cjs/bun/BunClusterHttp.js +1 -0
  314. package/dist/vendor/cjs/bun/BunClusterSocket.d.ts +65 -0
  315. package/dist/vendor/cjs/bun/BunClusterSocket.js +1 -0
  316. package/dist/vendor/cjs/bun/BunCrypto.d.ts +10 -0
  317. package/dist/vendor/cjs/bun/BunCrypto.js +1 -0
  318. package/dist/vendor/cjs/bun/BunFileSystem.d.ts +10 -0
  319. package/dist/vendor/cjs/bun/BunFileSystem.js +1 -0
  320. package/dist/vendor/cjs/bun/BunHttpClient.d.ts +9 -0
  321. package/dist/vendor/cjs/bun/BunHttpClient.js +1 -0
  322. package/dist/vendor/cjs/bun/BunHttpPlatform.d.ts +10 -0
  323. package/dist/vendor/cjs/bun/BunHttpPlatform.js +1 -0
  324. package/dist/vendor/cjs/bun/BunHttpServer.d.ts +142 -0
  325. package/dist/vendor/cjs/bun/BunHttpServer.js +1 -0
  326. package/dist/vendor/cjs/bun/BunHttpServerRequest.d.ts +18 -0
  327. package/dist/vendor/cjs/bun/BunHttpServerRequest.js +1 -0
  328. package/dist/vendor/cjs/bun/BunMultipart.d.ts +31 -0
  329. package/dist/vendor/cjs/bun/BunMultipart.js +1 -0
  330. package/dist/vendor/cjs/bun/BunPath.d.ts +24 -0
  331. package/dist/vendor/cjs/bun/BunPath.js +1 -0
  332. package/dist/vendor/cjs/bun/BunRedis.d.ts +49 -0
  333. package/dist/vendor/cjs/bun/BunRedis.js +1 -0
  334. package/dist/vendor/cjs/bun/BunRuntime.d.ts +85 -0
  335. package/dist/vendor/cjs/bun/BunRuntime.js +1 -0
  336. package/dist/vendor/cjs/bun/BunServices.d.ts +34 -0
  337. package/dist/vendor/cjs/bun/BunServices.js +1 -0
  338. package/dist/vendor/cjs/bun/BunSink.d.ts +8 -0
  339. package/dist/vendor/cjs/bun/BunSink.js +1 -0
  340. package/dist/vendor/cjs/bun/BunSocket.d.ts +40 -0
  341. package/dist/vendor/cjs/bun/BunSocket.js +1 -0
  342. package/dist/vendor/cjs/bun/BunSocketServer.d.ts +8 -0
  343. package/dist/vendor/cjs/bun/BunSocketServer.js +1 -0
  344. package/dist/vendor/cjs/bun/BunStdio.d.ts +11 -0
  345. package/dist/vendor/cjs/bun/BunStdio.js +1 -0
  346. package/dist/vendor/cjs/bun/BunStream.d.ts +19 -0
  347. package/dist/vendor/cjs/bun/BunStream.js +1 -0
  348. package/dist/vendor/cjs/bun/BunTerminal.d.ts +21 -0
  349. package/dist/vendor/cjs/bun/BunTerminal.js +1 -0
  350. package/dist/vendor/cjs/bun/BunWorker.d.ts +20 -0
  351. package/dist/vendor/cjs/bun/BunWorker.js +1 -0
  352. package/dist/vendor/cjs/bun/BunWorkerRunner.d.ts +12 -0
  353. package/dist/vendor/cjs/bun/BunWorkerRunner.js +1 -0
  354. package/dist/vendor/cjs/bun/index.d.ts +92 -0
  355. package/dist/vendor/cjs/bun/index.js +1 -0
  356. package/dist/vendor/cjs/node/NodeChildProcessSpawner.d.ts +7 -0
  357. package/dist/vendor/cjs/node/NodeChildProcessSpawner.js +1 -0
  358. package/dist/vendor/cjs/node/NodeClusterHttp.d.ts +63 -0
  359. package/dist/vendor/cjs/node/NodeClusterHttp.js +1 -0
  360. package/dist/vendor/cjs/node/NodeClusterSocket.d.ts +79 -0
  361. package/dist/vendor/cjs/node/NodeClusterSocket.js +1 -0
  362. package/dist/vendor/cjs/node/NodeCrypto.d.ts +10 -0
  363. package/dist/vendor/cjs/node/NodeCrypto.js +1 -0
  364. package/dist/vendor/cjs/node/NodeFileSystem.d.ts +10 -0
  365. package/dist/vendor/cjs/node/NodeFileSystem.js +1 -0
  366. package/dist/vendor/cjs/node/NodeHttpClient.d.ts +179 -0
  367. package/dist/vendor/cjs/node/NodeHttpClient.js +1 -0
  368. package/dist/vendor/cjs/node/NodeHttpIncomingMessage.d.ts +62 -0
  369. package/dist/vendor/cjs/node/NodeHttpIncomingMessage.js +1 -0
  370. package/dist/vendor/cjs/node/NodeHttpPlatform.d.ts +36 -0
  371. package/dist/vendor/cjs/node/NodeHttpPlatform.js +1 -0
  372. package/dist/vendor/cjs/node/NodeHttpServer.d.ts +120 -0
  373. package/dist/vendor/cjs/node/NodeHttpServer.js +1 -0
  374. package/dist/vendor/cjs/node/NodeHttpServerRequest.d.ts +29 -0
  375. package/dist/vendor/cjs/node/NodeHttpServerRequest.js +1 -0
  376. package/dist/vendor/cjs/node/NodeMultipart.d.ts +46 -0
  377. package/dist/vendor/cjs/node/NodeMultipart.js +1 -0
  378. package/dist/vendor/cjs/node/NodeMultipartParser.d.ts +97 -0
  379. package/dist/vendor/cjs/node/NodeMultipartParser.js +1 -0
  380. package/dist/vendor/cjs/node/NodePath.d.ts +27 -0
  381. package/dist/vendor/cjs/node/NodePath.js +1 -0
  382. package/dist/vendor/cjs/node/NodeRedis.d.ts +74 -0
  383. package/dist/vendor/cjs/node/NodeRedis.js +1 -0
  384. package/dist/vendor/cjs/node/NodeRuntime.d.ts +85 -0
  385. package/dist/vendor/cjs/node/NodeRuntime.js +1 -0
  386. package/dist/vendor/cjs/node/NodeServices.d.ts +34 -0
  387. package/dist/vendor/cjs/node/NodeServices.js +1 -0
  388. package/dist/vendor/cjs/node/NodeSink.d.ts +8 -0
  389. package/dist/vendor/cjs/node/NodeSink.js +1 -0
  390. package/dist/vendor/cjs/node/NodeSocket.d.ts +38 -0
  391. package/dist/vendor/cjs/node/NodeSocket.js +1 -0
  392. package/dist/vendor/cjs/node/NodeSocketServer.d.ts +8 -0
  393. package/dist/vendor/cjs/node/NodeSocketServer.js +1 -0
  394. package/dist/vendor/cjs/node/NodeStdio.d.ts +11 -0
  395. package/dist/vendor/cjs/node/NodeStdio.js +1 -0
  396. package/dist/vendor/cjs/node/NodeStream.d.ts +8 -0
  397. package/dist/vendor/cjs/node/NodeStream.js +1 -0
  398. package/dist/vendor/cjs/node/NodeTerminal.d.ts +21 -0
  399. package/dist/vendor/cjs/node/NodeTerminal.js +1 -0
  400. package/dist/vendor/cjs/node/NodeWorker.d.ts +22 -0
  401. package/dist/vendor/cjs/node/NodeWorker.js +1 -0
  402. package/dist/vendor/cjs/node/NodeWorkerRunner.d.ts +12 -0
  403. package/dist/vendor/cjs/node/NodeWorkerRunner.js +1 -0
  404. package/dist/vendor/cjs/node/Undici.d.ts +28 -0
  405. package/dist/vendor/cjs/node/Undici.js +1 -0
  406. package/dist/vendor/cjs/node/index.d.ts +100 -0
  407. package/dist/vendor/cjs/node/index.js +1 -0
  408. package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.d.ts +57 -0
  409. package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.js +1 -0
  410. package/dist/vendor/cjs/node-shared/NodeClusterSocket.d.ts +22 -0
  411. package/dist/vendor/cjs/node-shared/NodeClusterSocket.js +1 -0
  412. package/dist/vendor/cjs/node-shared/NodeCrypto.d.ts +27 -0
  413. package/dist/vendor/cjs/node-shared/NodeCrypto.js +1 -0
  414. package/dist/vendor/cjs/node-shared/NodeFileSystem.d.ts +11 -0
  415. package/dist/vendor/cjs/node-shared/NodeFileSystem.js +1 -0
  416. package/dist/vendor/cjs/node-shared/NodeHttpCompression.d.ts +36 -0
  417. package/dist/vendor/cjs/node-shared/NodeHttpCompression.js +1 -0
  418. package/dist/vendor/cjs/node-shared/NodePath.d.ts +27 -0
  419. package/dist/vendor/cjs/node-shared/NodePath.js +1 -0
  420. package/dist/vendor/cjs/node-shared/NodeRuntime.d.ts +47 -0
  421. package/dist/vendor/cjs/node-shared/NodeRuntime.js +1 -0
  422. package/dist/vendor/cjs/node-shared/NodeSink.d.ts +69 -0
  423. package/dist/vendor/cjs/node-shared/NodeSink.js +1 -0
  424. package/dist/vendor/cjs/node-shared/NodeSocket.d.ts +134 -0
  425. package/dist/vendor/cjs/node-shared/NodeSocket.js +1 -0
  426. package/dist/vendor/cjs/node-shared/NodeSocketServer.d.ts +80 -0
  427. package/dist/vendor/cjs/node-shared/NodeSocketServer.js +1 -0
  428. package/dist/vendor/cjs/node-shared/NodeStdio.d.ts +12 -0
  429. package/dist/vendor/cjs/node-shared/NodeStdio.js +1 -0
  430. package/dist/vendor/cjs/node-shared/NodeStream.d.ts +179 -0
  431. package/dist/vendor/cjs/node-shared/NodeStream.js +1 -0
  432. package/dist/vendor/cjs/node-shared/NodeTerminal.d.ts +22 -0
  433. package/dist/vendor/cjs/node-shared/NodeTerminal.js +1 -0
  434. package/dist/vendor/cjs/node-shared/index.d.ts +56 -0
  435. package/dist/vendor/cjs/node-shared/index.js +1 -0
  436. package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
  437. package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.js +1 -0
  438. package/dist/vendor/cjs/node-shared/internal/utils.d.ts +2 -0
  439. package/dist/vendor/cjs/node-shared/internal/utils.js +1 -0
  440. package/dist/vendor/cjs/package.json +1 -0
  441. package/dist/vendor/cjs/platform-bun.d.ts +92 -0
  442. package/dist/vendor/cjs/platform-bun.js +1 -0
  443. package/dist/vendor/cjs/platform-node-shared.d.ts +56 -0
  444. package/dist/vendor/cjs/platform-node-shared.js +1 -0
  445. package/dist/vendor/cjs/platform-node.d.ts +100 -0
  446. package/dist/vendor/cjs/platform-node.js +1 -0
  447. package/dist/vendor/node/LICENSE +21 -0
  448. package/dist/vendor/node/NodeChildProcessSpawner.d.ts +7 -0
  449. package/dist/vendor/node/NodeChildProcessSpawner.js +14 -0
  450. package/dist/vendor/node/NodeClusterHttp.d.ts +63 -0
  451. package/dist/vendor/node/NodeClusterHttp.js +43 -0
  452. package/dist/vendor/node/NodeClusterSocket.d.ts +79 -0
  453. package/dist/vendor/node/NodeClusterSocket.js +30 -0
  454. package/dist/vendor/node/NodeCrypto.d.ts +10 -0
  455. package/dist/vendor/node/NodeCrypto.js +8 -0
  456. package/dist/vendor/node/NodeFileSystem.d.ts +10 -0
  457. package/dist/vendor/node/NodeFileSystem.js +9 -0
  458. package/dist/vendor/node/NodeHttpClient.d.ts +179 -0
  459. package/dist/vendor/node/NodeHttpClient.js +46 -0
  460. package/dist/vendor/node/NodeHttpIncomingMessage.d.ts +62 -0
  461. package/dist/vendor/node/NodeHttpIncomingMessage.js +10 -0
  462. package/dist/vendor/node/NodeHttpPlatform.d.ts +36 -0
  463. package/dist/vendor/node/NodeHttpPlatform.js +16 -0
  464. package/dist/vendor/node/NodeHttpServer.d.ts +120 -0
  465. package/dist/vendor/node/NodeHttpServer.js +46 -0
  466. package/dist/vendor/node/NodeHttpServerRequest.d.ts +29 -0
  467. package/dist/vendor/node/NodeHttpServerRequest.js +9 -0
  468. package/dist/vendor/node/NodeMultipart.d.ts +46 -0
  469. package/dist/vendor/node/NodeMultipart.js +15 -0
  470. package/dist/vendor/node/NodeMultipartParser.d.ts +97 -0
  471. package/dist/vendor/node/NodeMultipartParser.js +11 -0
  472. package/dist/vendor/node/NodePath.d.ts +27 -0
  473. package/dist/vendor/node/NodePath.js +12 -0
  474. package/dist/vendor/node/NodeRedis.d.ts +74 -0
  475. package/dist/vendor/node/NodeRedis.js +11 -0
  476. package/dist/vendor/node/NodeRuntime.d.ts +85 -0
  477. package/dist/vendor/node/NodeRuntime.js +8 -0
  478. package/dist/vendor/node/NodeServices.d.ts +34 -0
  479. package/dist/vendor/node/NodeServices.js +23 -0
  480. package/dist/vendor/node/NodeSink.d.ts +8 -0
  481. package/dist/vendor/node/NodeSink.js +12 -0
  482. package/dist/vendor/node/NodeSocket.d.ts +38 -0
  483. package/dist/vendor/node/NodeSocket.js +31 -0
  484. package/dist/vendor/node/NodeSocketServer.d.ts +8 -0
  485. package/dist/vendor/node/NodeSocketServer.js +21 -0
  486. package/dist/vendor/node/NodeStdio.d.ts +11 -0
  487. package/dist/vendor/node/NodeStdio.js +10 -0
  488. package/dist/vendor/node/NodeStream.d.ts +8 -0
  489. package/dist/vendor/node/NodeStream.js +27 -0
  490. package/dist/vendor/node/NodeTerminal.d.ts +21 -0
  491. package/dist/vendor/node/NodeTerminal.js +10 -0
  492. package/dist/vendor/node/NodeWorker.d.ts +22 -0
  493. package/dist/vendor/node/NodeWorker.js +9 -0
  494. package/dist/vendor/node/NodeWorkerRunner.d.ts +12 -0
  495. package/dist/vendor/node/NodeWorkerRunner.js +7 -0
  496. package/dist/vendor/node/Undici.d.ts +28 -0
  497. package/dist/vendor/node/Undici.js +9 -0
  498. package/dist/vendor/node/index.d.ts +100 -0
  499. package/dist/vendor/node/index.js +115 -0
  500. package/dist/vendor/node-shared/LICENSE +21 -0
  501. package/dist/vendor/node-shared/NodeChildProcessSpawner.d.ts +57 -0
  502. package/dist/vendor/node-shared/NodeChildProcessSpawner.js +13 -0
  503. package/dist/vendor/node-shared/NodeClusterSocket.d.ts +22 -0
  504. package/dist/vendor/node-shared/NodeClusterSocket.js +11 -0
  505. package/dist/vendor/node-shared/NodeCrypto.d.ts +27 -0
  506. package/dist/vendor/node-shared/NodeCrypto.js +9 -0
  507. package/dist/vendor/node-shared/NodeFileSystem.d.ts +11 -0
  508. package/dist/vendor/node-shared/NodeFileSystem.js +8 -0
  509. package/dist/vendor/node-shared/NodeHttpCompression.d.ts +36 -0
  510. package/dist/vendor/node-shared/NodeHttpCompression.js +13 -0
  511. package/dist/vendor/node-shared/NodePath.d.ts +27 -0
  512. package/dist/vendor/node-shared/NodePath.js +11 -0
  513. package/dist/vendor/node-shared/NodeRuntime.d.ts +47 -0
  514. package/dist/vendor/node-shared/NodeRuntime.js +7 -0
  515. package/dist/vendor/node-shared/NodeSink.d.ts +69 -0
  516. package/dist/vendor/node-shared/NodeSink.js +11 -0
  517. package/dist/vendor/node-shared/NodeSocket.d.ts +134 -0
  518. package/dist/vendor/node-shared/NodeSocket.js +23 -0
  519. package/dist/vendor/node-shared/NodeSocketServer.d.ts +80 -0
  520. package/dist/vendor/node-shared/NodeSocketServer.js +20 -0
  521. package/dist/vendor/node-shared/NodeStdio.d.ts +12 -0
  522. package/dist/vendor/node-shared/NodeStdio.js +9 -0
  523. package/dist/vendor/node-shared/NodeStream.d.ts +179 -0
  524. package/dist/vendor/node-shared/NodeStream.js +26 -0
  525. package/dist/vendor/node-shared/NodeTerminal.d.ts +22 -0
  526. package/dist/vendor/node-shared/NodeTerminal.js +9 -0
  527. package/dist/vendor/node-shared/index.d.ts +56 -0
  528. package/dist/vendor/node-shared/index.js +58 -0
  529. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
  530. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.js +7 -0
  531. package/dist/vendor/node-shared/internal/utils.d.ts +2 -0
  532. package/dist/vendor/node-shared/internal/utils.js +7 -0
  533. package/dist/vendor/platform-bun.d.ts +92 -0
  534. package/dist/vendor/platform-bun.js +107 -0
  535. package/dist/vendor/platform-node-shared.d.ts +56 -0
  536. package/dist/vendor/platform-node-shared.js +58 -0
  537. package/dist/vendor/platform-node.d.ts +100 -0
  538. package/dist/vendor/platform-node.js +115 -0
  539. package/docs/README.md +158 -0
  540. package/docs/api.md +601 -0
  541. package/docs/concepts/projections.md +250 -0
  542. package/docs/concepts/subscriptions.md +204 -0
  543. package/docs/concepts/trust-boundary.md +256 -0
  544. package/docs/guides/diagnose-a-run.md +115 -0
  545. package/docs/guides/follow-a-run.md +150 -0
  546. package/docs/guides/host-the-gateway.md +153 -0
  547. package/docs/guides/read-a-projection.md +138 -0
  548. package/docs/guides/serve-beyond-loopback.md +166 -0
  549. package/docs/guides/submit-an-approval.md +187 -0
  550. package/docs/guides/testing.md +148 -0
  551. package/docs/installation.md +89 -0
  552. package/docs/quickstart.md +200 -0
  553. package/docs/troubleshooting.md +355 -0
  554. package/package.json +264 -32
  555. package/src/Diagnosis.ts +892 -0
  556. package/src/EngineTrace.ts +627 -0
  557. package/src/GatewayError.ts +71 -0
  558. package/src/GatewayProjection.ts +959 -0
  559. package/src/GatewayRpcs.ts +179 -0
  560. package/src/GatewaySchema.ts +516 -0
  561. package/src/GatewayServer.ts +932 -0
  562. package/src/HostBranchPresence.ts +76 -0
  563. package/src/Projections.ts +1735 -0
  564. package/src/RunDevTools.ts +394 -0
  565. package/src/RunHistory.ts +174 -0
  566. package/src/RunTrace.ts +2796 -0
  567. package/src/RuntimeBridge.ts +835 -0
  568. package/src/bun/BunGateway.ts +52 -0
  569. package/src/index.ts +77 -0
  570. package/src/internal/NativeGateway.ts +360 -0
  571. package/src/internal/actionRenderings.ts +212 -0
  572. package/src/internal/callEvents.ts +257 -0
  573. package/src/internal/digestIndex.ts +134 -0
  574. package/src/internal/digestMemory.ts +27 -0
  575. package/src/internal/inspectLabels.ts +18 -0
  576. package/src/internal/nativeResolution.ts +103 -0
  577. package/src/internal/nodeEvents.ts +100 -0
  578. package/src/node/NodeGateway.ts +30 -0
  579. package/openapi.yaml +0 -29945
  580. package/src/README.md +0 -39
  581. package/src/api/README.md +0 -23
  582. package/src/api/apiCollectionNames.js +0 -10
  583. package/src/api/index.d.ts +0 -126
  584. package/src/api/index.js +0 -14
  585. package/src/api/normalizeApiRow.js +0 -36
  586. package/src/api/serializeAccountRow.js +0 -10
  587. package/src/api/serializeApprovalRow.js +0 -53
  588. package/src/api/serializeComparisonScoreRow.js +0 -18
  589. package/src/api/serializeCronRow.js +0 -30
  590. package/src/api/serializeDocRow.js +0 -20
  591. package/src/api/serializeMemoryFactRow.js +0 -21
  592. package/src/api/serializePromptRow.js +0 -10
  593. package/src/api/serializeRunEventRow.js +0 -28
  594. package/src/api/serializeRunRow.js +0 -93
  595. package/src/api/serializeScoreDetailRow.js +0 -25
  596. package/src/api/serializeScoreRow.js +0 -26
  597. package/src/api/serializeTicketRow.js +0 -20
  598. package/src/api/serializeWorkflowRow.js +0 -10
  599. package/src/auth/scopes.d.ts +0 -19
  600. package/src/auth/scopes.js +0 -164
  601. package/src/index.d.ts +0 -316
  602. package/src/index.js +0 -108
  603. package/src/rpc/gatewayRpcTypes.ts +0 -186
  604. package/src/rpc/index.d.ts +0 -223
  605. package/src/rpc/index.js +0 -2527
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeBridge.d.ts","sourceRoot":"","sources":["../../src/RuntimeBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,659 @@
1
+ /**
2
+ * Versioned JSON boundary between the Go product backend and the canonical
3
+ * TypeScript Flow/Control host.
4
+ *
5
+ * This module adapts HTTP-shaped commands to `Control`. It owns no graph,
6
+ * scheduler, journal, or lifecycle state of its own.
7
+ *
8
+ * @since 1.0.0
9
+ */
10
+ import { Control } from "@smthrs/control/Control";
11
+ import * as ControlError from "@smthrs/control/ControlError";
12
+ import { ControlExecutor } from "@smthrs/control/ControlExecutor";
13
+ import { ApprovalPayload, ControlEvent, MessageSteer, Receipt, RunSummary, SignalPayload } from "@smthrs/control/ControlSchema";
14
+ import * as Fault from "@smthrs/flow/Fault";
15
+ import { Effect, Layer, Schema, Stream } from "effect";
16
+ import { HttpRouter, HttpServerRequest, HttpServerResponse } from "effect/unstable/http";
17
+ import { RunSummaryRow } from "./GatewayProjection.js";
18
+ import * as Projections from "./Projections.js";
19
+ import { monitorFromJournal } from "./RunTrace.js";
20
+ /**
21
+ * The only protocol version accepted by this host.
22
+ * @since 1.0.0
23
+ * @category constants
24
+ */
25
+ export const protocol = "smithers.flow-runtime/v1";
26
+ const Sha256 = Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/));
27
+ const SourceRevision = Schema.String.check(Schema.isPattern(/^[0-9a-f]{40}$/));
28
+ const PositiveSafeInteger = Schema.Int.check(Schema.isGreaterThan(0), Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER));
29
+ const RequestId = Schema.NonEmptyString.check(Schema.isMaxLength(1024));
30
+ // A decimal consumes a whole journal entry. v1 preserves an expansion offset;
31
+ // the empty seed consumes nothing, including sequence zero.
32
+ const observationCursorPattern = /^(?:(0|[1-9][0-9]*)|v1:(0|[1-9][0-9]*):(0|[1-9][0-9]*))?(?![\s\S])/;
33
+ /**
34
+ * Non-secret identity published by readiness for startup compatibility.
35
+ * @since 1.0.0
36
+ * @category models
37
+ */
38
+ export const Identity = Schema.Struct({
39
+ protocol: Schema.Literal(protocol),
40
+ runtimeArtifactDigest: Sha256,
41
+ sourceRevision: SourceRevision,
42
+ ownerGeneration: PositiveSafeInteger
43
+ });
44
+ const common = {
45
+ protocol: Schema.Literal(protocol),
46
+ applicationRequestId: RequestId,
47
+ ownerGeneration: PositiveSafeInteger
48
+ };
49
+ // The version a launch must run: a flow, the source commit it was chosen
50
+ // from and that flow's execution digest. A pinned launch runs only a plan
51
+ // with that exact identity.
52
+ const LaunchPin = Schema.Struct({
53
+ flow: Schema.NonEmptyString,
54
+ sourceCommit: SourceRevision,
55
+ executionDigest: Sha256
56
+ });
57
+ /**
58
+ * Launches one immutable named flow. Planning and running stay in Control.
59
+ * @since 1.0.0
60
+ * @category models
61
+ */
62
+ export const LaunchCommand = Schema.Struct({
63
+ ...common,
64
+ operation: Schema.Literal("launch"),
65
+ attempt: PositiveSafeInteger,
66
+ runId: Schema.optional(Schema.NonEmptyString),
67
+ runtimeArtifactDigest: Sha256,
68
+ sourceRevision: SourceRevision,
69
+ flowId: Schema.NonEmptyString,
70
+ payload: Schema.Json,
71
+ pin: Schema.optional(LaunchPin)
72
+ });
73
+ /**
74
+ * Submits an approval or denial payload produced by the same Control host.
75
+ * @since 1.0.0
76
+ * @category models
77
+ */
78
+ export const DecisionCommand = Schema.Struct({
79
+ ...common,
80
+ operation: Schema.Literals(["approve", "deny"]),
81
+ approval: ApprovalPayload
82
+ });
83
+ /**
84
+ * Delivers one durable named signal.
85
+ * @since 1.0.0
86
+ * @category models
87
+ */
88
+ export const SignalCommand = Schema.Struct({
89
+ ...common,
90
+ operation: Schema.Literal("signal"),
91
+ runId: Schema.NonEmptyString,
92
+ signal: SignalPayload
93
+ });
94
+ const Steer = Schema.Union([
95
+ Schema.Struct({ kind: Schema.Literal("Message"), body: Schema.String }),
96
+ Schema.Struct({ kind: Schema.Literal("Seat"), seat: Schema.NonEmptyString }),
97
+ Schema.Struct({
98
+ kind: Schema.Literal("Thinking"),
99
+ thinking: Schema.Literals(["none", "minimal", "low", "medium", "high", "xhigh"])
100
+ }),
101
+ Schema.Struct({ kind: Schema.Literal("Tools"), toolNames: Schema.NonEmptyArray(Schema.NonEmptyString) })
102
+ ]);
103
+ /**
104
+ * Enqueues one steer for the runtime's next turn boundary.
105
+ * @since 1.0.0
106
+ * @category models
107
+ */
108
+ export const SteerCommand = Schema.Struct({
109
+ version: Schema.optional(Schema.Number),
110
+ ...common,
111
+ operation: Schema.Literal("steer"),
112
+ runId: Schema.NonEmptyString,
113
+ messageId: Schema.NonEmptyString,
114
+ createdAt: Schema.Number,
115
+ attribution: MessageSteer.fields.attribution,
116
+ steer: Steer
117
+ });
118
+ /**
119
+ * Requests cancellation, explicit resume, or completion of a retained run.
120
+ * @since 1.0.0
121
+ * @category models
122
+ */
123
+ export const LifecycleCommand = Schema.Struct({
124
+ ...common,
125
+ /** Completion is a host-only lifecycle operation. @since 1.0.0 */
126
+ operation: Schema.Literals(["cancel", "resume", "complete"]),
127
+ runId: Schema.NonEmptyString,
128
+ reason: Schema.optional(Schema.String)
129
+ });
130
+ /**
131
+ * Every mutating operation accepted by the bridge.
132
+ * @since 1.0.0
133
+ * @category models
134
+ */
135
+ export const Command = Schema.Union([
136
+ LaunchCommand,
137
+ DecisionCommand,
138
+ SignalCommand,
139
+ SteerCommand,
140
+ LifecycleCommand
141
+ ]);
142
+ /**
143
+ * A bounded, reconnectable read of one canonical runtime execution.
144
+ * @since 1.0.0
145
+ * @category models
146
+ */
147
+ export const ObserveRequest = Schema.Struct({
148
+ protocol: Schema.Literal(protocol),
149
+ runId: Schema.NonEmptyString,
150
+ afterCursor: Schema.optional(Schema.String.check(Schema.isPattern(observationCursorPattern))),
151
+ limit: Schema.optional(PositiveSafeInteger)
152
+ });
153
+ /**
154
+ * A process result recorded by installed host equipment, never by a flow result.
155
+ * @since 1.0.0
156
+ * @category models
157
+ */
158
+ export const CommandReceipt = Schema.Struct({
159
+ runId: Schema.NonEmptyString,
160
+ operationId: Schema.NonEmptyString,
161
+ status: Schema.Literals(["running", "completed"]),
162
+ argv: Schema.NonEmptyArray(Schema.String),
163
+ exitCode: Schema.optionalKey(Schema.Int),
164
+ stderr: Schema.optionalKey(Schema.String),
165
+ fault: Schema.optionalKey(Schema.Literals(["factory", "infra"]))
166
+ });
167
+ /**
168
+ * Stable bridge-only failures. Control failures retain their own code.
169
+ * @since 1.0.0
170
+ * @category errors
171
+ */
172
+ export class BridgeError extends Schema.TaggedError()("@smthrs/gateway/RuntimeBridgeError", {
173
+ code: Schema.Literals([
174
+ "invalid_request",
175
+ "artifact_mismatch",
176
+ "source_mismatch",
177
+ "stale_owner",
178
+ "run_not_found",
179
+ "resource_limit",
180
+ "unavailable",
181
+ "internal"
182
+ ]),
183
+ message: Schema.String,
184
+ retryable: Schema.Boolean
185
+ }) {
186
+ }
187
+ const decodeCommand = Schema.decodeUnknownEffect(Command);
188
+ const decodeObserve = Schema.decodeUnknownEffect(ObserveRequest);
189
+ const terminal = new Set(["completed", "failed", "cancelled"]);
190
+ const retryableCodes = new Set(["transport_error", "unavailable", "persistence_failed", "launch_failed"]);
191
+ const notFoundCodes = new Set(["run_not_found", "flow_not_found", "plan_not_found"]);
192
+ const conflictCodes = new Set(["stale_owner", "artifact_mismatch", "source_mismatch", "conflict"]);
193
+ const defaultEventLimit = 250;
194
+ const maximumEventLimit = 1_000;
195
+ // Host generation fences who may execute a delivery, but it is not part of
196
+ // the durable product request identity. A replacement owner must reconcile a
197
+ // lost acknowledgement against the same Control command keys.
198
+ const idempotencyKey = (input, suffix) => `bridge:v1:${input.applicationRequestId}:${suffix}`;
199
+ const validateOwner = (config, input) => input.ownerGeneration === config.ownerGeneration
200
+ ? Effect.void
201
+ : Effect.fail(new BridgeError({ code: "stale_owner", message: "Runtime owner generation is stale", retryable: true }));
202
+ /**
203
+ * Executes one decoded command exclusively through the canonical Control API.
204
+ * @since 1.0.0
205
+ * @category constructors
206
+ */
207
+ export const execute = (config, control, principal, input) => Effect.gen(function* () {
208
+ yield* validateOwner(config, input);
209
+ switch (input.operation) {
210
+ case "launch": {
211
+ if (input.runtimeArtifactDigest !== config.runtimeArtifactDigest) {
212
+ return yield* Effect.fail(new BridgeError({
213
+ code: "artifact_mismatch",
214
+ message: "Runtime artifact digest does not match the owning host",
215
+ retryable: false
216
+ }));
217
+ }
218
+ if (input.sourceRevision !== config.sourceRevision) {
219
+ return yield* Effect.fail(new BridgeError({
220
+ code: "source_mismatch",
221
+ message: "Flow source revision does not match the owning host",
222
+ retryable: false
223
+ }));
224
+ }
225
+ // Every launch of a pinned attempt (its composition and the engine's
226
+ // launches) runs from the pinned source commit: a host serving any
227
+ // other source refuses before planning imports anything.
228
+ if (input.pin !== undefined && input.pin.sourceCommit !== config.sourceRevision) {
229
+ return yield* Effect.fail(new BridgeError({
230
+ code: "source_mismatch",
231
+ message: "Flow source revision does not match the pinned launch",
232
+ retryable: false
233
+ }));
234
+ }
235
+ const plan = yield* control.plan({
236
+ flowId: input.flowId,
237
+ input: input.payload,
238
+ idempotencyKey: idempotencyKey(input, "plan")
239
+ });
240
+ // Graphs are optional for valid Flow declarations. Only a verified
241
+ // native catalog snapshot can supply the missing provenance; the
242
+ // configured/wire identity by itself cannot stand in for that proof.
243
+ const plannedSource = plan.graph?.sourceRevision ?? config.verifiedCatalogSourceRevision;
244
+ if (plannedSource !== input.sourceRevision) {
245
+ return yield* Effect.fail(new BridgeError({
246
+ code: "source_mismatch",
247
+ message: "Flow source revision does not match the immutable request",
248
+ retryable: false
249
+ }));
250
+ }
251
+ // A pinned launch runs nothing but its pin: a plan with no execution
252
+ // identity, or the pinned flow planned as other code, never starts.
253
+ if (input.pin !== undefined &&
254
+ (plan.executionDigest === undefined ||
255
+ (input.pin.flow === input.flowId && plan.executionDigest !== input.pin.executionDigest))) {
256
+ return yield* Effect.fail(new BridgeError({
257
+ code: "source_mismatch",
258
+ message: "Flow execution digest does not match the pinned launch",
259
+ retryable: false
260
+ }));
261
+ }
262
+ const receipt = yield* control.run({
263
+ _tag: "Plan",
264
+ planId: plan.planId,
265
+ digest: plan.digest,
266
+ envelope: plan.envelope,
267
+ idempotencyKey: idempotencyKey(input, `run:${input.runId ?? input.attempt}`),
268
+ principal,
269
+ ...(input.runId === undefined ? {} : { reservedRunId: input.runId })
270
+ });
271
+ return {
272
+ operation: input.operation,
273
+ applicationRequestId: input.applicationRequestId,
274
+ ownerGeneration: input.ownerGeneration,
275
+ runtimeArtifactDigest: config.runtimeArtifactDigest,
276
+ sourceRevision: input.sourceRevision,
277
+ planId: plan.planId,
278
+ planDigest: plan.digest,
279
+ ...(plan.executionDigest === undefined ? {} : { executionDigest: plan.executionDigest }),
280
+ envelope: plan.envelope,
281
+ approval: plan.approval,
282
+ receipt
283
+ };
284
+ }
285
+ case "approve":
286
+ case "deny": {
287
+ const request = {
288
+ ...input.approval,
289
+ idempotencyKey: idempotencyKey(input, input.operation),
290
+ principal
291
+ };
292
+ const receipt = yield* input.operation === "approve" ? control.approve(request) : control.deny(request);
293
+ return { operation: input.operation, applicationRequestId: input.applicationRequestId, receipt };
294
+ }
295
+ case "signal": {
296
+ const receipt = yield* control.signal({
297
+ runId: input.runId,
298
+ signal: input.signal,
299
+ idempotencyKey: idempotencyKey(input, "signal"),
300
+ principal
301
+ });
302
+ return { operation: input.operation, applicationRequestId: input.applicationRequestId, receipt };
303
+ }
304
+ case "steer": {
305
+ const receipt = yield* control.steer({
306
+ runId: input.runId,
307
+ idempotencyKey: idempotencyKey(input, "steer"),
308
+ ...(input.version === undefined ? {} : { version: input.version }),
309
+ message: {
310
+ ...input.steer,
311
+ runId: input.runId,
312
+ messageId: input.messageId,
313
+ createdAt: input.createdAt,
314
+ ...(input.attribution === undefined ? {} : { attribution: input.attribution }),
315
+ principal
316
+ }
317
+ });
318
+ return { operation: input.operation, applicationRequestId: input.applicationRequestId, receipt };
319
+ }
320
+ // This authenticated host bridge is not a catalog or public Control
321
+ // verb. The executor validates the completed native child and resumes
322
+ // its retained parent to settle from that child's committed result.
323
+ case "complete": {
324
+ const executor = yield* Effect.serviceOption(ControlExecutor);
325
+ const complete = config.requestComplete ??
326
+ (executor._tag === "Some" ? executor.value.requestComplete : undefined);
327
+ if (complete === undefined) {
328
+ return yield* Effect.fail(new BridgeError({
329
+ code: "unavailable",
330
+ message: "Completed-module settlement is unavailable",
331
+ retryable: true
332
+ }));
333
+ }
334
+ const receipt = yield* complete({ runId: input.runId, receiptId: idempotencyKey(input, "complete") });
335
+ return { operation: input.operation, applicationRequestId: input.applicationRequestId, receipt };
336
+ }
337
+ case "cancel":
338
+ case "resume": {
339
+ const request = {
340
+ runId: input.runId,
341
+ idempotencyKey: idempotencyKey(input, input.operation),
342
+ ...(input.reason === undefined ? {} : { reason: input.reason }),
343
+ principal
344
+ };
345
+ const receipt = yield* input.operation === "cancel" ? control.cancel(request) : control.resume(request);
346
+ return { operation: input.operation, applicationRequestId: input.applicationRequestId, receipt };
347
+ }
348
+ }
349
+ });
350
+ const cursorPosition = (cursor) => {
351
+ if (cursor === undefined || cursor === "")
352
+ return Effect.succeed(undefined);
353
+ const match = observationCursorPattern.exec(cursor);
354
+ const sequence = Number(match?.[1] ?? match?.[2]);
355
+ const offset = match?.[3] === undefined ? undefined : Number(match[3]);
356
+ const valid = (value) => Number.isSafeInteger(value) && value >= 0 && value < Number.MAX_SAFE_INTEGER;
357
+ return match !== null && valid(sequence) && (offset === undefined || valid(offset))
358
+ ? Effect.succeed({ sequence, ...(offset === undefined ? {} : { offset }) })
359
+ : Effect.fail(new BridgeError({
360
+ code: "invalid_request",
361
+ message: "Observation cursor is invalid or out of range",
362
+ retryable: false
363
+ }));
364
+ };
365
+ const encodedCursor = (cursor) => cursor.offset === undefined ? String(cursor.sequence) : `v1:${cursor.sequence}:${cursor.offset}`;
366
+ /**
367
+ * Reads a bounded event replay and current canonical run projection.
368
+ * @since 1.0.0
369
+ * @category constructors
370
+ */
371
+ export const observe = (control, input, receipts) => Effect.gen(function* () {
372
+ const after = yield* cursorPosition(input.afterCursor);
373
+ const limit = Math.min(input.limit ?? defaultEventLimit, maximumEventLimit);
374
+ const listed = yield* control.list({ _tag: "runs", filters: { runId: input.runId }, limit: 1 });
375
+ const summary = listed._tag === "runs" ? listed.items[0] : undefined;
376
+ if (summary === undefined) {
377
+ return yield* Effect.fail(new BridgeError({ code: "run_not_found", message: "Runtime execution was not found", retryable: true }));
378
+ }
379
+ const events = Array.from(yield* Stream.runCollect(Stream.take(control.watch({
380
+ runId: input.runId,
381
+ ...(after === undefined
382
+ ? {}
383
+ : after.offset === undefined
384
+ ? { afterSequence: after.sequence }
385
+ : { afterCursor: after }),
386
+ follow: false
387
+ }), limit + 1)));
388
+ const page = events.slice(0, limit);
389
+ const last = page.at(-1);
390
+ // Typed Flow results use the same committed root projection as the app.
391
+ // A terminal status alone never supplies a result, and a bounded event
392
+ // page cannot reconstruct a root result that precedes its cursor.
393
+ let finalOutput;
394
+ let failure = {};
395
+ if (terminal.has(summary.status)) {
396
+ const projections = yield* Projections.make(control);
397
+ const snapshot = yield* projections.snapshot({ _tag: "run-summary", runId: input.runId });
398
+ const row = snapshot.rows.find(Schema.is(RunSummaryRow));
399
+ if (row === undefined || row.runId !== summary.runId || row.flowId !== summary.flowId ||
400
+ row.status !== summary.status || row.planId !== summary.planId || row.planDigest !== summary.planDigest) {
401
+ return yield* Effect.fail(new BridgeError({ code: "internal", message: "Terminal result observation changed", retryable: true }));
402
+ }
403
+ finalOutput = row.finalOutput;
404
+ failure = {
405
+ ...(row.failureFault === undefined ? {} : { failureFault: row.failureFault }),
406
+ ...(row.failureTag === undefined ? {} : { failureTag: row.failureTag })
407
+ };
408
+ }
409
+ // Keep the private receipt out of every repository-controlled projection.
410
+ const hostSummary = yield* Schema.decodeUnknownEffect(RunSummary)(summary);
411
+ const commandReceipt = receipts === undefined ? undefined : yield* receipts(input.runId);
412
+ if (commandReceipt !== undefined && commandReceipt.runId !== input.runId) {
413
+ return yield* Effect.fail(new BridgeError({ code: "internal", message: "Host command receipt names another run", retryable: false }));
414
+ }
415
+ return {
416
+ run: {
417
+ ...hostSummary,
418
+ ...(commandReceipt === undefined ? {} : { commandReceipt }),
419
+ ...(finalOutput === undefined ? {} : { finalOutput }),
420
+ ...failure
421
+ },
422
+ events: page,
423
+ nextCursor: last === undefined
424
+ ? input.afterCursor ?? ""
425
+ : encodedCursor(last.cursor ?? { sequence: last.sequence }),
426
+ hasMore: events.length > limit,
427
+ terminal: terminal.has(summary.status)
428
+ };
429
+ });
430
+ // Disposable raw journal prefixes for Inspect. This stores no run state: the
431
+ // existing monitor fold still derives every answer from journal records. Bound
432
+ // retention across all runs of one control service, and rebuild after eviction.
433
+ const monitorJournals = new WeakMap();
434
+ const monitorJournalBytes = 64 * 1024 * 1024;
435
+ /** Read an existing run and its committed journal without invoking any execution door.
436
+ * @since 1.0.0
437
+ * @category constructors
438
+ */
439
+ export const monitor = (control, runId, at) => Effect.gen(function* () {
440
+ const listed = yield* control.list({ _tag: "runs", filters: { runId }, limit: 1 });
441
+ const run = listed._tag === "runs" ? listed.items[0] : undefined;
442
+ if (run === undefined || run.runId !== runId) {
443
+ return yield* new BridgeError({
444
+ code: "run_not_found",
445
+ message: "Runtime execution was not found",
446
+ retryable: false
447
+ });
448
+ }
449
+ const cache = monitorJournals.get(control) ??
450
+ new Map();
451
+ monitorJournals.set(control, cache);
452
+ const cached = cache.get(runId);
453
+ const last = cached?.records.at(-1)?.sequence;
454
+ // Replay the final entry because one entry may expand into several events.
455
+ const consumed = last === undefined ? 0 : cached.records.filter((row) => row.sequence === last).length;
456
+ let skipped = 0;
457
+ const suffix = Array.from(yield* Stream.runCollect(control.watch({
458
+ runId,
459
+ follow: false,
460
+ ...(last === undefined || last === 0 ? {} : { afterSequence: last - 1 })
461
+ }).pipe(Stream.filter((row) => last === undefined || row.sequence > last || row.sequence === last && skipped++ >= consumed), Stream.take(Projections.maxEventsScanned + 1))));
462
+ const records = [...(cached?.records ?? []), ...suffix];
463
+ if (records.length > Projections.maxEventsScanned) {
464
+ return yield* new BridgeError({
465
+ code: "resource_limit",
466
+ message: "Run journal exceeds the inspection limit",
467
+ retryable: false
468
+ });
469
+ }
470
+ const bytes = (cached?.bytes ?? 0) +
471
+ suffix.reduce((sum, row) => sum + new TextEncoder().encode(JSON.stringify(row)).byteLength, 0);
472
+ const current = cache.get(runId);
473
+ // A slower reader cannot overwrite a longer committed prefix.
474
+ if (bytes <= monitorJournalBytes && (current === undefined || current.records.length <= records.length)) {
475
+ cache.delete(runId);
476
+ cache.set(runId, { records, bytes });
477
+ let total = [...cache.values()].reduce((sum, entry) => sum + entry.bytes, 0);
478
+ while (cache.size > 32 || total > monitorJournalBytes) {
479
+ const oldest = cache.keys().next().value;
480
+ total -= cache.get(oldest).bytes;
481
+ cache.delete(oldest);
482
+ }
483
+ }
484
+ const folded = monitorFromJournal({ runId, flowId: run.flowId, status: run.status }, records, at);
485
+ // The journal is read page by page when its tab opens (run-events). Only a
486
+ // replay frame carries its own journal prefix. The extent bounds the run.
487
+ let start = Infinity;
488
+ let end = 0;
489
+ for (const row of records) {
490
+ if (row.occurredAt > 0) {
491
+ start = Math.min(start, row.occurredAt);
492
+ end = Math.max(end, row.occurredAt);
493
+ }
494
+ }
495
+ const value = {
496
+ ...folded,
497
+ ...(end === 0 ? {} : { extent: { start: new Date(start).toISOString(), end: new Date(end).toISOString() } })
498
+ };
499
+ if (at === undefined)
500
+ delete value.journal;
501
+ if (new TextEncoder().encode(JSON.stringify(value)).byteLength > Projections.maxProjectionBytes) {
502
+ return yield* new BridgeError({
503
+ code: "resource_limit",
504
+ message: "Run monitor exceeds the inspection limit",
505
+ retryable: false
506
+ });
507
+ }
508
+ return value;
509
+ });
510
+ /**
511
+ * Successful command response on the JSON wire.
512
+ * @since 1.0.0
513
+ * @category models
514
+ */
515
+ export const CommandResponse = Schema.Struct({
516
+ protocol: Schema.Literal(protocol),
517
+ ok: Schema.Literal(true),
518
+ value: Schema.Struct({
519
+ operation: Schema.String,
520
+ applicationRequestId: Schema.String,
521
+ ownerGeneration: Schema.optional(PositiveSafeInteger),
522
+ runtimeArtifactDigest: Schema.optional(Sha256),
523
+ sourceRevision: Schema.optional(SourceRevision),
524
+ planId: Schema.optional(Schema.String),
525
+ planDigest: Schema.optional(Sha256),
526
+ executionDigest: Schema.optional(Sha256),
527
+ envelope: Schema.optional(Schema.Json),
528
+ approval: Schema.optional(ApprovalPayload),
529
+ receipt: Receipt
530
+ })
531
+ });
532
+ /**
533
+ * Successful observation response on the JSON wire.
534
+ * @since 1.0.0
535
+ * @category models
536
+ */
537
+ export const ObserveResponse = Schema.Struct({
538
+ protocol: Schema.Literal(protocol),
539
+ ok: Schema.Literal(true),
540
+ value: Schema.Struct({
541
+ run: Schema.Struct({
542
+ ...RunSummary.fields,
543
+ finalOutput: Schema.optional(Schema.String),
544
+ failureFault: Schema.optional(Fault.Class),
545
+ failureTag: Schema.optional(Schema.String),
546
+ commandReceipt: Schema.optionalKey(CommandReceipt)
547
+ }),
548
+ events: Schema.Array(ControlEvent),
549
+ nextCursor: Schema.String,
550
+ hasMore: Schema.Boolean,
551
+ terminal: Schema.Boolean
552
+ })
553
+ });
554
+ /**
555
+ * Stable sanitized failure response on the JSON wire.
556
+ * @since 1.0.0
557
+ * @category models
558
+ */
559
+ export const ErrorResponse = Schema.Struct({
560
+ protocol: Schema.Literal(protocol),
561
+ ok: Schema.Literal(false),
562
+ error: Schema.Struct({ code: Schema.String, message: Schema.String, retryable: Schema.Boolean })
563
+ });
564
+ const errorResponse = (cause) => {
565
+ const known = Schema.is(ControlError.ControlErrorSchema)(cause);
566
+ const code = cause instanceof BridgeError || known ? cause.code : "internal";
567
+ const retryable = cause instanceof BridgeError
568
+ ? cause.retryable
569
+ : cause instanceof ControlError.TransportError
570
+ ? cause.retryable
571
+ : retryableCodes.has(code);
572
+ // Control errors can contain storage paths, SQL diagnostics, or executor
573
+ // output. The bridge publishes their stable code, never that backend text.
574
+ const message = cause instanceof BridgeError ? cause.message : "Runtime bridge failed";
575
+ const status = code === "unauthorized" ?
576
+ 401
577
+ : notFoundCodes.has(code) ?
578
+ 404
579
+ : conflictCodes.has(code) ?
580
+ 409
581
+ : retryable ?
582
+ 503
583
+ : code === "internal" ?
584
+ 500
585
+ : 400;
586
+ return HttpServerResponse.jsonUnsafe({ protocol, ok: false, error: { code, message, retryable } }, { status });
587
+ };
588
+ /**
589
+ * Answers a failed bridge request with its sanitized response, logging it first.
590
+ *
591
+ * The wire carries only the stable code. The operator log carries the full
592
+ * cause of every failure the caller did not cause, so a launch that failed in
593
+ * storage or in the executor can be diagnosed from the host.
594
+ */
595
+ const respondToFailure = (operation) => (cause) => {
596
+ const response = errorResponse(cause);
597
+ if (cause instanceof BridgeError)
598
+ return Effect.succeed(response);
599
+ const code = Schema.is(ControlError.ControlErrorSchema)(cause) ? cause.code : "internal";
600
+ return Effect.logError({ message: "Runtime bridge request failed", operation, code, cause }).pipe(Effect.as(response));
601
+ };
602
+ const readJson = Effect.gen(function* () {
603
+ const request = yield* HttpServerRequest.HttpServerRequest;
604
+ const text = yield* request.text;
605
+ return yield* Effect.try({
606
+ try: () => JSON.parse(text),
607
+ catch: () => new BridgeError({ code: "invalid_request", message: "Request body must be JSON", retryable: false })
608
+ });
609
+ });
610
+ const authenticated = (config, effect) => Effect.gen(function* () {
611
+ const request = yield* HttpServerRequest.HttpServerRequest;
612
+ const principal = yield* config.authenticate(request.headers);
613
+ return yield* effect(principal);
614
+ });
615
+ /**
616
+ * Mounts the authenticated JSON bridge beside the existing gateway RPCs.
617
+ * @since 1.0.0
618
+ * @category layers
619
+ */
620
+ export const layer = (config) => {
621
+ const command = authenticated(config, (principal) => Effect.gen(function* () {
622
+ const body = yield* readJson;
623
+ const input = yield* decodeCommand(body).pipe(Effect.mapError(() => new BridgeError({
624
+ code: "invalid_request",
625
+ message: "Request does not match the runtime bridge contract",
626
+ retryable: false
627
+ })));
628
+ const control = yield* Control;
629
+ const value = yield* execute(config, control, principal, input);
630
+ return HttpServerResponse.jsonUnsafe({ protocol, ok: true, value });
631
+ })).pipe(Effect.catch(respondToFailure("runtime-bridge.command")), Effect.withSpan("runtime-bridge.command"));
632
+ const observation = authenticated(config, () => Effect.gen(function* () {
633
+ const body = yield* readJson;
634
+ const input = yield* decodeObserve(body).pipe(Effect.mapError(() => new BridgeError({
635
+ code: "invalid_request",
636
+ message: "Request does not match the observation contract",
637
+ retryable: false
638
+ })));
639
+ const control = yield* Control;
640
+ const value = yield* observe(control, input, config.commandReceipt);
641
+ return HttpServerResponse.jsonUnsafe({ protocol, ok: true, value });
642
+ })).pipe(Effect.catch(respondToFailure("runtime-bridge.observe")), Effect.withSpan("runtime-bridge.observe"));
643
+ const inspection = authenticated(config, () => Effect.gen(function* () {
644
+ const body = yield* readJson;
645
+ const input = yield* Schema.decodeUnknownEffect(Schema.Struct({
646
+ protocol: Schema.Literal(protocol),
647
+ runId: Schema.NonEmptyString,
648
+ at: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)))
649
+ }))(body).pipe(Effect.mapError(() => new BridgeError({ code: "invalid_request", message: "Invalid monitor request", retryable: false })));
650
+ const control = yield* Control;
651
+ return HttpServerResponse.jsonUnsafe({
652
+ protocol,
653
+ ok: true,
654
+ value: yield* monitor(control, input.runId, input.at)
655
+ });
656
+ })).pipe(Effect.catch(respondToFailure("runtime-bridge.observe")));
657
+ return HttpRouter.add("POST", "/runtime/v1/command", command).pipe(Layer.merge(HttpRouter.add("POST", "/runtime/v1/monitor", inspection)), Layer.merge(HttpRouter.add("POST", "/runtime/v1/observe", observation)));
658
+ };
659
+ //# sourceMappingURL=RuntimeBridge.js.map