@deepagents/text2sql 0.31.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.
Files changed (41) hide show
  1. package/dist/index.js +69 -11
  2. package/dist/index.js.map +3 -3
  3. package/dist/lib/adapters/adapter.d.ts.map +1 -1
  4. package/dist/lib/adapters/bigquery/index.d.ts +0 -3
  5. package/dist/lib/adapters/bigquery/index.d.ts.map +1 -1
  6. package/dist/lib/adapters/bigquery/index.js +0 -108
  7. package/dist/lib/adapters/bigquery/index.js.map +4 -4
  8. package/dist/lib/adapters/groundings/context.d.ts +0 -2
  9. package/dist/lib/adapters/groundings/context.d.ts.map +1 -1
  10. package/dist/lib/adapters/groundings/index.d.ts +0 -1
  11. package/dist/lib/adapters/groundings/index.d.ts.map +1 -1
  12. package/dist/lib/adapters/groundings/index.js +0 -101
  13. package/dist/lib/adapters/groundings/index.js.map +3 -3
  14. package/dist/lib/adapters/mysql/index.d.ts +0 -3
  15. package/dist/lib/adapters/mysql/index.d.ts.map +1 -1
  16. package/dist/lib/adapters/mysql/index.js +0 -108
  17. package/dist/lib/adapters/mysql/index.js.map +4 -4
  18. package/dist/lib/adapters/postgres/index.d.ts +2 -5
  19. package/dist/lib/adapters/postgres/index.d.ts.map +1 -1
  20. package/dist/lib/adapters/postgres/index.js +142 -250
  21. package/dist/lib/adapters/postgres/index.js.map +4 -4
  22. package/dist/lib/adapters/spreadsheet/index.js +34 -52
  23. package/dist/lib/adapters/spreadsheet/index.js.map +3 -3
  24. package/dist/lib/adapters/sqlite/index.d.ts +2 -5
  25. package/dist/lib/adapters/sqlite/index.d.ts.map +1 -1
  26. package/dist/lib/adapters/sqlite/index.js +101 -209
  27. package/dist/lib/adapters/sqlite/index.js.map +4 -4
  28. package/dist/lib/adapters/sqlserver/index.d.ts +2 -5
  29. package/dist/lib/adapters/sqlserver/index.d.ts.map +1 -1
  30. package/dist/lib/adapters/sqlserver/index.js +100 -208
  31. package/dist/lib/adapters/sqlserver/index.js.map +4 -4
  32. package/dist/lib/agents/result-tools.d.ts.map +1 -1
  33. package/dist/lib/synthesis/decorators/deduplicated-producer.d.ts +1 -0
  34. package/dist/lib/synthesis/decorators/deduplicated-producer.d.ts.map +1 -1
  35. package/dist/lib/synthesis/decorators/filtered-producer.d.ts +3 -0
  36. package/dist/lib/synthesis/decorators/filtered-producer.d.ts.map +1 -1
  37. package/dist/lib/synthesis/index.js +31 -6
  38. package/dist/lib/synthesis/index.js.map +4 -4
  39. package/package.json +7 -7
  40. package/dist/lib/adapters/groundings/report.grounding.d.ts +0 -38
  41. 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,EAIjB,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;AAsMD;;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;;kCA+C/B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DzC"}
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":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,CAAC;CACnD;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;CAGrB"}
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":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,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;CA2BlD"}
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
- const sqlLower = pair.sql.toLowerCase();
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
- return sql.toLowerCase().replace(/\s+/g, " ").trim();
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