@trillboards/edge-sdk 0.2.129 → 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.
@@ -0,0 +1,454 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SenseTelemetryReporter = void 0;
37
+ exports.redactTelemetryText = redactTelemetryText;
38
+ const fs = __importStar(require("fs"));
39
+ const os = __importStar(require("os"));
40
+ const path = __importStar(require("path"));
41
+ const crypto_1 = require("crypto");
42
+ const AudienceAnalyzeClient_1 = require("./AudienceAnalyzeClient");
43
+ const DEFAULT_FLUSH_INTERVAL_MS = 10000;
44
+ const DEFAULT_BATCH_SIZE = 25;
45
+ const DEFAULT_QUEUE_SIZE = 500;
46
+ const DEFAULT_CRASH_FILES = 100;
47
+ const RUN_MARKER_FILE = 'connector-running.json';
48
+ function connectorVersion() {
49
+ try {
50
+ // dist/SenseTelemetryReporter.js sits beside dist/cli.js, so this is the
51
+ // same package.json source used by the CLI and auto-sense.
52
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
53
+ return String(require('../package.json').version || 'unknown');
54
+ }
55
+ catch {
56
+ return 'unknown';
57
+ }
58
+ }
59
+ function redactTelemetryText(value, maxLength = 4000) {
60
+ return String(value == null ? '' : value)
61
+ .replace(/\brtsp:\/\/[^\s"'<>]+/gi, 'rtsp://[REDACTED]')
62
+ .replace(/\b(https?:\/\/)([^\s/@:]+):([^\s/@]+)@/gi, '$1[REDACTED]@')
63
+ .replace(/([?&](?:token|device_token|password|passwd|secret|api[_-]?key)=)[^&#\s]+/gi, '$1[REDACTED]')
64
+ .replace(/\bauthorization\s*[:=][^\r\n]*/gi, 'Authorization=[REDACTED]')
65
+ .replace(/\b(x-device-token|x-trillboard-device-token)\s*[:=]\s*[^\s,;]+/gi, '$1=[REDACTED]')
66
+ .replace(/\btrb_device_[A-Za-z0-9._~-]+/g, 'trb_device_[REDACTED]')
67
+ .slice(0, maxLength);
68
+ }
69
+ function sanitizeMetadata(value, depth = 0) {
70
+ if (value == null || typeof value === 'boolean')
71
+ return value;
72
+ if (typeof value === 'number')
73
+ return Number.isFinite(value) ? value : null;
74
+ if (typeof value === 'string')
75
+ return redactTelemetryText(value, 500);
76
+ if (depth >= 2)
77
+ return '[truncated]';
78
+ if (Array.isArray(value)) {
79
+ return value.slice(0, 20).map((entry) => sanitizeMetadata(entry, depth + 1));
80
+ }
81
+ if (typeof value === 'object') {
82
+ const out = {};
83
+ for (const [key, entry] of Object.entries(value).slice(0, 32)) {
84
+ out[redactTelemetryText(key, 64)] = sanitizeMetadata(entry, depth + 1);
85
+ }
86
+ return out;
87
+ }
88
+ return redactTelemetryText(String(value), 500);
89
+ }
90
+ function errorFrom(value) {
91
+ return value instanceof Error ? value : new Error(String(value == null ? 'Unknown error' : value));
92
+ }
93
+ function normalizedQueueMessage(message) {
94
+ return message
95
+ .replace(/[0-9a-f]{24}/gi, '<id>')
96
+ .replace(/\d{4}-\d{2}-\d{2}T[\d:.]+Z?/g, '<ts>')
97
+ .replace(/\d+/g, '<n>')
98
+ .slice(0, 200);
99
+ }
100
+ /**
101
+ * Bounded, retrying error transport for the Sense Anything connector.
102
+ *
103
+ * Ordinary camera/inference telemetry is coalesced in memory. Process crashes
104
+ * are also written synchronously to a small disk spool so the next launch can
105
+ * report them even when the current process cannot make another network call.
106
+ */
107
+ class SenseTelemetryReporter {
108
+ constructor(options) {
109
+ this.queue = new Map();
110
+ this.timer = null;
111
+ this.flushing = false;
112
+ this.fatalSeen = false;
113
+ this.droppedEvents = 0;
114
+ this.started = false;
115
+ if (!Array.isArray(options.targets) || options.targets.length === 0) {
116
+ throw new Error('SenseTelemetryReporter requires at least one authenticated target');
117
+ }
118
+ this.targets = options.targets;
119
+ this.targetByFeed = new Map(options.targets.map((target) => [target.feedName, target]));
120
+ this.spoolDirectory = options.spoolDirectory;
121
+ this.flushIntervalMs = Math.max(250, options.flushIntervalMs ?? DEFAULT_FLUSH_INTERVAL_MS);
122
+ this.batchSize = Math.min(50, Math.max(1, options.batchSize ?? DEFAULT_BATCH_SIZE));
123
+ this.maxQueueSize = Math.max(this.batchSize, options.maxQueueSize ?? DEFAULT_QUEUE_SIZE);
124
+ this.maxCrashFiles = Math.max(1, options.maxCrashFiles ?? DEFAULT_CRASH_FILES);
125
+ this.now = options.now ?? Date.now;
126
+ this.randomId = options.randomId ?? crypto_1.randomUUID;
127
+ this.onUncaughtExceptionMonitor = (error, origin) => {
128
+ this.fatalSeen = true;
129
+ this.capture({
130
+ type: 'process_crash',
131
+ error,
132
+ errorClass: error?.name || 'UncaughtException',
133
+ severity: 'critical',
134
+ durable: true,
135
+ metadata: { origin },
136
+ });
137
+ };
138
+ this.onExit = () => {
139
+ if (!this.fatalSeen)
140
+ this.removeRunMarker();
141
+ };
142
+ this.start({
143
+ installProcessHandlers: options.installProcessHandlers ?? process.env.NODE_ENV !== 'test',
144
+ startTimer: options.startTimer ?? process.env.NODE_ENV !== 'test',
145
+ });
146
+ }
147
+ start(options) {
148
+ if (this.started)
149
+ return;
150
+ this.started = true;
151
+ try {
152
+ fs.mkdirSync(this.spoolDirectory, { recursive: true });
153
+ }
154
+ catch {
155
+ // An unwritable state disk degrades crash durability, never sensing.
156
+ // Ordinary events can still use the bounded in-memory queue.
157
+ }
158
+ this.loadCrashSpool();
159
+ this.detectPreviousAbnormalExit();
160
+ this.writeRunMarker();
161
+ if (options.installProcessHandlers) {
162
+ // uncaughtExceptionMonitor observes without changing Node's crash
163
+ // semantics. An `uncaughtException` listener would keep a corrupted
164
+ // process alive, which crash reporting must never do.
165
+ process.on('uncaughtExceptionMonitor', this.onUncaughtExceptionMonitor);
166
+ process.on('exit', this.onExit);
167
+ }
168
+ if (options.startTimer) {
169
+ this.timer = setInterval(() => {
170
+ void this.flush();
171
+ }, this.flushIntervalMs);
172
+ this.timer.unref?.();
173
+ }
174
+ }
175
+ capture(input) {
176
+ const target = this.targetFor(input.feedName);
177
+ const error = input.error === undefined ? null : errorFrom(input.error);
178
+ const message = redactTelemetryText(input.message || error?.message || `${input.type} reported by Sense Anything`, 2000);
179
+ const errorClass = redactTelemetryText(input.errorClass || error?.name || input.type, 80).replace(/[^A-Za-z0-9_.:-]/g, '_');
180
+ const occurredAt = this.toIso(input.occurredAt);
181
+ const durable = input.durable === true
182
+ || input.type === 'process_crash'
183
+ || input.type === 'process_abnormal_exit';
184
+ const event = {
185
+ type: input.type,
186
+ eventId: this.randomId(),
187
+ occurredAt,
188
+ errorClass,
189
+ message,
190
+ ...(error?.stack ? { stack: redactTelemetryText(error.stack, 4000) } : {}),
191
+ severity: input.severity || (durable ? 'critical' : 'error'),
192
+ ...(input.feedName ? { feedName: redactTelemetryText(input.feedName, 100) } : {}),
193
+ metadata: {
194
+ connector_version: connectorVersion(),
195
+ platform: process.platform,
196
+ arch: process.arch,
197
+ ...sanitizeMetadata(input.metadata || {}),
198
+ },
199
+ };
200
+ const spoolPath = durable ? this.persistDurableEvent(event) : undefined;
201
+ this.enqueue(target, event, durable, spoolPath);
202
+ }
203
+ /** Send at most one bounded batch per screen; failed batches stay queued. */
204
+ async flush() {
205
+ if (this.flushing || this.queue.size === 0)
206
+ return;
207
+ this.flushing = true;
208
+ try {
209
+ const groups = new Map();
210
+ for (const entry of this.queue.values()) {
211
+ const group = groups.get(entry.target) || [];
212
+ group.push(entry);
213
+ groups.set(entry.target, group);
214
+ }
215
+ await Promise.all([...groups.entries()].map(async ([target, entries]) => {
216
+ const snapshots = this.selectUploadBatch(entries);
217
+ const events = snapshots.map((snapshot) => snapshot.event);
218
+ try {
219
+ const response = await target.client.reportTelemetry(events);
220
+ const accepted = Number(response.body?.accepted);
221
+ const rejected = Number(response.body?.rejected);
222
+ // A partial 202 means the sink refused at least one event (for
223
+ // example because its bounded buffer is full). Retain the whole
224
+ // batch: successfully captured rows deduplicate server-side, while
225
+ // the refused row gets another chance instead of disappearing.
226
+ if (!response.ok || accepted !== events.length || rejected !== 0)
227
+ return;
228
+ for (const { entry, occurrences } of snapshots) {
229
+ if (entry.occurrences <= occurrences) {
230
+ this.queue.delete(entry.key);
231
+ if (entry.spoolPath)
232
+ this.unlinkQuietly(entry.spoolPath);
233
+ }
234
+ else {
235
+ entry.occurrences -= occurrences;
236
+ }
237
+ }
238
+ this.droppedEvents = 0;
239
+ }
240
+ catch {
241
+ // Network and server failures are retried by the next bounded flush.
242
+ // Logging here would recursively create another telemetry event.
243
+ }
244
+ }));
245
+ }
246
+ finally {
247
+ this.flushing = false;
248
+ }
249
+ }
250
+ getQueueSize() {
251
+ return this.queue.size;
252
+ }
253
+ /** Test/embedding teardown; production normally lives until process exit. */
254
+ close(clean = true) {
255
+ if (this.timer)
256
+ clearInterval(this.timer);
257
+ this.timer = null;
258
+ process.removeListener('uncaughtExceptionMonitor', this.onUncaughtExceptionMonitor);
259
+ process.removeListener('exit', this.onExit);
260
+ if (clean)
261
+ this.removeRunMarker();
262
+ }
263
+ targetFor(feedName) {
264
+ return (feedName && this.targetByFeed.get(feedName)) || this.targets[0];
265
+ }
266
+ selectUploadBatch(entries) {
267
+ const snapshots = [];
268
+ for (const entry of entries.slice(0, this.batchSize)) {
269
+ const occurrences = entry.occurrences;
270
+ let event = this.uploadEvent(entry, occurrences);
271
+ if (this.encodedBytes([event]) > AudienceAnalyzeClient_1.SENSE_TELEMETRY_BATCH_MAX_BYTES) {
272
+ event = this.compactUploadEvent(entry, occurrences);
273
+ }
274
+ const candidate = [...snapshots.map((snapshot) => snapshot.event), event];
275
+ if (this.encodedBytes(candidate) > AudienceAnalyzeClient_1.SENSE_TELEMETRY_BATCH_MAX_BYTES)
276
+ break;
277
+ snapshots.push({ entry, occurrences, event });
278
+ }
279
+ return snapshots;
280
+ }
281
+ uploadEvent(entry, occurrences) {
282
+ return {
283
+ ...entry.event,
284
+ occurrences,
285
+ metadata: {
286
+ ...(entry.event.metadata || {}),
287
+ ...(this.droppedEvents > 0 ? { queue_dropped_before: this.droppedEvents } : {}),
288
+ },
289
+ };
290
+ }
291
+ compactUploadEvent(entry, occurrences) {
292
+ const metadata = entry.event.metadata || {};
293
+ return {
294
+ type: entry.event.type,
295
+ eventId: redactTelemetryText(entry.event.eventId, 100),
296
+ occurredAt: this.toIso(entry.event.occurredAt),
297
+ errorClass: redactTelemetryText(entry.event.errorClass, 80),
298
+ message: redactTelemetryText(entry.event.message, 1000),
299
+ ...(entry.event.severity ? { severity: entry.event.severity } : {}),
300
+ ...(entry.event.feedName
301
+ ? { feedName: redactTelemetryText(entry.event.feedName, 100) }
302
+ : {}),
303
+ occurrences,
304
+ metadata: {
305
+ connector_version: redactTelemetryText(metadata.connector_version, 40),
306
+ platform: redactTelemetryText(metadata.platform, 40),
307
+ arch: redactTelemetryText(metadata.arch, 40),
308
+ telemetry_payload_truncated: true,
309
+ ...(this.droppedEvents > 0 ? { queue_dropped_before: this.droppedEvents } : {}),
310
+ },
311
+ };
312
+ }
313
+ encodedBytes(events) {
314
+ return Buffer.byteLength(JSON.stringify(events), 'utf8');
315
+ }
316
+ enqueue(target, event, durable, spoolPath) {
317
+ const key = durable
318
+ ? `${target.feedName}:${event.eventId}`
319
+ : `${target.feedName}:${event.type}:${event.errorClass}:${normalizedQueueMessage(event.message)}`;
320
+ const existing = this.queue.get(key);
321
+ if (existing) {
322
+ existing.occurrences += 1;
323
+ existing.event.occurredAt = event.occurredAt;
324
+ existing.event.metadata = {
325
+ ...(existing.event.metadata || {}),
326
+ ...(event.metadata || {}),
327
+ };
328
+ return;
329
+ }
330
+ if (this.queue.size >= this.maxQueueSize) {
331
+ const disposable = [...this.queue.values()].find((entry) => !entry.durable);
332
+ if (!disposable) {
333
+ this.droppedEvents += 1;
334
+ return;
335
+ }
336
+ this.queue.delete(disposable.key);
337
+ this.droppedEvents += disposable.occurrences;
338
+ }
339
+ this.queue.set(key, { key, target, event, occurrences: 1, durable, spoolPath });
340
+ if (this.queue.size >= this.batchSize)
341
+ void this.flush();
342
+ }
343
+ toIso(value) {
344
+ const parsed = value instanceof Date
345
+ ? value.getTime()
346
+ : typeof value === 'number'
347
+ ? value
348
+ : value
349
+ ? Date.parse(value)
350
+ : this.now();
351
+ return new Date(Number.isFinite(parsed) ? parsed : this.now()).toISOString();
352
+ }
353
+ crashFiles() {
354
+ try {
355
+ return fs.readdirSync(this.spoolDirectory)
356
+ .filter((name) => name.startsWith('crash-') && name.endsWith('.json'))
357
+ .sort()
358
+ .map((name) => path.join(this.spoolDirectory, name));
359
+ }
360
+ catch {
361
+ return [];
362
+ }
363
+ }
364
+ persistDurableEvent(event) {
365
+ try {
366
+ fs.mkdirSync(this.spoolDirectory, { recursive: true });
367
+ const files = this.crashFiles();
368
+ while (files.length >= this.maxCrashFiles) {
369
+ this.unlinkQuietly(files.shift());
370
+ }
371
+ const safeId = event.eventId.replace(/[^A-Za-z0-9_-]/g, '').slice(0, 80);
372
+ const finalPath = path.join(this.spoolDirectory, `crash-${String(this.now()).padStart(13, '0')}-${safeId}.json`);
373
+ const tempPath = `${finalPath}.tmp-${process.pid}`;
374
+ fs.writeFileSync(tempPath, JSON.stringify(event), { encoding: 'utf8', mode: 0o600 });
375
+ fs.renameSync(tempPath, finalPath);
376
+ return finalPath;
377
+ }
378
+ catch {
379
+ return undefined;
380
+ }
381
+ }
382
+ loadCrashSpool() {
383
+ for (const spoolPath of this.crashFiles()) {
384
+ try {
385
+ const event = JSON.parse(fs.readFileSync(spoolPath, 'utf8'));
386
+ if (!event || typeof event !== 'object' || !event.eventId || !event.type) {
387
+ this.unlinkQuietly(spoolPath);
388
+ continue;
389
+ }
390
+ this.enqueue(this.targetFor(event.feedName), event, true, spoolPath);
391
+ }
392
+ catch {
393
+ // A torn crash file cannot become a poison retry. Remove it; the run
394
+ // marker still records that the process ended abnormally.
395
+ this.unlinkQuietly(spoolPath);
396
+ }
397
+ }
398
+ }
399
+ markerPath() {
400
+ return path.join(this.spoolDirectory, RUN_MARKER_FILE);
401
+ }
402
+ detectPreviousAbnormalExit() {
403
+ const markerPath = this.markerPath();
404
+ if (!fs.existsSync(markerPath))
405
+ return;
406
+ let previous = {};
407
+ try {
408
+ previous = JSON.parse(fs.readFileSync(markerPath, 'utf8'));
409
+ }
410
+ catch {
411
+ previous = { marker: 'unreadable' };
412
+ }
413
+ this.capture({
414
+ type: 'process_abnormal_exit',
415
+ errorClass: 'PreviousRunDidNotExitCleanly',
416
+ message: 'The previous Sense Anything connector process did not exit cleanly',
417
+ severity: 'critical',
418
+ durable: true,
419
+ metadata: { previous_run: previous },
420
+ });
421
+ }
422
+ writeRunMarker() {
423
+ try {
424
+ const markerPath = this.markerPath();
425
+ const tempPath = `${markerPath}.tmp-${process.pid}`;
426
+ fs.writeFileSync(tempPath, JSON.stringify({
427
+ pid: process.pid,
428
+ started_at: new Date(this.now()).toISOString(),
429
+ connector_version: connectorVersion(),
430
+ platform: os.platform(),
431
+ arch: os.arch(),
432
+ }), { encoding: 'utf8', mode: 0o600 });
433
+ fs.renameSync(tempPath, markerPath);
434
+ }
435
+ catch {
436
+ // Telemetry must never prevent sensing from starting.
437
+ }
438
+ }
439
+ removeRunMarker() {
440
+ this.unlinkQuietly(this.markerPath());
441
+ }
442
+ unlinkQuietly(filePath) {
443
+ try {
444
+ fs.unlinkSync(filePath);
445
+ }
446
+ catch (error) {
447
+ if (error.code !== 'ENOENT') {
448
+ // Never recurse through connector logging/error telemetry here.
449
+ }
450
+ }
451
+ }
452
+ }
453
+ exports.SenseTelemetryReporter = SenseTelemetryReporter;
454
+ //# sourceMappingURL=SenseTelemetryReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SenseTelemetryReporter.js","sourceRoot":"","sources":["../src/SenseTelemetryReporter.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface DiagnosticReport {
31
31
  skipped: number;
32
32
  };
33
33
  }
34
- declare const SDK_VERSION = "0.2.129";
34
+ declare const SDK_VERSION = "0.2.130";
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.129';
66
+ const SDK_VERSION = '0.2.130';
67
67
  exports._SDK_VERSION = SDK_VERSION;
68
68
  // ---------------------------------------------------------------------------
69
69
  // ANSI helpers (no external deps)
package/dist/index.d.ts CHANGED
@@ -16,8 +16,10 @@ export { resolveProxyForUrl, describeProxy } from './enterpriseProxy';
16
16
  export type { ProxyResolution } from './enterpriseProxy';
17
17
  export { probeLocalNetworkAccess, decideLocalNetworkVerdict, LOCAL_NETWORK_DENIED_SUGGESTION, LOCAL_NETWORK_DENIED_SUMMARY, } from './localNetworkAccess';
18
18
  export type { LocalNetworkVerdict, LocalNetworkProbeResult, LocalNetworkProbeEvidence, LocalNetworkProbeOptions, } from './localNetworkAccess';
19
- export { AudienceAnalyzeClient, defaultHttpPoster } from './AudienceAnalyzeClient';
20
- export type { AudienceAnalyzeClientOptions, AudienceAnalyzeRequest, AudienceAnalyzeResponse, CameraHealthFailureClass, CameraHealthReport, CameraHealthState, FrameDimensions, HttpPoster, } from './AudienceAnalyzeClient';
19
+ export { AudienceAnalyzeClient, defaultHttpPoster, SENSE_TELEMETRY_BATCH_MAX_BYTES, } from './AudienceAnalyzeClient';
20
+ export type { AudienceAnalyzeClientOptions, AudienceAnalyzeRequest, AudienceAnalyzeResponse, CameraHealthFailureClass, CameraHealthReport, CameraHealthState, FrameDimensions, HttpPoster, SenseTelemetryEvent, SenseTelemetryEventType, } from './AudienceAnalyzeClient';
21
+ export { SenseTelemetryReporter, redactTelemetryText } from './SenseTelemetryReporter';
22
+ export type { SenseTelemetryCapture, SenseTelemetryReporterOptions, SenseTelemetryTarget, SenseTelemetryTransport, } from './SenseTelemetryReporter';
21
23
  export { CloudSensingManager, buildSensingLoops, buildTiledCameras, classifyRtspFailureClass, resolveFeeds, } from './CloudSensingManager';
22
24
  export { RecorderAddressRecovery, lookupMacAddress, normalizeMacAddress, rewriteStreamHost, shouldAttemptRecorderAddressRecovery, } from './RecorderAddressRecovery';
23
25
  export type { RecorderAddressRecoveryOptions } from './RecorderAddressRecovery';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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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"}
@@ -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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"}