@memberjunction/db-auto-doc 6.1.4 → 6.2.0-edge.1

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 (193) hide show
  1. package/dist/api/DBAutoDocAPI.d.ts +23 -0
  2. package/dist/api/DBAutoDocAPI.d.ts.map +1 -1
  3. package/dist/api/DBAutoDocAPI.js +20 -4
  4. package/dist/api/DBAutoDocAPI.js.map +1 -1
  5. package/dist/commands/export.js +4 -4
  6. package/dist/commands/generate-queries.js +11 -11
  7. package/dist/core/AnalysisEngine.d.ts +37 -0
  8. package/dist/core/AnalysisEngine.d.ts.map +1 -1
  9. package/dist/core/AnalysisEngine.js +60 -16
  10. package/dist/core/AnalysisEngine.js.map +1 -1
  11. package/dist/core/AnalysisOrchestrator.d.ts +2 -0
  12. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  13. package/dist/core/AnalysisOrchestrator.js +33 -29
  14. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  15. package/dist/core/BackpropagationEngine.d.ts +7 -0
  16. package/dist/core/BackpropagationEngine.d.ts.map +1 -1
  17. package/dist/core/BackpropagationEngine.js +10 -2
  18. package/dist/core/BackpropagationEngine.js.map +1 -1
  19. package/dist/core/ConvergenceDetector.d.ts +4 -0
  20. package/dist/core/ConvergenceDetector.d.ts.map +1 -1
  21. package/dist/core/ConvergenceDetector.js +10 -2
  22. package/dist/core/ConvergenceDetector.js.map +1 -1
  23. package/dist/core/GuardrailsManager.d.ts +16 -0
  24. package/dist/core/GuardrailsManager.d.ts.map +1 -1
  25. package/dist/core/GuardrailsManager.js +40 -8
  26. package/dist/core/GuardrailsManager.js.map +1 -1
  27. package/dist/database/Database.d.ts +25 -0
  28. package/dist/database/Database.d.ts.map +1 -1
  29. package/dist/database/Database.js +46 -10
  30. package/dist/database/Database.js.map +1 -1
  31. package/dist/database/TopologicalSorter.d.ts +4 -0
  32. package/dist/database/TopologicalSorter.d.ts.map +1 -1
  33. package/dist/database/TopologicalSorter.js +10 -2
  34. package/dist/database/TopologicalSorter.js.map +1 -1
  35. package/dist/database/index.d.ts +1 -1
  36. package/dist/database/index.d.ts.map +1 -1
  37. package/dist/database/index.js +1 -1
  38. package/dist/database/index.js.map +1 -1
  39. package/dist/discovery/BridgeViewSQLGenerator.d.ts +28 -14
  40. package/dist/discovery/BridgeViewSQLGenerator.d.ts.map +1 -1
  41. package/dist/discovery/BridgeViewSQLGenerator.js +62 -31
  42. package/dist/discovery/BridgeViewSQLGenerator.js.map +1 -1
  43. package/dist/discovery/ColumnClusterer.d.ts +11 -5
  44. package/dist/discovery/ColumnClusterer.d.ts.map +1 -1
  45. package/dist/discovery/ColumnClusterer.js +21 -9
  46. package/dist/discovery/ColumnClusterer.js.map +1 -1
  47. package/dist/discovery/ColumnNormalizer.d.ts +28 -16
  48. package/dist/discovery/ColumnNormalizer.d.ts.map +1 -1
  49. package/dist/discovery/ColumnNormalizer.js +35 -27
  50. package/dist/discovery/ColumnNormalizer.js.map +1 -1
  51. package/dist/discovery/ColumnStatsCache.d.ts +37 -0
  52. package/dist/discovery/ColumnStatsCache.d.ts.map +1 -1
  53. package/dist/discovery/ColumnStatsCache.js +87 -23
  54. package/dist/discovery/ColumnStatsCache.js.map +1 -1
  55. package/dist/discovery/Composer.d.ts +14 -4
  56. package/dist/discovery/Composer.d.ts.map +1 -1
  57. package/dist/discovery/Composer.js +28 -20
  58. package/dist/discovery/Composer.js.map +1 -1
  59. package/dist/discovery/DiscoveryEngine.d.ts +16 -8
  60. package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
  61. package/dist/discovery/DiscoveryEngine.js +43 -27
  62. package/dist/discovery/DiscoveryEngine.js.map +1 -1
  63. package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts +20 -0
  64. package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts.map +1 -1
  65. package/dist/discovery/DiscoveryTriggerAnalyzer.js +27 -7
  66. package/dist/discovery/DiscoveryTriggerAnalyzer.js.map +1 -1
  67. package/dist/discovery/EmbeddingProvider.d.ts +6 -4
  68. package/dist/discovery/EmbeddingProvider.d.ts.map +1 -1
  69. package/dist/discovery/EmbeddingProvider.js +7 -3
  70. package/dist/discovery/EmbeddingProvider.js.map +1 -1
  71. package/dist/discovery/EnumCandidateGate.d.ts +15 -11
  72. package/dist/discovery/EnumCandidateGate.d.ts.map +1 -1
  73. package/dist/discovery/EnumCandidateGate.js +21 -13
  74. package/dist/discovery/EnumCandidateGate.js.map +1 -1
  75. package/dist/discovery/FKDetector.d.ts +4 -0
  76. package/dist/discovery/FKDetector.d.ts.map +1 -1
  77. package/dist/discovery/FKDetector.js +10 -2
  78. package/dist/discovery/FKDetector.js.map +1 -1
  79. package/dist/discovery/FKGraphWalker.d.ts +27 -18
  80. package/dist/discovery/FKGraphWalker.d.ts.map +1 -1
  81. package/dist/discovery/FKGraphWalker.js +30 -26
  82. package/dist/discovery/FKGraphWalker.js.map +1 -1
  83. package/dist/discovery/LLMDiscoveryValidator.d.ts +2 -0
  84. package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
  85. package/dist/discovery/LLMDiscoveryValidator.js +28 -24
  86. package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
  87. package/dist/discovery/LLMSanityChecker.d.ts +5 -3
  88. package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
  89. package/dist/discovery/LLMSanityChecker.js +16 -12
  90. package/dist/discovery/LLMSanityChecker.js.map +1 -1
  91. package/dist/discovery/OrganicKeyDetector.d.ts +12 -4
  92. package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -1
  93. package/dist/discovery/OrganicKeyDetector.js +36 -27
  94. package/dist/discovery/OrganicKeyDetector.js.map +1 -1
  95. package/dist/discovery/OrganicKeyTranslator.d.ts +9 -0
  96. package/dist/discovery/OrganicKeyTranslator.d.ts.map +1 -1
  97. package/dist/discovery/OrganicKeyTranslator.js +15 -7
  98. package/dist/discovery/OrganicKeyTranslator.js.map +1 -1
  99. package/dist/discovery/PKDetector.d.ts +4 -0
  100. package/dist/discovery/PKDetector.d.ts.map +1 -1
  101. package/dist/discovery/PKDetector.js +10 -2
  102. package/dist/discovery/PKDetector.js.map +1 -1
  103. package/dist/discovery/SemanticPhase.d.ts +3 -1
  104. package/dist/discovery/SemanticPhase.d.ts.map +1 -1
  105. package/dist/discovery/SemanticPhase.js +55 -51
  106. package/dist/discovery/SemanticPhase.js.map +1 -1
  107. package/dist/discovery/StructuralPhase.d.ts +9 -3
  108. package/dist/discovery/StructuralPhase.d.ts.map +1 -1
  109. package/dist/discovery/StructuralPhase.js +13 -6
  110. package/dist/discovery/StructuralPhase.js.map +1 -1
  111. package/dist/discovery/TransitiveBridgeDetector.d.ts +21 -15
  112. package/dist/discovery/TransitiveBridgeDetector.d.ts.map +1 -1
  113. package/dist/discovery/TransitiveBridgeDetector.js +62 -51
  114. package/dist/discovery/TransitiveBridgeDetector.js.map +1 -1
  115. package/dist/drivers/BaseAutoDocDriver.d.ts +20 -8
  116. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
  117. package/dist/drivers/BaseAutoDocDriver.js +10 -2
  118. package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
  119. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +9 -7
  120. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
  121. package/dist/generators/AdditionalSchemaInfoGenerator.js +13 -9
  122. package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
  123. package/dist/generators/CSVGenerator.d.ts +2 -0
  124. package/dist/generators/CSVGenerator.d.ts.map +1 -1
  125. package/dist/generators/CSVGenerator.js +5 -1
  126. package/dist/generators/CSVGenerator.js.map +1 -1
  127. package/dist/generators/HTMLGenerator.d.ts +2 -0
  128. package/dist/generators/HTMLGenerator.d.ts.map +1 -1
  129. package/dist/generators/HTMLGenerator.js +5 -1
  130. package/dist/generators/HTMLGenerator.js.map +1 -1
  131. package/dist/generators/MarkdownGenerator.d.ts +2 -0
  132. package/dist/generators/MarkdownGenerator.d.ts.map +1 -1
  133. package/dist/generators/MarkdownGenerator.js +5 -1
  134. package/dist/generators/MarkdownGenerator.js.map +1 -1
  135. package/dist/generators/MermaidGenerator.d.ts +4 -0
  136. package/dist/generators/MermaidGenerator.d.ts.map +1 -1
  137. package/dist/generators/MermaidGenerator.js +11 -3
  138. package/dist/generators/MermaidGenerator.js.map +1 -1
  139. package/dist/generators/ReportGenerator.d.ts +2 -0
  140. package/dist/generators/ReportGenerator.d.ts.map +1 -1
  141. package/dist/generators/ReportGenerator.js +5 -1
  142. package/dist/generators/ReportGenerator.js.map +1 -1
  143. package/dist/generators/SQLGenerator.d.ts +2 -0
  144. package/dist/generators/SQLGenerator.d.ts.map +1 -1
  145. package/dist/generators/SQLGenerator.js +5 -1
  146. package/dist/generators/SQLGenerator.js.map +1 -1
  147. package/dist/generators/SampleQueryGenerator.d.ts +2 -0
  148. package/dist/generators/SampleQueryGenerator.d.ts.map +1 -1
  149. package/dist/generators/SampleQueryGenerator.js +22 -18
  150. package/dist/generators/SampleQueryGenerator.js.map +1 -1
  151. package/dist/prompts/PromptEngine.d.ts +26 -0
  152. package/dist/prompts/PromptEngine.d.ts.map +1 -1
  153. package/dist/prompts/PromptEngine.js +22 -6
  154. package/dist/prompts/PromptEngine.js.map +1 -1
  155. package/dist/prompts/PromptFileLoader.d.ts +9 -1
  156. package/dist/prompts/PromptFileLoader.d.ts.map +1 -1
  157. package/dist/prompts/PromptFileLoader.js +19 -3
  158. package/dist/prompts/PromptFileLoader.js.map +1 -1
  159. package/dist/state/IterationTracker.d.ts +31 -0
  160. package/dist/state/IterationTracker.d.ts.map +1 -1
  161. package/dist/state/IterationTracker.js +66 -14
  162. package/dist/state/IterationTracker.js.map +1 -1
  163. package/dist/state/StateManager.d.ts +35 -0
  164. package/dist/state/StateManager.d.ts.map +1 -1
  165. package/dist/state/StateManager.js +66 -14
  166. package/dist/state/StateManager.js.map +1 -1
  167. package/dist/state/StateValidator.d.ts +4 -0
  168. package/dist/state/StateValidator.d.ts.map +1 -1
  169. package/dist/state/StateValidator.js +12 -4
  170. package/dist/state/StateValidator.js.map +1 -1
  171. package/dist/types/discovery.d.ts +14 -14
  172. package/dist/types/organic-keys.d.ts +16 -12
  173. package/dist/types/organic-keys.d.ts.map +1 -1
  174. package/dist/types/organic-keys.js +15 -7
  175. package/dist/types/organic-keys.js.map +1 -1
  176. package/dist/types/sample-queries.d.ts +13 -13
  177. package/dist/utils/config-loader.d.ts +6 -0
  178. package/dist/utils/config-loader.d.ts.map +1 -1
  179. package/dist/utils/config-loader.js +15 -3
  180. package/dist/utils/config-loader.js.map +1 -1
  181. package/dist/utils/ensureArray.d.ts +2 -0
  182. package/dist/utils/ensureArray.d.ts.map +1 -1
  183. package/dist/utils/ensureArray.js +5 -1
  184. package/dist/utils/ensureArray.js.map +1 -1
  185. package/dist/utils/json.d.ts +6 -0
  186. package/dist/utils/json.d.ts.map +1 -1
  187. package/dist/utils/json.js +20 -8
  188. package/dist/utils/json.js.map +1 -1
  189. package/dist/utils/llm-factory.d.ts +6 -0
  190. package/dist/utils/llm-factory.d.ts.map +1 -1
  191. package/dist/utils/llm-factory.js +15 -3
  192. package/dist/utils/llm-factory.js.map +1 -1
  193. package/package.json +5 -5
