@camstack/addon-post-analysis 1.2.91 → 1.2.92
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/{dist-CTIUuGRB.js → dist-BfrtqGyh.js} +32 -17
- package/dist/{dist-CquggoRC.mjs → dist-VnaTfwAL.mjs} +32 -17
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Q3EjHtct.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BIDGLXRs.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit-D2EZ3nOf.mjs → hostInit-CpWvyhen.mjs} +1 -1
- package/dist/pipeline-analytics/index.js +358 -160
- package/dist/pipeline-analytics/index.mjs +321 -123
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -21487,20 +21487,6 @@ var VectorStatsResultSchema = object({
|
|
|
21487
21487
|
exact: boolean()
|
|
21488
21488
|
});
|
|
21489
21489
|
method(VectorDeclareIndexInputSchema, _void(), { kind: "mutation" }), method(VectorUpsertInputSchema, VectorUpsertResultSchema, { kind: "mutation" }), method(VectorQueryInputSchema, VectorQueryResultSchema), method(VectorGetInputSchema, VectorGetResultSchema), method(VectorDeleteInputSchema, VectorDeleteResultSchema, { kind: "mutation" }), method(VectorDeleteByFilterInputSchema, VectorDeleteResultSchema, { kind: "mutation" }), method(VectorStatsInputSchema, VectorStatsResultSchema);
|
|
21490
|
-
/**
|
|
21491
|
-
* `videoclips` — the unified, navigable-clip surface for a camera.
|
|
21492
|
-
*
|
|
21493
|
-
* A device-scoped WRAPPER cap (like `pipeline-analytics`): exactly one active
|
|
21494
|
-
* provider per device, substitutable. The DEFAULT provider (registered by
|
|
21495
|
-
* `addon-post-analysis`, `defaultActive: true`) composes the analytics event
|
|
21496
|
-
* log (markers + thumbnails) with the recorder's `getPlaybackManifest` — a clip
|
|
21497
|
-
* is a time-WINDOW over existing footage, never a separate file. A camera that
|
|
21498
|
-
* exposes NATIVE onboard clips (Reolink/Hikvision NVR) can later substitute the
|
|
21499
|
-
* wrapper provider for its device and serve its own clip catalog + URLs.
|
|
21500
|
-
*
|
|
21501
|
-
* A `Clip` is purely time-based (subtree-blind): playback resolves segments by
|
|
21502
|
-
* temporal overlap, so the API never decides `continuous` vs `events`.
|
|
21503
|
-
*/
|
|
21504
21490
|
var ClipSchema = object({
|
|
21505
21491
|
/** Opaque, provider-namespaced id. The default provider encodes the time
|
|
21506
21492
|
* window so `getClipPlayback` is self-contained (no event re-query). */
|
|
@@ -21526,12 +21512,41 @@ var ClipSchema = object({
|
|
|
21526
21512
|
* of the event that owns `kind` (object > motion > audio). Do not extract
|
|
21527
21513
|
* a keyframe from the recorded segments. Other providers (onboard, HKSV)
|
|
21528
21514
|
* mint their own stills.
|
|
21515
|
+
*
|
|
21516
|
+
* **VOUCHED, never fabricated.** A provider emits this only for an event it
|
|
21517
|
+
* has CONFIRMED owns at least one media row (its own, or its owning track's).
|
|
21518
|
+
* Absent is meaningful — "this visit has no event still" — never "we did not
|
|
21519
|
+
* look". Stamping it from a URL template made 35% of one camera's clips point
|
|
21520
|
+
* at a 404 (device 3836, 2026-08-17: 64 of 179 clips dead, 63 of them motion).
|
|
21521
|
+
* A read that FAILS drops the claim; it never invents it.
|
|
21529
21522
|
*/
|
|
21530
21523
|
thumbnail: string().optional(),
|
|
21531
|
-
/**
|
|
21532
|
-
*
|
|
21533
|
-
*
|
|
21524
|
+
/**
|
|
21525
|
+
* An instant INSIDE this visit's footage, hole-safe, where a recorded still
|
|
21526
|
+
* can be decoded. Present whenever the visit came from recorded availability;
|
|
21527
|
+
* absent on a per-event padded window (there is no footage to promise).
|
|
21528
|
+
*
|
|
21529
|
+
* This is not a thumbnail and not a second byte path: it is the argument to
|
|
21530
|
+
* the recorder's existing still route. The surface — never the provider —
|
|
21531
|
+
* decides whether to use it. It is the midpoint of the visit's LONGEST
|
|
21532
|
+
* contiguous range, not of the visit: a visit spans its holes by
|
|
21533
|
+
* construction, so a naive midpoint lands in dead air.
|
|
21534
|
+
*/
|
|
21535
|
+
stillAtMs: number().optional(),
|
|
21536
|
+
/**
|
|
21537
|
+
* Analytics event ids that overlap this visit — a BOUNDED sample, newest
|
|
21538
|
+
* first within kind (object → motion → audio), capped at
|
|
21539
|
+
* {@link MAX_CLIP_EVENT_IDS}. Empty on footage-only clips.
|
|
21540
|
+
*
|
|
21541
|
+
* Bounded because it is not a payload the surface pages through: one visit on
|
|
21542
|
+
* device 615 carried 2 345 ids, and `eventIds` was 99% of a 153 KB
|
|
21543
|
+
* camera-day. Read {@link eventCount} for the true total.
|
|
21544
|
+
*/
|
|
21534
21545
|
eventIds: array(string()).optional(),
|
|
21546
|
+
/** How many analytics events actually overlap this visit. Differs from
|
|
21547
|
+
* `eventIds.length` exactly when the sample was capped — so a truncated
|
|
21548
|
+
* list is never mistaken for a quiet visit. */
|
|
21549
|
+
eventCount: number().int().nonnegative().optional(),
|
|
21535
21550
|
/** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
|
|
21536
21551
|
* than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
|
|
21537
21552
|
* bar keeps showing them via `recording.getAvailability`. */
|
|
@@ -21456,20 +21456,6 @@ var VectorStatsResultSchema = object({
|
|
|
21456
21456
|
exact: boolean()
|
|
21457
21457
|
});
|
|
21458
21458
|
method(VectorDeclareIndexInputSchema, _void(), { kind: "mutation" }), method(VectorUpsertInputSchema, VectorUpsertResultSchema, { kind: "mutation" }), method(VectorQueryInputSchema, VectorQueryResultSchema), method(VectorGetInputSchema, VectorGetResultSchema), method(VectorDeleteInputSchema, VectorDeleteResultSchema, { kind: "mutation" }), method(VectorDeleteByFilterInputSchema, VectorDeleteResultSchema, { kind: "mutation" }), method(VectorStatsInputSchema, VectorStatsResultSchema);
|
|
21459
|
-
/**
|
|
21460
|
-
* `videoclips` — the unified, navigable-clip surface for a camera.
|
|
21461
|
-
*
|
|
21462
|
-
* A device-scoped WRAPPER cap (like `pipeline-analytics`): exactly one active
|
|
21463
|
-
* provider per device, substitutable. The DEFAULT provider (registered by
|
|
21464
|
-
* `addon-post-analysis`, `defaultActive: true`) composes the analytics event
|
|
21465
|
-
* log (markers + thumbnails) with the recorder's `getPlaybackManifest` — a clip
|
|
21466
|
-
* is a time-WINDOW over existing footage, never a separate file. A camera that
|
|
21467
|
-
* exposes NATIVE onboard clips (Reolink/Hikvision NVR) can later substitute the
|
|
21468
|
-
* wrapper provider for its device and serve its own clip catalog + URLs.
|
|
21469
|
-
*
|
|
21470
|
-
* A `Clip` is purely time-based (subtree-blind): playback resolves segments by
|
|
21471
|
-
* temporal overlap, so the API never decides `continuous` vs `events`.
|
|
21472
|
-
*/
|
|
21473
21459
|
var ClipSchema = object({
|
|
21474
21460
|
/** Opaque, provider-namespaced id. The default provider encodes the time
|
|
21475
21461
|
* window so `getClipPlayback` is self-contained (no event re-query). */
|
|
@@ -21495,12 +21481,41 @@ var ClipSchema = object({
|
|
|
21495
21481
|
* of the event that owns `kind` (object > motion > audio). Do not extract
|
|
21496
21482
|
* a keyframe from the recorded segments. Other providers (onboard, HKSV)
|
|
21497
21483
|
* mint their own stills.
|
|
21484
|
+
*
|
|
21485
|
+
* **VOUCHED, never fabricated.** A provider emits this only for an event it
|
|
21486
|
+
* has CONFIRMED owns at least one media row (its own, or its owning track's).
|
|
21487
|
+
* Absent is meaningful — "this visit has no event still" — never "we did not
|
|
21488
|
+
* look". Stamping it from a URL template made 35% of one camera's clips point
|
|
21489
|
+
* at a 404 (device 3836, 2026-08-17: 64 of 179 clips dead, 63 of them motion).
|
|
21490
|
+
* A read that FAILS drops the claim; it never invents it.
|
|
21498
21491
|
*/
|
|
21499
21492
|
thumbnail: string().optional(),
|
|
21500
|
-
/**
|
|
21501
|
-
*
|
|
21502
|
-
*
|
|
21493
|
+
/**
|
|
21494
|
+
* An instant INSIDE this visit's footage, hole-safe, where a recorded still
|
|
21495
|
+
* can be decoded. Present whenever the visit came from recorded availability;
|
|
21496
|
+
* absent on a per-event padded window (there is no footage to promise).
|
|
21497
|
+
*
|
|
21498
|
+
* This is not a thumbnail and not a second byte path: it is the argument to
|
|
21499
|
+
* the recorder's existing still route. The surface — never the provider —
|
|
21500
|
+
* decides whether to use it. It is the midpoint of the visit's LONGEST
|
|
21501
|
+
* contiguous range, not of the visit: a visit spans its holes by
|
|
21502
|
+
* construction, so a naive midpoint lands in dead air.
|
|
21503
|
+
*/
|
|
21504
|
+
stillAtMs: number().optional(),
|
|
21505
|
+
/**
|
|
21506
|
+
* Analytics event ids that overlap this visit — a BOUNDED sample, newest
|
|
21507
|
+
* first within kind (object → motion → audio), capped at
|
|
21508
|
+
* {@link MAX_CLIP_EVENT_IDS}. Empty on footage-only clips.
|
|
21509
|
+
*
|
|
21510
|
+
* Bounded because it is not a payload the surface pages through: one visit on
|
|
21511
|
+
* device 615 carried 2 345 ids, and `eventIds` was 99% of a 153 KB
|
|
21512
|
+
* camera-day. Read {@link eventCount} for the true total.
|
|
21513
|
+
*/
|
|
21503
21514
|
eventIds: array(string()).optional(),
|
|
21515
|
+
/** How many analytics events actually overlap this visit. Differs from
|
|
21516
|
+
* `eventIds.length` exactly when the sample was capped — so a truncated
|
|
21517
|
+
* list is never mistaken for a quiet visit. */
|
|
21518
|
+
eventCount: number().int().nonnegative().optional(),
|
|
21504
21519
|
/** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
|
|
21505
21520
|
* than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
|
|
21506
21521
|
* bar keeps showing them via `recording.getAvailability`. */
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-BfrtqGyh.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
let node_fs$1 = require_dist.__toESM(node_fs, 1);
|
|
8
8
|
node_fs = require_dist.__toESM(node_fs);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Z as embeddingEncoderCapability, et as hfModelUrl, gt as BaseAddon } from "../dist-
|
|
1
|
+
import { Z as embeddingEncoderCapability, et as hfModelUrl, gt as BaseAddon } from "../dist-VnaTfwAL.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import "node:fs";
|