rivetkit 2.0.7 → 2.0.9
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/dist/tsup/{chunk-OSK2VSJF.cjs → chunk-2MJYYF2Q.cjs} +12 -12
- package/dist/tsup/{chunk-OSK2VSJF.cjs.map → chunk-2MJYYF2Q.cjs.map} +1 -1
- package/dist/tsup/{chunk-NUA6LOOJ.cjs → chunk-4PSLOAXR.cjs} +216 -204
- package/dist/tsup/chunk-4PSLOAXR.cjs.map +1 -0
- package/dist/tsup/{chunk-F7YL5G7Q.cjs → chunk-4YV6RDZL.cjs} +255 -229
- package/dist/tsup/chunk-4YV6RDZL.cjs.map +1 -0
- package/dist/tsup/{chunk-3ALZ7EGX.cjs → chunk-7OMMIAWP.cjs} +11 -11
- package/dist/tsup/{chunk-3ALZ7EGX.cjs.map → chunk-7OMMIAWP.cjs.map} +1 -1
- package/dist/tsup/{chunk-GWJTWY3G.cjs → chunk-A44TWAS5.cjs} +6 -6
- package/dist/tsup/{chunk-GWJTWY3G.cjs.map → chunk-A44TWAS5.cjs.map} +1 -1
- package/dist/tsup/{chunk-B6N6VM37.js → chunk-APHV6WXU.js} +2 -2
- package/dist/tsup/{chunk-ETDWYT2P.cjs → chunk-DL7TPF63.cjs} +7 -7
- package/dist/tsup/{chunk-ETDWYT2P.cjs.map → chunk-DL7TPF63.cjs.map} +1 -1
- package/dist/tsup/{chunk-YL4VZMMT.js → chunk-DLPIL3VC.js} +2 -2
- package/dist/tsup/{chunk-VAF63BEI.cjs → chunk-DZZQG7VH.cjs} +3 -3
- package/dist/tsup/{chunk-VAF63BEI.cjs.map → chunk-DZZQG7VH.cjs.map} +1 -1
- package/dist/tsup/{chunk-RLBM6D4L.js → chunk-E63WU5PL.js} +3 -3
- package/dist/tsup/chunk-E63WU5PL.js.map +1 -0
- package/dist/tsup/{chunk-DIHKN7NM.js → chunk-F2YZNUPU.js} +3 -3
- package/dist/tsup/{chunk-KHRZPP5T.js → chunk-FZP2IBIX.js} +94 -68
- package/dist/tsup/chunk-FZP2IBIX.js.map +1 -0
- package/dist/tsup/{chunk-NII4KKHD.js → chunk-KHZ2QSQ4.js} +28 -16
- package/dist/tsup/chunk-KHZ2QSQ4.js.map +1 -0
- package/dist/tsup/{chunk-4EXJ4ITR.cjs → chunk-QGRYH6TU.cjs} +3 -3
- package/dist/tsup/{chunk-4EXJ4ITR.cjs.map → chunk-QGRYH6TU.cjs.map} +1 -1
- package/dist/tsup/{chunk-NRELKXIX.js → chunk-R7OP5N25.js} +56 -46
- package/dist/tsup/chunk-R7OP5N25.js.map +1 -0
- package/dist/tsup/{chunk-NDCVQZBS.cjs → chunk-SDXTJDDR.cjs} +62 -52
- package/dist/tsup/chunk-SDXTJDDR.cjs.map +1 -0
- package/dist/tsup/{chunk-7OOBMCQI.cjs → chunk-SOC4HWCG.cjs} +23 -22
- package/dist/tsup/chunk-SOC4HWCG.cjs.map +1 -0
- package/dist/tsup/{chunk-LXAVET4A.cjs → chunk-U2IXX6DY.cjs} +3 -3
- package/dist/tsup/{chunk-LXAVET4A.cjs.map → chunk-U2IXX6DY.cjs.map} +1 -1
- package/dist/tsup/{chunk-2NL3KGJ7.js → chunk-VVCL5DXN.js} +5 -4
- package/dist/tsup/chunk-VVCL5DXN.js.map +1 -0
- package/dist/tsup/{chunk-54MAHBLL.js → chunk-WBSPHV5V.js} +2 -2
- package/dist/tsup/{chunk-WAT5AE7S.js → chunk-WRSWUDFA.js} +5 -5
- package/dist/tsup/{chunk-PD6HCAJE.js → chunk-YR2VY4XS.js} +2 -2
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +8 -8
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{conn-DCSQgIlw.d.ts → conn-Bt8rkUzm.d.ts} +19 -1
- package/dist/tsup/{conn-DdzHTm2E.d.cts → conn-CEh3WKbA.d.cts} +19 -1
- package/dist/tsup/driver-helpers/mod.cjs +7 -5
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +4 -2
- package/dist/tsup/driver-helpers/mod.d.ts +4 -2
- package/dist/tsup/driver-helpers/mod.js +7 -5
- package/dist/tsup/driver-test-suite/mod.cjs +103 -113
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +3 -1
- package/dist/tsup/driver-test-suite/mod.d.ts +3 -1
- package/dist/tsup/driver-test-suite/mod.js +45 -55
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.d.cts +2 -2
- package/dist/tsup/inspector/mod.d.ts +2 -2
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/mod.cjs +10 -10
- package/dist/tsup/mod.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +9 -9
- package/dist/tsup/test/mod.cjs +11 -11
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +10 -10
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/package.json +2 -2
- package/src/actor/instance.ts +20 -7
- package/src/actor/router-endpoints.ts +2 -1
- package/src/actor/router.ts +27 -24
- package/src/client/actor-conn.ts +5 -1
- package/src/client/config.ts +2 -0
- package/src/driver-helpers/mod.ts +1 -0
- package/src/driver-test-suite/mod.ts +11 -2
- package/src/driver-test-suite/tests/actor-schedule.ts +14 -37
- package/src/driver-test-suite/tests/actor-sleep.ts +18 -18
- package/src/drivers/engine/actor-driver.ts +39 -10
- package/src/drivers/file-system/manager.ts +5 -1
- package/src/manager/driver.ts +1 -1
- package/src/manager/router.ts +49 -41
- package/src/registry/mod.ts +11 -2
- package/src/remote-manager-driver/mod.ts +3 -2
- package/src/serde.ts +15 -0
- package/dist/tsup/chunk-2NL3KGJ7.js.map +0 -1
- package/dist/tsup/chunk-7OOBMCQI.cjs.map +0 -1
- package/dist/tsup/chunk-F7YL5G7Q.cjs.map +0 -1
- package/dist/tsup/chunk-KHRZPP5T.js.map +0 -1
- package/dist/tsup/chunk-NDCVQZBS.cjs.map +0 -1
- package/dist/tsup/chunk-NII4KKHD.js.map +0 -1
- package/dist/tsup/chunk-NRELKXIX.js.map +0 -1
- package/dist/tsup/chunk-NUA6LOOJ.cjs.map +0 -1
- package/dist/tsup/chunk-RLBM6D4L.js.map +0 -1
- /package/dist/tsup/{chunk-B6N6VM37.js.map → chunk-APHV6WXU.js.map} +0 -0
- /package/dist/tsup/{chunk-YL4VZMMT.js.map → chunk-DLPIL3VC.js.map} +0 -0
- /package/dist/tsup/{chunk-DIHKN7NM.js.map → chunk-F2YZNUPU.js.map} +0 -0
- /package/dist/tsup/{chunk-54MAHBLL.js.map → chunk-WBSPHV5V.js.map} +0 -0
- /package/dist/tsup/{chunk-WAT5AE7S.js.map → chunk-WRSWUDFA.js.map} +0 -0
- /package/dist/tsup/{chunk-PD6HCAJE.js.map → chunk-YR2VY4XS.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkDL7TPF63cjs = require('./chunk-DL7TPF63.cjs');
|
|
4
4
|
|
|
5
5
|
// src/inspector/protocol/actor.ts
|
|
6
6
|
var _client = require('hono/client');
|
|
@@ -18,7 +18,7 @@ var _factory = require('hono/factory');
|
|
|
18
18
|
|
|
19
19
|
// src/inspector/log.ts
|
|
20
20
|
function inspectorLogger() {
|
|
21
|
-
return
|
|
21
|
+
return _chunkDL7TPF63cjs.getLogger.call(void 0, "inspector");
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
// src/inspector/utils.ts
|
|
@@ -99,4 +99,4 @@ var configureInspectorAccessToken = (runConfig, managerDriver) => {
|
|
|
99
99
|
|
|
100
100
|
|
|
101
101
|
exports.inspectorLogger = inspectorLogger; exports.compareSecrets = compareSecrets; exports.secureInspector = secureInspector; exports.getInspectorUrl = getInspectorUrl; exports.isInspectorEnabled = isInspectorEnabled; exports.configureInspectorAccessToken = configureInspectorAccessToken; exports.createActorInspectorClient = createActorInspectorClient; exports.createManagerInspectorClient = createManagerInspectorClient;
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-QGRYH6TU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-
|
|
1
|
+
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-QGRYH6TU.cjs","../../src/inspector/protocol/actor.ts","../../src/inspector/protocol/manager.ts","../../src/inspector/utils.ts","../../src/inspector/log.ts"],"names":["client","hc"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,qCAAmB;AAInB,IAAM,OAAA,EAAS,wBAAA,EAA2B,CAAA;AAGnC,IAAM,2BAAA,EAA6B,CAAA,GACtC,IAAA,EAAA,GACuB,wBAAA,GAA4B,IAAI,CAAA;ADD3D;AACA;AETA;AAIA,IAAMA,QAAAA,EAASC,wBAAAA,EAA6B,CAAA;AAGrC,IAAM,6BAAA,EAA+B,CAAA,GACxC,IAAA,EAAA,GACyBA,wBAAAA,GAA8B,IAAI,CAAA;AFI/D;AACA;AGdA,gFAAmB;AACnB,uCAAiC;AHgBjC;AACA;AIhBO,SAAS,eAAA,CAAA,EAAkB;AACjC,EAAA,OAAO,yCAAA,WAAqB,CAAA;AAC7B;AJkBA;AACA;AGhBO,SAAS,cAAA,CAAe,cAAA,EAAwB,WAAA,EAAqB;AAE3E,EAAA,GAAA,CAAI,cAAA,CAAe,OAAA,IAAW,WAAA,CAAY,MAAA,EAAQ;AACjD,IAAA,OAAO,KAAA;AAAA,EACR;AAEA,EAAA,MAAM,QAAA,EAAU,IAAI,WAAA,CAAY,CAAA;AAEhC,EAAA,MAAM,EAAA,EAAI,OAAA,CAAQ,MAAA,CAAO,cAAc,CAAA;AACvC,EAAA,MAAM,EAAA,EAAI,OAAA,CAAQ,MAAA,CAAO,WAAW,CAAA;AAEpC,EAAA,GAAA,CAAI,CAAA,CAAE,WAAA,IAAe,CAAA,CAAE,UAAA,EAAY;AAClC,IAAA,OAAO,KAAA;AAAA,EACR;AAGA,EAAA,GAAA,CAAI,CAAC,gBAAA,CAAO,eAAA,CAAgB,CAAA,EAAG,CAAC,CAAA,EAAG;AAClC,IAAA,OAAO,KAAA;AAAA,EACR;AACA,EAAA,OAAO,IAAA;AACR;AAEO,IAAM,gBAAA,EAAkB,CAAC,SAAA,EAAA,GAC/B,uCAAA,MAAiB,CAAO,CAAA,EAAG,IAAA,EAAA,GAAS;AA9BrC,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA+BE,EAAA,MAAM,UAAA,EAAA,CAAY,GAAA,EAAA,CAAA,CAAE,GAAA,CAAI,MAAA,CAAO,eAAe,CAAA,EAAA,GAA5B,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAA+B,OAAA,CAAQ,SAAA,EAAW,EAAA,CAAA;AACpE,EAAA,GAAA,CAAI,CAAC,SAAA,EAAW;AACf,IAAA,OAAO,CAAA,CAAE,IAAA,CAAK,cAAA,EAAgB,GAAG,CAAA;AAAA,EAClC;AAEA,EAAA,MAAM,eAAA,EAAA,CAAiB,GAAA,EAAA,CAAA,GAAA,EAAA,SAAA,CAAU,SAAA,CAAA,CAAU,KAAA,EAAA,GAApB,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AACvB,EAAA,GAAA,CAAI,CAAC,cAAA,EAAgB;AACpB,IAAA,OAAO,CAAA,CAAE,IAAA,CAAK,cAAA,EAAgB,GAAG,CAAA;AAAA,EAClC;AAEA,EAAA,MAAM,QAAA,EAAU,cAAA,CAAe,SAAA,EAAW,cAAc,CAAA;AAExD,EAAA,GAAA,CAAI,CAAC,OAAA,EAAS;AACb,IAAA,OAAO,CAAA,CAAE,IAAA,CAAK,cAAA,EAAgB,GAAG,CAAA;AAAA,EAClC;AACA,EAAA,MAAM,IAAA,CAAK,CAAA;AACZ,CAAC,CAAA;AAEK,SAAS,eAAA,CAAgB,SAAA,EAAuC;AAjDvE,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAkDC,EAAA,GAAA,CAAI,CAAA,CAAA,CAAC,GAAA,EAAA,UAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,SAAA,CAAW,SAAA,EAAA,GAAX,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAsB,OAAA,CAAA,EAAS;AACnC,IAAA,OAAO,UAAA;AAAA,EACR;AAEA,EAAA,MAAM,YAAA,EAAA,CAAc,GAAA,EAAA,CAAA,GAAA,EAAA,UAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,SAAA,CAAW,SAAA,EAAA,GAAX,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAsB,KAAA,EAAA,GAAtB,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AAEpB,EAAA,GAAA,CAAI,CAAC,WAAA,EAAa;AACjB,IAAA,eAAA,CAAgB,CAAA,CAAE,IAAA;AAAA,MACjB;AAAA,IACD,CAAA;AACA,IAAA,OAAO,UAAA;AAAA,EACR;AAEA,EAAA,MAAM,IAAA,EAAM,IAAI,GAAA,CAAI,2BAA2B,CAAA;AAE/C,EAAA,GAAA,CAAI,YAAA,CAAa,GAAA,CAAI,GAAA,EAAK,WAAW,CAAA;AAErC,EAAA,GAAA,CAAA,CAAI,GAAA,EAAA,UAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,SAAA,CAAW,SAAA,EAAA,GAAX,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAsB,eAAA,EAAiB;AAC1C,IAAA,GAAA,CAAI,YAAA,CAAa,GAAA,CAAI,GAAA,EAAK,SAAA,CAAU,SAAA,CAAU,eAAe,CAAA;AAAA,EAC9D;AAEA,EAAA,OAAO,GAAA,CAAI,IAAA;AACZ;AAEO,IAAM,mBAAA,EAAqB,CACjC,SAAA,EACA,OAAA,EAAA,GACI;AA7EL,EAAA,IAAA,EAAA,EAAA,EAAA;AA8EC,EAAA,GAAA,CAAI,OAAA,CAAA,CAAO,GAAA,EAAA,SAAA,CAAU,SAAA,EAAA,GAAV,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAqB,OAAA,EAAA,IAAY,SAAA,EAAW;AACtD,IAAA,OAAO,SAAA,CAAU,SAAA,CAAU,OAAA;AAAA,EAC5B,EAAA,KAAA,GAAA,CAAW,OAAA,CAAA,CAAO,GAAA,EAAA,SAAA,CAAU,SAAA,EAAA,GAAV,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAqB,OAAA,EAAA,IAAY,QAAA,EAAU;AAC5D,IAAA,OAAO,SAAA,CAAU,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAAA,EAC3C;AACA,EAAA,OAAO,KAAA;AACR,CAAA;AAEO,IAAM,8BAAA,EAAgC,CAC5C,SAAA,EACA,aAAA,EAAA,GACI;AAzFL,EAAA,IAAA,EAAA;AA0FC,EAAA,GAAA,CAAI,CAAA,CAAA,CAAC,GAAA,EAAA,SAAA,CAAU,SAAA,EAAA,GAAV,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAqB,KAAA,CAAA,CAAA,CAAA,EAAS;AAClC,IAAA,MAAM,MAAA,EAAQ,aAAA,CAAc,+BAAA,CAAgC,CAAA;AAC5D,IAAA,SAAA,CAAU,SAAA,CAAU,MAAA,EAAQ,CAAA,EAAA,GAAM,KAAA;AAAA,EACnC;AACD,CAAA;AHJA;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uaAAC","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-QGRYH6TU.cjs","sourcesContent":[null,"import { hc } from \"hono/client\";\nimport type { createActorInspectorRouter } from \"../actor\";\n\ntype ActorInspectorRouter = ReturnType<typeof createActorInspectorRouter>;\nconst client = hc<ActorInspectorRouter>(\"\");\nexport type ActorInspectorClient = typeof client;\n\nexport const createActorInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ActorInspectorClient => hc<ActorInspectorRouter>(...args);\n","import { hc } from \"hono/client\";\nimport type { createManagerInspectorRouter } from \"../manager\";\n\ntype ManagerInspectorRouter = ReturnType<typeof createManagerInspectorRouter>;\nconst client = hc<ManagerInspectorRouter>(\"\");\nexport type ManagerInspectorClient = typeof client;\n\nexport const createManagerInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ManagerInspectorClient => hc<ManagerInspectorRouter>(...args);\n","import crypto from \"node:crypto\";\nimport { createMiddleware } from \"hono/factory\";\nimport type { ManagerDriver } from \"@/driver-helpers/mod\";\nimport type { RunConfig } from \"@/mod\";\nimport type { RunConfigInput } from \"@/registry/run-config\";\nimport { inspectorLogger } from \"./log\";\n\nexport function compareSecrets(providedSecret: string, validSecret: string) {\n\t// Early length check to avoid unnecessary processing\n\tif (providedSecret.length !== validSecret.length) {\n\t\treturn false;\n\t}\n\n\tconst encoder = new TextEncoder();\n\n\tconst a = encoder.encode(providedSecret);\n\tconst b = encoder.encode(validSecret);\n\n\tif (a.byteLength !== b.byteLength) {\n\t\treturn false;\n\t}\n\n\t// Perform timing-safe comparison\n\tif (!crypto.timingSafeEqual(a, b)) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nexport const secureInspector = (runConfig: RunConfig) =>\n\tcreateMiddleware(async (c, next) => {\n\t\tconst userToken = c.req.header(\"Authorization\")?.replace(\"Bearer \", \"\");\n\t\tif (!userToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst inspectorToken = runConfig.inspector.token?.();\n\t\tif (!inspectorToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst isValid = compareSecrets(userToken, inspectorToken);\n\n\t\tif (!isValid) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\t\tawait next();\n\t});\n\nexport function getInspectorUrl(runConfig: RunConfigInput | undefined) {\n\tif (!runConfig?.inspector?.enabled) {\n\t\treturn \"disabled\";\n\t}\n\n\tconst accessToken = runConfig?.inspector?.token?.();\n\n\tif (!accessToken) {\n\t\tinspectorLogger().warn(\n\t\t\t\"Inspector Token is not set, but Inspector is enabled. Please set it in the run configuration `inspector.token` or via `RIVETKIT_INSPECTOR_TOKEN` environment variable. Inspector will not be accessible.\",\n\t\t);\n\t\treturn \"disabled\";\n\t}\n\n\tconst url = new URL(\"https://inspect.rivet.dev\");\n\n\turl.searchParams.set(\"t\", accessToken);\n\n\tif (runConfig?.inspector?.defaultEndpoint) {\n\t\turl.searchParams.set(\"u\", runConfig.inspector.defaultEndpoint);\n\t}\n\n\treturn url.href;\n}\n\nexport const isInspectorEnabled = (\n\trunConfig: RunConfig,\n\tcontext: \"actor\" | \"manager\",\n) => {\n\tif (typeof runConfig.inspector?.enabled === \"boolean\") {\n\t\treturn runConfig.inspector.enabled;\n\t} else if (typeof runConfig.inspector?.enabled === \"object\") {\n\t\treturn runConfig.inspector.enabled[context];\n\t}\n\treturn false;\n};\n\nexport const configureInspectorAccessToken = (\n\trunConfig: RunConfig,\n\tmanagerDriver: ManagerDriver,\n) => {\n\tif (!runConfig.inspector?.token()) {\n\t\tconst token = managerDriver.getOrCreateInspectorAccessToken();\n\t\trunConfig.inspector.token = () => token;\n\t}\n};\n","import { getLogger } from \"@/common/log\";\n\nexport function inspectorLogger() {\n\treturn getLogger(\"inspector\");\n}\n"]}
|
|
@@ -1,56 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getLogger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DLPIL3VC.js";
|
|
4
4
|
import {
|
|
5
5
|
assertUnreachable
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-E63WU5PL.js";
|
|
7
7
|
import {
|
|
8
8
|
Unreachable
|
|
9
9
|
} from "./chunk-YPZFLUO6.js";
|
|
10
10
|
|
|
11
|
-
// src/common/actor-router-consts.ts
|
|
12
|
-
var PATH_CONNECT_WEBSOCKET = "/connect/websocket";
|
|
13
|
-
var PATH_RAW_WEBSOCKET_PREFIX = "/raw/websocket/";
|
|
14
|
-
var HEADER_ACTOR_QUERY = "x-rivet-query";
|
|
15
|
-
var HEADER_ENCODING = "x-rivet-encoding";
|
|
16
|
-
var HEADER_CONN_PARAMS = "x-rivet-conn-params";
|
|
17
|
-
var HEADER_ACTOR_ID = "x-rivet-actor";
|
|
18
|
-
var HEADER_CONN_ID = "x-rivet-conn";
|
|
19
|
-
var HEADER_CONN_TOKEN = "x-rivet-conn-token";
|
|
20
|
-
var HEADER_RIVET_TOKEN = "x-rivet-token";
|
|
21
|
-
var HEADER_RIVET_TARGET = "x-rivet-target";
|
|
22
|
-
var HEADER_RIVET_ACTOR = "x-rivet-actor";
|
|
23
|
-
var WS_PROTOCOL_STANDARD = "rivet";
|
|
24
|
-
var WS_PROTOCOL_TARGET = "rivet_target.";
|
|
25
|
-
var WS_PROTOCOL_ACTOR = "rivet_actor.";
|
|
26
|
-
var WS_PROTOCOL_ENCODING = "rivet_encoding.";
|
|
27
|
-
var WS_PROTOCOL_CONN_PARAMS = "rivet_conn_params.";
|
|
28
|
-
var WS_PROTOCOL_CONN_ID = "rivet_conn.";
|
|
29
|
-
var WS_PROTOCOL_CONN_TOKEN = "rivet_conn_token.";
|
|
30
|
-
var WS_PROTOCOL_TOKEN = "rivet_token.";
|
|
31
|
-
var WS_PROTOCOL_TRANSPORT = "test_transport.";
|
|
32
|
-
var WS_PROTOCOL_PATH = "test_path.";
|
|
33
|
-
var ALLOWED_PUBLIC_HEADERS = [
|
|
34
|
-
"Content-Type",
|
|
35
|
-
"User-Agent",
|
|
36
|
-
HEADER_ACTOR_QUERY,
|
|
37
|
-
HEADER_ENCODING,
|
|
38
|
-
HEADER_CONN_PARAMS,
|
|
39
|
-
HEADER_ACTOR_ID,
|
|
40
|
-
HEADER_CONN_ID,
|
|
41
|
-
HEADER_CONN_TOKEN,
|
|
42
|
-
HEADER_RIVET_TARGET,
|
|
43
|
-
HEADER_RIVET_ACTOR,
|
|
44
|
-
HEADER_RIVET_TOKEN
|
|
45
|
-
];
|
|
46
|
-
|
|
47
|
-
// src/serde.ts
|
|
48
|
-
import * as cbor from "cbor-x";
|
|
49
|
-
import invariant from "invariant";
|
|
50
|
-
|
|
51
|
-
// src/actor/protocol/serde.ts
|
|
52
|
-
import { z } from "zod";
|
|
53
|
-
|
|
54
11
|
// src/actor/log.ts
|
|
55
12
|
function loggerWithoutContext() {
|
|
56
13
|
return getLogger("actor-runtime");
|
|
@@ -98,7 +55,48 @@ function generateRandomString(length = 32) {
|
|
|
98
55
|
return result;
|
|
99
56
|
}
|
|
100
57
|
|
|
58
|
+
// src/common/actor-router-consts.ts
|
|
59
|
+
var PATH_CONNECT_WEBSOCKET = "/connect/websocket";
|
|
60
|
+
var PATH_RAW_WEBSOCKET_PREFIX = "/raw/websocket/";
|
|
61
|
+
var HEADER_ACTOR_QUERY = "x-rivet-query";
|
|
62
|
+
var HEADER_ENCODING = "x-rivet-encoding";
|
|
63
|
+
var HEADER_CONN_PARAMS = "x-rivet-conn-params";
|
|
64
|
+
var HEADER_ACTOR_ID = "x-rivet-actor";
|
|
65
|
+
var HEADER_CONN_ID = "x-rivet-conn";
|
|
66
|
+
var HEADER_CONN_TOKEN = "x-rivet-conn-token";
|
|
67
|
+
var HEADER_RIVET_TOKEN = "x-rivet-token";
|
|
68
|
+
var HEADER_RIVET_TARGET = "x-rivet-target";
|
|
69
|
+
var HEADER_RIVET_ACTOR = "x-rivet-actor";
|
|
70
|
+
var WS_PROTOCOL_STANDARD = "rivet";
|
|
71
|
+
var WS_PROTOCOL_TARGET = "rivet_target.";
|
|
72
|
+
var WS_PROTOCOL_ACTOR = "rivet_actor.";
|
|
73
|
+
var WS_PROTOCOL_ENCODING = "rivet_encoding.";
|
|
74
|
+
var WS_PROTOCOL_CONN_PARAMS = "rivet_conn_params.";
|
|
75
|
+
var WS_PROTOCOL_CONN_ID = "rivet_conn.";
|
|
76
|
+
var WS_PROTOCOL_CONN_TOKEN = "rivet_conn_token.";
|
|
77
|
+
var WS_PROTOCOL_TOKEN = "rivet_token.";
|
|
78
|
+
var WS_PROTOCOL_TRANSPORT = "test_transport.";
|
|
79
|
+
var WS_PROTOCOL_PATH = "test_path.";
|
|
80
|
+
var ALLOWED_PUBLIC_HEADERS = [
|
|
81
|
+
"Content-Type",
|
|
82
|
+
"User-Agent",
|
|
83
|
+
HEADER_ACTOR_QUERY,
|
|
84
|
+
HEADER_ENCODING,
|
|
85
|
+
HEADER_CONN_PARAMS,
|
|
86
|
+
HEADER_ACTOR_ID,
|
|
87
|
+
HEADER_CONN_ID,
|
|
88
|
+
HEADER_CONN_TOKEN,
|
|
89
|
+
HEADER_RIVET_TARGET,
|
|
90
|
+
HEADER_RIVET_ACTOR,
|
|
91
|
+
HEADER_RIVET_TOKEN
|
|
92
|
+
];
|
|
93
|
+
|
|
94
|
+
// src/serde.ts
|
|
95
|
+
import * as cbor from "cbor-x";
|
|
96
|
+
import invariant from "invariant";
|
|
97
|
+
|
|
101
98
|
// src/actor/protocol/serde.ts
|
|
99
|
+
import { z } from "zod";
|
|
102
100
|
var EncodingSchema = z.enum(["json", "cbor", "bare"]);
|
|
103
101
|
var CachedSerializer = class {
|
|
104
102
|
#data;
|
|
@@ -157,6 +155,17 @@ function jsonStringifyCompat(input) {
|
|
|
157
155
|
}
|
|
158
156
|
|
|
159
157
|
// src/serde.ts
|
|
158
|
+
function uint8ArrayToBase64(uint8Array) {
|
|
159
|
+
if (typeof Buffer !== "undefined") {
|
|
160
|
+
return Buffer.from(uint8Array).toString("base64");
|
|
161
|
+
}
|
|
162
|
+
let binary = "";
|
|
163
|
+
const len = uint8Array.byteLength;
|
|
164
|
+
for (let i = 0; i < len; i++) {
|
|
165
|
+
binary += String.fromCharCode(uint8Array[i]);
|
|
166
|
+
}
|
|
167
|
+
return btoa(binary);
|
|
168
|
+
}
|
|
160
169
|
function encodingIsBinary(encoding) {
|
|
161
170
|
if (encoding === "json") {
|
|
162
171
|
return false;
|
|
@@ -219,6 +228,7 @@ function deserializeWithEncoding(encoding, buffer, versionedDataHandler) {
|
|
|
219
228
|
}
|
|
220
229
|
|
|
221
230
|
export {
|
|
231
|
+
uint8ArrayToBase64,
|
|
222
232
|
encodingIsBinary,
|
|
223
233
|
contentTypeForEncoding,
|
|
224
234
|
serializeWithEncoding,
|
|
@@ -256,4 +266,4 @@ export {
|
|
|
256
266
|
WS_PROTOCOL_PATH,
|
|
257
267
|
ALLOWED_PUBLIC_HEADERS
|
|
258
268
|
};
|
|
259
|
-
//# sourceMappingURL=chunk-
|
|
269
|
+
//# sourceMappingURL=chunk-R7OP5N25.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/actor/log.ts","../../src/actor/utils.ts","../../src/common/actor-router-consts.ts","../../src/serde.ts","../../src/actor/protocol/serde.ts"],"sourcesContent":["import { getLogger } from \"@/common/log\";\n\n/** Prever to use ActorInstance.rlog child logger. This does not provide context in the log, should only be used as a last resort if you cannot pass the actor's child logger. */\nexport function loggerWithoutContext() {\n\treturn getLogger(\"actor-runtime\");\n}\n","import * as errors from \"./errors\";\nimport { loggerWithoutContext } from \"./log\";\n\nexport function assertUnreachable(x: never): never {\n\tloggerWithoutContext().error({\n\t\tmsg: \"unreachable\",\n\t\tvalue: `${x}`,\n\t\tstack: new Error().stack,\n\t});\n\tthrow new errors.Unreachable(x);\n}\n\nexport const throttle = <\n\t// biome-ignore lint/suspicious/noExplicitAny: we want to allow any function\n\tFn extends (...args: any) => any,\n>(\n\tfn: Fn,\n\tdelay: number,\n) => {\n\tlet lastRan = false;\n\tlet lastArgs: Parameters<Fn> | null = null;\n\n\treturn (...args: Parameters<Fn>) => {\n\t\tif (!lastRan) {\n\t\t\tfn.apply(this, args);\n\t\t\tlastRan = true;\n\t\t\tconst timer = () =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tlastRan = false;\n\t\t\t\t\tif (lastArgs) {\n\t\t\t\t\t\tfn.apply(this, lastArgs);\n\t\t\t\t\t\tlastRan = true;\n\t\t\t\t\t\tlastArgs = null;\n\t\t\t\t\t\ttimer();\n\t\t\t\t\t}\n\t\t\t\t}, delay);\n\t\t\ttimer();\n\t\t} else lastArgs = args;\n\t};\n};\n\nexport class DeadlineError extends Error {\n\tconstructor() {\n\t\tsuper(\"Promise did not complete before deadline.\");\n\t}\n}\n\nexport function deadline<T>(promise: Promise<T>, timeout: number): Promise<T> {\n\tconst controller = new AbortController();\n\tconst signal = controller.signal;\n\n\t// Set a timeout to abort the operation\n\tconst timeoutId = setTimeout(() => controller.abort(), timeout);\n\n\treturn Promise.race<T>([\n\t\tpromise,\n\t\tnew Promise<T>((_, reject) => {\n\t\t\tsignal.addEventListener(\"abort\", () => reject(new DeadlineError()));\n\t\t}),\n\t]).finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n}\n\nexport class Lock<T> {\n\tprivate _locked = false;\n\tprivate _waiting: Array<() => void> = [];\n\n\tconstructor(private _value: T) {}\n\n\tasync lock(fn: (value: T) => Promise<void>): Promise<void> {\n\t\tif (this._locked) {\n\t\t\tawait new Promise<void>((resolve) => this._waiting.push(resolve));\n\t\t}\n\t\tthis._locked = true;\n\n\t\ttry {\n\t\t\tawait fn(this._value);\n\t\t} finally {\n\t\t\tthis._locked = false;\n\t\t\tconst next = this._waiting.shift();\n\t\t\tif (next) next();\n\t\t}\n\t}\n}\n\nexport function generateSecureToken(length = 32) {\n\tconst array = new Uint8Array(length);\n\tcrypto.getRandomValues(array);\n\t// Replace base64 chars that are not URL safe with URL-safe chars and strip padding\n\treturn btoa(String.fromCharCode(...array))\n\t\t.replace(/\\+/g, \"-\")\n\t\t.replace(/\\//g, \"_\")\n\t\t.replace(/=/g, \"\");\n}\n\nexport function generateRandomString(length = 32) {\n\tconst characters =\n\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\tlet result = \"\";\n\tfor (let i = 0; i < length; i++) {\n\t\tconst randomIndex = Math.floor(Math.random() * characters.length);\n\t\tresult += characters[randomIndex];\n\t}\n\treturn result;\n}\n","// NOTE: This is in a separate file from the router since it needs to be shared between the client & the server. If this was in the router file, the client would end up importing the *entire* actor router and tree shaking would not work.\n\n// MARK: Paths\nexport const PATH_CONNECT_WEBSOCKET = \"/connect/websocket\";\nexport const PATH_RAW_WEBSOCKET_PREFIX = \"/raw/websocket/\";\n\n// MARK: Headers\nexport const HEADER_ACTOR_QUERY = \"x-rivet-query\";\n\nexport const HEADER_ENCODING = \"x-rivet-encoding\";\n\n// IMPORTANT: Params must be in headers or in an E2EE part of the request (i.e. NOT the URL or query string) in order to ensure that tokens can be securely passed in params.\nexport const HEADER_CONN_PARAMS = \"x-rivet-conn-params\";\n\nexport const HEADER_ACTOR_ID = \"x-rivet-actor\";\n\nexport const HEADER_CONN_ID = \"x-rivet-conn\";\n\nexport const HEADER_CONN_TOKEN = \"x-rivet-conn-token\";\n\nexport const HEADER_RIVET_TOKEN = \"x-rivet-token\";\n\n// MARK: Manager Gateway Headers\nexport const HEADER_RIVET_TARGET = \"x-rivet-target\";\nexport const HEADER_RIVET_ACTOR = \"x-rivet-actor\";\n\n// MARK: WebSocket Protocol Prefixes\n/** Some servers (such as node-ws & Cloudflare) require explicitly match a certain WebSocket protocol. This gives us a static protocol to match against. */\nexport const WS_PROTOCOL_STANDARD = \"rivet\";\nexport const WS_PROTOCOL_TARGET = \"rivet_target.\";\nexport const WS_PROTOCOL_ACTOR = \"rivet_actor.\";\nexport const WS_PROTOCOL_ENCODING = \"rivet_encoding.\";\nexport const WS_PROTOCOL_CONN_PARAMS = \"rivet_conn_params.\";\nexport const WS_PROTOCOL_CONN_ID = \"rivet_conn.\";\nexport const WS_PROTOCOL_CONN_TOKEN = \"rivet_conn_token.\";\nexport const WS_PROTOCOL_TOKEN = \"rivet_token.\";\n\n// MARK: WebSocket Inline Test Protocol Prefixes\nexport const WS_PROTOCOL_TRANSPORT = \"test_transport.\";\nexport const WS_PROTOCOL_PATH = \"test_path.\";\n\n/**\n * Headers that publics can send from public clients.\n *\n * Used for CORS.\n **/\nexport const ALLOWED_PUBLIC_HEADERS = [\n\t\"Content-Type\",\n\t\"User-Agent\",\n\tHEADER_ACTOR_QUERY,\n\tHEADER_ENCODING,\n\tHEADER_CONN_PARAMS,\n\tHEADER_ACTOR_ID,\n\tHEADER_CONN_ID,\n\tHEADER_CONN_TOKEN,\n\tHEADER_RIVET_TARGET,\n\tHEADER_RIVET_ACTOR,\n\tHEADER_RIVET_TOKEN,\n];\n","import * as cbor from \"cbor-x\";\nimport invariant from \"invariant\";\nimport { assertUnreachable } from \"@/common/utils\";\nimport type { VersionedDataHandler } from \"@/common/versioned-data\";\nimport type { Encoding } from \"@/mod\";\nimport { jsonStringifyCompat } from \"./actor/protocol/serde\";\n\nexport function uint8ArrayToBase64(uint8Array: Uint8Array): string {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn Buffer.from(uint8Array).toString(\"base64\");\n\t}\n\n\t// Browser environment - use btoa\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nexport function encodingIsBinary(encoding: Encoding): boolean {\n\tif (encoding === \"json\") {\n\t\treturn false;\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn true;\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function contentTypeForEncoding(encoding: Encoding): string {\n\tif (encoding === \"json\") {\n\t\treturn \"application/json\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"application/octet-stream\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function wsBinaryTypeForEncoding(\n\tencoding: Encoding,\n): \"arraybuffer\" | \"blob\" {\n\tif (encoding === \"json\") {\n\t\treturn \"blob\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"arraybuffer\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function serializeWithEncoding<T>(\n\tencoding: Encoding,\n\tvalue: T,\n\tversionedDataHandler: VersionedDataHandler<T> | undefined,\n): Uint8Array | string {\n\tif (encoding === \"json\") {\n\t\treturn jsonStringifyCompat(value);\n\t} else if (encoding === \"cbor\") {\n\t\treturn cbor.encode(value);\n\t} else if (encoding === \"bare\") {\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\"VersionedDataHandler is required for 'bare' encoding\");\n\t\t}\n\t\treturn versionedDataHandler.serializeWithEmbeddedVersion(value);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function deserializeWithEncoding<T>(\n\tencoding: Encoding,\n\tbuffer: Uint8Array | string,\n\tversionedDataHandler: VersionedDataHandler<T> | undefined,\n): T {\n\tif (encoding === \"json\") {\n\t\tif (typeof buffer === \"string\") {\n\t\t\treturn JSON.parse(buffer);\n\t\t} else {\n\t\t\tconst decoder = new TextDecoder(\"utf-8\");\n\t\t\tconst jsonString = decoder.decode(buffer);\n\t\t\treturn JSON.parse(jsonString);\n\t\t}\n\t} else if (encoding === \"cbor\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for cbor encoding\",\n\t\t);\n\t\treturn cbor.decode(buffer);\n\t} else if (encoding === \"bare\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for bare encoding\",\n\t\t);\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\"VersionedDataHandler is required for 'bare' encoding\");\n\t\t}\n\t\treturn versionedDataHandler.deserializeWithEmbeddedVersion(buffer);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { z } from \"zod\";\nimport * as errors from \"@/actor/errors\";\nimport type { VersionedDataHandler } from \"@/common/versioned-data\";\nimport { serializeWithEncoding } from \"@/serde\";\nimport { loggerWithoutContext } from \"../log\";\nimport { assertUnreachable } from \"../utils\";\n\n/** Data that can be deserialized. */\nexport type InputData = string | Buffer | Blob | ArrayBufferLike | Uint8Array;\n\n/** Data that's been serialized. */\nexport type OutputData = string | Uint8Array;\n\nexport const EncodingSchema = z.enum([\"json\", \"cbor\", \"bare\"]);\n\n/**\n * Encoding used to communicate between the client & actor.\n */\nexport type Encoding = z.infer<typeof EncodingSchema>;\n\n/**\n * Helper class that helps serialize data without re-serializing for the same encoding.\n */\nexport class CachedSerializer<T> {\n\t#data: T;\n\t#cache = new Map<Encoding, OutputData>();\n\t#versionedDataHandler: VersionedDataHandler<T>;\n\n\tconstructor(data: T, versionedDataHandler: VersionedDataHandler<T>) {\n\t\tthis.#data = data;\n\t\tthis.#versionedDataHandler = versionedDataHandler;\n\t}\n\n\tpublic get rawData(): T {\n\t\treturn this.#data;\n\t}\n\n\tpublic serialize(encoding: Encoding): OutputData {\n\t\tconst cached = this.#cache.get(encoding);\n\t\tif (cached) {\n\t\t\treturn cached;\n\t\t} else {\n\t\t\tconst serialized = serializeWithEncoding(\n\t\t\t\tencoding,\n\t\t\t\tthis.#data,\n\t\t\t\tthis.#versionedDataHandler,\n\t\t\t);\n\t\t\tthis.#cache.set(encoding, serialized);\n\t\t\treturn serialized;\n\t\t}\n\t}\n}\n\n///**\n// * Use `CachedSerializer` if serializing the same data repeatedly.\n// */\n//export function serialize<T>(value: T, encoding: Encoding): OutputData {\n//\tif (encoding === \"json\") {\n//\t\treturn JSON.stringify(value);\n//\t} else if (encoding === \"cbor\") {\n//\t\t// TODO: Remove this hack, but cbor-x can't handle anything extra in data structures\n//\t\tconst cleanValue = JSON.parse(JSON.stringify(value));\n//\t\treturn cbor.encode(cleanValue);\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n//\n//export async function deserialize(data: InputData, encoding: Encoding) {\n//\tif (encoding === \"json\") {\n//\t\tif (typeof data !== \"string\") {\n//\t\t\tlogger().warn(\"received non-string for json parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t} else {\n//\t\t\treturn JSON.parse(data);\n//\t\t}\n//\t} else if (encoding === \"cbor\") {\n//\t\tif (data instanceof Blob) {\n//\t\t\tconst arrayBuffer = await data.arrayBuffer();\n//\t\t\treturn cbor.decode(new Uint8Array(arrayBuffer));\n//\t\t} else if (data instanceof Uint8Array) {\n//\t\t\treturn cbor.decode(data);\n//\t\t} else if (\n//\t\t\tdata instanceof ArrayBuffer ||\n//\t\t\tdata instanceof SharedArrayBuffer\n//\t\t) {\n//\t\t\treturn cbor.decode(new Uint8Array(data));\n//\t\t} else {\n//\t\t\tlogger().warn(\"received non-binary type for cbor parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t}\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n\n// TODO: Encode base 128\nfunction base64EncodeUint8Array(uint8Array: Uint8Array): string {\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nfunction base64EncodeArrayBuffer(arrayBuffer: ArrayBuffer): string {\n\tconst uint8Array = new Uint8Array(arrayBuffer);\n\treturn base64EncodeUint8Array(uint8Array);\n}\n\n/** Converts data that was encoded to a string. Some formats (like SSE) don't support raw binary data. */\nexport function encodeDataToString(message: OutputData): string {\n\tif (typeof message === \"string\") {\n\t\treturn message;\n\t} else if (message instanceof ArrayBuffer) {\n\t\treturn base64EncodeArrayBuffer(message);\n\t} else if (message instanceof Uint8Array) {\n\t\treturn base64EncodeUint8Array(message);\n\t} else {\n\t\tassertUnreachable(message);\n\t}\n}\n\n/** Stringifies with compat for values that BARE & CBOR supports. */\nexport function jsonStringifyCompat(input: any): string {\n\treturn JSON.stringify(input, (_key, value) =>\n\t\ttypeof value === \"bigint\" ? value.toString() : value,\n\t);\n}\n"],"mappings":"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","names":["assertUnreachable","assertUnreachable"]}
|
|
@@ -1,59 +1,16 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkDL7TPF63cjs = require('./chunk-DL7TPF63.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkU2IXX6DYcjs = require('./chunk-U2IXX6DY.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunk5QGQK44Lcjs = require('./chunk-5QGQK44L.cjs');
|
|
10
10
|
|
|
11
|
-
// src/common/actor-router-consts.ts
|
|
12
|
-
var PATH_CONNECT_WEBSOCKET = "/connect/websocket";
|
|
13
|
-
var PATH_RAW_WEBSOCKET_PREFIX = "/raw/websocket/";
|
|
14
|
-
var HEADER_ACTOR_QUERY = "x-rivet-query";
|
|
15
|
-
var HEADER_ENCODING = "x-rivet-encoding";
|
|
16
|
-
var HEADER_CONN_PARAMS = "x-rivet-conn-params";
|
|
17
|
-
var HEADER_ACTOR_ID = "x-rivet-actor";
|
|
18
|
-
var HEADER_CONN_ID = "x-rivet-conn";
|
|
19
|
-
var HEADER_CONN_TOKEN = "x-rivet-conn-token";
|
|
20
|
-
var HEADER_RIVET_TOKEN = "x-rivet-token";
|
|
21
|
-
var HEADER_RIVET_TARGET = "x-rivet-target";
|
|
22
|
-
var HEADER_RIVET_ACTOR = "x-rivet-actor";
|
|
23
|
-
var WS_PROTOCOL_STANDARD = "rivet";
|
|
24
|
-
var WS_PROTOCOL_TARGET = "rivet_target.";
|
|
25
|
-
var WS_PROTOCOL_ACTOR = "rivet_actor.";
|
|
26
|
-
var WS_PROTOCOL_ENCODING = "rivet_encoding.";
|
|
27
|
-
var WS_PROTOCOL_CONN_PARAMS = "rivet_conn_params.";
|
|
28
|
-
var WS_PROTOCOL_CONN_ID = "rivet_conn.";
|
|
29
|
-
var WS_PROTOCOL_CONN_TOKEN = "rivet_conn_token.";
|
|
30
|
-
var WS_PROTOCOL_TOKEN = "rivet_token.";
|
|
31
|
-
var WS_PROTOCOL_TRANSPORT = "test_transport.";
|
|
32
|
-
var WS_PROTOCOL_PATH = "test_path.";
|
|
33
|
-
var ALLOWED_PUBLIC_HEADERS = [
|
|
34
|
-
"Content-Type",
|
|
35
|
-
"User-Agent",
|
|
36
|
-
HEADER_ACTOR_QUERY,
|
|
37
|
-
HEADER_ENCODING,
|
|
38
|
-
HEADER_CONN_PARAMS,
|
|
39
|
-
HEADER_ACTOR_ID,
|
|
40
|
-
HEADER_CONN_ID,
|
|
41
|
-
HEADER_CONN_TOKEN,
|
|
42
|
-
HEADER_RIVET_TARGET,
|
|
43
|
-
HEADER_RIVET_ACTOR,
|
|
44
|
-
HEADER_RIVET_TOKEN
|
|
45
|
-
];
|
|
46
|
-
|
|
47
|
-
// src/serde.ts
|
|
48
|
-
var _cborx = require('cbor-x'); var cbor = _interopRequireWildcard(_cborx);
|
|
49
|
-
var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(_invariant);
|
|
50
|
-
|
|
51
|
-
// src/actor/protocol/serde.ts
|
|
52
|
-
var _zod = require('zod');
|
|
53
|
-
|
|
54
11
|
// src/actor/log.ts
|
|
55
12
|
function loggerWithoutContext() {
|
|
56
|
-
return
|
|
13
|
+
return _chunkDL7TPF63cjs.getLogger.call(void 0, "actor-runtime");
|
|
57
14
|
}
|
|
58
15
|
|
|
59
16
|
// src/actor/utils.ts
|
|
@@ -98,7 +55,48 @@ function generateRandomString(length = 32) {
|
|
|
98
55
|
return result;
|
|
99
56
|
}
|
|
100
57
|
|
|
58
|
+
// src/common/actor-router-consts.ts
|
|
59
|
+
var PATH_CONNECT_WEBSOCKET = "/connect/websocket";
|
|
60
|
+
var PATH_RAW_WEBSOCKET_PREFIX = "/raw/websocket/";
|
|
61
|
+
var HEADER_ACTOR_QUERY = "x-rivet-query";
|
|
62
|
+
var HEADER_ENCODING = "x-rivet-encoding";
|
|
63
|
+
var HEADER_CONN_PARAMS = "x-rivet-conn-params";
|
|
64
|
+
var HEADER_ACTOR_ID = "x-rivet-actor";
|
|
65
|
+
var HEADER_CONN_ID = "x-rivet-conn";
|
|
66
|
+
var HEADER_CONN_TOKEN = "x-rivet-conn-token";
|
|
67
|
+
var HEADER_RIVET_TOKEN = "x-rivet-token";
|
|
68
|
+
var HEADER_RIVET_TARGET = "x-rivet-target";
|
|
69
|
+
var HEADER_RIVET_ACTOR = "x-rivet-actor";
|
|
70
|
+
var WS_PROTOCOL_STANDARD = "rivet";
|
|
71
|
+
var WS_PROTOCOL_TARGET = "rivet_target.";
|
|
72
|
+
var WS_PROTOCOL_ACTOR = "rivet_actor.";
|
|
73
|
+
var WS_PROTOCOL_ENCODING = "rivet_encoding.";
|
|
74
|
+
var WS_PROTOCOL_CONN_PARAMS = "rivet_conn_params.";
|
|
75
|
+
var WS_PROTOCOL_CONN_ID = "rivet_conn.";
|
|
76
|
+
var WS_PROTOCOL_CONN_TOKEN = "rivet_conn_token.";
|
|
77
|
+
var WS_PROTOCOL_TOKEN = "rivet_token.";
|
|
78
|
+
var WS_PROTOCOL_TRANSPORT = "test_transport.";
|
|
79
|
+
var WS_PROTOCOL_PATH = "test_path.";
|
|
80
|
+
var ALLOWED_PUBLIC_HEADERS = [
|
|
81
|
+
"Content-Type",
|
|
82
|
+
"User-Agent",
|
|
83
|
+
HEADER_ACTOR_QUERY,
|
|
84
|
+
HEADER_ENCODING,
|
|
85
|
+
HEADER_CONN_PARAMS,
|
|
86
|
+
HEADER_ACTOR_ID,
|
|
87
|
+
HEADER_CONN_ID,
|
|
88
|
+
HEADER_CONN_TOKEN,
|
|
89
|
+
HEADER_RIVET_TARGET,
|
|
90
|
+
HEADER_RIVET_ACTOR,
|
|
91
|
+
HEADER_RIVET_TOKEN
|
|
92
|
+
];
|
|
93
|
+
|
|
94
|
+
// src/serde.ts
|
|
95
|
+
var _cborx = require('cbor-x'); var cbor = _interopRequireWildcard(_cborx);
|
|
96
|
+
var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(_invariant);
|
|
97
|
+
|
|
101
98
|
// src/actor/protocol/serde.ts
|
|
99
|
+
var _zod = require('zod');
|
|
102
100
|
var EncodingSchema = _zod.z.enum(["json", "cbor", "bare"]);
|
|
103
101
|
var CachedSerializer = class {
|
|
104
102
|
#data;
|
|
@@ -157,13 +155,24 @@ function jsonStringifyCompat(input) {
|
|
|
157
155
|
}
|
|
158
156
|
|
|
159
157
|
// src/serde.ts
|
|
158
|
+
function uint8ArrayToBase64(uint8Array) {
|
|
159
|
+
if (typeof Buffer !== "undefined") {
|
|
160
|
+
return Buffer.from(uint8Array).toString("base64");
|
|
161
|
+
}
|
|
162
|
+
let binary = "";
|
|
163
|
+
const len = uint8Array.byteLength;
|
|
164
|
+
for (let i = 0; i < len; i++) {
|
|
165
|
+
binary += String.fromCharCode(uint8Array[i]);
|
|
166
|
+
}
|
|
167
|
+
return btoa(binary);
|
|
168
|
+
}
|
|
160
169
|
function encodingIsBinary(encoding) {
|
|
161
170
|
if (encoding === "json") {
|
|
162
171
|
return false;
|
|
163
172
|
} else if (encoding === "cbor" || encoding === "bare") {
|
|
164
173
|
return true;
|
|
165
174
|
} else {
|
|
166
|
-
|
|
175
|
+
_chunkU2IXX6DYcjs.assertUnreachable.call(void 0, encoding);
|
|
167
176
|
}
|
|
168
177
|
}
|
|
169
178
|
function contentTypeForEncoding(encoding) {
|
|
@@ -172,7 +181,7 @@ function contentTypeForEncoding(encoding) {
|
|
|
172
181
|
} else if (encoding === "cbor" || encoding === "bare") {
|
|
173
182
|
return "application/octet-stream";
|
|
174
183
|
} else {
|
|
175
|
-
|
|
184
|
+
_chunkU2IXX6DYcjs.assertUnreachable.call(void 0, encoding);
|
|
176
185
|
}
|
|
177
186
|
}
|
|
178
187
|
function serializeWithEncoding(encoding, value, versionedDataHandler) {
|
|
@@ -186,7 +195,7 @@ function serializeWithEncoding(encoding, value, versionedDataHandler) {
|
|
|
186
195
|
}
|
|
187
196
|
return versionedDataHandler.serializeWithEmbeddedVersion(value);
|
|
188
197
|
} else {
|
|
189
|
-
|
|
198
|
+
_chunkU2IXX6DYcjs.assertUnreachable.call(void 0, encoding);
|
|
190
199
|
}
|
|
191
200
|
}
|
|
192
201
|
function deserializeWithEncoding(encoding, buffer, versionedDataHandler) {
|
|
@@ -214,7 +223,7 @@ function deserializeWithEncoding(encoding, buffer, versionedDataHandler) {
|
|
|
214
223
|
}
|
|
215
224
|
return versionedDataHandler.deserializeWithEmbeddedVersion(buffer);
|
|
216
225
|
} else {
|
|
217
|
-
|
|
226
|
+
_chunkU2IXX6DYcjs.assertUnreachable.call(void 0, encoding);
|
|
218
227
|
}
|
|
219
228
|
}
|
|
220
229
|
|
|
@@ -255,5 +264,6 @@ function deserializeWithEncoding(encoding, buffer, versionedDataHandler) {
|
|
|
255
264
|
|
|
256
265
|
|
|
257
266
|
|
|
258
|
-
|
|
259
|
-
|
|
267
|
+
|
|
268
|
+
exports.uint8ArrayToBase64 = uint8ArrayToBase64; exports.encodingIsBinary = encodingIsBinary; exports.contentTypeForEncoding = contentTypeForEncoding; exports.serializeWithEncoding = serializeWithEncoding; exports.deserializeWithEncoding = deserializeWithEncoding; exports.loggerWithoutContext = loggerWithoutContext; exports.assertUnreachable = assertUnreachable2; exports.DeadlineError = DeadlineError; exports.deadline = deadline; exports.generateSecureToken = generateSecureToken; exports.generateRandomString = generateRandomString; exports.EncodingSchema = EncodingSchema; exports.CachedSerializer = CachedSerializer; exports.encodeDataToString = encodeDataToString; exports.jsonStringifyCompat = jsonStringifyCompat; exports.PATH_CONNECT_WEBSOCKET = PATH_CONNECT_WEBSOCKET; exports.PATH_RAW_WEBSOCKET_PREFIX = PATH_RAW_WEBSOCKET_PREFIX; exports.HEADER_ACTOR_QUERY = HEADER_ACTOR_QUERY; exports.HEADER_ENCODING = HEADER_ENCODING; exports.HEADER_CONN_PARAMS = HEADER_CONN_PARAMS; exports.HEADER_ACTOR_ID = HEADER_ACTOR_ID; exports.HEADER_CONN_ID = HEADER_CONN_ID; exports.HEADER_CONN_TOKEN = HEADER_CONN_TOKEN; exports.HEADER_RIVET_TOKEN = HEADER_RIVET_TOKEN; exports.HEADER_RIVET_TARGET = HEADER_RIVET_TARGET; exports.HEADER_RIVET_ACTOR = HEADER_RIVET_ACTOR; exports.WS_PROTOCOL_STANDARD = WS_PROTOCOL_STANDARD; exports.WS_PROTOCOL_TARGET = WS_PROTOCOL_TARGET; exports.WS_PROTOCOL_ACTOR = WS_PROTOCOL_ACTOR; exports.WS_PROTOCOL_ENCODING = WS_PROTOCOL_ENCODING; exports.WS_PROTOCOL_CONN_PARAMS = WS_PROTOCOL_CONN_PARAMS; exports.WS_PROTOCOL_CONN_ID = WS_PROTOCOL_CONN_ID; exports.WS_PROTOCOL_CONN_TOKEN = WS_PROTOCOL_CONN_TOKEN; exports.WS_PROTOCOL_TOKEN = WS_PROTOCOL_TOKEN; exports.WS_PROTOCOL_TRANSPORT = WS_PROTOCOL_TRANSPORT; exports.WS_PROTOCOL_PATH = WS_PROTOCOL_PATH; exports.ALLOWED_PUBLIC_HEADERS = ALLOWED_PUBLIC_HEADERS;
|
|
269
|
+
//# sourceMappingURL=chunk-SDXTJDDR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-SDXTJDDR.cjs","../../src/actor/log.ts","../../src/actor/utils.ts","../../src/common/actor-router-consts.ts","../../src/serde.ts","../../src/actor/protocol/serde.ts"],"names":["assertUnreachable"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACPO,SAAS,oBAAA,CAAA,EAAuB;AACtC,EAAA,OAAO,yCAAA,eAAyB,CAAA;AACjC;ADSA;AACA;AEZO,SAASA,kBAAAA,CAAkB,CAAA,EAAiB;AAClD,EAAA,oBAAA,CAAqB,CAAA,CAAE,KAAA,CAAM;AAAA,IAC5B,GAAA,EAAK,aAAA;AAAA,IACL,KAAA,EAAO,CAAA,EAAA;AACA,IAAA;AACP,EAAA;AACgB,EAAA;AAClB;AA+Ba;AACZ,EAAA;AACO,IAAA;AACP,EAAA;AACD;AAEgB;AACT,EAAA;AACA,EAAA;AAGA,EAAA;AAEC,EAAA;AACN,IAAA;AACI,IAAA;AACH,MAAA;AACA,IAAA;AACC,EAAA;AACF,IAAA;AACA,EAAA;AACF;AAwBgB;AACT,EAAA;AACC,EAAA;AAEA,EAAA;AAIR;AAEgB;AACT,EAAA;AAEF,EAAA;AACK,EAAA;AACF,IAAA;AACN,IAAA;AACD,EAAA;AACO,EAAA;AACR;AFjDY;AACA;AGtDC;AACA;AAGA;AAEA;AAGA;AAEA;AAEA;AAEA;AAEA;AAGA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAOA;AACZ,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACD;AHkCY;AACA;AI7FA;AACL;AJ+FK;AACA;AKhGH;AAaI;AAUA;AACZ,EAAA;AACS,EAAA;AACT,EAAA;AAEA,EAAA;AACM,IAAA;AACA,IAAA;AACN,EAAA;AAEW,EAAA;AACH,IAAA;AACR,EAAA;AAEiB,EAAA;AACV,IAAA;AACF,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACL,QAAA;AACA,QAAA;AACA,QAAA;AACD,MAAA;AACK,MAAA;AACL,MAAA;AACD,IAAA;AACD,EAAA;AACD;AA8CS;AACJ,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAES;AACF,EAAA;AACC,EAAA;AACR;AAGgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACNA,IAAAA;AACD,EAAA;AACD;AAGgB;AACR,EAAA;AAAe,IAAA;AAAc,IAAA;AAEpC,EAAA;AACD;ALyBY;AACA;AIrJI;AAEX,EAAA;AACI,IAAA;AACR,EAAA;AAGI,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAEgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAEgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAcgB;AAKX,EAAA;AACI,IAAA;AACR,EAAA;AACa,IAAA;AACb,EAAA;AACM,IAAA;AACE,MAAA;AACP,IAAA;AACO,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAEgB;AAKX,EAAA;AACC,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACA,MAAA;AACN,MAAA;AACD,IAAA;AACD,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AACY,IAAA;AACb,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AACK,IAAA;AACE,MAAA;AACP,IAAA;AACO,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AJ4HY;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-SDXTJDDR.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\n/** Prever to use ActorInstance.rlog child logger. This does not provide context in the log, should only be used as a last resort if you cannot pass the actor's child logger. */\nexport function loggerWithoutContext() {\n\treturn getLogger(\"actor-runtime\");\n}\n","import * as errors from \"./errors\";\nimport { loggerWithoutContext } from \"./log\";\n\nexport function assertUnreachable(x: never): never {\n\tloggerWithoutContext().error({\n\t\tmsg: \"unreachable\",\n\t\tvalue: `${x}`,\n\t\tstack: new Error().stack,\n\t});\n\tthrow new errors.Unreachable(x);\n}\n\nexport const throttle = <\n\t// biome-ignore lint/suspicious/noExplicitAny: we want to allow any function\n\tFn extends (...args: any) => any,\n>(\n\tfn: Fn,\n\tdelay: number,\n) => {\n\tlet lastRan = false;\n\tlet lastArgs: Parameters<Fn> | null = null;\n\n\treturn (...args: Parameters<Fn>) => {\n\t\tif (!lastRan) {\n\t\t\tfn.apply(this, args);\n\t\t\tlastRan = true;\n\t\t\tconst timer = () =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tlastRan = false;\n\t\t\t\t\tif (lastArgs) {\n\t\t\t\t\t\tfn.apply(this, lastArgs);\n\t\t\t\t\t\tlastRan = true;\n\t\t\t\t\t\tlastArgs = null;\n\t\t\t\t\t\ttimer();\n\t\t\t\t\t}\n\t\t\t\t}, delay);\n\t\t\ttimer();\n\t\t} else lastArgs = args;\n\t};\n};\n\nexport class DeadlineError extends Error {\n\tconstructor() {\n\t\tsuper(\"Promise did not complete before deadline.\");\n\t}\n}\n\nexport function deadline<T>(promise: Promise<T>, timeout: number): Promise<T> {\n\tconst controller = new AbortController();\n\tconst signal = controller.signal;\n\n\t// Set a timeout to abort the operation\n\tconst timeoutId = setTimeout(() => controller.abort(), timeout);\n\n\treturn Promise.race<T>([\n\t\tpromise,\n\t\tnew Promise<T>((_, reject) => {\n\t\t\tsignal.addEventListener(\"abort\", () => reject(new DeadlineError()));\n\t\t}),\n\t]).finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n}\n\nexport class Lock<T> {\n\tprivate _locked = false;\n\tprivate _waiting: Array<() => void> = [];\n\n\tconstructor(private _value: T) {}\n\n\tasync lock(fn: (value: T) => Promise<void>): Promise<void> {\n\t\tif (this._locked) {\n\t\t\tawait new Promise<void>((resolve) => this._waiting.push(resolve));\n\t\t}\n\t\tthis._locked = true;\n\n\t\ttry {\n\t\t\tawait fn(this._value);\n\t\t} finally {\n\t\t\tthis._locked = false;\n\t\t\tconst next = this._waiting.shift();\n\t\t\tif (next) next();\n\t\t}\n\t}\n}\n\nexport function generateSecureToken(length = 32) {\n\tconst array = new Uint8Array(length);\n\tcrypto.getRandomValues(array);\n\t// Replace base64 chars that are not URL safe with URL-safe chars and strip padding\n\treturn btoa(String.fromCharCode(...array))\n\t\t.replace(/\\+/g, \"-\")\n\t\t.replace(/\\//g, \"_\")\n\t\t.replace(/=/g, \"\");\n}\n\nexport function generateRandomString(length = 32) {\n\tconst characters =\n\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\tlet result = \"\";\n\tfor (let i = 0; i < length; i++) {\n\t\tconst randomIndex = Math.floor(Math.random() * characters.length);\n\t\tresult += characters[randomIndex];\n\t}\n\treturn result;\n}\n","// NOTE: This is in a separate file from the router since it needs to be shared between the client & the server. If this was in the router file, the client would end up importing the *entire* actor router and tree shaking would not work.\n\n// MARK: Paths\nexport const PATH_CONNECT_WEBSOCKET = \"/connect/websocket\";\nexport const PATH_RAW_WEBSOCKET_PREFIX = \"/raw/websocket/\";\n\n// MARK: Headers\nexport const HEADER_ACTOR_QUERY = \"x-rivet-query\";\n\nexport const HEADER_ENCODING = \"x-rivet-encoding\";\n\n// IMPORTANT: Params must be in headers or in an E2EE part of the request (i.e. NOT the URL or query string) in order to ensure that tokens can be securely passed in params.\nexport const HEADER_CONN_PARAMS = \"x-rivet-conn-params\";\n\nexport const HEADER_ACTOR_ID = \"x-rivet-actor\";\n\nexport const HEADER_CONN_ID = \"x-rivet-conn\";\n\nexport const HEADER_CONN_TOKEN = \"x-rivet-conn-token\";\n\nexport const HEADER_RIVET_TOKEN = \"x-rivet-token\";\n\n// MARK: Manager Gateway Headers\nexport const HEADER_RIVET_TARGET = \"x-rivet-target\";\nexport const HEADER_RIVET_ACTOR = \"x-rivet-actor\";\n\n// MARK: WebSocket Protocol Prefixes\n/** Some servers (such as node-ws & Cloudflare) require explicitly match a certain WebSocket protocol. This gives us a static protocol to match against. */\nexport const WS_PROTOCOL_STANDARD = \"rivet\";\nexport const WS_PROTOCOL_TARGET = \"rivet_target.\";\nexport const WS_PROTOCOL_ACTOR = \"rivet_actor.\";\nexport const WS_PROTOCOL_ENCODING = \"rivet_encoding.\";\nexport const WS_PROTOCOL_CONN_PARAMS = \"rivet_conn_params.\";\nexport const WS_PROTOCOL_CONN_ID = \"rivet_conn.\";\nexport const WS_PROTOCOL_CONN_TOKEN = \"rivet_conn_token.\";\nexport const WS_PROTOCOL_TOKEN = \"rivet_token.\";\n\n// MARK: WebSocket Inline Test Protocol Prefixes\nexport const WS_PROTOCOL_TRANSPORT = \"test_transport.\";\nexport const WS_PROTOCOL_PATH = \"test_path.\";\n\n/**\n * Headers that publics can send from public clients.\n *\n * Used for CORS.\n **/\nexport const ALLOWED_PUBLIC_HEADERS = [\n\t\"Content-Type\",\n\t\"User-Agent\",\n\tHEADER_ACTOR_QUERY,\n\tHEADER_ENCODING,\n\tHEADER_CONN_PARAMS,\n\tHEADER_ACTOR_ID,\n\tHEADER_CONN_ID,\n\tHEADER_CONN_TOKEN,\n\tHEADER_RIVET_TARGET,\n\tHEADER_RIVET_ACTOR,\n\tHEADER_RIVET_TOKEN,\n];\n","import * as cbor from \"cbor-x\";\nimport invariant from \"invariant\";\nimport { assertUnreachable } from \"@/common/utils\";\nimport type { VersionedDataHandler } from \"@/common/versioned-data\";\nimport type { Encoding } from \"@/mod\";\nimport { jsonStringifyCompat } from \"./actor/protocol/serde\";\n\nexport function uint8ArrayToBase64(uint8Array: Uint8Array): string {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn Buffer.from(uint8Array).toString(\"base64\");\n\t}\n\n\t// Browser environment - use btoa\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nexport function encodingIsBinary(encoding: Encoding): boolean {\n\tif (encoding === \"json\") {\n\t\treturn false;\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn true;\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function contentTypeForEncoding(encoding: Encoding): string {\n\tif (encoding === \"json\") {\n\t\treturn \"application/json\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"application/octet-stream\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function wsBinaryTypeForEncoding(\n\tencoding: Encoding,\n): \"arraybuffer\" | \"blob\" {\n\tif (encoding === \"json\") {\n\t\treturn \"blob\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"arraybuffer\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function serializeWithEncoding<T>(\n\tencoding: Encoding,\n\tvalue: T,\n\tversionedDataHandler: VersionedDataHandler<T> | undefined,\n): Uint8Array | string {\n\tif (encoding === \"json\") {\n\t\treturn jsonStringifyCompat(value);\n\t} else if (encoding === \"cbor\") {\n\t\treturn cbor.encode(value);\n\t} else if (encoding === \"bare\") {\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\"VersionedDataHandler is required for 'bare' encoding\");\n\t\t}\n\t\treturn versionedDataHandler.serializeWithEmbeddedVersion(value);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function deserializeWithEncoding<T>(\n\tencoding: Encoding,\n\tbuffer: Uint8Array | string,\n\tversionedDataHandler: VersionedDataHandler<T> | undefined,\n): T {\n\tif (encoding === \"json\") {\n\t\tif (typeof buffer === \"string\") {\n\t\t\treturn JSON.parse(buffer);\n\t\t} else {\n\t\t\tconst decoder = new TextDecoder(\"utf-8\");\n\t\t\tconst jsonString = decoder.decode(buffer);\n\t\t\treturn JSON.parse(jsonString);\n\t\t}\n\t} else if (encoding === \"cbor\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for cbor encoding\",\n\t\t);\n\t\treturn cbor.decode(buffer);\n\t} else if (encoding === \"bare\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for bare encoding\",\n\t\t);\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\"VersionedDataHandler is required for 'bare' encoding\");\n\t\t}\n\t\treturn versionedDataHandler.deserializeWithEmbeddedVersion(buffer);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { z } from \"zod\";\nimport * as errors from \"@/actor/errors\";\nimport type { VersionedDataHandler } from \"@/common/versioned-data\";\nimport { serializeWithEncoding } from \"@/serde\";\nimport { loggerWithoutContext } from \"../log\";\nimport { assertUnreachable } from \"../utils\";\n\n/** Data that can be deserialized. */\nexport type InputData = string | Buffer | Blob | ArrayBufferLike | Uint8Array;\n\n/** Data that's been serialized. */\nexport type OutputData = string | Uint8Array;\n\nexport const EncodingSchema = z.enum([\"json\", \"cbor\", \"bare\"]);\n\n/**\n * Encoding used to communicate between the client & actor.\n */\nexport type Encoding = z.infer<typeof EncodingSchema>;\n\n/**\n * Helper class that helps serialize data without re-serializing for the same encoding.\n */\nexport class CachedSerializer<T> {\n\t#data: T;\n\t#cache = new Map<Encoding, OutputData>();\n\t#versionedDataHandler: VersionedDataHandler<T>;\n\n\tconstructor(data: T, versionedDataHandler: VersionedDataHandler<T>) {\n\t\tthis.#data = data;\n\t\tthis.#versionedDataHandler = versionedDataHandler;\n\t}\n\n\tpublic get rawData(): T {\n\t\treturn this.#data;\n\t}\n\n\tpublic serialize(encoding: Encoding): OutputData {\n\t\tconst cached = this.#cache.get(encoding);\n\t\tif (cached) {\n\t\t\treturn cached;\n\t\t} else {\n\t\t\tconst serialized = serializeWithEncoding(\n\t\t\t\tencoding,\n\t\t\t\tthis.#data,\n\t\t\t\tthis.#versionedDataHandler,\n\t\t\t);\n\t\t\tthis.#cache.set(encoding, serialized);\n\t\t\treturn serialized;\n\t\t}\n\t}\n}\n\n///**\n// * Use `CachedSerializer` if serializing the same data repeatedly.\n// */\n//export function serialize<T>(value: T, encoding: Encoding): OutputData {\n//\tif (encoding === \"json\") {\n//\t\treturn JSON.stringify(value);\n//\t} else if (encoding === \"cbor\") {\n//\t\t// TODO: Remove this hack, but cbor-x can't handle anything extra in data structures\n//\t\tconst cleanValue = JSON.parse(JSON.stringify(value));\n//\t\treturn cbor.encode(cleanValue);\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n//\n//export async function deserialize(data: InputData, encoding: Encoding) {\n//\tif (encoding === \"json\") {\n//\t\tif (typeof data !== \"string\") {\n//\t\t\tlogger().warn(\"received non-string for json parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t} else {\n//\t\t\treturn JSON.parse(data);\n//\t\t}\n//\t} else if (encoding === \"cbor\") {\n//\t\tif (data instanceof Blob) {\n//\t\t\tconst arrayBuffer = await data.arrayBuffer();\n//\t\t\treturn cbor.decode(new Uint8Array(arrayBuffer));\n//\t\t} else if (data instanceof Uint8Array) {\n//\t\t\treturn cbor.decode(data);\n//\t\t} else if (\n//\t\t\tdata instanceof ArrayBuffer ||\n//\t\t\tdata instanceof SharedArrayBuffer\n//\t\t) {\n//\t\t\treturn cbor.decode(new Uint8Array(data));\n//\t\t} else {\n//\t\t\tlogger().warn(\"received non-binary type for cbor parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t}\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n\n// TODO: Encode base 128\nfunction base64EncodeUint8Array(uint8Array: Uint8Array): string {\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nfunction base64EncodeArrayBuffer(arrayBuffer: ArrayBuffer): string {\n\tconst uint8Array = new Uint8Array(arrayBuffer);\n\treturn base64EncodeUint8Array(uint8Array);\n}\n\n/** Converts data that was encoded to a string. Some formats (like SSE) don't support raw binary data. */\nexport function encodeDataToString(message: OutputData): string {\n\tif (typeof message === \"string\") {\n\t\treturn message;\n\t} else if (message instanceof ArrayBuffer) {\n\t\treturn base64EncodeArrayBuffer(message);\n\t} else if (message instanceof Uint8Array) {\n\t\treturn base64EncodeUint8Array(message);\n\t} else {\n\t\tassertUnreachable(message);\n\t}\n}\n\n/** Stringifies with compat for values that BARE & CBOR supports. */\nexport function jsonStringifyCompat(input: any): string {\n\treturn JSON.stringify(input, (_key, value) =>\n\t\ttypeof value === \"bigint\" ? value.toString() : value,\n\t);\n}\n"]}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkSDXTJDDRcjs = require('./chunk-SDXTJDDR.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkDL7TPF63cjs = require('./chunk-DL7TPF63.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkU2IXX6DYcjs = require('./chunk-U2IXX6DY.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
@@ -577,7 +577,7 @@ function getValueLength(value) {
|
|
|
577
577
|
} else if (value instanceof ArrayBuffer || value instanceof SharedArrayBuffer || value instanceof Uint8Array) {
|
|
578
578
|
return value.byteLength;
|
|
579
579
|
} else {
|
|
580
|
-
|
|
580
|
+
_chunkU2IXX6DYcjs.assertUnreachable.call(void 0, value);
|
|
581
581
|
}
|
|
582
582
|
}
|
|
583
583
|
async function inputDataToBuffer(data) {
|
|
@@ -603,7 +603,7 @@ async function parseMessage(value, opts) {
|
|
|
603
603
|
if (buffer instanceof Buffer) {
|
|
604
604
|
buffer = new Uint8Array(buffer);
|
|
605
605
|
}
|
|
606
|
-
return
|
|
606
|
+
return _chunkSDXTJDDRcjs.deserializeWithEncoding.call(void 0, opts.encoding, buffer, TO_SERVER_VERSIONED);
|
|
607
607
|
}
|
|
608
608
|
async function processMessage(message, actor, conn, handler) {
|
|
609
609
|
let actionId;
|
|
@@ -635,13 +635,13 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
635
635
|
isPromise: output instanceof Promise
|
|
636
636
|
});
|
|
637
637
|
conn._sendMessage(
|
|
638
|
-
new (0,
|
|
638
|
+
new (0, _chunkSDXTJDDRcjs.CachedSerializer)(
|
|
639
639
|
{
|
|
640
640
|
body: {
|
|
641
641
|
tag: "ActionResponse",
|
|
642
642
|
val: {
|
|
643
643
|
id,
|
|
644
|
-
output:
|
|
644
|
+
output: _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, cbor.encode(output))
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
647
|
},
|
|
@@ -670,10 +670,10 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
670
670
|
subscribe
|
|
671
671
|
});
|
|
672
672
|
} else {
|
|
673
|
-
|
|
673
|
+
_chunkU2IXX6DYcjs.assertUnreachable.call(void 0, message.body);
|
|
674
674
|
}
|
|
675
675
|
} catch (error) {
|
|
676
|
-
const { group, code, message: message2, metadata } =
|
|
676
|
+
const { group, code, message: message2, metadata } = _chunkU2IXX6DYcjs.deconstructError.call(void 0,
|
|
677
677
|
error,
|
|
678
678
|
actor.rLog,
|
|
679
679
|
{
|
|
@@ -690,7 +690,7 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
690
690
|
message: message2
|
|
691
691
|
});
|
|
692
692
|
conn._sendMessage(
|
|
693
|
-
new (0,
|
|
693
|
+
new (0, _chunkSDXTJDDRcjs.CachedSerializer)(
|
|
694
694
|
{
|
|
695
695
|
body: {
|
|
696
696
|
tag: "Error",
|
|
@@ -698,7 +698,7 @@ async function processMessage(message, actor, conn, handler) {
|
|
|
698
698
|
group,
|
|
699
699
|
code,
|
|
700
700
|
message: message2,
|
|
701
|
-
metadata:
|
|
701
|
+
metadata: _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, cbor.encode(metadata)),
|
|
702
702
|
actionId: _nullishCoalesce(actionId, () => ( null))
|
|
703
703
|
}
|
|
704
704
|
}
|
|
@@ -717,13 +717,14 @@ var ClientConfigSchema = _zod2.default.object({
|
|
|
717
717
|
host: _zod2.default.string().default("127.0.0.1"),
|
|
718
718
|
port: _zod2.default.number().default(6420)
|
|
719
719
|
}).default({}),
|
|
720
|
-
token: _zod2.default.string().optional().transform((x) => _nullishCoalesce(x, () => (
|
|
720
|
+
token: _zod2.default.string().optional().transform((x) => _nullishCoalesce(x, () => ( _chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_TOKEN")))),
|
|
721
|
+
totalSlots: _zod2.default.number().optional(),
|
|
721
722
|
headers: _zod2.default.record(_zod2.default.string()).optional().default({}),
|
|
722
723
|
/** Endpoint to connect to the Rivet engine. Can be configured via RIVET_ENGINE env var. */
|
|
723
|
-
endpoint: _zod2.default.string().nullable().default(() => _nullishCoalesce(
|
|
724
|
-
namespace: _zod2.default.string().default(() => _nullishCoalesce(
|
|
725
|
-
runnerName: _zod2.default.string().default(() => _nullishCoalesce(
|
|
726
|
-
encoding:
|
|
724
|
+
endpoint: _zod2.default.string().nullable().default(() => _nullishCoalesce(_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_ENGINE"), () => ( null))),
|
|
725
|
+
namespace: _zod2.default.string().default(() => _nullishCoalesce(_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_NAMESPACE"), () => ( "default"))),
|
|
726
|
+
runnerName: _zod2.default.string().default(() => _nullishCoalesce(_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER"), () => ( "rivetkit"))),
|
|
727
|
+
encoding: _chunkSDXTJDDRcjs.EncodingSchema.default("bare"),
|
|
727
728
|
transport: TransportSchema.default("websocket"),
|
|
728
729
|
// This is a function to allow for lazy configuration of upgradeWebSocket on the
|
|
729
730
|
// fly. This is required since the dependencies that upgradeWebSocket
|
|
@@ -735,14 +736,14 @@ var ClientConfigSchema = _zod2.default.object({
|
|
|
735
736
|
// src/inspector/config.ts
|
|
736
737
|
|
|
737
738
|
var defaultTokenFn = () => {
|
|
738
|
-
const envToken =
|
|
739
|
+
const envToken = _chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_TOKEN");
|
|
739
740
|
if (envToken) {
|
|
740
741
|
return envToken;
|
|
741
742
|
}
|
|
742
743
|
return "";
|
|
743
744
|
};
|
|
744
745
|
var defaultEnabled = () => {
|
|
745
|
-
return
|
|
746
|
+
return _chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "NODE_ENV") !== "production" || !_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_DISABLE");
|
|
746
747
|
};
|
|
747
748
|
var defaultInspectorOrigins = [
|
|
748
749
|
"http://localhost:43708",
|
|
@@ -832,7 +833,7 @@ var RunConfigSchema = ClientConfigSchema.extend({
|
|
|
832
833
|
* */
|
|
833
834
|
logging: _zod.z.object({
|
|
834
835
|
baseLogger: _zod.z.custom().optional(),
|
|
835
|
-
level:
|
|
836
|
+
level: _chunkDL7TPF63cjs.LogLevelSchema.optional()
|
|
836
837
|
}).optional().default({})
|
|
837
838
|
}).default({});
|
|
838
839
|
|
|
@@ -1017,9 +1018,9 @@ var PERSISTED_ACTOR_VERSIONED = createVersionedDataHandler({
|
|
|
1017
1018
|
// src/driver-helpers/utils.ts
|
|
1018
1019
|
function serializeEmptyPersistData(input) {
|
|
1019
1020
|
const persistData = {
|
|
1020
|
-
input: input !== void 0 ?
|
|
1021
|
+
input: input !== void 0 ? _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(input)) : null,
|
|
1021
1022
|
hasInitialized: false,
|
|
1022
|
-
state:
|
|
1023
|
+
state: _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(void 0)),
|
|
1023
1024
|
connections: [],
|
|
1024
1025
|
scheduledEvents: []
|
|
1025
1026
|
};
|
|
@@ -1043,4 +1044,4 @@ function serializeEmptyPersistData(input) {
|
|
|
1043
1044
|
|
|
1044
1045
|
|
|
1045
1046
|
exports.createVersionedDataHandler = createVersionedDataHandler; exports.TO_SERVER_VERSIONED = TO_SERVER_VERSIONED; exports.TO_CLIENT_VERSIONED = TO_CLIENT_VERSIONED; exports.HTTP_ACTION_REQUEST_VERSIONED = HTTP_ACTION_REQUEST_VERSIONED; exports.HTTP_ACTION_RESPONSE_VERSIONED = HTTP_ACTION_RESPONSE_VERSIONED; exports.HTTP_RESPONSE_ERROR_VERSIONED = HTTP_RESPONSE_ERROR_VERSIONED; exports.PERSISTED_ACTOR_VERSIONED = PERSISTED_ACTOR_VERSIONED; exports.ActionContext = ActionContext; exports.inputDataToBuffer = inputDataToBuffer; exports.parseMessage = parseMessage; exports.processMessage = processMessage; exports.ClientConfigSchema = ClientConfigSchema; exports.DriverConfigSchema = DriverConfigSchema; exports.RunConfigSchema = RunConfigSchema; exports.serializeEmptyPersistData = serializeEmptyPersistData;
|
|
1046
|
-
//# sourceMappingURL=chunk-
|
|
1047
|
+
//# sourceMappingURL=chunk-SOC4HWCG.cjs.map
|