@askdb/config 0.3.0-beta.4 → 1.0.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/README.md CHANGED
@@ -53,7 +53,7 @@ export default defineConfig({
53
53
  } satisfies AskDbConfig);
54
54
  ```
55
55
 
56
- Your `.env` can use friendly names (`MY_OPENAI_API_KEY`, …). `defineConfig` runs `flattenAskDbConfig`, which maps the nested object onto the canonical environment variable names used in the **runtime flat map** (and in `aiEnv` for `@askdb/core`). **Unset optional fields get defaults inside `flattenAskDbConfig`** (chat model, introspection output dir, database URL fallbacks, RAG embedding dimensions, file-store base path, pgvector index strategy, etc. — see `packages/config/src/defaults.ts`).
56
+ Your `.env` can use friendly names (`MY_OPENAI_API_KEY`, …). `defineConfig` runs `flattenAskDbConfig`, which maps the nested object onto the canonical environment variable names used in the **runtime flat map** (and in `aiEnv` for `@askdb/ai`). **Unset optional fields get defaults inside `flattenAskDbConfig`** (chat model, introspection output dir, database URL fallbacks, RAG embedding dimensions, file-store base path, pgvector index strategy, etc. — see `packages/config/src/defaults.ts`).
57
57
 
58
58
  ## Architectural rule — `@askdb/config` is the sole `process.env` reader
59
59
 
@@ -66,13 +66,13 @@ import { getAskDbRuntimeConfig } from "@askdb/config";
66
66
  const config = getAskDbRuntimeConfig();
67
67
  const apiKey = opts.apiKey ?? config.rag.embedder.apiKey;
68
68
  const level = config.logging.level;
69
- // For @askdb/core functions that accept an env-map argument:
70
- const model = await createAskDbLanguageModelFromEnv(config.ai.aiEnv, { ... });
69
+ // For @askdb/ai registry methods that accept an env-map argument:
70
+ const model = await aiRegistry.createLanguageModelFromEnv(config.ai.aiEnv, { ... });
71
71
  ```
72
72
 
73
73
  **Rules:**
74
74
 
75
- - Library packages (`@askdb/rag`, `@askdb/tui`, …) must call `getAskDbRuntimeConfig()` and use the returned typed fields. They must **not** call `env()`, `requiredEnv()`, or access `process.env` directly.
75
+ - Library packages (`@askdb/rag`, `@askdb/enrich`, …) must call `getAskDbRuntimeConfig()` and use the returned typed fields. They must **not** call `env()`, `requiredEnv()`, or access `process.env` directly.
76
76
  - `env(name)` is only for use inside `askdb.config.*` files authored by end users — it maps friendly `.env` names onto values that become part of the structured config and flat map.
77
77
  - First-party app entry points call `bootstrapAskDbEnv()` at start-up. That loads dotenv, evaluates `askdb.config.*`, and installs an **in-memory runtime snapshot** (structured config + flat map + derived `aiEnv`). It does **not** copy AskDB settings into `process.env`.
78
78
 
@@ -94,4 +94,4 @@ const model = await createAskDbLanguageModelFromEnv(config.ai.aiEnv, { ... });
94
94
 
95
95
  ## License
96
96
 
