@mono-agent/webhook-adapter 0.3.0 → 0.4.1

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/server.js CHANGED
@@ -2,7 +2,7 @@ import { randomUUID } from "node:crypto";
2
2
  import { createServer } from "node:http";
3
3
  import { dirname } from "node:path/posix";
4
4
  import { BufferedMessageStream, isAgentResponseCancelledError, } from "@mono-agent/agent-contracts";
5
- import { assertSafeBind, close, hostForUrl, listen, } from "@mono-agent/settings";
5
+ import { assertSafeBind, close, hostForUrl, listen, } from "@mono-agent/agent-contracts";
6
6
  import express, {} from "express";
7
7
  export class WebhookAdapterError extends Error {
8
8
  code;
@@ -24,37 +24,44 @@ export async function startWebhookAdapter(options) {
24
24
  validateOptions(options);
25
25
  const host = options.host ?? DEFAULT_HOST;
26
26
  const port = options.port ?? DEFAULT_PORT;
27
- const path = normalizePath(options.path ?? DEFAULT_PATH);
28
27
  const retentionMs = options.retentionMs ?? DEFAULT_RETENTION_MS;
29
28
  const maxStoredRequests = options.maxStoredRequests ?? DEFAULT_MAX_STORED_REQUESTS;
30
- const defaultMode = options.defaultMode ?? DEFAULT_MODE;
29
+ const endpoints = resolveEndpoints(options);
31
30
  assertSafeBind(host, options.allowNonLoopback === true, (boundHost) => new WebhookAdapterError("unsafe_host", "Webhook adapter refuses to bind a non-loopback host unless allowNonLoopback is true.", { host: boundHost }));
32
31
  const app = express();
33
32
  const server = createServer(app);
34
- const activeByConversation = new Map();
33
+ // Active runs are keyed by `${endpoint.name}:${conversationId}` so the same
34
+ // conversation can be in-flight on two different endpoints without a false 409.
35
+ const activeByRun = new Map();
35
36
  const statuses = new Map();
36
- const statusBasePath = `${dirname(path) === "/" ? "" : dirname(path)}/requests`;
37
37
  app.use(express.json({ limit: "1mb" }));
38
- app.post(path, (req, res) => {
39
- void handleInvoke(req, res).catch((error) => {
40
- options.logger?.error?.("Webhook invocation failed before response.", {
41
- error: errorToMessage(error),
38
+ for (const endpoint of endpoints) {
39
+ app.post(endpoint.path, (req, res) => {
40
+ void handleInvoke(req, res, endpoint).catch((error) => {
41
+ options.logger?.error?.("Webhook invocation failed before response.", {
42
+ endpoint: endpoint.name,
43
+ error: errorToMessage(error),
44
+ });
45
+ if (!res.headersSent) {
46
+ res.status(500).json({ status: "failed", error: errorToMessage(error) });
47
+ }
42
48
  });
43
- if (!res.headersSent) {
44
- res.status(500).json({ status: "failed", error: errorToMessage(error) });
49
+ });
50
+ }
51
+ // Register one status route per UNIQUE base path (endpoints sharing a parent
52
+ // directory share a status route; lookups hit the shared, requestId-keyed store).
53
+ for (const statusBasePath of new Set(endpoints.map((endpoint) => endpoint.statusBasePath))) {
54
+ app.get(`${statusBasePath}/:requestId`, (req, res) => {
55
+ pruneStatuses(statuses, retentionMs, maxStoredRequests);
56
+ const requestId = req.params.requestId;
57
+ const stored = requestId === undefined ? undefined : statuses.get(requestId);
58
+ if (stored === undefined) {
59
+ res.status(404).json({ status: "not_found", requestId });
60
+ return;
45
61
  }
62
+ res.status(200).json(stored.status);
46
63
  });
47
- });
48
- app.get(`${statusBasePath}/:requestId`, (req, res) => {
49
- pruneStatuses(statuses, retentionMs, maxStoredRequests);
50
- const requestId = req.params.requestId;
51
- const stored = requestId === undefined ? undefined : statuses.get(requestId);
52
- if (stored === undefined) {
53
- res.status(404).json({ status: "not_found", requestId });
54
- return;
55
- }
56
- res.status(200).json(stored.status);
57
- });
64
+ }
58
65
  app.use((error, _req, res, next) => {
59
66
  if (res.headersSent) {
60
67
  next(error);
@@ -68,17 +75,18 @@ export async function startWebhookAdapter(options) {
68
75
  });
69
76
  const boundPort = address.port;
70
77
  const url = `http://${hostForUrl(host)}:${boundPort}`;
71
- async function handleInvoke(req, res) {
78
+ async function handleInvoke(req, res, endpoint) {
72
79
  pruneStatuses(statuses, retentionMs, maxStoredRequests);
73
80
  const requestId = randomUUID();
74
81
  const receivedAt = new Date().toISOString();
75
82
  const body = normalizeBody(req.body, {
76
83
  requestId,
77
- defaultMode,
84
+ defaultMode: endpoint.mode,
78
85
  });
79
- const statusUrl = `${statusBasePath}/${requestId}`;
86
+ const statusUrl = `${endpoint.statusBasePath}/${requestId}`;
87
+ const runKey = `${endpoint.name}:${body.conversationId}`;
80
88
  const controller = new AbortController();
81
- if (activeByConversation.has(body.conversationId)) {
89
+ if (activeByRun.has(runKey)) {
82
90
  const busy = {
83
91
  status: "busy",
84
92
  requestId,
@@ -89,7 +97,7 @@ export async function startWebhookAdapter(options) {
89
97
  return;
90
98
  }
91
99
  const active = { controller, requestId };
92
- activeByConversation.set(body.conversationId, active);
100
+ activeByRun.set(runKey, active);
93
101
  const startedAt = new Date().toISOString();
94
102
  const running = {
95
103
  status: "running",
@@ -102,11 +110,12 @@ export async function startWebhookAdapter(options) {
102
110
  setStatus(statuses, running, retentionMs, maxStoredRequests);
103
111
  const request = {
104
112
  conversationId: body.conversationId,
105
- text: body.text,
113
+ text: composePromptText(endpoint.prompt, body.text),
106
114
  abortSignal: controller.signal,
107
115
  metadata: {
108
116
  webhook: {
109
117
  requestId,
118
+ endpointName: endpoint.name,
110
119
  mode: body.mode,
111
120
  method: req.method,
112
121
  path: req.path,
@@ -114,6 +123,17 @@ export async function startWebhookAdapter(options) {
114
123
  ...(req.socket.remoteAddress === undefined ? {} : { remoteAddress: req.socket.remoteAddress }),
115
124
  headers: req.headers,
116
125
  ...(body.metadata === undefined ? {} : { payloadMetadata: body.metadata }),
126
+ ...(endpoint.notify === true
127
+ ? {
128
+ nativeNotify: {
129
+ enabled: true,
130
+ ...(endpoint.notifyConversationId === undefined ? {} : { conversationId: endpoint.notifyConversationId }),
131
+ },
132
+ }
133
+ : {}),
134
+ // Precedence: request body model/effort win over the endpoint config defaults.
135
+ ...((body.model ?? endpoint.model) === undefined ? {} : { model: body.model ?? endpoint.model }),
136
+ ...((body.effort ?? endpoint.effort) === undefined ? {} : { effort: body.effort ?? endpoint.effort }),
117
137
  },
118
138
  },
119
139
  };
@@ -125,7 +145,7 @@ export async function startWebhookAdapter(options) {
125
145
  statusUrl,
126
146
  receivedAt,
127
147
  });
128
- void runResponder({ request, statusUrl, receivedAt, startedAt, statuses, activeByConversation, active, options, retentionMs, maxStoredRequests });
148
+ void runResponder({ request, statusUrl, receivedAt, startedAt, statuses, activeByRun, runKey, active, options, retentionMs, maxStoredRequests });
129
149
  return;
130
150
  }
131
151
  res.once("close", () => {
@@ -133,7 +153,7 @@ export async function startWebhookAdapter(options) {
133
153
  controller.abort(new Error("Webhook client disconnected."));
134
154
  }
135
155
  });
136
- const status = await runResponder({ request, statusUrl, receivedAt, startedAt, statuses, activeByConversation, active, options, retentionMs, maxStoredRequests });
156
+ const status = await runResponder({ request, statusUrl, receivedAt, startedAt, statuses, activeByRun, runKey, active, options, retentionMs, maxStoredRequests });
137
157
  if (status.status === "succeeded") {
138
158
  res.status(200).json(status);
139
159
  return;
@@ -144,23 +164,31 @@ export async function startWebhookAdapter(options) {
144
164
  }
145
165
  res.status(500).json(status);
146
166
  }
167
+ const endpointSummaries = endpoints.map((endpoint) => ({
168
+ name: endpoint.name,
169
+ path: endpoint.path,
170
+ invokeUrl: `${url}${endpoint.path}`,
171
+ statusBasePath: endpoint.statusBasePath,
172
+ mode: endpoint.mode,
173
+ }));
147
174
  return {
148
175
  url,
149
- invokeUrl: `${url}${path}`,
150
- statusBasePath,
176
+ invokeUrl: endpointSummaries[0]?.invokeUrl ?? url,
177
+ statusBasePath: endpointSummaries[0]?.statusBasePath ?? "/requests",
151
178
  host,
152
179
  port: boundPort,
180
+ endpoints: endpointSummaries,
153
181
  get activeRequestCount() {
154
- return activeByConversation.size;
182
+ return activeByRun.size;
155
183
  },
156
184
  getStatus(requestId) {
157
185
  return statuses.get(requestId)?.status;
158
186
  },
159
187
  async stop() {
160
- for (const active of activeByConversation.values()) {
188
+ for (const active of activeByRun.values()) {
161
189
  active.controller.abort(new Error("Webhook adapter stopped."));
162
190
  }
163
- activeByConversation.clear();
191
+ activeByRun.clear();
164
192
  await close(server);
165
193
  },
166
194
  };
@@ -170,23 +198,75 @@ async function runResponder(input) {
170
198
  onClosed: () => new WebhookAdapterError("invalid_config", "Cannot write to a finished webhook stream."),
171
199
  });
172
200
  let status;
201
+ // Max-run watchdog (mirrors the cron adapter): bound the run so a responder
202
+ // that hangs — especially in async mode, where there is no client to
203
+ // disconnect — cannot hold the conversation's slot (activeByRun) forever. On
204
+ // timeout we abort the request signal AND win the race below, so the slot is
205
+ // reclaimed even if the responder never settles.
206
+ const maxRunMs = input.options.maxRunMs;
207
+ let timedOut = false;
208
+ let watchdog;
173
209
  try {
174
- const response = await input.options.responder.respond(input.request, stream);
175
- await stream.finish(response.text);
176
- status = {
177
- status: "succeeded",
178
- requestId: input.active.requestId,
179
- conversationId: input.request.conversationId,
180
- statusUrl: input.statusUrl,
181
- receivedAt: input.receivedAt,
182
- startedAt: input.startedAt,
183
- completedAt: new Date().toISOString(),
184
- ...(stream.text.length === 0 ? {} : { text: stream.text }),
185
- ...(response.metadata === undefined ? {} : { metadata: response.metadata }),
186
- };
210
+ const respondPromise = (async () => {
211
+ const result = await input.options.responder.respond(input.request, stream);
212
+ await stream.finish(result.text);
213
+ return result;
214
+ })();
215
+ // If the timeout wins the race, the responder promise may reject later (on
216
+ // the abort) with nobody awaiting it — attach a no-op handler so that does
217
+ // not surface as an unhandled rejection.
218
+ void respondPromise.catch(() => undefined);
219
+ let response;
220
+ if (maxRunMs !== undefined && maxRunMs > 0) {
221
+ const timeoutPromise = new Promise((_resolve, reject) => {
222
+ watchdog = setTimeout(() => {
223
+ timedOut = true;
224
+ input.active.controller.abort(new Error(`Webhook run exceeded maxRunMs (${maxRunMs}ms).`));
225
+ reject(new Error(`Webhook run timed out after ${maxRunMs}ms.`));
226
+ }, maxRunMs);
227
+ watchdog.unref?.();
228
+ });
229
+ response = await Promise.race([respondPromise, timeoutPromise]);
230
+ }
231
+ else {
232
+ response = await respondPromise;
233
+ }
234
+ if (input.request.abortSignal.aborted) {
235
+ // The responder resolved but the run was aborted in flight (client
236
+ // disconnect or a maxRunMs the responder ignored): report it as cancelled,
237
+ // not succeeded. Mirrors the cron adapter's post-run abort guard.
238
+ status = {
239
+ status: "cancelled",
240
+ requestId: input.active.requestId,
241
+ conversationId: input.request.conversationId,
242
+ statusUrl: input.statusUrl,
243
+ receivedAt: input.receivedAt,
244
+ startedAt: input.startedAt,
245
+ completedAt: new Date().toISOString(),
246
+ error: "Webhook run was aborted before completion.",
247
+ };
248
+ input.options.logger?.warn?.("Webhook responder resolved after an abort; reporting cancelled.", {
249
+ requestId: input.active.requestId,
250
+ conversationId: input.request.conversationId,
251
+ });
252
+ }
253
+ else {
254
+ status = {
255
+ status: "succeeded",
256
+ requestId: input.active.requestId,
257
+ conversationId: input.request.conversationId,
258
+ statusUrl: input.statusUrl,
259
+ receivedAt: input.receivedAt,
260
+ startedAt: input.startedAt,
261
+ completedAt: new Date().toISOString(),
262
+ ...(stream.text.length === 0 ? {} : { text: stream.text }),
263
+ ...(response.metadata === undefined ? {} : { metadata: response.metadata }),
264
+ };
265
+ }
187
266
  }
188
267
  catch (error) {
189
- const cancelled = input.request.abortSignal.aborted || isAgentResponseCancelledError(error);
268
+ // A watchdog timeout is a server-imposed failure, not a user cancel.
269
+ const cancelled = !timedOut && (input.request.abortSignal.aborted || isAgentResponseCancelledError(error));
190
270
  status = {
191
271
  status: cancelled ? "cancelled" : "failed",
192
272
  requestId: input.active.requestId,
@@ -195,7 +275,9 @@ async function runResponder(input) {
195
275
  receivedAt: input.receivedAt,
196
276
  startedAt: input.startedAt,
197
277
  completedAt: new Date().toISOString(),
198
- error: errorToMessage(error),
278
+ error: timedOut
279
+ ? `Webhook run timed out after ${String(maxRunMs)}ms (responder did not settle); reclaiming the slot.`
280
+ : errorToMessage(error),
199
281
  };
200
282
  input.options.logger?.[cancelled ? "warn" : "error"]?.("Webhook responder failed.", {
201
283
  requestId: input.active.requestId,
@@ -204,13 +286,37 @@ async function runResponder(input) {
204
286
  });
205
287
  }
206
288
  finally {
207
- if (input.activeByConversation.get(input.request.conversationId) === input.active) {
208
- input.activeByConversation.delete(input.request.conversationId);
289
+ if (watchdog !== undefined) {
290
+ clearTimeout(watchdog);
291
+ }
292
+ if (input.activeByRun.get(input.runKey) === input.active) {
293
+ input.activeByRun.delete(input.runKey);
209
294
  }
210
295
  }
211
296
  setStatus(input.statuses, status, input.retentionMs, input.maxStoredRequests);
297
+ emitResult(input, status);
212
298
  return status;
213
299
  }
300
+ function emitResult(input, status) {
301
+ try {
302
+ const result = input.options.onResult?.(status, input.request);
303
+ if (result !== undefined) {
304
+ void Promise.resolve(result).catch((error) => {
305
+ logResultHookFailure(input, error);
306
+ });
307
+ }
308
+ }
309
+ catch (error) {
310
+ logResultHookFailure(input, error);
311
+ }
312
+ }
313
+ function logResultHookFailure(input, error) {
314
+ input.options.logger?.warn?.("Webhook onResult callback failed.", {
315
+ requestId: input.active.requestId,
316
+ conversationId: input.request.conversationId,
317
+ error: errorToMessage(error),
318
+ });
319
+ }
214
320
  function normalizeBody(body, input) {
215
321
  if (!isRecord(body)) {
216
322
  throw new WebhookAdapterError("invalid_config", "Webhook body must be a JSON object.");
@@ -224,11 +330,15 @@ function normalizeBody(body, input) {
224
330
  throw new WebhookAdapterError("invalid_config", "Webhook mode must be sync or async.");
225
331
  }
226
332
  const rawConversationId = normalizeOptionalString(body.conversationId);
333
+ const model = normalizeOptionalString(body.model);
334
+ const effort = normalizeOptionalString(body.effort);
227
335
  return {
228
336
  text,
229
337
  conversationId: rawConversationId ?? `webhook:${input.requestId}`,
230
338
  mode,
231
339
  ...(body.metadata === undefined ? {} : { metadata: body.metadata }),
340
+ ...(model === undefined ? {} : { model }),
341
+ ...(effort === undefined ? {} : { effort }),
232
342
  };
233
343
  }
234
344
  function setStatus(statuses, status, retentionMs, maxStoredRequests) {
@@ -263,7 +373,50 @@ function validateOptions(options) {
263
373
  if (mode !== "sync" && mode !== "async") {
264
374
  throw new WebhookAdapterError("invalid_config", "Webhook defaultMode must be sync or async.");
265
375
  }
266
- normalizePath(options.path ?? DEFAULT_PATH);
376
+ }
377
+ /**
378
+ * Resolve the configured endpoints, applying defaults and validating uniqueness.
379
+ * When no `endpoints` are given, a single legacy endpoint is synthesized from
380
+ * `path`/`defaultMode` so existing single-webhook callers keep working.
381
+ */
382
+ function resolveEndpoints(options) {
383
+ const defaultMode = options.defaultMode ?? DEFAULT_MODE;
384
+ const source = options.endpoints !== undefined && options.endpoints.length > 0
385
+ ? options.endpoints
386
+ : [{ name: "default", path: options.path ?? DEFAULT_PATH, mode: defaultMode }];
387
+ const resolved = source.map((endpoint) => {
388
+ const path = normalizePath(endpoint.path);
389
+ return {
390
+ name: endpoint.name,
391
+ path,
392
+ mode: endpoint.mode ?? defaultMode,
393
+ statusBasePath: statusBasePathFor(path),
394
+ ...(endpoint.prompt === undefined ? {} : { prompt: endpoint.prompt }),
395
+ ...(endpoint.notify === undefined ? {} : { notify: endpoint.notify }),
396
+ ...(endpoint.notifyConversationId === undefined ? {} : { notifyConversationId: endpoint.notifyConversationId }),
397
+ ...(endpoint.model === undefined ? {} : { model: endpoint.model }),
398
+ ...(endpoint.effort === undefined ? {} : { effort: endpoint.effort }),
399
+ };
400
+ });
401
+ assertUnique(resolved.map((endpoint) => endpoint.name), "name");
402
+ assertUnique(resolved.map((endpoint) => endpoint.path), "path");
403
+ return resolved;
404
+ }
405
+ function assertUnique(values, label) {
406
+ const seen = new Set();
407
+ for (const value of values) {
408
+ if (seen.has(value)) {
409
+ throw new WebhookAdapterError("invalid_config", `Duplicate webhook endpoint ${label} "${value}".`, { [label]: value });
410
+ }
411
+ seen.add(value);
412
+ }
413
+ }
414
+ function statusBasePathFor(path) {
415
+ return `${dirname(path) === "/" ? "" : dirname(path)}/requests`;
416
+ }
417
+ /** Prepend an endpoint's `prompt` (pre-instructions) to the posted text, if any. */
418
+ function composePromptText(prompt, text) {
419
+ return prompt === undefined || prompt.length === 0 ? text : `${prompt}\n\n${text}`;
267
420
  }
268
421
  function validatePositiveInteger(value, name) {
269
422
  if (value === undefined) {
@@ -273,7 +426,7 @@ function validatePositiveInteger(value, name) {
273
426
  throw new WebhookAdapterError("invalid_config", `Webhook ${name} must be a positive integer.`);
274
427
  }
275
428
  }
276
- function normalizePath(path) {
429
+ export function normalizePath(path) {
277
430
  const normalized = path.trim();
278
431
  if (!normalized.startsWith("/") || normalized.includes("?") || normalized.includes("#")) {
279
432
  throw new WebhookAdapterError("invalid_config", "Webhook path must be an absolute path without query or hash.");
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mono-agent/webhook-adapter",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "HTTP webhook invocation adapter for agent responders.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -18,8 +18,7 @@
18
18
  "README.md"
19
19
  ],
20
20
  "dependencies": {
21
- "@mono-agent/agent-contracts": "0.3.0",
22
- "@mono-agent/settings": "0.3.0",
21
+ "@mono-agent/agent-contracts": "0.4.1",
23
22
  "express": "^5.1.0"
24
23
  },
25
24
  "devDependencies": {