@camstack/addon-cloudflare 1.2.27 → 1.2.28

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.
@@ -11763,6 +11763,27 @@ var LinkedDeviceSchema = object({
11763
11763
  features: array(string()),
11764
11764
  producesTrackedEvents: boolean().optional()
11765
11765
  });
11766
+ /** One camera's resolved linked set, tagged with the camera it belongs to.
11767
+ * The batch answer needs the tag; the single-device answer already has it
11768
+ * from the input, which is why `getLinkedDevices` keeps the untagged shape. */
11769
+ var LinkedDevicesForDeviceSchema = object({
11770
+ deviceId: number(),
11771
+ mode: LinkedDevicesModeSchema,
11772
+ devices: array(LinkedDeviceSchema)
11773
+ });
11774
+ /** One device's binding map — the shape `getBindings`, `getBindingsBatch` and
11775
+ * `getAllBindings` all answer in. Declared once: three copies of the same
11776
+ * object literal is exactly how the three drift apart. */
11777
+ var DeviceBindingsForDeviceSchema = object({
11778
+ deviceId: number(),
11779
+ entries: array(object({
11780
+ capName: string(),
11781
+ kind: _enum(["native", "wrapped"]),
11782
+ providerAddonId: string(),
11783
+ providerNodeId: string(),
11784
+ nativeAddonId: string()
11785
+ }))
11786
+ });
11766
11787
  var SavedDeviceRowSchema = object({
11767
11788
  /** Numeric id reserved at allocateDeviceId time. */
11768
11789
  id: number(),
@@ -11988,11 +12009,25 @@ method(object({
11988
12009
  projection: _enum(["full", "slim"]).optional(),
11989
12010
  /** Return only camera devices. Filtering server-side instead of
11990
12011
  * shipping 293 rows to find 12. */
11991
- isCamera: boolean().optional()
12012
+ isCamera: boolean().optional(),
12013
+ /**
12014
+ * Return only these device ids. For the caller that already KNOWS the
12015
+ * handful it wants and needs a field the id-bearing answer does not
12016
+ * carry — the viewer's linked-devices panel joins `type` and `online`
12017
+ * onto ~8 linked ids and, unfiltered, dragged the fleet across to do
12018
+ * it: 433 KB slim / 958 KB full for 967 devices, on a query that
12019
+ * refetches on the reconcile interval, on a phone.
12020
+ *
12021
+ * Safe to send at a hub that predates it: Zod STRIPS unknown input
12022
+ * keys rather than rejecting them (verified against the live hub
12023
+ * 2026-08-25 — 967 rows came back), so an old hub answers exactly what
12024
+ * it answers today and the caller filters as it already does.
12025
+ */
12026
+ deviceIds: array(number()).optional()
11992
12027
  }), array(DeviceInfoSchema)), method(object({ deviceId: number() }), DeviceInfoSchema.nullable()), method(object({ parentDeviceId: number() }), array(DeviceInfoSchema)), method(object({ deviceId: number() }), object({
11993
12028
  mode: LinkedDevicesModeSchema,
11994
12029
  devices: array(LinkedDeviceSchema)
11995
- })), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
12030
+ })), method(object({ deviceIds: array(number()) }), array(LinkedDevicesForDeviceSchema)), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
11996
12031
  deviceId: number(),
11997
12032
  values: record(string(), unknown())
