@thinkhive/sdk 4.2.1 → 4.2.3

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.
@@ -2,7 +2,7 @@
2
2
  * ThinkHive SDK v3.0 - Configuration
3
3
  */
4
4
  import type { InitOptions, Framework } from './types';
5
- export declare const SDK_VERSION = "4.1.0";
5
+ export declare const SDK_VERSION = "4.2.3";
6
6
  export declare const DEFAULT_ENDPOINT = "https://app.thinkhive.ai";
7
7
  export declare const DEFAULT_SERVICE_NAME = "my-ai-agent";
8
8
  export interface ResolvedConfig {
@@ -12,7 +12,7 @@ exports.debugLog = debugLog;
12
12
  // ============================================================================
13
13
  // CONSTANTS
14
14
  // ============================================================================
15
- exports.SDK_VERSION = '4.1.0';
15
+ exports.SDK_VERSION = '4.2.3';
16
16
  exports.DEFAULT_ENDPOINT = 'https://app.thinkhive.ai';
17
17
  exports.DEFAULT_SERVICE_NAME = 'my-ai-agent';
18
18
  let config = null;
@@ -72,4 +72,4 @@ function debugLog(...args) {
72
72
  console.log('[ThinkHive]', ...args);
73
73
  }
74
74
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBb0NILGdDQXNCQztBQU1ELDhCQUtDO0FBS0Qsc0NBRUM7QUFLRCxrQ0FHQztBQUtELDRCQUlDO0FBekZELCtFQUErRTtBQUMvRSxZQUFZO0FBQ1osK0VBQStFO0FBRWxFLFFBQUEsV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUN0QixRQUFBLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlDLFFBQUEsb0JBQW9CLEdBQUcsYUFBYSxDQUFDO0FBZ0JsRCxJQUFJLE1BQU0sR0FBMEIsSUFBSSxDQUFDO0FBQ3pDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztBQUV4QiwrRUFBK0U7QUFDL0UsbUJBQW1CO0FBQ25CLCtFQUErRTtBQUUvRTs7R0FFRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxVQUF1QixFQUFFO0lBQ2xELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDckUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztJQUV4RSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FDYiw4RUFBOEUsQ0FDL0UsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEdBQUc7UUFDUCxNQUFNO1FBQ04sT0FBTztRQUNQLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksd0JBQWdCO1FBQ2hGLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLElBQUksNEJBQW9CO1FBQzlGLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLEtBQUs7UUFDL0MsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO1FBQ3pELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUs7S0FDOUIsQ0FBQztJQUVGLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFNBQVM7SUFDdkIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYTtJQUMzQixPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixXQUFXO0lBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDZCxXQUFXLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFHLElBQWU7SUFDekMsSUFBSSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpbmtIaXZlIFNESyB2My4wIC0gQ29uZmlndXJhdGlvblxuICovXG5cbmltcG9ydCB0eXBlIHsgSW5pdE9wdGlvbnMsIEZyYW1ld29yayB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT05TVEFOVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IFNES19WRVJTSU9OID0gJzQuMS4wJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VORFBPSU5UID0gJ2h0dHBzOi8vYXBwLnRoaW5raGl2ZS5haSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TRVJWSUNFX05BTUUgPSAnbXktYWktYWdlbnQnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHTE9CQUwgQ09ORklHIFNUQVRFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRDb25maWcge1xuICBhcGlLZXk6IHN0cmluZztcbiAgYWdlbnRJZDogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICBhdXRvSW5zdHJ1bWVudDogYm9vbGVhbjtcbiAgZnJhbWV3b3JrczogRnJhbWV3b3JrW107XG4gIGRlYnVnOiBib29sZWFuO1xufVxuXG5sZXQgY29uZmlnOiBSZXNvbHZlZENvbmZpZyB8IG51bGwgPSBudWxsO1xubGV0IGluaXRpYWxpemVkID0gZmFsc2U7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTkZJRyBGVU5DVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJbml0aWFsaXplIGNvbmZpZ3VyYXRpb24gZnJvbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29uZmlnKG9wdGlvbnM6IEluaXRPcHRpb25zID0ge30pOiBSZXNvbHZlZENvbmZpZyB7XG4gIGNvbnN0IGFwaUtleSA9IG9wdGlvbnMuYXBpS2V5IHx8IHByb2Nlc3MuZW52LlRISU5LSElWRV9BUElfS0VZIHx8ICcnO1xuICBjb25zdCBhZ2VudElkID0gb3B0aW9ucy5hZ2VudElkIHx8IHByb2Nlc3MuZW52LlRISU5LSElWRV9BR0VOVF9JRCB8fCAnJztcblxuICBpZiAoIWFwaUtleSAmJiAhYWdlbnRJZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdFaXRoZXIgYXBpS2V5IG9yIGFnZW50SWQgbXVzdCBiZSBwcm92aWRlZCAob3Igc2V0IFRISU5LSElWRV9BUElfS0VZIGVudiB2YXIpJ1xuICAgICk7XG4gIH1cblxuICBjb25maWcgPSB7XG4gICAgYXBpS2V5LFxuICAgIGFnZW50SWQsXG4gICAgZW5kcG9pbnQ6IG9wdGlvbnMuZW5kcG9pbnQgfHwgcHJvY2Vzcy5lbnYuVEhJTktISVZFX0VORFBPSU5UIHx8IERFRkFVTFRfRU5EUE9JTlQsXG4gICAgc2VydmljZU5hbWU6IG9wdGlvbnMuc2VydmljZU5hbWUgfHwgcHJvY2Vzcy5lbnYuVEhJTktISVZFX1NFUlZJQ0VfTkFNRSB8fCBERUZBVUxUX1NFUlZJQ0VfTkFNRSxcbiAgICBhdXRvSW5zdHJ1bWVudDogb3B0aW9ucy5hdXRvSW5zdHJ1bWVudCA/PyBmYWxzZSxcbiAgICBmcmFtZXdvcmtzOiBvcHRpb25zLmZyYW1ld29ya3MgfHwgWydsYW5nY2hhaW4nLCAnb3BlbmFpJ10sXG4gICAgZGVidWc6IG9wdGlvbnMuZGVidWcgPz8gZmFsc2UsXG4gIH07XG5cbiAgaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICByZXR1cm4gY29uZmlnO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IGNvbmZpZ3VyYXRpb25cbiAqIEB0aHJvd3MgaWYgbm90IGluaXRpYWxpemVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogUmVzb2x2ZWRDb25maWcge1xuICBpZiAoIWNvbmZpZyB8fCAhaW5pdGlhbGl6ZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoaW5rSGl2ZSBTREsgbm90IGluaXRpYWxpemVkLiBDYWxsIGluaXQoKSBmaXJzdC4nKTtcbiAgfVxuICByZXR1cm4gY29uZmlnO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIFNESyBpcyBpbml0aWFsaXplZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGluaXRpYWxpemVkO1xufVxuXG4vKipcbiAqIFJlc2V0IGNvbmZpZ3VyYXRpb24gKGZvciB0ZXN0aW5nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRDb25maWcoKTogdm9pZCB7XG4gIGNvbmZpZyA9IG51bGw7XG4gIGluaXRpYWxpemVkID0gZmFsc2U7XG59XG5cbi8qKlxuICogRGVidWcgbG9nIGhlbHBlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVidWdMb2coLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gIGlmIChjb25maWc/LmRlYnVnKSB7XG4gICAgY29uc29sZS5sb2coJ1tUaGlua0hpdmVdJywgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBb0NILGdDQXNCQztBQU1ELDhCQUtDO0FBS0Qsc0NBRUM7QUFLRCxrQ0FHQztBQUtELDRCQUlDO0FBekZELCtFQUErRTtBQUMvRSxZQUFZO0FBQ1osK0VBQStFO0FBRWxFLFFBQUEsV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUN0QixRQUFBLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlDLFFBQUEsb0JBQW9CLEdBQUcsYUFBYSxDQUFDO0FBZ0JsRCxJQUFJLE1BQU0sR0FBMEIsSUFBSSxDQUFDO0FBQ3pDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztBQUV4QiwrRUFBK0U7QUFDL0UsbUJBQW1CO0FBQ25CLCtFQUErRTtBQUUvRTs7R0FFRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxVQUF1QixFQUFFO0lBQ2xELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDckUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztJQUV4RSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FDYiw4RUFBOEUsQ0FDL0UsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEdBQUc7UUFDUCxNQUFNO1FBQ04sT0FBTztRQUNQLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksd0JBQWdCO1FBQ2hGLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLElBQUksNEJBQW9CO1FBQzlGLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLEtBQUs7UUFDL0MsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO1FBQ3pELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUs7S0FDOUIsQ0FBQztJQUVGLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFNBQVM7SUFDdkIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYTtJQUMzQixPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixXQUFXO0lBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDZCxXQUFXLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFHLElBQWU7SUFDekMsSUFBSSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpbmtIaXZlIFNESyB2My4wIC0gQ29uZmlndXJhdGlvblxuICovXG5cbmltcG9ydCB0eXBlIHsgSW5pdE9wdGlvbnMsIEZyYW1ld29yayB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT05TVEFOVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IFNES19WRVJTSU9OID0gJzQuMi4zJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VORFBPSU5UID0gJ2h0dHBzOi8vYXBwLnRoaW5raGl2ZS5haSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TRVJWSUNFX05BTUUgPSAnbXktYWktYWdlbnQnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHTE9CQUwgQ09ORklHIFNUQVRFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRDb25maWcge1xuICBhcGlLZXk6IHN0cmluZztcbiAgYWdlbnRJZDogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICBhdXRvSW5zdHJ1bWVudDogYm9vbGVhbjtcbiAgZnJhbWV3b3JrczogRnJhbWV3b3JrW107XG4gIGRlYnVnOiBib29sZWFuO1xufVxuXG5sZXQgY29uZmlnOiBSZXNvbHZlZENvbmZpZyB8IG51bGwgPSBudWxsO1xubGV0IGluaXRpYWxpemVkID0gZmFsc2U7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTkZJRyBGVU5DVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJbml0aWFsaXplIGNvbmZpZ3VyYXRpb24gZnJvbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29uZmlnKG9wdGlvbnM6IEluaXRPcHRpb25zID0ge30pOiBSZXNvbHZlZENvbmZpZyB7XG4gIGNvbnN0IGFwaUtleSA9IG9wdGlvbnMuYXBpS2V5IHx8IHByb2Nlc3MuZW52LlRISU5LSElWRV9BUElfS0VZIHx8ICcnO1xuICBjb25zdCBhZ2VudElkID0gb3B0aW9ucy5hZ2VudElkIHx8IHByb2Nlc3MuZW52LlRISU5LSElWRV9BR0VOVF9JRCB8fCAnJztcblxuICBpZiAoIWFwaUtleSAmJiAhYWdlbnRJZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdFaXRoZXIgYXBpS2V5IG9yIGFnZW50SWQgbXVzdCBiZSBwcm92aWRlZCAob3Igc2V0IFRISU5LSElWRV9BUElfS0VZIGVudiB2YXIpJ1xuICAgICk7XG4gIH1cblxuICBjb25maWcgPSB7XG4gICAgYXBpS2V5LFxuICAgIGFnZW50SWQsXG4gICAgZW5kcG9pbnQ6IG9wdGlvbnMuZW5kcG9pbnQgfHwgcHJvY2Vzcy5lbnYuVEhJTktISVZFX0VORFBPSU5UIHx8IERFRkFVTFRfRU5EUE9JTlQsXG4gICAgc2VydmljZU5hbWU6IG9wdGlvbnMuc2VydmljZU5hbWUgfHwgcHJvY2Vzcy5lbnYuVEhJTktISVZFX1NFUlZJQ0VfTkFNRSB8fCBERUZBVUxUX1NFUlZJQ0VfTkFNRSxcbiAgICBhdXRvSW5zdHJ1bWVudDogb3B0aW9ucy5hdXRvSW5zdHJ1bWVudCA/PyBmYWxzZSxcbiAgICBmcmFtZXdvcmtzOiBvcHRpb25zLmZyYW1ld29ya3MgfHwgWydsYW5nY2hhaW4nLCAnb3BlbmFpJ10sXG4gICAgZGVidWc6IG9wdGlvbnMuZGVidWcgPz8gZmFsc2UsXG4gIH07XG5cbiAgaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICByZXR1cm4gY29uZmlnO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IGNvbmZpZ3VyYXRpb25cbiAqIEB0aHJvd3MgaWYgbm90IGluaXRpYWxpemVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogUmVzb2x2ZWRDb25maWcge1xuICBpZiAoIWNvbmZpZyB8fCAhaW5pdGlhbGl6ZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoaW5rSGl2ZSBTREsgbm90IGluaXRpYWxpemVkLiBDYWxsIGluaXQoKSBmaXJzdC4nKTtcbiAgfVxuICByZXR1cm4gY29uZmlnO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIFNESyBpcyBpbml0aWFsaXplZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGluaXRpYWxpemVkO1xufVxuXG4vKipcbiAqIFJlc2V0IGNvbmZpZ3VyYXRpb24gKGZvciB0ZXN0aW5nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRDb25maWcoKTogdm9pZCB7XG4gIGNvbmZpZyA9IG51bGw7XG4gIGluaXRpYWxpemVkID0gZmFsc2U7XG59XG5cbi8qKlxuICogRGVidWcgbG9nIGhlbHBlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVidWdMb2coLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gIGlmIChjb25maWc/LmRlYnVnKSB7XG4gICAgY29uc29sZS5sb2coJ1tUaGlua0hpdmVdJywgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
@@ -67,4 +67,6 @@ export declare const guardrails: {
67
67
  name: string;
68
68
  description: string;
69
69
  }>>;
70
+ /** Alias for scan() */
71
+ evaluate(request: ScanRequest): Promise<ScanResponse>;
70
72
  };
