@relayflows/sdk 2.0.34 → 2.0.36

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 (162) hide show
  1. package/dist/adapters/base.d.ts +16 -0
  2. package/dist/adapters/base.d.ts.map +1 -1
  3. package/dist/adapters/claude.d.ts.map +1 -1
  4. package/dist/adapters/claude.js +15 -0
  5. package/dist/adapters/claude.js.map +1 -1
  6. package/dist/adapters/codex.d.ts.map +1 -1
  7. package/dist/adapters/codex.js +4 -0
  8. package/dist/adapters/codex.js.map +1 -1
  9. package/dist/adapters/usage-limit.d.ts +2 -0
  10. package/dist/adapters/usage-limit.d.ts.map +1 -0
  11. package/dist/adapters/usage-limit.js +17 -0
  12. package/dist/adapters/usage-limit.js.map +1 -0
  13. package/dist/authored-activity.d.ts +17 -0
  14. package/dist/authored-activity.d.ts.map +1 -0
  15. package/dist/authored-activity.js +218 -0
  16. package/dist/authored-activity.js.map +1 -0
  17. package/dist/authored-child-run.d.ts +34 -0
  18. package/dist/authored-child-run.d.ts.map +1 -0
  19. package/dist/authored-child-run.js +128 -0
  20. package/dist/authored-child-run.js.map +1 -0
  21. package/dist/authored-dispatch.d.ts +24 -0
  22. package/dist/authored-dispatch.d.ts.map +1 -0
  23. package/dist/authored-dispatch.js +81 -0
  24. package/dist/authored-dispatch.js.map +1 -0
  25. package/dist/authored-flow-error.d.ts +32 -3
  26. package/dist/authored-flow-error.d.ts.map +1 -1
  27. package/dist/authored-flow-error.js +3 -1
  28. package/dist/authored-flow-error.js.map +1 -1
  29. package/dist/authored-flow-executor.d.ts +26 -1
  30. package/dist/authored-flow-executor.d.ts.map +1 -1
  31. package/dist/authored-flow-executor.js +122 -16
  32. package/dist/authored-flow-executor.js.map +1 -1
  33. package/dist/authored-flow-loader.d.ts.map +1 -1
  34. package/dist/authored-flow-loader.js +9 -0
  35. package/dist/authored-flow-loader.js.map +1 -1
  36. package/dist/authored-mcp.js +2 -2
  37. package/dist/authored-mcp.js.map +1 -1
  38. package/dist/authored-node-entry.js +4 -1
  39. package/dist/authored-node-entry.js.map +1 -1
  40. package/dist/authored-node-runner.d.ts.map +1 -1
  41. package/dist/authored-node-runner.js +40 -8
  42. package/dist/authored-node-runner.js.map +1 -1
  43. package/dist/authored-plugin-effect.js +2 -2
  44. package/dist/authored-plugin-effect.js.map +1 -1
  45. package/dist/authored-root.d.ts +10 -7
  46. package/dist/authored-root.d.ts.map +1 -1
  47. package/dist/authored-root.js +20 -0
  48. package/dist/authored-root.js.map +1 -1
  49. package/dist/authored-step-output.d.ts +24 -8
  50. package/dist/authored-step-output.d.ts.map +1 -1
  51. package/dist/authored-step-output.js +81 -15
  52. package/dist/authored-step-output.js.map +1 -1
  53. package/dist/authored-subscription-park.d.ts +5 -0
  54. package/dist/authored-subscription-park.d.ts.map +1 -0
  55. package/dist/authored-subscription-park.js +47 -0
  56. package/dist/authored-subscription-park.js.map +1 -0
  57. package/dist/authored-worker-step.d.ts +3 -1
  58. package/dist/authored-worker-step.d.ts.map +1 -1
  59. package/dist/authored-worker-step.js +25 -9
  60. package/dist/authored-worker-step.js.map +1 -1
  61. package/dist/cli/check-activities.d.ts +8 -0
  62. package/dist/cli/check-activities.d.ts.map +1 -0
  63. package/dist/cli/check-activities.js +155 -0
  64. package/dist/cli/check-activities.js.map +1 -0
  65. package/dist/cli/cli-probe.d.ts.map +1 -1
  66. package/dist/cli/cli-probe.js +14 -2
  67. package/dist/cli/cli-probe.js.map +1 -1
  68. package/dist/cli/direct-run.d.ts.map +1 -1
  69. package/dist/cli/direct-run.js +10 -2
  70. package/dist/cli/direct-run.js.map +1 -1
  71. package/dist/cli/run.d.ts +23 -5
  72. package/dist/cli/run.d.ts.map +1 -1
  73. package/dist/cli/run.js +32 -5
  74. package/dist/cli/run.js.map +1 -1
  75. package/dist/cli/subscription-report.d.ts +5 -0
  76. package/dist/cli/subscription-report.d.ts.map +1 -0
  77. package/dist/cli/subscription-report.js +48 -0
  78. package/dist/cli/subscription-report.js.map +1 -0
  79. package/dist/cli-adapter.d.ts +4 -2
  80. package/dist/cli-adapter.d.ts.map +1 -1
  81. package/dist/cli-adapter.js +4 -0
  82. package/dist/cli-adapter.js.map +1 -1
  83. package/dist/cli.d.ts +1 -1
  84. package/dist/cli.d.ts.map +1 -1
  85. package/dist/cli.js +16 -5
  86. package/dist/cli.js.map +1 -1
  87. package/dist/cloud-mirror-step.d.ts +2 -0
  88. package/dist/cloud-mirror-step.d.ts.map +1 -1
  89. package/dist/cloud-mirror-step.js +9 -1
  90. package/dist/cloud-mirror-step.js.map +1 -1
  91. package/dist/cloud-mirror.d.ts.map +1 -1
  92. package/dist/cloud-mirror.js +17 -2
  93. package/dist/cloud-mirror.js.map +1 -1
  94. package/dist/failure-kinds.d.ts +2 -2
  95. package/dist/failure-kinds.d.ts.map +1 -1
  96. package/dist/failure-kinds.js +2 -0
  97. package/dist/failure-kinds.js.map +1 -1
  98. package/dist/index.d.ts +1 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/journal-client.d.ts +17 -2
  102. package/dist/journal-client.d.ts.map +1 -1
  103. package/dist/journal-client.js +33 -2
  104. package/dist/journal-client.js.map +1 -1
  105. package/dist/journal-reader.d.ts.map +1 -1
  106. package/dist/journal-reader.js +2 -0
  107. package/dist/journal-reader.js.map +1 -1
  108. package/dist/local-agent.d.ts +4 -1
  109. package/dist/local-agent.d.ts.map +1 -1
  110. package/dist/local-agent.js +14 -4
  111. package/dist/local-agent.js.map +1 -1
  112. package/dist/preflight.d.ts +6 -0
  113. package/dist/preflight.d.ts.map +1 -1
  114. package/dist/preflight.js +36 -10
  115. package/dist/preflight.js.map +1 -1
  116. package/dist/protocol.d.ts +166 -1
  117. package/dist/protocol.d.ts.map +1 -1
  118. package/dist/step-settling.d.ts +11 -0
  119. package/dist/step-settling.d.ts.map +1 -0
  120. package/dist/step-settling.js +22 -0
  121. package/dist/step-settling.js.map +1 -0
  122. package/dist/worker-slots.d.ts +15 -0
  123. package/dist/worker-slots.d.ts.map +1 -1
  124. package/dist/worker-slots.js +40 -3
  125. package/dist/worker-slots.js.map +1 -1
  126. package/package.json +2 -2
  127. package/src/adapters/base.ts +19 -0
  128. package/src/adapters/claude.ts +15 -0
  129. package/src/adapters/codex.ts +6 -0
  130. package/src/adapters/usage-limit.ts +17 -0
  131. package/src/authored-activity.ts +251 -0
  132. package/src/authored-child-run.ts +138 -0
  133. package/src/authored-dispatch.ts +113 -0
  134. package/src/authored-flow-error.ts +36 -0
  135. package/src/authored-flow-executor.ts +166 -15
  136. package/src/authored-flow-loader.ts +12 -0
  137. package/src/authored-mcp.ts +2 -2
  138. package/src/authored-node-entry.ts +4 -1
  139. package/src/authored-node-runner.ts +41 -8
  140. package/src/authored-plugin-effect.ts +2 -2
  141. package/src/authored-root.ts +28 -4
  142. package/src/authored-step-output.ts +88 -15
  143. package/src/authored-subscription-park.ts +46 -0
  144. package/src/authored-worker-step.ts +24 -8
  145. package/src/cli/check-activities.ts +144 -0
  146. package/src/cli/cli-probe.ts +15 -3
  147. package/src/cli/direct-run.ts +9 -0
  148. package/src/cli/run.ts +56 -9
  149. package/src/cli/subscription-report.ts +51 -0
  150. package/src/cli-adapter.ts +8 -2
  151. package/src/cli.ts +16 -6
  152. package/src/cloud-mirror-step.ts +16 -2
  153. package/src/cloud-mirror.ts +15 -2
  154. package/src/failure-kinds.ts +2 -0
  155. package/src/index.ts +6 -0
  156. package/src/journal-client.ts +47 -3
  157. package/src/journal-reader.ts +2 -0
  158. package/src/local-agent.ts +17 -3
  159. package/src/preflight.ts +46 -10
  160. package/src/protocol.ts +129 -0
  161. package/src/step-settling.ts +19 -0
  162. package/src/worker-slots.ts +63 -4
