@memberjunction/global 5.0.0 → 5.1.0

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 (125) hide show
  1. package/dist/DynamicPackageLoader.d.ts +61 -0
  2. package/dist/DynamicPackageLoader.d.ts.map +1 -0
  3. package/dist/DynamicPackageLoader.js +56 -0
  4. package/dist/DynamicPackageLoader.js.map +1 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/package.json +1 -1
  10. package/dist/Core.d.ts +0 -29
  11. package/dist/Core.d.ts.map +0 -1
  12. package/dist/Core.js +0 -58
  13. package/dist/Core.js.map +0 -1
  14. package/dist/generic/QueryCache.d.ts +0 -85
  15. package/dist/generic/QueryCache.d.ts.map +0 -1
  16. package/dist/generic/QueryCache.js +0 -198
  17. package/dist/generic/QueryCache.js.map +0 -1
  18. package/dist/generic/QueryCacheConfig.d.ts +0 -72
  19. package/dist/generic/QueryCacheConfig.d.ts.map +0 -1
  20. package/dist/generic/QueryCacheConfig.js +0 -3
  21. package/dist/generic/QueryCacheConfig.js.map +0 -1
  22. package/dist/generic/applicationInfo.d.ts +0 -138
  23. package/dist/generic/applicationInfo.d.ts.map +0 -1
  24. package/dist/generic/applicationInfo.js +0 -177
  25. package/dist/generic/applicationInfo.js.map +0 -1
  26. package/dist/generic/authEvaluator.d.ts +0 -25
  27. package/dist/generic/authEvaluator.d.ts.map +0 -1
  28. package/dist/generic/authEvaluator.js +0 -49
  29. package/dist/generic/authEvaluator.js.map +0 -1
  30. package/dist/generic/authTypes.d.ts +0 -193
  31. package/dist/generic/authTypes.d.ts.map +0 -1
  32. package/dist/generic/authTypes.js +0 -19
  33. package/dist/generic/authTypes.js.map +0 -1
  34. package/dist/generic/baseEngine.d.ts +0 -260
  35. package/dist/generic/baseEngine.d.ts.map +0 -1
  36. package/dist/generic/baseEngine.js +0 -510
  37. package/dist/generic/baseEngine.js.map +0 -1
  38. package/dist/generic/baseEntity.d.ts +0 -691
  39. package/dist/generic/baseEntity.d.ts.map +0 -1
  40. package/dist/generic/baseEntity.js +0 -1688
  41. package/dist/generic/baseEntity.js.map +0 -1
  42. package/dist/generic/baseInfo.d.ts +0 -24
  43. package/dist/generic/baseInfo.d.ts.map +0 -1
  44. package/dist/generic/baseInfo.js +0 -53
  45. package/dist/generic/baseInfo.js.map +0 -1
  46. package/dist/generic/compositeKey.d.ts +0 -206
  47. package/dist/generic/compositeKey.d.ts.map +0 -1
  48. package/dist/generic/compositeKey.js +0 -412
  49. package/dist/generic/compositeKey.js.map +0 -1
  50. package/dist/generic/databaseProviderBase.d.ts +0 -46
  51. package/dist/generic/databaseProviderBase.d.ts.map +0 -1
  52. package/dist/generic/databaseProviderBase.js +0 -14
  53. package/dist/generic/databaseProviderBase.js.map +0 -1
  54. package/dist/generic/entityInfo.d.ts +0 -983
  55. package/dist/generic/entityInfo.d.ts.map +0 -1
  56. package/dist/generic/entityInfo.js +0 -1401
  57. package/dist/generic/entityInfo.js.map +0 -1
  58. package/dist/generic/explorerNavigationItem.d.ts +0 -20
  59. package/dist/generic/explorerNavigationItem.d.ts.map +0 -1
  60. package/dist/generic/explorerNavigationItem.js +0 -29
  61. package/dist/generic/explorerNavigationItem.js.map +0 -1
  62. package/dist/generic/interfaces.d.ts +0 -610
  63. package/dist/generic/interfaces.d.ts.map +0 -1
  64. package/dist/generic/interfaces.js +0 -211
  65. package/dist/generic/interfaces.js.map +0 -1
  66. package/dist/generic/libraryInfo.d.ts +0 -40
  67. package/dist/generic/libraryInfo.d.ts.map +0 -1
  68. package/dist/generic/libraryInfo.js +0 -56
  69. package/dist/generic/libraryInfo.js.map +0 -1
  70. package/dist/generic/logging.d.ts +0 -179
  71. package/dist/generic/logging.d.ts.map +0 -1
  72. package/dist/generic/logging.js +0 -382
  73. package/dist/generic/logging.js.map +0 -1
  74. package/dist/generic/metadata.d.ts +0 -305
  75. package/dist/generic/metadata.d.ts.map +0 -1
  76. package/dist/generic/metadata.js +0 -454
  77. package/dist/generic/metadata.js.map +0 -1
  78. package/dist/generic/metadataUtil.d.ts +0 -8
  79. package/dist/generic/metadataUtil.d.ts.map +0 -1
  80. package/dist/generic/metadataUtil.js +0 -36
  81. package/dist/generic/metadataUtil.js.map +0 -1
  82. package/dist/generic/providerBase.d.ts +0 -546
  83. package/dist/generic/providerBase.d.ts.map +0 -1
  84. package/dist/generic/providerBase.js +0 -999
  85. package/dist/generic/providerBase.js.map +0 -1
  86. package/dist/generic/queryInfo.d.ts +0 -460
  87. package/dist/generic/queryInfo.d.ts.map +0 -1
  88. package/dist/generic/queryInfo.js +0 -633
  89. package/dist/generic/queryInfo.js.map +0 -1
  90. package/dist/generic/querySQLFilters.d.ts +0 -54
  91. package/dist/generic/querySQLFilters.d.ts.map +0 -1
  92. package/dist/generic/querySQLFilters.js +0 -84
  93. package/dist/generic/querySQLFilters.js.map +0 -1
  94. package/dist/generic/runQuery.d.ts +0 -96
  95. package/dist/generic/runQuery.d.ts.map +0 -1
  96. package/dist/generic/runQuery.js +0 -66
  97. package/dist/generic/runQuery.js.map +0 -1
  98. package/dist/generic/runQuerySQLFilterImplementations.d.ts +0 -51
  99. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +0 -1
  100. package/dist/generic/runQuerySQLFilterImplementations.js +0 -238
  101. package/dist/generic/runQuerySQLFilterImplementations.js.map +0 -1
  102. package/dist/generic/runReport.d.ts +0 -25
  103. package/dist/generic/runReport.d.ts.map +0 -1
  104. package/dist/generic/runReport.js +0 -42
  105. package/dist/generic/runReport.js.map +0 -1
  106. package/dist/generic/securityInfo.d.ts +0 -355
  107. package/dist/generic/securityInfo.d.ts.map +0 -1
  108. package/dist/generic/securityInfo.js +0 -425
  109. package/dist/generic/securityInfo.js.map +0 -1
  110. package/dist/generic/transactionGroup.d.ts +0 -184
  111. package/dist/generic/transactionGroup.d.ts.map +0 -1
  112. package/dist/generic/transactionGroup.js +0 -357
  113. package/dist/generic/transactionGroup.js.map +0 -1
  114. package/dist/generic/util.d.ts +0 -81
  115. package/dist/generic/util.d.ts.map +0 -1
  116. package/dist/generic/util.js +0 -301
  117. package/dist/generic/util.js.map +0 -1
  118. package/dist/views/runView.d.ts +0 -150
  119. package/dist/views/runView.d.ts.map +0 -1
  120. package/dist/views/runView.js +0 -100
  121. package/dist/views/runView.js.map +0 -1
  122. package/dist/views/viewInfo.d.ts +0 -121
  123. package/dist/views/viewInfo.d.ts.map +0 -1
  124. package/dist/views/viewInfo.js +0 -182
  125. package/dist/views/viewInfo.js.map +0 -1
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Dynamic Package Loading
3
+ *
4
+ * Provides runtime dynamic import capabilities for MJ Open App packages.
5
+ * Used by MJAPI startup to load server-side app bootstrap packages that
6
+ * register their classes with the ClassFactory via @RegisterClass decorators.
7
+ */
8
+ /**
9
+ * Describes a package to be dynamically imported at runtime.
10
+ * Typically read from the `dynamicPackages.server` section of mj.config.cjs.
11
+ */
12
+ export interface DynamicPackageLoad {
13
+ /** npm package name to dynamically import */
14
+ PackageName: string;
15
+ /** Named export to call after import (e.g., 'LoadAcmeCRMServer') */
16
+ StartupExport: string;
17
+ /** Open App name this package belongs to (for tracking) */
18
+ AppName: string;
19
+ /** Whether this package should be loaded. Allows disabling without removing. */
20
+ Enabled: boolean;
21
+ }
22
+ /**
23
+ * Result of attempting to dynamically load a single package.
24
+ */
25
+ export interface DynamicLoadResult {
26
+ /** The package that was loaded (or failed to load) */
27
+ PackageName: string;
28
+ /** Whether the package was loaded and its startup export called successfully */
29
+ Success: boolean;
30
+ /** Error message if the load failed */
31
+ Error?: string;
32
+ }
33
+ /**
34
+ * Utility class for dynamically loading npm packages at runtime.
35
+ *
36
+ * Used during MJAPI startup to load Open App server-side bootstrap packages.
37
+ * Each package is loaded in isolation — a failure in one package does not
38
+ * prevent others from loading.
39
+ */
40
+ export declare class DynamicPackageLoader {
41
+ /**
42
+ * Loads all enabled dynamic packages in parallel for better performance.
43
+ * For each package:
44
+ * 1. Skips if `Enabled` is false
45
+ * 2. Dynamically imports the package via `await import()`
46
+ * 3. Calls the named `StartupExport` function if it exists
47
+ * 4. Records success or failure
48
+ *
49
+ * Errors are isolated per-package — a broken package does not crash the server.
50
+ * All enabled packages are loaded concurrently using Promise.all().
51
+ *
52
+ * @param packages - Array of packages to load
53
+ * @returns Array of results indicating success/failure for each package
54
+ */
55
+ static LoadPackages(packages: DynamicPackageLoad[]): Promise<DynamicLoadResult[]>;
56
+ /**
57
+ * Attempts to dynamically import a single package and call its startup export.
58
+ */
59
+ private static LoadSinglePackage;
60
+ }
61
+ //# sourceMappingURL=DynamicPackageLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicPackageLoader.d.ts","sourceRoot":"","sources":["../src/DynamicPackageLoader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IAEpB,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC;IAEtB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IAEjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC7B;;;;;;;;;;;;;OAaG;WACU,YAAY,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAKvF;;OAEG;mBACkB,iBAAiB;CAqBzC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Dynamic Package Loading
3
+ *
4
+ * Provides runtime dynamic import capabilities for MJ Open App packages.
5
+ * Used by MJAPI startup to load server-side app bootstrap packages that
6
+ * register their classes with the ClassFactory via @RegisterClass decorators.
7
+ */
8
+ /**
9
+ * Utility class for dynamically loading npm packages at runtime.
10
+ *
11
+ * Used during MJAPI startup to load Open App server-side bootstrap packages.
12
+ * Each package is loaded in isolation — a failure in one package does not
13
+ * prevent others from loading.
14
+ */
15
+ export class DynamicPackageLoader {
16
+ /**
17
+ * Loads all enabled dynamic packages in parallel for better performance.
18
+ * For each package:
19
+ * 1. Skips if `Enabled` is false
20
+ * 2. Dynamically imports the package via `await import()`
21
+ * 3. Calls the named `StartupExport` function if it exists
22
+ * 4. Records success or failure
23
+ *
24
+ * Errors are isolated per-package — a broken package does not crash the server.
25
+ * All enabled packages are loaded concurrently using Promise.all().
26
+ *
27
+ * @param packages - Array of packages to load
28
+ * @returns Array of results indicating success/failure for each package
29
+ */
30
+ static async LoadPackages(packages) {
31
+ const enabledPackages = packages.filter(p => p.Enabled);
32
+ return Promise.all(enabledPackages.map(pkg => DynamicPackageLoader.LoadSinglePackage(pkg)));
33
+ }
34
+ /**
35
+ * Attempts to dynamically import a single package and call its startup export.
36
+ */
37
+ static async LoadSinglePackage(pkg) {
38
+ try {
39
+ const module = await import(pkg.PackageName);
40
+ if (pkg.StartupExport && typeof module[pkg.StartupExport] === 'function') {
41
+ module[pkg.StartupExport]();
42
+ }
43
+ return { PackageName: pkg.PackageName, Success: true };
44
+ }
45
+ catch (error) {
46
+ const errorMessage = error instanceof Error ? error.message : String(error);
47
+ console.error(`Failed to load dynamic package ${pkg.PackageName}: ${errorMessage}`);
48
+ return {
49
+ PackageName: pkg.PackageName,
50
+ Success: false,
51
+ Error: errorMessage
52
+ };
53
+ }
54
+ }
55
+ }
56
+ //# sourceMappingURL=DynamicPackageLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicPackageLoader.js","sourceRoot":"","sources":["../src/DynamicPackageLoader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkCH;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IAC7B;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAA8B;QACpD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAuB;QAC1D,IAAI,CAAC;YACD,MAAM,MAAM,GAA4B,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAA4B,CAAC;YAEjG,IAAI,GAAG,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,UAAU,EAAE,CAAC;gBACtE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAgB,EAAE,CAAC;YAChD,CAAC;YAED,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,KAAc,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC,CAAC;YAEpF,OAAO;gBACH,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACtB,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
package/dist/index.d.ts CHANGED
@@ -14,4 +14,5 @@ export * from './warningManager.js';
14
14
  export * from './EncryptionUtils.js';
