@trillboards/edge-sdk 0.2.39 → 0.2.41

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 (82) 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/SensingProfileClient.d.ts +9 -0
  20. package/dist/SensingProfileClient.d.ts.map +1 -1
  21. package/dist/SensingProfileClient.js +4 -0
  22. package/dist/SensingProfileClient.js.map +1 -1
  23. package/dist/SetupSessionClient.d.ts +0 -1
  24. package/dist/SetupSessionClient.d.ts.map +1 -1
  25. package/dist/autoSense.d.ts +42 -31
  26. package/dist/autoSense.d.ts.map +1 -1
  27. package/dist/autoSense.js +127 -99
  28. package/dist/autoSense.js.map +1 -1
  29. package/dist/cli.d.ts.map +1 -1
  30. package/dist/cli.js +25 -84
  31. package/dist/cli.js.map +1 -1
  32. package/dist/combinedSense.d.ts +1 -3
  33. package/dist/combinedSense.d.ts.map +1 -1
  34. package/dist/combinedSense.js +0 -1
  35. package/dist/combinedSense.js.map +1 -1
  36. package/dist/config.d.ts +17 -64
  37. package/dist/config.d.ts.map +1 -1
  38. package/dist/config.js +0 -10
  39. package/dist/config.js.map +1 -1
  40. package/dist/deployedCadence.d.ts +37 -75
  41. package/dist/deployedCadence.d.ts.map +1 -1
  42. package/dist/deployedCadence.js +45 -105
  43. package/dist/deployedCadence.js.map +1 -1
  44. package/dist/deployedCadenceSource.d.ts +0 -2
  45. package/dist/deployedCadenceSource.d.ts.map +1 -1
  46. package/dist/deployedCadenceSource.js +0 -1
  47. package/dist/deployedCadenceSource.js.map +1 -1
  48. package/dist/diagnose.d.ts +1 -1
  49. package/dist/diagnose.js +1 -1
  50. package/dist/index.d.ts +0 -3
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +1 -8
  53. package/dist/index.js.map +1 -1
  54. package/dist/localInferenceSchema.d.ts +19 -0
  55. package/dist/localInferenceSchema.d.ts.map +1 -1
  56. package/dist/localInferenceSchema.js +23 -0
  57. package/dist/localInferenceSchema.js.map +1 -1
  58. package/dist/localSensing.d.ts +48 -107
  59. package/dist/localSensing.d.ts.map +1 -1
  60. package/dist/localSensing.js +80 -171
  61. package/dist/localSensing.js.map +1 -1
  62. package/dist/sensingCatchRate.d.ts +246 -0
  63. package/dist/sensingCatchRate.d.ts.map +1 -0
  64. package/dist/sensingCatchRate.js +514 -0
  65. package/dist/sensingCatchRate.js.map +1 -0
  66. package/dist/sensingRunMode.d.ts +14 -11
  67. package/dist/sensingRunMode.d.ts.map +1 -1
  68. package/dist/sensingRunMode.js +9 -92
  69. package/dist/sensingRunMode.js.map +1 -1
  70. package/dist/setupMode.d.ts +0 -1
  71. package/dist/setupMode.d.ts.map +1 -1
  72. package/dist/setupMode.js +5 -3
  73. package/dist/setupMode.js.map +1 -1
  74. package/dist/startupDiscovery.d.ts +43 -0
  75. package/dist/startupDiscovery.d.ts.map +1 -0
  76. package/dist/startupDiscovery.js +72 -0
  77. package/dist/startupDiscovery.js.map +1 -0
  78. package/package.json +1 -1
  79. package/dist/CloudEscalationPolicy.d.ts +0 -143
  80. package/dist/CloudEscalationPolicy.d.ts.map +0 -1
  81. package/dist/CloudEscalationPolicy.js +0 -137
  82. package/dist/CloudEscalationPolicy.js.map +0 -1
