@qaick/runner 0.29.0 → 0.30.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/package-dist/package.json +5 -5
- package/package-dist/src/runner/RunnerModule.d.ts +11 -2
- package/package-dist/src/runner/RunnerModule.d.ts.map +1 -1
- package/package-dist/src/runner/RunnerModule.js +43 -31
- package/package-dist/src/runner/RunnerModule.js.map +1 -1
- package/package-dist/src/runner/action-template-lowering.d.ts +18 -0
- package/package-dist/src/runner/action-template-lowering.d.ts.map +1 -0
- package/package-dist/src/runner/action-template-lowering.js +79 -0
- package/package-dist/src/runner/action-template-lowering.js.map +1 -0
- package/package-dist/src/runner/adapters.d.ts +45 -0
- package/package-dist/src/runner/adapters.d.ts.map +1 -0
- package/package-dist/src/runner/adapters.js +203 -0
- package/package-dist/src/runner/adapters.js.map +1 -0
- package/package-dist/src/runner/execution-context.d.ts +3 -0
- package/package-dist/src/runner/execution-context.d.ts.map +1 -0
- package/package-dist/src/runner/execution-context.js +4 -0
- package/package-dist/src/runner/execution-context.js.map +1 -0
- package/package-dist/src/runner/fixture.d.ts.map +1 -1
- package/package-dist/src/runner/fixture.js +14 -27
- package/package-dist/src/runner/fixture.js.map +1 -1
- package/package-dist/src/runner/legacy-types.d.ts +81 -0
- package/package-dist/src/runner/legacy-types.d.ts.map +1 -0
- package/package-dist/src/runner/legacy-types.js +7 -0
- package/package-dist/src/runner/legacy-types.js.map +1 -0
- package/package-dist/src/runner/package-loader.d.ts +3 -2
- package/package-dist/src/runner/package-loader.d.ts.map +1 -1
- package/package-dist/src/runner/package-loader.js +3 -112
- package/package-dist/src/runner/package-loader.js.map +1 -1
- package/package-dist/src/runner/runtime-client-adapter.d.ts +25 -0
- package/package-dist/src/runner/runtime-client-adapter.d.ts.map +1 -1
- package/package-dist/src/runner/runtime-client-adapter.js +43 -2
- package/package-dist/src/runner/runtime-client-adapter.js.map +1 -1
- package/package-dist/src/runner/studio-artifact-loader.d.ts +3 -5
- package/package-dist/src/runner/studio-artifact-loader.d.ts.map +1 -1
- package/package-dist/src/runner/studio-artifact-loader.js +4 -335
- package/package-dist/src/runner/studio-artifact-loader.js.map +1 -1
- package/package-dist/src/runner/studio-hierarchy-loader.d.ts +10 -0
- package/package-dist/src/runner/studio-hierarchy-loader.d.ts.map +1 -0
- package/package-dist/src/runner/studio-hierarchy-loader.js +271 -0
- package/package-dist/src/runner/studio-hierarchy-loader.js.map +1 -0
- package/package-dist/src/runner/types.d.ts +12 -0
- package/package-dist/src/runner/types.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { PackageLoadError } from './package-load-error.js';
|
|
2
|
+
import { isApiResponseField } from '@qaick/contract';
|
|
3
|
+
function actionOutputNames(action) {
|
|
4
|
+
const declared = Array.isArray(action.outputs) ? action.outputs.filter(isRecord).flatMap(output => typeof output.name === 'string' ? [output.name] : []) : [];
|
|
5
|
+
if (action.type !== 'api' && !isRecord(action.api))
|
|
6
|
+
return declared;
|
|
7
|
+
return [...new Set([...declared, 'status', 'body', 'headers', 'cookies'])];
|
|
8
|
+
}
|
|
9
|
+
function parseHeaders(value) {
|
|
10
|
+
const parsed = typeof value === 'string'
|
|
11
|
+
? (() => { try {
|
|
12
|
+
return JSON.parse(value);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return undefined;
|
|
16
|
+
} })()
|
|
17
|
+
: value;
|
|
18
|
+
if (!isRecord(parsed))
|
|
19
|
+
return {};
|
|
20
|
+
return Object.fromEntries(Object.entries(parsed).map(([name, headerValue]) => [name, String(headerValue)]));
|
|
21
|
+
}
|
|
22
|
+
function parseQuery(value) {
|
|
23
|
+
const parsed = typeof value === 'string'
|
|
24
|
+
? (() => { try {
|
|
25
|
+
return JSON.parse(value);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return undefined;
|
|
29
|
+
} })()
|
|
30
|
+
: value;
|
|
31
|
+
if (!isRecord(parsed) || Array.isArray(parsed))
|
|
32
|
+
throw new PackageLoadError('Studio API query parameters must be a JSON object.');
|
|
33
|
+
return parsed;
|
|
34
|
+
}
|
|
35
|
+
export function runtimeTemplates(value) {
|
|
36
|
+
if (typeof value === 'string')
|
|
37
|
+
return runtimeTemplate(value);
|
|
38
|
+
if (Array.isArray(value))
|
|
39
|
+
return value.map(runtimeTemplates);
|
|
40
|
+
if (isRecord(value))
|
|
41
|
+
return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, runtimeTemplates(item)]));
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
function runtimeTemplate(value) { return value.replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g, '{{inputs.$1}}'); }
|
|
45
|
+
function literalSeconds(value) { return isRecord(value) && value.type === 'literal' && typeof value.value === 'number' && value.value >= 0 ? value.value * 1000 : undefined; }
|
|
46
|
+
function isRecord(value) { return typeof value === 'object' && value !== null; }
|
|
47
|
+
export function lowerStudioActionOccurrence(node, definitions, inputs) {
|
|
48
|
+
if (typeof node.id !== 'string' || typeof node.label !== 'string')
|
|
49
|
+
throw new PackageLoadError('Incomplete Action occurrence.');
|
|
50
|
+
if (typeof node.actionId !== 'string')
|
|
51
|
+
throw new PackageLoadError(`Studio Action node ${node.id} has no action reference.`);
|
|
52
|
+
if (!isRecord(node.actionDefinition) || typeof node.actionDefinition.id !== 'string' || !node.actionDefinition.id.trim())
|
|
53
|
+
throw new PackageLoadError(`Missing owned Action definition for occurrence ${node.id} (${node.clientId ?? 'local'}:${node.actionId}).`);
|
|
54
|
+
const runtimeAction = node.actionDefinition;
|
|
55
|
+
const api = isRecord(runtimeAction?.api) ? runtimeAction.api : undefined;
|
|
56
|
+
const isApiAction = runtimeAction?.type === 'api' || api !== undefined;
|
|
57
|
+
const action = isApiAction ? `http.${node.actionId}` : `studio:${node.clientId ?? 'project'}:${node.actionId}`;
|
|
58
|
+
if (!definitions.some(definition => definition.id === action))
|
|
59
|
+
definitions.push({ id: action, kind: 'action', name: node.label });
|
|
60
|
+
const outputNames = actionOutputNames(runtimeAction);
|
|
61
|
+
const response = api && isRecord(api.response) ? api.response : undefined;
|
|
62
|
+
const responseFields = response && Array.isArray(response.fields)
|
|
63
|
+
? Object.fromEntries(response.fields.filter(isApiResponseField).map(field => [field.name, field.path]))
|
|
64
|
+
: undefined;
|
|
65
|
+
const apiInputs = api ? {
|
|
66
|
+
...(typeof api.url === 'string' ? { url: runtimeTemplate(api.url) } : {}),
|
|
67
|
+
...(typeof api.method === 'string' ? { method: api.method } : {}),
|
|
68
|
+
...(api.query !== undefined ? { query: runtimeTemplates(parseQuery(api.query)) } : {}),
|
|
69
|
+
...(api.body !== undefined ? { body: runtimeTemplates(api.body) } : {}),
|
|
70
|
+
...(api.headers !== undefined ? { headers: runtimeTemplates(parseHeaders(api.headers)) } : {})
|
|
71
|
+
} : {};
|
|
72
|
+
const adapterConfig = isApiAction ? {
|
|
73
|
+
...(responseFields && Object.keys(responseFields).length ? { responseFields } : {}),
|
|
74
|
+
...(response && typeof response.headers === 'string' ? { responseHeadersName: response.headers } : {}),
|
|
75
|
+
...(response && typeof response.body === 'string' ? { responseBodyName: response.body } : {})
|
|
76
|
+
} : undefined;
|
|
77
|
+
return { id: String(node.id), name: String(node.label), action, output: Object.fromEntries(outputNames.map(name => [name, null])), delayMs: literalSeconds(isRecord(node.delaySeconds) ? node.delaySeconds : undefined), bindings: inputs.bindings, staticInputs: { ...apiInputs, ...inputs.staticInputs }, ...(adapterConfig ? { adapterConfig } : {}) };
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=action-template-lowering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-template-lowering.js","sourceRoot":"","sources":["../../../src/runner/action-template-lowering.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ActionAdapter, ActionContext } from './legacy-types';
|
|
2
|
+
import type { HttpResponse as SharedHttpResponse, HttpTransport as SharedHttpTransport } from '@qaick/http-executor';
|
|
3
|
+
export declare class InMemoryActionAdapter implements ActionAdapter {
|
|
4
|
+
supports(action: string): boolean;
|
|
5
|
+
execute(context: ActionContext): Promise<Record<string, unknown>>;
|
|
6
|
+
}
|
|
7
|
+
export type HttpResponse = SharedHttpResponse;
|
|
8
|
+
export type HttpTransport = SharedHttpTransport;
|
|
9
|
+
export declare class HttpActionError extends Error {
|
|
10
|
+
readonly code: 'HTTP_INVALID_URL' | 'HTTP_REQUEST_CONSTRUCTION_ERROR' | 'HTTP_ABORTED' | 'HTTP_NETWORK_ERROR' | 'HTTP_RESPONSE_PARSE_ERROR' | 'HTTP_STATUS_ERROR';
|
|
11
|
+
constructor(code: 'HTTP_INVALID_URL' | 'HTTP_REQUEST_CONSTRUCTION_ERROR' | 'HTTP_ABORTED' | 'HTTP_NETWORK_ERROR' | 'HTTP_RESPONSE_PARSE_ERROR' | 'HTTP_STATUS_ERROR', message: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class FetchHttpTransport implements HttpTransport {
|
|
14
|
+
request(url: string, init: {
|
|
15
|
+
method: string;
|
|
16
|
+
body?: unknown;
|
|
17
|
+
headers?: Record<string, string>;
|
|
18
|
+
signal: AbortSignal;
|
|
19
|
+
}): Promise<HttpResponse>;
|
|
20
|
+
}
|
|
21
|
+
export declare class HttpActionAdapter implements ActionAdapter {
|
|
22
|
+
private readonly transport;
|
|
23
|
+
constructor(transport: HttpTransport);
|
|
24
|
+
supports(action: string): boolean;
|
|
25
|
+
execute(context: ActionContext): Promise<Record<string, unknown>>;
|
|
26
|
+
}
|
|
27
|
+
export interface ScriptExecutor {
|
|
28
|
+
execute(source: string, inputs: Record<string, unknown>, signal: AbortSignal): Promise<unknown>;
|
|
29
|
+
}
|
|
30
|
+
export declare class ScriptActionAdapter implements ActionAdapter {
|
|
31
|
+
private readonly executor;
|
|
32
|
+
constructor(executor: ScriptExecutor);
|
|
33
|
+
supports(action: string): boolean;
|
|
34
|
+
execute(context: ActionContext): Promise<Record<string, unknown>>;
|
|
35
|
+
}
|
|
36
|
+
export interface BrowserExecutor {
|
|
37
|
+
execute(command: string, inputs: Record<string, unknown>, signal: AbortSignal): Promise<unknown>;
|
|
38
|
+
}
|
|
39
|
+
export declare class BrowserActionAdapter implements ActionAdapter {
|
|
40
|
+
private readonly executor;
|
|
41
|
+
constructor(executor: BrowserExecutor);
|
|
42
|
+
supports(action: string): boolean;
|
|
43
|
+
execute(context: ActionContext): Promise<Record<string, unknown>>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/runner/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAErH,qBAAa,qBAAsB,YAAW,aAAa;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAC3B,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxE;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC9C,MAAM,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,KAAK;IAC5B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,iCAAiC,GAAG,cAAc,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,mBAAmB;gBAAxJ,IAAI,EAAE,kBAAkB,GAAG,iCAAiC,GAAG,cAAc,GAAG,oBAAoB,GAAG,2BAA2B,GAAG,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAI/L;AAED,qBAAa,kBAAmB,YAAW,aAAa;IAChD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;CA0BnJ;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAC3B,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAiCxE;AAyFD,MAAM,WAAW,cAAc;IAAG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAAE;AAEpI,qBAAa,mBAAoB,YAAW,aAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAC3B,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,eAAe;IAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAAE;AAEtI,qBAAa,oBAAqB,YAAW,aAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAC3B,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxE"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
export class InMemoryActionAdapter {
|
|
2
|
+
supports(action) { return action.startsWith('in-memory.') || action.startsWith('studio:'); }
|
|
3
|
+
async execute(context) { return context.step.output; }
|
|
4
|
+
}
|
|
5
|
+
export class HttpActionError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = 'HttpActionError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class FetchHttpTransport {
|
|
14
|
+
async request(url, init) {
|
|
15
|
+
const headers = { ...init.headers };
|
|
16
|
+
let body;
|
|
17
|
+
if (init.body !== undefined && init.body !== null) {
|
|
18
|
+
body = typeof init.body === 'string' ? init.body : JSON.stringify(init.body);
|
|
19
|
+
if (!Object.keys(headers).some(name => name.toLowerCase() === 'content-type'))
|
|
20
|
+
headers['content-type'] = 'application/json';
|
|
21
|
+
}
|
|
22
|
+
if (!/^https?:\/\//i.test(url))
|
|
23
|
+
throw new HttpActionError('HTTP_INVALID_URL', `HTTP Action URL is invalid: ${url || '(empty URL)'}.`);
|
|
24
|
+
let response;
|
|
25
|
+
try {
|
|
26
|
+
response = await fetch(url, { method: init.method, headers, body, credentials: 'omit', signal: init.signal });
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (init.signal.aborted)
|
|
30
|
+
throw new HttpActionError('HTTP_ABORTED', 'HTTP Action was cancelled before a response was received.');
|
|
31
|
+
const detail = error instanceof Error ? error.message : 'The browser could not reach the target.';
|
|
32
|
+
throw new HttpActionError('HTTP_NETWORK_ERROR', `HTTP Action could not reach ${url}. This may be a network or browser CORS failure. ${detail}`);
|
|
33
|
+
}
|
|
34
|
+
const contentType = response.headers.get('content-type') ?? '';
|
|
35
|
+
let responseBody;
|
|
36
|
+
try {
|
|
37
|
+
responseBody = contentType.includes('application/json') ? await response.json() : await response.text();
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const detail = error instanceof Error ? error.message : 'The response body could not be read.';
|
|
41
|
+
throw new HttpActionError('HTTP_RESPONSE_PARSE_ERROR', `HTTP Action received status ${response.status}, but the response body could not be parsed. ${detail}`);
|
|
42
|
+
}
|
|
43
|
+
return { status: response.status, body: responseBody, headers: Object.fromEntries(response.headers.entries()) };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export class HttpActionAdapter {
|
|
47
|
+
transport;
|
|
48
|
+
constructor(transport) {
|
|
49
|
+
this.transport = transport;
|
|
50
|
+
}
|
|
51
|
+
supports(action) { return action.startsWith('http.'); }
|
|
52
|
+
async execute(context) {
|
|
53
|
+
let request;
|
|
54
|
+
try {
|
|
55
|
+
const url = substituteTemplate(String(context.inputs.url ?? ''), context.inputs);
|
|
56
|
+
request = {
|
|
57
|
+
url: appendQuery(url, substituteTemplateValue(context.inputs.query, context.inputs)),
|
|
58
|
+
method: substituteTemplate(String(context.inputs.method ?? 'GET'), context.inputs),
|
|
59
|
+
...(context.inputs.body !== undefined ? { body: substituteTemplateValue(context.inputs.body, context.inputs) } : {}),
|
|
60
|
+
...(isRecord(context.inputs.headers) || isRecord(context.inputs.cookies) ? { headers: renderHeaders(context.inputs.headers, context.inputs.cookies, context.inputs) } : {})
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
const detail = error instanceof Error ? error.message : 'The request template could not be resolved.';
|
|
65
|
+
throw new HttpActionError('HTTP_REQUEST_CONSTRUCTION_ERROR', `HTTP Action request could not be constructed. ${detail}`);
|
|
66
|
+
}
|
|
67
|
+
const response = await this.transport.request(request.url, { ...request, signal: context.signal });
|
|
68
|
+
if (response.status < 200 || response.status >= 300) {
|
|
69
|
+
const serializedBody = typeof response.body === 'string' ? response.body : JSON.stringify(response.body) ?? '';
|
|
70
|
+
const body = serializedBody.slice(0, 500);
|
|
71
|
+
throw new HttpActionError('HTTP_STATUS_ERROR', `HTTP Action returned status ${response.status}.${body ? ` Response: ${body}` : ''}`);
|
|
72
|
+
}
|
|
73
|
+
const output = { status: response.status, body: response.body, ...(response.headers && { headers: response.headers }), cookies: responseCookies(response.headers) };
|
|
74
|
+
const responseHeadersName = context.step.adapterConfig?.responseHeadersName;
|
|
75
|
+
if (typeof responseHeadersName === 'string')
|
|
76
|
+
output[responseHeadersName] = response.headers ?? {};
|
|
77
|
+
const responseFields = isRecord(context.step.adapterConfig?.responseFields) ? context.step.adapterConfig.responseFields : undefined;
|
|
78
|
+
if (responseFields) {
|
|
79
|
+
for (const [name, path] of Object.entries(responseFields)) {
|
|
80
|
+
if (typeof path === 'string')
|
|
81
|
+
output[name] = readJsonPath(response.body, path);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const responseBodyName = context.step.adapterConfig?.responseBodyName;
|
|
85
|
+
if (typeof responseBodyName === 'string')
|
|
86
|
+
output[responseBodyName] = response.body;
|
|
87
|
+
return output;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function responseCookies(headers) {
|
|
91
|
+
const raw = headers && Object.entries(headers).find(([name]) => name.toLowerCase() === 'set-cookie')?.[1];
|
|
92
|
+
const values = Array.isArray(raw) ? raw : raw ? raw.split(/\r?\n|,(?=\s*[^;,=\s]+=[^;,]*)/).map(item => item.trim()).filter(Boolean) : [];
|
|
93
|
+
return Object.fromEntries(values.flatMap(header => {
|
|
94
|
+
const [pair, ...parts] = header.split(';').map(item => item.trim());
|
|
95
|
+
const separator = pair?.indexOf('=') ?? -1;
|
|
96
|
+
if (!pair || separator <= 0)
|
|
97
|
+
return [];
|
|
98
|
+
const name = pair.slice(0, separator).trim();
|
|
99
|
+
const value = pair.slice(separator + 1).trim();
|
|
100
|
+
const attributes = {};
|
|
101
|
+
for (const part of parts) {
|
|
102
|
+
const equals = part.indexOf('=');
|
|
103
|
+
if (equals > 0)
|
|
104
|
+
attributes[part.slice(0, equals).trim().toLowerCase()] = part.slice(equals + 1).trim();
|
|
105
|
+
else if (part)
|
|
106
|
+
attributes[part.toLowerCase()] = true;
|
|
107
|
+
}
|
|
108
|
+
return [[name, { value, attributes }]];
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
function renderHeaders(headersInput, cookiesInput, templateInputs) {
|
|
112
|
+
const headers = isRecord(headersInput)
|
|
113
|
+
? Object.fromEntries(Object.entries(substituteTemplateValue(headersInput, templateInputs)).map(([name, value]) => [name, String(value)]))
|
|
114
|
+
: {};
|
|
115
|
+
if (!isRecord(cookiesInput) || Object.keys(headers).some(name => name.toLowerCase() === 'cookie'))
|
|
116
|
+
return headers;
|
|
117
|
+
const cookies = Object.entries(cookiesInput).flatMap(([name, value]) => isRecord(value) && typeof value.value === 'string' ? [`${name}=${value.value}`] : typeof value === 'string' ? [`${name}=${value}`] : []);
|
|
118
|
+
if (cookies.length)
|
|
119
|
+
headers.Cookie = cookies.join('; ');
|
|
120
|
+
return headers;
|
|
121
|
+
}
|
|
122
|
+
function appendQuery(url, query) {
|
|
123
|
+
if (query === undefined || query === null)
|
|
124
|
+
return url;
|
|
125
|
+
if (!isRecord(query))
|
|
126
|
+
throw new Error('Query parameters must be an object.');
|
|
127
|
+
const parsed = new URL(url);
|
|
128
|
+
for (const [name, value] of Object.entries(query)) {
|
|
129
|
+
if (value === undefined || value === null)
|
|
130
|
+
continue;
|
|
131
|
+
const values = Array.isArray(value) ? value : [value];
|
|
132
|
+
for (const item of values) {
|
|
133
|
+
if (item === undefined || item === null)
|
|
134
|
+
continue;
|
|
135
|
+
parsed.searchParams.append(name, typeof item === 'object' ? JSON.stringify(item) : String(item));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return parsed.toString();
|
|
139
|
+
}
|
|
140
|
+
function substituteTemplateValue(value, inputs) {
|
|
141
|
+
if (typeof value === 'string')
|
|
142
|
+
return substituteTemplate(value, inputs);
|
|
143
|
+
if (Array.isArray(value))
|
|
144
|
+
return value.map(item => substituteTemplateValue(item, inputs));
|
|
145
|
+
if (isRecord(value))
|
|
146
|
+
return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, substituteTemplateValue(item, inputs)]));
|
|
147
|
+
return value;
|
|
148
|
+
}
|
|
149
|
+
function substituteTemplate(value, inputs) {
|
|
150
|
+
const exact = /^\s*\{\{\s*(?:\$?(?:inputs\.)?)?([^{}]+?)\s*\}\}\s*$/.exec(value);
|
|
151
|
+
if (exact)
|
|
152
|
+
return stringifyTemplateValue(resolveTemplateValue(exact[1], inputs));
|
|
153
|
+
return value.replace(/\{\{\s*(?:\$?(?:inputs\.)?)?([^{}]+?)\s*\}\}/g, (_match, path) => stringifyTemplateValue(resolveTemplateValue(path, inputs)));
|
|
154
|
+
}
|
|
155
|
+
function resolveTemplateValue(path, inputs) {
|
|
156
|
+
const normalized = path.trim().replace(/^\$?(?:inputs\.)?/, '');
|
|
157
|
+
const value = normalized.split('.').reduce((current, segment) => isRecord(current) ? current[segment] : undefined, inputs);
|
|
158
|
+
if (value === undefined)
|
|
159
|
+
throw new Error(`Template value '${path.trim()}' is missing.`);
|
|
160
|
+
return value;
|
|
161
|
+
}
|
|
162
|
+
function stringifyTemplateValue(value) {
|
|
163
|
+
if (typeof value === 'string')
|
|
164
|
+
return value;
|
|
165
|
+
if (value === undefined)
|
|
166
|
+
return '';
|
|
167
|
+
const serialized = JSON.stringify(value);
|
|
168
|
+
return serialized === undefined ? String(value) : serialized;
|
|
169
|
+
}
|
|
170
|
+
function isRecord(value) { return typeof value === 'object' && value !== null && !Array.isArray(value); }
|
|
171
|
+
function readJsonPath(value, path) {
|
|
172
|
+
if (path === '$' || path === '')
|
|
173
|
+
return value;
|
|
174
|
+
if (!path.startsWith('$.'))
|
|
175
|
+
return undefined;
|
|
176
|
+
return path.slice(2).split('.').reduce((current, segment) => {
|
|
177
|
+
if (current === null || current === undefined)
|
|
178
|
+
return undefined;
|
|
179
|
+
const match = /^(.*)\[(\d+)\]$/.exec(segment);
|
|
180
|
+
if (match) {
|
|
181
|
+
const object = isRecord(current) ? current[match[1]] : current;
|
|
182
|
+
return Array.isArray(object) ? object[Number(match[2])] : undefined;
|
|
183
|
+
}
|
|
184
|
+
return isRecord(current) ? current[segment] : undefined;
|
|
185
|
+
}, value);
|
|
186
|
+
}
|
|
187
|
+
export class ScriptActionAdapter {
|
|
188
|
+
executor;
|
|
189
|
+
constructor(executor) {
|
|
190
|
+
this.executor = executor;
|
|
191
|
+
}
|
|
192
|
+
supports(action) { return action.startsWith('script.'); }
|
|
193
|
+
async execute(context) { return { result: await this.executor.execute(context.action, context.inputs, context.signal) }; }
|
|
194
|
+
}
|
|
195
|
+
export class BrowserActionAdapter {
|
|
196
|
+
executor;
|
|
197
|
+
constructor(executor) {
|
|
198
|
+
this.executor = executor;
|
|
199
|
+
}
|
|
200
|
+
supports(action) { return action.startsWith('browser.'); }
|
|
201
|
+
async execute(context) { return { result: await this.executor.execute(context.action, context.inputs, context.signal) }; }
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/runner/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/runner/execution-context.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAAC,OAAO,EAAC,MAAM,GAAE,IAAI,CAAuK"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Normal execution accepts only the intended canonical representation. */
|
|
2
|
+
export function assertSupportedExecutionContext(version) { if (version !== 7)
|
|
3
|
+
throw Object.assign(new Error(`Unsupported execution context: Execution v7 required (received ${version}).`), { code: 'unsupported-execution-context' }); }
|
|
4
|
+
//# sourceMappingURL=execution-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../../../src/runner/execution-context.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,UAAU,+BAA+B,CAAC,OAAc,IAAQ,IAAG,OAAO,KAAG,CAAC;IAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kEAAkE,OAAO,IAAI,CAAC,EAAC,EAAC,IAAI,EAAC,+BAA+B,EAAC,CAAC,CAAC,CAAA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../../src/runner/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../../src/runner/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAI9C,eAAO,MAAM,eAAe,EAAC,gBAG0K,CAAC;AAExM,eAAO,MAAM,sBAAsB,EAAC,gBAE+P,CAAC;AAEpS,eAAO,MAAM,qBAAqB,EAAC,gBAAgF,CAAC"}
|
|
@@ -1,28 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
{ id: '
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
],
|
|
16
|
-
};
|
|
17
|
-
export const checkoutProjectPackage = {
|
|
18
|
-
...checkoutPackage,
|
|
19
|
-
packageId: 'checkout-project',
|
|
20
|
-
target: { kind: 'project', id: 'checkout-project', name: 'Checkout Regression Project' },
|
|
21
|
-
steps: [],
|
|
22
|
-
flows: [
|
|
23
|
-
{ id: 'prepare-payment', name: 'Prepare Payment', steps: [checkoutPackage.steps[0]] },
|
|
24
|
-
{ id: 'verify-settlement', name: 'Verify Settlement', steps: checkoutPackage.steps.slice(1) },
|
|
25
|
-
],
|
|
26
|
-
};
|
|
27
|
-
export const checkoutNestedPackage = nestedSerializedFixture;
|
|
1
|
+
const a = (...p) => ({ scope: 'flow', segments: p.flatMap((position, i) => i ? [{ kind: 'body' }, { kind: 'step', position }] : [{ kind: 'step', position }]) });
|
|
2
|
+
const output = (address, outputName) => ({ type: 'hierarchy-output', address, iterations: [], outputName });
|
|
3
|
+
export const checkoutPackage = { schemaVersion: 7, ordering: 'routine', executionContext: { scope: 'flow', mode: 'standalone' }, packageId: 'checkout-regression', target: { kind: 'flow', id: 'customer-checkout', name: 'Customer Checkout' }, definitions: [], steps: [
|
|
4
|
+
{ id: 'create-payment', name: 'Create Payment', kind: 'action', action: 'in-memory.approve-payment', structuralAddress: a(1), bindings: { customerId: { type: 'input', path: ['customerId'] }, orderId: { type: 'input', path: ['orderId'] } }, output: { paymentId: 'PAY-932112' } },
|
|
5
|
+
{ id: 'verify-payment', name: 'Verify Payment', kind: 'action', action: 'in-memory.verify-payment', structuralAddress: a(2), bindings: { paymentId: output(a(1), 'paymentId') }, output: { status: 'APPROVED' } },
|
|
6
|
+
{ id: 'check-settlement', name: 'Check Settlement', kind: 'action', action: 'in-memory.check-settlement', structuralAddress: a(3), bindings: { paymentStatus: output(a(2), 'status') }, output: { settlement: 'PENDING' } }
|
|
7
|
+
] };
|
|
8
|
+
const ra = (f, p) => ({ scope: 'routine', segments: [{ kind: 'flow', position: f }, { kind: 'step', position: p }] });
|
|
9
|
+
export const checkoutProjectPackage = { ...checkoutPackage, packageId: 'checkout-project', executionContext: { scope: 'routine', mode: 'routine' }, target: { kind: 'project', id: 'checkout-project', name: 'Checkout Regression Project' }, steps: [], flows: [
|
|
10
|
+
{ id: 'prepare-payment', name: 'Prepare Payment', structuralPosition: 1, steps: [{ ...checkoutPackage.steps[0], structuralAddress: ra(1, 1) }] },
|
|
11
|
+
{ id: 'verify-settlement', name: 'Verify Settlement', structuralPosition: 2, steps: [{ ...checkoutPackage.steps[1], structuralAddress: ra(2, 1), bindings: { paymentId: output(ra(1, 1), 'paymentId') } }, { ...checkoutPackage.steps[2], structuralAddress: ra(2, 2), bindings: { paymentStatus: output(ra(2, 1), 'status') } }] }
|
|
12
|
+
] };
|
|
13
|
+
const nested = { id: 'payment-operation', name: 'Payment Operation', kind: 'operation', action: 'operation', structuralAddress: a(1), output: {}, children: checkoutPackage.steps.map((s, i) => ({ ...s, structuralAddress: a(1, i + 1), bindings: i === 0 ? s.bindings : i === 1 ? { paymentId: output(a(1, 1), 'paymentId') } : { paymentStatus: output(a(1, 2), 'status') } })) };
|
|
14
|
+
export const checkoutNestedPackage = { ...checkoutPackage, packageId: 'checkout-nested', steps: [nested] };
|
|
28
15
|
//# sourceMappingURL=fixture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/runner/fixture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/runner/fixture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/** Compatibility import for Runner modules. The canonical contract is the published @qaick/contract package. */
|
|
2
|
+
export * from '@qaick/contract';
|
|
3
|
+
export declare const RUNNER_PACKAGE_SCHEMA_VERSION: 6;
|
|
4
|
+
export declare const RUNNER_CONTRACT_VERSION: string;
|
|
5
|
+
export type ExecutionControlState = 'idle' | 'running' | 'pause-requested' | 'paused' | 'resuming' | 'stopped' | 'failed' | 'completed';
|
|
6
|
+
export interface RunnerDebugSession {
|
|
7
|
+
breakpoints: string[];
|
|
8
|
+
stopAfterStepId?: string;
|
|
9
|
+
selectedStepId?: string;
|
|
10
|
+
}
|
|
11
|
+
export type ExecutionControlEventType = 'pause-requested' | 'breakpoint-reached' | 'paused' | 'resumed' | 'step-requested' | 'step-completed' | 'stop-after-reached' | 'interactive-retry-requested' | 'retry-attempt-started' | 'retry-attempt-completed';
|
|
12
|
+
declare module '@qaick/contract' {
|
|
13
|
+
interface ExecutionPackage {
|
|
14
|
+
artifactSchemaVersion?: number;
|
|
15
|
+
}
|
|
16
|
+
interface StepTransportTiming {
|
|
17
|
+
requestStartedAt: string;
|
|
18
|
+
responseReceivedAt: string;
|
|
19
|
+
durationMs: number;
|
|
20
|
+
}
|
|
21
|
+
interface StepResult {
|
|
22
|
+
transportTiming?: StepTransportTiming;
|
|
23
|
+
}
|
|
24
|
+
interface StepResult {
|
|
25
|
+
evidence?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
interface StepResult {
|
|
28
|
+
attempts?: Array<{
|
|
29
|
+
attempt: number;
|
|
30
|
+
kind: 'automatic' | 'interactive';
|
|
31
|
+
state: 'finished' | 'failed';
|
|
32
|
+
startedAt: string;
|
|
33
|
+
finishedAt: string;
|
|
34
|
+
inputs: Record<string, unknown>;
|
|
35
|
+
outputs: Record<string, unknown>;
|
|
36
|
+
durationMs: number;
|
|
37
|
+
children?: StepResult[];
|
|
38
|
+
error?: {
|
|
39
|
+
code: string;
|
|
40
|
+
message: string;
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
interface ExecutionResult {
|
|
45
|
+
artifactHash?: string;
|
|
46
|
+
}
|
|
47
|
+
interface ExecutionResult {
|
|
48
|
+
warnings?: Array<{
|
|
49
|
+
code: string;
|
|
50
|
+
message: string;
|
|
51
|
+
stepId?: string;
|
|
52
|
+
}>;
|
|
53
|
+
}
|
|
54
|
+
interface ExecutionResult {
|
|
55
|
+
provenance?: {
|
|
56
|
+
kind: 'run-from-here';
|
|
57
|
+
sourceRequestId: string;
|
|
58
|
+
sourceArtifactHash?: string;
|
|
59
|
+
selectedStepId: string;
|
|
60
|
+
selectedInvocationPath?: string[];
|
|
61
|
+
omittedStepIds: string[];
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
interface ExecutionResult {
|
|
65
|
+
executionTiming?: {
|
|
66
|
+
wallDurationMs: number;
|
|
67
|
+
activeDurationMs: number;
|
|
68
|
+
pausedDurationMs: number;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
interface RunnerRequest {
|
|
72
|
+
debugSession?: RunnerDebugSession;
|
|
73
|
+
}
|
|
74
|
+
interface ExecutionEvent {
|
|
75
|
+
control?: {
|
|
76
|
+
type: ExecutionControlEventType;
|
|
77
|
+
stepId?: string;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=legacy-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-types.d.ts","sourceRoot":"","sources":["../../../src/runner/legacy-types.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,cAAc,iBAAiB,CAAC;AAChC,eAAO,MAAM,6BAA6B,EAAC,CAAU,CAAC;AAItD,eAAO,MAAM,uBAAuB,QAA8C,CAAC;AAEnF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AACxI,MAAM,WAAW,kBAAkB;IAAG,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAAE;AACjH,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,6BAA6B,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAE3P,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,gBAAgB;QAAG,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAE;IAC7D,UAAU,mBAAmB;QAAG,gBAAgB,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAC1G,UAAU,UAAU;QAAG,eAAe,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAC9D,UAAU,UAAU;QAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;IAC3D,UAAU,UAAU;QAAG,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAC;YAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAAE;IACjU,UAAU,eAAe;QAAG,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IACnD,UAAU,eAAe;QAAG,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE;IAClG,UAAU,eAAe;QAAG,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,eAAe,CAAC;YAAC,eAAe,EAAE,MAAM,CAAC;YAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,cAAc,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE;IAC/M,UAAU,eAAe;QAAG,eAAe,CAAC,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAC9H,UAAU,aAAa;QAAG,YAAY,CAAC,EAAE,kBAAkB,CAAA;KAAE;IAC7D,UAAU,cAAc;QAAG,OAAO,CAAC,EAAE;YAAE,IAAI,EAAE,yBAAyB,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;CAC5F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Compatibility import for Runner modules. The canonical contract is the published @qaick/contract package. */
|
|
2
|
+
export * from '@qaick/contract';
|
|
3
|
+
export const RUNNER_PACKAGE_SCHEMA_VERSION = 6;
|
|
4
|
+
/** The exact published contract package consumed by this Runner release. */
|
|
5
|
+
import packageJson from '../../package.json' with { type: 'json' };
|
|
6
|
+
export const RUNNER_CONTRACT_VERSION = packageJson.dependencies['@qaick/contract'];
|
|
7
|
+
//# sourceMappingURL=legacy-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/runner/legacy-types.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,cAAc,iBAAiB,CAAC;AAChC,MAAM,CAAC,MAAM,6BAA6B,GAAC,CAAU,CAAC;AAEtD,4EAA4E;AAC5E,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { loadHierarchyExecutionPackage } from './studio-hierarchy-loader';
|
|
2
2
|
export { PackageLoadError } from './package-load-error';
|
|
3
|
-
|
|
3
|
+
/** Normal package load preserves authored structural context through canonical lowering. */
|
|
4
|
+
export declare const loadExecutionPackage: typeof loadHierarchyExecutionPackage;
|
|
4
5
|
//# sourceMappingURL=package-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-loader.d.ts","sourceRoot":"","sources":["../../../src/runner/package-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-loader.d.ts","sourceRoot":"","sources":["../../../src/runner/package-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAC,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,sCAA8B,CAAC"}
|