@camstack/addon-provider-onvif 1.2.143 → 1.2.144
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.js +114 -65
- package/dist/addon.mjs +114 -65
- package/i18n/en.json +0 -2
- package/i18n/it.json +0 -2
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
//#region \0rolldown/runtime.js
|
|
3
3
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
4
4
|
//#endregion
|
|
5
|
-
//#region ../types/dist/event-category-
|
|
5
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
6
6
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
7
7
|
EventCategory["SystemBoot"] = "system.boot";
|
|
8
8
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -319,6 +319,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
319
319
|
*/
|
|
320
320
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
321
321
|
/**
|
|
322
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
323
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
324
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
325
|
+
* {@link PipelineMotionCalm}.
|
|
326
|
+
*/
|
|
327
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
328
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
329
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
330
|
+
/**
|
|
322
331
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
323
332
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
324
333
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5425,7 +5434,7 @@ var ZodIssueCode = {
|
|
|
5425
5434
|
var ZodFirstPartyTypeKind;
|
|
5426
5435
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5427
5436
|
//#endregion
|
|
5428
|
-
//#region ../types/dist/sleep-
|
|
5437
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5429
5438
|
/**
|
|
5430
5439
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5431
5440
|
* window to float samples (D455).
|
|
@@ -7887,7 +7896,7 @@ var EntryDescriptorSchema = object({
|
|
|
7887
7896
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7888
7897
|
fields: record(string(), unknown())
|
|
7889
7898
|
}).strict();
|
|
7890
|
-
/** What crosses the wire
|
|
7899
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7891
7900
|
var RecordKindDeclarationSchema = object({
|
|
7892
7901
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7893
7902
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7906,14 +7915,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7906
7915
|
secretPaths: array(string().min(1)).default([]),
|
|
7907
7916
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7908
7917
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7909
|
-
/**
|
|
7910
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7911
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7912
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7913
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7914
|
-
* removal still sends it. Never set it.
|
|
7915
|
-
*/
|
|
7916
|
-
adoptsFrom: string().min(1).optional(),
|
|
7917
7918
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7918
7919
|
transactFamily: string().min(1).optional(),
|
|
7919
7920
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12587,17 +12588,6 @@ object({
|
|
|
12587
12588
|
createdAt: number(),
|
|
12588
12589
|
updatedAt: number()
|
|
12589
12590
|
});
|
|
12590
|
-
object({
|
|
12591
|
-
id: string(),
|
|
12592
|
-
label: string(),
|
|
12593
|
-
isAdmin: boolean().default(false),
|
|
12594
|
-
allowedProviders: AllowedProviderSchema,
|
|
12595
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12596
|
-
tokenHash: string(),
|
|
12597
|
-
tokenPrefix: string(),
|
|
12598
|
-
createdAt: number(),
|
|
12599
|
-
lastUsedAt: number().optional()
|
|
12600
|
-
});
|
|
12601
12591
|
object({
|
|
12602
12592
|
id: string(),
|
|
12603
12593
|
userId: string(),
|
|
@@ -16473,16 +16463,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16473
16463
|
var DeclareKindResultSchema = object({
|
|
16474
16464
|
kindId: number().int(),
|
|
16475
16465
|
state: RecordKindStateSchema,
|
|
16476
|
-
createdIndexes: array(string())
|
|
16477
|
-
/**
|
|
16478
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16479
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16480
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16481
|
-
*/
|
|
16482
|
-
adoptionPending: _null()
|
|
16466
|
+
createdIndexes: array(string())
|
|
16483
16467
|
});
|
|
16484
16468
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16485
16469
|
var SecretRefsList = array(string());
|
|
16470
|
+
/**
|
|
16471
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16472
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16473
|
+
*/
|
|
16474
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16475
|
+
object({
|
|
16476
|
+
op: literal("put"),
|
|
16477
|
+
kind: RecordKindNameSchema,
|
|
16478
|
+
record: RecordInputSchema,
|
|
16479
|
+
ifRev: number().int().min(0).optional()
|
|
16480
|
+
}),
|
|
16481
|
+
object({
|
|
16482
|
+
op: literal("patch"),
|
|
16483
|
+
kind: RecordKindNameSchema,
|
|
16484
|
+
id: RecordIdSchema,
|
|
16485
|
+
data: RecordBodySchema,
|
|
16486
|
+
at: number().int().nullable().optional(),
|
|
16487
|
+
expiresAt: number().int().nullable().optional(),
|
|
16488
|
+
ifRev: number().int().min(1).optional()
|
|
16489
|
+
}),
|
|
16490
|
+
object({
|
|
16491
|
+
op: literal("delete"),
|
|
16492
|
+
kind: RecordKindNameSchema,
|
|
16493
|
+
id: RecordIdSchema
|
|
16494
|
+
})
|
|
16495
|
+
]);
|
|
16486
16496
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16487
16497
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16488
16498
|
kind: "mutation",
|
|
@@ -16589,6 +16599,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16589
16599
|
}), {
|
|
16590
16600
|
kind: "mutation",
|
|
16591
16601
|
auth: "admin"
|
|
16602
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16603
|
+
results: array(object({
|
|
16604
|
+
rev: number().int().nullable(),
|
|
16605
|
+
deleted: boolean()
|
|
16606
|
+
})),
|
|
16607
|
+
releasedRefs: SecretRefsList,
|
|
16608
|
+
secretRefs: SecretRefsList
|
|
16609
|
+
}), {
|
|
16610
|
+
kind: "mutation",
|
|
16611
|
+
auth: "admin"
|
|
16592
16612
|
}), method(object({
|
|
16593
16613
|
deviceId: number().int(),
|
|
16594
16614
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42141,9 +42161,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42141
42161
|
"node-updating",
|
|
42142
42162
|
"node-inference-unavailable",
|
|
42143
42163
|
"detection-blind",
|
|
42164
|
+
"motion-noisy",
|
|
42165
|
+
"motion-calm",
|
|
42144
42166
|
"recording-stalled",
|
|
42145
42167
|
"recording-healthy",
|
|
42146
42168
|
"recording-degraded",
|
|
42169
|
+
"device-attention-required",
|
|
42170
|
+
"device-attention-resolved",
|
|
42147
42171
|
"storage-location-low",
|
|
42148
42172
|
"storage-location-critical",
|
|
42149
42173
|
"storage-location-ok",
|
|
@@ -54704,6 +54728,16 @@ object({
|
|
|
54704
54728
|
powerState: string().nullable(),
|
|
54705
54729
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54706
54730
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54731
|
+
/**
|
|
54732
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54733
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54734
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54735
|
+
*/
|
|
54736
|
+
filterCleaningDue: boolean().nullable(),
|
|
54737
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54738
|
+
machineCareDue: boolean().nullable(),
|
|
54739
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54740
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54707
54741
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54708
54742
|
halfLoad: boolean().nullable(),
|
|
54709
54743
|
hygienePlus: boolean().nullable(),
|
|
@@ -61413,16 +61447,6 @@ var UpdateUserInputSchema = object({
|
|
|
61413
61447
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61414
61448
|
scopes: array(TokenScopeSchema).optional()
|
|
61415
61449
|
});
|
|
61416
|
-
var ApiKeySummarySchema = object({
|
|
61417
|
-
id: string(),
|
|
61418
|
-
label: string(),
|
|
61419
|
-
isAdmin: boolean().default(false),
|
|
61420
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61421
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61422
|
-
tokenPrefix: string(),
|
|
61423
|
-
createdAt: number(),
|
|
61424
|
-
lastUsedAt: number().optional()
|
|
61425
|
-
});
|
|
61426
61450
|
var OauthSessionSummarySchema = object({
|
|
61427
61451
|
id: string(),
|
|
61428
61452
|
userId: string(),
|
|
@@ -61444,8 +61468,7 @@ var TotpStatusSchema = object({
|
|
|
61444
61468
|
confirmedAt: number().nullable()
|
|
61445
61469
|
});
|
|
61446
61470
|
/**
|
|
61447
|
-
* user-management — singleton capability for user accounts
|
|
61448
|
-
* legacy API-key rows.
|
|
61471
|
+
* user-management — singleton capability for user accounts.
|
|
61449
61472
|
*
|
|
61450
61473
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61451
61474
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61501,10 +61524,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61501
61524
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61502
61525
|
kind: "mutation",
|
|
61503
61526
|
access: "view"
|
|
61504
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61505
|
-
kind: "mutation",
|
|
61506
|
-
auth: "admin",
|
|
61507
|
-
access: "delete"
|
|
61508
61527
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61509
61528
|
kind: "mutation",
|
|
61510
61529
|
auth: "admin",
|
|
@@ -69842,6 +69861,12 @@ Object.freeze({
|
|
|
69842
69861
|
addonId: null,
|
|
69843
69862
|
access: "view"
|
|
69844
69863
|
},
|
|
69864
|
+
"records.transact": {
|
|
69865
|
+
capName: "records",
|
|
69866
|
+
capScope: "system",
|
|
69867
|
+
addonId: null,
|
|
69868
|
+
access: "create"
|
|
69869
|
+
},
|
|
69845
69870
|
"sceneMonitor.captureReference": {
|
|
69846
69871
|
capName: "scene-monitor",
|
|
69847
69872
|
capScope: "device",
|
|
@@ -71174,12 +71199,6 @@ Object.freeze({
|
|
|
71174
71199
|
addonId: null,
|
|
71175
71200
|
access: "view"
|
|
71176
71201
|
},
|
|
71177
|
-
"userManagement.listApiKeys": {
|
|
71178
|
-
capName: "user-management",
|
|
71179
|
-
capScope: "system",
|
|
71180
|
-
addonId: null,
|
|
71181
|
-
access: "view"
|
|
71182
|
-
},
|
|
71183
71202
|
"userManagement.listExternalIdentities": {
|
|
71184
71203
|
capName: "user-management",
|
|
71185
71204
|
capScope: "system",
|
|
@@ -71234,12 +71253,6 @@ Object.freeze({
|
|
|
71234
71253
|
addonId: null,
|
|
71235
71254
|
access: "create"
|
|
71236
71255
|
},
|
|
71237
|
-
"userManagement.revokeApiKey": {
|
|
71238
|
-
capName: "user-management",
|
|
71239
|
-
capScope: "system",
|
|
71240
|
-
addonId: null,
|
|
71241
|
-
access: "delete"
|
|
71242
|
-
},
|
|
71243
71256
|
"userManagement.revokeOauthSession": {
|
|
71244
71257
|
capName: "user-management",
|
|
71245
71258
|
capScope: "system",
|
|
@@ -74670,9 +74683,13 @@ new Map(Object.entries({
|
|
|
74670
74683
|
"stream-online": "device-events",
|
|
74671
74684
|
"stream-offline": "device-events",
|
|
74672
74685
|
"detection-blind": "device-events",
|
|
74686
|
+
"motion-noisy": "device-events",
|
|
74687
|
+
"motion-calm": "device-events",
|
|
74673
74688
|
"recording-stalled": "device-events",
|
|
74674
74689
|
"recording-healthy": "device-events",
|
|
74675
74690
|
"recording-degraded": "device-events",
|
|
74691
|
+
"device-attention-required": "device-events",
|
|
74692
|
+
"device-attention-resolved": "device-events",
|
|
74676
74693
|
"node-online": "system",
|
|
74677
74694
|
"node-offline": "system",
|
|
74678
74695
|
"node-restarting": "system",
|
|
@@ -74755,6 +74772,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74755
74772
|
label: "Detecting nothing",
|
|
74756
74773
|
kinds: ["detection-blind"]
|
|
74757
74774
|
},
|
|
74775
|
+
{
|
|
74776
|
+
id: "motion-noise",
|
|
74777
|
+
family: "device-events",
|
|
74778
|
+
label: "Motion without a subject",
|
|
74779
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74780
|
+
},
|
|
74758
74781
|
{
|
|
74759
74782
|
id: "recording",
|
|
74760
74783
|
family: "device-events",
|
|
@@ -74765,6 +74788,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74765
74788
|
"recording-degraded"
|
|
74766
74789
|
]
|
|
74767
74790
|
},
|
|
74791
|
+
{
|
|
74792
|
+
id: "device-attention",
|
|
74793
|
+
family: "device-events",
|
|
74794
|
+
label: "Needs attention",
|
|
74795
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74796
|
+
},
|
|
74768
74797
|
{
|
|
74769
74798
|
id: "nodes",
|
|
74770
74799
|
family: "system",
|
|
@@ -74904,6 +74933,7 @@ var ALERT_EPISODE = [
|
|
|
74904
74933
|
"alert-error",
|
|
74905
74934
|
"alert-critical-resolved"
|
|
74906
74935
|
];
|
|
74936
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74907
74937
|
var UPDATES = [
|
|
74908
74938
|
"addon-update-available",
|
|
74909
74939
|
"server-update-available",
|
|
@@ -74933,9 +74963,12 @@ var DEVICE_EVENTS = [
|
|
|
74933
74963
|
"stream-online",
|
|
74934
74964
|
"stream-offline",
|
|
74935
74965
|
"detection-blind",
|
|
74966
|
+
"motion-noisy",
|
|
74967
|
+
"motion-calm",
|
|
74936
74968
|
"recording-stalled",
|
|
74937
74969
|
"recording-healthy",
|
|
74938
74970
|
"recording-degraded",
|
|
74971
|
+
...DEVICE_ATTENTION,
|
|
74939
74972
|
...ALARM
|
|
74940
74973
|
];
|
|
74941
74974
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -75103,7 +75136,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
75103
75136
|
[...RULE_TEXT],
|
|
75104
75137
|
[...RULE_TEXT],
|
|
75105
75138
|
[...RULE_TEXT],
|
|
75106
|
-
|
|
75139
|
+
[...RULE_TEXT],
|
|
75140
|
+
[...RULE_TEXT],
|
|
75141
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75107
75142
|
[...RULE_TEXT],
|
|
75108
75143
|
[...RULE_TEXT],
|
|
75109
75144
|
[...RULE_TEXT],
|
|
@@ -75125,11 +75160,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
75125
75160
|
[...RULE_TEXT],
|
|
75126
75161
|
[...RULE_TEXT],
|
|
75127
75162
|
[...RULE_TEXT],
|
|
75163
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75128
75164
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75165
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75129
75166
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75130
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75131
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75132
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75167
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75133
75168
|
[...RULE_TEXT],
|
|
75134
75169
|
[...RULE_TEXT],
|
|
75135
75170
|
[...RULE_TEXT],
|
|
@@ -75205,6 +75240,15 @@ new Map([
|
|
|
75205
75240
|
snapshotLabel: "Tanks low or full now",
|
|
75206
75241
|
snapshotSection: "tanks"
|
|
75207
75242
|
},
|
|
75243
|
+
{
|
|
75244
|
+
id: "motion-noise",
|
|
75245
|
+
family: "device-events",
|
|
75246
|
+
label: "Motion without a subject (constant / calm again)",
|
|
75247
|
+
bad: ["motion-noisy"],
|
|
75248
|
+
recovery: ["motion-calm"],
|
|
75249
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
75250
|
+
snapshotSection: null
|
|
75251
|
+
},
|
|
75208
75252
|
{
|
|
75209
75253
|
id: "recording-health",
|
|
75210
75254
|
family: "device-events",
|
|
@@ -75214,6 +75258,15 @@ new Map([
|
|
|
75214
75258
|
snapshotLabel: "Recordings stalled now",
|
|
75215
75259
|
snapshotSection: null
|
|
75216
75260
|
},
|
|
75261
|
+
{
|
|
75262
|
+
id: "device-attention",
|
|
75263
|
+
family: "device-events",
|
|
75264
|
+
label: "Device needs attention (raised / resolved)",
|
|
75265
|
+
bad: ["device-attention-required"],
|
|
75266
|
+
recovery: ["device-attention-resolved"],
|
|
75267
|
+
snapshotLabel: "Devices needing attention now",
|
|
75268
|
+
snapshotSection: null
|
|
75269
|
+
},
|
|
75217
75270
|
{
|
|
75218
75271
|
id: "node-connectivity",
|
|
75219
75272
|
family: "system",
|
|
@@ -85248,8 +85301,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85248
85301
|
id: "discovery",
|
|
85249
85302
|
title: "ONVIF Discovery",
|
|
85250
85303
|
titleKey: "provider-onvif:globalSettings.s_discovery.title",
|
|
85251
|
-
description: "Find ONVIF cameras on the local network when you add a device",
|
|
85252
|
-
descriptionKey: "provider-onvif:globalSettings.s_discovery.description",
|
|
85253
85304
|
columns: 2,
|
|
85254
85305
|
fields: [{
|
|
85255
85306
|
type: "number",
|
|
@@ -85265,8 +85316,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85265
85316
|
id: "credentials",
|
|
85266
85317
|
title: "Default Credentials",
|
|
85267
85318
|
titleKey: "provider-onvif:globalSettings.s_credentials.title",
|
|
85268
|
-
description: "Default credentials for discovered cameras",
|
|
85269
|
-
descriptionKey: "provider-onvif:globalSettings.s_credentials.description",
|
|
85270
85319
|
columns: 2,
|
|
85271
85320
|
fields: [{
|
|
85272
85321
|
type: "text",
|
package/dist/addon.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { createRequire } from "node:module";
|
|
|
3
3
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
4
4
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
5
5
|
//#endregion
|
|
6
|
-
//#region ../types/dist/event-category-
|
|
6
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
7
7
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
8
8
|
EventCategory["SystemBoot"] = "system.boot";
|
|
9
9
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -320,6 +320,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
320
320
|
*/
|
|
321
321
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
322
322
|
/**
|
|
323
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
324
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
325
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
326
|
+
* {@link PipelineMotionCalm}.
|
|
327
|
+
*/
|
|
328
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
329
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
330
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
331
|
+
/**
|
|
323
332
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
324
333
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
325
334
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5426,7 +5435,7 @@ var ZodIssueCode = {
|
|
|
5426
5435
|
var ZodFirstPartyTypeKind;
|
|
5427
5436
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5428
5437
|
//#endregion
|
|
5429
|
-
//#region ../types/dist/sleep-
|
|
5438
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5430
5439
|
/**
|
|
5431
5440
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5432
5441
|
* window to float samples (D455).
|
|
@@ -7888,7 +7897,7 @@ var EntryDescriptorSchema = object({
|
|
|
7888
7897
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7889
7898
|
fields: record(string(), unknown())
|
|
7890
7899
|
}).strict();
|
|
7891
|
-
/** What crosses the wire
|
|
7900
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7892
7901
|
var RecordKindDeclarationSchema = object({
|
|
7893
7902
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7894
7903
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7907,14 +7916,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7907
7916
|
secretPaths: array(string().min(1)).default([]),
|
|
7908
7917
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7909
7918
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7910
|
-
/**
|
|
7911
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7912
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7913
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7914
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7915
|
-
* removal still sends it. Never set it.
|
|
7916
|
-
*/
|
|
7917
|
-
adoptsFrom: string().min(1).optional(),
|
|
7918
7919
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7919
7920
|
transactFamily: string().min(1).optional(),
|
|
7920
7921
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12588,17 +12589,6 @@ object({
|
|
|
12588
12589
|
createdAt: number(),
|
|
12589
12590
|
updatedAt: number()
|
|
12590
12591
|
});
|
|
12591
|
-
object({
|
|
12592
|
-
id: string(),
|
|
12593
|
-
label: string(),
|
|
12594
|
-
isAdmin: boolean().default(false),
|
|
12595
|
-
allowedProviders: AllowedProviderSchema,
|
|
12596
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12597
|
-
tokenHash: string(),
|
|
12598
|
-
tokenPrefix: string(),
|
|
12599
|
-
createdAt: number(),
|
|
12600
|
-
lastUsedAt: number().optional()
|
|
12601
|
-
});
|
|
12602
12592
|
object({
|
|
12603
12593
|
id: string(),
|
|
12604
12594
|
userId: string(),
|
|
@@ -16474,16 +16464,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16474
16464
|
var DeclareKindResultSchema = object({
|
|
16475
16465
|
kindId: number().int(),
|
|
16476
16466
|
state: RecordKindStateSchema,
|
|
16477
|
-
createdIndexes: array(string())
|
|
16478
|
-
/**
|
|
16479
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16480
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16481
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16482
|
-
*/
|
|
16483
|
-
adoptionPending: _null()
|
|
16467
|
+
createdIndexes: array(string())
|
|
16484
16468
|
});
|
|
16485
16469
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16486
16470
|
var SecretRefsList = array(string());
|
|
16471
|
+
/**
|
|
16472
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16473
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16474
|
+
*/
|
|
16475
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16476
|
+
object({
|
|
16477
|
+
op: literal("put"),
|
|
16478
|
+
kind: RecordKindNameSchema,
|
|
16479
|
+
record: RecordInputSchema,
|
|
16480
|
+
ifRev: number().int().min(0).optional()
|
|
16481
|
+
}),
|
|
16482
|
+
object({
|
|
16483
|
+
op: literal("patch"),
|
|
16484
|
+
kind: RecordKindNameSchema,
|
|
16485
|
+
id: RecordIdSchema,
|
|
16486
|
+
data: RecordBodySchema,
|
|
16487
|
+
at: number().int().nullable().optional(),
|
|
16488
|
+
expiresAt: number().int().nullable().optional(),
|
|
16489
|
+
ifRev: number().int().min(1).optional()
|
|
16490
|
+
}),
|
|
16491
|
+
object({
|
|
16492
|
+
op: literal("delete"),
|
|
16493
|
+
kind: RecordKindNameSchema,
|
|
16494
|
+
id: RecordIdSchema
|
|
16495
|
+
})
|
|
16496
|
+
]);
|
|
16487
16497
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16488
16498
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16489
16499
|
kind: "mutation",
|
|
@@ -16590,6 +16600,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16590
16600
|
}), {
|
|
16591
16601
|
kind: "mutation",
|
|
16592
16602
|
auth: "admin"
|
|
16603
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16604
|
+
results: array(object({
|
|
16605
|
+
rev: number().int().nullable(),
|
|
16606
|
+
deleted: boolean()
|
|
16607
|
+
})),
|
|
16608
|
+
releasedRefs: SecretRefsList,
|
|
16609
|
+
secretRefs: SecretRefsList
|
|
16610
|
+
}), {
|
|
16611
|
+
kind: "mutation",
|
|
16612
|
+
auth: "admin"
|
|
16593
16613
|
}), method(object({
|
|
16594
16614
|
deviceId: number().int(),
|
|
16595
16615
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42142,9 +42162,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42142
42162
|
"node-updating",
|
|
42143
42163
|
"node-inference-unavailable",
|
|
42144
42164
|
"detection-blind",
|
|
42165
|
+
"motion-noisy",
|
|
42166
|
+
"motion-calm",
|
|
42145
42167
|
"recording-stalled",
|
|
42146
42168
|
"recording-healthy",
|
|
42147
42169
|
"recording-degraded",
|
|
42170
|
+
"device-attention-required",
|
|
42171
|
+
"device-attention-resolved",
|
|
42148
42172
|
"storage-location-low",
|
|
42149
42173
|
"storage-location-critical",
|
|
42150
42174
|
"storage-location-ok",
|
|
@@ -54705,6 +54729,16 @@ object({
|
|
|
54705
54729
|
powerState: string().nullable(),
|
|
54706
54730
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54707
54731
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54732
|
+
/**
|
|
54733
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
54734
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
54735
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
54736
|
+
*/
|
|
54737
|
+
filterCleaningDue: boolean().nullable(),
|
|
54738
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
54739
|
+
machineCareDue: boolean().nullable(),
|
|
54740
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
54741
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
54708
54742
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54709
54743
|
halfLoad: boolean().nullable(),
|
|
54710
54744
|
hygienePlus: boolean().nullable(),
|
|
@@ -61414,16 +61448,6 @@ var UpdateUserInputSchema = object({
|
|
|
61414
61448
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61415
61449
|
scopes: array(TokenScopeSchema).optional()
|
|
61416
61450
|
});
|
|
61417
|
-
var ApiKeySummarySchema = object({
|
|
61418
|
-
id: string(),
|
|
61419
|
-
label: string(),
|
|
61420
|
-
isAdmin: boolean().default(false),
|
|
61421
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61422
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61423
|
-
tokenPrefix: string(),
|
|
61424
|
-
createdAt: number(),
|
|
61425
|
-
lastUsedAt: number().optional()
|
|
61426
|
-
});
|
|
61427
61451
|
var OauthSessionSummarySchema = object({
|
|
61428
61452
|
id: string(),
|
|
61429
61453
|
userId: string(),
|
|
@@ -61445,8 +61469,7 @@ var TotpStatusSchema = object({
|
|
|
61445
61469
|
confirmedAt: number().nullable()
|
|
61446
61470
|
});
|
|
61447
61471
|
/**
|
|
61448
|
-
* user-management — singleton capability for user accounts
|
|
61449
|
-
* legacy API-key rows.
|
|
61472
|
+
* user-management — singleton capability for user accounts.
|
|
61450
61473
|
*
|
|
61451
61474
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61452
61475
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61502,10 +61525,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61502
61525
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61503
61526
|
kind: "mutation",
|
|
61504
61527
|
access: "view"
|
|
61505
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61506
|
-
kind: "mutation",
|
|
61507
|
-
auth: "admin",
|
|
61508
|
-
access: "delete"
|
|
61509
61528
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61510
61529
|
kind: "mutation",
|
|
61511
61530
|
auth: "admin",
|
|
@@ -69843,6 +69862,12 @@ Object.freeze({
|
|
|
69843
69862
|
addonId: null,
|
|
69844
69863
|
access: "view"
|
|
69845
69864
|
},
|
|
69865
|
+
"records.transact": {
|
|
69866
|
+
capName: "records",
|
|
69867
|
+
capScope: "system",
|
|
69868
|
+
addonId: null,
|
|
69869
|
+
access: "create"
|
|
69870
|
+
},
|
|
69846
69871
|
"sceneMonitor.captureReference": {
|
|
69847
69872
|
capName: "scene-monitor",
|
|
69848
69873
|
capScope: "device",
|
|
@@ -71175,12 +71200,6 @@ Object.freeze({
|
|
|
71175
71200
|
addonId: null,
|
|
71176
71201
|
access: "view"
|
|
71177
71202
|
},
|
|
71178
|
-
"userManagement.listApiKeys": {
|
|
71179
|
-
capName: "user-management",
|
|
71180
|
-
capScope: "system",
|
|
71181
|
-
addonId: null,
|
|
71182
|
-
access: "view"
|
|
71183
|
-
},
|
|
71184
71203
|
"userManagement.listExternalIdentities": {
|
|
71185
71204
|
capName: "user-management",
|
|
71186
71205
|
capScope: "system",
|
|
@@ -71235,12 +71254,6 @@ Object.freeze({
|
|
|
71235
71254
|
addonId: null,
|
|
71236
71255
|
access: "create"
|
|
71237
71256
|
},
|
|
71238
|
-
"userManagement.revokeApiKey": {
|
|
71239
|
-
capName: "user-management",
|
|
71240
|
-
capScope: "system",
|
|
71241
|
-
addonId: null,
|
|
71242
|
-
access: "delete"
|
|
71243
|
-
},
|
|
71244
71257
|
"userManagement.revokeOauthSession": {
|
|
71245
71258
|
capName: "user-management",
|
|
71246
71259
|
capScope: "system",
|
|
@@ -74671,9 +74684,13 @@ new Map(Object.entries({
|
|
|
74671
74684
|
"stream-online": "device-events",
|
|
74672
74685
|
"stream-offline": "device-events",
|
|
74673
74686
|
"detection-blind": "device-events",
|
|
74687
|
+
"motion-noisy": "device-events",
|
|
74688
|
+
"motion-calm": "device-events",
|
|
74674
74689
|
"recording-stalled": "device-events",
|
|
74675
74690
|
"recording-healthy": "device-events",
|
|
74676
74691
|
"recording-degraded": "device-events",
|
|
74692
|
+
"device-attention-required": "device-events",
|
|
74693
|
+
"device-attention-resolved": "device-events",
|
|
74677
74694
|
"node-online": "system",
|
|
74678
74695
|
"node-offline": "system",
|
|
74679
74696
|
"node-restarting": "system",
|
|
@@ -74756,6 +74773,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74756
74773
|
label: "Detecting nothing",
|
|
74757
74774
|
kinds: ["detection-blind"]
|
|
74758
74775
|
},
|
|
74776
|
+
{
|
|
74777
|
+
id: "motion-noise",
|
|
74778
|
+
family: "device-events",
|
|
74779
|
+
label: "Motion without a subject",
|
|
74780
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74781
|
+
},
|
|
74759
74782
|
{
|
|
74760
74783
|
id: "recording",
|
|
74761
74784
|
family: "device-events",
|
|
@@ -74766,6 +74789,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74766
74789
|
"recording-degraded"
|
|
74767
74790
|
]
|
|
74768
74791
|
},
|
|
74792
|
+
{
|
|
74793
|
+
id: "device-attention",
|
|
74794
|
+
family: "device-events",
|
|
74795
|
+
label: "Needs attention",
|
|
74796
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74797
|
+
},
|
|
74769
74798
|
{
|
|
74770
74799
|
id: "nodes",
|
|
74771
74800
|
family: "system",
|
|
@@ -74905,6 +74934,7 @@ var ALERT_EPISODE = [
|
|
|
74905
74934
|
"alert-error",
|
|
74906
74935
|
"alert-critical-resolved"
|
|
74907
74936
|
];
|
|
74937
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74908
74938
|
var UPDATES = [
|
|
74909
74939
|
"addon-update-available",
|
|
74910
74940
|
"server-update-available",
|
|
@@ -74934,9 +74964,12 @@ var DEVICE_EVENTS = [
|
|
|
74934
74964
|
"stream-online",
|
|
74935
74965
|
"stream-offline",
|
|
74936
74966
|
"detection-blind",
|
|
74967
|
+
"motion-noisy",
|
|
74968
|
+
"motion-calm",
|
|
74937
74969
|
"recording-stalled",
|
|
74938
74970
|
"recording-healthy",
|
|
74939
74971
|
"recording-degraded",
|
|
74972
|
+
...DEVICE_ATTENTION,
|
|
74940
74973
|
...ALARM
|
|
74941
74974
|
];
|
|
74942
74975
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -75104,7 +75137,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
75104
75137
|
[...RULE_TEXT],
|
|
75105
75138
|
[...RULE_TEXT],
|
|
75106
75139
|
[...RULE_TEXT],
|
|
75107
|
-
|
|
75140
|
+
[...RULE_TEXT],
|
|
75141
|
+
[...RULE_TEXT],
|
|
75142
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75108
75143
|
[...RULE_TEXT],
|
|
75109
75144
|
[...RULE_TEXT],
|
|
75110
75145
|
[...RULE_TEXT],
|
|
@@ -75126,11 +75161,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
75126
75161
|
[...RULE_TEXT],
|
|
75127
75162
|
[...RULE_TEXT],
|
|
75128
75163
|
[...RULE_TEXT],
|
|
75164
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75129
75165
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75166
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75130
75167
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75131
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75132
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75133
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
75168
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
75134
75169
|
[...RULE_TEXT],
|
|
75135
75170
|
[...RULE_TEXT],
|
|
75136
75171
|
[...RULE_TEXT],
|
|
@@ -75206,6 +75241,15 @@ new Map([
|
|
|
75206
75241
|
snapshotLabel: "Tanks low or full now",
|
|
75207
75242
|
snapshotSection: "tanks"
|
|
75208
75243
|
},
|
|
75244
|
+
{
|
|
75245
|
+
id: "motion-noise",
|
|
75246
|
+
family: "device-events",
|
|
75247
|
+
label: "Motion without a subject (constant / calm again)",
|
|
75248
|
+
bad: ["motion-noisy"],
|
|
75249
|
+
recovery: ["motion-calm"],
|
|
75250
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
75251
|
+
snapshotSection: null
|
|
75252
|
+
},
|
|
75209
75253
|
{
|
|
75210
75254
|
id: "recording-health",
|
|
75211
75255
|
family: "device-events",
|
|
@@ -75215,6 +75259,15 @@ new Map([
|
|
|
75215
75259
|
snapshotLabel: "Recordings stalled now",
|
|
75216
75260
|
snapshotSection: null
|
|
75217
75261
|
},
|
|
75262
|
+
{
|
|
75263
|
+
id: "device-attention",
|
|
75264
|
+
family: "device-events",
|
|
75265
|
+
label: "Device needs attention (raised / resolved)",
|
|
75266
|
+
bad: ["device-attention-required"],
|
|
75267
|
+
recovery: ["device-attention-resolved"],
|
|
75268
|
+
snapshotLabel: "Devices needing attention now",
|
|
75269
|
+
snapshotSection: null
|
|
75270
|
+
},
|
|
75218
75271
|
{
|
|
75219
75272
|
id: "node-connectivity",
|
|
75220
75273
|
family: "system",
|
|
@@ -85249,8 +85302,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85249
85302
|
id: "discovery",
|
|
85250
85303
|
title: "ONVIF Discovery",
|
|
85251
85304
|
titleKey: "provider-onvif:globalSettings.s_discovery.title",
|
|
85252
|
-
description: "Find ONVIF cameras on the local network when you add a device",
|
|
85253
|
-
descriptionKey: "provider-onvif:globalSettings.s_discovery.description",
|
|
85254
85305
|
columns: 2,
|
|
85255
85306
|
fields: [{
|
|
85256
85307
|
type: "number",
|
|
@@ -85266,8 +85317,6 @@ var OnvifProviderAddon = class extends BaseDeviceProvider {
|
|
|
85266
85317
|
id: "credentials",
|
|
85267
85318
|
title: "Default Credentials",
|
|
85268
85319
|
titleKey: "provider-onvif:globalSettings.s_credentials.title",
|
|
85269
|
-
description: "Default credentials for discovered cameras",
|
|
85270
|
-
descriptionKey: "provider-onvif:globalSettings.s_credentials.description",
|
|
85271
85320
|
columns: 2,
|
|
85272
85321
|
fields: [{
|
|
85273
85322
|
type: "text",
|
package/i18n/en.json
CHANGED
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
"onGetCreation.s_connection.username.label": "Username",
|
|
7
7
|
"onGetCreation.s_connection.password.label": "Password",
|
|
8
8
|
"globalSettings.s_discovery.title": "ONVIF Discovery",
|
|
9
|
-
"globalSettings.s_discovery.description": "Find ONVIF cameras on the local network when you add a device",
|
|
10
9
|
"globalSettings.s_credentials.title": "Default Credentials",
|
|
11
|
-
"globalSettings.s_credentials.description": "Default credentials for discovered cameras",
|
|
12
10
|
"globalSettings.s_credentials.defaultUsername.label": "Default Username",
|
|
13
11
|
"globalSettings.s_credentials.defaultPassword.label": "Default Password"
|
|
14
12
|
}
|
package/i18n/it.json
CHANGED
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
"onGetCreation.s_connection.username.label": "Nome utente",
|
|
7
7
|
"onGetCreation.s_connection.password.label": "Password",
|
|
8
8
|
"globalSettings.s_discovery.title": "Rilevamento ONVIF",
|
|
9
|
-
"globalSettings.s_discovery.description": "Trova le telecamere ONVIF sulla rete locale quando aggiungi un dispositivo",
|
|
10
9
|
"globalSettings.s_credentials.title": "Credenziali predefinite",
|
|
11
|
-
"globalSettings.s_credentials.description": "Credenziali predefinite per le telecamere rilevate",
|
|
12
10
|
"globalSettings.s_credentials.defaultUsername.label": "Nome utente predefinito",
|
|
13
11
|
"globalSettings.s_credentials.defaultPassword.label": "Password predefinita"
|
|
14
12
|
}
|