@memberjunction/db-auto-doc 2.109.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 +244 -0
- package/bin/run.js +5 -0
- 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/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 +13 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +98 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/export.d.ts +13 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +117 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/init.d.ts +11 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +163 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/reset.d.ts +10 -0
- package/dist/commands/reset.d.ts.map +1 -0
- package/dist/commands/reset.js +37 -0
- package/dist/commands/reset.js.map +1 -0
- 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/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/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/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.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- 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/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/package.json +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli-old/cli.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
+
if (mod && mod.__esModule) return mod;
|
|
21
|
+
var result = {};
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
+
__setModuleDefault(result, mod);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
const commander_1 = require("commander");
|
|
31
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
32
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
33
|
+
const ora_1 = __importDefault(require("ora"));
|
|
34
|
+
const fs = __importStar(require("fs/promises"));
|
|
35
|
+
const path = __importStar(require("path"));
|
|
36
|
+
const dotenv = __importStar(require("dotenv"));
|
|
37
|
+
const connection_1 = require("../database/connection");
|
|
38
|
+
const state_manager_1 = require("../state/state-manager");
|
|
39
|
+
const simple_ai_client_1 = require("../ai/simple-ai-client");
|
|
40
|
+
const analyzer_1 = require("../analyzers/analyzer");
|
|
41
|
+
const sql_generator_1 = require("../generators/sql-generator");
|
|
42
|
+
const markdown_generator_1 = require("../generators/markdown-generator");
|
|
43
|
+
dotenv.config();
|
|
44
|
+
const program = new commander_1.Command();
|
|
45
|
+
program
|
|
46
|
+
.name('sqlserver-doc')
|
|
47
|
+
.description('AI-powered SQL Server database documentation generator')
|
|
48
|
+
.version('1.0.0');
|
|
49
|
+
/**
|
|
50
|
+
* INIT command - initialize new project
|
|
51
|
+
*/
|
|
52
|
+
program
|
|
53
|
+
.command('init')
|
|
54
|
+
.description('Initialize new documentation project')
|
|
55
|
+
.option('--interactive', 'Interactive setup', true)
|
|
56
|
+
.action(async (options) => {
|
|
57
|
+
console.log(chalk_1.default.blue.bold('\n🚀 SQL Server Documentation Generator\n'));
|
|
58
|
+
try {
|
|
59
|
+
let server;
|
|
60
|
+
let database;
|
|
61
|
+
let user;
|
|
62
|
+
let password;
|
|
63
|
+
if (options.interactive) {
|
|
64
|
+
const answers = await inquirer_1.default.prompt([
|
|
65
|
+
{
|
|
66
|
+
type: 'input',
|
|
67
|
+
name: 'server',
|
|
68
|
+
message: 'Database server:',
|
|
69
|
+
default: 'localhost',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'input',
|
|
73
|
+
name: 'database',
|
|
74
|
+
message: 'Database name:',
|
|
75
|
+
validate: (input) => (input ? true : 'Database name required'),
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: 'input',
|
|
79
|
+
name: 'user',
|
|
80
|
+
message: 'Username:',
|
|
81
|
+
default: 'sa',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'password',
|
|
85
|
+
name: 'password',
|
|
86
|
+
message: 'Password:',
|
|
87
|
+
mask: '*',
|
|
88
|
+
},
|
|
89
|
+
]);
|
|
90
|
+
server = answers.server;
|
|
91
|
+
database = answers.database;
|
|
92
|
+
user = answers.user;
|
|
93
|
+
password = answers.password;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
server = process.env.DB_SERVER || 'localhost';
|
|
97
|
+
database = process.env.DB_DATABASE || '';
|
|
98
|
+
user = process.env.DB_USER || 'sa';
|
|
99
|
+
password = process.env.DB_PASSWORD || '';
|
|
100
|
+
}
|
|
101
|
+
// Test connection
|
|
102
|
+
const spinner = (0, ora_1.default)('Testing database connection...').start();
|
|
103
|
+
const connection = new connection_1.DatabaseConnection({
|
|
104
|
+
server,
|
|
105
|
+
database,
|
|
106
|
+
user,
|
|
107
|
+
password,
|
|
108
|
+
encrypt: true,
|
|
109
|
+
trustServerCertificate: true,
|
|
110
|
+
});
|
|
111
|
+
const connected = await connection.test();
|
|
112
|
+
if (!connected) {
|
|
113
|
+
spinner.fail('Connection failed');
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
spinner.succeed('Connection successful');
|
|
117
|
+
// Create .env file
|
|
118
|
+
const envPath = path.join(process.cwd(), '.env');
|
|
119
|
+
const envContent = `
|
|
120
|
+
# Database Connection
|
|
121
|
+
DB_SERVER=${server}
|
|
122
|
+
DB_DATABASE=${database}
|
|
123
|
+
DB_USER=${user}
|
|
124
|
+
DB_PASSWORD=${password}
|
|
125
|
+
DB_ENCRYPT=true
|
|
126
|
+
DB_TRUST_SERVER_CERTIFICATE=true
|
|
127
|
+
|
|
128
|
+
# AI Configuration
|
|
129
|
+
AI_PROVIDER=openai
|
|
130
|
+
AI_MODEL=gpt-4
|
|
131
|
+
AI_API_KEY=your-api-key-here
|
|
132
|
+
`.trim();
|
|
133
|
+
await fs.writeFile(envPath, envContent);
|
|
134
|
+
console.log(chalk_1.default.green('✓ Created .env file'));
|
|
135
|
+
// Create state file
|
|
136
|
+
const stateManager = new state_manager_1.StateManager();
|
|
137
|
+
await stateManager.reset(server, database);
|
|
138
|
+
console.log(chalk_1.default.green('✓ Created db-doc-state.json'));
|
|
139
|
+
// Ask seed questions
|
|
140
|
+
if (options.interactive) {
|
|
141
|
+
const seedAnswers = await inquirer_1.default.prompt([
|
|
142
|
+
{
|
|
143
|
+
type: 'confirm',
|
|
144
|
+
name: 'addSeed',
|
|
145
|
+
message: 'Would you like to provide seed context?',
|
|
146
|
+
default: true,
|
|
147
|
+
},
|
|
148
|
+
]);
|
|
149
|
+
if (seedAnswers.addSeed) {
|
|
150
|
+
const contextAnswers = await inquirer_1.default.prompt([
|
|
151
|
+
{
|
|
152
|
+
type: 'input',
|
|
153
|
+
name: 'purpose',
|
|
154
|
+
message: 'Overall database purpose:',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'input',
|
|
158
|
+
name: 'domains',
|
|
159
|
+
message: 'Business domains (comma-separated):',
|
|
160
|
+
},
|
|
161
|
+
]);
|
|
162
|
+
const state = stateManager.getState();
|
|
163
|
+
state.seedContext = {
|
|
164
|
+
overallPurpose: contextAnswers.purpose,
|
|
165
|
+
businessDomains: contextAnswers.domains.split(',').map((d) => d.trim()),
|
|
166
|
+
};
|
|
167
|
+
await stateManager.save();
|
|
168
|
+
console.log(chalk_1.default.green('✓ Saved seed context'));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
console.log(chalk_1.default.green.bold('\n✅ Initialization complete!\n'));
|
|
172
|
+
console.log('Next steps:');
|
|
173
|
+
console.log(' 1. Edit .env and add your AI API key');
|
|
174
|
+
console.log(' 2. Run: sqlserver-doc analyze --interactive');
|
|
175
|
+
await connection.close();
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
console.error(chalk_1.default.red('Error:'), error);
|
|
179
|
+
process.exit(1);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
/**
|
|
183
|
+
* ANALYZE command - analyze database
|
|
184
|
+
*/
|
|
185
|
+
program
|
|
186
|
+
.command('analyze')
|
|
187
|
+
.description('Analyze database and generate documentation')
|
|
188
|
+
.option('--interactive', 'Interactive mode')
|
|
189
|
+
.option('--incremental', 'Only process new tables')
|
|
190
|
+
.option('--schemas <schemas>', 'Comma-separated schema list')
|
|
191
|
+
.option('--batch', 'Non-interactive batch mode')
|
|
192
|
+
.action(async (options) => {
|
|
193
|
+
console.log(chalk_1.default.blue.bold('\n📊 Analyzing Database\n'));
|
|
194
|
+
try {
|
|
195
|
+
// Load environment
|
|
196
|
+
dotenv.config();
|
|
197
|
+
// Check API key
|
|
198
|
+
if (!process.env.AI_API_KEY || process.env.AI_API_KEY === 'your-api-key-here') {
|
|
199
|
+
console.error(chalk_1.default.red('Error: AI_API_KEY not set in .env file'));
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
const connection = connection_1.DatabaseConnection.fromEnv();
|
|
203
|
+
const stateManager = new state_manager_1.StateManager();
|
|
204
|
+
// Load or create state
|
|
205
|
+
const connected = await connection.test();
|
|
206
|
+
if (!connected) {
|
|
207
|
+
console.error(chalk_1.default.red('Error: Cannot connect to database'));
|
|
208
|
+
process.exit(1);
|
|
209
|
+
}
|
|
210
|
+
const state = await stateManager.load(process.env.DB_SERVER || 'localhost', process.env.DB_DATABASE || 'master');
|
|
211
|
+
const aiClient = new simple_ai_client_1.SimpleAIClient();
|
|
212
|
+
const analyzer = new analyzer_1.DatabaseAnalyzer(connection, stateManager, aiClient);
|
|
213
|
+
const schemas = options.schemas ? options.schemas.split(',') : undefined;
|
|
214
|
+
await analyzer.analyze({
|
|
215
|
+
schemas,
|
|
216
|
+
incremental: options.incremental,
|
|
217
|
+
interactive: options.interactive,
|
|
218
|
+
});
|
|
219
|
+
await connection.close();
|
|
220
|
+
console.log(chalk_1.default.green('\n✅ Analysis complete!'));
|
|
221
|
+
console.log('\nNext steps:');
|
|
222
|
+
console.log(' - Review: sqlserver-doc review');
|
|
223
|
+
console.log(' - Export: sqlserver-doc export --format=sql');
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
console.error(chalk_1.default.red('Error:'), error);
|
|
227
|
+
process.exit(1);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
/**
|
|
231
|
+
* REVIEW command - review generated documentation
|
|
232
|
+
*/
|
|
233
|
+
program
|
|
234
|
+
.command('review')
|
|
235
|
+
.description('Review and approve AI-generated documentation')
|
|
236
|
+
.option('--schema <schema>', 'Review specific schema')
|
|
237
|
+
.option('--unapproved-only', 'Only show unapproved items')
|
|
238
|
+
.action(async (options) => {
|
|
239
|
+
console.log(chalk_1.default.blue.bold('\n📝 Review Documentation\n'));
|
|
240
|
+
try {
|
|
241
|
+
const stateManager = new state_manager_1.StateManager();
|
|
242
|
+
const state = await stateManager.load();
|
|
243
|
+
const unapproved = stateManager.getUnapprovedTables(options.schema);
|
|
244
|
+
if (unapproved.length === 0) {
|
|
245
|
+
console.log(chalk_1.default.green('✅ All tables approved!'));
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
console.log(`Found ${unapproved.length} unapproved tables\n`);
|
|
249
|
+
for (const { schema, table } of unapproved) {
|
|
250
|
+
const schemaState = state.schemas[schema];
|
|
251
|
+
const tableState = schemaState.tables[table];
|
|
252
|
+
console.log(chalk_1.default.cyan.bold(`\n${schema}.${table}`));
|
|
253
|
+
console.log('─'.repeat(50));
|
|
254
|
+
if (tableState.aiGenerated) {
|
|
255
|
+
console.log(chalk_1.default.white('Description:'));
|
|
256
|
+
console.log(tableState.aiGenerated.description);
|
|
257
|
+
console.log('');
|
|
258
|
+
console.log(chalk_1.default.gray(`Confidence: ${(tableState.aiGenerated.confidence * 100).toFixed(0)}%`));
|
|
259
|
+
}
|
|
260
|
+
const answer = await inquirer_1.default.prompt([
|
|
261
|
+
{
|
|
262
|
+
type: 'list',
|
|
263
|
+
name: 'action',
|
|
264
|
+
message: 'Action:',
|
|
265
|
+
choices: [
|
|
266
|
+
{ name: 'Approve', value: 'approve' },
|
|
267
|
+
{ name: 'Add notes', value: 'notes' },
|
|
268
|
+
{ name: 'Skip', value: 'skip' },
|
|
269
|
+
{ name: 'Exit review', value: 'exit' },
|
|
270
|
+
],
|
|
271
|
+
},
|
|
272
|
+
]);
|
|
273
|
+
if (answer.action === 'exit') {
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
276
|
+
if (answer.action === 'approve') {
|
|
277
|
+
stateManager.approveTable(schema, table);
|
|
278
|
+
console.log(chalk_1.default.green('✓ Approved'));
|
|
279
|
+
}
|
|
280
|
+
if (answer.action === 'notes') {
|
|
281
|
+
const notesAnswer = await inquirer_1.default.prompt([
|
|
282
|
+
{
|
|
283
|
+
type: 'input',
|
|
284
|
+
name: 'notes',
|
|
285
|
+
message: 'Enter notes:',
|
|
286
|
+
},
|
|
287
|
+
]);
|
|
288
|
+
stateManager.addTableNotes(schema, table, notesAnswer.notes);
|
|
289
|
+
console.log(chalk_1.default.green('✓ Notes added'));
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
await stateManager.save();
|
|
293
|
+
console.log(chalk_1.default.green('\n✅ Review complete!'));
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
console.error(chalk_1.default.red('Error:'), error);
|
|
297
|
+
process.exit(1);
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
/**
|
|
301
|
+
* EXPORT command - generate output files
|
|
302
|
+
*/
|
|
303
|
+
program
|
|
304
|
+
.command('export')
|
|
305
|
+
.description('Generate output files')
|
|
306
|
+
.option('--format <format>', 'sql|markdown|all', 'all')
|
|
307
|
+
.option('--output <path>', 'Output directory', './docs')
|
|
308
|
+
.option('--approved-only', 'Only export approved items')
|
|
309
|
+
.option('--execute', 'Execute SQL script')
|
|
310
|
+
.action(async (options) => {
|
|
311
|
+
console.log(chalk_1.default.blue.bold('\n📤 Exporting Documentation\n'));
|
|
312
|
+
try {
|
|
313
|
+
const stateManager = new state_manager_1.StateManager();
|
|
314
|
+
const state = await stateManager.load();
|
|
315
|
+
const outputDir = options.output;
|
|
316
|
+
await fs.mkdir(outputDir, { recursive: true });
|
|
317
|
+
if (options.format === 'sql' || options.format === 'all') {
|
|
318
|
+
const sqlGen = new sql_generator_1.SQLGenerator();
|
|
319
|
+
const sql = sqlGen.generate(state, {
|
|
320
|
+
approvedOnly: options.approvedOnly,
|
|
321
|
+
});
|
|
322
|
+
const sqlPath = path.join(outputDir, 'extended-properties.sql');
|
|
323
|
+
await fs.writeFile(sqlPath, sql);
|
|
324
|
+
console.log(chalk_1.default.green(`✓ Generated SQL: ${sqlPath}`));
|
|
325
|
+
if (options.execute) {
|
|
326
|
+
const answer = await inquirer_1.default.prompt([
|
|
327
|
+
{
|
|
328
|
+
type: 'confirm',
|
|
329
|
+
name: 'confirm',
|
|
330
|
+
message: chalk_1.default.yellow('Execute SQL script? This will modify your database.'),
|
|
331
|
+
default: false,
|
|
332
|
+
},
|
|
333
|
+
]);
|
|
334
|
+
if (answer.confirm) {
|
|
335
|
+
const connection = connection_1.DatabaseConnection.fromEnv();
|
|
336
|
+
const spinner = (0, ora_1.default)('Executing SQL...').start();
|
|
337
|
+
try {
|
|
338
|
+
await connection.query(sql);
|
|
339
|
+
spinner.succeed('SQL executed successfully');
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
spinner.fail('SQL execution failed');
|
|
343
|
+
throw error;
|
|
344
|
+
}
|
|
345
|
+
await connection.close();
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
if (options.format === 'markdown' || options.format === 'all') {
|
|
350
|
+
const mdGen = new markdown_generator_1.MarkdownGenerator();
|
|
351
|
+
const markdown = mdGen.generate(state);
|
|
352
|
+
const mdPath = path.join(outputDir, 'database-documentation.md');
|
|
353
|
+
await fs.writeFile(mdPath, markdown);
|
|
354
|
+
console.log(chalk_1.default.green(`✓ Generated Markdown: ${mdPath}`));
|
|
355
|
+
}
|
|
356
|
+
console.log(chalk_1.default.green('\n✅ Export complete!'));
|
|
357
|
+
}
|
|
358
|
+
catch (error) {
|
|
359
|
+
console.error(chalk_1.default.red('Error:'), error);
|
|
360
|
+
process.exit(1);
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
/**
|
|
364
|
+
* RESET command
|
|
365
|
+
*/
|
|
366
|
+
program
|
|
367
|
+
.command('reset')
|
|
368
|
+
.description('Reset state file')
|
|
369
|
+
.option('--all', 'Reset entire state file')
|
|
370
|
+
.action(async (options) => {
|
|
371
|
+
if (options.all) {
|
|
372
|
+
const answer = await inquirer_1.default.prompt([
|
|
373
|
+
{
|
|
374
|
+
type: 'confirm',
|
|
375
|
+
name: 'confirm',
|
|
376
|
+
message: chalk_1.default.yellow('Reset entire state file? This cannot be undone.'),
|
|
377
|
+
default: false,
|
|
378
|
+
},
|
|
379
|
+
]);
|
|
380
|
+
if (answer.confirm) {
|
|
381
|
+
const stateManager = new state_manager_1.StateManager();
|
|
382
|
+
await stateManager.reset(process.env.DB_SERVER || 'localhost', process.env.DB_DATABASE || 'master');
|
|
383
|
+
console.log(chalk_1.default.green('✅ State file reset'));
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
program.parse();
|
|
388
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli-old/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Analyze extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
interactive: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
incremental: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
schemas: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
batch: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=analyze.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAW7C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAiD;IAEnE,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;MAgBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+C3B"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
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
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const core_1 = require("@oclif/core");
|
|
30
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
31
|
+
const dotenv = __importStar(require("dotenv"));
|
|
32
|
+
const connection_1 = require("../database/connection");
|
|
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();
|
|
37
|
+
class Analyze extends core_1.Command {
|
|
38
|
+
async run() {
|
|
39
|
+
const { flags } = await this.parse(Analyze);
|
|
40
|
+
this.log(chalk_1.default.blue.bold('\n📊 Analyzing Database\n'));
|
|
41
|
+
try {
|
|
42
|
+
// Check API key
|
|
43
|
+
if (!process.env.AI_API_KEY || process.env.AI_API_KEY === 'your-api-key-here') {
|
|
44
|
+
this.error('AI_API_KEY not set in .env file');
|
|
45
|
+
}
|
|
46
|
+
const connection = connection_1.DatabaseConnection.fromEnv();
|
|
47
|
+
const stateManager = new state_manager_1.StateManager();
|
|
48
|
+
// Test connection
|
|
49
|
+
const connected = await connection.test();
|
|
50
|
+
if (!connected) {
|
|
51
|
+
this.error('Cannot connect to database');
|
|
52
|
+
}
|
|
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
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
this.error(error.message);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
Analyze.description = 'Analyze database and generate documentation';
|
|
75
|
+
Analyze.examples = [
|
|
76
|
+
'<%= config.bin %> <%= command.id %>',
|
|
77
|
+
'<%= config.bin %> <%= command.id %> --interactive',
|
|
78
|
+
'<%= config.bin %> <%= command.id %> --schemas dbo,sales',
|
|
79
|
+
];
|
|
80
|
+
Analyze.flags = {
|
|
81
|
+
interactive: core_1.Flags.boolean({
|
|
82
|
+
description: 'Interactive mode',
|
|
83
|
+
default: false,
|
|
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,
|
|
95
|
+
}),
|
|
96
|
+
};
|
|
97
|
+
exports.default = Analyze;
|
|
98
|
+
//# sourceMappingURL=analyze.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Export extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
'approved-only': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
execute: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAW7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAiE;IAEnF,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;MAkBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2D3B"}
|