@askdb/config 1.0.0-beta.12 → 1.0.0-beta.14
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 +20 -17
- package/dist/bootstrap.d.ts +3 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +16 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/constants.d.ts +15 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +15 -4
- package/dist/constants.js.map +1 -1
- package/dist/defaults.d.ts +33 -1
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js +46 -10
- package/dist/defaults.js.map +1 -1
- package/dist/diagnostics.d.ts +10 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +13 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/flatten.d.ts +8 -1
- package/dist/flatten.d.ts.map +1 -1
- package/dist/flatten.js +100 -116
- package/dist/flatten.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/normalize.d.ts +53 -0
- package/dist/normalize.d.ts.map +1 -0
- package/dist/normalize.js +398 -0
- package/dist/normalize.js.map +1 -0
- package/dist/projection.d.ts +12 -1
- package/dist/projection.d.ts.map +1 -1
- package/dist/projection.js +12 -3
- package/dist/projection.js.map +1 -1
- package/dist/runtime-config.d.ts +43 -3
- package/dist/runtime-config.d.ts.map +1 -1
- package/dist/runtime-config.js +57 -12
- package/dist/runtime-config.js.map +1 -1
- package/dist/runtime-store.d.ts +5 -0
- package/dist/runtime-store.d.ts.map +1 -1
- package/dist/runtime-store.js +20 -5
- package/dist/runtime-store.js.map +1 -1
- package/dist/scaffold/ai.d.ts +30 -0
- package/dist/scaffold/ai.d.ts.map +1 -0
- package/dist/scaffold/ai.js +54 -0
- package/dist/scaffold/ai.js.map +1 -0
- package/dist/scaffold/index.d.ts +8 -0
- package/dist/scaffold/index.d.ts.map +1 -0
- package/dist/scaffold/index.js +7 -0
- package/dist/scaffold/index.js.map +1 -0
- package/dist/types.d.ts +174 -106
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -4
package/dist/runtime-config.js
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import { ASKDB_STUDIO_EXECUTE_PROVIDERS } from "./constants.js";
|
|
2
|
-
import { DEFAULT_INTROSPECT_OUTPUT_DIR, DEFAULT_STUDIO_EXECUTE_MAX_ROWS, DEFAULT_STUDIO_EXECUTE_TIMEOUT_MS, parsePositiveInteger, } from "./defaults.js";
|
|
2
|
+
import { DEFAULT_HTTP_API_REQUEST_TIMEOUT_MS, DEFAULT_INTROSPECT_OUTPUT_DIR, DEFAULT_STUDIO_EXECUTE_MAX_ROWS, DEFAULT_STUDIO_EXECUTE_TIMEOUT_MS, parseHttpApiRequestTimeoutMs, parsePositiveInteger, } from "./defaults.js";
|
|
3
|
+
import { aiEmbeddingEnv, aiLanguageEnv } from "./flatten.js";
|
|
4
|
+
import { normalizeAskDbConfig } from "./normalize.js";
|
|
3
5
|
import { flatToAiEnv, getAskDbRuntimeStore } from "./runtime-store.js";
|
|
6
|
+
function isTruthyFlag(raw) {
|
|
7
|
+
return raw !== undefined && ["1", "true", "yes"].includes(raw.toLowerCase());
|
|
8
|
+
}
|
|
9
|
+
/** Normalization is pure, so it runs once per installed config object. */
|
|
10
|
+
const normalizedByConfig = new WeakMap();
|
|
11
|
+
function normalizedFor(structured) {
|
|
12
|
+
let normalized = normalizedByConfig.get(structured);
|
|
13
|
+
if (!normalized) {
|
|
14
|
+
normalized = normalizeAskDbConfig(structured);
|
|
15
|
+
normalizedByConfig.set(structured, normalized);
|
|
16
|
+
}
|
|
17
|
+
return normalized;
|
|
18
|
+
}
|
|
19
|
+
/** The runtime view of a resolved `ai` section, with `env` built from its connection only. */
|
|
20
|
+
function runtimeSection(section, env) {
|
|
21
|
+
return { provider: section.provider, connection: section.connection.name, model: section.model, env };
|
|
22
|
+
}
|
|
4
23
|
function pickFlat(flat, key) {
|
|
5
24
|
const v = flat[key];
|
|
6
25
|
if (v === undefined || v.trim() === "")
|
|
@@ -13,15 +32,26 @@ function pickFlat(flat, key) {
|
|
|
13
32
|
export function getAskDbRuntimeConfig() {
|
|
14
33
|
const { structured, flat } = getAskDbRuntimeStore();
|
|
15
34
|
const aiEnv = flatToAiEnv(flat);
|
|
35
|
+
const { config: normalized, deprecations } = normalizedFor(structured);
|
|
36
|
+
const language = normalized.ai.language;
|
|
37
|
+
const embeddingSection = normalized.ai.embedding;
|
|
38
|
+
const embedding = embeddingSection
|
|
39
|
+
? {
|
|
40
|
+
...runtimeSection(embeddingSection, aiEmbeddingEnv(embeddingSection)),
|
|
41
|
+
dimensions: embeddingSection.dimensions,
|
|
42
|
+
}
|
|
43
|
+
: undefined;
|
|
44
|
+
// The RAG CLI's OpenAI embedder never reads another provider's key or base URL.
|
|
45
|
+
const openaiEmbedding = embedding?.provider === "openai" ? embedding : undefined;
|
|
16
46
|
const logStdoutRaw = pickFlat(flat, "ASKDB_LOG_STDOUT");
|
|
17
|
-
const logStdout =
|
|
47
|
+
const logStdout = isTruthyFlag(logStdoutRaw);
|
|
18
48
|
const portRaw = pickFlat(flat, "PORT");
|
|
19
49
|
const portParsed = portRaw !== undefined ? Number(portRaw) : NaN;
|
|
20
50
|
const port = structured.httpApi?.listen?.port ??
|
|
21
51
|
(!Number.isNaN(portParsed) ? portParsed : 3000);
|
|
22
52
|
const host = structured.httpApi?.listen?.host ?? pickFlat(flat, "HOST") ?? "127.0.0.1";
|
|
23
53
|
const omitRaw = pickFlat(flat, "ASKDB_OMIT_SENSITIVE_FROM_PROMPT");
|
|
24
|
-
const omitFromFlat =
|
|
54
|
+
const omitFromFlat = isTruthyFlag(omitRaw);
|
|
25
55
|
const prismaSchemaPathRaw = structured.introspection.provider === "prisma"
|
|
26
56
|
? structured.introspection.providerConfig?.prisma?.schemaPath?.trim()
|
|
27
57
|
: undefined;
|
|
@@ -52,6 +82,8 @@ export function getAskDbRuntimeConfig() {
|
|
|
52
82
|
flat,
|
|
53
83
|
ai: {
|
|
54
84
|
aiEnv,
|
|
85
|
+
language: { ...runtimeSection(language, aiLanguageEnv(language)), modelFamily: language.modelFamily },
|
|
86
|
+
embedding,
|
|
55
87
|
},
|
|
56
88
|
introspection: {
|
|
57
89
|
provider: structured.introspection.provider,
|
|
@@ -66,15 +98,19 @@ export function getAskDbRuntimeConfig() {
|
|
|
66
98
|
DEFAULT_INTROSPECT_OUTPUT_DIR,
|
|
67
99
|
},
|
|
68
100
|
rag: {
|
|
69
|
-
embedder:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
101
|
+
embedder: openaiEmbedding
|
|
102
|
+
? {
|
|
103
|
+
apiKey: openaiEmbedding.env.OPENAI_API_KEY,
|
|
104
|
+
baseURL: openaiEmbedding.env.OPENAI_BASE_URL,
|
|
105
|
+
model: openaiEmbedding.model,
|
|
106
|
+
}
|
|
107
|
+
: {
|
|
108
|
+
apiKey: pickFlat(flat, "OPENAI_API_KEY"),
|
|
109
|
+
baseURL: pickFlat(flat, "OPENAI_BASE_URL"),
|
|
110
|
+
model: undefined,
|
|
111
|
+
},
|
|
112
|
+
store: normalized.rag.store,
|
|
113
|
+
storeConfig: normalized.rag.storeConfig,
|
|
78
114
|
},
|
|
79
115
|
logging: {
|
|
80
116
|
level: structured.logging?.level ?? pickFlat(flat, "ASKDB_LOG_LEVEL"),
|
|
@@ -84,6 +120,14 @@ export function getAskDbRuntimeConfig() {
|
|
|
84
120
|
},
|
|
85
121
|
httpApi: {
|
|
86
122
|
listen: { port, host },
|
|
123
|
+
// Only a real boolean counts: flattening rejects anything else, so a store installed
|
|
124
|
+
// without it falls back to the flat key, which is set only for `true`.
|
|
125
|
+
allowSchemaOverride: typeof structured.httpApi?.allowSchemaOverride === "boolean"
|
|
126
|
+
? structured.httpApi.allowSchemaOverride
|
|
127
|
+
: isTruthyFlag(pickFlat(flat, "ASKDB_HTTP_ALLOW_SCHEMA_OVERRIDE")),
|
|
128
|
+
requestTimeoutMs: parseHttpApiRequestTimeoutMs(structured.httpApi?.requestTimeoutMs, "httpApi.requestTimeoutMs") ??
|
|
129
|
+
parseHttpApiRequestTimeoutMs(pickFlat(flat, "ASKDB_HTTP_REQUEST_TIMEOUT_MS"), "ASKDB_HTTP_REQUEST_TIMEOUT_MS") ??
|
|
130
|
+
DEFAULT_HTTP_API_REQUEST_TIMEOUT_MS,
|
|
87
131
|
},
|
|
88
132
|
dev: {
|
|
89
133
|
mockSql: structured.dev?.mockSql ?? pickFlat(flat, "ASKDB_MOCK_SQL"),
|
|
@@ -98,6 +142,7 @@ export function getAskDbRuntimeConfig() {
|
|
|
98
142
|
studio: {
|
|
99
143
|
execute: resolveStudioExecuteConfig(structured, flat),
|
|
100
144
|
},
|
|
145
|
+
deprecations,
|
|
101
146
|
};
|
|
102
147
|
}
|
|
103
148
|
function resolveStudioExecuteConfig(structured, flat) {
|
|
@@ -1 +1 @@
|
|
|
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,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,iCAAiC,EACjC,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime-store.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ export type AskDbRuntimeStore = {
|
|
|
6
6
|
};
|
|
7
7
|
export declare function setAskDbRuntime(data: AskDbRuntimeStore): void;
|
|
8
8
|
export declare function clearAskDbRuntime(): void;
|
|
9
|
+
/**
|
|
10
|
+
* `true` once `bootstrapAskDbEnv()` (or another installer) has set the runtime snapshot.
|
|
11
|
+
* A host-facing factory can use it to bootstrap only when its host hasn't already done so.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isAskDbRuntimeInitialized(): boolean;
|
|
9
14
|
export declare function getAskDbRuntimeStore(): AskDbRuntimeStore;
|
|
10
15
|
/** Build an env-shaped map for `@askdb/core` from the flattened runtime snapshot (not `process.env`). */
|
|
11
16
|
export declare function flatToAiEnv(flat: Readonly<Record<string, string>>): Record<string, string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-store.d.ts","sourceRoot":"","sources":["../src/runtime-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,uGAAuG;IACvG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-store.d.ts","sourceRoot":"","sources":["../src/runtime-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,uGAAuG;IACvG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD,CAAC;AAYF,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAE7D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CASxD;AAED,yGAAyG;AACzG,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAEtG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACrC,MAAM,CAAC,UAAU,CAQnB;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAErE;AAED,4BAA4B;AAC5B,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
|
package/dist/runtime-store.js
CHANGED
|
@@ -1,11 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The snapshot lives on `globalThis` under a registered symbol, not in a module variable, so every
|
|
3
|
+
* copy of `@askdb/config` in a process shares it: a host that bootstraps with its own version is
|
|
4
|
+
* seen by an app (such as `@askdb/http-api`) that depends on another. Keep `AskDbRuntimeStore`
|
|
5
|
+
* readable by older copies; a change they can't read needs a new key.
|
|
6
|
+
*/
|
|
7
|
+
const RUNTIME_STORE_KEY = Symbol.for("askdb.runtimeStore");
|
|
8
|
+
const runtimeHolder = globalThis;
|
|
2
9
|
export function setAskDbRuntime(data) {
|
|
3
|
-
|
|
10
|
+
runtimeHolder[RUNTIME_STORE_KEY] = data;
|
|
4
11
|
}
|
|
5
12
|
export function clearAskDbRuntime() {
|
|
6
|
-
|
|
13
|
+
delete runtimeHolder[RUNTIME_STORE_KEY];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* `true` once `bootstrapAskDbEnv()` (or another installer) has set the runtime snapshot.
|
|
17
|
+
* A host-facing factory can use it to bootstrap only when its host hasn't already done so.
|
|
18
|
+
*/
|
|
19
|
+
export function isAskDbRuntimeInitialized() {
|
|
20
|
+
return runtimeHolder[RUNTIME_STORE_KEY] !== undefined;
|
|
7
21
|
}
|
|
8
22
|
export function getAskDbRuntimeStore() {
|
|
23
|
+
const stored = runtimeHolder[RUNTIME_STORE_KEY];
|
|
9
24
|
if (!stored) {
|
|
10
25
|
throw new Error("AskDB runtime is not initialized. Call bootstrapAskDbEnv() (or bootstrapAskDbRuntime()) from @askdb/config after startup, " +
|
|
11
26
|
"typically with the project cwd, and ensure askdb.config.* exists.");
|
|
@@ -31,10 +46,10 @@ export function mergeAskDbFlatIntoEnvMap(base, flat) {
|
|
|
31
46
|
}
|
|
32
47
|
/** @internal Tests only — replaces the runtime store without loading from disk. */
|
|
33
48
|
export function setAskDbRuntimeForTests(data) {
|
|
34
|
-
|
|
49
|
+
setAskDbRuntime(data);
|
|
35
50
|
}
|
|
36
51
|
/** @internal Tests only. */
|
|
37
52
|
export function resetAskDbRuntimeForTests() {
|
|
38
|
-
|
|
53
|
+
clearAskDbRuntime();
|
|
39
54
|
}
|
|
40
55
|
//# sourceMappingURL=runtime-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-store.js","sourceRoot":"","sources":["../src/runtime-store.ts"],"names":[],"mappings":"AAQA,
|
|
1
|
+
{"version":3,"file":"runtime-store.js","sourceRoot":"","sources":["../src/runtime-store.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE1E,MAAM,aAAa,GAAG,UAA6E,CAAC;AAEpG,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,aAAa,CAAC,iBAAiB,CAAC,KAAK,SAAS,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,4HAA4H;YAC1H,mEAAmE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,WAAW,CAAC,IAAsC;IAChE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAuB,EACvB,IAAsC;IAEtC,MAAM,GAAG,GAAsB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,IAAuB;IAC7D,eAAe,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,yBAAyB;IACvC,iBAAiB,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type AskDbAiProviderId } from "../constants.js";
|
|
2
|
+
/** An env var a scaffolded config reads through `env()`. */
|
|
3
|
+
export type AskDbScaffoldEnvVar = {
|
|
4
|
+
name: string;
|
|
5
|
+
/** Short description for `.env.example` and setup UIs. */
|
|
6
|
+
purpose: string;
|
|
7
|
+
};
|
|
8
|
+
export type AskDbAiConfigScaffoldInput = {
|
|
9
|
+
provider: AskDbAiProviderId;
|
|
10
|
+
/** Env var NAME for the API key. */
|
|
11
|
+
keyEnv: string;
|
|
12
|
+
/** Env var NAME for the language model (the deployment name on Azure). Omit to use the provider's default model. */
|
|
13
|
+
modelEnv?: string;
|
|
14
|
+
};
|
|
15
|
+
export type AskDbAiConfigScaffold = {
|
|
16
|
+
/** The `ai: { … },` property, indented for the top level of `defineConfig({ … })`. */
|
|
17
|
+
source: string;
|
|
18
|
+
/** Every env var `source` reads, in order. */
|
|
19
|
+
envVars: AskDbScaffoldEnvVar[];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Renders the `ai` block of a new `askdb.config.ts` (a provider connection, plus
|
|
23
|
+
* `ai.language` when a model env var is given), plus the env vars it reads. `askdb init` and Studio's setup wizard both call this, so the fields
|
|
24
|
+
* a provider needs to start (e.g. Azure's `resourceName`) live in one place.
|
|
25
|
+
*
|
|
26
|
+
* Every value is emitted as a JSON string literal: the generated file is
|
|
27
|
+
* executed when the config loads, so a raw quote in a name must not inject code.
|
|
28
|
+
*/
|
|
29
|
+
export declare function renderAskDbAiConfigScaffold(input: AskDbAiConfigScaffoldInput): AskDbAiConfigScaffold;
|
|
30
|
+
//# sourceMappingURL=ai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/scaffold/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,4DAA4D;AAC5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,oHAAoH;IACpH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC,CAAC;AAYF;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,GAAG,qBAAqB,CAmCpG"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ASKDB_AI_PROVIDERS } from "../constants.js";
|
|
2
|
+
function isAiProvider(provider) {
|
|
3
|
+
return ASKDB_AI_PROVIDERS.includes(provider);
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Env var the scaffold reads `resourceName` from. It's also the name the Azure
|
|
7
|
+
* adapter reads when there's no config file.
|
|
8
|
+
*/
|
|
9
|
+
const AZURE_RESOURCE_NAME_ENV = "AZURE_RESOURCE_NAME";
|
|
10
|
+
/**
|
|
11
|
+
* Renders the `ai` block of a new `askdb.config.ts` (a provider connection, plus
|
|
12
|
+
* `ai.language` when a model env var is given), plus the env vars it reads. `askdb init` and Studio's setup wizard both call this, so the fields
|
|
13
|
+
* a provider needs to start (e.g. Azure's `resourceName`) live in one place.
|
|
14
|
+
*
|
|
15
|
+
* Every value is emitted as a JSON string literal: the generated file is
|
|
16
|
+
* executed when the config loads, so a raw quote in a name must not inject code.
|
|
17
|
+
*/
|
|
18
|
+
export function renderAskDbAiConfigScaffold(input) {
|
|
19
|
+
const { provider, keyEnv, modelEnv } = input;
|
|
20
|
+
// The provider id is emitted as an object key, so only known ids get through.
|
|
21
|
+
if (!isAiProvider(provider)) {
|
|
22
|
+
throw new Error(`Unknown AI provider: ${JSON.stringify(provider)}`);
|
|
23
|
+
}
|
|
24
|
+
const envVars = [{ name: keyEnv, purpose: `${provider} API key` }];
|
|
25
|
+
const fields = [`apiKey: env(${JSON.stringify(keyEnv)}),`];
|
|
26
|
+
// The provider connection holds the key and endpoint only; the model choice lives in `ai.language`.
|
|
27
|
+
let language = "";
|
|
28
|
+
if (modelEnv) {
|
|
29
|
+
envVars.push({ name: modelEnv, purpose: `${provider} model override` });
|
|
30
|
+
language = `
|
|
31
|
+
language: {
|
|
32
|
+
model: env(${JSON.stringify(modelEnv)}),
|
|
33
|
+
},`;
|
|
34
|
+
}
|
|
35
|
+
// `AzureConnection` / `FoundryConnection` need `resourceName` or `baseUrl`; the
|
|
36
|
+
// adapter refuses to start without one. Scaffold the resource-name form.
|
|
37
|
+
if (provider === "azure" || provider === "foundry") {
|
|
38
|
+
envVars.push({
|
|
39
|
+
name: AZURE_RESOURCE_NAME_ENV,
|
|
40
|
+
purpose: 'Azure resource name, e.g. "my-resource" for https://my-resource.openai.azure.com',
|
|
41
|
+
});
|
|
42
|
+
fields.push(`resourceName: env(${JSON.stringify(AZURE_RESOURCE_NAME_ENV)}),`);
|
|
43
|
+
}
|
|
44
|
+
const source = ` ai: {
|
|
45
|
+
provider: ${JSON.stringify(provider)},
|
|
46
|
+
providerConfig: {
|
|
47
|
+
${provider}: {
|
|
48
|
+
${fields.map((field) => ` ${field}`).join("\n")}
|
|
49
|
+
},
|
|
50
|
+
},${language}
|
|
51
|
+
},`;
|
|
52
|
+
return { source, envVars };
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/scaffold/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,iBAAiB,CAAC;AAwB7E,SAAS,YAAY,CAAC,QAAgB;IACpC,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAiC;IAC3E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC7C,8EAA8E;IAC9E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,OAAO,GAA0B,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,UAAU,EAAE,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3D,oGAAoG;IACpG,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,iBAAiB,EAAE,CAAC,CAAC;QACxE,QAAQ,GAAG;;mBAEI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;OACpC,CAAC;IACN,CAAC;IACD,gFAAgF;IAChF,yEAAyE;IACzE,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,kFAAkF;SAC5F,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,MAAM,GAAG;gBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;QAEhC,QAAQ;EACd,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;QAE9C,QAAQ;KACX,CAAC;IACJ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@askdb/config/scaffold`: helpers for tools that write a new `askdb.config.ts`
|
|
3
|
+
* (`askdb init`, Studio's setup wizard). Kept off the main entry, which user
|
|
4
|
+
* configs import, so tooling can change without touching the config API.
|
|
5
|
+
*/
|
|
6
|
+
export { renderAskDbAiConfigScaffold } from "./ai.js";
|
|
7
|
+
export type { AskDbAiConfigScaffold, AskDbAiConfigScaffoldInput, AskDbScaffoldEnvVar } from "./ai.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffold/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@askdb/config/scaffold`: helpers for tools that write a new `askdb.config.ts`
|
|
3
|
+
* (`askdb init`, Studio's setup wizard). Kept off the main entry, which user
|
|
4
|
+
* configs import, so tooling can change without touching the config API.
|
|
5
|
+
*/
|
|
6
|
+
export { renderAskDbAiConfigScaffold } from "./ai.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scaffold/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC"}
|