@autonome-research/thread-phase 3.2.2 → 3.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 (86) hide show
  1. package/dist/agent/index.d.ts +1 -1
  2. package/dist/agent/index.d.ts.map +1 -1
  3. package/dist/agent/index.js +1 -1
  4. package/dist/agent/index.js.map +1 -1
  5. package/dist/agent/parse-json.d.ts +16 -0
  6. package/dist/agent/parse-json.d.ts.map +1 -1
  7. package/dist/agent/parse-json.js +82 -11
  8. package/dist/agent/parse-json.js.map +1 -1
  9. package/dist/agent/runner.d.ts.map +1 -1
  10. package/dist/agent/runner.js +16 -12
  11. package/dist/agent/runner.js.map +1 -1
  12. package/dist/agent-runner.d.ts +1 -1
  13. package/dist/agent-runner.d.ts.map +1 -1
  14. package/dist/agent-runner.js +1 -1
  15. package/dist/agent-runner.js.map +1 -1
  16. package/dist/agents/serialize-error.d.ts +10 -1
  17. package/dist/agents/serialize-error.d.ts.map +1 -1
  18. package/dist/agents/serialize-error.js +42 -3
  19. package/dist/agents/serialize-error.js.map +1 -1
  20. package/dist/cache.d.ts +13 -2
  21. package/dist/cache.d.ts.map +1 -1
  22. package/dist/cache.js +36 -6
  23. package/dist/cache.js.map +1 -1
  24. package/dist/helpers/hook.d.ts +34 -2
  25. package/dist/helpers/hook.d.ts.map +1 -1
  26. package/dist/helpers/hook.js +72 -5
  27. package/dist/helpers/hook.js.map +1 -1
  28. package/dist/helpers/index.d.ts +11 -1
  29. package/dist/helpers/index.d.ts.map +1 -1
  30. package/dist/helpers/index.js +11 -1
  31. package/dist/helpers/index.js.map +1 -1
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -2
  35. package/dist/index.js.map +1 -1
  36. package/dist/internal/error-message.d.ts +20 -0
  37. package/dist/internal/error-message.d.ts.map +1 -0
  38. package/dist/internal/error-message.js +57 -0
  39. package/dist/internal/error-message.js.map +1 -0
  40. package/dist/internal/sleep.d.ts +17 -0
  41. package/dist/internal/sleep.d.ts.map +1 -0
  42. package/dist/internal/sleep.js +51 -0
  43. package/dist/internal/sleep.js.map +1 -0
  44. package/dist/messages.d.ts +11 -1
  45. package/dist/messages.d.ts.map +1 -1
  46. package/dist/orchestrator.d.ts +1 -1
  47. package/dist/orchestrator.d.ts.map +1 -1
  48. package/dist/orchestrator.js +21 -2
  49. package/dist/orchestrator.js.map +1 -1
  50. package/dist/patterns/bounded-fanout-of.d.ts +2 -6
  51. package/dist/patterns/bounded-fanout-of.d.ts.map +1 -1
  52. package/dist/patterns/bounded-fanout-of.js +11 -8
  53. package/dist/patterns/bounded-fanout-of.js.map +1 -1
  54. package/dist/patterns/index.d.ts +22 -0
  55. package/dist/patterns/index.d.ts.map +1 -1
  56. package/dist/patterns/index.js +22 -0
  57. package/dist/patterns/index.js.map +1 -1
  58. package/dist/patterns/parallel-phases.d.ts +7 -2
  59. package/dist/patterns/parallel-phases.d.ts.map +1 -1
  60. package/dist/patterns/parallel-phases.js +70 -16
  61. package/dist/patterns/parallel-phases.js.map +1 -1
  62. package/dist/patterns/sub-pipeline.d.ts.map +1 -1
  63. package/dist/patterns/sub-pipeline.js +10 -6
  64. package/dist/patterns/sub-pipeline.js.map +1 -1
  65. package/dist/patterns/with-retry.d.ts.map +1 -1
  66. package/dist/patterns/with-retry.js +5 -2
  67. package/dist/patterns/with-retry.js.map +1 -1
  68. package/dist/phase.d.ts +3 -0
  69. package/dist/phase.d.ts.map +1 -1
  70. package/dist/phase.js.map +1 -1
  71. package/dist/session/sse.d.ts +5 -1
  72. package/dist/session/sse.d.ts.map +1 -1
  73. package/dist/session/sse.js +56 -16
  74. package/dist/session/sse.js.map +1 -1
  75. package/dist/tools/registry.d.ts +6 -1
  76. package/dist/tools/registry.d.ts.map +1 -1
  77. package/dist/tools/registry.js +2 -2
  78. package/dist/tools/registry.js.map +1 -1
  79. package/dist/triggers/run-trigger.d.ts.map +1 -1
  80. package/dist/triggers/run-trigger.js +4 -1
  81. package/dist/triggers/run-trigger.js.map +1 -1
  82. package/dist/triggers/timer-trigger.d.ts +13 -1
  83. package/dist/triggers/timer-trigger.d.ts.map +1 -1
  84. package/dist/triggers/timer-trigger.js +35 -3
  85. package/dist/triggers/timer-trigger.js.map +1 -1
  86. package/package.json +1 -1