@@ -0,0 +1,201 @@
1
+ #!/bin/bash
2
+ #
3
+ # setup-litertlm.sh (Linux/systemd) — provision the LiteRT-LM on-device VLM
4
+ # runtime for the BYO-CCTV LOCAL-INFERENCE-ONLY connector.
5
+ #
6
+ # ── Why this file exists ────────────────────────────────────────────────────
7
+ #
8
+ # The systemd unit used to run `cloud-sense`, so Linux was the ONE platform that
9
+ # ignored the local-first policy macOS and Windows already followed — and it did
10
+ # so per FRAME. Measured 2026-08-12 over 255,812 image-bearing cloud VLM calls:
11
+ # $0.007008 per analyzed frame. At a 30s cadence that is ~$605/camera/month, so a
12
+ # 16-camera store cost ~$9,688/month against a $99-500 subscription.
13
+ #
14
+ # The unit now runs `auto-sense`, which is local-or-wait. Without a local runtime
15
+ # a Linux install would therefore WAIT forever, so provisioning one is not
16
+ # optional here — it is the other half of removing the cloud path. This is the
17
+ # Linux sibling of deploy/macos/scripts/setup-litertlm.sh and
18
+ # deploy/windows/setup-litertlm.ps1; the three pin the SAME litert-lm version and
19
+ # the `litert-lm-version-pin` guard fails CI if they drift apart.
20
+ #
21
+ # Steps:
22
+ # 1. Ensure `uv` (home-domain standalone installer, no sudo, no system Python).
23
+ # 2. Install/repair `litert-lm` at the PINNED version with uv-managed Python.
24
+ # 3. `litert-lm import` the Gemma 4 E2B model from the public HF repo (~2.4 GB).
25
+ # Unlike the macOS/Windows customer packages there is no bundled model to
26
+ # stage from — the npm install path ships no payload — so the download IS
27
+ # the install here, and it is enabled by default on this platform only.
28
+ # 4. Install + start the `litert-lm serve` systemd unit on :9379. The
29
+ # connector's LiteRtVlmProvider talks to it.
30
+ #
31
+ # Idempotent and safe to re-run. Run as the `trillboards` service user:
32
+ # sudo -u trillboards HOME=/opt/trillboards bash setup-litertlm.sh
33
+ set -u
34
+
35
+ USER_HOME="${HOME:-/opt/trillboards}"
36
+ LOG_DIR="${TRILLBOARDS_LOG_DIR:-/var/log/trillboards}"
37
+ LOCAL_BIN="$USER_HOME/.local/bin"
38
+ MODEL_ID="gemma-4-E2B-it.litertlm"
39
+ HF_REPO="litert-community/gemma-4-E2B-it-litert-lm"
40
+ SERVE_PORT="9379"
41
+ SERVE_UNIT="trillboards-litertlm"
42
+ LITERT_PYTHON="${LITERT_LM_PYTHON:-3.12}"
43
+ # PINNED litert-lm. This is not hygiene — the accelerator is selected by posting
44
+ # a `<model-id>,gpu` model id, upstream calls that syntax deprecated, and it has
45
+ # already changed twice without any release of ours: 0.14.0 (2026-07-08) dropped
46
+ # both the `,gpu` entry from `GET /v1/models` AND the parse (measured: 404), and
47
+ # 0.15.0 restored the parse but never the entry. An unpinned `--upgrade` means a
48
+ # customer's per-frame latency can change 1.7-6.6x on a reinstall we did not ship.
49
+ # Keep in lockstep with deploy/macos/scripts/setup-litertlm.sh,
50
+ # deploy/windows/setup-litertlm.ps1, LiteRtVlmProvider's LITERT_LM_PINNED_VERSION,
51
+ # and .github/contracts/litert-lm-tested-versions.json — the `litert-lm-version-pin`
52
+ # guard fails CI if they diverge or if this version has no measured entry there.
53
+ LITERT_LM_VERSION="${LITERT_LM_VERSION:-0.16.0}"
54
+ # On Linux there is no bundled model to fall back FROM, so the network import is
55
+ # the primary path rather than an engineering opt-in.
56
+ ALLOW_MODEL_DOWNLOAD="${TRILLBOARDS_ALLOW_MODEL_DOWNLOAD:-1}"
57
+ LITERT_DIR="${LITERT_LM_DIR:-$USER_HOME/.litert-lm}"
58
+ STORE_DIR="$LITERT_DIR/models/$MODEL_ID"
59
+ # Installed model version — must match the sensing_model_registry `gemma_4_e2b`
60
+ # row. The connector's edge-core ModelManager seeds this (via the marker written
61
+ # below) so its first OTA check does NOT re-download the already-installed model.
62
+ MODEL_VERSION="${GEMMA_VLM_VERSION:-1.0.0}"
63
+ VERSION_MARKER="$STORE_DIR/trillboards-bundled-version.json"
64
+
65
+ mkdir -p "$LOG_DIR" 2>/dev/null || LOG_DIR="$USER_HOME"
66
+ LOG="$LOG_DIR/litertlm-setup.log"
67
+ log() {
68
+ printf '[trillboards setup-litertlm] %s %s\n' "$(date '+%H:%M:%S')" "$*" >>"$LOG" 2>&1
69
+ printf '[trillboards setup-litertlm] %s\n' "$*"
70
+ }
71
+ fail() { log "ERROR: $*"; exit 1; }
72
+ local_ai_healthy() {
73
+ curl -fsS --max-time 3 "http://127.0.0.1:$SERVE_PORT/v1/models" 2>/dev/null \
74
+ | grep -Fq "$MODEL_ID"
75
+ }
76
+
77
+ # One provisioning process at a time. A re-run of install.sh is a normal recovery
78
+ # path, so duplicate launches must collapse without duplicate 2.4 GB downloads.
79
+ LOCK_DIR="$LOG_DIR/litertlm-setup.lock"
80
+ if ! mkdir "$LOCK_DIR" 2>/dev/null; then
81
+ LOCK_PID="$(cat "$LOCK_DIR/pid" 2>/dev/null || echo '')"
82
+ if [ -n "$LOCK_PID" ] &&
83
+ kill -0 "$LOCK_PID" 2>/dev/null &&
84
+ ps -p "$LOCK_PID" -o command= 2>/dev/null | grep -q '[s]etup-litertlm.sh'; then
85
+ log "LiteRT-LM provisioning is already running (pid $LOCK_PID)"
86
+ exit 0
87
+ fi
88
+ rm -rf "$LOCK_DIR" 2>/dev/null || true
89
+ mkdir "$LOCK_DIR" 2>/dev/null || { log "provisioning is already starting elsewhere"; exit 0; }
90
+ fi
91
+ printf '%s\n' "$$" > "$LOCK_DIR/pid" 2>/dev/null || true
92
+ trap 'rm -rf "$LOCK_DIR" 2>/dev/null || true' EXIT
93
+ trap 'exit 130' INT
94
+ trap 'exit 143' TERM
95
+
96
+ log "starting LiteRT-LM provisioning (pinned $LITERT_LM_VERSION)"
97
+
98
+ # 0. Enterprise TLS for uv. uv ships bundled Mozilla roots and does NOT consult
99
+ # the system trust store, so on a network that inspects TLS this step is the
100
+ # first thing that fails — and it fails with a message about local AI, which is
101
+ # the wrong cause. Same reasoning as the connector's own runtime trust-store
102
+ # merge (see cctv-connector-enterprise-tls-proxy.md): trust MORE, never less.
103
+ export UV_SYSTEM_CERTS=1
104
+ export UV_NATIVE_TLS=1
105
+
106
+ # 1. uv (PATH first; else the official standalone installer, home-domain).
107
+ export PATH="$LOCAL_BIN:$USER_HOME/.cargo/bin:$PATH"
108
+ if ! command -v uv >/dev/null 2>&1; then
109
+ log "uv not found — installing via astral.sh standalone installer (no sudo)"
110
+ curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="$LOCAL_BIN" sh >>"$LOG" 2>&1 \
111
+ || log "WARN: uv install failed"
112
+ export PATH="$LOCAL_BIN:$USER_HOME/.local/share/uv/bin:$PATH"
113
+ fi
114
+ UV="$(command -v uv || echo "$LOCAL_BIN/uv")"
115
+ if ! command -v "$UV" >/dev/null 2>&1 && [ ! -x "$UV" ]; then
116
+ fail "uv is unavailable; cannot install the local AI runtime"
117
+ fi
118
+
119
+ # 2. litert-lm CLI. Keep a healthy existing install AT THE PINNED VERSION, but
120
+ # actively repair a broken or drifted one. The version check is part of
121
+ # "healthy": a `list`-only check keeps every machine on whatever it happened to
122
+ # install first, which is exactly how the `,gpu` regression hid on our hosts.
123
+ LITERTLM="$LOCAL_BIN/litert-lm"
124
+ [ -x "$LITERTLM" ] || LITERTLM="$(command -v litert-lm || echo "$LITERTLM")"
125
+ INSTALLED_LITERT_VERSION=""
126
+ if [ -x "$LITERTLM" ]; then
127
+ INSTALLED_LITERT_VERSION="$("$LITERTLM" --version 2>/dev/null | tr -d '\r' | awk '{print $NF}')"
128
+ fi
129
+ if [ -x "$LITERTLM" ] && [ "$INSTALLED_LITERT_VERSION" = "$LITERT_LM_VERSION" ] \
130
+ && "$LITERTLM" list >/dev/null 2>&1; then
131
+ log "litert-lm CLI is healthy at pinned $LITERT_LM_VERSION — keeping current install"
132
+ else
133
+ if [ -n "$INSTALLED_LITERT_VERSION" ] && [ "$INSTALLED_LITERT_VERSION" != "$LITERT_LM_VERSION" ]; then
134
+ log "litert-lm $INSTALLED_LITERT_VERSION differs from pinned $LITERT_LM_VERSION — reinstalling"
135
+ fi
136
+ log "installing/repairing litert-lm==$LITERT_LM_VERSION with uv-managed Python $LITERT_PYTHON"
137
+ if ! "$UV" tool install --python "$LITERT_PYTHON" --managed-python --force "litert-lm==$LITERT_LM_VERSION" >>"$LOG" 2>&1; then
138
+ fail "litert-lm install/repair failed"
139
+ fi
140
+ LITERTLM="$LOCAL_BIN/litert-lm"
141
+ [ -x "$LITERTLM" ] || LITERTLM="$(command -v litert-lm || echo "$LITERTLM")"
142
+ if [ ! -x "$LITERTLM" ] || ! "$LITERTLM" list >/dev/null 2>&1; then
143
+ fail "litert-lm remains unhealthy after repair"
144
+ fi
145
+ log "litert-lm CLI repaired at $("$LITERTLM" --version 2>/dev/null | awk '{print $NF}')"
146
+ fi
147
+
148
+ # 3. Model. Idempotent: skip entirely if litert-lm already has it.
149
+ HAVE_MODEL=0
150
+ if "$LITERTLM" list 2>/dev/null | grep -q "$MODEL_ID"; then
151
+ log "model $MODEL_ID already present — skipping import"
152
+ HAVE_MODEL=1
153
+ else
154
+ [ "$ALLOW_MODEL_DOWNLOAD" = "1" ] || fail "local AI model is missing and the network import is disabled"
155
+ log "importing $MODEL_ID from $HF_REPO (~2.4 GB, public repo) — this takes a while"
156
+ if "$LITERTLM" import --from-huggingface-repo "$HF_REPO" "$MODEL_ID" >>"$LOG" 2>&1; then
157
+ log "model imported"
158
+ HAVE_MODEL=1
159
+ else
160
+ fail "model import failed — the connector will WAIT (and beacon) until this succeeds"
161
+ fi
162
+ fi
163
+
164
+ # Record the installed version next to the store model so the connector's
165
+ # edge-core ModelManager seeds it and does not re-download on its first OTA check.
166
+ if [ "$HAVE_MODEL" -eq 1 ]; then
167
+ mkdir -p "$STORE_DIR" 2>/dev/null || true
168
+ printf '{"version":"%s","modelType":"gemma-vlm"}\n' "$MODEL_VERSION" > "$VERSION_MARKER" 2>/dev/null \
169
+ && log "recorded installed version $MODEL_VERSION at $VERSION_MARKER" \
170
+ || log "WARN: could not write version marker $VERSION_MARKER"
171
+ fi
172
+
173
+ # 4. Serve unit. Installed by install.sh (which has sudo); here we only start it
174
+ # when we can, so a re-run from the service user still recovers a stopped serve.
175
+ if command -v systemctl >/dev/null 2>&1; then
176
+ if systemctl list-unit-files "$SERVE_UNIT.service" >/dev/null 2>&1; then
177
+ systemctl restart "$SERVE_UNIT" >>"$LOG" 2>&1 \
178
+ || sudo -n systemctl restart "$SERVE_UNIT" >>"$LOG" 2>&1 \
179
+ || log "WARN: could not restart $SERVE_UNIT — start it with: sudo systemctl restart $SERVE_UNIT"
180
+ else
181
+ log "WARN: $SERVE_UNIT.service is not installed yet (install.sh installs it)"
182
+ fi
183
+ fi
184
+
185
+ log "waiting for local AI health check on :$SERVE_PORT"
186
+ HEALTHY=0
187
+ for _attempt in $(seq 1 60); do
188
+ if local_ai_healthy; then HEALTHY=1; break; fi
189
+ sleep 2
190
+ done
191
+ if [ "$HEALTHY" -eq 1 ]; then
192
+ log "local AI is installed and healthy — the connector will run ON-DEVICE"
193
+ else
194
+ # NOT fatal. auto-sense waits and beacons, so an install that gets this far
195
+ # with the model on disk recovers by itself once the serve comes up.
196
+ log "WARN: Gemma is installed but the serve did not answer yet; auto-sense will"
197
+ log "WARN: keep probing every 60s and reports itself as 'waiting' meanwhile."
198
+ fi
199
+
200
+ log "done"
201
+ exit 0
@@ -10,10 +10,14 @@ User=trillboards
10
10
  Group=trillboards
