@deepagents/text2sql 0.10.1 → 0.11.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 (98) hide show
  1. package/README.md +32 -41
  2. package/dist/index.d.ts +1 -6
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2338 -2395
  5. package/dist/index.js.map +4 -4
  6. package/dist/lib/adapters/adapter.d.ts +13 -1
  7. package/dist/lib/adapters/adapter.d.ts.map +1 -1
  8. package/dist/lib/adapters/groundings/abstract.grounding.d.ts +19 -3
  9. package/dist/lib/adapters/groundings/abstract.grounding.d.ts.map +1 -1
  10. package/dist/lib/adapters/groundings/column-stats.grounding.d.ts +1 -2
  11. package/dist/lib/adapters/groundings/column-stats.grounding.d.ts.map +1 -1
  12. package/dist/lib/adapters/groundings/column-values.grounding.d.ts +1 -2
  13. package/dist/lib/adapters/groundings/column-values.grounding.d.ts.map +1 -1
  14. package/dist/lib/adapters/groundings/constraint.grounding.d.ts +1 -1
  15. package/dist/lib/adapters/groundings/constraint.grounding.d.ts.map +1 -1
  16. package/dist/lib/adapters/groundings/index.js +15 -222
  17. package/dist/lib/adapters/groundings/index.js.map +3 -3
  18. package/dist/lib/adapters/groundings/indexes.grounding.d.ts +1 -1
  19. package/dist/lib/adapters/groundings/indexes.grounding.d.ts.map +1 -1
  20. package/dist/lib/adapters/groundings/info.grounding.d.ts +1 -1
  21. package/dist/lib/adapters/groundings/info.grounding.d.ts.map +1 -1
  22. package/dist/lib/adapters/groundings/report.grounding.d.ts +1 -1
  23. package/dist/lib/adapters/groundings/report.grounding.d.ts.map +1 -1
  24. package/dist/lib/adapters/groundings/row-count.grounding.d.ts +1 -1
  25. package/dist/lib/adapters/groundings/row-count.grounding.d.ts.map +1 -1
  26. package/dist/lib/adapters/groundings/table.grounding.d.ts +3 -3
  27. package/dist/lib/adapters/groundings/table.grounding.d.ts.map +1 -1
  28. package/dist/lib/adapters/groundings/view.grounding.d.ts +1 -1
  29. package/dist/lib/adapters/groundings/view.grounding.d.ts.map +1 -1
  30. package/dist/lib/adapters/mysql/index.js +343 -315
  31. package/dist/lib/adapters/mysql/index.js.map +4 -4
  32. package/dist/lib/adapters/postgres/index.js +385 -357
  33. package/dist/lib/adapters/postgres/index.js.map +4 -4
  34. package/dist/lib/adapters/spreadsheet/index.js +290 -223
  35. package/dist/lib/adapters/spreadsheet/index.js.map +4 -4
  36. package/dist/lib/adapters/sqlite/index.js +307 -279
  37. package/dist/lib/adapters/sqlite/index.js.map +4 -4
  38. package/dist/lib/adapters/sqlserver/index.js +383 -355
  39. package/dist/lib/adapters/sqlserver/index.js.map +4 -4
  40. package/dist/lib/agents/developer.agent.d.ts +33 -23
  41. package/dist/lib/agents/developer.agent.d.ts.map +1 -1
  42. package/dist/lib/agents/sql.agent.d.ts +4 -4
  43. package/dist/lib/agents/sql.agent.d.ts.map +1 -1
  44. package/dist/lib/agents/teachables.agent.d.ts +2 -2
  45. package/dist/lib/agents/teachables.agent.d.ts.map +1 -1
  46. package/dist/lib/agents/text2sql.agent.d.ts +18 -71
  47. package/dist/lib/agents/text2sql.agent.d.ts.map +1 -1
  48. package/dist/lib/fragments/schema.d.ts +214 -0
  49. package/dist/lib/fragments/schema.d.ts.map +1 -0
  50. package/dist/lib/instructions.d.ts +29 -2
  51. package/dist/lib/instructions.d.ts.map +1 -1
  52. package/dist/lib/instructions.js +336 -319
  53. package/dist/lib/instructions.js.map +4 -4
  54. package/dist/lib/sql.d.ts +13 -103
  55. package/dist/lib/sql.d.ts.map +1 -1
  56. package/dist/lib/synthesis/extractors/base-contextual-extractor.d.ts +2 -2
  57. package/dist/lib/synthesis/extractors/base-contextual-extractor.d.ts.map +1 -1
  58. package/dist/lib/synthesis/extractors/message-extractor.d.ts +1 -2
  59. package/dist/lib/synthesis/extractors/message-extractor.d.ts.map +1 -1
  60. package/dist/lib/synthesis/extractors/sql-extractor.d.ts.map +1 -1
  61. package/dist/lib/synthesis/index.js +1794 -572
  62. package/dist/lib/synthesis/index.js.map +4 -4
  63. package/dist/lib/synthesis/synthesizers/depth-evolver.d.ts.map +1 -1
  64. package/dist/lib/synthesis/synthesizers/persona-generator.d.ts +7 -17
  65. package/dist/lib/synthesis/synthesizers/persona-generator.d.ts.map +1 -1
  66. package/dist/lib/synthesis/synthesizers/schema-synthesizer.d.ts +2 -2
  67. package/dist/lib/synthesis/synthesizers/schema-synthesizer.d.ts.map +1 -1
  68. package/dist/lib/synthesis/synthesizers/teachings-generator.d.ts +8 -20
  69. package/dist/lib/synthesis/synthesizers/teachings-generator.d.ts.map +1 -1
  70. package/dist/lib/teach/teachings.d.ts +2 -2
  71. package/dist/lib/teach/teachings.d.ts.map +1 -1
  72. package/package.json +4 -3
  73. package/dist/lib/agents/chat1.agent.d.ts +0 -50
  74. package/dist/lib/agents/chat1.agent.d.ts.map +0 -1
  75. package/dist/lib/agents/chat2.agent.d.ts +0 -68
  76. package/dist/lib/agents/chat2.agent.d.ts.map +0 -1
  77. package/dist/lib/agents/chat3.agent.d.ts +0 -80
  78. package/dist/lib/agents/chat3.agent.d.ts.map +0 -1
  79. package/dist/lib/agents/chat4.agent.d.ts +0 -88
  80. package/dist/lib/agents/chat4.agent.d.ts.map +0 -1
  81. package/dist/lib/history/history.d.ts +0 -41
  82. package/dist/lib/history/history.d.ts.map +0 -1
  83. package/dist/lib/history/memory.history.d.ts +0 -5
  84. package/dist/lib/history/memory.history.d.ts.map +0 -1
  85. package/dist/lib/history/sqlite.history.d.ts +0 -15
  86. package/dist/lib/history/sqlite.history.d.ts.map +0 -1
  87. package/dist/lib/memory/memory.prompt.d.ts +0 -3
  88. package/dist/lib/memory/memory.prompt.d.ts.map +0 -1
  89. package/dist/lib/memory/memory.store.d.ts +0 -5
  90. package/dist/lib/memory/memory.store.d.ts.map +0 -1
  91. package/dist/lib/memory/sqlite.store.d.ts +0 -14
  92. package/dist/lib/memory/sqlite.store.d.ts.map +0 -1
  93. package/dist/lib/memory/store.d.ts +0 -40
  94. package/dist/lib/memory/store.d.ts.map +0 -1
  95. package/dist/lib/teach/teachables.d.ts +0 -648
  96. package/dist/lib/teach/teachables.d.ts.map +0 -1
  97. package/dist/lib/teach/xml.d.ts +0 -6
  98. package/dist/lib/teach/xml.d.ts.map +0 -1
