@askdb/http-api 1.0.0-beta.27 → 1.0.0-beta.29

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/dist/bin.js CHANGED
@@ -4,6 +4,19 @@ import { existsSync } from "node:fs";
4
4
  import { dirname, resolve } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { createAskDbHttpServer } from "./server.js";
7
+ let cliOptions;
8
+ try {
9
+ cliOptions = parseOptions(process.argv.slice(2));
10
+ }
11
+ catch (error) {
12
+ process.stderr.write(`askdb-http: ${formatError(error)}\n\n`);
13
+ printHelp(process.stderr);
14
+ process.exit(1);
15
+ }
16
+ if (cliOptions.help) {
17
+ printHelp(process.stdout);
18
+ process.exit(0);
19
+ }
7
20
  {
8
21
  const here = dirname(fileURLToPath(import.meta.url));
9
22
  // When compiled, `here` is `.../apps/http-api/dist`, so repo root is 3 levels up.
@@ -18,7 +31,68 @@ import { createAskDbHttpServer } from "./server.js";
18
31
  });
19
32
  }
20
33
  const { httpApi } = getAskDbRuntimeConfig();
21
- const app = createAskDbHttpServer({ port: httpApi.listen.port, host: httpApi.listen.host });
34
+ const app = createAskDbHttpServer({
35
+ port: cliOptions.port ?? httpApi.listen.port,
36
+ host: cliOptions.host ?? httpApi.listen.host,
37
+ schemaPath: cliOptions.schemaPath,
38
+ });
22
39
  await app.listen();
23
40
  console.log(`AskDB HTTP API listening on http://${app.host}:${app.port}`);
