@dogpile/sdk 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +145 -0
  2. package/README.md +1 -0
  3. package/dist/browser/index.js +2270 -507
  4. package/dist/browser/index.js.map +1 -1
  5. package/dist/index.d.ts +5 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/providers/openai-compatible.d.ts +11 -0
  10. package/dist/providers/openai-compatible.d.ts.map +1 -1
  11. package/dist/providers/openai-compatible.js +87 -2
  12. package/dist/providers/openai-compatible.js.map +1 -1
  13. package/dist/runtime/broadcast.d.ts.map +1 -1
  14. package/dist/runtime/broadcast.js +1 -13
  15. package/dist/runtime/broadcast.js.map +1 -1
  16. package/dist/runtime/cancellation.d.ts +26 -0
  17. package/dist/runtime/cancellation.d.ts.map +1 -1
  18. package/dist/runtime/cancellation.js +38 -1
  19. package/dist/runtime/cancellation.js.map +1 -1
  20. package/dist/runtime/coordinator.d.ts +74 -1
  21. package/dist/runtime/coordinator.d.ts.map +1 -1
  22. package/dist/runtime/coordinator.js +929 -34
  23. package/dist/runtime/coordinator.js.map +1 -1
  24. package/dist/runtime/decisions.d.ts +25 -3
  25. package/dist/runtime/decisions.d.ts.map +1 -1
  26. package/dist/runtime/decisions.js +241 -3
  27. package/dist/runtime/decisions.js.map +1 -1
  28. package/dist/runtime/defaults.d.ts +37 -1
  29. package/dist/runtime/defaults.d.ts.map +1 -1
  30. package/dist/runtime/defaults.js +347 -0
  31. package/dist/runtime/defaults.js.map +1 -1
  32. package/dist/runtime/engine.d.ts.map +1 -1
  33. package/dist/runtime/engine.js +254 -24
  34. package/dist/runtime/engine.js.map +1 -1
  35. package/dist/runtime/ids.d.ts +19 -0
  36. package/dist/runtime/ids.d.ts.map +1 -0
  37. package/dist/runtime/ids.js +36 -0
  38. package/dist/runtime/ids.js.map +1 -0
  39. package/dist/runtime/logger.d.ts +61 -0
  40. package/dist/runtime/logger.d.ts.map +1 -0
  41. package/dist/runtime/logger.js +114 -0
  42. package/dist/runtime/logger.js.map +1 -0
  43. package/dist/runtime/retry.d.ts +99 -0
  44. package/dist/runtime/retry.d.ts.map +1 -0
  45. package/dist/runtime/retry.js +181 -0
  46. package/dist/runtime/retry.js.map +1 -0
  47. package/dist/runtime/sequential.d.ts.map +1 -1
  48. package/dist/runtime/sequential.js +9 -11
  49. package/dist/runtime/sequential.js.map +1 -1
  50. package/dist/runtime/shared.d.ts.map +1 -1
  51. package/dist/runtime/shared.js +1 -13
  52. package/dist/runtime/shared.js.map +1 -1
  53. package/dist/runtime/tools/built-in.d.ts +99 -0
  54. package/dist/runtime/tools/built-in.d.ts.map +1 -0
  55. package/dist/runtime/tools/built-in.js +577 -0
  56. package/dist/runtime/tools/built-in.js.map +1 -0
  57. package/dist/runtime/tools/vercel-ai.d.ts +67 -0
  58. package/dist/runtime/tools/vercel-ai.d.ts.map +1 -0
  59. package/dist/runtime/tools/vercel-ai.js +148 -0
  60. package/dist/runtime/tools/vercel-ai.js.map +1 -0
  61. package/dist/runtime/tools.d.ts +5 -268
  62. package/dist/runtime/tools.d.ts.map +1 -1
  63. package/dist/runtime/tools.js +7 -770
  64. package/dist/runtime/tools.js.map +1 -1
  65. package/dist/runtime/validation.d.ts +10 -0
  66. package/dist/runtime/validation.d.ts.map +1 -1
  67. package/dist/runtime/validation.js +73 -0
  68. package/dist/runtime/validation.js.map +1 -1
  69. package/dist/types/benchmark.d.ts +276 -0
  70. package/dist/types/benchmark.d.ts.map +1 -0
  71. package/dist/types/benchmark.js +2 -0
  72. package/dist/types/benchmark.js.map +1 -0
  73. package/dist/types/events.d.ts +816 -0
  74. package/dist/types/events.d.ts.map +1 -0
  75. package/dist/types/events.js +2 -0
  76. package/dist/types/events.js.map +1 -0
  77. package/dist/types/replay.d.ts +173 -0
  78. package/dist/types/replay.d.ts.map +1 -0
  79. package/dist/types/replay.js +2 -0
  80. package/dist/types/replay.js.map +1 -0
  81. package/dist/types.d.ts +135 -938
  82. package/dist/types.d.ts.map +1 -1
  83. package/dist/types.js.map +1 -1
  84. package/package.json +27 -1
  85. package/src/index.ts +14 -0
  86. package/src/providers/openai-compatible.ts +82 -3
  87. package/src/runtime/broadcast.ts +1 -16
  88. package/src/runtime/cancellation.ts +59 -1
  89. package/src/runtime/coordinator.ts +1164 -34
  90. package/src/runtime/decisions.ts +307 -4
  91. package/src/runtime/defaults.ts +376 -0
  92. package/src/runtime/engine.ts +363 -24
  93. package/src/runtime/ids.ts +41 -0
  94. package/src/runtime/logger.ts +152 -0
  95. package/src/runtime/retry.ts +270 -0
  96. package/src/runtime/sequential.ts +10 -13
  97. package/src/runtime/shared.ts +1 -16
  98. package/src/runtime/tools/built-in.ts +875 -0
  99. package/src/runtime/tools/vercel-ai.ts +269 -0
  100. package/src/runtime/tools.ts +60 -1255
  101. package/src/runtime/validation.ts +81 -0
  102. package/src/types/benchmark.ts +300 -0
  103. package/src/types/events.ts +895 -0
  104. package/src/types/replay.ts +212 -0
  105. package/src/types.ts +251 -997
