@memberjunction/db-auto-doc 6.2.0-edge.4 → 6.2.0-edge.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -0
- package/dist/api/DBAutoDocAPI.d.ts +2 -0
- package/dist/api/DBAutoDocAPI.d.ts.map +1 -1
- package/dist/api/DBAutoDocAPI.js +2 -1
- package/dist/api/DBAutoDocAPI.js.map +1 -1
- package/dist/commands/analyze.d.ts +1 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +6 -0
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/export.d.ts +28 -19
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +91 -12
- package/dist/commands/export.js.map +1 -1
- package/dist/core/AnalysisEngine.d.ts +39 -6
- package/dist/core/AnalysisEngine.d.ts.map +1 -1
- package/dist/core/AnalysisEngine.js +144 -50
- package/dist/core/AnalysisEngine.js.map +1 -1
- package/dist/core/AnalysisOrchestrator.d.ts +20 -1
- package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
- package/dist/core/AnalysisOrchestrator.js +144 -28
- package/dist/core/AnalysisOrchestrator.js.map +1 -1
- package/dist/core/PKProposalGate.d.ts +22 -0
- package/dist/core/PKProposalGate.d.ts.map +1 -0
- package/dist/core/PKProposalGate.js +52 -0
- package/dist/core/PKProposalGate.js.map +1 -0
- package/dist/database/Database.d.ts +8 -0
- package/dist/database/Database.d.ts.map +1 -1
- package/dist/database/Database.js +23 -1
- package/dist/database/Database.js.map +1 -1
- package/dist/discovery/ColumnNormalizer.d.ts +31 -0
- package/dist/discovery/ColumnNormalizer.d.ts.map +1 -1
- package/dist/discovery/ColumnNormalizer.js +68 -2
- package/dist/discovery/ColumnNormalizer.js.map +1 -1
- package/dist/discovery/Composer.d.ts +33 -2
- package/dist/discovery/Composer.d.ts.map +1 -1
- package/dist/discovery/Composer.js +126 -5
- package/dist/discovery/Composer.js.map +1 -1
- package/dist/discovery/DiscoveryEngine.d.ts +3 -0
- package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/DiscoveryEngine.js +1 -1
- package/dist/discovery/DiscoveryEngine.js.map +1 -1
- package/dist/discovery/EmbeddingProvider.d.ts +6 -1
- package/dist/discovery/EmbeddingProvider.d.ts.map +1 -1
- package/dist/discovery/EmbeddingProvider.js +11 -1
- package/dist/discovery/EmbeddingProvider.js.map +1 -1
- package/dist/discovery/EnumCandidateGate.d.ts +19 -0
- package/dist/discovery/EnumCandidateGate.d.ts.map +1 -1
- package/dist/discovery/EnumCandidateGate.js +47 -5
- package/dist/discovery/EnumCandidateGate.js.map +1 -1
- package/dist/discovery/FKGraphWalker.d.ts +35 -0
- package/dist/discovery/FKGraphWalker.d.ts.map +1 -1
- package/dist/discovery/FKGraphWalker.js +113 -12
- package/dist/discovery/FKGraphWalker.js.map +1 -1
- package/dist/discovery/IndexKeyEvidence.d.ts +36 -0
- package/dist/discovery/IndexKeyEvidence.d.ts.map +1 -0
- package/dist/discovery/IndexKeyEvidence.js +42 -0
- package/dist/discovery/IndexKeyEvidence.js.map +1 -0
- package/dist/discovery/JoinProbe.d.ts +148 -0
- package/dist/discovery/JoinProbe.d.ts.map +1 -0
- package/dist/discovery/JoinProbe.js +233 -0
- package/dist/discovery/JoinProbe.js.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts +10 -1
- package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
- package/dist/discovery/LLMDiscoveryValidator.js +44 -12
- package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
- package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
- package/dist/discovery/LLMSanityChecker.js +10 -1
- package/dist/discovery/LLMSanityChecker.js.map +1 -1
- package/dist/discovery/OrganicKeyDetector.d.ts +29 -1
- package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -1
- package/dist/discovery/OrganicKeyDetector.js +34 -5
- package/dist/discovery/OrganicKeyDetector.js.map +1 -1
- package/dist/discovery/OrganicKeyTranslator.d.ts +24 -5
- package/dist/discovery/OrganicKeyTranslator.d.ts.map +1 -1
- package/dist/discovery/OrganicKeyTranslator.js +32 -14
- package/dist/discovery/OrganicKeyTranslator.js.map +1 -1
- package/dist/discovery/PKDetector.d.ts +9 -0
- package/dist/discovery/PKDetector.d.ts.map +1 -1
- package/dist/discovery/PKDetector.js +86 -8
- package/dist/discovery/PKDetector.js.map +1 -1
- package/dist/discovery/SemanticPhase.d.ts +25 -0
- package/dist/discovery/SemanticPhase.d.ts.map +1 -1
- package/dist/discovery/SemanticPhase.js +55 -11
- package/dist/discovery/SemanticPhase.js.map +1 -1
- package/dist/discovery/StructuralPhase.d.ts +27 -5
- package/dist/discovery/StructuralPhase.d.ts.map +1 -1
- package/dist/discovery/StructuralPhase.js +42 -9
- package/dist/discovery/StructuralPhase.js.map +1 -1
- package/dist/discovery/TransitiveBridgeDetector.d.ts +5 -1
- package/dist/discovery/TransitiveBridgeDetector.d.ts.map +1 -1
- package/dist/discovery/TransitiveBridgeDetector.js +25 -3
- package/dist/discovery/TransitiveBridgeDetector.js.map +1 -1
- package/dist/discovery/embedding-provider-default.d.ts +25 -0
- package/dist/discovery/embedding-provider-default.d.ts.map +1 -0
- package/dist/discovery/embedding-provider-default.js +47 -0
- package/dist/discovery/embedding-provider-default.js.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts +63 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
- package/dist/drivers/BaseAutoDocDriver.js +3 -5
- package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
- package/dist/drivers/MySQLDriver.d.ts +21 -1
- package/dist/drivers/MySQLDriver.d.ts.map +1 -1
- package/dist/drivers/MySQLDriver.js +64 -0
- package/dist/drivers/MySQLDriver.js.map +1 -1
- package/dist/drivers/PostgreSQLDriver.d.ts +43 -2
- package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
- package/dist/drivers/PostgreSQLDriver.js +132 -19
- package/dist/drivers/PostgreSQLDriver.js.map +1 -1
- package/dist/drivers/SQLServerDriver.d.ts +28 -1
- package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
- package/dist/drivers/SQLServerDriver.js +108 -1
- package/dist/drivers/SQLServerDriver.js.map +1 -1
- package/dist/drivers/probeErrors.d.ts +30 -0
- package/dist/drivers/probeErrors.d.ts.map +1 -0
- package/dist/drivers/probeErrors.js +94 -0
- package/dist/drivers/probeErrors.js.map +1 -0
- package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +34 -18
- package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
- package/dist/generators/AdditionalSchemaInfoGenerator.js +130 -8
- package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
- package/dist/generators/ErdClusterGenerator.d.ts +44 -0
- package/dist/generators/ErdClusterGenerator.d.ts.map +1 -0
- package/dist/generators/ErdClusterGenerator.js +216 -0
- package/dist/generators/ErdClusterGenerator.js.map +1 -0
- package/dist/generators/ErdClusterer.d.ts +130 -0
- package/dist/generators/ErdClusterer.d.ts.map +1 -0
- package/dist/generators/ErdClusterer.js +308 -0
- package/dist/generators/ErdClusterer.js.map +1 -0
- package/dist/generators/HTMLGenerator.d.ts +6 -0
- package/dist/generators/HTMLGenerator.d.ts.map +1 -1
- package/dist/generators/HTMLGenerator.js +41 -6
- package/dist/generators/HTMLGenerator.js.map +1 -1
- package/dist/generators/MermaidGenerator.d.ts +3 -0
- package/dist/generators/MermaidGenerator.d.ts.map +1 -1
- package/dist/generators/MermaidGenerator.js +4 -0
- package/dist/generators/MermaidGenerator.js.map +1 -1
- package/dist/generators/index.d.ts +2 -0
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +2 -0
- package/dist/generators/index.js.map +1 -1
- package/dist/prompts/PromptEngine.d.ts.map +1 -1
- package/dist/prompts/PromptEngine.js +10 -1
- package/dist/prompts/PromptEngine.js.map +1 -1
- package/dist/types/analysis.d.ts +2 -0
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/config.d.ts +128 -4
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +7 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/discovery.d.ts +41 -0
- package/dist/types/discovery.d.ts.map +1 -1
- package/dist/types/state.d.ts +29 -0
- package/dist/types/state.d.ts.map +1 -1
- package/dist/utils/call-deadline.d.ts +43 -0
- package/dist/utils/call-deadline.d.ts.map +1 -0
- package/dist/utils/call-deadline.js +81 -0
- package/dist/utils/call-deadline.js.map +1 -0
- package/dist/utils/config-loader.d.ts +5 -0
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +37 -0
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/index-hints.d.ts +43 -0
- package/dist/utils/index-hints.d.ts.map +1 -0
- package/dist/utils/index-hints.js +80 -0
- package/dist/utils/index-hints.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/llm-factory.d.ts +1 -0
- package/dist/utils/llm-factory.d.ts.map +1 -1
- package/dist/utils/llm-factory.js +6 -1
- package/dist/utils/llm-factory.js.map +1 -1
- package/dist/utils/seed-context.d.ts +23 -0
- package/dist/utils/seed-context.d.ts.map +1 -0
- package/dist/utils/seed-context.js +38 -0
- package/dist/utils/seed-context.js.map +1 -0
- package/package.json +5 -5
- package/prompts/fk-pruning-holistic.md +7 -0
- package/prompts/fk-pruning-table.md +20 -1
- package/prompts/pk-pruning-holistic.md +7 -0
- package/prompts/pk-pruning-table.md +17 -0
- package/prompts/table-analysis.md +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransitiveBridgeDetector.js","sourceRoot":"","sources":["../../src/discovery/TransitiveBridgeDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"TransitiveBridgeDetector.js","sourceRoot":"","sources":["../../src/discovery/TransitiveBridgeDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,eAAe,EAAgC,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAA2C,MAAM,6BAA6B,CAAC;AAC1G,OAAO,EAAqB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAyC5E,MAAM,QAAQ,GAAkF;IAC5F,OAAO,EAAE,CAAC;IACV,mBAAmB,EAAE,GAAG;IACxB,iBAAiB,EAAE,GAAG;IACtB,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,WAAW;CACxB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACnC,kBAAuC,EACvC,KAAe,EACf,KAA4B,EAC5B,OAAwC,EAAE;IAE1C,8FAA8F;IAC9F,uEAAuE;IACvE,MAAM,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEjF,2EAA2E;IAC3E,iFAAiF;IACjF,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,0CAA0C;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/D,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,OAAO,CAAC,OAAO;aAC3B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,MAAM,SAAS,GAA6C,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,EAAE;gBAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAA+D,EAAE,CAAC;IACrF,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE;QAC1D,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;QAC1C,WAAW,EAAE,IAAI;QACjB,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;KAC7B,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;IAE5B,yFAAyF;IACzF,0FAA0F;IAC1F,wFAAwF;IACxF,2BAA2B;IAC3B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,iBAAiB;YAAE,SAAS;QACxD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,SAAS,CAAC,mCAAmC;QAE3D,mFAAmF;QACnF,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzE,QAAQ,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,YAAY,EAAE,QAAQ,CAAC,SAAS;YAChC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,OAAO;YACvB,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,QAAQ,CAAC,OAAO;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjB,SAAS;YACb,CAAC;YACD,IAAI,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACpD,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC1F,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,uBAAuB,CACnC,kBAAuC,EACvC,KAAe,EACf,KAA4B,EAC5B,OAAwC,EAAE;IAE1C,OAAO,uBAAuB,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAwD;IAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA4B;IAChE,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,wEAAwE;IACxE,yEAAyE;IACzE,SAAS;IACT,EAAE;IACF,uEAAuE;IACvE,6EAA6E;IAC7E,2EAA2E;IAC3E,iDAAiD;IACjD,sEAAsE;IACtE,4EAA4E;IAC5E,sBAAsB;IACtB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,GAA0B,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YAC1D,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC;oBACL,YAAY,EAAE,MAAM,CAAC,IAAI;oBACzB,WAAW,EAAE,KAAK,CAAC,IAAI;oBACvB,YAAY,EAAE,CAAC,CAAC,MAAM;oBACtB,YAAY,EAAE,CAAC,CAAC,MAAM;oBACtB,WAAW,EAAE,CAAC,CAAC,KAAK;oBACpB,YAAY,EAAE,CAAC,CAAC,gBAAgB;oBAChC,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,CAAC;iBAChB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAEvB,wCAAwC;IACxC,MAAM,OAAO,GACR,KAAsH;SAClH,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,IAAI,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,IACI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;YAChC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;YACjC,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;YAClC,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;YAClC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;YACjC,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;YAClC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAClC,CAAC;YACC,GAAG,CAAC,IAAI,CAAC;gBACL,YAAY,EAAE,CAAC,CAAC,UAAU;gBAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,GAAG,EAAE,qBAAqB;aACxD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAEhC,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,2EAA2E;IAC3E,kCAAkC;IAClC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAW,EAAE,CACxD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,CACxH,CAAC;AACN,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,uBAAuB,CAAC,KAA4B;IAChE,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,KAAe;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACvH,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChB,SAAS;QACb,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACvC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACrD,IAAI,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,8BAAsB,iBAAiB;IACzB,SAAS,CAAC,MAAM,EAAE,uBAAuB;gBAA/B,MAAM,EAAE,uBAAuB;IAMrD;;OAEG;aACa,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAExC;;OAEG;aACa,IAAI,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAE5D;;OAEG;aACa,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;aACa,UAAU,CAAG,qGAAqG;IAChI,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC;IAE3B;;;OAGG;aACa,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEvE;;;OAGG;aACa,uBAAuB,CAAG,qGAAqG;IAC7I,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAMxC;;OAEG;aACa,mBAAmB,CAAG,qGAAqG;IACzI,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;IAEnC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CACrC,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;IAEpD;;OAEG;aACa,eAAe,CAAG,qGAAqG;IACrI,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,EAAE,CAAC;IAMjB;;;OAGG;IACU,+BAA+B,CAC1C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,GAAE,MAAa,GAC3B,OAAO,CAAC,OAAO,uBAAuB,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseAutoDocDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/BaseAutoDocDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,14 +20,12 @@ export class BaseAutoDocDriver {
|
|
|
20
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
|
-
// Calculate total rows from null percentage if available
|
|
24
|
-
const totalRows = stats.nullCount > 0 && stats.nullPercentage > 0
|
|
25
|
-
? Math.round(stats.nullCount / stats.nullPercentage)
|
|
26
|
-
: stats.nullCount + stats.distinctCount; // Estimate
|
|
27
23
|
return {
|
|
28
24
|
columnName,
|
|
29
25
|
dataType: columnType,
|
|
30
|
-
totalRows
|
|
26
|
+
// The drivers fill totalRows from a full-table COUNT(*). Never estimate it from distinct and
|
|
27
|
+
// null counts: that equals distinctCount for a non-null column, so duplicates would look unique.
|
|
28
|
+
totalRows: stats.totalRows,
|
|
31
29
|
nullCount: stats.nullCount,
|
|
32
30
|
distinctCount: stats.distinctCount,
|
|
33
31
|
minValue: stats.min,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAutoDocDriver.js","sourceRoot":"","sources":["../../src/drivers/BaseAutoDocDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
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":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"MySQLDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* PostgreSQL implementation of the BaseAutoDocDriver
|
|
3
3
|
* Uses pg 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
|
* PostgreSQL driver implementation
|
|
@@ -54,9 +54,50 @@ export declare class PostgreSQLDriver extends BaseAutoDocDriver {
|
|
|
54
54
|
nullable: boolean;
|
|
55
55
|
}>;
|
|
56
56
|
/**
|
|
57
|
-
* Test value overlap between source and target columns
|
|
57
|
+
* Test value overlap between source and target columns.
|
|
58
|
+
*
|
|
59
|
+
* The sample is a plain `DISTINCT … LIMIT`, like the SQL Server driver's `DISTINCT TOP n`.
|
|
60
|
+
* `ORDER BY RANDOM()` on a `SELECT DISTINCT` is not valid PostgreSQL (the sort expression is not
|
|
61
|
+
* in the select list), and randomising in an outer query would sort every distinct value before
|
|
62
|
+
* the LIMIT applies, once per FK candidate. The sample is biased by physical order, which is
|
|
63
|
+
* acceptable for a containment question: do these values exist in the parent at all.
|
|
64
|
+
* Both sides are compared as text so a key stored as text can be checked against a uuid (or other
|
|
65
|
+
* typed) column, which `text = uuid` would otherwise refuse.
|
|
58
66
|
*/
|
|
59
67
|
testValueOverlap(sourceTable: string, sourceColumn: string, targetTable: string, targetColumn: string, sampleSize: number): Promise<number>;
|
|
68
|
+
/**
|
|
69
|
+
* Probe whether a candidate key's child values exist in the parent column.
|
|
70
|
+
*
|
|
71
|
+
* Returns two integers and nothing else. Three PostgreSQL specifics:
|
|
72
|
+
*
|
|
73
|
+
* - **Compared as text.** `child = parent` raises `42883 operator does not
|
|
74
|
+
* exist: text = uuid` for the single most common soft-key shape — a connector
|
|
75
|
+
* storing another system's uuid in a varchar column. `testValueOverlap`
|
|
76
|
+
* swallows that as 0% overlap, so the strongest real cross-schema key in a
|
|
77
|
+
* tenant is reported as a refutation. Casting both sides to text makes the
|
|
78
|
+
* comparison possible, which is what lets that key be *found*. It does not
|
|
79
|
+
* weaken refutation: a product-namespaced `'AA:1000000'` still does not equal
|
|
80
|
+
* a bare `'1000000'`.
|
|
81
|
+
* - **No `ORDER BY RANDOM()`** — see {@link testValueOverlap}.
|
|
82
|
+
* - **`statement_timeout`** is set on a dedicated client and reset in `finally`,
|
|
83
|
+
* so a slow probe is abandoned server-side instead of stalling the run, and
|
|
84
|
+
* the setting never leaks back into the pool.
|
|
85
|
+
*
|
|
86
|
+
* Each side is normalized as the key will be at match time (see {@link probeValueExpression}).
|
|
87
|
+
* PostgreSQL compares text case-sensitively, so without this an email key normalized with
|
|
88
|
+
* `LowerCaseTrim` measures 0% whenever one side stores mixed case.
|
|
89
|
+
*/
|
|
90
|
+
ProbeJoinContainment(child: {
|
|
91
|
+
Schema: string;
|
|
92
|
+
Table: string;
|
|
93
|
+
Column: string;
|
|
94
|
+
}, parent: {
|
|
95
|
+
Schema: string;
|
|
96
|
+
Table: string;
|
|
97
|
+
Column: string;
|
|
98
|
+
}, sampleSize: number, timeoutMs: number, normalization?: ProbeNormalizationPair): Promise<DriverProbeOutcome>;
|
|
99
|
+
/** A probe side's value as text, with the key's match-time normalization applied. */
|
|
100
|
+
private probeValueExpression;
|
|
60
101
|
/**
|
|
61
102
|
* Check if combination of columns is unique
|
|
62
103
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgreSQLDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgreSQLDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"PostgreSQLDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgreSQLDriver.ts"],"names":[],"mappings":"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"}
|