@askdb/config 1.0.0-beta.16 → 1.0.0-beta.17

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.
Files changed (43) hide show
  1. package/README.md +4 -4
  2. package/dist/ai-env.d.ts +31 -0
  3. package/dist/ai-env.d.ts.map +1 -0
  4. package/dist/ai-env.js +88 -0
  5. package/dist/ai-env.js.map +1 -0
  6. package/dist/defaults.d.ts +1 -19
  7. package/dist/defaults.d.ts.map +1 -1
  8. package/dist/defaults.js +1 -57
  9. package/dist/defaults.js.map +1 -1
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/load-merge.js +1 -1
  15. package/dist/load-merge.js.map +1 -1
  16. package/dist/projection.d.ts +6 -0
  17. package/dist/projection.d.ts.map +1 -1
  18. package/dist/projection.js +11 -4
  19. package/dist/projection.js.map +1 -1
  20. package/dist/resolve.d.ts +36 -0
  21. package/dist/resolve.d.ts.map +1 -0
  22. package/dist/{normalize.js → resolve.js} +377 -7
  23. package/dist/resolve.js.map +1 -0
  24. package/dist/runtime-config.d.ts +5 -173
  25. package/dist/runtime-config.d.ts.map +1 -1
  26. package/dist/runtime-config.js +18 -222
  27. package/dist/runtime-config.js.map +1 -1
  28. package/dist/runtime-store.d.ts +9 -5
  29. package/dist/runtime-store.d.ts.map +1 -1
  30. package/dist/runtime-store.js +8 -7
  31. package/dist/runtime-store.js.map +1 -1
  32. package/dist/runtime-types.d.ts +176 -0
  33. package/dist/runtime-types.d.ts.map +1 -0
  34. package/dist/runtime-types.js +2 -0
  35. package/dist/runtime-types.js.map +1 -0
  36. package/package.json +1 -1
  37. package/dist/flatten.d.ts +0 -14
  38. package/dist/flatten.d.ts.map +0 -1
  39. package/dist/flatten.js +0 -255
  40. package/dist/flatten.js.map +0 -1
  41. package/dist/normalize.d.ts +0 -58
  42. package/dist/normalize.d.ts.map +0 -1
  43. package/dist/normalize.js.map +0 -1