41
+ function parseOptions(argv) {
42
+ const opts = {};
43
+ for (let i = 0; i < argv.length; i += 1) {
44
+ const arg = argv[i];
45
+ switch (arg) {
46
+ case "--schema-path":
47
+ opts.schemaPath = readValue(argv, ++i, arg);
48
+ break;
49
+ case "--port": {
50
+ const raw = readValue(argv, ++i, arg);
51
+ const port = Number(raw);
52
+ if (!Number.isInteger(port) || port <= 0 || port > 65535) {
53
+ throw new Error(`Invalid --port: ${raw}`);
54
+ }
55
+ opts.port = port;
56
+ break;
57
+ }
58
+ case "--host":
59
+ opts.host = readValue(argv, ++i, arg);
60
+ break;
61
+ case "--help":
62
+ case "-h":
63
+ opts.help = true;
64
+ break;
65
+ default:
66
+ throw new Error(`Unknown option: ${arg}`);
67
+ }
68
+ }
69
+ return opts;
70
+ }
71
+ function readValue(argv, index, flag) {
72
+ const value = argv[index];
73
+ if (!value || value.startsWith("--")) {
74
+ throw new Error(`${flag} requires a value.`);
75
+ }
76
+ return value;
77
+ }
78
+ function printHelp(stream) {
79
+ stream.write([
80
+ "askdb-http - Standalone AskDB HTTP API server",
81
+ "",
82
+ "Usage:",
83
+ " askdb-http [--schema-path <path>] [--port <number>] [--host <host>]",
84
+ "",
85
+ "Options:",
86
+ " --schema-path <path> Server-default schema artifact path",
87
+ " --port <number> Port to listen on",
88
+ " --host <host> Host to bind",
89
+ " -h, --help Print this help",
90
+ "",
91
+ "CLI flags override askdb.config.ts values.",
92
+ "",
93
+ ].join("\n"));
94
+ }
95
+ function formatError(error) {
96
+ return error instanceof Error ? error.message : String(error);
97
+ }
24
98
  //# sourceMappingURL=bin.js.map
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,CAAC;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,kFAAkF;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAExC,8EAA8E;IAC9E,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,iBAAiB,CAAC;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,oBAAoB,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACrE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;AAC5C,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5F,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;AACnB,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -4,6 +4,8 @@ export type AskDbHttpServerOptions = {
4
4
  port?: number;
5
5
  /** Default: 127.0.0.1 */
6
6
  host?: string;
7
+ /** Server-default schema artifact path. Precedence: this option → `host.schemaPath` config → `ASKDB_SCHEMA_PATH` env. */
8
+ schemaPath?: string;
7
9
  /** Default: 1 MiB */
8
10
  maxBodyBytes?: number;
9
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAiCjE,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAqIF,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B;;;;;;EA8MzE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAgCjE,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yHAAyH;IACzH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAiFF,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B;;;;;;EAgMzE"}
package/dist/server.js CHANGED
@@ -1,15 +1,13 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { existsSync } from "node:fs";
3
2
  import { createServer as createNodeServer } from "node:http";
4
- import { dirname, isAbsolute, resolve as resolvePath } from "node:path";
5
- import { fileURLToPath } from "node:url";
6
3
  import { getAskDbRuntimeConfig } from "@askdb/config";
7
4
  import { createAiRegistry, } from "@askdb/ai";
8
5
  import { anthropicProvider } from "@askdb/ai-anthropic";
9
6
  import { azureProvider } from "@askdb/ai-azure";
10
7
  import { googleProvider } from "@askdb/ai-google";
11
8
  import { openaiProvider } from "@askdb/ai-openai";
12
- import { AskDbError, AskDbLogEvent, DEFAULT_ASKDB_MODE, isBuiltInDialectId, SqlGenerationError, SqlValidationError, ask, createAskDbLogger, loadSchema, loadSchemaFromJson, parseAskDbModeV1, } from "@askdb/core";
9
+ import { createAskDb, DialectNotSupportedError, ModelNotConfiguredError, SchemaLoadError, SchemaNotConfiguredError, } from "@askdb/client";
10
+ import { AskDbError, AskDbLogEvent, DEFAULT_ASKDB_MODE, SqlGenerationError, SqlValidationError, createAskDbLogger, parseAskDbModeV1, } from "@askdb/core";
13
11
  const ai = createAiRegistry([openaiProvider, azureProvider, googleProvider, anthropicProvider]);
14
12
  const DEFAULT_MAX_BODY_BYTES = 1024 * 1024;
15
13
  class RequestBodyTooLargeError extends Error {
@@ -74,59 +72,21 @@ function getHeader(req, name) {
74
72
  function badRequest(correlationId, message) {
75
73
  return { ok: false, correlationId, error: { code: "bad_request", message } };
76
74
  }
77
- function resolveSchemaJsonFromRt(rt) {
78
- const inline = rt.ai.aiEnv.ASKDB_SCHEMA_JSON;
79
- if (typeof inline === "string" && inline.trim() !== "") {
80
- return { schemaJson: inline, source: "ASKDB_SCHEMA_JSON" };
81
- }
82
- const p = rt.ai.aiEnv.ASKDB_SCHEMA_PATH;
83
- if (typeof p === "string" && p.trim() !== "") {
84
- return { schemaJson: undefined, source: `ASKDB_SCHEMA_PATH (${p})` };
85
- }
86
- return { schemaJson: undefined, source: undefined };
87
- }
88
- async function resolveSchemaPathWithFallbacks(schemaPath) {
89
- const trimmed = schemaPath.trim();
90
- // 1) As provided (absolute or relative to current working directory)
91
- if (isAbsolute(trimmed)) {
92
- return { resolvedPath: trimmed, source: `ASKDB_SCHEMA_PATH (${trimmed})` };
93
- }
94
- // 2) Relative to CWD — accept both files and directories
95
- if (existsSync(trimmed)) {
96
- return { resolvedPath: trimmed, source: `ASKDB_SCHEMA_PATH (${trimmed})` };
97
- }
98
- // 3) If relative, also try resolving relative to the repo root (3 levels up from this file).
99
- // Works for both `src/` and compiled `dist/` layouts:
100
- // - .../apps/http-api/src/server.ts -> repo root is ../../..
101
- // - .../apps/http-api/dist/server.js -> repo root is ../../..
102
- const here = dirname(fileURLToPath(import.meta.url));
103
- const repoRoot = resolvePath(here, "../../..");
104
- const repoRelative = resolvePath(repoRoot, trimmed);
105
- return { resolvedPath: repoRelative, source: `ASKDB_SCHEMA_PATH (${trimmed}) resolved from repo root (${repoRelative})` };
106
- }
107
75
  function modeFromHeader(v) {
108
76
  if (!v)
109
77
  return undefined;
110
78
  return parseAskDbModeV1(v);
111
79
  }
112
- /**
113
- * Resolve the NL→SQL dialect for an HTTP `/ask` invocation. Same priority as
114
- * the CLI: `config.dialect` → `schema.provider` → `"postgres"`. Mirrors the
115
- * CLI's behavior so a request hits the same dialect the user authored against.
116
- */
117
- function resolveHttpApiDialect(configDialect, schemaProvider) {
118
- if (configDialect)
119
- return configDialect;
120
- if (schemaProvider && isBuiltInDialectId(schemaProvider))
121
- return schemaProvider;
122
- return "postgres";
123
- }
124
80
  export function createAskDbHttpServer(options = {}) {
125
81
  const host = options.host ?? "127.0.0.1";
126
82
  const port = options.port ?? 3000;
83
+ const optionSchemaPath = options.schemaPath;
127
84
  const maxBodyBytes = options.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES;
128
- let cachedSchema;
129
- let cachedSchemaSource;
85
+ // The facade is constructed lazily on the first request so it captures the
86
+ // runtime config that is active at that point. Config is stable for the
87
+ // process lifetime after bootstrap; the facade's internal cache handles
88
+ // subsequent requests.
89
+ let askdb;
130
90
  const server = createNodeServer(async (req, res) => {
131
91
  const method = req.method ?? "GET";
132
92
  const url = req.url ?? "/";
@@ -182,73 +142,26 @@ export function createAskDbHttpServer(options = {}) {
182
142
  });
183
143
  return;
184
144
  }
185
- const mockSql = rt.dev.mockSql;
186
- const aiConfig = mockSql ? undefined : ai.resolveAiConfig(rt.ai.aiEnv);
187
- if (!mockSql && !aiConfig) {
188
- writeError(res, 500, correlationId, {
189
- code: "generation_not_configured",
190
- message: `${ai.keyMissingMessage("NL→SQL generation")} (or set ASKDB_MOCK_SQL).`,
145
+ // Build the facade once per server instance (lazily on first request so
146
+ // it captures the stable runtime config).
147
+ if (!askdb) {
148
+ askdb = createAskDb({
149
+ config: rt,
150
+ registry: ai,
151
+ // When the caller supplied a schemaPath option, it takes precedence
152
+ // over host.schemaPath / ASKDB_SCHEMA_PATH in config.
153
+ schema: optionSchemaPath ? { path: optionSchemaPath } : undefined,
154
+ unknownDialect: "fallback-postgres",
191
155
  });
192
- return;
193
156
  }
194
157
  logger.info({ event: AskDbLogEvent.RunStart, mode }, "askdb http run start");
195
- let schema;
196
- try {
197
- // Prefer request override, otherwise use the server-default schema (cached).
198
- const requestOverride = typeof body.schemaJson === "string" && body.schemaJson.trim() !== "" ? body.schemaJson : undefined;
199
- if (requestOverride) {
200
- schema = loadSchemaFromJson(requestOverride);
201
- }
202
- else {
203
- if (!cachedSchema) {
204
- const envSchema = resolveSchemaJsonFromRt(rt);
205
- cachedSchemaSource = envSchema.source;
206
- if (envSchema.schemaJson) {
207
- cachedSchema = loadSchemaFromJson(envSchema.schemaJson);
208
- }
209
- else if (rt.ai.aiEnv.ASKDB_SCHEMA_PATH && rt.ai.aiEnv.ASKDB_SCHEMA_PATH.trim() !== "") {
210
- const { resolvedPath, source } = await resolveSchemaPathWithFallbacks(rt.ai.aiEnv.ASKDB_SCHEMA_PATH);
211
- cachedSchemaSource = source;
212
- cachedSchema = loadSchema(resolvedPath);
213
- }
214
- else {
215
- writeError(res, 400, correlationId, {
216
- code: "bad_request",
217
- message: "No schema configured. Provide `schemaJson` in the request body or set ASKDB_SCHEMA_PATH / ASKDB_SCHEMA_JSON on the server.",
218
- });
219
- return;
220
- }
221
- }
222
- schema = cachedSchema;
223
- }
224
- }
225
- catch (e) {
226
- const msg = e instanceof Error ? e.message : String(e);
227
- const prefix = cachedSchemaSource ? `schema parse error (${cachedSchemaSource}): ` : "schema parse error: ";
228
- writeError(res, 400, correlationId, { code: "schema_parse_error", message: `${prefix}${msg}` });
229
- return;
230
- }
231
- const model = mockSql
232
- ? undefined
233
- : (await ai.createLanguageModelFromEnv(rt.ai.aiEnv));
234
- const schemaProvider = "provider" in schema && typeof schema.provider === "string"
235
- ? schema.provider
236
- : undefined;
237
- const dialect = resolveHttpApiDialect(rt.nlToSql.dialect, schemaProvider);
238
- const out = await ask({
239
- question: body.question,
240
- schema,
241
- model,
242
- dialect,
158
+ const requestOverride = typeof body.schemaJson === "string" && body.schemaJson.trim() !== "" ? body.schemaJson : undefined;
159
+ const out = await askdb.ask(body.question, {
160
+ schema: requestOverride ? { json: requestOverride } : undefined,
243
161
  logger,
244
162
  mode: mode ?? DEFAULT_ASKDB_MODE,
245
163
  explain: Boolean(body.explain),
246
164
  omitSensitiveIdentifiersFromNlToSqlPrompt: Boolean(body.omitSensitiveFromPrompt),
247
- deps: mockSql !== undefined
248
- ? {
249
- generateText: (async () => ({ text: mockSql })),
250
- }
251
- : undefined,
252
165
  });
253
166
  const payload = {
254
167
  ok: true,
@@ -267,6 +180,27 @@ export function createAskDbHttpServer(options = {}) {
267
180
  writeError(res, 400, correlationId, badRequest(correlationId, msg).error);
268
181
  return;
269
182
  }
183
+ if (e instanceof SchemaNotConfiguredError) {
184
+ writeError(res, 400, correlationId, {
185
+ code: "bad_request",
186
+ message: "No schema configured. Provide `schemaJson` in the request body or set ASKDB_SCHEMA_PATH / ASKDB_SCHEMA_JSON on the server.",
187
+ });
188
+ return;
189
+ }
190
+ if (e instanceof SchemaLoadError) {
191
+ writeError(res, 400, correlationId, {
192
+ code: "schema_parse_error",
193
+ message: `schema parse error (${e.source}): ${e.cause instanceof Error ? e.cause.message : String(e.cause)}`,
194
+ });
195
+ return;
196
+ }
197
+ if (e instanceof ModelNotConfiguredError) {
198
+ writeError(res, 500, correlationId, {
199
+ code: "generation_not_configured",
200
+ message: `${msg} (or set ASKDB_MOCK_SQL).`,
201
+ });
202
+ return;
203
+ }
270
204
  logger.error({ event: AskDbLogEvent.RunError, errMessage: msg }, "askdb http run error");
271
205
  if (e instanceof SqlValidationError) {
272
206
  writeError(res, 400, correlationId, {
@@ -280,6 +214,10 @@ export function createAskDbHttpServer(options = {}) {
280
214
  writeError(res, 502, correlationId, { code: "sql_generation_error", message: e.message });
281
215
  return;
282
216
  }
217
+ if (e instanceof DialectNotSupportedError) {
218
+ writeError(res, 400, correlationId, { code: "bad_request", message: msg });
219
+ return;
220
+ }
283
221
  if (e instanceof AskDbError) {
284
222
  // Default mapping for other core errors.
285
223
  writeError(res, 500, correlationId, { code: "internal_error", message: e.message });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdb/http-api",
3
- "version": "1.0.0-beta.27",
3
+ "version": "1.0.0-beta.29",
4
4
  "description": "AskDB HTTP API: minimal HTTP wrapper around @askdb/core. POST /ask returns validated SQL only.",
5
5
  "keywords": [
6
6
  "askdb",
@@ -43,21 +43,22 @@
43
43
  "node": ">=20"
44
44
  },
45
45
  "dependencies": {
46
- "ai": "^6.0.200",
46
+ "ai": "^6.0.205",
47
47
  "pg": "^8.21.0",
48
48
  "@askdb/ai": "0.1.0-beta.3",
49
- "@askdb/ai-google": "1.0.0-beta.3",
50
49
  "@askdb/ai-anthropic": "1.0.0-beta.1",
51
- "@askdb/ai-openai": "1.0.0-beta.3",
52
50
  "@askdb/ai-azure": "1.0.0-beta.3",
53
- "@askdb/config": "1.0.0-beta.8",
51
+ "@askdb/client": "0.1.0-beta.1",
52
+ "@askdb/ai-google": "1.0.0-beta.3",
53
+ "@askdb/ai-openai": "1.0.0-beta.3",
54
54
  "@askdb/core": "1.0.0-beta.26",
55
+ "@askdb/config": "1.0.0-beta.8",
55
56
  "@askdb/postgres": "0.2.0-beta.12"
56
57
  },
57
58
  "devDependencies": {
58
59
  "tsx": "^4.22.4",
59
- "typescript": "^5.9.3",
60
- "vitest": "^3.2.6"
60
+ "typescript": "^6.0.3",
61
+ "vitest": "^4.1.8"
61
62
  },
62
63
  "scripts": {
63
64
  "build": "tsc -p tsconfig.build.json",