@askdb/studio 0.2.0-beta.1 → 0.2.0-beta.10

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/server.js CHANGED
@@ -4,16 +4,17 @@ import { extname, relative, join, resolve } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { generateText as defaultGenerateText } from "ai";
6
6
  import { getAskDbRuntimeConfig } from "@askdb/config";
7
- import { ask, askDbAiKeyMissingMessage, createAskDbEmbeddingModel, createAskDbLanguageModelFromEnv, loadSchema, resolveAskDbAiConfig, resolveAskDbEmbeddingConfig, suggestEnrichment, } from "@askdb/core";
8
- import { postgresDialect } from "@askdb/postgres";
9
- import { buildSchemaIndex, chunkContentHash, chunkSchema, createRetriever, loadChunkerSourcesFromDir, } from "@askdb/rag";
10
- import { createAiSdkEmbedder } from "@askdb/rag/embedders/ai-sdk";
11
- import { createFileStore } from "@askdb/rag/stores/file";
7
+ import { ask, askDbAiKeyMissingMessage, createAskDbEmbeddingModel, createAskDbLanguageModelFromEnv, isBuiltInDialectId, loadSchema, resolveAskDbAiConfig, resolveAskDbEmbeddingConfig, suggestEnrichment, } from "@askdb/core";
8
+ import { buildSchemaIndex, chunkContentHash, chunkSchema, createAiSdkEmbedder, createFileStore, createMemoryStore, createPgvectorStore, createRetriever, loadChunkerSourcesFromDir, } from "@askdb/rag";
12
9
  import { buildDefaultTableBody, buildFrontmatter, buildSuggestionContext, buildSuggestionTarget, buildTableDraft, loadWorkspace, replaceH2Section, replaceTableDescription, saveTable, } from "@askdb/enrich";
13
10
  const CLIENT_DIR = fileURLToPath(new URL("./client/", import.meta.url));
14
11
  const STUDIO_RAG_MOCK_DIMENSIONS = 64;
15
12
  const STUDIO_RAG_MOCK_EMBEDDER_ID = `studio:mock-lexical-${STUDIO_RAG_MOCK_DIMENSIONS}`;
16
13
  const DEFAULT_EMBEDDING_MODEL = "text-embedding-3-small";