97
- Apache-2.0. See [LICENSE](./LICENSE) and [NOTICE](./NOTICE).
97
+ Apache-2.0 © [Yahya Gilany](https://yahyagilany.io). See [LICENSE](./LICENSE) and [NOTICE](./NOTICE).
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,wBAAwB,GAAG;IACrC,mGAAmG;IACnG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAeF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAkDA;AAED,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,0BAAoB,CAAC"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,wBAAwB,GAAG;IACrC,mGAAmG;IACnG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAeF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAkDA;AAED,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,0BAAoB,CAAC"}
package/dist/bootstrap.js CHANGED
@@ -3,6 +3,8 @@ import { existsSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { loadAskDbConfigProjectionSync } from "./load-merge.js";
5
5
  import { setAskDbRuntime } from "./runtime-store.js";
6
+ /** dotenv v17 logs injected keys by default; keep bootstrap silent like v16. */
7
+ const DOTENV_LOAD_OPTIONS = { quiet: true };
6
8
  function handleDotenvError(error, nonFatal) {
7
9
  const err = error;
8
10
  const code = typeof err.code === "string" ? err.code : undefined;
@@ -34,7 +36,7 @@ export function bootstrapAskDbEnv(options = {}) {
34
36
  for (const path of options.dotenvCandidatePaths) {
35
37
  if (!existsSync(path))
36
38
  continue;
37
- const { error } = dotenv.config({ path });
39
+ const { error } = dotenv.config({ ...DOTENV_LOAD_OPTIONS, path });
38
40
  if (!error) {
39
41
  loaded = true;
40
42
  dotenvPath = path;
@@ -42,14 +44,14 @@ export function bootstrapAskDbEnv(options = {}) {
42
44
  }
43
45
  }
44
46
  if (!loaded) {
45
- const { error } = dotenv.config();
47
+ const { error } = dotenv.config(DOTENV_LOAD_OPTIONS);
46
48
  if (error)
47
49
  handleDotenvError(error, nonFatal);
48
50
  }
49
51
  }
50
52
  else {
51
53
  const path = join(cwd, ".env");
52
- const { error } = dotenv.config({ path });
54
+ const { error } = dotenv.config({ ...DOTENV_LOAD_OPTIONS, path });
53
55
  if (error) {
54
56
  const err = error;
55
57
  const code = typeof err.code === "string" ? err.code : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,14 @@ export declare const ASKDB_RAG_STORES: readonly ["file", "memory", "pgvector"];
15
15
  export type AskDbRagStore = (typeof ASKDB_RAG_STORES)[number];
16
16
  export declare const ASKDB_AI_PROVIDERS: readonly ["openai", "azure", "foundry", "google"];
17
17
  export type AskDbAiProviderId = (typeof ASKDB_AI_PROVIDERS)[number];
18
+ /**
19
+ * Provider-portable reasoning/latency effort for AskDB model calls. Maps to
20
+ * each provider's native knob by the `@askdb/ai-*` adapter (see `@askdb/ai`'s
21
+ * `resolveProviderOptions`). Keep aligned with `REASONING_EFFORTS` in
22
+ * `@askdb/ai` (`packages/ai/src/reasoning.ts`).
23
+ */
24
+ export declare const ASKDB_REASONING_EFFORTS: readonly ["minimal", "low", "medium", "high"];
25
+ export type AskDbReasoningEffort = (typeof ASKDB_REASONING_EFFORTS)[number];
18
26
  export declare const ASKDB_INTROSPECTION_PROVIDERS: readonly ["postgres", "prisma", "mysql", "sqlite", "sqlserver"];
19
27
  export type AskDbIntrospectionProvider = (typeof ASKDB_INTROSPECTION_PROVIDERS)[number];
20
28
  /**
@@ -24,4 +32,10 @@ export type AskDbIntrospectionProvider = (typeof ASKDB_INTROSPECTION_PROVIDERS)[
24
32
  */
25
33
  export declare const ASKDB_DIALECTS: readonly ["postgres", "cockroachdb", "mysql", "mariadb", "sqlite", "sqlserver"];
26
34
  export type AskDbDialectId = (typeof ASKDB_DIALECTS)[number];
35
+ /**
36
+ * Live execute providers supported by the Studio Query Playground.
37
+ * Subset of introspection providers — excludes `prisma` which is schema-only.
38
+ */
39
+ export declare const ASKDB_STUDIO_EXECUTE_PROVIDERS: readonly ["postgres", "mysql", "sqlite", "sqlserver"];
40
+ export type AskDbStudioExecuteProvider = (typeof ASKDB_STUDIO_EXECUTE_PROVIDERS)[number];
27
41
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc,6CAA8C,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,gBAAgB,yEAQnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,uCAAwC,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB,yCAA0C,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,mDAAoD,CAAC;AACpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,6BAA6B,iEAMhC,CAAC;AACX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,cAAc,iFAOjB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc,6CAA8C,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,gBAAgB,yEAQnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,uCAAwC,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB,yCAA0C,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,mDAAoD,CAAC;AACpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,+CAAgD,CAAC;AACrF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B,iEAMhC,CAAC;AACX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,cAAc,iFAOjB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,8BAA8B,uDAKjC,CAAC;AACX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/dist/constants.js CHANGED
@@ -18,6 +18,13 @@ export const ASKDB_LOG_LEVELS = [
18
18
  export const ASKDB_RAG_EMBEDDERS = ["mock", "openai", "ai-sdk"];
19
19
  export const ASKDB_RAG_STORES = ["file", "memory", "pgvector"];
20
20
  export const ASKDB_AI_PROVIDERS = ["openai", "azure", "foundry", "google"];
21
+ /**
22
+ * Provider-portable reasoning/latency effort for AskDB model calls. Maps to
23
+ * each provider's native knob by the `@askdb/ai-*` adapter (see `@askdb/ai`'s
24
+ * `resolveProviderOptions`). Keep aligned with `REASONING_EFFORTS` in
25
+ * `@askdb/ai` (`packages/ai/src/reasoning.ts`).
26
+ */
27
+ export const ASKDB_REASONING_EFFORTS = ["minimal", "low", "medium", "high"];
21
28
  export const ASKDB_INTROSPECTION_PROVIDERS = [
22
29
  "postgres",
23
30
  "prisma",
@@ -38,4 +45,14 @@ export const ASKDB_DIALECTS = [
38
45
  "sqlite",
39
46
  "sqlserver",
40
47
  ];
48
+ /**
49
+ * Live execute providers supported by the Studio Query Playground.
50
+ * Subset of introspection providers — excludes `prisma` which is schema-only.
51
+ */
52
+ export const ASKDB_STUDIO_EXECUTE_PROVIDERS = [
53
+ "postgres",
54
+ "mysql",
55
+ "sqlite",
56
+ "sqlserver",
57
+ ];
41
58
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAU,CAAC;AAG1E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;CACA,CAAC;AAGX,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAGxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAGpF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;CACH,CAAC;AAGX;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU;IACV,aAAa;IACb,OAAO;IACP,SAAS;IACT,QAAQ;IACR,WAAW;CACH,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAU,CAAC;AAG1E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;CACA,CAAC;AAGX,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAGxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAGpF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAGrF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;CACH,CAAC;AAGX;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU;IACV,aAAa;IACb,OAAO;IACP,SAAS;IACT,QAAQ;IACR,WAAW;CACH,CAAC;AAGX;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,UAAU;IACV,OAAO;IACP,QAAQ;IACR,WAAW;CACH,CAAC"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export declare const DEFAULT_OPENAI_CHAT_MODEL = "gpt-4o-mini";
6
6
  export declare const DEFAULT_AZURE_OPENAI_DEPLOYMENT = "gpt-4o-mini";
7
+ export declare const DEFAULT_ANTHROPIC_CHAT_MODEL = "claude-sonnet-4-6";
7
8
  export declare const DEFAULT_GOOGLE_CHAT_MODEL = "gemini-2.0-flash";
8
9
  export declare const DEFAULT_INTROSPECT_OUTPUT_DIR = "./askdb/";
9
10
  export declare const DEFAULT_LOCAL_POSTGRES_URL = "postgres://postgres:postgres@127.0.0.1:5432/postgres";
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,eAAO,MAAM,+BAA+B,gBAAgB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAC5D,eAAO,MAAM,6BAA6B,aAAa,CAAC;AACxD,eAAO,MAAM,0BAA0B,yDAAyD,CAAC;AACjG,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AACpE,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,+BAA+B,EAAG,MAAe,CAAC;AAE/D,eAAO,MAAM,yBAAyB,sCAAuC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,uFAAuF;AACvF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAU3F;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,uBAAuB,CAK/F"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,eAAO,MAAM,+BAA+B,gBAAgB,CAAC;AAC7D,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAChE,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAC5D,eAAO,MAAM,6BAA6B,aAAa,CAAC;AACxD,eAAO,MAAM,0BAA0B,yDAAyD,CAAC;AACjG,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AACpE,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,+BAA+B,EAAG,MAAe,CAAC;AAE/D,eAAO,MAAM,yBAAyB,sCAAuC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,uFAAuF;AACvF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAU3F;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,uBAAuB,CAK/F"}
package/dist/defaults.js CHANGED
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export const DEFAULT_OPENAI_CHAT_MODEL = "gpt-4o-mini";
6
6
  export const DEFAULT_AZURE_OPENAI_DEPLOYMENT = "gpt-4o-mini";
7
+ export const DEFAULT_ANTHROPIC_CHAT_MODEL = "claude-sonnet-4-6";
7
8
  export const DEFAULT_GOOGLE_CHAT_MODEL = "gemini-2.0-flash";
8
9
  export const DEFAULT_INTROSPECT_OUTPUT_DIR = "./askdb/";
9
10
  export const DEFAULT_LOCAL_POSTGRES_URL = "postgres://postgres:postgres@127.0.0.1:5432/postgres";
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC;AACvD,MAAM,CAAC,MAAM,+BAA+B,GAAG,aAAa,CAAC;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAC5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,sDAAsD,CAAC;AACjG,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AACpE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAe,CAAC;AAE/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAG9E,uFAAuF;AACvF,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,CAAC,KAAK,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAkC;IACrE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAuB;IACpE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,+BAA+B,CAAC;IACnF,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,qCAAqC,CAAC,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC;AACvD,MAAM,CAAC,MAAM,+BAA+B,GAAG,aAAa,CAAC;AAC7D,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAC5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,sDAAsD,CAAC;AACjG,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AACpE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAe,CAAC;AAE/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAG9E,uFAAuF;AACvF,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,CAAC,KAAK,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAkC;IACrE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAuB;IACpE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,+BAA+B,CAAC;IACnF,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,qCAAqC,CAAC,CAAC;AAC/F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../src/flatten.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAA0D,MAAM,YAAY,CAAC;AA4DtG;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmK9E"}
1
+ {"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../src/flatten.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAIV,WAAW,EAUZ,MAAM,YAAY,CAAC;AA4FpB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2K9E"}
package/dist/flatten.js CHANGED
@@ -1,5 +1,5 @@
1
- import { ASKDB_LOG_LEVELS, ASKDB_MODES_V1, ASKDB_RAG_EMBEDDERS, ASKDB_RAG_STORES, } from "./constants.js";
2
- import { DEFAULT_AZURE_OPENAI_DEPLOYMENT, DEFAULT_GOOGLE_CHAT_MODEL, DEFAULT_INTROSPECT_OUTPUT_DIR, DEFAULT_LOCAL_POSTGRES_URL, DEFAULT_MOCK_RAG_EMBEDDING_DIMENSIONS, DEFAULT_OPENAI_CHAT_MODEL, DEFAULT_RAG_EMBEDDING_MODEL, DEFAULT_RAG_FILE_BASE_PATH, defaultRagEmbeddingDimensions, normalizePgvectorIndexStrategy, parsePositiveInteger, } from "./defaults.js";
1
+ import { ASKDB_LOG_LEVELS, ASKDB_MODES_V1, ASKDB_RAG_EMBEDDERS, ASKDB_RAG_STORES, ASKDB_REASONING_EFFORTS, } from "./constants.js";
2
+ import { DEFAULT_ANTHROPIC_CHAT_MODEL, DEFAULT_AZURE_OPENAI_DEPLOYMENT, DEFAULT_GOOGLE_CHAT_MODEL, DEFAULT_INTROSPECT_OUTPUT_DIR, DEFAULT_MOCK_RAG_EMBEDDING_DIMENSIONS, DEFAULT_OPENAI_CHAT_MODEL, DEFAULT_RAG_EMBEDDING_MODEL, DEFAULT_RAG_FILE_BASE_PATH, defaultRagEmbeddingDimensions, normalizePgvectorIndexStrategy, parsePositiveInteger, } from "./defaults.js";
3
3
  function isMember(value, allowed) {
4
4
  return allowed.includes(value);
5
5
  }
@@ -18,6 +18,12 @@ function applyOpenAiAi(out, cfg) {
18
18
  set(out, "OPENAI_MODEL", model);
19
19
  set(out, "ASKDB_MODEL", model);
20
20
  }
21
+ function applyAnthropicAi(out, cfg) {
22
+ set(out, "ANTHROPIC_API_KEY", cfg.apiKey);
23
+ set(out, "ANTHROPIC_BASE_URL", cfg.baseUrl);
24
+ const model = cfg.model?.trim() || DEFAULT_ANTHROPIC_CHAT_MODEL;
25
+ set(out, "ASKDB_AI_MODEL", model);
26
+ }
21
27
  function applyGoogleAi(out, cfg) {
22
28
  set(out, "GOOGLE_GENERATIVE_AI_API_KEY", cfg.apiKey);
23
29
  set(out, "GOOGLE_AI_BASE_URL", cfg.baseUrl);
@@ -35,11 +41,29 @@ function applyAzureLikeAi(out, cfg) {
35
41
  set(out, "ASKDB_AI_MODEL", model);
36
42
  set(out, "AZURE_OPENAI_BASE_URL", cfg.baseUrl);
37
43
  set(out, "AZURE_OPENAI_API_VERSION", cfg.apiVersion);
44
+ set(out, "ASKDB_AI_AZURE_MODEL_FAMILY", cfg.modelFamily);
45
+ }
46
+ function applyReasoningAi(out, reasoning) {
47
+ if (!reasoning)
48
+ return;
49
+ for (const [envKey, value] of [
50
+ ["ASKDB_AI_REASONING_EFFORT", reasoning.effort],
51
+ ["ASKDB_AI_REASONING_EFFORT_NL_TO_SQL", reasoning.nlToSql],
52
+ ["ASKDB_AI_REASONING_EFFORT_ENRICHMENT", reasoning.enrichment],
53
+ ]) {
54
+ if (value !== undefined && !isMember(value, ASKDB_REASONING_EFFORTS)) {
55
+ throw new Error(`askdb.config: invalid ai.reasoning value "${value}" (expected one of: ${ASKDB_REASONING_EFFORTS.join(", ")}).`);
56
+ }
57
+ set(out, envKey, value);
58
+ }
38
59
  }
39
- function resolveDatabaseUrl(config) {
40
- const raw = config.database.providerConfig.postgres.databaseUrl;
41
- const fromConfig = raw?.trim();
42
- return fromConfig || DEFAULT_LOCAL_POSTGRES_URL;
60
+ function requireProviderBranch(provider, branch) {
61
+ if (!branch) {
62
+ throw new Error(`askdb.config: ai.providerConfig.${provider} is required when ai.provider is "${provider}". ` +
63
+ `(Did you put the settings under providerConfig.custom? That branch is only for ` +
64
+ `third-party providers without a first-party package.)`);
65
+ }
66
+ return branch;
43
67
  }
44
68
  function resolveRagEmbeddingDimensions(rag) {
45
69
  if (rag.embedder === "openai" || rag.embedder === "ai-sdk") {
@@ -60,41 +84,47 @@ function resolveRagEmbeddingDimensions(rag) {
60
84
  export function flattenAskDbConfig(config) {
61
85
  const out = {};
62
86
  // --- AI ---
87
+ // Use type assertions in each branch because the inclusion of CustomAiConfig (provider: string & {})
88
+ // in the union prevents TypeScript from narrowing providerConfig to the specific branch shape.
89
+ // requireProviderBranch enforces that the expected providerConfig key is present; without it a
90
+ // misconfigured object like { provider: "openai" } (no providerConfig) would dereference undefined
91
+ // and crash with an opaque TypeError at runtime.
63
92
  if (config.ai.provider === "openai") {
64
93
  set(out, "ASKDB_AI_PROVIDER", "openai");
65
- applyOpenAiAi(out, config.ai.providerConfig.openai);
94
+ applyOpenAiAi(out, requireProviderBranch("openai", config.ai.providerConfig?.openai));
66
95
  }
67
96
  else if (config.ai.provider === "azure") {
68
97
  set(out, "ASKDB_AI_PROVIDER", "azure");
69
- applyAzureLikeAi(out, config.ai.providerConfig.azure);
98
+ applyAzureLikeAi(out, requireProviderBranch("azure", config.ai.providerConfig?.azure));
70
99
  }
71
100
  else if (config.ai.provider === "foundry") {
72
101
  // `@askdb/core` treats `foundry` like Azure for env parsing.
73
102
  set(out, "ASKDB_AI_PROVIDER", "foundry");
74
- applyAzureLikeAi(out, config.ai.providerConfig.foundry);
103
+ applyAzureLikeAi(out, requireProviderBranch("foundry", config.ai.providerConfig?.foundry));
75
104
  }
76
105
  else if (config.ai.provider === "google") {
77
106
  set(out, "ASKDB_AI_PROVIDER", "google");
78
- applyGoogleAi(out, config.ai.providerConfig.google);
107
+ applyGoogleAi(out, requireProviderBranch("google", config.ai.providerConfig?.google));
79
108
  }
80
109
  else if (config.ai.provider === "anthropic") {
81
- throw new Error("askdb.config: Anthropic AI provider is not supported yet.");
82
- }
83
- // --- Database ---
84
- if (config.database.provider !== "postgres") {
85
- throw new Error(`askdb.config: unsupported database.provider "${config.database.provider}".`);
86
- }
87
- set(out, "DATABASE_URL", resolveDatabaseUrl(config));
110
+ set(out, "ASKDB_AI_PROVIDER", "anthropic");
111
+ applyAnthropicAi(out, requireProviderBranch("anthropic", config.ai.providerConfig?.anthropic));
112
+ }
113
+ else {
114
+ // Custom/third-party provider: flatten to the universal ASKDB_AI_* keys that
115
+ // @askdb/ai's resolveBaseConfig honors for every registered adapter.
116
+ // Works end to end only when the host registry contains an adapter with this provider name.
117
+ set(out, "ASKDB_AI_PROVIDER", config.ai.provider);
118
+ const custom = config.ai.providerConfig?.custom;
119
+ set(out, "ASKDB_AI_API_KEY", custom?.apiKey);
120
+ set(out, "ASKDB_AI_BASE_URL", custom?.baseUrl);
121
+ set(out, "ASKDB_AI_MODEL", custom?.model);
122
+ }
123
+ applyReasoningAi(out, config.ai.reasoning);
88
124
  // --- Introspection ---
89
125
  const intro = config.introspection;
90
- // `DATABASE_URL` already reflects `database`. For Postgres introspection, set
91
- // `introspection.providerConfig.postgres.databaseUrl` only when you need a URL that
92
- // differs from the main app database; when omitted, live introspection reuses the same URL.
93
126
  if (intro.provider === "postgres") {
94
- const introUrl = intro.providerConfig?.postgres?.databaseUrl?.trim();
95
- if (introUrl) {
96
- set(out, "DATABASE_URL", introUrl);
97
- }
127
+ set(out, "ASKDB_INTROSPECT_POSTGRES_URL", intro.providerConfig?.postgres?.databaseUrl);
98
128
  }
99
129
  else if (intro.provider === "prisma") {
100
130
  // schemaPath lives in structured config (introspection.providerConfig.prisma.schemaPath);
@@ -196,6 +226,9 @@ export function flattenAskDbConfig(config) {
196
226
  if (config.studio?.listen?.port !== undefined && !Number.isNaN(config.studio.listen.port)) {
197
227
  set(out, "ASKDB_STUDIO_PORT", String(config.studio.listen.port));
198
228
  }
229
+ set(out, "ASKDB_STUDIO_EXECUTE_PROVIDER", config.studio?.execute?.provider);
230
+ set(out, "ASKDB_STUDIO_DATABASE_URL", config.studio?.execute?.databaseUrl);
231
+ set(out, "ASKDB_STUDIO_SQLITE_FILE", config.studio?.execute?.file);
199
232
  // --- HTTP API listen (canonical keys on runtime flat map) ---
200
233
  const httpListen = config.httpApi?.listen;
201
234
  if (httpListen?.port !== undefined && !Number.isNaN(httpListen.port)) {
@@ -1 +1 @@
1
- {"version":3,"file":"flatten.js","sourceRoot":"","sources":["../src/flatten.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flatten.js","sourceRoot":"","sources":["../src/flatten.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,14 +4,14 @@ export { bootstrapAskDbEnv, bootstrapAskDbRuntime } from "./bootstrap.js";
4
4
  export type { BootstrapAskDbEnvOptions } from "./bootstrap.js";
5
5
  export { env, requiredEnv } from "./env.js";
6
6
  export { getAskDbRuntimeConfig, } from "./runtime-config.js";
7
- export type { AskDbRuntimeConfig, AskDbRuntimeAiConfig, AskDbRuntimeIntrospectionConfig, AskDbRuntimeRagConfig, AskDbRuntimeRagEmbedderConfig, AskDbRuntimeLoggingConfig, AskDbRuntimeHttpApiConfig, AskDbRuntimeDevConfig, AskDbRuntimeModesConfig, AskDbRuntimeNlToSqlConfig, } from "./runtime-config.js";
7
+ export type { AskDbRuntimeConfig, AskDbRuntimeAiConfig, AskDbRuntimeIntrospectionConfig, AskDbRuntimeRagConfig, AskDbRuntimeRagEmbedderConfig, AskDbRuntimeLoggingConfig, AskDbRuntimeHttpApiConfig, AskDbRuntimeDevConfig, AskDbRuntimeModesConfig, AskDbRuntimeNlToSqlConfig, AskDbRuntimeStudioConfig, } from "./runtime-config.js";
8
8
  export { mergeAskDbFlatIntoEnvMap, resetAskDbRuntimeForTests, setAskDbRuntimeForTests, } from "./runtime-store.js";
9
9
  export { DEFAULT_AZURE_OPENAI_DEPLOYMENT, DEFAULT_INTROSPECT_OUTPUT_DIR, DEFAULT_LOCAL_POSTGRES_URL, DEFAULT_MOCK_RAG_EMBEDDING_DIMENSIONS, DEFAULT_OPENAI_CHAT_MODEL, DEFAULT_PGVECTOR_INDEX_STRATEGY, DEFAULT_RAG_EMBEDDING_MODEL, DEFAULT_RAG_FILE_BASE_PATH, defaultRagEmbeddingDimensions, } from "./defaults.js";
10
10
  export { defineConfig, isAskDbEnvProjection, ASKDB_ENV_PROJECTION } from "./projection.js";
11
11
  export type { AskDbEnvProjection } from "./projection.js";
12
12
  export { loadAskDbConfigProjection, loadAskDbConfigProjectionSync } from "./load-merge.js";
13
- export type { AskDbConfig, AskDbAiConfig, OpenaiAiConfig, AzureAiConfig, FoundryAiConfig, AnthropicAiConfig, GoogleAiConfig, OpenaiConfig, AzureConfig, FoundryConfig, AnthropicConfig, GoogleConfig, AskDbIntrospectionConfig, PostgresIntrospectionConfig, PrismaIntrospectionConfig, OpenaiRagEmbedderConfig, FileStoreConfig, MemoryStoreConfig, PgvectorStoreConfig, } from "./types.js";
13
+ export type { AskDbConfig, AskDbAiConfig, AskDbAiReasoningConfig, OpenaiAiConfig, AzureAiConfig, FoundryAiConfig, AnthropicAiConfig, GoogleAiConfig, OpenaiConfig, AzureConfig, FoundryConfig, AnthropicConfig, GoogleConfig, AskDbIntrospectionConfig, PostgresIntrospectionConfig, PrismaIntrospectionConfig, OpenaiRagEmbedderConfig, FileStoreConfig, MemoryStoreConfig, PgvectorStoreConfig, } from "./types.js";
14
14
  export { flattenAskDbConfig } from "./flatten.js";
15
- export { ASKDB_MODES_V1, ASKDB_LOG_LEVELS, ASKDB_RAG_EMBEDDERS, ASKDB_RAG_STORES, ASKDB_AI_PROVIDERS, ASKDB_INTROSPECTION_PROVIDERS, ASKDB_DIALECTS, } from "./constants.js";
16
- export type { AskDbModeV1, AskDbLogLevel, AskDbRagEmbedder, AskDbRagStore, AskDbAiProviderId, AskDbIntrospectionProvider, AskDbDialectId, } from "./constants.js";
15
+ export { ASKDB_MODES_V1, ASKDB_LOG_LEVELS, ASKDB_RAG_EMBEDDERS, ASKDB_RAG_STORES, ASKDB_AI_PROVIDERS, ASKDB_INTROSPECTION_PROVIDERS, ASKDB_DIALECTS, ASKDB_STUDIO_EXECUTE_PROVIDERS, ASKDB_REASONING_EFFORTS, } from "./constants.js";
16
+ export type { AskDbModeV1, AskDbLogLevel, AskDbRagEmbedder, AskDbRagStore, AskDbAiProviderId, AskDbIntrospectionProvider, AskDbDialectId, AskDbStudioExecuteProvider, AskDbReasoningEffort, } from "./constants.js";
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,qBAAqB,EACrB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,qCAAqC,EACrC,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAC3F,YAAY,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,GACf,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAC/B,qBAAqB,EACrB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,qCAAqC,EACrC,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAC3F,YAAY,EACV,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,EACd,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -7,5 +7,5 @@ export { DEFAULT_AZURE_OPENAI_DEPLOYMENT, DEFAULT_INTROSPECT_OUTPUT_DIR, DEFAULT
7
7
  export { defineConfig, isAskDbEnvProjection, ASKDB_ENV_PROJECTION } from "./projection.js";
8
8
  export { loadAskDbConfigProjection, loadAskDbConfigProjectionSync } from "./load-merge.js";
9
9
  export { flattenAskDbConfig } from "./flatten.js";
10
- export { ASKDB_MODES_V1, ASKDB_LOG_LEVELS, ASKDB_RAG_EMBEDDERS, ASKDB_RAG_STORES, ASKDB_AI_PROVIDERS, ASKDB_INTROSPECTION_PROVIDERS, ASKDB_DIALECTS, } from "./constants.js";
10
+ export { ASKDB_MODES_V1, ASKDB_LOG_LEVELS, ASKDB_RAG_EMBEDDERS, ASKDB_RAG_STORES, ASKDB_AI_PROVIDERS, ASKDB_INTROSPECTION_PROVIDERS, ASKDB_DIALECTS, ASKDB_STUDIO_EXECUTE_PROVIDERS, ASKDB_REASONING_EFFORTS, } from "./constants.js";
11
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,qCAAqC,EACrC,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAsB3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,GACf,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAc7B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,qCAAqC,EACrC,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAuB3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,EACd,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AskDbDialectId, AskDbIntrospectionProvider } from "./constants.js";
1
+ import type { AskDbDialectId, AskDbIntrospectionProvider, AskDbStudioExecuteProvider } from "./constants.js";
2
2
  import type { AskDbConfig } from "./types.js";
3
3
  /**
4
4
  * Typed AI runtime settings for `@askdb/core` (not `process.env`).
@@ -6,7 +6,8 @@ import type { AskDbConfig } from "./types.js";
6
6
  export type AskDbRuntimeAiConfig = {
7
7
  /**
8
8
  * Flat env-shaped map built from the runtime snapshot. Pass to
9
- * `resolveAskDbAiConfig`, `createAskDbLanguageModelFromEnv`, etc.
9
+ * `@askdb/ai` registry methods such as `resolveAiConfig` and
10
+ * `createLanguageModelFromEnv`.
10
11
  */
11
12
  aiEnv: Record<string, string | undefined>;
12
13
  };
@@ -32,29 +33,34 @@ export type AskDbRuntimeHttpApiConfig = {
32
33
  };
33
34
  export type AskDbRuntimeIntrospectionConfig = {
34
35
  provider: AskDbIntrospectionProvider;
36
+ /**
37
+ * Resolved Postgres connection URL when `provider === "postgres"`:
38
+ * `providerConfig.postgres.databaseUrl` → `ASKDB_INTROSPECT_POSTGRES_URL` env.
39
+ * `undefined` for non-Postgres providers.
40
+ */
41
+ postgresDatabaseUrl: string | undefined;
35
42
  /** Resolved from `introspection.providerConfig.prisma.schemaPath`; `undefined` triggers auto-discovery in `@askdb/prisma`. */
36
43
  prismaSchemaPath: string | undefined;
37
44
  /**
38
45
  * Resolved MySQL connection URL when `provider === "mysql"`:
39
- * `providerConfig.mysql.databaseUrl` → `ASKDB_INTROSPECT_MYSQL_URL` env → `DATABASE_URL` fallback.
46
+ * `providerConfig.mysql.databaseUrl` → `ASKDB_INTROSPECT_MYSQL_URL` env.
40
47
  * `undefined` for non-MySQL providers.
41
48
  */
42
49
  mysqlDatabaseUrl: string | undefined;
43
50
  /**
44
51
  * Resolved SQLite file path when `provider === "sqlite"`:
45
52
  * `providerConfig.sqlite.file` → `ASKDB_INTROSPECT_SQLITE_FILE` env.
46
- * No `DATABASE_URL` fallback — SQLite paths and URLs aren't interchangeable.
47
53
  * `undefined` for non-SQLite providers.
48
54
  */
49
55
  sqliteFile: string | undefined;
50
56
  /**
51
57
  * Resolved SQL Server connection URL when `provider === "sqlserver"`:
52
- * `providerConfig.sqlserver.databaseUrl` → `ASKDB_INTROSPECT_SQLSERVER_URL` env → `DATABASE_URL` fallback.
58
+ * `providerConfig.sqlserver.databaseUrl` → `ASKDB_INTROSPECT_SQLSERVER_URL` env.
53
59
  * `undefined` for non-SQL Server providers.
54
60
  */
55
61
  sqlserverDatabaseUrl: string | undefined;
56
- /** Resolved from `introspection.outputDir`; `undefined` means the package default (`./askdb/`) is used. */
57
- outputDir: string | undefined;
62
+ /** Resolved from `introspection.outputDir`; falls back to the package default (`./askdb/`). */
63
+ outputDir: string;
58
64
  };
59
65
  export type AskDbRuntimeDevConfig = {
60
66
  mockSql: string | undefined;
@@ -71,6 +77,20 @@ export type AskDbRuntimeNlToSqlConfig = {
71
77
  */
72
78
  dialect: AskDbDialectId | undefined;
73
79
  };
80
+ export type AskDbRuntimeStudioConfig = {
81
+ execute: {
82
+ /**
83
+ * Resolved execute provider. Falls back to the active introspection provider when it
84
+ * is a live engine (`postgres`, `mysql`, `sqlite`, `sqlserver`), then defaults to
85
+ * `"postgres"` for backward compatibility.
86
+ */
87
+ provider: AskDbStudioExecuteProvider;
88
+ /** Connection URL used by the Studio playground query runner for network databases. */
89
+ databaseUrl: string | undefined;
90
+ /** SQLite file path used when `provider === "sqlite"`. */
91
+ file: string | undefined;
92
+ };
93
+ };
74
94
  /**
75
95
  * Typed runtime view over the bootstrapped AskDB config snapshot.
76
96
  */
@@ -86,6 +106,7 @@ export type AskDbRuntimeConfig = {
86
106
  dev: AskDbRuntimeDevConfig;
87
107
  modes: AskDbRuntimeModesConfig;
88
108
  nlToSql: AskDbRuntimeNlToSqlConfig;
109
+ studio: AskDbRuntimeStudioConfig;
89
110
  };
90
111
  /**
91
112
  * Returns typed runtime configuration from the snapshot installed by {@link bootstrapAskDbEnv}.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,6BAA6B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,0BAA0B,CAAC;IACrC,8HAA8H;IAC9H,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC;;;;;OAKG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,2GAA2G;IAC3G,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;;OAIG;IACH,OAAO,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,EAAE,EAAE,oBAAoB,CAAC;IACzB,aAAa,EAAE,+BAA+B,CAAC;IAC/C,GAAG,EAAE,qBAAqB,CAAC;IAC3B,OAAO,EAAE,yBAAyB,CAAC;IACnC,OAAO,EAAE,yBAAyB,CAAC;IACnC,GAAG,EAAE,qBAAqB,CAAC;IAC3B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,OAAO,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAQF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CA4F1D"}
1
+ {"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { ASKDB_STUDIO_EXECUTE_PROVIDERS } from "./constants.js";
2
+ import { DEFAULT_INTROSPECT_OUTPUT_DIR } from "./defaults.js";
1
3
  import { flatToAiEnv, getAskDbRuntimeStore } from "./runtime-store.js";
2
4
  function pickFlat(flat, key) {
3
5
  const v = flat[key];
@@ -26,11 +28,13 @@ export function getAskDbRuntimeConfig() {
26
28
  // Per-engine connection lookup. We deliberately only resolve the field for
27
29
  // the active provider so the runtime view stays minimal and other branches
28
30
  // surface `undefined` (cheap exhaustiveness check at the consumer).
29
- const databaseUrlFallback = pickFlat(flat, "DATABASE_URL");
31
+ const postgresDatabaseUrl = structured.introspection.provider === "postgres"
32
+ ? structured.introspection.providerConfig?.postgres?.databaseUrl?.trim() ||
33
+ pickFlat(flat, "ASKDB_INTROSPECT_POSTGRES_URL")
34
+ : undefined;
30
35
  const mysqlDatabaseUrl = structured.introspection.provider === "mysql"
31
36
  ? structured.introspection.providerConfig?.mysql?.databaseUrl?.trim() ||
32
- pickFlat(flat, "ASKDB_INTROSPECT_MYSQL_URL") ||
33
- databaseUrlFallback
37
+ pickFlat(flat, "ASKDB_INTROSPECT_MYSQL_URL")
34
38
  : undefined;
35
39
  const sqliteFile = structured.introspection.provider === "sqlite"
36
40
  ? structured.introspection.providerConfig?.sqlite?.file?.trim() ||
@@ -38,8 +42,7 @@ export function getAskDbRuntimeConfig() {
38
42
  : undefined;
39
43
  const sqlserverDatabaseUrl = structured.introspection.provider === "sqlserver"
40
44
  ? structured.introspection.providerConfig?.sqlserver?.databaseUrl?.trim() ||
41
- pickFlat(flat, "ASKDB_INTROSPECT_SQLSERVER_URL") ||
42
- databaseUrlFallback
45
+ pickFlat(flat, "ASKDB_INTROSPECT_SQLSERVER_URL")
43
46
  : undefined;
44
47
  return {
45
48
  structured,
@@ -49,11 +52,14 @@ export function getAskDbRuntimeConfig() {
49
52
  },
50
53
  introspection: {
51
54
  provider: structured.introspection.provider,
55
+ postgresDatabaseUrl,
52
56
  prismaSchemaPath: prismaSchemaPathRaw || undefined,
53
57
  mysqlDatabaseUrl,
54
58
  sqliteFile,
55
59
  sqlserverDatabaseUrl,
56
- outputDir: structured.introspection.outputDir?.trim() || undefined,
60
+ outputDir: pickFlat(flat, "ASKDB_INTROSPECT_OUT") ??
61
+ structured.introspection.outputDir?.trim() ??
62
+ DEFAULT_INTROSPECT_OUTPUT_DIR,
57
63
  },
58
64
  rag: {
59
65
  embedder: {
@@ -85,6 +91,70 @@ export function getAskDbRuntimeConfig() {
85
91
  nlToSql: {
86
92
  dialect: structured.dialect,
87
93
  },
94
+ studio: {
95
+ execute: resolveStudioExecuteConfig(structured, flat),
96
+ },
88
97
  };
89
98
  }
99
+ function resolveStudioExecuteConfig(structured, flat) {
100
+ // 1. Explicit provider from structured config or env.
101
+ const providerRaw = structured.studio?.execute?.provider ??
102
+ pickFlat(flat, "ASKDB_STUDIO_EXECUTE_PROVIDER");
103
+ let provider;
104
+ if (providerRaw !== undefined && ASKDB_STUDIO_EXECUTE_PROVIDERS.includes(providerRaw)) {
105
+ provider = providerRaw;
106
+ }
107
+ else {
108
+ // 2. Fall back to introspection provider when it is a live execute provider.
109
+ const introspectionProvider = structured.introspection?.provider;
110
+ if (introspectionProvider !== undefined && ASKDB_STUDIO_EXECUTE_PROVIDERS.includes(introspectionProvider)) {
111
+ provider = introspectionProvider;
112
+ }
113
+ else {
114
+ // 3. Default to postgres for backward compatibility.
115
+ provider = "postgres";
116
+ }
117
+ }
118
+ // Connection resolution — each provider draws from its own structured field
119
+ // first, then the relevant flat env key.
120
+ let databaseUrl;
121
+ let file;
122
+ if (provider === "postgres") {
123
+ databaseUrl =
124
+ structured.studio?.execute?.databaseUrl?.trim() ||
125
+ pickFlat(flat, "ASKDB_STUDIO_DATABASE_URL") ||
126
+ (structured.introspection?.provider === "postgres"
127
+ ? structured.introspection.providerConfig?.postgres?.databaseUrl?.trim() ||
128
+ pickFlat(flat, "ASKDB_INTROSPECT_POSTGRES_URL")
129
+ : undefined);
130
+ }
131
+ else if (provider === "mysql") {
132
+ databaseUrl =
133
+ structured.studio?.execute?.databaseUrl?.trim() ||
134
+ pickFlat(flat, "ASKDB_STUDIO_DATABASE_URL") ||
135
+ (structured.introspection?.provider === "mysql"
136
+ ? structured.introspection.providerConfig?.mysql?.databaseUrl?.trim() ||
137
+ pickFlat(flat, "ASKDB_INTROSPECT_MYSQL_URL")
138
+ : undefined);
139
+ }
140
+ else if (provider === "sqlserver") {
141
+ databaseUrl =
142
+ structured.studio?.execute?.databaseUrl?.trim() ||
143
+ pickFlat(flat, "ASKDB_STUDIO_DATABASE_URL") ||
144
+ (structured.introspection?.provider === "sqlserver"
145
+ ? structured.introspection.providerConfig?.sqlserver?.databaseUrl?.trim() ||
146
+ pickFlat(flat, "ASKDB_INTROSPECT_SQLSERVER_URL")
147
+ : undefined);
148
+ }
149
+ else if (provider === "sqlite") {
150
+ file =
151
+ structured.studio?.execute?.file?.trim() ||
152
+ pickFlat(flat, "ASKDB_STUDIO_SQLITE_FILE") ||
153
+ (structured.introspection?.provider === "sqlite"
154
+ ? structured.introspection.providerConfig?.sqlite?.file?.trim() ||
155
+ pickFlat(flat, "ASKDB_INTROSPECT_SQLITE_FILE")
156
+ : undefined);
157
+ }
158
+ return { provider, databaseUrl, file };
159
+ }
90
160
  //# sourceMappingURL=runtime-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAyHvE,SAAS,QAAQ,CAAC,IAAsC,EAAE,GAAW;IACnE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACzD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAE1G,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,MAAM,IAAI,GACR,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI;QAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC;IAEvF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;IACnE,MAAM,YAAY,GAChB,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEhF,MAAM,mBAAmB,GACvB,UAAU,CAAC,aAAa,CAAC,QAAQ,KAAK,QAAQ;QAC5C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;QACrE,CAAC,CAAC,SAAS,CAAC;IAEhB,2EAA2E;IAC3E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,mBAAmB,GACvB,UAAU,CAAC,aAAa,CAAC,QAAQ,KAAK,UAAU;QAC9C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;YACtE,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,gBAAgB,GACpB,UAAU,CAAC,aAAa,CAAC,QAAQ,KAAK,OAAO;QAC3C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;YACnE,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,UAAU,GACd,UAAU,CAAC,aAAa,CAAC,QAAQ,KAAK,QAAQ;QAC5C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7D,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;QAChD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,oBAAoB,GACxB,UAAU,CAAC,aAAa,CAAC,QAAQ,KAAK,WAAW;QAC/C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;YACvE,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,UAAU;QACV,IAAI;QACJ,EAAE,EAAE;YACF,KAAK;SACN;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ;YAC3C,mBAAmB;YACnB,gBAAgB,EAAE,mBAAmB,IAAI,SAAS;YAClD,gBAAgB;YAChB,UAAU;YACV,oBAAoB;YACpB,SAAS,EACP,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;gBACtC,UAAU,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE;gBAC1C,6BAA6B;SAChC;QACD,GAAG,EAAE;YACH,QAAQ,EAAE;gBACR,MAAM,EACJ,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;oBAC5C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;oBAClC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAClC,OAAO,EACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;oBAC7C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;oBACnC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;gBACnC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;aAClD;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;YACrE,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,IAAI,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;YAC1F,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;YACxE,SAAS;SACV;QACD,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACvB;QACD,GAAG,EAAE;YACH,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;SACrE;QACD,KAAK,EAAE;YACL,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;YACtE,uBAAuB,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,YAAY;SAC5F;QACD,OAAO,EAAE;YACP,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B;QACD,MAAM,EAAE;YACN,OAAO,EAAE,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC;SACtD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAiC,EACjC,IAAsC;IAEtC,sDAAsD;IACtD,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ;QACpC,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;IAElD,IAAI,QAAoC,CAAC;IACzC,IAAI,WAAW,KAAK,SAAS,IAAK,8BAAwD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjH,QAAQ,GAAG,WAAyC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,MAAM,qBAAqB,GAAG,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC;QACjE,IAAI,qBAAqB,KAAK,SAAS,IAAK,8BAAwD,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACrI,QAAQ,GAAG,qBAAmD,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,QAAQ,GAAG,UAAU,CAAC;QACxB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,yCAAyC;IACzC,IAAI,WAA+B,CAAC;IACpC,IAAI,IAAwB,CAAC;IAE7B,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,WAAW;YACT,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;gBAC/C,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;gBAC3C,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,KAAK,UAAU;oBAChD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;wBACtE,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;oBACjD,CAAC,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,WAAW;YACT,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;gBAC/C,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;gBAC3C,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,KAAK,OAAO;oBAC7C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;wBACnE,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;oBAC9C,CAAC,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,WAAW;YACT,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;gBAC/C,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;gBAC3C,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,KAAK,WAAW;oBACjD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;wBACvE,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC;oBAClD,CAAC,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI;YACF,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;gBAC1C,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,KAAK,QAAQ;oBAC9C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;wBAC7D,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;oBAChD,CAAC,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { AskDbDialectId, AskDbLogLevel, AskDbModeV1, AskDbRagEmbedder, AskDbRagStore } from "./constants.js";
1
+ import type { AskDbDialectId, AskDbLogLevel, AskDbModeV1, AskDbRagEmbedder, AskDbRagStore, AskDbReasoningEffort, AskDbStudioExecuteProvider } from "./constants.js";
2
2
  /**
3
- * Authoring-time AskDB configuration: nested groups (`ai`, `database`, `introspection`, `rag`, …)
3
+ * Authoring-time AskDB configuration: nested groups (`ai`, `introspection`, `rag`, …)
4
4
  * passed to {@link defineConfig} in `askdb.config.*`, then flattened to canonical env keys for the runtime snapshot.
5
5
  *
6
6
  * Use with TypeScript's `satisfies` operator to validate the object literal without widening it, e.g.
@@ -20,6 +20,13 @@ export type AzureConfig = {
20
20
  /** When unset, `flattenAskDbConfig` applies the default Azure deployment name (see `@askdb/config` defaults). */
21
21
  model?: string;
22
22
  apiVersion?: string;
23
+ /**
24
+ * Underlying model id backing `model` (the deployment name), e.g. `"gpt-5"`
25
+ * or `"o3-mini"`. Deployment names are arbitrary aliases chosen at deploy
26
+ * time, so AskDB can't always infer reasoning-model support from `model`
27
+ * alone — set this when your deployment name doesn't match the model id.
28
+ */
29
+ modelFamily?: string;
23
30
  };
24
31
  export type FoundryConfig = {
25
32
  apiKey?: string;
@@ -27,52 +34,121 @@ export type FoundryConfig = {
27
34
  model?: string;
28
35
  apiVersion?: string;
29
36
  baseUrl?: string;
37
+ /** See {@link AzureConfig.modelFamily}. */
38
+ modelFamily?: string;
39
+ };
40
+ export type AnthropicConfig = {
41
+ apiKey?: string;
42
+ baseUrl?: string;
43
+ /** When unset, `flattenAskDbConfig` applies the default Anthropic chat model (see `@askdb/config` defaults). */
44
+ model?: string;
30
45
  };
31
- /** Placeholder for future providers — not flattened today. */
32
- export type AnthropicConfig = Record<string, never>;
33
46
  export type GoogleConfig = {
34
47
  apiKey?: string;
35
48
  baseUrl?: string;
36
49
  /** When unset, `flattenAskDbConfig` applies the default Gemini chat model (see `@askdb/config` defaults). */
37
50
  model?: string;
38
51
  };
52
+ /**
53
+ * Provider-portable reasoning/latency effort for AskDB model calls. Unset
54
+ * (the default) preserves current behavior: no reasoning `providerOptions`
55
+ * are sent, so the provider/model's own default applies.
56
+ */
57
+ export type AskDbAiReasoningConfig = {
58
+ /** Global default applied to every AskDB model-call site unless overridden below. */
59
+ effort?: AskDbReasoningEffort;
60
+ /**
61
+ * Override for NL→SQL generation calls. This is the accuracy-sensitive
62
+ * path — leave unset (provider default) or use `"medium"`/`"high"`.
63
+ */
64
+ nlToSql?: AskDbReasoningEffort;
65
+ /**
66
+ * Override for enrichment/suggestion calls. These are non-critical, so
67
+ * it's safe to bias toward `"low"`/`"minimal"` for latency/cost.
68
+ */
69
+ enrichment?: AskDbReasoningEffort;
70
+ };
71
+ /** All provider-specific configs as optional fields — intersected per-branch to require only the active provider's key. */
72
+ export type AiProviderConfigs = {
73
+ openai?: OpenaiConfig;
74
+ azure?: AzureConfig;
75
+ foundry?: FoundryConfig;
76
+ anthropic?: AnthropicConfig;
77
+ google?: GoogleConfig;
78
+ };
39
79
  /** Discriminated union branch for `ai` when `provider` is `"openai"`. */
40
80
  export type OpenaiAiConfig = {
41
81
  provider: "openai";
42
- providerConfig: {
82
+ providerConfig: AiProviderConfigs & {
43
83
  openai: OpenaiConfig;
44
84
  };
85
+ reasoning?: AskDbAiReasoningConfig;
45
86
  };
46
87
  /** Discriminated union branch for `ai` when `provider` is `"azure"`. */
47
88
  export type AzureAiConfig = {
48
89
  provider: "azure";
49
- providerConfig: {
90
+ providerConfig: AiProviderConfigs & {
50
91
  azure: AzureConfig;
51
92
  };
93
+ reasoning?: AskDbAiReasoningConfig;
52
94
  };
53
95
  /** Discriminated union branch for `ai` when `provider` is `"foundry"`. */
54
96
  export type FoundryAiConfig = {
55
97
  provider: "foundry";
56
- providerConfig: {
98
+ providerConfig: AiProviderConfigs & {
57
99
  foundry: FoundryConfig;
58
100
  };
101
+ reasoning?: AskDbAiReasoningConfig;
59
102
  };
60
- /** Placeholder — not yet supported; `flattenAskDbConfig` throws. */
103
+ /** Discriminated union branch for `ai` when `provider` is `"anthropic"`. */
61
104
  export type AnthropicAiConfig = {
62
105
  provider: "anthropic";
63
- providerConfig: {
106
+ providerConfig: AiProviderConfigs & {
64
107
  anthropic: AnthropicConfig;
65
108
  };
109
+ reasoning?: AskDbAiReasoningConfig;
66
110
  };
67
- /** Placeholder — not yet supported; `flattenAskDbConfig` throws. */
111
+ /** Discriminated union branch for `ai` when `provider` is `"google"`. */
68
112
  export type GoogleAiConfig = {
69
113
  provider: "google";
70
- providerConfig: {
114
+ providerConfig: AiProviderConfigs & {
71
115
  google: GoogleConfig;
72
116
  };
117
+ reasoning?: AskDbAiReasoningConfig;
118
+ };
119
+ /** Generic connection settings for a provider AskDB has no dedicated branch for.
120
+ * Flattened to the universal ASKDB_AI_* keys; works end to end only when the
121
+ * consuming registry has an adapter registered under this provider name. */
122
+ export type CustomProviderConfig = {
123
+ apiKey?: string;
124
+ baseUrl?: string;
125
+ model?: string;
73
126
  };
74
- /** Discriminated union of all supported (and placeholder) AI provider branches. */
75
- export type AskDbAiConfig = OpenaiAiConfig | AzureAiConfig | FoundryAiConfig | AnthropicAiConfig | GoogleAiConfig;
127
+ /** Branch for custom/third-party providers. `(string & {})` preserves literal
128
+ * autocomplete for the known providers while accepting any other string.
129
+ *
130
+ * **Type-level hole**: TypeScript cannot exclude specific string literals from
131
+ * `string & {}`, so every known provider literal (`"openai"`, `"azure"`, …) is
132
+ * technically assignable to this branch as well. As a result, a misconfigured
133
+ * object like `{ provider: "openai" }` (no `providerConfig`) compiles without
134
+ * error. `flattenAskDbConfig` closes this gap at runtime: it calls
135
+ * `requireProviderBranch` in each known-provider branch, which throws a clear
136
+ * `askdb.config: ai.providerConfig.<provider> is required …` error instead of
137
+ * crashing with a raw `TypeError` when the expected branch is absent. */
138
+ export type CustomAiConfig = {
139
+ /** Any provider string not covered by a first-party branch. Works end to end
140
+ * only when the host registry has an adapter registered under this name.
141
+ * See the three-tier model: known literal (zero code) → custom string + registered
142
+ * adapter (~40 lines) → BYO `LanguageModel` via `ask({ model })` (no config). */
143
+ provider: string & {};
144
+ providerConfig?: {
145
+ custom?: CustomProviderConfig;
146
+ };
147
+ reasoning?: AskDbAiReasoningConfig;
148
+ };
149
+ /** Discriminated union of all supported AI provider branches plus the generic
150
+ * custom-provider escape hatch for third-party or host-registered adapters. */
151
+ export type AskDbAiConfig = OpenaiAiConfig | AzureAiConfig | FoundryAiConfig | AnthropicAiConfig | GoogleAiConfig | CustomAiConfig;
76
152
  export type OpenaiRagEmbedderConfig = {
77
153
  model?: string;
78
154
  /** Raw env string or number; positive integer parsed in {@link flattenAskDbConfig}, else derived from `model`. */
@@ -96,18 +172,51 @@ export type PgvectorStoreConfig = {
96
172
  /** When unset, {@link flattenAskDbConfig} uses `hnsw`. */
97
173
  indexStrategy?: string;
98
174
  };
175
+ /** All introspection provider-specific configs as optional fields — allows storing multiple provider configs simultaneously. */
176
+ export type IntrospectionProviderConfigs = {
177
+ postgres?: {
178
+ /**
179
+ * Postgres connection URL for live introspection (maps to `ASKDB_INTROSPECT_POSTGRES_URL`).
180
+ * When omitted, pass `--url` to `askdb introspect` or set `ASKDB_INTROSPECT_POSTGRES_URL` in env.
181
+ */
182
+ databaseUrl?: string;
183
+ };
184
+ prisma?: {
185
+ /**
186
+ * Path to a `schema.prisma` file or directory containing `.prisma` files.
187
+ * When omitted, `@askdb/prisma` auto-discovers `prisma/schema.prisma` or `schema.prisma`
188
+ * in the project root — no explicit path needed.
189
+ */
190
+ schemaPath?: string;
191
+ };
192
+ mysql?: {
193
+ /**
194
+ * MySQL connection URL (e.g. `mysql://user:pass@host:port/database`).
195
+ * When omitted, pass `--url` to `askdb introspect` or set `ASKDB_INTROSPECT_MYSQL_URL` in env.
196
+ */
197
+ databaseUrl?: string;
198
+ };
199
+ sqlite?: {
200
+ /**
201
+ * Path to a `.db` / `.sqlite` file (or `:memory:` for an empty DB). Required —
202
+ * SQLite has no URL-shaped fallback because `DATABASE_URL` is typically a URL
203
+ * for a network engine.
204
+ */
205
+ file?: string;
206
+ };
207
+ sqlserver?: {
208
+ /**
209
+ * Microsoft SQL Server connection URL (mssql URI form or the equivalent
210
+ * `Server=...;` connection string). When omitted, pass `--url` to `askdb introspect`
211
+ * or set `ASKDB_INTROSPECT_SQLSERVER_URL` in env.
212
+ */
213
+ databaseUrl?: string;
214
+ };
215
+ };
99
216
  /** Discriminated union branch for `introspection` when `provider` is `"postgres"`. */
100
217
  export type PostgresIntrospectionConfig = {
101
218
  provider: "postgres";
102
- providerConfig?: {
103
- postgres?: {
104
- /**
105
- * When omitted or blank, live introspection reuses the resolved `DATABASE_URL` from the
106
- * `database` section. Set this only for an introspection-only URL.
107
- */
108
- databaseUrl?: string;
109
- };
110
- };
219
+ providerConfig?: IntrospectionProviderConfigs;
111
220
  /**
112
221
  * Default introspection output directory (maps to `ASKDB_INTROSPECT_OUT`).
113
222
  * When unset/blank, `flattenAskDbConfig` uses the package default `./askdb/`.
@@ -117,16 +226,7 @@ export type PostgresIntrospectionConfig = {
117
226
  /** Discriminated union branch for `introspection` when `provider` is `"prisma"`. */
118
227
  export type PrismaIntrospectionConfig = {
119
228
  provider: "prisma";
120
- providerConfig?: {
121
- prisma?: {
122
- /**
123
- * Path to a `schema.prisma` file or directory containing `.prisma` files.
124
- * When omitted, `@askdb/prisma` auto-discovers `prisma/schema.prisma` or `schema.prisma`
125
- * in the project root — no explicit path needed.
126
- */
127
- schemaPath?: string;
128
- };
129
- };
229
+ providerConfig?: IntrospectionProviderConfigs;
130
230
  /**
131
231
  * Default introspection output directory (maps to `ASKDB_INTROSPECT_OUT`).
132
232
  * When unset/blank, `flattenAskDbConfig` uses the package default `./askdb/`.
@@ -136,17 +236,7 @@ export type PrismaIntrospectionConfig = {
136
236
  /** Discriminated union branch for `introspection` when `provider` is `"mysql"`. */
137
237
  export type MysqlIntrospectionConfig = {
138
238
  provider: "mysql";
139
- providerConfig?: {
140
- mysql?: {
141
- /**
142
- * MySQL connection URL (e.g. `mysql://user:pass@host:port/database`).
143
- * When omitted, `flattenAskDbConfig` falls back to the top-level `DATABASE_URL`
144
- * resolved from the `database` section / env, since the `database` block remains
145
- * Postgres-only today.
146
- */
147
- databaseUrl?: string;
148
- };
149
- };
239
+ providerConfig?: IntrospectionProviderConfigs;
150
240
  /**
151
241
  * Default introspection output directory (maps to `ASKDB_INTROSPECT_OUT`).
152
242
  * When unset/blank, `flattenAskDbConfig` uses the package default `./askdb/`.
@@ -156,16 +246,7 @@ export type MysqlIntrospectionConfig = {
156
246
  /** Discriminated union branch for `introspection` when `provider` is `"sqlite"`. */
157
247
  export type SqliteIntrospectionConfig = {
158
248
  provider: "sqlite";
159
- providerConfig?: {
160
- sqlite?: {
161
- /**
162
- * Path to a `.db` / `.sqlite` file (or `:memory:` for an empty DB). Required —
163
- * SQLite has no URL-shaped fallback because `DATABASE_URL` is typically a URL
164
- * for a network engine.
165
- */
166
- file?: string;
167
- };
168
- };
249
+ providerConfig?: IntrospectionProviderConfigs;
169
250
  /**
170
251
  * Default introspection output directory (maps to `ASKDB_INTROSPECT_OUT`).
171
252
  * When unset/blank, `flattenAskDbConfig` uses the package default `./askdb/`.
@@ -175,16 +256,7 @@ export type SqliteIntrospectionConfig = {
175
256
  /** Discriminated union branch for `introspection` when `provider` is `"sqlserver"`. */
176
257
  export type SqlServerIntrospectionConfig = {
177
258
  provider: "sqlserver";
178
- providerConfig?: {
179
- sqlserver?: {
180
- /**
181
- * Microsoft SQL Server connection URL (mssql URI form or the equivalent
182
- * `Server=...;` connection string). When omitted, falls back to
183
- * `DATABASE_URL`, same as the MySQL branch.
184
- */
185
- databaseUrl?: string;
186
- };
187
- };
259
+ providerConfig?: IntrospectionProviderConfigs;
188
260
  /**
189
261
  * Default introspection output directory (maps to `ASKDB_INTROSPECT_OUT`).
190
262
  * When unset/blank, `flattenAskDbConfig` uses the package default `./askdb/`.
@@ -197,25 +269,12 @@ export type AskDbIntrospectionConfig = PostgresIntrospectionConfig | PrismaIntro
197
269
  * Root shape for `export default defineConfig({ ... })` in `askdb.config.*`.
198
270
  *
199
271
  * - **`ai`**: LLM provider discriminated union — selecting `provider` determines which `providerConfig` branch is required.
200
- * - **`database`**: primary app DB (Postgres today); supplies default `DATABASE_URL`.
201
- * - **`introspection`**: target engine for `askdb introspect` (postgres / prisma / mysql / sqlite / sqlserver) — selecting `provider` determines which `providerConfig` branch is valid.
272
+ * - **`introspection`**: target engine for `askdb introspect` (postgres / prisma / mysql / sqlite / sqlserver) — selecting `provider` determines which `providerConfig` branch is valid. Each branch holds the connection URL/path for that engine.
202
273
  * - **`rag`**: embedder + store branches flattened to `ASKDB_RAG_*` / `ASKDB_PGVECTOR_URL` / file paths.
203
274
  * - **`logging` | `modes` | `host`**: optional operational defaults.
204
275
  */
205
276
  export type AskDbConfig = {
206
277
  ai: AskDbAiConfig;
207
- database: {
208
- provider: "postgres";
209
- providerConfig: {
210
- /**
211
- * When unset/blank, `flattenAskDbConfig` uses the package default local Postgres URL.
212
- * Use `env("DATABASE_URL")` (or another key) in `askdb.config.*` to supply a URL from `.env`.
213
- */
214
- postgres: {
215
- databaseUrl?: string;
216
- };
217
- };
218
- };
219
278
  introspection: AskDbIntrospectionConfig;
220
279
  /**
221
280
  * Override the NL→SQL dialect. When unset, the dialect is inferred from the
@@ -258,12 +317,28 @@ export type AskDbConfig = {
258
317
  dev?: {
259
318
  mockSql?: string;
260
319
  };
261
- /** Studio browser server listen defaults. */
320
+ /** Studio browser server listen and query-execution defaults. */
262
321
  studio?: {
263
322
  listen?: {
264
323
  host?: string;
265
324
  port?: number;
266
325
  };
326
+ /** Query execution against a live database from the Studio playground. */
327
+ execute?: {
328
+ /**
329
+ * Explicit live-execute provider. When omitted, Studio falls back to the active
330
+ * introspection provider when it is a live engine, then defaults to `"postgres"`.
331
+ * Maps to `ASKDB_STUDIO_EXECUTE_PROVIDER`.
332
+ */
333
+ provider?: AskDbStudioExecuteProvider;
334
+ /** Connection URL used by `POST /api/execute` for network databases (maps to `ASKDB_STUDIO_DATABASE_URL`). */
335
+ databaseUrl?: string;
336
+ /**
337
+ * SQLite file path used by `POST /api/execute` when `provider === "sqlite"`.
338
+ * Maps to `ASKDB_STUDIO_SQLITE_FILE`.
339
+ */
340
+ file?: string;
341
+ };
267
342
  };
268
343
  /** HTTP API server defaults (first-party `apps/http-api`). */
269
344
  httpApi?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdb/config",
3
- "version": "0.3.0-beta.4",
3
+ "version": "1.0.0-beta.10",
4
4
  "description": "AskDB configuration helpers: Prisma-style env() and askdb.config file discovery for first-party apps.",
5
5
  "keywords": [
6
6
  "askdb",
@@ -39,12 +39,12 @@
39
39
  "node": ">=20"
40
40
  },
41
41
  "dependencies": {
42
- "dotenv": "^16.6.1",
43
- "jiti": "^2.4.2"
42
+ "dotenv": "^17.4.2",
43
+ "jiti": "^2.7.0"
44
44
  },
45
45
  "devDependencies": {
46
- "typescript": "^5.7.3",
47
- "vitest": "^3.0.9"
46
+ "typescript": "^6.0.3",
47
+ "vitest": "^4.1.10"
48
48
  },
49
49
  "scripts": {
50
50
  "build": "tsc -p tsconfig.build.json",