@memberjunction/db-auto-doc 6.2.0-edge.4 → 6.2.0-edge.5

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 (112) hide show
  1. package/README.md +95 -0
  2. package/dist/commands/analyze.d.ts +1 -0
  3. package/dist/commands/analyze.d.ts.map +1 -1
  4. package/dist/commands/analyze.js +6 -0
  5. package/dist/commands/analyze.js.map +1 -1
  6. package/dist/commands/export.d.ts +28 -19
  7. package/dist/commands/export.d.ts.map +1 -1
  8. package/dist/commands/export.js +91 -12
  9. package/dist/commands/export.js.map +1 -1
  10. package/dist/core/AnalysisEngine.d.ts +15 -6
  11. package/dist/core/AnalysisEngine.d.ts.map +1 -1
  12. package/dist/core/AnalysisEngine.js +41 -40
  13. package/dist/core/AnalysisEngine.js.map +1 -1
  14. package/dist/core/AnalysisOrchestrator.d.ts +20 -1
  15. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  16. package/dist/core/AnalysisOrchestrator.js +131 -27
  17. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  18. package/dist/core/PKProposalGate.d.ts +22 -0
  19. package/dist/core/PKProposalGate.d.ts.map +1 -0
  20. package/dist/core/PKProposalGate.js +52 -0
  21. package/dist/core/PKProposalGate.js.map +1 -0
  22. package/dist/database/Database.d.ts +8 -0
  23. package/dist/database/Database.d.ts.map +1 -1
  24. package/dist/database/Database.js +23 -1
  25. package/dist/database/Database.js.map +1 -1
  26. package/dist/discovery/EnumCandidateGate.d.ts +19 -0
  27. package/dist/discovery/EnumCandidateGate.d.ts.map +1 -1
  28. package/dist/discovery/EnumCandidateGate.js +47 -5
  29. package/dist/discovery/EnumCandidateGate.js.map +1 -1
  30. package/dist/discovery/FKGraphWalker.d.ts +35 -0
  31. package/dist/discovery/FKGraphWalker.d.ts.map +1 -1
  32. package/dist/discovery/FKGraphWalker.js +113 -12
  33. package/dist/discovery/FKGraphWalker.js.map +1 -1
  34. package/dist/discovery/LLMDiscoveryValidator.d.ts +2 -0
  35. package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
  36. package/dist/discovery/LLMDiscoveryValidator.js +20 -9
  37. package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
  38. package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -1
  39. package/dist/discovery/OrganicKeyDetector.js +8 -2
  40. package/dist/discovery/OrganicKeyDetector.js.map +1 -1
  41. package/dist/discovery/StructuralPhase.d.ts +27 -5
  42. package/dist/discovery/StructuralPhase.d.ts.map +1 -1
  43. package/dist/discovery/StructuralPhase.js +42 -9
  44. package/dist/discovery/StructuralPhase.js.map +1 -1
  45. package/dist/discovery/TransitiveBridgeDetector.d.ts +5 -1
  46. package/dist/discovery/TransitiveBridgeDetector.d.ts.map +1 -1
  47. package/dist/discovery/TransitiveBridgeDetector.js +25 -3
  48. package/dist/discovery/TransitiveBridgeDetector.js.map +1 -1
  49. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
  50. package/dist/drivers/BaseAutoDocDriver.js +3 -5
  51. package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
  52. package/dist/drivers/PostgreSQLDriver.d.ts +9 -1
  53. package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
  54. package/dist/drivers/PostgreSQLDriver.js +41 -19
  55. package/dist/drivers/PostgreSQLDriver.js.map +1 -1
  56. package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
  57. package/dist/drivers/SQLServerDriver.js +2 -1
  58. package/dist/drivers/SQLServerDriver.js.map +1 -1
  59. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +34 -0
  60. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
  61. package/dist/generators/AdditionalSchemaInfoGenerator.js +85 -4
  62. package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
  63. package/dist/generators/ErdClusterGenerator.d.ts +44 -0
  64. package/dist/generators/ErdClusterGenerator.d.ts.map +1 -0
  65. package/dist/generators/ErdClusterGenerator.js +216 -0
  66. package/dist/generators/ErdClusterGenerator.js.map +1 -0
  67. package/dist/generators/ErdClusterer.d.ts +130 -0
  68. package/dist/generators/ErdClusterer.d.ts.map +1 -0
  69. package/dist/generators/ErdClusterer.js +308 -0
  70. package/dist/generators/ErdClusterer.js.map +1 -0
  71. package/dist/generators/HTMLGenerator.d.ts +6 -0
  72. package/dist/generators/HTMLGenerator.d.ts.map +1 -1
  73. package/dist/generators/HTMLGenerator.js +41 -6
  74. package/dist/generators/HTMLGenerator.js.map +1 -1
  75. package/dist/generators/MermaidGenerator.d.ts +3 -0
  76. package/dist/generators/MermaidGenerator.d.ts.map +1 -1
  77. package/dist/generators/MermaidGenerator.js +4 -0
  78. package/dist/generators/MermaidGenerator.js.map +1 -1
  79. package/dist/generators/index.d.ts +2 -0
  80. package/dist/generators/index.d.ts.map +1 -1
  81. package/dist/generators/index.js +2 -0
  82. package/dist/generators/index.js.map +1 -1
  83. package/dist/types/analysis.d.ts +2 -0
  84. package/dist/types/analysis.d.ts.map +1 -1
  85. package/dist/types/config.d.ts +46 -0
  86. package/dist/types/config.d.ts.map +1 -1
  87. package/dist/types/config.js +7 -1
  88. package/dist/types/config.js.map +1 -1
  89. package/dist/types/discovery.d.ts +2 -0
  90. package/dist/types/discovery.d.ts.map +1 -1
  91. package/dist/types/state.d.ts +27 -0
  92. package/dist/types/state.d.ts.map +1 -1
  93. package/dist/utils/config-loader.d.ts +5 -0
  94. package/dist/utils/config-loader.d.ts.map +1 -1
  95. package/dist/utils/config-loader.js +37 -0
  96. package/dist/utils/config-loader.js.map +1 -1
  97. package/dist/utils/index-hints.d.ts +36 -0
  98. package/dist/utils/index-hints.d.ts.map +1 -0
  99. package/dist/utils/index-hints.js +65 -0
  100. package/dist/utils/index-hints.js.map +1 -0
  101. package/dist/utils/index.d.ts +1 -0
  102. package/dist/utils/index.d.ts.map +1 -1
  103. package/dist/utils/index.js +1 -0
  104. package/dist/utils/index.js.map +1 -1
  105. package/dist/utils/llm-factory.d.ts +1 -0
  106. package/dist/utils/llm-factory.d.ts.map +1 -1
  107. package/dist/utils/llm-factory.js +6 -1
  108. package/dist/utils/llm-factory.js.map +1 -1
  109. package/package.json +5 -5
  110. package/prompts/fk-pruning-table.md +13 -1
  111. package/prompts/pk-pruning-table.md +10 -0
  112. package/prompts/table-analysis.md +11 -0
