@workflow/world-local 5.0.0-beta.19 → 5.0.0-beta.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentObject.d.ts","sourceRoot":"","sources":["../src/instrumentObject.ts"],"names":[],"mappings":"AAkCA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAsC1E"}
1
+ {"version":3,"file":"instrumentObject.d.ts","sourceRoot":"","sources":["../src/instrumentObject.ts"],"names":[],"mappings":"AAgHA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CA4C1E"}
@@ -2,13 +2,25 @@
2
2
  * Utility to instrument object methods with tracing.
3
3
  * This mirrors world-vercel's implementation for consistent observability.
4
4
  */
5
- import { trace, getSpanKind, PeerService, RpcSystem, RpcService, RpcMethod, } from './telemetry.js';
5
+ import { getSpanKind, PeerService, RpcMethod, RpcService, RpcSystem, StepId, trace, WorkflowRunId, } from './telemetry.js';
6
6
  /** Configuration for peer service attribution */
7
7
  const WORLD_LOCAL_SERVICE = {
8
8
  peerService: 'world-local',
9
9
  rpcSystem: 'local',
10
10
  rpcService: 'world-local',
11
11
  };
12
+ const RUN_ID_ARG_INDEX_BY_METHOD = {
13
+ 'world.runs.get': 0,
14
+ 'world.runs.experimentalSetAttributes': 0,
15
+ 'world.steps.get': 0,
16
+ 'world.events.create': 0,
17
+ 'world.events.get': 0,
18
+ };
19
+ const RUN_ID_PARAM_METHODS = new Set([
20
+ 'world.steps.list',
21
+ 'world.events.list',
22
+ 'world.hooks.list',
23
+ ]);
12
24
  /**
13
25
  * Extracts the event type from arguments for events.create calls.
14
26
  * The event data is the second argument and contains eventType.
@@ -22,6 +34,54 @@ function extractEventType(args) {
22
34
  }
23
35
  return undefined;
24
36
  }
37
+ function getStringArg(args, index) {
38
+ return typeof args[index] === 'string' ? args[index] : undefined;
39
+ }
40
+ function getRunIdFromParams(params) {
41
+ if (typeof params !== 'object' || params === null) {
42
+ return undefined;
43
+ }
44
+ const runId = params.runId;
45
+ return typeof runId === 'string' ? runId : undefined;
46
+ }
47
+ function getRunIdFromResult(result) {
48
+ if (typeof result !== 'object' || result === null) {
49
+ return undefined;
50
+ }
51
+ const record = result;
52
+ if (typeof record.runId === 'string') {
53
+ return record.runId;
54
+ }
55
+ for (const key of ['run', 'step', 'hook', 'wait']) {
56
+ const entity = record[key];
57
+ if (typeof entity === 'object' && entity !== null) {
58
+ const runId = entity.runId;
59
+ if (typeof runId === 'string') {
60
+ return runId;
61
+ }
62
+ }
63
+ }
64
+ return undefined;
65
+ }
66
+ function extractWorkflowAttributes(prefix, methodName, args) {
67
+ const methodKey = `${prefix}.${methodName}`;
68
+ const attributes = {};
69
+ const runIdArgIndex = RUN_ID_ARG_INDEX_BY_METHOD[methodKey];
70
+ const runId = runIdArgIndex === undefined
71
+ ? RUN_ID_PARAM_METHODS.has(methodKey)
72
+ ? getRunIdFromParams(args[0])
73
+ : undefined
74
+ : getStringArg(args, runIdArgIndex);
75
+ if (runId) {
76
+ Object.assign(attributes, WorkflowRunId(runId));
77
+ }
78
+ if (methodKey === 'world.steps.get') {
79
+ const stepId = getStringArg(args, 1);
80
+ if (stepId)
81
+ Object.assign(attributes, StepId(stepId));
82
+ }
83
+ return attributes;
84
+ }
25
85
  /**
26
86
  * Wraps all methods of an object with tracing spans.
27
87
  * @param prefix - Prefix for span names (e.g., "world.runs")
@@ -55,12 +115,18 @@ export function instrumentObject(prefix, o) {
55
115
  ...RpcSystem(WORLD_LOCAL_SERVICE.rpcSystem),
56
116
  ...RpcService(WORLD_LOCAL_SERVICE.rpcService),
57
117
  ...RpcMethod(spanName),
118
+ ...extractWorkflowAttributes(prefix, methodName, args),
58
119
  });
59
- return f(...args);
120
+ const result = await f(...args);
121
+ const resultRunId = getRunIdFromResult(result);
122
+ if (resultRunId) {
123
+ span?.setAttributes(WorkflowRunId(resultRunId));
124
+ }
125
+ return result;
60
126
  });
61
127
  };
62
128
  }
63
129
  }
64
130
  return handlers;
65
131
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudE9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnN0cnVtZW50T2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFDTCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLGlEQUFpRDtBQUNqRCxNQUFNLG1CQUFtQixHQUFHO0lBQzFCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFVBQVUsRUFBRSxhQUFhO0NBQzFCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQixDQUFDLElBQWU7SUFDdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQTRCLENBQUM7UUFDaEQsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFtQixNQUFjLEVBQUUsQ0FBSTtJQUNyRSxNQUFNLFFBQVEsR0FBRyxFQUFPLENBQUM7SUFDekIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxDQUFDO1FBQ2hELElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDakMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsK0NBQStDO1lBQy9DLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtnQkFDM0MsOERBQThEO2dCQUM5RCxJQUFJLFFBQVEsR0FBRyxHQUFHLE1BQU0sSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxNQUFNLEtBQUssY0FBYyxJQUFJLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDekQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pDLElBQUksU0FBUyxFQUFFLENBQUM7d0JBQ2QsUUFBUSxHQUFHLEdBQUcsTUFBTSxJQUFJLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDcEQsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU8sS0FBSyxDQUNWLFFBQVEsRUFDUixFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUN2QyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7b0JBQ2IsK0NBQStDO29CQUMvQyxzRUFBc0U7b0JBQ3RFLElBQUksRUFBRSxhQUFhLENBQUM7d0JBQ2xCLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQzt3QkFDL0MsR0FBRyxTQUFTLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDO3dCQUMzQyxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7d0JBQzdDLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztxQkFDdkIsQ0FBQyxDQUFDO29CQUNILE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ3BCLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVdGlsaXR5IHRvIGluc3RydW1lbnQgb2JqZWN0IG1ldGhvZHMgd2l0aCB0cmFjaW5nLlxuICogVGhpcyBtaXJyb3JzIHdvcmxkLXZlcmNlbCdzIGltcGxlbWVudGF0aW9uIGZvciBjb25zaXN0ZW50IG9ic2VydmFiaWxpdHkuXG4gKi9cbmltcG9ydCB7XG4gIHRyYWNlLFxuICBnZXRTcGFuS2luZCxcbiAgUGVlclNlcnZpY2UsXG4gIFJwY1N5c3RlbSxcbiAgUnBjU2VydmljZSxcbiAgUnBjTWV0aG9kLFxufSBmcm9tICcuL3RlbGVtZXRyeS5qcyc7XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciBwZWVyIHNlcnZpY2UgYXR0cmlidXRpb24gKi9cbmNvbnN0IFdPUkxEX0xPQ0FMX1NFUlZJQ0UgPSB7XG4gIHBlZXJTZXJ2aWNlOiAnd29ybGQtbG9jYWwnLFxuICBycGNTeXN0ZW06ICdsb2NhbCcsXG4gIHJwY1NlcnZpY2U6ICd3b3JsZC1sb2NhbCcsXG59O1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBldmVudCB0eXBlIGZyb20gYXJndW1lbnRzIGZvciBldmVudHMuY3JlYXRlIGNhbGxzLlxuICogVGhlIGV2ZW50IGRhdGEgaXMgdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgY29udGFpbnMgZXZlbnRUeXBlLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRUeXBlKGFyZ3M6IHVua25vd25bXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChhcmdzLmxlbmd0aCA+PSAyICYmIHR5cGVvZiBhcmdzWzFdID09PSAnb2JqZWN0JyAmJiBhcmdzWzFdICE9PSBudWxsKSB7XG4gICAgY29uc3QgZGF0YSA9IGFyZ3NbMV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgaWYgKHR5cGVvZiBkYXRhLmV2ZW50VHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBkYXRhLmV2ZW50VHlwZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBXcmFwcyBhbGwgbWV0aG9kcyBvZiBhbiBvYmplY3Qgd2l0aCB0cmFjaW5nIHNwYW5zLlxuICogQHBhcmFtIHByZWZpeCAtIFByZWZpeCBmb3Igc3BhbiBuYW1lcyAoZS5nLiwgXCJ3b3JsZC5ydW5zXCIpXG4gKiBAcGFyYW0gbyAtIE9iamVjdCB3aXRoIG1ldGhvZHMgdG8gaW5zdHJ1bWVudFxuICogQHJldHVybnMgSW5zdHJ1bWVudGVkIG9iamVjdCB3aXRoIHNhbWUgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnN0cnVtZW50T2JqZWN0PFQgZXh0ZW5kcyBvYmplY3Q+KHByZWZpeDogc3RyaW5nLCBvOiBUKTogVCB7XG4gIGNvbnN0IGhhbmRsZXJzID0ge30gYXMgVDtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobykgYXMgKGtleW9mIFQpW10pIHtcbiAgICBpZiAodHlwZW9mIG9ba2V5XSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaGFuZGxlcnNba2V5XSA9IG9ba2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZiA9IG9ba2V5XTtcbiAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBTdHJpbmcoa2V5KTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBkeW5hbWljIGZ1bmN0aW9uIHdyYXBwaW5nXG4gICAgICBoYW5kbGVyc1trZXldID0gYXN5bmMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgICAgICAvLyBCdWlsZCBzcGFuIG5hbWUgLSBmb3IgZXZlbnRzLmNyZWF0ZSwgaW5jbHVkZSB0aGUgZXZlbnQgdHlwZVxuICAgICAgICBsZXQgc3Bhbk5hbWUgPSBgJHtwcmVmaXh9LiR7bWV0aG9kTmFtZX1gO1xuICAgICAgICBpZiAocHJlZml4ID09PSAnd29ybGQuZXZlbnRzJyAmJiBtZXRob2ROYW1lID09PSAnY3JlYXRlJykge1xuICAgICAgICAgIGNvbnN0IGV2ZW50VHlwZSA9IGV4dHJhY3RFdmVudFR5cGUoYXJncyk7XG4gICAgICAgICAgaWYgKGV2ZW50VHlwZSkge1xuICAgICAgICAgICAgc3Bhbk5hbWUgPSBgJHtwcmVmaXh9LiR7bWV0aG9kTmFtZX0gJHtldmVudFR5cGV9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhY2UoXG4gICAgICAgICAgc3Bhbk5hbWUsXG4gICAgICAgICAgeyBraW5kOiBhd2FpdCBnZXRTcGFuS2luZCgnSU5URVJOQUwnKSB9LFxuICAgICAgICAgIGFzeW5jIChzcGFuKSA9PiB7XG4gICAgICAgICAgICAvLyBBZGQgcGVlciBzZXJ2aWNlIGF0dHJpYnV0ZXMgZm9yIHNlcnZpY2UgbWFwc1xuICAgICAgICAgICAgLy8gVXNlIHNwYW5OYW1lIGZvciBycGMubWV0aG9kIHNvIERhdGFkb2cgc2hvd3MgZXZlbnQgdHlwZSBpbiByZXNvdXJjZVxuICAgICAgICAgICAgc3Bhbj8uc2V0QXR0cmlidXRlcyh7XG4gICAgICAgICAgICAgIC4uLlBlZXJTZXJ2aWNlKFdPUkxEX0xPQ0FMX1NFUlZJQ0UucGVlclNlcnZpY2UpLFxuICAgICAgICAgICAgICAuLi5ScGNTeXN0ZW0oV09STERfTE9DQUxfU0VSVklDRS5ycGNTeXN0ZW0pLFxuICAgICAgICAgICAgICAuLi5ScGNTZXJ2aWNlKFdPUkxEX0xPQ0FMX1NFUlZJQ0UucnBjU2VydmljZSksXG4gICAgICAgICAgICAgIC4uLlJwY01ldGhvZChzcGFuTmFtZSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmKC4uLmFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBoYW5kbGVycztcbn1cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudE9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnN0cnVtZW50T2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsYUFBYSxHQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsaURBQWlEO0FBQ2pELE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsU0FBUyxFQUFFLE9BQU87SUFDbEIsVUFBVSxFQUFFLGFBQWE7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sMEJBQTBCLEdBQTJCO0lBQ3pELGdCQUFnQixFQUFFLENBQUM7SUFDbkIsc0NBQXNDLEVBQUUsQ0FBQztJQUN6QyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLHFCQUFxQixFQUFFLENBQUM7SUFDeEIsa0JBQWtCLEVBQUUsQ0FBQztDQUN0QixDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtDQUNuQixDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQixDQUFDLElBQWU7SUFDdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQTRCLENBQUM7UUFDaEQsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7SUFD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QkFBbUIsQ0FBQyxTQUFTLENBQUM7d0JBQzNDLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQzt3QkFDN0MsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO3dCQUN0QixHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDO3FCQUN2RCxDQUFDLENBQUM7b0JBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztvQkFDaEMsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQy9DLElBQUksV0FBVyxFQUFFLENBQUM7d0JBQ2hCLElBQUksRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQ2xELENBQUM7b0JBQ0QsT0FBTyxNQUFNLENBQUM7Z0JBQ2hCLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVdGlsaXR5IHRvIGluc3RydW1lbnQgb2JqZWN0IG1ldGhvZHMgd2l0aCB0cmFjaW5nLlxuICogVGhpcyBtaXJyb3JzIHdvcmxkLXZlcmNlbCdzIGltcGxlbWVudGF0aW9uIGZvciBjb25zaXN0ZW50IG9ic2VydmFiaWxpdHkuXG4gKi9cbmltcG9ydCB7XG4gIGdldFNwYW5LaW5kLFxuICBQZWVyU2VydmljZSxcbiAgUnBjTWV0aG9kLFxuICBScGNTZXJ2aWNlLFxuICBScGNTeXN0ZW0sXG4gIFN0ZXBJZCxcbiAgdHJhY2UsXG4gIFdvcmtmbG93UnVuSWQsXG59IGZyb20gJy4vdGVsZW1ldHJ5LmpzJztcblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIHBlZXIgc2VydmljZSBhdHRyaWJ1dGlvbiAqL1xuY29uc3QgV09STERfTE9DQUxfU0VSVklDRSA9IHtcbiAgcGVlclNlcnZpY2U6ICd3b3JsZC1sb2NhbCcsXG4gIHJwY1N5c3RlbTogJ2xvY2FsJyxcbiAgcnBjU2VydmljZTogJ3dvcmxkLWxvY2FsJyxcbn07XG5cbmNvbnN0IFJVTl9JRF9BUkdfSU5ERVhfQllfTUVUSE9EOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAnd29ybGQucnVucy5nZXQnOiAwLFxuICAnd29ybGQucnVucy5leHBlcmltZW50YWxTZXRBdHRyaWJ1dGVzJzogMCxcbiAgJ3dvcmxkLnN0ZXBzLmdldCc6IDAsXG4gICd3b3JsZC5ldmVudHMuY3JlYXRlJzogMCxcbiAgJ3dvcmxkLmV2ZW50cy5nZXQnOiAwLFxufTtcblxuY29uc3QgUlVOX0lEX1BBUkFNX01FVEhPRFMgPSBuZXcgU2V0KFtcbiAgJ3dvcmxkLnN0ZXBzLmxpc3QnLFxuICAnd29ybGQuZXZlbnRzLmxpc3QnLFxuICAnd29ybGQuaG9va3MubGlzdCcsXG5dKTtcblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgZXZlbnQgdHlwZSBmcm9tIGFyZ3VtZW50cyBmb3IgZXZlbnRzLmNyZWF0ZSBjYWxscy5cbiAqIFRoZSBldmVudCBkYXRhIGlzIHRoZSBzZWNvbmQgYXJndW1lbnQgYW5kIGNvbnRhaW5zIGV2ZW50VHlwZS5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdEV2ZW50VHlwZShhcmdzOiB1bmtub3duW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoYXJncy5sZW5ndGggPj0gMiAmJiB0eXBlb2YgYXJnc1sxXSA9PT0gJ29iamVjdCcgJiYgYXJnc1sxXSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRhdGEgPSBhcmdzWzFdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGlmICh0eXBlb2YgZGF0YS5ldmVudFR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZGF0YS5ldmVudFR5cGU7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldFN0cmluZ0FyZyhhcmdzOiB1bmtub3duW10sIGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIGFyZ3NbaW5kZXhdID09PSAnc3RyaW5nJyA/IGFyZ3NbaW5kZXhdIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRSdW5JZEZyb21QYXJhbXMocGFyYW1zOiB1bmtub3duKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHR5cGVvZiBwYXJhbXMgIT09ICdvYmplY3QnIHx8IHBhcmFtcyA9PT0gbnVsbCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcnVuSWQgPSAocGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5ydW5JZDtcbiAgcmV0dXJuIHR5cGVvZiBydW5JZCA9PT0gJ3N0cmluZycgPyBydW5JZCA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0UnVuSWRGcm9tUmVzdWx0KHJlc3VsdDogdW5rbm93bik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgcmVzdWx0ICE9PSAnb2JqZWN0JyB8fCByZXN1bHQgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcmVjb3JkID0gcmVzdWx0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBpZiAodHlwZW9mIHJlY29yZC5ydW5JZCA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcmVjb3JkLnJ1bklkO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgWydydW4nLCAnc3RlcCcsICdob29rJywgJ3dhaXQnXSkge1xuICAgIGNvbnN0IGVudGl0eSA9IHJlY29yZFtrZXldO1xuICAgIGlmICh0eXBlb2YgZW50aXR5ID09PSAnb2JqZWN0JyAmJiBlbnRpdHkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJ1bklkID0gKGVudGl0eSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikucnVuSWQ7XG4gICAgICBpZiAodHlwZW9mIHJ1bklkID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gcnVuSWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFdvcmtmbG93QXR0cmlidXRlcyhcbiAgcHJlZml4OiBzdHJpbmcsXG4gIG1ldGhvZE5hbWU6IHN0cmluZyxcbiAgYXJnczogdW5rbm93bltdXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgbWV0aG9kS2V5ID0gYCR7cHJlZml4fS4ke21ldGhvZE5hbWV9YDtcbiAgY29uc3QgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIGNvbnN0IHJ1bklkQXJnSW5kZXggPSBSVU5fSURfQVJHX0lOREVYX0JZX01FVEhPRFttZXRob2RLZXldO1xuICBjb25zdCBydW5JZCA9XG4gICAgcnVuSWRBcmdJbmRleCA9PT0gdW5kZWZpbmVkXG4gICAgICA/IFJVTl9JRF9QQVJBTV9NRVRIT0RTLmhhcyhtZXRob2RLZXkpXG4gICAgICAgID8gZ2V0UnVuSWRGcm9tUGFyYW1zKGFyZ3NbMF0pXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICA6IGdldFN0cmluZ0FyZyhhcmdzLCBydW5JZEFyZ0luZGV4KTtcbiAgaWYgKHJ1bklkKSB7XG4gICAgT2JqZWN0LmFzc2lnbihhdHRyaWJ1dGVzLCBXb3JrZmxvd1J1bklkKHJ1bklkKSk7XG4gIH1cblxuICBpZiAobWV0aG9kS2V5ID09PSAnd29ybGQuc3RlcHMuZ2V0Jykge1xuICAgIGNvbnN0IHN0ZXBJZCA9IGdldFN0cmluZ0FyZyhhcmdzLCAxKTtcbiAgICBpZiAoc3RlcElkKSBPYmplY3QuYXNzaWduKGF0dHJpYnV0ZXMsIFN0ZXBJZChzdGVwSWQpKTtcbiAgfVxuXG4gIHJldHVybiBhdHRyaWJ1dGVzO1xufVxuXG4vKipcbiAqIFdyYXBzIGFsbCBtZXRob2RzIG9mIGFuIG9iamVjdCB3aXRoIHRyYWNpbmcgc3BhbnMuXG4gKiBAcGFyYW0gcHJlZml4IC0gUHJlZml4IGZvciBzcGFuIG5hbWVzIChlLmcuLCBcIndvcmxkLnJ1bnNcIilcbiAqIEBwYXJhbSBvIC0gT2JqZWN0IHdpdGggbWV0aG9kcyB0byBpbnN0cnVtZW50XG4gKiBAcmV0dXJucyBJbnN0cnVtZW50ZWQgb2JqZWN0IHdpdGggc2FtZSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc3RydW1lbnRPYmplY3Q8VCBleHRlbmRzIG9iamVjdD4ocHJlZml4OiBzdHJpbmcsIG86IFQpOiBUIHtcbiAgY29uc3QgaGFuZGxlcnMgPSB7fSBhcyBUO1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvKSBhcyAoa2V5b2YgVClbXSkge1xuICAgIGlmICh0eXBlb2Ygb1trZXldICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBoYW5kbGVyc1trZXldID0gb1trZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmID0gb1trZXldO1xuICAgICAgY29uc3QgbWV0aG9kTmFtZSA9IFN0cmluZyhrZXkpO1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIGR5bmFtaWMgZnVuY3Rpb24gd3JhcHBpbmdcbiAgICAgIGhhbmRsZXJzW2tleV0gPSBhc3luYyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgICAgIC8vIEJ1aWxkIHNwYW4gbmFtZSAtIGZvciBldmVudHMuY3JlYXRlLCBpbmNsdWRlIHRoZSBldmVudCB0eXBlXG4gICAgICAgIGxldCBzcGFuTmFtZSA9IGAke3ByZWZpeH0uJHttZXRob2ROYW1lfWA7XG4gICAgICAgIGlmIChwcmVmaXggPT09ICd3b3JsZC5ldmVudHMnICYmIG1ldGhvZE5hbWUgPT09ICdjcmVhdGUnKSB7XG4gICAgICAgICAgY29uc3QgZXZlbnRUeXBlID0gZXh0cmFjdEV2ZW50VHlwZShhcmdzKTtcbiAgICAgICAgICBpZiAoZXZlbnRUeXBlKSB7XG4gICAgICAgICAgICBzcGFuTmFtZSA9IGAke3ByZWZpeH0uJHttZXRob2ROYW1lfSAke2V2ZW50VHlwZX1gO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFjZShcbiAgICAgICAgICBzcGFuTmFtZSxcbiAgICAgICAgICB7IGtpbmQ6IGF3YWl0IGdldFNwYW5LaW5kKCdJTlRFUk5BTCcpIH0sXG4gICAgICAgICAgYXN5bmMgKHNwYW4pID0+IHtcbiAgICAgICAgICAgIC8vIEFkZCBwZWVyIHNlcnZpY2UgYXR0cmlidXRlcyBmb3Igc2VydmljZSBtYXBzXG4gICAgICAgICAgICAvLyBVc2Ugc3Bhbk5hbWUgZm9yIHJwYy5tZXRob2Qgc28gRGF0YWRvZyBzaG93cyBldmVudCB0eXBlIGluIHJlc291cmNlXG4gICAgICAgICAgICBzcGFuPy5zZXRBdHRyaWJ1dGVzKHtcbiAgICAgICAgICAgICAgLi4uUGVlclNlcnZpY2UoV09STERfTE9DQUxfU0VSVklDRS5wZWVyU2VydmljZSksXG4gICAgICAgICAgICAgIC4uLlJwY1N5c3RlbShXT1JMRF9MT0NBTF9TRVJWSUNFLnJwY1N5c3RlbSksXG4gICAgICAgICAgICAgIC4uLlJwY1NlcnZpY2UoV09STERfTE9DQUxfU0VSVklDRS5ycGNTZXJ2aWNlKSxcbiAgICAgICAgICAgICAgLi4uUnBjTWV0aG9kKHNwYW5OYW1lKSxcbiAgICAgICAgICAgICAgLi4uZXh0cmFjdFdvcmtmbG93QXR0cmlidXRlcyhwcmVmaXgsIG1ldGhvZE5hbWUsIGFyZ3MpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmKC4uLmFyZ3MpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0UnVuSWQgPSBnZXRSdW5JZEZyb21SZXN1bHQocmVzdWx0KTtcbiAgICAgICAgICAgIGlmIChyZXN1bHRSdW5JZCkge1xuICAgICAgICAgICAgICBzcGFuPy5zZXRBdHRyaWJ1dGVzKFdvcmtmbG93UnVuSWQocmVzdWx0UnVuSWQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGhhbmRsZXJzO1xufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"events-storage.d.ts","sourceRoot":"","sources":["../../src/storage/events-storage.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAMV,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAsXzB;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,QAAQ,CAAC,CAi8CnB"}
1
+ {"version":3,"file":"events-storage.d.ts","sourceRoot":"","sources":["../../src/storage/events-storage.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAMV,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAsXzB;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,QAAQ,CAAC,CA8oDnB"}