@smthrs/gateway 0.34.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 -29182
  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 -61
  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 -183
  604. package/src/rpc/index.d.ts +0 -221
  605. package/src/rpc/index.js +0 -2431
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GatewaySchema.d.ts","sourceRoot":"","sources":["../../src/GatewaySchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var GatewaySchema_exports = {};
30
+ __export(GatewaySchema_exports, {
31
+ ApprovalsSelector: () => ApprovalsSelector,
32
+ DeltaFrame: () => DeltaFrame,
33
+ FlowDurationsSelector: () => FlowDurationsSelector,
34
+ GatewayFrame: () => GatewayFrame,
35
+ GatewayHealth: () => GatewayHealth,
36
+ HeartbeatFrame: () => HeartbeatFrame,
37
+ NodeOutputSelector: () => NodeOutputSelector,
38
+ ProjectionCursor: () => ProjectionCursor,
39
+ ProjectionName: () => ProjectionName,
40
+ ProjectionSelector: () => ProjectionSelector,
41
+ ProjectionSnapshot: () => ProjectionSnapshot,
42
+ RowFrame: () => RowFrame,
43
+ RunEventsSelector: () => RunEventsSelector,
44
+ RunSummarySelector: () => RunSummarySelector,
45
+ RunTreeSelector: () => RunTreeSelector,
46
+ SnapshotEndFrame: () => SnapshotEndFrame,
47
+ SnapshotStartFrame: () => SnapshotStartFrame,
48
+ TranscriptSelector: () => TranscriptSelector,
49
+ WorkspaceRunsSelector: () => WorkspaceRunsSelector,
50
+ rowSchemaFor: () => rowSchemaFor
51
+ });
52
+ module.exports = __toCommonJS(GatewaySchema_exports);
53
+ var import_control = require("@smthrs/control");
54
+ var import_effect = require("effect");
55
+ var GatewayProjection = __toESM(require("./GatewayProjection.js"), 1);
56
+ const GatewayHealth = import_effect.Schema.Struct({
57
+ workspaceHash: import_effect.Schema.String,
58
+ gatewayId: import_effect.Schema.String,
59
+ protocolVersion: import_effect.Schema.String,
60
+ capabilities: import_effect.Schema.optionalKey(import_effect.Schema.Array(import_effect.Schema.String))
61
+ });
62
+ const WorkspaceRunsSelector = import_effect.Schema.TaggedStruct("workspace-runs", {
63
+ flowId: import_effect.Schema.optionalKey(import_effect.Schema.NonEmptyString)
64
+ });
65
+ const RunSummarySelector = import_effect.Schema.TaggedStruct("run-summary", { runId: import_effect.Schema.String });
66
+ const RunEventsSelector = import_effect.Schema.TaggedStruct("run-events", { runId: import_effect.Schema.String });
67
+ const TranscriptSelector = import_effect.Schema.TaggedStruct("transcript", { runId: import_effect.Schema.String });
68
+ const RunTreeSelector = import_effect.Schema.TaggedStruct("run-tree", { runId: import_effect.Schema.String });
69
+ const ApprovalsSelector = import_effect.Schema.TaggedStruct("approvals", {
70
+ runId: import_effect.Schema.optional(import_effect.Schema.String)
71
+ });
72
+ const NodeOutputSelector = import_effect.Schema.TaggedStruct("node-output", {
73
+ runId: import_effect.Schema.String,
74
+ nodeId: import_effect.Schema.String
75
+ });
76
+ const FlowDurationsSelector = import_effect.Schema.TaggedStruct("flow-durations", {
77
+ flowId: import_effect.Schema.String
78
+ });
79
+ const served = [
80
+ [WorkspaceRunsSelector, GatewayProjection.RunSummaryRow],
81
+ [RunSummarySelector, GatewayProjection.RunSummaryRow],
82
+ [RunEventsSelector, import_control.ControlSchema.ControlEvent],
83
+ [TranscriptSelector, GatewayProjection.TranscriptRow],
84
+ [RunTreeSelector, GatewayProjection.RunTreeRow],
85
+ [ApprovalsSelector, GatewayProjection.ApprovalRow],
86
+ [NodeOutputSelector, GatewayProjection.NodeOutputRow],
87
+ [FlowDurationsSelector, GatewayProjection.FlowDurationRow]
88
+ ];
89
+ const overServed = (map) => served.map(map);
90
+ const ProjectionSelector = import_effect.Schema.Union(
91
+ overServed(([selector]) => selector)
92
+ );
93
+ const ProjectionName = import_effect.Schema.Literals(
94
+ overServed(([selector]) => selector.fields._tag.schema.literal)
95
+ );
96
+ const rowSchemas = Object.fromEntries(
97
+ served.map(([selector, row]) => [selector.fields._tag.schema.literal, row])
98
+ );
99
+ const rowSchemaFor = (selector) => rowSchemas[selector._tag];
100
+ const ProjectionCursor = import_effect.Schema.Struct({
101
+ selector: ProjectionSelector,
102
+ projection: ProjectionName,
103
+ runId: import_effect.Schema.NullOr(import_effect.Schema.String),
104
+ value: import_effect.Schema.Int.check(
105
+ import_effect.Schema.isGreaterThanOrEqualTo(0),
106
+ import_effect.Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER)
107
+ ),
108
+ offset: import_effect.Schema.Int.check(
109
+ import_effect.Schema.isGreaterThanOrEqualTo(0),
110
+ import_effect.Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER)
111
+ )
112
+ });
113
+ const snapshotMember = (selector, row) => import_effect.Schema.Struct({ selector, cursor: ProjectionCursor, rows: import_effect.Schema.Array(row) });
114
+ const rowMember = (selector, row) => import_effect.Schema.TaggedStruct("row", { selector, cursor: ProjectionCursor, row });
115
+ const deltaMember = (selector, row) => import_effect.Schema.TaggedStruct("delta", { selector, cursor: ProjectionCursor, delta: import_effect.Schema.Array(row) });
116
+ const ProjectionSnapshot = import_effect.Schema.Union(
117
+ overServed(([selector, row]) => snapshotMember(selector, row))
118
+ );
119
+ const SnapshotStartFrame = import_effect.Schema.TaggedStruct("snapshot-start", {
120
+ selector: ProjectionSelector,
121
+ cursor: ProjectionCursor
122
+ });
123
+ const RowFrame = import_effect.Schema.Union(
124
+ overServed(([selector, row]) => rowMember(selector, row))
125
+ );
126
+ const SnapshotEndFrame = import_effect.Schema.TaggedStruct("snapshot-end", {
127
+ selector: ProjectionSelector,
128
+ cursor: ProjectionCursor
129
+ });
130
+ const DeltaFrame = import_effect.Schema.Union(
131
+ overServed(([selector, row]) => deltaMember(selector, row))
132
+ );
133
+ const HeartbeatFrame = import_effect.Schema.TaggedStruct("heartbeat", { atMs: import_effect.Schema.Number });
134
+ const GatewayFrame = import_effect.Schema.Union([
135
+ SnapshotStartFrame,
136
+ ...RowFrame.members,
137
+ SnapshotEndFrame,
138
+ ...DeltaFrame.members,
139
+ HeartbeatFrame
140
+ ]);
141
+ //# sourceMappingURL=GatewaySchema.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/GatewaySchema.ts"],
4
+ "sourcesContent": ["/**\n * Wire schemas shared by the gateway read path, subscriptions, and singleton\n * lifecycle.\n *\n * @since 0.1.0\n */\n\nimport { ControlSchema } from \"@smthrs/control\"\nimport { Schema } from \"effect\"\nimport * as GatewayProjection from \"./GatewayProjection.ts\"\n\n/**\n * Health response used to prove a singleton belongs to this workspace.\n *\n * @since 0.1.0\n * @category models\n */\nexport const GatewayHealth = Schema.Struct({\n workspaceHash: Schema.String,\n gatewayId: Schema.String,\n protocolVersion: Schema.String,\n capabilities: Schema.optionalKey(Schema.Array(Schema.String))\n})\n\n/**\n * Health response used for singleton identity probes.\n *\n * @since 0.1.0\n * @category models\n */\nexport type GatewayHealth = typeof GatewayHealth.Type\n\n/**\n * A selector for a workspace-wide run list.\n *\n * @since 0.1.0\n * @category models\n */\nexport const WorkspaceRunsSelector = Schema.TaggedStruct(\"workspace-runs\", {\n flowId: Schema.optionalKey(Schema.NonEmptyString)\n})\n\n/**\n * A selector for a workspace-wide run list.\n *\n * @since 0.1.0\n * @category models\n */\nexport type WorkspaceRunsSelector = typeof WorkspaceRunsSelector.Type\n\n/**\n * A selector for one run's summary.\n *\n * @since 0.1.0\n * @category models\n */\nexport const RunSummarySelector = Schema.TaggedStruct(\"run-summary\", { runId: Schema.String })\n\n/**\n * A selector for one run's summary.\n *\n * @since 0.1.0\n * @category models\n */\nexport type RunSummarySelector = typeof RunSummarySelector.Type\n\n/**\n * A selector for one run's ordered lifecycle events.\n *\n * @since 0.1.0\n * @category models\n */\nexport const RunEventsSelector = Schema.TaggedStruct(\"run-events\", { runId: Schema.String })\n\n/**\n * A selector for one run's ordered lifecycle events.\n *\n * @since 0.1.0\n * @category models\n */\nexport type RunEventsSelector = typeof RunEventsSelector.Type\n\n/**\n * A selector for one run's transcript projection.\n *\n * @since 0.1.0\n * @category models\n */\nexport const TranscriptSelector = Schema.TaggedStruct(\"transcript\", { runId: Schema.String })\n\n/**\n * A selector for one run's transcript projection.\n *\n * @since 0.1.0\n * @category models\n */\nexport type TranscriptSelector = typeof TranscriptSelector.Type\n\n/**\n * A selector for one run's flattened tree nodes.\n *\n * @since 0.1.0\n * @category models\n */\nexport const RunTreeSelector = Schema.TaggedStruct(\"run-tree\", { runId: Schema.String })\n\n/**\n * A selector for one run's flattened tree nodes.\n *\n * @since 0.1.0\n * @category models\n */\nexport type RunTreeSelector = typeof RunTreeSelector.Type\n\n/**\n * A selector for approvals.\n *\n * Without `runId` it lists the workspace's pending gates, which is the\n * approvals inbox. With one it lists that run's gates including the decided\n * ones, which is what a run card renders: a gate a human already answered\n * still belongs on the card that asked.\n *\n * @since 0.1.0\n * @category models\n */\nexport const ApprovalsSelector = Schema.TaggedStruct(\"approvals\", {\n runId: Schema.optional(Schema.String)\n})\n\n/**\n * A selector for approvals.\n *\n * @since 0.1.0\n * @category models\n */\nexport type ApprovalsSelector = typeof ApprovalsSelector.Type\n\n/**\n * A selector for one node's output projection.\n *\n * @since 0.1.0\n * @category models\n */\nexport const NodeOutputSelector = Schema.TaggedStruct(\"node-output\", {\n runId: Schema.String,\n nodeId: Schema.String\n})\n\n/**\n * A selector for one node's output projection.\n *\n * @since 0.1.0\n * @category models\n */\nexport type NodeOutputSelector = typeof NodeOutputSelector.Type\n\n/**\n * A selector for one flow's measured node durations.\n *\n * This is the one projection that is neither a workspace listing nor scoped\n * to a run: it folds the history of one flow across the runs that executed\n * it, which is what makes it a prediction rather than a report.\n *\n * @since 0.1.0\n * @category models\n */\nexport const FlowDurationsSelector = Schema.TaggedStruct(\"flow-durations\", {\n flowId: Schema.String\n})\n\n/**\n * A selector for one flow's measured node durations.\n *\n * @since 0.1.0\n * @category models\n */\nexport type FlowDurationsSelector = typeof FlowDurationsSelector.Type\n\n/** A schema for a tagged selector, whose tag names its projection. */\ninterface SelectorSchema extends Schema.Top {\n readonly Type: { readonly _tag: string }\n}\n\n/** The shape of the served table: one selector paired with one row schema. */\ntype ServedTable = ReadonlyArray<readonly [SelectorSchema, Schema.Top]>\n\n/**\n * The row schema each served selector answers with.\n *\n * This table is the selector-to-row pairing, and it exists once. The selector\n * union, the projection names, `rowSchemaFor`, `ProjectionSnapshot`,\n * `RowFrame`, and `DeltaFrame` all derive from it, so serving one more\n * projection is one more entry here rather than five mirrored lists that can\n * disagree with each other.\n */\nconst served = [\n [WorkspaceRunsSelector, GatewayProjection.RunSummaryRow],\n [RunSummarySelector, GatewayProjection.RunSummaryRow],\n [RunEventsSelector, ControlSchema.ControlEvent],\n [TranscriptSelector, GatewayProjection.TranscriptRow],\n [RunTreeSelector, GatewayProjection.RunTreeRow],\n [ApprovalsSelector, GatewayProjection.ApprovalRow],\n [NodeOutputSelector, GatewayProjection.NodeOutputRow],\n [FlowDurationsSelector, GatewayProjection.FlowDurationRow]\n] as const satisfies ServedTable\n\n/** The served table as the type every derivation below maps over. */\ntype Served = typeof served\n\n/**\n * Maps the served table into a tuple whose members keep their own types.\n *\n * `Array.prototype.map` widens a tuple to an array of its element union, which\n * would collapse each derived union into an uncorrelated cross product of\n * every selector with every row. The mapped tuple type each caller names is\n * that correlation, and this restates it for the value.\n */\nconst overServed = <M>(map: (pair: Served[number]) => unknown): M => served.map(map) as unknown as M\n\n/** The selector schema of each served pair, in table order. */\ntype SelectorsOf<T extends ServedTable> = { readonly [K in keyof T]: T[K][0] }\n\n/** The projection name of each served pair, in table order. */\ntype NamesOf<T extends ServedTable> = { readonly [K in keyof T]: T[K][0][\"Type\"][\"_tag\"] }\n\n/**\n * A projection selected for a snapshot or watch subscription.\n *\n * @since 0.1.0\n * @category models\n */\nexport const ProjectionSelector = Schema.Union(\n overServed<SelectorsOf<Served>>(([selector]) => selector)\n)\n\n/**\n * A projection selected for a snapshot or watch subscription.\n *\n * @since 0.1.0\n * @category models\n */\nexport type ProjectionSelector = typeof ProjectionSelector.Type\n\n/**\n * Projection names served by the gateway read path.\n *\n * @since 0.1.0\n * @category models\n */\nexport const ProjectionName = Schema.Literals(\n overServed<NamesOf<Served>>(([selector]) => selector.fields._tag.schema.literal)\n)\n\n/**\n * A gateway projection name.\n *\n * @since 0.1.0\n * @category models\n */\nexport type ProjectionName = typeof ProjectionName.Type\n\n/** Each served row schema, keyed by the name of the selector it answers. */\ntype RowSchemas = { readonly [P in Served[number] as P[0][\"Type\"][\"_tag\"]]: P[1] }\n\nconst rowSchemas = Object.fromEntries(\n served.map(([selector, row]) => [selector.fields._tag.schema.literal, row])\n) as RowSchemas\n\n/**\n * The row schema one selector answers with, so a client decodes a snapshot\n * instead of casting it.\n *\n * A literal selector keeps its own row schema: `rowSchemaFor({ _tag:\n * \"approvals\" })` decodes to `ApprovalRow`, not to the union of every row.\n *\n * @param selector the selector whose row schema the client needs\n * @since 1.0.0\n * @category schemas\n */\nexport const rowSchemaFor = <S extends ProjectionSelector>(selector: S): RowSchemas[S[\"_tag\"]] =>\n rowSchemas[selector._tag] as RowSchemas[S[\"_tag\"]]\n\n/**\n * The row type one selector's projection is made of.\n *\n * @since 1.0.0\n * @category models\n */\nexport type RowOf<S extends ProjectionSelector> = RowSchemas[S[\"_tag\"]][\"Type\"]\n\n/**\n * A monotonic cursor for one projection and optional run scope.\n *\n * `runId` is null for workspace projections and records the source run for\n * per-run projections, even when a selector later gains more fields. Control\n * journal sequences belong to per-run partitions, so no workspace-wide\n * sequence exists. A workspace cursor therefore has value `0` and a null run,\n * and a workspace projection cannot resume from a cursor.\n *\n * @since 0.1.0\n * @category models\n */\nexport const ProjectionCursor = Schema.Struct({\n selector: ProjectionSelector,\n projection: ProjectionName,\n runId: Schema.NullOr(Schema.String),\n value: Schema.Int.check(\n Schema.isGreaterThanOrEqualTo(0),\n Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER)\n ),\n offset: Schema.Int.check(\n Schema.isGreaterThanOrEqualTo(0),\n Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER)\n )\n})\n\n/**\n * A monotonic projection cursor.\n *\n * @since 0.1.0\n * @category models\n */\nexport type ProjectionCursor = typeof ProjectionCursor.Type\n\n/** One snapshot member: every row one selector projects, at one cursor. */\nconst snapshotMember = <S extends Schema.Top, R extends Schema.Top>(selector: S, row: R) =>\n Schema.Struct({ selector, cursor: ProjectionCursor, rows: Schema.Array(row) })\n\n/** One row frame: a single row of one selector's projection. */\nconst rowMember = <S extends Schema.Top, R extends Schema.Top>(selector: S, row: R) =>\n Schema.TaggedStruct(\"row\", { selector, cursor: ProjectionCursor, row })\n\n/** One delta frame: the rows one selector's projection changed by. */\nconst deltaMember = <S extends Schema.Top, R extends Schema.Top>(selector: S, row: R) =>\n Schema.TaggedStruct(\"delta\", { selector, cursor: ProjectionCursor, delta: Schema.Array(row) })\n\ntype SnapshotMembersOf<T extends ServedTable> = {\n readonly [K in keyof T]: ReturnType<typeof snapshotMember<T[K][0], T[K][1]>>\n}\n\ntype RowMembersOf<T extends ServedTable> = {\n readonly [K in keyof T]: ReturnType<typeof rowMember<T[K][0], T[K][1]>>\n}\n\ntype DeltaMembersOf<T extends ServedTable> = {\n readonly [K in keyof T]: ReturnType<typeof deltaMember<T[K][0], T[K][1]>>\n}\n\n/**\n * Every row one selector currently projects, and the cursor they were read\n * at. A client that follows the same selector from this cursor sees each\n * later change exactly once.\n *\n * @since 1.0.0\n * @category models\n */\nexport const ProjectionSnapshot = Schema.Union(\n overServed<SnapshotMembersOf<Served>>(([selector, row]) => snapshotMember(selector, row))\n)\n\n/**\n * A projection snapshot and the cursor it was read at.\n *\n * @since 1.0.0\n * @category models\n */\nexport type ProjectionSnapshot = typeof ProjectionSnapshot.Type\n\n/**\n * The start of a selector snapshot.\n *\n * @since 0.1.0\n * @category models\n */\nexport const SnapshotStartFrame = Schema.TaggedStruct(\"snapshot-start\", {\n selector: ProjectionSelector,\n cursor: ProjectionCursor\n})\n\n/**\n * The start of a selector snapshot.\n *\n * @since 0.1.0\n * @category models\n */\nexport type SnapshotStartFrame = typeof SnapshotStartFrame.Type\n\n/**\n * A row emitted during a selector snapshot.\n *\n * @since 0.1.0\n * @category models\n */\nexport const RowFrame = Schema.Union(\n overServed<RowMembersOf<Served>>(([selector, row]) => rowMember(selector, row))\n)\n\n/**\n * A row emitted during a selector snapshot.\n *\n * @since 0.1.0\n * @category models\n */\nexport type RowFrame = typeof RowFrame.Type\n\n/**\n * The end of a selector snapshot.\n *\n * @since 0.1.0\n * @category models\n */\nexport const SnapshotEndFrame = Schema.TaggedStruct(\"snapshot-end\", {\n selector: ProjectionSelector,\n cursor: ProjectionCursor\n})\n\n/**\n * The end of a selector snapshot.\n *\n * @since 0.1.0\n * @category models\n */\nexport type SnapshotEndFrame = typeof SnapshotEndFrame.Type\n\n/**\n * A projection mutation after snapshot completion.\n *\n * `delta` replaces the selector's rows, except for the two append-only\n * projections: a `run-events` delta carries the one event that arrived and a\n * `transcript` delta carries the rows that event contributed, and a client\n * appends those to the rows it already holds.\n *\n * @since 0.1.0\n * @category models\n */\nexport const DeltaFrame = Schema.Union(\n overServed<DeltaMembersOf<Served>>(([selector, row]) => deltaMember(selector, row))\n)\n\n/**\n * A projection mutation after snapshot completion.\n *\n * @since 0.1.0\n * @category models\n */\nexport type DeltaFrame = typeof DeltaFrame.Type\n\n/**\n * A keepalive frame for an active subscription.\n *\n * @since 0.1.0\n * @category models\n */\nexport const HeartbeatFrame = Schema.TaggedStruct(\"heartbeat\", { atMs: Schema.Number })\n\n/**\n * A keepalive frame for an active subscription.\n *\n * @since 0.1.0\n * @category models\n */\nexport type HeartbeatFrame = typeof HeartbeatFrame.Type\n\n/**\n * A frame sent by the gateway subscription protocol.\n *\n * @since 0.1.0\n * @category models\n */\nexport const GatewayFrame = Schema.Union([\n SnapshotStartFrame,\n ...RowFrame.members,\n SnapshotEndFrame,\n ...DeltaFrame.members,\n HeartbeatFrame\n])\n\n/**\n * A frame sent by the gateway subscription protocol.\n *\n * @since 0.1.0\n * @category models\n */\nexport type GatewayFrame = typeof GatewayFrame.Type\n\n/**\n * The snapshot one selector answers with.\n *\n * A literal selector keeps its own rows: `SnapshotOf<ApprovalsSelector>` has\n * `ApprovalRow` rows, so a caller reads `requestId` without an assertion. A\n * selector union maps to the snapshot union, which is what a caller holding a\n * selector chosen at runtime still gets.\n *\n * @since 1.0.0\n * @category models\n */\nexport type SnapshotOf<S extends ProjectionSelector> = Extract<\n ProjectionSnapshot,\n { readonly selector: { readonly _tag: S[\"_tag\"] } }\n>\n\n/**\n * The frames one selector's subscription emits.\n *\n * Snapshot brackets and keepalives carry no rows and belong to every\n * selector; the row and delta frames are the selector's own.\n *\n * @since 1.0.0\n * @category models\n */\nexport type FrameOf<S extends ProjectionSelector> =\n | SnapshotStartFrame\n | SnapshotEndFrame\n | HeartbeatFrame\n | Extract<RowFrame, { readonly selector: { readonly _tag: S[\"_tag\"] } }>\n | Extract<DeltaFrame, { readonly selector: { readonly _tag: S[\"_tag\"] } }>\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,427 @@
1
+ /**
2
+ * The assembled workspace gateway: one HTTP surface carrying the control
3
+ * plane, the sync read path, the served projections, and a health probe.
4
+ *
5
+ * Mounts:
6
+ *
7
+ * | Path | Protocol | Serves |
8
+ * | --- | --- | --- |
9
+ * | `POST /rpc` | RPC over HTTP | `@smthrs/control` `ControlRpcs` |
10
+ * | `/rpc/ws` | RPC over WebSocket | `ControlRpcs`, including a kept-alive `Watch` |
11
+ * | `POST /projections` | RPC over HTTP | `GatewayRpcs` |
12
+ * | `/projections/ws` | RPC over WebSocket | `GatewayRpcs`, including `Projection.Subscribe` |
13
+ * | `POST /sync` | RPC over HTTP | `@smthrs/sync` `SyncRpcs` |
14
+ * | `/sync/ws` | RPC over WebSocket | `SyncRpcs` |
15
+ * | `GET /health` | JSON | `GatewaySchema.GatewayHealth` plus the package version |
16
+ * | `POST /auth/ticket` | JSON | A single-use {@link Ticket} that opens one protected socket |
17
+ *
18
+ * `/health` is deliberately unauthenticated: a supervisor decides whether to
19
+ * keep or replace a gateway process by asking which workspace it belongs to,
20
+ * and a probe that needed a credential could not answer that question about a
21
+ * gateway it did not start. The response carries identity only: the
22
+ * workspace hash, the gateway id, the protocol version, and the package
23
+ * version. It never carries a token, a run, or a path.
24
+ *
25
+ * @since 1.0.0
26
+ */
27
+ import { Control } from "@smthrs/control/Control";
28
+ import * as SyncServer from "@smthrs/sync/SyncServer";
29
+ import { Effect, Layer, Schema } from "effect";
30
+ import { HttpRouter } from "effect/unstable/http";
31
+ import { RpcSerialization, RpcServer } from "effect/unstable/rpc";
32
+ import { GatewayError } from "./GatewayError.ts";
33
+ import { Projections } from "./Projections.ts";
34
+ import * as RuntimeBridge from "./RuntimeBridge.ts";
35
+ /**
36
+ * What `GET /health` answers: the `GatewaySchema.GatewayHealth` identity plus
37
+ * the version of the package serving it.
38
+ *
39
+ * @since 1.0.0
40
+ * @category models
41
+ */
42
+ export declare const Health: Schema.Struct<{
43
+ readonly version: Schema.String;
44
+ readonly runtimeBridge: Schema.optional<Schema.Struct<{
45
+ readonly protocol: Schema.Literal<"smithers.flow-runtime/v1">;
46
+ readonly runtimeArtifactDigest: Schema.String;
47
+ readonly sourceRevision: Schema.String;
48
+ readonly ownerGeneration: Schema.Int;
49
+ }>>;
50
+ readonly workspaceHash: Schema.String;
51
+ readonly gatewayId: Schema.String;
52
+ readonly protocolVersion: Schema.String;
53
+ readonly capabilities: Schema.optionalKey<Schema.$Array<Schema.String>>;
54
+ }>;
55
+ /**
56
+ * What `GET /health` answers.
57
+ *
58
+ * @since 1.0.0
59
+ * @category models
60
+ */
61
+ export type Health = typeof Health.Type;
62
+ /**
63
+ * Mounts the unauthenticated health probe.
64
+ *
65
+ * @param health the identity this process serves under
66
+ * @since 1.0.0
67
+ * @category layers
68
+ */
69
+ export declare const layerHealth: (health: Health) => Layer.Layer<never, never, HttpRouter.HttpRouter>;
70
+ /**
71
+ * The gateway's own RPC handlers over the read path and the control plane.
72
+ *
73
+ * @since 1.0.0
74
+ * @category layers
75
+ */
76
+ export declare const layerHandlers: Layer.Layer<import("effect/unstable/rpc/Rpc").Handler<"Projection.Snapshot"> | import("effect/unstable/rpc/Rpc").Handler<"Projection.Subscribe"> | import("effect/unstable/rpc/Rpc").Handler<"Approval.Submit"> | import("effect/unstable/rpc/Rpc").Handler<"Run.Fork"> | import("effect/unstable/rpc/Rpc").Handler<"Run.Verify">, never, Control | Projections>;
77
+ /**
78
+ * The kind a `Watch` keepalive carries.
79
+ *
80
+ * `ControlRpcs.Watch` answers `ControlSchema.ControlEvent` and has no frame of
81
+ * its own for a keepalive, so the gateway publishes one as an event whose kind
82
+ * no emitter uses. A fold that does not know the kind ignores it, which is
83
+ * what every fold in this package and in `@smthrs/cli` `Forensics` already
84
+ * does with an unknown kind.
85
+ *
86
+ * @since 1.0.0
87
+ * @category models
88
+ */
89
+ export declare const watchHeartbeatKind = "control.gateway.heartbeat";
90
+ /**
91
+ * The control service the `/rpc` mounts read through: the ambient one, with
92
+ * the keepalive merged into `watch`.
93
+ *
94
+ * Wrapping the service rather than re-declaring the handlers keeps
95
+ * `@smthrs/control` `ControlServer` the single definition of what every
96
+ * procedure does, including the principal it stamps on every mutation that
97
+ * records who asked. Only `watch` behaves differently, and only in what it
98
+ * adds.
99
+ *
100
+ * @since 1.0.0
101
+ * @category layers
102
+ */
103
+ export declare const layerKeepAlive: (millis?: number) => Layer.Layer<Control, never, Control>;
104
+ /**
105
+ * The read path the `/projections` mounts serve through: the ambient one, with
106
+ * a followed subscription's keepalive re-timed to the bind's cadence.
107
+ *
108
+ * `Projections.make` already merges a `heartbeat` frame at the cadence it was
109
+ * built with. A host that supplies `Projections.layer` and sets the cadence at
110
+ * the bind expects one option to govern both keepalives, so this replaces the
111
+ * service's beats with beats at the bind's cadence rather than adding a second
112
+ * channel. Snapshot reads are left alone: they have to end.
113
+ *
114
+ * @param millis how often an idle followed subscription emits a keepalive
115
+ * @since 1.0.0
116
+ * @category layers
117
+ */
118
+ export declare const layerProjectionsKeepAlive: (millis: number) => Layer.Layer<Projections, never, Projections>;
119
+ /**
120
+ * Mounts the control plane on `POST /rpc` and `/rpc/ws`, with the keepalive.
121
+ *
122
+ * @param millis how often an idle followed watch emits one, defaulting to
123
+ * `Projections.heartbeatIntervalMillis`
124
+ * @since 1.0.0
125
+ * @category layers
126
+ */
127
+ export declare const layerControlHttp: (millis?: number | undefined) => Layer.Layer<RpcServer.Protocol, never, Control | import("@smthrs/control/ControlRpcs").ControlAuth | HttpRouter.HttpRouter | RpcSerialization.RpcSerialization>;
128
+ /**
129
+ * Mounts the gateway's projections on `POST /projections` and
130
+ * `/projections/ws`.
131
+ *
132
+ * Both protocols are mounted together because a client reads a snapshot over
133
+ * the request/response path and follows deltas over the socket, and pointing
134
+ * those at two different servers would let them disagree.
135
+ *
136
+ * @since 1.0.0
137
+ * @category layers
138
+ */
139
+ export declare const layerProjectionsHttp: Layer.Layer<RpcServer.Protocol, never, Control | import("@smthrs/control/ControlRpcs").ControlAuth | HttpRouter.HttpRouter | RpcSerialization.RpcSerialization | Projections>;
140
+ /**
141
+ * Mounts the sync read path on `POST /sync` and `/sync/ws`.
142
+ *
143
+ * @since 1.0.0
144
+ * @category layers
145
+ */
146
+ export declare const layerSyncHttp: Layer.Layer<RpcServer.Protocol, never, HttpRouter.HttpRouter | RpcSerialization.RpcSerialization | import("@smthrs/sync/SyncRpcs").SyncAuth | SyncServer.SyncServer>;
147
+ /**
148
+ * The POST mounts that carry RPC request messages and nothing else.
149
+ *
150
+ * @since 1.0.0
151
+ * @category constants
152
+ */
153
+ export declare const rpcPaths: ReadonlyArray<string>;
154
+ /**
155
+ * POST mounts whose request bodies are bounded before their handlers read.
156
+ *
157
+ * @since 1.0.0
158
+ * @category constants
159
+ */
160
+ export declare const boundedPostPaths: ReadonlyArray<string>;
161
+ /**
162
+ * RPC paths whose upgrade or request must pass edge authentication.
163
+ *
164
+ * `POST /rpc` is deliberately not one of them. The control mount authenticates
165
+ * in band through `@smthrs/control` `ControlRpcs.ControlAuth`, whose declared
166
+ * error is `ControlError.Unauthorized`, and that typed control error is the
167
+ * refusal the control plane publishes: "Missing, malformed, empty, and
168
+ * incorrect credentials all return the same typed `Unauthorized` control
169
+ * error" (`packages/smithers/gateway/docs/guides/serve-beyond-loopback.md`). An edge 401 answered
170
+ * ahead of the mount, and `ControlClient` filters a non-2xx status, so every
171
+ * refusal reached a caller as a `TransportError`, the one error class
172
+ * `@smthrs/control` reserves for a request that failed *before* a declared
173
+ * control response reached it. It also made the gateway refuse a call
174
+ * differently from `NodeControl.layerServer` hosting the very same
175
+ * `ControlRpcs`. The body limit below still applies to `/rpc`, so an
176
+ * unauthenticated caller buys one bounded body read and nothing else.
177
+ *
178
+ * The `/rpc/ws` upgrade stays here. A socket is a resource the server holds
179
+ * open, the RPC middleware can only refuse frames on a socket that already
180
+ * exists, and a refused handshake has no RPC channel to answer a typed error
181
+ * on, so its refusal is a transport fact either way.
182
+ *
183
+ * @category constants
184
+ * @since 1.0.0
185
+ */
186
+ export declare const protectedPaths: ReadonlyArray<string>;
187
+ /**
188
+ * The mount a request target reaches, spelled the way {@link rpcPaths} and
189
+ * {@link protectedPaths} spell it.
190
+ *
191
+ * The guard runs before the router and has to reach the router's verdict, or
192
+ * an alias walks past the credential check and the body limit and is answered
193
+ * by the mount anyway. Measured against `HttpRouter` on this tree, all of
194
+ * `/%72pc`, `/rpc;transport-parameter`, `/rpc/`, `//rpc`, `///rpc`, `/rpc//`,
195
+ * `/RPC`, `/./rpc`, and `/foo/../rpc` reach the `/rpc` handler, while
196
+ * `/rpc%2f`, `/rpc%3Bp`, `/%2frpc`, and `/rpc%20` do not. This is not only
197
+ * about crafted aliases: `@smthrs/control` `ControlClient`'s HTTP protocol
198
+ * posts every call to `/rpc/`, so a literal comparison skipped the body limit
199
+ * on the path the product's own client uses.
200
+ *
201
+ * Each segment is therefore taken without its `;` parameter, empty segments are
202
+ * dropped, and what is left is decoded with `decodeURI` and compared without
203
+ * regard to case. `decodeURI` is the decoder rather than `decodeURIComponent`
204
+ * because it leaves a reserved character encoded, which is what keeps
205
+ * `/rpc%2f` a different path here exactly as it is to the router. An invalid
206
+ * escape is left as written, since it names no mount either way.
207
+ *
208
+ * Dot segments are resolved by `URL` before the split. The normalization errs
209
+ * toward matching: a spelling this resolves to a mount that the router then
210
+ * refuses is answered 401 rather than 404, which costs an unauthenticated
211
+ * caller nothing it was entitled to.
212
+ *
213
+ * @param url the request target, origin-relative or absolute
214
+ * @since 1.0.0
215
+ * @category constructors
216
+ */
217
+ export declare const routedPath: (url: string) => string;
218
+ /**
219
+ * The mount that exchanges a bearer credential for a WebSocket {@link Ticket}.
220
+ *
221
+ * @since 1.0.0
222
+ * @category constants
223
+ */
224
+ export declare const ticketPath = "/auth/ticket";
225
+ /**
226
+ * The protected socket mounts a {@link Ticket} opens.
227
+ *
228
+ * @since 1.0.0
229
+ * @category constants
230
+ */
231
+ export declare const ticketPaths: ReadonlyArray<string>;
232
+ /**
233
+ * How long an unredeemed {@link Ticket} stays valid (thirty seconds).
234
+ *
235
+ * @since 1.0.0
236
+ * @category constants
237
+ */
238
+ export declare const defaultTicketMillis = 30000;
239
+ /**
240
+ * What `POST /auth/ticket` answers.
241
+ *
242
+ * A browser `WebSocket` cannot set an `Authorization` header, so a browser
243
+ * client first posts its bearer to `/auth/ticket`, then opens a protected
244
+ * socket as `<mount>?ticket=<ticket>` within `expiresInMs`. The first upgrade
245
+ * that presents the ticket consumes it, whether or not the upgrade completes;
246
+ * a replay or a late one is refused 401. The socket then runs under the
247
+ * bearer the ticket was issued for, so every frame authenticates as it would
248
+ * with the header.
249
+ *
250
+ * @since 1.0.0
251
+ * @category models
252
+ */
253
+ export declare const Ticket: Schema.Struct<{
254
+ readonly ticket: Schema.String;
255
+ readonly expiresInMs: Schema.Number;
256
+ }>;
257
+ /**
258
+ * What `POST /auth/ticket` answers.
259
+ *
260
+ * @since 1.0.0
261
+ * @category models
262
+ */
263
+ export type Ticket = typeof Ticket.Type;
264
+ /**
265
+ * Default maximum request body accepted by an RPC mount (one MiB).
266
+ *
267
+ * @category constants
268
+ * @since 1.0.0
269
+ */
270
+ export declare const defaultMaxRequestBodyBytes: number;
271
+ /**
272
+ * Ingress policy enforced before an RPC transport parses a request.
273
+ *
274
+ * @category models
275
+ * @since 1.0.0
276
+ */
277
+ export interface IngressOptions {
278
+ /** Accepted Host header names, without ports. Defaults to loopback names. */
279
+ readonly allowedHosts?: ReadonlyArray<string> | undefined;
280
+ readonly maxRequestBodyBytes?: number | undefined;
281
+ /** Confine requests to loopback Host values and browser origins. */
282
+ readonly loopbackOnly?: boolean | undefined;
283
+ /**
284
+ * Edge authentication for {@link protectedPaths}, told which mount the
285
+ * request reaches. When set, `POST /auth/ticket` exchanges a credential it
286
+ * accepts for a {@link Ticket}, and a redeemed ticket's credential is judged
287
+ * again for the mount its upgrade reaches.
288
+ */
289
+ readonly authorize?: (headers: Readonly<Record<string, string>>, path: string) => Effect.Effect<boolean>;
290
+ /** How long an unredeemed ticket stays valid. Default {@link defaultTicketMillis}. */
291
+ readonly ticketMillis?: number | undefined;
292
+ }
293
+ /**
294
+ * The names that mean this machine only, as a bind address is spelled.
295
+ *
296
+ * This is a list of spellings a person types, not a subnet test: `127.0.0.2`
297
+ * is loopback to the kernel and is not on it. The Node host's
298
+ * `isLoopbackHost`, the Host-header names below, and the ingress regex all
299
+ * derive from this one list so widening it is one edit.
300
+ *
301
+ * @since 1.0.0
302
+ * @category constants
303
+ */
304
+ export declare const loopbackHostNames: ReadonlyArray<string>;
305
+ /**
306
+ * {@link loopbackHostNames} as a Host header spells them: an IPv6 address is
307
+ * bracketed as a URL authority. This is the default `allowedHosts`.
308
+ *
309
+ * @since 1.0.0
310
+ * @category constants
311
+ */
312
+ export declare const loopbackHostHeaderNames: ReadonlyArray<string>;
313
+ /**
314
+ * Whether a failed request-body read hit the configured size limit rather than
315
+ * failing for another reason.
316
+ *
317
+ * `@effect/platform-node` raises the limit as an `HttpServerError` whose
318
+ * `reason` is a `RequestParseError` carrying the `Error("maxBytes exceeded")`
319
+ * that `@effect/platform-node-shared` `NodeStream.toString` throws
320
+ * (`NodeHttpIncomingMessage.text` passes `MaxBodySize` in as `maxBytes`, and
321
+ * `NodeHttpServer`'s `ServerRequestImpl` wraps whatever it throws). Nothing on
322
+ * the wire distinguishes it otherwise, so the check is that exact shape and a
323
+ * version bump of those packages is the thing to re-read it against.
324
+ *
325
+ * Every other read failure, a transport reset among them, is not a size
326
+ * overflow. Answering 413 for all of them told a client to shrink a request
327
+ * that was never too big.
328
+ *
329
+ * @param error the failure a body read produced
330
+ * @since 1.0.0
331
+ * @category predicates
332
+ */
333
+ export declare const exceededBodyLimit: (error: unknown) => boolean;
334
+ /**
335
+ * The refusal a failed request-body read earns, and the status it answers
336
+ * under.
337
+ *
338
+ * A body over the limit is 413 `request_too_large`. Every other read failure,
339
+ * a truncated body or a reset transport among them, is 400
340
+ * `malformed_request`: the request cannot be retried smaller, because its size
341
+ * was never the problem.
342
+ *
343
+ * @param path the mount the request was made to
344
+ * @param maxBytes the configured limit
345
+ * @param error the failure the body read produced
346
+ * @since 1.0.0
347
+ * @category constructors
348
+ */
349
+ export declare const bodyRefusal: (path: string, maxBytes: number, error: unknown) => {
350
+ readonly error: GatewayError;
351
+ readonly status: number;
352
+ };
353
+ /**
354
+ * Whether a request body carries at least one RPC message the server can act
355
+ * on.
356
+ *
357
+ * The transport's own parser answers, not a second reading of the wire
358
+ * format: whatever `RpcSerialization` the host composed decodes the body, and
359
+ * the answer is no only when that decode throws or yields no tagged message.
360
+ * A body naming a procedure that does not exist is a yes — that is an
361
+ * RPC-level defect the protocol itself reports.
362
+ *
363
+ * A binary framing is always a yes. Its body is not text, so there is nothing
364
+ * to read here, and the mount owns it.
365
+ *
366
+ * @since 1.0.0
367
+ * @category predicates
368
+ */
369
+ export declare const carriesRpcRequest: (serialization: RpcSerialization.RpcSerialization["Service"], body: string) => boolean;
370
+ /**
371
+ * Enforces local Host/Origin policy and edge authentication before reading a
372
+ * body or upgrading a socket, then validates RPC body size and framing.
373
+ *
374
+ * `effect/unstable/rpc` hands every decoded message to the server loop, and a
375
+ * body that decodes to something else — `{}`, `[]`, prose, nothing at all —
376
+ * reached it as a message with no tag and died there, so the gateway answered
377
+ * `500 Internal Server Error` with an empty body (release validation). That is the
378
+ * wrong half of the contract twice over: it tells an operator the gateway
379
+ * broke, and it tells a client to retry a request that can never succeed.
380
+ *
381
+ * The body reader is cached per request, so reading the body here does not
382
+ * consume the body the mount reads. It is read through the reader the mount
383
+ * uses, `text` under a JSON serialization and `arrayBuffer` under a binary
384
+ * one, so the bytes the mount decodes are the bytes the client sent.
385
+ *
386
+ * @since 1.0.0
387
+ * @category layers
388
+ */
389
+ export declare const layerIngress: (options?: IngressOptions) => Layer.Layer<never, GatewayError, never> | Layer.Layer<never, never, HttpRouter.HttpRouter | RpcSerialization.RpcSerialization>;
390
+ /**
391
+ * How an assembled gateway is configured.
392
+ *
393
+ * @category models
394
+ * @since 1.0.0
395
+ */
396
+ export interface LayerOptions {
397
+ /**
398
+ * How often an idle followed `Watch` on `/rpc/ws` and an idle followed
399
+ * `Projection.Subscribe` on `/projections/ws` emit a keepalive. Unset, the
400
+ * `Watch` keepalive runs at `Projections.heartbeatIntervalMillis` and the
401
+ * supplied `Projections` service keeps the cadence it was built with.
402
+ */
403
+ readonly heartbeatMillis?: number | undefined;
404
+ /** The ingress policy the RPC mounts run behind. */
405
+ readonly ingress?: IngressOptions | undefined;
406
+ /** Enables the authenticated Go-to-Control runtime bridge. */
407
+ readonly runtimeBridge?: RuntimeBridge.Config | undefined;
408
+ }
409
+ /**
410
+ * The whole gateway surface, as one application layer a host serves.
411
+ *
412
+ * The caller supplies the transport serialization, the authentication
413
+ * middleware for both RPC groups, and the services the mounts read through
414
+ * (`Control`, `Projections`, `SyncServer`). `@smthrs/gateway/node/NodeGateway`
415
+ * is the Node host that binds this to a socket.
416
+ *
417
+ * A keepalive cadence or a body limit that is not a positive safe integer is
418
+ * refused here, before anything binds, through the layer's typed
419
+ * `GatewayError` channel.
420
+ *
421
+ * @param health the identity `GET /health` answers with
422
+ * @param options the keepalive cadence and the ingress policy
423
+ * @since 1.0.0
424
+ * @category layers
425
+ */
426
+ export declare const layer: (health: Health, options?: LayerOptions) => Layer.Layer<never, GatewayError, never> | Layer.Layer<RpcServer.Protocol, GatewayError | import("@smthrs/sync/SyncError").SyncError, Control | import("@smthrs/control/ControlRpcs").ControlAuth | HttpRouter.HttpRouter | RpcSerialization.RpcSerialization | import("@smthrs/sync/SyncRpcs").SyncAuth | SyncServer.SyncServer | Projections | HttpRouter.Request<"Requires", Control>>;
427
+ //# sourceMappingURL=GatewayServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GatewayServer.d.ts","sourceRoot":"","sources":["../../src/GatewayServer.ts"],"names":[],"mappings":"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"}