run402 4.21.0 → 4.23.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.
@@ -1,4 +1,5 @@
1
1
  import { LocalError } from "../errors.js";
2
+ import { waitFor } from "../wait.js";
2
3
  const SECRET_FIELD = /(?:private.?key|secret|mnemonic|seed|derivation|nsec|nostr.?key|service.?key|delegate.?token|recovery.?code)/i;
3
4
  function rejectSecrets(value, path = "$", seen = new Set()) {
4
5
  if (!value || typeof value !== "object")
@@ -239,18 +240,274 @@ export class BuzzAgentEnrollments {
239
240
  });
240
241
  }
241
242
  }
243
+ /** A delivery that will never change again. Everything else is still in flight. */
244
+ const TERMINAL_DELIVERY_STATUSES = new Set([
245
+ "delivered",
246
+ "dead_letter",
247
+ "cancelled",
248
+ "suppressed",
249
+ ]);
250
+ function routePath(routeId, context) {
251
+ return `/buzz-project-event-routes/v1/${encodeURIComponent(required(routeId, "routeId", context))}`;
252
+ }
253
+ /**
254
+ * `buzz.notifications` — project-event routing into a Buzz community channel
255
+ * (gateway `add-buzz-project-event-routing`).
256
+ *
257
+ * A route is an owner-declared destination: one active community
258
+ * installation, an explicit 1–50 project scope, reviewed event filters, one
259
+ * NIP-29 channel. Run402's project-event feed stays authoritative — Buzz
260
+ * relay state never creates, acknowledges, or advances a Run402 event, and
261
+ * Buzz is NEVER a deadman channel: mandatory notification classes keep their
262
+ * human paths regardless of route state.
263
+ *
264
+ * The workflow is **configure → authorize → test → live**:
265
+ *
266
+ * ```ts
267
+ * const created = await r.buzz.notifications.createRoute(orgId, {
268
+ * installationId: "buzzci_…",
269
+ * routeName: "deploys",
270
+ * buzzChannelId: "<nip-29 channel id>",
271
+ * projectIds: ["prj_…"],
272
+ * });
273
+ * if (created.authorization.status === "pending_buzz_authorization") {
274
+ * // The ONE non-secret handoff: a Buzz community owner adds
275
+ * // created.authorization.notification_pubkey as a relay member
276
+ * // (created.authorization.instructions says exactly how), then:
277
+ * const delivery = await r.buzz.notifications.testAndWait(
278
+ * created.buzz_project_event_route_id,
279
+ * );
280
+ * // delivered ⇒ live. Still queued ⇒ the tick publishes ~every 60s —
281
+ * // silence here is cadence, not failure; keep polling deliveries.
282
+ * }
283
+ * ```
284
+ *
285
+ * Load-bearing semantics:
286
+ * - Only three reviewed event types are routable (`deploy_activated`,
287
+ * `error_fingerprints_observed`, `platform_incident`); the classes
288
+ * `security` / `billing_critical` / `destructive_lifecycle` /
289
+ * `verification` / `recovery` may never be routed.
290
+ * - Filters: omitted/`null` = everything registered; an explicit `[]` is a
291
+ * 422, never a wildcard and never a silent match-nothing.
292
+ * - Every mutation carries an `Idempotency-Key` (auto-generated when not
293
+ * given) and requires fresh `buzz.event_route` step-up server-side (a SIWX
294
+ * wallet is inherently fresh).
295
+ * - No response ever contains the signing secret — `notification_pubkey` +
296
+ * `signing_generation` are the only credential material on the wire.
297
+ * - Routes deliver NEW events only (`start_after_event_id` floor); delivery
298
+ * is at-least-once with byte-identical republish, backing off to
299
+ * `dead_letter` after 8 attempts / 48h — visible in `deliveries()`.
300
+ */
301
+ export class BuzzNotifications {
302
+ client;
303
+ constructor(client) {
304
+ this.client = client;
305
+ }
306
+ /**
307
+ * Create a route (`POST /buzz-project-event-routes/v1`, 201). The response
308
+ * carries an `authorization` block: the installation's first route is
309
+ * `pending_buzz_authorization` with the exact non-secret connect handoff a
310
+ * Buzz community owner completes; later routes on an already-authorized
311
+ * installation come back `authorized` and active.
312
+ */
313
+ async createRoute(organizationId, input) {
314
+ const context = "creating Buzz event route";
315
+ rejectSecrets(input);
316
+ if (!Array.isArray(input?.projectIds) || input.projectIds.length === 0) {
317
+ throw new LocalError("projectIds must name at least one project — a route's scope is always explicit", context, {
318
+ details: { field: "projectIds" },
319
+ });
320
+ }
321
+ return this.client.request("/buzz-project-event-routes/v1", {
322
+ method: "POST",
323
+ headers: headers(input.idempotencyKey),
324
+ body: {
325
+ org_id: required(organizationId, "organizationId", context),
326
+ buzz_community_installation_id: required(input.installationId, "installationId", context),
327
+ route_name: required(input.routeName, "routeName", context),
328
+ buzz_channel_id: required(input.buzzChannelId, "buzzChannelId", context),
329
+ project_ids: input.projectIds,
330
+ ...(input.eventTypes !== undefined ? { event_types: input.eventTypes } : {}),
331
+ ...(input.eventClasses !== undefined ? { event_classes: input.eventClasses } : {}),
332
+ },
333
+ context,
334
+ });
335
+ }
336
+ /** List the organization's routes, including retained revoked ones. */
337
+ async list(organizationId) {
338
+ const response = await this.client.request(`/buzz-project-event-routes/v1?org_id=${encodeURIComponent(required(organizationId, "organizationId", "listing Buzz event routes"))}`, { context: "listing Buzz event routes" });
339
+ return response.buzz_project_event_routes ?? [];
340
+ }
341
+ /**
342
+ * Route detail: the route plus honest `health` (derived from route +
343
+ * credential state, never queue emptiness), `delivery_counts`, the oldest
344
+ * pending time, and the shared `consumer_cursor`.
345
+ */
346
+ async get(routeId) {
347
+ const context = "reading Buzz event route";
348
+ return this.client.request(routePath(routeId, context), { context });
349
+ }
350
+ /**
351
+ * Update name / channel / project scope / filters
352
+ * (`PATCH /:id` with `expected_revision`). A stale revision fails
353
+ * `409 BUZZ_ROUTE_REVISION_STALE` without mutating — re-read, re-decide,
354
+ * re-send with the current `revision`.
355
+ */
356
+ async update(routeId, patch, expectedRevision) {
357
+ const context = "updating Buzz event route";
358
+ rejectSecrets(patch);
359
+ if (!Number.isInteger(expectedRevision)) {
360
+ throw new LocalError("expectedRevision must be the route's current integer revision", context, {
361
+ details: { field: "expectedRevision" },
362
+ });
363
+ }
364
+ return this.client.request(routePath(routeId, context), {
365
+ method: "PATCH",
366
+ headers: headers(patch.idempotencyKey),
367
+ body: {
368
+ expected_revision: expectedRevision,
369
+ ...(patch.routeName !== undefined ? { route_name: patch.routeName } : {}),
370
+ ...(patch.buzzChannelId !== undefined ? { buzz_channel_id: patch.buzzChannelId } : {}),
371
+ ...(patch.projectIds !== undefined ? { project_ids: patch.projectIds } : {}),
372
+ ...(patch.eventTypes !== undefined ? { event_types: patch.eventTypes } : {}),
373
+ ...(patch.eventClasses !== undefined ? { event_classes: patch.eventClasses } : {}),
374
+ },
375
+ context,
376
+ });
377
+ }
378
+ /**
379
+ * Stop matching new events (`POST /:id/pause`). Non-terminal deliveries
380
+ * freeze; events occurring while paused are never retroactively delivered.
381
+ */
382
+ async pause(routeId, idempotencyKey) {
383
+ const context = "pausing Buzz event route";
384
+ return this.client.request(`${routePath(routeId, context)}/pause`, {
385
+ method: "POST",
386
+ headers: headers(idempotencyKey),
387
+ body: {},
388
+ context,
389
+ });
390
+ }
391
+ /**
392
+ * Re-arm delivery and reset the hard-failure counter (`POST /:id/resume`).
393
+ * Requires a live signing credential NOW — resuming into
394
+ * signing-unavailable fails `503 BUZZ_NOTIFICATION_SIGNING_UNAVAILABLE`
395
+ * rather than fabricating an "active" route whose every attempt fails.
396
+ */
397
+ async resume(routeId, idempotencyKey) {
398
+ const context = "resuming Buzz event route";
399
+ return this.client.request(`${routePath(routeId, context)}/resume`, {
400
+ method: "POST",
401
+ headers: headers(idempotencyKey),
402
+ body: {},
403
+ context,
404
+ });
405
+ }
406
+ /**
407
+ * Revoke (`DELETE /:id`): queued deliveries are cancelled, sanitized history
408
+ * stays readable, and `notification_credential_destroyed` reports whether
409
+ * this was the installation's last live route (only then does its
410
+ * notification credential die — never out from under a sibling).
411
+ */
412
+ async revoke(routeId, idempotencyKey) {
413
+ const context = "revoking Buzz event route";
414
+ return this.client.request(routePath(routeId, context), {
415
+ method: "DELETE",
416
+ headers: headers(idempotencyKey),
417
+ context,
418
+ });
419
+ }
420
+ /**
421
+ * Stage the NEXT signing generation (`POST /:id/rotate`, 202). The current
422
+ * key keeps signing; the swap activates only after the next pubkey's own
423
+ * Buzz-side NIP-43 membership verifies — the `rotation` block carries the
424
+ * next pubkey, the authorize hint, and the `verify_path` to poke.
425
+ */
426
+ async rotate(routeId, idempotencyKey) {
427
+ const context = "rotating Buzz notification credential";
428
+ return this.client.request(`${routePath(routeId, context)}/rotate`, {
429
+ method: "POST",
430
+ headers: headers(idempotencyKey),
431
+ body: {},
432
+ context,
433
+ });
434
+ }
435
+ /**
436
+ * Queue one signed test delivery (`POST /:id/test`, 202 + Retry-After).
437
+ * On a `pending_authorization` route this FIRST re-checks the Buzz-side
438
+ * NIP-43 membership and activates the route when it landed — the test
439
+ * endpoint doubles as the authorization poll. The 202 is queued-not-
440
+ * delivered (Faithful): poll `poll.path` (or use {@link testAndWait}).
441
+ */
442
+ async test(routeId, idempotencyKey) {
443
+ const context = "creating Buzz route test delivery";
444
+ return this.client.request(`${routePath(routeId, context)}/test`, {
445
+ method: "POST",
446
+ headers: headers(idempotencyKey),
447
+ body: {},
448
+ context,
449
+ });
450
+ }
451
+ /** Keyset newest-first delivery history — dead letters included, the signed envelope never. */
452
+ async deliveries(routeId, opts = {}) {
453
+ const context = "listing Buzz route deliveries";
454
+ const params = new URLSearchParams();
455
+ if (opts.limit !== undefined)
456
+ params.set("limit", String(opts.limit));
457
+ if (opts.cursor)
458
+ params.set("cursor", opts.cursor);
459
+ if (opts.deliveryId)
460
+ params.set("delivery_id", opts.deliveryId);
461
+ const query = params.size ? `?${params.toString()}` : "";
462
+ return this.client.request(`${routePath(routeId, context)}/deliveries${query}`, {
463
+ context,
464
+ });
465
+ }
466
+ /**
467
+ * Queue a test delivery, then poll it until it settles — the whole
468
+ * verify-the-route flow in one call.
469
+ *
470
+ * Returns as soon as the delivery reaches a terminal status
471
+ * (`delivered` | `dead_letter` | `cancelled` | `suppressed`). On timeout
472
+ * the still-queued delivery is RETURNED, never thrown (the shared `waitFor`
473
+ * contract) — and unlike an unanswered escalation, a not-yet-delivered test
474
+ * here is usually just cadence: the single-consumer tick publishes ~every
475
+ * 60s, so keep polling `deliveries()` before concluding anything is wrong.
476
+ */
477
+ async testAndWait(routeId, opts = {}) {
478
+ const queued = await this.test(routeId);
479
+ // The 202 is the FIRST observed state — it is the only one carrying the
480
+ // poll block, so an observer that narrates (the CLI) must see it even
481
+ // when the wait settles instantly.
482
+ opts.onPoll?.(queued);
483
+ if (TERMINAL_DELIVERY_STATUSES.has(queued.status))
484
+ return queued;
485
+ const deliveryId = queued.buzz_project_event_delivery_id;
486
+ const { state } = await waitFor(async () => {
487
+ const page = await this.deliveries(routeId, { deliveryId, limit: 1 });
488
+ return page.buzz_project_event_deliveries?.[0] ?? queued;
489
+ }, (d) => TERMINAL_DELIVERY_STATUSES.has(d.status), {
490
+ pollMs: Math.max(opts.pollMs ?? 5_000, 2_000),
491
+ timeoutMs: opts.timeoutMs ?? 3 * 60 * 1000,
492
+ onPoll: opts.onPoll ? (s) => opts.onPoll(s) : undefined,
493
+ });
494
+ return state;
495
+ }
496
+ }
242
497
  export class Buzz {
243
498
  client;
244
499
  humanAdoptions;
245
500
  humanAdoptionOffers;
246
501
  communityInstallations;
247
502
  enrollments;
503
+ notifications;
248
504
  constructor(client) {
249
505
  this.client = client;
250
506
  this.humanAdoptions = new BuzzHumanAdoptions(client);
251
507
  this.humanAdoptionOffers = new BuzzHumanAdoptionOffers(client);
252
508
  this.communityInstallations = new BuzzCommunityInstallations(client);
253
509
  this.enrollments = new BuzzAgentEnrollments(client);
510
+ this.notifications = new BuzzNotifications(client);
254
511
  }
255
512
  /** Capability-detecting status. Older gateways return a safe supported:false result. */
256
513
  async status() {
@@ -1 +1 @@
1
- {"version":3,"file":"buzz.js","sourceRoot":"","sources":["../../src/namespaces/buzz.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buzz.js","sourceRoot":"","sources":["../../src/namespaces/buzz.ts"],"names":[],"mappings":"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"}
@@ -31,13 +31,14 @@
31
31
  * });
32
32
  * // esc.delivery.will_page names who is about to be paged, and by when.
33
33
  *
34
- * // Wait for a human to own it:
35
- * let current = esc;
36
- * while (current.status === "open") {
37
- * await new Promise((r) => setTimeout(r, 30_000));
38
- * current = await r.escalations.get(orgId, esc.escalation_id);
39
- * }
40
- * // current.acknowledged.by_email now names the human who took it.
34
+ * // Wait for a human to own it (or do both in one call: `raiseAndWait`):
35
+ * const { state } = await waitFor(
36
+ * () => r.escalations.get(orgId, esc.escalation_id),
37
+ * (e) => e.status !== "open",
38
+ * );
39
+ * // state.acknowledged?.by_email names the human — and on timeout `state` is
40
+ * // the STILL-OPEN escalation, returned rather than thrown: silence is an
41
+ * // answer you must look at, never consent.
41
42
  * ```
42
43
  *
43
44
  * ## Load-bearing semantics
@@ -155,6 +156,7 @@ export declare class Escalations {
155
156
  raiseAndWait(orgId: string, input: RaiseEscalationInput, opts?: {
156
157
  pollMs?: number;
157
158
  timeoutMs?: number;
159
+ onPoll?: (state: Escalation) => void;
158
160
  }): Promise<Escalation>;
159
161
  }
160
162
  //# sourceMappingURL=escalations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"escalations.d.ts","sourceRoot":"","sources":["../../src/namespaces/escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAehC,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;;;;;;OASG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBlF;;;;;OAKG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;IAUrF;;;;;;;;OAQG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpG;;;;;OAKG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAa/E;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAalG;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAW1D;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUjE;;;;;;;;OAQG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiB7F;;;;OAIG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAaxG;;;;;;;;;OASG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,oBAAoB,EAC3B,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACjD,OAAO,CAAC,UAAU,CAAC;CAYvB"}
1
+ {"version":3,"file":"escalations.d.ts","sourceRoot":"","sources":["../../src/namespaces/escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EACV,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAehC,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;;;;;;OASG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBlF;;;;;OAKG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;IAUrF;;;;;;;;OAQG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpG;;;;;OAKG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAa/E;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAalG;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAW1D;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUjE;;;;;;;;OAQG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiB7F;;;;OAIG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAaxG;;;;;;;;;OASG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,oBAAoB,EAC3B,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;KAAO,GACvF,OAAO,CAAC,UAAU,CAAC;CAqBvB"}
@@ -31,13 +31,14 @@
31
31
  * });
32
32
  * // esc.delivery.will_page names who is about to be paged, and by when.
33
33
  *
34
- * // Wait for a human to own it:
35
- * let current = esc;
36
- * while (current.status === "open") {
37
- * await new Promise((r) => setTimeout(r, 30_000));
38
- * current = await r.escalations.get(orgId, esc.escalation_id);
39
- * }
40
- * // current.acknowledged.by_email now names the human who took it.
34
+ * // Wait for a human to own it (or do both in one call: `raiseAndWait`):
35
+ * const { state } = await waitFor(
36
+ * () => r.escalations.get(orgId, esc.escalation_id),
37
+ * (e) => e.status !== "open",
38
+ * );
39
+ * // state.acknowledged?.by_email names the human — and on timeout `state` is
40
+ * // the STILL-OPEN escalation, returned rather than thrown: silence is an
41
+ * // answer you must look at, never consent.
41
42
  * ```
42
43
  *
43
44
  * ## Load-bearing semantics
@@ -64,6 +65,7 @@
64
65
  * an agent may most need a person.
65
66
  */
66
67
  import { LocalError } from "../errors.js";
68
+ import { waitFor } from "../wait.js";
67
69
  function orgPath(orgId) {
68
70
  return `/orgs/v1/${encodeURIComponent(orgId)}`;
69
71
  }
@@ -263,16 +265,22 @@ export class Escalations {
263
265
  * consent from silence.
264
266
  */
265
267
  async raiseAndWait(orgId, input, opts = {}) {
266
- const pollMs = Math.max(opts.pollMs ?? 30_000, 5_000);
267
- const timeoutMs = opts.timeoutMs ?? 60 * 60 * 1000;
268
268
  const raised = await this.raise(orgId, input);
269
- const deadline = Date.now() + timeoutMs;
270
- let current = raised;
271
- while (current.status === "open" && Date.now() < deadline) {
272
- await new Promise((resolve) => setTimeout(resolve, pollMs));
273
- current = await this.get(orgId, raised.escalation_id);
274
- }
275
- return current;
269
+ // The raise response is the FIRST observed state — it is the only one
270
+ // carrying the delivery block and warnings, so an observer that narrates
271
+ // (the CLI) must see it even when the wait settles instantly.
272
+ opts.onPoll?.(raised);
273
+ if (raised.status !== "open")
274
+ return raised;
275
+ // The shared wait contract (sdk `waitFor`): on timeout the still-open
276
+ // escalation is RETURNED, never thrown — silence is an answer the caller
277
+ // must look at, not an exception to swallow.
278
+ const { state } = await waitFor(() => this.get(orgId, raised.escalation_id), (e) => e.status !== "open", {
279
+ pollMs: Math.max(opts.pollMs ?? 30_000, 5_000),
280
+ timeoutMs: opts.timeoutMs ?? 60 * 60 * 1000,
281
+ onPoll: opts.onPoll ? (s) => opts.onPoll(s) : undefined,
282
+ });
283
+ return state;
276
284
  }
277
285
  }
278
286
  //# sourceMappingURL=escalations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"escalations.js","sourceRoot":"","sources":["../../src/namespaces/escalations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escalations.js","sourceRoot":"","sources":["../../src/namespaces/escalations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * `waitFor` — the one poll loop (attention-architecture Wave E).
3
+ *
4
+ * Every wait on this platform is the same shape: fetch a fact, ask whether it
5
+ * has reached the state you need, sleep, repeat, stop at a deadline. Before
6
+ * this helper the shape was hand-rolled three times (escalations'
7
+ * `raiseAndWait`, the CLI's `--wait`, room catch-up polling), and each copy
8
+ * had to re-decide the one contract that matters:
9
+ *
10
+ * **Silence is an answer.** On timeout, `waitFor` RETURNS the last observed
11
+ * state — it never throws. A thrown timeout invites `catch`-and-proceed,
12
+ * which quietly converts "nobody answered" into consent. Returning the
13
+ * still-unsettled state forces the caller to look at it and decide, with
14
+ * "nothing happened" as a visible input rather than an exception it
15
+ * swallowed. (This is the same reason an exhausted escalation rests OPEN and
16
+ * a deploy gate must not auto-approve on timeout.)
17
+ */
18
+ export interface WaitForOptions {
19
+ /** Delay between polls. Clamped to ≥1s so a tight loop cannot hammer the API. */
20
+ pollMs?: number;
21
+ /** Total budget. When it elapses, the LAST OBSERVED state is returned. */
22
+ timeoutMs?: number;
23
+ /**
24
+ * Called after each poll with the latest state — progress reporting
25
+ * (a CLI prints to stderr here) without owning the loop.
26
+ */
27
+ onPoll?: (state: unknown, elapsedMs: number) => void;
28
+ }
29
+ export interface WaitForResult<T> {
30
+ state: T;
31
+ /** True when `predicate` accepted `state`; false means the wait timed out. */
32
+ settled: boolean;
33
+ elapsedMs: number;
34
+ polls: number;
35
+ }
36
+ /**
37
+ * Poll `fetch` until `predicate(state)` is true or the timeout elapses.
38
+ *
39
+ * The initial state is fetched immediately (a wait that starts already
40
+ * settled costs one call and zero sleeps). A `fetch` rejection propagates —
41
+ * an API failure is not silence and must not be mistaken for it.
42
+ */
43
+ export declare function waitFor<T>(fetchState: () => Promise<T>, predicate: (state: T) => boolean, opts?: WaitForOptions): Promise<WaitForResult<T>>;
44
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC;IACT,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,UAAU,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAChC,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAsB3B"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * `waitFor` — the one poll loop (attention-architecture Wave E).
3
+ *
4
+ * Every wait on this platform is the same shape: fetch a fact, ask whether it
5
+ * has reached the state you need, sleep, repeat, stop at a deadline. Before
6
+ * this helper the shape was hand-rolled three times (escalations'
7
+ * `raiseAndWait`, the CLI's `--wait`, room catch-up polling), and each copy
8
+ * had to re-decide the one contract that matters:
9
+ *
10
+ * **Silence is an answer.** On timeout, `waitFor` RETURNS the last observed
11
+ * state — it never throws. A thrown timeout invites `catch`-and-proceed,
12
+ * which quietly converts "nobody answered" into consent. Returning the
13
+ * still-unsettled state forces the caller to look at it and decide, with
14
+ * "nothing happened" as a visible input rather than an exception it
15
+ * swallowed. (This is the same reason an exhausted escalation rests OPEN and
16
+ * a deploy gate must not auto-approve on timeout.)
17
+ */
18
+ /**
19
+ * Poll `fetch` until `predicate(state)` is true or the timeout elapses.
20
+ *
21
+ * The initial state is fetched immediately (a wait that starts already
22
+ * settled costs one call and zero sleeps). A `fetch` rejection propagates —
23
+ * an API failure is not silence and must not be mistaken for it.
24
+ */
25
+ export async function waitFor(fetchState, predicate, opts = {}) {
26
+ const pollMs = Math.max(opts.pollMs ?? 30_000, 1_000);
27
+ const timeoutMs = opts.timeoutMs ?? 60 * 60 * 1000;
28
+ const startedAt = Date.now();
29
+ let polls = 1;
30
+ let state = await fetchState();
31
+ opts.onPoll?.(state, Date.now() - startedAt);
32
+ while (!predicate(state) && Date.now() - startedAt + pollMs <= timeoutMs) {
33
+ await new Promise((resolve) => setTimeout(resolve, pollMs));
34
+ polls++;
35
+ state = await fetchState();
36
+ opts.onPoll?.(state, Date.now() - startedAt);
37
+ }
38
+ return {
39
+ state,
40
+ settled: predicate(state),
41
+ elapsedMs: Date.now() - startedAt,
42
+ polls,
43
+ };
44
+ }
45
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAsBH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAA4B,EAC5B,SAAgC,EAChC,OAAuB,EAAE;IAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;IAE7C,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;QACzE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,KAAK,EAAE,CAAC;QACR,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,KAAK;QACL,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;QACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACjC,KAAK;KACN,CAAC;AACJ,CAAC"}