@@ -1,4 +1,6 @@
1
+ import type { ContextFragment } from '@deepagents/context';
1
2
  import type { AbstractGrounding } from './groundings/abstract.grounding.ts';
3
+ import { type GroundingContext } from './groundings/context.ts';
2
4
  /**
3
5
  * Filter type for view/table names.
4
6
  * - string[]: explicit list of view names
@@ -76,6 +78,7 @@ export type GroundingFn = (adapter: Adapter) => AbstractGrounding;
76
78
  export type ExecuteFunction = (sql: string) => Promise<any> | any;
77
79
  export type ValidateFunction = (sql: string) => Promise<string | void> | string | void;
78
80
  export declare abstract class Adapter {
81
+ #private;
79
82
  abstract grounding: GroundingFn[];
80
83
  /**
81
84
  * Default schema name for this database.
@@ -86,7 +89,16 @@ export declare abstract class Adapter {
86
89
  * System schemas to exclude from introspection by default.
87
90
  */
88
91
  abstract readonly systemSchemas: string[];
89
- introspect(ctx?: import("./groundings/context.ts").GroundingContext): Promise<string>;
92
+ /**
93
+ * Introspect the database schema and return context fragments.
94
+ *
95
+ * Executes all configured groundings to populate the context, then
96
+ * generates fragments from the complete context data.
97
+ *
98
+ * @param ctx - Optional grounding context for sharing state between groundings
99
+ * @returns Array of context fragments representing the database schema
100
+ */
101
+ introspect(ctx?: GroundingContext): Promise<ContextFragment[]>;
90
102
  abstract execute(sql: string): Promise<any[]> | any[];
