@camstack/addon-provider-homeassistant 1.2.159 → 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.
@@ -5379,7 +5379,7 @@ var ZodIssueCode = {
5379
5379
  var ZodFirstPartyTypeKind;
5380
5380
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5381
5381
  //#endregion
5382
- //#region ../types/dist/sleep-DXKLNFvA.mjs
5382
+ //#region ../types/dist/sleep-C16NCZR2.mjs
5383
5383
  /**
5384
5384
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5385
5385
  * window to float samples (D455).
@@ -10668,6 +10668,15 @@ var ClipSearchStrictnessSchema = _enum([
10668
10668
  "balanced",
10669
10669
  "strict"
10670
10670
  ]);
10671
+ /** Steps whose effect a root label can BE. */
10672
+ var LABEL_SUPPLY_STEP_IDS = [
10673
+ "animal-classifier",
10674
+ "vehicle-classifier",
10675
+ "package-detection"
10676
+ ];
10677
+ /** Steps whose box a root detection can BE. */
10678
+ var CROP_SUPPLY_STEP_IDS = ["plate-detection", "face-detection"];
10679
+ [...LABEL_SUPPLY_STEP_IDS, ...CROP_SUPPLY_STEP_IDS];
10671
10680
  var MODEL_FORMATS = [
10672
10681
  "onnx",
10673
10682
  "coreml",
@@ -10800,6 +10809,35 @@ var ModelLicenseSchema = preprocess((value) => typeof value === "string" ? { wei
10800
10809
  /** True when the weights or their data forbid commercial use. */
10801
10810
  nonCommercial: boolean().optional()
10802
10811
  }));
10812
+ /**
10813
+ * One step a ROOT detector can supply from its own output (D730) — see
10814
+ * `ModelCatalogEntry.suppliesSteps`.
10815
+ *
10816
+ * - `label`: the root's raw class IS the step's answer. `labelToEffect` maps
10817
+ * the root's label to the step's vocabulary; `uncovered` is the vocabulary
10818
+ * the root cannot produce (shown as unavailable, never a blocker).
10819
+ * - `crop`: the root draws the box the step would have found (`license_plate`
10820
+ * for plate-detection, `face` for face-detection). The box becomes a detail
10821
+ * child of the `parentMacro` detection that contains it — never a track.
10822
+ */
10823
+ var RootStepSupplySchema = discriminatedUnion("kind", [object({
10824
+ kind: literal("label"),
10825
+ stepId: _enum(LABEL_SUPPLY_STEP_IDS),
10826
+ labelToEffect: record(string(), string()),
10827
+ uncovered: array(string()).readonly()
10828
+ }), object({
10829
+ kind: literal("crop"),
10830
+ stepId: _enum(CROP_SUPPLY_STEP_IDS),
10831
+ rootLabels: array(string()).readonly(),
10832
+ parentMacro: _enum(["vehicle", "person"]),
10833
+ childClass: _enum(["plate", "face"]),
10834
+ /**
10835
+ * The root's smaller input side, stamped on read by `rootSuppliesOf` from
10836
+ * the model entry — what a step's `minRootInputPx` gate judges. Never
10837
+ * stored by an import.
10838
+ */
10839
+ rootInputPx: number().int().positive().optional()
10840
+ })]);
10803
10841
  var ModelCatalogEntrySchema = object({
10804
10842
  id: string(),
10805
10843
  name: string(),
@@ -10926,6 +10964,16 @@ var ModelCatalogEntrySchema = object({
10926
10964
  */
10927
10965
  classMap: DetectionCatalogClassMapSchema.optional(),
10928
10966
  /**
10967
+ * The pipeline steps this ROOT detector can supply from its own output
10968
+ * (D730): its labels name a step's effect (`deer` for `animal-classifier`)
10969
+ * or draw a step's box (`license_plate` for `plate-detection`). Computed at
10970
+ * import from THIS model's labelmap by `deriveRootSupplies`, never written
10971
+ * by hand and never assumed per family; a row without it is derived on read
10972
+ * (`rootSuppliesOf`). Whether a camera uses it is the step's own
10973
+ * `useRootModel` flag (`resolveRootSupply`).
10974
+ */
10975
+ suppliesSteps: array(RootStepSupplySchema).readonly().optional(),
10976
+ /**
10929
10977
  * The model's CLIP feature-space contract (text encoder, dimension, vector
10930
10978
  * index, token window, search floor) — see `clip-model.ts`. Present ONLY on a
10931
10979
  * CLIP image encoder; its absence is what "not a CLIP model" means to the
@@ -19300,6 +19348,8 @@ var NcSystemEventKindSchema = _enum([
19300
19348
  "stream-offline",
19301
19349
  "node-online",
19302
19350
  "node-offline",
19351
+ "node-restarting",
19352
+ "node-updating",
19303
19353
  "node-inference-unavailable",
19304
19354
  "detection-blind",
19305
19355
  "addon-crash-loop",
@@ -23833,6 +23883,34 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
23833
23883
  timestamp: number()
23834
23884
  });
23835
23885
  /**
23886
+ * A root model's boxes standing in for one crop-kind step's own inference
23887
+ * (D730) — see `runPipeline.suppliedRoot`.
23888
+ */
23889
+ var SuppliedRootOutputSchema = object({
23890
+ stepId: string(),
23891
+ /** The root model that drew the boxes — stamped on the result. */
23892
+ modelId: string(),
23893
+ detections: array(object({
23894
+ /** `[x1, y1, x2, y2]` in the pixels of the call's image. */
23895
+ bbox: tuple([
23896
+ number(),
23897
+ number(),
23898
+ number(),
23899
+ number()
23900
+ ]),
23901
+ score: number(),
23902
+ /**
23903
+ * Five facial landmarks in the same pixels — a face the step's own
23904
+ * detector already re-found inside a root face box (D730), so its
23905
+ * embedder child aligns it exactly as it aligns any detected face.
23906
+ */
23907
+ landmarks: array(object({
23908
+ x: number(),
23909
+ y: number()
23910
+ })).optional()
23911
+ })).min(1)
23912
+ });
23913
+ /**
23836
23914
  * Reference to the frame's retained NATIVE surface + the parent crop's placement
23837
23915
  * within the frame, so the executor can re-cut a leaf child ROI at native
23838
23916
  * resolution on the detail plane. See the `runPipeline` `nativeCropRef` field.
@@ -23962,7 +24040,8 @@ var PipelineModelOptionSchema = object({
23962
24040
  group: ModelVariantGroupSchema.optional(),
23963
24041
  legacy: boolean().optional(),
23964
24042
  provider: ModelProviderIdSchema.optional(),
23965
- defaultConfidence: number().optional()
24043
+ defaultConfidence: number().optional(),
24044
+ suppliesSteps: array(RootStepSupplySchema).readonly().optional()
23966
24045
  });
23967
24046
  var ConfigFieldBridge = custom();
23968
24047
  var PipelineAddonSchemaSchema = object({
@@ -24230,7 +24309,16 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
24230
24309
  * `device-not-servable`), and nothing reaches the camera's live
24231
24310
  * trace stream. Absent ⇒ unchanged behaviour.
24232
24311
  */
24233
- replay: literal(true).optional()
24312
+ replay: literal(true).optional(),
24313
+ /**
24314
+ * Root-supplied detections for the tree's ROOT step (D730). Set by
24315
+ * `runDetailSubtree` when the camera's root model supplies a crop-kind
24316
+ * step (a Frigate+ `license_plate` for `plate-detection`): the step is
24317
+ * NOT inferred, these boxes are its output, and its children (the plate
24318
+ * reader) run on them through their own crop policy. Boxes are in the
24319
+ * PIXELS of the image this call carries. Absent ⇒ the root step runs.
24320
+ */
24321
+ suppliedRoot: SuppliedRootOutputSchema.optional()
24234
24322
  }), PipelineRunResultBridge, { kind: "mutation" }), method(object({
24235
24323
  steps: array(PipelineStepInputSchema).min(1),
24236
24324
  frames: array(FrameInputSchema).min(1).max(255),
@@ -25372,7 +25460,22 @@ method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mu
25372
25460
  */
25373
25461
  cropJpeg: string().optional(),
25374
25462
  parent: DetailParentSchema,
25375
- steps: array(string()).optional()
25463
+ steps: array(string()).optional(),
25464
+ /**
25465
+ * The camera's root model already drew this step's boxes (D730): a
25466
+ * `license_plate` inside the parent vehicle. The named step is NOT
25467
+ * inferred — these FRAME-space boxes are its output — and its
25468
+ * requested children (the plate reader) run on them. Absent ⇒ every
25469
+ * requested step infers as before.
25470
+ */
25471
+ supplied: object({
25472
+ stepId: string(),
25473
+ modelId: string(),
25474
+ boxes: array(object({
25475
+ bbox: NativeCropBboxSchema,
25476
+ score: number()
25477
+ })).min(1)
25478
+ }).optional()
25376
25479
  }), object({ details: array(DetailResultSchema) }).nullable(), { kind: "mutation" }), method(object({
25377
25480
  /** Catalog step id, e.g. `clip-embedding`. */
25378
25481
  stepId: string(),
@@ -28702,6 +28805,14 @@ DeviceType.Camera, method(object({ deviceId: number().int().nonnegative() }), ar
28702
28805
  */
28703
28806
  alive: boolean()
28704
28807
  })), method(object({
28808
+ deviceId: number().int().nonnegative(),
28809
+ sessionId: string(),
28810
+ downlinkMbps: number().nonnegative()
28811
+ }), object({
28812
+ outcome: _enum(["switching", "held"]),
28813
+ tier: CamProfileSchema.nullable(),
28814
+ reason: string()
28815
+ }), { kind: "mutation" }), method(object({
28705
28816
  deviceId: number().int().nonnegative(),
28706
28817
  sessionId: string()
28707
28818
  }), WebrtcSessionDebugSchema, { kind: "query" });
@@ -32611,7 +32722,8 @@ var ConnectionEndpointSchema = object({
32611
32722
  "lan-ipv6",
32612
32723
  "public",
32613
32724
  "loopback",
32614
- "app-link"
32725
+ "app-link",
32726
+ "custom"
32615
32727
  ]),
32616
32728
  /**
32617
32729
  * Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
@@ -32713,6 +32825,76 @@ var ViewerEndpointsSchema = object({
32713
32825
  /** What the ranking currently resolves to (may be empty if nothing is up). */
32714
32826
  resolved: array(string()).readonly()
32715
32827
  });
32828
+ /**
32829
+ * DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
32830
+ * one release for addons built against it): `cluster` is the `agents` role,
32831
+ * `browser` the `signIn` role; `override` is the flagged address.
32832
+ */
32833
+ var HubAddressSnapshotSchema = object({
32834
+ override: string().nullable(),
32835
+ resolved: string().nullable(),
32836
+ source: _enum([
32837
+ "override",
32838
+ "auto",
32839
+ "none"
32840
+ ])
32841
+ });
32842
+ var HubAddressesSchema = object({
32843
+ cluster: HubAddressSnapshotSchema,
32844
+ browser: HubAddressSnapshotSchema
32845
+ });
32846
+ /**
32847
+ * What an address is used for (`hub-address.ts`). `viewer` is many-valued;
32848
+ * `notifications`, `agents` and `signIn` are carried by at most one address.
32849
+ */
32850
+ var HubAddressRoleSchema = _enum([
32851
+ "viewer",
32852
+ "notifications",
32853
+ "agents",
32854
+ "signIn"
32855
+ ]);
32856
+ var RoleSourceSchema = _enum([
32857
+ "flagged",
32858
+ "auto",
32859
+ "none"
32860
+ ]);
32861
+ /** One single-valued role: the flagged address, the one in use, and why. */
32862
+ var HubAddressRoleResolutionSchema = object({
32863
+ /** The address carrying the flag, or null = automatic. */
32864
+ flagged: string().nullable(),
32865
+ /** The address in use, or null when nothing qualifies (never loopback). */
32866
+ resolved: string().nullable(),
32867
+ source: RoleSourceSchema
32868
+ });
32869
+ var HubViewerResolutionSchema = object({
32870
+ /** The addresses flagged `viewer`, or empty = automatic. */
32871
+ flagged: array(string()).readonly(),
32872
+ /** What the apps race right now. */
32873
+ resolved: array(string()).readonly(),
32874
+ source: RoleSourceSchema
32875
+ });
32876
+ var HubAddressBookSchema = object({
32877
+ rows: array(ConnectionEndpointSchema.extend({
32878
+ /** In the hub's detected palette right now. */
32879
+ detected: boolean(),
32880
+ /** Entered by the operator (removable). */
32881
+ custom: boolean(),
32882
+ /** The roles explicitly flagged on this address. */
32883
+ flags: array(HubAddressRoleSchema).readonly(),
32884
+ /** The roles this address serves right now — flagged or automatic. */
32885
+ inUse: array(HubAddressRoleSchema).readonly(),
32886
+ /** The roles this address may be flagged with. */
32887
+ eligible: array(HubAddressRoleSchema).readonly()
32888
+ })).readonly(),
32889
+ roles: object({
32890
+ viewer: HubViewerResolutionSchema,
32891
+ notifications: HubAddressRoleResolutionSchema,
32892
+ agents: HubAddressRoleResolutionSchema,
32893
+ signIn: HubAddressRoleResolutionSchema
32894
+ }),
32895
+ /** The `hub=` an app link carries (D709), or null. */
32896
+ appLinkHub: string().nullable()
32897
+ });
32716
32898
  var AllowedAddressesSchema = object({
32717
32899
  /**
32718
32900
  * Allowlist of interface addresses operators have explicitly opted
@@ -32759,7 +32941,24 @@ method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(obje
32759
32941
  * an address notification links can be flagged with, not a hub
32760
32942
  * route. Default `false`: racers and rankers never see it. */
32761
32943
  includeAppLink: boolean().optional()
32762
- }), 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(_void(), AllowedAddressesSchema), method(AllowedAddressesSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), AllowedAddressesSchema, { kind: "mutation" }), method(_void(), TlsStatusSchema), method(object({ reason: string().optional() }), TlsStatusSchema, {
32944
+ }), 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({
32945
+ baseUrl: string(),
32946
+ label: string().max(80)
32947
+ }), HubAddressBookSchema, {
32948
+ kind: "mutation",
32949
+ auth: "admin"
32950
+ }), method(object({ baseUrl: string() }), HubAddressBookSchema, {
32951
+ kind: "mutation",
32952
+ auth: "admin"
32953
+ }), method(object({
32954
+ role: HubAddressRoleSchema,
32955
+ baseUrl: string().nullable(),
32956
+ enabled: boolean(),
32957
+ acceptInsecureHttp: boolean().optional()
32958
+ }), HubAddressBookSchema, {
32959
+ kind: "mutation",
32960
+ auth: "admin"
32961
+ }), 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, {
32763
32962
  kind: "mutation",
32764
32963
  auth: "admin"
32765
32964
  }), method(object({
@@ -33217,7 +33416,8 @@ var MotionStatusSchema = object({
33217
33416
  * writes this slice (not even a boot seed), and neither does the runner's
33218
33417
  * phase machine: its phase is "a session is attached" for every on-motion
33219
33418
  * session, not motion, and it now has its own `DetectionPhaseTransition`.
33220
- * A provider's `isDetected` answers from the hub's slice.
33419
+ * A provider's `isDetected` and `getStatus` answer from the hub's slice
33420
+ * (`hubMotionNativeProvider`).
33221
33421
  * - **Sensors** (Home Assistant binary sensors, Homematic, Matter, Alexa
33222
33422
  * imports) — the provider pushes both edges itself, from the upstream
33223
33423
  * system's own state change. That is the sensor's own fact.
@@ -44216,12 +44416,24 @@ Object.freeze({
44216
44416
  addonId: null,
44217
44417
  access: "view"
44218
44418
  },
44419
+ "localNetwork.addCustomAddress": {
44420
+ capName: "local-network",
44421
+ capScope: "system",
44422
+ addonId: null,
44423
+ access: "create"
44424
+ },
44219
44425
  "localNetwork.downloadCa": {
44220
44426
  capName: "local-network",
44221
44427
  capScope: "system",
44222
44428
  addonId: null,
44223
44429
  access: "view"
44224
44430
  },
44431
+ "localNetwork.getAddresses": {
44432
+ capName: "local-network",
44433
+ capScope: "system",
44434
+ addonId: null,
44435
+ access: "view"
44436
+ },
44225
44437
  "localNetwork.getAllowedAddresses": {
44226
44438
  capName: "local-network",
44227
44439
  capScope: "system",
@@ -44234,6 +44446,12 @@ Object.freeze({
44234
44446
  addonId: null,
44235
44447
  access: "view"
44236
44448
  },
44449
+ "localNetwork.getHubAddresses": {
44450
+ capName: "local-network",
44451
+ capScope: "system",
44452
+ addonId: null,
44453
+ access: "view"
44454
+ },
44237
44455
  "localNetwork.getNotificationEndpoint": {
44238
44456
  capName: "local-network",
44239
44457
  capScope: "system",
@@ -44270,6 +44488,12 @@ Object.freeze({
44270
44488
  addonId: null,
44271
44489
  access: "create"
44272
44490
  },
44491
+ "localNetwork.removeCustomAddress": {
44492
+ capName: "local-network",
44493
+ capScope: "system",
44494
+ addonId: null,
44495
+ access: "delete"
44496
+ },
44273
44497
  "localNetwork.resetAllowlistToBestMatch": {
44274
44498
  capName: "local-network",
44275
44499
  capScope: "system",
@@ -44282,6 +44506,12 @@ Object.freeze({
44282
44506
  addonId: null,
44283
44507
  access: "create"
44284
44508
  },
44509
+ "localNetwork.setAddressRole": {
44510
+ capName: "local-network",
44511
+ capScope: "system",
44512
+ addonId: null,
44513
+ access: "create"
44514
+ },
44285
44515
  "localNetwork.setAllowedAddresses": {
44286
44516
  capName: "local-network",
44287
44517
  capScope: "system",
@@ -48536,6 +48766,12 @@ Object.freeze({
48536
48766
  addonId: null,
48537
48767
  access: "create"
48538
48768
  },
48769
+ "webrtcSession.applyDownlinkProbe": {
48770
+ capName: "webrtc-session",
48771
+ capScope: "device",
48772
+ addonId: null,
48773
+ access: "create"
48774
+ },
48539
48775
  "webrtcSession.closeSession": {
48540
48776
  capName: "webrtc-session",
48541
48777
  capScope: "device",
@@ -52458,6 +52694,11 @@ Object.freeze({
52458
52694
  form: "single",
52459
52695
  optional: false
52460
52696
  }],
52697
+ "webrtcSession.applyDownlinkProbe": [{
52698
+ name: "deviceId",
52699
+ form: "single",
52700
+ optional: false
52701
+ }],
52461
52702
  "webrtcSession.closeSession": [{
52462
52703
  name: "deviceId",
52463
52704
  form: "single",
@@ -52894,6 +53135,8 @@ new Map(Object.entries({
52894
53135
  "detection-blind": "device-events",
52895
53136
  "node-online": "system",
52896
53137
  "node-offline": "system",
53138
+ "node-restarting": "system",
53139
+ "node-updating": "system",
52897
53140
  "node-inference-unavailable": "system",
52898
53141
  "addon-crash-loop": "system",
52899
53142
  "addon-update-available": "system",
@@ -52971,6 +53214,7 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
52971
53214
  kinds: [
52972
53215
  "node-offline",
52973
53216
  "node-online",
53217
+ "node-restarting",
52974
53218
  "node-inference-unavailable"
52975
53219
  ]
52976
53220
  },
@@ -52992,6 +53236,7 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
52992
53236
  label: "Server & container updates",
52993
53237
  kinds: [
52994
53238
  "server-update-available",
53239
+ "node-updating",
52995
53240
  "server-updated",
52996
53241
  "wrapper-update-available"
52997
53242
  ]
@@ -53139,6 +53384,7 @@ var STATE_SUMMARY_SECTION_VARS = [
53139
53384
  kinds: [
53140
53385
  "node-offline",
53141
53386
  "node-online",
53387
+ "node-restarting",
53142
53388
  "node-inference-unavailable"
53143
53389
  ]
53144
53390
  },
@@ -53160,6 +53406,7 @@ var STATE_SUMMARY_SECTION_VARS = [
53160
53406
  example: "server 1.2.377 → 1.2.378",
53161
53407
  kinds: [
53162
53408
  "server-update-available",
53409
+ "node-updating",
53163
53410
  "server-updated",
53164
53411
  "wrapper-update-available"
53165
53412
  ]
@@ -53192,7 +53439,7 @@ var STATE_SUMMARY_VARS = [
53192
53439
  {
53193
53440
  name: "summarySection",
53194
53441
  label: "Summary: this section",
53195
- description: "The section a per-section summary row is about (D698); on a summary sent as one message, every section it reports, comma-separated.",
53442
+ description: "The section a per-section summary row is about; on a summary sent as one message, every section it reports, comma-separated.",
53196
53443
  example: "Batterie scariche",
53197
53444
  group: "system",
53198
53445
  families: ["rule"],