@@ -1,12 +1,14 @@
1
1
  import { DogpileError } from "../types.js";
2
2
  import { runBroadcast } from "./broadcast.js";
3
3
  import { runCoordinator } from "./coordinator.js";
4
- import { createReplayTraceFinalOutput, createReplayTraceBudgetStateChanges, canonicalizeRunResult, canonicalizeSerializable, createRunAccounting, createRunEventLog, createRunMetadata, createRunUsage, defaultAgents, normalizeProtocol, orderAgentsForTemperature, tierTemperature } from "./defaults.js";
4
+ import { createReplayTraceFinalOutput, createReplayTraceBudgetStateChanges, canonicalizeRunResult, canonicalizeSerializable, createRunAccounting, createRunEventLog, createRunMetadata, createRunUsage, defaultAgents, normalizeProtocol, orderAgentsForTemperature, recomputeAccountingFromTrace, resolveOnChildFailure, tierTemperature } from "./defaults.js";
5
5
  import { runSequential } from "./sequential.js";
6
6
  import { runShared } from "./shared.js";
7
- import { createAbortErrorFromSignal, createTimeoutError } from "./cancellation.js";
7
+ import { classifyChildTimeoutSource, createAbortErrorFromSignal, createEngineDeadlineTimeoutError, createTimeoutError } from "./cancellation.js";
8
8
  import { budget as budgetCondition } from "./termination.js";
9
- import { validateDogpileOptions, validateEngineOptions, validateMissionIntent } from "./validation.js";
9
+ import { validateDogpileOptions, validateEngineOptions, validateMissionIntent, validateProviderLocality, validateRunCallOptions } from "./validation.js";
10
+ const DEFAULT_MAX_DEPTH = 4;
11
+ const DEFAULT_MAX_CONCURRENT_CHILDREN = 4;
10
12
  const defaultHighLevelProtocol = "sequential";
11
13
  const defaultHighLevelTier = "balanced";
