@harperfast/harper 5.0.0-beta.5 → 5.0.0-beta.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 (44) hide show
  1. package/components/Application.ts +3 -2
  2. package/components/ApplicationScope.ts +3 -3
  3. package/components/componentLoader.ts +9 -4
  4. package/dist/components/Application.js +2 -2
  5. package/dist/components/Application.js.map +1 -1
  6. package/dist/components/ApplicationScope.d.ts +1 -1
  7. package/dist/components/ApplicationScope.js +2 -2
  8. package/dist/components/ApplicationScope.js.map +1 -1
  9. package/dist/components/componentLoader.js +11 -7
  10. package/dist/components/componentLoader.js.map +1 -1
  11. package/dist/resources/analytics/metadata.d.ts +1 -0
  12. package/dist/resources/analytics/metadata.js +1 -0
  13. package/dist/resources/analytics/metadata.js.map +1 -1
  14. package/dist/resources/analytics/read.js +1 -1
  15. package/dist/resources/analytics/read.js.map +1 -1
  16. package/dist/resources/analytics/write.d.ts +1 -0
  17. package/dist/resources/analytics/write.js +36 -0
  18. package/dist/resources/analytics/write.js.map +1 -1
  19. package/dist/resources/databases.js +16 -11
  20. package/dist/resources/databases.js.map +1 -1
  21. package/dist/security/jsLoader.js +55 -43
  22. package/dist/security/jsLoader.js.map +1 -1
  23. package/dist/server/http.js +1 -1
  24. package/dist/server/http.js.map +1 -1
  25. package/dist/utility/logging/harper_logger.d.ts +2 -1
  26. package/dist/utility/logging/harper_logger.js +23 -10
  27. package/dist/utility/logging/harper_logger.js.map +1 -1
  28. package/package.json +1 -1
  29. package/resources/analytics/metadata.ts +1 -0
  30. package/resources/analytics/read.ts +1 -1
  31. package/resources/analytics/write.ts +37 -2
  32. package/resources/databases.ts +21 -13
  33. package/security/jsLoader.ts +57 -47
  34. package/server/http.ts +1 -1
  35. package/studio/web/assets/{index-ZhLX9iRh.js → index-BckVDix4.js} +5 -5
  36. package/studio/web/assets/{index-ZhLX9iRh.js.map → index-BckVDix4.js.map} +1 -1
  37. package/studio/web/assets/{index.lazy-DzgnppiN.js → index.lazy-iG1_8dzm.js} +2 -2
  38. package/studio/web/assets/{index.lazy-DzgnppiN.js.map → index.lazy-iG1_8dzm.js.map} +1 -1
  39. package/studio/web/assets/{profile-DJ9V18dX.js → profile-CzjslUXv.js} +2 -2
  40. package/studio/web/assets/{profile-DJ9V18dX.js.map → profile-CzjslUXv.js.map} +1 -1
  41. package/studio/web/assets/{status-DKZUoEUd.js → status-BP4TQJDR.js} +2 -2
  42. package/studio/web/assets/{status-DKZUoEUd.js.map → status-BP4TQJDR.js.map} +1 -1
  43. package/studio/web/index.html +1 -1
  44. package/utility/logging/harper_logger.js +22 -10
@@ -126,7 +126,7 @@ declare class HarperLogger extends HarperLogger_base {
126
126
  hasComponent(_name: any): boolean;
127
127
  }
128
128
  export declare function getLogFilePath(): any;
