@deepagents/text2sql 0.23.0 → 0.25.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 (34) hide show
  1. package/dist/index.js +4 -4
  2. package/dist/index.js.map +2 -2
  3. package/dist/lib/adapters/bigquery/index.js +14 -8
  4. package/dist/lib/adapters/bigquery/index.js.map +2 -2
  5. package/dist/lib/adapters/bigquery/view.bigquery.grounding.d.ts.map +1 -1
  6. package/dist/lib/adapters/groundings/column-values.grounding.d.ts +4 -0
  7. package/dist/lib/adapters/groundings/column-values.grounding.d.ts.map +1 -1
  8. package/dist/lib/adapters/groundings/index.js +10 -3
  9. package/dist/lib/adapters/groundings/index.js.map +2 -2
  10. package/dist/lib/adapters/groundings/view.grounding.d.ts +3 -0
  11. package/dist/lib/adapters/groundings/view.grounding.d.ts.map +1 -1
  12. package/dist/lib/adapters/mysql/index.js +21 -10
  13. package/dist/lib/adapters/mysql/index.js.map +2 -2
  14. package/dist/lib/adapters/mysql/view.mysql.grounding.d.ts.map +1 -1
  15. package/dist/lib/adapters/postgres/index.js +21 -10
  16. package/dist/lib/adapters/postgres/index.js.map +2 -2
  17. package/dist/lib/adapters/postgres/view.postgres.grounding.d.ts.map +1 -1
  18. package/dist/lib/adapters/spreadsheet/index.js +8 -3
  19. package/dist/lib/adapters/spreadsheet/index.js.map +2 -2
  20. package/dist/lib/adapters/sqlite/index.js +18 -7
  21. package/dist/lib/adapters/sqlite/index.js.map +2 -2
  22. package/dist/lib/adapters/sqlite/view.sqlite.grounding.d.ts.map +1 -1
  23. package/dist/lib/adapters/sqlserver/column-stats.sqlserver.grounding.d.ts +2 -4
  24. package/dist/lib/adapters/sqlserver/column-stats.sqlserver.grounding.d.ts.map +1 -1
  25. package/dist/lib/adapters/sqlserver/column-values.sqlserver.grounding.d.ts +0 -9
  26. package/dist/lib/adapters/sqlserver/column-values.sqlserver.grounding.d.ts.map +1 -1
  27. package/dist/lib/adapters/sqlserver/index.js +99 -14
  28. package/dist/lib/adapters/sqlserver/index.js.map +3 -3
  29. package/dist/lib/adapters/sqlserver/view.sqlserver.grounding.d.ts.map +1 -1
  30. package/dist/lib/agents/developer.agent.d.ts +1 -1
  31. package/dist/lib/agents/result-tools.d.ts.map +1 -1
  32. package/dist/lib/sql.d.ts +3 -1
  33. package/dist/lib/sql.d.ts.map +1 -1
  34. package/package.json +6 -5
@@ -431,9 +431,11 @@ var InfoGrounding = class extends AbstractGrounding {
431
431
  // packages/text2sql/src/lib/adapters/groundings/column-values.grounding.ts
432
432
  var ColumnValuesGrounding = class extends AbstractGrounding {
433
433
  lowCardinalityLimit;
434
+ maxValueLength;
434
435
  constructor(config = {}) {
435
436
  super("columnValues");
436
437
  this.lowCardinalityLimit = config.lowCardinalityLimit ?? 20;
438
+ this.maxValueLength = config.maxValueLength ?? 100;
437
439
  }
438
440
  /**
439
441
  * Get values for native ENUM type columns.
@@ -538,24 +540,27 @@ var ColumnValuesGrounding = class extends AbstractGrounding {
538
540
  }
539
541
  }
540
542
  }
543
+ exceedsMaxValueLength(values) {
544
+ return values.some((v) => v.length > this.maxValueLength);
545
+ }
541
546
  /**
542
547
  * Resolve column values from all sources in priority order.
543
548
  */
544
549
  async resolveColumnValues(tableName, column2, constraints2) {
545
550
  const enumValues = await this.collectEnumValues(tableName, column2);
546
- if (enumValues?.length) {
551
+ if (enumValues?.length && !this.exceedsMaxValueLength(enumValues)) {
547
552
  return { kind: "Enum", values: enumValues };
548
553
  }
549
554
  if (constraints2) {
550
555
  for (const constraint2 of constraints2) {
551
556
  const checkValues = this.parseCheckConstraint(constraint2, column2.name);
552
- if (checkValues?.length) {
557
+ if (checkValues?.length && !this.exceedsMaxValueLength(checkValues)) {
553
558
  return { kind: "Enum", values: checkValues };
554
559
  }
555
560
  }
556
561
  }
557
562
  const lowCardValues = await this.collectLowCardinality(tableName, column2);
558
- if (lowCardValues?.length) {
563
+ if (lowCardValues?.length && !this.exceedsMaxValueLength(lowCardValues)) {
559
564
  return { kind: "LowCardinality", values: lowCardValues };
560
565
  }
561
566
  return void 0;
@@ -1300,9 +1305,11 @@ var SqliteTableGrounding = class extends TableGrounding {
1300
1305
  // packages/text2sql/src/lib/adapters/groundings/view.grounding.ts
1301
1306
  var ViewGrounding = class extends AbstractGrounding {
1302
1307
  #filter;
1308
+ includeDefinition;
1303
1309
  constructor(config = {}) {
1304
1310
  super("view");
1305
1311
  this.#filter = config.filter;
1312
+ this.includeDefinition = config.includeDefinition ?? true;
1306
1313
  }
1307
1314
  /**
1308
1315
  * Execute the grounding process.
@@ -1347,15 +1354,19 @@ var SqliteViewGrounding = class extends ViewGrounding {
1347
1354
  return rows.map((row) => row.name).filter((name) => typeof name === "string");
1348
1355
  }
1349
1356
  async getView(viewName) {
1350
- const defRows = await this.#adapter.runQuery(
1351
- `SELECT sql FROM sqlite_master WHERE type='view' AND name=${this.#quoteIdentifier(viewName)}`
1352
- );
1357
+ let definition;
1358
+ if (this.includeDefinition) {
1359
+ const defRows = await this.#adapter.runQuery(
1360
+ `SELECT sql FROM sqlite_master WHERE type='view' AND name=${this.#quoteIdentifier(viewName)}`
1361
+ );
1362
+ definition = defRows[0]?.sql ?? void 0;
1363
+ }
1353
1364
  const columns = await this.#adapter.runQuery(
1354
1365
  `PRAGMA table_info(${this.#quoteIdentifier(viewName)})`
1355
1366
  );
1356
1367
  return {
1357
1368
  name: viewName,
1358
- definition: defRows[0]?.sql ?? void 0,
1369
+ definition,
1359
1370
  columns: columns.map((col) => ({
1360
1371
  name: col.name ?? "unknown",
1361
1372
  type: col.type ?? "unknown"