12
14
  /**
@@ -27,9 +29,20 @@ export function createEngine(options) {
27
29
  const temperature = options.temperature ?? tierTemperature(options.tier);
28
30
  const agents = orderAgentsForTemperature(options.agents ?? defaultAgents(), temperature, options.seed);
29
31
  const terminate = options.terminate ?? (options.budget ? conditionFromBudget(options.budget) : undefined);
32
+ const engineMaxDepth = options.maxDepth ?? DEFAULT_MAX_DEPTH;
33
+ const engineMaxConcurrentChildren = options.maxConcurrentChildren ?? DEFAULT_MAX_CONCURRENT_CHILDREN;
34
+ const engineOnChildFailure = options.onChildFailure;
30
35
  return {
31
- run(intent) {
36
+ run(intent, runOptions) {
32
37
  validateMissionIntent(intent);
38
+ validateRunCallOptions(runOptions);
39
+ validateProviderLocality(options.model, "model");
40
+ const effectiveMaxDepth = Math.min(engineMaxDepth, runOptions?.maxDepth ?? Number.POSITIVE_INFINITY);
41
+ assertRunDoesNotRaiseEngineMax("maxConcurrentChildren", runOptions?.maxConcurrentChildren, engineMaxConcurrentChildren);
42
+ const effectiveMaxConcurrentChildren = Math.min(engineMaxConcurrentChildren, runOptions?.maxConcurrentChildren ?? Number.POSITIVE_INFINITY);
43
+ const onChildFailure = resolveOnChildFailure(runOptions?.onChildFailure, engineOnChildFailure);
44
+ const startedAtMs = Date.now();
45
+ const parentDeadlineMs = options.budget?.timeoutMs !== undefined ? startedAtMs + options.budget.timeoutMs : undefined;
33
46
  return runNonStreamingProtocol({
34
47
  intent,
35
48
  protocol,
@@ -43,11 +56,25 @@ export function createEngine(options) {
43
56
  ...(options.signal !== undefined ? { signal: options.signal } : {}),
44
57
  ...(terminate ? { terminate } : {}),
45
58
  ...(options.wrapUpHint ? { wrapUpHint: options.wrapUpHint } : {}),
46
- ...(options.evaluate ? { evaluate: options.evaluate } : {})
59
+ ...(options.evaluate ? { evaluate: options.evaluate } : {}),
60
+ currentDepth: 0,
61
+ effectiveMaxDepth,
62
+ effectiveMaxConcurrentChildren,
63
+ onChildFailure,
64
+ ...(parentDeadlineMs !== undefined ? { parentDeadlineMs } : {}),
65
+ ...(options.defaultSubRunTimeoutMs !== undefined
66
+ ? { defaultSubRunTimeoutMs: options.defaultSubRunTimeoutMs }
67
+ : {})
47
68
  });
48
69
  },
49
- stream(intent) {
70
+ stream(intent, runOptions) {
50
71
  validateMissionIntent(intent);
72
+ validateRunCallOptions(runOptions);
73
+ validateProviderLocality(options.model, "model");
74
+ const effectiveMaxDepth = Math.min(engineMaxDepth, runOptions?.maxDepth ?? Number.POSITIVE_INFINITY);
75
+ assertRunDoesNotRaiseEngineMax("maxConcurrentChildren", runOptions?.maxConcurrentChildren, engineMaxConcurrentChildren);
76
+ const effectiveMaxConcurrentChildren = Math.min(engineMaxConcurrentChildren, runOptions?.maxConcurrentChildren ?? Number.POSITIVE_INFINITY);
77
+ const onChildFailure = resolveOnChildFailure(runOptions?.onChildFailure, engineOnChildFailure);
51
78
  const pendingEvents = [];
52
79
  const pendingResolvers = [];
53
80
  const emittedEvents = [];
@@ -61,7 +88,10 @@ export function createEngine(options) {
61
88
  const abortRace = createAbortRace(abortController.signal, options.model.id);
62
89
  let complete = false;
63
90
  let lastRunId = "";
91
+ let rootRunId;
64
92
  let pendingFinalEvent;
93
+ let activeAbortDrain;
94
+ const failureInstancesByChildRunId = new Map();
65
95
  let status = "running";
66
96
  let resolveResult;
67
97
  let rejectResult;
@@ -113,6 +143,8 @@ export function createEngine(options) {
113
143
  return;
114
144
  }
115
145
  try {
146
+ const streamStartedAtMs = Date.now();
147
+ const streamParentDeadlineMs = options.budget?.timeoutMs !== undefined ? streamStartedAtMs + options.budget.timeoutMs : undefined;
116
148
  const baseResult = await abortRace.run(runProtocol({
117
149
  intent,
118
150
  protocol,
@@ -125,21 +157,42 @@ export function createEngine(options) {
125
157
  ...(options.seed !== undefined ? { seed: options.seed } : {}),
126
158
  signal: abortController.signal,
127
159
  ...(terminate ? { terminate } : {}),
160
+ currentDepth: 0,
161
+ effectiveMaxDepth,
162
+ effectiveMaxConcurrentChildren,
163
+ onChildFailure,
164
+ ...(streamParentDeadlineMs !== undefined ? { parentDeadlineMs: streamParentDeadlineMs } : {}),
165
+ ...(options.defaultSubRunTimeoutMs !== undefined
166
+ ? { defaultSubRunTimeoutMs: options.defaultSubRunTimeoutMs }
167
+ : {}),
168
+ streamEvents: true,
128
169
  emit(event) {
129
170
  if (status !== "running") {
130
171
  return;
131
172
  }
173
+ const parentRunIds = event.parentRunIds;
174
+ if (rootRunId === undefined && parentRunIds === undefined) {
175
+ rootRunId = event.runId;
176
+ }
132
177
  lastRunId = event.runId;
133
- if (event.type === "final") {
178
+ if (event.type === "final" && event.runId === rootRunId) {
134
179
  pendingFinalEvent = event;
135
180
  return;
136
181
  }
137
182
  publish(event);
138
- }
183
+ },
184
+ registerAbortDrain(drain) {
185
+ activeAbortDrain = drain;
186
+ },
187
+ failureInstancesByChildRunId
139
188
  }));
140
189
  if (status !== "running") {
141
190
  return;
142
191
  }
192
+ const terminalThrow = resolveRuntimeTerminalThrow(baseResult.trace, failureInstancesByChildRunId);
193
+ if (terminalThrow) {
194
+ throw terminalThrow;
195
+ }
143
196
  const finalizedResult = await abortRace.run(applyRunEvaluation(baseResult, options.evaluate));
144
197
  if (status !== "running") {
145
198
  return;
@@ -161,6 +214,10 @@ export function createEngine(options) {
161
214
  }
162
215
  const runtimeError = timeoutLifecycle.translateError(error);
163
216
  status = isCancellationError(runtimeError) ? "cancelled" : "failed";
217
+ if (shouldPublishAborted(runtimeError)) {
218
+ activeAbortDrain?.(runtimeError);
219
+ publish(createStreamAbortedEvent(runtimeError, lastRunId));
220
+ }
164
221
  publish(createStreamErrorEvent(runtimeError, lastRunId));
165
222
  closeStream();
166
223
  rejectResult(runtimeError);
@@ -171,9 +228,11 @@ export function createEngine(options) {
171
228
  return;
172
229
  }
173
230
  const error = createStreamCancellationError(options.model.id, cause);
174
- status = "cancelled";
175
231
  abortController.abort(error);
232
+ activeAbortDrain?.(error);
233
+ publish(createStreamAbortedEvent(error, lastRunId));
176
234
  publish(createStreamErrorEvent(error, lastRunId));
235
+ status = "cancelled";
177
236
  closeStream();
178
237
  rejectResult(error);
179
238
  }
@@ -182,6 +241,7 @@ export function createEngine(options) {
182
241
  return;
183
242
  }
184
243
  complete = true;
244
+ failureInstancesByChildRunId.clear();
185
245
  removeCallerAbortListener();
186
246
  timeoutLifecycle.cleanup();
187
247
  abortRace.cleanup();
@@ -242,7 +302,8 @@ function createNonStreamingAbortLifecycle(options) {
242
302
  const timeoutLifecycle = createTimeoutAbortLifecycle({
243
303
  abortController,
244
304
  timeoutMs: options.timeoutMs,
245
- providerId: options.providerId
305
+ providerId: options.providerId,
306
+ timeoutErrorSource: options.timeoutErrorSource ?? "runtime"
246
307
  });
247
308
  const abortRace = createAbortRace(abortController.signal, options.providerId);
248
309
  const removeCallerAbortListener = wireCallerAbortSignal(options.callerSignal, abortController, () => {
@@ -272,7 +333,13 @@ function createTimeoutAbortLifecycle(options) {
272
333
  cleanup() { }
273
334
  };
274
335
  }
275
- const timeoutError = createTimeoutError(options.providerId, options.timeoutMs);
336
+ const timeoutSource = classifyChildTimeoutSource(undefined, {
337
+ ...(options.timeoutErrorSource === "engine" ? { engineDefaultTimeoutMs: options.timeoutMs } : {}),
338
+ isProviderError: false
339
+ });
340
+ const timeoutError = options.timeoutErrorSource === "engine" && timeoutSource === "engine"
341
+ ? createEngineDeadlineTimeoutError(options.providerId, options.timeoutMs)
342
+ : createTimeoutError(options.providerId, options.timeoutMs);
276
343
  const timeoutId = setTimeout(() => {
277
344
  options.abortController.abort(timeoutError);
278
345
  }, options.timeoutMs);
@@ -354,6 +421,25 @@ function timeoutMsFromTermination(condition) {
354
421
  function readAbortSignalReason(signal) {
355
422
  return signal?.aborted ? signal.reason : undefined;
356
423
  }
424
+ function createStreamAbortedEvent(error, runId) {
425
+ return {
426
+ type: "aborted",
427
+ runId,
428
+ at: new Date().toISOString(),
429
+ reason: streamAbortedReason(error)
430
+ };
431
+ }
432
+ function shouldPublishAborted(error) {
433
+ return DogpileError.isInstance(error) && (error.code === "aborted" || error.code === "timeout");
434
+ }
435
+ function streamAbortedReason(error) {
436
+ if (DogpileError.isInstance(error)) {
437
+ if (error.code === "timeout" || error.detail?.["reason"] === "timeout") {
438
+ return "timeout";
439
+ }
440
+ }
441
+ return "parent-aborted";
442
+ }
357
443
  function createStreamErrorEvent(error, runId) {
358
444
  if (DogpileError.isInstance(error)) {
359
445
  return {
@@ -400,10 +486,16 @@ function dogpileErrorStreamDetail(error) {
400
486
  return detail;
401
487
  }
402
488
  async function runNonStreamingProtocol(options) {
489
+ const failureInstancesByChildRunId = new Map();
403
490
  const abortLifecycle = createNonStreamingAbortLifecycle({
404
491
  callerSignal: options.signal,
405
492
  timeoutMs: runtimeTimeoutMs(options),
406
- providerId: options.model.id
493
+ providerId: options.model.id,
494
+ timeoutErrorSource: options.currentDepth !== undefined &&
495
+ options.currentDepth > 0 &&
496
+ options.parentDeadlineMs === undefined
497
+ ? "engine"
498
+ : "runtime"
407
499
  });
408
500
  try {
409
501
  const emittedEvents = [];
@@ -412,7 +504,8 @@ async function runNonStreamingProtocol(options) {
412
504
  ...(abortLifecycle.signal !== undefined ? { signal: abortLifecycle.signal } : {}),
413
505
  emit(event) {
414
506
  emittedEvents.push(event);
415
- }
507
+ },
508
+ failureInstancesByChildRunId
416
509
  }));
417
510
  const events = emittedEvents.length > 0 ? emittedEvents : result.trace.events;
418
511
  const trace = {
@@ -433,12 +526,17 @@ async function runNonStreamingProtocol(options) {
433
526
  eventLog: createRunEventLog(trace.runId, trace.protocol, events),
434
527
  trace
435
528
  };
529
+ const terminalThrow = resolveRuntimeTerminalThrow(runResult.trace, failureInstancesByChildRunId);
530
+ if (terminalThrow) {
531
+ throw terminalThrow;
532
+ }
436
533
  return canonicalizeRunResult(await abortLifecycle.run(applyRunEvaluation(runResult, options.evaluate)));
437
534
  }
438
535
  catch (error) {
439
536
  throw abortLifecycle.translateError(error);
440
537
  }
441
538
  finally {
539
+ failureInstancesByChildRunId.clear();
442
540
  abortLifecycle.cleanup();
443
541
  }
444
542
  }
@@ -520,7 +618,24 @@ function runProtocol(options) {
520
618
  ...(options.signal !== undefined ? { signal: options.signal } : {}),
521
619
  ...(options.terminate ? { terminate: options.terminate } : {}),
522
620
  ...(options.wrapUpHint ? { wrapUpHint: options.wrapUpHint } : {}),
523
- ...(options.emit ? { emit: options.emit } : {})
621
+ ...(options.emit ? { emit: options.emit } : {}),
622
+ ...(options.streamEvents !== undefined ? { streamEvents: options.streamEvents } : {}),
623
+ currentDepth: options.currentDepth ?? 0,
624
+ effectiveMaxDepth: options.effectiveMaxDepth ?? Infinity,
625
+ effectiveMaxConcurrentChildren: options.effectiveMaxConcurrentChildren ?? DEFAULT_MAX_CONCURRENT_CHILDREN,
626
+ onChildFailure: options.onChildFailure ?? "continue",
627
+ ...(options.parentDeadlineMs !== undefined ? { parentDeadlineMs: options.parentDeadlineMs } : {}),
628
+ ...(options.defaultSubRunTimeoutMs !== undefined
629
+ ? { defaultSubRunTimeoutMs: options.defaultSubRunTimeoutMs }
630
+ : {}),
631
+ ...(options.registerAbortDrain !== undefined ? { registerAbortDrain: options.registerAbortDrain } : {}),
632
+ ...(options.failureInstancesByChildRunId !== undefined
633
+ ? { failureInstancesByChildRunId: options.failureInstancesByChildRunId }
634
+ : {}),
635
+ runProtocol: (childInput) => runProtocol({
636
+ ...childInput,
637
+ protocol: normalizeProtocol(childInput.protocol)
638
+ })
524
639
  });
525
640
  case "shared":
526
641
  return runShared({
@@ -588,6 +703,15 @@ export function stream(options) {
588
703
  export function replay(trace) {
589
704
  const cost = trace.finalOutput.cost;
590
705
  const lastEvent = trace.events.at(-1);
706
+ // D-08 / D-10: rebuild accounting recursively from the saved trace and
707
+ // verify every embedded sub-run's recorded accounting matches what the
708
+ // child trace recomputes. Mismatches throw `invalid-configuration` with
709
+ // `detail.reason: "trace-accounting-mismatch"`. No provider invocation.
710
+ const accounting = recomputeAccountingFromTrace(trace);
711
+ const replayThrow = resolveReplayTerminalThrow(trace);
712
+ if (replayThrow) {
713
+ throw replayThrow;
714
+ }
591
715
  const baseResult = {
592
716
  output: trace.finalOutput.output,
593
717
  eventLog: createRunEventLog(trace.runId, trace.protocol, trace.events),
@@ -602,13 +726,7 @@ export function replay(trace) {
602
726
  agentsUsed: trace.agentsUsed,
603
727
  events: trace.events
604
728
  }),
605
- accounting: createRunAccounting({
606
- tier: trace.tier,
607
- ...(trace.budget.caps ? { budget: trace.budget.caps } : {}),
608
- ...(trace.budget.termination ? { termination: trace.budget.termination } : {}),
609
- cost,
610
- events: trace.events
611
- }),
729
+ accounting,
612
730
  cost
613
731
  };
614
732
  if (lastEvent?.type !== "final") {
@@ -620,6 +738,80 @@ export function replay(trace) {
620
738
  ...(lastEvent.evaluation !== undefined ? { evaluation: lastEvent.evaluation } : {})
621
739
  };
622
740
  }
741
+ function resolveRuntimeTerminalThrow(trace, failureInstancesByChildRunId) {
742
+ if (trace.triggeringFailureForAbortMode !== undefined) {
743
+ return failureInstancesByChildRunId.get(trace.triggeringFailureForAbortMode.childRunId) ?? null;
744
+ }
745
+ const finalEvent = trace.events.at(-1);
746
+ if (finalEvent?.type !== "final" || finalEvent.termination === undefined) {
747
+ return null;
748
+ }
749
+ const lastFailure = findLastRealFailure(trace.events, failureInstancesByChildRunId);
750
+ if (lastFailure === null) {
751
+ return null;
752
+ }
753
+ if (hasFinalSynthesisAfterEvent(trace, lastFailure.eventIndex)) {
754
+ return null;
755
+ }
756
+ return lastFailure.error;
757
+ }
758
+ function findLastRealFailure(events, failureInstancesByChildRunId) {
759
+ for (let index = events.length - 1; index >= 0; index -= 1) {
760
+ const event = events[index];
761
+ if (event?.type !== "sub-run-failed") {
762
+ continue;
763
+ }
764
+ const instance = failureInstancesByChildRunId.get(event.childRunId);
765
+ if (instance) {
766
+ return { error: instance, eventIndex: index };
767
+ }
768
+ }
769
+ return null;
770
+ }
771
+ function resolveReplayTerminalThrow(trace) {
772
+ if (trace.triggeringFailureForAbortMode !== undefined) {
773
+ return dogpileErrorFromSerializedPayload(trace.triggeringFailureForAbortMode.error);
774
+ }
775
+ const finalEvent = trace.events.at(-1);
776
+ if (finalEvent?.type !== "final" || finalEvent.termination === undefined) {
777
+ return null;
778
+ }
779
+ const lastFailure = reconstructLastRealFailure(trace.events);
780
+ if (lastFailure === null) {
781
+ return null;
782
+ }
783
+ if (hasFinalSynthesisAfterEvent(trace, lastFailure.eventIndex)) {
784
+ return null;
785
+ }
786
+ return lastFailure.error;
787
+ }
788
+ function reconstructLastRealFailure(events) {
789
+ for (let index = events.length - 1; index >= 0; index -= 1) {
790
+ const event = events[index];
791
+ if (event?.type !== "sub-run-failed" || isSyntheticSubRunFailure(event)) {
792
+ continue;
793
+ }
794
+ return { error: dogpileErrorFromSerializedPayload(event.error), eventIndex: index };
795
+ }
796
+ return null;
797
+ }
798
+ function hasFinalSynthesisAfterEvent(trace, eventIndex) {
799
+ return trace.protocolDecisions.some((decision) => {
800
+ return decision.phase === "final-synthesis" && decision.eventIndex > eventIndex;
801
+ });
802
+ }
803
+ function isSyntheticSubRunFailure(event) {
804
+ const reason = event.error.detail?.["reason"];
805
+ return reason === "sibling-failed" || reason === "parent-aborted";
806
+ }
807
+ function dogpileErrorFromSerializedPayload(input) {
808
+ return new DogpileError({
809
+ code: input.code,
810
+ message: input.message,
811
+ ...(input.providerId !== undefined ? { providerId: input.providerId } : {}),
812
+ ...(input.detail !== undefined ? { detail: input.detail } : {})
813
+ });
814
+ }
623
815
  /**
624
816
  * Replay a saved completed trace as a stream without invoking a model provider.
625
817
  *
@@ -631,6 +823,7 @@ export function replay(trace) {
631
823
  */
