@deepagents/text2sql 0.2.3 → 0.3.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 (139) hide show
  1. package/dist/index.d.ts +7 -9
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +882 -2730
  4. package/dist/index.js.map +4 -4
  5. package/dist/lib/adapters/adapter.d.ts +67 -10
  6. package/dist/lib/adapters/adapter.d.ts.map +1 -1
  7. package/dist/lib/adapters/grounding.ticket.d.ts +21 -0
  8. package/dist/lib/adapters/grounding.ticket.d.ts.map +1 -0
  9. package/dist/lib/adapters/groundings/column-stats.grounding.d.ts +32 -0
  10. package/dist/lib/adapters/groundings/column-stats.grounding.d.ts.map +1 -0
  11. package/dist/lib/adapters/groundings/constraint.grounding.d.ts +31 -0
  12. package/dist/lib/adapters/groundings/constraint.grounding.d.ts.map +1 -0
  13. package/dist/lib/adapters/groundings/context.d.ts +41 -0
  14. package/dist/lib/adapters/groundings/context.d.ts.map +1 -0
  15. package/dist/lib/adapters/groundings/grounding.d.ts +8 -0
  16. package/dist/lib/adapters/groundings/grounding.d.ts.map +1 -0
  17. package/dist/lib/adapters/groundings/grounding.js +507 -0
  18. package/dist/lib/adapters/groundings/grounding.js.map +7 -0
  19. package/dist/lib/adapters/groundings/indexes.grounding.d.ts +30 -0
  20. package/dist/lib/adapters/groundings/indexes.grounding.d.ts.map +1 -0
  21. package/dist/lib/adapters/groundings/info.grounding.d.ts +29 -0
  22. package/dist/lib/adapters/groundings/info.grounding.d.ts.map +1 -0
  23. package/dist/lib/adapters/groundings/low-cardinality.grounding.d.ts +35 -0
  24. package/dist/lib/adapters/groundings/low-cardinality.grounding.d.ts.map +1 -0
  25. package/dist/lib/adapters/groundings/report.grounding.d.ts +38 -0
  26. package/dist/lib/adapters/groundings/report.grounding.d.ts.map +1 -0
  27. package/dist/lib/adapters/groundings/row-count.grounding.d.ts +30 -0
  28. package/dist/lib/adapters/groundings/row-count.grounding.d.ts.map +1 -0
  29. package/dist/lib/adapters/groundings/table.grounding.d.ts +61 -0
  30. package/dist/lib/adapters/groundings/table.grounding.d.ts.map +1 -0
  31. package/dist/lib/adapters/groundings/view.grounding.d.ts +57 -0
  32. package/dist/lib/adapters/groundings/view.grounding.d.ts.map +1 -0
  33. package/dist/lib/adapters/postgres/column-stats.postgres.grounding.d.ts +12 -0
  34. package/dist/lib/adapters/postgres/column-stats.postgres.grounding.d.ts.map +1 -0
  35. package/dist/lib/adapters/postgres/constraint.postgres.grounding.d.ts +11 -0
  36. package/dist/lib/adapters/postgres/constraint.postgres.grounding.d.ts.map +1 -0
  37. package/dist/lib/adapters/postgres/index.d.ts +43 -0
  38. package/dist/lib/adapters/postgres/index.d.ts.map +1 -0
  39. package/dist/lib/adapters/postgres/index.js +1640 -0
  40. package/dist/lib/adapters/postgres/index.js.map +7 -0
  41. package/dist/lib/adapters/postgres/indexes.postgres.grounding.d.ts +15 -0
  42. package/dist/lib/adapters/postgres/indexes.postgres.grounding.d.ts.map +1 -0
  43. package/dist/lib/adapters/postgres/info.postgres.grounding.d.ts +11 -0
  44. package/dist/lib/adapters/postgres/info.postgres.grounding.d.ts.map +1 -0
  45. package/dist/lib/adapters/postgres/low-cardinality.postgres.grounding.d.ts +14 -0
  46. package/dist/lib/adapters/postgres/low-cardinality.postgres.grounding.d.ts.map +1 -0
  47. package/dist/lib/adapters/postgres/postgres.d.ts +26 -0
  48. package/dist/lib/adapters/postgres/postgres.d.ts.map +1 -0
  49. package/dist/lib/adapters/postgres/row-count.postgres.grounding.d.ts +11 -0
  50. package/dist/lib/adapters/postgres/row-count.postgres.grounding.d.ts.map +1 -0
  51. package/dist/lib/adapters/postgres/table.postgres.grounding.d.ts +21 -0
  52. package/dist/lib/adapters/postgres/table.postgres.grounding.d.ts.map +1 -0
  53. package/dist/lib/adapters/postgres/view.postgres.grounding.d.ts +16 -0
  54. package/dist/lib/adapters/postgres/view.postgres.grounding.d.ts.map +1 -0
  55. package/dist/lib/adapters/sqlite/column-stats.sqlite.grounding.d.ts +12 -0
  56. package/dist/lib/adapters/sqlite/column-stats.sqlite.grounding.d.ts.map +1 -0
  57. package/dist/lib/adapters/sqlite/constraint.sqlite.grounding.d.ts +15 -0
  58. package/dist/lib/adapters/sqlite/constraint.sqlite.grounding.d.ts.map +1 -0
  59. package/dist/lib/adapters/sqlite/index.d.ts +43 -0
  60. package/dist/lib/adapters/sqlite/index.d.ts.map +1 -0
  61. package/dist/lib/adapters/sqlite/index.js +1215 -0
  62. package/dist/lib/adapters/sqlite/index.js.map +7 -0
  63. package/dist/lib/adapters/sqlite/indexes.sqlite.grounding.d.ts +11 -0
  64. package/dist/lib/adapters/sqlite/indexes.sqlite.grounding.d.ts.map +1 -0
  65. package/dist/lib/adapters/sqlite/info.sqlite.grounding.d.ts +11 -0
  66. package/dist/lib/adapters/sqlite/info.sqlite.grounding.d.ts.map +1 -0
  67. package/dist/lib/adapters/sqlite/low-cardinality.sqlite.grounding.d.ts +14 -0
  68. package/dist/lib/adapters/sqlite/low-cardinality.sqlite.grounding.d.ts.map +1 -0
  69. package/dist/lib/adapters/sqlite/row-count.sqlite.grounding.d.ts +11 -0
  70. package/dist/lib/adapters/sqlite/row-count.sqlite.grounding.d.ts.map +1 -0
  71. package/dist/lib/adapters/sqlite/sqlite.d.ts +25 -0
  72. package/dist/lib/adapters/sqlite/sqlite.d.ts.map +1 -0
  73. package/dist/lib/adapters/sqlite/table.sqlite.grounding.d.ts +17 -0
  74. package/dist/lib/adapters/sqlite/table.sqlite.grounding.d.ts.map +1 -0
  75. package/dist/lib/adapters/sqlite/view.sqlite.grounding.d.ts +12 -0
  76. package/dist/lib/adapters/sqlite/view.sqlite.grounding.d.ts.map +1 -0
  77. package/dist/lib/adapters/sqlserver/column-stats.sqlserver.grounding.d.ts +12 -0
  78. package/dist/lib/adapters/sqlserver/column-stats.sqlserver.grounding.d.ts.map +1 -0
  79. package/dist/lib/adapters/sqlserver/constraint.sqlserver.grounding.d.ts +11 -0
  80. package/dist/lib/adapters/sqlserver/constraint.sqlserver.grounding.d.ts.map +1 -0
  81. package/dist/lib/adapters/sqlserver/index.d.ts +43 -0
  82. package/dist/lib/adapters/sqlserver/index.d.ts.map +1 -0
  83. package/dist/lib/adapters/sqlserver/index.js +1693 -0
  84. package/dist/lib/adapters/sqlserver/index.js.map +7 -0
  85. package/dist/lib/adapters/sqlserver/indexes.sqlserver.grounding.d.ts +15 -0
  86. package/dist/lib/adapters/sqlserver/indexes.sqlserver.grounding.d.ts.map +1 -0
  87. package/dist/lib/adapters/sqlserver/info.sqlserver.grounding.d.ts +11 -0
  88. package/dist/lib/adapters/sqlserver/info.sqlserver.grounding.d.ts.map +1 -0
  89. package/dist/lib/adapters/sqlserver/low-cardinality.sqlserver.grounding.d.ts +14 -0
  90. package/dist/lib/adapters/sqlserver/low-cardinality.sqlserver.grounding.d.ts.map +1 -0
  91. package/dist/lib/adapters/sqlserver/row-count.sqlserver.grounding.d.ts +11 -0
  92. package/dist/lib/adapters/sqlserver/row-count.sqlserver.grounding.d.ts.map +1 -0
  93. package/dist/lib/adapters/sqlserver/sqlserver.d.ts +26 -0
  94. package/dist/lib/adapters/sqlserver/sqlserver.d.ts.map +1 -0
  95. package/dist/lib/adapters/sqlserver/table.sqlserver.grounding.d.ts +21 -0
  96. package/dist/lib/adapters/sqlserver/table.sqlserver.grounding.d.ts.map +1 -0
  97. package/dist/lib/adapters/sqlserver/view.sqlserver.grounding.d.ts +16 -0
  98. package/dist/lib/adapters/sqlserver/view.sqlserver.grounding.d.ts.map +1 -0
  99. package/dist/lib/agents/suggestions.agents.d.ts +0 -2
  100. package/dist/lib/agents/suggestions.agents.d.ts.map +1 -1
  101. package/dist/lib/agents/teachables.agent.d.ts +0 -3
  102. package/dist/lib/agents/teachables.agent.d.ts.map +1 -1
  103. package/dist/lib/agents/text2sql.agent.d.ts +69 -29
  104. package/dist/lib/agents/text2sql.agent.d.ts.map +1 -1
  105. package/dist/lib/file-cache.d.ts +12 -0
  106. package/dist/lib/file-cache.d.ts.map +1 -0
  107. package/dist/lib/instructions.d.ts +3 -0
  108. package/dist/lib/instructions.d.ts.map +1 -0
  109. package/dist/lib/instructions.js +386 -0
  110. package/dist/lib/instructions.js.map +7 -0
  111. package/dist/lib/memory/memory.prompt.d.ts +3 -0
  112. package/dist/lib/memory/memory.prompt.d.ts.map +1 -0
  113. package/dist/lib/memory/memory.store.d.ts +5 -0
  114. package/dist/lib/memory/memory.store.d.ts.map +1 -0
  115. package/dist/lib/memory/sqlite.store.d.ts +14 -0
  116. package/dist/lib/memory/sqlite.store.d.ts.map +1 -0
  117. package/dist/lib/memory/store.d.ts +40 -0
  118. package/dist/lib/memory/store.d.ts.map +1 -0
  119. package/dist/lib/prompt.d.ts +1 -6
  120. package/dist/lib/prompt.d.ts.map +1 -1
  121. package/dist/lib/sql.d.ts +26 -35
  122. package/dist/lib/sql.d.ts.map +1 -1
  123. package/dist/lib/teach/teachables.d.ts +184 -13
  124. package/dist/lib/teach/teachables.d.ts.map +1 -1
  125. package/dist/lib/teach/teachings.d.ts.map +1 -1
  126. package/dist/lib/teach/xml.d.ts.map +1 -1
  127. package/package.json +38 -4
  128. package/dist/lib/adapters/postgres.d.ts +0 -31
  129. package/dist/lib/adapters/postgres.d.ts.map +0 -1
  130. package/dist/lib/adapters/resolveTables.spec.d.ts +0 -2
  131. package/dist/lib/adapters/resolveTables.spec.d.ts.map +0 -1
  132. package/dist/lib/adapters/sqlite.d.ts +0 -30
  133. package/dist/lib/adapters/sqlite.d.ts.map +0 -1
  134. package/dist/lib/adapters/sqlserver.d.ts +0 -31
  135. package/dist/lib/adapters/sqlserver.d.ts.map +0 -1
  136. package/dist/lib/agents/brief.agent.d.ts +0 -21
  137. package/dist/lib/agents/brief.agent.d.ts.map +0 -1
  138. package/dist/lib/memory/user-profile.d.ts +0 -39
  139. package/dist/lib/memory/user-profile.d.ts.map +0 -1
