@trillboards/edge-sdk 0.2.128 → 0.2.130

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/AudienceAnalyzeClient.d.ts +27 -3
  2. package/dist/AudienceAnalyzeClient.d.ts.map +1 -1
  3. package/dist/AudienceAnalyzeClient.js +60 -6
  4. package/dist/AudienceAnalyzeClient.js.map +1 -1
  5. package/dist/CloudSensingManager.d.ts +8 -0
  6. package/dist/CloudSensingManager.d.ts.map +1 -1
  7. package/dist/CloudSensingManager.js +59 -14
  8. package/dist/CloudSensingManager.js.map +1 -1
  9. package/dist/DetectorFieldProducer.d.ts +36 -0
  10. package/dist/DetectorFieldProducer.d.ts.map +1 -1
  11. package/dist/DetectorFieldProducer.js +67 -3
  12. package/dist/DetectorFieldProducer.js.map +1 -1
  13. package/dist/EdgeAgent.js +1 -1
  14. package/dist/SenseTelemetryReporter.d.ts +83 -0
  15. package/dist/SenseTelemetryReporter.d.ts.map +1 -0
  16. package/dist/SenseTelemetryReporter.js +454 -0
  17. package/dist/SenseTelemetryReporter.js.map +1 -0
  18. package/dist/diagnose.d.ts +1 -1
  19. package/dist/diagnose.js +1 -1
  20. package/dist/index.d.ts +4 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +6 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/jpegFrameSize.d.ts +30 -0
  25. package/dist/jpegFrameSize.d.ts.map +1 -0
  26. package/dist/jpegFrameSize.js +94 -0
  27. package/dist/jpegFrameSize.js.map +1 -0
  28. package/dist/sensingRunMode.d.ts +3 -0
  29. package/dist/sensingRunMode.d.ts.map +1 -1
  30. package/dist/sensingRunMode.js +49 -2
  31. package/dist/sensingRunMode.js.map +1 -1
  32. package/dist/zoneContainment.d.ts +62 -0
  33. package/dist/zoneContainment.d.ts.map +1 -1
  34. package/dist/zoneContainment.js +108 -0
  35. package/dist/zoneContainment.js.map +1 -1
  36. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -17,8 +17,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.attachAudioOnset = exports.SILENCE_DBFS = exports.rmsDbfs = exports.AudioOnsetDetector = exports.motionSignature = exports.downscaleRgbaToGrey = exports.decodeGreyFrame = exports.isChangeCandidate = exports.SceneChangeDetector = exports.MotionGate = exports.DurableVlmCandidateSpool = exports.DEFAULT_CANDIDATE_TTL_MS = exports.VlmCandidateBuffer = exports.VlmAdmissionGate = exports.shouldAttemptRecorderAddressRecovery = exports.rewriteStreamHost = exports.normalizeMacAddress = exports.lookupMacAddress = exports.RecorderAddressRecovery = exports.resolveFeeds = exports.classifyRtspFailureClass = exports.buildTiledCameras = exports.buildSensingLoops = exports.CloudSensingManager = exports.defaultHttpPoster = exports.AudienceAnalyzeClient = exports.LOCAL_NETWORK_DENIED_SUMMARY = exports.LOCAL_NETWORK_DENIED_SUGGESTION = exports.decideLocalNetworkVerdict = exports.probeLocalNetworkAccess = exports.describeProxy = exports.resolveProxyForUrl = exports.describeTrustAnchors = exports.resolveTrustAnchors = exports.isTrustFailure = exports.formatTransportFailure = exports.classifyTransportError = exports.TransportFailure = exports.EnterpriseHttpsAgent = exports.resetEnterpriseNetworkCaches = exports.diagnoseTransportError = exports.getEnterpriseAgent = exports.describeNetworkPosture = exports.installEnterpriseNetworking = exports.runDiagnose = exports.runInit = exports.CommandRouter = exports.resolveConfig = exports.loadConfig = exports.EdgeAgent = void 0;
21
- exports.DEFAULT_ZONE_PREDICATE = exports.assertNormalizedRect = exports.normalizeBox = exports.countInZone = exports.evaluateZone = exports.DEFAULT_PRODUCE_DEADLINE_MS = exports.DEFAULT_PRODUCER_TIMEOUT_MS = exports.DEFAULT_PRODUCER_MIN_CONFIDENCE = exports.PRODUCER_WITHHOLD_REASONS = exports.DETECTOR_MODEL_JOIN = exports.CONCEPT_KEY_RE = exports.toFieldValues = exports.toDetectorClassName = exports.countsForClasses = exports.classifyProducerField = exports.DetectorFieldProducer = 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 = exports.DetectorShadowProbe = exports.DEFAULT_DETECTOR_PORT = exports.defaultDetectorPoster = exports.DetectorUnavailableError = exports.LocalDetectorClient = exports.CropViewProvider = exports.SharedFrameSource = exports.GEMMA_AUDIO_MAX_SECONDS = exports.GEMMA_AUDIO_SAMPLE_RATE = exports.takeMostRecentSeconds = exports.encodeWav16 = void 0;
20
+ exports.AudioOnsetDetector = exports.motionSignature = exports.downscaleRgbaToGrey = exports.decodeGreyFrame = exports.isChangeCandidate = exports.SceneChangeDetector = exports.MotionGate = exports.DurableVlmCandidateSpool = exports.DEFAULT_CANDIDATE_TTL_MS = exports.VlmCandidateBuffer = exports.VlmAdmissionGate = exports.shouldAttemptRecorderAddressRecovery = exports.rewriteStreamHost = exports.normalizeMacAddress = exports.lookupMacAddress = exports.RecorderAddressRecovery = exports.resolveFeeds = exports.classifyRtspFailureClass = exports.buildTiledCameras = exports.buildSensingLoops = exports.CloudSensingManager = exports.redactTelemetryText = exports.SenseTelemetryReporter = exports.SENSE_TELEMETRY_BATCH_MAX_BYTES = exports.defaultHttpPoster = exports.AudienceAnalyzeClient = exports.LOCAL_NETWORK_DENIED_SUMMARY = exports.LOCAL_NETWORK_DENIED_SUGGESTION = exports.decideLocalNetworkVerdict = exports.probeLocalNetworkAccess = exports.describeProxy = exports.resolveProxyForUrl = exports.describeTrustAnchors = exports.resolveTrustAnchors = exports.isTrustFailure = exports.formatTransportFailure = exports.classifyTransportError = exports.TransportFailure = exports.EnterpriseHttpsAgent = exports.resetEnterpriseNetworkCaches = exports.diagnoseTransportError = exports.getEnterpriseAgent = exports.describeNetworkPosture = exports.installEnterpriseNetworking = exports.runDiagnose = exports.runInit = exports.CommandRouter = exports.resolveConfig = exports.loadConfig = exports.EdgeAgent = void 0;
21
+ exports.DEFAULT_ZONE_PREDICATE = exports.assertNormalizedRect = exports.normalizeBox = exports.countInZone = exports.evaluateZone = exports.DEFAULT_PRODUCE_DEADLINE_MS = exports.DEFAULT_PRODUCER_TIMEOUT_MS = exports.DEFAULT_PRODUCER_MIN_CONFIDENCE = exports.PRODUCER_WITHHOLD_REASONS = exports.DETECTOR_MODEL_JOIN = exports.CONCEPT_KEY_RE = exports.toFieldValues = exports.toDetectorClassName = exports.countsForClasses = exports.classifyProducerField = exports.DetectorFieldProducer = 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 = exports.DetectorShadowProbe = exports.DEFAULT_DETECTOR_PORT = exports.defaultDetectorPoster = exports.DetectorUnavailableError = exports.LocalDetectorClient = exports.CropViewProvider = exports.SharedFrameSource = exports.GEMMA_AUDIO_MAX_SECONDS = exports.GEMMA_AUDIO_SAMPLE_RATE = exports.takeMostRecentSeconds = exports.encodeWav16 = exports.attachAudioOnset = exports.SILENCE_DBFS = exports.rmsDbfs = void 0;
22
22
  var EdgeAgent_1 = require("./EdgeAgent");
23
23
  Object.defineProperty(exports, "EdgeAgent", { enumerable: true, get: function () { return EdgeAgent_1.EdgeAgent; } });
24
24
  var config_1 = require("./config");
