@camstack/addon-provider-homematic 1.2.142 → 1.2.144

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
@@ -5556,7 +5556,7 @@ var ZodIssueCode = {
5556
5556
  var ZodFirstPartyTypeKind;
5557
5557
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5558
5558
  //#endregion
5559
- //#region ../types/dist/sleep-BSuCCFjf.mjs
5559
+ //#region ../types/dist/sleep-CSuN0thG.mjs
5560
5560
  /**
5561
5561
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5562
5562
  * window to float samples (D455).
@@ -8174,7 +8174,13 @@ var RecordKindDeclarationSchema = object({
8174
8174
  secretPaths: array(string().min(1)).default([]),
8175
8175
  /** The id key of each array that carries a secret (`{ headers: 'name' }`). */
8176
8176
  secretArrayKeys: record(string(), string()).default({}),
8177
- /** The legacy table this kind adopts from; the boot guard reads it (D853: no migration code). */
8177
+ /**
8178
+ * RETIRED (D900): the legacy table a kind adopted from during the records
8179
+ * migration. Nothing declares it any more and nothing reads it; the schema
8180
+ * still ACCEPTS it because the catalog rows the migration wrote carry it
8181
+ * (an orphaned kind is never redeclared) and an addon built before the
8182
+ * removal still sends it. Never set it.
8183
+ */
8178
8184
  adoptsFrom: string().min(1).optional(),
8179
8185
  /** Kinds that must agree through `transact` sit in one file under one family name. */
8180
8186
  transactFamily: string().min(1).optional(),
@@ -8249,7 +8255,6 @@ function defineRecordKinds(specs) {
8249
8255
  maxDataBytes: spec.maxDataBytes,
8250
8256
  secretPaths: [...secretPaths],
8251
8257
  secretArrayKeys: spec.secretArrayKeys === void 0 ? void 0 : { ...spec.secretArrayKeys },
8252
- adoptsFrom: spec.adoptsFrom,
8253
8258
  transactFamily: spec.transactFamily,
8254
8259
  entry: spec.entry === void 0 ? void 0 : {
8255
8260
  title: spec.entry.title,
@@ -8293,7 +8298,6 @@ function defineEntryKind(name, spec) {
8293
8298
  ...spec.database === void 0 ? {} : { database: spec.database },
8294
8299
  ...spec.indexes === void 0 ? {} : { indexes: spec.indexes },
8295
8300
  ...spec.secretArrayKeys === void 0 ? {} : { secretArrayKeys: spec.secretArrayKeys },
8296
- ...spec.adoptsFrom === void 0 ? {} : { adoptsFrom: spec.adoptsFrom },
8297
8301
  entry: {
8298
8302
  title: spec.title,
8299
8303
  ...spec.nameField === void 0 ? {} : { nameField: spec.nameField }
@@ -8302,16 +8306,6 @@ function defineEntryKind(name, spec) {
8302
8306
  if (defined === void 0) throw new DeclarationRefusedError(`entry kind "${name}" was not built`);
8303
8307
  return defined;
8304
8308
  }
8305
- /**
8306
- * Legacy source for broker entry adoption (B2): brokers live in addon-settings
8307
- * as one row `<addonId>.brokers` whose value is an array until records-adopt
8308
- * copies them into the entry kind.
8309
- */
8310
- var SETTINGS_BROKERS_ADOPTS_PREFIX = "@settings-brokers/";
8311
- /** The `adoptsFrom` value for an addon's broker entry kind. */
8312
- function settingsBrokersAdoptsFrom(addonId) {
8313
- return `${SETTINGS_BROKERS_ADOPTS_PREFIX}${addonId}`;
8314
- }
8315
8309
  /** Shared Zod schemas used across streaming capabilities. */
8316
8310
  var CamProfileSchema = _enum([
8317
8311
  "high",
@@ -17025,11 +17019,12 @@ var DeclareKindResultSchema = object({
17025
17019
  kindId: number().int(),
17026
17020
  state: RecordKindStateSchema,
17027
17021
  createdIndexes: array(string()),
17028
- /** The boot guard: the kind is empty while its legacy table still holds rows. */
17029
- adoptionPending: object({
17030
- legacyTable: string(),
17031
- legacyRows: number().int()
17032
- }).nullable()
17022
+ /**
17023
+ * RETIRED (D900): always `null`. It carried the records-migration boot guard;
17024
+ * it stays on the wire, null, because an addon built before the removal reads
17025
+ * an ABSENT field as "adoption pending" and refuses to start.
17026
+ */
17027
+ adoptionPending: _null()
17033
17028
  });
17034
17029
  /** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
17035
17030
  var SecretRefsList = array(string());
@@ -17202,26 +17197,7 @@ method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: arr
17202
17197
  }), object({ kinds: array(StorageKindSchema) }), { auth: "admin" }), method(RecordQueryInputSchema.extend({
17203
17198
  owner: string().min(1),
17204
17199
  kind: RecordKindNameSchema
17205
- }), RecordQueryResultSchema, { auth: "admin" }), method(object({
17206
- owner: string().min(1),
17207
- kind: RecordKindNameSchema,
17208
- records: array(RecordInputSchema).max(RECORD_BATCH_MAX),
17209
- /** The LAST batch: the copy is complete, the boot guard stops asking. */
17210
- complete: boolean().optional()
17211
- }).refine((input) => input.records.length > 0 || input.complete === true, { message: "records must be non-empty unless complete is true" }), object({ adopted: number().int() }), {
17212
- kind: "mutation",
17213
- auth: "admin"
17214
- }), method(object({
17215
- collection: string().min(1),
17216
- cursor: string().optional(),
17217
- limit: number().int().min(1).max(1e3).optional()
17218
- }), object({
17219
- rows: array(object({
17220
- id: string(),
17221
- data: record(string(), unknown())
17222
- })),
17223
- nextCursor: string().nullable()
17224
- }), { auth: "admin" }), method(object({ collection: string().min(1) }), object({ adopted: boolean() }), { auth: "admin" });
17200
+ }), RecordQueryResultSchema, { auth: "admin" });
17225
17201
  /**
17226
17202
  * record-entries - the ONE admin surface for every list of user-created entries
17227
17203
  * (D881): notification targets, brokers, LLM profiles, anything an addon
@@ -60845,9 +60821,24 @@ var NpuInfoSchema = object({
60845
60821
  name: string().optional(),
60846
60822
  generation: _enum(["xdna1", "xdna2"]).optional()
60847
60823
  });
60824
+ var CoralBusSchema = _enum(["usb", "pci"]);
60848
60825
  var CoralInfoSchema = object({
60849
60826
  type: literal("coral-edgetpu"),
60850
- bus: string().optional()
60827
+ /** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
60828
+ bus: string().optional(),
60829
+ /** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
60830
+ count: number().int().nonnegative().optional(),
60831
+ /** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
60832
+ units: array(object({
60833
+ bus: CoralBusSchema,
60834
+ count: number().int().nonnegative()
60835
+ })).readonly().optional(),
60836
+ /** Present-but-unusable units, each with its typed reason (never "absent"). */
60837
+ unavailable: array(object({
60838
+ bus: CoralBusSchema,
60839
+ count: number().int().nonnegative(),
60840
+ reason: _enum(["driver-missing", "device-not-accessible"])
60841
+ })).readonly().optional()
60851
60842
  });
