@smthrs/gateway 0.35.0 → 1.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +501 -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 +462 -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 +12 -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 +1593 -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 +2 -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 +8 -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 +548 -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 +792 -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 +12 -0
  130. package/dist/esm/HostBranchPresence.d.ts.map +1 -0
  131. package/dist/esm/HostBranchPresence.js +54 -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 +2105 -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 +2 -0
  166. package/dist/esm/internal/actionRenderings.d.ts.map +1 -0
  167. package/dist/esm/internal/actionRenderings.js +202 -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 +8 -0
  182. package/dist/esm/internal/inspectLabels.d.ts.map +1 -0
  183. package/dist/esm/internal/inspectLabels.js +12 -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 +605 -0
  557. package/src/GatewayError.ts +71 -0
  558. package/src/GatewayProjection.ts +948 -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 +72 -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 +2793 -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 +201 -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 +13 -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,179 @@
1
+ /**
2
+ * The gateway's own remote procedures: the served read path, and the one
3
+ * composite mutation a product client cannot assemble safely on its own.
4
+ *
5
+ * Control mutations are not re-declared here. `@smthrs/control` `ControlRpcs`
6
+ * is the mutation contract and the gateway mounts it unchanged at `/rpc`, so
7
+ * there is exactly one wire definition of `Plan`, `Run`, `Approve`, `Deny`,
8
+ * `Cancel`, `Signal`, `Steer`, `Resume`, `List`, and `Watch`.
9
+ *
10
+ * The group shares `ControlRpcs.ControlAuth`, so one bearer credential
11
+ * authenticates both mounts and one server-stamped principal is recorded for
12
+ * whatever it authorizes.
13
+ *
14
+ * @since 1.0.0
15
+ */
16
+
17
+ import { ControlError, ControlRpcs, ControlSchema } from "@smthrs/control"
18
+ import { Schema } from "effect"
19
+ import { Rpc, RpcGroup } from "effect/unstable/rpc"
20
+ import { GatewayError } from "./GatewayError.ts"
21
+ import * as GatewaySchema from "./GatewaySchema.ts"
22
+ import * as RunHistory from "./RunHistory.ts"
23
+
24
+ /**
25
+ * The decision a client submits for one approval.
26
+ *
27
+ * @since 1.0.0
28
+ * @category models
29
+ */
30
+ export const Decision = Schema.Literals(["approve", "deny"])
31
+
32
+ /**
33
+ * The decision a client submits for one approval.
34
+ *
35
+ * @since 1.0.0
36
+ * @category models
37
+ */
38
+ export type Decision = typeof Decision.Type
39
+
40
+ /**
41
+ * One approval decision, submitted with the exact payload the run published.
42
+ *
43
+ * @since 1.0.0
44
+ * @category models
45
+ */
46
+ export const SubmitApprovalInput = Schema.Struct({
47
+ ...ControlSchema.ApprovalPayload.fields,
48
+ decision: Decision,
49
+ /**
50
+ * The answer to a question, for a gate that asks one.
51
+ *
52
+ * Most gates are a grant: approve or deny, and the decision IS the payload.
53
+ * A `HumanTask` gate asks for a value — prose, a choice, a JSON object — and
54
+ * the decision alone answers nothing. Present exactly when the row being
55
+ * submitted is one of those, in which case `target.requestId` names the wait
56
+ * point and this is what is delivered to it. A denial carries no answer: the
57
+ * question is refused, not answered.
58
+ *
59
+ * Additive on purpose: a client that never asks a person anything submits
60
+ * exactly what it submitted before.
61
+ */
62
+ answer: Schema.optional(Schema.Json)
63
+ })
64
+
65
+ /**
66
+ * One approval decision, submitted with the exact payload the run published.
67
+ *
68
+ * @since 1.0.0
69
+ * @category models
70
+ */
71
+ export type SubmitApprovalInput = typeof SubmitApprovalInput.Type
72
+
73
+ /**
74
+ * What submitting an approval did.
75
+ *
76
+ * `decision` is the receipt for the grant or refusal. Control owns the
77
+ * decision and its durable resume delegation as one domain command.
78
+ *
79
+ * @since 1.0.0
80
+ * @category models
81
+ */
82
+ export const SubmitApprovalOutput = Schema.Struct({
83
+ decision: ControlSchema.Receipt
84
+ })
85
+
86
+ /**
87
+ * What submitting an approval did.
88
+ *
89
+ * @since 1.0.0
90
+ * @category models
91
+ */
92
+ export type SubmitApprovalOutput = typeof SubmitApprovalOutput.Type
93
+
94
+ /**
95
+ * The failures `Approval.Submit` can answer with: exactly the union
96
+ * `@smthrs/control` `Control.approve`, `Control.deny`, and — for a gate that
97
+ * asks a question — `Control.signal` declare, because the handler is a
98
+ * transport adapter over those commands and adds no failure of its own. A
99
+ * member none of them raises would be a recovery branch no client's code could
100
+ * ever reach.
101
+ *
102
+ * `NoMatchingWait` is the one an answer adds: the question was answered after
103
+ * the run moved on, or somebody else answered it first. `CodeDrift` is a node
104
+ * decision on a run whose flow changed since it started (#1807).
105
+ */
106
+ const submitErrors = Schema.Union([
107
+ ControlError.NoMatchingWait,
108
+ ControlError.CodeDrift,
109
+ ControlError.PlanDigestMismatch,
110
+ ControlError.EnvelopeMismatch,
111
+ ControlError.AlreadyResolved,
112
+ ControlError.PlanNotFound,
113
+ ControlError.RunNotFound,
114
+ ControlError.InvalidInput,
115
+ ControlError.Unauthorized,
116
+ ControlError.PersistenceError,
117
+ ControlError.Unavailable,
118
+ ControlError.TransportError
119
+ ])
120
+
121
+ /**
122
+ * The failures `Run.Fork` and `Run.Verify` answer with: the history host's own
123
+ * refusal, `Unauthorized` for an anonymous loopback caller, or `Unavailable`
124
+ * from a gateway composed without a history host.
125
+ */
126
+ const historyErrors = Schema.Union([RunHistory.HistoryRefused, ControlError.Unauthorized, ControlError.Unavailable])
127
+
128
+ /**
129
+ * The gateway read path, the composite approval mutation, and the run
130
+ * history procedures.
131
+ *
132
+ * `Approval.Submit` is the transport form of Control's single decision
133
+ * command. Control records the decision and durable resume delegation; the
134
+ * gateway never composes a second mutation.
135
+ *
136
+ * @since 1.0.0
137
+ * @category groups
138
+ */
139
+ export const GatewayRpcs = RpcGroup.make(
140
+ Rpc.make("Projection.Snapshot", {
141
+ defect: ControlRpcs.ControlDefect,
142
+ payload: Schema.Struct({
143
+ selector: GatewaySchema.ProjectionSelector,
144
+ after: Schema.optional(GatewaySchema.ProjectionCursor)
145
+ }),
146
+ success: GatewaySchema.ProjectionSnapshot,
147
+ error: GatewayError
148
+ }),
149
+ Rpc.make("Projection.Subscribe", {
150
+ defect: ControlRpcs.ControlDefect,
151
+ payload: Schema.Struct({
152
+ selector: GatewaySchema.ProjectionSelector,
153
+ after: Schema.optional(GatewaySchema.ProjectionCursor)
154
+ }),
155
+ success: GatewaySchema.GatewayFrame,
156
+ error: GatewayError,
157
+ stream: true
158
+ }),
159
+ Rpc.make("Approval.Submit", {
160
+ defect: ControlRpcs.ControlDefect,
161
+ payload: SubmitApprovalInput,
162
+ success: SubmitApprovalOutput,
163
+ error: submitErrors
164
+ }),
165
+ /* Branches a run at a recorded frame into a parked child, as `smthrs runs fork`. */
166
+ Rpc.make("Run.Fork", {
167
+ defect: ControlRpcs.ControlDefect,
168
+ payload: RunHistory.ForkInput,
169
+ success: RunHistory.ForkOutput,
170
+ error: historyErrors
171
+ }),
172
+ /* Reports what a resume under the current flow code would replay, as `smthrs runs verify`. */
173
+ Rpc.make("Run.Verify", {
174
+ defect: ControlRpcs.ControlDefect,
175
+ payload: RunHistory.VerifyInput,
176
+ success: RunHistory.VerifyReport,
177
+ error: historyErrors
178
+ })
179
+ ).middleware(ControlRpcs.ControlAuth)
@@ -0,0 +1,516 @@
1
+ /**
2
+ * Wire schemas shared by the gateway read path, subscriptions, and singleton
3
+ * lifecycle.
4
+ *
5
+ * @since 0.1.0
6
+ */
7
+
8
+ import { ControlSchema } from "@smthrs/control"
9
+ import { Schema } from "effect"
10
+ import * as GatewayProjection from "./GatewayProjection.ts"
11
+
12
+ /**
13
+ * Health response used to prove a singleton belongs to this workspace.
14
+ *
15
+ * @since 0.1.0
16
+ * @category models
17
+ */
18
+ export const GatewayHealth = Schema.Struct({
19
+ workspaceHash: Schema.String,
20
+ gatewayId: Schema.String,
21
+ protocolVersion: Schema.String,
22
+ capabilities: Schema.optionalKey(Schema.Array(Schema.String))
23
+ })
24
+
25
+ /**
26
+ * Health response used for singleton identity probes.
27
+ *
28
+ * @since 0.1.0
29
+ * @category models
30
+ */
31
+ export type GatewayHealth = typeof GatewayHealth.Type
32
+
33
+ /**
34
+ * A selector for a workspace-wide run list.
35
+ *
36
+ * @since 0.1.0
37
+ * @category models
38
+ */
39
+ export const WorkspaceRunsSelector = Schema.TaggedStruct("workspace-runs", {
40
+ flowId: Schema.optionalKey(Schema.NonEmptyString)
41
+ })
42
+
43
+ /**
44
+ * A selector for a workspace-wide run list.
45
+ *
46
+ * @since 0.1.0
47
+ * @category models
48
+ */
49
+ export type WorkspaceRunsSelector = typeof WorkspaceRunsSelector.Type
50
+
51
+ /**
52
+ * A selector for one run's summary.
53
+ *
54
+ * @since 0.1.0
55
+ * @category models
56
+ */
57
+ export const RunSummarySelector = Schema.TaggedStruct("run-summary", { runId: Schema.String })
58
+
59
+ /**
60
+ * A selector for one run's summary.
61
+ *
62
+ * @since 0.1.0
63
+ * @category models
64
+ */
65
+ export type RunSummarySelector = typeof RunSummarySelector.Type
66
+
67
+ /**
68
+ * A selector for one run's ordered lifecycle events.
69
+ *
70
+ * @since 0.1.0
71
+ * @category models
72
+ */
73
+ export const RunEventsSelector = Schema.TaggedStruct("run-events", { runId: Schema.String })
74
+
75
+ /**
76
+ * A selector for one run's ordered lifecycle events.
77
+ *
78
+ * @since 0.1.0
79
+ * @category models
80
+ */
81
+ export type RunEventsSelector = typeof RunEventsSelector.Type
82
+
83
+ /**
84
+ * A selector for one run's transcript projection.
85
+ *
86
+ * @since 0.1.0
87
+ * @category models
88
+ */
89
+ export const TranscriptSelector = Schema.TaggedStruct("transcript", { runId: Schema.String })
90
+
91
+ /**
92
+ * A selector for one run's transcript projection.
93
+ *
94
+ * @since 0.1.0
95
+ * @category models
96
+ */
97
+ export type TranscriptSelector = typeof TranscriptSelector.Type
98
+
99
+ /**
100
+ * A selector for one run's flattened tree nodes.
101
+ *
102
+ * @since 0.1.0
103
+ * @category models
104
+ */
105
+ export const RunTreeSelector = Schema.TaggedStruct("run-tree", { runId: Schema.String })
106
+
107
+ /**
108
+ * A selector for one run's flattened tree nodes.
109
+ *
110
+ * @since 0.1.0
111
+ * @category models
112
+ */
113
+ export type RunTreeSelector = typeof RunTreeSelector.Type
114
+
115
+ /**
116
+ * A selector for approvals.
117
+ *
118
+ * Without `runId` it lists the workspace's pending gates, which is the
119
+ * approvals inbox. With one it lists that run's gates including the decided
120
+ * ones, which is what a run card renders: a gate a human already answered
121
+ * still belongs on the card that asked.
122
+ *
123
+ * @since 0.1.0
124
+ * @category models
125
+ */
126
+ export const ApprovalsSelector = Schema.TaggedStruct("approvals", {
127
+ runId: Schema.optional(Schema.String)
128
+ })
129
+
130
+ /**
131
+ * A selector for approvals.
132
+ *
133
+ * @since 0.1.0
134
+ * @category models
135
+ */
136
+ export type ApprovalsSelector = typeof ApprovalsSelector.Type
137
+
138
+ /**
139
+ * A selector for one node's output projection.
140
+ *
141
+ * @since 0.1.0
142
+ * @category models
143
+ */
144
+ export const NodeOutputSelector = Schema.TaggedStruct("node-output", {
145
+ runId: Schema.String,
146
+ nodeId: Schema.String
147
+ })
148
+
149
+ /**
150
+ * A selector for one node's output projection.
151
+ *
152
+ * @since 0.1.0
153
+ * @category models
154
+ */
155
+ export type NodeOutputSelector = typeof NodeOutputSelector.Type
156
+
157
+ /**
158
+ * A selector for one flow's measured node durations.
159
+ *
160
+ * This is the one projection that is neither a workspace listing nor scoped
161
+ * to a run: it folds the history of one flow across the runs that executed
162
+ * it, which is what makes it a prediction rather than a report.
163
+ *
164
+ * @since 0.1.0
165
+ * @category models
166
+ */
167
+ export const FlowDurationsSelector = Schema.TaggedStruct("flow-durations", {
168
+ flowId: Schema.String
169
+ })
170
+
171
+ /**
172
+ * A selector for one flow's measured node durations.
173
+ *
174
+ * @since 0.1.0
175
+ * @category models
176
+ */
177
+ export type FlowDurationsSelector = typeof FlowDurationsSelector.Type
178
+
179
+ /** A schema for a tagged selector, whose tag names its projection. */
180
+ interface SelectorSchema extends Schema.Top {
181
+ readonly Type: { readonly _tag: string }
182
+ }
183
+
184
+ /** The shape of the served table: one selector paired with one row schema. */
185
+ type ServedTable = ReadonlyArray<readonly [SelectorSchema, Schema.Top]>
186
+
187
+ /**
188
+ * The row schema each served selector answers with.
189
+ *
190
+ * This table is the selector-to-row pairing, and it exists once. The selector
191
+ * union, the projection names, `rowSchemaFor`, `ProjectionSnapshot`,
192
+ * `RowFrame`, and `DeltaFrame` all derive from it, so serving one more
193
+ * projection is one more entry here rather than five mirrored lists that can
194
+ * disagree with each other.
195
+ */
196
+ const served = [
197
+ [WorkspaceRunsSelector, GatewayProjection.RunSummaryRow],
198
+ [RunSummarySelector, GatewayProjection.RunSummaryRow],
199
+ [RunEventsSelector, ControlSchema.ControlEvent],
200
+ [TranscriptSelector, GatewayProjection.TranscriptRow],
201
+ [RunTreeSelector, GatewayProjection.RunTreeRow],
202
+ [ApprovalsSelector, GatewayProjection.ApprovalRow],
203
+ [NodeOutputSelector, GatewayProjection.NodeOutputRow],
204
+ [FlowDurationsSelector, GatewayProjection.FlowDurationRow]
205
+ ] as const satisfies ServedTable
206
+
207
+ /** The served table as the type every derivation below maps over. */
208
+ type Served = typeof served
209
+
210
+ /**
211
+ * Maps the served table into a tuple whose members keep their own types.
212
+ *
213
+ * `Array.prototype.map` widens a tuple to an array of its element union, which
214
+ * would collapse each derived union into an uncorrelated cross product of
215
+ * every selector with every row. The mapped tuple type each caller names is
216
+ * that correlation, and this restates it for the value.
217
+ */
218
+ const overServed = <M>(map: (pair: Served[number]) => unknown): M => served.map(map) as unknown as M
219
+
220
+ /** The selector schema of each served pair, in table order. */
221
+ type SelectorsOf<T extends ServedTable> = { readonly [K in keyof T]: T[K][0] }
222
+
223
+ /** The projection name of each served pair, in table order. */
224
+ type NamesOf<T extends ServedTable> = { readonly [K in keyof T]: T[K][0]["Type"]["_tag"] }
225
+
226
+ /**
227
+ * A projection selected for a snapshot or watch subscription.
228
+ *
229
+ * @since 0.1.0
230
+ * @category models
231
+ */
232
+ export const ProjectionSelector = Schema.Union(
233
+ overServed<SelectorsOf<Served>>(([selector]) => selector)
234
+ )
235
+
236
+ /**
237
+ * A projection selected for a snapshot or watch subscription.
238
+ *
239
+ * @since 0.1.0
240
+ * @category models
241
+ */
242
+ export type ProjectionSelector = typeof ProjectionSelector.Type
243
+
244
+ /**
245
+ * Projection names served by the gateway read path.
246
+ *
247
+ * @since 0.1.0
248
+ * @category models
249
+ */
250
+ export const ProjectionName = Schema.Literals(
251
+ overServed<NamesOf<Served>>(([selector]) => selector.fields._tag.schema.literal)
252
+ )
253
+
254
+ /**
255
+ * A gateway projection name.
256
+ *
257
+ * @since 0.1.0
258
+ * @category models
259
+ */
260
+ export type ProjectionName = typeof ProjectionName.Type
261
+
262
+ /** Each served row schema, keyed by the name of the selector it answers. */
263
+ type RowSchemas = { readonly [P in Served[number] as P[0]["Type"]["_tag"]]: P[1] }
264
+
265
+ const rowSchemas = Object.fromEntries(
266
+ served.map(([selector, row]) => [selector.fields._tag.schema.literal, row])
267
+ ) as RowSchemas
268
+
269
+ /**
270
+ * The row schema one selector answers with, so a client decodes a snapshot
271
+ * instead of casting it.
272
+ *
273
+ * A literal selector keeps its own row schema: `rowSchemaFor({ _tag:
274
+ * "approvals" })` decodes to `ApprovalRow`, not to the union of every row.
275
+ *
276
+ * @param selector the selector whose row schema the client needs
277
+ * @since 1.0.0
278
+ * @category schemas
279
+ */
280
+ export const rowSchemaFor = <S extends ProjectionSelector>(selector: S): RowSchemas[S["_tag"]] =>
281
+ rowSchemas[selector._tag] as RowSchemas[S["_tag"]]
282
+
283
+ /**
284
+ * The row type one selector's projection is made of.
285
+ *
286
+ * @since 1.0.0
287
+ * @category models
288
+ */
289
+ export type RowOf<S extends ProjectionSelector> = RowSchemas[S["_tag"]]["Type"]
290
+
291
+ /**
292
+ * A monotonic cursor for one projection and optional run scope.
293
+ *
294
+ * `runId` is null for workspace projections and records the source run for
295
+ * per-run projections, even when a selector later gains more fields. Control
296
+ * journal sequences belong to per-run partitions, so no workspace-wide
297
+ * sequence exists. A workspace cursor therefore has value `0` and a null run,
298
+ * and a workspace projection cannot resume from a cursor.
299
+ *
300
+ * @since 0.1.0
301
+ * @category models
302
+ */
303
+ export const ProjectionCursor = Schema.Struct({
304
+ selector: ProjectionSelector,
305
+ projection: ProjectionName,
306
+ runId: Schema.NullOr(Schema.String),
307
+ value: Schema.Int.check(
308
+ Schema.isGreaterThanOrEqualTo(0),
309
+ Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER)
310
+ ),
311
+ offset: Schema.Int.check(
312
+ Schema.isGreaterThanOrEqualTo(0),
313
+ Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER)
314
+ )
315
+ })
316
+
317
+ /**
318
+ * A monotonic projection cursor.
319
+ *
320
+ * @since 0.1.0
321
+ * @category models
322
+ */
323
+ export type ProjectionCursor = typeof ProjectionCursor.Type
324
+
325
+ /** One snapshot member: every row one selector projects, at one cursor. */
326
+ const snapshotMember = <S extends Schema.Top, R extends Schema.Top>(selector: S, row: R) =>
327
+ Schema.Struct({ selector, cursor: ProjectionCursor, rows: Schema.Array(row) })
328
+
329
+ /** One row frame: a single row of one selector's projection. */
330
+ const rowMember = <S extends Schema.Top, R extends Schema.Top>(selector: S, row: R) =>
331
+ Schema.TaggedStruct("row", { selector, cursor: ProjectionCursor, row })
332
+
333
+ /** One delta frame: the rows one selector's projection changed by. */
334
+ const deltaMember = <S extends Schema.Top, R extends Schema.Top>(selector: S, row: R) =>
335
+ Schema.TaggedStruct("delta", { selector, cursor: ProjectionCursor, delta: Schema.Array(row) })
336
+
337
+ type SnapshotMembersOf<T extends ServedTable> = {
338
+ readonly [K in keyof T]: ReturnType<typeof snapshotMember<T[K][0], T[K][1]>>
339
+ }
340
+
341
+ type RowMembersOf<T extends ServedTable> = {
342
+ readonly [K in keyof T]: ReturnType<typeof rowMember<T[K][0], T[K][1]>>
343
+ }
344
+
345
+ type DeltaMembersOf<T extends ServedTable> = {
346
+ readonly [K in keyof T]: ReturnType<typeof deltaMember<T[K][0], T[K][1]>>
347
+ }
348
+
349
+ /**
350
+ * Every row one selector currently projects, and the cursor they were read
351
+ * at. A client that follows the same selector from this cursor sees each
352
+ * later change exactly once.
353
+ *
354
+ * @since 1.0.0
355
+ * @category models
356
+ */
357
+ export const ProjectionSnapshot = Schema.Union(
358
+ overServed<SnapshotMembersOf<Served>>(([selector, row]) => snapshotMember(selector, row))
359
+ )
360
+
361
+ /**
362
+ * A projection snapshot and the cursor it was read at.
363
+ *
364
+ * @since 1.0.0
365
+ * @category models
366
+ */
367
+ export type ProjectionSnapshot = typeof ProjectionSnapshot.Type
368
+
369
+ /**
370
+ * The start of a selector snapshot.
371
+ *
372
+ * @since 0.1.0
373
+ * @category models
374
+ */
375
+ export const SnapshotStartFrame = Schema.TaggedStruct("snapshot-start", {
376
+ selector: ProjectionSelector,
377
+ cursor: ProjectionCursor
378
+ })
379
+
380
+ /**
381
+ * The start of a selector snapshot.
382
+ *
383
+ * @since 0.1.0
384
+ * @category models
385
+ */
386
+ export type SnapshotStartFrame = typeof SnapshotStartFrame.Type
387
+
388
+ /**
389
+ * A row emitted during a selector snapshot.
390
+ *
391
+ * @since 0.1.0
392
+ * @category models
393
+ */
394
+ export const RowFrame = Schema.Union(
395
+ overServed<RowMembersOf<Served>>(([selector, row]) => rowMember(selector, row))
396
+ )
397
+
398
+ /**
399
+ * A row emitted during a selector snapshot.
400
+ *
401
+ * @since 0.1.0
402
+ * @category models
403
+ */
404
+ export type RowFrame = typeof RowFrame.Type
405
+
406
+ /**
407
+ * The end of a selector snapshot.
408
+ *
409
+ * @since 0.1.0
410
+ * @category models
411
+ */
412
+ export const SnapshotEndFrame = Schema.TaggedStruct("snapshot-end", {
413
+ selector: ProjectionSelector,
414
+ cursor: ProjectionCursor
415
+ })
416
+
417
+ /**
418
+ * The end of a selector snapshot.
419
+ *
420
+ * @since 0.1.0
421
+ * @category models
422
+ */
423
+ export type SnapshotEndFrame = typeof SnapshotEndFrame.Type
424
+
425
+ /**
426
+ * A projection mutation after snapshot completion.
427
+ *
428
+ * `delta` replaces the selector's rows, except for the two append-only
429
+ * projections: a `run-events` delta carries the one event that arrived and a
430
+ * `transcript` delta carries the rows that event contributed, and a client
431
+ * appends those to the rows it already holds.
432
+ *
433
+ * @since 0.1.0
434
+ * @category models
435
+ */
436
+ export const DeltaFrame = Schema.Union(
437
+ overServed<DeltaMembersOf<Served>>(([selector, row]) => deltaMember(selector, row))
438
+ )
439
+
440
+ /**
441
+ * A projection mutation after snapshot completion.
442
+ *
443
+ * @since 0.1.0
444
+ * @category models
445
+ */
446
+ export type DeltaFrame = typeof DeltaFrame.Type
447
+
448
+ /**
449
+ * A keepalive frame for an active subscription.
450
+ *
451
+ * @since 0.1.0
452
+ * @category models
453
+ */
454
+ export const HeartbeatFrame = Schema.TaggedStruct("heartbeat", { atMs: Schema.Number })
455
+
456
+ /**
457
+ * A keepalive frame for an active subscription.
458
+ *
459
+ * @since 0.1.0
460
+ * @category models
461
+ */
462
+ export type HeartbeatFrame = typeof HeartbeatFrame.Type
463
+
464
+ /**
465
+ * A frame sent by the gateway subscription protocol.
466
+ *
467
+ * @since 0.1.0
468
+ * @category models
469
+ */
470
+ export const GatewayFrame = Schema.Union([
471
+ SnapshotStartFrame,
472
+ ...RowFrame.members,
473
+ SnapshotEndFrame,
474
+ ...DeltaFrame.members,
475
+ HeartbeatFrame
476
+ ])
477
+
478
+ /**
479
+ * A frame sent by the gateway subscription protocol.
480
+ *
481
+ * @since 0.1.0
482
+ * @category models
483
+ */
484
+ export type GatewayFrame = typeof GatewayFrame.Type
485
+
486
+ /**
487
+ * The snapshot one selector answers with.
488
+ *
489
+ * A literal selector keeps its own rows: `SnapshotOf<ApprovalsSelector>` has
490
+ * `ApprovalRow` rows, so a caller reads `requestId` without an assertion. A
491
+ * selector union maps to the snapshot union, which is what a caller holding a
492
+ * selector chosen at runtime still gets.
493
+ *
494
+ * @since 1.0.0
495
+ * @category models
496
+ */
497
+ export type SnapshotOf<S extends ProjectionSelector> = Extract<
498
+ ProjectionSnapshot,
499
+ { readonly selector: { readonly _tag: S["_tag"] } }
500
+ >
501
+
502
+ /**
503
+ * The frames one selector's subscription emits.
504
+ *
505
+ * Snapshot brackets and keepalives carry no rows and belong to every
506
+ * selector; the row and delta frames are the selector's own.
507
+ *
508
+ * @since 1.0.0
509
+ * @category models
510
+ */
511
+ export type FrameOf<S extends ProjectionSelector> =
512
+ | SnapshotStartFrame
513
+ | SnapshotEndFrame
514
+ | HeartbeatFrame
515
+ | Extract<RowFrame, { readonly selector: { readonly _tag: S["_tag"] } }>
516
+ | Extract<DeltaFrame, { readonly selector: { readonly _tag: S["_tag"] } }>