askdb 1.0.0-beta.43 → 1.0.0-beta.44
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 +11 -0
- package/dist/cli.js +80 -74
- package/dist/cli.js.map +1 -1
- package/dist/error-values.d.ts +8 -0
- package/dist/error-values.d.ts.map +1 -0
- package/dist/error-values.js +12 -0
- package/dist/error-values.js.map +1 -0
- package/dist/init.d.ts +4 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +104 -90
- package/dist/init.js.map +1 -1
- package/dist/introspect.d.ts +12 -1
- package/dist/introspect.d.ts.map +1 -1
- package/dist/introspect.js +101 -120
- package/dist/introspect.js.map +1 -1
- package/dist/logger.d.ts +18 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +32 -0
- package/dist/logger.js.map +1 -0
- package/dist/project-config.d.ts +12 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +21 -0
- package/dist/project-config.js.map +1 -0
- package/dist/rag.d.ts +2 -0
- package/dist/rag.d.ts.map +1 -0
- package/dist/rag.js +593 -0
- package/dist/rag.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/package.json +23 -23
package/dist/introspect.js
CHANGED
|
@@ -1,58 +1,68 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
3
2
|
import { basename, join } from "node:path";
|
|
4
|
-
import {
|
|
3
|
+
import { isDeepStrictEqual } from "node:util";
|
|
5
4
|
import { getAskDbRuntimeConfig } from "@askdb/config";
|
|
6
|
-
import { introspect,
|
|
7
|
-
import { createConnectorRegistry, } from "@askdb/connectors";
|
|
5
|
+
import { createConnectorRegistry, introspect, isSchemaV2Json, renderSchemaV2Body, } from "@askdb/introspect";
|
|
8
6
|
import { postgresConnectorProvider } from "@askdb/postgres";
|
|
9
7
|
import { mysqlConnectorProvider } from "@askdb/mysql";
|
|
10
8
|
import { sqliteConnectorProvider } from "@askdb/sqlite";
|
|
11
9
|
import { sqlServerConnectorProvider } from "@askdb/sqlserver";
|
|
12
10
|
import { prismaConnectorProvider } from "@askdb/prisma";
|
|
13
|
-
|
|
11
|
+
import { createCliLogger } from "./logger.js";
|
|
12
|
+
import { requireAskDbConfig } from "./project-config.js";
|
|
13
|
+
import { readCliVersion } from "./version.js";
|
|
14
|
+
/**
|
|
15
|
+
* The engines `askdb introspect` supports out of the box. Engine-specific
|
|
16
|
+
* connection resolution (flag vs. config precedence, per-engine validation)
|
|
17
|
+
* lives in each adapter's `resolveConnection`, not here.
|
|
18
|
+
*/
|
|
19
|
+
export const defaultConnectorRegistry = createConnectorRegistry([
|
|
14
20
|
postgresConnectorProvider,
|
|
15
21
|
mysqlConnectorProvider,
|
|
16
22
|
sqliteConnectorProvider,
|
|
17
23
|
sqlServerConnectorProvider,
|
|
18
24
|
prismaConnectorProvider,
|
|
19
25
|
]);
|
|
20
|
-
const LIVE_DRIVER_ENGINES = ["postgres", "mysql", "sqlite", "sqlserver"];
|
|
21
26
|
const INTROSPECT_EVENTS = {
|
|
22
27
|
started: "askdb.introspect.started",
|
|
23
28
|
completed: "askdb.introspect.completed",
|
|
24
29
|
warning: "askdb.introspect.warning",
|
|
25
30
|
error: "askdb.introspect.error",
|
|
26
31
|
};
|
|
27
|
-
export async function runIntrospectCli(argv) {
|
|
32
|
+
export async function runIntrospectCli(argv, options = {}) {
|
|
33
|
+
if (argv.includes("--version") || argv.includes("-V")) {
|
|
34
|
+
process.stdout.write(`${readCliVersion()}\n`);
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
37
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
38
|
+
printHelp();
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
const registry = options.connectorRegistry ?? defaultConnectorRegistry;
|
|
42
|
+
const templates = argv[0] === "templates";
|
|
43
|
+
// Only an introspection run reads askdb.config. A missing or broken config propagates to
|
|
44
|
+
// the CLI's top-level error handler, the same as for `askdb ask`.
|
|
45
|
+
if (!templates)
|
|
46
|
+
requireAskDbConfig();
|
|
28
47
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
if (argv.includes("--help") || argv.includes("-h")) {
|
|
34
|
-
printHelp();
|
|
35
|
-
return 0;
|
|
36
|
-
}
|
|
37
|
-
if (argv[0] === "templates") {
|
|
38
|
-
return runTemplatesCommand(argv.slice(1));
|
|
39
|
-
}
|
|
40
|
-
return await runIntrospectCommand(argv);
|
|
48
|
+
return templates
|
|
49
|
+
? runTemplatesCommand(argv.slice(1), registry)
|
|
50
|
+
: await runIntrospectCommand(argv, registry);
|
|
41
51
|
}
|
|
42
52
|
catch (error) {
|
|
43
53
|
process.stderr.write(`${formatError(error)}\n`);
|
|
44
54
|
return 1;
|
|
45
55
|
}
|
|
46
56
|
}
|
|
47
|
-
function runTemplatesCommand(argv) {
|
|
57
|
+
function runTemplatesCommand(argv, registry) {
|
|
48
58
|
const opts = parseOptions(argv);
|
|
49
|
-
const engine = resolveEngine(opts.engine);
|
|
50
|
-
|
|
51
|
-
throw new Error("Prisma introspection reads schema files and does not provide SQL templates.");
|
|
52
|
-
}
|
|
53
|
-
const bundle = connectorRegistry.getTemplates(engine);
|
|
59
|
+
const engine = resolveEngine(registry, opts.engine);
|
|
60
|
+
const bundle = registry.getTemplates(engine);
|
|
54
61
|
if (!bundle) {
|
|
55
|
-
|
|
62
|
+
const withTemplates = registry.providers().filter((id) => registry.getTemplates(id) !== undefined);
|
|
63
|
+
throw new Error(`Engine '${engine}' does not provide SQL templates yet. 'askdb introspect templates' is currently supported only for ` +
|
|
64
|
+
(withTemplates.length > 0 ? withTemplates.map((id) => `--engine ${id}`).join(", ") : "engines that provide them") +
|
|
65
|
+
".");
|
|
56
66
|
}
|
|
57
67
|
const body = bundle.templates
|
|
58
68
|
.map((tpl) => [`-- ${tpl.name}`, tpl.sql, ""].join("\n"))
|
|
@@ -60,62 +70,27 @@ function runTemplatesCommand(argv) {
|
|
|
60
70
|
process.stdout.write(body);
|
|
61
71
|
return 0;
|
|
62
72
|
}
|
|
63
|
-
async function runIntrospectCommand(argv) {
|
|
73
|
+
async function runIntrospectCommand(argv, registry) {
|
|
64
74
|
const opts = parseOptions(argv);
|
|
65
75
|
const rt = getAskDbRuntimeConfig();
|
|
66
76
|
// When --engine isn't passed, fall back to the configured introspection.provider
|
|
67
77
|
// so `askdb introspect` works flag-free for any configured engine.
|
|
68
|
-
const engine = resolveEngine(opts.engine ?? rt.introspection.provider);
|
|
69
|
-
if (engine === "postgres" && !opts.url && !opts.fromExport) {
|
|
70
|
-
if (rt.introspection.postgresDatabaseUrl) {
|
|
71
|
-
opts.url = rt.introspection.postgresDatabaseUrl;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
throw new Error("Provide either --url <postgres-url> or --from-export <bundle-dir>.");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// For the new live-driver engines, prefer the runtime-resolved per-engine
|
|
78
|
-
// field (structured config -> provider-specific env -> DATABASE_URL fallback
|
|
79
|
-
// for URL-shaped engines). SQLite has no DATABASE_URL fallback by design.
|
|
78
|
+
const engine = resolveEngine(registry, opts.engine ?? rt.introspection.provider);
|
|
80
79
|
// Schemas (MySQL/MariaDB: databases) to introspect: `--schemas` wins, then introspection.schemas.
|
|
81
80
|
if (!opts.schemas && rt.introspection.schemas) {
|
|
82
81
|
opts.schemas = rt.introspection.schemas;
|
|
83
82
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
if (engine === "sqlite" && !opts.url) {
|
|
97
|
-
if (rt.introspection.sqliteFile)
|
|
98
|
-
opts.url = rt.introspection.sqliteFile;
|
|
99
|
-
else
|
|
100
|
-
throw new Error("Provide --url <path-to-sqlite-file> (or set introspection.providerConfig.sqlite.file / ASKDB_INTROSPECT_SQLITE_FILE).");
|
|
101
|
-
}
|
|
102
|
-
if ((engine === "mysql" || engine === "sqlite" || engine === "sqlserver") && opts.fromExport) {
|
|
103
|
-
throw new Error(`--from-export is currently supported only for --engine postgres (got ${engine}).`);
|
|
104
|
-
}
|
|
105
|
-
if (engine === "postgres" && opts.prismaSchema) {
|
|
106
|
-
throw new Error("Use --prisma-schema only with --engine prisma.");
|
|
107
|
-
}
|
|
108
|
-
if (engine === "prisma" && !opts.prismaSchema) {
|
|
109
|
-
const fromConfig = rt.introspection.prismaSchemaPath;
|
|
110
|
-
if (fromConfig) {
|
|
111
|
-
opts.prismaSchema = fromConfig;
|
|
112
|
-
}
|
|
113
|
-
// When still unset, @askdb/prisma will auto-discover prisma/schema.prisma or schema.prisma at runtime.
|
|
114
|
-
}
|
|
115
|
-
if (engine === "prisma" && (opts.url || opts.fromExport)) {
|
|
116
|
-
throw new Error("Use --prisma-schema with --engine prisma, not --url or --from-export.");
|
|
117
|
-
}
|
|
118
|
-
if (opts.url && opts.fromExport) {
|
|
83
|
+
// The engine's adapter merges flags with askdb.config/env (flags win) and
|
|
84
|
+
// rejects flags that don't apply to it.
|
|
85
|
+
const resolved = registry.resolveConnection(engine, {
|
|
86
|
+
explicit: { url: opts.url, fromExport: opts.fromExport, schemaPath: opts.prismaSchema },
|
|
87
|
+
runtime: rt,
|
|
88
|
+
surface: "cli",
|
|
89
|
+
});
|
|
90
|
+
if (!resolved.ok)
|
|
91
|
+
throw new Error(resolved.error);
|
|
92
|
+
const { url, fromExport, schemaPath } = resolved.connection;
|
|
93
|
+
if (url && fromExport) {
|
|
119
94
|
throw new Error("Use only one input mode: --url or --from-export.");
|
|
120
95
|
}
|
|
121
96
|
if (!opts.print && !opts.diff && !opts.out) {
|
|
@@ -128,23 +103,16 @@ async function runIntrospectCommand(argv) {
|
|
|
128
103
|
throw new Error("Use only one output mode: --out, --print, or --diff.");
|
|
129
104
|
}
|
|
130
105
|
const schemaId = opts.schemaId ?? inferSchemaId(opts.out ?? opts.diff) ?? "introspected";
|
|
131
|
-
const
|
|
132
|
-
const correlationId = opts.correlationId ?? rt.logging.correlationId ?? randomUUID();
|
|
133
|
-
const logger = createAskDbLogger({
|
|
134
|
-
correlationId,
|
|
135
|
-
level: logLevel,
|
|
136
|
-
logFile: opts.logFile ?? rt.logging.logFile,
|
|
137
|
-
logStdout: opts.logStdout ?? rt.logging.logStdout,
|
|
138
|
-
});
|
|
106
|
+
const logger = createCliLogger(opts, rt);
|
|
139
107
|
const connectorConfig = {
|
|
140
108
|
provider: engine,
|
|
141
|
-
url
|
|
142
|
-
fromExport
|
|
143
|
-
schemaPath
|
|
109
|
+
url,
|
|
110
|
+
fromExport,
|
|
111
|
+
schemaPath,
|
|
144
112
|
filters: buildFilters(opts),
|
|
145
113
|
schemaId,
|
|
146
114
|
};
|
|
147
|
-
const runConfig =
|
|
115
|
+
const runConfig = registry.createConnector(connectorConfig);
|
|
148
116
|
logger.info({
|
|
149
117
|
event: INTROSPECT_EVENTS.started,
|
|
150
118
|
mode: runConfig.mode,
|
|
@@ -175,16 +143,31 @@ async function runWithOutput(runConfig, opts, schemaId) {
|
|
|
175
143
|
const input = runConfig.input;
|
|
176
144
|
if (opts.print) {
|
|
177
145
|
const result = await introspect(input, undefined, { connector });
|
|
178
|
-
|
|
179
|
-
|
|
146
|
+
const rendered = renderSchemaV2Body(result.schema, {
|
|
147
|
+
schemaId,
|
|
148
|
+
provider: result.provider,
|
|
149
|
+
});
|
|
150
|
+
process.stdout.write(rendered.body);
|
|
151
|
+
return { ...result, warnings: [...result.warnings, ...rendered.warnings] };
|
|
180
152
|
}
|
|
181
153
|
if (opts.diff) {
|
|
182
154
|
const result = await introspect(input, undefined, { connector });
|
|
183
|
-
const generated = `${JSON.stringify(toV2SchemaJson(result.schema, schemaId), null, 2)}\n`;
|
|
184
155
|
const existingPath = join(opts.diff, "schema.json");
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
156
|
+
const hasExisting = existsSync(existingPath);
|
|
157
|
+
// Render exactly what `--out <same dir>` would write: same provider, same
|
|
158
|
+
// ID-anchored merge (human-set `sensitive` flags carried over). Otherwise
|
|
159
|
+
// --diff reports "changed" against an untouched artifact.
|
|
160
|
+
// An existing schema.json that isn't valid Schema v2 is compared without the
|
|
161
|
+
// merge (reported as changed); every other render error propagates, as for --out.
|
|
162
|
+
const rendered = renderSchemaV2Body(result.schema, {
|
|
163
|
+
schemaId,
|
|
164
|
+
provider: result.provider,
|
|
165
|
+
existingArtifactDir: hasExisting && isValidSchemaFile(existingPath) ? opts.diff : undefined,
|
|
166
|
+
});
|
|
167
|
+
const existing = hasExisting ? readFileSync(existingPath, "utf8") : "";
|
|
168
|
+
const changed = rendered.body !== existing && !sameJson(existing, rendered.json);
|
|
169
|
+
process.stdout.write(`${JSON.stringify({ changed, schemaJsonPath: existingPath }, null, 2)}\n`);
|
|
170
|
+
return { ...result, warnings: [...result.warnings, ...rendered.warnings] };
|
|
188
171
|
}
|
|
189
172
|
const outDir = opts.out;
|
|
190
173
|
return introspect(input, {
|
|
@@ -193,6 +176,29 @@ async function runWithOutput(runConfig, opts, schemaId) {
|
|
|
193
176
|
existingArtifactDir: existsSync(join(outDir, "schema.json")) ? outDir : undefined,
|
|
194
177
|
}, { connector });
|
|
195
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* True when `path` holds valid Schema v2 JSON, by the renderer's own check
|
|
181
|
+
* (`isSchemaV2Json`), so `{ "version": 2 }` without tables doesn't seed a merge.
|
|
182
|
+
*/
|
|
183
|
+
function isValidSchemaFile(path) {
|
|
184
|
+
let parsed;
|
|
185
|
+
try {
|
|
186
|
+
parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
return isSchemaV2Json(parsed);
|
|
192
|
+
}
|
|
193
|
+
/** Key-order-insensitive comparison so a reformatted-but-equivalent file is not "changed". */
|
|
194
|
+
function sameJson(existingBody, generated) {
|
|
195
|
+
try {
|
|
196
|
+
return isDeepStrictEqual(JSON.parse(existingBody), generated);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
196
202
|
function buildFilters(opts) {
|
|
197
203
|
const filters = {};
|
|
198
204
|
if (opts.schemas)
|
|
@@ -276,15 +282,10 @@ function parseList(value) {
|
|
|
276
282
|
.map((part) => part.trim())
|
|
277
283
|
.filter(Boolean);
|
|
278
284
|
}
|
|
279
|
-
function resolveEngine(engine = "postgres") {
|
|
280
|
-
if (engine
|
|
281
|
-
engine === "prisma" ||
|
|
282
|
-
engine === "mysql" ||
|
|
283
|
-
engine === "sqlite" ||
|
|
284
|
-
engine === "sqlserver") {
|
|
285
|
+
function resolveEngine(registry, engine = "postgres") {
|
|
286
|
+
if (registry.hasProvider(engine))
|
|
285
287
|
return engine;
|
|
286
|
-
|
|
287
|
-
const supported = [...LIVE_DRIVER_ENGINES, "prisma"].join(", ");
|
|
288
|
+
const supported = registry.providers().join(", ");
|
|
288
289
|
throw new Error(`Unsupported introspection engine '${engine}' (expected one of: ${supported}).`);
|
|
289
290
|
}
|
|
290
291
|
function inferSchemaId(path) {
|
|
@@ -293,26 +294,6 @@ function inferSchemaId(path) {
|
|
|
293
294
|
const name = basename(path);
|
|
294
295
|
return name.endsWith(".schema") ? name.slice(0, -".schema".length) : name;
|
|
295
296
|
}
|
|
296
|
-
function resolveLogLevel(opts, rt) {
|
|
297
|
-
if (opts.logLevel !== undefined && opts.logLevel !== "") {
|
|
298
|
-
const level = opts.logLevel.toLowerCase();
|
|
299
|
-
if (!isSupportedAskDbLogLevel(level)) {
|
|
300
|
-
throw new Error(`Invalid --log-level: ${opts.logLevel} (expected one of ${formatSupportedAskDbLogLevels()})`);
|
|
301
|
-
}
|
|
302
|
-
return level;
|
|
303
|
-
}
|
|
304
|
-
const env = rt.logging.level?.toLowerCase();
|
|
305
|
-
if (env && isSupportedAskDbLogLevel(env))
|
|
306
|
-
return env;
|
|
307
|
-
if (opts.verbose || opts.logFile || opts.logStdout)
|
|
308
|
-
return "info";
|
|
309
|
-
return "silent";
|
|
310
|
-
}
|
|
311
|
-
function readPackageVersion() {
|
|
312
|
-
const pkgPath = new URL("../package.json", import.meta.url);
|
|
313
|
-
const parsed = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
314
|
-
return typeof parsed.version === "string" ? parsed.version : "0.0.0";
|
|
315
|
-
}
|
|
316
297
|
function printHelp() {
|
|
317
298
|
process.stdout.write([
|
|
318
299
|
"askdb introspect - Schema introspection for AskDB",
|
package/dist/introspect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../src/introspect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../src/introspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,kBAAkB,GAQnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB,uBAAuB,CAAC;IACjF,yBAAyB;IACzB,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;IAC1B,uBAAuB;CACxB,CAAC,CAAC;AAOH,MAAM,iBAAiB,GAAG;IACxB,OAAO,EAAE,0BAA0B;IACnC,SAAS,EAAE,4BAA4B;IACvC,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,wBAAwB;CACvB,CAAC;AAqBX,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAuB,EACvB,UAAmC,EAAE;IAErC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;IAC1C,yFAAyF;IACzF,kEAAkE;IAClE,IAAI,CAAC,SAAS;QAAE,kBAAkB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,SAAS;YACd,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC9C,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAuB,EAAE,QAA2B;IAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;QACnG,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,qGAAqG;YACpH,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;YACjH,GAAG,CACN,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS;SAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAuB,EACvB,QAA2B;IAE3B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACnC,iFAAiF;IACjF,mEAAmE;IACnE,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjF,kGAAkG;IAClG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;IAC1C,CAAC;IACD,0EAA0E;IAC1E,wCAAwC;IACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE;QAClD,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE;QACvF,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC5D,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC;IACzF,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEzC,MAAM,eAAe,GAAoB;QACvC,QAAQ,EAAE,MAAM;QAChB,GAAG;QACH,UAAU;QACV,UAAU;QACV,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;QAC3B,QAAQ;KACT,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAE5D,MAAM,CAAC,IAAI,CACT;QACE,KAAK,EAAE,iBAAiB,CAAC,OAAO;QAChC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM;QACN,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;KAC9D,EACD,6BAA6B,CAC9B,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,EAC7C,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CACT;YACE,KAAK,EAAE,iBAAiB,CAAC,SAAS;YAClC,EAAE,EAAE,IAAI;YACR,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YACpC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,EACD,+BAA+B,CAChC,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,EAClE,4BAA4B,CAC7B,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,SAA0B,EAC1B,IAAgB,EAChB,QAAgB;IAEhB,MAAM,SAAS,GAAG,SAAS,CAAC,SAA+B,CAAC;IAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAE9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE;YACjD,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7C,0EAA0E;QAC1E,0EAA0E;QAC1E,0DAA0D;QAC1D,6EAA6E;QAC7E,kFAAkF;QAClF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE;YACjD,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE,WAAW,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC5F,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC1E,CAAC;QACF,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAI,CAAC;IACzB,OAAO,UAAU,CACf,KAAK,EACL;QACE,MAAM;QACN,QAAQ;QACR,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAClF,EACD,EAAE,SAAS,EAAE,CACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,8FAA8F;AAC9F,SAAS,QAAQ,CAAC,YAAoB,EAAE,SAAkB;IACxD,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB;IACpC,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IACjD,IAAI,IAAI,CAAC,cAAc;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IACtE,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB;IAC3C,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,OAAO;gBACV,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChF,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC/C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAuB,EAAE,KAAa,EAAE,IAAY;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,QAA2B,EAAE,MAAM,GAAG,UAAU;IACrE,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,uBAAuB,SAAS,IAAI,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,aAAa,CAAC,IAAwB;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;QACE,mDAAmD;QACnD,EAAE;QACF,QAAQ;QACR,yIAAyI;QACzI,yFAAyF;QACzF,qDAAqD;QACrD,2DAA2D;QAC3D,iEAAiE;QACjE,oEAAoE;QACpE,qEAAqE;QACrE,2FAA2F;QAC3F,uFAAuF;QACvF,qGAAqG;QACrG,uDAAuD;QACvD,qEAAqE;QACrE,gDAAgD;QAChD,EAAE;QACF,0CAA0C;QAC1C,0FAA0F;QAC1F,4HAA4H;QAC5H,iGAAiG;QACjG,uGAAuG;QACvG,EAAE;QACF,UAAU;QACV,oBAAoB;QACpB,8CAA8C;QAC9C,mBAAmB;QACnB,2BAA2B;QAC3B,0BAA0B;QAC1B,uBAAuB;QACvB,qBAAqB;QACrB,yBAAyB;QACzB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AskDbRuntimeConfig } from "@askdb/config";
|
|
2
|
+
import { type AskDbLogger, type AskDbLogLevel } from "@askdb/core";
|
|
3
|
+
/** The structured-logging flags `askdb ask`, `askdb introspect` and `askdb rag` share. */
|
|
4
|
+
export type CliLoggingFlags = {
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
logLevel?: string;
|
|
7
|
+
logFile?: string;
|
|
8
|
+
logStdout?: boolean;
|
|
9
|
+
correlationId?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* `--log-level`, else `logging.level` from askdb.config.*, else `info` when -v, --log-file or
|
|
13
|
+
* --log-stdout asks for output, else silent.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveCliLogLevel(flags: CliLoggingFlags, runtimeConfig: AskDbRuntimeConfig): AskDbLogLevel;
|
|
16
|
+
/** The run's logger: each flag first, then `logging` in askdb.config.*. */
|
|
17
|
+
export declare function createCliLogger(flags: CliLoggingFlags, runtimeConfig: AskDbRuntimeConfig, level?: AskDbLogLevel): AskDbLogger;
|
|
18
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAGrB,0FAA0F;AAC1F,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,GAAG,aAAa,CAc3G;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,kBAAkB,EACjC,KAAK,GAAE,aAAwD,GAC9D,WAAW,CAOb"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { createAskDbLogger, formatSupportedAskDbLogLevels, isSupportedAskDbLogLevel, } from "@askdb/core";
|
|
3
|
+
import { labelled } from "./error-values.js";
|
|
4
|
+
/**
|
|
5
|
+
* `--log-level`, else `logging.level` from askdb.config.*, else `info` when -v, --log-file or
|
|
6
|
+
* --log-stdout asks for output, else silent.
|
|
7
|
+
*/
|
|
8
|
+
export function resolveCliLogLevel(flags, runtimeConfig) {
|
|
9
|
+
if (flags.logLevel !== undefined && flags.logLevel !== "") {
|
|
10
|
+
const level = flags.logLevel.toLowerCase();
|
|
11
|
+
if (!isSupportedAskDbLogLevel(level)) {
|
|
12
|
+
throw new Error(`${labelled("Invalid --log-level", flags.logLevel)} (expected one of ${formatSupportedAskDbLogLevels()})`);
|
|
13
|
+
}
|
|
14
|
+
return level;
|
|
15
|
+
}
|
|
16
|
+
const configured = runtimeConfig.logging.level?.toLowerCase();
|
|
17
|
+
if (configured && isSupportedAskDbLogLevel(configured))
|
|
18
|
+
return configured;
|
|
19
|
+
if (flags.verbose || flags.logFile || flags.logStdout)
|
|
20
|
+
return "info";
|
|
21
|
+
return "silent";
|
|
22
|
+
}
|
|
23
|
+
/** The run's logger: each flag first, then `logging` in askdb.config.*. */
|
|
24
|
+
export function createCliLogger(flags, runtimeConfig, level = resolveCliLogLevel(flags, runtimeConfig)) {
|
|
25
|
+
return createAskDbLogger({
|
|
26
|
+
correlationId: flags.correlationId ?? runtimeConfig.logging.correlationId ?? randomUUID(),
|
|
27
|
+
level,
|
|
28
|
+
logFile: flags.logFile ?? runtimeConfig.logging.logFile,
|
|
29
|
+
logStdout: flags.logStdout ?? runtimeConfig.logging.logStdout,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,wBAAwB,GAGzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAW7C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAsB,EAAE,aAAiC;IAC1F,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,qBAAqB,6BAA6B,EAAE,GAAG,CAC1G,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IAC9D,IAAI,UAAU,IAAI,wBAAwB,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1E,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IACrE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAC7B,KAAsB,EACtB,aAAiC,EACjC,QAAuB,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC;IAE/D,OAAO,iBAAiB,CAAC;QACvB,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,IAAI,UAAU,EAAE;QACzF,KAAK;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO;QACvD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,SAAS;KAC9D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AskDbError } from "@askdb/core";
|
|
2
|
+
/** Thrown when a command needs a project config and the working directory has none. */
|
|
3
|
+
export declare class MissingAskDbConfigError extends AskDbError {
|
|
4
|
+
constructor(cwd: string);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Loads `.env` + the project config and installs the runtime snapshot. Each command calls this
|
|
8
|
+
* only on the path that reads config, so `--help`, `--version`, `init`, and `bundle` work in a
|
|
9
|
+
* directory without one. A config that exists but fails to load throws its load error.
|
|
10
|
+
*/
|
|
11
|
+
export declare function requireAskDbConfig(): void;
|
|
12
|
+
//# sourceMappingURL=project-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,uFAAuF;AACvF,qBAAa,uBAAwB,SAAQ,UAAU;gBACzC,GAAG,EAAE,MAAM;CAIxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { bootstrapAskDbEnv, discoverAskDbConfigPath } from "@askdb/config";
|
|
2
|
+
import { AskDbError } from "@askdb/core";
|
|
3
|
+
/** Thrown when a command needs a project config and the working directory has none. */
|
|
4
|
+
export class MissingAskDbConfigError extends AskDbError {
|
|
5
|
+
constructor(cwd) {
|
|
6
|
+
super(`No askdb.config.* or .config/askdb.* found in ${cwd}. Run \`npx askdb init\` to create one.`);
|
|
7
|
+
this.name = "MissingAskDbConfigError";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Loads `.env` + the project config and installs the runtime snapshot. Each command calls this
|
|
12
|
+
* only on the path that reads config, so `--help`, `--version`, `init`, and `bundle` work in a
|
|
13
|
+
* directory without one. A config that exists but fails to load throws its load error.
|
|
14
|
+
*/
|
|
15
|
+
export function requireAskDbConfig() {
|
|
16
|
+
const cwd = process.cwd();
|
|
17
|
+
if (!discoverAskDbConfigPath(cwd))
|
|
18
|
+
throw new MissingAskDbConfigError(cwd);
|
|
19
|
+
bootstrapAskDbEnv({ cwd });
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=project-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,uFAAuF;AACvF,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IACrD,YAAY,GAAW;QACrB,KAAK,CAAC,iDAAiD,GAAG,yCAAyC,CAAC,CAAC;QACrG,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC1E,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/rag.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../src/rag.ts"],"names":[],"mappings":"AAwFA,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBxE"}
|