@deepagents/text2sql 0.32.0 → 0.33.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/dist/index.js +69 -11
- package/dist/index.js.map +3 -3
- package/dist/lib/adapters/adapter.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/index.d.ts +0 -3
- package/dist/lib/adapters/bigquery/index.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/index.js +0 -108
- package/dist/lib/adapters/bigquery/index.js.map +4 -4
- package/dist/lib/adapters/groundings/context.d.ts +0 -2
- package/dist/lib/adapters/groundings/context.d.ts.map +1 -1
- package/dist/lib/adapters/groundings/index.d.ts +0 -1
- package/dist/lib/adapters/groundings/index.d.ts.map +1 -1
- package/dist/lib/adapters/groundings/index.js +0 -101
- package/dist/lib/adapters/groundings/index.js.map +3 -3
- package/dist/lib/adapters/mysql/index.d.ts +0 -3
- package/dist/lib/adapters/mysql/index.d.ts.map +1 -1
- package/dist/lib/adapters/mysql/index.js +0 -108
- package/dist/lib/adapters/mysql/index.js.map +4 -4
- package/dist/lib/adapters/postgres/index.d.ts +2 -5
- package/dist/lib/adapters/postgres/index.d.ts.map +1 -1
- package/dist/lib/adapters/postgres/index.js +142 -250
- package/dist/lib/adapters/postgres/index.js.map +4 -4
- package/dist/lib/adapters/spreadsheet/index.js +34 -52
- package/dist/lib/adapters/spreadsheet/index.js.map +3 -3
- package/dist/lib/adapters/sqlite/index.d.ts +2 -5
- package/dist/lib/adapters/sqlite/index.d.ts.map +1 -1
- package/dist/lib/adapters/sqlite/index.js +101 -209
- package/dist/lib/adapters/sqlite/index.js.map +4 -4
- package/dist/lib/adapters/sqlserver/index.d.ts +2 -5
- package/dist/lib/adapters/sqlserver/index.d.ts.map +1 -1
- package/dist/lib/adapters/sqlserver/index.js +100 -208
- package/dist/lib/adapters/sqlserver/index.js.map +4 -4
- package/dist/lib/agents/result-tools.d.ts.map +1 -1
- package/dist/lib/synthesis/decorators/deduplicated-producer.d.ts +1 -0
- package/dist/lib/synthesis/decorators/deduplicated-producer.d.ts.map +1 -1
- package/dist/lib/synthesis/decorators/filtered-producer.d.ts +3 -0
- package/dist/lib/synthesis/decorators/filtered-producer.d.ts.map +1 -1
- package/dist/lib/synthesis/index.js +31 -6
- package/dist/lib/synthesis/index.js.map +4 -4
- package/package.json +4 -4
- package/dist/lib/adapters/groundings/report.grounding.d.ts +0 -38
- package/dist/lib/adapters/groundings/report.grounding.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-tools.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/result-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"result-tools.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/result-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,WAAW,EAKjB,MAAM,WAAW,CAAC;AAMnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOtD,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AA0QD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,6BAA6B;IAC7B,UAAU,EAAE,WAAW,CAAC;CACzB;AASD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB;;kCAmD/B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DzC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ExtractedPair, PairProducer } from '../types.ts';
|
|
2
2
|
export interface DeduplicatedProducerOptions {
|
|
3
3
|
strategy?: 'exact' | 'sql-only' | 'question-only';
|
|
4
|
+
dialect?: string;
|
|
4
5
|
}
|
|
5
6
|
/**
|
|
6
7
|
* DeduplicatedProducer - Remove duplicate pairs from another producer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deduplicated-producer.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/decorators/deduplicated-producer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deduplicated-producer.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/decorators/deduplicated-producer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK/D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IAMlD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IANjB;;;OAGG;gBAEO,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,2BAAgC;IAKnD;;;OAGG;IACI,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;IAkCjD,OAAO,CAAC,YAAY;CAUrB"}
|
|
@@ -2,6 +2,7 @@ import { type ExtractedPair, PairProducer } from '../types.ts';
|
|
|
2
2
|
export interface FilteredProducerOptions {
|
|
3
3
|
successOnly?: boolean;
|
|
4
4
|
tables?: string[];
|
|
5
|
+
dialect?: string;
|
|
5
6
|
filter?: (pair: ExtractedPair) => boolean;
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
@@ -10,6 +11,7 @@ export interface FilteredProducerOptions {
|
|
|
10
11
|
* Wraps another PairProducer and filters the output based on criteria.
|
|
11
12
|
*/
|
|
12
13
|
export declare class FilteredProducer extends PairProducer {
|
|
14
|
+
#private;
|
|
13
15
|
private producer;
|
|
14
16
|
private options;
|
|
15
17
|
/**
|
|
@@ -22,5 +24,6 @@ export declare class FilteredProducer extends PairProducer {
|
|
|
22
24
|
* @returns Pairs matching all configured filter criteria
|
|
23
25
|
*/
|
|
24
26
|
produce(): AsyncGenerator<ExtractedPair[]>;
|
|
27
|
+
private matchesTables;
|
|
25
28
|
}
|
|
26
29
|
//# sourceMappingURL=filtered-producer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filtered-producer.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/decorators/filtered-producer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filtered-producer.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/decorators/filtered-producer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK/D,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;;IAM9C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IANjB;;;OAGG;gBAEO,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,uBAA4B;IAK/C;;;OAGG;IACI,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;IA0BjD,OAAO,CAAC,aAAa;CAetB"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// packages/text2sql/src/lib/synthesis/decorators/filtered-producer.ts
|
|
2
|
+
import nodeSqlParser from "node-sql-parser";
|
|
3
|
+
|
|
1
4
|
// packages/text2sql/src/lib/synthesis/types.ts
|
|
2
5
|
var PairProducer = class {
|
|
3
6
|
from(producer) {
|
|
@@ -18,6 +21,8 @@ async function toPairs(producer) {
|
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
// packages/text2sql/src/lib/synthesis/decorators/filtered-producer.ts
|
|
24
|
+
var { Parser } = nodeSqlParser;
|
|
25
|
+
var parser = new Parser();
|
|
21
26
|
var FilteredProducer = class extends PairProducer {
|
|
22
27
|
/**
|
|
23
28
|
* @param producer - Source producer to filter
|
|
@@ -39,11 +44,7 @@ var FilteredProducer = class extends PairProducer {
|
|
|
39
44
|
return false;
|
|
40
45
|
}
|
|
41
46
|
if (this.options.tables?.length) {
|
|
42
|
-
|
|
43
|
-
const hasTable = this.options.tables.some(
|
|
44
|
-
(t) => sqlLower.includes(t.toLowerCase())
|
|
45
|
-
);
|
|
46
|
-
if (!hasTable) return false;
|
|
47
|
+
if (!this.matchesTables(pair.sql, this.options.tables)) return false;
|
|
47
48
|
}
|
|
48
49
|
if (this.options.filter && !this.options.filter(pair)) {
|
|
49
50
|
return false;
|
|
@@ -55,9 +56,28 @@ var FilteredProducer = class extends PairProducer {
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
}
|
|
59
|
+
#filterNames;
|
|
60
|
+
matchesTables(sql, tables) {
|
|
61
|
+
const unqualify = (name) => name.split(".").pop().toLowerCase();
|
|
62
|
+
this.#filterNames ??= new Set(tables.map(unqualify));
|
|
63
|
+
const filterNames = this.#filterNames;
|
|
64
|
+
try {
|
|
65
|
+
const refs = parser.tableList(sql, {
|
|
66
|
+
database: this.options.dialect
|
|
67
|
+
});
|
|
68
|
+
const sqlNames = refs.map((r) => r.split("::").pop().toLowerCase());
|
|
69
|
+
return sqlNames.some((t) => filterNames.has(t));
|
|
70
|
+
} catch {
|
|
71
|
+
const sqlLower = sql.toLowerCase();
|
|
72
|
+
return tables.some((t) => sqlLower.includes(t.toLowerCase()));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
58
75
|
};
|
|
59
76
|
|
|
60
77
|
// packages/text2sql/src/lib/synthesis/decorators/deduplicated-producer.ts
|
|
78
|
+
import nodeSqlParser2 from "node-sql-parser";
|
|
79
|
+
var { Parser: Parser2 } = nodeSqlParser2;
|
|
80
|
+
var parser2 = new Parser2();
|
|
61
81
|
var DeduplicatedProducer = class extends PairProducer {
|
|
62
82
|
/**
|
|
63
83
|
* @param producer - Source producer to deduplicate
|
|
@@ -101,7 +121,12 @@ var DeduplicatedProducer = class extends PairProducer {
|
|
|
101
121
|
}
|
|
102
122
|
}
|
|
103
123
|
normalizeSQL(sql) {
|
|
104
|
-
|
|
124
|
+
try {
|
|
125
|
+
const ast = parser2.astify(sql, { database: this.options.dialect });
|
|
126
|
+
return parser2.sqlify(ast, { database: this.options.dialect }).toLowerCase();
|
|
127
|
+
} catch {
|
|
128
|
+
return sql.toLowerCase().replace(/\s+/g, " ").trim();
|
|
129
|
+
}
|
|
105
130
|
}
|
|
106
131
|
};
|
|
107
132
|
|