package/dist/flatten.js DELETED
@@ -1,255 +0,0 @@
1
- import { ASKDB_LOG_LEVELS, ASKDB_MODES_V1, ASKDB_RAG_STORES, } from "./constants.js";
2
- import { DEFAULT_INTROSPECT_OUTPUT_DIR, DEFAULT_MOCK_RAG_EMBEDDING_DIMENSIONS, normalizePgvectorIndexStrategy, parseHttpApiListenPort, parseHttpApiRequestTimeoutMs, parsePositiveInteger, } from "./defaults.js";
3
- import { isMember, normalizeAskDbConfig, } from "./normalize.js";
4
- function set(out, key, value) {
5
- if (value === undefined)
6
- return;
7
- const t = value.trim();
8
- if (t === "")
9
- return;
10
- out[key] = t;
11
- }
12
- /** Writes a connection's settings under the env keys `provider`'s `@askdb/ai` adapter reads. */
13
- function applyAiConnection(out, provider, connection) {
14
- switch (provider) {
15
- case "openai":
16
- set(out, "OPENAI_API_KEY", connection.apiKey);
17
- set(out, "OPENAI_BASE_URL", connection.baseUrl);
18
- return;
19
- case "anthropic":
20
- set(out, "ANTHROPIC_API_KEY", connection.apiKey);
21
- set(out, "ANTHROPIC_BASE_URL", connection.baseUrl);
22
- return;
23
- case "google":
24
- set(out, "GOOGLE_GENERATIVE_AI_API_KEY", connection.apiKey);
25
- set(out, "GOOGLE_AI_BASE_URL", connection.baseUrl);
26
- return;
27
- case "gateway":
28
- set(out, "AI_GATEWAY_API_KEY", connection.apiKey);
29
- set(out, "ASKDB_AI_BASE_URL", connection.baseUrl);
30
- return;
31
- case "azure":
32
- case "foundry":
33
- // `@askdb/core` treats `foundry` like Azure for env parsing.
34
- set(out, "AZURE_OPENAI_API_KEY", connection.apiKey);
35
- set(out, "AZURE_OPENAI_API_KEY_SECONDARY", connection.secondaryApiKey);
36
- set(out, "ASKDB_AI_AZURE_RESOURCE_NAME", connection.resourceName);
37
- set(out, "AZURE_OPENAI_BASE_URL", connection.baseUrl);
38
- set(out, "AZURE_OPENAI_API_VERSION", connection.apiVersion);
39
- return;
40
- default:
41
- // Custom/third-party provider: the universal ASKDB_AI_* keys that @askdb/ai's
42
- // resolveBaseConfig honors for every registered adapter. Works end to end only when the
43
- // host registry contains an adapter with this provider name.
44
- set(out, "ASKDB_AI_API_KEY", connection.apiKey);
45
- set(out, "ASKDB_AI_BASE_URL", connection.baseUrl);
46
- }
47
- }
48
- function applyLanguageModel(out, section) {
49
- const { provider, model } = section;
50
- if (provider === "openai") {
51
- set(out, "OPENAI_MODEL", model);
52
- set(out, "ASKDB_MODEL", model);
53
- }
54
- else if (provider === "azure" || provider === "foundry") {
55
- set(out, "AZURE_OPENAI_DEPLOYMENT", model);
56
- set(out, "AZURE_DEPLOYMENT_NAME", model);
57
- set(out, "ASKDB_AI_MODEL", model);
58
- set(out, "ASKDB_AI_AZURE_MODEL_FAMILY", section.modelFamily);
59
- }
60
- else {
61
- set(out, "ASKDB_AI_MODEL", model);
62
- }
63
- }
64
- function applyReasoningAi(out, reasoning) {
65
- if (!reasoning)
66
- return;
67
- set(out, "ASKDB_AI_REASONING_EFFORT", reasoning.effort);
68
- set(out, "ASKDB_AI_REASONING_EFFORT_NL_TO_SQL", reasoning.nlToSql);
69
- set(out, "ASKDB_AI_REASONING_EFFORT_ENRICHMENT", reasoning.enrichment);
70
- }
71
- /** The env view of `ai.language`: its provider, its connection only, its model and reasoning. */
72
- export function aiLanguageEnv(section) {
73
- const out = {};
74
- set(out, "ASKDB_AI_PROVIDER", section.provider);
75
- applyAiConnection(out, section.provider, section.connection);
76
- applyLanguageModel(out, section);
77
- applyReasoningAi(out, section.reasoning);
78
- return out;
79
- }
80
- /** The env view of `ai.embedding`: its provider, its connection only, and its model. Nothing from the language side. */
81
- export function aiEmbeddingEnv(section) {
82
- const out = {};
83
- set(out, "ASKDB_AI_PROVIDER", section.provider);
84
- applyAiConnection(out, section.provider, section.connection);
85
- set(out, "ASKDB_AI_EMBEDDING_MODEL", section.model);
86
- return out;
87
- }
88
- /**
89
- * Flattens a nested {@link AskDbConfig} into canonical env keys for the runtime snapshot
90
- * (`AskDbEnvProjection.entries`). Deprecated keys are translated first (see
91
- * `normalizeAskDbConfig`); the AI keys come from the `ai.language` section's connection.
92
- */
93
- export function flattenAskDbConfig(config) {
94
- return flattenNormalizedAskDbConfig(normalizeAskDbConfig(config).config);
95
- }
96
- export function flattenNormalizedAskDbConfig(config) {
97
- const out = {};
98
- // --- AI ---
99
- Object.assign(out, aiLanguageEnv(config.ai.language));
100
- // --- Introspection ---
101
- const intro = config.introspection;
102
- if (intro.provider === "postgres") {
103
- set(out, "ASKDB_INTROSPECT_POSTGRES_URL", intro.providerConfig?.postgres?.databaseUrl);
104
- }
105
- else if (intro.provider === "prisma") {
106
- // schemaPath lives in structured config (introspection.providerConfig.prisma.schemaPath);
107
- // @askdb/prisma discovers it at runtime — no flat env key needed.
108
- }
109
- else if (intro.provider === "mysql") {
110
- set(out, "ASKDB_INTROSPECT_MYSQL_URL", intro.providerConfig?.mysql?.databaseUrl);
111
- }
112
- else if (intro.provider === "sqlite") {
113
- set(out, "ASKDB_INTROSPECT_SQLITE_FILE", intro.providerConfig?.sqlite?.file);
114
- }
115
- else if (intro.provider === "sqlserver") {
116
- set(out, "ASKDB_INTROSPECT_SQLSERVER_URL", intro.providerConfig?.sqlserver?.databaseUrl);
117
- }
118
- const outDir = intro.outputDir?.trim() || DEFAULT_INTROSPECT_OUTPUT_DIR;
119
- set(out, "ASKDB_INTROSPECT_OUT", outDir);
120
- set(out, "ASKDB_INTROSPECT_SCHEMAS", intro.schemas?.join(","));
121
- // --- RAG ---
122
- const rag = config.rag;
123
- set(out, "ASKDB_RAG_EMBEDDER", rag.embedder);
124
- const embedding = config.ai.embedding;
125
- const width = embedding?.dimensions;
126
- if (embedding) {
127
- set(out, "ASKDB_RAG_EMBEDDER_MODEL", embedding.model);
128
- if (width !== undefined)
129
- set(out, "ASKDB_RAG_EMBEDDER_DIMENSIONS", String(width));
130
- }
131
- if (!isMember(rag.store, ASKDB_RAG_STORES)) {
132
- throw new Error(`askdb.config: invalid rag.store "${rag.store}" (expected one of: ${ASKDB_RAG_STORES.join(", ")}).`);
133
- }
134
- if (rag.store === "file") {
135
- const f = rag.storeConfig.file;
136
- if (!f)
137
- throw new Error('askdb.config: rag.store is "file" but `rag.storeConfig.file` is missing.');
138
- // Unset, the CLI and Studio use `<schema dir>/schema`.
139
- const basePath = f.basePath?.trim();
140
- if (basePath)
141
- set(out, "ASKDB_RAG_FILE_BASE_PATH", basePath);
142
- }
143
- else if (rag.store === "memory") {
144
- // no env keys
145
- }
146
- else if (rag.store === "pgvector") {
147
- const p = rag.storeConfig.pgvector;
148
- if (!p)
149
- throw new Error('askdb.config: rag.store is "pgvector" but `rag.storeConfig.pgvector` is missing.');
150
- const url = p.databaseUrl?.trim();
151
- if (!url) {
152
- throw new Error('askdb.config: rag.store is "pgvector" but `storeConfig.pgvector.databaseUrl` is missing (set ASKDB_PGVECTOR_URL via env in askdb.config).');
153
- }
154
- set(out, "ASKDB_PGVECTOR_URL", url);
155
- // With `rag.embedder: "ai"`, normalization has already moved any pgvector width to ai.embedding,
156
- // where it's only a size to request: unset, the model's own width applies, learned at index time.
157
- // The mock embedder's vectors are always 64 wide, whatever rag.storeConfig.pgvector.dimensions says.
158
- const pgDims = embedding ? width : DEFAULT_MOCK_RAG_EMBEDDING_DIMENSIONS;
159
- if (pgDims !== undefined)
160
- set(out, "ASKDB_RAG_EMBEDDER_DIMENSIONS", String(pgDims));
161
- const strategy = normalizePgvectorIndexStrategy(typeof p.indexStrategy === "string" ? p.indexStrategy : undefined);
162
- set(out, "ASKDB_PGVECTOR_INDEX_STRATEGY", strategy);
163
- }
164
- // --- Logging ---
165
- if (config.logging?.level) {
166
- const lvl = config.logging.level;
167
- if (!isMember(lvl, ASKDB_LOG_LEVELS)) {
168
- throw new Error(`askdb.config: invalid logging.level "${lvl}" (expected one of: ${ASKDB_LOG_LEVELS.join(", ")}).`);
169
- }
170
- set(out, "ASKDB_LOG_LEVEL", lvl);
171
- }
172
- set(out, "ASKDB_CORRELATION_ID", config.logging?.correlationId);
173
- // --- Modes ---
174
- if (config.modes?.askdbMode) {
175
- const m = config.modes.askdbMode;
176
- if (!isMember(m, ASKDB_MODES_V1)) {
177
- throw new Error(`askdb.config: invalid modes.askdbMode "${m}" (expected one of: ${ASKDB_MODES_V1.join(", ")}).`);
178
- }
179
- set(out, "ASKDB_MODE", m);
180
- }
181
- if (config.modes?.omitSensitiveFromPrompt === true) {
182
- set(out, "ASKDB_OMIT_SENSITIVE_FROM_PROMPT", "true");
183
- }
184
- // --- Host ---
185
- set(out, "ASKDB_SCHEMA_PATH", config.host?.schemaPath);
186
- set(out, "ASKDB_SCHEMA_JSON", config.host?.schemaJson);
187
- if (config.logging?.logFile) {
188
- set(out, "ASKDB_LOG_FILE", config.logging.logFile);
189
- }
190
- if (config.logging?.logStdout === true) {
191
- set(out, "ASKDB_LOG_STDOUT", "true");
192
- }
193
- // --- Dev ---
194
- if (config.dev?.mockSql) {
195
- set(out, "ASKDB_MOCK_SQL", config.dev.mockSql);
196
- }
197
- // --- Studio ---
198
- if (config.studio?.listen?.host) {
199
- set(out, "ASKDB_STUDIO_HOST", config.studio.listen.host);
200
- }
201
- if (config.studio?.listen?.port !== undefined && !Number.isNaN(config.studio.listen.port)) {
202
- set(out, "ASKDB_STUDIO_PORT", String(config.studio.listen.port));
203
- }
204
- set(out, "ASKDB_STUDIO_EXECUTE_PROVIDER", config.studio?.execute?.provider);
205
- set(out, "ASKDB_STUDIO_DATABASE_URL", config.studio?.execute?.databaseUrl);
206
- set(out, "ASKDB_STUDIO_SQLITE_FILE", config.studio?.execute?.file);
207
- const studioExecute = config.studio?.execute;
208
- if (studioExecute?.enabled !== undefined) {
209
- if (typeof studioExecute.enabled !== "boolean") {
210
- throw new Error("askdb.config: studio.execute.enabled must be a boolean.");
211
- }
212
- set(out, "ASKDB_STUDIO_EXECUTE_ENABLED", String(studioExecute.enabled));
213
- }
214
- if (studioExecute?.useIntrospectionConnection !== undefined) {
215
- if (typeof studioExecute.useIntrospectionConnection !== "boolean") {
216
- throw new Error("askdb.config: studio.execute.useIntrospectionConnection must be a boolean.");
217
- }
218
- set(out, "ASKDB_STUDIO_EXECUTE_USE_INTROSPECTION_CONNECTION", String(studioExecute.useIntrospectionConnection));
219
- }
220
- for (const [field, key] of [
221
- ["timeoutMs", "ASKDB_STUDIO_EXECUTE_TIMEOUT_MS"],
222
- ["maxRows", "ASKDB_STUDIO_EXECUTE_MAX_ROWS"],
223
- ]) {
224
- const raw = studioExecute?.[field];
225
- if (raw === undefined)
226
- continue;
227
- const n = parsePositiveInteger(raw);
228
- if (n === undefined) {
229
- throw new Error(`askdb.config: studio.execute.${field} must be a positive integer (got ${JSON.stringify(raw)}).`);
230
- }
231
- set(out, key, String(n));
232
- }
233
- // --- HTTP API listen (canonical keys on runtime flat map) ---
234
- const httpListen = config.httpApi?.listen;
235
- const port = parseHttpApiListenPort(httpListen?.port, "httpApi.listen.port");
236
- if (port !== undefined)
237
- set(out, "PORT", String(port));
238
- if (httpListen?.host) {
239
- set(out, "HOST", httpListen.host);
240
- }
241
- const allowSchemaOverride = config.httpApi?.allowSchemaOverride;
242
- if (allowSchemaOverride !== undefined) {
243
- if (typeof allowSchemaOverride !== "boolean") {
244
- throw new Error("askdb.config: httpApi.allowSchemaOverride must be a boolean.");
245
- }
246
- if (allowSchemaOverride)
247
- set(out, "ASKDB_HTTP_ALLOW_SCHEMA_OVERRIDE", "true");
248
- }
249
- const requestTimeoutMs = parseHttpApiRequestTimeoutMs(config.httpApi?.requestTimeoutMs, "httpApi.requestTimeoutMs");
250
- if (requestTimeoutMs !== undefined) {
251
- set(out, "ASKDB_HTTP_REQUEST_TIMEOUT_MS", String(requestTimeoutMs));
252
- }
253
- return out;
254
- }
255
- //# sourceMappingURL=flatten.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatten.js","sourceRoot":"","sources":["../src/flatten.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import { type AskDbRagStore } from "./constants.js";
2
- import type { AskDbAiReasoningConfig, AskDbConfig } from "./types.js";
3
- /** Every setting a built-in provider connection can carry, besides its name. */
4
- declare const CONNECTION_FIELDS: readonly ["apiKey", "secondaryApiKey", "resourceName", "baseUrl", "apiVersion"];
5
- type ConnectionSettings = {
6
- [Field in (typeof CONNECTION_FIELDS)[number]]?: string;
7
- };
8
- /** A provider connection after normalization: its settings, trimmed, plus its name. */
9
- export type NormalizedAiConnection = ConnectionSettings & {
10
- name: string;
11
- };
12
- export type NormalizedAiLanguageSection = {
13
- provider: string;
14
- connection: NormalizedAiConnection;
15
- /** `ai.language.model`, else the provider's default language model (none for a custom provider). */
16
- model: string | undefined;
17
- modelFamily: string | undefined;
18
- reasoning: AskDbAiReasoningConfig | undefined;
19
- };
20
- export type NormalizedAiEmbeddingSection = {
21
- provider: string;
22
- connection: NormalizedAiConnection;
23
- model: string;
24
- /** The configured `ai.embedding.dimensions`; `undefined` leaves the width to the model. */
25
- dimensions: number | undefined;
26
- };
27
- /** {@link AskDbConfig} with every deprecated key translated and both AI sections resolved. */
28
- export type NormalizedAskDbConfig = Omit<AskDbConfig, "ai" | "rag"> & {
29
- ai: {
30
- language: NormalizedAiLanguageSection;
31
- /** Undefined unless `rag.embedder` is `"ai"` (after translating the deprecated embedders). */
32
- embedding: NormalizedAiEmbeddingSection | undefined;
33
- };
34
- rag: {
35
- embedder: "mock" | "ai";
36
- store: AskDbRagStore;
37
- storeConfig: NonNullable<AskDbConfig["rag"]>["storeConfig"];
38
- };
39
- };
40
- export declare function isMember<T extends readonly string[]>(value: string, allowed: T): value is T[number];
41
- /**
42
- * A plain `{ ... }` object: not null, an array, a Promise or a module namespace. Read through
43
- * `Object.prototype.toString`, so an object from another realm still counts.
44
- */
45
- export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
46
- /**
47
- * Translates every deprecated `ai` / `rag` key to the current shape and resolves the
48
- * `ai.language` and `ai.embedding` sections to a provider, a connection and a model. Pure: it
49
- * reads no environment, and returns one deprecation message per legacy key in use (each names
50
- * the old and new location, never a value). Throws `askdb.config: …` errors for a config that
51
- * can't load.
52
- */
53
- export declare function normalizeAskDbConfig(config: AskDbConfig): {
54
- config: NormalizedAskDbConfig;
55
- deprecations: string[];
56
- };
57
- export {};
58
- //# sourceMappingURL=normalize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAYxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtE,gFAAgF;AAChF,QAAA,MAAM,iBAAiB,iFAAkF,CAAC;AAE1G,KAAK,kBAAkB,GAAG;KAAG,KAAK,IAAI,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAErF,uFAAuF;AACvF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,sBAAsB,CAAC;IACnC,oGAAoG;IACpG,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,sBAAsB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG;IACpE,EAAE,EAAE;QACF,QAAQ,EAAE,2BAA2B,CAAC;QACtC,8FAA8F;QAC9F,SAAS,EAAE,4BAA4B,GAAG,SAAS,CAAC;KACrD,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,EAAE,aAAa,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KAC7D,CAAC;CACH,CAAC;AA8BF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAEnG;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9E;AAsSD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG;IACzD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAwNA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}