@trillboards/edge-sdk 0.2.13 → 0.2.15

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.
Files changed (54) hide show
  1. package/deploy/windows/README.md +7 -0
  2. package/deploy/windows/build-windows.ps1 +4 -0
  3. package/deploy/windows/ensure-sensing.ps1 +58 -0
  4. package/deploy/windows/install-update.ps1 +32 -6
  5. package/deploy/windows/setup-litertlm.ps1 +45 -0
  6. package/deploy/windows/stop-existing.ps1 +51 -1
  7. package/deploy/windows/trillboards-edge.cmd +8 -2
  8. package/deploy/windows/trillboards-hidden-run.vbs +47 -0
  9. package/deploy/windows/trillboards-setup.ps1 +25 -0
  10. package/dist/AudienceAnalyzeClient.d.ts +16 -2
  11. package/dist/AudienceAnalyzeClient.d.ts.map +1 -1
  12. package/dist/AudienceAnalyzeClient.js.map +1 -1
  13. package/dist/CloudSensingManager.d.ts +213 -5
  14. package/dist/CloudSensingManager.d.ts.map +1 -1
  15. package/dist/CloudSensingManager.js +432 -23
  16. package/dist/CloudSensingManager.js.map +1 -1
  17. package/dist/EdgeAgent.js +1 -1
  18. package/dist/SceneChangeDetector.d.ts +39 -3
  19. package/dist/SceneChangeDetector.d.ts.map +1 -1
  20. package/dist/SceneChangeDetector.js +84 -16
  21. package/dist/SceneChangeDetector.js.map +1 -1
  22. package/dist/VlmAdmissionGate.d.ts +14 -0
  23. package/dist/VlmAdmissionGate.d.ts.map +1 -1
  24. package/dist/VlmAdmissionGate.js +14 -0
  25. package/dist/VlmAdmissionGate.js.map +1 -1
  26. package/dist/VlmCandidateBuffer.d.ts +236 -0
  27. package/dist/VlmCandidateBuffer.d.ts.map +1 -0
  28. package/dist/VlmCandidateBuffer.js +347 -0
  29. package/dist/VlmCandidateBuffer.js.map +1 -0
  30. package/dist/config.d.ts +46 -0
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js.map +1 -1
  33. package/dist/diagnose.d.ts +1 -1
  34. package/dist/diagnose.js +1 -1
  35. package/dist/discovery.d.ts +15 -0
  36. package/dist/discovery.d.ts.map +1 -1
  37. package/dist/discovery.js +65 -0
  38. package/dist/discovery.js.map +1 -1
  39. package/dist/index.d.ts +3 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +7 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/recorderRanking.d.ts +71 -0
  44. package/dist/recorderRanking.d.ts.map +1 -0
  45. package/dist/recorderRanking.js +230 -0
  46. package/dist/recorderRanking.js.map +1 -0
  47. package/dist/sensingRunMode.d.ts.map +1 -1
  48. package/dist/sensingRunMode.js +124 -0
  49. package/dist/sensingRunMode.js.map +1 -1
  50. package/dist/setupMode.d.ts +9 -0
  51. package/dist/setupMode.d.ts.map +1 -1
  52. package/dist/setupMode.js +23 -1
  53. package/dist/setupMode.js.map +1 -1
  54. package/package.json +1 -1
@@ -5,7 +5,9 @@ import { SharedFrameSource } from './MosaicSource';
5
5
  import type { EdgeAgentConfig, MosaicTile, RecorderIdentity } from './config';
6
6
  import { type VlmAdmissionStats } from './VlmAdmissionGate';
7
7
  import { type MotionGateOptions, type MotionGateReason } from './SceneChangeDetector';
8
+ import { type VlmCandidateBufferOptions, type VlmCandidateBufferStats } from './VlmCandidateBuffer';
8
9
  import type { DeployedCadence } from './deployedCadence';
10
+ import type { LiteRtAccelerator, LiteRtAcceleratorHealth } from './LiteRtVlmProvider';
9
11
  export declare function classifyRtspFailureClass(err: unknown): CameraHealthFailureClass;
