@deepagents/text2sql 7.1.0 → 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 (69) hide show
  1. package/README.md +61 -76
  2. package/dist/bin/sql.js +42 -584
  3. package/dist/index.d.ts +0 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +170 -265
  6. package/dist/index.js.map +4 -4
  7. package/dist/lib/adapter-index.d.ts +0 -2
  8. package/dist/lib/adapter-index.d.ts.map +1 -1
  9. package/dist/lib/adapters/bigquery/constraint.bigquery.grounding.d.ts.map +1 -1
  10. package/dist/lib/adapters/bigquery/index.js +14 -17
  11. package/dist/lib/adapters/bigquery/index.js.map +2 -2
  12. package/dist/lib/adapters/bigquery/table.bigquery.grounding.d.ts +2 -2
  13. package/dist/lib/adapters/bigquery/table.bigquery.grounding.d.ts.map +1 -1
  14. package/dist/lib/adapters/clickhouse/clickhouse.sql-policy.d.ts.map +1 -1
  15. package/dist/lib/adapters/clickhouse/index.js +13 -9
  16. package/dist/lib/adapters/clickhouse/index.js.map +3 -3
  17. package/dist/lib/adapters/duckdb/duckdb.d.ts.map +1 -1
  18. package/dist/lib/adapters/duckdb/duckdb.sql-policy.d.ts.map +1 -1
  19. package/dist/lib/adapters/duckdb/index.js +12 -4
  20. package/dist/lib/adapters/duckdb/index.js.map +4 -4
  21. package/dist/lib/adapters/groundings/index.js +2 -2
  22. package/dist/lib/adapters/groundings/index.js.map +2 -2
  23. package/dist/lib/adapters/groundings/table.grounding.d.ts +2 -2
  24. package/dist/lib/adapters/groundings/table.grounding.d.ts.map +1 -1
  25. package/dist/lib/adapters/mysql/index.js +2 -2
  26. package/dist/lib/adapters/mysql/index.js.map +2 -2
  27. package/dist/lib/adapters/postgres/column-values.postgres.grounding.d.ts.map +1 -1
  28. package/dist/lib/adapters/postgres/index.js +17 -17
  29. package/dist/lib/adapters/postgres/index.js.map +2 -2
  30. package/dist/lib/adapters/posthog/index.js.map +2 -2
  31. package/dist/lib/adapters/posthog/posthog.d.ts.map +1 -1
  32. package/dist/lib/adapters/posthog/schema.posthog.grounding.d.ts.map +1 -1
  33. package/dist/lib/adapters/spreadsheet/index.js +9 -7
  34. package/dist/lib/adapters/spreadsheet/index.js.map +2 -2
  35. package/dist/lib/adapters/spreadsheet/spreadsheet.d.ts.map +1 -1
  36. package/dist/lib/adapters/sqlite/index.js +2 -5
  37. package/dist/lib/adapters/sqlite/index.js.map +2 -2
  38. package/dist/lib/adapters/sqlite/sqlite.d.ts.map +1 -1
  39. package/dist/lib/adapters/sqlserver/index.js +45 -61
  40. package/dist/lib/adapters/sqlserver/index.js.map +2 -2
  41. package/dist/lib/adapters/sqlserver/table.sqlserver.grounding.d.ts +1 -1
  42. package/dist/lib/adapters/sqlserver/table.sqlserver.grounding.d.ts.map +1 -1
  43. package/dist/lib/agents/question.agent.d.ts.map +1 -1
  44. package/dist/lib/agents/suggestions.agents.d.ts.map +1 -1
  45. package/dist/lib/fs/mssql/mssql-fs.d.ts +3 -2
  46. package/dist/lib/fs/mssql/mssql-fs.d.ts.map +1 -1
  47. package/dist/lib/fs/postgres/postgres-fs.d.ts +3 -2
  48. package/dist/lib/fs/postgres/postgres-fs.d.ts.map +1 -1
  49. package/dist/lib/fs/sqlite/sqlite-fs.d.ts.map +1 -1
  50. package/dist/lib/index-cache.d.ts +2 -3
  51. package/dist/lib/index-cache.d.ts.map +1 -1
  52. package/dist/lib/sql-command.d.ts +1 -4
  53. package/dist/lib/sql-command.d.ts.map +1 -1
  54. package/dist/lib/sql.d.ts +0 -5
  55. package/dist/lib/sql.d.ts.map +1 -1
  56. package/dist/lib/synthesis/decorators/filtered-producer.d.ts.map +1 -1
  57. package/dist/lib/synthesis/extractors/base-contextual-extractor.d.ts.map +1 -1
  58. package/dist/lib/synthesis/extractors/segmented-context-extractor.d.ts.map +1 -1
  59. package/dist/lib/synthesis/extractors/sql-extractor.d.ts.map +1 -1
  60. package/dist/lib/synthesis/index.js +3 -3
  61. package/dist/lib/synthesis/index.js.map +2 -2
  62. package/dist/lib/synthesis/synthesizers/breadth-evolver.d.ts.map +1 -1
  63. package/dist/lib/synthesis/synthesizers/depth-evolver.d.ts.map +1 -1
  64. package/dist/lib/synthesis/synthesizers/persona-generator.d.ts.map +1 -1
  65. package/package.json +18 -7
  66. package/dist/lib/index-lock.d.ts +0 -60
  67. package/dist/lib/index-lock.d.ts.map +0 -1
  68. package/dist/lib/prompt.d.ts +0 -2
  69. package/dist/lib/prompt.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/sqlite/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAwCvB,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AA6BF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;;;;;EAwBtD;AAED,qBAAa,MAAO,SAAQ,OAAO;;IAEjC,SAAkB,SAAS,EAAE,WAAW,EAAE,CAAC;IAC3C,SAAkB,aAAa,YAAa;IAC5C,SAAkB,aAAa,EAAE,MAAM,EAAE,CAAM;IAC/C,SAAkB,iBAAiB,YAAY;gBAEnC,OAAO,EAAE,oBAAoB;IAW1B,WAAW,CAAC,GAAG,EAAE,MAAM;IAIvB,YAAY,CAAC,GAAG,EAAE,MAAM;cAkBd,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI1D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7B,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GACZ,MAAM;CAMV"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/sqlite/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAwCvB,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;;;;;EAwBtD;AAED,qBAAa,MAAO,SAAQ,OAAO;;IAEjC,SAAkB,SAAS,EAAE,WAAW,EAAE,CAAC;IAC3C,SAAkB,aAAa,YAAa;IAC5C,SAAkB,aAAa,EAAE,MAAM,EAAE,CAAM;IAC/C,SAAkB,iBAAiB,YAAY;gBAEnC,OAAO,EAAE,oBAAoB;IAW1B,WAAW,CAAC,GAAG,EAAE,MAAM;IAIvB,YAAY,CAAC,GAAG,EAAE,MAAM;cAcd,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI1D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7B,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GACZ,MAAM;CAMV"}