@@ -30,5 +30,9 @@ exports.guardrails = {
30
30
  });
31
31
  return result.scanners;
32
32
  },
33
+ /** Alias for scan() */
34
+ async evaluate(request) {
35
+ return this.scan(request);
36
+ },
33
37
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRyYWlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ndWFyZHJhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQUVILDBDQUFtRDtBQW9EbkQ7OztHQUdHO0FBQ1UsUUFBQSxVQUFVLEdBQUc7SUFDeEI7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQW9CO1FBQzdCLE9BQU8sSUFBQSwyQkFBa0IsRUFBZSxxQkFBcUIsRUFBRTtZQUM3RCxNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsMkJBQWtCLEVBQTZELHlCQUF5QixFQUFFO1lBQzdILE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlua0hpdmUgR3VhcmRyYWlscyBTREsgTW9kdWxlXG4gKiBSZWFsLXRpbWUgY29udGVudCBzY2FubmluZyB1c2luZyBjZW50cmFsaXplZCBTREsgY29uZmlndXJhdGlvblxuICovXG5cbmltcG9ydCB7IGFwaVJlcXVlc3RXaXRoRGF0YSB9IGZyb20gJy4vY29yZS9jbGllbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjYW5SZXF1ZXN0IHtcbiAgaW5wdXQ/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgdG9vbENhbGw/OiB7IG5hbWU6IHN0cmluZzsgYXJndW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9O1xuICBzY2FubmVycz86IHN0cmluZ1tdO1xuICBwb2xpY3lJZD86IHN0cmluZztcbiAgY29uZmlnPzogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBvcHRpb25zPzoge1xuICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gICAgZmFpbE9wZW4/OiBib29sZWFuO1xuICAgIHNob3J0Q2lyY3VpdD86IGJvb2xlYW47XG4gICAgcmV0dXJuUmVkYWN0ZWQ/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRpbmcge1xuICB0eXBlOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHN0YXJ0OiBudW1iZXI7XG4gIGVuZDogbnVtYmVyO1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nhbm5lclJlc3VsdCB7XG4gIHNjYW5uZXI6IHN0cmluZztcbiAgc3RhdHVzOiAnY29tcGxldGVkJyB8ICd0aW1lb3V0JyB8ICdlcnJvcic7XG4gIGFjdGlvbjogJ3Bhc3MnIHwgJ2Jsb2NrJyB8ICdyZWRhY3QnIHwgJ2ZsYWcnO1xuICBmaW5kaW5nczogRmluZGluZ1tdO1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbiAgc2FuaXRpemVkQ29udGVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2FuUmVzcG9uc2Uge1xuICBhY3Rpb246ICdwYXNzJyB8ICdibG9jaycgfCAncmVkYWN0JyB8ICdmbGFnJztcbiAgYWN0aW9uUmVhc29uPzogc3RyaW5nO1xuICByZWRhY3RlZElucHV0Pzogc3RyaW5nO1xuICByZWRhY3RlZE91dHB1dD86IHN0cmluZztcbiAgcmVzdWx0czogUmVjb3JkPHN0cmluZywgU2Nhbm5lclJlc3VsdD47XG4gIG1ldGFkYXRhOiB7XG4gICAgc2NhbklkOiBzdHJpbmc7XG4gICAgdG90YWxMYXRlbmN5TXM6IG51bWJlcjtcbiAgICBzY2FubmVyc0V4ZWN1dGVkOiBudW1iZXI7XG4gICAgc2Nhbm5lcnNCbG9ja2VkOiBudW1iZXI7XG4gICAgc2Nhbm5lcnNGbGFnZ2VkOiBudW1iZXI7XG4gICAgc2Nhbm5lcnNUaW1lZE91dDogbnVtYmVyO1xuICAgIGNhY2hlZDogYm9vbGVhbjtcbiAgfTtcbn1cblxuLyoqXG4gKiBHdWFyZHJhaWxzIEFQSSBjbGllbnRcbiAqIFJlYWwtdGltZSBjb250ZW50IHNjYW5uaW5nIGZvciBQSUksIHNlY3JldHMsIGtleXdvcmRzLCBhbmQgbW9yZVxuICovXG5leHBvcnQgY29uc3QgZ3VhcmRyYWlscyA9IHtcbiAgLyoqXG4gICAqIFNjYW4gY29udGVudCBmb3IgcG9saWN5IHZpb2xhdGlvbnNcbiAgICovXG4gIGFzeW5jIHNjYW4ocmVxdWVzdDogU2NhblJlcXVlc3QpOiBQcm9taXNlPFNjYW5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhcGlSZXF1ZXN0V2l0aERhdGE8U2NhblJlc3BvbnNlPignL3YxL2d1YXJkcmFpbHMvc2NhbicsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcmVxdWVzdCxcbiAgICAgIHJhd1BhdGg6IHRydWUsXG4gICAgfSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIExpc3QgYXZhaWxhYmxlIHNjYW5uZXJzXG4gICAqL1xuICBhc3luYyBsaXN0U2Nhbm5lcnMoKTogUHJvbWlzZTxBcnJheTx7IG5hbWU6IHN0cmluZzsgZGVzY3JpcHRpb246IHN0cmluZyB9Pj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGFwaVJlcXVlc3RXaXRoRGF0YTx7IHNjYW5uZXJzOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgZGVzY3JpcHRpb246IHN0cmluZyB9PiB9PignL3YxL2d1YXJkcmFpbHMvc2Nhbm5lcnMnLCB7XG4gICAgICByYXdQYXRoOiB0cnVlLFxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQuc2Nhbm5lcnM7XG4gIH0sXG59O1xuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRyYWlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ndWFyZHJhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQUVILDBDQUFtRDtBQW9EbkQ7OztHQUdHO0FBQ1UsUUFBQSxVQUFVLEdBQUc7SUFDeEI7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQW9CO1FBQzdCLE9BQU8sSUFBQSwyQkFBa0IsRUFBZSxxQkFBcUIsRUFBRTtZQUM3RCxNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsMkJBQWtCLEVBQTZELHlCQUF5QixFQUFFO1lBQzdILE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFvQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaW5rSGl2ZSBHdWFyZHJhaWxzIFNESyBNb2R1bGVcbiAqIFJlYWwtdGltZSBjb250ZW50IHNjYW5uaW5nIHVzaW5nIGNlbnRyYWxpemVkIFNESyBjb25maWd1cmF0aW9uXG4gKi9cblxuaW1wb3J0IHsgYXBpUmVxdWVzdFdpdGhEYXRhIH0gZnJvbSAnLi9jb3JlL2NsaWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhblJlcXVlc3Qge1xuICBpbnB1dD86IHN0cmluZztcbiAgb3V0cHV0Pzogc3RyaW5nO1xuICB0b29sQ2FsbD86IHsgbmFtZTogc3RyaW5nOyBhcmd1bWVudHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH07XG4gIHNjYW5uZXJzPzogc3RyaW5nW107XG4gIHBvbGljeUlkPzogc3RyaW5nO1xuICBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG4gIG9wdGlvbnM/OiB7XG4gICAgdGltZW91dD86IG51bWJlcjtcbiAgICBmYWlsT3Blbj86IGJvb2xlYW47XG4gICAgc2hvcnRDaXJjdWl0PzogYm9vbGVhbjtcbiAgICByZXR1cm5SZWRhY3RlZD86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluZGluZyB7XG4gIHR5cGU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2FubmVyUmVzdWx0IHtcbiAgc2Nhbm5lcjogc3RyaW5nO1xuICBzdGF0dXM6ICdjb21wbGV0ZWQnIHwgJ3RpbWVvdXQnIHwgJ2Vycm9yJztcbiAgYWN0aW9uOiAncGFzcycgfCAnYmxvY2snIHwgJ3JlZGFjdCcgfCAnZmxhZyc7XG4gIGZpbmRpbmdzOiBGaW5kaW5nW107XG4gIGxhdGVuY3lNczogbnVtYmVyO1xuICBzYW5pdGl6ZWRDb250ZW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjYW5SZXNwb25zZSB7XG4gIGFjdGlvbjogJ3Bhc3MnIHwgJ2Jsb2NrJyB8ICdyZWRhY3QnIHwgJ2ZsYWcnO1xuICBhY3Rpb25SZWFzb24/OiBzdHJpbmc7XG4gIHJlZGFjdGVkSW5wdXQ/OiBzdHJpbmc7XG4gIHJlZGFjdGVkT3V0cHV0Pzogc3RyaW5nO1xuICByZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCBTY2FubmVyUmVzdWx0PjtcbiAgbWV0YWRhdGE6IHtcbiAgICBzY2FuSWQ6IHN0cmluZztcbiAgICB0b3RhbExhdGVuY3lNczogbnVtYmVyO1xuICAgIHNjYW5uZXJzRXhlY3V0ZWQ6IG51bWJlcjtcbiAgICBzY2FubmVyc0Jsb2NrZWQ6IG51bWJlcjtcbiAgICBzY2FubmVyc0ZsYWdnZWQ6IG51bWJlcjtcbiAgICBzY2FubmVyc1RpbWVkT3V0OiBudW1iZXI7XG4gICAgY2FjaGVkOiBib29sZWFuO1xuICB9O1xufVxuXG4vKipcbiAqIEd1YXJkcmFpbHMgQVBJIGNsaWVudFxuICogUmVhbC10aW1lIGNvbnRlbnQgc2Nhbm5pbmcgZm9yIFBJSSwgc2VjcmV0cywga2V5d29yZHMsIGFuZCBtb3JlXG4gKi9cbmV4cG9ydCBjb25zdCBndWFyZHJhaWxzID0ge1xuICAvKipcbiAgICogU2NhbiBjb250ZW50IGZvciBwb2xpY3kgdmlvbGF0aW9uc1xuICAgKi9cbiAgYXN5bmMgc2NhbihyZXF1ZXN0OiBTY2FuUmVxdWVzdCk6IFByb21pc2U8U2NhblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGFwaVJlcXVlc3RXaXRoRGF0YTxTY2FuUmVzcG9uc2U+KCcvdjEvZ3VhcmRyYWlscy9zY2FuJywge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiByZXF1ZXN0LFxuICAgICAgcmF3UGF0aDogdHJ1ZSxcbiAgICB9KTtcbiAgfSxcblxuICAvKipcbiAgICogTGlzdCBhdmFpbGFibGUgc2Nhbm5lcnNcbiAgICovXG4gIGFzeW5jIGxpc3RTY2FubmVycygpOiBQcm9taXNlPEFycmF5PHsgbmFtZTogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nIH0+PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXBpUmVxdWVzdFdpdGhEYXRhPHsgc2Nhbm5lcnM6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nIH0+IH0+KCcvdjEvZ3VhcmRyYWlscy9zY2FubmVycycsIHtcbiAgICAgIHJhd1BhdGg6IHRydWUsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdC5zY2FubmVycztcbiAgfSxcblxuICAvKiogQWxpYXMgZm9yIHNjYW4oKSAqL1xuICBhc3luYyBldmFsdWF0ZShyZXF1ZXN0OiBTY2FuUmVxdWVzdCk6IFByb21pc2U8U2NhblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2NhbihyZXF1ZXN0KTtcbiAgfSxcbn07XG4iXX0=
package/dist/index.d.ts CHANGED
@@ -396,6 +396,7 @@ declare const _default: {
396
396
  }): Promise<import("./integrations/customer-context").CustomerMetricsSnapshot[]>;
