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

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 (117) hide show
  1. package/README.md +10 -0
  2. package/dist/api/DBAutoDocAPI.d.ts +2 -0
  3. package/dist/api/DBAutoDocAPI.d.ts.map +1 -1
  4. package/dist/api/DBAutoDocAPI.js +2 -1
  5. package/dist/api/DBAutoDocAPI.js.map +1 -1
  6. package/dist/core/AnalysisEngine.d.ts +24 -0
  7. package/dist/core/AnalysisEngine.d.ts.map +1 -1
  8. package/dist/core/AnalysisEngine.js +104 -11
  9. package/dist/core/AnalysisEngine.js.map +1 -1
  10. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  11. package/dist/core/AnalysisOrchestrator.js +17 -5
  12. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  13. package/dist/discovery/ColumnNormalizer.d.ts +31 -0
  14. package/dist/discovery/ColumnNormalizer.d.ts.map +1 -1
  15. package/dist/discovery/ColumnNormalizer.js +68 -2
  16. package/dist/discovery/ColumnNormalizer.js.map +1 -1
  17. package/dist/discovery/Composer.d.ts +33 -2
  18. package/dist/discovery/Composer.d.ts.map +1 -1
  19. package/dist/discovery/Composer.js +126 -5
  20. package/dist/discovery/Composer.js.map +1 -1
  21. package/dist/discovery/DiscoveryEngine.d.ts +3 -0
  22. package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
  23. package/dist/discovery/DiscoveryEngine.js +1 -1
  24. package/dist/discovery/DiscoveryEngine.js.map +1 -1
  25. package/dist/discovery/EmbeddingProvider.d.ts +6 -1
  26. package/dist/discovery/EmbeddingProvider.d.ts.map +1 -1
  27. package/dist/discovery/EmbeddingProvider.js +11 -1
  28. package/dist/discovery/EmbeddingProvider.js.map +1 -1
  29. package/dist/discovery/IndexKeyEvidence.d.ts +36 -0
  30. package/dist/discovery/IndexKeyEvidence.d.ts.map +1 -0
  31. package/dist/discovery/IndexKeyEvidence.js +42 -0
  32. package/dist/discovery/IndexKeyEvidence.js.map +1 -0
  33. package/dist/discovery/JoinProbe.d.ts +148 -0
  34. package/dist/discovery/JoinProbe.d.ts.map +1 -0
  35. package/dist/discovery/JoinProbe.js +233 -0
  36. package/dist/discovery/JoinProbe.js.map +1 -0
  37. package/dist/discovery/LLMDiscoveryValidator.d.ts +8 -1
  38. package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
  39. package/dist/discovery/LLMDiscoveryValidator.js +24 -3
  40. package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
  41. package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
  42. package/dist/discovery/LLMSanityChecker.js +10 -1
  43. package/dist/discovery/LLMSanityChecker.js.map +1 -1
  44. package/dist/discovery/OrganicKeyDetector.d.ts +29 -1
  45. package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -1
  46. package/dist/discovery/OrganicKeyDetector.js +26 -3
  47. package/dist/discovery/OrganicKeyDetector.js.map +1 -1
  48. package/dist/discovery/OrganicKeyTranslator.d.ts +24 -5
  49. package/dist/discovery/OrganicKeyTranslator.d.ts.map +1 -1
  50. package/dist/discovery/OrganicKeyTranslator.js +32 -14
  51. package/dist/discovery/OrganicKeyTranslator.js.map +1 -1
  52. package/dist/discovery/PKDetector.d.ts +9 -0
  53. package/dist/discovery/PKDetector.d.ts.map +1 -1
  54. package/dist/discovery/PKDetector.js +86 -8
  55. package/dist/discovery/PKDetector.js.map +1 -1
  56. package/dist/discovery/SemanticPhase.d.ts +25 -0
  57. package/dist/discovery/SemanticPhase.d.ts.map +1 -1
  58. package/dist/discovery/SemanticPhase.js +55 -11
  59. package/dist/discovery/SemanticPhase.js.map +1 -1
  60. package/dist/discovery/embedding-provider-default.d.ts +25 -0
  61. package/dist/discovery/embedding-provider-default.d.ts.map +1 -0
  62. package/dist/discovery/embedding-provider-default.js +47 -0
  63. package/dist/discovery/embedding-provider-default.js.map +1 -0
  64. package/dist/drivers/BaseAutoDocDriver.d.ts +63 -0
  65. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
  66. package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
  67. package/dist/drivers/MySQLDriver.d.ts +21 -1
  68. package/dist/drivers/MySQLDriver.d.ts.map +1 -1
  69. package/dist/drivers/MySQLDriver.js +64 -0
  70. package/dist/drivers/MySQLDriver.js.map +1 -1
  71. package/dist/drivers/PostgreSQLDriver.d.ts +34 -1
  72. package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
  73. package/dist/drivers/PostgreSQLDriver.js +91 -0
  74. package/dist/drivers/PostgreSQLDriver.js.map +1 -1
  75. package/dist/drivers/SQLServerDriver.d.ts +28 -1
  76. package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
  77. package/dist/drivers/SQLServerDriver.js +106 -0
  78. package/dist/drivers/SQLServerDriver.js.map +1 -1
  79. package/dist/drivers/probeErrors.d.ts +30 -0
  80. package/dist/drivers/probeErrors.d.ts.map +1 -0
  81. package/dist/drivers/probeErrors.js +94 -0
  82. package/dist/drivers/probeErrors.js.map +1 -0
  83. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +0 -18
  84. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
  85. package/dist/generators/AdditionalSchemaInfoGenerator.js +45 -4
  86. package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
  87. package/dist/prompts/PromptEngine.d.ts.map +1 -1
  88. package/dist/prompts/PromptEngine.js +10 -1
  89. package/dist/prompts/PromptEngine.js.map +1 -1
  90. package/dist/types/config.d.ts +82 -4
  91. package/dist/types/config.d.ts.map +1 -1
  92. package/dist/types/config.js.map +1 -1
  93. package/dist/types/discovery.d.ts +39 -0
  94. package/dist/types/discovery.d.ts.map +1 -1
  95. package/dist/types/state.d.ts +2 -0
  96. package/dist/types/state.d.ts.map +1 -1
  97. package/dist/utils/call-deadline.d.ts +43 -0
  98. package/dist/utils/call-deadline.d.ts.map +1 -0
  99. package/dist/utils/call-deadline.js +81 -0
  100. package/dist/utils/call-deadline.js.map +1 -0
  101. package/dist/utils/index-hints.d.ts +8 -1
  102. package/dist/utils/index-hints.d.ts.map +1 -1
  103. package/dist/utils/index-hints.js +15 -0
  104. package/dist/utils/index-hints.js.map +1 -1
  105. package/dist/utils/index.d.ts +1 -0
  106. package/dist/utils/index.d.ts.map +1 -1
  107. package/dist/utils/index.js +1 -0
  108. package/dist/utils/index.js.map +1 -1
  109. package/dist/utils/seed-context.d.ts +23 -0
  110. package/dist/utils/seed-context.d.ts.map +1 -0
  111. package/dist/utils/seed-context.js +38 -0
  112. package/dist/utils/seed-context.js.map +1 -0
  113. package/package.json +5 -5
  114. package/prompts/fk-pruning-holistic.md +7 -0
  115. package/prompts/fk-pruning-table.md +7 -0
  116. package/prompts/pk-pruning-holistic.md +7 -0
  117. package/prompts/pk-pruning-table.md +7 -0
