@qaick/runner 0.29.0-alpha.6 → 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 +13 -9
- package/package-dist/src/build-info.d.ts +1 -0
- package/package-dist/src/build-info.d.ts.map +1 -1
- package/package-dist/src/build-info.js +1 -2
- package/package-dist/src/build-info.js.map +1 -1
- 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 -364
- 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 +13 -2
- package/package-dist/src/runner/types.d.ts.map +1 -1
- package/package-dist/src/runner/types.js +2 -1
- package/package-dist/src/runner/types.js.map +1 -1
- package/package.json +13 -9
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { migrateArtifact, migrateHierarchyBindings, hierarchyOccurrences, orderedRoutineNodes, executionOutputPackagingIssues, normalizeExecutionOutputAlias, validateExecutionPackageV7 } from '@qaick/contract';
|
|
2
|
+
import { PackageLoadError } from './package-load-error.js';
|
|
3
|
+
import { lowerStudioActionOccurrence, runtimeTemplates } from './action-template-lowering.js';
|
|
4
|
+
const record = (v) => v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
5
|
+
const key = (a) => JSON.stringify([a.scope, a.segments.map(s => s.kind === 'body' ? ['body'] : [s.kind, s.position])]);
|
|
6
|
+
const literal = (v) => record(v) && v.type === 'literal' ? v.value : undefined;
|
|
7
|
+
const integer = (v) => typeof literal(v) === 'number' && Number.isInteger(literal(v)) ? Number(literal(v)) : undefined;
|
|
8
|
+
const seconds = (v) => typeof literal(v) === 'number' && Number(literal(v)) >= 0 ? Number(literal(v)) * 1000 : undefined;
|
|
9
|
+
/** Artifact v10 → Execution v7 only. This entry point does not submit to the legacy Executor. */
|
|
10
|
+
export function lowerStudioHierarchy(candidate, options = {}) {
|
|
11
|
+
const artifact = migrateArtifact(candidate).artifact;
|
|
12
|
+
const migrated = migrateHierarchyBindings(artifact);
|
|
13
|
+
// Artifact migration cannot prove composite-return entry causality. Preserve
|
|
14
|
+
// its original operand for the Execution completion proof, without changing data.
|
|
15
|
+
const restoreReturns = (from, to) => {
|
|
16
|
+
if (Array.isArray(from) && Array.isArray(to)) {
|
|
17
|
+
from.forEach((v, i) => restoreReturns(v, to[i]));
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (!record(from) || !record(to))
|
|
21
|
+
return;
|
|
22
|
+
if (record(from.outputBindings))
|
|
23
|
+
to.outputBindings = structuredClone(from.outputBindings);
|
|
24
|
+
for (const name of ['project', 'flow', 'flows', 'nodes', 'body', 'settings', 'branches'])
|
|
25
|
+
restoreReturns(from[name], to[name]);
|
|
26
|
+
};
|
|
27
|
+
restoreReturns(artifact, migrated);
|
|
28
|
+
const isProject = record(migrated.project);
|
|
29
|
+
const root = isProject ? { scope: 'routine', value: migrated.project } : { scope: 'flow', value: migrated.flow };
|
|
30
|
+
if (!record(root.value))
|
|
31
|
+
throw new PackageLoadError('Expected a complete Studio Project or standalone Flow.');
|
|
32
|
+
const occurrences = hierarchyOccurrences(root);
|
|
33
|
+
const byAddress = new Map(occurrences.map(o => [key(o.address), o]));
|
|
34
|
+
const omitted = [];
|
|
35
|
+
const definitions = [];
|
|
36
|
+
const executable = new Set();
|
|
37
|
+
const unresolved = (code, reason, former) => ({ type: 'unresolved-output', code, reason, former });
|
|
38
|
+
const diagnostic = (v) => ({ type: 'hierarchy-output', address: structuredClone(v.address), iterations: structuredClone(v.iterations), outputName: String(v.outputName) });
|
|
39
|
+
const pending = [];
|
|
40
|
+
const aliasesFor = (value, prefix) => {
|
|
41
|
+
if (!Array.isArray(value))
|
|
42
|
+
return {};
|
|
43
|
+
const aliases = {};
|
|
44
|
+
for (const variable of value.filter(record)) {
|
|
45
|
+
const link = record(variable.link) ? variable.link : undefined;
|
|
46
|
+
if (typeof variable.name !== 'string' || !link)
|
|
47
|
+
continue;
|
|
48
|
+
if (link.sourceKind === 'input') {
|
|
49
|
+
aliases[variable.name] = { input: variable.name };
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const candidates = occurrences.filter(o => o.node.type === 'action' && o.node.id === link.sourceNodeId
|
|
53
|
+
&& (!prefix || key({ scope: o.address.scope, segments: o.address.segments.slice(0, -1) }) === key({ scope: root.scope, segments: prefix })));
|
|
54
|
+
const outputs = candidates.flatMap(o => record(o.node.actionDefinition) && Array.isArray(o.node.actionDefinition.outputs)
|
|
55
|
+
? o.node.actionDefinition.outputs.filter(record).filter(output => typeof link.sourceId === 'string' && output.id === link.sourceId) : []);
|
|
56
|
+
if (link.sourceKind !== 'output' || candidates.length !== 1 || outputs.length !== 1 || typeof outputs[0].name !== 'string') {
|
|
57
|
+
// Diagnostic markers are never normalized or executed as source names.
|
|
58
|
+
// Keep the actual unproven declaration in the reason for repair.
|
|
59
|
+
aliases[variable.name] = { unproven: unresolved('needs-repair', `Unproven output alias declaration: ${JSON.stringify(link)}`, { type: 'output', nodeId: typeof link.sourceNodeId === 'string' && link.sourceNodeId ? link.sourceNodeId : '<unproven-source>', outputName: '<unproven-output>' }) };
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
aliases[variable.name] = { former: { type: 'output', nodeId: String(link.sourceNodeId), outputName: outputs[0].name },
|
|
63
|
+
...(prefix ? { container: { scope: root.scope, segments: prefix } } : {}) };
|
|
64
|
+
}
|
|
65
|
+
return aliases;
|
|
66
|
+
};
|
|
67
|
+
const inputAliases = (container) => Object.fromEntries((Array.isArray(container.inputs) ? container.inputs.filter(record) : []).map(i => [String(i.name), { input: String(i.name) }]));
|
|
68
|
+
const operand = (v, context, aliases = {}, sourceContainer) => {
|
|
69
|
+
if (!record(v))
|
|
70
|
+
throw new PackageLoadError('Expected persisted binding.');
|
|
71
|
+
if (v.type === 'variable' && typeof v.variableName === 'string') {
|
|
72
|
+
const alias = aliases[v.variableName];
|
|
73
|
+
if (alias && 'unproven' in alias)
|
|
74
|
+
return structuredClone(alias.unproven);
|
|
75
|
+
if (!alias || 'input' in alias)
|
|
76
|
+
return { type: 'input', path: [alias && 'input' in alias ? alias.input : v.variableName] };
|
|
77
|
+
const placeholder = unresolved('needs-repair', 'Alias awaits structural proof.', structuredClone(alias.former));
|
|
78
|
+
pending.push({ operand: placeholder, context, alias });
|
|
79
|
+
return placeholder;
|
|
80
|
+
}
|
|
81
|
+
if (v.type === 'output') {
|
|
82
|
+
const alias = { former: { type: 'output', nodeId: String(v.nodeId), outputName: String(v.outputName) },
|
|
83
|
+
...(sourceContainer ? { container: { scope: root.scope, segments: sourceContainer } } : {}) };
|
|
84
|
+
const placeholder = unresolved('needs-repair', 'Output awaits structural proof.', alias.former);
|
|
85
|
+
pending.push({ operand: placeholder, context, alias });
|
|
86
|
+
return placeholder;
|
|
87
|
+
}
|
|
88
|
+
if (v.type === 'broken-output') {
|
|
89
|
+
if (!record(v.former))
|
|
90
|
+
throw new PackageLoadError('Broken reference lacks former source.');
|
|
91
|
+
const former = v.former.type === 'hierarchy-output' ? diagnostic(v.former) : { type: 'output', nodeId: String(v.former.nodeId), outputName: String(v.former.outputName) };
|
|
92
|
+
return unresolved('needs-repair', String(v.reason), former);
|
|
93
|
+
}
|
|
94
|
+
if (v.type !== 'hierarchy-output')
|
|
95
|
+
throw new PackageLoadError('Unsupported persisted output operand.');
|
|
96
|
+
const ref = diagnostic(v);
|
|
97
|
+
pending.push({ operand: ref, context });
|
|
98
|
+
return ref;
|
|
99
|
+
};
|
|
100
|
+
const flowRecords = isProject ? (Array.isArray(root.value.flows) ? root.value.flows.filter(record) : []) : [root.value];
|
|
101
|
+
const refs = isProject && Array.isArray(root.value.flowReferences) && root.value.flowReferences.length ? root.value.flowReferences.filter(record).map(r => String(r.flowId)) : flowRecords.map(f => String(f.id));
|
|
102
|
+
const flowPosition = (id) => refs.indexOf(id) + 1;
|
|
103
|
+
if (options.flowId && (!isProject || !refs.includes(options.flowId)))
|
|
104
|
+
throw new PackageLoadError('Isolated target is not a member of this Routine.');
|
|
105
|
+
const condition = (v, a, aliases) => {
|
|
106
|
+
const value = literal(v);
|
|
107
|
+
if (typeof value === 'boolean')
|
|
108
|
+
return value;
|
|
109
|
+
if (!record(v))
|
|
110
|
+
return undefined;
|
|
111
|
+
if (['variable', 'output', 'hierarchy-output', 'broken-output'].includes(String(v.type)))
|
|
112
|
+
return { binding: operand(v, { phase: 'entry', address: a }, aliases) };
|
|
113
|
+
if (v.type === 'condition' && Array.isArray(v.clauses) && v.clauses.some(c => record(c) && typeof c.parameter === 'string' && c.parameter.trim()))
|
|
114
|
+
throw new PackageLoadError('Structured compound predicates remain unsupported; no new predicate language.');
|
|
115
|
+
return undefined;
|
|
116
|
+
};
|
|
117
|
+
const inputs = (v, a, aliases, phase = 'entry', sourceContainer) => {
|
|
118
|
+
const bindings = {}, staticInputs = {};
|
|
119
|
+
for (const [name, b] of Object.entries(record(v) ? v : {})) {
|
|
120
|
+
if (record(b) && b.type === 'literal')
|
|
121
|
+
staticInputs[name] = runtimeTemplates(b.value);
|
|
122
|
+
else
|
|
123
|
+
bindings[name] = operand(b, { phase, address: a }, aliases, sourceContainer);
|
|
124
|
+
}
|
|
125
|
+
return { bindings, staticInputs };
|
|
126
|
+
};
|
|
127
|
+
const declarations = (container) => (Array.isArray(container.inputs) ? container.inputs.filter(record) : []).map(i => ({ name: String(i.name), type: (i.type ?? 'string'), required: i.required === true, ...(Object.hasOwn(i, 'defaultValue') ? { defaultValue: i.defaultValue } : {}) }));
|
|
128
|
+
const nodes = (container, prefix, aliases) => orderedRoutineNodes(container).map((node, index) => {
|
|
129
|
+
const n = node, a = { scope: root.scope, segments: [...prefix, { kind: 'step', position: index + 1 }] };
|
|
130
|
+
if (!byAddress.has(key(a)))
|
|
131
|
+
throw new PackageLoadError('Projected occurrence is absent from source hierarchy.');
|
|
132
|
+
executable.add(key(a));
|
|
133
|
+
const supplied = inputs(n.inputs, a, { ...aliases, ...aliasesFor(n.variables, prefix) });
|
|
134
|
+
if (n.type === 'action') {
|
|
135
|
+
const projected = lowerStudioActionOccurrence(n, definitions, { bindings: {}, staticInputs: supplied.staticInputs });
|
|
136
|
+
return { ...projected, kind: 'action', structuralAddress: a, bindings: supplied.bindings };
|
|
137
|
+
}
|
|
138
|
+
if (n.type === 'operation') {
|
|
139
|
+
if (!record(n.body))
|
|
140
|
+
throw new PackageLoadError('Operation requires Routine-owned body; provenance is not execution data.');
|
|
141
|
+
const child = nodes(n.body, [...a.segments, { kind: 'body' }], { ...aliases, ...aliasesFor(n.body.variables, [...a.segments, { kind: 'body' }]), ...inputAliases(n.body) }), returns = inputs(n.body.outputBindings, a, { ...aliases, ...aliasesFor(n.body.variables, [...a.segments, { kind: 'body' }]), ...inputAliases(n.body) }, 'completion', [...a.segments, { kind: 'body' }]);
|
|
142
|
+
const locals = Object.fromEntries((Array.isArray(n.body.variables) ? n.body.variables.filter(record) : []).filter(v => typeof v.name === 'string' && Object.hasOwn(v, 'initialValue')).map(v => [String(v.name), v.initialValue]));
|
|
143
|
+
const names = Array.isArray(n.body.outputs) ? n.body.outputs.filter(record).map(o => String(o.name)) : Object.keys(record(n.body.outputBindings) ? n.body.outputBindings : {});
|
|
144
|
+
return { id: String(n.id), name: String(n.label), action: `operation:${n.operationId}`, kind: 'operation', output: Object.fromEntries(names.map(name => [name, null])), structuralAddress: a, inputDeclarations: declarations(n.body), ...supplied, staticInputs: { ...locals, ...supplied.staticInputs }, children: child, outputBindings: returns.bindings, staticOutputs: returns.staticInputs };
|
|
145
|
+
}
|
|
146
|
+
if (n.type !== 'block' && n.type !== 'control-block')
|
|
147
|
+
throw new PackageLoadError(`Unsupported node type ${n.type}.`);
|
|
148
|
+
const settings = record(n.settings) ? n.settings : {};
|
|
149
|
+
if (record(settings.count) && settings.count.type !== 'literal')
|
|
150
|
+
throw new PackageLoadError('Runtime-bound counts remain unsupported.');
|
|
151
|
+
const parallel = settings.parallel === true || settings.mode === 'parallel';
|
|
152
|
+
const branches = (Array.isArray(settings.branches) ? settings.branches : []).flatMap((b, index) => {
|
|
153
|
+
if (!record(b))
|
|
154
|
+
throw new PackageLoadError('Invalid persisted branch.');
|
|
155
|
+
const c = b.condition === undefined && parallel ? true : condition(b.condition, a, aliases);
|
|
156
|
+
const branchPrefix = { scope: root.scope, segments: [...a.segments, { kind: 'branch', position: index + 1 }] };
|
|
157
|
+
if (c === undefined) {
|
|
158
|
+
for (const o of occurrences)
|
|
159
|
+
if (key({ scope: root.scope, segments: o.address.segments.slice(0, branchPrefix.segments.length) }) === key(branchPrefix))
|
|
160
|
+
omitted.push({ address: o.address, reason: 'Branch has no supported condition.' });
|
|
161
|
+
return [];
|
|
162
|
+
}
|
|
163
|
+
return [{ id: String(b.id), ...(typeof b.name === 'string' ? { name: b.name } : {}), structuralPosition: index + 1, condition: c, children: nodes(b, branchPrefix.segments, aliases) }];
|
|
164
|
+
});
|
|
165
|
+
let child;
|
|
166
|
+
if (branches.length) {
|
|
167
|
+
for (const o of occurrences)
|
|
168
|
+
if (key({ scope: root.scope, segments: o.address.segments.slice(0, a.segments.length + 1) }) === key({ scope: root.scope, segments: [...a.segments, { kind: 'body' }] }))
|
|
169
|
+
omitted.push({ address: o.address, reason: 'Direct body is shadowed by retained branch execution.' });
|
|
170
|
+
child = branches.flatMap(b => b.children);
|
|
171
|
+
}
|
|
172
|
+
else
|
|
173
|
+
child = Array.isArray(n.nodes) ? nodes(n, [...a.segments, { kind: 'body' }], aliases) : [];
|
|
174
|
+
if (!child.length && !branches.length)
|
|
175
|
+
throw new PackageLoadError('Control Block has no executable nested nodes.');
|
|
176
|
+
const iterations = integer(settings.count), c = condition(settings.condition, a, aliases), duration = integer(settings.durationMs) ?? (integer(settings.durationMinutes) !== undefined ? integer(settings.durationMinutes) * 60000 : undefined), delay = seconds(settings.iterationDelaySeconds);
|
|
177
|
+
const type = parallel && branches.length ? 'parallel' : branches.length ? 'branch' : iterations && iterations > 1 || duration !== undefined || c !== undefined ? 'repeat' : 'sequence';
|
|
178
|
+
const merge = settings.merge === 'first' || settings.merge === 'last' ? settings.merge : 'collect';
|
|
179
|
+
const mergeBindings = record(settings.mergeBindings) ? Object.fromEntries(Object.entries(settings.mergeBindings).map(([name, v]) => { if (typeof v === 'string')
|
|
180
|
+
throw new PackageLoadError('Textual merge references require an explicit proven output declaration.'); return [name, operand(v, { phase: 'completion', address: a }, aliases)]; })) : undefined;
|
|
181
|
+
return { id: String(n.id), name: String(n.label), action: parallel ? 'control.parallel' : branches.length ? 'control.branch' : 'control.sequence', kind: 'control-block', output: {}, structuralAddress: a, children: child, control: { type, ...(iterations !== undefined ? { iterations } : {}), ...(c !== undefined ? { condition: c } : {}), ...(duration !== undefined ? { durationMs: duration } : {}), ...(delay !== undefined ? { iterationDelayMs: delay } : {}), ...(parallel ? { join: 'all', merge, ...(mergeBindings ? { mergeBindings } : {}) } : {}), ...(branches.length ? { branches } : {}) } };
|
|
182
|
+
});
|
|
183
|
+
const selected = options.flowId ? refs.filter(id => id === options.flowId) : refs;
|
|
184
|
+
const flows = selected.map(id => {
|
|
185
|
+
const flow = flowRecords.find(f => f.id === id);
|
|
186
|
+
if (!flow)
|
|
187
|
+
throw new PackageLoadError('Missing Flow.');
|
|
188
|
+
const declaration = declarations(flow);
|
|
189
|
+
return { id, name: String(flow.name), structuralPosition: flowPosition(id), steps: nodes(flow, isProject ? [{ kind: 'flow', position: flowPosition(id) }] : [], { ...(isProject ? aliasesFor(root.value.variables) : {}), ...aliasesFor(flow.variables, isProject ? [{ kind: 'flow', position: flowPosition(id) }] : []), ...inputAliases(flow) }), requiredInputs: declaration.filter(i => i.required).map(i => i.name), inputDeclarations: declaration };
|
|
190
|
+
});
|
|
191
|
+
const local = options.flowId || !isProject, first = flows[0];
|
|
192
|
+
const pkg = { schemaVersion: 7, ordering: 'routine', packageId: `studio-${local ? 'flow' : 'project'}-${local ? first.id : root.value.id}`, definitions: [{ id: String(local ? first.id : root.value.id), kind: local ? 'flow' : 'project', name: String(local ? first.name : root.value.name) }, ...definitions], target: { kind: local ? 'flow' : 'project', id: String(local ? first.id : root.value.id), name: String(local ? first.name : root.value.name) }, executionContext: { scope: root.scope, mode: options.flowId ? 'isolated-flow' : isProject ? 'routine' : 'standalone', ...(options.flowId ? { isolatedFlowPosition: flowPosition(options.flowId) } : {}) }, steps: local ? first.steps : [], ...(local ? { requiredInputs: first.requiredInputs, inputDeclarations: first.inputDeclarations } : { flows, requiredInputs: [...new Set(flows.flatMap(f => f.requiredInputs))] }), ...(omitted.length ? { omittedOccurrences: omitted } : {}) };
|
|
193
|
+
// Resolve only after every executable address and declaration exists.
|
|
194
|
+
const proofPackage = JSON.parse(JSON.stringify(pkg));
|
|
195
|
+
for (const task of pending) {
|
|
196
|
+
let resolved = task.operand;
|
|
197
|
+
if (task.alias && 'former' in task.alias)
|
|
198
|
+
resolved = normalizeExecutionOutputAlias(proofPackage, task.alias.former, task.context, [], task.alias.container);
|
|
199
|
+
else if (resolved.type === 'hierarchy-output') {
|
|
200
|
+
const issues = executionOutputPackagingIssues(proofPackage, resolved, task.context);
|
|
201
|
+
if (issues.length)
|
|
202
|
+
resolved = unresolved(issues[0].code, issues[0].reason, structuredClone(resolved));
|
|
203
|
+
}
|
|
204
|
+
if (resolved !== task.operand) {
|
|
205
|
+
Object.keys(task.operand).forEach(k => delete task.operand[k]);
|
|
206
|
+
Object.assign(task.operand, resolved);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Projected addresses are complete before classifying references to shadowed/filtered regions.
|
|
210
|
+
const post = (v) => {
|
|
211
|
+
if (Array.isArray(v)) {
|
|
212
|
+
v.forEach(post);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (!record(v))
|
|
216
|
+
return;
|
|
217
|
+
if (v.type === 'hierarchy-output' && !executable.has(key(v.address))) {
|
|
218
|
+
const ref = { ...v };
|
|
219
|
+
const source = omitted.some(o => key(o.address) === key(ref.address));
|
|
220
|
+
Object.keys(v).forEach(k => delete v[k]);
|
|
221
|
+
Object.assign(v, unresolved(source ? 'unsupported-context' : 'unsupported-execution-context', source ? 'Structurally present source was intentionally omitted.' : 'Source is outside this execution context.', ref));
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (v.type === 'unresolved-output')
|
|
225
|
+
return;
|
|
226
|
+
Object.values(v).forEach(post);
|
|
227
|
+
};
|
|
228
|
+
// Visit operand fields only: literal objects which resemble references remain literal data.
|
|
229
|
+
const finalize = (steps) => { for (const s of steps) {
|
|
230
|
+
post(s.bindings);
|
|
231
|
+
post(s.outputBindings);
|
|
232
|
+
if (record(s.control?.condition))
|
|
233
|
+
post(s.control.condition.binding);
|
|
234
|
+
post(s.control?.mergeBindings);
|
|
235
|
+
if (s.control?.branches) {
|
|
236
|
+
for (const b of s.control.branches) {
|
|
237
|
+
if (record(b.condition))
|
|
238
|
+
post(b.condition.binding);
|
|
239
|
+
finalize(b.children);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
else if (s.children)
|
|
243
|
+
finalize(s.children);
|
|
244
|
+
} };
|
|
245
|
+
flows.forEach(f => finalize(f.steps));
|
|
246
|
+
const normalized = JSON.parse(JSON.stringify(pkg));
|
|
247
|
+
const issues = validateExecutionPackageV7(normalized);
|
|
248
|
+
if (issues.length)
|
|
249
|
+
throw new PackageLoadError('Invalid Execution v7 structural projection.', issues);
|
|
250
|
+
return normalized;
|
|
251
|
+
}
|
|
252
|
+
/** Execution v7 load/validation is separate from activation. */
|
|
253
|
+
export function loadHierarchyExecutionPackage(serialized, options = {}) {
|
|
254
|
+
let value;
|
|
255
|
+
try {
|
|
256
|
+
value = JSON.parse(serialized);
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
throw new PackageLoadError('Invalid JSON.');
|
|
260
|
+
}
|
|
261
|
+
if (record(value) && value.schemaVersion === 7 && typeof value.packageId === 'string') {
|
|
262
|
+
if (options.flowId)
|
|
263
|
+
throw new PackageLoadError('Select isolated target while lowering the saved Routine, not by rebasing an existing package.');
|
|
264
|
+
const issues = validateExecutionPackageV7(value);
|
|
265
|
+
if (issues.length)
|
|
266
|
+
throw new PackageLoadError('Invalid Execution v7 package.', issues);
|
|
267
|
+
return value;
|
|
268
|
+
}
|
|
269
|
+
return lowerStudioHierarchy(value, options);
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=studio-hierarchy-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-hierarchy-loader.js","sourceRoot":"","sources":["../../../src/runner/studio-hierarchy-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/** Compatibility import for Runner modules. The canonical contract is the published @qaick/contract package. */
|
|
2
2
|
export * from '@qaick/contract';
|
|
3
|
-
|
|
4
|
-
export declare const RUNNER_CONTRACT_VERSION: "0.2.12";
|
|
3
|
+
export declare const RUNNER_CONTRACT_VERSION: string;
|
|
5
4
|
export type ExecutionControlState = 'idle' | 'running' | 'pause-requested' | 'paused' | 'resuming' | 'stopped' | 'failed' | 'completed';
|
|
6
5
|
export interface RunnerDebugSession {
|
|
7
6
|
breakpoints: string[];
|
|
@@ -78,4 +77,16 @@ declare module '@qaick/contract' {
|
|
|
78
77
|
};
|
|
79
78
|
}
|
|
80
79
|
}
|
|
80
|
+
export type { ExecutionPackageV7 as ExecutionPackage, ExecutionStepV7 as ExecutionStep, ExecutionFlowV7 as ExecutionFlow } from '@qaick/contract';
|
|
81
|
+
export type { ExecutorRequest as RunnerRequest, ExecutorEvent as ExecutionEvent, ExecutorResult, ExecutorStepResult } from '@qaick/runtime';
|
|
82
|
+
export interface RunnerEngine {
|
|
83
|
+
submit(request: import('@qaick/runtime').ExecutorRequest): Promise<import('@qaick/contract').RunAccepted>;
|
|
84
|
+
cancel(requestId: string): Promise<void>;
|
|
85
|
+
events(requestId: string): AsyncIterable<import('@qaick/runtime').ExecutorEvent>;
|
|
86
|
+
result(requestId: string): Promise<import('@qaick/runtime').ExecutorResult>;
|
|
87
|
+
}
|
|
88
|
+
export type StepResult = import('@qaick/runtime').ExecutorStepResult & {
|
|
89
|
+
transportTiming?: import('./legacy-types').StepTransportTiming;
|
|
90
|
+
};
|
|
91
|
+
export type ExecutionResult = import('@qaick/runtime').ExecutorResult & Pick<import('@qaick/contract').ExecutionResult, 'warnings' | 'artifactHash' | 'provenance'>;
|
|
81
92
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runner/types.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,cAAc,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runner/types.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,cAAc,iBAAiB,CAAC;AAIhC,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;AAGD,YAAY,EAAC,kBAAkB,IAAI,gBAAgB,EAAC,eAAe,IAAI,aAAa,EAAC,eAAe,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9I,YAAY,EAAC,eAAe,IAAI,aAAa,EAAC,aAAa,IAAI,cAAc,EAAC,cAAc,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvI,MAAM,WAAW,YAAY;IAAE,MAAM,CAAC,OAAO,EAAC,OAAO,gBAAgB,EAAE,eAAe,GAAE,OAAO,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAAA,MAAM,CAAC,SAAS,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAAA,MAAM,CAAC,SAAS,EAAC,MAAM,GAAE,aAAa,CAAC,OAAO,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAAA,MAAM,CAAC,SAAS,EAAC,MAAM,GAAE,OAAO,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC,CAAC;CAAC;AAExU,MAAM,MAAM,UAAU,GAAC,OAAO,gBAAgB,EAAE,kBAAkB,GAAG;IAAC,eAAe,CAAC,EAAC,OAAO,gBAAgB,EAAE,mBAAmB,CAAA;CAAC,CAAC;AACrI,MAAM,MAAM,eAAe,GAAC,OAAO,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAC,OAAO,iBAAiB,EAAE,eAAe,EAAC,UAAU,GAAC,cAAc,GAAC,YAAY,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Compatibility import for Runner modules. The canonical contract is the published @qaick/contract package. */
|
|
2
2
|
export * from '@qaick/contract';
|
|
3
3
|
/** The exact published contract package consumed by this Runner release. */
|
|
4
|
-
|
|
4
|
+
import packageJson from '../../package.json' with { type: 'json' };
|
|
5
|
+
export const RUNNER_CONTRACT_VERSION = packageJson.dependencies['@qaick/contract'];
|
|
5
6
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runner/types.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,cAAc,iBAAiB,CAAC;AAEhC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runner/types.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,cAAc,iBAAiB,CAAC;AAEhC,4EAA4E;AAC5E,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qaick/runner",
|
|
3
3
|
"description": "Reusable QAick Runner module and standalone execution application.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.30.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"package-dist",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"types": "./package-dist/src/runner/RunnerModule.d.ts",
|
|
12
12
|
"publishConfig": {
|
|
13
13
|
"access": "public",
|
|
14
|
-
"tag": "
|
|
14
|
+
"tag": "latest"
|
|
15
15
|
},
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -27,7 +27,11 @@
|
|
|
27
27
|
"import": "./package-dist/src/runner/runtime-client-adapter.js"
|
|
28
28
|
},
|
|
29
29
|
"./styles.css": "./package-dist/styles.css",
|
|
30
|
-
"./package.json": "./package.json"
|
|
30
|
+
"./package.json": "./package.json",
|
|
31
|
+
"./studio-artifacts": {
|
|
32
|
+
"types": "./package-dist/src/runner/studio-artifact-loader.d.ts",
|
|
33
|
+
"import": "./package-dist/src/runner/studio-artifact-loader.js"
|
|
34
|
+
}
|
|
31
35
|
},
|
|
32
36
|
"scripts": {
|
|
33
37
|
"dev": "vite",
|
|
@@ -36,7 +40,6 @@
|
|
|
36
40
|
"check:package": "npm run build:package && node scripts/check-package.mjs",
|
|
37
41
|
"pack:check": "npm run build:package && npm pack --dry-run",
|
|
38
42
|
"pack:tarball": "npm run build:package && npm pack",
|
|
39
|
-
"publish:alpha": "npm run check:package && npm publish --tag alpha",
|
|
40
43
|
"package:standalone": "npm run build && node scripts/package-standalone.mjs",
|
|
41
44
|
"electron:build": "tsc -p tsconfig.electron.json && node scripts/copy-electron-preload.mjs",
|
|
42
45
|
"desktop:run": "npm run build && npm run electron:build && electron electron-dist/electron/main.js",
|
|
@@ -51,13 +54,14 @@
|
|
|
51
54
|
"deploy": "npm run deploy:cloudflare",
|
|
52
55
|
"preview": "vite preview",
|
|
53
56
|
"test": "vitest run",
|
|
54
|
-
"typecheck": "tsc -b"
|
|
57
|
+
"typecheck": "tsc -b",
|
|
58
|
+
"publish:release": "npm run check:package && npm publish --tag latest"
|
|
55
59
|
},
|
|
56
60
|
"dependencies": {
|
|
57
|
-
"@qaick/contract": "0.
|
|
58
|
-
"@qaick/executor": "0.
|
|
59
|
-
"@qaick/http-executor": "
|
|
60
|
-
"@qaick/runtime": "0.
|
|
61
|
+
"@qaick/contract": "0.3.0",
|
|
62
|
+
"@qaick/executor": "0.2.0",
|
|
63
|
+
"@qaick/http-executor": "0.2.0",
|
|
64
|
+
"@qaick/runtime": "0.2.0",
|
|
61
65
|
"zustand": "^5.0.15"
|
|
62
66
|
},
|
|
63
67
|
"peerDependencies": {
|