@memberjunction/db-auto-doc 2.117.0 → 2.118.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.
Files changed (251) hide show
  1. package/README.md +652 -165
  2. package/bin/run.js +7 -0
  3. package/dist/api/DBAutoDocAPI.d.ts +252 -0
  4. package/dist/api/DBAutoDocAPI.d.ts.map +1 -0
  5. package/dist/api/DBAutoDocAPI.js +530 -0
  6. package/dist/api/DBAutoDocAPI.js.map +1 -0
  7. package/dist/api/index.d.ts +7 -0
  8. package/dist/api/index.d.ts.map +1 -0
  9. package/dist/api/index.js +10 -0
  10. package/dist/api/index.js.map +1 -0
  11. package/dist/commands/analyze.d.ts +6 -4
  12. package/dist/commands/analyze.d.ts.map +1 -1
  13. package/dist/commands/analyze.js +58 -71
  14. package/dist/commands/analyze.js.map +1 -1
  15. package/dist/commands/export.d.ts +14 -4
  16. package/dist/commands/export.d.ts.map +1 -1
  17. package/dist/commands/export.js +156 -61
  18. package/dist/commands/export.js.map +1 -1
  19. package/dist/commands/init.d.ts +3 -4
  20. package/dist/commands/init.d.ts.map +1 -1
  21. package/dist/commands/init.js +155 -146
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/reset.d.ts +4 -1
  24. package/dist/commands/reset.d.ts.map +1 -1
  25. package/dist/commands/reset.js +33 -19
  26. package/dist/commands/reset.js.map +1 -1
  27. package/dist/commands/status.d.ts +10 -0
  28. package/dist/commands/status.d.ts.map +1 -0
  29. package/dist/commands/status.js +66 -0
  30. package/dist/commands/status.js.map +1 -0
  31. package/dist/core/AnalysisEngine.d.ts +108 -0
  32. package/dist/core/AnalysisEngine.d.ts.map +1 -0
  33. package/dist/core/AnalysisEngine.js +716 -0
  34. package/dist/core/AnalysisEngine.js.map +1 -0
  35. package/dist/core/AnalysisOrchestrator.d.ts +37 -0
  36. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -0
  37. package/dist/core/AnalysisOrchestrator.js +294 -0
  38. package/dist/core/AnalysisOrchestrator.js.map +1 -0
  39. package/dist/core/BackpropagationEngine.d.ts +32 -0
  40. package/dist/core/BackpropagationEngine.d.ts.map +1 -0
  41. package/dist/core/BackpropagationEngine.js +121 -0
  42. package/dist/core/BackpropagationEngine.js.map +1 -0
  43. package/dist/core/ConvergenceDetector.d.ts +27 -0
  44. package/dist/core/ConvergenceDetector.d.ts.map +1 -0
  45. package/dist/core/ConvergenceDetector.js +92 -0
  46. package/dist/core/ConvergenceDetector.js.map +1 -0
  47. package/dist/core/GuardrailsManager.d.ts +78 -0
  48. package/dist/core/GuardrailsManager.d.ts.map +1 -0
  49. package/dist/core/GuardrailsManager.js +367 -0
  50. package/dist/core/GuardrailsManager.js.map +1 -0
  51. package/dist/core/index.d.ts +7 -0
  52. package/dist/core/index.d.ts.map +1 -0
  53. package/dist/core/index.js +13 -0
  54. package/dist/core/index.js.map +1 -0
  55. package/dist/database/Database.d.ts +56 -0
  56. package/dist/database/Database.d.ts.map +1 -0
  57. package/dist/database/Database.js +172 -0
  58. package/dist/database/Database.js.map +1 -0
  59. package/dist/database/TopologicalSorter.d.ts +25 -0
  60. package/dist/database/TopologicalSorter.d.ts.map +1 -0
  61. package/dist/database/TopologicalSorter.js +150 -0
  62. package/dist/database/TopologicalSorter.js.map +1 -0
  63. package/dist/database/index.d.ts +6 -0
  64. package/dist/database/index.d.ts.map +1 -0
  65. package/dist/database/index.js +14 -0
  66. package/dist/database/index.js.map +1 -0
  67. package/dist/discovery/ColumnStatsCache.d.ts +91 -0
  68. package/dist/discovery/ColumnStatsCache.d.ts.map +1 -0
  69. package/dist/discovery/ColumnStatsCache.js +231 -0
  70. package/dist/discovery/ColumnStatsCache.js.map +1 -0
  71. package/dist/discovery/DiscoveryEngine.d.ts +100 -0
  72. package/dist/discovery/DiscoveryEngine.d.ts.map +1 -0
  73. package/dist/discovery/DiscoveryEngine.js +726 -0
  74. package/dist/discovery/DiscoveryEngine.js.map +1 -0
  75. package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts +57 -0
  76. package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts.map +1 -0
  77. package/dist/discovery/DiscoveryTriggerAnalyzer.js +186 -0
  78. package/dist/discovery/DiscoveryTriggerAnalyzer.js.map +1 -0
  79. package/dist/discovery/FKDetector.d.ts +47 -0
  80. package/dist/discovery/FKDetector.d.ts.map +1 -0
  81. package/dist/discovery/FKDetector.js +317 -0
  82. package/dist/discovery/FKDetector.js.map +1 -0
  83. package/dist/discovery/LLMDiscoveryValidator.d.ts +64 -0
  84. package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -0
  85. package/dist/discovery/LLMDiscoveryValidator.js +431 -0
  86. package/dist/discovery/LLMDiscoveryValidator.js.map +1 -0
  87. package/dist/discovery/LLMSanityChecker.d.ts +38 -0
  88. package/dist/discovery/LLMSanityChecker.d.ts.map +1 -0
  89. package/dist/discovery/LLMSanityChecker.js +156 -0
  90. package/dist/discovery/LLMSanityChecker.js.map +1 -0
  91. package/dist/discovery/PKDetector.d.ts +62 -0
  92. package/dist/discovery/PKDetector.d.ts.map +1 -0
  93. package/dist/discovery/PKDetector.js +436 -0
  94. package/dist/discovery/PKDetector.js.map +1 -0
  95. package/dist/discovery/index.d.ts +9 -0
  96. package/dist/discovery/index.d.ts.map +1 -0
  97. package/dist/discovery/index.js +25 -0
  98. package/dist/discovery/index.js.map +1 -0
  99. package/dist/drivers/BaseAutoDocDriver.d.ts +132 -0
  100. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -0
  101. package/dist/drivers/BaseAutoDocDriver.js +121 -0
  102. package/dist/drivers/BaseAutoDocDriver.js.map +1 -0
  103. package/dist/drivers/MySQLDriver.d.ts +61 -0
  104. package/dist/drivers/MySQLDriver.d.ts.map +1 -0
  105. package/dist/drivers/MySQLDriver.js +668 -0
  106. package/dist/drivers/MySQLDriver.js.map +1 -0
  107. package/dist/drivers/PostgreSQLDriver.d.ts +65 -0
  108. package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -0
  109. package/dist/drivers/PostgreSQLDriver.js +704 -0
  110. package/dist/drivers/PostgreSQLDriver.js.map +1 -0
  111. package/dist/drivers/SQLServerDriver.d.ts +61 -0
  112. package/dist/drivers/SQLServerDriver.d.ts.map +1 -0
  113. package/dist/drivers/SQLServerDriver.js +667 -0
  114. package/dist/drivers/SQLServerDriver.js.map +1 -0
  115. package/dist/generators/CSVGenerator.d.ts +35 -0
  116. package/dist/generators/CSVGenerator.d.ts.map +1 -0
  117. package/dist/generators/CSVGenerator.js +154 -0
  118. package/dist/generators/CSVGenerator.js.map +1 -0
  119. package/dist/generators/HTMLGenerator.d.ts +29 -0
  120. package/dist/generators/HTMLGenerator.d.ts.map +1 -0
  121. package/dist/generators/HTMLGenerator.js +710 -0
  122. package/dist/generators/HTMLGenerator.js.map +1 -0
  123. package/dist/generators/MarkdownGenerator.d.ts +27 -0
  124. package/dist/generators/MarkdownGenerator.d.ts.map +1 -0
  125. package/dist/generators/MarkdownGenerator.js +361 -0
  126. package/dist/generators/MarkdownGenerator.js.map +1 -0
  127. package/dist/generators/MermaidGenerator.d.ts +35 -0
  128. package/dist/generators/MermaidGenerator.d.ts.map +1 -0
  129. package/dist/generators/MermaidGenerator.js +321 -0
  130. package/dist/generators/MermaidGenerator.js.map +1 -0
  131. package/dist/generators/ReportGenerator.d.ts +22 -0
  132. package/dist/generators/ReportGenerator.d.ts.map +1 -0
  133. package/dist/generators/ReportGenerator.js +176 -0
  134. package/dist/generators/ReportGenerator.js.map +1 -0
  135. package/dist/generators/SQLGenerator.d.ts +31 -0
  136. package/dist/generators/SQLGenerator.d.ts.map +1 -0
  137. package/dist/generators/SQLGenerator.js +168 -0
  138. package/dist/generators/SQLGenerator.js.map +1 -0
  139. package/dist/generators/index.d.ts +10 -0
  140. package/dist/generators/index.d.ts.map +1 -0
  141. package/dist/generators/index.js +19 -0
  142. package/dist/generators/index.js.map +1 -0
  143. package/dist/index.d.ts +11 -20
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +19 -20
  146. package/dist/index.js.map +1 -1
  147. package/dist/prompts/PromptEngine.d.ts +65 -0
  148. package/dist/prompts/PromptEngine.d.ts.map +1 -0
  149. package/dist/prompts/PromptEngine.js +282 -0
  150. package/dist/prompts/PromptEngine.js.map +1 -0
  151. package/dist/prompts/PromptFileLoader.d.ts +21 -0
  152. package/dist/prompts/PromptFileLoader.d.ts.map +1 -0
  153. package/dist/prompts/PromptFileLoader.js +74 -0
  154. package/dist/prompts/PromptFileLoader.js.map +1 -0
  155. package/dist/prompts/index.d.ts +6 -0
  156. package/dist/prompts/index.d.ts.map +1 -0
  157. package/dist/prompts/index.js +11 -0
  158. package/dist/prompts/index.js.map +1 -0
  159. package/dist/state/IterationTracker.d.ts +64 -0
  160. package/dist/state/IterationTracker.d.ts.map +1 -0
  161. package/dist/state/IterationTracker.js +136 -0
  162. package/dist/state/IterationTracker.js.map +1 -0
  163. package/dist/state/StateManager.d.ts +79 -0
  164. package/dist/state/StateManager.d.ts.map +1 -0
  165. package/dist/state/StateManager.js +348 -0
  166. package/dist/state/StateManager.js.map +1 -0
  167. package/dist/state/StateValidator.d.ts +24 -0
  168. package/dist/state/StateValidator.d.ts.map +1 -0
  169. package/dist/state/StateValidator.js +147 -0
  170. package/dist/state/StateValidator.js.map +1 -0
  171. package/dist/state/index.d.ts +7 -0
  172. package/dist/state/index.d.ts.map +1 -0
  173. package/dist/state/index.js +13 -0
  174. package/dist/state/index.js.map +1 -0
  175. package/dist/types/analysis.d.ts +76 -0
  176. package/dist/types/analysis.d.ts.map +1 -0
  177. package/dist/types/analysis.js +6 -0
  178. package/dist/types/analysis.js.map +1 -0
  179. package/dist/types/config.d.ts +132 -0
  180. package/dist/types/config.d.ts.map +1 -0
  181. package/dist/types/config.js +7 -0
  182. package/dist/types/config.js.map +1 -0
  183. package/dist/types/discovery.d.ts +277 -0
  184. package/dist/types/discovery.d.ts.map +1 -0
  185. package/dist/types/discovery.js +7 -0
  186. package/dist/types/discovery.js.map +1 -0
  187. package/dist/types/driver.d.ts +148 -0
  188. package/dist/types/driver.d.ts.map +1 -0
  189. package/dist/types/driver.js +7 -0
  190. package/dist/types/driver.js.map +1 -0
  191. package/dist/types/index.d.ts +8 -0
  192. package/dist/types/index.d.ts.map +1 -0
  193. package/dist/types/index.js +24 -0
  194. package/dist/types/index.js.map +1 -0
  195. package/dist/types/prompts.d.ts +158 -0
  196. package/dist/types/prompts.d.ts.map +1 -0
  197. package/dist/types/prompts.js +6 -0
  198. package/dist/types/prompts.js.map +1 -0
  199. package/dist/types/state.d.ts +278 -0
  200. package/dist/types/state.d.ts.map +1 -0
  201. package/dist/types/state.js +7 -0
  202. package/dist/types/state.js.map +1 -0
  203. package/dist/utils/config-loader.d.ts +29 -0
  204. package/dist/utils/config-loader.d.ts.map +1 -0
  205. package/dist/utils/config-loader.js +163 -0
  206. package/dist/utils/config-loader.js.map +1 -0
  207. package/dist/utils/index.d.ts +5 -0
  208. package/dist/utils/index.d.ts.map +1 -0
  209. package/dist/utils/index.js +9 -0
  210. package/dist/utils/index.js.map +1 -0
  211. package/package.json +24 -3
  212. package/dist/ai/simple-ai-client.d.ts +0 -70
  213. package/dist/ai/simple-ai-client.d.ts.map +0 -1
  214. package/dist/ai/simple-ai-client.js +0 -181
  215. package/dist/ai/simple-ai-client.js.map +0 -1
  216. package/dist/analyzers/analyzer.d.ts +0 -23
  217. package/dist/analyzers/analyzer.d.ts.map +0 -1
  218. package/dist/analyzers/analyzer.js +0 -127
  219. package/dist/analyzers/analyzer.js.map +0 -1
  220. package/dist/cli-old/cli.d.ts +0 -3
  221. package/dist/cli-old/cli.d.ts.map +0 -1
  222. package/dist/cli-old/cli.js +0 -388
  223. package/dist/cli-old/cli.js.map +0 -1
  224. package/dist/commands/review.d.ts +0 -11
  225. package/dist/commands/review.d.ts.map +0 -1
  226. package/dist/commands/review.js +0 -82
  227. package/dist/commands/review.js.map +0 -1
  228. package/dist/database/connection.d.ts +0 -40
  229. package/dist/database/connection.d.ts.map +0 -1
  230. package/dist/database/connection.js +0 -136
  231. package/dist/database/connection.js.map +0 -1
  232. package/dist/database/introspection.d.ts +0 -59
  233. package/dist/database/introspection.d.ts.map +0 -1
  234. package/dist/database/introspection.js +0 -124
  235. package/dist/database/introspection.js.map +0 -1
  236. package/dist/generators/markdown-generator.d.ts +0 -8
  237. package/dist/generators/markdown-generator.d.ts.map +0 -1
  238. package/dist/generators/markdown-generator.js +0 -106
  239. package/dist/generators/markdown-generator.js.map +0 -1
  240. package/dist/generators/sql-generator.d.ts +0 -20
  241. package/dist/generators/sql-generator.d.ts.map +0 -1
  242. package/dist/generators/sql-generator.js +0 -83
  243. package/dist/generators/sql-generator.js.map +0 -1
  244. package/dist/state/state-manager.d.ts +0 -95
  245. package/dist/state/state-manager.d.ts.map +0 -1
  246. package/dist/state/state-manager.js +0 -236
  247. package/dist/state/state-manager.js.map +0 -1
  248. package/dist/types/state-file.d.ts +0 -124
  249. package/dist/types/state-file.d.ts.map +0 -1
  250. package/dist/types/state-file.js +0 -79
  251. package/dist/types/state-file.js.map +0 -1
