@camstack/addon-post-analysis 1.2.319 → 1.2.321
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-BjYpZuuI.js → clip-model-registry-BCx3qCL5.js} +341 -45
- package/dist/{clip-model-registry-DSqobJfx.mjs → clip-model-registry-Dnm9dfy0.mjs} +312 -46
- 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-CKHzDA_B.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CPcZN3mA.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CGUnHrR_.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-CVH5tT7I.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-DDDjJDA6.mjs → hostInit-Dt-jaGuG.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +934 -113
- package/dist/pipeline-analytics/index.mjs +934 -113
- 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-Bz37odzX.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-B_KS96RA.mjs +0 -26
|
@@ -21812,14 +21812,52 @@ var NcAlarmNonBlockingEditSchema = object({
|
|
|
21812
21812
|
nonBlocking: boolean()
|
|
21813
21813
|
});
|
|
21814
21814
|
/**
|
|
21815
|
+
* Controllable openings: opt IN to blocking (default is do not block). Contacts
|
|
21816
|
+
* keep using {@link NcAlarmNonBlockingEditSchema}.
|
|
21817
|
+
*/
|
|
21818
|
+
var NcAlarmBlockingEditSchema = object({
|
|
21819
|
+
mode: AlarmArmModeSchema,
|
|
21820
|
+
deviceId: number().int().positive(),
|
|
21821
|
+
/** true = on the list (blocks when open); false = off the list (default). */
|
|
21822
|
+
blocking: boolean()
|
|
21823
|
+
});
|
|
21824
|
+
/**
|
|
21825
|
+
* Controllable openings: opt OUT of secure-on-arm (default is secure ON —
|
|
21826
|
+
* close / lock / turn off when this mode arms).
|
|
21827
|
+
*/
|
|
21828
|
+
var NcAlarmSecureOnArmEditSchema = object({
|
|
21829
|
+
mode: AlarmArmModeSchema,
|
|
21830
|
+
deviceId: number().int().positive(),
|
|
21831
|
+
/** true = secure on arm (default); false = do not actuate on arm. */
|
|
21832
|
+
secureOnArm: boolean()
|
|
21833
|
+
});
|
|
21834
|
+
/**
|
|
21835
|
+
* One arm mode's device-id list (non-blocking, blocking, or secure-on-arm-off).
|
|
21836
|
+
*/
|
|
21837
|
+
var NcAlarmModeDeviceListSchema = object({
|
|
21838
|
+
mode: AlarmArmModeSchema,
|
|
21839
|
+
deviceIds: array(number().int()).max(200)
|
|
21840
|
+
});
|
|
21841
|
+
/**
|
|
21842
|
+
* One arm mode's non-blocking list: devices that may be open when that mode
|
|
21843
|
+
* arms, without the arm being refused.
|
|
21844
|
+
*/
|
|
21845
|
+
var NcAlarmNonBlockingSchema = NcAlarmModeDeviceListSchema;
|
|
21846
|
+
/** Controllable devices that DO block when open (opt-in; default empty). */
|
|
21847
|
+
var NcAlarmBlockingSchema = NcAlarmModeDeviceListSchema;
|
|
21848
|
+
/**
|
|
21849
|
+
* Controllable devices that do NOT secure on arm (opt-out; default empty =
|
|
21850
|
+
* every controllable secures).
|
|
21851
|
+
*/
|
|
21852
|
+
var NcAlarmSecureOnArmOffSchema = NcAlarmModeDeviceListSchema;
|
|
21853
|
+
/**
|
|
21815
21854
|
* The per-mode lists, at most one per mode. Two lists for one mode have no
|
|
21816
21855
|
* meaning a reader could agree on (union? the last one?), so they are refused
|
|
21817
21856
|
* at the boundary rather than interpreted.
|
|
21818
21857
|
*/
|
|
21819
|
-
var NcAlarmNonBlockingListSchema = array(
|
|
21820
|
-
|
|
21821
|
-
|
|
21822
|
-
})).max(8).refine(uniqueModes, { message: "nonBlocking: at most one list per arm mode" });
|
|
21858
|
+
var NcAlarmNonBlockingListSchema = array(NcAlarmNonBlockingSchema).max(8).refine(uniqueModes, { message: "nonBlocking: at most one list per arm mode" });
|
|
21859
|
+
var NcAlarmBlockingListSchema = array(NcAlarmBlockingSchema).max(8).refine(uniqueModes, { message: "blocking: at most one list per arm mode" });
|
|
21860
|
+
var NcAlarmSecureOnArmOffListSchema = array(NcAlarmSecureOnArmOffSchema).max(8).refine(uniqueModes, { message: "secureOnArmOff: at most one list per arm mode" });
|
|
21823
21861
|
/**
|
|
21824
21862
|
* The three durations — global, and per mode since D697 — the panel's state
|
|
21825
21863
|
* machine runs on, who hears about its transitions, and which openings each mode tolerates.
|
|
@@ -21862,9 +21900,23 @@ var NcAlarmSettingsSchema = object({
|
|
|
21862
21900
|
* arm (a window left ajar for the cat under `home`, say). At most one entry
|
|
21863
21901
|
* per mode is meaningful. Defaulted to `[]` so a blob stored before D630
|
|
21864
21902
|
* parses as "every opening blocks" — the behaviour it was written under.
|
|
21903
|
+
* Contacts use this list; controllable openings use {@link blocking} instead
|
|
21904
|
+
* (default: do not block).
|
|
21865
21905
|
*/
|
|
21866
21906
|
nonBlocking: NcAlarmNonBlockingListSchema.default([]),
|
|
21867
21907
|
/**
|
|
21908
|
+
* Per arm mode, controllable openings that DO refuse the arm when open.
|
|
21909
|
+
* Default `[]` = none block (secure-on-arm closes them instead). Absent on a
|
|
21910
|
+
* blob older than this field — read as empty.
|
|
21911
|
+
*/
|
|
21912
|
+
blocking: NcAlarmBlockingListSchema.default([]),
|
|
21913
|
+
/**
|
|
21914
|
+
* Per arm mode, controllable openings that must NOT be actuated on arm.
|
|
21915
|
+
* Default `[]` = every controllable secures (close / lock / off). Absent on
|
|
21916
|
+
* an older blob — read as empty (secure ON).
|
|
21917
|
+
*/
|
|
21918
|
+
secureOnArmOff: NcAlarmSecureOnArmOffListSchema.default([]),
|
|
21919
|
+
/**
|
|
21868
21920
|
* Per arm mode, the delays that mode OVERRIDES (D697). A mode with no entry, or an entry
|
|
21869
21921
|
* without a field, uses the global value above — so `[]`, the default, is exactly the
|
|
21870
21922
|
* behaviour of a blob stored before this field existed. Read through `resolveModeDelays`.
|
|
@@ -21874,7 +21926,7 @@ var NcAlarmSettingsSchema = object({
|
|
|
21874
21926
|
/**
|
|
21875
21927
|
* Every field optional — a tab edits one control at a time.
|
|
21876
21928
|
*
|
|
21877
|
-
*
|
|
21929
|
+
* List fields and `modeDelays` are re-declared WITHOUT their defaults:
|
|
21878
21930
|
* `.partial()` does not remove an inner `.default()`, so a patch that never
|
|
21879
21931
|
* named the field would parse to `[]` and wipe every mode's list on an
|
|
21880
21932
|
* unrelated edit (the same trap {@link NcRulePatchSchema} documents). Here
|
|
@@ -21882,11 +21934,15 @@ var NcAlarmSettingsSchema = object({
|
|
|
21882
21934
|
*/
|
|
21883
21935
|
var NcAlarmSettingsPatchSchema = NcAlarmSettingsSchema.extend({
|
|
21884
21936
|
nonBlocking: NcAlarmNonBlockingListSchema,
|
|
21937
|
+
blocking: NcAlarmBlockingListSchema,
|
|
21938
|
+
secureOnArmOff: NcAlarmSecureOnArmOffListSchema,
|
|
21885
21939
|
/** Per-mode, per-field edits — NOT the whole list (see NcAlarmModeDelaysEditSchema). */
|
|
21886
21940
|
modeDelays: NcAlarmModeDelaysEditListSchema,
|
|
21887
21941
|
/** ONE membership change; the panel applies it to the list it holds at its turn. */
|
|
21888
|
-
nonBlockingEdit: NcAlarmNonBlockingEditSchema
|
|
21889
|
-
|
|
21942
|
+
nonBlockingEdit: NcAlarmNonBlockingEditSchema,
|
|
21943
|
+
blockingEdit: NcAlarmBlockingEditSchema,
|
|
21944
|
+
secureOnArmEdit: NcAlarmSecureOnArmEditSchema
|
|
21945
|
+
}).partial().refine((p) => p.nonBlocking === void 0 || p.nonBlockingEdit === void 0, { message: "nonBlocking and nonBlockingEdit are exclusive — send the whole lists or one edit" }).refine((p) => p.blocking === void 0 || p.blockingEdit === void 0, { message: "blocking and blockingEdit are exclusive — send the whole lists or one edit" }).refine((p) => p.secureOnArmOff === void 0 || p.secureOnArmEdit === void 0, { message: "secureOnArmOff and secureOnArmEdit are exclusive — send the whole lists or one edit" });
|
|
21890
21946
|
/**
|
|
21891
21947
|
* What one arm mode actually arms, DERIVED from the enabled rules gated on it.
|
|
21892
21948
|
* Never authored, never stored — see `alarm-mode-coverage.ts` for why a stored
|
|
@@ -22001,7 +22057,13 @@ var NcAlarmSensorStateSchema = object({
|
|
|
22001
22057
|
/** Why `unknown`: the read failed, or the slice holds no word its cap defines (a placeholder included). */
|
|
22002
22058
|
unknownWhy: _enum(["read-failed", "unknown-word"]).nullable(),
|
|
22003
22059
|
/** The device manager's liveness as the centre mirrors it; null = not known. */
|
|
22004
|
-
online: boolean().nullable()
|
|
22060
|
+
online: boolean().nullable(),
|
|
22061
|
+
/**
|
|
22062
|
+
* True when the opening is a cover / lock / switch — the table shows the
|
|
22063
|
+
* Secure-on-arm switch and uses the controllable defaults. False for contacts
|
|
22064
|
+
* and for non-openings. Defaulted so an older hub answer still parses.
|
|
22065
|
+
*/
|
|
22066
|
+
controllable: boolean().default(false)
|
|
22005
22067
|
});
|
|
22006
22068
|
var NcAlarmSensorsInputSchema = object({ deviceIds: array(number().int().positive()).max(500) });
|
|
22007
22069
|
var NcAlarmSensorsSchema = object({
|
|
@@ -31443,6 +31505,65 @@ DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _v
|
|
|
31443
31505
|
auth: "protected"
|
|
31444
31506
|
});
|
|
31445
31507
|
/**
|
|
31508
|
+
* `calendar-source` — collection cap exposing per-provider calendars and
|
|
31509
|
+
* their events. Every addon that contributes calendars (Home Assistant,
|
|
31510
|
+
* a future Google Calendar addon, …) registers a provider here. The hub
|
|
31511
|
+
* singleton `calendars` walks the collection and merges the answers.
|
|
31512
|
+
*
|
|
31513
|
+
* Mirrors `addon-pages-source`: the public listing is a different shape
|
|
31514
|
+
* (source-stamped ids) and lives on the aggregator.
|
|
31515
|
+
*/
|
|
31516
|
+
var CalendarSourceKindSchema = _enum(["ha", "addon"]);
|
|
31517
|
+
var CalendarInfoSchema = object({
|
|
31518
|
+
/** Provider-local id (e.g. HA `calendar.family`). The aggregator prefixes. */
|
|
31519
|
+
id: string().min(1),
|
|
31520
|
+
name: string().min(1),
|
|
31521
|
+
source: CalendarSourceKindSchema,
|
|
31522
|
+
enabled: boolean()
|
|
31523
|
+
});
|
|
31524
|
+
var CalendarEventSchema = object({
|
|
31525
|
+
id: string().min(1),
|
|
31526
|
+
calendarId: string().min(1),
|
|
31527
|
+
title: string(),
|
|
31528
|
+
startMs: number().int(),
|
|
31529
|
+
endMs: number().int(),
|
|
31530
|
+
allDay: boolean().optional(),
|
|
31531
|
+
description: string().optional(),
|
|
31532
|
+
location: string().optional()
|
|
31533
|
+
});
|
|
31534
|
+
var CalendarListEventsInputSchema = object({
|
|
31535
|
+
calendarIds: array(string().min(1)).max(64).optional(),
|
|
31536
|
+
startMs: number().int(),
|
|
31537
|
+
endMs: number().int()
|
|
31538
|
+
});
|
|
31539
|
+
method(_void(), array(CalendarInfoSchema).readonly(), { auth: "admin" }), method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" });
|
|
31540
|
+
/**
|
|
31541
|
+
* `calendars` — system-scoped singleton. Public surface admin-ui and the
|
|
31542
|
+
* notification-center calendar-events producer consume.
|
|
31543
|
+
*
|
|
31544
|
+
* Walks every `calendar-source` provider, stamps each calendar with a
|
|
31545
|
+
* cluster-stable id (`<sourceAddonId>:<localId>`) and the providing
|
|
31546
|
+
* addon's id, and fans `listEvents` out the same way. Home Assistant
|
|
31547
|
+
* import is a built-in refresh of the HA source rather than a second
|
|
31548
|
+
* registry — `importFromHomeAssistant` asks that source to re-discover.
|
|
31549
|
+
*/
|
|
31550
|
+
var CalendarEntrySchema = CalendarInfoSchema.extend({
|
|
31551
|
+
/** Cluster-stable id: `<providerAddonId>:<localId>`. */
|
|
31552
|
+
id: string().min(1),
|
|
31553
|
+
/** The addon that registered the calendar-source provider. */
|
|
31554
|
+
providerAddonId: string().min(1).optional()
|
|
31555
|
+
});
|
|
31556
|
+
var CalendarImportResultSchema = object({
|
|
31557
|
+
imported: number().int().nonnegative(),
|
|
31558
|
+
/** Absent when no HA calendar-source provider was reachable. */
|
|
31559
|
+
providerAddonId: string().min(1).optional(),
|
|
31560
|
+
error: string().optional()
|
|
31561
|
+
});
|
|
31562
|
+
method(_void(), array(CalendarEntrySchema).readonly(), { auth: "admin" }), method(CalendarListEventsInputSchema, array(CalendarEventSchema).readonly(), { auth: "admin" }), method(_void(), CalendarImportResultSchema, {
|
|
31563
|
+
auth: "admin",
|
|
31564
|
+
kind: "mutation"
|
|
31565
|
+
});
|
|
31566
|
+
/**
|
|
31446
31567
|
* camera-credentials — device-scoped cap exposing the camera's network
|
|
31447
31568
|
* + auth surface in a vendor-neutral shape.
|
|
31448
31569
|
*
|
|
@@ -36098,38 +36219,52 @@ DeviceType.Camera, method(object({
|
|
|
36098
36219
|
deviceId: number(),
|
|
36099
36220
|
status: OsdStatusSchema
|
|
36100
36221
|
});
|
|
36222
|
+
_enum([
|
|
36223
|
+
"value",
|
|
36224
|
+
"unit",
|
|
36225
|
+
"full"
|
|
36226
|
+
]);
|
|
36227
|
+
_enum([
|
|
36228
|
+
"value+unit",
|
|
36229
|
+
"value",
|
|
36230
|
+
"unit"
|
|
36231
|
+
]);
|
|
36232
|
+
/**
|
|
36233
|
+
* How the operator reached the leaf device. `deviceId` is ALWAYS the
|
|
36234
|
+
* OSD-supported leaf that is read; `containerId` is set when the pick
|
|
36235
|
+
* went through a container (gateway) first.
|
|
36236
|
+
*/
|
|
36237
|
+
var OsdTemplatePickSchema = object({
|
|
36238
|
+
containerId: number().int().optional(),
|
|
36239
|
+
deviceId: number().int()
|
|
36240
|
+
});
|
|
36241
|
+
/**
|
|
36242
|
+
* One named binding inside a multi-device template: device path + unit
|
|
36243
|
+
* selection + precision. The parser expands `{alias}`, `{alias.value}`,
|
|
36244
|
+
* `{alias.unit}`, or `{alias.full}` from the same binding — there is no
|
|
36245
|
+
* per-binding format lock.
|
|
36246
|
+
*/
|
|
36247
|
+
var OsdTemplateBindingSchema = object({
|
|
36248
|
+
/** Token stem in the parser, e.g. `t` → `{t}` / `{t.value}`. Unique within the template. */
|
|
36249
|
+
alias: string().min(1).max(32).regex(/^[A-Za-z][A-Za-z0-9_-]*$/, "alias must start with a letter"),
|
|
36250
|
+
pick: OsdTemplatePickSchema,
|
|
36251
|
+
capName: string().min(1).max(64),
|
|
36252
|
+
valuePath: string().min(1).max(64),
|
|
36253
|
+
/** Convert TO this unit at render (`tryConvertUnit`). Absent = source unit. */
|
|
36254
|
+
displayUnit: string().max(16).optional(),
|
|
36255
|
+
maxDecimals: number().int().min(0).max(4).default(1)
|
|
36256
|
+
});
|
|
36101
36257
|
/**
|
|
36102
|
-
*
|
|
36103
|
-
*
|
|
36104
|
-
* The `osd` cap is the firmware contract: it probes a camera's overlay
|
|
36105
|
-
* SLOTS and writes literal text into one. It has no idea WHERE that text
|
|
36106
|
-
* comes from, and it must not — a driver that grew a "show the temperature
|
|
36107
|
-
* here" feature would grow it once per vendor.
|
|
36108
|
-
*
|
|
36109
|
-
* This cap owns the other half: a per-(camera, slot) BINDING that says
|
|
36110
|
-
* which value feeds the slot, how it is formatted, and under which
|
|
36111
|
-
* conditions it is shown at all. One addon renders every binding on every
|
|
36112
|
-
* camera, so a new source costs zero driver code.
|
|
36113
|
-
*
|
|
36114
|
-
* Three deliberate choices, each with a rejected alternative:
|
|
36115
|
-
*
|
|
36116
|
-
* 1. A source is `(capName, valuePath)` over the kernel's device
|
|
36117
|
-
* runtime-state mirror — NOT a closed enum of source kinds. Every
|
|
36118
|
-
* cap-keyed slice a device publishes is bindable the day the cap
|
|
36119
|
-
* ships. The rejected alternative (one enum member per source, with
|
|
36120
|
-
* a resolver branch each) is what makes "add the humidity too" a
|
|
36121
|
-
* code change.
|
|
36122
|
-
* 2. The display gate reuses `NcConditionsSchema` verbatim — the
|
|
36123
|
-
* notification centre's condition vocabulary — rather than a parallel
|
|
36124
|
-
* model. An operator who has learned one condition editor has learned
|
|
36125
|
-
* both.
|
|
36126
|
-
* 3. Because the renderer's facts are device STATE and not a detection
|
|
36127
|
-
* record, only a SUBSET of that vocabulary can be answered here.
|
|
36128
|
-
* `setSlotBinding` REJECTS the rest at write time (see
|
|
36129
|
-
* `getConditionSupport`). It does not accept-then-fail-closed: a
|
|
36130
|
-
* condition that can never be true renders a permanently blank
|
|
36131
|
-
* overlay, and a blank overlay looks exactly like a broken camera.
|
|
36258
|
+
* A named template: bindings (alias → leaf field) + a parser that
|
|
36259
|
+
* references `{alias}` / `{alias.value}` / `{alias.unit}` / `{alias.full}`.
|
|
36132
36260
|
*/
|
|
36261
|
+
var OsdNamedTemplateSchema = object({
|
|
36262
|
+
id: string().min(1).max(64),
|
|
36263
|
+
name: string().min(1).max(64),
|
|
36264
|
+
bindings: array(OsdTemplateBindingSchema).max(32).default([]),
|
|
36265
|
+
/** Parser with alias placeholders, e.g. `{t.value} {t.unit} / {h}`. */
|
|
36266
|
+
parser: string().max(256).default("")
|
|
36267
|
+
});
|
|
36133
36268
|
/** Where a slot's value comes from. */
|
|
36134
36269
|
var OsdSourceSchema = discriminatedUnion("kind", [
|
|
36135
36270
|
object({
|
|
@@ -36148,11 +36283,17 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
36148
36283
|
deviceId: number().int().optional(),
|
|
36149
36284
|
capName: string().min(1).max(64),
|
|
36150
36285
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
36151
|
-
valuePath: string().min(1).max(64)
|
|
36286
|
+
valuePath: string().min(1).max(64),
|
|
36287
|
+
/** Convert TO this unit at render. Absent = no conversion. */
|
|
36288
|
+
displayUnit: string().max(16).optional()
|
|
36152
36289
|
}),
|
|
36153
36290
|
object({
|
|
36154
36291
|
kind: literal("latest-recognition"),
|
|
36155
36292
|
recognition: _enum(["person", "plate"])
|
|
36293
|
+
}),
|
|
36294
|
+
object({
|
|
36295
|
+
kind: literal("template"),
|
|
36296
|
+
templateId: string().min(1).max(64)
|
|
36156
36297
|
})
|
|
36157
36298
|
]);
|
|
36158
36299
|
var OsdSlotBindingSchema = object({
|
|
@@ -36168,7 +36309,10 @@ var OsdSlotBindingSchema = object({
|
|
|
36168
36309
|
* documented workaround for firmwares that reject `.` in overlay text.
|
|
36169
36310
|
*/
|
|
36170
36311
|
maxDecimals: number().int().min(0).max(4).default(1),
|
|
36171
|
-
/**
|
|
36312
|
+
/**
|
|
36313
|
+
* Appended via `${unit}` when no unit conversion produces a label.
|
|
36314
|
+
* Prefer `source.displayUnit` for converted device-state values.
|
|
36315
|
+
*/
|
|
36172
36316
|
unitLabel: string().max(8).optional(),
|
|
36173
36317
|
/** Raw value → display text, e.g. `{"true":"MOTION","false":""}`. */
|
|
36174
36318
|
valueMap: record(string(), string()).optional(),
|
|
@@ -36277,6 +36421,12 @@ method(object({ deviceId: number().int() }), object({
|
|
|
36277
36421
|
}), method(object({ deviceId: number().int() }), object({ results: array(OsdRenderResultSchema) }), {
|
|
36278
36422
|
kind: "mutation",
|
|
36279
36423
|
auth: "admin"
|
|
36424
|
+
}), method(object({}), object({ templates: array(OsdNamedTemplateSchema) }), { auth: "admin" }), method(object({ template: OsdNamedTemplateSchema }), object({ template: OsdNamedTemplateSchema }), {
|
|
36425
|
+
kind: "mutation",
|
|
36426
|
+
auth: "admin"
|
|
36427
|
+
}), method(object({ templateId: string().min(1).max(64) }), object({ success: literal(true) }), {
|
|
36428
|
+
kind: "mutation",
|
|
36429
|
+
auth: "admin"
|
|
36280
36430
|
});
|
|
36281
36431
|
/**
|
|
36282
36432
|
* Feeder connectivity / power status — mirrors the HA petkit device-status
|
|
@@ -44731,6 +44881,36 @@ Object.freeze({
|
|
|
44731
44881
|
addonId: null,
|
|
44732
44882
|
access: "create"
|
|
44733
44883
|
},
|
|
44884
|
+
"calendars.importFromHomeAssistant": {
|
|
44885
|
+
capName: "calendars",
|
|
44886
|
+
capScope: "system",
|
|
44887
|
+
addonId: null,
|
|
44888
|
+
access: "create"
|
|
44889
|
+
},
|
|
44890
|
+
"calendars.listCalendars": {
|
|
44891
|
+
capName: "calendars",
|
|
44892
|
+
capScope: "system",
|
|
44893
|
+
addonId: null,
|
|
44894
|
+
access: "view"
|
|
44895
|
+
},
|
|
44896
|
+
"calendars.listEvents": {
|
|
44897
|
+
capName: "calendars",
|
|
44898
|
+
capScope: "system",
|
|
44899
|
+
addonId: null,
|
|
44900
|
+
access: "view"
|
|
44901
|
+
},
|
|
44902
|
+
"calendarSource.listCalendars": {
|
|
44903
|
+
capName: "calendar-source",
|
|
44904
|
+
capScope: "system",
|
|
44905
|
+
addonId: null,
|
|
44906
|
+
access: "view"
|
|
44907
|
+
},
|
|
44908
|
+
"calendarSource.listEvents": {
|
|
44909
|
+
capName: "calendar-source",
|
|
44910
|
+
capScope: "system",
|
|
44911
|
+
addonId: null,
|
|
44912
|
+
access: "view"
|
|
44913
|
+
},
|
|
44734
44914
|
"cameraCredentials.getCredentials": {
|
|
44735
44915
|
capName: "camera-credentials",
|
|
44736
44916
|
capScope: "device",
|
|
@@ -47725,6 +47905,12 @@ Object.freeze({
|
|
|
47725
47905
|
addonId: null,
|
|
47726
47906
|
access: "create"
|
|
47727
47907
|
},
|
|
47908
|
+
"osdManager.deleteTemplate": {
|
|
47909
|
+
capName: "osd-manager",
|
|
47910
|
+
capScope: "system",
|
|
47911
|
+
addonId: null,
|
|
47912
|
+
access: "delete"
|
|
47913
|
+
},
|
|
47728
47914
|
"osdManager.getConditionSupport": {
|
|
47729
47915
|
capName: "osd-manager",
|
|
47730
47916
|
capScope: "system",
|
|
@@ -47743,6 +47929,12 @@ Object.freeze({
|
|
|
47743
47929
|
addonId: null,
|
|
47744
47930
|
access: "view"
|
|
47745
47931
|
},
|
|
47932
|
+
"osdManager.listTemplates": {
|
|
47933
|
+
capName: "osd-manager",
|
|
47934
|
+
capScope: "system",
|
|
47935
|
+
addonId: null,
|
|
47936
|
+
access: "view"
|
|
47937
|
+
},
|
|
47746
47938
|
"osdManager.previewSlot": {
|
|
47747
47939
|
capName: "osd-manager",
|
|
47748
47940
|
capScope: "system",
|
|
@@ -47761,6 +47953,12 @@ Object.freeze({
|
|
|
47761
47953
|
addonId: null,
|
|
47762
47954
|
access: "create"
|
|
47763
47955
|
},
|
|
47956
|
+
"osdManager.upsertTemplate": {
|
|
47957
|
+
capName: "osd-manager",
|
|
47958
|
+
capScope: "system",
|
|
47959
|
+
addonId: null,
|
|
47960
|
+
access: "create"
|
|
47961
|
+
},
|
|
47764
47962
|
"petFeeder.callPet": {
|
|
47765
47963
|
capName: "pet-feeder",
|
|
47766
47964
|
capScope: "device",
|
|
@@ -54341,6 +54539,18 @@ var ARMED_WORD_PREFIX = "armed_";
|
|
|
54341
54539
|
var ALARM_PANEL_CAP = "alarm-panel";
|
|
54342
54540
|
var ALARM_PANEL_TRIGGER_METHOD = "trigger";
|
|
54343
54541
|
/**
|
|
54542
|
+
* Opening caps that can be ACTUATED to a secure state on arm (close / lock /
|
|
54543
|
+
* off). Contacts are openings but not controllable — they only block.
|
|
54544
|
+
*/
|
|
54545
|
+
var NC_ALARM_CONTROLLABLE_CAPS = [
|
|
54546
|
+
"cover",
|
|
54547
|
+
"lock-control",
|
|
54548
|
+
"switch"
|
|
54549
|
+
];
|
|
54550
|
+
function isAlarmControllableCap(cap) {
|
|
54551
|
+
return NC_ALARM_CONTROLLABLE_CAPS.includes(cap);
|
|
54552
|
+
}
|
|
54553
|
+
/**
|
|
54344
54554
|
* A rule belongs to the alarm when its `deviceState` gate names ANY device's
|
|
54345
54555
|
* `armed_*` word, or an ENABLED `onTrigger` sequence pulls the alarm panel's
|
|
54346
54556
|
* trigger (D630).
|
|
@@ -54349,6 +54559,32 @@ function ruleBelongsToAlarm(rule) {
|
|
|
54349
54559
|
if ((rule.conditions.deviceState?.states ?? []).some((s) => s.trim().toLowerCase().startsWith(ARMED_WORD_PREFIX))) return true;
|
|
54350
54560
|
return (rule.onTrigger ?? []).some((sequence) => sequence.enabled && sequence.actions.some((step) => step.kind === "cap" && step.cap === ALARM_PANEL_CAP && step.method === ALARM_PANEL_TRIGGER_METHOD));
|
|
54351
54561
|
}
|
|
54562
|
+
/** Whether this controllable should be closed/locked/turned off on arm. */
|
|
54563
|
+
function alarmDeviceSecureOnArm(input) {
|
|
54564
|
+
if (!input.controllable) return false;
|
|
54565
|
+
return !input.secureOnArmOff.includes(input.deviceId);
|
|
54566
|
+
}
|
|
54567
|
+
/** The one secure command for a controllable opening cap, or null for contacts. */
|
|
54568
|
+
function secureActuationFor(cap) {
|
|
54569
|
+
if (!isAlarmControllableCap(cap)) return null;
|
|
54570
|
+
switch (cap) {
|
|
54571
|
+
case "cover": return {
|
|
54572
|
+
cap,
|
|
54573
|
+
method: "close",
|
|
54574
|
+
args: {}
|
|
54575
|
+
};
|
|
54576
|
+
case "lock-control": return {
|
|
54577
|
+
cap,
|
|
54578
|
+
method: "lock",
|
|
54579
|
+
args: {}
|
|
54580
|
+
};
|
|
54581
|
+
case "switch": return {
|
|
54582
|
+
cap,
|
|
54583
|
+
method: "setState",
|
|
54584
|
+
args: { on: false }
|
|
54585
|
+
};
|
|
54586
|
+
}
|
|
54587
|
+
}
|
|
54352
54588
|
var NC_ALARM_DELAY_FIELDS = [
|
|
54353
54589
|
"exitDelaySec",
|
|
54354
54590
|
"entryDelaySec",
|
|
@@ -54408,10 +54644,11 @@ function applyModeDelaysEdits(current, edits) {
|
|
|
54408
54644
|
return out.filter((e) => e.exitDelaySec !== void 0 || e.entryDelaySec !== void 0 || e.triggeredDurationSec !== void 0);
|
|
54409
54645
|
}
|
|
54410
54646
|
/**
|
|
54411
|
-
* Put ONE device on, or take it off, ONE mode's list. A no-op answers
|
|
54412
|
-
* to a full list is REFUSED by reason (never silently
|
|
54647
|
+
* Put ONE device on, or take it off, ONE mode's device-id list. A no-op answers
|
|
54648
|
+
* `changed: false`; an add to a full list is REFUSED by reason (never silently
|
|
54649
|
+
* dropped); an emptied list drops its entry.
|
|
54413
54650
|
*/
|
|
54414
|
-
function
|
|
54651
|
+
function applyModeDeviceListEdit(lists, edit) {
|
|
54415
54652
|
const copy = lists.map((l) => ({
|
|
54416
54653
|
mode: l.mode,
|
|
54417
54654
|
deviceIds: [...l.deviceIds]
|
|
@@ -54419,12 +54656,12 @@ function applyNonBlockingEdit(lists, edit) {
|
|
|
54419
54656
|
const at = copy.findIndex((l) => l.mode === edit.mode);
|
|
54420
54657
|
const held = at >= 0 ? copy[at]?.deviceIds ?? [] : [];
|
|
54421
54658
|
const present = held.includes(edit.deviceId);
|
|
54422
|
-
if (edit.
|
|
54659
|
+
if (edit.present === present) return {
|
|
54423
54660
|
kind: "applied",
|
|
54424
54661
|
lists: copy,
|
|
54425
54662
|
changed: false
|
|
54426
54663
|
};
|
|
54427
|
-
if (edit.
|
|
54664
|
+
if (edit.present) {
|
|
54428
54665
|
if (held.length >= 200) return {
|
|
54429
54666
|
kind: "refused",
|
|
54430
54667
|
reason: "list-full",
|
|
@@ -54451,6 +54688,35 @@ function applyNonBlockingEdit(lists, edit) {
|
|
|
54451
54688
|
};
|
|
54452
54689
|
}
|
|
54453
54690
|
/**
|
|
54691
|
+
* Put ONE device on, or take it off, ONE mode's non-blocking list.
|
|
54692
|
+
*/
|
|
54693
|
+
function applyNonBlockingEdit(lists, edit) {
|
|
54694
|
+
return applyModeDeviceListEdit(lists, {
|
|
54695
|
+
mode: edit.mode,
|
|
54696
|
+
deviceId: edit.deviceId,
|
|
54697
|
+
present: edit.nonBlocking
|
|
54698
|
+
});
|
|
54699
|
+
}
|
|
54700
|
+
/** Controllable opt-in to blocking. */
|
|
54701
|
+
function applyBlockingEdit(lists, edit) {
|
|
54702
|
+
return applyModeDeviceListEdit(lists, {
|
|
54703
|
+
mode: edit.mode,
|
|
54704
|
+
deviceId: edit.deviceId,
|
|
54705
|
+
present: edit.blocking
|
|
54706
|
+
});
|
|
54707
|
+
}
|
|
54708
|
+
/**
|
|
54709
|
+
* Controllable secure-on-arm: `secureOnArm: true` removes from the opt-out list;
|
|
54710
|
+
* `false` adds to it.
|
|
54711
|
+
*/
|
|
54712
|
+
function applySecureOnArmEdit(lists, edit) {
|
|
54713
|
+
return applyModeDeviceListEdit(lists, {
|
|
54714
|
+
mode: edit.mode,
|
|
54715
|
+
deviceId: edit.deviceId,
|
|
54716
|
+
present: !edit.secureOnArm
|
|
54717
|
+
});
|
|
54718
|
+
}
|
|
54719
|
+
/**
|
|
54454
54720
|
* WHICH WAY A BOOLEAN SENSOR MOVED — read off the one slice a sensor event
|
|
54455
54721
|
* persists (D640 "a sensor rule fires on the raise, the clear, or both").
|
|
54456
54722
|
*
|
|
@@ -56867,4 +57133,4 @@ function buildClipModelRegistry(entries) {
|
|
|
56867
57133
|
/** The built-in catalog's registry. */
|
|
56868
57134
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
56869
57135
|
//#endregion
|
|
56870
|
-
export { NC_ALARM_SYSTEM_EVENT_KINDS as $,
|
|
57136
|
+
export { NC_ALARM_SYSTEM_EVENT_KINDS as $, isVectorIndexDimConflict as $n, boolean as $r, SCENE_DEFAULT_UNCOVERED_POLICY as $t, EMBEDDING_REQUIREMENTS_FAILED as A, describeSystemEventDeliveryProblem as An, templateCarriesSummary as Ar, NcScheduleSchema as At, ListTrackRelationsInputSchema as B, failureContributionCapability as Bn, BaseAddon as Br, OPS_LOG_DEFAULT_LIMIT as Bt, DEFAULT_EVENT_COLOR as C, assertTimelapseCadences as Cn, storageOccupancyCapability as Cr, NcConditionDescriptorSchema as Ct, DeclaredDevices as D, consumableLowPercentOf as Dn, systemEventFilterApplies as Dr, NcRuleSchema as Dt, DETECTION_PIPELINE_CAP_NAME as E, buildEventKindDescriptor as En, systemEventFamilyProblems as Er, NcRulePatchSchema as Et, EXPORT_DENSE_MAX_RANGES as F, embeddingRequirementsFailedError as Fn, canonicalHash as Fr, NcSystemEventKindSchema as Ft, MAX_BIRTH_LATENCY_PROXY_MS as G, isDetectionMacroClass as Gn, hydrateSchema as Gr, RebuildObjectEmbeddingsRefusalSchema as Gt, LockStateSchema as H, gifFromMp4Args as Hn, createEvent as Hr, PoolMemoryWatchdog as Ht, FIRST_LEVEL_MACRO_CLASSES as I, embeddingRequirementsUnavailableError as In, evaluateSensorEdge as Ir, NcTaxonomySchema as It, MOTION_CLOSE_AFTER_MS as J, isMediaOwnerType as Jn, normalizeNodeId as Jr, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as Jt, MAX_TRACK_PURITIES as K, isEventOwnerType as Kn, isDeviceScopedCap as Kr, RetrainStatusSchema as Kt, FULL_IMAGE_BBOX as L, encodeVectorBase64 as Ln, isSourceCap as Lr, NcTemplatePreviewInputSchema as Lt, EVENT_DENSITY_BATCH_MAX as M, embeddingEncoderCapability as Mn, vectorDimFromBase64 as Mr, NcSnoozeSchema as Mt, EVENT_KIND_BY_CAP as N, embeddingModelFailedError as Nn, zoneAnalyticsCapability as Nr, NcSnoozeSuppressedSchema as Nt, DetectionSourceSchema as O, cosineSimilarity as On, systemEventSummaryScheduleOf as Or, NcRuleTargetSchema as Ot, EVENT_OWNER_TYPES as P, embeddingRefusalOf as Pn, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as Pr, NcStateSummarySectionIdSchema as Pt, NC_ALARM_DELAY_MAX_SEC as Q, isSystemEventSummaryRule as Qn, array as Qr, SCENE_DEFAULT_QUIET_SECONDS as Qt, FailureCounters as R, evictionPolicyOfLocation as Rn, DeviceType as Rr, NcTemplatePreviewSchema as Rt, CoverStateSchema as S, applySecureOnArmEdit as Sn, servedTemplateVars as Sr, NcAlarmSettingsPatchSchema as St, DETECTION_MACRO_CLASSES as T, audioModeOf as Tn, systemEventDeliveryProblems as Tr, NcRuleInputSchema as Tt, MAX_ARCHIVED_DEBUG_NOTES as U, isAlarmControllableCap as Un, customAction as Ur, RECORDING_EXPORT_MAX_READ_BYTES as Ut, ListTrackRelationsResultSchema as V, gifDeriveSpeed as Vn, CamProfileSchema as Vr, OpsLogEntrySchema as Vt, MAX_BIRTH_DECISION_RECORDS as W, isAudioClassName as Wn, defineCustomActions as Wr, RECORDING_SOURCE_CAMSTACK_ADDON as Wt, MotionTriggeredBySchema as X, isScheduleActive as Xn, ZodObject as Xr, SCENE_DEFAULT_CHECK_INTERVAL_SEC as Xt, MediaFileKindEnum as Y, isRetiredClearKey as Yn, sleep as Yr, SCENE_DEFAULT_ANCHOR_THRESHOLD as Yt, NC_ALARM_DELAY_FIELDS as Z, isSystemDelivery as Zn, _enum as Zr, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as Zt, BaseDevice as _, alarmDeviceSecureOnArm as _n, ruleGroupingApplies as _r, NC_TAXONOMY as _t, CLIP_EMBEDDING_STEP_ID as a, partialRecord as ai, SetTrackRelationInputSchema as an, parseProcStatus as ar, NC_CLIP_RETENTION_MAX_SEC as at, ClearTrackRelationInputSchema as b, applyModeDelaysEdits as bn, secureActuationFor as br, NcAlarmSensorsInputSchema as bt, resolveClusterModelPin as c, string as ci, TimelapseRuleInputSchema as cn, readDeviceStateFrom as cr, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as ct, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as d, union as di, TrackPuritySchema as dn, resolveClipSearchMinScore as dr, NC_GROUPING_MAX_SEC as dt, discriminatedUnion as ei, SCENE_DIVERGED as en, kebabToCamel as er, NC_ALARM_TRIGGERED_MAX_SEC as et, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as f, unknown as fi, TrackRelationKindSchema as fn, resolveLocationMode as fr, NC_GROUPING_MIN_SEC as ft, BIRTH_DECISION_DEFAULT_LIMIT as g, addonWidgetsSourceCapability as gn, ruleDeviceCompatCapQueries as gr, NC_TANK_SYSTEM_EVENT_KINDS as gt, ArchivedDebugNoteSchema as h, TrackSourceSchema as hn, ruleBelongsToAlarm as hr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as ht, CLIP_TEXT_MODELS as i, object as ii, SetTrackPurityResultSchema as in, occupancyScope as ir, NC_CLIP_PRE_ROLL_DEFAULT_SEC as it, EMBEDDING_REQUIREMENTS_UNAVAILABLE as j, describeSystemEventFamilyProblem as jn, templateVarsFor as jr, NcSnoozeInputSchema as jt, EMBEDDING_MODEL_FAILED as k, deriveRecordingMode as kn, systemEventSummarySplitOf as kr, NcRuleUpdateInputSchema as kt, APPEARANCE_BIN_COUNT as l, templateLiteral as li, TimelapseRulePatchSchema as ln, readMotionTriggeredBy as lr, NC_DEFAULT_SNOOZE_MINUTES as lt, AlarmArmModeSchema as m, TrackSideSchema as mn, resolvePoolMemoryPolicy as mr, NC_SNOOZE_MAX_MINUTES as mt, DEFAULT_CLIP_MODEL as n, looseObject as ni, SceneMonitorSchema as nn, memoizePinnedFfmpeg as nr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as nt, FACE_EMBEDDING_STEP_ID as o, record as oi, TIMELAPSE_DENSE_FLOOR_SEC as on, pipelineAnalyticsCapability as or, NC_CONDITION_CATALOG as ot, AUDIO_MACRO_LABELS as p, EventCategory as pi, TrackRelationSchema as pn, resolveModeDelays as pr, NC_SENSOR_TRANSITION_KINDS as pt, MAX_TRACK_RELATIONS as q, isKnownTemplateVar as qn, nodePin as qr, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as qt, CLIP_IMAGE_MODELS as r, number as ri, SetTrackPurityInputSchema as rn, notificationRulesCapability as rr, NC_CLIP_POST_ROLL_DEFAULT_SEC as rt, readClusterModelPinStrict as s, strictObject as si, TRACK_RELATIONS_DEFAULT_LIMIT as sn, plateGalleryCapability as sr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as st, BUILTIN_CLIP_MODELS as t, literal as ti, SCENE_RESET_RECAPTURES as tn, mayWriteToLocation as tr, NC_AUDIO_CONFIRM_HITS_DEFAULT as tt, APPEARANCE_BLOCKS as u, tuple as ui, TimelapseRuleSchema as un, readTimelapseGeneratedAt as ur, NC_GROUPING_DEFAULT_SEC as ut, BirthDecisionRecordSchema as v, alarmPanelCapability as vn, ruleKindOf as vr, NC_TEMPLATE_VARS as vt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as w, audioMetricsCapability as wn, subKindsOf as wr, NcConditionsSchema as wt, ClearTrackRelationResultSchema as x, applyNonBlockingEdit as xn, sensorRaisedOf as xr, NcAlarmSensorsSchema as xt, COCO_TO_MACRO as y, applyBlockingEdit as yn, sceneMonitorCapability as yr, NcAlarmConfigSchema as yt, LabelAttributionSchema as z, faceGalleryCapability as zn, errMsg as zr, NcTemplateVarDescriptorSchema 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-BCx3qCL5.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 { Br as BaseAddon, Fn as embeddingRequirementsFailedError, Ht as PoolMemoryWatchdog, In as embeddingRequirementsUnavailableError, Jr as normalizeNodeId, Mn as embeddingEncoderCapability, Nn as embeddingModelFailedError, a as CLIP_EMBEDDING_STEP_ID, ar as parseProcStatus, c as resolveClusterModelPin, i as CLIP_TEXT_MODELS, mr as resolvePoolMemoryPolicy, n as DEFAULT_CLIP_MODEL, r as CLIP_IMAGE_MODELS, t as BUILTIN_CLIP_MODELS } from "../clip-model-registry-Dnm9dfy0.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-CVH5tT7I.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-CGUnHrR_.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.297",
|
|
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.224",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|