@memberjunction/db-auto-doc 2.117.0 → 2.119.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/README.md +803 -165
- package/bin/run.js +7 -0
- package/dist/api/DBAutoDocAPI.d.ts +252 -0
- package/dist/api/DBAutoDocAPI.d.ts.map +1 -0
- package/dist/api/DBAutoDocAPI.js +530 -0
- package/dist/api/DBAutoDocAPI.js.map +1 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +10 -0
- package/dist/api/index.js.map +1 -0
- package/dist/commands/analyze.d.ts +6 -4
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +58 -71
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/export.d.ts +14 -4
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +156 -61
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/generate-queries.d.ts +17 -0
- package/dist/commands/generate-queries.d.ts.map +1 -0
- package/dist/commands/generate-queries.js +182 -0
- package/dist/commands/generate-queries.js.map +1 -0
- package/dist/commands/init.d.ts +3 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +206 -144
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/reset.d.ts +4 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +33 -19
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/status.d.ts +10 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +66 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/core/AnalysisEngine.d.ts +108 -0
- package/dist/core/AnalysisEngine.d.ts.map +1 -0
- package/dist/core/AnalysisEngine.js +716 -0
- package/dist/core/AnalysisEngine.js.map +1 -0
- package/dist/core/AnalysisOrchestrator.d.ts +41 -0
- package/dist/core/AnalysisOrchestrator.d.ts.map +1 -0
- package/dist/core/AnalysisOrchestrator.js +377 -0
- package/dist/core/AnalysisOrchestrator.js.map +1 -0
- package/dist/core/BackpropagationEngine.d.ts +32 -0
- package/dist/core/BackpropagationEngine.d.ts.map +1 -0
- package/dist/core/BackpropagationEngine.js +121 -0
- package/dist/core/BackpropagationEngine.js.map +1 -0
- package/dist/core/ConvergenceDetector.d.ts +27 -0
- package/dist/core/ConvergenceDetector.d.ts.map +1 -0
- package/dist/core/ConvergenceDetector.js +92 -0
- package/dist/core/ConvergenceDetector.js.map +1 -0
- package/dist/core/GuardrailsManager.d.ts +78 -0
- package/dist/core/GuardrailsManager.d.ts.map +1 -0
- package/dist/core/GuardrailsManager.js +367 -0
- package/dist/core/GuardrailsManager.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/database/Database.d.ts +56 -0
- package/dist/database/Database.d.ts.map +1 -0
- package/dist/database/Database.js +172 -0
- package/dist/database/Database.js.map +1 -0
- package/dist/database/TopologicalSorter.d.ts +25 -0
- package/dist/database/TopologicalSorter.d.ts.map +1 -0
- package/dist/database/TopologicalSorter.js +150 -0
- package/dist/database/TopologicalSorter.js.map +1 -0
- package/dist/database/index.d.ts +6 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +14 -0
- package/dist/database/index.js.map +1 -0
- package/dist/discovery/ColumnStatsCache.d.ts +91 -0
- package/dist/discovery/ColumnStatsCache.d.ts.map +1 -0
- package/dist/discovery/ColumnStatsCache.js +231 -0
- package/dist/discovery/ColumnStatsCache.js.map +1 -0
- package/dist/discovery/DiscoveryEngine.d.ts +100 -0
- package/dist/discovery/DiscoveryEngine.d.ts.map +1 -0
- package/dist/discovery/DiscoveryEngine.js +726 -0
- package/dist/discovery/DiscoveryEngine.js.map +1 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts +57 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts.map +1 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.js +186 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.js.map +1 -0
- package/dist/discovery/FKDetector.d.ts +47 -0
- package/dist/discovery/FKDetector.d.ts.map +1 -0
- package/dist/discovery/FKDetector.js +317 -0
- package/dist/discovery/FKDetector.js.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts +64 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.js +431 -0
- package/dist/discovery/LLMDiscoveryValidator.js.map +1 -0
- package/dist/discovery/LLMSanityChecker.d.ts +38 -0
- package/dist/discovery/LLMSanityChecker.d.ts.map +1 -0
- package/dist/discovery/LLMSanityChecker.js +156 -0
- package/dist/discovery/LLMSanityChecker.js.map +1 -0
- package/dist/discovery/PKDetector.d.ts +62 -0
- package/dist/discovery/PKDetector.d.ts.map +1 -0
- package/dist/discovery/PKDetector.js +436 -0
- package/dist/discovery/PKDetector.js.map +1 -0
- package/dist/discovery/index.d.ts +9 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +25 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts +132 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.js +121 -0
- package/dist/drivers/BaseAutoDocDriver.js.map +1 -0
- package/dist/drivers/MySQLDriver.d.ts +61 -0
- package/dist/drivers/MySQLDriver.d.ts.map +1 -0
- package/dist/drivers/MySQLDriver.js +668 -0
- package/dist/drivers/MySQLDriver.js.map +1 -0
- package/dist/drivers/PostgreSQLDriver.d.ts +65 -0
- package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -0
- package/dist/drivers/PostgreSQLDriver.js +704 -0
- package/dist/drivers/PostgreSQLDriver.js.map +1 -0
- package/dist/drivers/SQLServerDriver.d.ts +61 -0
- package/dist/drivers/SQLServerDriver.d.ts.map +1 -0
- package/dist/drivers/SQLServerDriver.js +667 -0
- package/dist/drivers/SQLServerDriver.js.map +1 -0
- package/dist/generators/CSVGenerator.d.ts +35 -0
- package/dist/generators/CSVGenerator.d.ts.map +1 -0
- package/dist/generators/CSVGenerator.js +154 -0
- package/dist/generators/CSVGenerator.js.map +1 -0
- package/dist/generators/HTMLGenerator.d.ts +29 -0
- package/dist/generators/HTMLGenerator.d.ts.map +1 -0
- package/dist/generators/HTMLGenerator.js +710 -0
- package/dist/generators/HTMLGenerator.js.map +1 -0
- package/dist/generators/MarkdownGenerator.d.ts +27 -0
- package/dist/generators/MarkdownGenerator.d.ts.map +1 -0
- package/dist/generators/MarkdownGenerator.js +361 -0
- package/dist/generators/MarkdownGenerator.js.map +1 -0
- package/dist/generators/MermaidGenerator.d.ts +35 -0
- package/dist/generators/MermaidGenerator.d.ts.map +1 -0
- package/dist/generators/MermaidGenerator.js +321 -0
- package/dist/generators/MermaidGenerator.js.map +1 -0
- package/dist/generators/ReportGenerator.d.ts +22 -0
- package/dist/generators/ReportGenerator.d.ts.map +1 -0
- package/dist/generators/ReportGenerator.js +176 -0
- package/dist/generators/ReportGenerator.js.map +1 -0
- package/dist/generators/SQLGenerator.d.ts +31 -0
- package/dist/generators/SQLGenerator.d.ts.map +1 -0
- package/dist/generators/SQLGenerator.js +168 -0
- package/dist/generators/SQLGenerator.js.map +1 -0
- package/dist/generators/SampleQueryGenerator.d.ts +64 -0
- package/dist/generators/SampleQueryGenerator.d.ts.map +1 -0
- package/dist/generators/SampleQueryGenerator.js +500 -0
- package/dist/generators/SampleQueryGenerator.js.map +1 -0
- package/dist/generators/index.d.ts +10 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +19 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/index.d.ts +11 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -20
- package/dist/index.js.map +1 -1
- package/dist/prompts/PromptEngine.d.ts +65 -0
- package/dist/prompts/PromptEngine.d.ts.map +1 -0
- package/dist/prompts/PromptEngine.js +305 -0
- package/dist/prompts/PromptEngine.js.map +1 -0
- package/dist/prompts/PromptFileLoader.d.ts +21 -0
- package/dist/prompts/PromptFileLoader.d.ts.map +1 -0
- package/dist/prompts/PromptFileLoader.js +74 -0
- package/dist/prompts/PromptFileLoader.js.map +1 -0
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +11 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/state/IterationTracker.d.ts +64 -0
- package/dist/state/IterationTracker.d.ts.map +1 -0
- package/dist/state/IterationTracker.js +136 -0
- package/dist/state/IterationTracker.js.map +1 -0
- package/dist/state/StateManager.d.ts +79 -0
- package/dist/state/StateManager.d.ts.map +1 -0
- package/dist/state/StateManager.js +348 -0
- package/dist/state/StateManager.js.map +1 -0
- package/dist/state/StateValidator.d.ts +24 -0
- package/dist/state/StateValidator.d.ts.map +1 -0
- package/dist/state/StateValidator.js +147 -0
- package/dist/state/StateValidator.js.map +1 -0
- package/dist/state/index.d.ts +7 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +13 -0
- package/dist/state/index.js.map +1 -0
- package/dist/types/analysis.d.ts +76 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +6 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/config.d.ts +143 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +7 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/discovery.d.ts +277 -0
- package/dist/types/discovery.d.ts.map +1 -0
- package/dist/types/discovery.js +7 -0
- package/dist/types/discovery.js.map +1 -0
- package/dist/types/driver.d.ts +148 -0
- package/dist/types/driver.d.ts.map +1 -0
- package/dist/types/driver.js +7 -0
- package/dist/types/driver.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/prompts.d.ts +158 -0
- package/dist/types/prompts.d.ts.map +1 -0
- package/dist/types/prompts.js +6 -0
- package/dist/types/prompts.js.map +1 -0
- package/dist/types/sample-queries.d.ts +172 -0
- package/dist/types/sample-queries.d.ts.map +1 -0
- package/dist/types/sample-queries.js +7 -0
- package/dist/types/sample-queries.js.map +1 -0
- package/dist/types/state.d.ts +291 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/state.js +7 -0
- package/dist/types/state.js.map +1 -0
- package/dist/utils/config-loader.d.ts +29 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +163 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +28 -3
- package/dist/ai/simple-ai-client.d.ts +0 -70
- package/dist/ai/simple-ai-client.d.ts.map +0 -1
- package/dist/ai/simple-ai-client.js +0 -181
- package/dist/ai/simple-ai-client.js.map +0 -1
- package/dist/analyzers/analyzer.d.ts +0 -23
- package/dist/analyzers/analyzer.d.ts.map +0 -1
- package/dist/analyzers/analyzer.js +0 -127
- package/dist/analyzers/analyzer.js.map +0 -1
- package/dist/cli-old/cli.d.ts +0 -3
- package/dist/cli-old/cli.d.ts.map +0 -1
- package/dist/cli-old/cli.js +0 -388
- package/dist/cli-old/cli.js.map +0 -1
- package/dist/commands/review.d.ts +0 -11
- package/dist/commands/review.d.ts.map +0 -1
- package/dist/commands/review.js +0 -82
- package/dist/commands/review.js.map +0 -1
- package/dist/database/connection.d.ts +0 -40
- package/dist/database/connection.d.ts.map +0 -1
- package/dist/database/connection.js +0 -136
- package/dist/database/connection.js.map +0 -1
- package/dist/database/introspection.d.ts +0 -59
- package/dist/database/introspection.d.ts.map +0 -1
- package/dist/database/introspection.js +0 -124
- package/dist/database/introspection.js.map +0 -1
- package/dist/generators/markdown-generator.d.ts +0 -8
- package/dist/generators/markdown-generator.d.ts.map +0 -1
- package/dist/generators/markdown-generator.js +0 -106
- package/dist/generators/markdown-generator.js.map +0 -1
- package/dist/generators/sql-generator.d.ts +0 -20
- package/dist/generators/sql-generator.d.ts.map +0 -1
- package/dist/generators/sql-generator.js +0 -83
- package/dist/generators/sql-generator.js.map +0 -1
- package/dist/state/state-manager.d.ts +0 -95
- package/dist/state/state-manager.d.ts.map +0 -1
- package/dist/state/state-manager.js +0 -236
- package/dist/state/state-manager.js.map +0 -1
- package/dist/types/state-file.d.ts +0 -124
- package/dist/types/state-file.d.ts.map +0 -1
- package/dist/types/state-file.js +0 -79
- package/dist/types/state-file.js.map +0 -1
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Generates SQL scripts with sp_addextendedproperty statements
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SQLGenerator = void 0;
|
|
7
|
+
class SQLGenerator {
|
|
8
|
+
/**
|
|
9
|
+
* Generate SQL script
|
|
10
|
+
*/
|
|
11
|
+
generate(state, options = {}) {
|
|
12
|
+
const lines = [];
|
|
13
|
+
// Header
|
|
14
|
+
lines.push('-- Database Documentation Script');
|
|
15
|
+
lines.push(`-- Generated: ${new Date().toISOString()}`);
|
|
16
|
+
lines.push(`-- Database: ${state.database.name}`);
|
|
17
|
+
lines.push(`-- Server: ${state.database.server}`);
|
|
18
|
+
lines.push('');
|
|
19
|
+
lines.push('-- This script adds MS_Description extended properties to database objects');
|
|
20
|
+
lines.push('');
|
|
21
|
+
// Generate statements for each schema
|
|
22
|
+
for (const schema of state.schemas) {
|
|
23
|
+
lines.push('');
|
|
24
|
+
lines.push(`-- Schema: ${schema.name}`);
|
|
25
|
+
lines.push('');
|
|
26
|
+
// Schema description
|
|
27
|
+
if (schema.description) {
|
|
28
|
+
lines.push(this.generateSchemaDescription(schema.name, schema.description));
|
|
29
|
+
lines.push('GO');
|
|
30
|
+
lines.push('');
|
|
31
|
+
}
|
|
32
|
+
// Table descriptions
|
|
33
|
+
for (const table of schema.tables) {
|
|
34
|
+
// Check filters
|
|
35
|
+
if (options.approvedOnly && !table.userApproved) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (options.confidenceThreshold && table.descriptionIterations.length > 0) {
|
|
39
|
+
const latest = table.descriptionIterations[table.descriptionIterations.length - 1];
|
|
40
|
+
if ((latest.confidence || 0) < options.confidenceThreshold) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Table description
|
|
45
|
+
if (table.description) {
|
|
46
|
+
lines.push(`-- Table: ${schema.name}.${table.name}`);
|
|
47
|
+
lines.push(this.generateTableDescription(schema.name, table.name, table.description));
|
|
48
|
+
lines.push('GO');
|
|
49
|
+
lines.push('');
|
|
50
|
+
}
|
|
51
|
+
// Column descriptions
|
|
52
|
+
for (const column of table.columns) {
|
|
53
|
+
if (column.description) {
|
|
54
|
+
lines.push(this.generateColumnDescription(schema.name, table.name, column.name, column.description));
|
|
55
|
+
lines.push('GO');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
lines.push('');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return lines.join('\n');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Generate schema description statement
|
|
65
|
+
*/
|
|
66
|
+
generateSchemaDescription(schemaName, description) {
|
|
67
|
+
const escapedDescription = this.escapeString(description);
|
|
68
|
+
return `
|
|
69
|
+
IF EXISTS (
|
|
70
|
+
SELECT 1 FROM sys.extended_properties
|
|
71
|
+
WHERE major_id = SCHEMA_ID('${schemaName}')
|
|
72
|
+
AND name = 'MS_Description'
|
|
73
|
+
AND minor_id = 0
|
|
74
|
+
)
|
|
75
|
+
BEGIN
|
|
76
|
+
EXEC sp_dropextendedproperty
|
|
77
|
+
@name = N'MS_Description',
|
|
78
|
+
@level0type = N'SCHEMA',
|
|
79
|
+
@level0name = N'${schemaName}';
|
|
80
|
+
END
|
|
81
|
+
|
|
82
|
+
EXEC sp_addextendedproperty
|
|
83
|
+
@name = N'MS_Description',
|
|
84
|
+
@value = N'${escapedDescription}',
|
|
85
|
+
@level0type = N'SCHEMA',
|
|
86
|
+
@level0name = N'${schemaName}';
|
|
87
|
+
`.trim();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Generate table description statement
|
|
91
|
+
*/
|
|
92
|
+
generateTableDescription(schemaName, tableName, description) {
|
|
93
|
+
const escapedDescription = this.escapeString(description);
|
|
94
|
+
return `
|
|
95
|
+
IF EXISTS (
|
|
96
|
+
SELECT 1 FROM sys.extended_properties ep
|
|
97
|
+
INNER JOIN sys.tables t ON ep.major_id = t.object_id
|
|
98
|
+
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
|
|
99
|
+
WHERE s.name = '${schemaName}'
|
|
100
|
+
AND t.name = '${tableName}'
|
|
101
|
+
AND ep.name = 'MS_Description'
|
|
102
|
+
AND ep.minor_id = 0
|
|
103
|
+
)
|
|
104
|
+
BEGIN
|
|
105
|
+
EXEC sp_dropextendedproperty
|
|
106
|
+
@name = N'MS_Description',
|
|
107
|
+
@level0type = N'SCHEMA',
|
|
108
|
+
@level0name = N'${schemaName}',
|
|
109
|
+
@level1type = N'TABLE',
|
|
110
|
+
@level1name = N'${tableName}';
|
|
111
|
+
END
|
|
112
|
+
|
|
113
|
+
EXEC sp_addextendedproperty
|
|
114
|
+
@name = N'MS_Description',
|
|
115
|
+
@value = N'${escapedDescription}',
|
|
116
|
+
@level0type = N'SCHEMA',
|
|
117
|
+
@level0name = N'${schemaName}',
|
|
118
|
+
@level1type = N'TABLE',
|
|
119
|
+
@level1name = N'${tableName}';
|
|
120
|
+
`.trim();
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Generate column description statement
|
|
124
|
+
*/
|
|
125
|
+
generateColumnDescription(schemaName, tableName, columnName, description) {
|
|
126
|
+
const escapedDescription = this.escapeString(description);
|
|
127
|
+
return `
|
|
128
|
+
IF EXISTS (
|
|
129
|
+
SELECT 1 FROM sys.extended_properties ep
|
|
130
|
+
INNER JOIN sys.tables t ON ep.major_id = t.object_id
|
|
131
|
+
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
|
|
132
|
+
INNER JOIN sys.columns c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
|
|
133
|
+
WHERE s.name = '${schemaName}'
|
|
134
|
+
AND t.name = '${tableName}'
|
|
135
|
+
AND c.name = '${columnName}'
|
|
136
|
+
AND ep.name = 'MS_Description'
|
|
137
|
+
)
|
|
138
|
+
BEGIN
|
|
139
|
+
EXEC sp_dropextendedproperty
|
|
140
|
+
@name = N'MS_Description',
|
|
141
|
+
@level0type = N'SCHEMA',
|
|
142
|
+
@level0name = N'${schemaName}',
|
|
143
|
+
@level1type = N'TABLE',
|
|
144
|
+
@level1name = N'${tableName}',
|
|
145
|
+
@level2type = N'COLUMN',
|
|
146
|
+
@level2name = N'${columnName}';
|
|
147
|
+
END
|
|
148
|
+
|
|
149
|
+
EXEC sp_addextendedproperty
|
|
150
|
+
@name = N'MS_Description',
|
|
151
|
+
@value = N'${escapedDescription}',
|
|
152
|
+
@level0type = N'SCHEMA',
|
|
153
|
+
@level0name = N'${schemaName}',
|
|
154
|
+
@level1type = N'TABLE',
|
|
155
|
+
@level1name = N'${tableName}',
|
|
156
|
+
@level2type = N'COLUMN',
|
|
157
|
+
@level2name = N'${columnName}';
|
|
158
|
+
`.trim();
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Escape string for SQL
|
|
162
|
+
*/
|
|
163
|
+
escapeString(str) {
|
|
164
|
+
return str.replace(/'/g, "''");
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
exports.SQLGenerator = SQLGenerator;
|
|
168
|
+
//# sourceMappingURL=SQLGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLGenerator.js","sourceRoot":"","sources":["../../src/generators/SQLGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sample Query Generator
|
|
3
|
+
* Generates reference SQL queries for AI agents using LLM-powered analysis
|
|
4
|
+
*/
|
|
5
|
+
import { PromptEngine } from '../prompts/PromptEngine.js';
|
|
6
|
+
import { BaseAutoDocDriver } from '../drivers/BaseAutoDocDriver.js';
|
|
7
|
+
import { SampleQueryGenerationResult, SampleQueryGenerationConfig } from '../types/sample-queries.js';
|
|
8
|
+
import { SchemaDefinition } from '../types/state.js';
|
|
9
|
+
export declare class SampleQueryGenerator {
|
|
10
|
+
private config;
|
|
11
|
+
private promptEngine;
|
|
12
|
+
private driver;
|
|
13
|
+
private model;
|
|
14
|
+
private effortLevel?;
|
|
15
|
+
private maxTokens;
|
|
16
|
+
private outputFilePath?;
|
|
17
|
+
private summaryFilePath?;
|
|
18
|
+
private totalTokensUsed;
|
|
19
|
+
private totalCost;
|
|
20
|
+
private startTime;
|
|
21
|
+
constructor(config: SampleQueryGenerationConfig, promptEngine: PromptEngine, driver: BaseAutoDocDriver, model: string, effortLevel?: number | undefined, maxTokens?: number, // Default from typical AI config
|
|
22
|
+
outputFilePath?: string | undefined, // Optional path for incremental query writes
|
|
23
|
+
summaryFilePath?: string | undefined);
|
|
24
|
+
generateQueries(schemas: SchemaDefinition[]): Promise<SampleQueryGenerationResult>;
|
|
25
|
+
private generateQueriesForSchema;
|
|
26
|
+
private selectImportantTables;
|
|
27
|
+
private calculateTableImportance;
|
|
28
|
+
/**
|
|
29
|
+
* Generate queries using two-prompt approach:
|
|
30
|
+
* 1. Plan what queries to create (lightweight)
|
|
31
|
+
* 2. Generate SQL for each query individually (detailed)
|
|
32
|
+
*/
|
|
33
|
+
private generateQueriesForTable;
|
|
34
|
+
/**
|
|
35
|
+
* PHASE 1: Plan what queries to create (lightweight, all at once)
|
|
36
|
+
*/
|
|
37
|
+
private planQueries;
|
|
38
|
+
/**
|
|
39
|
+
* PHASE 2: Generate SQL for a single query (detailed)
|
|
40
|
+
*/
|
|
41
|
+
private generateQuerySQL;
|
|
42
|
+
private buildQueryGenerationContext;
|
|
43
|
+
private getRelatedTables;
|
|
44
|
+
private convertToTableContext;
|
|
45
|
+
private convertToColumnContext;
|
|
46
|
+
private getDatabaseType;
|
|
47
|
+
private getSeedContextDescription;
|
|
48
|
+
private parseQueryGenerationResponse;
|
|
49
|
+
private processGeneratedQueries;
|
|
50
|
+
private validateQuery;
|
|
51
|
+
private prepareValidationQuery;
|
|
52
|
+
private getSampleParameterValue;
|
|
53
|
+
private aggregateQueryMetrics;
|
|
54
|
+
/**
|
|
55
|
+
* Write queries and summary to files incrementally after each table completes
|
|
56
|
+
* This allows users to cancel the run and still see completed queries and progress
|
|
57
|
+
*/
|
|
58
|
+
private writeIncrementalOutput;
|
|
59
|
+
/**
|
|
60
|
+
* Calculate summary statistics from current set of queries
|
|
61
|
+
*/
|
|
62
|
+
private calculateSummary;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=SampleQueryGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SampleQueryGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/SampleQueryGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAEL,2BAA2B,EAE3B,2BAA2B,EAU5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AA6CtE,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,eAAe,CAAC;IAZ1B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAa;gBAGpB,MAAM,EAAE,2BAA2B,EACnC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,oBAAQ,EACpB,SAAS,GAAE,MAAc,EAAG,iCAAiC;IAC7D,cAAc,CAAC,oBAAQ,EAAG,6CAA6C;IACvE,eAAe,CAAC,oBAAQ;IAGrB,eAAe,CAC1B,OAAO,EAAE,gBAAgB,EAAE,GAC1B,OAAO,CAAC,2BAA2B,CAAC;YAsDzB,wBAAwB;IAqCtC,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,wBAAwB;IAkBhC;;;;OAIG;YACW,uBAAuB;IAsDrC;;OAEG;YACW,WAAW;IAkDzB;;OAEG;YACW,gBAAgB;IA8C9B,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,4BAA4B;YAYtB,uBAAuB;YA+CvB,aAAa;IA4B3B,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,qBAAqB;IAgB7B;;;OAGG;YACW,sBAAsB;IA2BpC;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAmBzB"}
|