@@ -0,0 +1,530 @@
1
+ "use strict";
2
+ /**
3
+ * DBAutoDoc Programmatic API
4
+ *
5
+ * A clean, simple API for using DBAutoDoc as a library.
6
+ * Provides programmatic access to analysis, export, and status checking.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { DBAutoDocAPI } from '@memberjunction/db-auto-doc';
11
+ *
12
+ * const api = new DBAutoDocAPI();
13
+ *
14
+ * const result = await api.analyze({
15
+ * database: {
16
+ * provider: 'sqlserver',
17
+ * server: 'localhost',
18
+ * database: 'MyDB',
19
+ * user: 'sa',
20
+ * password: 'password'
21
+ * },
22
+ * ai: {
23
+ * provider: 'anthropic',
24
+ * model: 'claude-3-opus-20240229',
25
+ * apiKey: 'sk-...'
26
+ * },
27
+ * onProgress: (message, data) => console.log(`${message}:`, data)
28
+ * });
29
+ *
30
+ * console.log(`Analysis complete: ${result.outputFolder}`);
31
+ * console.log(`Tokens used: ${result.summary.totalTokens}`);
32
+ * ```
33
+ */
34
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
35
+ if (k2 === undefined) k2 = k;
36
+ var desc = Object.getOwnPropertyDescriptor(m, k);
37
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
38
+ desc = { enumerable: true, get: function() { return m[k]; } };
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");
65
+ /**
66
+ * DBAutoDocAPI - Main API class
67
+ *
68
+ * Simple, type-safe interface for DBAutoDoc functionality:
69
+ * - analyze() - Run full analysis or resume from checkpoint
70
+ * - export() - Generate SQL and/or Markdown from analysis state
71
+ * - getStatus() - Check analysis progress and metrics
72
+ */
73
+ class DBAutoDocAPI {
74
+ /**
75
+ * Run database analysis
76
+ *
77
+ * Performs full or resumed database analysis, saving results to the output folder.
78
+ *
79
+ * @param config - API configuration with database and AI settings
80
+ * @param progressCallback - Optional callback for progress updates
81
+ * @returns Analysis result with output folder path and metrics
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const result = await api.analyze({
86
+ * database: { provider: 'sqlserver', server: 'localhost', ... },
87
+ * ai: { provider: 'anthropic', model: 'claude-3-opus-20240229', ... },
88
+ * onProgress: (msg, data) => console.log(msg, data)
89
+ * });
90
+ *
91
+ * if (result.success) {
92
+ * console.log(`Analysis saved to: ${result.outputFolder}`);
93
+ * console.log(`Tokens used: ${result.summary.totalTokens}`);
94
+ * }
95
+ * ```
96
+ */
97
+ async analyze(config) {
98
+ try {
99
+ const onProgress = config.onProgress || (() => { });
100
+ // Build full config
101
+ const fullConfig = this.buildFullConfig(config);
102
+ // Create orchestrator
103
+ const orchestrator = new AnalysisOrchestrator_js_1.AnalysisOrchestrator({
104
+ config: fullConfig,
105
+ onProgress
106
+ });
107
+ // Execute analysis
108
+ onProgress('Starting analysis');
109
+ const result = await orchestrator.execute();
110
+ if (result.success) {
111
+ return {
112
+ success: true,
113
+ outputFolder: result.outputFolder,
114
+ stateFile: path.join(result.outputFolder, 'state.json'),
115
+ summary: result.state.summary
116
+ };
117
+ }
118
+ else {
119
+ return {
120
+ success: false,
121
+ outputFolder: result.outputFolder,
122
+ stateFile: path.join(result.outputFolder, 'state.json'),
123
+ summary: result.state.summary,
124
+ message: result.message
125
+ };
126
+ }
127
+ }
128
+ catch (error) {
129
+ return {
130
+ success: false,
131
+ outputFolder: '',
132
+ stateFile: '',
133
+ summary: {
134
+ createdAt: new Date().toISOString(),
135
+ lastModified: new Date().toISOString(),
136
+ totalIterations: 0,
137
+ totalPromptsRun: 0,
138
+ totalInputTokens: 0,
139
+ totalOutputTokens: 0,
140
+ totalTokens: 0,
141
+ estimatedCost: 0,
142
+ totalSchemas: 0,
143
+ totalTables: 0,
144
+ totalColumns: 0
145
+ },
146
+ message: error.message
147
+ };
148
+ }
149
+ }
150
+ /**
151
+ * Resume analysis from a checkpoint
152
+ *
153
+ * Continues a previous analysis from where it left off.
154
+ *
155
+ * @param stateFile - Path to the state.json file to resume from
156
+ * @param config - Updated configuration (optional, uses config from state if not provided)
157
+ * @param progressCallback - Optional callback for progress updates
158
+ * @returns Analysis execution result
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const result = await api.resume('./output/run-5/state.json', {
163
+ * database: { ... }, // Optional: provide updated config
164
+ * ai: { ... },
165
+ * onProgress: (msg) => console.log(msg)
166
+ * });
167
+ * ```
168
+ */
169
+ async resume(stateFile, config) {
170
+ try {
171
+ const onProgress = config?.onProgress || (() => { });
172
+ // Load the state to get context
173
+ const stateManager = new StateManager_js_1.StateManager(stateFile);
174
+ const state = await stateManager.load();
175
+ if (!state) {
176
+ return {
177
+ success: false,
178
+ outputFolder: path.dirname(stateFile),
179
+ stateFile,
180
+ summary: {
181
+ createdAt: new Date().toISOString(),
182
+ lastModified: new Date().toISOString(),
183
+ totalIterations: 0,
184
+ totalPromptsRun: 0,
185
+ totalInputTokens: 0,
186
+ totalOutputTokens: 0,
187
+ totalTokens: 0,
188
+ estimatedCost: 0,
189
+ totalSchemas: 0,
190
+ totalTables: 0,
191
+ totalColumns: 0
192
+ },
193
+ message: `State file not found: ${stateFile}`
194
+ };
195
+ }
196
+ // Build config - prefer provided config, but use defaults if not provided
197
+ const fullConfig = config
198
+ ? this.buildFullConfig(config)
199
+ : this.buildDefaultConfig(state.database.name, state.database.server);
200
+ // Create orchestrator with resume path
201
+ const outputDir = path.dirname(stateFile);
202
+ fullConfig.output.outputDir = outputDir;
203
+ const orchestrator = new AnalysisOrchestrator_js_1.AnalysisOrchestrator({
204
+ config: fullConfig,
205
+ resumeFromState: stateFile,
206
+ onProgress
207
+ });
208
+ // Execute analysis
209
+ onProgress('Resuming analysis from checkpoint');
210
+ const result = await orchestrator.execute();
211
+ if (result.success) {
212
+ return {
213
+ success: true,
214
+ outputFolder: result.outputFolder,
215
+ stateFile: path.join(result.outputFolder, 'state.json'),
216
+ summary: result.state.summary
217
+ };
218
+ }
219
+ else {
220
+ return {
221
+ success: false,
222
+ outputFolder: result.outputFolder,
223
+ stateFile: path.join(result.outputFolder, 'state.json'),
224
+ summary: result.state.summary,
225
+ message: result.message
226
+ };
227
+ }
228
+ }
229
+ catch (error) {
230
+ return {
231
+ success: false,
232
+ outputFolder: path.dirname(stateFile),
233
+ stateFile,
234
+ summary: {
235
+ createdAt: new Date().toISOString(),
236
+ lastModified: new Date().toISOString(),
237
+ totalIterations: 0,
238
+ totalPromptsRun: 0,
239
+ totalInputTokens: 0,
240
+ totalOutputTokens: 0,
241
+ totalTokens: 0,
242
+ estimatedCost: 0,
243
+ totalSchemas: 0,
244
+ totalTables: 0,
245
+ totalColumns: 0
246
+ },
247
+ message: error.message
248
+ };
249
+ }
250
+ }
251
+ /**
252
+ * Export analysis results as SQL and/or Markdown
253
+ *
254
+ * Generates SQL extended properties script and/or Markdown documentation
255
+ * from an existing analysis state file.
256
+ *
257
+ * @param stateFile - Path to the state.json file to export from
258
+ * @param options - Export options
259
+ * @returns Export result with paths to generated files
260
+ *
261
+ * @example
262
+ * ```typescript
263
+ * // Generate both SQL and Markdown
264
+ * const result = await api.export('./output/run-5/state.json', {
265
+ * sql: true,
266
+ * markdown: true,
267
+ * outputDir: './docs'
268
+ * });
269
+ *
270
+ * if (result.success) {
271
+ * console.log(`SQL: ${result.sqlFile}`);
272
+ * console.log(`Markdown: ${result.markdownFile}`);
273
+ * }
274
+ * ```
275
+ */
276
+ async export(stateFile, options) {
277
+ try {
278
+ // Load state
279
+ const stateManager = new StateManager_js_1.StateManager(stateFile);
280
+ const state = await stateManager.load();
281
+ if (!state) {
282
+ return {
283
+ success: false,
284
+ message: `State file not found: ${stateFile}`
285
+ };
286
+ }
287
+ // Determine output directory
288
+ const outputDir = options?.outputDir || path.dirname(stateFile);
289
+ await fs.mkdir(outputDir, { recursive: true });
290
+ // Default to both SQL and Markdown if no options specified
291
+ const generateSQL = options?.sql !== false;
292
+ const generateMarkdown = options?.markdown !== false;
293
+ const result = { success: true };
294
+ // Generate SQL
295
+ if (generateSQL) {
296
+ const sqlGen = new SQLGenerator_js_1.SQLGenerator();
297
+ const sql = sqlGen.generate(state, {
298
+ approvedOnly: options?.approvedOnly || false,
299
+ confidenceThreshold: options?.confidenceThreshold || 0
300
+ });
301
+ const sqlPath = path.join(outputDir, 'extended-props.sql');
302
+ await fs.writeFile(sqlPath, sql, 'utf-8');
303
+ result.sqlFile = sqlPath;
304
+ }
305
+ // Generate Markdown
306
+ if (generateMarkdown) {
307
+ const mdGen = new MarkdownGenerator_js_1.MarkdownGenerator();
308
+ const markdown = mdGen.generate(state);
309
+ const mdPath = path.join(outputDir, 'summary.md');
310
+ await fs.writeFile(mdPath, markdown, 'utf-8');
311
+ result.markdownFile = mdPath;
312
+ }
313
+ return result;
314
+ }
315
+ catch (error) {
316
+ return {
317
+ success: false,
318
+ message: error.message
319
+ };
320
+ }
321
+ }
322
+ /**
323
+ * Get analysis status and metrics
324
+ *
325
+ * Returns current analysis status and metrics from a state file.
326
+ * Useful for tracking progress or checking if analysis is complete.
327
+ *
328
+ * @param stateFile - Path to the state.json file
329
+ * @returns Status information
330
+ *
331
+ * @example
332
+ * ```typescript
333
+ * const status = await api.getStatus('./output/run-5/state.json');
334
+ *
335
+ * if (status.exists) {
336
+ * console.log(`Schemas: ${status.totalSchemas}`);
337
+ * console.log(`Tables: ${status.totalTables}`);
338
+ * console.log(`Tokens: ${status.totalTokens}`);
339
+ * console.log(`Cost: $${status.estimatedCost?.toFixed(2)}`);
340
+ * }
341
+ * ```
342
+ */
343
+ async getStatus(stateFile) {
344
+ try {
345
+ const stateManager = new StateManager_js_1.StateManager(stateFile);
346
+ const state = await stateManager.load();
347
+ if (!state) {
348
+ return { exists: false };
349
+ }
350
+ return {
351
+ exists: true,
352
+ createdAt: state.summary.createdAt,
353
+ lastModified: state.summary.lastModified,
354
+ totalIterations: state.summary.totalIterations,
355
+ totalTokens: state.summary.totalTokens,
356
+ estimatedCost: state.summary.estimatedCost,
357
+ totalSchemas: state.summary.totalSchemas,
358
+ totalTables: state.summary.totalTables,
359
+ totalColumns: state.summary.totalColumns
360
+ };
361
+ }
362
+ catch (error) {
363
+ return { exists: false };
364
+ }
365
+ }
366
+ /**
367
+ * Build full configuration from API config
368
+ * Applies sensible defaults for analysis settings
369
+ */
370
+ buildFullConfig(config) {
371
+ const outputDir = config.outputDir || './output';
372
+ return {
373
+ version: '2.0.0',
374
+ database: config.database,
375
+ ai: config.ai,
376
+ analysis: {
377
+ cardinalityThreshold: 100,
378
+ sampleSize: 1000,
379
+ includeStatistics: true,
380
+ includePatternAnalysis: true,
381
+ convergence: {
382
+ maxIterations: 3,
383
+ stabilityWindow: 2,
384
+ confidenceThreshold: 0.85
385
+ },
386
+ backpropagation: {
387
+ enabled: true,
388
+ maxDepth: 2
389
+ },
390
+ sanityChecks: {
391
+ dependencyLevel: true,
392
+ schemaLevel: true,
393
+ crossSchema: true
394
+ },
395
+ relationshipDiscovery: {
396
+ enabled: true,
397
+ triggers: {
398
+ runOnMissingPKs: true,
399
+ runOnInsufficientFKs: true,
400
+ fkDeficitThreshold: 0.4
401
+ },
402
+ tokenBudget: {
403
+ ratioOfTotal: 0.25
404
+ },
405
+ confidence: {
406
+ primaryKeyMinimum: 0.7,
407
+ foreignKeyMinimum: 0.6,
408
+ llmValidationThreshold: 0.8
409
+ },
410
+ sampling: {
411
+ maxRowsPerTable: 1000,
412
+ statisticalSignificance: 100,
413
+ valueOverlapSampleSize: 500
414
+ },
415
+ patterns: {
416
+ primaryKeyNames: ['.*[Ii][Dd]$', '^[Pp][Kk]_.*', '^id$'],
417
+ foreignKeyNames: ['.*[Ii][Dd]$', '^[Ff][Kk]_.*'],
418
+ compositeKeyIndicators: []
419
+ },
420
+ llmValidation: {
421
+ enabled: true,
422
+ batchSize: 5
423
+ },
424
+ backpropagation: {
425
+ enabled: true,
426
+ maxIterations: 10
427
+ }
428
+ },
429
+ ...config.analysis
430
+ },
431
+ output: {
432
+ stateFile: path.join(outputDir, 'state.json'),
433
+ outputDir,
434
+ sqlFile: path.join(outputDir, 'extended-props.sql'),
435
+ markdownFile: path.join(outputDir, 'summary.md')
436
+ },
437
+ schemas: config.schemas || {},
438
+ tables: config.tables || {}
439
+ };
440
+ }
441
+ /**
442
+ * Build default configuration (used when resuming without new config)
443
+ */
444
+ buildDefaultConfig(dbName, server) {
445
+ const outputDir = './output';
446
+ return {
447
+ version: '2.0.0',
448
+ database: {
449
+ provider: 'sqlserver',
450
+ server,
451
+ port: 1433,
452
+ database: dbName,
453
+ user: 'sa',
454
+ password: '',
455
+ connectionTimeout: 30000
456
+ },
457
+ ai: {
458
+ provider: 'anthropic',
459
+ model: 'claude-3-opus-20240229',
460
+ apiKey: '',
461
+ temperature: 0.1,
462
+ maxTokens: 4000
463
+ },
464
+ analysis: {
465
+ cardinalityThreshold: 100,
466
+ sampleSize: 1000,
467
+ includeStatistics: true,
468
+ includePatternAnalysis: true,
469
+ convergence: {
470
+ maxIterations: 3,
471
+ stabilityWindow: 2,
472
+ confidenceThreshold: 0.85
473
+ },
474
+ backpropagation: {
475
+ enabled: true,
476
+ maxDepth: 2
477
+ },
478
+ sanityChecks: {
479
+ dependencyLevel: true,
480
+ schemaLevel: true,
481
+ crossSchema: true
482
+ },
483
+ relationshipDiscovery: {
484
+ enabled: true,
485
+ triggers: {
486
+ runOnMissingPKs: true,
487
+ runOnInsufficientFKs: true,
488
+ fkDeficitThreshold: 0.4
489
+ },
490
+ tokenBudget: {
491
+ ratioOfTotal: 0.25
492
+ },
493
+ confidence: {
494
+ primaryKeyMinimum: 0.7,
495
+ foreignKeyMinimum: 0.6,
496
+ llmValidationThreshold: 0.8
497
+ },
498
+ sampling: {
499
+ maxRowsPerTable: 1000,
500
+ statisticalSignificance: 100,
501
+ valueOverlapSampleSize: 500
502
+ },
503
+ patterns: {
504
+ primaryKeyNames: ['.*[Ii][Dd]$', '^[Pp][Kk]_.*', '^id$'],
505
+ foreignKeyNames: ['.*[Ii][Dd]$', '^[Ff][Kk]_.*'],
506
+ compositeKeyIndicators: []
507
+ },
508
+ llmValidation: {
509
+ enabled: true,
510
+ batchSize: 5
511
+ },
512
+ backpropagation: {
513
+ enabled: true,
514
+ maxIterations: 10
515
+ }
516
+ }
517
+ },
518
+ output: {
519
+ stateFile: path.join(outputDir, 'state.json'),
520
+ outputDir,
521
+ sqlFile: path.join(outputDir, 'extended-props.sql'),
522
+ markdownFile: path.join(outputDir, 'summary.md')
523
+ },
524
+ schemas: {},
525
+ tables: {}
526
+ };
527
+ }
528
+ }
529
+ exports.DBAutoDocAPI = DBAutoDocAPI;
530
+ //# sourceMappingURL=DBAutoDocAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBAutoDocAPI.js","sourceRoot":"","sources":["../../src/api/DBAutoDocAPI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * DBAutoDoc Programmatic API
3
+ * Main entry point for library usage
4
+ */
5
+ export { DBAutoDocAPI } from './DBAutoDocAPI.js';
6
+ export type { DBAutoDocAPIConfig, AnalysisExecutionResult, ExportResult, AnalysisStatus, ProgressCallback } from './DBAutoDocAPI.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,cAAc,EACd,gBAAgB,EACjB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * DBAutoDoc Programmatic API
4
+ * Main entry point for library usage
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
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; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qDAAiD;AAAxC,+GAAA,YAAY,OAAA"}
@@ -1,13 +1,15 @@
1
+ /**
2
+ * Analyze command - Thin CLI wrapper around AnalysisOrchestrator
3
+ */
1
4
  import { Command } from '@oclif/core';
2
5
  export default class Analyze extends Command {
3
6
  static description: string;
4
7
  static examples: string[];
5
8
  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>;
9
+ resume: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ config: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
11
  };
12
+ static args: {};
11
13
  run(): Promise<void>;
12
14
  }
13
15
  //# sourceMappingURL=analyze.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAiD;IAEnE,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MAWV;IAEF,MAAM,CAAC,IAAI,KAAM;IAEX,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoD3B"}