@deepagents/text2sql 0.3.0 → 0.6.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 (149) hide show
  1. package/README.md +167 -0
  2. package/dist/finetune/convert-to-gguf.d.ts +18 -0
  3. package/dist/finetune/convert-to-gguf.d.ts.map +1 -0
  4. package/dist/finetune/run-finetune.d.ts +23 -0
  5. package/dist/finetune/run-finetune.d.ts.map +1 -0
  6. package/dist/finetune/run-mlx.d.ts +22 -0
  7. package/dist/finetune/run-mlx.d.ts.map +1 -0
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1795 -284
  11. package/dist/index.js.map +4 -4
  12. package/dist/lib/adapters/adapter.d.ts +8 -3
  13. package/dist/lib/adapters/adapter.d.ts.map +1 -1
  14. package/dist/lib/adapters/{grounding.ticket.d.ts → groundings/abstract.grounding.d.ts} +2 -2
  15. package/dist/lib/adapters/groundings/abstract.grounding.d.ts.map +1 -0
  16. package/dist/lib/adapters/groundings/column-stats.grounding.d.ts +1 -1
  17. package/dist/lib/adapters/groundings/column-stats.grounding.d.ts.map +1 -1
  18. package/dist/lib/adapters/groundings/column-values.grounding.d.ts +76 -0
  19. package/dist/lib/adapters/groundings/column-values.grounding.d.ts.map +1 -0
  20. package/dist/lib/adapters/groundings/constraint.grounding.d.ts +1 -1
  21. package/dist/lib/adapters/groundings/constraint.grounding.d.ts.map +1 -1
  22. package/dist/lib/adapters/groundings/context.d.ts +1 -1
  23. package/dist/lib/adapters/groundings/context.d.ts.map +1 -1
  24. package/dist/lib/adapters/groundings/{grounding.d.ts → index.d.ts} +8 -5
  25. package/dist/lib/adapters/groundings/index.d.ts.map +1 -0
  26. package/dist/lib/adapters/groundings/{grounding.js → index.js} +411 -206
  27. package/dist/lib/adapters/groundings/index.js.map +7 -0
  28. package/dist/lib/adapters/groundings/indexes.grounding.d.ts +1 -1
  29. package/dist/lib/adapters/groundings/indexes.grounding.d.ts.map +1 -1
  30. package/dist/lib/adapters/groundings/info.grounding.d.ts +1 -1
  31. package/dist/lib/adapters/groundings/info.grounding.d.ts.map +1 -1
  32. package/dist/lib/adapters/groundings/report.grounding.d.ts +1 -1
  33. package/dist/lib/adapters/groundings/report.grounding.d.ts.map +1 -1
  34. package/dist/lib/adapters/groundings/row-count.grounding.d.ts +1 -1
  35. package/dist/lib/adapters/groundings/row-count.grounding.d.ts.map +1 -1
  36. package/dist/lib/adapters/groundings/table.grounding.d.ts +1 -1
  37. package/dist/lib/adapters/groundings/table.grounding.d.ts.map +1 -1
  38. package/dist/lib/adapters/groundings/view.grounding.d.ts +1 -1
  39. package/dist/lib/adapters/groundings/view.grounding.d.ts.map +1 -1
  40. package/dist/lib/adapters/postgres/column-stats.postgres.grounding.d.ts.map +1 -1
  41. package/dist/lib/adapters/postgres/column-values.postgres.grounding.d.ts +17 -0
  42. package/dist/lib/adapters/postgres/column-values.postgres.grounding.d.ts.map +1 -0
  43. package/dist/lib/adapters/postgres/index.d.ts +4 -4
  44. package/dist/lib/adapters/postgres/index.d.ts.map +1 -1
  45. package/dist/lib/adapters/postgres/index.js +239 -33
  46. package/dist/lib/adapters/postgres/index.js.map +4 -4
  47. package/dist/lib/adapters/postgres/postgres.d.ts +1 -0
  48. package/dist/lib/adapters/postgres/postgres.d.ts.map +1 -1
  49. package/dist/lib/adapters/sqlite/column-values.sqlite.grounding.d.ts +17 -0
  50. package/dist/lib/adapters/sqlite/column-values.sqlite.grounding.d.ts.map +1 -0
  51. package/dist/lib/adapters/sqlite/constraint.sqlite.grounding.d.ts.map +1 -1
  52. package/dist/lib/adapters/sqlite/index.d.ts +4 -4
  53. package/dist/lib/adapters/sqlite/index.d.ts.map +1 -1
  54. package/dist/lib/adapters/sqlite/index.js +218 -46
  55. package/dist/lib/adapters/sqlite/index.js.map +4 -4
  56. package/dist/lib/adapters/sqlite/sqlite.d.ts +1 -0
  57. package/dist/lib/adapters/sqlite/sqlite.d.ts.map +1 -1
  58. package/dist/lib/adapters/sqlserver/column-values.sqlserver.grounding.d.ts +17 -0
  59. package/dist/lib/adapters/sqlserver/column-values.sqlserver.grounding.d.ts.map +1 -0
  60. package/dist/lib/adapters/sqlserver/index.d.ts +4 -4
  61. package/dist/lib/adapters/sqlserver/index.d.ts.map +1 -1
  62. package/dist/lib/adapters/sqlserver/index.js +185 -32
  63. package/dist/lib/adapters/sqlserver/index.js.map +4 -4
  64. package/dist/lib/adapters/sqlserver/sqlserver.d.ts +1 -0
  65. package/dist/lib/adapters/sqlserver/sqlserver.d.ts.map +1 -1
  66. package/dist/lib/agents/chat1.agent.d.ts +50 -0
  67. package/dist/lib/agents/chat1.agent.d.ts.map +1 -0
  68. package/dist/lib/agents/chat2.agent.d.ts +68 -0
  69. package/dist/lib/agents/chat2.agent.d.ts.map +1 -0
  70. package/dist/lib/agents/chat3.agent.d.ts +80 -0
  71. package/dist/lib/agents/chat3.agent.d.ts.map +1 -0
  72. package/dist/lib/agents/chat4.agent.d.ts +88 -0
  73. package/dist/lib/agents/chat4.agent.d.ts.map +1 -0
  74. package/dist/lib/agents/question.agent.d.ts +23 -0
  75. package/dist/lib/agents/question.agent.d.ts.map +1 -0
  76. package/dist/lib/agents/sql.agent.d.ts +62 -0
  77. package/dist/lib/agents/sql.agent.d.ts.map +1 -0
  78. package/dist/lib/agents/teachables.agent.d.ts +8 -9
  79. package/dist/lib/agents/teachables.agent.d.ts.map +1 -1
  80. package/dist/lib/agents/text2sql.agent.d.ts +0 -1
  81. package/dist/lib/agents/text2sql.agent.d.ts.map +1 -1
  82. package/dist/lib/checkpoint.d.ts +99 -0
  83. package/dist/lib/checkpoint.d.ts.map +1 -0
  84. package/dist/lib/instructions.js +50 -21
  85. package/dist/lib/instructions.js.map +2 -2
  86. package/dist/lib/sql.d.ts +83 -3
  87. package/dist/lib/sql.d.ts.map +1 -1
  88. package/dist/lib/syntheize.d.ts +2 -0
  89. package/dist/lib/syntheize.d.ts.map +1 -0
  90. package/dist/lib/synthesis/decorators/deduplicated-producer.d.ts +26 -0
  91. package/dist/lib/synthesis/decorators/deduplicated-producer.d.ts.map +1 -0
  92. package/dist/lib/synthesis/decorators/filtered-producer.d.ts +26 -0
  93. package/dist/lib/synthesis/decorators/filtered-producer.d.ts.map +1 -0
  94. package/dist/lib/synthesis/decorators/index.d.ts +7 -0
  95. package/dist/lib/synthesis/decorators/index.d.ts.map +1 -0
  96. package/dist/lib/synthesis/decorators/validated-producer.d.ts +33 -0
  97. package/dist/lib/synthesis/decorators/validated-producer.d.ts.map +1 -0
  98. package/dist/lib/synthesis/extractors/base-contextual-extractor.d.ts +76 -0
  99. package/dist/lib/synthesis/extractors/base-contextual-extractor.d.ts.map +1 -0
  100. package/dist/lib/synthesis/extractors/full-context-extractor.d.ts +25 -0
  101. package/dist/lib/synthesis/extractors/full-context-extractor.d.ts.map +1 -0
  102. package/dist/lib/synthesis/extractors/index.d.ts +8 -0
  103. package/dist/lib/synthesis/extractors/index.d.ts.map +1 -0
  104. package/dist/lib/synthesis/extractors/last-query-extractor.d.ts +30 -0
  105. package/dist/lib/synthesis/extractors/last-query-extractor.d.ts.map +1 -0
  106. package/dist/lib/synthesis/extractors/message-extractor.d.ts +27 -0
  107. package/dist/lib/synthesis/extractors/message-extractor.d.ts.map +1 -0
  108. package/dist/lib/synthesis/extractors/segmented-context-extractor.d.ts +48 -0
  109. package/dist/lib/synthesis/extractors/segmented-context-extractor.d.ts.map +1 -0
  110. package/dist/lib/synthesis/extractors/sql-extractor.d.ts +27 -0
  111. package/dist/lib/synthesis/extractors/sql-extractor.d.ts.map +1 -0
  112. package/dist/lib/synthesis/extractors/windowed-context-extractor.d.ts +30 -0
  113. package/dist/lib/synthesis/extractors/windowed-context-extractor.d.ts.map +1 -0
  114. package/dist/lib/synthesis/index.d.ts +6 -0
  115. package/dist/lib/synthesis/index.d.ts.map +1 -0
  116. package/dist/lib/synthesis/index.js +2069 -0
  117. package/dist/lib/synthesis/index.js.map +7 -0
  118. package/dist/lib/synthesis/synthesizers/breadth-evolver.d.ts +34 -0
  119. package/dist/lib/synthesis/synthesizers/breadth-evolver.d.ts.map +1 -0
  120. package/dist/lib/synthesis/synthesizers/depth-evolver.d.ts +41 -0
  121. package/dist/lib/synthesis/synthesizers/depth-evolver.d.ts.map +1 -0
  122. package/dist/lib/synthesis/synthesizers/index.d.ts +7 -0
  123. package/dist/lib/synthesis/synthesizers/index.d.ts.map +1 -0
  124. package/dist/lib/synthesis/synthesizers/persona-generator.d.ts +34 -0
  125. package/dist/lib/synthesis/synthesizers/persona-generator.d.ts.map +1 -0
  126. package/dist/lib/synthesis/synthesizers/schema-synthesizer.d.ts +39 -0
  127. package/dist/lib/synthesis/synthesizers/schema-synthesizer.d.ts.map +1 -0
  128. package/dist/lib/synthesis/synthesizers/styles.d.ts +8 -0
  129. package/dist/lib/synthesis/synthesizers/styles.d.ts.map +1 -0
  130. package/dist/lib/synthesis/synthesizers/teachings-generator.d.ts +32 -0
  131. package/dist/lib/synthesis/synthesizers/teachings-generator.d.ts.map +1 -0
  132. package/dist/lib/synthesis/types.d.ts +26 -0
  133. package/dist/lib/synthesis/types.d.ts.map +1 -0
  134. package/dist/lib/teach/teachables.d.ts +18 -3
  135. package/dist/lib/teach/teachables.d.ts.map +1 -1
  136. package/dist/lib/teach/teachings.d.ts +9 -2
  137. package/dist/lib/teach/teachings.d.ts.map +1 -1
  138. package/package.json +32 -15
  139. package/dist/lib/adapters/grounding.ticket.d.ts.map +0 -1
  140. package/dist/lib/adapters/groundings/grounding.d.ts.map +0 -1
  141. package/dist/lib/adapters/groundings/grounding.js.map +0 -7
  142. package/dist/lib/adapters/groundings/low-cardinality.grounding.d.ts +0 -35
  143. package/dist/lib/adapters/groundings/low-cardinality.grounding.d.ts.map +0 -1
  144. package/dist/lib/adapters/postgres/low-cardinality.postgres.grounding.d.ts +0 -14
  145. package/dist/lib/adapters/postgres/low-cardinality.postgres.grounding.d.ts.map +0 -1
  146. package/dist/lib/adapters/sqlite/low-cardinality.sqlite.grounding.d.ts +0 -14
  147. package/dist/lib/adapters/sqlite/low-cardinality.sqlite.grounding.d.ts.map +0 -1
  148. package/dist/lib/adapters/sqlserver/low-cardinality.sqlserver.grounding.d.ts +0 -14
  149. package/dist/lib/adapters/sqlserver/low-cardinality.sqlserver.grounding.d.ts.map +0 -1