91
103
  abstract validate(sql: string): Promise<string | void> | string | void;
92
104
  abstract runQuery<Row>(sql: string): Promise<Row[]> | Row[];
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/adapter.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,25 @@ export interface AdapterInfo {
13
13
  details?: Record<string, unknown>;
14
14
  }
15
15
  export type AdapterInfoProvider = AdapterInfo | (() => Promise<AdapterInfo> | AdapterInfo);
16
+ /**
17
+ * Abstract base class for database schema groundings.
18
+ *
19
+ * Groundings collect schema metadata into the shared GroundingContext.
20
+ * Fragment generation is centralized in Adapter.introspect().
21
+ */
16
22
  export declare abstract class AbstractGrounding {
17
- tag: string;
18
- constructor(tag: string);
19
- abstract execute(ctx: GroundingContext): Promise<() => string | null>;
23
+ /**
24
+ * Grounding identifier for debugging/logging.
25
+ */
26
+ name: string;
27
+ constructor(name: string);
28
+ /**
29
+ * Execute grounding to populate the shared context.
30
+ * Groundings mutate ctx to add their collected data (tables, views, indexes, etc).
31
+ * Fragment generation happens centrally in Adapter after all groundings complete.
32
+ *
33
+ * @param ctx - Shared context for accumulating schema data
34
+ */
35
+ abstract execute(ctx: GroundingContext): Promise<void>;
20
36
  }
21
37
  //# sourceMappingURL=abstract.grounding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/abstract.grounding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AACD,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC;AAE/C,8BAAsB,iBAAiB;IACrC,GAAG,EAAE,MAAM,CAAC;gBACA,GAAG,EAAE,MAAM;IAIvB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;CACtE"}
