@trillboards/edge-sdk 0.2.132 → 0.2.135
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/macos/scripts/setup-litertlm.sh +101 -22
- package/deploy/macos/test-setup-litertlm-reinstall.sh +91 -7
- package/deploy/systemd/setup-litertlm.sh +110 -20
- package/deploy/windows/setup-litertlm.ps1 +63 -10
- package/dist/DetectorFieldProducer.d.ts.map +1 -1
- package/dist/DetectorFieldProducer.js +39 -1
- package/dist/DetectorFieldProducer.js.map +1 -1
- package/dist/EdgeAgent.js +1 -1
- package/dist/SensingProfileClient.d.ts +24 -1
- package/dist/SensingProfileClient.d.ts.map +1 -1
- package/dist/SensingProfileClient.js +93 -1
- package/dist/SensingProfileClient.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.js +1 -1
- package/dist/localSensing.d.ts +28 -0
- package/dist/localSensing.d.ts.map +1 -1
- package/dist/localSensing.js +64 -3
- package/dist/localSensing.js.map +1 -1
- package/package.json +1 -1
|
@@ -125,20 +125,39 @@ CONFIG_JSON="$LITERT_DIR/config.json"
|
|
|
125
125
|
LITERTLM_PROBE_JPEG_B64="/9j/4AAQSkZJRgABAgAAAQABAAD//gAPTGF2YzYzLjEuMTAxAP/bAEMACD4+ST5JVVVVVVVVZF1kaGhoZGRkZGhoaHBwcIODg3BwcGhocHB8fIODj5OPh4eDh5OTm5uburqystnZ4P/////EAEoAAQAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAARAQAAAAAAAAAAAAAAAAAAAAD/wAARCAAgACADASIAAhEAAxEA/9oADAMBAAIRAxEAPwAAAAAAAAD/2Q=="
|
|
126
126
|
|
|
127
127
|
# Write config.json. $1 = "gpu" pins the vision encoder; empty leaves it on the
|
|
128
|
-
# CPU default.
|
|
129
|
-
#
|
|
128
|
+
# CPU default. $2 = "true"/"false" for speculative decoding.
|
|
129
|
+
#
|
|
130
|
+
# BOTH ARE ALWAYS WRITTEN EXPLICITLY, AND THE SECOND ONE IS NEW.
|
|
131
|
+
#
|
|
132
|
+
# `speculative_decoding` used to be written unconditionally `true` under a
|
|
133
|
+
# comment asserting it is "delegate independent, so it survives the fallback".
|
|
134
|
+
# The evidence for that is two arms on ONE machine — an M4 Max, GPU/Metal for the
|
|
135
|
+
# headline 1.433x, and its own CPU arm for the 2026-08-19 A/B in
|
|
136
|
+
# `cctv-local-inference-hardware-floor.md`. Neither is a measurement of any box
|
|
137
|
+
# we sell, and this file already refuses to leave an unverified `vision_backend`
|
|
138
|
+
# on disk for exactly that reason. The rung below applies the same rule to this
|
|
139
|
+
# key: prove it on THIS box, and back it out if the serve cannot answer with it.
|
|
140
|
+
#
|
|
141
|
+
# EXPLICIT `false` RATHER THAN OMITTING THE KEY, and that is measured too:
|
|
142
|
+
# litert-lm 0.16.0 logs `Using speculative_decoding from config for model
|
|
143
|
+
# '<id>': <bool>` on every request when the key is PRESENT and says NOTHING AT
|
|
144
|
+
# ALL when it is absent (checked on a c4-standard-8, 2026-09-04). A box whose
|
|
145
|
+
# state is unreadable from its own log is a box whose next incident is diagnosed
|
|
146
|
+
# by guessing — which is what happened when a GCE box SEGV-looped on 2026-09-02
|
|
147
|
+
# and the config had to be edited by hand to find out what it had been doing.
|
|
130
148
|
write_litertlm_config() {
|
|
131
149
|
_vision="$1"
|
|
150
|
+
_speculative="${2:-true}"
|
|
132
151
|
mkdir -p "$LITERT_DIR" 2>/dev/null || true
|
|
133
152
|
if [ -n "$_vision" ]; then
|
|
134
|
-
printf '{"models":{"%s":{"vision_backend":"%s","speculative_decoding"
|
|
135
|
-
"$MODEL_ID" "$_vision" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
153
|
+
printf '{"models":{"%s":{"vision_backend":"%s","speculative_decoding":%s}}}\n' \
|
|
154
|
+
"$MODEL_ID" "$_vision" "$_speculative" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
136
155
|
else
|
|
137
|
-
printf '{"models":{"%s":{"speculative_decoding"
|
|
138
|
-
"$MODEL_ID" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
156
|
+
printf '{"models":{"%s":{"speculative_decoding":%s}}}\n' \
|
|
157
|
+
"$MODEL_ID" "$_speculative" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
139
158
|
fi
|
|
140
159
|
mv -f "$CONFIG_JSON.tmp" "$CONFIG_JSON" 2>/dev/null || return 1
|
|
141
|
-
log "wrote $CONFIG_JSON (vision_backend=${_vision:-cpu-default}, speculative_decoding
|
|
160
|
+
log "wrote $CONFIG_JSON (vision_backend=${_vision:-cpu-default}, speculative_decoding=$_speculative)"
|
|
142
161
|
}
|
|
143
162
|
|
|
144
163
|
# -- The one knob config.json cannot express -----------------------------------
|
|
@@ -237,6 +256,26 @@ verify_litertlm_vision() {
|
|
|
237
256
|
[ "$_code" = "200" ]
|
|
238
257
|
}
|
|
239
258
|
|
|
259
|
+
# The same probe, but asking for NO delegate suffix rather than `,gpu`.
|
|
260
|
+
#
|
|
261
|
+
# WHY A SECOND FUNCTION AND NOT A FLAG: `verify_litertlm_vision` posts
|
|
262
|
+
# `$MODEL_ID,gpu`, which is what the connector sends, and litert-lm returns 200
|
|
263
|
+
# for a delegate token it cannot honour — so on the later rungs that suffix would
|
|
264
|
+
# prove nothing about the thing being tested and could mask it. Here the model id
|
|
265
|
+
# carries no suffix at all, so a 200 means the box built an engine and ran a real
|
|
266
|
+
# image through it under the config now on disk, which is exactly the claim each
|
|
267
|
+
# rung needs.
|
|
268
|
+
verify_litertlm_plain_inference() {
|
|
269
|
+
_body="$LITERT_DIR/.plain-probe.json"
|
|
270
|
+
printf '{"model":"%s","messages":[{"role":"user","content":[{"type":"text","text":"Reply with the single word: ok"},{"type":"image_url","image_url":{"url":"data:image/jpeg;base64,%s"}}]}],"max_completion_tokens":8,"temperature":0}' \
|
|
271
|
+
"$MODEL_ID" "$LITERTLM_PROBE_JPEG_B64" > "$_body" 2>/dev/null || return 1
|
|
272
|
+
_code=$(curl -s -o /dev/null -w '%{http_code}' --max-time 180 \
|
|
273
|
+
-X POST "http://127.0.0.1:$SERVE_PORT/v1/chat/completions" \
|
|
274
|
+
-H 'Content-Type: application/json' --data-binary @"$_body" 2>/dev/null)
|
|
275
|
+
rm -f "$_body" 2>/dev/null || true
|
|
276
|
+
[ "$_code" = "200" ]
|
|
277
|
+
}
|
|
278
|
+
|
|
240
279
|
local_ai_healthy() {
|
|
241
280
|
curl -fsS --max-time 3 "http://127.0.0.1:$SERVE_PORT/v1/models" 2>/dev/null \
|
|
242
281
|
| grep -Fq "$MODEL_ID"
|
|
@@ -483,7 +522,7 @@ if [ -f "$TEMPLATE" ]; then
|
|
|
483
522
|
-e "s#__PORT__#$SERVE_PORT#g" \
|
|
484
523
|
-e "s#__LOG_DIR__#$LOG_DIR#g" \
|
|
485
524
|
"$TEMPLATE" > "$TARGET" 2>/dev/null || log "WARN: could not render serve plist"
|
|
486
|
-
write_litertlm_config "gpu" || log "WARN: could not write $CONFIG_JSON - the serve will use its defaults"
|
|
525
|
+
write_litertlm_config "gpu" "true" || log "WARN: could not write $CONFIG_JSON - the serve will use its defaults"
|
|
487
526
|
restart_launch_agent \
|
|
488
527
|
|| { [ "$REQUIRE_BUNDLED_MODEL" = "1" ] && fail "local AI service could not be started"; log "WARN: launchctl bootstrap failed for serve agent"; }
|
|
489
528
|
else
|
|
@@ -491,26 +530,66 @@ else
|
|
|
491
530
|
log "WARN: serve plist template missing at $TEMPLATE"
|
|
492
531
|
fi
|
|
493
532
|
|
|
494
|
-
# The
|
|
495
|
-
# that route never builds an engine - so it cannot see a GPU vision encoder
|
|
496
|
-
# fails on first USE. One real image inference is the only thing that can,
|
|
497
|
-
# it does not answer we
|
|
498
|
-
# unable to sense at all
|
|
533
|
+
# The engine-settings cascade. `local_ai_healthy` only proves /v1/models answers,
|
|
534
|
+
# and that route never builds an engine - so it cannot see a GPU vision encoder
|
|
535
|
+
# that fails on first USE. One real image inference is the only thing that can,
|
|
536
|
+
# and if it does not answer we drop one optimism at a time rather than leave the
|
|
537
|
+
# host unable to sense at all.#
|
|
538
|
+
# THREE RUNGS, NOT TWO, AND THE THIRD IS THE SAME RULE AS THE FIRST. There are
|
|
539
|
+
# two optimistic engine settings in this file and only one of them was ever
|
|
540
|
+
# checked. Each rung drops exactly one and re-asks the same question, so a box
|
|
541
|
+
# ends on the configuration with the fewest unverified assumptions it can
|
|
542
|
+
# actually serve on:
|
|
543
|
+
#
|
|
544
|
+
# 1. vision_backend=gpu + speculative_decoding=true the measured fast path
|
|
545
|
+
# 2. speculative_decoding=true GPU vision unusable here
|
|
546
|
+
# 3. speculative_decoding=false neither is usable here
|
|
547
|
+
#
|
|
548
|
+
# Rung 3 can only turn a NON-SERVING box into a serving one: it is reached only
|
|
549
|
+
# after the box has already failed rung 2, which today is the give-up path.
|
|
550
|
+
# `speculative_decoding` is a draft-plus-verify scheme — strictly more compute
|
|
551
|
+
# per token, needing spare parallelism to win — and every number we have for it
|
|
552
|
+
# was measured on ONE machine (M4 Max: Metal for the 1.433x headline, its own CPU
|
|
553
|
+
# arm for the 2026-08-19 A/B). Dropping it costs speed on a box that has already
|
|
554
|
+
# failed twice, and a slow box is a box that is serving.
|
|
555
|
+
_wait_for_local_ai() {
|
|
556
|
+
for _attempt in $(seq 1 60); do
|
|
557
|
+
local_ai_healthy && return 0
|
|
558
|
+
sleep 2
|
|
559
|
+
done
|
|
560
|
+
return 1
|
|
561
|
+
}
|
|
562
|
+
|
|
499
563
|
litertlm_vision_cascade() {
|
|
500
564
|
if verify_litertlm_vision; then
|
|
501
565
|
log "local AI healthy with the GPU vision encoder"
|
|
502
566
|
return 0
|
|
503
567
|
fi
|
|
504
568
|
log "WARN: GPU vision encoder did not answer a probe inference - falling back to the CPU encoder"
|
|
505
|
-
write_litertlm_config "" || log "WARN: could not rewrite $CONFIG_JSON"
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
569
|
+
write_litertlm_config "" "true" || log "WARN: could not rewrite $CONFIG_JSON"
|
|
570
|
+
# A RUNG MAY ONLY BE GRADED IF ITS CONFIG IS THE ONE RUNNING. A restart that
|
|
571
|
+
# did not happen leaves the PREVIOUS rung's engine answering, so the probe
|
|
572
|
+
# below would fail for the previous rung's reason and descending on it would
|
|
573
|
+
# disable speculative decoding without ever having tested it.
|
|
574
|
+
if ! restart_launch_agent; then
|
|
575
|
+
log "WARN: could not restart the serve agent, so the config just written is NOT the one running"
|
|
576
|
+
log "WARN: leaving the CPU vision encoder on disk unevaluated - ensure-litertlm.sh re-runs this and grades it"
|
|
577
|
+
return 1
|
|
578
|
+
fi
|
|
579
|
+
if _wait_for_local_ai && verify_litertlm_plain_inference; then
|
|
580
|
+
log "local AI healthy on the CPU vision encoder (slower, but serving)"
|
|
581
|
+
return 0
|
|
582
|
+
fi
|
|
583
|
+
log "WARN: the CPU vision encoder did not answer either - retrying without speculative decoding"
|
|
584
|
+
write_litertlm_config "" "false" || log "WARN: could not rewrite $CONFIG_JSON"
|
|
585
|
+
if ! restart_launch_agent; then
|
|
586
|
+
log "WARN: could not restart the serve agent, so the config just written is NOT the one running"
|
|
587
|
+
return 1
|
|
588
|
+
fi
|
|
589
|
+
if _wait_for_local_ai && verify_litertlm_plain_inference; then
|
|
590
|
+
log "local AI healthy WITHOUT speculative decoding (slower still, but serving)"
|
|
591
|
+
return 0
|
|
592
|
+
fi
|
|
514
593
|
return 1
|
|
515
594
|
}
|
|
516
595
|
|
|
@@ -38,13 +38,41 @@ EOF
|
|
|
38
38
|
|
|
39
39
|
# Fake curl models BOTH endpoints the setup script uses:
|
|
40
40
|
# GET /v1/models -> the catalogue body `local_ai_healthy` greps
|
|
41
|
-
# POST /v1/chat/completions ->
|
|
42
|
-
#
|
|
41
|
+
# POST /v1/chat/completions -> a probe inference, which asks for `%{http_code}`
|
|
42
|
+
#
|
|
43
|
+
# IT TELLS THE TWO PROBES APART BY THE MODEL ID IN THE BODY, and it has to: the
|
|
44
|
+
# cascade's rungs differ in which id they post (`<id>,gpu` for the GPU-vision
|
|
45
|
+
# rung, the bare id afterwards) and a fake that answers both identically cannot
|
|
46
|
+
# exercise a cascade whose whole job is to distinguish them.
|
|
47
|
+
#
|
|
48
|
+
# TRILLBOARDS_TEST_VISION_PROBE_CODE the `,gpu` probe's status
|
|
49
|
+
# TRILLBOARDS_TEST_PLAIN_PROBE_CODE the bare-id probe's status
|
|
50
|
+
# TRILLBOARDS_TEST_FAIL_WHEN_SPECULATIVE=1
|
|
51
|
+
# a box that cannot infer at all while `speculative_decoding` is true. The
|
|
52
|
+
# fake reads the config the script just wrote, which is the only way to
|
|
53
|
+
# exercise a rung defined by what that file says.
|
|
43
54
|
cat >"$FAKE_BIN/curl" <<'EOF'
|
|
44
55
|
#!/bin/bash
|
|
56
|
+
body=""
|
|
57
|
+
prev=""
|
|
58
|
+
for arg in "$@"; do
|
|
59
|
+
case "$prev" in
|
|
60
|
+
--data-binary) body="${arg#@}" ;;
|
|
61
|
+
esac
|
|
62
|
+
prev="$arg"
|
|
63
|
+
done
|
|
45
64
|
for arg in "$@"; do
|
|
46
65
|
if [ "$arg" = "-w" ]; then
|
|
47
|
-
|
|
66
|
+
if [ "${TRILLBOARDS_TEST_FAIL_WHEN_SPECULATIVE:-0}" = "1" ] \
|
|
67
|
+
&& grep -Fq '"speculative_decoding":true' "$LITERT_LM_DIR/config.json" 2>/dev/null; then
|
|
68
|
+
printf '500'
|
|
69
|
+
exit 0
|
|
70
|
+
fi
|
|
71
|
+
if [ -n "$body" ] && grep -Fq ',gpu"' "$body" 2>/dev/null; then
|
|
72
|
+
printf '%s' "${TRILLBOARDS_TEST_VISION_PROBE_CODE:-200}"
|
|
73
|
+
else
|
|
74
|
+
printf '%s' "${TRILLBOARDS_TEST_PLAIN_PROBE_CODE:-200}"
|
|
75
|
+
fi
|
|
48
76
|
exit 0
|
|
49
77
|
fi
|
|
50
78
|
done
|
|
@@ -147,9 +175,10 @@ grep -Fq 'falling back to the CPU encoder' <<<"$OUTPUT2"
|
|
|
147
175
|
grep -Fq 'local AI healthy on the CPU vision encoder' <<<"$OUTPUT2"
|
|
148
176
|
grep -Fq 'local AI is installed and healthy' <<<"$OUTPUT2"
|
|
149
177
|
|
|
150
|
-
# The fallback must REMOVE vision_backend and KEEP speculative_decoding
|
|
151
|
-
#
|
|
152
|
-
#
|
|
178
|
+
# The vision fallback must REMOVE vision_backend and KEEP speculative_decoding.
|
|
179
|
+
# ONE RUNG DROPS ONE OPTIMISM: this box proved it can infer with speculative
|
|
180
|
+
# decoding on, so taking it away here would cost speed for a reason that was
|
|
181
|
+
# just disproved on this machine.
|
|
153
182
|
if grep -Fq 'vision_backend' "$LITERT_LM_DIR/config.json"; then
|
|
154
183
|
printf 'FAIL: fallback left vision_backend in config.json\n' >&2
|
|
155
184
|
cat "$LITERT_LM_DIR/config.json" >&2
|
|
@@ -163,5 +192,60 @@ grep -Fq '"speculative_decoding":true' "$LITERT_LM_DIR/config.json"
|
|
|
163
192
|
|
|
164
193
|
unset TRILLBOARDS_TEST_VISION_PROBE_CODE
|
|
165
194
|
|
|
166
|
-
|
|
195
|
+
# -- Scenario 2b: the CPU-VISION rung is verified by an INFERENCE, not by health
|
|
196
|
+
#
|
|
197
|
+
# `local_ai_healthy` only proves /v1/models answers, and this script's own
|
|
198
|
+
# comment says that route never builds an engine. Before this, the CPU-vision
|
|
199
|
+
# rung was accepted on health alone — so a box that fell back and STILL could not
|
|
200
|
+
# infer logged "healthy on the CPU vision encoder (slower, but serving)" and
|
|
201
|
+
# exited 0 while every frame 500s. That is how the UTF-8 BOM shipped as a green
|
|
202
|
+
# install on Windows, which is the platform that already re-probes here.
|
|
203
|
+
printf 'loaded\n' >"$TRILLBOARDS_TEST_STATE_DIR/service-state"
|
|
204
|
+
printf '0\n' >"$TRILLBOARDS_TEST_STATE_DIR/bootstrap-attempts"
|
|
205
|
+
export TRILLBOARDS_TEST_VISION_PROBE_CODE=500
|
|
206
|
+
export TRILLBOARDS_TEST_PLAIN_PROBE_CODE=500
|
|
207
|
+
if OUTPUT2B="$(/bin/bash "$SETUP" 2>&1)"; then
|
|
208
|
+
printf '%s\n' "$OUTPUT2B" >&2
|
|
209
|
+
printf 'FAIL: setup reported success on a box that could not infer on ANY rung\n' >&2
|
|
210
|
+
exit 1
|
|
211
|
+
fi
|
|
212
|
+
if grep -Fq 'local AI healthy on the CPU vision encoder' <<<"$OUTPUT2B"; then
|
|
213
|
+
printf 'FAIL: the CPU-vision rung was accepted on health alone\n' >&2
|
|
214
|
+
exit 1
|
|
215
|
+
fi
|
|
216
|
+
unset TRILLBOARDS_TEST_VISION_PROBE_CODE TRILLBOARDS_TEST_PLAIN_PROBE_CODE
|
|
217
|
+
|
|
218
|
+
# -- Scenario 3: a host that cannot infer while speculative decoding is on -----
|
|
219
|
+
#
|
|
220
|
+
# `speculative_decoding` is the second optimistic engine setting this file
|
|
221
|
+
# writes, and until 2026-09-04 it was written unconditionally `true` under a
|
|
222
|
+
# comment calling it "delegate independent" — a property measured on ONE machine
|
|
223
|
+
# (an M4 Max, both arms). This rung is the same rule the vision backend already
|
|
224
|
+
# gets: prove it on THIS box, and back it out if the serve cannot answer with it.
|
|
225
|
+
#
|
|
226
|
+
# It can only turn a NON-SERVING box into a serving one — it is reached only
|
|
227
|
+
# after the box has already failed the rung above, which used to be the give-up
|
|
228
|
+
# path.
|
|
229
|
+
printf 'loaded\n' >"$TRILLBOARDS_TEST_STATE_DIR/service-state"
|
|
230
|
+
printf '0\n' >"$TRILLBOARDS_TEST_STATE_DIR/bootstrap-attempts"
|
|
231
|
+
export TRILLBOARDS_TEST_FAIL_WHEN_SPECULATIVE=1
|
|
232
|
+
|
|
233
|
+
if ! OUTPUT3="$(/bin/bash "$SETUP" 2>&1)"; then
|
|
234
|
+
printf '%s\n' "$OUTPUT3" >&2
|
|
235
|
+
printf 'FAIL: setup exited non-zero on a box that serves without speculative decoding\n' >&2
|
|
236
|
+
exit 1
|
|
237
|
+
fi
|
|
238
|
+
|
|
239
|
+
grep -Fq 'retrying without speculative decoding' <<<"$OUTPUT3"
|
|
240
|
+
grep -Fq 'local AI healthy WITHOUT speculative decoding' <<<"$OUTPUT3"
|
|
241
|
+
grep -Fq 'local AI is installed and healthy' <<<"$OUTPUT3"
|
|
242
|
+
grep -Fq '"speculative_decoding":false' "$LITERT_LM_DIR/config.json"
|
|
243
|
+
if grep -Fq 'vision_backend' "$LITERT_LM_DIR/config.json"; then
|
|
244
|
+
printf 'FAIL: the speculative-decoding rung left vision_backend in config.json\n' >&2
|
|
245
|
+
exit 1
|
|
246
|
+
fi
|
|
247
|
+
|
|
248
|
+
unset TRILLBOARDS_TEST_FAIL_WHEN_SPECULATIVE
|
|
249
|
+
|
|
250
|
+
printf 'macOS LiteRT-LM reinstall race + engine-settings cascade regressions passed\n'
|
|
167
251
|
|
|
@@ -133,20 +133,39 @@ CONFIG_JSON="$LITERT_DIR/config.json"
|
|
|
133
133
|
LITERTLM_PROBE_JPEG_B64="/9j/4AAQSkZJRgABAgAAAQABAAD//gAPTGF2YzYzLjEuMTAxAP/bAEMACD4+ST5JVVVVVVVVZF1kaGhoZGRkZGhoaHBwcIODg3BwcGhocHB8fIODj5OPh4eDh5OTm5uburqystnZ4P/////EAEoAAQAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAARAQAAAAAAAAAAAAAAAAAAAAD/wAARCAAgACADASIAAhEAAxEA/9oADAMBAAIRAxEAPwAAAAAAAAD/2Q=="
|
|
134
134
|
|
|
135
135
|
# Write config.json. $1 = "gpu" pins the vision encoder; empty leaves it on the
|
|
136
|
-
# CPU default.
|
|
137
|
-
#
|
|
136
|
+
# CPU default. $2 = "true"/"false" for speculative decoding.
|
|
137
|
+
#
|
|
138
|
+
# BOTH ARE ALWAYS WRITTEN EXPLICITLY, AND THE SECOND ONE IS NEW.
|
|
139
|
+
#
|
|
140
|
+
# `speculative_decoding` used to be written unconditionally `true` under a
|
|
141
|
+
# comment asserting it is "delegate independent, so it survives the fallback".
|
|
142
|
+
# The evidence for that is two arms on ONE machine — an M4 Max, GPU/Metal for the
|
|
143
|
+
# headline 1.433x, and its own CPU arm for the 2026-08-19 A/B in
|
|
144
|
+
# `cctv-local-inference-hardware-floor.md`. Neither is a measurement of any box
|
|
145
|
+
# we sell, and this file already refuses to leave an unverified `vision_backend`
|
|
146
|
+
# on disk for exactly that reason. The rung below applies the same rule to this
|
|
147
|
+
# key: prove it on THIS box, and back it out if the serve cannot answer with it.
|
|
148
|
+
#
|
|
149
|
+
# EXPLICIT `false` RATHER THAN OMITTING THE KEY, and that is measured too:
|
|
150
|
+
# litert-lm 0.16.0 logs `Using speculative_decoding from config for model
|
|
151
|
+
# '<id>': <bool>` on every request when the key is PRESENT and says NOTHING AT
|
|
152
|
+
# ALL when it is absent (checked on a c4-standard-8, 2026-09-04). A box whose
|
|
153
|
+
# state is unreadable from its own log is a box whose next incident is diagnosed
|
|
154
|
+
# by guessing — which is what happened when a GCE box SEGV-looped on 2026-09-02
|
|
155
|
+
# and the config had to be edited by hand to find out what it had been doing.
|
|
138
156
|
write_litertlm_config() {
|
|
139
157
|
_vision="$1"
|
|
158
|
+
_speculative="${2:-true}"
|
|
140
159
|
mkdir -p "$LITERT_DIR" 2>/dev/null || true
|
|
141
160
|
if [ -n "$_vision" ]; then
|
|
142
|
-
printf '{"models":{"%s":{"vision_backend":"%s","speculative_decoding"
|
|
143
|
-
"$MODEL_ID" "$_vision" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
161
|
+
printf '{"models":{"%s":{"vision_backend":"%s","speculative_decoding":%s}}}\n' \
|
|
162
|
+
"$MODEL_ID" "$_vision" "$_speculative" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
144
163
|
else
|
|
145
|
-
printf '{"models":{"%s":{"speculative_decoding"
|
|
146
|
-
"$MODEL_ID" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
164
|
+
printf '{"models":{"%s":{"speculative_decoding":%s}}}\n' \
|
|
165
|
+
"$MODEL_ID" "$_speculative" > "$CONFIG_JSON.tmp" 2>/dev/null || return 1
|
|
147
166
|
fi
|
|
148
167
|
mv -f "$CONFIG_JSON.tmp" "$CONFIG_JSON" 2>/dev/null || return 1
|
|
149
|
-
log "wrote $CONFIG_JSON (vision_backend=${_vision:-cpu-default}, speculative_decoding
|
|
168
|
+
log "wrote $CONFIG_JSON (vision_backend=${_vision:-cpu-default}, speculative_decoding=$_speculative)"
|
|
150
169
|
}
|
|
151
170
|
|
|
152
171
|
# -- The one knob config.json cannot express -----------------------------------
|
|
@@ -245,6 +264,26 @@ verify_litertlm_vision() {
|
|
|
245
264
|
[ "$_code" = "200" ]
|
|
246
265
|
}
|
|
247
266
|
|
|
267
|
+
# The same probe, but asking for NO delegate suffix rather than `,gpu`.
|
|
268
|
+
#
|
|
269
|
+
# WHY A SECOND FUNCTION AND NOT A FLAG: `verify_litertlm_vision` posts
|
|
270
|
+
# `$MODEL_ID,gpu`, which is what the connector sends, and litert-lm returns 200
|
|
271
|
+
# for a delegate token it cannot honour — so on the later rungs that suffix would
|
|
272
|
+
# prove nothing about the thing being tested and could mask it. Here the model id
|
|
273
|
+
# carries no suffix at all, so a 200 means the box built an engine and ran a real
|
|
274
|
+
# image through it under the config now on disk, which is exactly the claim each
|
|
275
|
+
# rung needs.
|
|
276
|
+
verify_litertlm_plain_inference() {
|
|
277
|
+
_body="$LITERT_DIR/.plain-probe.json"
|
|
278
|
+
printf '{"model":"%s","messages":[{"role":"user","content":[{"type":"text","text":"Reply with the single word: ok"},{"type":"image_url","image_url":{"url":"data:image/jpeg;base64,%s"}}]}],"max_completion_tokens":8,"temperature":0}' \
|
|
279
|
+
"$MODEL_ID" "$LITERTLM_PROBE_JPEG_B64" > "$_body" 2>/dev/null || return 1
|
|
280
|
+
_code=$(curl -s -o /dev/null -w '%{http_code}' --max-time 180 \
|
|
281
|
+
-X POST "http://127.0.0.1:$SERVE_PORT/v1/chat/completions" \
|
|
282
|
+
-H 'Content-Type: application/json' --data-binary @"$_body" 2>/dev/null)
|
|
283
|
+
rm -f "$_body" 2>/dev/null || true
|
|
284
|
+
[ "$_code" = "200" ]
|
|
285
|
+
}
|
|
286
|
+
|
|
248
287
|
local_ai_healthy() {
|
|
249
288
|
curl -fsS --max-time 3 "http://127.0.0.1:$SERVE_PORT/v1/models" 2>/dev/null \
|
|
250
289
|
| grep -Fq "$MODEL_ID"
|
|
@@ -350,15 +389,25 @@ fi
|
|
|
350
389
|
|
|
351
390
|
# 4. Serve unit. Installed by install.sh (which has sudo); here we only start it
|
|
352
391
|
# when we can, so a re-run from the service user still recovers a stopped serve.
|
|
392
|
+
# RETURNS NON-ZERO WHEN IT DID NOT RESTART, and the caller has to care.
|
|
393
|
+
#
|
|
394
|
+
# On the ORDINARY Linux install path this function cannot restart anything:
|
|
395
|
+
# `install.sh` invokes this script as the unprivileged `trillboards` service user
|
|
396
|
+
# (nologin, no sudoers entry, so `sudo -n` answers "a password is required"), and
|
|
397
|
+
# install.sh's own comment says so. It used to swallow that and return 0, which
|
|
398
|
+
# is fine for "start it if you can" and WRONG for a cascade: every rung after the
|
|
399
|
+
# first would then write a config, fail to apply it, and grade the STILL-RUNNING
|
|
400
|
+
# engine — reaching a verdict about a configuration nothing ever loaded.
|
|
353
401
|
restart_litertlm_serve() {
|
|
354
|
-
command -v systemctl >/dev/null 2>&1 || return
|
|
402
|
+
command -v systemctl >/dev/null 2>&1 || return 1
|
|
355
403
|
if systemctl list-unit-files "$SERVE_UNIT.service" >/dev/null 2>&1; then
|
|
356
|
-
systemctl restart "$SERVE_UNIT" >>"$LOG" 2>&1
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
log "WARN: $SERVE_UNIT.service is not installed yet (install.sh installs it)"
|
|
404
|
+
systemctl restart "$SERVE_UNIT" >>"$LOG" 2>&1 && return 0
|
|
405
|
+
sudo -n systemctl restart "$SERVE_UNIT" >>"$LOG" 2>&1 && return 0
|
|
406
|
+
log "WARN: could not restart $SERVE_UNIT - start it with: sudo systemctl restart $SERVE_UNIT"
|
|
407
|
+
return 1
|
|
361
408
|
fi
|
|
409
|
+
log "WARN: $SERVE_UNIT.service is not installed yet (install.sh installs it)"
|
|
410
|
+
return 1
|
|
362
411
|
}
|
|
363
412
|
|
|
364
413
|
wait_for_litertlm_health() {
|
|
@@ -373,7 +422,7 @@ wait_for_litertlm_health() {
|
|
|
373
422
|
# Ask for GPU vision BEFORE the restart so the engine builds with it. The engine
|
|
374
423
|
# is constructed lazily on the first inference, so config.json must be on disk
|
|
375
424
|
# before that request, not merely before the next boot.
|
|
376
|
-
write_litertlm_config "gpu" || log "WARN: could not write $CONFIG_JSON - the serve will use its defaults"
|
|
425
|
+
write_litertlm_config "gpu" "true" || log "WARN: could not write $CONFIG_JSON - the serve will use its defaults"
|
|
377
426
|
|
|
378
427
|
restart_litertlm_serve
|
|
379
428
|
|
|
@@ -384,16 +433,52 @@ if [ "$HEALTHY" -eq 1 ]; then
|
|
|
384
433
|
# The cascade. `local_ai_healthy` only proves /v1/models answers, which it does
|
|
385
434
|
# without ever building an engine - so it CANNOT see a GPU vision encoder that
|
|
386
435
|
# fails on first use. One real image inference is the only thing that can.
|
|
436
|
+
#
|
|
437
|
+
# THREE RUNGS, NOT TWO, AND THE THIRD IS THE SAME RULE AS THE FIRST. There are
|
|
438
|
+
# two optimistic engine settings in this file and only one of them was ever
|
|
439
|
+
# checked. Each rung drops exactly one and re-asks the same question, so a box
|
|
440
|
+
# ends on the configuration with the fewest unverified assumptions it can
|
|
441
|
+
# actually serve on:
|
|
442
|
+
#
|
|
443
|
+
# 1. vision_backend=gpu + speculative_decoding=true the measured fast path
|
|
444
|
+
# 2. speculative_decoding=true GPU vision unusable here
|
|
445
|
+
# 3. speculative_decoding=false neither is usable here
|
|
446
|
+
#
|
|
447
|
+
# Rung 3 can only turn a NON-SERVING box into a serving one: it is reached only
|
|
448
|
+
# after the box has already failed rung 2, which today is the give-up path.
|
|
449
|
+
# `speculative_decoding` is a draft-plus-verify scheme — strictly more compute
|
|
450
|
+
# per token, needing spare parallelism to win — and every number we have for it
|
|
451
|
+
# was measured on ONE machine (M4 Max: Metal for the 1.433x headline, its own CPU
|
|
452
|
+
# arm for the 2026-08-19 A/B). Dropping it costs speed on a box that has already
|
|
453
|
+
# failed twice, and a slow box is a box that is serving.
|
|
387
454
|
if verify_litertlm_vision; then
|
|
388
455
|
log "local AI healthy with the GPU vision encoder - the connector will run ON-DEVICE"
|
|
389
456
|
else
|
|
390
457
|
log "WARN: GPU vision encoder did not answer a probe inference - falling back to the CPU encoder"
|
|
391
|
-
write_litertlm_config "" || log "WARN: could not rewrite $CONFIG_JSON"
|
|
392
|
-
|
|
393
|
-
|
|
458
|
+
write_litertlm_config "" "true" || log "WARN: could not rewrite $CONFIG_JSON"
|
|
459
|
+
# A RUNG MAY ONLY BE GRADED IF ITS CONFIG IS THE ONE RUNNING. On the ordinary
|
|
460
|
+
# Linux install path this script runs unprivileged and cannot restart the
|
|
461
|
+
# unit, so the probe below would interrogate the engine built for the
|
|
462
|
+
# PREVIOUS rung and fail for the previous rung's reason - descending on that
|
|
463
|
+
# would disable speculative decoding without ever having tested it. So when
|
|
464
|
+
# the restart did not happen we STOP here, leaving the CPU-vision config on
|
|
465
|
+
# disk exactly as before: `install.sh` applies it with its own privileged
|
|
466
|
+
# restart and runs this script again, and that pass can restart and grade.
|
|
467
|
+
if ! restart_litertlm_serve; then
|
|
468
|
+
log "WARN: the serve could not be restarted here, so the config just written is NOT the one running"
|
|
469
|
+
log "WARN: leaving the CPU vision encoder on disk unevaluated - install.sh applies it and the next pass grades it"
|
|
470
|
+
elif wait_for_litertlm_health && verify_litertlm_plain_inference; then
|
|
394
471
|
log "local AI healthy on the CPU vision encoder (slower, but serving)"
|
|
395
472
|
else
|
|
396
|
-
|
|
473
|
+
log "WARN: the CPU vision encoder did not answer either - retrying without speculative decoding"
|
|
474
|
+
write_litertlm_config "" "false" || log "WARN: could not rewrite $CONFIG_JSON"
|
|
475
|
+
if ! restart_litertlm_serve; then
|
|
476
|
+
log "WARN: the serve could not be restarted here, so the config just written is NOT the one running"
|
|
477
|
+
elif wait_for_litertlm_health && verify_litertlm_plain_inference; then
|
|
478
|
+
log "local AI healthy WITHOUT speculative decoding (slower still, but serving)"
|
|
479
|
+
else
|
|
480
|
+
HEALTHY=0
|
|
481
|
+
fi
|
|
397
482
|
fi
|
|
398
483
|
fi
|
|
399
484
|
fi
|
|
@@ -412,9 +497,14 @@ if [ "$HEALTHY" -ne 1 ]; then
|
|
|
412
497
|
# works, which is the right trade for a value we could not check: a box that is
|
|
413
498
|
# slow is a box that is serving, and `setup-litertlm.sh` re-runs on every
|
|
414
499
|
# install.sh, which will promote it to GPU the moment it can prove GPU works.
|
|
415
|
-
write_litertlm_config "" \
|
|
500
|
+
write_litertlm_config "" "false" \
|
|
416
501
|
|| log "WARN: could not rewrite $CONFIG_JSON to the CPU default"
|
|
417
|
-
|
|
502
|
+
# BOTH optimisms are reset, for one reason: neither was checked. The serve
|
|
503
|
+
# never came up, so the cascade that would have proved either of them never
|
|
504
|
+
# ran, and the file OUTLIVES this install — the unit is enabled, so the next
|
|
505
|
+
# boot starts on a configuration nobody confirmed. `setup-litertlm.sh` re-runs
|
|
506
|
+
# on every install.sh and promotes both again the moment it can prove them.
|
|
507
|
+
log "vision_backend and speculative_decoding left UNVERIFIED, so both were reset to the conservative default"
|
|
418
508
|
|
|
419
509
|
# NOT fatal. auto-sense waits and beacons, so an install that gets this far
|
|
420
510
|
# with the model on disk recovers by itself once the serve comes up.
|
|
@@ -166,17 +166,33 @@ $script:LitertlmProbeJpegB64 = "/9j/4AAQSkZJRgABAgAAAQABAAD//gAPTGF2YzYzLjEuMTAx
|
|
|
166
166
|
function Get-LitertlmConfigPath { Join-Path $LitertDir "config.json" }
|
|
167
167
|
|
|
168
168
|
# $VisionBackend = "gpu" pins the vision encoder; "" leaves it on the CPU
|
|
169
|
-
# default.
|
|
170
|
-
#
|
|
169
|
+
# default. $SpeculativeDecoding is the second engine setting this file writes.
|
|
170
|
+
#
|
|
171
|
+
# BOTH ARE ALWAYS WRITTEN EXPLICITLY, AND THE SECOND ONE IS NEW.
|
|
172
|
+
#
|
|
173
|
+
# speculative_decoding used to be written unconditionally $true under a comment
|
|
174
|
+
# asserting it is "delegate independent, so it survives the fallback". The
|
|
175
|
+
# evidence for that is two arms on ONE machine - an M4 Max, Metal for the
|
|
176
|
+
# headline 1.433x and its own CPU arm for the 2026-08-19 A/B in
|
|
177
|
+
# cctv-local-inference-hardware-floor.md. Neither is a measurement of any box we
|
|
178
|
+
# sell, and this file already refuses to leave an unverified vision_backend on
|
|
179
|
+
# disk for exactly that reason. The cascade below applies the same rule here.
|
|
180
|
+
#
|
|
181
|
+
# EXPLICIT $false RATHER THAN OMITTING THE KEY, and that is measured too:
|
|
182
|
+
# litert-lm 0.16.0 logs "Using speculative_decoding from config for model
|
|
183
|
+
# '<id>': <bool>" on every request when the key is PRESENT and says NOTHING AT
|
|
184
|
+
# ALL when it is absent (checked on a c4-standard-8, 2026-09-04). A box whose
|
|
185
|
+
# state is unreadable from its own log is a box whose next incident is diagnosed
|
|
186
|
+
# by guessing.
|
|
171
187
|
function Write-LitertlmConfig {
|
|
172
|
-
param([string]$VisionBackend = "")
|
|
188
|
+
param([string]$VisionBackend = "", [bool]$SpeculativeDecoding = $true)
|
|
173
189
|
try {
|
|
174
190
|
if (-not (Test-Path -LiteralPath $LitertDir)) {
|
|
175
191
|
New-Item -ItemType Directory -Force -Path $LitertDir | Out-Null
|
|
176
192
|
}
|
|
177
193
|
$model = [ordered]@{}
|
|
178
194
|
if ($VisionBackend) { $model["vision_backend"] = $VisionBackend }
|
|
179
|
-
$model["speculative_decoding"] = $
|
|
195
|
+
$model["speculative_decoding"] = $SpeculativeDecoding
|
|
180
196
|
$cfg = [ordered]@{ models = [ordered]@{ $ModelId = $model } }
|
|
181
197
|
$path = Get-LitertlmConfigPath
|
|
182
198
|
$tmp = "$path.tmp"
|
|
@@ -198,7 +214,7 @@ function Write-LitertlmConfig {
|
|
|
198
214
|
(New-Object System.Text.UTF8Encoding($false)))
|
|
199
215
|
Move-Item -LiteralPath $tmp -Destination $path -Force
|
|
200
216
|
$label = if ($VisionBackend) { $VisionBackend } else { "cpu-default" }
|
|
201
|
-
Log "wrote $path (vision_backend=$label, speculative_decoding
|
|
217
|
+
Log "wrote $path (vision_backend=$label, speculative_decoding=$SpeculativeDecoding)"
|
|
202
218
|
return $true
|
|
203
219
|
} catch {
|
|
204
220
|
Log "WARN: could not write litert-lm config.json: $_"
|
|
@@ -670,7 +686,7 @@ if (-not (Test-Path -LiteralPath $registration)) {
|
|
|
670
686
|
|
|
671
687
|
# Ask for GPU vision BEFORE the serve starts: the engine is built lazily on the
|
|
672
688
|
# first inference, so config.json must be on disk before that request.
|
|
673
|
-
Write-LitertlmConfig -VisionBackend "gpu" | Out-Null
|
|
689
|
+
Write-LitertlmConfig -VisionBackend "gpu" -SpeculativeDecoding $true | Out-Null
|
|
674
690
|
|
|
675
691
|
Log "registering litert-lm serve Scheduled Task on :$Port"
|
|
676
692
|
& powershell.exe -NoProfile -ExecutionPolicy Bypass -File $registration -LitertLmPath $litertlmPath -Port $Port *>> $LogPath
|
|
@@ -698,7 +714,7 @@ if (-not $healthy) {
|
|
|
698
714
|
# encoder rather than leave this host unable to sense at all.
|
|
699
715
|
if (-not (Test-LitertlmVision -InferenceModel "$ModelId,gpu")) {
|
|
700
716
|
Log "WARN: GPU vision encoder did not answer a probe inference; falling back to the CPU encoder"
|
|
701
|
-
Write-LitertlmConfig | Out-Null
|
|
717
|
+
Write-LitertlmConfig -SpeculativeDecoding $true | Out-Null
|
|
702
718
|
& powershell.exe -NoProfile -ExecutionPolicy Bypass -File $registration -LitertLmPath $litertlmPath -Port $Port *>> $LogPath
|
|
703
719
|
$healthy = $false
|
|
704
720
|
for ($attempt = 0; $attempt -lt 60 -and -not $healthy; $attempt++) {
|
|
@@ -730,9 +746,46 @@ if (-not (Test-LitertlmVision -InferenceModel "$ModelId,gpu")) {
|
|
|
730
746
|
} elseif (Test-LitertlmVision -InferenceModel $ModelId) {
|
|
731
747
|
Log "local AI healthy on the full CPU fallback (slower, but serving)"
|
|
732
748
|
} else {
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
749
|
+
# THE THIRD RUNG, AND IT IS THE SAME RULE AS THE FIRST. There are two
|
|
750
|
+
# optimistic engine settings in this file and only one of them was ever
|
|
751
|
+
# checked. Each rung drops exactly one and re-asks the same question, so a
|
|
752
|
+
# box ends on the configuration with the fewest unverified assumptions it can
|
|
753
|
+
# actually serve on:
|
|
754
|
+
#
|
|
755
|
+
# 1. vision_backend=gpu + speculative_decoding=true the measured fast path
|
|
756
|
+
# 2. speculative_decoding=true GPU vision unusable here
|
|
757
|
+
# 3. speculative_decoding=false neither is usable here
|
|
758
|
+
#
|
|
759
|
+
# This can only turn a box that was about to FAIL THE INSTALL into a serving
|
|
760
|
+
# one: it is reached only where the previous code called Fail-LocalAi.
|
|
761
|
+
# speculative_decoding is a draft-plus-verify scheme - strictly more compute
|
|
762
|
+
# per token, needing spare parallelism to win - and every number we have for
|
|
763
|
+
# it was measured on ONE machine. Dropping it costs speed on a box that has
|
|
764
|
+
# already failed twice, and a slow box is a box that is serving.
|
|
765
|
+
Log "WARN: neither GPU inference nor the full CPU fallback answered; retrying without speculative decoding"
|
|
766
|
+
Write-LitertlmConfig -SpeculativeDecoding $false | Out-Null
|
|
767
|
+
# A RUNG MAY ONLY BE GRADED IF ITS CONFIG IS THE ONE RUNNING. Re-registering
|
|
768
|
+
# the Scheduled Task is what applies the file; if that fails, the engine
|
|
769
|
+
# still answering is the previous rung's and grading it would reach a verdict
|
|
770
|
+
# about a configuration nothing ever loaded.
|
|
771
|
+
& powershell.exe -NoProfile -ExecutionPolicy Bypass -File $registration -LitertLmPath $litertlmPath -Port $Port *>> $LogPath
|
|
772
|
+
if ($LASTEXITCODE -ne 0) {
|
|
773
|
+
Fail-LocalAi "Gemma is installed, but the local AI service could not be restarted to apply the fallback configuration. Restart Windows, then retry Local AI. See $LogPath."
|
|
774
|
+
Stop-SetupLock
|
|
775
|
+
exit 1
|
|
776
|
+
}
|
|
777
|
+
$healthy = $false
|
|
778
|
+
for ($attempt = 0; $attempt -lt 60 -and -not $healthy; $attempt++) {
|
|
779
|
+
$healthy = Test-ServeHealthy
|
|
780
|
+
if (-not $healthy) { Start-Sleep -Seconds 2 }
|
|
781
|
+
}
|
|
782
|
+
if ($healthy -and (Test-LitertlmVision -InferenceModel $ModelId)) {
|
|
783
|
+
Log "local AI healthy WITHOUT speculative decoding (slower still, but serving)"
|
|
784
|
+
} else {
|
|
785
|
+
Fail-LocalAi "Gemma is installed and the local AI service is answering, but it could not analyze a test image with GPU inference, the full CPU fallback, or with speculative decoding disabled. See $LogPath."
|
|
786
|
+
Stop-SetupLock
|
|
787
|
+
exit 1
|
|
788
|
+
}
|
|
736
789
|
}
|
|
737
790
|
} else {
|
|
738
791
|
Log "local AI healthy with the GPU vision encoder"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetectorFieldProducer.d.ts","sourceRoot":"","sources":["../src/DetectorFieldProducer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DetectorFieldProducer.d.ts","sourceRoot":"","sources":["../src/DetectorFieldProducer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6LG;AACH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAA4C,MAAM,uBAAuB,CAAC;AAEtG;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACxC;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAAqC,CAAC;AAE/F,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,CAAC;IAC1B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,sDAAsD;AACtD,eAAO,MAAM,yBAAyB;IACpC;;;;;;;;;OASG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;;;;;;;;;;;OAeG;;IAEH;;;;;;OAMG;;CAEK,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;AAEtE,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE;IAC5C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAK,mBAAmB,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MACO,CAAC;AAE3D,wEAAwE;AACxE,eAAO,MAAM,cAAc,QAA2B,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAOvC,8EAA8E;AAC9E,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,GACnB,mBAAmB,GAAG;IAAE,MAAM,EAAE,sBAAsB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmI1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAwDrB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,KACzC,CAAC;IAAE,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE/G,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,OAAO,GAAE,4BAAiC,EAAE,aAAa,CAAC,EAAE,qBAAqB;IAoB7F;;;;;;;;;OASG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+N/E;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CAgBtB;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAI3F"}
|
|
@@ -415,13 +415,51 @@ function classifyProducerField(entry) {
|
|
|
415
415
|
};
|
|
416
416
|
}
|
|
417
417
|
if (kindName === 'zone_count') {
|
|
418
|
+
// `zone_count` names the COMPUTATION — count the boxes whose feet are in
|
|
419
|
+
// the region — and NOT the shape of the answer. The declared type decides
|
|
420
|
+
// that, exactly as it does for a suffix field.
|
|
421
|
+
//
|
|
422
|
+
// Hardcoding `count` here is a live route that never fires. The synthetic
|
|
423
|
+
// `alert_focus_<hash>` inherits its BASE field's type
|
|
424
|
+
// (`alertFocusFields.inferMetricType` returns `baseEntry.type`), so a
|
|
425
|
+
// focused `person_present` route carries type `boolean` — and
|
|
426
|
+
// `routeEvaluatorService` maps the focused value back onto the ORIGINAL
|
|
427
|
+
// condition field, where `compareValue`'s `eq` is strict. `1 === true` is
|
|
428
|
+
// false, so the operator's "text me when someone is in the driveway" would
|
|
429
|
+
// go quiet the moment the region started being honoured. Three of the six
|
|
430
|
+
// live focused route-screens are `person_present`.
|
|
431
|
+
//
|
|
432
|
+
// An unreadable type is WITHHELD rather than answered as a count: a count
|
|
433
|
+
// compared against an enum or string threshold can never be right, and an
|
|
434
|
+
// absent reading is this file's documented preference over a wrong one.
|
|
435
|
+
const declaredType = typeof entry.type === 'string' ? entry.type.trim().toLowerCase() : '';
|
|
436
|
+
let zoneKind;
|
|
437
|
+
if (!declaredType) {
|
|
438
|
+
// No type on the owning row — the relation's own name is the fallback,
|
|
439
|
+
// and `count` is what it says.
|
|
440
|
+
zoneKind = 'count';
|
|
441
|
+
}
|
|
442
|
+
else if (PRESENT_TYPES.has(declaredType)) {
|
|
443
|
+
zoneKind = 'present';
|
|
444
|
+
}
|
|
445
|
+
else if (COUNT_TYPES.has(declaredType)) {
|
|
446
|
+
zoneKind = 'count';
|
|
447
|
+
}
|
|
448
|
+
else {
|
|
449
|
+
return {
|
|
450
|
+
reason: exports.PRODUCER_WITHHOLD_REASONS.TYPE_CONTRADICTS_NAME,
|
|
451
|
+
detail: `'${field}' declares zone_count but its owning row declares type '${declaredType}'; `
|
|
452
|
+
+ `a region count can only be reported as one of `
|
|
453
|
+
+ `[${[...PRESENT_TYPES, ...COUNT_TYPES].join(', ')}]`,
|
|
454
|
+
};
|
|
455
|
+
}
|
|
418
456
|
return {
|
|
419
457
|
...entry,
|
|
420
458
|
field,
|
|
421
459
|
concept: field,
|
|
422
460
|
className: (0, exports.toDetectorClassName)(classNames[0]),
|
|
423
461
|
classNames: [(0, exports.toDetectorClassName)(classNames[0])],
|
|
424
|
-
kind:
|
|
462
|
+
kind: zoneKind,
|
|
425
463
|
relationKind: kindName,
|
|
426
464
|
};
|
|
427
465
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetectorFieldProducer.js","sourceRoot":"","sources":["../src/DetectorFieldProducer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetectorFieldProducer.js","sourceRoot":"","sources":["../src/DetectorFieldProducer.ts"],"names":[],"mappings":"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"}
|
package/dist/EdgeAgent.js
CHANGED
|
@@ -44,7 +44,7 @@ const edge_ads_1 = require("@trillboards/edge-ads");
|
|
|
44
44
|
const CommandRouter_1 = require("./CommandRouter");
|
|
45
45
|
const config_1 = require("./config");
|
|
46
46
|
const dataDir_1 = require("./dataDir");
|
|
47
|
-
const SDK_VERSION = '0.2.
|
|
47
|
+
const SDK_VERSION = '0.2.135';
|
|
48
48
|
class EdgeAgent extends events_1.EventEmitter {
|
|
49
49
|
constructor(config, deps) {
|
|
50
50
|
super();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WireSensingProfileProducerField, WireSensingProfileResponse, WireSensingProfileWithheldField } from '@trillboards/edge-core';
|
|
1
|
+
import type { WireAlertFocusRegion, WireSensingProfileProducerField, WireSensingProfileResponse, WireSensingProfileWithheldField } from '@trillboards/edge-core';
|
|
2
2
|
import { type HttpPoster } from './AudienceAnalyzeClient';
|
|
3
3
|
import { type ProfileField } from './localInferenceSchema';
|
|
4
4
|
/**
|
|
@@ -109,6 +109,29 @@ export interface ResolvedSensingProfile extends Pick<WireSensingProfileResponse,
|
|
|
109
109
|
* connector's own default, never an assertion that no model measured one.
|
|
110
110
|
*/
|
|
111
111
|
producerOperatingPoints: Map<string, number>;
|
|
112
|
+
/**
|
|
113
|
+
* The operator's saved region per SYNTHETIC alert-focus field, ready for
|
|
114
|
+
* `DetectorFieldProducer.regionForField`.
|
|
115
|
+
*
|
|
116
|
+
* A Map and not the wire's array for the same reason `producerOperatingPoints`
|
|
117
|
+
* is one: the producer asks BY FIELD, once per field per frame, and converting
|
|
118
|
+
* at the one place that parses the wire keeps every consumer from doing it.
|
|
119
|
+
*
|
|
120
|
+
* SANITIZED HERE, AND THAT IS LOAD-BEARING. `countInRegion` THROWS on a
|
|
121
|
+
* coordinate outside [0,1] — deliberately, because pixels are numerically
|
|
122
|
+
* valid there and would be silently wrong forever — and it is called from
|
|
123
|
+
* `DetectorFieldProducer.produce`, which documents that it NEVER THROWS
|
|
124
|
+
* because it sits on the path to the only thing that produces alerts. So a
|
|
125
|
+
* malformed region has to be refused at the wire, not at the predicate. The
|
|
126
|
+
* accepted set here is a strict SUBSET of what the predicate accepts, so
|
|
127
|
+
* nothing that survives this can throw there.
|
|
128
|
+
*
|
|
129
|
+
* A field absent from this map is a field with no region, and the producer
|
|
130
|
+
* then counts EVERY detection — what the unfocused field already means. It is
|
|
131
|
+
* never zero: a region that silently counts nothing is indistinguishable from
|
|
132
|
+
* a quiet venue, which is the failure this whole area keeps producing.
|
|
133
|
+
*/
|
|
134
|
+
alertFocusRegions: Map<string, WireAlertFocusRegion['region']>;
|
|
112
135
|
}
|
|
113
136
|
export declare class SensingProfileClient {
|
|
114
137
|
private readonly endpoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SensingProfileClient.d.ts","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"SensingProfileClient.d.ts","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EAEpB,+BAA+B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,wBAAwB,CAAC;AAChC,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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,sBACf,SAAQ,IAAI,CACV,0BAA0B,EACxB,aAAa,GACb,WAAW,GACX,aAAa,GACb,mBAAmB,GACnB,sBAAsB,GACtB,QAAQ,GACR,SAAS,CACZ;IACD;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3D;;;;;;;;;OASG;IACH,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B;;;;OAIG;IACH,cAAc,EAAE,+BAA+B,EAAE,CAAC;IAClD;;;;OAIG;IACH,cAAc,EAAE,+BAA+B,EAAE,CAAC;IAClD;;;;;;;;OAQG;IACH,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;CAChE;AAiDD,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;CA+K7D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,GACX;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO3C"}
|
|
@@ -4,6 +4,55 @@ exports.SensingProfileClient = void 0;
|
|
|
4
4
|
exports.parseDetectorCascade = parseDetectorCascade;
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
6
|
const AudienceAnalyzeClient_1 = require("./AudienceAnalyzeClient");
|
|
7
|
+
/** A finite number inside [0,1] — the normalized range the region columns are CHECKed to. */
|
|
8
|
+
function normalizedScalar(v) {
|
|
9
|
+
return typeof v === 'number' && Number.isFinite(v) && v >= 0 && v <= 1 ? v : null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The operator's region as the containment predicate can evaluate it, or null.
|
|
13
|
+
*
|
|
14
|
+
* `points` WINS over the rect, matching `countInRegion` on both sides of the
|
|
15
|
+
* parity test: a lasso's rect is its BOUNDING BOX, derived server-side, so
|
|
16
|
+
* preferring the rect would silently substitute a convex hull for an L-shaped
|
|
17
|
+
* aisle.
|
|
18
|
+
*
|
|
19
|
+
* A malformed `points` drops the WHOLE entry rather than falling back to that
|
|
20
|
+
* bounding box. Falling back would answer a question the operator did not ask —
|
|
21
|
+
* a strictly larger region — and do it silently. Dropping degrades to the
|
|
22
|
+
* whole-frame count, which is the documented degrade and the pre-existing
|
|
23
|
+
* behaviour.
|
|
24
|
+
*/
|
|
25
|
+
function sanitizeAlertFocusRegion(raw) {
|
|
26
|
+
if (!raw || typeof raw !== 'object')
|
|
27
|
+
return null;
|
|
28
|
+
const region = raw;
|
|
29
|
+
if (region.points !== undefined) {
|
|
30
|
+
if (!Array.isArray(region.points) || region.points.length < 3)
|
|
31
|
+
return null;
|
|
32
|
+
const points = [];
|
|
33
|
+
for (const p of region.points) {
|
|
34
|
+
const x = normalizedScalar(p?.x);
|
|
35
|
+
const y = normalizedScalar(p?.y);
|
|
36
|
+
if (x === null || y === null)
|
|
37
|
+
return null;
|
|
38
|
+
points.push({ x, y });
|
|
39
|
+
}
|
|
40
|
+
return { points };
|
|
41
|
+
}
|
|
42
|
+
// A rect needs POSITIVE extent and must close inside the frame — exactly what
|
|
43
|
+
// `assertNormalizedRect` requires before `rectAsPolygon` will build from it.
|
|
44
|
+
const x = normalizedScalar(region.x);
|
|
45
|
+
const y = normalizedScalar(region.y);
|
|
46
|
+
const width = normalizedScalar(region.width);
|
|
47
|
+
const height = normalizedScalar(region.height);
|
|
48
|
+
if (x === null || y === null || width === null || height === null)
|
|
49
|
+
return null;
|
|
50
|
+
if (width <= 0 || height <= 0)
|
|
51
|
+
return null;
|
|
52
|
+
if (x + width > 1 || y + height > 1)
|
|
53
|
+
return null;
|
|
54
|
+
return { x, y, width, height };
|
|
55
|
+
}
|
|
7
56
|
class SensingProfileClient {
|
|
8
57
|
constructor(options, poster) {
|
|
9
58
|
if (!options.apiBaseUrl)
|
|
@@ -81,7 +130,27 @@ class SensingProfileClient {
|
|
|
81
130
|
? routing.producer
|
|
82
131
|
.filter((p) => !!p && typeof p.field === 'string' && p.field.length > 0
|
|
83
132
|
&& typeof p.type === 'string' && typeof p.modelId === 'string' && p.modelId.length > 0)
|
|
84
|
-
.map((p) => ({
|
|
133
|
+
.map((p) => ({
|
|
134
|
+
field: p.field,
|
|
135
|
+
type: p.type,
|
|
136
|
+
modelId: p.modelId,
|
|
137
|
+
// THE RULE, CARRIED VERBATIM. Until now this was dropped here, and
|
|
138
|
+
// dropping it severed the only channel `relation_kind` travels on:
|
|
139
|
+
// `classifyProducerField` reads the kind from THIS object and from
|
|
140
|
+
// nowhere else, so every relation field fell through to the suffix
|
|
141
|
+
// rule. `fire_or_smoke_visible` came out `unmapped` and a focused
|
|
142
|
+
// field's `zone_count` never existed, which is why the geometric
|
|
143
|
+
// region had a consumer that could not be reached.
|
|
144
|
+
//
|
|
145
|
+
// Not re-derived and not filtered by kind: ownership and the rule
|
|
146
|
+
// are both properties of the registry, which this process cannot
|
|
147
|
+
// see. `SUPPORTED_RELATION_KINDS` is where a kind this build cannot
|
|
148
|
+
// evaluate is refused, and it says so as `unsupported_relation`
|
|
149
|
+
// rather than silently answering something else.
|
|
150
|
+
...(p.derivation && typeof p.derivation === 'object'
|
|
151
|
+
? { derivation: p.derivation }
|
|
152
|
+
: {}),
|
|
153
|
+
}))
|
|
85
154
|
: [];
|
|
86
155
|
const withheldFields = hasRouting && Array.isArray(routing.withheld)
|
|
87
156
|
? routing.withheld
|
|
@@ -108,6 +177,28 @@ class SensingProfileClient {
|
|
|
108
177
|
continue;
|
|
109
178
|
producerOperatingPoints.set(className, t);
|
|
110
179
|
}
|
|
180
|
+
// THE GEOMETRY, keyed by the synthetic field it belongs to.
|
|
181
|
+
//
|
|
182
|
+
// `field` here is `alert_focus_<hash>` — per ROUTE, never the base field the
|
|
183
|
+
// route conditions on. The rule rides the model and the region rides the
|
|
184
|
+
// route; they meet on this key and nowhere else.
|
|
185
|
+
//
|
|
186
|
+
// Absent on a server predating the key -> an empty map, and every field then
|
|
187
|
+
// counts the whole frame. That is what every connector does today, so a
|
|
188
|
+
// server that does not send this is not degraded by reading it.
|
|
189
|
+
const alertFocusRegions = new Map();
|
|
190
|
+
const rawRegions = hasRouting && Array.isArray(routing.alertFocusRegions)
|
|
191
|
+
? routing.alertFocusRegions
|
|
192
|
+
: [];
|
|
193
|
+
for (const entry of rawRegions) {
|
|
194
|
+
const field = typeof entry?.field === 'string' ? entry.field.trim() : '';
|
|
195
|
+
if (!field)
|
|
196
|
+
continue;
|
|
197
|
+
const region = sanitizeAlertFocusRegion(entry.region);
|
|
198
|
+
if (!region)
|
|
199
|
+
continue;
|
|
200
|
+
alertFocusRegions.set(field, region);
|
|
201
|
+
}
|
|
111
202
|
return {
|
|
112
203
|
profileName: typeof parsed.profileName === 'string' ? parsed.profileName : null,
|
|
113
204
|
profileId: typeof parsed.profileId === 'string' ? parsed.profileId : null,
|
|
@@ -118,6 +209,7 @@ class SensingProfileClient {
|
|
|
118
209
|
vlmFields,
|
|
119
210
|
producerFields,
|
|
120
211
|
producerOperatingPoints,
|
|
212
|
+
alertFocusRegions,
|
|
121
213
|
withheldFields,
|
|
122
214
|
// Absent on an older API -> [] (the gate behaves exactly as it did before).
|
|
123
215
|
absenceWatchedFields: Array.isArray(parsed.absenceWatchedFields)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SensingProfileClient.js","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SensingProfileClient.js","sourceRoot":"","sources":["../src/SensingProfileClient.ts"],"names":[],"mappings":"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"}
|
package/dist/diagnose.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export interface DiagnosticReport {
|
|
|
31
31
|
skipped: number;
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
declare const SDK_VERSION = "0.2.
|
|
34
|
+
declare const SDK_VERSION = "0.2.135";
|
|
35
35
|
declare function checkNodeVersion(): CheckResult;
|
|
36
36
|
declare function checkPlatform(): CheckResult;
|
|
37
37
|
declare function checkMemory(): CheckResult;
|
package/dist/diagnose.js
CHANGED
|
@@ -63,7 +63,7 @@ const localNetworkAccess_1 = require("./localNetworkAccess");
|
|
|
63
63
|
// ---------------------------------------------------------------------------
|
|
64
64
|
// SDK version — mirrors package.json; kept in sync by CI
|
|
65
65
|
// ---------------------------------------------------------------------------
|
|
66
|
-
const SDK_VERSION = '0.2.
|
|
66
|
+
const SDK_VERSION = '0.2.135';
|
|
67
67
|
exports._SDK_VERSION = SDK_VERSION;
|
|
68
68
|
// ---------------------------------------------------------------------------
|
|
69
69
|
// ANSI helpers (no external deps)
|
package/dist/localSensing.d.ts
CHANGED
|
@@ -194,6 +194,17 @@ export declare class LocalSensingClient implements SensingClient {
|
|
|
194
194
|
* derivation of one.
|
|
195
195
|
*/
|
|
196
196
|
private cachedProducerFields;
|
|
197
|
+
/**
|
|
198
|
+
* The operator's saved region per synthetic alert-focus field, from the
|
|
199
|
+
* deployed profile. Empty until a profile fetch succeeds.
|
|
200
|
+
*
|
|
201
|
+
* Read through `resolveAlertFocusRegion` at PRODUCE time rather than baked
|
|
202
|
+
* into the producer at construction, which is why a region arriving on the
|
|
203
|
+
* first profile poll needs no rebuild and why regions are absent from
|
|
204
|
+
* `sameThresholds`. A cached producer holding a stale region would apply the
|
|
205
|
+
* previous lasso to the current frame, and nothing downstream could tell.
|
|
206
|
+
*/
|
|
207
|
+
private cachedAlertFocusRegions;
|
|
197
208
|
/**
|
|
198
209
|
* The operating point each producer CLASS is counted at, from the server.
|
|
199
210
|
*
|
|
@@ -209,6 +220,23 @@ export declare class LocalSensingClient implements SensingClient {
|
|
|
209
220
|
* frame would discard nothing but cost an allocation on the analyze path.
|
|
210
221
|
*/
|
|
211
222
|
private producer;
|
|
223
|
+
/**
|
|
224
|
+
* The operator's region for one field, AT THE MOMENT THE FRAME IS PRODUCED.
|
|
225
|
+
*
|
|
226
|
+
* An arrow property and not a value passed once: the producer is built in the
|
|
227
|
+
* constructor, before any profile has been fetched, and rebuilt only when the
|
|
228
|
+
* operating points move. Closing over `this` means a region saved by an
|
|
229
|
+
* operator mid-session reaches the very next frame, and a region deleted stops
|
|
230
|
+
* applying on that same frame, with no rebuild and no second cache to
|
|
231
|
+
* invalidate.
|
|
232
|
+
*
|
|
233
|
+
* `?? null` is the whole safety property of this file's half of the feature. A
|
|
234
|
+
* field with no region gets `null`, and `countInRegion` then counts EVERY
|
|
235
|
+
* detection — what the unfocused field already means. It must never become
|
|
236
|
+
* zero: a region that silently counts nothing is indistinguishable from a
|
|
237
|
+
* quiet venue, and that is the failure this area keeps producing.
|
|
238
|
+
*/
|
|
239
|
+
private readonly resolveAlertFocusRegion;
|
|
212
240
|
private readonly producerOptions;
|
|
213
241
|
private readonly producerInjected;
|
|
214
242
|
private lastProfileFetchMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localSensing.d.ts","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"localSensing.d.ts","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":"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"}
|
package/dist/localSensing.js
CHANGED
|
@@ -322,6 +322,17 @@ class LocalSensingClient {
|
|
|
322
322
|
* derivation of one.
|
|
323
323
|
*/
|
|
324
324
|
this.cachedProducerFields = [];
|
|
325
|
+
/**
|
|
326
|
+
* The operator's saved region per synthetic alert-focus field, from the
|
|
327
|
+
* deployed profile. Empty until a profile fetch succeeds.
|
|
328
|
+
*
|
|
329
|
+
* Read through `resolveAlertFocusRegion` at PRODUCE time rather than baked
|
|
330
|
+
* into the producer at construction, which is why a region arriving on the
|
|
331
|
+
* first profile poll needs no rebuild and why regions are absent from
|
|
332
|
+
* `sameThresholds`. A cached producer holding a stale region would apply the
|
|
333
|
+
* previous lasso to the current frame, and nothing downstream could tell.
|
|
334
|
+
*/
|
|
335
|
+
this.cachedAlertFocusRegions = new Map();
|
|
325
336
|
/**
|
|
326
337
|
* The operating point each producer CLASS is counted at, from the server.
|
|
327
338
|
*
|
|
@@ -331,6 +342,23 @@ class LocalSensingClient {
|
|
|
331
342
|
* `DEFAULT_PRODUCER_MIN_CONFIDENCE` — the producer's own documented fallback.
|
|
332
343
|
*/
|
|
333
344
|
this.cachedProducerOperatingPoints = new Map();
|
|
345
|
+
/**
|
|
346
|
+
* The operator's region for one field, AT THE MOMENT THE FRAME IS PRODUCED.
|
|
347
|
+
*
|
|
348
|
+
* An arrow property and not a value passed once: the producer is built in the
|
|
349
|
+
* constructor, before any profile has been fetched, and rebuilt only when the
|
|
350
|
+
* operating points move. Closing over `this` means a region saved by an
|
|
351
|
+
* operator mid-session reaches the very next frame, and a region deleted stops
|
|
352
|
+
* applying on that same frame, with no rebuild and no second cache to
|
|
353
|
+
* invalidate.
|
|
354
|
+
*
|
|
355
|
+
* `?? null` is the whole safety property of this file's half of the feature. A
|
|
356
|
+
* field with no region gets `null`, and `countInRegion` then counts EVERY
|
|
357
|
+
* detection — what the unfocused field already means. It must never become
|
|
358
|
+
* zero: a region that silently counts nothing is indistinguishable from a
|
|
359
|
+
* quiet venue, and that is the failure this area keeps producing.
|
|
360
|
+
*/
|
|
361
|
+
this.resolveAlertFocusRegion = (field) => this.cachedAlertFocusRegions.get(field) ?? null;
|
|
334
362
|
this.lastProfileFetchMs = 0;
|
|
335
363
|
/**
|
|
336
364
|
* Frames the ON-DEVICE runtime actually produced a result for.
|
|
@@ -397,7 +425,16 @@ class LocalSensingClient {
|
|
|
397
425
|
this.producerInjected = options.detectorFieldProducer !== undefined;
|
|
398
426
|
this.producer = this.producerInjected
|
|
399
427
|
? options.detectorFieldProducer
|
|
400
|
-
|
|
428
|
+
// `regionForField` AFTER the spread, so the deployed profile wins over a
|
|
429
|
+
// caller's options — the same precedence `classThresholds` already has on
|
|
430
|
+
// the rebuild path below, and for the same reason: the region is the
|
|
431
|
+
// ROUTE's fact, and a caller carrying a second copy of it is the split
|
|
432
|
+
// brain `fieldRouting` exists to prevent. A test that needs another
|
|
433
|
+
// resolver injects the whole producer, which this branch honours.
|
|
434
|
+
: new DetectorFieldProducer_1.DetectorFieldProducer({
|
|
435
|
+
...this.producerOptions,
|
|
436
|
+
regionForField: this.resolveAlertFocusRegion,
|
|
437
|
+
});
|
|
401
438
|
}
|
|
402
439
|
getEndpoint() {
|
|
403
440
|
return this.uploadClient.getEndpoint();
|
|
@@ -435,6 +472,11 @@ class LocalSensingClient {
|
|
|
435
472
|
// TypeError on the path to every alert. A field with no consumer is not
|
|
436
473
|
// known to be safe — it is only known to be unread.
|
|
437
474
|
this.cachedProducerFields = profile.producerFields ?? [];
|
|
475
|
+
// The geometry half of the same partition. `?? new Map()` for the reason the
|
|
476
|
+
// line above carries `?? []`: this assignment can outlive a profile object
|
|
477
|
+
// that predates the key, and an undefined map is a TypeError on the path to
|
|
478
|
+
// every alert the first time anything reads it.
|
|
479
|
+
this.cachedAlertFocusRegions = profile.alertFocusRegions ?? new Map();
|
|
438
480
|
// Rebuilt only on a real change, and NEVER when the producer was injected —
|
|
439
481
|
// a test's stub must not be silently replaced by a real one the moment a
|
|
440
482
|
// profile arrives.
|
|
@@ -442,7 +484,15 @@ class LocalSensingClient {
|
|
|
442
484
|
? profile.producerOperatingPoints
|
|
443
485
|
: new Map();
|
|
444
486
|
if (!this.producerInjected && !sameThresholds(this.cachedProducerOperatingPoints, nextPoints)) {
|
|
445
|
-
this.producer = new DetectorFieldProducer_1.DetectorFieldProducer({
|
|
487
|
+
this.producer = new DetectorFieldProducer_1.DetectorFieldProducer({
|
|
488
|
+
...this.producerOptions,
|
|
489
|
+
classThresholds: nextPoints,
|
|
490
|
+
// Re-supplied on every rebuild. A producer built without it answers the
|
|
491
|
+
// whole frame for a focused field — silently, and looking exactly like a
|
|
492
|
+
// working one — so the resolver has to survive the rebuild rather than
|
|
493
|
+
// be a property of the first construction only.
|
|
494
|
+
regionForField: this.resolveAlertFocusRegion,
|
|
495
|
+
});
|
|
446
496
|
}
|
|
447
497
|
this.cachedProducerOperatingPoints = nextPoints;
|
|
448
498
|
// `vlmFields`, NEVER the whole profile. The half a granted specialist model
|
|
@@ -572,7 +622,18 @@ class LocalSensingClient {
|
|
|
572
622
|
/** field -> the specialist that answered it, or null when none did. */
|
|
573
623
|
let detectorProduced = null;
|
|
574
624
|
if (this.producer && this.cachedProducerFields.length > 0) {
|
|
575
|
-
producedSet = await this.producer.produce(request.jpeg,
|
|
625
|
+
producedSet = await this.producer.produce(request.jpeg,
|
|
626
|
+
// `derivation` is carried, not dropped. `classifyProducerField` reads the
|
|
627
|
+
// relation kind from THIS object and from nowhere else, so a map that
|
|
628
|
+
// rebuilt the entry without it sent every relation field down the suffix
|
|
629
|
+
// rule — which cannot express one. That is what made `zone_count`
|
|
630
|
+
// unreachable and the geometric region inert.
|
|
631
|
+
this.cachedProducerFields.map((f) => ({
|
|
632
|
+
field: f.field,
|
|
633
|
+
modelId: f.modelId,
|
|
634
|
+
type: f.type ?? null,
|
|
635
|
+
derivation: f.derivation ?? null,
|
|
636
|
+
})));
|
|
576
637
|
this.producerProduced += producedSet.produced.length;
|
|
577
638
|
for (const w of producedSet.withheld) {
|
|
578
639
|
this.producerWithheldByReason[w.reason] = (this.producerWithheldByReason[w.reason] || 0) + 1;
|
package/dist/localSensing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localSensing.js","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"localSensing.js","sourceRoot":"","sources":["../src/localSensing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED