UNPKG

rivetkit

Version:

Lightweight libraries for building stateful actors on edge platforms

1 lines 8 kB
{"version":3,"sources":["/Users/nathan/rivetkit/packages/rivetkit/dist/tsup/chunk-SIWYIRXP.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-SIWYIRXP.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"]}