diff --git a/packages/sdk/client/rpc/node-rpc-client.ts b/packages/sdk/client/rpc/node-rpc-client.ts index d4a2fb02e8..b8e5be3fef 100644 --- a/packages/sdk/client/rpc/node-rpc-client.ts +++ b/packages/sdk/client/rpc/node-rpc-client.ts @@ -20,9 +20,6 @@ const RPC_INIT_TIMEOUT_MS = 30_000; const logger = getClientLogger(); -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); - let rpcInstance: RPC | null = null; let rpcPromise: Promise | null = null; let bareWorkerProc: BareChildProcess | null = null; @@ -71,14 +68,34 @@ function resolvePackagedWorkerPath(): string | undefined { } /** - * Get default worker path from SDK dist + * Resolve the SDK's default worker entry via bundler-visible asset references. + * + * `path.resolve(__dirname, ...)` is invisible to static analysis, so packaged + * consumers ship without worker.js. We use `import.meta.asset()` on + * Bare (detected by bare-module-lexer) and fall back to + * `new URL(, import.meta.url)` elsewhere. Specs must be string + * literals at the call site. */ function getDefaultWorkerPath(): string { - const packagedWorker = path.resolve(__dirname, "../../server/worker.js"); - if (fs.existsSync(packagedWorker)) return packagedWorker; + type ImportMetaAsset = { asset?: (spec: string) => string }; + const hasAsset = + typeof (import.meta as ImportMetaAsset).asset === "function"; + + const packagedUrl = hasAsset + ? new URL( + (import.meta as ImportMetaAsset).asset!("../../server/worker.js"), + ) + : new URL("../../server/worker.js", import.meta.url); + const packaged = fileURLToPath(packagedUrl); + if (fs.existsSync(packaged)) return packaged; // Dev/source layout fallback - return path.resolve(__dirname, "../../dist/server/worker.js"); + const devUrl = hasAsset + ? new URL( + (import.meta as ImportMetaAsset).asset!("../../dist/server/worker.js"), + ) + : new URL("../../dist/server/worker.js", import.meta.url); + return fileURLToPath(devUrl); } /** diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 147daa1fd5..ad54c841a5 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -180,7 +180,7 @@ "@qvac/llm-llamacpp": "^0.20.0", "@qvac/logging": "^0.1.0", "@qvac/ocr-onnx": "^0.5.0", - "@qvac/rag": "^0.4.4", + "@qvac/rag": "^0.5.0", "@qvac/registry-client": "^0.4.1", "@qvac/transcription-parakeet": "^0.4.0", "@qvac/transcription-whispercpp": "^0.7.0",