@harperfast/harper-pro 5.0.4 → 5.0.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.
Files changed (120) hide show
  1. package/core/AGENTS.md +107 -0
  2. package/core/CLAUDE.md +1 -0
  3. package/core/bin/status.js +2 -2
  4. package/core/bin/stop.js +5 -6
  5. package/core/components/EntryHandler.ts +4 -2
  6. package/core/components/Scope.ts +1 -1
  7. package/core/components/componentLoader.ts +11 -4
  8. package/core/components/requestRestart.ts +17 -2
  9. package/core/dataLayer/harperBridge/TableSizeObject.ts +35 -0
  10. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +24 -0
  11. package/core/package-lock.json +1043 -112
  12. package/core/resources/DatabaseTransaction.ts +8 -3
  13. package/core/resources/Table.ts +12 -17
  14. package/core/resources/databases.ts +2 -2
  15. package/core/resources/graphql.ts +163 -165
  16. package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +14 -3
  17. package/core/resources/indexes/vector.ts +17 -0
  18. package/core/resources/loadEnv.ts +20 -16
  19. package/core/resources/login.ts +4 -3
  20. package/core/resources/roles.ts +60 -65
  21. package/core/security/auth.ts +15 -14
  22. package/core/security/jsLoader.ts +27 -9
  23. package/core/security/keys.js +1 -1
  24. package/core/server/REST.ts +10 -11
  25. package/core/server/fastifyRoutes.ts +30 -29
  26. package/core/server/graphqlQuerying.ts +4 -3
  27. package/core/server/http.ts +175 -1
  28. package/core/server/mqtt.ts +8 -2
  29. package/core/server/serverHelpers/serverUtilities.ts +2 -5
  30. package/core/server/threads/threadServer.js +30 -2
  31. package/core/server/throttle.ts +18 -0
  32. package/core/utility/environment/environmentManager.js +10 -4
  33. package/core/utility/environment/systemInformation.ts +698 -0
  34. package/core/utility/hdbTerms.ts +1 -0
  35. package/core/utility/operation_authorization.js +2 -5
  36. package/dist/core/bin/status.js +2 -2
  37. package/dist/core/bin/status.js.map +1 -1
  38. package/dist/core/bin/stop.js +5 -5
  39. package/dist/core/bin/stop.js.map +1 -1
  40. package/dist/core/components/EntryHandler.js +4 -2
  41. package/dist/core/components/EntryHandler.js.map +1 -1
  42. package/dist/core/components/Scope.js +1 -1
  43. package/dist/core/components/Scope.js.map +1 -1
  44. package/dist/core/components/componentLoader.js +11 -3
  45. package/dist/core/components/componentLoader.js.map +1 -1
  46. package/dist/core/components/requestRestart.js +12 -1
  47. package/dist/core/components/requestRestart.js.map +1 -1
  48. package/dist/core/dataLayer/harperBridge/TableSizeObject.js +32 -0
  49. package/dist/core/dataLayer/harperBridge/TableSizeObject.js.map +1 -0
  50. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +18 -19
  51. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -1
  52. package/dist/core/resources/DatabaseTransaction.js +6 -1
  53. package/dist/core/resources/DatabaseTransaction.js.map +1 -1
  54. package/dist/core/resources/Table.js +14 -18
  55. package/dist/core/resources/Table.js.map +1 -1
  56. package/dist/core/resources/databases.js +2 -1
  57. package/dist/core/resources/databases.js.map +1 -1
  58. package/dist/core/resources/graphql.js +176 -176
  59. package/dist/core/resources/graphql.js.map +1 -1
  60. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +14 -2
  61. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  62. package/dist/core/resources/indexes/vector.js +14 -0
  63. package/dist/core/resources/indexes/vector.js.map +1 -1
  64. package/dist/core/resources/loadEnv.js +20 -17
  65. package/dist/core/resources/loadEnv.js.map +1 -1
  66. package/dist/core/resources/login.js +4 -4
  67. package/dist/core/resources/login.js.map +1 -1
  68. package/dist/core/resources/roles.js +64 -68
  69. package/dist/core/resources/roles.js.map +1 -1
  70. package/dist/core/security/auth.js +17 -15
  71. package/dist/core/security/auth.js.map +1 -1
  72. package/dist/core/security/jsLoader.js +29 -9
  73. package/dist/core/security/jsLoader.js.map +1 -1
  74. package/dist/core/security/keys.js +1 -1
  75. package/dist/core/server/REST.js +11 -11
  76. package/dist/core/server/REST.js.map +1 -1
  77. package/dist/core/server/fastifyRoutes.js +30 -29
  78. package/dist/core/server/fastifyRoutes.js.map +1 -1
  79. package/dist/core/server/graphqlQuerying.js +5 -4
  80. package/dist/core/server/graphqlQuerying.js.map +1 -1
  81. package/dist/core/server/http.js +179 -0
  82. package/dist/core/server/http.js.map +1 -1
  83. package/dist/core/server/mqtt.js +5 -3
  84. package/dist/core/server/mqtt.js.map +1 -1
  85. package/dist/core/server/serverHelpers/serverUtilities.js +2 -2
  86. package/dist/core/server/serverHelpers/serverUtilities.js.map +1 -1
  87. package/dist/core/server/threads/threadServer.js +26 -2
  88. package/dist/core/server/threads/threadServer.js.map +1 -1
  89. package/dist/core/server/throttle.js +17 -0
  90. package/dist/core/server/throttle.js.map +1 -1
  91. package/dist/core/utility/environment/environmentManager.js +9 -4
  92. package/dist/core/utility/environment/environmentManager.js.map +1 -1
  93. package/dist/core/utility/environment/systemInformation.js +359 -219
  94. package/dist/core/utility/environment/systemInformation.js.map +1 -1
  95. package/dist/core/utility/hdbTerms.js +1 -0
  96. package/dist/core/utility/hdbTerms.js.map +1 -1
  97. package/dist/core/utility/operation_authorization.js +2 -2
  98. package/dist/core/utility/operation_authorization.js.map +1 -1
  99. package/dist/licensing/usageLicensing.js +1 -1
  100. package/dist/licensing/usageLicensing.js.map +1 -1
  101. package/dist/replication/replicationConnection.js +1 -0
  102. package/dist/replication/replicationConnection.js.map +1 -1
  103. package/dist/replication/setNode.js +1 -1
  104. package/dist/replication/setNode.js.map +1 -1
  105. package/dist/replication/subscriptionManager.js +1 -0
  106. package/dist/replication/subscriptionManager.js.map +1 -1
  107. package/licensing/usageLicensing.ts +1 -1
  108. package/npm-shrinkwrap.json +1880 -891
  109. package/package.json +14 -13
  110. package/replication/replicationConnection.ts +1 -0
  111. package/replication/setNode.ts +1 -1
  112. package/replication/subscriptionManager.ts +1 -0
  113. package/studio/web/assets/{index-CjeZNBFc.js → index-qbLPhOzw.js} +2 -2
  114. package/studio/web/assets/{index-CjeZNBFc.js.map → index-qbLPhOzw.js.map} +1 -1
  115. package/studio/web/index.html +1 -1
  116. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -25
  117. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +0 -34
  118. package/core/utility/environment/systemInformation.js +0 -355
  119. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -24
  120. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../core/resources/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../core/resources/graphql.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,12 @@ class HierarchicalNavigableSmallWorld {
42
42
  // (we would actually like to use float16 if it were available)
43
43
  this.indexStore.encoder.useFloat32 = msgpackr_1.FLOAT32_OPTIONS.ALWAYS;
44
44
  }
