@camstack/addon-provider-dreame 0.2.124 → 0.2.125

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.
Files changed (3) hide show
  1. package/dist/addon.js +120 -20
  2. package/dist/addon.mjs +120 -20
  3. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -58282,7 +58282,7 @@ var ZodIssueCode = {
58282
58282
  var ZodFirstPartyTypeKind;
58283
58283
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
58284
58284
  //#endregion
58285
- //#region ../types/dist/sleep-DXKLNFvA.mjs
58285
+ //#region ../types/dist/sleep-C16NCZR2.mjs
58286
58286
  /**
58287
58287
  * The audio chunk plane's byte format, and the ONE expansion from a coded
58288
58288
  * window to float samples (D455).
@@ -81194,6 +81194,14 @@ DeviceType.Camera, method(object({ deviceId: number().int().nonnegative() }), ar
81194
81194
  */
81195
81195
  alive: boolean()
81196
81196
  })), method(object({
81197
+ deviceId: number().int().nonnegative(),
81198
+ sessionId: string(),
81199
+ downlinkMbps: number().nonnegative()
81200
+ }), object({
81201
+ outcome: _enum(["switching", "held"]),
81202
+ tier: CamProfileSchema.nullable(),
81203
+ reason: string()
81204
+ }), { kind: "mutation" }), method(object({
81197
81205
  deviceId: number().int().nonnegative(),
81198
81206
  sessionId: string()
81199
81207
  }), WebrtcSessionDebugSchema, { kind: "query" });
@@ -85030,7 +85038,8 @@ var ConnectionEndpointSchema = object({
85030
85038
  "lan-ipv6",
85031
85039
  "public",
85032
85040
  "loopback",
85033
- "app-link"
85041
+ "app-link",
85042
+ "custom"
85034
85043
  ]),
85035
85044
  /**
85036
85045
  * Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
@@ -85133,13 +85142,12 @@ var ViewerEndpointsSchema = object({
85133
85142
  resolved: array(string()).readonly()
85134
85143
  });
85135
85144
  /**
85136
- * One audience's hub address (see `hub-address.ts`): the operator's stored
85137
- * override, the address in use, and where it came from.
85145
+ * DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
85146
+ * one release for addons built against it): `cluster` is the `agents` role,
85147
+ * `browser` the `signIn` role; `override` is the flagged address.
85138
85148
  */