632
824
  export function replayStream(trace) {
633
825
  const result = Promise.resolve(replay(trace));
826
+ const replayEvents = replayStreamEvents(trace);
634
827
  return {
635
828
  get status() {
636
829
  return "completed";
@@ -640,7 +833,7 @@ export function replayStream(trace) {
640
833
  // Replay streams are already completed snapshots, so cancellation is a no-op.
641
834
  },
642
835
  subscribe(subscriber) {
643
- for (const event of trace.events) {
836
+ for (const event of replayEvents) {
644
837
  subscriber(event);
645
838
  }
646
839
  return {
@@ -653,7 +846,7 @@ export function replayStream(trace) {
653
846
  let index = 0;
654
847
  return {
655
848
  next() {
656
- const event = trace.events[index];
849
+ const event = replayEvents[index];
657
850
  if (event) {
658
851
  index += 1;
659
852
  return Promise.resolve({ done: false, value: event });
@@ -664,6 +857,26 @@ export function replayStream(trace) {
664
857
  }
665
858
  };
666
859
  }
860
+ function replayStreamEvents(trace, parentRunIds = []) {
861
+ const events = [];
862
+ for (const event of trace.events) {
863
+ if (event.type === "sub-run-completed") {
864
+ events.push(...replayStreamEvents(event.subResult.trace, [...parentRunIds, trace.runId]));
865
+ }
866
+ events.push(wrapReplayStreamEvent(event, parentRunIds));
867
+ }
868
+ return events;
869
+ }
870
+ function wrapReplayStreamEvent(event, parentRunIds) {
871
+ if (parentRunIds.length === 0) {
872
+ return event;
873
+ }
874
+ const inbound = event.parentRunIds;
875
+ return {
876
+ ...event,
877
+ parentRunIds: [...parentRunIds, ...(inbound ?? [])]
878
+ };
879
+ }
667
880
  function wireCallerAbortSignal(callerSignal, abortController, cancelRun) {
668
881
  if (!callerSignal) {
669
882
  return () => { };
@@ -690,7 +903,8 @@ function createStreamCancellationError(providerId, cause) {
690
903
  providerId,
691
904
  ...(cause !== undefined ? { cause } : {}),
692
905
  detail: {
693
- status: "cancelled"
906
+ status: "cancelled",
907
+ reason: "parent-aborted"
694
908
  }
695
909
  });
696
910
  }
@@ -707,6 +921,22 @@ function withHighLevelDefaults(options) {
707
921
  tier: options.tier ?? defaultHighLevelTier
708
922
  };
709
923
  }
924
+ function assertRunDoesNotRaiseEngineMax(path, runValue, engineValue) {
925
+ if (runValue === undefined || runValue <= engineValue) {
926
+ return;
927
+ }
928
+ throw new DogpileError({
929
+ code: "invalid-configuration",
930
+ message: `${path} cannot raise the engine ceiling (${engineValue}).`,
931
+ retryable: false,
932
+ detail: {
933
+ kind: "configuration-validation",
934
+ path,
935
+ expected: `integer <= ${engineValue}`,
936
+ actual: runValue
937
+ }
938
+ });
939
+ }
710
940
  /**
711
941
  * Branded high-level SDK namespace.
712
942
  *
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Repo-internal id and timing helpers used across all four protocols.
3
+ *
4
+ * Centralized here so a change to id format or fallback semantics happens in
5
+ * exactly one place — switching `protocol` must not change the run-id contract.
6
+ */
7
+ /**
8
+ * Generates a fresh run id using `globalThis.crypto.randomUUID`.
9
+ *
10
+ * Throws a `DogpileError` when no UUID source is available rather than falling
11
+ * back to a millisecond-based id (which collides under back-to-back runs in
12
+ * the same tick). Node 22+, Bun latest, and modern browsers all expose
13
+ * `crypto.randomUUID`; environments without it are unsupported by Dogpile.
14
+ */
15
+ export declare function createRunId(): string;
16
+ export declare function nowMs(): number;
17
+ export declare function elapsedMs(startedAtMs: number): number;
18
+ export declare function providerCallIdFor(runId: string, oneBasedIndex: number): string;
19
+ //# sourceMappingURL=ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/runtime/ids.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAWpC;AAED,wBAAgB,KAAK,IAAI,MAAM,CAE9B;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAE9E"}