10
12
  /**
11
13
  * The subset of AudienceAnalyzeClient the cadence loop needs. A local-inference
@@ -46,6 +48,56 @@ export interface SensingClient {
46
48
  getLocalInferenceStats?(): {
47
49
  completed: number;
48
50
  };
51
+ /**
52
+ * Which litert-lm delegate this client's on-device runtime resolved, and why
53
+ * it is not the GPU when it is not (LocalSensingClient only — the plain
54
+ * cloud client runs no model here and implements nothing).
55
+ *
56
+ * Aggregated into `getSensingHealth()` because the delegate is the single
57
+ * biggest term in the capacity number directly above it on the operator
58
+ * line: the SAME frame set measured 13.92 s/frame on CPU and 2.11 s/frame on
59
+ * GPU (16-key), 3.61 vs 1.29 (7-key). A sustained-analyses/minute figure
60
+ * printed without it is a symptom with its diagnosis withheld.
61
+ */
62
+ getAcceleratorHealth?(): LiteRtAcceleratorHealth;
63
+ }
64
+ /**
65
+ * The connector's ONE answer to "which delegate is my model actually on?",
66
+ * folded across every feed.
67
+ *
68
+ * Each feed builds its own `LiteRtVlmProvider` (see `localProviderFactory`),
69
+ * so N feeds give N answers to the same question. They normally agree — same
70
+ * serve, same config — but a per-feed runtime demotion can split them, and the
71
+ * fold is deliberately PESSIMISTIC: one demoted feed is a demotion, and a
72
+ * split delegate is `'mixed'` rather than a majority verdict that would hide
73
+ * the slow half behind the fast one.
74
+ */
75
+ export interface SensingAcceleratorHealth {
76
+ /**
77
+ * How many feeds reported an on-device delegate at all. 0 means the cloud
78
+ * path — there is no model on this machine and nothing to say about it.
79
+ */
80
+ feeds: number;
81
+ /** The configured policy when every local feed agrees; null when they differ (or none report). */
82
+ policy: LiteRtAccelerator | null;
83
+ /**
84
+ * The delegate inference is running on right now. `'mixed'` when feeds
85
+ * disagree; null before the first resolution completes (or on the cloud path).
86
+ */
87
+ delegate: 'gpu' | 'cpu' | 'mixed' | null;
88
+ /**
89
+ * Did `GET /v1/models` advertise the `,gpu` variant? True if ANY feed saw it
90
+ * (the variant either exists on that serve or it does not), false when a
91
+ * probe came back without it, null when nothing probed — a pinned delegate
92
+ * never asks, so "not probed" and "not available" stay distinct facts.
93
+ */
94
+ gpuAdvertised: boolean | null;
95
+ /** True once ANY feed's GPU variant failed at runtime and fell back to CPU. */
96
+ gpuDemoted: boolean;
97
+ /** Why the run is not on the GPU — a demotion reason wins over a merely-informational one. */
98
+ reason: string | null;
99
+ /** The distinct model ids inference is actually posted under (deduped, sorted). */
100
+ models: string[];
49
101
  }
50
102
  /** A camera + its dedicated sensing client (one feed = one token). */
