@camstack/addon-terminal 0.1.147 → 0.1.148
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 -61
- package/dist/addon.mjs +114 -61
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -31,7 +31,7 @@ let node_module = require("node:module");
|
|
|
31
31
|
let sharp = require("sharp");
|
|
32
32
|
sharp = __toESM(sharp);
|
|
33
33
|
let node_http = require("node:http");
|
|
34
|
-
//#region ../types/dist/event-category-
|
|
34
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
35
35
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
36
36
|
EventCategory["SystemBoot"] = "system.boot";
|
|
37
37
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -348,6 +348,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
348
348
|
*/
|
|
349
349
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
350
350
|
/**
|
|
351
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
352
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
353
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
354
|
+
* {@link PipelineMotionCalm}.
|
|
355
|
+
*/
|
|
356
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
357
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
358
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
359
|
+
/**
|
|
351
360
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
352
361
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
353
362
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5454,7 +5463,7 @@ var ZodIssueCode = {
|
|
|
5454
5463
|
var ZodFirstPartyTypeKind;
|
|
5455
5464
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5456
5465
|
//#endregion
|
|
5457
|
-
//#region ../types/dist/sleep-
|
|
5466
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5458
5467
|
/**
|
|
5459
5468
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5460
5469
|
* window to float samples (D455).
|
|
@@ -7983,7 +7992,7 @@ var EntryDescriptorSchema = object({
|
|
|
7983
7992
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7984
7993
|
fields: record(string(), unknown())
|
|
7985
7994
|
}).strict();
|
|
7986
|
-
/** What crosses the wire
|
|
7995
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7987
7996
|
var RecordKindDeclarationSchema = object({
|
|
7988
7997
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7989
7998
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8002,14 +8011,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8002
8011
|
secretPaths: array(string().min(1)).default([]),
|
|
8003
8012
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8004
8013
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8005
|
-
/**
|
|
8006
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8007
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8008
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8009
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8010
|
-
* removal still sends it. Never set it.
|
|
8011
|
-
*/
|
|
8012
|
-
adoptsFrom: string().min(1).optional(),
|
|
8013
8014
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8014
8015
|
transactFamily: string().min(1).optional(),
|
|
8015
8016
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12778,17 +12779,6 @@ object({
|
|
|
12778
12779
|
createdAt: number(),
|
|
12779
12780
|
updatedAt: number()
|
|
12780
12781
|
});
|
|
12781
|
-
object({
|
|
12782
|
-
id: string(),
|
|
12783
|
-
label: string(),
|
|
12784
|
-
isAdmin: boolean().default(false),
|
|
12785
|
-
allowedProviders: AllowedProviderSchema,
|
|
12786
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12787
|
-
tokenHash: string(),
|
|
12788
|
-
tokenPrefix: string(),
|
|
12789
|
-
createdAt: number(),
|
|
12790
|
-
lastUsedAt: number().optional()
|
|
12791
|
-
});
|
|
12792
12782
|
object({
|
|
12793
12783
|
id: string(),
|
|
12794
12784
|
userId: string(),
|
|
@@ -16770,16 +16760,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16770
16760
|
var DeclareKindResultSchema = object({
|
|
16771
16761
|
kindId: number().int(),
|
|
16772
16762
|
state: RecordKindStateSchema,
|
|
16773
|
-
createdIndexes: array(string())
|
|
16774
|
-
/**
|
|
16775
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16776
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16777
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16778
|
-
*/
|
|
16779
|
-
adoptionPending: _null()
|
|
16763
|
+
createdIndexes: array(string())
|
|
16780
16764
|
});
|
|
16781
16765
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16782
16766
|
var SecretRefsList = array(string());
|
|
16767
|
+
/**
|
|
16768
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16769
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16770
|
+
*/
|
|
16771
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16772
|
+
object({
|
|
16773
|
+
op: literal("put"),
|
|
16774
|
+
kind: RecordKindNameSchema,
|
|
16775
|
+
record: RecordInputSchema,
|
|
16776
|
+
ifRev: number().int().min(0).optional()
|
|
16777
|
+
}),
|
|
16778
|
+
object({
|
|
16779
|
+
op: literal("patch"),
|
|
16780
|
+
kind: RecordKindNameSchema,
|
|
16781
|
+
id: RecordIdSchema,
|
|
16782
|
+
data: RecordBodySchema,
|
|
16783
|
+
at: number().int().nullable().optional(),
|
|
16784
|
+
expiresAt: number().int().nullable().optional(),
|
|
16785
|
+
ifRev: number().int().min(1).optional()
|
|
16786
|
+
}),
|
|
16787
|
+
object({
|
|
16788
|
+
op: literal("delete"),
|
|
16789
|
+
kind: RecordKindNameSchema,
|
|
16790
|
+
id: RecordIdSchema
|
|
16791
|
+
})
|
|
16792
|
+
]);
|
|
16783
16793
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16784
16794
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16785
16795
|
kind: "mutation",
|
|
@@ -16886,6 +16896,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16886
16896
|
}), {
|
|
16887
16897
|
kind: "mutation",
|
|
16888
16898
|
auth: "admin"
|
|
16899
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16900
|
+
results: array(object({
|
|
16901
|
+
rev: number().int().nullable(),
|
|
16902
|
+
deleted: boolean()
|
|
16903
|
+
})),
|
|
16904
|
+
releasedRefs: SecretRefsList,
|
|
16905
|
+
secretRefs: SecretRefsList
|
|
16906
|
+
}), {
|
|
16907
|
+
kind: "mutation",
|
|
16908
|
+
auth: "admin"
|
|
16889
16909
|
}), method(object({
|
|
16890
16910
|
deviceId: number().int(),
|
|
16891
16911
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42399,9 +42419,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42399
42419
|
"node-updating",
|
|
42400
42420
|
"node-inference-unavailable",
|
|
42401
42421
|
"detection-blind",
|
|
42422
|
+
"motion-noisy",
|
|
42423
|
+
"motion-calm",
|
|
42402
42424
|
"recording-stalled",
|
|
42403
42425
|
"recording-healthy",
|
|
42404
42426
|
"recording-degraded",
|
|
42427
|
+
"device-attention-required",
|
|
42428
|
+
"device-attention-resolved",
|
|
42405
42429
|
"storage-location-low",
|
|
42406
42430
|
"storage-location-critical",
|
|
42407
42431
|
"storage-location-ok",
|
|
@@ -55873,6 +55897,16 @@ var DishwasherStatusSchema = object({
|
|
|
55873
55897
|
powerState: string().nullable(),
|
|
55874
55898
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55875
55899
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55900
|
+
/**
|
|
55901
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55902
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55903
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55904
|
+
*/
|
|
55905
|
+
filterCleaningDue: boolean().nullable(),
|
|
55906
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55907
|
+
machineCareDue: boolean().nullable(),
|
|
55908
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55909
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55876
55910
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55877
55911
|
halfLoad: boolean().nullable(),
|
|
55878
55912
|
hygienePlus: boolean().nullable(),
|
|
@@ -64523,16 +64557,6 @@ var UpdateUserInputSchema = object({
|
|
|
64523
64557
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64524
64558
|
scopes: array(TokenScopeSchema).optional()
|
|
64525
64559
|
});
|
|
64526
|
-
var ApiKeySummarySchema = object({
|
|
64527
|
-
id: string(),
|
|
64528
|
-
label: string(),
|
|
64529
|
-
isAdmin: boolean().default(false),
|
|
64530
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64531
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64532
|
-
tokenPrefix: string(),
|
|
64533
|
-
createdAt: number(),
|
|
64534
|
-
lastUsedAt: number().optional()
|
|
64535
|
-
});
|
|
64536
64560
|
var OauthSessionSummarySchema = object({
|
|
64537
64561
|
id: string(),
|
|
64538
64562
|
userId: string(),
|
|
@@ -64554,8 +64578,7 @@ var TotpStatusSchema = object({
|
|
|
64554
64578
|
confirmedAt: number().nullable()
|
|
64555
64579
|
});
|
|
64556
64580
|
/**
|
|
64557
|
-
* user-management — singleton capability for user accounts
|
|
64558
|
-
* legacy API-key rows.
|
|
64581
|
+
* user-management — singleton capability for user accounts.
|
|
64559
64582
|
*
|
|
64560
64583
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64561
64584
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64611,10 +64634,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64611
64634
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64612
64635
|
kind: "mutation",
|
|
64613
64636
|
access: "view"
|
|
64614
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64615
|
-
kind: "mutation",
|
|
64616
|
-
auth: "admin",
|
|
64617
|
-
access: "delete"
|
|
64618
64637
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64619
64638
|
kind: "mutation",
|
|
64620
64639
|
auth: "admin",
|
|
@@ -73587,6 +73606,12 @@ Object.freeze({
|
|
|
73587
73606
|
addonId: null,
|
|
73588
73607
|
access: "view"
|
|
73589
73608
|
},
|
|
73609
|
+
"records.transact": {
|
|
73610
|
+
capName: "records",
|
|
73611
|
+
capScope: "system",
|
|
73612
|
+
addonId: null,
|
|
73613
|
+
access: "create"
|
|
73614
|
+
},
|
|
73590
73615
|
"sceneMonitor.captureReference": {
|
|
73591
73616
|
capName: "scene-monitor",
|
|
73592
73617
|
capScope: "device",
|
|
@@ -74919,12 +74944,6 @@ Object.freeze({
|
|
|
74919
74944
|
addonId: null,
|
|
74920
74945
|
access: "view"
|
|
74921
74946
|
},
|
|
74922
|
-
"userManagement.listApiKeys": {
|
|
74923
|
-
capName: "user-management",
|
|
74924
|
-
capScope: "system",
|
|
74925
|
-
addonId: null,
|
|
74926
|
-
access: "view"
|
|
74927
|
-
},
|
|
74928
74947
|
"userManagement.listExternalIdentities": {
|
|
74929
74948
|
capName: "user-management",
|
|
74930
74949
|
capScope: "system",
|
|
@@ -74979,12 +74998,6 @@ Object.freeze({
|
|
|
74979
74998
|
addonId: null,
|
|
74980
74999
|
access: "create"
|
|
74981
75000
|
},
|
|
74982
|
-
"userManagement.revokeApiKey": {
|
|
74983
|
-
capName: "user-management",
|
|
74984
|
-
capScope: "system",
|
|
74985
|
-
addonId: null,
|
|
74986
|
-
access: "delete"
|
|
74987
|
-
},
|
|
74988
75001
|
"userManagement.revokeOauthSession": {
|
|
74989
75002
|
capName: "user-management",
|
|
74990
75003
|
capScope: "system",
|
|
@@ -78349,9 +78362,13 @@ new Map(Object.entries({
|
|
|
78349
78362
|
"stream-online": "device-events",
|
|
78350
78363
|
"stream-offline": "device-events",
|
|
78351
78364
|
"detection-blind": "device-events",
|
|
78365
|
+
"motion-noisy": "device-events",
|
|
78366
|
+
"motion-calm": "device-events",
|
|
78352
78367
|
"recording-stalled": "device-events",
|
|
78353
78368
|
"recording-healthy": "device-events",
|
|
78354
78369
|
"recording-degraded": "device-events",
|
|
78370
|
+
"device-attention-required": "device-events",
|
|
78371
|
+
"device-attention-resolved": "device-events",
|
|
78355
78372
|
"node-online": "system",
|
|
78356
78373
|
"node-offline": "system",
|
|
78357
78374
|
"node-restarting": "system",
|
|
@@ -78434,6 +78451,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78434
78451
|
label: "Detecting nothing",
|
|
78435
78452
|
kinds: ["detection-blind"]
|
|
78436
78453
|
},
|
|
78454
|
+
{
|
|
78455
|
+
id: "motion-noise",
|
|
78456
|
+
family: "device-events",
|
|
78457
|
+
label: "Motion without a subject",
|
|
78458
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78459
|
+
},
|
|
78437
78460
|
{
|
|
78438
78461
|
id: "recording",
|
|
78439
78462
|
family: "device-events",
|
|
@@ -78444,6 +78467,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78444
78467
|
"recording-degraded"
|
|
78445
78468
|
]
|
|
78446
78469
|
},
|
|
78470
|
+
{
|
|
78471
|
+
id: "device-attention",
|
|
78472
|
+
family: "device-events",
|
|
78473
|
+
label: "Needs attention",
|
|
78474
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78475
|
+
},
|
|
78447
78476
|
{
|
|
78448
78477
|
id: "nodes",
|
|
78449
78478
|
family: "system",
|
|
@@ -78583,6 +78612,7 @@ var ALERT_EPISODE = [
|
|
|
78583
78612
|
"alert-error",
|
|
78584
78613
|
"alert-critical-resolved"
|
|
78585
78614
|
];
|
|
78615
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
78586
78616
|
var UPDATES = [
|
|
78587
78617
|
"addon-update-available",
|
|
78588
78618
|
"server-update-available",
|
|
@@ -78612,9 +78642,12 @@ var DEVICE_EVENTS = [
|
|
|
78612
78642
|
"stream-online",
|
|
78613
78643
|
"stream-offline",
|
|
78614
78644
|
"detection-blind",
|
|
78645
|
+
"motion-noisy",
|
|
78646
|
+
"motion-calm",
|
|
78615
78647
|
"recording-stalled",
|
|
78616
78648
|
"recording-healthy",
|
|
78617
78649
|
"recording-degraded",
|
|
78650
|
+
...DEVICE_ATTENTION,
|
|
78618
78651
|
...ALARM
|
|
78619
78652
|
];
|
|
78620
78653
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -78782,7 +78815,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
78782
78815
|
[...RULE_TEXT],
|
|
78783
78816
|
[...RULE_TEXT],
|
|
78784
78817
|
[...RULE_TEXT],
|
|
78785
|
-
|
|
78818
|
+
[...RULE_TEXT],
|
|
78819
|
+
[...RULE_TEXT],
|
|
78820
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78786
78821
|
[...RULE_TEXT],
|
|
78787
78822
|
[...RULE_TEXT],
|
|
78788
78823
|
[...RULE_TEXT],
|
|
@@ -78804,11 +78839,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
78804
78839
|
[...RULE_TEXT],
|
|
78805
78840
|
[...RULE_TEXT],
|
|
78806
78841
|
[...RULE_TEXT],
|
|
78842
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78807
78843
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78844
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78808
78845
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78809
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78810
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78811
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78846
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78812
78847
|
[...RULE_TEXT],
|
|
78813
78848
|
[...RULE_TEXT],
|
|
78814
78849
|
[...RULE_TEXT],
|
|
@@ -78884,6 +78919,15 @@ new Map([
|
|
|
78884
78919
|
snapshotLabel: "Tanks low or full now",
|
|
78885
78920
|
snapshotSection: "tanks"
|
|
78886
78921
|
},
|
|
78922
|
+
{
|
|
78923
|
+
id: "motion-noise",
|
|
78924
|
+
family: "device-events",
|
|
78925
|
+
label: "Motion without a subject (constant / calm again)",
|
|
78926
|
+
bad: ["motion-noisy"],
|
|
78927
|
+
recovery: ["motion-calm"],
|
|
78928
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
78929
|
+
snapshotSection: null
|
|
78930
|
+
},
|
|
78887
78931
|
{
|
|
78888
78932
|
id: "recording-health",
|
|
78889
78933
|
family: "device-events",
|
|
@@ -78893,6 +78937,15 @@ new Map([
|
|
|
78893
78937
|
snapshotLabel: "Recordings stalled now",
|
|
78894
78938
|
snapshotSection: null
|
|
78895
78939
|
},
|
|
78940
|
+
{
|
|
78941
|
+
id: "device-attention",
|
|
78942
|
+
family: "device-events",
|
|
78943
|
+
label: "Device needs attention (raised / resolved)",
|
|
78944
|
+
bad: ["device-attention-required"],
|
|
78945
|
+
recovery: ["device-attention-resolved"],
|
|
78946
|
+
snapshotLabel: "Devices needing attention now",
|
|
78947
|
+
snapshotSection: null
|
|
78948
|
+
},
|
|
78896
78949
|
{
|
|
78897
78950
|
id: "node-connectivity",
|
|
78898
78951
|
family: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import { createServer } from "node:http";
|
|
|
8
8
|
//#region \0rolldown/runtime.js
|
|
9
9
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
10
10
|
//#endregion
|
|
11
|
-
//#region ../types/dist/event-category-
|
|
11
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
12
12
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
13
13
|
EventCategory["SystemBoot"] = "system.boot";
|
|
14
14
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -325,6 +325,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
325
325
|
*/
|
|
326
326
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
327
327
|
/**
|
|
328
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
329
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
330
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
331
|
+
* {@link PipelineMotionCalm}.
|
|
332
|
+
*/
|
|
333
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
334
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
335
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
336
|
+
/**
|
|
328
337
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
329
338
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
330
339
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5431,7 +5440,7 @@ var ZodIssueCode = {
|
|
|
5431
5440
|
var ZodFirstPartyTypeKind;
|
|
5432
5441
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5433
5442
|
//#endregion
|
|
5434
|
-
//#region ../types/dist/sleep-
|
|
5443
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5435
5444
|
/**
|
|
5436
5445
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5437
5446
|
* window to float samples (D455).
|
|
@@ -7960,7 +7969,7 @@ var EntryDescriptorSchema = object({
|
|
|
7960
7969
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
7961
7970
|
fields: record(string(), unknown())
|
|
7962
7971
|
}).strict();
|
|
7963
|
-
/** What crosses the wire
|
|
7972
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
7964
7973
|
var RecordKindDeclarationSchema = object({
|
|
7965
7974
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
7966
7975
|
class: _enum(RECORD_CLASSES),
|
|
@@ -7979,14 +7988,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
7979
7988
|
secretPaths: array(string().min(1)).default([]),
|
|
7980
7989
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
7981
7990
|
secretArrayKeys: record(string(), string()).default({}),
|
|
7982
|
-
/**
|
|
7983
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
7984
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
7985
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
7986
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
7987
|
-
* removal still sends it. Never set it.
|
|
7988
|
-
*/
|
|
7989
|
-
adoptsFrom: string().min(1).optional(),
|
|
7990
7991
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
7991
7992
|
transactFamily: string().min(1).optional(),
|
|
7992
7993
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -12755,17 +12756,6 @@ object({
|
|
|
12755
12756
|
createdAt: number(),
|
|
12756
12757
|
updatedAt: number()
|
|
12757
12758
|
});
|
|
12758
|
-
object({
|
|
12759
|
-
id: string(),
|
|
12760
|
-
label: string(),
|
|
12761
|
-
isAdmin: boolean().default(false),
|
|
12762
|
-
allowedProviders: AllowedProviderSchema,
|
|
12763
|
-
allowedDevices: AllowedDevicesSchema,
|
|
12764
|
-
tokenHash: string(),
|
|
12765
|
-
tokenPrefix: string(),
|
|
12766
|
-
createdAt: number(),
|
|
12767
|
-
lastUsedAt: number().optional()
|
|
12768
|
-
});
|
|
12769
12759
|
object({
|
|
12770
12760
|
id: string(),
|
|
12771
12761
|
userId: string(),
|
|
@@ -16747,16 +16737,36 @@ var RecordKindStateSchema = _enum([
|
|
|
16747
16737
|
var DeclareKindResultSchema = object({
|
|
16748
16738
|
kindId: number().int(),
|
|
16749
16739
|
state: RecordKindStateSchema,
|
|
16750
|
-
createdIndexes: array(string())
|
|
16751
|
-
/**
|
|
16752
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
16753
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
16754
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
16755
|
-
*/
|
|
16756
|
-
adoptionPending: _null()
|
|
16740
|
+
createdIndexes: array(string())
|
|
16757
16741
|
});
|
|
16758
16742
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
16759
16743
|
var SecretRefsList = array(string());
|
|
16744
|
+
/**
|
|
16745
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
16746
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
16747
|
+
*/
|
|
16748
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
16749
|
+
object({
|
|
16750
|
+
op: literal("put"),
|
|
16751
|
+
kind: RecordKindNameSchema,
|
|
16752
|
+
record: RecordInputSchema,
|
|
16753
|
+
ifRev: number().int().min(0).optional()
|
|
16754
|
+
}),
|
|
16755
|
+
object({
|
|
16756
|
+
op: literal("patch"),
|
|
16757
|
+
kind: RecordKindNameSchema,
|
|
16758
|
+
id: RecordIdSchema,
|
|
16759
|
+
data: RecordBodySchema,
|
|
16760
|
+
at: number().int().nullable().optional(),
|
|
16761
|
+
expiresAt: number().int().nullable().optional(),
|
|
16762
|
+
ifRev: number().int().min(1).optional()
|
|
16763
|
+
}),
|
|
16764
|
+
object({
|
|
16765
|
+
op: literal("delete"),
|
|
16766
|
+
kind: RecordKindNameSchema,
|
|
16767
|
+
id: RecordIdSchema
|
|
16768
|
+
})
|
|
16769
|
+
]);
|
|
16760
16770
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
16761
16771
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
16762
16772
|
kind: "mutation",
|
|
@@ -16863,6 +16873,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
16863
16873
|
}), {
|
|
16864
16874
|
kind: "mutation",
|
|
16865
16875
|
auth: "admin"
|
|
16876
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
16877
|
+
results: array(object({
|
|
16878
|
+
rev: number().int().nullable(),
|
|
16879
|
+
deleted: boolean()
|
|
16880
|
+
})),
|
|
16881
|
+
releasedRefs: SecretRefsList,
|
|
16882
|
+
secretRefs: SecretRefsList
|
|
16883
|
+
}), {
|
|
16884
|
+
kind: "mutation",
|
|
16885
|
+
auth: "admin"
|
|
16866
16886
|
}), method(object({
|
|
16867
16887
|
deviceId: number().int(),
|
|
16868
16888
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42376,9 +42396,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42376
42396
|
"node-updating",
|
|
42377
42397
|
"node-inference-unavailable",
|
|
42378
42398
|
"detection-blind",
|
|
42399
|
+
"motion-noisy",
|
|
42400
|
+
"motion-calm",
|
|
42379
42401
|
"recording-stalled",
|
|
42380
42402
|
"recording-healthy",
|
|
42381
42403
|
"recording-degraded",
|
|
42404
|
+
"device-attention-required",
|
|
42405
|
+
"device-attention-resolved",
|
|
42382
42406
|
"storage-location-low",
|
|
42383
42407
|
"storage-location-critical",
|
|
42384
42408
|
"storage-location-ok",
|
|
@@ -55850,6 +55874,16 @@ var DishwasherStatusSchema = object({
|
|
|
55850
55874
|
powerState: string().nullable(),
|
|
55851
55875
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55852
55876
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55877
|
+
/**
|
|
55878
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55879
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55880
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55881
|
+
*/
|
|
55882
|
+
filterCleaningDue: boolean().nullable(),
|
|
55883
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55884
|
+
machineCareDue: boolean().nullable(),
|
|
55885
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55886
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55853
55887
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55854
55888
|
halfLoad: boolean().nullable(),
|
|
55855
55889
|
hygienePlus: boolean().nullable(),
|
|
@@ -64500,16 +64534,6 @@ var UpdateUserInputSchema = object({
|
|
|
64500
64534
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64501
64535
|
scopes: array(TokenScopeSchema).optional()
|
|
64502
64536
|
});
|
|
64503
|
-
var ApiKeySummarySchema = object({
|
|
64504
|
-
id: string(),
|
|
64505
|
-
label: string(),
|
|
64506
|
-
isAdmin: boolean().default(false),
|
|
64507
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
64508
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
64509
|
-
tokenPrefix: string(),
|
|
64510
|
-
createdAt: number(),
|
|
64511
|
-
lastUsedAt: number().optional()
|
|
64512
|
-
});
|
|
64513
64537
|
var OauthSessionSummarySchema = object({
|
|
64514
64538
|
id: string(),
|
|
64515
64539
|
userId: string(),
|
|
@@ -64531,8 +64555,7 @@ var TotpStatusSchema = object({
|
|
|
64531
64555
|
confirmedAt: number().nullable()
|
|
64532
64556
|
});
|
|
64533
64557
|
/**
|
|
64534
|
-
* user-management — singleton capability for user accounts
|
|
64535
|
-
* legacy API-key rows.
|
|
64558
|
+
* user-management — singleton capability for user accounts.
|
|
64536
64559
|
*
|
|
64537
64560
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64538
64561
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -64588,10 +64611,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64588
64611
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
64589
64612
|
kind: "mutation",
|
|
64590
64613
|
access: "view"
|
|
64591
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64592
|
-
kind: "mutation",
|
|
64593
|
-
auth: "admin",
|
|
64594
|
-
access: "delete"
|
|
64595
64614
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64596
64615
|
kind: "mutation",
|
|
64597
64616
|
auth: "admin",
|
|
@@ -73564,6 +73583,12 @@ Object.freeze({
|
|
|
73564
73583
|
addonId: null,
|
|
73565
73584
|
access: "view"
|
|
73566
73585
|
},
|
|
73586
|
+
"records.transact": {
|
|
73587
|
+
capName: "records",
|
|
73588
|
+
capScope: "system",
|
|
73589
|
+
addonId: null,
|
|
73590
|
+
access: "create"
|
|
73591
|
+
},
|
|
73567
73592
|
"sceneMonitor.captureReference": {
|
|
73568
73593
|
capName: "scene-monitor",
|
|
73569
73594
|
capScope: "device",
|
|
@@ -74896,12 +74921,6 @@ Object.freeze({
|
|
|
74896
74921
|
addonId: null,
|
|
74897
74922
|
access: "view"
|
|
74898
74923
|
},
|
|
74899
|
-
"userManagement.listApiKeys": {
|
|
74900
|
-
capName: "user-management",
|
|
74901
|
-
capScope: "system",
|
|
74902
|
-
addonId: null,
|
|
74903
|
-
access: "view"
|
|
74904
|
-
},
|
|
74905
74924
|
"userManagement.listExternalIdentities": {
|
|
74906
74925
|
capName: "user-management",
|
|
74907
74926
|
capScope: "system",
|
|
@@ -74956,12 +74975,6 @@ Object.freeze({
|
|
|
74956
74975
|
addonId: null,
|
|
74957
74976
|
access: "create"
|
|
74958
74977
|
},
|
|
74959
|
-
"userManagement.revokeApiKey": {
|
|
74960
|
-
capName: "user-management",
|
|
74961
|
-
capScope: "system",
|
|
74962
|
-
addonId: null,
|
|
74963
|
-
access: "delete"
|
|
74964
|
-
},
|
|
74965
74978
|
"userManagement.revokeOauthSession": {
|
|
74966
74979
|
capName: "user-management",
|
|
74967
74980
|
capScope: "system",
|
|
@@ -78326,9 +78339,13 @@ new Map(Object.entries({
|
|
|
78326
78339
|
"stream-online": "device-events",
|
|
78327
78340
|
"stream-offline": "device-events",
|
|
78328
78341
|
"detection-blind": "device-events",
|
|
78342
|
+
"motion-noisy": "device-events",
|
|
78343
|
+
"motion-calm": "device-events",
|
|
78329
78344
|
"recording-stalled": "device-events",
|
|
78330
78345
|
"recording-healthy": "device-events",
|
|
78331
78346
|
"recording-degraded": "device-events",
|
|
78347
|
+
"device-attention-required": "device-events",
|
|
78348
|
+
"device-attention-resolved": "device-events",
|
|
78332
78349
|
"node-online": "system",
|
|
78333
78350
|
"node-offline": "system",
|
|
78334
78351
|
"node-restarting": "system",
|
|
@@ -78411,6 +78428,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78411
78428
|
label: "Detecting nothing",
|
|
78412
78429
|
kinds: ["detection-blind"]
|
|
78413
78430
|
},
|
|
78431
|
+
{
|
|
78432
|
+
id: "motion-noise",
|
|
78433
|
+
family: "device-events",
|
|
78434
|
+
label: "Motion without a subject",
|
|
78435
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
78436
|
+
},
|
|
78414
78437
|
{
|
|
78415
78438
|
id: "recording",
|
|
78416
78439
|
family: "device-events",
|
|
@@ -78421,6 +78444,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78421
78444
|
"recording-degraded"
|
|
78422
78445
|
]
|
|
78423
78446
|
},
|
|
78447
|
+
{
|
|
78448
|
+
id: "device-attention",
|
|
78449
|
+
family: "device-events",
|
|
78450
|
+
label: "Needs attention",
|
|
78451
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
78452
|
+
},
|
|
78424
78453
|
{
|
|
78425
78454
|
id: "nodes",
|
|
78426
78455
|
family: "system",
|
|
@@ -78560,6 +78589,7 @@ var ALERT_EPISODE = [
|
|
|
78560
78589
|
"alert-error",
|
|
78561
78590
|
"alert-critical-resolved"
|
|
78562
78591
|
];
|
|
78592
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
78563
78593
|
var UPDATES = [
|
|
78564
78594
|
"addon-update-available",
|
|
78565
78595
|
"server-update-available",
|
|
@@ -78589,9 +78619,12 @@ var DEVICE_EVENTS = [
|
|
|
78589
78619
|
"stream-online",
|
|
78590
78620
|
"stream-offline",
|
|
78591
78621
|
"detection-blind",
|
|
78622
|
+
"motion-noisy",
|
|
78623
|
+
"motion-calm",
|
|
78592
78624
|
"recording-stalled",
|
|
78593
78625
|
"recording-healthy",
|
|
78594
78626
|
"recording-degraded",
|
|
78627
|
+
...DEVICE_ATTENTION,
|
|
78595
78628
|
...ALARM
|
|
78596
78629
|
];
|
|
78597
78630
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -78759,7 +78792,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
78759
78792
|
[...RULE_TEXT],
|
|
78760
78793
|
[...RULE_TEXT],
|
|
78761
78794
|
[...RULE_TEXT],
|
|
78762
|
-
|
|
78795
|
+
[...RULE_TEXT],
|
|
78796
|
+
[...RULE_TEXT],
|
|
78797
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78763
78798
|
[...RULE_TEXT],
|
|
78764
78799
|
[...RULE_TEXT],
|
|
78765
78800
|
[...RULE_TEXT],
|
|
@@ -78781,11 +78816,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
78781
78816
|
[...RULE_TEXT],
|
|
78782
78817
|
[...RULE_TEXT],
|
|
78783
78818
|
[...RULE_TEXT],
|
|
78819
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78784
78820
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78821
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78785
78822
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78786
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78787
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78788
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78823
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
78789
78824
|
[...RULE_TEXT],
|
|
78790
78825
|
[...RULE_TEXT],
|
|
78791
78826
|
[...RULE_TEXT],
|
|
@@ -78861,6 +78896,15 @@ new Map([
|
|
|
78861
78896
|
snapshotLabel: "Tanks low or full now",
|
|
78862
78897
|
snapshotSection: "tanks"
|
|
78863
78898
|
},
|
|
78899
|
+
{
|
|
78900
|
+
id: "motion-noise",
|
|
78901
|
+
family: "device-events",
|
|
78902
|
+
label: "Motion without a subject (constant / calm again)",
|
|
78903
|
+
bad: ["motion-noisy"],
|
|
78904
|
+
recovery: ["motion-calm"],
|
|
78905
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
78906
|
+
snapshotSection: null
|
|
78907
|
+
},
|
|
78864
78908
|
{
|
|
78865
78909
|
id: "recording-health",
|
|
78866
78910
|
family: "device-events",
|
|
@@ -78870,6 +78914,15 @@ new Map([
|
|
|
78870
78914
|
snapshotLabel: "Recordings stalled now",
|
|
78871
78915
|
snapshotSection: null
|
|
78872
78916
|
},
|
|
78917
|
+
{
|
|
78918
|
+
id: "device-attention",
|
|
78919
|
+
family: "device-events",
|
|
78920
|
+
label: "Device needs attention (raised / resolved)",
|
|
78921
|
+
bad: ["device-attention-required"],
|
|
78922
|
+
recovery: ["device-attention-resolved"],
|
|
78923
|
+
snapshotLabel: "Devices needing attention now",
|
|
78924
|
+
snapshotSection: null
|
|
78925
|
+
},
|
|
78873
78926
|
{
|
|
78874
78927
|
id: "node-connectivity",
|
|
78875
78928
|
family: "system",
|