@smthrs/gateway 0.35.0 → 1.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +509 -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 +471 -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 +19 -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 +1595 -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 +12 -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 +13 -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 +557 -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 +799 -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 +19 -0
- package/dist/esm/HostBranchPresence.d.ts.map +1 -0
- package/dist/esm/HostBranchPresence.js +57 -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 +2106 -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 +12 -0
- package/dist/esm/internal/actionRenderings.d.ts.map +1 -0
- package/dist/esm/internal/actionRenderings.js +212 -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 +13 -0
- package/dist/esm/internal/inspectLabels.d.ts.map +1 -0
- package/dist/esm/internal/inspectLabels.js +17 -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 +627 -0
- package/src/GatewayError.ts +71 -0
- package/src/GatewayProjection.ts +959 -0
- package/src/GatewayRpcs.ts +179 -0
- package/src/GatewaySchema.ts +516 -0
- package/src/GatewayServer.ts +932 -0
- package/src/HostBranchPresence.ts +76 -0
- package/src/Projections.ts +1735 -0
- package/src/RunDevTools.ts +394 -0
- package/src/RunHistory.ts +174 -0
- package/src/RunTrace.ts +2796 -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 +212 -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 +18 -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 -29945
- 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 -93
- 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 -186
- package/src/rpc/index.d.ts +0 -223
- package/src/rpc/index.js +0 -2527
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# @smthrs/gateway
|
|
2
|
+
|
|
3
|
+
## [Unreleased]
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `RuntimeBridge.LifecycleCommand` accepts `complete`;
|
|
8
|
+
`RuntimeBridge.Config.requestComplete` supplies the host completion port.
|
|
9
|
+
|
|
10
|
+
- `Diagnosis.digest` takes an optional `runId`. A `control.run.*` verdict
|
|
11
|
+
stamped with another run's id, such as a child's, no longer sets the digested
|
|
12
|
+
run's status or failure cause, so a run summary no longer reports a child's
|
|
13
|
+
failure as the parent's.
|
|
14
|
+
|
|
15
|
+
- Approval RPC failures include `CodeDrift`; gateway envelopes and projections
|
|
16
|
+
carry the optional budget `onExceeded` policy. Clients with exhaustive error
|
|
17
|
+
handling must handle the new refusal (#1807, #1843).
|
|
18
|
+
|
|
19
|
+
- Added `GatewaySchema.SnapshotOf`, `FrameOf`, and `RowOf`, and made
|
|
20
|
+
`Projections.Service.snapshot`, `subscribe`, and `GatewaySchema.rowSchemaFor`
|
|
21
|
+
generic in their selector, so a literal selector keeps its own row type and a
|
|
22
|
+
caller reads `requestId` or `nodeId` without an assertion. A selector chosen
|
|
23
|
+
at runtime still maps to the `ProjectionSnapshot` and `GatewayFrame` unions.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- The runtime monitor omits the raw journal (paged from `run-events` when its
|
|
28
|
+
tab opens; a replay frame keeps its prefix) and adds the run's `extent`.
|
|
29
|
+
Plan structure and child-flow calls are no longer steps, and a check phase
|
|
30
|
+
is titled by the failures its receipts report (#3514).
|
|
31
|
+
|
|
32
|
+
- The runtime monitor no longer refuses runs with model tokens. Settled native
|
|
33
|
+
steps carry their metered dispatches (`meter`), journaled model calls
|
|
34
|
+
(`model_calls`) and tokens (`tokens`), and their agent transcript as phase
|
|
35
|
+
cells; a run with tokens returns no `cost_usd` and the install prices it from
|
|
36
|
+
metered proxy rows (#3514).
|
|
37
|
+
|
|
38
|
+
- Monitor graphs collapse Engine bookkeeping nodes while retaining visible
|
|
39
|
+
dependency order through nested boundaries.
|
|
40
|
+
|
|
41
|
+
- The `workspace-runs` and `approvals` projections fold the newest 500 runs
|
|
42
|
+
instead of the oldest 500, and a followed workspace admits a run created
|
|
43
|
+
after its oldest followed run by displacing that run. Before, a workspace
|
|
44
|
+
past 500 runs never showed a newly launched run.
|
|
45
|
+
- The runtime bridge logs the full cause of every failure the caller did not
|
|
46
|
+
cause, and runs each handler in a `runtime-bridge.command` or
|
|
47
|
+
`runtime-bridge.observe` span. The wire response is unchanged.
|
|
48
|
+
- A gateway that enables the runtime bridge without a bearer credential now
|
|
49
|
+
refuses to bind with `bind_failed`, including on loopback. It used to start
|
|
50
|
+
and answer 401 to every bridge request.
|
|
51
|
+
- The Bun host keeps the operating-system errno on its bind refusal, so the
|
|
52
|
+
operator log names `EADDRINUSE`, `EACCES`, or `EADDRNOTAVAIL` as the Node
|
|
53
|
+
host's does. The wire refusal still omits it.
|
|
54
|
+
- `GatewaySchema` derives `ProjectionSelector`, `ProjectionName`,
|
|
55
|
+
`rowSchemaFor`, `ProjectionSnapshot`, `RowFrame`, and `DeltaFrame` from one
|
|
56
|
+
selector-to-row table instead of five hand-kept lists. The wire format is
|
|
57
|
+
unchanged.
|
|
58
|
+
- Renamed the `GatewayError`, `ResumeError`, and `SuperviseRuntime` tags from
|
|
59
|
+
the retired `flows/gateway/` namespace to `@smthrs/gateway/`, the namespace
|
|
60
|
+
`Projections` already used. A refusal body now carries
|
|
61
|
+
`"_tag": "@smthrs/gateway/GatewayError"`.
|
|
62
|
+
- `@smthrs/run-store` is no longer a runtime dependency. `SuperviseRuntime`
|
|
63
|
+
spells its two ownership shapes structurally.
|
|
64
|
+
|
|
65
|
+
### Removed
|
|
66
|
+
|
|
67
|
+
- Removed `sleepWaits` from `EngineTrace.EngineExecutionEvidence`; it is now `waits`,
|
|
68
|
+
whose entries carry `kind: "sleep" | "signal"` beside `id`, `since` and
|
|
69
|
+
`settledAt` (6a995431/5847ca8c, #3514). Migration: read
|
|
70
|
+
`waits.filter((wait) => wait.kind === "sleep")` where `sleepWaits` was read.
|
|
71
|
+
This RC change follows
|
|
72
|
+
[RELEASE_SUPPORT.md](https://github.com/smithersai/smithers/blob/main/RELEASE_SUPPORT.md),
|
|
73
|
+
whose opening RC policy states that the candidate is not a stable 1.0
|
|
74
|
+
compatibility or long-term support commitment.
|
|
75
|
+
|
|
76
|
+
- Removed `"forks"` from `RunTrace.TraceFilter` and `TRACE_FILTER_IDS`.
|
|
77
|
+
Migration: replace stored or supplied `"forks"` filters with `"all"` and
|
|
78
|
+
remove exhaustive branches for the old value. This RC change follows
|
|
79
|
+
[RELEASE_SUPPORT.md](https://github.com/smithersai/smithers/blob/main/RELEASE_SUPPORT.md),
|
|
80
|
+
whose opening RC policy states that the candidate is not a stable 1.0
|
|
81
|
+
compatibility or long-term support commitment.
|
|
82
|
+
|
|
83
|
+
- Removed `SuperviseRuntime` and `test/TestSuperviseRuntime`. No host
|
|
84
|
+
implemented the port, so it shipped as a stub that scanned nothing and
|
|
85
|
+
resumed nothing. Recovery remains the heartbeat reclaim.
|
|
86
|
+
- Removed `GatewaySchema.Workspace`, `GatewayConfig`, `GatewayStatus`,
|
|
87
|
+
`SingletonRecord`, `TokenScope`, and `TokenRecord`, and the API and
|
|
88
|
+
trust-boundary passages that had to disclaim them: nothing minted, read,
|
|
89
|
+
persisted, or served one, and a first release has nothing to be compatible
|
|
90
|
+
with. A singleton handshake lands with its route and its tests.
|
|
91
|
+
|
|
92
|
+
## [1.0.0-rc.0] - 2026-09-01
|
|
93
|
+
|
|
94
|
+
### Added
|
|
95
|
+
|
|
96
|
+
- Added the assembled workspace gateway: `POST /rpc`, `/rpc/ws`,
|
|
97
|
+
`POST /projections`, `/projections/ws`, `POST /sync`, `/sync/ws`, and an
|
|
98
|
+
unauthenticated `GET /health`, as one application layer with
|
|
99
|
+
`node/NodeGateway` as its Node host.
|
|
100
|
+
- Added the served read path: `workspace-runs`, `run-summary`, `run-events`,
|
|
101
|
+
`transcript`, `run-tree`, `approvals`, and `node-output`, folded from the
|
|
102
|
+
control events `Control.watch` publishes and served as snapshots, replacement
|
|
103
|
+
deltas, and keepalive frames.
|
|
104
|
+
- Added `Approval.Submit`, the one composite mutation a product client cannot
|
|
105
|
+
assemble safely on its own, journaled under the operator the shared bearer
|
|
106
|
+
middleware authenticated rather than the composition's default.
|
|
107
|
+
- Added keepalives on `/rpc/ws` and `/projections/ws` at a cadence well inside
|
|
108
|
+
the 600-second idle cut a relay applies, and an ingress guard that answers
|
|
109
|
+
401, 400, and 413 with a typed body instead of an empty 500.
|
|
110
|
+
- Added `Diagnosis`, which computes what happened to a run from that run's own
|
|
111
|
+
events and renders it as the `run-summary` row's verdict and diagnosis card.
|
|
112
|
+
- Added `NodeGateway.bindRefusal`, `GatewayError.settingRefusal`, and
|
|
113
|
+
`GatewayServer.exceededBodyLimit`, so a start-time refusal is a typed
|
|
114
|
+
`bind_failed` value and a body-read failure is told apart from a body that
|
|
115
|
+
was too big.
|
|
116
|
+
- Added `GatewaySchema.rowSchemaFor`, a resume cursor on
|
|
117
|
+
`Projection.Subscribe`, and same-named type aliases for every public selector
|
|
118
|
+
and frame schema, so a client decodes rows and resumes a subscription instead
|
|
119
|
+
of casting and re-reading.
|
|
120
|
+
- Added package-owned documentation under `docs/`, built and drift-checked by
|
|
121
|
+
the `PACKAGE.ts` `docs` and `docsFiles` targets.
|
|
122
|
+
|
|
123
|
+
### Changed
|
|
124
|
+
|
|
125
|
+
- A workspace subscription now reports new runs, status changes, and new gates
|
|
126
|
+
instead of emitting a snapshot and then keepalives forever.
|
|
127
|
+
- A subscription now reads the control plane exactly once. The rows, the cursor
|
|
128
|
+
the snapshot advertises, and the sequence its deltas start after all come
|
|
129
|
+
from that read, so an event landing mid-read is no longer delivered as both a
|
|
130
|
+
row and a delta.
|
|
131
|
+
- A delta now folds the events accumulated on the stream instead of re-reading
|
|
132
|
+
the whole journal per event, so following a run costs one read whatever its
|
|
133
|
+
length.
|
|
134
|
+
- `GatewayError.cause` now carries a redacted `{_tag, code}` summary rather than
|
|
135
|
+
the whole internal `ControlError`, and the full cause is logged server-side.
|
|
136
|
+
- Projection histories and encoded row sets are bounded. A limit breach now
|
|
137
|
+
fails as `resource_limit` rather than retaining an unbounded journal or wire
|
|
138
|
+
payload.
|
|
139
|
+
- Projection cursors now bind the full selector and a sequence-local offset,
|
|
140
|
+
preserving every derived event when several share one journal sequence.
|
|
141
|
+
- Startup policy and operating-system bind failures now travel through typed
|
|
142
|
+
effect and layer channels as sanitized `bind_failed` values; constructors no
|
|
143
|
+
longer throw synchronously.
|
|
144
|
+
- The workspace approvals follower counts only runs with pending gates toward
|
|
145
|
+
its run ceiling, so irrelevant completed histories cannot starve a later
|
|
146
|
+
request.
|
|
147
|
+
- An unknown run now fails `run_not_found` identically for every run-scoped
|
|
148
|
+
selector, rather than failing for two of them and answering an empty snapshot
|
|
149
|
+
for the other four.
|
|
150
|
+
- `Diagnosis.clip` now cuts on code points, never emitting a lone surrogate,
|
|
151
|
+
and honours widths of 0 and 1; `firstLine` no longer leaves a carriage return
|
|
152
|
+
on a CRLF cause.
|
|
153
|
+
- `Diagnosis.digest` now measures a run's span from the kinds it handles, so
|
|
154
|
+
the keepalive merged into a followed `Watch` no longer reports a run as
|
|
155
|
+
having lasted as long as it was watched.
|
|
156
|
+
- `nodeOutput` now keys its rows exactly as `runTree` does, even when an event
|
|
157
|
+
names no run, so the two folds cannot disagree about which node produced
|
|
158
|
+
which output.
|
|
159
|
+
- `GatewayServer.layer` now takes an options object rather than two positional
|
|
160
|
+
optionals.
|
|
161
|
+
- `Approval.Submit` now declares exactly the failures `Control.approve` and
|
|
162
|
+
`Control.deny` raise. It gained `PlanNotFound`, which a decision naming a plan
|
|
163
|
+
the control plane does not have answers with, and lost `ClaimLost`, which
|
|
164
|
+
neither command raises: a declared tag no command produces is a recovery
|
|
165
|
+
branch no client's code can reach.
|
|
166
|
+
- The ingress guard now classifies a request target the way the router resolves
|
|
167
|
+
it rather than by its literal spelling. `HttpRouter` reaches `/rpc` from
|
|
168
|
+
`/%72pc`, `/rpc;transport-parameter`, `/rpc/`, `//rpc`, `/rpc//`, `/RPC`, and
|
|
169
|
+
`/foo/../rpc`, and the guard recognised none of them, so on a credentialed
|
|
170
|
+
bind those spellings reached the mount with neither the bearer check nor the
|
|
171
|
+
body limit applied. `ControlClient`'s HTTP protocol posts every call to
|
|
172
|
+
`/rpc/`, so this was the ordinary client path and not only a crafted alias.
|
|
173
|
+
An uncredentialed call is now refused 401 at the edge before its body is
|
|
174
|
+
read, which an Effect RPC client reports as a transport failure rather than
|
|
175
|
+
as the mount's own `Unauthorized`.
|
|
176
|
+
- A transcript row now carries one display line per event: a seat, flow name,
|
|
177
|
+
failure message, resolved output, or approval question containing a newline
|
|
178
|
+
no longer splits one row into several.
|
|
179
|
+
- The published runtime dependency set no longer includes
|
|
180
|
+
`@effect/platform-node-shared`, `@smthrs/journal`, or
|
|
181
|
+
`@smthrs/notifications`. Journal and notifications remain development-only
|
|
182
|
+
fixtures for the real SQLite gateway tests.
|
|
183
|
+
|
|
184
|
+
### Removed
|
|
185
|
+
|
|
186
|
+
- Removed `plan-cards` from `ProjectionName`, `PlanCardsSelector`, and the read
|
|
187
|
+
path: the declared projection set equals the served set (release requirements), and
|
|
188
|
+
a plan card is what `Control.plan` returns rather than something projected.
|
|
189
|
+
- Removed the never-produced `GatewayErrorCode` members `already_running`,
|
|
190
|
+
`not_running`, `token_expired`, `unsupported_projection`,
|
|
191
|
+
`subscription_expired`, `overflow`, and `sweep_failed`.
|
|
192
|
+
- Removed the never-emitted `OverflowFrame`, `ExpiredFrame`, `TerminalFrame`,
|
|
193
|
+
and `UnauthorizedFrame`, and the unreferenced `SubscriptionTick` and
|
|
194
|
+
`SubscriptionWatch` schemas.
|
|
195
|
+
- Removed `SubmitApprovalOutput.resume` and the `layerRefuseMalformedRpc`
|
|
196
|
+
alias: a first release has nothing to be compatible with.
|
|
197
|
+
- The 0.x gateway protocol is replaced rather than adapted. No 0.x method name
|
|
198
|
+
or path is served and there is no compatibility projection.
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2026 William Cory and the Smithers Flows contributors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# @smthrs/gateway
|
|
2
|
+
|
|
3
|
+
The gateway requires `effect` at `4.0.0-rc.115` as its only peer. Node and Bun adapters are bundled privately at the same version; hosts need no separate adapter install.
|
|
4
|
+
|
|
5
|
+
Release candidate scope, host requirements and compatibility review are defined in the [library support policy](https://github.com/smithersai/smithers/blob/main/RELEASE_SUPPORT.md).
|
|
6
|
+
|
|
7
|
+
**Documentation:** https://gateway.smithers.sh
|
|
8
|
+
|
|
9
|
+
The assembled workspace gateway: one HTTP surface carrying the control plane, the sync read path, the served projections, and a health probe. It also defines the gateway wire schemas and re-exports the durable journal synchronization package gateway hosts use.
|
|
10
|
+
|
|
11
|
+
The mounts, the bind and credential policy, the projections and their rows, the subscription and cursor semantics, every failure code with the status it answers, and the resource limits are documented once, on [the API page](https://gateway.smithers.sh/reference/api/). This file lists what the package exports and shows how a host composes it.
|
|
12
|
+
|
|
13
|
+
`smthrs serve`, from [`@smthrs/cli`](https://cli.smithers.sh), is a host over this package: it resolves a project on disk, builds the control plane and the journal over that project's database, and hands the assembly here to bind and serve. Install the CLI when you want a gateway without writing code; install this package when you are writing a client against the wire, or embedding the surface in a process of your own.
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
Not on npm yet; see [Installation](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/flow/docs/installation.md#use-the-libraries).
|
|
18
|
+
|
|
19
|
+
Node 26.4.0 or later is required. `effect@4.0.0-rc.115` is a required peer.
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm add @smthrs/gateway effect@4.0.0-rc.115
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Public API
|
|
26
|
+
|
|
27
|
+
The root entry point exports these namespaces; local modules are also importable from `@smthrs/gateway/<Module>`.
|
|
28
|
+
|
|
29
|
+
| Module | Public exports | Description |
|
|
30
|
+
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
31
|
+
| `GatewayError` | `GatewayErrorCode`, `GatewayError`, `settingRefusal` | Defines the stable failure codes, including local Host/Origin refusals, and the refusal a bad setting earns. |
|
|
32
|
+
| `GatewaySchema` | `GatewayHealth`, `ProjectionName`, `WorkspaceRunsSelector`, `RunSummarySelector`, `RunEventsSelector`, `TranscriptSelector`, `RunTreeSelector`, `ApprovalsSelector`, `NodeOutputSelector`, `FlowDurationsSelector`, `ProjectionSelector`, `rowSchemaFor`, `RowOf`, `ProjectionCursor`, `ProjectionSnapshot`, `SnapshotOf`, `SnapshotStartFrame`, `RowFrame`, `SnapshotEndFrame`, `DeltaFrame`, `HeartbeatFrame`, `GatewayFrame`, `FrameOf` | Supplies the wire schemas for projections, cursors, snapshots, and frames. |
|
|
33
|
+
| `Diagnosis` | `RunStatus`, `Refusal`, `Digest`, `asRecord`, `asString`, `asNumber`, `timeOf`, `firstLine`, `clip`, `digest`, `emptyDigest`, `handlerReach`, `combine`, `duration`, `usd`, `resolvedOutput`, `verdict`, `Subject`, `render`, `callEventKey`, `callScope`, `nativeCallEvent`, `nativeStepEvent`, `openCallIndex`, `uniqueCallEvents`, `foreignVerdict` | Computes and renders what happened to a run, from that run's own control events. |
|
|
34
|
+
| `GatewayProjection` | `RunSummaryRow`, `RunTreeRow`, `ApprovalRow`, `NodeOutputRow`, `FlowDurationRow`, `NodeDuration`, `TranscriptRow`, `runSummary`, `statusRollup`, `runTree`, `approvals`, `nodeOutput`, `nodeDurations`, `flowDurations`, `transcript` | Defines the served wire rows and the pure folds that compute them. |
|
|
35
|
+
| `GatewayRpcs` | `Decision`, `SubmitApprovalInput`, `SubmitApprovalOutput`, `GatewayRpcs` | Declares the served read path, the composite approval mutation, and run fork and verify. |
|
|
36
|
+
| `GatewayServer` | `Health`, `layerHealth`, `layerHandlers`, `watchHeartbeatKind`, `layerKeepAlive`, `layerProjectionsKeepAlive`, `layerControlHttp`, `layerProjectionsHttp`, `layerSyncHttp`, `rpcPaths`, `boundedPostPaths`, `protectedPaths`, `routedPath`, `defaultMaxRequestBodyBytes`, `loopbackHostNames`, `loopbackHostHeaderNames`, `IngressOptions`, `exceededBodyLimit`, `bodyRefusal`, `carriesRpcRequest`, `ticketPath`, `ticketPaths`, `defaultTicketMillis`, `Ticket`, `layerIngress`, `LayerOptions`, `layer` | Assembles the whole HTTP surface as one application layer a host serves. |
|
|
37
|
+
| `Projections` | `heartbeatIntervalMillis`, `maxWorkspaceRuns`, `maxEventsPerRun`, `maxEventsScanned`, `maxEventsPerPage`, `maxDurationRuns`, `maxProjectionBytes`, `maxEventBytes`, `Service`, `Projections`, `make`, `layer`, `layerWith` | Serves the bounded read path as snapshots and followed deltas. |
|
|
38
|
+
| `RunHistory` | `Step`, `VerifyInput`, `VerifyReport`, `StepEdit`, `ForkInput`, `ForkOutput`, `HistoryRefused`, `Service`, `RunHistory` | Declares the run fork and verify wire shapes and the host service that serves them. |
|
|
39
|
+
| `RuntimeBridge` | `protocol`, `Identity`, `LaunchCommand`, `DecisionCommand`, `SignalCommand`, `SteerCommand`, `LifecycleCommand`, `Command`, `ObserveRequest`, `CommandReceipt`, `Config`, `BridgeError`, `execute`, `observe`, `monitor`, `CommandResponse`, `ObserveResponse`, `ErrorResponse`, `layer` | Adapts authenticated versioned JSON commands to the canonical Control service. |
|
|
40
|
+
| `Sync` | `RunCatalog`, `SyncClient`, `SyncError`, `SyncProtocol`, `SyncRpcs`, `SyncServer` | Re-exports `@smthrs/sync`, the read-only journal replication protocol. |
|
|
41
|
+
| `node/NodeGateway` | `ServerOptions`, `defaultServerOptions`, `isLoopbackHost`, `bindRefusal`, `listenOptions`, `ingressOptions`, `layerAuth`, `bearerPrincipal`, `scopedPrincipal`, `scopedTokenPaths`, `layer` | Binds the assembled gateway to a Node HTTP server under the bind and credential policy. |
|
|
42
|
+
| `bun/BunGateway` | `ServerOptions`, `layer`, `bearerPrincipal`, `scopedPrincipal` | Bun HTTP/WebSocket adapter using the same bind, bearer, ingress and RPC policies. |
|
|
43
|
+
|
|
44
|
+
## Hosting it
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
import * as NodeGateway from "@smthrs/gateway/node/NodeGateway"
|
|
48
|
+
|
|
49
|
+
// The composition `smthrs serve` hosts. The caller supplies
|
|
50
|
+
// `Control`, `Projections`, `SyncServer`, and the `SyncAuth` middleware.
|
|
51
|
+
const gateway = NodeGateway.layer(
|
|
52
|
+
{ workspaceHash: "…", gatewayId: "…", protocolVersion: "1", version: "1.0.0-rc.0" },
|
|
53
|
+
{ host: "0.0.0.0", port: 7331, listen: true, credential: process.env.SMITHERS_TOKEN }
|
|
54
|
+
)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
A bind the policy or operating system refuses fails the layer with a sanitized `bind_failed` `GatewayError`. A host can inspect policy before composing the layer:
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
const refusal = NodeGateway.bindRefusal({ host: "0.0.0.0", port: 7331 })
|
|
61
|
+
// => GatewayError { code: "bind_failed", message: "Refusing non-loopback gateway bind 0.0.0.0 without an explicit --listen opt-in" }
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
A credential-less loopback host also requires a loopback `Host`. On every
|
|
65
|
+
host, a supplied browser `Origin` must be a canonical HTTP(S) origin whose host
|
|
66
|
+
and port equal the request's `Host`, so a browser client is served from the
|
|
67
|
+
gateway's own origin or through a same-origin proxy. Origin-less CLI requests
|
|
68
|
+
remain accepted. Refusals
|
|
69
|
+
are typed `GatewayError` bodies with stable `invalid_host` or `invalid_origin`
|
|
70
|
+
codes, and the same rule runs on HTTP and WebSocket upgrades.
|
|
71
|
+
|
|
72
|
+
## Recovery at 1.0.0-rc.0
|
|
73
|
+
|
|
74
|
+
The gateway does not supervise runs. Nothing here watches for a run whose owner died, so a run abandoned through the gateway is not automatically discovered, reclaimed, or resumed.
|
|
75
|
+
|
|
76
|
+
Recovery is a reclaim rather than a supervisor. A run becomes reclaimable once the heartbeat its owner stopped renewing is older than 30 seconds, and any running `smthrs` process with the flow registered takes it over. Bring up a host composition running the durable engine driver with the relevant flows registered, or recover the run explicitly.
|
|
77
|
+
|
|
78
|
+
`@smthrs/gateway/package.json` is also exported. `internal/*` and nested `*/index` subpaths are not public.
|
|
79
|
+
|
|
80
|
+
The concrete Bun adapter serves the same protocol without a Node sidecar:
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
import * as BunGateway from "@smthrs/gateway/bun/BunGateway"
|
|
84
|
+
|
|
85
|
+
const server = BunGateway.layer(health, { host: "127.0.0.1", port: 7331 })
|
|
86
|
+
// Supply the same Control, Projections, SyncServer and SyncAuth layers.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`bun/BunGateway` supports TCP host/port binds. Platform adapters share one private
|
|
90
|
+
policy/router implementation; neither adapter automatically advertises coding
|
|
91
|
+
capabilities. Those belong to a configured host after its catalog and workspace
|
|
92
|
+
binding have been validated.
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The run diagnosis: what happened to a run, computed from its own control
|
|
3
|
+
* events.
|
|
4
|
+
*
|
|
5
|
+
* The old gateway answered this question with a `whatHappened` RPC that read
|
|
6
|
+
* run rows, node-iteration rows, and attempt rows out of the engine database
|
|
7
|
+
* and optionally asked an agent to narrate them. The rc.0 gateway serves the
|
|
8
|
+
* same answer as a field of the `run-summary` projection, computed from the
|
|
9
|
+
* ordered `ControlEvent` deltas `Control.watch` already publishes. Nothing
|
|
10
|
+
* here opens a database, so a diagnosis read through a relay is the same
|
|
11
|
+
* diagnosis a local reader computes.
|
|
12
|
+
*
|
|
13
|
+
* This is the one fold both surfaces read. `@smthrs/cli` `Forensics` calls
|
|
14
|
+
* `digest` and adds what a terminal card needs on top of it: duplicate calls,
|
|
15
|
+
* per-flow counts, the parked approval payload, and the declined-launch state
|
|
16
|
+
* the wire vocabulary does not carry. The counts, the refusal aggregation, and
|
|
17
|
+
* the clipping are therefore one implementation, not two that drift.
|
|
18
|
+
*
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
*/
|
|
21
|
+
import { ControlSchema } from "@smthrs/control";
|
|
22
|
+
import * as Fault from "@smthrs/flow/Fault";
|
|
23
|
+
import { uniqueCallEvents } from "./internal/callEvents.ts";
|
|
24
|
+
import * as NativeResolution from "./internal/nativeResolution.ts";
|
|
25
|
+
/**
|
|
26
|
+
* Keeps one start and settlement per durable call identity, preferring a
|
|
27
|
+
* committed native fact over telemetry at the first observation's position.
|
|
28
|
+
* Unidentified legacy events remain distinct because their identity cannot
|
|
29
|
+
* be recovered from flow names and inputs. Shared with CLI call counts.
|
|
30
|
+
*
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
* @category projections
|
|
33
|
+
*/
|
|
34
|
+
export { uniqueCallEvents };
|
|
35
|
+
/**
|
|
36
|
+
* Native fact normalization and stable call/checkpoint identities.
|
|
37
|
+
* Incremental readers retain these keys to match the full history fold.
|
|
38
|
+
*
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
* @category projections
|
|
41
|
+
*/
|
|
42
|
+
export { callEventKey, callScope, nativeCallEvent, nativeStepEvent } from "./internal/callEvents.ts";
|
|
43
|
+
/**
|
|
44
|
+
* Finds an open call by ID, with name/FIFO fallback only for legacy starts.
|
|
45
|
+
* Shared by gateway node output and the CLI's compatible flow/ordinal IDs.
|
|
46
|
+
*
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
* @category projections
|
|
49
|
+
*/
|
|
50
|
+
export { openCallIndex } from "./internal/callEvents.ts";
|
|
51
|
+
/**
|
|
52
|
+
* The run statuses a digest may report.
|
|
53
|
+
*
|
|
54
|
+
* `@smthrs/control` `ControlSchema.RunStatus` is the vocabulary; this is the
|
|
55
|
+
* runtime set the fold checks a journaled kind against.
|
|
56
|
+
*
|
|
57
|
+
* @since 1.0.0
|
|
58
|
+
* @category models
|
|
59
|
+
*/
|
|
60
|
+
export type RunStatus = ControlSchema.RunStatus;
|
|
61
|
+
/**
|
|
62
|
+
* One refused flow call, aggregated by its refusal message.
|
|
63
|
+
*
|
|
64
|
+
* @since 1.0.0
|
|
65
|
+
* @category models
|
|
66
|
+
*/
|
|
67
|
+
export interface Refusal {
|
|
68
|
+
readonly message: string;
|
|
69
|
+
readonly count: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Everything the diagnosis computes from one run's events.
|
|
73
|
+
*
|
|
74
|
+
* @since 1.0.0
|
|
75
|
+
* @category models
|
|
76
|
+
*/
|
|
77
|
+
export interface Digest {
|
|
78
|
+
/** The last run status seen, or undefined before launch. */
|
|
79
|
+
readonly status: RunStatus | undefined;
|
|
80
|
+
/** The journaled failure cause, when the run failed and recorded one. */
|
|
81
|
+
readonly cause: string | undefined;
|
|
82
|
+
/** The typed fault stamped beside {@link cause}; it is written and cleared with it. */
|
|
83
|
+
readonly fault?: Fault.Fault | undefined;
|
|
84
|
+
/** The model seat the last opened turn ran on. */
|
|
85
|
+
readonly seat: string | undefined;
|
|
86
|
+
readonly turns: number;
|
|
87
|
+
readonly calls: number;
|
|
88
|
+
readonly callsFailed: number;
|
|
89
|
+
readonly editsAttempted: number;
|
|
90
|
+
readonly editsSucceeded: number;
|
|
91
|
+
/** Refusal messages, descending by count. */
|
|
92
|
+
readonly refusals: ReadonlyArray<Refusal>;
|
|
93
|
+
readonly inputTokens: number;
|
|
94
|
+
readonly outputTokens: number;
|
|
95
|
+
/** USD the run's priced model calls cost; zero when none was priced. */
|
|
96
|
+
readonly costUsd: number;
|
|
97
|
+
/** The final assistant output, when the run resolved. */
|
|
98
|
+
readonly finalOutput: string | undefined;
|
|
99
|
+
/** Root binding and committed native result, retained across bounded windows. */
|
|
100
|
+
readonly nativeResolution?: NativeResolution.NativeResolution | undefined;
|
|
101
|
+
/** The pending ask's question, when the run parked for approval. */
|
|
102
|
+
readonly parkedQuestion: string | undefined;
|
|
103
|
+
/** The earliest time a kind this fold handles occurred at. */
|
|
104
|
+
readonly startedAt: number | undefined;
|
|
105
|
+
/** The latest time a kind this fold handles occurred at. */
|
|
106
|
+
readonly endedAt: number | undefined;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Reads a payload as a record. Wire payloads are `Json`, so every field read
|
|
110
|
+
* tolerates absence and the digest of a malformed journal is a sparse digest,
|
|
111
|
+
* never a throw.
|
|
112
|
+
*
|
|
113
|
+
* @param value the payload to read
|
|
114
|
+
* @since 1.0.0
|
|
115
|
+
* @category conversions
|
|
116
|
+
*/
|
|
117
|
+
export declare const asRecord: (value: unknown) => Record<string, unknown>;
|
|
118
|
+
/**
|
|
119
|
+
* Reads a payload field as a string, or nothing when it is not one.
|
|
120
|
+
*
|
|
121
|
+
* @param value the field to read
|
|
122
|
+
* @since 1.0.0
|
|
123
|
+
* @category conversions
|
|
124
|
+
*/
|
|
125
|
+
export declare const asString: (value: unknown) => string | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* Reads a payload field as a number, or nothing when it is not one.
|
|
128
|
+
*
|
|
129
|
+
* @param value the field to read
|
|
130
|
+
* @since 1.0.0
|
|
131
|
+
* @category conversions
|
|
132
|
+
*/
|
|
133
|
+
export declare const asNumber: (value: unknown) => number | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* Occurrence time: the payload's own stamp, else journal admission time.
|
|
136
|
+
*
|
|
137
|
+
* @param event the event to time
|
|
138
|
+
* @since 1.0.0
|
|
139
|
+
* @category conversions
|
|
140
|
+
*/
|
|
141
|
+
export declare const timeOf: (event: ControlSchema.ControlEvent) => number;
|
|
142
|
+
/**
|
|
143
|
+
* The first line, whichever line ending produced it. Splitting on `\n` alone
|
|
144
|
+
* left the `\r` of a CRLF cause on the wire, and every reader of a one-line
|
|
145
|
+
* field, here and in `@smthrs/cli` `Forensics`, wants the same answer.
|
|
146
|
+
*
|
|
147
|
+
* @param text the text to read one line of
|
|
148
|
+
* @since 1.0.0
|
|
149
|
+
* @category conversions
|
|
150
|
+
*/
|
|
151
|
+
export declare const firstLine: (text: string) => string;
|
|
152
|
+
/**
|
|
153
|
+
* Truncates to a display width, marking the cut.
|
|
154
|
+
*
|
|
155
|
+
* The cut is made on code points, never on UTF-16 code units. Slicing code
|
|
156
|
+
* units splits an astral character in half and puts a lone surrogate on the
|
|
157
|
+
* wire, where a Go decoder silently replaces it with U+FFFD and a strict
|
|
158
|
+
* decoder rejects the whole frame; the result of this function is always well
|
|
159
|
+
* formed. A clipped result is exactly `width` code points, so `width` 1 is the
|
|
160
|
+
* ellipsis alone and `width` 0, or any negative width, is the empty string.
|
|
161
|
+
*
|
|
162
|
+
* @param text the text to clip
|
|
163
|
+
* @param width the greatest number of code points to keep
|
|
164
|
+
* @since 1.0.0
|
|
165
|
+
* @category rendering
|
|
166
|
+
*/
|
|
167
|
+
export declare const clip: (text: string, width: number) => string;
|
|
168
|
+
/**
|
|
169
|
+
* The kinds this fold handles, with the class each one's fields belong to.
|
|
170
|
+
*
|
|
171
|
+
* Exported so a test can hold the table above against the map rather than
|
|
172
|
+
* trusting a comment, and so a new handler that names no class fails both the
|
|
173
|
+
* compiler and that test.
|
|
174
|
+
*
|
|
175
|
+
* @since 1.0.0
|
|
176
|
+
* @category models
|
|
177
|
+
*/
|
|
178
|
+
export declare const handlerReach: Readonly<Record<string, "aggregate" | "root">>;
|
|
179
|
+
/**
|
|
180
|
+
* A `control.run.*` verdict stamped with a run id other than `runId`, such as
|
|
181
|
+
* a child's riding in the parent's events. It must not set the digested run's
|
|
182
|
+
* status or failure cause. An unstamped verdict is the run's own.
|
|
183
|
+
*
|
|
184
|
+
* @param event the event to classify
|
|
185
|
+
* @param runId the run being digested; omitted, no verdict is foreign
|
|
186
|
+
* @category predicates
|
|
187
|
+
* @since 1.0.0
|
|
188
|
+
*/
|
|
189
|
+
export declare const foreignVerdict: (event: ControlSchema.ControlEvent, runId: string | undefined) => boolean;
|
|
190
|
+
/**
|
|
191
|
+
* Folds one event range, retaining compact identities for later combination.
|
|
192
|
+
* Native facts supersede telemetry at its first position across ranges too.
|
|
193
|
+
*
|
|
194
|
+
* @param events the range to fold
|
|
195
|
+
* @param runId the run being digested; a `control.run.*` verdict stamped with
|
|
196
|
+
* another run's id is skipped. Omitted, every verdict folds.
|
|
197
|
+
* @category constructors
|
|
198
|
+
* @since 1.0.0
|
|
199
|
+
*/
|
|
200
|
+
export declare const digest: (events: ReadonlyArray<ControlSchema.ControlEvent>, runId?: string) => Digest;
|
|
201
|
+
/**
|
|
202
|
+
* The wall-clock span the events cover, rendered for a reader.
|
|
203
|
+
*
|
|
204
|
+
* Only the span is read, so a caller carrying a wider digest of its own, as
|
|
205
|
+
* `@smthrs/cli` `Forensics` does, measures it with this rather than a copy.
|
|
206
|
+
*
|
|
207
|
+
* @param value the span to measure
|
|
208
|
+
* @since 1.0.0
|
|
209
|
+
* @category rendering
|
|
210
|
+
*/
|
|
211
|
+
export declare const duration: (value: Pick<Digest, "startedAt" | "endedAt">) => string;
|
|
212
|
+
/**
|
|
213
|
+
* A USD amount for a reader: cents from one dollar, four places below it, so
|
|
214
|
+
* a cheap run never reads as `$0.00`.
|
|
215
|
+
*
|
|
216
|
+
* @param value dollars, finite and non-negative
|
|
217
|
+
* @since 1.0.0
|
|
218
|
+
* @category rendering
|
|
219
|
+
*/
|
|
220
|
+
export declare const usd: (value: number) => string;
|
|
221
|
+
/**
|
|
222
|
+
* Assistant text, or a typed module's committed result under its bound root.
|
|
223
|
+
* @category projections
|
|
224
|
+
* @since 1.0.0
|
|
225
|
+
*/
|
|
226
|
+
export declare const resolvedOutput: (value: Pick<Digest, "finalOutput" | "nativeResolution">) => string | undefined;
|
|
227
|
+
/**
|
|
228
|
+
* The one-line verdict: the status plus the reason that most explains it.
|
|
229
|
+
*
|
|
230
|
+
* Priority order mirrors what a reader needs first: a recorded failure cause,
|
|
231
|
+
* then a park's question, then the "worked but never edited" pathology a green
|
|
232
|
+
* status would otherwise hide, then the resolved output.
|
|
233
|
+
*
|
|
234
|
+
* @param value the digest to judge
|
|
235
|
+
* @since 1.0.0
|
|
236
|
+
* @category rendering
|
|
237
|
+
*/
|
|
238
|
+
export declare const verdict: (value: Digest) => string;
|
|
239
|
+
/**
|
|
240
|
+
* Identity a diagnosis is rendered for.
|
|
241
|
+
*
|
|
242
|
+
* @since 1.0.0
|
|
243
|
+
* @category models
|
|
244
|
+
*/
|
|
245
|
+
export interface Subject {
|
|
246
|
+
readonly runId: string;
|
|
247
|
+
readonly flowId?: string | undefined;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Renders the diagnosis card for one run: verdict, activity evidence, tokens,
|
|
251
|
+
* cost when any call was priced, refusals, cause, and output.
|
|
252
|
+
*
|
|
253
|
+
* @param subject the run being diagnosed
|
|
254
|
+
* @param value the digest computed from its events
|
|
255
|
+
* @since 1.0.0
|
|
256
|
+
* @category rendering
|
|
257
|
+
*/
|
|
258
|
+
export declare const render: (subject: Subject, value: Digest) => string;
|
|
259
|
+
/**
|
|
260
|
+
* A digest of no events at all: the identity {@link combine} folds onto.
|
|
261
|
+
*
|
|
262
|
+
* @since 1.0.0
|
|
263
|
+
* @category constructors
|
|
264
|
+
*/
|
|
265
|
+
export declare const emptyDigest: () => Digest;
|
|
266
|
+
/**
|
|
267
|
+
* Combines adjacent digests without counting an identified call or checkpoint
|
|
268
|
+
* twice. A later native fact replaces the earlier telemetry contribution.
|
|
269
|
+
* Identity state is private and must stay with the in-memory digest; a plain
|
|
270
|
+
* reconstructed Digest is treated as an already aggregated, unkeyed value.
|
|
271
|
+
* @category constructors
|
|
272
|
+
* @since 1.0.0
|
|
273
|
+
*/
|
|
274
|
+
export declare const combine: (earlier: Digest, later: Digest) => Digest;
|
|
275
|
+
//# sourceMappingURL=Diagnosis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Diagnosis.d.ts","sourceRoot":"","sources":["../../src/Diagnosis.ts"],"names":[],"mappings":"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"}
|