@@ -950,7 +950,7 @@ var TableGrounding = class extends AbstractGrounding {
950
950
  );
951
951
  }
952
952
  if (depth < forwardLimit) {
953
- const rels = await this.findOutgoingRelations(name);
953
+ const rels = await this.findOutgoingRelations(name, ctx);
954
954
  for (const rel of rels) {
955
955
  if (!this.isRelationshipVisible(rel)) continue;
956
956
  this.addRelationship(rel, allRelationships, seenRelationships);
@@ -982,7 +982,7 @@ var TableGrounding = class extends AbstractGrounding {
982
982
  );
983
983
  }
984
984
  if (depth < backwardLimit) {
985
- const rels = await this.findIncomingRelations(name);
985
+ const rels = await this.findIncomingRelations(name, ctx);
986
986
  for (const rel of rels) {
987
987
  if (!this.isRelationshipVisible(rel)) continue;
988
988
  this.addRelationship(rel, allRelationships, seenRelationships);
@@ -1975,13 +1975,13 @@ var columnRow = z7.object({
1975
1975
 
1976
1976
  // packages/text2sql/src/lib/adapters/sqlserver/table.sqlserver.grounding.ts
1977
1977
  var relationshipRow = z8.object({
1978
- constraint_name: z8.string().nullable(),
1979
- table_schema: z8.string().nullable(),
1980
- table_name: z8.string().nullable(),
1981
- column_name: z8.string().nullable(),
1982
- referenced_table_schema: z8.string().nullable(),
1983
- referenced_table_name: z8.string().nullable(),
1984
- referenced_column_name: z8.string().nullable()
1978
+ constraint_name: z8.string(),
1979
+ table_schema: z8.string(),
1980
+ table_name: z8.string(),
1981
+ column_name: z8.string(),
1982
+ referenced_table_schema: z8.string(),
1983
+ referenced_table_name: z8.string(),
1984
+ referenced_column_name: z8.string()
1985
1985
  });
1986
1986
  var SqlServerTableGrounding = class extends TableGrounding {
1987
1987
  #adapter;
@@ -2028,74 +2028,58 @@ var SqlServerTableGrounding = class extends TableGrounding {
2028
2028
  }
2029
2029
  async findOutgoingRelations(tableName) {
2030
2030
  const { schema, table: table2 } = this.#adapter.parseTableName(tableName);
2031
- const rows = await this.#adapter.runQuery(
2032
- `
2033
- SELECT
2034
- fk.CONSTRAINT_NAME AS constraint_name,
2035
- fk.TABLE_SCHEMA AS table_schema,
2036
- fk.TABLE_NAME AS table_name,
2037
- fk.COLUMN_NAME AS column_name,
2038
- pk.TABLE_SCHEMA AS referenced_table_schema,
2039
- pk.TABLE_NAME AS referenced_table_name,
2040
- pk.COLUMN_NAME AS referenced_column_name
2041
- FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS rc
2042
- JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fk
2043
- ON fk.CONSTRAINT_NAME = rc.CONSTRAINT_NAME
2044
- JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS pk
2045
- ON pk.CONSTRAINT_NAME = rc.UNIQUE_CONSTRAINT_NAME
2046
- AND pk.ORDINAL_POSITION = fk.ORDINAL_POSITION
2047
- WHERE fk.TABLE_SCHEMA = '${this.#adapter.escapeString(schema)}'
2048
- AND fk.TABLE_NAME = '${this.#adapter.escapeString(table2)}'
2049
- ORDER BY fk.CONSTRAINT_NAME, fk.ORDINAL_POSITION
2050
- `,
2051
- relationshipRow
2031
+ return this.#foreignKeys(
2032
+ `s.name = '${this.#adapter.escapeString(schema)}'
2033
+ AND t.name = '${this.#adapter.escapeString(table2)}'`
2052
2034
  );
2053
- return this.#groupRelationships(rows);
2054
2035
  }
2055
2036
  async findIncomingRelations(tableName) {
2056
2037
  const { schema, table: table2 } = this.#adapter.parseTableName(tableName);
2038
+ return this.#foreignKeys(
2039
+ `ref_s.name = '${this.#adapter.escapeString(schema)}'
2040
+ AND ref_t.name = '${this.#adapter.escapeString(table2)}'`
2041
+ );
2042
+ }
2043
+ /**
2044
+ * The foreign keys matching `where`. sys.foreign_key_columns holds one row
2045
+ * per column pair in the key's own order, and every join goes by object id,
2046
+ * so a key comes back whole even when it references a unique index or
2047
+ * another schema repeats its constraint names.
2048
+ */
2049
+ async #foreignKeys(where) {
2057
2050
  const rows = await this.#adapter.runQuery(
2058
2051
  `
2059
2052
  SELECT
2060
- fk.CONSTRAINT_NAME AS constraint_name,
2061
- fk.TABLE_SCHEMA AS table_schema,
2062
- fk.TABLE_NAME AS table_name,
2063
- fk.COLUMN_NAME AS column_name,
2064
- pk.TABLE_SCHEMA AS referenced_table_schema,
2065
- pk.TABLE_NAME AS referenced_table_name,
2066
- pk.COLUMN_NAME AS referenced_column_name
2067
- FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS rc
2068
- JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fk
2069
- ON fk.CONSTRAINT_NAME = rc.CONSTRAINT_NAME
2070
- JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS pk
2071
- ON pk.CONSTRAINT_NAME = rc.UNIQUE_CONSTRAINT_NAME
2072
- AND pk.ORDINAL_POSITION = fk.ORDINAL_POSITION
2073
- WHERE pk.TABLE_SCHEMA = '${this.#adapter.escapeString(schema)}'
2074
- AND pk.TABLE_NAME = '${this.#adapter.escapeString(table2)}'
2075
- ORDER BY fk.CONSTRAINT_NAME, fk.ORDINAL_POSITION
2053
+ fk.name AS constraint_name,
2054
+ s.name AS table_schema,
2055
+ t.name AS table_name,
2056
+ COL_NAME(fkc.parent_object_id, fkc.parent_column_id) AS column_name,
2057
+ ref_s.name AS referenced_table_schema,
2058
+ ref_t.name AS referenced_table_name,
2059
+ COL_NAME(fkc.referenced_object_id, fkc.referenced_column_id) AS referenced_column_name
2060
+ FROM sys.foreign_keys AS fk
2061
+ JOIN sys.foreign_key_columns AS fkc ON fkc.constraint_object_id = fk.object_id
2062
+ JOIN sys.tables AS t ON t.object_id = fk.parent_object_id
2063
+ JOIN sys.schemas AS s ON s.schema_id = t.schema_id
2064
+ JOIN sys.tables AS ref_t ON ref_t.object_id = fk.referenced_object_id
2065
+ JOIN sys.schemas AS ref_s ON ref_s.schema_id = ref_t.schema_id
2066
+ WHERE ${where}
2067
+ ORDER BY s.name, t.name, fk.name, fkc.constraint_column_id
2076
2068
  `,
2077
2069
  relationshipRow
2078
2070
  );
2079
- return this.#groupRelationships(rows);
2080
- }
2081
- #groupRelationships(rows) {
2082
2071
  const relationships = /* @__PURE__ */ new Map();
2083
- const defaultSchema = this.#adapter.defaultSchema ?? "dbo";
2084
2072
  for (const row of rows) {
2085
- if (!row.constraint_name || !row.table_name || !row.referenced_table_name) {
2086
- continue;
2087
- }
2088
- const schema = row.table_schema ?? defaultSchema;
2089
- const referencedSchema = row.referenced_table_schema ?? defaultSchema;
2090
- const key = `${schema}.${row.table_name}:${row.constraint_name}`;
2073
+ const table2 = `${row.table_schema}.${row.table_name}`;
2074
+ const key = `${table2}:${row.constraint_name}`;
2091
2075
  const relationship2 = relationships.get(key) ?? {
2092
- table: `${schema}.${row.table_name}`,
2076
+ table: table2,
2093
2077
  from: [],
2094
- referenced_table: `${referencedSchema}.${row.referenced_table_name}`,
2078
+ referenced_table: `${row.referenced_table_schema}.${row.referenced_table_name}`,
2095
2079
  to: []
2096
2080
  };
2097
- relationship2.from.push(row.column_name ?? "unknown");
2098
- relationship2.to.push(row.referenced_column_name ?? "unknown");
2081
+ relationship2.from.push(row.column_name);
2082
+ relationship2.to.push(row.referenced_column_name);
2099
2083
  relationships.set(key, relationship2);
2100
2084
  }
2101
2085
  return Array.from(relationships.values());