11
11
  WorkingDirectory=/opt/trillboards
12
12
  ExecStartPre=/usr/bin/node -e "require('@trillboards/edge-sdk')"
13
- # This legacy Linux installer explicitly selects cloud-sense and does not install
14
- # LiteRT-LM. Customer macOS/Windows installers use the local-first auto-sense
15
- # policy. The paired config is written by install.sh; the token is never baked.
16
- ExecStart=/usr/bin/npx trillboards-edge cloud-sense --config /etc/trillboards/config.json
13
+ # LOCAL INFERENCE ONLY. This unit used to hardcode `cloud-sense`, which made the
14
+ # Linux path the one install that ignored the local-first policy every other
15
+ # platform already followed — and it did so per FRAME, at $0.007008 each.
16
+ # `auto-sense` probes the LiteRT-LM serve `install.sh` provisions (see
17
+ # setup-litertlm.sh + trillboards-litertlm.service) and runs on-device; while the
18
+ # model is still importing it WAITS and beacons rather than metering the cloud.
19
+ # The paired config is written by install.sh; the token is never baked.
20
+ ExecStart=/usr/bin/npx trillboards-edge auto-sense --config /etc/trillboards/config.json
17
21
  Restart=always
18
22
  RestartSec=10
19
23
  StartLimitInterval=300
