@workflow/world-local 5.0.0-beta.21 → 5.0.0-beta.23
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/dist/fs.d.ts +17 -1
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +67 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -12
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +61 -20
- package/dist/storage/events-storage.d.ts +4 -1
- package/dist/storage/events-storage.d.ts.map +1 -1
- package/dist/storage/events-storage.js +113 -24
- package/dist/storage/hooks-storage.d.ts +2 -1
- package/dist/storage/hooks-storage.d.ts.map +1 -1
- package/dist/storage/hooks-storage.js +113 -5
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +2 -1
- package/package.json +5 -5
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Storage } from '@workflow/world';
|
|
1
|
+
import type { Hook, Storage } from '@workflow/world';
|
|
2
|
+
export declare function rebuildLiveHookByTokenFromEventLog(basedir: string, token: string, tag?: string): Promise<Hook | null>;
|
|
2
3
|
/**
|
|
3
4
|
* Creates a hooks storage implementation using the filesystem.
|
|
4
5
|
* Implements the Storage['hooks'] interface with hook CRUD operations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-storage.d.ts","sourceRoot":"","sources":["../../src/storage/hooks-storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"hooks-storage.d.ts","sourceRoot":"","sources":["../../src/storage/hooks-storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,IAAI,EAIJ,OAAO,EACR,MAAM,iBAAiB,CAAC;AA4KzB,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAOtB;AAeD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CA+FlB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
|
|
@@ -1,10 +1,112 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { HookNotFoundError } from '@workflow/errors';
|
|
3
|
-
import { HookSchema } from '@workflow/world';
|
|
3
|
+
import { EventSchema, HookSchema, isTerminalRunEventType, isTerminalWorkflowRunStatus, WorkflowRunSchema, } from '@workflow/world';
|
|
4
|
+
import { z } from 'zod';
|
|
4
5
|
import { DEFAULT_RESOLVE_DATA_OPTION } from '../config.js';
|
|
5
|
-
import { assertSafeEntityId, deleteJSON, listJSONFiles, paginatedFileSystemQuery, readJSON, readJSONWithFallback, } from '../fs.js';
|
|
6
|
+
import { assertSafeEntityId, deleteJSON, hasTag, isUntagged, jsonReplacer, listJSONFiles, paginatedFileSystemQuery, readJSON, readJSONWithFallback, taggedPath, writeExclusive, } from '../fs.js';
|
|
6
7
|
import { filterHookData } from './filters.js';
|
|
7
8
|
import { hashToken, hookRecoveryMarkerPath } from './helpers.js';
|
|
9
|
+
function isVisibleToTag(fileId, tag) {
|
|
10
|
+
return tag ? isUntagged(fileId) || hasTag(fileId, tag) : isUntagged(fileId);
|
|
11
|
+
}
|
|
12
|
+
function getHookCreatedToken(event) {
|
|
13
|
+
if (event.eventType !== 'hook_created')
|
|
14
|
+
return undefined;
|
|
15
|
+
const token = event.eventData.token;
|
|
16
|
+
return typeof token === 'string' ? token : undefined;
|
|
17
|
+
}
|
|
18
|
+
function hookFromCreatedEvent(event) {
|
|
19
|
+
const { token, metadata, isWebhook, isSystem } = event.eventData;
|
|
20
|
+
return {
|
|
21
|
+
runId: event.runId,
|
|
22
|
+
hookId: event.correlationId,
|
|
23
|
+
token,
|
|
24
|
+
metadata,
|
|
25
|
+
ownerId: 'local-owner',
|
|
26
|
+
projectId: 'local-project',
|
|
27
|
+
environment: 'local',
|
|
28
|
+
createdAt: event.createdAt,
|
|
29
|
+
specVersion: event.specVersion,
|
|
30
|
+
isWebhook: isWebhook ?? true,
|
|
31
|
+
isSystem: isSystem ?? false,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function isMatchingHookCreatedEvent(event, matches) {
|
|
35
|
+
return (event.eventType === 'hook_created' &&
|
|
36
|
+
typeof event.correlationId === 'string' &&
|
|
37
|
+
matches(event));
|
|
38
|
+
}
|
|
39
|
+
function closesLiveHook(event, liveEvent) {
|
|
40
|
+
if (event.runId !== liveEvent.runId)
|
|
41
|
+
return false;
|
|
42
|
+
return ((event.eventType === 'hook_disposed' &&
|
|
43
|
+
event.correlationId === liveEvent.correlationId) ||
|
|
44
|
+
isTerminalRunEventType(event.eventType));
|
|
45
|
+
}
|
|
46
|
+
async function readEventForHookScan(filePath) {
|
|
47
|
+
try {
|
|
48
|
+
return await readJSON(filePath, EventSchema);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (error instanceof SyntaxError || error instanceof z.ZodError) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async function isTerminalRunCache(basedir, runId, tag) {
|
|
58
|
+
const run = await readJSONWithFallback(basedir, 'runs', runId, WorkflowRunSchema, tag);
|
|
59
|
+
return run ? isTerminalWorkflowRunStatus(run.status) : false;
|
|
60
|
+
}
|
|
61
|
+
async function findLiveHookCreatedEvent(basedir, matches, tag) {
|
|
62
|
+
const eventsDir = path.join(basedir, 'events');
|
|
63
|
+
const events = [];
|
|
64
|
+
for (const fileId of await listJSONFiles(eventsDir)) {
|
|
65
|
+
if (!isVisibleToTag(fileId, tag))
|
|
66
|
+
continue;
|
|
67
|
+
const event = await readEventForHookScan(path.join(eventsDir, `${fileId}.json`));
|
|
68
|
+
if (event)
|
|
69
|
+
events.push(event);
|
|
70
|
+
}
|
|
71
|
+
events.sort((a, b) => {
|
|
72
|
+
const byTime = a.createdAt.getTime() - b.createdAt.getTime();
|
|
73
|
+
return byTime === 0 ? a.eventId.localeCompare(b.eventId) : byTime;
|
|
74
|
+
});
|
|
75
|
+
let liveEvent = null;
|
|
76
|
+
for (const event of events) {
|
|
77
|
+
if (isMatchingHookCreatedEvent(event, matches)) {
|
|
78
|
+
liveEvent = event;
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (liveEvent && closesLiveHook(event, liveEvent)) {
|
|
82
|
+
liveEvent = null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (liveEvent && (await isTerminalRunCache(basedir, liveEvent.runId, tag))) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return liveEvent;
|
|
89
|
+
}
|
|
90
|
+
async function restoreHookCachesFromEvent(basedir, event, tag) {
|
|
91
|
+
const hook = hookFromCreatedEvent(event);
|
|
92
|
+
const claimPath = path.join(basedir, 'hooks', 'tokens', `${hashToken(hook.token)}.json`);
|
|
93
|
+
await writeExclusive(claimPath, JSON.stringify({
|
|
94
|
+
token: hook.token,
|
|
95
|
+
hookId: hook.hookId,
|
|
96
|
+
runId: hook.runId,
|
|
97
|
+
eventId: event.eventId,
|
|
98
|
+
}));
|
|
99
|
+
await writeExclusive(taggedPath(basedir, 'hooks', hook.hookId, tag), JSON.stringify(hook, jsonReplacer, 2));
|
|
100
|
+
return hook;
|
|
101
|
+
}
|
|
102
|
+
export async function rebuildLiveHookByTokenFromEventLog(basedir, token, tag) {
|
|
103
|
+
const event = await findLiveHookCreatedEvent(basedir, (candidate) => getHookCreatedToken(candidate) === token, tag);
|
|
104
|
+
return event ? restoreHookCachesFromEvent(basedir, event, tag) : null;
|
|
105
|
+
}
|
|
106
|
+
async function rebuildLiveHookByIdFromEventLog(basedir, hookId, tag) {
|
|
107
|
+
const event = await findLiveHookCreatedEvent(basedir, (candidate) => candidate.correlationId === hookId, tag);
|
|
108
|
+
return event ? restoreHookCachesFromEvent(basedir, event, tag) : null;
|
|
109
|
+
}
|
|
8
110
|
/**
|
|
9
111
|
* Creates a hooks storage implementation using the filesystem.
|
|
10
112
|
* Implements the Storage['hooks'] interface with hook CRUD operations.
|
|
@@ -27,13 +129,19 @@ export function createHooksStorage(basedir, tag) {
|
|
|
27
129
|
assertSafeEntityId('hookId', hookId);
|
|
28
130
|
const hook = await readJSONWithFallback(basedir, 'hooks', hookId, HookSchema, tag);
|
|
29
131
|
if (!hook) {
|
|
30
|
-
|
|
132
|
+
const rebuilt = await rebuildLiveHookByIdFromEventLog(basedir, hookId, tag);
|
|
133
|
+
if (!rebuilt) {
|
|
134
|
+
throw new HookNotFoundError(hookId);
|
|
135
|
+
}
|
|
136
|
+
const resolveData = params?.resolveData || DEFAULT_RESOLVE_DATA_OPTION;
|
|
137
|
+
return filterHookData({ ...rebuilt, isWebhook: rebuilt.isWebhook ?? true }, resolveData);
|
|
31
138
|
}
|
|
32
139
|
const resolveData = params?.resolveData || DEFAULT_RESOLVE_DATA_OPTION;
|
|
33
140
|
return filterHookData({ ...hook, isWebhook: hook.isWebhook ?? true }, resolveData);
|
|
34
141
|
}
|
|
35
142
|
async function getByToken(token) {
|
|
36
|
-
const hook = await findHookByToken(token)
|
|
143
|
+
const hook = (await findHookByToken(token)) ??
|
|
144
|
+
(await rebuildLiveHookByTokenFromEventLog(basedir, token, tag));
|
|
37
145
|
if (!hook) {
|
|
38
146
|
throw new HookNotFoundError(token);
|
|
39
147
|
}
|
|
@@ -96,4 +204,4 @@ export async function deleteAllHooksForRun(basedir, runId) {
|
|
|
96
204
|
}
|
|
97
205
|
}
|
|
98
206
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3Mtc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL2hvb2tzLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBUXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0QsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixRQUFRLEVBQ1Isb0JBQW9CLEdBQ3JCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQWUsRUFDZixHQUFZO0lBRVosc0VBQXNFO0lBQ3RFLEtBQUssVUFBVSxlQUFlLENBQUMsS0FBYTtRQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQztZQUNyRCxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbEQsSUFBSSxJQUFJLElBQUksSUFB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b0JBQW9CLENBQ3hDLE9BQWUsRUFDZixLQUFhO0lBRWIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDakMsNkRBQTZEO1lBQzdELDREQUE0RDtZQUM1RCw4REFBOEQ7WUFDOUQsK0RBQStEO1lBQy9ELHVEQUF1RDtZQUN2RCxrREFBa0Q7WUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDOUIsUUFBUSxFQUNSLFFBQVEsRUFDUixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDaEMsQ0FBQztZQUNGLE1BQU0sVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sVUFBVSxDQUNkLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUNyRSxDQUFDO1lBQ0YsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IEhvb2tOb3RGb3VuZEVycm9yIH0gZnJvbSAnQHdvcmtmbG93L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7XG4gIEdldEhvb2tQYXJhbXMsXG4gIEhvb2ssXG4gIExpc3RIb29rc1BhcmFtcyxcbiAgUGFnaW5hdGVkUmVzcG9uc2UsXG4gIFN0b3JhZ2UsXG59IGZyb20gJ0B3b3JrZmxvdy93b3JsZCc7XG5pbXBvcnQgeyBIb29rU2NoZW1hIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcbmltcG9ydCB7IERFRkFVTFRfUkVTT0xWRV9EQVRBX09QVElPTiB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge1xuICBhc3NlcnRTYWZlRW50aXR5SWQsXG4gIGRlbGV0ZUpTT04sXG4gIGxpc3RKU09ORmlsZXMsXG4gIHBhZ2luYXRlZEZpbGVTeXN0ZW1RdWVyeSxcbiAgcmVhZEpTT04sXG4gIHJlYWRKU09OV2l0aEZhbGxiYWNrLFxufSBmcm9tICcuLi9mcy5qcyc7XG5pbXBvcnQgeyBmaWx0ZXJIb29rRGF0YSB9IGZyb20gJy4vZmlsdGVycy5qcyc7XG5pbXBvcnQgeyBoYXNoVG9rZW4sIGhvb2tSZWNvdmVyeU1hcmtlclBhdGggfSBmcm9tICcuL2hlbHBlcnMuanMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBob29rcyBzdG9yYWdlIGltcGxlbWVudGF0aW9uIHVzaW5nIHRoZSBmaWxlc3lzdGVtLlxuICogSW1wbGVtZW50cyB0aGUgU3RvcmFnZVsnaG9va3MnXSBpbnRlcmZhY2Ugd2l0aCBob29rIENSVUQgb3BlcmF0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUhvb2tzU3RvcmFnZShcbiAgYmFzZWRpcjogc3RyaW5nLFxuICB0YWc/OiBzdHJpbmdcbik6IFN0b3JhZ2VbJ2hvb2tzJ10ge1xuICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gZmluZCBhIGhvb2sgYnkgdG9rZW4gKHNoYXJlZCBiZXR3ZWVuIGdldEJ5VG9rZW4pXG4gIGFzeW5jIGZ1bmN0aW9uIGZpbmRIb29rQnlUb2tlbih0b2tlbjogc3RyaW5nKTogUHJvbWlzZTxIb29rIHwgbnVsbD4ge1xuICAgIGNvbnN0IGhvb2tzRGlyID0gcGF0aC5qb2luKGJhc2VkaXIsICdob29rcycpO1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgbGlzdEpTT05GaWxlcyhob29rc0Rpcik7XG5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IGhvb2tQYXRoID0gcGF0aC5qb2luKGhvb2tzRGlyLCBgJHtmaWxlfS5qc29uYCk7XG4gICAgICBjb25zdCBob29rID0gYXdhaXQgcmVhZEpTT04oaG9va1BhdGgsIEhvb2tTY2hlbWEpO1xuICAgICAgaWYgKGhvb2sgJiYgaG9vay50b2tlbiA9PT0gdG9rZW4pIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uaG9vaywgaXNXZWJob29rOiBob29rLmlzV2ViaG9vayA/PyB0cnVlIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXQoaG9va0lkOiBzdHJpbmcsIHBhcmFtcz86IEdldEhvb2tQYXJhbXMpOiBQcm9taXNlPEhvb2s+IHtcbiAgICBhc3NlcnRTYWZlRW50aXR5SWQoJ2hvb2tJZCcsIGhvb2tJZCk7XG4gICAgY29uc3QgaG9vayA9IGF3YWl0IHJlYWRKU09OV2l0aEZhbGxiYWNrKFxuICAgICAgYmFzZWRpcixcbiAgICAgICdob29rcycsXG4gICAgICBob29rSWQsXG4gICAgICBIb29rU2NoZW1hLFxuICAgICAgdGFnXG4gICAgKTtcbiAgICBpZiAoIWhvb2spIHtcbiAgICAgIHRocm93IG5ldyBIb29rTm90Rm91bmRFcnJvcihob29rSWQpO1xuICAgIH1cbiAgICBjb25zdCByZXNvbHZlRGF0YSA9IHBhcmFtcz8ucmVzb2x2ZURhdGEgfHwgREVGQVVMVF9SRVNPTFZFX0RBVEFfT1BUSU9OO1xuICAgIHJldHVybiBmaWx0ZXJIb29rRGF0YShcbiAgICAgIHsgLi4uaG9vaywgaXNXZWJob29rOiBob29rLmlzV2ViaG9vayA/PyB0cnVlIH0sXG4gICAgICByZXNvbHZlRGF0YVxuICAgICk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRCeVRva2VuKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPEhvb2s+IHtcbiAgICBjb25zdCBob29rID0gYXdhaXQgZmluZEhvb2tCeVRva2VuKHRva2VuKTtcbiAgICBpZiAoIWhvb2spIHtcbiAgICAgIHRocm93IG5ldyBIb29rTm90Rm91bmRFcnJvcih0b2tlbik7XG4gICAgfVxuICAgIHJldHVybiBob29rO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gbGlzdChcbiAgICBwYXJhbXM6IExpc3RIb29rc1BhcmFtc1xuICApOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEhvb2s+PiB7XG4gICAgY29uc3QgaG9va3NEaXIgPSBwYXRoLmpvaW4oYmFzZWRpciwgJ2hvb2tzJyk7XG4gICAgY29uc3QgcmVzb2x2ZURhdGEgPSBwYXJhbXMucmVzb2x2ZURhdGEgfHwgREVGQVVMVF9SRVNPTFZFX0RBVEFfT1BUSU9OO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGFnaW5hdGVkRmlsZVN5c3RlbVF1ZXJ5KHtcbiAgICAgIGRpcmVjdG9yeTogaG9va3NEaXIsXG4gICAgICBzY2hlbWE6IEhvb2tTY2hlbWEsXG4gICAgICBzb3J0T3JkZXI6IHBhcmFtcy5wYWdpbmF0aW9uPy5zb3J0T3JkZXIgPz8gJ2FzYycsXG4gICAgICBsaW1pdDogcGFyYW1zLnBhZ2luYXRpb24/LmxpbWl0LFxuICAgICAgY3Vyc29yOiBwYXJhbXMucGFnaW5hdGlvbj8uY3Vyc29yLFxuICAgICAgZmlsZVByZWZpeDogdW5kZWZpbmVkLCAvLyBIb29rcyBkb24ndCBoYXZlIFVMSURzLCBzbyB3ZSBjYW4ndCBvcHRpbWl6ZSBieSBmaWxlbmFtZVxuICAgICAgZmlsdGVyOiAoaG9vaykgPT4ge1xuICAgICAgICAvLyBGaWx0ZXIgYnkgcnVuSWQgaWYgcHJvdmlkZWRcbiAgICAgICAgaWYgKHBhcmFtcy5ydW5JZCAmJiBob29rLnJ1bklkICE9PSBwYXJhbXMucnVuSWQpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgICAgZ2V0Q3JlYXRlZEF0OiAoKSA9PiB7XG4gICAgICAgIC8vIEhvb2sgZmlsZXMgZG9uJ3QgaGF2ZSBVTElEIHRpbWVzdGFtcHMgaW4gZmlsZW5hbWUsIHNvIHJldHVybiBudWxsXG4gICAgICAgIC8vIHRvIHNraXAgdGhlIGZpbGVuYW1lLWJhc2VkIG9wdGltaXphdGlvbiBhbmQgZGVmZXIgdG8gSlNPTi1iYXNlZFxuICAgICAgICAvLyBjdXJzb3IgZmlsdGVyaW5nIHdoaWNoIHVzZXMgdGhlIGFjdHVhbCBjcmVhdGVkQXQgZnJvbSB0aGUgZmlsZS5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9LFxuICAgICAgZ2V0SWQ6IChob29rKSA9PiBob29rLmhvb2tJZCxcbiAgICB9KTtcblxuICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBhZnRlciBwYWdpbmF0aW9uXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIGRhdGE6IHJlc3VsdC5kYXRhLm1hcCgoaG9vaykgPT4gZmlsdGVySG9va0RhdGEoaG9vaywgcmVzb2x2ZURhdGEpKSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHsgZ2V0LCBnZXRCeVRva2VuLCBsaXN0IH07XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGRlbGV0ZSBhbGwgaG9va3MgYXNzb2NpYXRlZCB3aXRoIGEgd29ya2Zsb3cgcnVuLlxuICogQ2FsbGVkIHdoZW4gYSBydW4gcmVhY2hlcyBhIHRlcm1pbmFsIHN0YXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlQWxsSG9va3NGb3JSdW4oXG4gIGJhc2VkaXI6IHN0cmluZyxcbiAgcnVuSWQ6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGhvb2tzRGlyID0gcGF0aC5qb2luKGJhc2VkaXIsICdob29rcycpO1xuICBjb25zdCBmaWxlcyA9IGF3YWl0IGxpc3RKU09ORmlsZXMoaG9va3NEaXIpO1xuXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgIGNvbnN0IGhvb2tQYXRoID0gcGF0aC5qb2luKGhvb2tzRGlyLCBgJHtmaWxlfS5qc29uYCk7XG4gICAgY29uc3QgaG9vayA9IGF3YWl0IHJlYWRKU09OKGhvb2tQYXRoLCBIb29rU2NoZW1hKTtcbiAgICBpZiAoaG9vayAmJiBob29rLnJ1bklkID09PSBydW5JZCkge1xuICAgICAgLy8gRGVsZXRlIHRoZSB0b2tlbiBjb25zdHJhaW50IGZpbGUgdG8gZnJlZSB1cCB0aGUgdG9rZW4sIGFuZFxuICAgICAgLy8gZGVsZXRlIHRoZSByZWNvdmVyeSBtYXJrZXIgKGlmIGFueSkgZm9yIGRpc2sgaHlnaWVuZS4gVGhlXG4gICAgICAvLyBtYXJrZXIncyBmaWxlbmFtZSBoYXNoIGluY2x1ZGVzIGAodG9rZW4sIHJ1bklkLCBob29rSWQpYCBzb1xuICAgICAgLy8gYSBsZWFrZWQgbWFya2VyIGNhbiBuZXZlciBjb3JydXB0IGEgZGlmZmVyZW50IGxpZmV0aW1lIOKAlCBidXRcbiAgICAgIC8vIGNsZWFuaW5nIGl0IHVwIGhlcmUga2VlcHMgdGhlIHRva2Vucy8gZGlyZWN0b3J5IGZyb21cbiAgICAgIC8vIGFjY3VtdWxhdGluZyByZWNvdmVyZWQtaG9vayBzaWRlY2FycyBvdmVyIHRpbWUuXG4gICAgICBjb25zdCBjb25zdHJhaW50UGF0aCA9IHBhdGguam9pbihcbiAgICAgICAgaG9va3NEaXIsXG4gICAgICAgICd0b2tlbnMnLFxuICAgICAgICBgJHtoYXNoVG9rZW4oaG9vay50b2tlbil9Lmpzb25gXG4gICAgICApO1xuICAgICAgYXdhaXQgZGVsZXRlSlNPTihjb25zdHJhaW50UGF0aCk7XG4gICAgICBhd2FpdCBkZWxldGVKU09OKFxuICAgICAgICBob29rUmVjb3ZlcnlNYXJrZXJQYXRoKGJhc2VkaXIsIGhvb2sudG9rZW4sIGhvb2sucnVuSWQsIGhvb2suaG9va0lkKVxuICAgICAgKTtcbiAgICAgIGF3YWl0IGRlbGV0ZUpTT04oaG9va1BhdGgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3Mtc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL2hvb2tzLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBVXJELE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxFQUNWLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsaUJBQWlCLEdBQ2xCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUN4QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0QsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxFQUNiLHdCQUF3QixFQUN4QixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpFLFNBQVMsY0FBYyxDQUFDLE1BQWMsRUFBRSxHQUF1QjtJQUM3RCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFZO0lBQ3ZDLElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxjQUFjO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDekQsTUFBTSxLQUFLLEdBQUks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dEZvdW5kRXJyb3IgfSBmcm9tICdAd29ya2Zsb3cvZXJyb3JzJztcbmltcG9ydCB0eXBlIHtcbiAgRXZlbnQsXG4gIEdldEhvb2tQYXJhbXMsXG4gIEhvb2ssXG4gIEhvb2tDcmVhdGVkRXZlbnQsXG4gIExpc3RIb29rc1BhcmFtcyxcbiAgUGFnaW5hdGVkUmVzcG9uc2UsXG4gIFN0b3JhZ2UsXG59IGZyb20gJ0B3b3JrZmxvdy93b3JsZCc7XG5pbXBvcnQge1xuICBFdmVudFNjaGVtYSxcbiAgSG9va1NjaGVtYSxcbiAgaXNUZXJtaW5hbFJ1bkV2ZW50VHlwZSxcbiAgaXNUZXJtaW5hbFdvcmtmbG93UnVuU3RhdHVzLFxuICBXb3JrZmxvd1J1blNjaGVtYSxcbn0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgREVGQVVMVF9SRVNPTFZFX0RBVEFfT1BUSU9OIH0gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7XG4gIGFzc2VydFNhZmVFbnRpdHlJZCxcbiAgZGVsZXRlSlNPTixcbiAgaGFzVGFnLFxuICBpc1VudGFnZ2VkLFxuICBqc29uUmVwbGFjZXIsXG4gIGxpc3RKU09ORmlsZXMsXG4gIHBhZ2luYXRlZEZpbGVTeXN0ZW1RdWVyeSxcbiAgcmVhZEpTT04sXG4gIHJlYWRKU09OV2l0aEZhbGxiYWNrLFxuICB0YWdnZWRQYXRoLFxuICB3cml0ZUV4Y2x1c2l2ZSxcbn0gZnJvbSAnLi4vZnMuanMnO1xuaW1wb3J0IHsgZmlsdGVySG9va0RhdGEgfSBmcm9tICcuL2ZpbHRlcnMuanMnO1xuaW1wb3J0IHsgaGFzaFRva2VuLCBob29rUmVjb3ZlcnlNYXJrZXJQYXRoIH0gZnJvbSAnLi9oZWxwZXJzLmpzJztcblxuZnVuY3Rpb24gaXNWaXNpYmxlVG9UYWcoZmlsZUlkOiBzdHJpbmcsIHRhZzogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gIHJldHVybiB0YWcgPyBpc1VudGFnZ2VkKGZpbGVJZCkgfHwgaGFzVGFnKGZpbGVJZCwgdGFnKSA6IGlzVW50YWdnZWQoZmlsZUlkKTtcbn1cblxuZnVuY3Rpb24gZ2V0SG9va0NyZWF0ZWRUb2tlbihldmVudDogRXZlbnQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoZXZlbnQuZXZlbnRUeXBlICE9PSAnaG9va19jcmVhdGVkJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgdG9rZW4gPSAoZXZlbnQuZXZlbnREYXRhIGFzIHsgdG9rZW4/OiB1bmtub3duIH0pLnRva2VuO1xuICByZXR1cm4gdHlwZW9mIHRva2VuID09PSAnc3RyaW5nJyA/IHRva2VuIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBob29rRnJvbUNyZWF0ZWRFdmVudChldmVudDogRXZlbnQgJiBIb29rQ3JlYXRlZEV2ZW50KTogSG9vayB7XG4gIGNvbnN0IHsgdG9rZW4sIG1ldGFkYXRhLCBpc1dlYmhvb2ssIGlzU3lzdGVtIH0gPSBldmVudC5ldmVudERhdGE7XG4gIHJldHVybiB7XG4gICAgcnVuSWQ6IGV2ZW50LnJ1bklkLFxuICAgIGhvb2tJZDogZXZlbnQuY29ycmVsYXRpb25JZCxcbiAgICB0b2tlbixcbiAgICBtZXRhZGF0YSxcbiAgICBvd25lcklkOiAnbG9jYWwtb3duZXInLFxuICAgIHByb2plY3RJZDogJ2xvY2FsLXByb2plY3QnLFxuICAgIGVudmlyb25tZW50OiAnbG9jYWwnLFxuICAgIGNyZWF0ZWRBdDogZXZlbnQuY3JlYXRlZEF0LFxuICAgIHNwZWNWZXJzaW9uOiBldmVudC5zcGVjVmVyc2lvbixcbiAgICBpc1dlYmhvb2s6IGlzV2ViaG9vayA/PyB0cnVlLFxuICAgIGlzU3lzdGVtOiBpc1N5c3RlbSA/PyBmYWxzZSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNNYXRjaGluZ0hvb2tDcmVhdGVkRXZlbnQoXG4gIGV2ZW50OiBFdmVudCxcbiAgbWF0Y2hlczogKGV2ZW50OiBFdmVudCkgPT4gYm9vbGVhblxuKTogZXZlbnQgaXMgRXZlbnQgJiBIb29rQ3JlYXRlZEV2ZW50IHtcbiAgcmV0dXJuIChcbiAgICBldmVudC5ldmVudFR5cGUgPT09ICdob29rX2NyZWF0ZWQnICYmXG4gICAgdHlwZW9mIGV2ZW50LmNvcnJlbGF0aW9uSWQgPT09ICdzdHJpbmcnICYmXG4gICAgbWF0Y2hlcyhldmVudClcbiAgKTtcbn1cblxuZnVuY3Rpb24gY2xvc2VzTGl2ZUhvb2soXG4gIGV2ZW50OiBFdmVudCxcbiAgbGl2ZUV2ZW50OiBFdmVudCAmIEhvb2tDcmVhdGVkRXZlbnRcbik6IGJvb2xlYW4ge1xuICBpZiAoZXZlbnQucnVuSWQgIT09IGxpdmVFdmVudC5ydW5JZCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gKFxuICAgIChldmVudC5ldmVudFR5cGUgPT09ICdob29rX2Rpc3Bvc2VkJyAmJlxuICAgICAgZXZlbnQuY29ycmVsYXRpb25JZCA9PT0gbGl2ZUV2ZW50LmNvcnJlbGF0aW9uSWQpIHx8XG4gICAgaXNUZXJtaW5hbFJ1bkV2ZW50VHlwZShldmVudC5ldmVudFR5cGUpXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRFdmVudEZvckhvb2tTY2FuKGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPEV2ZW50IHwgbnVsbD4ge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCByZWFkSlNPTihmaWxlUGF0aCwgRXZlbnRTY2hlbWEpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yIHx8IGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGlzVGVybWluYWxSdW5DYWNoZShcbiAgYmFzZWRpcjogc3RyaW5nLFxuICBydW5JZDogc3RyaW5nLFxuICB0YWc/OiBzdHJpbmdcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBydW4gPSBhd2FpdCByZWFkSlNPTldpdGhGYWxsYmFjayhcbiAgICBiYXNlZGlyLFxuICAgICdydW5zJyxcbiAgICBydW5JZCxcbiAgICBXb3JrZmxvd1J1blNjaGVtYSxcbiAgICB0YWdcbiAgKTtcbiAgcmV0dXJuIHJ1biA/IGlzVGVybWluYWxXb3JrZmxvd1J1blN0YXR1cyhydW4uc3RhdHVzKSA6IGZhbHNlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmaW5kTGl2ZUhvb2tDcmVhdGVkRXZlbnQoXG4gIGJhc2VkaXI6IHN0cmluZyxcbiAgbWF0Y2hlczogKGV2ZW50OiBFdmVudCkgPT4gYm9vbGVhbixcbiAgdGFnPzogc3RyaW5nXG4pOiBQcm9taXNlPChFdmVudCAmIEhvb2tDcmVhdGVkRXZlbnQpIHwgbnVsbD4ge1xuICBjb25zdCBldmVudHNEaXIgPSBwYXRoLmpvaW4oYmFzZWRpciwgJ2V2ZW50cycpO1xuICBjb25zdCBldmVudHM6IEV2ZW50W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGZpbGVJZCBvZiBhd2FpdCBsaXN0SlNPTkZpbGVzKGV2ZW50c0RpcikpIHtcbiAgICBpZiAoIWlzVmlzaWJsZVRvVGFnKGZpbGVJZCwgdGFnKSkgY29udGludWU7XG4gICAgY29uc3QgZXZlbnQgPSBhd2FpdCByZWFkRXZlbnRGb3JIb29rU2NhbihcbiAgICAgIHBhdGguam9pbihldmVudHNEaXIsIGAke2ZpbGVJZH0uanNvbmApXG4gICAgKTtcbiAgICBpZiAoZXZlbnQpIGV2ZW50cy5wdXNoKGV2ZW50KTtcbiAgfVxuXG4gIGV2ZW50cy5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYnlUaW1lID0gYS5jcmVhdGVkQXQuZ2V0VGltZSgpIC0gYi5jcmVhdGVkQXQuZ2V0VGltZSgpO1xuICAgIHJldHVybiBieVRpbWUgPT09IDAgPyBhLmV2ZW50SWQubG9jYWxlQ29tcGFyZShiLmV2ZW50SWQpIDogYnlUaW1lO1xuICB9KTtcblxuICBsZXQgbGl2ZUV2ZW50OiAoRXZlbnQgJiBIb29rQ3JlYXRlZEV2ZW50KSB8IG51bGwgPSBudWxsO1xuICBmb3IgKGNvbnN0IGV2ZW50IG9mIGV2ZW50cykge1xuICAgIGlmIChpc01hdGNoaW5nSG9va0NyZWF0ZWRFdmVudChldmVudCwgbWF0Y2hlcykpIHtcbiAgICAgIGxpdmVFdmVudCA9IGV2ZW50O1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGxpdmVFdmVudCAmJiBjbG9zZXNMaXZlSG9vayhldmVudCwgbGl2ZUV2ZW50KSkge1xuICAgICAgbGl2ZUV2ZW50ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBpZiAobGl2ZUV2ZW50ICYmIChhd2FpdCBpc1Rlcm1pbmFsUnVuQ2FjaGUoYmFzZWRpciwgbGl2ZUV2ZW50LnJ1bklkLCB0YWcpKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGxpdmVFdmVudDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVzdG9yZUhvb2tDYWNoZXNGcm9tRXZlbnQoXG4gIGJhc2VkaXI6IHN0cmluZyxcbiAgZXZlbnQ6IEV2ZW50ICYgSG9va0NyZWF0ZWRFdmVudCxcbiAgdGFnPzogc3RyaW5nXG4pOiBQcm9taXNlPEhvb2s+IHtcbiAgY29uc3QgaG9vayA9IGhvb2tGcm9tQ3JlYXRlZEV2ZW50KGV2ZW50KTtcblxuICBjb25zdCBjbGFpbVBhdGggPSBwYXRoLmpvaW4oXG4gICAgYmFzZWRpcixcbiAgICAnaG9va3MnLFxuICAgICd0b2tlbnMnLFxuICAgIGAke2hhc2hUb2tlbihob29rLnRva2VuKX0uanNvbmBcbiAgKTtcbiAgYXdhaXQgd3JpdGVFeGNsdXNpdmUoXG4gICAgY2xhaW1QYXRoLFxuICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHRva2VuOiBob29rLnRva2VuLFxuICAgICAgaG9va0lkOiBob29rLmhvb2tJZCxcbiAgICAgIHJ1bklkOiBob29rLnJ1bklkLFxuICAgICAgZXZlbnRJZDogZXZlbnQuZXZlbnRJZCxcbiAgICB9KVxuICApO1xuICBhd2FpdCB3cml0ZUV4Y2x1c2l2ZShcbiAgICB0YWdnZWRQYXRoKGJhc2VkaXIsICdob29rcycsIGhvb2suaG9va0lkLCB0YWcpLFxuICAgIEpTT04uc3RyaW5naWZ5KGhvb2ssIGpzb25SZXBsYWNlciwgMilcbiAgKTtcblxuICByZXR1cm4gaG9vaztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYnVpbGRMaXZlSG9va0J5VG9rZW5Gcm9tRXZlbnRMb2coXG4gIGJhc2VkaXI6IHN0cmluZyxcbiAgdG9rZW46IHN0cmluZyxcbiAgdGFnPzogc3RyaW5nXG4pOiBQcm9taXNlPEhvb2sgfCBudWxsPiB7XG4gIGNvbnN0IGV2ZW50ID0gYXdhaXQgZmluZExpdmVIb29rQ3JlYXRlZEV2ZW50KFxuICAgIGJhc2VkaXIsXG4gICAgKGNhbmRpZGF0ZSkgPT4gZ2V0SG9va0NyZWF0ZWRUb2tlbihjYW5kaWRhdGUpID09PSB0b2tlbixcbiAgICB0YWdcbiAgKTtcbiAgcmV0dXJuIGV2ZW50ID8gcmVzdG9yZUhvb2tDYWNoZXNGcm9tRXZlbnQoYmFzZWRpciwgZXZlbnQsIHRhZykgOiBudWxsO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZWJ1aWxkTGl2ZUhvb2tCeUlkRnJvbUV2ZW50TG9nKFxuICBiYXNlZGlyOiBzdHJpbmcsXG4gIGhvb2tJZDogc3RyaW5nLFxuICB0YWc/OiBzdHJpbmdcbik6IFByb21pc2U8SG9vayB8IG51bGw+IHtcbiAgY29uc3QgZXZlbnQgPSBhd2FpdCBmaW5kTGl2ZUhvb2tDcmVhdGVkRXZlbnQoXG4gICAgYmFzZWRpcixcbiAgICAoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUuY29ycmVsYXRpb25JZCA9PT0gaG9va0lkLFxuICAgIHRhZ1xuICApO1xuICByZXR1cm4gZXZlbnQgPyByZXN0b3JlSG9va0NhY2hlc0Zyb21FdmVudChiYXNlZGlyLCBldmVudCwgdGFnKSA6IG51bGw7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGhvb2tzIHN0b3JhZ2UgaW1wbGVtZW50YXRpb24gdXNpbmcgdGhlIGZpbGVzeXN0ZW0uXG4gKiBJbXBsZW1lbnRzIHRoZSBTdG9yYWdlWydob29rcyddIGludGVyZmFjZSB3aXRoIGhvb2sgQ1JVRCBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSG9va3NTdG9yYWdlKFxuICBiYXNlZGlyOiBzdHJpbmcsXG4gIHRhZz86IHN0cmluZ1xuKTogU3RvcmFnZVsnaG9va3MnXSB7XG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byBmaW5kIGEgaG9vayBieSB0b2tlbiAoc2hhcmVkIGJldHdlZW4gZ2V0QnlUb2tlbilcbiAgYXN5bmMgZnVuY3Rpb24gZmluZEhvb2tCeVRva2VuKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPEhvb2sgfCBudWxsPiB7XG4gICAgY29uc3QgaG9va3NEaXIgPSBwYXRoLmpvaW4oYmFzZWRpciwgJ2hvb2tzJyk7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCBsaXN0SlNPTkZpbGVzKGhvb2tzRGlyKTtcblxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgY29uc3QgaG9va1BhdGggPSBwYXRoLmpvaW4oaG9va3NEaXIsIGAke2ZpbGV9Lmpzb25gKTtcbiAgICAgIGNvbnN0IGhvb2sgPSBhd2FpdCByZWFkSlNPTihob29rUGF0aCwgSG9va1NjaGVtYSk7XG4gICAgICBpZiAoaG9vayAmJiBob29rLnRva2VuID09PSB0b2tlbikge1xuICAgICAgICByZXR1cm4geyAuLi5ob29rLCBpc1dlYmhvb2s6IGhvb2suaXNXZWJob29rID8/IHRydWUgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGdldChob29rSWQ6IHN0cmluZywgcGFyYW1zPzogR2V0SG9va1BhcmFtcyk6IFByb21pc2U8SG9vaz4ge1xuICAgIGFzc2VydFNhZmVFbnRpdHlJZCgnaG9va0lkJywgaG9va0lkKTtcbiAgICBjb25zdCBob29rID0gYXdhaXQgcmVhZEpTT05XaXRoRmFsbGJhY2soXG4gICAgICBiYXNlZGlyLFxuICAgICAgJ2hvb2tzJyxcbiAgICAgIGhvb2tJZCxcbiAgICAgIEhvb2tTY2hlbWEsXG4gICAgICB0YWdcbiAgICApO1xuICAgIGlmICghaG9vaykge1xuICAgICAgY29uc3QgcmVidWlsdCA9IGF3YWl0IHJlYnVpbGRMaXZlSG9va0J5SWRGcm9tRXZlbnRMb2coXG4gICAgICAgIGJhc2VkaXIsXG4gICAgICAgIGhvb2tJZCxcbiAgICAgICAgdGFnXG4gICAgICApO1xuICAgICAgaWYgKCFyZWJ1aWx0KSB7XG4gICAgICAgIHRocm93IG5ldyBIb29rTm90Rm91bmRFcnJvcihob29rSWQpO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzb2x2ZURhdGEgPSBwYXJhbXM/LnJlc29sdmVEYXRhIHx8IERFRkFVTFRfUkVTT0xWRV9EQVRBX09QVElPTjtcbiAgICAgIHJldHVybiBmaWx0ZXJIb29rRGF0YShcbiAgICAgICAgeyAuLi5yZWJ1aWx0LCBpc1dlYmhvb2s6IHJlYnVpbHQuaXNXZWJob29rID8/IHRydWUgfSxcbiAgICAgICAgcmVzb2x2ZURhdGFcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHJlc29sdmVEYXRhID0gcGFyYW1zPy5yZXNvbHZlRGF0YSB8fCBERUZBVUxUX1JFU09MVkVfREFUQV9PUFRJT047XG4gICAgcmV0dXJuIGZpbHRlckhvb2tEYXRhKFxuICAgICAgeyAuLi5ob29rLCBpc1dlYmhvb2s6IGhvb2suaXNXZWJob29rID8/IHRydWUgfSxcbiAgICAgIHJlc29sdmVEYXRhXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGdldEJ5VG9rZW4odG9rZW46IHN0cmluZyk6IFByb21pc2U8SG9vaz4ge1xuICAgIGNvbnN0IGhvb2sgPVxuICAgICAgKGF3YWl0IGZpbmRIb29rQnlUb2tlbih0b2tlbikpID8/XG4gICAgICAoYXdhaXQgcmVidWlsZExpdmVIb29rQnlUb2tlbkZyb21FdmVudExvZyhiYXNlZGlyLCB0b2tlbiwgdGFnKSk7XG4gICAgaWYgKCFob29rKSB7XG4gICAgICB0aHJvdyBuZXcgSG9va05vdEZvdW5kRXJyb3IodG9rZW4pO1xuICAgIH1cbiAgICByZXR1cm4gaG9vaztcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGxpc3QoXG4gICAgcGFyYW1zOiBMaXN0SG9va3NQYXJhbXNcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxIb29rPj4ge1xuICAgIGNvbnN0IGhvb2tzRGlyID0gcGF0aC5qb2luKGJhc2VkaXIsICdob29rcycpO1xuICAgIGNvbnN0IHJlc29sdmVEYXRhID0gcGFyYW1zLnJlc29sdmVEYXRhIHx8IERFRkFVTFRfUkVTT0xWRV9EQVRBX09QVElPTjtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBhZ2luYXRlZEZpbGVTeXN0ZW1RdWVyeSh7XG4gICAgICBkaXJlY3Rvcnk6IGhvb2tzRGlyLFxuICAgICAgc2NoZW1hOiBIb29rU2NoZW1hLFxuICAgICAgc29ydE9yZGVyOiBwYXJhbXMucGFnaW5hdGlvbj8uc29ydE9yZGVyID8/ICdhc2MnLFxuICAgICAgbGltaXQ6IHBhcmFtcy5wYWdpbmF0aW9uPy5saW1pdCxcbiAgICAgIGN1cnNvcjogcGFyYW1zLnBhZ2luYXRpb24/LmN1cnNvcixcbiAgICAgIGZpbGVQcmVmaXg6IHVuZGVmaW5lZCwgLy8gSG9va3MgZG9uJ3QgaGF2ZSBVTElEcywgc28gd2UgY2FuJ3Qgb3B0aW1pemUgYnkgZmlsZW5hbWVcbiAgICAgIGZpbHRlcjogKGhvb2spID0+IHtcbiAgICAgICAgLy8gRmlsdGVyIGJ5IHJ1bklkIGlmIHByb3ZpZGVkXG4gICAgICAgIGlmIChwYXJhbXMucnVuSWQgJiYgaG9vay5ydW5JZCAhPT0gcGFyYW1zLnJ1bklkKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICAgIGdldENyZWF0ZWRBdDogKCkgPT4ge1xuICAgICAgICAvLyBIb29rIGZpbGVzIGRvbid0IGhhdmUgVUxJRCB0aW1lc3RhbXBzIGluIGZpbGVuYW1lLCBzbyByZXR1cm4gbnVsbFxuICAgICAgICAvLyB0byBza2lwIHRoZSBmaWxlbmFtZS1iYXNlZCBvcHRpbWl6YXRpb24gYW5kIGRlZmVyIHRvIEpTT04tYmFzZWRcbiAgICAgICAgLy8gY3Vyc29yIGZpbHRlcmluZyB3aGljaCB1c2VzIHRoZSBhY3R1YWwgY3JlYXRlZEF0IGZyb20gdGhlIGZpbGUuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSxcbiAgICAgIGdldElkOiAoaG9vaykgPT4gaG9vay5ob29rSWQsXG4gICAgfSk7XG5cbiAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgYWZ0ZXIgcGFnaW5hdGlvblxuICAgIHJldHVybiB7XG4gICAgICAuLi5yZXN1bHQsXG4gICAgICBkYXRhOiByZXN1bHQuZGF0YS5tYXAoKGhvb2spID0+IGZpbHRlckhvb2tEYXRhKGhvb2ssIHJlc29sdmVEYXRhKSksXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7IGdldCwgZ2V0QnlUb2tlbiwgbGlzdCB9O1xufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBkZWxldGUgYWxsIGhvb2tzIGFzc29jaWF0ZWQgd2l0aCBhIHdvcmtmbG93IHJ1bi5cbiAqIENhbGxlZCB3aGVuIGEgcnVuIHJlYWNoZXMgYSB0ZXJtaW5hbCBzdGF0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGV0ZUFsbEhvb2tzRm9yUnVuKFxuICBiYXNlZGlyOiBzdHJpbmcsXG4gIHJ1bklkOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBob29rc0RpciA9IHBhdGguam9pbihiYXNlZGlyLCAnaG9va3MnKTtcbiAgY29uc3QgZmlsZXMgPSBhd2FpdCBsaXN0SlNPTkZpbGVzKGhvb2tzRGlyKTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBob29rUGF0aCA9IHBhdGguam9pbihob29rc0RpciwgYCR7ZmlsZX0uanNvbmApO1xuICAgIGNvbnN0IGhvb2sgPSBhd2FpdCByZWFkSlNPTihob29rUGF0aCwgSG9va1NjaGVtYSk7XG4gICAgaWYgKGhvb2sgJiYgaG9vay5ydW5JZCA9PT0gcnVuSWQpIHtcbiAgICAgIC8vIERlbGV0ZSB0aGUgdG9rZW4gY29uc3RyYWludCBmaWxlIHRvIGZyZWUgdXAgdGhlIHRva2VuLCBhbmRcbiAgICAgIC8vIGRlbGV0ZSB0aGUgcmVjb3ZlcnkgbWFya2VyIChpZiBhbnkpIGZvciBkaXNrIGh5Z2llbmUuIFRoZVxuICAgICAgLy8gbWFya2VyJ3MgZmlsZW5hbWUgaGFzaCBpbmNsdWRlcyBgKHRva2VuLCBydW5JZCwgaG9va0lkKWAgc29cbiAgICAgIC8vIGEgbGVha2VkIG1hcmtlciBjYW4gbmV2ZXIgY29ycnVwdCBhIGRpZmZlcmVudCBsaWZldGltZSDigJQgYnV0XG4gICAgICAvLyBjbGVhbmluZyBpdCB1cCBoZXJlIGtlZXBzIHRoZSB0b2tlbnMvIGRpcmVjdG9yeSBmcm9tXG4gICAgICAvLyBhY2N1bXVsYXRpbmcgcmVjb3ZlcmVkLWhvb2sgc2lkZWNhcnMgb3ZlciB0aW1lLlxuICAgICAgY29uc3QgY29uc3RyYWludFBhdGggPSBwYXRoLmpvaW4oXG4gICAgICAgIGhvb2tzRGlyLFxuICAgICAgICAndG9rZW5zJyxcbiAgICAgICAgYCR7aGFzaFRva2VuKGhvb2sudG9rZW4pfS5qc29uYFxuICAgICAgKTtcbiAgICAgIGF3YWl0IGRlbGV0ZUpTT04oY29uc3RyYWludFBhdGgpO1xuICAgICAgYXdhaXQgZGVsZXRlSlNPTihcbiAgICAgICAgaG9va1JlY292ZXJ5TWFya2VyUGF0aChiYXNlZGlyLCBob29rLnRva2VuLCBob29rLnJ1bklkLCBob29rLmhvb2tJZClcbiAgICAgICk7XG4gICAgICBhd2FpdCBkZWxldGVKU09OKGhvb2tQYXRoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG7E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG7E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IACjD,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,IAAI,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,CAgBzE"}
|
package/dist/storage/index.js
CHANGED
|
@@ -25,6 +25,7 @@ export function createStorage(basedir, tag) {
|
|
|
25
25
|
steps: instrumentObject('world.steps', steps),
|
|
26
26
|
events: instrumentObject('world.events', events),
|
|
27
27
|
hooks: instrumentObject('world.hooks', hooks),
|
|
28
|
+
clearCache: () => events.clearCache(),
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQXlCLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFZeEQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQWUsRUFBRSxHQUFZO0lBQ3pELHFDQUFxQztJQUNyQyxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0MsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFL0MsOENBQThDO0lBQzlDLCtEQUErRDtJQUMvRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7UUFDMUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7UUFDN0MsTUFBTSxFQUFFLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUM7UUFDaEQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7UUFDN0MsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7S0FDdEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0b3JhZ2UgfSBmcm9tICdAd29ya2Zsb3cvd29ybGQnO1xuaW1wb3J0IHsgaW5zdHJ1bWVudE9iamVjdCB9IGZyb20gJy4uL2luc3RydW1lbnRPYmplY3QuanMnO1xuaW1wb3J0IHsgY3JlYXRlRXZlbnRzU3RvcmFnZSB9IGZyb20gJy4vZXZlbnRzLXN0b3JhZ2UuanMnO1xuaW1wb3J0IHsgY3JlYXRlSG9va3NTdG9yYWdlIH0gZnJvbSAnLi9ob29rcy1zdG9yYWdlLmpzJztcbmltcG9ydCB7IGNyZWF0ZVJ1bnNTdG9yYWdlLCB0eXBlIExvY2FsUnVuc1N0b3JhZ2UgfSBmcm9tICcuL3J1bnMtc3RvcmFnZS5qcyc7XG5pbXBvcnQgeyBjcmVhdGVTdGVwc1N0b3JhZ2UgfSBmcm9tICcuL3N0ZXBzLXN0b3JhZ2UuanMnO1xuXG4vKipcbiAqIFN0b3JhZ2Ugc2hhcGUgdXNlZCBpbnNpZGUgd29ybGQtbG9jYWw6IGlkZW50aWNhbCB0byBgU3RvcmFnZWAsIGJ1dCBgcnVuc2BcbiAqIGV4cG9zZXMgdGhlIGludGVybmFsIGBmaWxlSWRGaWx0ZXJgIG9wdGlvbiBvbiBgbGlzdCgpYC4gU3RydWN0dXJhbGx5XG4gKiBhc3NpZ25hYmxlIHRvIGBTdG9yYWdlYCBhdCBwdWJsaWMgYm91bmRhcmllcyAoZS5nLiwgYHJlZW5xdWV1ZUFjdGl2ZVJ1bnNgKS5cbiAqL1xuZXhwb3J0IHR5cGUgTG9jYWxTdG9yYWdlID0gT21pdDxTdG9yYWdlLCAncnVucyc+ICYge1xuICBydW5zOiBMb2NhbFJ1bnNTdG9yYWdlO1xuICBjbGVhckNhY2hlKCk6IHZvaWQ7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb21wbGV0ZSBzdG9yYWdlIGltcGxlbWVudGF0aW9uIHVzaW5nIHRoZSBmaWxlc3lzdGVtLlxuICogVGhpcyBpcyB0aGUgbWFpbiBlbnRyeSBwb2ludCB0aGF0IGNvbXBvc2VzIGFsbCBzdG9yYWdlIGltcGxlbWVudGF0aW9ucy5cbiAqXG4gKiBBbGwgc3RvcmFnZSBtZXRob2RzIGFyZSBpbnN0cnVtZW50ZWQgd2l0aCB0cmFjaW5nIHNwYW5zIGZvciBvYnNlcnZhYmlsaXR5LlxuICpcbiAqIEBwYXJhbSBiYXNlZGlyIC0gVGhlIGJhc2UgZGlyZWN0b3J5IGZvciBzdG9yaW5nIHdvcmtmbG93IGRhdGFcbiAqIEByZXR1cm5zIEEgY29tcGxldGUgU3RvcmFnZSBpbXBsZW1lbnRhdGlvbiB3aXRoIHRyYWNpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0b3JhZ2UoYmFzZWRpcjogc3RyaW5nLCB0YWc/OiBzdHJpbmcpOiBMb2NhbFN0b3JhZ2Uge1xuICAvLyBDcmVhdGUgcmF3IHN0b3JhZ2UgaW1wbGVtZW50YXRpb25zXG4gIGNvbnN0IHJ1bnMgPSBjcmVhdGVSdW5zU3RvcmFnZShiYXNlZGlyLCB0YWcpO1xuICBjb25zdCBzdGVwcyA9IGNyZWF0ZVN0ZXBzU3RvcmFnZShiYXNlZGlyLCB0YWcpO1xuICBjb25zdCBldmVudHMgPSBjcmVhdGVFdmVudHNTdG9yYWdlKGJhc2VkaXIsIHRhZyk7XG4gIGNvbnN0IGhvb2tzID0gY3JlYXRlSG9va3NTdG9yYWdlKGJhc2VkaXIsIHRhZyk7XG5cbiAgLy8gSW5zdHJ1bWVudCBhbGwgc3RvcmFnZSBtZXRob2RzIHdpdGggdHJhY2luZ1xuICAvLyBOT1RFOiBTcGFuIG5hbWVzIGFyZSBsb3dlcmNhc2UgcGVyIE9URUwgc2VtYW50aWMgY29udmVudGlvbnNcbiAgcmV0dXJuIHtcbiAgICBydW5zOiBpbnN0cnVtZW50T2JqZWN0KCd3b3JsZC5ydW5zJywgcnVucyksXG4gICAgc3RlcHM6IGluc3RydW1lbnRPYmplY3QoJ3dvcmxkLnN0ZXBzJywgc3RlcHMpLFxuICAgIGV2ZW50czogaW5zdHJ1bWVudE9iamVjdCgnd29ybGQuZXZlbnRzJywgZXZlbnRzKSxcbiAgICBob29rczogaW5zdHJ1bWVudE9iamVjdCgnd29ybGQuaG9va3MnLCBob29rcyksXG4gICAgY2xlYXJDYWNoZTogKCkgPT4gZXZlbnRzLmNsZWFyQ2FjaGUoKSxcbiAgfTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/world-local",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.23",
|
|
4
4
|
"description": "Local development World implementation for Workflow SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"async-sema": "3.1.1",
|
|
28
28
|
"ulid": "~3.0.1",
|
|
29
29
|
"undici": "7.28.0",
|
|
30
|
-
"zod": "4.3.6",
|
|
31
|
-
"@workflow/errors": "5.0.0-beta.
|
|
32
|
-
"@workflow/utils": "5.0.0-beta.
|
|
33
|
-
"@workflow/world": "5.0.0-beta.
|
|
30
|
+
"zod": "~4.3.6",
|
|
31
|
+
"@workflow/errors": "5.0.0-beta.9",
|
|
32
|
+
"@workflow/utils": "5.0.0-beta.5",
|
|
33
|
+
"@workflow/world": "5.0.0-beta.15"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@opentelemetry/api": "1.9.0",
|