@camstack/addon-post-analysis 1.2.320 → 1.2.322
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-C_aKxHpy.js → clip-model-registry-BFbP9U7z.js} +427 -0
- package/dist/{clip-model-registry-C-IEAIQQ.mjs → clip-model-registry-CwK2SLQD.mjs} +374 -1
- 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-D553qWb_.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Dmt5eh93.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-mzYK6V9S.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-CuOcvcK7.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-ByDyL2zi.mjs → hostInit-DtKO_7UT.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +916 -50
- package/dist/pipeline-analytics/index.mjs +916 -50
- 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-7e_3hsiC.mjs +0 -26
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-C1V_UEyk.mjs +0 -26
|
@@ -21924,6 +21924,39 @@ var NcAlarmSettingsSchema = object({
|
|
|
21924
21924
|
modeDelays: NcAlarmModeDelaysListSchema.default([])
|
|
21925
21925
|
});
|
|
21926
21926
|
/**
|
|
21927
|
+
* One named alarm configuration profile — a full {@link NcAlarmSettings} blob
|
|
21928
|
+
* (memberships including secure-on-arm, delays, announce targets). The id is
|
|
21929
|
+
* assigned by the server; clients show the name.
|
|
21930
|
+
*/
|
|
21931
|
+
var NcAlarmProfileMetaSchema = object({
|
|
21932
|
+
id: string().min(1).max(64),
|
|
21933
|
+
name: string().min(1).max(64),
|
|
21934
|
+
/** The seeded Default profile — cannot be deleted. */
|
|
21935
|
+
isDefault: boolean()
|
|
21936
|
+
});
|
|
21937
|
+
/**
|
|
21938
|
+
* Profiles ride on {@link NcAlarmConfig}: one globally active profile, whose
|
|
21939
|
+
* settings are what arm decisions and `settings` already expose. Switching
|
|
21940
|
+
* active applies that profile's blob onto the panel.
|
|
21941
|
+
*/
|
|
21942
|
+
var NcAlarmProfilesViewSchema = object({
|
|
21943
|
+
activeId: string().min(1),
|
|
21944
|
+
items: array(NcAlarmProfileMetaSchema).min(1)
|
|
21945
|
+
});
|
|
21946
|
+
var NcAlarmCreateProfileInputSchema = object({
|
|
21947
|
+
name: string().min(1).max(64),
|
|
21948
|
+
/**
|
|
21949
|
+
* Omit / undefined → system defaults (empty memberships, stock delays).
|
|
21950
|
+
* Set → clone that profile's settings.
|
|
21951
|
+
*/
|
|
21952
|
+
cloneFromId: string().min(1).max(64).optional()
|
|
21953
|
+
});
|
|
21954
|
+
var NcAlarmRenameProfileInputSchema = object({
|
|
21955
|
+
id: string().min(1).max(64),
|
|
21956
|
+
name: string().min(1).max(64)
|
|
21957
|
+
});
|
|
21958
|
+
var NcAlarmProfileIdInputSchema = object({ id: string().min(1).max(64) });
|
|
21959
|
+
/**
|
|
21927
21960
|
* Every field optional — a tab edits one control at a time.
|
|
21928
21961
|
*
|
|
21929
21962
|
* List fields and `modeDelays` are re-declared WITHOUT their defaults:
|
|
@@ -22034,6 +22067,11 @@ var NcAlarmConfigSchema = object({
|
|
|
22034
22067
|
*/
|
|
22035
22068
|
deviceId: number().int().nullable(),
|
|
22036
22069
|
settings: NcAlarmSettingsSchema,
|
|
22070
|
+
/**
|
|
22071
|
+
* Named configuration profiles. Optional so an older hub answer still parses;
|
|
22072
|
+
* a client without this field shows no picker (single implicit Default).
|
|
22073
|
+
*/
|
|
22074
|
+
profiles: NcAlarmProfilesViewSchema.optional(),
|
|
22037
22075
|
coverage: array(NcAlarmModeCoverageSchema),
|
|
22038
22076
|
/**
|
|
22039
22077
|
* The panel as it is NOW — state, what each mode would find open, what is
|
|
@@ -22342,6 +22380,36 @@ var notificationRulesCapability = {
|
|
|
22342
22380
|
auth: "admin"
|
|
22343
22381
|
}),
|
|
22344
22382
|
/**
|
|
22383
|
+
* Create a named profile. Without `cloneFromId` the new profile starts at
|
|
22384
|
+
* system defaults (empty memberships); with it, a copy of that profile.
|
|
22385
|
+
* Does not activate — the operator switches explicitly.
|
|
22386
|
+
*/
|
|
22387
|
+
createAlarmProfile: method(NcAlarmCreateProfileInputSchema, NcAlarmConfigSchema, {
|
|
22388
|
+
kind: "mutation",
|
|
22389
|
+
auth: "admin"
|
|
22390
|
+
}),
|
|
22391
|
+
/** Rename a profile (Default included — only the name, never the id). */
|
|
22392
|
+
renameAlarmProfile: method(NcAlarmRenameProfileInputSchema, NcAlarmConfigSchema, {
|
|
22393
|
+
kind: "mutation",
|
|
22394
|
+
auth: "admin"
|
|
22395
|
+
}),
|
|
22396
|
+
/**
|
|
22397
|
+
* Delete a non-default profile. If it was active, Default becomes active
|
|
22398
|
+
* and its settings are applied for arm decisions.
|
|
22399
|
+
*/
|
|
22400
|
+
deleteAlarmProfile: method(NcAlarmProfileIdInputSchema, NcAlarmConfigSchema, {
|
|
22401
|
+
kind: "mutation",
|
|
22402
|
+
auth: "admin"
|
|
22403
|
+
}),
|
|
22404
|
+
/**
|
|
22405
|
+
* Make this profile active: its membership/delays blob is applied to the
|
|
22406
|
+
* panel so the next arm uses it.
|
|
22407
|
+
*/
|
|
22408
|
+
activateAlarmProfile: method(NcAlarmProfileIdInputSchema, NcAlarmConfigSchema, {
|
|
22409
|
+
kind: "mutation",
|
|
22410
|
+
auth: "admin"
|
|
22411
|
+
}),
|
|
22412
|
+
/**
|
|
22345
22413
|
* The CURRENT state of each asked device as the alarm reads it (D697) — open, closed,
|
|
22346
22414
|
* unknown (why) or not an opening, plus liveness. Classified by the same table the arm
|
|
22347
22415
|
* check uses (`alarm-openings.ts`), so the editor and the arm can never disagree. The
|
|
@@ -31505,6 +31573,65 @@ DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _v
|
|
|
31505
31573
|
auth: "protected"
|
|
31506
31574
|
});
|
|
31507
31575
|
/**
|
|
31576
|
+
* `calendar-source` — collection cap exposing per-provider calendars and
|
|
31577
|
+
* their events. Every addon that contributes calendars (Home Assistant,
|
|
31578
|
+
* a future Google Calendar addon, …) registers a provider here. The hub
|
|
31579
|
+
* singleton `calendars` walks the collection and merges the answers.
|
|
31580
|
+
*
|
|
31581
|
+
* Mirrors `addon-pages-source`: the public listing is a different shape
|
|
31582
|
+
* (source-stamped ids) and lives on the aggregator.
|
|
31583
|
+
*/
|
|
31584
|
+
var CalendarSourceKindSchema = _enum(["ha", "addon"]);
|
|
31585
|
+
var CalendarInfoSchema = object({
|
|
31586
|
+
/** Provider-local id (e.g. HA `calendar.family`). The aggregator prefixes. */
|
|
31587
|
+
id: string().min(1),
|
|
31588
|
+
name: string().min(1),
|
|
31589
|
+
source: CalendarSourceKindSchema,
|
|
31590
|
+
enabled: boolean()
|
|
31591
|
+
});
|
|
31592
|
+
var CalendarEventSchema = object({
|
|
31593
|
+
id: string().min(1),
|
|
31594
|
+
calendarId: string().min(1),
|
|
31595
|
+
title: string(),
|
|
31596
|
+
startMs: number().int(),
|
|
31597
|
+
endMs: number().int(),
|
|
31598
|
+
allDay: boolean().optional(),
|
|
31599
|
+
description: string().optional(),
|
|
31600
|
+
location: string().optional()
|
|
31601
|
+
});
|
|
31602
|
+
var CalendarListEventsInputSchema = object({
|
|
31603
|
+
calendarIds: array(string().min(1)).max(64).optional(),
|
|
31604
|
+
startMs: number().int(),
|
|
31605
|
+
endMs: number().int()
|
|
31606
|
+
});
|
|
31607
|
+
method(_void(), array(CalendarInfoSchema).readonly(), { auth: "admin" }), method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" });
|
|
31608
|
+
/**
|
|
31609
|
+
* `calendars` — system-scoped singleton. Public surface admin-ui and the
|
|
31610
|
+
* notification-center calendar-events producer consume.
|
|
31611
|
+
*
|
|
31612
|
+
* Walks every `calendar-source` provider, stamps each calendar with a
|
|
31613
|
+
* cluster-stable id (`<sourceAddonId>:<localId>`) and the providing
|
|
31614
|
+
* addon's id, and fans `listEvents` out the same way. Home Assistant
|
|
31615
|
+
* import is a built-in refresh of the HA source rather than a second
|
|
31616
|
+
* registry — `importFromHomeAssistant` asks that source to re-discover.
|
|
31617
|
+
*/
|
|
31618
|
+
var CalendarEntrySchema = CalendarInfoSchema.extend({
|
|
31619
|
+
/** Cluster-stable id: `<providerAddonId>:<localId>`. */
|
|
31620
|
+
id: string().min(1),
|
|
31621
|
+
/** The addon that registered the calendar-source provider. */
|
|
31622
|
+
providerAddonId: string().min(1).optional()
|
|
31623
|
+
});
|
|
31624
|
+
var CalendarImportResultSchema = object({
|
|
31625
|
+
imported: number().int().nonnegative(),
|
|
31626
|
+
/** Absent when no HA calendar-source provider was reachable. */
|
|
31627
|
+
providerAddonId: string().min(1).optional(),
|
|
31628
|
+
error: string().optional()
|
|
31629
|
+
});
|
|
31630
|
+
method(_void(), array(CalendarEntrySchema).readonly(), { auth: "admin" }), method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" }), method(_void(), CalendarImportResultSchema, {
|
|
31631
|
+
auth: "admin",
|
|
31632
|
+
kind: "mutation"
|
|
31633
|
+
});
|
|
31634
|
+
/**
|
|
31508
31635
|
* camera-credentials — device-scoped cap exposing the camera's network
|
|
31509
31636
|
* + auth surface in a vendor-neutral shape.
|
|
31510
31637
|
*
|
|
@@ -44822,6 +44949,36 @@ Object.freeze({
|
|
|
44822
44949
|
addonId: null,
|
|
44823
44950
|
access: "create"
|
|
44824
44951
|
},
|
|
44952
|
+
"calendars.importFromHomeAssistant": {
|
|
44953
|
+
capName: "calendars",
|
|
44954
|
+
capScope: "system",
|
|
44955
|
+
addonId: null,
|
|
44956
|
+
access: "create"
|
|
44957
|
+
},
|
|
44958
|
+
"calendars.listCalendars": {
|
|
44959
|
+
capName: "calendars",
|
|
44960
|
+
capScope: "system",
|
|
44961
|
+
addonId: null,
|
|
44962
|
+
access: "view"
|
|
44963
|
+
},
|
|
44964
|
+
"calendars.listEvents": {
|
|
44965
|
+
capName: "calendars",
|
|
44966
|
+
capScope: "system",
|
|
44967
|
+
addonId: null,
|
|
44968
|
+
access: "view"
|
|
44969
|
+
},
|
|
44970
|
+
"calendarSource.listCalendars": {
|
|
44971
|
+
capName: "calendar-source",
|
|
44972
|
+
capScope: "system",
|
|
44973
|
+
addonId: null,
|
|
44974
|
+
access: "view"
|
|
44975
|
+
},
|
|
44976
|
+
"calendarSource.listEvents": {
|
|
44977
|
+
capName: "calendar-source",
|
|
44978
|
+
capScope: "system",
|
|
44979
|
+
addonId: null,
|
|
44980
|
+
access: "view"
|
|
44981
|
+
},
|
|
44825
44982
|
"cameraCredentials.getCredentials": {
|
|
44826
44983
|
capName: "camera-credentials",
|
|
44827
44984
|
capScope: "device",
|
|
@@ -47624,12 +47781,24 @@ Object.freeze({
|
|
|
47624
47781
|
addonId: null,
|
|
47625
47782
|
access: "create"
|
|
47626
47783
|
},
|
|
47784
|
+
"notificationRules.activateAlarmProfile": {
|
|
47785
|
+
capName: "notification-rules",
|
|
47786
|
+
capScope: "system",
|
|
47787
|
+
addonId: null,
|
|
47788
|
+
access: "create"
|
|
47789
|
+
},
|
|
47627
47790
|
"notificationRules.cancelSnooze": {
|
|
47628
47791
|
capName: "notification-rules",
|
|
47629
47792
|
capScope: "system",
|
|
47630
47793
|
addonId: null,
|
|
47631
47794
|
access: "create"
|
|
47632
47795
|
},
|
|
47796
|
+
"notificationRules.createAlarmProfile": {
|
|
47797
|
+
capName: "notification-rules",
|
|
47798
|
+
capScope: "system",
|
|
47799
|
+
addonId: null,
|
|
47800
|
+
access: "create"
|
|
47801
|
+
},
|
|
47633
47802
|
"notificationRules.createRule": {
|
|
47634
47803
|
capName: "notification-rules",
|
|
47635
47804
|
capScope: "system",
|
|
@@ -47642,6 +47811,12 @@ Object.freeze({
|
|
|
47642
47811
|
addonId: null,
|
|
47643
47812
|
access: "create"
|
|
47644
47813
|
},
|
|
47814
|
+
"notificationRules.deleteAlarmProfile": {
|
|
47815
|
+
capName: "notification-rules",
|
|
47816
|
+
capScope: "system",
|
|
47817
|
+
addonId: null,
|
|
47818
|
+
access: "delete"
|
|
47819
|
+
},
|
|
47645
47820
|
"notificationRules.deleteRule": {
|
|
47646
47821
|
capName: "notification-rules",
|
|
47647
47822
|
capScope: "system",
|
|
@@ -47726,6 +47901,12 @@ Object.freeze({
|
|
|
47726
47901
|
addonId: null,
|
|
47727
47902
|
access: "view"
|
|
47728
47903
|
},
|
|
47904
|
+
"notificationRules.renameAlarmProfile": {
|
|
47905
|
+
capName: "notification-rules",
|
|
47906
|
+
capScope: "system",
|
|
47907
|
+
addonId: null,
|
|
47908
|
+
access: "create"
|
|
47909
|
+
},
|
|
47729
47910
|
"notificationRules.resolveArtifactUrl": {
|
|
47730
47911
|
capName: "notification-rules",
|
|
47731
47912
|
capScope: "system",
|
|
@@ -54627,6 +54808,198 @@ function applySecureOnArmEdit(lists, edit) {
|
|
|
54627
54808
|
present: !edit.secureOnArm
|
|
54628
54809
|
});
|
|
54629
54810
|
}
|
|
54811
|
+
/** Stable id of the always-present Default profile (migrated from flat settings). */
|
|
54812
|
+
var NC_ALARM_DEFAULT_PROFILE_ID = "default";
|
|
54813
|
+
var NC_ALARM_DEFAULT_PROFILE_NAME = "Default";
|
|
54814
|
+
/** Stock delays — same numbers the panel shipped with before any editor existed. */
|
|
54815
|
+
var NC_ALARM_SYSTEM_DEFAULT_DELAYS = {
|
|
54816
|
+
exitDelaySec: 30,
|
|
54817
|
+
entryDelaySec: 20,
|
|
54818
|
+
triggeredDurationSec: 0
|
|
54819
|
+
};
|
|
54820
|
+
/** Empty memberships + stock delays + no announce targets. */
|
|
54821
|
+
function ncAlarmSystemDefaultSettings() {
|
|
54822
|
+
return {
|
|
54823
|
+
...NC_ALARM_SYSTEM_DEFAULT_DELAYS,
|
|
54824
|
+
announceTargets: [],
|
|
54825
|
+
nonBlocking: [],
|
|
54826
|
+
blocking: [],
|
|
54827
|
+
secureOnArmOff: [],
|
|
54828
|
+
modeDelays: []
|
|
54829
|
+
};
|
|
54830
|
+
}
|
|
54831
|
+
function isDefaultAlarmProfileId(id) {
|
|
54832
|
+
return id === NC_ALARM_DEFAULT_PROFILE_ID;
|
|
54833
|
+
}
|
|
54834
|
+
/** Deep-enough copy of a settings blob (arrays replaced, never mutated). */
|
|
54835
|
+
function cloneAlarmSettings(settings) {
|
|
54836
|
+
return {
|
|
54837
|
+
exitDelaySec: settings.exitDelaySec,
|
|
54838
|
+
entryDelaySec: settings.entryDelaySec,
|
|
54839
|
+
triggeredDurationSec: settings.triggeredDurationSec,
|
|
54840
|
+
...settings.announceArm !== void 0 ? { announceArm: settings.announceArm } : {},
|
|
54841
|
+
announceTargets: [...settings.announceTargets],
|
|
54842
|
+
nonBlocking: settings.nonBlocking.map((l) => ({
|
|
54843
|
+
mode: l.mode,
|
|
54844
|
+
deviceIds: [...l.deviceIds]
|
|
54845
|
+
})),
|
|
54846
|
+
blocking: settings.blocking.map((l) => ({
|
|
54847
|
+
mode: l.mode,
|
|
54848
|
+
deviceIds: [...l.deviceIds]
|
|
54849
|
+
})),
|
|
54850
|
+
secureOnArmOff: settings.secureOnArmOff.map((l) => ({
|
|
54851
|
+
mode: l.mode,
|
|
54852
|
+
deviceIds: [...l.deviceIds]
|
|
54853
|
+
})),
|
|
54854
|
+
modeDelays: settings.modeDelays.map((e) => ({ ...e }))
|
|
54855
|
+
};
|
|
54856
|
+
}
|
|
54857
|
+
/**
|
|
54858
|
+
* Seed Default from the panel's current flat settings when no profiles exist yet
|
|
54859
|
+
* (first boot after this feature, or a wiped profiles key).
|
|
54860
|
+
*/
|
|
54861
|
+
function ensureAlarmProfiles(state, currentSettings) {
|
|
54862
|
+
if (state !== null && state !== void 0 && state.profiles.length > 0) {
|
|
54863
|
+
if (!state.profiles.some((p) => p.id === "default")) return {
|
|
54864
|
+
activeId: state.activeId,
|
|
54865
|
+
profiles: [{
|
|
54866
|
+
id: NC_ALARM_DEFAULT_PROFILE_ID,
|
|
54867
|
+
name: NC_ALARM_DEFAULT_PROFILE_NAME,
|
|
54868
|
+
settings: cloneAlarmSettings(currentSettings)
|
|
54869
|
+
}, ...state.profiles]
|
|
54870
|
+
};
|
|
54871
|
+
return state.profiles.some((p) => p.id === state.activeId) ? state : {
|
|
54872
|
+
activeId: NC_ALARM_DEFAULT_PROFILE_ID,
|
|
54873
|
+
profiles: state.profiles
|
|
54874
|
+
};
|
|
54875
|
+
}
|
|
54876
|
+
return {
|
|
54877
|
+
activeId: NC_ALARM_DEFAULT_PROFILE_ID,
|
|
54878
|
+
profiles: [{
|
|
54879
|
+
id: NC_ALARM_DEFAULT_PROFILE_ID,
|
|
54880
|
+
name: NC_ALARM_DEFAULT_PROFILE_NAME,
|
|
54881
|
+
settings: cloneAlarmSettings(currentSettings)
|
|
54882
|
+
}]
|
|
54883
|
+
};
|
|
54884
|
+
}
|
|
54885
|
+
function normalizeName(name) {
|
|
54886
|
+
return name.trim();
|
|
54887
|
+
}
|
|
54888
|
+
function nameTaken(state, name, exceptId) {
|
|
54889
|
+
const lower = name.toLowerCase();
|
|
54890
|
+
return state.profiles.some((p) => p.id !== exceptId && p.name.trim().toLowerCase() === lower);
|
|
54891
|
+
}
|
|
54892
|
+
function createAlarmProfile(state, input) {
|
|
54893
|
+
const name = normalizeName(input.name);
|
|
54894
|
+
if (name.length === 0) return {
|
|
54895
|
+
kind: "refused",
|
|
54896
|
+
reason: "name-empty"
|
|
54897
|
+
};
|
|
54898
|
+
if (nameTaken(state, name)) return {
|
|
54899
|
+
kind: "refused",
|
|
54900
|
+
reason: "name-taken",
|
|
54901
|
+
detail: name
|
|
54902
|
+
};
|
|
54903
|
+
if (isDefaultAlarmProfileId(input.id)) return {
|
|
54904
|
+
kind: "refused",
|
|
54905
|
+
reason: "cannot-rename-default-id"
|
|
54906
|
+
};
|
|
54907
|
+
let settings;
|
|
54908
|
+
if (input.source.kind === "defaults") settings = ncAlarmSystemDefaultSettings();
|
|
54909
|
+
else {
|
|
54910
|
+
const fromId = input.source.fromId;
|
|
54911
|
+
const src = state.profiles.find((p) => p.id === fromId);
|
|
54912
|
+
if (src === void 0) return {
|
|
54913
|
+
kind: "refused",
|
|
54914
|
+
reason: "clone-source-missing",
|
|
54915
|
+
detail: fromId
|
|
54916
|
+
};
|
|
54917
|
+
settings = cloneAlarmSettings(src.settings);
|
|
54918
|
+
}
|
|
54919
|
+
return {
|
|
54920
|
+
kind: "ok",
|
|
54921
|
+
state: {
|
|
54922
|
+
activeId: state.activeId,
|
|
54923
|
+
profiles: [...state.profiles, {
|
|
54924
|
+
id: input.id,
|
|
54925
|
+
name,
|
|
54926
|
+
settings
|
|
54927
|
+
}]
|
|
54928
|
+
}
|
|
54929
|
+
};
|
|
54930
|
+
}
|
|
54931
|
+
function renameAlarmProfile(state, input) {
|
|
54932
|
+
const name = normalizeName(input.name);
|
|
54933
|
+
if (name.length === 0) return {
|
|
54934
|
+
kind: "refused",
|
|
54935
|
+
reason: "name-empty"
|
|
54936
|
+
};
|
|
54937
|
+
const at = state.profiles.findIndex((p) => p.id === input.id);
|
|
54938
|
+
if (at < 0) return {
|
|
54939
|
+
kind: "refused",
|
|
54940
|
+
reason: "not-found",
|
|
54941
|
+
detail: input.id
|
|
54942
|
+
};
|
|
54943
|
+
if (nameTaken(state, name, input.id)) return {
|
|
54944
|
+
kind: "refused",
|
|
54945
|
+
reason: "name-taken",
|
|
54946
|
+
detail: name
|
|
54947
|
+
};
|
|
54948
|
+
const next = state.profiles.map((p, i) => i === at ? {
|
|
54949
|
+
...p,
|
|
54950
|
+
name
|
|
54951
|
+
} : p);
|
|
54952
|
+
return {
|
|
54953
|
+
kind: "ok",
|
|
54954
|
+
state: {
|
|
54955
|
+
activeId: state.activeId,
|
|
54956
|
+
profiles: next
|
|
54957
|
+
}
|
|
54958
|
+
};
|
|
54959
|
+
}
|
|
54960
|
+
function deleteAlarmProfile(state, id) {
|
|
54961
|
+
if (isDefaultAlarmProfileId(id)) return {
|
|
54962
|
+
kind: "refused",
|
|
54963
|
+
reason: "cannot-delete-default"
|
|
54964
|
+
};
|
|
54965
|
+
if (!state.profiles.some((p) => p.id === id)) return {
|
|
54966
|
+
kind: "refused",
|
|
54967
|
+
reason: "not-found",
|
|
54968
|
+
detail: id
|
|
54969
|
+
};
|
|
54970
|
+
const profiles = state.profiles.filter((p) => p.id !== id);
|
|
54971
|
+
return {
|
|
54972
|
+
kind: "ok",
|
|
54973
|
+
state: {
|
|
54974
|
+
activeId: state.activeId === id ? NC_ALARM_DEFAULT_PROFILE_ID : state.activeId,
|
|
54975
|
+
profiles
|
|
54976
|
+
}
|
|
54977
|
+
};
|
|
54978
|
+
}
|
|
54979
|
+
function activateAlarmProfile(state, id) {
|
|
54980
|
+
if (!state.profiles.some((p) => p.id === id)) return {
|
|
54981
|
+
kind: "refused",
|
|
54982
|
+
reason: "not-found",
|
|
54983
|
+
detail: id
|
|
54984
|
+
};
|
|
54985
|
+
return {
|
|
54986
|
+
kind: "ok",
|
|
54987
|
+
state: {
|
|
54988
|
+
activeId: id,
|
|
54989
|
+
profiles: state.profiles
|
|
54990
|
+
}
|
|
54991
|
+
};
|
|
54992
|
+
}
|
|
54993
|
+
/** Persist the live flat settings into the active profile's blob. */
|
|
54994
|
+
function syncActiveAlarmProfileSettings(state, settings) {
|
|
54995
|
+
return {
|
|
54996
|
+
activeId: state.activeId,
|
|
54997
|
+
profiles: state.profiles.map((p) => p.id === state.activeId ? {
|
|
54998
|
+
...p,
|
|
54999
|
+
settings: cloneAlarmSettings(settings)
|
|
55000
|
+
} : p)
|
|
55001
|
+
};
|
|
55002
|
+
}
|
|
54630
55003
|
/**
|
|
54631
55004
|
* WHICH WAY A BOOLEAN SENSOR MOVED — read off the one slice a sensor event
|
|
54632
55005
|
* persists (D640 "a sensor rule fires on the raise, the clear, or both").
|
|
@@ -57044,4 +57417,4 @@ function buildClipModelRegistry(entries) {
|
|
|
57044
57417
|
/** The built-in catalog's registry. */
|
|
57045
57418
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
57046
57419
|
//#endregion
|
|
57047
|
-
export {
|
|
57420
|
+
export { NC_ALARM_DELAY_MAX_SEC as $, isEventOwnerType as $n, defineCustomActions as $r, SCENE_DEFAULT_QUIET_SECONDS as $t, EMBEDDING_REQUIREMENTS_FAILED as A, consumableLowPercentOf as An, servedTemplateVars as Ar, NcRuleUpdateInputSchema as At, ListTrackRelationsInputSchema as B, embeddingRequirementsFailedError as Bn, templateVarsFor as Br, NcTemplateVarDescriptorSchema as Bt, DEFAULT_EVENT_COLOR as C, applyNonBlockingEdit as Cn, ruleBelongsToAlarm as Cr, NcAlarmSettingsPatchSchema as Ct, DeclaredDevices as D, audioModeOf as Dn, sceneMonitorCapability as Dr, NcRulePatchSchema as Dt, DETECTION_PIPELINE_CAP_NAME as E, audioMetricsCapability as En, ruleKindOf as Er, NcRuleInputSchema as Et, EXPORT_DENSE_MAX_RANGES as F, describeSystemEventDeliveryProblem as Fn, systemEventFamilyProblems as Fr, NcStateSummarySectionIdSchema as Ft, MAX_BIRTH_LATENCY_PROXY_MS as G, faceGalleryCapability as Gn, evaluateSensorEdge as Gr, RECORDING_SOURCE_CAMSTACK_ADDON as Gt, LockStateSchema as H, encodeVectorBase64 as Hn, zoneAnalyticsCapability as Hr, OpsLogEntrySchema as Ht, FIRST_LEVEL_MACRO_CLASSES as I, describeSystemEventFamilyProblem as In, systemEventFilterApplies as Ir, NcSystemEventKindSchema as It, MOTION_CLOSE_AFTER_MS as J, gifFromMp4Args as Jn, errMsg as Jr, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as Jt, MAX_TRACK_PURITIES as K, failureContributionCapability as Kn, isSourceCap as Kr, RebuildObjectEmbeddingsRefusalSchema as Kt, FULL_IMAGE_BBOX as L, embeddingEncoderCapability as Ln, systemEventSummaryScheduleOf as Lr, NcTaxonomySchema as Lt, EVENT_DENSITY_BATCH_MAX as M, createAlarmProfile as Mn, subKindsOf as Mr, NcSnoozeInputSchema as Mt, EVENT_KIND_BY_CAP as N, deleteAlarmProfile as Nn, syncActiveAlarmProfileSettings as Nr, NcSnoozeSchema as Nt, DetectionSourceSchema as O, buildEventKindDescriptor as On, secureActuationFor as Or, NcRuleSchema as Ot, EVENT_OWNER_TYPES as P, deriveRecordingMode as Pn, systemEventDeliveryProblems as Pr, NcSnoozeSuppressedSchema as Pt, NC_ALARM_DELAY_FIELDS as Q, isDetectionMacroClass as Qn, customAction as Qr, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as Qt, FailureCounters as R, embeddingModelFailedError as Rn, systemEventSummarySplitOf as Rr, NcTemplatePreviewInputSchema as Rt, CoverStateSchema as S, EventCategory as Si, applyModeDelaysEdits as Sn, resolvePoolMemoryPolicy as Sr, NcAlarmSensorsSchema as St, DETECTION_MACRO_CLASSES as T, assertTimelapseCadences as Tn, ruleGroupingApplies as Tr, NcConditionsSchema as Tt, MAX_ARCHIVED_DEBUG_NOTES as U, ensureAlarmProfiles as Un, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as Ur, PoolMemoryWatchdog as Ut, ListTrackRelationsResultSchema as V, embeddingRequirementsUnavailableError as Vn, vectorDimFromBase64 as Vr, OPS_LOG_DEFAULT_LIMIT as Vt, MAX_BIRTH_DECISION_RECORDS as W, evictionPolicyOfLocation as Wn, canonicalHash as Wr, RECORDING_EXPORT_MAX_READ_BYTES as Wt, MotionTriggeredBySchema as X, isAudioClassName as Xn, CamProfileSchema as Xr, SCENE_DEFAULT_ANCHOR_THRESHOLD as Xt, MediaFileKindEnum as Y, isAlarmControllableCap as Yn, BaseAddon as Yr, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as Yt, NC_ALARM_DEFAULT_PROFILE_ID as Z, isDefaultAlarmProfileId as Zn, createEvent as Zr, SCENE_DEFAULT_CHECK_INTERVAL_SEC as Zt, BaseDevice as _, string as _i, activateAlarmProfile as _n, readTimelapseGeneratedAt as _r, NC_TANK_SYSTEM_EVENT_KINDS as _t, CLIP_EMBEDDING_STEP_ID as a, ZodObject as ai, SetTrackPurityResultSchema as an, isSystemEventSummaryRule as ar, NC_CLIP_PRE_ROLL_DEFAULT_SEC as at, ClearTrackRelationInputSchema as b, union as bi, alarmPanelCapability as bn, resolveLocationMode as br, NcAlarmConfigSchema as bt, resolveClusterModelPin as c, boolean as ci, TRACK_RELATIONS_DEFAULT_LIMIT as cn, mayWriteToLocation as cr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as ct, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as d, looseObject as di, TimelapseRuleSchema as dn, occupancyScope as dr, NC_GROUPING_DEFAULT_SEC as dt, hydrateSchema as ei, SCENE_DEFAULT_UNCOVERED_POLICY as en, isKnownTemplateVar as er, NC_ALARM_SYSTEM_EVENT_KINDS as et, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as f, number as fi, TrackPuritySchema as fn, parseProcStatus as fr, NC_GROUPING_MAX_SEC as ft, BIRTH_DECISION_DEFAULT_LIMIT as g, strictObject as gi, TrackSourceSchema as gn, readMotionTriggeredBy as gr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as gt, ArchivedDebugNoteSchema as h, record as hi, TrackSideSchema as hn, readDeviceStateFrom as hr, NC_SNOOZE_MAX_MINUTES as ht, CLIP_TEXT_MODELS as i, sleep as ii, SetTrackPurityInputSchema as in, isSystemDelivery as ir, NC_CLIP_POST_ROLL_DEFAULT_SEC as it, EMBEDDING_REQUIREMENTS_UNAVAILABLE as j, cosineSimilarity as jn, storageOccupancyCapability as jr, NcScheduleSchema as jt, EMBEDDING_MODEL_FAILED as k, cloneAlarmSettings as kn, sensorRaisedOf as kr, NcRuleTargetSchema as kt, APPEARANCE_BIN_COUNT as l, discriminatedUnion as li, TimelapseRuleInputSchema as ln, memoizePinnedFfmpeg as lr, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as lt, AlarmArmModeSchema as m, partialRecord as mi, TrackRelationSchema as mn, plateGalleryCapability as mr, NC_SENSOR_TRANSITION_KINDS as mt, DEFAULT_CLIP_MODEL as n, nodePin as ni, SCENE_RESET_RECAPTURES as nn, isRetiredClearKey as nr, NC_AUDIO_CONFIRM_HITS_DEFAULT as nt, FACE_EMBEDDING_STEP_ID as o, _enum as oi, SetTrackRelationInputSchema as on, isVectorIndexDimConflict as or, NC_CLIP_RETENTION_MAX_SEC as ot, AUDIO_MACRO_LABELS as p, object as pi, TrackRelationKindSchema as pn, pipelineAnalyticsCapability as pr, NC_GROUPING_MIN_SEC as pt, MAX_TRACK_RELATIONS as q, gifDeriveSpeed as qn, DeviceType as qr, RetrainStatusSchema as qt, CLIP_IMAGE_MODELS as r, normalizeNodeId as ri, SceneMonitorSchema as rn, isScheduleActive as rr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as rt, readClusterModelPinStrict as s, array as si, TIMELAPSE_DENSE_FLOOR_SEC as sn, kebabToCamel as sr, NC_CONDITION_CATALOG as st, BUILTIN_CLIP_MODELS as t, isDeviceScopedCap as ti, SCENE_DIVERGED as tn, isMediaOwnerType as tr, NC_ALARM_TRIGGERED_MAX_SEC as tt, APPEARANCE_BLOCKS as u, literal as ui, TimelapseRulePatchSchema as un, notificationRulesCapability as ur, NC_DEFAULT_SNOOZE_MINUTES as ut, BirthDecisionRecordSchema as v, templateLiteral as vi, addonWidgetsSourceCapability as vn, renameAlarmProfile as vr, NC_TAXONOMY as vt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as w, applySecureOnArmEdit as wn, ruleDeviceCompatCapQueries as wr, NcConditionDescriptorSchema as wt, ClearTrackRelationResultSchema as x, unknown as xi, applyBlockingEdit as xn, resolveModeDelays as xr, NcAlarmSensorsInputSchema as xt, COCO_TO_MACRO as y, tuple as yi, alarmDeviceSecureOnArm as yn, resolveClipSearchMinScore as yr, NC_TEMPLATE_VARS as yt, LabelAttributionSchema as z, embeddingRefusalOf as zn, templateCarriesSummary as zr, NcTemplatePreviewSchema as zt };
|
|
@@ -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-BFbP9U7z.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 { Bn as embeddingRequirementsFailedError, Ln as embeddingEncoderCapability, Rn as embeddingModelFailedError, Sr as resolvePoolMemoryPolicy, Ut as PoolMemoryWatchdog, Vn as embeddingRequirementsUnavailableError, Yr as BaseAddon, a as CLIP_EMBEDDING_STEP_ID, c as resolveClusterModelPin, fr as parseProcStatus, i as CLIP_TEXT_MODELS, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, ri as normalizeNodeId, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-CwK2SLQD.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-CuOcvcK7.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-mzYK6V9S.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.298",
|
|
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.226",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|