@laikatest/sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,9 +15,9 @@ const client = new LaikaTest('key'); // Same key again?
15
15
 
16
16
  **After** - single unified init:
17
17
  ```typescript
18
- import { Laika } from '@laikatest/sdk';
18
+ import { LaikaTest } from '@laikatest/sdk';
19
19
 
20
- const laika = Laika.init({
20
+ const laika = LaikaTest.init({
21
21
  apiKey: 'key',
22
22
  serviceName: 'app',
23
23
  });
@@ -33,10 +33,10 @@ npm install @laikatest/sdk
33
33
  ## Quick Start
34
34
 
35
35
  ```typescript
36
- import { Laika, setSessionId } from '@laikatest/sdk';
36
+ import { LaikaTest, setSessionId } from '@laikatest/sdk';
37
37
 
38
38
  // Initialize once - enables both tracing and experiments
39
- const laika = Laika.init({
39
+ const laika = LaikaTest.init({
40
40
  apiKey: process.env.LAIKA_API_KEY,
41
41
  serviceName: 'my-app',
42
42
  });
@@ -103,14 +103,14 @@ Enable only what you need:
103
103
 
104
104
  ```typescript
105
105
  // Tracing only (observability without experiments)
106
- const laika = Laika.init({
106
+ const laika = LaikaTest.init({
107
107
  apiKey: 'key',
108
108
  serviceName: 'app',
109
109
  experiments: false,
110
110
  });
111
111
 
112
112
  // Experiments only (A/B testing without tracing)
113
- const laika = Laika.init({
113
+ const laika = LaikaTest.init({
114
114
  apiKey: 'key',
115
115
  serviceName: 'app',
116
116
  tracing: false,
@@ -157,11 +157,11 @@ setProperties({
157
157
 
158
158
  ## API Reference
159
159
 
160
- ### Laika Class
160
+ ### LaikaTest Class
161
161
 
162
162
  | Method | Description |
163
163
  |--------|-------------|
164
- | `Laika.init(config)` | Initialize SDK (static factory) |
164
+ | `LaikaTest.init(config)` | Initialize SDK (static factory) |
165
165
  | `laika.getPrompt(name, options?)` | Fetch prompt by name |
166
166
  | `laika.getExperimentPrompt(title, context?)` | Get A/B tested prompt |
167
167
  | `laika.shutdown()` | Cleanup resources |
@@ -197,9 +197,9 @@ import type {
197
197
  ### Multi-Turn Chatbot
198
198
 
199
199
  ```typescript
200
- import { Laika, setSessionId, setUserId } from '@laikatest/sdk';
200
+ import { LaikaTest, setSessionId, setUserId } from '@laikatest/sdk';
201
201
 
202
- const laika = Laika.init({
202
+ const laika = LaikaTest.init({
203
203
  apiKey: process.env.LAIKA_API_KEY,
204
204
  serviceName: 'chatbot',
205
205
  });
@@ -228,9 +228,9 @@ async function handleMessage(userId: string, conversationId: string, message: st
228
228
  ### Express.js Middleware
229
229
 
230
230
  ```typescript
231
- import { Laika, setSessionId, setUserId, setProperty } from '@laikatest/sdk';
231
+ import { LaikaTest, setSessionId, setUserId, setProperty } from '@laikatest/sdk';
232
232
 
233
- const laika = Laika.init({
233
+ const laika = LaikaTest.init({
234
234
  apiKey: process.env.LAIKA_API_KEY,
235
235
  serviceName: 'api-server',
236
236
  });
@@ -266,9 +266,9 @@ const prompt = await client.getExperimentPrompt('exp', { userId: 'u1' });
266
266
  ### After (Unified SDK)
267
267
 
268
268
  ```typescript
269
- import { Laika, setSessionId } from '@laikatest/sdk';
269
+ import { LaikaTest, setSessionId } from '@laikatest/sdk';
270
270
 
271
- const laika = Laika.init({ apiKey: 'key', serviceName: 'app' });
271
+ const laika = LaikaTest.init({ apiKey: 'key', serviceName: 'app' });
272
272
 
273
273
  setSessionId('conv-123');
274
274
  const prompt = await laika.getExperimentPrompt('exp', { userId: 'u1' });
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Laika } from './laika';
1
+ export { LaikaTest } from './laika';
2
2
  export { LaikaConfig } from './types';
3
3
  export { setSessionId, getSessionId, clearSessionId, setUserId, getUserId, clearUserId, runWithContext, runWithContextAsync, setProperty, setProperties, getProperties, clearProperties, removeProperty, runWithProperties, runWithPropertiesAsync, shutdown, } from '@laikatest/auto-otel';
4
4
  export { Prompt, LaikaServiceError, NetworkError, ValidationError, AuthenticationError, } from '@laikatest/js-client';
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthenticationError = exports.ValidationError = exports.NetworkError = exports.LaikaServiceError = exports.Prompt = exports.shutdown = exports.runWithPropertiesAsync = exports.runWithProperties = exports.removeProperty = exports.clearProperties = exports.getProperties = exports.setProperties = exports.setProperty = exports.runWithContextAsync = exports.runWithContext = exports.clearUserId = exports.getUserId = exports.setUserId = exports.clearSessionId = exports.getSessionId = exports.setSessionId = exports.Laika = void 0;
3
+ exports.AuthenticationError = exports.ValidationError = exports.NetworkError = exports.LaikaServiceError = exports.Prompt = exports.shutdown = exports.runWithPropertiesAsync = exports.runWithProperties = exports.removeProperty = exports.clearProperties = exports.getProperties = exports.setProperties = exports.setProperty = exports.runWithContextAsync = exports.runWithContext = exports.clearUserId = exports.getUserId = exports.setUserId = exports.clearSessionId = exports.getSessionId = exports.setSessionId = exports.LaikaTest = void 0;
4
4
  // Main class
5
5
  var laika_1 = require("./laika");
6
- Object.defineProperty(exports, "Laika", { enumerable: true, get: function () { return laika_1.Laika; } });
6
+ Object.defineProperty(exports, "LaikaTest", { enumerable: true, get: function () { return laika_1.LaikaTest; } });
7
7
  // Re-export from auto-otel for convenience
8
8
  var auto_otel_1 = require("@laikatest/auto-otel");
9
9
  Object.defineProperty(exports, "setSessionId", { enumerable: true, get: function () { return auto_otel_1.setSessionId; } });
@@ -29,4 +29,4 @@ Object.defineProperty(exports, "LaikaServiceError", { enumerable: true, get: fun
29
29
  Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return js_client_1.NetworkError; } });
30
30
  Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return js_client_1.ValidationError; } });
