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.
- package/dist/App.d.ts +3412 -1968
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js.map +1 -1
- package/dist/Webhooks.d.ts +0 -75
- package/dist/Webhooks.d.ts.map +1 -1
- package/dist/Webhooks.js +1 -143
- package/dist/Webhooks.js.map +1 -1
- package/dist/admin/App.d.ts +74 -74
- package/dist/admin/apps/api-keys.d.ts +4 -4
- package/dist/admin/apps/earn-vaults.d.ts +1 -1
- package/dist/admin/apps/organizations.d.ts +3 -3
- package/dist/admin/apps/verified-tokens.d.ts +74 -74
- package/dist/apps/data/App.d.ts +3618 -2954
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +5 -2
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +1 -1
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +55 -27
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +343 -343
- package/dist/apps/data/routes/balances.d.ts +11 -11
- package/dist/apps/data/routes/blocks.d.ts +5 -5
- package/dist/apps/data/routes/coingecko.d.ts +176 -176
- package/dist/apps/data/routes/earn.d.ts +4 -4
- package/dist/apps/data/routes/exchanges.d.ts +4 -4
- package/dist/apps/data/routes/fee-amm.d.ts +26 -26
- package/dist/apps/data/routes/indexer.d.ts +34 -34
- package/dist/apps/data/routes/receipts.d.ts +236 -236
- package/dist/apps/data/routes/tokenlist.d.ts +12 -12
- package/dist/apps/data/routes/tokens.d.ts +3 -3
- package/dist/apps/data/routes/transactions.d.ts +1 -1
- package/dist/apps/data/routes/transfers.d.ts +13 -13
- package/dist/apps/data/routes/valuation.d.ts +21 -21
- package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
- package/dist/apps/data/routes/webhooks.d.ts +1011 -151
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +124 -737
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +31 -31
- package/dist/apps/funding/routes/deposit-addresses.d.ts +2 -2
- package/dist/apps/funding/routes/providers.d.ts +13 -13
- package/dist/apps/funding/routes/transfers.d.ts +33 -33
- package/dist/apps/management/App.d.ts +793 -16
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +50 -50
- package/dist/apps/management/routes/faucet.d.ts +31 -31
- package/dist/apps/management/routes/invite-links.d.ts +42 -42
- package/dist/apps/management/routes/members.d.ts +79 -79
- package/dist/apps/management/routes/projects.d.ts +40 -40
- package/dist/apps/management/routes/usage.d.ts +80 -80
- package/dist/apps/management/routes/webhooks.d.ts +1031 -59
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/management/routes/webhooks.js +27 -4
- package/dist/apps/management/routes/webhooks.js.map +1 -1
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +21 -0
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +7 -1
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +9 -0
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/webhookQueueEvents.d.ts +3 -1
- package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
- package/dist/db/tables/webhookQueueEvents.js +4 -0
- package/dist/db/tables/webhookQueueEvents.js.map +1 -1
- package/dist/db/tables/webhookSubscriptions.d.ts +33 -69
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +63 -100
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/internal/MetricSink.d.ts +35 -125
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +50 -121
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/Schema.d.ts +3 -1
- package/dist/internal/Schema.d.ts.map +1 -1
- package/dist/internal/Schema.js +4 -2
- package/dist/internal/Schema.js.map +1 -1
- package/dist/internal/WebhookTransfer.d.ts +1 -55
- package/dist/internal/WebhookTransfer.d.ts.map +1 -1
- package/dist/internal/WebhookTransfer.js +1 -239
- package/dist/internal/WebhookTransfer.js.map +1 -1
- package/dist/internal/Webhooks.d.ts +83 -44
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +87 -73
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/funding/DepositWebhook.d.ts +25 -0
- package/dist/internal/funding/DepositWebhook.d.ts.map +1 -0
- package/dist/internal/funding/DepositWebhook.js +74 -0
- package/dist/internal/funding/DepositWebhook.js.map +1 -0
- package/dist/internal/funding/Reconciliation.d.ts +6 -0
- package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
- package/dist/internal/funding/Reconciliation.js +42 -10
- package/dist/internal/funding/Reconciliation.js.map +1 -1
- package/dist/internal/funding/index.d.ts +1 -0
- package/dist/internal/funding/index.d.ts.map +1 -1
- package/dist/internal/funding/index.js +1 -0
- package/dist/internal/funding/index.js.map +1 -1
- package/dist/internal/webhookDestinations/slack.d.ts.map +1 -1
- package/dist/internal/webhookDestinations/slack.js +16 -0
- package/dist/internal/webhookDestinations/slack.js.map +1 -1
- package/package.json +1 -1
- package/src/App.ts +3 -0
- package/src/Client.test-d.ts +22 -1
- package/src/Webhooks.ts +1 -220
- package/src/apps/data/App.ts +8 -2
- package/src/apps/data/routes/activities.test.ts +107 -11
- package/src/apps/data/routes/activities.ts +64 -32
- package/src/apps/data/routes/webhooks.test.ts +179 -1497
- package/src/apps/data/routes/webhooks.ts +150 -974
- package/src/apps/management/routes/webhooks.test.ts +79 -1
- package/src/apps/management/routes/webhooks.ts +40 -4
- package/src/db/Db.test.ts +1 -5
- package/src/db/Db.ts +23 -0
- package/src/db/Schema.ts +13 -0
- package/src/db/tables/organizations.test.ts +5 -2
- package/src/db/tables/webhookQueueEvents.ts +7 -1
- package/src/db/tables/webhookSubscriptions.ts +89 -138
- package/src/internal/MetricSink.test.ts +41 -373
- package/src/internal/MetricSink.ts +92 -273
- package/src/internal/Schema.test.ts +18 -0
- package/src/internal/Schema.ts +13 -2
- package/src/internal/WebhookTransfer.ts +1 -351
- package/src/internal/Webhooks.test.ts +102 -139
- package/src/internal/Webhooks.ts +175 -106
- package/src/internal/funding/DepositWebhook.test.ts +131 -0
- package/src/internal/funding/DepositWebhook.ts +101 -0
- package/src/internal/funding/Reconciliation.test.ts +14 -0
- package/src/internal/funding/Reconciliation.ts +161 -86
- package/src/internal/funding/index.test.ts +1 -0
- package/src/internal/funding/index.ts +1 -0
- package/src/internal/webhookDestinations/slack.ts +15 -0
- package/src/Webhooks.bench.ts +0 -714
- package/src/Webhooks.memory.bench.ts +0 -250
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
187
|
-
*
|
|
188
|
-
*
|
|
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.
|
|
210
|
-
*
|
|
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
|
-
|
|
233
|
-
|
|
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
|
-
.
|
|
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
|
-
|
|
248
|
-
|
|
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
|
|
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
|
|
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
|
|
9
|
-
export type
|
|
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
|
|
23
|
-
*
|
|
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
|
-
/**
|
|
54
|
-
|
|
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
|
|
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":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAGpC,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAEjD,2CAA2C;AAC3C,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,CAAA;AAEvD,
|
|
1
|
+
{"version":3,"file":"MetricSink.d.ts","sourceRoot":"","sources":["../../src/internal/MetricSink.ts"],"names":[],"mappings":"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"}
|