@camstack/addon-post-analysis 1.2.299 → 1.2.300
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/{clip-model-registry-DCztUu1G.mjs → clip-model-registry-B44A1-Xh.mjs} +168 -2
- package/dist/{clip-model-registry-hTbsQ-z7.js → clip-model-registry-BeJUe0vk.js} +269 -1
- package/dist/embedding-encoder/index.js +26 -7
- package/dist/embedding-encoder/index.mjs +26 -7
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-thT_ff8Z.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-D_krhxwa.mjs} +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BdQKTjgL.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-D9z3Da9D.mjs → hostInit-DbRGSQxy.mjs} +1 -1
- package/dist/pipeline-analytics/index.js +2927 -538
- package/dist/pipeline-analytics/index.mjs +2927 -538
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C3QGV7zb.mjs +0 -26
|
@@ -7629,7 +7629,7 @@ function errMsg(err) {
|
|
|
7629
7629
|
return String(err);
|
|
7630
7630
|
}
|
|
7631
7631
|
//#endregion
|
|
7632
|
-
//#region ../types/dist/composition-
|
|
7632
|
+
//#region ../types/dist/composition-Dq42XWp0.mjs
|
|
7633
7633
|
/**
|
|
7634
7634
|
* Deterministic SHA-256 hash of an arbitrary serialisable value. The
|
|
7635
7635
|
* canonical form sorts object keys alphabetically at every depth so two
|
|
@@ -7662,6 +7662,58 @@ function replaceWithSortedKeys(_key, value) {
|
|
|
7662
7662
|
return value;
|
|
7663
7663
|
}
|
|
7664
7664
|
/**
|
|
7665
|
+
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
7666
|
+
*
|
|
7667
|
+
* ## Why a download, on every node, including the container
|
|
7668
|
+
*
|
|
7669
|
+
* The version of ffmpeg used to be CODE: baked into the image, changeable only
|
|
7670
|
+
* by rebuilding and rolling it. Now it is DATA — this file states the release,
|
|
7671
|
+
* and a node that boots with a different one downloads it. Changing ffmpeg is a
|
|
7672
|
+
* framework bump, not an image rebuild.
|
|
7673
|
+
*
|
|
7674
|
+
* It also settles the licence question by removing it. FFmpeg's licence is
|
|
7675
|
+
* chosen at compile time: the core is LGPL 2.1+, `--enable-gpl` makes it GPL
|
|
7676
|
+
* (for x264/x265), `--enable-version3` makes that v3, and `--enable-nonfree`
|
|
7677
|
+
* makes the result undistributable. These are GPL v3 builds, and we do not
|
|
7678
|
+
* distribute them: the user's own node fetches the archive from the project
|
|
7679
|
+
* that publishes it, so we convey no GPL work and inherit none of the
|
|
7680
|
+
* obligations that come with conveying one. That is the whole reason the image
|
|
7681
|
+
* no longer installs ffmpeg at all — not a technical preference.
|
|
7682
|
+
*
|
|
7683
|
+
* ## Why jellyfin-ffmpeg
|
|
7684
|
+
*
|
|
7685
|
+
* One vendor covering linux-amd64, linux-arm64, darwin-arm64 and darwin-x64
|
|
7686
|
+
* from one release, with the widest hardware surface of anything maintained:
|
|
7687
|
+
* VAAPI, QSV, NVENC/NVDEC, AMF, Vulkan, OpenCL and DRM on amd64, plus Rockchip
|
|
7688
|
+
* MPP on arm64. It reaches the vendor libraries through dlopen trampolines,
|
|
7689
|
+
* so the binary is not linked against a driver stack it may not find.
|
|
7690
|
+
*
|
|
7691
|
+
* **What it still needs from the host, measured 2026-09-19.** On the Unraid
|
|
7692
|
+
* HOST, which has no libva, `-vaapi_device` aborts the process outright —
|
|
7693
|
+
* `implib-gen: libva-drm.so.2: failed to load library ... Assertion '0 &&
|
|
7694
|
+
* "Assertion in generated code"' failed`. Inside our container, which installs
|
|
7695
|
+
* libva plus the iHD driver, the same command encodes: verified end to end with
|
|
7696
|
+
* `testsrc → format=nv12,hwupload → h264_vaapi`. So the image drops ffmpeg and
|
|
7697
|
+
* KEEPS the Intel media stack; the drivers are the part a binary cannot bring.
|
|
7698
|
+
*
|
|
7699
|
+
* ## Why each artifact carries a checksum and a claim
|
|
7700
|
+
*
|
|
7701
|
+
* The download is now the only source, so `sha256` is verified before anything
|
|
7702
|
+
* is extracted — jellyfin publishes no checksums on its release assets, so
|
|
7703
|
+
* these are ours, taken at the version bump. And `expectedHwaccels` is what the
|
|
7704
|
+
* build is supposed to be able to do: a binary that probes short of its own
|
|
7705
|
+
* claim is a source that changed under us, which is precisely what went
|
|
7706
|
+
* unnoticed for months when a static build turned out to carry no VAAPI at all
|
|
7707
|
+
* (D536).
|
|
7708
|
+
*/
|
|
7709
|
+
/** The pinned jellyfin-ffmpeg release. Changing this is the version change. */
|
|
7710
|
+
var FFMPEG_RELEASE = "8.1.2-5";
|
|
7711
|
+
var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFMPEG_RELEASE}`;
|
|
7712
|
+
function portable(target) {
|
|
7713
|
+
return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
|
|
7714
|
+
}
|
|
7715
|
+
portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64");
|
|
7716
|
+
/**
|
|
7665
7717
|
* LA tabella "quale booleano di questo tipo di device conta come ALTO", e il
|
|
7666
7718
|
* valutatore puro del suo FRONTE.
|
|
7667
7719
|
*
|
|
@@ -8834,6 +8886,26 @@ function gifFromMp4Args(input) {
|
|
|
8834
8886
|
];
|
|
8835
8887
|
}
|
|
8836
8888
|
/**
|
|
8889
|
+
* Memoize `ensure` on SUCCESS only.
|
|
8890
|
+
*
|
|
8891
|
+
* A failure is not remembered: the next caller asks again, so a node whose
|
|
8892
|
+
* first download failed (no network at boot) recovers on the next spawn that
|
|
8893
|
+
* needs it — with no timer and no retry loop, because the ask is driven by
|
|
8894
|
+
* work that actually wants the binary.
|
|
8895
|
+
*/
|
|
8896
|
+
function memoizePinnedFfmpeg(ensure) {
|
|
8897
|
+
let pending = null;
|
|
8898
|
+
return () => {
|
|
8899
|
+
if (pending !== null) return pending;
|
|
8900
|
+
const attempt = ensure();
|
|
8901
|
+
pending = attempt;
|
|
8902
|
+
attempt.catch(() => {
|
|
8903
|
+
if (pending === attempt) pending = null;
|
|
8904
|
+
});
|
|
8905
|
+
return attempt;
|
|
8906
|
+
};
|
|
8907
|
+
}
|
|
8908
|
+
/**
|
|
8837
8909
|
* Deep wiring healthcheck — snapshot of active reachability probes across
|
|
8838
8910
|
* every declared capability + widget of every installed plugin, on every
|
|
8839
8911
|
* node. Produced by the backend `WiringHealthService` and surfaced via
|
|
@@ -9248,6 +9320,8 @@ var DETECTION_PIPELINE_CAP_NAME = "detection-pipeline";
|
|
|
9248
9320
|
* oldest-first on append.
|
|
9249
9321
|
*/
|
|
9250
9322
|
var MAX_BIRTH_DECISION_RECORDS = 3e4;
|
|
9323
|
+
/** Default page size for `listBirthDecisions` when the caller omits one. */
|
|
9324
|
+
var BIRTH_DECISION_DEFAULT_LIMIT = 500;
|
|
9251
9325
|
/**
|
|
9252
9326
|
* How stale a motion onset may be and still be offered as the birth-latency
|
|
9253
9327
|
* proxy. Beyond this the row records `null`, never a large number.
|
|
@@ -9460,6 +9534,8 @@ var BirthDecisionQueryInputSchema = object({
|
|
|
9460
9534
|
* `tracks` table measured at 4.6 MB for a single 501-row page.
|
|
9461
9535
|
*/
|
|
9462
9536
|
var MAX_ARCHIVED_DEBUG_NOTES = 5e3;
|
|
9537
|
+
/** Default page size for `listArchivedDebugNotes` when the caller omits one. */
|
|
9538
|
+
var ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT = 200;
|
|
9463
9539
|
/** One archived note — the operator's words plus enough context to find what
|
|
9464
9540
|
* they were looking at, after the track itself is gone. */
|
|
9465
9541
|
var ArchivedDebugNoteSchema = object({
|
|
@@ -9549,6 +9625,8 @@ var OpsLogQueryInputSchema = object({
|
|
|
9549
9625
|
/** Max rows returned, newest-first. */
|
|
9550
9626
|
limit: number().int().min(1).max(1e3).optional()
|
|
9551
9627
|
});
|
|
9628
|
+
/** Default page size for a `listOpsLog` query when the caller omits `limit`. */
|
|
9629
|
+
var OPS_LOG_DEFAULT_LIMIT = 200;
|
|
9552
9630
|
var LabelDefinitionSchema = object({
|
|
9553
9631
|
id: string(),
|
|
9554
9632
|
name: string(),
|
|
@@ -19164,6 +19242,12 @@ var NC_TANK_SYSTEM_EVENT_KINDS = [
|
|
|
19164
19242
|
"device-tank-normal"
|
|
19165
19243
|
];
|
|
19166
19244
|
/**
|
|
19245
|
+
* The consumable threshold a rule that does not state one judges at (D642).
|
|
19246
|
+
* The operator's number ("default 15 %, configurable on the rule"), and the
|
|
19247
|
+
* value the cluster-wide setting it replaces shipped with.
|
|
19248
|
+
*/
|
|
19249
|
+
var NC_CONSUMABLE_LOW_PERCENT_DEFAULT = 15;
|
|
19250
|
+
/**
|
|
19167
19251
|
* One coherent system-event condition. `kinds` is the required opt-in safety
|
|
19168
19252
|
* gate; the remaining lists are optional narrowing filters relevant to the
|
|
19169
19253
|
* selected kinds.
|
|
@@ -19856,6 +19940,24 @@ var NcMediaFrameSchema = _enum([
|
|
|
19856
19940
|
* sensor linked to one camera ships that camera's plain snapshot either way.
|
|
19857
19941
|
*/
|
|
19858
19942
|
var NcLinkedCameraModeSchema = _enum(["mosaic", "each"]);
|
|
19943
|
+
/**
|
|
19944
|
+
* The clip window a rule gets when it stores no `clipPreRollSec` /
|
|
19945
|
+
* `clipPostRollSec` (D654): 4 s before the moment, 6 s after.
|
|
19946
|
+
*
|
|
19947
|
+
* THE one owner. The Notification Center resolves an absent roll to these at
|
|
19948
|
+
* dispatch and sizes the broker's clip ring from them (`clip-retention-ask`).
|
|
19949
|
+
* The admin editor does not author the roll; the viewer editor still keeps its
|
|
19950
|
+
* own 3 / 7 until it imports these (viewer follow-up). A second copy is how the
|
|
19951
|
+
* viewer came to display 3 / 7 — copied from a stale comment on the schema
|
|
19952
|
+
* below — while the hub cut 4 / 6, and to prune a typed 3 back to "absent",
|
|
19953
|
+
* which the hub then read as 4.
|
|
19954
|
+
*
|
|
19955
|
+
* A product decision of the notification, not the broker's history window
|
|
19956
|
+
* (D381/D382): the clip is cut from the broker's per-camera clip ring, which
|
|
19957
|
+
* the rules size, not from a pre-roll dial.
|
|
19958
|
+
*/
|
|
19959
|
+
var NC_CLIP_PRE_ROLL_DEFAULT_SEC = 4;
|
|
19960
|
+
var NC_CLIP_POST_ROLL_DEFAULT_SEC = 6;
|
|
19859
19961
|
var NcMediaPolicySchema = object({
|
|
19860
19962
|
attach: _enum([
|
|
19861
19963
|
"best",
|
|
@@ -21388,6 +21490,24 @@ var NcAlarmConfigSchema = object({
|
|
|
21388
21490
|
live: NcAlarmLiveSchema.optional()
|
|
21389
21491
|
});
|
|
21390
21492
|
/**
|
|
21493
|
+
* The most seconds of footage any notification rule may ask a camera to retain.
|
|
21494
|
+
*
|
|
21495
|
+
* Sixty, and it is the OCCUPANCY number. An occupancy edge is confirmed by an
|
|
21496
|
+
* independent read that lands long after the fact (D279) plus the condition's
|
|
21497
|
+
* own `sustainSeconds` (29 s on this hub), so its clip is anchored well in the
|
|
21498
|
+
* past — and the other source, the recordings, cannot cover a recent moment:
|
|
21499
|
+
* measured against `recording.getAvailability` for a 10 s window at several
|
|
21500
|
+
* anchors, full coverage arrived at −18 s on device 590 and −26 s on 615 and
|
|
21501
|
+
* 617. That edge is a PHASE of the 10-second segment cycle, not a number. The
|
|
21502
|
+
* ring therefore has to hold the moment until the recordings can take it over:
|
|
21503
|
+
* the worst measured phase (26 s) plus the confirmation lag (29 s) is 55 s, and
|
|
21504
|
+
* 60 is the round number above it.
|
|
21505
|
+
*
|
|
21506
|
+
* It is a ceiling, not a default. Every other rule kind asks for its own window
|
|
21507
|
+
* plus the dispatch margin, which is roughly a third of this.
|
|
21508
|
+
*/
|
|
21509
|
+
var NC_CLIP_RETENTION_MAX_SEC = 60;
|
|
21510
|
+
/**
|
|
21391
21511
|
* ONE rule's demand on ONE camera's clip ring.
|
|
21392
21512
|
*
|
|
21393
21513
|
* A rule, not a camera: the broker takes the MAX over the asks that reach a
|
|
@@ -23495,6 +23615,21 @@ var EventDensityBucketSchema = object({
|
|
|
23495
23615
|
audioDbfs: number().optional()
|
|
23496
23616
|
});
|
|
23497
23617
|
/**
|
|
23618
|
+
* Most cameras one `getEventDensityBatch` may name.
|
|
23619
|
+
*
|
|
23620
|
+
* The same ceiling the sibling batches on this cap already carry
|
|
23621
|
+
* (`listEventKindsBatch`, `getKeyEventsBatch`): a tablet grid is tens of
|
|
23622
|
+
* cameras, never hundreds, and one call's answer is N × (window / bucketMs)
|
|
23623
|
+
* buckets crossing a process boundary.
|
|
23624
|
+
*
|
|
23625
|
+
* The ceiling is on the SCHEMA, not only on the caller. An over-eager ask is
|
|
23626
|
+
* REFUSED — never truncated to the first {@link EVENT_DENSITY_BATCH_MAX} ids,
|
|
23627
|
+
* because that answer is indistinguishable from a complete one and the caller
|
|
23628
|
+
* would never learn it asked too much. A caller with more cameras sends
|
|
23629
|
+
* ⌈n/max⌉ calls.
|
|
23630
|
+
*/
|
|
23631
|
+
var EVENT_DENSITY_BATCH_MAX = 200;
|
|
23632
|
+
/**
|
|
23498
23633
|
* One camera's row in a `getEventDensityBatch` answer.
|
|
23499
23634
|
*
|
|
23500
23635
|
* TWO facts, and the timeline draws them differently:
|
|
@@ -37643,6 +37778,16 @@ var ExportDenseRangeSchema = object({
|
|
|
37643
37778
|
toSec: number().nonnegative()
|
|
37644
37779
|
}).refine((r) => r.toSec > r.fromSec, { message: "dense range must have toSec > fromSec" });
|
|
37645
37780
|
/**
|
|
37781
|
+
* Hard ceiling on dense ranges in ONE render.
|
|
37782
|
+
*
|
|
37783
|
+
* The ranges become terms of a single ffmpeg `select` expression, so the count
|
|
37784
|
+
* is the length of a command-line argument. The producer (the timelapse
|
|
37785
|
+
* scheduler) coalesces and then falls back to the base cadence alone rather
|
|
37786
|
+
* than trimming — a truncated range list is a video that quietly omits the
|
|
37787
|
+
* evening.
|
|
37788
|
+
*/
|
|
37789
|
+
var EXPORT_DENSE_MAX_RANGES = 200;
|
|
37790
|
+
/**
|
|
37646
37791
|
* Dense-interval overlay for a timelapse: sample at `dense.everyMs` INSIDE the
|
|
37647
37792
|
* listed ranges and at the base `everyMs` everywhere else.
|
|
37648
37793
|
*
|
|
@@ -38464,11 +38609,23 @@ var SceneCheckSchema = discriminatedUnion("mode", [object({
|
|
|
38464
38609
|
profileId: string().optional(),
|
|
38465
38610
|
hysteresisCount: number().int().positive()
|
|
38466
38611
|
})]);
|
|
38612
|
+
/** Defaults, as CONSTANTS rather than only as Zod `.default()`. A Zod default
|
|
38613
|
+
* does NOT run on the addon→addon cap path, so every runtime seam reads these
|
|
38614
|
+
* as absent-with-a-constant (the `NcConfirmSchema` lesson, three production
|
|
38615
|
+
* failures in one day). The schema defaults and these values are the same
|
|
38616
|
+
* numbers on purpose. */
|
|
38617
|
+
var SCENE_DEFAULT_QUIET_SECONDS = 60;
|
|
38618
|
+
var SCENE_DEFAULT_OBSERVATION_SPACING_SEC = 120;
|
|
38619
|
+
var SCENE_DEFAULT_CHECK_INTERVAL_SEC = 60;
|
|
38467
38620
|
var SCENE_DEFAULT_ANCHOR_THRESHOLD = .85;
|
|
38468
38621
|
/** Night is OPTIONAL. A scene with only a daylight reference sits the IR hours
|
|
38469
38622
|
* out in silence rather than reporting a fault every night. */
|
|
38470
38623
|
var SCENE_DEFAULT_UNCOVERED_POLICY = "skip";
|
|
38471
38624
|
var SCENE_CONFIRM_DEFAULT_TIMEOUT_MS = 8e3;
|
|
38625
|
+
var SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX = 448;
|
|
38626
|
+
/** `resetScene({ recapture })` absent means TRUE — the operator decision. Read
|
|
38627
|
+
* at the seam, because a Zod `.optional()` carries no default at all. */
|
|
38628
|
+
var SCENE_RESET_RECAPTURES = true;
|
|
38472
38629
|
/**
|
|
38473
38630
|
* Vision-model adjudication of a candidate flip. Field names deliberately
|
|
38474
38631
|
* mirror `NcConfirmSchema` so an operator meets one vocabulary, not two.
|
|
@@ -52544,6 +52701,15 @@ function ituDbfsFromPreEpoch(law, authoredDbfs) {
|
|
|
52544
52701
|
return authoredDbfs + G711_SCALE_CORRECTION_DB[law];
|
|
52545
52702
|
}
|
|
52546
52703
|
Math.round(ituDbfsFromPreEpoch("PCMU", -55));
|
|
52704
|
+
/**
|
|
52705
|
+
* LABEL-mode confirm-count defaults. Chosen against the live "Pianti" rule
|
|
52706
|
+
* (2026-08-23): 15 notifies in 12 h, each a single YAMNet `crying` frame,
|
|
52707
|
+
* nobody actually crying. Two labelled frames in 5 s drops the single-frame
|
|
52708
|
+
* false positives and still catches a real episode (YAMNet labels 2–3
|
|
52709
|
+
* frames of a genuine cry).
|
|
52710
|
+
*/
|
|
52711
|
+
var NC_AUDIO_CONFIRM_HITS_DEFAULT = 2;
|
|
52712
|
+
var NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT = 5;
|
|
52547
52713
|
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
52548
52714
|
var NC_AUDIO_DEFAULTS = {
|
|
52549
52715
|
hitPercent: 60,
|
|
@@ -55351,4 +55517,4 @@ function buildClipModelRegistry(entries) {
|
|
|
55351
55517
|
/** The built-in catalog's registry. */
|
|
55352
55518
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
55353
55519
|
//#endregion
|
|
55354
|
-
export {
|
|
55520
|
+
export { NC_SYSTEM_EVENT_KIND_GROUP_SPECS as $, BaseAddon as $n, describeSystemEventFamilyProblem as $t, FIRST_LEVEL_MACRO_CLASSES as A, resolveClipSearchMinScore as An, SCENE_DEFAULT_ANCHOR_THRESHOLD as At, MotionTriggeredBySchema as B, systemEventFamilyProblems as Bn, TimelapseRulePatchSchema as Bt, EMBEDDING_MODEL_FAILED as C, occupancyScope as Cn, PoolMemoryWatchdog as Ct, EVENT_KIND_BY_CAP as D, readDeviceStateFrom as Dn, RetrainStatusSchema as Dt, EVENT_DENSITY_BATCH_MAX as E, plateGalleryCapability as En, RebuildObjectEmbeddingsRefusalSchema as Et, MAX_ARCHIVED_DEBUG_NOTES as F, sensorRaisedOf as Fn, SCENE_DIVERGED as Ft, NC_CLIP_PRE_ROLL_DEFAULT_SEC as G, vectorDimFromBase64 as Gn, assertTimelapseCadences as Gt, NC_AUDIO_CONFIRM_HITS_DEFAULT as H, systemEventSummaryScheduleOf as Hn, TrackSourceSchema as Ht, MAX_BIRTH_DECISION_RECORDS as I, servedTemplateVars as In, SCENE_RESET_RECAPTURES as It, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as J, canonicalHash as Jn, buildEventKindDescriptor as Jt, NC_CLIP_RETENTION_MAX_SEC as K, zoneAnalyticsCapability as Kn, audioMetricsCapability as Kt, MAX_BIRTH_LATENCY_PROXY_MS as L, storageOccupancyCapability as Ln, SceneMonitorSchema as Lt, FailureCounters as M, resolvePoolMemoryPolicy as Mn, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as Mt, LabelAttributionSchema as N, ruleBelongsToAlarm as Nn, SCENE_DEFAULT_QUIET_SECONDS as Nt, EVENT_OWNER_TYPES as O, readMotionTriggeredBy as On, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as Ot, LockStateSchema as P, sceneMonitorCapability as Pn, SCENE_DEFAULT_UNCOVERED_POLICY as Pt, NC_SNOOZE_MAX_MINUTES as Q, errMsg as Qn, describeSystemEventDeliveryProblem as Qt, MOTION_CLOSE_AFTER_MS as R, subKindsOf as Rn, TIMELAPSE_DENSE_FLOOR_SEC as Rt, DeclaredDevices as S, notificationRulesCapability as Sn, OpsLogEntrySchema as St, EMBEDDING_REQUIREMENTS_UNAVAILABLE as T, pipelineAnalyticsCapability as Tn, RECORDING_SOURCE_CAMSTACK_ADDON as Tt, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as U, templateCarriesSummary as Un, addonWidgetsSourceCapability as Ut, NC_ALARM_SYSTEM_EVENT_KINDS as V, systemEventFilterApplies as Vn, TimelapseRuleSchema as Vt, NC_CLIP_POST_ROLL_DEFAULT_SEC as W, templateVarsFor as Wn, alarmPanelCapability as Wt, NC_DEFAULT_SNOOZE_MINUTES as X, isSourceCap as Xn, cosineSimilarity as Xt, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as Y, evaluateSensorEdge as Yn, consumableLowPercentOf as Yt, NC_SENSOR_TRANSITION_KINDS as Z, DeviceType as Zn, deriveRecordingMode as Zt, CoverStateSchema as _, isSystemEventSummaryRule as _n, record as _r, NcTaxonomySchema as _t, CLIP_EMBEDDING_STEP_ID as a, encodeVectorBase64 as an, isDeviceScopedCap as ar, NcConditionDescriptorSchema as at, DETECTION_MACRO_CLASSES as b, mayWriteToLocation as bn, EventCategory as br, NcTemplateVarDescriptorSchema as bt, resolveClusterModelPin as c, failureContributionCapability as cn, sleep as cr, NcRulePatchSchema as ct, AlarmArmModeSchema as d, isDetectionMacroClass as dn, boolean as dr, NcRuleUpdateInputSchema as dt, embeddingEncoderCapability as en, CamProfileSchema as er, NC_TANK_SYSTEM_EVENT_KINDS as et, ArchivedDebugNoteSchema as f, isEventOwnerType as fn, discriminatedUnion as fr, NcScheduleSchema as ft, COCO_TO_MACRO as g, isSystemDelivery as gn, partialRecord as gr, NcSystemEventKindSchema as gt, BirthDecisionRecordSchema as h, isScheduleActive as hn, object as hr, NcSnoozeSuppressedSchema as ht, CLIP_TEXT_MODELS as i, embeddingRequirementsUnavailableError as in, hydrateSchema as ir, NcAlarmSettingsPatchSchema as it, FULL_IMAGE_BBOX as j, resolveLocationMode as jn, SCENE_DEFAULT_CHECK_INTERVAL_SEC as jt, EXPORT_DENSE_MAX_RANGES as k, readTimelapseGeneratedAt as kn, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as kt, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as l, gifDeriveSpeed as ln, _enum as lr, NcRuleSchema as lt, BaseDevice as m, isMediaOwnerType as mn, number as mr, NcSnoozeSchema as mt, DEFAULT_CLIP_MODEL as n, embeddingRefusalOf as nn, customAction as nr, NC_TEMPLATE_VARS as nt, FACE_EMBEDDING_STEP_ID as o, evictionPolicyOfLocation as on, nodePin as or, NcConditionsSchema as ot, BIRTH_DECISION_DEFAULT_LIMIT as p, isKnownTemplateVar as pn, literal as pr, NcSnoozeInputSchema as pt, NC_CONDITION_CATALOG as q, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as qn, audioModeOf as qt, CLIP_IMAGE_MODELS as r, embeddingRequirementsFailedError as rn, defineCustomActions as rr, NcAlarmConfigSchema as rt, readClusterModelPinStrict as s, faceGalleryCapability as sn, normalizeNodeId as sr, NcRuleInputSchema as st, BUILTIN_CLIP_MODELS as t, embeddingModelFailedError as tn, createEvent as tr, NC_TAXONOMY as tt, AUDIO_MACRO_LABELS as u, gifFromMp4Args as un, array as ur, NcRuleTargetSchema as ut, DEFAULT_EVENT_COLOR as v, isVectorIndexDimConflict as vn, string as vr, NcTemplatePreviewInputSchema as vt, EMBEDDING_REQUIREMENTS_FAILED as w, parseProcStatus as wn, RECORDING_EXPORT_MAX_READ_BYTES as wt, DETECTION_PIPELINE_CAP_NAME as x, memoizePinnedFfmpeg as xn, OPS_LOG_DEFAULT_LIMIT as xt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as y, kebabToCamel as yn, unknown as yr, NcTemplatePreviewSchema as yt, MediaFileKindEnum as z, systemEventDeliveryProblems as zn, TimelapseRuleInputSchema as zt };
|