@@ -21,30 +21,32 @@
21
21
  * are skipped (composite-PK bridge join is future work).
22
22
  */
23
23
  import { FKEdge } from './FKGraphWalker.js';
24
- import { GeneratedBridgeView } from './BridgeViewSQLGenerator.js';
24
+ import { GeneratedBridgeView, BridgeViewProvider } from './BridgeViewSQLGenerator.js';
25
25
  import { OrganicKeyCluster } from '../types/organic-keys.js';
26
26
  import { DatabaseDocumentation } from '../types/state.js';
27
27
  /** One transitive bridge finding ready for spoke emission. */
28
28
  export interface TransitiveBridgeFinding {
29
- hubSchema: string;
30
- hubTable: string;
31
- hubKeyFields: string[];
32
- spokeSchema: string;
33
- spokeTable: string;
34
- spokeJoinField: string;
35
- view: GeneratedBridgeView;
36
- pathLength: number;
37
- pathConfidence: number;
29
+ HubSchema: string;
30
+ HubTable: string;
31
+ HubKeyFields: string[];
32
+ SpokeSchema: string;
33
+ SpokeTable: string;
34
+ SpokeJoinField: string;
35
+ View: GeneratedBridgeView;
36
+ PathLength: number;
37
+ PathConfidence: number;
38
38
  /** Concept name from the underlying organic key (e.g. "email_address"). Used for the spoke's DisplayName. */
39
- hubConcept: string;
39
+ HubConcept: string;
40
40
  }