129
- export declare function forComponent(name: any): any;
129
+ export declare function forComponent(name: any, isExternal: any): any;
130
130
  export declare namespace externalLogger {
131
131
  function notify(...args: any[]): void;
132
132
  function fatal(...args: any[]): void;
@@ -137,5 +137,6 @@ export declare namespace externalLogger {
137
137
  function trace(...args: any[]): void;
138
138
  function withTag(tag: any): any;
139
139
  function loggerWithTag(tag: any): any;
140
+ function forComponent(name: any): any;
140
141
  }
141
142
  export { updateLogSettings as start, updateLogSettings as startOnMainThread };
@@ -79,7 +79,7 @@ function updateLogger(logger, logOptions, name) {
79
79
  logger.logToStdstreams = logOptions.stdStreams ?? false;
80
80
  // if there is a configured tag or if a component is logging to default/main log path, use the component name as the tag
81
81
  // to differentiate it
82
- logger.tag = logOptions.tag ?? (mainLogger.path === logger.path && name);
82
+ logger.tag = logOptions.tag ?? ((mainLogger.path === logger.path || externalLogger.path === logger.path) && name);
83
83
  }
84
84
  // creates a logger where the methods are only defined if they are within the log level.
85
85
  // Using this conditional logger means that every method call must be optional like log.trace?.('message),
@@ -111,6 +111,10 @@ async function updateLogSettings() {
111
111
  logConsole = logOptions.console ?? false;
112
112
  if (logOptions.external) {
113
113
  updateLogger(externalLogger, logOptions.external);
114
+ for (let [name, component] of mainLogger.components) {
115
+ if (!(rootConfigObject[name] && rootConfigObject[name].logging) && component.isExternal)
116
+ updateLogger(component, logOptions.external, name);
117
+ }
114
118
  }
115
119
  for (const name in rootConfigObject) {
116
120
  // we now scan each component to see if it has logging individual configured
@@ -119,7 +123,8 @@ async function updateLogSettings() {
119
123
  updateLogger(mainLogger.forComponent(name), component.logging, name);
120
124
  }
121
125
  else if (mainLogger.hasComponent(name)) {
122
- updateLogger(mainLogger.forComponent(name), logOptions, name);
126
+ const componentLogger = mainLogger.forComponent(name);
127
+ updateLogger(componentLogger, (componentLogger.isExternal && logOptions.external) ?? logOptions, name);
123
128
  }
124
129
  }
125
130
  }
@@ -224,7 +229,7 @@ module.exports = {
224
229
  createLogger,
225
230
  logsAtLevel,
226
231
  getLogFilePath: () => logFilePath,
227
- forComponent: (name) => mainLogger.forComponent(name),
232
+ forComponent: (name, isExternal) => mainLogger.forComponent(name, isExternal),
228
233
  setMainLogger,
229
234
  setLogLevel,
230
235
  OUTPUTS,
@@ -270,6 +275,9 @@ module.exports.externalLogger = {
270
275
  loggerWithTag(tag) {
271
276
  return externalLogger.withTag(tag);
272
277
  },
278
+ forComponent(name) {
279
+ return externalLogger.forComponent(name);
280
+ },
273
281
  };
274
282
  _assignPackageExport('logger', module.exports.externalLogger);
275
283
  /**
@@ -448,7 +456,7 @@ let currentTag;
448
456
  function createLogger({ path: logFilePath, level: logLevel, stdStreams: logToStdstreams, rotation, isExternalInstance, writeToLog, component, }) {
449
457
  if (!logLevel)
450
458
  logLevel = 'info';
451
- let level = LOG_LEVEL_HIERARCHY[logLevel];
459
+ let level = typeof logLevel === 'number' ? logLevel : LOG_LEVEL_HIERARCHY[logLevel];
452
460
  let logger;
453
461
  /**
454
462
  * Log to std out and/or file
@@ -536,25 +544,30 @@ function createLogger({ path: logFilePath, level: logLevel, stdStreams: logToStd
536
544
  logger.logToStdstreams = logToStdstreams;
537
545
  if (!component) {
538
546
  let components = new Map();
539
- logger.forComponent = function (name) {
547
+ logger.forComponent = function (name, isExternal = false) {
540
548
  let componentLogger = components.get(name);
541
549
  if (!componentLogger) {
550
+ const protoLogger = isExternal ? externalLogger : logger;
542
551
  componentLogger = createLogger({
543
- path: logFilePath,
544
- level: logLevel,
545
- stdStreams: logToStdstreams,
546
- isExternalInstance: name === 'external',
547
- rotation,
552
+ path: protoLogger.path,
553
+ level: protoLogger.level,
554
+ stdStreams: protoLogger.logToStdstreams,
555
+ isExternalInstance: isExternal || name === 'external',
556
+ rotation: protoLogger.rotation,
548
557
  writeToLog,
549
558
  component: true,
550
559
  });
560
+ componentLogger.tag = name;
551
561
  components.set(name, componentLogger);
552
562
  }
563
+ if (isExternal)
564
+ componentLogger.isExternal = true;
553
565
  return componentLogger;
554
566
  };
555
567
  logger.hasComponent = function (name) {
556
568
  return components.has(name);
557
569
  };
570
+ logger.components = components;
558
571
  }
559
572
  return logger;
560
573
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harper_logger.js","sourceRoot":"","sources":["../../../utility/logging/harper_logger.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harper_logger.js","sourceRoot":"","sources":["../../../utility/logging/harper_logger.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,+FAA+F;AAC/F,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACzE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC3C,MAAM,qBAAqB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACrE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAClE,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACvC,mHAAmH;AACnH,oEAAoE;AACpE,IAAI,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;IACnD,CAAC,CAAC;QACA,wDAAwD;QACxD,gEAAgE;IACjE,CAAC;IACF,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrF,IAAI,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;AAE5B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,mBAAmB,GAAG;IAC3B,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,OAAO,GAAG;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CAChB,CAAC;AAEF,mCAAmC;AACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAE3F,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC,IAAI,UAAU,CAAC;AACf,IAAI,WAAW,CAAC;AAChB,IAAI,eAAe,CAAC;AACpB,IAAI,SAAS,CAAC;AACd,IAAI,QAAQ,CAAC;AACb,IAAI,OAAO,CAAC;AACZ,IAAI,OAAO,CAAC;AACZ,IAAI,WAAW,CAAC;AAChB,IAAI,UAAU,CAAC;AACf,IAAI,cAAc,CAAC,CAAC,iEAAiE;AACrF,IAAI,SAAS,CAAC;AACd,IAAI,cAAc,CAAC;AACnB,IAAI,cAAc,CAAC;AAEnB,sFAAsF;AACtF,kDAAkD;AAClD,IAAI,aAAa,CAAC;AAElB,IAAI,UAAU,CAAC;AAEf,SAAS,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI;IAC7C,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC3B,IAAI,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACP,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;;QACxB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC;IACtG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;IACxD,wHAAwH;IACxH,sBAAsB;IACtB,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACnH,CAAC;AACD,wFAAwF;AACxF,0GAA0G;AAC1G,wFAAwF;AACxF,sCAAsC;AACtC,SAAS,iBAAiB,CAAC,MAAM;IAChC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IACpE,WAAW,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,WAAW,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,WAAW,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,WAAW,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,WAAW,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,WAAW,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,WAAW,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvG,CAAC;AACD,KAAK,UAAU,iBAAiB;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,6BAA6B;QAC7B,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,0BAA0B;QAC1B,MAAM,UAAU,CAAC,KAAK,CAAC;QACvB,uEAAuE;QACvE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;IACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC;IAClD,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,UAAU,GAAG,UAAU,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU;gBACtF,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACrC,4EAA4E;QAC5E,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACtD,YAAY,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC;QACxG,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,YAAa,SAAQ,OAAO;IACjC,YAAY,OAAO,EAAE,KAAK;QACzB,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,YAAY,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,YAAY,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,YAAY,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,YAAY,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,GAAG,IAAI;QACX,YAAY,GAAG,MAAM,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,YAAY,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,GAAG,IAAI;QACX,YAAY,GAAG,MAAM,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,YAAY,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,YAAY,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC7C,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,YAAY,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,cAAc,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACJ,YAAY,GAAG,OAAO,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAC7C,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,YAAY,GAAG,MAAM,CAAC;QACvB,CAAC;gBAAS,CAAC;YACV,cAAc,GAAG,KAAK,CAAC;QACxB,CAAC;IACF,CAAC;IACD,MAAM,CAAC,GAAG,IAAI;QACb,cAAc,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACJ,YAAY,GAAG,QAAQ,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,YAAY,GAAG,MAAM,CAAC;QACvB,CAAC;gBAAS,CAAC;YACV,cAAc,GAAG,KAAK,CAAC;QACxB,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG;QACV,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,YAAY,CAAC,KAAK;QACjB,iBAAiB;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,YAAY,CAAC,KAAK;QACjB,iBAAiB;QACjB,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAED,IAAI,aAAa,KAAK,SAAS;IAAE,eAAe,EAAE,CAAC;AAEnD,MAAM,CAAC,OAAO,GAAG;IAChB,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,aAAa;IACb,eAAe;IACf,eAAe;IACf,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;IACjC,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC;IAC7E,aAAa;IACb,WAAW;IACX,OAAO;IACP,YAAY;IACZ,sFAAsF;IACtF,2CAA2C;IAC3C,KAAK,EAAE,iBAAiB;IACxB,iBAAiB,EAAE,iBAAiB;IACpC,aAAa;IACb,YAAY;CACZ,CAAC;AAEF;;GAEG;AACH,SAAS,YAAY;IACpB,cAAc,GAAG,cAAa,CAAC,CAAC,CAAC,mBAAmB;AACrD,CAAC;AACD,MAAM,CAAC,OAAO,CAAC,cAAc,GAAG;IAC/B,MAAM,CAAC,GAAG,IAAI;QACb,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,GAAG,IAAI;QACX,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,GAAG,IAAI;QACX,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACZ,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,GAAG;QACV,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,aAAa,CAAC,GAAG;QAChB,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,YAAY,CAAC,IAAI;QAChB,OAAO,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACD,CAAC;AACF,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9D;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAK;IACzB,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,SAAS,GAAG,KAAK;IACzC,IAAI,CAAC;QACJ,IAAI,aAAa,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;YAC9C,YAAY,EAAE,CAAC;YACf,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;YAC7C,IAAI,UAAU,GAAG,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC;gBACJ,aAAa,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,gEAAgE;gBAChE,IACC,CAAC,UAAU,CAAC,QAAQ;oBACpB,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;wBAC1E,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;oBAEzE,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,6DAA6D;YAC7D,iDAAiD;YACjD,IAAI,UAAU,CAAC;YACf,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACzB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBACpE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;oBAC3G,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;YACnE,CAAC;;gBAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,QAAQ,CAAC;YACb,CAAC;gBACA,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,OAAO;gBACtB,MAAM,EAAE,WAAW;gBACnB,UAAU;gBACV,SAAS;gBACT,QAAQ;gBACR,QAAQ,EAAE,eAAe;aACzB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YAE9B,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;YACjC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAErC,UAAU,GAAG,YAAY,CAAC;gBACzB,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,QAAQ;aACR,CAAC,CAAC;YACH,4BAA4B;YAC5B,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACrD,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,uBAAuB;YAClD,IAAI,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACJ,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACpD,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAAC,MAAM,CAAC;oBACR,6CAA6C;gBAC9C,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,aAAa,GAAG,SAAS,CAAC;QAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;YAClH,gHAAgH;YAChH,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;YACpF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,WAAW;oBAAE,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,WAAW,KAAK,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;oBAC1D,QAAQ,GAAG,WAAW,CAAC;oBACvB,SAAS;gBACV,CAAC;gBAED,IAAI,WAAW,KAAK,QAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;oBAC5D,UAAU,GAAG,WAAW,CAAC;gBAC1B,CAAC;YACF,CAAC;YAED,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAE5C,WAAW,GAAG,KAAK,CAAC;YACpB,eAAe,GAAG,IAAI,CAAC;YAEvB,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;YAE5D,UAAU,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/C,4BAA4B;YAC5B,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACrD,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,uBAAuB;YAClD,OAAO;QACR,CAAC;QAED,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACzC,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,GAAG,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;QAAE,eAAe,GAAG,IAAI,CAAC;IACjD,YAAY,EAAE,CAAC;AAChB,CAAC;AACD,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,SAAS,YAAY;IACpB,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,IAAI;YACpC,IACC,OAAO,IAAI,KAAK,QAAQ,IAAI,4EAA4E;gBACxG,cAAc;gBACd,UAAU,EACT,CAAC;gBACF,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;oBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7D,cAAc,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,IAAI;YACpC,IACC,OAAO,IAAI,KAAK,QAAQ,IAAI,4EAA4E;gBACxG,cAAc;gBACd,UAAU,EACT,CAAC;gBACF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;oBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7D,cAAc,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU;IAC3D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,wBAAwB;IACtD,OAAO;QACN,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3C,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QACxC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QACxC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;QACrC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;QACrC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QACxC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;KACxC,CAAC;IACF,SAAS,UAAU,CAAC,YAAY,EAAE,KAAK;QACtC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC;YAChE,CAAC,CAAC,UAAU,GAAG,IAAI;gBACjB,UAAU,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC;oBACJ,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC3C,CAAC;wBAAS,CAAC;oBACV,UAAU,GAAG,SAAS,CAAC;gBACxB,CAAC;YACF,CAAC;YACF,CAAC,CAAC,IAAI,CAAC;IACT,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,QAAQ;IAChC,IAAI,CAAC;QACJ,cAAc,GAAG,KAAK,CAAC;QACvB,QAAQ,EAAE,CAAC;IACZ,CAAC;YAAS,CAAC;QACV,cAAc,GAAG,IAAI,CAAC;IACvB,CAAC;AACF,CAAC;AAED,MAAM,YAAY,GAAG,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;AACpE,iHAAiH;AACjH,kFAAkF;AAClF,IAAI,YAAY,GAAG,MAAM,CAAC,CAAC,kBAAkB;AAC7C,IAAI,kBAAkB,CAAC;AACvB,IAAI,UAAU,CAAC;AACf,SAAS,YAAY,CAAC,EACrB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,eAAe,EAC3B,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,SAAS,GACT;IACA,IAAI,CAAC,QAAQ;QAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,IAAI,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC;IACX;;;OAGG;IACH,SAAS,SAAS,CAAC,GAAG;QACrB,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC5B,4CAA4C;gBAC5C,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBACpE,cAAc,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC;oBACJ,oGAAoG;oBACpG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;wBAAS,CAAC;oBACV,cAAc,GAAG,IAAI,CAAC;gBACvB,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,SAAS,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACF,CAAC;aAAM,IAAI,eAAe;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,SAAS,SAAS,CAAC,GAAG;QACrB,IAAI,WAAW,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,eAAe,EAAE,CAAC;gBACrB,cAAc,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC;oBACJ,oGAAoG;oBACpG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;wBAAS,CAAC;oBACV,cAAc,GAAG,IAAI,CAAC;gBACvB,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,eAAe;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,SAAS,GAAG,WAAW,IAAI,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACxF,SAAS,UAAU,CAAC,KAAK;QACxB,OAAO;YACN,KAAK,CAAC,GAAG;gBACR,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;gBAClE,IAAI,UAAU;oBAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtC,IAAI,MAAM,CAAC,GAAG;oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;YACxC,CAAC;SACD,CAAC;IACH,CAAC;IACD,IAAI,kBAAkB,EAAE,CAAC;QACxB,cAAc,GAAG,SAAS,CAAC;IAC5B,CAAC;IACD,MAAM,GAAG,IAAI,YAAY,CACxB;QACC,MAAM,EAAE,UAAU,CAAC,UAAU,IAAI,SAAS,CAAC;QAC3C,MAAM,EAAE,UAAU,CAAC,UAAU,IAAI,SAAS,CAAC;QAC3C,SAAS,EAAE,CAAC,eAAe,IAAI,SAAS,CAAC,IAAI,KAAK;KAClD,EACD,KAAK,CACL,CAAC;IACF,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;QACrC,GAAG;YACF,OAAO,WAAW,CAAC;QACpB,CAAC;QACD,GAAG,CAAC,IAAI;YACP,WAAW,GAAG,IAAI,CAAC;YACnB,SAAS,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC5E,IAAI,kBAAkB;gBAAE,cAAc,GAAG,SAAS,CAAC;QACpD,CAAC;QACD,UAAU,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,MAAM,CAAC,YAAY,GAAG,SAAS,EAAE,YAAY,CAAC;IAC9C,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,CAAC,YAAY,GAAG,UAAU,IAAI,EAAE,UAAU,GAAG,KAAK;YACvD,IAAI,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzD,eAAe,GAAG,YAAY,CAAC;oBAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,UAAU,EAAE,WAAW,CAAC,eAAe;oBACvC,kBAAkB,EAAE,UAAU,IAAI,IAAI,KAAK,UAAU;oBACrD,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,UAAU;oBACV,SAAS,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;gBAC3B,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,UAAU;gBAAE,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;YAClD,OAAO,eAAe,CAAC;QACxB,CAAC,CAAC;QACF,MAAM,CAAC,YAAY,GAAG,UAAU,IAAI;YACnC,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AACD,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB;IACxD,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;IACnC,IAAI,SAAS,CAAC;IACd,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACnC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,UAAU,CAAC,GAAG,EAAE;YACf,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACJ,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;oBAC3B,MAAM;oBACN,GAAG,QAAQ;iBACX,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC;QACF,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IACD,OAAO,MAAM,CAAC;IACd,SAAS,SAAS,CAAC,GAAG;QACrB,IAAI,KAAK,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,IAAI,SAAS,EAAE,CAAC;YACf,kHAAkH;YAClH,IAAI,SAAS,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBACvC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBAChD,SAAS,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACpB,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,aAAa,EAAE,CAAC;YACjB,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,cAAc,IAAI,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,wBAAwB,EAAE,CAAC;gBACnF,wGAAwG;gBACxG,aAAa,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAC,CAAC;gBACpF,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpB,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;IACF,CAAC;IACD,uEAAuE;IACvE,SAAS,aAAa,CAAC,KAAK;QAC3B,WAAW,EAAE,CAAC;QACd,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAClC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,kHAAkH;YAClH,uBAAuB;YACvB,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QAC7E,CAAC;aAAM,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/E,IAAI,SAAS;YAAE,SAAS,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,YAAY;QACpB,IAAI,CAAC;YACJ,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,KAAK,GAAG,IAAI,CAAC;QACb,IAAI,kBAAkB;YAAE,SAAS,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,SAAS,WAAW,CAAC,OAAO;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC;gBACJ,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC/B,IAAI,kBAAkB;oBAAE,SAAS,GAAG,KAAK,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;oBACzC,4CAA4C;oBAC5C,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACpB,aAAa,GAAG,IAAI,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;YACD,UAAU,CAAC,GAAG,EAAE;gBACf,YAAY,EAAE,CAAC;YAChB,CAAC,EAAE,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,oHAAoH;QACvJ,CAAC;IACF,CAAC;AACF,CAAC;AACD;;;;GAIG;AACH,SAAS,IAAI,CAAC,GAAG,IAAI;IACpB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAC,GAAG,IAAI;IACrB,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAC,GAAG,IAAI;IACrB,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAC,GAAG,IAAI;IACrB,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,GAAG,IAAI;IACtB,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAC,GAAG,IAAI;IACrB,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,GAAG,IAAI;IACpB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;IACtD,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,IAAI,CAAC;QACJ,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACV,kBAAkB,GAAG,SAAS,CAAC;IAChC,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB;IACxB,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC;QACJ,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,4BAA4B;QAC5B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAClG,gFAAgF;IAChF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACxC,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,KAAK;IACzB,QAAQ,GAAG,KAAK,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,aAAa;IAClC,IAAI,CAAC;QACJ,wFAAwF;QACxF,IAAI,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAClD,MAAM,cAAc,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACvD,OAAO;gBACN,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC;gBACpE,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAC/F,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC;gBACnE,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;aAC3E,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,kBAAkB;QACpF,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAEpE,OAAO;YACN,KAAK;YACL,aAAa;YACb,MAAM;YACN,QAAQ;YACR,UAAU;YACV,SAAS;YACT,QAAQ;SACR,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,wGAAwG;QACxG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,GAAG,CAAC;QACX,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB;IACxB,IAAI,CAAC;QACJ,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAC1E,OAAO;YACN,YAAY;YACZ,aAAa;YACb,eAAe;SACf,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAAK;IAC3B,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC7G,CAAC;AAED,SAAS,aAAa,CAAC,MAAM;IAC5B,UAAU,GAAG,MAAM,CAAC;AACrB,CAAC;AACD,SAAS,YAAY;IACpB,IAAI,CAAC;QACJ,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,SAAS,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI;IAC/E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACpC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB,CAAC;AACD,0EAA0E;AAC1E,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@harperfast/harper",
3
3
  "description": "Harper is an open-source Node.js performance platform that unifies database, cache, application, and messaging layers into one in-memory process.",
4
- "version": "5.0.0-beta.5",
4
+ "version": "5.0.0-beta.6",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://harper.fast",
7
7
  "bugs": {
@@ -5,6 +5,7 @@ export const METRIC = {
5
5
  MAIN_THREAD_UTILIZATION: 'main-thread-utilization',
6
6
  RESOURCE_USAGE: 'resource-usage',
7
7
  UTILIZATION: 'utilization',
8
+ NODE_STORAGE: 'node-storage',
8
9
  } as const;
9
10
 
10
11
  export type BuiltInMetricName = (typeof METRIC)[keyof typeof METRIC];
@@ -131,7 +131,7 @@ export async function get(metric: string, opts?: GetAnalyticsOpts): Promise<Metr
131
131
  // remove nodeId from 'id' attr and resolve it to the actual hostname and
132
132
  // add back in as 'node' attr if selected
133
133
  const nodeId = result.id[1];
134
- result['id'] = result['id'][0];
134
+ result = { ...result, id: result.id[0] };
135
135
  if (isSelected(select, 'node')) {
136
136
  log.trace?.(`get_analytics lookup hostname for nodeId: ${nodeId}`);
137
137
  const hostname = await lookupHostname(nodeId);
@@ -3,12 +3,12 @@ import { onMessageByType } from '../../server/threads/manageThreads.js';
3
3
  import { getDatabases, table } from '../databases.ts';
4
4
  import type { Databases, Table, Tables } from '../databases.ts';
5
5
  import harperLogger from '../../utility/logging/harper_logger.js';
6
- import { stat } from 'node:fs/promises';
6
+ import { stat, readdir } from 'node:fs/promises';
7
7
  const { getLogFilePath, forComponent } = harperLogger;
8
8
  import { dirname, join } from 'path';
9
9
  import { open } from 'fs/promises';
10
10
  import { getNextMonotonicTime } from '../../utility/lmdb/commonUtility.js';
11
- import { get as envGet, initSync } from '../../utility/environment/environmentManager.js';
11
+ import { get as envGet, getHdbBasePath, initSync } from '../../utility/environment/environmentManager.js';
12
12
  import { CONFIG_PARAMS } from '../../utility/hdbTerms.ts';
13
13
  import { server } from '../../server/Server.ts';
14
14
  import * as fs from 'node:fs';
@@ -382,6 +382,38 @@ function storeVolumeMetrics(analyticsTable: Table, databases: Databases) {
382
382
  }
383
383
  }
384
384
 
385
+ export async function getDirectorySizeAsync(dirPath: string): Promise<number> {
386
+ try {
387
+ const entries = await readdir(dirPath, { withFileTypes: true });
388
+ const sizes = await Promise.all(
389
+ entries.map((entry) => {
390
+ const fullPath = join(dirPath, entry.name);
391
+ if (entry.isDirectory()) return getDirectorySizeAsync(fullPath);
392
+ if (entry.isFile()) return stat(fullPath).then((s) => s.size);
393
+ return 0;
394
+ })
395
+ );
396
+ let total = 0;
397
+ for (const size of sizes) total += size;
398
+ return total;
399
+ } catch {
400
+ // directory may not exist or be inaccessible
401
+ return 0;
402
+ }
403
+ }
404
+
405
+ async function storeNodeStorageMetric(analyticsTable: Table) {
406
+ try {
407
+ const size = await getDirectorySizeAsync(getHdbBasePath());
408
+ storeMetric(analyticsTable, {
409
+ metric: METRIC.NODE_STORAGE,
410
+ size,
411
+ });
412
+ } catch (error) {
413
+ log.warn?.('Error getting node storage metric', error);
414
+ }
415
+ }
416
+
385
417
  async function aggregation(fromPeriod, toPeriod = 60000) {
386
418
  const rawAnalyticsTable = getRawAnalyticsTable();
387
419
  const analyticsTable = getAnalyticsTable();
@@ -574,6 +606,9 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
574
606
  // database storage volume metrics
575
607
  storeVolumeMetrics(analyticsTable, databases);
576
608
  storeVolumeMetrics(analyticsTable, { system: databases.system });
609
+
610
+ // node storage metric (total HDB directory size)
611
+ await storeNodeStorageMetric(analyticsTable);
577
612
  }
578
613
  let lastIdle = 0;
579
614
  let lastActive = 0;
@@ -734,41 +734,49 @@ export async function dropDatabase(databaseName) {
734
734
  if (!databases[databaseName]) throw new Error('Database does not exist');
735
735
  const dbTables = databases[databaseName];
736
736
  let rootStore;
737
+
737
738
  for (const tableName in dbTables) {
738
739
  const table = dbTables[tableName];
739
740
  rootStore = table.primaryStore.rootStore;
740
-
741
741
  lmdbDatabaseEnvs.delete(rootStore.path);
742
742
  rocksdbDatabaseEnvs.delete(rootStore.path);
743
+ }
744
+
745
+ for (const tableName in dbTables) {
746
+ databaseEventsEmitter.emit('dropTable', tableName, databaseName);
747
+ }
748
+
749
+ if (databaseName === 'data') {
750
+ for (const tableName in tables) {
751
+ delete tables[tableName];
752
+ }
753
+ delete tables[DEFINED_TABLES];
754
+ }
755
+ delete databases[databaseName];
743
756
 
757
+ databaseEventsEmitter.emit('dropDatabase', databaseName);
758
+
759
+ if (rootStore) {
744
760
  if (rootStore.status === 'open') {
745
761
  if (rootStore instanceof RocksDatabase) {
746
762
  rootStore.close();
747
763
  rootStore.destroy();
748
- } else if (rootStore.status === 'open') {
764
+ } else {
749
765
  await rootStore.close();
750
766
  await unlink(rootStore.path);
751
767
  }
752
768
  }
753
- databaseEventsEmitter.emit('dropTable', tableName, databaseName);
754
- }
755
- if (!rootStore) {
769
+ } else {
756
770
  rootStore = database({ database: databaseName, table: null });
757
771
  if (rootStore instanceof RocksDatabase) {
772
+ rootStore.close();
758
773
  rootStore.destroy();
759
774
  } else if (rootStore.status === 'open') {
760
775
  await rootStore.close();
761
776
  await unlink(rootStore.path);
762
777
  }
763
778
  }
764
- if (databaseName === 'data') {
765
- for (const tableName in tables) {
766
- delete tables[tableName];
767
- }
768
- delete tables[DEFINED_TABLES];
769
- }
770
- delete databases[databaseName];
771
- databaseEventsEmitter.emit('dropDatabase', databaseName);
779
+
772
780
  await deleteRootBlobPathsForDB(rootStore);
773
781
  }
774
782
  // opens an index, consulting with custom indexes that may use alternate store configuration
@@ -20,6 +20,14 @@ import { EventEmitter } from 'node:events';
20
20
 
21
21
  type Lockdown = 'none' | 'freeze' | 'ses';
22
22
  const APPLICATIONS_LOCKDOWN: Lockdown = env.get(CONFIG_PARAMS.APPLICATIONS_LOCKDOWN);
23
+ const HARPER_MODULE_IDS = new Set([
24
+ 'harper',
25
+ 'harperdb',
26
+ 'harperdb/v1',
27
+ 'harperdb/v2',
28
+ '@harperfast/harper',
29
+ '@harperfast/harper-pro',
30
+ ]);
23
31
 
24
32
  let lockedDown = false;
25
33
  /**
@@ -138,7 +146,7 @@ function parseJsonModule(source: string, url: string): any {
138
146
  * Load a module using Node's vm.Module API with (not really secure) sandboxing
139
147
  */
140
148
  async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
141
- const moduleCache = new Map<string, SourceTextModule | SyntheticModule>();
149
+ const moduleCache = new Map<string, Promise<SourceTextModule | SyntheticModule>>();
142
150
  const linkingPromises = new Map<string, Promise<void>>();
143
151
 
144
152
  // Create a secure context with limited globals
@@ -149,23 +157,19 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
149
157
  * Resolve module specifier to absolute URL
150
158
  */
151
159
  function resolveModule(specifier: string, referrer: string): string {
152
- if (specifier === 'harperdb' || specifier === 'harper') return 'harper';
153
- if (specifier.startsWith('harper/') || specifier.startsWith('harperdb/')) {
154
- throw new Error(`Module ${specifier} is not allowed, may only access the 'harper' module`);
160
+ if (HARPER_MODULE_IDS.has(specifier)) {
161
+ return 'harper'; // resolve any harper package as an alias to a single synthetic module
155
162
  }
156
- if (specifier.startsWith('file://')) {
157
- return specifier;
163
+ const parts = specifier.split('/');
164
+ if (parts[0] === 'harper') {
165
+ // block harper/* for now (reserving for potential future use)
166
+ throw new Error(`Module ${specifier} is not allowed, may only access the 'harper' module`);
158
167
  }
159
- // For relative paths, resolve to absolute file URL
160
- if (specifier.startsWith('.')) {
161
- const resolved = createRequire(referrer).resolve(specifier);
162
- if (isAbsolute(resolved)) {
163
- return pathToFileURL(resolved).toString();
164
- }
165
- return resolved;
168
+ const resolved = createRequire(referrer).resolve(specifier);
169
+ if (isAbsolute(resolved)) {
170
+ return pathToFileURL(resolved).toString();
166
171
  }
167
- // For package names and node: specifiers, keep as-is for proper require() handling
168
- return specifier;
172
+ return resolved;
169
173
  }
170
174
 
171
175
  /**
@@ -231,7 +235,7 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
231
235
  },
232
236
  { identifier: url, context }
233
237
  );
234
- moduleCache.set(url, synModule);
238
+ // Don't cache here - let getOrCreateModule handle caching
235
239
  return synModule;
236
240
  }
237
241
 
@@ -256,7 +260,7 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
256
260
  }
257
261
 
258
262
  // Create the module and cache it immediately (before linking)
259
- const module = await createModule(url, usePrivateGlobal);
263
+ const module = createModule(url, usePrivateGlobal);
260
264
  moduleCache.set(url, module);
261
265
 
262
266
  return module;
@@ -270,10 +274,11 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
270
274
 
271
275
  // Only link/evaluate once per module
272
276
  if (!linkingPromises.has(url)) {
273
- linkingPromises.set(
274
- url,
275
- module.link(linker).then(() => module.evaluate())
276
- );
277
+ const linkingPromise = (async () => {
278
+ await module.link(linker);
279
+ await module.evaluate();
280
+ })();
281
+ linkingPromises.set(url, linkingPromise);
277
282
  }
278
283
 
279
284
  // Wait for linking to complete
@@ -288,7 +293,7 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
288
293
  let module: SourceTextModule | SyntheticModule;
289
294
 
290
295
  // Handle special built-in modules
291
- if (url === 'harper' || url === 'harperdb') {
296
+ if (url === 'harper') {
292
297
  let harperExports = getHarperExports(scope);
293
298
  module = new SyntheticModule(
294
299
  Object.keys(harperExports),
@@ -299,7 +304,7 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
299
304
  },
300
305
  { identifier: url, context }
301
306
  );
302
- } else if (url.startsWith('file://')) {
307
+ } else if (url.startsWith('file://') && usePrivateGlobal) {
303
308
  checkAllowedModulePath(url, scope.verifyPath);
304
309
  let source = await readFile(new URL(url), { encoding: 'utf-8' });
305
310
 
@@ -320,30 +325,27 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope) {
320
325
  source = await stripTypeScriptTypes(source);
321
326
  }
322
327
 
323
- // Try to parse as ESM first
328
+ // Try CJS first since it will fail fast with clear syntax errors on ESM syntax
324
329
  try {
325
- module = new SourceTextModule(source, {
326
- identifier: url,
327
- context,
328
- initializeImportMeta(meta) {
329
- meta.url = url;
330
- },
331
- async importModuleDynamically(specifier: string) {
332
- const resolvedUrl = resolveModule(specifier, url);
333
- const dynamicModule = await loadModuleWithCache(resolvedUrl, true);
334
- return dynamicModule;
335
- },
336
- });
337
- } catch (err) {
338
- // If ESM parsing fails, try to load as CommonJS
339
- if (
340
- err.message?.includes('require is not defined') ||
341
- source.includes('module.exports') ||
342
- source.includes('exports.')
343
- ) {
344
- module = loadCJSModule(url, source, usePrivateGlobal);
345
- } else {
346
- throw err;
330
+ module = loadCJSModule(url, source, usePrivateGlobal);
331
+ } catch {
332
+ // If CJS loading fails (likely due to ESM syntax like import/export), try ESM
333
+ try {
334
+ module = new SourceTextModule(source, {
335
+ identifier: url,
336
+ context,
337
+ initializeImportMeta(meta) {
338
+ meta.url = url;
339
+ },
340
+ async importModuleDynamically(specifier: string) {
341
+ const resolvedUrl = resolveModule(specifier, url);
342
+ const dynamicModule = await loadModuleWithCache(resolvedUrl, true);
343
+ return dynamicModule;
344
+ },
345
+ });
346
+ } catch (esmErr) {
347
+ // Both failed - throw the ESM error as it's likely more relevant
348
+ throw esmErr;
347
349
  }
348
350
  }
349
351
  }
@@ -404,7 +406,15 @@ async function getCompartment(scope: ApplicationScope, globals) {
404
406
  {
405
407
  name: 'harper-app',
406
408
  resolveHook(moduleSpecifier, moduleReferrer) {
407
- if (moduleSpecifier === 'harperdb' || moduleSpecifier === 'harper') return 'harper';
409
+ if (HARPER_MODULE_IDS.has(moduleSpecifier)) {
410
+ return 'harper'; // resolve any harper package as an alias to a single synthetic module
411
+ }
412
+ const parts = moduleSpecifier.split('/');
413
+ if (parts[0] === 'harper') {
414
+ // block harper/* for now (reserving for potential future use)
415
+ throw new Error(`Module ${moduleSpecifier} is not allowed, may only access the 'harper' module`);
416
+ }
417
+
408
418
  const resolved = createRequire(moduleReferrer).resolve(moduleSpecifier);
409
419
  if (isAbsolute(resolved)) {
410
420
  const resolvedURL = pathToFileURL(resolved).toString();
package/server/http.ts CHANGED
@@ -209,7 +209,7 @@ function getHTTPServer(port: number, secure: boolean, options: ServerOptions) {
209
209
  setPortServerMap(port, { protocol_name: secure ? 'HTTPS' : 'HTTP', name: getComponentName() });
210
210
  if (!httpServers[port]) {
211
211
  // TODO: These should all come from httpOptions or operationsApiOptions
212
- const serverPrefix = isOperationsServer ? 'operationsApi_network' : 'http';
212
+ const serverPrefix = isOperationsServer ? 'operationsApi_network' : (usageType ?? 'http');
213
213
  const keepAliveTimeout = env.get(serverPrefix + '_keepAliveTimeout');
214
214
  const requestTimeout = env.get(serverPrefix + '_timeout');
215
215
  const headersTimeout = env.get(serverPrefix + '_headersTimeout');