@trillboards/edge-sdk 0.2.61 → 0.2.64

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 (71) hide show
  1. package/deploy/litertlm/test_trillboards_litertlm_shim.py +132 -0
  2. package/deploy/litertlm/trillboards-litertlm-shim.pth +1 -0
  3. package/deploy/litertlm/trillboards_litertlm_shim.py +214 -0
  4. package/deploy/macos/bench-local-vlm.sh +8 -4
  5. package/deploy/macos/build-macos-pkg.sh +4 -0
  6. package/deploy/macos/scripts/setup-litertlm.sh +99 -2
  7. package/deploy/systemd/setup-litertlm.sh +99 -2
  8. package/deploy/windows/build-windows.ps1 +4 -0
  9. package/deploy/windows/register-litertlm-task.ps1 +22 -0
  10. package/deploy/windows/setup-litertlm.ps1 +131 -3
  11. package/deploy/windows/trillboards-edge.cmd +19 -0
  12. package/dist/CloudSensingManager.d.ts +65 -0
  13. package/dist/CloudSensingManager.d.ts.map +1 -1
  14. package/dist/CloudSensingManager.js +65 -30
  15. package/dist/CloudSensingManager.js.map +1 -1
  16. package/dist/DurableVlmCandidateSpool.d.ts +21 -0
  17. package/dist/DurableVlmCandidateSpool.d.ts.map +1 -1
  18. package/dist/DurableVlmCandidateSpool.js +126 -1
  19. package/dist/DurableVlmCandidateSpool.js.map +1 -1
  20. package/dist/EdgeAgent.js +1 -1
  21. package/dist/LiteRtVlmProvider.d.ts +74 -7
  22. package/dist/LiteRtVlmProvider.d.ts.map +1 -1
  23. package/dist/LiteRtVlmProvider.js.map +1 -1
  24. package/dist/MosaicSource.d.ts +18 -0
  25. package/dist/MosaicSource.d.ts.map +1 -1
  26. package/dist/MosaicSource.js +23 -0
  27. package/dist/MosaicSource.js.map +1 -1
  28. package/dist/VlmCandidateBuffer.d.ts +45 -6
  29. package/dist/VlmCandidateBuffer.d.ts.map +1 -1
  30. package/dist/VlmCandidateBuffer.js +76 -7
  31. package/dist/VlmCandidateBuffer.js.map +1 -1
  32. package/dist/analyzeCostObserver.d.ts +96 -0
  33. package/dist/analyzeCostObserver.d.ts.map +1 -0
  34. package/dist/analyzeCostObserver.js +130 -0
  35. package/dist/analyzeCostObserver.js.map +1 -0
  36. package/dist/config.d.ts +8 -0
  37. package/dist/config.d.ts.map +1 -1
  38. package/dist/config.js.map +1 -1
  39. package/dist/connectorCadence.d.ts +286 -57
  40. package/dist/connectorCadence.d.ts.map +1 -1
  41. package/dist/connectorCadence.js +313 -61
  42. package/dist/connectorCadence.js.map +1 -1
  43. package/dist/deployedCadence.d.ts +8 -2
  44. package/dist/deployedCadence.d.ts.map +1 -1
  45. package/dist/deployedCadence.js +6 -3
  46. package/dist/deployedCadence.js.map +1 -1
  47. package/dist/deployedCadenceSource.d.ts +10 -0
  48. package/dist/deployedCadenceSource.d.ts.map +1 -1
  49. package/dist/deployedCadenceSource.js +11 -0
  50. package/dist/deployedCadenceSource.js.map +1 -1
  51. package/dist/diagnose.d.ts +1 -1
  52. package/dist/diagnose.js +1 -1
  53. package/dist/localInferenceSchema.d.ts +8 -3
  54. package/dist/localInferenceSchema.d.ts.map +1 -1
  55. package/dist/localInferenceSchema.js +8 -3
  56. package/dist/localInferenceSchema.js.map +1 -1
  57. package/dist/localSensing.d.ts +22 -1
  58. package/dist/localSensing.d.ts.map +1 -1
  59. package/dist/localSensing.js +101 -7
  60. package/dist/localSensing.js.map +1 -1
  61. package/dist/localVlmBench.d.ts +82 -0
  62. package/dist/localVlmBench.d.ts.map +1 -1
  63. package/dist/localVlmBench.js +88 -0
  64. package/dist/localVlmBench.js.map +1 -1
  65. package/dist/sensingCatchRate.d.ts.map +1 -1
  66. package/dist/sensingCatchRate.js +75 -10
  67. package/dist/sensingCatchRate.js.map +1 -1
  68. package/dist/sensingRunMode.d.ts.map +1 -1
  69. package/dist/sensingRunMode.js +38 -2
  70. package/dist/sensingRunMode.js.map +1 -1
  71. package/package.json +1 -1