1
+ {"version":3,"file":"abstract.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/abstract.grounding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AACD,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC;AAE/C;;;;;GAKG;AACH,8BAAsB,iBAAiB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM;IAIxB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CACvD"}
@@ -16,7 +16,6 @@ export interface ColumnStatsGroundingConfig {
16
16
  * - `collectStats()` - collect min/max/nullFraction for a column
17
17
  */
18
18
  export declare abstract class ColumnStatsGrounding extends AbstractGrounding {
19
- #private;
20
19
  constructor(config?: ColumnStatsGroundingConfig);
21
20
  /**
22
21
  * Collect min/max/nullFraction statistics for a column.
@@ -27,6 +26,6 @@ export declare abstract class ColumnStatsGrounding extends AbstractGrounding {
27
26
  * Execute the grounding process.
28
27
  * Annotates columns in ctx.tables and ctx.views with statistics.
29
28
  */
30
- execute(ctx: GroundingContext): Promise<() => null>;
29
+ execute(ctx: GroundingContext): Promise<void>;
31
30
  }
32
31
  //# sourceMappingURL=column-stats.grounding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-stats.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/column-stats.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAmB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,0BAA0B;CAE1C;AAED;;;;;;;;GAQG;AACH,8BAAsB,oBAAqB,SAAQ,iBAAiB;;gBACtD,MAAM,GAAE,0BAA+B;IAInD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;CA4BpC"}
1
+ {"version":3,"file":"column-stats.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/column-stats.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAmB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,0BAA0B;CAE1C;AAED;;;;;;;;GAQG;AACH,8BAAsB,oBAAqB,SAAQ,iBAAiB;gBACtD,MAAM,GAAE,0BAA+B;IAInD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBpD"}
@@ -29,7 +29,6 @@ export interface ColumnValuesGroundingConfig {
29
29
  * - `collectLowCardinality()` - collect distinct values via data scan
30
30
  */
31
31
  export declare abstract class ColumnValuesGrounding extends AbstractGrounding {
32
- #private;
33
32
  protected lowCardinalityLimit: number;
34
33
  constructor(config?: ColumnValuesGroundingConfig);
35
34
  /**
@@ -67,7 +66,7 @@ export declare abstract class ColumnValuesGrounding extends AbstractGrounding {
67
66
  * Execute the grounding process.
68
67
  * Annotates columns in ctx.tables and ctx.views with values.
69
68
  */
70
- execute(ctx: GroundingContext): Promise<() => null>;
69
+ execute(ctx: GroundingContext): Promise<void>;
71
70
  /**
72
71
  * Resolve column values from all sources in priority order.
73
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"column-values.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/column-values.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,8BAAsB,qBAAsB,SAAQ,iBAAiB;;IACnE,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAE1B,MAAM,GAAE,2BAAgC;IAKpD;;;;OAIG;cACa,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAIhC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAEhC;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAC5B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,GAAG,SAAS;IAiDvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;IAgCnC;;OAEG;YACW,mBAAmB;CAiClC"}
1
+ {"version":3,"file":"column-values.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/column-values.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,8BAAsB,qBAAsB,SAAQ,iBAAiB;IACnE,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAE1B,MAAM,GAAE,2BAAgC;IAKpD;;;;OAIG;cACa,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAIhC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAEhC;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAC5B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,GAAG,SAAS;IAiDvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnD;;OAEG;YACW,mBAAmB;CA6BlC"}
@@ -26,6 +26,6 @@ export declare abstract class ConstraintGrounding extends AbstractGrounding {
26
26
  * Execute the grounding process.
27
27
  * Annotates tables in ctx.tables with their constraints.
28
28
  */
29
- execute(ctx: GroundingContext): Promise<() => null>;
29
+ execute(ctx: GroundingContext): Promise<void>;
30
30
  }
31
31
  //# sourceMappingURL=constraint.grounding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constraint.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/constraint.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,yBAAyB;CAEzC;AAED;;;;;;;;;GASG;AACH,8BAAsB,mBAAoB,SAAQ,iBAAiB;gBACrD,MAAM,GAAE,yBAA8B;IAIlD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,EAAE,CAAC;IAE7B;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;CAYpC"}
1
+ {"version":3,"file":"constraint.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/constraint.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,yBAAyB;CAEzC;AAED;;;;;;;;;GASG;AACH,8BAAsB,mBAAoB,SAAQ,iBAAiB;gBACrD,MAAM,GAAE,yBAA8B;IAIlD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,EAAE,CAAC;IAE7B;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAUpD"}
@@ -1,15 +1,18 @@
1
1
  // packages/text2sql/src/lib/adapters/groundings/abstract.grounding.ts
2
2
  var AbstractGrounding = class {
3
- tag;
4
- constructor(tag) {
5
- this.tag = tag;
3
+ /**
4
+ * Grounding identifier for debugging/logging.
5
+ */
6
+ name;
7
+ constructor(name) {
8
+ this.name = name;
6
9
  }
7
10
  };
8
11
 
9
12
  // packages/text2sql/src/lib/adapters/groundings/column-stats.grounding.ts
10
13
  var ColumnStatsGrounding = class extends AbstractGrounding {
11
14
  constructor(config = {}) {
12
- super("column_stats");
15
+ super("columnStats");
13
16
  }
14
17
  /**
15
18
  * Execute the grounding process.
@@ -34,10 +37,6 @@ var ColumnStatsGrounding = class extends AbstractGrounding {
34
37
  }
35
38
  }
36
39
  }
37
- return () => this.#describe();
38
- }
39
- #describe() {
40
- return null;
41
40
  }
42
41
  };
43
42
 
@@ -45,7 +44,7 @@ var ColumnStatsGrounding = class extends AbstractGrounding {
45
44
  var ColumnValuesGrounding = class extends AbstractGrounding {
46
45
  lowCardinalityLimit;
47
46
  constructor(config = {}) {
48
- super("column_values");
47
+ super("columnValues");
49
48
  this.lowCardinalityLimit = config.lowCardinalityLimit ?? 20;
50
49
  }
51
50
  /**
@@ -150,7 +149,6 @@ var ColumnValuesGrounding = class extends AbstractGrounding {
150
149
  }
151
150
  }
152
151
  }
153
- return () => this.#describe();
154
152
  }
155
153
  /**
156
154
  * Resolve column values from all sources in priority order.
@@ -174,15 +172,12 @@ var ColumnValuesGrounding = class extends AbstractGrounding {
174
172
  }
175
173
  return void 0;
176
174
  }
177
- #describe() {
178
- return null;
179
- }
180
175
  };
181
176
 
182
177
  // packages/text2sql/src/lib/adapters/groundings/constraint.grounding.ts
183
178
  var ConstraintGrounding = class extends AbstractGrounding {
184
179
  constructor(config = {}) {
185
- super("constraints");
180
+ super("constraint");
186
181
  }
187
182
  /**
188
183
  * Execute the grounding process.
@@ -196,7 +191,6 @@ var ConstraintGrounding = class extends AbstractGrounding {
196
191
  console.warn("Error collecting constraints for", table.name, error);
197
192
  }
198
193
  }
199
- return () => null;
200
194
  }
201
195
  };
202
196
 
@@ -213,7 +207,7 @@ function createGroundingContext() {
213
207
  // packages/text2sql/src/lib/adapters/groundings/info.grounding.ts
214
208
  var InfoGrounding = class extends AbstractGrounding {
215
209
  constructor(config = {}) {
216
- super("dialect_info");
210
+ super("dialectInfo");
217
211
  }
218
212
  /**
219
213
  * Execute the grounding process.
@@ -221,17 +215,6 @@ var InfoGrounding = class extends AbstractGrounding {
221
215
  */
222
216
  async execute(ctx) {
223
217
  ctx.info = await this.collectInfo();
224
- const lines = [`Dialect: ${ctx.info.dialect ?? "unknown"}`];
225
- if (ctx.info.version) {
226
- lines.push(`Version: ${ctx.info.version}`);
227
- }
228
- if (ctx.info.database) {
229
- lines.push(`Database: ${ctx.info.database}`);
230
- }
231
- if (ctx.info.details && Object.keys(ctx.info.details).length) {
232
- lines.push(`Details: ${JSON.stringify(ctx.info.details)}`);
233
- }
234
- return () => lines.join("\n");
235
218
  }
236
219
  };
237
220
 
@@ -304,7 +287,7 @@ var ReportGrounding = class extends AbstractGrounding {
304
287
  const cached = await this.#cache.get();
305
288
  if (cached) {
306
289
  ctx.report = cached;
307
- return () => cached;
290
+ return;
308
291
  }
309
292
  }
310
293
  const report = await this.#generateReport();
@@ -312,7 +295,6 @@ var ReportGrounding = class extends AbstractGrounding {
312
295
  if (this.#cache) {
313
296
  await this.#cache.set(report);
314
297
  }
315
- return () => report;
316
298
  }
317
299
  async #generateReport() {
318
300
  const { text } = await generate(
@@ -331,7 +313,7 @@ var ReportGrounding = class extends AbstractGrounding {
331
313
  // packages/text2sql/src/lib/adapters/groundings/row-count.grounding.ts
332
314
  var RowCountGrounding = class extends AbstractGrounding {
333
315
  constructor(config = {}) {
334
- super("row_counts");
316
+ super("rowCount");
335
317
  }
336
318
  /**
337
319
  * Execute the grounding process.
@@ -345,7 +327,6 @@ var RowCountGrounding = class extends AbstractGrounding {
345
327
  table.sizeHint = this.#classifyRowCount(count);
346
328
  }
347
329
  }
348
- return () => null;
349
330
  }
350
331
  /**
351
332
  * Classify row count into a size hint category.
@@ -360,13 +341,12 @@ var RowCountGrounding = class extends AbstractGrounding {
360
341
  };
361
342
 
362
343
  // packages/text2sql/src/lib/adapters/groundings/table.grounding.ts
363
- import pluralize from "pluralize";
364
344
  var TableGrounding = class extends AbstractGrounding {
365
345
  #filter;
366
346
  #forward;
367
347
  #backward;
368
348
  constructor(config = {}) {
369
- super("tables");
349
+ super("table");
370
350
  this.#filter = config.filter;
371
351
  this.#forward = config.forward;
372
352
  this.#backward = config.backward;
@@ -384,7 +364,7 @@ var TableGrounding = class extends AbstractGrounding {
384
364
  seedTables.map((name) => this.getTable(name))
385
365
  );
386
366
  ctx.tables.push(...tables2);
387
- return () => this.#describeTables(tables2);
367
+ return;
388
368
  }
389
369
  const tables = {};
390
370
  const allRelationships = [];
@@ -440,7 +420,6 @@ var TableGrounding = class extends AbstractGrounding {
440
420
  const tablesList = Object.values(tables);
441
421
  ctx.tables.push(...tablesList);
442
422
  ctx.relationships.push(...allRelationships);
443
- return () => this.#describeTables(tablesList);
444
423
  }
445
424
  /**
446
425
  * Apply the filter to get seed table names.
@@ -470,163 +449,13 @@ var TableGrounding = class extends AbstractGrounding {
470
449
  all.push(rel);
471
450
  }
472
451
  }
473
- #describeTables(tables) {
474
- if (!tables.length) {
475
- return "Schema unavailable.";
476
- }
477
- return tables.map((table) => {
478
- const rowCountInfo = table.rowCount != null ? ` [rows: ${table.rowCount}${table.sizeHint ? `, size: ${table.sizeHint}` : ""}]` : "";
479
- const pkConstraint = table.constraints?.find(
480
- (c) => c.type === "PRIMARY_KEY"
481
- );
482
- const pkColumns = new Set(pkConstraint?.columns ?? []);
483
- const notNullColumns = new Set(
484
- table.constraints?.filter((c) => c.type === "NOT_NULL").flatMap((c) => c.columns ?? []) ?? []
485
- );
486
- const defaultByColumn = /* @__PURE__ */ new Map();
487
- for (const c of table.constraints?.filter(
488
- (c2) => c2.type === "DEFAULT"
489
- ) ?? []) {
490
- for (const col of c.columns ?? []) {
491
- if (c.defaultValue != null) {
492
- defaultByColumn.set(col, c.defaultValue);
493
- }
494
- }
495
- }
496
- const uniqueColumns = new Set(
497
- table.constraints?.filter((c) => c.type === "UNIQUE" && c.columns?.length === 1).flatMap((c) => c.columns ?? []) ?? []
498
- );
499
- const fkByColumn = /* @__PURE__ */ new Map();
500
- for (const c of table.constraints?.filter(
501
- (c2) => c2.type === "FOREIGN_KEY"
502
- ) ?? []) {
503
- const cols = c.columns ?? [];
504
- const refCols = c.referencedColumns ?? [];
505
- for (let i = 0; i < cols.length; i++) {
506
- const refCol = refCols[i] ?? refCols[0] ?? cols[i];
507
- fkByColumn.set(cols[i], `${c.referencedTable}.${refCol}`);
508
- }
509
- }
510
- const columns = table.columns.map((column) => {
511
- const annotations = [];
512
- const isPrimaryKey = pkColumns.has(column.name);
513
- if (isPrimaryKey) {
514
- annotations.push("PK");
515
- }
516
- if (fkByColumn.has(column.name)) {
517
- annotations.push(`FK -> ${fkByColumn.get(column.name)}`);
518
- }
519
- if (uniqueColumns.has(column.name)) {
520
- annotations.push("UNIQUE");
521
- }
522
- if (notNullColumns.has(column.name)) {
523
- annotations.push("NOT NULL");
524
- }
525
- if (defaultByColumn.has(column.name)) {
526
- annotations.push(`DEFAULT: ${defaultByColumn.get(column.name)}`);
527
- }
528
- if (column.isIndexed && !isPrimaryKey) {
529
- annotations.push("Indexed");
530
- }
531
- if (column.kind === "Enum" && column.values?.length) {
532
- annotations.push(`Enum: ${column.values.join(", ")}`);
533
- } else if (column.kind === "LowCardinality" && column.values?.length) {
534
- annotations.push(`LowCardinality: ${column.values.join(", ")}`);
535
- }
536
- if (column.stats) {
537
- const statParts = [];
538
- if (column.stats.min != null || column.stats.max != null) {
539
- const minText = column.stats.min ?? "n/a";
540
- const maxText = column.stats.max ?? "n/a";
541
- statParts.push(`range ${minText} \u2192 ${maxText}`);
542
- }
543
- if (column.stats.nullFraction != null && Number.isFinite(column.stats.nullFraction)) {
544
- const percent = Math.round(column.stats.nullFraction * 1e3) / 10;
545
- statParts.push(`null\u2248${percent}%`);
546
- }
547
- if (statParts.length) {
548
- annotations.push(statParts.join(", "));
549
- }
550
- }
551
- const annotationText = annotations.length ? ` [${annotations.join(", ")}]` : "";
552
- return ` - ${column.name} (${column.type})${annotationText}`;
553
- }).join("\n");
554
- const indexes = table.indexes?.length ? `
555
- Indexes:
556
- ${table.indexes.map((index) => {
557
- const props = [];
558
- if (index.unique) {
559
- props.push("UNIQUE");
560
- }
561
- if (index.type) {
562
- props.push(index.type);
563
- }
564
- const propsText = props.length ? ` (${props.join(", ")})` : "";
565
- const columnsText = index.columns?.length ? index.columns.join(", ") : "expression";
566
- return ` - ${index.name}${propsText}: ${columnsText}`;
567
- }).join("\n")}` : "";
568
- const multiColumnUniques = table.constraints?.filter(
569
- (c) => c.type === "UNIQUE" && (c.columns?.length ?? 0) > 1
570
- ) ?? [];
571
- const uniqueConstraints = multiColumnUniques.length ? `
572
- Unique Constraints:
573
- ${multiColumnUniques.map((c) => ` - ${c.name}: (${c.columns?.join(", ")})`).join("\n")}` : "";
574
- const checkConstraints = table.constraints?.filter((c) => c.type === "CHECK") ?? [];
575
- const checks = checkConstraints.length ? `
576
- Check Constraints:
577
- ${checkConstraints.map((c) => ` - ${c.name}: ${c.definition}`).join("\n")}` : "";
578
- return `- Table: ${table.name}${rowCountInfo}
579
- Columns:
580
- ${columns}${indexes}${uniqueConstraints}${checks}`;
581
- }).join("\n\n");
582
- }
583
- #formatTableLabel = (tableName) => {
584
- const base = tableName.split(".").pop() ?? tableName;
585
- return base.replace(/_/g, " ");
586
- };
587
- #describeRelationships = (tables, relationships) => {
588
- if (!relationships.length) {
589
- return "None detected";
590
- }
591
- const tableMap = new Map(tables.map((table) => [table.name, table]));
592
- return relationships.map((relationship) => {
593
- const sourceLabel = this.#formatTableLabel(relationship.table);
594
- const targetLabel = this.#formatTableLabel(
595
- relationship.referenced_table
596
- );
597
- const singularSource = pluralize.singular(sourceLabel);
598
- const pluralSource = pluralize.plural(sourceLabel);
599
- const singularTarget = pluralize.singular(targetLabel);
600
- const pluralTarget = pluralize.plural(targetLabel);
601
- const sourceTable = tableMap.get(relationship.table);
602
- const targetTable = tableMap.get(relationship.referenced_table);
603
- const sourceCount = sourceTable?.rowCount;
604
- const targetCount = targetTable?.rowCount;
605
- const ratio = sourceCount != null && targetCount != null && targetCount > 0 ? sourceCount / targetCount : null;
606
- let cardinality = "each";
607
- if (ratio != null) {
608
- if (ratio > 5) {
609
- cardinality = `many-to-one (\u2248${sourceCount} vs ${targetCount})`;
610
- } else if (ratio < 1.2 && ratio > 0.8) {
611
- cardinality = `roughly 1:1 (${sourceCount} vs ${targetCount})`;
612
- } else if (ratio < 0.2) {
613
- cardinality = `one-to-many (${sourceCount} vs ${targetCount})`;
614
- }
615
- }
616
- const mappings = relationship.from.map((fromCol, idx) => {
617
- const targetCol = relationship.to[idx] ?? relationship.to[0] ?? fromCol;
618
- return `${relationship.table}.${fromCol} -> ${relationship.referenced_table}.${targetCol}`;
619
- }).join(", ");
620
- return `- ${relationship.table} (${relationship.from.join(", ")}) -> ${relationship.referenced_table} (${relationship.to.join(", ")}) [${cardinality}]`;
621
- }).join("\n");
622
- };
623
452
  };
