@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.
Files changed (49) hide show
  1. package/package-dist/package.json +13 -9
  2. package/package-dist/src/build-info.d.ts +1 -0
  3. package/package-dist/src/build-info.d.ts.map +1 -1
  4. package/package-dist/src/build-info.js +1 -2
  5. package/package-dist/src/build-info.js.map +1 -1
  6. package/package-dist/src/runner/RunnerModule.d.ts +11 -2
  7. package/package-dist/src/runner/RunnerModule.d.ts.map +1 -1
  8. package/package-dist/src/runner/RunnerModule.js +43 -31
  9. package/package-dist/src/runner/RunnerModule.js.map +1 -1
  10. package/package-dist/src/runner/action-template-lowering.d.ts +18 -0
  11. package/package-dist/src/runner/action-template-lowering.d.ts.map +1 -0
  12. package/package-dist/src/runner/action-template-lowering.js +79 -0
  13. package/package-dist/src/runner/action-template-lowering.js.map +1 -0
  14. package/package-dist/src/runner/adapters.d.ts +45 -0
  15. package/package-dist/src/runner/adapters.d.ts.map +1 -0
  16. package/package-dist/src/runner/adapters.js +203 -0
  17. package/package-dist/src/runner/adapters.js.map +1 -0
  18. package/package-dist/src/runner/execution-context.d.ts +3 -0
  19. package/package-dist/src/runner/execution-context.d.ts.map +1 -0
  20. package/package-dist/src/runner/execution-context.js +4 -0
  21. package/package-dist/src/runner/execution-context.js.map +1 -0
  22. package/package-dist/src/runner/fixture.d.ts.map +1 -1
  23. package/package-dist/src/runner/fixture.js +14 -27
  24. package/package-dist/src/runner/fixture.js.map +1 -1
  25. package/package-dist/src/runner/legacy-types.d.ts +81 -0
  26. package/package-dist/src/runner/legacy-types.d.ts.map +1 -0
  27. package/package-dist/src/runner/legacy-types.js +7 -0
  28. package/package-dist/src/runner/legacy-types.js.map +1 -0
  29. package/package-dist/src/runner/package-loader.d.ts +3 -2
  30. package/package-dist/src/runner/package-loader.d.ts.map +1 -1
  31. package/package-dist/src/runner/package-loader.js +3 -112
  32. package/package-dist/src/runner/package-loader.js.map +1 -1
  33. package/package-dist/src/runner/runtime-client-adapter.d.ts +25 -0
  34. package/package-dist/src/runner/runtime-client-adapter.d.ts.map +1 -1
  35. package/package-dist/src/runner/runtime-client-adapter.js +43 -2
  36. package/package-dist/src/runner/runtime-client-adapter.js.map +1 -1
  37. package/package-dist/src/runner/studio-artifact-loader.d.ts +3 -5
  38. package/package-dist/src/runner/studio-artifact-loader.d.ts.map +1 -1
  39. package/package-dist/src/runner/studio-artifact-loader.js +4 -364
  40. package/package-dist/src/runner/studio-artifact-loader.js.map +1 -1
  41. package/package-dist/src/runner/studio-hierarchy-loader.d.ts +10 -0
  42. package/package-dist/src/runner/studio-hierarchy-loader.d.ts.map +1 -0
  43. package/package-dist/src/runner/studio-hierarchy-loader.js +271 -0
  44. package/package-dist/src/runner/studio-hierarchy-loader.js.map +1 -0
  45. package/package-dist/src/runner/types.d.ts +13 -2
  46. package/package-dist/src/runner/types.d.ts.map +1 -1
  47. package/package-dist/src/runner/types.js +2 -1
  48. package/package-dist/src/runner/types.js.map +1 -1
  49. 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
- /** The exact published contract package consumed by this Runner release. */
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;AAEhC,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,EAAG,QAAiB,CAAC;AAEzD,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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runner/types.ts"],"names":[],"mappings":"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"}
@@ -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
- export const RUNNER_CONTRACT_VERSION = '0.2.12';
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,QAAiB,CAAC"}
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.29.0-alpha.6",
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": "alpha"
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.2.12",
58
- "@qaick/executor": "0.1.0-alpha.3",
59
- "@qaick/http-executor": "^0.1.0-alpha.10",
60
- "@qaick/runtime": "0.1.0-alpha.7",
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": {