@autonome-research/thread-phase 3.3.0 → 4.0.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.
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/parse-json.d.ts +12 -0
- package/dist/agent/parse-json.d.ts.map +1 -1
- package/dist/agent/parse-json.js +24 -7
- package/dist/agent/parse-json.js.map +1 -1
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +16 -12
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent-runner.d.ts +1 -1
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +1 -1
- package/dist/agent-runner.js.map +1 -1
- package/dist/agents/authoring/index.d.ts +49 -0
- package/dist/agents/authoring/index.d.ts.map +1 -0
- package/dist/agents/authoring/index.js +56 -0
- package/dist/agents/authoring/index.js.map +1 -0
- package/dist/agents/event-bus.d.ts +0 -2
- package/dist/agents/event-bus.d.ts.map +1 -1
- package/dist/agents/event-bus.js +0 -2
- package/dist/agents/event-bus.js.map +1 -1
- package/dist/agents/index.d.ts +19 -9
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +25 -15
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/inference-adapter.d.ts +0 -3
- package/dist/agents/inference-adapter.d.ts.map +1 -1
- package/dist/agents/inference-adapter.js +0 -2
- package/dist/agents/inference-adapter.js.map +1 -1
- package/dist/agents/job-store-bridge.d.ts +0 -3
- package/dist/agents/job-store-bridge.d.ts.map +1 -1
- package/dist/agents/job-store-bridge.js +0 -2
- package/dist/agents/job-store-bridge.js.map +1 -1
- package/dist/agents/memory.d.ts +0 -3
- package/dist/agents/memory.d.ts.map +1 -1
- package/dist/agents/memory.js +0 -1
- package/dist/agents/memory.js.map +1 -1
- package/dist/agents/protocol.d.ts +0 -15
- package/dist/agents/protocol.d.ts.map +1 -1
- package/dist/agents/protocol.js +0 -3
- package/dist/agents/protocol.js.map +1 -1
- package/dist/agents/structured-output.d.ts +16 -5
- package/dist/agents/structured-output.d.ts.map +1 -1
- package/dist/agents/structured-output.js +16 -3
- package/dist/agents/structured-output.js.map +1 -1
- package/dist/agents/thread.d.ts +0 -7
- package/dist/agents/thread.d.ts.map +1 -1
- package/dist/agents/thread.js +0 -6
- package/dist/agents/thread.js.map +1 -1
- package/dist/agents/with-memory.d.ts +0 -3
- package/dist/agents/with-memory.d.ts.map +1 -1
- package/dist/agents/with-memory.js +0 -2
- package/dist/agents/with-memory.js.map +1 -1
- package/dist/agents/with-thread.d.ts +0 -3
- package/dist/agents/with-thread.d.ts.map +1 -1
- package/dist/agents/with-thread.js +0 -2
- package/dist/agents/with-thread.js.map +1 -1
- package/dist/helpers/hook.d.ts +34 -2
- package/dist/helpers/hook.d.ts.map +1 -1
- package/dist/helpers/hook.js +72 -5
- package/dist/helpers/hook.js.map +1 -1
- package/dist/helpers/index.d.ts +11 -1
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +11 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/error-message.d.ts +20 -0
- package/dist/internal/error-message.d.ts.map +1 -0
- package/dist/internal/error-message.js +57 -0
- package/dist/internal/error-message.js.map +1 -0
- package/dist/messages.d.ts +11 -1
- package/dist/messages.d.ts.map +1 -1
- package/dist/orchestrator.d.ts +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +14 -1
- package/dist/orchestrator.js.map +1 -1
- package/dist/patterns/bounded-fanout-of.d.ts +2 -6
- package/dist/patterns/bounded-fanout-of.d.ts.map +1 -1
- package/dist/patterns/bounded-fanout-of.js +1 -4
- package/dist/patterns/bounded-fanout-of.js.map +1 -1
- package/dist/patterns/index.d.ts +22 -0
- package/dist/patterns/index.d.ts.map +1 -1
- package/dist/patterns/index.js +22 -0
- package/dist/patterns/index.js.map +1 -1
- package/dist/phase.d.ts +3 -0
- package/dist/phase.d.ts.map +1 -1
- package/dist/phase.js.map +1 -1
- package/dist/session/sse.d.ts +5 -1
- package/dist/session/sse.d.ts.map +1 -1
- package/dist/session/sse.js +56 -16
- package/dist/session/sse.js.map +1 -1
- package/dist/tools/registry.d.ts +6 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +2 -2
- package/dist/tools/registry.js.map +1 -1
- package/package.json +2 -1
package/dist/helpers/hook.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/helpers/hook.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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(
|
|
215
|
-
httpTrig.resolveResponse(
|
|
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(
|
|
290
|
+
httpTrig.rejectResponse(eventId, err instanceof Error ? err : new Error(toErrorMessage(err)));
|
|
224
291
|
throw err;
|
|
225
292
|
}
|
|
226
293
|
},
|
package/dist/helpers/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/helpers/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AAEjG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/helpers/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/helpers/index.js
CHANGED
|
@@ -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
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/messages.d.ts
CHANGED
|
@@ -59,6 +59,16 @@ export interface ToolResult {
|
|
|
59
59
|
content: string;
|
|
60
60
|
}
|
|
61
61
|
export interface ToolExecutor {
|
|
62
|
-
|
|
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
|
package/dist/messages.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/orchestrator.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/orchestrator.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
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
19
|
// Signal resolution: options.signal wins if provided; otherwise honor a
|
|
19
20
|
// pre-set ctx.signal (callers that already populated ctx — including
|
|
@@ -25,7 +26,19 @@ export async function* runPipeline(phases, ctx, options) {
|
|
|
25
26
|
try {
|
|
26
27
|
for (const phase of phases) {
|
|
27
28
|
if (signal?.aborted) {
|
|
28
|
-
|
|
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 };
|
|
29
42
|
const err = new Error(`runPipeline aborted: ${reason}`);
|
|
30
43
|
err.name = 'AbortError';
|
|
31
44
|
throw err;
|
package/dist/orchestrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
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
|
-
*
|
|
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.
|
|
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
|
|
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"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* form is more direct. When you have one item, just call the adapter
|
|
20
20
|
* directly.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
22
|
+
* Stable surface — exported via thread-phase/patterns; covered by semver.
|
|
23
23
|
*/
|
|
24
24
|
/**
|
|
25
25
|
* Run an adapter over N items with capped concurrency. Returns results in
|
|
@@ -27,8 +27,6 @@
|
|
|
27
27
|
* error results (finishReason: 'error') and the batch completes. In
|
|
28
28
|
* `fail-fast` (default), the first failure cancels in-flight runs and
|
|
29
29
|
* the function rejects with an Error wrapping the failed item.
|
|
30
|
-
*
|
|
31
|
-
* @internal
|
|
32
30
|
*/
|
|
33
31
|
export async function boundedFanoutOf(opts) {
|
|
34
32
|
const items = opts.items;
|
|
@@ -126,7 +124,6 @@ export async function boundedFanoutOf(opts) {
|
|
|
126
124
|
}
|
|
127
125
|
return results;
|
|
128
126
|
}
|
|
129
|
-
/** @internal */
|
|
130
127
|
export class BoundedFanoutOfError extends Error {
|
|
131
128
|
itemIndex;
|
|
132
129
|
result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounded-fanout-of.js","sourceRoot":"","sources":["../../src/patterns/bounded-fanout-of.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"bounded-fanout-of.js","sourceRoot":"","sources":["../../src/patterns/bounded-fanout-of.ts"],"names":[],"mappings":"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"}
|
package/dist/patterns/index.d.ts
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reusable phase patterns. Each pattern is a small, opinionated helper that
|
|
3
3
|
* captures a recurring shape — not a black-box framework. Compose freely.
|
|
4
|
+
*
|
|
5
|
+
* # API convention
|
|
6
|
+
*
|
|
7
|
+
* Patterns in this barrel use ONE of two signature shapes — pick the one
|
|
8
|
+
* that matches what the pattern returns:
|
|
9
|
+
*
|
|
10
|
+
* - Pattern factories: (name: string, options) => Phase<TCtx>
|
|
11
|
+
* parallelPhases, intentGate, match, whileCondition, subPipeline.
|
|
12
|
+
* Use when you return a Phase. The `name` survives into telemetry
|
|
13
|
+
* and event metadata.
|
|
14
|
+
*
|
|
15
|
+
* - Eager runners: (options) => Promise<T>
|
|
16
|
+
* boundedFanout, boundedFanoutOf.
|
|
17
|
+
* Use when the function executes immediately and returns a Promise.
|
|
18
|
+
* No `name` because there's no Phase identity to attach.
|
|
19
|
+
*
|
|
20
|
+
* `withRetry` is a Phase WRAPPER — (innerPhase, options) => Phase<TCtx> —
|
|
21
|
+
* a minor variant of the factory shape that takes the wrapped phase first.
|
|
22
|
+
*
|
|
23
|
+
* Registration helpers (oneShot/schedule/hook in ../helpers) form a third
|
|
24
|
+
* category with their own convention. See AGENTS.md "API conventions —
|
|
25
|
+
* three factory shapes" for the full rationale.
|
|
4
26
|
*/
|
|
5
27
|
export { parallelPhases } from './parallel-phases.js';
|
|
6
28
|
export { boundedFanout, type BoundedFanOutOptions, type ItemDoneEvent, type ItemErrorEvent, type FanOutResult, } from './bounded-fanout.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/patterns/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/patterns/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EACL,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,EACL,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC"}
|