@@ -45,16 +45,20 @@ import { DEFAULT_DETECTOR_CONFIG, } from '../types/organic-keys.js';
45
45
  import { TableNormalizer, } from './ColumnNormalizer.js';
46
46
  import { ColumnClusterer } from './ColumnClusterer.js';
47
47
  import { CreateEmbeddingProvider } from './EmbeddingProvider.js';
48
+ import { DefaultEmbeddingProviderFor } from './embedding-provider-default.js';
48
49
  const AUDIT_COLUMN_PATTERN = /^(modified|created|updated|inserted|changed)(date|at|time|by|on)?$|^rowguid$|^timestamp$|^row_?version$|^__mj_.*$/i;
49
50
  const NON_VALUEMATCHABLE_TYPES = /(binary|blob|image|varbinary|xml|geography|geometry|hierarchyid|sql_variant)/i;
50
51
  // ─── Prefilter cardinality cutoffs ───────────────────────────────────────────
51
52
  /**
52
- * A column with fewer than this many distinct values AND a uniqueness ratio below
53
- * {@link MIN_UNIQUENESS_RATIO} is treated as a low-cardinality categorical (boolean/enum),
54
- * not an identity-bearing column, and is dropped before clustering.
53
+ * Minimum distinct values for a column to be identity-bearing. Default 50.
54
+ *
55
+ * Raised from 10. At 10, a `payment_method_id` with 33 distinct values over 24,000
56
+ * rows is an identity-bearing key as far as the prefilter is concerned, and goes on
57
+ * to become an organic key whose related-record view value-joins a non-unique
58
+ * category column — an N×N join presented to the user as "related" rows. 50 is the
59
+ * floor an operator arrived at by post-filtering a real run's output.
55
60
  */
56
- const MIN_DISTINCT_FOR_KEY = 10;
57
- const MIN_UNIQUENESS_RATIO = 0.001;
61
+ const MIN_DISTINCT_FOR_KEY = 50;
58
62
  // ─── Embedding-input sample caps ─────────────────────────────────────────────
59
63
  /** At most this many sample values are appended to a column's embedding text. */
60
64
  const EMBED_SAMPLE_COUNT = 4;
@@ -84,15 +88,23 @@ export async function RunSemanticPhase(state, config, aiConfig, progress = () =>
84
88
  if (candidates.length < (config.minClusterSize ?? DEFAULT_DETECTOR_CONFIG.MinClusterSize)) {
85
89
  return emptyResult(candidates.length);
86
90
  }
91
+ // Resolve the embedding provider BEFORE the paid normalization calls. A vendor with no
92
+ // embedding driver, or a driver package that is not registered, is a configuration error the
93
+ // pass cannot get past, so it has to fail here rather than after every table was normalized.
94
+ const embedProvider = ResolveEmbeddingProvider(config, aiConfig);
87
95
  // ─── 2. Normalize to business space (LLM per-table) ──────────────────────
88
96
  progress('semantic: normalizing column descriptions to business space');
89
97
  const tableInputs = groupColumnsByTable(state, candidates);
90
98
  const normResult = await new TableNormalizer(aiConfig).normalizeAll(tableInputs, {
91
99
  Concurrency: config.refinementConcurrency ?? DEFAULT_DETECTOR_CONFIG.RefinementConcurrency,
92
100
  MaxRetries: config.maxRefinementRetries ?? 2,
101
+ TokenBudget: config.tokenBudget,
93
102
  OnProgress: () => { },
94
103
  });
95
104
  progress(`semantic: ${normResult.Normalized.length} columns kept (${normResult.rejected} rejected by PR-#2193 axes)`);
105
+ if (normResult.BudgetExhausted) {
106
+ progress(`semantic: PARTIAL — token budget reached, ${normResult.TablesSkippedForBudget} table(s) not normalized`);
107
+ }
96
108
  if (normResult.Normalized.length < (config.minClusterSize ?? DEFAULT_DETECTOR_CONFIG.MinClusterSize)) {
97
109
  return {
98
110
  clusters: [],
@@ -104,11 +116,11 @@ export async function RunSemanticPhase(state, config, aiConfig, progress = () =>
104
116
  clustersBeforeSplit: 0,
105
117
  clustersFound: 0,
106
118
  clustersDropped: 0,
119
+ tablesSkippedForBudget: normResult.TablesSkippedForBudget,
107
120
  },
108
121
  };
109
122
  }
110
123
  // ─── 3. Embed the normalized descriptions ────────────────────────────────
111
- const embedProvider = resolveEmbeddingProvider(config, aiConfig);
112
124
  progress(`semantic: embedding ${normResult.Normalized.length} descriptions via ${embedProvider.name}`);
113
125
  const texts = normResult.Normalized.map((n) => buildEmbeddingText(n));
114
126
  const embeddings = await embedProvider.embed(texts);
@@ -154,6 +166,7 @@ export async function RunSemanticPhase(state, config, aiConfig, progress = () =>
154
166
  clustersBeforeSplit: rawClusters.length,
155
167
  clustersFound: clusters.length,
156
168
  clustersDropped: dropped,
169
+ tablesSkippedForBudget: normResult.TablesSkippedForBudget,
157
170
  },
158
171
  };
159
172
  }