60852
60843
  var HardwareInfoSchema = object({
60853
60844
  platform: HardwarePlatformSchema,
@@ -69594,6 +69585,12 @@ Object.freeze({
69594
69585
  addonId: null,
69595
69586
  access: "view"
69596
69587
  },
69588
+ "deviceHistory.queryMany": {
69589
+ capName: "device-history",
69590
+ capScope: "system",
69591
+ addonId: null,
69592
+ access: "view"
69593
+ },
69597
69594
  "deviceHistory.queryNode": {
69598
69595
  capName: "device-history",
69599
69596
  capScope: "system",
@@ -74814,24 +74811,12 @@ Object.freeze({
74814
74811
  addonId: null,
74815
74812
  access: "create"
74816
74813
  },
74817
- "storageAdmin.adoptRecords": {
74818
- capName: "storage-admin",
74819
- capScope: "system",
74820
- addonId: null,
74821
- access: "create"
74822
- },
74823
74814
  "storageAdmin.dropCollection": {
74824
74815
  capName: "storage-admin",
74825
74816
  capScope: "system",
74826
74817
  addonId: null,
74827
74818
  access: "delete"
74828
74819
  },
74829
- "storageAdmin.isAdoptedLegacyTable": {
74830
- capName: "storage-admin",
74831
- capScope: "system",
74832
- addonId: null,
74833
- access: "view"
74834
- },
74835
74820
  "storageAdmin.listKinds": {
74836
74821
  capName: "storage-admin",
74837
74822
  capScope: "system",
@@ -74844,12 +74829,6 @@ Object.freeze({
74844
74829
  addonId: null,
74845
74830
  access: "view"
74846
74831
  },
74847
- "storageAdmin.readLegacyCollection": {
74848
- capName: "storage-admin",
74849
- capScope: "system",
74850
- addonId: null,
74851
- access: "view"
74852
- },
74853
74832
  "storageAdmin.readRecords": {
74854
74833
  capName: "storage-admin",
74855
74834
  capScope: "system",
@@ -78664,12 +78643,6 @@ Object.freeze({
78664
78643
  form: "single",
78665
78644
  optional: false
78666
78645
  }],
78667
- "storageAdmin.adoptRecords": [{
78668
- name: "records",
78669
- form: "object-array",
78670
- optional: false,
78671
- itemField: "deviceId"
78672
- }],
78673
78646
  "storageAdmin.readRecords": [{
78674
78647
  name: "deviceId",
78675
78648
  form: "single",
@@ -80482,8 +80455,7 @@ var hmBrokersEntryKind = defineEntryKind("brokers", {
80482
80455
  connection: HmBrokerEntrySchema.shape.connection,
80483
80456
  integrationId: string().optional()
80484
80457
  }),
80485
- writeTrigger: "an operator adds, edits or removes a Homematic CCU broker connection",
80486
- adoptsFrom: settingsBrokersAdoptsFrom("provider-homematic")
80458
+ writeTrigger: "an operator adds, edits or removes a Homematic CCU broker connection"
80487
80459
  });
80488
80460
  //#endregion
80489
80461
  //#region src/hm-broker-store.ts
package/dist/addon.mjs CHANGED
@@ -5557,7 +5557,7 @@ var ZodIssueCode = {
5557
5557
  var ZodFirstPartyTypeKind;
5558
5558
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5559
5559
  //#endregion
5560
- //#region ../types/dist/sleep-BSuCCFjf.mjs
5560
+ //#region ../types/dist/sleep-CSuN0thG.mjs
5561
5561
  /**
5562
5562
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5563
5563
  * window to float samples (D455).
@@ -8175,7 +8175,13 @@ var RecordKindDeclarationSchema = object({
8175
8175
  secretPaths: array(string().min(1)).default([]),
8176
8176
  /** The id key of each array that carries a secret (`{ headers: 'name' }`). */
8177
8177
  secretArrayKeys: record(string(), string()).default({}),
8178
- /** The legacy table this kind adopts from; the boot guard reads it (D853: no migration code). */
8178
+ /**
8179
+ * RETIRED (D900): the legacy table a kind adopted from during the records
8180
+ * migration. Nothing declares it any more and nothing reads it; the schema
8181
+ * still ACCEPTS it because the catalog rows the migration wrote carry it
8182
+ * (an orphaned kind is never redeclared) and an addon built before the
8183
+ * removal still sends it. Never set it.
8184
+ */
8179
8185
  adoptsFrom: string().min(1).optional(),
8180
8186
  /** Kinds that must agree through `transact` sit in one file under one family name. */
8181
8187
  transactFamily: string().min(1).optional(),
@@ -8250,7 +8256,6 @@ function defineRecordKinds(specs) {
8250
8256
  maxDataBytes: spec.maxDataBytes,
8251
8257
  secretPaths: [...secretPaths],
8252
8258
  secretArrayKeys: spec.secretArrayKeys === void 0 ? void 0 : { ...spec.secretArrayKeys },
8253
- adoptsFrom: spec.adoptsFrom,
8254
8259
  transactFamily: spec.transactFamily,
8255
8260
  entry: spec.entry === void 0 ? void 0 : {
8256
8261
  title: spec.entry.title,
@@ -8294,7 +8299,6 @@ function defineEntryKind(name, spec) {
8294
8299
  ...spec.database === void 0 ? {} : { database: spec.database },
8295
8300
  ...spec.indexes === void 0 ? {} : { indexes: spec.indexes },
8296
8301
  ...spec.secretArrayKeys === void 0 ? {} : { secretArrayKeys: spec.secretArrayKeys },
8297
- ...spec.adoptsFrom === void 0 ? {} : { adoptsFrom: spec.adoptsFrom },
8298
8302
  entry: {
8299
8303
  title: spec.title,
8300
8304
  ...spec.nameField === void 0 ? {} : { nameField: spec.nameField }
@@ -8303,16 +8307,6 @@ function defineEntryKind(name, spec) {
8303
8307
  if (defined === void 0) throw new DeclarationRefusedError(`entry kind "${name}" was not built`);
8304
8308
  return defined;
8305
8309
  }
8306
- /**
8307
- * Legacy source for broker entry adoption (B2): brokers live in addon-settings
8308
- * as one row `<addonId>.brokers` whose value is an array until records-adopt
8309
- * copies them into the entry kind.
8310
- */
8311
- var SETTINGS_BROKERS_ADOPTS_PREFIX = "@settings-brokers/";
8312
- /** The `adoptsFrom` value for an addon's broker entry kind. */
8313
- function settingsBrokersAdoptsFrom(addonId) {
8314
- return `${SETTINGS_BROKERS_ADOPTS_PREFIX}${addonId}`;
8315
- }
8316
8310
  /** Shared Zod schemas used across streaming capabilities. */
8317
8311
  var CamProfileSchema = _enum([
8318
8312
  "high",
@@ -17026,11 +17020,12 @@ var DeclareKindResultSchema = object({
17026
17020
  kindId: number().int(),
17027
17021
  state: RecordKindStateSchema,
17028
17022
  createdIndexes: array(string()),
17029
- /** The boot guard: the kind is empty while its legacy table still holds rows. */
17030
- adoptionPending: object({
17031
- legacyTable: string(),
17032
- legacyRows: number().int()
17033
- }).nullable()
17023
+ /**
17024
+ * RETIRED (D900): always `null`. It carried the records-migration boot guard;
17025
+ * it stays on the wire, null, because an addon built before the removal reads
17026
+ * an ABSENT field as "adoption pending" and refuses to start.
17027
+ */
17028
+ adoptionPending: _null()
17034
17029
  });
17035
17030
  /** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
17036
17031
  var SecretRefsList = array(string());
@@ -17203,26 +17198,7 @@ method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: arr
17203
17198
  }), object({ kinds: array(StorageKindSchema) }), { auth: "admin" }), method(RecordQueryInputSchema.extend({
17204
17199
  owner: string().min(1),
17205
17200
  kind: RecordKindNameSchema
17206
- }), RecordQueryResultSchema, { auth: "admin" }), method(object({
17207
- owner: string().min(1),
17208
- kind: RecordKindNameSchema,
17209
- records: array(RecordInputSchema).max(RECORD_BATCH_MAX),
17210
- /** The LAST batch: the copy is complete, the boot guard stops asking. */
17211
- complete: boolean().optional()
17212
- }).refine((input) => input.records.length > 0 || input.complete === true, { message: "records must be non-empty unless complete is true" }), object({ adopted: number().int() }), {
17213
- kind: "mutation",
17214
- auth: "admin"
17215
- }), method(object({
17216
- collection: string().min(1),
17217
- cursor: string().optional(),
17218
- limit: number().int().min(1).max(1e3).optional()
17219
- }), object({
17220
- rows: array(object({
17221
- id: string(),
17222
- data: record(string(), unknown())
17223
- })),
17224
- nextCursor: string().nullable()
17225
- }), { auth: "admin" }), method(object({ collection: string().min(1) }), object({ adopted: boolean() }), { auth: "admin" });
17201
+ }), RecordQueryResultSchema, { auth: "admin" });
17226
17202
  /**
17227
17203
  * record-entries - the ONE admin surface for every list of user-created entries
17228
17204
  * (D881): notification targets, brokers, LLM profiles, anything an addon
@@ -60846,9 +60822,24 @@ var NpuInfoSchema = object({
60846
60822
  name: string().optional(),
60847
60823
  generation: _enum(["xdna1", "xdna2"]).optional()
60848
60824
  });
60825
+ var CoralBusSchema = _enum(["usb", "pci"]);
60849
60826
  var CoralInfoSchema = object({
60850
60827
  type: literal("coral-edgetpu"),
60851
- bus: string().optional()
60828
+ /** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
60829
+ bus: string().optional(),
60830
+ /** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
60831
+ count: number().int().nonnegative().optional(),
60832
+ /** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
60833
+ units: array(object({
60834
+ bus: CoralBusSchema,
60835
+ count: number().int().nonnegative()
60836
+ })).readonly().optional(),
60837
+ /** Present-but-unusable units, each with its typed reason (never "absent"). */
60838
+ unavailable: array(object({
60839
+ bus: CoralBusSchema,
60840
+ count: number().int().nonnegative(),
60841
+ reason: _enum(["driver-missing", "device-not-accessible"])
60842
+ })).readonly().optional()
60852
60843
  });
60853
60844
  var HardwareInfoSchema = object({
60854
60845
  platform: HardwarePlatformSchema,
@@ -69595,6 +69586,12 @@ Object.freeze({
69595
69586
  addonId: null,
69596
69587
  access: "view"
69597
69588
  },
69589
+ "deviceHistory.queryMany": {
69590
+ capName: "device-history",
69591
+ capScope: "system",
69592
+ addonId: null,
69593
+ access: "view"
69594
+ },
69598
69595
  "deviceHistory.queryNode": {
69599
69596
  capName: "device-history",
69600
69597
  capScope: "system",
@@ -74815,24 +74812,12 @@ Object.freeze({
74815
74812
  addonId: null,
74816
74813
  access: "create"
74817
74814
  },
74818
- "storageAdmin.adoptRecords": {
74819
- capName: "storage-admin",
74820
- capScope: "system",
74821
- addonId: null,
74822
- access: "create"
74823
- },
74824
74815
  "storageAdmin.dropCollection": {
74825
74816
  capName: "storage-admin",
74826
74817
  capScope: "system",
74827
74818
  addonId: null,
74828
74819
  access: "delete"
74829
74820
  },
74830
- "storageAdmin.isAdoptedLegacyTable": {
74831
- capName: "storage-admin",
74832
- capScope: "system",
74833
- addonId: null,
74834
- access: "view"
74835
- },
74836
74821
  "storageAdmin.listKinds": {
74837
74822
  capName: "storage-admin",
74838
74823
  capScope: "system",
@@ -74845,12 +74830,6 @@ Object.freeze({
74845
74830
  addonId: null,
74846
74831
  access: "view"
74847
74832
  },
74848
- "storageAdmin.readLegacyCollection": {
74849
- capName: "storage-admin",
74850
- capScope: "system",
74851
- addonId: null,
74852
- access: "view"
74853
- },
74854
74833
  "storageAdmin.readRecords": {
74855
74834
  capName: "storage-admin",
74856
74835
  capScope: "system",
@@ -78665,12 +78644,6 @@ Object.freeze({
78665
78644
  form: "single",
78666
78645
  optional: false
78667
78646
  }],
78668
- "storageAdmin.adoptRecords": [{
78669
- name: "records",
78670
- form: "object-array",
78671
- optional: false,
78672
- itemField: "deviceId"
78673
- }],
78674
78647
  "storageAdmin.readRecords": [{
78675
78648
  name: "deviceId",
78676
78649
  form: "single",
@@ -80483,8 +80456,7 @@ var hmBrokersEntryKind = defineEntryKind("brokers", {
80483
80456
  connection: HmBrokerEntrySchema.shape.connection,
80484
80457
  integrationId: string().optional()
80485
80458
  }),
80486
- writeTrigger: "an operator adds, edits or removes a Homematic CCU broker connection",
80487
- adoptsFrom: settingsBrokersAdoptsFrom("provider-homematic")
80459
+ writeTrigger: "an operator adds, edits or removes a Homematic CCU broker connection"
80488
80460
  });
80489
80461
  //#endregion
80490
80462
  //#region src/hm-broker-store.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homematic",
3
- "version": "1.2.142",
3
+ "version": "1.2.144",
4
4
  "description": "Homematic / HomematicIP (CCU3 / RaspberryMatic) device-provider addon for CamStack — wraps the nodehomematic library",
5
5
  "keywords": [
6
6
  "camstack",