@camstack/addon-post-analysis 1.2.84 → 1.2.86
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-C_mhxTWT.js → dist-Crk9pYee.js} +86 -10
- package/dist/{dist-CJWHkPz8.mjs → dist-CzdBsvoR.mjs} +81 -11
- 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-ZD03Wv9i.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-GLqrUCoW.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit-BhW_ys0C.mjs → hostInit-DtD0Fd_e.mjs} +1 -1
- package/dist/pipeline-analytics/index.js +845 -86
- package/dist/pipeline-analytics/index.mjs +844 -86
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -29,7 +29,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
29
29
|
enumerable: true
|
|
30
30
|
}) : target, mod));
|
|
31
31
|
//#endregion
|
|
32
|
-
//#region ../types/dist/event-category-
|
|
32
|
+
//#region ../types/dist/event-category-C0lyLd5U.mjs
|
|
33
33
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
34
34
|
EventCategory["SystemBoot"] = "system.boot";
|
|
35
35
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -46,9 +46,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
46
46
|
EventCategory["SystemRestartCompleted"] = "system.restart-completed";
|
|
47
47
|
/**
|
|
48
48
|
* A newer addon or server-root package version was found by the
|
|
49
|
-
* authoritative registry check. Emitted once
|
|
50
|
-
* `(
|
|
51
|
-
*
|
|
49
|
+
* authoritative registry check. Emitted once when any observed
|
|
50
|
+
* `latestVersion` changes (or a package/node first appears behind);
|
|
51
|
+
* the payload carries the full currently-available list. Repeated
|
|
52
|
+
* polling of the same latests is silent.
|
|
52
53
|
*/
|
|
53
54
|
EventCategory["UpdateAvailable"] = "update.available";
|
|
54
55
|
/**
|
|
@@ -7791,6 +7792,23 @@ var RecordingBandSchema = object({
|
|
|
7791
7792
|
postBufferSec: number().min(0).optional()
|
|
7792
7793
|
});
|
|
7793
7794
|
/**
|
|
7795
|
+
* Adjacent recorded ranges closer than this belong to the SAME videoclip visit.
|
|
7796
|
+
*
|
|
7797
|
+
* This is NOT the recorder calendar merge (`RANGE_MERGE_GAP_MS = 5s`). That
|
|
7798
|
+
* threshold is for the timeline bar, which must show exact holes — including
|
|
7799
|
+
* the ~8s GOP/keyframe rolls measured on events-mode cameras (dispensa 1438,
|
|
7800
|
+
* 2026-08-16). A videoclip is the events-mode keep-window (writer session),
|
|
7801
|
+
* whose idle bound is `postBufferSec`. Using that default (30s) glues those
|
|
7802
|
+
* intra-visit holes without joining visits hours apart.
|
|
7803
|
+
*
|
|
7804
|
+
* Segments stay the source of truth on disk (`startMs-durMs-bytes.m4s`); a
|
|
7805
|
+
* visit is derived, not a second copy of the files.
|
|
7806
|
+
*/
|
|
7807
|
+
var VISIT_MERGE_GAP_MS = {
|
|
7808
|
+
preBufferSec: 10,
|
|
7809
|
+
postBufferSec: 30
|
|
7810
|
+
}.postBufferSec * 1e3;
|
|
7811
|
+
/**
|
|
7794
7812
|
* Per-device retention overrides. Every field is optional; an unset or `0`
|
|
7795
7813
|
* value inherits the node-wide recorder default. Only footage-lifetime limits
|
|
7796
7814
|
* live per-camera: `maxAgeDays` and `maxSizeGb`. The disk-occupancy threshold
|
|
@@ -14824,6 +14842,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
14824
14842
|
"alarm-disarmed",
|
|
14825
14843
|
"alarm-arming",
|
|
14826
14844
|
"alarm-arm-refused",
|
|
14845
|
+
"addon-updated",
|
|
14846
|
+
"server-updated",
|
|
14847
|
+
"export-completed",
|
|
14827
14848
|
"camera-online",
|
|
14828
14849
|
"camera-offline",
|
|
14829
14850
|
"camera-disabled",
|
|
@@ -15947,6 +15968,18 @@ var NC_CONDITION_CATALOG = [
|
|
|
15947
15968
|
value: "server-update-available",
|
|
15948
15969
|
label: "Server update available"
|
|
15949
15970
|
},
|
|
15971
|
+
{
|
|
15972
|
+
value: "addon-updated",
|
|
15973
|
+
label: "Addons updated"
|
|
15974
|
+
},
|
|
15975
|
+
{
|
|
15976
|
+
value: "server-updated",
|
|
15977
|
+
label: "Server updated"
|
|
15978
|
+
},
|
|
15979
|
+
{
|
|
15980
|
+
value: "export-completed",
|
|
15981
|
+
label: "Export completed"
|
|
15982
|
+
},
|
|
15950
15983
|
{
|
|
15951
15984
|
value: "alarm-arming",
|
|
15952
15985
|
label: "Alarm arming (exit delay)"
|
|
@@ -17283,13 +17316,19 @@ var RetrainStatusSchema = _enum([
|
|
|
17283
17316
|
* "never marked" from "already trained" must read `retrainStatus`.
|
|
17284
17317
|
*
|
|
17285
17318
|
* `debug` does NOT pin; it is attention, not durability.
|
|
17319
|
+
*
|
|
17320
|
+
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
17321
|
+
* A favourited track is skipped by retention the same way `staging` is, but
|
|
17322
|
+
* it does not enter `none|staging|trained` and has no staging budget.
|
|
17286
17323
|
*/
|
|
17287
17324
|
var TrackFlagFields = {
|
|
17288
17325
|
/** Operator marked this track as training material — i.e. `retrainStatus` is
|
|
17289
17326
|
* `'staging'`. */
|
|
17290
17327
|
markForTrain: boolean().optional(),
|
|
17291
17328
|
/** Operator marked this track for diagnostic attention. */
|
|
17292
|
-
debug: boolean().optional()
|
|
17329
|
+
debug: boolean().optional(),
|
|
17330
|
+
/** Operator favourited this track. Pins it against pruning. */
|
|
17331
|
+
favourited: boolean().optional()
|
|
17293
17332
|
};
|
|
17294
17333
|
/**
|
|
17295
17334
|
* The lifecycle field itself, on the READ surfaces only (`Track`, `KeyEvent`).
|
|
@@ -17314,6 +17353,7 @@ var TrackFlagsSchema = object({
|
|
|
17314
17353
|
trackId: string(),
|
|
17315
17354
|
markForTrain: boolean(),
|
|
17316
17355
|
debug: boolean(),
|
|
17356
|
+
favourited: boolean(),
|
|
17317
17357
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
17318
17358
|
* a track row) because this shape is only ever produced by the write body,
|
|
17319
17359
|
* which always knows it — and a surface that has just written needs to render
|
|
@@ -18249,7 +18289,7 @@ var pipelineAnalyticsCapability = {
|
|
|
18249
18289
|
auth: "admin"
|
|
18250
18290
|
}),
|
|
18251
18291
|
/**
|
|
18252
|
-
* Set the per-track operator flags (`markForTrain`, `debug`) on ONE track.
|
|
18292
|
+
* Set the per-track operator flags (`markForTrain`, `debug`, `favourited`) on ONE track.
|
|
18253
18293
|
* The patch is PARTIAL — an omitted key is left untouched — because the
|
|
18254
18294
|
* three surfaces that write it (admin Events grid, viewer track detail,
|
|
18255
18295
|
* viewer cluster detail) each own one toggle and must not clobber the other.
|
|
@@ -21429,8 +21469,28 @@ var ClipSchema = object({
|
|
|
21429
21469
|
startMs: number(),
|
|
21430
21470
|
endMs: number()
|
|
21431
21471
|
}),
|
|
21432
|
-
/**
|
|
21433
|
-
thumbnail
|
|
21472
|
+
/**
|
|
21473
|
+
* Lazy thumbnail URL, never inlined.
|
|
21474
|
+
*
|
|
21475
|
+
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
21476
|
+
* continuous event+fragment visit) MUST use the snapshot of the **main
|
|
21477
|
+
* event of the interval** — `getEventMedia({ eventId, kind: 'snapshot' })`
|
|
21478
|
+
* of the event that owns `kind` (object > motion > audio). Do not extract
|
|
21479
|
+
* a keyframe from the recorded segments. Other providers (onboard, HKSV)
|
|
21480
|
+
* mint their own stills.
|
|
21481
|
+
*/
|
|
21482
|
+
thumbnail: string().optional(),
|
|
21483
|
+
/** Analytics event ids that overlap this visit. Empty on footage-only clips.
|
|
21484
|
+
* The default provider's visit grain puts many motion heartbeats on one clip
|
|
21485
|
+
* instead of minting one clip per marker. */
|
|
21486
|
+
eventIds: array(string()).optional(),
|
|
21487
|
+
/** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
|
|
21488
|
+
* than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
|
|
21489
|
+
* bar keeps showing them via `recording.getAvailability`. */
|
|
21490
|
+
holes: array(object({
|
|
21491
|
+
startMs: number(),
|
|
21492
|
+
endMs: number()
|
|
21493
|
+
})).optional()
|
|
21434
21494
|
});
|
|
21435
21495
|
var ClipPlaybackSchema = object({
|
|
21436
21496
|
/** HLS master URL through the hub data-plane (Range + token in path). */
|
|
@@ -27790,7 +27850,9 @@ var ExportOptionsSchema = object({
|
|
|
27790
27850
|
includeAudio: boolean(),
|
|
27791
27851
|
maxLifeMs: number().int().positive(),
|
|
27792
27852
|
deleteAfterDownload: boolean(),
|
|
27793
|
-
title: string().max(200).optional()
|
|
27853
|
+
title: string().max(200).optional(),
|
|
27854
|
+
/** Notification-output target ids to ping when this export becomes ready. */
|
|
27855
|
+
notifyTargetIds: array(string().min(1)).max(20).optional()
|
|
27794
27856
|
}).superRefine((v, ctx) => {
|
|
27795
27857
|
if (v.speed !== void 0 && v.timelapse !== void 0) ctx.addIssue({
|
|
27796
27858
|
code: ZodIssueCode.custom,
|
|
@@ -27868,10 +27930,18 @@ var ExportBytesSchema = object({
|
|
|
27868
27930
|
});
|
|
27869
27931
|
method(object({
|
|
27870
27932
|
deviceId: number(),
|
|
27871
|
-
|
|
27933
|
+
/** @deprecated Prefer `profiles`. Kept so timelapse/notifiers keep working. */
|
|
27934
|
+
profile: string().optional(),
|
|
27935
|
+
profiles: array(string()).min(1).optional(),
|
|
27872
27936
|
fromMs: number(),
|
|
27873
27937
|
toMs: number(),
|
|
27874
27938
|
options: ExportOptionsSchema
|
|
27939
|
+
}).superRefine((v, ctx) => {
|
|
27940
|
+
if ((v.profiles !== void 0 && v.profiles.length > 0 ? v.profiles : v.profile !== void 0 ? [v.profile] : []).length < 1) ctx.addIssue({
|
|
27941
|
+
code: ZodIssueCode.custom,
|
|
27942
|
+
message: "pass profiles[] (min 1) or legacy profile",
|
|
27943
|
+
path: ["profiles"]
|
|
27944
|
+
});
|
|
27875
27945
|
}), ExportRecordSchema, {
|
|
27876
27946
|
kind: "mutation",
|
|
27877
27947
|
auth: "protected"
|
|
@@ -39127,6 +39197,12 @@ Object.defineProperty(exports, "TrackSourceSchema", {
|
|
|
39127
39197
|
return TrackSourceSchema;
|
|
39128
39198
|
}
|
|
39129
39199
|
});
|
|
39200
|
+
Object.defineProperty(exports, "VISIT_MERGE_GAP_MS", {
|
|
39201
|
+
enumerable: true,
|
|
39202
|
+
get: function() {
|
|
39203
|
+
return VISIT_MERGE_GAP_MS;
|
|
39204
|
+
}
|
|
39205
|
+
});
|
|
39130
39206
|
Object.defineProperty(exports, "__exportAll", {
|
|
39131
39207
|
enumerable: true,
|
|
39132
39208
|
get: function() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../types/dist/event-category-
|
|
1
|
+
//#region ../types/dist/event-category-C0lyLd5U.mjs
|
|
2
2
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
3
3
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4
4
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -15,9 +15,10 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
15
15
|
EventCategory["SystemRestartCompleted"] = "system.restart-completed";
|
|
16
16
|
/**
|
|
17
17
|
* A newer addon or server-root package version was found by the
|
|
18
|
-
* authoritative registry check. Emitted once
|
|
19
|
-
* `(
|
|
20
|
-
*
|
|
18
|
+
* authoritative registry check. Emitted once when any observed
|
|
19
|
+
* `latestVersion` changes (or a package/node first appears behind);
|
|
20
|
+
* the payload carries the full currently-available list. Repeated
|
|
21
|
+
* polling of the same latests is silent.
|
|
21
22
|
*/
|
|
22
23
|
EventCategory["UpdateAvailable"] = "update.available";
|
|
23
24
|
/**
|
|
@@ -7760,6 +7761,23 @@ var RecordingBandSchema = object({
|
|
|
7760
7761
|
postBufferSec: number().min(0).optional()
|
|
7761
7762
|
});
|
|
7762
7763
|
/**
|
|
7764
|
+
* Adjacent recorded ranges closer than this belong to the SAME videoclip visit.
|
|
7765
|
+
*
|
|
7766
|
+
* This is NOT the recorder calendar merge (`RANGE_MERGE_GAP_MS = 5s`). That
|
|
7767
|
+
* threshold is for the timeline bar, which must show exact holes — including
|
|
7768
|
+
* the ~8s GOP/keyframe rolls measured on events-mode cameras (dispensa 1438,
|
|
7769
|
+
* 2026-08-16). A videoclip is the events-mode keep-window (writer session),
|
|
7770
|
+
* whose idle bound is `postBufferSec`. Using that default (30s) glues those
|
|
7771
|
+
* intra-visit holes without joining visits hours apart.
|
|
7772
|
+
*
|
|
7773
|
+
* Segments stay the source of truth on disk (`startMs-durMs-bytes.m4s`); a
|
|
7774
|
+
* visit is derived, not a second copy of the files.
|
|
7775
|
+
*/
|
|
7776
|
+
var VISIT_MERGE_GAP_MS = {
|
|
7777
|
+
preBufferSec: 10,
|
|
7778
|
+
postBufferSec: 30
|
|
7779
|
+
}.postBufferSec * 1e3;
|
|
7780
|
+
/**
|
|
7763
7781
|
* Per-device retention overrides. Every field is optional; an unset or `0`
|
|
7764
7782
|
* value inherits the node-wide recorder default. Only footage-lifetime limits
|
|
7765
7783
|
* live per-camera: `maxAgeDays` and `maxSizeGb`. The disk-occupancy threshold
|
|
@@ -14793,6 +14811,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
14793
14811
|
"alarm-disarmed",
|
|
14794
14812
|
"alarm-arming",
|
|
14795
14813
|
"alarm-arm-refused",
|
|
14814
|
+
"addon-updated",
|
|
14815
|
+
"server-updated",
|
|
14816
|
+
"export-completed",
|
|
14796
14817
|
"camera-online",
|
|
14797
14818
|
"camera-offline",
|
|
14798
14819
|
"camera-disabled",
|
|
@@ -15916,6 +15937,18 @@ var NC_CONDITION_CATALOG = [
|
|
|
15916
15937
|
value: "server-update-available",
|
|
15917
15938
|
label: "Server update available"
|
|
15918
15939
|
},
|
|
15940
|
+
{
|
|
15941
|
+
value: "addon-updated",
|
|
15942
|
+
label: "Addons updated"
|
|
15943
|
+
},
|
|
15944
|
+
{
|
|
15945
|
+
value: "server-updated",
|
|
15946
|
+
label: "Server updated"
|
|
15947
|
+
},
|
|
15948
|
+
{
|
|
15949
|
+
value: "export-completed",
|
|
15950
|
+
label: "Export completed"
|
|
15951
|
+
},
|
|
15919
15952
|
{
|
|
15920
15953
|
value: "alarm-arming",
|
|
15921
15954
|
label: "Alarm arming (exit delay)"
|
|
@@ -17252,13 +17285,19 @@ var RetrainStatusSchema = _enum([
|
|
|
17252
17285
|
* "never marked" from "already trained" must read `retrainStatus`.
|
|
17253
17286
|
*
|
|
17254
17287
|
* `debug` does NOT pin; it is attention, not durability.
|
|
17288
|
+
*
|
|
17289
|
+
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
17290
|
+
* A favourited track is skipped by retention the same way `staging` is, but
|
|
17291
|
+
* it does not enter `none|staging|trained` and has no staging budget.
|
|
17255
17292
|
*/
|
|
17256
17293
|
var TrackFlagFields = {
|
|
17257
17294
|
/** Operator marked this track as training material — i.e. `retrainStatus` is
|
|
17258
17295
|
* `'staging'`. */
|
|
17259
17296
|
markForTrain: boolean().optional(),
|
|
17260
17297
|
/** Operator marked this track for diagnostic attention. */
|
|
17261
|
-
debug: boolean().optional()
|
|
17298
|
+
debug: boolean().optional(),
|
|
17299
|
+
/** Operator favourited this track. Pins it against pruning. */
|
|
17300
|
+
favourited: boolean().optional()
|
|
17262
17301
|
};
|
|
17263
17302
|
/**
|
|
17264
17303
|
* The lifecycle field itself, on the READ surfaces only (`Track`, `KeyEvent`).
|
|
@@ -17283,6 +17322,7 @@ var TrackFlagsSchema = object({
|
|
|
17283
17322
|
trackId: string(),
|
|
17284
17323
|
markForTrain: boolean(),
|
|
17285
17324
|
debug: boolean(),
|
|
17325
|
+
favourited: boolean(),
|
|
17286
17326
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
17287
17327
|
* a track row) because this shape is only ever produced by the write body,
|
|
17288
17328
|
* which always knows it — and a surface that has just written needs to render
|
|
@@ -18218,7 +18258,7 @@ var pipelineAnalyticsCapability = {
|
|
|
18218
18258
|
auth: "admin"
|
|
18219
18259
|
}),
|
|
18220
18260
|
/**
|
|
18221
|
-
* Set the per-track operator flags (`markForTrain`, `debug`) on ONE track.
|
|
18261
|
+
* Set the per-track operator flags (`markForTrain`, `debug`, `favourited`) on ONE track.
|
|
18222
18262
|
* The patch is PARTIAL — an omitted key is left untouched — because the
|
|
18223
18263
|
* three surfaces that write it (admin Events grid, viewer track detail,
|
|
18224
18264
|
* viewer cluster detail) each own one toggle and must not clobber the other.
|
|
@@ -21398,8 +21438,28 @@ var ClipSchema = object({
|
|
|
21398
21438
|
startMs: number(),
|
|
21399
21439
|
endMs: number()
|
|
21400
21440
|
}),
|
|
21401
|
-
/**
|
|
21402
|
-
thumbnail
|
|
21441
|
+
/**
|
|
21442
|
+
* Lazy thumbnail URL, never inlined.
|
|
21443
|
+
*
|
|
21444
|
+
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
21445
|
+
* continuous event+fragment visit) MUST use the snapshot of the **main
|
|
21446
|
+
* event of the interval** — `getEventMedia({ eventId, kind: 'snapshot' })`
|
|
21447
|
+
* of the event that owns `kind` (object > motion > audio). Do not extract
|
|
21448
|
+
* a keyframe from the recorded segments. Other providers (onboard, HKSV)
|
|
21449
|
+
* mint their own stills.
|
|
21450
|
+
*/
|
|
21451
|
+
thumbnail: string().optional(),
|
|
21452
|
+
/** Analytics event ids that overlap this visit. Empty on footage-only clips.
|
|
21453
|
+
* The default provider's visit grain puts many motion heartbeats on one clip
|
|
21454
|
+
* instead of minting one clip per marker. */
|
|
21455
|
+
eventIds: array(string()).optional(),
|
|
21456
|
+
/** Intra-visit footage holes (GOP rolls, discarded segments) still shorter
|
|
21457
|
+
* than `VISIT_MERGE_GAP_MS`. Playback concatenates around them; the timeline
|
|
21458
|
+
* bar keeps showing them via `recording.getAvailability`. */
|
|
21459
|
+
holes: array(object({
|
|
21460
|
+
startMs: number(),
|
|
21461
|
+
endMs: number()
|
|
21462
|
+
})).optional()
|
|
21403
21463
|
});
|
|
21404
21464
|
var ClipPlaybackSchema = object({
|
|
21405
21465
|
/** HLS master URL through the hub data-plane (Range + token in path). */
|
|
@@ -27759,7 +27819,9 @@ var ExportOptionsSchema = object({
|
|
|
27759
27819
|
includeAudio: boolean(),
|
|
27760
27820
|
maxLifeMs: number().int().positive(),
|
|
27761
27821
|
deleteAfterDownload: boolean(),
|
|
27762
|
-
title: string().max(200).optional()
|
|
27822
|
+
title: string().max(200).optional(),
|
|
27823
|
+
/** Notification-output target ids to ping when this export becomes ready. */
|
|
27824
|
+
notifyTargetIds: array(string().min(1)).max(20).optional()
|
|
27763
27825
|
}).superRefine((v, ctx) => {
|
|
27764
27826
|
if (v.speed !== void 0 && v.timelapse !== void 0) ctx.addIssue({
|
|
27765
27827
|
code: ZodIssueCode.custom,
|
|
@@ -27837,10 +27899,18 @@ var ExportBytesSchema = object({
|
|
|
27837
27899
|
});
|
|
27838
27900
|
method(object({
|
|
27839
27901
|
deviceId: number(),
|
|
27840
|
-
|
|
27902
|
+
/** @deprecated Prefer `profiles`. Kept so timelapse/notifiers keep working. */
|
|
27903
|
+
profile: string().optional(),
|
|
27904
|
+
profiles: array(string()).min(1).optional(),
|
|
27841
27905
|
fromMs: number(),
|
|
27842
27906
|
toMs: number(),
|
|
27843
27907
|
options: ExportOptionsSchema
|
|
27908
|
+
}).superRefine((v, ctx) => {
|
|
27909
|
+
if ((v.profiles !== void 0 && v.profiles.length > 0 ? v.profiles : v.profile !== void 0 ? [v.profile] : []).length < 1) ctx.addIssue({
|
|
27910
|
+
code: ZodIssueCode.custom,
|
|
27911
|
+
message: "pass profiles[] (min 1) or legacy profile",
|
|
27912
|
+
path: ["profiles"]
|
|
27913
|
+
});
|
|
27844
27914
|
}), ExportRecordSchema, {
|
|
27845
27915
|
kind: "mutation",
|
|
27846
27916
|
auth: "protected"
|
|
@@ -38844,4 +38914,4 @@ function vectorDimFromBase64(encoded) {
|
|
|
38844
38914
|
return Math.floor(Buffer.from(encoded, "base64").byteLength / 4);
|
|
38845
38915
|
}
|
|
38846
38916
|
//#endregion
|
|
38847
|
-
export {
|
|
38917
|
+
export { faceGalleryCapability as $, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as A, record as At, VISIT_MERGE_GAP_MS as B, NcSnoozeSchema as C, array as Ct, OpsLogEntrySchema as D, number as Dt, NcTaxonomySchema as E, literal as Et, TIMELAPSE_DENSE_FLOOR_SEC as F, audioModeOf as G, alarmPanelCapability as H, TimelapseRuleInputSchema as I, customAction as J, buildEventKindDescriptor as K, TimelapseRulePatchSchema as L, SCENE_DEFAULT_UNCOVERED_POLICY as M, unknown as Mt, SCENE_DIVERGED as N, EventCategory as Nt, RECORDING_EXPORT_MAX_READ_BYTES as O, object as Ot, SceneMonitorSchema as P, encodeVectorBase64 as Q, TimelapseRuleSchema as R, NcSnoozeInputSchema as S, _enum as St, NcSystemEventKindSchema as T, discriminatedUnion as Tt, assertTimelapseCadences as U, addonWidgetsSourceCapability as V, audioMetricsCapability as W, deriveRecordingMode as X, defineCustomActions as Y, embeddingEncoderCapability as Z, NcRuleInputSchema as _, createEvent as _t, DETECTION_PIPELINE_CAP_NAME as a, pipelineAnalyticsCapability as at, NcRuleTargetSchema as b, nodePin as bt, EVENT_PAD_MS as c, readTimelapseGeneratedAt as ct, NC_ALARM_SYSTEM_EVENT_KINDS as d, vectorDimFromBase64 as dt, hfModelUrl as et, NC_CONDITION_CATALOG as f, videoclipsCapability as ft, NcConditionDescriptorSchema as g, DeviceType as gt, NC_TAXONOMY as h, BaseAddon as ht, DETECTION_MACRO_CLASSES as i, notificationRulesCapability as it, SCENE_DEFAULT_ANCHOR_THRESHOLD as j, string as jt, RetrainStatusSchema as k, partialRecord as kt, LabelAttributionSchema as l, sceneMonitorCapability as lt, NC_SNOOZE_MAX_MINUTES as m, errMsg as mt, DEFAULT_EVENT_COLOR as n, isScheduleActive as nt, DeclaredDevices as o, plateGalleryCapability as ot, NC_DEFAULT_SNOOZE_MINUTES as p, zoneAnalyticsCapability as pt, cosineSimilarity as q, DEFAULT_TIMELAPSE_PREVIEW_TEXT as r, kebabToCamel as rt, EVENT_KIND_BY_CAP as s, readDeviceStateFrom as st, BaseDevice as t, isDetectionMacroClass as tt, MACRO_LABELS as u, subKindsOf as ut, NcRulePatchSchema as v, hydrateSchema as vt, NcSnoozeSuppressedSchema as w, boolean as wt, NcScheduleSchema as x, sleep as xt, NcRuleSchema as y, isDeviceScopedCap as yt, TrackSourceSchema as z };
|
|
@@ -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-Crk9pYee.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 {
|
|
1
|
+
import { Z as embeddingEncoderCapability, et as hfModelUrl, ht as BaseAddon } from "../dist-CzdBsvoR.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import "node:fs";
|