@trillboards/edge-sdk 0.2.63 → 0.2.65
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/dist/AudienceAnalyzeClient.d.ts +6 -0
- package/dist/AudienceAnalyzeClient.d.ts.map +1 -1
- package/dist/AudienceAnalyzeClient.js +23 -0
- package/dist/AudienceAnalyzeClient.js.map +1 -1
- package/dist/CloudSensingManager.d.ts +6 -5
- package/dist/CloudSensingManager.d.ts.map +1 -1
- package/dist/CloudSensingManager.js +21 -0
- package/dist/CloudSensingManager.js.map +1 -1
- package/dist/DurableVlmCandidateSpool.d.ts +21 -0
- package/dist/DurableVlmCandidateSpool.d.ts.map +1 -1
- package/dist/DurableVlmCandidateSpool.js +114 -2
- package/dist/DurableVlmCandidateSpool.js.map +1 -1
- package/dist/EdgeAgent.js +1 -1
- package/dist/VlmCandidateBuffer.d.ts +45 -6
- package/dist/VlmCandidateBuffer.d.ts.map +1 -1
- package/dist/VlmCandidateBuffer.js +61 -7
- package/dist/VlmCandidateBuffer.js.map +1 -1
- package/dist/config.d.ts +8 -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/localSensing.d.ts +2 -0
- package/dist/localSensing.d.ts.map +1 -1
- package/dist/localSensing.js +7 -2
- package/dist/localSensing.js.map +1 -1
- package/dist/sensingRunMode.d.ts.map +1 -1
- package/dist/sensingRunMode.js +12 -0
- package/dist/sensingRunMode.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,8 @@ export interface DurableVlmCandidateSpoolOptions {
|
|
|
3
3
|
directory: string;
|
|
4
4
|
maxFrames?: number;
|
|
5
5
|
maxPerFeed?: number;
|
|
6
|
+
maxPerEpisode?: number;
|
|
7
|
+
episodeGapMs?: number;
|
|
6
8
|
maxBytes?: number;
|
|
7
9
|
retentionMs?: number;
|
|
8
10
|
retryInitialMs?: number;
|
|
@@ -28,11 +30,19 @@ export interface DurableVlmCandidateSpoolStats extends VlmCandidateBufferStats {
|
|
|
28
30
|
* `retry()`, which retains the same files and requeues them with bounded
|
|
29
31
|
* exponential backoff. Process death needs no special path: every complete
|
|
30
32
|
* metadata/JPEG pair is discovered again on the next `startRun()`.
|
|
33
|
+
*
|
|
34
|
+
* A fast look cadence does not become a fast archive cadence. Consecutive
|
|
35
|
+
* candidates no more than `episodeGapMs` apart are one motion episode, and the
|
|
36
|
+
* spool retains its onset plus earliest follow-up. Recovery reconstructs the
|
|
37
|
+
* same groups from capture timestamps, so a restart cannot resurrect a flood
|
|
38
|
+
* or merge two quiet-separated events.
|
|
31
39
|
*/
|
|
32
40
|
export declare class DurableVlmCandidateSpool {
|
|
33
41
|
private readonly directory;
|
|
34
42
|
private readonly maxFrames;
|
|
35
43
|
private readonly maxPerFeed;
|
|
44
|
+
private readonly maxPerEpisode;
|
|
45
|
+
private readonly episodeGapMs;
|
|
36
46
|
private readonly maxBytes;
|
|
37
47
|
private readonly retentionMs;
|
|
38
48
|
private readonly retryInitialMs;
|
|
@@ -47,6 +57,7 @@ export declare class DurableVlmCandidateSpool {
|
|
|
47
57
|
private persistedBytes;
|
|
48
58
|
private enqueued;
|
|
49
59
|
private served;
|
|
60
|
+
private coalesced;
|
|
50
61
|
private evicted;
|
|
51
62
|
private expired;
|
|
52
63
|
private recovered;
|
|
@@ -58,6 +69,8 @@ export declare class DurableVlmCandidateSpool {
|
|
|
58
69
|
constructor(options: DurableVlmCandidateSpoolOptions);
|
|
59
70
|
getMaxFrames(): number;
|
|
60
71
|
getMaxPerFeed(): number;
|
|
72
|
+
getMaxPerEpisode(): number;
|
|
73
|
+
getEpisodeGapMs(): number;
|
|
61
74
|
getTtlMs(): number;
|
|
62
75
|
size(): number;
|
|
63
76
|
bytes(): number;
|
|
@@ -90,6 +103,14 @@ export declare class DurableVlmCandidateSpool {
|
|
|
90
103
|
private nextEligible;
|
|
91
104
|
private evictFromFullestFeed;
|
|
92
105
|
private evictOldestOf;
|
|
106
|
+
private currentEpisodeEntries;
|
|
107
|
+
/**
|
|
108
|
+
* Recovery has no process-local episode state, so reconstruct it from the
|
|
109
|
+
* durable capture timestamps. Each run of candidates no more than the quiet
|
|
110
|
+
* gap apart is one episode; preserve its onset and earliest follow-up.
|
|
111
|
+
*/
|
|
112
|
+
private coalesceRecoveredEpisodes;
|
|
113
|
+
private coalesceEntry;
|
|
93
114
|
private removePersisted;
|
|
94
115
|
private deletePair;
|
|
95
116
|
private deletePairById;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableVlmCandidateSpool.d.ts","sourceRoot":"","sources":["../src/DurableVlmCandidateSpool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DurableVlmCandidateSpool.d.ts","sourceRoot":"","sources":["../src/DurableVlmCandidateSpool.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,7 @@ exports.DurableVlmCandidateSpool = void 0;
|
|
|
37
37
|
const crypto = __importStar(require("crypto"));
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const VlmCandidateBuffer_1 = require("./VlmCandidateBuffer");
|
|
40
41
|
const RECORD_VERSION = 1;
|
|
41
42
|
const DEFAULT_MAX_FRAMES = 4096;
|
|
42
43
|
const DEFAULT_MAX_PER_FEED = 128;
|
|
@@ -53,6 +54,12 @@ const DEFAULT_RETRY_MAX_MS = 5 * 60 * 1000;
|
|
|
53
54
|
* `retry()`, which retains the same files and requeues them with bounded
|
|
54
55
|
* exponential backoff. Process death needs no special path: every complete
|
|
55
56
|
* metadata/JPEG pair is discovered again on the next `startRun()`.
|
|
57
|
+
*
|
|
58
|
+
* A fast look cadence does not become a fast archive cadence. Consecutive
|
|
59
|
+
* candidates no more than `episodeGapMs` apart are one motion episode, and the
|
|
60
|
+
* spool retains its onset plus earliest follow-up. Recovery reconstructs the
|
|
61
|
+
* same groups from capture timestamps, so a restart cannot resurrect a flood
|
|
62
|
+
* or merge two quiet-separated events.
|
|
56
63
|
*/
|
|
57
64
|
class DurableVlmCandidateSpool {
|
|
58
65
|
constructor(options) {
|
|
@@ -65,6 +72,7 @@ class DurableVlmCandidateSpool {
|
|
|
65
72
|
this.persistedBytes = 0;
|
|
66
73
|
this.enqueued = 0;
|
|
67
74
|
this.served = 0;
|
|
75
|
+
this.coalesced = 0;
|
|
68
76
|
this.evicted = 0;
|
|
69
77
|
this.expired = 0;
|
|
70
78
|
this.recovered = 0;
|
|
@@ -76,6 +84,8 @@ class DurableVlmCandidateSpool {
|
|
|
76
84
|
this.directory = path.resolve(options.directory);
|
|
77
85
|
this.maxFrames = Math.max(1, Math.trunc(options.maxFrames ?? DEFAULT_MAX_FRAMES));
|
|
78
86
|
this.maxPerFeed = Math.min(this.maxFrames, Math.max(1, Math.trunc(options.maxPerFeed ?? DEFAULT_MAX_PER_FEED)));
|
|
87
|
+
this.maxPerEpisode = Math.min(this.maxPerFeed, Math.max(1, Math.trunc(options.maxPerEpisode ?? VlmCandidateBuffer_1.DEFAULT_CANDIDATES_PER_EPISODE)));
|
|
88
|
+
this.episodeGapMs = Math.max(1, Math.trunc(options.episodeGapMs ?? VlmCandidateBuffer_1.DEFAULT_CANDIDATE_EPISODE_GAP_MS));
|
|
79
89
|
this.maxBytes = Math.max(1, Math.trunc(options.maxBytes ?? DEFAULT_MAX_BYTES));
|
|
80
90
|
this.retentionMs = Math.max(1, Math.trunc(options.retentionMs ?? DEFAULT_RETENTION_MS));
|
|
81
91
|
this.retryInitialMs = Math.max(1, Math.trunc(options.retryInitialMs ?? DEFAULT_RETRY_INITIAL_MS));
|
|
@@ -84,6 +94,8 @@ class DurableVlmCandidateSpool {
|
|
|
84
94
|
}
|
|
85
95
|
getMaxFrames() { return this.maxFrames; }
|
|
86
96
|
getMaxPerFeed() { return this.maxPerFeed; }
|
|
97
|
+
getMaxPerEpisode() { return this.maxPerEpisode; }
|
|
98
|
+
getEpisodeGapMs() { return this.episodeGapMs; }
|
|
87
99
|
getTtlMs() { return this.retentionMs; }
|
|
88
100
|
size() { return this.queued; }
|
|
89
101
|
bytes() { return this.persistedBytes; }
|
|
@@ -109,11 +121,33 @@ class DurableVlmCandidateSpool {
|
|
|
109
121
|
this.evicted++;
|
|
110
122
|
return 'rejected';
|
|
111
123
|
}
|
|
124
|
+
const enqueuedAtMs = candidate.enqueuedAtMs ?? now;
|
|
125
|
+
const startsNewEpisode = feed.lastCandidateAtMs === null ||
|
|
126
|
+
enqueuedAtMs - feed.lastCandidateAtMs > this.episodeGapMs;
|
|
127
|
+
const episodeStartedAtMs = startsNewEpisode
|
|
128
|
+
? enqueuedAtMs
|
|
129
|
+
: feed.episodeStartedAtMs ?? enqueuedAtMs;
|
|
130
|
+
const episodeEntries = this.currentEpisodeEntries(feed, episodeStartedAtMs)
|
|
131
|
+
.sort((a, b) => a.enqueuedAtMs - b.enqueuedAtMs || a.id.localeCompare(b.id));
|
|
132
|
+
const episodeAtCapacity = episodeEntries.length >= this.maxPerEpisode;
|
|
133
|
+
feed.episodeStartedAtMs = episodeStartedAtMs;
|
|
134
|
+
feed.lastCandidateAtMs = enqueuedAtMs;
|
|
135
|
+
if (episodeAtCapacity) {
|
|
136
|
+
// Keep the retained prefix from inside the event. The newest frame may be
|
|
137
|
+
// the empty scene after a short-lived subject exits. Because it will not
|
|
138
|
+
// be retained, do not write and immediately delete a private JPEG pair at
|
|
139
|
+
// every 500 ms look; that turns coalescing into disk churn, not a bound.
|
|
140
|
+
feed.enqueued++;
|
|
141
|
+
this.enqueued++;
|
|
142
|
+
feed.coalesced++;
|
|
143
|
+
this.coalesced++;
|
|
144
|
+
return 'buffered';
|
|
145
|
+
}
|
|
112
146
|
const entry = {
|
|
113
147
|
version: RECORD_VERSION,
|
|
114
148
|
id: crypto.randomUUID().replace(/-/g, ''),
|
|
115
149
|
name: candidate.name,
|
|
116
|
-
enqueuedAtMs
|
|
150
|
+
enqueuedAtMs,
|
|
117
151
|
availableAtMs: now,
|
|
118
152
|
captureMode: candidate.captureMode,
|
|
119
153
|
reason: candidate.reason,
|
|
@@ -121,6 +155,7 @@ class DurableVlmCandidateSpool {
|
|
|
121
155
|
imageWidth: candidate.imageWidth,
|
|
122
156
|
imageHeight: candidate.imageHeight,
|
|
123
157
|
byteLength,
|
|
158
|
+
jpegSha256: crypto.createHash('sha256').update(candidate.jpeg).digest('hex'),
|
|
124
159
|
attempts: 0,
|
|
125
160
|
};
|
|
126
161
|
// Persist first. If the disk is unavailable, existing evidence remains
|
|
@@ -178,6 +213,14 @@ class DurableVlmCandidateSpool {
|
|
|
178
213
|
jpeg = fs.readFileSync(this.jpegPath(entry.id));
|
|
179
214
|
if (jpeg.length !== entry.byteLength)
|
|
180
215
|
throw new Error('length mismatch');
|
|
216
|
+
const actualSha256 = crypto.createHash('sha256').update(jpeg).digest('hex');
|
|
217
|
+
if (entry.jpegSha256 && entry.jpegSha256 !== actualSha256) {
|
|
218
|
+
throw new Error('SHA-256 mismatch');
|
|
219
|
+
}
|
|
220
|
+
if (!entry.jpegSha256) {
|
|
221
|
+
entry.jpegSha256 = actualSha256;
|
|
222
|
+
this.writeMetadata(entry);
|
|
223
|
+
}
|
|
181
224
|
}
|
|
182
225
|
catch {
|
|
183
226
|
this.readFailed++;
|
|
@@ -263,10 +306,13 @@ class DurableVlmCandidateSpool {
|
|
|
263
306
|
bytes: this.persistedBytes,
|
|
264
307
|
maxFrames: this.maxFrames,
|
|
265
308
|
maxPerFeed: this.maxPerFeed,
|
|
309
|
+
maxPerEpisode: this.maxPerEpisode,
|
|
310
|
+
episodeGapMs: this.episodeGapMs,
|
|
266
311
|
maxBytes: this.maxBytes,
|
|
267
312
|
ttlMs: this.retentionMs,
|
|
268
313
|
enqueued: this.enqueued,
|
|
269
314
|
served: this.served,
|
|
315
|
+
coalesced: this.coalesced,
|
|
270
316
|
evicted: this.evicted,
|
|
271
317
|
expired: this.expired,
|
|
272
318
|
oldestAgeMs: this.oldestAgeMs(now),
|
|
@@ -275,6 +321,7 @@ class DurableVlmCandidateSpool {
|
|
|
275
321
|
buffered: feed.items.length,
|
|
276
322
|
enqueued: feed.enqueued,
|
|
277
323
|
served: feed.served,
|
|
324
|
+
coalesced: feed.coalesced,
|
|
278
325
|
evicted: feed.evicted,
|
|
279
326
|
expired: feed.expired,
|
|
280
327
|
})),
|
|
@@ -296,6 +343,7 @@ class DurableVlmCandidateSpool {
|
|
|
296
343
|
this.persistedBytes = [...this.inFlight.values()].reduce((n, e) => n + e.byteLength, 0);
|
|
297
344
|
this.enqueued = 0;
|
|
298
345
|
this.served = 0;
|
|
346
|
+
this.coalesced = 0;
|
|
299
347
|
this.evicted = 0;
|
|
300
348
|
this.expired = 0;
|
|
301
349
|
this.recovered = 0;
|
|
@@ -358,6 +406,7 @@ class DurableVlmCandidateSpool {
|
|
|
358
406
|
}
|
|
359
407
|
for (const feed of this.feeds.values()) {
|
|
360
408
|
this.sortFeed(feed);
|
|
409
|
+
this.coalesceRecoveredEpisodes(feed);
|
|
361
410
|
while (feed.items.length > this.maxPerFeed)
|
|
362
411
|
this.evictOldestOf(feed);
|
|
363
412
|
}
|
|
@@ -388,6 +437,7 @@ class DurableVlmCandidateSpool {
|
|
|
388
437
|
typeof value.captureMode === 'string' &&
|
|
389
438
|
typeof value.reason === 'string' &&
|
|
390
439
|
Number.isFinite(value.byteLength) && value.byteLength > 0 &&
|
|
440
|
+
(value.jpegSha256 === undefined || /^[a-f0-9]{64}$/.test(value.jpegSha256)) &&
|
|
391
441
|
Number.isFinite(value.attempts) && value.attempts >= 0);
|
|
392
442
|
}
|
|
393
443
|
writePair(entry, jpeg) {
|
|
@@ -436,12 +486,23 @@ class DurableVlmCandidateSpool {
|
|
|
436
486
|
imageWidth: entry.imageWidth,
|
|
437
487
|
imageHeight: entry.imageHeight,
|
|
438
488
|
spoolId: entry.id,
|
|
489
|
+
jpegSha256: entry.jpegSha256,
|
|
439
490
|
};
|
|
440
491
|
}
|
|
441
492
|
feedQueue(name) {
|
|
442
493
|
let feed = this.feeds.get(name);
|
|
443
494
|
if (!feed) {
|
|
444
|
-
feed = {
|
|
495
|
+
feed = {
|
|
496
|
+
name,
|
|
497
|
+
items: [],
|
|
498
|
+
enqueued: 0,
|
|
499
|
+
served: 0,
|
|
500
|
+
coalesced: 0,
|
|
501
|
+
evicted: 0,
|
|
502
|
+
expired: 0,
|
|
503
|
+
episodeStartedAtMs: null,
|
|
504
|
+
lastCandidateAtMs: null,
|
|
505
|
+
};
|
|
445
506
|
this.feeds.set(name, feed);
|
|
446
507
|
}
|
|
447
508
|
return feed;
|
|
@@ -492,6 +553,57 @@ class DurableVlmCandidateSpool {
|
|
|
492
553
|
this.evicted++;
|
|
493
554
|
this.removePersisted(entry);
|
|
494
555
|
}
|
|
556
|
+
currentEpisodeEntries(feed, startedAt) {
|
|
557
|
+
return [
|
|
558
|
+
...feed.items.filter((entry) => entry.attempts === 0 && entry.enqueuedAtMs >= startedAt),
|
|
559
|
+
...[...this.inFlight.values()].filter((entry) => entry.name === feed.name &&
|
|
560
|
+
entry.attempts === 0 &&
|
|
561
|
+
entry.enqueuedAtMs >= startedAt),
|
|
562
|
+
];
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* Recovery has no process-local episode state, so reconstruct it from the
|
|
566
|
+
* durable capture timestamps. Each run of candidates no more than the quiet
|
|
567
|
+
* gap apart is one episode; preserve its onset and earliest follow-up.
|
|
568
|
+
*/
|
|
569
|
+
coalesceRecoveredEpisodes(feed) {
|
|
570
|
+
const original = [...feed.items];
|
|
571
|
+
if (original.length === 0)
|
|
572
|
+
return;
|
|
573
|
+
let groupStart = 0;
|
|
574
|
+
for (let i = 1; i <= original.length; i++) {
|
|
575
|
+
const closesGroup = i === original.length ||
|
|
576
|
+
original[i].enqueuedAtMs - original[i - 1].enqueuedAtMs > this.episodeGapMs;
|
|
577
|
+
if (!closesGroup)
|
|
578
|
+
continue;
|
|
579
|
+
const eligible = original
|
|
580
|
+
.slice(groupStart, i)
|
|
581
|
+
.filter((entry) => entry.attempts === 0);
|
|
582
|
+
if (eligible.length > this.maxPerEpisode) {
|
|
583
|
+
// A rejected frame is already committed retry evidence, not a repeated
|
|
584
|
+
// look. It is never eligible. Of the untouched frames, retain the
|
|
585
|
+
// earliest prefix and discard later frames that may be after the event.
|
|
586
|
+
for (const victim of eligible.slice(this.maxPerEpisode)) {
|
|
587
|
+
this.coalesceEntry(feed, victim);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
if (i === original.length) {
|
|
591
|
+
feed.episodeStartedAtMs = original[groupStart].enqueuedAtMs;
|
|
592
|
+
feed.lastCandidateAtMs = original[i - 1].enqueuedAtMs;
|
|
593
|
+
}
|
|
594
|
+
groupStart = i;
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
coalesceEntry(feed, entry) {
|
|
598
|
+
const index = feed.items.indexOf(entry);
|
|
599
|
+
if (index < 0)
|
|
600
|
+
return;
|
|
601
|
+
feed.items.splice(index, 1);
|
|
602
|
+
this.queued--;
|
|
603
|
+
feed.coalesced++;
|
|
604
|
+
this.coalesced++;
|
|
605
|
+
this.removePersisted(entry);
|
|
606
|
+
}
|
|
495
607
|
removePersisted(entry) {
|
|
496
608
|
this.deletePair(entry);
|
|
497
609
|
this.persisted = Math.max(0, this.persisted - 1);
|
|
@@ -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.65';
|
|
48
48
|
class EdgeAgent extends events_1.EventEmitter {
|
|
49
49
|
constructor(config, deps) {
|
|
50
50
|
super();
|
|
@@ -24,6 +24,13 @@
|
|
|
24
24
|
* backlog the gate exists to prevent, and the caller is responsible for that
|
|
25
25
|
* invariant because only the caller has the cascade verdict.
|
|
26
26
|
*
|
|
27
|
+
* EPISODE COALESCING. A 500 ms look cadence can produce many motion-positive
|
|
28
|
+
* frames while the single model slot is occupied. Those are not independent
|
|
29
|
+
* alerts merely because they are separate JPEGs. Candidates no more than
|
|
30
|
+
* `episodeGapMs` apart form one episode: retain its onset and earliest
|
|
31
|
+
* follow-up, and count later frames from the same episode as `coalesced`. A quiet
|
|
32
|
+
* gap starts a new episode with a new protected onset.
|
|
33
|
+
*
|
|
27
34
|
* THREE BOUNDS, ALL COUNTED. A hold that is unbounded in size is a memory leak
|
|
28
35
|
* and a hold that is unbounded in age is the gate's original complaint. So:
|
|
29
36
|
*
|
|
@@ -36,17 +43,18 @@
|
|
|
36
43
|
* - `ttlMs` — past this age the gate's insight takes over and the candidate
|
|
37
44
|
* is dropped as expired rather than analysed.
|
|
38
45
|
*
|
|
39
|
-
* Every one of those three drops is COUNTED.
|
|
46
|
+
* Every one of those three drops is COUNTED. Coalescing is counted separately:
|
|
47
|
+
* it is deliberate compression of one event, not evidence lost to capacity.
|
|
48
|
+
* A silent eviction is the same
|
|
40
49
|
* defect as the silent drop this class was built to fix — it would move the
|
|
41
50
|
* lost frame from one invisible place to another.
|
|
42
51
|
*
|
|
43
52
|
* SERVICE ORDER is least-recently-served feed first, oldest candidate within
|
|
44
53
|
* that feed. Across feeds that is round-robin, so service cannot be won by
|
|
45
|
-
* whichever timer happens to fire first.
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* frame of the burst they may already be out of view.
|
|
54
|
+
* whichever timer happens to fire first. Episodes remain FIFO within a feed.
|
|
55
|
+
* Within an episode, the earliest frame is protected because it shows the
|
|
56
|
+
* transition; the remaining slot is the first follow-up, before a short-lived
|
|
57
|
+
* subject can leave and turn the freshest frame into post-event evidence.
|
|
50
58
|
*
|
|
51
59
|
* THREADING. Node is single-threaded and no method here awaits, so `peek()`
|
|
52
60
|
* followed by `take()` is one critical section by construction: they are
|
|
@@ -86,6 +94,8 @@ export interface VlmCandidate {
|
|
|
86
94
|
readonly imageHeight?: number;
|
|
87
95
|
/** Internal durable-spool identity; absent for the in-memory hold. */
|
|
88
96
|
readonly spoolId?: string;
|
|
97
|
+
/** SHA-256 of the exact JPEG retained for inference and alert evidence. */
|
|
98
|
+
readonly jpegSha256?: string;
|
|
89
99
|
}
|
|
90
100
|
export interface VlmCandidateBufferOptions {
|
|
91
101
|
/**
|
|
@@ -101,6 +111,18 @@ export interface VlmCandidateBufferOptions {
|
|
|
101
111
|
* burst is a near-duplicate of the second and buys nothing a slot could not.
|
|
102
112
|
*/
|
|
103
113
|
maxPerFeed?: number;
|
|
114
|
+
/**
|
|
115
|
+
* Frames retained from one continuous motion episode. Default 2: preserve
|
|
116
|
+
* the onset plus the earliest follow-up while coalescing later 500 ms looks
|
|
117
|
+
* that would otherwise become a backlog or replace the event with its exit.
|
|
118
|
+
*/
|
|
119
|
+
maxPerEpisode?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Candidate-free time that closes one motion episode (ms). Default 3000.
|
|
122
|
+
* A later change starts a new protected onset instead of replacing evidence
|
|
123
|
+
* from the earlier event.
|
|
124
|
+
*/
|
|
125
|
+
episodeGapMs?: number;
|
|
104
126
|
/**
|
|
105
127
|
* Total encoded bytes held. Default 16 MiB. This is the bound that stays
|
|
106
128
|
* true when the frame size changes: measured on the production CCTV fixtures
|
|
@@ -124,6 +146,8 @@ export interface VlmCandidateFeedStats {
|
|
|
124
146
|
buffered: number;
|
|
125
147
|
enqueued: number;
|
|
126
148
|
served: number;
|
|
149
|
+
/** Later frames deliberately omitted inside the same motion episode. */
|
|
150
|
+
coalesced: number;
|
|
127
151
|
evicted: number;
|
|
128
152
|
expired: number;
|
|
129
153
|
}
|
|
@@ -136,12 +160,16 @@ export interface VlmCandidateBufferStats {
|
|
|
136
160
|
bytes: number;
|
|
137
161
|
maxFrames: number;
|
|
138
162
|
maxPerFeed: number;
|
|
163
|
+
maxPerEpisode: number;
|
|
164
|
+
episodeGapMs: number;
|
|
139
165
|
maxBytes: number;
|
|
140
166
|
ttlMs: number;
|
|
141
167
|
/** Cumulative candidates accepted. */
|
|
142
168
|
enqueued: number;
|
|
143
169
|
/** Cumulative candidates handed to the model. */
|
|
144
170
|
served: number;
|
|
171
|
+
/** Cumulative later frames deliberately omitted inside motion episodes. */
|
|
172
|
+
coalesced: number;
|
|
145
173
|
/** Cumulative candidates dropped to make room — the fairness cost, visible. */
|
|
146
174
|
evicted: number;
|
|
147
175
|
/** Cumulative candidates dropped for being older than `ttlMs`. */
|
|
@@ -180,6 +208,10 @@ export interface VlmCandidateBufferStats {
|
|
|
180
208
|
* it can never stand in for the cadence.
|
|
181
209
|
*/
|
|
182
210
|
export declare const DEFAULT_CANDIDATE_TTL_MS = 90000;
|
|
211
|
+
/** A short quiet interval closes one motion episode at the 500 ms look cadence. */
|
|
212
|
+
export declare const DEFAULT_CANDIDATE_EPISODE_GAP_MS = 3000;
|
|
213
|
+
/** Onset + earliest follow-up; later looks may already be after the event. */
|
|
214
|
+
export declare const DEFAULT_CANDIDATES_PER_EPISODE = 2;
|
|
183
215
|
/** Why an `offer()` did not result in a held candidate. */
|
|
184
216
|
export type VlmCandidateOfferResult =
|
|
185
217
|
/** Held. */
|
|
@@ -189,6 +221,8 @@ export type VlmCandidateOfferResult =
|
|
|
189
221
|
export declare class VlmCandidateBuffer {
|
|
190
222
|
private readonly maxFrames;
|
|
191
223
|
private readonly maxPerFeed;
|
|
224
|
+
private readonly maxPerEpisode;
|
|
225
|
+
private readonly episodeGapMs;
|
|
192
226
|
private readonly maxBytes;
|
|
193
227
|
private readonly ttlMs;
|
|
194
228
|
private readonly now;
|
|
@@ -197,6 +231,7 @@ export declare class VlmCandidateBuffer {
|
|
|
197
231
|
private heldBytes;
|
|
198
232
|
private enqueued;
|
|
199
233
|
private served;
|
|
234
|
+
private coalesced;
|
|
200
235
|
private evicted;
|
|
201
236
|
private expired;
|
|
202
237
|
/** Monotonic tie-break so two feeds served in the same millisecond rotate. */
|
|
@@ -211,6 +246,8 @@ export declare class VlmCandidateBuffer {
|
|
|
211
246
|
retry(_candidate: VlmCandidate): void;
|
|
212
247
|
getMaxFrames(): number;
|
|
213
248
|
getMaxPerFeed(): number;
|
|
249
|
+
getMaxPerEpisode(): number;
|
|
250
|
+
getEpisodeGapMs(): number;
|
|
214
251
|
getTtlMs(): number;
|
|
215
252
|
/** Candidates held right now. */
|
|
216
253
|
size(): number;
|
|
@@ -260,5 +297,7 @@ export declare class VlmCandidateBuffer {
|
|
|
260
297
|
/** Drop the feed that holds the MOST candidates by one. False when empty. */
|
|
261
298
|
private evictFromFullestFeed;
|
|
262
299
|
private evictOldestOf;
|
|
300
|
+
private advanceEpisode;
|
|
301
|
+
private currentEpisodeItems;
|
|
263
302
|
}
|
|
264
303
|
//# sourceMappingURL=VlmCandidateBuffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VlmCandidateBuffer.d.ts","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"VlmCandidateBuffer.d.ts","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":"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"}
|