askdb 1.0.0-beta.42 → 1.0.0-beta.44

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/init.js CHANGED
@@ -3,40 +3,72 @@ import { existsSync, readFileSync, writeFileSync } from "node:fs";
3
3
  import { createRequire } from "node:module";
4
4
  import { dirname, join, resolve } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
+ import { getBuiltinAiProviderSetup, listBuiltinAiProviderSetups } from "@askdb/ai";
7
+ import { ASKDB_AI_PROVIDERS } from "@askdb/config";
8
+ import { renderAskDbAiConfigScaffold } from "@askdb/config/scaffold";
6
9
  const DEFAULT_CONFIG_PATH = "askdb.config.ts";
7
10
  // ---------------------------------------------------------------------------
8
11
  // Config rendering
9
12
  // ---------------------------------------------------------------------------
10
- /** AI provider defaults for key/model env vars */
11
- const AI_DEFAULTS = {
12
- openai: { keyEnv: "OPENAI_API_KEY", modelEnv: "OPENAI_MODEL", modelField: "model" },
13
- anthropic: { keyEnv: "ANTHROPIC_API_KEY", modelEnv: "ANTHROPIC_MODEL", modelField: "model" },
14
- google: { keyEnv: "GOOGLE_GENERATIVE_AI_API_KEY", modelEnv: "GOOGLE_GENERATIVE_AI_MODEL", modelField: "model" },
15
- azure: { keyEnv: "AZURE_OPENAI_API_KEY", modelEnv: "AZURE_OPENAI_DEPLOYMENT", modelField: "model" },
16
- foundry: { keyEnv: "AZURE_OPENAI_API_KEY", modelEnv: "AZURE_OPENAI_DEPLOYMENT", modelField: "model" },
17
- };
18
- function renderAiSection(answers) {
19
- const { aiProvider, aiKeyEnv, aiModelEnv } = answers;
20
- const modelLine = aiModelEnv ? `\n ${AI_DEFAULTS[aiProvider].modelField}: env("${aiModelEnv}"),` : "";
21
- return ` ai: {
22
- provider: "${aiProvider}",
23
- providerConfig: {
24
- ${aiProvider}: {
25
- apiKey: env("${aiKeyEnv}"),${modelLine}
26
- },
27
- },
28
- },`;
13
+ /**
14
+ * Selectable AI providers, in `@askdb/ai`'s built-in table order: every id that has an
15
+ * `askdb.config.*` branch (`ASKDB_AI_PROVIDERS`), with the key/model env var names to
16
+ * scaffold. Derived from `@askdb/ai`'s `BUILTIN_AI_PROVIDERS` so it cannot drift.
17
+ */
18
+ const AI_PROVIDER_SETUPS = listBuiltinAiProviderSetups(ASKDB_AI_PROVIDERS);
19
+ /** Every id `--ai-provider` accepts; `cli.ts` builds its help text from this list too. */
20
+ export const VALID_AI_PROVIDERS = AI_PROVIDER_SETUPS.map((setup) => setup.id);
21
+ function aiDefaults(provider) {
22
+ const setup = getBuiltinAiProviderSetup(provider);
23
+ if (!setup)
24
+ throw new Error(`askdb init: "${provider}" is not a built-in AI provider.`);
25
+ return setup;
26
+ }
27
+ /**
28
+ * Render a value as a TypeScript string literal for the generated config.
29
+ * Every interpolated value goes through this — the file is later executed
30
+ * (via jiti), so a raw `"${value}"` would let a quote in a path inject code.
31
+ * Mirrors `tsString` in `apps/studio/src/setup.ts`.
32
+ */
33
+ function tsString(value) {
34
+ return JSON.stringify(value);
35
+ }
36
+ /** An env var name as `--sqlite-file` accepts one, e.g. `SQLITE_FILE`. Anything else is a path. */
37
+ const ENV_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
38
+ /**
39
+ * The env var a SQLite `file` setting reads, or `undefined` when it's a literal
40
+ * path (`data.db`, `../db/app.db`, `/srv/app.db`, …). Only an env-name-shaped value
41
+ * is a variable. No value means the `SQLITE_FILE` default. Rendering, the
42
+ * `.env.example`, and the printed variable list all go through this.
43
+ */
44
+ function sqliteFileEnv(file) {
45
+ if (!file)
46
+ return "SQLITE_FILE";
47
+ return ENV_NAME_PATTERN.test(file) ? file : undefined;
48
+ }
49
+ /**
50
+ * The `ai` block and the env vars it reads, from `@askdb/config/scaffold` (shared with
51
+ * Studio's setup wizard, so provider-specific fields such as Azure's
52
+ * `resourceName` live in one place).
53
+ */
54
+ function aiScaffold(answers) {
55
+ return renderAskDbAiConfigScaffold({
56
+ provider: answers.aiProvider,
57
+ keyEnv: answers.aiKeyEnv,
58
+ ...(answers.aiModelEnv ? { modelEnv: answers.aiModelEnv } : {}),
59
+ });
29
60
  }
30
61
  function renderIntrospectionSection(answers) {
31
62
  const { database, connectionEnv, sqliteFile, prismaSchema, schemaOut } = answers;
32
- const outputDirLine = `\n outputDir: "${schemaOut}",`;
63
+ const outputDirLine = `\n outputDir: ${tsString(schemaOut)},`;
64
+ const connectionEnvExpr = `env(${tsString(connectionEnv ?? "DATABASE_URL")})`;
33
65
  switch (database) {
34
66
  case "postgres":
35
67
  return ` introspection: {
36
68
  provider: "postgres",
37
69
  providerConfig: {
38
70
  postgres: {
39
- databaseUrl: env("${connectionEnv ?? "DATABASE_URL"}"),
71
+ databaseUrl: ${connectionEnvExpr},
40
72
  },
41
73
  },${outputDirLine}
42
74
  },`;
@@ -45,17 +77,13 @@ function renderIntrospectionSection(answers) {
45
77
  provider: "mysql",
46
78
  providerConfig: {
47
79
  mysql: {
48
- databaseUrl: env("${connectionEnv ?? "DATABASE_URL"}"),
80
+ databaseUrl: ${connectionEnvExpr},
49
81
  },
50
82
  },${outputDirLine}
51
83
  },`;
52
84
  case "sqlite": {
53
- const fileExpr = sqliteFile && !sqliteFile.startsWith("./") && !sqliteFile.startsWith("/")
54
- ? `env("${sqliteFile}")`
55
- : `env("SQLITE_FILE")`;
56
- const resolvedFile = sqliteFile && (sqliteFile.startsWith("./") || sqliteFile.startsWith("/"))
57
- ? `"${sqliteFile}"`
58
- : fileExpr;
85
+ const fileEnv = sqliteFileEnv(sqliteFile);
86
+ const resolvedFile = fileEnv ? `env(${tsString(fileEnv)})` : tsString(sqliteFile);
59
87
  return ` introspection: {
60
88
  provider: "sqlite",
61
89
  providerConfig: {
@@ -70,12 +98,12 @@ function renderIntrospectionSection(answers) {
70
98
  provider: "sqlserver",
71
99
  providerConfig: {
72
100
  sqlserver: {
73
- databaseUrl: env("${connectionEnv ?? "DATABASE_URL"}"),
101
+ databaseUrl: ${connectionEnvExpr},
74
102
  },
75
103
  },${outputDirLine}
76
104
  },`;
77
105
  case "prisma": {
78
- const schemaLine = prismaSchema ? `\n schemaPath: "${prismaSchema}",` : "";
106
+ const schemaLine = prismaSchema ? `\n schemaPath: ${tsString(prismaSchema)},` : "";
79
107
  return ` introspection: {
80
108
  provider: "prisma",
81
109
  providerConfig: {
@@ -92,7 +120,6 @@ function renderRagSection(answers) {
92
120
  case "file":
93
121
  return ` rag: {
94
122
  embedder: "mock",
95
- embedderConfig: {},
96
123
  store: "file",
97
124
  storeConfig: {
98
125
  file: {},
@@ -101,7 +128,6 @@ function renderRagSection(answers) {
101
128
  case "memory":
102
129
  return ` rag: {
103
130
  embedder: "mock",
104
- embedderConfig: {},
105
131
  store: "memory",
106
132
  storeConfig: {
107
133
  memory: {},
@@ -110,11 +136,10 @@ function renderRagSection(answers) {
110
136
  case "pgvector":
111
137
  return ` rag: {
112
138
  embedder: "mock",
113
- embedderConfig: {},
114
139
  store: "pgvector",
115
140
  storeConfig: {
116
141
  pgvector: {
117
- databaseUrl: env("${pgvectorEnv ?? "ASKDB_PGVECTOR_URL"}"),
142
+ databaseUrl: env(${tsString(pgvectorEnv ?? "ASKDB_PGVECTOR_URL")}),
118
143
  },
119
144
  },
120
145
  },`;
@@ -126,11 +151,11 @@ function renderStudioSection(answers) {
126
151
  return null;
127
152
  const { provider } = studioExecute;
128
153
  if (provider === "sqlite") {
129
- const fileExpr = studioExecute.sqliteFile && (studioExecute.sqliteFile.startsWith("./") || studioExecute.sqliteFile.startsWith("/"))
130
- ? `"${studioExecute.sqliteFile}"`
131
- : `env("${studioExecute.sqliteFile ?? "SQLITE_FILE"}")`;
154
+ const fileEnv = sqliteFileEnv(studioExecute.sqliteFile);
155
+ const fileExpr = fileEnv ? `env(${tsString(fileEnv)})` : tsString(studioExecute.sqliteFile);
132
156
  return ` studio: {
133
157
  execute: {
158
+ enabled: true,
134
159
  provider: "sqlite",
135
160
  file: ${fileExpr},
136
161
  },
@@ -139,14 +164,15 @@ function renderStudioSection(answers) {
139
164
  const urlEnv = studioExecute.connectionEnv ?? "DATABASE_URL";
140
165
  return ` studio: {
141
166
  execute: {
142
- provider: "${provider}",
143
- databaseUrl: env("${urlEnv}"),
167
+ enabled: true,
168
+ provider: ${tsString(provider)},
169
+ databaseUrl: env(${tsString(urlEnv)}),
144
170
  },
145
171
  },`;
146
172
  }
147
173
  export function renderInitConfig(answers) {
148
174
  const sections = [
149
- renderAiSection(answers),
175
+ aiScaffold(answers).source,
150
176
  renderIntrospectionSection(answers),
151
177
  renderRagSection(answers),
152
178
  ];
@@ -163,7 +189,7 @@ ${sections.join("\n")}
163
189
  export function resolveDefaultInitAnswers(overrides = {}) {
164
190
  const database = overrides.database ?? "postgres";
165
191
  const aiProvider = overrides.aiProvider ?? "openai";
166
- const aiDefaults = AI_DEFAULTS[aiProvider];
192
+ const providerDefaults = aiDefaults(aiProvider);
167
193
  let connectionEnv = overrides.connectionEnv;
168
194
  if (!connectionEnv) {
169
195
  connectionEnv = database === "sqlite" ? undefined : "DATABASE_URL";
@@ -190,8 +216,8 @@ export function resolveDefaultInitAnswers(overrides = {}) {
190
216
  prismaSchema: overrides.prismaSchema,
191
217
  schemaOut: overrides.schemaOut ?? "./askdb",
192
218
  aiProvider,
193
- aiKeyEnv: overrides.aiKeyEnv ?? aiDefaults.keyEnv,
194
- aiModelEnv: overrides.aiModelEnv ?? aiDefaults.modelEnv,
219
+ aiKeyEnv: overrides.aiKeyEnv ?? providerDefaults.keyEnv,
220
+ aiModelEnv: overrides.aiModelEnv ?? providerDefaults.modelEnv,
195
221
  ragStore: overrides.ragStore ?? "file",
196
222
  pgvectorEnv: overrides.pgvectorEnv,
197
223
  studioExecute,
@@ -332,7 +358,6 @@ function formatManualInstallCommand(pm, packages) {
332
358
  }
333
359
  }
334
360
  const VALID_DATABASES = ["postgres", "mysql", "sqlite", "sqlserver", "prisma"];
335
- const VALID_AI_PROVIDERS = ["openai", "anthropic", "google", "azure", "foundry"];
336
361
  const VALID_RAG_STORES = ["file", "memory", "pgvector"];
337
362
  function parseOptions(argv) {
338
363
  const opts = {
@@ -524,17 +549,13 @@ export async function runWizard(prompter) {
524
549
  });
525
550
  const aiProvider = await prompter.select({
526
551
  message: "AI provider",
527
- choices: [
528
- { name: "OpenAI", value: "openai" },
529
- { name: "Anthropic", value: "anthropic" },
530
- { name: "Google (Gemini)", value: "google" },
531
- { name: "Azure OpenAI", value: "azure" },
532
- { name: "Azure AI Foundry", value: "foundry" },
533
- ],
552
+ choices: AI_PROVIDER_SETUPS.map((setup) => ({
553
+ name: setup.label,
554
+ value: setup.id,
555
+ })),
534
556
  default: "openai",
535
557
  });
536
- const aiKeyEnv = AI_DEFAULTS[aiProvider].keyEnv;
537
- const aiModelEnv = AI_DEFAULTS[aiProvider].modelEnv;
558
+ const { keyEnv: aiKeyEnv, modelEnv: aiModelEnv } = aiDefaults(aiProvider);
538
559
  const ragStore = await prompter.select({
539
560
  message: "RAG store",
540
561
  choices: [
@@ -545,10 +566,11 @@ export async function runWizard(prompter) {
545
566
  default: "file",
546
567
  });
547
568
  const pgvectorEnv = ragStore === "pgvector" ? "ASKDB_PGVECTOR_URL" : undefined;
548
- const studioExecuteDefault = database !== "prisma";
569
+ // Opt-in: Studio execute runs generated SQL against a live database, so it
570
+ // defaults to off (matching `--studio-execute`'s documented default).
549
571
  const enableStudioExecute = await prompter.confirm({
550
- message: "Enable Studio execute (run queries from the browser playground)?",
551
- default: studioExecuteDefault,
572
+ message: "Enable Studio execute (run generated SQL read-only from the browser playground)?",
573
+ default: false,
552
574
  });
553
575
  let studioExecute;
554
576
  if (!enableStudioExecute) {
@@ -639,61 +661,66 @@ const DB_URL_PLACEHOLDER = {
639
661
  mysql: "mysql://<USERNAME>:<PASSWORD>@<DATABASE_HOST>:<DATABASE_PORT>/<DATABASE_NAME>",
640
662
  sqlserver: "Data Source=<DATABASE_HOST>,<DATABASE_PORT>;Initial Catalog=<DATABASE_NAME>;User ID=<USERNAME>;Password=<PASSWORD>;Trust Server Certificate=True;Authentication=SqlPassword;",
641
663
  };
664
+ /**
665
+ * The database-side env vars the generated config reads (the introspection URL,
666
+ * SQLite file paths, the pgvector URL, and Studio execute's URL), each once.
667
+ * Names fall back to the same defaults the renderers above use, so
668
+ * `.env.example` and the printed variable list match the config.
669
+ */
670
+ function databaseEnvVars(answers) {
671
+ const { database, studioExecute } = answers;
672
+ const vars = new Map();
673
+ const add = (envVar) => {
674
+ if (!vars.has(envVar.name))
675
+ vars.set(envVar.name, envVar);
676
+ };
677
+ if (database !== "sqlite" && database !== "prisma") {
678
+ add({ name: answers.connectionEnv ?? "DATABASE_URL", placeholder: DB_URL_PLACEHOLDER[database] ?? "" });
679
+ }
680
+ const sqliteFileEnvs = [
681
+ database === "sqlite" ? sqliteFileEnv(answers.sqliteFile) : undefined,
682
+ studioExecute.enabled && studioExecute.provider === "sqlite" ? sqliteFileEnv(studioExecute.sqliteFile) : undefined,
683
+ ];
684
+ for (const name of sqliteFileEnvs) {
685
+ if (name)
686
+ add({ name, placeholder: "", purpose: "SQLite database file path" });
687
+ }
688
+ if (answers.ragStore === "pgvector") {
689
+ add({ name: answers.pgvectorEnv ?? "ASKDB_PGVECTOR_URL", placeholder: DB_URL_PLACEHOLDER.postgres ?? "" });
690
+ }
691
+ if (studioExecute.enabled && studioExecute.provider !== "sqlite") {
692
+ add({
693
+ name: studioExecute.connectionEnv ?? "DATABASE_URL",
694
+ placeholder: DB_URL_PLACEHOLDER[studioExecute.provider] ?? "",
695
+ });
696
+ }
697
+ return [...vars.values()];
698
+ }
642
699
  function buildEnvExample(answers) {
643
700
  const lines = [
644
701
  "# AskDB environment — copy to .env and fill in real values.",
645
702
  "# .env is read by the CLI, Studio, and the HTTP API; never commit it.",
646
703
  "",
647
704
  ];
648
- const needsConnectionEnv = answers.database !== "sqlite" && answers.database !== "prisma";
649
- if (needsConnectionEnv && answers.connectionEnv) {
650
- const placeholder = DB_URL_PLACEHOLDER[answers.database];
651
- lines.push(placeholder ? `${answers.connectionEnv}=${placeholder}` : `${answers.connectionEnv}=`);
652
- }
653
- if (answers.ragStore === "pgvector" && answers.pgvectorEnv) {
654
- lines.push(`${answers.pgvectorEnv}=postgresql://<USERNAME>:<PASSWORD>@<DATABASE_HOST>:<DATABASE_PORT>/<DATABASE_NAME>`);
655
- }
656
- // Only emit a separate execute URL if it differs from the introspection URL
657
- if (answers.studioExecute.enabled &&
658
- answers.studioExecute.provider !== "sqlite" &&
659
- answers.studioExecute.connectionEnv &&
660
- answers.studioExecute.connectionEnv !== answers.connectionEnv) {
661
- const placeholder = DB_URL_PLACEHOLDER[answers.studioExecute.provider];
662
- lines.push(placeholder
663
- ? `${answers.studioExecute.connectionEnv}=${placeholder}`
664
- : `${answers.studioExecute.connectionEnv}=`);
665
- }
666
- lines.push(`${answers.aiKeyEnv}=`);
667
- if (answers.aiModelEnv)
668
- lines.push(`${answers.aiModelEnv}=`);
705
+ for (const envVar of databaseEnvVars(answers)) {
706
+ if (envVar.purpose)
707
+ lines.push(`# ${envVar.purpose}`);
708
+ lines.push(`${envVar.name}=${envVar.placeholder}`);
709
+ }
710
+ for (const envVar of aiScaffold(answers).envVars) {
711
+ lines.push(`# ${envVar.purpose}`);
712
+ lines.push(`${envVar.name}=`);
713
+ }
669
714
  lines.push("");
670
715
  return lines.join("\n");
671
716
  }
672
717
  /** Env var NAMES the generated config references — conventional defaults, not values. */
673
718
  function collectEnvVarNames(answers) {
674
719
  const names = new Set();
675
- names.add(answers.aiKeyEnv);
676
- if (answers.aiModelEnv)
677
- names.add(answers.aiModelEnv);
678
- const isEnvName = (v) => !v.startsWith("./") && !v.startsWith("/");
679
- if (answers.database !== "sqlite" && answers.database !== "prisma" && answers.connectionEnv) {
680
- names.add(answers.connectionEnv);
681
- }
682
- else if (answers.database === "sqlite" && answers.sqliteFile && isEnvName(answers.sqliteFile)) {
683
- names.add(answers.sqliteFile);
684
- }
685
- if (answers.ragStore === "pgvector" && answers.pgvectorEnv)
686
- names.add(answers.pgvectorEnv);
687
- if (answers.studioExecute.enabled) {
688
- if (answers.studioExecute.provider === "sqlite") {
689
- const f = answers.studioExecute.sqliteFile;
690
- if (f && isEnvName(f))
691
- names.add(f);
692
- }
693
- else if (answers.studioExecute.connectionEnv) {
694
- names.add(answers.studioExecute.connectionEnv);
695
- }
696
- }
720
+ for (const envVar of aiScaffold(answers).envVars)
721
+ names.add(envVar.name);
722
+ for (const envVar of databaseEnvVars(answers))
723
+ names.add(envVar.name);
697
724
  return Array.from(names);
698
725
  }
699
726
  function printNextSteps(answers) {
@@ -882,12 +909,12 @@ function printHelp() {
882
909
  "Database options:",
883
910
  " --database <db> postgres|mysql|sqlite|sqlserver|prisma (default: postgres)",
884
911
  " --connection-env <name> Env var name for connection URL",
885
- " --sqlite-file <path-or-env> SQLite file path or env var name",
912
+ " --sqlite-file <path-or-env> SQLite file path, or an UPPER_SNAKE_CASE env var name",
886
913
  " --prisma-schema <path> Path to schema.prisma",
887
914
  " --schema-out <dir> Schema output directory (default: ./askdb)",
888
915
  "",
889
916
  "AI options:",
890
- " --ai-provider <name> openai|anthropic|google|azure|foundry (default: openai)",
917
+ ` --ai-provider <name> ${VALID_AI_PROVIDERS.join("|")} (default: openai)`,
891
918
  " --ai-key-env <name> Env var name for API key",
892
919
  " --ai-model-env <name> Env var name for model override",
893
920
  "",
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,13 @@
1
- export declare function runIntrospectCli(argv: readonly string[]): Promise<number>;
1
+ import { type ConnectorRegistry } from "@askdb/introspect";
2
+ /**
3
+ * The engines `askdb introspect` supports out of the box. Engine-specific
4
+ * connection resolution (flag vs. config precedence, per-engine validation)
5
+ * lives in each adapter's `resolveConnection`, not here.
6
+ */
7
+ export declare const defaultConnectorRegistry: ConnectorRegistry;
8
+ export type RunIntrospectCliOptions = {
9
+ /** Registry to dispatch `--engine` through. Defaults to the built-in engines. */
10
+ connectorRegistry?: ConnectorRegistry;
11
+ };
12
+ export declare function runIntrospectCli(argv: readonly string[], options?: RunIntrospectCliOptions): Promise<number>;
2
13
  //# sourceMappingURL=introspect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../src/introspect.ts"],"names":[],"mappings":"AAoEA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/E"}
1
+ {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../src/introspect.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,KAAK,iBAAiB,EAIvB,MAAM,mBAAmB,CAAC;AAU3B;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAMrC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AA4BF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAsBjB"}