tapimo 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/App.d.ts +3412 -1968
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js.map +1 -1
  4. package/dist/Webhooks.d.ts +0 -75
  5. package/dist/Webhooks.d.ts.map +1 -1
  6. package/dist/Webhooks.js +1 -143
  7. package/dist/Webhooks.js.map +1 -1
  8. package/dist/admin/App.d.ts +74 -74
  9. package/dist/admin/apps/api-keys.d.ts +4 -4
  10. package/dist/admin/apps/earn-vaults.d.ts +1 -1
  11. package/dist/admin/apps/organizations.d.ts +3 -3
  12. package/dist/admin/apps/verified-tokens.d.ts +74 -74
  13. package/dist/apps/data/App.d.ts +3618 -2954
  14. package/dist/apps/data/App.d.ts.map +1 -1
  15. package/dist/apps/data/App.js +5 -2
  16. package/dist/apps/data/App.js.map +1 -1
  17. package/dist/apps/data/routes/activities.d.ts +1 -1
  18. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  19. package/dist/apps/data/routes/activities.js +55 -27
  20. package/dist/apps/data/routes/activities.js.map +1 -1
  21. package/dist/apps/data/routes/addresses.d.ts +343 -343
  22. package/dist/apps/data/routes/balances.d.ts +11 -11
  23. package/dist/apps/data/routes/blocks.d.ts +5 -5
  24. package/dist/apps/data/routes/coingecko.d.ts +176 -176
  25. package/dist/apps/data/routes/earn.d.ts +4 -4
  26. package/dist/apps/data/routes/exchanges.d.ts +4 -4
  27. package/dist/apps/data/routes/fee-amm.d.ts +26 -26
  28. package/dist/apps/data/routes/indexer.d.ts +34 -34
  29. package/dist/apps/data/routes/receipts.d.ts +236 -236
  30. package/dist/apps/data/routes/tokenlist.d.ts +12 -12
  31. package/dist/apps/data/routes/tokens.d.ts +3 -3
  32. package/dist/apps/data/routes/transactions.d.ts +1 -1
  33. package/dist/apps/data/routes/transfers.d.ts +13 -13
  34. package/dist/apps/data/routes/valuation.d.ts +21 -21
  35. package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
  36. package/dist/apps/data/routes/webhooks.d.ts +1011 -151
  37. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  38. package/dist/apps/data/routes/webhooks.js +124 -737
  39. package/dist/apps/data/routes/webhooks.js.map +1 -1
  40. package/dist/apps/data/routes/zones.d.ts +31 -31
  41. package/dist/apps/funding/routes/deposit-addresses.d.ts +2 -2
  42. package/dist/apps/funding/routes/providers.d.ts +13 -13
  43. package/dist/apps/funding/routes/transfers.d.ts +33 -33
  44. package/dist/apps/management/App.d.ts +793 -16
  45. package/dist/apps/management/App.d.ts.map +1 -1
  46. package/dist/apps/management/routes/api-keys.d.ts +50 -50
  47. package/dist/apps/management/routes/faucet.d.ts +31 -31
  48. package/dist/apps/management/routes/invite-links.d.ts +42 -42
  49. package/dist/apps/management/routes/members.d.ts +79 -79
  50. package/dist/apps/management/routes/projects.d.ts +40 -40
  51. package/dist/apps/management/routes/usage.d.ts +80 -80
  52. package/dist/apps/management/routes/webhooks.d.ts +1031 -59
  53. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  54. package/dist/apps/management/routes/webhooks.js +27 -4
  55. package/dist/apps/management/routes/webhooks.js.map +1 -1
  56. package/dist/db/Db.d.ts.map +1 -1
  57. package/dist/db/Db.js +21 -0
  58. package/dist/db/Db.js.map +1 -1
  59. package/dist/db/Schema.d.ts +7 -1
  60. package/dist/db/Schema.d.ts.map +1 -1
  61. package/dist/db/Schema.js +9 -0
  62. package/dist/db/Schema.js.map +1 -1
  63. package/dist/db/tables/webhookQueueEvents.d.ts +3 -1
  64. package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
  65. package/dist/db/tables/webhookQueueEvents.js +4 -0
  66. package/dist/db/tables/webhookQueueEvents.js.map +1 -1
  67. package/dist/db/tables/webhookSubscriptions.d.ts +33 -69
  68. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  69. package/dist/db/tables/webhookSubscriptions.js +63 -100
  70. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  71. package/dist/internal/MetricSink.d.ts +35 -125
  72. package/dist/internal/MetricSink.d.ts.map +1 -1
  73. package/dist/internal/MetricSink.js +50 -121
  74. package/dist/internal/MetricSink.js.map +1 -1
  75. package/dist/internal/Schema.d.ts +3 -1
  76. package/dist/internal/Schema.d.ts.map +1 -1
  77. package/dist/internal/Schema.js +4 -2
  78. package/dist/internal/Schema.js.map +1 -1
  79. package/dist/internal/WebhookTransfer.d.ts +1 -55
  80. package/dist/internal/WebhookTransfer.d.ts.map +1 -1
  81. package/dist/internal/WebhookTransfer.js +1 -239
  82. package/dist/internal/WebhookTransfer.js.map +1 -1
  83. package/dist/internal/Webhooks.d.ts +83 -44
  84. package/dist/internal/Webhooks.d.ts.map +1 -1
  85. package/dist/internal/Webhooks.js +87 -73
  86. package/dist/internal/Webhooks.js.map +1 -1
  87. package/dist/internal/funding/DepositWebhook.d.ts +25 -0
  88. package/dist/internal/funding/DepositWebhook.d.ts.map +1 -0
  89. package/dist/internal/funding/DepositWebhook.js +74 -0
  90. package/dist/internal/funding/DepositWebhook.js.map +1 -0
  91. package/dist/internal/funding/Reconciliation.d.ts +6 -0
  92. package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
  93. package/dist/internal/funding/Reconciliation.js +42 -10
  94. package/dist/internal/funding/Reconciliation.js.map +1 -1
  95. package/dist/internal/funding/index.d.ts +1 -0
  96. package/dist/internal/funding/index.d.ts.map +1 -1
  97. package/dist/internal/funding/index.js +1 -0
  98. package/dist/internal/funding/index.js.map +1 -1
  99. package/dist/internal/webhookDestinations/slack.d.ts.map +1 -1
  100. package/dist/internal/webhookDestinations/slack.js +16 -0
  101. package/dist/internal/webhookDestinations/slack.js.map +1 -1
  102. package/package.json +1 -1
  103. package/src/App.ts +3 -0
  104. package/src/Client.test-d.ts +22 -1
  105. package/src/Webhooks.ts +1 -220
  106. package/src/apps/data/App.ts +8 -2
  107. package/src/apps/data/routes/activities.test.ts +107 -11
  108. package/src/apps/data/routes/activities.ts +64 -32
  109. package/src/apps/data/routes/webhooks.test.ts +179 -1497
  110. package/src/apps/data/routes/webhooks.ts +150 -974
  111. package/src/apps/management/routes/webhooks.test.ts +79 -1
  112. package/src/apps/management/routes/webhooks.ts +40 -4
  113. package/src/db/Db.test.ts +1 -5
  114. package/src/db/Db.ts +23 -0
  115. package/src/db/Schema.ts +13 -0
  116. package/src/db/tables/organizations.test.ts +5 -2
  117. package/src/db/tables/webhookQueueEvents.ts +7 -1
  118. package/src/db/tables/webhookSubscriptions.ts +89 -138
  119. package/src/internal/MetricSink.test.ts +41 -373
  120. package/src/internal/MetricSink.ts +92 -273
  121. package/src/internal/Schema.test.ts +18 -0
  122. package/src/internal/Schema.ts +13 -2
  123. package/src/internal/WebhookTransfer.ts +1 -351
  124. package/src/internal/Webhooks.test.ts +102 -139
  125. package/src/internal/Webhooks.ts +175 -106
  126. package/src/internal/funding/DepositWebhook.test.ts +131 -0
  127. package/src/internal/funding/DepositWebhook.ts +101 -0
  128. package/src/internal/funding/Reconciliation.test.ts +14 -0
  129. package/src/internal/funding/Reconciliation.ts +161 -86
  130. package/src/internal/funding/index.test.ts +1 -0
  131. package/src/internal/funding/index.ts +1 -0
  132. package/src/internal/webhookDestinations/slack.ts +15 -0
  133. package/src/Webhooks.bench.ts +0 -714
  134. package/src/Webhooks.memory.bench.ts +0 -250
  135. package/src/Webhooks.test.ts +0 -146
