camstack 1.1.10 → 1.1.11

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.
@@ -14522,7 +14522,7 @@ function date4(params) {
14522
14522
  // ../../node_modules/zod/v4/classic/external.js
14523
14523
  config(en_default());
14524
14524
 
14525
- // ../types/dist/sleep-B3AOslwX.mjs
14525
+ // ../types/dist/sleep-C2M2zF7x.mjs
14526
14526
  var WELL_KNOWN_TABS = [
14527
14527
  {
14528
14528
  id: "overview",
@@ -14935,6 +14935,7 @@ var DeviceType = /* @__PURE__ */ (function(DeviceType2) {
14935
14935
  DeviceType2["Switch"] = "switch";
14936
14936
  DeviceType2["Sensor"] = "sensor";
14937
14937
  DeviceType2["Thermostat"] = "thermostat";
14938
+ DeviceType2["Climate"] = "climate";
14938
14939
  DeviceType2["Button"] = "button";
14939
14940
  DeviceType2["EventEmitter"] = "event-emitter";
14940
14941
  DeviceType2["Update"] = "update";
@@ -17161,7 +17162,7 @@ var climateControlCapability = {
17161
17162
  scope: "device",
17162
17163
  deviceNative: true,
17163
17164
  mode: "singleton",
17164
- deviceTypes: [DeviceType.Thermostat],
17165
+ deviceTypes: [DeviceType.Thermostat, DeviceType.Climate],
17165
17166
  methods: {
17166
17167
  setMode: method(external_exports.object({
17167
17168
  deviceId: external_exports.number().int().nonnegative(),
@@ -20610,10 +20611,30 @@ var deviceProviderCapability = {
20610
20611
  type: external_exports.string()
20611
20612
  }))),
20612
20613
  supportsDiscovery: method(external_exports.object({}), external_exports.boolean()),
20613
- discoverDevices: method(external_exports.object({}), external_exports.array(DiscoveryCandidateSchema), {
20614
+ /**
20615
+ * Run a network scan. `params` carries optional provider-specific scan
20616
+ * inputs (e.g. a broadcast address / subnet for cross-subnet discovery),
20617
+ * shaped by `getDiscoveryParamsSchema`. Omitted for the generic scan
20618
+ * (provider uses its local-network default).
20619
+ */
20620
+ discoverDevices: method(external_exports.object({ params: external_exports.record(external_exports.string(), external_exports.unknown()).optional() }), external_exports.array(DiscoveryCandidateSchema), {
20614
20621
  kind: "mutation",
20615
20622
  auth: "admin"
20616
20623
  }),
20624
+ /**
20625
+ * Optional form schema (`ConfigUISchema`) for the EXTRA per-scan inputs a
20626
+ * provider accepts (e.g. Gree's broadcast address for a different subnet).
20627
+ * `null` when the provider takes no extra scan params — the generic
20628
+ * aggregated scan never renders this; the per-integration scan does.
20629
+ */
20630
+ getDiscoveryParamsSchema: method(external_exports.object({}), CreationSchemaOutputSchema),
20631
+ /**
20632
+ * The DeviceType this provider creates via manual add (Camera for
20633
+ * Reolink/ONVIF, Container for Gree, Hub for Ecowitt). `null` when the
20634
+ * provider does not support manual creation. Lets the Add-Device dialog
20635
+ * pick the right type instead of assuming Camera.
20636
+ */
20637
+ getManualCreationType: method(external_exports.object({}), external_exports.object({ deviceType: external_exports.enum(DeviceType).nullable() })),
20617
20638
  adoptDiscoveredDevice: method(external_exports.object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
20618
20639
  kind: "mutation",
20619
20640
  auth: "admin"
@@ -22614,6 +22635,12 @@ var deviceManagerCapability = {
22614
22635
  kind: "mutation",
22615
22636
  auth: "admin"
22616
22637
  }),
22638
+ /** List candidate filter chips for an integration via its device-adoption
22639
+ * provider — addonId-routed so it never hits the singleton shadow. */
22640
+ adoptionListCandidateFilters: method(external_exports.object({
22641
+ addonId: external_exports.string(),
22642
+ integrationId: external_exports.string()
22643
+ }), external_exports.object({ filters: external_exports.array(AdoptionFilterSchema) }), { auth: "admin" }),
22617
22644
  /** List adoption candidates for an integration via its device-adoption provider. */
22618
22645
  adoptionListCandidates: method(ListCandidatesInputSchema.extend({ addonId: external_exports.string() }), ListCandidatesOutputSchema, { auth: "admin" }),
22619
22646
  /** Trigger a discovery refresh on the integration's device-adoption provider. */
@@ -22644,6 +22671,36 @@ var deviceManagerCapability = {
22644
22671
  kind: "mutation",
22645
22672
  auth: "admin"
22646
22673
  }),
22674
+ /** Addons whose device-provider reports `supportsDiscovery` (for the modal). */
22675
+ discoveryProviders: method(external_exports.object({}), external_exports.object({ providers: external_exports.array(external_exports.object({
22676
+ addonId: external_exports.string(),
22677
+ label: external_exports.string()
22678
+ })).readonly() }), { auth: "admin" }),
22679
+ /** Scan EVERY discovery-capable provider; returns candidates grouped by addon. */
22680
+ discoverAllProviders: method(external_exports.object({}), external_exports.object({ groups: external_exports.array(external_exports.object({
22681
+ addonId: external_exports.string(),
22682
+ label: external_exports.string(),
22683
+ candidates: external_exports.array(DiscoveryCandidateSchema).readonly(),
22684
+ error: external_exports.string().nullable()
22685
+ })).readonly() }), {
22686
+ kind: "mutation",
22687
+ auth: "admin"
22688
+ }),
22689
+ /** Scan ONE provider with optional provider-specific params (subnet /
22690
+ * broadcast addr) — the per-integration "Scan network" surface. */
22691
+ discoverProvider: method(external_exports.object({
22692
+ addonId: external_exports.string(),
22693
+ params: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
22694
+ }), external_exports.object({ candidates: external_exports.array(DiscoveryCandidateSchema).readonly() }), {
22695
+ kind: "mutation",
22696
+ auth: "admin"
22697
+ }),
22698
+ /** The device type a provider creates via manual add (Camera/Container/Hub),
22699
+ * so the Add-Device dialog uses the right type instead of assuming Camera. */
22700
+ providerCreationType: method(external_exports.object({ addonId: external_exports.string() }), external_exports.object({ deviceType: external_exports.enum(DeviceType).nullable() }), { auth: "admin" }),
22701
+ /** A provider's extra per-scan param form (ConfigUISchema) for the
22702
+ * per-integration scan, or null when it takes none. */
22703
+ providerDiscoveryParamsSchema: method(external_exports.object({ addonId: external_exports.string() }), external_exports.unknown(), { auth: "admin" }),
22647
22704
  /**
22648
22705
  * Test a field value on an existing device (e.g. probe an RTSP URL).
22649
22706
  * Routes through the device-provider for the owning addon.
@@ -28667,6 +28724,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
28667
28724
  addonId: null,
28668
28725
  access: "create"
28669
28726
  },
28727
+ "deviceManager.adoptionListCandidateFilters": {
28728
+ capName: "device-manager",
28729
+ capScope: "system",
28730
+ addonId: null,
28731
+ access: "view"
28732
+ },
28670
28733
  "deviceManager.adoptionListCandidates": {
28671
28734
  capName: "device-manager",
28672
28735
  capScope: "system",
@@ -28715,12 +28778,30 @@ var METHOD_ACCESS_MAP = Object.freeze({
28715
28778
  addonId: null,
28716
28779
  access: "create"
28717
28780
  },
28781
+ "deviceManager.discoverAllProviders": {
28782
+ capName: "device-manager",
28783
+ capScope: "system",
28784
+ addonId: null,
28785
+ access: "create"
28786
+ },
28718
28787
  "deviceManager.discoverDevices": {
28719
28788
  capName: "device-manager",
28720
28789
  capScope: "system",
28721
28790
  addonId: null,
28722
28791
  access: "create"
28723
28792
  },
28793
+ "deviceManager.discoverProvider": {
28794
+ capName: "device-manager",
28795
+ capScope: "system",
28796
+ addonId: null,
28797
+ access: "create"
28798
+ },
28799
+ "deviceManager.discoveryProviders": {
28800
+ capName: "device-manager",
28801
+ capScope: "system",
28802
+ addonId: null,
28803
+ access: "view"
28804
+ },
28724
28805
  "deviceManager.enable": {
28725
28806
  capName: "device-manager",
28726
28807
  capScope: "system",
@@ -28871,6 +28952,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
28871
28952
  addonId: null,
28872
28953
  access: "create"
28873
28954
  },
28955
+ "deviceManager.providerCreationType": {
28956
+ capName: "device-manager",
28957
+ capScope: "system",
28958
+ addonId: null,
28959
+ access: "view"
28960
+ },
28961
+ "deviceManager.providerDiscoveryParamsSchema": {
28962
+ capName: "device-manager",
28963
+ capScope: "system",
28964
+ addonId: null,
28965
+ access: "view"
28966
+ },
28874
28967
  "deviceManager.registerDevice": {
28875
28968
  capName: "device-manager",
28876
28969
  capScope: "system",
@@ -29087,6 +29180,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
29087
29180
  addonId: null,
29088
29181
  access: "view"
29089
29182
  },
29183
+ "deviceProvider.getDiscoveryParamsSchema": {
29184
+ capName: "device-provider",
29185
+ capScope: "system",
29186
+ addonId: null,
29187
+ access: "view"
29188
+ },
29189
+ "deviceProvider.getManualCreationType": {
29190
+ capName: "device-provider",
29191
+ capScope: "system",
29192
+ addonId: null,
29193
+ access: "view"
29194
+ },
29090
29195
  "deviceProvider.getStatus": {
29091
29196
  capName: "device-provider",
29092
29197
  capScope: "system",
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDiscover
4
- } from "./chunk-WS27TKQ6.js";
4
+ } from "./chunk-L5X2DQAP.js";
5
5
  import "./chunk-K3NQKI34.js";
6
6
 
7
7
  // src/cli.ts
@@ -608,7 +608,7 @@ function isUnknown(_value) {
608
608
  return true;
609
609
  }
610
610
  async function resolveServerInteractive(presetNamespace) {
611
- const { discoverNodes, resolveHubFromDiscovered } = await import("./discover-GMHZMTM6.js");
611
+ const { discoverNodes, resolveHubFromDiscovered } = await import("./discover-ENH5WDYE.js");
612
612
  if (presetNamespace) {
613
613
  const spinner4 = clack.spinner();
614
614
  spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
@@ -3,7 +3,7 @@ import {
3
3
  discoverNodes,
4
4
  resolveHubFromDiscovered,
5
5
  runDiscover
6
- } from "./chunk-WS27TKQ6.js";
6
+ } from "./chunk-L5X2DQAP.js";
7
7
  import "./chunk-K3NQKI34.js";
8
8
  export {
9
9
  discoverNodes,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "camstack",
3
- "version": "1.1.10",
3
+ "version": "1.1.11",
4
4
  "description": "CLI tool for managing and running CamStack server",
5
5
  "keywords": [
6
6
  "camstack",