@askdb/core 0.5.0-beta.4 → 1.0.0-beta.21
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 +7 -3
- package/dist/ai/provider.d.ts +2 -8
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +42 -11
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/types.d.ts +2 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ask.d.ts +23 -3
- package/dist/ask.d.ts.map +1 -1
- package/dist/ask.js +32 -2
- package/dist/ask.js.map +1 -1
- package/dist/errors.d.ts +15 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/logging/log-events.d.ts +8 -0
- package/dist/logging/log-events.d.ts.map +1 -1
- package/dist/logging/log-events.js +8 -0
- package/dist/logging/log-events.js.map +1 -1
- package/dist/retrieval/synthesize-ddl.d.ts.map +1 -1
- package/dist/retrieval/synthesize-ddl.js +12 -0
- package/dist/retrieval/synthesize-ddl.js.map +1 -1
- package/dist/retrieval/types.d.ts +1 -1
- package/dist/retrieval/types.d.ts.map +1 -1
- package/dist/schema/normalize.d.ts +2 -0
- package/dist/schema/normalize.d.ts.map +1 -1
- package/dist/schema/normalize.js +1 -0
- package/dist/schema/normalize.js.map +1 -1
- package/dist/schema/v2/describable.d.ts +83 -1
- package/dist/schema/v2/describable.d.ts.map +1 -1
- package/dist/schema/v2/describable.js +25 -1
- package/dist/schema/v2/describable.js.map +1 -1
- package/dist/schema/v2/format.d.ts.map +1 -1
- package/dist/schema/v2/format.js +6 -0
- package/dist/schema/v2/format.js.map +1 -1
- package/dist/schema/v2/index.d.ts +4 -1
- package/dist/schema/v2/index.d.ts.map +1 -1
- package/dist/schema/v2/index.js +3 -1
- package/dist/schema/v2/index.js.map +1 -1
- package/dist/schema/v2/loader.d.ts.map +1 -1
- package/dist/schema/v2/loader.js +32 -5
- package/dist/schema/v2/loader.js.map +1 -1
- package/dist/schema/v2/normalized.d.ts +4 -0
- package/dist/schema/v2/normalized.d.ts.map +1 -1
- package/dist/schema/v2/tenant-policy-loader.d.ts +13 -0
- package/dist/schema/v2/tenant-policy-loader.d.ts.map +1 -0
- package/dist/schema/v2/tenant-policy-loader.js +282 -0
- package/dist/schema/v2/tenant-policy-loader.js.map +1 -0
- package/dist/schema/v2/tenant-policy.d.ts +715 -0
- package/dist/schema/v2/tenant-policy.d.ts.map +1 -0
- package/dist/schema/v2/tenant-policy.js +135 -0
- package/dist/schema/v2/tenant-policy.js.map +1 -0
- package/dist/schema/v2/writer.d.ts +5 -0
- package/dist/schema/v2/writer.d.ts.map +1 -1
- package/dist/schema/v2/writer.js +34 -0
- package/dist/schema/v2/writer.js.map +1 -1
- package/dist/sql/generate.d.ts +9 -2
- package/dist/sql/generate.d.ts.map +1 -1
- package/dist/sql/generate.js +23 -2
- package/dist/sql/generate.js.map +1 -1
- package/dist/sql/prompt.d.ts +2 -1
- package/dist/sql/prompt.d.ts.map +1 -1
- package/dist/sql/prompt.js +8 -1
- package/dist/sql/prompt.js.map +1 -1
- package/dist/sql/tenant-guardrail.d.ts +18 -0
- package/dist/sql/tenant-guardrail.d.ts.map +1 -0
- package/dist/sql/tenant-guardrail.js +132 -0
- package/dist/sql/tenant-guardrail.js.map +1 -0
- package/dist/sql/tenant-placeholders.d.ts +37 -0
- package/dist/sql/tenant-placeholders.d.ts.map +1 -0
- package/dist/sql/tenant-placeholders.js +156 -0
- package/dist/sql/tenant-placeholders.js.map +1 -0
- package/dist/sql/tenant-prompt.d.ts +8 -0
- package/dist/sql/tenant-prompt.d.ts.map +1 -0
- package/dist/sql/tenant-prompt.js +127 -0
- package/dist/sql/tenant-prompt.js.map +1 -0
- package/dist/sql/tenant-scope-validate.d.ts +8 -0
- package/dist/sql/tenant-scope-validate.d.ts.map +1 -0
- package/dist/sql/tenant-scope-validate.js +46 -0
- package/dist/sql/tenant-scope-validate.js.map +1 -0
- package/package.json +1 -3
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Dialect-agnostic NL→SQL pipeline for AskDB. Provides `ask()` orchestration, schema/IR types, modes, logging, and retrieval input. Bring your own dialect adapter (e.g. `@askdb/postgres`) and your own model.
|
|
4
4
|
|
|
5
|
-
> **Status:** pre-1.0. `0.3.0` moved the Postgres dialect and `@askdb/core/postgres` to `@askdb/postgres`.
|
|
5
|
+
> **Status:** pre-1.0. `0.3.0` moved the Postgres dialect and `@askdb/core/postgres` to `@askdb/postgres`. Runtime AI provider construction lives in `@askdb/ai`; core remains BYO-model and does not read `process.env`. See [`docs/adrs/0002-integration-package-layout.md`](../../docs/adrs/0002-integration-package-layout.md), [`docs/adrs/0005-askdb-config-and-env-bootstrap.md`](../../docs/adrs/0005-askdb-config-and-env-bootstrap.md), and [`docs/adrs/0006-ai-provider-integration-strategy.md`](../../docs/adrs/0006-ai-provider-integration-strategy.md).
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -11,12 +11,15 @@ pnpm add @askdb/core
|
|
|
11
11
|
# Plus a dialect adapter for the engine you target:
|
|
12
12
|
pnpm add @askdb/postgres
|
|
13
13
|
# Plus a model provider, for example:
|
|
14
|
-
pnpm add
|
|
14
|
+
pnpm add @ai-sdk/openai
|
|
15
|
+
# Optional AskDB config/env model factory:
|
|
16
|
+
pnpm add @askdb/ai
|
|
17
|
+
pnpm add @askdb/ai-openai
|
|
15
18
|
```
|
|
16
19
|
|
|
17
20
|
`@askdb/core` itself does not depend on `pg`. The optional `pg` peer lives on `@askdb/postgres` for live Postgres introspection.
|
|
18
21
|
|
|
19
|
-
Runtime AI configuration
|
|
22
|
+
Runtime AI configuration helpers live in `@askdb/ai` and provider adapters such as `@askdb/ai-openai`. If you use [`@askdb/config`](../../packages/config/README.md), call `bootstrapAskDbEnv()`, create an AI registry, then pass **`getAskDbRuntimeConfig().ai.aiEnv`** to `registry.createLanguageModelFromEnv(...)`.
|
|
20
23
|
|
|
21
24
|
## Schema format
|
|
22
25
|
|
|
@@ -61,6 +64,7 @@ const { sql } = await ask({
|
|
|
61
64
|
## What you get
|
|
62
65
|
|
|
63
66
|
- `ask({ question, schema, model, dialect })` — generate validated SQL.
|
|
67
|
+
- `AskDbLanguageModel` — AskDB's public name for the AI SDK language model contract.
|
|
64
68
|
- `AskDialect` — the dialect adapter contract. `@askdb/postgres` exports a ready-made one.
|
|
65
69
|
- `loadSchema(path)` — load a Schema v2 directory, bundled JSON, or `schema.json` path.
|
|
66
70
|
- `loadSchemaFromJson(raw)` — parse a Schema v2 bundled JSON string (e.g. from an env var).
|
package/dist/ai/provider.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { EmbeddingModel, LanguageModel } from "ai";
|
|
|
12
12
|
* `@ai-sdk/azure`. Uses the `resourceName` + deployment-name
|
|
13
13
|
* URL shape with the `api-key` header.
|
|
14
14
|
*/
|
|
15
|
-
export type AskDbAiProvider = "openai" | "azure";
|
|
15
|
+
export type AskDbAiProvider = "openai" | "azure" | "google";
|
|
16
16
|
export type AskDbAiConfig = {
|
|
17
17
|
provider: AskDbAiProvider;
|
|
18
18
|
apiKey: string;
|
|
@@ -29,11 +29,6 @@ export type AskDbAiEnv = Record<string, string | undefined>;
|
|
|
29
29
|
export type ResolveAskDbAiConfigOptions = {
|
|
30
30
|
/** Default model when no env override is set. */
|
|
31
31
|
modelDefault?: string;
|
|
32
|
-
/**
|
|
33
|
-
* Per-app model env var checked first (e.g. `ASKDB_TUI_MODEL`, `ASKDB_STUDIO_MODEL`).
|
|
34
|
-
* Falls through to `ASKDB_AI_MODEL`, `ASKDB_MODEL`, `OPENAI_MODEL`, `modelDefault`.
|
|
35
|
-
*/
|
|
36
|
-
modelEnvVar?: string;
|
|
37
32
|
};
|
|
38
33
|
/**
|
|
39
34
|
* Resolves a provider config from environment variables. Returns `undefined`
|
|
@@ -63,8 +58,7 @@ export type ResolveAskDbEmbeddingConfigOptions = {
|
|
|
63
58
|
/** Default embedding model/deployment when no env override is set. */
|
|
64
59
|
modelDefault?: string;
|
|
65
60
|
/**
|
|
66
|
-
*
|
|
67
|
-
* (e.g. `ASKDB_STUDIO_RAG_EMBEDDER_MODEL`).
|
|
61
|
+
* Embedding model env var (e.g. `ASKDB_RAG_EMBEDDER_MODEL`).
|
|
68
62
|
*/
|
|
69
63
|
modelEnvVar?: string;
|
|
70
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5D,MAAM,MAAM,2BAA2B,GAAG;IACxC,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAeF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,2BAAgC,GACxC,aAAa,GAAG,SAAS,CA8D3B;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,kCAAuC,GAC/C,aAAa,GAAG,SAAS,CAiE3B;AAED,qEAAqE;AACrE,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,4EAA4E;AAC5E,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CA8BjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAIpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,kCAAkC,GAAG,gCAAqC,GAClF,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAI7C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWhE"}
|
package/dist/ai/provider.js
CHANGED
|
@@ -7,7 +7,9 @@ function readProvider(env) {
|
|
|
7
7
|
return "openai";
|
|
8
8
|
if (raw === "azure" || raw === "azure-openai" || raw === "foundry")
|
|
9
9
|
return "azure";
|
|
10
|
-
|
|
10
|
+
if (raw === "google")
|
|
11
|
+
return "google";
|
|
12
|
+
throw new Error(`Unknown ASKDB_AI_PROVIDER "${env.ASKDB_AI_PROVIDER}". Expected "openai", "azure", or "google".`);
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Resolves a provider config from environment variables. Returns `undefined`
|
|
@@ -36,7 +38,9 @@ export function resolveAskDbAiConfig(env, options = {}) {
|
|
|
36
38
|
const provider = readProvider(env);
|
|
37
39
|
const providerNativeKey = provider === "azure"
|
|
38
40
|
? env.AZURE_OPENAI_API_KEY || env.AZURE_API_KEY
|
|
39
|
-
:
|
|
41
|
+
: provider === "google"
|
|
42
|
+
? env.GOOGLE_GENERATIVE_AI_API_KEY || env.GOOGLE_AI_API_KEY
|
|
43
|
+
: env.OPENAI_API_KEY;
|
|
40
44
|
const providerNativeKeySecondary = provider === "azure"
|
|
41
45
|
? env.AZURE_OPENAI_API_KEY_SECONDARY || env.AZURE_API_KEY_SECONDARY
|
|
42
46
|
: env.OPENAI_API_KEY_SECONDARY;
|
|
@@ -47,19 +51,21 @@ export function resolveAskDbAiConfig(env, options = {}) {
|
|
|
47
51
|
undefined;
|
|
48
52
|
if (!apiKey)
|
|
49
53
|
return undefined;
|
|
50
|
-
const perAppModel = options.modelEnvVar ? env[options.modelEnvVar] : undefined;
|
|
51
54
|
const providerNativeModel = provider === "azure"
|
|
52
55
|
? env.AZURE_OPENAI_DEPLOYMENT || env.AZURE_DEPLOYMENT_NAME
|
|
53
|
-
:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
: provider === "google"
|
|
57
|
+
? env.GOOGLE_AI_MODEL
|
|
58
|
+
: env.OPENAI_MODEL;
|
|
59
|
+
const model = env.ASKDB_AI_MODEL ||
|
|
56
60
|
env.ASKDB_MODEL ||
|
|
57
61
|
providerNativeModel ||
|
|
58
62
|
options.modelDefault ||
|
|
59
63
|
DEFAULT_MODEL;
|
|
60
64
|
const providerNativeBaseURL = provider === "azure"
|
|
61
65
|
? env.AZURE_OPENAI_BASE_URL || env.AZURE_OPENAI_ENDPOINT || env.AZURE_BASE_URL
|
|
62
|
-
:
|
|
66
|
+
: provider === "google"
|
|
67
|
+
? env.GOOGLE_AI_BASE_URL
|
|
68
|
+
: env.OPENAI_BASE_URL;
|
|
63
69
|
const baseURL = env.ASKDB_AI_BASE_URL || providerNativeBaseURL || undefined;
|
|
64
70
|
const resourceName = env.ASKDB_AI_AZURE_RESOURCE_NAME || env.AZURE_RESOURCE_NAME || undefined;
|
|
65
71
|
const apiVersion = env.ASKDB_AI_AZURE_API_VERSION || env.AZURE_OPENAI_API_VERSION || env.AZURE_API_VERSION || undefined;
|
|
@@ -93,7 +99,9 @@ export function resolveAskDbEmbeddingConfig(env, options = {}) {
|
|
|
93
99
|
const provider = readProvider(env);
|
|
94
100
|
const providerNativeKey = provider === "azure"
|
|
95
101
|
? env.AZURE_OPENAI_API_KEY || env.AZURE_API_KEY
|
|
96
|
-
:
|
|
102
|
+
: provider === "google"
|
|
103
|
+
? env.GOOGLE_GENERATIVE_AI_API_KEY || env.GOOGLE_AI_API_KEY
|
|
104
|
+
: env.OPENAI_API_KEY;
|
|
97
105
|
const providerNativeKeySecondary = provider === "azure"
|
|
98
106
|
? env.AZURE_OPENAI_API_KEY_SECONDARY || env.AZURE_API_KEY_SECONDARY
|
|
99
107
|
: env.OPENAI_API_KEY_SECONDARY;
|
|
@@ -108,7 +116,9 @@ export function resolveAskDbEmbeddingConfig(env, options = {}) {
|
|
|
108
116
|
const providerNativeModel = provider === "azure"
|
|
109
117
|
? env.AZURE_OPENAI_EMBEDDING_DEPLOYMENT ||
|
|
110
118
|
env.AZURE_EMBEDDING_DEPLOYMENT_NAME
|
|
111
|
-
:
|
|
119
|
+
: provider === "google"
|
|
120
|
+
? env.GOOGLE_AI_EMBEDDING_MODEL
|
|
121
|
+
: env.OPENAI_EMBEDDING_MODEL;
|
|
112
122
|
const model = perAppModel ||
|
|
113
123
|
env.ASKDB_AI_EMBEDDING_MODEL ||
|
|
114
124
|
env.ASKDB_EMBEDDING_MODEL ||
|
|
@@ -117,7 +127,9 @@ export function resolveAskDbEmbeddingConfig(env, options = {}) {
|
|
|
117
127
|
DEFAULT_EMBEDDING_MODEL;
|
|
118
128
|
const providerNativeBaseURL = provider === "azure"
|
|
119
129
|
? env.AZURE_OPENAI_BASE_URL || env.AZURE_OPENAI_ENDPOINT || env.AZURE_BASE_URL
|
|
120
|
-
:
|
|
130
|
+
: provider === "google"
|
|
131
|
+
? env.GOOGLE_AI_BASE_URL
|
|
132
|
+
: env.OPENAI_BASE_URL;
|
|
121
133
|
const baseURL = env.ASKDB_AI_BASE_URL || providerNativeBaseURL || undefined;
|
|
122
134
|
const resourceName = env.ASKDB_AI_AZURE_RESOURCE_NAME || env.AZURE_RESOURCE_NAME || undefined;
|
|
123
135
|
const apiVersion = env.ASKDB_AI_AZURE_API_VERSION || env.AZURE_OPENAI_API_VERSION || env.AZURE_API_VERSION || undefined;
|
|
@@ -147,6 +159,15 @@ export async function createAskDbLanguageModel(config) {
|
|
|
147
159
|
});
|
|
148
160
|
return azure(config.model);
|
|
149
161
|
}
|
|
162
|
+
if (config.provider === "google") {
|
|
163
|
+
// Lazy-loaded so `@ai-sdk/google` is only required when actually used.
|
|
164
|
+
const { createGoogleGenerativeAI } = await import("@ai-sdk/google");
|
|
165
|
+
const google = createGoogleGenerativeAI({
|
|
166
|
+
apiKey: config.apiKey,
|
|
167
|
+
...(config.baseURL ? { baseURL: config.baseURL } : {}),
|
|
168
|
+
});
|
|
169
|
+
return google(config.model);
|
|
170
|
+
}
|
|
150
171
|
const openai = createOpenAI({
|
|
151
172
|
apiKey: config.apiKey,
|
|
152
173
|
...(config.baseURL ? { baseURL: config.baseURL } : {}),
|
|
@@ -168,6 +189,14 @@ export async function createAskDbEmbeddingModel(config, options = {}) {
|
|
|
168
189
|
user: options.user,
|
|
169
190
|
});
|
|
170
191
|
}
|
|
192
|
+
if (config.provider === "google") {
|
|
193
|
+
const { createGoogleGenerativeAI } = await import("@ai-sdk/google");
|
|
194
|
+
const google = createGoogleGenerativeAI({
|
|
195
|
+
apiKey: config.apiKey,
|
|
196
|
+
...(config.baseURL ? { baseURL: config.baseURL } : {}),
|
|
197
|
+
});
|
|
198
|
+
return google.textEmbeddingModel(config.model);
|
|
199
|
+
}
|
|
171
200
|
const openai = createOpenAI({
|
|
172
201
|
apiKey: config.apiKey,
|
|
173
202
|
...(config.baseURL ? { baseURL: config.baseURL } : {}),
|
|
@@ -219,6 +248,8 @@ export function askDbAiKeyMissingMessage(context) {
|
|
|
219
248
|
`For Azure / Microsoft Foundry, set ASKDB_AI_PROVIDER=azure plus ` +
|
|
220
249
|
`AZURE_OPENAI_API_KEY (or ASKDB_AI_API_KEY), ` +
|
|
221
250
|
`ASKDB_AI_AZURE_RESOURCE_NAME (or ASKDB_AI_BASE_URL), and a deployment name ` +
|
|
222
|
-
`via ASKDB_AI_MODEL
|
|
251
|
+
`via ASKDB_AI_MODEL. ` +
|
|
252
|
+
`For Google Gemini, set ASKDB_AI_PROVIDER=google plus ` +
|
|
253
|
+
`GOOGLE_GENERATIVE_AI_API_KEY (or ASKDB_AI_API_KEY).`);
|
|
223
254
|
}
|
|
224
255
|
//# sourceMappingURL=provider.js.map
|
package/dist/ai/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,IAAI,CAAC"}
|
package/dist/ai/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":""}
|
package/dist/ask.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { generateText as defaultGenerateText } from "ai";
|
|
2
|
+
import type { AskDbLanguageModel } from "./ai/types.js";
|
|
2
3
|
import type { AskDbLogger } from "./logging/askdb-logger.js";
|
|
3
4
|
import type { AnyNormalizedSchema } from "./schema/types.js";
|
|
4
5
|
import { type AskDbModeV1 } from "./modes/types.js";
|
|
5
6
|
import type { Retriever } from "./retrieval/types.js";
|
|
7
|
+
import type { TenantScope } from "./schema/v2/tenant-policy.js";
|
|
6
8
|
import { type BuiltInDialectId, type DialectSpec } from "./sql/dialect-spec.js";
|
|
9
|
+
import { type TenantSqlOutputMode, type TenantBinding } from "./sql/tenant-placeholders.js";
|
|
7
10
|
/** Options forwarded to a dialect's generator. Stable across dialects. */
|
|
8
11
|
export type AskDialectGenerateOptions = {
|
|
9
12
|
logger?: AskDbLogger;
|
|
@@ -11,11 +14,14 @@ export type AskDialectGenerateOptions = {
|
|
|
11
14
|
omitSensitiveIdentifiersFromNlToSqlPrompt?: boolean;
|
|
12
15
|
generateText?: typeof defaultGenerateText;
|
|
13
16
|
prebuiltDdl?: string;
|
|
17
|
+
tenantPolicy?: import("./schema/v2/tenant-policy.js").NormalizedTenantPolicy;
|
|
18
|
+
tenantScope?: TenantScope;
|
|
14
19
|
};
|
|
15
20
|
/** Output of a dialect's generator: validated SQL plus optional dialect-specific explain metadata. */
|
|
16
21
|
export type AskDialectGenerateResult = {
|
|
17
22
|
sql: string;
|
|
18
23
|
explain?: unknown;
|
|
24
|
+
tenantGuardrail?: import("./sql/tenant-guardrail.js").TenantGuardrailResult;
|
|
19
25
|
};
|
|
20
26
|
/**
|
|
21
27
|
* Escape-hatch interface for fully custom NL→SQL generators (agentic flows,
|
|
@@ -27,7 +33,7 @@ export type AskDialectGenerateResult = {
|
|
|
27
33
|
* defaults won't fit.
|
|
28
34
|
*/
|
|
29
35
|
export type AskDialect = {
|
|
30
|
-
generate(question: string, schema: AnyNormalizedSchema, model:
|
|
36
|
+
generate(question: string, schema: AnyNormalizedSchema, model: AskDbLanguageModel, options?: AskDialectGenerateOptions): Promise<AskDialectGenerateResult>;
|
|
31
37
|
};
|
|
32
38
|
/**
|
|
33
39
|
* Anything `ask()` accepts as a dialect:
|
|
@@ -43,7 +49,7 @@ export type AskGenerateDeps = {
|
|
|
43
49
|
export type AskPipelineOptions = {
|
|
44
50
|
question: string;
|
|
45
51
|
schema: AnyNormalizedSchema;
|
|
46
|
-
model:
|
|
52
|
+
model: AskDbLanguageModel;
|
|
47
53
|
/**
|
|
48
54
|
* Required: the SQL dialect. Accepts a {@link BuiltInDialectId} (e.g. `"postgres"`),
|
|
49
55
|
* a {@link DialectSpec} descriptor, or a fully custom {@link AskDialect} adapter.
|
|
@@ -91,10 +97,24 @@ export type AskPipelineOptions = {
|
|
|
91
97
|
* "consumer decides" stance for hosts that don't surface a count.
|
|
92
98
|
*/
|
|
93
99
|
totalSchemaChunkCount?: number;
|
|
100
|
+
/**
|
|
101
|
+
* Tenant scope for the current user. Required when the schema has a
|
|
102
|
+
* `tenant-policy.md` (the pipeline will fail closed without it).
|
|
103
|
+
* Carries enforceable access + optional advisory context.
|
|
104
|
+
*/
|
|
105
|
+
tenantScope?: TenantScope;
|
|
106
|
+
/**
|
|
107
|
+
* SQL output mode for tenant placeholders. Default `"sql-only"` inlines
|
|
108
|
+
* literal values; `"sql-params"` converts to positional `$N` parameters.
|
|
109
|
+
*/
|
|
110
|
+
tenantSqlMode?: TenantSqlOutputMode;
|
|
94
111
|
};
|
|
95
112
|
export type AskPipelineResult = {
|
|
96
113
|
sql: string;
|
|
97
114
|
explain?: unknown;
|
|
115
|
+
tenantGuardrail?: import("./sql/tenant-guardrail.js").TenantGuardrailResult;
|
|
116
|
+
tenantParams?: unknown[];
|
|
117
|
+
tenantBindings?: TenantBinding[];
|
|
98
118
|
};
|
|
99
119
|
export declare function ask(options: AskPipelineOptions): Promise<AskPipelineResult>;
|
|
100
120
|
//# sourceMappingURL=ask.d.ts.map
|
package/dist/ask.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"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"}
|
package/dist/ask.js
CHANGED
|
@@ -3,10 +3,22 @@ import { DEFAULT_ASKDB_MODE } from "./modes/types.js";
|
|
|
3
3
|
import { synthesizeRetrievedDdl } from "./retrieval/synthesize-ddl.js";
|
|
4
4
|
import { getDialectSpec, isBuiltInDialectId, } from "./sql/dialect-spec.js";
|
|
5
5
|
import { generateSelectSql } from "./sql/generate.js";
|
|
6
|
+
import { resolveTenantSql, } from "./sql/tenant-placeholders.js";
|
|
7
|
+
import { validateTenantScope } from "./sql/tenant-scope-validate.js";
|
|
6
8
|
export async function ask(options) {
|
|
7
9
|
const logger = options.logger;
|
|
8
10
|
const mode = options.mode ?? DEFAULT_ASKDB_MODE;
|
|
9
11
|
logger?.info({ event: AskDbLogEvent.PipelineMode, mode }, "pipeline mode");
|
|
12
|
+
// Tenant scope validation (fail closed when policy exists but no scope provided)
|
|
13
|
+
const tenantPolicy = isV2Schema(options.schema) ? options.schema.tenantPolicy : undefined;
|
|
14
|
+
if (tenantPolicy) {
|
|
15
|
+
validateTenantScope(tenantPolicy, options.tenantScope);
|
|
16
|
+
logger?.info({
|
|
17
|
+
event: AskDbLogEvent.TenantScopeValidated,
|
|
18
|
+
scopeKind: options.tenantScope.access.kind,
|
|
19
|
+
enforcement: tenantPolicy.enforcement,
|
|
20
|
+
}, "tenant scope validated");
|
|
21
|
+
}
|
|
10
22
|
const explainRequested = options.explain ?? false;
|
|
11
23
|
const omitSensitive = options.omitSensitiveIdentifiersFromNlToSqlPrompt ?? false;
|
|
12
24
|
const prebuiltDdl = await maybeRetrieveDdl({
|
|
@@ -21,10 +33,28 @@ export async function ask(options) {
|
|
|
21
33
|
omitSensitiveIdentifiersFromNlToSqlPrompt: omitSensitive || undefined,
|
|
22
34
|
generateText: options.deps?.generateText,
|
|
23
35
|
prebuiltDdl,
|
|
36
|
+
tenantPolicy,
|
|
37
|
+
tenantScope: options.tenantScope,
|
|
24
38
|
});
|
|
25
|
-
|
|
39
|
+
let sql = generated.sql;
|
|
26
40
|
const explain = generated.explain;
|
|
27
|
-
|
|
41
|
+
const tenantGuardrail = generated.tenantGuardrail;
|
|
42
|
+
const result = { sql };
|
|
43
|
+
if (explain !== undefined)
|
|
44
|
+
result.explain = explain;
|
|
45
|
+
if (tenantGuardrail !== undefined)
|
|
46
|
+
result.tenantGuardrail = tenantGuardrail;
|
|
47
|
+
if (tenantPolicy && options.tenantScope) {
|
|
48
|
+
const mode = options.tenantSqlMode ?? "sql-only";
|
|
49
|
+
const resolved = resolveTenantSql(sql, tenantPolicy, options.tenantScope, mode);
|
|
50
|
+
result.sql = resolved.sql;
|
|
51
|
+
if (resolved.bindings.length > 0)
|
|
52
|
+
result.tenantBindings = resolved.bindings;
|
|
53
|
+
if (resolved.mode === "sql-params" && resolved.params.length > 0) {
|
|
54
|
+
result.tenantParams = resolved.params;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
28
58
|
}
|
|
29
59
|
function isAskDialect(value) {
|
|
30
60
|
return typeof value.generate === "function";
|
package/dist/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -18,4 +18,19 @@ export declare class SqlValidationError extends AskDbError {
|
|
|
18
18
|
export declare class SqlGenerationError extends AskDbError {
|
|
19
19
|
constructor(message: string, cause?: unknown);
|
|
20
20
|
}
|
|
21
|
+
export type TenantScopeRejectionReason = "MISSING_SCOPE" | "UNKNOWN_TENANT_ROOT" | "GLOBAL_WITHOUT_REASON" | "INVALID_SCOPE_SHAPE";
|
|
22
|
+
export declare class TenantScopeError extends AskDbError {
|
|
23
|
+
readonly reason: TenantScopeRejectionReason;
|
|
24
|
+
constructor(message: string, reason: TenantScopeRejectionReason);
|
|
25
|
+
}
|
|
26
|
+
export type TenantGuardrailRuleCode = "MISSING_TENANT_PREDICATE" | "MISSING_TYPE_DISCRIMINATOR" | "INCOMPATIBLE_JOIN_SCOPES" | "UNKNOWN_TABLE_REFERENCED" | "CROSS_TENANT_WITHOUT_GLOBAL" | "UNPROVABLE_SCOPE";
|
|
27
|
+
export type TenantGuardrailWarning = {
|
|
28
|
+
rule: TenantGuardrailRuleCode;
|
|
29
|
+
tableId: string;
|
|
30
|
+
message: string;
|
|
31
|
+
};
|
|
32
|
+
export declare class TenantGuardrailError extends AskDbError {
|
|
33
|
+
readonly warnings: TenantGuardrailWarning[];
|
|
34
|
+
constructor(message: string, warnings: TenantGuardrailWarning[]);
|
|
35
|
+
}
|
|
21
36
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;aAGjB,KAAK,CAAC,EAAE,OAAO;gBAD/B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,OAAO,YAAA;CAKlC;AAED,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAI7C;AAED,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,qBAAqB,GACrB,aAAa,GACb,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,qBAAa,kBAAmB,SAAQ,UAAU;aAG9B,IAAI,EAAE,qBAAqB;IAC3C,8DAA8D;aAC9C,IAAI,CAAC,EAAE,MAAM;gBAH7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,qBAAqB;IAC3C,8DAA8D;IAC9C,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAI7C"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,KAAK;aAGjB,KAAK,CAAC,EAAE,OAAO;gBAD/B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,OAAO,YAAA;CAKlC;AAED,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAI7C;AAED,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,qBAAqB,GACrB,aAAa,GACb,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,qBAAa,kBAAmB,SAAQ,UAAU;aAG9B,IAAI,EAAE,qBAAqB;IAC3C,8DAA8D;aAC9C,IAAI,CAAC,EAAE,MAAM;gBAH7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,qBAAqB;IAC3C,8DAA8D;IAC9C,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAI7C;AAED,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B,qBAAa,gBAAiB,SAAQ,UAAU;aAG5B,MAAM,EAAE,0BAA0B;gBADlD,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,0BAA0B;CAKrD;AAED,MAAM,MAAM,uBAAuB,GAC/B,0BAA0B,GAC1B,4BAA4B,GAC5B,0BAA0B,GAC1B,0BAA0B,GAC1B,6BAA6B,GAC7B,kBAAkB,CAAC;AAEvB,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,UAAU;aAGhC,QAAQ,EAAE,sBAAsB,EAAE;gBADlD,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,sBAAsB,EAAE;CAKrD"}
|
package/dist/errors.js
CHANGED
|
@@ -30,4 +30,20 @@ export class SqlGenerationError extends AskDbError {
|
|
|
30
30
|
this.name = "SqlGenerationError";
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
export class TenantScopeError extends AskDbError {
|
|
34
|
+
reason;
|
|
35
|
+
constructor(message, reason) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.reason = reason;
|
|
38
|
+
this.name = "TenantScopeError";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export class TenantGuardrailError extends AskDbError {
|
|
42
|
+
warnings;
|
|
43
|
+
constructor(message, warnings) {
|
|
44
|
+
super(message);
|
|
45
|
+
this.warnings = warnings;
|
|
46
|
+
this.name = "TenantGuardrailError";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
33
49
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGjB;IAFlB,YACE,OAAe,EACC,KAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAUD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAG9B;IAEA;IAJlB,YACE,OAAe,EACC,IAA2B;IAC3C,8DAA8D;IAC9C,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAuB;QAE3B,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGjB;IAFlB,YACE,OAAe,EACC,KAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAUD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAG9B;IAEA;IAJlB,YACE,OAAe,EACC,IAA2B;IAC3C,8DAA8D;IAC9C,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAuB;QAE3B,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAQD,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAG5B;IAFlB,YACE,OAAe,EACC,MAAkC;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAA4B;QAGlD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAgBD,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAGhC;IAFlB,YACE,OAAe,EACC,QAAkC;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,aAAQ,GAAR,QAAQ,CAA0B;QAGlD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export * from "./errors.js";
|
|
2
|
+
export { validateTenantScope } from "./sql/tenant-scope-validate.js";
|
|
3
|
+
export { buildTenantPromptBlock } from "./sql/tenant-prompt.js";
|
|
4
|
+
export { validateTenantGuardrails, type TenantGuardrailResult, } from "./sql/tenant-guardrail.js";
|
|
5
|
+
export { resolveTenantSql, extractTenantPlaceholders, placeholderForRoot, type TenantSqlOutputMode, type TenantPlaceholderResult, type TenantBinding, } from "./sql/tenant-placeholders.js";
|
|
2
6
|
export { ask, type AskPipelineOptions, type AskPipelineResult, type AskDialect, type AskDialectInput, type AskDialectGenerateOptions, type AskDialectGenerateResult, type AskGenerateDeps, } from "./ask.js";
|
|
3
7
|
export { parseAskDbModeV1, formatAskDbModesV1, DEFAULT_ASKDB_MODE, ASKDB_MODES_V1, type AskDbModeV1, } from "./modes/types.js";
|
|
4
8
|
export { AskDbLogEvent } from "./logging/log-events.js";
|
|
@@ -8,8 +12,8 @@ export { createAskDbLogger, type AskDbLogLevel, type CreateAskDbLoggerOptions, }
|
|
|
8
12
|
export { formatSupportedAskDbLogLevels, isSupportedAskDbLogLevel, SUPPORTED_ASKDB_LOG_LEVELS, } from "./logging/pino-supported-levels.js";
|
|
9
13
|
export { loadNormalizedSchemaFromJson, parseAskDbSchemaJson } from "./schema/parse.js";
|
|
10
14
|
export type { AskDbSchemaFile, NormalizedSchema, AnyNormalizedSchema, } from "./schema/types.js";
|
|
11
|
-
export { loadSchema, loadSchemaFromJson, parseTableMarkdown, parseConceptsMarkdown, writeTableMarkdown, writeConceptsMarkdown, formatSchemaV2ForNlToSql, v2SchemaJsonSchema, v2TableSchema, v2ColumnSchema, v2TableFrontmatterSchema, v2ColumnFrontmatterSchema, v2ConceptsFrontmatterSchema, v2ConceptSchema, RECOGNIZED_H2_SECTIONS, } from "./schema/v2/index.js";
|
|
12
|
-
export type { V2SchemaJson, V2Table, V2Column, V2TableFrontmatter, V2ColumnFrontmatter, V2ConceptsFrontmatter, V2Concept, ParsedTableMarkdown, ParsedConceptsMarkdown, RecognizedH2Section, NormalizedSchemaV2, NormalizedV2Table, NormalizedV2Column, SchemaV2Warning, } from "./schema/v2/index.js";
|
|
15
|
+
export { loadSchema, loadSchemaFromJson, parseTableMarkdown, parseConceptsMarkdown, writeTableMarkdown, writeConceptsMarkdown, writeTenantPolicyMarkdown, formatSchemaV2ForNlToSql, v2SchemaJsonSchema, v2TableSchema, v2ColumnSchema, v2TableFrontmatterSchema, v2ColumnFrontmatterSchema, v2ConceptsFrontmatterSchema, v2ConceptSchema, RECOGNIZED_H2_SECTIONS, parseTenantPolicyMarkdown, normalizeTenantPolicy, tenantPolicyFrontmatterSchema, tenantRootSchema, hierarchyEdgeSchema, scopedTableSchema, polymorphicTableSchema, enforcementModeSchema, tenantScopeSchema, tenantAccessSchema, TENANT_POLICY_H2_SECTIONS, } from "./schema/v2/index.js";
|
|
16
|
+
export type { V2SchemaJson, V2Table, V2Column, V2TableFrontmatter, V2ColumnFrontmatter, V2ConceptsFrontmatter, V2Concept, ParsedTableMarkdown, ParsedConceptsMarkdown, RecognizedH2Section, NormalizedSchemaV2, NormalizedV2Table, NormalizedV2Column, SchemaV2Warning, TenantPolicyFrontmatter, TenantRoot, HierarchyEdge, ScopedTable, ScopeThrough, PolymorphicTable, EnforcementMode, TenantScope, TenantAccess, TenantAccessIds, TenantAccessSubtree, TenantAccessMultiRoot, TenantAccessGlobal, TenantFilter, TenantFilterCondition, TenantScopeContext, ParsedTenantPolicyMarkdown, NormalizedTenantPolicy, TenantPolicyWarning, TableCoverageEntry, TableTenantClassification, TenantPolicyH2Section, } from "./schema/v2/index.js";
|
|
13
17
|
export { ENRICHMENT_SYSTEM_PROMPT, buildEnrichmentUserPrompt, parseCandidates, suggestEnrichment, } from "./enrichment/index.js";
|
|
14
18
|
export type { EnrichmentCandidate, EnrichmentContext, EnrichmentTarget, SuggestEnrichmentDeps, } from "./enrichment/index.js";
|
|
15
19
|
export { formatSchemaForNlToSql, formatSchemaForPrompt, normalizeAskDbSchema, type FormatNlToSqlOptions, type NlToSqlSchemaFormatStats, } from "./schema/normalize.js";
|
|
@@ -19,7 +23,7 @@ export { generateSelectSql, type GenerateSelectSqlResult, type GenerateSqlDeps,
|
|
|
19
23
|
export { validateSelectSql, buildSelectGuardrailExplanation, type SelectGuardrailExplain, } from "./sql/validate.js";
|
|
20
24
|
export { buildNlToSqlUserPrompt, buildNlToSqlSystemPrompt, } from "./sql/prompt.js";
|
|
21
25
|
export { assertNlToSqlInputs, nlToSqlAmbiguityNotes, } from "./sql/schema-question-precheck.js";
|
|
22
|
-
export {
|
|
26
|
+
export { type AskDbLanguageModel, } from "./ai/types.js";
|
|
23
27
|
export type { Retriever, RetrievedChunk, RetrievedChunkType, RetrievedResult, } from "./retrieval/types.js";
|
|
24
28
|
export { synthesizeRetrievedDdl } from "./retrieval/synthesize-ddl.js";
|
|
25
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,GAAG,EACH,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,wBAAwB,GAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvF,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export * from "./errors.js";
|
|
2
|
+
export { validateTenantScope } from "./sql/tenant-scope-validate.js";
|
|
3
|
+
export { buildTenantPromptBlock } from "./sql/tenant-prompt.js";
|
|
4
|
+
export { validateTenantGuardrails, } from "./sql/tenant-guardrail.js";
|
|
5
|
+
export { resolveTenantSql, extractTenantPlaceholders, placeholderForRoot, } from "./sql/tenant-placeholders.js";
|
|
2
6
|
export { ask, } from "./ask.js";
|
|
3
7
|
export { parseAskDbModeV1, formatAskDbModesV1, DEFAULT_ASKDB_MODE, ASKDB_MODES_V1, } from "./modes/types.js";
|
|
4
8
|
export { AskDbLogEvent } from "./logging/log-events.js";
|
|
@@ -6,7 +10,7 @@ export { ASKDB_LOG_REQUIRED_EVENTS, ASKDB_LOG_REQUIRED_FIELDS, } from "./logging
|
|
|
6
10
|
export { createAskDbLogger, } from "./logging/create-askdb-logger.js";
|
|
7
11
|
export { formatSupportedAskDbLogLevels, isSupportedAskDbLogLevel, SUPPORTED_ASKDB_LOG_LEVELS, } from "./logging/pino-supported-levels.js";
|
|
8
12
|
export { loadNormalizedSchemaFromJson, parseAskDbSchemaJson } from "./schema/parse.js";
|
|
9
|
-
export { loadSchema, loadSchemaFromJson, parseTableMarkdown, parseConceptsMarkdown, writeTableMarkdown, writeConceptsMarkdown, formatSchemaV2ForNlToSql, v2SchemaJsonSchema, v2TableSchema, v2ColumnSchema, v2TableFrontmatterSchema, v2ColumnFrontmatterSchema, v2ConceptsFrontmatterSchema, v2ConceptSchema, RECOGNIZED_H2_SECTIONS, } from "./schema/v2/index.js";
|
|
13
|
+
export { loadSchema, loadSchemaFromJson, parseTableMarkdown, parseConceptsMarkdown, writeTableMarkdown, writeConceptsMarkdown, writeTenantPolicyMarkdown, formatSchemaV2ForNlToSql, v2SchemaJsonSchema, v2TableSchema, v2ColumnSchema, v2TableFrontmatterSchema, v2ColumnFrontmatterSchema, v2ConceptsFrontmatterSchema, v2ConceptSchema, RECOGNIZED_H2_SECTIONS, parseTenantPolicyMarkdown, normalizeTenantPolicy, tenantPolicyFrontmatterSchema, tenantRootSchema, hierarchyEdgeSchema, scopedTableSchema, polymorphicTableSchema, enforcementModeSchema, tenantScopeSchema, tenantAccessSchema, TENANT_POLICY_H2_SECTIONS, } from "./schema/v2/index.js";
|
|
10
14
|
export { ENRICHMENT_SYSTEM_PROMPT, buildEnrichmentUserPrompt, parseCandidates, suggestEnrichment, } from "./enrichment/index.js";
|
|
11
15
|
export { formatSchemaForNlToSql, formatSchemaForPrompt, normalizeAskDbSchema, } from "./schema/normalize.js";
|
|
12
16
|
export { extractSqlFromModelText } from "./sql/extract-sql.js";
|
|
@@ -15,6 +19,5 @@ export { generateSelectSql, } from "./sql/generate.js";
|
|
|
15
19
|
export { validateSelectSql, buildSelectGuardrailExplanation, } from "./sql/validate.js";
|
|
16
20
|
export { buildNlToSqlUserPrompt, buildNlToSqlSystemPrompt, } from "./sql/prompt.js";
|
|
17
21
|
export { assertNlToSqlInputs, nlToSqlAmbiguityNotes, } from "./sql/schema-question-precheck.js";
|
|
18
|
-
export { resolveAskDbAiConfig, resolveAskDbEmbeddingConfig, createAskDbLanguageModel, createAskDbLanguageModelFromEnv, createAskDbEmbeddingModel, createAskDbEmbeddingModelFromEnv, askDbAiKeyMissingMessage, } from "./ai/provider.js";
|
|
19
22
|
export { synthesizeRetrievedDdl } from "./retrieval/synthesize-ddl.js";
|
|
20
23
|
//# 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,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,GAAG,GAQJ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,GAGlB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMvF,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,GAInB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,GAAG,GAQJ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,GAGlB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMvF,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAuC9B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAIL,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,+BAA+B,GAEhC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAU3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -27,6 +27,14 @@ export declare const AskDbLogEvent: {
|
|
|
27
27
|
* skipped" apart from "never wired up".
|
|
28
28
|
*/
|
|
29
29
|
readonly PipelineRetrievalSkipped: "askdb.pipeline.retrieval.skipped";
|
|
30
|
+
/** Tenant scope validated and accepted. Includes `scopeKind` and `enforcement`. */
|
|
31
|
+
readonly TenantScopeValidated: "askdb.tenant.scope_validated";
|
|
32
|
+
/** Tenant scope validation failed. Includes `reason`. */
|
|
33
|
+
readonly TenantScopeRejected: "askdb.tenant.scope_rejected";
|
|
34
|
+
/** Tenant SQL guardrail check passed. */
|
|
35
|
+
readonly TenantGuardrailPassed: "askdb.tenant.guardrail_passed";
|
|
36
|
+
/** Tenant SQL guardrail check found issues. Includes `warnings` in warn mode. */
|
|
37
|
+
readonly TenantGuardrailFailed: "askdb.tenant.guardrail_failed";
|
|
30
38
|
};
|
|
31
39
|
export type AskDbLogEventName = (typeof AskDbLogEvent)[keyof typeof AskDbLogEvent];
|
|
32
40
|
//# sourceMappingURL=log-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-events.d.ts","sourceRoot":"","sources":["../../src/logging/log-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;IAIxB,kFAAkF;;;;IAIlF,yFAAyF;;IAEzF,4GAA4G;;IAE5G,yEAAyE;;IAEzE;;;OAGG;;IAEH;;;;OAIG;;
|
|
1
|
+
{"version":3,"file":"log-events.d.ts","sourceRoot":"","sources":["../../src/logging/log-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;IAIxB,kFAAkF;;;;IAIlF,yFAAyF;;IAEzF,4GAA4G;;IAE5G,yEAAyE;;IAEzE;;;OAGG;;IAEH;;;;OAIG;;IAEH,mFAAmF;;IAEnF,yDAAyD;;IAEzD,yCAAyC;;IAEzC,iFAAiF;;CAEzE,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -27,5 +27,13 @@ export const AskDbLogEvent = {
|
|
|
27
27
|
* skipped" apart from "never wired up".
|
|
28
28
|
*/
|
|
29
29
|
PipelineRetrievalSkipped: "askdb.pipeline.retrieval.skipped",
|
|
30
|
+
/** Tenant scope validated and accepted. Includes `scopeKind` and `enforcement`. */
|
|
31
|
+
TenantScopeValidated: "askdb.tenant.scope_validated",
|
|
32
|
+
/** Tenant scope validation failed. Includes `reason`. */
|
|
33
|
+
TenantScopeRejected: "askdb.tenant.scope_rejected",
|
|
34
|
+
/** Tenant SQL guardrail check passed. */
|
|
35
|
+
TenantGuardrailPassed: "askdb.tenant.guardrail_passed",
|
|
36
|
+
/** Tenant SQL guardrail check found issues. Includes `warnings` in warn mode. */
|
|
37
|
+
TenantGuardrailFailed: "askdb.tenant.guardrail_failed",
|
|
30
38
|
};
|
|
31
39
|
//# sourceMappingURL=log-events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-events.js","sourceRoot":"","sources":["../../src/logging/log-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,iBAAiB;IAC3B,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,iBAAiB;IAC3B,kFAAkF;IAClF,YAAY,EAAE,qBAAqB;IACnC,qBAAqB,EAAE,+BAA+B;IACtD,wBAAwB,EAAE,kCAAkC;IAC5D,yFAAyF;IACzF,uBAAuB,EAAE,iCAAiC;IAC1D,4GAA4G;IAC5G,gCAAgC,EAAE,2CAA2C;IAC7E,yEAAyE;IACzE,cAAc,EAAE,uBAAuB;IACvC;;;OAGG;IACH,qBAAqB,EAAE,+BAA+B;IACtD;;;;OAIG;IACH,wBAAwB,EAAE,kCAAkC;
|
|
1
|
+
{"version":3,"file":"log-events.js","sourceRoot":"","sources":["../../src/logging/log-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,iBAAiB;IAC3B,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,iBAAiB;IAC3B,kFAAkF;IAClF,YAAY,EAAE,qBAAqB;IACnC,qBAAqB,EAAE,+BAA+B;IACtD,wBAAwB,EAAE,kCAAkC;IAC5D,yFAAyF;IACzF,uBAAuB,EAAE,iCAAiC;IAC1D,4GAA4G;IAC5G,gCAAgC,EAAE,2CAA2C;IAC7E,yEAAyE;IACzE,cAAc,EAAE,uBAAuB;IACvC;;;OAGG;IACH,qBAAqB,EAAE,+BAA+B;IACtD;;;;OAIG;IACH,wBAAwB,EAAE,kCAAkC;IAC5D,mFAAmF;IACnF,oBAAoB,EAAE,8BAA8B;IACpD,yDAAyD;IACzD,mBAAmB,EAAE,6BAA6B;IAClD,yCAAyC;IACzC,qBAAqB,EAAE,+BAA+B;IACtD,iFAAiF;IACjF,qBAAqB,EAAE,+BAA+B;CAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize-ddl.d.ts","sourceRoot":"","sources":["../../src/retrieval/synthesize-ddl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,iFAAiF;IACjF,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"synthesize-ddl.d.ts","sourceRoot":"","sources":["../../src/retrieval/synthesize-ddl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,iFAAiF;IACjF,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAoJ7D"}
|