@@ -0,0 +1,46 @@
1
+ [Unit]
2
+ Description=Trillboards LiteRT-LM (on-device VLM serve for the BYO-CCTV connector)
3
+ Documentation=https://github.com/trillboards/packages
4
+ After=network-online.target
5
+ Wants=network-online.target
6
+ # The connector is useless without this on a local-inference-only build, but it
7
+ # must not be Requires=: auto-sense WAITS and beacons when the serve is down, and
8
+ # that is a better operator experience than systemd tearing the connector down.
9
+ Before=trillboards-edge.service
10
+
11
+ [Service]
12
+ Type=simple
13
+ User=trillboards
14
+ Group=trillboards
15
+ WorkingDirectory=/opt/trillboards
16
+ # Path is written by setup-litertlm.sh; the tool lands in the trillboards user's
17
+ # home-domain uv bin, never system-wide (no sudo pip, no root-owned venv).
18
+ ExecStart=/opt/trillboards/.local/bin/litert-lm serve --host 127.0.0.1 --port 9379
19
+ Restart=always
20
+ RestartSec=10
21
+ StandardOutput=journal
22
+ StandardError=journal
23
+ SyslogIdentifier=trillboards-litertlm
24
+
25
+ # Security hardening. Looser than the connector unit on purpose: litert-lm needs
26
+ # its model store and, on a GPU host, the render nodes.
27
+ NoNewPrivileges=true
28
+ ProtectSystem=strict
29
+ ProtectHome=false
30
+ ReadWritePaths=/opt/trillboards
31
+ PrivateTmp=true
32
+
33
+ # Bind ONLY to loopback (see ExecStart --host). The connector's LiteRtVlmProvider
34
+ # talks to 127.0.0.1:9379; nothing off-box has any business reaching this.
35
+ IPAddressAllow=localhost
36
+ IPAddressDeny=any
37
+
38
+ # GPU delegate access when the host has one. Harmless on a CPU-only box.
39
+ SupplementaryGroups=video render
40
+
41
+ Environment=HOME=/opt/trillboards
42
+ Environment=LITERT_LM_DIR=/opt/trillboards/.litert-lm
43
+ EnvironmentFile=-/etc/trillboards/env
44
+
45
+ [Install]
46
+ WantedBy=multi-user.target
@@ -7,9 +7,12 @@
7
7
  #>
