@proposit/proposit-core 2.4.1 → 2.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/cli/schemata.d.ts +0 -40
  2. package/dist/cli/schemata.d.ts.map +1 -1
  3. package/dist/cli/schemata.js +0 -41
  4. package/dist/cli/schemata.js.map +1 -1
  5. package/dist/extensions/pipelines/base/stages/index.d.ts +3 -0
  6. package/dist/extensions/pipelines/base/stages/index.d.ts.map +1 -1
  7. package/dist/extensions/pipelines/base/stages/index.js.map +1 -1
  8. package/dist/lib/consts.d.ts.map +1 -1
  9. package/dist/lib/consts.js +13 -33
  10. package/dist/lib/consts.js.map +1 -1
  11. package/dist/lib/core/argument-engine.d.ts +2 -8
  12. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  13. package/dist/lib/core/argument-engine.js +3 -23
  14. package/dist/lib/core/argument-engine.js.map +1 -1
  15. package/dist/lib/core/checksum-cache.d.ts +17 -0
  16. package/dist/lib/core/checksum-cache.d.ts.map +1 -0
  17. package/dist/lib/core/checksum-cache.js +31 -0
  18. package/dist/lib/core/checksum-cache.js.map +1 -0
  19. package/dist/lib/core/premise-engine.d.ts +2 -8
  20. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  21. package/dist/lib/core/premise-engine.js +3 -23
  22. package/dist/lib/core/premise-engine.js.map +1 -1
  23. package/dist/lib/grammar/validators/structural.js +1 -1
  24. package/dist/lib/grammar/validators/structural.js.map +1 -1
  25. package/dist/lib/index.d.ts +4 -2
  26. package/dist/lib/index.d.ts.map +1 -1
  27. package/dist/lib/index.js +3 -1
  28. package/dist/lib/index.js.map +1 -1
  29. package/dist/lib/llm/index.d.ts +1 -0
  30. package/dist/lib/llm/index.d.ts.map +1 -1
  31. package/dist/lib/llm/index.js +1 -1
  32. package/dist/lib/llm/index.js.map +1 -1
  33. package/dist/lib/llm/types.d.ts +7 -6
  34. package/dist/lib/llm/types.d.ts.map +1 -1
  35. package/dist/lib/llm/types.js +6 -1
  36. package/dist/lib/llm/types.js.map +1 -1
  37. package/dist/lib/parsing/schemata.js +1 -1
  38. package/dist/lib/parsing/schemata.js.map +1 -1
  39. package/dist/lib/pipelines/index.d.ts +1 -1
  40. package/dist/lib/pipelines/index.d.ts.map +1 -1
  41. package/dist/lib/pipelines/index.js +1 -1
  42. package/dist/lib/pipelines/index.js.map +1 -1
  43. package/dist/lib/pipelines/llm-stage-helpers.d.ts.map +1 -1
  44. package/dist/lib/pipelines/llm-stage-helpers.js +176 -168
  45. package/dist/lib/pipelines/llm-stage-helpers.js.map +1 -1
  46. package/dist/lib/pipelines/scheduler.d.ts.map +1 -1
  47. package/dist/lib/pipelines/scheduler.js +70 -62
  48. package/dist/lib/pipelines/scheduler.js.map +1 -1
  49. package/dist/lib/pipelines/types.d.ts +9 -8
  50. package/dist/lib/pipelines/types.d.ts.map +1 -1
  51. package/dist/lib/pipelines/types.js +9 -0
  52. package/dist/lib/pipelines/types.js.map +1 -1
  53. package/dist/lib/utils/collections.d.ts.map +1 -1
  54. package/dist/lib/utils/collections.js +1 -3
  55. package/dist/lib/utils/collections.js.map +1 -1
  56. package/package.json +1 -1
@@ -337,7 +337,175 @@ export function failureRetryReason(failure) {
337
337
  return undefined;
338
338
  return failure.reason;
339
339
  }
