@trillboards/edge-sdk 0.2.40 → 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.
Files changed (90) hide show
  1. package/README.md +1 -1
  2. package/deploy/docker/{Dockerfile.cloud-sense → Dockerfile.connector} +52 -39
  3. package/deploy/docker/README.md +73 -1
  4. package/deploy/docker/connector-entrypoint.sh +46 -80
  5. package/deploy/macos/README.md +1 -1
  6. package/deploy/macos/test-install-pair.sh +9 -9
  7. package/deploy/systemd/install.sh +16 -1
  8. package/deploy/systemd/setup-litertlm.sh +201 -0
  9. package/deploy/systemd/trillboards-edge.service +8 -4
  10. package/deploy/systemd/trillboards-litertlm.service +46 -0
  11. package/deploy/windows/register-task.ps1 +6 -3
  12. package/deploy/windows/run-connector.ps1 +1 -1
  13. package/deploy/windows/trillboards-edge-task.vbs +5 -1
  14. package/dist/CloudSensingManager.d.ts +45 -19
  15. package/dist/CloudSensingManager.d.ts.map +1 -1
  16. package/dist/CloudSensingManager.js +89 -46
  17. package/dist/CloudSensingManager.js.map +1 -1
  18. package/dist/EdgeAgent.js +1 -1
  19. package/dist/LiteRtVlmProvider.d.ts +108 -2
  20. package/dist/LiteRtVlmProvider.d.ts.map +1 -1
  21. package/dist/LiteRtVlmProvider.js +79 -13
  22. package/dist/LiteRtVlmProvider.js.map +1 -1
  23. package/dist/SensingProfileClient.d.ts +9 -0
  24. package/dist/SensingProfileClient.d.ts.map +1 -1
  25. package/dist/SensingProfileClient.js +4 -0
  26. package/dist/SensingProfileClient.js.map +1 -1
  27. package/dist/SetupSessionClient.d.ts +0 -1
  28. package/dist/SetupSessionClient.d.ts.map +1 -1
  29. package/dist/autoSense.d.ts +42 -31
  30. package/dist/autoSense.d.ts.map +1 -1
  31. package/dist/autoSense.js +127 -99
  32. package/dist/autoSense.js.map +1 -1
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +25 -84
  35. package/dist/cli.js.map +1 -1
  36. package/dist/combinedSense.d.ts +1 -3
  37. package/dist/combinedSense.d.ts.map +1 -1
  38. package/dist/combinedSense.js +0 -1
  39. package/dist/combinedSense.js.map +1 -1
  40. package/dist/config.d.ts +17 -64
  41. package/dist/config.d.ts.map +1 -1
  42. package/dist/config.js +0 -10
  43. package/dist/config.js.map +1 -1
  44. package/dist/deployedCadence.d.ts +37 -75
  45. package/dist/deployedCadence.d.ts.map +1 -1
  46. package/dist/deployedCadence.js +45 -105
  47. package/dist/deployedCadence.js.map +1 -1
  48. package/dist/deployedCadenceSource.d.ts +0 -2
  49. package/dist/deployedCadenceSource.d.ts.map +1 -1
  50. package/dist/deployedCadenceSource.js +0 -1
  51. package/dist/deployedCadenceSource.js.map +1 -1
  52. package/dist/diagnose.d.ts +1 -1
  53. package/dist/diagnose.js +1 -1
  54. package/dist/index.d.ts +0 -3
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -8
  57. package/dist/index.js.map +1 -1
  58. package/dist/localInferenceSchema.d.ts +19 -0
  59. package/dist/localInferenceSchema.d.ts.map +1 -1
  60. package/dist/localInferenceSchema.js +23 -0
  61. package/dist/localInferenceSchema.js.map +1 -1
  62. package/dist/localSensing.d.ts +48 -107
  63. package/dist/localSensing.d.ts.map +1 -1
  64. package/dist/localSensing.js +80 -171
  65. package/dist/localSensing.js.map +1 -1
  66. package/dist/localVlmBench.d.ts +36 -0
  67. package/dist/localVlmBench.d.ts.map +1 -1
  68. package/dist/localVlmBench.js +48 -0
  69. package/dist/localVlmBench.js.map +1 -1
  70. package/dist/sensingCatchRate.d.ts +246 -0
  71. package/dist/sensingCatchRate.d.ts.map +1 -0
  72. package/dist/sensingCatchRate.js +514 -0
  73. package/dist/sensingCatchRate.js.map +1 -0
  74. package/dist/sensingRunMode.d.ts +14 -11
  75. package/dist/sensingRunMode.d.ts.map +1 -1
  76. package/dist/sensingRunMode.js +9 -92
  77. package/dist/sensingRunMode.js.map +1 -1
  78. package/dist/setupMode.d.ts +0 -1
  79. package/dist/setupMode.d.ts.map +1 -1
  80. package/dist/setupMode.js +5 -3
  81. package/dist/setupMode.js.map +1 -1
  82. package/dist/startupDiscovery.d.ts +43 -0
  83. package/dist/startupDiscovery.d.ts.map +1 -0
  84. package/dist/startupDiscovery.js +72 -0
  85. package/dist/startupDiscovery.js.map +1 -0
  86. package/package.json +1 -1
  87. package/dist/CloudEscalationPolicy.d.ts +0 -143
  88. package/dist/CloudEscalationPolicy.d.ts.map +0 -1
  89. package/dist/CloudEscalationPolicy.js +0 -137
  90. package/dist/CloudEscalationPolicy.js.map +0 -1
