@camstack/addon-provider-homeassistant 1.2.160 → 1.2.161
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 +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/{dist-H458ct4y.mjs → dist-B1FEp9mY.mjs} +291 -67
- package/dist/{dist-l71G4EIk.js → dist-C3T2aMHG.js} +291 -67
- package/dist/ha-export/ha-export.addon.js +302 -302
- package/dist/ha-export/ha-export.addon.mjs +302 -302
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-C3T2aMHG.js");
|
|
3
3
|
let node_crypto = require("node:crypto");
|
|
4
4
|
let node_zlib = require("node:zlib");
|
|
5
5
|
//#region src/ha-admin-link.ts
|
package/dist/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as connectivityCapability, At as record, B as floodCapability, C as buildAddonRouteProvider, Ct as _enum, D as carbonMonoxideCapability, Dt as literal, E as calendarSourceCapability, Et as discriminatedUnion, F as deviceAdoptionCapability, Ft as EventCategory, G as lawnMowerControlCapability, H as humidifierCapability, J as motionCapability, K as lockControlCapability, L as enumSensorCapability, M as controlCapability, Mt as union, N as coverCapability, Nt as unknown, O as climateControlCapability, Ot as number, P as deviceAdminLinkCapability, Pt as url, Q as numericSensorCapability, R as eventEmitterCapability, S as brokerCapability, T as buttonCapability, Tt as boolean, U as humiditySensorCapability, V as gasCapability, W as imageCapability, X as notificationOutputCapability, Y as normalizeUnit, Z as notifierCapability, _ as automationControlCapability, _t as DeviceRole, at as scriptRunnerCapability, b as binaryCapability, ct as tamperCapability, d as TargetSchema, dt as vacuumControlCapability, et as parseAdminBase, f as accessoriesCapability, ft as valveCapability, g as ambientLightSensorCapability, gt as DeviceFeature, h as alarmPanelCapability, ht as weatherCapability, it as pressureSensorCapability, j as contactCapability, jt as string, k as colorCapability, kt as object, lt as temperatureSensorCapability, m as airQualitySensorCapability, mt as waterHeaterCapability, n as BaseDevice, nt as prepareNotification, ot as smokeCapability, p as addonRoutesCapability, pt as vibrationCapability, q as mediaPlayerCapability, r as BaseDeviceProvider, rt as presenceCapability, s as EnumSensorDateTimeFormatSchema, st as switchCapability, tt as powerMeterCapability, ut as updateCapability, v as batteryCapability, vt as DeviceType, w as buildDeviceAdminUrl, wt as array, x as brightnessCapability, xt as createEvent, y as bestLocationMatch, yt as errMsg, z as fanControlCapability } from "./dist-
|
|
1
|
+
import { A as connectivityCapability, At as record, B as floodCapability, C as buildAddonRouteProvider, Ct as _enum, D as carbonMonoxideCapability, Dt as literal, E as calendarSourceCapability, Et as discriminatedUnion, F as deviceAdoptionCapability, Ft as EventCategory, G as lawnMowerControlCapability, H as humidifierCapability, J as motionCapability, K as lockControlCapability, L as enumSensorCapability, M as controlCapability, Mt as union, N as coverCapability, Nt as unknown, O as climateControlCapability, Ot as number, P as deviceAdminLinkCapability, Pt as url, Q as numericSensorCapability, R as eventEmitterCapability, S as brokerCapability, T as buttonCapability, Tt as boolean, U as humiditySensorCapability, V as gasCapability, W as imageCapability, X as notificationOutputCapability, Y as normalizeUnit, Z as notifierCapability, _ as automationControlCapability, _t as DeviceRole, at as scriptRunnerCapability, b as binaryCapability, ct as tamperCapability, d as TargetSchema, dt as vacuumControlCapability, et as parseAdminBase, f as accessoriesCapability, ft as valveCapability, g as ambientLightSensorCapability, gt as DeviceFeature, h as alarmPanelCapability, ht as weatherCapability, it as pressureSensorCapability, j as contactCapability, jt as string, k as colorCapability, kt as object, lt as temperatureSensorCapability, m as airQualitySensorCapability, mt as waterHeaterCapability, n as BaseDevice, nt as prepareNotification, ot as smokeCapability, p as addonRoutesCapability, pt as vibrationCapability, q as mediaPlayerCapability, r as BaseDeviceProvider, rt as presenceCapability, s as EnumSensorDateTimeFormatSchema, st as switchCapability, tt as powerMeterCapability, ut as updateCapability, v as batteryCapability, vt as DeviceType, w as buildDeviceAdminUrl, wt as array, x as brightnessCapability, xt as createEvent, y as bestLocationMatch, yt as errMsg, z as fanControlCapability } from "./dist-B1FEp9mY.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
|
|
4
4
|
//#region src/ha-admin-link.ts
|
|
@@ -5378,7 +5378,7 @@ var ZodIssueCode = {
|
|
|
5378
5378
|
var ZodFirstPartyTypeKind;
|
|
5379
5379
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5380
5380
|
//#endregion
|
|
5381
|
-
//#region ../types/dist/sleep-
|
|
5381
|
+
//#region ../types/dist/sleep-C16NCZR2.mjs
|
|
5382
5382
|
/**
|
|
5383
5383
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5384
5384
|
* window to float samples (D455).
|
|
@@ -10667,57 +10667,15 @@ var ClipSearchStrictnessSchema = _enum([
|
|
|
10667
10667
|
"balanced",
|
|
10668
10668
|
"strict"
|
|
10669
10669
|
]);
|
|
10670
|
-
|
|
10671
|
-
|
|
10672
|
-
id: "person",
|
|
10673
|
-
name: "Person"
|
|
10674
|
-
},
|
|
10675
|
-
{
|
|
10676
|
-
id: "vehicle",
|
|
10677
|
-
name: "Vehicle"
|
|
10678
|
-
},
|
|
10679
|
-
{
|
|
10680
|
-
id: "animal",
|
|
10681
|
-
name: "Animal"
|
|
10682
|
-
},
|
|
10683
|
-
{
|
|
10684
|
-
id: "package",
|
|
10685
|
-
name: "Package"
|
|
10686
|
-
}
|
|
10687
|
-
].map((l) => l.id));
|
|
10688
|
-
var COCO_TO_MACRO = {
|
|
10689
|
-
mapping: {
|
|
10690
|
-
person: "person",
|
|
10691
|
-
bicycle: "vehicle",
|
|
10692
|
-
car: "vehicle",
|
|
10693
|
-
motorcycle: "vehicle",
|
|
10694
|
-
airplane: "vehicle",
|
|
10695
|
-
bus: "vehicle",
|
|
10696
|
-
train: "vehicle",
|
|
10697
|
-
truck: "vehicle",
|
|
10698
|
-
boat: "vehicle",
|
|
10699
|
-
bird: "animal",
|
|
10700
|
-
cat: "animal",
|
|
10701
|
-
dog: "animal",
|
|
10702
|
-
horse: "animal",
|
|
10703
|
-
sheep: "animal",
|
|
10704
|
-
cow: "animal",
|
|
10705
|
-
elephant: "animal",
|
|
10706
|
-
bear: "animal",
|
|
10707
|
-
zebra: "animal",
|
|
10708
|
-
giraffe: "animal",
|
|
10709
|
-
suitcase: "package",
|
|
10710
|
-
backpack: "package",
|
|
10711
|
-
handbag: "package"
|
|
10712
|
-
},
|
|
10713
|
-
preserveOriginal: false
|
|
10714
|
-
};
|
|
10715
|
-
/** Steps a root detector may declare it fills. */
|
|
10716
|
-
var FILLABLE_STEP_IDS = [
|
|
10670
|
+
/** Steps whose effect a root label can BE. */
|
|
10671
|
+
var LABEL_SUPPLY_STEP_IDS = [
|
|
10717
10672
|
"animal-classifier",
|
|
10718
10673
|
"vehicle-classifier",
|
|
10719
10674
|
"package-detection"
|
|
10720
10675
|
];
|
|
10676
|
+
/** Steps whose box a root detection can BE. */
|
|
10677
|
+
var CROP_SUPPLY_STEP_IDS = ["plate-detection", "face-detection"];
|
|
10678
|
+
[...LABEL_SUPPLY_STEP_IDS, ...CROP_SUPPLY_STEP_IDS];
|
|
10721
10679
|
var MODEL_FORMATS = [
|
|
10722
10680
|
"onnx",
|
|
10723
10681
|
"coreml",
|
|
@@ -10850,12 +10808,35 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
|
|
|
10850
10808
|
/** True when the weights or their data forbid commercial use. */
|
|
10851
10809
|
nonCommercial: boolean().optional()
|
|
10852
10810
|
}));
|
|
10853
|
-
/**
|
|
10854
|
-
|
|
10855
|
-
|
|
10811
|
+
/**
|
|
10812
|
+
* One step a ROOT detector can supply from its own output (D730) — see
|
|
10813
|
+
* `ModelCatalogEntry.suppliesSteps`.
|
|
10814
|
+
*
|
|
10815
|
+
* - `label`: the root's raw class IS the step's answer. `labelToEffect` maps
|
|
10816
|
+
* the root's label to the step's vocabulary; `uncovered` is the vocabulary
|
|
10817
|
+
* the root cannot produce (shown as unavailable, never a blocker).
|
|
10818
|
+
* - `crop`: the root draws the box the step would have found (`license_plate`
|
|
10819
|
+
* for plate-detection, `face` for face-detection). The box becomes a detail
|
|
10820
|
+
* child of the `parentMacro` detection that contains it — never a track.
|
|
10821
|
+
*/
|
|
10822
|
+
var RootStepSupplySchema = discriminatedUnion("kind", [object({
|
|
10823
|
+
kind: literal("label"),
|
|
10824
|
+
stepId: _enum(LABEL_SUPPLY_STEP_IDS),
|
|
10856
10825
|
labelToEffect: record(string(), string()),
|
|
10857
10826
|
uncovered: array(string()).readonly()
|
|
10858
|
-
})
|
|
10827
|
+
}), object({
|
|
10828
|
+
kind: literal("crop"),
|
|
10829
|
+
stepId: _enum(CROP_SUPPLY_STEP_IDS),
|
|
10830
|
+
rootLabels: array(string()).readonly(),
|
|
10831
|
+
parentMacro: _enum(["vehicle", "person"]),
|
|
10832
|
+
childClass: _enum(["plate", "face"]),
|
|
10833
|
+
/**
|
|
10834
|
+
* The root's smaller input side, stamped on read by `rootSuppliesOf` from
|
|
10835
|
+
* the model entry — what a step's `minRootInputPx` gate judges. Never
|
|
10836
|
+
* stored by an import.
|
|
10837
|
+
*/
|
|
10838
|
+
rootInputPx: number().int().positive().optional()
|
|
10839
|
+
})]);
|
|
10859
10840
|
var ModelCatalogEntrySchema = object({
|
|
10860
10841
|
id: string(),
|
|
10861
10842
|
name: string(),
|
|
@@ -10982,15 +10963,15 @@ var ModelCatalogEntrySchema = object({
|
|
|
10982
10963
|
*/
|
|
10983
10964
|
classMap: DetectionCatalogClassMapSchema.optional(),
|
|
10984
10965
|
/**
|
|
10985
|
-
* The pipeline steps this ROOT detector
|
|
10986
|
-
* its labels name
|
|
10987
|
-
*
|
|
10988
|
-
* labelmap by `
|
|
10989
|
-
*
|
|
10990
|
-
*
|
|
10991
|
-
* `
|
|
10966
|
+
* The pipeline steps this ROOT detector can supply from its own output
|
|
10967
|
+
* (D730): its labels name a step's effect (`deer` for `animal-classifier`)
|
|
10968
|
+
* or draw a step's box (`license_plate` for `plate-detection`). Computed at
|
|
10969
|
+
* import from THIS model's labelmap by `deriveRootSupplies`, never written
|
|
10970
|
+
* by hand and never assumed per family; a row without it is derived on read
|
|
10971
|
+
* (`rootSuppliesOf`). Whether a camera uses it is the step's own
|
|
10972
|
+
* `useRootModel` flag (`resolveRootSupply`).
|
|
10992
10973
|
*/
|
|
10993
|
-
|
|
10974
|
+
suppliesSteps: array(RootStepSupplySchema).readonly().optional(),
|
|
10994
10975
|
/**
|
|
10995
10976
|
* The model's CLIP feature-space contract (text encoder, dimension, vector
|
|
10996
10977
|
* index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
|
|
@@ -18526,6 +18507,51 @@ var notificationOutputCapability = {
|
|
|
18526
18507
|
})
|
|
18527
18508
|
}
|
|
18528
18509
|
};
|
|
18510
|
+
new Set([
|
|
18511
|
+
{
|
|
18512
|
+
id: "person",
|
|
18513
|
+
name: "Person"
|
|
18514
|
+
},
|
|
18515
|
+
{
|
|
18516
|
+
id: "vehicle",
|
|
18517
|
+
name: "Vehicle"
|
|
18518
|
+
},
|
|
18519
|
+
{
|
|
18520
|
+
id: "animal",
|
|
18521
|
+
name: "Animal"
|
|
18522
|
+
},
|
|
18523
|
+
{
|
|
18524
|
+
id: "package",
|
|
18525
|
+
name: "Package"
|
|
18526
|
+
}
|
|
18527
|
+
].map((l) => l.id));
|
|
18528
|
+
var COCO_TO_MACRO = {
|
|
18529
|
+
mapping: {
|
|
18530
|
+
person: "person",
|
|
18531
|
+
bicycle: "vehicle",
|
|
18532
|
+
car: "vehicle",
|
|
18533
|
+
motorcycle: "vehicle",
|
|
18534
|
+
airplane: "vehicle",
|
|
18535
|
+
bus: "vehicle",
|
|
18536
|
+
train: "vehicle",
|
|
18537
|
+
truck: "vehicle",
|
|
18538
|
+
boat: "vehicle",
|
|
18539
|
+
bird: "animal",
|
|
18540
|
+
cat: "animal",
|
|
18541
|
+
dog: "animal",
|
|
18542
|
+
horse: "animal",
|
|
18543
|
+
sheep: "animal",
|
|
18544
|
+
cow: "animal",
|
|
18545
|
+
elephant: "animal",
|
|
18546
|
+
bear: "animal",
|
|
18547
|
+
zebra: "animal",
|
|
18548
|
+
giraffe: "animal",
|
|
18549
|
+
suitcase: "package",
|
|
18550
|
+
backpack: "package",
|
|
18551
|
+
handbag: "package"
|
|
18552
|
+
},
|
|
18553
|
+
preserveOriginal: false
|
|
18554
|
+
};
|
|
18529
18555
|
var AUDIO_MACRO_LABELS = [
|
|
18530
18556
|
{
|
|
18531
18557
|
id: "speech",
|
|
@@ -19321,6 +19347,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
19321
19347
|
"stream-offline",
|
|
19322
19348
|
"node-online",
|
|
19323
19349
|
"node-offline",
|
|
19350
|
+
"node-restarting",
|
|
19351
|
+
"node-updating",
|
|
19324
19352
|
"node-inference-unavailable",
|
|
19325
19353
|
"detection-blind",
|
|
19326
19354
|
"addon-crash-loop",
|
|
@@ -23854,6 +23882,34 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
23854
23882
|
timestamp: number()
|
|
23855
23883
|
});
|
|
23856
23884
|
/**
|
|
23885
|
+
* A root model's boxes standing in for one crop-kind step's own inference
|
|
23886
|
+
* (D730) — see `runPipeline.suppliedRoot`.
|
|
23887
|
+
*/
|
|
23888
|
+
var SuppliedRootOutputSchema = object({
|
|
23889
|
+
stepId: string(),
|
|
23890
|
+
/** The root model that drew the boxes — stamped on the result. */
|
|
23891
|
+
modelId: string(),
|
|
23892
|
+
detections: array(object({
|
|
23893
|
+
/** `[x1, y1, x2, y2]` in the pixels of the call's image. */
|
|
23894
|
+
bbox: tuple([
|
|
23895
|
+
number(),
|
|
23896
|
+
number(),
|
|
23897
|
+
number(),
|
|
23898
|
+
number()
|
|
23899
|
+
]),
|
|
23900
|
+
score: number(),
|
|
23901
|
+
/**
|
|
23902
|
+
* Five facial landmarks in the same pixels — a face the step's own
|
|
23903
|
+
* detector already re-found inside a root face box (D730), so its
|
|
23904
|
+
* embedder child aligns it exactly as it aligns any detected face.
|
|
23905
|
+
*/
|
|
23906
|
+
landmarks: array(object({
|
|
23907
|
+
x: number(),
|
|
23908
|
+
y: number()
|
|
23909
|
+
})).optional()
|
|
23910
|
+
})).min(1)
|
|
23911
|
+
});
|
|
23912
|
+
/**
|
|
23857
23913
|
* Reference to the frame's retained NATIVE surface + the parent crop's placement
|
|
23858
23914
|
* within the frame, so the executor can re-cut a leaf child ROI at native
|
|
23859
23915
|
* resolution on the detail plane. See the `runPipeline` `nativeCropRef` field.
|
|
@@ -23984,7 +24040,7 @@ var PipelineModelOptionSchema = object({
|
|
|
23984
24040
|
legacy: boolean().optional(),
|
|
23985
24041
|
provider: ModelProviderIdSchema.optional(),
|
|
23986
24042
|
defaultConfidence: number().optional(),
|
|
23987
|
-
|
|
24043
|
+
suppliesSteps: array(RootStepSupplySchema).readonly().optional()
|
|
23988
24044
|
});
|
|
23989
24045
|
var ConfigFieldBridge = custom();
|
|
23990
24046
|
var PipelineAddonSchemaSchema = object({
|
|
@@ -24252,7 +24308,16 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
|
|
|
24252
24308
|
* `device-not-servable`), and nothing reaches the camera's live
|
|
24253
24309
|
* trace stream. Absent ⇒ unchanged behaviour.
|
|
24254
24310
|
*/
|
|
24255
|
-
replay: literal(true).optional()
|
|
24311
|
+
replay: literal(true).optional(),
|
|
24312
|
+
/**
|
|
24313
|
+
* Root-supplied detections for the tree's ROOT step (D730). Set by
|
|
24314
|
+
* `runDetailSubtree` when the camera's root model supplies a crop-kind
|
|
24315
|
+
* step (a Frigate+ `license_plate` for `plate-detection`): the step is
|
|
24316
|
+
* NOT inferred, these boxes are its output, and its children (the plate
|
|
24317
|
+
* reader) run on them through their own crop policy. Boxes are in the
|
|
24318
|
+
* PIXELS of the image this call carries. Absent ⇒ the root step runs.
|
|
24319
|
+
*/
|
|
24320
|
+
suppliedRoot: SuppliedRootOutputSchema.optional()
|
|
24256
24321
|
}), PipelineRunResultBridge, { kind: "mutation" }), method(object({
|
|
24257
24322
|
steps: array(PipelineStepInputSchema).min(1),
|
|
24258
24323
|
frames: array(FrameInputSchema).min(1).max(255),
|
|
@@ -25394,7 +25459,22 @@ method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mu
|
|
|
25394
25459
|
*/
|
|
25395
25460
|
cropJpeg: string().optional(),
|
|
25396
25461
|
parent: DetailParentSchema,
|
|
25397
|
-
steps: array(string()).optional()
|
|
25462
|
+
steps: array(string()).optional(),
|
|
25463
|
+
/**
|
|
25464
|
+
* The camera's root model already drew this step's boxes (D730): a
|
|
25465
|
+
* `license_plate` inside the parent vehicle. The named step is NOT
|
|
25466
|
+
* inferred — these FRAME-space boxes are its output — and its
|
|
25467
|
+
* requested children (the plate reader) run on them. Absent ⇒ every
|
|
25468
|
+
* requested step infers as before.
|
|
25469
|
+
*/
|
|
25470
|
+
supplied: object({
|
|
25471
|
+
stepId: string(),
|
|
25472
|
+
modelId: string(),
|
|
25473
|
+
boxes: array(object({
|
|
25474
|
+
bbox: NativeCropBboxSchema,
|
|
25475
|
+
score: number()
|
|
25476
|
+
})).min(1)
|
|
25477
|
+
}).optional()
|
|
25398
25478
|
}), object({ details: array(DetailResultSchema) }).nullable(), { kind: "mutation" }), method(object({
|
|
25399
25479
|
/** Catalog step id, e.g. `clip-embedding`. */
|
|
25400
25480
|
stepId: string(),
|
|
@@ -28724,6 +28804,14 @@ DeviceType.Camera, method(object({ deviceId: number().int().nonnegative() }), ar
|
|
|
28724
28804
|
*/
|
|
28725
28805
|
alive: boolean()
|
|
28726
28806
|
})), method(object({
|
|
28807
|
+
deviceId: number().int().nonnegative(),
|
|
28808
|
+
sessionId: string(),
|
|
28809
|
+
downlinkMbps: number().nonnegative()
|
|
28810
|
+
}), object({
|
|
28811
|
+
outcome: _enum(["switching", "held"]),
|
|
28812
|
+
tier: CamProfileSchema.nullable(),
|
|
28813
|
+
reason: string()
|
|
28814
|
+
}), { kind: "mutation" }), method(object({
|
|
28727
28815
|
deviceId: number().int().nonnegative(),
|
|
28728
28816
|
sessionId: string()
|
|
28729
28817
|
}), WebrtcSessionDebugSchema, { kind: "query" });
|
|
@@ -32633,7 +32721,8 @@ var ConnectionEndpointSchema = object({
|
|
|
32633
32721
|
"lan-ipv6",
|
|
32634
32722
|
"public",
|
|
32635
32723
|
"loopback",
|
|
32636
|
-
"app-link"
|
|
32724
|
+
"app-link",
|
|
32725
|
+
"custom"
|
|
32637
32726
|
]),
|
|
32638
32727
|
/**
|
|
32639
32728
|
* Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
|
|
@@ -32735,6 +32824,76 @@ var ViewerEndpointsSchema = object({
|
|
|
32735
32824
|
/** What the ranking currently resolves to (may be empty if nothing is up). */
|
|
32736
32825
|
resolved: array(string()).readonly()
|
|
32737
32826
|
});
|
|
32827
|
+
/**
|
|
32828
|
+
* DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
|
|
32829
|
+
* one release for addons built against it): `cluster` is the `agents` role,
|
|
32830
|
+
* `browser` the `signIn` role; `override` is the flagged address.
|
|
32831
|
+
*/
|
|
32832
|
+
var HubAddressSnapshotSchema = object({
|
|
32833
|
+
override: string().nullable(),
|
|
32834
|
+
resolved: string().nullable(),
|
|
32835
|
+
source: _enum([
|
|
32836
|
+
"override",
|
|
32837
|
+
"auto",
|
|
32838
|
+
"none"
|
|
32839
|
+
])
|
|
32840
|
+
});
|
|
32841
|
+
var HubAddressesSchema = object({
|
|
32842
|
+
cluster: HubAddressSnapshotSchema,
|
|
32843
|
+
browser: HubAddressSnapshotSchema
|
|
32844
|
+
});
|
|
32845
|
+
/**
|
|
32846
|
+
* What an address is used for (`hub-address.ts`). `viewer` is many-valued;
|
|
32847
|
+
* `notifications`, `agents` and `signIn` are carried by at most one address.
|
|
32848
|
+
*/
|
|
32849
|
+
var HubAddressRoleSchema = _enum([
|
|
32850
|
+
"viewer",
|
|
32851
|
+
"notifications",
|
|
32852
|
+
"agents",
|
|
32853
|
+
"signIn"
|
|
32854
|
+
]);
|
|
32855
|
+
var RoleSourceSchema = _enum([
|
|
32856
|
+
"flagged",
|
|
32857
|
+
"auto",
|
|
32858
|
+
"none"
|
|
32859
|
+
]);
|
|
32860
|
+
/** One single-valued role: the flagged address, the one in use, and why. */
|
|
32861
|
+
var HubAddressRoleResolutionSchema = object({
|
|
32862
|
+
/** The address carrying the flag, or null = automatic. */
|
|
32863
|
+
flagged: string().nullable(),
|
|
32864
|
+
/** The address in use, or null when nothing qualifies (never loopback). */
|
|
32865
|
+
resolved: string().nullable(),
|
|
32866
|
+
source: RoleSourceSchema
|
|
32867
|
+
});
|
|
32868
|
+
var HubViewerResolutionSchema = object({
|
|
32869
|
+
/** The addresses flagged `viewer`, or empty = automatic. */
|
|
32870
|
+
flagged: array(string()).readonly(),
|
|
32871
|
+
/** What the apps race right now. */
|
|
32872
|
+
resolved: array(string()).readonly(),
|
|
32873
|
+
source: RoleSourceSchema
|
|
32874
|
+
});
|
|
32875
|
+
var HubAddressBookSchema = object({
|
|
32876
|
+
rows: array(ConnectionEndpointSchema.extend({
|
|
32877
|
+
/** In the hub's detected palette right now. */
|
|
32878
|
+
detected: boolean(),
|
|
32879
|
+
/** Entered by the operator (removable). */
|
|
32880
|
+
custom: boolean(),
|
|
32881
|
+
/** The roles explicitly flagged on this address. */
|
|
32882
|
+
flags: array(HubAddressRoleSchema).readonly(),
|
|
32883
|
+
/** The roles this address serves right now — flagged or automatic. */
|
|
32884
|
+
inUse: array(HubAddressRoleSchema).readonly(),
|
|
32885
|
+
/** The roles this address may be flagged with. */
|
|
32886
|
+
eligible: array(HubAddressRoleSchema).readonly()
|
|
32887
|
+
})).readonly(),
|
|
32888
|
+
roles: object({
|
|
32889
|
+
viewer: HubViewerResolutionSchema,
|
|
32890
|
+
notifications: HubAddressRoleResolutionSchema,
|
|
32891
|
+
agents: HubAddressRoleResolutionSchema,
|
|
32892
|
+
signIn: HubAddressRoleResolutionSchema
|
|
32893
|
+
}),
|
|
32894
|
+
/** The `hub=` an app link carries (D709), or null. */
|
|
32895
|
+
appLinkHub: string().nullable()
|
|
32896
|
+
});
|
|
32738
32897
|
var AllowedAddressesSchema = object({
|
|
32739
32898
|
/**
|
|
32740
32899
|
* Allowlist of interface addresses operators have explicitly opted
|
|
@@ -32781,7 +32940,24 @@ method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(obje
|
|
|
32781
32940
|
* an address notification links can be flagged with, not a hub
|
|
32782
32941
|
* route. Default `false`: racers and rankers never see it. */
|
|
32783
32942
|
includeAppLink: boolean().optional()
|
|
32784
|
-
}), GetConnectionEndpointsResultSchema), method(_void(), NotificationEndpointSchema), method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }), method(_void(), ViewerEndpointsSchema), method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }), method(
|
|
32943
|
+
}), GetConnectionEndpointsResultSchema), method(_void(), NotificationEndpointSchema), method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }), method(_void(), ViewerEndpointsSchema), method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }), method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema), method(object({
|
|
32944
|
+
baseUrl: string(),
|
|
32945
|
+
label: string().max(80)
|
|
32946
|
+
}), HubAddressBookSchema, {
|
|
32947
|
+
kind: "mutation",
|
|
32948
|
+
auth: "admin"
|
|
32949
|
+
}), method(object({ baseUrl: string() }), HubAddressBookSchema, {
|
|
32950
|
+
kind: "mutation",
|
|
32951
|
+
auth: "admin"
|
|
32952
|
+
}), method(object({
|
|
32953
|
+
role: HubAddressRoleSchema,
|
|
32954
|
+
baseUrl: string().nullable(),
|
|
32955
|
+
enabled: boolean(),
|
|
32956
|
+
acceptInsecureHttp: boolean().optional()
|
|
32957
|
+
}), HubAddressBookSchema, {
|
|
32958
|
+
kind: "mutation",
|
|
32959
|
+
auth: "admin"
|
|
32960
|
+
}), method(_void(), HubAddressesSchema), method(_void(), AllowedAddressesSchema), method(AllowedAddressesSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), AllowedAddressesSchema, { kind: "mutation" }), method(_void(), TlsStatusSchema), method(object({ reason: string().optional() }), TlsStatusSchema, {
|
|
32785
32961
|
kind: "mutation",
|
|
32786
32962
|
auth: "admin"
|
|
32787
32963
|
}), method(object({
|
|
@@ -33239,7 +33415,8 @@ var MotionStatusSchema = object({
|
|
|
33239
33415
|
* writes this slice (not even a boot seed), and neither does the runner's
|
|
33240
33416
|
* phase machine: its phase is "a session is attached" for every on-motion
|
|
33241
33417
|
* session, not motion, and it now has its own `DetectionPhaseTransition`.
|
|
33242
|
-
* A provider's `isDetected`
|
|
33418
|
+
* A provider's `isDetected` and `getStatus` answer from the hub's slice
|
|
33419
|
+
* (`hubMotionNativeProvider`).
|
|
33243
33420
|
* - **Sensors** (Home Assistant binary sensors, Homematic, Matter, Alexa
|
|
33244
33421
|
* imports) — the provider pushes both edges itself, from the upstream
|
|
33245
33422
|
* system's own state change. That is the sensor's own fact.
|
|
@@ -44238,12 +44415,24 @@ Object.freeze({
|
|
|
44238
44415
|
addonId: null,
|
|
44239
44416
|
access: "view"
|
|
44240
44417
|
},
|
|
44418
|
+
"localNetwork.addCustomAddress": {
|
|
44419
|
+
capName: "local-network",
|
|
44420
|
+
capScope: "system",
|
|
44421
|
+
addonId: null,
|
|
44422
|
+
access: "create"
|
|
44423
|
+
},
|
|
44241
44424
|
"localNetwork.downloadCa": {
|
|
44242
44425
|
capName: "local-network",
|
|
44243
44426
|
capScope: "system",
|
|
44244
44427
|
addonId: null,
|
|
44245
44428
|
access: "view"
|
|
44246
44429
|
},
|
|
44430
|
+
"localNetwork.getAddresses": {
|
|
44431
|
+
capName: "local-network",
|
|
44432
|
+
capScope: "system",
|
|
44433
|
+
addonId: null,
|
|
44434
|
+
access: "view"
|
|
44435
|
+
},
|
|
44247
44436
|
"localNetwork.getAllowedAddresses": {
|
|
44248
44437
|
capName: "local-network",
|
|
44249
44438
|
capScope: "system",
|
|
@@ -44256,6 +44445,12 @@ Object.freeze({
|
|
|
44256
44445
|
addonId: null,
|
|
44257
44446
|
access: "view"
|
|
44258
44447
|
},
|
|
44448
|
+
"localNetwork.getHubAddresses": {
|
|
44449
|
+
capName: "local-network",
|
|
44450
|
+
capScope: "system",
|
|
44451
|
+
addonId: null,
|
|
44452
|
+
access: "view"
|
|
44453
|
+
},
|
|
44259
44454
|
"localNetwork.getNotificationEndpoint": {
|
|
44260
44455
|
capName: "local-network",
|
|
44261
44456
|
capScope: "system",
|
|
@@ -44292,6 +44487,12 @@ Object.freeze({
|
|
|
44292
44487
|
addonId: null,
|
|
44293
44488
|
access: "create"
|
|
44294
44489
|
},
|
|
44490
|
+
"localNetwork.removeCustomAddress": {
|
|
44491
|
+
capName: "local-network",
|
|
44492
|
+
capScope: "system",
|
|
44493
|
+
addonId: null,
|
|
44494
|
+
access: "delete"
|
|
44495
|
+
},
|
|
44295
44496
|
"localNetwork.resetAllowlistToBestMatch": {
|
|
44296
44497
|
capName: "local-network",
|
|
44297
44498
|
capScope: "system",
|
|
@@ -44304,6 +44505,12 @@ Object.freeze({
|
|
|
44304
44505
|
addonId: null,
|
|
44305
44506
|
access: "create"
|
|
44306
44507
|
},
|
|
44508
|
+
"localNetwork.setAddressRole": {
|
|
44509
|
+
capName: "local-network",
|
|
44510
|
+
capScope: "system",
|
|
44511
|
+
addonId: null,
|
|
44512
|
+
access: "create"
|
|
44513
|
+
},
|
|
44307
44514
|
"localNetwork.setAllowedAddresses": {
|
|
44308
44515
|
capName: "local-network",
|
|
44309
44516
|
capScope: "system",
|
|
@@ -48558,6 +48765,12 @@ Object.freeze({
|
|
|
48558
48765
|
addonId: null,
|
|
48559
48766
|
access: "create"
|
|
48560
48767
|
},
|
|
48768
|
+
"webrtcSession.applyDownlinkProbe": {
|
|
48769
|
+
capName: "webrtc-session",
|
|
48770
|
+
capScope: "device",
|
|
48771
|
+
addonId: null,
|
|
48772
|
+
access: "create"
|
|
48773
|
+
},
|
|
48561
48774
|
"webrtcSession.closeSession": {
|
|
48562
48775
|
capName: "webrtc-session",
|
|
48563
48776
|
capScope: "device",
|
|
@@ -52480,6 +52693,11 @@ Object.freeze({
|
|
|
52480
52693
|
form: "single",
|
|
52481
52694
|
optional: false
|
|
52482
52695
|
}],
|
|
52696
|
+
"webrtcSession.applyDownlinkProbe": [{
|
|
52697
|
+
name: "deviceId",
|
|
52698
|
+
form: "single",
|
|
52699
|
+
optional: false
|
|
52700
|
+
}],
|
|
52483
52701
|
"webrtcSession.closeSession": [{
|
|
52484
52702
|
name: "deviceId",
|
|
52485
52703
|
form: "single",
|
|
@@ -52916,6 +53134,8 @@ new Map(Object.entries({
|
|
|
52916
53134
|
"detection-blind": "device-events",
|
|
52917
53135
|
"node-online": "system",
|
|
52918
53136
|
"node-offline": "system",
|
|
53137
|
+
"node-restarting": "system",
|
|
53138
|
+
"node-updating": "system",
|
|
52919
53139
|
"node-inference-unavailable": "system",
|
|
52920
53140
|
"addon-crash-loop": "system",
|
|
52921
53141
|
"addon-update-available": "system",
|
|
@@ -52993,6 +53213,7 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
52993
53213
|
kinds: [
|
|
52994
53214
|
"node-offline",
|
|
52995
53215
|
"node-online",
|
|
53216
|
+
"node-restarting",
|
|
52996
53217
|
"node-inference-unavailable"
|
|
52997
53218
|
]
|
|
52998
53219
|
},
|
|
@@ -53014,6 +53235,7 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
53014
53235
|
label: "Server & container updates",
|
|
53015
53236
|
kinds: [
|
|
53016
53237
|
"server-update-available",
|
|
53238
|
+
"node-updating",
|
|
53017
53239
|
"server-updated",
|
|
53018
53240
|
"wrapper-update-available"
|
|
53019
53241
|
]
|
|
@@ -53161,6 +53383,7 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
53161
53383
|
kinds: [
|
|
53162
53384
|
"node-offline",
|
|
53163
53385
|
"node-online",
|
|
53386
|
+
"node-restarting",
|
|
53164
53387
|
"node-inference-unavailable"
|
|
53165
53388
|
]
|
|
53166
53389
|
},
|
|
@@ -53182,6 +53405,7 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
53182
53405
|
example: "server 1.2.377 → 1.2.378",
|
|
53183
53406
|
kinds: [
|
|
53184
53407
|
"server-update-available",
|
|
53408
|
+
"node-updating",
|
|
53185
53409
|
"server-updated",
|
|
53186
53410
|
"wrapper-update-available"
|
|
53187
53411
|
]
|
|
@@ -53214,7 +53438,7 @@ var STATE_SUMMARY_VARS = [
|
|
|
53214
53438
|
{
|
|
53215
53439
|
name: "summarySection",
|
|
53216
53440
|
label: "Summary: this section",
|
|
53217
|
-
description: "The section a per-section summary row is about
|
|
53441
|
+
description: "The section a per-section summary row is about; on a summary sent as one message, every section it reports, comma-separated.",
|
|
53218
53442
|
example: "Batterie scariche",
|
|
53219
53443
|
group: "system",
|
|
53220
53444
|
families: ["rule"],
|