14
+ let studioPgvectorStoreFactoryForTests;
15
+ export function setStudioPgvectorStoreFactoryForTests(factory) {
16
+ studioPgvectorStoreFactoryForTests = factory;
17
+ }
17
18
  export function createStudioServer(options) {
18
19
  const schemaDir = resolve(options.schema);
19
20
  if (!existsSync(schemaDir)) {
@@ -49,22 +50,22 @@ export function createStudioServer(options) {
49
50
  return writeJson(res, 200, { candidates });
50
51
  }
51
52
  if (req.method === "GET" && url.pathname === "/api/rag/status") {
52
- return writeJson(res, 200, getRagStatus(state.schemaDir));
53
+ return writeJson(res, 200, await getRagStatus(state));
53
54
  }
54
55
  if (req.method === "POST" && url.pathname === "/api/rag/index") {
55
- const result = await indexRag(state.schemaDir);
56
+ const result = await indexRag(state);
56
57
  return writeJson(res, 200, result);
57
58
  }
58
59
  if (req.method === "POST" && url.pathname === "/api/rag/query") {
59
60
  const body = await readJson(req);
60
61
  const query = parseRagQuery(body);
61
- const result = await queryRag(state.schemaDir, query);
62
+ const result = await queryRag(state, query);
62
63
  return writeJson(res, 200, result);
63
64
  }
64
65
  if (req.method === "POST" && url.pathname === "/api/ask") {
65
66
  const body = await readJson(req);
66
67
  const options = parseAskBody(body);
67
- const result = await askSampleQuestion(state.schemaDir, options);
68
+ const result = await askSampleQuestion(state, options);
68
69
  return writeJson(res, 200, result);
69
70
  }
70
71
  if (req.method === "GET" && !url.pathname.startsWith("/api/")) {
@@ -84,9 +85,7 @@ export function serializeWorkspace(workspace) {
84
85
  const rt = getAskDbRuntimeConfig();
85
86
  const aiConfig = (() => {
86
87
  try {
87
- return resolveAskDbAiConfig(rt.ai.aiEnv, {
88
- modelEnvVar: rt.ai.studioModel ? "ASKDB_STUDIO_MODEL" : undefined,
89
- });
88
+ return resolveAskDbAiConfig(rt.ai.aiEnv);
90
89
  }
91
90
  catch {
92
91
  // A misconfigured AI env (e.g. azure without resourceName) shouldn't crash the workspace
@@ -135,43 +134,39 @@ function saveDraft(state, tableId, draft) {
135
134
  }
136
135
  async function suggestForSource(workspace, source) {
137
136
  const rt = getAskDbRuntimeConfig();
138
- const modelEnvVar = rt.ai.studioModel
139
- ? "ASKDB_STUDIO_MODEL"
140
- : rt.ai.tuiModel
141
- ? "ASKDB_TUI_MODEL"
142
- : undefined;
143
- const model = await createAskDbLanguageModelFromEnv(rt.ai.aiEnv, {
144
- modelEnvVar,
145
- });
137
+ const model = await createAskDbLanguageModelFromEnv(rt.ai.aiEnv);
146
138
  if (!model) {
147
139
  throw new StudioHttpError(400, askDbAiKeyMissingMessage("AI enrichment suggestions"));
148
140
  }
149
141
  const candidates = await suggestEnrichment(buildSuggestionTarget(workspace, source), buildSuggestionContext(workspace, source.tableId), model);
150
142
  return candidates.map((candidate) => ({ text: candidate.text }));
151
143
  }
152
- async function askSampleQuestion(schemaDir, options) {
144
+ async function askSampleQuestion(state, options) {
153
145
  const rt = getAskDbRuntimeConfig();
154
146
  const mockSql = rt.dev.mockSql;
155
147
  const aiConfig = mockSql ? undefined : resolveAskDbAiConfig(rt.ai.aiEnv);
156
148
  if (!mockSql && !aiConfig) {
157
149
  throw new StudioHttpError(400, `${askDbAiKeyMissingMessage("Sample NL-to-SQL generation")} Set ASKDB_MOCK_SQL to bypass the live model.`);
158
150
  }
159
- const schema = loadSchema(schemaDir);
151
+ const schema = loadSchema(state.schemaDir);
160
152
  const retrievedChunks = [];
161
153
  const usage = createRequestUsageCollector();
162
154
  const ragIndex = options.useRag
163
- ? await createCurrentStudioRagIndex(schemaDir, "using RAG for sample generation", usage)
155
+ ? await createCurrentStudioRagIndex(state, "using RAG for sample generation", usage)
164
156
  : undefined;
165
157
  const model = mockSql
166
158
  ? undefined
167
- : (await createAskDbLanguageModelFromEnv(rt.ai.aiEnv, {
168
- modelEnvVar: rt.ai.studioModel ? "ASKDB_STUDIO_MODEL" : undefined,
169
- }));
159
+ : (await createAskDbLanguageModelFromEnv(rt.ai.aiEnv));
160
+ const schemaProvider = "provider" in schema && typeof schema.provider === "string"
161
+ ? schema.provider
162
+ : undefined;
163
+ const dialect = rt.nlToSql.dialect ??
164
+ (schemaProvider && isBuiltInDialectId(schemaProvider) ? schemaProvider : "postgres");
170
165
  const result = await ask({
171
166
  question: options.question,
172
167
  schema,
173
168
  model,
174
- dialect: postgresDialect,
169
+ dialect,
175
170
  explain: true,
176
171
  ...(ragIndex
177
172
  ? {
@@ -181,7 +176,7 @@ async function askSampleQuestion(schemaDir, options) {
181
176
  results = await ragIndex.retriever(params);
182
177
  }
183
178
  catch (error) {
184
- throw formatStudioRagEmbeddingError(error, ragIndex.config);
179
+ throw formatStudioRagOperationError(error, ragIndex.config);
185
180
  }
186
181
  retrievedChunks.splice(0, retrievedChunks.length, ...results);
187
182
  return results;
@@ -198,6 +193,8 @@ async function askSampleQuestion(schemaDir, options) {
198
193
  : {
199
194
  generateText: createTrackedGenerateText(usage),
200
195
  },
196
+ }).finally(async () => {
197
+ await ragIndex?.dispose();
201
198
  });
202
199
  return {
203
200
  sql: result.sql,
@@ -210,87 +207,104 @@ async function askSampleQuestion(schemaDir, options) {
210
207
  usage: usage.toDto(),
211
208
  };
212
209
  }
213
- function getRagStatus(schemaDir) {
210
+ async function getRagStatus(state) {
214
211
  const config = resolveStudioRagEmbedderConfig();
215
- const sources = loadChunkerSourcesFromDir(schemaDir);
212
+ const sources = loadChunkerSourcesFromDir(state.schemaDir);
216
213
  const chunkResult = chunkSchema(sources);
217
- const lockPath = join(schemaDir, "schema.lock.json");
218
- const embeddingsJsonPath = join(schemaDir, "schema.embeddings.json");
219
- const embeddingsBinPath = join(schemaDir, "schema.embeddings.bin");
214
+ const lockPath = join(state.schemaDir, "schema.lock.json");
220
215
  const lock = readOptionalJson(lockPath);
221
- const embeddings = readOptionalJson(embeddingsJsonPath);
222
216
  const currentHashes = Object.fromEntries(chunkResult.chunks.map((chunk) => [chunk.id, chunkContentHash(chunk.text)]));
223
217
  const lockHashes = lock?.hashes ?? {};
224
218
  const hashIds = Object.keys(currentHashes);
225
- const stale = !lock ||
226
- !existsSync(embeddingsJsonPath) ||
227
- !existsSync(embeddingsBinPath) ||
228
- lock.embedderId !== config.embedderId ||
229
- embeddings?.dimensions !== config.dimensions ||
230
- Object.keys(lockHashes).length !== hashIds.length ||
231
- hashIds.some((id) => lockHashes[id] !== currentHashes[id]);
232
- return {
233
- schemaId: sources.schema.schemaId,
234
- embedder: {
235
- kind: config.kind,
236
- label: config.label,
237
- configured: config.configured,
238
- expectedId: config.embedderId,
239
- indexedId: lock?.embedderId ?? null,
240
- provider: config.kind === "ai-sdk" ? config.provider : null,
241
- model: config.kind === "ai-sdk" ? config.model : null,
242
- baseUrl: config.kind === "ai-sdk" ? config.baseUrl ?? null : null,
243
- },
244
- embedderId: lock?.embedderId ?? config.embedderId,
245
- expectedEmbedderId: config.embedderId,
246
- hasIndex: Boolean(lock && existsSync(embeddingsJsonPath) && existsSync(embeddingsBinPath)),
247
- stale,
248
- updatedAt: lock?.updatedAt ?? null,
249
- chunksTotal: chunkResult.chunks.length,
250
- chunksIndexed: Array.isArray(embeddings?.records) ? embeddings.records.length : 0,
251
- dimensions: typeof embeddings?.dimensions === "number" ? embeddings.dimensions : config.dimensions,
252
- expectedDimensions: config.dimensions,
253
- sensitiveExcluded: chunkResult.stats.sensitiveExcluded,
254
- sensitiveIncluded: chunkResult.stats.sensitiveIncluded,
255
- files: {
256
- lock: existsSync(lockPath),
257
- embeddingsJson: existsSync(embeddingsJsonPath),
258
- embeddingsBin: existsSync(embeddingsBinPath),
259
- },
260
- };
219
+ const store = await openStudioRagStore(state, config.dimensions);
220
+ try {
221
+ const chunksIndexed = await countStudioRagStoreChunks(store, sources.schema.schemaId);
222
+ const stale = !lock ||
223
+ lock.embedderId !== config.embedderId ||
224
+ Object.keys(lockHashes).length !== hashIds.length ||
225
+ hashIds.some((id) => lockHashes[id] !== currentHashes[id]) ||
226
+ chunksIndexed !== hashIds.length;
227
+ const fileArtifacts = store.kind === "file" && store.basePath
228
+ ? {
229
+ lock: existsSync(lockPath),
230
+ embeddingsJson: existsSync(`${store.basePath}.embeddings.json`),
231
+ embeddingsBin: existsSync(`${store.basePath}.embeddings.bin`),
232
+ }
233
+ : {
234
+ lock: existsSync(lockPath),
235
+ embeddingsJson: false,
236
+ embeddingsBin: false,
237
+ };
238
+ return {
239
+ schemaId: sources.schema.schemaId,
240
+ store: {
241
+ kind: store.kind,
242
+ basePath: store.basePath ?? null,
243
+ table: store.table ?? null,
244
+ indexStrategy: store.indexStrategy ?? null,
245
+ },
246
+ embedder: {
247
+ kind: config.kind,
248
+ label: config.label,
249
+ configured: config.configured,
250
+ expectedId: config.embedderId,
251
+ indexedId: lock?.embedderId ?? null,
252
+ provider: config.kind === "ai-sdk" ? config.provider : null,
253
+ model: config.kind === "ai-sdk" ? config.model : null,
254
+ baseUrl: config.kind === "ai-sdk" ? config.baseUrl ?? null : null,
255
+ },
256
+ embedderId: lock?.embedderId ?? config.embedderId,
257
+ expectedEmbedderId: config.embedderId,
258
+ hasIndex: Boolean(lock && chunksIndexed > 0),
259
+ stale,
260
+ updatedAt: lock?.updatedAt ?? null,
261
+ chunksTotal: chunkResult.chunks.length,
262
+ chunksIndexed,
263
+ dimensions: config.dimensions,
264
+ expectedDimensions: config.dimensions,
265
+ sensitiveExcluded: chunkResult.stats.sensitiveExcluded,
266
+ sensitiveIncluded: chunkResult.stats.sensitiveIncluded,
267
+ files: fileArtifacts,
268
+ };
269
+ }
270
+ finally {
271
+ await store.dispose();
272
+ }
261
273
  }
262
- async function indexRag(schemaDir) {
274
+ async function indexRag(state) {
263
275
  const config = resolveStudioRagEmbedderConfig();
264
276
  if (!config.configured) {
265
277
  throw new StudioHttpError(400, studioRagAiSdkKeyMissingMessage());
266
278
  }
267
279
  const usage = createRequestUsageCollector();
268
- clearIncompatibleRagStore(schemaDir, config);
269
- const sources = loadChunkerSourcesFromDir(schemaDir);
270
- const store = createFileStore({ basePath: join(schemaDir, "schema") });
280
+ clearIncompatibleRagStore(state, config);
281
+ const sources = loadChunkerSourcesFromDir(state.schemaDir);
282
+ const store = await openStudioRagStore(state, config.dimensions);
271
283
  let result;
272
284
  try {
273
285
  result = await buildSchemaIndex({
274
286
  schema: sources,
275
287
  embedder: await createStudioRagEmbedder(config, usage),
276
- store,
288
+ store: store.store,
277
289
  embedderId: config.embedderId,
278
- lockFilePath: join(schemaDir, "schema.lock.json"),
290
+ lockFilePath: join(state.schemaDir, "schema.lock.json"),
279
291
  });
280
292
  }
281
293
  catch (error) {
282
- throw formatStudioRagEmbeddingError(error, config);
294
+ throw formatStudioRagOperationError(error, config);
295
+ }
296
+ finally {
297
+ await store.dispose();
283
298
  }
284
- store.flush();
285
299
  return {
286
- status: getRagStatus(schemaDir),
300
+ status: await getRagStatus(state),
287
301
  stats: result.stats,
288
302
  usage: usage.toDto(),
289
303
  };
290
304
  }
291
- async function queryRag(schemaDir, query) {
305
+ async function queryRag(state, query) {
292
306
  const usage = createRequestUsageCollector();
293
- const ragIndex = await createCurrentStudioRagIndex(schemaDir, "querying chunks", usage);
307
+ const ragIndex = await createCurrentStudioRagIndex(state, "querying chunks", usage);
294
308
  let results;
295
309
  try {
296
310
  results = await ragIndex.retriever({
@@ -303,7 +317,10 @@ async function queryRag(schemaDir, query) {
303
317
  });
304
318
  }
305
319
  catch (error) {
306
- throw formatStudioRagEmbeddingError(error, ragIndex.config);
320
+ throw formatStudioRagOperationError(error, ragIndex.config);
321
+ }
322
+ finally {
323
+ await ragIndex.dispose();
307
324
  }
308
325
  return {
309
326
  question: query.question,
@@ -312,12 +329,12 @@ async function queryRag(schemaDir, query) {
312
329
  usage: usage.toDto(),
313
330
  };
314
331
  }
315
- async function createCurrentStudioRagIndex(schemaDir, action, usage) {
332
+ async function createCurrentStudioRagIndex(state, action, usage) {
316
333
  const config = resolveStudioRagEmbedderConfig();
317
334
  if (!config.configured) {
318
335
  throw new StudioHttpError(400, studioRagAiSdkKeyMissingMessage());
319
336
  }
320
- const status = getRagStatus(schemaDir);
337
+ const status = (await getRagStatus(state));
321
338
  if (!status.hasIndex) {
322
339
  throw new StudioHttpError(400, `Build the RAG index before ${action}.`);
323
340
  }
@@ -327,6 +344,7 @@ async function createCurrentStudioRagIndex(schemaDir, action, usage) {
327
344
  if (!status.schemaId || typeof status.chunksTotal !== "number") {
328
345
  throw new StudioHttpError(500, "Studio RAG status is missing schema metadata.");
329
346
  }
347
+ const store = await openStudioRagStore(state, config.dimensions);
330
348
  return {
331
349
  config,
332
350
  status: {
@@ -335,10 +353,85 @@ async function createCurrentStudioRagIndex(schemaDir, action, usage) {
335
353
  },
336
354
  retriever: createRetriever({
337
355
  embedder: await createStudioRagEmbedder(config, usage),
338
- store: createFileStore({ basePath: join(schemaDir, "schema") }),
356
+ store: store.store,
339
357
  }),
358
+ dispose: async () => {
359
+ await store.dispose();
360
+ },
361
+ };
362
+ }
363
+ function resolveStudioRagStoreConfig(state) {
364
+ const rt = getAskDbRuntimeConfig();
365
+ const kind = rt.structured.rag.store;
366
+ if (kind === "memory")
367
+ return { kind };
368
+ if (kind === "file") {
369
+ const basePath = rt.structured.rag.storeConfig.file?.basePath?.trim();
370
+ return { kind, basePath: basePath ? resolve(basePath) : join(state.schemaDir, "schema") };
371
+ }
372
+ const connectionString = pickFlat(rt.flat, "ASKDB_PGVECTOR_URL");
373
+ return {
374
+ kind,
375
+ connectionString,
376
+ table: rt.structured.rag.storeConfig.pgvector?.table?.trim() || undefined,
377
+ indexStrategy: pickFlat(rt.flat, "ASKDB_PGVECTOR_INDEX_STRATEGY"),
340
378
  };
341
379
  }
380
+ async function openStudioRagStore(state, dimensions) {
381
+ const config = resolveStudioRagStoreConfig(state);
382
+ if (config.kind === "memory") {
383
+ state.ragMemoryStore ??= createMemoryStore();
384
+ return {
385
+ kind: "memory",
386
+ store: state.ragMemoryStore,
387
+ dispose: async () => { },
388
+ };
389
+ }
390
+ if (config.kind === "file") {
391
+ const store = createFileStore({ basePath: config.basePath });
392
+ return {
393
+ kind: "file",
394
+ store,
395
+ basePath: config.basePath,
396
+ dispose: async () => {
397
+ store.flush();
398
+ },
399
+ };
400
+ }
401
+ if (!config.connectionString) {
402
+ throw new StudioHttpError(400, 'Studio pgvector RAG requires `ASKDB_PGVECTOR_URL` via `askdb.config.ts`.');
403
+ }
404
+ const pgvectorFactory = studioPgvectorStoreFactoryForTests ?? createPgvectorStore;
405
+ const store = pgvectorFactory({
406
+ connectionString: config.connectionString,
407
+ table: config.table,
408
+ dimensions,
409
+ ...(config.indexStrategy ? { indexStrategy: config.indexStrategy } : {}),
410
+ });
411
+ await store.ensureSchema();
412
+ return {
413
+ kind: "pgvector",
414
+ store,
415
+ table: config.table,
416
+ indexStrategy: config.indexStrategy,
417
+ dispose: async () => {
418
+ await store.close();
419
+ },
420
+ };
421
+ }
422
+ async function countStudioRagStoreChunks(store, schemaId) {
423
+ if (typeof store.store.count === "function") {
424
+ return store.store.count({ schemaId });
425
+ }
426
+ if (typeof store.store.size === "function") {
427
+ return store.store.size();
428
+ }
429
+ return 0;
430
+ }
431
+ function pickFlat(flat, key) {
432
+ const value = flat[key];
433
+ return typeof value === "string" && value.trim() !== "" ? value.trim() : undefined;
434
+ }
342
435
  function pickEnv(env, key) {
343
436
  const v = env[key];
344
437
  return typeof v === "string" && v.trim() !== "" ? v.trim() : undefined;
@@ -346,7 +439,7 @@ function pickEnv(env, key) {
346
439
  function resolveStudioRagEmbedderConfig() {
347
440
  const rt = getAskDbRuntimeConfig();
348
441
  const base = rt.ai.aiEnv;
349
- const explicitKind = pickEnv(base, "ASKDB_RAG_EMBEDDER") ?? pickEnv(base, "ASKDB_STUDIO_RAG_EMBEDDER");
442
+ const explicitKind = pickEnv(base, "ASKDB_RAG_EMBEDDER");
350
443
  const kind = explicitKind?.toLowerCase();
351
444
  if (kind === "mock") {
352
445
  return {
@@ -362,7 +455,7 @@ function resolveStudioRagEmbedderConfig() {
362
455
  }
363
456
  const env = buildStudioRagEmbeddingEnv(kind, base);
364
457
  const aiConfig = resolveAskDbEmbeddingConfig(env, {
365
- modelEnvVar: "ASKDB_STUDIO_RAG_EMBEDDER_MODEL",
458
+ modelEnvVar: "ASKDB_RAG_EMBEDDER_MODEL",
366
459
  modelDefault: DEFAULT_EMBEDDING_MODEL,
367
460
  });
368
461
  if (!aiConfig && kind === undefined) {
@@ -376,8 +469,7 @@ function resolveStudioRagEmbedderConfig() {
376
469
  }
377
470
  const provider = aiConfig?.provider ?? fallbackStudioRagProvider(kind, base);
378
471
  const model = aiConfig?.model ?? DEFAULT_EMBEDDING_MODEL;
379
- const dimensionOverride = readPositiveIntegerEnv(pickEnv(base, "ASKDB_RAG_EMBEDDER_DIMENSIONS") ??
380
- pickEnv(base, "ASKDB_STUDIO_RAG_EMBEDDER_DIMENSIONS"));
472
+ const dimensionOverride = readPositiveIntegerEnv(pickEnv(base, "ASKDB_RAG_EMBEDDER_DIMENSIONS"));
381
473
  const dimensions = dimensionOverride ?? defaultEmbeddingDimensions(model);
382
474
  return {
383
475
  kind: "ai-sdk",
@@ -393,14 +485,12 @@ function resolveStudioRagEmbedderConfig() {
393
485
  };
394
486
  }
395
487
  function buildStudioRagEmbeddingEnv(kind, base) {
396
- const apiKeyOverride = pickEnv(base, "ASKDB_RAG_EMBEDDER_API_KEY") ?? pickEnv(base, "ASKDB_STUDIO_RAG_EMBEDDER_API_KEY");
397
- const modelOverride = pickEnv(base, "ASKDB_RAG_EMBEDDER_MODEL") ?? pickEnv(base, "ASKDB_STUDIO_RAG_EMBEDDER_MODEL");
398
- const baseUrlOverride = pickEnv(base, "ASKDB_RAG_EMBEDDER_BASE_URL") ?? pickEnv(base, "ASKDB_STUDIO_RAG_EMBEDDER_BASE_URL");
488
+ const apiKeyOverride = pickEnv(base, "ASKDB_RAG_EMBEDDER_API_KEY");
489
+ const baseUrlOverride = pickEnv(base, "ASKDB_RAG_EMBEDDER_BASE_URL");
399
490
  return {
400
491
  ...base,
401
492
  ...(kind === "openai" ? { ASKDB_AI_PROVIDER: "openai" } : {}),
402
493
  ...(apiKeyOverride ? { ASKDB_AI_API_KEY: apiKeyOverride } : {}),
403
- ...(modelOverride ? { ASKDB_STUDIO_RAG_EMBEDDER_MODEL: modelOverride } : {}),
404
494
  ...(baseUrlOverride ? { ASKDB_AI_BASE_URL: baseUrlOverride } : {}),
405
495
  };
406
496
  }
@@ -437,11 +527,16 @@ async function createStudioRagEmbedder(config, usage) {
437
527
  },
438
528
  });
439
529
  }
440
- function formatStudioRagEmbeddingError(error, config) {
530
+ function formatStudioRagOperationError(error, config) {
531
+ if (error instanceof StudioHttpError)
532
+ return error;
441
533
  if (config.kind === "mock") {
442
534
  return new StudioHttpError(500, error instanceof Error ? error.message : String(error));
443
535
  }
444
536
  const apiError = findApiCallError(error);
537
+ if (!apiError) {
538
+ return new StudioHttpError(500, error instanceof Error ? error.message : String(error));
539
+ }
445
540
  const parts = [
446
541
  `Studio RAG embedding request failed for provider ${config.provider}, model ${config.model}.`,
447
542
  ];
@@ -484,15 +579,18 @@ function truncateForMessage(value) {
484
579
  return undefined;
485
580
  return trimmed.length > 500 ? `${trimmed.slice(0, 500)}...` : trimmed;
486
581
  }
487
- function clearIncompatibleRagStore(schemaDir, config) {
488
- const embeddingsJsonPath = join(schemaDir, "schema.embeddings.json");
582
+ function clearIncompatibleRagStore(state, config) {
583
+ const store = resolveStudioRagStoreConfig(state);
584
+ if (store.kind !== "file")
585
+ return;
586
+ const embeddingsJsonPath = `${store.basePath}.embeddings.json`;
489
587
  const embeddings = readOptionalJson(embeddingsJsonPath);
490
588
  if (embeddings?.dimensions === undefined || embeddings.dimensions === config.dimensions)
491
589
  return;
492
590
  for (const path of [
493
- join(schemaDir, "schema.embeddings.json"),
494
- join(schemaDir, "schema.embeddings.bin"),
495
- join(schemaDir, "schema.lock.json"),
591
+ `${store.basePath}.embeddings.json`,
592
+ `${store.basePath}.embeddings.bin`,
593
+ join(state.schemaDir, "schema.lock.json"),
496
594
  ]) {
497
595
  rmSync(path, { force: true });
498
596
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}