8
8
  param(
9
9
  [Parameter(Mandatory = $true)][string]$InstallDir,
10
- # Default to auto-sense: use on-device Gemma (LiteRT-LM) and wait locally while
11
- # the model is provisioning. cloud-sense remains an explicit operator choice.
12
- [ValidateSet("auto-sense", "local-sense", "cloud-sense")][string]$Mode = "auto-sense"
10
+ # auto-sense: use on-device Gemma (LiteRT-LM) and wait locally while the model
11
+ # is provisioning, reporting camera health throughout. `cloud-sense` is NOT in
12
+ # the set any more: the connector is local-inference only, and ValidateSet
13
+ # rejecting the value at registration is better than a task that registers
14
+ # fine and then exits 1 on every start.
15
+ [ValidateSet("auto-sense", "local-sense")][string]$Mode = "auto-sense"
13
16
  )
14
17
  $ErrorActionPreference = "Stop"
15
18
 
@@ -5,7 +5,7 @@
5
5
  [CmdletBinding()]
6
6
  param(
7
7
  [Parameter(Mandatory = $true)][string]$InstallDir,
8
- [ValidateSet("auto-sense", "local-sense", "cloud-sense")][string]$Mode = "auto-sense"
8
+ [ValidateSet("auto-sense", "local-sense")][string]$Mode = "auto-sense"
9
9
  )
