@qaick/runner 0.32.1 → 0.32.3
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/demo/RunnerWalkthrough.js +4 -4
- package/package-dist/src/demo/RunnerWalkthrough.js.map +1 -1
- package/package-dist/src/runner/RunnerModule.d.ts +4 -3
- package/package-dist/src/runner/RunnerModule.d.ts.map +1 -1
- package/package-dist/src/runner/RunnerModule.js +240 -67
- package/package-dist/src/runner/RunnerModule.js.map +1 -1
- package/package-dist/src/runner/catalog.js +1 -1
- package/package-dist/src/runner/execution-context.d.ts +1 -1
- package/package-dist/src/runner/execution-context.d.ts.map +1 -1
- package/package-dist/src/runner/execution-context.js +3 -3
- package/package-dist/src/runner/execution-context.js.map +1 -1
- package/package-dist/src/runner/history.d.ts +20 -1
- package/package-dist/src/runner/history.d.ts.map +1 -1
- package/package-dist/src/runner/history.js +14 -0
- package/package-dist/src/runner/history.js.map +1 -1
- package/package-dist/src/runner/invocation-inputs.d.ts +6 -2
- package/package-dist/src/runner/invocation-inputs.d.ts.map +1 -1
- package/package-dist/src/runner/invocation-inputs.js.map +1 -1
- package/package-dist/src/runner/loop-presentation.d.ts +4 -4
- package/package-dist/src/runner/loop-presentation.d.ts.map +1 -1
- package/package-dist/src/runner/loop-presentation.js +4 -4
- package/package-dist/src/runner/loop-presentation.js.map +1 -1
- package/package-dist/src/runner/presentation-state.d.ts +19 -4
- package/package-dist/src/runner/presentation-state.d.ts.map +1 -1
- package/package-dist/src/runner/presentation-state.js +68 -3
- package/package-dist/src/runner/presentation-state.js.map +1 -1
- package/package-dist/src/runner/runtime-client-adapter.d.ts +1 -1
- package/package-dist/src/runner/studio-execution-document.d.ts +4 -0
- package/package-dist/src/runner/studio-execution-document.d.ts.map +1 -0
- package/package-dist/src/runner/studio-execution-document.js +239 -0
- package/package-dist/src/runner/studio-execution-document.js.map +1 -0
- package/package-dist/src/runner/studio-hierarchy-loader.js +2 -2
- package/package-dist/src/runner/types.d.ts +26 -6
- package/package-dist/src/runner/types.d.ts.map +1 -1
- package/package-dist/styles.css +78 -20
- package/package.json +5 -5
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export function eventPresentationEvidence(events) {
|
|
1
|
+
export function eventPresentationEvidence(events, requestId) {
|
|
2
2
|
const latest = new Map();
|
|
3
3
|
for (const e of events)
|
|
4
|
-
if (e.structuralAddress && e.
|
|
5
|
-
|
|
4
|
+
if ((requestId === undefined || e.requestId === requestId) && e.stepId && (e.structuralAddress || 'occurrence' in e && e.occurrence)) {
|
|
5
|
+
const occurrence = 'occurrence' in e ? e.occurrence : undefined;
|
|
6
|
+
latest.set(JSON.stringify([occurrence ?? e.structuralAddress, e.iterations ?? []]), { occurrence, structuralAddress: e.structuralAddress, iterations: e.iterations, state: e.state });
|
|
7
|
+
}
|
|
6
8
|
return [...latest.values()];
|
|
7
9
|
}
|
|
8
10
|
const key = (value) => JSON.stringify(value);
|
|
@@ -30,6 +32,8 @@ export function presentationState(row, results, terminal, fallback = 'pending')
|
|
|
30
32
|
matches = results.filter(r => prefix(r.structuralAddress, branch) && (parent.iterations ?? []).every((selection, i) => key(selection) === key((r.iterations ?? [])[i])));
|
|
31
33
|
}
|
|
32
34
|
}
|
|
35
|
+
else if (row.occurrence)
|
|
36
|
+
matches = results.filter(r => r.occurrence === row.occurrence);
|
|
33
37
|
else if (row.structuralAddress)
|
|
34
38
|
matches = results.filter(r => key(r.structuralAddress) === key(row.structuralAddress));
|
|
35
39
|
if (matches.length)
|
|
@@ -38,4 +42,65 @@ export function presentationState(row, results, terminal, fallback = 'pending')
|
|
|
38
42
|
return 'not executed';
|
|
39
43
|
return fallback;
|
|
40
44
|
}
|
|
45
|
+
export function scopeIncludes(context, root, key) {
|
|
46
|
+
const rootKey = root.kind === 'document' ? context.root : root.key;
|
|
47
|
+
let node = context.nodes.find(n => n.key === key);
|
|
48
|
+
while (node) {
|
|
49
|
+
if (node.key === rootKey)
|
|
50
|
+
return true;
|
|
51
|
+
const parent = node.parent ? context.nodes.find(n => n.key === node.parent) : undefined;
|
|
52
|
+
if (parent?.sequence && !parent.sequence.includes(node.key))
|
|
53
|
+
return false;
|
|
54
|
+
node = parent;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
/** Read-only projection. Actual outcomes are never replaced with descendant summaries. */
|
|
59
|
+
export function rowPresentation(row, evidence, terminal, fallback = 'pending', options = {}) {
|
|
60
|
+
const display = (state, source, label = state.toUpperCase()) => ({ state, label, source });
|
|
61
|
+
const { context, scope, result } = options;
|
|
62
|
+
if (row.occurrence && context && scope && !scopeIncludes(context, scope, row.occurrence))
|
|
63
|
+
return display('not executed', 'outside');
|
|
64
|
+
const node = context?.nodes.find(n => n.key === row.occurrence);
|
|
65
|
+
if (node?.kind === 'flow' && result) {
|
|
66
|
+
// Selection identifies an isolated Flow even when target retains its Project identity.
|
|
67
|
+
let outcome;
|
|
68
|
+
if (scope?.kind === 'occurrence' && scope.key === node.key)
|
|
69
|
+
outcome = result;
|
|
70
|
+
else if (node.locator.kind === 'source') {
|
|
71
|
+
const sourceId = node.locator.path.at(-1);
|
|
72
|
+
const id = sourceId?.kind === 'flow' ? sourceId.id : node.locator.path.length === 0 && node.locator.root.kind === 'flow' ? node.locator.root.id : undefined;
|
|
73
|
+
const candidates = (result.children ?? (result.target.kind === 'flow' ? [result] : [])).filter(r => r.target.kind === 'flow' && r.target.id === id);
|
|
74
|
+
if (candidates.length === 1)
|
|
75
|
+
outcome = candidates[0];
|
|
76
|
+
}
|
|
77
|
+
if (outcome)
|
|
78
|
+
return display(outcome.state === 'completed' ? 'finished' : outcome.state, 'flow-result', outcome.state.toUpperCase());
|
|
79
|
+
}
|
|
80
|
+
const own = row.occurrence ? evidence.filter(r => r.occurrence === row.occurrence) : [];
|
|
81
|
+
if (own.length)
|
|
82
|
+
return display(presentationState(row, [own.at(-1)], terminal, fallback), 'invocation');
|
|
83
|
+
if (node && node.kind !== 'action' && context) {
|
|
84
|
+
let descendants = evidence.filter(r => r.occurrence && r.occurrence !== node.key && scopeIncludes(context, { kind: 'occurrence', key: node.key }, r.occurrence));
|
|
85
|
+
// Branch summaries belong to the latest actual owning Control invocation only.
|
|
86
|
+
if (node.kind === 'branch') {
|
|
87
|
+
const owner = evidence.filter(r => r.occurrence === node.parent).at(-1);
|
|
88
|
+
descendants = owner ? descendants.filter(r => (owner.iterations ?? []).every((value, i) => key(value) === key(r.iterations?.[i]))) : [];
|
|
89
|
+
}
|
|
90
|
+
if (descendants.length) {
|
|
91
|
+
// The same occurrence may run repeatedly; earlier invocations cannot recolor the latest one.
|
|
92
|
+
const latest = new Map();
|
|
93
|
+
for (const item of descendants)
|
|
94
|
+
latest.set(item.occurrence, item);
|
|
95
|
+
const state = aggregate([...latest.values()].map(r => r.state));
|
|
96
|
+
if (!terminal && (state === 'finished' || state === 'skipped'))
|
|
97
|
+
return display('pending', 'descendants', 'RECORDED ACTIVITY');
|
|
98
|
+
return display(state, 'descendants', `RECORDED STEPS: ${state.toUpperCase()}`);
|
|
99
|
+
}
|
|
100
|
+
if (node.kind === 'branch' && terminal)
|
|
101
|
+
return display('not executed', 'none', 'NO RECORDED EXECUTION');
|
|
102
|
+
}
|
|
103
|
+
const state = presentationState(row, evidence, terminal, fallback);
|
|
104
|
+
return display(state, row.branchOwner && state !== 'not executed' && state !== 'pending' ? 'descendants' : 'none', row.branchOwner && state !== 'not executed' && state !== 'pending' ? `RECORDED STEPS: ${state.toUpperCase()}` : state.toUpperCase());
|
|
105
|
+
}
|
|
41
106
|
//# sourceMappingURL=presentation-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation-state.js","sourceRoot":"","sources":["../../../src/runner/presentation-state.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,yBAAyB,CAAC,MAAuB;
|
|
1
|
+
{"version":3,"file":"presentation-state.js","sourceRoot":"","sources":["../../../src/runner/presentation-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare function createBrowserRuntimeBridge(): {
|
|
|
26
26
|
cancel: (id: string) => Promise<void>;
|
|
27
27
|
control: (id: string, command: import("@qaick/runtime").ControlCommand) => Promise<void>;
|
|
28
28
|
controlState: (id: string) => Promise<import("@qaick/executor").ExecutionControlState | undefined>;
|
|
29
|
-
getResult: (id: string) => Promise<import("@qaick/executor").
|
|
29
|
+
getResult: (id: string) => Promise<import("@qaick/executor").AcceptedExecutorResult>;
|
|
30
30
|
subscribe(id: string, listener: (event: ExecutionEvent) => void): () => void;
|
|
31
31
|
getRuntimeInfo: () => Promise<import("@qaick/runtime").RuntimeInfo>;
|
|
32
32
|
retryAction: () => Promise<never>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ExecutionDocumentV8, ExecutionRoot } from '@qaick/contract';
|
|
2
|
+
/** Existing authoring lowering boundary: retain the source, prepare only its selected closure. */
|
|
3
|
+
export declare function prepareStudioDocument(serialized: string, selection?: ExecutionRoot): Promise<ExecutionDocumentV8>;
|
|
4
|
+
//# sourceMappingURL=studio-execution-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-execution-document.d.ts","sourceRoot":"","sources":["../../../src/runner/studio-execution-document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,mBAAmB,EAAqG,aAAa,EAAC,MAAM,iBAAiB,CAAC;AASxL,kGAAkG;AAClG,wBAAsB,qBAAqB,CAAC,UAAU,EAAC,MAAM,EAAE,SAAS,GAAC,aAA+B,GAAE,OAAO,CAAC,mBAAmB,CAAC,CAgJrI"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { hashCanonicalJson, migrateArtifact, occurrenceKey, validateExecutionDocumentV8 } from '@qaick/contract';
|
|
2
|
+
import { lowerStudioActionOccurrence, runtimeTemplates } from "./action-template-lowering.js";
|
|
3
|
+
import { PackageLoadError } from "./package-load-error.js";
|
|
4
|
+
const record = (v) => !!v && typeof v === 'object' && !Array.isArray(v);
|
|
5
|
+
const records = (v) => Array.isArray(v) ? v.filter(record) : [];
|
|
6
|
+
const literal = (v) => record(v) && v.type === 'literal' ? v.value : undefined;
|
|
7
|
+
const clean = (v) => JSON.parse(JSON.stringify(v));
|
|
8
|
+
const declarations = (v) => records(v.inputs).map(i => ({ name: String(i.name), type: (i.type ?? 'string'), required: i.required === true, ...(Object.hasOwn(i, 'defaultValue') ? { defaultValue: i.defaultValue } : {}) }));
|
|
9
|
+
/** Existing authoring lowering boundary: retain the source, prepare only its selected closure. */
|
|
10
|
+
export async function prepareStudioDocument(serialized, selection = { kind: 'document' }) {
|
|
11
|
+
const source = migrateArtifact(JSON.parse(serialized)).artifact;
|
|
12
|
+
// Saved canonical bindings are not re-migrated through ordinal-only traversal: drafts have no such order.
|
|
13
|
+
const migrated = source;
|
|
14
|
+
const sourceValue = source;
|
|
15
|
+
const project = record(migrated.project) ? migrated.project : undefined;
|
|
16
|
+
const loaded = project ?? (record(migrated.flow) ? migrated.flow : undefined);
|
|
17
|
+
if (!loaded)
|
|
18
|
+
throw new PackageLoadError('Expected a saved Project or Flow.');
|
|
19
|
+
const rootIdentity = { kind: project ? 'project' : 'flow', id: String(loaded.id) };
|
|
20
|
+
const context = { coverage: project ? 'complete-project' : 'loaded-root', root: '', nodes: [], edges: [] };
|
|
21
|
+
const values = new Map(), byKey = new Map();
|
|
22
|
+
const issue = (node, code, message) => node.issues.push({ at: node.key, code, message });
|
|
23
|
+
function add(value, kind, name, parent, path) {
|
|
24
|
+
const locator = { kind: 'source', root: rootIdentity, path };
|
|
25
|
+
const node = { key: occurrenceKey(locator), locator, kind, name, parent: parent?.key ?? null, children: [], sequence: null, orderState: 'not-applicable', issues: [] };
|
|
26
|
+
if (byKey.has(node.key))
|
|
27
|
+
throw new PackageLoadError('Duplicate source occurrence identity.');
|
|
28
|
+
context.nodes.push(node);
|
|
29
|
+
byKey.set(node.key, node);
|
|
30
|
+
values.set(node.key, value);
|
|
31
|
+
parent?.children.push(node.key);
|
|
32
|
+
return node;
|
|
33
|
+
}
|
|
34
|
+
const path = (n) => n.locator.path;
|
|
35
|
+
function container(value, node) {
|
|
36
|
+
for (const child of records(value.nodes))
|
|
37
|
+
visit(child, node, [...path(node), { kind: 'node', id: String(child.id) }]);
|
|
38
|
+
const ids = Array.isArray(value.sequence) ? value.sequence : undefined;
|
|
39
|
+
const children = records(value.nodes);
|
|
40
|
+
if (ids && ids.length === children.length && new Set(ids).size === ids.length && ids.every(id => children.some(c => c.id === id))) {
|
|
41
|
+
node.orderState = 'ordered';
|
|
42
|
+
node.sequence = ids.map(id => node.children.find(k => values.get(k)?.id === id));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
node.orderState = 'draft';
|
|
46
|
+
issue(node, 'MISSING_EXECUTION_ORDER', 'This location has no valid execution order. Check its steps in Studio.');
|
|
47
|
+
}
|
|
48
|
+
for (const edge of records(value.edges)) {
|
|
49
|
+
const from = record(edge.source) ? edge.source.nodeId : edge.source, to = record(edge.target) ? edge.target.nodeId : edge.target;
|
|
50
|
+
const source = node.children.find(k => values.get(k)?.id === from), target = node.children.find(k => values.get(k)?.id === to);
|
|
51
|
+
if (!source || !target)
|
|
52
|
+
throw new PackageLoadError('A saved connection has an unavailable endpoint.');
|
|
53
|
+
context.edges.push({ id: String(edge.id), container: node.key, source, target });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function visit(value, parent, path) {
|
|
57
|
+
const kind = value.type === 'action' ? 'action' : value.type === 'operation' ? 'operation' : value.type === 'block' || value.type === 'control-block' ? 'control-block' : undefined;
|
|
58
|
+
if (!kind)
|
|
59
|
+
throw new PackageLoadError('Unsupported authoring node kind.');
|
|
60
|
+
const node = add(value, kind, String(value.label), parent, path);
|
|
61
|
+
if (kind === 'operation') {
|
|
62
|
+
if (!record(value.body))
|
|
63
|
+
throw new PackageLoadError('Operation has no owned body.');
|
|
64
|
+
const body = add(value.body, 'body', String(value.body.name ?? value.label), node, [...path, { kind: 'body' }]);
|
|
65
|
+
container(value.body, body);
|
|
66
|
+
}
|
|
67
|
+
else if (kind === 'control-block') {
|
|
68
|
+
const branches = records(record(value.settings) ? value.settings.branches : undefined);
|
|
69
|
+
for (const [i, branch] of branches.entries()) {
|
|
70
|
+
const b = add(branch, 'branch', String(branch.name ?? 'Unnamed Branch'), node, [...path, { kind: 'branch', id: String(branch.id) }]);
|
|
71
|
+
b.originalPosition = i + 1;
|
|
72
|
+
container(branch, b);
|
|
73
|
+
}
|
|
74
|
+
const body = add(value, 'body', String(value.label), node, [...path, { kind: 'body' }]);
|
|
75
|
+
container(value, body);
|
|
76
|
+
node.orderState = 'ordered';
|
|
77
|
+
node.sequence = branches.length ? node.children.filter(k => byKey.get(k).kind === 'branch') : [...node.children];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const root = add(loaded, rootIdentity.kind, String(loaded.name), undefined, []);
|
|
81
|
+
context.root = root.key;
|
|
82
|
+
if (project) {
|
|
83
|
+
const flows = records(project.flows), refs = records(project.flowReferences);
|
|
84
|
+
const order = refs.length ? refs.map(r => r.flowId) : flows.map(f => f.id);
|
|
85
|
+
for (const flow of flows) {
|
|
86
|
+
const f = add(flow, 'flow', String(flow.name), root, [{ kind: 'flow', id: String(flow.id) }]);
|
|
87
|
+
container(flow, f);
|
|
88
|
+
}
|
|
89
|
+
if (order.length !== root.children.length || new Set(order).size !== order.length || order.some(id => !flows.some(f => f.id === id)))
|
|
90
|
+
throw new PackageLoadError('Project Flow ownership is inconsistent.');
|
|
91
|
+
root.orderState = 'ordered';
|
|
92
|
+
root.sequence = order.map(id => root.children.find(k => values.get(k)?.id === id));
|
|
93
|
+
root.sequence.forEach((key, i) => byKey.get(key).originalPosition = i + 1);
|
|
94
|
+
}
|
|
95
|
+
else
|
|
96
|
+
container(loaded, root);
|
|
97
|
+
function addresses(node, prefix) {
|
|
98
|
+
if (['action', 'operation', 'control-block'].includes(node.kind) && prefix)
|
|
99
|
+
node.originalAddress = { scope: project ? 'routine' : 'flow', segments: prefix };
|
|
100
|
+
for (const key of node.children) {
|
|
101
|
+
const child = byKey.get(key);
|
|
102
|
+
const index = node.sequence?.indexOf(key);
|
|
103
|
+
const segment = child.kind === 'body' ? { kind: 'body' } : index !== undefined && index >= 0 ? { kind: child.kind === 'flow' ? 'flow' : child.kind === 'branch' ? 'branch' : 'step', position: index + 1 } : undefined;
|
|
104
|
+
addresses(child, prefix && segment ? [...prefix, segment] : undefined);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
addresses(root, []);
|
|
108
|
+
const selected = selection.kind === 'document' ? root : byKey.get(selection.key);
|
|
109
|
+
if (!selected || !['project', 'flow', 'action', 'operation', 'control-block'].includes(selected.kind))
|
|
110
|
+
throw new PackageLoadError('Selected execution root is unavailable.');
|
|
111
|
+
const closure = new Set();
|
|
112
|
+
const collect = (n) => { closure.add(n.key); (n.sequence ?? n.children).forEach(k => collect(byKey.get(k))); };
|
|
113
|
+
collect(selected);
|
|
114
|
+
const selectedIssues = [];
|
|
115
|
+
const payloads = [], flows = [];
|
|
116
|
+
// Resolve aliases only from their persisted declaration and original ownership. No ID-only fallback.
|
|
117
|
+
function aliases(node) {
|
|
118
|
+
const chain = [];
|
|
119
|
+
let current = node;
|
|
120
|
+
while (current) {
|
|
121
|
+
chain.unshift(current);
|
|
122
|
+
current = current.parent ? byKey.get(current.parent) : undefined;
|
|
123
|
+
}
|
|
124
|
+
const result = new Map();
|
|
125
|
+
for (const owner of chain) {
|
|
126
|
+
const value = values.get(owner.key);
|
|
127
|
+
for (const variable of records(value.variables)) {
|
|
128
|
+
const link = record(variable.link) ? variable.link : undefined;
|
|
129
|
+
if (!link)
|
|
130
|
+
continue;
|
|
131
|
+
if (link.sourceKind === 'input') {
|
|
132
|
+
result.set(String(variable.name), { type: 'input', path: [String(variable.name)] });
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const candidates = owner.children.map(k => byKey.get(k)).filter(n => n.kind === 'action' && values.get(n.key)?.id === link.sourceNodeId);
|
|
136
|
+
const producer = candidates.length === 1 ? candidates[0] : undefined;
|
|
137
|
+
const definition = producer ? values.get(producer.key)?.actionDefinition : undefined;
|
|
138
|
+
const outputs = records(record(definition) ? definition.outputs : undefined).filter(o => o.id === link.sourceId);
|
|
139
|
+
if (producer && outputs.length === 1 && typeof outputs[0].name === 'string')
|
|
140
|
+
result.set(String(variable.name), { type: 'occurrence-output', producer: producer.key, iterations: [], outputName: outputs[0].name });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
function operand(value, node) {
|
|
146
|
+
if (!record(value))
|
|
147
|
+
throw new PackageLoadError('Expected a persisted binding.');
|
|
148
|
+
if (value.type === 'variable')
|
|
149
|
+
return aliases(node).get(String(value.variableName)) ?? { type: 'input', path: [String(value.variableName)] };
|
|
150
|
+
if (value.type === 'hierarchy-output')
|
|
151
|
+
return clean({ type: 'hierarchy-output', address: value.address, iterations: value.iterations, outputName: value.outputName });
|
|
152
|
+
if (value.type === 'broken-output')
|
|
153
|
+
return { type: 'unresolved-output', code: 'needs-repair', reason: 'The saved output reference requires repair in Studio.', former: clean(value.former) };
|
|
154
|
+
// Resolve legacy references only within their original lexical ownership. The
|
|
155
|
+
// canonical preflight still proves ordering, declarations and iteration scope.
|
|
156
|
+
// Broken operands above are never recovered through this resolution.
|
|
157
|
+
if (value.type === 'output') {
|
|
158
|
+
const candidates = [];
|
|
159
|
+
let owner = node;
|
|
160
|
+
while (owner) {
|
|
161
|
+
candidates.push(...owner.children.map(k => byKey.get(k)).filter(n => values.get(n.key)?.id === value.nodeId && ['action', 'operation'].includes(n.kind)));
|
|
162
|
+
owner = owner.parent ? byKey.get(owner.parent) : undefined;
|
|
163
|
+
}
|
|
164
|
+
if (candidates.length === 1)
|
|
165
|
+
return { type: 'occurrence-output', producer: candidates[0].key, iterations: [], outputName: String(value.outputName) };
|
|
166
|
+
return { type: 'unresolved-output', code: 'needs-repair', reason: 'The saved output reference has no unique source in its original context.', former: clean(value) };
|
|
167
|
+
}
|
|
168
|
+
if (value.type === 'input' || value.type === 'occurrence-output' || value.type === 'unresolved-output')
|
|
169
|
+
return clean(value);
|
|
170
|
+
throw new PackageLoadError('Unsupported saved execution operand.');
|
|
171
|
+
}
|
|
172
|
+
function bindings(value, node) { const bindings = {}, staticInputs = {}; for (const [name, v] of Object.entries(record(value) ? value : {})) {
|
|
173
|
+
if (record(v) && v.type === 'literal')
|
|
174
|
+
staticInputs[name] = runtimeTemplates(v.value);
|
|
175
|
+
else
|
|
176
|
+
bindings[name] = operand(v, node);
|
|
177
|
+
} return { bindings, staticInputs }; }
|
|
178
|
+
function condition(v, node) { const l = literal(v); if (typeof l === 'boolean')
|
|
179
|
+
return l; if (v === undefined)
|
|
180
|
+
return undefined; return { binding: operand(v, node) }; }
|
|
181
|
+
function compile(node) {
|
|
182
|
+
const value = values.get(node.key);
|
|
183
|
+
if (node.kind === 'flow') {
|
|
184
|
+
flows.push({ occurrence: node.key, children: node.sequence, inputDeclarations: declarations(value), requiredInputs: declarations(value).filter(d => d.required).map(d => d.name) });
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (!['action', 'operation', 'control-block'].includes(node.kind))
|
|
188
|
+
return;
|
|
189
|
+
const supplied = bindings(value.inputs, node);
|
|
190
|
+
if (node.kind === 'action') {
|
|
191
|
+
const action = lowerStudioActionOccurrence(value, [], { bindings: {}, staticInputs: supplied.staticInputs });
|
|
192
|
+
payloads.push({ ...action, kind: 'action', occurrence: node.key, bindings: supplied.bindings });
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const body = node.children.map(k => byKey.get(k)).find(n => n.kind === 'body');
|
|
196
|
+
if (node.kind === 'operation') {
|
|
197
|
+
const bodyValue = values.get(body.key);
|
|
198
|
+
const returns = bindings(bodyValue.outputBindings, body);
|
|
199
|
+
const locals = Object.fromEntries(records(bodyValue.variables).filter(v => Object.hasOwn(v, 'initialValue')).map(v => [String(v.name), v.initialValue]));
|
|
200
|
+
payloads.push({ occurrence: node.key, id: String(value.id), name: node.name, kind: 'operation', action: `operation:${value.operationId}`, output: Object.fromEntries(records(bodyValue.outputs).map(o => [String(o.name), null])), children: body.sequence, inputDeclarations: declarations(bodyValue), ...supplied, staticInputs: { ...locals, ...supplied.staticInputs }, outputBindings: returns.bindings, staticOutputs: returns.staticInputs });
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
const settings = record(value.settings) ? value.settings : {};
|
|
204
|
+
if (record(settings.count) && settings.count.type !== 'literal')
|
|
205
|
+
throw new PackageLoadError('Runtime-bound counts remain unsupported.');
|
|
206
|
+
const branchNodes = node.children.map(k => byKey.get(k)).filter(n => n.kind === 'branch');
|
|
207
|
+
const parallel = settings.parallel === true || settings.mode === 'parallel';
|
|
208
|
+
const branches = branchNodes.map(b => { const val = values.get(b.key); const c = val.condition === undefined && parallel ? true : condition(val.condition, node); if (c === undefined)
|
|
209
|
+
throw new PackageLoadError('A Branch has no supported condition.'); return { occurrence: b.key, condition: c, children: b.sequence }; });
|
|
210
|
+
const count = literal(settings.count), iterations = typeof count === 'number' && Number.isInteger(count) ? count : undefined;
|
|
211
|
+
const c = condition(settings.condition, node), minutes = literal(settings.durationMinutes), millis = literal(settings.durationMs), duration = typeof millis === 'number' ? millis : typeof minutes === 'number' ? minutes * 60000 : undefined;
|
|
212
|
+
const delay = literal(settings.iterationDelaySeconds);
|
|
213
|
+
const control = { type: parallel && branches.length ? 'parallel' : branches.length ? 'branch' : iterations && iterations > 1 || duration !== undefined || c !== undefined ? 'repeat' : 'sequence', ...(settings.onError !== undefined ? { onError: settings.onError } : {}), ...(iterations !== undefined ? { iterations } : {}), ...(c !== undefined ? { condition: c } : {}), ...(duration !== undefined ? { durationMs: duration } : {}), ...(typeof delay === 'number' ? { iterationDelayMs: delay * 1000 } : {}), ...(parallel ? { join: 'all', merge: settings.merge === 'first' || settings.merge === 'last' ? settings.merge : 'collect', ...(record(settings.mergeBindings) ? { mergeBindings: Object.fromEntries(Object.entries(settings.mergeBindings).map(([name, v]) => [name, operand(v, node)])) } : {}) } : {}), ...(branches.length ? { branches } : {}) };
|
|
214
|
+
payloads.push({ occurrence: node.key, id: String(value.id), name: node.name, kind: 'control-block', action: parallel ? 'control.parallel' : branches.length ? 'control.branch' : 'control.sequence', output: {}, children: branches.length ? branches.flatMap(b => b.children) : body.sequence, control });
|
|
215
|
+
}
|
|
216
|
+
// Complete payloads may be indexed outside the selected scope; only the selected root dispatches.
|
|
217
|
+
// Draft containers stay structural context, while valid descendants remain independently selectable.
|
|
218
|
+
const incomplete = (n) => n.issues.length > 0 || (n.sequence ?? n.children).some(k => incomplete(byKey.get(k)));
|
|
219
|
+
for (const n of [...context.nodes].reverse()) {
|
|
220
|
+
if (incomplete(n))
|
|
221
|
+
continue;
|
|
222
|
+
try {
|
|
223
|
+
compile(n);
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
issue(n, 'UNSUPPORTED_PREPARATION', error instanceof PackageLoadError ? error.message : 'This scope cannot be prepared.');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
selectedIssues.push(...context.nodes.filter(n => closure.has(n.key)).flatMap(n => n.issues));
|
|
230
|
+
const selectedValue = values.get(selected.key);
|
|
231
|
+
const entryValue = selected.kind === 'operation' ? values.get(selected.children[0]) : selected.kind === 'action' && record(selectedValue.actionDefinition) ? selectedValue.actionDefinition : selectedValue;
|
|
232
|
+
const inputs = declarations(entryValue);
|
|
233
|
+
const doc = clean({ schemaVersion: 8, packageId: `studio-${project ? 'project' : 'flow'}-${loaded.id}`, target: { kind: project ? 'project' : 'flow', id: String(loaded.id), name: String(loaded.name) }, source: { kind: 'authoring', id: String(loaded.id), schemaVersion: Number(sourceValue.schemaVersion), contentHash: await hashCanonicalJson(source) }, context, selection: { root: selection, inputDeclarations: inputs, requiredInputs: inputs.filter(d => d.required).map(d => d.name), executable: !selectedIssues.length, issues: selectedIssues }, nodes: payloads, flows });
|
|
234
|
+
const errors = validateExecutionDocumentV8(doc);
|
|
235
|
+
if (errors.length)
|
|
236
|
+
throw new PackageLoadError('Execution document preparation failed.', errors);
|
|
237
|
+
return doc;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=studio-execution-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-execution-document.js","sourceRoot":"","sources":["../../../src/runner/studio-execution-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -298,10 +298,10 @@ export function loadHierarchyExecutionPackage(serialized, options = {}) {
|
|
|
298
298
|
}
|
|
299
299
|
if (record(value) && value.schemaVersion === 7 && typeof value.packageId === 'string') {
|
|
300
300
|
if (options.flowId)
|
|
301
|
-
throw new PackageLoadError('Select isolated target while lowering the saved Routine, not by rebasing an existing
|
|
301
|
+
throw new PackageLoadError('Select isolated target while lowering the saved Routine, not by rebasing an existing Project.');
|
|
302
302
|
const issues = validateExecutionPackageV7(value);
|
|
303
303
|
if (issues.length)
|
|
304
|
-
throw new PackageLoadError('Invalid Execution v7
|
|
304
|
+
throw new PackageLoadError('Invalid Execution v7 Project.', issues);
|
|
305
305
|
return value;
|
|
306
306
|
}
|
|
307
307
|
return lowerStudioHierarchy(value, options);
|
|
@@ -78,15 +78,35 @@ declare module '@qaick/contract' {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
export type { ExecutionPackageV7 as ExecutionPackage, ExecutionStepV7 as ExecutionStep, ExecutionFlowV7 as ExecutionFlow } from '@qaick/contract';
|
|
81
|
-
export type {
|
|
81
|
+
export type { AcceptedExecutorRequest as RunnerRequest, ExecutorResult, ExecutorStepResult } from '@qaick/runtime';
|
|
82
|
+
export type ExecutionEvent = import('@qaick/runtime').AcceptedExecutorEvent;
|
|
82
83
|
export interface RunnerEngine {
|
|
83
|
-
submit(request: import('@qaick/runtime').
|
|
84
|
+
submit(request: import('@qaick/runtime').AcceptedExecutorRequest): Promise<import('@qaick/contract').RunAccepted>;
|
|
84
85
|
cancel(requestId: string): Promise<void>;
|
|
85
|
-
events(requestId: string): AsyncIterable<
|
|
86
|
-
result(requestId: string): Promise<
|
|
86
|
+
events(requestId: string): AsyncIterable<ExecutionEvent>;
|
|
87
|
+
result(requestId: string): Promise<ExecutionResult>;
|
|
87
88
|
}
|
|
88
|
-
export type StepResult = import('@qaick/runtime').ExecutorStepResult & {
|
|
89
|
+
export type StepResult = Omit<import('@qaick/runtime').ExecutorStepResult, 'iterations' | 'children' | 'attempts' | 'iteration'> & {
|
|
90
|
+
occurrence?: string;
|
|
91
|
+
iteration?: {
|
|
92
|
+
loop?: string;
|
|
93
|
+
loopId?: string;
|
|
94
|
+
current: number;
|
|
95
|
+
total: number;
|
|
96
|
+
};
|
|
97
|
+
iterations?: Array<import('@qaick/contract').IterationSelection | import('@qaick/contract').ScopeIteration>;
|
|
98
|
+
children?: StepResult[];
|
|
99
|
+
attempts?: Array<Omit<NonNullable<import('@qaick/runtime').ExecutorStepResult['attempts']>[number], 'children'> & {
|
|
100
|
+
children?: StepResult[];
|
|
101
|
+
}>;
|
|
89
102
|
transportTiming?: import('./legacy-types.js').StepTransportTiming;
|
|
90
103
|
};
|
|
91
|
-
export type ExecutionResult = import('@qaick/runtime').ExecutorResult
|
|
104
|
+
export type ExecutionResult = Omit<import('@qaick/runtime').ExecutorResult, 'steps' | 'children'> & {
|
|
105
|
+
steps: StepResult[];
|
|
106
|
+
children?: ExecutionResult[];
|
|
107
|
+
resultVersion?: 2;
|
|
108
|
+
source?: import('@qaick/contract').DocumentSource;
|
|
109
|
+
scope?: import('@qaick/contract').ExecutionRoot;
|
|
110
|
+
documentHash?: string;
|
|
111
|
+
} & Pick<import('@qaick/contract').ExecutionResult, 'warnings' | 'artifactHash' | 'provenance'>;
|
|
92
112
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runner/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runner/types.ts"],"names":[],"mappings":"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"}
|