@memberjunction/db-auto-doc 2.117.0 → 2.119.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +803 -165
- package/bin/run.js +7 -0
- package/dist/api/DBAutoDocAPI.d.ts +252 -0
- package/dist/api/DBAutoDocAPI.d.ts.map +1 -0
- package/dist/api/DBAutoDocAPI.js +530 -0
- package/dist/api/DBAutoDocAPI.js.map +1 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +10 -0
- package/dist/api/index.js.map +1 -0
- package/dist/commands/analyze.d.ts +6 -4
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +58 -71
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/export.d.ts +14 -4
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +156 -61
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/generate-queries.d.ts +17 -0
- package/dist/commands/generate-queries.d.ts.map +1 -0
- package/dist/commands/generate-queries.js +182 -0
- package/dist/commands/generate-queries.js.map +1 -0
- package/dist/commands/init.d.ts +3 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +206 -144
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/reset.d.ts +4 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +33 -19
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/status.d.ts +10 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +66 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/core/AnalysisEngine.d.ts +108 -0
- package/dist/core/AnalysisEngine.d.ts.map +1 -0
- package/dist/core/AnalysisEngine.js +716 -0
- package/dist/core/AnalysisEngine.js.map +1 -0
- package/dist/core/AnalysisOrchestrator.d.ts +41 -0
- package/dist/core/AnalysisOrchestrator.d.ts.map +1 -0
- package/dist/core/AnalysisOrchestrator.js +377 -0
- package/dist/core/AnalysisOrchestrator.js.map +1 -0
- package/dist/core/BackpropagationEngine.d.ts +32 -0
- package/dist/core/BackpropagationEngine.d.ts.map +1 -0
- package/dist/core/BackpropagationEngine.js +121 -0
- package/dist/core/BackpropagationEngine.js.map +1 -0
- package/dist/core/ConvergenceDetector.d.ts +27 -0
- package/dist/core/ConvergenceDetector.d.ts.map +1 -0
- package/dist/core/ConvergenceDetector.js +92 -0
- package/dist/core/ConvergenceDetector.js.map +1 -0
- package/dist/core/GuardrailsManager.d.ts +78 -0
- package/dist/core/GuardrailsManager.d.ts.map +1 -0
- package/dist/core/GuardrailsManager.js +367 -0
- package/dist/core/GuardrailsManager.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/database/Database.d.ts +56 -0
- package/dist/database/Database.d.ts.map +1 -0
- package/dist/database/Database.js +172 -0
- package/dist/database/Database.js.map +1 -0
- package/dist/database/TopologicalSorter.d.ts +25 -0
- package/dist/database/TopologicalSorter.d.ts.map +1 -0
- package/dist/database/TopologicalSorter.js +150 -0
- package/dist/database/TopologicalSorter.js.map +1 -0
- package/dist/database/index.d.ts +6 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +14 -0
- package/dist/database/index.js.map +1 -0
- package/dist/discovery/ColumnStatsCache.d.ts +91 -0
- package/dist/discovery/ColumnStatsCache.d.ts.map +1 -0
- package/dist/discovery/ColumnStatsCache.js +231 -0
- package/dist/discovery/ColumnStatsCache.js.map +1 -0
- package/dist/discovery/DiscoveryEngine.d.ts +100 -0
- package/dist/discovery/DiscoveryEngine.d.ts.map +1 -0
- package/dist/discovery/DiscoveryEngine.js +726 -0
- package/dist/discovery/DiscoveryEngine.js.map +1 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts +57 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts.map +1 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.js +186 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.js.map +1 -0
- package/dist/discovery/FKDetector.d.ts +47 -0
- package/dist/discovery/FKDetector.d.ts.map +1 -0
- package/dist/discovery/FKDetector.js +317 -0
- package/dist/discovery/FKDetector.js.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts +64 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.js +431 -0
- package/dist/discovery/LLMDiscoveryValidator.js.map +1 -0
- package/dist/discovery/LLMSanityChecker.d.ts +38 -0
- package/dist/discovery/LLMSanityChecker.d.ts.map +1 -0
- package/dist/discovery/LLMSanityChecker.js +156 -0
- package/dist/discovery/LLMSanityChecker.js.map +1 -0
- package/dist/discovery/PKDetector.d.ts +62 -0
- package/dist/discovery/PKDetector.d.ts.map +1 -0
- package/dist/discovery/PKDetector.js +436 -0
- package/dist/discovery/PKDetector.js.map +1 -0
- package/dist/discovery/index.d.ts +9 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +25 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts +132 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.js +121 -0
- package/dist/drivers/BaseAutoDocDriver.js.map +1 -0
- package/dist/drivers/MySQLDriver.d.ts +61 -0
- package/dist/drivers/MySQLDriver.d.ts.map +1 -0
- package/dist/drivers/MySQLDriver.js +668 -0
- package/dist/drivers/MySQLDriver.js.map +1 -0
- package/dist/drivers/PostgreSQLDriver.d.ts +65 -0
- package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -0
- package/dist/drivers/PostgreSQLDriver.js +704 -0
- package/dist/drivers/PostgreSQLDriver.js.map +1 -0
- package/dist/drivers/SQLServerDriver.d.ts +61 -0
- package/dist/drivers/SQLServerDriver.d.ts.map +1 -0
- package/dist/drivers/SQLServerDriver.js +667 -0
- package/dist/drivers/SQLServerDriver.js.map +1 -0
- package/dist/generators/CSVGenerator.d.ts +35 -0
- package/dist/generators/CSVGenerator.d.ts.map +1 -0
- package/dist/generators/CSVGenerator.js +154 -0
- package/dist/generators/CSVGenerator.js.map +1 -0
- package/dist/generators/HTMLGenerator.d.ts +29 -0
- package/dist/generators/HTMLGenerator.d.ts.map +1 -0
- package/dist/generators/HTMLGenerator.js +710 -0
- package/dist/generators/HTMLGenerator.js.map +1 -0
- package/dist/generators/MarkdownGenerator.d.ts +27 -0
- package/dist/generators/MarkdownGenerator.d.ts.map +1 -0
- package/dist/generators/MarkdownGenerator.js +361 -0
- package/dist/generators/MarkdownGenerator.js.map +1 -0
- package/dist/generators/MermaidGenerator.d.ts +35 -0
- package/dist/generators/MermaidGenerator.d.ts.map +1 -0
- package/dist/generators/MermaidGenerator.js +321 -0
- package/dist/generators/MermaidGenerator.js.map +1 -0
- package/dist/generators/ReportGenerator.d.ts +22 -0
- package/dist/generators/ReportGenerator.d.ts.map +1 -0
- package/dist/generators/ReportGenerator.js +176 -0
- package/dist/generators/ReportGenerator.js.map +1 -0
- package/dist/generators/SQLGenerator.d.ts +31 -0
- package/dist/generators/SQLGenerator.d.ts.map +1 -0
- package/dist/generators/SQLGenerator.js +168 -0
- package/dist/generators/SQLGenerator.js.map +1 -0
- package/dist/generators/SampleQueryGenerator.d.ts +64 -0
- package/dist/generators/SampleQueryGenerator.d.ts.map +1 -0
- package/dist/generators/SampleQueryGenerator.js +500 -0
- package/dist/generators/SampleQueryGenerator.js.map +1 -0
- package/dist/generators/index.d.ts +10 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +19 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/index.d.ts +11 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -20
- package/dist/index.js.map +1 -1
- package/dist/prompts/PromptEngine.d.ts +65 -0
- package/dist/prompts/PromptEngine.d.ts.map +1 -0
- package/dist/prompts/PromptEngine.js +305 -0
- package/dist/prompts/PromptEngine.js.map +1 -0
- package/dist/prompts/PromptFileLoader.d.ts +21 -0
- package/dist/prompts/PromptFileLoader.d.ts.map +1 -0
- package/dist/prompts/PromptFileLoader.js +74 -0
- package/dist/prompts/PromptFileLoader.js.map +1 -0
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +11 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/state/IterationTracker.d.ts +64 -0
- package/dist/state/IterationTracker.d.ts.map +1 -0
- package/dist/state/IterationTracker.js +136 -0
- package/dist/state/IterationTracker.js.map +1 -0
- package/dist/state/StateManager.d.ts +79 -0
- package/dist/state/StateManager.d.ts.map +1 -0
- package/dist/state/StateManager.js +348 -0
- package/dist/state/StateManager.js.map +1 -0
- package/dist/state/StateValidator.d.ts +24 -0
- package/dist/state/StateValidator.d.ts.map +1 -0
- package/dist/state/StateValidator.js +147 -0
- package/dist/state/StateValidator.js.map +1 -0
- package/dist/state/index.d.ts +7 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +13 -0
- package/dist/state/index.js.map +1 -0
- package/dist/types/analysis.d.ts +76 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +6 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/config.d.ts +143 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +7 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/discovery.d.ts +277 -0
- package/dist/types/discovery.d.ts.map +1 -0
- package/dist/types/discovery.js +7 -0
- package/dist/types/discovery.js.map +1 -0
- package/dist/types/driver.d.ts +148 -0
- package/dist/types/driver.d.ts.map +1 -0
- package/dist/types/driver.js +7 -0
- package/dist/types/driver.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/prompts.d.ts +158 -0
- package/dist/types/prompts.d.ts.map +1 -0
- package/dist/types/prompts.js +6 -0
- package/dist/types/prompts.js.map +1 -0
- package/dist/types/sample-queries.d.ts +172 -0
- package/dist/types/sample-queries.d.ts.map +1 -0
- package/dist/types/sample-queries.js +7 -0
- package/dist/types/sample-queries.js.map +1 -0
- package/dist/types/state.d.ts +291 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/state.js +7 -0
- package/dist/types/state.js.map +1 -0
- package/dist/utils/config-loader.d.ts +29 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +163 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +28 -3
- package/dist/ai/simple-ai-client.d.ts +0 -70
- package/dist/ai/simple-ai-client.d.ts.map +0 -1
- package/dist/ai/simple-ai-client.js +0 -181
- package/dist/ai/simple-ai-client.js.map +0 -1
- package/dist/analyzers/analyzer.d.ts +0 -23
- package/dist/analyzers/analyzer.d.ts.map +0 -1
- package/dist/analyzers/analyzer.js +0 -127
- package/dist/analyzers/analyzer.js.map +0 -1
- package/dist/cli-old/cli.d.ts +0 -3
- package/dist/cli-old/cli.d.ts.map +0 -1
- package/dist/cli-old/cli.js +0 -388
- package/dist/cli-old/cli.js.map +0 -1
- package/dist/commands/review.d.ts +0 -11
- package/dist/commands/review.d.ts.map +0 -1
- package/dist/commands/review.js +0 -82
- package/dist/commands/review.js.map +0 -1
- package/dist/database/connection.d.ts +0 -40
- package/dist/database/connection.d.ts.map +0 -1
- package/dist/database/connection.js +0 -136
- package/dist/database/connection.js.map +0 -1
- package/dist/database/introspection.d.ts +0 -59
- package/dist/database/introspection.d.ts.map +0 -1
- package/dist/database/introspection.js +0 -124
- package/dist/database/introspection.js.map +0 -1
- package/dist/generators/markdown-generator.d.ts +0 -8
- package/dist/generators/markdown-generator.d.ts.map +0 -1
- package/dist/generators/markdown-generator.js +0 -106
- package/dist/generators/markdown-generator.js.map +0 -1
- package/dist/generators/sql-generator.d.ts +0 -20
- package/dist/generators/sql-generator.d.ts.map +0 -1
- package/dist/generators/sql-generator.js +0 -83
- package/dist/generators/sql-generator.js.map +0 -1
- package/dist/state/state-manager.d.ts +0 -95
- package/dist/state/state-manager.d.ts.map +0 -1
- package/dist/state/state-manager.js +0 -236
- package/dist/state/state-manager.js.map +0 -1
- package/dist/types/state-file.d.ts +0 -124
- package/dist/types/state-file.d.ts.map +0 -1
- package/dist/types/state-file.js +0 -79
- package/dist/types/state-file.js.map +0 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Handles backpropagation of insights from child tables to parent tables
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BackpropagationEngine = void 0;
|
|
7
|
+
class BackpropagationEngine {
|
|
8
|
+
constructor(promptEngine, stateManager, iterationTracker, maxDepth) {
|
|
9
|
+
this.promptEngine = promptEngine;
|
|
10
|
+
this.stateManager = stateManager;
|
|
11
|
+
this.iterationTracker = iterationTracker;
|
|
12
|
+
this.maxDepth = maxDepth;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Execute backpropagation for a set of triggers
|
|
16
|
+
*/
|
|
17
|
+
async execute(state, run, triggers) {
|
|
18
|
+
let tablesUpdated = 0;
|
|
19
|
+
let totalTokensUsed = 0;
|
|
20
|
+
// Group triggers by target table
|
|
21
|
+
const triggersByTable = this.groupTriggersByTable(triggers);
|
|
22
|
+
for (const [tableKey, tableTriggers] of triggersByTable) {
|
|
23
|
+
const [schemaName, tableName] = tableKey.split('.');
|
|
24
|
+
const table = this.stateManager.findTable(state, schemaName, tableName);
|
|
25
|
+
if (!table) {
|
|
26
|
+
this.iterationTracker.addWarning(run, `Backpropagation target table not found: ${tableKey}`);
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
// Skip if no current description
|
|
30
|
+
if (!table.description) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
// Get current description details
|
|
34
|
+
const latestIteration = table.descriptionIterations[table.descriptionIterations.length - 1];
|
|
35
|
+
// Combine insights from all triggers for this table
|
|
36
|
+
const insights = tableTriggers.map(t => t.insight).join('\n\n');
|
|
37
|
+
// Execute backpropagation prompt
|
|
38
|
+
const result = await this.promptEngine.executePrompt('backpropagation', {
|
|
39
|
+
schemaName,
|
|
40
|
+
tableName,
|
|
41
|
+
currentDescription: table.description,
|
|
42
|
+
currentReasoning: latestIteration?.reasoning || '',
|
|
43
|
+
currentConfidence: latestIteration?.confidence || 0,
|
|
44
|
+
insights
|
|
45
|
+
}, {
|
|
46
|
+
responseFormat: 'JSON'
|
|
47
|
+
});
|
|
48
|
+
if (!result.success || !result.result) {
|
|
49
|
+
this.iterationTracker.addError(run, `Backpropagation failed for ${tableKey}: ${result.errorMessage}`);
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
totalTokensUsed += result.tokensUsed;
|
|
53
|
+
this.iterationTracker.addTokenUsage(run, result.tokensUsed, result.cost);
|
|
54
|
+
// Check if revision is needed
|
|
55
|
+
if (result.result.needsRevision) {
|
|
56
|
+
// Update table description
|
|
57
|
+
this.stateManager.updateTableDescription(table, result.result.revisedDescription || result.result.reasoning, result.result.reasoning, result.result.confidence, run.modelUsed, 'backpropagation');
|
|
58
|
+
tablesUpdated++;
|
|
59
|
+
this.iterationTracker.addLogEntry(run, {
|
|
60
|
+
level: table.dependencyLevel || 0,
|
|
61
|
+
schema: schemaName,
|
|
62
|
+
table: tableName,
|
|
63
|
+
action: 'backpropagate',
|
|
64
|
+
result: 'changed',
|
|
65
|
+
message: 'Description revised based on child table insights',
|
|
66
|
+
tokensUsed: result.tokensUsed
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.iterationTracker.addLogEntry(run, {
|
|
71
|
+
level: table.dependencyLevel || 0,
|
|
72
|
+
schema: schemaName,
|
|
73
|
+
table: tableName,
|
|
74
|
+
action: 'backpropagate',
|
|
75
|
+
result: 'unchanged',
|
|
76
|
+
message: 'No revision needed',
|
|
77
|
+
tokensUsed: result.tokensUsed
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (tablesUpdated > 0) {
|
|
82
|
+
this.iterationTracker.incrementBackpropagation(run);
|
|
83
|
+
}
|
|
84
|
+
return { tablesUpdated, tokensUsed: totalTokensUsed };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Detect insights about parent tables from analysis result
|
|
88
|
+
* Uses LLM-provided insights instead of NLP pattern matching
|
|
89
|
+
*/
|
|
90
|
+
detectParentInsights(table, analysisResult, schema, tableName) {
|
|
91
|
+
const triggers = [];
|
|
92
|
+
// Current table full name for source
|
|
93
|
+
const sourceTable = schema && tableName ? `${schema}.${tableName}` : 'unknown';
|
|
94
|
+
// Use LLM-provided parent table insights (much more accurate than NLP)
|
|
95
|
+
const parentInsights = analysisResult.parentTableInsights || [];
|
|
96
|
+
for (const insight of parentInsights) {
|
|
97
|
+
triggers.push({
|
|
98
|
+
sourceTable,
|
|
99
|
+
targetTable: insight.parentTable,
|
|
100
|
+
insight: insight.insight,
|
|
101
|
+
confidence: insight.confidence
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return triggers;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Group triggers by target table
|
|
108
|
+
*/
|
|
109
|
+
groupTriggersByTable(triggers) {
|
|
110
|
+
const grouped = new Map();
|
|
111
|
+
for (const trigger of triggers) {
|
|
112
|
+
if (!grouped.has(trigger.targetTable)) {
|
|
113
|
+
grouped.set(trigger.targetTable, []);
|
|
114
|
+
}
|
|
115
|
+
grouped.get(trigger.targetTable).push(trigger);
|
|
116
|
+
}
|
|
117
|
+
return grouped;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.BackpropagationEngine = BackpropagationEngine;
|
|
121
|
+
//# sourceMappingURL=BackpropagationEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackpropagationEngine.js","sourceRoot":"","sources":["../../src/core/BackpropagationEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines when analysis has converged
|
|
3
|
+
*/
|
|
4
|
+
import { DatabaseDocumentation, AnalysisRun } from '../types/state.js';
|
|
5
|
+
import { ConvergenceConfig } from '../types/config.js';
|
|
6
|
+
import { ConvergenceResult } from '../types/analysis.js';
|
|
7
|
+
import { IterationTracker } from '../state/IterationTracker.js';
|
|
8
|
+
import { StateManager } from '../state/StateManager.js';
|
|
9
|
+
export declare class ConvergenceDetector {
|
|
10
|
+
private config;
|
|
11
|
+
private stateManager;
|
|
12
|
+
private iterationTracker;
|
|
13
|
+
constructor(config: ConvergenceConfig, stateManager: StateManager, iterationTracker: IterationTracker);
|
|
14
|
+
/**
|
|
15
|
+
* Check if analysis has converged
|
|
16
|
+
*/
|
|
17
|
+
hasConverged(state: DatabaseDocumentation, run: AnalysisRun): ConvergenceResult;
|
|
18
|
+
/**
|
|
19
|
+
* Check if there were changes in recent iterations
|
|
20
|
+
*/
|
|
21
|
+
private hasRecentChanges;
|
|
22
|
+
/**
|
|
23
|
+
* Calculate average confidence across all tables
|
|
24
|
+
*/
|
|
25
|
+
calculateAverageConfidence(state: DatabaseDocumentation): number;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ConvergenceDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConvergenceDetector.d.ts","sourceRoot":"","sources":["../../src/core/ConvergenceDetector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;gBAFhB,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB;IAG5C;;OAEG;IACI,YAAY,CACjB,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,GACf,iBAAiB;IAiEpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACI,0BAA0B,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM;CAkBxE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Determines when analysis has converged
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ConvergenceDetector = void 0;
|
|
7
|
+
class ConvergenceDetector {
|
|
8
|
+
constructor(config, stateManager, iterationTracker) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.stateManager = stateManager;
|
|
11
|
+
this.iterationTracker = iterationTracker;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check if analysis has converged
|
|
15
|
+
*/
|
|
16
|
+
hasConverged(state, run) {
|
|
17
|
+
const reasons = [];
|
|
18
|
+
// 1. Check max iterations
|
|
19
|
+
if (run.iterationsPerformed >= this.config.maxIterations) {
|
|
20
|
+
return {
|
|
21
|
+
converged: true,
|
|
22
|
+
reason: `Reached maximum iteration limit (${this.config.maxIterations})`,
|
|
23
|
+
iterationsPerformed: run.iterationsPerformed,
|
|
24
|
+
suggestions: ['Consider increasing maxIterations if results are unsatisfactory']
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
// 2. Check stability window (no changes in last N iterations)
|
|
28
|
+
if (run.iterationsPerformed >= 2) {
|
|
29
|
+
const hasChanges = this.hasRecentChanges(run, this.config.stabilityWindow);
|
|
30
|
+
if (!hasChanges) {
|
|
31
|
+
reasons.push(`No changes in last ${this.config.stabilityWindow} iterations (stability achieved)`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// 3. Check confidence threshold
|
|
35
|
+
const lowConfidenceTables = this.stateManager.getLowConfidenceTables(state, this.config.confidenceThreshold);
|
|
36
|
+
if (lowConfidenceTables.length === 0 && run.iterationsPerformed >= 1) {
|
|
37
|
+
reasons.push(`All tables meet confidence threshold (${this.config.confidenceThreshold})`);
|
|
38
|
+
}
|
|
39
|
+
// Converged if we have at least 2 reasons and minimum iterations
|
|
40
|
+
if (reasons.length >= 2 && run.iterationsPerformed >= 2) {
|
|
41
|
+
return {
|
|
42
|
+
converged: true,
|
|
43
|
+
reason: reasons.join('; '),
|
|
44
|
+
iterationsPerformed: run.iterationsPerformed
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
// Not yet converged
|
|
48
|
+
const suggestions = [];
|
|
49
|
+
if (lowConfidenceTables.length > 0) {
|
|
50
|
+
suggestions.push(`${lowConfidenceTables.length} tables below confidence threshold - needs more iteration`);
|
|
51
|
+
}
|
|
52
|
+
if (run.iterationsPerformed < 2) {
|
|
53
|
+
suggestions.push('Minimum 2 iterations required before convergence check');
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
converged: false,
|
|
57
|
+
reason: 'Analysis still evolving',
|
|
58
|
+
iterationsPerformed: run.iterationsPerformed,
|
|
59
|
+
suggestions
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check if there were changes in recent iterations
|
|
64
|
+
*/
|
|
65
|
+
hasRecentChanges(run, windowSize) {
|
|
66
|
+
// Get log entries from last window
|
|
67
|
+
const logsPerIteration = Math.ceil(run.processingLog.length / run.iterationsPerformed);
|
|
68
|
+
const windowLogs = run.processingLog.slice(-(windowSize * logsPerIteration));
|
|
69
|
+
return windowLogs.some(entry => entry.result === 'changed');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Calculate average confidence across all tables
|
|
73
|
+
*/
|
|
74
|
+
calculateAverageConfidence(state) {
|
|
75
|
+
let totalConfidence = 0;
|
|
76
|
+
let count = 0;
|
|
77
|
+
for (const schema of state.schemas) {
|
|
78
|
+
for (const table of schema.tables) {
|
|
79
|
+
if (table.descriptionIterations.length > 0) {
|
|
80
|
+
const latest = table.descriptionIterations[table.descriptionIterations.length - 1];
|
|
81
|
+
if (latest.confidence !== undefined) {
|
|
82
|
+
totalConfidence += latest.confidence;
|
|
83
|
+
count++;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return count > 0 ? totalConfidence / count : 0;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.ConvergenceDetector = ConvergenceDetector;
|
|
92
|
+
//# sourceMappingURL=ConvergenceDetector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConvergenceDetector.js","sourceRoot":"","sources":["../../src/core/ConvergenceDetector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages granular guardrails enforcement for DBAutoDoc analysis
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Per-phase token limits (discovery, analysis, sanity checks)
|
|
6
|
+
* - Per-iteration token and duration limits
|
|
7
|
+
* - Cost-based limits with configurable thresholds
|
|
8
|
+
* - Configurable warning thresholds at percentages of limits
|
|
9
|
+
* - Detailed tracking of exceedances and warnings
|
|
10
|
+
*/
|
|
11
|
+
import { GuardrailsConfig } from '../types/config.js';
|
|
12
|
+
import { AnalysisRun, GuardrailExceeded, GuardrailWarning } from '../types/state.js';
|
|
13
|
+
export type PhaseType = 'discovery' | 'analysis' | 'sanityChecks';
|
|
14
|
+
export interface GuardrailCheckResult {
|
|
15
|
+
canContinue: boolean;
|
|
16
|
+
warning?: string;
|
|
17
|
+
reason?: string;
|
|
18
|
+
warnings?: GuardrailWarning[];
|
|
19
|
+
exceedances?: GuardrailExceeded[];
|
|
20
|
+
}
|
|
21
|
+
export declare class GuardrailsManager {
|
|
22
|
+
private config;
|
|
23
|
+
private startTime;
|
|
24
|
+
private phaseStartTimes;
|
|
25
|
+
private currentPhase?;
|
|
26
|
+
private currentIteration;
|
|
27
|
+
private iterationStartTime?;
|
|
28
|
+
constructor(config?: GuardrailsConfig);
|
|
29
|
+
/**
|
|
30
|
+
* Begin tracking a new phase
|
|
31
|
+
*/
|
|
32
|
+
startPhase(phase: PhaseType): void;
|
|
33
|
+
/**
|
|
34
|
+
* End tracking current phase and record metrics
|
|
35
|
+
*/
|
|
36
|
+
endPhase(run: AnalysisRun, phase: PhaseType): void;
|
|
37
|
+
/**
|
|
38
|
+
* Start tracking a new iteration
|
|
39
|
+
*/
|
|
40
|
+
startIteration(iteration: number): void;
|
|
41
|
+
/**
|
|
42
|
+
* End tracking current iteration and record metrics
|
|
43
|
+
*/
|
|
44
|
+
endIteration(run: AnalysisRun, iteration: number): void;
|
|
45
|
+
/**
|
|
46
|
+
* Check all guardrails and return enforcement status
|
|
47
|
+
*/
|
|
48
|
+
checkGuardrails(run: AnalysisRun): GuardrailCheckResult;
|
|
49
|
+
/**
|
|
50
|
+
* Record guardrail enforcement in the run
|
|
51
|
+
*/
|
|
52
|
+
recordEnforcement(run: AnalysisRun, result: GuardrailCheckResult): void;
|
|
53
|
+
/**
|
|
54
|
+
* Get tokens used in a specific phase
|
|
55
|
+
*/
|
|
56
|
+
private getPhaseTokens;
|
|
57
|
+
/**
|
|
58
|
+
* Get estimated cost for a specific phase
|
|
59
|
+
*/
|
|
60
|
+
private getPhaseCost;
|
|
61
|
+
/**
|
|
62
|
+
* Get tokens used in current iteration
|
|
63
|
+
*/
|
|
64
|
+
private getCurrentIterationTokens;
|
|
65
|
+
/**
|
|
66
|
+
* Create a stop result with warnings and exceedances
|
|
67
|
+
*/
|
|
68
|
+
private createStopResult;
|
|
69
|
+
/**
|
|
70
|
+
* Get current elapsed time in seconds
|
|
71
|
+
*/
|
|
72
|
+
getElapsedSeconds(): number;
|
|
73
|
+
/**
|
|
74
|
+
* Get current phase token budget (remaining tokens)
|
|
75
|
+
*/
|
|
76
|
+
getPhaseTokenBudgetRemaining(phase: PhaseType): number | undefined;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=GuardrailsManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuardrailsManager.d.ts","sourceRoot":"","sources":["../../src/core/GuardrailsManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAqE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExJ,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,YAAY,CAAC,CAAY;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAC,CAAS;gBAExB,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKzC;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA0BzD;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK9C;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqB9D;;OAEG;IACI,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,oBAAoB;IA+N9D;;OAEG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAuB9E;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;OAEG;IACI,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;CAU1E"}
|