11998
12033
  }), object({ success: literal(true) }), {
@@ -12019,25 +12054,7 @@ method(object({
12019
12054
  }), method(object({ deviceId: number() }), array(StreamProbeResultSchema), {
12020
12055
  kind: "mutation",
12021
12056
  auth: "admin"
12022
- }), method(object({ deviceId: number() }), object({
12023
- deviceId: number(),
12024
- entries: array(object({
12025
- capName: string(),
12026
- kind: _enum(["native", "wrapped"]),
12027
- providerAddonId: string(),
12028
- providerNodeId: string(),
12029
- nativeAddonId: string()
12030
- }))
12031
- })), method(object({}), array(object({
12032
- deviceId: number(),
12033
- entries: array(object({
12034
- capName: string(),
12035
- kind: _enum(["native", "wrapped"]),
12036
- providerAddonId: string(),
12037
- providerNodeId: string(),
12038
- nativeAddonId: string()
12039
- }))
12040
- }))), method(object({
12057
+ }), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({
12041
12058
  deviceId: number(),
12042
12059
  capName: string(),
12043
12060
  wrapperAddonId: string(),
@@ -27679,6 +27696,12 @@ Object.freeze({
27679
27696
  addonId: null,
27680
27697
  access: "view"
27681
27698
  },
27699
+ "deviceManager.getBindingsBatch": {
27700
+ capName: "device-manager",
27701
+ capScope: "system",
27702
+ addonId: null,
27703
+ access: "view"
27704
+ },
27682
27705
  "deviceManager.getChildren": {
27683
27706
  capName: "device-manager",
27684
27707
  capScope: "system",
@@ -27739,6 +27762,12 @@ Object.freeze({
27739
27762
  addonId: null,
27740
27763
  access: "view"
27741
27764
  },
27765
+ "deviceManager.getLinkedDevicesBatch": {
27766
+ capName: "device-manager",
27767
+ capScope: "system",
27768
+ addonId: null,
27769
+ access: "view"
27770
+ },
27742
27771
  "deviceManager.getRoleDisplayDefaults": {
27743
27772
  capName: "device-manager",
27744
27773
  capScope: "system",
@@ -32386,6 +32415,11 @@ Object.freeze({
32386
32415
  form: "single",
32387
32416
  optional: false
32388
32417
  }],
32418
+ "deviceManager.getBindingsBatch": [{
32419
+ name: "deviceIds",
32420
+ form: "array",
32421
+ optional: false
32422
+ }],
32389
32423
  "deviceManager.getChildren": [{
32390
32424
  name: "parentDeviceId",
32391
32425
  form: "single",
@@ -32431,6 +32465,11 @@ Object.freeze({
32431
32465
  form: "single",
32432
32466
  optional: false
32433
32467
  }],
32468
+ "deviceManager.getLinkedDevicesBatch": [{
32469
+ name: "deviceIds",
32470
+ form: "array",
32471
+ optional: false
32472
+ }],
32434
32473
  "deviceManager.getSettingsSchema": [{
32435
32474
  name: "deviceId",
32436
32475
  form: "single",
@@ -32451,6 +32490,11 @@ Object.freeze({
32451
32490
  form: "single",
32452
32491
  optional: false
32453
32492
  }],
32493
+ "deviceManager.listAll": [{
32494
+ name: "deviceIds",
32495
+ form: "array",
32496
+ optional: true
32497
+ }],
32454
32498
  "deviceManager.loadConfig": [{
32455
32499
  name: "deviceId",
32456
32500
  form: "single",
@@ -11763,6 +11763,27 @@ var LinkedDeviceSchema = object({
11763
11763
  features: array(string()),
11764
11764
  producesTrackedEvents: boolean().optional()
11765
11765
  });
11766
+ /** One camera's resolved linked set, tagged with the camera it belongs to.
11767
+ * The batch answer needs the tag; the single-device answer already has it
11768
+ * from the input, which is why `getLinkedDevices` keeps the untagged shape. */
11769
+ var LinkedDevicesForDeviceSchema = object({
11770
+ deviceId: number(),
11771
+ mode: LinkedDevicesModeSchema,
11772
+ devices: array(LinkedDeviceSchema)
11773
+ });
11774
+ /** One device's binding map — the shape `getBindings`, `getBindingsBatch` and
11775
+ * `getAllBindings` all answer in. Declared once: three copies of the same
11776
+ * object literal is exactly how the three drift apart. */
11777
+ var DeviceBindingsForDeviceSchema = object({
11778
+ deviceId: number(),
11779
+ entries: array(object({
11780
+ capName: string(),
11781
+ kind: _enum(["native", "wrapped"]),
11782
+ providerAddonId: string(),
11783
+ providerNodeId: string(),
11784
+ nativeAddonId: string()
11785
+ }))
11786
+ });
11766
11787
  var SavedDeviceRowSchema = object({
11767
11788
  /** Numeric id reserved at allocateDeviceId time. */
11768
11789
  id: number(),
@@ -11988,11 +12009,25 @@ method(object({
11988
12009
  projection: _enum(["full", "slim"]).optional(),
11989
12010
  /** Return only camera devices. Filtering server-side instead of
11990
12011
  * shipping 293 rows to find 12. */
11991
- isCamera: boolean().optional()
12012
+ isCamera: boolean().optional(),
12013
+ /**
12014
+ * Return only these device ids. For the caller that already KNOWS the
12015
+ * handful it wants and needs a field the id-bearing answer does not
12016
+ * carry — the viewer's linked-devices panel joins `type` and `online`
12017
+ * onto ~8 linked ids and, unfiltered, dragged the fleet across to do
12018
+ * it: 433 KB slim / 958 KB full for 967 devices, on a query that
12019
+ * refetches on the reconcile interval, on a phone.
12020
+ *
12021
+ * Safe to send at a hub that predates it: Zod STRIPS unknown input
12022
+ * keys rather than rejecting them (verified against the live hub
12023
+ * 2026-08-25 — 967 rows came back), so an old hub answers exactly what
12024
+ * it answers today and the caller filters as it already does.
12025
+ */
12026
+ deviceIds: array(number()).optional()
11992
12027
  }), array(DeviceInfoSchema)), method(object({ deviceId: number() }), DeviceInfoSchema.nullable()), method(object({ parentDeviceId: number() }), array(DeviceInfoSchema)), method(object({ deviceId: number() }), object({
11993
12028
  mode: LinkedDevicesModeSchema,
11994
12029
  devices: array(LinkedDeviceSchema)
11995
- })), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
12030
+ })), method(object({ deviceIds: array(number()) }), array(LinkedDevicesForDeviceSchema)), method(object({ deviceId: number() }), array(StreamSourceEntrySchema$1)), method(object({ deviceId: number() }), array(ConfigEntrySchema)), method(object({ deviceId: number() }), ConfigUISchemaOutput), method(object({
11996
12031
  deviceId: number(),
11997
12032
  values: record(string(), unknown())
11998
12033
  }), object({ success: literal(true) }), {
@@ -12019,25 +12054,7 @@ method(object({
12019
12054
  }), method(object({ deviceId: number() }), array(StreamProbeResultSchema), {
12020
12055
  kind: "mutation",
12021
12056
  auth: "admin"
12022
- }), method(object({ deviceId: number() }), object({
12023
- deviceId: number(),
12024
- entries: array(object({
12025
- capName: string(),
12026
- kind: _enum(["native", "wrapped"]),
12027
- providerAddonId: string(),
12028
- providerNodeId: string(),
12029
- nativeAddonId: string()
12030
- }))
12031
- })), method(object({}), array(object({
12032
- deviceId: number(),
12033
- entries: array(object({
12034
- capName: string(),
12035
- kind: _enum(["native", "wrapped"]),
12036
- providerAddonId: string(),
12037
- providerNodeId: string(),
12038
- nativeAddonId: string()
12039
- }))
12040
- }))), method(object({
12057
+ }), method(object({ deviceId: number() }), DeviceBindingsForDeviceSchema), method(object({ deviceIds: array(number()) }), array(DeviceBindingsForDeviceSchema)), method(object({}), array(DeviceBindingsForDeviceSchema)), method(object({
12041
12058
  deviceId: number(),
12042
12059
  capName: string(),
12043
12060
  wrapperAddonId: string(),
@@ -27679,6 +27696,12 @@ Object.freeze({
27679
27696
  addonId: null,
27680
27697
  access: "view"
27681
27698
  },
27699
+ "deviceManager.getBindingsBatch": {
27700
+ capName: "device-manager",
27701
+ capScope: "system",
27702
+ addonId: null,
27703
+ access: "view"
27704
+ },
27682
27705
  "deviceManager.getChildren": {
27683
27706
  capName: "device-manager",
27684
27707
  capScope: "system",
@@ -27739,6 +27762,12 @@ Object.freeze({
27739
27762
  addonId: null,
27740
27763
  access: "view"
27741
27764
  },
27765
+ "deviceManager.getLinkedDevicesBatch": {
27766
+ capName: "device-manager",
27767
+ capScope: "system",
27768
+ addonId: null,
27769
+ access: "view"
27770
+ },
27742
27771
  "deviceManager.getRoleDisplayDefaults": {
27743
27772
  capName: "device-manager",
27744
27773
  capScope: "system",
@@ -32386,6 +32415,11 @@ Object.freeze({
32386
32415
  form: "single",
32387
32416
  optional: false
32388
32417
  }],
32418
+ "deviceManager.getBindingsBatch": [{
32419
+ name: "deviceIds",
32420
+ form: "array",
32421
+ optional: false
32422
+ }],
32389
32423
  "deviceManager.getChildren": [{
32390
32424
  name: "parentDeviceId",
32391
32425
  form: "single",
@@ -32431,6 +32465,11 @@ Object.freeze({
32431
32465
  form: "single",
32432
32466
  optional: false
32433
32467
  }],
32468
+ "deviceManager.getLinkedDevicesBatch": [{
32469
+ name: "deviceIds",
32470
+ form: "array",
32471
+ optional: false
32472
+ }],
32434
32473
  "deviceManager.getSettingsSchema": [{
32435
32474
  name: "deviceId",
32436
32475
  form: "single",
@@ -32451,6 +32490,11 @@ Object.freeze({
32451
32490
  form: "single",
32452
32491
  optional: false
32453
32492
  }],
32493
+ "deviceManager.listAll": [{
32494
+ name: "deviceIds",
32495
+ form: "array",
32496
+ optional: true
32497
+ }],
32454
32498
  "deviceManager.loadConfig": [{
32455
32499
  name: "deviceId",
32456
32500
  form: "single",
@@ -21,7 +21,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  enumerable: true
22
22
  }) : target, mod));
23
23
  //#endregion
24
- const require_dist = require("../dist-B3KpK67G.js");
24
+ const require_dist = require("../dist-BvZr1B8F.js");
25
25
  let node_crypto = require("node:crypto");
26
26
  let node_path = require("node:path");
27
27
  node_path = __toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { a as BaseAddon, c as boolean, d as number, f as object, m as EventCategory, n as defineCustomActions, o as _enum, p as string, r as networkAccessCapability, s as array, t as customAction, u as literal } from "../dist-BgYOkp3_.mjs";
1
+ import { a as BaseAddon, c as boolean, d as number, f as object, m as EventCategory, n as defineCustomActions, o as _enum, p as string, r as networkAccessCapability, s as array, t as customAction, u as literal } from "../dist-BmCe-liz.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import * as path from "node:path";
4
4
  import { spawn } from "node:child_process";
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-B3KpK67G.js");
2
+ const require_dist = require("../dist-BvZr1B8F.js");
3
3
  //#region src/turn/cloudflare-turn.ts
4
4
  /**
5
5
  * Cloudflare returns ICE servers in several flavours depending on which
@@ -1,4 +1,4 @@
1
- import { a as BaseAddon, c as boolean, d as number, f as object, i as turnProviderCapability, l as discriminatedUnion, n as defineCustomActions, p as string, t as customAction, u as literal } from "../dist-BgYOkp3_.mjs";
1
+ import { a as BaseAddon, c as boolean, d as number, f as object, i as turnProviderCapability, l as discriminatedUnion, n as defineCustomActions, p as string, t as customAction, u as literal } from "../dist-BmCe-liz.mjs";
2
2
  //#region src/turn/cloudflare-turn.ts
3
3
  /**
4
4
  * Cloudflare returns ICE servers in several flavours depending on which
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-cloudflare",
3
- "version": "1.2.27",
3
+ "version": "1.2.28",
4
4
  "description": "Cloudflare bundle — Tunnel (network-access) + TURN relay (turn-provider). Multi-entry npm package shipping 2 addons under a single bundle.",
5
5
  "keywords": [
6
6
  "camstack",