@trillboards/edge-sdk 0.2.79 → 0.2.81
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 +31 -3
- package/deploy/detector/trillboards_detector/server.py +25 -2
- package/dist/DetectorShadowProbe.d.ts.map +1 -1
- package/dist/DetectorShadowProbe.js +22 -4
- package/dist/DetectorShadowProbe.js.map +1 -1
- package/dist/EdgeAgent.js +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.js +1 -1
- package/package.json +1 -1
|
@@ -317,12 +317,40 @@ class TestClassFilter(ServerCase):
|
|
|
317
317
|
self.assertEqual(status, 400)
|
|
318
318
|
self.assertIn("shoplifter", body["error"])
|
|
319
319
|
|
|
320
|
-
def
|
|
320
|
+
def test_a_partly_unknown_list_is_ALSO_a_loud_400(self):
|
|
321
|
+
"""The partial case is the dangerous one, and it used to return 200.
|
|
322
|
+
|
|
323
|
+
`["person", "shoplifter"]` proceeded on `person` and dropped
|
|
324
|
+
`shoplifter` silently, so a profile asking about shoplifting got person
|
|
325
|
+
counts and no signal that its actual question was discarded. That is the
|
|
326
|
+
same `yolov8_nano` shape the test above is written against — a capability
|
|
327
|
+
offered and not delivered — only wearing a 200 instead of a 0%.
|
|
328
|
+
|
|
329
|
+
It becomes the COMMON case once specialist models exist: a PPE profile
|
|
330
|
+
asks for `glove` and `hairnet` alongside `person`, and on a box holding
|
|
331
|
+
only the general detector two thirds of the question would vanish.
|
|
332
|
+
|
|
333
|
+
Refusing costs the `person` detections too. That is the right trade —
|
|
334
|
+
which models are resident is decided upstream by the profile push, so a
|
|
335
|
+
class the box cannot answer is a configuration error, and the client maps
|
|
336
|
+
400 to `DetectorUnavailableError`, which shadow mode records as
|
|
337
|
+
`unavailable`. Visible beats quieter.
|
|
338
|
+
"""
|
|
339
|
+
loader = FakeLoader()
|
|
340
|
+
url = self.serve(loader)
|
|
341
|
+
status, body = self.detect(url, classes=["person", "shoplifter"])
|
|
342
|
+
self.assertEqual(status, 400)
|
|
343
|
+
self.assertIn("shoplifter", body["error"])
|
|
344
|
+
# And the detector was never asked — we refuse before inferring.
|
|
345
|
+
self.assertEqual(loader.calls, [])
|
|
346
|
+
|
|
347
|
+
def test_a_fully_known_list_still_reaches_the_detector(self):
|
|
348
|
+
"""The refusal above must not have made every class request fail."""
|
|
321
349
|
loader = FakeLoader()
|
|
322
350
|
url = self.serve(loader)
|
|
323
|
-
status, _ = self.detect(url, classes=["person", "
|
|
351
|
+
status, _ = self.detect(url, classes=["person", "cell phone"])
|
|
324
352
|
self.assertEqual(status, 200)
|
|
325
|
-
self.assertEqual(loader.calls[0][2], {"person"})
|
|
353
|
+
self.assertEqual(loader.calls[0][2], {"person", "cell phone"})
|
|
326
354
|
|
|
327
355
|
|
|
328
356
|
class TestRequestRefusals(ServerCase):
|
|
@@ -115,12 +115,35 @@ def parse_detect_request(raw: bytes) -> tuple[bytes, float, "set[str] | None"]:
|
|
|
115
115
|
raise WireError(400, "`classes` was an empty array; omit the key to mean every class")
|
|
116
116
|
|
|
117
117
|
wanted, unknown = resolve_requested_classes(raw_classes)
|
|
118
|
-
|
|
118
|
+
# ANY unknown class is a 400, not just all of them.
|
|
119
|
+
#
|
|
120
|
+
# This used to reject only when `wanted` came back empty, so a request for
|
|
121
|
+
# ["person", "glove"] against a COCO-only model returned person detections
|
|
122
|
+
# and dropped `glove` on the floor. `resolve_requested_classes` keeps its own
|
|
123
|
+
# promise — it returns the unknowns rather than discarding them — and its
|
|
124
|
+
# docstring says exactly why: "a profile naming a class the model cannot emit
|
|
125
|
+
# is exactly the `yolov8_nano` shape". The caller then discarded them one
|
|
126
|
+
# level up, which is where the promise was actually broken.
|
|
127
|
+
#
|
|
128
|
+
# The partial case is the dangerous one and it becomes the COMMON one the
|
|
129
|
+
# moment specialist models exist: a PPE profile asks for `glove` and
|
|
130
|
+
# `hairnet` alongside `person`, and on a box holding only the general
|
|
131
|
+
# detector the operator would get person counts and silence about gloves.
|
|
132
|
+
#
|
|
133
|
+
# Refusing loses the person detections too, which is the cost. It is the
|
|
134
|
+
# right trade: which models are resident is decided upstream by the profile
|
|
135
|
+
# push, so a class the box cannot answer is a configuration error, and the
|
|
136
|
+
# client maps a 400 to `DetectorUnavailableError` -> shadow mode records
|
|
137
|
+
# `unavailable`. A wrong configuration becomes visible instead of becoming a
|
|
138
|
+
# quieter answer.
|
|
139
|
+
if unknown:
|
|
119
140
|
raise WireError(
|
|
120
141
|
400,
|
|
121
|
-
f"
|
|
142
|
+
f"requested classes not in this model's vocabulary: {unknown}. "
|
|
122
143
|
f"Known classes: {sorted(KNOWN_CLASS_NAMES)}",
|
|
123
144
|
)
|
|
145
|
+
if not wanted:
|
|
146
|
+
raise WireError(400, "`classes` resolved to nothing requestable")
|
|
124
147
|
return jpeg, min_confidence, wanted
|
|
125
148
|
|
|
126
149
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetectorShadowProbe.d.ts","sourceRoot":"","sources":["../src/DetectorShadowProbe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"DetectorShadowProbe.d.ts","sourceRoot":"","sources":["../src/DetectorShadowProbe.ts"],"names":[],"mappings":"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"}
|
|
@@ -451,13 +451,31 @@ exports.DetectorShadowProbe = DetectorShadowProbe;
|
|
|
451
451
|
* three buckets below are what an operator can act on.
|
|
452
452
|
*/
|
|
453
453
|
function classifyUnavailable(err) {
|
|
454
|
-
|
|
454
|
+
// A THROWN TYPE first, never prose. Anything that is not the client's own
|
|
455
|
+
// refusal came from somewhere we do not model — our own deadline race, a
|
|
456
|
+
// programmer error — and calling that a detector fault would misdirect the
|
|
457
|
+
// operator reading it.
|
|
458
|
+
if (!(err instanceof LocalDetectorClient_1.DetectorUnavailableError)) {
|
|
459
|
+
return /timed out/i.test(err instanceof Error ? err.message : String(err))
|
|
460
|
+
? 'timeout'
|
|
461
|
+
: 'unknown';
|
|
462
|
+
}
|
|
463
|
+
const message = err.message;
|
|
455
464
|
if (/timed out/i.test(message))
|
|
456
465
|
return 'timeout';
|
|
457
466
|
if (/HTTP \d{3}/.test(message))
|
|
458
467
|
return 'http_error';
|
|
459
|
-
if (/
|
|
460
|
-
return '
|
|
461
|
-
|
|
468
|
+
if (/transport failed/i.test(message))
|
|
469
|
+
return 'transport_failed';
|
|
470
|
+
// STRUCTURAL, not enumerated. `LocalDetectorClient` throws this error for
|
|
471
|
+
// exactly four reasons — transport, non-2xx, unparseable body, and a 2xx
|
|
472
|
+
// whose payload is not the contract — and the three above are already
|
|
473
|
+
// matched, so what is left IS the envelope class. The previous version
|
|
474
|
+
// listed six message substrings (`envelope|detections|label|confidence|box|
|
|
475
|
+
// not JSON`), which the enumerated-regex guard correctly rejected: a
|
|
476
|
+
// hand-listed alternation over another file's prose silently degrades to the
|
|
477
|
+
// fallback the moment that file rewords a message, and the fallback here was
|
|
478
|
+
// `transport_failed` — a wrong diagnosis, not a missing one.
|
|
479
|
+
return 'bad_envelope';
|
|
462
480
|
}
|
|
463
481
|
//# sourceMappingURL=DetectorShadowProbe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetectorShadowProbe.js","sourceRoot":"","sources":["../src/DetectorShadowProbe.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,+
|
|
1
|
+
{"version":3,"file":"DetectorShadowProbe.js","sourceRoot":"","sources":["../src/DetectorShadowProbe.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.81';
|
|
48
48
|
class EdgeAgent extends events_1.EventEmitter {
|
|
49
49
|
constructor(config, deps) {
|
|
50
50
|
super();
|
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.81";
|
|
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.81';
|
|
67
67
|
exports._SDK_VERSION = SDK_VERSION;
|
|
68
68
|
// ---------------------------------------------------------------------------
|
|
69
69
|
// ANSI helpers (no external deps)
|