@deepagents/text2sql 7.1.1 → 7.1.2

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 (45) hide show
  1. package/README.md +2 -4
  2. package/dist/index.js +40 -54
  3. package/dist/index.js.map +2 -2
  4. package/dist/lib/adapters/bigquery/constraint.bigquery.grounding.d.ts.map +1 -1
  5. package/dist/lib/adapters/bigquery/index.js +14 -17
  6. package/dist/lib/adapters/bigquery/index.js.map +2 -2
  7. package/dist/lib/adapters/bigquery/table.bigquery.grounding.d.ts +2 -2
  8. package/dist/lib/adapters/bigquery/table.bigquery.grounding.d.ts.map +1 -1
  9. package/dist/lib/adapters/clickhouse/clickhouse.sql-policy.d.ts.map +1 -1
  10. package/dist/lib/adapters/clickhouse/index.js +13 -9
  11. package/dist/lib/adapters/clickhouse/index.js.map +3 -3
  12. package/dist/lib/adapters/duckdb/duckdb.d.ts.map +1 -1
  13. package/dist/lib/adapters/duckdb/duckdb.sql-policy.d.ts.map +1 -1
  14. package/dist/lib/adapters/duckdb/index.js +12 -4
  15. package/dist/lib/adapters/duckdb/index.js.map +4 -4
  16. package/dist/lib/adapters/groundings/index.js +2 -2
  17. package/dist/lib/adapters/groundings/index.js.map +2 -2
  18. package/dist/lib/adapters/groundings/table.grounding.d.ts +2 -2
  19. package/dist/lib/adapters/groundings/table.grounding.d.ts.map +1 -1
  20. package/dist/lib/adapters/mysql/index.js +2 -2
  21. package/dist/lib/adapters/mysql/index.js.map +2 -2
  22. package/dist/lib/adapters/postgres/column-values.postgres.grounding.d.ts.map +1 -1
  23. package/dist/lib/adapters/postgres/index.js +17 -17
  24. package/dist/lib/adapters/postgres/index.js.map +2 -2
  25. package/dist/lib/adapters/spreadsheet/index.js +5 -3
  26. package/dist/lib/adapters/spreadsheet/index.js.map +2 -2
  27. package/dist/lib/adapters/spreadsheet/spreadsheet.d.ts.map +1 -1
  28. package/dist/lib/adapters/sqlite/index.js +2 -2
  29. package/dist/lib/adapters/sqlite/index.js.map +2 -2
  30. package/dist/lib/adapters/sqlserver/index.js +2 -2
  31. package/dist/lib/adapters/sqlserver/index.js.map +2 -2
  32. package/dist/lib/fs/mssql/mssql-fs.d.ts +3 -2
  33. package/dist/lib/fs/mssql/mssql-fs.d.ts.map +1 -1
  34. package/dist/lib/fs/postgres/postgres-fs.d.ts +3 -2
  35. package/dist/lib/fs/postgres/postgres-fs.d.ts.map +1 -1
  36. package/dist/lib/synthesis/decorators/filtered-producer.d.ts.map +1 -1
  37. package/dist/lib/synthesis/index.js +3 -3
  38. package/dist/lib/synthesis/index.js.map +2 -2
  39. package/package.json +18 -5
  40. package/dist/eval/src/evals/models.d.ts +0 -12
  41. package/dist/eval/src/evals/models.d.ts.map +0 -1
  42. package/dist/eval/src/evals/sql-create-context/sql-create-context.eval.d.ts +0 -2
  43. package/dist/eval/src/evals/sql-create-context/sql-create-context.eval.d.ts.map +0 -1
  44. package/dist/scripts/scripts/bigquery-test.d.ts +0 -2
  45. package/dist/scripts/scripts/bigquery-test.d.ts.map +0 -1
@@ -11,7 +11,7 @@ export declare class BigQueryTableGrounding extends TableGrounding {
11
11
  protected applyFilter(): Promise<string[]>;
12
12
  protected getAllTableNames(): Promise<string[]>;
13
13
  protected getTable(tableName: string): Promise<Table>;
14
- protected findOutgoingRelations(tableName: string): Promise<Relationship[]>;
15
- protected findIncomingRelations(tableName: string): Promise<Relationship[]>;
14
+ protected findOutgoingRelations(tableName: string, ctx: GroundingContext): Promise<Relationship[]>;
15
+ protected findIncomingRelations(tableName: string, ctx: GroundingContext): Promise<Relationship[]>;
16
16
  }
17
17
  //# sourceMappingURL=table.bigquery.grounding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.bigquery.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/bigquery/table.bigquery.grounding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAc9C,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;CAAG;AAE7E,qBAAa,sBAAuB,SAAQ,cAAc;;gBAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAE,4BAAiC;IAKzD,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAWnC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAKhC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAuBrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;cA0C3C,qBAAqB,CAC5C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC;cAwDD,qBAAqB,CAC5C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC;CAiG3B"}