@@ -3,16 +3,21 @@
3
3
  * Coordinates the entire documentation generation workflow
4
4
  */
5
5
  import { EnsureArray } from "../utils/ensureArray.js";
6
+ import { CheckPKProposal } from "./PKProposalGate.js";
7
+ import { BuildIndexHints, FormatIndexHint, IsUniquelyIndexed } from "../utils/index-hints.js";
6
8
  import { EnumCandidateGate } from '../discovery/EnumCandidateGate.js';
7
9
  import { BackpropagationEngine } from './BackpropagationEngine.js';
8
10
  import { ConvergenceDetector } from './ConvergenceDetector.js';
9
11
  import { GuardrailsManager } from './GuardrailsManager.js';
10
12
  export class AnalysisEngine {
11
- constructor(config, promptEngine, stateManager, iterationTracker, onProgress) {
13
+ constructor(config, promptEngine, stateManager, iterationTracker, onProgress,
14
+ /** Database access for checks the LLM's proposals must pass (composite PK uniqueness). Optional: without it, composite PK proposals are rejected. */
15
+ driver) {
12
16
  this.config = config;
13
17
  this.promptEngine = promptEngine;
14
18
  this.stateManager = stateManager;
15
19
  this.iterationTracker = iterationTracker;
20
+ this.driver = driver;
16
21
  this.startTime = 0;
17
22
  this.onProgress = onProgress || (() => { });
18
23
  this.backpropagationEngine = new BackpropagationEngine(promptEngine, stateManager, iterationTracker, config.analysis.backpropagation.maxDepth, config);
@@ -128,7 +133,7 @@ export class AnalysisEngine {
128
133
  const [schemaName, tableName] = tableKey.split('.');
129
134
  const table = this.stateManager.findTable(state, schemaName, tableName);
130
135
  const candidates = tablePKs.map(pk => ({ columns: pk.columnNames, confidence: pk.confidence, locked: pk.status === 'confirmed' }));
131
- const context = { sourceSchema: schemaName, sourceTable: tableName, tableDescription: table?.description || '', allTables, candidates, seedContext: state.seedContext ?? this.config.seedContext };
136
+ const context = { sourceSchema: schemaName, sourceTable: tableName, tableDescription: table?.description || '', allTables, candidates, existingIndexes: this.indexHintLines(table), seedContext: state.seedContext ?? this.config.seedContext };
132
137
  const result = await this.promptEngine.executePrompt('pk-pruning-table', context, { responseFormat: 'JSON', temperature: override?.temperature ?? 0.05, maxTokens: override?.maxTokens ?? this.config.ai.maxTokens, modelOverride: override?.model, effortLevelOverride: override?.effortLevel });
133
138
  if (!result.success || !result.result) {
134
139
  console.log(`[AnalysisEngine] PK pruning failed for ${tableKey}: ${result.errorMessage}`);
@@ -237,7 +242,8 @@ export class AnalysisEngine {
237
242
  targetTable: fk.targetTable,
238
243
  targetColumn: fk.targetColumn,
239
244
  confidence: fk.confidence,
240
- locked: fk.status === 'confirmed'
245
+ locked: fk.status === 'confirmed',
246
+ targetUniquelyIndexed: IsUniquelyIndexed(this.stateManager.findTable(state, fk.targetSchema, fk.targetTable), fk.targetColumn)
241
247
  }));
242
248
  const context = {
243
249
  sourceSchema: schemaName,
@@ -245,6 +251,7 @@ export class AnalysisEngine {
245
251
  tableDescription: table?.description || '',
246
252
  allTables,
247
253
  candidates,
254
+ existingIndexes: this.indexHintLines(table),
248
255
  seedContext: state.seedContext ?? this.config.seedContext
249
256
  };
250
257
  const result = await this.promptEngine.executePrompt('fk-pruning-table', context, {
@@ -442,7 +449,7 @@ export class AnalysisEngine {
442
449
  }
443
450
  // Process PK proposal from LLM — verify eligibility deterministically
444
451
  if (state.phases.keyDetection && result.result.primaryKey) {
445
- this.processPKInsightFromLLM(state, tableNode.schema, tableNode.table, result.result.primaryKey);
452
+ await this.processPKInsightFromLLM(state, tableNode.schema, tableNode.table, result.result.primaryKey);
446
453
  }
447
454
  // Update inferred business domain
448
455
  if (result.result.inferredBusinessDomain) {
@@ -535,9 +542,15 @@ export class AnalysisEngine {
535
542
  allTables,
536
543
  groundTruth: groundTruthContext,
537
544
  fkCandidateStats,
538
- enumCandidates: enumCandidates.length > 0 ? enumCandidates : undefined
545
+ enumCandidates: enumCandidates.length > 0 ? enumCandidates : undefined,
546
+ existingIndexes: this.indexHintLines(table)
539
547
  };
540
548
  }
549
+ /** The table's existing indexes as prompt lines, or undefined when there are none to show. */
550
+ indexHintLines(table) {
551
+ const lines = BuildIndexHints(table).map(FormatIndexHint);
552
+ return lines.length > 0 ? lines : undefined;
553
+ }
541
554
  /**
542
555
  * Build FK candidate stats from the discovery phase for this table.
543
556
  * Provides the LLM with cross-table relationship evidence (value overlap,
@@ -580,11 +593,16 @@ export class AnalysisEngine {
580
593
  // If sanitization drops all values below 2, skip the verdict
581
594
  if (sanitizedValues.length < 2 && vl.isEnum)
582
595
  continue;
596
+ // The prompt asks for a verdict only on enum candidates; enforce that here, and keep only
597
+ // values observed in the column, so a verdict on a non-candidate or an invented value is dropped.
598
+ const keptValues = this.enumCandidateGate.FilterVerdictValues(column, table.rowCount, sanitizedValues);
599
+ if (keptValues === null && vl.isEnum)
600
+ continue;
583
601
  const newVerdict = {
584
602
  isEnum: vl.isEnum,
585
603
  type: vl.type,
586
604
  confidence: vl.confidence,
587
- values: sanitizedValues,
605
+ values: keptValues ?? sanitizedValues,
588
606
  reasoning: vl.reasoning,
589
607
  source: 'llm',
590
608
  cardinalityAtDecision: column.statistics
@@ -967,11 +985,12 @@ export class AnalysisEngine {
967
985
  return;
968
986
  }
969
987
  /**
970
- * Process PK proposal from LLM. The LLM can propose a PK, but ALL proposed columns
971
- * must pass deterministic eligibility: zero nulls, zero blanks, 100% unique values.
972
- * If any column fails, the entire proposal is rejected.
988
+ * Process PK proposal from LLM. The LLM can propose a PK, but it must pass deterministic
989
+ * eligibility: every column exists and has no nulls, and the key is unique — a single column
990
+ * by its own statistics, a composite key as a combination (checked in the database).
991
+ * If any check fails, the entire proposal is rejected.
973
992
  */
974
- processPKInsightFromLLM(state, schemaName, tableName, pkProposal) {
993
+ async processPKInsightFromLLM(state, schemaName, tableName, pkProposal) {
975
994
  const discoveryPhase = state.phases.keyDetection;
976
995
  if (!discoveryPhase || !pkProposal || !pkProposal.columns || pkProposal.columns.length === 0)
977
996
  return;
@@ -1016,47 +1035,29 @@ export class AnalysisEngine {
1016
1035
  }
1017
1036
  return;
1018
1037
  }
1019
- // New PK proposal — verify ALL columns are PK-eligible deterministically
1038
+ // New PK proposal — verify it deterministically
1020
1039
  const table = this.stateManager.findTable(state, schemaName, tableName);
1021
1040
  if (!table)
1022
1041
  return;
1023
- for (const colName of columns) {
1024
- const column = table.columns.find(c => c.name.toLowerCase() === colName.toLowerCase());
1025
- if (!column) {
1026
- console.log(`[AnalysisEngine] LLM PK rejected: ${schemaName}.${tableName} — column "${colName}" not found`);
1027
- return;
1028
- }
1029
- // Check PK eligibility from stats
1030
- const stats = column.statistics;
1031
- if (!stats) {
1032
- console.log(`[AnalysisEngine] LLM PK rejected: ${schemaName}.${tableName}.${colName} — no statistics available`);
1033
- return;
1034
- }
1035
- // Safety: prefer pre-computed uniquenessRatio if available (totalRows can be 0 due to field naming bug)
1036
- const uniqueness = stats.uniquenessRatio != null && stats.uniquenessRatio > 0
1037
- ? stats.uniquenessRatio
1038
- : (stats.totalRows > 0 ? stats.distinctCount / stats.totalRows : 0);
1039
- const hasNulls = (stats.nullCount || 0) > 0;
1040
- if (hasNulls) {
1041
- console.log(`[AnalysisEngine] LLM PK rejected: ${schemaName}.${tableName}.${colName} — has ${stats.nullCount} nulls`);
1042
- return;
1043
- }
1044
- if (uniqueness < 1.0) {
1045
- console.log(`[AnalysisEngine] LLM PK rejected: ${schemaName}.${tableName}.${colName} — uniqueness ${(uniqueness * 100).toFixed(1)}% (must be 100%)`);
1046
- return;
1047
- }
1042
+ const sampleSize = this.config.analysis.relationshipDiscovery?.sampling?.maxRowsPerTable ?? 1000;
1043
+ const driver = this.driver;
1044
+ const verdict = await CheckPKProposal(table, columns, driver ? (cols) => driver.checkColumnCombinationUniqueness(schemaName, tableName, cols, sampleSize) : undefined);
1045
+ if (!verdict.Eligible) {
1046
+ console.log(`[AnalysisEngine] LLM PK rejected: ${schemaName}.${tableName} ${verdict.Reason}`);
1047
+ return;
1048
1048
  }
1049
+ const pkColumns = verdict.Columns ?? columns;
1049
1050
  // All columns pass — create new PK candidate
1050
1051
  const newPK = {
1051
1052
  schemaName,
1052
1053
  tableName,
1053
- columnNames: columns,
1054
+ columnNames: pkColumns,
1054
1055
  confidence,
1055
1056
  evidence: {
1056
1057
  uniqueness: 1.0,
1057
1058
  nullCount: 0,
1058
1059
  totalRows: table.rowCount || 0,
1059
- dataPattern: columns.length > 1 ? 'composite' : 'unknown',
1060
+ dataPattern: pkColumns.length > 1 ? 'composite' : 'unknown',
1060
1061
  namingScore: 0.5,
1061
1062
  dataTypeScore: 0.8,
1062
1063
  warnings: ['Created from LLM proposal — passed deterministic eligibility']
@@ -1067,12 +1068,12 @@ export class AnalysisEngine {
1067
1068
  };
1068
1069
  discoveryPhase.discovered.primaryKeys.push(newPK);
1069
1070
  // Update column flags
1070
- for (const colName of columns) {
1071
+ for (const colName of pkColumns) {
1071
1072
  const column = this.findColumnInState(state, schemaName, tableName, colName);
1072
1073
  if (column)
1073
1074
  column.isPrimaryKey = true;
1074
1075
  }
1075
- console.log(`[AnalysisEngine] Created PK from LLM: ${schemaName}.${tableName} (${columns.join(', ')}) confidence: ${confidence}`);
1076
+ console.log(`[AnalysisEngine] Created PK from LLM: ${schemaName}.${tableName} (${pkColumns.join(', ')}) confidence: ${confidence}`);
1076
1077
  }
1077
1078
  /**
1078
1079
  * Process structured FK insights from LLM and create feedback to discovery phase
@@ -1 +1 @@
1
- {"version":3,"file":"AnalysisEngine.js","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnalysisEngine.js","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Main orchestrator for database analysis
3
3
  * Can be used programmatically or via CLI
4
4
  */
5
+ import { StateManager } from '../state/StateManager.js';
5
6
  import { DBAutoDocConfig } from '../types/config.js';
6
7
  import { DatabaseDocumentation, AnalysisRun } from '../types/state.js';
7
8
  export interface AnalysisOptions {
@@ -12,6 +13,8 @@ export interface AnalysisOptions {
12
13
  reanalyzeBelowConfidence?: number;
13
14
  /** Override max iterations from config for this run */
14
15
  maxIterations?: number;
16
+ /** Skip table data sampling pass */
17
+ skipSampling?: boolean;
15
18
  }
16
19
  export interface OrchestratorResult {
17
20
  success: boolean;
@@ -26,6 +29,7 @@ export declare class AnalysisOrchestrator {
26
29
  private onProgress;
27
30
  private reanalyzeBelowConfidence?;
28
31
  private maxIterationsOverride?;
32
+ private skipSampling?;
29
33
  constructor(options: AnalysisOptions);
30
34
  /**
31
35
  * Execute the full analysis workflow
@@ -38,10 +42,25 @@ export declare class AnalysisOrchestrator {
38
42
  * are loaded, so runs without plugins write exactly the state files they did before.
39
43
  */
40
44
  private runPluginHook;
45
+ /**
46
+ * Stores each table's existing indexes in the state so the LLM passes can use them as key
47
+ * evidence. Runs on resumed runs too, for tables whose indexes were never read.
48
+ */
49
+ private loadExistingIndexes;
41
50
  /**
42
51
  * Load existing state and prepare for resumption
43
52
  */
44
- private loadAndMergeState;
53
+ protected loadAndMergeState(resumePath: string, stateManager: StateManager): Promise<DatabaseDocumentation>;
54
+ /**
55
+ * Sample table data (row counts, distinct counts, sample values) into the state.
56
+ *
57
+ * A fresh run samples every table. A resume samples only the tables whose columns carry no
58
+ * statistics, so an interrupted pass continues from its last checkpoint — unless the state records
59
+ * that its run skipped sampling, in which case the resume honours that choice.
60
+ */
61
+ private sampleTableData;
62
+ /** A table counts as sampled once any of its columns carries statistics. */
63
+ private tableHasStatistics;
45
64
  /**
46
65
  * Create run-numbered folder for this analysis run
47
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AnalysisOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisOrchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQvE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,wBAAwB,CAAC,CAAS;IAC1C,OAAO,CAAC,qBAAqB,CAAC,CAAS;gBAE3B,OAAO,EAAE,eAAe;IAQpC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAmbnD,uCAAuC;IAC1B,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAInD;;;OAGG;YACW,aAAa;IAuB3B;;OAEG;YACW,iBAAiB;IAa/B;;OAEG;YACW,eAAe;IAqB7B;;;OAGG;YACW,wBAAwB;IAqDtC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA8ExB;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAwBtC;;OAEG;YACW,qBAAqB;CAwDpC"}
1
+ {"version":3,"file":"AnalysisOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisOrchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAsC,MAAM,mBAAmB,CAAC;AAW3G,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,wBAAwB,CAAC,CAAS;IAC1C,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,YAAY,CAAC,CAAU;gBAEnB,OAAO,EAAE,eAAe;IASpC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAmanD,uCAAuC;IAC1B,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAInD;;;OAGG;YACW,aAAa;IAuB3B;;;OAGG;YACW,mBAAmB;IA4BjC;;OAEG;cACa,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAUjC;;;;;;OAMG;YACW,eAAe;IAqF7B,4EAA4E;IAC5E,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;YACW,eAAe;IAqB7B;;;OAGG;YACW,wBAAwB;IAqDtC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA8ExB;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAwBtC;;OAEG;YACW,qBAAqB;CAwDpC"}