@memberjunction/db-auto-doc 3.3.0 → 4.0.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/bin/run.js +4 -7
- package/dist/ai/simple-ai-client.d.ts +70 -0
- package/dist/ai/simple-ai-client.d.ts.map +1 -0
- package/dist/ai/simple-ai-client.js +181 -0
- package/dist/ai/simple-ai-client.js.map +1 -0
- package/dist/analyzers/analyzer.d.ts +23 -0
- package/dist/analyzers/analyzer.d.ts.map +1 -0
- package/dist/analyzers/analyzer.js +127 -0
- package/dist/analyzers/analyzer.js.map +1 -0
- package/dist/api/DBAutoDocAPI.js +14 -41
- package/dist/api/DBAutoDocAPI.js.map +1 -1
- package/dist/api/index.js +1 -5
- package/dist/api/index.js.map +1 -1
- package/dist/cli-old/cli.d.ts +3 -0
- package/dist/cli-old/cli.d.ts.map +1 -0
- package/dist/cli-old/cli.js +388 -0
- package/dist/cli-old/cli.js.map +1 -0
- package/dist/commands/analyze.d.ts +1 -1
- package/dist/commands/analyze.js +30 -36
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/export-sample-queries.d.ts +1 -1
- package/dist/commands/export-sample-queries.js +65 -94
- package/dist/commands/export-sample-queries.js.map +1 -1
- package/dist/commands/export.d.ts +2 -2
- package/dist/commands/export.js +49 -78
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/generate-queries.d.ts +2 -2
- package/dist/commands/generate-queries.js +44 -73
- package/dist/commands/generate-queries.js.map +1 -1
- package/dist/commands/init.js +21 -27
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/reset.js +16 -22
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/review.d.ts +11 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +82 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/status.js +16 -22
- package/dist/commands/status.js.map +1 -1
- package/dist/core/AnalysisEngine.js +7 -11
- package/dist/core/AnalysisEngine.js.map +1 -1
- package/dist/core/AnalysisOrchestrator.js +27 -54
- package/dist/core/AnalysisOrchestrator.js.map +1 -1
- package/dist/core/BackpropagationEngine.js +1 -5
- package/dist/core/BackpropagationEngine.js.map +1 -1
- package/dist/core/ConvergenceDetector.js +1 -5
- package/dist/core/ConvergenceDetector.js.map +1 -1
- package/dist/core/GuardrailsManager.js +1 -5
- package/dist/core/GuardrailsManager.js.map +1 -1
- package/dist/core/index.js +3 -9
- package/dist/core/index.js.map +1 -1
- package/dist/database/Database.js +10 -17
- package/dist/database/Database.js.map +1 -1
- package/dist/database/TopologicalSorter.js +1 -5
- package/dist/database/TopologicalSorter.js.map +1 -1
- package/dist/database/connection.d.ts +40 -0
- package/dist/database/connection.d.ts.map +1 -0
- package/dist/database/connection.js +136 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/index.js +2 -10
- package/dist/database/index.js.map +1 -1
- package/dist/database/introspection.d.ts +59 -0
- package/dist/database/introspection.d.ts.map +1 -0
- package/dist/database/introspection.js +124 -0
- package/dist/database/introspection.js.map +1 -0
- package/dist/discovery/ColumnStatsCache.js +1 -5
- package/dist/discovery/ColumnStatsCache.js.map +1 -1
- package/dist/discovery/DiscoveryEngine.js +11 -15
- package/dist/discovery/DiscoveryEngine.js.map +1 -1
- package/dist/discovery/DiscoveryTriggerAnalyzer.js +1 -5
- package/dist/discovery/DiscoveryTriggerAnalyzer.js.map +1 -1
- package/dist/discovery/FKDetector.js +1 -5
- package/dist/discovery/FKDetector.js.map +1 -1
- package/dist/discovery/LLMDiscoveryValidator.js +4 -8
- package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
- package/dist/discovery/LLMSanityChecker.js +3 -7
- package/dist/discovery/LLMSanityChecker.js.map +1 -1
- package/dist/discovery/PKDetector.js +1 -5
- package/dist/discovery/PKDetector.js.map +1 -1
- package/dist/discovery/index.js +4 -20
- package/dist/discovery/index.js.map +1 -1
- package/dist/drivers/BaseAutoDocDriver.js +1 -5
- package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
- package/dist/drivers/MySQLDriver.js +8 -14
- package/dist/drivers/MySQLDriver.js.map +1 -1
- package/dist/drivers/PostgreSQLDriver.js +8 -11
- package/dist/drivers/PostgreSQLDriver.js.map +1 -1
- package/dist/drivers/SQLServerDriver.js +7 -33
- package/dist/drivers/SQLServerDriver.js.map +1 -1
- package/dist/generators/CSVGenerator.js +1 -5
- package/dist/generators/CSVGenerator.js.map +1 -1
- package/dist/generators/HTMLGenerator.js +1 -5
- package/dist/generators/HTMLGenerator.js.map +1 -1
- package/dist/generators/MarkdownGenerator.js +1 -5
- package/dist/generators/MarkdownGenerator.js.map +1 -1
- package/dist/generators/MermaidGenerator.js +1 -5
- package/dist/generators/MermaidGenerator.js.map +1 -1
- package/dist/generators/ReportGenerator.js +1 -5
- package/dist/generators/ReportGenerator.js.map +1 -1
- package/dist/generators/SQLGenerator.js +1 -5
- package/dist/generators/SQLGenerator.js.map +1 -1
- package/dist/generators/SampleQueryGenerator.d.ts +1 -1
- package/dist/generators/SampleQueryGenerator.d.ts.map +1 -1
- package/dist/generators/SampleQueryGenerator.js +36 -40
- package/dist/generators/SampleQueryGenerator.js.map +1 -1
- package/dist/generators/index.js +6 -15
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/markdown-generator.d.ts +8 -0
- package/dist/generators/markdown-generator.d.ts.map +1 -0
- package/dist/generators/markdown-generator.js +106 -0
- package/dist/generators/markdown-generator.js.map +1 -0
- package/dist/generators/sql-generator.d.ts +20 -0
- package/dist/generators/sql-generator.d.ts.map +1 -0
- package/dist/generators/sql-generator.js +83 -0
- package/dist/generators/sql-generator.js.map +1 -0
- package/dist/index.js +9 -25
- package/dist/index.js.map +1 -1
- package/dist/prompts/PromptEngine.js +6 -33
- package/dist/prompts/PromptEngine.js.map +1 -1
- package/dist/prompts/PromptFileLoader.js +4 -31
- package/dist/prompts/PromptFileLoader.js.map +1 -1
- package/dist/prompts/index.js +2 -7
- package/dist/prompts/index.js.map +1 -1
- package/dist/state/IterationTracker.js +1 -5
- package/dist/state/IterationTracker.js.map +1 -1
- package/dist/state/StateManager.js +3 -30
- package/dist/state/StateManager.js.map +1 -1
- package/dist/state/StateValidator.js +1 -5
- package/dist/state/StateValidator.js.map +1 -1
- package/dist/state/index.js +3 -9
- package/dist/state/index.js.map +1 -1
- package/dist/state/state-manager.d.ts +95 -0
- package/dist/state/state-manager.d.ts.map +1 -0
- package/dist/state/state-manager.js +236 -0
- package/dist/state/state-manager.js.map +1 -0
- package/dist/types/analysis.js +1 -2
- package/dist/types/analysis.js.map +1 -1
- package/dist/types/config.js +1 -2
- package/dist/types/config.js.map +1 -1
- package/dist/types/discovery.js +1 -2
- package/dist/types/discovery.js.map +1 -1
- package/dist/types/driver.js +1 -2
- package/dist/types/driver.js.map +1 -1
- package/dist/types/index.js +4 -20
- package/dist/types/index.js.map +1 -1
- package/dist/types/prompts.js +1 -2
- package/dist/types/prompts.js.map +1 -1
- package/dist/types/sample-queries.js +1 -2
- package/dist/types/sample-queries.js.map +1 -1
- package/dist/types/state-file.d.ts +124 -0
- package/dist/types/state-file.d.ts.map +1 -0
- package/dist/types/state-file.js +79 -0
- package/dist/types/state-file.js.map +1 -0
- package/dist/types/state.js +1 -2
- package/dist/types/state.js.map +1 -1
- package/dist/utils/config-loader.js +3 -30
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/index.js +1 -5
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/llm-factory.js +6 -12
- package/dist/utils/llm-factory.js.map +1 -1
- package/package.json +24 -23
|
@@ -1,52 +1,49 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Generate Queries command - Generate sample SQL queries from existing state
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const StateManager_js_1 = require("../state/StateManager.js");
|
|
42
|
-
class GenerateQueries extends core_1.Command {
|
|
4
|
+
import { Command, Flags } from '@oclif/core';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import * as fs from 'fs/promises';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import { ConfigLoader } from '../utils/config-loader.js';
|
|
10
|
+
import { DatabaseConnection } from '../database/Database.js';
|
|
11
|
+
import { PromptEngine } from '../prompts/PromptEngine.js';
|
|
12
|
+
import { SampleQueryGenerator } from '../generators/SampleQueryGenerator.js';
|
|
13
|
+
import { StateManager } from '../state/StateManager.js';
|
|
14
|
+
export default class GenerateQueries extends Command {
|
|
15
|
+
static { this.description = 'Generate sample SQL queries from existing analysis state'; }
|
|
16
|
+
static { this.examples = [
|
|
17
|
+
'$ db-auto-doc generate-queries --from-state ./output/run-1/state.json',
|
|
18
|
+
'$ db-auto-doc generate-queries --from-state ./output/run-1/state.json --queries-per-table 10',
|
|
19
|
+
'$ db-auto-doc generate-queries --from-state ./output/run-1/state.json --max-execution-time 60000'
|
|
20
|
+
]; }
|
|
21
|
+
static { this.flags = {
|
|
22
|
+
'from-state': Flags.string({
|
|
23
|
+
description: 'Path to existing state.json file from previous analysis',
|
|
24
|
+
required: true
|
|
25
|
+
}),
|
|
26
|
+
config: Flags.string({
|
|
27
|
+
char: 'c',
|
|
28
|
+
description: 'Path to config file (for database connection and AI settings)',
|
|
29
|
+
default: './config.json'
|
|
30
|
+
}),
|
|
31
|
+
'queries-per-table': Flags.integer({
|
|
32
|
+
description: 'Number of queries to generate per table',
|
|
33
|
+
required: false
|
|
34
|
+
}),
|
|
35
|
+
'max-execution-time': Flags.integer({
|
|
36
|
+
description: 'Maximum execution time for query validation (ms)',
|
|
37
|
+
required: false
|
|
38
|
+
})
|
|
39
|
+
}; }
|
|
43
40
|
async run() {
|
|
44
41
|
const { flags } = await this.parse(GenerateQueries);
|
|
45
|
-
const spinner = (
|
|
42
|
+
const spinner = ora();
|
|
46
43
|
try {
|
|
47
44
|
// Load configuration for database connection and AI settings
|
|
48
45
|
spinner.start('Loading configuration');
|
|
49
|
-
const config = await
|
|
46
|
+
const config = await ConfigLoader.load(flags.config);
|
|
50
47
|
spinner.succeed('Configuration loaded');
|
|
51
48
|
// Load existing state
|
|
52
49
|
spinner.start('Loading existing analysis state');
|
|
@@ -70,7 +67,7 @@ class GenerateQueries extends core_1.Command {
|
|
|
70
67
|
minConnections: config.database.minConnections,
|
|
71
68
|
idleTimeoutMillis: config.database.idleTimeoutMillis
|
|
72
69
|
};
|
|
73
|
-
const db = new
|
|
70
|
+
const db = new DatabaseConnection(driverConfig);
|
|
74
71
|
await db.connect();
|
|
75
72
|
const testResult = await db.test();
|
|
76
73
|
if (!testResult.success) {
|
|
@@ -80,7 +77,7 @@ class GenerateQueries extends core_1.Command {
|
|
|
80
77
|
// Initialize prompt engine
|
|
81
78
|
spinner.start('Initializing AI prompt engine');
|
|
82
79
|
const promptsDir = path.join(__dirname, '../../prompts');
|
|
83
|
-
const promptEngine = new
|
|
80
|
+
const promptEngine = new PromptEngine(config.ai, promptsDir);
|
|
84
81
|
await promptEngine.initialize();
|
|
85
82
|
spinner.succeed('Prompt engine ready');
|
|
86
83
|
// Build query generation config
|
|
@@ -99,16 +96,16 @@ class GenerateQueries extends core_1.Command {
|
|
|
99
96
|
const effortLevel = config.ai.effortLevel || 75;
|
|
100
97
|
const maxTokens = config.ai.maxTokens || 16000; // Use config value or default
|
|
101
98
|
// Create StateManager for state file updates
|
|
102
|
-
const stateManager = new
|
|
99
|
+
const stateManager = new StateManager(flags['from-state']);
|
|
103
100
|
// Create generator
|
|
104
101
|
spinner.start('Generating sample queries');
|
|
105
|
-
const generator = new
|
|
102
|
+
const generator = new SampleQueryGenerator(queryConfig, promptEngine, db.getDriver(), model, stateManager, effortLevel, maxTokens);
|
|
106
103
|
// Generate queries (will update state file incrementally)
|
|
107
104
|
const result = await generator.generateQueries(state.schemas);
|
|
108
105
|
await db.close();
|
|
109
106
|
if (result.success) {
|
|
110
107
|
spinner.succeed('Sample queries generated!');
|
|
111
|
-
this.log(
|
|
108
|
+
this.log(chalk.green('\n✓ Query generation complete!'));
|
|
112
109
|
this.log(` Total queries: ${result.summary.totalQueriesGenerated}`);
|
|
113
110
|
this.log(` Validated: ${result.summary.queriesValidated}`);
|
|
114
111
|
this.log(` Failed validation: ${result.summary.queriesFailed}`);
|
|
@@ -118,7 +115,7 @@ class GenerateQueries extends core_1.Command {
|
|
|
118
115
|
this.log(` Execution time: ${(result.summary.totalExecutionTime / 1000).toFixed(1)}s`);
|
|
119
116
|
this.log(`\n Queries saved to:`);
|
|
120
117
|
this.log(` - ${flags['from-state']} (state.sampleQueries)`);
|
|
121
|
-
this.log(
|
|
118
|
+
this.log(chalk.blue('\n Query breakdown:'));
|
|
122
119
|
this.log(` By type:`);
|
|
123
120
|
Object.entries(result.summary.queriesByType).forEach(([type, count]) => {
|
|
124
121
|
this.log(` ${type}: ${count}`);
|
|
@@ -139,30 +136,4 @@ class GenerateQueries extends core_1.Command {
|
|
|
139
136
|
}
|
|
140
137
|
}
|
|
141
138
|
}
|
|
142
|
-
GenerateQueries.description = 'Generate sample SQL queries from existing analysis state';
|
|
143
|
-
GenerateQueries.examples = [
|
|
144
|
-
'$ db-auto-doc generate-queries --from-state ./output/run-1/state.json',
|
|
145
|
-
'$ db-auto-doc generate-queries --from-state ./output/run-1/state.json --queries-per-table 10',
|
|
146
|
-
'$ db-auto-doc generate-queries --from-state ./output/run-1/state.json --max-execution-time 60000'
|
|
147
|
-
];
|
|
148
|
-
GenerateQueries.flags = {
|
|
149
|
-
'from-state': core_1.Flags.string({
|
|
150
|
-
description: 'Path to existing state.json file from previous analysis',
|
|
151
|
-
required: true
|
|
152
|
-
}),
|
|
153
|
-
config: core_1.Flags.string({
|
|
154
|
-
char: 'c',
|
|
155
|
-
description: 'Path to config file (for database connection and AI settings)',
|
|
156
|
-
default: './config.json'
|
|
157
|
-
}),
|
|
158
|
-
'queries-per-table': core_1.Flags.integer({
|
|
159
|
-
description: 'Number of queries to generate per table',
|
|
160
|
-
required: false
|
|
161
|
-
}),
|
|
162
|
-
'max-execution-time': core_1.Flags.integer({
|
|
163
|
-
description: 'Maximum execution time for query validation (ms)',
|
|
164
|
-
required: false
|
|
165
|
-
})
|
|
166
|
-
};
|
|
167
|
-
exports.default = GenerateQueries;
|
|
168
139
|
//# sourceMappingURL=generate-queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-queries.js","sourceRoot":"","sources":["../../src/commands/generate-queries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-queries.js","sourceRoot":"","sources":["../../src/commands/generate-queries.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Init command - Initialize new project
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const Database_js_1 = require("../database/Database.js");
|
|
14
|
-
class Init extends core_1.Command {
|
|
4
|
+
import { Command } from '@oclif/core';
|
|
5
|
+
import inquirer from 'inquirer';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { ConfigLoader } from '../utils/config-loader.js';
|
|
8
|
+
import { DatabaseConnection } from '../database/Database.js';
|
|
9
|
+
export default class Init extends Command {
|
|
10
|
+
static { this.description = 'Initialize a new DBAutoDoc project'; }
|
|
11
|
+
static { this.examples = ['$ db-auto-doc init']; }
|
|
15
12
|
async run() {
|
|
16
|
-
this.log(
|
|
13
|
+
this.log(chalk.blue('DBAutoDoc Initialization\n'));
|
|
17
14
|
// Database configuration
|
|
18
|
-
const dbAnswers = await
|
|
15
|
+
const dbAnswers = await inquirer.prompt([
|
|
19
16
|
{
|
|
20
17
|
type: 'input',
|
|
21
18
|
name: 'server',
|
|
@@ -54,7 +51,7 @@ class Init extends core_1.Command {
|
|
|
54
51
|
}
|
|
55
52
|
]);
|
|
56
53
|
// Test connection
|
|
57
|
-
this.log(
|
|
54
|
+
this.log(chalk.yellow('\nTesting database connection...'));
|
|
58
55
|
const dbConfig = {
|
|
59
56
|
provider: 'sqlserver',
|
|
60
57
|
host: dbAnswers.server,
|
|
@@ -64,16 +61,16 @@ class Init extends core_1.Command {
|
|
|
64
61
|
encrypt: dbAnswers.encrypt,
|
|
65
62
|
trustServerCertificate: dbAnswers.trustServerCertificate
|
|
66
63
|
};
|
|
67
|
-
const db = new
|
|
64
|
+
const db = new DatabaseConnection(dbConfig);
|
|
68
65
|
const testResult = await db.test();
|
|
69
66
|
await db.close();
|
|
70
67
|
if (!testResult.success) {
|
|
71
68
|
this.error(`Connection failed: ${testResult.message}`);
|
|
72
69
|
return;
|
|
73
70
|
}
|
|
74
|
-
this.log(
|
|
71
|
+
this.log(chalk.green('✓ Database connection successful!\n'));
|
|
75
72
|
// AI configuration
|
|
76
|
-
const aiAnswers = await
|
|
73
|
+
const aiAnswers = await inquirer.prompt([
|
|
77
74
|
{
|
|
78
75
|
type: 'list',
|
|
79
76
|
name: 'provider',
|
|
@@ -121,7 +118,7 @@ class Init extends core_1.Command {
|
|
|
121
118
|
}
|
|
122
119
|
]);
|
|
123
120
|
// Optional seed context
|
|
124
|
-
const contextAnswers = await
|
|
121
|
+
const contextAnswers = await inquirer.prompt([
|
|
125
122
|
{
|
|
126
123
|
type: 'confirm',
|
|
127
124
|
name: 'addContext',
|
|
@@ -148,7 +145,7 @@ class Init extends core_1.Command {
|
|
|
148
145
|
}
|
|
149
146
|
]);
|
|
150
147
|
// Sample query generation options
|
|
151
|
-
const queryAnswers = await
|
|
148
|
+
const queryAnswers = await inquirer.prompt([
|
|
152
149
|
{
|
|
153
150
|
type: 'confirm',
|
|
154
151
|
name: 'enableSampleQueries',
|
|
@@ -188,7 +185,7 @@ class Init extends core_1.Command {
|
|
|
188
185
|
}
|
|
189
186
|
]);
|
|
190
187
|
// Create configuration
|
|
191
|
-
const config =
|
|
188
|
+
const config = ConfigLoader.createDefault();
|
|
192
189
|
// Update with user inputs
|
|
193
190
|
config.database = {
|
|
194
191
|
server: dbAnswers.server,
|
|
@@ -230,7 +227,7 @@ class Init extends core_1.Command {
|
|
|
230
227
|
};
|
|
231
228
|
}
|
|
232
229
|
// Output directory configuration
|
|
233
|
-
const outputAnswers = await
|
|
230
|
+
const outputAnswers = await inquirer.prompt([
|
|
234
231
|
{
|
|
235
232
|
type: 'input',
|
|
236
233
|
name: 'outputDir',
|
|
@@ -241,14 +238,11 @@ class Init extends core_1.Command {
|
|
|
241
238
|
// Set output directory
|
|
242
239
|
config.output.outputDir = outputAnswers.outputDir;
|
|
243
240
|
// Save configuration
|
|
244
|
-
await
|
|
245
|
-
this.log(
|
|
246
|
-
this.log(
|
|
241
|
+
await ConfigLoader.save(config, './config.json');
|
|
242
|
+
this.log(chalk.green('\n✓ Configuration saved to config.json'));
|
|
243
|
+
this.log(chalk.blue('\nNext steps:'));
|
|
247
244
|
this.log(' 1. Run: db-auto-doc analyze');
|
|
248
245
|
this.log(' 2. Run: db-auto-doc export --sql --markdown');
|
|
249
246
|
}
|
|
250
247
|
}
|
|
251
|
-
Init.description = 'Initialize a new DBAutoDoc project';
|
|
252
|
-
Init.examples = ['$ db-auto-doc init'];
|
|
253
|
-
exports.default = Init;
|
|
254
248
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/reset.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Reset command - Clear state and start fresh
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
import { Command, Flags } from '@oclif/core';
|
|
5
|
+
import inquirer from 'inquirer';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { ConfigLoader } from '../utils/config-loader.js';
|
|
8
|
+
import { StateManager } from '../state/StateManager.js';
|
|
9
|
+
export default class Reset extends Command {
|
|
10
|
+
static { this.description = 'Reset state and start fresh analysis'; }
|
|
11
|
+
static { this.examples = ['$ db-auto-doc reset']; }
|
|
12
|
+
static { this.flags = {
|
|
13
|
+
force: Flags.boolean({ char: 'f', description: 'Skip confirmation prompt' })
|
|
14
|
+
}; }
|
|
15
15
|
async run() {
|
|
16
16
|
const { flags } = await this.parse(Reset);
|
|
17
17
|
try {
|
|
18
|
-
const config = await
|
|
19
|
-
const stateManager = new
|
|
18
|
+
const config = await ConfigLoader.load('./config.json');
|
|
19
|
+
const stateManager = new StateManager(config.output.stateFile);
|
|
20
20
|
// Confirm deletion unless --force
|
|
21
21
|
if (!flags.force) {
|
|
22
|
-
const answer = await
|
|
22
|
+
const answer = await inquirer.prompt([
|
|
23
23
|
{
|
|
24
24
|
type: 'confirm',
|
|
25
25
|
name: 'confirm',
|
|
26
|
-
message:
|
|
26
|
+
message: chalk.yellow('This will delete all analysis state. Continue?'),
|
|
27
27
|
default: false
|
|
28
28
|
}
|
|
29
29
|
]);
|
|
@@ -34,7 +34,7 @@ class Reset extends core_1.Command {
|
|
|
34
34
|
}
|
|
35
35
|
// Delete state file
|
|
36
36
|
await stateManager.delete();
|
|
37
|
-
this.log(
|
|
37
|
+
this.log(chalk.green('✓ State reset complete!'));
|
|
38
38
|
this.log('Run: db-auto-doc analyze');
|
|
39
39
|
}
|
|
40
40
|
catch (error) {
|
|
@@ -42,10 +42,4 @@ class Reset extends core_1.Command {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
Reset.description = 'Reset state and start fresh analysis';
|
|
46
|
-
Reset.examples = ['$ db-auto-doc reset'];
|
|
47
|
-
Reset.flags = {
|
|
48
|
-
force: core_1.Flags.boolean({ char: 'f', description: 'Skip confirmation prompt' })
|
|
49
|
-
};
|
|
50
|
-
exports.default = Reset;
|
|
51
45
|
//# 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,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;aACjC,gBAAW,GAAG,sCAAsC,CAAC;aAErD,aAAQ,GAAG,CAAC,qBAAqB,CAAC,CAAC;aAEnC,UAAK,GAAG;QACb,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;KAC7E,CAAC;IAEF,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,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE/D,kCAAkC;YAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACnC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,KAAK,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,KAAK,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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Review extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
schema: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'unapproved-only': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmE3B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const prompts_1 = require("@inquirer/prompts");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const state_manager_1 = require("../state/state-manager.js");
|
|
10
|
+
class Review extends core_1.Command {
|
|
11
|
+
async run() {
|
|
12
|
+
const { flags } = await this.parse(Review);
|
|
13
|
+
this.log(chalk_1.default.blue.bold('\n📝 Review Documentation\n'));
|
|
14
|
+
try {
|
|
15
|
+
const stateManager = new state_manager_1.StateManager();
|
|
16
|
+
const state = await stateManager.load();
|
|
17
|
+
const unapproved = stateManager.getUnapprovedTables(flags.schema);
|
|
18
|
+
if (unapproved.length === 0) {
|
|
19
|
+
this.log(chalk_1.default.green('✅ All tables approved!'));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.log(`Found ${unapproved.length} unapproved tables\n`);
|
|
23
|
+
for (const { schema, table } of unapproved) {
|
|
24
|
+
const schemaState = state.schemas[schema];
|
|
25
|
+
const tableState = schemaState.tables[table];
|
|
26
|
+
this.log(chalk_1.default.cyan.bold(`\n${schema}.${table}`));
|
|
27
|
+
this.log('─'.repeat(50));
|
|
28
|
+
if (tableState.aiGenerated) {
|
|
29
|
+
this.log(chalk_1.default.white('Description:'));
|
|
30
|
+
this.log(tableState.aiGenerated.description);
|
|
31
|
+
this.log('');
|
|
32
|
+
this.log(chalk_1.default.gray(`Confidence: ${(tableState.aiGenerated.confidence * 100).toFixed(0)}%`));
|
|
33
|
+
}
|
|
34
|
+
const action = await (0, prompts_1.select)({
|
|
35
|
+
message: 'Action:',
|
|
36
|
+
choices: [
|
|
37
|
+
{ name: 'Approve', value: 'approve' },
|
|
38
|
+
{ name: 'Add notes', value: 'notes' },
|
|
39
|
+
{ name: 'Skip', value: 'skip' },
|
|
40
|
+
{ name: 'Exit review', value: 'exit' },
|
|
41
|
+
],
|
|
42
|
+
});
|
|
43
|
+
if (action === 'exit') {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
if (action === 'approve') {
|
|
47
|
+
stateManager.approveTable(schema, table);
|
|
48
|
+
this.log(chalk_1.default.green('✓ Approved'));
|
|
49
|
+
}
|
|
50
|
+
if (action === 'notes') {
|
|
51
|
+
const notes = await (0, prompts_1.input)({
|
|
52
|
+
message: 'Enter notes:',
|
|
53
|
+
});
|
|
54
|
+
stateManager.addTableNotes(schema, table, notes);
|
|
55
|
+
this.log(chalk_1.default.green('✓ Notes added'));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
await stateManager.save();
|
|
59
|
+
this.log(chalk_1.default.green('\n✅ Review complete!'));
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
this.error(error.message);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
Review.description = 'Review and approve AI-generated documentation';
|
|
67
|
+
Review.examples = [
|
|
68
|
+
'<%= config.bin %> <%= command.id %>',
|
|
69
|
+
'<%= config.bin %> <%= command.id %> --schema dbo',
|
|
70
|
+
'<%= config.bin %> <%= command.id %> --unapproved-only',
|
|
71
|
+
];
|
|
72
|
+
Review.flags = {
|
|
73
|
+
schema: core_1.Flags.string({
|
|
74
|
+
description: 'Review specific schema',
|
|
75
|
+
}),
|
|
76
|
+
'unapproved-only': core_1.Flags.boolean({
|
|
77
|
+
description: 'Only show unapproved items',
|
|
78
|
+
default: false,
|
|
79
|
+
}),
|
|
80
|
+
};
|
|
81
|
+
exports.default = Review;
|
|
82
|
+
//# sourceMappingURL=review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Status command - Show current analysis status
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const StateManager_js_1 = require("../state/StateManager.js");
|
|
13
|
-
class Status extends core_1.Command {
|
|
4
|
+
import { Command } from '@oclif/core';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { ConfigLoader } from '../utils/config-loader.js';
|
|
7
|
+
import { StateManager } from '../state/StateManager.js';
|
|
8
|
+
export default class Status extends Command {
|
|
9
|
+
static { this.description = 'Show current analysis status'; }
|
|
10
|
+
static { this.examples = ['$ db-auto-doc status']; }
|
|
14
11
|
async run() {
|
|
15
12
|
try {
|
|
16
|
-
const config = await
|
|
17
|
-
const stateManager = new
|
|
13
|
+
const config = await ConfigLoader.load('./config.json');
|
|
14
|
+
const stateManager = new StateManager(config.output.stateFile);
|
|
18
15
|
const state = await stateManager.load();
|
|
19
16
|
if (!state) {
|
|
20
|
-
this.log(
|
|
17
|
+
this.log(chalk.yellow('No analysis has been run yet.'));
|
|
21
18
|
this.log('Run: db-auto-doc analyze');
|
|
22
19
|
return;
|
|
23
20
|
}
|
|
24
|
-
this.log(
|
|
21
|
+
this.log(chalk.blue(`\nDatabase Documentation Status\n`));
|
|
25
22
|
this.log(`Database: ${state.database.name}`);
|
|
26
23
|
this.log(`Server: ${state.database.server}`);
|
|
27
24
|
this.log(`Last Modified: ${state.summary.lastModified}\n`);
|
|
@@ -32,27 +29,27 @@ class Status extends core_1.Command {
|
|
|
32
29
|
// Latest run
|
|
33
30
|
if (state.phases.descriptionGeneration.length > 0) {
|
|
34
31
|
const lastRun = state.phases.descriptionGeneration[state.phases.descriptionGeneration.length - 1];
|
|
35
|
-
this.log(
|
|
32
|
+
this.log(chalk.blue('Latest Analysis Run:'));
|
|
36
33
|
this.log(` Status: ${lastRun.status}`);
|
|
37
34
|
this.log(` Iterations: ${lastRun.iterationsPerformed}`);
|
|
38
35
|
this.log(` Tokens Used: ${lastRun.totalTokensUsed.toLocaleString()}`);
|
|
39
36
|
this.log(` Estimated Cost: $${lastRun.estimatedCost.toFixed(2)}`);
|
|
40
37
|
if (lastRun.converged) {
|
|
41
|
-
this.log(
|
|
38
|
+
this.log(chalk.green(` Converged: ${lastRun.convergenceReason}`));
|
|
42
39
|
}
|
|
43
40
|
else {
|
|
44
|
-
this.log(
|
|
41
|
+
this.log(chalk.yellow(' Not yet converged'));
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
44
|
// Low confidence tables
|
|
48
45
|
const lowConfidence = stateManager.getLowConfidenceTables(state, 0.7);
|
|
49
46
|
if (lowConfidence.length > 0) {
|
|
50
|
-
this.log(
|
|
47
|
+
this.log(chalk.yellow(`\nLow Confidence Tables (< 0.7): ${lowConfidence.length}`));
|
|
51
48
|
}
|
|
52
49
|
// Unprocessed tables
|
|
53
50
|
const unprocessed = stateManager.getUnprocessedTables(state);
|
|
54
51
|
if (unprocessed.length > 0) {
|
|
55
|
-
this.log(
|
|
52
|
+
this.log(chalk.yellow(`Unprocessed Tables: ${unprocessed.length}`));
|
|
56
53
|
}
|
|
57
54
|
}
|
|
58
55
|
catch (error) {
|
|
@@ -60,7 +57,4 @@ class Status extends core_1.Command {
|
|
|
60
57
|
}
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
|
-
Status.description = 'Show current analysis status';
|
|
64
|
-
Status.examples = ['$ db-auto-doc status'];
|
|
65
|
-
exports.default = Status;
|
|
66
60
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|