10
10
 
11
11
  $ErrorActionPreference = "Stop"
@@ -10,7 +10,11 @@ scriptDir = fso.GetParentFolderName(WScript.ScriptFullName)
10
10
  installDir = fso.GetParentFolderName(scriptDir)
11
11
  mode = "auto-sense"
12
12
  If WScript.Arguments.Count > 0 Then mode = LCase(Trim(WScript.Arguments(0)))
13
- If mode <> "auto-sense" And mode <> "local-sense" And mode <> "cloud-sense" Then
13
+ ' cloud-sense is gone (local-inference only). An existing scheduled task still
14
+ ' passing it falls back to auto-sense here rather than failing to launch: this
15
+ ' is the LAUNCHER, and on an unattended store PC a silent non-start is worse
16
+ ' than running the mode we would have wanted anyway.
17
+ If mode <> "auto-sense" And mode <> "local-sense" Then
14
18
  mode = "auto-sense"
15
19
  End If
16
20
 
@@ -29,16 +29,6 @@ export interface SensingClient {
29
29
  } & FrameDimensions): Promise<AudienceAnalyzeResponse>;
30
30
  reportCameraHealth?(cameraHealth: CameraHealthReport): Promise<AudienceAnalyzeResponse>;
31
31
  getEndpoint(): string;
32
- /**
33
- * Cloud escalations this client has made (LocalSensingClient only). Optional
34
- * so the plain cloud client — which has nothing to escalate TO — implements
35
- * nothing. Aggregated into `getSensingHealth()` because a frame leaving the
36
- * premises has to be countable by the operator, not just documented.
37
- */
38
- getEscalationStats?(): {
39
- enabled: boolean;
40
- escalated: number;
41
- };
42
32
  /**
43
33
  * Frames this client analyzed ON THIS MACHINE (LocalSensingClient only).
44
34
  *
@@ -342,6 +332,25 @@ export declare class CloudSensingManager extends EventEmitter {
342
332
  private runStartedAtMs;
343
333
  /** One decode-only probe at a time protects recorder session limits. */
344
334
  private healthCaptureInFlight;
