@trillboards/edge-sdk 0.2.41 → 0.2.42

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/EdgeAgent.js CHANGED
@@ -44,7 +44,7 @@ const edge_ads_1 = require("@trillboards/edge-ads");
44
44
  const CommandRouter_1 = require("./CommandRouter");
45
45
  const config_1 = require("./config");
46
46
  const dataDir_1 = require("./dataDir");
47
- const SDK_VERSION = '0.2.41';
47
+ const SDK_VERSION = '0.2.42';
48
48
  class EdgeAgent extends events_1.EventEmitter {
49
49
  constructor(config, deps) {
50
50
  super();
@@ -23,6 +23,110 @@
23
23
  * contract the cloud VLM produces, just enforced on our side rather than by the
24
24
  * (broken) on-device grammar.
25
25
  *
26
+ * ── `response_format` IS NOW FUNCTIONAL AND IS STILL DECLINED — for a different
27
+ * reason, so do not re-litigate the paragraph above. That `<|"|>` 500 was
28
+ * measured on litert-lm **0.13.1**, whose constrained path was the ANTLR FC
29
+ * parser. The PINNED 0.16.0 routes `response_format` through **llguidance**
30
+ * instead (`openai_handler.py` selects `LiteRtLmConstraintProviderType.
31
+ * LL_GUIDANCE` whenever a response_format is present), and it does not 500.
32
+ * Re-measured 2026-08-18 on this provider's own transport, Apple M4 Max, GPU/
33
+ * Metal delegate, operator/SOP field set, the two committed CCTV fixtures, 16
34
+ * untimed warm-up calls then 12 interleaved samples per arm:
35
+ *
36
+ * arm p50 p95 schema-valid bare-enum repairs
37
+ * plain completion (ships) 1930 ms 2030 12/12 8/16 frames
38
+ * response_format json_schema 2610 ms 2890 12/12 0
39
+ *
40
+ * So it buys a malformation class we already recover from — the bare-enum
41
+ * repair below rescued every one of those frames without spending a retry — and
42
+ * charges **+35.2% p50 / +42.4% p95** for it. On a serve with ONE admission
43
+ * slot that is a third of the connector's whole analysis budget. Adopt it only
44
+ * if the repair stops working, and re-measure first: this verdict is pinned to
45
+ * litert-lm 0.16.0 and to this field set.
46
+ *
47
+ * ── `top_k` IS SENT, and NOT for latency — it is the field that makes a RETRY
48
+ * possible at all. As a latency lever it is nothing (1950 ms p50 at top_k=1,
49
+ * 1910 at top_k=40, against a 1930 ms baseline — inside the noise). What the
50
+ * same sweep found is that litert-lm's sampler is GREEDY until `top_k` is set
51
+ * and ignores `temperature` while it is: nine sampler configurations on one
52
+ * frame — temperature 0 / 0.4 / 1.0 / 2.0, `top_p: 1.0`, and no sampler fields
53
+ * at all — returned the byte-identical string, and only adding `top_k` moved
54
+ * it. So `runAttempts`' temperature-only perturbation re-rolled NOTHING, and a
55
+ * frame that failed parsing burned all three attempts reproducing the same bad
56
+ * generation. See GREEDY_TOP_K / RETRY_TOP_K.
57
+ *
58
+ * ── ONE OTHER LEVER MEASURED AND DECLINED on the same run, recorded here so
59
+ * the next reader does not spend the box time again:
60
+ * - `file://` image paths instead of the base64 data URI — 1910 ms p50
61
+ * against 1930, inside the noise, while shrinking the request from 75,014
62
+ * to 1,283 bytes. A 58x smaller body buys nothing because the body is not
63
+ * the bill: the frame is re-encoded to 2,394 vision patches on the CPU
64
+ * XNNPack delegate on every request, and THAT is the floor. Adopting it
65
+ * would also mean writing every in-memory frame to disk first, which is a
66
+ * new cleanup obligation for a measured-zero gain.
67
+ *
68
+ * ── AND THE TWO ENGINE-LEVEL ONES, so the whole sweep is in one place. These
69
+ * are `~/.litert-lm/config.json` keys, read at engine construction, so each was
70
+ * measured on its OWN serve — two serves up at once on two ports with requests
71
+ * ALTERNATED sample by sample, because a block design cannot survive this box:
72
+ * one config measured 1,855 ms and 8,832 ms in two blocks of the same run. The
73
+ * statistic is therefore the PER-PAIR ratio, and a band that straddles 1.000 is
74
+ * no effect.
75
+ * - `speculative_decoding: true` — honored (the serve logs it, and the arm
76
+ * decodes exactly one token fewer), and worth NOTHING here: ratio p50 0.963
77
+ * over n=20 paired samples, band [0.588, 1.126]. It accelerates DECODE and
78
+ * this workload is not decode-bound — a frame prefills **493 tokens and
79
+ * decodes 49**. Even a 2x decode would be inside the noise.
80
+ * - `max_num_tokens: 32768` — a REGRESSION, and the whole band says so:
81
+ * ratio p50 **1.149**, band [1.101, 1.566] over n=20 paired samples, with
82
+ * p95 5,137 ms against 3,281. Nothing in it straddles 1.000. 32k IS what
83
+ * the published `.litertlm` carries and 16,384 is only the engine default,
84
+ * but raising the engine's window allocates a larger KV cache for a frame
85
+ * that uses **542 tokens of it** (493 prefill + 49 decode), and the cost is
86
+ * charged per frame. It also CHANGES THE ANSWER — same seed, same frame,
87
+ * same temperature, the kitchen fixture came back `person_count:3,
88
+ * gloves_worn:true` on the default window and `person_count:4,
89
+ * gloves_worn:false` on 32k — so it is not a capacity knob that leaves the
90
+ * data product alone, and it must never be flipped without re-scoring.
91
+ * - `cache: "disk"` — a PROVABLE no-op, not a measurement: litert-lm's
92
+ * `common.cache_dir_value_from_cache_mode` maps BOTH `None` and `"disk"` to
93
+ * the empty cache-dir string, so disk caching is already the default. The
94
+ * model directory already carries the artifacts to prove it (a 753 MB
95
+ * `*_mldrift_weight_cache.bin`, a 12 MB `*_mldrift_program_cache.bin` and
96
+ * five `*.xnnpack_cache_*` files, none of which we ever configured) and the
97
+ * serve trace says "Initializing WebGPU-based API from serialized data".
98
+ * Do not add the key; it would read as a change and be none.
99
+ *
100
+ * ── WHERE THE FRAME TIME ACTUALLY GOES, since every knob above was null. The
101
+ * serve's own preprocessor trace answers it: a production 640x480 q70 frame is
102
+ * resized UP — `stb_image_preprocessor.cc:88` "Resize image from 640x480 to
103
+ * 912x672 which will result in 2394 patches to fit the max_num_patches: 2520
104
+ * limit" — and those 2,394 patches are encoded by the VISION encoder, which
105
+ * binds to `TfLiteXNNPackDelegate` (CPU) even when decode is on Metal. That CPU
106
+ * pass, not the 49-token decode, is the per-frame floor.
107
+ *
108
+ * SENDING A SMALLER FRAME DOES NOT SHRINK IT — measured, because it is the
109
+ * obvious next idea and it is wrong. Same serve, same prompt, the two fixtures
110
+ * re-encoded at four capture sizes, arms interleaved, 10 samples each:
111
+ *
112
+ * 320x240 p50 2001 ms p95 2199 prompt_tokens 493
113
+ * 480x360 p50 2014 ms p95 2048 prompt_tokens 493
114
+ * 640x480 p50 2004 ms p95 2052 prompt_tokens 493
115
+ * 800x600 p50 1989 ms p95 2159 prompt_tokens 493
116
+ *
117
+ * Flat, and the trace says why: ALL FOUR sizes log "Resize image from <WxH> to
118
+ * **912x672** … **2394 patches**". The preprocessor targets the patch BUDGET,
119
+ * not the input, so a 320x240 frame is upscaled to exactly the same tensor as
120
+ * an 800x600 one and the encoder does identical work. Capture resolution is
121
+ * therefore not a latency lever at all (it is still an ACCURACY lever — the
122
+ * upscale cannot invent detail the camera never captured).
123
+ *
124
+ * The budget itself is the only thing that would move this floor, and no
125
+ * request field reaches it: the `visual_token_budget` that would cap it exists
126
+ * in the C API (`litert_lm_conversation_optional_args_set_visual_token_budget`)
127
+ * but is wired into neither litert-lm's Python bindings nor its HTTP shim. Until
128
+ * upstream exposes it, the per-frame floor is a constant we do not control.
129
+ *
26
130
  * ── ACCELERATOR VARIANT: litert-lm selects its GPU delegate by MODEL ID — the
27
131
  * imported id with a `,gpu` suffix, parsed as `model_id[,backend][,max_tokens]`.
28
132
  * Posting the bare id runs the CPU delegate, so until the variant shipped EVERY
@@ -120,8 +224,10 @@ export interface LiteRtVlmProviderOptions {
120
224
  timeoutMs?: number;
121
225
  /**
122
226
  * Total attempts for a single frame before giving up. Default 3. Attempt 0 is
123
- * temperature 0 (deterministic data product); a retry perturbs temperature so
124
- * a degenerate generation (dropped key / bad enum / unparseable) is re-rolled.
227
+ * greedy (temperature 0, `top_k` 1) — a reproducible data product; a retry
228
+ * perturbs temperature AND `top_k` so a degenerate generation (dropped key /
229
+ * bad enum / unparseable) is genuinely re-rolled. Both are needed: see
230
+ * RETRY_TOP_K for the measurement showing temperature alone re-rolls nothing.
125
231
  */
126
232
  maxAttempts?: number;
127
233
  /** Backoff between retry attempts in ms. Default 250. */
@@ -1 +1 @@
1
- {"version":3,"file":"LiteRtVlmProvider.d.ts","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiteRtVlmProvider.d.ts","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"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"}
@@ -69,8 +69,62 @@ const MODEL_LIST_TIMEOUT_MS = 5000;
69
69
  * 2048 is roughly 7x the largest real answer and still bounds a runaway to
70
70
  * seconds. It is deliberately not tight: a truncated JSON object is a parse
71
71
  * failure that burns a retry, which is a worse trade than a few wasted tokens.
72
+ *
73
+ * That was a calculation when it shipped. It is now an OBSERVATION. On
74
+ * 2026-08-18 a litert-lm 0.16.0 serve degenerated mid-benchmark — decode
75
+ * collapsed into repeated multilingual tokens, irreversibly, while still
76
+ * answering HTTP 200 — and the same degenerate engine, same frames, same
77
+ * machine, measured:
78
+ *
79
+ * max_completion_tokens: 2048 15.6 - 23.0 s/frame (completion_tokens=2048)
80
+ * no bound at all 25.9 - 37.3 s/frame
81
+ *
82
+ * A healthy frame decodes 49 tokens in ~1.9 s, so the bound costs nothing on
83
+ * the happy path (1930 ms p50 bounded vs 1900 ms unbounded — inside the noise)
84
+ * and halves the damage on the only path it exists for.
72
85
  */
73
86
  const MAX_COMPLETION_TOKENS = 2048;
87
+ /**
88
+ * `top_k` for attempt 0, and the reason this provider sends `top_k` at all.
89
+ *
90
+ * litert-lm's sampler is GREEDY unless `top_k` is set, and it ignores
91
+ * `temperature` entirely while it is. Measured 2026-08-18 on the pinned 0.16.0,
92
+ * one frame, nine sampler configurations: `temperature` 0 / 0.4 / 1.0 / 2.0,
93
+ * `top_p: 1.0`, and sending no sampler fields at all ALL returned the
94
+ * byte-identical string. Only adding `top_k` changed it — and only once `top_k`
95
+ * was present did `seed` change anything either.
96
+ *
97
+ * So attempt 0 sends `top_k: 1` to say greedy OUT LOUD rather than inheriting
98
+ * an undocumented default. It is not a behaviour change: attempt 0 with
99
+ * `{temperature: 0, top_k: 1, seed: 0}` returns byte-identical output to the
100
+ * `{temperature: 0, seed: 0}` this shipped with, verified on both committed
101
+ * fixtures. And it costs nothing — 1950 ms p50 at `top_k: 1` and 1910 at
102
+ * `top_k: 40` against a 1930 ms baseline, all inside the noise.
103
+ */
104
+ const GREEDY_TOP_K = 1;
105
+ /**
106
+ * `top_k` for a RETRY, and the bug it fixes.
107
+ *
108
+ * `runAttempts` re-rolls a degenerate generation by moving temperature from 0
109
+ * to 0.4. On litert-lm 0.16.0 **that re-rolled nothing**: with no `top_k` the
110
+ * sampler stays greedy, so attempt 1 reproduced attempt 0 byte-for-byte on
111
+ * both committed fixtures, and so did attempt 2. Every frame that failed
112
+ * parsing or schema validation therefore spent the WHOLE attempt budget — 3 x
113
+ * ~2.2 s on one admission slot — on two re-runs that could not, even in
114
+ * principle, return anything different.
115
+ *
116
+ * Adding `top_k` on retries makes the perturbation real. Measured on the same
117
+ * frames: attempt 1 at `{temperature: 0.4, top_k: 64, seed: 1}` differs from
118
+ * attempt 0, and is itself stable across repeats — so a retry is a genuine
119
+ * second draw AND is reproducible from its attempt number, which is what makes
120
+ * a failed frame debuggable.
121
+ *
122
+ * 64 rather than the full vocabulary: wide enough that the candidate set is not
123
+ * the constraint, narrow enough that a re-roll stays near the model's own
124
+ * distribution instead of sampling from its tail. This is a REPAIR path — the
125
+ * goal is a different plausible answer, not a creative one.
126
+ */
127
+ const RETRY_TOP_K = 64;
74
128
  /** Marks a failure as transient (worth a perturbed retry) vs. fatal. */
75
129
  class RetryableLiteRtError extends Error {
76
130
  }
@@ -284,11 +338,16 @@ class LiteRtVlmProvider {
284
338
  async runAttempts(request, model) {
285
339
  let lastErr;
286
340
  for (let attempt = 0; attempt < this.maxAttempts; attempt += 1) {
287
- // attempt 0 → temperature 0 (deterministic); retries perturb to re-roll a
341
+ // attempt 0 → explicitly greedy (top_k 1, temperature 0): a reproducible
342
+ // data product. A retry perturbs BOTH temperature and top_k to re-roll a
288
343
  // degenerate generation (dropped key / out-of-enum value / unparseable).
344
+ // Moving temperature alone does not re-roll on this runtime — the sampler
345
+ // is greedy until `top_k` is set and ignores temperature while it is. See
346
+ // RETRY_TOP_K; this is the whole reason a retry can succeed at all.
289
347
  const temperature = attempt === 0 ? 0 : 0.4;
348
+ const topK = attempt === 0 ? GREEDY_TOP_K : RETRY_TOP_K;
290
349
  try {
291
- return await this.attemptOnce(request, temperature, model, attempt);
350
+ return await this.attemptOnce(request, temperature, model, attempt, topK);
292
351
  }
293
352
  catch (err) {
294
353
  lastErr = err;
@@ -309,15 +368,18 @@ class LiteRtVlmProvider {
309
368
  throw lastErr ?? new Error('LiteRT-LM analyze failed');
310
369
  }
311
370
  /** A single inference attempt at the given temperature. */
312
- async attemptOnce(request, temperature, model, attempt = 0) {
371
+ async attemptOnce(request, temperature, model, attempt = 0, topK = GREEDY_TOP_K) {
313
372
  const dataUri = `data:image/jpeg;base64,${request.jpeg.toString('base64')}`;
314
373
  const fullPrompt = `${request.prompt}\n\n`
315
374
  + 'Output ONLY a single minified JSON object (no markdown, no code fence, no prose) '
316
375
  + 'with EXACTLY these keys:\n'
317
376
  + renderSchemaAsFieldList(request.schema);
318
- // PLAIN completion — no `tools`, no `tool_choice`, no `response_format`. Those
319
- // route through litert-lm's broken constrained path (the `<|"|>` 500). Plain
320
- // content is clean; we enforce the schema ourselves below.
377
+ // PLAIN completion — no `tools`, no `tool_choice`, no `response_format`, and
378
+ // no `top_k`. On litert-lm 0.13.1 `response_format` routed through the ANTLR
379
+ // constrained path and 500'd; on the pinned 0.16.0 it routes through
380
+ // llguidance, works, and costs +35.2% p50. `top_k` is inside the noise at
381
+ // temperature 0. Both were re-measured 2026-08-18 — see the file header
382
+ // before adding either. Plain content is clean; we enforce the schema below.
321
383
  const body = JSON.stringify({
322
384
  model,
323
385
  messages: [
@@ -334,13 +396,17 @@ class LiteRtVlmProvider {
334
396
  // unbounded runaway is not one slow frame, it is two minutes of the whole
335
397
  // connector analysing nothing.
336
398
  max_completion_tokens: MAX_COMPLETION_TOKENS,
337
- // A retry re-rolls a degenerate generation. At temperature 0 that only
338
- // works if the sampler is genuinely seeded — otherwise "re-roll" relies on
339
- // whatever non-determinism the runtime happens to have, and attempt 1
340
- // reproduces attempt 0's bad answer. Vary the seed with the attempt so the
341
- // re-roll is a real one, and so attempt 0 is reproducible for the same
342
- // frame — this is a data product, and an answer we cannot reproduce is an
343
- // answer we cannot debug.
399
+ // The candidate set. This field is what decides whether the sampler runs
400
+ // at all: without it litert-lm is greedy and `temperature`/`seed` are
401
+ // both inert, which is why the retry below used to reproduce attempt 0
402
+ // exactly. GREEDY_TOP_K on attempt 0, RETRY_TOP_K on a re-roll.
403
+ top_k: topK,
404
+ // Vary the seed with the attempt so the re-roll is a real one, and so
405
+ // every attempt is reproducible from its number — this is a data product,
406
+ // and an answer we cannot reproduce is an answer we cannot debug. Inert
407
+ // on attempt 0 (greedy has nothing to seed) and deliberately sent anyway:
408
+ // the alternative is a field that appears and disappears between
409
+ // attempts, which is harder to read in a capture than a constant one.
344
410
  seed: attempt,
345
411
  });
346
412
  let result;
@@ -1 +1 @@
1
- {"version":3,"file":"LiteRtVlmProvider.js","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiteRtVlmProvider.js","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface DiagnosticReport {
31
31
  skipped: number;
32
32
  };
33
33
  }
34
- declare const SDK_VERSION = "0.2.41";
34
+ declare const SDK_VERSION = "0.2.42";
35
35
  declare function checkNodeVersion(): CheckResult;
36
36
  declare function checkPlatform(): CheckResult;
37
37
  declare function checkMemory(): CheckResult;
package/dist/diagnose.js CHANGED
@@ -63,7 +63,7 @@ const localNetworkAccess_1 = require("./localNetworkAccess");
63
63
  // ---------------------------------------------------------------------------
64
64
  // SDK version — mirrors package.json; kept in sync by CI
65
65
  // ---------------------------------------------------------------------------
66
- const SDK_VERSION = '0.2.41';
66
+ const SDK_VERSION = '0.2.42';
67
67
  exports._SDK_VERSION = SDK_VERSION;
68
68
  // ---------------------------------------------------------------------------
69
69
  // ANSI helpers (no external deps)
@@ -104,4 +104,40 @@ export declare function interleaveArms(arms: BenchArm[], rounds: number): Planne
104
104
  * 0 s/frame reads as "infinitely fast" and a NaN silently poisons a table.
105
105
  */
106
106
  export declare function median(values: number[]): number | null;
107
+ /**
108
+ * Nearest-rank percentile of a sample. `null` on empty, for the same reason
109
+ * `median` returns null.
110
+ *
111
+ * A median alone cannot see the failure this whole file exists to bound. The
112
+ * connector's serve has ONE admission slot, so the number that decides whether
113
+ * a 16-camera store keeps up is not the typical frame, it is the slow one: a
114
+ * degenerate generation costs 15-23 s while the median stays at 1.9. Reporting
115
+ * only p50 makes that invisible — the 2026-08-18 run that first caught a
116
+ * runtime degeneration had a p50 inside noise of a healthy arm.
117
+ *
118
+ * NEAREST-RANK (no interpolation) on purpose: an interpolated p95 invents a
119
+ * latency no frame actually took, and at the n a live-model benchmark can
120
+ * afford (12-16 per arm) that fabrication is most of the number. p95 of 12
121
+ * samples is the 12th — the max — and saying so is more honest than smoothing
122
+ * it into something that looks more precise than the sample supports.
123
+ */
124
+ export declare function percentile(values: number[], p: number): number | null;
125
+ /**
126
+ * How many UNTIMED calls to spend before the first measured one.
127
+ *
128
+ * One was the shipped value and it is not enough — not by a little. Measured
129
+ * 2026-08-18 on an M4 Max against litert-lm 0.16.0, six request-shape arms x
130
+ * two frames x eight rounds, ONE warm-up call: the per-round median fell
131
+ * MONOTONICALLY from 3,344 ms in round 0 to 2,132 ms in round 7, a 36% drift
132
+ * over the run. Every arm's number is then a function of when it happened to
133
+ * be sampled, and the drift is larger than any lever the benchmark exists to
134
+ * compare. The same matrix behind 16 warm-up calls had per-round medians of
135
+ * 1910/1990/2020/1920/1900/1900 — flat, and the arms separated cleanly.
136
+ *
137
+ * This is NOT the engine re-initialization the file header already warns about
138
+ * (that is one model load, and the existing per-switch warm-up covers it). It
139
+ * is a slower settle — compile-cache paging, CPU frequency, the XNNPack vision
140
+ * encoder's first passes — that takes on the order of a dozen frames.
141
+ */
142
+ export declare const WARMUP_CALLS_BEFORE_TIMING = 16;
107
143
  //# sourceMappingURL=localVlmBench.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localVlmBench.d.ts","sourceRoot":"","sources":["../src/localVlmBench.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,oBAAyB,GAAG,gBAAgB,CAQrF;AASD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAwBV;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrE;AAaD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,UAAU,CAUZ;AAED,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAU7E;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAMtD"}
1
+ {"version":3,"file":"localVlmBench.d.ts","sourceRoot":"","sources":["../src/localVlmBench.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,oBAAyB,GAAG,gBAAgB,CAQrF;AASD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAwBV;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrE;AAaD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,UAAU,CAUZ;AAED,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAU7E;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAMtD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WARMUP_CALLS_BEFORE_TIMING = void 0;
3
4
  exports.buildContractFor = buildContractFor;
4
5
  exports.validateAgainstContract = validateAgainstContract;
5
6
  exports.scoreFields = scoreFields;
6
7
  exports.interleaveArms = interleaveArms;
7
8
  exports.median = median;
9
+ exports.percentile = percentile;
8
10
  /**
9
11
  * localVlmBench — the reusable, unit-tested pieces of the LIVE on-device VLM
10
12
  * verification and its CPU/GPU benchmark. Same split as localSenseE2eHarness:
@@ -168,4 +170,50 @@ function median(values) {
168
170
  const mid = Math.floor(sorted.length / 2);
169
171
  return sorted.length % 2 === 1 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2;
170
172
  }
173
+ /**
174
+ * Nearest-rank percentile of a sample. `null` on empty, for the same reason
175
+ * `median` returns null.
176
+ *
177
+ * A median alone cannot see the failure this whole file exists to bound. The
178
+ * connector's serve has ONE admission slot, so the number that decides whether
179
+ * a 16-camera store keeps up is not the typical frame, it is the slow one: a
180
+ * degenerate generation costs 15-23 s while the median stays at 1.9. Reporting
181
+ * only p50 makes that invisible — the 2026-08-18 run that first caught a
182
+ * runtime degeneration had a p50 inside noise of a healthy arm.
183
+ *
184
+ * NEAREST-RANK (no interpolation) on purpose: an interpolated p95 invents a
185
+ * latency no frame actually took, and at the n a live-model benchmark can
186
+ * afford (12-16 per arm) that fabrication is most of the number. p95 of 12
187
+ * samples is the 12th — the max — and saying so is more honest than smoothing
188
+ * it into something that looks more precise than the sample supports.
189
+ */
190
+ function percentile(values, p) {
191
+ const clean = (values || []).filter((v) => typeof v === 'number' && Number.isFinite(v));
192
+ if (clean.length === 0)
193
+ return null;
194
+ if (!Number.isFinite(p))
195
+ return null;
196
+ const bounded = Math.min(100, Math.max(0, p));
197
+ const sorted = [...clean].sort((a, b) => a - b);
198
+ const rank = Math.ceil((bounded / 100) * sorted.length);
199
+ return sorted[Math.min(sorted.length - 1, Math.max(0, rank - 1))];
200
+ }
201
+ /**
202
+ * How many UNTIMED calls to spend before the first measured one.
203
+ *
204
+ * One was the shipped value and it is not enough — not by a little. Measured
205
+ * 2026-08-18 on an M4 Max against litert-lm 0.16.0, six request-shape arms x
206
+ * two frames x eight rounds, ONE warm-up call: the per-round median fell
207
+ * MONOTONICALLY from 3,344 ms in round 0 to 2,132 ms in round 7, a 36% drift
208
+ * over the run. Every arm's number is then a function of when it happened to
209
+ * be sampled, and the drift is larger than any lever the benchmark exists to
210
+ * compare. The same matrix behind 16 warm-up calls had per-round medians of
211
+ * 1910/1990/2020/1920/1900/1900 — flat, and the arms separated cleanly.
212
+ *
213
+ * This is NOT the engine re-initialization the file header already warns about
214
+ * (that is one model load, and the existing per-switch warm-up covers it). It
215
+ * is a slower settle — compile-cache paging, CPU frequency, the XNNPack vision
216
+ * encoder's first passes — that takes on the order of a dozen frames.
217
+ */
218
+ exports.WARMUP_CALLS_BEFORE_TIMING = 16;
171
219
  //# sourceMappingURL=localVlmBench.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localVlmBench.js","sourceRoot":"","sources":["../src/localVlmBench.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localVlmBench.js","sourceRoot":"","sources":["../src/localVlmBench.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trillboards/edge-sdk",
3
- "version": "0.2.41",
3
+ "version": "0.2.42",
4
4
  "description": "Composable cross-platform Edge AI SDK for audience sensing on DOOH/CTV devices",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",