@@ -25,6 +25,13 @@
25
25
  * backlog the gate exists to prevent, and the caller is responsible for that
26
26
  * invariant because only the caller has the cascade verdict.
27
27
  *
28
+ * EPISODE COALESCING. A 500 ms look cadence can produce many motion-positive
29
+ * frames while the single model slot is occupied. Those are not independent
30
+ * alerts merely because they are separate JPEGs. Candidates no more than
31
+ * `episodeGapMs` apart form one episode: retain its onset and freshest
32
+ * follow-up, and count every superseded middle frame as `coalesced`. A quiet
33
+ * gap starts a new episode with a new protected onset.
34
+ *
28
35
  * THREE BOUNDS, ALL COUNTED. A hold that is unbounded in size is a memory leak
29
36
  * and a hold that is unbounded in age is the gate's original complaint. So:
30
37
  *
@@ -37,17 +44,17 @@
37
44
  * - `ttlMs` — past this age the gate's insight takes over and the candidate
38
45
  * is dropped as expired rather than analysed.
39
46
  *
40
- * Every one of those three drops is COUNTED. A silent eviction is the same
47
+ * Every one of those three drops is COUNTED. Coalescing is counted separately:
48
+ * it is deliberate compression of one event, not evidence lost to capacity.
49
+ * A silent eviction is the same
41
50
  * defect as the silent drop this class was built to fix — it would move the
42
51
  * lost frame from one invisible place to another.
43
52
  *
44
53
  * SERVICE ORDER is least-recently-served feed first, oldest candidate within
45
54
  * that feed. Across feeds that is round-robin, so service cannot be won by
46
- * whichever timer happens to fire first. Within a feed it is FIFO, because
47
- * consecutive candidates from one feed are frames of the SAME event and the
48
- * earliest one is the one that shows the transition — a person entering a
49
- * restricted area is visible in the frame where they enter, and by the last
50
- * frame of the burst they may already be out of view.
55
+ * whichever timer happens to fire first. Episodes remain FIFO within a feed.
56
+ * Within an episode, the earliest frame is protected because it shows the
57
+ * transition; the remaining slot follows the scene until the episode closes.
51
58
  *
52
59
  * THREADING. Node is single-threaded and no method here awaits, so `peek()`
53
60
  * followed by `take()` is one critical section by construction: they are
@@ -56,7 +63,7 @@
56
63
  * it, and only then commits with `take()`.
57
64
  */
58
65
  Object.defineProperty(exports, "__esModule", { value: true });
59
- exports.VlmCandidateBuffer = exports.DEFAULT_CANDIDATE_TTL_MS = void 0;
66
+ exports.VlmCandidateBuffer = exports.DEFAULT_CANDIDATES_PER_EPISODE = exports.DEFAULT_CANDIDATE_EPISODE_GAP_MS = exports.DEFAULT_CANDIDATE_TTL_MS = void 0;
60
67
  /**
61
68
  * DEFAULT_CANDIDATE_TTL_MS — how long an alert is still an alert.
62
69
  *
@@ -80,6 +87,10 @@ exports.VlmCandidateBuffer = exports.DEFAULT_CANDIDATE_TTL_MS = void 0;
80
87
  * it can never stand in for the cadence.
81
88
  */