@@ -1,4 +1,5 @@
1
1
  import { sql } from 'kysely';
2
+ import * as Scope from '../../Scope.js';
2
3
  const subscriptionLimitLockClass = 1464353612;
3
4
  /** Reads one live subscription by id for an internal Queue delivery. */
4
5
  export async function getById(db, id, now) {
@@ -21,6 +22,7 @@ export function toSubscription(row) {
21
22
  ...(row.context === null ? {} : { context: row.context }),
22
23
  createdAt: row.createdAt,
23
24
  destination: row.destination,
25
+ ...(row.environment === null ? {} : { environment: row.environment }),
24
26
  eventType: row.eventType,
25
27
  ...(row.expiresAt === null ? {} : { expiresAt: row.expiresAt }),
26
28
  failureCount: row.failureCount,
@@ -30,6 +32,7 @@ export function toSubscription(row) {
30
32
  owner: row.ownerType === 'api_key'
31
33
  ? { orgId: row.ownerId, type: 'api_key' }
32
34
  : { payer: row.ownerId, type: 'mpp' },
35
+ ...(row.projectId === null ? {} : { projectId: row.projectId }),
33
36
  secret: row.secret,
34
37
  status: row.status,
35
38
  updatedAt: row.updatedAt,
@@ -50,6 +53,7 @@ export async function insert(db, subscription, options = {}) {
50
53
  context: subscription.context ?? null,
51
54
  createdAt: subscription.createdAt,
52
55
  destination: subscription.destination,
56
+ environment: subscription.environment ?? null,
53
57
  eventType: subscription.eventType,
54
58
  expiresAt: subscription.expiresAt ?? null,
55
59
  failureCount: subscription.failureCount,
@@ -59,6 +63,7 @@ export async function insert(db, subscription, options = {}) {
59
63
  ownerId: ownerId(subscription.owner),
60
64
  ownerType: subscription.owner.type,
61
65
  pollerCursor: options.pollerCursor ?? null,
66
+ projectId: subscription.projectId ?? null,
62
67
  secret: subscription.secret,
63
68
  status: subscription.status,
64
69
  updatedAt: subscription.updatedAt,
@@ -90,15 +95,17 @@ export async function insertWithinLimit(db, subscription, options) {
90
95
  * @param now - ISO timestamp expiry is evaluated against.
91
96
  * @returns The subscription, or `null` when absent (or not the owner's).
92
97
  */
93
- export async function get(db, owner, id, now) {
94
- const row = await db.kysely
98
+ export async function get(db, owner, id, now, access) {
99
+ let query = db.kysely
95
100
  .selectFrom('webhook_subscriptions')
96
101
  .selectAll()
97
102
  .where('id', '=', id)
98
103
  .where('ownerType', '=', owner.type)
99
104
  .where('ownerId', '=', ownerId(owner))
100
- .where(live(now))
101
- .executeTakeFirst();
105
+ .where(live(now));
106
+ if (access)
107
+ query = query.where(privateResourceAccess(access));
108
+ const row = await query.executeTakeFirst();
102
109
  return row ? toSubscription(row) : null;
103
110
  }
104
111
  /**
@@ -119,6 +126,8 @@ export async function list(db, owner, options) {
119
126
  .where('ownerId', '=', ownerId(owner))
120
127
  .where(live(options.now))
121
128
  .orderBy('id', 'desc');
129
+ if (options.access)
130
+ query = query.where(privateResourceAccess(options.access));
122
131
  if (options.cursor)
123
132
  query = query.where('id', '<', options.cursor);
124
133
  if (options.offset)
@@ -135,14 +144,16 @@ export async function list(db, owner, options) {
135
144
  * @param now - ISO timestamp expiry is evaluated against.
136
145
  * @returns The count.
137
146
  */
138
- export async function count(db, owner, now) {
139
- const row = await db.kysely
147
+ export async function count(db, owner, now, access) {
148
+ let query = db.kysely
140
149
  .selectFrom('webhook_subscriptions')
141
150
  .select((eb) => eb.fn.countAll().as('count'))
142
151
  .where('ownerType', '=', owner.type)
143
152
  .where('ownerId', '=', ownerId(owner))
144
- .where(live(now))
145
- .executeTakeFirstOrThrow();
153
+ .where(live(now));
154
+ if (access)
155
+ query = query.where(privateResourceAccess(access));
156
+ const row = await query.executeTakeFirstOrThrow();
146
157
  return Number(row.count);
147
158
  }
148
159
  /**
@@ -172,20 +183,37 @@ export async function update(db, id, set) {
172
183
  * @param now - ISO timestamp expiry is evaluated against.
173
184
  * @returns Whether a row was deleted.
174
185
  */
175
- export async function remove(db, owner, id, now) {
176
- const result = await db.kysely
186
+ export async function remove(db, owner, id, now, access) {
187
+ let query = db.kysely
177
188
  .deleteFrom('webhook_subscriptions')
178
189
  .where('id', '=', id)
179
190
  .where('ownerType', '=', owner.type)
180
191
  .where('ownerId', '=', ownerId(owner))
181
- .where(live(now))
182
- .executeTakeFirst();
192
+ .where(live(now));
193
+ if (access)
194
+ query = query.where(privateResourceAccess(access));
195
+ const result = await query.executeTakeFirst();
183
196
  return result.numDeletedRows > 0n;
184
197
  }
198
+ function privateResourceAccess(access) {
199
+ const fundingRead = access.scopes.some((scope) => scope === Scope.wildcard || scope === 'funding:read');
200
+ return (eb) => eb.or([
201
+ eb('eventType', '!=', 'funding:deposit.updated'),
202
+ ...(fundingRead
203
+ ? [
204
+ eb.and([
205
+ eb('eventType', '=', 'funding:deposit.updated'),
206
+ eb('environment', '=', access.environment),
207
+ ...(access.projectId === undefined ? [] : [eb('projectId', '=', access.projectId)]),
208
+ ]),
209
+ ]
210
+ : []),
211
+ ]);
212
+ }
185
213
  /**
186
- * Lists live `active` subscriptions for a `(chainId, eventType)` stream — the
187
- * poller's per-stream lookup, served by the partial status index. Each row
188
- * carries its poller cursor so the poller avoids a per-subscription read.
214
+ * Lists live `active` subscriptions for a `(chainId, eventType)` stream,
215
+ * served by the partial status index. Each row carries its cursor so callers
216
+ * avoid a per-subscription read.
189
217
  *
190
218
  * @param db - The database.
191
219
  * @param chainId - Chain the stream belongs to.
@@ -206,8 +234,8 @@ export async function listActive(db, chainId, eventType, now) {
206
234
  return rows.map((row) => ({ cursor: row.pollerCursor, subscription: toSubscription(row) }));
207
235
  }
208
236
  /**
209
- * Lists every live `active` subscription on a chain in one read. The poller
210
- * groups the rows by event type so empty streams cost no extra database reads.
237
+ * Lists every live `active` subscription on a chain in one read. Callers
238
+ * group the rows by event type so empty streams cost no extra database reads.
211
239
  *
212
240
  * @param db - The database.
213
241
  * @param options - Chain, configured event types, and expiry time.
@@ -228,27 +256,27 @@ export async function listActiveForChain(db, options) {
228
256
  .execute();
229
257
  return rows.map((row) => ({ cursor: row.pollerCursor, subscription: toSubscription(row) }));
230
258
  }
231
- /**
232
- * Reads the poller cursors of every live `active` subscription on a chain,
233
- * across event types. Feeds the cron's cursor-freshness fallback gate.
234
- *
235
- * @param db - The database.
236
- * @param chainId - Chain whose cursors to read.
237
- * @param now - ISO timestamp expiry is evaluated against.
238
- * @returns The non-null cursors, unordered.
239
- */
240
- export async function listActiveCursors(db, chainId, now) {
241
- const rows = await db.kysely
259
+ /** Lists live funding deposit subscriptions visible to one deposit owner. */
260
+ export async function listActiveForFundingDeposit(db, options) {
261
+ let query = db.kysely
242
262
  .selectFrom('webhook_subscriptions')
243
- .select('pollerCursor')
244
- .where('chainId', '=', chainId)
263
+ .selectAll()
264
+ .where('chainId', '=', options.chainId)
265
+ .where('environment', '=', options.environment)
266
+ .where('eventType', '=', 'funding:deposit.updated')
267
+ .where('ownerId', '=', options.orgId)
268
+ .where('ownerType', '=', 'api_key')
245
269
  .where('status', '=', 'active')
246
- .where(live(now))
247
- .execute();
248
- return rows.flatMap((row) => (row.pollerCursor === null ? [] : [row.pollerCursor]));
270
+ .where(live(options.now));
271
+ const projectId = options.projectId;
272
+ query =
273
+ projectId === undefined
274
+ ? query.where('projectId', 'is', null)
275
+ : query.where((eb) => eb.or([eb('projectId', 'is', null), eb('projectId', '=', projectId)]));
276
+ return (await query.orderBy('id').execute()).map(toSubscription);
249
277
  }
250
278
  /**
251
- * Reads a subscription's poller cursor.
279
+ * Reads a subscription's keyset cursor.
252
280
  *
253
281
  * @param db - The database.
254
282
  * @param id - The subscription id (`wh_…`).
@@ -262,71 +290,6 @@ export async function getCursor(db, id) {
262
290
  .executeTakeFirst();
263
291
  return row?.pollerCursor ?? null;
264
292
  }
265
- /**
266
- * Writes a subscription's poller cursor. Deliberately does not touch
267
- * `updatedAt` — the cursor advances every tick and is not a user mutation.
268
- *
269
- * @param db - The database.
270
- * @param id - The subscription id (`wh_…`).
271
- * @param cursor - The keyset cursor to store.
272
- */
273
- export async function setCursor(db, id, cursor) {
274
- await db.kysely
275
- .updateTable('webhook_subscriptions')
276
- .set({ pollerCursor: cursor })
277
- .where('id', '=', id)
278
- .execute();
279
- }
280
- /**
281
- * Writes a poller cursor only when the stored cursor still matches the caller's
282
- * observed value.
283
- *
284
- * @param db - The database.
285
- * @param options - Subscription, expected cursor, and next cursor.
286
- * @returns Whether the cursor was updated.
287
- */
288
- export async function compareAndSetCursor(db, options) {
289
- let query = db.kysely
290
- .updateTable('webhook_subscriptions')
291
- .set({ pollerCursor: options.cursor })
292
- .where('id', '=', options.subscriptionId);
293
- query =
294
- options.expectedCursor === null
295
- ? query.where('pollerCursor', 'is', null)
296
- : query.where('pollerCursor', '=', options.expectedCursor);
297
- const result = await query.executeTakeFirst();
298
- return result.numUpdatedRows > 0n;
299
- }
300
- /**
301
- * Writes multiple poller cursors when each stored value still matches the
302
- * caller's observed value.
303
- *
304
- * @param db - The database.
305
- * @param options - Candidate cursor writes.
306
- * @returns Subscription ids whose cursors were updated.
307
- */
308
- export async function compareAndSetCursors(db, options) {
309
- if (options.cursors.length === 0)
310
- return new Set();
311
- const values = JSON.stringify(options.cursors);
312
- const result = await db.kysely
313
- .with('candidates', () => sql `(
314
- SELECT
315
- candidate."subscriptionId" AS subscription_id,
316
- candidate."expectedCursor" AS expected_cursor,
317
- candidate.cursor
318
- FROM jsonb_to_recordset(${values}::jsonb)
319
- AS candidate("subscriptionId" text, "expectedCursor" text, cursor text)
320
- )`)
321
- .updateTable('webhook_subscriptions as subscription')
322
- .from('candidates as candidate')
323
- .set((eb) => ({ pollerCursor: eb.ref('candidate.cursor') }))
324
- .whereRef('subscription.id', '=', 'candidate.subscriptionId')
325
- .whereRef('subscription.pollerCursor', 'is not distinct from', 'candidate.expectedCursor')
326
- .returning('subscription.id as subscriptionId')
327
- .execute();
328
- return new Set(result.map((row) => row.subscriptionId));
329
- }
330
293
  /**
331
294
  * Records a successful delivery: resets the consecutive-failure counter and
332
295
  * stamps `lastDeliveryAt`.
@@ -371,7 +334,7 @@ export async function recordFailure(db, id, maxFailures, now) {
371
334
  }
372
335
  /**
373
336
  * Deletes expired subscriptions (their delivery rows cascade). Called
374
- * best-effort from the poller tick.
337
+ * best-effort on a schedule.
375
338
  *
376
339
  * @param db - The database.
377
340
  * @param now - ISO timestamp expiry is evaluated against.
@@ -1 +1 @@
1
- {"version":3,"file":"webhookSubscriptions.js","sourceRoot":"","sources":["../../../src/db/tables/webhookSubscriptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhookSubscriptions.js","sourceRoot":"","sources":["../../../src/db/tables/webhookSubscriptions.ts"],"names":[],"mappings":"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"}
@@ -5,43 +5,14 @@ import type * as Log from './Log.js';
5
5
  export type EventType = Webhooks.Envelope['type'];
6
6
  /** Where a delivery attempt originated. */
7
7
  export type Trigger = 'manual_retry' | 'ping' | 'queue';
8
- /** Bounded poller stage names used by `webhook:poll`. */
9
- export type PollStage = 'cursor_write' | 'enrich' | 'rpc_head' | 'scan' | 'subscription_read';
10
- /** Bounded Durable Object or transport failure classes used by `webhook:poll-failure`. */
11
- export type PollFailure = 'other' | 'overloaded' | 'remote' | 'retryable';
12
- /** Context for one poller tick that the {@link Webhooks.createPoller.Result} omits. */
13
- export type TickMeta = {
14
- /** Chain polled this tick; used when the tick errored before a result existed. */
15
- chainId?: number | undefined;
16
- /** Wall-clock duration of the tick in ms. */
17
- durationMs: number;
18
- /** Whether the tick completed. */
19
- outcome: 'error' | 'ok';
20
- };
8
+ /** Bounded step names inside one block-fanout scan, used by `webhook:scan-step`. */
9
+ export type ScanStep = 'block_rpc' | 'enrich' | 'finalized_rpc' | 'logs_rpc' | 'match' | 'stage' | 'subscription_read';
21
10
  /**
22
- * A webhook metric event, recorded by the {@link webhooks} sink. The poller
23
- * emits head recovery, poll, tick, and enqueue measurements; the delivery path
11
+ * A webhook metric event, recorded by the {@link webhooks} sink. The
12
+ * block-fanout scan path emits head and scan measurements; the delivery path
24
13
  * emits `webhook:delivery`.
25
14
  */
26
15
  export type WebhookEvent = {
27
- /** Tempo chain whose poll cycle completed. */
28
- chainId: number;
29
- /** Whether the poll cycle completed without scan or dispatch failures. */
30
- outcome: 'error' | 'ok';
31
- /** Requested boundary movement since the preceding successful poll, in blocks. */
32
- requestedBoundaryAdvanceBlocks?: number | undefined;
33
- /** Execution path that acquired this poll claim. */
34
- trigger: 'alarm' | 'cron' | 'direct' | 'queue';
35
- /** Identifies a transport-neutral poll-cycle measurement. */
36
- type: 'webhook:poll-cycle';
37
- } | {
38
- /** Tempo chain whose durable progress was read. */
39
- chainId: number;
40
- /** Blocks between the desired and fully drained boundaries. */
41
- lagBlocks: number;
42
- /** Identifies durable coordinator progress. */
43
- type: 'webhook:head-progress';
44
- } | {
45
16
  /** Tempo chain whose listener was checked. */
46
17
  chainId: number;
47
18
  /** Heads refused in a row by the monotonic guard; zero on a delivering listener. */
@@ -50,105 +21,34 @@ export type WebhookEvent = {
50
21
  type: 'webhook:head-skipped';
51
22
  } | {
52
23
  chainId: number;
53
- /** Blocks the probed chain head leads the listener's newest observation. */
54
- lagBlocks: number;
55
- /** Identifies the out-of-band listener head probe. */
56
- type: 'webhook:listener-head-lag';
57
- } | {
58
- /** Tempo chain whose recovery poke was dequeued. */
59
- chainId: number;
60
- /** When the recovery poke was dequeued, as epoch milliseconds. */
61
- dequeuedAt: number;
62
- /** When the recovery poke was enqueued, as epoch milliseconds. */
63
- enqueuedAt: number;
64
- /** Recovery source carried through the Queue handoff. */
65
- trigger: 'alarm' | 'queue';
66
- /** Identifies recovery Queue latency, not observed head volume. */
67
- type: 'webhook:head-recovery';
68
- } | {
69
- /** Tempo chain whose poll claim was acquired. */
70
- chainId: number;
71
- /** Delay from observing the desired boundary to acquiring the claim. */
72
- delayMs?: number | undefined;
73
- /** Execution path that acquired the claim. */
74
- trigger: 'alarm' | 'cron' | 'direct' | 'queue';
75
- /** Identifies a poll beginning, before scan work runs. */
76
- type: 'webhook:poll-start';
77
- } | {
78
- /** Tempo chain whose poll failed. */
79
- chainId: number;
80
- /** Bounded class of the thrown failure. */
81
- failure: PollFailure;
82
- /** Operation boundary that rejected the poll. */
83
- stage: 'claim' | 'continuation_enqueue' | 'finish' | 'scan';
84
- /** Execution path that failed before recovery. */
85
- trigger: 'alarm' | 'cron' | 'direct' | 'queue';
86
- /** Identifies a transport-neutral poll failure. */
87
- type: 'webhook:poll-failure';
88
- } | {
89
- chainId: number;
90
- durationMs: number;
91
- eventType?: EventType | undefined;
92
- outcome: 'error' | 'ok';
93
- stage: PollStage;
94
- type: 'webhook:poll';
95
- } | {
96
- /** Tempo chain whose eligible subscription count was read. */
97
- chainId: number;
98
- /** Active, unexpired subscriptions selected for the poll. */
99
- count: number;
100
- /** Identifies a pre-scan subscription eligibility measurement. */
101
- type: 'webhook:poll-subscriptions';
102
- } | {
103
- /** Chain scanned by this poll batch. */
104
- chainId: number;
105
- /** Shared upper bound for concurrent upstream scans. */
106
- concurrency: number;
107
- /** Scan duration, present only after completion. */
108
- durationMs?: number | undefined;
109
- /** Subscription event type scanned by this batch. */
110
- eventType: EventType;
111
- /** Subscriptions whose scan rejected, present only after completion. */
112
- failedSubscriptions?: number | undefined;
113
- /** Matching rows retained by completed pages, present only after completion. */
114
- matchedItems?: number | undefined;
115
- /** Largest block window requested by one subscription. */
116
- maxWindowBlocks: number;
117
- /** Whether the checkpoint precedes allocation or follows scan completion. */
118
- phase: 'complete' | 'start';
119
- /** Outcome of the completed RPC-backed scan. */
120
- outcome?: 'empty' | 'error' | 'missing' | 'ok' | undefined;
121
- /** JSON-RPC method used by this event type's scanner. */
122
- rpcMethod: 'eth_getBlockByNumber' | 'eth_getLogs';
123
- /** Subscriptions retained in this scan batch. */
124
- subscriptionCount: number;
125
- /** Maximum subscriptions retained by this event-type batch. */
126
- subscriptionLimit: number;
127
- /** Sum of subscription block windows in this scan batch. */
128
- totalWindowBlocks: number;
129
- /** Identifies a memory-attribution scan boundary. */
130
- type: 'webhook:poll-scan';
131
- } | {
132
- cursorLagBlocks?: number | undefined;
133
- meta: TickMeta;
134
- result: Webhooks.createPoller.Result | undefined;
135
- type: 'webhook:tick';
136
- } | {
137
- chainId: number;
138
- durationMs: number;
139
- eventType: EventType;
140
- ok: boolean;
141
- type: 'webhook:enqueue';
142
- } | {
143
- chainId: number;
24
+ /** True once finality has deferred this block at least one round. */
25
+ deferred: boolean;
144
26
  /** Rows matched when dispatched; zero otherwise. */
145
27
  matches: number;
28
+ /** Block timestamp to scan completion; absent when the block was not read. */
29
+ scanLagMs?: number | undefined;
30
+ /** Block timestamp to head observation; absent without a fresh stamp. */
31
+ observationLagMs?: number | undefined;
146
32
  /** How the head that enqueued this block was observed. */
147
33
  origin: string;
148
34
  /** One scanned block's outcome. */
149
35
  outcome: 'deferred' | 'dispatched' | 'empty';
36
+ /** Head observation to this scan attempt starting; absent without a stamp. */
37
+ queueWaitMs?: number | undefined;
150
38
  /** Identifies one block-fanout scan. */
151
39
  type: 'webhook:scan-block';
40
+ /** Wall-clock work inside this scan attempt. */
41
+ workMs: number;
42
+ } | {
43
+ chainId: number;
44
+ /** Times this step ran across the batch, so the total can be normalized. */
45
+ count: number;
46
+ /** Wall-clock duration of this step summed across the batch. */
47
+ durationMs: number;
48
+ /** Bounded step name. */
49
+ step: ScanStep;
50
+ /** Identifies per-step scan attribution. */
51
+ type: 'webhook:scan-step';
152
52
  } | {
153
53
  chainId: number;
154
54
  /** Age of the oldest tracked block, absent when none are pending. */
@@ -157,6 +57,8 @@ export type WebhookEvent = {
157
57
  pendingCount: number;
158
58
  /** Identifies the coordinator's tracked-scan backlog. */
159
59
  type: 'webhook:scan-backlog';
60
+ /** Blocks between the chain head and the enqueue watermark. */
61
+ watermarkLagBlocks?: number | undefined;
160
62
  } | {
161
63
  chainId: number;
162
64
  /** Blocks between the observed head and the finalized head. */
@@ -187,9 +89,17 @@ export type WebhookEvent = {
187
89
  deliveryLogMs?: number | undefined;
188
90
  envelopeToQueueMs?: number | undefined;
189
91
  endToEndMs?: number | undefined;
92
+ /** Block timestamp to the attempt leaving; the total latency SLI. */
93
+ eventToAttemptMs?: number | undefined;
190
94
  eventToEnvelopeMs?: number | undefined;
95
+ /** Head observation to the attempt leaving; the controllable SLI. */
96
+ observedToAttemptMs?: number | undefined;
97
+ /** Dequeue to the attempt leaving: claim, reads, signing. */
98
+ preflightMs?: number | undefined;
191
99
  processingMs?: number | undefined;
192
100
  queueWaitMs?: number | undefined;
101
+ /** Response headers to bookkeeping complete; occupancy, not latency. */
102
+ settleMs?: number | undefined;
193
103
  stateWriteMs?: number | undefined;
194
104
  subscriptionReadMs?: number | undefined;
195
105
  };
@@ -200,7 +110,7 @@ export type WebhookEvent = {
200
110
  export type RequestSink = (entry: Log.Entry) => void;
201
111
  /** Records webhook reliability metrics. Built by {@link webhooks}. */
202
112
  export type WebhookSink = {
203
- /** Ships buffered metrics (call once per poller tick / delivery). */
113
+ /** Ships buffered metrics (call once per scan batch / delivery). */
204
114
  flush(): void;
205
115
  /** Records one webhook event. */
206
116
  record(event: WebhookEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"MetricSink.d.ts","sourceRoot":"","sources":["../../src/internal/MetricSink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetricSink.d.ts","sourceRoot":"","sources":["../../src/internal/MetricSink.ts"],"names":[],"mappings":"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"}