@trillboards/edge-sdk 0.2.61 → 0.2.63
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/deploy/litertlm/test_trillboards_litertlm_shim.py +132 -0
- package/deploy/litertlm/trillboards-litertlm-shim.pth +1 -0
- package/deploy/litertlm/trillboards_litertlm_shim.py +214 -0
- package/deploy/macos/bench-local-vlm.sh +8 -4
- package/deploy/macos/build-macos-pkg.sh +4 -0
- package/deploy/macos/scripts/setup-litertlm.sh +99 -2
- package/deploy/systemd/setup-litertlm.sh +99 -2
- package/deploy/windows/build-windows.ps1 +4 -0
- package/deploy/windows/register-litertlm-task.ps1 +22 -0
- package/deploy/windows/setup-litertlm.ps1 +131 -3
- package/deploy/windows/trillboards-edge.cmd +19 -0
- package/dist/CloudSensingManager.d.ts +61 -0
- package/dist/CloudSensingManager.d.ts.map +1 -1
- package/dist/CloudSensingManager.js +52 -30
- package/dist/CloudSensingManager.js.map +1 -1
- package/dist/EdgeAgent.js +1 -1
- package/dist/LiteRtVlmProvider.d.ts +74 -7
- package/dist/LiteRtVlmProvider.d.ts.map +1 -1
- package/dist/LiteRtVlmProvider.js.map +1 -1
- package/dist/MosaicSource.d.ts +18 -0
- package/dist/MosaicSource.d.ts.map +1 -1
- package/dist/MosaicSource.js +23 -0
- package/dist/MosaicSource.js.map +1 -1
- package/dist/analyzeCostObserver.d.ts +96 -0
- package/dist/analyzeCostObserver.d.ts.map +1 -0
- package/dist/analyzeCostObserver.js +130 -0
- package/dist/analyzeCostObserver.js.map +1 -0
- package/dist/connectorCadence.d.ts +286 -57
- package/dist/connectorCadence.d.ts.map +1 -1
- package/dist/connectorCadence.js +313 -61
- package/dist/connectorCadence.js.map +1 -1
- package/dist/deployedCadence.d.ts +8 -2
- package/dist/deployedCadence.d.ts.map +1 -1
- package/dist/deployedCadence.js +6 -3
- package/dist/deployedCadence.js.map +1 -1
- package/dist/deployedCadenceSource.d.ts +10 -0
- package/dist/deployedCadenceSource.d.ts.map +1 -1
- package/dist/deployedCadenceSource.js +11 -0
- package/dist/deployedCadenceSource.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.js +1 -1
- package/dist/localInferenceSchema.d.ts +8 -3
- package/dist/localInferenceSchema.d.ts.map +1 -1
- package/dist/localInferenceSchema.js +8 -3
- package/dist/localInferenceSchema.js.map +1 -1
- package/dist/localSensing.d.ts +22 -1
- package/dist/localSensing.d.ts.map +1 -1
- package/dist/localSensing.js +101 -7
- package/dist/localSensing.js.map +1 -1
- package/dist/localVlmBench.d.ts +82 -0
- package/dist/localVlmBench.d.ts.map +1 -1
- package/dist/localVlmBench.js +88 -0
- package/dist/localVlmBench.js.map +1 -1
- package/dist/sensingCatchRate.d.ts.map +1 -1
- package/dist/sensingCatchRate.js +75 -10
- package/dist/sensingCatchRate.js.map +1 -1
- package/dist/sensingRunMode.d.ts.map +1 -1
- package/dist/sensingRunMode.js +26 -2
- package/dist/sensingRunMode.js.map +1 -1
- package/package.json +1 -1
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.
|
|
66
|
+
const SDK_VERSION = '0.2.63';
|
|
67
67
|
exports._SDK_VERSION = SDK_VERSION;
|
|
68
68
|
// ---------------------------------------------------------------------------
|
|
69
69
|
// ANSI helpers (no external deps)
|
|
@@ -45,9 +45,14 @@
|
|
|
45
45
|
* these were taken on has ranged over load average 24-142 — so quote the RATIO,
|
|
46
46
|
* and re-measure both arms in one run before quoting anything.
|
|
47
47
|
*
|
|
48
|
-
* The GPU win is small because
|
|
49
|
-
*
|
|
50
|
-
*
|
|
48
|
+
* The GPU win is small because, ON THE RUNTIME THOSE NUMBERS WERE TAKEN ON,
|
|
49
|
+
* litert-lm pinned the VISION encoder to CPU — 0.13.1's `openai_handler.py`
|
|
50
|
+
* hardcoded `vision_backend = Backend.CPU()` under upstream b/515805503 — so
|
|
51
|
+
* image encode was a fixed per-frame floor no schema could shrink. THAT IS NO
|
|
52
|
+
* LONGER TRUE and the split above should not be re-derived from it: the pinned
|
|
53
|
+
* 0.16.0 resolves the vision backend from `$LITERT_LM_DIR/config.json`, all
|
|
54
|
+
* three provisioners write `vision_backend: "gpu"`, and image encode measured
|
|
55
|
+
* 0.804 s -> 0.175 s p50 when they started. On the CPU delegate — every host
|
|
51
56
|
* with no usable GPU delegate — decode is the bill and the lean set is worth
|
|
52
57
|
* 1.53x. ACCURACY also moved the right way on that run: against the frame's
|
|
53
58
|
* ground truth the operator set scored 16/16 and the 16-key set 12/16, the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localInferenceSchema.d.ts","sourceRoot":"","sources":["../src/localInferenceSchema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"localInferenceSchema.d.ts","sourceRoot":"","sources":["../src/localInferenceSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC5G,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;CAC9B;AAoCD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAGvD,CAAC;AAmGH;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,yBAA8B,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgCzB;AAyBD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAA;CAAO,GAC7E,MAAM,CAeR"}
|
|
@@ -46,9 +46,14 @@
|
|
|
46
46
|
* these were taken on has ranged over load average 24-142 — so quote the RATIO,
|
|
47
47
|
* and re-measure both arms in one run before quoting anything.
|
|
48
48
|
*
|
|
49
|
-
* The GPU win is small because
|
|
50
|
-
*
|
|
51
|
-
*
|
|
49
|
+
* The GPU win is small because, ON THE RUNTIME THOSE NUMBERS WERE TAKEN ON,
|
|
50
|
+
* litert-lm pinned the VISION encoder to CPU — 0.13.1's `openai_handler.py`
|
|
51
|
+
* hardcoded `vision_backend = Backend.CPU()` under upstream b/515805503 — so
|
|
52
|
+
* image encode was a fixed per-frame floor no schema could shrink. THAT IS NO
|
|
53
|
+
* LONGER TRUE and the split above should not be re-derived from it: the pinned
|
|
54
|
+
* 0.16.0 resolves the vision backend from `$LITERT_LM_DIR/config.json`, all
|
|
55
|
+
* three provisioners write `vision_backend: "gpu"`, and image encode measured
|
|
56
|
+
* 0.804 s -> 0.175 s p50 when they started. On the CPU delegate — every host
|
|
52
57
|
* with no usable GPU delegate — decode is the bill and the lean set is worth
|
|
53
58
|
* 1.53x. ACCURACY also moved the right way on that run: against the frame's
|
|
54
59
|
* ground truth the operator set scored 16/16 and the 16-key set 12/16, the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localInferenceSchema.js","sourceRoot":"","sources":["../src/localInferenceSchema.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"localInferenceSchema.js","sourceRoot":"","sources":["../src/localInferenceSchema.ts"],"names":[],"mappings":"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"}
|
package/dist/localSensing.d.ts
CHANGED
|
@@ -164,6 +164,14 @@ export declare class LocalSensingClient implements SensingClient {
|
|
|
164
164
|
* that proof self-fulfilling and mask a genuinely dead runtime forever.
|
|
165
165
|
*/
|
|
166
166
|
private localInferencesCompleted;
|
|
167
|
+
/**
|
|
168
|
+
* What a frame costs ON THIS BOX. The connector is already running the exact
|
|
169
|
+
* inference `MEASURED_LOCAL_ANALYZE_MS` describes, once per frame — so the
|
|
170
|
+
* machine-specific number the cadence needs is free to observe, and until
|
|
171
|
+
* 2026-08-19 nothing observed it. See analyzeCostObserver.ts for why the
|
|
172
|
+
* constant stays as the bootstrap and why this is a rolling MEDIAN.
|
|
173
|
+
*/
|
|
174
|
+
private readonly analyzeCost;
|
|
167
175
|
/** The active profile name (for logging / observability). */
|
|
168
176
|
activeProfileName: string | null;
|
|
169
177
|
/**
|
|
@@ -193,10 +201,23 @@ export declare class LocalSensingClient implements SensingClient {
|
|
|
193
201
|
* log-diving. See LiteRtVlmProvider.getAcceleratorHealth.
|
|
194
202
|
*/
|
|
195
203
|
getAcceleratorHealth(): LiteRtAcceleratorHealth;
|
|
196
|
-
/**
|
|
204
|
+
/**
|
|
205
|
+
* Frames the on-device runtime produced a result for, and what they cost.
|
|
206
|
+
*
|
|
207
|
+
* `analyzeMsP50` is `null` until this box has recorded enough successful
|
|
208
|
+
* frames to overrule the bootstrap constant — deliberately distinguishable
|
|
209
|
+
* from "measured, and it happens to equal the default".
|
|
210
|
+
*/
|
|
197
211
|
getLocalInferenceStats(): {
|
|
198
212
|
completed: number;
|
|
213
|
+
analyzeMsP50: number | null;
|
|
214
|
+
analyzeSamples: number;
|
|
199
215
|
};
|
|
216
|
+
/**
|
|
217
|
+
* This machine's own per-frame analyze cost, for the cadence derivation.
|
|
218
|
+
* `null` while the conservative bootstrap still governs.
|
|
219
|
+
*/
|
|
220
|
+
getObservedAnalyzeMs(): number | null;
|
|
200
221
|
analyze(request: {
|
|
201
222
|
jpeg: Buffer;
|
|
202
223
|
captureMode?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localSensing.d.ts","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"localSensing.d.ts","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":"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"}
|
package/dist/localSensing.js
CHANGED
|
@@ -6,10 +6,12 @@ exports.isAlertWorthy = isAlertWorthy;
|
|
|
6
6
|
exports.buildLocalSensingLoops = buildLocalSensingLoops;
|
|
7
7
|
const AudienceAnalyzeClient_1 = require("./AudienceAnalyzeClient");
|
|
8
8
|
const LiteRtVlmProvider_1 = require("./LiteRtVlmProvider");
|
|
9
|
+
const analyzeCostObserver_1 = require("./analyzeCostObserver");
|
|
9
10
|
const SensingProfileClient_1 = require("./SensingProfileClient");
|
|
10
11
|
const CloudSensingManager_1 = require("./CloudSensingManager");
|
|
11
12
|
const localInferenceSchema_1 = require("./localInferenceSchema");
|
|
12
13
|
const legacyRecorderProfile_1 = require("./legacyRecorderProfile");
|
|
14
|
+
const connectorCadence_1 = require("./connectorCadence");
|
|
13
15
|
/** How long a fetched profile is cached before the connector re-checks for a new alert. */
|
|
14
16
|
const DEFAULT_PROFILE_TTL_MS = 5 * 60 * 1000;
|
|
15
17
|
/**
|
|
@@ -224,6 +226,14 @@ class LocalSensingClient {
|
|
|
224
226
|
* that proof self-fulfilling and mask a genuinely dead runtime forever.
|
|
225
227
|
*/
|
|
226
228
|
this.localInferencesCompleted = 0;
|
|
229
|
+
/**
|
|
230
|
+
* What a frame costs ON THIS BOX. The connector is already running the exact
|
|
231
|
+
* inference `MEASURED_LOCAL_ANALYZE_MS` describes, once per frame — so the
|
|
232
|
+
* machine-specific number the cadence needs is free to observe, and until
|
|
233
|
+
* 2026-08-19 nothing observed it. See analyzeCostObserver.ts for why the
|
|
234
|
+
* constant stays as the bootstrap and why this is a rolling MEDIAN.
|
|
235
|
+
*/
|
|
236
|
+
this.analyzeCost = new analyzeCostObserver_1.AnalyzeCostObserver();
|
|
227
237
|
/** The active profile name (for logging / observability). */
|
|
228
238
|
this.activeProfileName = null;
|
|
229
239
|
/**
|
|
@@ -290,9 +300,26 @@ class LocalSensingClient {
|
|
|
290
300
|
getAcceleratorHealth() {
|
|
291
301
|
return this.localProvider.getAcceleratorHealth();
|
|
292
302
|
}
|
|
293
|
-
/**
|
|
303
|
+
/**
|
|
304
|
+
* Frames the on-device runtime produced a result for, and what they cost.
|
|
305
|
+
*
|
|
306
|
+
* `analyzeMsP50` is `null` until this box has recorded enough successful
|
|
307
|
+
* frames to overrule the bootstrap constant — deliberately distinguishable
|
|
308
|
+
* from "measured, and it happens to equal the default".
|
|
309
|
+
*/
|
|
294
310
|
getLocalInferenceStats() {
|
|
295
|
-
return {
|
|
311
|
+
return {
|
|
312
|
+
completed: this.localInferencesCompleted,
|
|
313
|
+
analyzeMsP50: this.analyzeCost.medianMs(),
|
|
314
|
+
analyzeSamples: this.analyzeCost.sampleCount,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* This machine's own per-frame analyze cost, for the cadence derivation.
|
|
319
|
+
* `null` while the conservative bootstrap still governs.
|
|
320
|
+
*/
|
|
321
|
+
getObservedAnalyzeMs() {
|
|
322
|
+
return this.analyzeCost.medianMs();
|
|
296
323
|
}
|
|
297
324
|
async analyze(request) {
|
|
298
325
|
await this.refreshProfileIfStale();
|
|
@@ -307,6 +334,10 @@ class LocalSensingClient {
|
|
|
307
334
|
imageHeight: request.imageHeight,
|
|
308
335
|
};
|
|
309
336
|
let structured;
|
|
337
|
+
// Bracket the ONE call whose duration is the quantity the whole capacity
|
|
338
|
+
// model is built on. Started before the await and read after it, so it is
|
|
339
|
+
// the frame's wall-clock cost and not a stage of it.
|
|
340
|
+
const analyzeStartedAt = Date.now();
|
|
310
341
|
try {
|
|
311
342
|
structured = await this.localProvider.analyze({
|
|
312
343
|
jpeg: request.jpeg,
|
|
@@ -327,6 +358,10 @@ class LocalSensingClient {
|
|
|
327
358
|
// alive. Counted here, past every throw, so nothing but a real on-device
|
|
328
359
|
// inference can advance it.
|
|
329
360
|
this.localInferencesCompleted += 1;
|
|
361
|
+
// Recorded HERE, past every throw, for the same reason the counter above is:
|
|
362
|
+
// a request that failed is not a frame cost. A fast failure recorded as a
|
|
363
|
+
// fast frame is how a box talks itself into a cadence it cannot serve.
|
|
364
|
+
this.analyzeCost.record(Date.now() - analyzeStartedAt);
|
|
330
365
|
// Connector-controlled provenance + time (don't trust the model for these).
|
|
331
366
|
const capturedAtMs = Date.now();
|
|
332
367
|
// PRIVACY-CONSCIOUS evidence frame: attach the SAME JPEG the VLM analyzed
|
|
@@ -380,29 +415,68 @@ function buildLocalSensingLoops(config, deps) {
|
|
|
380
415
|
// Cloud escalation defaults OFF. Each feed gets its OWN policy instance so the
|
|
381
416
|
// per-camera budget is per camera (a shared one would let a busy feed spend a
|
|
382
417
|
// quiet feed's confirmations).
|
|
418
|
+
/**
|
|
419
|
+
* PERSISTENT capture is the default for local sensing, and this is the one
|
|
420
|
+
* place in the tree that decides it.
|
|
421
|
+
*
|
|
422
|
+
* `RTSPStreamCameraProvider` holds one long-lived ffmpeg per feed decoding
|
|
423
|
+
* into a bounded ring, so a LOOK is a memory read (measured p50 0 ms at the
|
|
424
|
+
* shipped cadence) instead of a process start plus an RTSP handshake plus a
|
|
425
|
+
* wait for the next keyframe (measured p50 2,000 ms). That is what lets
|
|
426
|
+
* `LOOK_INTERVAL_MS` be 500 ms, and what takes the Brief group from 75.4% to
|
|
427
|
+
* 93.2% catch rate — a shape the corpus published as UNREACHABLE by cadence
|
|
428
|
+
* on the per-grab path.
|
|
429
|
+
*
|
|
430
|
+
* It is wired HERE and only here on purpose:
|
|
431
|
+
* - local sensing is the CCTV/Sense-Anything rail, which is the rail with
|
|
432
|
+
* the catch-rate problem. The DOOH audience rails (`EdgeAgent`'s direct
|
|
433
|
+
* camera, `combinedSense`'s ONNX zoo) consume rgb24 and are unchanged —
|
|
434
|
+
* see the provider header on why a persistent rgb24 stream is 3.7 MB/s
|
|
435
|
+
* per camera and MJPEG is 0.12 MB/s.
|
|
436
|
+
* - it is the only path that reaches `buildTiledCameras`, so mosaic tiles
|
|
437
|
+
* and solo feeds both get it with no second decision.
|
|
438
|
+
*
|
|
439
|
+
* The provider DEGRADES to `RTSPCameraProvider` — the exact object this used
|
|
440
|
+
* to build — when a recorder will not hold the session, and reports which
|
|
441
|
+
* feeds did. So the worst case of this change is the behaviour that shipped
|
|
442
|
+
* before it.
|
|
443
|
+
*/
|
|
383
444
|
const rtspFactory = deps?.rtspProviderFactory ??
|
|
384
445
|
((feed) => {
|
|
385
446
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
386
|
-
const {
|
|
387
|
-
|
|
447
|
+
const { RTSPStreamCameraProvider } = require('@trillboards/edge-platform-rtsp');
|
|
448
|
+
const legacy = (0, legacyRecorderProfile_1.legacyRecorderRtspOptions)(feed.sourceType);
|
|
449
|
+
return new RTSPStreamCameraProvider({
|
|
388
450
|
rtspUrl: feed.rtspUrl,
|
|
389
451
|
width: feed.width,
|
|
390
452
|
height: feed.height,
|
|
391
|
-
fps: feed.fps,
|
|
392
453
|
transport: feed.transport,
|
|
393
454
|
ffmpegPath: feed.ffmpegPath,
|
|
394
455
|
// Honor a mosaic tile's crop in the per-tile-pull fallback path (shared
|
|
395
456
|
// grouping handles the single-pull case). Without this, a mosaic config
|
|
396
457
|
// in local-sense would send the whole composite for each tile.
|
|
397
458
|
crop: feed.crop,
|
|
398
|
-
outputFormat: feed.outputFormat ?? 'jpeg',
|
|
399
459
|
jpegQuality: feed.jpegQuality,
|
|
460
|
+
// A look reads the NEWEST decoded frame, so the stream must produce one
|
|
461
|
+
// at least as often as the connector looks. 4 fps against a 500 ms look
|
|
462
|
+
// cadence leaves 2x headroom, which is what keeps `getFrame()` from ever
|
|
463
|
+
// blocking (and therefore from ever mistaking a healthy camera for a
|
|
464
|
+
// stale stream).
|
|
465
|
+
streamFps: (0, connectorCadence_1.streamFpsForLookIntervalMs)((0, connectorCadence_1.lookIntervalMsForFeedCount)(feeds.length, 'persistent') ?? connectorCadence_1.LOOK_INTERVAL_MS),
|
|
400
466
|
...(deps?.streamUrlResolver
|
|
401
467
|
? {
|
|
402
468
|
streamUrlResolver: (currentUrl, error) => deps.streamUrlResolver(feed, currentUrl, error),
|
|
403
469
|
}
|
|
404
470
|
: {}),
|
|
405
|
-
|
|
471
|
+
// The legacy-recorder profile is about how tolerant the PER-GRAB path
|
|
472
|
+
// must be with an old DVR (extra open attempts, longer timeouts), so it
|
|
473
|
+
// travels to the fallback rather than to the session.
|
|
474
|
+
timeoutUs: legacy.timeoutUs,
|
|
475
|
+
fallbackConfig: {
|
|
476
|
+
...legacy,
|
|
477
|
+
fps: feed.fps,
|
|
478
|
+
outputFormat: feed.outputFormat ?? 'jpeg',
|
|
479
|
+
},
|
|
406
480
|
});
|
|
407
481
|
});
|
|
408
482
|
const localProviderFactory = deps?.localProviderFactory ??
|
|
@@ -425,6 +499,26 @@ function buildLocalSensingLoops(config, deps) {
|
|
|
425
499
|
// pull the on-device zoo uses (combined-sense), so one RTSP pull feeds both.
|
|
426
500
|
return (0, CloudSensingManager_1.buildTiledCameras)(feeds, rtspFactory, {
|
|
427
501
|
sharedSources: deps?.sharedSources,
|
|
502
|
+
// A MOSAIC TILE MUST NOT SILENTLY KEEP THE OLD CADENCE.
|
|
503
|
+
//
|
|
504
|
+
// `SharedFrameSource` collapses N tiles of one composite feed onto one pull
|
|
505
|
+
// and serves the result from a cache for `sharedFrameMaxAgeMs` — DEFAULT
|
|
506
|
+
// 5,000 ms. That was already coarser than the 2 s look cadence and it is 10x
|
|
507
|
+
// coarser than 500 ms, so a mosaic deployment would look every 500 ms,
|
|
508
|
+
// receive a frame up to five seconds old every time, and have
|
|
509
|
+
// `getSensingHealth().cascade.scanIntervalMs` report 500 ms — the exact
|
|
510
|
+
// "reports a cadence the connector is not running" defect
|
|
511
|
+
// `lookIntervalMsForFeedCount` exists to prevent, one layer down.
|
|
512
|
+
//
|
|
513
|
+
// Pinning it to the look cadence gives the honest rule: a tile never sees a
|
|
514
|
+
// frame older than one look. The coalescing that actually matters is
|
|
515
|
+
// `SharedFrameSource.inflight`, which merges genuinely concurrent tile
|
|
516
|
+
// pulls and is untouched by this; the age cache only ever covered tiles the
|
|
517
|
+
// feed stagger deliberately spread apart WITHIN one cadence, which one
|
|
518
|
+
// cadence still covers. And on a feed that degraded to the per-grab path,
|
|
519
|
+
// pulls remain bounded by `CaptureAdmission` (2 per physical recorder) —
|
|
520
|
+
// a recorder-scoped bound, which is the one that was doing the protecting.
|
|
521
|
+
sharedFrameMaxAgeMs: (0, connectorCadence_1.lookIntervalMsForFeedCount)(feeds.length, 'persistent') ?? connectorCadence_1.LOOK_INTERVAL_MS,
|
|
428
522
|
}).map(({ feed, camera }) => ({
|
|
429
523
|
name: feed.name,
|
|
430
524
|
camera,
|
package/dist/localSensing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localSensing.js","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"localSensing.js","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":"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"}
|
package/dist/localVlmBench.d.ts
CHANGED
|
@@ -242,4 +242,86 @@ export declare function percentile(values: number[], p: number): number | null;
|
|
|
242
242
|
* encoder's first passes — that takes on the order of a dozen frames.
|
|
243
243
|
*/
|
|
244
244
|
export declare const WARMUP_CALLS_BEFORE_TIMING = 16;
|
|
245
|
+
/** One measured frame, as `bench-local-vlm.mjs` records it. */
|
|
246
|
+
export interface TimedFrameRow {
|
|
247
|
+
/** Set when the request threw: the frame was never timed at all. */
|
|
248
|
+
failed?: unknown;
|
|
249
|
+
/** The delegate `getAcceleratorHealth()` reported, never the one we asked for. */
|
|
250
|
+
delegate?: string | null;
|
|
251
|
+
/** `validateAgainstContract` output. Empty = the model answered the contract. */
|
|
252
|
+
violations?: string[];
|
|
253
|
+
ms?: number;
|
|
254
|
+
}
|
|
255
|
+
export interface KeptFrames {
|
|
256
|
+
/** Frames whose duration is the cost of ANSWERING. Median/p95 come from these. */
|
|
257
|
+
kept: TimedFrameRow[];
|
|
258
|
+
/** Delegate-matched, non-failed frames — the denominator `schemaValid` reports against. */
|
|
259
|
+
attempted: TimedFrameRow[];
|
|
260
|
+
excludedFailed: number;
|
|
261
|
+
excludedDemoted: number;
|
|
262
|
+
excludedInvalid: number;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Which frames may enter a LATENCY median.
|
|
266
|
+
*
|
|
267
|
+
* ── Why schema-invalid frames are excluded, and why that is not cherry-picking
|
|
268
|
+
*
|
|
269
|
+
* A frame that produced no valid answer has a duration, but that duration is not
|
|
270
|
+
* the cost of producing an answer — so putting it in a per-frame median makes
|
|
271
|
+
* the median describe something other than what every consumer reads it as.
|
|
272
|
+
*
|
|
273
|
+
* It is not a symmetric error, either. The two observed non-answers sit at
|
|
274
|
+
* OPPOSITE ends of the distribution: an empty generation is the cheapest
|
|
275
|
+
* completion the engine can emit (two threads on one engine return `''`
|
|
276
|
+
* silently, with no error and no exception), and a degenerate repeating one runs
|
|
277
|
+
* to the token cap (measured 15-23 s against a 1.9 s median). Leaving the first
|
|
278
|
+
* in pulls the median DOWN and inflates the camera count the floor derives from
|
|
279
|
+
* it — which is precisely how a phantom speedup gets published. That failure has
|
|
280
|
+
* happened here once already, by counting empty strings as successes.
|
|
281
|
+
*
|
|
282
|
+
* ── Why this cannot hide a fast-but-wrong arm
|
|
283
|
+
*
|
|
284
|
+
* `schemaValid` keeps reporting against `attempted`, NOT against `kept`, so the
|
|
285
|
+
* exclusion is visible in the same field it has always been visible in rather
|
|
286
|
+
* than silently becoming `n/n`. And an arm on which NOTHING validated keeps an
|
|
287
|
+
* empty `kept`, so its median is `null` and it drops out of the hardware verdict
|
|
288
|
+
* as UNMEASURED — the one verdict that is honest about a box that answered no
|
|
289
|
+
* frame. Nothing here can turn a broken arm into a fast one.
|
|
290
|
+
*
|
|
291
|
+
* Ordering is deliberate: FAILED (never ran) is not DEMOTED (ran on the wrong
|
|
292
|
+
* delegate) is not INVALID (ran, answered nothing). Each is counted once, under
|
|
293
|
+
* the first reason that applies, so the three counts sum with `kept.length` to
|
|
294
|
+
* the row total.
|
|
295
|
+
*
|
|
296
|
+
* `wantedDelegate` of `'auto'` accepts whatever ran — that arm asserts no
|
|
297
|
+
* delegate, so no run of it can be a demotion.
|
|
298
|
+
*/
|
|
299
|
+
export declare function keptForTiming(rows: TimedFrameRow[], wantedDelegate: string): KeptFrames;
|
|
300
|
+
/**
|
|
301
|
+
* May the bench afford ANOTHER warm-up call right now?
|
|
302
|
+
*
|
|
303
|
+
* `shouldAttemptAnother` asks "is there room for one more frame". That is the
|
|
304
|
+
* right question for a TIMED frame and the wrong one for a warm-up, because a
|
|
305
|
+
* warm-up that fits exactly leaves nothing behind it: the budget is spent and
|
|
306
|
+
* the run reports no number at all.
|
|
307
|
+
*
|
|
308
|
+
* MEASURED, and this is not hypothetical. windows-latest 2026-08-19 (run
|
|
309
|
+
* 32224252702) had a 30-minute budget and a 12-minute per-frame timeout on a box
|
|
310
|
+
* that could not finish a frame inside it. Two warm-ups consumed 24 minutes, the
|
|
311
|
+
* remaining 6 could not fit a timed frame, and the run ended with **zero**
|
|
312
|
+
* measured frames — on a platform whose whole problem is that it has never
|
|
313
|
+
* produced a per-frame number. The settling was bought and then thrown away.
|
|
314
|
+
*
|
|
315
|
+
* So a warm-up must leave a timed frame's worth of budget behind it: affordable
|
|
316
|
+
* only when the remaining budget covers this call AND the frame it is warming up
|
|
317
|
+
* for. A partially-settled measurement is a datapoint (recorded honestly, with
|
|
318
|
+
* its real warm-up count and `absolutesAreUpperBounds`); a fully-settled
|
|
319
|
+
* measurement of nothing is not.
|
|
320
|
+
*
|
|
321
|
+
* The unsettled direction is also the SAFE one for a floor: a single-warm-up
|
|
322
|
+
* matrix drifts monotonically DOWNWARD (3,344 -> 2,132 ms over eight rounds), so
|
|
323
|
+
* an under-settled median is HIGH, and a box that clears the floor on it clears
|
|
324
|
+
* it settled.
|
|
325
|
+
*/
|
|
326
|
+
export declare function canAffordWarmup(remainingMs: number, observedFrameMs: number[], fallbackFrameMs: number): boolean;
|
|
245
327
|
//# sourceMappingURL=localVlmBench.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localVlmBench.d.ts","sourceRoot":"","sources":["../src/localVlmBench.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"localVlmBench.d.ts","sourceRoot":"","sources":["../src/localVlmBench.ts"],"names":[],"mappings":"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"}
|
package/dist/localVlmBench.js
CHANGED
|
@@ -15,6 +15,8 @@ exports.gradeAgainstFloor = gradeAgainstFloor;
|
|
|
15
15
|
exports.budgetRemaining = budgetRemaining;
|
|
16
16
|
exports.shouldAttemptAnother = shouldAttemptAnother;
|
|
17
17
|
exports.percentile = percentile;
|
|
18
|
+
exports.keptForTiming = keptForTiming;
|
|
19
|
+
exports.canAffordWarmup = canAffordWarmup;
|
|
18
20
|
/**
|
|
19
21
|
* localVlmBench — the reusable, unit-tested pieces of the LIVE on-device VLM
|
|
20
22
|
* verification and its CPU/GPU benchmark. Same split as localSenseE2eHarness:
|
|
@@ -345,4 +347,90 @@ function percentile(values, p) {
|
|
|
345
347
|
* encoder's first passes — that takes on the order of a dozen frames.
|
|
346
348
|
*/
|
|
347
349
|
exports.WARMUP_CALLS_BEFORE_TIMING = 16;
|
|
350
|
+
/**
|
|
351
|
+
* Which frames may enter a LATENCY median.
|
|
352
|
+
*
|
|
353
|
+
* ── Why schema-invalid frames are excluded, and why that is not cherry-picking
|
|
354
|
+
*
|
|
355
|
+
* A frame that produced no valid answer has a duration, but that duration is not
|
|
356
|
+
* the cost of producing an answer — so putting it in a per-frame median makes
|
|
357
|
+
* the median describe something other than what every consumer reads it as.
|
|
358
|
+
*
|
|
359
|
+
* It is not a symmetric error, either. The two observed non-answers sit at
|
|
360
|
+
* OPPOSITE ends of the distribution: an empty generation is the cheapest
|
|
361
|
+
* completion the engine can emit (two threads on one engine return `''`
|
|
362
|
+
* silently, with no error and no exception), and a degenerate repeating one runs
|
|
363
|
+
* to the token cap (measured 15-23 s against a 1.9 s median). Leaving the first
|
|
364
|
+
* in pulls the median DOWN and inflates the camera count the floor derives from
|
|
365
|
+
* it — which is precisely how a phantom speedup gets published. That failure has
|
|
366
|
+
* happened here once already, by counting empty strings as successes.
|
|
367
|
+
*
|
|
368
|
+
* ── Why this cannot hide a fast-but-wrong arm
|
|
369
|
+
*
|
|
370
|
+
* `schemaValid` keeps reporting against `attempted`, NOT against `kept`, so the
|
|
371
|
+
* exclusion is visible in the same field it has always been visible in rather
|
|
372
|
+
* than silently becoming `n/n`. And an arm on which NOTHING validated keeps an
|
|
373
|
+
* empty `kept`, so its median is `null` and it drops out of the hardware verdict
|
|
374
|
+
* as UNMEASURED — the one verdict that is honest about a box that answered no
|
|
375
|
+
* frame. Nothing here can turn a broken arm into a fast one.
|
|
376
|
+
*
|
|
377
|
+
* Ordering is deliberate: FAILED (never ran) is not DEMOTED (ran on the wrong
|
|
378
|
+
* delegate) is not INVALID (ran, answered nothing). Each is counted once, under
|
|
379
|
+
* the first reason that applies, so the three counts sum with `kept.length` to
|
|
380
|
+
* the row total.
|
|
381
|
+
*
|
|
382
|
+
* `wantedDelegate` of `'auto'` accepts whatever ran — that arm asserts no
|
|
383
|
+
* delegate, so no run of it can be a demotion.
|
|
384
|
+
*/
|
|
385
|
+
function keptForTiming(rows, wantedDelegate) {
|
|
386
|
+
const all = Array.isArray(rows) ? rows : [];
|
|
387
|
+
const ran = all.filter((r) => !r.failed);
|
|
388
|
+
const attempted = ran.filter((r) => wantedDelegate === 'auto' || r.delegate === wantedDelegate);
|
|
389
|
+
const kept = attempted.filter((r) => (r.violations || []).length === 0);
|
|
390
|
+
return {
|
|
391
|
+
kept,
|
|
392
|
+
attempted,
|
|
393
|
+
excludedFailed: all.length - ran.length,
|
|
394
|
+
excludedDemoted: ran.length - attempted.length,
|
|
395
|
+
excludedInvalid: attempted.length - kept.length,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* May the bench afford ANOTHER warm-up call right now?
|
|
400
|
+
*
|
|
401
|
+
* `shouldAttemptAnother` asks "is there room for one more frame". That is the
|
|
402
|
+
* right question for a TIMED frame and the wrong one for a warm-up, because a
|
|
403
|
+
* warm-up that fits exactly leaves nothing behind it: the budget is spent and
|
|
404
|
+
* the run reports no number at all.
|
|
405
|
+
*
|
|
406
|
+
* MEASURED, and this is not hypothetical. windows-latest 2026-08-19 (run
|
|
407
|
+
* 32224252702) had a 30-minute budget and a 12-minute per-frame timeout on a box
|
|
408
|
+
* that could not finish a frame inside it. Two warm-ups consumed 24 minutes, the
|
|
409
|
+
* remaining 6 could not fit a timed frame, and the run ended with **zero**
|
|
410
|
+
* measured frames — on a platform whose whole problem is that it has never
|
|
411
|
+
* produced a per-frame number. The settling was bought and then thrown away.
|
|
412
|
+
*
|
|
413
|
+
* So a warm-up must leave a timed frame's worth of budget behind it: affordable
|
|
414
|
+
* only when the remaining budget covers this call AND the frame it is warming up
|
|
415
|
+
* for. A partially-settled measurement is a datapoint (recorded honestly, with
|
|
416
|
+
* its real warm-up count and `absolutesAreUpperBounds`); a fully-settled
|
|
417
|
+
* measurement of nothing is not.
|
|
418
|
+
*
|
|
419
|
+
* The unsettled direction is also the SAFE one for a floor: a single-warm-up
|
|
420
|
+
* matrix drifts monotonically DOWNWARD (3,344 -> 2,132 ms over eight rounds), so
|
|
421
|
+
* an under-settled median is HIGH, and a box that clears the floor on it clears
|
|
422
|
+
* it settled.
|
|
423
|
+
*/
|
|
424
|
+
function canAffordWarmup(remainingMs, observedFrameMs, fallbackFrameMs) {
|
|
425
|
+
if (remainingMs === Number.POSITIVE_INFINITY)
|
|
426
|
+
return true;
|
|
427
|
+
if (!Number.isFinite(remainingMs) || remainingMs <= 0)
|
|
428
|
+
return false;
|
|
429
|
+
const worst = (observedFrameMs || []).filter((n) => Number.isFinite(n) && n > 0);
|
|
430
|
+
const need = worst.length ? Math.max(...worst) : fallbackFrameMs;
|
|
431
|
+
if (!Number.isFinite(need) || need <= 0)
|
|
432
|
+
return false;
|
|
433
|
+
// This call, plus the timed frame it exists to settle.
|
|
434
|
+
return remainingMs >= need * 2;
|
|
435
|
+
}
|
|
348
436
|
//# 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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"}
|