397
397
  getLatestSnapshot(customerId: string): Promise<import("./integrations/customer-context").CustomerMetricsSnapshot | null>;
398
398
  getSnapshotAsOf(customerId: string, timestamp: string | Date): Promise<import("./integrations/customer-context").CustomerMetricsSnapshot | null>;
399
+ capture(customerId: string, metrics: Record<string, unknown>): Promise<import("./core/types").CustomerContextSnapshot>;
399
400
  };
400
401
  humanReview: {
401
402
  getQueue(options?: import("./api/human-review").ListQueueOptions): Promise<import("./api/human-review").HumanReviewQueueItem[]>;
@@ -764,6 +765,16 @@ declare const _default: {
764
765
  summary: import("./api/quality-metrics").BatchEvaluationSummary;
765
766
  results: import("./api/quality-metrics").BatchEvaluationResult[];
766
767
  }>;
768
+ evaluate(input: {
769
+ query: string;
770
+ response: string;
771
+ retrievedContexts: import("./api/quality-metrics").RetrievedContext[];
772
+ groundTruthContexts?: import("./api/quality-metrics").GroundTruthContext[];
773
+ citations?: string[];
774
+ }): Promise<{
775
+ evaluation: import("./api/quality-metrics").RAGEvaluation;
776
+ evidence: import("./api/quality-metrics").RAGEvidence;
777
+ }>;
767
778
  };
