@askdb/introspect 0.3.0-beta.27 → 0.3.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/kit/driver.d.ts +14 -5
- package/dist/kit/driver.d.ts.map +1 -1
- package/dist/kit/driver.js +105 -14
- package/dist/kit/driver.js.map +1 -1
- package/package.json +2 -2
package/dist/kit/driver.d.ts
CHANGED
|
@@ -38,9 +38,11 @@ export type OptionalDriverLoader<T> = {
|
|
|
38
38
|
* installed but fails to load.
|
|
39
39
|
*
|
|
40
40
|
* Node 24 and later can keep a failed package lookup until the process exits,
|
|
41
|
-
* so a retry may still miss a peer installed after the first attempt.
|
|
42
|
-
* the peer is on disk under `resolveFrom`
|
|
43
|
-
*
|
|
41
|
+
* so a retry may still miss a peer installed after the first attempt (#669).
|
|
42
|
+
* When the peer is on disk under `resolveFrom` (or on `NODE_PATH`) but Node
|
|
43
|
+
* can't resolve it, the loader reads its entry from its `package.json` and
|
|
44
|
+
* imports that file by path. Only when it can't find the entry that way does
|
|
45
|
+
* the `AskDbError` say to restart the process.
|
|
44
46
|
*/
|
|
45
47
|
load(options?: DriverLoadOptions): Promise<T>;
|
|
46
48
|
};
|
|
@@ -50,8 +52,15 @@ export type OptionalDriverLoader<T> = {
|
|
|
50
52
|
*/
|
|
51
53
|
export declare function createOptionalDriverLoader<T>(spec: OptionalDriverSpec<T>): OptionalDriverLoader<T>;
|
|
52
54
|
/**
|
|
53
|
-
* True when `packageName`
|
|
54
|
-
*
|
|
55
|
+
* True when `packageName` is installed for `resolveFrom` (default
|
|
56
|
+
* `process.cwd()`): in a `node_modules` directory there or in a parent, or in
|
|
57
|
+
* one of Node's global directories (`NODE_PATH` first). A cheap, synchronous
|
|
58
|
+
* capability probe — it does not load the driver.
|
|
59
|
+
*
|
|
60
|
+
* It checks the disk instead of asking Node's resolver: on Node 24 and later a
|
|
61
|
+
* failed lookup is kept for the life of the process, so a resolver probe before
|
|
62
|
+
* an install would hide the installed package from this process (#669). Under
|
|
63
|
+
* Yarn Plug'n'Play, which has no `node_modules`, it asks the resolver.
|
|
55
64
|
*/
|
|
56
65
|
export declare function isDriverInstalled(packageName: string, options?: DriverLoadOptions): boolean;
|
|
57
66
|
/**
|
package/dist/kit/driver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,yFAAyF;IACzF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,yFAAyF;IACzF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAkIF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAgElG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAU3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ3F;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE9D"}
|
package/dist/kit/driver.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AskDbError } from "@askdb/core";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
3
|
-
import { createRequire } from "node:module";
|
|
4
|
-
import { dirname, join } from "node:path";
|
|
2
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
3
|
+
import Module, { createRequire } from "node:module";
|
|
4
|
+
import { dirname, join, resolve } from "node:path";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
6
6
|
/**
|
|
7
7
|
* True when `cause` (or any error in its `cause` chain) is a Node module
|
|
@@ -44,16 +44,90 @@ class DriverUnresolvableError extends AggregateError {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
* The
|
|
48
|
-
* `
|
|
47
|
+
* The directories Node searches after a module's own `node_modules` chain: the
|
|
48
|
+
* `NODE_PATH` entries, then `~/.node_modules`, `~/.node_libraries` and
|
|
49
|
+
* `<prefix>/lib/node`, as Node read them at startup. `Module.globalPaths` is
|
|
50
|
+
* Node's public copy of that list (untyped in `@types/node`); reading it keeps
|
|
51
|
+
* `process.env` out of this package (ADR 0005).
|
|
52
|
+
*/
|
|
53
|
+
function globalModuleDirs() {
|
|
54
|
+
const paths = Module.globalPaths;
|
|
55
|
+
return Array.isArray(paths) ? paths.filter((p) => typeof p === "string" && p !== "") : [];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The `node_modules` directory that holds `packageName`: under `fromDir` or one
|
|
59
|
+
* of its parents, then in Node's global directories (`NODE_PATH` first), as
|
|
60
|
+
* Node searches. Checked on disk, never through Node's resolver, which on Node
|
|
61
|
+
* 24+ would keep a miss (#669).
|
|
49
62
|
*/
|
|
50
63
|
function nodeModulesHolding(fromDir, packageName) {
|
|
51
|
-
|
|
52
|
-
|
|
64
|
+
const holds = (nodeModules) => existsSync(join(nodeModules, packageName, "package.json"));
|
|
65
|
+
for (let dir = resolve(fromDir);; dir = dirname(dir)) {
|
|
66
|
+
if (holds(join(dir, "node_modules")))
|
|
53
67
|
return join(dir, "node_modules");
|
|
54
68
|
if (dirname(dir) === dir)
|
|
55
|
-
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
return globalModuleDirs().find(holds);
|
|
72
|
+
}
|
|
73
|
+
/** The conditions Node's `require` resolves with (`module-sync` on Node 22.12+), which the project fallback below uses too. */
|
|
74
|
+
const REQUIRE_CONDITIONS = new Set(["node", "module-sync", "require", "default"]);
|
|
75
|
+
/** An `exports` target under {@link REQUIRE_CONDITIONS}: a string, the first match in an array, or a nested condition map. */
|
|
76
|
+
function exportsTarget(target) {
|
|
77
|
+
if (typeof target === "string")
|
|
78
|
+
return target;
|
|
79
|
+
if (Array.isArray(target)) {
|
|
80
|
+
for (const entry of target) {
|
|
81
|
+
const found = exportsTarget(entry);
|
|
82
|
+
if (found !== undefined)
|
|
83
|
+
return found;
|
|
84
|
+
}
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
if (target !== null && typeof target === "object") {
|
|
88
|
+
for (const [condition, value] of Object.entries(target)) {
|
|
89
|
+
if (!REQUIRE_CONDITIONS.has(condition))
|
|
90
|
+
continue;
|
|
91
|
+
const found = exportsTarget(value);
|
|
92
|
+
if (found !== undefined)
|
|
93
|
+
return found;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
/** A file as `require` finds it: as written, with `.js`, `.cjs` or `.json`, or the directory's `index.js`. */
|
|
99
|
+
function existingFile(path) {
|
|
100
|
+
const isFile = (p) => existsSync(p) && statSync(p).isFile();
|
|
101
|
+
for (const candidate of [path, `${path}.js`, `${path}.cjs`, `${path}.json`, join(path, "index.js")]) {
|
|
102
|
+
if (isFile(candidate))
|
|
103
|
+
return candidate;
|
|
56
104
|
}
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The file `specifier` names inside the installed package at `packageDir`, read
|
|
109
|
+
* from its `package.json` the way `require` would: its `exports` map (exact
|
|
110
|
+
* subpaths only) or, with none, `main` for the package and the path itself for
|
|
111
|
+
* a subpath. Undefined when it can't tell.
|
|
112
|
+
*/
|
|
113
|
+
function entryOnDisk(packageDir, packageName, specifier) {
|
|
114
|
+
let manifest;
|
|
115
|
+
try {
|
|
116
|
+
manifest = JSON.parse(readFileSync(join(packageDir, "package.json"), "utf8"));
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
const subpath = specifier === packageName ? "." : `.${specifier.slice(packageName.length)}`;
|
|
122
|
+
const { exports } = manifest;
|
|
123
|
+
if (exports !== undefined && exports !== null) {
|
|
124
|
+
const keyed = typeof exports === "object" && !Array.isArray(exports) && Object.keys(exports).some((k) => k.startsWith("."));
|
|
125
|
+
const target = exportsTarget(keyed ? exports[subpath] : subpath === "." ? exports : undefined);
|
|
126
|
+
return target?.startsWith("./") ? existingFile(join(packageDir, target)) : undefined;
|
|
127
|
+
}
|
|
128
|
+
if (subpath !== ".")
|
|
129
|
+
return existingFile(join(packageDir, subpath));
|
|
130
|
+
return existingFile(join(packageDir, typeof manifest.main === "string" ? manifest.main : "index.js"));
|
|
57
131
|
}
|
|
58
132
|
/**
|
|
59
133
|
* Build a lazy, cached loader for an optional database-driver peer. Engine
|
|
@@ -80,8 +154,14 @@ export function createOptionalDriverLoader(spec) {
|
|
|
80
154
|
if (!isModuleResolutionFailure(projectCause, packageName, specifier))
|
|
81
155
|
throw projectCause;
|
|
82
156
|
const nodeModules = nodeModulesHolding(fromDir, packageName);
|
|
83
|
-
if (nodeModules)
|
|
84
|
-
|
|
157
|
+
if (nodeModules) {
|
|
158
|
+
// On disk, but Node won't resolve it: on Node 24+, a lookup earlier in this process
|
|
159
|
+
// missed and Node kept the miss (#669). Load the entry by path instead.
|
|
160
|
+
const entry = entryOnDisk(join(nodeModules, packageName), packageName, specifier);
|
|
161
|
+
if (entry === undefined)
|
|
162
|
+
throw new DriverUnresolvableError([cause, projectCause], nodeModules);
|
|
163
|
+
return (await import(pathToFileURL(entry).href));
|
|
164
|
+
}
|
|
85
165
|
throw new DriverNotFoundError([cause, projectCause], `Unable to resolve optional \`${packageName}\` peer dependency`);
|
|
86
166
|
}
|
|
87
167
|
// Resolved in the project: any failure from here on is the installed
|
|
@@ -116,13 +196,24 @@ export function createOptionalDriverLoader(spec) {
|
|
|
116
196
|
};
|
|
117
197
|
}
|
|
118
198
|
/**
|
|
119
|
-
* True when `packageName`
|
|
120
|
-
*
|
|
199
|
+
* True when `packageName` is installed for `resolveFrom` (default
|
|
200
|
+
* `process.cwd()`): in a `node_modules` directory there or in a parent, or in
|
|
201
|
+
* one of Node's global directories (`NODE_PATH` first). A cheap, synchronous
|
|
202
|
+
* capability probe — it does not load the driver.
|
|
203
|
+
*
|
|
204
|
+
* It checks the disk instead of asking Node's resolver: on Node 24 and later a
|
|
205
|
+
* failed lookup is kept for the life of the process, so a resolver probe before
|
|
206
|
+
* an install would hide the installed package from this process (#669). Under
|
|
207
|
+
* Yarn Plug'n'Play, which has no `node_modules`, it asks the resolver.
|
|
121
208
|
*/
|
|
122
209
|
export function isDriverInstalled(packageName, options) {
|
|
210
|
+
const fromDir = options?.resolveFrom ?? process.cwd();
|
|
211
|
+
if (nodeModulesHolding(fromDir, packageName) !== undefined)
|
|
212
|
+
return true;
|
|
213
|
+
if (!process.versions.pnp)
|
|
214
|
+
return false;
|
|
123
215
|
try {
|
|
124
|
-
|
|
125
|
-
req.resolve(packageName);
|
|
216
|
+
createRequire(join(fromDir, "package.json")).resolve(packageName);
|
|
126
217
|
return true;
|
|
127
218
|
}
|
|
128
219
|
catch {
|
package/dist/kit/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAmDzC;;;;;;;;;;;GAWG;AACH,SAAS,yBAAyB,CAChC,KAAc,EACd,WAAmB,EACnB,YAAoB,WAAW;IAE/B,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;IAChC,IAAI,WAAW,IAAI,WAAW,KAAK,KAAK,IAAI,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACjF,MAAM,OAAO;IACX,4FAA4F;IAC5F,0CAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,iFAAiF;QACjF,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,CAAC;AAC1D,CAAC;AAED,6EAA6E;AAC7E,MAAM,mBAAoB,SAAQ,cAAc;CAAG;AAEnD,2GAA2G;AAC3G,MAAM,uBAAwB,SAAQ,cAAc;IAGvC;IAFX,YACE,MAAiB,EACR,WAAmB;QAE5B,KAAK,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAC;QAFnE,gBAAW,GAAX,WAAW,CAAQ;IAG9B,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB;IACvB,MAAM,KAAK,GAAI,MAA+C,CAAC,WAAW,CAAC;IAC3E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzG,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,WAAmB;IAC9D,MAAM,KAAK,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAClG,KAAK,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG;YAAE,MAAM;IAClC,CAAC;IACD,OAAO,gBAAgB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,+HAA+H;AAC/H,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAElF,8HAA8H;AAC9H,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YACjD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8GAA8G;AAC9G,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpE,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACpG,IAAI,MAAM,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,UAAkB,EAAE,WAAmB,EAAE,SAAiB;IAC7E,IAAI,QAA+C,CAAC;IACpD,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5F,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5H,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAE,OAAmC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5H,OAAO,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACxG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAI,IAA2B;IACvE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;IAExD,KAAK,UAAU,cAAc,CAAC,OAA2B;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,YAAY,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;gBAAE,MAAM,KAAK,CAAC;YAE3E,MAAM,OAAO,GAAG,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACtD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YACpE,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC;oBAAE,MAAM,YAAY,CAAC;gBACzF,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC7D,IAAI,WAAW,EAAE,CAAC;oBAChB,oFAAoF;oBACpF,wEAAwE;oBACxE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oBAClF,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,uBAAuB,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC;oBAC/F,OAAO,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAM,CAAC;gBACxD,CAAC;gBACD,MAAM,IAAI,mBAAmB,CAC3B,CAAC,KAAK,EAAE,YAAY,CAAC,EACrB,gCAAgC,WAAW,oBAAoB,CAChE,CAAC;YACJ,CAAC;YACD,qEAAqE;YACrE,iDAAiD;YACjD,OAAO,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAM,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO;YACV,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,CAAC;YACjC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBACzD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClB,sEAAsE;oBACtE,mEAAmE;oBACnE,8DAA8D;oBAC9D,IAAI,KAAK,YAAY,mBAAmB;wBAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;oBACtF,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;wBAC7C,MAAM,IAAI,UAAU,CAClB,KAAK,WAAW,YAAY,KAAK,CAAC,WAAW,4CAA4C;4BACvF,0EAA0E;4BAC1E,6EAA6E,EAC/E,KAAK,CACN,CAAC;oBACJ,CAAC;oBACD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtE,MAAM,IAAI,UAAU,CAAC,kBAAkB,WAAW,sCAAsC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC3G,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,OAA2B;IAChF,MAAM,OAAO,GAAG,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtD,IAAI,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA8C;IACjF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACtC,OAAO,CACL,gBAAgB,MAAM,iDAAiD,WAAW,sBAAsB;QACxG,+CAA+C,WAAW,gDAAgD;QAC1G,gCAAgC,WAAW,qCAAqC,WAAW,iBAAiB;QAC5G,0DAA0D,MAAM,aAAa,CAC9E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,MAAM,KAAK,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askdb/introspect",
|
|
3
|
-
"version": "0.3.0-beta.
|
|
3
|
+
"version": "0.3.0-beta.29",
|
|
4
4
|
"description": "AskDB schema introspection: engine-agnostic Connector contract + orchestrator + schema artifact renderer. Integration packages (e.g. @askdb/postgres) supply connectors.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"askdb",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"node": ">=22.23.4"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@askdb/core": "1.0.0-beta.
|
|
48
|
+
"@askdb/core": "1.0.0-beta.55"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"ai": "^6.0.0 || ^7.0.51"
|