@askdb/studio 0.2.0-beta.40 → 0.2.0-beta.42

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/setup.js CHANGED
@@ -3,10 +3,8 @@ import { existsSync, readFileSync, writeFileSync } from "node:fs";
3
3
  import { createRequire } from "node:module";
4
4
  import { basename, delimiter, dirname, join, resolve, isAbsolute, relative } from "node:path";
5
5
  import { getBuiltinAiProviderSetup } from "@askdb/ai";
6
- import { ASKDB_AI_PROVIDERS, bootstrapAskDbEnv, discoverAskDbConfigPath, getAskDbRuntimeConfig, } from "@askdb/config";
7
- import { renderAskDbAiConfigScaffold } from "@askdb/config/scaffold";
8
- import { formatInstallCommand, lockfilePackageManager, packageManagerAddArgs, packageManagerSpawnSpec, supportedBuildApprovals, } from "./package-manager.js";
9
- import { PRISMA_BUILD_APPROVALS } from "./prisma-install.js";
6
+ import { ASKDB_AI_PROVIDERS, ASKDB_STUDIO_EXECUTE_PROVIDERS, bootstrapAskDbEnv, discoverAskDbConfigPath, getAskDbRuntimeConfig, } from "@askdb/config";
7
+ import { AskDbScaffoldInputError, detectPackageManager, findNearestPackageJsonDir, formatInstallCommand, isLikelyWorkspaceRoot, packageManagerAddArgs, packageManagerSpawnSpec, planAskDbScaffold, supportedBuildApprovals, } from "@askdb/config/scaffold";
10
8
  /**
11
9
  * Key/model env var names to scaffold for a provider, from `@askdb/ai`'s built-in
12
10
  * provider table — the same source `askdb init` uses, so the two cannot drift.
@@ -16,231 +14,94 @@ function aiDefaults(provider) {
16
14
  return undefined;
17
15
  return getBuiltinAiProviderSetup(provider);
18
16
  }
19
- const CONNECTION_ENV_DEFAULTS = {
20
- postgres: "DATABASE_URL",
21
- mysql: "DATABASE_URL",
22
- sqlserver: "DATABASE_URL",
17
+ /** The connection URL variable every live engine defaults to, for introspection and Studio execute. */
18
+ const DEFAULT_CONNECTION_ENV = "DATABASE_URL";
19
+ /** The planner's name for each answer, mapped to this endpoint's field, for errors. */
20
+ const SETUP_FIELDS = {
21
+ connectionEnv: "connectionEnv",
22
+ sqliteFile: "sqliteFile",
23
+ prismaSchemaPath: "prismaSchema",
24
+ schemaOut: "schemaOut",
25
+ "ai.provider": "aiProvider",
26
+ "ai.keyEnv": "aiKeyEnv",
27
+ "ai.modelEnv": "aiModelEnv",
28
+ "rag.store": "ragStore",
29
+ "rag.pgvectorEnv": "pgvectorEnv",
30
+ "studioExecute.provider": "studioExecuteProvider",
31
+ "studioExecute.connectionEnv": "studioExecuteConnectionEnv",
32
+ "studioExecute.sqliteFile": "studioExecuteSqliteFile",
23
33
  };
24
- const EXECUTE_CONNECTION_ENV_DEFAULTS = {
25
- postgres: "DATABASE_URL",
26
- mysql: "DATABASE_URL",
27
- sqlserver: "DATABASE_URL",
28
- };
29
- const EXECUTE_PROVIDERS = ["postgres", "mysql", "sqlite", "sqlserver"];
30
- const ENV_NAME_PATTERN = /^[A-Z][A-Z0-9_]*$/;
31
- // C0 controls, DEL, and the JS line/paragraph separators — never legitimate in a project path.
32
- const CONTROL_CHAR_PATTERN = /[\u0000-\u001f\u007f\u2028\u2029]/;
33
34
  /**
34
- * Render a value as a TypeScript string literal for the generated
35
- * `askdb.config.ts`. Every interpolated value goes through this — the file is
36
- * later executed (via jiti) by Studio and the CLI, so a raw `"${value}"` would
37
- * let a quote in a path inject code.
35
+ * The request as the planner in `@askdb/config/scaffold` takes it, with Studio's defaults
36
+ * filled in. Paths must stay inside the project; SQLite files are always paths.
38
37
  */
