@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.
- package/CHANGELOG.md +198 -0
- package/LICENSE +1 -1
- package/README.md +92 -0
- package/dist/cjs/Diagnosis.d.ts +275 -0
- package/dist/cjs/Diagnosis.d.ts.map +1 -0
- package/dist/cjs/Diagnosis.js +476 -0
- package/dist/cjs/Diagnosis.js.map +7 -0
- package/dist/cjs/EngineTrace.d.ts +76 -0
- package/dist/cjs/EngineTrace.d.ts.map +1 -0
- package/dist/cjs/EngineTrace.js +501 -0
- package/dist/cjs/EngineTrace.js.map +7 -0
- package/dist/cjs/GatewayError.d.ts +54 -0
- package/dist/cjs/GatewayError.d.ts.map +1 -0
- package/dist/cjs/GatewayError.js +51 -0
- package/dist/cjs/GatewayError.js.map +7 -0
- package/dist/cjs/GatewayProjection.d.ts +480 -0
- package/dist/cjs/GatewayProjection.d.ts.map +1 -0
- package/dist/cjs/GatewayProjection.js +462 -0
- package/dist/cjs/GatewayProjection.js.map +7 -0
- package/dist/cjs/GatewayRpcs.d.ts +1886 -0
- package/dist/cjs/GatewayRpcs.d.ts.map +1 -0
- package/dist/cjs/GatewayRpcs.js +121 -0
- package/dist/cjs/GatewayRpcs.js.map +7 -0
- package/dist/cjs/GatewaySchema.d.ts +3274 -0
- package/dist/cjs/GatewaySchema.d.ts.map +1 -0
- package/dist/cjs/GatewaySchema.js +141 -0
- package/dist/cjs/GatewaySchema.js.map +7 -0
- package/dist/cjs/GatewayServer.d.ts +427 -0
- package/dist/cjs/GatewayServer.d.ts.map +1 -0
- package/dist/cjs/GatewayServer.js +428 -0
- package/dist/cjs/GatewayServer.js.map +7 -0
- package/dist/cjs/HostBranchPresence.d.ts +12 -0
- package/dist/cjs/HostBranchPresence.d.ts.map +1 -0
- package/dist/cjs/HostBranchPresence.js +82 -0
- package/dist/cjs/HostBranchPresence.js.map +7 -0
- package/dist/cjs/Projections.d.ts +209 -0
- package/dist/cjs/Projections.d.ts.map +1 -0
- package/dist/cjs/Projections.js +906 -0
- package/dist/cjs/Projections.js.map +7 -0
- package/dist/cjs/RunDevTools.d.ts +181 -0
- package/dist/cjs/RunDevTools.d.ts.map +1 -0
- package/dist/cjs/RunDevTools.js +195 -0
- package/dist/cjs/RunDevTools.js.map +7 -0
- package/dist/cjs/RunHistory.d.ts +185 -0
- package/dist/cjs/RunHistory.d.ts.map +1 -0
- package/dist/cjs/RunHistory.js +68 -0
- package/dist/cjs/RunHistory.js.map +7 -0
- package/dist/cjs/RunTrace.d.ts +753 -0
- package/dist/cjs/RunTrace.d.ts.map +1 -0
- package/dist/cjs/RunTrace.js +1593 -0
- package/dist/cjs/RunTrace.js.map +7 -0
- package/dist/cjs/RuntimeBridge.d.ts +1386 -0
- package/dist/cjs/RuntimeBridge.d.ts.map +1 -0
- package/dist/cjs/RuntimeBridge.js +598 -0
- package/dist/cjs/RuntimeBridge.js.map +7 -0
- package/dist/cjs/bun/BunGateway.d.ts +20 -0
- package/dist/cjs/bun/BunGateway.d.ts.map +1 -0
- package/dist/cjs/bun/BunGateway.js +62 -0
- package/dist/cjs/bun/BunGateway.js.map +7 -0
- package/dist/cjs/index.d.ts +65 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +59 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/internal/NativeGateway.d.ts +176 -0
- package/dist/cjs/internal/NativeGateway.d.ts.map +1 -0
- package/dist/cjs/internal/NativeGateway.js +187 -0
- package/dist/cjs/internal/NativeGateway.js.map +7 -0
- package/dist/cjs/internal/actionRenderings.d.ts +2 -0
- package/dist/cjs/internal/actionRenderings.d.ts.map +1 -0
- package/dist/cjs/internal/actionRenderings.js +224 -0
- package/dist/cjs/internal/actionRenderings.js.map +7 -0
- package/dist/cjs/internal/callEvents.d.ts +97 -0
- package/dist/cjs/internal/callEvents.d.ts.map +1 -0
- package/dist/cjs/internal/callEvents.js +169 -0
- package/dist/cjs/internal/callEvents.js.map +7 -0
- package/dist/cjs/internal/digestIndex.d.ts +31 -0
- package/dist/cjs/internal/digestIndex.d.ts.map +1 -0
- package/dist/cjs/internal/digestIndex.js +105 -0
- package/dist/cjs/internal/digestIndex.js.map +7 -0
- package/dist/cjs/internal/digestMemory.d.ts +19 -0
- package/dist/cjs/internal/digestMemory.d.ts.map +1 -0
- package/dist/cjs/internal/digestMemory.js +33 -0
- package/dist/cjs/internal/digestMemory.js.map +7 -0
- package/dist/cjs/internal/inspectLabels.d.ts +8 -0
- package/dist/cjs/internal/inspectLabels.d.ts.map +1 -0
- package/dist/cjs/internal/inspectLabels.js +29 -0
- package/dist/cjs/internal/inspectLabels.js.map +7 -0
- package/dist/cjs/internal/nativeResolution.d.ts +41 -0
- package/dist/cjs/internal/nativeResolution.d.ts.map +1 -0
- package/dist/cjs/internal/nativeResolution.js +62 -0
- package/dist/cjs/internal/nativeResolution.js.map +7 -0
- package/dist/cjs/internal/nodeEvents.d.ts +47 -0
- package/dist/cjs/internal/nodeEvents.d.ts.map +1 -0
- package/dist/cjs/internal/nodeEvents.js +60 -0
- package/dist/cjs/internal/nodeEvents.js.map +7 -0
- package/dist/cjs/node/NodeGateway.d.ts +16 -0
- package/dist/cjs/node/NodeGateway.d.ts.map +1 -0
- package/dist/cjs/node/NodeGateway.js +48 -0
- package/dist/cjs/node/NodeGateway.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/Diagnosis.d.ts +275 -0
- package/dist/esm/Diagnosis.d.ts.map +1 -0
- package/dist/esm/Diagnosis.js +697 -0
- package/dist/esm/Diagnosis.js.map +1 -0
- package/dist/esm/EngineTrace.d.ts +76 -0
- package/dist/esm/EngineTrace.d.ts.map +1 -0
- package/dist/esm/EngineTrace.js +548 -0
- package/dist/esm/EngineTrace.js.map +1 -0
- package/dist/esm/GatewayError.d.ts +54 -0
- package/dist/esm/GatewayError.d.ts.map +1 -0
- package/dist/esm/GatewayError.js +60 -0
- package/dist/esm/GatewayError.js.map +1 -0
- package/dist/esm/GatewayProjection.d.ts +480 -0
- package/dist/esm/GatewayProjection.d.ts.map +1 -0
- package/dist/esm/GatewayProjection.js +792 -0
- package/dist/esm/GatewayProjection.js.map +1 -0
- package/dist/esm/GatewayRpcs.d.ts +1886 -0
- package/dist/esm/GatewayRpcs.d.ts.map +1 -0
- package/dist/esm/GatewayRpcs.js +145 -0
- package/dist/esm/GatewayRpcs.js.map +1 -0
- package/dist/esm/GatewaySchema.d.ts +3274 -0
- package/dist/esm/GatewaySchema.d.ts.map +1 -0
- package/dist/esm/GatewaySchema.js +244 -0
- package/dist/esm/GatewaySchema.js.map +1 -0
- package/dist/esm/GatewayServer.d.ts +427 -0
- package/dist/esm/GatewayServer.d.ts.map +1 -0
- package/dist/esm/GatewayServer.js +725 -0
- package/dist/esm/GatewayServer.js.map +1 -0
- package/dist/esm/HostBranchPresence.d.ts +12 -0
- package/dist/esm/HostBranchPresence.d.ts.map +1 -0
- package/dist/esm/HostBranchPresence.js +54 -0
- package/dist/esm/HostBranchPresence.js.map +1 -0
- package/dist/esm/Projections.d.ts +209 -0
- package/dist/esm/Projections.d.ts.map +1 -0
- package/dist/esm/Projections.js +1254 -0
- package/dist/esm/Projections.js.map +1 -0
- package/dist/esm/RunDevTools.d.ts +181 -0
- package/dist/esm/RunDevTools.d.ts.map +1 -0
- package/dist/esm/RunDevTools.js +281 -0
- package/dist/esm/RunDevTools.js.map +1 -0
- package/dist/esm/RunHistory.d.ts +185 -0
- package/dist/esm/RunHistory.d.ts.map +1 -0
- package/dist/esm/RunHistory.js +109 -0
- package/dist/esm/RunHistory.js.map +1 -0
- package/dist/esm/RunTrace.d.ts +753 -0
- package/dist/esm/RunTrace.d.ts.map +1 -0
- package/dist/esm/RunTrace.js +2105 -0
- package/dist/esm/RunTrace.js.map +1 -0
- package/dist/esm/RuntimeBridge.d.ts +1386 -0
- package/dist/esm/RuntimeBridge.d.ts.map +1 -0
- package/dist/esm/RuntimeBridge.js +659 -0
- package/dist/esm/RuntimeBridge.js.map +1 -0
- package/dist/esm/bun/BunGateway.d.ts +20 -0
- package/dist/esm/bun/BunGateway.d.ts.map +1 -0
- package/dist/esm/bun/BunGateway.js +32 -0
- package/dist/esm/bun/BunGateway.js.map +1 -0
- package/dist/esm/index.d.ts +65 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +65 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/NativeGateway.d.ts +176 -0
- package/dist/esm/internal/NativeGateway.d.ts.map +1 -0
- package/dist/esm/internal/NativeGateway.js +268 -0
- package/dist/esm/internal/NativeGateway.js.map +1 -0
- package/dist/esm/internal/actionRenderings.d.ts +2 -0
- package/dist/esm/internal/actionRenderings.d.ts.map +1 -0
- package/dist/esm/internal/actionRenderings.js +202 -0
- package/dist/esm/internal/actionRenderings.js.map +1 -0
- package/dist/esm/internal/callEvents.d.ts +97 -0
- package/dist/esm/internal/callEvents.d.ts.map +1 -0
- package/dist/esm/internal/callEvents.js +206 -0
- package/dist/esm/internal/callEvents.js.map +1 -0
- package/dist/esm/internal/digestIndex.d.ts +31 -0
- package/dist/esm/internal/digestIndex.d.ts.map +1 -0
- package/dist/esm/internal/digestIndex.js +87 -0
- package/dist/esm/internal/digestIndex.js.map +1 -0
- package/dist/esm/internal/digestMemory.d.ts +19 -0
- package/dist/esm/internal/digestMemory.d.ts.map +1 -0
- package/dist/esm/internal/digestMemory.js +23 -0
- package/dist/esm/internal/digestMemory.js.map +1 -0
- package/dist/esm/internal/inspectLabels.d.ts +8 -0
- package/dist/esm/internal/inspectLabels.d.ts.map +1 -0
- package/dist/esm/internal/inspectLabels.js +12 -0
- package/dist/esm/internal/inspectLabels.js.map +1 -0
- package/dist/esm/internal/nativeResolution.d.ts +41 -0
- package/dist/esm/internal/nativeResolution.d.ts.map +1 -0
- package/dist/esm/internal/nativeResolution.js +78 -0
- package/dist/esm/internal/nativeResolution.js.map +1 -0
- package/dist/esm/internal/nodeEvents.d.ts +47 -0
- package/dist/esm/internal/nodeEvents.d.ts.map +1 -0
- package/dist/esm/internal/nodeEvents.js +60 -0
- package/dist/esm/internal/nodeEvents.js.map +1 -0
- package/dist/esm/node/NodeGateway.d.ts +16 -0
- package/dist/esm/node/NodeGateway.d.ts.map +1 -0
- package/dist/esm/node/NodeGateway.js +13 -0
- package/dist/esm/node/NodeGateway.js.map +1 -0
- package/dist/vendor/adapters.json +2707 -0
- package/dist/vendor/bun/BunChildProcessSpawner.d.ts +7 -0
- package/dist/vendor/bun/BunChildProcessSpawner.js +14 -0
- package/dist/vendor/bun/BunClusterHttp.d.ts +83 -0
- package/dist/vendor/bun/BunClusterHttp.js +39 -0
- package/dist/vendor/bun/BunClusterSocket.d.ts +65 -0
- package/dist/vendor/bun/BunClusterSocket.js +22 -0
- package/dist/vendor/bun/BunCrypto.d.ts +10 -0
- package/dist/vendor/bun/BunCrypto.js +8 -0
- package/dist/vendor/bun/BunFileSystem.d.ts +10 -0
- package/dist/vendor/bun/BunFileSystem.js +9 -0
- package/dist/vendor/bun/BunHttpClient.d.ts +9 -0
- package/dist/vendor/bun/BunHttpClient.js +1 -0
- package/dist/vendor/bun/BunHttpPlatform.d.ts +10 -0
- package/dist/vendor/bun/BunHttpPlatform.js +11 -0
- package/dist/vendor/bun/BunHttpServer.d.ts +142 -0
- package/dist/vendor/bun/BunHttpServer.js +38 -0
- package/dist/vendor/bun/BunHttpServerRequest.d.ts +18 -0
- package/dist/vendor/bun/BunHttpServerRequest.js +7 -0
- package/dist/vendor/bun/BunMultipart.d.ts +31 -0
- package/dist/vendor/bun/BunMultipart.js +12 -0
- package/dist/vendor/bun/BunPath.d.ts +24 -0
- package/dist/vendor/bun/BunPath.js +12 -0
- package/dist/vendor/bun/BunRedis.d.ts +49 -0
- package/dist/vendor/bun/BunRedis.js +11 -0
- package/dist/vendor/bun/BunRuntime.d.ts +85 -0
- package/dist/vendor/bun/BunRuntime.js +8 -0
- package/dist/vendor/bun/BunServices.d.ts +34 -0
- package/dist/vendor/bun/BunServices.js +23 -0
- package/dist/vendor/bun/BunSink.d.ts +8 -0
- package/dist/vendor/bun/BunSink.js +12 -0
- package/dist/vendor/bun/BunSocket.d.ts +40 -0
- package/dist/vendor/bun/BunSocket.js +29 -0
- package/dist/vendor/bun/BunSocketServer.d.ts +8 -0
- package/dist/vendor/bun/BunSocketServer.js +21 -0
- package/dist/vendor/bun/BunStdio.d.ts +11 -0
- package/dist/vendor/bun/BunStdio.js +10 -0
- package/dist/vendor/bun/BunStream.d.ts +19 -0
- package/dist/vendor/bun/BunStream.js +30 -0
- package/dist/vendor/bun/BunTerminal.d.ts +21 -0
- package/dist/vendor/bun/BunTerminal.js +10 -0
- package/dist/vendor/bun/BunWorker.d.ts +20 -0
- package/dist/vendor/bun/BunWorker.js +9 -0
- package/dist/vendor/bun/BunWorkerRunner.d.ts +12 -0
- package/dist/vendor/bun/BunWorkerRunner.js +7 -0
- package/dist/vendor/bun/LICENSE +21 -0
- package/dist/vendor/bun/index.d.ts +92 -0
- package/dist/vendor/bun/index.js +107 -0
- package/dist/vendor/chunk-2GCOZTTW.js +48 -0
- package/dist/vendor/chunk-37CUR3PO.js +81 -0
- package/dist/vendor/chunk-3ARKKENZ.js +45 -0
- package/dist/vendor/chunk-3NV2UDBI.js +7 -0
- package/dist/vendor/chunk-3OSW7CT7.js +143 -0
- package/dist/vendor/chunk-62R63L74.js +62 -0
- package/dist/vendor/chunk-6AQLBC2I.js +118 -0
- package/dist/vendor/chunk-6C5H7S6B.js +18 -0
- package/dist/vendor/chunk-6DY5RBZD.js +85 -0
- package/dist/vendor/chunk-6UPBD47P.js +53 -0
- package/dist/vendor/chunk-AVVVN75Z.js +96 -0
- package/dist/vendor/chunk-B4DHEMBB.js +14 -0
- package/dist/vendor/chunk-BCK3NJOX.js +15 -0
- package/dist/vendor/chunk-BFBIHJ6X.js +0 -0
- package/dist/vendor/chunk-CES4OUM4.js +63 -0
- package/dist/vendor/chunk-D64L6YND.js +59 -0
- package/dist/vendor/chunk-DS2R6WOM.js +18 -0
- package/dist/vendor/chunk-DX4Z23DM.js +65 -0
- package/dist/vendor/chunk-DZ2VOUDP.js +564 -0
- package/dist/vendor/chunk-FOXN6JPJ.js +61 -0
- package/dist/vendor/chunk-FPQF7CR5.js +55 -0
- package/dist/vendor/chunk-FUTCTCEG.js +20 -0
- package/dist/vendor/chunk-GUPAV2YZ.js +18 -0
- package/dist/vendor/chunk-H2Z2Y4QH.js +70 -0
- package/dist/vendor/chunk-HAEDVSSM.js +129 -0
- package/dist/vendor/chunk-HY7BBL3K.js +93 -0
- package/dist/vendor/chunk-IFTTT6D5.js +31 -0
- package/dist/vendor/chunk-KQDSNB7M.js +26 -0
- package/dist/vendor/chunk-LIHLXXGQ.js +26 -0
- package/dist/vendor/chunk-LKCGQEE5.js +28 -0
- package/dist/vendor/chunk-MH2J3BYB.js +0 -0
- package/dist/vendor/chunk-ML2NAFH2.js +131 -0
- package/dist/vendor/chunk-MLFIZ5O2.js +0 -0
- package/dist/vendor/chunk-MLKGABMK.js +9 -0
- package/dist/vendor/chunk-MSCLEMYX.js +71 -0
- package/dist/vendor/chunk-OBWXQKVP.js +57 -0
- package/dist/vendor/chunk-QR557K66.js +20 -0
- package/dist/vendor/chunk-R4QUY7DH.js +18 -0
- package/dist/vendor/chunk-RGECXXJS.js +18 -0
- package/dist/vendor/chunk-TFY7W6D4.js +36 -0
- package/dist/vendor/chunk-TGPIVY4A.js +104 -0
- package/dist/vendor/chunk-TGXCX6W3.js +398 -0
- package/dist/vendor/chunk-TOHSFXMV.js +437 -0
- package/dist/vendor/chunk-UHIDPUFF.js +34 -0
- package/dist/vendor/chunk-ULT6CWUI.js +109 -0
- package/dist/vendor/chunk-UXBGYQR3.js +18 -0
- package/dist/vendor/chunk-V6LUGQ7O.js +21 -0
- package/dist/vendor/chunk-W4OASVX6.js +92 -0
- package/dist/vendor/chunk-WAII54GA.js +18 -0
- package/dist/vendor/chunk-WECQDT36.js +426 -0
- package/dist/vendor/chunk-WHKMOC7Z.js +28 -0
- package/dist/vendor/chunk-WVFOZ2UL.js +40 -0
- package/dist/vendor/chunk-X73E2UPI.js +18 -0
- package/dist/vendor/chunk-XCYARUII.js +63 -0
- package/dist/vendor/chunk-XFEVTDVD.js +34 -0
- package/dist/vendor/chunk-XFZZYSJ4.js +22 -0
- package/dist/vendor/chunk-XJWJXLXJ.js +18 -0
- package/dist/vendor/chunk-XY3Q62EO.js +18 -0
- package/dist/vendor/chunk-YDASSC75.js +394 -0
- package/dist/vendor/chunk-Z6C7SO5Z.js +507 -0
- package/dist/vendor/chunk-Z7QNPJEB.js +229 -0
- package/dist/vendor/chunk-Z7QPP4YH.js +249 -0
- package/dist/vendor/chunk-ZCHYLHJH.js +86 -0
- package/dist/vendor/chunk-ZIQVYVMA.js +22 -0
- package/dist/vendor/chunk-ZPIG2CUA.js +34 -0
- package/dist/vendor/cjs/bun/BunChildProcessSpawner.d.ts +7 -0
- package/dist/vendor/cjs/bun/BunChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/bun/BunClusterHttp.d.ts +83 -0
- package/dist/vendor/cjs/bun/BunClusterHttp.js +1 -0
- package/dist/vendor/cjs/bun/BunClusterSocket.d.ts +65 -0
- package/dist/vendor/cjs/bun/BunClusterSocket.js +1 -0
- package/dist/vendor/cjs/bun/BunCrypto.d.ts +10 -0
- package/dist/vendor/cjs/bun/BunCrypto.js +1 -0
- package/dist/vendor/cjs/bun/BunFileSystem.d.ts +10 -0
- package/dist/vendor/cjs/bun/BunFileSystem.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpClient.d.ts +9 -0
- package/dist/vendor/cjs/bun/BunHttpClient.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpPlatform.d.ts +10 -0
- package/dist/vendor/cjs/bun/BunHttpPlatform.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpServer.d.ts +142 -0
- package/dist/vendor/cjs/bun/BunHttpServer.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpServerRequest.d.ts +18 -0
- package/dist/vendor/cjs/bun/BunHttpServerRequest.js +1 -0
- package/dist/vendor/cjs/bun/BunMultipart.d.ts +31 -0
- package/dist/vendor/cjs/bun/BunMultipart.js +1 -0
- package/dist/vendor/cjs/bun/BunPath.d.ts +24 -0
- package/dist/vendor/cjs/bun/BunPath.js +1 -0
- package/dist/vendor/cjs/bun/BunRedis.d.ts +49 -0
- package/dist/vendor/cjs/bun/BunRedis.js +1 -0
- package/dist/vendor/cjs/bun/BunRuntime.d.ts +85 -0
- package/dist/vendor/cjs/bun/BunRuntime.js +1 -0
- package/dist/vendor/cjs/bun/BunServices.d.ts +34 -0
- package/dist/vendor/cjs/bun/BunServices.js +1 -0
- package/dist/vendor/cjs/bun/BunSink.d.ts +8 -0
- package/dist/vendor/cjs/bun/BunSink.js +1 -0
- package/dist/vendor/cjs/bun/BunSocket.d.ts +40 -0
- package/dist/vendor/cjs/bun/BunSocket.js +1 -0
- package/dist/vendor/cjs/bun/BunSocketServer.d.ts +8 -0
- package/dist/vendor/cjs/bun/BunSocketServer.js +1 -0
- package/dist/vendor/cjs/bun/BunStdio.d.ts +11 -0
- package/dist/vendor/cjs/bun/BunStdio.js +1 -0
- package/dist/vendor/cjs/bun/BunStream.d.ts +19 -0
- package/dist/vendor/cjs/bun/BunStream.js +1 -0
- package/dist/vendor/cjs/bun/BunTerminal.d.ts +21 -0
- package/dist/vendor/cjs/bun/BunTerminal.js +1 -0
- package/dist/vendor/cjs/bun/BunWorker.d.ts +20 -0
- package/dist/vendor/cjs/bun/BunWorker.js +1 -0
- package/dist/vendor/cjs/bun/BunWorkerRunner.d.ts +12 -0
- package/dist/vendor/cjs/bun/BunWorkerRunner.js +1 -0
- package/dist/vendor/cjs/bun/index.d.ts +92 -0
- package/dist/vendor/cjs/bun/index.js +1 -0
- package/dist/vendor/cjs/node/NodeChildProcessSpawner.d.ts +7 -0
- package/dist/vendor/cjs/node/NodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node/NodeClusterHttp.d.ts +63 -0
- package/dist/vendor/cjs/node/NodeClusterHttp.js +1 -0
- package/dist/vendor/cjs/node/NodeClusterSocket.d.ts +79 -0
- package/dist/vendor/cjs/node/NodeClusterSocket.js +1 -0
- package/dist/vendor/cjs/node/NodeCrypto.d.ts +10 -0
- package/dist/vendor/cjs/node/NodeCrypto.js +1 -0
- package/dist/vendor/cjs/node/NodeFileSystem.d.ts +10 -0
- package/dist/vendor/cjs/node/NodeFileSystem.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpClient.d.ts +179 -0
- package/dist/vendor/cjs/node/NodeHttpClient.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpIncomingMessage.d.ts +62 -0
- package/dist/vendor/cjs/node/NodeHttpIncomingMessage.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpPlatform.d.ts +36 -0
- package/dist/vendor/cjs/node/NodeHttpPlatform.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpServer.d.ts +120 -0
- package/dist/vendor/cjs/node/NodeHttpServer.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpServerRequest.d.ts +29 -0
- package/dist/vendor/cjs/node/NodeHttpServerRequest.js +1 -0
- package/dist/vendor/cjs/node/NodeMultipart.d.ts +46 -0
- package/dist/vendor/cjs/node/NodeMultipart.js +1 -0
- package/dist/vendor/cjs/node/NodeMultipartParser.d.ts +97 -0
- package/dist/vendor/cjs/node/NodeMultipartParser.js +1 -0
- package/dist/vendor/cjs/node/NodePath.d.ts +27 -0
- package/dist/vendor/cjs/node/NodePath.js +1 -0
- package/dist/vendor/cjs/node/NodeRedis.d.ts +74 -0
- package/dist/vendor/cjs/node/NodeRedis.js +1 -0
- package/dist/vendor/cjs/node/NodeRuntime.d.ts +85 -0
- package/dist/vendor/cjs/node/NodeRuntime.js +1 -0
- package/dist/vendor/cjs/node/NodeServices.d.ts +34 -0
- package/dist/vendor/cjs/node/NodeServices.js +1 -0
- package/dist/vendor/cjs/node/NodeSink.d.ts +8 -0
- package/dist/vendor/cjs/node/NodeSink.js +1 -0
- package/dist/vendor/cjs/node/NodeSocket.d.ts +38 -0
- package/dist/vendor/cjs/node/NodeSocket.js +1 -0
- package/dist/vendor/cjs/node/NodeSocketServer.d.ts +8 -0
- package/dist/vendor/cjs/node/NodeSocketServer.js +1 -0
- package/dist/vendor/cjs/node/NodeStdio.d.ts +11 -0
- package/dist/vendor/cjs/node/NodeStdio.js +1 -0
- package/dist/vendor/cjs/node/NodeStream.d.ts +8 -0
- package/dist/vendor/cjs/node/NodeStream.js +1 -0
- package/dist/vendor/cjs/node/NodeTerminal.d.ts +21 -0
- package/dist/vendor/cjs/node/NodeTerminal.js +1 -0
- package/dist/vendor/cjs/node/NodeWorker.d.ts +22 -0
- package/dist/vendor/cjs/node/NodeWorker.js +1 -0
- package/dist/vendor/cjs/node/NodeWorkerRunner.d.ts +12 -0
- package/dist/vendor/cjs/node/NodeWorkerRunner.js +1 -0
- package/dist/vendor/cjs/node/Undici.d.ts +28 -0
- package/dist/vendor/cjs/node/Undici.js +1 -0
- package/dist/vendor/cjs/node/index.d.ts +100 -0
- package/dist/vendor/cjs/node/index.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.d.ts +57 -0
- package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeClusterSocket.d.ts +22 -0
- package/dist/vendor/cjs/node-shared/NodeClusterSocket.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeCrypto.d.ts +27 -0
- package/dist/vendor/cjs/node-shared/NodeCrypto.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeFileSystem.d.ts +11 -0
- package/dist/vendor/cjs/node-shared/NodeFileSystem.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeHttpCompression.d.ts +36 -0
- package/dist/vendor/cjs/node-shared/NodeHttpCompression.js +1 -0
- package/dist/vendor/cjs/node-shared/NodePath.d.ts +27 -0
- package/dist/vendor/cjs/node-shared/NodePath.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeRuntime.d.ts +47 -0
- package/dist/vendor/cjs/node-shared/NodeRuntime.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSink.d.ts +69 -0
- package/dist/vendor/cjs/node-shared/NodeSink.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSocket.d.ts +134 -0
- package/dist/vendor/cjs/node-shared/NodeSocket.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSocketServer.d.ts +80 -0
- package/dist/vendor/cjs/node-shared/NodeSocketServer.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeStdio.d.ts +12 -0
- package/dist/vendor/cjs/node-shared/NodeStdio.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeStream.d.ts +179 -0
- package/dist/vendor/cjs/node-shared/NodeStream.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeTerminal.d.ts +22 -0
- package/dist/vendor/cjs/node-shared/NodeTerminal.js +1 -0
- package/dist/vendor/cjs/node-shared/index.d.ts +56 -0
- package/dist/vendor/cjs/node-shared/index.js +1 -0
- package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
- package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node-shared/internal/utils.d.ts +2 -0
- package/dist/vendor/cjs/node-shared/internal/utils.js +1 -0
- package/dist/vendor/cjs/package.json +1 -0
- package/dist/vendor/cjs/platform-bun.d.ts +92 -0
- package/dist/vendor/cjs/platform-bun.js +1 -0
- package/dist/vendor/cjs/platform-node-shared.d.ts +56 -0
- package/dist/vendor/cjs/platform-node-shared.js +1 -0
- package/dist/vendor/cjs/platform-node.d.ts +100 -0
- package/dist/vendor/cjs/platform-node.js +1 -0
- package/dist/vendor/node/LICENSE +21 -0
- package/dist/vendor/node/NodeChildProcessSpawner.d.ts +7 -0
- package/dist/vendor/node/NodeChildProcessSpawner.js +14 -0
- package/dist/vendor/node/NodeClusterHttp.d.ts +63 -0
- package/dist/vendor/node/NodeClusterHttp.js +43 -0
- package/dist/vendor/node/NodeClusterSocket.d.ts +79 -0
- package/dist/vendor/node/NodeClusterSocket.js +30 -0
- package/dist/vendor/node/NodeCrypto.d.ts +10 -0
- package/dist/vendor/node/NodeCrypto.js +8 -0
- package/dist/vendor/node/NodeFileSystem.d.ts +10 -0
- package/dist/vendor/node/NodeFileSystem.js +9 -0
- package/dist/vendor/node/NodeHttpClient.d.ts +179 -0
- package/dist/vendor/node/NodeHttpClient.js +46 -0
- package/dist/vendor/node/NodeHttpIncomingMessage.d.ts +62 -0
- package/dist/vendor/node/NodeHttpIncomingMessage.js +10 -0
- package/dist/vendor/node/NodeHttpPlatform.d.ts +36 -0
- package/dist/vendor/node/NodeHttpPlatform.js +16 -0
- package/dist/vendor/node/NodeHttpServer.d.ts +120 -0
- package/dist/vendor/node/NodeHttpServer.js +46 -0
- package/dist/vendor/node/NodeHttpServerRequest.d.ts +29 -0
- package/dist/vendor/node/NodeHttpServerRequest.js +9 -0
- package/dist/vendor/node/NodeMultipart.d.ts +46 -0
- package/dist/vendor/node/NodeMultipart.js +15 -0
- package/dist/vendor/node/NodeMultipartParser.d.ts +97 -0
- package/dist/vendor/node/NodeMultipartParser.js +11 -0
- package/dist/vendor/node/NodePath.d.ts +27 -0
- package/dist/vendor/node/NodePath.js +12 -0
- package/dist/vendor/node/NodeRedis.d.ts +74 -0
- package/dist/vendor/node/NodeRedis.js +11 -0
- package/dist/vendor/node/NodeRuntime.d.ts +85 -0
- package/dist/vendor/node/NodeRuntime.js +8 -0
- package/dist/vendor/node/NodeServices.d.ts +34 -0
- package/dist/vendor/node/NodeServices.js +23 -0
- package/dist/vendor/node/NodeSink.d.ts +8 -0
- package/dist/vendor/node/NodeSink.js +12 -0
- package/dist/vendor/node/NodeSocket.d.ts +38 -0
- package/dist/vendor/node/NodeSocket.js +31 -0
- package/dist/vendor/node/NodeSocketServer.d.ts +8 -0
- package/dist/vendor/node/NodeSocketServer.js +21 -0
- package/dist/vendor/node/NodeStdio.d.ts +11 -0
- package/dist/vendor/node/NodeStdio.js +10 -0
- package/dist/vendor/node/NodeStream.d.ts +8 -0
- package/dist/vendor/node/NodeStream.js +27 -0
- package/dist/vendor/node/NodeTerminal.d.ts +21 -0
- package/dist/vendor/node/NodeTerminal.js +10 -0
- package/dist/vendor/node/NodeWorker.d.ts +22 -0
- package/dist/vendor/node/NodeWorker.js +9 -0
- package/dist/vendor/node/NodeWorkerRunner.d.ts +12 -0
- package/dist/vendor/node/NodeWorkerRunner.js +7 -0
- package/dist/vendor/node/Undici.d.ts +28 -0
- package/dist/vendor/node/Undici.js +9 -0
- package/dist/vendor/node/index.d.ts +100 -0
- package/dist/vendor/node/index.js +115 -0
- package/dist/vendor/node-shared/LICENSE +21 -0
- package/dist/vendor/node-shared/NodeChildProcessSpawner.d.ts +57 -0
- package/dist/vendor/node-shared/NodeChildProcessSpawner.js +13 -0
- package/dist/vendor/node-shared/NodeClusterSocket.d.ts +22 -0
- package/dist/vendor/node-shared/NodeClusterSocket.js +11 -0
- package/dist/vendor/node-shared/NodeCrypto.d.ts +27 -0
- package/dist/vendor/node-shared/NodeCrypto.js +9 -0
- package/dist/vendor/node-shared/NodeFileSystem.d.ts +11 -0
- package/dist/vendor/node-shared/NodeFileSystem.js +8 -0
- package/dist/vendor/node-shared/NodeHttpCompression.d.ts +36 -0
- package/dist/vendor/node-shared/NodeHttpCompression.js +13 -0
- package/dist/vendor/node-shared/NodePath.d.ts +27 -0
- package/dist/vendor/node-shared/NodePath.js +11 -0
- package/dist/vendor/node-shared/NodeRuntime.d.ts +47 -0
- package/dist/vendor/node-shared/NodeRuntime.js +7 -0
- package/dist/vendor/node-shared/NodeSink.d.ts +69 -0
- package/dist/vendor/node-shared/NodeSink.js +11 -0
- package/dist/vendor/node-shared/NodeSocket.d.ts +134 -0
- package/dist/vendor/node-shared/NodeSocket.js +23 -0
- package/dist/vendor/node-shared/NodeSocketServer.d.ts +80 -0
- package/dist/vendor/node-shared/NodeSocketServer.js +20 -0
- package/dist/vendor/node-shared/NodeStdio.d.ts +12 -0
- package/dist/vendor/node-shared/NodeStdio.js +9 -0
- package/dist/vendor/node-shared/NodeStream.d.ts +179 -0
- package/dist/vendor/node-shared/NodeStream.js +26 -0
- package/dist/vendor/node-shared/NodeTerminal.d.ts +22 -0
- package/dist/vendor/node-shared/NodeTerminal.js +9 -0
- package/dist/vendor/node-shared/index.d.ts +56 -0
- package/dist/vendor/node-shared/index.js +58 -0
- package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
- package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.js +7 -0
- package/dist/vendor/node-shared/internal/utils.d.ts +2 -0
- package/dist/vendor/node-shared/internal/utils.js +7 -0
- package/dist/vendor/platform-bun.d.ts +92 -0
- package/dist/vendor/platform-bun.js +107 -0
- package/dist/vendor/platform-node-shared.d.ts +56 -0
- package/dist/vendor/platform-node-shared.js +58 -0
- package/dist/vendor/platform-node.d.ts +100 -0
- package/dist/vendor/platform-node.js +115 -0
- package/docs/README.md +158 -0
- package/docs/api.md +601 -0
- package/docs/concepts/projections.md +250 -0
- package/docs/concepts/subscriptions.md +204 -0
- package/docs/concepts/trust-boundary.md +256 -0
- package/docs/guides/diagnose-a-run.md +115 -0
- package/docs/guides/follow-a-run.md +150 -0
- package/docs/guides/host-the-gateway.md +153 -0
- package/docs/guides/read-a-projection.md +138 -0
- package/docs/guides/serve-beyond-loopback.md +166 -0
- package/docs/guides/submit-an-approval.md +187 -0
- package/docs/guides/testing.md +148 -0
- package/docs/installation.md +89 -0
- package/docs/quickstart.md +200 -0
- package/docs/troubleshooting.md +355 -0
- package/package.json +264 -32
- package/src/Diagnosis.ts +892 -0
- package/src/EngineTrace.ts +605 -0
- package/src/GatewayError.ts +71 -0
- package/src/GatewayProjection.ts +948 -0
- package/src/GatewayRpcs.ts +179 -0
- package/src/GatewaySchema.ts +516 -0
- package/src/GatewayServer.ts +932 -0
- package/src/HostBranchPresence.ts +72 -0
- package/src/Projections.ts +1735 -0
- package/src/RunDevTools.ts +394 -0
- package/src/RunHistory.ts +174 -0
- package/src/RunTrace.ts +2793 -0
- package/src/RuntimeBridge.ts +835 -0
- package/src/bun/BunGateway.ts +52 -0
- package/src/index.ts +77 -0
- package/src/internal/NativeGateway.ts +360 -0
- package/src/internal/actionRenderings.ts +201 -0
- package/src/internal/callEvents.ts +257 -0
- package/src/internal/digestIndex.ts +134 -0
- package/src/internal/digestMemory.ts +27 -0
- package/src/internal/inspectLabels.ts +13 -0
- package/src/internal/nativeResolution.ts +103 -0
- package/src/internal/nodeEvents.ts +100 -0
- package/src/node/NodeGateway.ts +30 -0
- package/openapi.yaml +0 -29182
- package/src/README.md +0 -39
- package/src/api/README.md +0 -23
- package/src/api/apiCollectionNames.js +0 -10
- package/src/api/index.d.ts +0 -126
- package/src/api/index.js +0 -14
- package/src/api/normalizeApiRow.js +0 -36
- package/src/api/serializeAccountRow.js +0 -10
- package/src/api/serializeApprovalRow.js +0 -53
- package/src/api/serializeComparisonScoreRow.js +0 -18
- package/src/api/serializeCronRow.js +0 -30
- package/src/api/serializeDocRow.js +0 -20
- package/src/api/serializeMemoryFactRow.js +0 -21
- package/src/api/serializePromptRow.js +0 -10
- package/src/api/serializeRunEventRow.js +0 -28
- package/src/api/serializeRunRow.js +0 -61
- package/src/api/serializeScoreDetailRow.js +0 -25
- package/src/api/serializeScoreRow.js +0 -26
- package/src/api/serializeTicketRow.js +0 -20
- package/src/api/serializeWorkflowRow.js +0 -10
- package/src/auth/scopes.d.ts +0 -19
- package/src/auth/scopes.js +0 -164
- package/src/index.d.ts +0 -316
- package/src/index.js +0 -108
- package/src/rpc/gatewayRpcTypes.ts +0 -183
- package/src/rpc/index.d.ts +0 -221
- package/src/rpc/index.js +0 -2431
|
@@ -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"] } }>
|