@@ -0,0 +1,35 @@
1
+ import { AbstractGrounding } from '../grounding.ticket.ts';
2
+ import type { Column, ColumnContainer, GroundingContext } from './context.ts';
3
+ export type { Column, ColumnContainer };
4
+ /**
5
+ * Configuration for LowCardinalityGrounding.
6
+ */
7
+ export interface LowCardinalityGroundingConfig {
8
+ }
9
+ /**
10
+ * Abstract base class for low cardinality column grounding.
11
+ *
12
+ * Reads tables and views from the context and annotates their columns
13
+ * with low cardinality values (columns with few distinct values).
14
+ *
15
+ * Subclasses implement database-specific hooks:
16
+ * - `collectLowCardinality()` - collect distinct values for low cardinality columns
17
+ */
18
+ export declare abstract class LowCardinalityGrounding extends AbstractGrounding {
19
+ #private;
20
+ constructor(config?: LowCardinalityGroundingConfig);
21
+ /**
22
+ * Collect distinct values for low cardinality columns.
23
+ * Return undefined if column has too many distinct values.
24
+ */
25
+ protected abstract collectLowCardinality(tableName: string, column: Column): Promise<{
26
+ kind: 'LowCardinality';
27
+ values: string[];
28
+ } | undefined>;
29
+ /**
30
+ * Execute the grounding process.
31
+ * Annotates columns in ctx.tables and ctx.views with low cardinality values.
32
+ */
33
+ execute(ctx: GroundingContext): Promise<() => null>;
34
+ }
35
+ //# sourceMappingURL=low-cardinality.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"low-cardinality.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/low-cardinality.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,6BAA6B;CAE7C;AAED;;;;;;;;GAQG;AACH,8BAAsB,uBAAwB,SAAQ,iBAAiB;;gBACzD,MAAM,GAAE,6BAAkC;IAItD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IAEpE;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;CAgCpC"}
@@ -0,0 +1,38 @@
1
+ import { type AgentModel } from '@deepagents/agent';
2
+ import type { Adapter } from '../adapter.ts';
3
+ import { AbstractGrounding } from '../grounding.ticket.ts';
4
+ import type { GroundingContext } from './context.ts';
5
+ /**
6
+ * Cache interface for storing generated reports.
7
+ */
8
+ export interface ReportCache {
9
+ get(): Promise<string | null>;
10
+ set(value: string): Promise<void>;
11
+ }
12
+ /**
13
+ * Configuration for ReportGrounding.
14
+ */
15
+ export interface ReportGroundingConfig {
16
+ /** LLM model to use for generating the report */
17
+ model?: AgentModel;
18
+ /** Optional cache for storing generated reports */
19
+ cache?: ReportCache;
20
+ /** Force regeneration even if cached */
21
+ forceRefresh?: boolean;
22
+ }
23
+ /**
24
+ * Grounding that generates a business context report about the database.
25
+ *
26
+ * Uses an LLM agent to:
27
+ * 1. Query COUNT(*) for each table
28
+ * 2. Query SELECT * LIMIT 3 for sample data
29
+ * 3. Generate a 400-600 word business context report
30
+ *
31
+ * The report helps downstream agents understand what the database represents.
32
+ */
33
+ export declare class ReportGrounding extends AbstractGrounding {
34
+ #private;
35
+ constructor(adapter: Adapter, config?: ReportGroundingConfig);
36
+ execute(ctx: GroundingContext): Promise<() => string | null>;
37
+ }
38
+ //# sourceMappingURL=report.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/report.grounding.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,UAAU,EAKhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wCAAwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;;gBAMxC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,qBAAwB;IAQxD,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;CAkFnE"}
@@ -0,0 +1,30 @@
1
+ import { AbstractGrounding } from '../grounding.ticket.ts';
2
+ import type { GroundingContext } from './context.ts';
3
+ /**
4
+ * Configuration for RowCountGrounding.
5
+ */
6
+ export interface RowCountGroundingConfig {
7
+ }
8
+ /**
9
+ * Abstract base class for row count grounding.
10
+ *
11
+ * Reads tables from the context and annotates them with row counts and size hints.
12
+ * This grounding must run AFTER TableGrounding since it reads from ctx.tables.
13
+ *
14
+ * Subclasses implement the database-specific hook:
15
+ * - `getRowCount()` - get row count for a table
16
+ */
17
+ export declare abstract class RowCountGrounding extends AbstractGrounding {
18
+ #private;
19
+ constructor(config?: RowCountGroundingConfig);
20
+ /**
21
+ * Get row count for a specific table.
22
+ */
23
+ protected abstract getRowCount(tableName: string): Promise<number | undefined>;
24
+ /**
25
+ * Execute the grounding process.
26
+ * Annotates tables in ctx.tables with row counts and size hints.
27
+ */
28
+ execute(ctx: GroundingContext): Promise<() => null>;
29
+ }
30
+ //# sourceMappingURL=row-count.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-count.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/row-count.grounding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,uBAAuB;CAEvC;AAED;;;;;;;;GAQG;AACH,8BAAsB,iBAAkB,SAAQ,iBAAiB;;gBACnD,MAAM,GAAE,uBAA4B;IAIhD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAE9B;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;CAsBpC"}
@@ -0,0 +1,61 @@
1
+ import type { Filter, Relationship, Table } from '../adapter.ts';
2
+ import { AbstractGrounding } from '../grounding.ticket.ts';
3
+ import type { GroundingContext } from './context.ts';
4
+ /**
5
+ * Configuration for TableGrounding.
6
+ */
7
+ export interface TableGroundingConfig {
8
+ /** Filter to select seed tables */
9
+ filter?: Filter;
10
+ /**
11
+ * Traverse forward (child�parent) following FK direction.
12
+ * - true: unlimited depth
13
+ * - number: maximum depth
14
+ * - false/undefined: no forward traversal
15
+ */
16
+ forward?: boolean | number;
17
+ /**
18
+ * Traverse backward (parent�child) finding tables that reference us.
19
+ * - true: unlimited depth
20
+ * - number: maximum depth
21
+ * - false/undefined: no backward traversal
22
+ */
23
+ backward?: boolean | number;
24
+ }
25
+ /**
26
+ * Abstract base class for table grounding.
27
+ *
28
+ * The `execute()` method implements a BFS traversal algorithm that discovers
29
+ * tables and relationships. Subclasses implement the database-specific hooks:
30
+ * - `getAllTableNames()` - list all tables
31
+ * - `getTable()` - get table metadata
32
+ * - `findOutgoingRelations()` - find FKs FROM a table
33
+ * - `findIncomingRelations()` - find FKs TO a table
34
+ */
35
+ export declare abstract class TableGrounding extends AbstractGrounding {
36
+ #private;
37
+ constructor(config?: TableGroundingConfig);
38
+ /** Get all table names in the database */
39
+ protected abstract getAllTableNames(): Promise<string[]>;
40
+ /** Get full table metadata for a single table */
41
+ protected abstract getTable(tableName: string): Promise<Table>;
42
+ /** Find FKs FROM this table (outgoing relationships) */
43
+ protected abstract findOutgoingRelations(tableName: string): Promise<Relationship[]>;
44
+ /** Find FKs TO this table (incoming relationships) */
45
+ protected abstract findIncomingRelations(tableName: string): Promise<Relationship[]>;
46
+ /**
47
+ * Execute the grounding process.
48
+ * Writes discovered tables and relationships to the context.
49
+ */
50
+ execute(ctx: GroundingContext): Promise<() => string>;
51
+ /**
52
+ * Apply the filter to get seed table names.
53
+ * If filter is an explicit array, skip querying all table names.
54
+ */
55
+ protected applyFilter(): Promise<string[]>;
56
+ /**
57
+ * Add a relationship to the collection, deduplicating by key.
58
+ */
59
+ protected addRelationship(rel: Relationship, all: Relationship[], seen: Set<string>): void;
60
+ }
61
+ //# sourceMappingURL=table.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/table.grounding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,8BAAsB,cAAe,SAAQ,iBAAiB;;gBAKhD,MAAM,GAAE,oBAAyB;IAO7C,0CAA0C;IAC1C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAExD,iDAAiD;IACjD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAE9D,wDAAwD;IACxD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC;IAE1B,sDAAsD;IACtD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC;IAE1B;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;IAuFnC;;;OAGG;cACa,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAehD;;OAEG;IACH,SAAS,CAAC,eAAe,CACvB,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,YAAY,EAAE,EACnB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAChB,IAAI;CAyIR"}
@@ -0,0 +1,57 @@
1
+ import type { ColumnStats, Filter } from '../adapter.ts';
2
+ import { AbstractGrounding } from '../grounding.ticket.ts';
3
+ import type { GroundingContext } from './context.ts';
4
+ /**
5
+ * Represents a database view with its metadata.
6
+ */
7
+ export interface View {
8
+ name: string;
9
+ schema?: string;
10
+ rawName?: string;
11
+ /** The SQL definition of the view (CREATE VIEW statement or query) */
12
+ definition?: string;
13
+ columns: {
14
+ name: string;
15
+ type: string;
16
+ /** Low cardinality marker */
17
+ kind?: 'LowCardinality';
18
+ /** Distinct values for low cardinality columns */
19
+ values?: string[];
20
+ /** Column statistics (min, max, nullFraction) */
21
+ stats?: ColumnStats;
22
+ }[];
23
+ }
24
+ /**
25
+ * Configuration for ViewGrounding.
26
+ */
27
+ export interface ViewGroundingConfig {
28
+ /** Filter to select views */
29
+ filter?: Filter;
30
+ }
31
+ /**
32
+ * Abstract base class for view grounding
33
+ *
34
+ * The `execute()` method implements the algorithm that discovers views.
35
+ * Subclasses implement the database-specific hooks:
36
+ * - `getAllViewNames()` - list all views
37
+ * - `getView()` - get view metadata
38
+ */
39
+ export declare abstract class ViewGrounding extends AbstractGrounding {
40
+ #private;
41
+ constructor(config?: ViewGroundingConfig);
42
+ /** Get all view names in the database */
43
+ protected abstract getAllViewNames(): Promise<string[]>;
44
+ /** Get full view metadata for a single view */
45
+ protected abstract getView(viewName: string): Promise<View>;
46
+ /**
47
+ * Execute the grounding process.
48
+ * Writes discovered views to the context.
49
+ */
50
+ execute(ctx: GroundingContext): Promise<() => string>;
51
+ /**
52
+ * Apply the filter to get view names.
53
+ * If filter is an explicit array, skip querying all view names.
54
+ */
55
+ protected applyFilter(): Promise<string[]>;
56
+ }
57
+ //# sourceMappingURL=view.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/view.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,6BAA6B;QAC7B,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACxB,kDAAkD;QAClD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,iDAAiD;QACjD,KAAK,CAAC,EAAE,WAAW,CAAC;KACrB,EAAE,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,8BAAsB,aAAc,SAAQ,iBAAiB;;gBAG/C,MAAM,GAAE,mBAAwB;IAK5C,yCAAyC;IACzC,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAEvD,+CAA+C;IAC/C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3D;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;IAyDnC;;;OAGG;cACa,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAcjD"}
@@ -0,0 +1,12 @@
1
+ import type { Adapter, ColumnStats } from '../adapter.ts';
2
+ import { ColumnStatsGrounding, type ColumnStatsGroundingConfig } from '../groundings/column-stats.grounding.ts';
3
+ import type { Column } from '../groundings/context.ts';
4
+ /**
5
+ * PostgreSQL implementation of ColumnStatsGrounding.
6
+ */
7
+ export declare class PostgresColumnStatsGrounding extends ColumnStatsGrounding {
8
+ #private;
9
+ constructor(adapter: Adapter, config?: ColumnStatsGroundingConfig);
10
+ protected collectStats(tableName: string, column: Column): Promise<ColumnStats | undefined>;
11
+ }
12
+ //# sourceMappingURL=column-stats.postgres.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-stats.postgres.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/postgres/column-stats.postgres.grounding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,EAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,oBAAoB;;gBAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,0BAA+B;cAK5C,YAAY,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAsDpC"}
@@ -0,0 +1,11 @@
1
+ import type { Adapter, TableConstraint } from '../adapter.ts';
2
+ import { ConstraintGrounding, type ConstraintGroundingConfig } from '../groundings/constraint.grounding.ts';
3
+ /**
4
+ * PostgreSQL implementation of ConstraintGrounding.
5
+ */
6
+ export declare class PostgresConstraintGrounding extends ConstraintGrounding {
7
+ #private;
8
+ constructor(adapter: Adapter, config?: ConstraintGroundingConfig);
9
+ protected getConstraints(tableName: string): Promise<TableConstraint[]>;
10
+ }
11
+ //# sourceMappingURL=constraint.postgres.grounding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint.postgres.grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/postgres/constraint.postgres.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;AAkB/C;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,mBAAmB;;gBAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,yBAA8B;cAK3C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAuIvF"}
@@ -0,0 +1,43 @@
1
+ import { type Adapter } from '../adapter.ts';
2
+ import { type ColumnStatsGroundingConfig } from '../groundings/column-stats.grounding.ts';
3
+ import { type ConstraintGroundingConfig } from '../groundings/constraint.grounding.ts';
4
+ import { type IndexesGroundingConfig } from '../groundings/indexes.grounding.ts';
5
+ import { type InfoGroundingConfig } from '../groundings/info.grounding.ts';
6
+ import { type LowCardinalityGroundingConfig } from '../groundings/low-cardinality.grounding.ts';
7
+ import { ReportGrounding, type ReportGroundingConfig } from '../groundings/report.grounding.ts';
8
+ import { type RowCountGroundingConfig } from '../groundings/row-count.grounding.ts';
9
+ import { type TableGroundingConfig } from '../groundings/table.grounding.ts';
10
+ import type { ViewGroundingConfig } from '../groundings/view.grounding.ts';
11
+ import { PostgresColumnStatsGrounding } from './column-stats.postgres.grounding.ts';
12
+ import { PostgresConstraintGrounding } from './constraint.postgres.grounding.ts';
13
+ import { PostgresIndexesGrounding } from './indexes.postgres.grounding.ts';
14
+ import { PostgresInfoGrounding } from './info.postgres.grounding.ts';
15
+ import { PostgresLowCardinalityGrounding } from './low-cardinality.postgres.grounding.ts';
16
+ import { Postgres } from './postgres.ts';
17
+ import { PostgresRowCountGrounding } from './row-count.postgres.grounding.ts';
18
+ import { PostgresTableGrounding } from './table.postgres.grounding.ts';
19
+ import { PostgresViewGrounding } from './view.postgres.grounding.ts';
20
+ export * from './postgres.ts';
21
+ export declare function tables(config?: TableGroundingConfig): (adapter: Adapter) => PostgresTableGrounding;
22
+ export declare function info(config?: InfoGroundingConfig): (adapter: Adapter) => PostgresInfoGrounding;
23
+ export declare function views(config?: ViewGroundingConfig): (adapter: Adapter) => PostgresViewGrounding;
24
+ export declare function columnStats(config?: ColumnStatsGroundingConfig): (adapter: Adapter) => PostgresColumnStatsGrounding;
25
+ export declare function lowCardinality(config?: LowCardinalityGroundingConfig): (adapter: Adapter) => PostgresLowCardinalityGrounding;
26
+ export declare function indexes(config?: IndexesGroundingConfig): (adapter: Adapter) => PostgresIndexesGrounding;
27
+ export declare function rowCount(config?: RowCountGroundingConfig): (adapter: Adapter) => PostgresRowCountGrounding;
28
+ export declare function constraints(config?: ConstraintGroundingConfig): (adapter: Adapter) => PostgresConstraintGrounding;
29
+ export declare function report(config?: ReportGroundingConfig): (adapter: Adapter) => ReportGrounding;
30
+ declare const _default: {
31
+ tables: typeof tables;
32
+ info: typeof info;
33
+ views: typeof views;
34
+ columnStats: typeof columnStats;
35
+ lowCardinality: typeof lowCardinality;
36
+ indexes: typeof indexes;
37
+ rowCount: typeof rowCount;
38
+ constraints: typeof constraints;
39
+ report: typeof report;
40
+ Postgres: typeof Postgres;
41
+ };
42
+ export default _default;
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/postgres/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,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,cAAc,eAAe,CAAC;AAE9B,wBAAgB,MAAM,CAAC,MAAM,GAAE,oBAAyB,IAC9C,SAAS,OAAO,4BACzB;AAED,wBAAgB,IAAI,CAAC,MAAM,GAAE,mBAAwB,IAC3C,SAAS,OAAO,2BACzB;AAED,wBAAgB,KAAK,CAAC,MAAM,GAAE,mBAAwB,IAC5C,SAAS,OAAO,2BAGzB;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,0BAA+B,IACzD,SAAS,OAAO,kCAGzB;AAED,wBAAgB,cAAc,CAAC,MAAM,GAAE,6BAAkC,IAC/D,SAAS,OAAO,qCAGzB;AAED,wBAAgB,OAAO,CAAC,MAAM,GAAE,sBAA2B,IACjD,SAAS,OAAO,8BAGzB;AAED,wBAAgB,QAAQ,CAAC,MAAM,GAAE,uBAA4B,IACnD,SAAS,OAAO,+BAGzB;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,yBAA8B,IACxD,SAAS,OAAO,iCAGzB;AAED,wBAAgB,MAAM,CAAC,MAAM,GAAE,qBAA0B,IAC/C,SAAS,OAAO,qBACzB;;;;;;;;;;;;;AAED,wBAWE"}