@@ -25,11 +25,43 @@ export interface HookSpec {
25
25
  /** HTTP method. Only 'POST' is supported in v3.0.0. */
26
26
  method?: 'POST';
27
27
  }
28
- export interface HookOptions {
28
+ export interface HookOptions<TBody = unknown> {
29
29
  /** Pipeline + trigger base name. Defaults to the calling file's basename. */
30
30
  name?: string;
31
31
  /** Free-form description for `thread-phase list`. */
32
32
  description?: string;
33
+ /**
34
+ * Optional runtime validator for the incoming POST body.
35
+ *
36
+ * Webhook payloads are the canonical untrusted boundary — they come from
37
+ * the network in arbitrary shapes. When `validate` is provided, the raw
38
+ * JSON body is passed through it before reaching the handler; a throw
39
+ * rejects the HTTP request with 400 and the thrown message.
40
+ *
41
+ * When absent, the body is cast to `TBody` without runtime checking —
42
+ * the handler is one malformed POST away from a TypeError. Strongly
43
+ * recommended to provide a validator (zod/valibot/io-ts/hand-written)
44
+ * for any non-trusted source.
45
+ *
46
+ * Example:
47
+ * import { z } from 'zod';
48
+ * const Body = z.object({ slug: z.string(), count: z.number().int().min(0) });
49
+ * hook({ path: '/webhook' }, handler, { validate: (raw) => Body.parse(raw) });
50
+ */
51
+ validate?: (raw: unknown) => TBody;
52
+ }
53
+ /**
54
+ * Error subclass that signals "the incoming body failed validation, return
55
+ * 400 to the caller." The HTTP handler distinguishes this from generic
56
+ * handler errors (which produce 500). Throw your own validation errors
57
+ * wrapped in this class to surface a 400; bare throws from `validate` are
58
+ * wrapped automatically.
59
+ */
60
+ export declare class HookValidationError extends Error {
61
+ readonly statusCode = 400;
62
+ constructor(message: string, options?: {
63
+ cause?: unknown;
64
+ });
33
65
  }
34
66
  /** Test-only: tear down the shared server so each test starts clean. */
35
67
  export declare function _resetHttpServerForTests(): void;
@@ -69,5 +101,5 @@ export declare class HttpTrigger implements Trigger<unknown> {
69
101
  stop(): Promise<void>;
70
102
  private ensureServerStarted;
71
103
  }
72
- export declare function hook<TBody = unknown, TResult = unknown>(spec: HookSpec, handler: HelperHandler<TBody, TResult>, options?: HookOptions): ExtensionRegisterFn;
104
+ export declare function hook<TBody = unknown, TResult = unknown>(spec: HookSpec, handler: HelperHandler<TBody, TResult>, options?: HookOptions<TBody>): ExtensionRegisterFn;
73
105
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/helpers/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AAIjG,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACvB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAmCD,wEAAwE;AACxE,wBAAgB,wBAAwB,IAAI,IAAI,CAQ/C;AA8DD,qBAAa,WAAY,YAAW,OAAO,CAAC,OAAO,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAGN;IACR,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAQhE;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAe/C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOtD,6DAA6D;IAC7D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAO1C,KAAK,IAAI,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAerD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAYb,mBAAmB;CAgBlC;AAMD,wBAAgB,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EACrD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EACtC,OAAO,GAAE,WAAgB,GACxB,mBAAmB,CAqDrB"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/helpers/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AAIjG,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACvB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW,CAAC,KAAK,GAAG,OAAO;IAC1C,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC;CACpC;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,UAAU,OAAO;gBACd,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAiDD,wEAAwE;AACxE,wBAAgB,wBAAwB,IAAI,IAAI,CAQ/C;AAqED,qBAAa,WAAY,YAAW,OAAO,CAAC,OAAO,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAGN;IACR,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAQhE;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAe/C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOtD,6DAA6D;IAC7D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAO1C,KAAK,IAAI,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAerD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBb,mBAAmB;CAgBlC;AAMD,wBAAgB,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EACrD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EACtC,OAAO,GAAE,WAAW,CAAC,KAAK,CAAM,GAC/B,mBAAmB,CA6ErB"}
@@ -19,6 +19,21 @@
19
19
  import { createServer } from 'node:http';
20
20
  import { PipelineCache } from '../cache.js';
21
21
  import { deriveNameFromCaller } from './caller.js';