335
+ /**
336
+ * HEALTH-ONLY run: open the cameras, prove video, report camera health — and
337
+ * run NO inference at all.
338
+ *
339
+ * This is what `auto-sense` runs while it is WAITING for the on-device model.
340
+ * Before it existed, `waiting` started no manager, so the connector emitted no
341
+ * analyze, no camera health and no heartbeat: a machine whose model was still
342
+ * importing was byte-for-byte indistinguishable in the portal from a machine
343
+ * that was switched off. That is the single most expensive support call the
344
+ * local-only connector can generate, and it is generated by the HAPPY path
345
+ * (a first boot downloading 2.4 GB).
346
+ *
347
+ * It reports `sensingState:'unavailable'` — the camera is fine, the AI is not
348
+ * running — which is a field the server already accepts, so this needs no API
349
+ * change. It deliberately does NOT write `lastFailureClass`: that column is
350
+ * rendered to owners as "the reason your camera is broken", and a waiting
351
+ * model is not a camera fault (see ember-camera-health-taxonomy.md).
352
+ */
353
+ private healthOnlyMode;
345
354
  constructor(options: CloudSensingManagerOptions);
346
355
  /**
347
356
  * Retune a RUNNING connector's still-scene cadence.
@@ -482,13 +491,6 @@ export declare class CloudSensingManager extends EventEmitter {
482
491
  oldestAgeMs: number | null;
483
492
  perFeed: VlmCandidateBufferStats['perFeed'];
484
493
  };
485
- /**
486
- * Frames sent to the cloud VLM for confirmation (local sensing with
487
- * escalation enabled). 0 — and `cloudEscalationEnabled:false` — for a
488
- * fully-local or cloud-sensing deployment.
489
- */
490
- cloudEscalated: number;
491
- cloudEscalationEnabled: boolean;
492
494
  /**
493
495
  * WHICH litert-lm delegate the on-device runtime is actually running, and
494
496
  * why it is not the GPU when it is not.
@@ -521,14 +523,15 @@ export declare class CloudSensingManager extends EventEmitter {
521
523
  candidatesBuffered: number;
522
524
  /** Candidates of this feed's that the hold delivered to the model. */
523
525
  candidatesServed: number;
524
- cloudEscalated: number;
525
526
  faceDetected: boolean;
526
527
  currentIntervalMs: number;
527
528
  }>;
528
529
  };
529
530
  isRunning(): boolean;
530
531
  /** Open cameras, prove one frame, and start capture loops without one slow feed blocking others. */
531
- start(): Promise<void>;
532
+ start(opts?: {
533
+ healthOnly?: boolean;
534
+ }): Promise<void>;
532
535
  /** Stop all loops and close cameras. */
533
536
  stop(): Promise<void>;
534
537
  /**
@@ -565,6 +568,13 @@ export declare class CloudSensingManager extends EventEmitter {
565
568
  * REPORTING rather than the rate of watching.
566
569
  */
567
570
  private intervalFor;
571
+ /**
572
+ * What to report as the AI state when the camera is up but nothing has been
573
+ * analyzed yet. `idle` while sensing; `unavailable` while WAITING for a local
574
+ * model, because "idle" would claim an AI that is ready and simply between
575
+ * frames.
576
+ */
577
+ private idleSensingState;
568
578
  /**
569
579
  * Per-feed phase step, derived from FEED COUNT and CADENCE instead of a fixed
570
580
  * per-feed cap.
@@ -670,6 +680,22 @@ export declare class CloudSensingManager extends EventEmitter {
670
680
  * legacy recorders to one extra short-lived ffmpeg pull at a time.
671
681
  */
672
682
  private captureHealthFrame;
683
+ /**
684
+ * What one tick DOES: a full capture+inference pass, or — while waiting for a
685
+ * local model — a decode-only health probe that proves the camera and reports
686
+ * it, with no inference and no upload of the frame.
687
+ *
688
+ * Deliberately NOT `async`, for the same reason `captureAndPost` below is not
689
+ * — and this one was, briefly, which is how the rule got tested. Marking it
690
+ * `async` adds a microtask hop in front of EVERY capture, including the
691
+ * health-only path this dispatcher was added for and the normal path it was
692
+ * not supposed to touch. `CloudSensingManagerReconnect.test.ts` drained a
693
+ * fixed three `await Promise.resolve()` per fake-timer advance; one extra hop
694
+ * left the reconnect chain one turn short, the camera never re-opened, and a
695
+ * test with no behaviour change under it went red. Handing the promise
696
+ * straight back keeps the delta at zero where it belongs.
697
+ */
698
+ private captureWork;
673
699
  /**
674
700
  * One cascade pass for a feed. Which pass depends on whether there is a
675
701
  * cascade to name a candidate — see the class header for why the order
@@ -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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"}