@@ -22,5 +22,6 @@ export declare class Postgres extends Adapter {
22
22
  runQuery<Row>(sql: string): Promise<Row[]>;
23
23
  quoteIdentifier(name: string): string;
24
24
  escape(value: string): string;
25
+ buildSampleRowsQuery(tableName: string, columns: string[] | undefined, limit: number): string;
25
26
  }
26
27
  //# sourceMappingURL=postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/postgres/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,WAAW,EAKhB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAwEF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;;;;;EA0B9D;AAED,qBAAa,QAAS,SAAQ,OAAO;;IAEnC,SAAkB,SAAS,EAAE,WAAW,EAAE,CAAC;IAC3C,SAAkB,aAAa,YAAY;IAC3C,SAAkB,aAAa,WAAwC;gBAE3D,OAAO,EAAE,sBAAsB;IAY5B,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAcpB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAIhD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CA4cvC"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/postgres/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,WAAW,EAKhB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAwEF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;;;;;EA0B9D;AAED,qBAAa,QAAS,SAAQ,OAAO;;IAEnC,SAAkB,SAAS,EAAE,WAAW,EAAE,CAAC;IAC3C,SAAkB,aAAa,YAAY;IAC3C,SAAkB,aAAa,WAAwC;gBAE3D,OAAO,EAAE,sBAAsB;IAY5B,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAcpB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAIhD,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;CAmdV"}
@@ -0,0 +1,17 @@
1
+ import type { Adapter } from '../adapter.ts';
2
+ import { type Column, ColumnValuesGrounding, type ColumnValuesGroundingConfig } from '../groundings/column-values.grounding.ts';
3
+ /**
4
+ * SQLite implementation of ColumnValuesGrounding.
5
+ *
6
+ * Supports:
7
+ * - CHECK constraints with IN clauses (inherited from base)
8
+ * - Low cardinality data scan
9
+ *
10
+ * Note: SQLite does not have native ENUM types.
11
+ */
12
+ export declare class SqliteColumnValuesGrounding extends ColumnValuesGrounding {
13
+ #private;
14
+ constructor(adapter: Adapter, config?: ColumnValuesGroundingConfig);
15
+ protected collectLowCardinality(tableName: string, column: Column): Promise<string[] | undefined>;
16
+ }
17
+ //# sourceMappingURL=column-values.sqlite.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-values.sqlite.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/sqlite/column-values.sqlite.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,KAAK,MAAM,EACX,qBAAqB,EACrB,KAAK,2BAA2B,EACjC,MAAM,0CAA0C,CAAC;AAElD;;;;;;;;GAQG;AACH,qBAAa,2BAA4B,SAAQ,qBAAqB;;gBAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,2BAAgC;cAK7C,qBAAqB,CAC5C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;CAmDjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constraint.sqlite.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/sqlite/constraint.sqlite.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAuB/C;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;;gBAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,yBAA8B;cAK3C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAgIvF"}
1
+ {"version":3,"file":"constraint.sqlite.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/sqlite/constraint.sqlite.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAuB/C;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;;gBAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,yBAA8B;cAK3C,cAAc,CACrC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,EAAE,CAAC;CAoK9B"}
@@ -3,7 +3,7 @@ import { type ColumnStatsGroundingConfig } from '../groundings/column-stats.grou
3
3
  import { type ConstraintGroundingConfig } from '../groundings/constraint.grounding.ts';
4
4
  import { type IndexesGroundingConfig } from '../groundings/indexes.grounding.ts';
5
5
  import { type InfoGroundingConfig } from '../groundings/info.grounding.ts';
6
- import { type LowCardinalityGroundingConfig } from '../groundings/low-cardinality.grounding.ts';
6
+ import { type ColumnValuesGroundingConfig } from '../groundings/column-values.grounding.ts';
7
7
  import { ReportGrounding, type ReportGroundingConfig } from '../groundings/report.grounding.ts';
8
8
  import { type RowCountGroundingConfig } from '../groundings/row-count.grounding.ts';
9
9
  import { type TableGroundingConfig } from '../groundings/table.grounding.ts';
@@ -12,7 +12,7 @@ import { SqliteColumnStatsGrounding } from './column-stats.sqlite.grounding.ts';
12
12
  import { SqliteConstraintGrounding } from './constraint.sqlite.grounding.ts';
13
13
  import { SqliteIndexesGrounding } from './indexes.sqlite.grounding.ts';
14
14
  import { SqliteInfoGrounding } from './info.sqlite.grounding.ts';
15
- import { SqliteLowCardinalityGrounding } from './low-cardinality.sqlite.grounding.ts';
15
+ import { SqliteColumnValuesGrounding } from './column-values.sqlite.grounding.ts';
16
16
  import { SqliteRowCountGrounding } from './row-count.sqlite.grounding.ts';
17
17
  import { Sqlite } from './sqlite.ts';
18
18
  import { SqliteTableGrounding } from './table.sqlite.grounding.ts';