22
+ import { toErrorMessage } from '../internal/error-message.js';
23
+ /**
24
+ * Error subclass that signals "the incoming body failed validation, return
25
+ * 400 to the caller." The HTTP handler distinguishes this from generic
26
+ * handler errors (which produce 500). Throw your own validation errors
27
+ * wrapped in this class to surface a 400; bare throws from `validate` are
28
+ * wrapped automatically.
29
+ */
30
+ export class HookValidationError extends Error {
31
+ statusCode = 400;
32
+ constructor(message, options) {
33
+ super(message, options);
34
+ this.name = 'HookValidationError';
35
+ }
36
+ }
22
37
  let shared;
23
38
  function getSharedServer() {
24
39
  if (shared)
@@ -29,6 +44,20 @@ function getSharedServer() {
29
44
  shared = { server, routes, started: false, port };
30
45
  return shared;
31
46
  }
47
+ /**
48
+ * Tear down the shared HTTP server. Normally called automatically by the
49
+ * last HttpTrigger.stop() (via refcount) — exposed for tests that need a
50
+ * force teardown mid-suite or for atexit hooks.
51
+ */
52
+ async function closeSharedServer() {
53
+ if (!shared)
54
+ return;
55
+ const toClose = shared;
56
+ shared = undefined;
57
+ await new Promise((resolve) => {
58
+ toClose.server.close(() => resolve());
59
+ });
60
+ }
32
61
  /** Test-only: tear down the shared server so each test starts clean. */
33
62
  export function _resetHttpServerForTests() {
34
63
  if (!shared)
@@ -80,9 +109,16 @@ async function handleRequest(req, res, routes) {
80
109
  res.end(JSON.stringify(result ?? null));
81
110
  }
82
111
  catch (err) {
83
- res.statusCode = 500;
112
+ // Errors carrying a numeric `statusCode` (e.g. HookValidationError)
113
+ // propagate their intended HTTP status; anything else is treated as a
114
+ // generic server error. Message extraction goes through toErrorMessage
115
+ // so non-Error throws don't produce `undefined` payloads.
116
+ const statusCode = typeof err.statusCode === 'number'
117
+ ? err.statusCode
118
+ : 500;
119
+ res.statusCode = statusCode;
84
120
  res.setHeader('content-type', 'application/json');
85
- res.end(JSON.stringify({ error: err.message ?? 'internal error' }));
121
+ res.end(JSON.stringify({ error: toErrorMessage(err) || 'internal error' }));
86
122
  }
87
123
  }
88
124
  // ---------------------------------------------------------------------------
@@ -177,6 +213,13 @@ export class HttpTrigger {
177
213
  }
178
214
  this.pendingById.clear();
179
215
  this.shared.routes.delete(this.path);
216
+ // Refcount: when the last registered hook removes its route, tear down
217
+ // the shared HTTP server so the port is released and the process can
218
+ // exit cleanly. _resetHttpServerForTests remains as a force-teardown
219
+ // escape hatch for tests that need to reset mid-suite.
220
+ if (this.shared.routes.size === 0 && this.shared.started) {
221
+ await closeSharedServer();
222
+ }
180
223
  }