@@ -28,7 +28,7 @@ export interface ServerEvent {
28
28
  event: string;
29
29
  data: unknown;
30
30
  }
31
- export type Verb = 'hello' | 'run.start' | 'run.resume' | 'run.cancel' | 'run.get' | 'run.watch' | 'worker.attach' | 'step.heartbeat' | 'effect.record' | 'effect.confirm' | 'step.complete' | 'step.wait' | 'event.emit' | 'event.submit' | 'channel.append' | 'channel.receive' | 'channel.ack' | 'stream.append' | 'stream.read' | 'journal.read';
31
+ export type Verb = 'hello' | 'run.start' | 'run.resume' | 'run.cancel' | 'run.get' | 'run.watch' | 'worker.attach' | 'step.heartbeat' | 'effect.record' | 'effect.confirm' | 'step.complete' | 'step.wait' | 'subscription.park' | 'event.emit' | 'event.submit' | 'subscription.open' | 'subscription.activate' | 'subscription.deliver' | 'subscription.inspect' | 'subscription.fence_overflow' | 'subscription.next' | 'subscription.close' | 'channel.append' | 'channel.receive' | 'channel.ack' | 'stream.append' | 'stream.read' | 'journal.read';
32
32
  export interface HelloParams {
33
33
  protocol: 0;
34
34
  client: string;
@@ -313,6 +313,10 @@ export interface EventEmitParams {
313
313
  run_id: string;
314
314
  event_key: string;
315
315
  payload: unknown;
316
+ /** Provider delivery id for body activities. Required by Cloud; optional for legacy exact waits. */
317
+ delivery_id?: string;
318
+ /** Provider actor identity, used by the local router adapter for self filtering. */
319
+ actor?: string;
316
320
  }
317
321
  export interface EventEmitResult {
318
322
  matched: number;
@@ -337,6 +341,128 @@ export interface EventSubmitResult {
337
341
  subscription_id?: string | null;
338
342
  run?: unknown;
339
343
  }
344
+ /** Body-level activity open; the server acknowledges only after its fenced binding is durable. */
345
+ export interface SubscriptionOpenParams {
346
+ run_id: string;
347
+ subscription_id: string;
348
+ event_types: string[];
349
+ pattern?: Record<string, unknown>;
350
+ settle_ms: number;
351
+ idle_ms: number;
352
+ deadline_ms: number;
353
+ include_self: boolean;
354
+ }
355
+ export type SubscriptionOpenResult = {
356
+ /** Immutable snapshot from the durable `subscription.prepared` entry. */
357
+ state: 'prepared';
358
+ subscription_id: string;
359
+ event_types: string[];
360
+ pattern?: Record<string, unknown>;
361
+ stream: string;
362
+ settle_ms: number;
363
+ idle_ms: number;
364
+ deadline_at_ms: number;
365
+ include_self: boolean;
366
+ } | {
367
+ state: 'active';
368
+ subscription_id: string;
369
+ stream: string;
370
+ deadline_at_ms: number;
371
+ };
372
+ /** Cloud supplies this receipt only after it has durably fenced its binding. */
373
+ export interface SubscriptionActivateParams {
374
+ run_id: string;
375
+ subscription_id: string;
376
+ ingress_offset: number;
377
+ router_binding: Record<string, unknown>;
378
+ }
379
+ export interface SubscriptionActivateResult {
380
+ state: 'active';
381
+ subscription_id: string;
382
+ stream: string;
383
+ deadline_at_ms: number;
384
+ }
385
+ /** Targeted Cloud ingress; receipt must equal the journaled activation receipt. */
386
+ export interface SubscriptionDeliverParams {
387
+ run_id: string;
388
+ subscription_id: string;
389
+ router_binding: Record<string, unknown>;
390
+ delivery_id: string;
391
+ frame: unknown;
392
+ }
393
+ export interface SubscriptionDeliverResult {
394
+ /** False for an idempotent duplicate or a frame that closes on overflow. */
395
+ appended: boolean;
396
+ reason?: 'duplicate' | 'overflow';
397
+ }
398
+ /** Read-only projection of the kernel's durable subscription records. */
399
+ export interface SubscriptionSnapshot {
400
+ subscriptionId: string;
401
+ state: 'prepared' | 'active' | 'closed';
402
+ completionReason?: 'closed' | 'run_completed' | 'canceled' | 'deadline' | 'overflow';
403
+ routerBinding?: Record<string, unknown>;
404
+ ingressOffset?: number;
405
+ unreadFrames: number;
406
+ unreadBytes: number;
407
+ settleMs: number;
408
+ idleAtMs?: number;
409
+ deadlineAtMs: number;
410
+ }
411
+ export interface SubscriptionInspectParams {
412
+ run_id: string;
413
+ }
414
+ export interface SubscriptionInspectResult {
415
+ subscriptions: SubscriptionSnapshot[];
416
+ }
417
+ export interface SubscriptionFenceOverflowParams {
418
+ run_id: string;
419
+ subscription_id: string;
420
+ router_binding: Record<string, unknown>;
421
+ }
422
+ export interface SubscriptionFenceOverflowResult {
423
+ fenced: true;
424
+ }
425
+ export interface SubscriptionNextParams {
426
+ run_id: string;
427
+ subscription_id: string;
428
+ /** Internal durable receipt for the prior normal wake, supplied with the next pull. */
429
+ acknowledge_wait_id?: string;
430
+ /** Body call ordinal: replay this pull's durable wake across process restarts. */
431
+ sequence?: number;
432
+ }
433
+ export type SubscriptionNextResult = {
434
+ kind: 'suspended';
435
+ subscription_id: string;
436
+ stream: string;
437
+ deadline_at_ms: number;
438
+ } | {
439
+ kind: 'events';
440
+ events: unknown[];
441
+ offset: number;
442
+ acknowledge_wait_id?: string;
443
+ } | {
444
+ kind: 'idle';
445
+ acknowledge_wait_id?: string;
446
+ } | {
447
+ kind: 'deadline';
448
+ pending: {
449
+ from: number;
450
+ to: number;
451
+ } | null;
452
+ } | {
453
+ kind: 'overflow';
454
+ retained: number;
455
+ bytes: number;
456
+ from: number;
457
+ };
458
+ export interface SubscriptionCloseParams {
459
+ run_id: string;
460
+ subscription_id: string;
461
+ completion_reason: 'closed' | 'run_completed' | 'canceled';
462
+ }
463
+ export interface SubscriptionCloseResult {
464
+ closed: string;
465
+ }
340
466
  export interface StreamAppendParams {
341
467
  run_id: string;
342
468
  stream: string;
@@ -449,6 +575,17 @@ export interface VerbContract {
449
575
  params: StepWaitParams;
450
576
  result: StepWaitResult;
451
577
  };
578
+ 'subscription.park': {
579
+ params: {
580
+ run_id: string;
581
+ step_id: string;
582
+ attempt: number;
583
+ idempotency_key: string;
584
+ subscription_id: string;
585
+ phase: 'activation' | 'event_wait';
586
+ };
587
+ result: RunOutcome;
588
+ };
452
589
  'event.emit': {
453
590
  params: EventEmitParams;
454
591
  result: EventEmitResult;
@@ -457,6 +594,34 @@ export interface VerbContract {
457
594
  params: EventSubmitParams;
458
595
  result: EventSubmitResult;
459
596
  };
597
+ 'subscription.open': {
598
+ params: SubscriptionOpenParams;
599
+ result: SubscriptionOpenResult;
600
+ };
601
+ 'subscription.activate': {
602
+ params: SubscriptionActivateParams;
603
+ result: SubscriptionActivateResult;
604
+ };
605
+ 'subscription.deliver': {
606
+ params: SubscriptionDeliverParams;
607
+ result: SubscriptionDeliverResult;
608
+ };
609
+ 'subscription.inspect': {
610
+ params: SubscriptionInspectParams;
611
+ result: SubscriptionInspectResult;
612
+ };
613
+ 'subscription.fence_overflow': {
614
+ params: SubscriptionFenceOverflowParams;
615
+ result: SubscriptionFenceOverflowResult;
616
+ };
617
+ 'subscription.next': {
618
+ params: SubscriptionNextParams;
619
+ result: SubscriptionNextResult;
620
+ };
621
+ 'subscription.close': {
622
+ params: SubscriptionCloseParams;
623
+ result: SubscriptionCloseResult;
624
+ };
460
625
  'stream.append': {
461
626
  params: StreamAppendParams;
462
627
  result: StreamAppendResult;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE3E,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,EAAG,sBAA+B,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,wBAAwB;AACxB,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,CAAC;CACX;AAED,qDAAqD;AACrD,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,OAAO,IAC5B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GACnC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAEpD,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAKD,MAAM,MAAM,IAAI,GACZ,OAAO,GACP,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,WAAW,GACX,YAAY,GACZ,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,aAAa,GACb,cAAc,CAAC;AAInB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,KAAK,CAAA;CAAE,GACrF;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gGAAgG;IAChG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,IAAI,EAAE,aAAa,CAAC;CACrB;AACD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAE7F,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AACX,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;CAC9F;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,0EAA0E;AAE1E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AACD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3C;AAED,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;QACrC,YAAY,CAAC,EAAE,IAAI,CAAC;QACpB,0BAA0B,CAAC,EAAE,gBAAgB,CAAC;QAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,qBAAqB,GACrB,mBAAmB,GACnB,eAAe,GACf,SAAS,GACT,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,UAAU,CAAC;AAEf,MAAM,WAAW,IAAI;IACnB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AACD,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,oEAAoE;QACpE,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AACD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAC5F;AACD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnJ;AACD,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE;QAAE,MAAM,EAAE,eAAe,GAAG;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAC/G,iBAAiB,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,CAAC;IAC5E,aAAa,EAAE;QAAE,MAAM,EAAE,eAAe,GAAG;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAC5F,KAAK,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IACpD,WAAW,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAChE,YAAY,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;IACnE,YAAY,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;IACnE,SAAS,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAC1D,WAAW,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAChE,eAAe,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC5E,gBAAgB,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAC/E,eAAe,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC5E,gBAAgB,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAC/E,eAAe,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC5E,WAAW,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAChE,YAAY,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;IACnE,cAAc,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACzE,eAAe,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC5E,aAAa,EAAE;QAAE,MAAM,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACtE,cAAc,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;CAC1E"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A step's LAST settling `step.completed`: the verdict the kernel settled the
3
+ * step on. `retry` and `park` completions record an attempt the kernel did
4
+ * NOT settle it on (relayflowd-core `Disposition`) — crash recovery's
5
+ * `crashed`, a `worker_error` with iterations left — and precede the attempt
6
+ * that did, so neither the first completion nor a completion count is the
7
+ * step's verdict. Shared by the authored reader and the Bun result verifier,
8
+ * which must agree on which completion a claim is judged against.
9
+ */
10
+ export declare function settlingCompletion<T>(entries: readonly T[], stepId: string): T | undefined;
11
+ //# sourceMappingURL=step-settling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-settling.d.ts","sourceRoot":"","sources":["../src/step-settling.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAS1F"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * A step's LAST settling `step.completed`: the verdict the kernel settled the
3
+ * step on. `retry` and `park` completions record an attempt the kernel did
4
+ * NOT settle it on (relayflowd-core `Disposition`) — crash recovery's
5
+ * `crashed`, a `worker_error` with iterations left — and precede the attempt
6
+ * that did, so neither the first completion nor a completion count is the
7
+ * step's verdict. Shared by the authored reader and the Bun result verifier,
8
+ * which must agree on which completion a claim is judged against.
9
+ */
10
+ export function settlingCompletion(entries, stepId) {
11
+ return entries.filter(entry => {
12
+ if (typeof entry !== 'object' || entry === null)
13
+ return false;
14
+ const { entry_type: type, step_id: step, payload } = entry;
15
+ if (type !== 'step.completed' || step !== stepId)
16
+ return false;
17
+ const disposition = typeof payload === 'object' && payload !== null
18
+ ? payload['disposition'] : undefined;
19
+ return disposition !== 'retry' && disposition !== 'park';
20
+ }).at(-1);
21
+ }
22
+ //# sourceMappingURL=step-settling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-settling.js","sourceRoot":"","sources":["../src/step-settling.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAI,OAAqB,EAAE,MAAc;IACzE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC9D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAgC,CAAC;QACtF,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAC/D,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YACjE,CAAC,CAAE,OAAmC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,OAAO,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,CAAC;IAC3D,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC"}
@@ -3,6 +3,11 @@ export declare const DEFAULT_LOCAL_AGENT_CAPACITY = 4;
3
3
  export declare const MAX_LOCAL_AGENT_CAPACITY = 32;
4
4
  /** A positive integer no larger than the ceiling; anything else is not a capacity. */
5
5
  export declare function isAgentCapacity(value: unknown): value is number;
6
+ export interface WorkerSlotScope {
7
+ run<T>(work: () => Promise<T>): Promise<T>;
8
+ /** Refuse this flow's queued/future work without closing the shared pool. */
9
+ close(reason: unknown): void;
10
+ }
6
11
  /**
7
12
  * First-come admission to a worker that holds `capacity` dispatches at once.
8
13
  *
@@ -20,6 +25,9 @@ export declare class WorkerSlots {
20
25
  private closed;
21
26
  constructor(capacity: number);
22
27
  run<T>(work: () => Promise<T>): Promise<T>;
28
+ /** One independently closable admission scope over this shared capacity. */
29
+ scope(): WorkerSlotScope;
30
+ private runInScope;
23
31
  /** Read through a call so a check after an `await` is not narrowed away. */
24
32
  private closedReason;
25
33
  /**
@@ -30,6 +38,7 @@ export declare class WorkerSlots {
30
38
  * before `close` could refuse it; deferring lets the teardown land first.
31
39
  */
32
40
  private release;
41
+ private closeScope;
33
42
  /**
34
43
  * Refuse every queued and future admission with `reason`; work already
35
44
  * holding a slot is not interrupted. The authored body calls this when it
@@ -39,4 +48,10 @@ export declare class WorkerSlots {
39
48
  */
40
49
  close(reason: unknown): void;
41
50
  }
51
+ /** One run-tree-wide capacity pool, shared by parent and child flows. */
52
+ export interface AuthoredWorkerSlots {
53
+ readonly agent: WorkerSlots;
54
+ readonly llm: WorkerSlots;
55
+ }
56
+ export declare function authoredWorkerSlots(capacity: number): AuthoredWorkerSlots;
42
57
  //# sourceMappingURL=worker-slots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-slots.d.ts","sourceRoot":"","sources":["../src/worker-slots.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE/D;AAED;;;;;;;;;GASG;AACH,qBAAa,WAAW;IAKV,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAJrC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyE;IACjG,OAAO,CAAC,MAAM,CAA2C;gBAEpC,QAAQ,EAAE,MAAM;IAI/B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBhD,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAkBf;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAK7B"}
1
+ {"version":3,"file":"worker-slots.d.ts","sourceRoot":"","sources":["../src/worker-slots.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE/D;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,6EAA6E;IAC7E,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B;AAMD;;;;;;;;;GASG;AACH,qBAAa,WAAW;IASV,QAAQ,CAAC,QAAQ,EAAE,MAAM;IARrC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAIhB;IACR,OAAO,CAAC,MAAM,CAA2C;gBAEpC,QAAQ,EAAE,MAAM;IAI/B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,4EAA4E;IAC5E,KAAK,IAAI,eAAe;YAQV,UAAU;IA2BxB,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,UAAU;IAWlB;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAK7B;AAOD,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAEzE"}
@@ -26,20 +26,38 @@ export class WorkerSlots {
26
26
  throw new RangeError(`worker capacity must be an integer from 1 to ${MAX_LOCAL_AGENT_CAPACITY} (got ${capacity})`);
27
27
  }
28
28
  async run(work) {
29
+ return this.runInScope(work);
30
+ }
31
+ /** One independently closable admission scope over this shared capacity. */
32
+ scope() {
33
+ const scope = {};
34
+ return Object.freeze({
35
+ run: (work) => this.runInScope(work, scope),
36
+ close: (reason) => this.closeScope(scope, reason),
37
+ });
38
+ }
39
+ async runInScope(work, scope) {
29
40
  if (this.closed !== undefined)
30
41
  throw this.closed.reason;
42
+ if (scope?.closed !== undefined)
43
+ throw scope.closed.reason;
31
44
  if (this.held < this.capacity)
32
45
  this.held++;
33
46
  // A released slot is handed straight to the next waiter, so `held` never
34
47
  // dips below capacity while anyone is queued and no later caller can jump it.
35
48
  else {
36
- await new Promise((resolve, reject) => this.waiting.push({ resolve, reject }));
49
+ await new Promise((resolve, reject) => this.waiting.push({ resolve, reject, scope }));
37
50
  // Woken with the slot, but the body may have failed in between (see release).
38
51
  const closed = this.closedReason();
39
52
  if (closed !== undefined) {
40
53
  this.release();
41
54
  throw closed.reason;
42
55
  }
56
+ const scopeClosed = scopeClosedReason(scope);
57
+ if (scopeClosed !== undefined) {
58
+ this.release();
59
+ throw scopeClosed.reason;
60
+ }
43
61
  }
44
62
  try {
45
63
  return await work();
@@ -66,16 +84,28 @@ export class WorkerSlots {
66
84
  return;
67
85
  }
68
86
  setImmediate(() => {
69
- if (this.closed === undefined) {
87
+ if (this.closed === undefined && next.scope?.closed === undefined) {
70
88
  next.resolve();
71
89
  return;
72
90
  }
73
91
  // Closed meanwhile. `close` could not see this waiter (already taken off
74
92
  // the queue), so refuse it here, and pass the slot on instead of leaking it.
75
- next.reject(this.closed.reason);
93
+ next.reject(this.closed?.reason ?? next.scope.closed.reason);
76
94
  this.release();
77
95
  });
78
96
  }
97
+ closeScope(scope, reason) {
98
+ if (scope.closed !== undefined)
99
+ return;
100
+ scope.closed = { reason };
101
+ for (let index = this.waiting.length - 1; index >= 0; index--) {
102
+ const waiter = this.waiting[index];
103
+ if (waiter.scope !== scope)
104
+ continue;
105
+ this.waiting.splice(index, 1);
106
+ waiter.reject(reason);
107
+ }
108
+ }
79
109
  /**
80
110
  * Refuse every queued and future admission with `reason`; work already
81
111
  * holding a slot is not interrupted. The authored body calls this when it
@@ -91,4 +121,11 @@ export class WorkerSlots {
91
121
  waiter.reject(reason);
92
122
  }
93
123
  }
124
+ /** Read through a call so a check after an `await` is not narrowed away. */
125
+ function scopeClosedReason(scope) {
126
+ return scope?.closed;
127
+ }
128
+ export function authoredWorkerSlots(capacity) {
129
+ return Object.freeze({ agent: new WorkerSlots(capacity), llm: new WorkerSlots(capacity) });
130
+ }
94
131
  //# sourceMappingURL=worker-slots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-slots.js","sourceRoot":"","sources":["../src/worker-slots.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,sFAAsF;AACtF,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,IAAI,CAAC,IAAK,KAAgB,IAAI,wBAAwB,CAAC;AAC5G,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,WAAW;IAKD;IAJb,IAAI,GAAG,CAAC,CAAC;IACA,OAAO,GAAsE,EAAE,CAAC;IACzF,MAAM,CAA2C;IAEzD,YAAqB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,gDAAgD,wBAAwB,SAAS,QAAQ,GAAG,CAAC,CAAC;IACrJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAsB;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACxD,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,yEAAyE;QACzE,8EAA8E;aACzE,CAAC;YACJ,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACrF,8EAA8E;YAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,MAAM,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,4EAA4E;IACpE,YAAY;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,OAAO;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,yEAAyE;YACzE,6EAA6E;YAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAe;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;CACF"}
1
+ {"version":3,"file":"worker-slots.js","sourceRoot":"","sources":["../src/worker-slots.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relayflows/sdk",
3
- "version": "2.0.34",
3
+ "version": "2.0.36",
4
4
  "description": "TypeScript-first authoring SDK for Relayflows. Compiles specs; speaks the journal protocol.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -49,7 +49,7 @@
49
49
  "@modelcontextprotocol/sdk": "^1.30.0",
50
50
  "@relayfile/adapter-core": "0.6.2",
51
51
  "@relayfile/relay-helpers": "0.4.12",
52
- "@relayflows/surface": "2.0.34",
52
+ "@relayflows/surface": "2.0.36",
53
53
  "@types/js-yaml": "^4.0.9",
54
54
  "acorn": "^8.18.0",
55
55
  "ai-hist": "0.4.1",
@@ -19,6 +19,19 @@ export interface CliInvocation {
19
19
  modelEnv?: string;
20
20
  }
21
21
 
22
+ /**
23
+ * Why a model-scoped readiness probe exited non-zero, when the CLI's own
24
+ * output says so. `model_unknown` is the only cause that means the model name
25
+ * or the credential's access to it is wrong; the others are the environment.
26
+ */
27
+ export type ModelProbeFailureCause = 'model_unknown' | 'cli_outdated' | 'provider_usage_limited';
28
+
29
+ export interface ModelProbeFailure {
30
+ cause: ModelProbeFailureCause;
31
+ /** Minimum CLI version the provider named, for `cli_outdated`. */
32
+ requiredVersion?: string;
33
+ }
34
+
22
35
  export interface CliAdapterIdentification {
23
36
  invocation: CliInvocation;
24
37
  expectedStdout?: string;
@@ -52,6 +65,12 @@ export interface HeadlessAdapter {
52
65
  */
53
66
  buildModelReadinessProbe(model: string): CliInvocation;
54
67
 
68
+ /**
69
+ * Classify a failed readiness probe from its combined output. Absent, or an
70
+ * `undefined` answer, means the output named no cause this adapter knows.
71
+ */
72
+ classifyModelProbeFailure?(output: string): ModelProbeFailure | undefined;
73
+
55
74
  /** Agent-step worker argv for an instruction under an optional model. */
56
75
  buildAgentInvocation(instruction: string, model?: string): CliInvocation;
57
76
 
@@ -2,7 +2,9 @@ import type {
2
2
  CliAdapterIdentification,
3
3
  CliInvocation,
4
4
  HeadlessAdapter,
5
+ ModelProbeFailure,
5
6
  } from './base.js';
7
+ import { providerUsageLimited } from './usage-limit.js';
6
8
 
7
9
  const MODEL_PROBE_PROMPT = 'Reply with exactly RELAYFLOWS_MODEL_READY and nothing else.';
8
10
 
@@ -30,6 +32,19 @@ export const claudeAdapter: HeadlessAdapter = {
30
32
  };
31
33
  },
32
34
 
35
+ classifyModelProbeFailure(output: string): ModelProbeFailure | undefined {
36
+ // Checked first: an older Claude Code also prints its own
37
+ // `unrecognized_model` catalog warning for a model newer than it, which
38
+ // must not read as the model being unknown to the provider.
39
+ const outdated = /does not support this model; version (\S+) or newer is required/.exec(output);
40
+ if (outdated !== null) return { cause: 'cli_outdated', requiredVersion: outdated[1]! };
41
+ if (providerUsageLimited(output)) return { cause: 'provider_usage_limited' };
42
+ if (/issue with the selected model|not_found_error|may not exist or you may not have access/i.test(output)) {
43
+ return { cause: 'model_unknown' };
44
+ }
45
+ return undefined;
46
+ },
47
+
33
48
  buildAgentInvocation(instruction: string, model?: string): CliInvocation {
34
49
  return {
35
50
  args: [
@@ -2,7 +2,9 @@ import type {
2
2
  CliAdapterIdentification,
3
3
  CliInvocation,
4
4
  HeadlessAdapter,
5
+ ModelProbeFailure,
5
6
  } from './base.js';
7
+ import { providerUsageLimited } from './usage-limit.js';
6
8
 
7
9
  const MODEL_PROBE_PROMPT = 'Reply with exactly RELAYFLOWS_MODEL_READY and nothing else.';
8
10
 
@@ -29,6 +31,10 @@ export const codexAdapter: HeadlessAdapter = {
29
31
  };
30
32
  },
31
33
 
34
+ classifyModelProbeFailure(output: string): ModelProbeFailure | undefined {
35
+ return providerUsageLimited(output) ? { cause: 'provider_usage_limited' } : undefined;
36
+ },
37
+
32
38
  buildAgentInvocation(instruction: string, model?: string): CliInvocation {
33
39
  return {
34
40
  args: [
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Provider refusals that mean "this credential is out of capacity right now",
3
+ * not "this model does not exist". Shared by raw provider adapters because the
4
+ * wording overlaps (HTTP 429, `rate_limit_error`, subscription usage windows).
5
+ */
6
+ const USAGE_LIMITED = [
7
+ /usage limit/i,
8
+ /hit your (?:usage )?limit/i,
9
+ /(?:5-hour|weekly|session) limit reached/i,
10
+ /rate_limit_error/,
11
+ /API Error: 429\b/,
12
+ /credit balance is too low/i,
13
+ ];
14
+
15
+ export function providerUsageLimited(output: string): boolean {
16
+ return USAGE_LIMITED.some(pattern => pattern.test(output));
17
+ }