@trillboards/edge-sdk 0.2.76 → 0.2.79
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/detector/tests/test_server.py +14 -0
- package/dist/CloudSensingManager.d.ts +39 -0
- package/dist/CloudSensingManager.d.ts.map +1 -1
- package/dist/CloudSensingManager.js +88 -0
- package/dist/CloudSensingManager.js.map +1 -1
- package/dist/DetectorShadowProbe.d.ts +381 -0
- package/dist/DetectorShadowProbe.d.ts.map +1 -0
- package/dist/DetectorShadowProbe.js +463 -0
- package/dist/DetectorShadowProbe.js.map +1 -0
- package/dist/DurableVlmCandidateSpool.d.ts.map +1 -1
- package/dist/DurableVlmCandidateSpool.js +2 -0
- package/dist/DurableVlmCandidateSpool.js.map +1 -1
- package/dist/EdgeAgent.js +1 -1
- package/dist/SensingProfileClient.d.ts +25 -22
- package/dist/SensingProfileClient.d.ts.map +1 -1
- package/dist/SensingProfileClient.js.map +1 -1
- package/dist/VlmCandidateBuffer.d.ts +13 -0
- package/dist/VlmCandidateBuffer.d.ts.map +1 -1
- package/dist/VlmCandidateBuffer.js +4 -0
- package/dist/VlmCandidateBuffer.js.map +1 -1
- package/dist/config.d.ts +37 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -4
- package/dist/index.js.map +1 -1
- package/dist/localInferenceSchema.d.ts +11 -2
- package/dist/localInferenceSchema.d.ts.map +1 -1
- package/dist/localInferenceSchema.js.map +1 -1
- package/dist/localSensing.d.ts +11 -0
- package/dist/localSensing.d.ts.map +1 -1
- package/dist/localSensing.js +4 -0
- package/dist/localSensing.js.map +1 -1
- package/dist/sensingRunMode.d.ts.map +1 -1
- package/dist/sensingRunMode.js +24 -0
- package/dist/sensingRunMode.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DetectorShadowProbe = exports.DEFAULT_OBSERVE_DEADLINE_MS = exports.DETECTOR_GATE_CONFIDENCE = exports.DEFAULT_MIN_OBSERVE_INTERVAL_MS = exports.DEFAULT_BACKOFF_MAX_MS = exports.DEFAULT_BACKOFF_INITIAL_MS = exports.DEFAULT_SHADOW_TIMEOUT_MS = exports.PERSON_LABELS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* DetectorShadowProbe — the on-device object detector running in SHADOW MODE.
|
|
6
|
+
*
|
|
7
|
+
* It records the decision the cascade gate WOULD have made and changes nothing.
|
|
8
|
+
* Nothing downstream of it may branch on its answer: not the cadence, not
|
|
9
|
+
* admission, not whether the VLM runs.
|
|
10
|
+
*
|
|
11
|
+
* ── WHY SHADOW FIRST, AND WHY THAT IS NOT A FORMALITY ──────────────────────
|
|
12
|
+
*
|
|
13
|
+
* The detector is a cascade GATE. When it says "nobody here" the VLM call is
|
|
14
|
+
* skipped, and no alert can fire from a frame nobody looked at. The numbers
|
|
15
|
+
* that justify it — ~84.7% of VLM calls removed for ~2.1% of events — were
|
|
16
|
+
* measured on 134 hand-labelled frames drawn from ALERT EPISODES, so the eval
|
|
17
|
+
* set is 64% positive while production is ~84.7% empty
|
|
18
|
+
* (docs/runbooks/cctv-detector-tier.md §1). Those are the right numbers for
|
|
19
|
+
* choosing BETWEEN detectors and the wrong population for sizing a suppressor.
|
|
20
|
+
*
|
|
21
|
+
* So the gate is measured against real fleet traffic before it is allowed to
|
|
22
|
+
* suppress anything. At ~63 ms on top of a ~5,645 ms analyze that measurement
|
|
23
|
+
* costs about 1% — and this class is what keeps it to about 1% when the service
|
|
24
|
+
* is missing, wedged, or answering slowly.
|
|
25
|
+
*
|
|
26
|
+
* ── THREE STATES, NEVER TWO ────────────────────────────────────────────────
|
|
27
|
+
*
|
|
28
|
+
* person_present at least one accepted person-class detection
|
|
29
|
+
* empty the service ANSWERED and found nobody — this is a RESULT
|
|
30
|
+
* unavailable transport failed, non-2xx, bad envelope, or nothing installed
|
|
31
|
+
*
|
|
32
|
+
* `unavailable` must never collapse into `empty`. That collapse is the entire
|
|
33
|
+
* failure mode this feature can have: once the gate is armed, a broken detector
|
|
34
|
+
* read as a quiet venue suppresses every VLM call — and therefore every alert —
|
|
35
|
+
* while `postCount`, `sensingState:'active'` and the portal's "AI active" tile
|
|
36
|
+
* all stay green (docs/runbooks/cctv-connector-runtime-edge-cases.md). The
|
|
37
|
+
* distinction is already load-bearing one layer down: `LocalDetectorClient`
|
|
38
|
+
* throws `DetectorUnavailableError` for a service failure and returns an empty
|
|
39
|
+
* `detections` array for an empty frame, and refuses to default a missing
|
|
40
|
+
* `detections` key to `[]`. This class is the consumer that has to honour it.
|
|
41
|
+
*
|
|
42
|
+
* ── WHY THE SERVICE BEING ABSENT MUST COST NOTHING ─────────────────────────
|
|
43
|
+
*
|
|
44
|
+
* The service exists as of edge-sdk 0.2.76 and ships in all three installers,
|
|
45
|
+
* but "the service shipped" and "this box is running it" are different events.
|
|
46
|
+
* A connector below 0.2.76 has no detector at all, and a FRESH 0.2.76 install
|
|
47
|
+
* answers `/health` with **503 by design** until the OTA'd ONNX lands — so for
|
|
48
|
+
* as long as the fleet takes to upgrade, "nothing usable on 9380" is the common
|
|
49
|
+
* case and shadow mode has to be free in it, or it is a fleet-wide latency
|
|
50
|
+
* regression bought with no measurement at all.
|
|
51
|
+
*
|
|
52
|
+
* Two bounds do that, and neither is a retry policy:
|
|
53
|
+
*
|
|
54
|
+
* 1. A HARD DEADLINE. The client is constructed with a short `timeoutMs`
|
|
55
|
+
* (default 1000 ms) rather than its own 5 s default, so a wedged service
|
|
56
|
+
* can never hold a capture tick for five seconds. ECONNREFUSED — the
|
|
57
|
+
* overwhelmingly common case — settles in microseconds and never reaches
|
|
58
|
+
* it.
|
|
59
|
+
* 2. A BACKOFF ON FAILURE, exponential to a ceiling. After a failure the
|
|
60
|
+
* probe stops calling `detect()` entirely and reports `unavailable` at
|
|
61
|
+
* zero cost until the window closes, at which point ONE cheap `/health`
|
|
62
|
+
* GET decides whether to resume. So a box with no detector pays one
|
|
63
|
+
* connection refusal per backoff window, not one per frame.
|
|
64
|
+
*
|
|
65
|
+
* A skipped frame still REPORTS `unavailable`. Reporting nothing would make a
|
|
66
|
+
* fleet with no detector look like a small sample rather than what it is, and
|
|
67
|
+
* the unavailable RATE is one of the three numbers the soak exists to produce.
|
|
68
|
+
*
|
|
69
|
+
* ── WHY IT NEVER THROWS ────────────────────────────────────────────────────
|
|
70
|
+
*
|
|
71
|
+
* It sits inside `CloudSensingManager.lookThenAdmit`, on the path to the only
|
|
72
|
+
* thing that produces alerts. A shadow measurement that can fail a real capture
|
|
73
|
+
* tick is strictly worse than no measurement. Every exit returns a verdict.
|
|
74
|
+
*
|
|
75
|
+
* @reuse-audit
|
|
76
|
+
* considered: LocalDetectorClient (this package)
|
|
77
|
+
* - reused wholesale, unchanged, as the transport and the parser. Its
|
|
78
|
+
* DetectorUnavailableError-vs-empty-array distinction IS this class's
|
|
79
|
+
* three-state vocabulary; re-deriving it here would be a second opinion
|
|
80
|
+
* about the same bytes.
|
|
81
|
+
* considered: LiteRtVlmProvider's accelerator probe
|
|
82
|
+
* - rejected: it caches a CAPABILITY answered once at startup. This caches a
|
|
83
|
+
* LIVENESS verdict that must be able to return to healthy while the
|
|
84
|
+
* process runs — a detector installed by an MDM push at 3 a.m. has to be
|
|
85
|
+
* picked up without a restart, which is the same reason enterpriseTrust
|
|
86
|
+
* drops its cache on a classified failure.
|
|
87
|
+
*/
|
|
88
|
+
const LocalDetectorClient_1 = require("./LocalDetectorClient");
|
|
89
|
+
/**
|
|
90
|
+
* Labels that count as a person.
|
|
91
|
+
*
|
|
92
|
+
* The same set the offline scoring harness accepts
|
|
93
|
+
* (`trillboard-api/scripts/vision/detector-arm-eval.mjs#PERSON_LABELS`), so a
|
|
94
|
+
* shadow verdict and an eval score mean the same thing by the same rule. Held
|
|
95
|
+
* as LABELS and never as a class index: an eval run once defaulted an absent
|
|
96
|
+
* class to index 0 and scored buses as people for a whole run, and the table
|
|
97
|
+
* looked entirely plausible (cctv-detector-tier.md §5).
|
|
98
|
+
*
|
|
99
|
+
* The SHIPPED artifact emits COCO names, so `person` is the only member it can
|
|
100
|
+
* currently produce (`deploy/detector/trillboards_detector/labels.py`). The
|
|
101
|
+
* other three are kept because they are what the SCORING harness accepts and
|
|
102
|
+
* because none of them is a COCO name — so a future artifact with a different
|
|
103
|
+
* vocabulary is graded the same way, and today's cannot be mis-classified by
|
|
104
|
+
* their presence.
|
|
105
|
+
*/
|
|
106
|
+
exports.PERSON_LABELS = new Set([
|
|
107
|
+
'person',
|
|
108
|
+
'people',
|
|
109
|
+
'human',
|
|
110
|
+
'pedestrian',
|
|
111
|
+
]);
|
|
112
|
+
/**
|
|
113
|
+
* Ceiling on how long shadow mode may hold a capture tick.
|
|
114
|
+
*
|
|
115
|
+
* NOT the client's own 5 s default. `lookThenAdmit` runs this between the
|
|
116
|
+
* motion verdict and the admission gate, so every ms here is a ms the frame is
|
|
117
|
+
* older when it reaches the model. The detector's measured cost is ~63 ms, so
|
|
118
|
+
* 1000 ms is ~16x headroom for the slowest plausible answer and still ~0.02% of
|
|
119
|
+
* a 5,645 ms analyze in the worst case — and it is paid at most once per
|
|
120
|
+
* backoff window, because a breach opens the backoff.
|
|
121
|
+
*/
|
|
122
|
+
exports.DEFAULT_SHADOW_TIMEOUT_MS = 1000;
|
|
123
|
+
/** First backoff step after a failure. */
|
|
124
|
+
exports.DEFAULT_BACKOFF_INITIAL_MS = 30000;
|
|
125
|
+
/**
|
|
126
|
+
* Backoff ceiling.
|
|
127
|
+
*
|
|
128
|
+
* Five minutes rather than "give up": the detector service arrives by MDM push
|
|
129
|
+
* or by an installer run while the connector is already running, so a probe
|
|
130
|
+
* that latched off permanently would need a restart to notice its own product
|
|
131
|
+
* shipping. Same reasoning as the enterprise trust-store cache.
|
|
132
|
+
*/
|
|
133
|
+
exports.DEFAULT_BACKOFF_MAX_MS = 300000;
|
|
134
|
+
/**
|
|
135
|
+
* Minimum wall time between shadow observations OF ONE FEED. 15 s.
|
|
136
|
+
*
|
|
137
|
+
* ── WHY THIS BOUND EXISTS AND WHY IT IS NOT A TUNING KNOB ──────────────────
|
|
138
|
+
*
|
|
139
|
+
* `cctv-detector-tier.md` §2 is unambiguous: **the detector gates the ANALYZE,
|
|
140
|
+
* not the LOOK.** At the 500 ms look cadence, 6 cameras never clears at p95 on
|
|
141
|
+
* any thread configuration measured; at the analyze cadence nothing binds.
|
|
142
|
+
*
|
|
143
|
+
* The call site — one observation per `analyze: true` verdict — is the right
|
|
144
|
+
* PLACE and, on a starved box, the wrong RATE. `MotionGate.evaluate` resolves
|
|
145
|
+
* `heartbeatDue` before it consults the motion verdict, and `markAnalyzed()`
|
|
146
|
+
* only fires when an inference actually LANDS. So on a connector whose single
|
|
147
|
+
* inference slot is saturated, every feed is permanently heartbeat-due and
|
|
148
|
+
* every look returns `analyze: true`. That is the LOOK cadence: measured on the
|
|
149
|
+
* shipped constants, **64 verdicts/second at 32 feeds** — ~4 CPU-seconds per
|
|
150
|
+
* wall second of detector at ~63 ms each, on the exact box the runbook already
|
|
151
|
+
* describes as starved. Worse, almost all of those frames are dropped at
|
|
152
|
+
* admission and never POST, so the calls buy no measurement at all.
|
|
153
|
+
*
|
|
154
|
+
* 15 s is `MIN_ANALYZE_INTERVAL_MS / 2`. Half, not equal, so it cannot bind on
|
|
155
|
+
* a HEALTHY feed: `MotionGate`'s own `minAnalyzeIntervalMs` floor already keeps
|
|
156
|
+
* `analyze: true` at least 30 s apart there, so every analyzed frame is
|
|
157
|
+
* observed and coverage is 100% — which is the fleet the measurement is for.
|
|
158
|
+
* On a starved feed it caps the cost at 1 call per feed per 15 s (2.13/s at 32
|
|
159
|
+
* feeds, ~13% of one core) and the frames it declines simply carry no verdict:
|
|
160
|
+
* the column's NULL already means "not reported", and the soak counts only
|
|
161
|
+
* non-null rows, so the ratio it reports is unchanged.
|
|
162
|
+
*
|
|
163
|
+
* The sampling is by TIME and never by content, so it cannot move the
|
|
164
|
+
* disagreement or savings rates. What it does cost is COVERAGE on a starved
|
|
165
|
+
* box, and that is the deliberate trade: a bounded loss of sample there against
|
|
166
|
+
* an unbounded CPU regression §2 already measured as not clearing.
|
|
167
|
+
*/
|
|
168
|
+
exports.DEFAULT_MIN_OBSERVE_INTERVAL_MS = 15000;
|
|
169
|
+
/**
|
|
170
|
+
* The confidence threshold the QUOTED GATE RESULT was produced at. 0.2918.
|
|
171
|
+
*
|
|
172
|
+
* NOT `LocalDetectorClient`'s 0.25 default, and the difference is the whole
|
|
173
|
+
* point of measuring. The committed evaluation
|
|
174
|
+
* (`trillboard-api/scripts/ai/eval-baselines/detector-arm-results-2026-08-23.json`,
|
|
175
|
+
* arm `rfdetr-medium`) carries TWO numbers that are easy to conflate:
|
|
176
|
+
*
|
|
177
|
+
* pooled_at_0.25 precision 98.8 / recall 98.8 — a DETECTOR score
|
|
178
|
+
* cascade_gate 2.1% events lost / 84.7% saved — a GATE score, and its
|
|
179
|
+
* own `at` field says "the TRAIN-selected threshold, applied
|
|
180
|
+
* to the TEST half" = held_out.threshold_chosen_on_train
|
|
181
|
+
* = 0.2918
|
|
182
|
+
*
|
|
183
|
+
* §1 of the runbook is explicit that those are different questions and that the
|
|
184
|
+
* ranking inverts between them. A shadow run at 0.25 would therefore measure a
|
|
185
|
+
* DIFFERENT gate and hand back rates presented as comparable to 2.1%/84.7%,
|
|
186
|
+
* which is the exact "quoted under other conditions" error the shadow phase
|
|
187
|
+
* exists to stop.
|
|
188
|
+
*
|
|
189
|
+
* The value travels ON THE WIRE per frame (`minConfidence` below) rather than
|
|
190
|
+
* being restated server-side, because a fleet is routinely mid-upgrade across
|
|
191
|
+
* two connector versions and a soak that pooled two thresholds would average
|
|
192
|
+
* two different gates into one number with nothing saying so — the
|
|
193
|
+
* `agent_version` trap in docs/runbooks/ctv-agent-version-map.md, one column
|
|
194
|
+
* over.
|
|
195
|
+
*/
|
|
196
|
+
exports.DETECTOR_GATE_CONFIDENCE = 0.2918;
|
|
197
|
+
/**
|
|
198
|
+
* Ceiling on the WHOLE observation, enforced by this class rather than by the
|
|
199
|
+
* transport. 1500 ms.
|
|
200
|
+
*
|
|
201
|
+
* `LocalDetectorClient`'s `timeoutMs` is an INACTIVITY timeout — its own header
|
|
202
|
+
* says so, and names the case it cannot cover: a server dribbling bytes slowly
|
|
203
|
+
* under a large Content-Length keeps the socket busy, the inactivity timer
|
|
204
|
+
* never fires, and the call is genuinely unbounded. That is tolerable for a
|
|
205
|
+
* client nothing calls on the hot path and NOT tolerable here, because this
|
|
206
|
+
* runs on the path to every admitted analysis — the only path that produces
|
|
207
|
+
* alerts.
|
|
208
|
+
*
|
|
209
|
+
* So the elapsed-time bound lives here, above the transport, where "how long
|
|
210
|
+
* may a shadow measurement hold a capture tick" is actually decided. Slightly
|
|
211
|
+
* above the client's own 1000 ms so the transport still wins the ordinary
|
|
212
|
+
* timeout and reports it as one.
|
|
213
|
+
*/
|
|
214
|
+
exports.DEFAULT_OBSERVE_DEADLINE_MS = 1500;
|
|
215
|
+
class DetectorShadowProbe {
|
|
216
|
+
constructor(options = {}, client) {
|
|
217
|
+
/** Last observation per feed, for the cadence bound. */
|
|
218
|
+
this.lastObservedAtMs = new Map();
|
|
219
|
+
/** null ⇒ not backing off. Otherwise the clock reading backoff expires at. */
|
|
220
|
+
this.backoffUntilMs = null;
|
|
221
|
+
this.observed = 0;
|
|
222
|
+
this.rateLimited = 0;
|
|
223
|
+
this.personPresent = 0;
|
|
224
|
+
this.empty = 0;
|
|
225
|
+
this.unavailable = 0;
|
|
226
|
+
this.skippedUnderBackoff = 0;
|
|
227
|
+
this.totalWallMs = 0;
|
|
228
|
+
this.lastUnavailableReason = null;
|
|
229
|
+
this.lastModel = null;
|
|
230
|
+
this.enabled = options.enabled !== false;
|
|
231
|
+
this.now = options.now ?? Date.now;
|
|
232
|
+
this.backoffInitialMs = Math.max(1000, Math.trunc(options.backoffInitialMs ?? exports.DEFAULT_BACKOFF_INITIAL_MS));
|
|
233
|
+
this.backoffMaxMs = Math.max(this.backoffInitialMs, Math.trunc(options.backoffMaxMs ?? exports.DEFAULT_BACKOFF_MAX_MS));
|
|
234
|
+
this.backoffStepMs = this.backoffInitialMs;
|
|
235
|
+
this.minIntervalMs = Math.max(0, Math.trunc(options.minIntervalMs ?? exports.DEFAULT_MIN_OBSERVE_INTERVAL_MS));
|
|
236
|
+
this.minConfidence = options.minConfidence ?? exports.DETECTOR_GATE_CONFIDENCE;
|
|
237
|
+
this.deadlineMs = Math.max(0, Math.trunc(options.deadlineMs ?? exports.DEFAULT_OBSERVE_DEADLINE_MS));
|
|
238
|
+
this.client =
|
|
239
|
+
client ??
|
|
240
|
+
new LocalDetectorClient_1.LocalDetectorClient({
|
|
241
|
+
...(options.baseUrl ? { baseUrl: options.baseUrl } : {}),
|
|
242
|
+
// The transport bound, not the client's 5 s default. See the constant.
|
|
243
|
+
timeoutMs: Math.max(1, Math.trunc(options.timeoutMs ?? exports.DEFAULT_SHADOW_TIMEOUT_MS)),
|
|
244
|
+
// ALWAYS set — never left to the client's 0.25 default, which scored a
|
|
245
|
+
// different question. See DETECTOR_GATE_CONFIDENCE.
|
|
246
|
+
minConfidence: this.minConfidence,
|
|
247
|
+
// No `classes` filter. Shadow mode measures the gate the runbook scored,
|
|
248
|
+
// and that gate is "did the detector see a person", which is decided by
|
|
249
|
+
// the LABEL below rather than by asking the service to pre-filter. A
|
|
250
|
+
// service-side filter would also make an unexpected label look like an
|
|
251
|
+
// empty frame — the collapse this whole class exists to prevent.
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
isEnabled() {
|
|
255
|
+
return this.enabled;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Record the decision the armed gate WOULD have made about this frame.
|
|
259
|
+
*
|
|
260
|
+
* NEVER THROWS, never returns a promise that rejects, and never returns
|
|
261
|
+
* `empty` for a service that did not answer.
|
|
262
|
+
*
|
|
263
|
+
* Returns null for the two cases that are NOT a verdict — the probe is
|
|
264
|
+
* disabled, or this feed is inside its cadence bound — so a caller can tell
|
|
265
|
+
* "no reading" from "the detector is down". Those must not share a value:
|
|
266
|
+
* `unavailable` is a claim about the detector, and null means nobody asked.
|
|
267
|
+
* The caller sends nothing for a null, and the column's NULL already means
|
|
268
|
+
* "not reported".
|
|
269
|
+
*
|
|
270
|
+
* @param jpeg the exact bytes the VLM is about to analyze
|
|
271
|
+
* @param feedKey which feed this frame came from; the cadence bound is
|
|
272
|
+
* PER FEED, because a busy camera must not spend a quiet camera's budget
|
|
273
|
+
*/
|
|
274
|
+
async observe(jpeg, feedKey = '__default__') {
|
|
275
|
+
if (!this.enabled)
|
|
276
|
+
return null;
|
|
277
|
+
// ── Cadence bound: the detector gates the ANALYZE, not the LOOK ─────────
|
|
278
|
+
//
|
|
279
|
+
// FIRST, before the counters and before the backoff, so it is one simple
|
|
280
|
+
// rule — at most one observation per feed per `minIntervalMs` — rather than
|
|
281
|
+
// a bound that means different things on different paths. See
|
|
282
|
+
// DEFAULT_MIN_OBSERVE_INTERVAL_MS: on a starved connector every look
|
|
283
|
+
// returns `analyze: true`, and honouring that literally is the 500 ms LOOK
|
|
284
|
+
// cadence §2 measured as not clearing at 6 cameras.
|
|
285
|
+
//
|
|
286
|
+
// The clock advances only on an ADMITTED observation, so the sample is
|
|
287
|
+
// "the first qualifying frame after each mark" — a function of time alone,
|
|
288
|
+
// never of what the frame contains, so it cannot move the rates the soak
|
|
289
|
+
// reports.
|
|
290
|
+
const nowMs = this.now();
|
|
291
|
+
if (this.minIntervalMs > 0) {
|
|
292
|
+
const last = this.lastObservedAtMs.get(feedKey);
|
|
293
|
+
if (last !== undefined && nowMs - last < this.minIntervalMs) {
|
|
294
|
+
this.rateLimited++;
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
this.lastObservedAtMs.set(feedKey, nowMs);
|
|
298
|
+
}
|
|
299
|
+
this.observed++;
|
|
300
|
+
// ── Backoff: answer without touching the network ────────────────────────
|
|
301
|
+
const enteredAtMs = nowMs;
|
|
302
|
+
if (this.backoffUntilMs !== null && enteredAtMs < this.backoffUntilMs) {
|
|
303
|
+
this.skippedUnderBackoff++;
|
|
304
|
+
return this.recordUnavailable(0, 'backoff');
|
|
305
|
+
}
|
|
306
|
+
// ── Backoff window closed: ONE cheap GET decides whether to resume ──────
|
|
307
|
+
// Deliberately the health endpoint and not a speculative detect(): a
|
|
308
|
+
// detect() carries the base64 frame and runs inference, so probing with it
|
|
309
|
+
// would make every recovery attempt cost a real inference on a service that
|
|
310
|
+
// may still be dead. isHealthy() cannot throw (it returns false), so no
|
|
311
|
+
// catch is needed here and adding one would be dead code.
|
|
312
|
+
if (this.backoffUntilMs !== null) {
|
|
313
|
+
const healthy = await this.client.isHealthy();
|
|
314
|
+
const afterHealthMs = this.now();
|
|
315
|
+
if (!healthy) {
|
|
316
|
+
this.openBackoff();
|
|
317
|
+
return this.recordUnavailable(Math.max(0, afterHealthMs - enteredAtMs), 'health_probe_failed');
|
|
318
|
+
}
|
|
319
|
+
this.closeBackoff();
|
|
320
|
+
}
|
|
321
|
+
const startedAtMs = this.now();
|
|
322
|
+
let result;
|
|
323
|
+
try {
|
|
324
|
+
result = await this.withDeadline(this.client.detect(jpeg));
|
|
325
|
+
}
|
|
326
|
+
catch (err) {
|
|
327
|
+
// EVERY failure lands here as `unavailable`, including a 2xx whose
|
|
328
|
+
// envelope was not the contract — LocalDetectorClient raises that rather
|
|
329
|
+
// than defaulting `detections` to `[]`, and this is the consumer that has
|
|
330
|
+
// to keep that refusal meaningful.
|
|
331
|
+
this.openBackoff();
|
|
332
|
+
return this.recordUnavailable(Math.max(0, this.now() - startedAtMs), classifyUnavailable(err));
|
|
333
|
+
}
|
|
334
|
+
const wallMs = Math.max(0, this.now() - startedAtMs);
|
|
335
|
+
this.totalWallMs += wallMs;
|
|
336
|
+
this.lastModel = result.model;
|
|
337
|
+
let personCount = 0;
|
|
338
|
+
let topConfidence = null;
|
|
339
|
+
for (const d of result.detections) {
|
|
340
|
+
if (!exports.PERSON_LABELS.has(d.label.toLowerCase()))
|
|
341
|
+
continue;
|
|
342
|
+
personCount++;
|
|
343
|
+
if (topConfidence === null || d.confidence > topConfidence)
|
|
344
|
+
topConfidence = d.confidence;
|
|
345
|
+
}
|
|
346
|
+
// An answer with no accepted person class is `empty` — a RESULT about the
|
|
347
|
+
// frame, reached only because the service answered and its payload parsed.
|
|
348
|
+
// Nothing above this line can produce it.
|
|
349
|
+
const verdict = personCount > 0 ? 'person_present' : 'empty';
|
|
350
|
+
if (verdict === 'person_present')
|
|
351
|
+
this.personPresent++;
|
|
352
|
+
else
|
|
353
|
+
this.empty++;
|
|
354
|
+
return {
|
|
355
|
+
verdict,
|
|
356
|
+
minConfidence: this.minConfidence,
|
|
357
|
+
inferenceMs: result.inferenceMs,
|
|
358
|
+
wallMs,
|
|
359
|
+
personCount,
|
|
360
|
+
topConfidence,
|
|
361
|
+
model: result.model,
|
|
362
|
+
unavailableReason: null,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
/** The wire slice — exactly the fields a column reads. */
|
|
366
|
+
static toWire(observation) {
|
|
367
|
+
return {
|
|
368
|
+
verdict: observation.verdict,
|
|
369
|
+
minConfidence: observation.minConfidence,
|
|
370
|
+
inferenceMs: observation.inferenceMs,
|
|
371
|
+
wallMs: observation.wallMs,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
getStats() {
|
|
375
|
+
return {
|
|
376
|
+
enabled: this.enabled,
|
|
377
|
+
observed: this.observed,
|
|
378
|
+
rateLimited: this.rateLimited,
|
|
379
|
+
personPresent: this.personPresent,
|
|
380
|
+
empty: this.empty,
|
|
381
|
+
unavailable: this.unavailable,
|
|
382
|
+
skippedUnderBackoff: this.skippedUnderBackoff,
|
|
383
|
+
totalWallMs: this.totalWallMs,
|
|
384
|
+
backingOff: this.backoffUntilMs !== null && this.now() < this.backoffUntilMs,
|
|
385
|
+
lastUnavailableReason: this.lastUnavailableReason,
|
|
386
|
+
lastModel: this.lastModel,
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
recordUnavailable(wallMs, reason) {
|
|
390
|
+
this.unavailable++;
|
|
391
|
+
this.totalWallMs += wallMs;
|
|
392
|
+
this.lastUnavailableReason = reason;
|
|
393
|
+
return {
|
|
394
|
+
verdict: 'unavailable',
|
|
395
|
+
// Reported even here: it is a property of the ASK, not of the answer, and
|
|
396
|
+
// the soak needs to know which gate a window's `unavailable` rate belongs
|
|
397
|
+
// to just as much as it needs it for the rates that came back.
|
|
398
|
+
minConfidence: this.minConfidence,
|
|
399
|
+
inferenceMs: null,
|
|
400
|
+
wallMs,
|
|
401
|
+
// NULL, not 0. A zero here would be a count of people in a frame nobody
|
|
402
|
+
// looked at, and it is indistinguishable from a measured empty room.
|
|
403
|
+
personCount: null,
|
|
404
|
+
topConfidence: null,
|
|
405
|
+
model: null,
|
|
406
|
+
unavailableReason: reason,
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Bound a detector call by ELAPSED time, which the transport cannot do.
|
|
411
|
+
*
|
|
412
|
+
* `LocalDetectorClient`'s timeout is an inactivity timer, and its own header
|
|
413
|
+
* names the hole: a server dribbling bytes under a large Content-Length keeps
|
|
414
|
+
* the socket busy forever. On the path to every admitted analysis, that is an
|
|
415
|
+
* unbounded stall on the only path that produces alerts.
|
|
416
|
+
*
|
|
417
|
+
* The loser's rejection is swallowed rather than left to become an unhandled
|
|
418
|
+
* rejection — the underlying request still settles on its own timeout and its
|
|
419
|
+
* result is simply discarded, which is the correct outcome for a measurement
|
|
420
|
+
* whose window has passed.
|
|
421
|
+
*/
|
|
422
|
+
withDeadline(work) {
|
|
423
|
+
if (this.deadlineMs <= 0)
|
|
424
|
+
return work;
|
|
425
|
+
work.catch(() => { });
|
|
426
|
+
return Promise.race([
|
|
427
|
+
work,
|
|
428
|
+
new Promise((_resolve, reject) => {
|
|
429
|
+
const timer = setTimeout(() => reject(new Error(`detector observation timed out after ${this.deadlineMs}ms`)), this.deadlineMs);
|
|
430
|
+
// Never hold a 24/7 connector's event loop open for a lost race.
|
|
431
|
+
if (typeof timer.unref === 'function')
|
|
432
|
+
timer.unref();
|
|
433
|
+
}),
|
|
434
|
+
]);
|
|
435
|
+
}
|
|
436
|
+
openBackoff() {
|
|
437
|
+
this.backoffUntilMs = this.now() + this.backoffStepMs;
|
|
438
|
+
this.backoffStepMs = Math.min(this.backoffMaxMs, this.backoffStepMs * 2);
|
|
439
|
+
}
|
|
440
|
+
closeBackoff() {
|
|
441
|
+
this.backoffUntilMs = null;
|
|
442
|
+
this.backoffStepMs = this.backoffInitialMs;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
exports.DetectorShadowProbe = DetectorShadowProbe;
|
|
446
|
+
/**
|
|
447
|
+
* A short, stable reason string for the local health surface.
|
|
448
|
+
*
|
|
449
|
+
* Kept coarse on purpose. The reason never leaves the box, and a message
|
|
450
|
+
* carrying a URL or an OS error path would end up in a support bundle; the
|
|
451
|
+
* three buckets below are what an operator can act on.
|
|
452
|
+
*/
|
|
453
|
+
function classifyUnavailable(err) {
|
|
454
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
455
|
+
if (/timed out/i.test(message))
|
|
456
|
+
return 'timeout';
|
|
457
|
+
if (/HTTP \d{3}/.test(message))
|
|
458
|
+
return 'http_error';
|
|
459
|
+
if (/envelope|detections|label|confidence|box|not JSON/i.test(message))
|
|
460
|
+
return 'bad_envelope';
|
|
461
|
+
return 'transport_failed';
|
|
462
|
+
}
|
|
463
|
+
//# sourceMappingURL=DetectorShadowProbe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DetectorShadowProbe.js","sourceRoot":"","sources":["../src/DetectorShadowProbe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableVlmCandidateSpool.d.ts","sourceRoot":"","sources":["../src/DurableVlmCandidateSpool.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EAEvB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DurableVlmCandidateSpool.d.ts","sourceRoot":"","sources":["../src/DurableVlmCandidateSpool.ts"],"names":[],"mappings":"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"}
|
|
@@ -157,6 +157,7 @@ class DurableVlmCandidateSpool {
|
|
|
157
157
|
byteLength,
|
|
158
158
|
jpegSha256: crypto.createHash('sha256').update(candidate.jpeg).digest('hex'),
|
|
159
159
|
attempts: 0,
|
|
160
|
+
...(candidate.detectorShadow ? { detectorShadow: candidate.detectorShadow } : {}),
|
|
160
161
|
};
|
|
161
162
|
// Persist first. If the disk is unavailable, existing evidence remains
|
|
162
163
|
// untouched and the caller gets a counted rejection instead of a false
|
|
@@ -487,6 +488,7 @@ class DurableVlmCandidateSpool {
|
|
|
487
488
|
imageHeight: entry.imageHeight,
|
|
488
489
|
spoolId: entry.id,
|
|
489
490
|
jpegSha256: entry.jpegSha256,
|
|
491
|
+
...(entry.detectorShadow ? { detectorShadow: entry.detectorShadow } : {}),
|
|
490
492
|
};
|
|
491
493
|
}
|
|
492
494
|
feedQueue(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableVlmCandidateSpool.js","sourceRoot":"","sources":["../src/DurableVlmCandidateSpool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DurableVlmCandidateSpool.js","sourceRoot":"","sources":["../src/DurableVlmCandidateSpool.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.79';
|
|
48
48
|
class EdgeAgent extends events_1.EventEmitter {
|
|
49
49
|
constructor(config, deps) {
|
|
50
50
|
super();
|