41
41
  export interface TransitiveBridgeDetectorOptions {
42
- maxHops?: number;
43
- minSoftFKConfidence?: number;
42
+ MaxHops?: number;
43
+ MinSoftFKConfidence?: number;
44
44
  /** Drop bridges whose path confidence falls below this. Default 0.7. */
45
- minPathConfidence?: number;
45
+ MinPathConfidence?: number;
46
46
  /** Limit bridges per (hub, spoke) pair — keeps only the best path. Default true. */
47
- keepShortestOnly?: boolean;
47
+ KeepShortestOnly?: boolean;
48
+ /** Platform the generated bridge-view SQL is written for. Default `'sqlserver'`. */
49
+ provider?: BridgeViewProvider;
48
50
  }
49
51
  /**
50
52
  * Detect transitive bridges for every hub × spoke pair whose graph distance
@@ -55,11 +57,15 @@ export interface TransitiveBridgeDetectorOptions {
55
57
  * @param edges - FK edges (hard + soft) to walk.
56
58
  * @param state - DatabaseDocumentation, used to look up spoke PKs.
57
59
  */
60
+ export declare function DetectTransitiveBridges(organicKeyClusters: OrganicKeyCluster[], edges: FKEdge[], state: DatabaseDocumentation, opts?: TransitiveBridgeDetectorOptions): TransitiveBridgeFinding[];
61
+ /** @deprecated Use {@link DetectTransitiveBridges}. */
58
62
  export declare function detectTransitiveBridges(organicKeyClusters: OrganicKeyCluster[], edges: FKEdge[], state: DatabaseDocumentation, opts?: TransitiveBridgeDetectorOptions): TransitiveBridgeFinding[];
59
63
  /**
60
64
  * Pull FK edges out of state.json's keyDetection.discovered.foreignKeys block
61
65
  * AND from any schema-declared hard FKs in the dependencies array. Returns the
62
66
  * combined set ready for the walker.
63
67
  */
68
+ export declare function CollectFKEdgesFromState(state: DatabaseDocumentation): FKEdge[];
69
+ /** @deprecated Use {@link CollectFKEdgesFromState}. */
64
70
  export declare function collectFKEdgesFromState(state: DatabaseDocumentation): FKEdge[];