31
31
  Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return js_client_1.AuthenticationError; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsYUFBYTtBQUNiLGlDQUFnQztBQUF2Qiw4RkFBQSxLQUFLLE9BQUE7QUFHZCwyQ0FBMkM7QUFDM0Msa0RBaUI4QjtBQWhCNUIseUdBQUEsWUFBWSxPQUFBO0FBQ1oseUdBQUEsWUFBWSxPQUFBO0FBQ1osMkdBQUEsY0FBYyxPQUFBO0FBQ2Qsc0dBQUEsU0FBUyxPQUFBO0FBQ1Qsc0dBQUEsU0FBUyxPQUFBO0FBQ1Qsd0dBQUEsV0FBVyxPQUFBO0FBQ1gsMkdBQUEsY0FBYyxPQUFBO0FBQ2QsZ0hBQUEsbUJBQW1CLE9BQUE7QUFDbkIsd0dBQUEsV0FBVyxPQUFBO0FBQ1gsMEdBQUEsYUFBYSxPQUFBO0FBQ2IsMEdBQUEsYUFBYSxPQUFBO0FBQ2IsNEdBQUEsZUFBZSxPQUFBO0FBQ2YsMkdBQUEsY0FBYyxPQUFBO0FBQ2QsOEdBQUEsaUJBQWlCLE9BQUE7QUFDakIsbUhBQUEsc0JBQXNCLE9BQUE7QUFDdEIscUdBQUEsUUFBUSxPQUFBO0FBR1Ysd0NBQXdDO0FBQ3hDLGtEQU04QjtBQUw1QixtR0FBQSxNQUFNLE9BQUE7QUFDTiw4R0FBQSxpQkFBaUIsT0FBQTtBQUNqQix5R0FBQSxZQUFZLE9BQUE7QUFDWiw0R0FBQSxlQUFlLE9BQUE7QUFDZixnSEFBQSxtQkFBbUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1haW4gY2xhc3NcbmV4cG9ydCB7IExhaWthIH0gZnJvbSAnLi9sYWlrYSc7XG5leHBvcnQgeyBMYWlrYUNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBSZS1leHBvcnQgZnJvbSBhdXRvLW90ZWwgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQge1xuICBzZXRTZXNzaW9uSWQsXG4gIGdldFNlc3Npb25JZCxcbiAgY2xlYXJTZXNzaW9uSWQsXG4gIHNldFVzZXJJZCxcbiAgZ2V0VXNlcklkLFxuICBjbGVhclVzZXJJZCxcbiAgcnVuV2l0aENvbnRleHQsXG4gIHJ1bldpdGhDb250ZXh0QXN5bmMsXG4gIHNldFByb3BlcnR5LFxuICBzZXRQcm9wZXJ0aWVzLFxuICBnZXRQcm9wZXJ0aWVzLFxuICBjbGVhclByb3BlcnRpZXMsXG4gIHJlbW92ZVByb3BlcnR5LFxuICBydW5XaXRoUHJvcGVydGllcyxcbiAgcnVuV2l0aFByb3BlcnRpZXNBc3luYyxcbiAgc2h1dGRvd24sXG59IGZyb20gJ0BsYWlrYXRlc3QvYXV0by1vdGVsJztcblxuLy8gUmUtZXhwb3J0IGZyb20gY2xpZW50IGZvciBjb252ZW5pZW5jZVxuZXhwb3J0IHtcbiAgUHJvbXB0LFxuICBMYWlrYVNlcnZpY2VFcnJvcixcbiAgTmV0d29ya0Vycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG59IGZyb20gJ0BsYWlrYXRlc3QvanMtY2xpZW50JztcblxuLy8gUmUtZXhwb3J0IHR5cGVzIGZyb20gY2xpZW50XG5leHBvcnQgdHlwZSB7XG4gIFByb21wdENvbnRlbnQsXG4gIFNjb3JlSW5wdXQsXG4gIFNjb3JlVHlwZSxcbiAgU2NvcmVTb3VyY2UsXG4gIFB1c2hTY29yZU9wdGlvbnMsXG4gIFB1c2hTY29yZVJlc3BvbnNlLFxuICBDbGllbnRPcHRpb25zLFxuICBHZXRQcm9tcHRPcHRpb25zLFxufSBmcm9tICdAbGFpa2F0ZXN0L2pzLWNsaWVudCc7XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsYUFBYTtBQUNiLGlDQUFvQztBQUEzQixrR0FBQSxTQUFTLE9BQUE7QUFHbEIsMkNBQTJDO0FBQzNDLGtEQWlCOEI7QUFoQjVCLHlHQUFBLFlBQVksT0FBQTtBQUNaLHlHQUFBLFlBQVksT0FBQTtBQUNaLDJHQUFBLGNBQWMsT0FBQTtBQUNkLHNHQUFBLFNBQVMsT0FBQTtBQUNULHNHQUFBLFNBQVMsT0FBQTtBQUNULHdHQUFBLFdBQVcsT0FBQTtBQUNYLDJHQUFBLGNBQWMsT0FBQTtBQUNkLGdIQUFBLG1CQUFtQixPQUFBO0FBQ25CLHdHQUFBLFdBQVcsT0FBQTtBQUNYLDBHQUFBLGFBQWEsT0FBQTtBQUNiLDBHQUFBLGFBQWEsT0FBQTtBQUNiLDRHQUFBLGVBQWUsT0FBQTtBQUNmLDJHQUFBLGNBQWMsT0FBQTtBQUNkLDhHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLG1IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLHFHQUFBLFFBQVEsT0FBQTtBQUdWLHdDQUF3QztBQUN4QyxrREFNOEI7QUFMNUIsbUdBQUEsTUFBTSxPQUFBO0FBQ04sOEdBQUEsaUJBQWlCLE9BQUE7QUFDakIseUdBQUEsWUFBWSxPQUFBO0FBQ1osNEdBQUEsZUFBZSxPQUFBO0FBQ2YsZ0hBQUEsbUJBQW1CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBNYWluIGNsYXNzXG5leHBvcnQgeyBMYWlrYVRlc3QgfSBmcm9tICcuL2xhaWthJztcbmV4cG9ydCB7IExhaWthQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFJlLWV4cG9ydCBmcm9tIGF1dG8tb3RlbCBmb3IgY29udmVuaWVuY2VcbmV4cG9ydCB7XG4gIHNldFNlc3Npb25JZCxcbiAgZ2V0U2Vzc2lvbklkLFxuICBjbGVhclNlc3Npb25JZCxcbiAgc2V0VXNlcklkLFxuICBnZXRVc2VySWQsXG4gIGNsZWFyVXNlcklkLFxuICBydW5XaXRoQ29udGV4dCxcbiAgcnVuV2l0aENvbnRleHRBc3luYyxcbiAgc2V0UHJvcGVydHksXG4gIHNldFByb3BlcnRpZXMsXG4gIGdldFByb3BlcnRpZXMsXG4gIGNsZWFyUHJvcGVydGllcyxcbiAgcmVtb3ZlUHJvcGVydHksXG4gIHJ1bldpdGhQcm9wZXJ0aWVzLFxuICBydW5XaXRoUHJvcGVydGllc0FzeW5jLFxuICBzaHV0ZG93bixcbn0gZnJvbSAnQGxhaWthdGVzdC9hdXRvLW90ZWwnO1xuXG4vLyBSZS1leHBvcnQgZnJvbSBjbGllbnQgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQge1xuICBQcm9tcHQsXG4gIExhaWthU2VydmljZUVycm9yLFxuICBOZXR3b3JrRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbn0gZnJvbSAnQGxhaWthdGVzdC9qcy1jbGllbnQnO1xuXG4vLyBSZS1leHBvcnQgdHlwZXMgZnJvbSBjbGllbnRcbmV4cG9ydCB0eXBlIHtcbiAgUHJvbXB0Q29udGVudCxcbiAgU2NvcmVJbnB1dCxcbiAgU2NvcmVUeXBlLFxuICBTY29yZVNvdXJjZSxcbiAgUHVzaFNjb3JlT3B0aW9ucyxcbiAgUHVzaFNjb3JlUmVzcG9uc2UsXG4gIENsaWVudE9wdGlvbnMsXG4gIEdldFByb21wdE9wdGlvbnMsXG59IGZyb20gJ0BsYWlrYXRlc3QvanMtY2xpZW50JztcbiJdfQ==
