@origintrail-official/dkg-core 10.0.12 → 10.0.13
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/LICENSE +201 -201
- package/README.md +29 -29
- package/dist/assertion-seal.js +46 -1
- package/dist/assertion-seal.js.map +1 -1
- package/dist/author-catalog-codec.d.ts +8 -20
- package/dist/author-catalog-codec.d.ts.map +1 -1
- package/dist/author-catalog-codec.js +33 -41
- package/dist/author-catalog-codec.js.map +1 -1
- package/dist/author-lane-scope-v1.d.ts +40 -0
- package/dist/author-lane-scope-v1.d.ts.map +1 -0
- package/dist/author-lane-scope-v1.js +168 -0
- package/dist/author-lane-scope-v1.js.map +1 -0
- package/dist/backpressure-observability.d.ts +100 -2
- package/dist/backpressure-observability.d.ts.map +1 -1
- package/dist/backpressure-observability.js +83 -6
- package/dist/backpressure-observability.js.map +1 -1
- package/dist/canonical-graph-scoped-author-seal.d.ts +2 -5
- package/dist/canonical-graph-scoped-author-seal.d.ts.map +1 -1
- package/dist/canonical-graph-scoped-author-seal.js +40 -32
- package/dist/canonical-graph-scoped-author-seal.js.map +1 -1
- package/dist/cg-shared-projection.d.ts.map +1 -1
- package/dist/cg-shared-projection.js +2 -10
- package/dist/cg-shared-projection.js.map +1 -1
- package/dist/genesis.js +15 -15
- package/dist/graph-knowledge-asset-metadata.js +106 -106
- package/dist/imported-artifact-metadata.js +31 -31
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ka-bundle-v1.d.ts +2 -0
- package/dist/ka-bundle-v1.d.ts.map +1 -1
- package/dist/ka-bundle-v1.js +7 -2
- package/dist/ka-bundle-v1.js.map +1 -1
- package/dist/ka-content-scope.d.ts +27 -0
- package/dist/ka-content-scope.d.ts.map +1 -1
- package/dist/ka-content-scope.js +43 -1
- package/dist/ka-content-scope.js.map +1 -1
- package/dist/message-stream-pool.d.ts +15 -0
- package/dist/message-stream-pool.d.ts.map +1 -1
- package/dist/message-stream-pool.js +23 -0
- package/dist/message-stream-pool.js.map +1 -1
- package/dist/protocol-router.d.ts +18 -0
- package/dist/protocol-router.d.ts.map +1 -1
- package/dist/protocol-router.js +96 -1
- package/dist/protocol-router.js.map +1 -1
- package/dist/swm-author-inventory-v1.d.ts +83 -0
- package/dist/swm-author-inventory-v1.d.ts.map +1 -0
- package/dist/swm-author-inventory-v1.js +379 -0
- package/dist/swm-author-inventory-v1.js.map +1 -0
- package/dist/telemetry-api.d.ts +17 -0
- package/dist/telemetry-api.d.ts.map +1 -1
- package/dist/telemetry-api.js +8 -0
- package/dist/telemetry-api.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,13 +1,50 @@
|
|
|
1
1
|
export type BackpressureState = 'healthy' | 'degraded' | 'saturated' | 'stalled';
|
|
2
2
|
export type SchedulerPressureOutcome = 'completed' | 'failed' | 'cancelled' | 'released';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* How a scheduler's capacity is divided between its lanes.
|
|
5
|
+
*
|
|
6
|
+
* `partitioned` (the default): every lane owns a private allocation, declared
|
|
7
|
+
* in `lanes`, and fills independently of its neighbours —
|
|
8
|
+
* `StorePriorityScheduler`. Nothing validates the scheduler-level `queueLimit`
|
|
9
|
+
* against the lane allocations: a scheduler may publish their sum (the store
|
|
10
|
+
* scheduler does), or cap its total below what its lanes could hold between
|
|
11
|
+
* them, and `sumLaneLimits` falls back to the sum when no scheduler ceiling is
|
|
12
|
+
* published at all. So read a lane's own limit for lane pressure and the
|
|
13
|
+
* scheduler's for the rollup, and derive neither from the other.
|
|
14
|
+
*
|
|
15
|
+
* `shared`: every lane draws on ONE pool bounded by the scheduler-level
|
|
16
|
+
* `queueLimit`/`inflightLimit`. There is no private allocation to declare, so a
|
|
17
|
+
* lane's ceiling *is* the pool's ceiling, lane ceilings must never be summed,
|
|
18
|
+
* and the depth a lane's queued work is waiting behind is the pool's, not that
|
|
19
|
+
* lane's own share of it — `PriorityAdmissionQueue`.
|
|
20
|
+
*/
|
|
21
|
+
export type SchedulerLaneCapacityModel = 'partitioned' | 'shared';
|
|
22
|
+
interface SchedulerPressureCapacityLimits {
|
|
4
23
|
queueLimit?: number | null;
|
|
5
24
|
inflightLimit?: number | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The two models are mutually exclusive at the type level rather than by
|
|
28
|
+
* convention: a shared pool has no private allocations, so it cannot carry
|
|
29
|
+
* `lanes`. Omitting `capacityModel` keeps the pre-existing `partitioned` shape,
|
|
30
|
+
* so every current caller is unaffected.
|
|
31
|
+
*/
|
|
32
|
+
export type SchedulerPressureCapacity = (SchedulerPressureCapacityLimits & {
|
|
33
|
+
capacityModel?: 'partitioned';
|
|
34
|
+
/**
|
|
35
|
+
* Private per-lane allocations. Independent of the scheduler-level limits
|
|
36
|
+
* above — see {@link SchedulerLaneCapacityModel}; they are not summed and
|
|
37
|
+
* not validated against them.
|
|
38
|
+
*/
|
|
6
39
|
lanes?: Record<string, {
|
|
7
40
|
queueLimit?: number | null;
|
|
8
41
|
inflightLimit?: number | null;
|
|
9
42
|
}>;
|
|
10
|
-
}
|
|
43
|
+
}) | (SchedulerPressureCapacityLimits & {
|
|
44
|
+
capacityModel: 'shared';
|
|
45
|
+
/** A shared pool has no private allocation to declare. */
|
|
46
|
+
lanes?: never;
|
|
47
|
+
});
|
|
11
48
|
export interface SchedulerPressureThresholds {
|
|
12
49
|
/** Queue age that turns otherwise-low utilization into degraded pressure. */
|
|
13
50
|
degradedQueueAgeMs?: number;
|
|
@@ -33,9 +70,44 @@ export interface BackpressureOperationSummary {
|
|
|
33
70
|
export interface BackpressureLaneSnapshot {
|
|
34
71
|
lane: string;
|
|
35
72
|
state: BackpressureState;
|
|
73
|
+
/**
|
|
74
|
+
* How to read `queueLimit` on this row. Under `shared` it is the
|
|
75
|
+
* scheduler-wide pool this lane draws on rather than a private allocation —
|
|
76
|
+
* the same number on every lane, never to be summed.
|
|
77
|
+
*
|
|
78
|
+
* Optional so an existing hand-built `BackpressureSource` still satisfies
|
|
79
|
+
* this type; absent means `partitioned`. `SchedulerPressureTracker` always
|
|
80
|
+
* emits it.
|
|
81
|
+
*/
|
|
82
|
+
capacityModel?: SchedulerLaneCapacityModel;
|
|
83
|
+
/** This lane's own backlog. The attribution signal: whose work is waiting. */
|
|
36
84
|
queued: number;
|
|
85
|
+
/**
|
|
86
|
+
* The depth `state` was actually classified against, and the numerator that
|
|
87
|
+
* goes with `queueLimit` — equal to `queued` for a private allocation, and
|
|
88
|
+
* the pool's whole depth for a shared one. Read this, not `queued`, to
|
|
89
|
+
* compute utilization, so a consumer never has to special-case the model.
|
|
90
|
+
*
|
|
91
|
+
* Optional for the same backward-compatibility reason as `capacityModel`;
|
|
92
|
+
* absent means `queued`.
|
|
93
|
+
*/
|
|
94
|
+
pressureQueued?: number;
|
|
37
95
|
queueLimit: number | null;
|
|
96
|
+
/** This lane's own admitted work. The attribution signal, like `queued`. */
|
|
38
97
|
inflight: number;
|
|
98
|
+
/**
|
|
99
|
+
* The admitted count that goes with `inflightLimit`: this lane's own under a
|
|
100
|
+
* private allocation, and on a shared row **the pool's occupancy, always** —
|
|
101
|
+
* unlike `pressureQueued`, which falls back to the lane's own backlog where
|
|
102
|
+
* no depth was classified (an idle lane, or a pool with no ceiling). The
|
|
103
|
+
* asymmetry is deliberate: `pressureQueued` must equal the classifier's
|
|
104
|
+
* numerator or a row contradicts its own state, while no branch reads
|
|
105
|
+
* `inflight` or `inflightLimit` — this pair is reported, never judged — so on
|
|
106
|
+
* a shared row the ratio is a pool ratio by construction. Gating it on queued
|
|
107
|
+
* work would make the series step 0 -> N on an unrelated enqueue with no
|
|
108
|
+
* change in real concurrency. Absent means `inflight`.
|
|
109
|
+
*/
|
|
110
|
+
pressureInflight?: number;
|
|
39
111
|
inflightLimit: number | null;
|
|
40
112
|
oldestQueuedAgeMs: number;
|
|
41
113
|
oldestActiveAgeMs: number;
|
|
@@ -50,6 +122,16 @@ export interface BackpressureLaneSnapshot {
|
|
|
50
122
|
export interface BackpressureSnapshot {
|
|
51
123
|
scheduler: string;
|
|
52
124
|
state: BackpressureState;
|
|
125
|
+
/**
|
|
126
|
+
* How this scheduler divides capacity between its lanes. It is a **scheduler**
|
|
127
|
+
* invariant — every lane of one scheduler shares it — so read it here; the
|
|
128
|
+
* copy on each lane row is derived, and exists so a single row still explains
|
|
129
|
+
* its own `queueLimit` when it travels alone (a log line, one metric series).
|
|
130
|
+
*
|
|
131
|
+
* Optional so a hand-built `BackpressureSource` still satisfies this type;
|
|
132
|
+
* absent means `partitioned`.
|
|
133
|
+
*/
|
|
134
|
+
capacityModel?: SchedulerLaneCapacityModel;
|
|
53
135
|
totals: {
|
|
54
136
|
queued: number;
|
|
55
137
|
queueLimit: number | null;
|
|
@@ -116,7 +198,22 @@ export declare class SchedulerPressureTracker {
|
|
|
116
198
|
private runtimeFor;
|
|
117
199
|
private recordEvent;
|
|
118
200
|
private recordRejection;
|
|
201
|
+
/**
|
|
202
|
+
* Everything the capacity model decides, in one place: which ceilings apply
|
|
203
|
+
* to a lane, what depth its state is measured against, and whether depth
|
|
204
|
+
* pressure applies at all. `laneSnapshot` stays a model-agnostic classifier,
|
|
205
|
+
* so adding a model means extending this descriptor rather than editing the
|
|
206
|
+
* classifier's branches.
|
|
207
|
+
*/
|
|
208
|
+
private laneCapacityFor;
|
|
119
209
|
private laneSnapshot;
|
|
210
|
+
/**
|
|
211
|
+
* Reached only when the scheduler publishes no ceiling of its own — which is
|
|
212
|
+
* also the only case in which a `shared` lane has none either, since a shared
|
|
213
|
+
* lane's ceiling resolves from that same value. A pool ceiling can therefore
|
|
214
|
+
* never become a summand here, which it must not: summing it would report N×
|
|
215
|
+
* the real capacity and silence the rollup's own saturation branch.
|
|
216
|
+
*/
|
|
120
217
|
private sumLaneLimits;
|
|
121
218
|
private safeMetric;
|
|
122
219
|
}
|
|
@@ -172,4 +269,5 @@ export declare class BackpressureMonitor {
|
|
|
172
269
|
private message;
|
|
173
270
|
private safeEmit;
|
|
174
271
|
}
|
|
272
|
+
export {};
|
|
175
273
|
//# sourceMappingURL=backpressure-observability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backpressure-observability.d.ts","sourceRoot":"","sources":["../src/backpressure-observability.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AACjF,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AAEzF,MAAM,
|
|
1
|
+
{"version":3,"file":"backpressure-observability.d.ts","sourceRoot":"","sources":["../src/backpressure-observability.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,6 +178,7 @@ export class SchedulerPressureTracker {
|
|
|
178
178
|
return {
|
|
179
179
|
scheduler: this.scheduler,
|
|
180
180
|
state,
|
|
181
|
+
capacityModel: this.capacity.capacityModel === 'shared' ? 'shared' : 'partitioned',
|
|
181
182
|
totals,
|
|
182
183
|
lanes: snapshots,
|
|
183
184
|
};
|
|
@@ -211,12 +212,57 @@ export class SchedulerPressureTracker {
|
|
|
211
212
|
runtime.lastRejectedAt = this.now();
|
|
212
213
|
this.recordEvent(lane, 'rejected', normalizedReason);
|
|
213
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Everything the capacity model decides, in one place: which ceilings apply
|
|
217
|
+
* to a lane, what depth its state is measured against, and whether depth
|
|
218
|
+
* pressure applies at all. `laneSnapshot` stays a model-agnostic classifier,
|
|
219
|
+
* so adding a model means extending this descriptor rather than editing the
|
|
220
|
+
* classifier's branches.
|
|
221
|
+
*/
|
|
222
|
+
laneCapacityFor(lane, laneQueued) {
|
|
223
|
+
const shared = this.capacity.capacityModel === 'shared';
|
|
224
|
+
const queueLimit = shared
|
|
225
|
+
? normalizeLimit(this.capacity.queueLimit)
|
|
226
|
+
: normalizeLimit(this.capacity.lanes?.[lane]?.queueLimit);
|
|
227
|
+
// A lane with nothing waiting is not held back by a full queue, whoever
|
|
228
|
+
// filled it. Scoped to `shared` deliberately: under `partitioned` the
|
|
229
|
+
// comparisons imply it only for a positive utilization threshold, and
|
|
230
|
+
// `degradedQueueUtilization` is caller-supplied public API — at 0 the old
|
|
231
|
+
// branch read `0 / limit >= 0` as degraded on an idle lane. Applying the
|
|
232
|
+
// guard there would have been a real behaviour change for a private
|
|
233
|
+
// allocation, so it is not applied there.
|
|
234
|
+
const depthApplies = queueLimit !== null && queueLimit > 0 && (!shared || laneQueued > 0);
|
|
235
|
+
return {
|
|
236
|
+
capacityModel: shared ? 'shared' : 'partitioned',
|
|
237
|
+
queueLimit,
|
|
238
|
+
inflightLimit: shared
|
|
239
|
+
? normalizeLimit(this.capacity.inflightLimit)
|
|
240
|
+
: normalizeLimit(this.capacity.lanes?.[lane]?.inflightLimit),
|
|
241
|
+
// Depth is measured against whatever the lane's ceiling bounds: its own
|
|
242
|
+
// backlog when the allocation is private, the whole pool when the ceiling
|
|
243
|
+
// is shared.
|
|
244
|
+
depthPressure: depthApplies && queueLimit !== null
|
|
245
|
+
? { queued: shared ? this.queued.size : laneQueued, limit: queueLimit }
|
|
246
|
+
: null,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
214
249
|
laneSnapshot(lane, now) {
|
|
215
250
|
const runtime = this.runtimeFor(lane);
|
|
216
251
|
const queued = [...this.queued.values()].filter((entry) => entry.lane === lane);
|
|
217
252
|
const active = [...this.active.values()].filter((entry) => entry.lane === lane);
|
|
218
|
-
const queueLimit =
|
|
219
|
-
|
|
253
|
+
const { capacityModel, queueLimit, inflightLimit, depthPressure, } = this.laneCapacityFor(lane, queued.length);
|
|
254
|
+
// Exactly the depth the classifier used, so `pressureQueued / queueLimit`
|
|
255
|
+
// is always the utilization behind this lane's own state. A lane no depth
|
|
256
|
+
// applies to reports its own backlog rather than a pool it is not being
|
|
257
|
+
// held back by — publishing the pool there would read as full utilization
|
|
258
|
+
// on a lane that is `healthy` and waiting for nothing.
|
|
259
|
+
const pressureQueued = depthPressure?.queued ?? queued.length;
|
|
260
|
+
// The concurrency ceiling on a shared row is the pool's, so the count
|
|
261
|
+
// beside it must be too. The classifier reads neither — this pair is
|
|
262
|
+
// reported, not judged — but a row that pairs a lane-local count with a
|
|
263
|
+
// pool ceiling tells an operator the pool is idle while it is the reason
|
|
264
|
+
// nothing drains.
|
|
265
|
+
const pressureInflight = capacityModel === 'shared' ? this.active.size : active.length;
|
|
220
266
|
const oldestQueuedAgeMs = queued.length === 0
|
|
221
267
|
? 0
|
|
222
268
|
: Math.max(...queued.map((entry) => Math.max(0, Math.floor(now - entry.queuedAt))));
|
|
@@ -227,23 +273,25 @@ export class SchedulerPressureTracker {
|
|
|
227
273
|
if (oldestActiveAgeMs >= this.thresholds.stalledActiveAgeMs) {
|
|
228
274
|
state = 'stalled';
|
|
229
275
|
}
|
|
230
|
-
else if ((
|
|
276
|
+
else if ((depthPressure !== null && depthPressure.queued >= depthPressure.limit)
|
|
231
277
|
|| (runtime.lastRejectedAt !== null
|
|
232
278
|
&& now - runtime.lastRejectedAt <= this.thresholds.rejectionStateWindowMs)) {
|
|
233
279
|
state = 'saturated';
|
|
234
280
|
}
|
|
235
281
|
else if (oldestQueuedAgeMs >= this.thresholds.degradedQueueAgeMs
|
|
236
|
-
|| (
|
|
237
|
-
&&
|
|
238
|
-
&& queued.length / queueLimit >= this.thresholds.degradedQueueUtilization)) {
|
|
282
|
+
|| (depthPressure !== null
|
|
283
|
+
&& depthPressure.queued / depthPressure.limit >= this.thresholds.degradedQueueUtilization)) {
|
|
239
284
|
state = 'degraded';
|
|
240
285
|
}
|
|
241
286
|
return {
|
|
242
287
|
lane,
|
|
243
288
|
state,
|
|
289
|
+
capacityModel,
|
|
244
290
|
queued: queued.length,
|
|
291
|
+
pressureQueued,
|
|
245
292
|
queueLimit,
|
|
246
293
|
inflight: active.length,
|
|
294
|
+
pressureInflight,
|
|
247
295
|
inflightLimit,
|
|
248
296
|
oldestQueuedAgeMs,
|
|
249
297
|
oldestActiveAgeMs,
|
|
@@ -257,6 +305,13 @@ export class SchedulerPressureTracker {
|
|
|
257
305
|
: Math.max(0, Math.floor(now - runtime.lastRejectedAt)),
|
|
258
306
|
};
|
|
259
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* Reached only when the scheduler publishes no ceiling of its own — which is
|
|
310
|
+
* also the only case in which a `shared` lane has none either, since a shared
|
|
311
|
+
* lane's ceiling resolves from that same value. A pool ceiling can therefore
|
|
312
|
+
* never become a summand here, which it must not: summing it would report N×
|
|
313
|
+
* the real capacity and silence the rollup's own saturation branch.
|
|
314
|
+
*/
|
|
260
315
|
sumLaneLimits(field, lanes) {
|
|
261
316
|
if (lanes.length === 0 || lanes.some((lane) => lane[field] === null))
|
|
262
317
|
return null;
|
|
@@ -351,7 +406,14 @@ export function recordBackpressureSnapshotMetrics(snapshot) {
|
|
|
351
406
|
const record = (lane, values) => {
|
|
352
407
|
const attributes = { scheduler: snapshot.scheduler, lane };
|
|
353
408
|
metrics.backpressureQueueDepth.record(values.queued, attributes);
|
|
409
|
+
// `queue_depth` stays this lane's own backlog — the attribution signal —
|
|
410
|
+
// so the numerator that actually goes with `queue_limit` is published
|
|
411
|
+
// beside it. Without this a shared lane exports `queue_depth: 1` against a
|
|
412
|
+
// pool `queue_limit: 4` and a utilization alert reads 25% while the lane is
|
|
413
|
+
// `saturated`; on a private allocation the two are equal.
|
|
414
|
+
metrics.backpressurePressureDepth.record(values.pressureQueued ?? values.queued, attributes);
|
|
354
415
|
metrics.backpressureInflight.record(values.inflight, attributes);
|
|
416
|
+
metrics.backpressurePressureInflight.record(values.pressureInflight ?? values.inflight, attributes);
|
|
355
417
|
metrics.backpressureOldestQueuedAgeMs.record(values.oldestQueuedAgeMs, attributes);
|
|
356
418
|
metrics.backpressureOldestActiveAgeMs.record(values.oldestActiveAgeMs, attributes);
|
|
357
419
|
if (values.queueLimit !== null) {
|
|
@@ -363,6 +425,9 @@ export function recordBackpressureSnapshotMetrics(snapshot) {
|
|
|
363
425
|
};
|
|
364
426
|
record('all', {
|
|
365
427
|
queued: snapshot.totals.queued,
|
|
428
|
+
// The rollup row is the whole queue, so its depth is its own pressure.
|
|
429
|
+
pressureQueued: snapshot.totals.queued,
|
|
430
|
+
pressureInflight: snapshot.totals.inflight,
|
|
366
431
|
queueLimit: snapshot.totals.queueLimit,
|
|
367
432
|
inflight: snapshot.totals.inflight,
|
|
368
433
|
inflightLimit: snapshot.totals.inflightLimit,
|
|
@@ -466,6 +531,10 @@ export class BackpressureMonitor {
|
|
|
466
531
|
.sort((a, b) => b.oldestAgeMs - a.oldestAgeMs)
|
|
467
532
|
.slice(0, MAX_OPERATION_SUMMARIES),
|
|
468
533
|
};
|
|
534
|
+
// A source that predates `pressureQueued` reports its own backlog, which is
|
|
535
|
+
// what a private allocation is classified against anyway.
|
|
536
|
+
const pressureQueued = lane?.pressureQueued ?? values.queued;
|
|
537
|
+
const pressureInflight = lane?.pressureInflight ?? values.inflight;
|
|
469
538
|
return `[backpressure] ${JSON.stringify({
|
|
470
539
|
event,
|
|
471
540
|
scheduler: scheduler.scheduler,
|
|
@@ -473,8 +542,16 @@ export class BackpressureMonitor {
|
|
|
473
542
|
state,
|
|
474
543
|
...(previousState ? { previousState } : {}),
|
|
475
544
|
queued: values.queued,
|
|
545
|
+
// Only when the depth that classified the lane is not the lane's own
|
|
546
|
+
// backlog — i.e. a shared pool. Without it the line reads as a
|
|
547
|
+
// contradiction (`state: saturated` next to `queued: 1, queueLimit: 4`),
|
|
548
|
+
// and the rollup line that would have carried the pool's depth is
|
|
549
|
+
// suppressed exactly when a lane matches the rollup's state. A private
|
|
550
|
+
// allocation emits nothing extra, so those records are unchanged.
|
|
551
|
+
...(pressureQueued === values.queued ? {} : { pressureQueued }),
|
|
476
552
|
queueLimit: values.queueLimit,
|
|
477
553
|
inflight: values.inflight,
|
|
554
|
+
...(pressureInflight === values.inflight ? {} : { pressureInflight }),
|
|
478
555
|
inflightLimit: values.inflightLimit,
|
|
479
556
|
oldestQueuedAgeMs: values.oldestQueuedAgeMs,
|
|
480
557
|
oldestActiveAgeMs: values.oldestActiveAgeMs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backpressure-observability.js","sourceRoot":"","sources":["../src/backpressure-observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAmGhD,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAC5C,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,MAAM,kCAAkC,GAAG,IAAI,CAAC;AAChD,MAAM,iCAAiC,GAAG,MAAM,CAAC;AACjD,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,MAAM,UAAU,GAAsC;IACpD,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,SAAS,QAAQ,CAAC,CAAoB,EAAE,CAAoB;IAC1D,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACtD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAK,KAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,IAAI,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAa,EAAE,QAAQ,GAAG,SAAS;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;AACrE,CAAC;AAED,SAAS,WAAW,CAAC,GAAgC;IACnD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAqC,EACrC,SAAiD,EACjD,GAAW;IAEX,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+C,CAAC;IAC3E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;YACpB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,SAAS;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC3D,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC5G,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACvC,CAAC;AASD;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAC1B,SAAS,CAAS;IAEV,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC/C,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC/C,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IACvC,GAAG,CAAe;IAClB,UAAU,CAAwC;IAC3D,QAAQ,CAA4B;IACpC,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAY,OAAwC;QAClD,IAAI,CAAC,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG;YAChB,kBAAkB,EAChB,OAAO,CAAC,UAAU,EAAE,kBAAkB,IAAI,6BAA6B;YACzE,kBAAkB,EAChB,OAAO,CAAC,UAAU,EAAE,kBAAkB,IAAI,6BAA6B;YACzE,wBAAwB,EACtB,OAAO,CAAC,UAAU,EAAE,wBAAwB,IAAI,kCAAkC;YACpF,sBAAsB,EACpB,OAAO,CAAC,UAAU,EAAE,sBAAsB,IAAI,iCAAiC;SAClF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,QAAmC;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAA2B;QACjC,MAAM,MAAM,GAAuB;YACjC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE;YACvB,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACtD,SAAS,EAAE,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC;YACrD,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAA+B;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,EAChD,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CACjD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAA2B,EAAE,MAAc;QAChD,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,MAA+B,EAAE,MAAc;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY,CAAC,MAA+B,EAAE,MAAM,GAAG,WAAW;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,MAA+B,EAAE,OAAiC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,4BAA4B,CAAC,MAAM,CACpE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,EAC1D;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO;SACR,CACF,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS;YAChC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACpB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YACvD,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;aAC7B,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;mBAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC;YAChD,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;mBACrD,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC;YACnD,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClF,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClF,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;SAC5E,CAAC;QACF,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAC1B,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAChD,SAAS,CACV,CAAC;QACF,IACE,MAAM,CAAC,UAAU,KAAK,IAAI;eACvB,MAAM,CAAC,UAAU,GAAG,CAAC;eACrB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,EACrC,CAAC;YACD,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;aAAM,IACL,MAAM,CAAC,UAAU,KAAK,IAAI;eACvB,MAAM,CAAC,UAAU,GAAG,CAAC;eACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAChF,CAAC;YACD,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACnE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACnE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK;YACL,MAAM;YACN,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG;gBACR,MAAM,EAAE,IAAI,GAAG,EAAE;gBACjB,gBAAgB,EAAE,IAAI,GAAG,EAAE;gBAC3B,cAAc,EAAE,IAAI;aACrB,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,MAAe;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE;YAChE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,eAAe,CAAC,IAAY,EAAE,MAAc;QAClD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAC1B,gBAAgB,EAChB,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC1D,CAAC;QACF,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,GAAW;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QACjF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CACxC,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAC3C,CAAC,CAAC,CAAC;QACR,IAAI,KAAK,GAAsB,SAAS,CAAC;QACzC,IAAI,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC5D,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;aAAM,IACL,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;eACnE,CACD,OAAO,CAAC,cAAc,KAAK,IAAI;mBAC5B,GAAG,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAC1E,EACD,CAAC;YACD,KAAK,GAAG,WAAW,CAAC;QACtB,CAAC;aAAM,IACL,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB;eACpD,CACD,UAAU,KAAK,IAAI;mBAChB,UAAU,GAAG,CAAC;mBACd,MAAM,CAAC,MAAM,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAC1E,EACD,CAAC;YACD,KAAK,GAAG,UAAU,CAAC;QACrB,CAAC;QACD,OAAO;YACL,IAAI;YACJ,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU;YACV,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,aAAa;YACb,iBAAiB;YACjB,iBAAiB;YACjB,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;YAC5E,gBAAgB,EAAE,kBAAkB,CAClC,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,EACjC,GAAG,CACJ;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YACnC,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;YAC5F,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACvD,iBAAiB,EAAE,OAAO,CAAC,cAAc,KAAK,IAAI;gBAChD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,KAAqC,EACrC,KAAiC;QAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,UAAU,CAAC,MAAkB;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC;QACX,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAgB,mBAAmB;IACpB,QAAQ,CAA2B;IAEtD,YAAsB,OAAwC;QAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjC,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAES,sBAAsB,CAAC,QAAmC;QAClE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAES,eAAe,CAAC,IAA2B;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,aAAa,CAAC,MAA+B;QACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAES,cAAc,CAAC,IAA2B,EAAE,MAAc;QAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAES,oBAAoB,CAAC,MAA+B,EAAE,MAAc;QAC5E,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAES,oBAAoB,CAAC,MAA+B,EAAE,MAAe;QAC7E,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAES,cAAc,CACtB,MAA+B,EAC/B,OAAiC;QAEjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IACd,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEjE,QAAQ,CAAC,MAA0B;QACjC,MAAM,EAAE,GAAG,0BAA0B,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,MAAM;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAgD,EAAE,CAAC;QACjE,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,EAAE;oBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO;YACL,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,KAAK,EAAE,UAAU,CAAC,MAAM,CACtB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAC1D,SAAS,CACV;YACD,UAAU;YACV,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAE/D,MAAM,UAAU,iCAAiC,CAAC,QAA8B;IAC9E,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,MAOC,EACD,EAAE;QACF,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QAC3D,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACnF,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,KAAK,EAAE;QACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;QAC9B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;QACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;QAClC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;QAC5C,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB;QACpD,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB;KACrD,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAoBD;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACb,QAAQ,CAAuB;IAC/B,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,GAAG,CAAe;IAClB,IAAI,CAAqC;IACzC,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACzD,KAAK,GAA0C,IAAI,CAAC;IAE5D,YAAY,OAAmC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,oBAAoB,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC;QACxF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,iCAAiC,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;YACzE,CAAC;YACD,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAC3C,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAC5C,SAAS,CACV,CAAC;YACF,MAAM,OAAO,GACX,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7B,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI;aACL,CAAC,CAAC,CAAC;YACN,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,MAAM;oBACjC,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,GAAW,EACX,KAAwB,EACxB,SAA+B,EAC/B,IAAqC,EACrC,GAAW;QAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CACX,MAAM,EACN,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EACjE,SAAS,EACT,IAAI,CACL,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC;QACzD,MAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACtF,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CACX,MAAM,EACN,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC5F,SAAS,EACT,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,OAAO,CACb,KAA6C,EAC7C,SAA+B,EAC/B,IAAqC,EACrC,KAAwB,EACxB,aAAiC;QAEjC,MAAM,MAAM,GAAG,IAAI,IAAI;YACrB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM;YAC/B,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;YACvC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ;YACnC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa;YAC7C,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB;YACrD,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB;YACrD,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa;YAC7C,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;iBACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;iBAC7C,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;YACpC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;iBACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;iBAC7C,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACrC,CAAC;QACF,OAAO,kBAAkB,IAAI,CAAC,SAAS,CAAC;YACtC,KAAK;YACL,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK;YACL,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC,EAAE,CAAC;IACP,CAAC;IAEO,QAAQ,CACd,KAAsB,EACtB,OAAe,EACf,SAA+B,EAC/B,IAAqC;QAErC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"backpressure-observability.js","sourceRoot":"","sources":["../src/backpressure-observability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type AssertionSeal, type GraphScopedAssertionSealCandidate } from './assertion-seal.js';
|
|
2
2
|
import { type AssertionCoordinateV1, type CatalogLaneV1, type ContextGraphIdV1, type SubGraphNameV1 } from './author-catalog-codec.js';
|
|
3
3
|
import { type StrictJsonParseOptions } from './canonical-json.js';
|
|
4
|
+
import { type CanonicalDeterministicUalV1 } from './ka-content-scope.js';
|
|
4
5
|
import { type ChainIdV1, type DecimalU64V1, type Digest32V1, type EvmAddressV1, type KaIdV1 } from './sync-wire-scalars.js';
|
|
5
6
|
declare const HEX_32_V1_BRAND: unique symbol;
|
|
6
7
|
declare const POSITIVE_DECIMAL_U64_V1_BRAND: unique symbol;
|
|
7
8
|
declare const SEAL_TRIPLE_COUNT_V1_BRAND: unique symbol;
|
|
8
9
|
declare const CANONICAL_ISO_UTC_MILLIS_V1_BRAND: unique symbol;
|
|
9
|
-
declare const CANONICAL_DETERMINISTIC_UAL_V1_BRAND: unique symbol;
|
|
10
10
|
export type Hex32V1 = string & {
|
|
11
11
|
readonly [HEX_32_V1_BRAND]: true;
|
|
12
12
|
};
|
|
@@ -19,9 +19,7 @@ export type SealTripleCountV1 = DecimalU64V1 & {
|
|
|
19
19
|
export type CanonicalIsoUtcMillisV1 = string & {
|
|
20
20
|
readonly [CANONICAL_ISO_UTC_MILLIS_V1_BRAND]: true;
|
|
21
21
|
};
|
|
22
|
-
export type CanonicalDeterministicUalV1
|
|
23
|
-
readonly [CANONICAL_DETERMINISTIC_UAL_V1_BRAND]: true;
|
|
24
|
-
};
|
|
22
|
+
export type { CanonicalDeterministicUalV1 } from './ka-content-scope.js';
|
|
25
23
|
export declare const CANONICAL_GRAPH_SCOPED_AUTHOR_SEAL_DIGEST_DOMAIN_V1: "dkg-ka-author-seal-v1\n";
|
|
26
24
|
export declare const MAX_CANONICAL_GRAPH_SCOPED_AUTHOR_SEAL_BYTES_V1: number;
|
|
27
25
|
export declare const MAX_SEAL_TRIPLE_COUNT_V1 = 9007199254740991n;
|
|
@@ -132,5 +130,4 @@ export declare function decodeCanonicalGraphScopedAuthorSealRowsV1(rows: readonl
|
|
|
132
130
|
* no catalog-row, signature/root, deployment, or chain-authority admission.
|
|
133
131
|
*/
|
|
134
132
|
export declare function classifyCanonicalGraphScopedAuthorSealRowsV1(rows: readonly CanonicalAuthorSealStoreRowV1[], coordinate: CanonicalGraphScopedAuthorSealCoordinateV1): ClassifiedCanonicalGraphScopedAuthorSealRowsV1;
|
|
135
|
-
export {};
|
|
136
133
|
//# sourceMappingURL=canonical-graph-scoped-author-seal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-graph-scoped-author-seal.d.ts","sourceRoot":"","sources":["../src/canonical-graph-scoped-author-seal.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"canonical-graph-scoped-author-seal.d.ts","sourceRoot":"","sources":["../src/canonical-graph-scoped-author-seal.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ import { sha256 } from '@noble/hashes/sha2.js';
|
|
|
2
2
|
import { ASSERTION_SEAL_PREDICATES, buildAssertionSealQuads, parseGraphScopedAssertionSealCandidate, } from './assertion-seal.js';
|
|
3
3
|
import { assertAssertionCoordinateV1, assertContextGraphIdV1, assertSubGraphNameV1, buildCatalogAssertionScopeV1, buildCatalogAssertionSubjectV1, } from './author-catalog-codec.js';
|
|
4
4
|
import { canonicalizeJson, parseCanonicalJson, } from './canonical-json.js';
|
|
5
|
-
import { GRAPH_KA_CONTENT_SCOPE_VERSION,
|
|
5
|
+
import { GRAPH_KA_CONTENT_SCOPE_VERSION, assertCanonicalDeterministicUalV1 as assertSharedCanonicalDeterministicUalV1, } from './ka-content-scope.js';
|
|
6
6
|
import { isSafeIri } from './sparql-safe.js';
|
|
7
7
|
import { assertCanonicalChainId, assertCanonicalDigest, assertCanonicalEvmAddress, parseCanonicalDecimalU64, parseCanonicalDecimalU256, } from './sync-wire-scalars.js';
|
|
8
|
-
import { assertExactKeys, isPlainRecord } from './sync-wire-objects.js';
|
|
8
|
+
import { assertExactKeys, isPlainRecord, snapshotExactDataRecord, } from './sync-wire-objects.js';
|
|
9
9
|
export const CANONICAL_GRAPH_SCOPED_AUTHOR_SEAL_DIGEST_DOMAIN_V1 = 'dkg-ka-author-seal-v1\n';
|
|
10
10
|
export const MAX_CANONICAL_GRAPH_SCOPED_AUTHOR_SEAL_BYTES_V1 = 16 * 1024;
|
|
11
11
|
export const MAX_SEAL_TRIPLE_COUNT_V1 = 9007199254740991n;
|
|
@@ -90,7 +90,7 @@ export function assertCanonicalGraphScopedAuthorSealV1(payload) {
|
|
|
90
90
|
if (!isPlainRecord(payload)) {
|
|
91
91
|
fail('canonical-seal-schema', 'canonical author seal must be a plain JSON object');
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
const sealedPayload = snapshotClosedKeys(payload, [
|
|
94
94
|
'assertedAtChainId',
|
|
95
95
|
'assertedAtKav10Address',
|
|
96
96
|
'assertionFinalizedAt',
|
|
@@ -107,42 +107,46 @@ export function assertCanonicalGraphScopedAuthorSealV1(payload) {
|
|
|
107
107
|
'publicTripleCount',
|
|
108
108
|
'reservedKaId',
|
|
109
109
|
], 'canonical graph-scoped author seal');
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
// Preserve the outer wire-envelope limit as the first failure for hostile
|
|
111
|
+
// oversized scalar input. The snapshot above guarantees this scan cannot
|
|
112
|
+
// invoke accessors or observe a field twice.
|
|
113
|
+
rejectOversizedPayloadScalars(sealedPayload);
|
|
114
|
+
assertSealScalar(() => assertCanonicalDigest(sealedPayload.assertionMerkleRoot, 'assertionMerkleRoot'));
|
|
115
|
+
assertSealScalar(() => assertCanonicalEvmAddress(sealedPayload.authorAddress, 'authorAddress'));
|
|
116
|
+
assertHex32V1(sealedPayload.authorAttestationR, 'authorAttestationR');
|
|
117
|
+
assertHex32V1(sealedPayload.authorAttestationVS, 'authorAttestationVS');
|
|
118
|
+
if (sealedPayload.authorSchemeVersion !== '1') {
|
|
115
119
|
fail('canonical-seal-schema', 'authorSchemeVersion must be the exact string "1"');
|
|
116
120
|
}
|
|
117
|
-
assertSealScalar(() => assertCanonicalChainId(
|
|
118
|
-
assertSealScalar(() => assertCanonicalEvmAddress(
|
|
119
|
-
const reservedKaId = assertSealU256(
|
|
120
|
-
assertCanonicalIsoUtcMillisV1(
|
|
121
|
-
if (
|
|
121
|
+
assertSealScalar(() => assertCanonicalChainId(sealedPayload.assertedAtChainId, 'assertedAtChainId'));
|
|
122
|
+
assertSealScalar(() => assertCanonicalEvmAddress(sealedPayload.assertedAtKav10Address, 'assertedAtKav10Address'));
|
|
123
|
+
const reservedKaId = assertSealU256(sealedPayload.reservedKaId, 'reservedKaId');
|
|
124
|
+
assertCanonicalIsoUtcMillisV1(sealedPayload.assertionFinalizedAt);
|
|
125
|
+
if (sealedPayload.contentScopeVersion !== '2') {
|
|
122
126
|
fail('canonical-seal-schema', 'contentScopeVersion must be the exact string "2"');
|
|
123
127
|
}
|
|
124
|
-
const ual =
|
|
125
|
-
const assertionVersion = assertSealU64(
|
|
128
|
+
const ual = assertCanonicalSealDeterministicUalV1(sealedPayload.kaUal);
|
|
129
|
+
const assertionVersion = assertSealU64(sealedPayload.assertionVersion, 'assertionVersion');
|
|
126
130
|
if (assertionVersion < 1n) {
|
|
127
131
|
fail('canonical-seal-scalar', 'assertionVersion must be in 1..2^64-1');
|
|
128
132
|
}
|
|
129
|
-
const publicCount = assertSealTripleCountV1(
|
|
130
|
-
const privateCount = assertSealTripleCountV1(
|
|
133
|
+
const publicCount = assertSealTripleCountV1(sealedPayload.publicTripleCount, 'publicTripleCount');
|
|
134
|
+
const privateCount = assertSealTripleCountV1(sealedPayload.privateTripleCount, 'privateTripleCount');
|
|
131
135
|
if (publicCount + privateCount < 1n) {
|
|
132
136
|
fail('canonical-seal-count', 'publicTripleCount + privateTripleCount must be positive');
|
|
133
137
|
}
|
|
134
|
-
if (
|
|
138
|
+
if (sealedPayload.privateMerkleRoot === null) {
|
|
135
139
|
if (privateCount !== 0n) {
|
|
136
140
|
fail('canonical-seal-private-root', 'positive privateTripleCount requires privateMerkleRoot');
|
|
137
141
|
}
|
|
138
142
|
}
|
|
139
143
|
else {
|
|
140
|
-
assertSealScalar(() => assertCanonicalDigest(
|
|
144
|
+
assertSealScalar(() => assertCanonicalDigest(sealedPayload.privateMerkleRoot, 'privateMerkleRoot'));
|
|
141
145
|
if (privateCount === 0n) {
|
|
142
146
|
fail('canonical-seal-private-root', 'privateMerkleRoot requires positive privateTripleCount');
|
|
143
147
|
}
|
|
144
148
|
}
|
|
145
|
-
if (ual.agentAddress !==
|
|
149
|
+
if (ual.agentAddress !== sealedPayload.authorAddress) {
|
|
146
150
|
fail('canonical-seal-binding', 'kaUal author must equal authorAddress');
|
|
147
151
|
}
|
|
148
152
|
const packedKaId = (BigInt(ual.agentAddress) << 96n) | BigInt(ual.kaNumber);
|
|
@@ -151,7 +155,7 @@ export function assertCanonicalGraphScopedAuthorSealV1(payload) {
|
|
|
151
155
|
}
|
|
152
156
|
// The structural domain is intentionally capped even though the frozen field
|
|
153
157
|
// widths currently keep every valid payload well below it.
|
|
154
|
-
canonicalizePayloadAfterValidation(
|
|
158
|
+
canonicalizePayloadAfterValidation(sealedPayload);
|
|
155
159
|
}
|
|
156
160
|
export function canonicalizeCanonicalGraphScopedAuthorSealV1(payload) {
|
|
157
161
|
assertCanonicalGraphScopedAuthorSealV1(payload);
|
|
@@ -466,16 +470,9 @@ function assertCanonicalIsoUtcMillisV1(value) {
|
|
|
466
470
|
fail('canonical-seal-timestamp', 'assertionFinalizedAt is not a real UTC instant');
|
|
467
471
|
}
|
|
468
472
|
}
|
|
469
|
-
function
|
|
470
|
-
if (typeof value !== 'string') {
|
|
471
|
-
fail('canonical-seal-ual', 'kaUal must be a string');
|
|
472
|
-
}
|
|
473
|
+
function assertCanonicalSealDeterministicUalV1(value) {
|
|
473
474
|
try {
|
|
474
|
-
const parsed =
|
|
475
|
-
assertCanonicalEvmAddress(parsed.agentAddress, 'kaUal author');
|
|
476
|
-
if (parsed.ual !== value) {
|
|
477
|
-
fail('canonical-seal-ual', 'kaUal must already be in canonical form');
|
|
478
|
-
}
|
|
475
|
+
const parsed = assertSharedCanonicalDeterministicUalV1(value);
|
|
479
476
|
return {
|
|
480
477
|
ual: parsed.ual,
|
|
481
478
|
agentAddress: parsed.agentAddress,
|
|
@@ -522,14 +519,25 @@ function assertSealScalar(operation) {
|
|
|
522
519
|
fail('canonical-seal-scalar', 'author-seal scalar is not canonical', cause);
|
|
523
520
|
}
|
|
524
521
|
}
|
|
525
|
-
function
|
|
522
|
+
function snapshotClosedKeys(record, keys, label) {
|
|
526
523
|
try {
|
|
527
|
-
|
|
524
|
+
return snapshotExactDataRecord(record, keys, label);
|
|
528
525
|
}
|
|
529
526
|
catch (cause) {
|
|
530
527
|
fail('canonical-seal-schema', `${label} has an invalid field set`, cause);
|
|
531
528
|
}
|
|
532
529
|
}
|
|
530
|
+
function rejectOversizedPayloadScalars(record) {
|
|
531
|
+
let scalarBytes = 0;
|
|
532
|
+
for (const value of Object.values(record)) {
|
|
533
|
+
if (typeof value !== 'string')
|
|
534
|
+
continue;
|
|
535
|
+
scalarBytes += UTF8.encode(value).byteLength;
|
|
536
|
+
if (scalarBytes > MAX_CANONICAL_GRAPH_SCOPED_AUTHOR_SEAL_BYTES_V1) {
|
|
537
|
+
fail('canonical-seal-too-large', 'canonical author-seal payload exceeds its v1 bounds');
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
}
|
|
533
541
|
function assertClosedCoordinateKeys(record) {
|
|
534
542
|
try {
|
|
535
543
|
assertExactKeys(record, [
|