15
15
  export * from './Global.js';
16
16
  export * from './RegisterClass.js';
17
+ export * from './DynamicPackageLoader.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAChE,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AAMjC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAChE,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AAMjC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ export * from './EncryptionUtils.js';
18
18
  // Export the main classes
19
19
  export * from './Global.js';
20
20
  export * from './RegisterClass.js';
21
+ export * from './DynamicPackageLoader.js';
21
22
  // NOTE: RegisterForStartup has moved to @memberjunction/core
22
23
  // Import from there instead of here
23
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,iCAAiC;AACjC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAChE,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AAEjC,2DAA2D;AAC3D,oCAAoC;AAEpC,0BAA0B;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAE/B,6DAA6D;AAC7D,oCAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAChE,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AAEjC,2DAA2D;AAC3D,oCAAoC;AAEpC,0BAA0B;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAEtC,6DAA6D;AAC7D,oCAAoC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/global",
3
3
  "type": "module",
4
- "version": "5.0.0",
4
+ "version": "5.1.0",
5
5
  "description": "MemberJunction: Global Object - Needed for ALL other MJ components",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
package/dist/Core.d.ts DELETED
@@ -1,29 +0,0 @@
1
- export * from './generic/metadata.js';
2
- export * from './generic/baseInfo.js';
3
- export * from './generic/baseEngine.js';
4
- export * from './views/runView.js';
5
- export * from './generic/runReport.js';
6
- export * from './generic/runQuery.js';
7
- export * from './generic/interfaces.js';
8
- export * from './generic/baseEntity.js';
9
- export * from './generic/applicationInfo.js';
10
- export * from './generic/providerBase.js';
11
- export * from './generic/entityInfo.js';
12
- export * from './generic/securityInfo.js';
13
- export * from './generic/transactionGroup.js';
14
- export * from './generic/util.js';
15
- export * from './generic/logging.js';
16
- export * from './generic/queryInfo.js';
17
- export * from './generic/querySQLFilters.js';
18
- export * from './generic/runQuerySQLFilterImplementations.js';
19
- export * from './generic/libraryInfo.js';
20
- export * from './generic/QueryCacheConfig.js';
21
- export * from './generic/QueryCache.js';
22
- export * from './generic/explorerNavigationItem.js';
23
- export * from './generic/compositeKey.js';
24
- export * from './generic/authEvaluator.js';
25
- export * from './generic/metadataUtil.js';
26
- export * from './generic/authTypes.js';
27
- export * from './generic/databaseProviderBase.js';
28
- export declare function SetProvider(provider: any): void;
29
- //# sourceMappingURL=Core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Core.d.ts","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":"AAMA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,gCAAgC,CAAC;AAE/C,wBAAgB,WAAW,CAAC,QAAQ,KAAA,QAMnC"}
package/dist/Core.js DELETED
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SetProvider = void 0;
18
- const baseEntity_1 = require("./generic/baseEntity.js");
19
- const metadata_1 = require("./generic/metadata.js");
20
- const runQuery_1 = require("./generic/runQuery.js");
21
- const runReport_1 = require("./generic/runReport.js");
22
- const runView_1 = require("./views/runView.js");
23
- __exportStar(require("./generic/metadata.js"), exports);
24
- __exportStar(require("./generic/baseInfo.js"), exports);
25
- __exportStar(require("./generic/baseEngine.js"), exports);
26
- __exportStar(require("./views/runView.js"), exports);
27
- __exportStar(require("./generic/runReport.js"), exports);
28
- __exportStar(require("./generic/runQuery.js"), exports);
29
- __exportStar(require("./generic/interfaces.js"), exports);
30
- __exportStar(require("./generic/baseEntity.js"), exports);
31
- __exportStar(require("./generic/applicationInfo.js"), exports);
32
- __exportStar(require("./generic/providerBase.js"), exports);
33
- __exportStar(require("./generic/entityInfo.js"), exports);
34
- __exportStar(require("./generic/securityInfo.js"), exports);
35
- __exportStar(require("./generic/transactionGroup.js"), exports);
36
- __exportStar(require("./generic/util.js"), exports);
37
- __exportStar(require("./generic/logging.js"), exports);
38
- __exportStar(require("./generic/queryInfo.js"), exports);
39
- __exportStar(require("./generic/querySQLFilters.js"), exports);
40
- __exportStar(require("./generic/runQuerySQLFilterImplementations.js"), exports);
41
- __exportStar(require("./generic/libraryInfo.js"), exports);
42
- __exportStar(require("./generic/QueryCacheConfig.js"), exports);
43
- __exportStar(require("./generic/QueryCache.js"), exports);
44
- __exportStar(require("./generic/explorerNavigationItem.js"), exports);
45
- __exportStar(require("./generic/compositeKey.js"), exports);
46
- __exportStar(require("./generic/authEvaluator.js"), exports);
47
- __exportStar(require("./generic/metadataUtil.js"), exports);
48
- __exportStar(require("./generic/authTypes.js"), exports);
49
- __exportStar(require("./generic/databaseProviderBase.js"), exports);
50
- function SetProvider(provider) {
51
- metadata_1.Metadata.Provider = provider;
52
- baseEntity_1.BaseEntity.Provider = provider;
53
- runView_1.RunView.Provider = provider;
54
- runReport_1.RunReport.Provider = provider;
55
- runQuery_1.RunQuery.Provider = provider;
56
- }
57
- exports.SetProvider = SetProvider;
58
- //# sourceMappingURL=Core.js.map
package/dist/Core.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Core.js","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,iDAA8C;AAC9C,iDAA8C;AAC9C,mDAAgD;AAChD,6CAA0C;AAE1C,qDAAmC;AACnC,qDAAmC;AACnC,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AACrC,4DAA0C;AAC1C,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,6DAA2C;AAC3C,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,4DAA0C;AAC1C,6EAA2D;AAC3D,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,mEAAiD;AACjD,yDAAuC;AACvC,0DAAwC;AACxC,yDAAuC;AACvC,sDAAoC;AAEpC,iEAA+C;AAE/C,SAAgB,WAAW,CAAC,QAAQ;IAClC,mBAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,uBAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,iBAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,qBAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,mBAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,CAAC;AAND,kCAMC"}
@@ -1,85 +0,0 @@
1
- import { QueryCacheConfig, QueryCacheEntry } from './QueryCacheConfig.js';
2
- /**
3
- * LRU (Least Recently Used) cache implementation for query results with TTL support.
4
- * This cache provides efficient storage and retrieval of query results with automatic
5
- * expiration based on time-to-live settings and size limits.
6
- */
7
- export declare class QueryCache {
8
- private cache;
9
- private accessOrder;
10
- private readonly DEFAULT_MAX_SIZE;
11
- private readonly DEFAULT_TTL_MINUTES;
12
- /**
13
- * Performance statistics for cache monitoring
14
- */
15
- private stats;
16
- /**
17
- * Generate a deterministic cache key from query ID and parameters.
18
- * The key is created by sorting parameter keys and creating a stable JSON representation.
19
- *
20
- * @param queryId - The unique query identifier
21
- * @param params - The query parameters
22
- * @returns A stable cache key string
23
- */
24
- private getCacheKey;
25
- /**
26
- * Get cached results if available and not expired.
27
- * Updates access order for LRU tracking and increments hit counter.
28
- *
29
- * @param queryId - The query identifier
30
- * @param params - The query parameters
31
- * @param config - Cache configuration settings
32
- * @returns The cached entry if valid, null otherwise
33
- */
34
- get(queryId: string, params: Record<string, any>, config: QueryCacheConfig): QueryCacheEntry | null;
35
- /**
36
- * Cache query results with TTL and LRU eviction.
37
- * Evicts least recently used entries when at capacity.
38
- *
39
- * @param queryId - The query identifier
40
- * @param params - The query parameters
41
- * @param results - The query results to cache
42
- * @param config - Cache configuration settings
43
- */
44
- set(queryId: string, params: Record<string, any>, results: any[], config: QueryCacheConfig): void;
45
- /**
46
- * Clear cache for specific query or all queries.
47
- *
48
- * @param queryId - Optional query ID to clear specific query cache
49
- */
50
- clear(queryId?: string): void;
51
- /**
52
- * Update the access order for LRU tracking.
53
- * Moves the accessed key to the end of the array (most recently used).
54
- *
55
- * @param key - The cache key that was accessed
56
- */
57
- private updateAccessOrder;
58
- /**
59
- * Remove a key from the access order tracking.
60
- *
61
- * @param key - The cache key to remove
62
- */
63
- private removeFromAccessOrder;
64
- /**
65
- * Get cache statistics for monitoring and debugging.
66
- *
67
- * @returns Object containing cache performance metrics
68
- */
69
- getStats(): {
70
- size: number;
71
- hits: number;
72
- misses: number;
73
- hitRate: number;
74
- evictions: number;
75
- expirations: number;
76
- };
77
- /**
78
- * Clean up expired entries from the cache.
79
- * This can be called periodically to free up memory.
80
- *
81
- * @returns Number of expired entries removed
82
- */
83
- cleanupExpired(): number;
84
- }
85
- //# sourceMappingURL=QueryCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCache.d.ts","sourceRoot":"","sources":["../../src/generic/QueryCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGvE;;;;GAIG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAE1C;;OAEG;IACH,OAAO,CAAC,KAAK,CAKX;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,eAAe,GAAG,IAAI;IA+BnG;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IA6BjG;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB7B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;IACH,QAAQ,IAAI;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACvB;IAcD;;;;;OAKG;IACH,cAAc,IAAI,MAAM;CAmB3B"}
@@ -1,198 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryCache = void 0;
4
- const logging_1 = require("./logging.js");
5
- /**
6
- * LRU (Least Recently Used) cache implementation for query results with TTL support.
7
- * This cache provides efficient storage and retrieval of query results with automatic
8
- * expiration based on time-to-live settings and size limits.
9
- */
10
- class QueryCache {
11
- constructor() {
12
- this.cache = new Map();
13
- this.accessOrder = [];
14
- this.DEFAULT_MAX_SIZE = 1000;
15
- this.DEFAULT_TTL_MINUTES = 60;
16
- /**
17
- * Performance statistics for cache monitoring
18
- */
19
- this.stats = {
20
- hits: 0,
21
- misses: 0,
22
- evictions: 0,
23
- expirations: 0
24
- };
25
- }
26
- /**
27
- * Generate a deterministic cache key from query ID and parameters.
28
- * The key is created by sorting parameter keys and creating a stable JSON representation.
29
- *
30
- * @param queryId - The unique query identifier
31
- * @param params - The query parameters
32
- * @returns A stable cache key string
33
- */
34
- getCacheKey(queryId, params) {
35
- const sortedParams = Object.keys(params).sort().reduce((acc, key) => {
36
- acc[key] = params[key];
37
- return acc;
38
- }, {});
39
- return `${queryId}:${JSON.stringify(sortedParams)}`;
40
- }
41
- /**
42
- * Get cached results if available and not expired.
43
- * Updates access order for LRU tracking and increments hit counter.
44
- *
45
- * @param queryId - The query identifier
46
- * @param params - The query parameters
47
- * @param config - Cache configuration settings
48
- * @returns The cached entry if valid, null otherwise
49
- */
50
- get(queryId, params, config) {
51
- if (!config.enabled)
52
- return null;
53
- const key = this.getCacheKey(queryId, params);
54
- const entry = this.cache.get(key);
55
- if (!entry) {
56
- this.stats.misses++;
57
- return null;
58
- }
59
- const now = Date.now();
60
- const expiryTime = entry.timestamp + (entry.ttlMinutes * 60 * 1000);
61
- if (now > expiryTime) {
62
- // Entry has expired
63
- this.cache.delete(key);
64
- this.removeFromAccessOrder(key);
65
- this.stats.expirations++;
66
- this.stats.misses++;
67
- return null;
68
- }
69
- // Update access order for LRU
70
- this.updateAccessOrder(key);
71
- entry.hitCount++;
72
- this.stats.hits++;
73
- return entry;
74
- }
75
- /**
76
- * Cache query results with TTL and LRU eviction.
77
- * Evicts least recently used entries when at capacity.
78
- *
79
- * @param queryId - The query identifier
80
- * @param params - The query parameters
81
- * @param results - The query results to cache
82
- * @param config - Cache configuration settings
83
- */
84
- set(queryId, params, results, config) {
85
- if (!config.enabled)
86
- return;
87
- const key = this.getCacheKey(queryId, params);
88
- const maxSize = config.maxCacheSize || this.DEFAULT_MAX_SIZE;
89
- // Evict LRU entries if at capacity
90
- if (this.cache.size >= maxSize && !this.cache.has(key)) {
91
- const lruKey = this.accessOrder.shift();
92
- if (lruKey) {
93
- this.cache.delete(lruKey);
94
- this.stats.evictions++;
95
- (0, logging_1.LogStatus)(`Cache eviction: Removed LRU entry for key ${lruKey}`);
96
- }
97
- }
98
- const entry = {
99
- queryId,
100
- parameters: params,
101
- results,
102
- timestamp: Date.now(),
103
- ttlMinutes: config.ttlMinutes || this.DEFAULT_TTL_MINUTES,
104
- hitCount: 0
105
- };
106
- this.cache.set(key, entry);
107
- this.updateAccessOrder(key);
108
- }
109
- /**
110
- * Clear cache for specific query or all queries.
111
- *
112
- * @param queryId - Optional query ID to clear specific query cache
113
- */
114
- clear(queryId) {
115
- if (queryId) {
116
- // Clear all entries for specific query
117
- const keysToDelete = Array.from(this.cache.keys())
118
- .filter(key => key.startsWith(`${queryId}:`));
119
- keysToDelete.forEach(key => {
120
- this.cache.delete(key);
121
- this.removeFromAccessOrder(key);
122
- });
123
- (0, logging_1.LogStatus)(`Cleared ${keysToDelete.length} cache entries for query ${queryId}`);
124
- }
125
- else {
126
- // Clear entire cache
127
- const size = this.cache.size;
128
- this.cache.clear();
129
- this.accessOrder = [];
130
- (0, logging_1.LogStatus)(`Cleared entire query cache (${size} entries)`);
131
- }
132
- }
133
- /**
134
- * Update the access order for LRU tracking.
135
- * Moves the accessed key to the end of the array (most recently used).
136
- *
137
- * @param key - The cache key that was accessed
138
- */
139
- updateAccessOrder(key) {
140
- const index = this.accessOrder.indexOf(key);
141
- if (index > -1) {
142
- this.accessOrder.splice(index, 1);
143
- }
144
- this.accessOrder.push(key);
145
- }
146
- /**
147
- * Remove a key from the access order tracking.
148
- *
149
- * @param key - The cache key to remove
150
- */
151
- removeFromAccessOrder(key) {
152
- const index = this.accessOrder.indexOf(key);
153
- if (index > -1) {
154
- this.accessOrder.splice(index, 1);
155
- }
156
- }
157
- /**
158
- * Get cache statistics for monitoring and debugging.
159
- *
160
- * @returns Object containing cache performance metrics
161
- */
162
- getStats() {
163
- const total = this.stats.hits + this.stats.misses;
164
- const hitRate = total > 0 ? this.stats.hits / total : 0;
165
- return {
166
- size: this.cache.size,
167
- hits: this.stats.hits,
168
- misses: this.stats.misses,
169
- hitRate: Math.round(hitRate * 100) / 100,
170
- evictions: this.stats.evictions,
171
- expirations: this.stats.expirations
172
- };
173
- }
174
- /**
175
- * Clean up expired entries from the cache.
176
- * This can be called periodically to free up memory.
177
- *
178
- * @returns Number of expired entries removed
179
- */
180
- cleanupExpired() {
181
- const now = Date.now();
182
- let cleaned = 0;
183
- for (const [key, entry] of this.cache.entries()) {
184
- const expiryTime = entry.timestamp + (entry.ttlMinutes * 60 * 1000);
185
- if (now > expiryTime) {
186
- this.cache.delete(key);
187
- this.removeFromAccessOrder(key);
188
- cleaned++;
189
- }
190
- }
191
- if (cleaned > 0) {
192
- (0, logging_1.LogStatus)(`Cleaned up ${cleaned} expired cache entries`);
193
- }
194
- return cleaned;
195
- }
196
- }
197
- exports.QueryCache = QueryCache;
198
- //# sourceMappingURL=QueryCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../../src/generic/QueryCache.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- /**
2
- * Configuration interface for query result caching with TTL-based expiration
3
- */
4
- export interface QueryCacheConfig {
5
- /**
6
- * Whether caching is enabled for this query
7
- */
8
- enabled: boolean;
9
- /**
10
- * Time-to-live in minutes for cached results
11
- */
12
- ttlMinutes: number;
13
- /**
14
- * Maximum number of cached result sets for this query
15
- */
16
- maxCacheSize?: number;
17
- /**
18
- * Cache key strategy - exact parameter matching vs. pattern matching
19
- */
20
- cacheKey?: 'exact' | 'fuzzy';
21
- /**
22
- * Whether to inherit settings from parent category
23
- */
24
- inheritFromCategory?: boolean;
25
- }
26
- /**
27
- * Represents a cached query result entry with metadata
28
- */
29
- export interface QueryCacheEntry {
30
- /**
31
- * The query ID this cache entry belongs to
32
- */
33
- queryId: string;
34
- /**
35
- * The parameters used for this specific query execution
36
- */
37
- parameters: Record<string, any>;
38
- /**
39
- * The cached query results
40
- */
41
- results: any[];
42
- /**
43
- * Timestamp when this entry was cached
44
- */
45
- timestamp: number;
46
- /**
47
- * TTL in minutes for this specific cache entry
48
- */
49
- ttlMinutes: number;
50
- /**
51
- * Number of times this cache entry has been accessed
52
- */
53
- hitCount: number;
54
- }
55
- /**
56
- * Result type extended with cache information
57
- */
58
- export interface CachedRunQueryResult {
59
- /**
60
- * Whether this result was served from cache
61
- */
62
- CacheHit?: boolean;
63
- /**
64
- * Cache key used for this query
65
- */
66
- CacheKey?: string;
67
- /**
68
- * Time until cache expiration in milliseconds
69
- */
70
- CacheTTLRemaining?: number;
71
- }
72
- //# sourceMappingURL=QueryCacheConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCacheConfig.d.ts","sourceRoot":"","sources":["../../src/generic/QueryCacheConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAE7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=QueryCacheConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCacheConfig.js","sourceRoot":"","sources":["../../src/generic/QueryCacheConfig.ts"],"names":[],"mappings":""}