rivetkit 2.0.16 → 2.0.18
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-SHJXQIRA.js → chunk-2MUSMEMN.js} +5 -5
- package/dist/tsup/{chunk-SHJXQIRA.js.map → chunk-2MUSMEMN.js.map} +1 -1
- package/dist/tsup/{chunk-YZVPBLQL.js → chunk-2P4ENWQ6.js} +2 -2
- package/dist/tsup/{chunk-O2GJQSMM.js → chunk-42UD33X4.js} +3 -3
- package/dist/tsup/{chunk-O2GJQSMM.js.map → chunk-42UD33X4.js.map} +1 -1
- package/dist/tsup/{chunk-N7ICOIWW.cjs → chunk-4R5LOYEU.cjs} +26 -26
- package/dist/tsup/{chunk-N7ICOIWW.cjs.map → chunk-4R5LOYEU.cjs.map} +1 -1
- package/dist/tsup/{chunk-IZCQKDOT.js → chunk-6JGEHV56.js} +2 -2
- package/dist/tsup/{chunk-W4U4VMXG.js → chunk-AR5ZY563.js} +3 -3
- package/dist/tsup/{chunk-5IJOWDWM.cjs → chunk-BGBEE6N2.cjs} +175 -173
- package/dist/tsup/chunk-BGBEE6N2.cjs.map +1 -0
- package/dist/tsup/{chunk-OWTB6Z2E.js → chunk-DZEQUURK.js} +10 -10
- package/dist/tsup/{chunk-ESUKZPDA.cjs → chunk-F5VXILGA.cjs} +3 -3
- package/dist/tsup/{chunk-ESUKZPDA.cjs.map → chunk-F5VXILGA.cjs.map} +1 -1
- package/dist/tsup/{chunk-Q6GERFRB.cjs → chunk-FADDMRZP.cjs} +3 -3
- package/dist/tsup/{chunk-Q6GERFRB.cjs.map → chunk-FADDMRZP.cjs.map} +1 -1
- package/dist/tsup/{chunk-E67WWRQI.cjs → chunk-ICPFPGOJ.cjs} +12 -12
- package/dist/tsup/{chunk-E67WWRQI.cjs.map → chunk-ICPFPGOJ.cjs.map} +1 -1
- package/dist/tsup/{chunk-RCDOEPDO.js → chunk-IXPWBGXK.js} +3 -3
- package/dist/tsup/{chunk-KVIKPT4T.cjs → chunk-IXPZJCBE.cjs} +208 -208
- package/dist/tsup/{chunk-KVIKPT4T.cjs.map → chunk-IXPZJCBE.cjs.map} +1 -1
- package/dist/tsup/{chunk-NC7XHLWT.js → chunk-JMSXK5ZO.js} +6 -6
- package/dist/tsup/{chunk-TILGZ45J.js → chunk-KPFRD7KN.js} +2 -2
- package/dist/tsup/{chunk-BYE4DZ6O.cjs → chunk-O7NI7QQW.cjs} +14 -14
- package/dist/tsup/{chunk-BYE4DZ6O.cjs.map → chunk-O7NI7QQW.cjs.map} +1 -1
- package/dist/tsup/{chunk-WOWWTL7O.cjs → chunk-OPB45MKH.cjs} +3 -3
- package/dist/tsup/{chunk-WOWWTL7O.cjs.map → chunk-OPB45MKH.cjs.map} +1 -1
- package/dist/tsup/{chunk-GY6U6LVW.cjs → chunk-QMF6X2E2.cjs} +7 -7
- package/dist/tsup/{chunk-GY6U6LVW.cjs.map → chunk-QMF6X2E2.cjs.map} +1 -1
- package/dist/tsup/{chunk-LHYMXJFI.cjs → chunk-RFCYH6EC.cjs} +6 -6
- package/dist/tsup/{chunk-LHYMXJFI.cjs.map → chunk-RFCYH6EC.cjs.map} +1 -1
- package/dist/tsup/{chunk-MIX6ZN57.js → chunk-S5K7CB2F.js} +12 -10
- package/dist/tsup/chunk-S5K7CB2F.js.map +1 -0
- package/dist/tsup/{chunk-3DCOI5K7.cjs → chunk-SBBFWYNM.cjs} +8 -8
- package/dist/tsup/{chunk-3DCOI5K7.cjs.map → chunk-SBBFWYNM.cjs.map} +1 -1
- package/dist/tsup/{chunk-MLBIVAMM.js → chunk-YVK2XQNR.js} +2 -2
- package/dist/tsup/client/mod.cjs +9 -9
- 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/driver-helpers/mod.cjs +5 -5
- package/dist/tsup/driver-helpers/mod.js +4 -4
- package/dist/tsup/driver-test-suite/mod.cjs +71 -71
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.js +13 -13
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/mod.cjs +10 -10
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.js +9 -9
- package/dist/tsup/test/mod.cjs +11 -11
- 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/common/router.ts +4 -1
- package/src/registry/mod.ts +1 -3
- package/src/registry/run-config.ts +1 -1
- package/dist/tsup/chunk-5IJOWDWM.cjs.map +0 -1
- package/dist/tsup/chunk-MIX6ZN57.js.map +0 -1
- /package/dist/tsup/{chunk-YZVPBLQL.js.map → chunk-2P4ENWQ6.js.map} +0 -0
- /package/dist/tsup/{chunk-IZCQKDOT.js.map → chunk-6JGEHV56.js.map} +0 -0
- /package/dist/tsup/{chunk-W4U4VMXG.js.map → chunk-AR5ZY563.js.map} +0 -0
- /package/dist/tsup/{chunk-OWTB6Z2E.js.map → chunk-DZEQUURK.js.map} +0 -0
- /package/dist/tsup/{chunk-RCDOEPDO.js.map → chunk-IXPWBGXK.js.map} +0 -0
- /package/dist/tsup/{chunk-NC7XHLWT.js.map → chunk-JMSXK5ZO.js.map} +0 -0
- /package/dist/tsup/{chunk-TILGZ45J.js.map → chunk-KPFRD7KN.js.map} +0 -0
- /package/dist/tsup/{chunk-MLBIVAMM.js.map → chunk-YVK2XQNR.js.map} +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createFileSystemOrMemoryDriver,
|
|
3
3
|
createManagerRouter
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-S5K7CB2F.js";
|
|
5
5
|
import {
|
|
6
6
|
configureInspectorAccessToken
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KPFRD7KN.js";
|
|
8
8
|
import {
|
|
9
9
|
createClientWithDriver
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-DZEQUURK.js";
|
|
11
11
|
import {
|
|
12
12
|
ClientConfigSchema,
|
|
13
13
|
RunnerConfigSchema
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2MUSMEMN.js";
|
|
15
15
|
import {
|
|
16
16
|
getLogger
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-6JGEHV56.js";
|
|
18
18
|
|
|
19
19
|
// src/test/mod.ts
|
|
20
20
|
import { createServer } from "net";
|
|
@@ -127,4 +127,4 @@ export {
|
|
|
127
127
|
setupTest,
|
|
128
128
|
getPort
|
|
129
129
|
};
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-JMSXK5ZO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getLogger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6JGEHV56.js";
|
|
4
4
|
|
|
5
5
|
// src/inspector/protocol/actor.ts
|
|
6
6
|
import { hc } from "hono/client";
|
|
@@ -100,4 +100,4 @@ export {
|
|
|
100
100
|
createActorInspectorClient,
|
|
101
101
|
createManagerInspectorClient
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
103
|
+
//# sourceMappingURL=chunk-KPFRD7KN.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkBGBEE6N2cjs = require('./chunk-BGBEE6N2.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkOPB45MKHcjs = require('./chunk-OPB45MKH.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkIXPZJCBEcjs = require('./chunk-IXPZJCBE.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunk4R5LOYEUcjs = require('./chunk-4R5LOYEU.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkQMF6X2E2cjs = require('./chunk-QMF6X2E2.cjs');
|
|
18
18
|
|
|
19
19
|
// src/test/mod.ts
|
|
20
20
|
var _net = require('net');
|
|
@@ -24,14 +24,14 @@ var _vitest = require('vitest');
|
|
|
24
24
|
|
|
25
25
|
// src/test/config.ts
|
|
26
26
|
var _zod = require('zod');
|
|
27
|
-
var ConfigSchema =
|
|
27
|
+
var ConfigSchema = _chunk4R5LOYEUcjs.RunnerConfigSchema.removeDefault().extend({
|
|
28
28
|
hostname: _zod.z.string().optional().default(_nullishCoalesce(process.env.HOSTNAME, () => ( "127.0.0.1"))),
|
|
29
29
|
port: _zod.z.number().optional().default(Number.parseInt(_nullishCoalesce(process.env.PORT, () => ( "8080"))))
|
|
30
30
|
}).default({});
|
|
31
31
|
|
|
32
32
|
// src/test/log.ts
|
|
33
33
|
function logger() {
|
|
34
|
-
return
|
|
34
|
+
return _chunkQMF6X2E2cjs.getLogger.call(void 0, "test");
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
// src/test/mod.ts
|
|
@@ -42,15 +42,15 @@ function serve(registry, inputConfig) {
|
|
|
42
42
|
if (!config.getUpgradeWebSocket) {
|
|
43
43
|
config.getUpgradeWebSocket = () => upgradeWebSocket;
|
|
44
44
|
}
|
|
45
|
-
const runConfig =
|
|
46
|
-
const driver = _nullishCoalesce(inputConfig.driver, () => (
|
|
45
|
+
const runConfig = _chunk4R5LOYEUcjs.RunnerConfigSchema.parse(inputConfig);
|
|
46
|
+
const driver = _nullishCoalesce(inputConfig.driver, () => ( _chunkBGBEE6N2cjs.createFileSystemOrMemoryDriver.call(void 0, false)));
|
|
47
47
|
const managerDriver = driver.manager(registry.config, config);
|
|
48
|
-
const client =
|
|
48
|
+
const client = _chunkIXPZJCBEcjs.createClientWithDriver.call(void 0,
|
|
49
49
|
managerDriver,
|
|
50
|
-
|
|
50
|
+
_chunk4R5LOYEUcjs.ClientConfigSchema.parse({})
|
|
51
51
|
);
|
|
52
|
-
|
|
53
|
-
const { router } =
|
|
52
|
+
_chunkOPB45MKHcjs.configureInspectorAccessToken.call(void 0, config, managerDriver);
|
|
53
|
+
const { router } = _chunkBGBEE6N2cjs.createManagerRouter.call(void 0,
|
|
54
54
|
registry.config,
|
|
55
55
|
runConfig,
|
|
56
56
|
managerDriver,
|
|
@@ -127,4 +127,4 @@ async function getPort() {
|
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
exports.setupTest = setupTest; exports.getPort = getPort;
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-O7NI7QQW.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-O7NI7QQW.cjs","../../src/test/mod.ts","../../src/test/config.ts","../../src/test/log.ts"],"names":["server"],"mappings":"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","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-O7NI7QQW.cjs","sourcesContent":[null,"import { createServer } from \"node:net\";\nimport { serve as honoServe, type ServerType } from \"@hono/node-server\";\nimport { createNodeWebSocket } from \"@hono/node-ws\";\nimport { type TestContext, vi } from \"vitest\";\nimport { ClientConfigSchema } from \"@/client/config\";\nimport { type Client, createClient } from \"@/client/mod\";\nimport { chooseDefaultDriver } from \"@/drivers/default\";\nimport { createFileSystemOrMemoryDriver } from \"@/drivers/file-system/mod\";\nimport {\n\tconfigureInspectorAccessToken,\n\tgetInspectorUrl,\n} from \"@/inspector/utils\";\nimport { createManagerRouter } from \"@/manager/router\";\nimport { createClientWithDriver } from \"@/mod\";\nimport type { Registry } from \"@/registry/mod\";\nimport { RunnerConfigSchema } from \"@/registry/run-config\";\nimport { ConfigSchema, type InputConfig } from \"./config\";\nimport { logger } from \"./log\";\n\nfunction serve(registry: Registry<any>, inputConfig?: InputConfig): ServerType {\n\t// Configure default configuration\n\tinputConfig ??= {};\n\n\tconst config = ConfigSchema.parse(inputConfig);\n\n\tlet upgradeWebSocket: any;\n\tif (!config.getUpgradeWebSocket) {\n\t\tconfig.getUpgradeWebSocket = () => upgradeWebSocket!;\n\t}\n\n\t// Create router\n\tconst runConfig = RunnerConfigSchema.parse(inputConfig);\n\tconst driver = inputConfig.driver ?? createFileSystemOrMemoryDriver(false);\n\tconst managerDriver = driver.manager(registry.config, config);\n\tconst client = createClientWithDriver(\n\t\tmanagerDriver,\n\t\tClientConfigSchema.parse({}),\n\t);\n\tconfigureInspectorAccessToken(config, managerDriver);\n\tconst { router } = createManagerRouter(\n\t\tregistry.config,\n\t\trunConfig,\n\t\tmanagerDriver,\n\t\tdriver,\n\t\tclient,\n\t);\n\n\t// Inject WebSocket\n\tconst nodeWebSocket = createNodeWebSocket({ app: router });\n\tupgradeWebSocket = nodeWebSocket.upgradeWebSocket;\n\n\tconst server = honoServe({\n\t\tfetch: router.fetch,\n\t\thostname: config.hostname,\n\t\tport: config.port,\n\t});\n\tnodeWebSocket.injectWebSocket(server);\n\n\tlogger().info({\n\t\tmsg: \"rivetkit started\",\n\t\thostname: config.hostname,\n\t\tport: config.port,\n\t\tdefinitions: Object.keys(registry.config.use).length,\n\t});\n\n\treturn server;\n}\n\nexport interface SetupTestResult<A extends Registry<any>> {\n\tclient: Client<A>;\n\tmockDriver: {\n\t\tactorDriver: {\n\t\t\tsetCreateVarsContext: (ctx: any) => void;\n\t\t};\n\t};\n}\n\n// Must use `TestContext` since global hooks do not work when running concurrently\nexport async function setupTest<A extends Registry<any>>(\n\tc: TestContext,\n\tregistry: A,\n): Promise<SetupTestResult<A>> {\n\tvi.useFakeTimers();\n\n\t// Set up mock driver for testing createVars context\n\tconst mockDriverContext: any = {};\n\tconst setDriverContextFn = (ctx: any) => {\n\t\tmockDriverContext.current = ctx;\n\t};\n\n\t// We don't need to modify the driver context anymore since we're testing with the actual context\n\n\t// Start server with a random port\n\tconst port = await getPort();\n\tconst server = serve(registry, { port });\n\tc.onTestFinished(\n\t\tasync () => await new Promise((resolve) => server.close(() => resolve())),\n\t);\n\n\tthrow \"TODO: Fix engine port\";\n\n\t// // TODO: Figure out how to make this the correct endpoint\n\t// // Create client\n\t// const client = createClient<A>(`http://127.0.0.1:${port}`);\n\t// c.onTestFinished(async () => await client.dispose());\n\t//\n\t// return {\n\t// \tclient,\n\t// \tmockDriver: {\n\t// \t\tactorDriver: {\n\t// \t\t\tsetCreateVarsContext: setDriverContextFn,\n\t// \t\t},\n\t// \t},\n\t// };\n}\n\nexport async function getPort(): Promise<number> {\n\t// Pick random port between 10000 and 65535 (avoiding well-known and registered ports)\n\tconst MIN_PORT = 10000;\n\tconst MAX_PORT = 65535;\n\tconst getRandomPort = () =>\n\t\tMath.floor(Math.random() * (MAX_PORT - MIN_PORT + 1)) + MIN_PORT;\n\n\tlet port = getRandomPort();\n\tlet maxAttempts = 10;\n\n\twhile (maxAttempts > 0) {\n\t\ttry {\n\t\t\t// Try to create a server on the port to check if it's available\n\t\t\tconst server = await new Promise<any>((resolve, reject) => {\n\t\t\t\tconst server = createServer();\n\n\t\t\t\tserver.once(\"error\", (err: Error & { code?: string }) => {\n\t\t\t\t\tif (err.code === \"EADDRINUSE\") {\n\t\t\t\t\t\treject(new Error(`Port ${port} is in use`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tserver.once(\"listening\", () => {\n\t\t\t\t\tresolve(server);\n\t\t\t\t});\n\n\t\t\t\tserver.listen(port);\n\t\t\t});\n\n\t\t\t// Close the server since we're just checking availability\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tserver.close(() => resolve());\n\t\t\t});\n\n\t\t\treturn port;\n\t\t} catch (err) {\n\t\t\t// If port is in use, try a different one\n\t\t\tmaxAttempts--;\n\t\t\tif (maxAttempts <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tport = getRandomPort();\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find an available port after multiple attempts\");\n}\n","import { z } from \"zod\";\nimport { RunnerConfigSchema } from \"@/registry/run-config\";\n\nexport const ConfigSchema = RunnerConfigSchema.removeDefault()\n\t.extend({\n\t\thostname: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.default(process.env.HOSTNAME ?? \"127.0.0.1\"),\n\t\tport: z\n\t\t\t.number()\n\t\t\t.optional()\n\t\t\t.default(Number.parseInt(process.env.PORT ?? \"8080\")),\n\t})\n\t.default({});\nexport type InputConfig = z.input<typeof ConfigSchema>;\n","import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test\");\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkQMF6X2E2cjs = require('./chunk-QMF6X2E2.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 _chunkQMF6X2E2cjs.getLogger.call(void 0, "inspector");
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
// src/inspector/utils.ts
|
|
@@ -100,4 +100,4 @@ var configureInspectorAccessToken = (runConfig, managerDriver) => {
|
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
exports.inspectorLogger = inspectorLogger; exports.compareSecrets = compareSecrets; exports.secureInspector = secureInspector; exports.getInspectorUrl = getInspectorUrl; exports.isInspectorEnabled = isInspectorEnabled; exports.configureInspectorAccessToken = configureInspectorAccessToken; exports.createActorInspectorClient = createActorInspectorClient; exports.createManagerInspectorClient = createManagerInspectorClient;
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
103
|
+
//# sourceMappingURL=chunk-OPB45MKH.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-OPB45MKH.cjs","../../src/inspector/protocol/actor.ts","../../src/inspector/protocol/manager.ts","../../src/inspector/utils.ts","../../src/inspector/log.ts"],"names":["client","hc"],"mappings":"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","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-OPB45MKH.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 { RunnerConfigInput } 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: RunnerConfigInput | 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\tconst overrideDefaultEndpoint =\n\t\trunConfig?.inspector?.defaultEndpoint ?? runConfig.overrideServerAddress;\n\tif (overrideDefaultEndpoint) {\n\t\turl.searchParams.set(\"u\", overrideDefaultEndpoint);\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,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkFADDMRZPcjs = require('./chunk-FADDMRZP.cjs');
|
|
4
4
|
|
|
5
5
|
// src/common/log.ts
|
|
6
6
|
|
|
@@ -128,7 +128,7 @@ function getPinoLevel(logLevel) {
|
|
|
128
128
|
if (configuredLogLevel) {
|
|
129
129
|
return configuredLogLevel;
|
|
130
130
|
}
|
|
131
|
-
const raw = (
|
|
131
|
+
const raw = (_chunkFADDMRZPcjs.getEnvUniversal.call(void 0, "LOG_LEVEL") || "warn").toString().toLowerCase();
|
|
132
132
|
const parsed = LogLevelSchema.safeParse(raw);
|
|
133
133
|
if (parsed.success) {
|
|
134
134
|
return parsed.data;
|
|
@@ -136,7 +136,7 @@ function getPinoLevel(logLevel) {
|
|
|
136
136
|
return "info";
|
|
137
137
|
}
|
|
138
138
|
function getIncludeTarget() {
|
|
139
|
-
return
|
|
139
|
+
return _chunkFADDMRZPcjs.getEnvUniversal.call(void 0, "LOG_TARGET") === "1";
|
|
140
140
|
}
|
|
141
141
|
function configureBaseLogger(logger) {
|
|
142
142
|
baseLogger = logger;
|
|
@@ -144,7 +144,7 @@ function configureBaseLogger(logger) {
|
|
|
144
144
|
}
|
|
145
145
|
function customWrite(level, o) {
|
|
146
146
|
const entries = {};
|
|
147
|
-
if (
|
|
147
|
+
if (_chunkFADDMRZPcjs.getEnvUniversal.call(void 0, "LOG_TIMESTAMP") === "1" && o.time) {
|
|
148
148
|
const date = typeof o.time === "number" ? new Date(o.time) : /* @__PURE__ */ new Date();
|
|
149
149
|
entries.ts = formatTimestamp(date);
|
|
150
150
|
}
|
|
@@ -178,7 +178,7 @@ async function configureDefaultLogger(logLevel) {
|
|
|
178
178
|
return { level: number };
|
|
179
179
|
}
|
|
180
180
|
},
|
|
181
|
-
timestamp:
|
|
181
|
+
timestamp: _chunkFADDMRZPcjs.getEnvUniversal.call(void 0, "LOG_TIMESTAMP") === "1" ? _pino.stdTimeFunctions.epochTime : false,
|
|
182
182
|
browser: {
|
|
183
183
|
write: {
|
|
184
184
|
fatal: customWrite.bind(null, "fatal"),
|
|
@@ -200,7 +200,7 @@ async function configureDefaultLogger(logLevel) {
|
|
|
200
200
|
60: "fatal"
|
|
201
201
|
};
|
|
202
202
|
const levelName = levelMap[level] || "info";
|
|
203
|
-
const time =
|
|
203
|
+
const time = _chunkFADDMRZPcjs.getEnvUniversal.call(void 0, "LOG_TIMESTAMP") === "1" ? Date.now() : void 0;
|
|
204
204
|
if (inputArgs.length >= 2) {
|
|
205
205
|
const [objOrMsg, msg] = inputArgs;
|
|
206
206
|
if (typeof objOrMsg === "object" && objOrMsg !== null) {
|
|
@@ -247,4 +247,4 @@ function getLogger(name = "default") {
|
|
|
247
247
|
|
|
248
248
|
|
|
249
249
|
exports.LogLevelSchema = LogLevelSchema; exports.getPinoLevel = getPinoLevel; exports.getIncludeTarget = getIncludeTarget; exports.configureBaseLogger = configureBaseLogger; exports.configureDefaultLogger = configureDefaultLogger; exports.getBaseLogger = getBaseLogger; exports.getLogger = getLogger;
|
|
250
|
-
//# sourceMappingURL=chunk-
|
|
250
|
+
//# sourceMappingURL=chunk-QMF6X2E2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-GY6U6LVW.cjs","../../src/common/log.ts","../../src/common/log-levels.ts","../../src/common/logfmt.ts"],"names":[],"mappings":"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","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-GY6U6LVW.cjs","sourcesContent":[null,"import {\n\ttype LevelWithSilent,\n\ttype Logger,\n\tpino,\n\tstdTimeFunctions,\n} from \"pino\";\nimport { z } from \"zod\";\nimport { getEnvUniversal } from \"@/utils\";\nimport {\n\tcastToLogValue,\n\tformatTimestamp,\n\tLOGGER_CONFIG,\n\tstringify,\n} from \"./logfmt\";\n\nexport type { Logger } from \"pino\";\n\nlet baseLogger: Logger | undefined;\nlet configuredLogLevel: LogLevel | undefined;\n\n/** Cache of child loggers by logger name. */\nconst loggerCache = new Map<string, Logger>();\n\nexport const LogLevelSchema = z.enum([\n\t\"trace\",\n\t\"debug\",\n\t\"info\",\n\t\"warn\",\n\t\"error\",\n\t\"fatal\",\n\t\"silent\",\n]);\n\nexport type LogLevel = z.infer<typeof LogLevelSchema>;\n\nexport function getPinoLevel(logLevel?: LogLevel): LevelWithSilent {\n\t// Priority: provided > configured > env > default\n\tif (logLevel) {\n\t\treturn logLevel;\n\t}\n\n\tif (configuredLogLevel) {\n\t\treturn configuredLogLevel;\n\t}\n\n\tconst raw = (getEnvUniversal(\"LOG_LEVEL\") || \"warn\").toString().toLowerCase();\n\n\tconst parsed = LogLevelSchema.safeParse(raw);\n\tif (parsed.success) {\n\t\treturn parsed.data;\n\t}\n\n\t// Default to info if invalid\n\treturn \"info\";\n}\n\nexport function getIncludeTarget(): boolean {\n\treturn getEnvUniversal(\"LOG_TARGET\") === \"1\";\n}\n\n/**\n * Configure a custom base logger.\n */\nexport function configureBaseLogger(logger: Logger): void {\n\tbaseLogger = logger;\n\tloggerCache.clear();\n}\n\n// TODO: This can be simplified in logfmt.ts\nfunction customWrite(level: string, o: any) {\n\tconst entries: any = {};\n\n\t// Add timestamp if enabled\n\tif (getEnvUniversal(\"LOG_TIMESTAMP\") === \"1\" && o.time) {\n\t\tconst date = typeof o.time === \"number\" ? new Date(o.time) : new Date();\n\t\tentries.ts = formatTimestamp(date);\n\t}\n\n\t// Add level\n\tentries.level = level.toUpperCase();\n\n\t// Add target if present\n\tif (o.target) {\n\t\tentries.target = o.target;\n\t}\n\n\t// Add message\n\tif (o.msg) {\n\t\tentries.msg = o.msg;\n\t}\n\n\t// Add other properties\n\tfor (const [key, value] of Object.entries(o)) {\n\t\tif (\n\t\t\tkey !== \"time\" &&\n\t\t\tkey !== \"level\" &&\n\t\t\tkey !== \"target\" &&\n\t\t\tkey !== \"msg\" &&\n\t\t\tkey !== \"pid\" &&\n\t\t\tkey !== \"hostname\"\n\t\t) {\n\t\t\tentries[key] = castToLogValue(value);\n\t\t}\n\t}\n\n\tconst output = stringify(entries);\n\tconsole.log(output);\n}\n\n/**\n * Configure the default logger with optional log level.\n */\nexport async function configureDefaultLogger(\n\tlogLevel?: LogLevel,\n): Promise<void> {\n\t// Store the configured log level\n\tif (logLevel) {\n\t\tconfiguredLogLevel = logLevel;\n\t}\n\n\tbaseLogger = pino({\n\t\tlevel: getPinoLevel(logLevel),\n\t\tmessageKey: \"msg\",\n\t\t// Do not include pid/hostname in output\n\t\tbase: {},\n\t\t// Keep a string level in the output\n\t\tformatters: {\n\t\t\tlevel(_label: string, number: number) {\n\t\t\t\treturn { level: number };\n\t\t\t},\n\t\t},\n\t\ttimestamp:\n\t\t\tgetEnvUniversal(\"LOG_TIMESTAMP\") === \"1\"\n\t\t\t\t? stdTimeFunctions.epochTime\n\t\t\t\t: false,\n\t\tbrowser: {\n\t\t\twrite: {\n\t\t\t\tfatal: customWrite.bind(null, \"fatal\"),\n\t\t\t\terror: customWrite.bind(null, \"error\"),\n\t\t\t\twarn: customWrite.bind(null, \"warn\"),\n\t\t\t\tinfo: customWrite.bind(null, \"info\"),\n\t\t\t\tdebug: customWrite.bind(null, \"debug\"),\n\t\t\t\ttrace: customWrite.bind(null, \"trace\"),\n\t\t\t},\n\t\t},\n\t\thooks: {\n\t\t\tlogMethod(inputArgs, _method, level) {\n\t\t\t\t// TODO: This is a hack to not implement our own transport target. We can get better perf if we have our own transport target.\n\n\t\t\t\tconst levelMap: Record<number, string> = {\n\t\t\t\t\t10: \"trace\",\n\t\t\t\t\t20: \"debug\",\n\t\t\t\t\t30: \"info\",\n\t\t\t\t\t40: \"warn\",\n\t\t\t\t\t50: \"error\",\n\t\t\t\t\t60: \"fatal\",\n\t\t\t\t};\n\t\t\t\tconst levelName = levelMap[level] || \"info\";\n\t\t\t\tconst time =\n\t\t\t\t\tgetEnvUniversal(\"LOG_TIMESTAMP\") === \"1\" ? Date.now() : undefined;\n\t\t\t\t// TODO: This can be simplified in logfmt.ts\n\t\t\t\tif (inputArgs.length >= 2) {\n\t\t\t\t\tconst [objOrMsg, msg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, { ...objOrMsg, msg, time });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, { msg: String(objOrMsg), time });\n\t\t\t\t\t}\n\t\t\t\t} else if (inputArgs.length === 1) {\n\t\t\t\t\tconst [objOrMsg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, { ...objOrMsg, time });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, { msg: String(objOrMsg), time });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t});\n\n\tloggerCache.clear();\n}\n\n/**\n * Get or initialize the base logger.\n */\nexport function getBaseLogger(): Logger {\n\tif (!baseLogger) {\n\t\tconfigureDefaultLogger();\n\t}\n\treturn baseLogger!;\n}\n\n/**\n * Returns a child logger with `target` bound for the given name.\n */\nexport function getLogger(name = \"default\"): Logger {\n\t// Check cache first\n\tconst cached = loggerCache.get(name);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\t// Create\n\tconst base = getBaseLogger();\n\n\t// Add target to log if enabled\n\tconst child = getIncludeTarget() ? base.child({ target: name }) : base;\n\n\t// Cache the logger\n\tloggerCache.set(name, child);\n\n\treturn child;\n}\n","export type LogLevel =\n\t| \"TRACE\"\n\t| \"DEBUG\"\n\t| \"INFO\"\n\t| \"WARN\"\n\t| \"ERROR\"\n\t| \"CRITICAL\";\n\nexport const LogLevels: Record<LogLevel, LevelIndex> = {\n\tTRACE: 0,\n\tDEBUG: 1,\n\tINFO: 2,\n\tWARN: 3,\n\tERROR: 4,\n\tCRITICAL: 5,\n} as const;\n\nexport const LevelNameMap: Record<number, LogLevel> = {\n\t0: \"TRACE\",\n\t1: \"DEBUG\",\n\t2: \"INFO\",\n\t3: \"WARN\",\n\t4: \"ERROR\",\n\t5: \"CRITICAL\",\n};\n\nexport type LevelIndex = number;\n","import { type LogLevel, LogLevels } from \"./log-levels\";\n\nconst LOG_LEVEL_COLORS: Record<number, string> = {\n\t[LogLevels.CRITICAL]: \"\\x1b[31m\", // Red\n\t[LogLevels.ERROR]: \"\\x1b[31m\", // Red\n\t[LogLevels.WARN]: \"\\x1b[33m\", // Yellow\n\t[LogLevels.INFO]: \"\\x1b[32m\", // Green\n\t[LogLevels.DEBUG]: \"\\x1b[36m\", // Cyan\n\t[LogLevels.TRACE]: \"\\x1b[36m\", // Cyan\n};\n\nconst RESET_COLOR = \"\\x1b[0m\";\n\n/**\n * Serializes logfmt line from an object.\n *\n * ## Styling Methodology\n *\n * The three things you need to know for every log line is the level, the\n * message, and who called it. These properties are highlighted in different colros\n * and sorted in th eorder that you usually read them.\n *\n * Once you've found a log line you care about, then you want to find the\n * property you need to see. The property names are bolded and the default color\n * while the rest of the data is dim. This lets you scan to find the property\n * name quickly then look closer to read the data associated with the\n * property.\n */\nexport function stringify(data: any) {\n\tlet line = \"\";\n\tconst entries = Object.entries(data);\n\n\tfor (let i = 0; i < entries.length; i++) {\n\t\tconst [key, valueRaw] = entries[i];\n\n\t\tlet isNull = false;\n\t\tlet valueString: string;\n\t\tif (valueRaw == null) {\n\t\t\tisNull = true;\n\t\t\tvalueString = \"\";\n\t\t} else {\n\t\t\tvalueString = valueRaw.toString();\n\t\t}\n\n\t\t// Clip value unless specifically the error message\n\t\tif (valueString.length > 512 && key !== \"msg\" && key !== \"error\")\n\t\t\tvalueString = `${valueString.slice(0, 512)}...`;\n\n\t\tconst needsQuoting =\n\t\t\tvalueString.indexOf(\" \") > -1 || valueString.indexOf(\"=\") > -1;\n\t\tconst needsEscaping =\n\t\t\tvalueString.indexOf('\"') > -1 || valueString.indexOf(\"\\\\\") > -1;\n\n\t\tvalueString = valueString.replace(/\\n/g, \"\\\\n\");\n\t\tif (needsEscaping) valueString = valueString.replace(/[\"\\\\]/g, \"\\\\$&\");\n\t\tif (needsQuoting || needsEscaping) valueString = `\"${valueString}\"`;\n\t\tif (valueString === \"\" && !isNull) valueString = '\"\"';\n\n\t\tif (LOGGER_CONFIG.enableColor) {\n\t\t\t// With color\n\n\t\t\t// Special message colors\n\t\t\tlet color = \"\\x1b[2m\";\n\t\t\tif (key === \"level\") {\n\t\t\t\tconst level = LogLevels[valueString as LogLevel];\n\t\t\t\tconst levelColor = LOG_LEVEL_COLORS[level];\n\t\t\t\tif (levelColor) {\n\t\t\t\t\tcolor = levelColor;\n\t\t\t\t}\n\t\t\t} else if (key === \"msg\") {\n\t\t\t\tcolor = \"\\x1b[32m\";\n\t\t\t} else if (key === \"trace\") {\n\t\t\t\tcolor = \"\\x1b[34m\";\n\t\t\t}\n\n\t\t\t// Format line\n\t\t\tline += `\\x1b[0m\\x1b[1m${key}\\x1b[0m\\x1b[2m=\\x1b[0m${color}${valueString}${RESET_COLOR}`;\n\t\t} else {\n\t\t\t// No color\n\t\t\tline += `${key}=${valueString}`;\n\t\t}\n\n\t\tif (i !== entries.length - 1) {\n\t\t\tline += \" \";\n\t\t}\n\t}\n\n\treturn line;\n}\n\nexport function formatTimestamp(date: Date): string {\n\tconst year = date.getUTCFullYear();\n\tconst month = String(date.getUTCMonth() + 1).padStart(2, \"0\");\n\tconst day = String(date.getUTCDate()).padStart(2, \"0\");\n\tconst hours = String(date.getUTCHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getUTCMinutes()).padStart(2, \"0\");\n\tconst seconds = String(date.getUTCSeconds()).padStart(2, \"0\");\n\tconst milliseconds = String(date.getUTCMilliseconds()).padStart(3, \"0\");\n\n\treturn `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\n}\n\nexport function castToLogValue(v: unknown): any {\n\tif (\n\t\ttypeof v === \"string\" ||\n\t\ttypeof v === \"number\" ||\n\t\ttypeof v === \"bigint\" ||\n\t\ttypeof v === \"boolean\" ||\n\t\tv === null ||\n\t\tv === undefined\n\t) {\n\t\treturn v;\n\t}\n\tif (v instanceof Error) {\n\t\t//args.push(...errorToLogEntries(k, v));\n\t\treturn String(v);\n\t}\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch {\n\t\treturn \"[cannot stringify]\";\n\t}\n}\n\n// MARK: Config\ninterface GlobalLoggerConfig {\n\tenableColor: boolean;\n\tenableSpreadObject: boolean;\n\tenableErrorStack: boolean;\n}\n\nexport const LOGGER_CONFIG: GlobalLoggerConfig = {\n\tenableColor: false,\n\tenableSpreadObject: false,\n\tenableErrorStack: false,\n};\n\n// MARK: Utils\n/**\n * Converts an object in to an easier to read KV of entries.\n */\nexport function spreadObjectToLogEntries(base: string, data: unknown): any {\n\tif (\n\t\tLOGGER_CONFIG.enableSpreadObject &&\n\t\ttypeof data === \"object\" &&\n\t\t!Array.isArray(data) &&\n\t\tdata !== null &&\n\t\tObject.keys(data).length !== 0 &&\n\t\tObject.keys(data).length < 16\n\t) {\n\t\tconst logData: any = {};\n\t\tfor (const key in data) {\n\t\t\tObject.assign(\n\t\t\t\tlogData,\n\t\t\t\tspreadObjectToLogEntries(\n\t\t\t\t\t`${base}.${key}`,\n\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: FIXME\n\t\t\t\t\t(data as any)[key],\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn logData;\n\t}\n\n\treturn { [base]: JSON.stringify(data) };\n}\n\nexport function errorToLogEntries(base: string, error: unknown): any {\n\tif (error instanceof Error) {\n\t\treturn {\n\t\t\t[`${base}.message`]: error.message,\n\t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n\t\t\t\t? { [`${base}.stack`]: formatStackTrace(error.stack) }\n\t\t\t\t: {}),\n\t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : {}),\n\t\t};\n\t}\n\treturn { [base]: `${error}` };\n}\n\n// export function errorToLogEntries(base: string, error: unknown): LogEntry[] {\n// \tif (error instanceof RuntimeError) {\n// \t\treturn [\n// \t\t\t[`${base}.code`, error.code],\n// \t\t\t[`${base}.description`, error.errorConfig?.description],\n// \t\t\t[`${base}.module`, error.moduleName],\n// \t\t\t...(error.trace ? [[`${base}.trace`, stringifyTrace(error.trace)] as LogEntry] : []),\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.meta ? [[`${base}.meta`, JSON.stringify(error.meta)] as LogEntry] : []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else if (error instanceof Error) {\n// \t\treturn [\n// \t\t\t[`${base}.name`, error.name],\n// \t\t\t[`${base}.message`, error.message],\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else {\n// \t\treturn [\n// \t\t\t[base, `${error}`],\n// \t\t];\n// \t}\n// }\n\n/**\n * Formats a JS stack trace in to a legible one-liner.\n */\nfunction formatStackTrace(stackTrace: string): string {\n\tconst regex = /at (.+?)$/gm;\n\tconst matches = [...stackTrace.matchAll(regex)];\n\t// Reverse array since the stack goes from top level -> bottom level\n\tmatches.reverse();\n\treturn matches.map((match) => match[1].trim()).join(\" > \");\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-QMF6X2E2.cjs","../../src/common/log.ts","../../src/common/log-levels.ts","../../src/common/logfmt.ts"],"names":[],"mappings":"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","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-QMF6X2E2.cjs","sourcesContent":[null,"import {\n\ttype LevelWithSilent,\n\ttype Logger,\n\tpino,\n\tstdTimeFunctions,\n} from \"pino\";\nimport { z } from \"zod\";\nimport { getEnvUniversal } from \"@/utils\";\nimport {\n\tcastToLogValue,\n\tformatTimestamp,\n\tLOGGER_CONFIG,\n\tstringify,\n} from \"./logfmt\";\n\nexport type { Logger } from \"pino\";\n\nlet baseLogger: Logger | undefined;\nlet configuredLogLevel: LogLevel | undefined;\n\n/** Cache of child loggers by logger name. */\nconst loggerCache = new Map<string, Logger>();\n\nexport const LogLevelSchema = z.enum([\n\t\"trace\",\n\t\"debug\",\n\t\"info\",\n\t\"warn\",\n\t\"error\",\n\t\"fatal\",\n\t\"silent\",\n]);\n\nexport type LogLevel = z.infer<typeof LogLevelSchema>;\n\nexport function getPinoLevel(logLevel?: LogLevel): LevelWithSilent {\n\t// Priority: provided > configured > env > default\n\tif (logLevel) {\n\t\treturn logLevel;\n\t}\n\n\tif (configuredLogLevel) {\n\t\treturn configuredLogLevel;\n\t}\n\n\tconst raw = (getEnvUniversal(\"LOG_LEVEL\") || \"warn\").toString().toLowerCase();\n\n\tconst parsed = LogLevelSchema.safeParse(raw);\n\tif (parsed.success) {\n\t\treturn parsed.data;\n\t}\n\n\t// Default to info if invalid\n\treturn \"info\";\n}\n\nexport function getIncludeTarget(): boolean {\n\treturn getEnvUniversal(\"LOG_TARGET\") === \"1\";\n}\n\n/**\n * Configure a custom base logger.\n */\nexport function configureBaseLogger(logger: Logger): void {\n\tbaseLogger = logger;\n\tloggerCache.clear();\n}\n\n// TODO: This can be simplified in logfmt.ts\nfunction customWrite(level: string, o: any) {\n\tconst entries: any = {};\n\n\t// Add timestamp if enabled\n\tif (getEnvUniversal(\"LOG_TIMESTAMP\") === \"1\" && o.time) {\n\t\tconst date = typeof o.time === \"number\" ? new Date(o.time) : new Date();\n\t\tentries.ts = formatTimestamp(date);\n\t}\n\n\t// Add level\n\tentries.level = level.toUpperCase();\n\n\t// Add target if present\n\tif (o.target) {\n\t\tentries.target = o.target;\n\t}\n\n\t// Add message\n\tif (o.msg) {\n\t\tentries.msg = o.msg;\n\t}\n\n\t// Add other properties\n\tfor (const [key, value] of Object.entries(o)) {\n\t\tif (\n\t\t\tkey !== \"time\" &&\n\t\t\tkey !== \"level\" &&\n\t\t\tkey !== \"target\" &&\n\t\t\tkey !== \"msg\" &&\n\t\t\tkey !== \"pid\" &&\n\t\t\tkey !== \"hostname\"\n\t\t) {\n\t\t\tentries[key] = castToLogValue(value);\n\t\t}\n\t}\n\n\tconst output = stringify(entries);\n\tconsole.log(output);\n}\n\n/**\n * Configure the default logger with optional log level.\n */\nexport async function configureDefaultLogger(\n\tlogLevel?: LogLevel,\n): Promise<void> {\n\t// Store the configured log level\n\tif (logLevel) {\n\t\tconfiguredLogLevel = logLevel;\n\t}\n\n\tbaseLogger = pino({\n\t\tlevel: getPinoLevel(logLevel),\n\t\tmessageKey: \"msg\",\n\t\t// Do not include pid/hostname in output\n\t\tbase: {},\n\t\t// Keep a string level in the output\n\t\tformatters: {\n\t\t\tlevel(_label: string, number: number) {\n\t\t\t\treturn { level: number };\n\t\t\t},\n\t\t},\n\t\ttimestamp:\n\t\t\tgetEnvUniversal(\"LOG_TIMESTAMP\") === \"1\"\n\t\t\t\t? stdTimeFunctions.epochTime\n\t\t\t\t: false,\n\t\tbrowser: {\n\t\t\twrite: {\n\t\t\t\tfatal: customWrite.bind(null, \"fatal\"),\n\t\t\t\terror: customWrite.bind(null, \"error\"),\n\t\t\t\twarn: customWrite.bind(null, \"warn\"),\n\t\t\t\tinfo: customWrite.bind(null, \"info\"),\n\t\t\t\tdebug: customWrite.bind(null, \"debug\"),\n\t\t\t\ttrace: customWrite.bind(null, \"trace\"),\n\t\t\t},\n\t\t},\n\t\thooks: {\n\t\t\tlogMethod(inputArgs, _method, level) {\n\t\t\t\t// TODO: This is a hack to not implement our own transport target. We can get better perf if we have our own transport target.\n\n\t\t\t\tconst levelMap: Record<number, string> = {\n\t\t\t\t\t10: \"trace\",\n\t\t\t\t\t20: \"debug\",\n\t\t\t\t\t30: \"info\",\n\t\t\t\t\t40: \"warn\",\n\t\t\t\t\t50: \"error\",\n\t\t\t\t\t60: \"fatal\",\n\t\t\t\t};\n\t\t\t\tconst levelName = levelMap[level] || \"info\";\n\t\t\t\tconst time =\n\t\t\t\t\tgetEnvUniversal(\"LOG_TIMESTAMP\") === \"1\" ? Date.now() : undefined;\n\t\t\t\t// TODO: This can be simplified in logfmt.ts\n\t\t\t\tif (inputArgs.length >= 2) {\n\t\t\t\t\tconst [objOrMsg, msg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, { ...objOrMsg, msg, time });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, { msg: String(objOrMsg), time });\n\t\t\t\t\t}\n\t\t\t\t} else if (inputArgs.length === 1) {\n\t\t\t\t\tconst [objOrMsg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, { ...objOrMsg, time });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, { msg: String(objOrMsg), time });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t});\n\n\tloggerCache.clear();\n}\n\n/**\n * Get or initialize the base logger.\n */\nexport function getBaseLogger(): Logger {\n\tif (!baseLogger) {\n\t\tconfigureDefaultLogger();\n\t}\n\treturn baseLogger!;\n}\n\n/**\n * Returns a child logger with `target` bound for the given name.\n */\nexport function getLogger(name = \"default\"): Logger {\n\t// Check cache first\n\tconst cached = loggerCache.get(name);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\t// Create\n\tconst base = getBaseLogger();\n\n\t// Add target to log if enabled\n\tconst child = getIncludeTarget() ? base.child({ target: name }) : base;\n\n\t// Cache the logger\n\tloggerCache.set(name, child);\n\n\treturn child;\n}\n","export type LogLevel =\n\t| \"TRACE\"\n\t| \"DEBUG\"\n\t| \"INFO\"\n\t| \"WARN\"\n\t| \"ERROR\"\n\t| \"CRITICAL\";\n\nexport const LogLevels: Record<LogLevel, LevelIndex> = {\n\tTRACE: 0,\n\tDEBUG: 1,\n\tINFO: 2,\n\tWARN: 3,\n\tERROR: 4,\n\tCRITICAL: 5,\n} as const;\n\nexport const LevelNameMap: Record<number, LogLevel> = {\n\t0: \"TRACE\",\n\t1: \"DEBUG\",\n\t2: \"INFO\",\n\t3: \"WARN\",\n\t4: \"ERROR\",\n\t5: \"CRITICAL\",\n};\n\nexport type LevelIndex = number;\n","import { type LogLevel, LogLevels } from \"./log-levels\";\n\nconst LOG_LEVEL_COLORS: Record<number, string> = {\n\t[LogLevels.CRITICAL]: \"\\x1b[31m\", // Red\n\t[LogLevels.ERROR]: \"\\x1b[31m\", // Red\n\t[LogLevels.WARN]: \"\\x1b[33m\", // Yellow\n\t[LogLevels.INFO]: \"\\x1b[32m\", // Green\n\t[LogLevels.DEBUG]: \"\\x1b[36m\", // Cyan\n\t[LogLevels.TRACE]: \"\\x1b[36m\", // Cyan\n};\n\nconst RESET_COLOR = \"\\x1b[0m\";\n\n/**\n * Serializes logfmt line from an object.\n *\n * ## Styling Methodology\n *\n * The three things you need to know for every log line is the level, the\n * message, and who called it. These properties are highlighted in different colros\n * and sorted in th eorder that you usually read them.\n *\n * Once you've found a log line you care about, then you want to find the\n * property you need to see. The property names are bolded and the default color\n * while the rest of the data is dim. This lets you scan to find the property\n * name quickly then look closer to read the data associated with the\n * property.\n */\nexport function stringify(data: any) {\n\tlet line = \"\";\n\tconst entries = Object.entries(data);\n\n\tfor (let i = 0; i < entries.length; i++) {\n\t\tconst [key, valueRaw] = entries[i];\n\n\t\tlet isNull = false;\n\t\tlet valueString: string;\n\t\tif (valueRaw == null) {\n\t\t\tisNull = true;\n\t\t\tvalueString = \"\";\n\t\t} else {\n\t\t\tvalueString = valueRaw.toString();\n\t\t}\n\n\t\t// Clip value unless specifically the error message\n\t\tif (valueString.length > 512 && key !== \"msg\" && key !== \"error\")\n\t\t\tvalueString = `${valueString.slice(0, 512)}...`;\n\n\t\tconst needsQuoting =\n\t\t\tvalueString.indexOf(\" \") > -1 || valueString.indexOf(\"=\") > -1;\n\t\tconst needsEscaping =\n\t\t\tvalueString.indexOf('\"') > -1 || valueString.indexOf(\"\\\\\") > -1;\n\n\t\tvalueString = valueString.replace(/\\n/g, \"\\\\n\");\n\t\tif (needsEscaping) valueString = valueString.replace(/[\"\\\\]/g, \"\\\\$&\");\n\t\tif (needsQuoting || needsEscaping) valueString = `\"${valueString}\"`;\n\t\tif (valueString === \"\" && !isNull) valueString = '\"\"';\n\n\t\tif (LOGGER_CONFIG.enableColor) {\n\t\t\t// With color\n\n\t\t\t// Special message colors\n\t\t\tlet color = \"\\x1b[2m\";\n\t\t\tif (key === \"level\") {\n\t\t\t\tconst level = LogLevels[valueString as LogLevel];\n\t\t\t\tconst levelColor = LOG_LEVEL_COLORS[level];\n\t\t\t\tif (levelColor) {\n\t\t\t\t\tcolor = levelColor;\n\t\t\t\t}\n\t\t\t} else if (key === \"msg\") {\n\t\t\t\tcolor = \"\\x1b[32m\";\n\t\t\t} else if (key === \"trace\") {\n\t\t\t\tcolor = \"\\x1b[34m\";\n\t\t\t}\n\n\t\t\t// Format line\n\t\t\tline += `\\x1b[0m\\x1b[1m${key}\\x1b[0m\\x1b[2m=\\x1b[0m${color}${valueString}${RESET_COLOR}`;\n\t\t} else {\n\t\t\t// No color\n\t\t\tline += `${key}=${valueString}`;\n\t\t}\n\n\t\tif (i !== entries.length - 1) {\n\t\t\tline += \" \";\n\t\t}\n\t}\n\n\treturn line;\n}\n\nexport function formatTimestamp(date: Date): string {\n\tconst year = date.getUTCFullYear();\n\tconst month = String(date.getUTCMonth() + 1).padStart(2, \"0\");\n\tconst day = String(date.getUTCDate()).padStart(2, \"0\");\n\tconst hours = String(date.getUTCHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getUTCMinutes()).padStart(2, \"0\");\n\tconst seconds = String(date.getUTCSeconds()).padStart(2, \"0\");\n\tconst milliseconds = String(date.getUTCMilliseconds()).padStart(3, \"0\");\n\n\treturn `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\n}\n\nexport function castToLogValue(v: unknown): any {\n\tif (\n\t\ttypeof v === \"string\" ||\n\t\ttypeof v === \"number\" ||\n\t\ttypeof v === \"bigint\" ||\n\t\ttypeof v === \"boolean\" ||\n\t\tv === null ||\n\t\tv === undefined\n\t) {\n\t\treturn v;\n\t}\n\tif (v instanceof Error) {\n\t\t//args.push(...errorToLogEntries(k, v));\n\t\treturn String(v);\n\t}\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch {\n\t\treturn \"[cannot stringify]\";\n\t}\n}\n\n// MARK: Config\ninterface GlobalLoggerConfig {\n\tenableColor: boolean;\n\tenableSpreadObject: boolean;\n\tenableErrorStack: boolean;\n}\n\nexport const LOGGER_CONFIG: GlobalLoggerConfig = {\n\tenableColor: false,\n\tenableSpreadObject: false,\n\tenableErrorStack: false,\n};\n\n// MARK: Utils\n/**\n * Converts an object in to an easier to read KV of entries.\n */\nexport function spreadObjectToLogEntries(base: string, data: unknown): any {\n\tif (\n\t\tLOGGER_CONFIG.enableSpreadObject &&\n\t\ttypeof data === \"object\" &&\n\t\t!Array.isArray(data) &&\n\t\tdata !== null &&\n\t\tObject.keys(data).length !== 0 &&\n\t\tObject.keys(data).length < 16\n\t) {\n\t\tconst logData: any = {};\n\t\tfor (const key in data) {\n\t\t\tObject.assign(\n\t\t\t\tlogData,\n\t\t\t\tspreadObjectToLogEntries(\n\t\t\t\t\t`${base}.${key}`,\n\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: FIXME\n\t\t\t\t\t(data as any)[key],\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn logData;\n\t}\n\n\treturn { [base]: JSON.stringify(data) };\n}\n\nexport function errorToLogEntries(base: string, error: unknown): any {\n\tif (error instanceof Error) {\n\t\treturn {\n\t\t\t[`${base}.message`]: error.message,\n\t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n\t\t\t\t? { [`${base}.stack`]: formatStackTrace(error.stack) }\n\t\t\t\t: {}),\n\t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : {}),\n\t\t};\n\t}\n\treturn { [base]: `${error}` };\n}\n\n// export function errorToLogEntries(base: string, error: unknown): LogEntry[] {\n// \tif (error instanceof RuntimeError) {\n// \t\treturn [\n// \t\t\t[`${base}.code`, error.code],\n// \t\t\t[`${base}.description`, error.errorConfig?.description],\n// \t\t\t[`${base}.module`, error.moduleName],\n// \t\t\t...(error.trace ? [[`${base}.trace`, stringifyTrace(error.trace)] as LogEntry] : []),\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.meta ? [[`${base}.meta`, JSON.stringify(error.meta)] as LogEntry] : []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else if (error instanceof Error) {\n// \t\treturn [\n// \t\t\t[`${base}.name`, error.name],\n// \t\t\t[`${base}.message`, error.message],\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else {\n// \t\treturn [\n// \t\t\t[base, `${error}`],\n// \t\t];\n// \t}\n// }\n\n/**\n * Formats a JS stack trace in to a legible one-liner.\n */\nfunction formatStackTrace(stackTrace: string): string {\n\tconst regex = /at (.+?)$/gm;\n\tconst matches = [...stackTrace.matchAll(regex)];\n\t// Reverse array since the stack goes from top level -> bottom level\n\tmatches.reverse();\n\treturn matches.map((match) => match[1].trim()).join(\" > \");\n}\n"]}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkIXPZJCBEcjs = require('./chunk-IXPZJCBE.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk4R5LOYEUcjs = require('./chunk-4R5LOYEU.cjs');
|
|
8
8
|
|
|
9
9
|
// src/client/mod.ts
|
|
10
10
|
function createClient(endpointOrConfig) {
|
|
11
11
|
const configInput = endpointOrConfig === void 0 ? {} : typeof endpointOrConfig === "string" ? { endpoint: endpointOrConfig } : endpointOrConfig;
|
|
12
|
-
const config =
|
|
13
|
-
const driver = new (0,
|
|
14
|
-
return
|
|
12
|
+
const config = _chunk4R5LOYEUcjs.ClientConfigSchema.parse(configInput);
|
|
13
|
+
const driver = new (0, _chunkIXPZJCBEcjs.RemoteManagerDriver)(config);
|
|
14
|
+
return _chunkIXPZJCBEcjs.createClientWithDriver.call(void 0, driver, config);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
exports.createClient = createClient;
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-RFCYH6EC.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-RFCYH6EC.cjs","../../src/client/mod.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACoCO,SAAS,YAAA,CACf,gBAAA,EACY;AAEZ,EAAA,MAAM,YAAA,EACL,iBAAA,IAAqB,KAAA,EAAA,EAClB,CAAC,EAAA,EACD,OAAO,iBAAA,IAAqB,SAAA,EAC3B,EAAE,QAAA,EAAU,iBAAiB,EAAA,EAC7B,gBAAA;AACL,EAAA,MAAM,OAAA,EAAS,oCAAA,CAAmB,KAAA,CAAM,WAAW,CAAA;AAGnD,EAAA,MAAM,OAAA,EAAS,IAAI,0CAAA,CAAoB,MAAM,CAAA;AAC7C,EAAA,OAAO,sDAAA,MAA0B,EAAQ,MAAM,CAAA;AAChD;AD5CA;AACA;AACE;AACF,oCAAC","file":"/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-RFCYH6EC.cjs","sourcesContent":[null,"import type { Registry } from \"@/registry/mod\";\nimport { RemoteManagerDriver } from \"@/remote-manager-driver/mod\";\nimport {\n\ttype Client,\n\ttype ClientConfigInput,\n\tcreateClientWithDriver,\n} from \"./client\";\nimport { ClientConfigSchema } from \"./config\";\n\nexport {\n\tActorDefinition,\n\tAnyActorDefinition,\n} from \"@/actor/definition\";\nexport type { Transport } from \"@/actor/protocol/old\";\nexport type { Encoding } from \"@/actor/protocol/serde\";\nexport {\n\tActorClientError,\n\tActorError,\n\tInternalError,\n\tMalformedResponseMessage,\n\tManagerError,\n} from \"@/client/errors\";\nexport type { CreateRequest } from \"@/manager/protocol/query\";\nexport type { ActorActionFunction } from \"./actor-common\";\nexport type { ActorConn, EventUnsubscribe } from \"./actor-conn\";\nexport { ActorConnRaw } from \"./actor-conn\";\nexport type { ActorHandle } from \"./actor-handle\";\nexport { ActorHandleRaw } from \"./actor-handle\";\nexport type {\n\tActorAccessor,\n\tClient,\n\tClientRaw,\n\tCreateOptions,\n\tExtractActorsFromRegistry,\n\tExtractRegistryFromClient,\n\tGetOptions,\n\tGetWithIdOptions,\n\tQueryOptions,\n\tRegion,\n} from \"./client\";\n\n/**\n * Creates a client with the actor accessor proxy.\n */\nexport function createClient<A extends Registry<any>>(\n\tendpointOrConfig?: string | ClientConfigInput,\n): Client<A> {\n\t// Parse config\n\tconst configInput =\n\t\tendpointOrConfig === undefined\n\t\t\t? {}\n\t\t\t: typeof endpointOrConfig === \"string\"\n\t\t\t\t? { endpoint: endpointOrConfig }\n\t\t\t\t: endpointOrConfig;\n\tconst config = ClientConfigSchema.parse(configInput);\n\n\t// Create client\n\tconst driver = new RemoteManagerDriver(config);\n\treturn createClientWithDriver<A>(driver, config);\n}\n"]}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
inspectorLogger,
|
|
5
5
|
isInspectorEnabled,
|
|
6
6
|
secureInspector
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KPFRD7KN.js";
|
|
8
8
|
import {
|
|
9
9
|
ActorDefinition,
|
|
10
10
|
RemoteManagerDriver,
|
|
@@ -17,10 +17,10 @@ import {
|
|
|
17
17
|
lookupInRegistry,
|
|
18
18
|
serializeActorKey,
|
|
19
19
|
updateRunnerConfig
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DZEQUURK.js";
|
|
21
21
|
import {
|
|
22
22
|
CreateActorSchema
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YVK2XQNR.js";
|
|
24
24
|
import {
|
|
25
25
|
ActionContext,
|
|
26
26
|
ClientConfigSchema,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
createVersionedDataHandler,
|
|
33
33
|
parseMessage,
|
|
34
34
|
serializeEmptyPersistData
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-2MUSMEMN.js";
|
|
36
36
|
import {
|
|
37
37
|
EncodingSchema,
|
|
38
38
|
HEADER_ACTOR_ID,
|
|
@@ -58,23 +58,24 @@ import {
|
|
|
58
58
|
generateRandomString,
|
|
59
59
|
loggerWithoutContext,
|
|
60
60
|
serializeWithEncoding
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-AR5ZY563.js";
|
|
62
62
|
import {
|
|
63
63
|
configureBaseLogger,
|
|
64
64
|
configureDefaultLogger,
|
|
65
65
|
getLogger
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-6JGEHV56.js";
|
|
67
67
|
import {
|
|
68
68
|
VERSION,
|
|
69
69
|
assertUnreachable,
|
|
70
70
|
bufferToArrayBuffer,
|
|
71
71
|
deconstructError,
|
|
72
|
+
getEnvUniversal,
|
|
72
73
|
noopNext,
|
|
73
74
|
package_default,
|
|
74
75
|
promiseWithResolvers,
|
|
75
76
|
setLongTimeout,
|
|
76
77
|
stringifyError
|
|
77
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-42UD33X4.js";
|
|
78
79
|
import {
|
|
79
80
|
ActorAlreadyExists,
|
|
80
81
|
ConnNotFound,
|
|
@@ -875,7 +876,8 @@ function loggerMiddleware(logger8) {
|
|
|
875
876
|
dt: `${duration}ms`,
|
|
876
877
|
reqSize: c.req.header("content-length"),
|
|
877
878
|
resSize: c.res.headers.get("content-length"),
|
|
878
|
-
userAgent: c.req.header("user-agent")
|
|
879
|
+
userAgent: c.req.header("user-agent"),
|
|
880
|
+
...getEnvUniversal("_RIVET_LOG_HEADERS") ? { allHeaders: JSON.stringify(c.req.header()) } : {}
|
|
879
881
|
});
|
|
880
882
|
};
|
|
881
883
|
}
|
|
@@ -4066,7 +4068,7 @@ async function configureServerlessRunner(config2) {
|
|
|
4066
4068
|
});
|
|
4067
4069
|
const serverlessConfig = {
|
|
4068
4070
|
serverless: {
|
|
4069
|
-
url: customConfig.url || `http://localhost:${config2.defaultServerPort}
|
|
4071
|
+
url: customConfig.url || `http://localhost:${config2.defaultServerPort}`,
|
|
4070
4072
|
headers: customConfig.headers || {},
|
|
4071
4073
|
max_runners: customConfig.maxRunners ?? 100,
|
|
4072
4074
|
min_runners: customConfig.minRunners ?? 0,
|
|
@@ -4114,4 +4116,4 @@ export {
|
|
|
4114
4116
|
setup
|
|
4115
4117
|
};
|
|
4116
4118
|
//! These configs configs hold anything that's not platform-specific about running actors.
|
|
4117
|
-
//# sourceMappingURL=chunk-
|
|
4119
|
+
//# sourceMappingURL=chunk-S5K7CB2F.js.map
|