@glubean/engine 0.7.0 → 0.8.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.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAIV,cAAc,EACd,UAAU,EAEV,OAAO,EAEP,UAAU,EACX,MAAM,YAAY,CAAC;AAwOpB,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc;IAMrD;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,UAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB9D;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE;IAMtD,OAAO,CAAC,WAAW;IAsDnB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;YA0FR,OAAO;IAsiBrB,OAAO,CAAC,OAAO;CAoLhB;AAqKD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9F,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwED,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAYlD"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAIV,cAAc,EACd,UAAU,EAEV,OAAO,EAEP,UAAU,EACX,MAAM,YAAY,CAAC;AA8PpB,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc;IAMrD;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,UAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAqB9D;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE;IAMtD,OAAO,CAAC,WAAW;IAwDnB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;YAgGR,OAAO;IAiqBrB,OAAO,CAAC,OAAO;CA6LhB;AAiOD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9F,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwED,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAYlD"}
package/dist/engine.js CHANGED
@@ -39,6 +39,28 @@ function tryPathname(url) {
39
39
  return undefined;
40
40
  }
41
41
  }
42
+ /**
43
+ * A sleep that resolves after `ms` OR the instant `signal` aborts — whichever comes
44
+ * first. The engine's internal waits (poll interval, retry backoff, ctx.pollUntil)
45
+ * use it so an aborted run (ScopeInput.signal) stops PROMPTLY instead of sitting out a
46
+ * long backoff before it notices the abort. In-flight HTTP is cancelled separately
47
+ * (the signal is handed to ky); this covers the gaps BETWEEN requests. The timer and
48
+ * the abort listener are always torn down, so neither leaks across a long run.
49
+ */
50
+ function abortableSleep(ms, signal) {
51
+ if (ms <= 0 || signal?.aborted)
52
+ return Promise.resolve();
53
+ return new Promise((resolve) => {
54
+ let timer;
55
+ const done = () => {
56
+ clearTimeout(timer);
57
+ signal?.removeEventListener("abort", done);
58
+ resolve();
59
+ };
60
+ timer = setTimeout(done, ms);
61
+ signal?.addEventListener("abort", done, { once: true });
62
+ });
63
+ }
42
64
  /**
43
65
  * Layer per-run overrides over a host env object WITHOUT a destructive spread, so
44
66
  * a fallback-Proxy provider (node: .env → process.env) keeps its fallback for keys
@@ -238,7 +260,9 @@ export class RunnerCore {
238
260
  });
239
261
  }
240
262
  const scope = this.createScope(def, input);
241
- return runWithRuntime(scope.runtime, () => this.runLoop(def, scope));
263
+ // Tear down per-iteration HTTP resources (the abort bridge) once the run settles,
264
+ // so the single listener on the long-lived run signal is removed (no accumulation).
265
+ return runWithRuntime(scope.runtime, () => this.runLoop(def, scope)).finally(() => scope.disposeHttp?.());
242
266
  }
243
267
  /**
244
268
  * Runtime-authoritative resolution of a module namespace into runnable TestDefs
@@ -277,6 +301,8 @@ export class RunnerCore {
277
301
  http: undefined,
278
302
  session,
279
303
  varsAll,
304
+ ...(input.signal ? { signal: input.signal } : {}),
305
+ ...(input.ctxExtensions ? { ctxExtensions: input.ctxExtensions } : {}),
280
306
  };
281
307
  const http = this.createScopedKy(scope);
282
308
  scope.http = http;
@@ -362,6 +388,13 @@ export class RunnerCore {
362
388
  const glubeanOp = request.headers.get("x-glubean-op");
363
389
  if (glubeanOp)
364
390
  trace.name = glubeanOp;
391
+ // Exact route template from a contract.http() client / a `context` option,
392
+ // e.g. "GET /runs/:runId". Carried via ky's NON-WIRE `context` (never a request
393
+ // header), so it can't leak to the SUT through any client — the load runner uses
394
+ // it for an exact endpoint routeKey instead of heuristic URL normalization.
395
+ const ctxRoute = options.context?.glubeanRoute;
396
+ if (ctxRoute)
397
+ trace.routeKey = ctxRoute;
365
398
  // Full-trace capture (node parity: harness.ts:1062-1106), gated by
366
399
  // emitFullTrace. Reads a CLONE so the user's res.json()/text() still works.
367
400
  if (emitFullTrace) {
@@ -403,7 +436,7 @@ export class RunnerCore {
403
436
  ],
404
437
  },
405
438
  });
406
- return wrapScopedKy(instance, scope);
439
+ return wrapScopedKy(instance, scope, this.services.http?.abortMode ?? "precise");
407
440
  }
408
441
  async runLoop(def, scope) {
409
442
  const { events, scheduler } = this.services;
@@ -415,6 +448,16 @@ export class RunnerCore {
415
448
  ...(scope.retryCount > 0 ? { retryCount: scope.retryCount } : {}),
416
449
  });
417
450
  const ctx = this.makeCtx(scope);
451
+ // Host-provided ctx extensions (e.g. the load runner's input / report /
452
+ // producerSlot / iteration). ADD-only: never override a built-in ctx member.
453
+ // The engine does not interpret these — it only surfaces them on ctx.
454
+ if (scope.ctxExtensions) {
455
+ const target = ctx;
456
+ for (const [key, value] of Object.entries(scope.ctxExtensions)) {
457
+ if (!(key in target))
458
+ target[key] = value;
459
+ }
460
+ }
418
461
  // Back-fill so the scope-bound ky hooks (built in createScope, before makeCtx)
419
462
  // can route the HTTP auto-trace through ctx.trace / ctx.metric at request time.
420
463
  scope.ctxRef = ctx;
@@ -422,10 +465,29 @@ export class RunnerCore {
422
465
  let thrownError;
423
466
  let thrownStack;
424
467
  let thrownName;
468
+ // The run-level abort signal (ScopeInput.signal) fired while the run was in flight.
469
+ // Set authoritatively post-loop from `scope.signal?.aborted` (true there can only mean
470
+ // the abort happened before the run returned). Forces an "error" verdict even when the
471
+ // steps that DID run passed — including a final/only step or a simple body that ran to
472
+ // completion through opaque, non-cancellable async (codex r1 P2). A signal that aborts
473
+ // only after this run has returned is never observed here, so a genuinely-finished run
474
+ // keeps its real verdict.
475
+ let aborted = false;
425
476
  // A step that throws is CAUGHT + recorded as a failed step (node parity: the
426
477
  // run still "completes"); it must still make the test's verdict error.
427
478
  let stepFailed = false;
428
479
  let stepFailMsg;
480
+ // The first failing step's error NAME (e.g. "TimeoutError" / "HTTPError" /
481
+ // "StepTimeoutError"), captured so a host can classify a CAUGHT step failure —
482
+ // unlike a top-level throw, the engine swallows it, so `errorName` (top-level
483
+ // only) would be empty. Mirrors stepFailMsg's first-wins semantics.
484
+ let stepErrorName;
485
+ // Control-flow halt, distinct from the `stepFailed` verdict: once set, the
486
+ // remaining steps are skipped. A thrown step (and branch/poll failures) always
487
+ // halt; a step with `continueOnAssertionFailure` whose ONLY failure was soft
488
+ // assertions records the failure (stepFailed) WITHOUT halting (load `continue`
489
+ // policy). Default keeps node parity: any step failure halts.
490
+ let haltSteps = false;
429
491
  // First branch-decision failure → the test-level failure message (node parity:
430
492
  // the post-loop throw prefers it over "One or more steps failed").
431
493
  let branchDecisionError;
@@ -437,9 +499,14 @@ export class RunnerCore {
437
499
  let skipReason;
438
500
  try {
439
501
  if (def.type === "simple") {
440
- if (!def.fn)
441
- throw new Error(`test "${def.meta.id}": missing fn`);
442
- await def.fn(ctx);
502
+ // Pre-aborted (the signal was already aborted before the run): never run the body
503
+ // the post-loop abort check makes the verdict an error, no side effects (codex r1
504
+ // P2). A mid-run abort is handled inline (ky cancels in-flight HTTP).
505
+ if (!scope.signal?.aborted) {
506
+ if (!def.fn)
507
+ throw new Error(`test "${def.meta.id}": missing fn`);
508
+ await def.fn(ctx);
509
+ }
443
510
  }
444
511
  else {
445
512
  let state;
@@ -466,6 +533,7 @@ export class RunnerCore {
466
533
  durationMs: 0,
467
534
  assertions: 0,
468
535
  failedAssertions: 0,
536
+ ...(s.meta.group !== undefined ? { group: s.meta.group } : {}),
469
537
  });
470
538
  }
471
539
  }
@@ -475,7 +543,14 @@ export class RunnerCore {
475
543
  const idx = stepSeq++;
476
544
  scope.currentStepIndex = idx;
477
545
  const startedAt = scheduler.now();
478
- events.emit({ type: "step_start", id: scope.testMeta.id, index: idx, name: step.meta.name, total: stepTotal });
546
+ events.emit({
547
+ type: "step_start",
548
+ id: scope.testMeta.id,
549
+ index: idx,
550
+ name: step.meta.name,
551
+ total: stepTotal,
552
+ ...(step.meta.group !== undefined ? { group: step.meta.group } : {}),
553
+ });
479
554
  const sm = step.meta ?? {};
480
555
  const configuredRetries = Number.isFinite(sm.retries) ? Math.max(0, Math.floor(sm.retries)) : 0;
481
556
  const retryDelayMs = Number.isFinite(sm.retryDelay) ? Math.max(0, sm.retryDelay) : configuredRetries > 0 ? 1000 : 0;
@@ -483,6 +558,7 @@ export class RunnerCore {
483
558
  const stepTimeoutMs = Number.isFinite(sm.timeout) && sm.timeout > 0 ? Math.floor(sm.timeout) : undefined;
484
559
  const maxAttempts = configuredRetries + 1;
485
560
  let stepError;
561
+ let stepErrorNameLocal;
486
562
  let stepReturnState;
487
563
  let attemptsUsed = 0;
488
564
  let lastAssertions = 0;
@@ -490,6 +566,7 @@ export class RunnerCore {
490
566
  for (let attempt = 1; attempt <= maxAttempts; attempt++) {
491
567
  attemptsUsed = attempt;
492
568
  stepError = undefined;
569
+ stepErrorNameLocal = undefined;
493
570
  stepReturnState = undefined;
494
571
  const aBefore = scope.assertions.total;
495
572
  const fBefore = scope.assertions.total - scope.assertions.passed;
@@ -533,6 +610,7 @@ export class RunnerCore {
533
610
  // A thrown step is caught + recorded as a failed step (node parity:
534
611
  // the run still "completes"; the test fails via stepsFailed).
535
612
  stepError = e instanceof Error ? e.message : String(e);
613
+ stepErrorNameLocal = e instanceof Error ? e.name : undefined;
536
614
  timedOut = e instanceof StepTimeoutError;
537
615
  }
538
616
  }
@@ -540,6 +618,10 @@ export class RunnerCore {
540
618
  lastFailedAssertions = scope.assertions.total - scope.assertions.passed - fBefore;
541
619
  if (skipRequest)
542
620
  break; // skip is terminal — never retry a skip
621
+ // An abort (run-level signal) is terminal too: this attempt's failure (an
622
+ // in-flight HTTP threw AbortError) stands; never retry into a shutting-down run.
623
+ if (scope.signal?.aborted)
624
+ break;
543
625
  const attemptFailed = !!stepError || lastFailedAssertions > 0;
544
626
  if (!attemptFailed || timedOut)
545
627
  break; // success, or a timeout (terminal — no retry)
@@ -553,7 +635,12 @@ export class RunnerCore {
553
635
  message: `Retrying step "${step.meta.name}" (${attempt + 1}/${maxAttempts}) after failure: ${reason}${delay > 0 ? ` (waiting ${delay}ms)` : ""}`,
554
636
  });
555
637
  if (delay > 0)
556
- await new Promise((r) => setTimeout(r, delay));
638
+ await abortableSleep(delay, scope.signal);
639
+ // An abort that fired DURING the backoff wakes the sleep early; bail before
640
+ // the next attempt runs, so post-abort user code never executes and this
641
+ // failed attempt's verdict isn't overwritten by a retry (codex r1 P2).
642
+ if (scope.signal?.aborted)
643
+ break;
557
644
  }
558
645
  }
559
646
  // ctx.skip() in this step skips the whole test — UNLESS a failed assertion
@@ -597,8 +684,14 @@ export class RunnerCore {
597
684
  scope.currentStepIndex = null;
598
685
  if (failed) {
599
686
  stepFailed = true;
600
- if (stepError && stepFailMsg === undefined)
687
+ if (stepError && stepFailMsg === undefined) {
601
688
  stepFailMsg = stepError;
689
+ stepErrorName = stepErrorNameLocal;
690
+ }
691
+ // A throw always halts; an assertion-only failure halts unless this
692
+ // step opted into `continue` (load `continue` assertion policy).
693
+ if (stepError || sm.continueOnAssertionFailure !== true)
694
+ haltSteps = true;
602
695
  }
603
696
  };
604
697
  // Recursive step-list runner (node parity: runStepList). A prior failure
@@ -614,11 +707,16 @@ export class RunnerCore {
614
707
  let takenValue;
615
708
  const total = branch.cases.length;
616
709
  const baseEvent = { id: scope.testMeta.id, name: step.meta.name, ...(branch.message ? { message: branch.message } : {}) };
617
- const failDecision = (errMessage) => {
710
+ const failDecision = (errMessage, errName) => {
618
711
  events.emit({ type: "branch", ...baseEvent, index: branchSeq++, takenIndex: "default", total, error: errMessage });
619
712
  stepFailed = true;
713
+ haltSteps = true; // a branch-decision failure is hard — always halt.
620
714
  if (branchDecisionError === undefined)
621
715
  branchDecisionError = `branch "${step.meta.name}": ${errMessage}`;
716
+ // Capture a THROWN decision error's name (not an assertion/skip) so a host
717
+ // classifies a predicate/lens code error or timeout, not as an assertion.
718
+ if (errName !== undefined && stepErrorName === undefined)
719
+ stepErrorName = errName;
622
720
  for (const c of branch.cases)
623
721
  emitSkippedTree(c.steps);
624
722
  emitSkippedTree(branch.default ?? []);
@@ -671,7 +769,10 @@ export class RunnerCore {
671
769
  ? `${decisionFailed} failed assertion(s) before ctx.skip() in branch decision`
672
770
  : e instanceof Error
673
771
  ? e.message
674
- : String(e));
772
+ : String(e),
773
+ // Only a genuine throw carries a classifiable name; a skip-before-failure
774
+ // is an assertion-flavoured decision failure (left unnamed).
775
+ !(e instanceof SkipError) && e instanceof Error ? e.name : undefined);
675
776
  return;
676
777
  }
677
778
  // A ctx.assert(false) failure recorded WHILE deciding fails the branch (the
@@ -714,7 +815,14 @@ export class RunnerCore {
714
815
  const aBefore = scope.assertions.total;
715
816
  const fBefore = scope.assertions.total - scope.assertions.passed;
716
817
  const stepStart = scheduler.now();
717
- events.emit({ type: "step_start", id: scope.testMeta.id, index: idx, name: step.meta.name, total: stepTotal });
818
+ events.emit({
819
+ type: "step_start",
820
+ id: scope.testMeta.id,
821
+ index: idx,
822
+ name: step.meta.name,
823
+ total: stepTotal,
824
+ ...(step.meta.group !== undefined ? { group: step.meta.group } : {}),
825
+ });
718
826
  // Local budget sentinel so a budget timeout is distinguishable from a genuine
719
827
  // fn/until error or a SkipError.
720
828
  class PollBudgetTimeout extends Error {
@@ -737,14 +845,27 @@ export class RunnerCore {
737
845
  let satisfied = false;
738
846
  let exhausted = false;
739
847
  let pollError;
848
+ let pollErrorName;
740
849
  let lastRes;
741
850
  // A poll-phase throw must surface a non-empty message: pollError is tested for
742
851
  // truthiness below to decide failure, so an empty message would be a silent pass.
852
+ // Also captures the thrown error's NAME (only ever called on a real throw) so a
853
+ // host can classify a caught poll failure (e.g. ky "TimeoutError").
743
854
  const pollErrMsg = (e) => {
855
+ pollErrorName = e instanceof Error ? e.name : undefined;
744
856
  const m = e instanceof Error ? e.message : String(e);
745
857
  return m || `poll "${step.meta.name}" threw an empty error`;
746
858
  };
747
859
  for (;;) {
860
+ // Aborted (run-level signal) — stop the poll tail at once. Distinct from
861
+ // exhaustion: the run is shutting down, not the poll's own budget running out.
862
+ // (An abort DURING an attempt's HTTP surfaces as a caught AbortError below; this
863
+ // catches an abort during the inter-attempt wait, which abortableSleep wakes.)
864
+ if (scope.signal?.aborted) {
865
+ pollError = `poll "${step.meta.name}" aborted`;
866
+ pollErrorName = "AbortError";
867
+ break;
868
+ }
748
869
  attempt += 1;
749
870
  const remainingTotal = deadline - scheduler.now();
750
871
  if (remainingTotal <= 0) {
@@ -821,7 +942,7 @@ export class RunnerCore {
821
942
  exhausted = true;
822
943
  break;
823
944
  }
824
- await new Promise((r) => setTimeout(r, delay));
945
+ await abortableSleep(delay, scope.signal);
825
946
  delay = Math.min(delay * backoff, 30_000);
826
947
  }
827
948
  const durationMs = scheduler.now() - stepStart;
@@ -875,15 +996,26 @@ export class RunnerCore {
875
996
  scope.currentStepIndex = null;
876
997
  if (failed) {
877
998
  stepFailed = true;
878
- if (pollError && stepFailMsg === undefined)
999
+ // A HARD poll failure (threw / exhausted / `until` never met) always
1000
+ // halts; a poll that satisfied but recorded only soft assertions
1001
+ // respects `continueOnAssertionFailure`, exactly like a normal step.
1002
+ const hardFailure = !!pollError || !satisfied;
1003
+ if (hardFailure || step.meta.continueOnAssertionFailure !== true)
1004
+ haltSteps = true;
1005
+ if (pollError && stepFailMsg === undefined) {
879
1006
  stepFailMsg = pollError;
1007
+ stepErrorName = pollErrorName;
1008
+ }
880
1009
  }
881
1010
  };
882
1011
  // Recursive step-list runner (node parity: runStepList). A prior failure
883
1012
  // skips the rest (skipped step_end tree); branch steps make a decision + recurse.
884
1013
  const runStepList = async (steps) => {
885
1014
  for (const step of steps) {
886
- if (stepFailed || skipRequest) {
1015
+ // An aborted run starts no further steps (the in-flight one, if any, is
1016
+ // cancelled via ky's signal); the remaining steps emit a skipped tree. The
1017
+ // post-loop abort check turns this into an error verdict — the run can't pass.
1018
+ if (haltSteps || skipRequest || scope.signal?.aborted) {
887
1019
  emitSkippedTree([step]);
888
1020
  continue;
889
1021
  }
@@ -900,35 +1032,50 @@ export class RunnerCore {
900
1032
  await runNormalStep(step);
901
1033
  }
902
1034
  };
903
- try {
904
- if (def.setup) {
905
- events.emit({ type: "log", id: scope.testMeta.id, message: "Running setup..." });
906
- state = await def.setup(ctx);
907
- }
908
- await runStepList((def.steps ?? []));
1035
+ if (scope.signal?.aborted) {
1036
+ // Pre-aborted (the signal was already aborted before the run): run NOTHING —
1037
+ // no setup, no steps, and no teardown (there was no setup to undo). Emit the
1038
+ // skipped tree so the event stream still shows every step skipped; the post-loop
1039
+ // abort check makes the verdict an error (codex r1 P2). A mid-run abort is handled
1040
+ // inline (ky cancels in-flight HTTP; runStepList skips the remaining steps;
1041
+ // teardown still runs as cleanup, per the builder contract).
1042
+ emitSkippedTree((def.steps ?? []));
909
1043
  }
910
- finally {
911
- // teardown runs even when setup/a step throws (builder contract); its
912
- // own errors never fail the run (parity with the node harness). (codex P2)
913
- if (def.teardown) {
914
- events.emit({ type: "log", id: scope.testMeta.id, message: "Running teardown..." });
915
- try {
916
- await def.teardown(ctx, state);
1044
+ else {
1045
+ try {
1046
+ if (def.setup) {
1047
+ events.emit({ type: "log", id: scope.testMeta.id, message: "Running setup..." });
1048
+ state = await def.setup(ctx);
917
1049
  }
918
- catch (e) {
919
- events.emit({
920
- type: "log",
921
- id: scope.testMeta.id,
922
- message: `Teardown error: ${e instanceof Error ? e.message : String(e)}`,
923
- });
1050
+ await runStepList((def.steps ?? []));
1051
+ }
1052
+ finally {
1053
+ // teardown runs even when setup/a step throws (builder contract); its
1054
+ // own errors never fail the run (parity with the node harness). (codex P2)
1055
+ if (def.teardown) {
1056
+ events.emit({ type: "log", id: scope.testMeta.id, message: "Running teardown..." });
1057
+ try {
1058
+ await def.teardown(ctx, state);
1059
+ }
1060
+ catch (e) {
1061
+ events.emit({
1062
+ type: "log",
1063
+ id: scope.testMeta.id,
1064
+ message: `Teardown error: ${e instanceof Error ? e.message : String(e)}`,
1065
+ });
1066
+ }
924
1067
  }
925
1068
  }
926
- }
927
- // A step / branch-predicate called ctx.skip() (recorded without a throw):
928
- // after teardown the whole test is skipped (node parity: harness.ts:2692).
929
- if (skipRequest) {
930
- skipped = true;
931
- skipReason = skipRequest.reason;
1069
+ // A step / branch-predicate called ctx.skip() (recorded without a throw):
1070
+ // after teardown the whole test is skipped (node parity: harness.ts:2692).
1071
+ // A skip must NOT mask a prior failure: with the `continue` policy an earlier
1072
+ // soft-failed step leaves `stepFailed` set while a later step still runs and
1073
+ // may skip — the failure wins. (In default fail-fast mode a prior failure
1074
+ // already halts the rest, so skipRequest only ever set when stepFailed=false.)
1075
+ if (skipRequest && !stepFailed) {
1076
+ skipped = true;
1077
+ skipReason = skipRequest.reason;
1078
+ }
932
1079
  }
933
1080
  }
934
1081
  }
@@ -945,6 +1092,13 @@ export class RunnerCore {
945
1092
  thrownName = e instanceof Error ? e.name : undefined;
946
1093
  }
947
1094
  }
1095
+ // The run-level abort signal fired while this run was in flight (`aborted` is only
1096
+ // reachable here because the abort happened before the run returned). Force an error
1097
+ // verdict even when the steps/body that ran completed — including a final/only step or
1098
+ // a simple body that ran out an opaque, non-cancellable await past the abort. A genuine
1099
+ // ctx.skip() below still wins (an intentional skip isn't an abort). (codex r1 P2)
1100
+ if (scope.signal?.aborted)
1101
+ aborted = true;
948
1102
  // ctx.skip() wins over any partial assertion bookkeeping: a skipped test has no
949
1103
  // verdict (the host re-raises its own SkipError(reason) so the dispatcher emits
950
1104
  // the same skipped status as legacy). assertions are carried for completeness.
@@ -966,7 +1120,7 @@ export class RunnerCore {
966
1120
  // Steps tests fail via stepFailed (the LAST attempt of each step) — NOT the
967
1121
  // cumulative assertion count, so a step that fails then RETRIES to success does
968
1122
  // not fail the run. Simple tests use the cumulative count (soft-fail).
969
- const verdict = threw || (def.type === "steps" ? stepFailed : assertionsFailed) ? "error" : "ok";
1123
+ const verdict = threw || aborted || (def.type === "steps" ? stepFailed : assertionsFailed) ? "error" : "ok";
970
1124
  return {
971
1125
  id: scope.testMeta.id,
972
1126
  name: def.meta.name ?? def.meta.id,
@@ -975,11 +1129,16 @@ export class RunnerCore {
975
1129
  // A branch decision failure promotes its message over "One or more steps failed"
976
1130
  // (node parity: harness throws `branchDecisionError ?? "One or more steps failed"`).
977
1131
  ...(stepFailed ? { stepsFailed: true, stepsFailMessage: branchDecisionError ?? "One or more steps failed" } : {}),
978
- error: verdict === "ok" ? undefined : threw ? thrownError : (stepFailMsg ?? "assertion failed"),
1132
+ // A step failure message wins (most specific); else an abort reads "run aborted";
1133
+ // else a soft assertion failure.
1134
+ error: verdict === "ok" ? undefined : threw ? thrownError : (stepFailMsg ?? (aborted ? "run aborted" : "assertion failed")),
979
1135
  // Preserve the user's original throw stack + name so a host can re-raise with
980
1136
  // them (stack diagnostics + failure classification parity — codex P2).
981
1137
  ...(threw && thrownStack ? { errorStack: thrownStack } : {}),
982
1138
  ...(threw && thrownName ? { errorName: thrownName } : {}),
1139
+ // The first CAUGHT step/poll failure's error name (a host classifies it; the
1140
+ // engine swallowed the throw so `errorName` above stays top-level-only).
1141
+ ...(!threw && stepErrorName !== undefined ? { stepErrorName } : {}),
983
1142
  assertions: { ...scope.assertions },
984
1143
  };
985
1144
  }
@@ -1123,6 +1282,10 @@ export class RunnerCore {
1123
1282
  const deadline = this.services.scheduler.now() + timeoutMs;
1124
1283
  let lastError;
1125
1284
  while (this.services.scheduler.now() < deadline) {
1285
+ // Aborted (run-level signal) — stop polling at once rather than wait out the
1286
+ // interval or the full timeout (the in-flight fn's HTTP is cancelled via ky).
1287
+ if (scope.signal?.aborted)
1288
+ break;
1126
1289
  try {
1127
1290
  if (await fn())
1128
1291
  return; // truthy → done
@@ -1133,7 +1296,13 @@ export class RunnerCore {
1133
1296
  const remaining = deadline - this.services.scheduler.now();
1134
1297
  if (remaining <= 0)
1135
1298
  break;
1136
- await new Promise((r) => setTimeout(r, Math.min(intervalMs, remaining)));
1299
+ await abortableSleep(Math.min(intervalMs, remaining), scope.signal);
1300
+ }
1301
+ // An aborted run did NOT time out — surface the abort accurately (and as a
1302
+ // classifiable AbortError) instead of falling through to onTimeout / a "timed out"
1303
+ // throw, neither of which is true when the run is being torn down.
1304
+ if (scope.signal?.aborted) {
1305
+ throw new DOMException("The operation was aborted", "AbortError");
1137
1306
  }
1138
1307
  if (onTimeout) {
1139
1308
  onTimeout(lastError);
@@ -1211,7 +1380,7 @@ function normalizeUrl(input) {
1211
1380
  * run's ctx.validate (→ schema_validation event + severity routing), node parity:
1212
1381
  * harness wrapKy / runPreRequestSchemaValidation / wrapResponseWithSchema.
1213
1382
  */