@@ -62,6 +62,10 @@ Object.defineProperty(exports, "LOCAL_NETWORK_DENIED_SUMMARY", { enumerable: tru
62
62
  var AudienceAnalyzeClient_1 = require("./AudienceAnalyzeClient");
63
63
  Object.defineProperty(exports, "AudienceAnalyzeClient", { enumerable: true, get: function () { return AudienceAnalyzeClient_1.AudienceAnalyzeClient; } });
64
64
  Object.defineProperty(exports, "defaultHttpPoster", { enumerable: true, get: function () { return AudienceAnalyzeClient_1.defaultHttpPoster; } });
65
+ Object.defineProperty(exports, "SENSE_TELEMETRY_BATCH_MAX_BYTES", { enumerable: true, get: function () { return AudienceAnalyzeClient_1.SENSE_TELEMETRY_BATCH_MAX_BYTES; } });
66
+ var SenseTelemetryReporter_1 = require("./SenseTelemetryReporter");
67
+ Object.defineProperty(exports, "SenseTelemetryReporter", { enumerable: true, get: function () { return SenseTelemetryReporter_1.SenseTelemetryReporter; } });
68
+ Object.defineProperty(exports, "redactTelemetryText", { enumerable: true, get: function () { return SenseTelemetryReporter_1.redactTelemetryText; } });
65
69
  var CloudSensingManager_1 = require("./CloudSensingManager");
66
70
  Object.defineProperty(exports, "CloudSensingManager", { enumerable: true, get: function () { return CloudSensingManager_1.CloudSensingManager; } });
67
71
  Object.defineProperty(exports, "buildSensingLoops", { enumerable: true, get: function () { return CloudSensingManager_1.buildSensingLoops; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The pixel dimensions of a JPEG, read from its own header.
3
+ *
4
+ * WHY THIS EXISTS AT ALL. A detector box arrives in PIXELS and an operator's
5
+ * region is NORMALIZED, so one of them has to be converted and neither the
6
+ * detector wire nor `DetectResult` carries a frame size. Asking the service for
7
+ * one would change a FROZEN contract (`cctv-detector-tier.md`: it carries
8
+ * `classes` and nothing else) to obtain a number already present in the bytes we
9
+ * just sent it.
10
+ *
11
+ * WHY NOT A DECODE. `sharp` is not a connector dependency and a full decode of
12
+ * every frame to learn two integers is a per-frame cost on the hot path. The SOF
13
+ * marker is 9 bytes into a segment that appears once, near the front.
14
+ *
15
+ * IT RETURNS NULL RATHER THAN GUESSING. A truncated or non-JPEG buffer has no
16
+ * dimensions, and inventing 1920x1080 would silently rescale every region — a
17
+ * doorway at x=0.4 lands somewhere else and the alert quietly watches the wrong
18
+ * part of the room. The caller must treat null as "no region can be applied",
19
+ * which degrades to the unfocused count rather than to zero.
20
+ */
21
+ export interface JpegFrameSize {
22
+ width: number;
23
+ height: number;
24
+ }
25
+ /**
26
+ * @param jpeg the raw bytes, exactly as posted to the detector
27
+ * @returns the frame size, or null when the buffer is not a readable JPEG
28
+ */
29
+ export declare function readJpegFrameSize(jpeg: Uint8Array | null | undefined): JpegFrameSize | null;
30
+ //# sourceMappingURL=jpegFrameSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpegFrameSize.d.ts","sourceRoot":"","sources":["../src/jpegFrameSize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAiBH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAyC3F"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * The pixel dimensions of a JPEG, read from its own header.
4
+ *
5
+ * WHY THIS EXISTS AT ALL. A detector box arrives in PIXELS and an operator's
6
+ * region is NORMALIZED, so one of them has to be converted and neither the
7
+ * detector wire nor `DetectResult` carries a frame size. Asking the service for
8
+ * one would change a FROZEN contract (`cctv-detector-tier.md`: it carries
9
+ * `classes` and nothing else) to obtain a number already present in the bytes we
10
+ * just sent it.
11
+ *
12
+ * WHY NOT A DECODE. `sharp` is not a connector dependency and a full decode of
13
+ * every frame to learn two integers is a per-frame cost on the hot path. The SOF
14
+ * marker is 9 bytes into a segment that appears once, near the front.
15
+ *
16
+ * IT RETURNS NULL RATHER THAN GUESSING. A truncated or non-JPEG buffer has no
17
+ * dimensions, and inventing 1920x1080 would silently rescale every region — a
18
+ * doorway at x=0.4 lands somewhere else and the alert quietly watches the wrong
19
+ * part of the room. The caller must treat null as "no region can be applied",
20
+ * which degrades to the unfocused count rather than to zero.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.readJpegFrameSize = readJpegFrameSize;
24
+ /**
25
+ * Every Start-Of-Frame marker. SOF0/1/2 are the common ones; the rest are
26
+ * arithmetic/progressive/lossless variants that carry the SAME 5-byte header.
27
+ *
28
+ * NOT in this set on purpose: 0xC4 (DHT), 0xC8 (JPG, reserved) and 0xCC (DAC)
29
+ * share the 0xC0-0xCF range and are NOT frame headers. Reading dimensions out of
30
+ * a Huffman table is how a frame ends up 1x1 with no error anywhere.
31
+ */
32
+ const SOF_MARKERS = new Set([
33
+ 0xc0, 0xc1, 0xc2, 0xc3,
34
+ 0xc5, 0xc6, 0xc7,
35
+ 0xc9, 0xca, 0xcb,
36
+ 0xcd, 0xce, 0xcf,
37
+ ]);
38
+ /**
39
+ * @param jpeg the raw bytes, exactly as posted to the detector
40
+ * @returns the frame size, or null when the buffer is not a readable JPEG
41
+ */
42
+ function readJpegFrameSize(jpeg) {
43
+ if (!jpeg || jpeg.length < 4)
44
+ return null;
45
+ // SOI. A buffer that does not start with it is not a JPEG, and scanning on
46
+ // would find a "marker" in arbitrary payload bytes.
47
+ if (jpeg[0] !== 0xff || jpeg[1] !== 0xd8)
48
+ return null;
49
+ let i = 2;
50
+ while (i + 3 < jpeg.length) {
51
+ if (jpeg[i] !== 0xff) {
52
+ // Not at a marker. Resynchronising by scanning would read entropy-coded
53
+ // data as structure, so this refuses instead.
54
+ return null;
55
+ }
56
+ let marker = jpeg[i + 1];
57
+ // 0xFF fill bytes are legal padding before a marker.
58
+ let j = i + 1;
59
+ while (marker === 0xff && j + 1 < jpeg.length) {
60
+ j += 1;
61
+ marker = jpeg[j];
62
+ }
63
+ if (marker === 0xd8 || (marker >= 0xd0 && marker <= 0xd9)) {
64
+ i = j + 1;
65
+ continue;
66
+ }
67
+ // SOS: entropy-coded data begins and no SOF can follow. A JPEG that reaches
68
+ // here without one has no dimensions we can read.
69
+ if (marker === 0xda)
70
+ return null;
71
+ const lenAt = j + 1;
72
+ if (lenAt + 1 >= jpeg.length)
73
+ return null;
74
+ const segLen = (jpeg[lenAt] << 8) | jpeg[lenAt + 1];
75
+ if (segLen < 2)
76
+ return null;
77
+ if (SOF_MARKERS.has(marker)) {
78
+ // length(2) precision(1) height(2) width(2)
79
+ const h = lenAt + 3;
80
+ if (h + 3 >= jpeg.length)
81
+ return null;
82
+ const height = (jpeg[h] << 8) | jpeg[h + 1];
83
+ const width = (jpeg[h + 2] << 8) | jpeg[h + 3];
84
+ // A zero dimension is a malformed header, not a frame. Returning it would
85
+ // divide by zero downstream, or worse, be clamped to something plausible.
86
+ if (width <= 0 || height <= 0)
87
+ return null;
88
+ return { width, height };
89
+ }
90
+ i = lenAt + segLen;
91
+ }
92
+ return null;
93
+ }
94
+ //# sourceMappingURL=jpegFrameSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpegFrameSize.js","sourceRoot":"","sources":["../src/jpegFrameSize.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { CloudSensingManager, type ResolvedFeed } from './CloudSensingManager';
2
2
  import type { SharedFrameSource } from './MosaicSource';
3
+ import { SenseTelemetryReporter } from './SenseTelemetryReporter';
3
4
  import type { EdgeAgentConfig } from './config';
4
5
  import { SensingProfileClient } from './SensingProfileClient';
5
6
  /**
@@ -13,6 +14,8 @@ export interface SensingManagerOpts {
13
14
  configPath?: string;
14
15
  /** Reuse a caller-owned recovery coordinator across shared sensing rails. */
15
16
  streamUrlResolver?: (feed: ResolvedFeed, currentUrl: string, error: Error) => Promise<string | null>;
17
+ /** Test/embedding injection. `null` explicitly disables telemetry. */
18
+ telemetryReporter?: Pick<SenseTelemetryReporter, 'capture'> | null;
16
19
  }
17
20
  /**
18
21
  * One `SensingProfileClient` per feed that carries a device token, PAIRED WITH
@@ -1 +1 @@
1
- {"version":3,"file":"sensingRunMode.d.ts","sourceRoot":"","sources":["../src/sensingRunMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sensingRunMode.d.ts","sourceRoot":"","sources":["../src/sensingRunMode.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,8 @@ const path = __importStar(require("path"));
43
43
  const CloudSensingManager_1 = require("./CloudSensingManager");
44
44
  const localSensing_1 = require("./localSensing");
45
45
  const dataDir_1 = require("./dataDir");
46
+ const AudienceAnalyzeClient_1 = require("./AudienceAnalyzeClient");
47
+ const SenseTelemetryReporter_1 = require("./SenseTelemetryReporter");
46
48
  const SensingProfileClient_1 = require("./SensingProfileClient");
47
49
  const deployedCadenceSource_1 = require("./deployedCadenceSource");
48
50
  const RecorderAddressRecovery_1 = require("./RecorderAddressRecovery");
@@ -615,7 +617,7 @@ function createTransportFailureReporter(io, now = Date.now) {
615
617
  },
616
618
  };
617
619
  }
618
- function wireSensingLogs(manager, io, analyzedLine) {
620
+ function wireSensingLogs(manager, io, analyzedLine, telemetryReporter) {
619
621
  manager.on('analyzed', ({ name, response }) => {
620
622
  io.log(analyzedLine(name, response));
621
623
  });
@@ -640,6 +642,36 @@ function wireSensingLogs(manager, io, analyzedLine) {
640
642
  io.warn(`[${name}] upload REJECTED by the server (HTTP ${statusCode ?? '?'}) — ` +
641
643
  'this frame was not stored' +
642
644
  (detail ? `: ${detail}` : ''));
645
+ telemetryReporter?.capture({
646
+ type: 'inference_rejected',
647
+ feedName: name,
648
+ errorClass: 'ServerRejectedInference',
649
+ message: `Sense Anything inference upload rejected with HTTP ${statusCode ?? 'unknown'}`,
650
+ severity: statusCode && statusCode >= 500 ? 'error' : 'warning',
651
+ metadata: {
652
+ status_code: statusCode ?? null,
653
+ detail: detail || null,
654
+ },
655
+ });
656
+ });
657
+ manager.on('cameraFailure', ({ name, error, failureClass, retryCount, }) => {
658
+ telemetryReporter?.capture({
659
+ type: 'camera_failure',
660
+ feedName: name,
661
+ error,
662
+ errorClass: `camera.${failureClass}`,
663
+ metadata: { failure_class: failureClass, retry_count: retryCount },
664
+ });
665
+ });
666
+ manager.on('inferenceError', ({ name, error, path: inferencePath }) => {
667
+ const transportClass = error.failureClass;
668
+ telemetryReporter?.capture({
669
+ type: 'inference_error',
670
+ feedName: name,
671
+ error,
672
+ errorClass: `inference.${transportClass || error.name || 'Error'}`,
673
+ metadata: { path: inferencePath, transport_class: transportClass || null },
674
+ });
643
675
  });
644
676
  manager.on('reconnecting', ({ name, delayMs }) => {
645
677
  io.warn(`[${name}] RTSP down — re-opening (next retry in ${delayMs}ms)…`);
@@ -782,6 +814,21 @@ function buildLocalSensingManager(config, io = exports.consoleIo, opts) {
782
814
  // other durable thing (signal buffer, OTA manifests, model artifacts) is
783
815
  // already under it.
784
816
  const stateDirectory = (0, dataDir_1.resolveDataDir)(config.dataDir);
817
+ const telemetryReporter = opts?.telemetryReporter !== undefined
818
+ ? opts.telemetryReporter
819
+ : process.env.NODE_ENV === 'test'
820
+ ? null
821
+ : new SenseTelemetryReporter_1.SenseTelemetryReporter({
822
+ targets: feeds.map((feed) => ({
823
+ feedName: feed.name,
824
+ client: new AudienceAnalyzeClient_1.AudienceAnalyzeClient({
825
+ apiBaseUrl: config.apiBaseUrl,
826
+ deviceToken: feed.deviceToken,
827
+ screenId: feed.screenId,
828
+ }),
829
+ })),
830
+ spoolDirectory: path.join(stateDirectory, 'telemetry'),
831
+ });
785
832
  // Late-bound on purpose: the cadence source is constructed INSIDE the
786
833
  // manager's own options object, so it cannot close over `manager` directly.
787
834
  // The sink is only ever invoked from an async poll that starts after
@@ -897,7 +944,7 @@ function buildLocalSensingManager(config, io = exports.consoleIo, opts) {
897
944
  if (typeof feedName === 'string' && feedName)
898
945
  manager.setCascadeArmed(feedName, true);
899
946
  }
900
- wireSensingLogs(manager, io, (name, response) => `[${name}] local→preAnalyzed → HTTP ${response.statusCode}${response.ok ? '' : ' (NOT OK)'}`);
947
+ wireSensingLogs(manager, io, (name, response) => `[${name}] local→preAnalyzed → HTTP ${response.statusCode}${response.ok ? '' : ' (NOT OK)'}`, telemetryReporter);
901
948
  return manager;
902
949
  }
903
950
  //# sourceMappingURL=sensingRunMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sensingRunMode.js","sourceRoot":"","sources":["../src/sensingRunMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sensingRunMode.js","sourceRoot":"","sources":["../src/sensingRunMode.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,24 @@
62
62
  * in a different package. Its clamping is the reason `assertNormalizedRect`
63
63
  * can be strict — the rect always arrives already inside [0,1].
64
64
  */
65
+ /**
66
+ * The operator's region as a POLYGON, whichever shape it was saved as.
67
+ *
68
+ * A lasso is already a polygon; a rect is the four-corner polygon of itself.
69
+ * Collapsing them means containment has ONE branch instead of two — and the
70
+ * RECTANGLE form predates the lasso and leaks just as badly, so a fix that only
71
+ * handled polygons would leave the older shape exactly as broken.
72
+ *
73
+ * Mirrors `trillboard-api/services/fein/regionContainment.js`, which the
74
+ * region-obedience harness scores. `regionContainmentParity.test.ts` asserts the
75
+ * two agree on a shared fixture table, because two implementations of one
76
+ * predicate that nothing compares is how a focused alert means different things
77
+ * on the server and on the box.
78
+ */
79
+ export interface NormalizedPoint {
80
+ x: number;
81
+ y: number;
82
+ }
65
83
  /** A rectangle in normalized [0,1] frame coordinates, as the operator drew it. */
66
84
  export interface NormalizedRect {
67
85
  x: number;
@@ -144,5 +162,49 @@ export declare function evaluateZone(box: PixelBox, frame: FrameSize, rect: Norm
144
162
  * existing behaviour rather than to zero. A zone that silently counts nothing is
145
163
  * indistinguishable from a quiet venue, and that is the whole failure mode here.
146
164
  */
165
+ /**
166
+ * The four corners of a rect, in the order an operator's lasso would trace.
167
+ */
168
+ export declare function rectAsPolygon(rect: NormalizedRect): NormalizedPoint[];
169
+ /**
170
+ * A polygon VERTEX in [0,1], refused loudly outside it.
171
+ *
172
+ * Separate from `assertNormalizedRect` because that one also requires a positive
173
+ * extent, which no vertex has. The failure it guards against is the same and is
174
+ * the reason both exist: pixels are numerically valid here, so a rect at x=640
175
+ * would clamp to the frame edge and every person would read as outside it, with
176
+ * no symptom but an alert that never fires.
177
+ */
178
+ export declare function assertNormalizedPoint(p: NormalizedPoint): void;
179
+ /**
180
+ * Ray casting, with the boundary counted as INSIDE.
181
+ *
182
+ * Boundary-inclusive because an operator drawing a doorway draws it AROUND the
183
+ * doorway, and a foot on the line is in the doorway. The alternative loses
184
+ * exactly the cases the region was drawn for.
185
+ */
186
+ export declare function pointInPolygon(px: number, py: number, poly: NormalizedPoint[]): boolean;
187
+ /**
188
+ * Ground contact of a pixel box against a normalized POLYGON.
189
+ *
190
+ * Same predicate as `evaluateZone`'s default and for the same physical reason: a
191
+ * person is in the doorway if their FEET are.
192
+ */
193
+ export declare function boxInPolygon(box: PixelBox, frame: FrameSize, poly: NormalizedPoint[]): {
194
+ inside: boolean;
195
+ groundContact: NormalizedPoint;
196
+ };
197
+ /**
198
+ * How many detections fall inside the operator's region.
199
+ *
200
+ * A NULL region means none was drawn, and then the count is EVERY detection —
201
+ * what the unfocused field already means. Absence degrades to the existing
202
+ * behaviour and never to zero: a region that silently counts nothing is
203
+ * indistinguishable from a quiet venue, which is the failure this whole area
204
+ * keeps producing.
205
+ */
206
+ export declare function countInRegion(boxes: PixelBox[], frame: FrameSize, region: {
207
+ points?: NormalizedPoint[];
208
+ } & Partial<NormalizedRect> | null | undefined): number;
147
209
  export declare function countInZone(boxes: PixelBox[], frame: FrameSize, rect: NormalizedRect | null | undefined, predicate?: ZonePredicate): number;
148
210
  //# sourceMappingURL=zoneContainment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zoneContainment.d.ts","sourceRoot":"","sources":["../src/zoneContainment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,eAAO,MAAM,sBAAsB,EAAE,aAAyC,CAAC;AAE/E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAQD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAgB/D;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,CAgB5E;AAiBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,EACpB,SAAS,GAAE,aAAsC,GAChD,WAAW,CAmBb;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACvC,SAAS,GAAE,aAAsC,GAChD,MAAM,CAGR"}
1
+ {"version":3,"file":"zoneContainment.d.ts","sourceRoot":"","sources":["../src/zoneContainment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,eAAO,MAAM,sBAAsB,EAAE,aAAyC,CAAC;AAE/E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAQD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAgB/D;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,CAgB5E;AAiBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,EACpB,SAAS,GAAE,aAAsC,GAChD,WAAW,CAmBb;AAED;;;;;;;;GAQG;AACH;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,CAQrE;AAID;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAY9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAmBvF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,eAAe,EAAE,GACtB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,eAAe,CAAA;CAAE,CAOrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,GAClF,MAAM,CAeR;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACvC,SAAS,GAAE,aAAsC,GAChD,MAAM,CAGR"}
@@ -68,6 +68,11 @@ exports.DEFAULT_ZONE_PREDICATE = void 0;
68
68
  exports.assertNormalizedRect = assertNormalizedRect;
69
69
  exports.normalizeBox = normalizeBox;
70
70
  exports.evaluateZone = evaluateZone;
71
+ exports.rectAsPolygon = rectAsPolygon;
72
+ exports.assertNormalizedPoint = assertNormalizedPoint;
73
+ exports.pointInPolygon = pointInPolygon;
74
+ exports.boxInPolygon = boxInPolygon;
75
+ exports.countInRegion = countInRegion;
71
76
  exports.countInZone = countInZone;
72
77
  exports.DEFAULT_ZONE_PREDICATE = { kind: 'groundContact' };
73
78
  function assertFinite(n, name) {
@@ -164,6 +169,109 @@ function evaluateZone(box, frame, rect, predicate = exports.DEFAULT_ZONE_PREDICA
164
169
  * existing behaviour rather than to zero. A zone that silently counts nothing is
165
170
  * indistinguishable from a quiet venue, and that is the whole failure mode here.
166
171
  */
172
+ /**
173
+ * The four corners of a rect, in the order an operator's lasso would trace.
174
+ */
175
+ function rectAsPolygon(rect) {
176
+ assertNormalizedRect(rect);
177
+ return [
178
+ { x: rect.x, y: rect.y },
179
+ { x: rect.x + rect.width, y: rect.y },
180
+ { x: rect.x + rect.width, y: rect.y + rect.height },
181
+ { x: rect.x, y: rect.y + rect.height },
182
+ ];
183
+ }
184
+ const POLY_EPS = 1e-6;
185
+ /**
186
+ * A polygon VERTEX in [0,1], refused loudly outside it.
187
+ *
188
+ * Separate from `assertNormalizedRect` because that one also requires a positive
189
+ * extent, which no vertex has. The failure it guards against is the same and is
190
+ * the reason both exist: pixels are numerically valid here, so a rect at x=640
191
+ * would clamp to the frame edge and every person would read as outside it, with
192
+ * no symptom but an alert that never fires.
193
+ */
194
+ function assertNormalizedPoint(p) {
195
+ for (const [name, v] of [['x', p?.x], ['y', p?.y]]) {
196
+ if (typeof v !== 'number' || !Number.isFinite(v)) {
197
+ throw new TypeError(`polygon vertex ${name} must be a finite number, got ${JSON.stringify(v)}`);
198
+ }
199
+ if (v < -POLY_EPS || v > 1 + POLY_EPS) {
200
+ throw new RangeError(`polygon vertex ${name} must be normalized to [0,1], got ${v}. `
201
+ + 'Pixels are numerically valid here and would be silently wrong forever.');
202
+ }
203
+ }
204
+ }
205
+ /**
206
+ * Ray casting, with the boundary counted as INSIDE.
207
+ *
208
+ * Boundary-inclusive because an operator drawing a doorway draws it AROUND the
209
+ * doorway, and a foot on the line is in the doorway. The alternative loses
210
+ * exactly the cases the region was drawn for.
211
+ */
212
+ function pointInPolygon(px, py, poly) {
213
+ let inside = false;
214
+ for (let i = 0, j = poly.length - 1; i < poly.length; j = i, i += 1) {
215
+ const { x: xi, y: yi } = poly[i];
216
+ const { x: xj, y: yj } = poly[j];
217
+ // On an edge -> inside, checked BEFORE the crossing test: a point exactly on
218
+ // a vertex flips the parity an unpredictable number of times.
219
+ const cross = (xj - xi) * (py - yi) - (yj - yi) * (px - xi);
220
+ if (Math.abs(cross) <= POLY_EPS
221
+ && px >= Math.min(xi, xj) - POLY_EPS && px <= Math.max(xi, xj) + POLY_EPS
222
+ && py >= Math.min(yi, yj) - POLY_EPS && py <= Math.max(yi, yj) + POLY_EPS) {
223
+ return true;
224
+ }
225
+ if ((yi > py) !== (yj > py)) {
226
+ const xAt = xi + ((py - yi) / (yj - yi)) * (xj - xi);
227
+ if (px < xAt)
228
+ inside = !inside;
229
+ }
230
+ }
231
+ return inside;
232
+ }
233
+ /**
234
+ * Ground contact of a pixel box against a normalized POLYGON.
235
+ *
236
+ * Same predicate as `evaluateZone`'s default and for the same physical reason: a
237
+ * person is in the doorway if their FEET are.
238
+ */
239
+ function boxInPolygon(box, frame, poly) {
240
+ if (!(frame.width > 0) || !(frame.height > 0)) {
241
+ throw new RangeError(`frame must be positive, got ${frame.width}x${frame.height}`);
242
+ }
243
+ const gx = (box.x + box.width / 2) / frame.width;
244
+ const gy = (box.y + box.height) / frame.height;
245
+ return { inside: pointInPolygon(gx, gy, poly), groundContact: { x: gx, y: gy } };
246
+ }
247
+ /**
248
+ * How many detections fall inside the operator's region.
249
+ *
250
+ * A NULL region means none was drawn, and then the count is EVERY detection —
251
+ * what the unfocused field already means. Absence degrades to the existing
252
+ * behaviour and never to zero: a region that silently counts nothing is
253
+ * indistinguishable from a quiet venue, which is the failure this whole area
254
+ * keeps producing.
255
+ */
256
+ function countInRegion(boxes, frame, region) {
257
+ if (!region)
258
+ return boxes.length;
259
+ const pts = Array.isArray(region.points) && region.points.length >= 3
260
+ ? region.points
261
+ : (typeof region.x === 'number' && typeof region.y === 'number'
262
+ && typeof region.width === 'number' && typeof region.height === 'number'
263
+ ? rectAsPolygon(region)
264
+ : null);
265
+ if (!pts)
266
+ return boxes.length;
267
+ // A point is not a rect, so it gets its own assertion: `assertNormalizedRect`
268
+ // refuses a zero extent, which every vertex has. Same REASON though — pixels
269
+ // where normalized values belong are numerically valid and would be silently
270
+ // wrong forever.
271
+ for (const p of pts)
272
+ assertNormalizedPoint(p);
273
+ return boxes.reduce((n, b) => (boxInPolygon(b, frame, pts).inside ? n + 1 : n), 0);
274
+ }
167
275
  function countInZone(boxes, frame, rect, predicate = exports.DEFAULT_ZONE_PREDICATE) {
168
276
  if (!rect)
169
277
  return boxes.length;