@deepagents/text2sql 0.2.2 → 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.
- package/dist/index.d.ts +7 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +929 -2746
- package/dist/index.js.map +4 -4
- package/dist/lib/adapters/adapter.d.ts +67 -10
- package/dist/lib/adapters/adapter.d.ts.map +1 -1
- package/dist/lib/adapters/grounding.ticket.d.ts +21 -0
- package/dist/lib/adapters/grounding.ticket.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/column-stats.grounding.d.ts +32 -0
- package/dist/lib/adapters/groundings/column-stats.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/constraint.grounding.d.ts +31 -0
- package/dist/lib/adapters/groundings/constraint.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/context.d.ts +41 -0
- package/dist/lib/adapters/groundings/context.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/grounding.d.ts +8 -0
- package/dist/lib/adapters/groundings/grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/grounding.js +507 -0
- package/dist/lib/adapters/groundings/grounding.js.map +7 -0
- package/dist/lib/adapters/groundings/indexes.grounding.d.ts +30 -0
- package/dist/lib/adapters/groundings/indexes.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/info.grounding.d.ts +29 -0
- package/dist/lib/adapters/groundings/info.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/low-cardinality.grounding.d.ts +35 -0
- package/dist/lib/adapters/groundings/low-cardinality.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/report.grounding.d.ts +38 -0
- package/dist/lib/adapters/groundings/report.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/row-count.grounding.d.ts +30 -0
- package/dist/lib/adapters/groundings/row-count.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/table.grounding.d.ts +61 -0
- package/dist/lib/adapters/groundings/table.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/groundings/view.grounding.d.ts +57 -0
- package/dist/lib/adapters/groundings/view.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/column-stats.postgres.grounding.d.ts +12 -0
- package/dist/lib/adapters/postgres/column-stats.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/constraint.postgres.grounding.d.ts +11 -0
- package/dist/lib/adapters/postgres/constraint.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/index.d.ts +43 -0
- package/dist/lib/adapters/postgres/index.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/index.js +1640 -0
- package/dist/lib/adapters/postgres/index.js.map +7 -0
- package/dist/lib/adapters/postgres/indexes.postgres.grounding.d.ts +15 -0
- package/dist/lib/adapters/postgres/indexes.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/info.postgres.grounding.d.ts +11 -0
- package/dist/lib/adapters/postgres/info.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/low-cardinality.postgres.grounding.d.ts +14 -0
- package/dist/lib/adapters/postgres/low-cardinality.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/postgres.d.ts +26 -0
- package/dist/lib/adapters/postgres/postgres.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/row-count.postgres.grounding.d.ts +11 -0
- package/dist/lib/adapters/postgres/row-count.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/table.postgres.grounding.d.ts +21 -0
- package/dist/lib/adapters/postgres/table.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/postgres/view.postgres.grounding.d.ts +16 -0
- package/dist/lib/adapters/postgres/view.postgres.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/column-stats.sqlite.grounding.d.ts +12 -0
- package/dist/lib/adapters/sqlite/column-stats.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/constraint.sqlite.grounding.d.ts +15 -0
- package/dist/lib/adapters/sqlite/constraint.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/index.d.ts +43 -0
- package/dist/lib/adapters/sqlite/index.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/index.js +1215 -0
- package/dist/lib/adapters/sqlite/index.js.map +7 -0
- package/dist/lib/adapters/sqlite/indexes.sqlite.grounding.d.ts +11 -0
- package/dist/lib/adapters/sqlite/indexes.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/info.sqlite.grounding.d.ts +11 -0
- package/dist/lib/adapters/sqlite/info.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/low-cardinality.sqlite.grounding.d.ts +14 -0
- package/dist/lib/adapters/sqlite/low-cardinality.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/row-count.sqlite.grounding.d.ts +11 -0
- package/dist/lib/adapters/sqlite/row-count.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/sqlite.d.ts +25 -0
- package/dist/lib/adapters/sqlite/sqlite.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/table.sqlite.grounding.d.ts +17 -0
- package/dist/lib/adapters/sqlite/table.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlite/view.sqlite.grounding.d.ts +12 -0
- package/dist/lib/adapters/sqlite/view.sqlite.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/column-stats.sqlserver.grounding.d.ts +12 -0
- package/dist/lib/adapters/sqlserver/column-stats.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/constraint.sqlserver.grounding.d.ts +11 -0
- package/dist/lib/adapters/sqlserver/constraint.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/index.d.ts +43 -0
- package/dist/lib/adapters/sqlserver/index.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/index.js +1693 -0
- package/dist/lib/adapters/sqlserver/index.js.map +7 -0
- package/dist/lib/adapters/sqlserver/indexes.sqlserver.grounding.d.ts +15 -0
- package/dist/lib/adapters/sqlserver/indexes.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/info.sqlserver.grounding.d.ts +11 -0
- package/dist/lib/adapters/sqlserver/info.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/low-cardinality.sqlserver.grounding.d.ts +14 -0
- package/dist/lib/adapters/sqlserver/low-cardinality.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/row-count.sqlserver.grounding.d.ts +11 -0
- package/dist/lib/adapters/sqlserver/row-count.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/sqlserver.d.ts +26 -0
- package/dist/lib/adapters/sqlserver/sqlserver.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/table.sqlserver.grounding.d.ts +21 -0
- package/dist/lib/adapters/sqlserver/table.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/adapters/sqlserver/view.sqlserver.grounding.d.ts +16 -0
- package/dist/lib/adapters/sqlserver/view.sqlserver.grounding.d.ts.map +1 -0
- package/dist/lib/agents/suggestions.agents.d.ts +0 -2
- package/dist/lib/agents/suggestions.agents.d.ts.map +1 -1
- package/dist/lib/agents/teachables.agent.d.ts +0 -3
- package/dist/lib/agents/teachables.agent.d.ts.map +1 -1
- package/dist/lib/agents/text2sql.agent.d.ts +69 -29
- package/dist/lib/agents/text2sql.agent.d.ts.map +1 -1
- package/dist/lib/file-cache.d.ts +12 -0
- package/dist/lib/file-cache.d.ts.map +1 -0
- package/dist/lib/instructions.d.ts +3 -0
- package/dist/lib/instructions.d.ts.map +1 -0
- package/dist/lib/instructions.js +386 -0
- package/dist/lib/instructions.js.map +7 -0
- package/dist/lib/memory/memory.prompt.d.ts +3 -0
- package/dist/lib/memory/memory.prompt.d.ts.map +1 -0
- package/dist/lib/memory/memory.store.d.ts +5 -0
- package/dist/lib/memory/memory.store.d.ts.map +1 -0
- package/dist/lib/memory/sqlite.store.d.ts +14 -0
- package/dist/lib/memory/sqlite.store.d.ts.map +1 -0
- package/dist/lib/memory/store.d.ts +40 -0
- package/dist/lib/memory/store.d.ts.map +1 -0
- package/dist/lib/prompt.d.ts +1 -6
- package/dist/lib/prompt.d.ts.map +1 -1
- package/dist/lib/sql.d.ts +27 -34
- package/dist/lib/sql.d.ts.map +1 -1
- package/dist/lib/teach/teachables.d.ts +184 -13
- package/dist/lib/teach/teachables.d.ts.map +1 -1
- package/dist/lib/teach/teachings.d.ts.map +1 -1
- package/dist/lib/teach/xml.d.ts.map +1 -1
- package/package.json +38 -4
- package/dist/lib/adapters/postgres.d.ts +0 -31
- package/dist/lib/adapters/postgres.d.ts.map +0 -1
- package/dist/lib/adapters/resolveTables.spec.d.ts +0 -2
- package/dist/lib/adapters/resolveTables.spec.d.ts.map +0 -1
- package/dist/lib/adapters/sqlite.d.ts +0 -30
- package/dist/lib/adapters/sqlite.d.ts.map +0 -1
- package/dist/lib/adapters/sqlserver.d.ts +0 -31
- package/dist/lib/adapters/sqlserver.d.ts.map +0 -1
- package/dist/lib/agents/brief.agent.d.ts +0 -16
- package/dist/lib/agents/brief.agent.d.ts.map +0 -1
- package/dist/lib/memory/user-profile.d.ts +0 -39
- package/dist/lib/memory/user-profile.d.ts.map +0 -1
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import type { AbstractGrounding } from './grounding.ticket.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Filter type for view/table names.
|
|
4
|
+
* - string[]: explicit list of view names
|
|
5
|
+
* - RegExp: pattern to match view names
|
|
6
|
+
* - function: predicate to filter view names
|
|
7
|
+
*/
|
|
8
|
+
export type Filter = string[] | RegExp | ((viewName: string) => boolean);
|
|
1
9
|
export interface Table {
|
|
2
10
|
name: string;
|
|
3
11
|
schema?: string;
|
|
@@ -7,21 +15,29 @@ export interface Table {
|
|
|
7
15
|
type: string;
|
|
8
16
|
kind?: 'LowCardinality';
|
|
9
17
|
values?: string[];
|
|
10
|
-
isPrimaryKey?: boolean;
|
|
11
18
|
isIndexed?: boolean;
|
|
12
19
|
stats?: ColumnStats;
|
|
13
20
|
}[];
|
|
14
21
|
rowCount?: number;
|
|
15
22
|
sizeHint?: 'tiny' | 'small' | 'medium' | 'large' | 'huge';
|
|
16
23
|
indexes?: TableIndex[];
|
|
24
|
+
constraints?: TableConstraint[];
|
|
17
25
|
}
|
|
18
26
|
export interface TableIndex {
|
|
19
27
|
name: string;
|
|
20
28
|
columns: string[];
|
|
21
29
|
unique?: boolean;
|
|
22
|
-
primary?: boolean;
|
|
23
30
|
type?: string;
|
|
24
31
|
}
|
|
32
|
+
export interface TableConstraint {
|
|
33
|
+
name: string;
|
|
34
|
+
type: 'CHECK' | 'UNIQUE' | 'NOT_NULL' | 'DEFAULT' | 'PRIMARY_KEY' | 'FOREIGN_KEY';
|
|
35
|
+
columns?: string[];
|
|
36
|
+
definition?: string;
|
|
37
|
+
defaultValue?: string;
|
|
38
|
+
referencedTable?: string;
|
|
39
|
+
referencedColumns?: string[];
|
|
40
|
+
}
|
|
25
41
|
export interface ColumnStats {
|
|
26
42
|
min?: string;
|
|
27
43
|
max?: string;
|
|
@@ -42,9 +58,9 @@ export interface AdapterInfo {
|
|
|
42
58
|
dialect: string;
|
|
43
59
|
version?: string;
|
|
44
60
|
database?: string;
|
|
45
|
-
host?: string;
|
|
46
61
|
details?: Record<string, unknown>;
|
|
47
62
|
}
|
|
63
|
+
export type AdapterInfoProvider = AdapterInfo | (() => Promise<AdapterInfo> | AdapterInfo);
|
|
48
64
|
export type IntrospectionPhase = 'tables' | 'row_counts' | 'primary_keys' | 'indexes' | 'column_stats' | 'low_cardinality' | 'relationships';
|
|
49
65
|
export interface IntrospectionProgress {
|
|
50
66
|
phase: IntrospectionPhase;
|
|
@@ -53,19 +69,60 @@ export interface IntrospectionProgress {
|
|
|
53
69
|
total?: number;
|
|
54
70
|
}
|
|
55
71
|
export type OnProgress = (progress: IntrospectionProgress) => void;
|
|
56
|
-
export type AdapterInfoProvider = AdapterInfo | (() => Promise<AdapterInfo> | AdapterInfo);
|
|
57
72
|
export interface IntrospectOptions {
|
|
58
73
|
onProgress?: OnProgress;
|
|
59
74
|
}
|
|
75
|
+
export type GroundingFn = (adapter: Adapter) => AbstractGrounding;
|
|
76
|
+
export type ExecuteFunction = (sql: string) => Promise<any> | any;
|
|
77
|
+
export type ValidateFunction = (sql: string) => Promise<string | void> | string | void;
|
|
60
78
|
export declare abstract class Adapter {
|
|
61
|
-
abstract
|
|
79
|
+
abstract grounding: GroundingFn[];
|
|
80
|
+
/**
|
|
81
|
+
* Default schema name for this database.
|
|
82
|
+
* PostgreSQL: 'public', SQL Server: 'dbo', SQLite: undefined
|
|
83
|
+
*/
|
|
84
|
+
abstract readonly defaultSchema: string | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* System schemas to exclude from introspection by default.
|
|
87
|
+
*/
|
|
88
|
+
abstract readonly systemSchemas: string[];
|
|
89
|
+
introspect(): Promise<string>;
|
|
62
90
|
abstract execute(sql: string): Promise<any[]> | any[];
|
|
63
91
|
abstract validate(sql: string): Promise<string | void> | string | void;
|
|
64
|
-
abstract
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
92
|
+
abstract runQuery<Row>(sql: string): Promise<Row[]> | Row[];
|
|
93
|
+
/**
|
|
94
|
+
* Quote an identifier (table/column name) for safe use in SQL.
|
|
95
|
+
* Each database uses different quoting styles.
|
|
96
|
+
*/
|
|
97
|
+
abstract quoteIdentifier(name: string): string;
|
|
98
|
+
/**
|
|
99
|
+
* Escape a string value for safe use in SQL.
|
|
100
|
+
* Each database escapes different characters.
|
|
101
|
+
*/
|
|
102
|
+
abstract escape(value: string): string;
|
|
103
|
+
/**
|
|
104
|
+
* Convert unknown database value to number.
|
|
105
|
+
* Handles number, bigint, and string types.
|
|
106
|
+
*/
|
|
107
|
+
toNumber(value: unknown): number | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Parse a potentially qualified table name into schema and table parts.
|
|
110
|
+
*/
|
|
111
|
+
parseTableName(name: string): {
|
|
112
|
+
schema: string;
|
|
113
|
+
table: string;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Escape a string value for use in SQL string literals (single quotes).
|
|
117
|
+
* Used in WHERE clauses like: WHERE name = '${escapeString(value)}'
|
|
118
|
+
*/
|
|
119
|
+
escapeString(value: string): string;
|
|
120
|
+
/**
|
|
121
|
+
* Build a SQL filter clause to include/exclude schemas.
|
|
122
|
+
* @param columnName - The schema column name (e.g., 'TABLE_SCHEMA')
|
|
123
|
+
* @param allowedSchemas - If provided, filter to these schemas only
|
|
124
|
+
*/
|
|
125
|
+
buildSchemaFilter(columnName: string, allowedSchemas?: string[]): string;
|
|
69
126
|
}
|
|
70
127
|
export declare function filterTablesByName<T extends {
|
|
71
128
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/adapter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { GroundingContext } from './groundings/context.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Filter type for table names.
|
|
4
|
+
* - string[]: explicit list of table names
|
|
5
|
+
* - RegExp: pattern to match table names
|
|
6
|
+
* - function: predicate to filter table names
|
|
7
|
+
*/
|
|
8
|
+
export type Filter = string[] | RegExp | ((tableName: string) => boolean);
|
|
9
|
+
export interface AdapterInfo {
|
|
10
|
+
dialect: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
database?: string;
|
|
13
|
+
details?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export type AdapterInfoProvider = AdapterInfo | (() => Promise<AdapterInfo> | AdapterInfo);
|
|
16
|
+
export declare abstract class AbstractGrounding {
|
|
17
|
+
tag: string;
|
|
18
|
+
constructor(tag: string);
|
|
19
|
+
abstract execute(ctx: GroundingContext): Promise<() => string | null>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=grounding.ticket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grounding.ticket.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/grounding.ticket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ColumnStats } from '../adapter.ts';
|
|
2
|
+
import { AbstractGrounding } from '../grounding.ticket.ts';
|
|
3
|
+
import type { Column, GroundingContext } from './context.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for ColumnStatsGrounding.
|
|
6
|
+
*/
|
|
7
|
+
export interface ColumnStatsGroundingConfig {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Abstract base class for column statistics grounding.
|
|
11
|
+
*
|
|
12
|
+
* Reads tables and views from the context and annotates their columns
|
|
13
|
+
* with statistics (min, max, nullFraction).
|
|
14
|
+
*
|
|
15
|
+
* Subclasses implement database-specific hooks:
|
|
16
|
+
* - `collectStats()` - collect min/max/nullFraction for a column
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class ColumnStatsGrounding extends AbstractGrounding {
|
|
19
|
+
#private;
|
|
20
|
+
constructor(config?: ColumnStatsGroundingConfig);
|
|
21
|
+
/**
|
|
22
|
+
* Collect min/max/nullFraction statistics for a column.
|
|
23
|
+
* Return undefined to skip this column.
|
|
24
|
+
*/
|
|
25
|
+
protected abstract collectStats(tableName: string, column: Column): Promise<ColumnStats | undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Execute the grounding process.
|
|
28
|
+
* Annotates columns in ctx.tables and ctx.views with statistics.
|
|
29
|
+
*/
|
|
30
|
+
execute(ctx: GroundingContext): Promise<() => null>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=column-stats.grounding.d.ts.map
|
|
@@ -0,0 +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,wBAAwB,CAAC;AAC3D,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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TableConstraint } from '../adapter.ts';
|
|
2
|
+
import { AbstractGrounding } from '../grounding.ticket.ts';
|
|
3
|
+
import type { GroundingContext } from './context.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for ConstraintGrounding.
|
|
6
|
+
*/
|
|
7
|
+
export interface ConstraintGroundingConfig {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Abstract base class for constraint grounding.
|
|
11
|
+
*
|
|
12
|
+
* Reads tables from the context and annotates them with constraints
|
|
13
|
+
* (CHECK, UNIQUE, NOT_NULL, DEFAULT).
|
|
14
|
+
* This grounding must run AFTER TableGrounding since it reads from ctx.tables.
|
|
15
|
+
*
|
|
16
|
+
* Subclasses implement the database-specific hook:
|
|
17
|
+
* - `getConstraints()` - fetch constraints for a table
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class ConstraintGrounding extends AbstractGrounding {
|
|
20
|
+
constructor(config?: ConstraintGroundingConfig);
|
|
21
|
+
/**
|
|
22
|
+
* Fetch constraints for a specific table.
|
|
23
|
+
*/
|
|
24
|
+
protected abstract getConstraints(tableName: string): Promise<TableConstraint[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Execute the grounding process.
|
|
27
|
+
* Annotates tables in ctx.tables with their constraints.
|
|
28
|
+
*/
|
|
29
|
+
execute(ctx: GroundingContext): Promise<() => null>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=constraint.grounding.d.ts.map
|
|
@@ -0,0 +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,wBAAwB,CAAC;AAC3D,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,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAEhF;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB;CAYpC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { AdapterInfo, ColumnStats, Relationship, Table } from '../adapter.ts';
|
|
2
|
+
import type { View } from './view.grounding.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Column type for grounding operations.
|
|
5
|
+
* Common interface between Table.columns and View.columns.
|
|
6
|
+
*/
|
|
7
|
+
export interface Column {
|
|
8
|
+
name: string;
|
|
9
|
+
type: string;
|
|
10
|
+
kind?: 'LowCardinality';
|
|
11
|
+
values?: string[];
|
|
12
|
+
stats?: ColumnStats;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Entity with columns (Table or View).
|
|
16
|
+
*/
|
|
17
|
+
export interface ColumnContainer {
|
|
18
|
+
name: string;
|
|
19
|
+
columns: Column[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Shared context object passed to all groundings.
|
|
23
|
+
* Groundings read from and write to this context.
|
|
24
|
+
*/
|
|
25
|
+
export interface GroundingContext {
|
|
26
|
+
/** Tables discovered by TableGrounding */
|
|
27
|
+
tables: Table[];
|
|
28
|
+
/** Views discovered by ViewGrounding */
|
|
29
|
+
views: View[];
|
|
30
|
+
/** Relationships discovered by TableGrounding */
|
|
31
|
+
relationships: Relationship[];
|
|
32
|
+
/** Database info collected by InfoGrounding */
|
|
33
|
+
info?: AdapterInfo;
|
|
34
|
+
/** Business context report generated by ReportGrounding */
|
|
35
|
+
report?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create a new empty grounding context.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createGroundingContext(): GroundingContext;
|
|
41
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,wCAAwC;IACxC,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,iDAAiD;IACjD,aAAa,EAAE,YAAY,EAAE,CAAC;IAE9B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAOzD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './context.ts';
|
|
2
|
+
export * from './table.grounding.ts';
|
|
3
|
+
export * from './column-stats.grounding.ts';
|
|
4
|
+
export * from './low-cardinality.grounding.ts';
|
|
5
|
+
export * from './info.grounding.ts';
|
|
6
|
+
export * from './view.grounding.ts';
|
|
7
|
+
export * from './report.grounding.ts';
|
|
8
|
+
//# sourceMappingURL=grounding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grounding.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/groundings/grounding.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
|