@camstack/addon-post-analysis 1.2.303 → 1.2.305
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-BtY4fS3d.mjs → clip-model-registry-EA6x7Vd5.mjs} +131 -19
- package/dist/{clip-model-registry-CQIBimj5.js → clip-model-registry-t2ey3w0B.js} +166 -18
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DVMLLink.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-yOiRjNnR.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CieM-gpB.mjs +26 -0
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DJR5XsVb.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B8qeS8Da.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit-DRjMNOyG.mjs → hostInit-6Km5THPt.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +6431 -2793
- package/dist/pipeline-analytics/index.mjs +6471 -2836
- 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-m9iqcykg.mjs +0 -26
|
@@ -11236,6 +11236,28 @@ var FailureCounters = class {
|
|
|
11236
11236
|
this.counters.clear();
|
|
11237
11237
|
}
|
|
11238
11238
|
};
|
|
11239
|
+
var APPEARANCE_BIN_COUNT = 96;
|
|
11240
|
+
var APPEARANCE_BLOCKS = {
|
|
11241
|
+
upperHs: [0, 32],
|
|
11242
|
+
upperV: [32, 40],
|
|
11243
|
+
upperGrad: [40, 48],
|
|
11244
|
+
lowerHs: [48, 80],
|
|
11245
|
+
lowerV: [80, 88],
|
|
11246
|
+
lowerGrad: [88, 96]
|
|
11247
|
+
};
|
|
11248
|
+
/**
|
|
11249
|
+
* Whether appearance may influence anything at all (D683 §3.2, fix round 1
|
|
11250
|
+
* ruling 2026-09-30 on the Task 10 cost-bench STOP): OFF until the
|
|
11251
|
+
* descriptor is calibrated on tapes that carry it (Task 23, review M9).
|
|
11252
|
+
*
|
|
11253
|
+
* This is the ONE authority both addons read — never two settings that
|
|
11254
|
+
* could disagree (CLAUDE.md D62). The tracker's `TrackerV2Config.appearanceResolvesAmbiguity`
|
|
11255
|
+
* default reads it (`addon-post-analysis/pipeline/tracker-v2/types.ts`); the
|
|
11256
|
+
* runner's cost gate reads it too (`addon-pipeline/pipeline-runner/appearance-attach.ts`),
|
|
11257
|
+
* short-circuiting BEFORE any crop, resample or descriptor is computed, so a
|
|
11258
|
+
* disabled camera costs nothing extra per frame.
|
|
11259
|
+
*/
|
|
11260
|
+
var APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT = false;
|
|
11239
11261
|
var ClipModelMetaSchema = object({
|
|
11240
11262
|
/** The paired text encoder's catalog id (the embedding-encoder's text catalog). */
|
|
11241
11263
|
textModelId: string().min(1),
|
|
@@ -19654,8 +19676,14 @@ var NcSensorTransitionSchema = _enum(["raised", "cleared"]);
|
|
|
19654
19676
|
/** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
|
|
19655
19677
|
var NcZoneConditionSchema = object({
|
|
19656
19678
|
ids: array(string().min(1)).min(1),
|
|
19657
|
-
/**
|
|
19658
|
-
|
|
19679
|
+
/**
|
|
19680
|
+
* LEGACY quantifier over `ids`. Absent = `any` (at least one visited), which
|
|
19681
|
+
* is what both editors mean and all they write since D690: "all of" was
|
|
19682
|
+
* removed from the editors because on an immediate rule it asked one
|
|
19683
|
+
* detection to stand in every zone at once. Still ACCEPTED, and `all` still
|
|
19684
|
+
* evaluated, so a stored rule keeps parsing and meaning what it meant.
|
|
19685
|
+
*/
|
|
19686
|
+
match: _enum(["any", "all"]).optional()
|
|
19659
19687
|
});
|
|
19660
19688
|
/**
|
|
19661
19689
|
* The P1 condition set — a flat AND of groups; absent group = pass;
|
|
@@ -20968,7 +20996,7 @@ var NC_CONDITION_CATALOG = [
|
|
|
20968
20996
|
"package-event"
|
|
20969
20997
|
],
|
|
20970
20998
|
phase: "P1",
|
|
20971
|
-
description: "
|
|
20999
|
+
description: "The zones the subject must be in (included) or never in (excluded)."
|
|
20972
21000
|
},
|
|
20973
21001
|
{
|
|
20974
21002
|
id: "zonesExclude",
|
|
@@ -20991,29 +21019,24 @@ var NC_CONDITION_CATALOG = [
|
|
|
20991
21019
|
options: [
|
|
20992
21020
|
{
|
|
20993
21021
|
value: "",
|
|
20994
|
-
label: "
|
|
20995
|
-
hint: "Entries
|
|
20996
|
-
},
|
|
20997
|
-
{
|
|
20998
|
-
value: "enter",
|
|
20999
|
-
label: "Entered a zone",
|
|
21000
|
-
hint: "The same matches as \"not set\", stated explicitly: entries and non-crossing detections pass, exits do not."
|
|
21022
|
+
label: "Entering",
|
|
21023
|
+
hint: "Entries and ordinary movement; never an exit."
|
|
21001
21024
|
},
|
|
21002
21025
|
{
|
|
21003
21026
|
value: "exit",
|
|
21004
|
-
label: "
|
|
21005
|
-
hint: "
|
|
21027
|
+
label: "Leaving",
|
|
21028
|
+
hint: "Only an exit from a zone."
|
|
21006
21029
|
},
|
|
21007
21030
|
{
|
|
21008
21031
|
value: "any",
|
|
21009
|
-
label: "
|
|
21010
|
-
hint: "
|
|
21032
|
+
label: "Entering or leaving",
|
|
21033
|
+
hint: "Entries, exits and ordinary movement."
|
|
21011
21034
|
}
|
|
21012
21035
|
],
|
|
21013
21036
|
operator: "in",
|
|
21014
21037
|
appliesTo: ["immediate"],
|
|
21015
21038
|
phase: "P1",
|
|
21016
|
-
description: "
|
|
21039
|
+
description: "Which way the subject crosses the zone."
|
|
21017
21040
|
},
|
|
21018
21041
|
{
|
|
21019
21042
|
id: "labelEquals",
|
|
@@ -21150,7 +21173,7 @@ var NC_CONDITION_CATALOG = [
|
|
|
21150
21173
|
"package-event"
|
|
21151
21174
|
],
|
|
21152
21175
|
phase: "P3",
|
|
21153
|
-
description: "Only fire while a scene is matched
|
|
21176
|
+
description: "Only fire while a scene is matched or diverged."
|
|
21154
21177
|
},
|
|
21155
21178
|
{
|
|
21156
21179
|
id: "sensorKinds",
|
|
@@ -24460,13 +24483,19 @@ var pipelineAnalyticsCapability = {
|
|
|
24460
24483
|
*
|
|
24461
24484
|
* Operator-driven from the DI Events page (batch delete). Routes through
|
|
24462
24485
|
* the same widened track-deletion cascade (design §5.2).
|
|
24486
|
+
*
|
|
24487
|
+
* `sparedMediaIds` (D683 Task 14): media rows the cascade LEFT because a
|
|
24488
|
+
* live stationary entry vouches for them (its key frame, owned by a track
|
|
24489
|
+
* that moved and was kept). Released when the entry retires. Optional:
|
|
24490
|
+
* absent from a provider that predates it.
|
|
24463
24491
|
*/
|
|
24464
24492
|
deleteTracks: method(object({
|
|
24465
24493
|
deviceId: number(),
|
|
24466
24494
|
trackIds: array(string()).min(1)
|
|
24467
24495
|
}), object({
|
|
24468
24496
|
deleted: number().int(),
|
|
24469
|
-
failed: array(string()).readonly()
|
|
24497
|
+
failed: array(string()).readonly(),
|
|
24498
|
+
sparedMediaIds: array(number().int()).readonly().optional()
|
|
24470
24499
|
}), {
|
|
24471
24500
|
kind: "mutation",
|
|
24472
24501
|
auth: "admin"
|
|
@@ -27176,7 +27205,42 @@ var SetCameraSensorsInputSchema = object({
|
|
|
27176
27205
|
/** `null` removes the attachment: the camera goes back to `not-configured`. */
|
|
27177
27206
|
config: CameraSensorsConfigSchema.nullable()
|
|
27178
27207
|
});
|
|
27179
|
-
|
|
27208
|
+
/**
|
|
27209
|
+
* Why an early occupancy look (D691) was not scheduled.
|
|
27210
|
+
*
|
|
27211
|
+
* - `unknown-camera` — no session was ever dispatched for it, so there is no
|
|
27212
|
+
* node and no config to attach a burst with.
|
|
27213
|
+
* - `out-of-range` — the ask is negative or further out than the orchestrator
|
|
27214
|
+
* will hold a timer for; the parked-object cadence is the answer there.
|
|
27215
|
+
* - `no-burst-producer` — this build has no burst producer at all.
|
|
27216
|
+
* - `already-looked` — this camera's ONE early look since its last session has
|
|
27217
|
+
* been spent. A look's own burst can re-arm a flickering flip, and a look
|
|
27218
|
+
* per arm would chain a burst every ~30 s forever (review H2); the next
|
|
27219
|
+
* real session re-arms the budget.
|
|
27220
|
+
*/
|
|
27221
|
+
var OccupancyLookRefusalSchema = _enum([
|
|
27222
|
+
"unknown-camera",
|
|
27223
|
+
"out-of-range",
|
|
27224
|
+
"no-burst-producer",
|
|
27225
|
+
"already-looked"
|
|
27226
|
+
]);
|
|
27227
|
+
method(object({
|
|
27228
|
+
deviceId: number().int().nonnegative(),
|
|
27229
|
+
/** How long from NOW until the pending flip's sustain window ends. RELATIVE,
|
|
27230
|
+
* so the caller's clock and the orchestrator's never have to agree. */
|
|
27231
|
+
afterMs: number().finite(),
|
|
27232
|
+
/** Why, for the log. */
|
|
27233
|
+
reason: string()
|
|
27234
|
+
}), object({
|
|
27235
|
+
scheduled: boolean(),
|
|
27236
|
+
/** When `scheduled`: how long until the burst is dialled. */
|
|
27237
|
+
dueInMs: number().optional(),
|
|
27238
|
+
/** When not `scheduled`: why. */
|
|
27239
|
+
refusedBecause: OccupancyLookRefusalSchema.optional()
|
|
27240
|
+
}), {
|
|
27241
|
+
kind: "mutation",
|
|
27242
|
+
auth: "admin"
|
|
27243
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
27180
27244
|
kind: "mutation",
|
|
27181
27245
|
auth: "admin"
|
|
27182
27246
|
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
@@ -48338,6 +48402,12 @@ Object.freeze({
|
|
|
48338
48402
|
addonId: null,
|
|
48339
48403
|
access: "delete"
|
|
48340
48404
|
},
|
|
48405
|
+
"pipelineOrchestrator.requestOccupancyLook": {
|
|
48406
|
+
capName: "pipeline-orchestrator",
|
|
48407
|
+
capScope: "system",
|
|
48408
|
+
addonId: null,
|
|
48409
|
+
access: "create"
|
|
48410
|
+
},
|
|
48341
48411
|
"pipelineOrchestrator.resetNodePipelineDefaults": {
|
|
48342
48412
|
capName: "pipeline-orchestrator",
|
|
48343
48413
|
capScope: "system",
|
|
@@ -52130,6 +52200,11 @@ Object.freeze({
|
|
|
52130
52200
|
form: "single",
|
|
52131
52201
|
optional: false
|
|
52132
52202
|
}],
|
|
52203
|
+
"pipelineOrchestrator.requestOccupancyLook": [{
|
|
52204
|
+
name: "deviceId",
|
|
52205
|
+
form: "single",
|
|
52206
|
+
optional: false
|
|
52207
|
+
}],
|
|
52133
52208
|
"pipelineOrchestrator.resolvePipeline": [{
|
|
52134
52209
|
name: "deviceId",
|
|
52135
52210
|
form: "single",
|
|
@@ -52961,6 +53036,12 @@ function audioModeOf(value) {
|
|
|
52961
53036
|
if (value.dbThreshold !== void 0) return "level";
|
|
52962
53037
|
return null;
|
|
52963
53038
|
}
|
|
53039
|
+
/** The taxonomy group the class picker appends the audio kinds under. */
|
|
53040
|
+
var AUDIO_GROUP_KEY = "audio";
|
|
53041
|
+
/** An audio kind (`audio-*`) — the one prefix every sound class carries. */
|
|
53042
|
+
function isAudioClassName(name) {
|
|
53043
|
+
return name.trim().toLowerCase().startsWith(`${AUDIO_GROUP_KEY}-`);
|
|
53044
|
+
}
|
|
52964
53045
|
new Set(["devices", "classes"]);
|
|
52965
53046
|
/**
|
|
52966
53047
|
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
@@ -54470,6 +54551,37 @@ function templateCarriesSummary(body) {
|
|
|
54470
54551
|
if (body === void 0 || body.trim().length === 0) return true;
|
|
54471
54552
|
return SUMMARY_CONTENT_VAR.test(body);
|
|
54472
54553
|
}
|
|
54554
|
+
new Set([
|
|
54555
|
+
"disarmed",
|
|
54556
|
+
"armed_home",
|
|
54557
|
+
"armed_away",
|
|
54558
|
+
"armed_night",
|
|
54559
|
+
"armed_vacation",
|
|
54560
|
+
"armed_custom_bypass",
|
|
54561
|
+
"arming",
|
|
54562
|
+
"disarming",
|
|
54563
|
+
"pending",
|
|
54564
|
+
"triggered",
|
|
54565
|
+
"open",
|
|
54566
|
+
"opening",
|
|
54567
|
+
"closing",
|
|
54568
|
+
"closed",
|
|
54569
|
+
"stopped",
|
|
54570
|
+
"locked",
|
|
54571
|
+
"unlocked",
|
|
54572
|
+
"locking",
|
|
54573
|
+
"unlocking",
|
|
54574
|
+
"jammed",
|
|
54575
|
+
"on",
|
|
54576
|
+
"off",
|
|
54577
|
+
"home",
|
|
54578
|
+
"not_home",
|
|
54579
|
+
"matched",
|
|
54580
|
+
"diverged",
|
|
54581
|
+
"unknown",
|
|
54582
|
+
"latched",
|
|
54583
|
+
"live"
|
|
54584
|
+
]);
|
|
54473
54585
|
/**
|
|
54474
54586
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
54475
54587
|
*
|
|
@@ -55743,4 +55855,4 @@ function buildClipModelRegistry(entries) {
|
|
|
55743
55855
|
/** The built-in catalog's registry. */
|
|
55744
55856
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
55745
55857
|
//#endregion
|
|
55746
|
-
export {
|
|
55858
|
+
export { NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as $, sceneMonitorCapability as $n, TimelapseRuleInputSchema as $t, EMBEDDING_REQUIREMENTS_FAILED as A, isDetectionMacroClass as An, array as Ar, NcTemplateVarDescriptorSchema as At, ListTrackRelationsInputSchema as B, memoizePinnedFfmpeg as Bn, string as Br, SCENE_DEFAULT_ANCHOR_THRESHOLD as Bt, DEFAULT_EVENT_COLOR as C, encodeVectorBase64 as Cn, hydrateSchema as Cr, NcSnoozeInputSchema as Ct, DeclaredDevices as D, gifDeriveSpeed as Dn, sleep as Dr, NcTaxonomySchema as Dt, DETECTION_PIPELINE_CAP_NAME as E, failureContributionCapability as En, normalizeNodeId as Er, NcSystemEventKindSchema as Et, EXPORT_DENSE_MAX_RANGES as F, isSystemDelivery as Fn, number as Fr, RECORDING_SOURCE_CAMSTACK_ADDON as Ft, MAX_BIRTH_LATENCY_PROXY_MS as G, plateGalleryCapability as Gn, SCENE_DIVERGED as Gt, LockStateSchema as H, occupancyScope as Hn, union as Hr, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as Ht, FIRST_LEVEL_MACRO_CLASSES as I, isSystemEventSummaryRule as In, object as Ir, RebuildObjectEmbeddingsRefusalSchema as It, MOTION_CLOSE_AFTER_MS as J, readTimelapseGeneratedAt as Jn, SetTrackPurityInputSchema as Jt, MAX_TRACK_PURITIES as K, readDeviceStateFrom as Kn, SCENE_RESET_RECAPTURES as Kt, FULL_IMAGE_BBOX as L, isVectorIndexDimConflict as Ln, partialRecord as Lr, RetrainStatusSchema as Lt, EVENT_DENSITY_BATCH_MAX as M, isKnownTemplateVar as Mn, discriminatedUnion as Mr, OpsLogEntrySchema as Mt, EVENT_KIND_BY_CAP as N, isMediaOwnerType as Nn, literal as Nr, PoolMemoryWatchdog as Nt, DetectionSourceSchema as O, gifFromMp4Args as On, ZodObject as Or, NcTemplatePreviewInputSchema as Ot, EVENT_OWNER_TYPES as P, isScheduleActive as Pn, looseObject as Pr, RECORDING_EXPORT_MAX_READ_BYTES as Pt, NC_AUDIO_CONFIRM_HITS_DEFAULT as Q, ruleBelongsToAlarm as Qn, TRACK_RELATIONS_DEFAULT_LIMIT as Qt, FailureCounters as R, kebabToCamel as Rn, record as Rr, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as Rt, CoverStateSchema as S, embeddingRequirementsUnavailableError as Sn, defineCustomActions as Sr, NcScheduleSchema as St, DETECTION_MACRO_CLASSES as T, faceGalleryCapability as Tn, nodePin as Tr, NcSnoozeSuppressedSchema as Tt, MAX_ARCHIVED_DEBUG_NOTES as U, parseProcStatus as Un, unknown as Ur, SCENE_DEFAULT_QUIET_SECONDS as Ut, ListTrackRelationsResultSchema as V, notificationRulesCapability as Vn, tuple as Vr, SCENE_DEFAULT_CHECK_INTERVAL_SEC as Vt, MAX_BIRTH_DECISION_RECORDS as W, pipelineAnalyticsCapability as Wn, EventCategory as Wr, SCENE_DEFAULT_UNCOVERED_POLICY as Wt, MotionTriggeredBySchema as X, resolveLocationMode as Xn, SetTrackRelationInputSchema as Xt, MediaFileKindEnum as Y, resolveClipSearchMinScore as Yn, SetTrackPurityResultSchema as Yt, NC_ALARM_SYSTEM_EVENT_KINDS as Z, resolvePoolMemoryPolicy as Zn, TIMELAPSE_DENSE_FLOOR_SEC as Zt, BaseDevice as _, describeSystemEventFamilyProblem as _n, errMsg as _r, NcRuleInputSchema as _t, CLIP_EMBEDDING_STEP_ID as a, TrackSideSchema as an, systemEventFamilyProblems as ar, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as at, ClearTrackRelationInputSchema as b, embeddingRefusalOf as bn, createEvent as br, NcRuleTargetSchema as bt, resolveClusterModelPin as c, alarmPanelCapability as cn, templateCarriesSummary as cr, NC_SNOOZE_MAX_MINUTES as ct, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as d, audioModeOf as dn, zoneAnalyticsCapability as dr, NC_TAXONOMY as dt, TimelapseRulePatchSchema as en, sensorRaisedOf as er, NC_CLIP_POST_ROLL_DEFAULT_SEC as et, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as f, buildEventKindDescriptor as fn, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as fr, NC_TEMPLATE_VARS as ft, BIRTH_DECISION_DEFAULT_LIMIT as g, describeSystemEventDeliveryProblem as gn, DeviceType as gr, NcConditionsSchema as gt, ArchivedDebugNoteSchema as h, deriveRecordingMode as hn, isSourceCap as hr, NcConditionDescriptorSchema as ht, CLIP_TEXT_MODELS as i, TrackRelationSchema as in, systemEventDeliveryProblems as ir, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as it, EMBEDDING_REQUIREMENTS_UNAVAILABLE as j, isEventOwnerType as jn, boolean as jr, OPS_LOG_DEFAULT_LIMIT as jt, EMBEDDING_MODEL_FAILED as k, isAudioClassName as kn, _enum as kr, NcTemplatePreviewSchema as kt, APPEARANCE_BIN_COUNT as l, assertTimelapseCadences as ln, templateVarsFor as lr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as lt, AlarmArmModeSchema as m, cosineSimilarity as mn, evaluateSensorEdge as mr, NcAlarmSettingsPatchSchema as mt, DEFAULT_CLIP_MODEL as n, TrackPuritySchema as nn, storageOccupancyCapability as nr, NC_CLIP_RETENTION_MAX_SEC as nt, FACE_EMBEDDING_STEP_ID as o, TrackSourceSchema as on, systemEventFilterApplies as or, NC_DEFAULT_SNOOZE_MINUTES as ot, AUDIO_MACRO_LABELS as p, consumableLowPercentOf as pn, canonicalHash as pr, NcAlarmConfigSchema as pt, MAX_TRACK_RELATIONS as q, readMotionTriggeredBy as qn, SceneMonitorSchema as qt, CLIP_IMAGE_MODELS as r, TrackRelationKindSchema as rn, subKindsOf as rr, NC_CONDITION_CATALOG as rt, readClusterModelPinStrict as s, addonWidgetsSourceCapability as sn, systemEventSummaryScheduleOf as sr, NC_SENSOR_TRANSITION_KINDS as st, BUILTIN_CLIP_MODELS as t, TimelapseRuleSchema as tn, servedTemplateVars as tr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as tt, APPEARANCE_BLOCKS as u, audioMetricsCapability as un, vectorDimFromBase64 as ur, NC_TANK_SYSTEM_EVENT_KINDS as ut, BirthDecisionRecordSchema as v, embeddingEncoderCapability as vn, BaseAddon as vr, NcRulePatchSchema as vt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as w, evictionPolicyOfLocation as wn, isDeviceScopedCap as wr, NcSnoozeSchema as wt, ClearTrackRelationResultSchema as x, embeddingRequirementsFailedError as xn, customAction as xr, NcRuleUpdateInputSchema as xt, COCO_TO_MACRO as y, embeddingModelFailedError as yn, CamProfileSchema as yr, NcRuleSchema as yt, LabelAttributionSchema as z, mayWriteToLocation as zn, strictObject as zr, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as zt };
|
|
@@ -11267,6 +11267,28 @@ var FailureCounters = class {
|
|
|
11267
11267
|
this.counters.clear();
|
|
11268
11268
|
}
|
|
11269
11269
|
};
|
|
11270
|
+
var APPEARANCE_BIN_COUNT = 96;
|
|
11271
|
+
var APPEARANCE_BLOCKS = {
|
|
11272
|
+
upperHs: [0, 32],
|
|
11273
|
+
upperV: [32, 40],
|
|
11274
|
+
upperGrad: [40, 48],
|
|
11275
|
+
lowerHs: [48, 80],
|
|
11276
|
+
lowerV: [80, 88],
|
|
11277
|
+
lowerGrad: [88, 96]
|
|
11278
|
+
};
|
|
11279
|
+
/**
|
|
11280
|
+
* Whether appearance may influence anything at all (D683 §3.2, fix round 1
|
|
11281
|
+
* ruling 2026-09-30 on the Task 10 cost-bench STOP): OFF until the
|
|
11282
|
+
* descriptor is calibrated on tapes that carry it (Task 23, review M9).
|
|
11283
|
+
*
|
|
11284
|
+
* This is the ONE authority both addons read — never two settings that
|
|
11285
|
+
* could disagree (CLAUDE.md D62). The tracker's `TrackerV2Config.appearanceResolvesAmbiguity`
|
|
11286
|
+
* default reads it (`addon-post-analysis/pipeline/tracker-v2/types.ts`); the
|
|
11287
|
+
* runner's cost gate reads it too (`addon-pipeline/pipeline-runner/appearance-attach.ts`),
|
|
11288
|
+
* short-circuiting BEFORE any crop, resample or descriptor is computed, so a
|
|
11289
|
+
* disabled camera costs nothing extra per frame.
|
|
11290
|
+
*/
|
|
11291
|
+
var APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT = false;
|
|
11270
11292
|
var ClipModelMetaSchema = object({
|
|
11271
11293
|
/** The paired text encoder's catalog id (the embedding-encoder's text catalog). */
|
|
11272
11294
|
textModelId: string().min(1),
|
|
@@ -19685,8 +19707,14 @@ var NcSensorTransitionSchema = _enum(["raised", "cleared"]);
|
|
|
19685
19707
|
/** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
|
|
19686
19708
|
var NcZoneConditionSchema = object({
|
|
19687
19709
|
ids: array(string().min(1)).min(1),
|
|
19688
|
-
/**
|
|
19689
|
-
|
|
19710
|
+
/**
|
|
19711
|
+
* LEGACY quantifier over `ids`. Absent = `any` (at least one visited), which
|
|
19712
|
+
* is what both editors mean and all they write since D690: "all of" was
|
|
19713
|
+
* removed from the editors because on an immediate rule it asked one
|
|
19714
|
+
* detection to stand in every zone at once. Still ACCEPTED, and `all` still
|
|
19715
|
+
* evaluated, so a stored rule keeps parsing and meaning what it meant.
|
|
19716
|
+
*/
|
|
19717
|
+
match: _enum(["any", "all"]).optional()
|
|
19690
19718
|
});
|
|
19691
19719
|
/**
|
|
19692
19720
|
* The P1 condition set — a flat AND of groups; absent group = pass;
|
|
@@ -20999,7 +21027,7 @@ var NC_CONDITION_CATALOG = [
|
|
|
20999
21027
|
"package-event"
|
|
21000
21028
|
],
|
|
21001
21029
|
phase: "P1",
|
|
21002
|
-
description: "
|
|
21030
|
+
description: "The zones the subject must be in (included) or never in (excluded)."
|
|
21003
21031
|
},
|
|
21004
21032
|
{
|
|
21005
21033
|
id: "zonesExclude",
|
|
@@ -21022,29 +21050,24 @@ var NC_CONDITION_CATALOG = [
|
|
|
21022
21050
|
options: [
|
|
21023
21051
|
{
|
|
21024
21052
|
value: "",
|
|
21025
|
-
label: "
|
|
21026
|
-
hint: "Entries
|
|
21027
|
-
},
|
|
21028
|
-
{
|
|
21029
|
-
value: "enter",
|
|
21030
|
-
label: "Entered a zone",
|
|
21031
|
-
hint: "The same matches as \"not set\", stated explicitly: entries and non-crossing detections pass, exits do not."
|
|
21053
|
+
label: "Entering",
|
|
21054
|
+
hint: "Entries and ordinary movement; never an exit."
|
|
21032
21055
|
},
|
|
21033
21056
|
{
|
|
21034
21057
|
value: "exit",
|
|
21035
|
-
label: "
|
|
21036
|
-
hint: "
|
|
21058
|
+
label: "Leaving",
|
|
21059
|
+
hint: "Only an exit from a zone."
|
|
21037
21060
|
},
|
|
21038
21061
|
{
|
|
21039
21062
|
value: "any",
|
|
21040
|
-
label: "
|
|
21041
|
-
hint: "
|
|
21063
|
+
label: "Entering or leaving",
|
|
21064
|
+
hint: "Entries, exits and ordinary movement."
|
|
21042
21065
|
}
|
|
21043
21066
|
],
|
|
21044
21067
|
operator: "in",
|
|
21045
21068
|
appliesTo: ["immediate"],
|
|
21046
21069
|
phase: "P1",
|
|
21047
|
-
description: "
|
|
21070
|
+
description: "Which way the subject crosses the zone."
|
|
21048
21071
|
},
|
|
21049
21072
|
{
|
|
21050
21073
|
id: "labelEquals",
|
|
@@ -21181,7 +21204,7 @@ var NC_CONDITION_CATALOG = [
|
|
|
21181
21204
|
"package-event"
|
|
21182
21205
|
],
|
|
21183
21206
|
phase: "P3",
|
|
21184
|
-
description: "Only fire while a scene is matched
|
|
21207
|
+
description: "Only fire while a scene is matched or diverged."
|
|
21185
21208
|
},
|
|
21186
21209
|
{
|
|
21187
21210
|
id: "sensorKinds",
|
|
@@ -24491,13 +24514,19 @@ var pipelineAnalyticsCapability = {
|
|
|
24491
24514
|
*
|
|
24492
24515
|
* Operator-driven from the DI Events page (batch delete). Routes through
|
|
24493
24516
|
* the same widened track-deletion cascade (design §5.2).
|
|
24517
|
+
*
|
|
24518
|
+
* `sparedMediaIds` (D683 Task 14): media rows the cascade LEFT because a
|
|
24519
|
+
* live stationary entry vouches for them (its key frame, owned by a track
|
|
24520
|
+
* that moved and was kept). Released when the entry retires. Optional:
|
|
24521
|
+
* absent from a provider that predates it.
|
|
24494
24522
|
*/
|
|
24495
24523
|
deleteTracks: method(object({
|
|
24496
24524
|
deviceId: number(),
|
|
24497
24525
|
trackIds: array(string()).min(1)
|
|
24498
24526
|
}), object({
|
|
24499
24527
|
deleted: number().int(),
|
|
24500
|
-
failed: array(string()).readonly()
|
|
24528
|
+
failed: array(string()).readonly(),
|
|
24529
|
+
sparedMediaIds: array(number().int()).readonly().optional()
|
|
24501
24530
|
}), {
|
|
24502
24531
|
kind: "mutation",
|
|
24503
24532
|
auth: "admin"
|
|
@@ -27207,7 +27236,42 @@ var SetCameraSensorsInputSchema = object({
|
|
|
27207
27236
|
/** `null` removes the attachment: the camera goes back to `not-configured`. */
|
|
27208
27237
|
config: CameraSensorsConfigSchema.nullable()
|
|
27209
27238
|
});
|
|
27210
|
-
|
|
27239
|
+
/**
|
|
27240
|
+
* Why an early occupancy look (D691) was not scheduled.
|
|
27241
|
+
*
|
|
27242
|
+
* - `unknown-camera` — no session was ever dispatched for it, so there is no
|
|
27243
|
+
* node and no config to attach a burst with.
|
|
27244
|
+
* - `out-of-range` — the ask is negative or further out than the orchestrator
|
|
27245
|
+
* will hold a timer for; the parked-object cadence is the answer there.
|
|
27246
|
+
* - `no-burst-producer` — this build has no burst producer at all.
|
|
27247
|
+
* - `already-looked` — this camera's ONE early look since its last session has
|
|
27248
|
+
* been spent. A look's own burst can re-arm a flickering flip, and a look
|
|
27249
|
+
* per arm would chain a burst every ~30 s forever (review H2); the next
|
|
27250
|
+
* real session re-arms the budget.
|
|
27251
|
+
*/
|
|
27252
|
+
var OccupancyLookRefusalSchema = _enum([
|
|
27253
|
+
"unknown-camera",
|
|
27254
|
+
"out-of-range",
|
|
27255
|
+
"no-burst-producer",
|
|
27256
|
+
"already-looked"
|
|
27257
|
+
]);
|
|
27258
|
+
method(object({
|
|
27259
|
+
deviceId: number().int().nonnegative(),
|
|
27260
|
+
/** How long from NOW until the pending flip's sustain window ends. RELATIVE,
|
|
27261
|
+
* so the caller's clock and the orchestrator's never have to agree. */
|
|
27262
|
+
afterMs: number().finite(),
|
|
27263
|
+
/** Why, for the log. */
|
|
27264
|
+
reason: string()
|
|
27265
|
+
}), object({
|
|
27266
|
+
scheduled: boolean(),
|
|
27267
|
+
/** When `scheduled`: how long until the burst is dialled. */
|
|
27268
|
+
dueInMs: number().optional(),
|
|
27269
|
+
/** When not `scheduled`: why. */
|
|
27270
|
+
refusedBecause: OccupancyLookRefusalSchema.optional()
|
|
27271
|
+
}), {
|
|
27272
|
+
kind: "mutation",
|
|
27273
|
+
auth: "admin"
|
|
27274
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
27211
27275
|
kind: "mutation",
|
|
27212
27276
|
auth: "admin"
|
|
27213
27277
|
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
@@ -48369,6 +48433,12 @@ Object.freeze({
|
|
|
48369
48433
|
addonId: null,
|
|
48370
48434
|
access: "delete"
|
|
48371
48435
|
},
|
|
48436
|
+
"pipelineOrchestrator.requestOccupancyLook": {
|
|
48437
|
+
capName: "pipeline-orchestrator",
|
|
48438
|
+
capScope: "system",
|
|
48439
|
+
addonId: null,
|
|
48440
|
+
access: "create"
|
|
48441
|
+
},
|
|
48372
48442
|
"pipelineOrchestrator.resetNodePipelineDefaults": {
|
|
48373
48443
|
capName: "pipeline-orchestrator",
|
|
48374
48444
|
capScope: "system",
|
|
@@ -52161,6 +52231,11 @@ Object.freeze({
|
|
|
52161
52231
|
form: "single",
|
|
52162
52232
|
optional: false
|
|
52163
52233
|
}],
|
|
52234
|
+
"pipelineOrchestrator.requestOccupancyLook": [{
|
|
52235
|
+
name: "deviceId",
|
|
52236
|
+
form: "single",
|
|
52237
|
+
optional: false
|
|
52238
|
+
}],
|
|
52164
52239
|
"pipelineOrchestrator.resolvePipeline": [{
|
|
52165
52240
|
name: "deviceId",
|
|
52166
52241
|
form: "single",
|
|
@@ -52992,6 +53067,12 @@ function audioModeOf(value) {
|
|
|
52992
53067
|
if (value.dbThreshold !== void 0) return "level";
|
|
52993
53068
|
return null;
|
|
52994
53069
|
}
|
|
53070
|
+
/** The taxonomy group the class picker appends the audio kinds under. */
|
|
53071
|
+
var AUDIO_GROUP_KEY = "audio";
|
|
53072
|
+
/** An audio kind (`audio-*`) — the one prefix every sound class carries. */
|
|
53073
|
+
function isAudioClassName(name) {
|
|
53074
|
+
return name.trim().toLowerCase().startsWith(`${AUDIO_GROUP_KEY}-`);
|
|
53075
|
+
}
|
|
52995
53076
|
new Set(["devices", "classes"]);
|
|
52996
53077
|
/**
|
|
52997
53078
|
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
@@ -54501,6 +54582,37 @@ function templateCarriesSummary(body) {
|
|
|
54501
54582
|
if (body === void 0 || body.trim().length === 0) return true;
|
|
54502
54583
|
return SUMMARY_CONTENT_VAR.test(body);
|
|
54503
54584
|
}
|
|
54585
|
+
new Set([
|
|
54586
|
+
"disarmed",
|
|
54587
|
+
"armed_home",
|
|
54588
|
+
"armed_away",
|
|
54589
|
+
"armed_night",
|
|
54590
|
+
"armed_vacation",
|
|
54591
|
+
"armed_custom_bypass",
|
|
54592
|
+
"arming",
|
|
54593
|
+
"disarming",
|
|
54594
|
+
"pending",
|
|
54595
|
+
"triggered",
|
|
54596
|
+
"open",
|
|
54597
|
+
"opening",
|
|
54598
|
+
"closing",
|
|
54599
|
+
"closed",
|
|
54600
|
+
"stopped",
|
|
54601
|
+
"locked",
|
|
54602
|
+
"unlocked",
|
|
54603
|
+
"locking",
|
|
54604
|
+
"unlocking",
|
|
54605
|
+
"jammed",
|
|
54606
|
+
"on",
|
|
54607
|
+
"off",
|
|
54608
|
+
"home",
|
|
54609
|
+
"not_home",
|
|
54610
|
+
"matched",
|
|
54611
|
+
"diverged",
|
|
54612
|
+
"unknown",
|
|
54613
|
+
"latched",
|
|
54614
|
+
"live"
|
|
54615
|
+
]);
|
|
54504
54616
|
/**
|
|
54505
54617
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
54506
54618
|
*
|
|
@@ -55774,6 +55886,24 @@ function buildClipModelRegistry(entries) {
|
|
|
55774
55886
|
/** The built-in catalog's registry. */
|
|
55775
55887
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
55776
55888
|
//#endregion
|
|
55889
|
+
Object.defineProperty(exports, "APPEARANCE_BIN_COUNT", {
|
|
55890
|
+
enumerable: true,
|
|
55891
|
+
get: function() {
|
|
55892
|
+
return APPEARANCE_BIN_COUNT;
|
|
55893
|
+
}
|
|
55894
|
+
});
|
|
55895
|
+
Object.defineProperty(exports, "APPEARANCE_BLOCKS", {
|
|
55896
|
+
enumerable: true,
|
|
55897
|
+
get: function() {
|
|
55898
|
+
return APPEARANCE_BLOCKS;
|
|
55899
|
+
}
|
|
55900
|
+
});
|
|
55901
|
+
Object.defineProperty(exports, "APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT", {
|
|
55902
|
+
enumerable: true,
|
|
55903
|
+
get: function() {
|
|
55904
|
+
return APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT;
|
|
55905
|
+
}
|
|
55906
|
+
});
|
|
55777
55907
|
Object.defineProperty(exports, "ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT", {
|
|
55778
55908
|
enumerable: true,
|
|
55779
55909
|
get: function() {
|
|
@@ -56458,6 +56588,12 @@ Object.defineProperty(exports, "TrackSourceSchema", {
|
|
|
56458
56588
|
return TrackSourceSchema;
|
|
56459
56589
|
}
|
|
56460
56590
|
});
|
|
56591
|
+
Object.defineProperty(exports, "ZodObject", {
|
|
56592
|
+
enumerable: true,
|
|
56593
|
+
get: function() {
|
|
56594
|
+
return ZodObject;
|
|
56595
|
+
}
|
|
56596
|
+
});
|
|
56461
56597
|
Object.defineProperty(exports, "__exportAll", {
|
|
56462
56598
|
enumerable: true,
|
|
56463
56599
|
get: function() {
|
|
@@ -56668,6 +56804,12 @@ Object.defineProperty(exports, "hydrateSchema", {
|
|
|
56668
56804
|
return hydrateSchema;
|
|
56669
56805
|
}
|
|
56670
56806
|
});
|
|
56807
|
+
Object.defineProperty(exports, "isAudioClassName", {
|
|
56808
|
+
enumerable: true,
|
|
56809
|
+
get: function() {
|
|
56810
|
+
return isAudioClassName;
|
|
56811
|
+
}
|
|
56812
|
+
});
|
|
56671
56813
|
Object.defineProperty(exports, "isDetectionMacroClass", {
|
|
56672
56814
|
enumerable: true,
|
|
56673
56815
|
get: function() {
|
|
@@ -56740,6 +56882,12 @@ Object.defineProperty(exports, "literal", {
|
|
|
56740
56882
|
return literal;
|
|
56741
56883
|
}
|
|
56742
56884
|
});
|
|
56885
|
+
Object.defineProperty(exports, "looseObject", {
|
|
56886
|
+
enumerable: true,
|
|
56887
|
+
get: function() {
|
|
56888
|
+
return looseObject;
|
|
56889
|
+
}
|
|
56890
|
+
});
|
|
56743
56891
|
Object.defineProperty(exports, "mayWriteToLocation", {
|
|
56744
56892
|
enumerable: true,
|
|
56745
56893
|
get: function() {
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_clip_model_registry = require("../clip-model-registry-
|
|
5
|
+
const require_clip_model_registry = require("../clip-model-registry-t2ey3w0B.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_clip_model_registry.__toESM(node_fs);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Er as normalizeNodeId, Nt as PoolMemoryWatchdog, Sn as embeddingRequirementsUnavailableError, Un as parseProcStatus, Zn as resolvePoolMemoryPolicy, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS, vn as embeddingEncoderCapability, vr as BaseAddon, xn as embeddingRequirementsFailedError, yn as embeddingModelFailedError } from "../clip-model-registry-EA6x7Vd5.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
|
|
2
2
|
import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
|
|
3
|
-
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-
|
|
3
|
+
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B8qeS8Da.mjs";
|
|
4
4
|
import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
|
|
5
|
-
import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
5
|
+
import { t as _ } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CieM-gpB.mjs";
|
|
6
6
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
7
7
|
var v = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), y = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), b = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), x = (e) => {
|
|
8
8
|
let t = b(e);
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.280",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.217",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|