1214
- function wrapScopedKy(instance, scope) {
1383
+ function wrapScopedKy(instance, scope, abortMode) {
1215
1384
  // prefixUrl → ky 2 `prefix`, and drop an empty searchParams (no bare '?'). `schema`
1216
1385
  // is RETAINED here (callWithSchema reads it, then strips it before handing to ky).
1217
1386
  const normalizeKyOptions = (opts) => {
@@ -1287,10 +1456,65 @@ function wrapScopedKy(instance, scope) {
1287
1456
  };
1288
1457
  return promise;
1289
1458
  };
1459
+ // Hand the run-level abort signal (ScopeInput.signal) to ky so an aborted run cancels
1460
+ // its in-flight requests. If the caller already has their OWN signal, compose both so
1461
+ // either can abort. ky resolves the caller's signal as `options.signal ?? input.signal`
1462
+ // (a `Request` may carry its own), so mirror that precedence here — else injecting our
1463
+ // signal as `options.signal` would silently drop a Request-level signal (codex r1 P2).
1464
+ // On a runtime without AbortSignal.any, keep the caller's (their abort must not regress
1465
+ // — the run signal still covers every other request). No run signal → input untouched.
1466
+ //
1467
+ // PERF (load footgun): the run signal is LONG-LIVED (whole run). Handing it to ky on
1468
+ // every request makes ky/undici attach an abort listener to it per request; those
1469
+ // accumulate, so each later signal op goes O(n) and a high-RPS run gets progressively
1470
+ // slower (profiled at ~half of Node CPU under load). Fix: bridge the long-lived run
1471
+ // signal to ONE per-iteration controller — a single listener, removed when the
1472
+ // iteration settles (scope.disposeHttp) — and hand ky that short-lived per-iteration
1473
+ // signal. `abortMode: "coarse"` skips the wiring entirely (abort handled between steps).
1474
+ // The bridge controller lives on the SCOPE, not this closure, so the base ky and every
1475
+ // ctx.http.extend(...) client share ONE controller — and add exactly ONE listener to the
1476
+ // long-lived run signal per iteration (codex: per-closure state would re-leak via extend).
1477
+ const iterationSignal = (runSignal) => {
1478
+ if (runSignal.aborted)
1479
+ return runSignal; // already aborted: nothing to bridge
1480
+ if (!scope.httpAbort) {
1481
+ const ac = new AbortController();
1482
+ scope.httpAbort = ac;
1483
+ const onAbort = () => ac.abort(runSignal.reason);
1484
+ runSignal.addEventListener("abort", onAbort, { once: true });
1485
+ const prev = scope.disposeHttp;
1486
+ scope.disposeHttp = () => {
1487
+ // Abort the per-iteration controller FIRST: once we drop the run-signal listener,
1488
+ // nothing else can cancel a request still in flight (e.g. a step that timed out
1489
+ // while its ky call kept running). Aborting here cancels such stragglers at
1490
+ // iteration settle; it's a no-op when every request already completed.
1491
+ if (!ac.signal.aborted)
1492
+ ac.abort();
1493
+ runSignal.removeEventListener("abort", onAbort);
1494
+ prev?.();
1495
+ };
1496
+ }
1497
+ return scope.httpAbort.signal;
1498
+ };
1499
+ const injectSignal = (rawInput, opts) => {
1500
+ const runSignal = scope.signal;
1501
+ if (!runSignal || abortMode === "coarse")
1502
+ return opts;
1503
+ const optsSignal = opts?.signal;
1504
+ const reqSignal = typeof Request !== "undefined" && rawInput instanceof Request ? rawInput.signal : undefined;
1505
+ const own = optsSignal ?? reqSignal; // ky's own precedence: options.signal ?? input.signal
1506
+ const runSig = iterationSignal(runSignal);
1507
+ if (!own)
1508
+ return { ...(opts ?? {}), signal: runSig };
1509
+ if (typeof AbortSignal !== "undefined" && typeof AbortSignal.any === "function") {
1510
+ return { ...(opts ?? {}), signal: AbortSignal.any([own, runSig]) };
1511
+ }
1512
+ return opts;
1513
+ };
1290
1514
  const callWithSchema = (kyCall, input, opts) => {
1291
1515
  const normalized = normalizeKyOptions(opts);
1292
1516
  preRequest(normalized);
1293
- const promise = kyCall(normalizeUrl(input), toKyOptions(normalized));
1517
+ const promise = kyCall(normalizeUrl(input), injectSignal(input, toKyOptions(normalized)));
1294
1518
  return wrapResponse(promise, normalized);
1295
1519
  };
1296
1520
  return new Proxy(instance, {
@@ -1299,7 +1523,7 @@ function wrapScopedKy(instance, scope) {
1299
1523
  if (prop === "extend") {
1300
1524
  return (opts) => wrapScopedKy(target.extend(typeof opts === "function"
1301
1525
  ? ((parent) => normalizeKyOptions(opts(parent)))
1302
- : normalizeKyOptions(opts)), scope);
1526
+ : normalizeKyOptions(opts)), scope, abortMode);
1303
1527
  }
1304
1528
  const value = Reflect.get(target, prop, recv);
1305
1529
  if (typeof value === "function" && typeof prop === "string" && HTTP_METHODS.has(prop)) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -124,6 +124,7 @@ export type ExecutionEvent = {
124
124
  index: number;
125
125
  name: string;
126
126
  total: number;
127
+ group?: string;
127
128
  } | {
128
129
  type: "step_end";
129
130
  id: string;
@@ -137,6 +138,7 @@ export type ExecutionEvent = {
137
138
  retriesUsed?: number;
138
139
  error?: string;
139
140
  returnState?: unknown;
141
+ group?: string;
140
142
  } | {
141
143
  type: "branch";
142
144
  id: string;
@@ -200,6 +202,16 @@ export interface RunnerServices {
200
202
  emitFullTrace?: boolean;
201
203
  inferSchema?: boolean;
202
204
  truncateArrays?: boolean;
205
+ /** How a run-level abort signal reaches in-flight HTTP requests.
206
+ * - "precise" (default): hand a per-iteration AbortSignal to ky so an aborted run
207
+ * cancels its in-flight requests at once. Exactly ONE listener is added to the
208
+ * long-lived run signal per iteration and removed when the iteration settles — no
209
+ * per-request listener accumulation (the load-throughput footgun that otherwise
210
+ * makes a long run get progressively slower).
211
+ * - "coarse": never wire the run signal into ky; rely on the engine's between-step
212
+ * `signal.aborted` checks instead. Drops in-flight cancellation for a few % more
213
+ * throughput — for high-RPS load where requests are short. */
214
+ abortMode?: "precise" | "coarse";
203
215
  };
204
216
  }
205
217
  export interface ModuleLoader {
@@ -219,6 +231,24 @@ export interface ScopeInput {
219
231
  /** Test-level retry attempt (the host re-runs a failed test); surfaced on
220
232
  * ctx.retryCount + the start event, like the node harness. 0/undefined = first run. */
221
233
  retryCount?: number;
234
+ /**
235
+ * Abort the run mid-flight. The engine hands this to ky (so an in-flight HTTP request
236
+ * is cancelled) and checks it between steps + during its own waits (poll interval,
237
+ * retry backoff, ctx.pollUntil), so an aborted run stops promptly instead of running
238
+ * its residual poll/HTTP to completion. Errors from an aborted request surface as a
239
+ * caught step/poll failure (the run still resolves a TestResult — it never rejects).
240
+ * Used by the load runner to truly kill continuation tails the drain phase abandons;
241
+ * arbitrary opaque user async (a bare `setTimeout`) cannot be cancelled.
242
+ */
243
+ signal?: AbortSignal;
244
+ /**
245
+ * Host-provided extra ctx fields, merged onto the per-run ctx (e.g. a load
246
+ * runner adding `input` / `report` / `producerSlot` / `iteration`). The engine
247
+ * does NOT interpret these and only ADDS keys not already on the ctx — built-in
248
+ * members are never overridden — so host-defined step APIs can read them
249
+ * without the engine knowing their meaning.
250
+ */
251
+ ctxExtensions?: Record<string, unknown>;
222
252
  }
223
253
  export interface TestResult {
224
254
  id: string;
@@ -247,6 +277,11 @@ export interface TestResult {
247
277
  /** The original throw's error name (e.g. "TypeError", ky's "TimeoutError"), so a
248
278
  * host can re-raise with it and keep failure classification (diagnostics parity). */
249
279
  errorName?: string;
280
+ /** The first CAUGHT step/poll failure's error name (set only when the run did NOT
281
+ * throw at the top level). A host classifies a step-level failure with it — e.g.
282
+ * the load runner mapping ky's "TimeoutError" / "HTTPError" / "StepTimeoutError"
283
+ * to a load errorKind — since `errorName` carries only top-level throws. */
284
+ stepErrorName?: string;
250
285
  assertions: {
251
286
  total: number;
252
287
  passed: number;
@@ -256,6 +291,16 @@ export type TestFn = (ctx: EngineContext, state?: unknown) => unknown | Promise<
256
291
  export interface StepDef {
257
292
  meta: {
258
293
  name: string;
294
+ /** Logical group label — emitted on this step's `step_start` for report
295
+ * grouping. Host-set (e.g. the SDK builder's `.group()`); the engine only
296
+ * forwards it. */
297
+ group?: string;
298
+ /** When true, a failure caused ONLY by soft assertions (no throw) records the
299
+ * failure + marks the test failed but does NOT skip the remaining steps. A
300
+ * thrown step still halts. Default (false) = fail-fast on any step failure
301
+ * (node parity). Host-set (e.g. the load runner's `continue` assertion
302
+ * policy); the engine stays unaware of what the policy means. */
303
+ continueOnAssertionFailure?: boolean;
259
304
  };
260
305
  fn: TestFn;
261
306
  }
@@ -373,6 +418,22 @@ export interface ExecutionScope {
373
418
  * auto-trace can route through ctx.trace / ctx.metric (→ derived action,
374
419
  * http_duration_ms) + the schema hooks through ctx.assert / ctx.warn. */
375
420
  ctxRef?: EngineContext;
421
+ /** Host-provided extra ctx fields (from ScopeInput.ctxExtensions); merged
422
+ * add-only onto ctx right after makeCtx. */
423
+ ctxExtensions?: Record<string, unknown>;
424
+ /** Run-level abort signal (from ScopeInput.signal): handed to ky and checked between
425
+ * steps + during the engine's own waits, so an aborted run cancels in-flight HTTP and
426
+ * stops its poll/retry tail promptly. */
427
+ signal?: AbortSignal;
428
+ /** Per-iteration abort bridge controller, SHARED across the base ky and every
429
+ * `ctx.http.extend(...)` client of this scope. Lazily created on the first request;
430
+ * its presence is the "bridge already wired" guard, so exactly one listener is added
431
+ * to the long-lived `signal` per iteration regardless of how many ky instances exist. */
432
+ httpAbort?: AbortController;
433
+ /** Teardown for per-iteration HTTP resources (the abort bridge that links `signal`
434
+ * to this iteration's ky). Called once when the iteration's run() settles, so the
435
+ * single listener on the long-lived `signal` is removed (no accumulation). */
436
+ disposeHttp?: () => void;
376
437
  }
377
438
  export {};
378
439
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glubean/engine",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "ky": "^2.0.2",
24
- "@glubean/sdk": "0.7.0"
24
+ "@glubean/sdk": "0.8.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^22.0.0",