768
779
  businessMetrics: {
769
780
  current(agentId: string, metricName?: string): Promise<import("./api/business-metrics").CurrentMetricResponse>;
@@ -794,6 +805,7 @@ declare const _default: {
794
805
  create(name: string, group: string, detectionConfig: import("./api/signals").DetectionConfig, opts?: import("./api/signals").CreateSignalOptions): Promise<import("./api/signals").Signal>;
795
806
  update(id: string, opts: import("./api/signals").UpdateSignalOptions): Promise<import("./api/signals").Signal>;
796
807
  remove(id: string): Promise<void>;
808
+ delete(id: string): Promise<void>;
797
809
  seedDefaults(): Promise<import("./api/signals").Signal[]>;
798
810
  getStats(opts?: import("./api/signals").SignalStatsOptions): Promise<import("./api/signals").SignalStats[]>;
799
811
  getTrends(opts?: import("./api/signals").SignalTrendsOptions): Promise<import("./api/signals").SignalTrendPoint[]>;
@@ -818,6 +830,7 @@ declare const _default: {
818
830
  deleteRule(id: string): Promise<void>;
819
831
  listNotifications(agentId: string, unreadOnly?: boolean): Promise<import("./api/notifications").Notification[]>;
820
832
  markAsRead(id: string): Promise<import("./api/notifications").Notification>;
833
+ list(agentId: string, unreadOnly?: boolean): Promise<import("./api/notifications").Notification[]>;
821
834
  };
822
835
  documents: {
823
836
  list(agentId: string): Promise<import("./api/documents").Document[]>;
@@ -849,6 +862,7 @@ declare const _default: {
849
862
  getBreakdown(agentId: string, opts?: import("./api/llm-costs").CostQueryOptions): Promise<import("./api/llm-costs").AgentCostBreakdown>;
850
863
  getSavings(): Promise<import("./api/llm-costs").CostSavings>;
851
864
  getOptimizationStats(): Promise<import("./api/llm-costs").OptimizationStats>;
865
+ summary(opts?: import("./api/llm-costs").CostQueryOptions): Promise<import("./api/llm-costs").CostSummary>;
852
866
  };
853
867
  guardrails: {
854
868
  scan(request: import("./guardrails").ScanRequest): Promise<import("./guardrails").ScanResponse>;
@@ -856,6 +870,7 @@ declare const _default: {
856
870
  name: string;
857
871
  description: string;
858
872
  }>>;
873
+ evaluate(request: import("./guardrails").ScanRequest): Promise<import("./guardrails").ScanResponse>;
859
874
  };
860
875
  generateZendeskMarker: typeof generateZendeskMarker;
861
876
  parseZendeskMarker: typeof parseZendeskMarker;
@@ -151,6 +151,8 @@ export declare const customerContext: {
151
151
  * ```
152
152
  */
153
153
  getSnapshotAsOf(customerId: string, timestamp: string | Date): Promise<CustomerMetricsSnapshot | null>;
154
+ /** Alias for captureSnapshot() */
155
+ capture(customerId: string, metrics: Record<string, unknown>): Promise<CustomerContextSnapshot>;
154
156
  };
155
157
  /**
156
158
  * Create a CustomerContextSnapshot from a metrics snapshot
@@ -173,6 +173,10 @@ exports.customerContext = {
173
173
  throw error;
174
174
  }
175
175
  },
176
+ /** Alias for captureSnapshot() */
177
+ async capture(customerId, metrics) {
178
+ return this.captureSnapshot(customerId, metrics);
179
+ },
176
180
  };
177
181
  // ============================================================================
178
182
  // HELPER FUNCTIONS
@@ -271,4 +275,4 @@ function calculateHealthTrend(snapshots) {
271
275
  volatility,
272
276
  };
273
277
  }
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlZ3JhdGlvbnMvY3VzdG9tZXItY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQTJQSCw4Q0FVQztBQXFCRCx3REFVQztBQUtELHdDQU1DO0FBS0QsZ0RBa0JDO0FBS0Qsb0RBNENDO0FBclhELDJDQUFnRTtBQWtDaEUsK0VBQStFO0FBQy9FLHVCQUF1QjtBQUN2QiwrRUFBK0U7QUFFL0U7O0dBRUc7QUFDVSxRQUFBLGVBQWUsR0FBRztJQUM3Qjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBUW5CO1FBQ0MsT0FBTyxJQUFBLDJCQUFrQixFQUFrQixZQUFZLEVBQUU7WUFDdkQsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsS0FBSztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFrQjtRQUNqQyxPQUFPLElBQUEsMkJBQWtCLEVBQWtCLGNBQWMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsVUFBa0IsRUFDbEIsTUFBeUM7UUFFekMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLElBQUEsMkJBQWtCLEVBQzdCLHVCQUF1QixNQUFNLElBQUksVUFBVSxFQUFFLENBQzlDLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUssS0FBYSxFQUFFLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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RSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkgsSUFBSSxTQUFTLEdBQUcsUUFBUSxHQUFHLENBQUM7WUFBRSxLQUFLLEdBQUcsV0FBVyxDQUFDO2FBQzdDLElBQUksUUFBUSxHQUFHLFNBQVMsR0FBRyxDQUFDO1lBQUUsS0FBSyxHQUFHLFdBQVcsQ0FBQztJQUN6RCxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDL0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBRXhFLE9BQU87UUFDTCxZQUFZO1FBQ1osUUFBUTtRQUNSLEtBQUs7UUFDTCxVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaW5rSGl2ZSBTREsgdjMuMCAtIEN1c3RvbWVyIENvbnRleHRcbiAqXG4gKiBUaW1lLXNlcmllcyBjdXN0b21lciBtZXRyaWNzIHNuYXBzaG90c1xuICogQ2FwdHVyZXMgQVJSLCBoZWFsdGggc2NvcmUsIHNlZ21lbnQgQVMgT0YgdGhlIHJ1biB0aW1lIChub3QgY3VycmVudCB2YWx1ZXMpXG4gKi9cblxuaW1wb3J0IHsgYXBpUmVxdWVzdCwgYXBpUmVxdWVzdFdpdGhEYXRhIH0gZnJvbSAnLi4vY29yZS9jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21lckNvbnRleHRTbmFwc2hvdCB9IGZyb20gJy4uL2NvcmUvdHlwZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDVVNUT01FUiBBQ0NPVU5UIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJBY2NvdW50IHtcbiAgaWQ6IHN0cmluZztcbiAgY29tcGFueUlkOiBzdHJpbmc7XG4gIGV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gIGV4dGVybmFsU291cmNlPzogJ3NhbGVzZm9yY2UnIHwgJ2h1YnNwb3QnIHwgJ3plbmRlc2snIHwgJ2ludGVyY29tJyB8ICdjdXN0b20nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRvbWFpbj86IHN0cmluZztcbiAgc2VnbWVudD86IHN0cmluZztcbiAgaW5kdXN0cnk/OiBzdHJpbmc7XG4gIGVtcGxveWVlQ291bnQ/OiBudW1iZXI7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lck1ldHJpY3NTbmFwc2hvdCB7XG4gIGlkOiBzdHJpbmc7XG4gIGN1c3RvbWVyQWNjb3VudElkOiBzdHJpbmc7XG4gIGFycj86IG51bWJlcjtcbiAgaGVhbHRoU2NvcmU/OiBudW1iZXI7XG4gIG5wcz86IG51bWJlcjtcbiAgc2VnbWVudD86IHN0cmluZztcbiAgY2h1cm5SaXNrPzogJ2xvdycgfCAnbWVkaXVtJyB8ICdoaWdoJztcbiAgY2FwdHVyZWRBdDogc3RyaW5nO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDVVNUT01FUiBDT05URVhUIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEN1c3RvbWVyIGNvbnRleHQgQVBJIGNsaWVudCBmb3IgdGltZS1zZXJpZXMgbWV0cmljc1xuICovXG5leHBvcnQgY29uc3QgY3VzdG9tZXJDb250ZXh0ID0ge1xuICAvKipcbiAgICogQ3JlYXRlIGEgY3VzdG9tZXIgYWNjb3VudFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGFjY291bnQgPSBhd2FpdCBjdXN0b21lckNvbnRleHQuY3JlYXRlQWNjb3VudCh7XG4gICAqICAgbmFtZTogJ0FjbWUgQ29ycCcsXG4gICAqICAgZXh0ZXJuYWxJZDogJ3NmXzAwMTIzNCcsXG4gICAqICAgZXh0ZXJuYWxTb3VyY2U6ICdzYWxlc2ZvcmNlJyxcbiAgICogICBzZWdtZW50OiAnZW50ZXJwcmlzZScsXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUFjY291bnQoaW5wdXQ6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXh0ZXJuYWxJZD86IHN0cmluZztcbiAgICBleHRlcm5hbFNvdXJjZT86IEN1c3RvbWVyQWNjb3VudFsnZXh0ZXJuYWxTb3VyY2UnXTtcbiAgICBkb21haW4/OiBzdHJpbmc7XG4gICAgc2VnbWVudD86IHN0cmluZztcbiAgICBpbmR1c3RyeT86IHN0cmluZztcbiAgICBlbXBsb3llZUNvdW50PzogbnVtYmVyO1xuICB9KTogUHJvbWlzZTxDdXN0b21lckFjY291bnQ+IHtcbiAgICByZXR1cm4gYXBpUmVxdWVzdFdpdGhEYXRhPEN1c3RvbWVyQWNjb3VudD4oJy9jdXN0b21lcnMnLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IGlucHV0LFxuICAgIH0pO1xuICB9LFxuXG4gIC8qKlxuICAgKiBHZXQgYSBjdXN0b21lciBhY2NvdW50IGJ5IElEXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgYWNjb3VudCA9IGF3YWl0IGN1c3RvbWVyQ29udGV4dC5nZXRBY2NvdW50KCdjdXN0X2FiYzEyMycpO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGdldEFjY291bnQoY3VzdG9tZXJJZDogc3RyaW5nKTogUHJvbWlzZTxDdXN0b21lckFjY291bnQ+IHtcbiAgICByZXR1cm4gYXBpUmVxdWVzdFdpdGhEYXRhPEN1c3RvbWVyQWNjb3VudD4oYC9jdXN0b21lcnMvJHtjdXN0b21lcklkfWApO1xuICB9LFxuXG4gIC8qKlxuICAgKiBHZXQgYSBjdXN0b21lciBhY2NvdW50IGJ5IGV4dGVybmFsIElEXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgYWNjb3VudCA9IGF3YWl0IGN1c3RvbWVyQ29udGV4dC5nZXRBY2NvdW50QnlFeHRlcm5hbElkKFxuICAgKiAgICdzZl8wMDEyMzQnLFxuICAgKiAgICdzYWxlc2ZvcmNlJ1xuICAgKiApO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGdldEFjY291bnRCeUV4dGVybmFsSWQoXG4gICAgZXh0ZXJuYWxJZDogc3RyaW5nLFxuICAgIHNvdXJjZTogQ3VzdG9tZXJBY2NvdW50WydleHRlcm5hbFNvdXJjZSddXG4gICk6IFByb21pc2U8Q3VzdG9tZXJBY2NvdW50IHwgbnVsbD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgYXBpUmVxdWVzdFdpdGhEYXRhPEN1c3RvbWVyQWNjb3VudD4oXG4gICAgICAgIGAvY3VzdG9tZXJzL2V4dGVybmFsLyR7c291cmNlfS8ke2V4dGVybmFsSWR9YFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKChlcnJvciBhcyBhbnkpPy5zdGF0dXNDb2RlID09PSA0MDQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIENhcHR1cmUgYSBtZXRyaWNzIHNuYXBzaG90IGZvciBhIGN1c3RvbWVyXG4gICAqIFRoaXMgY3JlYXRlcyBhIHBvaW50LWluLXRpbWUgcmVjb3JkIG9mIHRoZSBjdXN0b21lcidzIG1ldHJpY3NcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBDYXB0dXJlIGN1cnJlbnQgbWV0cmljc1xuICAgKiBjb25zdCBzbmFwc2hvdCA9IGF3YWl0IGN1c3RvbWVyQ29udGV4dC5jYXB0dXJlU25hcHNob3QoJ2N1c3RfYWJjMTIzJywge1xuICAgKiAgIGFycjogMTIwMDAwLFxuICAgKiAgIGhlYWx0aFNjb3JlOiA4NSxcbiAgICogICBucHM6IDQ1LFxuICAgKiAgIHNlZ21lbnQ6ICdlbnRlcnByaXNlJyxcbiAgICogfSk7XG4gICAqXG4gICAqIC8vIFVzZSB0aGlzIHNuYXBzaG90IGluIGEgcnVuXG4gICAqIGNvbnN0IHJ1biA9IGF3YWl0IHJ1bnMuY3JlYXRlKHtcbiAgICogICBhZ2VudElkOiAnYWdlbnRfMTIzJyxcbiAgICogICBjdXN0b21lckNvbnRleHQ6IHtcbiAgICogICAgIGN1c3RvbWVySWQ6ICdjdXN0X2FiYzEyMycsXG4gICAqICAgICBhcnI6IHNuYXBzaG90LmFycixcbiAgICogICAgIGhlYWx0aFNjb3JlOiBzbmFwc2hvdC5oZWFsdGhTY29yZSxcbiAgICogICAgIGNhcHR1cmVkQXQ6IHNuYXBzaG90LmNhcHR1cmVkQXQsXG4gICAqICAgfSxcbiAgICogICAvLyAuLi5cbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY2FwdHVyZVNuYXBzaG90KFxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyxcbiAgICBtZXRyaWNzOiB7XG4gICAgICBhcnI/OiBudW1iZXI7XG4gICAgICBoZWFsdGhTY29yZT86IG51bWJlcjtcbiAgICAgIG5wcz86IG51bWJlcjtcbiAgICAgIHNlZ21lbnQ/OiBzdHJpbmc7XG4gICAgICBjaHVyblJpc2s/OiAnbG93JyB8ICdtZWRpdW0nIHwgJ2hpZ2gnO1xuICAgICAgc291cmNlPzogc3RyaW5nO1xuICAgIH1cbiAgKTogUHJvbWlzZTxDdXN0b21lck1ldHJpY3NTbmFwc2hvdD4ge1xuICAgIHJldHVybiBhcGlSZXF1ZXN0V2l0aERhdGE8Q3VzdG9tZXJNZXRyaWNzU25hcHNob3Q+KFxuICAgICAgYC9jdXN0b21lcnMvJHtjdXN0b21lcklkfS9zbmFwc2hvdHNgLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keToge1xuICAgICAgICAgIC4uLm1ldHJpY3MsXG4gICAgICAgICAgY2FwdHVyZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgICk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEdldCBtZXRyaWNzIHNuYXBzaG90cyBmb3IgYSBjdXN0b21lciAodGltZS1zZXJpZXMpXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogLy8gR2V0IGxhc3QgMzAgZGF5cyBvZiBzbmFwc2hvdHNcbiAgICogY29uc3Qgc25hcHNob3RzID0gYXdhaXQgY3VzdG9tZXJDb250ZXh0LmdldFNuYXBzaG90cygnY3VzdF9hYmMxMjMnLCB7XG4gICAqICAgZnJvbTogbmV3IERhdGUoRGF0ZS5ub3coKSAtIDMwICogMjQgKiA2MCAqIDYwICogMTAwMCkudG9JU09TdHJpbmcoKSxcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgZ2V0U25hcHNob3RzKFxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmcm9tPzogc3RyaW5nO1xuICAgICAgdG8/OiBzdHJpbmc7XG4gICAgICBsaW1pdD86IG51bWJlcjtcbiAgICB9ID0ge31cbiAgKTogUHJvbWlzZTxDdXN0b21lck1ldHJpY3NTbmFwc2hvdFtdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIGlmIChvcHRpb25zLmZyb20pIHBhcmFtcy5zZXQoJ2Zyb20nLCBvcHRpb25zLmZyb20pO1xuICAgIGlmIChvcHRpb25zLnRvKSBwYXJhbXMuc2V0KCd0bycsIG9wdGlvbnMudG8pO1xuICAgIGlmIChvcHRpb25zLmxpbWl0KSBwYXJhbXMuc2V0KCdsaW1pdCcsIFN0cmluZyhvcHRpb25zLmxpbWl0KSk7XG5cbiAgICByZXR1cm4gYXBpUmVxdWVzdFdpdGhEYXRhPEN1c3RvbWVyTWV0cmljc1NuYXBzaG90W10+KFxuICAgICAgYC9jdXN0b21lcnMvJHtjdXN0b21lcklkfS9zbmFwc2hvdHM/JHtwYXJhbXMudG9TdHJpbmcoKX1gXG4gICAgKTtcbiAgfSxcblxuICAvKipcbiAgICogR2V0IHRoZSBtb3N0IHJlY2VudCBzbmFwc2hvdCBmb3IgYSBjdXN0b21lclxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGxhdGVzdCA9IGF3YWl0IGN1c3RvbWVyQ29udGV4dC5nZXRMYXRlc3RTbmFwc2hvdCgnY3VzdF9hYmMxMjMnKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBnZXRMYXRlc3RTbmFwc2hvdChcbiAgICBjdXN0b21lcklkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDdXN0b21lck1ldHJpY3NTbmFwc2hvdCB8IG51bGw+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGFwaVJlcXVlc3RXaXRoRGF0YTxDdXN0b21lck1ldHJpY3NTbmFwc2hvdD4oXG4gICAgICAgIGAvY3VzdG9tZXJzLyR7Y3VzdG9tZXJJZH0vc25hcHNob3RzL2xhdGVzdGBcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICgoZXJyb3IgYXMgYW55KT8uc3RhdHVzQ29kZSA9PT0gNDA0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBHZXQgc25hcHNob3QgY2xvc2VzdCB0byBhIHNwZWNpZmljIHRpbWVzdGFtcFxuICAgKiBVc2VmdWwgZm9yIHJldHJvYWN0aXZlIGFuYWx5c2lzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogLy8gR2V0IG1ldHJpY3MgYXMgb2YgYSBzcGVjaWZpYyBkYXRlXG4gICAqIGNvbnN0IHNuYXBzaG90ID0gYXdhaXQgY3VzdG9tZXJDb250ZXh0LmdldFNuYXBzaG90QXNPZihcbiAgICogICAnY3VzdF9hYmMxMjMnLFxuICAgKiAgICcyMDI0LTAxLTE1VDEwOjAwOjAwWidcbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBnZXRTbmFwc2hvdEFzT2YoXG4gICAgY3VzdG9tZXJJZDogc3RyaW5nLFxuICAgIHRpbWVzdGFtcDogc3RyaW5nIHwgRGF0ZVxuICApOiBQcm9taXNlPEN1c3RvbWVyTWV0cmljc1NuYXBzaG90IHwgbnVsbD4ge1xuICAgIGNvbnN0IHRzID0gbmV3IERhdGUodGltZXN0YW1wKS50b0lTT1N0cmluZygpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgYXBpUmVxdWVzdFdpdGhEYXRhPEN1c3RvbWVyTWV0cmljc1NuYXBzaG90PihcbiAgICAgICAgYC9jdXN0b21lcnMvJHtjdXN0b21lcklkfS9zbmFwc2hvdHMvYXMtb2Y/dGltZXN0YW1wPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHRzKX1gXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoKGVycm9yIGFzIGFueSk/LnN0YXR1c0NvZGUgPT09IDQwNCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhFTFBFUiBGVU5DVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDcmVhdGUgYSBDdXN0b21lckNvbnRleHRTbmFwc2hvdCBmcm9tIGEgbWV0cmljcyBzbmFwc2hvdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Db250ZXh0U25hcHNob3QoXG4gIHNuYXBzaG90OiBDdXN0b21lck1ldHJpY3NTbmFwc2hvdFxuKTogQ3VzdG9tZXJDb250ZXh0U25hcHNob3Qge1xuICByZXR1cm4ge1xuICAgIGN1c3RvbWVySWQ6IHNuYXBzaG90LmN1c3RvbWVyQWNjb3VudElkLFxuICAgIGFycjogc25hcHNob3QuYXJyLFxuICAgIGhlYWx0aFNjb3JlOiBzbmFwc2hvdC5oZWFsdGhTY29yZSxcbiAgICBzZWdtZW50OiBzbmFwc2hvdC5zZWdtZW50LFxuICAgIGNhcHR1cmVkQXQ6IHNuYXBzaG90LmNhcHR1cmVkQXQsXG4gIH07XG59XG5cbi8qKlxuICogQ2FwdHVyZSBtZXRyaWNzIGFuZCBjcmVhdGUgY29udGV4dCBzbmFwc2hvdCBpbiBvbmUgY2FsbFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZXh0ID0gYXdhaXQgY2FwdHVyZUN1c3RvbWVyQ29udGV4dCgnY3VzdF9hYmMxMjMnLCB7XG4gKiAgIGFycjogMTAwMDAwLFxuICogICBoZWFsdGhTY29yZTogOTAsXG4gKiAgIHNlZ21lbnQ6ICdlbnRlcnByaXNlJyxcbiAqIH0pO1xuICpcbiAqIC8vIFVzZSBpbiBydW5cbiAqIGNvbnN0IHJ1biA9IGF3YWl0IHJ1bnMuY3JlYXRlKHtcbiAqICAgYWdlbnRJZDogJ2FnZW50XzEyMycsXG4gKiAgIGN1c3RvbWVyQ29udGV4dDogY29udGV4dCxcbiAqICAgLy8gLi4uXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FwdHVyZUN1c3RvbWVyQ29udGV4dChcbiAgY3VzdG9tZXJJZDogc3RyaW5nLFxuICBtZXRyaWNzOiB7XG4gICAgYXJyPzogbnVtYmVyO1xuICAgIGhlYWx0aFNjb3JlPzogbnVtYmVyO1xuICAgIHNlZ21lbnQ/OiBzdHJpbmc7XG4gIH1cbik6IFByb21pc2U8Q3VzdG9tZXJDb250ZXh0U25hcHNob3Q+IHtcbiAgY29uc3Qgc25hcHNob3QgPSBhd2FpdCBjdXN0b21lckNvbnRleHQuY2FwdHVyZVNuYXBzaG90KGN1c3RvbWVySWQsIG1ldHJpY3MpO1xuICByZXR1cm4gdG9Db250ZXh0U25hcHNob3Qoc25hcHNob3QpO1xufVxuXG4vKipcbiAqIEdldCBjdXN0b21lciBjb250ZXh0IGFzIG9mIGEgc3BlY2lmaWMgdGltZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q29udGV4dEFzT2YoXG4gIGN1c3RvbWVySWQ6IHN0cmluZyxcbiAgdGltZXN0YW1wOiBzdHJpbmcgfCBEYXRlXG4pOiBQcm9taXNlPEN1c3RvbWVyQ29udGV4dFNuYXBzaG90IHwgbnVsbD4ge1xuICBjb25zdCBzbmFwc2hvdCA9IGF3YWl0IGN1c3RvbWVyQ29udGV4dC5nZXRTbmFwc2hvdEFzT2YoY3VzdG9tZXJJZCwgdGltZXN0YW1wKTtcbiAgcmV0dXJuIHNuYXBzaG90ID8gdG9Db250ZXh0U25hcHNob3Qoc25hcHNob3QpIDogbnVsbDtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgQVJSIGNoYW5nZSBiZXR3ZWVuIHR3byBzbmFwc2hvdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUFyckNoYW5nZShcbiAgb2xkZXI6IEN1c3RvbWVyTWV0cmljc1NuYXBzaG90LFxuICBuZXdlcjogQ3VzdG9tZXJNZXRyaWNzU25hcHNob3Rcbik6IHtcbiAgYWJzb2x1dGU6IG51bWJlcjtcbiAgcGVyY2VudGFnZTogbnVtYmVyO1xuICBkaXJlY3Rpb246ICdpbmNyZWFzZScgfCAnZGVjcmVhc2UnIHwgJ3N0YWJsZSc7XG59IHtcbiAgY29uc3Qgb2xkQXJyID0gb2xkZXIuYXJyIHx8IDA7XG4gIGNvbnN0IG5ld0FyciA9IG5ld2VyLmFyciB8fCAwO1xuICBjb25zdCBhYnNvbHV0ZSA9IG5ld0FyciAtIG9sZEFycjtcbiAgY29uc3QgcGVyY2VudGFnZSA9IG9sZEFyciA+IDAgPyAoYWJzb2x1dGUgLyBvbGRBcnIpICogMTAwIDogMDtcblxuICByZXR1cm4ge1xuICAgIGFic29sdXRlLFxuICAgIHBlcmNlbnRhZ2UsXG4gICAgZGlyZWN0aW9uOiBhYnNvbHV0ZSA+IDAgPyAnaW5jcmVhc2UnIDogYWJzb2x1dGUgPCAwID8gJ2RlY3JlYXNlJyA6ICdzdGFibGUnLFxuICB9O1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSBoZWFsdGggc2NvcmUgdHJlbmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUhlYWx0aFRyZW5kKFxuICBzbmFwc2hvdHM6IEN1c3RvbWVyTWV0cmljc1NuYXBzaG90W11cbik6IHtcbiAgY3VycmVudFNjb3JlOiBudW1iZXIgfCBudWxsO1xuICBhdmdTY29yZTogbnVtYmVyIHwgbnVsbDtcbiAgdHJlbmQ6ICdpbXByb3ZpbmcnIHwgJ2RlY2xpbmluZycgfCAnc3RhYmxlJztcbiAgdm9sYXRpbGl0eTogJ2xvdycgfCAnbWVkaXVtJyB8ICdoaWdoJztcbn0ge1xuICBjb25zdCBzY29yZXMgPSBzbmFwc2hvdHNcbiAgICAuZmlsdGVyKChzKSA9PiBzLmhlYWx0aFNjb3JlICE9PSB1bmRlZmluZWQgJiYgcy5oZWFsdGhTY29yZSAhPT0gbnVsbClcbiAgICAubWFwKChzKSA9PiBzLmhlYWx0aFNjb3JlISk7XG5cbiAgaWYgKHNjb3Jlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVudFNjb3JlOiBudWxsLFxuICAgICAgYXZnU2NvcmU6IG51bGwsXG4gICAgICB0cmVuZDogJ3N0YWJsZScsXG4gICAgICB2b2xhdGlsaXR5OiAnbG93JyxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgY3VycmVudFNjb3JlID0gc2NvcmVzWzBdO1xuICBjb25zdCBhdmdTY29yZSA9IHNjb3Jlcy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSAvIHNjb3Jlcy5sZW5ndGg7XG5cbiAgLy8gQ2FsY3VsYXRlIHRyZW5kIChzaW1wbGUgbGluZWFyIHJlZ3Jlc3Npb24gZGlyZWN0aW9uKVxuICBsZXQgdHJlbmQ6ICdpbXByb3ZpbmcnIHwgJ2RlY2xpbmluZycgfCAnc3RhYmxlJyA9ICdzdGFibGUnO1xuICBpZiAoc2NvcmVzLmxlbmd0aCA+PSAyKSB7XG4gICAgY29uc3QgcmVjZW50QXZnID0gc2NvcmVzLnNsaWNlKDAsIE1hdGguY2VpbChzY29yZXMubGVuZ3RoIC8gMikpLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApIC8gTWF0aC5jZWlsKHNjb3Jlcy5sZW5ndGggLyAyKTtcbiAgICBjb25zdCBvbGRlckF2ZyA9IHNjb3Jlcy5zbGljZShNYXRoLmNlaWwoc2NvcmVzLmxlbmd0aCAvIDIpKS5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSAvIE1hdGguZmxvb3Ioc2NvcmVzLmxlbmd0aCAvIDIpO1xuICAgIGlmIChyZWNlbnRBdmcgLSBvbGRlckF2ZyA+IDUpIHRyZW5kID0gJ2ltcHJvdmluZyc7XG4gICAgZWxzZSBpZiAob2xkZXJBdmcgLSByZWNlbnRBdmcgPiA1KSB0cmVuZCA9ICdkZWNsaW5pbmcnO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHZvbGF0aWxpdHkgKHN0YW5kYXJkIGRldmlhdGlvbilcbiAgY29uc3QgdmFyaWFuY2UgPSBzY29yZXMucmVkdWNlKChhY2MsIHMpID0+IGFjYyArIE1hdGgucG93KHMgLSBhdmdTY29yZSwgMiksIDApIC8gc2NvcmVzLmxlbmd0aDtcbiAgY29uc3Qgc3RkRGV2ID0gTWF0aC5zcXJ0KHZhcmlhbmNlKTtcbiAgY29uc3Qgdm9sYXRpbGl0eSA9IHN0ZERldiA8IDUgPyAnbG93JyA6IHN0ZERldiA8IDE1ID8gJ21lZGl1bScgOiAnaGlnaCc7XG5cbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50U2NvcmUsXG4gICAgYXZnU2NvcmUsXG4gICAgdHJlbmQsXG4gICAgdm9sYXRpbGl0eSxcbiAgfTtcbn1cbiJdfQ==
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlZ3JhdGlvbnMvY3VzdG9tZXItY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQWdRSCw4Q0FVQztBQXFCRCx3REFVQztBQUtELHdDQU1DO0FBS0QsZ0RBa0JDO0FBS0Qsb0RBNENDO0FBMVhELDJDQUFnRTtBQWtDaEUsK0VBQStFO0FBQy9FLHVCQUF1QjtBQUN2QiwrRUFBK0U7QUFFL0U7O0dBRUc7QUFDVSxRQUFBLGVBQWUsR0FBRztJQUM3Qjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBUW5CO1FBQ0MsT0FBTyxJQUFBLDJCQUFrQixFQUFrQixZQUFZLEVBQUU7WUFDdkQsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsS0FBSztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFrQjtRQUNqQyxPQUFPLElBQUEsMkJBQWtCLEVBQWtCLGNBQWMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsVUFBa0IsRUFDbEIsTUFBeUM7UUFFekMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLElBQUEsMkJBQWtCLEVBQzdCLHVCQUF1QixNQUFNLElBQUksVUFBVSxFQUFFLENBQzlDLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUssS0FBYSxFQUFFLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2SCxJQUFJLFNBQVMsR0FBRyxRQUFRLEdBQUcsQ0FBQztZQUFFLEtBQUssR0FBRyxXQUFXLENBQUM7YUFDN0MsSUFBSSxRQUFRLEdBQUcsU0FBUyxHQUFHLENBQUM7WUFBRSxLQUFLLEdBQUcsV0FBVyxDQUFDO0lBQ3pELENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMvRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sVUFBVSxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFeEUsT0FBTztRQUNMLFlBQVk7UUFDWixRQUFRO1FBQ1IsS0FBSztRQUNMLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpbmtIaXZlIFNESyB2My4wIC0gQ3VzdG9tZXIgQ29udGV4dFxuICpcbiAqIFRpbWUtc2VyaWVzIGN1c3RvbWVyIG1ldHJpY3Mgc25hcHNob3RzXG4gKiBDYXB0dXJlcyBBUlIsIGhlYWx0aCBzY29yZSwgc2VnbWVudCBBUyBPRiB0aGUgcnVuIHRpbWUgKG5vdCBjdXJyZW50IHZhbHVlcylcbiAqL1xuXG5pbXBvcnQgeyBhcGlSZXF1ZXN0LCBhcGlSZXF1ZXN0V2l0aERhdGEgfSBmcm9tICcuLi9jb3JlL2NsaWVudCc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyQ29udGV4dFNuYXBzaG90IH0gZnJvbSAnLi4vY29yZS90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENVU1RPTUVSIEFDQ09VTlQgVFlQRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lckFjY291bnQge1xuICBpZDogc3RyaW5nO1xuICBjb21wYW55SWQ6IHN0cmluZztcbiAgZXh0ZXJuYWxJZD86IHN0cmluZztcbiAgZXh0ZXJuYWxTb3VyY2U/OiAnc2FsZXNmb3JjZScgfCAnaHVic3BvdCcgfCAnemVuZGVzaycgfCAnaW50ZXJjb20nIHwgJ2N1c3RvbSc7XG4gIG5hbWU6IHN0cmluZztcbiAgZG9tYWluPzogc3RyaW5nO1xuICBzZWdtZW50Pzogc3RyaW5nO1xuICBpbmR1c3RyeT86IHN0cmluZztcbiAgZW1wbG95ZWVDb3VudD86IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyTWV0cmljc1NuYXBzaG90IHtcbiAgaWQ6IHN0cmluZztcbiAgY3VzdG9tZXJBY2NvdW50SWQ6IHN0cmluZztcbiAgYXJyPzogbnVtYmVyO1xuICBoZWFsdGhTY29yZT86IG51bWJlcjtcbiAgbnBzPzogbnVtYmVyO1xuICBzZWdtZW50Pzogc3RyaW5nO1xuICBjaHVyblJpc2s/OiAnbG93JyB8ICdtZWRpdW0nIHwgJ2hpZ2gnO1xuICBjYXB0dXJlZEF0OiBzdHJpbmc7XG4gIHNvdXJjZT86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENVU1RPTUVSIENPTlRFWFQgQVBJXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ3VzdG9tZXIgY29udGV4dCBBUEkgY2xpZW50IGZvciB0aW1lLXNlcmllcyBtZXRyaWNzXG4gKi9cbmV4cG9ydCBjb25zdCBjdXN0b21lckNvbnRleHQgPSB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjdXN0b21lciBhY2NvdW50XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgYWNjb3VudCA9IGF3YWl0IGN1c3RvbWVyQ29udGV4dC5jcmVhdGVBY2NvdW50KHtcbiAgICogICBuYW1lOiAnQWNtZSBDb3JwJyxcbiAgICogICBleHRlcm5hbElkOiAnc2ZfMDAxMjM0JyxcbiAgICogICBleHRlcm5hbFNvdXJjZTogJ3NhbGVzZm9yY2UnLFxuICAgKiAgIHNlZ21lbnQ6ICdlbnRlcnByaXNlJyxcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQWNjb3VudChpbnB1dDoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBleHRlcm5hbElkPzogc3RyaW5nO1xuICAgIGV4dGVybmFsU291cmNlPzogQ3VzdG9tZXJBY2NvdW50WydleHRlcm5hbFNvdXJjZSddO1xuICAgIGRvbWFpbj86IHN0cmluZztcbiAgICBzZWdtZW50Pzogc3RyaW5nO1xuICAgIGluZHVzdHJ5Pzogc3RyaW5nO1xuICAgIGVtcGxveWVlQ291bnQ/OiBudW1iZXI7XG4gIH0pOiBQcm9taXNlPEN1c3RvbWVyQWNjb3VudD4ge1xuICAgIHJldHVybiBhcGlSZXF1ZXN0V2l0aERhdGE8Q3VzdG9tZXJBY2NvdW50PignL2N1c3RvbWVycycsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogaW5wdXQsXG4gICAgfSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEdldCBhIGN1c3RvbWVyIGFjY291bnQgYnkgSURcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBhY2NvdW50ID0gYXdhaXQgY3VzdG9tZXJDb250ZXh0LmdldEFjY291bnQoJ2N1c3RfYWJjMTIzJyk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgZ2V0QWNjb3VudChjdXN0b21lcklkOiBzdHJpbmcpOiBQcm9taXNlPEN1c3RvbWVyQWNjb3VudD4ge1xuICAgIHJldHVybiBhcGlSZXF1ZXN0V2l0aERhdGE8Q3VzdG9tZXJBY2NvdW50PihgL2N1c3RvbWVycy8ke2N1c3RvbWVySWR9YCk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEdldCBhIGN1c3RvbWVyIGFjY291bnQgYnkgZXh0ZXJuYWwgSURcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBhY2NvdW50ID0gYXdhaXQgY3VzdG9tZXJDb250ZXh0LmdldEFjY291bnRCeUV4dGVybmFsSWQoXG4gICAqICAgJ3NmXzAwMTIzNCcsXG4gICAqICAgJ3NhbGVzZm9yY2UnXG4gICAqICk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgZ2V0QWNjb3VudEJ5RXh0ZXJuYWxJZChcbiAgICBleHRlcm5hbElkOiBzdHJpbmcsXG4gICAgc291cmNlOiBDdXN0b21lckFjY291bnRbJ2V4dGVybmFsU291cmNlJ11cbiAgKTogUHJvbWlzZTxDdXN0b21lckFjY291bnQgfCBudWxsPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBhcGlSZXF1ZXN0V2l0aERhdGE8Q3VzdG9tZXJBY2NvdW50PihcbiAgICAgICAgYC9jdXN0b21lcnMvZXh0ZXJuYWwvJHtzb3VyY2V9LyR7ZXh0ZXJuYWxJZH1gXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoKGVycm9yIGFzIGFueSk/LnN0YXR1c0NvZGUgPT09IDQwNCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogQ2FwdHVyZSBhIG1ldHJpY3Mgc25hcHNob3QgZm9yIGEgY3VzdG9tZXJcbiAgICogVGhpcyBjcmVhdGVzIGEgcG9pbnQtaW4tdGltZSByZWNvcmQgb2YgdGhlIGN1c3RvbWVyJ3MgbWV0cmljc1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIC8vIENhcHR1cmUgY3VycmVudCBtZXRyaWNzXG4gICAqIGNvbnN0IHNuYXBzaG90ID0gYXdhaXQgY3VzdG9tZXJDb250ZXh0LmNhcHR1cmVTbmFwc2hvdCgnY3VzdF9hYmMxMjMnLCB7XG4gICAqICAgYXJyOiAxMjAwMDAsXG4gICAqICAgaGVhbHRoU2NvcmU6IDg1LFxuICAgKiAgIG5wczogNDUsXG4gICAqICAgc2VnbWVudDogJ2VudGVycHJpc2UnLFxuICAgKiB9KTtcbiAgICpcbiAgICogLy8gVXNlIHRoaXMgc25hcHNob3QgaW4gYSBydW5cbiAgICogY29uc3QgcnVuID0gYXdhaXQgcnVucy5jcmVhdGUoe1xuICAgKiAgIGFnZW50SWQ6ICdhZ2VudF8xMjMnLFxuICAgKiAgIGN1c3RvbWVyQ29udGV4dDoge1xuICAgKiAgICAgY3VzdG9tZXJJZDogJ2N1c3RfYWJjMTIzJyxcbiAgICogICAgIGFycjogc25hcHNob3QuYXJyLFxuICAgKiAgICAgaGVhbHRoU2NvcmU6IHNuYXBzaG90LmhlYWx0aFNjb3JlLFxuICAgKiAgICAgY2FwdHVyZWRBdDogc25hcHNob3QuY2FwdHVyZWRBdCxcbiAgICogICB9LFxuICAgKiAgIC8vIC4uLlxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjYXB0dXJlU25hcHNob3QoXG4gICAgY3VzdG9tZXJJZDogc3RyaW5nLFxuICAgIG1ldHJpY3M6IHtcbiAgICAgIGFycj86IG51bWJlcjtcbiAgICAgIGhlYWx0aFNjb3JlPzogbnVtYmVyO1xuICAgICAgbnBzPzogbnVtYmVyO1xuICAgICAgc2VnbWVudD86IHN0cmluZztcbiAgICAgIGNodXJuUmlzaz86ICdsb3cnIHwgJ21lZGl1bScgfCAnaGlnaCc7XG4gICAgICBzb3VyY2U/OiBzdHJpbmc7XG4gICAgfVxuICApOiBQcm9taXNlPEN1c3RvbWVyTWV0cmljc1NuYXBzaG90PiB7XG4gICAgcmV0dXJuIGFwaVJlcXVlc3RXaXRoRGF0YTxDdXN0b21lck1ldHJpY3NTbmFwc2hvdD4oXG4gICAgICBgL2N1c3RvbWVycy8ke2N1c3RvbWVySWR9L3NuYXBzaG90c2AsXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgLi4ubWV0cmljcyxcbiAgICAgICAgICBjYXB0dXJlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcbiAgfSxcblxuICAvKipcbiAgICogR2V0IG1ldHJpY3Mgc25hcHNob3RzIGZvciBhIGN1c3RvbWVyICh0aW1lLXNlcmllcylcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBHZXQgbGFzdCAzMCBkYXlzIG9mIHNuYXBzaG90c1xuICAgKiBjb25zdCBzbmFwc2hvdHMgPSBhd2FpdCBjdXN0b21lckNvbnRleHQuZ2V0U25hcHNob3RzKCdjdXN0X2FiYzEyMycsIHtcbiAgICogICBmcm9tOiBuZXcgRGF0ZShEYXRlLm5vdygpIC0gMzAgKiAyNCAqIDYwICogNjAgKiAxMDAwKS50b0lTT1N0cmluZygpLFxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBnZXRTbmFwc2hvdHMoXG4gICAgY3VzdG9tZXJJZDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGZyb20/OiBzdHJpbmc7XG4gICAgICB0bz86IHN0cmluZztcbiAgICAgIGxpbWl0PzogbnVtYmVyO1xuICAgIH0gPSB7fVxuICApOiBQcm9taXNlPEN1c3RvbWVyTWV0cmljc1NuYXBzaG90W10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgaWYgKG9wdGlvbnMuZnJvbSkgcGFyYW1zLnNldCgnZnJvbScsIG9wdGlvbnMuZnJvbSk7XG4gICAgaWYgKG9wdGlvbnMudG8pIHBhcmFtcy5zZXQoJ3RvJywgb3B0aW9ucy50byk7XG4gICAgaWYgKG9wdGlvbnMubGltaXQpIHBhcmFtcy5zZXQoJ2xpbWl0JywgU3RyaW5nKG9wdGlvbnMubGltaXQpKTtcblxuICAgIHJldHVybiBhcGlSZXF1ZXN0V2l0aERhdGE8Q3VzdG9tZXJNZXRyaWNzU25hcHNob3RbXT4oXG4gICAgICBgL2N1c3RvbWVycy8ke2N1c3RvbWVySWR9L3NuYXBzaG90cz8ke3BhcmFtcy50b1N0cmluZygpfWBcbiAgICApO1xuICB9LFxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1vc3QgcmVjZW50IHNuYXBzaG90IGZvciBhIGN1c3RvbWVyXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgbGF0ZXN0ID0gYXdhaXQgY3VzdG9tZXJDb250ZXh0LmdldExhdGVzdFNuYXBzaG90KCdjdXN0X2FiYzEyMycpO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGdldExhdGVzdFNuYXBzaG90KFxuICAgIGN1c3RvbWVySWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEN1c3RvbWVyTWV0cmljc1NuYXBzaG90IHwgbnVsbD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgYXBpUmVxdWVzdFdpdGhEYXRhPEN1c3RvbWVyTWV0cmljc1NuYXBzaG90PihcbiAgICAgICAgYC9jdXN0b21lcnMvJHtjdXN0b21lcklkfS9zbmFwc2hvdHMvbGF0ZXN0YFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKChlcnJvciBhcyBhbnkpPy5zdGF0dXNDb2RlID09PSA0MDQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIEdldCBzbmFwc2hvdCBjbG9zZXN0IHRvIGEgc3BlY2lmaWMgdGltZXN0YW1wXG4gICAqIFVzZWZ1bCBmb3IgcmV0cm9hY3RpdmUgYW5hbHlzaXNcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBHZXQgbWV0cmljcyBhcyBvZiBhIHNwZWNpZmljIGRhdGVcbiAgICogY29uc3Qgc25hcHNob3QgPSBhd2FpdCBjdXN0b21lckNvbnRleHQuZ2V0U25hcHNob3RBc09mKFxuICAgKiAgICdjdXN0X2FiYzEyMycsXG4gICAqICAgJzIwMjQtMDEtMTVUMTA6MDA6MDBaJ1xuICAgKiApO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGdldFNuYXBzaG90QXNPZihcbiAgICBjdXN0b21lcklkOiBzdHJpbmcsXG4gICAgdGltZXN0YW1wOiBzdHJpbmcgfCBEYXRlXG4gICk6IFByb21pc2U8Q3VzdG9tZXJNZXRyaWNzU25hcHNob3QgfCBudWxsPiB7XG4gICAgY29uc3QgdHMgPSBuZXcgRGF0ZSh0aW1lc3RhbXApLnRvSVNPU3RyaW5nKCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBhcGlSZXF1ZXN0V2l0aERhdGE8Q3VzdG9tZXJNZXRyaWNzU25hcHNob3Q+KFxuICAgICAgICBgL2N1c3RvbWVycy8ke2N1c3RvbWVySWR9L3NuYXBzaG90cy9hcy1vZj90aW1lc3RhbXA9JHtlbmNvZGVVUklDb21wb25lbnQodHMpfWBcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICgoZXJyb3IgYXMgYW55KT8uc3RhdHVzQ29kZSA9PT0gNDA0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9LFxuXG4gIC8qKiBBbGlhcyBmb3IgY2FwdHVyZVNuYXBzaG90KCkgKi9cbiAgYXN5bmMgY2FwdHVyZShjdXN0b21lcklkOiBzdHJpbmcsIG1ldHJpY3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUHJvbWlzZTxDdXN0b21lckNvbnRleHRTbmFwc2hvdD4ge1xuICAgIHJldHVybiB0aGlzLmNhcHR1cmVTbmFwc2hvdChjdXN0b21lcklkLCBtZXRyaWNzKTtcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhFTFBFUiBGVU5DVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDcmVhdGUgYSBDdXN0b21lckNvbnRleHRTbmFwc2hvdCBmcm9tIGEgbWV0cmljcyBzbmFwc2hvdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Db250ZXh0U25hcHNob3QoXG4gIHNuYXBzaG90OiBDdXN0b21lck1ldHJpY3NTbmFwc2hvdFxuKTogQ3VzdG9tZXJDb250ZXh0U25hcHNob3Qge1xuICByZXR1cm4ge1xuICAgIGN1c3RvbWVySWQ6IHNuYXBzaG90LmN1c3RvbWVyQWNjb3VudElkLFxuICAgIGFycjogc25hcHNob3QuYXJyLFxuICAgIGhlYWx0aFNjb3JlOiBzbmFwc2hvdC5oZWFsdGhTY29yZSxcbiAgICBzZWdtZW50OiBzbmFwc2hvdC5zZWdtZW50LFxuICAgIGNhcHR1cmVkQXQ6IHNuYXBzaG90LmNhcHR1cmVkQXQsXG4gIH07XG59XG5cbi8qKlxuICogQ2FwdHVyZSBtZXRyaWNzIGFuZCBjcmVhdGUgY29udGV4dCBzbmFwc2hvdCBpbiBvbmUgY2FsbFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZXh0ID0gYXdhaXQgY2FwdHVyZUN1c3RvbWVyQ29udGV4dCgnY3VzdF9hYmMxMjMnLCB7XG4gKiAgIGFycjogMTAwMDAwLFxuICogICBoZWFsdGhTY29yZTogOTAsXG4gKiAgIHNlZ21lbnQ6ICdlbnRlcnByaXNlJyxcbiAqIH0pO1xuICpcbiAqIC8vIFVzZSBpbiBydW5cbiAqIGNvbnN0IHJ1biA9IGF3YWl0IHJ1bnMuY3JlYXRlKHtcbiAqICAgYWdlbnRJZDogJ2FnZW50XzEyMycsXG4gKiAgIGN1c3RvbWVyQ29udGV4dDogY29udGV4dCxcbiAqICAgLy8gLi4uXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FwdHVyZUN1c3RvbWVyQ29udGV4dChcbiAgY3VzdG9tZXJJZDogc3RyaW5nLFxuICBtZXRyaWNzOiB7XG4gICAgYXJyPzogbnVtYmVyO1xuICAgIGhlYWx0aFNjb3JlPzogbnVtYmVyO1xuICAgIHNlZ21lbnQ/OiBzdHJpbmc7XG4gIH1cbik6IFByb21pc2U8Q3VzdG9tZXJDb250ZXh0U25hcHNob3Q+IHtcbiAgY29uc3Qgc25hcHNob3QgPSBhd2FpdCBjdXN0b21lckNvbnRleHQuY2FwdHVyZVNuYXBzaG90KGN1c3RvbWVySWQsIG1ldHJpY3MpO1xuICByZXR1cm4gdG9Db250ZXh0U25hcHNob3Qoc25hcHNob3QpO1xufVxuXG4vKipcbiAqIEdldCBjdXN0b21lciBjb250ZXh0IGFzIG9mIGEgc3BlY2lmaWMgdGltZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q29udGV4dEFzT2YoXG4gIGN1c3RvbWVySWQ6IHN0cmluZyxcbiAgdGltZXN0YW1wOiBzdHJpbmcgfCBEYXRlXG4pOiBQcm9taXNlPEN1c3RvbWVyQ29udGV4dFNuYXBzaG90IHwgbnVsbD4ge1xuICBjb25zdCBzbmFwc2hvdCA9IGF3YWl0IGN1c3RvbWVyQ29udGV4dC5nZXRTbmFwc2hvdEFzT2YoY3VzdG9tZXJJZCwgdGltZXN0YW1wKTtcbiAgcmV0dXJuIHNuYXBzaG90ID8gdG9Db250ZXh0U25hcHNob3Qoc25hcHNob3QpIDogbnVsbDtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgQVJSIGNoYW5nZSBiZXR3ZWVuIHR3byBzbmFwc2hvdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUFyckNoYW5nZShcbiAgb2xkZXI6IEN1c3RvbWVyTWV0cmljc1NuYXBzaG90LFxuICBuZXdlcjogQ3VzdG9tZXJNZXRyaWNzU25hcHNob3Rcbik6IHtcbiAgYWJzb2x1dGU6IG51bWJlcjtcbiAgcGVyY2VudGFnZTogbnVtYmVyO1xuICBkaXJlY3Rpb246ICdpbmNyZWFzZScgfCAnZGVjcmVhc2UnIHwgJ3N0YWJsZSc7XG59IHtcbiAgY29uc3Qgb2xkQXJyID0gb2xkZXIuYXJyIHx8IDA7XG4gIGNvbnN0IG5ld0FyciA9IG5ld2VyLmFyciB8fCAwO1xuICBjb25zdCBhYnNvbHV0ZSA9IG5ld0FyciAtIG9sZEFycjtcbiAgY29uc3QgcGVyY2VudGFnZSA9IG9sZEFyciA+IDAgPyAoYWJzb2x1dGUgLyBvbGRBcnIpICogMTAwIDogMDtcblxuICByZXR1cm4ge1xuICAgIGFic29sdXRlLFxuICAgIHBlcmNlbnRhZ2UsXG4gICAgZGlyZWN0aW9uOiBhYnNvbHV0ZSA+IDAgPyAnaW5jcmVhc2UnIDogYWJzb2x1dGUgPCAwID8gJ2RlY3JlYXNlJyA6ICdzdGFibGUnLFxuICB9O1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSBoZWFsdGggc2NvcmUgdHJlbmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUhlYWx0aFRyZW5kKFxuICBzbmFwc2hvdHM6IEN1c3RvbWVyTWV0cmljc1NuYXBzaG90W11cbik6IHtcbiAgY3VycmVudFNjb3JlOiBudW1iZXIgfCBudWxsO1xuICBhdmdTY29yZTogbnVtYmVyIHwgbnVsbDtcbiAgdHJlbmQ6ICdpbXByb3ZpbmcnIHwgJ2RlY2xpbmluZycgfCAnc3RhYmxlJztcbiAgdm9sYXRpbGl0eTogJ2xvdycgfCAnbWVkaXVtJyB8ICdoaWdoJztcbn0ge1xuICBjb25zdCBzY29yZXMgPSBzbmFwc2hvdHNcbiAgICAuZmlsdGVyKChzKSA9PiBzLmhlYWx0aFNjb3JlICE9PSB1bmRlZmluZWQgJiYgcy5oZWFsdGhTY29yZSAhPT0gbnVsbClcbiAgICAubWFwKChzKSA9PiBzLmhlYWx0aFNjb3JlISk7XG5cbiAgaWYgKHNjb3Jlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVudFNjb3JlOiBudWxsLFxuICAgICAgYXZnU2NvcmU6IG51bGwsXG4gICAgICB0cmVuZDogJ3N0YWJsZScsXG4gICAgICB2b2xhdGlsaXR5OiAnbG93JyxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgY3VycmVudFNjb3JlID0gc2NvcmVzWzBdO1xuICBjb25zdCBhdmdTY29yZSA9IHNjb3Jlcy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSAvIHNjb3Jlcy5sZW5ndGg7XG5cbiAgLy8gQ2FsY3VsYXRlIHRyZW5kIChzaW1wbGUgbGluZWFyIHJlZ3Jlc3Npb24gZGlyZWN0aW9uKVxuICBsZXQgdHJlbmQ6ICdpbXByb3ZpbmcnIHwgJ2RlY2xpbmluZycgfCAnc3RhYmxlJyA9ICdzdGFibGUnO1xuICBpZiAoc2NvcmVzLmxlbmd0aCA+PSAyKSB7XG4gICAgY29uc3QgcmVjZW50QXZnID0gc2NvcmVzLnNsaWNlKDAsIE1hdGguY2VpbChzY29yZXMubGVuZ3RoIC8gMikpLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApIC8gTWF0aC5jZWlsKHNjb3Jlcy5sZW5ndGggLyAyKTtcbiAgICBjb25zdCBvbGRlckF2ZyA9IHNjb3Jlcy5zbGljZShNYXRoLmNlaWwoc2NvcmVzLmxlbmd0aCAvIDIpKS5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSAvIE1hdGguZmxvb3Ioc2NvcmVzLmxlbmd0aCAvIDIpO1xuICAgIGlmIChyZWNlbnRBdmcgLSBvbGRlckF2ZyA+IDUpIHRyZW5kID0gJ2ltcHJvdmluZyc7XG4gICAgZWxzZSBpZiAob2xkZXJBdmcgLSByZWNlbnRBdmcgPiA1KSB0cmVuZCA9ICdkZWNsaW5pbmcnO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHZvbGF0aWxpdHkgKHN0YW5kYXJkIGRldmlhdGlvbilcbiAgY29uc3QgdmFyaWFuY2UgPSBzY29yZXMucmVkdWNlKChhY2MsIHMpID0+IGFjYyArIE1hdGgucG93KHMgLSBhdmdTY29yZSwgMiksIDApIC8gc2NvcmVzLmxlbmd0aDtcbiAgY29uc3Qgc3RkRGV2ID0gTWF0aC5zcXJ0KHZhcmlhbmNlKTtcbiAgY29uc3Qgdm9sYXRpbGl0eSA9IHN0ZERldiA8IDUgPyAnbG93JyA6IHN0ZERldiA8IDE1ID8gJ21lZGl1bScgOiAnaGlnaCc7XG5cbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50U2NvcmUsXG4gICAgYXZnU2NvcmUsXG4gICAgdHJlbmQsXG4gICAgdm9sYXRpbGl0eSxcbiAgfTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkhive/sdk",
3
- "version": "4.2.1",
3
+ "version": "4.2.3",
4
4
  "description": "ThinkHive SDK v4.0 - AI agent observability with business metrics, ROI analytics, and 25+ trace format support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",