340
- // -- LLM stage --
340
+ // Run one attempt of `llmStage`'s retry loop: build + emit the request,
341
+ // call the provider, validate/classify the outcome, and (on a retryable
342
+ // failure) sleep out the backoff. Extracted from `llmStage` — the retry
343
+ // loop's single attempt body was the bulk of that function.
344
+ async function runLlmStageAttempt(cfg, ctx, prompt, policy, errorCap, attempt, userMessage) {
345
+ if (ctx.signal.aborted) {
346
+ // Loop-top abort: caller cancelled before (or between) attempts.
347
+ // Surface as a `skipped` stage rather than a failure.
348
+ throw new StageAbortedError({ stageId: cfg.id });
349
+ }
350
+ // Emit the `stage:llm-response-created` event the moment the provider
351
+ // surfaces a response id. In background-stream mode this fires
352
+ // MID-FLIGHT — before `respond()` resolves — from the provider's
353
+ // `onResponseCreated` callback (the first `response.created` SSE
354
+ // event). That early emit is load-bearing: a consumer persists the id
355
+ // before a possible crash, so a call interrupted mid-generation can be
356
+ // recovered from the upstream's stored copy rather than blindly
357
+ // re-run. In synchronous mode the callback never fires; the id is
358
+ // surfaced only at completion (below). The `responseIdEmitted` flag
359
+ // dedupes so the event fires at most once per attempt.
360
+ let responseIdEmitted = false;
361
+ const emitResponseCreated = (responseId) => {
362
+ if (responseIdEmitted)
363
+ return;
364
+ responseIdEmitted = true;
365
+ ctx.emit({
366
+ kind: "stage:llm-response-created",
367
+ stageId: cfg.id,
368
+ attempt,
369
+ responseId,
370
+ at: now(),
371
+ });
372
+ };
373
+ // Build the request via the shared seam, then attach this attempt's
374
+ // mid-flight id emitter (the seam leaves `onResponseCreated` unset —
375
+ // the launch path uses the submit return value instead).
376
+ const { req } = buildLlmRequest(cfg, ctx, userMessage);
377
+ req.onResponseCreated = emitResponseCreated;
378
+ // Emit the pre-call stage-input event. Fires inside the retry loop
379
+ // after `attempt` is incremented and after the request is built,
380
+ // immediately before `respond()` — so a consumer can surface the
381
+ // as-sent prompts the instant the call starts, without waiting for the
382
+ // post-call `stage:llm-call`. On attempt 2+ `userMessage` already
383
+ // carries the retry-suffix appended by the prior attempt's
384
+ // schema-validation failure path, matching this attempt's eventual
385
+ // `stage:llm-call.prompts.user`.
386
+ ctx.emit({
387
+ kind: "stage:llm-request",
388
+ stageId: cfg.id,
389
+ attempt,
390
+ prompts: {
391
+ system: prompt.system,
392
+ user: userMessage,
393
+ },
394
+ at: now(),
395
+ });
396
+ try {
397
+ const response = await ctx.llm.respond(req);
398
+ // Completion-time fallback: if the provider surfaced an id but did
399
+ // NOT fire the mid-flight callback (the synchronous / poll paths),
400
+ // emit here so the event still precedes `stage:llm-call` on this
401
+ // attempt.
402
+ if (response.rawResponseId) {
403
+ emitResponseCreated(response.rawResponseId);
404
+ }
405
+ // Shared validation core (same check the launch/complete path
406
+ // runs via validateLlmOutcome's completed branch).
407
+ const checked = checkLlmOutput(cfg, response.output);
408
+ const validationPassed = checked.valid;
409
+ const validationError = checked.validationError;
410
+ // Emit per-attempt LLM-call event. Fires after the call returns
411
+ // and after schema validation has run, before retry/return
412
+ // branching. `validationError` is `undefined` when the schema
413
+ // accepted the output, a string when it rejected. `prompts.user`
414
+ // is the as-sent message — on attempt 2+ this includes any
415
+ // retry-suffix appended by the prior attempt's schema-validation
416
+ // failure path.
417
+ ctx.emit({
418
+ kind: "stage:llm-call",
419
+ stageId: cfg.id,
420
+ attempt,
421
+ prompts: {
422
+ system: prompt.system,
423
+ user: userMessage,
424
+ },
425
+ output: response.output,
426
+ tokenUsage: response.tokenUsage,
427
+ rawResponseId: response.rawResponseId,
428
+ validationError,
429
+ at: now(),
430
+ });
431
+ if (!validationPassed) {
432
+ // validationError is defined here because validationPassed is
433
+ // false.
434
+ const validationMessage = validationError;
435
+ const lastError = {
436
+ reason: "schema_validation",
437
+ code: OUTPUT_SCHEMA_INVALID,
438
+ message: validationMessage,
439
+ };
440
+ const retryable = policy.retryOn.includes("schema_validation");
441
+ if (!retryable || attempt >= policy.maxAttempts) {
442
+ return { kind: "exhausted", lastError };
443
+ }
444
+ emitRetry(ctx, cfg.id, attempt, "schema_validation");
445
+ const nextUserMessage = applyRetrySuffix(prompt.user, validationMessage, errorCap);
446
+ await sleep(policy.backoffMs, ctx.signal);
447
+ return { kind: "retry", lastError, nextUserMessage };
448
+ }
449
+ // Token usage emission is handled by the executor at stage:end
450
+ // time; we return the response output and attach the usage onto a
451
+ // side channel via failure-free path. We stash token usage on a
452
+ // per-stage well-known key recognized by the executor.
453
+ stashTokenUsage(ctx, cfg.id, response.tokenUsage);
454
+ return { kind: "success", output: response.output };
455
+ }
456
+ catch (err) {
457
+ if (err instanceof LlmStageRetryExhaustedError &&
458
+ err.stageId === cfg.id) {
459
+ // Re-throw our own marker; the catch below shouldn't see it.
460
+ // Defensive.
461
+ throw err;
462
+ }
463
+ if (err instanceof StageAbortedError) {
464
+ throw err;
465
+ }
466
+ // Mid-flight abort surfaces here when the provider honored the
467
+ // signal and threw. Recognize it before classifying as a generic
468
+ // non-retryable failure so the executor can mark this stage
469
+ // `skipped`, not `failed` with `LLM_NON_RETRYABLE_ERROR`.
470
+ if (ctx.signal.aborted) {
471
+ throw new StageAbortedError({ stageId: cfg.id });
472
+ }
473
+ const reason = classifyError(err);
474
+ const message = err instanceof Error ? err.message : String(err);
475
+ if (reason === "non_retryable") {
476
+ return {
477
+ kind: "exhausted",
478
+ lastError: {
479
+ reason: "transient",
480
+ code: LLM_NON_RETRYABLE_ERROR,
481
+ message,
482
+ },
483
+ };
484
+ }
485
+ const lastError = {
486
+ reason,
487
+ code: reason === "quota_exhausted"
488
+ ? LLM_QUOTA_EXHAUSTED
489
+ : reason === "rate_limit"
490
+ ? LLM_RATE_LIMITED
491
+ : LLM_TRANSIENT_ERROR,
492
+ message,
493
+ };
494
+ // Fail-fast for any reason not opted into `retryOn`.
495
+ // `quota_exhausted` is absent from every default policy, so a
496
+ // quota 429 breaks here on attempt 1 — same control flow
497
+ // `rate_limit` already takes.
498
+ if (!policy.retryOn.includes(reason)) {
499
+ return { kind: "exhausted", lastError };
500
+ }
501
+ if (attempt >= policy.maxAttempts) {
502
+ return { kind: "exhausted", lastError };
503
+ }
504
+ emitRetry(ctx, cfg.id, attempt, reason);
505
+ await sleep(policy.backoffMs, ctx.signal);
506
+ return { kind: "retry", lastError, nextUserMessage: userMessage };
507
+ }
508
+ }
341
509
  export function llmStage(config) {
342
510
  const policy = {
343
511
  ...DEFAULT_RETRY_POLICY,
@@ -366,175 +534,15 @@ export function llmStage(config) {
366
534
  let lastError = null;
367
535
  while (attempt < policy.maxAttempts) {
368
536
  attempt += 1;
369
- if (ctx.signal.aborted) {
370
- // Loop-top abort: caller cancelled before (or
371
- // between) attempts. Surface as a `skipped` stage
372
- // rather than a failure.
373
- throw new StageAbortedError({ stageId: config.id });
374
- }
375
- // Emit the `stage:llm-response-created` event the moment
376
- // the provider surfaces a response id. In background-stream
377
- // mode this fires MID-FLIGHT — before `respond()` resolves
378
- // — from the provider's `onResponseCreated` callback (the
379
- // first `response.created` SSE event). That early emit is
380
- // load-bearing: a consumer persists the id before a
381
- // possible crash, so a call interrupted mid-generation can
382
- // be recovered from the upstream's stored copy rather than
383
- // blindly re-run. In synchronous mode the callback never
384
- // fires; the id is surfaced only at completion (below). The
385
- // `responseIdEmitted` flag dedupes so the event fires at
386
- // most once per attempt.
387
- let responseIdEmitted = false;
388
- const emitResponseCreated = (responseId) => {
389
- if (responseIdEmitted)
390
- return;
391
- responseIdEmitted = true;
392
- ctx.emit({
393
- kind: "stage:llm-response-created",
394
- stageId: config.id,
395
- attempt,
396
- responseId,
397
- at: now(),
398
- });
399
- };
400
- // Build the request via the shared seam, then attach this
401
- // attempt's mid-flight id emitter (the seam leaves
402
- // `onResponseCreated` unset — the launch path uses the
403
- // submit return value instead).
404
- const { req } = buildLlmRequest(cfg, ctx, userMessage);
405
- req.onResponseCreated = emitResponseCreated;
406
- // Emit the pre-call stage-input event. Fires inside the
407
- // retry loop after `attempt` is incremented and after the
408
- // request is built, immediately before `respond()` — so a
409
- // consumer can surface the as-sent prompts the instant the
410
- // call starts, without waiting for the post-call
411
- // `stage:llm-call`. On attempt 2+ `userMessage` already
412
- // carries the retry-suffix appended by the prior attempt's
413
- // schema-validation failure path, matching this attempt's
414
- // eventual `stage:llm-call.prompts.user`.
415
- ctx.emit({
416
- kind: "stage:llm-request",
417
- stageId: config.id,
418
- attempt,
419
- prompts: {
420
- system: prompt.system,
421
- user: userMessage,
422
- },
423
- at: now(),
424
- });
425
- try {
426
- const response = await ctx.llm.respond(req);
427
- // Completion-time fallback: if the provider surfaced an
428
- // id but did NOT fire the mid-flight callback (the
429
- // synchronous / poll paths), emit here so the event
430
- // still precedes `stage:llm-call` on this attempt.
431
- if (response.rawResponseId) {
432
- emitResponseCreated(response.rawResponseId);
433
- }
434
- // Shared validation core (same check the launch/complete
435
- // path runs via validateLlmOutcome's completed branch).
436
- const checked = checkLlmOutput(cfg, response.output);
437
- const validationPassed = checked.valid;
438
- const validationError = checked.validationError;
439
- // Emit per-attempt LLM-call event. Fires after the
440
- // call returns and after schema validation has run,
441
- // before retry/return branching. `validationError`
442
- // is `undefined` when the schema accepted the
443
- // output, a string when it rejected. `prompts.user`
444
- // is the as-sent message — on attempt 2+ this
445
- // includes any retry-suffix appended by the prior
446
- // attempt's schema-validation failure path.
447
- ctx.emit({
448
- kind: "stage:llm-call",
449
- stageId: config.id,
450
- attempt,
451
- prompts: {
452
- system: prompt.system,
453
- user: userMessage,
454
- },
455
- output: response.output,
456
- tokenUsage: response.tokenUsage,
457
- rawResponseId: response.rawResponseId,
458
- validationError,
459
- at: now(),
460
- });
461
- if (!validationPassed) {
462
- // validationError is defined here because
463
- // validationPassed is false.
464
- const validationMessage = validationError;
465
- lastError = {
466
- reason: "schema_validation",
467
- code: OUTPUT_SCHEMA_INVALID,
468
- message: validationMessage,
469
- };
470
- const retryable = policy.retryOn.includes("schema_validation");
471
- if (!retryable || attempt >= policy.maxAttempts) {
472
- break;
473
- }
474
- emitRetry(ctx, config.id, attempt, "schema_validation");
475
- userMessage = applyRetrySuffix(prompt.user, validationMessage, errorCap);
476
- await sleep(policy.backoffMs, ctx.signal);
477
- continue;
478
- }
479
- // Token usage emission is handled by the executor at
480
- // stage:end time; we return the response output and
481
- // attach the usage onto a side channel via failure-free
482
- // path.
483
- // We stash token usage on a per-stage well-known key
484
- // recognized by the executor.
485
- stashTokenUsage(ctx, config.id, response.tokenUsage);
486
- return response.output;
537
+ const result = await runLlmStageAttempt(cfg, ctx, prompt, policy, errorCap, attempt, userMessage);
538
+ if (result.kind === "success") {
539
+ return result.output;
487
540
  }
488
- catch (err) {
489
- if (err instanceof LlmStageRetryExhaustedError &&
490
- err.stageId === config.id) {
491
- // Re-throw our own marker; the catch below shouldn't
492
- // see it. Defensive.
493
- throw err;
494
- }
495
- if (err instanceof StageAbortedError) {
496
- throw err;
497
- }
498
- // Mid-flight abort surfaces here when the provider
499
- // honored the signal and threw. Recognize it before
500
- // classifying as a generic non-retryable failure so
501
- // the executor can mark this stage `skipped`, not
502
- // `failed` with `LLM_NON_RETRYABLE_ERROR`.
503
- if (ctx.signal.aborted) {
504
- throw new StageAbortedError({ stageId: config.id });
505
- }
506
- const reason = classifyError(err);
507
- const message = err instanceof Error ? err.message : String(err);
508
- if (reason === "non_retryable") {
509
- lastError = {
510
- reason: "transient",
511
- code: LLM_NON_RETRYABLE_ERROR,
512
- message,
513
- };
514
- break;
515
- }
516
- lastError = {
517
- reason,
518
- code: reason === "quota_exhausted"
519
- ? LLM_QUOTA_EXHAUSTED
520
- : reason === "rate_limit"
521
- ? LLM_RATE_LIMITED
522
- : LLM_TRANSIENT_ERROR,
523
- message,
524
- };
525
- // Fail-fast for any reason not opted into `retryOn`.
526
- // `quota_exhausted` is absent from every default
527
- // policy, so a quota 429 breaks here on attempt 1 —
528
- // same control flow `rate_limit` already takes.
529
- if (!policy.retryOn.includes(reason)) {
530
- break;
531
- }
532
- if (attempt >= policy.maxAttempts) {
533
- break;
534
- }
535
- emitRetry(ctx, config.id, attempt, reason);
536
- await sleep(policy.backoffMs, ctx.signal);
541
+ lastError = result.lastError;
542
+ if (result.kind === "exhausted") {
543
+ break;
537
544
  }
545
+ userMessage = result.nextUserMessage;
538
546
  }
539
547
  const failure = lastError ?? {
540
548
  reason: "transient",
@@ -1 +1 @@
1
- {"version":3,"file":"llm-stage-helpers.js","sourceRoot":"","sources":["../../../src/lib/pipelines/llm-stage-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-stage-helpers.js","sourceRoot":"","sources":["../../../src/lib/pipelines/llm-stage-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/lib/pipelines/scheduler.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAER,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,MAAM,EACN,aAAa,EACb,YAAY,EACf,MAAM,YAAY,CAAA;AAcnB,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,GAAG,EAAE,YAAY,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACzC,iBAAiB;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,SAAgB,IAAI,EACd,WAAW,GACX,UAAU,GACV,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,qBAAqB,CAAA;IAC3B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAA;gBAElB,IAAI,EAAE;QACd,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAA;QACxC,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;KACjB;CAOJ;AAED,wBAAgB,GAAG,IAAI,MAAM,CAI5B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAErD;AA+FD,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,cAAc,CAAA;CAC9B,CAAA;AAYD,MAAM,MAAM,cAAc,GAAG;IACzB,uEAAuE;IACvE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAClC,uDAAuD;IACvD,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,mEAAmE;IACnE,MAAM,EAAE,WAAW,CAAA;IACnB,gDAAgD;IAChD,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACrC,gEAAgE;IAChE,UAAU,EAAE,MAAM,MAAM,CAAA;IACxB,2CAA2C;IAC3C,GAAG,EAAE,YAAY,CAAA;IACjB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAA;IACd;;;;;;;OAOG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAA;CAC9D,CAAA;AAMD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,YAAY,EAAE,MAAM,GACrB,aAAa,CA4Cf;AAQD,wBAAsB,WAAW,CAC7B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EACtB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAmJf;AASD,wBAAgB,WAAW,CAAC,OAAO,EAC/B,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,cAAc,GACtB,OAAO,GAAG,IAAI,CAyBhB;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,EACjD,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CA0RnC"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/lib/pipelines/scheduler.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAER,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,MAAM,EACN,aAAa,EACb,YAAY,EACf,MAAM,YAAY,CAAA;AAcnB,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,GAAG,EAAE,YAAY,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACzC,iBAAiB;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,SAAgB,IAAI,EACd,WAAW,GACX,UAAU,GACV,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,qBAAqB,CAAA;IAC3B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAA;gBAElB,IAAI,EAAE;QACd,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAA;QACxC,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;KACjB;CAOJ;AAED,wBAAgB,GAAG,IAAI,MAAM,CAI5B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAErD;AA+FD,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,cAAc,CAAA;CAC9B,CAAA;AAYD,MAAM,MAAM,cAAc,GAAG;IACzB,uEAAuE;IACvE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAClC,uDAAuD;IACvD,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,mEAAmE;IACnE,MAAM,EAAE,WAAW,CAAA;IACnB,gDAAgD;IAChD,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACrC,gEAAgE;IAChE,UAAU,EAAE,MAAM,MAAM,CAAA;IACxB,2CAA2C;IAC3C,GAAG,EAAE,YAAY,CAAA;IACjB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAA;IACd;;;;;;;OAOG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAA;CAC9D,CAAA;AAMD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,YAAY,EAAE,MAAM,GACrB,aAAa,CA4Cf;AAQD,wBAAsB,WAAW,CAC7B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EACtB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAmJf;AASD,wBAAgB,WAAW,CAAC,OAAO,EAC/B,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,cAAc,GACtB,OAAO,GAAG,IAAI,CAyBhB;AA2JD,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,EACjD,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAuJnC"}
@@ -349,67 +349,14 @@ export function runFinalize(pipeline, ctx, state) {
349
349
  return null;
350
350
  }
351
351
  }
352
- export async function executePipeline(pipeline, input, deps) {
353
- // 1. Input validation. A schema mismatch is a caller bug; we throw.
354
- // Value.Parse infers its return type from the schema; since
355
- // pipeline.inputSchema is typed as TSchema, that inference comes
356
- // out broad — we re-narrow to TInput, which is the caller's
357
- // declared input type for the pipeline.
358
- const parsedInput = Value.Parse(pipeline.inputSchema, input);
359
- const validatedInput = parsedInput;
360
- // 2. DAG validation. All before any stage runs.
361
- const { stageById } = validateDag(pipeline);
362
- const emit = deps.onEvent ?? noopEmit;
363
- const signal = deps.signal ?? new AbortController().signal;
364
- const generateId = deps.generateId ?? defaultGenerateId;
365
- const concurrencyLimit = deps.concurrencyLimit ?? 4;
366
- const startAt = now();
367
- emit({
368
- kind: "pipeline:start",
369
- pipelineId: pipeline.id,
370
- pipelineVersion: pipeline.version,
371
- at: startAt,
372
- });
373
- debugPipelineStart({
374
- pipelineId: pipeline.id,
375
- pipelineVersion: pipeline.version,
376
- stageCount: pipeline.stages.length,
377
- rootStages: pipeline.stages
378
- .filter((s) => s.dependsOn.length === 0)
379
- .map((s) => s.id),
380
- });
381
- const failures = [];
382
- const records = new Map();
383
- // A PipelineConfigurationError raised inside a stage's `run`
384
- // (i.e. a `ctx.get` called on a non-dependency stage id) is a
385
- // caller bug, not a recoverable runtime failure. We capture the
386
- // first one and re-throw after the scheduler drains so the
387
- // executor still emits the bookend events.
388
- let capturedConfigError = null;
389
- // The explicit run state shared with the extracted `runOneStage` /
390
- // `runFinalize` bodies. The scheduler's disposition for a
391
- // `ctx.get`-on-non-dep config error is "capture the first, re-throw
392
- // after the bookends" (see the drain-end re-throw below).
393
- const state = {
394
- records,
395
- failures,
396
- signal,
397
- emit,
398
- generateId,
399
- llm: deps.llm,
400
- input: validatedInput,
401
- setConfigError: (error) => {
402
- capturedConfigError ??= error;
403
- },
404
- };
405
- // Build per-stage `ctx.get` dep sets up front so we can throw on
406
- // out-of-deps access.
407
- const stageDepIds = new Map();
408
- for (const stage of pipeline.stages) {
409
- stageDepIds.set(stage.id, new Set(stage.dependsOn.map((d) => depId(d))));
410
- }
411
- const finalizeDepIds = new Set(pipeline.finalize.dependsOn.map((d) => depId(d)));
412
- // -- Helpers --
352
+ // Drive every stage of `pipeline` to completion against the shared `state`,
353
+ // honoring `concurrencyLimit`. Mutates `state.records` / `state.failures` (and,
354
+ // via `state.setConfigError`, the caller's captured config error) as stages
355
+ // settle; returns once every stage has a final outcome. Extracted from
356
+ // `executePipeline` — the scheduler loop and its eligibility helpers are the
357
+ // single largest chunk of that function's body.
358
+ async function runSchedulerLoop(pipeline, stageById, stageDepIds, state, emit, concurrencyLimit) {
359
+ const { records } = state;
413
360
  const isStageEligible = (stage) => {
414
361
  for (const dep of stage.dependsOn) {
415
362
  const id = depId(dep);
@@ -437,7 +384,6 @@ export async function executePipeline(pipeline, input, deps) {
437
384
  }
438
385
  return false;
439
386
  };
440
- // -- Stage execution --
441
387
  const runStage = async (stage) => {
442
388
  const ctx = makeStageContext(state, stageDepIds.get(stage.id) ?? new Set(), stage.id);
443
389
  await runOneStage(stage, ctx, state);
@@ -540,6 +486,68 @@ export async function executePipeline(pipeline, input, deps) {
540
486
  // Wait for the pool to drain (race exits at the first settled
541
487
  // promise; we want them all settled).
542
488
  await Promise.allSettled(pool.map((p) => p.promise));
489
+ }
490
+ export async function executePipeline(pipeline, input, deps) {
491
+ // 1. Input validation. A schema mismatch is a caller bug; we throw.
492
+ // Value.Parse infers its return type from the schema; since
493
+ // pipeline.inputSchema is typed as TSchema, that inference comes
494
+ // out broad — we re-narrow to TInput, which is the caller's
495
+ // declared input type for the pipeline.
496
+ const parsedInput = Value.Parse(pipeline.inputSchema, input);
497
+ const validatedInput = parsedInput;
498
+ // 2. DAG validation. All before any stage runs.
499
+ const { stageById } = validateDag(pipeline);
500
+ const emit = deps.onEvent ?? noopEmit;
501
+ const signal = deps.signal ?? new AbortController().signal;
502
+ const generateId = deps.generateId ?? defaultGenerateId;
503
+ const concurrencyLimit = deps.concurrencyLimit ?? 4;
504
+ const startAt = now();
505
+ emit({
506
+ kind: "pipeline:start",
507
+ pipelineId: pipeline.id,
508
+ pipelineVersion: pipeline.version,
509
+ at: startAt,
510
+ });
511
+ debugPipelineStart({
512
+ pipelineId: pipeline.id,
513
+ pipelineVersion: pipeline.version,
514
+ stageCount: pipeline.stages.length,
515
+ rootStages: pipeline.stages
516
+ .filter((s) => s.dependsOn.length === 0)
517
+ .map((s) => s.id),
518
+ });
519
+ const failures = [];
520
+ const records = new Map();
521
+ // A PipelineConfigurationError raised inside a stage's `run`
522
+ // (i.e. a `ctx.get` called on a non-dependency stage id) is a
523
+ // caller bug, not a recoverable runtime failure. We capture the
524
+ // first one and re-throw after the scheduler drains so the
525
+ // executor still emits the bookend events.
526
+ let capturedConfigError = null;
527
+ // The explicit run state shared with the extracted `runOneStage` /
528
+ // `runFinalize` bodies. The scheduler's disposition for a
529
+ // `ctx.get`-on-non-dep config error is "capture the first, re-throw
530
+ // after the bookends" (see the drain-end re-throw below).
531
+ const state = {
532
+ records,
533
+ failures,
534
+ signal,
535
+ emit,
536
+ generateId,
537
+ llm: deps.llm,
538
+ input: validatedInput,
539
+ setConfigError: (error) => {
540
+ capturedConfigError ??= error;
541
+ },
542
+ };
543
+ // Build per-stage `ctx.get` dep sets up front so we can throw on
544
+ // out-of-deps access.
545
+ const stageDepIds = new Map();
546
+ for (const stage of pipeline.stages) {
547
+ stageDepIds.set(stage.id, new Set(stage.dependsOn.map((d) => depId(d))));
548
+ }
549
+ const finalizeDepIds = new Set(pipeline.finalize.dependsOn.map((d) => depId(d)));
550
+ await runSchedulerLoop(pipeline, stageById, stageDepIds, state, emit, concurrencyLimit);
543
551
  // If a stage observed a configuration violation (ctx.get on a
544
552
  // non-dep), surface that as a thrown error after emitting the
545
553
  // pipeline:end bookend so event consumers still see a clean