@@ -237,9 +250,28 @@ function prefilter(state, config) {
237
250
  continue;
238
251
  if (col.statistics) {
239
252
  const distinct = col.statistics.distinctCount ?? 0;
240
- const ratio = col.statistics.uniquenessRatio ?? 0;
241
- // Drop ultra-low-cardinality / near-boolean columns.
242
- if (distinct < MIN_DISTINCT_FOR_KEY && ratio < MIN_UNIQUENESS_RATIO)
253
+ // Drop low-cardinality / categorical columns.
254
+ //
255
+ // This was `distinct < MIN && ratio < MIN` — a conjunction, so a
256
+ // column had to fail BOTH tests to be dropped. Clearing either one
257
+ // was enough to be treated as identity-bearing, which is why the
258
+ // gate never removed anything it was written to remove:
259
+ //
260
+ // - a boolean on a 100-row table has distinct=2 (fails) but
261
+ // ratio=0.02 (passes), so the AND is false and it is KEPT;
262
+ // - a `payment_method_id` with 33 distinct over 24,000 rows has
263
+ // ratio=0.0014 (fails at the old floor) but distinct=33
264
+ // (passes at the old floor of 10), so it is KEPT.
265
+ //
266
+ // Both are categorical, and both have too few distinct values to identify
267
+ // anything, so the distinct floor alone drops them.
268
+ //
269
+ // The uniqueness ratio is not a gate. It is distinct over ALL rows, so it
270
+ // reads low for exactly the columns organic keys need as spokes: an
271
+ // attendance table with 40,000 members over 2.5M rows has a ratio of 0.016
272
+ // on its member_email column, which repeats because each member has many
273
+ // rows, not because it is a category.
274
+ if (distinct < MIN_DISTINCT_FOR_KEY)
243
275
  continue;
244
276
  }
245
277
  out.push({
@@ -393,9 +425,13 @@ function extractSampleValues(col, max) {
393
425
  function sensitivityToPercentile(s) {
394
426
  return SENSITIVITY_PERCENTILE[s] ?? SENSITIVITY_PERCENTILE.balanced;
395
427
  }
396
- function resolveEmbeddingProvider(config, aiConfig) {
428
+ /** Exported for test: the default this picks is the fix, so it needs to be assertable directly. */
429
+ export function ResolveEmbeddingProvider(config, aiConfig) {
397
430
  const cfg = config.embedding ?? {};
398
- const provider = (cfg.provider ?? 'openai');
431
+ // No configured provider means "use the vendor whose key we already have". Hardcoding openai
432
+ // here sent a Gemini key to OpenAIEmbedding under the SHIPPED DEFAULTS — see
433
+ // DefaultEmbeddingProviderFor.
434
+ const provider = (cfg.provider ?? DefaultEmbeddingProviderFor(aiConfig.provider));
399
435
  const apiKey = aiConfig.apiKey;
400
436
  const impl = CreateEmbeddingProvider({
401
437
  provider,
@@ -404,12 +440,19 @@ function resolveEmbeddingProvider(config, aiConfig) {
404
440
  Dimensions: cfg.dimensions,
405
441
  BatchSize: cfg.batchSize,
406
442
  Endpoint: cfg.endpoint,
443
+ CallTimeoutMs: aiConfig.callTimeoutMs,
407
444
  });
408
445
  return {
409
446
  name: `${provider}:${cfg.model ?? 'default'}`,
410
447
  embed: (texts) => impl.Embed(texts),
411
448
  };
412
449
  }
450
+ /**
451
+ * Re-export for tests / observability, matching the `TestHooks` convention in Composer.
452
+ * The selectivity gate is the cheapest and highest-volume filter in the pipeline and is
453
+ * worth pinning directly rather than through a run that needs an LLM and an embedder.
454
+ */
455
+ export const TestHooks = { prefilter, MIN_DISTINCT_FOR_KEY };
413
456
  function emptyResult(columnsInScope) {
414
457
  return {
415
458
  clusters: [],
@@ -421,6 +464,7 @@ function emptyResult(columnsInScope) {
421
464
  clustersBeforeSplit: 0,
422
465
  clustersFound: 0,
423
466
  clustersDropped: 0,
467
+ tablesSkippedForBudget: 0,
424
468
  },
425
469
  };
426
470
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SemanticPhase.js","sourceRoot":"","sources":["../../src/discovery/SemanticPhase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SemanticPhase.js","sourceRoot":"","sources":["../../src/discovery/SemanticPhase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Which embedding provider to use when the organic-key config does not name one.
3
+ *
4
+ * THE BUG THIS REPLACES. The default was the literal `'openai'`, while the default LLM provider is
5
+ * `gemini` and `SemanticPhase` passes the LLM's API key straight to the embedding driver. So the
6
+ * SHIPPED DEFAULT CONFIGURATION handed a Gemini key to `OpenAIEmbedding` — which fails with an
7
+ * authentication error from a provider the operator never configured, on a pass they did not know
8
+ * used embeddings at all.
9
+ *
10
+ * Defaulting to the embedding driver of the SAME vendor as the key is the only choice that can be
11
+ * right without asking: it is the one provider the operator has definitely authenticated with.
12
+ *
13
+ * Providers with no MJ embedding driver get a named error rather than a silent substitution. That
14
+ * is not a new failure — sending an Anthropic key to `OpenAIEmbedding` failed too, just opaquely,
15
+ * a layer further down and blamed on the wrong service.
16
+ */
17
+ import type { EmbeddingProviderName } from './EmbeddingProvider.js';
18
+ /**
19
+ * Resolves the embedding provider implied by the configured LLM provider.
20
+ *
21
+ * @throws when the LLM vendor ships no embedding driver — the operator must set
22
+ * `organicKeyDetection.embedding.provider` (and, for a different vendor, that vendor's key).
23
+ */
24
+ export declare function DefaultEmbeddingProviderFor(llmProvider: string): EmbeddingProviderName;
25
+ //# sourceMappingURL=embedding-provider-default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-provider-default.d.ts","sourceRoot":"","sources":["../../src/discovery/embedding-provider-default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAiBpE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,CAWtF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Which embedding provider to use when the organic-key config does not name one.
3
+ *
4
+ * THE BUG THIS REPLACES. The default was the literal `'openai'`, while the default LLM provider is
5
+ * `gemini` and `SemanticPhase` passes the LLM's API key straight to the embedding driver. So the
6
+ * SHIPPED DEFAULT CONFIGURATION handed a Gemini key to `OpenAIEmbedding` — which fails with an
7
+ * authentication error from a provider the operator never configured, on a pass they did not know
8
+ * used embeddings at all.
9
+ *
10
+ * Defaulting to the embedding driver of the SAME vendor as the key is the only choice that can be
11
+ * right without asking: it is the one provider the operator has definitely authenticated with.
12
+ *
13
+ * Providers with no MJ embedding driver get a named error rather than a silent substitution. That
14
+ * is not a new failure — sending an Anthropic key to `OpenAIEmbedding` failed too, just opaquely,
15
+ * a layer further down and blamed on the wrong service.
16
+ */
17
+ /**
18
+ * LLM provider → the embedding provider whose driver takes the same credential.
19
+ *
20
+ * Only vendors that ship BOTH an LLM and a `BaseEmbeddings` driver appear here. `local` is
21
+ * deliberately absent: it needs no key, so it is a deliberate choice an operator makes explicitly,
22
+ * never something inferred from which LLM they happen to use.
23
+ */
24
+ const LLM_PROVIDER_TO_EMBEDDING = {
25
+ gemini: 'gemini',
26
+ openai: 'openai',
27
+ mistral: 'mistral',
28
+ azure: 'azure',
29
+ bedrock: 'bedrock',
30
+ };
31
+ /**
32
+ * Resolves the embedding provider implied by the configured LLM provider.
33
+ *
34
+ * @throws when the LLM vendor ships no embedding driver — the operator must set
35
+ * `organicKeyDetection.embedding.provider` (and, for a different vendor, that vendor's key).
36
+ */
37
+ export function DefaultEmbeddingProviderFor(llmProvider) {
38
+ const mapped = LLM_PROVIDER_TO_EMBEDDING[String(llmProvider ?? '').trim().toLowerCase()];
39
+ if (mapped) {
40
+ return mapped;
41
+ }
42
+ const supported = Object.keys(LLM_PROVIDER_TO_EMBEDDING).join(', ');
43
+ throw new Error(`Organic-key detection needs an embedding provider, and '${llmProvider}' has no embedding driver. ` +
44
+ `Set organicKeyDetection.embedding.provider explicitly — 'local' needs no API key, and ` +
45
+ `${supported} reuse the key of the matching LLM vendor.`);
46
+ }
47
+ //# sourceMappingURL=embedding-provider-default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-provider-default.js","sourceRoot":"","sources":["../../src/discovery/embedding-provider-default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAmD;IAC9E,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC3D,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzF,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,IAAI,KAAK,CACX,2DAA2D,WAAW,6BAA6B;QAC/F,wFAAwF;QACxF,GAAG,SAAS,4CAA4C,CAC/D,CAAC;AACN,CAAC"}
@@ -3,6 +3,40 @@
3
3
  * Defines abstract interface for all database providers
4
4
  */
5
5
  import { AutoDocSchema, AutoDocTable, AutoDocColumn, AutoDocConnectionConfig, AutoDocQueryResult, AutoDocConnectionTestResult, AutoDocSchemaFilter, AutoDocTableFilter, AutoDocColumnStatistics, AutoDocExistingDescription, AutoDocIndex } from '../types/driver.js';
6
+ /**
7
+ * Outcome of a join-containment probe.
8
+ *
9
+ * A discriminated union on purpose: the success arm carries two counts and the
10
+ * failure arm carries a reason, so there is no representable value that lets a
11
+ * caller mistake "could not evaluate this join" for "this join matches nothing".
12
+ * Neither arm can carry a data value.
13
+ */
14
+ export type DriverProbeOutcome = {
15
+ Ok: true;
16
+ /** Distinct non-null child values sampled (at most the requested sampleSize). */
17
+ SampledValues: number;
18
+ /** How many of those exist in the parent column. */
19
+ MatchedValues: number;
20
+ } | {
21
+ Ok: false;
22
+ /** Human-readable cause, safe to persist — never contains a data value. */
23
+ Reason: string;
24
+ /** Provider error code where one is available (e.g. PostgreSQL SQLSTATE). */
25
+ Code?: string;
26
+ };
27
+ /**
28
+ * How a probe compares values: the same comparison the emitted key will use at match time.
29
+ *
30
+ * A subset of the organic-key normalization strategies. `Custom` is deliberately absent: its
31
+ * expression is model-written SQL, so a probe does not execute it, and a candidate that needs
32
+ * it is reported as Unprobed before it reaches a driver.
33
+ */
34
+ export type ProbeNormalization = 'ExactMatch' | 'Trim' | 'LowerCaseTrim';
35
+ /** The normalization applied to each side of a probe. Both default to `ExactMatch`. */
36
+ export interface ProbeNormalizationPair {
37
+ Child: ProbeNormalization;
38
+ Parent: ProbeNormalization;
39
+ }
6
40
  /**
7
41
  * Abstract base class for database drivers
8
42
  * All provider-specific implementations must extend this class
@@ -86,11 +120,40 @@ export declare abstract class BaseAutoDocDriver {
86
120
  /**
87
121
  * Test value overlap between two columns (for FK detection)
88
122
  * Returns percentage of source values that exist in target (0-1)
123
+ *
124
+ * NOTE: this returns a bare number and reports every failure as 0, which the
125
+ * caller's containment gate reads as a refutation. Prefer
126
+ * {@link ProbeJoinContainment}, whose result distinguishes "measured zero" from
127
+ * "could not measure".
89
128
  */
90
129
  abstract testValueOverlap(// case-violation-ok-legacy-back-compat: abstract member — there is nothing for a stub to delegate to
91
130
  sourceTable: string, // format: "schema.table"
92
131
  sourceColumn: string, targetTable: string, // format: "schema.table"
93
132
  targetColumn: string, sampleSize: number): Promise<number>;
133
+ /**
134
+ * Probe whether a candidate key's child values exist in the parent column.
135
+ *
136
+ * Returns COUNTS ONLY — the number of distinct non-null child values sampled and
137
+ * how many of those exist in the parent. Implementations must never return, log,
138
+ * or otherwise surface a data value: the entire contract is two integers.
139
+ *
140
+ * Unlike {@link testValueOverlap}, a failure is reported as `{ ok: false, reason }`
141
+ * rather than as zero overlap, so a caller can tell a join that matches nothing
142
+ * from a join it was unable to evaluate. Implementations must not throw.
143
+ *
144
+ * `normalization` is applied to each side before comparing, so a key whose runtime
145
+ * match lower-cases or trims its values is measured the same way. Omitted means
146
+ * `ExactMatch` on both sides.
147
+ */
148
+ abstract ProbeJoinContainment(child: {
149
+ Schema: string;
150
+ Table: string;
151
+ Column: string;
152
+ }, parent: {
153
+ Schema: string;
154
+ Table: string;
155
+ Column: string;
156
+ }, sampleSize: number, timeoutMs: number, normalization?: ProbeNormalizationPair): Promise<DriverProbeOutcome>;
94
157
  /**
95
158
  * Check if a combination of columns is unique (for composite PK detection)
96
159
  */
@@ -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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"}
@@ -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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"}
@@ -2,7 +2,7 @@
2
2
  * MySQL implementation of the BaseAutoDocDriver
3
3
  * Uses mysql2 driver for database connectivity
4
4
  */
5
- import { BaseAutoDocDriver } from './BaseAutoDocDriver.js';
5
+ import { BaseAutoDocDriver, DriverProbeOutcome, ProbeNormalizationPair } from './BaseAutoDocDriver.js';
6
6
  import { AutoDocSchema, AutoDocTable, AutoDocColumn, AutoDocConnectionConfig, AutoDocQueryResult, AutoDocConnectionTestResult, AutoDocSchemaFilter, AutoDocTableFilter, AutoDocColumnStatistics, AutoDocExistingDescription, AutoDocIndex } from '../types/driver.js';
7
7
  /**
8
8
  * MySQL driver implementation
@@ -53,6 +53,26 @@ export declare class MySQLDriver extends BaseAutoDocDriver {
53
53
  * Test value overlap between source and target columns
54
54
  */
55
55
  testValueOverlap(sourceTable: string, sourceColumn: string, targetTable: string, targetColumn: string, sampleSize: number): Promise<number>;
56
+ /**
57
+ * Probe whether a candidate key's child values exist in the parent column.
58
+ *
59
+ * Returns two integers and nothing else. Both sides are cast to `CHAR` so the
60
+ * comparison is consistent with the other two drivers rather than subject to
61
+ * MySQL's own coercion rules, and `MAX_EXECUTION_TIME` bounds the probe
62
+ * server-side. Each side is normalized as the key will be at match time (see
63
+ * {@link probeValueExpression}).
64
+ */
65
+ ProbeJoinContainment(child: {
66
+ Schema: string;
67
+ Table: string;
68
+ Column: string;
69
+ }, parent: {
70
+ Schema: string;
71
+ Table: string;
72
+ Column: string;
73
+ }, sampleSize: number, timeoutMs: number, normalization?: ProbeNormalizationPair): Promise<DriverProbeOutcome>;
74
+ /** A probe side's value as `CHAR`, with the key's match-time normalization applied. */
75
+ private probeValueExpression;
56
76
  /**
57
77
  * Check if combination of columns is unique
58
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MySQLDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAsB,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAG3H,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EAGb,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,qBACa,WAAY,SAAQ,iBAAiB;IAChD,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,WAAW,CAAoB;gBAE3B,MAAM,EAAE,uBAAuB;IA2B9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAcxB,IAAI,IAAI,OAAO,CAAC,2BAA2B,CAAC;IA+B5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,UAAU,CACrB,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC;cAwDX,SAAS,CACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;cAqCV,UAAU,CACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC;IAyD3B;;OAEG;IACU,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQvD,uBAAuB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAsD3B,mBAAmB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC;cA2CnB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;cAUF,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAmBvC,eAAe,CAC1B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,EAAE,CAAC;IAoBJ,YAAY,CAAC,CAAC,GAAG,GAAG,EAC/B,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAU,EACtB,MAAM,CAAC,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAyCjC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAItD,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQ/C,OAAO,CAAC,gBAAgB;YAoBV,cAAc;YAuCd,cAAc;YAqCd,mBAAmB;YAiDnB,eAAe;YAmCf,YAAY;YA6BZ,cAAc;IAgC5B,OAAO,CAAC,gBAAgB;IAmBxB;;OAEG;IACU,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IA+B7D;;OAEG;IACU,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;IAgDlB;;;;;;;;OAQG;IACU,oBAAoB,CAC/B,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACxD,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACzD,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,sBAAsE,GACpF,OAAO,CAAC,kBAAkB,CAAC;IA4C9B,uFAAuF;IACvF,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACU,gCAAgC,CAC3C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAyCnB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAS7B"}
@@ -14,6 +14,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
14
14
  import mysql from 'mysql2/promise';
15
15
  import { RegisterClass } from '@memberjunction/global';
16
16
  import { BaseAutoDocDriver } from './BaseAutoDocDriver.js';
17
+ import { DescribeProbeFailure, ExtractSqlState } from './probeErrors.js';
17
18
  import { MYSQL_INDEX_QUERY, MapMySQLIndexRows } from './IndexCatalog.js';
18
19
  /**
19
20
  * MySQL driver implementation
@@ -621,6 +622,69 @@ let MySQLDriver = class MySQLDriver extends BaseAutoDocDriver {
621
622
  return 0;
622
623
  }
623
624
  }
625
+ /**
626
+ * Probe whether a candidate key's child values exist in the parent column.
627
+ *
628
+ * Returns two integers and nothing else. Both sides are cast to `CHAR` so the
629
+ * comparison is consistent with the other two drivers rather than subject to
630
+ * MySQL's own coercion rules, and `MAX_EXECUTION_TIME` bounds the probe
631
+ * server-side. Each side is normalized as the key will be at match time (see
632
+ * {@link probeValueExpression}).
633
+ */
634
+ async ProbeJoinContainment(child, parent, sampleSize, timeoutMs, normalization = { Child: 'ExactMatch', Parent: 'ExactMatch' }) {
635
+ try {
636
+ if (!this.pool) {
637
+ await this.connect();
638
+ }
639
+ if (!this.pool) {
640
+ return { Ok: false, Reason: 'no MySQL connection pool available' };
641
+ }
642
+ const childCol = this.escapeIdentifier(child.Column);
643
+ const parentCol = this.escapeIdentifier(parent.Column);
644
+ const query = `
645
+ SELECT /*+ MAX_EXECUTION_TIME(${Math.max(1, Math.floor(timeoutMs))}) */
646
+ COUNT(*) AS sampled_values,
647
+ COUNT(p.v) AS matched_values
648
+ FROM (
649
+ SELECT DISTINCT ${this.probeValueExpression(childCol, normalization.Child)} AS v
650
+ FROM ${this.escapeIdentifier(child.Schema)}.${this.escapeIdentifier(child.Table)}
651
+ WHERE ${childCol} IS NOT NULL
652
+ LIMIT ${Math.max(1, Math.floor(sampleSize))}
653
+ ) c
654
+ LEFT JOIN (
655
+ SELECT DISTINCT ${this.probeValueExpression(parentCol, normalization.Parent)} AS v
656
+ FROM ${this.escapeIdentifier(parent.Schema)}.${this.escapeIdentifier(parent.Table)}
657
+ WHERE ${parentCol} IS NOT NULL
658
+ ) p ON c.v = p.v
659
+ `;
660
+ const [rows] = await this.pool.query(query);
661
+ const list = Array.isArray(rows) ? rows : [];
662
+ const row = list.length > 0 ? list[0] : undefined;
663
+ if (!row) {
664
+ return { Ok: false, Reason: 'probe returned no rows' };
665
+ }
666
+ return {
667
+ Ok: true,
668
+ SampledValues: Number(row.sampled_values),
669
+ MatchedValues: Number(row.matched_values)
670
+ };
671
+ }
672
+ catch (error) {
673
+ return { Ok: false, Reason: DescribeProbeFailure(error), Code: ExtractSqlState(error) };
674
+ }
675
+ }
676
+ /** A probe side's value as `CHAR`, with the key's match-time normalization applied. */
677
+ probeValueExpression(column, normalization) {
678
+ const asText = `CAST(${column} AS CHAR)`;
679
+ switch (normalization) {
680
+ case 'LowerCaseTrim':
681
+ return `LOWER(TRIM(${asText}))`;
682
+ case 'Trim':
683
+ return `TRIM(${asText})`;
684
+ case 'ExactMatch':
685
+ return asText;
686
+ }
687
+ }
624
688
  /**
625
689
  * Check if combination of columns is unique
626
690
  */