181
224
  async ensureServerStarted() {
182
225
  this.shared.routes.set(this.path, this);
@@ -210,9 +253,33 @@ export function hook(spec, handler, options = {}) {
210
253
  const carrier = ctx;
211
254
  const event = carrier.__triggerEvent;
212
255
  const httpTrig = carrier.__httpTrigger ?? trigger;
256
+ const eventId = event?.id ?? 0;
257
+ // Trust boundary: webhook bodies arrive as `unknown`. If the caller
258
+ // provided a `validate` function, parse-don't-assert; on validation
259
+ // failure surface a 400 by wrapping in HookValidationError. When no
260
+ // validator is provided, fall back to the historical cast — unsafe
261
+ // but documented (see HookOptions.validate).
262
+ let body;
263
+ if (options.validate) {
264
+ try {
265
+ body = options.validate(event?.input);
266
+ }
267
+ catch (validationErr) {
268
+ const wrapped = validationErr instanceof HookValidationError
269
+ ? validationErr
270
+ : new HookValidationError(toErrorMessage(validationErr), {
271
+ cause: validationErr,
272
+ });
273
+ httpTrig.rejectResponse(eventId, wrapped);
274
+ throw wrapped;
275
+ }
276
+ }
277
+ else {
278
+ body = event?.input;
279
+ }
213
280
  try {
214
- const result = await handler(event?.input, ctx);
215
- httpTrig.resolveResponse(event?.id ?? 0, result);
281
+ const result = await handler(body, ctx);
282
+ httpTrig.resolveResponse(eventId, result);
216
283
  yield {
217
284
  type: 'data',
218
285
  key: `${name}.result`,
@@ -220,7 +287,7 @@ export function hook(spec, handler, options = {}) {
220
287
  };
221
288
  }
222
289
  catch (err) {
223
- httpTrig.rejectResponse(event?.id ?? 0, err instanceof Error ? err : new Error(String(err)));
290
+ httpTrig.rejectResponse(eventId, err instanceof Error ? err : new Error(toErrorMessage(err)));
224
291
  throw err;
225
292
  }
226
293
  },
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/helpers/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/helpers/hook.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,19 @@
4
4
  * Each helper wraps a single handler function into a Phase, then returns
5
5
  * an `ExtensionRegisterFn` `(api) => void` that the CLI auto-loader picks
6
6
  * up via the file's default export. See each helper file for examples.
7
+ *
8
+ * # API convention
9
+ *
10
+ * Registration helpers use the shape `(spec/handler, options?) =>
11
+ * ExtensionRegisterFn`. The first arg is the meat (a spec object or the
12
+ * handler function); options are secondary. Pipeline name is auto-derived
13
+ * from the calling file via `deriveNameFromCaller`, so you don't pass one
14
+ * explicitly. This is the third of three factory categories in the public
15
+ * API — see AGENTS.md "API conventions — three factory shapes" for how
16
+ * this differs from pattern factories (../patterns) and eager runners.
7
17
  */
8
18
  export { oneShot, type OneShotOptions } from './one-shot.js';
9
19
  export { schedule, CronTrigger, type ScheduleSpec, type ScheduleOptions, } from './schedule.js';
10
- export { hook, HttpTrigger, type HookSpec, type HookOptions, } from './hook.js';
20
+ export { hook, HttpTrigger, HookValidationError, type HookSpec, type HookOptions, } from './hook.js';
11
21
  export type { ExtensionRegisterFn, HelperHandler, PipelineSpec, ThreadPhaseAPI, } from './types.js';
12
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
@@ -4,8 +4,18 @@
4
4
  * Each helper wraps a single handler function into a Phase, then returns
5
5
  * an `ExtensionRegisterFn` `(api) => void` that the CLI auto-loader picks
6
6
  * up via the file's default export. See each helper file for examples.
7
+ *
8
+ * # API convention
9
+ *
10
+ * Registration helpers use the shape `(spec/handler, options?) =>
11
+ * ExtensionRegisterFn`. The first arg is the meat (a spec object or the
12
+ * handler function); options are secondary. Pipeline name is auto-derived
13
+ * from the calling file via `deriveNameFromCaller`, so you don't pass one
14
+ * explicitly. This is the third of three factory categories in the public
15
+ * API — see AGENTS.md "API conventions — three factory shapes" for how
16
+ * this differs from pattern factories (../patterns) and eager runners.
7
17
  */
8
18
  export { oneShot } from './one-shot.js';
9
19
  export { schedule, CronTrigger, } from './schedule.js';
10
- export { hook, HttpTrigger, } from './hook.js';
20
+ export { hook, HttpTrigger, HookValidationError, } from './hook.js';
11
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,GAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,IAAI,EACJ,WAAW,GAGZ,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,GAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,mBAAmB,GAGpB,MAAM,WAAW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -19,8 +19,8 @@ export { runPipeline, runPipelineToSummary, type PipelineSummary, } from './orch
19
19
  export { requireCtx, type Phase, type BasePipelineContext, type PipelineEvent, } from './phase.js';
20
20
  export { type Message, type SystemMessage, type UserMessage, type AssistantMessage, type ToolResultMessage, type ToolCall, type ToolDefinition, type ToolResult, type ToolExecutor, } from './messages.js';
21
21
  export { loadInferenceConfig, createInferenceClient, type InferenceConfig, } from './inference.js';
22
- export { runAgentWithTools, parseJSON, type AgentConfig, type AgentRunnerOptions, type AgentRunResult, type ActivityEntry, type AgentStreamEvent, type FinishReason, type UsageInfo, } from './agent/index.js';
22
+ export { runAgentWithTools, parseJSON, parseJSONStrict, type AgentConfig, type AgentRunnerOptions, type AgentRunResult, type ActivityEntry, type AgentStreamEvent, type FinishReason, type UsageInfo, } from './agent/index.js';
23
23
  export { type JobStore, SqliteJobStore, JobRunner, type JobRecord, type EventRecord, type JobStatus, type ListJobsOptions, type LiveEvent, } from './session/index.js';
24
24
  export { ToolRegistry, type ToolHandler, type ToolRegistryOptions, } from './tools/index.js';
25
- export { oneShot, schedule, hook, CronTrigger, HttpTrigger, type OneShotOptions, type ScheduleSpec, type ScheduleOptions, type HookSpec, type HookOptions, type ExtensionRegisterFn, type HelperHandler, type PipelineSpec, type ThreadPhaseAPI, } from './helpers/index.js';
25
+ export { oneShot, schedule, hook, CronTrigger, HttpTrigger, HookValidationError, type OneShotOptions, type ScheduleSpec, type ScheduleOptions, type HookSpec, type HookOptions, type ExtensionRegisterFn, type HelperHandler, type PipelineSpec, type ThreadPhaseAPI, } from './helpers/index.js';
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,KAAK,QAAQ,EACb,cAAc,EACd,SAAS,EACT,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,KAAK,QAAQ,EACb,cAAc,EACd,SAAS,EACT,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ export { requireCtx, } from './phase.js';
21
21
  // Inference — convenience builders for an OpenAI-compatible client.
22
22
  export { loadInferenceConfig, createInferenceClient, } from './inference.js';
23
23
  // Agent runner — the iterated tool-use loop primitive.
24
- export { runAgentWithTools, parseJSON, } from './agent/index.js';
24
+ export { runAgentWithTools, parseJSON, parseJSONStrict, } from './agent/index.js';
25
25
  // Session — persisted event log + job runner. SqliteJobStore is the
26
26
  // bundled default; JobStore is the interface — bring your own backend if
27
27
  // needed. The interface is sync by deliberate choice for v1 (sqlite hot
@@ -33,5 +33,5 @@ export { ToolRegistry, } from './tools/index.js';
33
33
  // Helpers — one-call wrappers for the common Trigger + Pipeline shapes.
34
34
  // Each returns an `ExtensionRegisterFn` `(api) => void` consumable by the
35
35
  // CLI auto-loader.
36
- export { oneShot, schedule, hook, CronTrigger, HttpTrigger, } from './helpers/index.js';
36
+ export { oneShot, schedule, hook, CronTrigger, HttpTrigger, HookValidationError, } from './helpers/index.js';
37
37
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,kBAAkB;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,oBAAoB,GAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,GAIX,MAAM,YAAY,CAAC;AAiBpB,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,gBAAgB,CAAC;AAExB,uDAAuD;AACvD,OAAO,EACL,iBAAiB,EACjB,SAAS,GAQV,MAAM,kBAAkB,CAAC;AAE1B,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,wCAAwC;AACxC,OAAO,EAEL,cAAc,EACd,SAAS,GAMV,MAAM,oBAAoB,CAAC;AAE5B,gEAAgE;AAChE,kEAAkE;AAClE,OAAO,EACL,YAAY,GAGb,MAAM,kBAAkB,CAAC;AAE1B,wEAAwE;AACxE,0EAA0E;AAC1E,mBAAmB;AACnB,OAAO,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,WAAW,GAUZ,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,kBAAkB;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,oBAAoB,GAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,GAIX,MAAM,YAAY,CAAC;AAiBpB,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,gBAAgB,CAAC;AAExB,uDAAuD;AACvD,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,eAAe,GAQhB,MAAM,kBAAkB,CAAC;AAE1B,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,wCAAwC;AACxC,OAAO,EAEL,cAAc,EACd,SAAS,GAMV,MAAM,oBAAoB,CAAC;AAE5B,gEAAgE;AAChE,kEAAkE;AAClE,OAAO,EACL,YAAY,GAGb,MAAM,kBAAkB,CAAC;AAE1B,wEAAwE;AACxE,0EAA0E;AAC1E,mBAAmB;AACnB,OAAO,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,WAAW,EACX,mBAAmB,GAUpB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @internal — tolerant extraction of a string message from any thrown value.
3
+ *
4
+ * `try/catch` in TypeScript types the caught binding as `unknown`. Hot paths
5
+ * (agent runner, adapter shells, telemetry hooks) need a string to log, but
6
+ * casting to `{ message?: string }` is a quiet lie — it silences the
7
+ * compiler without checking what `err` actually is. When upstream code
8
+ * throws a string, a primitive, or an object whose `.message` is not a
9
+ * string, downstream `.slice()`/`.includes()`/etc. crash inside the error
10
+ * reporter and mask the original failure.
11
+ *
12
+ * Use this helper anywhere we need a string out of `unknown`:
13
+ * catch (err) {
14
+ * log({ detail: toErrorMessage(err).slice(0, 200) });
15
+ * }
16
+ *
17
+ * Mirrors the safety contract of agents/serialize-error.ts: MUST NOT throw.
18
+ */
19
+ export declare function toErrorMessage(err: unknown): string;
20
+ //# sourceMappingURL=error-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-message.d.ts","sourceRoot":"","sources":["../../src/internal/error-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAcnD"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @internal — tolerant extraction of a string message from any thrown value.
3
+ *
4
+ * `try/catch` in TypeScript types the caught binding as `unknown`. Hot paths
5
+ * (agent runner, adapter shells, telemetry hooks) need a string to log, but
6
+ * casting to `{ message?: string }` is a quiet lie — it silences the
7
+ * compiler without checking what `err` actually is. When upstream code
8
+ * throws a string, a primitive, or an object whose `.message` is not a
9
+ * string, downstream `.slice()`/`.includes()`/etc. crash inside the error
10
+ * reporter and mask the original failure.
11
+ *
12
+ * Use this helper anywhere we need a string out of `unknown`:
13
+ * catch (err) {
14
+ * log({ detail: toErrorMessage(err).slice(0, 200) });
15
+ * }
16
+ *
17
+ * Mirrors the safety contract of agents/serialize-error.ts: MUST NOT throw.
18
+ */
19
+ export function toErrorMessage(err) {
20
+ if (err instanceof Error) {
21
+ return err.message;
22
+ }
23
+ if (typeof err === 'string') {
24
+ return err;
25
+ }
26
+ // Object with a string-ish `.message` field — the common shape for
27
+ // SDK errors and wrapped throws across the JS ecosystem.
28
+ if (typeof err === 'object' && err !== null) {
29
+ const m = err.message;
30
+ if (typeof m === 'string')
31
+ return m;
32
+ }
33
+ return safeStringify(err);
34
+ }
35
+ /**
36
+ * Stringify an arbitrary value without ever propagating an exception.
37
+ * Hostile inputs — Proxies whose traps throw, objects with throwing
38
+ * `Symbol.toPrimitive` or `toString` — would otherwise crash this function.
39
+ *
40
+ * Duplicates the helper in agents/serialize-error.ts intentionally: that
41
+ * one is internal to error serialization; this module is internal to
42
+ * message extraction. Both must be standalone safety nets.
43
+ */
44
+ function safeStringify(v) {
45
+ try {
46
+ return String(v);
47
+ }
48
+ catch {
49
+ try {
50
+ return Object.prototype.toString.call(v);
51
+ }
52
+ catch {
53
+ return '<unserializable>';
54
+ }
55
+ }
56
+ }
57
+ //# sourceMappingURL=error-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-message.js","sourceRoot":"","sources":["../../src/internal/error-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,mEAAmE;IACnE,yDAAyD;IACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAI,GAA6B,CAAC,OAAO,CAAC;QACjD,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,kBAAkB,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @internal — shared abortable-sleep helper.
3
+ *
4
+ * Replaces `new Promise(r => setTimeout(r, ms))` everywhere a delay needs to
5
+ * honor an `AbortSignal`. Without this, cancellation has to wait for the
6
+ * full delay before surfacing — which makes retry backoffs, timer polling,
7
+ * and structured backoff loops un-cancellable in practice.
8
+ *
9
+ * Rejects with a `DOMException(name: 'AbortError')` when the signal aborts.
10
+ * Resolves normally when the timer elapses. Cleans up its listener in both
11
+ * paths so signals attached to long-lived AbortControllers don't leak.
12
+ *
13
+ * Not exported from the package surface. Pattern wrappers (with-retry,
14
+ * timer-trigger, agent runner) consume it directly.
15
+ */
16
+ export declare function abortableSleep(ms: number, signal?: AbortSignal): Promise<void>;
17
+ //# sourceMappingURL=sleep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../src/internal/sleep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @internal — shared abortable-sleep helper.
3
+ *
4
+ * Replaces `new Promise(r => setTimeout(r, ms))` everywhere a delay needs to
5
+ * honor an `AbortSignal`. Without this, cancellation has to wait for the
6
+ * full delay before surfacing — which makes retry backoffs, timer polling,
7
+ * and structured backoff loops un-cancellable in practice.
8
+ *
9
+ * Rejects with a `DOMException(name: 'AbortError')` when the signal aborts.
10
+ * Resolves normally when the timer elapses. Cleans up its listener in both
11
+ * paths so signals attached to long-lived AbortControllers don't leak.
12
+ *
13
+ * Not exported from the package surface. Pattern wrappers (with-retry,
14
+ * timer-trigger, agent runner) consume it directly.
15
+ */
16
+ export function abortableSleep(ms, signal) {
17
+ if (signal?.aborted) {
18
+ return Promise.reject(toAbortError(signal.reason));
19
+ }
20
+ return new Promise((resolve, reject) => {
21
+ const timer = setTimeout(() => {
22
+ signal?.removeEventListener('abort', onAbort);
23
+ resolve();
24
+ }, ms);
25
+ const onAbort = () => {
26
+ clearTimeout(timer);
27
+ reject(toAbortError(signal?.reason));
28
+ };
29
+ signal?.addEventListener('abort', onAbort, { once: true });
30
+ });
31
+ }
32
+ function toAbortError(reason) {
33
+ // Prefer the native DOMException(AbortError) so callers using
34
+ // `e.name === 'AbortError'` (the platform idiom) keep working.
35
+ if (typeof DOMException === 'function') {
36
+ const message = typeof reason === 'string'
37
+ ? reason
38
+ : reason instanceof Error
39
+ ? reason.message
40
+ : 'aborted';
41
+ return new DOMException(message, 'AbortError');
42
+ }
43
+ const err = new Error(typeof reason === 'string'
44
+ ? reason
45
+ : reason instanceof Error
46
+ ? reason.message
47
+ : 'aborted');
48
+ err.name = 'AbortError';
49
+ return err;
50
+ }
51
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/internal/sleep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,UAAU,cAAc,CAC5B,EAAU,EACV,MAAoB;IAEpB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,MAAe;IACnC,8DAA8D;IAC9D,+DAA+D;IAC/D,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,YAAY,KAAK;gBACvB,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,SAAS,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,YAAY,KAAK;YACvB,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,SAAS,CAChB,CAAC;IACF,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -59,6 +59,16 @@ export interface ToolResult {
59
59
  content: string;
60
60
  }
61
61
  export interface ToolExecutor {
62
- execute(name: string, toolCallId: string, args: Record<string, unknown>): Promise<ToolResult>;
62
+ /**
63
+ * Dispatch a tool call. `signal` is the agent runner's AbortSignal — when
64
+ * the run is cancelled, long-running tools (HTTP calls, shell commands,
65
+ * file I/O) can observe this to bail cooperatively rather than running
66
+ * to completion before the next agent round checks for cancellation.
67
+ *
68
+ * Implementations may ignore `signal` for synchronous or fast tools;
69
+ * the parameter is optional for backwards compatibility with executors
70
+ * authored before v3.4.0.
71
+ */
72
+ execute(name: string, toolCallId: string, args: Record<string, unknown>, signal?: AbortSignal): Promise<ToolResult>;
63
73
  }
64
74
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,QAAQ;IACvB,oFAAoF;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAMD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAMzF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAMD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC/F"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,QAAQ;IACvB,oFAAoF;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAMD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAMzF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAMD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;OASG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
@@ -41,7 +41,7 @@ export interface RunPipelineOptions {
41
41
  */
42
42
  signal?: AbortSignal;
43
43
  }
44
- export declare function runPipeline<TCtx extends BasePipelineContext, TEvent = PipelineEvent>(phases: ReadonlyArray<Phase<TCtx, TEvent>>, ctx: TCtx, options?: RunPipelineOptions): AsyncGenerator<TEvent, void>;
44
+ export declare function runPipeline<TCtx extends BasePipelineContext, TEvent = PipelineEvent>(phases: ReadonlyArray<Phase<TCtx, TEvent>>, ctx: TCtx, options?: RunPipelineOptions): AsyncGenerator<TEvent | PipelineEvent, void>;
45
45
  /**
46
46
  * Consume `runPipeline` to completion and return a typed summary.
47
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,wBAAuB,WAAW,CAChC,IAAI,SAAS,mBAAmB,EAChC,MAAM,GAAG,aAAa,EAEtB,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAC1C,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAqB9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,SAAS,mBAAmB,EAChC,MAAM,SAAS,aAAa,GAAG,aAAa,EAE5C,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAC1C,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAY1B"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG5E;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,wBAAuB,WAAW,CAChC,IAAI,SAAS,mBAAmB,EAChC,MAAM,GAAG,aAAa,EAEtB,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAC1C,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,kBAAkB,GAO3B,cAAc,CAAC,MAAM,GAAG,aAAa,EAAE,IAAI,CAAC,CAsC9C;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,SAAS,mBAAmB,EAChC,MAAM,SAAS,aAAa,GAAG,aAAa,EAE5C,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAC1C,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAY1B"}
@@ -14,12 +14,31 @@
14
14
  * framework's `done`/`error` shapes (see PipelineEvent), so the simplest
15
15
  * downstream pattern is `type MyEvent = PipelineEvent | { type: 'mine' };`.
16
16
  */
17
+ import { toErrorMessage } from './internal/error-message.js';
17
18
  export async function* runPipeline(phases, ctx, options) {
18
- const signal = options?.signal;
19
+ // Signal resolution: options.signal wins if provided; otherwise honor a
20
+ // pre-set ctx.signal (callers that already populated ctx — including
21
+ // run-trigger and tests building ctx by hand). Whichever wins is assigned
22
+ // back to ctx so phases observing ctx.signal see the same value the
23
+ // orchestrator uses for its between-phase abort check.
24
+ const signal = options?.signal ?? ctx.signal;
25
+ ctx.signal = signal;
19
26
  try {
20
27
  for (const phase of phases) {
21
28
  if (signal?.aborted) {
22
- const reason = signal.reason ?? 'aborted';
29
+ // AbortSignal.reason is `any` per spec — most callers pass strings,
30
+ // many pass Error instances, and SDKs occasionally pass arbitrary
31
+ // objects. toErrorMessage extracts a string from any of these
32
+ // without destroying diagnostic information (vs. the prior
33
+ // `as string` cast that silently coerced non-strings to 'aborted').
34
+ const reason = signal.reason === undefined
35
+ ? 'aborted'
36
+ : toErrorMessage(signal.reason);
37
+ // Emit a canonical terminal frame BEFORE throwing so for-await
38
+ // consumers (SSE bridges, audit logs) can record the lifecycle
39
+ // cleanly. Promise-style consumers still observe AbortError via
40
+ // the throw on the next iteration.
41
+ yield { type: 'cancelled', reason };
23
42
  const err = new Error(`runPipeline aborted: ${reason}`);
24
43
  err.name = 'AbortError';
25
44
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAgCH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAIhC,MAA0C,EAC1C,GAAS,EACT,OAA4B;IAE5B,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,MAAM,GACT,MAAM,CAAC,MAA6B,IAAI,SAAS,CAAC;gBACrD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;gBACxD,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAuB,CAAC;gBACrE,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAuB,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAIxC,MAA0C,EAC1C,GAAS,EACT,OAA4B;IAE5B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAA8B,CAAC;IACnC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAe,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1E,UAAU,EAAE,CAAC;QACb,IAAK,KAAuB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7C,UAAU,GAAI,KAA6B,CAAC,MAAM,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,UAAU,KAAK,SAAS;QAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;QACvD,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AA8B7D,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAIhC,MAA0C,EAC1C,GAAS,EACT,OAA4B;IAQ5B,wEAAwE;IACxE,qEAAqE;IACrE,0EAA0E;IAC1E,oEAAoE;IACpE,uDAAuD;IACvD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IAC7C,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,oEAAoE;gBACpE,kEAAkE;gBAClE,8DAA8D;gBAC9D,2DAA2D;gBAC3D,oEAAoE;gBACpE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS;oBACxC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,+DAA+D;gBAC/D,+DAA+D;gBAC/D,gEAAgE;gBAChE,mCAAmC;gBACnC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;gBACxD,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAIxC,MAA0C,EAC1C,GAAS,EACT,OAA4B;IAE5B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAA8B,CAAC;IACnC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAe,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1E,UAAU,EAAE,CAAC;QACb,IAAK,KAAuB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7C,UAAU,GAAI,KAA6B,CAAC,MAAM,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,UAAU,KAAK,SAAS;QAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;QACvD,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC"}
@@ -19,12 +19,11 @@
19
19
  * form is more direct. When you have one item, just call the adapter
20
20
  * directly.
21
21
  *
22
- * @internal — exported via thread-phase/patterns
22
+ * Stable surface — exported via thread-phase/patterns; covered by semver.
23
23
  */
24
24
  import type { AgentAdapterMeta, AgentEventBus, AgentRunResult } from '../agents/protocol.js';
25
- /** Per-item failure handling. Mirrors boundedFanout's mode. @internal */
25
+ /** Per-item failure handling. Mirrors boundedFanout's mode. */
26
26
  export type BoundedFanoutOfMode = 'fail-fast' | 'collect';
27
- /** @internal */
28
27
  export interface BoundedFanoutOfOptions<TItem, TConfig> {
29
28
  items: ReadonlyArray<TItem>;
30
29
  concurrency: number;
@@ -48,11 +47,8 @@ export interface BoundedFanoutOfOptions<TItem, TConfig> {
48
47
  * error results (finishReason: 'error') and the batch completes. In
49
48
  * `fail-fast` (default), the first failure cancels in-flight runs and
50
49
  * the function rejects with an Error wrapping the failed item.
51
- *
52
- * @internal
53
50
  */
54
51
  export declare function boundedFanoutOf<TItem, TConfig>(opts: BoundedFanoutOfOptions<TItem, TConfig>): Promise<AgentRunResult[]>;
55
- /** @internal */
56
52
  export declare class BoundedFanoutOfError extends Error {
57
53
  itemIndex: number;
58
54
  result: AgentRunResult;
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-fanout-of.d.ts","sourceRoot":"","sources":["../../src/patterns/bounded-fanout-of.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EAEb,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1D,gBAAgB;AAChB,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO;IACpD,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,oEAAoE;IACpE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5E;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,EAClD,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,GAC3C,OAAO,CAAC,cAAc,EAAE,CAAC,CA4G3B;AAED,gBAAgB;AAChB,qBAAa,oBAAqB,SAAQ,KAAK;IAEpC,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,cAAc;gBADtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc;CAKhC"}
1
+ {"version":3,"file":"bounded-fanout-of.d.ts","sourceRoot":"","sources":["../../src/patterns/bounded-fanout-of.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EAEb,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1D,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO;IACpD,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,oEAAoE;IACpE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5E;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,EAClD,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,GAC3C,OAAO,CAAC,cAAc,EAAE,CAAC,CAsH3B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAEpC,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,cAAc;gBADtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc;CAKhC"}