@blockcast/fec-worker 0.3.0 → 0.4.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/README.md +15 -20
- package/dist/block-order.d.ts +3 -19
- package/dist/block-order.d.ts.map +1 -1
- package/dist/block-order.js +3 -33
- package/dist/block-order.js.map +1 -1
- package/dist/fec-worker-client.d.ts +6 -16
- package/dist/fec-worker-client.d.ts.map +1 -1
- package/dist/fec-worker-client.js +10 -38
- package/dist/fec-worker-client.js.map +1 -1
- package/dist/fec-worker-types.d.ts +47 -101
- package/dist/fec-worker-types.d.ts.map +1 -1
- package/dist/fec-worker-types.js +2 -2
- package/dist/fec-worker.js +26 -187
- package/dist/fec-worker.js.map +2 -2
- package/package.json +4 -7
- package/src/block-order.ts +3 -37
- package/src/fec-worker-client.ts +8 -40
- package/src/fec-worker-types.ts +47 -101
- package/src/fec-worker.ts +49 -454
|
@@ -2,26 +2,23 @@
|
|
|
2
2
|
* @blockcast/fec-worker — Shared Type Definitions
|
|
3
3
|
*
|
|
4
4
|
* Defines the Worker message protocol (commands/events), FecTrackStats shape
|
|
5
|
-
* consumed by fec-panel (Phase 5) and CmcdProducer (Phase 6), and
|
|
6
|
-
*
|
|
5
|
+
* consumed by fec-panel (Phase 5) and CmcdProducer (Phase 6), and the relay
|
|
6
|
+
* block signature stub.
|
|
7
7
|
*
|
|
8
8
|
* Types here are importable from both main thread and Worker contexts.
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* FEC block profile (BLO-35597, ISO/IEC 23008-1 Annex C): the catalog
|
|
12
|
-
* `fec.blockProfile` token.
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* packet mod 2^32; a block is `[SS_Start, SS_Start + SSB_length)` keyed by
|
|
19
|
-
* SS_Start; `k` is only the maximum SSB_length; repair ESI =
|
|
20
|
-
* SSB_length + RS_ID.
|
|
12
|
+
* `fec.blockProfile` token. Required and never inferred; the only profile is
|
|
13
|
+
* `iso-ssbg1-v1` (C.3.3 ssbg_mode1): SS_ID increments by one per source
|
|
14
|
+
* packet mod 2^32; a block is `[SS_Start, SS_Start + SSB_length)` keyed by
|
|
15
|
+
* SS_Start; `k` is only the maximum SSB_length; repair ESI =
|
|
16
|
+
* SSB_length + RS_ID. The retired `k-padded-v1` token is refused like any
|
|
17
|
+
* unknown one.
|
|
21
18
|
*
|
|
22
19
|
* Mirrors @blockcast/mmt-base `FecBlockProfile`.
|
|
23
20
|
*/
|
|
24
|
-
export type FecBlockProfile = "
|
|
21
|
+
export type FecBlockProfile = "iso-ssbg1-v1";
|
|
25
22
|
/** Per-track FEC configuration. Matches design spec section 3.2 FecTrackConfig. */
|
|
26
23
|
export interface FecTrackConfig {
|
|
27
24
|
/** Codec string, e.g. 'avc1.64001f', 'mp4a.40.2' */
|
|
@@ -49,32 +46,36 @@ export interface FecTrackConfig {
|
|
|
49
46
|
repairCount: number;
|
|
50
47
|
/** Bytes per symbol */
|
|
51
48
|
symbolSize: number;
|
|
52
|
-
/** Retained decoder horizon as a BLOCK COUNT
|
|
53
|
-
*
|
|
54
|
-
* `
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* (block-order.ts), the lower bound every ISO receiver layer shares.
|
|
49
|
+
/** Retained decoder horizon as a BLOCK COUNT, not D. `isRetiredSbn`
|
|
50
|
+
* retires blocks more than this many blocks behind the live SS_ID, by
|
|
51
|
+
* `isoBlocksBehind(SS_ID, live SS_ID, k)` (block-order.ts), the lower
|
|
52
|
+
* bound every ISO receiver layer shares, and `MmtFecDecoder::new`
|
|
53
|
+
* documents it as "the number of interleaved blocks".
|
|
58
54
|
* Never assign `deriveFecInterleaveDepth()` here — that returns media units
|
|
59
55
|
* per block, which is a different quantity (BLO-35597). */
|
|
60
56
|
interleaveDepth: number;
|
|
61
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Catalog interleave span in integer milliseconds. A positive value is the complete
|
|
59
|
+
* source-plus-repair span; zero represents an absent/zero catalog span and
|
|
60
|
+
* carries no elapsed-time deadline.
|
|
61
|
+
*/
|
|
62
62
|
interleaveMs: number;
|
|
63
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* Positive cleanup budget. For a positive `interleaveMs` this is the
|
|
65
|
+
* catalog span plus its explicit reorder allowance. For zero it is a
|
|
66
|
+
* receiver-local bound only, never an inferred catalog deadline.
|
|
67
|
+
*/
|
|
64
68
|
deliveryWindowMs: number;
|
|
65
69
|
/** FEC encoding mode */
|
|
66
70
|
fecMode: "subframe" | "object";
|
|
67
71
|
/** MoQ repair track name (optional) */
|
|
68
72
|
repairTrack?: string;
|
|
69
|
-
/** Whether ALTA publisher auth is enabled (AUTH-01) */
|
|
70
|
-
altaEnabled: boolean;
|
|
71
73
|
/** Whether relay block signature verification is enabled (AUTH-01) */
|
|
72
74
|
relayBlockSigEnabled: boolean;
|
|
73
75
|
}
|
|
74
76
|
/** Per-block snapshot for live block visualization and stats. */
|
|
75
77
|
export interface FecBlockSnapshot {
|
|
76
|
-
/** Block key: the
|
|
77
|
-
* SS_Start under `iso-ssbg1-v1`. */
|
|
78
|
+
/** Block key: the block's SS_Start. */
|
|
78
79
|
sbn: number;
|
|
79
80
|
/** Current block state */
|
|
80
81
|
state: "collecting" | "complete" | "recovered" | "failed";
|
|
@@ -97,10 +98,11 @@ export interface FecBlockSnapshot {
|
|
|
97
98
|
lastSymbolTs: number;
|
|
98
99
|
/** Timestamp when block completed (ms), undefined if not yet complete */
|
|
99
100
|
completedTs?: number;
|
|
100
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* Cleanup timestamp (ms). It is the catalog completion deadline when
|
|
103
|
+
* `config.interleaveMs > 0`, and a local retention timestamp otherwise.
|
|
104
|
+
*/
|
|
101
105
|
deadlineTs: number;
|
|
102
|
-
/** Count of source symbols with valid ALTA signature (AUTH-02) */
|
|
103
|
-
altaVerified: number;
|
|
104
106
|
/** Relay block signature validity: true/false after verification, null if not yet verified (AUTH-02) */
|
|
105
107
|
relayBlockSigValid: boolean | null;
|
|
106
108
|
}
|
|
@@ -120,44 +122,11 @@ export interface FecTrackStats {
|
|
|
120
122
|
blocksFailed: number;
|
|
121
123
|
/** Recovery success rate 0-100 */
|
|
122
124
|
recoveryRate: number;
|
|
123
|
-
/** Packets with valid publisher ALTA signature */
|
|
124
|
-
altaVerified: number;
|
|
125
|
-
/** Packets with MAC / signature / hash-chain mismatch (tamper-confirmed) */
|
|
126
|
-
altaFailed: number;
|
|
127
|
-
/** Packets that couldn't be verified due to missing trailer / not-ready verifier /
|
|
128
|
-
* late-joiner bootstrap gap. Neither tamper nor error — just unverifiable. */
|
|
129
|
-
altaPending: number;
|
|
130
|
-
/** Deferred-queue entries evicted by cap (queue full). Separate counter so
|
|
131
|
-
* cap misconfiguration is distinguishable from natural bootstrap-gap noise. */
|
|
132
|
-
altaPendingEvictedCap: number;
|
|
133
|
-
/** Deferred-queue entries evicted by TTL (retry window expired). */
|
|
134
|
-
altaPendingEvictedTtl: number;
|
|
135
|
-
/** verifyDetached / parse threw an exception (WASM trap, OOM, unmarshal panic).
|
|
136
|
-
* Not counted as altaFailed because the cause isn't crypto — helps ops
|
|
137
|
-
* distinguish infrastructure flake from tamper. */
|
|
138
|
-
altaError: number;
|
|
139
|
-
/** True if ALTA was enabled at configure time but the verifier WASM init
|
|
140
|
-
* failed. Ops alerting should treat this as "ALTA disabled due to error",
|
|
141
|
-
* distinct from "ALTA disabled by config" (altaEnabled flag not present). */
|
|
142
|
-
altaInitFailed: boolean;
|
|
143
|
-
/** Diagnostic: last ≤16 altaFailed events with full context (seq, error
|
|
144
|
-
* string from the verifier, auth+payload lengths, and which code path
|
|
145
|
-
* raised the failure). Bounded so it can't blow memory. Intended for
|
|
146
|
-
* investigation — not a stable API; consumers should treat it as
|
|
147
|
-
* opt-in and defensive (may be undefined). */
|
|
148
|
-
altaFailedDetails?: Array<{
|
|
149
|
-
seq: number;
|
|
150
|
-
error: string;
|
|
151
|
-
authLen: number;
|
|
152
|
-
payloadLen: number;
|
|
153
|
-
path: string;
|
|
154
|
-
}>;
|
|
155
125
|
/** Blocks with valid relay signature */
|
|
156
126
|
relayBlocksVerified: number;
|
|
157
127
|
/** Blocks with invalid relay signature */
|
|
158
128
|
relayBlocksFailed: number;
|
|
159
|
-
/** Live media position: the newest
|
|
160
|
-
* `k-padded-v1`, the newest accepted SS_ID / SS_Start under `iso-ssbg1-v1`. */
|
|
129
|
+
/** Live media position: the newest accepted SS_ID / SS_Start. */
|
|
161
130
|
liveSbn: number;
|
|
162
131
|
/** Active block snapshots */
|
|
163
132
|
blocks: FecBlockSnapshot[];
|
|
@@ -207,13 +176,14 @@ export interface FecTrackStats {
|
|
|
207
176
|
*/
|
|
208
177
|
sourceDroppedDuplicate?: number;
|
|
209
178
|
/**
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
179
|
+
* Accepted source symbols whose block never became known (no repair
|
|
180
|
+
* symbol named a range containing them) before their SS_ID fell behind
|
|
181
|
+
* the retained horizon. They were already fed to the decoder and routed
|
|
182
|
+
* directly; this counts the bookkeeping retired with them, i.e. evidence
|
|
183
|
+
* that a block's repair symbols never arrived. The decoder retires its
|
|
184
|
+
* own copies by the same horizon inside `cleanup_by_ss_start`.
|
|
215
185
|
*/
|
|
216
|
-
sourceUnplacedRetired
|
|
186
|
+
sourceUnplacedRetired: number;
|
|
217
187
|
/** Native decoder counters, converted to numbers so browser diagnostics remain JSON-safe. */
|
|
218
188
|
decoder?: {
|
|
219
189
|
sourcePackets: number;
|
|
@@ -235,11 +205,9 @@ export type FecWorkerErrorCode = "recovered-symbol-size-unconfigured" | "recover
|
|
|
235
205
|
| "recovered-block-unplaced" | "reset-failed" | "unknown-command" | "command-failed" | "worker-runtime" | "worker-message";
|
|
236
206
|
/** Per-frame metadata emitted with frame events from Worker. */
|
|
237
207
|
export interface FrameMeta {
|
|
238
|
-
/** ALTA verification result: true/false after check, null when ALTA not configured (AUTH-04) */
|
|
239
|
-
altaVerified: boolean | null;
|
|
240
208
|
/** Whether this frame was recovered via FEC (not received directly) */
|
|
241
209
|
recovered: boolean;
|
|
242
|
-
/** Block key this frame belongs to:
|
|
210
|
+
/** Block key this frame belongs to: the block's SS_Start */
|
|
243
211
|
sbn: number;
|
|
244
212
|
/** Encoding Symbol ID within the recovered source block (0..ssbLength-1).
|
|
245
213
|
* Under `iso-ssbg1-v1` a recovered frame is the full T-byte ssbg_mode1
|
|
@@ -258,49 +226,27 @@ export type FecWorkerCommand = {
|
|
|
258
226
|
type: "configure";
|
|
259
227
|
config: FecTrackConfig;
|
|
260
228
|
wasmModule: WebAssembly.Module;
|
|
261
|
-
/**
|
|
262
|
-
* ALTA public key as PKCS#8 SubjectPublicKeyInfo DER bytes (self-describing).
|
|
263
|
-
* Algorithm (Ed25519 or ECDSA P-256) is auto-detected from the SPKI OID.
|
|
264
|
-
* Ed25519 SPKI is 44 bytes; P-256 uncompressed is 91 bytes.
|
|
265
|
-
*/
|
|
266
|
-
altaPublicKey?: ArrayBuffer;
|
|
267
|
-
/** Pre-compiled ALTA WASM module. Structured-cloneable (NOT transferable) — do not add to transfer list. */
|
|
268
|
-
altaWasmModule?: WebAssembly.Module;
|
|
269
229
|
} | {
|
|
270
230
|
type: "feedSource";
|
|
271
231
|
/** Flat 32-bit Source Symbol ID from the MMTP Source FEC Payload ID
|
|
272
|
-
* (ISO 23008-1 §C.5.2).
|
|
273
|
-
*
|
|
274
|
-
* pre-compute
|
|
275
|
-
* packet mod 2^32 and the block comes from a repair's range. */
|
|
232
|
+
* (ISO 23008-1 §C.5.2). SS_IDs are consecutive per source packet mod
|
|
233
|
+
* 2^32 and the block comes from a repair's range — do NOT
|
|
234
|
+
* pre-compute a block. */
|
|
276
235
|
ssId: number;
|
|
277
|
-
/**
|
|
278
|
-
*
|
|
236
|
+
/** The protected packet exactly, unpadded and without its SS_ID (at
|
|
237
|
+
* most T-2 bytes). */
|
|
279
238
|
data: ArrayBuffer;
|
|
280
239
|
ts: number;
|
|
281
|
-
/** Optional ALTA authenticator bytes (detached mode — 08-07 MMTP
|
|
282
|
-
* trailer). Present when the source packet carried a
|
|
283
|
-
* `[0xF0A1][len][auth]` trailer and ALTA is enabled at the worker.
|
|
284
|
-
* When omitted, the worker skips verification and the packet
|
|
285
|
-
* counts as `altaPending`. */
|
|
286
|
-
altaAuth?: ArrayBuffer;
|
|
287
|
-
/** Byte offset within `data` where the signed MMTP payload ends
|
|
288
|
-
* (== where the trailer began on the wire). Required when
|
|
289
|
-
* `altaAuth` is present. Worker constructs
|
|
290
|
-
* `payload = new Uint8Array(data, 0, altaPayloadEnd)` for
|
|
291
|
-
* `verifyDetached(altaAuth, payload)`. */
|
|
292
|
-
altaPayloadEnd?: number;
|
|
293
240
|
} | {
|
|
294
241
|
type: "feedRepair";
|
|
295
242
|
/** SS_Start: SS_ID of the first source symbol in the block, from the
|
|
296
|
-
* MMTP Repair FEC Payload ID (ISO 23008-1 §C.5.3)
|
|
297
|
-
*
|
|
243
|
+
* MMTP Repair FEC Payload ID (ISO 23008-1 §C.5.3): any uint32; the
|
|
244
|
+
* block key. */
|
|
298
245
|
ssStart: number;
|
|
299
246
|
/** Authored source-symbol count for this block; 1..configured K. */
|
|
300
247
|
ssbLength: number;
|
|
301
248
|
/** RS_ID: repair symbol index within the block; WASM maps to repair
|
|
302
|
-
* ESI =
|
|
303
|
-
* (`iso-ssbg1-v1`). */
|
|
249
|
+
* ESI = SSB_length + RS_ID. */
|
|
304
250
|
rsId: number;
|
|
305
251
|
data: ArrayBuffer;
|
|
306
252
|
ts: number;
|
|
@@ -322,7 +268,7 @@ export type FecWorkerCommand = {
|
|
|
322
268
|
} | {
|
|
323
269
|
type: "cleanup";
|
|
324
270
|
/** Every timed-out block covered by this coalesced queue-drain barrier,
|
|
325
|
-
* by block key
|
|
271
|
+
* by block key (SS_Start). */
|
|
326
272
|
sbns: number[];
|
|
327
273
|
} | {
|
|
328
274
|
type: "reset";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fec-worker-types.d.ts","sourceRoot":"","sources":["../src/fec-worker-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH
|
|
1
|
+
{"version":3,"file":"fec-worker-types.d.ts","sourceRoot":"","sources":["../src/fec-worker-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC;AAE7C,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC9B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,YAAY,EAAE,eAAe,CAAC;IAC9B,wFAAwF;IACxF,CAAC,EAAE,MAAM,CAAC;IACV,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;gEAM4D;IAC5D,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC/B,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sEAAsE;IACtE,oBAAoB,EAAE,OAAO,CAAC;CAC9B;AAID,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAChC,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1D,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,CAAC,EAAE,MAAM,CAAC;IACV;;;8CAG0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,wGAAwG;IACxG,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAID,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC7B,0BAA0B;IAC1B,MAAM,EAAE,cAAc,CAAC;IAEvB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAE1B,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,6CAA6C;IAC7C,sBAAsB,EAAE,MAAM,CAAC;IAE/B,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;OAOG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B,6FAA6F;IAC7F,OAAO,CAAC,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAC3B,oCAAoC,GACpC,2BAA2B,GAC3B,qCAAqC,GACrC,6BAA6B,GAC7B,4BAA4B;AAC9B,uGAAuG;GACrG,sBAAsB;AACxB,2GAA2G;GACzG,gCAAgC;AAClC,uHAAuH;GACrH,0BAA0B,GAC1B,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,CAAC;AAIpB,gEAAgE;AAChE,MAAM,WAAW,SAAS;IACzB,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ;;;0BAGsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GACzB;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;CAC9B,GACD;IACA,IAAI,EAAE,YAAY,CAAC;IACnB;;;+BAG2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb;2BACuB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACV,GACD;IACA,IAAI,EAAE,YAAY,CAAC;IACnB;;qBAEiB;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB;oCACgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACV,GACD;IACA;;;;;;OAMG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC3B,GACD;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;CACjB,GACD;IACA,IAAI,EAAE,SAAS,CAAC;IAChB;mCAC+B;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;CACd,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB;;;;;GAKG;GACD;IAAE,IAAI,EAAE,uBAAuB,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEvB,kDAAkD;AAClD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACrC,gBAAgB,EAChB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAC/C,CAAC;AAIF,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE;AAC3B;;;;;GAKG;GACD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,wBAAwB,EAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEjE,uEAAuE;AACvE,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG,uBAAuB,CAAC"}
|
package/dist/fec-worker-types.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @blockcast/fec-worker — Shared Type Definitions
|
|
3
3
|
*
|
|
4
4
|
* Defines the Worker message protocol (commands/events), FecTrackStats shape
|
|
5
|
-
* consumed by fec-panel (Phase 5) and CmcdProducer (Phase 6), and
|
|
6
|
-
*
|
|
5
|
+
* consumed by fec-panel (Phase 5) and CmcdProducer (Phase 6), and the relay
|
|
6
|
+
* block signature stub.
|
|
7
7
|
*
|
|
8
8
|
* Types here are importable from both main thread and Worker contexts.
|
|
9
9
|
*/
|