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

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 (92) hide show
  1. package/README.md +105 -3
  2. package/dist/commands/export.d.ts +8 -0
  3. package/dist/commands/export.d.ts.map +1 -1
  4. package/dist/commands/export.js +53 -2
  5. package/dist/commands/export.js.map +1 -1
  6. package/dist/commands/init.js +1 -1
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/core/AnalysisOrchestrator.d.ts +5 -0
  9. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  10. package/dist/core/AnalysisOrchestrator.js +32 -0
  11. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  12. package/dist/drivers/BaseAutoDocDriver.d.ts +6 -1
  13. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
  14. package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
  15. package/dist/drivers/IndexCatalog.d.ts +54 -0
  16. package/dist/drivers/IndexCatalog.d.ts.map +1 -0
  17. package/dist/drivers/IndexCatalog.js +145 -0
  18. package/dist/drivers/IndexCatalog.js.map +1 -0
  19. package/dist/drivers/MySQLDriver.d.ts +5 -1
  20. package/dist/drivers/MySQLDriver.d.ts.map +1 -1
  21. package/dist/drivers/MySQLDriver.js +15 -6
  22. package/dist/drivers/MySQLDriver.js.map +1 -1
  23. package/dist/drivers/PostgreSQLDriver.d.ts +5 -1
  24. package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
  25. package/dist/drivers/PostgreSQLDriver.js +11 -0
  26. package/dist/drivers/PostgreSQLDriver.js.map +1 -1
  27. package/dist/drivers/SQLServerDriver.d.ts +5 -1
  28. package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
  29. package/dist/drivers/SQLServerDriver.js +11 -0
  30. package/dist/drivers/SQLServerDriver.js.map +1 -1
  31. package/dist/index.d.ts +1 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/plugins/BaseAutoDocPlugin.d.ts +33 -0
  36. package/dist/plugins/BaseAutoDocPlugin.d.ts.map +1 -0
  37. package/dist/plugins/BaseAutoDocPlugin.js +70 -0
  38. package/dist/plugins/BaseAutoDocPlugin.js.map +1 -0
  39. package/dist/plugins/PluginManager.d.ts +54 -0
  40. package/dist/plugins/PluginManager.d.ts.map +1 -0
  41. package/dist/plugins/PluginManager.js +115 -0
  42. package/dist/plugins/PluginManager.js.map +1 -0
  43. package/dist/plugins/builtins.d.ts +13 -0
  44. package/dist/plugins/builtins.d.ts.map +1 -0
  45. package/dist/plugins/builtins.js +12 -0
  46. package/dist/plugins/builtins.js.map +1 -0
  47. package/dist/plugins/index-advisor/IndexAdvisorPlugin.d.ts +25 -0
  48. package/dist/plugins/index-advisor/IndexAdvisorPlugin.d.ts.map +1 -0
  49. package/dist/plugins/index-advisor/IndexAdvisorPlugin.js +128 -0
  50. package/dist/plugins/index-advisor/IndexAdvisorPlugin.js.map +1 -0
  51. package/dist/plugins/index-advisor/IndexAdvisorTypes.d.ts +111 -0
  52. package/dist/plugins/index-advisor/IndexAdvisorTypes.d.ts.map +1 -0
  53. package/dist/plugins/index-advisor/IndexAdvisorTypes.js +5 -0
  54. package/dist/plugins/index-advisor/IndexAdvisorTypes.js.map +1 -0
  55. package/dist/plugins/index-advisor/IndexLLMReview.d.ts +48 -0
  56. package/dist/plugins/index-advisor/IndexLLMReview.d.ts.map +1 -0
  57. package/dist/plugins/index-advisor/IndexLLMReview.js +181 -0
  58. package/dist/plugins/index-advisor/IndexLLMReview.js.map +1 -0
  59. package/dist/plugins/index-advisor/IndexMigrationGenerator.d.ts +28 -0
  60. package/dist/plugins/index-advisor/IndexMigrationGenerator.d.ts.map +1 -0
  61. package/dist/plugins/index-advisor/IndexMigrationGenerator.js +98 -0
  62. package/dist/plugins/index-advisor/IndexMigrationGenerator.js.map +1 -0
  63. package/dist/plugins/index-advisor/IndexRules.d.ts +19 -0
  64. package/dist/plugins/index-advisor/IndexRules.d.ts.map +1 -0
  65. package/dist/plugins/index-advisor/IndexRules.js +154 -0
  66. package/dist/plugins/index-advisor/IndexRules.js.map +1 -0
  67. package/dist/plugins/index.d.ts +13 -0
  68. package/dist/plugins/index.d.ts.map +1 -0
  69. package/dist/plugins/index.js +13 -0
  70. package/dist/plugins/index.js.map +1 -0
  71. package/dist/plugins/types.d.ts +82 -0
  72. package/dist/plugins/types.d.ts.map +1 -0
  73. package/dist/plugins/types.js +9 -0
  74. package/dist/plugins/types.js.map +1 -0
  75. package/dist/types/config.d.ts +6 -0
  76. package/dist/types/config.d.ts.map +1 -1
  77. package/dist/types/config.js +0 -3
  78. package/dist/types/config.js.map +1 -1
  79. package/dist/types/driver.d.ts +30 -0
  80. package/dist/types/driver.d.ts.map +1 -1
  81. package/dist/types/driver.js +5 -1
  82. package/dist/types/driver.js.map +1 -1
  83. package/dist/types/index.d.ts +1 -0
  84. package/dist/types/index.d.ts.map +1 -1
  85. package/dist/types/index.js +1 -0
  86. package/dist/types/index.js.map +1 -1
  87. package/dist/types/state.d.ts +9 -0
  88. package/dist/types/state.d.ts.map +1 -1
  89. package/dist/utils/config-loader.js +1 -1
  90. package/dist/utils/config-loader.js.map +1 -1
  91. package/package.json +5 -5
  92. package/prompts/index-review.md +60 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerDriver.js","sourceRoot":"","sources":["../../src/drivers/SQLServerDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLServerDriver.js","sourceRoot":"","sources":["../../src/drivers/SQLServerDriver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,4 +11,5 @@ export * from './core/index.js';
