@camstack/addon-post-analysis 1.2.23 → 1.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{dist-DIhTL_gD.js → dist-Bi1fiPc0.js} +332 -6
- package/dist/{dist-CRCAv9JV.mjs → dist-DsCSHZ9N.mjs} +315 -7
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/{node-C5of2Vlq.js → node-DFKBSXUx.js} +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CZ8fx1RA.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-QDqT3XHa.mjs} +2 -2
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Dsd5sKoq.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CHPq_p1Y.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit-DG3K9L1Y.mjs → hostInit-DvTbKmnz.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +1029 -67
- package/dist/pipeline-analytics/index.mjs +1028 -66
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../types/dist/event-category-
|
|
1
|
+
//#region ../types/dist/event-category-41fKf-q9.mjs
|
|
2
2
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
3
3
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4
4
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -58,6 +58,26 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
58
58
|
*/
|
|
59
59
|
EventCategory["AddonRetryScheduled"] = "addon.retry-scheduled";
|
|
60
60
|
/**
|
|
61
|
+
* A liveness invariant of this node is false — it has no devices, every
|
|
62
|
+
* camera is offline, or a camera that was recording has stopped producing
|
|
63
|
+
* segments. Emitted by the `liveness-monitor` builtin, once per fault (the
|
|
64
|
+
* `findingId` is stable across ticks), only after its boot grace period.
|
|
65
|
+
* AlertCenter raises a persistent operator-visible alert.
|
|
66
|
+
*
|
|
67
|
+
* It exists because on 2026-08-03 the hub ran four hours with zero devices
|
|
68
|
+
* and zero recordings while every surface stayed quiet.
|
|
69
|
+
*
|
|
70
|
+
* Payload: `{ findingId, severity, title, message, deviceId? }`.
|
|
71
|
+
*/
|
|
72
|
+
EventCategory["SystemLivenessFailed"] = "system.liveness-failed";
|
|
73
|
+
/**
|
|
74
|
+
* A previously reported liveness fault is true again. AlertCenter dismisses
|
|
75
|
+
* the matching `SystemLivenessFailed` alert.
|
|
76
|
+
*
|
|
77
|
+
* Payload: `{ findingId }`.
|
|
78
|
+
*/
|
|
79
|
+
EventCategory["SystemLivenessRecovered"] = "system.liveness-recovered";
|
|
80
|
+
/**
|
|
61
81
|
* Monitor is attempting to reload a failed addon NOW. UI uses this
|
|
62
82
|
* to show a spinner during the retry attempt. Same transient nature
|
|
63
83
|
* as AddonRetryScheduled.
|
|
@@ -9399,6 +9419,14 @@ var NcMediaPolicySchema = object({
|
|
|
9399
9419
|
clipPreRollSec: number().int().min(0).max(30).optional(),
|
|
9400
9420
|
clipPostRollSec: number().int().min(0).max(30).optional(),
|
|
9401
9421
|
/**
|
|
9422
|
+
* Playback rate of the attached gif / clip. Absent = 2x.
|
|
9423
|
+
*
|
|
9424
|
+
* A notification clip is GLANCED at on a lock screen, not watched: at real
|
|
9425
|
+
* time an eight-second passage is eight seconds of the recipient's attention
|
|
9426
|
+
* and twice the bytes. 1 is real time for the operator who wants it.
|
|
9427
|
+
*/
|
|
9428
|
+
clipSpeed: number().min(1).max(8).optional(),
|
|
9429
|
+
/**
|
|
9402
9430
|
* Which stream profile the footage is cut from. Absent = the CHEAPEST
|
|
9403
9431
|
* assigned profile: a notification is watched on a phone, so the 4K
|
|
9404
9432
|
* rendition would burn CPU to produce a file the client downscales anyway.
|
|
@@ -9470,7 +9498,21 @@ var NcRuleInputSchema = object({
|
|
|
9470
9498
|
* behaviour, visible to all, read-only in the viewer). Present = personal
|
|
9471
9499
|
* rule owned by this userId. Server-stamped; never trusted from a client.
|
|
9472
9500
|
*/
|
|
9473
|
-
ownerUserId: string().optional()
|
|
9501
|
+
ownerUserId: string().optional(),
|
|
9502
|
+
/**
|
|
9503
|
+
* May a non-admin snooze this rule for EVERYONE, not just themselves?
|
|
9504
|
+
*
|
|
9505
|
+
* A snooze is personal by default — it silences the person who set it. This
|
|
9506
|
+
* opts THIS rule into the "the gardener is here all afternoon" case, where
|
|
9507
|
+
* silencing the camera for the whole household is legitimate. It silences
|
|
9508
|
+
* other people, so it is off unless a rule deliberately allows it.
|
|
9509
|
+
*
|
|
9510
|
+
* `.optional()`, deliberately NOT `.default()`: a Zod default does not run on
|
|
9511
|
+
* the addon cap path (three production failures in one day), so absent is
|
|
9512
|
+
* read as `false` by {@link canSetGlobal} in the engine. Admins are not bound
|
|
9513
|
+
* by this flag — see the scope rules on that function.
|
|
9514
|
+
*/
|
|
9515
|
+
snoozeAllowGlobal: boolean().optional()
|
|
9474
9516
|
});
|
|
9475
9517
|
/**
|
|
9476
9518
|
* Partial patch for `updateRule` — any subset of the input fields, plus the
|
|
@@ -9555,7 +9597,28 @@ var NcConditionDescriptorSchema = object({
|
|
|
9555
9597
|
/** Which delivery kinds the condition applies to. */
|
|
9556
9598
|
appliesTo: array(NcDeliverySchema),
|
|
9557
9599
|
phase: string(),
|
|
9558
|
-
description: string().optional()
|
|
9600
|
+
description: string().optional(),
|
|
9601
|
+
/**
|
|
9602
|
+
* The CHOICES for a single-choice widget (`sourceSelect`, `crossingSelect`,
|
|
9603
|
+
* `packagePhase`, …), served with the descriptor.
|
|
9604
|
+
*
|
|
9605
|
+
* Before this the descriptor said which widget to render and not what to put
|
|
9606
|
+
* in it, so every option list lived in three places: this file's enums, the
|
|
9607
|
+
* admin's `NC_*_OPTIONS` and the viewer's `NC_*_VALUES`. That triple mirror
|
|
9608
|
+
* is the drift that emptied the viewer's rule editor on 2026-08-04 — the app
|
|
9609
|
+
* mirrors the cap by hand, so it is only ever as current as its last build.
|
|
9610
|
+
*
|
|
9611
|
+
* With the options on the wire, a condition of an EXISTING `valueType` costs
|
|
9612
|
+
* zero client changes. Clients keep a local fallback for an older hub that
|
|
9613
|
+
* does not send them; absent here is "use your own list", not "no choices".
|
|
9614
|
+
*/
|
|
9615
|
+
options: array(object({
|
|
9616
|
+
/** Written to the rule verbatim. `''` means the ABSENT state. */
|
|
9617
|
+
value: string(),
|
|
9618
|
+
label: string(),
|
|
9619
|
+
/** What THIS choice matches — shown one at a time, under the control. */
|
|
9620
|
+
hint: string().optional()
|
|
9621
|
+
})).readonly().optional()
|
|
9559
9622
|
});
|
|
9560
9623
|
/**
|
|
9561
9624
|
* The P1 condition surface as data — served by `getConditionCatalog` so
|
|
@@ -9649,6 +9712,28 @@ var NC_CONDITION_CATALOG = [
|
|
|
9649
9712
|
group: "zones",
|
|
9650
9713
|
label: "Zone crossing",
|
|
9651
9714
|
valueType: "crossingSelect",
|
|
9715
|
+
options: [
|
|
9716
|
+
{
|
|
9717
|
+
value: "",
|
|
9718
|
+
label: "Not set — entering",
|
|
9719
|
+
hint: "Entries, and every detection that is not a crossing at all. Exits are excluded. This is what a rule without a crossing condition already does, and choosing it writes nothing to the rule."
|
|
9720
|
+
},
|
|
9721
|
+
{
|
|
9722
|
+
value: "enter",
|
|
9723
|
+
label: "Entered a zone",
|
|
9724
|
+
hint: "The same matches as \"not set\", stated explicitly: entries and non-crossing detections pass, exits do not."
|
|
9725
|
+
},
|
|
9726
|
+
{
|
|
9727
|
+
value: "exit",
|
|
9728
|
+
label: "Left a zone",
|
|
9729
|
+
hint: "ONLY an exit crossing. A detection that is not a crossing fails, so this rule cannot fire on ordinary movement — pair it with the zones the subject must have left. Also matches a tripwire crossed against its drawn direction."
|
|
9730
|
+
},
|
|
9731
|
+
{
|
|
9732
|
+
value: "any",
|
|
9733
|
+
label: "Entered or left",
|
|
9734
|
+
hint: "No direction filter: entries, exits and non-crossing detections alike. This is the only choice that adds exits to what the rule already matched."
|
|
9735
|
+
}
|
|
9736
|
+
],
|
|
9652
9737
|
operator: "in",
|
|
9653
9738
|
appliesTo: ["immediate"],
|
|
9654
9739
|
phase: "P1",
|
|
@@ -9729,6 +9814,24 @@ var NC_CONDITION_CATALOG = [
|
|
|
9729
9814
|
group: "scope",
|
|
9730
9815
|
label: "Detection source",
|
|
9731
9816
|
valueType: "sourceSelect",
|
|
9817
|
+
options: [
|
|
9818
|
+
{
|
|
9819
|
+
value: "any",
|
|
9820
|
+
label: "Any source"
|
|
9821
|
+
},
|
|
9822
|
+
{
|
|
9823
|
+
value: "pipeline",
|
|
9824
|
+
label: "Pipeline"
|
|
9825
|
+
},
|
|
9826
|
+
{
|
|
9827
|
+
value: "onboard",
|
|
9828
|
+
label: "Onboard (camera)"
|
|
9829
|
+
},
|
|
9830
|
+
{
|
|
9831
|
+
value: "sensor",
|
|
9832
|
+
label: "Sensor"
|
|
9833
|
+
}
|
|
9834
|
+
],
|
|
9732
9835
|
operator: "in",
|
|
9733
9836
|
appliesTo: [
|
|
9734
9837
|
"immediate",
|
|
@@ -9764,6 +9867,20 @@ var NC_CONDITION_CATALOG = [
|
|
|
9764
9867
|
group: "package",
|
|
9765
9868
|
label: "Package phase",
|
|
9766
9869
|
valueType: "packagePhase",
|
|
9870
|
+
options: [
|
|
9871
|
+
{
|
|
9872
|
+
value: "delivered",
|
|
9873
|
+
label: "Delivered"
|
|
9874
|
+
},
|
|
9875
|
+
{
|
|
9876
|
+
value: "picked-up",
|
|
9877
|
+
label: "Picked up"
|
|
9878
|
+
},
|
|
9879
|
+
{
|
|
9880
|
+
value: "both",
|
|
9881
|
+
label: "Both"
|
|
9882
|
+
}
|
|
9883
|
+
],
|
|
9767
9884
|
operator: "in",
|
|
9768
9885
|
appliesTo: ["package-event"],
|
|
9769
9886
|
phase: "P1",
|
|
@@ -9892,6 +10009,75 @@ var NcHistoryFilterSchema = object({
|
|
|
9892
10009
|
until: number().optional(),
|
|
9893
10010
|
limit: number().int().min(1).max(500).default(100)
|
|
9894
10011
|
});
|
|
10012
|
+
/**
|
|
10013
|
+
* What a snooze covers. Broader scopes win when several overlap, so one window
|
|
10014
|
+
* leaves ONE digest rather than a rule snooze and a whole-feed snooze both
|
|
10015
|
+
* summarising the same silence.
|
|
10016
|
+
*/
|
|
10017
|
+
var NcSnoozeScopeSchema = _enum([
|
|
10018
|
+
"rule",
|
|
10019
|
+
"device",
|
|
10020
|
+
"all"
|
|
10021
|
+
]);
|
|
10022
|
+
/**
|
|
10023
|
+
* Client-authored snooze. The server stamps `userId`, `startedAt` and
|
|
10024
|
+
* `expiresAt` — a DURATION is sent rather than an instant so a client with a
|
|
10025
|
+
* skewed clock cannot author a window that is already over, or never ends.
|
|
10026
|
+
*/
|
|
10027
|
+
var NcSnoozeInputSchema = object({
|
|
10028
|
+
scope: NcSnoozeScopeSchema,
|
|
10029
|
+
/** Required when `scope: 'rule'` — a scoped snooze with no id matches
|
|
10030
|
+
* NOTHING rather than degrading to "everything". */
|
|
10031
|
+
ruleId: string().optional(),
|
|
10032
|
+
/** Required when `scope: 'device'`. */
|
|
10033
|
+
deviceId: number().int().optional(),
|
|
10034
|
+
durationMinutes: number().int().min(1).max(1440),
|
|
10035
|
+
/**
|
|
10036
|
+
* Silence this for EVERY recipient, not just the caller. Permission is
|
|
10037
|
+
* checked server-side (the rule's `snoozeAllowGlobal`, or admin for the
|
|
10038
|
+
* broader scopes). Absent = personal.
|
|
10039
|
+
*/
|
|
10040
|
+
global: boolean().optional(),
|
|
10041
|
+
/**
|
|
10042
|
+
* Deliver a summary of what was suppressed when the window ends. Absent =
|
|
10043
|
+
* ON: someone silencing a nuisance camera wants it off, someone silencing a
|
|
10044
|
+
* SECURITY camera wants to know what they missed, and choosing "off" for
|
|
10045
|
+
* everybody is how a snooze becomes an outage. Resolved to a concrete
|
|
10046
|
+
* boolean by the server at create time — never left to a Zod default, which
|
|
10047
|
+
* does not run on the addon cap path.
|
|
10048
|
+
*/
|
|
10049
|
+
summary: boolean().optional()
|
|
10050
|
+
});
|
|
10051
|
+
/** A persisted snooze window. */
|
|
10052
|
+
var NcSnoozeSchema = object({
|
|
10053
|
+
id: string(),
|
|
10054
|
+
/** Who set it. Also who it silences, unless `global`. */
|
|
10055
|
+
userId: string(),
|
|
10056
|
+
scope: NcSnoozeScopeSchema,
|
|
10057
|
+
ruleId: string().optional(),
|
|
10058
|
+
deviceId: number().int().optional(),
|
|
10059
|
+
startedAt: number(),
|
|
10060
|
+
/** Exclusive: at exactly this instant the snooze is over. Expiry is a
|
|
10061
|
+
* COMPARISON, not a job — no sweeper can leave the operator silenced. */
|
|
10062
|
+
expiresAt: number(),
|
|
10063
|
+
global: boolean(),
|
|
10064
|
+
summary: boolean(),
|
|
10065
|
+
/** When the end-of-window digest went out. Absent = not sent (yet, or the
|
|
10066
|
+
* window has not closed, or `summary` is false). */
|
|
10067
|
+
digestSentAt: number().optional()
|
|
10068
|
+
});
|
|
10069
|
+
/** One line of an end-of-window digest: what one rule hid on one camera. */
|
|
10070
|
+
var NcSnoozeSuppressedSchema = object({
|
|
10071
|
+
snoozeId: string(),
|
|
10072
|
+
targetId: string(),
|
|
10073
|
+
ruleId: string(),
|
|
10074
|
+
ruleName: string(),
|
|
10075
|
+
deviceId: number().int(),
|
|
10076
|
+
/** How many notifications this snooze hid for that pair. */
|
|
10077
|
+
count: number().int(),
|
|
10078
|
+
firstAt: number(),
|
|
10079
|
+
lastAt: number()
|
|
10080
|
+
});
|
|
9895
10081
|
var notificationRulesCapability = {
|
|
9896
10082
|
name: "notification-rules",
|
|
9897
10083
|
scope: "system",
|
|
@@ -9958,7 +10144,36 @@ var notificationRulesCapability = {
|
|
|
9958
10144
|
* P1 (no user dimension); the P2 viewer History screen adds per-caller
|
|
9959
10145
|
* scoping on the same method.
|
|
9960
10146
|
*/
|
|
9961
|
-
getHistory: method(object({ filter: NcHistoryFilterSchema.default({ limit: 100 }) }), object({ entries: array(NcHistoryEntrySchema) }), { auth: "admin" })
|
|
10147
|
+
getHistory: method(object({ filter: NcHistoryFilterSchema.default({ limit: 100 }) }), object({ entries: array(NcHistoryEntrySchema) }), { auth: "admin" }),
|
|
10148
|
+
/**
|
|
10149
|
+
* Snooze windows currently in effect, plus any whose digest has not yet
|
|
10150
|
+
* gone out. `caller: 'required'`: a user sees their OWN windows and the
|
|
10151
|
+
* global ones that silence them, never another person's private silence.
|
|
10152
|
+
* An admin sees every window — a household-wide silence is exactly the
|
|
10153
|
+
* thing an operator has to be able to find and cancel.
|
|
10154
|
+
*/
|
|
10155
|
+
listSnoozes: method(object({}), object({ snoozes: array(NcSnoozeSchema) }), { caller: "required" }),
|
|
10156
|
+
/**
|
|
10157
|
+
* Open a window. `userId` is stamped from the caller; a GLOBAL window is
|
|
10158
|
+
* permission-checked server-side (the rule's `snoozeAllowGlobal` for a
|
|
10159
|
+
* rule-scoped one, admin for a camera or the whole feed) — a client asking
|
|
10160
|
+
* for one it may not have is rejected, never silently downgraded, because
|
|
10161
|
+
* a snooze the operator believes is in effect and is not is the same
|
|
10162
|
+
* failure as one they cannot end.
|
|
10163
|
+
*/
|
|
10164
|
+
createSnooze: method(object({ snooze: NcSnoozeInputSchema }), object({ snooze: NcSnoozeSchema }), {
|
|
10165
|
+
kind: "mutation",
|
|
10166
|
+
caller: "required"
|
|
10167
|
+
}),
|
|
10168
|
+
/**
|
|
10169
|
+
* End a window NOW. The digest still goes out (what was hidden while it
|
|
10170
|
+
* was open is still what the operator missed); only the silence stops.
|
|
10171
|
+
* A user may cancel their own; an admin may cancel any.
|
|
10172
|
+
*/
|
|
10173
|
+
cancelSnooze: method(object({ snoozeId: string() }), object({ success: literal(true) }), {
|
|
10174
|
+
kind: "mutation",
|
|
10175
|
+
caller: "required"
|
|
10176
|
+
})
|
|
9962
10177
|
}
|
|
9963
10178
|
};
|
|
9964
10179
|
/**
|
|
@@ -10738,7 +10953,15 @@ method(object({
|
|
|
10738
10953
|
format: _enum(["gif", "mp4"]).default("gif"),
|
|
10739
10954
|
maxWidth: number().int().min(120).max(1920).default(480),
|
|
10740
10955
|
/** GIF only — MP4 keeps the source cadence. */
|
|
10741
|
-
fps: number().int().min(1).max(15).default(5)
|
|
10956
|
+
fps: number().int().min(1).max(15).default(5),
|
|
10957
|
+
/**
|
|
10958
|
+
* Playback rate. A notification clip is GLANCED at on a lock screen,
|
|
10959
|
+
* not watched, so 2x is the default: the recipient sees the whole
|
|
10960
|
+
* passage in half the time and the GIF is half the bytes. `1` is real
|
|
10961
|
+
* time. Applies to MP4 as well — the operator set a speed, not a GIF
|
|
10962
|
+
* speed.
|
|
10963
|
+
*/
|
|
10964
|
+
speed: number().min(1).max(8).default(2)
|
|
10742
10965
|
}), object({
|
|
10743
10966
|
base64: string(),
|
|
10744
10967
|
mime: string(),
|
|
@@ -15574,6 +15797,20 @@ var QueryFilterSchema = object({
|
|
|
15574
15797
|
limit: number().optional(),
|
|
15575
15798
|
offset: number().optional()
|
|
15576
15799
|
});
|
|
15800
|
+
/**
|
|
15801
|
+
* The predicate half of a filter, for BULK MUTATIONS.
|
|
15802
|
+
*
|
|
15803
|
+
* Deliberately not `QueryFilterSchema`: `orderBy` / `limit` / `offset` have no
|
|
15804
|
+
* meaning for a statement that rewrites a set, and accepting them would invite
|
|
15805
|
+
* a caller to believe `limit` bounds the damage. Every field is optional here
|
|
15806
|
+
* only so the shape stays composable — the implementation REJECTS a filter
|
|
15807
|
+
* that compiles to no predicate, because that is the whole collection.
|
|
15808
|
+
*/
|
|
15809
|
+
var MutationFilterSchema = object({
|
|
15810
|
+
where: record(string(), unknown()).optional(),
|
|
15811
|
+
whereIn: record(string(), array(unknown())).optional(),
|
|
15812
|
+
whereBetween: record(string(), tuple([unknown(), unknown()])).optional()
|
|
15813
|
+
});
|
|
15577
15814
|
/** A single stored record: `{ id, data }`. */
|
|
15578
15815
|
var SettingsRecordSchema = object({
|
|
15579
15816
|
id: string(),
|
|
@@ -15599,7 +15836,18 @@ var CollectionColumnSchema = object({
|
|
|
15599
15836
|
]),
|
|
15600
15837
|
primaryKey: boolean().optional(),
|
|
15601
15838
|
notNull: boolean().optional(),
|
|
15602
|
-
unique: boolean().optional()
|
|
15839
|
+
unique: boolean().optional(),
|
|
15840
|
+
/**
|
|
15841
|
+
* Column DEFAULT. Required for B2: the four `ensureTable` consumers declare
|
|
15842
|
+
* columns like `enabled INTEGER NOT NULL DEFAULT 1`, and without this the
|
|
15843
|
+
* collection surface simply cannot express their existing tables — which is
|
|
15844
|
+
* why they were still on the uncapped `table*` API.
|
|
15845
|
+
*/
|
|
15846
|
+
defaultValue: union([
|
|
15847
|
+
string(),
|
|
15848
|
+
number(),
|
|
15849
|
+
boolean()
|
|
15850
|
+
]).optional()
|
|
15603
15851
|
});
|
|
15604
15852
|
var CollectionIndexSchema = object({
|
|
15605
15853
|
name: string(),
|
|
@@ -15633,6 +15881,15 @@ method(object({
|
|
|
15633
15881
|
collection: string(),
|
|
15634
15882
|
key: string()
|
|
15635
15883
|
}), _void(), { kind: "mutation" }), method(object({
|
|
15884
|
+
namespace: string().optional(),
|
|
15885
|
+
collection: string(),
|
|
15886
|
+
filter: MutationFilterSchema
|
|
15887
|
+
}), object({ deleted: number().int() }), { kind: "mutation" }), method(object({
|
|
15888
|
+
namespace: string().optional(),
|
|
15889
|
+
collection: string(),
|
|
15890
|
+
filter: MutationFilterSchema,
|
|
15891
|
+
data: record(string(), unknown())
|
|
15892
|
+
}), object({ updated: number().int() }), { kind: "mutation" }), method(object({
|
|
15636
15893
|
namespace: string().optional(),
|
|
15637
15894
|
collection: string(),
|
|
15638
15895
|
filter: QueryFilterSchema.optional()
|
|
@@ -15699,6 +15956,15 @@ method(_void(), EngineInfoSchema), method(object({
|
|
|
15699
15956
|
collection: string(),
|
|
15700
15957
|
key: string()
|
|
15701
15958
|
}), _void(), { kind: "mutation" }), method(object({
|
|
15959
|
+
namespace: string().optional(),
|
|
15960
|
+
collection: string(),
|
|
15961
|
+
filter: MutationFilterSchema
|
|
15962
|
+
}), object({ deleted: number().int() }), { kind: "mutation" }), method(object({
|
|
15963
|
+
namespace: string().optional(),
|
|
15964
|
+
collection: string(),
|
|
15965
|
+
filter: MutationFilterSchema,
|
|
15966
|
+
data: record(string(), unknown())
|
|
15967
|
+
}), object({ updated: number().int() }), { kind: "mutation" }), method(object({
|
|
15702
15968
|
namespace: string().optional(),
|
|
15703
15969
|
collection: string(),
|
|
15704
15970
|
filter: QueryFilterSchema.optional()
|
|
@@ -23240,6 +23506,12 @@ Object.freeze({
|
|
|
23240
23506
|
addonId: null,
|
|
23241
23507
|
access: "delete"
|
|
23242
23508
|
},
|
|
23509
|
+
"dataStoreProvider.deleteWhere": {
|
|
23510
|
+
capName: "data-store-provider",
|
|
23511
|
+
capScope: "system",
|
|
23512
|
+
addonId: null,
|
|
23513
|
+
access: "delete"
|
|
23514
|
+
},
|
|
23243
23515
|
"dataStoreProvider.get": {
|
|
23244
23516
|
capName: "data-store-provider",
|
|
23245
23517
|
capScope: "system",
|
|
@@ -23288,6 +23560,12 @@ Object.freeze({
|
|
|
23288
23560
|
addonId: null,
|
|
23289
23561
|
access: "create"
|
|
23290
23562
|
},
|
|
23563
|
+
"dataStoreProvider.updateWhere": {
|
|
23564
|
+
capName: "data-store-provider",
|
|
23565
|
+
capScope: "system",
|
|
23566
|
+
addonId: null,
|
|
23567
|
+
access: "create"
|
|
23568
|
+
},
|
|
23291
23569
|
"dayNight.getOptions": {
|
|
23292
23570
|
capName: "day-night",
|
|
23293
23571
|
capScope: "device",
|
|
@@ -25082,12 +25360,24 @@ Object.freeze({
|
|
|
25082
25360
|
addonId: null,
|
|
25083
25361
|
access: "create"
|
|
25084
25362
|
},
|
|
25363
|
+
"notificationRules.cancelSnooze": {
|
|
25364
|
+
capName: "notification-rules",
|
|
25365
|
+
capScope: "system",
|
|
25366
|
+
addonId: null,
|
|
25367
|
+
access: "create"
|
|
25368
|
+
},
|
|
25085
25369
|
"notificationRules.createRule": {
|
|
25086
25370
|
capName: "notification-rules",
|
|
25087
25371
|
capScope: "system",
|
|
25088
25372
|
addonId: null,
|
|
25089
25373
|
access: "create"
|
|
25090
25374
|
},
|
|
25375
|
+
"notificationRules.createSnooze": {
|
|
25376
|
+
capName: "notification-rules",
|
|
25377
|
+
capScope: "system",
|
|
25378
|
+
addonId: null,
|
|
25379
|
+
access: "create"
|
|
25380
|
+
},
|
|
25091
25381
|
"notificationRules.deleteRule": {
|
|
25092
25382
|
capName: "notification-rules",
|
|
25093
25383
|
capScope: "system",
|
|
@@ -25118,6 +25408,12 @@ Object.freeze({
|
|
|
25118
25408
|
addonId: null,
|
|
25119
25409
|
access: "view"
|
|
25120
25410
|
},
|
|
25411
|
+
"notificationRules.listSnoozes": {
|
|
25412
|
+
capName: "notification-rules",
|
|
25413
|
+
capScope: "system",
|
|
25414
|
+
addonId: null,
|
|
25415
|
+
access: "view"
|
|
25416
|
+
},
|
|
25121
25417
|
"notificationRules.setRuleEnabled": {
|
|
25122
25418
|
capName: "notification-rules",
|
|
25123
25419
|
capScope: "system",
|
|
@@ -26366,6 +26662,12 @@ Object.freeze({
|
|
|
26366
26662
|
addonId: null,
|
|
26367
26663
|
access: "delete"
|
|
26368
26664
|
},
|
|
26665
|
+
"settingsStore.deleteWhere": {
|
|
26666
|
+
capName: "settings-store",
|
|
26667
|
+
capScope: "system",
|
|
26668
|
+
addonId: null,
|
|
26669
|
+
access: "delete"
|
|
26670
|
+
},
|
|
26369
26671
|
"settingsStore.get": {
|
|
26370
26672
|
capName: "settings-store",
|
|
26371
26673
|
capScope: "system",
|
|
@@ -26408,6 +26710,12 @@ Object.freeze({
|
|
|
26408
26710
|
addonId: null,
|
|
26409
26711
|
access: "create"
|
|
26410
26712
|
},
|
|
26713
|
+
"settingsStore.updateWhere": {
|
|
26714
|
+
capName: "settings-store",
|
|
26715
|
+
capScope: "system",
|
|
26716
|
+
addonId: null,
|
|
26717
|
+
access: "create"
|
|
26718
|
+
},
|
|
26411
26719
|
"smtpProvider.getStatus": {
|
|
26412
26720
|
capName: "smtp-provider",
|
|
26413
26721
|
capScope: "system",
|
|
@@ -27433,4 +27741,4 @@ Object.freeze({
|
|
|
27433
27741
|
"smtp-provider": "email"
|
|
27434
27742
|
});
|
|
27435
27743
|
//#endregion
|
|
27436
|
-
export {
|
|
27744
|
+
export { subKindsOf as A, array as B, defineCustomActions as C, notificationRulesCapability as D, hfModelUrl as E, DeviceType as F, string as G, literal as H, createEvent as I, EventCategory as K, hydrateSchema as L, zoneAnalyticsCapability as M, errMsg as N, pipelineAnalyticsCapability as O, BaseAddon as P, nodePin as R, customAction as S, faceGalleryCapability as T, number as U, boolean as V, object as W, TimelapseRuleSchema as _, NC_CONDITION_CATALOG as a, buildEventKindDescriptor as b, NcRuleInputSchema as c, NcSnoozeInputSchema as d, NcSnoozeSchema as f, TimelapseRuleInputSchema as g, OpsLogEntrySchema as h, MACRO_LABELS as i, videoclipsCapability as j, plateGalleryCapability as k, NcRulePatchSchema as l, NcTaxonomySchema as m, EVENT_KIND_BY_CAP as n, NC_TAXONOMY as o, NcSnoozeSuppressedSchema as p, EVENT_PAD_MS as r, NcConditionDescriptorSchema as s, DEFAULT_EVENT_COLOR as t, NcRuleSchema as u, addonWidgetsSourceCapability as v, embeddingEncoderCapability as w, cosineSimilarity as x, audioMetricsCapability as y, _enum as z };
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-Bi1fiPc0.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
let node_fs$1 = require_dist.__toESM(node_fs, 1);
|
|
8
8
|
node_fs = require_dist.__toESM(node_fs);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as hfModelUrl, P as BaseAddon, w as embeddingEncoderCapability } from "../dist-DsCSHZ9N.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import "node:fs";
|
|
@@ -1,6 +1,6 @@
|
|
|
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-CHPq_p1Y.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
5
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
6
6
|
var _ = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), v = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), y = (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.25",
|
|
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.19",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|