@@ -22,7 +22,7 @@ export declare function tables(config?: TableGroundingConfig): (adapter: Adapter
22
22
  export declare function info(config?: InfoGroundingConfig): (adapter: Adapter) => SqliteInfoGrounding;
23
23
  export declare function views(config?: ViewGroundingConfig): (adapter: Adapter) => SqliteViewGrounding;
24
24
  export declare function columnStats(config?: ColumnStatsGroundingConfig): (adapter: Adapter) => SqliteColumnStatsGrounding;
25
- export declare function lowCardinality(config?: LowCardinalityGroundingConfig): (adapter: Adapter) => SqliteLowCardinalityGrounding;
25
+ export declare function columnValues(config?: ColumnValuesGroundingConfig): (adapter: Adapter) => SqliteColumnValuesGrounding;
26
26
  export declare function indexes(config?: IndexesGroundingConfig): (adapter: Adapter) => SqliteIndexesGrounding;
27
27
  export declare function rowCount(config?: RowCountGroundingConfig): (adapter: Adapter) => SqliteRowCountGrounding;
28
28
  export declare function constraints(config?: ConstraintGroundingConfig): (adapter: Adapter) => SqliteConstraintGrounding;
@@ -32,7 +32,7 @@ declare const _default: {
32
32
  info: typeof info;
33
33
  views: typeof views;
34
34
  columnStats: typeof columnStats;
35
- lowCardinality: typeof lowCardinality;
35
+ columnValues: typeof columnValues;
36
36
  indexes: typeof indexes;
37
37
  rowCount: typeof rowCount;
38
38
  constraints: typeof constraints;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,cAAc,aAAa,CAAC;AAE5B,wBAAgB,MAAM,CAAC,MAAM,GAAE,oBAAyB,IAC9C,SAAS,OAAO,0BACzB;AAED,wBAAgB,IAAI,CAAC,MAAM,GAAE,mBAAwB,IAC3C,SAAS,OAAO,yBACzB;AAED,wBAAgB,KAAK,CAAC,MAAM,GAAE,mBAAwB,IAC5C,SAAS,OAAO,yBAGzB;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,0BAA+B,IACzD,SAAS,OAAO,gCAGzB;AAED,wBAAgB,cAAc,CAAC,MAAM,GAAE,6BAAkC,IAC/D,SAAS,OAAO,mCAGzB;AAED,wBAAgB,OAAO,CAAC,MAAM,GAAE,sBAA2B,IACjD,SAAS,OAAO,4BAGzB;AAED,wBAAgB,QAAQ,CAAC,MAAM,GAAE,uBAA4B,IACnD,SAAS,OAAO,6BAGzB;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,yBAA8B,IACxD,SAAS,OAAO,+BAGzB;AAED,wBAAgB,MAAM,CAAC,MAAM,GAAE,qBAA0B,IAC/C,SAAS,OAAO,qBACzB;;;;;;;;;;;;;AAED,wBAWE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,cAAc,aAAa,CAAC;AAE5B,wBAAgB,MAAM,CAAC,MAAM,GAAE,oBAAyB,IAC9C,SAAS,OAAO,0BACzB;AAED,wBAAgB,IAAI,CAAC,MAAM,GAAE,mBAAwB,IAC3C,SAAS,OAAO,yBACzB;AAED,wBAAgB,KAAK,CAAC,MAAM,GAAE,mBAAwB,IAC5C,SAAS,OAAO,yBAGzB;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,0BAA+B,IACzD,SAAS,OAAO,gCAGzB;AAED,wBAAgB,YAAY,CAAC,MAAM,GAAE,2BAAgC,IAC3D,SAAS,OAAO,iCAGzB;AAED,wBAAgB,OAAO,CAAC,MAAM,GAAE,sBAA2B,IACjD,SAAS,OAAO,4BAGzB;AAED,wBAAgB,QAAQ,CAAC,MAAM,GAAE,uBAA4B,IACnD,SAAS,OAAO,6BAGzB;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,yBAA8B,IACxD,SAAS,OAAO,+BAGzB;AAED,wBAAgB,MAAM,CAAC,MAAM,GAAE,qBAA0B,IAC/C,SAAS,OAAO,qBACzB;;;;;;;;;;;;;AAED,wBAWE"}
@@ -10,9 +10,8 @@ function createGroundingContext() {
10
10
 
11
11
  // packages/text2sql/src/lib/adapters/adapter.ts
12
12
  var Adapter = class {
13
- async introspect() {
13
+ async introspect(ctx = createGroundingContext()) {
14
14
  const lines = [];
15
- const ctx = createGroundingContext();
16
15
  for (const fn of this.grounding) {
17
16
  const grounding = fn(this);
18
17
  lines.push({
@@ -82,7 +81,7 @@ ${description}
82
81
  }
83
82
  };
84
83
 
85
- // packages/text2sql/src/lib/adapters/grounding.ticket.ts
84
+ // packages/text2sql/src/lib/adapters/groundings/abstract.grounding.ts
86
85
  var AbstractGrounding = class {
87
86
  tag;
88
87
  constructor(tag) {
@@ -196,31 +195,108 @@ var InfoGrounding = class extends AbstractGrounding {
196
195
  }
197
196
  };
198
197
 
199
- // packages/text2sql/src/lib/adapters/groundings/low-cardinality.grounding.ts
200
- var LowCardinalityGrounding = class extends AbstractGrounding {
198
+ // packages/text2sql/src/lib/adapters/groundings/column-values.grounding.ts
199
+ var ColumnValuesGrounding = class extends AbstractGrounding {
200
+ lowCardinalityLimit;
201
201
  constructor(config = {}) {
202
- super("low_cardinality");
202
+ super("column_values");
203
+ this.lowCardinalityLimit = config.lowCardinalityLimit ?? 20;
204
+ }
205
+ /**
206
+ * Get values for native ENUM type columns.
207
+ * Return undefined if column is not an ENUM type.
208
+ * Default implementation returns undefined (no native ENUM support).
209
+ */
210
+ async collectEnumValues(_tableName, _column) {
211
+ return void 0;
212
+ }
213
+ /**
214
+ * Parse CHECK constraint for enum-like IN clause.
215
+ * Extracts values from patterns like:
216
+ * - CHECK (status IN ('active', 'inactive'))
217
+ * - CHECK ((status)::text = ANY (ARRAY['a'::text, 'b'::text]))
218
+ * - CHECK (status = 'active' OR status = 'inactive')
219
+ */
220
+ parseCheckConstraint(constraint, columnName) {
221
+ if (constraint.type !== "CHECK" || !constraint.definition) {
222
+ return void 0;
223
+ }
224
+ if (constraint.columns && !constraint.columns.includes(columnName)) {
225
+ return void 0;
226
+ }
227
+ const def = constraint.definition;
228
+ const escapedCol = this.escapeRegex(columnName);
229
+ const colPattern = `(?:\\(?\\(?${escapedCol}\\)?(?:::(?:text|varchar|character varying))?\\)?)`;
230
+ const inMatch = def.match(
231
+ new RegExp(`${colPattern}\\s+IN\\s*\\(([^)]+)\\)`, "i")
232
+ );
233
+ if (inMatch) {
234
+ return this.extractStringValues(inMatch[1]);
235
+ }
236
+ const anyMatch = def.match(
237
+ new RegExp(
238
+ `${colPattern}\\s*=\\s*ANY\\s*\\(\\s*(?:ARRAY)?\\s*\\[([^\\]]+)\\]`,
239
+ "i"
240
+ )
241
+ );
242
+ if (anyMatch) {
243
+ return this.extractStringValues(anyMatch[1]);
244
+ }
245
+ const orPattern = new RegExp(
246
+ `\\b${this.escapeRegex(columnName)}\\b\\s*=\\s*'([^']*)'`,
247
+ "gi"
248
+ );
249
+ const orMatches = [...def.matchAll(orPattern)];
250
+ if (orMatches.length >= 2) {
251
+ return orMatches.map((m) => m[1]);
252
+ }
253
+ return void 0;
254
+ }
255
+ /**
256
+ * Extract string values from a comma-separated list.
257
+ */
258
+ extractStringValues(input) {
259
+ const values = [];
260
+ const matches = input.matchAll(/'([^']*)'/g);
261
+ for (const match of matches) {
262
+ values.push(match[1]);
263
+ }
264
+ return values.length > 0 ? values : void 0;
265
+ }
266
+ /**
267
+ * Escape special regex characters in a string.
268
+ */
269
+ escapeRegex(str) {
270
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
271
+ }
272
+ /**
273
+ * Get the table from context by name.
274
+ */
275
+ getTable(ctx, name) {
276
+ return ctx.tables.find((t) => t.name === name);
203
277
  }
204
278
  /**
205
279
  * Execute the grounding process.
206
- * Annotates columns in ctx.tables and ctx.views with low cardinality values.
280
+ * Annotates columns in ctx.tables and ctx.views with values.
207
281
  */
208
282
  async execute(ctx) {
209
283
  const allContainers = [...ctx.tables, ...ctx.views];
210
284
  for (const container of allContainers) {
285
+ const table = this.getTable(ctx, container.name);
211
286
  for (const column of container.columns) {
212
287
  try {
213
- const lowCard = await this.collectLowCardinality(
288
+ const result = await this.resolveColumnValues(
214
289
  container.name,
215
- column
290
+ column,
291
+ table?.constraints
216
292
  );
217
- if (lowCard) {
218
- column.kind = lowCard.kind;
219
- column.values = lowCard.values;
293
+ if (result) {
294
+ column.kind = result.kind;
295
+ column.values = result.values;
220
296
  }
221
297
  } catch (error) {
222
298
  console.warn(
223
- "Error collecting low cardinality values for",
299
+ "Error collecting column values for",
224
300
  container.name,
225
301
  column.name,
226
302
  error
@@ -230,6 +306,28 @@ var LowCardinalityGrounding = class extends AbstractGrounding {
230
306
  }
231
307
  return () => this.#describe();
232
308
  }
309
+ /**
310
+ * Resolve column values from all sources in priority order.
311
+ */
312
+ async resolveColumnValues(tableName, column, constraints2) {
313
+ const enumValues = await this.collectEnumValues(tableName, column);
314
+ if (enumValues?.length) {
315
+ return { kind: "Enum", values: enumValues };
316
+ }
317
+ if (constraints2) {
318
+ for (const constraint of constraints2) {
319
+ const checkValues = this.parseCheckConstraint(constraint, column.name);
320
+ if (checkValues?.length) {
321
+ return { kind: "Enum", values: checkValues };
322
+ }
323
+ }
324
+ }
325
+ const lowCardValues = await this.collectLowCardinality(tableName, column);
326
+ if (lowCardValues?.length) {
327
+ return { kind: "LowCardinality", values: lowCardValues };
328
+ }
329
+ return void 0;
330
+ }
233
331
  #describe() {
234
332
  return null;
235
333
  }
@@ -478,18 +576,61 @@ var TableGrounding = class extends AbstractGrounding {
478
576
  }
479
577
  return tables2.map((table) => {
480
578
  const rowCountInfo = table.rowCount != null ? ` [rows: ${table.rowCount}${table.sizeHint ? `, size: ${table.sizeHint}` : ""}]` : "";
481
- const pkConstraint = table.constraints?.find((c) => c.type === "PRIMARY_KEY");
579
+ const pkConstraint = table.constraints?.find(
580
+ (c) => c.type === "PRIMARY_KEY"
581
+ );
482
582
  const pkColumns = new Set(pkConstraint?.columns ?? []);
583
+ const notNullColumns = new Set(
584
+ table.constraints?.filter((c) => c.type === "NOT_NULL").flatMap((c) => c.columns ?? []) ?? []
585
+ );
586
+ const defaultByColumn = /* @__PURE__ */ new Map();
587
+ for (const c of table.constraints?.filter(
588
+ (c2) => c2.type === "DEFAULT"
589
+ ) ?? []) {
590
+ for (const col of c.columns ?? []) {
591
+ if (c.defaultValue != null) {
592
+ defaultByColumn.set(col, c.defaultValue);
593
+ }
594
+ }
595
+ }
596
+ const uniqueColumns = new Set(
597
+ table.constraints?.filter((c) => c.type === "UNIQUE" && c.columns?.length === 1).flatMap((c) => c.columns ?? []) ?? []
598
+ );
599
+ const fkByColumn = /* @__PURE__ */ new Map();
600
+ for (const c of table.constraints?.filter(
601
+ (c2) => c2.type === "FOREIGN_KEY"
602
+ ) ?? []) {
603
+ const cols = c.columns ?? [];
604
+ const refCols = c.referencedColumns ?? [];
605
+ for (let i = 0; i < cols.length; i++) {
606
+ const refCol = refCols[i] ?? refCols[0] ?? cols[i];
607
+ fkByColumn.set(cols[i], `${c.referencedTable}.${refCol}`);
608
+ }
609
+ }
483
610
  const columns = table.columns.map((column) => {
484
611
  const annotations = [];
485
612
  const isPrimaryKey = pkColumns.has(column.name);
486
613
  if (isPrimaryKey) {
487
614
  annotations.push("PK");
488
615
  }
616
+ if (fkByColumn.has(column.name)) {
617
+ annotations.push(`FK -> ${fkByColumn.get(column.name)}`);
618
+ }
619
+ if (uniqueColumns.has(column.name)) {
620
+ annotations.push("UNIQUE");
621
+ }
622
+ if (notNullColumns.has(column.name)) {
623
+ annotations.push("NOT NULL");
624
+ }
625
+ if (defaultByColumn.has(column.name)) {
626
+ annotations.push(`DEFAULT: ${defaultByColumn.get(column.name)}`);
627
+ }
489
628
  if (column.isIndexed && !isPrimaryKey) {
490
629
  annotations.push("Indexed");
491
630
  }
492
- if (column.kind === "LowCardinality" && column.values?.length) {
631
+ if (column.kind === "Enum" && column.values?.length) {
632
+ annotations.push(`Enum: ${column.values.join(", ")}`);
633
+ } else if (column.kind === "LowCardinality" && column.values?.length) {
493
634
  annotations.push(`LowCardinality: ${column.values.join(", ")}`);
494
635
  }
495
636
  if (column.stats) {
@@ -524,9 +665,19 @@ ${table.indexes.map((index) => {
524
665
  const columnsText = index.columns?.length ? index.columns.join(", ") : "expression";
525
666
  return ` - ${index.name}${propsText}: ${columnsText}`;
526
667
  }).join("\n")}` : "";
668
+ const multiColumnUniques = table.constraints?.filter(
669
+ (c) => c.type === "UNIQUE" && (c.columns?.length ?? 0) > 1
670
+ ) ?? [];
671
+ const uniqueConstraints = multiColumnUniques.length ? `
672
+ Unique Constraints:
673
+ ${multiColumnUniques.map((c) => ` - ${c.name}: (${c.columns?.join(", ")})`).join("\n")}` : "";
674
+ const checkConstraints = table.constraints?.filter((c) => c.type === "CHECK") ?? [];
675
+ const checks = checkConstraints.length ? `
676
+ Check Constraints:
677
+ ${checkConstraints.map((c) => ` - ${c.name}: ${c.definition}`).join("\n")}` : "";
527
678
  return `- Table: ${table.name}${rowCountInfo}
528
679
  Columns:
529
- ${columns}${indexes2}`;
680
+ ${columns}${indexes2}${uniqueConstraints}${checks}`;
530
681
  }).join("\n\n");
531
682
  }
532
683
  #formatTableLabel = (tableName) => {
@@ -699,33 +850,54 @@ var SqliteConstraintGrounding = class extends ConstraintGrounding {
699
850
  `SELECT sql FROM sqlite_master WHERE type='table' AND name=${this.#quoteIdentifier(tableName)}`
700
851
  );
701
852
  if (ddlRows[0]?.sql) {
702
- const checkConstraints = this.#parseCheckConstraints(ddlRows[0].sql, tableName);
853
+ const columnNames = columns.map((c) => c.name);
854
+ const checkConstraints = this.#parseCheckConstraints(
855
+ ddlRows[0].sql,
856
+ tableName,
857
+ columnNames
858
+ );
703
859
  constraints2.push(...checkConstraints);
704
860
  }
705
861
  return constraints2;
706
862
  }
707
- #parseCheckConstraints(ddl, tableName) {
863
+ #parseCheckConstraints(ddl, tableName, columnNames) {
708
864
  const constraints2 = [];
709
- const checkRegex = /(?:CONSTRAINT\s+["'`]?(\w+)["'`]?\s+)?CHECK\s*\(([^)]+)\)/gi;
710
- let match;
865
+ const checkStartRegex = /(?:CONSTRAINT\s+["'`]?(\w+)["'`]?\s+)?CHECK\s*\(/gi;
866
+ let startMatch;
711
867
  let index = 0;
712
- while ((match = checkRegex.exec(ddl)) !== null) {
713
- const name = match[1] || `${tableName}_check_${index}`;
714
- const definition = match[2]?.trim();
715
- if (definition) {
716
- constraints2.push({
717
- name,
718
- type: "CHECK",
719
- definition
720
- });
721
- index++;
868
+ while ((startMatch = checkStartRegex.exec(ddl)) !== null) {
869
+ const name = startMatch[1] || `${tableName}_check_${index}`;
870
+ const startPos = startMatch.index + startMatch[0].length;
871
+ let depth = 1;
872
+ let endPos = startPos;
873
+ while (endPos < ddl.length && depth > 0) {
874
+ if (ddl[endPos] === "(") depth++;
875
+ else if (ddl[endPos] === ")") depth--;
876
+ endPos++;
877
+ }
878
+ if (depth === 0) {
879
+ const definition = ddl.slice(startPos, endPos - 1).trim();
880
+ if (definition) {
881
+ const constraintColumns = columnNames.filter((col) => {
882
+ const colRegex = new RegExp(`\\b${col}\\b`, "i");
883
+ return colRegex.test(definition);
884
+ });
885
+ constraints2.push({
886
+ name,
887
+ type: "CHECK",
888
+ definition,
889
+ columns: constraintColumns.length > 0 ? constraintColumns : void 0
890
+ });
891
+ index++;
892
+ }
722
893
  }
723
894
  }
724
895
  const uniqueRegex = /(?:CONSTRAINT\s+["'`]?(\w+)["'`]?\s+)?UNIQUE\s*\(([^)]+)\)/gi;
725
896
  let uniqueIndex = 0;
726
- while ((match = uniqueRegex.exec(ddl)) !== null) {
727
- const name = match[1] || `${tableName}_unique_${uniqueIndex}`;
728
- const columnsStr = match[2]?.trim();
897
+ let uniqueMatch;
898
+ while ((uniqueMatch = uniqueRegex.exec(ddl)) !== null) {
899
+ const name = uniqueMatch[1] || `${tableName}_unique_${uniqueIndex}`;
900
+ const columnsStr = uniqueMatch[2]?.trim();
729
901
  if (columnsStr) {
730
902
  const columns = columnsStr.split(",").map((c) => c.trim().replace(/["'`]/g, ""));
731
903
  constraints2.push({
@@ -794,9 +966,8 @@ var SqliteInfoGrounding = class extends InfoGrounding {
794
966
  }
795
967
  };
796
968
 
797
- // packages/text2sql/src/lib/adapters/sqlite/low-cardinality.sqlite.grounding.ts
798
- var LOW_CARDINALITY_LIMIT = 20;
799
- var SqliteLowCardinalityGrounding = class extends LowCardinalityGrounding {
969
+ // packages/text2sql/src/lib/adapters/sqlite/column-values.sqlite.grounding.ts
970
+ var SqliteColumnValuesGrounding = class extends ColumnValuesGrounding {
800
971
  #adapter;
801
972
  constructor(adapter, config = {}) {
802
973
  super(config);
@@ -805,7 +976,7 @@ var SqliteLowCardinalityGrounding = class extends LowCardinalityGrounding {
805
976
  async collectLowCardinality(tableName, column) {
806
977
  const tableIdentifier = this.#adapter.quoteIdentifier(tableName);
807
978
  const columnIdentifier = this.#adapter.quoteIdentifier(column.name);
808
- const limit = LOW_CARDINALITY_LIMIT + 1;
979
+ const limit = this.lowCardinalityLimit + 1;
809
980
  const sql = `
810
981
  SELECT DISTINCT ${columnIdentifier} AS value
811
982
  FROM ${tableIdentifier}
@@ -813,7 +984,7 @@ var SqliteLowCardinalityGrounding = class extends LowCardinalityGrounding {
813
984
  LIMIT ${limit}
814
985
  `;
815
986
  const rows = await this.#adapter.runQuery(sql);
816
- if (!rows.length || rows.length > LOW_CARDINALITY_LIMIT) {
987
+ if (!rows.length || rows.length > this.lowCardinalityLimit) {
817
988
  return void 0;
818
989
  }
819
990
  const values = [];
@@ -824,10 +995,7 @@ var SqliteLowCardinalityGrounding = class extends LowCardinalityGrounding {
824
995
  }
825
996
  values.push(formatted);
826
997
  }
827
- if (!values.length) {
828
- return void 0;
829
- }
830
- return { kind: "LowCardinality", values };
998
+ return values.length ? values : void 0;
831
999
  }
832
1000
  #normalizeValue(value) {
833
1001
  if (value === null || value === void 0) {
@@ -965,6 +1133,10 @@ var Sqlite = class extends Adapter {
965
1133
  escape(value) {
966
1134
  return value.replace(/"/g, '""');
967
1135
  }
1136
+ buildSampleRowsQuery(tableName, columns, limit) {
1137
+ const columnList = columns?.length ? columns.map((c) => this.quoteIdentifier(c)).join(", ") : "*";
1138
+ return `SELECT ${columnList} FROM ${this.quoteIdentifier(tableName)} LIMIT ${limit}`;
1139
+ }
968
1140
  };
969
1141
 
970
1142
  // packages/text2sql/src/lib/adapters/sqlite/table.sqlite.grounding.ts
@@ -1163,9 +1335,9 @@ function columnStats(config = {}) {
1163
1335
  return new SqliteColumnStatsGrounding(adapter, config);
1164
1336
  };
1165
1337
  }
1166
- function lowCardinality(config = {}) {
1338
+ function columnValues(config = {}) {
1167
1339
  return (adapter) => {
1168
- return new SqliteLowCardinalityGrounding(adapter, config);
1340
+ return new SqliteColumnValuesGrounding(adapter, config);
1169
1341
  };
1170
1342
  }
1171
1343
  function indexes(config = {}) {
@@ -1191,7 +1363,7 @@ var sqlite_default = {
1191
1363
  info,
1192
1364
  views,
1193
1365
  columnStats,
1194
- lowCardinality,
1366
+ columnValues,
1195
1367
  indexes,
1196
1368
  rowCount,
1197
1369
  constraints,
@@ -1201,12 +1373,12 @@ var sqlite_default = {
1201
1373
  export {
1202
1374
  Sqlite,
1203
1375
  columnStats,
1376
+ columnValues,
1204
1377
  constraints,
1205
1378
  sqlite_default as default,
1206
1379
  formatError,
1207
1380
  indexes,
1208
1381
  info,
1209
- lowCardinality,
1210
1382
  report,
1211
1383
  rowCount,
1212
1384
  tables,