11
11
  export * from './core/AnalysisOrchestrator.js';
12
12
  export * from './generators/index.js';
13
13
  export * from './utils/index.js';
14
+ export * from './plugins/index.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -19,4 +19,6 @@ export * from './core/AnalysisOrchestrator.js';
19
19
  export * from './generators/index.js';
20
20
  // Utilities
21
21
  export * from './utils/index.js';
22
+ // Plugin system
23
+ export * from './plugins/index.js';
22
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2DAA2D;AAC3D,cAAc,gBAAgB,CAAC;AAE/B,aAAa;AACb,cAAc,kBAAkB,CAAC;AAEjC,iBAAiB;AACjB,cAAc,qBAAqB,CAAC;AAEpC,UAAU;AACV,cAAc,oBAAoB,CAAC;AAEnC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAE/C,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,YAAY;AACZ,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2DAA2D;AAC3D,cAAc,gBAAgB,CAAC;AAE/B,aAAa;AACb,cAAc,kBAAkB,CAAC;AAEjC,iBAAiB;AACjB,cAAc,qBAAqB,CAAC;AAEpC,UAAU;AACV,cAAc,oBAAoB,CAAC;AAEnC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AAEjC,kBAAkB;AAClB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAE/C,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,YAAY;AACZ,cAAc,kBAAkB,CAAC;AAEjC,gBAAgB;AAChB,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Base class for DBAutoDoc plugins.
3
+ *
4
+ * Subclass it, register it with `@RegisterClass(BaseAutoDocPlugin, '<Name>')`, and override
5
+ * only the hooks you need. Every hook is optional and defaults to a no-op. A hook that throws
6
+ * is recorded in the state file and does not stop the analysis run.
7
+ */
8
+ import type { AutoDocExporter, AutoDocPluginContext, AutoDocPluginStateSection } from './types.js';
9
+ export declare abstract class BaseAutoDocPlugin {
10
+ /** Runs after the state is loaded, before connecting to the database. */
11
+ OnPreRun(_context: AutoDocPluginContext): Promise<void>;
12
+ /** Runs after schema introspection and data sampling. */
13
+ OnAfterIntrospection(_context: AutoDocPluginContext): Promise<void>;
14
+ /** Runs after primary/foreign key discovery. */
15
+ OnAfterDiscovery(_context: AutoDocPluginContext): Promise<void>;
16
+ /** Runs after the LLM description loop. */
17
+ OnAfterDescriptions(_context: AutoDocPluginContext): Promise<void>;
18
+ /** Runs after key pruning (also runs when pruning is not configured). */
19
+ OnAfterPruning(_context: AutoDocPluginContext): Promise<void>;
20
+ /** Runs last, while the database connection is still open. */
21
+ OnPostRun(_context: AutoDocPluginContext): Promise<void>;
22
+ /** Export formats this plugin contributes to `db-auto-doc export --format`. */
23
+ GetExporters(): AutoDocExporter[];
24
+ /** Dispatches a hook name to the matching method. */
25
+ RunHook(context: AutoDocPluginContext): Promise<void>;
26
+ /** Reads this plugin's persisted data from the state file, if any. */
27
+ protected GetData<T extends object>(context: AutoDocPluginContext, pluginName: string): T | undefined;
28
+ /** Writes this plugin's data into its own section of the state file. */
29
+ protected SetData<T extends object>(context: AutoDocPluginContext, pluginName: string, data: T): void;
30
+ /** Returns the plugin's state section, creating it when missing. */
31
+ static EnsureSection(context: Pick<AutoDocPluginContext, 'State'>, pluginName: string): AutoDocPluginStateSection;
32
+ }
33
+ //# sourceMappingURL=BaseAutoDocPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAutoDocPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/BaseAutoDocPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EAEpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAGpB,8BACsB,iBAAiB;IACrC,yEAAyE;IAC5D,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE,yDAAyD;IAC5C,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhF,gDAAgD;IACnC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5E,2CAA2C;IAC9B,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/E,yEAAyE;IAC5D,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,8DAA8D;IACjD,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAErE,+EAA+E;IACxE,YAAY,IAAI,eAAe,EAAE;IAIxC,qDAAqD;IACxC,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,sEAAsE;IACtE,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIrG,wEAAwE;IACxE,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAKrG,oEAAoE;WACtD,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,yBAAyB;CASzH"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Base class for DBAutoDoc plugins.
3
+ *
4
+ * Subclass it, register it with `@RegisterClass(BaseAutoDocPlugin, '<Name>')`, and override
5
+ * only the hooks you need. Every hook is optional and defaults to a no-op. A hook that throws
6
+ * is recorded in the state file and does not stop the analysis run.
7
+ */
8
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var BaseAutoDocPlugin_1;
15
+ import { RequiresSubclass } from '@memberjunction/global';
16
+ // Never hand back a hollow base instance for an unknown plugin name.
17
+ let BaseAutoDocPlugin = BaseAutoDocPlugin_1 = class BaseAutoDocPlugin {
18
+ /** Runs after the state is loaded, before connecting to the database. */
19
+ async OnPreRun(_context) { }
20
+ /** Runs after schema introspection and data sampling. */
21
+ async OnAfterIntrospection(_context) { }
22
+ /** Runs after primary/foreign key discovery. */
23
+ async OnAfterDiscovery(_context) { }
24
+ /** Runs after the LLM description loop. */
25
+ async OnAfterDescriptions(_context) { }
26
+ /** Runs after key pruning (also runs when pruning is not configured). */
27
+ async OnAfterPruning(_context) { }
28
+ /** Runs last, while the database connection is still open. */
29
+ async OnPostRun(_context) { }
30
+ /** Export formats this plugin contributes to `db-auto-doc export --format`. */
31
+ GetExporters() {
32
+ return [];
33
+ }
34
+ /** Dispatches a hook name to the matching method. */
35
+ async RunHook(context) {
36
+ const handlers = {
37
+ PreRun: (c) => this.OnPreRun(c),
38
+ AfterIntrospection: (c) => this.OnAfterIntrospection(c),
39
+ AfterDiscovery: (c) => this.OnAfterDiscovery(c),
40
+ AfterDescriptions: (c) => this.OnAfterDescriptions(c),
41
+ AfterPruning: (c) => this.OnAfterPruning(c),
42
+ PostRun: (c) => this.OnPostRun(c)
43
+ };
44
+ await handlers[context.Hook](context);
45
+ }
46
+ /** Reads this plugin's persisted data from the state file, if any. */
47
+ GetData(context, pluginName) {
48
+ return context.State.plugins?.[pluginName]?.Data;
49
+ }
50
+ /** Writes this plugin's data into its own section of the state file. */
51
+ SetData(context, pluginName, data) {
52
+ const section = BaseAutoDocPlugin_1.EnsureSection(context, pluginName);
53
+ section.Data = data;
54
+ }
55
+ /** Returns the plugin's state section, creating it when missing. */
56
+ static EnsureSection(context, pluginName) {
57
+ if (!context.State.plugins) {
58
+ context.State.plugins = {};
59
+ }
60
+ if (!context.State.plugins[pluginName]) {
61
+ context.State.plugins[pluginName] = { Runs: [] };
62
+ }
63
+ return context.State.plugins[pluginName];
64
+ }
65
+ };
66
+ BaseAutoDocPlugin = BaseAutoDocPlugin_1 = __decorate([
67
+ RequiresSubclass()
68
+ ], BaseAutoDocPlugin);
69
+ export { BaseAutoDocPlugin };
70
+ //# sourceMappingURL=BaseAutoDocPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAutoDocPlugin.js","sourceRoot":"","sources":["../../src/plugins/BaseAutoDocPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;;;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,qEAAqE;AAE9D,IAAe,iBAAiB,yBAAhC,MAAe,iBAAiB;IACrC,yEAAyE;IAClE,KAAK,CAAC,QAAQ,CAAC,QAA8B,IAAkB,CAAC;IAEvE,yDAAyD;IAClD,KAAK,CAAC,oBAAoB,CAAC,QAA8B,IAAkB,CAAC;IAEnF,gDAAgD;IACzC,KAAK,CAAC,gBAAgB,CAAC,QAA8B,IAAkB,CAAC;IAE/E,2CAA2C;IACpC,KAAK,CAAC,mBAAmB,CAAC,QAA8B,IAAkB,CAAC;IAElF,yEAAyE;IAClE,KAAK,CAAC,cAAc,CAAC,QAA8B,IAAkB,CAAC;IAE7E,8DAA8D;IACvD,KAAK,CAAC,SAAS,CAAC,QAA8B,IAAkB,CAAC;IAExE,+EAA+E;IACxE,YAAY;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qDAAqD;IAC9C,KAAK,CAAC,OAAO,CAAC,OAA6B;QAChD,MAAM,QAAQ,GAA0E;YACtF,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/B,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACvD,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC/C,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACrD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAClC,CAAC;QACF,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,sEAAsE;IAC5D,OAAO,CAAmB,OAA6B,EAAE,UAAkB;QACnF,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,IAAqB,CAAC;IACpE,CAAC;IAED,wEAAwE;IAC9D,OAAO,CAAmB,OAA6B,EAAE,UAAkB,EAAE,IAAO;QAC5F,MAAM,OAAO,GAAG,mBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,oEAAoE;IAC7D,MAAM,CAAC,aAAa,CAAC,OAA4C,EAAE,UAAkB;QAC1F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AA1DqB,iBAAiB;IADtC,gBAAgB,EAAE;GACG,iBAAiB,CA0DtC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Loads, orders and runs DBAutoDoc plugins.
3
+ *
4
+ * Plugins come from two places:
5
+ * - built-ins shipped with this package (registered by importing `./builtins.js`), and
6
+ * - external modules named in the config file's `plugins[].Module`, loaded at runtime.
7
+ *
8
+ * Each plugin is created through MJ's ClassFactory by its registration key, so anyone can
9
+ * ship a plugin as an npm package or a local file without changing DBAutoDoc.
10
+ */
11
+ import { BaseAutoDocPlugin } from './BaseAutoDocPlugin.js';
12
+ import type { AutoDocExporter, AutoDocPluginConfigEntry, AutoDocPluginContext, AutoDocPluginHook } from './types.js';
13
+ /** A plugin that resolved and is enabled for this run. */
14
+ export interface LoadedAutoDocPlugin {
15
+ Entry: AutoDocPluginConfigEntry;
16
+ Instance: BaseAutoDocPlugin;
17
+ }
18
+ /** The parts of a hook context the caller supplies; the manager adds the rest per plugin. */
19
+ export type AutoDocPluginRunContext = Omit<AutoDocPluginContext, 'Options' | 'Hook'>;
20
+ export declare class PluginManager {
21
+ private loaded;
22
+ /** Enabled plugins in execution order. Empty until {@link Load} runs. */
23
+ get Plugins(): LoadedAutoDocPlugin[];
24
+ /**
25
+ * Resolves the effective plugin list (built-ins plus config entries), loads external
26
+ * modules, and creates an instance of every enabled plugin.
27
+ * Throws when an enabled plugin's name is not registered, so typos fail loudly.
28
+ */
29
+ Load(entries: AutoDocPluginConfigEntry[] | undefined): Promise<void>;
30
+ /**
31
+ * Runs one hook on every enabled plugin, in priority order. A failing plugin is logged and
32
+ * recorded in its state section; the remaining plugins and the analysis run continue.
33
+ */
34
+ RunHook(hook: AutoDocPluginHook, context: AutoDocPluginRunContext): Promise<void>;
35
+ /** Every exporter contributed by the loaded plugins. */
36
+ GetExporters(): AutoDocExporter[];
37
+ private runOne;
38
+ /**
39
+ * Adds every built-in plugin the config doesn't mention, using its default enabled state.
40
+ * A config entry for a built-in (e.g. `{ "Name": "IndexAdvisor", "Enabled": false }`) wins.
41
+ */
42
+ static MergeWithBuiltIns(entries: AutoDocPluginConfigEntry[]): AutoDocPluginConfigEntry[];
43
+ /**
44
+ * Imports every external plugin module named in the entries, so its `@RegisterClass`
45
+ * decorators run. Relative paths resolve from the current working directory.
46
+ */
47
+ static LoadModules(entries: AutoDocPluginConfigEntry[]): Promise<void>;
48
+ /** Creates one plugin by registration key, failing clearly when it isn't registered. */
49
+ static CreatePlugin(name: string): BaseAutoDocPlugin;
50
+ /** Registration keys of every plugin currently registered with the ClassFactory. */
51
+ static RegisteredNames(): string[];
52
+ private static importModule;
53
+ }
54
+ //# sourceMappingURL=PluginManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,wBAAwB,CAAC;IAChC,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,6FAA6F;AAC7F,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC;AAErF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA6B;IAE3C,yEAAyE;IACzE,IAAW,OAAO,IAAI,mBAAmB,EAAE,CAE1C;IAED;;;;OAIG;IACU,IAAI,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF;;;OAGG;IACU,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9F,wDAAwD;IACjD,YAAY,IAAI,eAAe,EAAE;YAI1B,MAAM;IAmBpB;;;OAGG;WACW,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,wBAAwB,EAAE;IAQhG;;;OAGG;WACiB,WAAW,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF,wFAAwF;WAC1E,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAS3D,oFAAoF;WACtE,eAAe,IAAI,MAAM,EAAE;mBAMpB,YAAY;CAOlC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Loads, orders and runs DBAutoDoc plugins.
3
+ *
4
+ * Plugins come from two places:
5
+ * - built-ins shipped with this package (registered by importing `./builtins.js`), and
6
+ * - external modules named in the config file's `plugins[].Module`, loaded at runtime.
7
+ *
8
+ * Each plugin is created through MJ's ClassFactory by its registration key, so anyone can
9
+ * ship a plugin as an npm package or a local file without changing DBAutoDoc.
10
+ */
11
+ import * as path from 'path';
12
+ import { pathToFileURL } from 'node:url';
13
+ import { MJGlobal } from '@memberjunction/global';
14
+ import { BaseAutoDocPlugin } from './BaseAutoDocPlugin.js';
15
+ import { BUILT_IN_PLUGINS } from './builtins.js';
16
+ const DEFAULT_PRIORITY = 100;
17
+ export class PluginManager {
18
+ constructor() {
19
+ this.loaded = [];
20
+ }
21
+ /** Enabled plugins in execution order. Empty until {@link Load} runs. */
22
+ get Plugins() {
23
+ return this.loaded;
24
+ }
25
+ /**
26
+ * Resolves the effective plugin list (built-ins plus config entries), loads external
27
+ * modules, and creates an instance of every enabled plugin.
28
+ * Throws when an enabled plugin's name is not registered, so typos fail loudly.
29
+ */
30
+ async Load(entries) {
31
+ const effective = PluginManager.MergeWithBuiltIns(entries ?? []);
32
+ await PluginManager.LoadModules(effective);
33
+ this.loaded = effective
34
+ .filter((e) => e.Enabled !== false)
35
+ .sort((a, b) => (a.Priority ?? DEFAULT_PRIORITY) - (b.Priority ?? DEFAULT_PRIORITY))
36
+ .map((entry) => ({ Entry: entry, Instance: PluginManager.CreatePlugin(entry.Name) }));
37
+ }
38
+ /**
39
+ * Runs one hook on every enabled plugin, in priority order. A failing plugin is logged and
40
+ * recorded in its state section; the remaining plugins and the analysis run continue.
41
+ */
42
+ async RunHook(hook, context) {
43
+ for (const plugin of this.loaded) {
44
+ await this.runOne(plugin, hook, context);
45
+ }
46
+ }
47
+ /** Every exporter contributed by the loaded plugins. */
48
+ GetExporters() {
49
+ return this.loaded.flatMap((p) => p.Instance.GetExporters());
50
+ }
51
+ async runOne(plugin, hook, context) {
52
+ const startedAt = new Date().toISOString();
53
+ const fullContext = { ...context, Hook: hook, Options: plugin.Entry.Options ?? {} };
54
+ let errorMessage;
55
+ try {
56
+ await plugin.Instance.RunHook(fullContext);
57
+ }
58
+ catch (err) {
59
+ errorMessage = err instanceof Error ? err.message : String(err);
60
+ context.Log(`Plugin '${plugin.Entry.Name}' failed in ${hook} (continuing): ${errorMessage}`);
61
+ }
62
+ BaseAutoDocPlugin.EnsureSection(context, plugin.Entry.Name).Runs.push({
63
+ Hook: hook,
64
+ StartedAt: startedAt,
65
+ CompletedAt: new Date().toISOString(),
66
+ Success: errorMessage === undefined,
67
+ ErrorMessage: errorMessage
68
+ });
69
+ }
70
+ /**
71
+ * Adds every built-in plugin the config doesn't mention, using its default enabled state.
72
+ * A config entry for a built-in (e.g. `{ "Name": "IndexAdvisor", "Enabled": false }`) wins.
73
+ */
74
+ static MergeWithBuiltIns(entries) {
75
+ const named = new Set(entries.map((e) => e.Name.toLowerCase()));
76
+ const missingBuiltIns = BUILT_IN_PLUGINS
77
+ .filter((b) => !named.has(b.Name.toLowerCase()))
78
+ .map((b) => ({ Name: b.Name, Enabled: b.EnabledByDefault }));
79
+ return [...entries, ...missingBuiltIns];
80
+ }
81
+ /**
82
+ * Imports every external plugin module named in the entries, so its `@RegisterClass`
83
+ * decorators run. Relative paths resolve from the current working directory.
84
+ */
85
+ static async LoadModules(entries) {
86
+ for (const entry of entries) {
87
+ if (entry.Module && entry.Enabled !== false) {
88
+ await PluginManager.importModule(entry.Module);
89
+ }
90
+ }
91
+ }
92
+ /** Creates one plugin by registration key, failing clearly when it isn't registered. */
93
+ static CreatePlugin(name) {
94
+ const result = MJGlobal.Instance.ClassFactory.TryCreateInstance(BaseAutoDocPlugin, name);
95
+ if (!result.Resolved || !result.Instance) {
96
+ const known = PluginManager.RegisteredNames().join(', ') || '(none)';
97
+ throw new Error(`DBAutoDoc plugin '${name}' is not registered. Registered plugins: ${known}`);
98
+ }
99
+ return result.Instance;
100
+ }
101
+ /** Registration keys of every plugin currently registered with the ClassFactory. */
102
+ static RegisteredNames() {
103
+ return MJGlobal.Instance.ClassFactory.GetAllRegistrations(BaseAutoDocPlugin)
104
+ .map((r) => r.Key)
105
+ .filter((k) => !!k);
106
+ }
107
+ static async importModule(specifier) {
108
+ const isPath = specifier.startsWith('.') || path.isAbsolute(specifier);
109
+ const target = isPath ? pathToFileURL(path.resolve(specifier)).href : specifier;
110
+ // Dynamic import is intentional: runtime plugin discovery from config (the module path is
111
+ // only known at run time). DBAutoDoc runs outside the MJ runtime, where this is permitted.
112
+ await import(target);
113
+ }
114
+ }
115
+ //# sourceMappingURL=PluginManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Built-in plugins shipped with DBAutoDoc.
3
+ *
4
+ * Each built-in is imported here so its `@RegisterClass` registration runs whenever the plugin
5
+ * system is used, and listed with its default enabled state. Users can still turn a built-in
6
+ * off with `{ "Name": "<Name>", "Enabled": false }` in the config's `plugins` array.
7
+ */
8
+ export interface BuiltInAutoDocPlugin {
9
+ Name: string;
10
+ EnabledByDefault: boolean;
11
+ }
12
+ export declare const BUILT_IN_PLUGINS: BuiltInAutoDocPlugin[];
13
+ //# sourceMappingURL=builtins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/plugins/builtins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAE,oBAAoB,EAElD,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Built-in plugins shipped with DBAutoDoc.
3
+ *
4
+ * Each built-in is imported here so its `@RegisterClass` registration runs whenever the plugin
5
+ * system is used, and listed with its default enabled state. Users can still turn a built-in
6
+ * off with `{ "Name": "<Name>", "Enabled": false }` in the config's `plugins` array.
7
+ */
8
+ import { INDEX_ADVISOR_PLUGIN_NAME } from './index-advisor/IndexAdvisorPlugin.js';
9
+ export const BUILT_IN_PLUGINS = [
10
+ { Name: INDEX_ADVISOR_PLUGIN_NAME, EnabledByDefault: true }
11
+ ];
12
+ //# sourceMappingURL=builtins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/plugins/builtins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAOlF,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,EAAE,IAAI,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,IAAI,EAAE;CAC5D,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Index Advisor — built-in DBAutoDoc plugin.
3
+ *
4
+ * At the end of a run it reads the existing indexes, proposes new ones from what DBAutoDoc
5
+ * learned (foreign keys, discovered primary keys, column statistics), flags redundant existing
6
+ * indexes, and stores everything in `state.plugins.IndexAdvisor`. The `index-migration` export
7
+ * format turns the proposals into a SQL migration.
8
+ */
9
+ import { BaseAutoDocPlugin } from '../BaseAutoDocPlugin.js';
10
+ import type { AutoDocExporter, AutoDocPluginContext, AutoDocPluginJSONValue } from '../types.js';
11
+ import type { DatabaseDocumentation } from '../../types/state.js';
12
+ import type { IndexAdvisorData, IndexAdvisorOptions } from './IndexAdvisorTypes.js';
13
+ export declare const INDEX_ADVISOR_PLUGIN_NAME = "IndexAdvisor";
14
+ export declare const DEFAULT_INDEX_ADVISOR_OPTIONS: IndexAdvisorOptions;
15
+ export declare class IndexAdvisorPlugin extends BaseAutoDocPlugin {
16
+ OnPostRun(context: AutoDocPluginContext): Promise<void>;
17
+ GetExporters(): AutoDocExporter[];
18
+ }
19
+ /** The Index Advisor's section of a state file, when the plugin has run. */
20
+ export declare function GetIndexAdvisorData(state: DatabaseDocumentation): IndexAdvisorData | undefined;
21
+ /** Merges config-file options over the defaults, ignoring values of the wrong type. */
22
+ export declare function ResolveIndexAdvisorOptions(raw: {
23
+ [key: string]: AutoDocPluginJSONValue;
24
+ }): IndexAdvisorOptions;
25
+ //# sourceMappingURL=IndexAdvisorPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexAdvisorPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/index-advisor/IndexAdvisorPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAKpF,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD,eAAO,MAAM,6BAA6B,EAAE,mBAQ3C,CAAC;AAEF,qBACa,kBAAmB,SAAQ,iBAAiB;IACjC,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7D,YAAY,IAAI,eAAe,EAAE;CAUlD;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,SAAS,CAE9F;AAED,uFAAuF;AACvF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;CAAE,GAAG,mBAAmB,CAY9G"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Index Advisor — built-in DBAutoDoc plugin.
3
+ *
4
+ * At the end of a run it reads the existing indexes, proposes new ones from what DBAutoDoc
5
+ * learned (foreign keys, discovered primary keys, column statistics), flags redundant existing
6
+ * indexes, and stores everything in `state.plugins.IndexAdvisor`. The `index-migration` export
7
+ * format turns the proposals into a SQL migration.
8
+ */
9
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
15
+ import { RegisterClass } from '@memberjunction/global';
16
+ import { BaseAutoDocPlugin } from '../BaseAutoDocPlugin.js';
17
+ import { ProposeIndexes, FindRedundantIndexes } from './IndexRules.js';
18
+ import { IndexMigrationGenerator } from './IndexMigrationGenerator.js';
19
+ import { IndexLLMReviewer } from './IndexLLMReview.js';
20
+ export const INDEX_ADVISOR_PLUGIN_NAME = 'IndexAdvisor';
21
+ export const DEFAULT_INDEX_ADVISOR_OPTIONS = {
22
+ MinRowCount: 1000,
23
+ IncludeDiscoveredFKs: true,
24
+ KeyMinConfidence: 90,
25
+ LLMReview: true,
26
+ MaxLLMTables: 40,
27
+ // PostgreSQL: build indexes without locking writes on a live database (Craig, 2026-10-08)
28
+ Concurrently: true
29
+ };
30
+ let IndexAdvisorPlugin = class IndexAdvisorPlugin extends BaseAutoDocPlugin {
31
+ async OnPostRun(context) {
32
+ if (!context.Driver) {
33
+ throw new Error('Index Advisor needs an open database connection');
34
+ }
35
+ const options = ResolveIndexAdvisorOptions(context.Options);
36
+ const { Existing, SkippedSchemas } = await readExistingIndexes(context.Driver, context.State);
37
+ const data = {
38
+ AnalyzedAt: new Date().toISOString(),
39
+ Options: options,
40
+ Existing,
41
+ Proposed: ProposeIndexes(withoutSkippedSchemas(context.State, SkippedSchemas), Existing, options),
42
+ Redundant: FindRedundantIndexes(Existing),
43
+ SkippedSchemas
44
+ };
45
+ if (options.LLMReview) {
46
+ await runLLMReview(context, data);
47
+ }
48
+ this.SetData(context, INDEX_ADVISOR_PLUGIN_NAME, data);
49
+ context.Log(`Index Advisor: ${data.Existing.length} existing index(es), ${data.Proposed.length} proposed, ${data.Redundant.length} redundant` +
50
+ (SkippedSchemas.length ? `, ${SkippedSchemas.length} schema(s) skipped` : '') +
51
+ (data.LLMReview ? `; LLM review: ${data.LLMReview.TablesReviewed} table(s), ${data.LLMReview.Dropped.length} dropped, ${data.LLMReview.Errors.length} error(s)` : ''));
52
+ }
53
+ GetExporters() {
54
+ return [{
55
+ Format: 'index-migration',
56
+ Description: 'SQL migration creating the indexes proposed by the Index Advisor',
57
+ Generate: (state, options) => {
58
+ const data = GetIndexAdvisorData(state);
59
+ return data ? new IndexMigrationGenerator().Generate(data, options) : [];
60
+ }
61
+ }];
62
+ }
63
+ };
64
+ IndexAdvisorPlugin = __decorate([
65
+ RegisterClass(BaseAutoDocPlugin, INDEX_ADVISOR_PLUGIN_NAME)
66
+ ], IndexAdvisorPlugin);
67
+ export { IndexAdvisorPlugin };
68
+ /** The Index Advisor's section of a state file, when the plugin has run. */
69
+ export function GetIndexAdvisorData(state) {
70
+ return state.plugins?.[INDEX_ADVISOR_PLUGIN_NAME]?.Data;
71
+ }
72
+ /** Merges config-file options over the defaults, ignoring values of the wrong type. */
73
+ export function ResolveIndexAdvisorOptions(raw) {
74
+ const num = (v, d) => (typeof v === 'number' && Number.isFinite(v) ? v : d);
75
+ const bool = (v, d) => (typeof v === 'boolean' ? v : d);
76
+ const d = DEFAULT_INDEX_ADVISOR_OPTIONS;
77
+ return {
78
+ MinRowCount: num(raw['MinRowCount'], d.MinRowCount),
79
+ IncludeDiscoveredFKs: bool(raw['IncludeDiscoveredFKs'], d.IncludeDiscoveredFKs),
80
+ KeyMinConfidence: num(raw['KeyMinConfidence'], d.KeyMinConfidence),
81
+ LLMReview: bool(raw['LLMReview'], d.LLMReview),
82
+ MaxLLMTables: num(raw['MaxLLMTables'], d.MaxLLMTables),
83
+ Concurrently: bool(raw['Concurrently'], d.Concurrently)
84
+ };
85
+ }
86
+ /** Reads indexes schema by schema; a schema that fails is recorded and skipped. */
87
+ async function readExistingIndexes(driver, state) {
88
+ const existing = [];
89
+ const skipped = [];
90
+ for (const schema of state.schemas) {
91
+ try {
92
+ existing.push(...(await driver.GetIndexes(schema.name)));
93
+ }
94
+ catch (err) {
95
+ skipped.push({ SchemaName: schema.name, Error: err instanceof Error ? err.message : String(err) });
96
+ }
97
+ }
98
+ return { Existing: existing, SkippedSchemas: skipped };
99
+ }
100
+ /**
101
+ * The state limited to schemas whose indexes were read. Proposing for a schema whose existing
102
+ * indexes are unknown would suggest indexes that may already exist.
103
+ */
104
+ function withoutSkippedSchemas(state, skipped) {
105
+ const skippedNames = new Set(skipped.map((s) => s.SchemaName));
106
+ return skippedNames.size ? { ...state, schemas: state.schemas.filter((s) => !skippedNames.has(s.name)) } : state;
107
+ }
108
+ /**
109
+ * Lets the LLM keep, drop, modify or add proposals. Any failure to set up the model keeps the
110
+ * rule-based proposals and is recorded in the review summary.
111
+ */
112
+ async function runLLMReview(context, data) {
113
+ const platform = context.State.database.provider ?? context.Config.database.provider ?? 'sqlserver';
114
+ try {
115
+ const reviewer = await IndexLLMReviewer.Create(context.Config.ai, context.Log);
116
+ const reviewed = await reviewer.Review(context.State, data, platform);
117
+ data.Proposed = reviewed.Proposals;
118
+ data.LLMReview = reviewed.Summary;
119
+ }
120
+ catch (err) {
121
+ data.LLMReview = {
122
+ Model: context.Config.ai.modelOverrides?.['indexAdvisor']?.model ?? context.Config.ai.model,
123
+ TablesReviewed: 0, TokensUsed: 0, Dropped: [], Rejected: [],
124
+ Errors: [{ TableName: '*', Error: err instanceof Error ? err.message : String(err) }]
125
+ };
126
+ }
127
+ }
128
+ //# sourceMappingURL=IndexAdvisorPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexAdvisorPlugin.js","sourceRoot":"","sources":["../../../src/plugins/index-advisor/IndexAdvisorPlugin.ts"],"names":[],"mappings":"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"}