@askdb/client 1.0.0-beta.2 → 1.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -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
- registry: createAiRegistry([openaiProvider]),
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
- registry,
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 { AiRegistry } from "@askdb/ai";
1
+ import { type AiProviderAdapters, type AiRegistry, type ReasoningEffort } 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";
@@ -15,6 +15,12 @@ export type AskOverrides = Omit<AskPipelineOptions, "question" | "schema" | "mod
15
15
  schema?: SchemaSource | AnyNormalizedSchema;
16
16
  model?: AskDbLanguageModel;
17
17
  dialect?: AskDialectInput;
18
+ /**
19
+ * Provider-portable reasoning/latency effort for this call, overriding the
20
+ * client default and `askdb.config.ts`'s `ai.reasoning.nlToSql`/`effort`.
21
+ * Ignored when `model` or `deps.generateText` is also set (BYO paths).
22
+ */
23
+ reasoningEffort?: ReasoningEffort;
18
24
  };
19
25
  export type DialectResolution = {
20
26
  dialect: AskDialectInput;
@@ -25,8 +31,17 @@ export type DialectResolution = {
25
31
  export type CreateAskDbOptions = {
26
32
  /** Runtime snapshot, e.g. from `getAskDbRuntimeConfig()`. */
27
33
  config: AskDbRuntimeConfig;
28
- /** AI registry built from host-registered adapters via `createAiRegistry(...)`. */
29
- registry: AiRegistry;
34
+ /**
35
+ * AI provider adapters (e.g. `[openaiProvider]` from `@askdb/ai-openai`).
36
+ * The client builds the registry internally — the common path; you never
37
+ * import from `@askdb/ai`. Pass exactly one of `providers` or `registry`.
38
+ */
39
+ providers?: AiProviderAdapters;
40
+ /**
41
+ * Prebuilt AI registry from `createAiRegistry(...)` — advanced alternative
42
+ * to `providers`, e.g. to share one registry across several clients.
43
+ */
44
+ registry?: AiRegistry;
30
45
  /** Default schema source. Falls back to config `host.schemaJson`/`host.schemaPath`/env. */
31
46
  schema?: SchemaSource;
32
47
  /** Default dialect override. Falls back to config.dialect → schema.provider → "postgres". */
@@ -41,6 +56,13 @@ export type CreateAskDbOptions = {
41
56
  dialect: DialectResolution;
42
57
  modelSource: "override" | "registry" | "mock";
43
58
  }) => void;
59
+ /**
60
+ * Client-level default reasoning/latency effort for NL→SQL generation
61
+ * (`ask()`). When set, takes precedence over `askdb.config.ts`'s
62
+ * `ai.reasoning.nlToSql`/`effort` env resolution; overridden per-call by
63
+ * `AskOverrides.reasoningEffort`.
64
+ */
65
+ reasoningEffort?: ReasoningEffort;
44
66
  };
45
67
  export type AskDbClient = {
46
68
  ask(question: string, overrides?: AskOverrides): Promise<AskPipelineResult>;
@@ -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;AAC5C,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,mFAAmF;IACnF,QAAQ,EAAE,UAAU,CAAC;IACrB,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;AAEF,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAyIpE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AACnB,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;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,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;IAC1G;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,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,CAmLpE"}
package/dist/client.js CHANGED
@@ -1,9 +1,23 @@
1
+ import { createAiRegistry, resolveReasoningEffort, } 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, registry } = options;
16
+ const { config } = options;
17
+ const registry = resolveRegistry(options);
5
18
  let cachedSchema;
6
19
  let cachedModel;
20
+ let cachedAiConfig;
7
21
  function schemaSourceLabel(src) {
8
22
  if ("schemaId" in src)
9
23
  return "schema";
@@ -85,46 +99,61 @@ export function createAskDb(options) {
85
99
  }
86
100
  return { dialect: "postgres", source: "default" };
87
101
  }
88
- async function resolveModel(override, deps) {
102
+ async function resolveModel(override, deps, reasoningEffortOverride) {
89
103
  if (override)
90
104
  return { model: override, source: "override" };
91
105
  if (deps?.generateText) {
92
- return { model: undefined, deps, source: "mock" };
106
+ return { model: undefined, source: "mock", mockDeps: deps };
93
107
  }
94
108
  const mockSql = config.dev.mockSql;
95
109
  if (mockSql !== undefined) {
96
110
  return {
97
111
  model: undefined,
98
- deps: { generateText: (async () => ({ text: mockSql })) },
99
112
  source: "mock",
113
+ mockDeps: { generateText: (async () => ({ text: mockSql })) },
100
114
  };
101
115
  }
102
- if (cachedModel)
103
- return { model: cachedModel, source: "registry" };
104
- const model = await registry.createLanguageModelFromEnv(config.ai.aiEnv);
105
- if (!model)
106
- throw new ModelNotConfiguredError(registry.keyMissingMessage("NL→SQL generation"));
107
- cachedModel = model;
108
- return { model: cachedModel, source: "registry" };
116
+ if (!cachedAiConfig) {
117
+ cachedAiConfig = registry.resolveAiConfig(config.ai.aiEnv);
118
+ if (!cachedAiConfig)
119
+ throw new ModelNotConfiguredError(registry.keyMissingMessage("NL→SQL generation"));
120
+ }
121
+ if (!cachedModel) {
122
+ cachedModel = await registry.createLanguageModel(cachedAiConfig);
123
+ }
124
+ const reasoningEffort = resolveReasoningEffort(config.ai.aiEnv, "nlToSql", reasoningEffortOverride ?? options.reasoningEffort);
125
+ const providerOptions = reasoningEffort
126
+ ? registry.resolveProviderOptions(cachedAiConfig, { reasoningEffort })
127
+ : undefined;
128
+ return { model: cachedModel, source: "registry", providerOptions };
109
129
  }
110
130
  return {
111
131
  reload() {
112
132
  cachedSchema = undefined;
113
133
  cachedModel = undefined;
134
+ cachedAiConfig = undefined;
114
135
  },
115
136
  async ask(question, overrides = {}) {
116
- const { schema: schemaOverride, model: modelOverride, dialect: dialectOverride, deps, ...rest } = overrides;
137
+ const { schema: schemaOverride, model: modelOverride, dialect: dialectOverride, deps, reasoningEffort, ...rest } = overrides;
117
138
  const schema = schemaOverride ? loadFromSource(schemaOverride, "request") : resolveDefaultSchema();
118
139
  const dialect = resolveDialect(schema, dialectOverride);
119
- const resolvedModel = await resolveModel(modelOverride, deps);
140
+ const resolvedModel = await resolveModel(modelOverride, deps, reasoningEffort);
120
141
  options.onResolve?.({ dialect, modelSource: resolvedModel.source });
142
+ // An explicit `deps.providerOptions` from the caller always wins over
143
+ // the computed one; otherwise merge the resolved reasoning effort in.
144
+ const finalDeps = resolvedModel.mockDeps ??
145
+ (deps?.providerOptions !== undefined
146
+ ? deps
147
+ : resolvedModel.providerOptions !== undefined
148
+ ? { ...deps, providerOptions: resolvedModel.providerOptions }
149
+ : deps);
121
150
  return ask({
122
151
  ...rest,
123
152
  question,
124
153
  schema,
125
154
  model: resolvedModel.model,
126
155
  dialect: dialect.dialect,
127
- ...(resolvedModel.deps ? { deps: resolvedModel.deps } : deps ? { deps } : {}),
156
+ ...(finalDeps ? { deps: finalDeps } : {}),
128
157
  });
129
158
  },
130
159
  };
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdb/client",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.4",
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",
@@ -35,21 +35,22 @@
35
35
  "NOTICE"
36
36
  ],
37
37
  "engines": {
38
- "node": ">=20"
38
+ "node": ">=22"
39
39
  },
40
40
  "peerDependencies": {
41
- "ai": "^6.0.205",
42
- "@askdb/ai": "^0.1.0-beta.3",
43
- "@askdb/config": "^1.0.0-beta.9",
44
- "@askdb/core": "^1.0.0-beta.26"
41
+ "ai": "^7.0.51",
42
+ "@askdb/config": "^1.0.0-beta.10",
43
+ "@askdb/core": "^1.0.0-beta.41"
45
44
  },
46
45
  "devDependencies": {
47
- "ai": "^6.0.205",
46
+ "ai": "^7.0.51",
48
47
  "typescript": "^6.0.3",
49
- "vitest": "^4.1.8",
50
- "@askdb/ai": "0.1.0-beta.3",
51
- "@askdb/core": "1.0.0-beta.26",
52
- "@askdb/config": "1.0.0-beta.9"
48
+ "vitest": "^4.1.10",
49
+ "@askdb/config": "1.0.0-beta.10",
50
+ "@askdb/core": "1.0.0-beta.41"
51
+ },
52
+ "dependencies": {
53
+ "@askdb/ai": "^0.1.0-beta.5"
53
54
  },
54
55
  "scripts": {
55
56
  "build": "tsc -p tsconfig.build.json",