@glubean/runner 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +60 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +51 -0
- package/dist/config.js.map +1 -0
- package/dist/executor.d.ts +290 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +347 -0
- package/dist/executor.js.map +1 -0
- package/dist/harness.d.ts +9 -0
- package/dist/harness.d.ts.map +1 -0
- package/dist/harness.js +1487 -0
- package/dist/harness.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/network_budget.d.ts +9 -0
- package/dist/network_budget.d.ts.map +1 -0
- package/dist/network_budget.js +34 -0
- package/dist/network_budget.js.map +1 -0
- package/dist/network_policy.d.ts +12 -0
- package/dist/network_policy.d.ts.map +1 -0
- package/dist/network_policy.js +92 -0
- package/dist/network_policy.js.map +1 -0
- package/dist/resolve.d.ts +98 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +209 -0
- package/dist/resolve.js.map +1 -0
- package/dist/thresholds.d.ts +40 -0
- package/dist/thresholds.d.ts.map +1 -0
- package/dist/thresholds.js +152 -0
- package/dist/thresholds.js.map +1 -0
- package/package.json +27 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { TestExecutor } from "./executor.js";
|
|
2
|
+
export type { EventHandler, ExecutionBatchResult, ExecutionContext, ExecutionEvent, ExecutionNetworkPolicy, ExecutionOptions, ExecutionResult, ExecutorOptions, SingleExecutionOptions, TimelineEvent, } from "./executor.js";
|
|
3
|
+
export { LOCAL_RUN_DEFAULTS, normalizePositiveTimeoutMs, SHARED_RUN_DEFAULTS, toExecutionOptions, toSingleExecutionOptions, WORKER_RUN_DEFAULTS, } from "./config.js";
|
|
4
|
+
export type { SharedRunConfig } from "./config.js";
|
|
5
|
+
export { autoResolve, findTestByExport, findTestById, isEachBuilder, isTest, isTestBuilder, resolveModuleTests, } from "./resolve.js";
|
|
6
|
+
export type { ResolvedTest } from "./resolve.js";
|
|
7
|
+
export { aggregate, evaluateThresholds, MetricCollector, parseExpression } from "./thresholds.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,MAAM,EACN,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TestExecutor } from "./executor.js";
|
|
2
|
+
export { LOCAL_RUN_DEFAULTS, normalizePositiveTimeoutMs, SHARED_RUN_DEFAULTS, toExecutionOptions, toSingleExecutionOptions, WORKER_RUN_DEFAULTS, } from "./config.js";
|
|
3
|
+
export { autoResolve, findTestByExport, findTestById, isEachBuilder, isTest, isTestBuilder, resolveModuleTests, } from "./resolve.js";
|
|
4
|
+
export { aggregate, evaluateThresholds, MetricCollector, parseExpression } from "./thresholds.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAc7C,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,MAAM,EACN,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ResponseBudgetOptions {
|
|
2
|
+
requestUrl: URL;
|
|
3
|
+
maxResponseBytes: number;
|
|
4
|
+
getUsedResponseBytes: () => number;
|
|
5
|
+
addUsedResponseBytes: (delta: number) => void;
|
|
6
|
+
emitWarning: (code: string, message: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function applyResponseByteBudget(response: Response, options: ResponseBudgetOptions): Response;
|
|
9
|
+
//# sourceMappingURL=network_budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network_budget.d.ts","sourceRoot":"","sources":["../src/network_budget.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,GAAG,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,MAAM,CAAC;IACnC,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAQD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,qBAAqB,GAC7B,QAAQ,CA2CV"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
function createBudgetExceededError(maxResponseBytes) {
|
|
2
|
+
return new Error(`Network policy exceeded response-byte budget (${maxResponseBytes}).`);
|
|
3
|
+
}
|
|
4
|
+
export function applyResponseByteBudget(response, options) {
|
|
5
|
+
if (!response.body)
|
|
6
|
+
return response;
|
|
7
|
+
const contentLength = Number(response.headers.get("content-length") ?? "");
|
|
8
|
+
if (Number.isFinite(contentLength) && contentLength > 0) {
|
|
9
|
+
if (options.getUsedResponseBytes() + contentLength > options.maxResponseBytes) {
|
|
10
|
+
options.emitWarning("response_budget_exceeded", `Response-byte budget exceeded (${options.maxResponseBytes})`);
|
|
11
|
+
throw createBudgetExceededError(options.maxResponseBytes);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
options.emitWarning("response_size_unknown", `No content-length for ${options.requestUrl.href}; enforcing response-byte budget via stream counting.`);
|
|
16
|
+
}
|
|
17
|
+
const budgetedBody = response.body.pipeThrough(new TransformStream({
|
|
18
|
+
transform(chunk, controller) {
|
|
19
|
+
options.addUsedResponseBytes(chunk.byteLength);
|
|
20
|
+
if (options.getUsedResponseBytes() > options.maxResponseBytes) {
|
|
21
|
+
options.emitWarning("response_budget_exceeded", `Response-byte budget exceeded (${options.maxResponseBytes})`);
|
|
22
|
+
controller.error(createBudgetExceededError(options.maxResponseBytes));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
controller.enqueue(chunk);
|
|
26
|
+
},
|
|
27
|
+
}));
|
|
28
|
+
return new Response(budgetedBody, {
|
|
29
|
+
status: response.status,
|
|
30
|
+
statusText: response.statusText,
|
|
31
|
+
headers: response.headers,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=network_budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network_budget.js","sourceRoot":"","sources":["../src/network_budget.ts"],"names":[],"mappings":"AAQA,SAAS,yBAAyB,CAAC,gBAAwB;IACzD,OAAO,IAAI,KAAK,CACd,iDAAiD,gBAAgB,IAAI,CACtE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAkB,EAClB,OAA8B;IAE9B,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAEpC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACxD,IACE,OAAO,CAAC,oBAAoB,EAAE,GAAG,aAAa,GAAG,OAAO,CAAC,gBAAgB,EACzE,CAAC;YACD,OAAO,CAAC,WAAW,CACjB,0BAA0B,EAC1B,kCAAkC,OAAO,CAAC,gBAAgB,GAAG,CAC9D,CAAC;YACF,MAAM,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,WAAW,CACjB,uBAAuB,EACvB,yBAAyB,OAAO,CAAC,UAAU,CAAC,IAAI,uDAAuD,CACxG,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAC5C,IAAI,eAAe,CAAyB;QAC1C,SAAS,CAAC,KAAK,EAAE,UAAU;YACzB,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,OAAO,CAAC,oBAAoB,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC9D,OAAO,CAAC,WAAW,CACjB,0BAA0B,EAC1B,kCAAkC,OAAO,CAAC,gBAAgB,GAAG,CAC9D,CAAC;gBACF,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC,CACH,CAAC;IAEF,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE;QAChC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for shared-serverless network guardrails.
|
|
3
|
+
*/
|
|
4
|
+
export declare const SHARED_SERVERLESS_BLOCKED_HOSTNAMES: Set<string>;
|
|
5
|
+
export declare const SHARED_SERVERLESS_METADATA_IPS: Set<string>;
|
|
6
|
+
export declare function isIpLiteral(hostname: string): boolean;
|
|
7
|
+
export declare function resolveUrlPort(url: URL): number;
|
|
8
|
+
export declare function isAllowedProtocol(protocol: string): boolean;
|
|
9
|
+
export declare function isAllowedPort(port: number, allowedPorts: number[]): boolean;
|
|
10
|
+
export declare function classifyHostnameBlockReason(hostname: string): string | undefined;
|
|
11
|
+
export declare function classifyIpBlockReason(ip: string): string | undefined;
|
|
12
|
+
//# sourceMappingURL=network_policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network_policy.d.ts","sourceRoot":"","sources":["../src/network_policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,mCAAmC,aAK9C,CAAC;AAEH,eAAO,MAAM,8BAA8B,aAIzC,CAAC;AAEH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAG/C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAE3E;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMhF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8BpE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for shared-serverless network guardrails.
|
|
3
|
+
*/
|
|
4
|
+
export const SHARED_SERVERLESS_BLOCKED_HOSTNAMES = new Set([
|
|
5
|
+
"localhost",
|
|
6
|
+
"localhost.localdomain",
|
|
7
|
+
"metadata.google.internal",
|
|
8
|
+
"metadata",
|
|
9
|
+
]);
|
|
10
|
+
export const SHARED_SERVERLESS_METADATA_IPS = new Set([
|
|
11
|
+
"169.254.169.254", // AWS / GCP / Azure metadata endpoint
|
|
12
|
+
"100.100.100.200", // Alibaba Cloud metadata endpoint
|
|
13
|
+
"fd00:ec2::254", // AWS IPv6 metadata endpoint
|
|
14
|
+
]);
|
|
15
|
+
export function isIpLiteral(hostname) {
|
|
16
|
+
const normalized = unwrapIpBrackets(hostname.toLowerCase());
|
|
17
|
+
return isIpv4(normalized) || isIpv6(normalized);
|
|
18
|
+
}
|
|
19
|
+
export function resolveUrlPort(url) {
|
|
20
|
+
if (url.port)
|
|
21
|
+
return Number(url.port);
|
|
22
|
+
return url.protocol === "https:" ? 443 : 80;
|
|
23
|
+
}
|
|
24
|
+
export function isAllowedProtocol(protocol) {
|
|
25
|
+
return protocol === "http:" || protocol === "https:";
|
|
26
|
+
}
|
|
27
|
+
export function isAllowedPort(port, allowedPorts) {
|
|
28
|
+
return allowedPorts.includes(port);
|
|
29
|
+
}
|
|
30
|
+
export function classifyHostnameBlockReason(hostname) {
|
|
31
|
+
const normalized = hostname.toLowerCase();
|
|
32
|
+
if (SHARED_SERVERLESS_BLOCKED_HOSTNAMES.has(normalized)) {
|
|
33
|
+
return "blocked_hostname";
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
export function classifyIpBlockReason(ip) {
|
|
38
|
+
const normalized = unwrapIpBrackets(ip.toLowerCase());
|
|
39
|
+
if (SHARED_SERVERLESS_METADATA_IPS.has(normalized)) {
|
|
40
|
+
return "metadata_ip";
|
|
41
|
+
}
|
|
42
|
+
if (isIpv4(normalized)) {
|
|
43
|
+
const octets = normalized.split(".").map((value) => Number(value));
|
|
44
|
+
const [a, b] = octets;
|
|
45
|
+
if (a === 127 || a === 0)
|
|
46
|
+
return "loopback_ip";
|
|
47
|
+
if (a === 10)
|
|
48
|
+
return "private_ip";
|
|
49
|
+
if (a === 192 && b === 168)
|
|
50
|
+
return "private_ip";
|
|
51
|
+
if (a === 172 && b >= 16 && b <= 31)
|
|
52
|
+
return "private_ip";
|
|
53
|
+
if (a === 169 && b === 254)
|
|
54
|
+
return "link_local_ip";
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
if (isIpv6(normalized)) {
|
|
58
|
+
if (normalized === "::1")
|
|
59
|
+
return "loopback_ip";
|
|
60
|
+
if (normalized.startsWith("fe80:"))
|
|
61
|
+
return "link_local_ip";
|
|
62
|
+
if (normalized.startsWith("fc") || normalized.startsWith("fd")) {
|
|
63
|
+
return "private_ip";
|
|
64
|
+
}
|
|
65
|
+
if (normalized.startsWith("::ffff:")) {
|
|
66
|
+
const mapped = normalized.slice("::ffff:".length);
|
|
67
|
+
return classifyIpBlockReason(mapped);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
function isIpv4(value) {
|
|
73
|
+
const parts = value.split(".");
|
|
74
|
+
if (parts.length !== 4)
|
|
75
|
+
return false;
|
|
76
|
+
return parts.every((part) => {
|
|
77
|
+
if (!/^\d+$/.test(part))
|
|
78
|
+
return false;
|
|
79
|
+
const n = Number(part);
|
|
80
|
+
return n >= 0 && n <= 255;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function isIpv6(value) {
|
|
84
|
+
return value.includes(":");
|
|
85
|
+
}
|
|
86
|
+
function unwrapIpBrackets(value) {
|
|
87
|
+
if (value.startsWith("[") && value.endsWith("]")) {
|
|
88
|
+
return value.slice(1, -1);
|
|
89
|
+
}
|
|
90
|
+
return value;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=network_policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network_policy.js","sourceRoot":"","sources":["../src/network_policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test resolution utilities.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from harness.ts so that both the runner sandbox and external
|
|
5
|
+
* consumers (e.g. MCP server) can resolve module exports into Test objects
|
|
6
|
+
* using the same logic.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type { Test } from "@glubean/sdk";
|
|
11
|
+
/**
|
|
12
|
+
* Lightweight metadata about a discovered test.
|
|
13
|
+
*
|
|
14
|
+
* Returned by {@link resolveModuleTests} after resolving all export shapes
|
|
15
|
+
* (plain `Test`, `Test[]`, `TestBuilder`, `EachBuilder`).
|
|
16
|
+
*
|
|
17
|
+
* Consumers should use `id` for routing (passing to the runner) and
|
|
18
|
+
* `exportName` for display / fallback lookup.
|
|
19
|
+
*/
|
|
20
|
+
export interface ResolvedTest {
|
|
21
|
+
exportName: string;
|
|
22
|
+
id: string;
|
|
23
|
+
name?: string;
|
|
24
|
+
tags?: string[];
|
|
25
|
+
type: "simple" | "steps";
|
|
26
|
+
only?: boolean;
|
|
27
|
+
skip?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Type guard — check if a value is a resolved `Test` object.
|
|
31
|
+
*
|
|
32
|
+
* A Test has `meta` (with at least `id`) and `type` ("simple" | "steps").
|
|
33
|
+
*/
|
|
34
|
+
export declare function isTest(obj: unknown): obj is Test<unknown>;
|
|
35
|
+
/**
|
|
36
|
+
* Type guard — check if a value is an un-built `TestBuilder`.
|
|
37
|
+
*
|
|
38
|
+
* The builder carries `__glubean_type === "builder"` and a `build()` method
|
|
39
|
+
* that returns a single `Test`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isTestBuilder(obj: unknown): obj is {
|
|
42
|
+
__glubean_type: "builder";
|
|
43
|
+
build(): Test<unknown>;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Type guard — check if a value is an un-built `EachBuilder`
|
|
47
|
+
* (from `test.each()` builder mode).
|
|
48
|
+
*
|
|
49
|
+
* The builder carries `__glubean_type === "each-builder"` and a `build()`
|
|
50
|
+
* method that returns a `Test[]`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function isEachBuilder(obj: unknown): obj is {
|
|
53
|
+
__glubean_type: "each-builder";
|
|
54
|
+
build(): Test<unknown>[];
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* If the value is a `TestBuilder`, call `.build()` to get a `Test`.
|
|
58
|
+
* If the value is an `EachBuilder`, call `.build()` to get a `Test[]`.
|
|
59
|
+
* Otherwise return as-is.
|
|
60
|
+
*/
|
|
61
|
+
export declare function autoResolve(value: unknown): unknown;
|
|
62
|
+
/**
|
|
63
|
+
* Enumerate all tests from an imported module.
|
|
64
|
+
*
|
|
65
|
+
* Handles every export shape produced by the SDK:
|
|
66
|
+
* - Plain `Test` object (`test("id", fn)` or built builder)
|
|
67
|
+
* - `Test[]` array (`test.each(data)("id-$key", fn)`)
|
|
68
|
+
* - Un-built `TestBuilder` (`test("id").step(...)`)
|
|
69
|
+
* - Un-built `EachBuilder` (`test.each(data)("id-$key").step(...)`)
|
|
70
|
+
*
|
|
71
|
+
* @param module The imported user module (`await import(url)`)
|
|
72
|
+
* @returns Array of {@link ResolvedTest} metadata for every discovered test
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolveModuleTests(module: Record<string, unknown>): ResolvedTest[];
|
|
75
|
+
/**
|
|
76
|
+
* Find a test by its `meta.id` in an imported module.
|
|
77
|
+
*
|
|
78
|
+
* Searches: default export, direct export keyed by testId, then all exports.
|
|
79
|
+
* Automatically builds any `TestBuilder` or `EachBuilder` it encounters.
|
|
80
|
+
*
|
|
81
|
+
* @param userModule The imported user test module
|
|
82
|
+
* @param testId The test ID (`meta.id`) to find
|
|
83
|
+
* @returns The `Test` object if found, `undefined` otherwise
|
|
84
|
+
*/
|
|
85
|
+
export declare function findTestById(userModule: Record<string, unknown>, testId: string): Test<unknown> | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Find a test by its export name instead of test ID.
|
|
88
|
+
*
|
|
89
|
+
* Used as a fallback for non-deterministic tests like `test.pick()`, where
|
|
90
|
+
* the test ID from discovery may differ from the current run's random
|
|
91
|
+
* selection. The export name (e.g. `"searchProducts"`) is stable across runs.
|
|
92
|
+
*
|
|
93
|
+
* @param userModule The imported user test module
|
|
94
|
+
* @param name The export name to look up
|
|
95
|
+
* @returns The first `Test` object found in that export, or `undefined`
|
|
96
|
+
*/
|
|
97
|
+
export declare function findTestByExport(userModule: Record<string, unknown>, name: string): Test<unknown> | undefined;
|
|
98
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMzC;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IAAE,cAAc,EAAE,SAAS,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;CAAE,CAO9D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,GACX,GAAG,IAAI;IAAE,cAAc,EAAE,cAAc,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;CAAE,CAOrE;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAInD;AA2BD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,YAAY,EAAE,CAQhB;AAiDD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EAAE,MAAM,GACb,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CA2B3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,EAAE,MAAM,GACX,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAiB3B"}
|
package/dist/resolve.js
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test resolution utilities.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from harness.ts so that both the runner sandbox and external
|
|
5
|
+
* consumers (e.g. MCP server) can resolve module exports into Test objects
|
|
6
|
+
* using the same logic.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Type guards
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
/**
|
|
14
|
+
* Type guard — check if a value is a resolved `Test` object.
|
|
15
|
+
*
|
|
16
|
+
* A Test has `meta` (with at least `id`) and `type` ("simple" | "steps").
|
|
17
|
+
*/
|
|
18
|
+
export function isTest(obj) {
|
|
19
|
+
return (typeof obj === "object" &&
|
|
20
|
+
obj !== null &&
|
|
21
|
+
"meta" in obj &&
|
|
22
|
+
"type" in obj &&
|
|
23
|
+
(obj.type === "simple" ||
|
|
24
|
+
obj.type === "steps"));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Type guard — check if a value is an un-built `TestBuilder`.
|
|
28
|
+
*
|
|
29
|
+
* The builder carries `__glubean_type === "builder"` and a `build()` method
|
|
30
|
+
* that returns a single `Test`.
|
|
31
|
+
*/
|
|
32
|
+
export function isTestBuilder(obj) {
|
|
33
|
+
return (typeof obj === "object" &&
|
|
34
|
+
obj !== null &&
|
|
35
|
+
obj.__glubean_type === "builder" &&
|
|
36
|
+
typeof obj.build === "function");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Type guard — check if a value is an un-built `EachBuilder`
|
|
40
|
+
* (from `test.each()` builder mode).
|
|
41
|
+
*
|
|
42
|
+
* The builder carries `__glubean_type === "each-builder"` and a `build()`
|
|
43
|
+
* method that returns a `Test[]`.
|
|
44
|
+
*/
|
|
45
|
+
export function isEachBuilder(obj) {
|
|
46
|
+
return (typeof obj === "object" &&
|
|
47
|
+
obj !== null &&
|
|
48
|
+
obj.__glubean_type === "each-builder" &&
|
|
49
|
+
typeof obj.build === "function");
|
|
50
|
+
}
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// Auto-resolve helpers
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
/**
|
|
55
|
+
* If the value is a `TestBuilder`, call `.build()` to get a `Test`.
|
|
56
|
+
* If the value is an `EachBuilder`, call `.build()` to get a `Test[]`.
|
|
57
|
+
* Otherwise return as-is.
|
|
58
|
+
*/
|
|
59
|
+
export function autoResolve(value) {
|
|
60
|
+
if (isTestBuilder(value))
|
|
61
|
+
return value.build();
|
|
62
|
+
if (isEachBuilder(value))
|
|
63
|
+
return value.build();
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Search a resolved value (single `Test` or `Test[]`) for a matching test ID.
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
function findInResolved(resolved, testId) {
|
|
71
|
+
if (isTest(resolved) && resolved.meta?.id === testId) {
|
|
72
|
+
return resolved;
|
|
73
|
+
}
|
|
74
|
+
if (Array.isArray(resolved)) {
|
|
75
|
+
for (const item of resolved) {
|
|
76
|
+
if (isTest(item) && item.meta?.id === testId) {
|
|
77
|
+
return item;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
// ---------------------------------------------------------------------------
|
|
84
|
+
// Module-level resolution
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
/**
|
|
87
|
+
* Enumerate all tests from an imported module.
|
|
88
|
+
*
|
|
89
|
+
* Handles every export shape produced by the SDK:
|
|
90
|
+
* - Plain `Test` object (`test("id", fn)` or built builder)
|
|
91
|
+
* - `Test[]` array (`test.each(data)("id-$key", fn)`)
|
|
92
|
+
* - Un-built `TestBuilder` (`test("id").step(...)`)
|
|
93
|
+
* - Un-built `EachBuilder` (`test.each(data)("id-$key").step(...)`)
|
|
94
|
+
*
|
|
95
|
+
* @param module The imported user module (`await import(url)`)
|
|
96
|
+
* @returns Array of {@link ResolvedTest} metadata for every discovered test
|
|
97
|
+
*/
|
|
98
|
+
export function resolveModuleTests(module) {
|
|
99
|
+
const tests = [];
|
|
100
|
+
for (const [exportName, value] of Object.entries(module)) {
|
|
101
|
+
collectTests(exportName, value, tests);
|
|
102
|
+
}
|
|
103
|
+
return tests;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Resolve a single export value and push any discovered tests into `out`.
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
function collectTests(exportName, value, out) {
|
|
110
|
+
const resolved = autoResolve(value);
|
|
111
|
+
if (isTest(resolved)) {
|
|
112
|
+
out.push(toResolvedTest(exportName, resolved));
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (Array.isArray(resolved)) {
|
|
116
|
+
for (const item of resolved) {
|
|
117
|
+
const resolvedItem = autoResolve(item);
|
|
118
|
+
if (isTest(resolvedItem)) {
|
|
119
|
+
out.push(toResolvedTest(exportName, resolvedItem));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Map a `Test` object to a lightweight `ResolvedTest` record.
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
function toResolvedTest(exportName, test) {
|
|
129
|
+
const meta = test.meta;
|
|
130
|
+
return {
|
|
131
|
+
exportName,
|
|
132
|
+
id: meta.id,
|
|
133
|
+
name: meta.name,
|
|
134
|
+
tags: Array.isArray(meta.tags) ? meta.tags : typeof meta.tags === "string" ? [meta.tags] : undefined,
|
|
135
|
+
type: test.type,
|
|
136
|
+
only: meta.only ?? undefined,
|
|
137
|
+
skip: meta.skip ?? undefined,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
// ---------------------------------------------------------------------------
|
|
141
|
+
// Single-test lookup (used by runner harness during execution)
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
/**
|
|
144
|
+
* Find a test by its `meta.id` in an imported module.
|
|
145
|
+
*
|
|
146
|
+
* Searches: default export, direct export keyed by testId, then all exports.
|
|
147
|
+
* Automatically builds any `TestBuilder` or `EachBuilder` it encounters.
|
|
148
|
+
*
|
|
149
|
+
* @param userModule The imported user test module
|
|
150
|
+
* @param testId The test ID (`meta.id`) to find
|
|
151
|
+
* @returns The `Test` object if found, `undefined` otherwise
|
|
152
|
+
*/
|
|
153
|
+
export function findTestById(userModule, testId) {
|
|
154
|
+
// Check default export
|
|
155
|
+
const defaultResolved = autoResolve(userModule.default);
|
|
156
|
+
const fromDefault = findInResolved(defaultResolved, testId);
|
|
157
|
+
if (fromDefault)
|
|
158
|
+
return fromDefault;
|
|
159
|
+
// Check direct export by testId
|
|
160
|
+
const directResolved = autoResolve(userModule[testId]);
|
|
161
|
+
const fromDirect = findInResolved(directResolved, testId);
|
|
162
|
+
if (fromDirect)
|
|
163
|
+
return fromDirect;
|
|
164
|
+
for (const value of Object.values(userModule)) {
|
|
165
|
+
const resolved = autoResolve(value);
|
|
166
|
+
const found = findInResolved(resolved, testId);
|
|
167
|
+
if (found)
|
|
168
|
+
return found;
|
|
169
|
+
// Also support plain Test[] arrays (test.each simple mode exports)
|
|
170
|
+
if (Array.isArray(value)) {
|
|
171
|
+
for (const item of value) {
|
|
172
|
+
const resolvedItem = autoResolve(item);
|
|
173
|
+
const foundItem = findInResolved(resolvedItem, testId);
|
|
174
|
+
if (foundItem)
|
|
175
|
+
return foundItem;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Find a test by its export name instead of test ID.
|
|
183
|
+
*
|
|
184
|
+
* Used as a fallback for non-deterministic tests like `test.pick()`, where
|
|
185
|
+
* the test ID from discovery may differ from the current run's random
|
|
186
|
+
* selection. The export name (e.g. `"searchProducts"`) is stable across runs.
|
|
187
|
+
*
|
|
188
|
+
* @param userModule The imported user test module
|
|
189
|
+
* @param name The export name to look up
|
|
190
|
+
* @returns The first `Test` object found in that export, or `undefined`
|
|
191
|
+
*/
|
|
192
|
+
export function findTestByExport(userModule, name) {
|
|
193
|
+
const value = userModule[name];
|
|
194
|
+
if (value === undefined)
|
|
195
|
+
return undefined;
|
|
196
|
+
const resolved = autoResolve(value);
|
|
197
|
+
if (isTest(resolved)) {
|
|
198
|
+
return resolved;
|
|
199
|
+
}
|
|
200
|
+
if (Array.isArray(resolved)) {
|
|
201
|
+
for (const item of resolved) {
|
|
202
|
+
if (isTest(item)) {
|
|
203
|
+
return item;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return undefined;
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2BH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAY;IACjC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACb,MAAM,IAAI,GAAG;QACb,CAAE,GAAqB,CAAC,IAAI,KAAK,QAAQ;YACtC,GAAqB,CAAC,IAAI,KAAK,OAAO,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAY;IAEZ,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACX,GAA+B,CAAC,cAAc,KAAK,SAAS;QAC7D,OAAQ,GAA+B,CAAC,KAAK,KAAK,UAAU,CAC7D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAY;IAEZ,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACX,GAA+B,CAAC,cAAc,KAAK,cAAc;QAClE,OAAQ,GAA+B,CAAC,KAAK,KAAK,UAAU,CAC7D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/C,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,QAAiB,EACjB,MAAc;IAEd,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;QACrD,OAAO,QAAyB,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC7C,OAAO,IAAqB,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA+B;IAE/B,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACnB,UAAkB,EAClB,KAAc,EACd,GAAmB;IAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAkB,EAAE,IAAmB;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,OAAO;QACL,UAAU;QACV,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACpG,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAmC,EACnC,MAAc;IAEd,uBAAuB;IACvB,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,gCAAgC;IAChC,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,mEAAmE;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,SAAS;oBAAE,OAAO,SAAS,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAmC,EACnC,IAAY;IAEZ,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,QAAyB,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,OAAO,IAAqB,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|