@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/reset.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reset command - Clear state and start fresh
|
|
3
|
+
*/
|
|
1
4
|
import { Command } from '@oclif/core';
|
|
2
5
|
export default class Reset extends Command {
|
|
3
6
|
static description: string;
|
|
4
7
|
static examples: string[];
|
|
5
8
|
static flags: {
|
|
6
|
-
|
|
9
|
+
force: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
7
10
|
};
|
|
8
11
|
run(): Promise<void>;
|
|
9
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,WAAW,SAA0C;IAE5D,MAAM,CAAC,QAAQ,WAA2B;IAE1C,MAAM,CAAC,KAAK;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC3B"}
|
package/dist/commands/reset.js
CHANGED
|
@@ -1,37 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Reset command - Clear state and start fresh
|
|
4
|
+
*/
|
|
2
5
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
6
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
7
|
};
|
|
5
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
9
|
const core_1 = require("@oclif/core");
|
|
7
|
-
const
|
|
10
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
-
const
|
|
12
|
+
const config_loader_js_1 = require("../utils/config-loader.js");
|
|
13
|
+
const StateManager_js_1 = require("../state/StateManager.js");
|
|
10
14
|
class Reset extends core_1.Command {
|
|
11
15
|
async run() {
|
|
12
16
|
const { flags } = await this.parse(Reset);
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
try {
|
|
18
|
+
const config = await config_loader_js_1.ConfigLoader.load('./config.json');
|
|
19
|
+
const stateManager = new StateManager_js_1.StateManager(config.output.stateFile);
|
|
20
|
+
// Confirm deletion unless --force
|
|
21
|
+
if (!flags.force) {
|
|
22
|
+
const answer = await inquirer_1.default.prompt([
|
|
23
|
+
{
|
|
24
|
+
type: 'confirm',
|
|
25
|
+
name: 'confirm',
|
|
26
|
+
message: chalk_1.default.yellow('This will delete all analysis state. Continue?'),
|
|
27
|
+
default: false
|
|
28
|
+
}
|
|
29
|
+
]);
|
|
30
|
+
if (!answer.confirm) {
|
|
31
|
+
this.log('Reset cancelled');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
22
34
|
}
|
|
35
|
+
// Delete state file
|
|
36
|
+
await stateManager.delete();
|
|
37
|
+
this.log(chalk_1.default.green('✓ State reset complete!'));
|
|
38
|
+
this.log('Run: db-auto-doc analyze');
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
this.error(error.message);
|
|
23
42
|
}
|
|
24
43
|
}
|
|
25
44
|
}
|
|
26
|
-
Reset.description = 'Reset state
|
|
27
|
-
Reset.examples = [
|
|
28
|
-
'<%= config.bin %> <%= command.id %> --all',
|
|
29
|
-
];
|
|
45
|
+
Reset.description = 'Reset state and start fresh analysis';
|
|
46
|
+
Reset.examples = ['$ db-auto-doc reset'];
|
|
30
47
|
Reset.flags = {
|
|
31
|
-
|
|
32
|
-
description: 'Reset entire state file',
|
|
33
|
-
default: false,
|
|
34
|
-
}),
|
|
48
|
+
force: core_1.Flags.boolean({ char: 'f', description: 'Skip confirmation prompt' })
|
|
35
49
|
};
|
|
36
50
|
exports.default = Reset;
|
|
37
51
|
//# sourceMappingURL=reset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,sCAA6C;AAC7C,wDAAgC;AAChC,kDAA0B;AAC1B,gEAAyD;AACzD,8DAAwD;AAExD,MAAqB,KAAM,SAAQ,cAAO;IASxC,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,+BAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,8BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE/D,kCAAkC;YAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACnC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC;wBACvE,OAAO,EAAE,KAAK;qBACf;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAE5B,IAAI,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAEvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;;AAzCM,iBAAW,GAAG,sCAAsC,CAAC;AAErD,cAAQ,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEnC,WAAK,GAAG;IACb,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;CAC7E,CAAC;kBAPiB,KAAK"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status command - Show current analysis status
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from '@oclif/core';
|
|
5
|
+
export default class Status extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAKtC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAkC;IAEpD,MAAM,CAAC,QAAQ,WAA4B;IAErC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuD3B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Status command - Show current analysis status
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const core_1 = require("@oclif/core");
|
|
10
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const config_loader_js_1 = require("../utils/config-loader.js");
|
|
12
|
+
const StateManager_js_1 = require("../state/StateManager.js");
|
|
13
|
+
class Status extends core_1.Command {
|
|
14
|
+
async run() {
|
|
15
|
+
try {
|
|
16
|
+
const config = await config_loader_js_1.ConfigLoader.load('./config.json');
|
|
17
|
+
const stateManager = new StateManager_js_1.StateManager(config.output.stateFile);
|
|
18
|
+
const state = await stateManager.load();
|
|
19
|
+
if (!state) {
|
|
20
|
+
this.log(chalk_1.default.yellow('No analysis has been run yet.'));
|
|
21
|
+
this.log('Run: db-auto-doc analyze');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.log(chalk_1.default.blue(`\nDatabase Documentation Status\n`));
|
|
25
|
+
this.log(`Database: ${state.database.name}`);
|
|
26
|
+
this.log(`Server: ${state.database.server}`);
|
|
27
|
+
this.log(`Last Modified: ${state.summary.lastModified}\n`);
|
|
28
|
+
// Schemas
|
|
29
|
+
this.log(`Schemas: ${state.schemas.length}`);
|
|
30
|
+
const tableCount = state.schemas.reduce((sum, s) => sum + s.tables.length, 0);
|
|
31
|
+
this.log(`Tables: ${tableCount}\n`);
|
|
32
|
+
// Latest run
|
|
33
|
+
if (state.phases.descriptionGeneration.length > 0) {
|
|
34
|
+
const lastRun = state.phases.descriptionGeneration[state.phases.descriptionGeneration.length - 1];
|
|
35
|
+
this.log(chalk_1.default.blue('Latest Analysis Run:'));
|
|
36
|
+
this.log(` Status: ${lastRun.status}`);
|
|
37
|
+
this.log(` Iterations: ${lastRun.iterationsPerformed}`);
|
|
38
|
+
this.log(` Tokens Used: ${lastRun.totalTokensUsed.toLocaleString()}`);
|
|
39
|
+
this.log(` Estimated Cost: $${lastRun.estimatedCost.toFixed(2)}`);
|
|
40
|
+
if (lastRun.converged) {
|
|
41
|
+
this.log(chalk_1.default.green(` Converged: ${lastRun.convergenceReason}`));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.log(chalk_1.default.yellow(' Not yet converged'));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Low confidence tables
|
|
48
|
+
const lowConfidence = stateManager.getLowConfidenceTables(state, 0.7);
|
|
49
|
+
if (lowConfidence.length > 0) {
|
|
50
|
+
this.log(chalk_1.default.yellow(`\nLow Confidence Tables (< 0.7): ${lowConfidence.length}`));
|
|
51
|
+
}
|
|
52
|
+
// Unprocessed tables
|
|
53
|
+
const unprocessed = stateManager.getUnprocessedTables(state);
|
|
54
|
+
if (unprocessed.length > 0) {
|
|
55
|
+
this.log(chalk_1.default.yellow(`Unprocessed Tables: ${unprocessed.length}`));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.error(error.message);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
Status.description = 'Show current analysis status';
|
|
64
|
+
Status.examples = ['$ db-auto-doc status'];
|
|
65
|
+
exports.default = Status;
|
|
66
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main analysis orchestrator
|
|
3
|
+
* Coordinates the entire documentation generation workflow
|
|
4
|
+
*/
|
|
5
|
+
import { DatabaseDocumentation, AnalysisRun, SchemaDefinition } from '../types/state.js';
|
|
6
|
+
import { TableNode, BackpropagationTrigger } from '../types/analysis.js';
|
|
7
|
+
import { DBAutoDocConfig } from '../types/config.js';
|
|
8
|
+
import { PromptEngine } from '../prompts/PromptEngine.js';
|
|
9
|
+
import { StateManager } from '../state/StateManager.js';
|
|
10
|
+
import { IterationTracker } from '../state/IterationTracker.js';
|
|
11
|
+
export declare class AnalysisEngine {
|
|
12
|
+
private config;
|
|
13
|
+
private promptEngine;
|
|
14
|
+
private stateManager;
|
|
15
|
+
private iterationTracker;
|
|
16
|
+
private backpropagationEngine;
|
|
17
|
+
private convergenceDetector;
|
|
18
|
+
private guardrailsManager;
|
|
19
|
+
private startTime;
|
|
20
|
+
private currentRun?;
|
|
21
|
+
constructor(config: DBAutoDocConfig, promptEngine: PromptEngine, stateManager: StateManager, iterationTracker: IterationTracker);
|
|
22
|
+
/**
|
|
23
|
+
* Initialize timing for guardrails and set current run
|
|
24
|
+
*/
|
|
25
|
+
startAnalysis(run: AnalysisRun): void;
|
|
26
|
+
/**
|
|
27
|
+
* Process a single dependency level
|
|
28
|
+
*/
|
|
29
|
+
processLevel(state: DatabaseDocumentation, run: AnalysisRun, level: number, tables: TableNode[]): Promise<BackpropagationTrigger[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Analyze a single table
|
|
32
|
+
*/
|
|
33
|
+
private analyzeTable;
|
|
34
|
+
/**
|
|
35
|
+
* Build context for table analysis
|
|
36
|
+
*/
|
|
37
|
+
private buildTableContext;
|
|
38
|
+
/**
|
|
39
|
+
* Compare descriptions using LLM to determine material changes
|
|
40
|
+
*/
|
|
41
|
+
private compareDescriptions;
|
|
42
|
+
/**
|
|
43
|
+
* Perform dependency-level sanity check
|
|
44
|
+
* Checks consistency across tables at the same dependency level
|
|
45
|
+
*/
|
|
46
|
+
performDependencyLevelSanityCheck(state: DatabaseDocumentation, run: AnalysisRun, level: number, tables: TableNode[]): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Perform schema-level sanity check
|
|
49
|
+
* Holistic review after entire schema is analyzed
|
|
50
|
+
*/
|
|
51
|
+
performSchemaLevelSanityCheck(state: DatabaseDocumentation, run: AnalysisRun, schema: SchemaDefinition): Promise<boolean>;
|
|
52
|
+
/**
|
|
53
|
+
* Perform cross-schema sanity check
|
|
54
|
+
* Validates consistency across all schemas
|
|
55
|
+
*/
|
|
56
|
+
performCrossSchemaSanityCheck(state: DatabaseDocumentation, run: AnalysisRun): Promise<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* Check convergence
|
|
59
|
+
*/
|
|
60
|
+
checkConvergence(state: DatabaseDocumentation, run: AnalysisRun): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Execute backpropagation
|
|
63
|
+
*/
|
|
64
|
+
executeBackpropagation(state: DatabaseDocumentation, run: AnalysisRun, triggers: BackpropagationTrigger[]): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Extract FK insights from column descriptions and create feedback to discovery phase
|
|
67
|
+
*
|
|
68
|
+
* **DEPRECATED**: This method previously used brittle regex heuristics to parse natural language
|
|
69
|
+
* descriptions. Per architectural decision, we should use LLM for language understanding, not regex.
|
|
70
|
+
*
|
|
71
|
+
* **TODO**: Replace with structured LLM output approach:
|
|
72
|
+
* 1. Update table-analysis prompt to include a "foreignKeys" array in JSON response:
|
|
73
|
+
* {
|
|
74
|
+
* "tableDescription": "...",
|
|
75
|
+
* "columnDescriptions": [...],
|
|
76
|
+
* "foreignKeys": [
|
|
77
|
+
* { "column": "prd_id", "referencesTable": "inv.prd", "referencesColumn": "prd_id" }
|
|
78
|
+
* ]
|
|
79
|
+
* }
|
|
80
|
+
* 2. Process the structured foreignKeys array directly instead of parsing descriptions
|
|
81
|
+
* 3. Use deterministic code only for statistics calculation, LLM for reasoning
|
|
82
|
+
*
|
|
83
|
+
* For now, this method is disabled to prevent brittle regex-based FK detection.
|
|
84
|
+
*/
|
|
85
|
+
private extractAndFeedbackFKInsights;
|
|
86
|
+
/**
|
|
87
|
+
* Process structured FK insights from LLM and create feedback to discovery phase
|
|
88
|
+
*
|
|
89
|
+
* Uses the foreignKeys array from table-analysis prompt response instead of brittle regex parsing.
|
|
90
|
+
* Per architectural decision: use LLM for language understanding, deterministic code for processing.
|
|
91
|
+
*/
|
|
92
|
+
private processFKInsightsFromLLM;
|
|
93
|
+
/**
|
|
94
|
+
* Find a column in the state schemas
|
|
95
|
+
*/
|
|
96
|
+
private findColumnInState;
|
|
97
|
+
/**
|
|
98
|
+
* Update table-level dependsOn and dependents arrays when creating FK relationships
|
|
99
|
+
* This is required for ERD diagram generation
|
|
100
|
+
*/
|
|
101
|
+
private updateTableDependencies;
|
|
102
|
+
/**
|
|
103
|
+
* Resolve target table from LLM hint (e.g., "product", "warehouse", "supplier")
|
|
104
|
+
* Returns the best matching table and its likely PK column
|
|
105
|
+
*/
|
|
106
|
+
private resolveTargetTable;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=AnalysisEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalysisEngine.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,mBAAmB,CAAC;AAC5H,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAwB,MAAM,sBAAsB,CAAC;AAU/F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,qBAAa,cAAc;IAQvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IAV1B,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAc;gBAGvB,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB;IA4B5C;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAM5C;;OAEG;IACU,YAAY,CACvB,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAqBpC;;OAEG;YACW,YAAY;IAwJ1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuDzB;;OAEG;YACW,mBAAmB;IAuEjC;;;OAGG;IACU,iCAAiC,CAC5C,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,OAAO,CAAC;IAwEnB;;;OAGG;IACU,6BAA6B,CACxC,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC;IA6FnB;;;OAGG;IACU,6BAA6B,CACxC,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,OAAO,CAAC;IA+EnB;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO;IAWhF;;OAEG;IACU,sBAAsB,CACjC,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,sBAAsB,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoIhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA0D/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAiE3B"}
|