@glubean/cli 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/contracts.d.ts.map +1 -1
- package/dist/commands/contracts.js +78 -20
- package/dist/commands/contracts.js.map +1 -1
- package/dist/commands/run.d.ts +25 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +120 -7
- package/dist/commands/run.js.map +1 -1
- package/dist/lib/auth.d.ts +1 -1
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +10 -1
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/config.d.ts +19 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +27 -3
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/print-plan.d.ts.map +1 -1
- package/dist/lib/print-plan.js +5 -2
- package/dist/lib/print-plan.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +12 -8
- package/dist/main.js.map +1 -1
- package/package.json +5 -5
- package/templates/demo/glubean.yaml +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/commands/contracts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,kBAAkB,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/commands/contracts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,kBAAkB,EAA0B,MAAM,yBAAyB,CAAC;AAiB1F,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,kBAAkB,GAAG,SAAS,CAOhC;AA2FD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAuCvE;AAID,wBAAgB,UAAU,CACxB,SAAS,EAAE,kBAAkB,EAAE,EAC/B,KAAK,GAAE,kBAAkB,EAAO,GAC/B,MAAM,CAkCR;AA4FD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAwBxE;AAmCD,wBAAgB,UAAU,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzE;AAYD,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAqMf"}
|
|
@@ -197,6 +197,27 @@ function formatMappingArrow(m) {
|
|
|
197
197
|
}
|
|
198
198
|
return `${m.target} ← (pass-through)`;
|
|
199
199
|
}
|
|
200
|
+
/** Compact, human-readable rendering of a branch predicate for CLI output. */
|
|
201
|
+
function formatPredicate(p) {
|
|
202
|
+
switch (p.kind) {
|
|
203
|
+
case "compare":
|
|
204
|
+
return `${p.path.join(".")} ${p.op} ${JSON.stringify(p.value)}`;
|
|
205
|
+
case "in":
|
|
206
|
+
return `${p.path.join(".")} in [${p.values.map((v) => JSON.stringify(v)).join(", ")}]`;
|
|
207
|
+
case "presence":
|
|
208
|
+
return `${p.path.join(".")} ${p.op}`;
|
|
209
|
+
case "matches":
|
|
210
|
+
return `${p.path.join(".")} matches /${p.pattern}/${p.flags ?? ""}`;
|
|
211
|
+
case "and":
|
|
212
|
+
return p.clauses.map(formatPredicate).join(" AND ");
|
|
213
|
+
case "or":
|
|
214
|
+
return p.clauses.map(formatPredicate).join(" OR ");
|
|
215
|
+
case "not":
|
|
216
|
+
return `NOT (${formatPredicate(p.clause)})`;
|
|
217
|
+
case "opaque":
|
|
218
|
+
return `<opaque ${p.strictness}${p.mayDoAsyncIO ? " async/IO" : ""}>`;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
200
221
|
function formatFlowStep(step, index) {
|
|
201
222
|
const lines = [];
|
|
202
223
|
if (step.kind === "compute") {
|
|
@@ -214,10 +235,34 @@ function formatFlowStep(step, index) {
|
|
|
214
235
|
}
|
|
215
236
|
return lines;
|
|
216
237
|
}
|
|
238
|
+
if (step.kind === "branch") {
|
|
239
|
+
const name = step.name ? ` — ${step.name}` : "";
|
|
240
|
+
const subj = step.mode === "value" && step.subjectPath ? ` (on: ${step.subjectPath.join(".")})` : "";
|
|
241
|
+
lines.push(`${index + 1}. **<branch:${step.mode}>**${name}${subj}`);
|
|
242
|
+
const emitSub = (sub, i) => {
|
|
243
|
+
for (const l of formatFlowStep(sub, i))
|
|
244
|
+
lines.push(` ${l}`);
|
|
245
|
+
};
|
|
246
|
+
for (const c of step.cases) {
|
|
247
|
+
const label = step.mode === "value"
|
|
248
|
+
? `case ${JSON.stringify(c.value)}`
|
|
249
|
+
: `case${c.message ? ` "${c.message}"` : ""}${c.predicate ? ` [${formatPredicate(c.predicate)}]` : ""}`;
|
|
250
|
+
lines.push(` - ${label}:`);
|
|
251
|
+
c.steps.forEach(emitSub);
|
|
252
|
+
}
|
|
253
|
+
if (step.default.length > 0) {
|
|
254
|
+
lines.push(" - default:");
|
|
255
|
+
step.default.forEach(emitSub);
|
|
256
|
+
}
|
|
257
|
+
return lines;
|
|
258
|
+
}
|
|
217
259
|
// contract-call
|
|
218
260
|
const name = step.name ? ` — ${step.name}` : "";
|
|
219
261
|
const target = step.target ? ` (${step.protocol} · ${step.target})` : "";
|
|
220
262
|
lines.push(`${index + 1}. **${step.contractId}#${step.caseKey}**${name}${target}`);
|
|
263
|
+
if (step.accept && step.accept.length > 0) {
|
|
264
|
+
lines.push(` - accepts: ${step.accept.join(", ")}`);
|
|
265
|
+
}
|
|
221
266
|
if (step.inputs && step.inputs.length > 0) {
|
|
222
267
|
lines.push(" - inputs:");
|
|
223
268
|
for (const m of step.inputs)
|
|
@@ -256,32 +301,45 @@ export function formatFlowsMdSection(flows) {
|
|
|
256
301
|
}
|
|
257
302
|
return lines.join("\n");
|
|
258
303
|
}
|
|
304
|
+
/** Recursively serialize a flow step to JSON (branch cases + default nest). */
|
|
305
|
+
function flowStepToJson(s) {
|
|
306
|
+
if (s.kind === "compute") {
|
|
307
|
+
return { kind: "compute", name: s.name, reads: s.reads, writes: s.writes };
|
|
308
|
+
}
|
|
309
|
+
if (s.kind === "branch") {
|
|
310
|
+
return {
|
|
311
|
+
kind: "branch",
|
|
312
|
+
mode: s.mode,
|
|
313
|
+
name: s.name,
|
|
314
|
+
...(s.subjectPath !== undefined ? { subjectPath: s.subjectPath } : {}),
|
|
315
|
+
cases: s.cases.map((c) => ({
|
|
316
|
+
...(c.value !== undefined ? { value: c.value } : {}),
|
|
317
|
+
...(c.message !== undefined ? { message: c.message } : {}),
|
|
318
|
+
...(c.predicate !== undefined ? { predicate: c.predicate } : {}),
|
|
319
|
+
steps: c.steps.map(flowStepToJson),
|
|
320
|
+
})),
|
|
321
|
+
default: s.default.map(flowStepToJson),
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
return {
|
|
325
|
+
kind: "contract-call",
|
|
326
|
+
name: s.name,
|
|
327
|
+
contractId: s.contractId,
|
|
328
|
+
caseKey: s.caseKey,
|
|
329
|
+
protocol: s.protocol,
|
|
330
|
+
target: s.target,
|
|
331
|
+
inputs: s.inputs,
|
|
332
|
+
outputs: s.outputs,
|
|
333
|
+
...(s.accept ? { accept: s.accept } : {}),
|
|
334
|
+
};
|
|
335
|
+
}
|
|
259
336
|
export function flowToJson(f) {
|
|
260
337
|
return {
|
|
261
338
|
id: f.id,
|
|
262
339
|
description: f.description,
|
|
263
340
|
tags: f.tags,
|
|
264
341
|
setupDynamic: f.setupDynamic,
|
|
265
|
-
steps: f.steps.map(
|
|
266
|
-
if (s.kind === "compute") {
|
|
267
|
-
return {
|
|
268
|
-
kind: "compute",
|
|
269
|
-
name: s.name,
|
|
270
|
-
reads: s.reads,
|
|
271
|
-
writes: s.writes,
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
return {
|
|
275
|
-
kind: "contract-call",
|
|
276
|
-
name: s.name,
|
|
277
|
-
contractId: s.contractId,
|
|
278
|
-
caseKey: s.caseKey,
|
|
279
|
-
protocol: s.protocol,
|
|
280
|
-
target: s.target,
|
|
281
|
-
inputs: s.inputs,
|
|
282
|
-
outputs: s.outputs,
|
|
283
|
-
};
|
|
284
|
-
}),
|
|
342
|
+
steps: f.steps.map(flowStepToJson),
|
|
285
343
|
};
|
|
286
344
|
}
|
|
287
345
|
// ── Command ─────────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/commands/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/commands/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/run.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ interface RunOptions {
|
|
|
45
45
|
uploadReceiptJson?: string;
|
|
46
46
|
project?: string;
|
|
47
47
|
token?: string;
|
|
48
|
+
/** Env var name holding this profile's upload token (from upload.tokenEnv). */
|
|
49
|
+
tokenEnv?: string;
|
|
48
50
|
apiUrl?: string;
|
|
49
51
|
noSession?: boolean;
|
|
50
52
|
meta?: Record<string, string>;
|
|
@@ -106,6 +108,22 @@ interface RunOptions {
|
|
|
106
108
|
*/
|
|
107
109
|
thresholds?: import("@glubean/sdk").ThresholdConfig;
|
|
108
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* True if a flow's extracted step tree contains a branch (condition / switch).
|
|
113
|
+
* Recurses into branch cases/default (a nested branch would itself be caught by
|
|
114
|
+
* the top-level `kind === "branch"`, but recursing is cheap belt-and-suspenders).
|
|
115
|
+
*
|
|
116
|
+
* Used to gate `--upload`: Glubean Cloud cannot render `kind:"branch"` flows yet,
|
|
117
|
+
* and uploading would silently drop the branches (local run view ≠ Cloud view),
|
|
118
|
+
* so we refuse rather than mislead. See contract-flow-condition.md §12 / Spike 6.
|
|
119
|
+
*/
|
|
120
|
+
declare function flowStepsHaveBranch(steps: ReadonlyArray<{
|
|
121
|
+
kind?: string;
|
|
122
|
+
cases?: ReadonlyArray<{
|
|
123
|
+
steps?: any[];
|
|
124
|
+
}>;
|
|
125
|
+
default?: any[];
|
|
126
|
+
}> | undefined): boolean;
|
|
109
127
|
/**
|
|
110
128
|
* Map a file path to its Glubean kind by extension.
|
|
111
129
|
* - `.test.ts` → "test"
|
|
@@ -170,6 +188,13 @@ export declare function discoverTests(filePath: string): Promise<DiscoveredTest[
|
|
|
170
188
|
export declare const __testing: {
|
|
171
189
|
matchesTags: (testItem: DiscoveredTest, tags: string[], mode?: "or" | "and" | undefined) => boolean;
|
|
172
190
|
matchesExcludeTags: (testItem: DiscoveredTest, excludeTags: string[]) => boolean;
|
|
191
|
+
flowStepsHaveBranch: (steps: readonly {
|
|
192
|
+
kind?: string;
|
|
193
|
+
cases?: ReadonlyArray<{
|
|
194
|
+
steps?: any[];
|
|
195
|
+
}>;
|
|
196
|
+
default?: any[];
|
|
197
|
+
}[] | undefined) => boolean;
|
|
173
198
|
};
|
|
174
199
|
declare function matchesTags(testItem: DiscoveredTest, tags: string[], mode?: "or" | "and"): boolean;
|
|
175
200
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AA+CA,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACvB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;IACrE;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,oBAAoB,EAAE,eAAe,CAAC;IAC/D;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,cAAc,EAAE,eAAe,CAAC;CACrD;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/run.js
CHANGED
|
@@ -49,6 +49,28 @@ async function findProjectConfig(startDir) {
|
|
|
49
49
|
// No glubean project found — use the starting directory (scratch mode)
|
|
50
50
|
return { rootDir: startDir };
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* True if a flow's extracted step tree contains a branch (condition / switch).
|
|
54
|
+
* Recurses into branch cases/default (a nested branch would itself be caught by
|
|
55
|
+
* the top-level `kind === "branch"`, but recursing is cheap belt-and-suspenders).
|
|
56
|
+
*
|
|
57
|
+
* Used to gate `--upload`: Glubean Cloud cannot render `kind:"branch"` flows yet,
|
|
58
|
+
* and uploading would silently drop the branches (local run view ≠ Cloud view),
|
|
59
|
+
* so we refuse rather than mislead. See contract-flow-condition.md §12 / Spike 6.
|
|
60
|
+
*/
|
|
61
|
+
function flowStepsHaveBranch(steps) {
|
|
62
|
+
if (!steps)
|
|
63
|
+
return false;
|
|
64
|
+
for (const s of steps) {
|
|
65
|
+
if (s.kind === "branch")
|
|
66
|
+
return true;
|
|
67
|
+
if (s.cases && s.cases.some((c) => flowStepsHaveBranch(c.steps)))
|
|
68
|
+
return true;
|
|
69
|
+
if (s.default && flowStepsHaveBranch(s.default))
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
52
74
|
// Config consolidation (docs/06): the package.json `glubean` field is no
|
|
53
75
|
// longer a config source. Warn (don't error) when one lingers so users
|
|
54
76
|
// migrate it into glubean.yaml instead of wondering why it stopped working.
|
|
@@ -390,6 +412,7 @@ function matchesFilter(testItem, filter) {
|
|
|
390
412
|
export const __testing = {
|
|
391
413
|
matchesTags: (...args) => matchesTags(...args),
|
|
392
414
|
matchesExcludeTags: (...args) => matchesExcludeTags(...args),
|
|
415
|
+
flowStepsHaveBranch: (...args) => flowStepsHaveBranch(...args),
|
|
393
416
|
};
|
|
394
417
|
function matchesTags(testItem, tags, mode = "or") {
|
|
395
418
|
if (!testItem.meta.tags?.length)
|
|
@@ -576,12 +599,17 @@ export async function runCommand(target, options = {}) {
|
|
|
576
599
|
envFileVars: { ...envVars, ...secrets },
|
|
577
600
|
cloudConfig: glubeanConfig.cloud,
|
|
578
601
|
};
|
|
579
|
-
const preToken = await resolveToken(authOpts, sources);
|
|
602
|
+
const preToken = await resolveToken(authOpts, sources, options.tokenEnv);
|
|
580
603
|
const preProject = await resolveProjectId(authOpts, sources);
|
|
581
604
|
const preApiUrl = await resolveApiUrl(authOpts, sources);
|
|
582
605
|
if (!preToken) {
|
|
583
606
|
console.error(`${colors.red}Error: --upload requires authentication but no token found.${colors.reset}`);
|
|
584
|
-
|
|
607
|
+
if (options.tokenEnv) {
|
|
608
|
+
console.error(`${colors.dim}This profile's upload.tokenEnv points at '${options.tokenEnv}', but it's empty/unset. Set it in .env.secrets or the environment.${colors.reset}`);
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
console.error(`${colors.dim}Run 'glubean login', set GLUBEAN_TOKEN, or add token to .env.secrets or package.json glubean.cloud.${colors.reset}`);
|
|
612
|
+
}
|
|
585
613
|
process.exit(1);
|
|
586
614
|
}
|
|
587
615
|
if (!preProject) {
|
|
@@ -731,6 +759,48 @@ export async function runCommand(target, options = {}) {
|
|
|
731
759
|
}
|
|
732
760
|
console.log(`${colors.dim}${parts.join(" + ")} (${testsToRun.length}/${totalDiscovered} tests)${colors.reset}`);
|
|
733
761
|
}
|
|
762
|
+
// ── Gate: Cloud cannot yet render branch (condition/switch) flows ──────
|
|
763
|
+
// Operate on the POST-FILTER selected runnables (`testsToRun`) so a branch
|
|
764
|
+
// flow that was filtered out (--filter / tags / .only / suite kinds) does not
|
|
765
|
+
// block an otherwise-branchless upload. Uploading a branch flow would
|
|
766
|
+
// silently drop its branches server-side (Cloud run view ≠ local), so refuse
|
|
767
|
+
// before running and name the offending flows. Bootstrap already ran, so
|
|
768
|
+
// plugin-backed files re-extract from Node's cache cleanly.
|
|
769
|
+
// (contract-flow-condition.md §12 / Spike 6.)
|
|
770
|
+
if (options.upload) {
|
|
771
|
+
// Exclude deferred (FlowMeta.skip → meta.deferred) flows: they don't
|
|
772
|
+
// execute — only a skipped row is uploaded — so their branches never reach
|
|
773
|
+
// Cloud and they must not block the upload.
|
|
774
|
+
const selectedFlows = testsToRun.filter((ft) => ft.test.meta.kind === "flow" && !ft.test.meta.deferred);
|
|
775
|
+
if (selectedFlows.length > 0) {
|
|
776
|
+
// Map each selected flow's source file → the set of its branch flow ids.
|
|
777
|
+
const branchIdsByFile = new Map();
|
|
778
|
+
for (const filePath of new Set(selectedFlows.map((ft) => ft.filePath))) {
|
|
779
|
+
try {
|
|
780
|
+
const extracted = await extractContractFromFile(filePath);
|
|
781
|
+
const ids = new Set();
|
|
782
|
+
for (const att of extracted.attachments ?? []) {
|
|
783
|
+
if (att.kind === "flow" && flowStepsHaveBranch(att.flow.steps))
|
|
784
|
+
ids.add(att.flow.id);
|
|
785
|
+
}
|
|
786
|
+
branchIdsByFile.set(filePath, ids);
|
|
787
|
+
}
|
|
788
|
+
catch {
|
|
789
|
+
// Real import/extraction errors are surfaced by discovery above.
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
const branchFlows = selectedFlows.filter((ft) => branchIdsByFile.get(ft.filePath)?.has(ft.test.meta.id));
|
|
793
|
+
if (branchFlows.length > 0) {
|
|
794
|
+
console.error(`${colors.red}Error: --upload does not yet support branch (condition/switch) flows.${colors.reset}`);
|
|
795
|
+
console.error(`${colors.dim}Glubean Cloud can't render these flows yet, and uploading would silently drop their branches:${colors.reset}`);
|
|
796
|
+
for (const ft of branchFlows) {
|
|
797
|
+
console.error(`${colors.dim} - ${ft.test.meta.id} (${ft.exportName}) [${relative(process.cwd(), ft.filePath)}]${colors.reset}`);
|
|
798
|
+
}
|
|
799
|
+
console.error(`${colors.dim}Run without --upload, or remove condition/switchOn/switchCond from these flows, until Cloud branch support lands.${colors.reset}`);
|
|
800
|
+
process.exit(1);
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
}
|
|
734
804
|
console.log(`\n${colors.bold}Running ${testsToRun.length} test(s)...${colors.reset}\n`);
|
|
735
805
|
// ── Spike 3: runner input channels (attachment-model §8) ────────────────
|
|
736
806
|
// `--input-json` / `--bootstrap-json` / `--force-standalone` apply to a
|
|
@@ -916,6 +986,10 @@ export async function runCommand(target, options = {}) {
|
|
|
916
986
|
let testEvents = [];
|
|
917
987
|
let assertions = [];
|
|
918
988
|
let success = false;
|
|
989
|
+
// Runtime skip (ctx.skip() in setup/step/quick-mode → status: "skipped").
|
|
990
|
+
// Routed to the skipped bucket, not counted as pass or fail.
|
|
991
|
+
let testSkipped = false;
|
|
992
|
+
let skipReason;
|
|
919
993
|
let errorMsg;
|
|
920
994
|
let errorStack;
|
|
921
995
|
let errorReason;
|
|
@@ -947,19 +1021,35 @@ export async function runCommand(target, options = {}) {
|
|
|
947
1021
|
const duration = Date.now() - startTime;
|
|
948
1022
|
const allAssertionsPassed = assertions.every((a) => a.passed);
|
|
949
1023
|
const finalSuccess = success && allAssertionsPassed;
|
|
1024
|
+
// A skip only counts as skipped when nothing failed before it. A failed
|
|
1025
|
+
// assertion is authoritative — skip must not mask it (matches the executor
|
|
1026
|
+
// summary and the step-path rule in the harness).
|
|
1027
|
+
const skippedClean = testSkipped && allAssertionsPassed;
|
|
1028
|
+
// The status:"skipped" event was consumed before the event loop appended it
|
|
1029
|
+
// to testEvents, so re-add it here. This keeps a runtime skip detectable in
|
|
1030
|
+
// per-test consumers (result-json, upload) and mirrors capability-skip rows,
|
|
1031
|
+
// whose events array also carries a status:"skipped" entry.
|
|
1032
|
+
if (skippedClean) {
|
|
1033
|
+
testEvents.push({
|
|
1034
|
+
type: "status",
|
|
1035
|
+
status: "skipped",
|
|
1036
|
+
...(skipReason && { reason: skipReason }),
|
|
1037
|
+
});
|
|
1038
|
+
}
|
|
950
1039
|
collectedRuns.push({
|
|
951
1040
|
testId,
|
|
952
1041
|
testName,
|
|
953
1042
|
tags: testItem?.meta.tags,
|
|
954
1043
|
filePath: currentGroupFilePath,
|
|
955
1044
|
events: testEvents,
|
|
956
|
-
|
|
1045
|
+
// A cleanly-skipped test is not a failure (mirrors capability-skip rows).
|
|
1046
|
+
success: skippedClean ? true : finalSuccess,
|
|
957
1047
|
durationMs: duration,
|
|
958
1048
|
groupId: testItem?.meta.groupId,
|
|
959
1049
|
});
|
|
960
|
-
addLogEntry("result", finalSuccess ? "PASSED" : "FAILED", {
|
|
1050
|
+
addLogEntry("result", skippedClean ? "SKIPPED" : finalSuccess ? "PASSED" : "FAILED", {
|
|
961
1051
|
duration,
|
|
962
|
-
success: finalSuccess,
|
|
1052
|
+
success: skippedClean ? true : finalSuccess,
|
|
963
1053
|
peakMemoryMB,
|
|
964
1054
|
});
|
|
965
1055
|
const peakMB = peakMemoryMB ? parseFloat(peakMemoryMB) : 0;
|
|
@@ -976,7 +1066,12 @@ export async function runCommand(target, options = {}) {
|
|
|
976
1066
|
miniStats.push(`${assertions.length} checks`);
|
|
977
1067
|
if (testSteps > 0)
|
|
978
1068
|
miniStats.push(`${testSteps} steps`);
|
|
979
|
-
if (
|
|
1069
|
+
if (skippedClean) {
|
|
1070
|
+
const reasonSuffix = skipReason ? ` — ${skipReason}` : "";
|
|
1071
|
+
console.log(` ${colors.yellow}⊘ SKIPPED${colors.reset} ${colors.dim}(${miniStats.join(", ")})${reasonSuffix}${colors.reset}`);
|
|
1072
|
+
skipped++;
|
|
1073
|
+
}
|
|
1074
|
+
else if (finalSuccess) {
|
|
980
1075
|
console.log(` ${colors.green}✓ PASSED${colors.reset} ${colors.dim}(${miniStats.join(", ")})${colors.reset}`);
|
|
981
1076
|
passed++;
|
|
982
1077
|
}
|
|
@@ -1273,6 +1368,8 @@ export async function runCommand(target, options = {}) {
|
|
|
1273
1368
|
testEvents = [];
|
|
1274
1369
|
assertions = [];
|
|
1275
1370
|
success = false;
|
|
1371
|
+
testSkipped = false;
|
|
1372
|
+
skipReason = undefined;
|
|
1276
1373
|
errorMsg = undefined;
|
|
1277
1374
|
errorStack = undefined;
|
|
1278
1375
|
errorReason = undefined;
|
|
@@ -1293,6 +1390,9 @@ export async function runCommand(target, options = {}) {
|
|
|
1293
1390
|
}
|
|
1294
1391
|
case "status":
|
|
1295
1392
|
success = event.status === "completed";
|
|
1393
|
+
testSkipped = event.status === "skipped";
|
|
1394
|
+
if (testSkipped)
|
|
1395
|
+
skipReason = event.reason;
|
|
1296
1396
|
if (event.error) {
|
|
1297
1397
|
errorMsg = event.error;
|
|
1298
1398
|
errorStack = event.stack;
|
|
@@ -1414,6 +1514,19 @@ export async function runCommand(target, options = {}) {
|
|
|
1414
1514
|
stepTraceLines = [];
|
|
1415
1515
|
console.log(` ${colors.cyan}┌${colors.reset} ${colors.dim}step ${event.index + 1}/${event.total}${colors.reset} ${colors.bold}${event.name}${colors.reset}`);
|
|
1416
1516
|
break;
|
|
1517
|
+
case "branch": {
|
|
1518
|
+
const label = event.message ? ` ${colors.dim}(${event.message})${colors.reset}` : "";
|
|
1519
|
+
if (event.error !== undefined) {
|
|
1520
|
+
console.log(` ${colors.cyan}◇${colors.reset} ${colors.bold}branch${colors.reset}${label} ${colors.red}✗ ${event.error}${colors.reset}`);
|
|
1521
|
+
}
|
|
1522
|
+
else {
|
|
1523
|
+
const taken = event.takenIndex === "default"
|
|
1524
|
+
? "default"
|
|
1525
|
+
: `case ${event.takenIndex}${event.takenValue !== undefined ? ` = ${JSON.stringify(event.takenValue)}` : ""}`;
|
|
1526
|
+
console.log(` ${colors.cyan}◇${colors.reset} ${colors.bold}branch${colors.reset}${label} ${colors.dim}→ ${taken}${colors.reset}`);
|
|
1527
|
+
}
|
|
1528
|
+
break;
|
|
1529
|
+
}
|
|
1417
1530
|
case "step_end": {
|
|
1418
1531
|
const stepIcon = event.status === "passed"
|
|
1419
1532
|
? `${colors.green}✓${colors.reset}`
|
|
@@ -1800,7 +1913,7 @@ export async function runCommand(target, options = {}) {
|
|
|
1800
1913
|
envFileVars: { ...envVars, ...secrets },
|
|
1801
1914
|
cloudConfig: glubeanConfig.cloud,
|
|
1802
1915
|
};
|
|
1803
|
-
const token = await resolveToken(authOpts, sources);
|
|
1916
|
+
const token = await resolveToken(authOpts, sources, options.tokenEnv);
|
|
1804
1917
|
const projectId = await resolveProjectId(authOpts, sources);
|
|
1805
1918
|
const apiUrl = await resolveApiUrl(authOpts, sources);
|
|
1806
1919
|
if (!token) {
|