85139
85149
  var HubAddressSnapshotSchema = object({
85140
- /** The operator's override, or null for automatic. */
85141
85150
  override: string().nullable(),
85142
- /** The address in use, or null when nothing qualifies (never loopback). */
85143
85151
  resolved: string().nullable(),
85144
85152
  source: _enum([
85145
85153
  "override",
@@ -85148,11 +85156,61 @@ var HubAddressSnapshotSchema = object({
85148
85156
  ])
85149
85157
  });
85150
85158
  var HubAddressesSchema = object({
85151
- /** "Hub address for agents" — agents' bundle/model pulls, LAN devices. */
85152
85159
  cluster: HubAddressSnapshotSchema,
85153
- /** "Public address for sign-in links" — e-mail links, OIDC, WebAuthn, OAuth2. */
85154
85160
  browser: HubAddressSnapshotSchema
85155
85161
  });
85162
+ /**
85163
+ * What an address is used for (`hub-address.ts`). `viewer` is many-valued;
85164
+ * `notifications`, `agents` and `signIn` are carried by at most one address.
85165
+ */
85166
+ var HubAddressRoleSchema = _enum([
85167
+ "viewer",
85168
+ "notifications",
85169
+ "agents",
85170
+ "signIn"
85171
+ ]);
85172
+ var RoleSourceSchema = _enum([
85173
+ "flagged",
85174
+ "auto",
85175
+ "none"
85176
+ ]);
85177
+ /** One single-valued role: the flagged address, the one in use, and why. */
85178
+ var HubAddressRoleResolutionSchema = object({
85179
+ /** The address carrying the flag, or null = automatic. */
85180
+ flagged: string().nullable(),
85181
+ /** The address in use, or null when nothing qualifies (never loopback). */
85182
+ resolved: string().nullable(),
85183
+ source: RoleSourceSchema
85184
+ });
85185
+ var HubViewerResolutionSchema = object({
85186
+ /** The addresses flagged `viewer`, or empty = automatic. */
85187
+ flagged: array(string()).readonly(),
85188
+ /** What the apps race right now. */
85189
+ resolved: array(string()).readonly(),
85190
+ source: RoleSourceSchema
85191
+ });
85192
+ var HubAddressBookSchema = object({
85193
+ rows: array(ConnectionEndpointSchema.extend({
85194
+ /** In the hub's detected palette right now. */
85195
+ detected: boolean(),
85196
+ /** Entered by the operator (removable). */
85197
+ custom: boolean(),
85198
+ /** The roles explicitly flagged on this address. */
85199
+ flags: array(HubAddressRoleSchema).readonly(),
85200
+ /** The roles this address serves right now — flagged or automatic. */
85201
+ inUse: array(HubAddressRoleSchema).readonly(),
85202
+ /** The roles this address may be flagged with. */
85203
+ eligible: array(HubAddressRoleSchema).readonly()
85204
+ })).readonly(),
85205
+ roles: object({
85206
+ viewer: HubViewerResolutionSchema,
85207
+ notifications: HubAddressRoleResolutionSchema,
85208
+ agents: HubAddressRoleResolutionSchema,
85209
+ signIn: HubAddressRoleResolutionSchema
85210
+ }),
85211
+ /** The `hub=` an app link carries (D709), or null. */
85212
+ appLinkHub: string().nullable()
85213
+ });
85156
85214
  var AllowedAddressesSchema = object({
85157
85215
  /**
85158
85216
  * Allowlist of interface addresses operators have explicitly opted
@@ -85199,13 +85257,24 @@ method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(obje
85199
85257
  * an address notification links can be flagged with, not a hub
85200
85258
  * route. Default `false`: racers and rankers never see it. */
85201
85259
  includeAppLink: boolean().optional()
85202
- }), 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(), HubAddressesSchema), method(object({
85203
- audience: _enum(["cluster", "browser"]),
85204
- baseUrl: string().nullable()
85205
- }), HubAddressesSchema, {
85260
+ }), 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({
85261
+ baseUrl: string(),
85262
+ label: string().max(80)
85263
+ }), HubAddressBookSchema, {
85264
+ kind: "mutation",
85265
+ auth: "admin"
85266
+ }), method(object({ baseUrl: string() }), HubAddressBookSchema, {
85267
+ kind: "mutation",
85268
+ auth: "admin"
85269
+ }), method(object({
85270
+ role: HubAddressRoleSchema,
85271
+ baseUrl: string().nullable(),
85272
+ enabled: boolean(),
85273
+ acceptInsecureHttp: boolean().optional()
85274
+ }), HubAddressBookSchema, {
85206
85275
  kind: "mutation",
85207
85276
  auth: "admin"
85208
- }), 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, {
85277
+ }), 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, {
85209
85278
  kind: "mutation",
85210
85279
  auth: "admin"
85211
85280
  }), method(object({
@@ -96811,12 +96880,24 @@ Object.freeze({
96811
96880
  addonId: null,
96812
96881
  access: "view"
96813
96882
  },
96883
+ "localNetwork.addCustomAddress": {
96884
+ capName: "local-network",
96885
+ capScope: "system",
96886
+ addonId: null,
96887
+ access: "create"
96888
+ },
96814
96889
  "localNetwork.downloadCa": {
96815
96890
  capName: "local-network",
96816
96891
  capScope: "system",
96817
96892
  addonId: null,
96818
96893
  access: "view"
96819
96894
  },
96895
+ "localNetwork.getAddresses": {
96896
+ capName: "local-network",
96897
+ capScope: "system",
96898
+ addonId: null,
96899
+ access: "view"
96900
+ },
96820
96901
  "localNetwork.getAllowedAddresses": {
96821
96902
  capName: "local-network",
96822
96903
  capScope: "system",
@@ -96871,6 +96952,12 @@ Object.freeze({
96871
96952
  addonId: null,
96872
96953
  access: "create"
96873
96954
  },
96955
+ "localNetwork.removeCustomAddress": {
96956
+ capName: "local-network",
96957
+ capScope: "system",
96958
+ addonId: null,
96959
+ access: "delete"
96960
+ },
96874
96961
  "localNetwork.resetAllowlistToBestMatch": {
96875
96962
  capName: "local-network",
96876
96963
  capScope: "system",
@@ -96883,13 +96970,13 @@ Object.freeze({
96883
96970
  addonId: null,
96884
96971
  access: "create"
96885
96972
  },
96886
- "localNetwork.setAllowedAddresses": {
96973
+ "localNetwork.setAddressRole": {
96887
96974
  capName: "local-network",
96888
96975
  capScope: "system",
96889
96976
  addonId: null,
96890
96977
  access: "create"
96891
96978
  },
96892
- "localNetwork.setHubAddress": {
96979
+ "localNetwork.setAllowedAddresses": {
96893
96980
  capName: "local-network",
96894
96981
  capScope: "system",
96895
96982
  addonId: null,
@@ -101143,6 +101230,12 @@ Object.freeze({
101143
101230
  addonId: null,
101144
101231
  access: "create"
101145
101232
  },
101233
+ "webrtcSession.applyDownlinkProbe": {
101234
+ capName: "webrtc-session",
101235
+ capScope: "device",
101236
+ addonId: null,
101237
+ access: "create"
101238
+ },
101146
101239
  "webrtcSession.closeSession": {
101147
101240
  capName: "webrtc-session",
101148
101241
  capScope: "device",
@@ -105065,6 +105158,11 @@ Object.freeze({
105065
105158
  form: "single",
105066
105159
  optional: false
105067
105160
  }],
105161
+ "webrtcSession.applyDownlinkProbe": [{
105162
+ name: "deviceId",
105163
+ form: "single",
105164
+ optional: false
105165
+ }],
105068
105166
  "webrtcSession.closeSession": [{
105069
105167
  name: "deviceId",
105070
105168
  form: "single",
@@ -108690,8 +108788,9 @@ function cameraStreamCatalog(session) {
108690
108788
  /**
108691
108789
  * The host the broker is told to dial. The provider and the ingest owner
108692
108790
  * share the hub today, but a broker on another node reaches the hub only
108693
- * through the hub's address for agents — `local-network.getHubAddresses()
108694
- * .cluster` (the Network page's override, else the detected LAN address).
108791
+ * through the hub's address for agents — `local-network.getAddresses()
108792
+ * .roles.agents` (the address flagged "Agents" on the Network page, else the
108793
+ * detected LAN address).
108695
108794
  * Loopback when that names nothing: then the only broker that can dial at
108696
108795
  * all is this node's own.
108697
108796
  */
@@ -155087,14 +155186,15 @@ var DreameCameraDevice = class extends DreameChildDevice {
155087
155186
  unsubscribeRefresh = null;
155088
155187
  /** Register the stream on the broker — the server, or the lazy sentinel (push semantics; the catalog is the durable copy). */
155089
155188
  /**
155090
- * The hub's address for agents (`local-network.getHubAddresses().cluster`:
155091
- * the Network page's override, else the detected LAN address). A failed
155189
+ * The hub's address for agents and LAN devices
155190
+ * (`local-network.getAddresses().roles.agents`: the address flagged
155191
+ * "Agents" on the Network page, else the detected LAN address). A failed
155092
155192
  * read is `null` — `advertisedRfcHost` then answers loopback, which this
155093
155193
  * node's own broker can still dial.
155094
155194
  */
155095
155195
  async hubClusterAddress() {
155096
155196
  try {
155097
- return (await this.ctx.api.localNetwork.getHubAddresses.query()).cluster.resolved;
155197
+ return (await this.ctx.api.localNetwork.getAddresses.query()).roles.agents.resolved;
155098
155198
  } catch (err) {
155099
155199
  this.ctx.logger.warn("robot camera: hub address unavailable — advertising loopback", {
155100
155200
  tags: { deviceId: this.id },
package/dist/addon.mjs CHANGED
@@ -58279,7 +58279,7 @@ var ZodIssueCode = {
58279
58279
  var ZodFirstPartyTypeKind;
58280
58280
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
58281
58281
  //#endregion
58282
- //#region ../types/dist/sleep-DXKLNFvA.mjs
58282
+ //#region ../types/dist/sleep-C16NCZR2.mjs
58283
58283
  /**
58284
58284
  * The audio chunk plane's byte format, and the ONE expansion from a coded
58285
58285
  * window to float samples (D455).
@@ -81191,6 +81191,14 @@ DeviceType.Camera, method(object({ deviceId: number().int().nonnegative() }), ar
81191
81191
  */
81192
81192
  alive: boolean()
81193
81193
  })), method(object({
81194
+ deviceId: number().int().nonnegative(),
81195
+ sessionId: string(),
81196
+ downlinkMbps: number().nonnegative()
81197
+ }), object({
81198
+ outcome: _enum(["switching", "held"]),
81199
+ tier: CamProfileSchema.nullable(),
81200
+ reason: string()
81201
+ }), { kind: "mutation" }), method(object({
81194
81202
  deviceId: number().int().nonnegative(),
81195
81203
  sessionId: string()
81196
81204
  }), WebrtcSessionDebugSchema, { kind: "query" });
@@ -85027,7 +85035,8 @@ var ConnectionEndpointSchema = object({
85027
85035
  "lan-ipv6",
85028
85036
  "public",
85029
85037
  "loopback",
85030
- "app-link"
85038
+ "app-link",
85039
+ "custom"
85031
85040
  ]),
85032
85041
  /**
85033
85042
  * Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
@@ -85130,13 +85139,12 @@ var ViewerEndpointsSchema = object({
85130
85139
  resolved: array(string()).readonly()
85131
85140
  });
85132
85141
  /**
85133
- * One audience's hub address (see `hub-address.ts`): the operator's stored
85134
- * override, the address in use, and where it came from.
85142
+ * DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
85143
+ * one release for addons built against it): `cluster` is the `agents` role,
85144
+ * `browser` the `signIn` role; `override` is the flagged address.
85135
85145
  */
85136
85146
  var HubAddressSnapshotSchema = object({
85137
- /** The operator's override, or null for automatic. */
85138
85147
  override: string().nullable(),
85139
- /** The address in use, or null when nothing qualifies (never loopback). */
85140
85148
  resolved: string().nullable(),
85141
85149
  source: _enum([
85142
85150
  "override",
@@ -85145,11 +85153,61 @@ var HubAddressSnapshotSchema = object({
85145
85153
  ])
85146
85154
  });
85147
85155
  var HubAddressesSchema = object({
85148
- /** "Hub address for agents" — agents' bundle/model pulls, LAN devices. */
85149
85156
  cluster: HubAddressSnapshotSchema,
85150
- /** "Public address for sign-in links" — e-mail links, OIDC, WebAuthn, OAuth2. */
85151
85157
  browser: HubAddressSnapshotSchema
85152
85158
  });
85159
+ /**
85160
+ * What an address is used for (`hub-address.ts`). `viewer` is many-valued;
85161
+ * `notifications`, `agents` and `signIn` are carried by at most one address.
85162
+ */
85163
+ var HubAddressRoleSchema = _enum([
85164
+ "viewer",
85165
+ "notifications",
85166
+ "agents",
85167
+ "signIn"
85168
+ ]);
85169
+ var RoleSourceSchema = _enum([
85170
+ "flagged",
85171
+ "auto",
85172
+ "none"
85173
+ ]);
85174
+ /** One single-valued role: the flagged address, the one in use, and why. */
85175
+ var HubAddressRoleResolutionSchema = object({
85176
+ /** The address carrying the flag, or null = automatic. */
85177
+ flagged: string().nullable(),
85178
+ /** The address in use, or null when nothing qualifies (never loopback). */
85179
+ resolved: string().nullable(),
85180
+ source: RoleSourceSchema
85181
+ });
85182
+ var HubViewerResolutionSchema = object({
85183
+ /** The addresses flagged `viewer`, or empty = automatic. */
85184
+ flagged: array(string()).readonly(),
85185
+ /** What the apps race right now. */
85186
+ resolved: array(string()).readonly(),
85187
+ source: RoleSourceSchema
85188
+ });
85189
+ var HubAddressBookSchema = object({
85190
+ rows: array(ConnectionEndpointSchema.extend({
85191
+ /** In the hub's detected palette right now. */
85192
+ detected: boolean(),
85193
+ /** Entered by the operator (removable). */
85194
+ custom: boolean(),
85195
+ /** The roles explicitly flagged on this address. */
85196
+ flags: array(HubAddressRoleSchema).readonly(),
85197
+ /** The roles this address serves right now — flagged or automatic. */
85198
+ inUse: array(HubAddressRoleSchema).readonly(),
85199
+ /** The roles this address may be flagged with. */
85200
+ eligible: array(HubAddressRoleSchema).readonly()
85201
+ })).readonly(),
85202
+ roles: object({
85203
+ viewer: HubViewerResolutionSchema,
85204
+ notifications: HubAddressRoleResolutionSchema,
85205
+ agents: HubAddressRoleResolutionSchema,
85206
+ signIn: HubAddressRoleResolutionSchema
85207
+ }),
85208
+ /** The `hub=` an app link carries (D709), or null. */
85209
+ appLinkHub: string().nullable()
85210
+ });
85153
85211
  var AllowedAddressesSchema = object({
85154
85212
  /**
85155
85213
  * Allowlist of interface addresses operators have explicitly opted
@@ -85196,13 +85254,24 @@ method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(obje
85196
85254
  * an address notification links can be flagged with, not a hub
85197
85255
  * route. Default `false`: racers and rankers never see it. */
85198
85256
  includeAppLink: boolean().optional()
85199
- }), 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(), HubAddressesSchema), method(object({
85200
- audience: _enum(["cluster", "browser"]),
85201
- baseUrl: string().nullable()
85202
- }), HubAddressesSchema, {
85257
+ }), 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({
85258
+ baseUrl: string(),
85259
+ label: string().max(80)
85260
+ }), HubAddressBookSchema, {
85261
+ kind: "mutation",
85262
+ auth: "admin"
85263
+ }), method(object({ baseUrl: string() }), HubAddressBookSchema, {
85264
+ kind: "mutation",
85265
+ auth: "admin"
85266
+ }), method(object({
85267
+ role: HubAddressRoleSchema,
85268
+ baseUrl: string().nullable(),
85269
+ enabled: boolean(),
85270
+ acceptInsecureHttp: boolean().optional()
85271
+ }), HubAddressBookSchema, {
85203
85272
  kind: "mutation",
85204
85273
  auth: "admin"
85205
- }), 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, {
85274
+ }), 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, {
85206
85275
  kind: "mutation",
85207
85276
  auth: "admin"
85208
85277
  }), method(object({
@@ -96808,12 +96877,24 @@ Object.freeze({
96808
96877
  addonId: null,
96809
96878
  access: "view"
96810
96879
  },
96880
+ "localNetwork.addCustomAddress": {
96881
+ capName: "local-network",
96882
+ capScope: "system",
96883
+ addonId: null,
96884
+ access: "create"
96885
+ },
96811
96886
  "localNetwork.downloadCa": {
96812
96887
  capName: "local-network",
96813
96888
  capScope: "system",
96814
96889
  addonId: null,
96815
96890
  access: "view"
96816
96891
  },
96892
+ "localNetwork.getAddresses": {
96893
+ capName: "local-network",
96894
+ capScope: "system",
96895
+ addonId: null,
96896
+ access: "view"
96897
+ },
96817
96898
  "localNetwork.getAllowedAddresses": {
96818
96899
  capName: "local-network",
96819
96900
  capScope: "system",
@@ -96868,6 +96949,12 @@ Object.freeze({
96868
96949
  addonId: null,
96869
96950
  access: "create"
96870
96951
  },
96952
+ "localNetwork.removeCustomAddress": {
96953
+ capName: "local-network",
96954
+ capScope: "system",
96955
+ addonId: null,
96956
+ access: "delete"
96957
+ },
96871
96958
  "localNetwork.resetAllowlistToBestMatch": {
96872
96959
  capName: "local-network",
96873
96960
  capScope: "system",
@@ -96880,13 +96967,13 @@ Object.freeze({
96880
96967
  addonId: null,
96881
96968
  access: "create"
96882
96969
  },
96883
- "localNetwork.setAllowedAddresses": {
96970
+ "localNetwork.setAddressRole": {
96884
96971
  capName: "local-network",
96885
96972
  capScope: "system",
96886
96973
  addonId: null,
96887
96974
  access: "create"
96888
96975
  },
96889
- "localNetwork.setHubAddress": {
96976
+ "localNetwork.setAllowedAddresses": {
96890
96977
  capName: "local-network",
96891
96978
  capScope: "system",
96892
96979
  addonId: null,
@@ -101140,6 +101227,12 @@ Object.freeze({
101140
101227
  addonId: null,
101141
101228
  access: "create"
101142
101229
  },
101230
+ "webrtcSession.applyDownlinkProbe": {
101231
+ capName: "webrtc-session",
101232
+ capScope: "device",
101233
+ addonId: null,
101234
+ access: "create"
101235
+ },
101143
101236
  "webrtcSession.closeSession": {
101144
101237
  capName: "webrtc-session",
101145
101238
  capScope: "device",
@@ -105062,6 +105155,11 @@ Object.freeze({
105062
105155
  form: "single",
105063
105156
  optional: false
105064
105157
  }],
105158
+ "webrtcSession.applyDownlinkProbe": [{
105159
+ name: "deviceId",
105160
+ form: "single",
105161
+ optional: false
105162
+ }],
105065
105163
  "webrtcSession.closeSession": [{
105066
105164
  name: "deviceId",
105067
105165
  form: "single",
@@ -108687,8 +108785,9 @@ function cameraStreamCatalog(session) {
108687
108785
  /**
108688
108786
  * The host the broker is told to dial. The provider and the ingest owner
108689
108787
  * share the hub today, but a broker on another node reaches the hub only
108690
- * through the hub's address for agents — `local-network.getHubAddresses()
108691
- * .cluster` (the Network page's override, else the detected LAN address).
108788
+ * through the hub's address for agents — `local-network.getAddresses()
108789
+ * .roles.agents` (the address flagged "Agents" on the Network page, else the
108790
+ * detected LAN address).
108692
108791
  * Loopback when that names nothing: then the only broker that can dial at
108693
108792
  * all is this node's own.
108694
108793
  */
@@ -155084,14 +155183,15 @@ var DreameCameraDevice = class extends DreameChildDevice {
155084
155183
  unsubscribeRefresh = null;
155085
155184
  /** Register the stream on the broker — the server, or the lazy sentinel (push semantics; the catalog is the durable copy). */
155086
155185
  /**
155087
- * The hub's address for agents (`local-network.getHubAddresses().cluster`:
155088
- * the Network page's override, else the detected LAN address). A failed
155186
+ * The hub's address for agents and LAN devices
155187
+ * (`local-network.getAddresses().roles.agents`: the address flagged
155188
+ * "Agents" on the Network page, else the detected LAN address). A failed
155089
155189
  * read is `null` — `advertisedRfcHost` then answers loopback, which this
155090
155190
  * node's own broker can still dial.
155091
155191
  */
155092
155192
  async hubClusterAddress() {
155093
155193
  try {
155094
- return (await this.ctx.api.localNetwork.getHubAddresses.query()).cluster.resolved;
155194
+ return (await this.ctx.api.localNetwork.getAddresses.query()).roles.agents.resolved;
155095
155195
  } catch (err) {
155096
155196
  this.ctx.logger.warn("robot camera: hub address unavailable — advertising loopback", {
155097
155197
  tags: { deviceId: this.id },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreame",
3
- "version": "0.2.124",
3
+ "version": "0.2.125",
4
4
  "description": "Dreame robot-vacuum / lawn-mower device-provider addon for CamStack — wraps the @apocaliss92/nodedreame Dreamehome cloud client",
5
5
  "keywords": [
6
6
  "camstack",