1
+ {"version":3,"file":"table.bigquery.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/bigquery/table.bigquery.grounding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAc9C,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;CAAG;AAE7E,qBAAa,sBAAuB,SAAQ,cAAc;;gBAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAE,4BAAiC;IAKzD,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAUnC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAKhC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAuBrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;cA0C3C,qBAAqB,CAC5C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,YAAY,EAAE,CAAC;cAwDD,qBAAqB,CAC5C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,YAAY,EAAE,CAAC;CAmG3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse.sql-policy.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/clickhouse/clickhouse.sql-policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAS1B,qBAAa,2BAA4B,YAAW,iBAAiB;;gBAKvD,KAAK,EAAE,eAAe;IAI5B,OAAO,CACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CA8HtC"}
1
+ {"version":3,"file":"clickhouse.sql-policy.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/clickhouse/clickhouse.sql-policy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAS1B,qBAAa,2BAA4B,YAAW,iBAAiB;;gBAQvD,KAAK,EAAE,eAAe;IAK5B,OAAO,CACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CA2HtC"}
@@ -519,6 +519,9 @@ SQL: ${sql.trim()}`,
519
519
  }
520
520
  };
521
521
 
522
+ // packages/text2sql/src/lib/adapters/clickhouse/clickhouse.sql-policy.ts
523
+ import pMemoize from "p-memoize";
524
+
522
525
  // packages/text2sql/src/lib/sql-scope-error.ts
523
526
  function buildScopeParseErrorPayload(sql, parserDialect, error) {
524
527
  const parserError = error instanceof Error ? error.message : String(error ?? "Unknown error");
@@ -536,14 +539,18 @@ function buildScopeParseErrorPayload(sql, parserDialect, error) {
536
539
  var READ_ONLY_MESSAGE = "only SELECT queries allowed";
537
540
  var ClickHouseSqlPolicyAnalyzer = class {
538
541
  #query;
539
- #readonlyCheck;
542
+ /**
543
+ * The connection's current database, read by the probe that also checks
544
+ * readonly = 1. Kept once the probe passes; a failed probe runs again.
545
+ */
540
546
  #currentDatabase;
541
547
  constructor(query) {
542
548
  this.#query = query;
549
+ this.#currentDatabase = pMemoize(() => this.#verifyReadonly());
543
550
  }
544
551
  async analyze(sql, context) {
545
552
  try {
546
- await (this.#readonlyCheck ??= this.#verifyReadonly());
553
+ const currentDatabase = await this.#currentDatabase();
547
554
  const ast = await this.#explain(`EXPLAIN AST ${sql}`);
548
555
  const astAnalysis = analyzeAst(ast);
549
556
  if (!astAnalysis.isSelect) {
@@ -564,13 +571,10 @@ var ClickHouseSqlPolicyAnalyzer = class {
564
571
  analyzedTree,
565
572
  "analyzed"
566
573
  );
567
- if (!this.#currentDatabase) {
568
- throw new Error("ClickHouse current database was not established.");
569
- }
570
574
  const relations = [
571
575
  ...new Set(
572
576
  [...syntacticRelations, ...analyzedRelations].map(
573
- (relation) => qualifyRelation(relation, this.#currentDatabase)
577
+ (relation) => qualifyRelation(relation, currentDatabase)
574
578
  )
575
579
  )
576
580
  ];
@@ -607,7 +611,7 @@ var ClickHouseSqlPolicyAnalyzer = class {
607
611
  `ClickHouse connection must have effective readonly = 1; received ${String(value)}.`
608
612
  );
609
613
  }
610
- this.#currentDatabase = row.database;
614
+ return row.database;
611
615
  }
612
616
  async #explain(sql) {
613
617
  const rows = readRows(await this.#query(sql));
@@ -1331,7 +1335,7 @@ var TableGrounding = class extends AbstractGrounding {
1331
1335
  );
1332
1336
  }
1333
1337
  if (depth < forwardLimit) {
1334
- const rels = await this.findOutgoingRelations(name);
1338
+ const rels = await this.findOutgoingRelations(name, ctx);
1335
1339
  for (const rel of rels) {
1336
1340
  if (!this.isRelationshipVisible(rel)) continue;
1337
1341
  this.addRelationship(rel, allRelationships, seenRelationships);
@@ -1363,7 +1367,7 @@ var TableGrounding = class extends AbstractGrounding {
1363
1367
  );
1364
1368
  }
1365
1369
  if (depth < backwardLimit) {
1366
- const rels = await this.findIncomingRelations(name);
1370
+ const rels = await this.findIncomingRelations(name, ctx);
1367
1371
  for (const rel of rels) {
1368
1372
  if (!this.isRelationshipVisible(rel)) continue;
1369
1373
  this.addRelationship(rel, allRelationships, seenRelationships);