@@ -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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"}
@@ -41,6 +41,15 @@ export interface ResolvedSensingProfile {
41
41
  captureIntervalMs: number | null;
42
42
  /** The operator's custom fields the on-device VLM must also emit. */
43
43
  fields: ProfileField[];
44
+ /**
45
+ * Fields whose ABSENT reading an enabled route on this screen actually fires on —
46
+ * e.g. `shelf_state` for a saved `shelf_state eq 'empty'` alert. Derived SERVER-side
47
+ * from the operator's own route conditions (never guessed from a field's spelling),
48
+ * and consumed only by `localSensing.isAlertWorthy`, which lets an empty reading of
49
+ * these count as signal so an empty-shelf alert still carries its evidence frame.
50
+ * Empty on every screen with no absence-targeting route, which is the default.
51
+ */
52
+ absenceWatchedFields: string[];
44
53
  }
45
54
  export declare class SensingProfileClient {
46
55
  private readonly endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"SensingProfileClient.d.ts","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,2BAA2B;IAC1C,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;;OAQG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qEAAqE;IACrE,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,CAAC,EAAE,UAAU;IAUrE,+DAA+D;IAC/D,WAAW,IAAI,MAAM;IAIrB;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CA8C7D"}
1
+ {"version":3,"file":"SensingProfileClient.d.ts","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,2BAA2B;IAC1C,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;;OAQG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qEAAqE;IACrE,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,CAAC,EAAE,UAAU;IAUrE,+DAA+D;IAC/D,WAAW,IAAI,MAAM;IAIrB;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CAkD7D"}
@@ -71,6 +71,10 @@ class SensingProfileClient {
71
71
  : null,
72
72
  captureIntervalMs: Number.isFinite(parsed.captureIntervalMs) ? parsed.captureIntervalMs : null,
73
73
  fields,
74
+ // Absent on an older API -> [] (the gate behaves exactly as it did before).
75
+ absenceWatchedFields: Array.isArray(parsed.absenceWatchedFields)
76
+ ? parsed.absenceWatchedFields.filter((f) => typeof f === 'string' && f.length > 0)
77
+ : [],
74
78
  };
75
79
  }
76
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SensingProfileClient.js","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SensingProfileClient.js","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,6 @@ export interface SetupPollResponse {
58
58
  };
59
59
  localSensing?: {
60
60
  enabled: boolean;
61
- allowCloudFallback?: boolean;
62
61
  };
