diff --git a/rivetkit-typescript/packages/traces/package.json b/rivetkit-typescript/packages/traces/package.json index 08eab034e0..fad61b8581 100644 --- a/rivetkit-typescript/packages/traces/package.json +++ b/rivetkit-typescript/packages/traces/package.json @@ -12,6 +12,11 @@ ], "exports": { ".": { + "browser": { + "types": "./dist/tsup/index.browser.d.ts", + "import": "./dist/tsup/index.browser.js", + "require": "./dist/tsup/index.browser.cjs" + }, "import": { "types": "./dist/tsup/index.d.ts", "default": "./dist/tsup/index.js" @@ -43,8 +48,8 @@ }, "dependencies": { "@rivetkit/bare-ts": "^0.6.2", - "cbor-x": "^1.6.0", "fdb-tuple": "^1.0.0", + "cbor-x": "^1.6.0", "vbare": "^0.0.4" }, "devDependencies": { diff --git a/rivetkit-typescript/packages/traces/src/index.browser.ts b/rivetkit-typescript/packages/traces/src/index.browser.ts new file mode 100644 index 0000000000..f93430a885 --- /dev/null +++ b/rivetkit-typescript/packages/traces/src/index.browser.ts @@ -0,0 +1,11 @@ +// Browser stub: createTraces is server-only (uses node:async_hooks, node:crypto, +// fdb-tuple). This module is selected via the "browser" export condition so that +// bundlers like Vite never pull in the real implementation when resolving +// @rivetkit/traces in a browser context. The function is never actually called +// in the browser; it only exists because tsup chunk-splitting may place the +// import in a shared chunk also reached by client code. +export function createTraces(): never { + throw new Error( + "createTraces is not available in the browser. This is a server-only API.", + ); +} diff --git a/rivetkit-typescript/packages/traces/src/traces.ts b/rivetkit-typescript/packages/traces/src/traces.ts index 36c4e80c30..370deecb64 100644 --- a/rivetkit-typescript/packages/traces/src/traces.ts +++ b/rivetkit-typescript/packages/traces/src/traces.ts @@ -1058,10 +1058,7 @@ export function createTraces( chunkId: number; } { const tuple = unpack(Buffer.from(key)) as [number, number, number]; - return { - bucketStartSec: tuple[1], - chunkId: tuple[2], - }; + return { bucketStartSec: tuple[1], chunkId: tuple[2] }; } function buildChunkKey(bucketStartSec: number, chunkId: number): Uint8Array {