51
103
  export interface SensingLoopDeps {
@@ -144,6 +196,37 @@ export interface CloudSensingManagerOptions {
144
196
  */
145
197
  minScanIntervalMs?: number;
146
198
  };
199
+ /**
200
+ * Bounded hold for frames the cascade already called interesting but the
201
+ * admission gate could not take yet.
202
+ *
203
+ * ON BY DEFAULT WHEREVER IT CAN BE, which is wherever `motionGate` is on —
204
+ * and that is not a hedge, it is the precondition. Without a cascade nothing
205
+ * has classified the frame, so holding it would be the undifferentiated queue
206
+ * `VlmAdmissionGate` exists to refuse; the feature is therefore structurally
207
+ * coupled to its own classifier rather than to a flag someone has to
208
+ * remember. That lands it exactly where the single-conversation backend
209
+ * lives (local sensing enables the cascade by default) and leaves the
210
+ * genuinely-concurrent cloud path untouched.
211
+ *
212
+ * It is on rather than off because the thing it fixes is not a tuning
213
+ * preference: a motion-positive frame dropped at the gate is the alert not
214
+ * firing, and a connector shipped with the fix switched off is a connector
215
+ * that still drops it. Memory cannot run away — the hold is capped in
216
+ * frames, per feed, and in bytes, all enforced on the way in (see
217
+ * VlmCandidateBuffer). `enabled: false` restores the pure drop semantics.
218
+ */
219
+ candidateBuffer?: VlmCandidateBufferOptions & {
220
+ /** Default: true whenever the motion cascade is on. */
221
+ enabled?: boolean;
222
+ /**
223
+ * How often the buffer is offered to a freed slot (ms). Default: the same
224
+ * derived value as `admissionRetryDelayMs` (250…5000), because it answers
225
+ * the same question — how quickly should a waiting frame notice a slot
226
+ * freed — and two knobs for one question drift apart.
227
+ */
228
+ pumpIntervalMs?: number;
229
+ };
147
230
  /**
148
231
  * Let the motion verdict drive the periodic/face-triggered cadence switch —
149
232
  * finally supplying the `setFaceDetected` signal this loop was always
@@ -202,6 +285,13 @@ export declare class CloudSensingManager extends EventEmitter {
202
285
  private readonly cameraHealthHeartbeatIntervalMs;
203
286
  private readonly admissionGate;
204
287
  private readonly admissionRetryDelayMs;
288
+ /**
289
+ * The bounded hold between the cascade and the gate. NULL when there is no
290
+ * cascade to name a candidate — see the `candidateBuffer` option.
291
+ */
292
+ private readonly candidates;
293
+ private readonly candidatePumpIntervalMs;
294
+ private candidatePumpTimer;
205
295
  private readonly motionDrivesCadence;
206
296
  /** Retained so a cadence change can rebuild each feed's gate heartbeat. */
207
297
  private motionGateOptions;
@@ -329,6 +419,31 @@ export declare class CloudSensingManager extends EventEmitter {
329
419
  skipped: number;
330
420
  byReason: Record<MotionGateReason, number>;
331
421
  };
422
+ /**
423
+ * The bounded hold between the cascade and the gate. `served` is the whole
424
+ * point — frames that were interesting, could not be analyzed at the
425
+ * instant they were taken, and reached the model anyway. `evicted` and
426
+ * `expired` are the price, and they are reported rather than absorbed: a
427
+ * silent eviction would move the lost frame from one invisible place to
428
+ * another, which is the defect this buffer exists to fix.
429
+ */
430
+ candidateBuffer: {
431
+ enabled: boolean;
432
+ /** Held right now. */
433
+ buffered: number;
434
+ bytes: number;
435
+ maxFrames: number;
436
+ maxPerFeed: number;
437
+ maxBytes: number;
438
+ ttlMs: number;
439
+ enqueued: number;
440
+ served: number;
441
+ evicted: number;
442
+ expired: number;
443
+ /** How long the oldest waiting candidate has been waiting. */
444
+ oldestAgeMs: number | null;
445
+ perFeed: VlmCandidateBufferStats['perFeed'];
446
+ };
332
447
  /**
333
448
  * Frames sent to the cloud VLM for confirmation (local sensing with
334
449
  * escalation enabled). 0 — and `cloudEscalationEnabled:false` — for a
@@ -336,6 +451,19 @@ export declare class CloudSensingManager extends EventEmitter {
336
451
  */
337
452
  cloudEscalated: number;
338
453
  cloudEscalationEnabled: boolean;
454
+ /**
455
+ * WHICH litert-lm delegate the on-device runtime is actually running, and
456
+ * why it is not the GPU when it is not.
457
+ *
458
+ * The provider has resolved and reported this since the `,gpu` variant
459
+ * shipped, but nothing that reaches a human ever read it — so a connector
460
+ * on the 13.92 s/frame CPU path and one on the 2.11 s/frame GPU path
461
+ * produced identical health, and a 32-camera field test on 0.2.13
462
+ * reasonably read its own 2.4 analyses/min as the product's speed. This is
463
+ * the field that makes those two machines distinguishable, in the log and
464
+ * in any support bundle.
465
+ */
466
+ accelerator: SensingAcceleratorHealth;
339
467
  perFeed: Array<{
340
468
  name: string;
341
469
  captures: number;
@@ -344,6 +472,10 @@ export declare class CloudSensingManager extends EventEmitter {
344
472
  motionSkipped: number;
345
473
  /** This feed's skips, attributed to the cascade stage that made them. */
346
474
  motionSkippedByReason: Record<MotionGateReason, number>;
475
+ /** Candidates this feed is holding right now — "camera 12 is waiting". */
476
+ candidatesBuffered: number;
477
+ /** Candidates of this feed's that the hold delivered to the model. */
478
+ candidatesServed: number;
347
479
  cloudEscalated: number;
348
480
  faceDetected: boolean;
349
481
  currentIntervalMs: number;
@@ -460,6 +592,22 @@ export declare class CloudSensingManager extends EventEmitter {
460
592
  private emitLoopError;
461
593
  private reportCameraFailure;
462
594
  private reportCameraHealth;
595
+ /**
596
+ * Report this feed as `open`, carrying the proof we ACTUALLY have.
597
+ *
598
+ * `frameProven` and `streamOpened` are two different facts and the caller must
599
+ * not conflate them:
600
+ *
601
+ * `streamOpened` — `camera.open()` resolved. The RTSP handshake completed,
602
+ * so the RECORDER IS REACHABLE. No frame has decoded, so
603
+ * this deliberately carries NO `lastFrameAtMs` and does NOT
604
+ * advance `lastCaptureAtMs` — a feed that has proved only
605
+ * reachability is still owed a video probe, immediately.
606
+ * `frameProven` — ffmpeg handed us real bytes. VIDEO IS HEALTHY.
607
+ *
608
+ * Both force a report, because both are transitions an operator is waiting on
609
+ * ("Connecting…" must clear the moment the recorder answers).
610
+ */
463
611
  private reportCameraOpen;
464
612
  private healthProbeDue;
465
613
  /**
@@ -468,14 +616,74 @@ export declare class CloudSensingManager extends EventEmitter {
468
616
  */
469
617
  private captureHealthFrame;
470
618
  /**
471
- * One cascade pass for a feed: admission → capture → motion → inference,
472
- * with a bounded decode-only health probe when admission is denied.
619
+ * One cascade pass for a feed. Which pass depends on whether there is a
620
+ * cascade to name a candidate — see the class header for why the order
621
+ * differs and why that is not two behaviours bolted together.
473
622
  *
474
- * The admission check comes first so denied inference frames are dropped,
475
- * never buffered. Video health is independent: at most one feed at a time
476
- * may take a slow-cadence decode-only proof while the model is occupied.
623
+ * Deliberately NOT `async`: it hands the chosen pass's promise straight back
624
+ * instead of adopting it. An `async` dispatcher would insert two microtask
625
+ * hops in front of every capture on a path this PR does not otherwise
626
+ * change, and a fake-timer test that advances a fixed number of drains would
627
+ * then complete fewer ticks per advance — which is not a behaviour change but
628
+ * is indistinguishable from one at 2 a.m. Zero delta on the untouched path is
629
+ * cheaper to hold than the argument about whether the delta mattered.
477
630
  */
478
631
  private captureAndPost;
632
+ /**
633
+ * LOOK FIRST, admit second: capture → motion → (candidate) → admission.
634
+ *
635
+ * Runs only with the cascade on, because only the cascade can answer "is
636
+ * this frame worth holding?". A candidate the gate cannot take right now
637
+ * goes into the bounded hold instead of onto the floor; anything the cascade
638
+ * rejected is dropped exactly as before and is never offered.
639
+ */
640
+ private lookThenAdmit;
641
+ /**
642
+ * ADMIT FIRST, look second — the original order, unchanged, and the only one
643
+ * available without a cascade: nothing has classified the frame, so paying
644
+ * for a grab the model cannot take buys nothing, and a denied tick drops
645
+ * without touching the camera. Video health stays independent: at most one
646
+ * feed at a time may take a slow-cadence decode-only proof while the model
647
+ * is occupied.
648
+ */
649
+ private admitThenLook;
650
+ /**
651
+ * Everything that happens once a frame has been analyzed, in ONE place, so a
652
+ * held frame and a fresh one can never be counted — or reported to the portal
653
+ * — differently.
654
+ *
655
+ * Synchronous on purpose. The obvious factoring wraps the `analyze()` call
656
+ * itself, but that turns every caller's inline await into an await of an
657
+ * async helper, which adds microtask hops to the pre-existing capture path
658
+ * for no behavioural gain. What the two callers genuinely share is the
659
+ * bookkeeping AFTER the call, and that is what lives here; the four-line
660
+ * try/catch around the call stays at each site, where its `unavailable`
661
+ * report is visible next to the thing that can fail.
662
+ */
663
+ private recordAnalysis;
664
+ /**
665
+ * Arm the candidate pump for ONE run of the manager.
666
+ *
667
+ * A manager-scoped chain rather than a per-feed one, and that is the point:
668
+ * service order across feeds has to be a DECISION (least-recently-served,
669
+ * see VlmCandidateBuffer), not a race between 32 independent timers all
670
+ * polling for the same freed slot. `generation` carries the same meaning it
671
+ * carries in `scheduleNext` — a pump that survives a stop()/start() cycle
672
+ * must not arm a second chain.
673
+ */
674
+ private scheduleCandidatePump;
675
+ /**
676
+ * Offer the hold to every slot that is free right now.
677
+ *
678
+ * Synchronous by construction: each admitted candidate is launched as its own
679
+ * task and the pump does not await it, so one slow inference cannot delay the
680
+ * next pump tick or another feed's turn. Concurrency stays bounded by the
681
+ * admission gate, which is the only thing that ever knew the backend's real
682
+ * capacity.
683
+ */
684
+ private pumpCandidates;
685
+ /** Analyze one held candidate and give the slot back. Never throws. */
686
+ private serveCandidate;
479
687
  /**
480
688
  * Convert a camera frame to JPEG bytes for the POST.
481
689
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CloudSensingManager.d.ts","sourceRoot":"","sources":["../src/CloudSensingManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloudSensingManager.d.ts","sourceRoot":"","sources":["../src/CloudSensingManager.ts"],"names":[],"mappings":"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"}