63
62
  cameras: Array<{
64
63
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SetupSessionClient.d.ts","sourceRoot":"","sources":["../src/SetupSessionClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SetupSessionClient.d.ts","sourceRoot":"","sources":["../src/SetupSessionClient.ts"],"names":[],"mappings":"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"}
@@ -47,9 +47,16 @@ export declare function probeLiteRtLmHealth(baseUrl?: string, opts?: {
47
47
  }): Promise<LiteRtHealthResult>;
48
48
  /** A timer handle the supervisor sets for its re-probe loop (injectable in tests). */
49
49
  export type AutoSenseTimerHandle = ReturnType<typeof setTimeout>;
50
- /** Which sensing path the supervisor is currently running. */
51
- export type SensingMode = 'local' | 'cloud';
52
- export type AutoSenseState = SensingMode | 'waiting';
50
+ /**
51
+ * Which sensing path the supervisor is currently running.
52
+ *
53
+ * `local` analyzes on-device. `waiting` runs the same manager with inference
54
+ * switched off — cameras open, health reported, nothing analyzed — because a
55
+ * connector that cannot sense yet must still be visibly alive. There is no
56
+ * `cloud`: see the module header.
57
+ */
58
+ export type SensingMode = 'local' | 'waiting';
59
+ export type AutoSenseState = SensingMode;
53
60
  /**
54
61
  * Everything the AutoSenseSupervisor needs, all injectable so the supervisor can
55
62
  * be unit-tested with a fake probe + fake managers. `runAutoSense` builds this
@@ -60,8 +67,6 @@ export interface AutoSenseSupervisorDeps {
60
67
  probe: () => Promise<LiteRtHealthResult>;
61
68
  /** Build (NOT start) the local-sensing manager. `null` ⇒ no feeds (fatal). */
62
69
  buildLocalManager: () => SensingManager | null;
63
- /** Build (NOT start) the cloud-sensing manager. `null` ⇒ no feeds (fatal). */
64
- buildCloudManager: () => SensingManager | null;
65
70
  /** Log sink (tests capture it). */
66
71
  log: (msg: string) => void;
67
72
  /** Sleep between startup re-probes (tests inject a no-op). */
@@ -80,10 +85,8 @@ export interface AutoSenseSupervisorDeps {
80
85
  startupBackoffMs: number;
81
86
  /** Steady-state re-probe interval (ms), already floored. */
82
87
  recheckIntervalMs: number;
83
- /** Consecutive unhealthy re-probes required before a LOCAL→CLOUD fallback. */
88
+ /** Consecutive unhealthy re-probes required before the runtime is called unhealthy. */
84
89
  unhealthyChecksBeforeFallback: number;
85
- /** Cloud inference is opt-in because continuous CCTV cloud load is expensive. */
86
- allowCloudFallback: boolean;
87
90
  /** For the initial "probing…" log line. */
88
91
  litertLmBaseUrl: string;
89
92
  expectedModel: string;
@@ -95,13 +98,12 @@ export interface AutoSenseSupervisorDeps {
95
98
  * "restart to re-probe"), it OWNS the sensing lifecycle so the connector always
96
99
  * prefers on-device Gemma and switches automatically with NO restart:
97
100
  *
98
- * - startInitial(): bounded startup re-probe → start the chosen path's REAL
99
- * manager directly when litert-lm is healthy; otherwise wait locally unless
100
- * cloud fallback was explicitly enabled.
101
+ * - startInitial(): bounded startup re-probe → start the REAL manager with
102
+ * inference ON when litert-lm is healthy, or in `healthOnly` mode when it is
103
+ * not, so a waiting connector still reports its cameras.
101
104
  * - beginRechecks(): a steady-state background re-probe loop on recheckIntervalMs.
102
- * - recheck(): one tick — AUTO-UPGRADE cloud→local the instant local is ready
103
- * (fixes the fresh-install race with zero restart). Explicit cloud-fallback
104
- * installs may also recover local→cloud after K unhealthy probes.
105
+ * - recheck(): one tick — AUTO-UPGRADE waiting→local the instant the model is
106
+ * ready (fixes the fresh-install race with zero restart).
105
107
  * - shutdown(): stop the active manager + clear the timer (SIGINT/SIGTERM).
106
108
  *
107
109
  * At most ONE switch per tick; a re-entrancy guard + the K-debounce mean a
@@ -112,7 +114,6 @@ export declare class AutoSenseSupervisor {
112
114
  private mode;
113
115
  private active;
114
116
  private localManager;
115
- private cloudManager;
116
117
  private consecutiveUnhealthy;
117
118
  /**
118
119
  * Completed local analyses as of the previous re-probe. `null` = no baseline
@@ -120,6 +121,14 @@ export declare class AutoSenseSupervisor {
120
121
  * positive evidence" and leaves the pre-existing behaviour in place.
121
122
  */
122
123
  private analysesAtLastRecheck;
124
+ /**
125
+ * Why the connector is not sensing, in the probe's own words. Restated on
126
+ * every re-probe while waiting: a connector that goes quiet after ONE line at
127
+ * boot is how "waiting for a 2.4 GB model" became indistinguishable from
128
+ * "dead" in the first place, and the operator reading the log an hour later
129
+ * needs the reason to still be there.
130
+ */
131
+ private lastWaitReason;
123
132
  private timer;
124
133
  private switching;
125
134
  private stopped;
@@ -140,6 +149,7 @@ export declare class AutoSenseSupervisor {
140
149
  inFlight: number;
141
150
  buffered: number;
142
151
  };
152
+ /** The one manager, built on first use. Same instance for both states. */
143
153
  private getManager;
144
154
  /**
145
155
  * Initial probe (bounded startup re-probe loop for the fresh-install warmup
@@ -147,7 +157,13 @@ export declare class AutoSenseSupervisor {
147
157
  * onNoFeeds) when the chosen mode has no feeds configured.
148
158
  */
149
159
  startInitial(): Promise<boolean>;
150
- /** Build + start a mode's manager and make it active. False ⇒ no feeds. */
160
+ /**
161
+ * Start the manager in the given mode and make it active. False ⇒ no feeds.
162
+ *
163
+ * `waiting` starts the SAME manager with `healthOnly`, so the feeds are
164
+ * validated and the cameras are opened either way — a bad/empty config still
165
+ * fails immediately instead of looking like a model download in progress.
166
+ */
151
167
  private activate;
152
168
  /** Start the steady-state background re-probe loop. */
153
169
  beginRechecks(): void;
@@ -161,12 +177,9 @@ export declare class AutoSenseSupervisor {
161
177
  /**
162
178
  * One background re-probe tick.
163
179
  * - While WAITING: a healthy probe starts local sensing immediately.
164
- * - On CLOUD: any healthy probe → AUTO-UPGRADE to local immediately (running
165
- * on cloud while local is ready is pure waste; the K-debounce on the return
166
- * path bounds any toggling, so this is safe on the first healthy probe).
167
180
  * - On LOCAL: a healthy probe resets the debounce; an unhealthy probe
168
- * increments it, and only after K CONSECUTIVE unhealthy probes do we
169
- * AUTO-RECOVER to cloud only when explicit fallback is enabled.
181
+ * increments it, and only after K CONSECUTIVE unhealthy probes do we report
182
+ * the runtime unhealthy — sensing stays put and recovers in place.
170
183
  * At most one switch per tick; re-entrancy guarded.
171
184
  *
172
185
  * ── Why an unanswered probe is not, by itself, a verdict ───────────────────
@@ -194,11 +207,11 @@ export declare class AutoSenseSupervisor {
194
207
  * landing; the moment they stop landing the same probe counts, and K of them
195
208
  * demote exactly as before.
196
209
  *
197
- * It has to be `localInferences` and not the total analysis count. With
198
- * `cloudFallbackOnError` on, a frame the local provider THREW on is answered
199
- * by the cloud and still lands as an analysis — so a dead runtime would keep
200
- * advancing the total forever and this rule would mask it permanently, which
201
- * is strictly worse than the defect it replaces.
210
+ * It has to be `localInferences` and not the total analysis count, and that
211
+ * distinction must be preserved even though the connector no longer has a
212
+ * cloud path that could advance the total on its own: this counter is the
213
+ * supervisor's only proof of life, so anything but a COMPLETED on-device
214
+ * inference advancing it would make the proof self-fulfilling.
202
215
  *
203
216
  * Deliberately NOT keyed on "we have a request in flight": a serve that
204
217
  * ACCEPTS and never answers holds our permit for the provider's whole timeout,
@@ -216,7 +229,7 @@ export declare class AutoSenseSupervisor {
216
229
  /** Injection points for runAutoSense (default to the real probe/managers/timers). */
217
230
  export interface AutoSenseDeps {
218
231
  /**
219
- * Probe used to decide local-vs-cloud. Defaults to probeLiteRtLmHealth.
232
+ * Probe used to decide sense-vs-wait. Defaults to probeLiteRtLmHealth.
220
233
  * Receives the resolved base URL, per-probe timeout, and the model the local
221
234
  * path will run (so the probe can require it before declaring local usable).
222
235
  */
@@ -225,8 +238,6 @@ export interface AutoSenseDeps {
225
238
  loadConfig?: (configPath: string) => EdgeAgentConfig;
226
239
  /** Build (NOT start) the local manager. Defaults to buildLocalSensingManager(config). */
227
240
  buildLocalManager?: () => SensingManager | null;
228
- /** Build (NOT start) the cloud manager. Defaults to buildCloudSensingManager(config). */
229
- buildCloudManager?: () => SensingManager | null;
230
241
  /** Log sink (tests capture it). Defaults to console.log. */
231
242
  log?: (msg: string) => void;
232
243
  /** Sleep between startup re-probes (tests inject a no-op). Defaults to setTimeout. */
@@ -264,8 +275,8 @@ export interface AutoSenseDeps {
264
275
  * genuine config error propagates to main() (prints + exits 1) — the same net
265
276
  * result as before, where the chosen run mode re-loaded the config and reported it.
266
277
  *
267
- * The explicit `local-sense` / `cloud-sense` entrypoints stay non-switching; only
268
- * `auto-sense` is supervised.
278
+ * The explicit `local-sense` entrypoint stays non-switching; only `auto-sense`
279
+ * is supervised.
269
280
  */
270
281
  export declare function runAutoSense(args: string[], deps?: AutoSenseDeps): Promise<void>;
271
282
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"autoSense.d.ts","sourceRoot":"","sources":["../src/autoSense.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoSense.d.ts","sourceRoot":"","sources":["../src/autoSense.ts"],"names":[],"mappings":"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"}