45
- this.distance = options?.distance === 'euclidean' ? vector_ts_1.euclideanDistance : vector_ts_1.cosineDistance;
45
+ this.distance =
46
+ options?.distance === 'euclidean'
47
+ ? vector_ts_1.euclideanDistance
48
+ : options?.distance === 'dotProduct'
49
+ ? vector_ts_1.dotProductDistance
50
+ : vector_ts_1.cosineDistance;
46
51
  if (options) {
47
52
  // allow all the HNSW parameters to be configured/tuned
48
53
  if (options.M !== undefined) {
@@ -432,6 +437,8 @@ class HierarchicalNavigableSmallWorld {
432
437
  distanceFunction = vector_ts_1.cosineDistance;
433
438
  else if (distance === 'euclidean')
434
439
  distanceFunction = vector_ts_1.euclideanDistance;
440
+ else if (distance === 'dotProduct')
441
+ distanceFunction = vector_ts_1.dotProductDistance;
435
442
  else if (distance)
436
443
  throw new hdbError_js_1.ClientError('Unknown distance function');
437
444
  else
@@ -605,7 +612,12 @@ class HierarchicalNavigableSmallWorld {
605
612
  vectorDistances = context.vectorDistances = sortDefinition.vectorDistances = new Map();
606
613
  let distanceFunction = this.distance;
607
614
  if (sortDefinition.type)
608
- distanceFunction = sortDefinition.distance === 'euclidean' ? vector_ts_1.euclideanDistance : vector_ts_1.cosineDistance;
615
+ distanceFunction =
616
+ sortDefinition.distance === 'euclidean'
617
+ ? vector_ts_1.euclideanDistance
618
+ : sortDefinition.distance === 'dotProduct'
619
+ ? vector_ts_1.dotProductDistance
620
+ : vector_ts_1.cosineDistance;
609
621
  const distance = distanceFunction(sortDefinition.target, vector);
610
622
  vectorDistances.set(entry, distance);
611
623
  return distance;
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalNavigableSmallWorld.js","sourceRoot":"","sources":["../../../../core/resources/indexes/HierarchicalNavigableSmallWorld.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HierarchicalNavigableSmallWorld.js","sourceRoot":"","sources":["../../../../core/resources/indexes/HierarchicalNavigableSmallWorld.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.euclideanDistance = euclideanDistance;
4
4
  exports.cosineDistance = cosineDistance;
5
+ exports.dotProductDistance = dotProductDistance;
5
6
  function euclideanDistance(a, b) {
6
7
  // Euclidean distance
7
8
  if (!Array.isArray(a) || !Array.isArray(b)) {
@@ -37,4 +38,17 @@ function cosineDistance(a, b) {
37
38
  magnitudeB = Math.sqrt(magnitudeB);
38
39
  return 1 - dotProduct / (magnitudeA * magnitudeB || 1);
39
40
  }
41
+ function dotProductDistance(a, b) {
42
+ if (!Array.isArray(a) || !Array.isArray(b)) {
43
+ throw new Error('Inner product comparison requires an array');
44
+ }
45
+ let dotProduct = 0;
46
+ const length = Math.max(a.length, b.length);
47
+ for (let i = 0; i < length; i++) {
48
+ const va = a[i] || 0;
49
+ const vb = b[i] || 0;
50
+ dotProduct += va * vb;
51
+ }
52
+ return -dotProduct;
53
+ }
40
54
  //# sourceMappingURL=vector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../core/resources/indexes/vector.ts"],"names":[],"mappings":";;AAAA,8CAcC;AAED,wCAqBC;AArCD,SAAgB,iBAAiB,CAAC,CAAW,EAAE,CAAW;IACzD,qBAAqB;IACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;QACzB,eAAe,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxC,CAAC;IACD,OAAO,eAAe,CAAC,CAAC,sFAAsF;AAC/G,CAAC;AAED,SAAgB,cAAc,CAAC,CAAW,EAAE,CAAW;IACtD,gEAAgE;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,UAAU,IAAI,EAAE,GAAG,EAAE,CAAC;QACtB,UAAU,IAAI,EAAE,GAAG,EAAE,CAAC;QACtB,UAAU,IAAI,EAAE,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,UAAU,GAAG,CAAC,UAAU,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../core/resources/indexes/vector.ts"],"names":[],"mappings":"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"}
@@ -3,26 +3,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.start = start;
6
+ exports.handleApplication = handleApplication;
7
7
  const dotenv_1 = require("dotenv");
8
8
  const harper_logger_js_1 = __importDefault(require("../utility/logging/harper_logger.js"));
9
- function start({ override }) {
10
- return {
11
- handleFile: (contents, _, filePath) => {
12
- harper_logger_js_1.default.debug(`Loading env file: ${filePath}`);
13
- for (const [key, value] of Object.entries((0, dotenv_1.parse)(contents))) {
14
- if (process.env[key] !== undefined) {
15
- harper_logger_js_1.default.warn(`Environment variable conflict: ${key} from ${filePath} is already set on process.env`);
16
- if (override) {
17
- harper_logger_js_1.default.debug(`override option enabled. overriding environment variable: ${key}`);
18
- }
19
- else {
20
- continue;
21
- }
9
+ function handleApplication(scope) {
10
+ const override = scope.options.getAll().override ?? false;
11
+ scope.handleEntry((entry) => {
12
+ if (entry.eventType !== 'add') {
13
+ scope.requestRestart();
14
+ return;
15
+ }
16
+ harper_logger_js_1.default.debug(`Loading env file: ${entry.absolutePath}`);
17
+ for (const [key, value] of Object.entries((0, dotenv_1.parse)(entry.contents))) {
18
+ if (process.env[key] !== undefined) {
19
+ harper_logger_js_1.default.warn(`Environment variable conflict: ${key} from ${entry.absolutePath} is already set on process.env`);
20
+ if (override) {
21
+ harper_logger_js_1.default.debug(`override option enabled. overriding environment variable: ${key}`);
22
+ }
23
+ else {
24
+ continue;
22
25
  }
23
- process.env[key] = value;
24
26
  }
25
- },
26
- };
27
+ process.env[key] = value;
28
+ }
29
+ });
27
30
  }
28
31
  //# sourceMappingURL=loadEnv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadEnv.js","sourceRoot":"","sources":["../../../core/resources/loadEnv.ts"],"names":[],"mappings":";;;;;AAGA,sBAkBC;AArBD,mCAA+B;AAC/B,2FAAyD;AAEzD,SAAgB,KAAK,CAAC,EAAE,QAAQ,EAAyB;IACxD,OAAO;QACN,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YACrC,0BAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACpC,0BAAM,CAAC,IAAI,CAAC,kCAAkC,GAAG,SAAS,QAAQ,gCAAgC,CAAC,CAAC;oBACpG,IAAI,QAAQ,EAAE,CAAC;wBACd,0BAAM,CAAC,KAAK,CAAC,6DAA6D,GAAG,EAAE,CAAC,CAAC;oBAClF,CAAC;yBAAM,CAAC;wBACP,SAAS;oBACV,CAAC;gBACF,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"loadEnv.js","sourceRoot":"","sources":["../../../core/resources/loadEnv.ts"],"names":[],"mappings":";;;;;AAIA,8CAqBC;AAzBD,mCAA+B;AAC/B,2FAAyD;AAGzD,SAAgB,iBAAiB,CAAC,KAAY;IAC7C,MAAM,QAAQ,GAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAA6B,CAAC,QAAQ,IAAI,KAAK,CAAC;IACtF,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QACD,0BAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAClE,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpC,0BAAM,CAAC,IAAI,CAAC,kCAAkC,GAAG,SAAS,KAAK,CAAC,YAAY,gCAAgC,CAAC,CAAC;gBAC9G,IAAI,QAAQ,EAAE,CAAC;oBACd,0BAAM,CAAC,KAAK,CAAC,6DAA6D,GAAG,EAAE,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACP,SAAS;gBACV,CAAC;YACF,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.start = start;
3
+ exports.handleApplication = handleApplication;
4
4
  const Resource_ts_1 = require("./Resource.js");
5
- function start({ resources }) {
6
- resources.set('login', Login);
7
- resources.loginPath = (request) => {
5
+ function handleApplication(scope) {
6
+ scope.resources.set('login', Login);
7
+ scope.resources.loginPath = (request) => {
8
8
  return '/login?redirect=' + encodeURIComponent(request.url);
9
9
  };
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../core/resources/login.ts"],"names":[],"mappings":";;AACA,sBAKC;AAND,+CAAyC;AACzC,SAAgB,KAAK,CAAC,EAAE,SAAS,EAAE;IAClC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,SAAS,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QACjC,OAAO,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC,CAAC;AACH,CAAC;AACD,MAAM,KAAM,SAAQ,sBAAQ;IAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ;QACpC,4BAA4B;IAC7B,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO;QACnC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACN,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7C,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../core/resources/login.ts"],"names":[],"mappings":";;AAEA,8CAKC;AAPD,+CAAyC;AAEzC,SAAgB,iBAAiB,CAAC,KAAY;IAC7C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QACvC,OAAO,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC,CAAC;AACH,CAAC;AACD,MAAM,KAAM,SAAQ,sBAAQ;IAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ;QACpC,4BAA4B;IAC7B,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO;QACnC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACN,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7C,CAAC;IACH,CAAC;CACD"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startOnMainThread = void 0;
4
- exports.start = start;
3
+ exports.handleApplication = handleApplication;
5
4
  const databases_ts_1 = require("./databases.js");
6
5
  const role_js_1 = require("../security/role.js");
7
6
  const yaml_1 = require("yaml");
@@ -11,75 +10,75 @@ const USERS_NOT_DBS = ['super_user', 'structure_user'];
11
10
  * This is the component for handling role declarations in the Harper system. This will read roles.yaml for role
12
11
  * definitions and ensure that they are created in the system database.
13
12
  */
14
- // eslint-disable-next-line no-unused-vars
15
- function start({ ensureTable }) {
16
- return {
17
- handleFile,
18
- setupFile: handleFile,
19
- };
20
- /**
21
- * This function will handle the roles.yaml file content that has been read, and ensure that the roles are translated to
22
- * the right shape and created in the system database.
23
- * @param rolesContent
24
- */
25
- async function handleFile(rolesContent) {
26
- let rolesToDefine = (0, yaml_1.parseDocument)(rolesContent.toString(), { simpleKeys: true }).toJSON();
27
- for (let roleName in rolesToDefine) {
28
- let role = rolesToDefine[roleName];
29
- if (!role.permission) {
30
- // we allow the permission object to be collapsed into the root object for convenience
31
- role = {
32
- permission: role,
33
- };
34
- if (role.permission.access) {
35
- // this is the designed property object for user-defined flags and access levels
36
- role.access = role.permission.access;
37
- delete role.permission.access;
38
- }
13
+ function handleApplication(scope) {
14
+ scope.handleEntry(async (entry) => {
15
+ if (entry.eventType === 'unlink')
16
+ return;
17
+ return handleFile(entry.contents);
18
+ });
19
+ }
20
+ /**
21
+ * This function will handle the roles.yaml file content that has been read, and ensure that the roles are translated to
22
+ * the right shape and created in the system database.
23
+ * @param rolesContent
24
+ */
25
+ async function handleFile(rolesContent) {
26
+ let rolesToDefine = (0, yaml_1.parseDocument)(rolesContent.toString(), { simpleKeys: true }).toJSON();
27
+ for (let roleName in rolesToDefine) {
28
+ let role = rolesToDefine[roleName];
29
+ if (!role.permission) {
30
+ // we allow the permission object to be collapsed into the root object for convenience
31
+ role = {
32
+ permission: role,
33
+ };
34
+ if (role.permission.access) {
35
+ // this is the designed property object for user-defined flags and access levels
36
+ role.access = role.permission.access;
37
+ delete role.permission.access;
39
38
  }
40
- for (let dbName in role.permission) {
41
- if (USERS_NOT_DBS.includes(dbName))
42
- continue;
43
- let db = role.permission[dbName];
44
- if (!db.tables) {
45
- // we allow the tables object to be collapsed into the root object for convenience
46
- role.permission[dbName] = db = { tables: db };
47
- }
48
- for (let tableName in db.tables) {
49
- let table = db.tables[tableName];
50
- // ensure that all the flags are boolean
51
- table.read = Boolean(table.read);
52
- table.insert = Boolean(table.insert);
53
- table.update = Boolean(table.update);
54
- table.delete = Boolean(table.delete);
55
- if (table.attributes) {
56
- // allow attributes to be defined with an object, translating to an array
57
- let attributes = [];
58
- for (let attribute_name in table.attributes) {
59
- let attribute = table.attributes[attribute_name];
60
- attribute.attribute_name = attribute_name;
61
- attributes.push(attribute);
62
- }
63
- table.attribute_permissions = attributes;
64
- delete table.attributes;
39
+ }
40
+ for (let dbName in role.permission) {
41
+ if (USERS_NOT_DBS.includes(dbName))
42
+ continue;
43
+ let db = role.permission[dbName];
44
+ if (!db.tables) {
45
+ // we allow the tables object to be collapsed into the root object for convenience
46
+ role.permission[dbName] = db = { tables: db };
47
+ }
48
+ for (let tableName in db.tables) {
49
+ let table = db.tables[tableName];
50
+ // ensure that all the flags are boolean
51
+ table.read = Boolean(table.read);
52
+ table.insert = Boolean(table.insert);
53
+ table.update = Boolean(table.update);
54
+ table.delete = Boolean(table.delete);
55
+ if (table.attributes) {
56
+ // allow attributes to be defined with an object, translating to an array
57
+ let attributes = [];
58
+ for (let attribute_name in table.attributes) {
59
+ let attribute = table.attributes[attribute_name];
60
+ attribute.attribute_name = attribute_name;
61
+ attributes.push(attribute);
65
62
  }
66
- if (table.attribute_permissions) {
67
- if (!Array.isArray(table.attribute_permissions))
68
- throw new Error('attribute_permissions must be an array if defined');
69
- for (let attribute of table.attribute_permissions) {
70
- // ensure that all the flags are boolean
71
- attribute.read = Boolean(attribute.read);
72
- attribute.insert = Boolean(attribute.insert);
73
- attribute.update = Boolean(attribute.update);
74
- }
63
+ table.attribute_permissions = attributes;
64
+ delete table.attributes;
65
+ }
66
+ if (table.attribute_permissions) {
67
+ if (!Array.isArray(table.attribute_permissions))
68
+ throw new Error('attribute_permissions must be an array if defined');
69
+ for (let attribute of table.attribute_permissions) {
70
+ // ensure that all the flags are boolean
71
+ attribute.read = Boolean(attribute.read);
72
+ attribute.insert = Boolean(attribute.insert);
73
+ attribute.update = Boolean(attribute.update);
75
74
  }
76
- else
77
- table.attribute_permissions = null;
78
75
  }
76
+ else
77
+ table.attribute_permissions = null;
79
78
  }
80
- role.role = role.id = roleName;
81
- await ensureRole(role);
82
79
  }
80
+ role.role = role.id = roleName;
81
+ await ensureRole(role);
83
82
  }
84
83
  }
85
84
  async function ensureRole(role) {
@@ -96,7 +95,4 @@ async function ensureRole(role) {
96
95
  }
97
96
  return (0, role_js_1.addRole)(role);
98
97
  }
99
- // we can define these on the main thread
100
- exports.startOnMainThread = start;
101
- // useful for testing
102
98
  //# sourceMappingURL=roles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../core/resources/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../core/resources/roles.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.bypassAuth = bypassAuth;
40
40
  exports.authentication = authentication;
41
- exports.start = start;
41
+ exports.handleApplication = handleApplication;
42
42
  exports.login = login;
43
43
  exports.logout = logout;
44
44
  const user_ts_1 = require("./user.js");
@@ -270,7 +270,9 @@ async function authentication(request, nextHandler) {
270
270
  request.user = await Server_ts_1.server.getUser(session.user, null, request);
271
271
  }
272
272
  else if ((AUTHORIZE_LOCAL && (request.ip?.includes('127.0.0.') || request.ip == '::1')) ||
273
- (request?._nodeRequest?.socket?.server?._pipeName && request.ip === undefined) // allow socket domain
273
+ (request?._nodeRequest?.socket?.server?._pipeName &&
274
+ request?._nodeRequest?.socket?.server?.bypassLocalAuth &&
275
+ request.ip === undefined) // allow operations API domain socket
274
276
  ) {
275
277
  request.user = await (0, user_ts_1.getSuperUser)();
276
278
  }
@@ -374,19 +376,19 @@ async function authentication(request, nextHandler) {
374
376
  return response;
375
377
  }
376
378
  }
377
- let started;
378
- function start({ server, port, securePort }) {
379
- server.http(authentication, port || securePort ? { port, securePort } : { port: 'all' });
380
- // keep it cleaned out periodically
381
- if (!started) {
382
- started = true;
383
- setInterval(() => {
384
- authorizationCache = new Map();
385
- }, env.get(hdbTerms_ts_1.CONFIG_PARAMS.AUTHENTICATION_CACHETTL)).unref();
386
- user.addListener(() => {
387
- authorizationCache = new Map();
388
- });
389
- }
379
+ setInterval(() => {
380
+ authorizationCache = new Map();
381
+ }, env.get(hdbTerms_ts_1.CONFIG_PARAMS.AUTHENTICATION_CACHETTL)).unref();
382
+ user.addListener(() => {
383
+ authorizationCache = new Map();
384
+ });
385
+ let started = false;
386
+ function handleApplication(scope) {
387
+ if (started)
388
+ return;
389
+ started = true;
390
+ const { port, securePort } = scope.options.getAll();
391
+ scope.server.http(authentication, port || securePort ? { port, securePort } : { port: 'all' });
390
392
  }
391
393
  // operations
392
394
  async function login(loginObject) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../core/security/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,gCAEC;AAGD,wCAqSC;AAED,sBAYC;AAED,sBAQC;AAED,wBAIC;AAvXD,uCAAyC;AACzC,mDAA6C;AAC7C,4DAAsD;AACtD,qEAAwF;AACxF,4DAAkD;AAClD,+BAAkC;AAClC,kFAAoE;AACpE,wDAA4F;AAC5F,2FAA+D;AAC/D,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,0BAAY,CAAC;AACpD,wFAA6D;AAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,2BAAc,CAAC;AAChC,mEAA6D;AAC7D,gEAAyD;AACzD,iEAAuE;AACvE,6EAA2E;AAC3E,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAClD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;AAC7B,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACtD,GAAG,CAAC,QAAQ,EAAE,CAAC;AAEf,MAAM,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,mBAAmB,CAAC,CAAC;AACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,SAAS,CAAC,CAAC;AAClD,MAAM,wBAAwB,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,oCAAoC,CAAC,CAAC;AAC7F,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,0BAA0B,CAAC,CAAC;AAEzE,MAAM,YAAY,GAAG,IAAA,oBAAK,EAAC;IAC1B,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;CAClE,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,6BAA6B,CAAC,IAAI,IAAI,CAAC;AACrF,gIAAgI;AAChI,IAAI,eAAe,GAClB,OAAO,CAAC,GAAG,CAAC,6BAA6B;IACzC,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,6BAA6B,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACtB,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,qCAAqC,CAAC,IAAI,KAAK,CAAC;AAClG,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,iCAAiC,CAAC,IAAI,KAAK,CAAC;AAE1F,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAE/D,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;AACnC,kBAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;IAC7B,8EAA8E;IAC9E,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH,SAAgB,UAAU;IACzB,eAAe,GAAG,IAAI,CAAC;AACxB,CAAC;AAED,yFAAyF;AAClF,KAAK,UAAU,cAAc,CAAC,OAAO,EAAE,WAAW;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,uEAAuE;IACjH,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACJ,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB;gBAC5C,CAAC,CAAC,cAAc;oBACf,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,EAAE;gBACL,CAAC,CAAC,QAAQ;oBACT,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAClC,MAAM,yBAAyB,GAC9B,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,kCAAkC,CAAC,IAAI,qCAAqC,CAAC;oBAEpG,oBAAoB;oBACpB,MAAM,OAAO,GAAG,IAAI,oBAAO,CAAC;wBAC3B,CAAC,8BAA8B,EAAE,wCAAwC,CAAC;wBAC1E,CAAC,8BAA8B,EAAE,yBAAyB,CAAC;wBAC3D,CAAC,6BAA6B,EAAE,MAAM,CAAC;qBACvC,CAAC,CAAC;oBACH,IAAI,eAAe;wBAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;oBAC7E,OAAO;wBACN,MAAM,EAAE,GAAG;wBACX,OAAO;qBACP,CAAC;gBACH,CAAC;gBACD,eAAe,CAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;gBAC5D,IAAI,eAAe;oBAAE,eAAe,CAAC,IAAI,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;YACvF,CAAC;QACF,CAAC;QACD,IAAI,SAAS,CAAC;QACd,IAAI,OAAO,CAAC;QACZ,IAAI,eAAe,EAAE,CAAC;YACrB,sGAAsG;YACtG,gCAAgC;YAChC,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YACnC,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;YAClH,MAAM,OAAO,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAChC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChF,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5C,MAAM;gBACP,CAAC;YACF,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,YAAY,CAC3B,QAAQ,EACR,MAAM,EACN,8BAAgB,CAAC,cAAc,EAC/B,OAAO,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,EAAE,EACxC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,CAChB,CAAC;YACF,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC7B,IAAI,SAAS;gBAAE,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;YAC1C,IAAI,OAAO,CAAC,SAAS,CAAC;gBAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEtD,IAAI,MAAM,KAAK,+BAAiB,CAAC,OAAO;gBAAE,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;;gBAC9D,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,IACC,CAAC,OAAO,CAAC,UAAU;YACnB,OAAO,CAAC,UAAU;YAClB,OAAO,CAAC,eAAe,CAAC,OAAO;YAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB;YAEjD,YAAY,CAAC,KAAK,EAAE,CAAC,sBAAsB,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAE9F,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YACjF,MAAM,kBAAkB,GAAG,MAAM,IAAA,4BAAiB,EAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAChG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC/B,YAAY,CAAC,KAAK,EAAE,CACnB,kCAAkC,EAClC,kBAAkB,CAAC,MAAM,EACzB,KAAK,EACL,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAClC,CAAC;gBACF,OAAO,oBAAoB,CAAC;oBAC3B,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,IAAA,kCAAgB,EAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,EAAE,OAAO,CAAC;iBACxF,CAAC,CAAC;YACJ,CAAC;YAED,uFAAuF;YACvF,2EAA2E;YAC3E,kCAAkC;YAClC,mEAAmE;YACnE,yBAAyB;YACzB,IAAI;YAEJ,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACvB,sFAAsF;gBACtF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,IAAI;oBAC5E,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC7D,YAAY,CAAC,QAAQ,EAAE,+BAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,sEAAsE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACnG,CAAC;QACF,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,wBAAwB;QACzB,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;gBACtB,gFAAgF;gBAChF,yEAAyE;gBACzE,0FAA0F;gBAC1F,OAAO,GAAG,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;YAC1G,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACvB,OAAO,GAAG,UAAU,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBACpD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBACxD,IAAI,QAAQ,EAAE,QAAQ,CAAC;gBACvB,IAAI,CAAC;oBACJ,QAAQ,QAAQ,EAAE,CAAC;wBAClB,KAAK,OAAO;4BACX,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;4BAClC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4BACxC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;4BACxC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;4BACzC,gFAAgF;4BAChF,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,kBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC1F,MAAM;wBACP,KAAK,QAAQ;4BACZ,IAAI,CAAC;gCACJ,OAAO,GAAG,MAAM,IAAA,+CAAsB,EAAC,WAAW,CAAC,CAAC;4BACrD,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCAChB,IAAI,KAAK,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;oCACvC,2FAA2F;oCAC3F,IAAI,CAAC;wCACJ,MAAM,IAAA,6CAAoB,EAAC,WAAW,CAAC,CAAC;wCACxC,OAAO,oBAAoB,CAAC;4CAC3B,4EAA4E;4CAC5E,0CAA0C;4CAC1C,MAAM,EAAE,CAAC,CAAC;yCACV,CAAC,CAAC;oCACJ,CAAC;oCAAC,MAAM,CAAC;wCACR,MAAM,KAAK,CAAC;oCACb,CAAC;gCACF,CAAC;4BACF,CAAC;4BACD,MAAM;oBACR,CAAC;gBACF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,IAAI,eAAe,EAAE,CAAC;wBACrB,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;4BACpB,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;4BACjD,YAAY,CAAC,QAAQ,EAAE,+BAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAC7D,CAAC;oBACF,CAAC;oBAED,OAAO,oBAAoB,CAAC;wBAC3B,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,IAAA,kCAAgB,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC;qBACvD,CAAC,CAAC;gBACJ,CAAC;gBAED,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAI,mBAAmB;oBAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC7F,gFAAgF;gBAChF,iEAAiE;gBACjE,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;oBACnB,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;gBACjG,CAAC;YACF,CAAC;YAED,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAC1B,2CAA2C;YAC3C,OAAO,CAAC,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;aAAM,IACN,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;YAC9E,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,sBAAsB;UACpG,CAAC;YACF,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,sBAAY,GAAE,CAAC;QACrC,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,cAAc;gBAChD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,6BAA6B,CAAC,CAAC;gBACrE,MAAM,SAAS,GACd,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAC5B,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;oBACtC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;oBACtC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,SAAS,GAAG,IAAA,SAAI,GAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,6BAA6B,CAAC,CAAC;oBACrE,MAAM,aAAa,GAAG,OAAO;wBAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,6BAAW,EAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC3D,CAAC,CAAC,sBAAsB,CAAC;oBAC1B,MAAM,MAAM,GACX,OAAO,CAAC,IAAI;wBACZ,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;4BACxB,6CAA6C;4BAC7C,qGAAqG;4BACrG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;gCAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACrD,sFAAsF;4BACtF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4BAC5C,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;4BAChF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAC9B,CAAC,CAAC,CAAC;oBACJ,MAAM,YAAY,GACjB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;oBAC9F,kEAAkE;oBAClE,wDAAwD;oBACxD,IAAI,MAAM,GAAG,GAAG,YAAY,GAAG,SAAS,qBAAqB,aAAa,YAAY,CAAC;oBACvF,IAAI,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,YAAY,MAAM,EAAE,CAAC;oBAChC,CAAC;oBAED,IAAI,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,yBAAyB,CAAC;oBACrC,CAAC;oBACD,IAAI,eAAe,EAAE,CAAC;wBACrB,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;wBACnC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBAC5C,CAAC;gBACF,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACf,uDAAuD;oBACvD,gFAAgF;oBAChF,2DAA2D;oBAC3D,IAAI,eAAe,EAAE,CAAC;wBACrB,IAAI,MAAM;4BAAE,eAAe,CAAC,IAAI,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;wBACnF,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;wBACnC,IAAI,MAAM;4BAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;wBACnF,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;oBACjD,CAAC;gBACF,CAAC;gBACD,cAAc,CAAC,EAAE,GAAG,SAAS,CAAC;gBAC9B,OAAO,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE;oBACvC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,6BAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;iBAClE,CAAC,CAAC;YACJ,CAAC,CAAC;YACF,OAAO,CAAC,KAAK,GAAG,KAAK,WAAW,QAAgB,EAAE,QAAgB;gBACjE,MAAM,IAAI,GAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,kBAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9F,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,IACC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC;gBAC5C,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;gBACvC,wBAAS,CAAC,SAAS,EAClB,CAAC;gBACF,mEAAmE;gBACnE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,wBAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,8EAA8E;;gBAC3E,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,SAAS,oBAAoB,CAAC,QAAQ;QACrC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACX,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,IAAI,oBAAO,EAAE,CAAC;YACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAI,CAAC;gBACzB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;QACD,eAAe,GAAG,IAAI,CAAC;QACvB,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC;AACD,IAAI,OAAO,CAAC;AACZ,SAAgB,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;IACjD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzF,mCAAmC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,CAAC;QACf,WAAW,CAAC,GAAG,EAAE;YAChB,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACrB,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AACD,aAAa;AACN,KAAK,UAAU,KAAK,CAAC,WAAW;IACtC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC7E,oGAAoG;IACpG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtD,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,MAAM,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACtF,OAAO,kBAAkB,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,YAAY;IACxC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAChF,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,mBAAmB,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../core/security/auth.ts"],"names":[],"mappings":"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"}