624
453
 
625
454
  // packages/text2sql/src/lib/adapters/groundings/view.grounding.ts
626
455
  var ViewGrounding = class extends AbstractGrounding {
627
456
  #filter;
628
457
  constructor(config = {}) {
629
- super("views");
458
+ super("view");
630
459
  this.#filter = config.filter;
631
460
  }
632
461
  /**
@@ -639,42 +468,6 @@ var ViewGrounding = class extends AbstractGrounding {
639
468
  viewNames.map((name) => this.getView(name))
640
469
  );
641
470
  ctx.views.push(...views);
642
- return () => this.#describe(views);
643
- }
644
- #describe(views) {
645
- if (!views.length) {
646
- return "No views available.";
647
- }
648
- return views.map((view) => {
649
- const columns = view.columns.map((column) => {
650
- const annotations = [];
651
- if (column.kind === "LowCardinality" && column.values?.length) {
652
- annotations.push(`LowCardinality: ${column.values.join(", ")}`);
653
- }
654
- if (column.stats) {
655
- const statParts = [];
656
- if (column.stats.min != null || column.stats.max != null) {
657
- const minText = column.stats.min ?? "n/a";
658
- const maxText = column.stats.max ?? "n/a";
659
- statParts.push(`range ${minText} \u2192 ${maxText}`);
660
- }
661
- if (column.stats.nullFraction != null && Number.isFinite(column.stats.nullFraction)) {
662
- const percent = Math.round(column.stats.nullFraction * 1e3) / 10;
663
- statParts.push(`null\u2248${percent}%`);
664
- }
665
- if (statParts.length) {
666
- annotations.push(statParts.join(", "));
667
- }
668
- }
669
- const annotationText = annotations.length ? ` [${annotations.join(", ")}]` : "";
670
- return ` - ${column.name} (${column.type})${annotationText}`;
671
- }).join("\n");
672
- const definition = view.definition ? `
673
- Definition: ${view.definition.length > 200 ? view.definition.slice(0, 200) + "..." : view.definition}` : "";
674
- return `- View: ${view.name}${definition}
675
- Columns:
676
- ${columns}`;
677
- }).join("\n\n");
678
471
  }
679
472
  /**
680
473
  * Apply the filter to get view names.