@memberjunction/db-auto-doc 3.4.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 +23 -22
package/bin/run.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import 'dotenv/config';
|
|
3
|
+
import { LoadAIProviders } from '@memberjunction/ai-provider-bundle';
|
|
4
|
+
import { execute } from '@oclif/core';
|
|
5
5
|
|
|
6
6
|
// Load AI providers to prevent tree shaking
|
|
7
|
-
const { LoadAIProviders } = require('@memberjunction/ai-provider-bundle');
|
|
8
7
|
LoadAIProviders();
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
oclif.run().then(oclif.flush).catch(oclif.Errors.handle)
|
|
9
|
+
await execute({ dir: import.meta.url });
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simplified AI client that doesn't depend on MJ AI infrastructure
|
|
3
|
+
* Uses direct HTTP calls to AI providers
|
|
4
|
+
*/
|
|
5
|
+
export interface AITableDocRequest {
|
|
6
|
+
schema: string;
|
|
7
|
+
table: string;
|
|
8
|
+
columns: Array<{
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
nullable: boolean;
|
|
12
|
+
isPK: boolean;
|
|
13
|
+
isFK: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
foreignKeys: Array<{
|
|
16
|
+
column: string;
|
|
17
|
+
referencedTable: string;
|
|
18
|
+
}>;
|
|
19
|
+
sampleData?: Record<string, any>[];
|
|
20
|
+
existingDescription?: string;
|
|
21
|
+
userNotes?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AITableDocResponse {
|
|
24
|
+
description: string;
|
|
25
|
+
purpose?: string;
|
|
26
|
+
usageNotes?: string;
|
|
27
|
+
businessDomain?: string;
|
|
28
|
+
confidence: number;
|
|
29
|
+
columns: Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
purpose?: string;
|
|
33
|
+
validValues?: string;
|
|
34
|
+
confidence: number;
|
|
35
|
+
}>;
|
|
36
|
+
relationships?: Array<{
|
|
37
|
+
type: 'parent' | 'child';
|
|
38
|
+
table: string;
|
|
39
|
+
description: string;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Simple AI client - uses fetch() to call OpenAI directly
|
|
44
|
+
* TODO: Add support for other providers (Anthropic, Groq, etc.)
|
|
45
|
+
*/
|
|
46
|
+
export declare class SimpleAIClient {
|
|
47
|
+
private provider;
|
|
48
|
+
private model;
|
|
49
|
+
private apiKey;
|
|
50
|
+
constructor();
|
|
51
|
+
/**
|
|
52
|
+
* Generate table documentation
|
|
53
|
+
*/
|
|
54
|
+
generateTableDoc(request: AITableDocRequest): Promise<AITableDocResponse & {
|
|
55
|
+
tokensUsed?: number;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Call OpenAI API
|
|
59
|
+
*/
|
|
60
|
+
private callOpenAI;
|
|
61
|
+
/**
|
|
62
|
+
* Call Anthropic API
|
|
63
|
+
*/
|
|
64
|
+
private callAnthropic;
|
|
65
|
+
/**
|
|
66
|
+
* Build table documentation prompt
|
|
67
|
+
*/
|
|
68
|
+
private buildTablePrompt;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=simple-ai-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-ai-client.d.ts","sourceRoot":"","sources":["../../src/ai/simple-ai-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,OAAO,CAAC;KACf,CAAC,CAAC;IACH,WAAW,EAAE,KAAK,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;;IAYvB;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAYzG;;OAEG;YACW,UAAU;IA8CxB;;OAEG;YACW,aAAa;IA2C3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA+DzB"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Simplified AI client that doesn't depend on MJ AI infrastructure
|
|
4
|
+
* Uses direct HTTP calls to AI providers
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.SimpleAIClient = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Simple AI client - uses fetch() to call OpenAI directly
|
|
10
|
+
* TODO: Add support for other providers (Anthropic, Groq, etc.)
|
|
11
|
+
*/
|
|
12
|
+
class SimpleAIClient {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.provider = process.env.AI_PROVIDER || 'openai';
|
|
15
|
+
this.model = process.env.AI_MODEL || 'gpt-4';
|
|
16
|
+
this.apiKey = process.env.AI_API_KEY || '';
|
|
17
|
+
if (!this.apiKey) {
|
|
18
|
+
throw new Error('AI_API_KEY environment variable is required');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Generate table documentation
|
|
23
|
+
*/
|
|
24
|
+
async generateTableDoc(request) {
|
|
25
|
+
const prompt = this.buildTablePrompt(request);
|
|
26
|
+
if (this.provider === 'openai') {
|
|
27
|
+
return await this.callOpenAI(prompt);
|
|
28
|
+
}
|
|
29
|
+
else if (this.provider === 'anthropic') {
|
|
30
|
+
return await this.callAnthropic(prompt);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
throw new Error(`Unsupported AI provider: ${this.provider}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Call OpenAI API
|
|
38
|
+
*/
|
|
39
|
+
async callOpenAI(prompt) {
|
|
40
|
+
const response = await fetch('https://api.openai.com/v1/chat/completions', {
|
|
41
|
+
method: 'POST',
|
|
42
|
+
headers: {
|
|
43
|
+
'Content-Type': 'application/json',
|
|
44
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
45
|
+
},
|
|
46
|
+
body: JSON.stringify({
|
|
47
|
+
model: this.model,
|
|
48
|
+
messages: [
|
|
49
|
+
{
|
|
50
|
+
role: 'system',
|
|
51
|
+
content: 'You are a database documentation expert. Generate clear, business-friendly descriptions for database tables and columns. Always respond with valid JSON only.',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
role: 'user',
|
|
55
|
+
content: prompt,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
temperature: 0.3,
|
|
59
|
+
max_tokens: 2000,
|
|
60
|
+
}),
|
|
61
|
+
});
|
|
62
|
+
if (!response.ok) {
|
|
63
|
+
throw new Error(`OpenAI API error: ${response.statusText}`);
|
|
64
|
+
}
|
|
65
|
+
const data = await response.json();
|
|
66
|
+
const content = data.choices?.[0]?.message?.content;
|
|
67
|
+
if (!content) {
|
|
68
|
+
throw new Error('No content in AI response');
|
|
69
|
+
}
|
|
70
|
+
// Parse JSON response
|
|
71
|
+
const jsonMatch = content.match(/```json\s*([\s\S]*?)\s*```/) || content.match(/\{[\s\S]*\}/);
|
|
72
|
+
const jsonStr = jsonMatch ? (jsonMatch[1] || jsonMatch[0]) : content;
|
|
73
|
+
const doc = JSON.parse(jsonStr);
|
|
74
|
+
return {
|
|
75
|
+
...doc,
|
|
76
|
+
tokensUsed: data.usage?.total_tokens || 0,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Call Anthropic API
|
|
81
|
+
*/
|
|
82
|
+
async callAnthropic(prompt) {
|
|
83
|
+
const response = await fetch('https://api.anthropic.com/v1/messages', {
|
|
84
|
+
method: 'POST',
|
|
85
|
+
headers: {
|
|
86
|
+
'Content-Type': 'application/json',
|
|
87
|
+
'x-api-key': this.apiKey,
|
|
88
|
+
'anthropic-version': '2023-06-01',
|
|
89
|
+
},
|
|
90
|
+
body: JSON.stringify({
|
|
91
|
+
model: this.model,
|
|
92
|
+
max_tokens: 2000,
|
|
93
|
+
temperature: 0.3,
|
|
94
|
+
messages: [
|
|
95
|
+
{
|
|
96
|
+
role: 'user',
|
|
97
|
+
content: `You are a database documentation expert. Generate clear, business-friendly descriptions for database tables and columns. Always respond with valid JSON only.\n\n${prompt}`,
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
}),
|
|
101
|
+
});
|
|
102
|
+
if (!response.ok) {
|
|
103
|
+
throw new Error(`Anthropic API error: ${response.statusText}`);
|
|
104
|
+
}
|
|
105
|
+
const data = await response.json();
|
|
106
|
+
const content = data.content?.[0]?.text;
|
|
107
|
+
if (!content) {
|
|
108
|
+
throw new Error('No content in AI response');
|
|
109
|
+
}
|
|
110
|
+
// Parse JSON response
|
|
111
|
+
const jsonMatch = content.match(/```json\s*([\s\S]*?)\s*```/) || content.match(/\{[\s\S]*\}/);
|
|
112
|
+
const jsonStr = jsonMatch ? (jsonMatch[1] || jsonMatch[0]) : content;
|
|
113
|
+
const doc = JSON.parse(jsonStr);
|
|
114
|
+
return {
|
|
115
|
+
...doc,
|
|
116
|
+
tokensUsed: (data.usage?.input_tokens || 0) + (data.usage?.output_tokens || 0),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Build table documentation prompt
|
|
121
|
+
*/
|
|
122
|
+
buildTablePrompt(request) {
|
|
123
|
+
const lines = [];
|
|
124
|
+
lines.push(`# Table: ${request.schema}.${request.table}`);
|
|
125
|
+
lines.push('');
|
|
126
|
+
lines.push('## Columns');
|
|
127
|
+
for (const col of request.columns) {
|
|
128
|
+
const flags = [];
|
|
129
|
+
if (col.isPK)
|
|
130
|
+
flags.push('PK');
|
|
131
|
+
if (col.isFK)
|
|
132
|
+
flags.push('FK');
|
|
133
|
+
if (!col.nullable)
|
|
134
|
+
flags.push('NOT NULL');
|
|
135
|
+
lines.push(`- ${col.name} (${col.type}) ${flags.join(', ')}`);
|
|
136
|
+
}
|
|
137
|
+
if (request.foreignKeys.length > 0) {
|
|
138
|
+
lines.push('');
|
|
139
|
+
lines.push('## Foreign Keys');
|
|
140
|
+
for (const fk of request.foreignKeys) {
|
|
141
|
+
lines.push(`- ${fk.column} → ${fk.referencedTable}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (request.sampleData && request.sampleData.length > 0) {
|
|
145
|
+
lines.push('');
|
|
146
|
+
lines.push('## Sample Data');
|
|
147
|
+
lines.push(JSON.stringify(request.sampleData.slice(0, 3), null, 2));
|
|
148
|
+
}
|
|
149
|
+
if (request.existingDescription) {
|
|
150
|
+
lines.push('');
|
|
151
|
+
lines.push('## Existing Description');
|
|
152
|
+
lines.push(request.existingDescription);
|
|
153
|
+
}
|
|
154
|
+
if (request.userNotes) {
|
|
155
|
+
lines.push('');
|
|
156
|
+
lines.push('## User Notes');
|
|
157
|
+
lines.push(request.userNotes);
|
|
158
|
+
}
|
|
159
|
+
lines.push('');
|
|
160
|
+
lines.push('## Task');
|
|
161
|
+
lines.push('Generate documentation for this table. Return ONLY a JSON object with this exact structure:');
|
|
162
|
+
lines.push('```json');
|
|
163
|
+
lines.push('{');
|
|
164
|
+
lines.push(' "description": "What this table stores (2-3 sentences)",');
|
|
165
|
+
lines.push(' "purpose": "Why this table exists (1 sentence)",');
|
|
166
|
+
lines.push(' "businessDomain": "e.g., Sales, HR, Inventory",');
|
|
167
|
+
lines.push(' "confidence": 0.85,');
|
|
168
|
+
lines.push(' "columns": [');
|
|
169
|
+
lines.push(' {');
|
|
170
|
+
lines.push(' "name": "ColumnName",');
|
|
171
|
+
lines.push(' "description": "What this column contains",');
|
|
172
|
+
lines.push(' "confidence": 0.9');
|
|
173
|
+
lines.push(' }');
|
|
174
|
+
lines.push(' ]');
|
|
175
|
+
lines.push('}');
|
|
176
|
+
lines.push('```');
|
|
177
|
+
return lines.join('\n');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
exports.SimpleAIClient = SimpleAIClient;
|
|
181
|
+
//# sourceMappingURL=simple-ai-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-ai-client.js","sourceRoot":"","sources":["../../src/ai/simple-ai-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DatabaseConnection } from '../database/connection.js';
|
|
2
|
+
import { StateManager } from '../state/state-manager.js';
|
|
3
|
+
import { SimpleAIClient as AIClient } from '../ai/simple-ai-client.js';
|
|
4
|
+
export interface AnalyzerOptions {
|
|
5
|
+
schemas?: string[];
|
|
6
|
+
excludeSchemas?: string[];
|
|
7
|
+
interactive?: boolean;
|
|
8
|
+
incremental?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Main analyzer orchestrating the documentation process
|
|
12
|
+
*/
|
|
13
|
+
export declare class DatabaseAnalyzer {
|
|
14
|
+
private connection;
|
|
15
|
+
private stateManager;
|
|
16
|
+
private aiClient;
|
|
17
|
+
constructor(connection: DatabaseConnection, stateManager: StateManager, aiClient: AIClient);
|
|
18
|
+
/**
|
|
19
|
+
* Analyze database and generate documentation
|
|
20
|
+
*/
|
|
21
|
+
analyze(options?: AnalyzerOptions): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGpE,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ;gBAFR,UAAU,EAAE,kBAAkB,EAC9B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ;IAG5B;;OAEG;IACG,OAAO,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8H5D"}
|
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
exports.DatabaseAnalyzer = void 0;
|
|
7
|
+
const introspection_1 = require("../database/introspection.js");
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
/**
|
|
10
|
+
* Main analyzer orchestrating the documentation process
|
|
11
|
+
*/
|
|
12
|
+
class DatabaseAnalyzer {
|
|
13
|
+
constructor(connection, stateManager, aiClient) {
|
|
14
|
+
this.connection = connection;
|
|
15
|
+
this.stateManager = stateManager;
|
|
16
|
+
this.aiClient = aiClient;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Analyze database and generate documentation
|
|
20
|
+
*/
|
|
21
|
+
async analyze(options = {}) {
|
|
22
|
+
const spinner = (0, ora_1.default)('Analyzing database...').start();
|
|
23
|
+
try {
|
|
24
|
+
const introspector = new introspection_1.DatabaseIntrospector(this.connection);
|
|
25
|
+
// Get tables to process
|
|
26
|
+
const tables = await introspector.getTables(options.schemas, options.excludeSchemas);
|
|
27
|
+
spinner.succeed(`Found ${tables.length} tables`);
|
|
28
|
+
let processed = 0;
|
|
29
|
+
let skipped = 0;
|
|
30
|
+
let totalTokens = 0;
|
|
31
|
+
for (const tableInfo of tables) {
|
|
32
|
+
const tableSpinner = (0, ora_1.default)(`Processing ${tableInfo.schema}.${tableInfo.table}`).start();
|
|
33
|
+
try {
|
|
34
|
+
// Check if already processed (incremental mode)
|
|
35
|
+
if (options.incremental) {
|
|
36
|
+
const state = this.stateManager.getState();
|
|
37
|
+
const schema = state.schemas[tableInfo.schema];
|
|
38
|
+
if (schema?.tables[tableInfo.table]?.aiGenerated) {
|
|
39
|
+
tableSpinner.info(`Skipping ${tableInfo.schema}.${tableInfo.table} (already processed)`);
|
|
40
|
+
skipped++;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Get table details
|
|
45
|
+
const [columns, foreignKeys, extProps, sampleData] = await Promise.all([
|
|
46
|
+
introspector.getColumns(tableInfo.schema, tableInfo.table),
|
|
47
|
+
introspector.getForeignKeys(tableInfo.schema, tableInfo.table),
|
|
48
|
+
introspector.getExtendedProperties(tableInfo.schema, tableInfo.table),
|
|
49
|
+
introspector.sampleData(tableInfo.schema, tableInfo.table, 5),
|
|
50
|
+
]);
|
|
51
|
+
// Get existing description
|
|
52
|
+
const existingDesc = extProps.find(p => p.objectType === 'TABLE')?.value;
|
|
53
|
+
// Generate documentation with AI
|
|
54
|
+
const aiDoc = await this.aiClient.generateTableDoc({
|
|
55
|
+
schema: tableInfo.schema,
|
|
56
|
+
table: tableInfo.table,
|
|
57
|
+
columns: columns.map(c => ({
|
|
58
|
+
name: c.name,
|
|
59
|
+
type: c.dataType,
|
|
60
|
+
nullable: c.isNullable,
|
|
61
|
+
isPK: c.isPrimaryKey,
|
|
62
|
+
isFK: c.isForeignKey,
|
|
63
|
+
})),
|
|
64
|
+
foreignKeys: foreignKeys.map(fk => ({
|
|
65
|
+
column: fk.column,
|
|
66
|
+
referencedTable: `${fk.referencedSchema}.${fk.referencedTable}`,
|
|
67
|
+
})),
|
|
68
|
+
sampleData,
|
|
69
|
+
existingDescription: existingDesc,
|
|
70
|
+
});
|
|
71
|
+
// Update state with table documentation
|
|
72
|
+
this.stateManager.updateTableAI(tableInfo.schema, tableInfo.table, {
|
|
73
|
+
description: aiDoc.description,
|
|
74
|
+
purpose: aiDoc.purpose,
|
|
75
|
+
usageNotes: aiDoc.usageNotes,
|
|
76
|
+
businessDomain: aiDoc.businessDomain,
|
|
77
|
+
confidence: aiDoc.confidence,
|
|
78
|
+
model: process.env.AI_MODEL || 'gpt-4',
|
|
79
|
+
tokensUsed: aiDoc.tokensUsed,
|
|
80
|
+
relationships: aiDoc.relationships,
|
|
81
|
+
});
|
|
82
|
+
// Update columns
|
|
83
|
+
for (const colDoc of aiDoc.columns) {
|
|
84
|
+
this.stateManager.updateColumnAI(tableInfo.schema, tableInfo.table, colDoc.name, {
|
|
85
|
+
description: colDoc.description,
|
|
86
|
+
purpose: colDoc.purpose,
|
|
87
|
+
validValues: colDoc.validValues,
|
|
88
|
+
confidence: colDoc.confidence,
|
|
89
|
+
model: process.env.AI_MODEL || 'gpt-4',
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (aiDoc.tokensUsed) {
|
|
93
|
+
totalTokens += aiDoc.tokensUsed;
|
|
94
|
+
}
|
|
95
|
+
processed++;
|
|
96
|
+
tableSpinner.succeed(`Processed ${tableInfo.schema}.${tableInfo.table} (confidence: ${(aiDoc.confidence * 100).toFixed(0)}%)`);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
tableSpinner.fail(`Failed to process ${tableInfo.schema}.${tableInfo.table}: ${error}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Save state
|
|
103
|
+
await this.stateManager.save();
|
|
104
|
+
// Add run history
|
|
105
|
+
this.stateManager.addRunHistory({
|
|
106
|
+
timestamp: new Date().toISOString(),
|
|
107
|
+
phase: 'analyze',
|
|
108
|
+
tablesProcessed: processed,
|
|
109
|
+
tokensUsed: totalTokens,
|
|
110
|
+
cost: totalTokens * 0.000002, // Rough estimate
|
|
111
|
+
});
|
|
112
|
+
await this.stateManager.save();
|
|
113
|
+
console.log('');
|
|
114
|
+
console.log(`✅ Analysis complete!`);
|
|
115
|
+
console.log(` Processed: ${processed} tables`);
|
|
116
|
+
console.log(` Skipped: ${skipped} tables`);
|
|
117
|
+
console.log(` Tokens used: ${totalTokens.toLocaleString()}`);
|
|
118
|
+
console.log(` Estimated cost: $${(totalTokens * 0.000002).toFixed(4)}`);
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
spinner.fail(`Analysis failed: ${error}`);
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.DatabaseAnalyzer = DatabaseAnalyzer;
|
|
127
|
+
//# sourceMappingURL=analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../src/analyzers/analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/api/DBAutoDocAPI.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* DBAutoDoc Programmatic API
|
|
4
3
|
*
|
|
@@ -31,37 +30,12 @@
|
|
|
31
30
|
* console.log(`Tokens used: ${result.summary.totalTokens}`);
|
|
32
31
|
* ```
|
|
33
32
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Object.defineProperty(o, k2, desc);
|
|
41
|
-
}) : (function(o, m, k, k2) {
|
|
42
|
-
if (k2 === undefined) k2 = k;
|
|
43
|
-
o[k2] = m[k];
|
|
44
|
-
}));
|
|
45
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
46
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
47
|
-
}) : function(o, v) {
|
|
48
|
-
o["default"] = v;
|
|
49
|
-
});
|
|
50
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
51
|
-
if (mod && mod.__esModule) return mod;
|
|
52
|
-
var result = {};
|
|
53
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
54
|
-
__setModuleDefault(result, mod);
|
|
55
|
-
return result;
|
|
56
|
-
};
|
|
57
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
-
exports.DBAutoDocAPI = void 0;
|
|
59
|
-
const path = __importStar(require("path"));
|
|
60
|
-
const fs = __importStar(require("fs/promises"));
|
|
61
|
-
const AnalysisOrchestrator_js_1 = require("../core/AnalysisOrchestrator.js");
|
|
62
|
-
const StateManager_js_1 = require("../state/StateManager.js");
|
|
63
|
-
const SQLGenerator_js_1 = require("../generators/SQLGenerator.js");
|
|
64
|
-
const MarkdownGenerator_js_1 = require("../generators/MarkdownGenerator.js");
|
|
33
|
+
import * as path from 'path';
|
|
34
|
+
import * as fs from 'fs/promises';
|
|
35
|
+
import { AnalysisOrchestrator } from '../core/AnalysisOrchestrator.js';
|
|
36
|
+
import { StateManager } from '../state/StateManager.js';
|
|
37
|
+
import { SQLGenerator } from '../generators/SQLGenerator.js';
|
|
38
|
+
import { MarkdownGenerator } from '../generators/MarkdownGenerator.js';
|
|
65
39
|
/**
|
|
66
40
|
* DBAutoDocAPI - Main API class
|
|
67
41
|
*
|
|
@@ -70,7 +44,7 @@ const MarkdownGenerator_js_1 = require("../generators/MarkdownGenerator.js");
|
|
|
70
44
|
* - export() - Generate SQL and/or Markdown from analysis state
|
|
71
45
|
* - getStatus() - Check analysis progress and metrics
|
|
72
46
|
*/
|
|
73
|
-
class DBAutoDocAPI {
|
|
47
|
+
export class DBAutoDocAPI {
|
|
74
48
|
/**
|
|
75
49
|
* Run database analysis
|
|
76
50
|
*
|
|
@@ -100,7 +74,7 @@ class DBAutoDocAPI {
|
|
|
100
74
|
// Build full config
|
|
101
75
|
const fullConfig = this.buildFullConfig(config);
|
|
102
76
|
// Create orchestrator
|
|
103
|
-
const orchestrator = new
|
|
77
|
+
const orchestrator = new AnalysisOrchestrator({
|
|
104
78
|
config: fullConfig,
|
|
105
79
|
onProgress
|
|
106
80
|
});
|
|
@@ -170,7 +144,7 @@ class DBAutoDocAPI {
|
|
|
170
144
|
try {
|
|
171
145
|
const onProgress = config?.onProgress || (() => { });
|
|
172
146
|
// Load the state to get context
|
|
173
|
-
const stateManager = new
|
|
147
|
+
const stateManager = new StateManager(stateFile);
|
|
174
148
|
const state = await stateManager.load();
|
|
175
149
|
if (!state) {
|
|
176
150
|
return {
|
|
@@ -200,7 +174,7 @@ class DBAutoDocAPI {
|
|
|
200
174
|
// Create orchestrator with resume path
|
|
201
175
|
const outputDir = path.dirname(stateFile);
|
|
202
176
|
fullConfig.output.outputDir = outputDir;
|
|
203
|
-
const orchestrator = new
|
|
177
|
+
const orchestrator = new AnalysisOrchestrator({
|
|
204
178
|
config: fullConfig,
|
|
205
179
|
resumeFromState: stateFile,
|
|
206
180
|
onProgress
|
|
@@ -276,7 +250,7 @@ class DBAutoDocAPI {
|
|
|
276
250
|
async export(stateFile, options) {
|
|
277
251
|
try {
|
|
278
252
|
// Load state
|
|
279
|
-
const stateManager = new
|
|
253
|
+
const stateManager = new StateManager(stateFile);
|
|
280
254
|
const state = await stateManager.load();
|
|
281
255
|
if (!state) {
|
|
282
256
|
return {
|
|
@@ -293,7 +267,7 @@ class DBAutoDocAPI {
|
|
|
293
267
|
const result = { success: true };
|
|
294
268
|
// Generate SQL
|
|
295
269
|
if (generateSQL) {
|
|
296
|
-
const sqlGen = new
|
|
270
|
+
const sqlGen = new SQLGenerator();
|
|
297
271
|
const sql = sqlGen.generate(state, {
|
|
298
272
|
approvedOnly: options?.approvedOnly || false,
|
|
299
273
|
confidenceThreshold: options?.confidenceThreshold || 0
|
|
@@ -304,7 +278,7 @@ class DBAutoDocAPI {
|
|
|
304
278
|
}
|
|
305
279
|
// Generate Markdown
|
|
306
280
|
if (generateMarkdown) {
|
|
307
|
-
const mdGen = new
|
|
281
|
+
const mdGen = new MarkdownGenerator();
|
|
308
282
|
const markdown = mdGen.generate(state);
|
|
309
283
|
const mdPath = path.join(outputDir, 'summary.md');
|
|
310
284
|
await fs.writeFile(mdPath, markdown, 'utf-8');
|
|
@@ -342,7 +316,7 @@ class DBAutoDocAPI {
|
|
|
342
316
|
*/
|
|
343
317
|
async getStatus(stateFile) {
|
|
344
318
|
try {
|
|
345
|
-
const stateManager = new
|
|
319
|
+
const stateManager = new StateManager(stateFile);
|
|
346
320
|
const state = await stateManager.load();
|
|
347
321
|
if (!state) {
|
|
348
322
|
return { exists: false };
|
|
@@ -526,5 +500,4 @@ class DBAutoDocAPI {
|
|
|
526
500
|
};
|
|
527
501
|
}
|
|
528
502
|
}
|
|
529
|
-
exports.DBAutoDocAPI = DBAutoDocAPI;
|
|
530
503
|
//# sourceMappingURL=DBAutoDocAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBAutoDocAPI.js","sourceRoot":"","sources":["../../src/api/DBAutoDocAPI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DBAutoDocAPI.js","sourceRoot":"","sources":["../../src/api/DBAutoDocAPI.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAyHvE;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IACvB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,KAAK,CAAC,OAAO,CAClB,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEnD,oBAAoB;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEhD,sBAAsB;YACtB,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC;gBAC5C,MAAM,EAAE,UAAU;gBAClB,UAAU;aACX,CAAC,CAAC;YAEH,mBAAmB;YACnB,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAE5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;oBACvD,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;iBACH,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;oBACvD,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;oBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;iBACG,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACtC,eAAe,EAAE,CAAC;oBAClB,eAAe,EAAE,CAAC;oBAClB,gBAAgB,EAAE,CAAC;oBACnB,iBAAiB,EAAE,CAAC;oBACpB,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,CAAC;oBAChB,YAAY,EAAE,CAAC;oBACf,WAAW,EAAE,CAAC;oBACd,YAAY,EAAE,CAAC;iBAChB;gBACD,OAAO,EAAG,KAAe,CAAC,OAAO;aACP,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,MAAM,CACjB,SAAiB,EACjB,MAA+D;QAE/D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEpD,gCAAgC;YAChC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAExC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;oBACrC,SAAS;oBACT,OAAO,EAAE;wBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACtC,eAAe,EAAE,CAAC;wBAClB,eAAe,EAAE,CAAC;wBAClB,gBAAgB,EAAE,CAAC;wBACnB,iBAAiB,EAAE,CAAC;wBACpB,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC;wBAChB,YAAY,EAAE,CAAC;wBACf,WAAW,EAAE,CAAC;wBACd,YAAY,EAAE,CAAC;qBAChB;oBACD,OAAO,EAAE,yBAAyB,SAAS,EAAE;iBACnB,CAAC;YAC/B,CAAC;YAED,0EAA0E;YAC1E,MAAM,UAAU,GAAG,MAAM;gBACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC9B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAExE,uCAAuC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,UAAU,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAExC,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC;gBAC5C,MAAM,EAAE,UAAU;gBAClB,eAAe,EAAE,SAAS;gBAC1B,UAAU;aACX,CAAC,CAAC;YAEH,mBAAmB;YACnB,UAAU,CAAC,mCAAmC,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAE5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;oBACvD,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;iBACH,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;oBACvD,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;oBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;iBACG,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACrC,SAAS;gBACT,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACtC,eAAe,EAAE,CAAC;oBAClB,eAAe,EAAE,CAAC;oBAClB,gBAAgB,EAAE,CAAC;oBACnB,iBAAiB,EAAE,CAAC;oBACpB,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,CAAC;oBAChB,YAAY,EAAE,CAAC;oBACf,WAAW,EAAE,CAAC;oBACd,YAAY,EAAE,CAAC;iBAChB;gBACD,OAAO,EAAG,KAAe,CAAC,OAAO;aACP,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,KAAK,CAAC,MAAM,CACjB,SAAiB,EACjB,OAeC;QAED,IAAI,CAAC;YACH,aAAa;YACb,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAExC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,yBAAyB,SAAS,EAAE;iBAC9C,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/C,2DAA2D;YAC3D,MAAM,WAAW,GAAG,OAAO,EAAE,GAAG,KAAK,KAAK,CAAC;YAC3C,MAAM,gBAAgB,GAAG,OAAO,EAAE,QAAQ,KAAK,KAAK,CAAC;YAErD,MAAM,MAAM,GAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAE/C,eAAe;YACf,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE;oBACjC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,KAAK;oBAC5C,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC;iBACvD,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;gBAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC1C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,CAAC;YAED,oBAAoB;YACpB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAClD,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;YAC/B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAG,KAAe,CAAC,OAAO;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,KAAK,CAAC,SAAS,CAAC,SAAiB;QACtC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAExC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3B,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;gBAClC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;gBACxC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;gBAC9C,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;gBAC1C,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;gBACxC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aACzC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,MAA0B;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE;gBACR,oBAAoB,EAAE,GAAG;gBACzB,UAAU,EAAE,IAAI;gBAChB,iBAAiB,EAAE,IAAI;gBACvB,sBAAsB,EAAE,IAAI;gBAC5B,WAAW,EAAE;oBACX,aAAa,EAAE,CAAC;oBAChB,eAAe,EAAE,CAAC;oBAClB,mBAAmB,EAAE,IAAI;iBAC1B;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,CAAC;iBACZ;gBACD,YAAY,EAAE;oBACZ,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,IAAI;iBAClB;gBACD,qBAAqB,EAAE;oBACrB,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE;wBACR,eAAe,EAAE,IAAI;wBACrB,oBAAoB,EAAE,IAAI;wBAC1B,kBAAkB,EAAE,GAAG;qBACxB;oBACD,WAAW,EAAE;wBACX,YAAY,EAAE,IAAI;qBACnB;oBACD,UAAU,EAAE;wBACV,iBAAiB,EAAE,GAAG;wBACtB,iBAAiB,EAAE,GAAG;wBACtB,sBAAsB,EAAE,GAAG;qBAC5B;oBACD,QAAQ,EAAE;wBACR,eAAe,EAAE,IAAI;wBACrB,uBAAuB,EAAE,GAAG;wBAC5B,sBAAsB,EAAE,GAAG;qBAC5B;oBACD,QAAQ,EAAE;wBACR,eAAe,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC;wBACxD,eAAe,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;wBAChD,sBAAsB,EAAE,EAAE;qBAC3B;oBACD,aAAa,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,CAAC;qBACb;oBACD,eAAe,EAAE;wBACf,OAAO,EAAE,IAAI;wBACb,aAAa,EAAE,EAAE;qBAClB;iBACF;gBACD,GAAG,MAAM,CAAC,QAAQ;aACnB;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;gBAC7C,SAAS;gBACT,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC;gBACnD,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;aACjD;YACD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAc,EAAE,MAAc;QACvD,MAAM,SAAS,GAAG,UAAU,CAAC;QAE7B,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE;gBACR,QAAQ,EAAE,WAAW;gBACrB,MAAM;gBACN,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,EAAE;gBACZ,iBAAiB,EAAE,KAAK;aACzB;YACD,EAAE,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,wBAAwB;gBAC/B,MAAM,EAAE,EAAE;gBACV,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI;aAChB;YACD,QAAQ,EAAE;gBACR,oBAAoB,EAAE,GAAG;gBACzB,UAAU,EAAE,IAAI;gBAChB,iBAAiB,EAAE,IAAI;gBACvB,sBAAsB,EAAE,IAAI;gBAC5B,WAAW,EAAE;oBACX,aAAa,EAAE,CAAC;oBAChB,eAAe,EAAE,CAAC;oBAClB,mBAAmB,EAAE,IAAI;iBAC1B;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,CAAC;iBACZ;gBACD,YAAY,EAAE;oBACZ,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,IAAI;iBAClB;gBACD,qBAAqB,EAAE;oBACrB,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE;wBACR,eAAe,EAAE,IAAI;wBACrB,oBAAoB,EAAE,IAAI;wBAC1B,kBAAkB,EAAE,GAAG;qBACxB;oBACD,WAAW,EAAE;wBACX,YAAY,EAAE,IAAI;qBACnB;oBACD,UAAU,EAAE;wBACV,iBAAiB,EAAE,GAAG;wBACtB,iBAAiB,EAAE,GAAG;wBACtB,sBAAsB,EAAE,GAAG;qBAC5B;oBACD,QAAQ,EAAE;wBACR,eAAe,EAAE,IAAI;wBACrB,uBAAuB,EAAE,GAAG;wBAC5B,sBAAsB,EAAE,GAAG;qBAC5B;oBACD,QAAQ,EAAE;wBACR,eAAe,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC;wBACxD,eAAe,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;wBAChD,sBAAsB,EAAE,EAAE;qBAC3B;oBACD,aAAa,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,CAAC;qBACb;oBACD,eAAe,EAAE;wBACf,OAAO,EAAE,IAAI;wBACb,aAAa,EAAE,EAAE;qBAClB;iBACF;aACF;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;gBAC7C,SAAS;gBACT,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC;gBACnD,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;aACjD;YACD,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;CACF"}
|
package/dist/api/index.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* DBAutoDoc Programmatic API
|
|
4
3
|
* Main entry point for library usage
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
exports.DBAutoDocAPI = void 0;
|
|
8
|
-
var DBAutoDocAPI_js_1 = require("./DBAutoDocAPI.js");
|
|
9
|
-
Object.defineProperty(exports, "DBAutoDocAPI", { enumerable: true, get: function () { return DBAutoDocAPI_js_1.DBAutoDocAPI; } });
|
|
5
|
+
export { DBAutoDocAPI } from './DBAutoDocAPI.js';
|
|
10
6
|
//# sourceMappingURL=index.js.map
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli-old/cli.ts"],"names":[],"mappings":""}
|