82
89
  exports.DEFAULT_CANDIDATE_TTL_MS = 90000;
90
+ /** A short quiet interval closes one motion episode at the 500 ms look cadence. */
91
+ exports.DEFAULT_CANDIDATE_EPISODE_GAP_MS = 3000;
92
+ /** Onset + freshest follow-up; intermediate looks are redundant evidence. */
93
+ exports.DEFAULT_CANDIDATES_PER_EPISODE = 2;
83
94
  const DEFAULT_MAX_FRAMES = 32;
84
95
  const DEFAULT_MAX_PER_FEED = 2;
85
96
  const DEFAULT_MAX_BYTES = 16 * 1024 * 1024;
@@ -90,6 +101,7 @@ class VlmCandidateBuffer {
90
101
  this.heldBytes = 0;
91
102
  this.enqueued = 0;
92
103
  this.served = 0;
104
+ this.coalesced = 0;
93
105
  this.evicted = 0;
94
106
  this.expired = 0;
95
107
  /** Monotonic tie-break so two feeds served in the same millisecond rotate. */
@@ -99,6 +111,8 @@ class VlmCandidateBuffer {
99
111
  // A per-feed cap above the global cap is not a cap; clamp so the two can
100
112
  // never disagree about what "one feed's share" means.
101
113
  this.maxPerFeed = Math.min(this.maxFrames, Math.max(1, Math.trunc(options.maxPerFeed ?? DEFAULT_MAX_PER_FEED)));
114
+ this.maxPerEpisode = Math.min(this.maxPerFeed, Math.max(1, Math.trunc(options.maxPerEpisode ?? exports.DEFAULT_CANDIDATES_PER_EPISODE)));
115
+ this.episodeGapMs = Math.max(1, Math.trunc(options.episodeGapMs ?? exports.DEFAULT_CANDIDATE_EPISODE_GAP_MS));
102
116
  this.maxBytes = Math.max(1, Math.trunc(options.maxBytes ?? DEFAULT_MAX_BYTES));
103
117
  this.ttlMs = Math.max(1, Math.trunc(options.ttlMs ?? exports.DEFAULT_CANDIDATE_TTL_MS));
104
118
  this.now = options.now ?? Date.now;
@@ -115,6 +129,12 @@ class VlmCandidateBuffer {
115
129
  getMaxPerFeed() {
116
130
  return this.maxPerFeed;
117
131
  }
132
+ getMaxPerEpisode() {
133
+ return this.maxPerEpisode;
134
+ }
135
+ getEpisodeGapMs() {
136
+ return this.episodeGapMs;
137
+ }
118
138
  getTtlMs() {
119
139
  return this.ttlMs;
120
140
  }
@@ -158,6 +178,24 @@ class VlmCandidateBuffer {
158
178
  return 'rejected';
159
179
  }
160
180
  const feed = this.feedQueue(entry.name);
181
+ this.advanceEpisode(feed, entry.enqueuedAtMs);
182
+ const episodeItems = this.currentEpisodeItems(feed);
183
+ if (episodeItems.length >= this.maxPerEpisode) {
184
+ if (this.maxPerEpisode === 1) {
185
+ // An explicit one-frame episode means onset-only. Count this look as
186
+ // accepted/coalesced without replacing the transition evidence.
187
+ feed.enqueued++;
188
+ this.enqueued++;
189
+ feed.coalesced++;
190
+ this.coalesced++;
191
+ return 'buffered';
192
+ }
193
+ // The episode's first frame is the transition; never replace it. Once a
194
+ // follow-up exists, each later 500 ms look supersedes the previous
195
+ // oldest follow-up so the remaining slots stay as fresh as possible.
196
+ const superseded = episodeItems[1];
197
+ this.coalesce(feed, superseded);
198
+ }
161
199
  // 1. This feed's own share first, so the eviction lands on the feed that
162
200
  // is over its allowance rather than on a quiet neighbour.
163
201
  while (feed.items.length >= this.maxPerFeed) {
@@ -252,6 +290,7 @@ class VlmCandidateBuffer {
252
290
  this.heldBytes = 0;
253
291
  this.enqueued = 0;
254
292
  this.served = 0;
293
+ this.coalesced = 0;
255
294
  this.evicted = 0;
256
295
  this.expired = 0;
257
296
  this.serveTick = 0;
@@ -264,10 +303,13 @@ class VlmCandidateBuffer {
264
303
  bytes: this.heldBytes,
265
304
  maxFrames: this.maxFrames,
266
305
  maxPerFeed: this.maxPerFeed,
306
+ maxPerEpisode: this.maxPerEpisode,
307
+ episodeGapMs: this.episodeGapMs,
267
308
  maxBytes: this.maxBytes,
268
309
  ttlMs: this.ttlMs,
269
310
  enqueued: this.enqueued,
270
311
  served: this.served,
312
+ coalesced: this.coalesced,
271
313
  evicted: this.evicted,
272
314
  expired: this.expired,
273
315
  oldestAgeMs: this.oldestAgeMs(now),
@@ -276,6 +318,7 @@ class VlmCandidateBuffer {
276
318
  buffered: f.items.length,
277
319
  enqueued: f.enqueued,
278
320
  served: f.served,
321
+ coalesced: f.coalesced,
279
322
  evicted: f.evicted,
280
323
  expired: f.expired,
281
324
  })),
@@ -291,8 +334,11 @@ class VlmCandidateBuffer {
291
334
  lastServedAtMs: null,
292
335
  enqueued: 0,
293
336
  served: 0,
337
+ coalesced: 0,
294
338
  evicted: 0,
295
339
  expired: 0,
340
+ episodeStartedAtMs: null,
341
+ lastCandidateAtMs: null,
296
342
  };
297
343
  this.feeds.set(name, feed);
298
344
  }
@@ -350,6 +396,29 @@ class VlmCandidateBuffer {
350
396
  feed.evicted++;
351
397
  this.evicted++;
352
398
  }
399
+ advanceEpisode(feed, candidateAtMs) {
400
+ if (feed.lastCandidateAtMs === null ||
401
+ candidateAtMs - feed.lastCandidateAtMs > this.episodeGapMs) {
402
+ feed.episodeStartedAtMs = candidateAtMs;
403
+ }
404
+ feed.lastCandidateAtMs = candidateAtMs;
405
+ }
406
+ currentEpisodeItems(feed) {
407
+ const startedAt = feed.episodeStartedAtMs;
408
+ if (startedAt === null)
409
+ return [];
410
+ return feed.items.filter((item) => item.enqueuedAtMs >= startedAt);
411
+ }
412
+ coalesce(feed, item) {
413
+ const index = feed.items.indexOf(item);
414
+ if (index < 0)
415
+ return;
416
+ feed.items.splice(index, 1);
417
+ this.held--;
418
+ this.heldBytes -= item.jpeg.length;
419
+ feed.coalesced++;
420
+ this.coalesced++;
421
+ }
353
422
  }
354
423
  exports.VlmCandidateBuffer = VlmCandidateBuffer;
355
424
  //# sourceMappingURL=VlmCandidateBuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VlmCandidateBuffer.js","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VlmCandidateBuffer.js","sourceRoot":"","sources":["../src/VlmCandidateBuffer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * analyzeCostObserver — what a frame costs ON THIS BOX, measured by this box.
3
+ *
4
+ * ── Why this exists ─────────────────────────────────────────────────────────
5
+ *
6
+ * `MEASURED_LOCAL_ANALYZE_MS` is ONE constant, and the fleet it sizes does not
7
+ * vary by a little. As of 2026-08-19 the measured spread on the SHIPPED path is
8
+ * an Apple M4 Max at 0.45 s/frame against a GPU-less 2-vCPU x86 box at tens of
9
+ * seconds — and `periodicIntervalMsForFeedCount` turns that constant directly
10
+ * into the still-scene heartbeat, which IS the resolution of the hazard
11
+ * persistence timeline the SOP product's legal argument turns on. So a single
12
+ * global number is wrong in both directions at once: it asks the slow box for a
13
+ * cadence it cannot serve, and it denies the fast box resolution it has already
14
+ * paid for.
15
+ *
16
+ * The fix is not a better constant. There is no constant that is right for a
17
+ * fleet with that spread, and picking the fast desk is the exact error
18
+ * `.claude/lessons/2026-08-18-a-benchmark-with-no-machine-axis-is-a-spec-for-one-desk.md`
19
+ * was written about. The fix is that the box measures ITSELF — it is already
20
+ * running the very inference the number describes, once per frame, forever.
21
+ *
22
+ * ── Why the constant stays, and stays at 7.30 s ─────────────────────────────
23
+ *
24
+ * `MEASURED_LOCAL_ANALYZE_MS` becomes the BOOTSTRAP: what to assume before this
25
+ * machine has measured itself. It should therefore be conservative rather than
26
+ * accurate, and 7.30 s is exactly that — the docblock on it already says it is
27
+ * not a measurement of any machine. A connector that guessed FAST on a slow box
28
+ * would oversubscribe the single admission slot from its first minute; guessing
29
+ * slow costs only heartbeat resolution, and only until this observer settles.
30
+ *
31
+ * ── Three decisions worth not re-deriving ───────────────────────────────────
32
+ *
33
+ * 1. MEDIAN, never mean. One degenerate generation runs to the token cap
34
+ * (measured 15-23 s against a sub-second median). A mean would let a single
35
+ * bad frame re-tune the cadence for every camera on the host; a median over
36
+ * a 16-frame window cannot be moved by fewer than 8 of them.
37
+ *
38
+ * 2. Only a SUCCESSFUL analysis is recorded. A throw is not a frame cost — the
39
+ * same reasoning that makes `localInferencesCompleted` count past every
40
+ * throw, and the same reasoning `keptForTiming` applies in the bench. A
41
+ * request that failed fast would otherwise look like a very quick frame.
42
+ *
43
+ * 3. `medianMs()` is NULL until MIN_SAMPLES, and that is not a nicety. The first
44
+ * frames on a cold box carry the model load and the slower settle behind it —
45
+ * the bench spends WARMUP_CALLS_BEFORE_TIMING (16) untimed calls excluding
46
+ * exactly that, having measured a 36% monotonic drift over the frames after a
47
+ * single warm-up. A connector cannot refuse to sense while it warms up, so it
48
+ * does the other half instead: it keeps the conservative bootstrap until it
49
+ * has enough samples, and because the window ROLLS, the cold frames age out
50
+ * on their own. Convergence is therefore downward, which is the safe
51
+ * direction — a box never claims to be faster than it has proved.
52
+ */
53
+ /**
54
+ * Frames behind the rolling median. Matched to the bench's
55
+ * `WARMUP_CALLS_BEFORE_TIMING` on purpose: that is the measured order of
56
+ * magnitude on which this runtime settles, so a window shorter than it would
57
+ * still be reporting the settle.
58
+ */
59
+ export declare const ANALYZE_COST_WINDOW = 16;
60
+ /**
61
+ * Samples before this observer will answer at all. Half the window: enough that
62
+ * the median is a median, few enough that a connector converges off its
63
+ * bootstrap within minutes rather than hours at a 30 s analyze floor.
64
+ */
65
+ export declare const ANALYZE_COST_MIN_SAMPLES = 8;
66
+ /**
67
+ * A bounded ring of recent per-frame costs. Bounded because a connector runs for
68
+ * months: an unbounded array here is a slow leak on a box we are also telling
69
+ * customers needs only 8 GB.
70
+ */
71
+ export declare class AnalyzeCostObserver {
72
+ private readonly window;
73
+ private readonly minSamples;
74
+ private readonly ring;
75
+ private next;
76
+ private seen;
77
+ constructor(options?: {
78
+ window?: number;
79
+ minSamples?: number;
80
+ });
81
+ /** Record ONE completed analysis. Anything that is not a duration is dropped. */
82
+ record(ms: unknown): void;
83
+ /** Completed analyses ever recorded — not the ring size. */
84
+ get sampleCount(): number;
85
+ /** Has this box measured itself enough to overrule the bootstrap constant? */
86
+ settled(): boolean;
87
+ /**
88
+ * The median of the rolling window, or `null` while the bootstrap still
89
+ * governs. `null` is deliberately not `MEASURED_LOCAL_ANALYZE_MS`: the caller
90
+ * must be able to tell "this box has not measured itself yet" from "this box
91
+ * measured itself and got the default", because only the first should be
92
+ * re-derived later.
93
+ */
94
+ medianMs(): number | null;
95
+ }
96
+ //# sourceMappingURL=analyzeCostObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzeCostObserver.d.ts","sourceRoot":"","sources":["../src/analyzeCostObserver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAU1C;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IAErC,OAAO,CAAC,IAAI,CAAK;IAEjB,OAAO,CAAC,IAAI,CAAK;gBAEL,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IASlE,iFAAiF;IACjF,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAQzB,4DAA4D;IAC5D,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,8EAA8E;IAC9E,OAAO,IAAI,OAAO;IAIlB;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;CAQ1B"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * analyzeCostObserver — what a frame costs ON THIS BOX, measured by this box.
4
+ *
5
+ * ── Why this exists ─────────────────────────────────────────────────────────
6
+ *
7
+ * `MEASURED_LOCAL_ANALYZE_MS` is ONE constant, and the fleet it sizes does not
8
+ * vary by a little. As of 2026-08-19 the measured spread on the SHIPPED path is
9
+ * an Apple M4 Max at 0.45 s/frame against a GPU-less 2-vCPU x86 box at tens of
10
+ * seconds — and `periodicIntervalMsForFeedCount` turns that constant directly
11
+ * into the still-scene heartbeat, which IS the resolution of the hazard
12
+ * persistence timeline the SOP product's legal argument turns on. So a single
13
+ * global number is wrong in both directions at once: it asks the slow box for a
14
+ * cadence it cannot serve, and it denies the fast box resolution it has already
15
+ * paid for.
16
+ *
17
+ * The fix is not a better constant. There is no constant that is right for a
18
+ * fleet with that spread, and picking the fast desk is the exact error
19
+ * `.claude/lessons/2026-08-18-a-benchmark-with-no-machine-axis-is-a-spec-for-one-desk.md`
20
+ * was written about. The fix is that the box measures ITSELF — it is already
21
+ * running the very inference the number describes, once per frame, forever.
22
+ *
23
+ * ── Why the constant stays, and stays at 7.30 s ─────────────────────────────
24
+ *
25
+ * `MEASURED_LOCAL_ANALYZE_MS` becomes the BOOTSTRAP: what to assume before this
26
+ * machine has measured itself. It should therefore be conservative rather than
27
+ * accurate, and 7.30 s is exactly that — the docblock on it already says it is
28
+ * not a measurement of any machine. A connector that guessed FAST on a slow box
29
+ * would oversubscribe the single admission slot from its first minute; guessing
30
+ * slow costs only heartbeat resolution, and only until this observer settles.
31
+ *
32
+ * ── Three decisions worth not re-deriving ───────────────────────────────────
33
+ *
34
+ * 1. MEDIAN, never mean. One degenerate generation runs to the token cap
35
+ * (measured 15-23 s against a sub-second median). A mean would let a single
36
+ * bad frame re-tune the cadence for every camera on the host; a median over
37
+ * a 16-frame window cannot be moved by fewer than 8 of them.
38
+ *
39
+ * 2. Only a SUCCESSFUL analysis is recorded. A throw is not a frame cost — the
40
+ * same reasoning that makes `localInferencesCompleted` count past every
41
+ * throw, and the same reasoning `keptForTiming` applies in the bench. A
42
+ * request that failed fast would otherwise look like a very quick frame.
43
+ *
44
+ * 3. `medianMs()` is NULL until MIN_SAMPLES, and that is not a nicety. The first
45
+ * frames on a cold box carry the model load and the slower settle behind it —
46
+ * the bench spends WARMUP_CALLS_BEFORE_TIMING (16) untimed calls excluding
47
+ * exactly that, having measured a 36% monotonic drift over the frames after a
48
+ * single warm-up. A connector cannot refuse to sense while it warms up, so it
49
+ * does the other half instead: it keeps the conservative bootstrap until it
50
+ * has enough samples, and because the window ROLLS, the cold frames age out
51
+ * on their own. Convergence is therefore downward, which is the safe
52
+ * direction — a box never claims to be faster than it has proved.
53
+ */
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.AnalyzeCostObserver = exports.ANALYZE_COST_MIN_SAMPLES = exports.ANALYZE_COST_WINDOW = void 0;
56
+ /**
57
+ * Frames behind the rolling median. Matched to the bench's
58
+ * `WARMUP_CALLS_BEFORE_TIMING` on purpose: that is the measured order of
59
+ * magnitude on which this runtime settles, so a window shorter than it would
60
+ * still be reporting the settle.
61
+ */
62
+ exports.ANALYZE_COST_WINDOW = 16;
63
+ /**
64
+ * Samples before this observer will answer at all. Half the window: enough that
65
+ * the median is a median, few enough that a connector converges off its
66
+ * bootstrap within minutes rather than hours at a 30 s analyze floor.
67
+ */
68
+ exports.ANALYZE_COST_MIN_SAMPLES = 8;
69
+ /**
70
+ * Ignore a duration that cannot be a frame. Zero and negatives are clock
71
+ * artifacts, not fast frames, and a NaN would poison the median silently.
72
+ */
73
+ function isUsable(ms) {
74
+ return typeof ms === 'number' && Number.isFinite(ms) && ms > 0;
75
+ }
76
+ /**
77
+ * A bounded ring of recent per-frame costs. Bounded because a connector runs for
78
+ * months: an unbounded array here is a slow leak on a box we are also telling
79
+ * customers needs only 8 GB.
80
+ */
81
+ class AnalyzeCostObserver {
82
+ constructor(options = {}) {
83
+ this.ring = [];
84
+ this.next = 0;
85
+ this.seen = 0;
86
+ const w = isUsable(options.window) ? Math.floor(options.window) : exports.ANALYZE_COST_WINDOW;
87
+ this.window = Math.max(1, w);
88
+ const m = isUsable(options.minSamples) ? Math.floor(options.minSamples) : exports.ANALYZE_COST_MIN_SAMPLES;
89
+ // Never require more samples than the ring can hold, or the observer could
90
+ // never settle and the bootstrap would silently be permanent.
91
+ this.minSamples = Math.max(1, Math.min(this.window, m));
92
+ }
93
+ /** Record ONE completed analysis. Anything that is not a duration is dropped. */
94
+ record(ms) {
95
+ if (!isUsable(ms))
96
+ return;
97
+ if (this.ring.length < this.window)
98
+ this.ring.push(ms);
99
+ else
100
+ this.ring[this.next] = ms;
101
+ this.next = (this.next + 1) % this.window;
102
+ this.seen += 1;
103
+ }
104
+ /** Completed analyses ever recorded — not the ring size. */
105
+ get sampleCount() {
106
+ return this.seen;
107
+ }
108
+ /** Has this box measured itself enough to overrule the bootstrap constant? */
109
+ settled() {
110
+ return this.ring.length >= this.minSamples;
111
+ }
112
+ /**
113
+ * The median of the rolling window, or `null` while the bootstrap still
114
+ * governs. `null` is deliberately not `MEASURED_LOCAL_ANALYZE_MS`: the caller
115
+ * must be able to tell "this box has not measured itself yet" from "this box
116
+ * measured itself and got the default", because only the first should be
117
+ * re-derived later.
118
+ */
119
+ medianMs() {
120
+ if (!this.settled())
121
+ return null;
122
+ const sorted = [...this.ring].sort((a, b) => a - b);
123
+ const mid = sorted.length >> 1;
124
+ return sorted.length % 2 === 1
125
+ ? sorted[mid]
126
+ : (sorted[mid - 1] + sorted[mid]) / 2;
127
+ }
128
+ }
129
+ exports.AnalyzeCostObserver = AnalyzeCostObserver;
130
+ //# sourceMappingURL=analyzeCostObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzeCostObserver.js","sourceRoot":"","sources":["../src/analyzeCostObserver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;;;AAEH;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,EAAE,CAAC;AAEtC;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAE1C;;;GAGG;AACH,SAAS,QAAQ,CAAC,EAAW;IAC3B,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAa,mBAAmB;IAW9B,YAAY,UAAoD,EAAE;QANjD,SAAI,GAAa,EAAE,CAAC;QAE7B,SAAI,GAAG,CAAC,CAAC;QAET,SAAI,GAAG,CAAC,CAAC;QAGf,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,2BAAmB,CAAC;QACtF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gCAAwB,CAAC;QACnG,2EAA2E;QAC3E,8DAA8D;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,EAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,4DAA4D;IAC5D,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,8EAA8E;IAC9E,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACb,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF;AAtDD,kDAsDC"}
package/dist/config.d.ts CHANGED
@@ -317,6 +317,10 @@ export interface EdgeAgentConfig {
317
317
  maxFrames?: number;
318
318
  /** Candidates ONE feed may hold — the anti-starvation bound. Default 2. */
319
319
  maxPerFeed?: number;
320
+ /** Frames retained per motion episode. Default 2: onset + freshest follow-up. */
321
+ maxPerEpisode?: number;
322
+ /** Candidate-free time that closes an episode. Default 3000 ms. */
323
+ episodeGapMs?: number;
320
324
  /**
321
325
  * Total encoded bytes held. Default 16777216 (16 MiB). Measured on the
322
326
  * production CCTV fixtures at jpegQuality 70, a 640x480 frame is ~54 KB
@@ -346,6 +350,10 @@ export interface EdgeAgentConfig {
346
350
  maxFrames?: number;
347
351
  /** Default 128 persisted candidates per feed. */
348
352
  maxPerFeed?: number;
353
+ /** Default 2 persisted candidates per motion episode. */
354
+ maxPerEpisode?: number;
355
+ /** Candidate-free time that closes an episode. Default 3000 ms. */
356
+ episodeGapMs?: number;
349
357
  /** Default 536870912 (512 MiB). */
350
358
  maxBytes?: number;
351
359
  /** Default 86400000 (24 hours). */
@@ -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;;;;;;;;;;;;;;;WAeG;QACH,YAAY,CAAC,EAAE;YACb,8DAA8D;YAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,qDAAqD;YACrD,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB;;;;;eAKG;YACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;YACnC,wDAAwD;YACxD,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;YAC1B,mEAAmE;YACnE,KAAK,CAAC,EAAE;gBACN,2EAA2E;gBAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,gEAAgE;gBAChE,aAAa,CAAC,EAAE,MAAM,CAAC;gBACvB,8DAA8D;gBAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,gEAAgE;gBAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAC3B,yEAAyE;gBACzE,uBAAuB,CAAC,EAAE,MAAM,CAAC;gBACjC,oEAAoE;gBACpE,YAAY,CAAC,EAAE,MAAM,CAAC;aACvB,CAAC;SACH,CAAC;QACF,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,iFAAiF;YACjF,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,mEAAmE;YACnE,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB;;;;;;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,yDAAyD;gBACzD,aAAa,CAAC,EAAE,MAAM,CAAC;gBACvB,mEAAmE;gBACnE,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}