@camstack/addon-ai 0.4.59 → 0.4.61

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
@@ -12750,7 +12750,26 @@ var DiscoveryCandidateSchema = object({
12750
12750
  * identity ahead of adoption. Rendering metadata (unit, precision)
12751
12751
  * flows live through the cap STATUS SLICE after adoption.
12752
12752
  */
12753
- sourceInfo: SourceInfoSchema.optional()
12753
+ sourceInfo: SourceInfoSchema.optional(),
12754
+ /**
12755
+ * Set when this candidate is a device the provider ALREADY owns.
12756
+ *
12757
+ * A scan cannot generally produce the identity a device was onboarded under
12758
+ * (Reolink keys on `mac-<mac>`, learned at adopt time), so a stableId
12759
+ * comparison never matches and an owned device looks addable. Re-adopting one
12760
+ * overwrites its config with scan-derived values — that is how a Home Hub's
12761
+ * Baichuan port was overwritten with its ONVIF port, taking the hub and its
12762
+ * three child cameras offline for four hours.
12763
+ *
12764
+ * A provider that can recognise its own devices says so here. Absent means
12765
+ * "not recognised", which is not the same as "known to be new" — a provider
12766
+ * that cannot tell simply never sets it.
12767
+ */
12768
+ alreadyOnboarded: boolean().optional(),
12769
+ /** Numeric id of the device this candidate was matched to. Set with `alreadyOnboarded`. */
12770
+ onboardedDeviceId: number$1().optional(),
12771
+ /** Operator-facing name of the matched device, so the UI can say WHICH one it is. */
12772
+ onboardedName: string().optional()
12754
12773
  });
12755
12774
  /**
12756
12775
  * Flat device summary returned by `createDevice` / `adoptDiscoveredDevice`.
@@ -12797,7 +12816,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12797
12816
  id: string(),
12798
12817
  name: string(),
12799
12818
  type: string()
12800
- }))), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12819
+ }))), method(object({ stableId: string() }), object({ deviceId: number$1() }), {
12820
+ kind: "mutation",
12821
+ timeoutMs: 3 * 6e4
12822
+ }), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12801
12823
  kind: "mutation",
12802
12824
  auth: "admin"
12803
12825
  }), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
@@ -13078,7 +13100,8 @@ method(object({
13078
13100
  targetId: number$1()
13079
13101
  }), MigrateDeviceResultSchema, {
13080
13102
  kind: "mutation",
13081
- auth: "admin"
13103
+ auth: "admin",
13104
+ timeoutMs: 12 * 6e4
13082
13105
  }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number$1() }), record(string(), unknown())), method(object({ deviceId: number$1() }), record(string(), unknown())), method(object({ deviceId: number$1() }), DeviceMetaSchema.nullable()), method(object({
13083
13106
  deviceId: number$1(),
13084
13107
  name: string()
@@ -31031,6 +31054,12 @@ Object.freeze({
31031
31054
  addonId: null,
31032
31055
  access: "view"
31033
31056
  },
31057
+ "deviceProvider.reloadDevice": {
31058
+ capName: "device-provider",
31059
+ capScope: "system",
31060
+ addonId: null,
31061
+ access: "create"
31062
+ },
31034
31063
  "deviceProvider.start": {
31035
31064
  capName: "device-provider",
31036
31065
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -12777,7 +12777,26 @@ var DiscoveryCandidateSchema = object({
12777
12777
  * identity ahead of adoption. Rendering metadata (unit, precision)
12778
12778
  * flows live through the cap STATUS SLICE after adoption.
12779
12779
  */
12780
- sourceInfo: SourceInfoSchema.optional()
12780
+ sourceInfo: SourceInfoSchema.optional(),
12781
+ /**
12782
+ * Set when this candidate is a device the provider ALREADY owns.
12783
+ *
12784
+ * A scan cannot generally produce the identity a device was onboarded under
12785
+ * (Reolink keys on `mac-<mac>`, learned at adopt time), so a stableId
12786
+ * comparison never matches and an owned device looks addable. Re-adopting one
12787
+ * overwrites its config with scan-derived values — that is how a Home Hub's
12788
+ * Baichuan port was overwritten with its ONVIF port, taking the hub and its
12789
+ * three child cameras offline for four hours.
12790
+ *
12791
+ * A provider that can recognise its own devices says so here. Absent means
12792
+ * "not recognised", which is not the same as "known to be new" — a provider
12793
+ * that cannot tell simply never sets it.
12794
+ */
12795
+ alreadyOnboarded: boolean().optional(),
12796
+ /** Numeric id of the device this candidate was matched to. Set with `alreadyOnboarded`. */
12797
+ onboardedDeviceId: number$1().optional(),
12798
+ /** Operator-facing name of the matched device, so the UI can say WHICH one it is. */
12799
+ onboardedName: string().optional()
12781
12800
  });
12782
12801
  /**
12783
12802
  * Flat device summary returned by `createDevice` / `adoptDiscoveredDevice`.
@@ -12824,7 +12843,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12824
12843
  id: string(),
12825
12844
  name: string(),
12826
12845
  type: string()
12827
- }))), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12846
+ }))), method(object({ stableId: string() }), object({ deviceId: number$1() }), {
12847
+ kind: "mutation",
12848
+ timeoutMs: 3 * 6e4
12849
+ }), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12828
12850
  kind: "mutation",
12829
12851
  auth: "admin"
12830
12852
  }), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
@@ -13105,7 +13127,8 @@ method(object({
13105
13127
  targetId: number$1()
13106
13128
  }), MigrateDeviceResultSchema, {
13107
13129
  kind: "mutation",
13108
- auth: "admin"
13130
+ auth: "admin",
13131
+ timeoutMs: 12 * 6e4
13109
13132
  }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number$1() }), record(string(), unknown())), method(object({ deviceId: number$1() }), record(string(), unknown())), method(object({ deviceId: number$1() }), DeviceMetaSchema.nullable()), method(object({
13110
13133
  deviceId: number$1(),
13111
13134
  name: string()
@@ -31058,6 +31081,12 @@ Object.freeze({
31058
31081
  addonId: null,
31059
31082
  access: "view"
31060
31083
  },
31084
+ "deviceProvider.reloadDevice": {
31085
+ capName: "device-provider",
31086
+ capScope: "system",
31087
+ addonId: null,
31088
+ access: "create"
31089
+ },
31061
31090
  "deviceProvider.start": {
31062
31091
  capName: "device-provider",
31063
31092
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-ai",
3
- "version": "0.4.59",
3
+ "version": "0.4.61",
4
4
  "description": "AI addon for CamStack — the `llm` collection provider (cloud, LAN, and camstack-managed local llama.cpp profiles) plus the per-node `llm-runtime` managed executor.",
5
5
  "keywords": [
6
6
  "camstack",