@workflow/cli 5.0.0-beta.4 → 5.0.0-beta.40
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/base.js +1 -1
- package/dist/commands/build.js +1 -1
- package/dist/commands/cancel.d.ts +1 -0
- package/dist/commands/cancel.d.ts.map +1 -1
- package/dist/commands/cancel.js +36 -55
- package/dist/commands/dev.js +1 -1
- package/dist/commands/health.d.ts +1 -3
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +26 -50
- package/dist/commands/init.js +1 -1
- package/dist/commands/inspect.d.ts +4 -0
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +37 -7
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +8 -3
- package/dist/commands/transform.js +1 -1
- package/dist/commands/validate.js +1 -1
- package/dist/commands/web.d.ts +2 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +9 -3
- package/dist/lib/bulk-cancel.d.ts +74 -0
- package/dist/lib/bulk-cancel.d.ts.map +1 -0
- package/dist/lib/bulk-cancel.js +197 -0
- package/dist/lib/bulk-cancel.test.d.ts +2 -0
- package/dist/lib/bulk-cancel.test.d.ts.map +1 -0
- package/dist/lib/bulk-cancel.test.js +366 -0
- package/dist/lib/config/log.js +1 -1
- package/dist/lib/config/types.d.ts +6 -1
- package/dist/lib/config/types.d.ts.map +1 -1
- package/dist/lib/config/types.js +1 -1
- package/dist/lib/config/workflow-config.d.ts.map +1 -1
- package/dist/lib/config/workflow-config.js +2 -2
- package/dist/lib/inspect/auth.js +1 -1
- package/dist/lib/inspect/env.d.ts +1 -1
- package/dist/lib/inspect/env.js +2 -2
- package/dist/lib/inspect/errors.d.ts +3 -0
- package/dist/lib/inspect/errors.d.ts.map +1 -0
- package/dist/lib/inspect/errors.js +27 -0
- package/dist/lib/inspect/flags.d.ts +9 -0
- package/dist/lib/inspect/flags.d.ts.map +1 -1
- package/dist/lib/inspect/flags.js +23 -1
- package/dist/lib/inspect/hydration.d.ts +22 -0
- package/dist/lib/inspect/hydration.d.ts.map +1 -1
- package/dist/lib/inspect/hydration.js +107 -49
- package/dist/lib/inspect/hydration.test.d.ts +2 -0
- package/dist/lib/inspect/hydration.test.d.ts.map +1 -0
- package/dist/lib/inspect/hydration.test.js +23 -0
- package/dist/lib/inspect/output.d.ts +2 -2
- package/dist/lib/inspect/output.d.ts.map +1 -1
- package/dist/lib/inspect/output.js +327 -136
- package/dist/lib/inspect/output.test.js +663 -3
- package/dist/lib/inspect/pagination.d.ts +10 -1
- package/dist/lib/inspect/pagination.d.ts.map +1 -1
- package/dist/lib/inspect/pagination.js +20 -4
- package/dist/lib/inspect/run.d.ts.map +1 -1
- package/dist/lib/inspect/run.js +33 -10
- package/dist/lib/inspect/setup.d.ts.map +1 -1
- package/dist/lib/inspect/setup.js +42 -6
- package/dist/lib/inspect/stream.js +1 -1
- package/dist/lib/inspect/terminal-utils.js +1 -1
- package/dist/lib/inspect/time-window.d.ts +28 -0
- package/dist/lib/inspect/time-window.d.ts.map +1 -0
- package/dist/lib/inspect/time-window.js +61 -0
- package/dist/lib/inspect/time-window.test.d.ts +2 -0
- package/dist/lib/inspect/time-window.test.d.ts.map +1 -0
- package/dist/lib/inspect/time-window.test.js +58 -0
- package/dist/lib/inspect/vercel-api.d.ts +5 -2
- package/dist/lib/inspect/vercel-api.d.ts.map +1 -1
- package/dist/lib/inspect/vercel-api.js +12 -37
- package/dist/lib/inspect/vercel-api.test.d.ts +2 -0
- package/dist/lib/inspect/vercel-api.test.d.ts.map +1 -0
- package/dist/lib/inspect/vercel-api.test.js +21 -0
- package/dist/lib/inspect/vercel-link.js +1 -1
- package/dist/lib/inspect/web.d.ts +24 -0
- package/dist/lib/inspect/web.d.ts.map +1 -1
- package/dist/lib/inspect/web.js +122 -3
- package/dist/lib/update-check.js +1 -1
- package/package.json +15 -14
- package/dist/base.js.map +0 -1
- package/dist/commands/build.js.map +0 -1
- package/dist/commands/cancel.js.map +0 -1
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/health.js.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/inspect.js.map +0 -1
- package/dist/commands/start.js.map +0 -1
- package/dist/commands/transform.js.map +0 -1
- package/dist/commands/validate.js.map +0 -1
- package/dist/commands/web.js.map +0 -1
- package/dist/lib/config/log.js.map +0 -1
- package/dist/lib/config/types.js.map +0 -1
- package/dist/lib/config/workflow-config.js.map +0 -1
- package/dist/lib/inspect/auth.js.map +0 -1
- package/dist/lib/inspect/env.js.map +0 -1
- package/dist/lib/inspect/flags.js.map +0 -1
- package/dist/lib/inspect/hydration.js.map +0 -1
- package/dist/lib/inspect/output.js.map +0 -1
- package/dist/lib/inspect/output.test.js.map +0 -1
- package/dist/lib/inspect/pagination.js.map +0 -1
- package/dist/lib/inspect/run.js.map +0 -1
- package/dist/lib/inspect/setup.js.map +0 -1
- package/dist/lib/inspect/stream.js.map +0 -1
- package/dist/lib/inspect/terminal-utils.js.map +0 -1
- package/dist/lib/inspect/vercel-api.js.map +0 -1
- package/dist/lib/inspect/vercel-link.js.map +0 -1
- package/dist/lib/inspect/web.js.map +0 -1
- package/dist/lib/update-check.js.map +0 -1
|
@@ -26,7 +26,16 @@ export interface PageData<T> {
|
|
|
26
26
|
data: T[];
|
|
27
27
|
cursor: string | null | undefined;
|
|
28
28
|
hasMore: boolean;
|
|
29
|
+
pageInfo?: AnalyticsPageInfo;
|
|
29
30
|
}
|
|
31
|
+
export interface AnalyticsPageInfo {
|
|
32
|
+
currentLookbackDays: number;
|
|
33
|
+
maxLookbackDays: number;
|
|
34
|
+
currentWindowStart: Date | string;
|
|
35
|
+
maxWindowStart: Date | string;
|
|
36
|
+
upgradeAvailable: boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare const getPageInfoUpgradeHint: (pageInfo: AnalyticsPageInfo | undefined) => string | undefined;
|
|
30
39
|
/**
|
|
31
40
|
* Generic pagination handler for list operations
|
|
32
41
|
*/
|
|
@@ -42,7 +51,7 @@ export interface ListPaginationOptions<TData> {
|
|
|
42
51
|
/**
|
|
43
52
|
* Display function that renders the current page
|
|
44
53
|
*/
|
|
45
|
-
displayPage: (data: TData[], pageIndex: number) => void | Promise<void>;
|
|
54
|
+
displayPage: (data: TData[], pageIndex: number, page: PageData<TData>) => void | Promise<void>;
|
|
46
55
|
/**
|
|
47
56
|
* Optional callback for when fetching starts
|
|
48
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/pagination.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,eAAe,EACtB,WAAW,mBAAmB,KAC7B,CAAC,MAAM,IAAI,CAwDb,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,eAAe,SAsBzD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/pagination.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,eAAe,EACtB,WAAW,mBAAmB,KAC7B,CAAC,MAAM,IAAI,CAwDb,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,eAAe,SAsBzD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,IAAI,GAAG,MAAM,CAAC;IAClC,cAAc,EAAE,IAAI,GAAG,MAAM,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,sBAAsB,GACjC,UAAU,iBAAiB,GAAG,SAAS,KACtC,MAAM,GAAG,SASX,CAAC;AAWF;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpE;;OAEG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,KAAK,EAAE,EACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAClB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAC7C,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAiJf"}
|
|
@@ -78,6 +78,19 @@ export const showPaginationState = (state) => {
|
|
|
78
78
|
parts.push('[q] Quit (or Ctrl+C)');
|
|
79
79
|
logger.log(`\n${parts.join(' | ')}`);
|
|
80
80
|
};
|
|
81
|
+
export const getPageInfoUpgradeHint = (pageInfo) => {
|
|
82
|
+
if (!pageInfo?.upgradeAvailable ||
|
|
83
|
+
pageInfo.currentLookbackDays >= pageInfo.maxLookbackDays) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
return `Showing the last ${pageInfo.currentLookbackDays} days of workflow observability data. Upgrade Observability Plus to query up to ${pageInfo.maxLookbackDays} days.`;
|
|
87
|
+
};
|
|
88
|
+
const showPageInfoUpgradeHint = (pageInfo) => {
|
|
89
|
+
const hint = getPageInfoUpgradeHint(pageInfo);
|
|
90
|
+
if (hint) {
|
|
91
|
+
logger.info(hint);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
81
94
|
/**
|
|
82
95
|
* Setup pagination for list operations with page caching
|
|
83
96
|
*/
|
|
@@ -103,7 +116,8 @@ export async function setupListPagination(options) {
|
|
|
103
116
|
if (enableInteractive) {
|
|
104
117
|
console.clear();
|
|
105
118
|
}
|
|
106
|
-
await displayPage(page.data, index);
|
|
119
|
+
await displayPage(page.data, index, page);
|
|
120
|
+
showPageInfoUpgradeHint(page.pageInfo);
|
|
107
121
|
return page;
|
|
108
122
|
};
|
|
109
123
|
// Fetch and display first page
|
|
@@ -135,7 +149,8 @@ export async function setupListPagination(options) {
|
|
|
135
149
|
if (enableInteractive) {
|
|
136
150
|
console.clear();
|
|
137
151
|
}
|
|
138
|
-
await displayPage(cachedPage.data, pageIndex);
|
|
152
|
+
await displayPage(cachedPage.data, pageIndex, cachedPage);
|
|
153
|
+
showPageInfoUpgradeHint(cachedPage.pageInfo);
|
|
139
154
|
paginationState.cursor = cachedPage.cursor;
|
|
140
155
|
paginationState.hasMore = cachedPage.hasMore;
|
|
141
156
|
paginationState.hasPrevious = pageIndex > 0;
|
|
@@ -177,7 +192,8 @@ export async function setupListPagination(options) {
|
|
|
177
192
|
if (enableInteractive) {
|
|
178
193
|
console.clear();
|
|
179
194
|
}
|
|
180
|
-
await displayPage(prevPage.data, pageIndex);
|
|
195
|
+
await displayPage(prevPage.data, pageIndex, prevPage);
|
|
196
|
+
showPageInfoUpgradeHint(prevPage.pageInfo);
|
|
181
197
|
paginationState.cursor = prevPage.cursor;
|
|
182
198
|
paginationState.hasMore = prevPage.hasMore;
|
|
183
199
|
paginationState.hasPrevious = pageIndex > 0;
|
|
@@ -196,4 +212,4 @@ export async function setupListPagination(options) {
|
|
|
196
212
|
// Keep process alive
|
|
197
213
|
return new Promise(() => { });
|
|
198
214
|
}
|
|
199
|
-
//# sourceMappingURL=pagination.js.map
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW5zcGVjdC9wYWdpbmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFpQnBEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FDckMsS0FBc0IsRUFDdEIsU0FBOEIsRUFDaEIsRUFBRTtJQUNoQixJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztRQUNyQixPQUFPLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtJQUM1QyxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixRQUFRLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFFLEdBQVEsRUFBRSxFQUFFO1FBQ3pELElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUVqQixjQUFjO1FBQ2QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZELFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELG1CQUFtQjtRQUNuQixJQUNFLENBQUMsR0FBRyxDQUFDLElBQUks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QUFXLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQztnQkFDNUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxlQUFlLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQzFDLGdEQUFnRDtnQkFDaEQsZUFBZSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUMxRSxDQUFDO1lBRUQsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILHFCQUFxQjtJQUNyQixPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVyYWN0aXZlIHBhZ2luYXRpb24gZm9yIENMSSB0YWJsZXNcbiAqL1xuaW1wb3J0IHJlYWRsaW5lIGZyb20gJ25vZGU6cmVhZGxpbmUnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBpc0ludGVyYWN0aXZlIH0gZnJvbSAnLi90ZXJtaW5hbC11dGlscy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvblN0YXRlIHtcbiAgY3Vyc29yOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBoYXNNb3JlOiBib29sZWFuO1xuICBoYXNQcmV2aW91czogYm9vbGVhbjtcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBoYXNNb3JlUGFnZXNBdmFpbGFibGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbkNhbGxiYWNrcyB7XG4gIG9uTmV4dDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgb25QcmV2aW91czogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgb25FeGl0OiAoKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFNldHVwIGludGVyYWN0aXZlIHBhZ2luYXRpb24gbGlzdGVuZXJcbiAqL1xuZXhwb3J0IGNvbnN0IHNldHVwUGFnaW5hdGlvbkxpc3RlbmVyID0gKFxuICBzdGF0ZTogUGFnaW5hdGlvblN0YXRlLFxuICBjYWxsYmFja3M6IFBhZ2luYXRpb25DYWxsYmFja3Ncbik6ICgoKSA9PiB2b2lkKSA9PiB7XG4gIGlmICghaXNJbnRlcmFjdGl2ZSgpKSB7XG4gICAgcmV0dXJuICgpID0+IHt9OyAvLyBOby1vcCBjbGVhbnVwIGZ1bmN0aW9uXG4gIH1cblxuICAvLyBFbmFibGUgcmF3IG1vZGUgZm9yIGltbWVkaWF0ZSBrZXkgY2FwdHVyZVxuICBpZiAocHJvY2Vzcy5zdGRpbi5pc1RUWSkge1xuICAgIHJlYWRsaW5lLmVtaXRLZXlwcmVzc0V2ZW50cyhwcm9jZXNzLnN0ZGluKTtcbiAgICBwcm9jZXNzLnN0ZGluLnNldFJhd01vZGUodHJ1ZSk7XG4gIH1cblxuICBjb25zdCBrZXlwcmVzc0hhbmRsZXIgPSBhc3luYyAoX2NodW5rOiBzdHJpbmcsIGtleTogYW55KSA9PiB7XG4gICAgaWYgKCFrZXkpIHJldHVybjtcblxuICAgIC8vIEhhbmRsZSBleGl0XG4gICAgaWYgKGtleS5uYW1lID09PSAncScgfHwgKGtleS5jdHJsICYmIGtleS5uYW1lID09PSAnYycpKSB7XG4gICAgICBjYWxsYmFja3Mub25FeGl0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG5leHQgcGFnZVxuICAgIGlmIChcbiAgICAgIChrZXkubmFtZSA9PT0gJ24nICYmICFrZXkuY3RybCkgfHxcbiAgICAgIGtleS5uYW1lID09PSAncmlnaHQnIHx8XG4gICAgICBrZXkubmFtZSA9PT0gJ2Rvd24nXG4gICAgKSB7XG4gICAgICBpZiAoc3RhdGUuaGFzTW9yZSkge1xuICAgICAgICBhd2FpdCBjYWxsYmFja3Mub25OZXh0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2dnZXIud2FybignTm8gbW9yZSBwYWdlcyBhdmFpbGFibGUnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgcHJldmlvdXMgcGFnZVxuICAgIGlmIChcbiAgICAgIChrZXkubmFtZSA9PT0gJ3AnICYmICFrZXkuY3RybCkgfHxcbiAgICAgIGtleS5uYW1lID09PSAnbGVmdCcgfHxcbiAgICAgIGtleS5uYW1lID09PSAndXAnXG4gICAgKSB7XG4gICAgICAvLyBBbHdheXMgYWxsb3cgZ29pbmcgXCJwcmV2aW91c1wiIC0gb24gZmlyc3QgcGFnZSBpdCByZWxvYWRzXG4gICAgICBhd2FpdCBjYWxsYmFja3Mub25QcmV2aW91cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfTtcblxuICBwcm9jZXNzLnN0ZGluLm9uKCdrZXlwcmVzcycsIGtleXByZXNzSGFuZGxlcik7XG5cbiAgLy8gUmV0dXJuIGNsZWFudXAgZnVuY3Rpb25cbiAgcmV0dXJuICgpID0+IHtcbiAgICBwcm9jZXNzLnN0ZGluLm9mZigna2V5cHJlc3MnLCBrZXlwcmVzc0hhbmRsZXIpO1xuICAgIGlmIChwcm9jZXNzLnN0ZGluLmlzVFRZICYmIHByb2Nlc3Muc3RkaW4uaXNSYXcpIHtcbiAgICAgIHByb2Nlc3Muc3RkaW4uc2V0UmF3TW9kZShmYWxzZSk7XG4gICAgfVxuICAgIHByb2Nlc3Muc3RkaW4ucGF1c2UoKTtcbiAgfTtcbn07XG5cbi8qKlxuICogU2hvdyBwYWdpbmF0aW9uIHN0YXRlIGluZm9cbiAqL1xuZXhwb3J0IGNvbnN0IHNob3dQYWdpbmF0aW9uU3RhdGUgPSAoc3RhdGU6IFBhZ2luYXRpb25TdGF0ZSkgPT4ge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcblxuICAvLyBTaG93IHBhZ2UgaW5kaWNhdG9yXG4gIC8vIFVzZSBoYXNNb3JlUGFnZXNBdmFpbGFibGUgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGFyZSB1bmtub3duIHBhZ2VzIGJleW9uZCB3aGF0IHdlJ3ZlIGxvYWRlZFxuICBjb25zdCBwYWdlSW5kaWNhdG9yID0gc3RhdGUuaGFzTW9yZVBhZ2VzQXZhaWxhYmxlXG4gICAgPyBgUGFnZSAke3N0YXRlLmN1cnJlbnRQYWdlfSBvZiAke3N0YXRlLnRvdGFsUGFnZXN9K2BcbiAgICA6IGBQYWdlICR7c3RhdGUuY3VycmVudFBhZ2V9IG9mICR7c3RhdGUudG90YWxQYWdlc31gO1xuICBwYXJ0cy5wdXNoKHBhZ2VJbmRpY2F0b3IpO1xuXG4gIGlmIChzdGF0ZS5oYXNQcmV2aW91cykge1xuICAgIHBhcnRzLnB1c2goJ1twXSBQcmV2aW91cycpO1xuICB9IGVsc2Uge1xuICAgIHBhcnRzLnB1c2goJ1twXSBSZWxvYWQnKTtcbiAgfVxuXG4gIGlmIChzdGF0ZS5oYXNNb3JlKSB7XG4gICAgcGFydHMucHVzaCgnW25dIE5leHQnKTtcbiAgfVxuXG4gIHBhcnRzLnB1c2goJ1txXSBRdWl0IChvciBDdHJsK0MpJyk7XG4gIGxvZ2dlci5sb2coYFxcbiR7cGFydHMuam9pbignIHwgJyl9YCk7XG59O1xuXG4vKipcbiAqIFBhZ2UgZGF0YSBzdHJ1Y3R1cmUgZm9yIGNhY2hpbmcgcGFnaW5hdGVkIHJlc3VsdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWdlRGF0YTxUPiB7XG4gIGRhdGE6IFRbXTtcbiAgY3Vyc29yOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBoYXNNb3JlOiBib29sZWFuO1xuICBwYWdlSW5mbz86IEFuYWx5dGljc1BhZ2VJbmZvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5dGljc1BhZ2VJbmZvIHtcbiAgY3VycmVudExvb2tiYWNrRGF5czogbnVtYmVyO1xuICBtYXhMb29rYmFja0RheXM6IG51bWJlcjtcbiAgY3VycmVudFdpbmRvd1N0YXJ0OiBEYXRlIHwgc3RyaW5nO1xuICBtYXhXaW5kb3dTdGFydDogRGF0ZSB8IHN0cmluZztcbiAgdXBncmFkZUF2YWlsYWJsZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFBhZ2VJbmZvVXBncmFkZUhpbnQgPSAoXG4gIHBhZ2VJbmZvOiBBbmFseXRpY3NQYWdlSW5mbyB8IHVuZGVmaW5lZFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKFxuICAgICFwYWdlSW5mbz8udXBncmFkZUF2YWlsYWJsZSB8fFxuICAgIHBhZ2VJbmZvLmN1cnJlbnRMb29rYmFja0RheXMgPj0gcGFnZUluZm8ubWF4TG9va2JhY2tEYXlzXG4gICkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gYFNob3dpbmcgdGhlIGxhc3QgJHtwYWdlSW5mby5jdXJyZW50TG9va2JhY2tEYXlzfSBkYXlzIG9mIHdvcmtmbG93IG9ic2VydmFiaWxpdHkgZGF0YS4gVXBncmFkZSBPYnNlcnZhYmlsaXR5IFBsdXMgdG8gcXVlcnkgdXAgdG8gJHtwYWdlSW5mby5tYXhMb29rYmFja0RheXN9IGRheXMuYDtcbn07XG5cbmNvbnN0IHNob3dQYWdlSW5mb1VwZ3JhZGVIaW50ID0gKFxuICBwYWdlSW5mbzogQW5hbHl0aWNzUGFnZUluZm8gfCB1bmRlZmluZWRcbik6IHZvaWQgPT4ge1xuICBjb25zdCBoaW50ID0gZ2V0UGFnZUluZm9VcGdyYWRlSGludChwYWdlSW5mbyk7XG4gIGlmIChoaW50KSB7XG4gICAgbG9nZ2VyLmluZm8oaGludCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2VuZXJpYyBwYWdpbmF0aW9uIGhhbmRsZXIgZm9yIGxpc3Qgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYWdpbmF0aW9uT3B0aW9uczxURGF0YT4ge1xuICAvKipcbiAgICogSW5pdGlhbCBjdXJzb3IgZnJvbSBDTEkgb3B0aW9uc1xuICAgKi9cbiAgaW5pdGlhbEN1cnNvcj86IHN0cmluZztcblxuICAvKipcbiAgICogRmV0Y2ggZnVuY3Rpb24gdGhhdCByZXR1cm5zIHBhZ2luYXRlZCBkYXRhXG4gICAqL1xuICBmZXRjaFBhZ2U6IChjdXJzb3I6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gUHJvbWlzZTxQYWdlRGF0YTxURGF0YT4+O1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IGZ1bmN0aW9uIHRoYXQgcmVuZGVycyB0aGUgY3VycmVudCBwYWdlXG4gICAqL1xuICBkaXNwbGF5UGFnZTogKFxuICAgIGRhdGE6IFREYXRhW10sXG4gICAgcGFnZUluZGV4OiBudW1iZXIsXG4gICAgcGFnZTogUGFnZURhdGE8VERhdGE+XG4gICkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNhbGxiYWNrIGZvciB3aGVuIGZldGNoaW5nIHN0YXJ0c1xuICAgKi9cbiAgb25GZXRjaFN0YXJ0PzogKHBhZ2VJbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgaW50ZXJhY3RpdmUgcGFnaW5hdGlvbiB3aXRoIGtleWJvYXJkIGNvbnRyb2xzXG4gICAqL1xuICBpbnRlcmFjdGl2ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU2V0dXAgcGFnaW5hdGlvbiBmb3IgbGlzdCBvcGVyYXRpb25zIHdpdGggcGFnZSBjYWNoaW5nXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXR1cExpc3RQYWdpbmF0aW9uPFREYXRhPihcbiAgb3B0aW9uczogTGlzdFBhZ2luYXRpb25PcHRpb25zPFREYXRhPlxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgaW5pdGlhbEN1cnNvciwgZmV0Y2hQYWdlLCBkaXNwbGF5UGFnZSwgb25GZXRjaFN0YXJ0LCBpbnRlcmFjdGl2ZSB9ID1cbiAgICBvcHRpb25zO1xuXG4gIC8vIEludGVyYWN0aXZlIG1vZGUgcmVxdWlyZXMgYm90aCBUVFkgc3VwcG9ydCBhbmQgZXhwbGljaXQgLS1pbnRlcmFjdGl2ZSBmbGFnXG4gIGNvbnN0IGVuYWJsZUludGVyYWN0aXZlID0gaW50ZXJhY3RpdmUgJiYgaXNJbnRlcmFjdGl2ZSgpO1xuXG4gIC8vIFBhZ2VzIHN0YWNrIC0gc3RvcmVzIGFsbCBmZXRjaGVkIHBhZ2VzXG4gIGNvbnN0IHBhZ2VzOiBQYWdlRGF0YTxURGF0YT5bXSA9IFtdO1xuXG4gIC8vIEN1cnJlbnQgcGFnZSBpbmRleCAoMC1iYXNlZClcbiAgbGV0IHBhZ2VJbmRleCA9IDA7XG5cbiAgLyoqXG4gICAqIEZldGNoIGFuZCBkaXNwbGF5IGEgc3BlY2lmaWMgcGFnZVxuICAgKi9cbiAgY29uc3Qgc2hvd1BhZ2UgPSBhc3luYyAoaW5kZXg6IG51bWJlciwgY3Vyc29yPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG9uRmV0Y2hTdGFydCkge1xuICAgICAgb25GZXRjaFN0YXJ0KGluZGV4KTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWdlID0gYXdhaXQgZmV0Y2hQYWdlKGN1cnNvcik7XG4gICAgcGFnZXNbaW5kZXhdID0gcGFnZTtcbiAgICBwYWdlSW5kZXggPSBpbmRleDtcblxuICAgIC8vIENsZWFyIHNjcmVlbiBmb3Igc3Vic2VxdWVudCBwYWdlcyBpbiBpbnRlcmFjdGl2ZSBtb2RlXG4gICAgaWYgKGVuYWJsZUludGVyYWN0aXZlKSB7XG4gICAgICBjb25zb2xlLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgYXdhaXQgZGlzcGxheVBhZ2UocGFnZS5kYXRhLCBpbmRleCwgcGFnZSk7XG4gICAgc2hvd1BhZ2VJbmZvVXBncmFkZUhpbnQocGFnZS5wYWdlSW5mbyk7XG4gICAgcmV0dXJuIHBhZ2U7XG4gIH07XG5cbiAgLy8gRmV0Y2ggYW5kIGRpc3BsYXkgZmlyc3QgcGFnZVxuICBjb25zdCBmaXJzdFBhZ2UgPSBhd2FpdCBzaG93UGFnZSgwLCBpbml0aWFsQ3Vyc29yKTtcblxuICAvLyBJbiBub24taW50ZXJhY3RpdmUgbW9kZSwgc2hvdyBpbmZvIGlmIHRoZXJlIGFyZSBtb3JlIHBhZ2VzXG4gIGlmICghZW5hYmxlSW50ZXJhY3RpdmUpIHtcbiAgICBpZiAoZmlyc3RQYWdlLmhhc01vcmUpIHtcbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAnXFxuTW9yZSByZXN1bHRzIGF2YWlsYWJsZS4gVXNlIC0taW50ZXJhY3RpdmUgKC1pKSB0byBwYWdpbmF0ZSB0aHJvdWdoIHJlc3VsdHMuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gU2V0dXAgcGFnaW5hdGlvbiBzdGF0ZVxuICBjb25zdCBwYWdpbmF0aW9uU3RhdGU6IFBhZ2luYXRpb25TdGF0ZSA9IHtcbiAgICBjdXJzb3I6IGZpcnN0UGFnZS5jdXJzb3IsXG4gICAgaGFzTW9yZTogZmlyc3RQYWdlLmhhc01vcmUsXG4gICAgaGFzUHJldmlvdXM6IGZhbHNlLFxuICAgIGN1cnJlbnRQYWdlOiAxLFxuICAgIHRvdGFsUGFnZXM6IDEsXG4gICAgaGFzTW9yZVBhZ2VzQXZhaWxhYmxlOiBmaXJzdFBhZ2UuaGFzTW9yZSxcbiAgfTtcblxuICBzaG93UGFnaW5hdGlvblN0YXRlKHBhZ2luYXRpb25TdGF0ZSk7XG5cbiAgY29uc3QgY2xlYW51cCA9IHNldHVwUGFnaW5hdGlvbkxpc3RlbmVyKHBhZ2luYXRpb25TdGF0ZSwge1xuICAgIG9uTmV4dDogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbmV3UGFnZUluZGV4ID0gcGFnZUluZGV4ICsgMTtcblxuICAgICAgLy8gQ2hlY2sgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgcGFnZSBjYWNoZWRcbiAgICAgIGlmIChwYWdlc1tuZXdQYWdlSW5kZXhdKSB7XG4gICAgICAgIHBhZ2VJbmRleCA9IG5ld1BhZ2VJbmRleDtcbiAgICAgICAgY29uc3QgY2FjaGVkUGFnZSA9IHBhZ2VzW25ld1BhZ2VJbmRleF07XG5cbiAgICAgICAgaWYgKGVuYWJsZUludGVyYWN0aXZlKSB7XG4gICAgICAgICAgY29uc29sZS5jbGVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgZGlzcGxheVBhZ2UoY2FjaGVkUGFnZS5kYXRhLCBwYWdlSW5kZXgsIGNhY2hlZFBhZ2UpO1xuICAgICAgICBzaG93UGFnZUluZm9VcGdyYWRlSGludChjYWNoZWRQYWdlLnBhZ2VJbmZvKTtcblxuICAgICAgICBwYWdpbmF0aW9uU3RhdGUuY3Vyc29yID0gY2FjaGVkUGFnZS5jdXJzb3I7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5oYXNNb3JlID0gY2FjaGVkUGFnZS5oYXNNb3JlO1xuICAgICAgICBwYWdpbmF0aW9uU3RhdGUuaGFzUHJldmlvdXMgPSBwYWdlSW5kZXggPiAwO1xuICAgICAgICBwYWdpbmF0aW9uU3RhdGUuY3VycmVudFBhZ2UgPSBwYWdlSW5kZXggKyAxO1xuICAgICAgICBwYWdpbmF0aW9uU3RhdGUudG90YWxQYWdlcyA9IHBhZ2VzLmxlbmd0aDtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGxhc3QgcGFnZSBpbiBjYWNoZSBoYXMgbW9yZSBkYXRhXG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5oYXNNb3JlUGFnZXNBdmFpbGFibGUgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXS5oYXNNb3JlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRmV0Y2ggbmV3IHBhZ2UgdXNpbmcgY3Vyc29yIGZyb20gY3VycmVudCBwYWdlXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gcGFnZXNbcGFnZUluZGV4XTtcbiAgICAgICAgY29uc3QgbmV4dFBhZ2UgPSBhd2FpdCBzaG93UGFnZShcbiAgICAgICAgICBuZXdQYWdlSW5kZXgsXG4gICAgICAgICAgY3VycmVudFBhZ2UuY3Vyc29yIHx8IHVuZGVmaW5lZFxuICAgICAgICApO1xuXG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5jdXJzb3IgPSBuZXh0UGFnZS5jdXJzb3I7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5oYXNNb3JlID0gbmV4dFBhZ2UuaGFzTW9yZTtcbiAgICAgICAgcGFnaW5hdGlvblN0YXRlLmhhc1ByZXZpb3VzID0gcGFnZUluZGV4ID4gMDtcbiAgICAgICAgcGFnaW5hdGlvblN0YXRlLmN1cnJlbnRQYWdlID0gcGFnZUluZGV4ICsgMTtcbiAgICAgICAgcGFnaW5hdGlvblN0YXRlLnRvdGFsUGFnZXMgPSBwYWdlcy5sZW5ndGg7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBsYXN0IHBhZ2UgaW4gY2FjaGUgaGFzIG1vcmUgZGF0YVxuICAgICAgICBwYWdpbmF0aW9uU3RhdGUuaGFzTW9yZVBhZ2VzQXZhaWxhYmxlID0gcGFnZXNbcGFnZXMubGVuZ3RoIC0gMV0uaGFzTW9yZTtcbiAgICAgIH1cblxuICAgICAgc2hvd1BhZ2luYXRpb25TdGF0ZShwYWdpbmF0aW9uU3RhdGUpO1xuICAgIH0sXG4gICAgb25QcmV2aW91czogYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gU3BlY2lhbCBjYXNlOiBvbiBmaXJzdCBwYWdlLCByZWxvYWRcbiAgICAgIGlmIChwYWdlSW5kZXggPT09IDApIHtcbiAgICAgICAgcGFnZXMubGVuZ3RoID0gMDsgLy8gQ2xlYXIgY2FjaGVcbiAgICAgICAgY29uc3QgcmVsb2FkZWRQYWdlID0gYXdhaXQgc2hvd1BhZ2UoMCwgaW5pdGlhbEN1cnNvcik7XG5cbiAgICAgICAgcGFnaW5hdGlvblN0YXRlLmN1cnNvciA9IHJlbG9hZGVkUGFnZS5jdXJzb3I7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5oYXNNb3JlID0gcmVsb2FkZWRQYWdlLmhhc01vcmU7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5oYXNQcmV2aW91cyA9IGZhbHNlO1xuICAgICAgICBwYWdpbmF0aW9uU3RhdGUuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICBwYWdpbmF0aW9uU3RhdGUudG90YWxQYWdlcyA9IDE7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5oYXNNb3JlUGFnZXNBdmFpbGFibGUgPSByZWxvYWRlZFBhZ2UuaGFzTW9yZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEdvIHRvIHByZXZpb3VzIGNhY2hlZCBwYWdlXG4gICAgICAgIHBhZ2VJbmRleC0tO1xuICAgICAgICBjb25zdCBwcmV2UGFnZSA9IHBhZ2VzW3BhZ2VJbmRleF07XG5cbiAgICAgICAgaWYgKGVuYWJsZUludGVyYWN0aXZlKSB7XG4gICAgICAgICAgY29uc29sZS5jbGVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgZGlzcGxheVBhZ2UocHJldlBhZ2UuZGF0YSwgcGFnZUluZGV4LCBwcmV2UGFnZSk7XG4gICAgICAgIHNob3dQYWdlSW5mb1VwZ3JhZGVIaW50KHByZXZQYWdlLnBhZ2VJbmZvKTtcblxuICAgICAgICBwYWdpbmF0aW9uU3RhdGUuY3Vyc29yID0gcHJldlBhZ2UuY3Vyc29yO1xuICAgICAgICBwYWdpbmF0aW9uU3RhdGUuaGFzTW9yZSA9IHByZXZQYWdlLmhhc01vcmU7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5oYXNQcmV2aW91cyA9IHBhZ2VJbmRleCA+IDA7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS5jdXJyZW50UGFnZSA9IHBhZ2VJbmRleCArIDE7XG4gICAgICAgIHBhZ2luYXRpb25TdGF0ZS50b3RhbFBhZ2VzID0gcGFnZXMubGVuZ3RoO1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgbGFzdCBwYWdlIGluIGNhY2hlIGhhcyBtb3JlIGRhdGFcbiAgICAgICAgcGFnaW5hdGlvblN0YXRlLmhhc01vcmVQYWdlc0F2YWlsYWJsZSA9IHBhZ2VzW3BhZ2VzLmxlbmd0aCAtIDFdLmhhc01vcmU7XG4gICAgICB9XG5cbiAgICAgIHNob3dQYWdpbmF0aW9uU3RhdGUocGFnaW5hdGlvblN0YXRlKTtcbiAgICB9LFxuICAgIG9uRXhpdDogKCkgPT4ge1xuICAgICAgY2xlYW51cCgpO1xuICAgICAgcHJvY2Vzcy5leGl0KDApO1xuICAgIH0sXG4gIH0pO1xuXG4gIC8vIEtlZXAgcHJvY2VzcyBhbGl2ZVxuICByZXR1cm4gbmV3IFByb21pc2UoKCkgPT4ge30pO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI7C,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAaD,eAAO,MAAM,QAAQ,GACnB,OAAO,KAAK,EACZ,qBAAqB,MAAM,EAC3B,MAAM,aAAa,EACnB,MAAM,MAAM,EAAE,kBAuFf,CAAC"}
|
package/dist/lib/inspect/run.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { start } from '@workflow/core/runtime';
|
|
2
2
|
import { healthCheck } from '@workflow/core/runtime/helpers';
|
|
3
3
|
import { logger } from '../config/log.js';
|
|
4
|
+
import { planWindowStartFromResponse } from './time-window.js';
|
|
4
5
|
const getWorkflowName = async (world, runNameOrId) => {
|
|
5
6
|
if (runNameOrId.startsWith('wrun_')) {
|
|
6
7
|
const run = await world.runs.get(runNameOrId);
|
|
@@ -21,6 +22,8 @@ export const startRun = async (world, workflowNameOrRunId, opts, args) => {
|
|
|
21
22
|
throw error;
|
|
22
23
|
}
|
|
23
24
|
});
|
|
25
|
+
// Only deployment/spec metadata is needed to start a new run, so this
|
|
26
|
+
// accepts either a full run record or an analytics (metadata-only) row.
|
|
24
27
|
let run;
|
|
25
28
|
// If the workflowNameOrRunId is a run ID, get the run
|
|
26
29
|
if (workflowNameOrRunId.startsWith('wrun_')) {
|
|
@@ -28,15 +31,35 @@ export const startRun = async (world, workflowNameOrRunId, opts, args) => {
|
|
|
28
31
|
}
|
|
29
32
|
else {
|
|
30
33
|
// Get the first run for that name, hopefully the newest deployment,
|
|
31
|
-
// but can't guarantee that.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
limit: 1,
|
|
37
|
-
}
|
|
38
|
-
|
|
34
|
+
// but can't guarantee that. This is metadata only, so prefer the
|
|
35
|
+
// analytics read path when the backend provides one.
|
|
36
|
+
const runList = world.analytics
|
|
37
|
+
? await world.analytics.runs.list({
|
|
38
|
+
workflowName: workflowNameOrRunId,
|
|
39
|
+
pagination: { sortOrder: 'desc', limit: 1 },
|
|
40
|
+
})
|
|
41
|
+
: await world.runs.list({
|
|
42
|
+
workflowName: workflowNameOrRunId,
|
|
43
|
+
pagination: { sortOrder: 'desc', limit: 1 },
|
|
44
|
+
resolveData: 'none',
|
|
45
|
+
});
|
|
39
46
|
run = runList.data[0];
|
|
47
|
+
// The analytics backend defaults its listing to a recent window
|
|
48
|
+
// (trailing 24h on the Vercel backend). When the name wasn't found
|
|
49
|
+
// there, retry across the plan's whole observability window using the
|
|
50
|
+
// window bounds from the response's page metadata.
|
|
51
|
+
if (!run && world.analytics) {
|
|
52
|
+
const windowStart = planWindowStartFromResponse(runList);
|
|
53
|
+
if (windowStart) {
|
|
54
|
+
const widened = await world.analytics.runs.list({
|
|
55
|
+
workflowName: workflowNameOrRunId,
|
|
56
|
+
startTime: windowStart,
|
|
57
|
+
endTime: new Date().toISOString(),
|
|
58
|
+
pagination: { sortOrder: 'desc', limit: 1 },
|
|
59
|
+
});
|
|
60
|
+
run = widened.data[0];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
40
63
|
}
|
|
41
64
|
if (!run) {
|
|
42
65
|
throw new Error(`Run "${workflowNameOrRunId}" not found`);
|
|
@@ -49,7 +72,7 @@ export const startRun = async (world, workflowNameOrRunId, opts, args) => {
|
|
|
49
72
|
// (e.g. old deployment without health check support).
|
|
50
73
|
let specVersion = run.specVersion;
|
|
51
74
|
try {
|
|
52
|
-
const hc = await healthCheck(world,
|
|
75
|
+
const hc = await healthCheck(world, {
|
|
53
76
|
deploymentId,
|
|
54
77
|
timeout: 10_000,
|
|
55
78
|
});
|
|
@@ -71,4 +94,4 @@ export const startRun = async (world, workflowNameOrRunId, opts, args) => {
|
|
|
71
94
|
logger.log(newRun);
|
|
72
95
|
}
|
|
73
96
|
};
|
|
74
|
-
//# sourceMappingURL=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU8vRCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsS0FBWSxFQUFFLFdBQW1CLEVBQUUsRUFBRTtJQUNsRSxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxXQUFXLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQzNCLEtBQVksRUFDWixtQkFBMkIsRUFDM0IsSUFBbUIsRUFDbkIsSUFBYyxFQUNkLEVBQUU7SUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElB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RCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUU7UUFDbkQsWUFBWTtRQUNaLFdBQVc7S0FDWixDQUFDLENBQUM7SUFFSCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQixDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RhcnQgfSBmcm9tICdAd29ya2Zsb3cvY29yZS9ydW50aW1lJztcbmltcG9ydCB7IGhlYWx0aENoZWNrIH0gZnJvbSAnQHdvcmtmbG93L2NvcmUvcnVudGltZS9oZWxwZXJzJztcbmltcG9ydCB0eXBlIHsgV29ybGQgfSBmcm9tICdAd29ya2Zsb3cvd29ybGQnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBwbGFuV2luZG93U3RhcnRGcm9tUmVzcG9uc2UgfSBmcm9tICcuL3RpbWUtd2luZG93LmpzJztcblxuaW50ZXJmYWNlIENMSUNyZWF0ZU9wdHMge1xuICBqc29uPzogYm9vbGVhbjtcbiAgdmVyYm9zZT86IGJvb2xlYW47XG59XG5cbmNvbnN0IGdldFdvcmtmbG93TmFtZSA9IGFzeW5jICh3b3JsZDogV29ybGQsIHJ1bk5hbWVPcklkOiBzdHJpbmcpID0+IHtcbiAgaWYgKHJ1bk5hbWVPcklkLnN0YXJ0c1dpdGgoJ3dydW5fJykpIHtcbiAgICBjb25zdCBydW4gPSBhd2FpdCB3b3JsZC5ydW5zLmdldChydW5OYW1lT3JJZCk7XG4gICAgaWYgKCFydW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUnVuICR7cnVuTmFtZU9ySWR9IG5vdCBmb3VuZGApO1xuICAgIH1cbiAgICByZXR1cm4gcnVuLndvcmtmbG93TmFtZTtcbiAgfVxuICByZXR1cm4gcnVuTmFtZU9ySWQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhcnRSdW4gPSBhc3luYyAoXG4gIHdvcmxkOiBXb3JsZCxcbiAgd29ya2Zsb3dOYW1lT3JSdW5JZDogc3RyaW5nLFxuICBvcHRzOiBDTElDcmVhdGVPcHRzLFxuICBhcmdzOiBzdHJpbmdbXVxuKSA9PiB7XG4gIGNvbnN0IGpzb25BcmdzID0gYXJncy5tYXAoKGFyZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShhcmcpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIud2FybihgRmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IFwiJHthcmd9XCIgYXMgSlNPTjogJHtlcnJvcn1gKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gT25seSBkZXBsb3ltZW50L3NwZWMgbWV0YWRhdGEgaXMgbmVlZGVkIHRvIHN0YXJ0IGEgbmV3IHJ1biwgc28gdGhpc1xuICAvLyBhY2NlcHRzIGVpdGhlciBhIGZ1bGwgcnVuIHJlY29yZCBvciBhbiBhbmFseXRpY3MgKG1ldGFkYXRhLW9ubHkpIHJvdy5cbiAgbGV0IHJ1bjpcbiAgICB8IHsgZGVwbG95bWVudElkOiBzdHJpbmc7IHNwZWNWZXJzaW9uPzogbnVtYmVyOyB3b3JrZmxvd05hbWU6IHN0cmluZyB9XG4gICAgfCB1bmRlZmluZWQ7XG4gIC8vIElmIHRoZSB3b3JrZmxvd05hbWVPclJ1bklkIGlzIGEgcnVuIElELCBnZXQgdGhlIHJ1blxuICBpZiAod29ya2Zsb3dOYW1lT3JSdW5JZC5zdGFydHNXaXRoKCd3cnVuXycpKSB7XG4gICAgcnVuID0gYXdhaXQgd29ybGQucnVucy5nZXQod29ya2Zsb3dOYW1lT3JSdW5JZCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gR2V0IHRoZSBmaXJzdCBydW4gZm9yIHRoYXQgbmFtZSwgaG9wZWZ1bGx5IHRoZSBuZXdlc3QgZGVwbG95bWVudCxcbiAgICAvLyBidXQgY2FuJ3QgZ3VhcmFudGVlIHRoYXQuIFRoaXMgaXMgbWV0YWRhdGEgb25seSwgc28gcHJlZmVyIHRoZVxuICAgIC8vIGFuYWx5dGljcyByZWFkIHBhdGggd2hlbiB0aGUgYmFja2VuZCBwcm92aWRlcyBvbmUuXG4gICAgY29uc3QgcnVuTGlzdCA9IHdvcmxkLmFuYWx5dGljc1xuICAgICAgPyBhd2FpdCB3b3JsZC5hbmFseXRpY3MucnVucy5saXN0KHtcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93TmFtZU9yUnVuSWQsXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBzb3J0T3JkZXI6ICdkZXNjJywgbGltaXQ6IDEgfSxcbiAgICAgICAgfSlcbiAgICAgIDogYXdhaXQgd29ybGQucnVucy5saXN0KHtcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93TmFtZU9yUnVuSWQsXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBzb3J0T3JkZXI6ICdkZXNjJywgbGltaXQ6IDEgfSxcbiAgICAgICAgICByZXNvbHZlRGF0YTogJ25vbmUnLFxuICAgICAgICB9KTtcbiAgICBydW4gPSBydW5MaXN0LmRhdGFbMF07XG5cbiAgICAvLyBUaGUgYW5hbHl0aWNzIGJhY2tlbmQgZGVmYXVsdHMgaXRzIGxpc3RpbmcgdG8gYSByZWNlbnQgd2luZG93XG4gICAgLy8gKHRyYWlsaW5nIDI0aCBvbiB0aGUgVmVyY2VsIGJhY2tlbmQpLiBXaGVuIHRoZSBuYW1lIHdhc24ndCBmb3VuZFxuICAgIC8vIHRoZXJlLCByZXRyeSBhY3Jvc3MgdGhlIHBsYW4ncyB3aG9sZSBvYnNlcnZhYmlsaXR5IHdpbmRvdyB1c2luZyB0aGVcbiAgICAvLyB3aW5kb3cgYm91bmRzIGZyb20gdGhlIHJlc3BvbnNlJ3MgcGFnZSBtZXRhZGF0YS5cbiAgICBpZiAoIXJ1biAmJiB3b3JsZC5hbmFseXRpY3MpIHtcbiAgICAgIGNvbnN0IHdpbmRvd1N0YXJ0ID0gcGxhbldpbmRvd1N0YXJ0RnJvbVJlc3BvbnNlKHJ1bkxpc3QpO1xuICAgICAgaWYgKHdpbmRvd1N0YXJ0KSB7XG4gICAgICAgIGNvbnN0IHdpZGVuZWQgPSBhd2FpdCB3b3JsZC5hbmFseXRpY3MucnVucy5saXN0KHtcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93TmFtZU9yUnVuSWQsXG4gICAgICAgICAgc3RhcnRUaW1lOiB3aW5kb3dTdGFydCxcbiAgICAgICAgICBlbmRUaW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBzb3J0T3JkZXI6ICdkZXNjJywgbGltaXQ6IDEgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJ1biA9IHdpZGVuZWQuZGF0YVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoIXJ1bikge1xuICAgIHRocm93IG5ldyBFcnJvcihgUnVuIFwiJHt3b3JrZmxvd05hbWVPclJ1bklkfVwiIG5vdCBmb3VuZGApO1xuICB9XG5cbiAgY29uc3QgZGVwbG95bWVudElkID0gcnVuLmRlcGxveW1lbnRJZDtcbiAgY29uc3Qgd29ya2Zsb3dJZCA9IGF3YWl0IGdldFdvcmtmbG93TmFtZSh3b3JsZCwgd29ya2Zsb3dOYW1lT3JSdW5JZCk7XG5cbiAgLy8gUHJvYmUgdGhlIGRlcGxveW1lbnQncyBzcGVjVmVyc2lvbiB2aWEgaGVhbHRoIGNoZWNrIHNvIHdlIHVzZSB0aGVcbiAgLy8gY29ycmVjdCBxdWV1ZSB0cmFuc3BvcnQgKEpTT04gZm9yIG9sZCBkZXBsb3ltZW50cywgQ0JPUiBmb3IgbmV3KS5cbiAgLy8gRmFsbHMgYmFjayB0byB0aGUgcnVuJ3Mgc3BlY1ZlcnNpb24gaWYgdGhlIGhlYWx0aCBjaGVjayBmYWlsc1xuICAvLyAoZS5nLiBvbGQgZGVwbG95bWVudCB3aXRob3V0IGhlYWx0aCBjaGVjayBzdXBwb3J0KS5cbiAgbGV0IHNwZWNWZXJzaW9uID0gcnVuLnNwZWNWZXJzaW9uO1xuICB0cnkge1xuICAgIGNvbnN0IGhjID0gYXdhaXQgaGVhbHRoQ2hlY2sod29ybGQsIHtcbiAgICAgIGRlcGxveW1lbnRJZCxcbiAgICAgIHRpbWVvdXQ6IDEwXzAwMCxcbiAgICB9KTtcbiAgICBpZiAoaGMuaGVhbHRoeSAmJiBoYy5zcGVjVmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICBzcGVjVmVyc2lvbiA9IGhjLnNwZWNWZXJzaW9uO1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgLy8gSGVhbHRoIGNoZWNrIGZhaWxlZCDigJQgdXNlIHJ1bidzIHNwZWNWZXJzaW9uIGFzIGZhbGxiYWNrXG4gIH1cblxuICBjb25zdCBuZXdSdW4gPSBhd2FpdCBzdGFydCh7IHdvcmtmbG93SWQgfSwganNvbkFyZ3MsIHtcbiAgICBkZXBsb3ltZW50SWQsXG4gICAgc3BlY1ZlcnNpb24sXG4gIH0pO1xuXG4gIGlmIChvcHRzLmpzb24pIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShKU09OLnN0cmluZ2lmeShuZXdSdW4sIG51bGwsIDIpKTtcbiAgfSBlbHNlIHtcbiAgICBsb2dnZXIubG9nKG5ld1J1bik7XG4gIH1cbn07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/setup.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAc7C;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO;IACL,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,EACD,SAAS,MAAM,EACf,qCAAmC,0BA8GpC,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { setWorld } from '@workflow/core/runtime';
|
|
2
5
|
import { isVercelWorldTarget } from '@workflow/utils';
|
|
3
|
-
import {
|
|
6
|
+
import { createWorld as createLocalCliWorld } from '@workflow/world-local';
|
|
7
|
+
import { createWorld as createVercelCliWorld } from '@workflow/world-vercel';
|
|
4
8
|
import chalk from 'chalk';
|
|
5
9
|
import terminalLink from 'terminal-link';
|
|
6
10
|
import { logger, setJsonMode, setVerboseMode } from '../config/log.js';
|
|
@@ -16,7 +20,7 @@ export const setupCliWorld = async (flags, version, ignoreLocalWorldConfigError
|
|
|
16
20
|
setVerboseMode(Boolean(flags.verbose));
|
|
17
21
|
// Check for updates
|
|
18
22
|
const updateCheck = await checkForUpdateCached(version);
|
|
19
|
-
const withAnsiLinks = flags.json
|
|
23
|
+
const withAnsiLinks = !flags.json;
|
|
20
24
|
const docsUrl = withAnsiLinks
|
|
21
25
|
? terminalLink('https://workflow-sdk.dev/', 'https://workflow-sdk.dev/')
|
|
22
26
|
: 'https://workflow-sdk.dev/';
|
|
@@ -73,7 +77,7 @@ export const setupCliWorld = async (flags, version, ignoreLocalWorldConfigError
|
|
|
73
77
|
if (vercelEnvVars) {
|
|
74
78
|
// Build the Vercel world directly from the inferred config, rather than
|
|
75
79
|
// relying on createWorld() reading process.env.
|
|
76
|
-
world =
|
|
80
|
+
world = createVercelCliWorld({
|
|
77
81
|
token: vercelEnvVars.token,
|
|
78
82
|
projectConfig: {
|
|
79
83
|
environment: vercelEnvVars.environment,
|
|
@@ -83,11 +87,43 @@ export const setupCliWorld = async (flags, version, ignoreLocalWorldConfigError
|
|
|
83
87
|
},
|
|
84
88
|
});
|
|
85
89
|
}
|
|
90
|
+
else if (flags.backend === 'local' ||
|
|
91
|
+
flags.backend === '@workflow/world-local') {
|
|
92
|
+
world = createLocalCliWorld();
|
|
93
|
+
}
|
|
86
94
|
else {
|
|
87
|
-
world = await
|
|
95
|
+
world = await createDynamicCliWorld(flags.backend);
|
|
88
96
|
}
|
|
89
97
|
// Store in the global cache so BaseCommand.finally() can find and close it.
|
|
90
98
|
setWorld(world);
|
|
91
99
|
return world;
|
|
92
100
|
};
|
|
93
|
-
|
|
101
|
+
/**
|
|
102
|
+
* Construct a world from its package (e.g. `@workflow/world-postgres` or a
|
|
103
|
+
* community world), resolved from the user's project directory. The vercel
|
|
104
|
+
* and local worlds are direct dependencies and constructed explicitly above;
|
|
105
|
+
* every other backend is loaded dynamically so third-party worlds keep
|
|
106
|
+
* working without being dependencies of the CLI.
|
|
107
|
+
*/
|
|
108
|
+
async function createDynamicCliWorld(backendId) {
|
|
109
|
+
const cwd = process.cwd();
|
|
110
|
+
let worldPath;
|
|
111
|
+
try {
|
|
112
|
+
worldPath = createRequire(join(cwd, 'package.json')).resolve(backendId, {
|
|
113
|
+
paths: [cwd],
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
throw new Error(`Could not resolve workflow backend package "${backendId}" from "${cwd}". ` +
|
|
118
|
+
'Make sure the package is installed in your project.');
|
|
119
|
+
}
|
|
120
|
+
const mod = (await import(pathToFileURL(worldPath).href));
|
|
121
|
+
// Fall back to default.createWorld for CJS packages whose named exports
|
|
122
|
+
// aren't statically detectable by cjs-module-lexer.
|
|
123
|
+
const createWorldFn = mod.createWorld ?? mod.default?.createWorld;
|
|
124
|
+
if (typeof createWorldFn !== 'function') {
|
|
125
|
+
throw new Error(`Workflow backend package "${backendId}" does not export createWorld().`);
|
|
126
|
+
}
|
|
127
|
+
return createWorldFn();
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3Qvc2V0dXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLElBQUksbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxJQUFJLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0UsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUVsQixZQUFZLEdBQ2IsTUFBTSxVQUFVLENBQUM7QUFFbEI7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ2hDLEtBUUMsRUFDRCxPQUFlLEVBQ2YsMkJBQTJCLEdBQUcsS0FBSyxFQUNuQyxFQUFFO0lBQ0YsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRXZDLG9CQUFv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QUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUd2RCxDQUFDO0lBQ0Ysd0VBQXdFO0lBQ3hFLG9EQUFvRDtJQUNwRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQ2xFLElBQUksT0FBTyxhQUFhLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw2QkFBNkIsU0FBUyxrQ0FBa0MsQ0FDekUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLGFBQWEsRUFBRSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgc2V0V29ybGQgfSBmcm9tICdAd29ya2Zsb3cvY29yZS9ydW50aW1lJztcbmltcG9ydCB7IGlzVmVyY2VsV29ybGRUYXJnZXQgfSBmcm9tICdAd29ya2Zsb3cvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBXb3JsZCB9IGZyb20gJ0B3b3JrZmxvdy93b3JsZCc7XG5pbXBvcnQgeyBjcmVhdGVXb3JsZCBhcyBjcmVhdGVMb2NhbENsaVdvcmxkIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkLWxvY2FsJztcbmltcG9ydCB7IGNyZWF0ZVdvcmxkIGFzIGNyZWF0ZVZlcmNlbENsaVdvcmxkIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkLXZlcmNlbCc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHRlcm1pbmFsTGluayBmcm9tICd0ZXJtaW5hbC1saW5rJztcbmltcG9ydCB7IGxvZ2dlciwgc2V0SnNvbk1vZGUsIHNldFZlcmJvc2VNb2RlIH0gZnJvbSAnLi4vY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBjaGVja0ZvclVwZGF0ZUNhY2hlZCB9IGZyb20gJy4uL3VwZGF0ZS1jaGVjay5qcyc7XG5pbXBvcnQge1xuICBpbmZlckxvY2FsV29ybGRFbnZWYXJzLFxuICBpbmZlclZlcmNlbEVudlZhcnMsXG4gIHR5cGUgVmVyY2VsRW52VmFycyxcbiAgd3JpdGVFbnZWYXJzLFxufSBmcm9tICcuL2Vudi5qcyc7XG5cbi8qKlxuICogU2V0dXAgQ0xJIHdvcmxkIGNvbmZpZ3VyYXRpb24uXG4gKiBJZiB0aHJvd09uQ29uZmlnRXJyb3IgaXMgZmFsc2UsIHdpbGwgcmV0dXJuIG51bGwgd29ybGQgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZVxuICogaW5zdGVhZCBvZiB0aHJvd2luZywgYWxsb3dpbmcgdGhlIHdlYiBVSSB0byBvcGVuIGZvciBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY29uc3Qgc2V0dXBDbGlXb3JsZCA9IGFzeW5jIChcbiAgZmxhZ3M6IHtcbiAgICBqc29uOiBib29sZWFuO1xuICAgIHZlcmJvc2U6IGJvb2xlYW47XG4gICAgYmFja2VuZDogc3RyaW5nO1xuICAgIGVudjogc3RyaW5nO1xuICAgIGF1dGhUb2tlbjogc3RyaW5nO1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICB0ZWFtOiBzdHJpbmc7XG4gIH0sXG4gIHZlcnNpb246IHN0cmluZyxcbiAgaWdub3JlTG9jYWxXb3JsZENvbmZpZ0Vycm9yID0gZmFsc2VcbikgPT4ge1xuICBzZXRKc29uTW9kZShCb29sZWFuKGZsYWdzLmpzb24pKTtcbiAgc2V0VmVyYm9zZU1vZGUoQm9vbGVhbihmbGFncy52ZXJib3NlKSk7XG5cbiAgLy8gQ2hlY2sgZm9yIHVwZGF0ZXNcbiAgY29uc3QgdXBkYXRlQ2hlY2sgPSBhd2FpdCBjaGVja0ZvclVwZGF0ZUNhY2hlZCh2ZXJzaW9uKTtcblxuICBjb25zdCB3aXRoQW5zaUxpbmtzID0gIWZsYWdzLmpzb247XG4gIGNvbnN0IGRvY3NVcmwgPSB3aXRoQW5zaUxpbmtzXG4gICAgPyB0ZXJtaW5hbExpbmsoJ2h0dHBzOi8vd29ya2Zsb3ctc2RrLmRldi8nLCAnaHR0cHM6Ly93b3JrZmxvdy1zZGsuZGV2LycpXG4gICAgOiAnaHR0cHM6Ly93b3JrZmxvdy1zZGsuZGV2Lyc7XG5cbiAgLy8gUHJlcGFyZSBzaG93Qm94IGxpbmVzXG4gIGNvbnN0IGJveExpbmVzID0gW1xuICAgIGBXb3JrZmxvdyBDTEkgdiR7dmVyc2lvbn1gLFxuICAgIGBEb2NzIGF0ICR7ZG9jc1VybH1gLFxuICAgIGNoYWxrLnllbGxvdygnVGhpcyBpcyBhIGJldGEgcmVsZWFzZScpLFxuICBdO1xuXG4gIC8vIEFkZCB1cGRhdGUgbWVzc2FnZSBpZiBhdmFpbGFibGVcbiAgaWYgKHVwZGF0ZUNoZWNrLm5lZWRzVXBkYXRlICYmIHVwZGF0ZUNoZWNrLmxhdGVzdFZlcnNpb24pIHtcbiAgICBib3hMaW5lcy5wdXNoKFxuICAgICAgJycsXG4gICAgICBjaGFsay5jeWFuKFxuICAgICAgICBgVXBkYXRlIGF2YWlsYWJsZTogJHt1cGRhdGVDaGVjay5jdXJyZW50VmVyc2lvbn0g4oaSICR7dXBkYXRlQ2hlY2subGF0ZXN0VmVyc2lvbn1gXG4gICAgICApLFxuICAgICAgLy8gTm90ZSB0aGF0IHdlJ3JlIHN1Z2dlc3RpbmcgaW5zdGFsbCBcImxhdGVzdFwiIGluc3RlYWQgb2YgdGhlIHJlbGVhc2UgdGFnIHRoYXQgdGhlIHVzZXIgaXNcbiAgICAgIC8vIG9uLCBiZWNhdXNlIHdlIGN1cnJlbnRseSB0YWcgYmV0YSByZWxlYXNlcyBhcyBcImxhdGVzdFwiLiBBZnRlciBHQSwgd2UgbmVlZCB0byBhZGp1c3RcbiAgICAgIC8vIHRoaXMgdG8gaW5zdGFsbCB0aGUgcmVsZWFzZSB0YWcgdGhhdCB0aGUgdXNlciBpcyBvbi5cbiAgICAgIGNoYWxrLmdyYXkoXG4gICAgICAgIGBSdW46IFxcYFtucG18YnVufHBucG1dIGkgd29ya2Zsb3dAJHt1cGRhdGVDaGVjay5sYXRlc3RWZXJzaW9ufVxcYGBcbiAgICAgICksXG4gICAgICBjaGFsay5ncmF5KFxuICAgICAgICB0ZXJtaW5hbExpbmsoXG4gICAgICAgICAgJ1ZpZXcgY2hhbmdlbG9nJyxcbiAgICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC93b3JrZmxvdy9yZWxlYXNlcydcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBsb2dnZXIuc2hvd0JveCgnZ3JlZW4nLCAuLi5ib3hMaW5lcyk7XG5cbiAgbG9nZ2VyLmRlYnVnKCdJbmZlcnJpbmcgZW52IHZhcnMsIGJhY2tlbmQ6JywgZmxhZ3MuYmFja2VuZCk7XG4gIHdyaXRlRW52VmFycyh7XG4gICAgREVCVUc6IGZsYWdzLnZlcmJvc2UgPyAnMScgOiAnJyxcbiAgICBXT1JLRkxPV19UQVJHRVRfV09STEQ6IGZsYWdzLmJhY2tlbmQsXG4gIH0pO1xuXG4gIGxldCB2ZXJjZWxFbnZWYXJzOiBWZXJjZWxFbnZWYXJzIHwgdW5kZWZpbmVkO1xuICBpZiAoaXNWZXJjZWxXb3JsZFRhcmdldChmbGFncy5iYWNrZW5kKSkge1xuICAgIC8vIFNlZWQgdGhlIGluaXRpYWwgZmxhZ3MgaW50byBwcm9jZXNzLmVudiBzbyBpbmZlclZlcmNlbEVudlZhcnMoKSBjYW5cbiAgICAvLyByZWFkIHRoZW0gdmlhIGdldEVudlZhcnMoKSBhcyBzdGFydGluZyB2YWx1ZXMgYmVmb3JlIGluZmVyZW5jZS5cbiAgICB3cml0ZUVudlZhcnMoe1xuICAgICAgV09SS0ZMT1dfVkVSQ0VMX0VOVjogZmxhZ3MuZW52LFxuICAgICAgV09SS0ZMT1dfVkVSQ0VMX0FVVEhfVE9LRU46IGZsYWdzLmF1dGhUb2tlbixcbiAgICAgIFdPUktGTE9XX1ZFUkNFTF9QUk9KRUNUOiBmbGFncy5wcm9qZWN0LFxuICAgICAgV09SS0ZMT1dfVkVSQ0VMX1RFQU06IGZsYWdzLnRlYW0sXG4gICAgfSk7XG4gICAgdmVyY2VsRW52VmFycyA9IGF3YWl0IGluZmVyVmVyY2VsRW52VmFycygpO1xuICB9IGVsc2UgaWYgKFxuICAgIGZsYWdzLmJhY2tlbmQgPT09ICdsb2NhbCcgfHxcbiAgICBmbGFncy5iYWNrZW5kID09PSAnQHdvcmtmbG93L3dvcmxkLWxvY2FsJ1xuICApIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgaW5mZXJMb2NhbFdvcmxkRW52VmFycygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoaWdub3JlTG9jYWxXb3JsZENvbmZpZ0Vycm9yKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ0Vycm9yID1cbiAgICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICA/IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgIDogJ1Vua25vd24gY29uZmlndXJhdGlvbiBlcnJvcic7XG4gICAgICAgIGxvZ2dlci53YXJuKFxuICAgICAgICAgICdGYWlsZWQgdG8gZmluZCB2YWxpZCBsb2NhbCB3b3JsZCBjb25maWd1cmF0aW9uOicsXG4gICAgICAgICAgY29uZmlnRXJyb3JcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICBsb2dnZXIuZGVidWcoJ0luaXRpYWxpemluZyB3b3JsZCcpO1xuXG4gIGxldCB3b3JsZDogV29ybGQ7XG4gIGlmICh2ZXJjZWxFbnZWYXJzKSB7XG4gICAgLy8gQnVpbGQgdGhlIFZlcmNlbCB3b3JsZCBkaXJlY3RseSBmcm9tIHRoZSBpbmZlcnJlZCBjb25maWcsIHJhdGhlciB0aGFuXG4gICAgLy8gcmVseWluZyBvbiBjcmVhdGVXb3JsZCgpIHJlYWRpbmcgcHJvY2Vzcy5lbnYuXG4gICAgd29ybGQgPSBjcmVhdGVWZXJjZWxDbGlXb3JsZCh7XG4gICAgICB0b2tlbjogdmVyY2VsRW52VmFycy50b2tlbixcbiAgICAgIHByb2plY3RDb25maWc6IHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IHZlcmNlbEVudlZhcnMuZW52aXJvbm1lbnQsXG4gICAgICAgIHByb2plY3RJZDogdmVyY2VsRW52VmFycy5wcm9qZWN0SWQsXG4gICAgICAgIHByb2plY3ROYW1lOiB2ZXJjZWxFbnZWYXJzLnByb2plY3ROYW1lLFxuICAgICAgICB0ZWFtSWQ6IHZlcmNlbEVudlZhcnMudGVhbUlkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChcbiAgICBmbGFncy5iYWNrZW5kID09PSAnbG9jYWwnIHx8XG4gICAgZmxhZ3MuYmFja2VuZCA9PT0gJ0B3b3JrZmxvdy93b3JsZC1sb2NhbCdcbiAgKSB7XG4gICAgd29ybGQgPSBjcmVhdGVMb2NhbENsaVdvcmxkKCk7XG4gIH0gZWxzZSB7XG4gICAgd29ybGQgPSBhd2FpdCBjcmVhdGVEeW5hbWljQ2xpV29ybGQoZmxhZ3MuYmFja2VuZCk7XG4gIH1cblxuICAvLyBTdG9yZSBpbiB0aGUgZ2xvYmFsIGNhY2hlIHNvIEJhc2VDb21tYW5kLmZpbmFsbHkoKSBjYW4gZmluZCBhbmQgY2xvc2UgaXQuXG4gIHNldFdvcmxkKHdvcmxkKTtcbiAgcmV0dXJuIHdvcmxkO1xufTtcblxuLyoqXG4gKiBDb25zdHJ1Y3QgYSB3b3JsZCBmcm9tIGl0cyBwYWNrYWdlIChlLmcuIGBAd29ya2Zsb3cvd29ybGQtcG9zdGdyZXNgIG9yIGFcbiAqIGNvbW11bml0eSB3b3JsZCksIHJlc29sdmVkIGZyb20gdGhlIHVzZXIncyBwcm9qZWN0IGRpcmVjdG9yeS4gVGhlIHZlcmNlbFxuICogYW5kIGxvY2FsIHdvcmxkcyBhcmUgZGlyZWN0IGRlcGVuZGVuY2llcyBhbmQgY29uc3RydWN0ZWQgZXhwbGljaXRseSBhYm92ZTtcbiAqIGV2ZXJ5IG90aGVyIGJhY2tlbmQgaXMgbG9hZGVkIGR5bmFtaWNhbGx5IHNvIHRoaXJkLXBhcnR5IHdvcmxkcyBrZWVwXG4gKiB3b3JraW5nIHdpdGhvdXQgYmVpbmcgZGVwZW5kZW5jaWVzIG9mIHRoZSBDTEkuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUR5bmFtaWNDbGlXb3JsZChiYWNrZW5kSWQ6IHN0cmluZyk6IFByb21pc2U8V29ybGQ+IHtcbiAgY29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKTtcbiAgbGV0IHdvcmxkUGF0aDogc3RyaW5nO1xuICB0cnkge1xuICAgIHdvcmxkUGF0aCA9IGNyZWF0ZVJlcXVpcmUoam9pbihjd2QsICdwYWNrYWdlLmpzb24nKSkucmVzb2x2ZShiYWNrZW5kSWQsIHtcbiAgICAgIHBhdGhzOiBbY3dkXSxcbiAgICB9KTtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENvdWxkIG5vdCByZXNvbHZlIHdvcmtmbG93IGJhY2tlbmQgcGFja2FnZSBcIiR7YmFja2VuZElkfVwiIGZyb20gXCIke2N3ZH1cIi4gYCArXG4gICAgICAgICdNYWtlIHN1cmUgdGhlIHBhY2thZ2UgaXMgaW5zdGFsbGVkIGluIHlvdXIgcHJvamVjdC4nXG4gICAgKTtcbiAgfVxuICBjb25zdCBtb2QgPSAoYXdhaXQgaW1wb3J0KHBhdGhUb0ZpbGVVUkwod29ybGRQYXRoKS5ocmVmKSkgYXMge1xuICAgIGNyZWF0ZVdvcmxkPzogKCkgPT4gV29ybGQgfCBQcm9taXNlPFdvcmxkPjtcbiAgICBkZWZhdWx0PzogeyBjcmVhdGVXb3JsZD86ICgpID0+IFdvcmxkIHwgUHJvbWlzZTxXb3JsZD4gfTtcbiAgfTtcbiAgLy8gRmFsbCBiYWNrIHRvIGRlZmF1bHQuY3JlYXRlV29ybGQgZm9yIENKUyBwYWNrYWdlcyB3aG9zZSBuYW1lZCBleHBvcnRzXG4gIC8vIGFyZW4ndCBzdGF0aWNhbGx5IGRldGVjdGFibGUgYnkgY2pzLW1vZHVsZS1sZXhlci5cbiAgY29uc3QgY3JlYXRlV29ybGRGbiA9IG1vZC5jcmVhdGVXb3JsZCA/PyBtb2QuZGVmYXVsdD8uY3JlYXRlV29ybGQ7XG4gIGlmICh0eXBlb2YgY3JlYXRlV29ybGRGbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBXb3JrZmxvdyBiYWNrZW5kIHBhY2thZ2UgXCIke2JhY2tlbmRJZH1cIiBkb2VzIG5vdCBleHBvcnQgY3JlYXRlV29ybGQoKS5gXG4gICAgKTtcbiAgfVxuICByZXR1cm4gY3JlYXRlV29ybGRGbigpO1xufVxuIl19
|
|
@@ -56,4 +56,4 @@ export const streamToConsole = async (stream, id, opts) => {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHMUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFDbEMsTUFBK0IsRUFDL0IsRUFBVSxFQUNWLElBQXVCLEVBQ3ZCLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEMsbUVBQW1FO0lBQ25FLHlFQUF5RTtJQUN6RSxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuQixJQUFJLENBQUM7UUFDSCxTQUFTLENBQUM7WUFDUixNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsTUFBTTtZQUNSLENBQUM7WUFFRCxvQkFBb0I7WUFDcEIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDMUMsU0FBUztZQUNYLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELENBQUM7aUJBQU0sQ0FBQztnQkFDTiwrQkFBK0I7Z0JBQy9CLE1BQU0sSUFBSSxHQUNSLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDdEMsVUFBVSxFQUFFLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsaUZBQWlGO1FBQ2pGLElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDdEUsTUFBTSxDQUFDLEtBQUssQ0FDVixrRkFBa0YsQ0FDbkYsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDMUIsS0FBSyxFQUFFLGlDQUFpQyxFQUFFLEVBQUU7Z0JBQzVDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ3JCLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztZQUFTLENBQUM7UUFDVCxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEIsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLDRDQUE0QztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2NvbmZpZy9sb2cuanMnO1xuaW1wb3J0IHR5cGUgeyBJbnNwZWN0Q0xJT3B0aW9ucyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5qcyc7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB3aWxsIHJlYWQgZnJvbSBhIGRlc2VyaWFsaXplZCBzdHJlYW0gYW5kIHdyaXRlIHRoZSBvdXRwdXQgdG8gdGhlIGNvbnNvbGUuXG4gKiBJZiB0aGUgc3RyZWFtIGlzIG5vdCBjbG9zZWQsIHRoaXMgZnVuY3Rpb24gd2lsbCBibG9jayB1bnRpbCB0aGUgc3RyZWFtIGlzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmVhbVRvQ29uc29sZSA9IGFzeW5jIChcbiAgc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTx1bmtub3duPixcbiAgaWQ6IHN0cmluZyxcbiAgb3B0czogSW5zcGVjdENMSU9wdGlvbnNcbikgPT4ge1xuICBjb25zdCByZWFkZXIgPSBzdHJlYW0uZ2V0UmVhZGVyKCk7XG4gIC8vIEtlZXAgdGhlIE5vZGUuanMgZXZlbnQgbG9vcCBhbGl2ZSB3aGlsZSB3ZSBhd2FpdCBzdHJlYW0gY2xvc3VyZS5cbiAgLy8gUGVuZGluZyBQcm9taXNlcyBhbG9uZSBkbyBub3Qga2VlcCB0aGUgcHJvY2VzcyBhbGl2ZSB3aGVuIHVzaW5nIG9jbGlmLlxuICBjb25zdCBrZWVwQWxpdmUgPSBzZXRJbnRlcnZhbCgoKSA9PiB7fSwgNjBfMDAwKTtcbiAgbGV0IGNodW5rSW5kZXggPSAwO1xuICB0cnkge1xuICAgIGZvciAoOzspIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGRvbmUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgICBpZiAoZG9uZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgLy8gU2tpcCBlbXB0eSBjaHVua3NcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0cy5qc29uKSB7XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1cXG5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZvcm1hdCB0aGUgdmFsdWUgZm9yIGRpc3BsYXlcbiAgICAgICAgY29uc3QgdGV4dCA9XG4gICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpO1xuICAgICAgICBsb2dnZXIubG9nKGBbJHtjaHVua0luZGV4fV0gJHt0ZXh0fWApO1xuICAgICAgICBjaHVua0luZGV4Kys7XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBQcm92aWRlIGEgY2xlYXIgbWVzc2FnZSB3aGVuIHRoZSBzdHJlYW0gaXMgZW5jcnlwdGVkIGFuZCAtLWRlY3J5cHQgd2Fzbid0IHVzZWRcbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ25vIGVuY3J5cHRpb24ga2V5JykpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgJ1RoaXMgc3RyZWFtIGNvbnRhaW5zIGVuY3J5cHRlZCBkYXRhLiBVc2UgLS1kZWNyeXB0IC0tcnVuPTxydW4taWQ+IHRvIGRlY3J5cHQgaXQuJ1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHJlYWQgc3RyZWFtIHdpdGggSUQgJHtpZH06YCwgZXJyKTtcbiAgICB9XG4gICAgaWYgKG9wdHMuanNvbikge1xuICAgICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgZXJyb3I6IGBGYWlsZWQgdG8gcmVhZCBzdHJlYW0gd2l0aCBJRCAke2lkfWAsXG4gICAgICAgIGRldGFpbHM6IFN0cmluZyhlcnIpLFxuICAgICAgfSk7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgJHtqc29ufVxcbmApO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBjbGVhckludGVydmFsKGtlZXBBbGl2ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHJlYWRlci5jYW5jZWwoKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIElnbm9yZSBjYW5jZWxsYXRpb24gZXJyb3JzIGR1cmluZyBjbGVhbnVwXG4gICAgfVxuICB9XG59O1xuIl19
|
|
@@ -105,4 +105,4 @@ export const formatISODate = (date) => {
|
|
|
105
105
|
// Replace T with space and remove Z
|
|
106
106
|
return isoString.replace('T', ' ').replace('Z', '');
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvdGVybWluYWwtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxHQUFZLEVBQUU7SUFDaEMsT0FBTyxDQUFDLENBQUMsQ0FDUCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQjtRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVk7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUztRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVE7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVztRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVM7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQ3JCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFZLEVBQUU7SUFDekMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUMzQyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQVcsRUFBRTtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGlDQUFpQztBQUN4RSxDQUFDLENBQUM7QUFjRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxhQUFxQixFQUNyQixRQUFpQixFQUNqQixhQUFzQixJQUFJLEVB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TUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBVSxFQUFVLEVBQUU7SUFDbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLG9DQUFvQztJQUNwQyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVdGlsaXRpZXMgZm9yIHRlcm1pbmFsIGRpc3BsYXkgYW5kIGVudmlyb25tZW50IGRldGVjdGlvblxuICovXG5cbi8qKlxuICogQ2hlY2sgaWYgcnVubmluZyBpbiBDSSBlbnZpcm9ubWVudFxuICovXG5leHBvcnQgY29uc3QgaXNDSSA9ICgpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuICEhKFxuICAgIHByb2Nlc3MuZW52LkNJIHx8XG4gICAgcHJvY2Vzcy5lbnYuQ09OVElOVU9VU19JTlRFR1JBVElPTiB8fFxuICAgIHByb2Nlc3MuZW52LkJVSUxEX05VTUJFUiB8fFxuICAgIHByb2Nlc3MuZW52LkdJVEhVQl9BQ1RJT05TIHx8XG4gICAgcHJvY2Vzcy5lbnYuR0lUTEFCX0NJIHx8XG4gICAgcHJvY2Vzcy5lbnYuQ0lSQ0xFQ0kgfHxcbiAgICBwcm9jZXNzLmVudi5UUkFWSVMgfHxcbiAgICBwcm9jZXNzLmVudi5KRU5LSU5TX1VSTCB8fFxuICAgIHByb2Nlc3MuZW52LkJVSUxES0lURSB8fFxuICAgIHByb2Nlc3MuZW52LlRGX0JVSUxEXG4gICk7XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHJ1bm5pbmcgaW4gYW4gaW50ZXJhY3RpdmUgdGVybWluYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzSW50ZXJhY3RpdmUgPSAoKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAhaXNDSSgpICYmICEhcHJvY2Vzcy5zdGRvdXQuaXNUVFk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCB0ZXJtaW5hbCB3aWR0aFxuICovXG5leHBvcnQgY29uc3QgZ2V0VGVybWluYWxXaWR0aCA9ICgpOiBudW1iZXIgPT4ge1xuICByZXR1cm4gcHJvY2Vzcy5zdGRvdXQuY29sdW1ucyB8fCA4MDsgLy8gRGVmYXVsdCB0byA4MCBpZiBub3QgYXZhaWxhYmxlXG59O1xuXG4vKipcbiAqIENhbGN1bGF0ZSBkaXNwbGF5IHNldHRpbmdzIGJhc2VkIG9uIHRlcm1pbmFsIHdpZHRoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcGxheVNldHRpbmdzIHtcbiAgc2hvd1JlbGF0aXZlRGF0ZXM6IGJvb2xlYW47XG4gIGRhdGFGaWVsZFdpZHRoOiBudW1iZXI7XG4gIGFiYnJldmlhdGVTdGF0dXM6IGJvb2xlYW47XG4gIG5hbWVzVHJ1bmNhdGVMZW5ndGg6IG51bWJlcjtcbiAgdHJ1bmNhdGVJZHNUb0xhc3RDaGFyczogYm9vbGVhbjtcbiAgaGlkZUNvbXBsZXRlZEF0OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0RGlzcGxheVNldHRpbmdzID0gKFxuICB0ZXJtaW5hbFdpZHRoOiBudW1iZXIsXG4gIHdpdGhEYXRhOiBib29sZWFuLFxuICBpc1J1blRhYmxlOiBib29sZWFuID0gdHJ1ZVxuKTogRGlzcGxheVNldHRpbmdzID0+IHtcbiAgLy8gQmFzZSB3aWR0aHMgZnJvbSBhY3R1YWwgbWVhc3VyZW1lbnRzICh3aXRob3V0IGRhdGEgZmllbGRzKVxuICBjb25zdCBiYXNlV2lkdGggPSAoaXNSdW5UYWJsZSA/IDE0MCA6IDE3MCkgKyAod2l0aERhdGEgPyAzMiA6IDApO1xuXG4gIC8vIEluaXRpYWxpemUgd2l0aCBkZWZhdWx0c1xuICBjb25zdCBzZXR0aW5nczogRGlzcGxheVNldHRpbmdzID0ge1xuICAgIHNob3dSZWxhdGl2ZURhdGVzOiAhd2l0aERhdGEsIC8vIERpc2FibGVkIGJ5IGRlZmF1bHQgd2hlbiB3aXRoRGF0YSBpcyB0cnVlXG4gICAgZGF0YUZpZWxkV2lkdGg6IDE1LFxuICAgIGFiYnJldmlhdGVTdGF0dXM6IGZhbHNlLFxuICAgIG5hbWVzVHJ1bmNhdGVMZW5ndGg6IDQwLFxuICAgIHRydW5jYXRlSWRzVG9MYXN0Q2hhcnM6IGZhbHNlLFxuICAgIGhpZGVDb21wbGV0ZWRBdDogZmFsc2UsXG4gIH07XG5cbiAgLy8gSWYgdGVybWluYWwgd2lkdGggaXMgc3VmZmljaWVudCwgcmV0dXJuIGRlZmF1bHRzXG4gIGlmICh0ZXJtaW5hbFdpZHRoID49IGJhc2VXaWR0aCkge1xuICAgIHJldHVybiBzZXR0aW5ncztcbiAgfVxuXG4gIC8vIFByb2dyZXNzaXZlIGRlZ3JhZGF0aW9uIGF2ZW51ZXNcbiAgbGV0IGF2YWlsYWJsZVdpZHRoID0gYmFzZVdpZHRoO1xuXG4gIC8vIERpc2FibGUgcmVsYXRpdmUgZGF0ZXMgKHNhdmUgMzQgY2hhcmFjdGVycylcbiAgaWYgKHNldHRpbmdzLnNob3dSZWxhdGl2ZURhdGVzICYmIHRlcm1pbmFsV2lkdGggPCBhdmFpbGFibGVXaWR0aCkge1xuICAgIHNldHRpbmdzLnNob3dSZWxhdGl2ZURhdGVzID0gZmFsc2U7XG4gICAgYXZhaWxhYmxlV2lkdGggLT0gMzQ7XG4gIH1cblxuICAvLyBSZWR1Y2UgZGF0YSBmaWVsZCB3aWR0aCBpZiB3aXRoRGF0YSBpcyBzZXQgKHNhdmUgMjAgY2hhcmFjdGVycyBmcm9tIDIqMTApXG4gIGlmIChcbiAgICB3aXRoRGF0YSAmJlxuICAgIHNldHRpbmdzLmRhdGFGaWVsZFdpZHRoID09PSAxNSAmJlxuICAgIHRlcm1pbmFsV2lkdGggPCBhdmFpbGFibGVXaWR0aFxuICApIHtcbiAgICBzZXR0aW5ncy5kYXRhRmllbGRXaWR0aCA9IDU7XG4gICAgYXZhaWxhYmxlV2lkdGggLT0gMjA7XG4gIH1cblxuICAvLyBBYmJyZXZpYXRlIHN0YXR1cyBhbmQgc2V0IGhlYWRlciB0byBcIlNcIiAoc2F2ZSA4IGNoYXJhY3RlcnMpXG4gIGlmICh0ZXJtaW5hbFdpZHRoIDwgYXZhaWxhYmxlV2lkdGgpIHtcbiAgICBzZXR0aW5ncy5hYmJyZXZpYXRlU3RhdHVzID0gdHJ1ZTtcbiAgICBhdmFpbGFibGVXaWR0aCAtPSA4O1xuICB9XG5cbiAgLy8gVHJpbSBuYW1lcyBmcm9tIDQwIHRvIDIwIGNoYXJhY3RlcnMgKHNhdmUgMjAgY2hhcmFjdGVycylcbiAgaWYgKHNldHRpbmdzLm5hbWVzVHJ1bmNhdGVMZW5ndGggPT09IDQwICYmIHRlcm1pbmFsV2lkdGggPCBhdmFpbGFibGVXaWR0aCkge1xuICAgIHNldHRpbmdzLm5hbWVzVHJ1bmNhdGVMZW5ndGggPSAyMDtcbiAgICBhdmFpbGFibGVXaWR0aCAtPSAyMDtcbiAgfVxuXG4gIC8vIEhpZGUgY29tcGxldGVkQXQgY29sdW1uIChzYXZlIDIzIGNoYXJhY3RlcnMpXG4gIGlmICh0ZXJtaW5hbFdpZHRoIDwgYXZhaWxhYmxlV2lkdGgpIHtcbiAgICBzZXR0aW5ncy5oaWRlQ29tcGxldGVkQXQgPSB0cnVlO1xuICAgIGF2YWlsYWJsZVdpZHRoIC09IDIzO1xuICB9XG5cbiAgLy8gVHJpbSBJRHMgdG8gbGFzdCA0IGNoYXJhY3RlcnNcbiAgaWYgKHRlcm1pbmFsV2lkdGggPCBhdmFpbGFibGVXaWR0aCkge1xuICAgIHNldHRpbmdzLnRydW5jYXRlSWRzVG9MYXN0Q2hhcnMgPSB0cnVlO1xuICAgIGF2YWlsYWJsZVdpZHRoIC09IGlzUnVuVGFibGUgPyAyNCA6IDQ4O1xuICB9XG5cbiAgcmV0dXJuIHNldHRpbmdzO1xufTtcblxuLyoqXG4gKiBGb3JtYXQgc3RhdHVzIHdpdGggb3B0aW9uYWwgYWJicmV2aWF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtYXRTdGF0dXMgPSAoc3RhdHVzOiBzdHJpbmcsIGFiYnJldmlhdGVkOiBib29sZWFuKTogc3RyaW5nID0+IHtcbiAgaWYgKCFhYmJyZXZpYXRlZCkge1xuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cblxuICAvLyBBYmJyZXZpYXRlIHRvIGZpcnN0IGxldHRlclxuICBjb25zdCBhYmJyZXZNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcnVubmluZzogJ1InLFxuICAgIGNvbXBsZXRlZDogJ0MnLFxuICAgIGZhaWxlZDogJ0YnLFxuICAgIGNhbmNlbGxlZDogJ1gnLFxuICAgIHBlbmRpbmc6ICdQJyxcbiAgfTtcblxuICByZXR1cm4gYWJicmV2TWFwW3N0YXR1cy50b0xvd2VyQ2FzZSgpXSB8fCBzdGF0dXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCk7XG59O1xuXG4vKipcbiAqIEZvcm1hdCBJU08gZGF0ZSB3aXRob3V0IFQgYW5kIFogY2hhcmFjdGVyc1xuICovXG5leHBvcnQgY29uc3QgZm9ybWF0SVNPRGF0ZSA9IChkYXRlOiBEYXRlKTogc3RyaW5nID0+IHtcbiAgY29uc3QgaXNvU3RyaW5nID0gZGF0ZS50b0lTT1N0cmluZygpO1xuICAvLyBSZXBsYWNlIFQgd2l0aCBzcGFjZSBhbmQgcmVtb3ZlIFpcbiAgcmV0dXJuIGlzb1N0cmluZy5yZXBsYWNlKCdUJywgJyAnKS5yZXBsYWNlKCdaJywgJycpO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a `--since`/`--until` value: either a relative duration (`30m`,
|
|
3
|
+
* `12h`, `7d`, `2w`, interpreted as "that long ago") or an absolute
|
|
4
|
+
* timestamp accepted by `Date`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseTimeInput(value: string, flagName: string): Date;
|
|
7
|
+
/**
|
|
8
|
+
* Resolve `--since`/`--until` flags into an explicit listing window for the
|
|
9
|
+
* analytics runs API, or undefined when neither flag was given (the backend
|
|
10
|
+
* then applies its default window). Windows older than the plan's
|
|
11
|
+
* observability lookback are rejected by the backend with
|
|
12
|
+
* `observability-upgrade-required`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveTimeWindow(opts: {
|
|
15
|
+
since?: string;
|
|
16
|
+
until?: string;
|
|
17
|
+
}): {
|
|
18
|
+
startTime: string;
|
|
19
|
+
endTime: string;
|
|
20
|
+
} | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Extract the plan observability-window start from a paginated analytics
|
|
23
|
+
* response, for widening a defaulted (recent-window) listing to the whole
|
|
24
|
+
* window the plan allows. Returns undefined when the response carries no
|
|
25
|
+
* page metadata (e.g. non-Vercel backends).
|
|
26
|
+
*/
|
|
27
|
+
export declare function planWindowStartFromResponse(result: unknown): string | undefined;
|
|
28
|
+
//# sourceMappingURL=time-window.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-window.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/time-window.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAapE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAarD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,GACd,MAAM,GAAG,SAAS,CAMpB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const DURATION_UNIT_MS = {
|
|
2
|
+
m: 60_000,
|
|
3
|
+
h: 3_600_000,
|
|
4
|
+
d: 86_400_000,
|
|
5
|
+
w: 604_800_000,
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Parse a `--since`/`--until` value: either a relative duration (`30m`,
|
|
9
|
+
* `12h`, `7d`, `2w`, interpreted as "that long ago") or an absolute
|
|
10
|
+
* timestamp accepted by `Date`.
|
|
11
|
+
*/
|
|
12
|
+
export function parseTimeInput(value, flagName) {
|
|
13
|
+
const duration = /^(\d+)(m|h|d|w)$/.exec(value.trim());
|
|
14
|
+
if (duration) {
|
|
15
|
+
const [, amount, unit] = duration;
|
|
16
|
+
return new Date(Date.now() - Number(amount) * DURATION_UNIT_MS[unit]);
|
|
17
|
+
}
|
|
18
|
+
const absolute = new Date(value);
|
|
19
|
+
if (!Number.isNaN(absolute.getTime())) {
|
|
20
|
+
return absolute;
|
|
21
|
+
}
|
|
22
|
+
throw new Error(`Invalid --${flagName} value "${value}". Use a relative duration (30m, 12h, 7d, 2w) or a timestamp (2026-07-01T00:00:00Z).`);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolve `--since`/`--until` flags into an explicit listing window for the
|
|
26
|
+
* analytics runs API, or undefined when neither flag was given (the backend
|
|
27
|
+
* then applies its default window). Windows older than the plan's
|
|
28
|
+
* observability lookback are rejected by the backend with
|
|
29
|
+
* `observability-upgrade-required`.
|
|
30
|
+
*/
|
|
31
|
+
export function resolveTimeWindow(opts) {
|
|
32
|
+
if (!opts.since && !opts.until)
|
|
33
|
+
return undefined;
|
|
34
|
+
if (!opts.since) {
|
|
35
|
+
throw new Error('--until requires --since.');
|
|
36
|
+
}
|
|
37
|
+
const start = parseTimeInput(opts.since, 'since');
|
|
38
|
+
const end = opts.until
|
|
39
|
+
? parseTimeInput(opts.until, 'until')
|
|
40
|
+
: new Date(Date.now());
|
|
41
|
+
if (start.getTime() >= end.getTime()) {
|
|
42
|
+
throw new Error('--since must be earlier than --until.');
|
|
43
|
+
}
|
|
44
|
+
return { startTime: start.toISOString(), endTime: end.toISOString() };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Extract the plan observability-window start from a paginated analytics
|
|
48
|
+
* response, for widening a defaulted (recent-window) listing to the whole
|
|
49
|
+
* window the plan allows. Returns undefined when the response carries no
|
|
50
|
+
* page metadata (e.g. non-Vercel backends).
|
|
51
|
+
*/
|
|
52
|
+
export function planWindowStartFromResponse(result) {
|
|
53
|
+
if (typeof result !== 'object' || result === null)
|
|
54
|
+
return undefined;
|
|
55
|
+
const pageInfo = result.pageInfo;
|
|
56
|
+
if (!pageInfo?.currentWindowStart)
|
|
57
|
+
return undefined;
|
|
58
|
+
const start = new Date(pageInfo.currentWindowStart);
|
|
59
|
+
return Number.isNaN(start.getTime()) ? undefined : start.toISOString();
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS13aW5kb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvdGltZS13aW5kb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxnQkFBZ0IsR0FBMkI7SUFDL0MsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsU0FBUztJQUNaLENBQUMsRUFBRSxVQUFVO0lBQ2IsQ0FBQyxFQUFFLFdBQVc7Q0FDZixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBYSxFQUFFLFFBQWdCO0lBQzVELE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUNsQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixhQUFhLFFBQVEsV0FBVyxLQUFLLHNGQUFzRixDQUM1SCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUdqQztJQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUs7UUFDcEIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztRQUNyQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7QUFDeEUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxNQUFlO0lBRWYsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUk7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNwRSxNQUFNLFFBQVEsR0FBSSxNQUEyQyxDQUFDLFFBQVEsQ0FBQztJQUN2RSxJQUFJLENBQUMsUUFBUSxFQUFFLGtCQUFrQjtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3BELE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW5hbHl0aWNzUGFnZUluZm8gfSBmcm9tICcuL3BhZ2luYXRpb24uanMnO1xuXG5jb25zdCBEVVJBVElPTl9VTklUX01TOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICBtOiA2MF8wMDAsXG4gIGg6IDNfNjAwXzAwMCxcbiAgZDogODZfNDAwXzAwMCxcbiAgdzogNjA0XzgwMF8wMDAsXG59O1xuXG4vKipcbiAqIFBhcnNlIGEgYC0tc2luY2VgL2AtLXVudGlsYCB2YWx1ZTogZWl0aGVyIGEgcmVsYXRpdmUgZHVyYXRpb24gKGAzMG1gLFxuICogYDEyaGAsIGA3ZGAsIGAyd2AsIGludGVycHJldGVkIGFzIFwidGhhdCBsb25nIGFnb1wiKSBvciBhbiBhYnNvbHV0ZVxuICogdGltZXN0YW1wIGFjY2VwdGVkIGJ5IGBEYXRlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGltZUlucHV0KHZhbHVlOiBzdHJpbmcsIGZsYWdOYW1lOiBzdHJpbmcpOiBEYXRlIHtcbiAgY29uc3QgZHVyYXRpb24gPSAvXihcXGQrKShtfGh8ZHx3KSQvLmV4ZWModmFsdWUudHJpbSgpKTtcbiAgaWYgKGR1cmF0aW9uKSB7XG4gICAgY29uc3QgWywgYW1vdW50LCB1bml0XSA9IGR1cmF0aW9uO1xuICAgIHJldHVybiBuZXcgRGF0ZShEYXRlLm5vdygpIC0gTnVtYmVyKGFtb3VudCkgKiBEVVJBVElPTl9VTklUX01TW3VuaXRdKTtcbiAgfVxuICBjb25zdCBhYnNvbHV0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgaWYgKCFOdW1iZXIuaXNOYU4oYWJzb2x1dGUuZ2V0VGltZSgpKSkge1xuICAgIHJldHVybiBhYnNvbHV0ZTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYEludmFsaWQgLS0ke2ZsYWdOYW1lfSB2YWx1ZSBcIiR7dmFsdWV9XCIuIFVzZSBhIHJlbGF0aXZlIGR1cmF0aW9uICgzMG0sIDEyaCwgN2QsIDJ3KSBvciBhIHRpbWVzdGFtcCAoMjAyNi0wNy0wMVQwMDowMDowMFopLmBcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGAtLXNpbmNlYC9gLS11bnRpbGAgZmxhZ3MgaW50byBhbiBleHBsaWNpdCBsaXN0aW5nIHdpbmRvdyBmb3IgdGhlXG4gKiBhbmFseXRpY3MgcnVucyBBUEksIG9yIHVuZGVmaW5lZCB3aGVuIG5laXRoZXIgZmxhZyB3YXMgZ2l2ZW4gKHRoZSBiYWNrZW5kXG4gKiB0aGVuIGFwcGxpZXMgaXRzIGRlZmF1bHQgd2luZG93KS4gV2luZG93cyBvbGRlciB0aGFuIHRoZSBwbGFuJ3NcbiAqIG9ic2VydmFiaWxpdHkgbG9va2JhY2sgYXJlIHJlamVjdGVkIGJ5IHRoZSBiYWNrZW5kIHdpdGhcbiAqIGBvYnNlcnZhYmlsaXR5LXVwZ3JhZGUtcmVxdWlyZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRpbWVXaW5kb3cob3B0czoge1xuICBzaW5jZT86IHN0cmluZztcbiAgdW50aWw/OiBzdHJpbmc7XG59KTogeyBzdGFydFRpbWU6IHN0cmluZzsgZW5kVGltZTogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICBpZiAoIW9wdHMuc2luY2UgJiYgIW9wdHMudW50aWwpIHJldHVybiB1bmRlZmluZWQ7XG4gIGlmICghb3B0cy5zaW5jZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignLS11bnRpbCByZXF1aXJlcyAtLXNpbmNlLicpO1xuICB9XG4gIGNvbnN0IHN0YXJ0ID0gcGFyc2VUaW1lSW5wdXQob3B0cy5zaW5jZSwgJ3NpbmNlJyk7XG4gIGNvbnN0IGVuZCA9IG9wdHMudW50aWxcbiAgICA/IHBhcnNlVGltZUlucHV0KG9wdHMudW50aWwsICd1bnRpbCcpXG4gICAgOiBuZXcgRGF0ZShEYXRlLm5vdygpKTtcbiAgaWYgKHN0YXJ0LmdldFRpbWUoKSA+PSBlbmQuZ2V0VGltZSgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCctLXNpbmNlIG11c3QgYmUgZWFybGllciB0aGFuIC0tdW50aWwuJyk7XG4gIH1cbiAgcmV0dXJuIHsgc3RhcnRUaW1lOiBzdGFydC50b0lTT1N0cmluZygpLCBlbmRUaW1lOiBlbmQudG9JU09TdHJpbmcoKSB9O1xufVxuXG4vKipcbiAqIEV4dHJhY3QgdGhlIHBsYW4gb2JzZXJ2YWJpbGl0eS13aW5kb3cgc3RhcnQgZnJvbSBhIHBhZ2luYXRlZCBhbmFseXRpY3NcbiAqIHJlc3BvbnNlLCBmb3Igd2lkZW5pbmcgYSBkZWZhdWx0ZWQgKHJlY2VudC13aW5kb3cpIGxpc3RpbmcgdG8gdGhlIHdob2xlXG4gKiB3aW5kb3cgdGhlIHBsYW4gYWxsb3dzLiBSZXR1cm5zIHVuZGVmaW5lZCB3aGVuIHRoZSByZXNwb25zZSBjYXJyaWVzIG5vXG4gKiBwYWdlIG1ldGFkYXRhIChlLmcuIG5vbi1WZXJjZWwgYmFja2VuZHMpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGxhbldpbmRvd1N0YXJ0RnJvbVJlc3BvbnNlKFxuICByZXN1bHQ6IHVua25vd25cbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgcmVzdWx0ICE9PSAnb2JqZWN0JyB8fCByZXN1bHQgPT09IG51bGwpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IHBhZ2VJbmZvID0gKHJlc3VsdCBhcyB7IHBhZ2VJbmZvPzogQW5hbHl0aWNzUGFnZUluZm8gfSkucGFnZUluZm87XG4gIGlmICghcGFnZUluZm8/LmN1cnJlbnRXaW5kb3dTdGFydCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZShwYWdlSW5mby5jdXJyZW50V2luZG93U3RhcnQpO1xuICByZXR1cm4gTnVtYmVyLmlzTmFOKHN0YXJ0LmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBzdGFydC50b0lTT1N0cmluZygpO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-window.test.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/time-window.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { parseTimeInput, planWindowStartFromResponse, resolveTimeWindow, } from './time-window.js';
|
|
3
|
+
const NOW = new Date('2026-07-07T12:00:00.000Z');
|
|
4
|
+
afterEach(() => {
|
|
5
|
+
vi.restoreAllMocks();
|
|
6
|
+
});
|
|
7
|
+
describe('parseTimeInput', () => {
|
|
8
|
+
it('parses relative durations as that long ago', () => {
|
|
9
|
+
vi.spyOn(Date, 'now').mockReturnValue(NOW.getTime());
|
|
10
|
+
expect(parseTimeInput('30m', 'since').toISOString()).toBe('2026-07-07T11:30:00.000Z');
|
|
11
|
+
expect(parseTimeInput('12h', 'since').toISOString()).toBe('2026-07-07T00:00:00.000Z');
|
|
12
|
+
expect(parseTimeInput('7d', 'since').toISOString()).toBe('2026-06-30T12:00:00.000Z');
|
|
13
|
+
expect(parseTimeInput('2w', 'since').toISOString()).toBe('2026-06-23T12:00:00.000Z');
|
|
14
|
+
});
|
|
15
|
+
it('parses absolute timestamps', () => {
|
|
16
|
+
expect(parseTimeInput('2026-07-01T00:00:00Z', 'since').toISOString()).toBe('2026-07-01T00:00:00.000Z');
|
|
17
|
+
});
|
|
18
|
+
it('rejects invalid values with the flag name in the error', () => {
|
|
19
|
+
expect(() => parseTimeInput('yesterday-ish', 'since')).toThrow('--since');
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
describe('resolveTimeWindow', () => {
|
|
23
|
+
it('returns undefined when neither flag is given', () => {
|
|
24
|
+
expect(resolveTimeWindow({})).toBeUndefined();
|
|
25
|
+
});
|
|
26
|
+
it('defaults the end to now when only --since is given', () => {
|
|
27
|
+
vi.spyOn(Date, 'now').mockReturnValue(NOW.getTime());
|
|
28
|
+
expect(resolveTimeWindow({ since: '24h' })).toEqual({
|
|
29
|
+
startTime: '2026-07-06T12:00:00.000Z',
|
|
30
|
+
endTime: '2026-07-07T12:00:00.000Z',
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it('rejects --until without --since', () => {
|
|
34
|
+
expect(() => resolveTimeWindow({ until: '1h' })).toThrow('--until requires --since');
|
|
35
|
+
});
|
|
36
|
+
it('rejects inverted windows', () => {
|
|
37
|
+
expect(() => resolveTimeWindow({ since: '1h', until: '2h' })).toThrow('--since must be earlier than --until');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
describe('planWindowStartFromResponse', () => {
|
|
41
|
+
it('extracts the plan window start from page metadata', () => {
|
|
42
|
+
expect(planWindowStartFromResponse({
|
|
43
|
+
data: [],
|
|
44
|
+
pageInfo: {
|
|
45
|
+
currentLookbackDays: 30,
|
|
46
|
+
maxLookbackDays: 30,
|
|
47
|
+
currentWindowStart: '2026-06-07T12:00:00.000Z',
|
|
48
|
+
maxWindowStart: '2026-06-07T12:00:00.000Z',
|
|
49
|
+
upgradeAvailable: false,
|
|
50
|
+
},
|
|
51
|
+
})).toBe('2026-06-07T12:00:00.000Z');
|
|
52
|
+
});
|
|
53
|
+
it('returns undefined without page metadata', () => {
|
|
54
|
+
expect(planWindowStartFromResponse({ data: [] })).toBeUndefined();
|
|
55
|
+
expect(planWindowStartFromResponse(null)).toBeUndefined();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS13aW5kb3cudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW5zcGVjdC90aW1lLXdpbmRvdy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdELE9BQU8sRUFDTCxjQUFjLEVBQ2QsMkJBQTJCLEVBQzNCLGlCQUFpQixHQUNsQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFFakQsU0FBUyxDQUFDLEdBQUcsRUFBRTtJQUNiLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7SUFDOUIsRUFBRSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRTtRQUNwRCxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3ZELDBCQUEwQixDQUMzQixDQUFDO1FBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3ZELDBCQUEwQixDQUMzQixDQUFDO1FBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3RELDBCQUEwQixDQUMzQixDQUFDO1FBQ0YsTUFBTSxDQUFDLGNB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LENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJFYWNoLCBkZXNjcmliZSwgZXhwZWN0LCBpdCwgdmkgfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0IHtcbiAgcGFyc2VUaW1lSW5wdXQsXG4gIHBsYW5XaW5kb3dTdGFydEZyb21SZXNwb25zZSxcbiAgcmVzb2x2ZVRpbWVXaW5kb3csXG59IGZyb20gJy4vdGltZS13aW5kb3cuanMnO1xuXG5jb25zdCBOT1cgPSBuZXcgRGF0ZSgnMjAyNi0wNy0wN1QxMjowMDowMC4wMDBaJyk7XG5cbmFmdGVyRWFjaCgoKSA9PiB7XG4gIHZpLnJlc3RvcmVBbGxNb2NrcygpO1xufSk7XG5cbmRlc2NyaWJlKCdwYXJzZVRpbWVJbnB1dCcsICgpID0+IHtcbiAgaXQoJ3BhcnNlcyByZWxhdGl2ZSBkdXJhdGlvbnMgYXMgdGhhdCBsb25nIGFnbycsICgpID0+IHtcbiAgICB2aS5zcHlPbihEYXRlLCAnbm93JykubW9ja1JldHVyblZhbHVlKE5PVy5nZXRUaW1lKCkpO1xuICAgIGV4cGVjdChwYXJzZVRpbWVJbnB1dCgnMzBtJywgJ3NpbmNlJykudG9JU09TdHJpbmcoKSkudG9CZShcbiAgICAgICcyMDI2LTA3LTA3VDExOjMwOjAwLjAwMFonXG4gICAgKTtcbiAgICBleHBlY3QocGFyc2VUaW1lSW5wdXQoJzEyaCcsICdzaW5jZScpLnRvSVNPU3RyaW5nKCkpLnRvQmUoXG4gICAgICAnMjAyNi0wNy0wN1QwMDowMDowMC4wMDBaJ1xuICAgICk7XG4gICAgZXhwZWN0KHBhcnNlVGltZUlucHV0KCc3ZCcsICdzaW5jZScpLnRvSVNPU3RyaW5nKCkpLnRvQmUoXG4gICAgICAnMjAyNi0wNi0zMFQxMjowMDowMC4wMDBaJ1xuICAgICk7XG4gICAgZXhwZWN0KHBhcnNlVGltZUlucHV0KCcydycsICdzaW5jZScpLnRvSVNPU3RyaW5nKCkpLnRvQmUoXG4gICAgICAnMjAyNi0wNi0yM1QxMjowMDowMC4wMDBaJ1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdwYXJzZXMgYWJzb2x1dGUgdGltZXN0YW1wcycsICgpID0+IHtcbiAgICBleHBlY3QocGFyc2VUaW1lSW5wdXQoJzIwMjYtMDctMDFUMDA6MDA6MDBaJywgJ3NpbmNlJykudG9JU09TdHJpbmcoKSkudG9CZShcbiAgICAgICcyMDI2LTA3LTAxVDAwOjAwOjAwLjAwMFonXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3JlamVjdHMgaW52YWxpZCB2YWx1ZXMgd2l0aCB0aGUgZmxhZyBuYW1lIGluIHRoZSBlcnJvcicsICgpID0+IHtcbiAgICBleHBlY3QoKCkgPT4gcGFyc2VUaW1lSW5wdXQoJ3llc3RlcmRheS1pc2gnLCAnc2luY2UnKSkudG9UaHJvdygnLS1zaW5jZScpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgncmVzb2x2ZVRpbWVXaW5kb3cnLCAoKSA9PiB7XG4gIGl0KCdyZXR1cm5zIHVuZGVmaW5lZCB3aGVuIG5laXRoZXIgZmxhZyBpcyBnaXZlbicsICgpID0+IHtcbiAgICBleHBlY3QocmVzb2x2ZVRpbWVXaW5kb3coe30pKS50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xuXG4gIGl0KCdkZWZhdWx0cyB0aGUgZW5kIHRvIG5vdyB3aGVuIG9ubHkgLS1zaW5jZSBpcyBnaXZlbicsICgpID0+IHtcbiAgICB2aS5zcHlPbihEYXRlLCAnbm93JykubW9ja1JldHVyblZhbHVlKE5PVy5nZXRUaW1lKCkpO1xuICAgIGV4cGVjdChyZXNvbHZlVGltZVdpbmRvdyh7IHNpbmNlOiAnMjRoJyB9KSkudG9FcXVhbCh7XG4gICAgICBzdGFydFRpbWU6ICcyMDI2LTA3LTA2VDEyOjAwOjAwLjAwMFonLFxuICAgICAgZW5kVGltZTogJzIwMjYtMDctMDdUMTI6MDA6MDAuMDAwWicsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdyZWplY3RzIC0tdW50aWwgd2l0aG91dCAtLXNpbmNlJywgKCkgPT4ge1xuICAgIGV4cGVjdCgoKSA9PiByZXNvbHZlVGltZVdpbmRvdyh7IHVudGlsOiAnMWgnIH0pKS50b1Rocm93KFxuICAgICAgJy0tdW50aWwgcmVxdWlyZXMgLS1zaW5jZSdcbiAgICApO1xuICB9KTtcblxuICBpdCgncmVqZWN0cyBpbnZlcnRlZCB3aW5kb3dzJywgKCkgPT4ge1xuICAgIGV4cGVjdCgoKSA9PiByZXNvbHZlVGltZVdpbmRvdyh7IHNpbmNlOiAnMWgnLCB1bnRpbDogJzJoJyB9KSkudG9UaHJvdyhcbiAgICAgICctLXNpbmNlIG11c3QgYmUgZWFybGllciB0aGFuIC0tdW50aWwnXG4gICAgKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ3BsYW5XaW5kb3dTdGFydEZyb21SZXNwb25zZScsICgpID0+IHtcbiAgaXQoJ2V4dHJhY3RzIHRoZSBwbGFuIHdpbmRvdyBzdGFydCBmcm9tIHBhZ2UgbWV0YWRhdGEnLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgcGxhbldpbmRvd1N0YXJ0RnJvbVJlc3BvbnNlKHtcbiAgICAgICAgZGF0YTogW10sXG4gICAgICAgIHBhZ2VJbmZvOiB7XG4gICAgICAgICAgY3VycmVudExvb2tiYWNrRGF5czogMzAsXG4gICAgICAgICAgbWF4TG9va2JhY2tEYXlzOiAzMCxcbiAgICAgICAgICBjdXJyZW50V2luZG93U3RhcnQ6ICcyMDI2LTA2LTA3VDEyOjAwOjAwLjAwMFonLFxuICAgICAgICAgIG1heFdpbmRvd1N0YXJ0OiAnMjAyNi0wNi0wN1QxMjowMDowMC4wMDBaJyxcbiAgICAgICAgICB1cGdyYWRlQXZhaWxhYmxlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKS50b0JlKCcyMDI2LTA2LTA3VDEyOjAwOjAwLjAwMFonKTtcbiAgfSk7XG5cbiAgaXQoJ3JldHVybnMgdW5kZWZpbmVkIHdpdGhvdXQgcGFnZSBtZXRhZGF0YScsICgpID0+IHtcbiAgICBleHBlY3QocGxhbldpbmRvd1N0YXJ0RnJvbVJlc3BvbnNlKHsgZGF0YTogW10gfSkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QocGxhbldpbmRvd1N0YXJ0RnJvbVJlc3BvbnNlKG51bGwpKS50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -6,7 +6,10 @@ export declare function fetchTeamInfo(teamId: string, authToken: string): Promis
|
|
|
6
6
|
teamSlug: string;
|
|
7
7
|
} | null>;
|
|
8
8
|
/**
|
|
9
|
-
* Get the Vercel dashboard URL for workflows
|
|
9
|
+
* Get the Vercel dashboard URL for workflows.
|
|
10
|
+
*
|
|
11
|
+
* Format: https://vercel.com/<teamSlug>/<projectSlug>/workflows/runs/<runId>?environment=<env>
|
|
12
|
+
* (the older `/observability/workflows` route is no longer used).
|
|
10
13
|
*/
|
|
11
|
-
export declare function getVercelDashboardUrl(teamSlug: string, projectName: string, resource: string, id?: string): string;
|
|
14
|
+
export declare function getVercelDashboardUrl(teamSlug: string, projectName: string, resource: string, id?: string, environment?: string): string;
|
|
12
15
|
//# sourceMappingURL=vercel-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-api.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/vercel-api.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAqDtC;
|
|
1
|
+
{"version":3,"file":"vercel-api.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/vercel-api.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAqDtC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,WAAW,SAAe,GACzB,MAAM,CAYR"}
|