@trillboards/edge-sdk 0.2.41 → 0.2.49
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/README.md +18 -0
- package/deploy/docker/connector-entrypoint.sh +1 -1
- package/dist/CloudSensingManager.d.ts +18 -0
- package/dist/CloudSensingManager.d.ts.map +1 -1
- package/dist/CloudSensingManager.js +101 -16
- package/dist/CloudSensingManager.js.map +1 -1
- package/dist/DurableVlmCandidateSpool.d.ts +99 -0
- package/dist/DurableVlmCandidateSpool.d.ts.map +1 -0
- package/dist/DurableVlmCandidateSpool.js +522 -0
- package/dist/DurableVlmCandidateSpool.js.map +1 -0
- package/dist/EdgeAgent.js +1 -1
- package/dist/LiteRtVlmProvider.d.ts +119 -2
- package/dist/LiteRtVlmProvider.d.ts.map +1 -1
- package/dist/LiteRtVlmProvider.js +79 -13
- package/dist/LiteRtVlmProvider.js.map +1 -1
- package/dist/SceneChangeDetector.d.ts +35 -5
- package/dist/SceneChangeDetector.d.ts.map +1 -1
- package/dist/SceneChangeDetector.js +19 -5
- package/dist/SceneChangeDetector.js.map +1 -1
- package/dist/VlmAdmissionGate.d.ts +63 -0
- package/dist/VlmAdmissionGate.d.ts.map +1 -1
- package/dist/VlmAdmissionGate.js +64 -0
- package/dist/VlmAdmissionGate.js.map +1 -1
- package/dist/VlmCandidateBuffer.d.ts +17 -0
- package/dist/VlmCandidateBuffer.d.ts.map +1 -1
- package/dist/VlmCandidateBuffer.js +6 -0
- package/dist/VlmCandidateBuffer.js.map +1 -1
- package/dist/config.d.ts +37 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/connectorCadence.d.ts +193 -8
- package/dist/connectorCadence.d.ts.map +1 -1
- package/dist/connectorCadence.js +225 -10
- package/dist/connectorCadence.js.map +1 -1
- package/dist/deployedCadence.d.ts +18 -5
- package/dist/deployedCadence.d.ts.map +1 -1
- package/dist/deployedCadence.js +50 -13
- package/dist/deployedCadence.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/localVlmBench.d.ts +36 -0
- package/dist/localVlmBench.d.ts.map +1 -1
- package/dist/localVlmBench.js +48 -0
- package/dist/localVlmBench.js.map +1 -1
- package/dist/sensingCatchRate.d.ts +105 -3
- package/dist/sensingCatchRate.d.ts.map +1 -1
- package/dist/sensingCatchRate.js +98 -10
- package/dist/sensingCatchRate.js.map +1 -1
- package/dist/sensingRunMode.d.ts.map +1 -1
- package/dist/sensingRunMode.js +95 -4
- package/dist/sensingRunMode.js.map +1 -1
- package/package.json +1 -1
|
@@ -73,6 +73,47 @@ export interface VlmAdmissionGateOptions {
|
|
|
73
73
|
* 0 disables reclaim.
|
|
74
74
|
*/
|
|
75
75
|
maxInFlightMs?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Prefer the HUNGRIEST feed when a slot frees. Default false — off is exactly
|
|
78
|
+
* today's behaviour, byte for byte.
|
|
79
|
+
*
|
|
80
|
+
* WHY IT EXISTS. This gate is pull-based: every feed asks on its own timer and
|
|
81
|
+
* is told yes or no on the spot. With ONE slot that makes admission a race
|
|
82
|
+
* decided by arrival phase, and per-feed look timers are PERIODIC, so the
|
|
83
|
+
* phase relationship never rotates — the feed that happens to tick when the
|
|
84
|
+
* slot is free wins, and wins again next round, and forever.
|
|
85
|
+
*
|
|
86
|
+
* That is not a fairness nicety, it is total blindness on the losers.
|
|
87
|
+
* Measured on the still-scene corpus at 8 feeds sharing one 7.30 s slot: with
|
|
88
|
+
* the heartbeat at 60 s, two feeds catch 100% of their events and the other
|
|
89
|
+
* six catch **0%**. Nothing downstream rescues them, because a still-scene
|
|
90
|
+
* heartbeat is deliberately NOT a change candidate and so never reaches
|
|
91
|
+
* `VlmCandidateBuffer`'s per-feed fair share. The buffer already solved this
|
|
92
|
+
* for alerts; heartbeats bypass it, and this is the same fix for the frames
|
|
93
|
+
* that cannot be held.
|
|
94
|
+
*
|
|
95
|
+
* It reallocates the budget, it does not enlarge it: the same number of
|
|
96
|
+
* analyses run, spread across feeds instead of piling onto whichever feeds
|
|
97
|
+
* won the phase draw.
|
|
98
|
+
*/
|
|
99
|
+
fairShareAcrossFeeds?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* A feed better-served than the hungriest by more than this yields its turn
|
|
102
|
+
* (ms). Default 0: any feed never served at all outranks every feed that has
|
|
103
|
+
* been.
|
|
104
|
+
*/
|
|
105
|
+
fairShareGraceMs?: number;
|
|
106
|
+
/**
|
|
107
|
+
* Cap on how long a free slot is held open waiting for a hungrier feed (ms).
|
|
108
|
+
* Default 5000.
|
|
109
|
+
*
|
|
110
|
+
* This is the whole cost of the policy and it is bounded on purpose. Feeds
|
|
111
|
+
* are staggered across the look cadence, so the hungriest one is typically
|
|
112
|
+
* `cadence / feeds` away — 3.75 s at 8 feeds on the 30 s cadence. Past this
|
|
113
|
+
* cap the gate stops waiting and admits whoever asked, so a feed that has
|
|
114
|
+
* gone away can never idle the slot indefinitely.
|
|
115
|
+
*/
|
|
116
|
+
fairShareMaxHoldMs?: number;
|
|
76
117
|
/** Clock injection for tests. Default `Date.now`. */
|
|
77
118
|
now?: () => number;
|
|
78
119
|
}
|
|
@@ -90,6 +131,13 @@ export interface VlmAdmissionStats {
|
|
|
90
131
|
droppedInFlight: number;
|
|
91
132
|
/** Denied by the global pacing floor (`minIntervalMs`). */
|
|
92
133
|
droppedMinInterval: number;
|
|
134
|
+
/**
|
|
135
|
+
* Deferred so a hungrier feed could have the slot (`fairShareAcrossFeeds`).
|
|
136
|
+
* Counted apart from `droppedInFlight` because it is a DELIBERATE deferral,
|
|
137
|
+
* not oversubscription — folding the two together would make the fairness
|
|
138
|
+
* policy look like the capacity problem it exists to redistribute.
|
|
139
|
+
*/
|
|
140
|
+
droppedFairShare: number;
|
|
93
141
|
/** Slots reclaimed from a holder that never released. */
|
|
94
142
|
staleReclaimed: number;
|
|
95
143
|
/** Releases for a ticket that was already reclaimed (late completions). */
|
|
@@ -100,12 +148,18 @@ export declare class VlmAdmissionGate {
|
|
|
100
148
|
private readonly maxInFlight;
|
|
101
149
|
private readonly minIntervalMs;
|
|
102
150
|
private readonly maxInFlightMs;
|
|
151
|
+
private readonly fairShareAcrossFeeds;
|
|
152
|
+
private readonly fairShareGraceMs;
|
|
153
|
+
private readonly fairShareMaxHoldMs;
|
|
103
154
|
private readonly now;
|
|
104
155
|
private readonly inFlight;
|
|
105
156
|
private nextAllowedAtMs;
|
|
106
157
|
private admitted;
|
|
107
158
|
private droppedInFlight;
|
|
108
159
|
private droppedMinInterval;
|
|
160
|
+
private droppedFairShare;
|
|
161
|
+
/** When the last slot became free. Bounds how long fairness may hold it. */
|
|
162
|
+
private slotFreeSinceMs;
|
|
109
163
|
private staleReclaimed;
|
|
110
164
|
private lateReleases;
|
|
111
165
|
private readonly perFeed;
|
|
@@ -124,6 +178,15 @@ export declare class VlmAdmissionGate {
|
|
|
124
178
|
* stale (counted as a late release so the reclaim threshold stays auditable).
|
|
125
179
|
*/
|
|
126
180
|
release(ticket: VlmAdmissionTicket | null | undefined): void;
|
|
181
|
+
/**
|
|
182
|
+
* True when `name` is better-served than the hungriest known feed and the
|
|
183
|
+
* slot has not yet been held open too long.
|
|
184
|
+
*
|
|
185
|
+
* "Hungriest" counts a feed that has NEVER been admitted as infinitely
|
|
186
|
+
* hungry, which is the case that matters: a feed losing every phase race has
|
|
187
|
+
* `lastAdmittedAtMs === null` forever and is precisely who this protects.
|
|
188
|
+
*/
|
|
189
|
+
private shouldYieldToHungrierFeed;
|
|
127
190
|
/** Age (ms) of the oldest held slot, or null when idle. */
|
|
128
191
|
oldestInFlightAgeMs(nowMs?: number): number | null;
|
|
129
192
|
/** Drop every slot and counter (a stop()/start() cycle starts clean). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VlmAdmissionGate.d.ts","sourceRoot":"","sources":["../src/VlmAdmissionGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"VlmAdmissionGate.d.ts","sourceRoot":"","sources":["../src/VlmAdmissionGate.ts"],"names":[],"mappings":"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"}
|
package/dist/VlmAdmissionGate.js
CHANGED
|
@@ -55,6 +55,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
55
55
|
exports.VlmAdmissionGate = void 0;
|
|
56
56
|
const DEFAULT_MAX_IN_FLIGHT = 1;
|
|
57
57
|
const DEFAULT_MAX_IN_FLIGHT_MS = 180000;
|
|
58
|
+
/**
|
|
59
|
+
* Default ceiling on holding a free slot for a hungrier feed. Sized under one
|
|
60
|
+
* feed-stagger interval on the shipped 30 s cadence at 8 feeds (3.75 s), with
|
|
61
|
+
* headroom, so the hungriest feed's next tick almost always lands inside it.
|
|
62
|
+
*/
|
|
63
|
+
const DEFAULT_FAIR_SHARE_MAX_HOLD_MS = 5000;
|
|
58
64
|
class VlmAdmissionGate {
|
|
59
65
|
constructor(options = {}) {
|
|
60
66
|
this.inFlight = new Set();
|
|
@@ -62,12 +68,18 @@ class VlmAdmissionGate {
|
|
|
62
68
|
this.admitted = 0;
|
|
63
69
|
this.droppedInFlight = 0;
|
|
64
70
|
this.droppedMinInterval = 0;
|
|
71
|
+
this.droppedFairShare = 0;
|
|
72
|
+
/** When the last slot became free. Bounds how long fairness may hold it. */
|
|
73
|
+
this.slotFreeSinceMs = null;
|
|
65
74
|
this.staleReclaimed = 0;
|
|
66
75
|
this.lateReleases = 0;
|
|
67
76
|
this.perFeed = new Map();
|
|
68
77
|
this.maxInFlight = Math.max(1, Math.trunc(options.maxInFlight ?? DEFAULT_MAX_IN_FLIGHT));
|
|
69
78
|
this.minIntervalMs = Math.max(0, Math.trunc(options.minIntervalMs ?? 0));
|
|
70
79
|
this.maxInFlightMs = Math.max(0, Math.trunc(options.maxInFlightMs ?? DEFAULT_MAX_IN_FLIGHT_MS));
|
|
80
|
+
this.fairShareAcrossFeeds = options.fairShareAcrossFeeds === true;
|
|
81
|
+
this.fairShareGraceMs = Math.max(0, Math.trunc(options.fairShareGraceMs ?? 0));
|
|
82
|
+
this.fairShareMaxHoldMs = Math.max(0, Math.trunc(options.fairShareMaxHoldMs ?? DEFAULT_FAIR_SHARE_MAX_HOLD_MS));
|
|
71
83
|
this.now = options.now ?? Date.now;
|
|
72
84
|
}
|
|
73
85
|
/** Slots this gate will ever hand out at once. */
|
|
@@ -97,8 +109,16 @@ class VlmAdmissionGate {
|
|
|
97
109
|
feed.dropped++;
|
|
98
110
|
return null;
|
|
99
111
|
}
|
|
112
|
+
if (this.shouldYieldToHungrierFeed(name, now)) {
|
|
113
|
+
this.droppedFairShare++;
|
|
114
|
+
feed.dropped++;
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
100
117
|
const ticket = { name, acquiredAtMs: now };
|
|
101
118
|
this.inFlight.add(ticket);
|
|
119
|
+
// The slot is taken, so the fairness hold window closes and reopens only
|
|
120
|
+
// when something is released.
|
|
121
|
+
this.slotFreeSinceMs = null;
|
|
102
122
|
this.nextAllowedAtMs = now + this.minIntervalMs;
|
|
103
123
|
this.admitted++;
|
|
104
124
|
feed.admitted++;
|
|
@@ -114,7 +134,43 @@ class VlmAdmissionGate {
|
|
|
114
134
|
return;
|
|
115
135
|
if (!this.inFlight.delete(ticket)) {
|
|
116
136
|
this.lateReleases++;
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// Start the fairness hold clock from the moment capacity actually appeared,
|
|
140
|
+
// not from the first request that finds it — otherwise a feed that asks
|
|
141
|
+
// immediately restarts the window and the cap never binds.
|
|
142
|
+
if (this.slotFreeSinceMs === null)
|
|
143
|
+
this.slotFreeSinceMs = this.now();
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* True when `name` is better-served than the hungriest known feed and the
|
|
147
|
+
* slot has not yet been held open too long.
|
|
148
|
+
*
|
|
149
|
+
* "Hungriest" counts a feed that has NEVER been admitted as infinitely
|
|
150
|
+
* hungry, which is the case that matters: a feed losing every phase race has
|
|
151
|
+
* `lastAdmittedAtMs === null` forever and is precisely who this protects.
|
|
152
|
+
*/
|
|
153
|
+
shouldYieldToHungrierFeed(name, nowMs) {
|
|
154
|
+
if (!this.fairShareAcrossFeeds)
|
|
155
|
+
return false;
|
|
156
|
+
if (this.perFeed.size < 2)
|
|
157
|
+
return false;
|
|
158
|
+
if (this.slotFreeSinceMs !== null
|
|
159
|
+
&& nowMs - this.slotFreeSinceMs >= this.fairShareMaxHoldMs)
|
|
160
|
+
return false;
|
|
161
|
+
const mine = this.perFeed.get(name)?.lastAdmittedAtMs ?? null;
|
|
162
|
+
// Never admitted: nobody is hungrier, so never yield.
|
|
163
|
+
if (mine === null)
|
|
164
|
+
return false;
|
|
165
|
+
for (const other of this.perFeed.values()) {
|
|
166
|
+
if (other.name === name)
|
|
167
|
+
continue;
|
|
168
|
+
if (other.lastAdmittedAtMs === null)
|
|
169
|
+
return true;
|
|
170
|
+
if (mine - other.lastAdmittedAtMs > this.fairShareGraceMs)
|
|
171
|
+
return true;
|
|
117
172
|
}
|
|
173
|
+
return false;
|
|
118
174
|
}
|
|
119
175
|
/** Age (ms) of the oldest held slot, or null when idle. */
|
|
120
176
|
oldestInFlightAgeMs(nowMs) {
|
|
@@ -134,6 +190,8 @@ class VlmAdmissionGate {
|
|
|
134
190
|
this.admitted = 0;
|
|
135
191
|
this.droppedInFlight = 0;
|
|
136
192
|
this.droppedMinInterval = 0;
|
|
193
|
+
this.droppedFairShare = 0;
|
|
194
|
+
this.slotFreeSinceMs = null;
|
|
137
195
|
this.staleReclaimed = 0;
|
|
138
196
|
this.lateReleases = 0;
|
|
139
197
|
this.perFeed.clear();
|
|
@@ -146,6 +204,7 @@ class VlmAdmissionGate {
|
|
|
146
204
|
admitted: this.admitted,
|
|
147
205
|
droppedInFlight: this.droppedInFlight,
|
|
148
206
|
droppedMinInterval: this.droppedMinInterval,
|
|
207
|
+
droppedFairShare: this.droppedFairShare,
|
|
149
208
|
staleReclaimed: this.staleReclaimed,
|
|
150
209
|
lateReleases: this.lateReleases,
|
|
151
210
|
perFeed: [...this.perFeed.values()].map((f) => ({ ...f })),
|
|
@@ -172,6 +231,11 @@ class VlmAdmissionGate {
|
|
|
172
231
|
if (nowMs - t.acquiredAtMs > this.maxInFlightMs) {
|
|
173
232
|
this.inFlight.delete(t);
|
|
174
233
|
this.staleReclaimed++;
|
|
234
|
+
// A reclaim is capacity appearing, exactly as a release is. Without
|
|
235
|
+
// this the fairness hold cap would never start on a wedged slot and a
|
|
236
|
+
// yielded feed could be deferred past its own deadline.
|
|
237
|
+
if (this.slotFreeSinceMs === null)
|
|
238
|
+
this.slotFreeSinceMs = nowMs;
|
|
175
239
|
}
|
|
176
240
|
}
|
|
177
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VlmAdmissionGate.js","sourceRoot":"","sources":["../src/VlmAdmissionGate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;;;
|
|
1
|
+
{"version":3,"file":"VlmAdmissionGate.js","sourceRoot":"","sources":["../src/VlmAdmissionGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,8 @@ export interface VlmCandidate {
|
|
|
84
84
|
*/
|
|
85
85
|
readonly imageWidth?: number;
|
|
86
86
|
readonly imageHeight?: number;
|
|
87
|
+
/** Internal durable-spool identity; absent for the in-memory hold. */
|
|
88
|
+
readonly spoolId?: string;
|
|
87
89
|
}
|
|
88
90
|
export interface VlmCandidateBufferOptions {
|
|
89
91
|
/**
|
|
@@ -126,6 +128,8 @@ export interface VlmCandidateFeedStats {
|
|
|
126
128
|
expired: number;
|
|
127
129
|
}
|
|
128
130
|
export interface VlmCandidateBufferStats {
|
|
131
|
+
/** In-memory by default; durable implementation reports disk. */
|
|
132
|
+
storage?: 'memory' | 'disk';
|
|
129
133
|
/** Candidates held right now, across all feeds. */
|
|
130
134
|
buffered: number;
|
|
131
135
|
/** Encoded bytes held right now. */
|
|
@@ -145,6 +149,13 @@ export interface VlmCandidateBufferStats {
|
|
|
145
149
|
/** Age (ms) of the oldest held candidate, or null when empty. */
|
|
146
150
|
oldestAgeMs: number | null;
|
|
147
151
|
perFeed: VlmCandidateFeedStats[];
|
|
152
|
+
recovered?: number;
|
|
153
|
+
completed?: number;
|
|
154
|
+
retried?: number;
|
|
155
|
+
inFlight?: number;
|
|
156
|
+
writeFailed?: number;
|
|
157
|
+
readFailed?: number;
|
|
158
|
+
deleteFailed?: number;
|
|
148
159
|
}
|
|
149
160
|
/**
|
|
150
161
|
* DEFAULT_CANDIDATE_TTL_MS — how long an alert is still an alert.
|
|
@@ -192,6 +203,12 @@ export declare class VlmCandidateBuffer {
|
|
|
192
203
|
private serveTick;
|
|
193
204
|
private readonly serveOrder;
|
|
194
205
|
constructor(options?: VlmCandidateBufferOptions);
|
|
206
|
+
/** Run-lifecycle aliases shared with the durable spool implementation. */
|
|
207
|
+
startRun(): void;
|
|
208
|
+
stopRun(): void;
|
|
209
|
+
/** In-memory candidates are already gone after take(); lifecycle hooks no-op. */
|
|
210
|
+
complete(_candidate: VlmCandidate): void;
|
|
211
|
+
retry(_candidate: VlmCandidate): void;
|
|
195
212
|
getMaxFrames(): number;
|
|
196
213
|
getMaxPerFeed(): number;
|
|
197
214
|
getTtlMs(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VlmCandidateBuffer.d.ts","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"VlmCandidateBuffer.d.ts","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,6 +103,12 @@ class VlmCandidateBuffer {
|
|
|
103
103
|
this.ttlMs = Math.max(1, Math.trunc(options.ttlMs ?? exports.DEFAULT_CANDIDATE_TTL_MS));
|
|
104
104
|
this.now = options.now ?? Date.now;
|
|
105
105
|
}
|
|
106
|
+
/** Run-lifecycle aliases shared with the durable spool implementation. */
|
|
107
|
+
startRun() { this.reset(); }
|
|
108
|
+
stopRun() { this.reset(); }
|
|
109
|
+
/** In-memory candidates are already gone after take(); lifecycle hooks no-op. */
|
|
110
|
+
complete(_candidate) { }
|
|
111
|
+
retry(_candidate) { }
|
|
106
112
|
getMaxFrames() {
|
|
107
113
|
return this.maxFrames;
|
|
108
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VlmCandidateBuffer.js","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;;;
|
|
1
|
+
{"version":3,"file":"VlmCandidateBuffer.js","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -224,10 +224,26 @@ export interface EdgeAgentConfig {
|
|
|
224
224
|
/** Moving fraction treated as a lighting event, not motion. Default 0.8. */
|
|
225
225
|
lightningThreshold?: number;
|
|
226
226
|
/**
|
|
227
|
-
*
|
|
228
|
-
* through — a parked car
|
|
229
|
-
*
|
|
230
|
-
*
|
|
227
|
+
* How long same-place motion is suppressed before one verdict is let
|
|
228
|
+
* through, in MILLISECONDS — a parked car, a swinging sign or a display
|
|
229
|
+
* screen costs one analysis per window instead of one per look. Default
|
|
230
|
+
* 300000 (5 min). 0 disables suppression.
|
|
231
|
+
*
|
|
232
|
+
* This replaced the frame COUNT `stationaryReanalyzeEvery` on 2026-08-18,
|
|
233
|
+
* because a frame count silently couples suppression strength to the look
|
|
234
|
+
* cadence: ten suppressions span 300 s at a 30 s scan and 20 s at a 2 s
|
|
235
|
+
* scan, so looking more often multiplied the analyses a motionless-but-
|
|
236
|
+
* moving scene costs. Measured on real CCTV frames through the real gate,
|
|
237
|
+
* a fixed region of repeating motion cost 13 analyses/hour at 30 s and 120
|
|
238
|
+
* at 1 s under the frame count, and 13 at every cadence under this one.
|
|
239
|
+
*/
|
|
240
|
+
stationaryReanalyzeAfterMs?: number;
|
|
241
|
+
/**
|
|
242
|
+
* @deprecated Superseded by `stationaryReanalyzeAfterMs`. Still honoured:
|
|
243
|
+
* `CloudSensingManager` multiplies it by the resolved scan interval, which
|
|
244
|
+
* is the only place that knows both, so an existing connector config keeps
|
|
245
|
+
* meaning what it meant. Prefer the duration — a count re-interprets itself
|
|
246
|
+
* every time the look cadence moves.
|
|
231
247
|
*/
|
|
232
248
|
stationaryReanalyzeEvery?: number;
|
|
233
249
|
};
|
|
@@ -276,6 +292,23 @@ export interface EdgeAgentConfig {
|
|
|
276
292
|
* derived value as `admissionRetryDelayMs` (250…5000).
|
|
277
293
|
*/
|
|
278
294
|
pumpIntervalMs?: number;
|
|
295
|
+
/** Durable local evidence spool (enabled automatically by local sensing). */
|
|
296
|
+
diskSpool?: {
|
|
297
|
+
enabled?: boolean;
|
|
298
|
+
directory?: string;
|
|
299
|
+
/** Default 4096 persisted candidates. */
|
|
300
|
+
maxFrames?: number;
|
|
301
|
+
/** Default 128 persisted candidates per feed. */
|
|
302
|
+
maxPerFeed?: number;
|
|
303
|
+
/** Default 536870912 (512 MiB). */
|
|
304
|
+
maxBytes?: number;
|
|
305
|
+
/** Default 86400000 (24 hours). */
|
|
306
|
+
retentionMs?: number;
|
|
307
|
+
/** Default 5000. */
|
|
308
|
+
retryInitialMs?: number;
|
|
309
|
+
/** Default 300000. */
|
|
310
|
+
retryMaxMs?: number;
|
|
311
|
+
};
|
|
279
312
|
};
|
|
280
313
|
};
|
|
281
314
|
localSensing?: {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,CAAC,EAAE,MAAM,CAAC;IACV,uDAAuD;IACvD,CAAC,EAAE,MAAM,CAAC;IACV,2CAA2C;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,4CAA4C;IAC5C,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,UAAU,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACvC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAG9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IAGpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAejB,SAAS,CAAC,EAAE;QACV,wEAAwE;QACxE,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;;WAGG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,uEAAuE;QACvE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gDAAgD;QAChD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAGF,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAI/B,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAKF,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAI7B,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,6EAA6E;QAC7E,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,8EAA8E;QAC9E,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sDAAsD;QACtD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;;;;WAMG;QACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B;;;;;;;;WAQG;QACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B;;;;WAIG;QACH,6BAA6B,CAAC,EAAE,MAAM,CAAC;QACvC;;;;;;;;;;WAUG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B;;;WAGG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B;;;;;WAKG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B;;;;;;;;;;;;;;;;WAgBG;QACH,UAAU,CAAC,EAAE;YACX,gEAAgE;YAChE,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,yEAAyE;YACzE,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB;;;;;;;eAOG;YACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,oEAAoE;YACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;YAC7B,sFAAsF;YACtF,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,uDAAuD;YACvD,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,kEAAkE;YAClE,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,0EAA0E;YAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,4EAA4E;YAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B;;;;;;;;;;;;;eAaG;YACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;YACpC;;;;;;eAMG;YACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;SACnC,CAAC;QACF;;;;;;;;;;;;;;;;WAgBG;QACH,eAAe,CAAC,EAAE;YAChB,uDAAuD;YACvD,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,oDAAoD;YACpD,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,2EAA2E;YAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB;;;;;;eAMG;YACH,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB;;;;;;eAMG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YACf;;;eAGG;YACH,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,6EAA6E;YAC7E,SAAS,CAAC,EAAE;gBACV,OAAO,CAAC,EAAE,OAAO,CAAC;gBAClB,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,yCAAyC;gBACzC,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,iDAAiD;gBACjD,UAAU,CAAC,EAAE,MAAM,CAAC;gBACpB,mCAAmC;gBACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,mCAAmC;gBACnC,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,oBAAoB;gBACpB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,sBAAsB;gBACtB,UAAU,CAAC,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC;KACH,CAAC;IASF,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,qFAAqF;QACrF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iFAAiF;QACjF,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;;;;;;;WASG;QACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,gFAAgF;QAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B;;;WAGG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B;;;;;;WAMG;QACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,uEAAuE;QACvE,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC;;;;;;;;WAQG;QACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC;;;;;WAKG;QACH,kCAAkC,CAAC,EAAE,MAAM,CAAC;QAC5C;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH;;;;;;;;WAQG;QACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B;;;;;;;;WAQG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B;;;;WAIG;QACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IAGF,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAGF,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;KAC9D,CAAC;IAGF,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAGF,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAGF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAGF,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAE/C;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAeD,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAe9D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAiFhF"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|