@camstack/addon-notifiers 1.2.63 → 1.2.65

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 CHANGED
@@ -12721,7 +12721,26 @@ var DiscoveryCandidateSchema = object({
12721
12721
  * identity ahead of adoption. Rendering metadata (unit, precision)
12722
12722
  * flows live through the cap STATUS SLICE after adoption.
12723
12723
  */
12724
- sourceInfo: SourceInfoSchema.optional()
12724
+ sourceInfo: SourceInfoSchema.optional(),
12725
+ /**
12726
+ * Set when this candidate is a device the provider ALREADY owns.
12727
+ *
12728
+ * A scan cannot generally produce the identity a device was onboarded under
12729
+ * (Reolink keys on `mac-<mac>`, learned at adopt time), so a stableId
12730
+ * comparison never matches and an owned device looks addable. Re-adopting one
12731
+ * overwrites its config with scan-derived values — that is how a Home Hub's
12732
+ * Baichuan port was overwritten with its ONVIF port, taking the hub and its
12733
+ * three child cameras offline for four hours.
12734
+ *
12735
+ * A provider that can recognise its own devices says so here. Absent means
12736
+ * "not recognised", which is not the same as "known to be new" — a provider
12737
+ * that cannot tell simply never sets it.
12738
+ */
12739
+ alreadyOnboarded: boolean().optional(),
12740
+ /** Numeric id of the device this candidate was matched to. Set with `alreadyOnboarded`. */
12741
+ onboardedDeviceId: number().optional(),
12742
+ /** Operator-facing name of the matched device, so the UI can say WHICH one it is. */
12743
+ onboardedName: string().optional()
12725
12744
  });
12726
12745
  /**
12727
12746
  * Flat device summary returned by `createDevice` / `adoptDiscoveredDevice`.
@@ -12768,7 +12787,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12768
12787
  id: string(),
12769
12788
  name: string(),
12770
12789
  type: string()
12771
- }))), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12790
+ }))), method(object({ stableId: string() }), object({ deviceId: number() }), {
12791
+ kind: "mutation",
12792
+ timeoutMs: 3 * 6e4
12793
+ }), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12772
12794
  kind: "mutation",
12773
12795
  auth: "admin"
12774
12796
  }), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
@@ -13049,7 +13071,8 @@ method(object({
13049
13071
  targetId: number()
13050
13072
  }), MigrateDeviceResultSchema, {
13051
13073
  kind: "mutation",
13052
- auth: "admin"
13074
+ auth: "admin",
13075
+ timeoutMs: 12 * 6e4
13053
13076
  }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
13054
13077
  deviceId: number(),
13055
13078
  name: string()
@@ -30922,6 +30945,12 @@ Object.freeze({
30922
30945
  addonId: null,
30923
30946
  access: "view"
30924
30947
  },
30948
+ "deviceProvider.reloadDevice": {
30949
+ capName: "device-provider",
30950
+ capScope: "system",
30951
+ addonId: null,
30952
+ access: "create"
30953
+ },
30925
30954
  "deviceProvider.start": {
30926
30955
  capName: "device-provider",
30927
30956
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -12694,7 +12694,26 @@ var DiscoveryCandidateSchema = object({
12694
12694
  * identity ahead of adoption. Rendering metadata (unit, precision)
12695
12695
  * flows live through the cap STATUS SLICE after adoption.
12696
12696
  */
12697
- sourceInfo: SourceInfoSchema.optional()
12697
+ sourceInfo: SourceInfoSchema.optional(),
12698
+ /**
12699
+ * Set when this candidate is a device the provider ALREADY owns.
12700
+ *
12701
+ * A scan cannot generally produce the identity a device was onboarded under
12702
+ * (Reolink keys on `mac-<mac>`, learned at adopt time), so a stableId
12703
+ * comparison never matches and an owned device looks addable. Re-adopting one
12704
+ * overwrites its config with scan-derived values — that is how a Home Hub's
12705
+ * Baichuan port was overwritten with its ONVIF port, taking the hub and its
12706
+ * three child cameras offline for four hours.
12707
+ *
12708
+ * A provider that can recognise its own devices says so here. Absent means
12709
+ * "not recognised", which is not the same as "known to be new" — a provider
12710
+ * that cannot tell simply never sets it.
12711
+ */
12712
+ alreadyOnboarded: boolean().optional(),
12713
+ /** Numeric id of the device this candidate was matched to. Set with `alreadyOnboarded`. */
12714
+ onboardedDeviceId: number().optional(),
12715
+ /** Operator-facing name of the matched device, so the UI can say WHICH one it is. */
12716
+ onboardedName: string().optional()
12698
12717
  });
12699
12718
  /**
12700
12719
  * Flat device summary returned by `createDevice` / `adoptDiscoveredDevice`.
@@ -12741,7 +12760,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12741
12760
  id: string(),
12742
12761
  name: string(),
12743
12762
  type: string()
12744
- }))), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12763
+ }))), method(object({ stableId: string() }), object({ deviceId: number() }), {
12764
+ kind: "mutation",
12765
+ timeoutMs: 3 * 6e4
12766
+ }), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12745
12767
  kind: "mutation",
12746
12768
  auth: "admin"
12747
12769
  }), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
@@ -13022,7 +13044,8 @@ method(object({
13022
13044
  targetId: number()
13023
13045
  }), MigrateDeviceResultSchema, {
13024
13046
  kind: "mutation",
13025
- auth: "admin"
13047
+ auth: "admin",
13048
+ timeoutMs: 12 * 6e4
13026
13049
  }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
13027
13050
  deviceId: number(),
13028
13051
  name: string()
@@ -30895,6 +30918,12 @@ Object.freeze({
30895
30918
  addonId: null,
30896
30919
  access: "view"
30897
30920
  },
30921
+ "deviceProvider.reloadDevice": {
30922
+ capName: "device-provider",
30923
+ capScope: "system",
30924
+ addonId: null,
30925
+ access: "create"
30926
+ },
30898
30927
  "deviceProvider.start": {
30899
30928
  capName: "device-provider",
30900
30929
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-notifiers",
3
- "version": "1.2.63",
3
+ "version": "1.2.65",
4
4
  "description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
5
5
  "keywords": [
6
6
  "camstack",