@deepagents/text2sql 3.1.0 → 4.1.0
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 +46 -21
- package/dist/bin/sql.js +95 -32
- package/dist/index.js +172 -114
- package/dist/index.js.map +4 -4
- package/dist/lib/adapter-index.d.ts +1 -1
- package/dist/lib/adapter-index.d.ts.map +1 -1
- package/dist/lib/adapter-name.d.ts +8 -0
- package/dist/lib/adapter-name.d.ts.map +1 -1
- package/dist/lib/index-lock.d.ts +37 -8
- package/dist/lib/index-lock.d.ts.map +1 -1
- package/dist/lib/resolve-adapter.d.ts +14 -0
- package/dist/lib/resolve-adapter.d.ts.map +1 -0
- package/dist/lib/sql-command.d.ts +4 -1
- package/dist/lib/sql-command.d.ts.map +1 -1
- package/dist/lib/sql.d.ts +1 -1
- package/dist/lib/sql.d.ts.map +1 -1
- package/package.json +8 -6
|
@@ -19,7 +19,7 @@ export type Text2SqlIndexProgressHandler = (event: Text2SqlIndexProgressEvent) =
|
|
|
19
19
|
export interface AdapterIndexerOptions {
|
|
20
20
|
adapters: Record<string, Adapter>;
|
|
21
21
|
cache?: IndexCache;
|
|
22
|
-
lock
|
|
22
|
+
lock: IndexLock;
|
|
23
23
|
}
|
|
24
24
|
export interface AdapterIndexerIndexOptions {
|
|
25
25
|
adapterNames?: readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-index.d.ts","sourceRoot":"","sources":["../../src/lib/adapter-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-index.d.ts","sourceRoot":"","sources":["../../src/lib/adapter-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,qBAAqB,CAAC;AAMrE,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAE5E,MAAM,MAAM,8BAA8B,GACtC,aAAa,GACb,WAAW,GACX,eAAe,GACf,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,4BAA4B,GAAG,CACzC,KAAK,EAAE,0BAA0B,KAC9B,IAAI,CAAC;AAEV,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C;AAiCD,qBAAa,cAAc;;gBAKb,OAAO,EAAE,qBAAqB;IAYpC,KAAK,CACT,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC;IA+CvB,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,eAAe,EAAE,CAAC;CAqH9B"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export declare const ADAPTER_NAME_PATTERN: RegExp;
|
|
2
|
+
/**
|
|
3
|
+
* Tag name used to label each adapter's configured connection name inside its
|
|
4
|
+
* indexed schema fragment (see `databaseNameFragment` in adapter-index.ts).
|
|
5
|
+
* Reserved as an adapter name: an adapter literally named `database` would make
|
|
6
|
+
* the label tag indistinguishable from the wrapper tag and render nested
|
|
7
|
+
* `<database><database>…</database></database>`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DATABASE_NAME_FRAGMENT = "database";
|
|
2
10
|
export declare function isValidAdapterName(name: string | null | undefined): name is string;
|
|
3
11
|
export declare function validateAdapterNames(names: Iterable<string>): void;
|
|
4
12
|
//# sourceMappingURL=adapter-name.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-name.d.ts","sourceRoot":"","sources":["../../src/lib/adapter-name.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAE/D,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,IAAI,IAAI,MAAM,CAEhB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"adapter-name.d.ts","sourceRoot":"","sources":["../../src/lib/adapter-name.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAIjD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,IAAI,IAAI,MAAM,CAEhB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAWlE"}
|
package/dist/lib/index-lock.d.ts
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
+
import { type LockOptions } from 'proper-lockfile';
|
|
1
2
|
/**
|
|
2
3
|
* Coordinates schema indexing across processes so that, for a given cache key,
|
|
3
4
|
* only one introspection runs at a time ("single-flight" indexing).
|
|
4
5
|
*
|
|
5
|
-
* The package defines this contract
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* When no lock is provided, indexing behaves exactly as if this interface did
|
|
12
|
-
* not exist.
|
|
6
|
+
* The package defines this contract and ships {@link FileIndexLock} for
|
|
7
|
+
* processes that share a POSIX filesystem. Hosts that run across machines
|
|
8
|
+
* without shared storage can supply an implementation backed by whatever they
|
|
9
|
+
* already operate — a Redis lock, a Postgres advisory lock, a Zookeeper/etcd
|
|
10
|
+
* lease, or an in-process mutex for a single-process deployment.
|
|
13
11
|
*/
|
|
14
12
|
export interface IndexLock {
|
|
15
13
|
/**
|
|
@@ -28,4 +26,35 @@ export interface IndexLock {
|
|
|
28
26
|
*/
|
|
29
27
|
run<T>(key: string, fn: () => Promise<T>): Promise<T>;
|
|
30
28
|
}
|
|
29
|
+
export interface FileIndexLockOptions extends Pick<LockOptions, 'stale' | 'retries'> {
|
|
30
|
+
/**
|
|
31
|
+
* Directory the lock files live in. Defaults to the OS temp directory. Point
|
|
32
|
+
* it at a shared volume to serialize introspection across a fleet, alongside a
|
|
33
|
+
* {@link import('./index-cache.ts').FileIndexCache} over the same volume.
|
|
34
|
+
*/
|
|
35
|
+
dir?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Token folded into the lock key, mirroring
|
|
38
|
+
* {@link import('./index-cache.ts').FileIndexCacheOptions.namespace} so a new
|
|
39
|
+
* generation locks independently of the previous one.
|
|
40
|
+
*/
|
|
41
|
+
namespace?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Filesystem-backed {@link IndexLock} built on `proper-lockfile`. Processes that
|
|
45
|
+
* share a POSIX filesystem (a single host, or a shared volume — NFSv4 / EFS)
|
|
46
|
+
* serialize per adapter key, so pairing it with a shared
|
|
47
|
+
* {@link import('./index-cache.ts').FileIndexCache} makes cross-process
|
|
48
|
+
* introspection single-flight.
|
|
49
|
+
*
|
|
50
|
+
* A held lock auto-refreshes its mtime at `stale / 2`, so a slow introspection
|
|
51
|
+
* is not mistaken for a crashed holder. Acquisition retries with backoff and,
|
|
52
|
+
* once exhausted, rejects — satisfying the fail-closed requirement of
|
|
53
|
+
* {@link IndexLock}.
|
|
54
|
+
*/
|
|
55
|
+
export declare class FileIndexLock implements IndexLock {
|
|
56
|
+
#private;
|
|
57
|
+
constructor(options?: FileIndexLockOptions);
|
|
58
|
+
run<T>(key: string, fn: () => Promise<T>): Promise<T>;
|
|
59
|
+
}
|
|
31
60
|
//# sourceMappingURL=index-lock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-lock.d.ts","sourceRoot":"","sources":["../../src/lib/index-lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index-lock.d.ts","sourceRoot":"","sources":["../../src/lib/index-lock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvD;AAUD,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,WAAW,EACX,OAAO,GAAG,SAAS,CACpB;IACC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,YAAW,SAAS;;gBAMjC,OAAO,GAAE,oBAAyB;IAOxC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAsB5D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Text2Sql } from './sql.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve a requested `<db>` token to a configured adapter name. Shared by the
|
|
4
|
+
* virtual-sandbox `sql` command and the `sql` CLI so both surfaces behave
|
|
5
|
+
* identically:
|
|
6
|
+
* - exact match → that name
|
|
7
|
+
* - no match but exactly one adapter configured → route to it (silently)
|
|
8
|
+
* - otherwise → throw with the user-facing "unknown database" message
|
|
9
|
+
*
|
|
10
|
+
* `db` is assumed non-empty; callers handle the missing-argument case (their
|
|
11
|
+
* usage strings differ).
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveAdapter(text2Sql: Text2Sql, db: string): string;
|
|
14
|
+
//# sourceMappingURL=resolve-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/resolve-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAMrE"}
|
|
@@ -23,7 +23,10 @@ export interface CreateSqlCommandResult {
|
|
|
23
23
|
*
|
|
24
24
|
* @example
|
|
25
25
|
* ```ts
|
|
26
|
-
* const text2Sql = new Text2Sql({
|
|
26
|
+
* const text2Sql = new Text2Sql({
|
|
27
|
+
* adapters: { pagila },
|
|
28
|
+
* lock: new FileIndexLock(),
|
|
29
|
+
* });
|
|
27
30
|
* const { command } = createSqlCommand(text2Sql);
|
|
28
31
|
* const sandbox = await createVirtualSandbox({
|
|
29
32
|
* fs: new InMemoryFs(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-command.d.ts","sourceRoot":"","sources":["../../src/lib/sql-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAA8B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sql-command.d.ts","sourceRoot":"","sources":["../../src/lib/sql-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAA8B,MAAM,WAAW,CAAC;AAcrE,OAAO,EAAE,QAAQ,EAA2B,MAAM,UAAU,CAAC;AAyB7D,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,uBAA4B,GACpC,sBAAsB,CAuBxB"}
|
package/dist/lib/sql.d.ts
CHANGED
package/dist/lib/sql.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C;AAED,QAAA,MAAM,wBAAwB,eAAoC,CAAC;AACnE,QAAA,MAAM,4BAA4B,eAAwC,CAAC;AAE3E,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC;gBAErB,OAAO,EAAE,MAAM;IAM3B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB;CAMpE;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE;IASzD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B;CAMxE;AAED,qBAAa,QAAQ;;gBAIP,MAAM,EAAE,cAAc;IA8BlC,YAAY,IAAI,MAAM,EAAE;IAIxB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkB1D,KAAK,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAOrE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1D,OAAO,CAAC,CAAC,SAAS,YAAY,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC;CAK5B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepagents/text2sql",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -86,15 +86,14 @@
|
|
|
86
86
|
"dependencies": {
|
|
87
87
|
"@ai-sdk/groq": "^3.0.36",
|
|
88
88
|
"@ai-sdk/openai": "^3.0.49",
|
|
89
|
-
"@deepagents/agent": "
|
|
90
|
-
"@deepagents/context": "
|
|
91
|
-
"@deepagents/evals": "
|
|
89
|
+
"@deepagents/agent": "4.1.0",
|
|
90
|
+
"@deepagents/context": "4.1.0",
|
|
91
|
+
"@deepagents/evals": "4.1.0",
|
|
92
92
|
"@google-cloud/bigquery": "8.3.0",
|
|
93
93
|
"ai": "^6.0.174",
|
|
94
94
|
"autoevals": "0.0.132",
|
|
95
95
|
"bash-tool": "^1.3.16",
|
|
96
96
|
"cac": "7.0.0",
|
|
97
|
-
"chalk": "^5.6.0",
|
|
98
97
|
"dedent": "1.7.0",
|
|
99
98
|
"just-bash": "^3.0.1",
|
|
100
99
|
"nano-spawn": "^1.0.3",
|
|
@@ -102,14 +101,17 @@
|
|
|
102
101
|
"openai": "5.12.2",
|
|
103
102
|
"p-limit": "^6.2.0",
|
|
104
103
|
"p-retry": "^7.1.1",
|
|
104
|
+
"proper-lockfile": "^4.1.2",
|
|
105
105
|
"sql-formatter": "^15.7.3",
|
|
106
106
|
"uuid": "^13.0.0",
|
|
107
107
|
"xlsx": "^0.18.5",
|
|
108
|
-
"zod": "^3.25.76 || ^4.0.0"
|
|
108
|
+
"zod": "^3.25.76 || ^4.0.0",
|
|
109
|
+
"@ai-sdk/react": "3.0.176"
|
|
109
110
|
},
|
|
110
111
|
"devDependencies": {
|
|
111
112
|
"@ai-sdk/react": "^3.0.176",
|
|
112
113
|
"@google-cloud/bigquery": "^8.3.0",
|
|
114
|
+
"@types/proper-lockfile": "^4.1.4",
|
|
113
115
|
"autoevals": "^0.0.132"
|
|
114
116
|
},
|
|
115
117
|
"peerDependencies": {
|