@camstack/system 1.2.349 → 1.2.351
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/addon-runner.js +2 -2
- package/dist/addon-runner.mjs +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.d.ts +8 -0
- package/dist/builtins/alerts/alerts.addon.js +146 -31
- package/dist/builtins/alerts/alerts.addon.mjs +146 -31
- package/dist/builtins/alerts/device-label.d.ts +8 -0
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
- package/dist/builtins/calendars/calendars.addon.js +3 -2
- package/dist/builtins/calendars/calendars.addon.mjs +3 -2
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/block-type-defs.d.ts +20 -5
- package/dist/builtins/core-blocks/core-blocks.addon.js +171 -26
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +171 -26
- package/dist/builtins/device-manager/device-bindings-store.d.ts +3 -1
- package/dist/builtins/device-manager/device-manager.addon.js +5 -57
- package/dist/builtins/device-manager/device-manager.addon.mjs +5 -57
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/liveness-monitor/liveness-checks.d.ts +7 -0
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +8 -4
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +8 -4
- package/dist/builtins/local-auth/local-auth.addon.js +1 -1
- package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +1 -1
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +2 -2
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +2 -2
- package/dist/builtins/system-config/system-config.addon.js +1 -1
- package/dist/builtins/system-config/system-config.addon.mjs +1 -1
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{child-cap-dispatch-Pkx_sEKR.mjs → child-cap-dispatch-BAfa6tjj.mjs} +1 -1
- package/dist/{child-cap-dispatch-DiDBYNY4.js → child-cap-dispatch-B_0-zpI6.js} +1 -1
- package/dist/{composition-sources-w_NIID5d.js → composition-sources-CUfM-BYp.js} +1 -1
- package/dist/{composition-sources-DK-hFG7I.mjs → composition-sources-CoFGIGCc.mjs} +1 -1
- package/dist/{dist-C6CPaa8G.mjs → dist-DADwBtU5.mjs} +144 -13
- package/dist/{dist-DvAczrLl.js → dist-DeGPW01G.js} +144 -13
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/dist/{retired-settings-keys-BQYjCJWI.js → retired-settings-keys-D8G5o4Fc.js} +1 -1
- package/dist/{retired-settings-keys-tmMQQ9OH.mjs → retired-settings-keys-bUUnyTMg.mjs} +1 -1
- package/package.json +1 -1
|
@@ -710,7 +710,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
710
710
|
return EventCategory;
|
|
711
711
|
}({});
|
|
712
712
|
//#endregion
|
|
713
|
-
//#region ../types/dist/sleep-
|
|
713
|
+
//#region ../types/dist/sleep-DXKLNFvA.mjs
|
|
714
714
|
/**
|
|
715
715
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
716
716
|
* window to float samples (D455).
|
|
@@ -1019,6 +1019,43 @@ function hydrateField(field, values) {
|
|
|
1019
1019
|
}
|
|
1020
1020
|
const rawValue = storedValue !== void 0 ? storedValue : defaultValue !== void 0 ? defaultValue : null;
|
|
1021
1021
|
const value = field.type === "textarea" && field.isJson && rawValue !== null && typeof rawValue === "object" ? JSON.stringify(rawValue, null, 2) : rawValue;
|
|
1022
|
+
if (field.type === "tags" && typeof field.suggestionsFrom === "string") {
|
|
1023
|
+
const from = values[field.suggestionsFrom];
|
|
1024
|
+
const extra = Array.isArray(from) ? from.filter((s) => typeof s === "string" && s.length > 0) : [];
|
|
1025
|
+
const merged = [...new Set([...field.suggestions ?? [], ...extra])];
|
|
1026
|
+
return {
|
|
1027
|
+
...field,
|
|
1028
|
+
suggestions: merged,
|
|
1029
|
+
value
|
|
1030
|
+
};
|
|
1031
|
+
}
|
|
1032
|
+
if ((field.type === "select" || field.type === "multiselect") && typeof field.optionsFrom === "string") {
|
|
1033
|
+
const from = values[field.optionsFrom];
|
|
1034
|
+
const byValue = /* @__PURE__ */ new Map();
|
|
1035
|
+
for (const opt of field.options) byValue.set(opt.value, opt);
|
|
1036
|
+
if (Array.isArray(from)) for (const entry of from) {
|
|
1037
|
+
if (typeof entry === "string" && entry.length > 0) {
|
|
1038
|
+
if (!byValue.has(entry)) byValue.set(entry, {
|
|
1039
|
+
value: entry,
|
|
1040
|
+
label: entry
|
|
1041
|
+
});
|
|
1042
|
+
continue;
|
|
1043
|
+
}
|
|
1044
|
+
if (entry === null || typeof entry !== "object") continue;
|
|
1045
|
+
const v = Reflect.get(entry, "value");
|
|
1046
|
+
const lbl = Reflect.get(entry, "label");
|
|
1047
|
+
if (typeof v !== "string" || v.length === 0) continue;
|
|
1048
|
+
if (!byValue.has(v)) byValue.set(v, {
|
|
1049
|
+
value: v,
|
|
1050
|
+
label: typeof lbl === "string" && lbl.length > 0 ? lbl : v
|
|
1051
|
+
});
|
|
1052
|
+
}
|
|
1053
|
+
return {
|
|
1054
|
+
...field,
|
|
1055
|
+
options: [...byValue.values()],
|
|
1056
|
+
value
|
|
1057
|
+
};
|
|
1058
|
+
}
|
|
1022
1059
|
return {
|
|
1023
1060
|
...field,
|
|
1024
1061
|
value
|
|
@@ -8341,7 +8378,16 @@ var AutomationActionSchema = z.discriminatedUnion("kind", [
|
|
|
8341
8378
|
}),
|
|
8342
8379
|
z.object({
|
|
8343
8380
|
kind: z.literal("cap"),
|
|
8344
|
-
|
|
8381
|
+
/**
|
|
8382
|
+
* One device, several same-family devices (locks / climate family / …),
|
|
8383
|
+
* or `{ $var }` for the device that triggered the run. An array is
|
|
8384
|
+
* fan-out at codegen — each id gets the same cap.method call.
|
|
8385
|
+
*/
|
|
8386
|
+
deviceId: z.union([
|
|
8387
|
+
z.number().int(),
|
|
8388
|
+
z.array(z.number().int()).min(1),
|
|
8389
|
+
z.object({ $var: z.string().min(1) })
|
|
8390
|
+
]),
|
|
8345
8391
|
cap: z.string().min(1),
|
|
8346
8392
|
method: z.string().min(1),
|
|
8347
8393
|
/** Values may carry `{{vars.x}}` slots, which SUBSTITUTE and do not
|
|
@@ -14122,7 +14168,7 @@ var detectionPipelineCapability = {
|
|
|
14122
14168
|
* This matters here more than anywhere else in the repo, because every provider
|
|
14123
14169
|
* that knows a device's host knows its PASSWORD too: `{ host, port, username,
|
|
14124
14170
|
* password }` sit in one object on Hikvision, Amcrest, Reolink and ONVIF alike,
|
|
14125
|
-
* and `http://admin:hunter2@192.168.
|
|
14171
|
+
* and `http://admin:hunter2@192.168.x.x/` is a URL a browser accepts. The
|
|
14126
14172
|
* camera's own page will ask for its own login. That is correct, and pre-
|
|
14127
14173
|
* filling it is the operator's business, not ours.
|
|
14128
14174
|
*
|
|
@@ -19082,6 +19128,17 @@ var SendResultSchema = z.object({
|
|
|
19082
19128
|
});
|
|
19083
19129
|
/** Same shape as SendResult — kept as a distinct name for the test panel. */
|
|
19084
19130
|
var TestResultSchema = SendResultSchema;
|
|
19131
|
+
/**
|
|
19132
|
+
* Pre-save credential probe against a partial (unsaved) target config.
|
|
19133
|
+
* `resolvedUrl` never includes secrets (token stripped from path).
|
|
19134
|
+
*/
|
|
19135
|
+
var ProbeTargetConfigResultSchema = z.object({
|
|
19136
|
+
ok: z.boolean(),
|
|
19137
|
+
resolvedUrl: z.string(),
|
|
19138
|
+
httpStatus: z.number().int().optional(),
|
|
19139
|
+
stateInstance: z.string().optional(),
|
|
19140
|
+
error: z.string().optional()
|
|
19141
|
+
});
|
|
19085
19142
|
var notificationOutputCapability = {
|
|
19086
19143
|
name: "notification-output",
|
|
19087
19144
|
scope: "system",
|
|
@@ -19089,10 +19146,32 @@ var notificationOutputCapability = {
|
|
|
19089
19146
|
methods: {
|
|
19090
19147
|
listTargetKinds: method(z.object({}), z.array(TargetKindSchema)),
|
|
19091
19148
|
listTargets: method(z.object({}), z.array(TargetSchema), { auth: "admin" }),
|
|
19149
|
+
/**
|
|
19150
|
+
* One target WITH secrets — admin edit / duplicate hydration only.
|
|
19151
|
+
* `listTargets` stays redacted; the editor loads this so password fields
|
|
19152
|
+
* are filled (masked in the input) and a save can round-trip the token
|
|
19153
|
+
* when a destination changes (Duplicate with a new chatId, etc.).
|
|
19154
|
+
*/
|
|
19155
|
+
getTarget: method(z.object({ targetId: z.string() }), TargetSchema, { auth: "admin" }),
|
|
19092
19156
|
discoverTargets: method(z.object({
|
|
19093
19157
|
kind: z.string(),
|
|
19094
|
-
config: z.record(z.string(), z.unknown()).optional()
|
|
19158
|
+
config: z.record(z.string(), z.unknown()).optional(),
|
|
19159
|
+
/**
|
|
19160
|
+
* When editing / duplicating, the blank password field never round-trips
|
|
19161
|
+
* the stored token. Pass the source target id so the provider can restore
|
|
19162
|
+
* secrets server-side before dialling (same merge as upsert).
|
|
19163
|
+
*/
|
|
19164
|
+
targetId: z.string().optional()
|
|
19095
19165
|
}), z.array(DiscoveredTargetSchema), { auth: "admin" }),
|
|
19166
|
+
probeTargetConfig: method(z.object({
|
|
19167
|
+
kind: z.string(),
|
|
19168
|
+
config: z.record(z.string(), z.unknown()),
|
|
19169
|
+
/** See `discoverTargets.targetId` — restore stored secrets for a blank password. */
|
|
19170
|
+
targetId: z.string().optional()
|
|
19171
|
+
}), ProbeTargetConfigResultSchema, {
|
|
19172
|
+
kind: "mutation",
|
|
19173
|
+
auth: "admin"
|
|
19174
|
+
}),
|
|
19096
19175
|
send: method(z.object({
|
|
19097
19176
|
targetId: z.string(),
|
|
19098
19177
|
notification: NotificationSchema
|
|
@@ -19107,7 +19186,16 @@ var notificationOutputCapability = {
|
|
|
19107
19186
|
kind: "mutation",
|
|
19108
19187
|
auth: "admin"
|
|
19109
19188
|
}),
|
|
19110
|
-
upsertTarget: method(z.object({
|
|
19189
|
+
upsertTarget: method(z.object({
|
|
19190
|
+
target: TargetSchema,
|
|
19191
|
+
/**
|
|
19192
|
+
* Duplicate flow: create a NEW target id while copying secrets from an
|
|
19193
|
+
* existing row. The UI never holds the stored token; blank / redacted
|
|
19194
|
+
* password fields are restored from this source (D634 still applies if
|
|
19195
|
+
* destinations diverge without a re-typed secret).
|
|
19196
|
+
*/
|
|
19197
|
+
cloneSecretsFrom: z.string().optional()
|
|
19198
|
+
}), TargetSchema, {
|
|
19111
19199
|
kind: "mutation",
|
|
19112
19200
|
auth: "admin"
|
|
19113
19201
|
}),
|
|
@@ -21556,12 +21644,33 @@ var NC_ALARM_TRIGGERED_MAX_SEC = 3600;
|
|
|
21556
21644
|
var NcAlarmDelaySecSchema = z.number().int().min(0).max(600);
|
|
21557
21645
|
var NcAlarmTriggeredSecSchema = z.number().int().min(0).max(NC_ALARM_TRIGGERED_MAX_SEC);
|
|
21558
21646
|
var uniqueModes = (entries) => new Set(entries.map((e) => e.mode)).size === entries.length;
|
|
21647
|
+
/**
|
|
21648
|
+
* What the panel does when a bounded triggered window ends.
|
|
21649
|
+
* - `rearmAfter` — return to the armed mode
|
|
21650
|
+
* - `disableAfter` — auto-disarm
|
|
21651
|
+
* - `doNothing` — stay triggered until a human disarms
|
|
21652
|
+
*/
|
|
21653
|
+
var NcAlarmPostTriggeredActionSchema = z.enum([
|
|
21654
|
+
"rearmAfter",
|
|
21655
|
+
"disableAfter",
|
|
21656
|
+
"doNothing"
|
|
21657
|
+
]);
|
|
21559
21658
|
/** One mode's OVERRIDES. An absent field inherits the global value (D697). */
|
|
21560
21659
|
var NcAlarmModeDelaysSchema = z.object({
|
|
21561
21660
|
mode: AlarmArmModeSchema,
|
|
21562
21661
|
exitDelaySec: NcAlarmDelaySecSchema.optional(),
|
|
21563
21662
|
entryDelaySec: NcAlarmDelaySecSchema.optional(),
|
|
21564
|
-
|
|
21663
|
+
/**
|
|
21664
|
+
* Duration of `triggered` before {@link postTriggeredAction}. Kept as the
|
|
21665
|
+
* historical field name so older clients still read/write a number.
|
|
21666
|
+
*/
|
|
21667
|
+
triggeredDurationSec: NcAlarmTriggeredSecSchema.optional(),
|
|
21668
|
+
postTriggeredAction: NcAlarmPostTriggeredActionSchema.optional(),
|
|
21669
|
+
/**
|
|
21670
|
+
* When this mode may be armed. Absent / null = always allowed (same as a
|
|
21671
|
+
* rule with no `schedule`). Evaluated with {@link isScheduleActive}.
|
|
21672
|
+
*/
|
|
21673
|
+
schedule: NcScheduleSchema.optional()
|
|
21565
21674
|
});
|
|
21566
21675
|
var NcAlarmModeDelaysListSchema = z.array(NcAlarmModeDelaysSchema).max(8).refine(uniqueModes, { message: "modeDelays: at most one entry per arm mode" });
|
|
21567
21676
|
/**
|
|
@@ -21573,7 +21682,10 @@ var NcAlarmModeDelaysEditSchema = z.object({
|
|
|
21573
21682
|
mode: AlarmArmModeSchema,
|
|
21574
21683
|
exitDelaySec: NcAlarmDelaySecSchema.nullable().optional(),
|
|
21575
21684
|
entryDelaySec: NcAlarmDelaySecSchema.nullable().optional(),
|
|
21576
|
-
triggeredDurationSec: NcAlarmTriggeredSecSchema.nullable().optional()
|
|
21685
|
+
triggeredDurationSec: NcAlarmTriggeredSecSchema.nullable().optional(),
|
|
21686
|
+
postTriggeredAction: NcAlarmPostTriggeredActionSchema.nullable().optional(),
|
|
21687
|
+
/** Set a schedule, or `null` to clear (mode always allowed again). */
|
|
21688
|
+
schedule: NcScheduleSchema.nullable().optional()
|
|
21577
21689
|
});
|
|
21578
21690
|
var NcAlarmModeDelaysEditListSchema = z.array(NcAlarmModeDelaysEditSchema).max(8).refine(uniqueModes, { message: "modeDelays: at most one edit per arm mode" });
|
|
21579
21691
|
/** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
|
|
@@ -21646,12 +21758,18 @@ var NcAlarmSettingsSchema = z.object({
|
|
|
21646
21758
|
/** Grace period between a trigger and the alarm firing. 0 = immediate. */
|
|
21647
21759
|
entryDelaySec: NcAlarmDelaySecSchema,
|
|
21648
21760
|
/**
|
|
21649
|
-
* How long `triggered` lasts before
|
|
21650
|
-
*
|
|
21651
|
-
*
|
|
21761
|
+
* How long `triggered` lasts before {@link postTriggeredAction} runs.
|
|
21762
|
+
* Ignored when the action is `doNothing`. Historical name kept so older
|
|
21763
|
+
* clients still round-trip a number.
|
|
21652
21764
|
*/
|
|
21653
21765
|
triggeredDurationSec: NcAlarmTriggeredSecSchema,
|
|
21654
21766
|
/**
|
|
21767
|
+
* What happens when the triggered window ends. Absent on a blob older than
|
|
21768
|
+
* this field → derived from {@link triggeredDurationSec} (`>0` ⇒ rearmAfter,
|
|
21769
|
+
* else doNothing).
|
|
21770
|
+
*/
|
|
21771
|
+
postTriggeredAction: NcAlarmPostTriggeredActionSchema.optional(),
|
|
21772
|
+
/**
|
|
21655
21773
|
* Deprecated by D630 — every transition is announced. Parsed, never read;
|
|
21656
21774
|
* remove after one release. Optional so an older admin's patch (which still
|
|
21657
21775
|
* sends it) parses rather than failing the whole save.
|
|
@@ -36049,7 +36167,7 @@ var LocalInterfaceSchema = z.object({
|
|
|
36049
36167
|
name: z.string(),
|
|
36050
36168
|
family: z.enum(["IPv4", "IPv6"]),
|
|
36051
36169
|
address: z.string(),
|
|
36052
|
-
/** CIDR shorthand (e.g. `192.168.
|
|
36170
|
+
/** CIDR shorthand (e.g. `192.168.x.x/24`). Empty when OS doesn't expose. */
|
|
36053
36171
|
cidr: z.string(),
|
|
36054
36172
|
/** OS netmask. Stable across calls so the SDK can hash on it. */
|
|
36055
36173
|
netmask: z.string(),
|
|
@@ -36248,7 +36366,7 @@ var localNetworkCapability = {
|
|
|
36248
36366
|
* every client a second authority on a socket only the hub binds. A viewer
|
|
36249
36367
|
* configured with a port-less public URL (`https://camstack.example.top`)
|
|
36250
36368
|
* infers 443 from the scheme, asks with 443, and was handed
|
|
36251
|
-
* `https://192.168.
|
|
36369
|
+
* `https://192.168.x.x:443` for a hub listening on 4443. That candidate
|
|
36252
36370
|
* cannot ever answer, and losing its race reads in the log exactly like
|
|
36253
36371
|
* "the LAN was tried and it was slower" — so an operator sitting on his own
|
|
36254
36372
|
* WiFi stayed on the public tunnel for weeks, with the LAN candidate born
|
|
@@ -36701,7 +36819,7 @@ var MeshPeerSchema = z.object({
|
|
|
36701
36819
|
tags: z.array(z.string()).readonly(),
|
|
36702
36820
|
/** True when the peer advertises itself as an exit-node candidate. */
|
|
36703
36821
|
exitNodeOption: z.boolean(),
|
|
36704
|
-
/** Subnet routes the peer advertises (e.g. `["192.168.
|
|
36822
|
+
/** Subnet routes the peer advertises (e.g. `["192.168.x.x/24"]`). */
|
|
36705
36823
|
advertisedRoutes: z.array(z.string()).readonly(),
|
|
36706
36824
|
/** Owner account login (e.g. `foo@example.com`). Null for tagged peers. */
|
|
36707
36825
|
userLogin: z.string().nullable(),
|
|
@@ -50118,6 +50236,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
50118
50236
|
addonId: null,
|
|
50119
50237
|
access: "view"
|
|
50120
50238
|
},
|
|
50239
|
+
"notificationOutput.getTarget": {
|
|
50240
|
+
capName: "notification-output",
|
|
50241
|
+
capScope: "system",
|
|
50242
|
+
addonId: null,
|
|
50243
|
+
access: "view"
|
|
50244
|
+
},
|
|
50121
50245
|
"notificationOutput.listTargetKinds": {
|
|
50122
50246
|
capName: "notification-output",
|
|
50123
50247
|
capScope: "system",
|
|
@@ -50130,6 +50254,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
50130
50254
|
addonId: null,
|
|
50131
50255
|
access: "view"
|
|
50132
50256
|
},
|
|
50257
|
+
"notificationOutput.probeTargetConfig": {
|
|
50258
|
+
capName: "notification-output",
|
|
50259
|
+
capScope: "system",
|
|
50260
|
+
addonId: null,
|
|
50261
|
+
access: "create"
|
|
50262
|
+
},
|
|
50133
50263
|
"notificationOutput.send": {
|
|
50134
50264
|
capName: "notification-output",
|
|
50135
50265
|
capScope: "system",
|
|
@@ -53839,6 +53969,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
53839
53969
|
access: "create"
|
|
53840
53970
|
}
|
|
53841
53971
|
});
|
|
53972
|
+
DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
|
|
53842
53973
|
DeviceFeature.BatteryOperated;
|
|
53843
53974
|
/**
|
|
53844
53975
|
* The vocabulary, in the order a picker offers it.
|
|
@@ -710,7 +710,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
710
710
|
return EventCategory;
|
|
711
711
|
}({});
|
|
712
712
|
//#endregion
|
|
713
|
-
//#region ../types/dist/sleep-
|
|
713
|
+
//#region ../types/dist/sleep-DXKLNFvA.mjs
|
|
714
714
|
/**
|
|
715
715
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
716
716
|
* window to float samples (D455).
|
|
@@ -1019,6 +1019,43 @@ function hydrateField(field, values) {
|
|
|
1019
1019
|
}
|
|
1020
1020
|
const rawValue = storedValue !== void 0 ? storedValue : defaultValue !== void 0 ? defaultValue : null;
|
|
1021
1021
|
const value = field.type === "textarea" && field.isJson && rawValue !== null && typeof rawValue === "object" ? JSON.stringify(rawValue, null, 2) : rawValue;
|
|
1022
|
+
if (field.type === "tags" && typeof field.suggestionsFrom === "string") {
|
|
1023
|
+
const from = values[field.suggestionsFrom];
|
|
1024
|
+
const extra = Array.isArray(from) ? from.filter((s) => typeof s === "string" && s.length > 0) : [];
|
|
1025
|
+
const merged = [...new Set([...field.suggestions ?? [], ...extra])];
|
|
1026
|
+
return {
|
|
1027
|
+
...field,
|
|
1028
|
+
suggestions: merged,
|
|
1029
|
+
value
|
|
1030
|
+
};
|
|
1031
|
+
}
|
|
1032
|
+
if ((field.type === "select" || field.type === "multiselect") && typeof field.optionsFrom === "string") {
|
|
1033
|
+
const from = values[field.optionsFrom];
|
|
1034
|
+
const byValue = /* @__PURE__ */ new Map();
|
|
1035
|
+
for (const opt of field.options) byValue.set(opt.value, opt);
|
|
1036
|
+
if (Array.isArray(from)) for (const entry of from) {
|
|
1037
|
+
if (typeof entry === "string" && entry.length > 0) {
|
|
1038
|
+
if (!byValue.has(entry)) byValue.set(entry, {
|
|
1039
|
+
value: entry,
|
|
1040
|
+
label: entry
|
|
1041
|
+
});
|
|
1042
|
+
continue;
|
|
1043
|
+
}
|
|
1044
|
+
if (entry === null || typeof entry !== "object") continue;
|
|
1045
|
+
const v = Reflect.get(entry, "value");
|
|
1046
|
+
const lbl = Reflect.get(entry, "label");
|
|
1047
|
+
if (typeof v !== "string" || v.length === 0) continue;
|
|
1048
|
+
if (!byValue.has(v)) byValue.set(v, {
|
|
1049
|
+
value: v,
|
|
1050
|
+
label: typeof lbl === "string" && lbl.length > 0 ? lbl : v
|
|
1051
|
+
});
|
|
1052
|
+
}
|
|
1053
|
+
return {
|
|
1054
|
+
...field,
|
|
1055
|
+
options: [...byValue.values()],
|
|
1056
|
+
value
|
|
1057
|
+
};
|
|
1058
|
+
}
|
|
1022
1059
|
return {
|
|
1023
1060
|
...field,
|
|
1024
1061
|
value
|
|
@@ -8341,7 +8378,16 @@ var AutomationActionSchema = zod.z.discriminatedUnion("kind", [
|
|
|
8341
8378
|
}),
|
|
8342
8379
|
zod.z.object({
|
|
8343
8380
|
kind: zod.z.literal("cap"),
|
|
8344
|
-
|
|
8381
|
+
/**
|
|
8382
|
+
* One device, several same-family devices (locks / climate family / …),
|
|
8383
|
+
* or `{ $var }` for the device that triggered the run. An array is
|
|
8384
|
+
* fan-out at codegen — each id gets the same cap.method call.
|
|
8385
|
+
*/
|
|
8386
|
+
deviceId: zod.z.union([
|
|
8387
|
+
zod.z.number().int(),
|
|
8388
|
+
zod.z.array(zod.z.number().int()).min(1),
|
|
8389
|
+
zod.z.object({ $var: zod.z.string().min(1) })
|
|
8390
|
+
]),
|
|
8345
8391
|
cap: zod.z.string().min(1),
|
|
8346
8392
|
method: zod.z.string().min(1),
|
|
8347
8393
|
/** Values may carry `{{vars.x}}` slots, which SUBSTITUTE and do not
|
|
@@ -14122,7 +14168,7 @@ var detectionPipelineCapability = {
|
|
|
14122
14168
|
* This matters here more than anywhere else in the repo, because every provider
|
|
14123
14169
|
* that knows a device's host knows its PASSWORD too: `{ host, port, username,
|
|
14124
14170
|
* password }` sit in one object on Hikvision, Amcrest, Reolink and ONVIF alike,
|
|
14125
|
-
* and `http://admin:hunter2@192.168.
|
|
14171
|
+
* and `http://admin:hunter2@192.168.x.x/` is a URL a browser accepts. The
|
|
14126
14172
|
* camera's own page will ask for its own login. That is correct, and pre-
|
|
14127
14173
|
* filling it is the operator's business, not ours.
|
|
14128
14174
|
*
|
|
@@ -19082,6 +19128,17 @@ var SendResultSchema = zod.z.object({
|
|
|
19082
19128
|
});
|
|
19083
19129
|
/** Same shape as SendResult — kept as a distinct name for the test panel. */
|
|
19084
19130
|
var TestResultSchema = SendResultSchema;
|
|
19131
|
+
/**
|
|
19132
|
+
* Pre-save credential probe against a partial (unsaved) target config.
|
|
19133
|
+
* `resolvedUrl` never includes secrets (token stripped from path).
|
|
19134
|
+
*/
|
|
19135
|
+
var ProbeTargetConfigResultSchema = zod.z.object({
|
|
19136
|
+
ok: zod.z.boolean(),
|
|
19137
|
+
resolvedUrl: zod.z.string(),
|
|
19138
|
+
httpStatus: zod.z.number().int().optional(),
|
|
19139
|
+
stateInstance: zod.z.string().optional(),
|
|
19140
|
+
error: zod.z.string().optional()
|
|
19141
|
+
});
|
|
19085
19142
|
var notificationOutputCapability = {
|
|
19086
19143
|
name: "notification-output",
|
|
19087
19144
|
scope: "system",
|
|
@@ -19089,10 +19146,32 @@ var notificationOutputCapability = {
|
|
|
19089
19146
|
methods: {
|
|
19090
19147
|
listTargetKinds: method(zod.z.object({}), zod.z.array(TargetKindSchema)),
|
|
19091
19148
|
listTargets: method(zod.z.object({}), zod.z.array(TargetSchema), { auth: "admin" }),
|
|
19149
|
+
/**
|
|
19150
|
+
* One target WITH secrets — admin edit / duplicate hydration only.
|
|
19151
|
+
* `listTargets` stays redacted; the editor loads this so password fields
|
|
19152
|
+
* are filled (masked in the input) and a save can round-trip the token
|
|
19153
|
+
* when a destination changes (Duplicate with a new chatId, etc.).
|
|
19154
|
+
*/
|
|
19155
|
+
getTarget: method(zod.z.object({ targetId: zod.z.string() }), TargetSchema, { auth: "admin" }),
|
|
19092
19156
|
discoverTargets: method(zod.z.object({
|
|
19093
19157
|
kind: zod.z.string(),
|
|
19094
|
-
config: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
19158
|
+
config: zod.z.record(zod.z.string(), zod.z.unknown()).optional(),
|
|
19159
|
+
/**
|
|
19160
|
+
* When editing / duplicating, the blank password field never round-trips
|
|
19161
|
+
* the stored token. Pass the source target id so the provider can restore
|
|
19162
|
+
* secrets server-side before dialling (same merge as upsert).
|
|
19163
|
+
*/
|
|
19164
|
+
targetId: zod.z.string().optional()
|
|
19095
19165
|
}), zod.z.array(DiscoveredTargetSchema), { auth: "admin" }),
|
|
19166
|
+
probeTargetConfig: method(zod.z.object({
|
|
19167
|
+
kind: zod.z.string(),
|
|
19168
|
+
config: zod.z.record(zod.z.string(), zod.z.unknown()),
|
|
19169
|
+
/** See `discoverTargets.targetId` — restore stored secrets for a blank password. */
|
|
19170
|
+
targetId: zod.z.string().optional()
|
|
19171
|
+
}), ProbeTargetConfigResultSchema, {
|
|
19172
|
+
kind: "mutation",
|
|
19173
|
+
auth: "admin"
|
|
19174
|
+
}),
|
|
19096
19175
|
send: method(zod.z.object({
|
|
19097
19176
|
targetId: zod.z.string(),
|
|
19098
19177
|
notification: NotificationSchema
|
|
@@ -19107,7 +19186,16 @@ var notificationOutputCapability = {
|
|
|
19107
19186
|
kind: "mutation",
|
|
19108
19187
|
auth: "admin"
|
|
19109
19188
|
}),
|
|
19110
|
-
upsertTarget: method(zod.z.object({
|
|
19189
|
+
upsertTarget: method(zod.z.object({
|
|
19190
|
+
target: TargetSchema,
|
|
19191
|
+
/**
|
|
19192
|
+
* Duplicate flow: create a NEW target id while copying secrets from an
|
|
19193
|
+
* existing row. The UI never holds the stored token; blank / redacted
|
|
19194
|
+
* password fields are restored from this source (D634 still applies if
|
|
19195
|
+
* destinations diverge without a re-typed secret).
|
|
19196
|
+
*/
|
|
19197
|
+
cloneSecretsFrom: zod.z.string().optional()
|
|
19198
|
+
}), TargetSchema, {
|
|
19111
19199
|
kind: "mutation",
|
|
19112
19200
|
auth: "admin"
|
|
19113
19201
|
}),
|
|
@@ -21556,12 +21644,33 @@ var NC_ALARM_TRIGGERED_MAX_SEC = 3600;
|
|
|
21556
21644
|
var NcAlarmDelaySecSchema = zod.z.number().int().min(0).max(600);
|
|
21557
21645
|
var NcAlarmTriggeredSecSchema = zod.z.number().int().min(0).max(NC_ALARM_TRIGGERED_MAX_SEC);
|
|
21558
21646
|
var uniqueModes = (entries) => new Set(entries.map((e) => e.mode)).size === entries.length;
|
|
21647
|
+
/**
|
|
21648
|
+
* What the panel does when a bounded triggered window ends.
|
|
21649
|
+
* - `rearmAfter` — return to the armed mode
|
|
21650
|
+
* - `disableAfter` — auto-disarm
|
|
21651
|
+
* - `doNothing` — stay triggered until a human disarms
|
|
21652
|
+
*/
|
|
21653
|
+
var NcAlarmPostTriggeredActionSchema = zod.z.enum([
|
|
21654
|
+
"rearmAfter",
|
|
21655
|
+
"disableAfter",
|
|
21656
|
+
"doNothing"
|
|
21657
|
+
]);
|
|
21559
21658
|
/** One mode's OVERRIDES. An absent field inherits the global value (D697). */
|
|
21560
21659
|
var NcAlarmModeDelaysSchema = zod.z.object({
|
|
21561
21660
|
mode: AlarmArmModeSchema,
|
|
21562
21661
|
exitDelaySec: NcAlarmDelaySecSchema.optional(),
|
|
21563
21662
|
entryDelaySec: NcAlarmDelaySecSchema.optional(),
|
|
21564
|
-
|
|
21663
|
+
/**
|
|
21664
|
+
* Duration of `triggered` before {@link postTriggeredAction}. Kept as the
|
|
21665
|
+
* historical field name so older clients still read/write a number.
|
|
21666
|
+
*/
|
|
21667
|
+
triggeredDurationSec: NcAlarmTriggeredSecSchema.optional(),
|
|
21668
|
+
postTriggeredAction: NcAlarmPostTriggeredActionSchema.optional(),
|
|
21669
|
+
/**
|
|
21670
|
+
* When this mode may be armed. Absent / null = always allowed (same as a
|
|
21671
|
+
* rule with no `schedule`). Evaluated with {@link isScheduleActive}.
|
|
21672
|
+
*/
|
|
21673
|
+
schedule: NcScheduleSchema.optional()
|
|
21565
21674
|
});
|
|
21566
21675
|
var NcAlarmModeDelaysListSchema = zod.z.array(NcAlarmModeDelaysSchema).max(8).refine(uniqueModes, { message: "modeDelays: at most one entry per arm mode" });
|
|
21567
21676
|
/**
|
|
@@ -21573,7 +21682,10 @@ var NcAlarmModeDelaysEditSchema = zod.z.object({
|
|
|
21573
21682
|
mode: AlarmArmModeSchema,
|
|
21574
21683
|
exitDelaySec: NcAlarmDelaySecSchema.nullable().optional(),
|
|
21575
21684
|
entryDelaySec: NcAlarmDelaySecSchema.nullable().optional(),
|
|
21576
|
-
triggeredDurationSec: NcAlarmTriggeredSecSchema.nullable().optional()
|
|
21685
|
+
triggeredDurationSec: NcAlarmTriggeredSecSchema.nullable().optional(),
|
|
21686
|
+
postTriggeredAction: NcAlarmPostTriggeredActionSchema.nullable().optional(),
|
|
21687
|
+
/** Set a schedule, or `null` to clear (mode always allowed again). */
|
|
21688
|
+
schedule: NcScheduleSchema.nullable().optional()
|
|
21577
21689
|
});
|
|
21578
21690
|
var NcAlarmModeDelaysEditListSchema = zod.z.array(NcAlarmModeDelaysEditSchema).max(8).refine(uniqueModes, { message: "modeDelays: at most one edit per arm mode" });
|
|
21579
21691
|
/** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
|
|
@@ -21646,12 +21758,18 @@ var NcAlarmSettingsSchema = zod.z.object({
|
|
|
21646
21758
|
/** Grace period between a trigger and the alarm firing. 0 = immediate. */
|
|
21647
21759
|
entryDelaySec: NcAlarmDelaySecSchema,
|
|
21648
21760
|
/**
|
|
21649
|
-
* How long `triggered` lasts before
|
|
21650
|
-
*
|
|
21651
|
-
*
|
|
21761
|
+
* How long `triggered` lasts before {@link postTriggeredAction} runs.
|
|
21762
|
+
* Ignored when the action is `doNothing`. Historical name kept so older
|
|
21763
|
+
* clients still round-trip a number.
|
|
21652
21764
|
*/
|
|
21653
21765
|
triggeredDurationSec: NcAlarmTriggeredSecSchema,
|
|
21654
21766
|
/**
|
|
21767
|
+
* What happens when the triggered window ends. Absent on a blob older than
|
|
21768
|
+
* this field → derived from {@link triggeredDurationSec} (`>0` ⇒ rearmAfter,
|
|
21769
|
+
* else doNothing).
|
|
21770
|
+
*/
|
|
21771
|
+
postTriggeredAction: NcAlarmPostTriggeredActionSchema.optional(),
|
|
21772
|
+
/**
|
|
21655
21773
|
* Deprecated by D630 — every transition is announced. Parsed, never read;
|
|
21656
21774
|
* remove after one release. Optional so an older admin's patch (which still
|
|
21657
21775
|
* sends it) parses rather than failing the whole save.
|
|
@@ -36049,7 +36167,7 @@ var LocalInterfaceSchema = zod.z.object({
|
|
|
36049
36167
|
name: zod.z.string(),
|
|
36050
36168
|
family: zod.z.enum(["IPv4", "IPv6"]),
|
|
36051
36169
|
address: zod.z.string(),
|
|
36052
|
-
/** CIDR shorthand (e.g. `192.168.
|
|
36170
|
+
/** CIDR shorthand (e.g. `192.168.x.x/24`). Empty when OS doesn't expose. */
|
|
36053
36171
|
cidr: zod.z.string(),
|
|
36054
36172
|
/** OS netmask. Stable across calls so the SDK can hash on it. */
|
|
36055
36173
|
netmask: zod.z.string(),
|
|
@@ -36248,7 +36366,7 @@ var localNetworkCapability = {
|
|
|
36248
36366
|
* every client a second authority on a socket only the hub binds. A viewer
|
|
36249
36367
|
* configured with a port-less public URL (`https://camstack.example.top`)
|
|
36250
36368
|
* infers 443 from the scheme, asks with 443, and was handed
|
|
36251
|
-
* `https://192.168.
|
|
36369
|
+
* `https://192.168.x.x:443` for a hub listening on 4443. That candidate
|
|
36252
36370
|
* cannot ever answer, and losing its race reads in the log exactly like
|
|
36253
36371
|
* "the LAN was tried and it was slower" — so an operator sitting on his own
|
|
36254
36372
|
* WiFi stayed on the public tunnel for weeks, with the LAN candidate born
|
|
@@ -36701,7 +36819,7 @@ var MeshPeerSchema = zod.z.object({
|
|
|
36701
36819
|
tags: zod.z.array(zod.z.string()).readonly(),
|
|
36702
36820
|
/** True when the peer advertises itself as an exit-node candidate. */
|
|
36703
36821
|
exitNodeOption: zod.z.boolean(),
|
|
36704
|
-
/** Subnet routes the peer advertises (e.g. `["192.168.
|
|
36822
|
+
/** Subnet routes the peer advertises (e.g. `["192.168.x.x/24"]`). */
|
|
36705
36823
|
advertisedRoutes: zod.z.array(zod.z.string()).readonly(),
|
|
36706
36824
|
/** Owner account login (e.g. `foo@example.com`). Null for tagged peers. */
|
|
36707
36825
|
userLogin: zod.z.string().nullable(),
|
|
@@ -50118,6 +50236,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
50118
50236
|
addonId: null,
|
|
50119
50237
|
access: "view"
|
|
50120
50238
|
},
|
|
50239
|
+
"notificationOutput.getTarget": {
|
|
50240
|
+
capName: "notification-output",
|
|
50241
|
+
capScope: "system",
|
|
50242
|
+
addonId: null,
|
|
50243
|
+
access: "view"
|
|
50244
|
+
},
|
|
50121
50245
|
"notificationOutput.listTargetKinds": {
|
|
50122
50246
|
capName: "notification-output",
|
|
50123
50247
|
capScope: "system",
|
|
@@ -50130,6 +50254,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
50130
50254
|
addonId: null,
|
|
50131
50255
|
access: "view"
|
|
50132
50256
|
},
|
|
50257
|
+
"notificationOutput.probeTargetConfig": {
|
|
50258
|
+
capName: "notification-output",
|
|
50259
|
+
capScope: "system",
|
|
50260
|
+
addonId: null,
|
|
50261
|
+
access: "create"
|
|
50262
|
+
},
|
|
50133
50263
|
"notificationOutput.send": {
|
|
50134
50264
|
capName: "notification-output",
|
|
50135
50265
|
capScope: "system",
|
|
@@ -53839,6 +53969,7 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
53839
53969
|
access: "create"
|
|
53840
53970
|
}
|
|
53841
53971
|
});
|
|
53972
|
+
DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
|
|
53842
53973
|
DeviceFeature.BatteryOperated;
|
|
53843
53974
|
/**
|
|
53844
53975
|
* The vocabulary, in the order a picker offers it.
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_chunk = require("./chunk-Cek0wNdY.js");
|
|
3
|
-
const require_dist = require("./dist-
|
|
3
|
+
const require_dist = require("./dist-DeGPW01G.js");
|
|
4
4
|
const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
|
|
5
5
|
require("./builtins/alerts/index.js");
|
|
6
6
|
const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
|
|
@@ -31,7 +31,7 @@ require("./builtins/system-config/index.js");
|
|
|
31
31
|
const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
|
|
32
32
|
const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-ey4mbofz.js");
|
|
33
33
|
const require_tls$1 = require("./tls-ue_Xefmv.js");
|
|
34
|
-
const require_child_cap_dispatch = require("./child-cap-dispatch-
|
|
34
|
+
const require_child_cap_dispatch = require("./child-cap-dispatch-B_0-zpI6.js");
|
|
35
35
|
const require_resource_monitor = require("./resource-monitor-BgWGRxN5.js");
|
|
36
36
|
const require_custom_action_registry = require("./custom-action-registry-acBY3mHA.js");
|
|
37
37
|
let zod = require("zod");
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
|
|
2
|
-
import { $n as ReadinessRegistry, Bt as lifecycleJobSchema, D as METHOD_ACCESS_MAP, Dt as extractNestedAddonId, Ft as isObjectInput, Gt as looseSchema, It as isVoidInput, Jn as errMsg$1, Lt as kebabToCamel, M as RUNTIME_DEFAULTS, Mt as isArrayOutputSchema, Nt as isCollectionArrayMethod, Qn as DEVICE_STATUS_METHOD, U as addonSettingsCapability, Wt as logLevelAtMost, Xn as DATAPLANE_SECRET_HEADER$1, Zn as DEVICE_SETTINGS_CONTRIBUTION_METHODS, _r as scopeKey, an as procedureAuthKey, ar as createEvent, br as EventCategory$1, cr as expandCapMethods, en as objectInputDeclaresAddonId, er as ReadinessTimeoutError, gn as scopesAllowDeviceCap, gr as resolveCapMount, hn as scopesAllowAddon, hr as readinessKey, ir as asString$1, mr as parseJsonUnknown, nr as asJsonObject$1, or as emitDownForOwnedCaps, pn as resolveMethodAuth, pr as parseJsonObject, rr as asNumber, t as ALL_CAPABILITY_DEFINITIONS, tn as objectInputDeclaresRequiredDeviceId, w as LOG_LEVEL_RANK } from "./dist-
|
|
2
|
+
import { $n as ReadinessRegistry, Bt as lifecycleJobSchema, D as METHOD_ACCESS_MAP, Dt as extractNestedAddonId, Ft as isObjectInput, Gt as looseSchema, It as isVoidInput, Jn as errMsg$1, Lt as kebabToCamel, M as RUNTIME_DEFAULTS, Mt as isArrayOutputSchema, Nt as isCollectionArrayMethod, Qn as DEVICE_STATUS_METHOD, U as addonSettingsCapability, Wt as logLevelAtMost, Xn as DATAPLANE_SECRET_HEADER$1, Zn as DEVICE_SETTINGS_CONTRIBUTION_METHODS, _r as scopeKey, an as procedureAuthKey, ar as createEvent, br as EventCategory$1, cr as expandCapMethods, en as objectInputDeclaresAddonId, er as ReadinessTimeoutError, gn as scopesAllowDeviceCap, gr as resolveCapMount, hn as scopesAllowAddon, hr as readinessKey, ir as asString$1, mr as parseJsonUnknown, nr as asJsonObject$1, or as emitDownForOwnedCaps, pn as resolveMethodAuth, pr as parseJsonObject, rr as asNumber, t as ALL_CAPABILITY_DEFINITIONS, tn as objectInputDeclaresRequiredDeviceId, w as LOG_LEVEL_RANK } from "./dist-DADwBtU5.mjs";
|
|
3
3
|
import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
|
|
4
4
|
import "./builtins/alerts/index.mjs";
|
|
5
5
|
import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
|
|
@@ -30,7 +30,7 @@ import "./builtins/system-config/index.mjs";
|
|
|
30
30
|
import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
|
|
31
31
|
import { _ as ensureModel, a as createFileDataPlaneHandler, c as parseRangeHeader, d as ModelDownloadService, g as downloadModel, h as downloadFile, i as startEventLoopStallMonitor, l as parseTokenizedUrl, m as deleteModelFromDisk, n as STALL_TICK_MS, o as contentTypeFor, p as collectModelFiles, r as attributeStall, s as createAuthenticatedFileServer, t as STALL_REPORT_MS, u as resolveFilePath, v as fetchJson, x as isModelDownloaded, y as getModelFilePath } from "./event-loop-stall-monitor-EXjzIxDz.mjs";
|
|
32
32
|
import { C as registerLanHttpHandler, S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, b as bindPendingLanHttp, c as loadTlsCert, d as collectCertIdentity, f as CA_VALIDITY_DAYS, g as evaluateExistingCert, h as SERVER_AUTH_OID, i as writeExtraSans, l as reissueTlsLeaf, m as MAX_LEAF_VALIDITY_DAYS, n as readTlsAccessStatus, o as validateUploadedTls, p as LEAF_RENEWAL_WINDOW_DAYS, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, u as CA_COMMON_NAME, v as allFamiliesListenHost, x as closeLanHttp, y as applyLanHttp } from "./tls-DTlVWwAI.mjs";
|
|
33
|
-
import { $ as CapRouteError, $n as CAP_ACTION_UNLABELLED, $t as RUNNER_HEAP_WATCH_INTERVAL_MS, A as resolveHwAccel, An as OUTBOUND_QUEUE_COOLDOWN_MS, At as serializeTypedArrays, B as udsChildLogToWorkerEntry, Bn as SOCKET_QUEUE_TOP_N, Bt as createAddonPeerBytesFacility, C as getBrokerEventBus, Cn as DECISIVE_HEAP_SPACES, Ct as NATIVE_PROVIDER_SERVICE_INFIX, D as subscribePassthrough, Dn as heapSpaceField, Dt as capServiceName, E as setNodeEventInterest, En as formatHeapSpaces, Et as capBareAction, F as ipcParentLink, Fn as MESH_QUEUE_TOP_N, Ft as installManifestNativeDeps, G as UDS_NO_ROUTE_PREFIX, Gn as readSocketQueues, Gt as HEAP_RECLAIM_TRIGGER_MB, H as createUdsLoggerWithControl, Hn as createSocketPlaneReader, Ht as createAddonDataPlaneFacility, I as localProviderLink, In as createMeshQueueReader, It as resolveAddonClass, J as answerClaimedGetStatus, Jn as recordSocketFrame, Jt as HUB_MAIN_HEAP_WATCH_LABEL, K as afterWorkerOnlineAnnounce, Kn as EMPTY_SOCKET_DIRECTION, Kt as HEAP_WATCH_INTERVAL_MS, L as createParentUnownedCallHandler, Ln as formatMeshQueue, Lt as buildNpmChildEnv, M as brokerTransportLink, Mn as OUTBOUND_QUEUE_THRESHOLD_BYTES, Mt as CapabilityHandle, N as buildLinkChain, Nn as createOutboundQueueGate, Nt as CapabilityUnavailableError, O as AddonDepsManager, On as readHeapSpaces, Ot as parseCapAction, P as deviceCapResolverLink, Pn as formatOutboundQueueVerdict, Pt as copyBundledNativeModules, Q as CapRouteResolver, Qn as CAP_ACTION_OVERFLOW_LABEL, Qt as RSS_BUDGET_RELEASE_RATIO, R as createUdsEventBridge, Rn as EMPTY_SOCKET_PLANE_BASELINE, Rt as resolveNpmInvocation, S as clusterEventTopic, Sn as isArrayBufferCensusReport, St as validateProviderRegistrations, T as registerEventBusService, Tn as emitHeapDiagnosticReport, Tt as capActionSuffix, U as LocalChildClient, Un as diffSocketPlane, Ut as HEAP_RECLAIM_MIN_INTERVAL_MS, V as createUdsLogger, Vn as createSocketPlaneMeter, Vt as hostNodeIdOf, W as LocalChildRegistry, Wn as formatSocketPlane, Wt as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, X as AGENT_CAP_FWD_ACTION, Xn as socketDirectionBytes, Xt as HUB_RSS_BUDGET_ENV, Y as deviceOfGetStatus, Yn as sampleSocketDirection, Yt as HUB_MAIN_RSS_BUDGET_MB, Z as AGENT_CAP_FWD_SERVICE, Zn as socketDirectionMessages, Zt as RSS_BUDGET_REANNOUNCE_MIN_MS, _ as getWorkerDeviceRegistry, _n as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, a as reapProcessGroup, an as createV8Reclaimer, ar as EVENT_PLANE_TOP_N, at as __resetCapUsageRegistryForTests, b as setHubConnected, bn as createInspectorArrayBufferCensus, c as runnerOwnsProcessGroup, cn as nextRssBudgetState, cr as diffEventPlane, ct as UdsLocalTransportClient, d as summarizeMembers, dn as shouldReclaim, dt as PeerAnsweredError, en as RUNNER_RSS_BUDGET_ENV, er as EMPTY_CAP_ACTION_READING, et as classifyCapRoute, f as installManifestSystemDeps, fn as startHeapWatch, ft as localEndpointPath, g as createUdsAddonContext, gn as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, gt as createBrokerDeviceManagerApi, h as createAddonContext, hn as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ht as buildNativeCapProxy, in as createLoopDelayMeter, ir as diffCapActionCensus, it as PARENT_ROUTED_PROVIDER_ADDON_ID, j as brokerCallForCap, jn as OUTBOUND_QUEUE_SUSTAIN_MS, jt as DeviceRegistry, k as createKernelHwAccel, kn as selectReportedSpaces, kt as deserializeTypedArrays, l as signalAllRunnerGroups, ln as parseRssBudgetMb, lr as formatEventPlane, lt as UdsLocalTransportServer, m as adaptBrokerToCluster, mn as strandedMb, mt as encodeFrame, nn as buildHeapSample, nr as capActionLabel, nt as readMoleculerFanoutMode, o as registerRunnerGroup, on as describeRss, or as createEventPlaneMeter, ot as getCapUsageRegistry, p as installManifestPythonDeps, pn as startRunnerHeapWatch, pt as FrameDecoder, q as GET_STATUS_METHOD, qn as createSocketDirectionCounters, qt as HEAP_WATCH_WARN_RATIO, r as defaultProcessGroupOps, rn as createDeferredHeapWatchSink, rr as createCapActionCensus, rt as CapUsageRegistry, s as releaseRunnerGroup, sn as hubMainRssBudget, sr as createEventPlaneReader, st as createLocalTransport, t as CAP_METHOD_NOT_IMPLEMENTED, tn as ZERO_LOOP_DELAY, tr as MAX_CAP_ACTIONS_PER_PEER, tt as callWithServiceDiscovery, un as reclaimIntervalMs, ut as SocketChannel, v as getOrInitReadinessRegistry, vn as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, w as getMoleculerEventStats, wn as HEAP_SPACE_REPORT_MIN_MB, wt as capActionName, x as EVENT_TOPIC_PREFIX, xn as formatArrayBufferCensus, xt as createAddonService, y as getOrInitReadinessRegistryForClient, yn as createArrayBufferCensusGate, yt as mountNativeCapService, z as createUdsEventBus, zn as SOCKET_PLANE_TOP_N, zt as runNpm } from "./child-cap-dispatch-
|
|
33
|
+
import { $ as CapRouteError, $n as CAP_ACTION_UNLABELLED, $t as RUNNER_HEAP_WATCH_INTERVAL_MS, A as resolveHwAccel, An as OUTBOUND_QUEUE_COOLDOWN_MS, At as serializeTypedArrays, B as udsChildLogToWorkerEntry, Bn as SOCKET_QUEUE_TOP_N, Bt as createAddonPeerBytesFacility, C as getBrokerEventBus, Cn as DECISIVE_HEAP_SPACES, Ct as NATIVE_PROVIDER_SERVICE_INFIX, D as subscribePassthrough, Dn as heapSpaceField, Dt as capServiceName, E as setNodeEventInterest, En as formatHeapSpaces, Et as capBareAction, F as ipcParentLink, Fn as MESH_QUEUE_TOP_N, Ft as installManifestNativeDeps, G as UDS_NO_ROUTE_PREFIX, Gn as readSocketQueues, Gt as HEAP_RECLAIM_TRIGGER_MB, H as createUdsLoggerWithControl, Hn as createSocketPlaneReader, Ht as createAddonDataPlaneFacility, I as localProviderLink, In as createMeshQueueReader, It as resolveAddonClass, J as answerClaimedGetStatus, Jn as recordSocketFrame, Jt as HUB_MAIN_HEAP_WATCH_LABEL, K as afterWorkerOnlineAnnounce, Kn as EMPTY_SOCKET_DIRECTION, Kt as HEAP_WATCH_INTERVAL_MS, L as createParentUnownedCallHandler, Ln as formatMeshQueue, Lt as buildNpmChildEnv, M as brokerTransportLink, Mn as OUTBOUND_QUEUE_THRESHOLD_BYTES, Mt as CapabilityHandle, N as buildLinkChain, Nn as createOutboundQueueGate, Nt as CapabilityUnavailableError, O as AddonDepsManager, On as readHeapSpaces, Ot as parseCapAction, P as deviceCapResolverLink, Pn as formatOutboundQueueVerdict, Pt as copyBundledNativeModules, Q as CapRouteResolver, Qn as CAP_ACTION_OVERFLOW_LABEL, Qt as RSS_BUDGET_RELEASE_RATIO, R as createUdsEventBridge, Rn as EMPTY_SOCKET_PLANE_BASELINE, Rt as resolveNpmInvocation, S as clusterEventTopic, Sn as isArrayBufferCensusReport, St as validateProviderRegistrations, T as registerEventBusService, Tn as emitHeapDiagnosticReport, Tt as capActionSuffix, U as LocalChildClient, Un as diffSocketPlane, Ut as HEAP_RECLAIM_MIN_INTERVAL_MS, V as createUdsLogger, Vn as createSocketPlaneMeter, Vt as hostNodeIdOf, W as LocalChildRegistry, Wn as formatSocketPlane, Wt as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, X as AGENT_CAP_FWD_ACTION, Xn as socketDirectionBytes, Xt as HUB_RSS_BUDGET_ENV, Y as deviceOfGetStatus, Yn as sampleSocketDirection, Yt as HUB_MAIN_RSS_BUDGET_MB, Z as AGENT_CAP_FWD_SERVICE, Zn as socketDirectionMessages, Zt as RSS_BUDGET_REANNOUNCE_MIN_MS, _ as getWorkerDeviceRegistry, _n as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, a as reapProcessGroup, an as createV8Reclaimer, ar as EVENT_PLANE_TOP_N, at as __resetCapUsageRegistryForTests, b as setHubConnected, bn as createInspectorArrayBufferCensus, c as runnerOwnsProcessGroup, cn as nextRssBudgetState, cr as diffEventPlane, ct as UdsLocalTransportClient, d as summarizeMembers, dn as shouldReclaim, dt as PeerAnsweredError, en as RUNNER_RSS_BUDGET_ENV, er as EMPTY_CAP_ACTION_READING, et as classifyCapRoute, f as installManifestSystemDeps, fn as startHeapWatch, ft as localEndpointPath, g as createUdsAddonContext, gn as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, gt as createBrokerDeviceManagerApi, h as createAddonContext, hn as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ht as buildNativeCapProxy, in as createLoopDelayMeter, ir as diffCapActionCensus, it as PARENT_ROUTED_PROVIDER_ADDON_ID, j as brokerCallForCap, jn as OUTBOUND_QUEUE_SUSTAIN_MS, jt as DeviceRegistry, k as createKernelHwAccel, kn as selectReportedSpaces, kt as deserializeTypedArrays, l as signalAllRunnerGroups, ln as parseRssBudgetMb, lr as formatEventPlane, lt as UdsLocalTransportServer, m as adaptBrokerToCluster, mn as strandedMb, mt as encodeFrame, nn as buildHeapSample, nr as capActionLabel, nt as readMoleculerFanoutMode, o as registerRunnerGroup, on as describeRss, or as createEventPlaneMeter, ot as getCapUsageRegistry, p as installManifestPythonDeps, pn as startRunnerHeapWatch, pt as FrameDecoder, q as GET_STATUS_METHOD, qn as createSocketDirectionCounters, qt as HEAP_WATCH_WARN_RATIO, r as defaultProcessGroupOps, rn as createDeferredHeapWatchSink, rr as createCapActionCensus, rt as CapUsageRegistry, s as releaseRunnerGroup, sn as hubMainRssBudget, sr as createEventPlaneReader, st as createLocalTransport, t as CAP_METHOD_NOT_IMPLEMENTED, tn as ZERO_LOOP_DELAY, tr as MAX_CAP_ACTIONS_PER_PEER, tt as callWithServiceDiscovery, un as reclaimIntervalMs, ut as SocketChannel, v as getOrInitReadinessRegistry, vn as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, w as getMoleculerEventStats, wn as HEAP_SPACE_REPORT_MIN_MB, wt as capActionName, x as EVENT_TOPIC_PREFIX, xn as formatArrayBufferCensus, xt as createAddonService, y as getOrInitReadinessRegistryForClient, yn as createArrayBufferCensusGate, yt as mountNativeCapService, z as createUdsEventBus, zn as SOCKET_PLANE_TOP_N, zt as runNpm } from "./child-cap-dispatch-BAfa6tjj.mjs";
|
|
34
34
|
import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-B2WZ8_q9.mjs";
|
|
35
35
|
import { t as CustomActionRegistry } from "./custom-action-registry-B4Cf4O_X.mjs";
|
|
36
36
|
import { z } from "zod";
|