@askdb/client 1.0.0-beta.2 → 1.0.0-beta.3
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 +4 -3
- package/dist/client.d.ts +12 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -1
- package/dist/client.js.map +1 -1
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -6,7 +6,6 @@ Config-aware AskDB facade. Resolves schema, model, and dialect from your runtime
|
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
8
|
import { bootstrapAskDbEnv, getAskDbRuntimeConfig } from "@askdb/config";
|
|
9
|
-
import { createAiRegistry } from "@askdb/ai";
|
|
10
9
|
import { openaiProvider } from "@askdb/ai-openai";
|
|
11
10
|
import { createAskDb } from "@askdb/client";
|
|
12
11
|
|
|
@@ -16,12 +15,14 @@ import { createAskDb } from "@askdb/client";
|
|
|
16
15
|
bootstrapAskDbEnv();
|
|
17
16
|
const askdb = createAskDb({
|
|
18
17
|
config: getAskDbRuntimeConfig(),
|
|
19
|
-
|
|
18
|
+
providers: [openaiProvider], // the client builds its AI registry from these adapters
|
|
20
19
|
});
|
|
21
20
|
|
|
22
21
|
const { sql } = await askdb.ask("top 10 customers by revenue");
|
|
23
22
|
```
|
|
24
23
|
|
|
24
|
+
Pass the adapter(s) for whichever `ai.provider` your config selects. Advanced alternative: build a registry yourself with `createAiRegistry` from `@askdb/ai` and pass it as `registry` instead (e.g. to share one registry across several clients) — exactly one of `providers` or `registry` is required.
|
|
25
|
+
|
|
25
26
|
## Per-call overrides
|
|
26
27
|
|
|
27
28
|
All three resolution axes accept optional per-call overrides:
|
|
@@ -60,7 +61,7 @@ Inspect how schema, model, and dialect resolved on each call — useful for logg
|
|
|
60
61
|
```ts
|
|
61
62
|
const askdb = createAskDb({
|
|
62
63
|
config,
|
|
63
|
-
|
|
64
|
+
providers: [openaiProvider],
|
|
64
65
|
onResolve: ({ dialect, modelSource }) => {
|
|
65
66
|
console.log(`dialect=${dialect.dialect} (${dialect.source}), model=${modelSource}`);
|
|
66
67
|
},
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AiProviderAdapters, type AiRegistry } from "@askdb/ai";
|
|
2
2
|
import type { AskDbRuntimeConfig } from "@askdb/config";
|
|
3
3
|
import { type AnyNormalizedSchema, type AskDbLanguageModel, type AskDialectInput, type AskPipelineOptions, type AskPipelineResult } from "@askdb/core";
|
|
4
4
|
import type { BuiltInDialectId } from "@askdb/core";
|
|
@@ -25,8 +25,17 @@ export type DialectResolution = {
|
|
|
25
25
|
export type CreateAskDbOptions = {
|
|
26
26
|
/** Runtime snapshot, e.g. from `getAskDbRuntimeConfig()`. */
|
|
27
27
|
config: AskDbRuntimeConfig;
|
|
28
|
-
/**
|
|
29
|
-
|
|
28
|
+
/**
|
|
29
|
+
* AI provider adapters (e.g. `[openaiProvider]` from `@askdb/ai-openai`).
|
|
30
|
+
* The client builds the registry internally — the common path; you never
|
|
31
|
+
* import from `@askdb/ai`. Pass exactly one of `providers` or `registry`.
|
|
32
|
+
*/
|
|
33
|
+
providers?: AiProviderAdapters;
|
|
34
|
+
/**
|
|
35
|
+
* Prebuilt AI registry from `createAiRegistry(...)` — advanced alternative
|
|
36
|
+
* to `providers`, e.g. to share one registry across several clients.
|
|
37
|
+
*/
|
|
38
|
+
registry?: AiRegistry;
|
|
30
39
|
/** Default schema source. Falls back to config `host.schemaJson`/`host.schemaPath`/env. */
|
|
31
40
|
schema?: SchemaSource;
|
|
32
41
|
/** Default dialect override. Falls back to config.dialect → schema.provider → "postgres". */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEpC,2FAA2F;AAC3F,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,kBAAkB,EAClB,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAC5C,GAAG;IACF,MAAM,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;IAC5C,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrD,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC/C,gGAAgG;IAChG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,iBAAiB,CAAC;QAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC3G,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5E,qEAAqE;IACrE,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAcF,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA0IpE"}
|
package/dist/client.js
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
import { createAiRegistry } from "@askdb/ai";
|
|
1
2
|
import { ask, isBuiltInDialectId, loadSchema, loadSchemaFromJson, SUPPORTED_DIALECT_IDS, } from "@askdb/core";
|
|
2
3
|
import { DialectNotSupportedError, ModelNotConfiguredError, SchemaLoadError, SchemaNotConfiguredError, } from "./errors.js";
|
|
4
|
+
function resolveRegistry(options) {
|
|
5
|
+
if (options.registry && options.providers) {
|
|
6
|
+
throw new Error("createAskDb: pass either `providers` or `registry`, not both.");
|
|
7
|
+
}
|
|
8
|
+
if (options.registry)
|
|
9
|
+
return options.registry;
|
|
10
|
+
if (options.providers)
|
|
11
|
+
return createAiRegistry(options.providers);
|
|
12
|
+
throw new Error("createAskDb: pass `providers` with the AI adapters for your configured provider " +
|
|
13
|
+
'(e.g. `providers: [openaiProvider]` from "@askdb/ai-openai"), or a prebuilt `registry`.');
|
|
14
|
+
}
|
|
3
15
|
export function createAskDb(options) {
|
|
4
|
-
const { config
|
|
16
|
+
const { config } = options;
|
|
17
|
+
const registry = resolveRegistry(options);
|
|
5
18
|
let cachedSchema;
|
|
6
19
|
let cachedModel;
|
|
7
20
|
function schemaSourceLabel(src) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA4C,MAAM,WAAW,CAAC;AAEvF,OAAO,EACL,GAAG,EACH,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,GAOtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC;AA0DrB,SAAS,eAAe,CAAC,OAA2B;IAClD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC9C,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,IAAI,KAAK,CACb,kFAAkF;QAChF,yFAAyF,CAC5F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,YAA6C,CAAC;IAClD,IAAI,WAA2C,CAAC;IAEhD,SAAS,iBAAiB,CAAC,GAAuC;QAChE,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,QAAQ,CAAC;QACvC,IAAI,QAAQ,IAAI,GAAG;YAAE,OAAO,QAAQ,CAAC;QACrC,IAAI,MAAM,IAAI,GAAG;YAAE,OAAO,MAAM,CAAC;QACjC,OAAO,SAAU,GAAwB,CAAC,IAAI,GAAG,CAAC;IACpD,CAAC;IAED,SAAS,cAAc,CAAC,GAAuC,EAAE,KAAa;QAC5E,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,GAA0B,CAAC;QACzD,IAAI,QAAQ,IAAI,GAAG;YAAE,OAAQ,GAAuC,CAAC,MAAM,CAAC;QAC5E,IAAI,CAAC;YACH,IAAI,MAAM,IAAI,GAAG;gBAAE,OAAO,kBAAkB,CAAE,GAAwB,CAAC,IAAI,CAAC,CAAC;YAC7E,OAAO,UAAU,CAAE,GAAwB,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,SAAS,oBAAoB;QAC3B,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACjF,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC;QACzF,IAAI,IAAI,EAAE,CAAC;YACT,YAAY,GAAG,cAAc,CAC3B,EAAE,IAAI,EAAE,EACR,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CACnE,CAAC;YACF,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC;QACzF,IAAI,IAAI,EAAE,CAAC;YACT,YAAY,GAAG,cAAc,CAC3B,EAAE,IAAI,EAAE,EACR,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC,CAAC,sBAAsB,IAAI,GAAG,CACvF,CAAC;YACF,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,+HAA+H,CAChI,CAAC;IACJ,CAAC;IAED,SAAS,gBAAgB,CAAC,MAA2B;QACnD,OAAO,UAAU,IAAI,MAAM,IAAI,OAAQ,MAAkC,CAAC,UAAU,CAAC,KAAK,QAAQ;YAChG,CAAC,CAAE,MAAkC,CAAC,UAAU,CAAW;YAC3D,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,SAAS,cAAc,CAAC,MAA2B,EAAE,QAA0B;QAC7E,IAAI,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,QAAQ,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO;oBACL,OAAO,EAAE,aAAa;oBACtB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,yBAAyB,aAAa,gCAAgC,QAAQ,IAAI;iBACzF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,IAAI,OAAO,CAAC,cAAc,KAAK,mBAAmB,EAAE,CAAC;oBACnD,OAAO;wBACL,OAAO,EAAE,UAAU;wBACnB,MAAM,EAAE,SAAS;wBACjB,IAAI,EAAE,6BAA6B,QAAQ,0DAA0D;qBACtG,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,wBAAwB,CAChC,QAAQ,EACR,6BAA6B,QAAQ,wDAAwD;oBAC3F,6FAA6F;oBAC7F,cAAc,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpD,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,QAAwC,EACxC,IAAiC;QAEjC,IAAI,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC7D,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,SAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE,SAA0C;gBACjD,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAU,CAAA,CAAQ,EAAE;gBACvE,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QACD,IAAI,WAAW;YAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,uBAAuB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC/F,WAAW,GAAG,KAAK,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,OAAO;QACL,MAAM;YACJ,YAAY,GAAG,SAAS,CAAC;YACzB,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;YAC5G,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;YACnG,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,OAAO,GAAG,CAAC;gBACT,GAAG,IAAI;gBACP,QAAQ;gBACR,MAAM;gBACN,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askdb/client",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.3",
|
|
4
4
|
"description": "Config-aware AskDB facade: resolves schema, model, and dialect from config so callers only pass a question.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"askdb",
|
|
@@ -39,17 +39,18 @@
|
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"ai": "^6.0.205",
|
|
42
|
-
"@askdb/ai": "^0.1.0-beta.3",
|
|
43
42
|
"@askdb/config": "^1.0.0-beta.9",
|
|
44
|
-
"@askdb/core": "^1.0.0-beta.
|
|
43
|
+
"@askdb/core": "^1.0.0-beta.36"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
46
|
"ai": "^6.0.205",
|
|
48
47
|
"typescript": "^6.0.3",
|
|
49
48
|
"vitest": "^4.1.8",
|
|
50
|
-
"@askdb/
|
|
51
|
-
"@askdb/core": "1.0.0-beta.
|
|
52
|
-
|
|
49
|
+
"@askdb/config": "1.0.0-beta.9",
|
|
50
|
+
"@askdb/core": "1.0.0-beta.36"
|
|
51
|
+
},
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"@askdb/ai": "^0.1.0-beta.4"
|
|
53
54
|
},
|
|
54
55
|
"scripts": {
|
|
55
56
|
"build": "tsc -p tsconfig.build.json",
|