package/dist/laika.d.ts CHANGED
@@ -4,7 +4,7 @@ import { LaikaConfig } from './types';
4
4
  * Unified LaikaTest SDK for tracing and experiments.
5
5
  * Provides a single entry point for both observability and A/B testing.
6
6
  */
7
- export declare class Laika {
7
+ export declare class LaikaTest {
8
8
  private client;
9
9
  private tracingEnabled;
10
10
  private constructor();
@@ -14,7 +14,7 @@ export declare class Laika {
14
14
  * @throws {Error} If apiKey or serviceName is missing/invalid
15
15
  * @throws {Error} If OpenTelemetry SDK fails to start
16
16
  */
17
- static init(config: LaikaConfig): Laika;
17
+ static init(config: LaikaConfig): LaikaTest;
18
18
  /**
19
19
  * Fetch prompt content by name.
20
20
  * Requires experiments to be enabled.
package/dist/laika.js CHANGED
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Laika = void 0;
3
+ exports.LaikaTest = void 0;
4
4
  const auto_otel_1 = require("@laikatest/auto-otel");
5
5
  const js_client_1 = require("@laikatest/js-client");
6
6
  /**
7
7
  * Unified LaikaTest SDK for tracing and experiments.
8
8
  * Provides a single entry point for both observability and A/B testing.
9
9
  */
10
- class Laika {
10
+ class LaikaTest {
11
11
  constructor() {
12
12
  this.client = null;
13
13
  this.tracingEnabled = false;
@@ -19,11 +19,11 @@ class Laika {
19
19
  * @throws {Error} If OpenTelemetry SDK fails to start
20
20
  */
21
21
  static init(config) {
22
- const instance = new Laika();
22
+ const instance = new LaikaTest();
23
23
  try {
24
24
  // Initialize tracing (if enabled, default: true)
25
25
  if (config.tracing !== false) {
26
- (0, auto_otel_1.initLaika)({
26
+ (0, auto_otel_1.initLaikaTest)({
27
27
  apiKey: config.apiKey,
28
28
  serviceName: config.serviceName,
29
29
  endpoint: config.endpoint,
@@ -113,7 +113,7 @@ class Laika {
113
113
  }
114
114
  }
115
115
  if (errors.length > 0) {
116
- console.error('[Laika] Errors during shutdown:', errors);
116
+ console.error('[LaikaTest] Errors during shutdown:', errors);
117
117
  }
118
118
  }
119
119
  /** Throws if experiments not enabled. */
@@ -123,5 +123,5 @@ class Laika {
123
123
  }
124
124
  }
125
125
  }
126
- exports.Laika = Laika;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFpa2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGFpa2EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQTJEO0FBQzNELG9EQUEyRTtBQUczRTs7O0dBR0c7QUFDSCxNQUFhLEtBQUs7SUFJaEI7UUFIUSxXQUFNLEdBQXFCLElBQUksQ0FBQztRQUNoQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztJQUVqQixDQUFDO0lBRXhCOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFtQjtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQztZQUNILGlEQUFpRDtZQUNqRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzdCLElBQUEscUJBQVMsRUFBQztvQkFDUixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07b0JBQ3JCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztvQkFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO29CQUN6QixjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWM7b0JBQ3JDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztvQkFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO29CQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7b0JBQ2pDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtvQkFDckIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO29CQUMzQixpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCO2lCQUM1QyxDQUFDLENBQUM7Z0JBQ0gsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDakMsQ0FBQztZQUVELDREQUE0RDtZQUM1RCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2pDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxxQkFBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7b0JBQzdDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7b0JBQ2pDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtpQkFDMUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YscUNBQXFDO1lBQ3JDLElBQUksUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM1QixJQUFBLG9CQUFRLEdBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQ2IsVUFBa0IsRUFDbEIsT0FBMEI7UUFFMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU8sQ0FBQyxTQUFTLENBQUksVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxtQkFBbUIsQ0FDdkIsZUFBdUIsRUFDdkIsT0FBaUM7UUFFakMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU8sQ0FBQyxtQkFBbUIsQ0FBSSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLE1BQU0sR0FBWSxFQUFFLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBQSxvQkFBUSxHQUFFLENBQUM7WUFDbkIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFjLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQztnQkFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBYyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHlDQUF5QztJQUNqQyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDYiwyREFBMkQsQ0FDNUQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFySUQsc0JBcUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5pdExhaWthLCBzaHV0ZG93biB9IGZyb20gJ0BsYWlrYXRlc3QvYXV0by1vdGVsJztcbmltcG9ydCB7IExhaWthVGVzdCwgUHJvbXB0LCBHZXRQcm9tcHRPcHRpb25zIH0gZnJvbSAnQGxhaWthdGVzdC9qcy1jbGllbnQnO1xuaW1wb3J0IHsgTGFpa2FDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBVbmlmaWVkIExhaWthVGVzdCBTREsgZm9yIHRyYWNpbmcgYW5kIGV4cGVyaW1lbnRzLlxuICogUHJvdmlkZXMgYSBzaW5nbGUgZW50cnkgcG9pbnQgZm9yIGJvdGggb2JzZXJ2YWJpbGl0eSBhbmQgQS9CIHRlc3RpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYWlrYSB7XG4gIHByaXZhdGUgY2xpZW50OiBMYWlrYVRlc3QgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB0cmFjaW5nRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIExhaWthVGVzdCB3aXRoIHVuaWZpZWQgY29uZmlndXJhdGlvbi5cbiAgICogRW5hYmxlcyBib3RoIHRyYWNpbmcgYW5kIGV4cGVyaW1lbnRzIGJ5IGRlZmF1bHQuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhcGlLZXkgb3Igc2VydmljZU5hbWUgaXMgbWlzc2luZy9pbnZhbGlkXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBPcGVuVGVsZW1ldHJ5IFNESyBmYWlscyB0byBzdGFydFxuICAgKi9cbiAgc3RhdGljIGluaXQoY29uZmlnOiBMYWlrYUNvbmZpZyk6IExhaWthIHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBMYWlrYSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIEluaXRpYWxpemUgdHJhY2luZyAoaWYgZW5hYmxlZCwgZGVmYXVsdDogdHJ1ZSlcbiAgICAgIGlmIChjb25maWcudHJhY2luZyAhPT0gZmFsc2UpIHtcbiAgICAgICAgaW5pdExhaWthKHtcbiAgICAgICAgICBhcGlLZXk6IGNvbmZpZy5hcGlLZXksXG4gICAgICAgICAgc2VydmljZU5hbWU6IGNvbmZpZy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICBlbmRwb2ludDogY29uZmlnLmVuZHBvaW50LFxuICAgICAgICAgIGNhcHR1cmVDb250ZW50OiBjb25maWcuY2FwdHVyZUNvbnRlbnQsXG4gICAgICAgICAgZGVidWc6IGNvbmZpZy5kZWJ1ZyxcbiAgICAgICAgICBzZXNzaW9uSWQ6IGNvbmZpZy5zZXNzaW9uSWQsXG4gICAgICAgICAgZ2V0U2Vzc2lvbklkOiBjb25maWcuZ2V0U2Vzc2lvbklkLFxuICAgICAgICAgIHVzZXJJZDogY29uZmlnLnVzZXJJZCxcbiAgICAgICAgICBnZXRVc2VySWQ6IGNvbmZpZy5nZXRVc2VySWQsXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXM6IGNvbmZpZy5kZWZhdWx0UHJvcGVydGllcyxcbiAgICAgICAgfSk7XG4gICAgICAgIGluc3RhbmNlLnRyYWNpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5pdGlhbGl6ZSBleHBlcmltZW50cyBjbGllbnQgKGlmIGVuYWJsZWQsIGRlZmF1bHQ6IHRydWUpXG4gICAgICBpZiAoY29uZmlnLmV4cGVyaW1lbnRzICE9PSBmYWxzZSkge1xuICAgICAgICBpbnN0YW5jZS5jbGllbnQgPSBuZXcgTGFpa2FUZXN0KGNvbmZpZy5hcGlLZXksIHtcbiAgICAgICAgICBiYXNlVXJsOiBjb25maWcuYmFzZVVybCxcbiAgICAgICAgICB0aW1lb3V0OiBjb25maWcudGltZW91dCxcbiAgICAgICAgICBjYWNoZUVuYWJsZWQ6IGNvbmZpZy5jYWNoZUVuYWJsZWQsXG4gICAgICAgICAgY2FjaGVUVEw6IGNvbmZpZy5jYWNoZVRUTCxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gQ2xlYW51cCBhbnkgcGFydGlhbCBpbml0aWFsaXphdGlvblxuICAgICAgaWYgKGluc3RhbmNlLnRyYWNpbmdFbmFibGVkKSB7XG4gICAgICAgIHNodXRkb3duKCkuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHByb21wdCBjb250ZW50IGJ5IG5hbWUuXG4gICAqIFJlcXVpcmVzIGV4cGVyaW1lbnRzIHRvIGJlIGVuYWJsZWQuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBleHBlcmltZW50cyBhcmUgbm90IGVuYWJsZWRcbiAgICogQHRocm93cyB7VmFsaWRhdGlvbkVycm9yfSBJZiBwcm9tcHQgbmFtZSBpcyBpbnZhbGlkXG4gICAqIEB0aHJvd3Mge0F1dGhlbnRpY2F0aW9uRXJyb3J9IElmIEFQSSBrZXkgaXMgaW52YWxpZFxuICAgKiBAdGhyb3dzIHtMYWlrYVNlcnZpY2VFcnJvcn0gSWYgQVBJIHJldHVybnMgYW4gZXJyb3JcbiAgICogQHRocm93cyB7TmV0d29ya0Vycm9yfSBJZiBuZXR3b3JrIHJlcXVlc3QgZmFpbHNcbiAgICovXG4gIGFzeW5jIGdldFByb21wdDxDID0gdW5rbm93bj4oXG4gICAgcHJvbXB0TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRQcm9tcHRPcHRpb25zXG4gICk6IFByb21pc2U8UHJvbXB0PEM+PiB7XG4gICAgdGhpcy5lbnN1cmVDbGllbnQoKTtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQhLmdldFByb21wdDxDPihwcm9tcHROYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZXhwZXJpbWVudCBwcm9tcHQgd2l0aCBhdXRvbWF0aWMgYnVja2V0aW5nLlxuICAgKiBSZXF1aXJlcyBleHBlcmltZW50cyB0byBiZSBlbmFibGVkLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgZXhwZXJpbWVudHMgYXJlIG5vdCBlbmFibGVkXG4gICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gSWYgZXhwZXJpbWVudCB0aXRsZSBvciBjb250ZXh0IGlzIGludmFsaWRcbiAgICogQHRocm93cyB7QXV0aGVudGljYXRpb25FcnJvcn0gSWYgQVBJIGtleSBpcyBpbnZhbGlkXG4gICAqIEB0aHJvd3Mge0xhaWthU2VydmljZUVycm9yfSBJZiBBUEkgcmV0dXJucyBhbiBlcnJvclxuICAgKiBAdGhyb3dzIHtOZXR3b3JrRXJyb3J9IElmIG5ldHdvcmsgcmVxdWVzdCBmYWlsc1xuICAgKi9cbiAgYXN5bmMgZ2V0RXhwZXJpbWVudFByb21wdDxDID0gdW5rbm93bj4oXG4gICAgZXhwZXJpbWVudFRpdGxlOiBzdHJpbmcsXG4gICAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IFByb21pc2U8UHJvbXB0PEM+PiB7XG4gICAgdGhpcy5lbnN1cmVDbGllbnQoKTtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQhLmdldEV4cGVyaW1lbnRQcm9tcHQ8Qz4oZXhwZXJpbWVudFRpdGxlLCBjb250ZXh0KTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRydWUgaWYgdHJhY2luZyBpcyBlbmFibGVkLiAqL1xuICBpc1RyYWNpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyYWNpbmdFbmFibGVkO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdHJ1ZSBpZiBleHBlcmltZW50cyBjbGllbnQgaXMgZW5hYmxlZC4gKi9cbiAgaXNFeHBlcmltZW50c0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50ICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNodXRkb3duIGJvdGggdHJhY2luZyBhbmQgY2xpZW50IHJlc291cmNlcy5cbiAgICogQ2FsbCB0aGlzIGJlZm9yZSBwcm9jZXNzIGV4aXQgZm9yIGNsZWFuIHNodXRkb3duLlxuICAgKi9cbiAgYXN5bmMgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZXJyb3JzOiBFcnJvcltdID0gW107XG5cbiAgICBpZiAodGhpcy50cmFjaW5nRW5hYmxlZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgc2h1dGRvd24oKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGllbnQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2xpZW50LmRlc3Ryb3koKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tMYWlrYV0gRXJyb3JzIGR1cmluZyBzaHV0ZG93bjonLCBlcnJvcnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaHJvd3MgaWYgZXhwZXJpbWVudHMgbm90IGVuYWJsZWQuICovXG4gIHByaXZhdGUgZW5zdXJlQ2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jbGllbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0V4cGVyaW1lbnRzIG5vdCBlbmFibGVkLiBTZXQgZXhwZXJpbWVudHM6IHRydWUgaW4gY29uZmlnLidcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
126
+ exports.LaikaTest = LaikaTest;
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFpa2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGFpa2EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQStEO0FBQy9ELG9EQUE4RjtBQUc5Rjs7O0dBR0c7QUFDSCxNQUFhLFNBQVM7SUFJcEI7UUFIUSxXQUFNLEdBQTJCLElBQUksQ0FBQztRQUN0QyxtQkFBYyxHQUFZLEtBQUssQ0FBQztJQUVqQixDQUFDO0lBRXhCOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFtQjtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQztZQUNILGlEQUFpRDtZQUNqRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzdCLElBQUEseUJBQWEsRUFBQztvQkFDWixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07b0JBQ3JCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztvQkFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO29CQUN6QixjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWM7b0JBQ3JDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztvQkFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO29CQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7b0JBQ2pDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtvQkFDckIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO29CQUMzQixpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCO2lCQUM1QyxDQUFDLENBQUM7Z0JBQ0gsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDakMsQ0FBQztZQUVELDREQUE0RDtZQUM1RCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2pDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxxQkFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7b0JBQ25ELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7b0JBQ2pDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtpQkFDMUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YscUNBQXFDO1lBQ3JDLElBQUksUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM1QixJQUFBLG9CQUFRLEdBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQ2IsVUFBa0IsRUFDbEIsT0FBMEI7UUFFMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU8sQ0FBQyxTQUFTLENBQUksVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxtQkFBbUIsQ0FDdkIsZUFBdUIsRUFDdkIsT0FBaUM7UUFFakMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU8sQ0FBQyxtQkFBbUIsQ0FBSSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLE1BQU0sR0FBWSxFQUFFLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBQSxvQkFBUSxHQUFFLENBQUM7WUFDbkIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFjLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQztnQkFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBYyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHlDQUF5QztJQUNqQyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FDYiwyREFBMkQsQ0FDNUQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFySUQsOEJBcUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5pdExhaWthVGVzdCwgc2h1dGRvd24gfSBmcm9tICdAbGFpa2F0ZXN0L2F1dG8tb3RlbCc7XG5pbXBvcnQgeyBMYWlrYVRlc3QgYXMgTGFpa2FUZXN0Q2xpZW50LCBQcm9tcHQsIEdldFByb21wdE9wdGlvbnMgfSBmcm9tICdAbGFpa2F0ZXN0L2pzLWNsaWVudCc7XG5pbXBvcnQgeyBMYWlrYUNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFVuaWZpZWQgTGFpa2FUZXN0IFNESyBmb3IgdHJhY2luZyBhbmQgZXhwZXJpbWVudHMuXG4gKiBQcm92aWRlcyBhIHNpbmdsZSBlbnRyeSBwb2ludCBmb3IgYm90aCBvYnNlcnZhYmlsaXR5IGFuZCBBL0IgdGVzdGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIExhaWthVGVzdCB7XG4gIHByaXZhdGUgY2xpZW50OiBMYWlrYVRlc3RDbGllbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB0cmFjaW5nRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIExhaWthVGVzdCB3aXRoIHVuaWZpZWQgY29uZmlndXJhdGlvbi5cbiAgICogRW5hYmxlcyBib3RoIHRyYWNpbmcgYW5kIGV4cGVyaW1lbnRzIGJ5IGRlZmF1bHQuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhcGlLZXkgb3Igc2VydmljZU5hbWUgaXMgbWlzc2luZy9pbnZhbGlkXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBPcGVuVGVsZW1ldHJ5IFNESyBmYWlscyB0byBzdGFydFxuICAgKi9cbiAgc3RhdGljIGluaXQoY29uZmlnOiBMYWlrYUNvbmZpZyk6IExhaWthVGVzdCB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgTGFpa2FUZXN0KCk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gSW5pdGlhbGl6ZSB0cmFjaW5nIChpZiBlbmFibGVkLCBkZWZhdWx0OiB0cnVlKVxuICAgICAgaWYgKGNvbmZpZy50cmFjaW5nICE9PSBmYWxzZSkge1xuICAgICAgICBpbml0TGFpa2FUZXN0KHtcbiAgICAgICAgICBhcGlLZXk6IGNvbmZpZy5hcGlLZXksXG4gICAgICAgICAgc2VydmljZU5hbWU6IGNvbmZpZy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICBlbmRwb2ludDogY29uZmlnLmVuZHBvaW50LFxuICAgICAgICAgIGNhcHR1cmVDb250ZW50OiBjb25maWcuY2FwdHVyZUNvbnRlbnQsXG4gICAgICAgICAgZGVidWc6IGNvbmZpZy5kZWJ1ZyxcbiAgICAgICAgICBzZXNzaW9uSWQ6IGNvbmZpZy5zZXNzaW9uSWQsXG4gICAgICAgICAgZ2V0U2Vzc2lvbklkOiBjb25maWcuZ2V0U2Vzc2lvbklkLFxuICAgICAgICAgIHVzZXJJZDogY29uZmlnLnVzZXJJZCxcbiAgICAgICAgICBnZXRVc2VySWQ6IGNvbmZpZy5nZXRVc2VySWQsXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXM6IGNvbmZpZy5kZWZhdWx0UHJvcGVydGllcyxcbiAgICAgICAgfSk7XG4gICAgICAgIGluc3RhbmNlLnRyYWNpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5pdGlhbGl6ZSBleHBlcmltZW50cyBjbGllbnQgKGlmIGVuYWJsZWQsIGRlZmF1bHQ6IHRydWUpXG4gICAgICBpZiAoY29uZmlnLmV4cGVyaW1lbnRzICE9PSBmYWxzZSkge1xuICAgICAgICBpbnN0YW5jZS5jbGllbnQgPSBuZXcgTGFpa2FUZXN0Q2xpZW50KGNvbmZpZy5hcGlLZXksIHtcbiAgICAgICAgICBiYXNlVXJsOiBjb25maWcuYmFzZVVybCxcbiAgICAgICAgICB0aW1lb3V0OiBjb25maWcudGltZW91dCxcbiAgICAgICAgICBjYWNoZUVuYWJsZWQ6IGNvbmZpZy5jYWNoZUVuYWJsZWQsXG4gICAgICAgICAgY2FjaGVUVEw6IGNvbmZpZy5jYWNoZVRUTCxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gQ2xlYW51cCBhbnkgcGFydGlhbCBpbml0aWFsaXphdGlvblxuICAgICAgaWYgKGluc3RhbmNlLnRyYWNpbmdFbmFibGVkKSB7XG4gICAgICAgIHNodXRkb3duKCkuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHByb21wdCBjb250ZW50IGJ5IG5hbWUuXG4gICAqIFJlcXVpcmVzIGV4cGVyaW1lbnRzIHRvIGJlIGVuYWJsZWQuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBleHBlcmltZW50cyBhcmUgbm90IGVuYWJsZWRcbiAgICogQHRocm93cyB7VmFsaWRhdGlvbkVycm9yfSBJZiBwcm9tcHQgbmFtZSBpcyBpbnZhbGlkXG4gICAqIEB0aHJvd3Mge0F1dGhlbnRpY2F0aW9uRXJyb3J9IElmIEFQSSBrZXkgaXMgaW52YWxpZFxuICAgKiBAdGhyb3dzIHtMYWlrYVNlcnZpY2VFcnJvcn0gSWYgQVBJIHJldHVybnMgYW4gZXJyb3JcbiAgICogQHRocm93cyB7TmV0d29ya0Vycm9yfSBJZiBuZXR3b3JrIHJlcXVlc3QgZmFpbHNcbiAgICovXG4gIGFzeW5jIGdldFByb21wdDxDID0gdW5rbm93bj4oXG4gICAgcHJvbXB0TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRQcm9tcHRPcHRpb25zXG4gICk6IFByb21pc2U8UHJvbXB0PEM+PiB7XG4gICAgdGhpcy5lbnN1cmVDbGllbnQoKTtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQhLmdldFByb21wdDxDPihwcm9tcHROYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZXhwZXJpbWVudCBwcm9tcHQgd2l0aCBhdXRvbWF0aWMgYnVja2V0aW5nLlxuICAgKiBSZXF1aXJlcyBleHBlcmltZW50cyB0byBiZSBlbmFibGVkLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgZXhwZXJpbWVudHMgYXJlIG5vdCBlbmFibGVkXG4gICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gSWYgZXhwZXJpbWVudCB0aXRsZSBvciBjb250ZXh0IGlzIGludmFsaWRcbiAgICogQHRocm93cyB7QXV0aGVudGljYXRpb25FcnJvcn0gSWYgQVBJIGtleSBpcyBpbnZhbGlkXG4gICAqIEB0aHJvd3Mge0xhaWthU2VydmljZUVycm9yfSBJZiBBUEkgcmV0dXJucyBhbiBlcnJvclxuICAgKiBAdGhyb3dzIHtOZXR3b3JrRXJyb3J9IElmIG5ldHdvcmsgcmVxdWVzdCBmYWlsc1xuICAgKi9cbiAgYXN5bmMgZ2V0RXhwZXJpbWVudFByb21wdDxDID0gdW5rbm93bj4oXG4gICAgZXhwZXJpbWVudFRpdGxlOiBzdHJpbmcsXG4gICAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IFByb21pc2U8UHJvbXB0PEM+PiB7XG4gICAgdGhpcy5lbnN1cmVDbGllbnQoKTtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQhLmdldEV4cGVyaW1lbnRQcm9tcHQ8Qz4oZXhwZXJpbWVudFRpdGxlLCBjb250ZXh0KTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRydWUgaWYgdHJhY2luZyBpcyBlbmFibGVkLiAqL1xuICBpc1RyYWNpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyYWNpbmdFbmFibGVkO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdHJ1ZSBpZiBleHBlcmltZW50cyBjbGllbnQgaXMgZW5hYmxlZC4gKi9cbiAgaXNFeHBlcmltZW50c0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50ICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNodXRkb3duIGJvdGggdHJhY2luZyBhbmQgY2xpZW50IHJlc291cmNlcy5cbiAgICogQ2FsbCB0aGlzIGJlZm9yZSBwcm9jZXNzIGV4aXQgZm9yIGNsZWFuIHNodXRkb3duLlxuICAgKi9cbiAgYXN5bmMgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZXJyb3JzOiBFcnJvcltdID0gW107XG5cbiAgICBpZiAodGhpcy50cmFjaW5nRW5hYmxlZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgc2h1dGRvd24oKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGllbnQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2xpZW50LmRlc3Ryb3koKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tMYWlrYVRlc3RdIEVycm9ycyBkdXJpbmcgc2h1dGRvd246JywgZXJyb3JzKTtcbiAgICB9XG4gIH1cblxuICAvKiogVGhyb3dzIGlmIGV4cGVyaW1lbnRzIG5vdCBlbmFibGVkLiAqL1xuICBwcml2YXRlIGVuc3VyZUNsaWVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2xpZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdFeHBlcmltZW50cyBub3QgZW5hYmxlZC4gU2V0IGV4cGVyaW1lbnRzOiB0cnVlIGluIGNvbmZpZy4nXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laikatest/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Unified LaikaTest SDK for tracing and A/B testing",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",