65
71
  //# sourceMappingURL=TransitiveBridgeDetector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransitiveBridgeDetector.d.ts","sourceRoot":"","sources":["../../src/discovery/TransitiveBridgeDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAmB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAsB,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAC;AAE/E,8DAA8D;AAC9D,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,6GAA6G;IAC7G,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,+BAA+B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AASD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,qBAAqB,EAC5B,IAAI,GAAE,+BAAoC,GAC3C,uBAAuB,EAAE,CAmG3B;AAeD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAqF9E"}
1
+ {"version":3,"file":"TransitiveBridgeDetector.d.ts","sourceRoot":"","sources":["../../src/discovery/TransitiveBridgeDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAmB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAsB,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAC;AAE/E,8DAA8D;AAC9D,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,6GAA6G;IAC7G,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,+BAA+B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAUD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,qBAAqB,EAC5B,IAAI,GAAE,+BAAoC,GAC3C,uBAAuB,EAAE,CAqG3B;AAED,uDAAuD;AACvD,wBAAgB,uBAAuB,CACnC,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,qBAAqB,EAC5B,IAAI,GAAE,+BAAoC,GAC3C,uBAAuB,EAAE,CAE3B;AAeD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAqF9E;AAED,uDAAuD;AACvD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAE9E"}
@@ -20,14 +20,15 @@
20
20
  * - Spoke PK is resolved from state.json. Tables without a single-column PK
21
21
  * are skipped (composite-PK bridge join is future work).
22
22
  */
23
- import { findBridgePaths } from './FKGraphWalker.js';
24
- import { generateBridgeView } from './BridgeViewSQLGenerator.js';
25
- import { memberColumns } from '../types/organic-keys.js';
23
+ import { FindBridgePaths } from './FKGraphWalker.js';
24
+ import { GenerateBridgeView } from './BridgeViewSQLGenerator.js';
25
+ import { MemberColumns } from '../types/organic-keys.js';
26
26
  const DEFAULTS = {
27
- maxHops: 3,
28
- minSoftFKConfidence: 0.6,
29
- minPathConfidence: 0.7,
30
- keepShortestOnly: true,
27
+ MaxHops: 3,
28
+ MinSoftFKConfidence: 0.6,
29
+ MinPathConfidence: 0.7,
30
+ KeepShortestOnly: true,
31
+ provider: 'sqlserver',
31
32
  };
32
33
  /**
33
34
  * Detect transitive bridges for every hub × spoke pair whose graph distance
@@ -38,12 +39,14 @@ const DEFAULTS = {
38
39
  * @param edges - FK edges (hard + soft) to walk.
39
40
  * @param state - DatabaseDocumentation, used to look up spoke PKs.
40
41
  */
41
- export function detectTransitiveBridges(organicKeyClusters, edges, state, opts = {}) {
42
- const o = { ...DEFAULTS, ...opts };
42
+ export function DetectTransitiveBridges(organicKeyClusters, edges, state, opts = {}) {
43
+ // `?? DEFAULTS.provider`: runStructuralPhase passes `{ provider }` with an optional provider,
44
+ // and a spread of an explicit `undefined` would overwrite the default.
45
+ const o = { ...DEFAULTS, ...opts, provider: opts.provider ?? DEFAULTS.provider };
43
46
  const hubsByKey = new Map();
44
47
  for (const cluster of organicKeyClusters) {
45
48
  for (const member of cluster.members) {
46
- const cols = memberColumns(member);
49
+ const cols = MemberColumns(member);
47
50
  const k = `${member.schema}.${member.table}.${cols.join(',')}`;
48
51
  if (hubsByKey.has(k))
49
52
  continue;
@@ -71,51 +74,51 @@ export function detectTransitiveBridges(organicKeyClusters, edges, state, opts =
71
74
  for (const h of hubsByKey.values()) {
72
75
  hubsForWalker.push({ schema: h.schema, table: h.table, keyField: h.keyFields[0] });
73
76
  }
74
- const allPaths = findBridgePaths(edges, hubsForWalker, allTables, {
75
- maxHops: o.maxHops,
76
- minSoftFKConfidence: o.minSoftFKConfidence,
77
- pruneCycles: true,
77
+ const allPaths = FindBridgePaths(edges, hubsForWalker, allTables, {
78
+ MaxHops: o.MaxHops,
79
+ MinSoftFKConfidence: o.MinSoftFKConfidence,
80
+ PruneCycles: true,
78
81
  });
79
82
  // ─── 4. For each path, materialize the bridge view ─────────────────────
80
83
  const findings = [];
81
84
  for (const path of allPaths) {
82
- if (path.pathConfidence < o.minPathConfidence)
85
+ if (path.PathConfidence < o.MinPathConfidence)
83
86
  continue;
84
- const spokeKey = `${path.spokeSchema}.${path.spokeTable}`;
87
+ const spokeKey = `${path.SpokeSchema}.${path.SpokeTable}`;
85
88
  const spokePK = spokePKByKey.get(spokeKey);
86
89
  if (!spokePK)
87
90
  continue; // skip composite-PK spokes for now
88
91
  // Resolve the originating hub entry to recover the full keyFields tuple + concept.
89
- const hubMatch = Array.from(hubsByKey.values()).find((h) => h.schema === path.hubSchema && h.table === path.hubTable && h.keyFields[0] === path.hubKeyField);
92
+ const hubMatch = Array.from(hubsByKey.values()).find((h) => h.schema === path.HubSchema && h.table === path.HubTable && h.keyFields[0] === path.HubKeyField);
90
93
  if (!hubMatch)
91
94
  continue;
92
- const view = generateBridgeView(path, spokePK);
95
+ const view = GenerateBridgeView(path, spokePK, { provider: o.provider });
93
96
  findings.push({
94
- hubSchema: hubMatch.schema,
95
- hubTable: hubMatch.table,
96
- hubKeyFields: hubMatch.keyFields,
97
- spokeSchema: path.spokeSchema,
98
- spokeTable: path.spokeTable,
99
- spokeJoinField: spokePK,
100
- view,
101
- pathLength: path.pathLength,
102
- pathConfidence: path.pathConfidence,
103
- hubConcept: hubMatch.concept,
97
+ HubSchema: hubMatch.schema,
98
+ HubTable: hubMatch.table,
99
+ HubKeyFields: hubMatch.keyFields,
100
+ SpokeSchema: path.SpokeSchema,
101
+ SpokeTable: path.SpokeTable,
102
+ SpokeJoinField: spokePK,
103
+ View: view,
104
+ PathLength: path.PathLength,
105
+ PathConfidence: path.PathConfidence,
106
+ HubConcept: hubMatch.concept,
104
107
  });
105
108
  }
106
109
  // ─── 5. Dedupe per (hub, spoke) — keep shortest, then highest-confidence ─
107
- if (o.keepShortestOnly) {
110
+ if (o.KeepShortestOnly) {
108
111
  const byPair = new Map();
109
112
  for (const f of findings) {
110
- const k = `${f.hubSchema}.${f.hubTable}::${f.spokeSchema}.${f.spokeTable}::${f.hubKeyFields[0]}`;
113
+ const k = `${f.HubSchema}.${f.HubTable}::${f.SpokeSchema}.${f.SpokeTable}::${f.HubKeyFields[0]}`;
111
114
  const existing = byPair.get(k);
112
115
  if (!existing) {
113
116
  byPair.set(k, f);
114
117
  continue;
115
118
  }
116
- if (f.pathLength < existing.pathLength)
119
+ if (f.PathLength < existing.PathLength)
117
120
  byPair.set(k, f);
118
- else if (f.pathLength === existing.pathLength && f.pathConfidence > existing.pathConfidence) {
121
+ else if (f.PathLength === existing.PathLength && f.PathConfidence > existing.PathConfidence) {
119
122
  byPair.set(k, f);
120
123
  }
121
124
  }
@@ -123,6 +126,10 @@ export function detectTransitiveBridges(organicKeyClusters, edges, state, opts =
123
126
  }
124
127
  return findings;
125
128
  }
129
+ /** @deprecated Use {@link DetectTransitiveBridges}. */
130
+ export function detectTransitiveBridges(organicKeyClusters, edges, state, opts = {}) {
131
+ return DetectTransitiveBridges(organicKeyClusters, edges, state, opts);
132
+ }
126
133
  // ─── Helpers ────────────────────────────────────────────────────────────────
127
134
  /**
128
135
  * Pick the single-column PK from a table's column list. Returns null when no PK
@@ -140,7 +147,7 @@ function pickSinglePK(columns) {
140
147
  * AND from any schema-declared hard FKs in the dependencies array. Returns the
141
148
  * combined set ready for the walker.
142
149
  */
143
- export function collectFKEdgesFromState(state) {
150
+ export function CollectFKEdgesFromState(state) {
144
151
  const out = [];
145
152
  // Hard FKs from the FK-SOURCE side via `dependsOn`. Each entry on table
146
153
  // T's `dependsOn` array describes an FK that T holds pointing at another
@@ -158,13 +165,13 @@ export function collectFKEdgesFromState(state) {
158
165
  const deps = table.dependsOn ?? [];
159
166
  for (const d of deps) {
160
167
  out.push({
161
- sourceSchema: schema.name,
162
- sourceTable: table.name,
163
- sourceColumn: d.column,
164
- targetSchema: d.schema,
165
- targetTable: d.table,
166
- targetColumn: d.referencedColumn,
167
- kind: 'hard',
168
+ SourceSchema: schema.name,
169
+ SourceTable: table.name,
170
+ SourceColumn: d.column,
171
+ TargetSchema: d.schema,
172
+ TargetTable: d.table,
173
+ TargetColumn: d.referencedColumn,
174
+ Kind: 'hard',
168
175
  confidence: 1,
169
176
  });
170
177
  }
@@ -185,13 +192,13 @@ export function collectFKEdgesFromState(state) {
185
192
  typeof f.targetColumn === 'string' &&
186
193
  typeof f.confidence === 'number') {
187
194
  out.push({
188
- sourceSchema: f.schemaName,
189
- sourceTable: f.sourceTable,
190
- sourceColumn: f.sourceColumn,
191
- targetSchema: f.targetSchema,
192
- targetTable: f.targetTable,
193
- targetColumn: f.targetColumn,
194
- kind: 'soft',
195
+ SourceSchema: f.schemaName,
196
+ SourceTable: f.sourceTable,
197
+ SourceColumn: f.sourceColumn,
198
+ TargetSchema: f.targetSchema,
199
+ TargetTable: f.targetTable,
200
+ TargetColumn: f.targetColumn,
201
+ Kind: 'soft',
195
202
  confidence: f.confidence / 100, // state stores 0-100
196
203
  });
197
204
  }
@@ -214,7 +221,11 @@ export function collectFKEdgesFromState(state) {
214
221
  }
215
222
  }
216
223
  const exists = (s, t, c) => validColumns.has(`${s}.${t}.${c}`.toLowerCase());
217
- return deduped.filter((e) => exists(e.sourceSchema, e.sourceTable, e.sourceColumn) && exists(e.targetSchema, e.targetTable, e.targetColumn));
224
+ return deduped.filter((e) => exists(e.SourceSchema, e.SourceTable, e.SourceColumn) && exists(e.TargetSchema, e.TargetTable, e.TargetColumn));
225
+ }
226
+ /** @deprecated Use {@link CollectFKEdgesFromState}. */
227
+ export function collectFKEdgesFromState(state) {
228
+ return CollectFKEdgesFromState(state);
218
229
  }
219
230
  /**
220
231
  * Dedupe FK edges by (source, target) column pair. When duplicates exist,
@@ -224,15 +235,15 @@ export function collectFKEdgesFromState(state) {
224
235
  function dedupEdges(edges) {
225
236
  const byKey = new Map();
226
237
  for (const e of edges) {
227
- const k = `${e.sourceSchema}.${e.sourceTable}.${e.sourceColumn}->${e.targetSchema}.${e.targetTable}.${e.targetColumn}`;
238
+ const k = `${e.SourceSchema}.${e.SourceTable}.${e.SourceColumn}->${e.TargetSchema}.${e.TargetTable}.${e.TargetColumn}`;
228
239
  const existing = byKey.get(k);
229
240
  if (!existing) {
230
241
  byKey.set(k, e);
231
242
  continue;
232
243
  }
233
- if (existing.kind === 'hard')
244
+ if (existing.Kind === 'hard')
234
245
  continue;
235
- if (e.kind === 'hard') {
246
+ if (e.Kind === 'hard') {
236
247
  byKey.set(k, e);
237
248
  continue;
238
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransitiveBridgeDetector.js","sourceRoot":"","sources":["../../src/discovery/TransitiveBridgeDetector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransitiveBridgeDetector.js","sourceRoot":"","sources":["../../src/discovery/TransitiveBridgeDetector.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,8 @@ export declare abstract class BaseAutoDocDriver {
25
25
  /**
26
26
  * Get all schemas with filtered tables
27
27
  */
28
- abstract getSchemas(schemaFilter: AutoDocSchemaFilter, tableFilter: AutoDocTableFilter): Promise<AutoDocSchema[]>;
28
+ abstract getSchemas(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
29
+ schemaFilter: AutoDocSchemaFilter, tableFilter: AutoDocTableFilter): Promise<AutoDocSchema[]>;
29
30
  /**
30
31
  * Get all tables in a schema
31
32
  */
@@ -38,11 +39,13 @@ export declare abstract class BaseAutoDocDriver {
38
39
  * Get existing descriptions from database metadata
39
40
  * (e.g., MS_Description for SQL Server, COMMENT for MySQL/PostgreSQL)
40
41
  */
41
- abstract getExistingDescriptions(schemaName: string, tableName: string): Promise<AutoDocExistingDescription[]>;
42
+ abstract getExistingDescriptions(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
43
+ schemaName: string, tableName: string): Promise<AutoDocExistingDescription[]>;
42
44
  /**
43
45
  * Get column statistics (cardinality, null count, etc.)
44
46
  */
45
- abstract getColumnStatistics(schemaName: string, tableName: string, columnName: string, dataType: string, cardinalityThreshold: number, sampleSize: number): Promise<AutoDocColumnStatistics>;
47
+ abstract getColumnStatistics(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
48
+ schemaName: string, tableName: string, columnName: string, dataType: string, cardinalityThreshold: number, sampleSize: number): Promise<AutoDocColumnStatistics>;
46
49
  /**
47
50
  * Get distinct value count for a column
48
51
  */
@@ -57,16 +60,20 @@ export declare abstract class BaseAutoDocDriver {
57
60
  /**
58
61
  * Get sample values from a column
59
62
  */
60
- abstract getSampleValues(schemaName: string, tableName: string, columnName: string, sampleSize: number): Promise<any[]>;
63
+ abstract getSampleValues(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
64
+ schemaName: string, tableName: string, columnName: string, sampleSize: number): Promise<any[]>;
61
65
  /**
62
66
  * Get simplified column statistics for discovery
63
67
  * Uses existing getColumnStatistics but with simpler parameters
64
68
  */
69
+ GetColumnStatisticsForDiscovery(schemaName: string, tableName: string, columnName: string, columnType: string, maxSampleSize?: number): Promise<import('../types/discovery.js').ColumnStatistics>;
70
+ /** @deprecated Use {@link GetColumnStatisticsForDiscovery}. */
65
71
  getColumnStatisticsForDiscovery(schemaName: string, tableName: string, columnName: string, columnType: string, maxSampleSize?: number): Promise<import('../types/discovery.js').ColumnStatistics>;
66
72
  /**
67
73
  * Get column information (for FK detection)
68
74
  */
69
- abstract getColumnInfo(schemaName: string, tableName: string, columnName: string): Promise<{
75
+ abstract getColumnInfo(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
76
+ schemaName: string, tableName: string, columnName: string): Promise<{
70
77
  name: string;
71
78
  type: string;
72
79
  nullable: boolean;
@@ -75,19 +82,22 @@ export declare abstract class BaseAutoDocDriver {
75
82
  * Test value overlap between two columns (for FK detection)
76
83
  * Returns percentage of source values that exist in target (0-1)
77
84
  */
78
- abstract testValueOverlap(sourceTable: string, // format: "schema.table"
85
+ abstract testValueOverlap(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
86
+ sourceTable: string, // format: "schema.table"
79
87
  sourceColumn: string, targetTable: string, // format: "schema.table"
80
88
  targetColumn: string, sampleSize: number): Promise<number>;
81
89
  /**
82
90
  * Check if a combination of columns is unique (for composite PK detection)
83
91
  */
84
- abstract checkColumnCombinationUniqueness(schemaName: string, tableName: string, columnNames: string[], sampleSize: number): Promise<boolean>;
92
+ abstract checkColumnCombinationUniqueness(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
93
+ schemaName: string, tableName: string, columnNames: string[], sampleSize: number): Promise<boolean>;
85
94
  /**
86
95
  * Execute a raw SQL query
87
96
  * @param query SQL query to execute
88
97
  * @param maxRetries Number of retry attempts for transient errors
89
98
  */
90
- abstract executeQuery<T = any>(query: string, maxRetries?: number): Promise<AutoDocQueryResult<T>>;
99
+ abstract executeQuery<T = any>(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
100
+ query: string, maxRetries?: number): Promise<AutoDocQueryResult<T>>;
91
101
  /**
92
102
  * Escape identifier (schema, table, column names)
93
103
  * Each provider has different quoting rules
@@ -127,6 +137,8 @@ export declare abstract class BaseAutoDocDriver {
127
137
  /**
128
138
  * Get database provider name
129
139
  */
140
+ GetProviderName(): string;
141
+ /** @deprecated Use {@link GetProviderName}. */
130
142
  getProviderName(): string;
131
143
  }
132
144
  //# sourceMappingURL=BaseAutoDocDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAutoDocDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/BaseAutoDocDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAutoDocDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/BaseAutoDocDriver.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export class BaseAutoDocDriver {
17
17
  * Get simplified column statistics for discovery
18
18
  * Uses existing getColumnStatistics but with simpler parameters
19
19
  */
20
- async getColumnStatisticsForDiscovery(schemaName, tableName, columnName, columnType, maxSampleSize = 1000) {
20
+ async GetColumnStatisticsForDiscovery(schemaName, tableName, columnName, columnType, maxSampleSize = 1000) {
21
21
  const stats = await this.getColumnStatistics(schemaName, tableName, columnName, columnType, 100, // cardinalityThreshold
22
22
  maxSampleSize);
23
23
  // Calculate total rows from null percentage if available
@@ -36,6 +36,10 @@ export class BaseAutoDocDriver {
36
36
  sampleValues: stats.sampleValues || []
37
37
  };
38
38
  }
39
+ /** @deprecated Use {@link GetColumnStatisticsForDiscovery}. */
40
+ async getColumnStatisticsForDiscovery(schemaName, tableName, columnName, columnType, maxSampleSize = 1000) {
41
+ return this.GetColumnStatisticsForDiscovery(schemaName, tableName, columnName, columnType, maxSampleSize);
42
+ }
39
43
  /**
40
44
  * Check if data type is numeric
41
45
  */
@@ -112,8 +116,12 @@ export class BaseAutoDocDriver {
112
116
  /**
113
117
  * Get database provider name
114
118
  */
115
- getProviderName() {
119
+ GetProviderName() {
116
120
  return this.config.provider;
117
121
  }
122
+ /** @deprecated Use {@link GetProviderName}. */
123
+ getProviderName() {
124
+ return this.GetProviderName();
125
+ }
118
126
  }
119
127
  //# sourceMappingURL=BaseAutoDocDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAutoDocDriver.js","sourceRoot":"","sources":["../../src/drivers/BaseAutoDocDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAutoDocDriver.js","sourceRoot":"","sources":["../../src/drivers/BaseAutoDocDriver.ts"],"names":[],"mappings":"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"}
@@ -20,23 +20,23 @@ import { DatabaseDocumentation } from '../types/state.js';
20
20
  import { DetectedOrganicKeysOutput } from '../discovery/OrganicKeyTranslator.js';
21
21
  export interface AdditionalSchemaInfoOptions {
22
22
  /** Only include AI-discovered keys, not keys already present in the database schema */
23
- discoveredOnly?: boolean;
23
+ DiscoveredOnly?: boolean;
24
24
  /** Minimum confidence (0-100) for discovered keys to be included */
25
- confidenceThreshold?: number;
25
+ ConfidenceThreshold?: number;
26
26
  /** Only include tables/columns with user-approved descriptions */
27
- approvedOnly?: boolean;
27
+ ApprovedOnly?: boolean;
28
28
  /** Only include confirmed candidates (status === 'confirmed') from discovery */
29
- confirmedOnly?: boolean;
29
+ ConfirmedOnly?: boolean;
30
30
  /** Minimum confidence (0-100) for value-list / enum entries. Default 85. */
31
- valueListConfidenceThreshold?: number;
31
+ ValueListConfidenceThreshold?: number;
32
32
  /** If true, skip emitting Fields[] entirely. Default false. */
33
- excludeValueLists?: boolean;
33
+ ExcludeValueLists?: boolean;
34
34
  /**
35
35
  * Organic-key detection output (per-schema/per-table OrganicKeys). When present,
36
36
  * merged into each table's OrganicKeys[] so CodeGen's processOrganicKeyConfig
37
37
  * writes EntityOrganicKey / EntityOrganicKeyRelatedEntity metadata.
38
38
  */
39
- organicKeys?: DetectedOrganicKeysOutput;
39
+ OrganicKeys?: DetectedOrganicKeysOutput;
40
40
  }
41
41
  /** Per-column value-list entry emitted in Fields[] when enum detection is active */
42
42
  export interface FieldValueListEntry {
@@ -63,6 +63,8 @@ export declare class AdditionalSchemaInfoGenerator {
63
63
  * When discoveredOnly is true, only source (2) is included — useful when
64
64
  * CodeGen already handles the hard constraints from the database.
65
65
  */
66
+ Generate(state: DatabaseDocumentation, options?: AdditionalSchemaInfoOptions): string;
67
+ /** @deprecated Use {@link Generate}. */
66
68
  generate(state: DatabaseDocumentation, options?: AdditionalSchemaInfoOptions): string;
67
69
  /**
68
70
  * Look up the organic keys detected for a specific schema.table from the
@@ -1 +1 @@
1
- {"version":3,"file":"AdditionalSchemaInfoGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/AdditionalSchemaInfoGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,qBAAqB,EAAuD,MAAM,mBAAmB,CAAC;AAE/G,OAAO,EAAE,yBAAyB,EAAoB,MAAM,sCAAsC,CAAC;AAEnG,MAAM,WAAW,2BAA2B;IAC1C,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAeD,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,iBAAiB,CAAC;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAyBD,qBAAa,6BAA6B;IACxC;;;;;;;;;;;;;OAaG;IACI,QAAQ,CACb,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,2BAAgC,GACxC,MAAM;IA4DT;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA8CtB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAoBzB"}
1
+ {"version":3,"file":"AdditionalSchemaInfoGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/AdditionalSchemaInfoGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,qBAAqB,EAAuD,MAAM,mBAAmB,CAAC;AAE/G,OAAO,EAAE,yBAAyB,EAAoB,MAAM,sCAAsC,CAAC;AAEnG,MAAM,WAAW,2BAA2B;IAC1C,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAeD,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,iBAAiB,CAAC;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAyBD,qBAAa,6BAA6B;IACxC;;;;;;;;;;;;;OAaG;IACI,QAAQ,CACb,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,2BAAgC,GACxC,MAAM;IA4DT,wCAAwC;IACjC,QAAQ,CACb,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,2BAAgC,GACxC,MAAM;IAIT;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA8CtB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAoBzB"}
@@ -31,24 +31,24 @@ export class AdditionalSchemaInfoGenerator {
31
31
  * When discoveredOnly is true, only source (2) is included — useful when
32
32
  * CodeGen already handles the hard constraints from the database.
33
33
  */
34
- generate(state, options = {}) {
34
+ Generate(state, options = {}) {
35
35
  const result = {
36
36
  Schemas: this.generateSchemaNameInfo(state),
37
37
  };
38
- const threshold = options.confidenceThreshold ?? 0;
38
+ const threshold = options.ConfidenceThreshold ?? 0;
39
39
  // Collect discovered candidates from key detection phase
40
- const discoveredPKs = this.getDiscoveredPKs(state, threshold, options.confirmedOnly ?? false);
41
- const discoveredFKs = this.getDiscoveredFKs(state, threshold, options.confirmedOnly ?? false);
40
+ const discoveredPKs = this.getDiscoveredPKs(state, threshold, options.ConfirmedOnly ?? false);
41
+ const discoveredFKs = this.getDiscoveredFKs(state, threshold, options.ConfirmedOnly ?? false);
42
42
  for (const schema of state.schemas) {
43
43
  const tables = [];
44
44
  for (const table of schema.tables) {
45
- if (options.approvedOnly && !table.userApproved) {
45
+ if (options.ApprovedOnly && !table.userApproved) {
46
46
  continue;
47
47
  }
48
- const tableInfo = this.buildTableInfo(schema, table, discoveredPKs, discoveredFKs, options.discoveredOnly ?? false, options.valueListConfidenceThreshold ?? 85, options.excludeValueLists ?? false, options.confirmedOnly ?? false);
48
+ const tableInfo = this.buildTableInfo(schema, table, discoveredPKs, discoveredFKs, options.DiscoveredOnly ?? false, options.ValueListConfidenceThreshold ?? 85, options.ExcludeValueLists ?? false, options.ConfirmedOnly ?? false);
49
49
  if (tableInfo) {
50
50
  // Attach organic keys for this table when detection output is present.
51
- const orgKeys = this.getOrganicKeysForTable(options.organicKeys, schema.name, table.name);
51
+ const orgKeys = this.getOrganicKeysForTable(options.OrganicKeys, schema.name, table.name);
52
52
  if (orgKeys.length > 0) {
53
53
  tableInfo.OrganicKeys = orgKeys;
54
54
  }
@@ -57,12 +57,12 @@ export class AdditionalSchemaInfoGenerator {
57
57
  }
58
58
  // A table may have organic keys even if buildTableInfo returned null (no
59
59
  // soft PK/FK and no value lists). Emit a minimal entry so they aren't lost.
60
- if (options.organicKeys) {
60
+ if (options.OrganicKeys) {
61
61
  const emittedTables = new Set(tables.map((t) => t.TableName));
62
62
  for (const table of schema.tables) {
63
63
  if (emittedTables.has(table.name))
64
64
  continue;
65
- const orgKeys = this.getOrganicKeysForTable(options.organicKeys, schema.name, table.name);
65
+ const orgKeys = this.getOrganicKeysForTable(options.OrganicKeys, schema.name, table.name);
66
66
  if (orgKeys.length > 0) {
67
67
  tables.push({ TableName: table.name, OrganicKeys: orgKeys });
68
68
  }
@@ -74,6 +74,10 @@ export class AdditionalSchemaInfoGenerator {
74
74
  }
75
75
  return JSON.stringify(result, null, 4);
76
76
  }
77
+ /** @deprecated Use {@link Generate}. */
78
+ generate(state, options = {}) {
79
+ return this.Generate(state, options);
80
+ }
77
81
  /**
78
82
  * Look up the organic keys detected for a specific schema.table from the
79
83
  * detector's per-schema/per-table output. Returns [] when none.