@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
package/dist/commands/analyze.js
CHANGED
|
@@ -1,98 +1,85 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
2
|
+
/**
|
|
3
|
+
* Analyze command - Thin CLI wrapper around AnalysisOrchestrator
|
|
4
|
+
*/
|
|
25
5
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
6
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
7
|
};
|
|
28
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
9
|
const core_1 = require("@oclif/core");
|
|
10
|
+
const ora_1 = __importDefault(require("ora"));
|
|
30
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const state_manager_1 = require("../state/state-manager");
|
|
34
|
-
const simple_ai_client_1 = require("../ai/simple-ai-client");
|
|
35
|
-
const analyzer_1 = require("../analyzers/analyzer");
|
|
36
|
-
dotenv.config();
|
|
12
|
+
const config_loader_js_1 = require("../utils/config-loader.js");
|
|
13
|
+
const AnalysisOrchestrator_js_1 = require("../core/AnalysisOrchestrator.js");
|
|
37
14
|
class Analyze extends core_1.Command {
|
|
38
15
|
async run() {
|
|
39
16
|
const { flags } = await this.parse(Analyze);
|
|
40
|
-
|
|
17
|
+
const spinner = (0, ora_1.default)();
|
|
41
18
|
try {
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
|
|
19
|
+
// Load configuration
|
|
20
|
+
spinner.start('Loading configuration');
|
|
21
|
+
const config = await config_loader_js_1.ConfigLoader.load(flags.config);
|
|
22
|
+
spinner.succeed('Configuration loaded');
|
|
23
|
+
// Create orchestrator
|
|
24
|
+
const orchestrator = new AnalysisOrchestrator_js_1.AnalysisOrchestrator({
|
|
25
|
+
config,
|
|
26
|
+
resumeFromState: flags.resume,
|
|
27
|
+
onProgress: (message, data) => {
|
|
28
|
+
if (data) {
|
|
29
|
+
spinner.succeed(`${message}: ${JSON.stringify(data)}`);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
spinner.text = message;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
// Execute analysis
|
|
37
|
+
spinner.start('Starting analysis');
|
|
38
|
+
const result = await orchestrator.execute();
|
|
39
|
+
if (result.success) {
|
|
40
|
+
spinner.succeed('Analysis complete!');
|
|
41
|
+
this.log(chalk_1.default.green('\n✓ Analysis complete!'));
|
|
42
|
+
this.log(` Iterations: ${result.run.iterationsPerformed}`);
|
|
43
|
+
this.log(` Tokens used: ${result.run.totalTokensUsed?.toLocaleString() || 0}`);
|
|
44
|
+
this.log(` Estimated cost: $${result.run.estimatedCost?.toFixed(2) || '0.00'}`);
|
|
45
|
+
this.log(` Output folder: ${result.outputFolder}`);
|
|
46
|
+
this.log(` Files:`);
|
|
47
|
+
this.log(` - state.json`);
|
|
48
|
+
this.log(` - extended-props.sql`);
|
|
49
|
+
this.log(` - summary.md`);
|
|
50
|
+
if (flags.resume) {
|
|
51
|
+
this.log(chalk_1.default.blue(`\n Resumed from: ${flags.resume}`));
|
|
52
|
+
}
|
|
45
53
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const connected = await connection.test();
|
|
50
|
-
if (!connected) {
|
|
51
|
-
this.error('Cannot connect to database');
|
|
54
|
+
else {
|
|
55
|
+
spinner.fail('Analysis failed');
|
|
56
|
+
this.error(result.message || 'Unknown error');
|
|
52
57
|
}
|
|
53
|
-
// Load state
|
|
54
|
-
const state = await stateManager.load(process.env.DB_SERVER || 'localhost', process.env.DB_DATABASE || 'master');
|
|
55
|
-
const aiClient = new simple_ai_client_1.SimpleAIClient();
|
|
56
|
-
const analyzer = new analyzer_1.DatabaseAnalyzer(connection, stateManager, aiClient);
|
|
57
|
-
const schemas = flags.schemas ? flags.schemas.split(',') : undefined;
|
|
58
|
-
await analyzer.analyze({
|
|
59
|
-
schemas,
|
|
60
|
-
incremental: flags.incremental,
|
|
61
|
-
interactive: flags.interactive,
|
|
62
|
-
});
|
|
63
|
-
await connection.close();
|
|
64
|
-
this.log(chalk_1.default.green('\n✅ Analysis complete!'));
|
|
65
|
-
this.log('\nNext steps:');
|
|
66
|
-
this.log(' - Review: db-auto-doc review');
|
|
67
|
-
this.log(' - Export: db-auto-doc export');
|
|
68
58
|
}
|
|
69
59
|
catch (error) {
|
|
60
|
+
spinner.fail('Analysis failed');
|
|
70
61
|
this.error(error.message);
|
|
71
62
|
}
|
|
72
63
|
}
|
|
73
64
|
}
|
|
74
65
|
Analyze.description = 'Analyze database and generate documentation';
|
|
75
66
|
Analyze.examples = [
|
|
76
|
-
'
|
|
77
|
-
'
|
|
78
|
-
'
|
|
67
|
+
'$ db-auto-doc analyze',
|
|
68
|
+
'$ db-auto-doc analyze --resume ./output/run-6/state.json',
|
|
69
|
+
'$ db-auto-doc analyze --config ./my-config.json'
|
|
79
70
|
];
|
|
80
71
|
Analyze.flags = {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
incremental: core_1.Flags.boolean({
|
|
86
|
-
description: 'Only process new tables',
|
|
87
|
-
default: false,
|
|
88
|
-
}),
|
|
89
|
-
schemas: core_1.Flags.string({
|
|
90
|
-
description: 'Comma-separated schema list',
|
|
91
|
-
}),
|
|
92
|
-
batch: core_1.Flags.boolean({
|
|
93
|
-
description: 'Non-interactive batch mode',
|
|
94
|
-
default: false,
|
|
72
|
+
resume: core_1.Flags.string({
|
|
73
|
+
char: 'r',
|
|
74
|
+
description: 'Resume from an existing state file',
|
|
75
|
+
required: false
|
|
95
76
|
}),
|
|
77
|
+
config: core_1.Flags.string({
|
|
78
|
+
char: 'c',
|
|
79
|
+
description: 'Path to config file',
|
|
80
|
+
default: './config.json'
|
|
81
|
+
})
|
|
96
82
|
};
|
|
83
|
+
Analyze.args = {};
|
|
97
84
|
exports.default = Analyze;
|
|
98
85
|
//# sourceMappingURL=analyze.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export command - Generate SQL and Markdown documentation
|
|
3
|
+
*/
|
|
1
4
|
import { Command } from '@oclif/core';
|
|
2
5
|
export default class Export extends Command {
|
|
3
6
|
static description: string;
|
|
4
7
|
static examples: string[];
|
|
5
8
|
static flags: {
|
|
6
|
-
|
|
7
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
'state-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
'output-dir': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
sql: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
12
|
+
markdown: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
13
|
+
html: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
14
|
+
csv: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
15
|
+
mermaid: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
16
|
+
report: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
17
|
+
apply: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
|
+
'approved-only': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
19
|
+
'confidence-threshold': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
20
|
};
|
|
11
21
|
run(): Promise<void>;
|
|
12
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAe7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAkF;IAEpG,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAYV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqK3B"}
|
package/dist/commands/export.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Export command - Generate SQL and Markdown documentation
|
|
4
|
+
*/
|
|
2
5
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
6
|
if (k2 === undefined) k2 = k;
|
|
4
7
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -27,91 +30,183 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
30
|
};
|
|
28
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
32
|
const core_1 = require("@oclif/core");
|
|
30
|
-
const prompts_1 = require("@inquirer/prompts");
|
|
31
|
-
const ora_1 = __importDefault(require("ora"));
|
|
32
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
33
33
|
const fs = __importStar(require("fs/promises"));
|
|
34
34
|
const path = __importStar(require("path"));
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
35
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
36
|
+
const ora_1 = __importDefault(require("ora"));
|
|
37
|
+
const config_loader_js_1 = require("../utils/config-loader.js");
|
|
38
|
+
const StateManager_js_1 = require("../state/StateManager.js");
|
|
39
|
+
const SQLGenerator_js_1 = require("../generators/SQLGenerator.js");
|
|
40
|
+
const MarkdownGenerator_js_1 = require("../generators/MarkdownGenerator.js");
|
|
41
|
+
const ReportGenerator_js_1 = require("../generators/ReportGenerator.js");
|
|
42
|
+
const HTMLGenerator_js_1 = require("../generators/HTMLGenerator.js");
|
|
43
|
+
const CSVGenerator_js_1 = require("../generators/CSVGenerator.js");
|
|
44
|
+
const MermaidGenerator_js_1 = require("../generators/MermaidGenerator.js");
|
|
45
|
+
const Database_js_1 = require("../database/Database.js");
|
|
39
46
|
class Export extends core_1.Command {
|
|
40
47
|
async run() {
|
|
41
48
|
const { flags } = await this.parse(Export);
|
|
42
|
-
|
|
49
|
+
const spinner = (0, ora_1.default)();
|
|
43
50
|
try {
|
|
44
|
-
|
|
51
|
+
// Determine state file path
|
|
52
|
+
let stateFilePath;
|
|
53
|
+
let outputDir;
|
|
54
|
+
let config = null;
|
|
55
|
+
if (flags['state-file']) {
|
|
56
|
+
// Direct state file mode - no config needed
|
|
57
|
+
stateFilePath = path.resolve(flags['state-file']);
|
|
58
|
+
outputDir = flags['output-dir']
|
|
59
|
+
? path.resolve(flags['output-dir'])
|
|
60
|
+
: path.dirname(stateFilePath);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Config-based mode (original behavior)
|
|
64
|
+
spinner.start('Loading configuration');
|
|
65
|
+
config = await config_loader_js_1.ConfigLoader.load('./config.json');
|
|
66
|
+
spinner.succeed('Configuration loaded');
|
|
67
|
+
stateFilePath = config.output.stateFile;
|
|
68
|
+
outputDir = path.dirname(config.output.sqlFile);
|
|
69
|
+
}
|
|
70
|
+
// Load state
|
|
71
|
+
spinner.start('Loading state');
|
|
72
|
+
const stateManager = new StateManager_js_1.StateManager(stateFilePath);
|
|
45
73
|
const state = await stateManager.load();
|
|
46
|
-
|
|
74
|
+
if (!state) {
|
|
75
|
+
throw new Error(`No state file found at ${stateFilePath}. Run "db-auto-doc analyze" first.`);
|
|
76
|
+
}
|
|
77
|
+
spinner.succeed('State loaded');
|
|
78
|
+
// Ensure output directory exists
|
|
47
79
|
await fs.mkdir(outputDir, { recursive: true });
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
80
|
+
// Default to SQL + Markdown if no specific format flags provided
|
|
81
|
+
const anyFormatSpecified = flags.sql || flags.markdown || flags.html || flags.csv || flags.mermaid || flags.report;
|
|
82
|
+
const generateSQL = flags.sql || !anyFormatSpecified;
|
|
83
|
+
const generateMarkdown = flags.markdown || !anyFormatSpecified;
|
|
84
|
+
const generateHTML = flags.html;
|
|
85
|
+
const generateCSV = flags.csv;
|
|
86
|
+
const generateMermaid = flags.mermaid;
|
|
87
|
+
// Prepare generator options
|
|
88
|
+
const generatorOptions = {
|
|
89
|
+
approvedOnly: flags['approved-only'],
|
|
90
|
+
confidenceThreshold: parseFloat(flags['confidence-threshold'])
|
|
91
|
+
};
|
|
92
|
+
// Generate SQL
|
|
93
|
+
if (generateSQL) {
|
|
94
|
+
spinner.start('Generating SQL script');
|
|
95
|
+
const sqlGen = new SQLGenerator_js_1.SQLGenerator();
|
|
96
|
+
const sql = sqlGen.generate(state, generatorOptions);
|
|
97
|
+
const sqlPath = path.join(outputDir, 'extended-props.sql');
|
|
98
|
+
await fs.writeFile(sqlPath, sql, 'utf-8');
|
|
99
|
+
spinner.succeed(`SQL script saved to ${sqlPath}`);
|
|
100
|
+
// Apply to database if requested
|
|
101
|
+
if (flags.apply) {
|
|
102
|
+
if (!config) {
|
|
103
|
+
this.warn('--apply requires a config file. Skipping database application.');
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
spinner.start('Applying SQL to database');
|
|
107
|
+
const dbConfig = {
|
|
108
|
+
provider: config.database.provider || 'sqlserver',
|
|
109
|
+
host: config.database.server,
|
|
110
|
+
port: config.database.port,
|
|
111
|
+
database: config.database.database,
|
|
112
|
+
user: config.database.user,
|
|
113
|
+
password: config.database.password,
|
|
114
|
+
encrypt: config.database.encrypt,
|
|
115
|
+
trustServerCertificate: config.database.trustServerCertificate
|
|
116
|
+
};
|
|
117
|
+
const db = new Database_js_1.DatabaseConnection(dbConfig);
|
|
118
|
+
await db.connect();
|
|
119
|
+
const result = await db.query(sql);
|
|
120
|
+
await db.close();
|
|
121
|
+
if (result.success) {
|
|
122
|
+
spinner.succeed('SQL applied successfully');
|
|
67
123
|
}
|
|
68
|
-
|
|
69
|
-
spinner.fail(
|
|
70
|
-
throw error;
|
|
124
|
+
else {
|
|
125
|
+
spinner.fail(`SQL application failed: ${result.errorMessage}`);
|
|
71
126
|
}
|
|
72
|
-
await connection.close();
|
|
73
127
|
}
|
|
74
128
|
}
|
|
75
129
|
}
|
|
76
|
-
|
|
77
|
-
|
|
130
|
+
// Generate Markdown
|
|
131
|
+
if (generateMarkdown) {
|
|
132
|
+
spinner.start('Generating Markdown documentation');
|
|
133
|
+
const mdGen = new MarkdownGenerator_js_1.MarkdownGenerator();
|
|
78
134
|
const markdown = mdGen.generate(state);
|
|
79
|
-
const mdPath = path.join(outputDir, '
|
|
80
|
-
await fs.writeFile(mdPath, markdown);
|
|
81
|
-
|
|
135
|
+
const mdPath = path.join(outputDir, 'summary.md');
|
|
136
|
+
await fs.writeFile(mdPath, markdown, 'utf-8');
|
|
137
|
+
spinner.succeed(`Markdown documentation saved to ${mdPath}`);
|
|
138
|
+
}
|
|
139
|
+
// Generate HTML
|
|
140
|
+
if (generateHTML) {
|
|
141
|
+
spinner.start('Generating HTML documentation');
|
|
142
|
+
const htmlGen = new HTMLGenerator_js_1.HTMLGenerator();
|
|
143
|
+
const html = htmlGen.generate(state, generatorOptions);
|
|
144
|
+
const htmlPath = path.join(outputDir, 'documentation.html');
|
|
145
|
+
await fs.writeFile(htmlPath, html, 'utf-8');
|
|
146
|
+
spinner.succeed(`HTML documentation saved to ${htmlPath}`);
|
|
147
|
+
}
|
|
148
|
+
// Generate CSV
|
|
149
|
+
if (generateCSV) {
|
|
150
|
+
spinner.start('Generating CSV exports');
|
|
151
|
+
const csvGen = new CSVGenerator_js_1.CSVGenerator();
|
|
152
|
+
const csvExport = csvGen.generate(state, generatorOptions);
|
|
153
|
+
const tablesPath = path.join(outputDir, 'tables.csv');
|
|
154
|
+
const columnsPath = path.join(outputDir, 'columns.csv');
|
|
155
|
+
await fs.writeFile(tablesPath, csvExport.tables, 'utf-8');
|
|
156
|
+
await fs.writeFile(columnsPath, csvExport.columns, 'utf-8');
|
|
157
|
+
spinner.succeed(`CSV exports saved to ${tablesPath} and ${columnsPath}`);
|
|
158
|
+
}
|
|
159
|
+
// Generate Mermaid
|
|
160
|
+
if (generateMermaid) {
|
|
161
|
+
spinner.start('Generating Mermaid diagram');
|
|
162
|
+
const mermaidGen = new MermaidGenerator_js_1.MermaidGenerator();
|
|
163
|
+
const mermaidDiagram = mermaidGen.generate(state, generatorOptions);
|
|
164
|
+
const mermaidHtml = mermaidGen.generateHtml(state, generatorOptions);
|
|
165
|
+
const mermaidPath = path.join(outputDir, 'erd.mmd');
|
|
166
|
+
const mermaidHtmlPath = path.join(outputDir, 'erd.html');
|
|
167
|
+
await fs.writeFile(mermaidPath, mermaidDiagram, 'utf-8');
|
|
168
|
+
await fs.writeFile(mermaidHtmlPath, mermaidHtml, 'utf-8');
|
|
169
|
+
spinner.succeed(`Mermaid diagram saved to ${mermaidPath} and ${mermaidHtmlPath}`);
|
|
170
|
+
}
|
|
171
|
+
// Generate Report
|
|
172
|
+
if (flags.report) {
|
|
173
|
+
spinner.start('Generating analysis report');
|
|
174
|
+
const reportGen = new ReportGenerator_js_1.ReportGenerator(stateManager);
|
|
175
|
+
const report = reportGen.generate(state);
|
|
176
|
+
const reportPath = path.join(outputDir, 'analysis-report.md');
|
|
177
|
+
await fs.writeFile(reportPath, report, 'utf-8');
|
|
178
|
+
spinner.succeed(`Analysis report saved to ${reportPath}`);
|
|
82
179
|
}
|
|
83
|
-
this.log(chalk_1.default.green('\n
|
|
180
|
+
this.log(chalk_1.default.green('\n✓ Export complete!'));
|
|
84
181
|
}
|
|
85
182
|
catch (error) {
|
|
183
|
+
spinner.fail('Export failed');
|
|
86
184
|
this.error(error.message);
|
|
87
185
|
}
|
|
88
186
|
}
|
|
89
187
|
}
|
|
90
|
-
Export.description = '
|
|
188
|
+
Export.description = 'Export documentation in multiple formats (SQL, Markdown, HTML, CSV, Mermaid)';
|
|
91
189
|
Export.examples = [
|
|
92
|
-
'
|
|
93
|
-
'
|
|
94
|
-
'
|
|
95
|
-
'
|
|
190
|
+
'$ db-auto-doc export --state-file=./db-doc-state.json',
|
|
191
|
+
'$ db-auto-doc export --sql',
|
|
192
|
+
'$ db-auto-doc export --markdown',
|
|
193
|
+
'$ db-auto-doc export --html',
|
|
194
|
+
'$ db-auto-doc export --csv',
|
|
195
|
+
'$ db-auto-doc export --mermaid',
|
|
196
|
+
'$ db-auto-doc export --sql --markdown --html --csv --mermaid --apply'
|
|
96
197
|
];
|
|
97
198
|
Export.flags = {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}),
|
|
107
|
-
'approved-only': core_1.Flags.boolean({
|
|
108
|
-
|
|
109
|
-
default: false,
|
|
110
|
-
}),
|
|
111
|
-
execute: core_1.Flags.boolean({
|
|
112
|
-
description: 'Execute SQL script (apply to database)',
|
|
113
|
-
default: false,
|
|
114
|
-
}),
|
|
199
|
+
'state-file': core_1.Flags.string({ description: 'Path to state JSON file', char: 's' }),
|
|
200
|
+
'output-dir': core_1.Flags.string({ description: 'Output directory for generated files', char: 'o' }),
|
|
201
|
+
sql: core_1.Flags.boolean({ description: 'Generate SQL script' }),
|
|
202
|
+
markdown: core_1.Flags.boolean({ description: 'Generate Markdown documentation' }),
|
|
203
|
+
html: core_1.Flags.boolean({ description: 'Generate interactive HTML documentation' }),
|
|
204
|
+
csv: core_1.Flags.boolean({ description: 'Generate CSV exports (tables and columns)' }),
|
|
205
|
+
mermaid: core_1.Flags.boolean({ description: 'Generate Mermaid ERD diagram files' }),
|
|
206
|
+
report: core_1.Flags.boolean({ description: 'Generate analysis report' }),
|
|
207
|
+
apply: core_1.Flags.boolean({ description: 'Apply SQL to database', default: false }),
|
|
208
|
+
'approved-only': core_1.Flags.boolean({ description: 'Only export approved items', default: false }),
|
|
209
|
+
'confidence-threshold': core_1.Flags.string({ description: 'Minimum confidence threshold', default: '0' })
|
|
115
210
|
};
|
|
116
211
|
exports.default = Export;
|
|
117
212
|
//# sourceMappingURL=export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate Queries command - Generate sample SQL queries from existing state
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from '@oclif/core';
|
|
5
|
+
export default class GenerateQueries extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
'from-state': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
'output-dir': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
config: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
'queries-per-table': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
|
+
'max-execution-time': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=generate-queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-queries.d.ts","sourceRoot":"","sources":["../../src/commands/generate-queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAa7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAA8D;IAEhF,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;MAsBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4I3B"}
|