39
- function tsString(value) {
40
- return JSON.stringify(value);
38
+ function scaffoldAnswers(input) {
39
+ const executeProvider = input.studioExecuteProvider ??
40
+ (ASKDB_STUDIO_EXECUTE_PROVIDERS.includes(input.database)
41
+ ? input.database
42
+ : undefined);
43
+ return {
44
+ database: input.database,
45
+ connectionEnv: trimmed(input.connectionEnv) ?? DEFAULT_CONNECTION_ENV,
46
+ sqliteFile: { path: relativePath(input.sqliteFile ?? "./data.db", "sqliteFile") },
47
+ ...(input.prismaSchema ? { prismaSchemaPath: relativePath(input.prismaSchema, "prismaSchema") } : {}),
48
+ schemaOut: relativePath(input.schemaOut ?? "./askdb", "schemaOut"),
49
+ ai: {
50
+ provider: input.aiProvider,
51
+ keyEnv: trimmed(input.aiKeyEnv) ?? aiDefaults(input.aiProvider)?.keyEnv ?? "",
52
+ ...(input.aiModelEnv ? { modelEnv: input.aiModelEnv.trim() } : {}),
53
+ },
54
+ rag: { store: input.ragStore ?? "file", pgvectorEnv: trimmed(input.pgvectorEnv) ?? "ASKDB_PGVECTOR_URL" },
55
+ ...(input.studioExecute
56
+ ? {
57
+ studioExecute: {
58
+ provider: executeProvider,
59
+ connectionEnv: trimmed(input.studioExecuteConnectionEnv) ?? DEFAULT_CONNECTION_ENV,
60
+ sqliteFile: {
61
+ path: relativePath(input.studioExecuteSqliteFile ?? input.sqliteFile ?? "./data.db", "studioExecuteSqliteFile"),
62
+ },
63
+ },
64
+ }
65
+ : {}),
66
+ };
41
67
  }
42
- const DB_URL_PLACEHOLDER = {
43
- postgres: "postgresql://<USERNAME>:<PASSWORD>@<DATABASE_HOST>:<DATABASE_PORT>/<DATABASE_NAME>",
44
- mysql: "mysql://<USERNAME>:<PASSWORD>@<DATABASE_HOST>:<DATABASE_PORT>/<DATABASE_NAME>",
45
- sqlserver: "Data Source=<DATABASE_HOST>,<DATABASE_PORT>;Initial Catalog=<DATABASE_NAME>;User ID=<USERNAME>;Password=<PASSWORD>;Trust Server Certificate=True;Authentication=SqlPassword;",
46
- };
47
- /** Live-introspection driver per engine — mirrors `DB_DRIVER_PACKAGES` in `apps/cli/src/init.ts`. */
48
- const DB_DRIVER_PACKAGES = {
49
- postgres: "pg",
50
- mysql: "mysql2",
51
- sqlite: "better-sqlite3",
52
- sqlserver: "mssql",
53
- };
54
- function pushEnvVar(envVars, entry) {
55
- if (envVars.some((v) => v.name === entry.name))
56
- return;
57
- envVars.push(entry);
68
+ function trimmed(value) {
69
+ return value === undefined ? undefined : value.trim();
58
70
  }
59
- /** Mirrors `renderRagSection` in `apps/cli/src/init.ts` — keep the two in sync. */
60
- function renderRagSection(ragStore, pgvectorEnv) {
61
- switch (ragStore) {
62
- case "file":
63
- return ` rag: {
64
- embedder: "mock",
65
- store: "file",
66
- storeConfig: { file: {} },
67
- },`;
68
- case "memory":
69
- return ` rag: {
70
- embedder: "mock",
71
- store: "memory",
72
- storeConfig: { memory: {} },
73
- },`;
74
- case "pgvector":
75
- return ` rag: {
76
- embedder: "mock",
77
- store: "pgvector",
78
- storeConfig: {
79
- pgvector: {
80
- databaseUrl: env(${tsString(pgvectorEnv ?? "ASKDB_PGVECTOR_URL")}),
81
- },
82
- },
83
- },`;
71
+ /** The new project's files and installs, or a 400 that names the request field at fault. */
72
+ function planSetup(input) {
73
+ try {
74
+ return planAskDbScaffold(scaffoldAnswers(input), { config: resolveConfigSpec(), prisma: resolvePrismaSpec() });
75
+ }
76
+ catch (error) {
77
+ if (!(error instanceof AskDbScaffoldInputError))
78
+ throw error;
79
+ throw new SetupError(400, `\`${SETUP_FIELDS[error.field] ?? error.field}\` ${error.reason}`);
84
80
  }
85
81
  }
86
82
  /**
87
83
  * Write `askdb.config.ts` (and `.env.example`) into `cwd`. Accepts env var
88
84
  * NAMES only — secret values never travel through this endpoint. Refuses to
89
- * overwrite an existing config. Templates mirror `askdb init`'s output.
85
+ * overwrite an existing config. The files come from the same planner as `askdb init`'s.
90
86
  */
91
87
  export function writeSetupConfig(cwd, input) {
92
88
  const existing = discoverAskDbConfigPath(cwd);
93
89
  if (existing) {
94
90
  throw new SetupError(409, `A config already exists at ${existing}. Edit it directly instead.`);
95
91
  }
96
- const schemaOut = validateRelativePath(input.schemaOut ?? "./askdb", "schemaOut");
97
- // `aiDefaults` only accepts ids listed in `ASKDB_AI_PROVIDERS`, so `constructor`/`__proto__`
98
- // can't masquerade as a provider — the provider name is emitted as an object key in the
99
- // generated config.
100
- const providerDefaults = aiDefaults(input.aiProvider);
101
- if (!providerDefaults)
102
- throw new SetupError(400, `Unknown AI provider: ${JSON.stringify(input.aiProvider)}`);
103
- const aiKeyEnv = validateEnvName(input.aiKeyEnv ?? providerDefaults.keyEnv, "aiKeyEnv");
104
- const aiModelEnv = input.aiModelEnv ? validateEnvName(input.aiModelEnv, "aiModelEnv") : undefined;
105
- // The `ai` block comes from `@askdb/config/scaffold`, shared with `askdb init`.
106
- const aiScaffold = renderAskDbAiConfigScaffold({
107
- provider: input.aiProvider,
108
- keyEnv: aiKeyEnv,
109
- ...(aiModelEnv ? { modelEnv: aiModelEnv } : {}),
110
- });
111
- const envVars = aiScaffold.envVars.map((v) => ({
112
- ...v,
113
- requiredForIntrospection: false,
114
- }));
115
- let introspectionSection;
116
- switch (input.database) {
117
- case "postgres":
118
- case "mysql":
119
- case "sqlserver": {
120
- const connectionEnv = validateEnvName(input.connectionEnv ?? CONNECTION_ENV_DEFAULTS[input.database], "connectionEnv");
121
- envVars.push({
122
- name: connectionEnv,
123
- purpose: `${input.database} connection URL (introspection only)`,
124
- requiredForIntrospection: true,
125
- exampleValue: DB_URL_PLACEHOLDER[input.database],
126
- });
127
- introspectionSection = ` introspection: {
128
- provider: ${tsString(input.database)},
129
- providerConfig: {
130
- ${input.database}: {
131
- databaseUrl: env(${tsString(connectionEnv)}),
132
- },
133
- },
134
- outputDir: ${tsString(schemaOut)},
135
- },`;
136
- break;
137
- }
138
- case "sqlite": {
139
- const file = validateRelativePath(input.sqliteFile ?? "./data.db", "sqliteFile");
140
- introspectionSection = ` introspection: {
141
- provider: "sqlite",
142
- providerConfig: {
143
- sqlite: {
144
- file: ${tsString(file)},
145
- },
146
- },
147
- outputDir: ${tsString(schemaOut)},
148
- },`;
149
- break;
150
- }
151
- case "prisma": {
152
- const schemaLine = input.prismaSchema
153
- ? `\n schemaPath: ${tsString(validateRelativePath(input.prismaSchema, "prismaSchema"))},`
154
- : "";
155
- introspectionSection = ` introspection: {
156
- provider: "prisma",
157
- providerConfig: {
158
- prisma: {${schemaLine}
159
- },
160
- },
161
- outputDir: ${tsString(schemaOut)},
162
- },`;
163
- break;
164
- }
165
- default:
166
- throw new SetupError(400, `Unknown database: ${String(input.database)}`);
167
- }
168
- const ragStore = input.ragStore ?? "file";
169
- let pgvectorEnv;
170
- if (ragStore === "pgvector") {
171
- pgvectorEnv = validateEnvName(input.pgvectorEnv ?? "ASKDB_PGVECTOR_URL", "pgvectorEnv");
172
- pushEnvVar(envVars, {
173
- name: pgvectorEnv,
174
- purpose: "pgvector connection URL",
175
- requiredForIntrospection: false,
176
- exampleValue: "postgresql://<USERNAME>:<PASSWORD>@<DATABASE_HOST>:<DATABASE_PORT>/<DATABASE_NAME>",
177
- });
178
- }
179
- const ragSection = renderRagSection(ragStore, pgvectorEnv);
180
- let studioSection = null;
181
- let studioExecuteProvider;
182
- if (input.studioExecute) {
183
- studioExecuteProvider =
184
- input.studioExecuteProvider ?? (input.database !== "prisma" ? input.database : undefined);
185
- if (!studioExecuteProvider) {
186
- throw new SetupError(400, "`studioExecuteProvider` is required when `studioExecute` is enabled and `database` is \"prisma\".");
187
- }
188
- if (!EXECUTE_PROVIDERS.includes(studioExecuteProvider)) {
189
- throw new SetupError(400, `Unknown studioExecuteProvider: ${JSON.stringify(studioExecuteProvider)}`);
190
- }
191
- if (studioExecuteProvider === "sqlite") {
192
- const file = validateRelativePath(input.studioExecuteSqliteFile ?? input.sqliteFile ?? "./data.db", "studioExecuteSqliteFile");
193
- studioSection = ` studio: {
194
- execute: {
195
- enabled: true,
196
- provider: "sqlite",
197
- file: ${tsString(file)},
198
- },
199
- },`;
200
- }
201
- else {
202
- const execConnectionEnv = validateEnvName(input.studioExecuteConnectionEnv ?? EXECUTE_CONNECTION_ENV_DEFAULTS[studioExecuteProvider], "studioExecuteConnectionEnv");
203
- pushEnvVar(envVars, {
204
- name: execConnectionEnv,
205
- purpose: `${studioExecuteProvider} connection URL (Studio execute)`,
206
- requiredForIntrospection: false,
207
- exampleValue: DB_URL_PLACEHOLDER[studioExecuteProvider],
208
- });
209
- studioSection = ` studio: {
210
- execute: {
211
- enabled: true,
212
- provider: ${tsString(studioExecuteProvider)},
213
- databaseUrl: env(${tsString(execConnectionEnv)}),
214
- },
215
- },`;
216
- }
217
- }
218
- const sections = [aiScaffold.source, introspectionSection, ragSection, studioSection].filter((s) => s !== null);
219
- const config = `import { defineConfig, env, type AskDbConfig } from "@askdb/config";
220
-
221
- export default defineConfig({
222
- ${sections.join("\n")}
223
- } satisfies AskDbConfig);
224
- `;
92
+ const plan = planSetup(input);
225
93
  const configPath = join(cwd, "askdb.config.ts");
226
- writeFileSync(configPath, config, "utf8");
94
+ writeFileSync(configPath, plan.configSource, "utf8");
227
95
  let envExamplePath = join(cwd, ".env.example");
228
96
  if (existsSync(envExamplePath)) {
229
97
  envExamplePath = null; // don't clobber an existing example file
230
98
  }
231
99
  else {
232
- const example = [
233
- "# AskDB environment — copy to .env and fill in real values.",
234
- "# .env is read by Studio, the CLI, and the HTTP API; never commit it.",
235
- ...envVars.map((v) => v.exampleValue ? `${v.name}=${v.exampleValue}` : `${v.name}= # ${v.purpose}`),
236
- "",
237
- ].join("\n");
238
- writeFileSync(envExamplePath, example, "utf8");
100
+ writeFileSync(envExamplePath, plan.envExample, "utf8");
239
101
  }
240
102
  // The config imports `@askdb/config`, so the project needs it (plus the
241
- // live-introspection driver and, if enabled, the Studio execute driver)
242
- // installed — same as `askdb init` does.
243
- const deps = ensureProjectDependencies(cwd, input.database, studioExecuteProvider);
103
+ // live-introspection driver and, if enabled, the Studio execute driver).
104
+ const deps = ensureProjectDependencies(cwd, plan.install);
244
105
  // Install the runtime snapshot from the file we just wrote so the rest of
245
106
  // the server (and the introspection step) sees the new config immediately.
246
107
  // Skipped when dependencies are still missing, or when the config can't
@@ -258,47 +119,23 @@ ${sections.join("\n")}
258
119
  return {
259
120
  configPath,
260
121
  envExamplePath,
261
- envVars,
122
+ envVars: plan.envVars,
262
123
  installed: deps.installed,
263
124
  manualInstallCommand: deps.manualInstallCommand,
264
125
  packageJsonCreated: deps.packageJsonCreated,
265
126
  };
266
127
  }
267
128
  /**
268
- * Make sure the project can load the config we just wrote: `@askdb/config` +
269
- * `dotenv` must be resolvable from the project, and live engines need their
270
- * introspection driver. Mirrors `askdb init`'s install plan. Falls back to a
271
- * manual command when the project looks like a workspace root or the install
272
- * fails — never mutates a monorepo root implicitly.
129
+ * Make sure the project can load the config we just wrote: install the plan's packages
130
+ * it doesn't have yet. Falls back to a manual command when the project looks like a
131
+ * workspace root or the install fails — never mutates a monorepo root implicitly.
273
132
  */
274
- function ensureProjectDependencies(cwd, database, studioExecuteProvider) {
275
- const missing = [];
276
- if (!isInstalledFor(cwd, "@askdb/config")) {
277
- missing.push(`@askdb/config@${resolveConfigSpec()}`);
278
- }
279
- const allowBuilds = [];
280
- // `@askdb/prisma` is an optional peer of Studio (#259). It depends on Prisma, whose
281
- // `@prisma/engines` postinstall pnpm 11 refuses to run until it's approved, and then
282
- // exits 1. A Prisma project approves it anyway, so the install does it here.
283
- // `askdb init` does the same (`apps/cli/src/init.ts`).
284
- if (database === "prisma" && !isInstalledFor(cwd, "@askdb/prisma")) {
285
- missing.push(`@askdb/prisma@${resolvePrismaSpec()}`);
286
- allowBuilds.push(...PRISMA_BUILD_APPROVALS);
287
- }
288
- const driversNeeded = new Set();
289
- if (DB_DRIVER_PACKAGES[database])
290
- driversNeeded.add(database);
291
- if (studioExecuteProvider && DB_DRIVER_PACKAGES[studioExecuteProvider])
292
- driversNeeded.add(studioExecuteProvider);
293
- for (const db of driversNeeded) {
294
- const driver = DB_DRIVER_PACKAGES[db];
295
- if (driver && !isInstalledFor(cwd, driver) && !missing.includes(driver)) {
296
- missing.push(driver);
297
- }
298
- }
133
+ function ensureProjectDependencies(cwd, install) {
134
+ const missing = install.packages.filter((spec) => !isInstalledFor(cwd, packageNameOf(spec)));
299
135
  if (missing.length === 0) {
300
136
  return { installed: null, manualInstallCommand: null, packageJsonCreated: false };
301
137
  }
138
+ const { allowBuilds } = install;
302
139
  let packageJsonCreated = false;
303
140
  const nearestPkgDir = findNearestPackageJsonDir(cwd);
304
141
  if (!nearestPkgDir) {
@@ -401,49 +238,11 @@ function resolvePrismaSpec() {
401
238
  return "latest";
402
239
  }
403
240
  }
404
- function findNearestPackageJsonDir(startDir) {
405
- let dir = resolve(startDir);
406
- for (let i = 0; i < 40; i += 1) {
407
- if (existsSync(join(dir, "package.json")))
408
- return dir;
409
- const parent = dirname(dir);
410
- if (parent === dir)
411
- return undefined;
412
- dir = parent;
413
- }
414
- return undefined;
415
- }
416
- function isLikelyWorkspaceRoot(packageDir) {
417
- if (existsSync(join(packageDir, "pnpm-workspace.yaml")) ||
418
- existsSync(join(packageDir, "pnpm-workspace.yml"))) {
419
- return true;
420
- }
421
- try {
422
- const pkg = JSON.parse(readFileSync(join(packageDir, "package.json"), "utf8"));
423
- return pkg.workspaces !== undefined && pkg.workspaces !== null;
424
- }
425
- catch {
426
- return false;
427
- }
428
- }
429
241
  let setupInstallerForTests;
430
242
  /** @internal Tests only — replaces the real package-manager install. */
431
243
  export function setSetupInstallerForTests(installer) {
432
244
  setupInstallerForTests = installer;
433
245
  }
434
- function detectPackageManager(packageDir) {
435
- let dir = packageDir;
436
- for (let i = 0; i < 40; i += 1) {
437
- const pm = lockfilePackageManager(dir);
438
- if (pm)
439
- return pm;
440
- const parent = dirname(dir);
441
- if (parent === dir)
442
- break;
443
- dir = parent;
444
- }
445
- return "npm";
446
- }
447
246
  function runInstall(pm, packageDir, packages, allowBuilds) {
448
247
  const env = { ...process.env, CI: process.env.CI ?? "true" };
449
248
  try {
@@ -483,22 +282,18 @@ export function probeSetupState(cwd) {
483
282
  };
484
283
  }
485
284
  }
486
- function validateEnvName(name, field) {
487
- const trimmed = name.trim();
488
- if (!ENV_NAME_PATTERN.test(trimmed)) {
489
- throw new SetupError(400, `\`${field}\` must be an environment variable NAME like DATABASE_URL (got: ${JSON.stringify(name)}). Values belong in .env, not here.`);
490
- }
491
- return trimmed;
492
- }
493
- function validateRelativePath(path, field) {
494
- const trimmed = path.trim();
495
- if (trimmed === "" ||
496
- isAbsolute(trimmed) ||
497
- relative(".", trimmed).startsWith("..") ||
498
- CONTROL_CHAR_PATTERN.test(trimmed)) {
285
+ /** Studio writes only inside the project: a path must be relative and stay below it. */
286
+ function relativePath(path, field) {
287
+ const trimmedPath = path.trim();
288
+ if (trimmedPath === "" || isAbsolute(trimmedPath) || relative(".", trimmedPath).startsWith("..")) {
499
289
  throw new SetupError(400, `\`${field}\` must be a relative path inside the project (got: ${JSON.stringify(path)}).`);
500
290
  }
501
- return trimmed;
291
+ return trimmedPath;
292
+ }
293
+ /** `@askdb/config` from `@askdb/config@1.0.0`, `pg` from `pg`. */
294
+ function packageNameOf(spec) {
295
+ const at = spec.indexOf("@", 1);
296
+ return at === -1 ? spec : spec.slice(0, at);
502
297
  }
503
298
  export class SetupError extends Error {
504
299
  status;
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdb/studio",
3
- "version": "0.2.0-beta.40",
3
+ "version": "0.2.0-beta.42",
4
4
  "description": "AskDB Studio: local browser UI for Schema v2 enrichment and sample NL-to-SQL checks.",
5
5
  "keywords": [
6
6
  "askdb",
@@ -51,19 +51,20 @@
51
51
  "@ai-sdk/google": "^4.0.109",
52
52
  "@ai-sdk/openai": "^4.0.106",
53
53
  "@askdb/ai": "0.1.0-beta.10",
54
- "@askdb/config": "1.0.0-beta.16",
55
- "@askdb/core": "1.0.0-beta.47",
56
- "@askdb/enrich": "0.2.0-beta.18",
57
- "@askdb/introspect": "0.3.0-beta.21",
58
- "@askdb/mysql": "0.1.0-beta.22",
59
- "@askdb/postgres": "0.2.0-beta.23",
60
- "@askdb/rag": "0.2.0-beta.27",
61
- "@askdb/sqlite": "0.1.0-beta.22",
62
- "@askdb/sqlserver": "0.1.0-beta.23",
63
- "ai": "^7.0.51"
54
+ "@askdb/config": "1.0.0-beta.18",
55
+ "@askdb/core": "1.0.0-beta.49",
56
+ "@askdb/enrich": "0.2.0-beta.20",
57
+ "@askdb/introspect": "0.3.0-beta.23",
58
+ "@askdb/mysql": "0.1.0-beta.24",
59
+ "@askdb/postgres": "0.2.0-beta.25",
60
+ "@askdb/rag": "0.2.0-beta.29",
61
+ "@askdb/sqlite": "0.1.0-beta.24",
62
+ "@askdb/sqlserver": "0.1.0-beta.25",
63
+ "ai": "^7.0.51",
64
+ "zod": "^4.6.7"
64
65
  },
65
66
  "peerDependencies": {
66
- "@askdb/prisma": "^0.2.0-beta.21",
67
+ "@askdb/prisma": "^0.2.0-beta.23",
67
68
  "better-sqlite3": ">=12",
68
69
  "mssql": ">=12",
69
70
  "mysql2": ">=3",
@@ -87,16 +88,16 @@
87
88
  }
88
89
  },
89
90
  "devDependencies": {
90
- "@askdb/prisma": "0.2.0-beta.21",
91
+ "@askdb/prisma": "0.2.0-beta.23",
91
92
  "@eslint/js": "^10.0.1",
92
93
  "@tailwindcss/vite": "^4.3.3",
93
- "@types/better-sqlite3": "^7.6.13",
94
+ "@types/better-sqlite3": "^9.6.0",
94
95
  "@types/mssql": "^12.3.0",
95
96
  "@types/pg": "^8.23.1",
96
97
  "@types/react": "^19.3.0",
97
98
  "@types/react-dom": "^19.3.0",
98
99
  "@vitejs/plugin-react": "^6.1.2",
99
- "better-sqlite3": "^12.11.1",
100
+ "better-sqlite3": "^13.0.3",
100
101
  "class-variance-authority": "^0.7.1",
101
102
  "clsx": "^2.1.1",
102
103
  "eslint": "^10.14.0",