camstack 1.2.188 → 1.2.189

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/cli.js CHANGED
@@ -37,7 +37,7 @@ async function runServe(args) {
37
37
  ...typeof values.data === "string" ? { data: values.data } : {}
38
38
  };
39
39
  Object.assign(process.env, buildServeEnv(opts));
40
- await import("./launcher-FYTHPW44.js");
40
+ await import("./launcher-LKHQ7I4L.js");
41
41
  }
42
42
 
43
43
  // src/commands/agent.ts
@@ -82,7 +82,7 @@ async function runAgent(args) {
82
82
  ...typeof values.port === "string" ? { port: values.port } : {}
83
83
  };
84
84
  Object.assign(process.env, buildAgentEnv(opts));
85
- await import("./launcher-FYTHPW44.js");
85
+ await import("./launcher-LKHQ7I4L.js");
86
86
  }
87
87
 
88
88
  // src/commands/setup.ts
@@ -14772,7 +14772,7 @@ function date4(params) {
14772
14772
  // ../../node_modules/zod/v4/classic/external.js
14773
14773
  config(en_default());
14774
14774
 
14775
- // ../types/dist/sleep-BOjuyoPC.mjs
14775
+ // ../types/dist/sleep-BegKjwUu.mjs
14776
14776
  var AUDIO_CHUNK_FORMATS = [
14777
14777
  "f32le",
14778
14778
  "pcmu",
@@ -24131,7 +24131,7 @@ var ResyncResultSchema = external_exports.object({
24131
24131
  var deviceAdoptionCapability = {
24132
24132
  name: "device-adoption",
24133
24133
  scope: "system",
24134
- mode: "singleton",
24134
+ mode: "collection",
24135
24135
  status: {
24136
24136
  schema: AdoptionStatusSchema,
24137
24137
  kind: "poll"
@@ -45406,7 +45406,7 @@ var deviceManagerCapability = {
45406
45406
  auth: "admin"
45407
45407
  }),
45408
45408
  /** List candidate filter chips for an integration via its device-adoption
45409
- * provider — addonId-routed so it never hits the singleton shadow. */
45409
+ * provider — addonId-routed via the collection pin. */
45410
45410
  adoptionListCandidateFilters: method(external_exports.object({
45411
45411
  addonId: external_exports.string(),
45412
45412
  integrationId: external_exports.string()
@@ -62140,6 +62140,14 @@ var DishwasherStatusSchema = external_exports.object({
62140
62140
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
62141
62141
  halfLoad: external_exports.boolean(),
62142
62142
  hygienePlus: external_exports.boolean(),
62143
+ /** Extra dry option when the appliance exposes it. */
62144
+ extraDry: external_exports.boolean(),
62145
+ /** Intensive zone (lower basket) when the appliance exposes it. */
62146
+ intensiveZone: external_exports.boolean(),
62147
+ /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
62148
+ varioSpeedPlus: external_exports.boolean(),
62149
+ /** Child lock (controls disabled on the appliance). */
62150
+ childLock: external_exports.boolean(),
62143
62151
  errorCode: external_exports.number().nullable(),
62144
62152
  errorLabel: external_exports.string().nullable(),
62145
62153
  lastFetchedAt: external_exports.number()
@@ -62191,6 +62199,34 @@ var dishwasherCapability = {
62191
62199
  kind: "mutation",
62192
62200
  auth: "protected"
62193
62201
  }),
62202
+ setExtraDry: method(external_exports.object({
62203
+ deviceId: external_exports.number().int().nonnegative(),
62204
+ on: external_exports.boolean()
62205
+ }), external_exports.void(), {
62206
+ kind: "mutation",
62207
+ auth: "protected"
62208
+ }),
62209
+ setIntensiveZone: method(external_exports.object({
62210
+ deviceId: external_exports.number().int().nonnegative(),
62211
+ on: external_exports.boolean()
62212
+ }), external_exports.void(), {
62213
+ kind: "mutation",
62214
+ auth: "protected"
62215
+ }),
62216
+ setVarioSpeedPlus: method(external_exports.object({
62217
+ deviceId: external_exports.number().int().nonnegative(),
62218
+ on: external_exports.boolean()
62219
+ }), external_exports.void(), {
62220
+ kind: "mutation",
62221
+ auth: "protected"
62222
+ }),
62223
+ setChildLock: method(external_exports.object({
62224
+ deviceId: external_exports.number().int().nonnegative(),
62225
+ on: external_exports.boolean()
62226
+ }), external_exports.void(), {
62227
+ kind: "mutation",
62228
+ auth: "protected"
62229
+ }),
62194
62230
  setOption: method(external_exports.object({
62195
62231
  deviceId: external_exports.number().int().nonnegative(),
62196
62232
  key: external_exports.string().min(1),
@@ -73988,6 +74024,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
73988
74024
  addonId: null,
73989
74025
  access: "create"
73990
74026
  },
74027
+ "dishwasher.setChildLock": {
74028
+ capName: "dishwasher",
74029
+ capScope: "device",
74030
+ addonId: null,
74031
+ access: "create"
74032
+ },
74033
+ "dishwasher.setExtraDry": {
74034
+ capName: "dishwasher",
74035
+ capScope: "device",
74036
+ addonId: null,
74037
+ access: "create"
74038
+ },
73991
74039
  "dishwasher.setHalfLoad": {
73992
74040
  capName: "dishwasher",
73993
74041
  capScope: "device",
@@ -74000,6 +74048,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
74000
74048
  addonId: null,
74001
74049
  access: "create"
74002
74050
  },
74051
+ "dishwasher.setIntensiveZone": {
74052
+ capName: "dishwasher",
74053
+ capScope: "device",
74054
+ addonId: null,
74055
+ access: "create"
74056
+ },
74003
74057
  "dishwasher.setOption": {
74004
74058
  capName: "dishwasher",
74005
74059
  capScope: "device",
@@ -74018,6 +74072,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
74018
74072
  addonId: null,
74019
74073
  access: "create"
74020
74074
  },
74075
+ "dishwasher.setVarioSpeedPlus": {
74076
+ capName: "dishwasher",
74077
+ capScope: "device",
74078
+ addonId: null,
74079
+ access: "create"
74080
+ },
74021
74081
  "dishwasher.start": {
74022
74082
  capName: "dishwasher",
74023
74083
  capScope: "device",
@@ -80717,6 +80777,16 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
80717
80777
  form: "single",
80718
80778
  optional: false
80719
80779
  }],
80780
+ "dishwasher.setChildLock": [{
80781
+ name: "deviceId",
80782
+ form: "single",
80783
+ optional: false
80784
+ }],
80785
+ "dishwasher.setExtraDry": [{
80786
+ name: "deviceId",
80787
+ form: "single",
80788
+ optional: false
80789
+ }],
80720
80790
  "dishwasher.setHalfLoad": [{
80721
80791
  name: "deviceId",
80722
80792
  form: "single",
@@ -80727,6 +80797,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
80727
80797
  form: "single",
80728
80798
  optional: false
80729
80799
  }],
80800
+ "dishwasher.setIntensiveZone": [{
80801
+ name: "deviceId",
80802
+ form: "single",
80803
+ optional: false
80804
+ }],
80730
80805
  "dishwasher.setOption": [{
80731
80806
  name: "deviceId",
80732
80807
  form: "single",
@@ -80742,6 +80817,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
80742
80817
  form: "single",
80743
80818
  optional: false
80744
80819
  }],
80820
+ "dishwasher.setVarioSpeedPlus": [{
80821
+ name: "deviceId",
80822
+ form: "single",
80823
+ optional: false
80824
+ }],
80745
80825
  "dishwasher.start": [{
80746
80826
  name: "deviceId",
80747
80827
  form: "single",
@@ -24024,9 +24024,9 @@ var require_zod = __commonJS({
24024
24024
  }
24025
24025
  });
24026
24026
 
24027
- // ../system/dist/dist-Ct88catN.js
24028
- var require_dist_Ct88catN = __commonJS({
24029
- "../system/dist/dist-Ct88catN.js"(exports) {
24027
+ // ../system/dist/dist-DyjNaeIj.js
24028
+ var require_dist_DyjNaeIj = __commonJS({
24029
+ "../system/dist/dist-DyjNaeIj.js"(exports) {
24030
24030
  "use strict";
24031
24031
  var zod = require_zod();
24032
24032
  __require("crypto");
@@ -38138,7 +38138,7 @@ var require_dist_Ct88catN = __commonJS({
38138
38138
  var deviceAdoptionCapability = {
38139
38139
  name: "device-adoption",
38140
38140
  scope: "system",
38141
- mode: "singleton",
38141
+ mode: "collection",
38142
38142
  status: {
38143
38143
  schema: AdoptionStatusSchema,
38144
38144
  kind: "poll"
@@ -59424,7 +59424,7 @@ var require_dist_Ct88catN = __commonJS({
59424
59424
  auth: "admin"
59425
59425
  }),
59426
59426
  /** List candidate filter chips for an integration via its device-adoption
59427
- * provider — addonId-routed so it never hits the singleton shadow. */
59427
+ * provider — addonId-routed via the collection pin. */
59428
59428
  adoptionListCandidateFilters: method(zod.z.object({
59429
59429
  addonId: zod.z.string(),
59430
59430
  integrationId: zod.z.string()
@@ -76234,6 +76234,14 @@ var require_dist_Ct88catN = __commonJS({
76234
76234
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
76235
76235
  halfLoad: zod.z.boolean(),
76236
76236
  hygienePlus: zod.z.boolean(),
76237
+ /** Extra dry option when the appliance exposes it. */
76238
+ extraDry: zod.z.boolean(),
76239
+ /** Intensive zone (lower basket) when the appliance exposes it. */
76240
+ intensiveZone: zod.z.boolean(),
76241
+ /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
76242
+ varioSpeedPlus: zod.z.boolean(),
76243
+ /** Child lock (controls disabled on the appliance). */
76244
+ childLock: zod.z.boolean(),
76237
76245
  errorCode: zod.z.number().nullable(),
76238
76246
  errorLabel: zod.z.string().nullable(),
76239
76247
  lastFetchedAt: zod.z.number()
@@ -76285,6 +76293,34 @@ var require_dist_Ct88catN = __commonJS({
76285
76293
  kind: "mutation",
76286
76294
  auth: "protected"
76287
76295
  }),
76296
+ setExtraDry: method(zod.z.object({
76297
+ deviceId: zod.z.number().int().nonnegative(),
76298
+ on: zod.z.boolean()
76299
+ }), zod.z.void(), {
76300
+ kind: "mutation",
76301
+ auth: "protected"
76302
+ }),
76303
+ setIntensiveZone: method(zod.z.object({
76304
+ deviceId: zod.z.number().int().nonnegative(),
76305
+ on: zod.z.boolean()
76306
+ }), zod.z.void(), {
76307
+ kind: "mutation",
76308
+ auth: "protected"
76309
+ }),
76310
+ setVarioSpeedPlus: method(zod.z.object({
76311
+ deviceId: zod.z.number().int().nonnegative(),
76312
+ on: zod.z.boolean()
76313
+ }), zod.z.void(), {
76314
+ kind: "mutation",
76315
+ auth: "protected"
76316
+ }),
76317
+ setChildLock: method(zod.z.object({
76318
+ deviceId: zod.z.number().int().nonnegative(),
76319
+ on: zod.z.boolean()
76320
+ }), zod.z.void(), {
76321
+ kind: "mutation",
76322
+ auth: "protected"
76323
+ }),
76288
76324
  setOption: method(zod.z.object({
76289
76325
  deviceId: zod.z.number().int().nonnegative(),
76290
76326
  key: zod.z.string().min(1),
@@ -86887,6 +86923,7 @@ var require_dist_Ct88catN = __commonJS({
86887
86923
  "fan",
86888
86924
  "vacuum",
86889
86925
  "lawn-mower",
86926
+ "dishwasher",
86890
86927
  "light",
86891
86928
  "switch",
86892
86929
  "siren",
@@ -89637,6 +89674,18 @@ var require_dist_Ct88catN = __commonJS({
89637
89674
  addonId: null,
89638
89675
  access: "create"
89639
89676
  },
89677
+ "dishwasher.setChildLock": {
89678
+ capName: "dishwasher",
89679
+ capScope: "device",
89680
+ addonId: null,
89681
+ access: "create"
89682
+ },
89683
+ "dishwasher.setExtraDry": {
89684
+ capName: "dishwasher",
89685
+ capScope: "device",
89686
+ addonId: null,
89687
+ access: "create"
89688
+ },
89640
89689
  "dishwasher.setHalfLoad": {
89641
89690
  capName: "dishwasher",
89642
89691
  capScope: "device",
@@ -89649,6 +89698,12 @@ var require_dist_Ct88catN = __commonJS({
89649
89698
  addonId: null,
89650
89699
  access: "create"
89651
89700
  },
89701
+ "dishwasher.setIntensiveZone": {
89702
+ capName: "dishwasher",
89703
+ capScope: "device",
89704
+ addonId: null,
89705
+ access: "create"
89706
+ },
89652
89707
  "dishwasher.setOption": {
89653
89708
  capName: "dishwasher",
89654
89709
  capScope: "device",
@@ -89667,6 +89722,12 @@ var require_dist_Ct88catN = __commonJS({
89667
89722
  addonId: null,
89668
89723
  access: "create"
89669
89724
  },
89725
+ "dishwasher.setVarioSpeedPlus": {
89726
+ capName: "dishwasher",
89727
+ capScope: "device",
89728
+ addonId: null,
89729
+ access: "create"
89730
+ },
89670
89731
  "dishwasher.start": {
89671
89732
  capName: "dishwasher",
89672
89733
  capScope: "device",
@@ -96573,6 +96634,16 @@ var require_dist_Ct88catN = __commonJS({
96573
96634
  form: "single",
96574
96635
  optional: false
96575
96636
  }],
96637
+ "dishwasher.setChildLock": [{
96638
+ name: "deviceId",
96639
+ form: "single",
96640
+ optional: false
96641
+ }],
96642
+ "dishwasher.setExtraDry": [{
96643
+ name: "deviceId",
96644
+ form: "single",
96645
+ optional: false
96646
+ }],
96576
96647
  "dishwasher.setHalfLoad": [{
96577
96648
  name: "deviceId",
96578
96649
  form: "single",
@@ -96583,6 +96654,11 @@ var require_dist_Ct88catN = __commonJS({
96583
96654
  form: "single",
96584
96655
  optional: false
96585
96656
  }],
96657
+ "dishwasher.setIntensiveZone": [{
96658
+ name: "deviceId",
96659
+ form: "single",
96660
+ optional: false
96661
+ }],
96586
96662
  "dishwasher.setOption": [{
96587
96663
  name: "deviceId",
96588
96664
  form: "single",
@@ -96598,6 +96674,11 @@ var require_dist_Ct88catN = __commonJS({
96598
96674
  form: "single",
96599
96675
  optional: false
96600
96676
  }],
96677
+ "dishwasher.setVarioSpeedPlus": [{
96678
+ name: "deviceId",
96679
+ form: "single",
96680
+ optional: false
96681
+ }],
96601
96682
  "dishwasher.start": [{
96602
96683
  name: "deviceId",
96603
96684
  form: "single",
@@ -113278,11 +113359,11 @@ ${values.join("\n")}` : `${blockName} :`;
113278
113359
  }
113279
113360
  });
113280
113361
 
113281
- // ../system/dist/device-ca-75rt3U_U.js
113282
- var require_device_ca_75rt3U_U = __commonJS({
113283
- "../system/dist/device-ca-75rt3U_U.js"(exports) {
113362
+ // ../system/dist/device-ca-njpTMpJC.js
113363
+ var require_device_ca_njpTMpJC = __commonJS({
113364
+ "../system/dist/device-ca-njpTMpJC.js"(exports) {
113284
113365
  "use strict";
113285
- var require_dist10 = require_dist_Ct88catN();
113366
+ var require_dist10 = require_dist_DyjNaeIj();
113286
113367
  var require_x509_es = require_x509_es_C4cOo48M();
113287
113368
  var node_crypto = __require("crypto");
113288
113369
  var SYSTEM_SECRET_OWNER = "system";
@@ -113697,11 +113778,11 @@ var require_device_ca_75rt3U_U = __commonJS({
113697
113778
  }
113698
113779
  });
113699
113780
 
113700
- // ../system/dist/phase6-declare-gate-C6WqagkC.js
113701
- var require_phase6_declare_gate_C6WqagkC = __commonJS({
113702
- "../system/dist/phase6-declare-gate-C6WqagkC.js"(exports) {
113781
+ // ../system/dist/phase6-declare-gate-BlTDMI3t.js
113782
+ var require_phase6_declare_gate_BlTDMI3t = __commonJS({
113783
+ "../system/dist/phase6-declare-gate-BlTDMI3t.js"(exports) {
113703
113784
  "use strict";
113704
- var require_dist10 = require_dist_Ct88catN();
113785
+ var require_dist10 = require_dist_DyjNaeIj();
113705
113786
  function legacyTableRowCountFromList(tables, collection) {
113706
113787
  return tables.find((t) => t.name === collection)?.rows ?? 0;
113707
113788
  }
@@ -113795,9 +113876,9 @@ var require_alerts_addon = __commonJS({
113795
113876
  [Symbol.toStringTag]: { value: "Module" }
113796
113877
  });
113797
113878
  require_chunk_Cek0wNdY();
113798
- var require_dist10 = require_dist_Ct88catN();
113879
+ var require_dist10 = require_dist_DyjNaeIj();
113799
113880
  var require_read_all_rows$1 = require_read_all_rows_CVoO1ONM();
113800
- var require_phase6_declare_gate = require_phase6_declare_gate_C6WqagkC();
113881
+ var require_phase6_declare_gate = require_phase6_declare_gate_BlTDMI3t();
113801
113882
  var CRITICAL_CATEGORIES = /* @__PURE__ */ new Set([
113802
113883
  "addon.runner-failed",
113803
113884
  "addon.runner-refused",
@@ -115447,7 +115528,7 @@ var require_calendars_addon = __commonJS({
115447
115528
  [Symbol.toStringTag]: { value: "Module" }
115448
115529
  });
115449
115530
  require_chunk_Cek0wNdY();
115450
- var require_dist10 = require_dist_Ct88catN();
115531
+ var require_dist10 = require_dist_DyjNaeIj();
115451
115532
  var require_settle_sources = require_settle_sources_Bhsy57y();
115452
115533
  var zod = require_zod();
115453
115534
  var CALENDAR_COLOR_PALETTE = [
@@ -115665,11 +115746,11 @@ var require_calendars = __commonJS({
115665
115746
  }
115666
115747
  });
115667
115748
 
115668
- // ../system/dist/composition-sources-BQmhc3se.js
115669
- var require_composition_sources_BQmhc3se = __commonJS({
115670
- "../system/dist/composition-sources-BQmhc3se.js"(exports) {
115749
+ // ../system/dist/composition-sources-DwEvAg5Z.js
115750
+ var require_composition_sources_DwEvAg5Z = __commonJS({
115751
+ "../system/dist/composition-sources-DwEvAg5Z.js"(exports) {
115671
115752
  "use strict";
115672
- var require_dist10 = require_dist_Ct88catN();
115753
+ var require_dist10 = require_dist_DyjNaeIj();
115673
115754
  function normalizedNativeOwner(owner) {
115674
115755
  const trimmed = owner?.trim();
115675
115756
  return trimmed ? trimmed : null;
@@ -115784,8 +115865,8 @@ var require_composer_addon = __commonJS({
115784
115865
  [Symbol.toStringTag]: { value: "Module" }
115785
115866
  });
115786
115867
  require_chunk_Cek0wNdY();
115787
- var require_dist10 = require_dist_Ct88catN();
115788
- var require_composition_sources = require_composition_sources_BQmhc3se();
115868
+ var require_dist10 = require_dist_DyjNaeIj();
115869
+ var require_composition_sources = require_composition_sources_DwEvAg5Z();
115789
115870
  var zod = require_zod();
115790
115871
  function isRecord$2(value) {
115791
115872
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -119595,7 +119676,7 @@ var require_console_logging = __commonJS({
119595
119676
  [Symbol.toStringTag]: { value: "Module" }
119596
119677
  });
119597
119678
  require_chunk_Cek0wNdY();
119598
- var require_dist10 = require_dist_Ct88catN();
119679
+ var require_dist10 = require_dist_DyjNaeIj();
119599
119680
  var require_formatter = require_formatter_DqAKDlvN();
119600
119681
  var LEVEL_RANK = {
119601
119682
  debug: 0,
@@ -123988,9 +124069,9 @@ var require_core_blocks_addon = __commonJS({
123988
124069
  "use strict";
123989
124070
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
123990
124071
  var require_chunk = require_chunk_Cek0wNdY();
123991
- var require_dist10 = require_dist_Ct88catN();
124072
+ var require_dist10 = require_dist_DyjNaeIj();
123992
124073
  var require_read_all_rows$1 = require_read_all_rows_CVoO1ONM();
123993
- var require_composition_sources = require_composition_sources_BQmhc3se();
124074
+ var require_composition_sources = require_composition_sources_DwEvAg5Z();
123994
124075
  var require_prefix_range = require_prefix_range_D_KueXbQ();
123995
124076
  var require_prefix_walk = require_prefix_walk_Dv6MLZlM();
123996
124077
  var zod = require_zod();
@@ -126394,9 +126475,9 @@ var require_event_category_Hoe_mqbd = __commonJS({
126394
126475
  }
126395
126476
  });
126396
126477
 
126397
- // ../types/dist/sleep--L6qY125.js
126398
- var require_sleep_L6qY125 = __commonJS({
126399
- "../types/dist/sleep--L6qY125.js"(exports) {
126478
+ // ../types/dist/sleep-REHQvLV6.js
126479
+ var require_sleep_REHQvLV6 = __commonJS({
126480
+ "../types/dist/sleep-REHQvLV6.js"(exports) {
126400
126481
  "use strict";
126401
126482
  var require_event_category = require_event_category_Hoe_mqbd();
126402
126483
  var zod = require_zod();
@@ -131460,14 +131541,19 @@ var require_sleep_L6qY125 = __commonJS({
131460
131541
  function addonSliceHandleApi(api) {
131461
131542
  return api;
131462
131543
  }
131544
+ function isCapRecord(value) {
131545
+ if (value === null || Array.isArray(value)) return false;
131546
+ const kind = typeof value;
131547
+ return kind === "object" || kind === "function";
131548
+ }
131463
131549
  function isTrpcProcedureLeaf(value) {
131464
- if (typeof value !== "object" || value === null) return false;
131550
+ if (!isCapRecord(value)) return false;
131465
131551
  const record = value;
131466
- return (typeof record.query === "function" || typeof record.mutate === "function" || typeof record.subscribe === "function") && !Array.isArray(value);
131552
+ return typeof record.query === "function" || typeof record.mutate === "function" || typeof record.subscribe === "function";
131467
131553
  }
131468
131554
  function readCapRecord(api, capProp) {
131469
131555
  const cap = Reflect.get(api, capProp);
131470
- if (typeof cap !== "object" || cap === null || Array.isArray(cap)) return void 0;
131556
+ if (!isCapRecord(cap)) return void 0;
131471
131557
  return cap;
131472
131558
  }
131473
131559
  function readTrpcLeaf(api, capProp, method2) {
@@ -131652,6 +131738,10 @@ var require_sleep_L6qY125 = __commonJS({
131652
131738
  setPower: (input) => dispatch("dishwasher", "dishwasher", "setPower", "mutation", input),
131653
131739
  setHalfLoad: (input) => dispatch("dishwasher", "dishwasher", "setHalfLoad", "mutation", input),
131654
131740
  setHygienePlus: (input) => dispatch("dishwasher", "dishwasher", "setHygienePlus", "mutation", input),
131741
+ setExtraDry: (input) => dispatch("dishwasher", "dishwasher", "setExtraDry", "mutation", input),
131742
+ setIntensiveZone: (input) => dispatch("dishwasher", "dishwasher", "setIntensiveZone", "mutation", input),
131743
+ setVarioSpeedPlus: (input) => dispatch("dishwasher", "dishwasher", "setVarioSpeedPlus", "mutation", input),
131744
+ setChildLock: (input) => dispatch("dishwasher", "dishwasher", "setChildLock", "mutation", input),
131655
131745
  setOption: (input) => dispatch("dishwasher", "dishwasher", "setOption", "mutation", input),
131656
131746
  getStatus: (input) => dispatch("dishwasher", "dishwasher", "getStatus", "query", input)
131657
131747
  };
@@ -133950,7 +134040,7 @@ var require_addon = __commonJS({
133950
134040
  "../types/dist/addon.js"(exports) {
133951
134041
  "use strict";
133952
134042
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
133953
- var require_sleep = require_sleep_L6qY125();
134043
+ var require_sleep = require_sleep_REHQvLV6();
133954
134044
  var require_event_category = require_event_category_Hoe_mqbd();
133955
134045
  var require_err_msg = require_err_msg_BhVbr0NX();
133956
134046
  var CAP_INPUT_DEFAULTS = Object.freeze({
@@ -134917,6 +135007,22 @@ var require_addon = __commonJS({
134917
135007
  "path": "hygienePlus",
134918
135008
  "valueType": "boolean"
134919
135009
  },
135010
+ {
135011
+ "path": "extraDry",
135012
+ "valueType": "boolean"
135013
+ },
135014
+ {
135015
+ "path": "intensiveZone",
135016
+ "valueType": "boolean"
135017
+ },
135018
+ {
135019
+ "path": "varioSpeedPlus",
135020
+ "valueType": "boolean"
135021
+ },
135022
+ {
135023
+ "path": "childLock",
135024
+ "valueType": "boolean"
135025
+ },
134920
135026
  {
134921
135027
  "path": "errorCode",
134922
135028
  "valueType": "number"
@@ -136532,7 +136638,7 @@ var require_device_manager_addon = __commonJS({
136532
136638
  [Symbol.toStringTag]: { value: "Module" }
136533
136639
  });
136534
136640
  require_chunk_Cek0wNdY();
136535
- var require_dist10 = require_dist_Ct88catN();
136641
+ var require_dist10 = require_dist_DyjNaeIj();
136536
136642
  var require_read_all_rows$1 = require_read_all_rows_CVoO1ONM();
136537
136643
  var require_prefix_range = require_prefix_range_D_KueXbQ();
136538
136644
  var require_prefix_walk = require_prefix_walk_Dv6MLZlM();
@@ -145606,7 +145712,7 @@ var require_hub_forwarder = __commonJS({
145606
145712
  [Symbol.toStringTag]: { value: "Module" }
145607
145713
  });
145608
145714
  require_chunk_Cek0wNdY();
145609
- var require_dist10 = require_dist_Ct88catN();
145715
+ var require_dist10 = require_dist_DyjNaeIj();
145610
145716
  var require_formatter = require_formatter_DqAKDlvN();
145611
145717
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
145612
145718
  var HubForwarderDestination = class {
@@ -145743,7 +145849,7 @@ var require_liveness_monitor_addon = __commonJS({
145743
145849
  "use strict";
145744
145850
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
145745
145851
  require_chunk_Cek0wNdY();
145746
- var require_dist10 = require_dist_Ct88catN();
145852
+ var require_dist10 = require_dist_DyjNaeIj();
145747
145853
  var NO_DEVICES = "liveness:no-devices";
145748
145854
  var ALL_OFFLINE = "liveness:all-devices-offline";
145749
145855
  var NO_FOOTAGE_PREFIX = "liveness:no-footage:";
@@ -146106,12 +146212,12 @@ var require_local_auth_addon = __commonJS({
146106
146212
  [Symbol.toStringTag]: { value: "Module" }
146107
146213
  });
146108
146214
  var require_chunk = require_chunk_Cek0wNdY();
146109
- var require_dist10 = require_dist_Ct88catN();
146215
+ var require_dist10 = require_dist_DyjNaeIj();
146110
146216
  var require_read_all_rows$1 = require_read_all_rows_CVoO1ONM();
146111
146217
  var require_safe_buffer$1 = require_safe_buffer_D3aoa_7X();
146112
146218
  var require_ms$1 = require_ms_LB3giGoU();
146113
- var require_device_ca = require_device_ca_75rt3U_U();
146114
- var require_phase6_declare_gate = require_phase6_declare_gate_C6WqagkC();
146219
+ var require_device_ca = require_device_ca_njpTMpJC();
146220
+ var require_phase6_declare_gate = require_phase6_declare_gate_BlTDMI3t();
146115
146221
  var zod = require_zod();
146116
146222
  var node_crypto = __require("crypto");
146117
146223
  node_crypto = require_chunk.__toESM(node_crypto);
@@ -156906,7 +157012,7 @@ var require_loki_logging = __commonJS({
156906
157012
  [Symbol.toStringTag]: { value: "Module" }
156907
157013
  });
156908
157014
  require_chunk_Cek0wNdY();
156909
- var require_dist10 = require_dist_Ct88catN();
157015
+ var require_dist10 = require_dist_DyjNaeIj();
156910
157016
  function sanitizeLabelName(raw) {
156911
157017
  const replaced = raw.replaceAll(/[^a-zA-Z0-9_]/g, "_");
156912
157018
  return /^[a-zA-Z_]/.test(replaced) ? replaced : `_${replaced}`;
@@ -157578,7 +157684,7 @@ var require_native_metrics_addon = __commonJS({
157578
157684
  [Symbol.toStringTag]: { value: "Module" }
157579
157685
  });
157580
157686
  var require_chunk = require_chunk_Cek0wNdY();
157581
- var require_dist10 = require_dist_Ct88catN();
157687
+ var require_dist10 = require_dist_DyjNaeIj();
157582
157688
  var node_fs_promises = __require("fs/promises");
157583
157689
  var node_util = __require("util");
157584
157690
  var node_os = __require("os");
@@ -158365,6 +158471,11 @@ var require_native_metrics_addon = __commonJS({
158365
158471
  }
158366
158472
  };
158367
158473
  }
158474
+ function refusalCounts(result) {
158475
+ const counts = {};
158476
+ for (const r of result.refused) counts[r.reason] = (counts[r.reason] ?? 0) + r.count;
158477
+ return counts;
158478
+ }
158368
158479
  var NodeMetricsHistoryRecorder = class {
158369
158480
  deps;
158370
158481
  declared = false;
@@ -158438,7 +158549,15 @@ var require_native_metrics_addon = __commonJS({
158438
158549
  });
158439
158550
  if (points.length === 0) return;
158440
158551
  try {
158441
- await this.deps.deviceHistory.record({ points });
158552
+ const result = await this.deps.deviceHistory.record({ points });
158553
+ if (result.refused.length > 0) {
158554
+ if (result.refused.some((r) => r.reason === "undeclared")) this.declared = false;
158555
+ this.deps.logger.warn("node metrics history points refused", { meta: {
158556
+ nodeId,
158557
+ accepted: result.accepted,
158558
+ refused: refusalCounts(result)
158559
+ } });
158560
+ }
158442
158561
  } catch (err) {
158443
158562
  this.deps.logger.warn("node metrics history sample not stored", { meta: {
158444
158563
  nodeId,
@@ -159959,7 +160078,7 @@ var require_device_history_addon = __commonJS({
159959
160078
  [Symbol.toStringTag]: { value: "Module" }
159960
160079
  });
159961
160080
  require_chunk_Cek0wNdY();
159962
- var require_dist10 = require_dist_Ct88catN();
160081
+ var require_dist10 = require_dist_DyjNaeIj();
159963
160082
  function subjectIdOf(subject) {
159964
160083
  return subject.kind === "device" ? `d:${subject.deviceId}` : `n:${subject.nodeId}`;
159965
160084
  }
@@ -162638,7 +162757,7 @@ var require_filesystem_storage_addon = __commonJS({
162638
162757
  [Symbol.toStringTag]: { value: "Module" }
162639
162758
  });
162640
162759
  var require_chunk = require_chunk_Cek0wNdY();
162641
- var require_dist10 = require_dist_Ct88catN();
162760
+ var require_dist10 = require_dist_DyjNaeIj();
162642
162761
  var node_crypto = __require("crypto");
162643
162762
  var node_fs_promises = __require("fs/promises");
162644
162763
  var node_path = __require("path");
@@ -163748,12 +163867,12 @@ var require_lib = __commonJS({
163748
163867
  }
163749
163868
  });
163750
163869
 
163751
- // ../system/dist/wal-maintenance-mwCBe3Vr.js
163752
- var require_wal_maintenance_mwCBe3Vr = __commonJS({
163753
- "../system/dist/wal-maintenance-mwCBe3Vr.js"(exports) {
163870
+ // ../system/dist/wal-maintenance-i3GRvmQW.js
163871
+ var require_wal_maintenance_i3GRvmQW = __commonJS({
163872
+ "../system/dist/wal-maintenance-i3GRvmQW.js"(exports) {
163754
163873
  "use strict";
163755
163874
  var require_chunk = require_chunk_Cek0wNdY();
163756
- var require_dist10 = require_dist_Ct88catN();
163875
+ var require_dist10 = require_dist_DyjNaeIj();
163757
163876
  var require_prefix_range = require_prefix_range_D_KueXbQ();
163758
163877
  var node_crypto = __require("crypto");
163759
163878
  var node_module = __require("module");
@@ -164038,7 +164157,9 @@ var require_wal_maintenance_mwCBe3Vr = __commonJS({
164038
164157
  return {
164039
164158
  hasTable: ({ name }) => backend.hasTable(name),
164040
164159
  dropRetiredTable: ({ name }) => backend.dropRetiredTable(name),
164041
- threadId: () => threadId
164160
+ threadId: () => threadId,
164161
+ listPhysicalTables: ({ ownerPrefix }) => backend.listTables(ownerPrefix),
164162
+ readLegacyCollection: (input) => backend.readLegacyCollection(input)
164042
164163
  };
164043
164164
  }
164044
164165
  function callControl(target, op, input) {
@@ -165155,7 +165276,9 @@ CREATE TABLE IF NOT EXISTS _record_sequences (
165155
165276
  var CONTROL_OPS = [
165156
165277
  "hasTable",
165157
165278
  "dropRetiredTable",
165158
- "threadId"
165279
+ "threadId",
165280
+ "listPhysicalTables",
165281
+ "readLegacyCollection"
165159
165282
  ];
165160
165283
  function isDataStoreOp(op) {
165161
165284
  return DATA_STORE_OPS.some((known) => known === op);
@@ -166332,13 +166455,24 @@ CREATE TABLE IF NOT EXISTS _record_sequences (
166332
166455
  */
166333
166456
  listTables(ownerPrefix) {
166334
166457
  const db = this.getDb();
166335
- const names = db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all().map((r) => r.name);
166458
+ const entries = db.prepare("SELECT name, sql FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all();
166336
166459
  const out = [];
166337
- for (const name of names) {
166460
+ for (const { name, sql } of entries) {
166461
+ if (sql !== null && sql.toUpperCase().startsWith("CREATE VIRTUAL")) continue;
166338
166462
  const colon = name.indexOf(":");
166339
166463
  const owner = colon > 0 ? name.slice(0, colon) : null;
166340
166464
  if (ownerPrefix !== void 0 && owner !== ownerPrefix) continue;
166341
- const rows = db.prepare(`SELECT COUNT(*) AS c FROM "${name}"`).get()?.c ?? 0;
166465
+ let rows = 0;
166466
+ try {
166467
+ rows = db.prepare(`SELECT COUNT(*) AS c FROM "${name}"`).get()?.c ?? 0;
166468
+ } catch (err) {
166469
+ this.logger?.warn("listTables: skipped a table whose COUNT failed", { meta: {
166470
+ table: name,
166471
+ database: this.options.databaseId,
166472
+ error: err instanceof Error ? err.message : String(err)
166473
+ } });
166474
+ continue;
166475
+ }
166342
166476
  let bytes = null;
166343
166477
  try {
166344
166478
  bytes = db.prepare("SELECT SUM(pgsize) AS b FROM dbstat WHERE name = ?").get(name)?.b ?? null;
@@ -167937,9 +168071,9 @@ var require_sqlite_settings_addon = __commonJS({
167937
168071
  [Symbol.toStringTag]: { value: "Module" }
167938
168072
  });
167939
168073
  var require_chunk = require_chunk_Cek0wNdY();
167940
- var require_dist10 = require_dist_Ct88catN();
168074
+ var require_dist10 = require_dist_DyjNaeIj();
167941
168075
  var require_retired_settings_keys = require_retired_settings_keys_D_VwZiDt();
167942
- var require_wal_maintenance = require_wal_maintenance_mwCBe3Vr();
168076
+ var require_wal_maintenance = require_wal_maintenance_i3GRvmQW();
167943
168077
  var require_sqlite_snapshot_protocol = require_sqlite_snapshot_protocol_B9OndqZv();
167944
168078
  var require_wal_checkpoint_policy = require_wal_checkpoint_policy_d2z2qPqx();
167945
168079
  var node_fs_promises = __require("fs/promises");
@@ -168822,6 +168956,12 @@ var require_sqlite_settings_addon = __commonJS({
168822
168956
  async hasTable(name) {
168823
168957
  return require_wal_maintenance.callControl(require_wal_maintenance.controlTargetOf(this.backend, 0), "hasTable", { name });
168824
168958
  }
168959
+ listPhysicalTables(ownerPrefix) {
168960
+ return Promise.resolve(require_wal_maintenance.callControl(require_wal_maintenance.controlTargetOf(this.backend, 0), "listPhysicalTables", { ownerPrefix }));
168961
+ }
168962
+ readLegacyCollection(input) {
168963
+ return Promise.resolve(require_wal_maintenance.callControl(require_wal_maintenance.controlTargetOf(this.backend, 0), "readLegacyCollection", input));
168964
+ }
168825
168965
  async dropRetiredTable(name) {
168826
168966
  return require_wal_maintenance.callControl(require_wal_maintenance.controlTargetOf(this.backend, 0), "dropRetiredTable", { name });
168827
168967
  }
@@ -168875,6 +169015,12 @@ var require_sqlite_settings_addon = __commonJS({
168875
169015
  hasTable(name) {
168876
169016
  return this.client.control("hasTable", { name });
168877
169017
  }
169018
+ listPhysicalTables(ownerPrefix) {
169019
+ return this.client.control("listPhysicalTables", { ownerPrefix });
169020
+ }
169021
+ readLegacyCollection(input) {
169022
+ return this.client.control("readLegacyCollection", input);
169023
+ }
168878
169024
  dropRetiredTable(name) {
168879
169025
  return this.client.control("dropRetiredTable", { name });
168880
169026
  }
@@ -169449,11 +169595,13 @@ var require_sqlite_settings_addon = __commonJS({
169449
169595
  logger;
169450
169596
  installedOwners;
169451
169597
  records;
169452
- constructor(backend, logger, installedOwners, records) {
169598
+ peerFiles;
169599
+ constructor(backend, logger, installedOwners, records, peerFiles = async () => []) {
169453
169600
  this.backend = backend;
169454
169601
  this.logger = logger;
169455
169602
  this.installedOwners = installedOwners;
169456
169603
  this.records = records;
169604
+ this.peerFiles = peerFiles;
169457
169605
  }
169458
169606
  listKinds(input) {
169459
169607
  return this.records.listKinds(input);
@@ -169467,8 +169615,25 @@ var require_sqlite_settings_addon = __commonJS({
169467
169615
  isAdoptedLegacyTable(input) {
169468
169616
  return this.records.isAdoptedLegacyTable(input.collection).then((adopted) => ({ adopted }));
169469
169617
  }
169470
- readLegacyCollection(input) {
169471
- return Promise.resolve(this.backend.readLegacyCollection(input));
169618
+ async readLegacyCollection(input) {
169619
+ if (this.backend.hasTable(input.collection)) {
169620
+ const page = this.backend.readLegacyCollection(input);
169621
+ return {
169622
+ rows: [...page.rows],
169623
+ nextCursor: page.nextCursor
169624
+ };
169625
+ }
169626
+ for (const file of await this.peerFiles()) if (await file.hasTable(input.collection)) {
169627
+ const page = await file.readLegacyCollection(input);
169628
+ return {
169629
+ rows: [...page.rows],
169630
+ nextCursor: page.nextCursor
169631
+ };
169632
+ }
169633
+ return {
169634
+ rows: [],
169635
+ nextCursor: null
169636
+ };
169472
169637
  }
169473
169638
  /** May this table be dropped AT ALL? Throws with the reason when not. */
169474
169639
  async assertDroppable(collection) {
@@ -169484,12 +169649,14 @@ var require_sqlite_settings_addon = __commonJS({
169484
169649
  if (installed.has(owner) && !await this.records.isAdoptedLegacyTable(collection)) throw new Error(`drop refused: "${collection}" belongs to the installed addon "${owner}"`);
169485
169650
  }
169486
169651
  async listTables(input) {
169487
- const tables = this.backend.listTables(input.ownerPrefix);
169652
+ const tables = [...this.backend.listTables(input.ownerPrefix)];
169653
+ for (const file of await this.peerFiles()) tables.push(...await file.listPhysicalTables(input.ownerPrefix));
169654
+ tables.sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0);
169488
169655
  this.logger.info("storage-admin: listed tables", { meta: {
169489
169656
  tables: tables.length,
169490
169657
  ownerPrefix: input.ownerPrefix ?? null
169491
169658
  } });
169492
- return { tables: [...tables] };
169659
+ return { tables };
169493
169660
  }
169494
169661
  async dropCollection(input) {
169495
169662
  try {
@@ -169673,7 +169840,7 @@ var require_sqlite_settings_addon = __commonJS({
169673
169840
  },
169674
169841
  {
169675
169842
  capability: require_dist10.storageAdminCapability,
169676
- provider: new StorageAdminProvider(settings.backend, this.ctx.logger.child("StorageAdmin"), async () => new Set((await this.ctx.api.addons.list.query()).map((addon) => addon.manifest.id)), records)
169843
+ provider: new StorageAdminProvider(settings.backend, this.ctx.logger.child("StorageAdmin"), async () => new Set((await this.ctx.api.addons.list.query()).map((addon) => addon.manifest.id)), records, async () => router.openFiles().filter((file) => file.databaseId !== "settings"))
169677
169844
  }
169678
169845
  ];
169679
169846
  }
@@ -169763,7 +169930,7 @@ var require_sqlite_storage = __commonJS({
169763
169930
  });
169764
169931
  require_chunk_Cek0wNdY();
169765
169932
  var require_builtins_sqlite_storage_filesystem_storage_addon = require_filesystem_storage_addon();
169766
- var require_wal_maintenance = require_wal_maintenance_mwCBe3Vr();
169933
+ var require_wal_maintenance = require_wal_maintenance_i3GRvmQW();
169767
169934
  var require_builtins_sqlite_storage_sqlite_settings_addon = require_sqlite_settings_addon();
169768
169935
  var ConfigStore = class {
169769
169936
  db;
@@ -169847,7 +170014,7 @@ var require_storage_orchestrator_addon = __commonJS({
169847
170014
  [Symbol.toStringTag]: { value: "Module" }
169848
170015
  });
169849
170016
  var require_chunk = require_chunk_Cek0wNdY();
169850
- var require_dist10 = require_dist_Ct88catN();
170017
+ var require_dist10 = require_dist_DyjNaeIj();
169851
170018
  var require_read_all_rows$1 = require_read_all_rows_CVoO1ONM();
169852
170019
  var zod = require_zod();
169853
170020
  var node_crypto = __require("crypto");
@@ -173978,11 +174145,11 @@ var require_storage_orchestrator = __commonJS({
173978
174145
  }
173979
174146
  });
173980
174147
 
173981
- // ../system/dist/constants-BPWA-r-Y.js
173982
- var require_constants_BPWA_r_Y = __commonJS({
173983
- "../system/dist/constants-BPWA-r-Y.js"(exports) {
174148
+ // ../system/dist/constants-B3fDUnJt.js
174149
+ var require_constants_B3fDUnJt = __commonJS({
174150
+ "../system/dist/constants-B3fDUnJt.js"(exports) {
173984
174151
  "use strict";
173985
- var MESH_CA_KEY_REF = require_dist_Ct88catN().buildSecretRef({
174152
+ var MESH_CA_KEY_REF = require_dist_DyjNaeIj().buildSecretRef({
173986
174153
  owner: "system",
173987
174154
  scope: { kind: "global" },
173988
174155
  fieldPath: "meshCaKey"
@@ -174045,14 +174212,14 @@ var require_constants_BPWA_r_Y = __commonJS({
174045
174212
  }
174046
174213
  });
174047
174214
 
174048
- // ../system/dist/agent-https-CMz4S56_.js
174049
- var require_agent_https_CMz4S56 = __commonJS({
174050
- "../system/dist/agent-https-CMz4S56_.js"(exports) {
174215
+ // ../system/dist/agent-https-DL2cFOQv.js
174216
+ var require_agent_https_DL2cFOQv = __commonJS({
174217
+ "../system/dist/agent-https-DL2cFOQv.js"(exports) {
174051
174218
  "use strict";
174052
174219
  var require_chunk = require_chunk_Cek0wNdY();
174053
- var require_dist10 = require_dist_Ct88catN();
174220
+ var require_dist10 = require_dist_DyjNaeIj();
174054
174221
  var require_x509_es = require_x509_es_C4cOo48M();
174055
- var require_constants15 = require_constants_BPWA_r_Y();
174222
+ var require_constants15 = require_constants_B3fDUnJt();
174056
174223
  var zod = require_zod();
174057
174224
  var node_crypto = __require("crypto");
174058
174225
  var _camstack_types_node = require_node();
@@ -192795,11 +192962,11 @@ var require_system_config_addon = __commonJS({
192795
192962
  [Symbol.toStringTag]: { value: "Module" }
192796
192963
  });
192797
192964
  var require_chunk = require_chunk_Cek0wNdY();
192798
- var require_dist10 = require_dist_Ct88catN();
192965
+ var require_dist10 = require_dist_DyjNaeIj();
192799
192966
  var require_safe_buffer$1 = require_safe_buffer_D3aoa_7X();
192800
192967
  var require_x509_es = require_x509_es_C4cOo48M();
192801
- var require_constants$8 = require_constants_BPWA_r_Y();
192802
- var require_agent_https = require_agent_https_CMz4S56();
192968
+ var require_constants$8 = require_constants_B3fDUnJt();
192969
+ var require_agent_https = require_agent_https_DL2cFOQv();
192803
192970
  var require_src$1 = require_src_CnAqG6EF();
192804
192971
  var zod = require_zod();
192805
192972
  var node_crypto = __require("crypto");
@@ -272512,7 +272679,7 @@ var require_winston_logging = __commonJS({
272512
272679
  [Symbol.toStringTag]: { value: "Module" }
272513
272680
  });
272514
272681
  var require_chunk = require_chunk_Cek0wNdY();
272515
- var require_dist10 = require_dist_Ct88catN();
272682
+ var require_dist10 = require_dist_DyjNaeIj();
272516
272683
  var require_formatter = require_formatter_DqAKDlvN();
272517
272684
  var node_path = __require("path");
272518
272685
  node_path = require_chunk.__toESM(node_path);
@@ -280162,14 +280329,14 @@ var require_lib_8oZrELLm = __commonJS({
280162
280329
  }
280163
280330
  });
280164
280331
 
280165
- // ../system/dist/hub-mdns-ciao-DAU1WttG.js
280166
- var require_hub_mdns_ciao_DAU1WttG = __commonJS({
280167
- "../system/dist/hub-mdns-ciao-DAU1WttG.js"(exports) {
280332
+ // ../system/dist/hub-mdns-ciao-DpdFaLz-.js
280333
+ var require_hub_mdns_ciao_DpdFaLz = __commonJS({
280334
+ "../system/dist/hub-mdns-ciao-DpdFaLz-.js"(exports) {
280168
280335
  "use strict";
280169
280336
  var require_chunk = require_chunk_Cek0wNdY();
280170
- var require_dist10 = require_dist_Ct88catN();
280337
+ var require_dist10 = require_dist_DyjNaeIj();
280171
280338
  var require_x509_es = require_x509_es_C4cOo48M();
280172
- var require_agent_https = require_agent_https_CMz4S56();
280339
+ var require_agent_https = require_agent_https_DL2cFOQv();
280173
280340
  var node_crypto = __require("crypto");
280174
280341
  var _camstack_types_node = require_node();
280175
280342
  var node_fs_promises = __require("fs/promises");
@@ -281168,12 +281335,12 @@ var require_platform_key_source_Di7HrlGR = __commonJS({
281168
281335
  }
281169
281336
  });
281170
281337
 
281171
- // ../system/dist/restore-archive-Cprdh3P9.js
281172
- var require_restore_archive_Cprdh3P9 = __commonJS({
281173
- "../system/dist/restore-archive-Cprdh3P9.js"(exports) {
281338
+ // ../system/dist/restore-archive-BeGP9IYs.js
281339
+ var require_restore_archive_BeGP9IYs = __commonJS({
281340
+ "../system/dist/restore-archive-BeGP9IYs.js"(exports) {
281174
281341
  "use strict";
281175
281342
  var require_chunk = require_chunk_Cek0wNdY();
281176
- var require_dist10 = require_dist_Ct88catN();
281343
+ var require_dist10 = require_dist_DyjNaeIj();
281177
281344
  var require_read_all_rows$1 = require_read_all_rows_CVoO1ONM();
281178
281345
  var zod = require_zod();
281179
281346
  var node_crypto = __require("crypto");
@@ -292494,9 +292661,9 @@ var require_dist3 = __commonJS({
292494
292661
  "use strict";
292495
292662
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
292496
292663
  var require_chunk = require_chunk_Cek0wNdY();
292497
- var require_dist10 = require_dist_Ct88catN();
292664
+ var require_dist10 = require_dist_DyjNaeIj();
292498
292665
  var require_read_all_rows$1 = require_read_all_rows_CVoO1ONM();
292499
- var require_device_ca = require_device_ca_75rt3U_U();
292666
+ var require_device_ca = require_device_ca_njpTMpJC();
292500
292667
  var require_builtins_alerts_alerts_addon = require_alerts_addon();
292501
292668
  require_alerts();
292502
292669
  var require_builtins_calendars_calendars_addon = require_calendars_addon();
@@ -292521,21 +292688,21 @@ var require_dist3 = __commonJS({
292521
292688
  var require_builtins_native_metrics_native_metrics_addon = require_native_metrics_addon();
292522
292689
  var require_builtins_device_history_device_history_addon = require_device_history_addon();
292523
292690
  var require_builtins_sqlite_storage_filesystem_storage_addon = require_filesystem_storage_addon();
292524
- var require_wal_maintenance = require_wal_maintenance_mwCBe3Vr();
292691
+ var require_wal_maintenance = require_wal_maintenance_i3GRvmQW();
292525
292692
  var require_builtins_sqlite_storage_sqlite_settings_addon = require_sqlite_settings_addon();
292526
292693
  var require_builtins_sqlite_storage_index = require_sqlite_storage();
292527
292694
  var require_builtins_storage_orchestrator_storage_orchestrator_addon = require_storage_orchestrator_addon();
292528
292695
  require_storage_orchestrator();
292529
- var require_constants15 = require_constants_BPWA_r_Y();
292530
- var require_agent_https = require_agent_https_CMz4S56();
292696
+ var require_constants15 = require_constants_B3fDUnJt();
292697
+ var require_agent_https = require_agent_https_DL2cFOQv();
292531
292698
  var require_builtins_system_config_system_config_addon = require_system_config_addon();
292532
292699
  require_system_config();
292533
292700
  var require_builtins_winston_logging_index = require_winston_logging();
292534
292701
  var require_custom_action_registry = require_custom_action_registry_COyb49zm();
292535
- var require_hub_mdns_ciao = require_hub_mdns_ciao_DAU1WttG();
292702
+ var require_hub_mdns_ciao = require_hub_mdns_ciao_DpdFaLz();
292536
292703
  var require_platform_key_source = require_platform_key_source_Di7HrlGR();
292537
292704
  var require_resource_monitor = require_resource_monitor_mio9dSCT();
292538
- var require_restore_archive = require_restore_archive_Cprdh3P9();
292705
+ var require_restore_archive = require_restore_archive_BeGP9IYs();
292539
292706
  var zod = require_zod();
292540
292707
  var node_crypto = __require("crypto");
292541
292708
  node_crypto = require_chunk.__toESM(node_crypto);
@@ -301599,8 +301766,16 @@ var require_dist3 = __commonJS({
301599
301766
  const nodeId = typeof picked2.nodeId === "string" ? picked2.nodeId : void 0;
301600
301767
  const topLevelAddonId = typeof picked2.addonId === "string" ? picked2.addonId : void 0;
301601
301768
  const canRecoverNestedAddonId = !require_dist10.isArrayOutputSchema(method.schema.output) && !require_dist10.objectInputDeclaresAddonId(method.schema.input);
301602
- const addonId = topLevelAddonId ?? (canRecoverNestedAddonId ? require_dist10.extractNestedAddonId(rest2) : void 0);
301603
- return invokeCapMethod(resolveProviderForCall(capName, nodeId, () => getLocal(ctx, addonId), services, topLevelAddonId), method, method.callerRequired ? injectCaller(rest2, ctx, capName, method.name, services) : rest2, capName, isCollection, services);
301769
+ let addonId = topLevelAddonId ?? (canRecoverNestedAddonId ? require_dist10.extractNestedAddonId(rest2) : void 0);
301770
+ const resolveAndInvoke = async () => {
301771
+ let refusePin = topLevelAddonId;
301772
+ if (addonId === void 0 && !method.isArrayOutput && services.inferCollectionAddonPin) {
301773
+ addonId = await Promise.resolve(services.inferCollectionAddonPin(capName, method.name, rest2));
301774
+ if (addonId !== void 0) refusePin = addonId;
301775
+ }
301776
+ return invokeCapMethod(resolveProviderForCall(capName, nodeId, () => getLocal(ctx, addonId), services, refusePin), method, method.callerRequired ? injectCaller(rest2, ctx, capName, method.name, services) : rest2, capName, isCollection, services);
301777
+ };
301778
+ return resolveAndInvoke();
301604
301779
  }
301605
301780
  const { rest, picked } = stripKeys(input, ["nodeId"]);
301606
301781
  return invokeCapMethod(resolveProviderForCall(capName, typeof picked.nodeId === "string" ? picked.nodeId : void 0, () => getLocal(ctx), services), method, method.callerRequired ? injectCaller(rest, ctx, capName, method.name, services) : rest, capName, isCollection, services);
@@ -315993,7 +316168,7 @@ var require_dist4 = __commonJS({
315993
316168
  "../types/dist/index.js"(exports) {
315994
316169
  "use strict";
315995
316170
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
315996
- var require_sleep = require_sleep_L6qY125();
316171
+ var require_sleep = require_sleep_REHQvLV6();
315997
316172
  var require_event_category = require_event_category_Hoe_mqbd();
315998
316173
  var require_composition = require_composition_eoYYVfOp();
315999
316174
  var require_node_color2 = require_node_color();
@@ -327702,7 +327877,7 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
327702
327877
  var deviceAdoptionCapability = {
327703
327878
  name: "device-adoption",
327704
327879
  scope: "system",
327705
- mode: "singleton",
327880
+ mode: "collection",
327706
327881
  status: {
327707
327882
  schema: AdoptionStatusSchema,
327708
327883
  kind: "poll"
@@ -349070,7 +349245,7 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
349070
349245
  auth: "admin"
349071
349246
  }),
349072
349247
  /** List candidate filter chips for an integration via its device-adoption
349073
- * provider — addonId-routed so it never hits the singleton shadow. */
349248
+ * provider — addonId-routed via the collection pin. */
349074
349249
  adoptionListCandidateFilters: require_sleep.method(zod.z.object({
349075
349250
  addonId: zod.z.string(),
349076
349251
  integrationId: zod.z.string()
@@ -367405,6 +367580,14 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
367405
367580
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
367406
367581
  halfLoad: zod.z.boolean(),
367407
367582
  hygienePlus: zod.z.boolean(),
367583
+ /** Extra dry option when the appliance exposes it. */
367584
+ extraDry: zod.z.boolean(),
367585
+ /** Intensive zone (lower basket) when the appliance exposes it. */
367586
+ intensiveZone: zod.z.boolean(),
367587
+ /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
367588
+ varioSpeedPlus: zod.z.boolean(),
367589
+ /** Child lock (controls disabled on the appliance). */
367590
+ childLock: zod.z.boolean(),
367408
367591
  errorCode: zod.z.number().nullable(),
367409
367592
  errorLabel: zod.z.string().nullable(),
367410
367593
  lastFetchedAt: zod.z.number()
@@ -367456,6 +367639,34 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
367456
367639
  kind: "mutation",
367457
367640
  auth: "protected"
367458
367641
  }),
367642
+ setExtraDry: require_sleep.method(zod.z.object({
367643
+ deviceId: zod.z.number().int().nonnegative(),
367644
+ on: zod.z.boolean()
367645
+ }), zod.z.void(), {
367646
+ kind: "mutation",
367647
+ auth: "protected"
367648
+ }),
367649
+ setIntensiveZone: require_sleep.method(zod.z.object({
367650
+ deviceId: zod.z.number().int().nonnegative(),
367651
+ on: zod.z.boolean()
367652
+ }), zod.z.void(), {
367653
+ kind: "mutation",
367654
+ auth: "protected"
367655
+ }),
367656
+ setVarioSpeedPlus: require_sleep.method(zod.z.object({
367657
+ deviceId: zod.z.number().int().nonnegative(),
367658
+ on: zod.z.boolean()
367659
+ }), zod.z.void(), {
367660
+ kind: "mutation",
367661
+ auth: "protected"
367662
+ }),
367663
+ setChildLock: require_sleep.method(zod.z.object({
367664
+ deviceId: zod.z.number().int().nonnegative(),
367665
+ on: zod.z.boolean()
367666
+ }), zod.z.void(), {
367667
+ kind: "mutation",
367668
+ auth: "protected"
367669
+ }),
367459
367670
  setOption: require_sleep.method(zod.z.object({
367460
367671
  deviceId: zod.z.number().int().nonnegative(),
367461
367672
  key: zod.z.string().min(1),
@@ -379588,6 +379799,7 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
379588
379799
  "fan",
379589
379800
  "vacuum",
379590
379801
  "lawn-mower",
379802
+ "dishwasher",
379591
379803
  "light",
379592
379804
  "switch",
379593
379805
  "siren",
@@ -382498,6 +382710,18 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
382498
382710
  addonId: null,
382499
382711
  access: "create"
382500
382712
  },
382713
+ "dishwasher.setChildLock": {
382714
+ capName: "dishwasher",
382715
+ capScope: "device",
382716
+ addonId: null,
382717
+ access: "create"
382718
+ },
382719
+ "dishwasher.setExtraDry": {
382720
+ capName: "dishwasher",
382721
+ capScope: "device",
382722
+ addonId: null,
382723
+ access: "create"
382724
+ },
382501
382725
  "dishwasher.setHalfLoad": {
382502
382726
  capName: "dishwasher",
382503
382727
  capScope: "device",
@@ -382510,6 +382734,12 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
382510
382734
  addonId: null,
382511
382735
  access: "create"
382512
382736
  },
382737
+ "dishwasher.setIntensiveZone": {
382738
+ capName: "dishwasher",
382739
+ capScope: "device",
382740
+ addonId: null,
382741
+ access: "create"
382742
+ },
382513
382743
  "dishwasher.setOption": {
382514
382744
  capName: "dishwasher",
382515
382745
  capScope: "device",
@@ -382528,6 +382758,12 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
382528
382758
  addonId: null,
382529
382759
  access: "create"
382530
382760
  },
382761
+ "dishwasher.setVarioSpeedPlus": {
382762
+ capName: "dishwasher",
382763
+ capScope: "device",
382764
+ addonId: null,
382765
+ access: "create"
382766
+ },
382531
382767
  "dishwasher.start": {
382532
382768
  capName: "dishwasher",
382533
382769
  capScope: "device",
@@ -392332,6 +392568,16 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
392332
392568
  form: "single",
392333
392569
  optional: false
392334
392570
  }],
392571
+ "dishwasher.setChildLock": [{
392572
+ name: "deviceId",
392573
+ form: "single",
392574
+ optional: false
392575
+ }],
392576
+ "dishwasher.setExtraDry": [{
392577
+ name: "deviceId",
392578
+ form: "single",
392579
+ optional: false
392580
+ }],
392335
392581
  "dishwasher.setHalfLoad": [{
392336
392582
  name: "deviceId",
392337
392583
  form: "single",
@@ -392342,6 +392588,11 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
392342
392588
  form: "single",
392343
392589
  optional: false
392344
392590
  }],
392591
+ "dishwasher.setIntensiveZone": [{
392592
+ name: "deviceId",
392593
+ form: "single",
392594
+ optional: false
392595
+ }],
392345
392596
  "dishwasher.setOption": [{
392346
392597
  name: "deviceId",
392347
392598
  form: "single",
@@ -392357,6 +392608,11 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
392357
392608
  form: "single",
392358
392609
  optional: false
392359
392610
  }],
392611
+ "dishwasher.setVarioSpeedPlus": [{
392612
+ name: "deviceId",
392613
+ form: "single",
392614
+ optional: false
392615
+ }],
392360
392616
  "dishwasher.start": [{
392361
392617
  name: "deviceId",
392362
392618
  form: "single",
@@ -581597,6 +581853,40 @@ var require_cap_router_runtime = __commonJS({
581597
581853
  iterableSubscription: trpc_middleware_js_1.iterableSubscription
581598
581854
  };
581599
581855
  }
581856
+ async function inferDeviceAdoptionCollectionAddonPin(methodName, input, deps) {
581857
+ const integrationId = typeof input.integrationId === "string" && input.integrationId.length > 0 ? input.integrationId : void 0;
581858
+ const camDeviceId = typeof input.camDeviceId === "number" && Number.isInteger(input.camDeviceId) ? input.camDeviceId : void 0;
581859
+ if (methodName === "resync" || camDeviceId !== void 0 && integrationId === void 0) {
581860
+ if (camDeviceId === void 0) {
581861
+ throw new server_1.TRPCError({
581862
+ code: "BAD_REQUEST",
581863
+ message: "deviceAdoption.resync requires camDeviceId (owning addon is resolved from it) or an explicit addonId pin."
581864
+ });
581865
+ }
581866
+ const resolved = deps.resolveDeviceAddonId ? await Promise.resolve(deps.resolveDeviceAddonId(camDeviceId)) : null;
581867
+ if (resolved === null || resolved === "") {
581868
+ throw new server_1.TRPCError({
581869
+ code: "BAD_REQUEST",
581870
+ message: `deviceAdoption.${methodName}: device ${camDeviceId} not found \u2014 pass addonId explicitly.`
581871
+ });
581872
+ }
581873
+ return resolved;
581874
+ }
581875
+ if (integrationId !== void 0) {
581876
+ const resolved = deps.resolveIntegrationAddonId ? await Promise.resolve(deps.resolveIntegrationAddonId(integrationId)) : null;
581877
+ if (resolved === null || resolved === "") {
581878
+ throw new server_1.TRPCError({
581879
+ code: "BAD_REQUEST",
581880
+ message: `deviceAdoption.${methodName}: unknown integrationId "${integrationId}" \u2014 pass addonId explicitly.`
581881
+ });
581882
+ }
581883
+ return resolved;
581884
+ }
581885
+ throw new server_1.TRPCError({
581886
+ code: "BAD_REQUEST",
581887
+ message: `deviceAdoption.${methodName} requires addonId (top-level pin) or integrationId to resolve the owning provider.`
581888
+ });
581889
+ }
581600
581890
  function createCapRouterServices(deps) {
581601
581891
  const reg = deps.capabilityRegistry;
581602
581892
  const remoteProxy = (capName, nodeId) => deps.moleculer.createCapabilityProxy(capName, nodeId);
@@ -581645,10 +581935,16 @@ var require_cap_router_runtime = __commonJS({
581645
581935
  message: `Capability "${capName}" has no provider with addonId "${addonId}". Valid addonId(s): ${known.join(", ")}. An unresolvable addonId is refused rather than answered by another provider.`
581646
581936
  });
581647
581937
  };
581938
+ const inferCollectionAddonPin = (capName, methodName, methodInput) => {
581939
+ if (capName !== "device-adoption")
581940
+ return void 0;
581941
+ return inferDeviceAdoptionCollectionAddonPin(methodName, methodInput, deps);
581942
+ };
581648
581943
  return {
581649
581944
  getLocalProvider,
581650
581945
  remoteProxy,
581651
581946
  rejectUnresolvedAddonPin,
581947
+ inferCollectionAddonPin,
581652
581948
  noProvider: (capName, nodeId) => {
581653
581949
  if (nodeId !== void 0 && nodeId !== "hub") {
581654
581950
  throw new server_1.TRPCError({
@@ -581846,11 +582142,18 @@ var require_trpc_router = __commonJS({
581846
582142
  };
581847
582143
  }
581848
582144
  function buildCapabilityRouters(services) {
582145
+ const integrationRegistry = services.addonRegistry.getIntegrationRegistry();
582146
+ const deviceRegistry = services.addonRegistry.getDeviceRegistry();
581849
582147
  const dynamicCaps = (0, cap_router_runtime_js_1.buildRuntimeCapRouters)({
581850
582148
  capabilityRegistry: services.capabilityRegistry,
581851
582149
  moleculer: services.moleculer,
581852
582150
  serverProviders: buildServerProviders(services),
581853
- logger: services.loggingService.createLogger("cap-router")
582151
+ logger: services.loggingService.createLogger("cap-router"),
582152
+ resolveIntegrationAddonId: integrationRegistry ? async (integrationId) => {
582153
+ const row = await integrationRegistry.getIntegration(integrationId);
582154
+ return row?.addonId ?? null;
582155
+ } : void 0,
582156
+ resolveDeviceAddonId: (camDeviceId) => deviceRegistry.getAddonId(camDeviceId)
581854
582157
  });
581855
582158
  return {
581856
582159
  // ── Runtime-built cap routers: EVERY cap whose mount is
@@ -583353,6 +583656,28 @@ var require_addon_process_view = __commonJS({
583353
583656
  }
583354
583657
  });
583355
583658
 
583659
+ // ../../server/backend/dist/core/addon/hub-addon-api.js
583660
+ var require_hub_addon_api = __commonJS({
583661
+ "../../server/backend/dist/core/addon/hub-addon-api.js"(exports) {
583662
+ "use strict";
583663
+ Object.defineProperty(exports, "__esModule", { value: true });
583664
+ exports.createHubAddonApi = createHubAddonApi;
583665
+ var client_1 = require_dist2();
583666
+ var system_1 = require_dist3();
583667
+ function createHubAddonApi(options) {
583668
+ const observerOpts = {
583669
+ callerAddonId: options.callerAddonId,
583670
+ providerAddonIdForCap: () => null,
583671
+ observer: () => void 0
583672
+ };
583673
+ const client = (0, client_1.createTRPCClient)({
583674
+ links: [(0, system_1.localProviderLink)(options.resolver, observerOpts), ...options.links]
583675
+ });
583676
+ return client;
583677
+ }
583678
+ }
583679
+ });
583680
+
583356
583681
  // ../../server/backend/dist/core/addon/addon-call-gateway.js
583357
583682
  var require_addon_call_gateway = __commonJS({
583358
583683
  "../../server/backend/dist/core/addon/addon-call-gateway.js"(exports) {
@@ -584199,6 +584524,7 @@ var require_addon_registry_service = __commonJS({
584199
584524
  var system_1 = require_dist3();
584200
584525
  var types_1 = require_dist4();
584201
584526
  var client_1 = require_dist2();
584527
+ var hub_addon_api_js_1 = require_hub_addon_api();
584202
584528
  var addon_call_gateway_js_1 = require_addon_call_gateway();
584203
584529
  var addon_row_manifest_1 = require_addon_row_manifest();
584204
584530
  var addon_settings_provider_js_1 = require_addon_settings_provider();
@@ -584409,29 +584735,41 @@ var require_addon_registry_service = __commonJS({
584409
584735
  */
584410
584736
  getBrokerApi() {
584411
584737
  if (!this.brokerApi) {
584412
- const reg = this.capabilityRegistry;
584413
- const resolver = {
584414
- getByName: (capName) => reg.getSingleton(capName) ?? reg.getAllProviders(capName)[0] ?? null
584415
- };
584416
- const client = (0, client_1.createTRPCClient)({
584417
- links: [
584418
- (0, system_1.localProviderLink)(resolver),
584419
- // Device-scoped caps go through the hub's CapRouteResolver, which is
584420
- // the only authority that can route `(cap, deviceId)` into a FORKED
584421
- // child — and forked children are broker-less, so the Moleculer
584422
- // lookup below cannot see them at all. Without this an in-process
584423
- // addon asking `ptz.getOptions({deviceId})` got
584424
- // `Service 'ptz.ptz.getOptions' is not found`, which is how the
584425
- // autotrack builtin came up switched on and unable to move a camera
584426
- // (2026-09-18).
584427
- (0, system_1.deviceCapResolverLink)((capName, method, input) => this.moleculer.callCapabilityOnNode(this.moleculer.broker.nodeID, capName, method, input), isDeviceScopedCapName),
584428
- (0, system_1.brokerTransportLink)(this.moleculer.broker)
584429
- ]
584430
- });
584431
- this.brokerApi = client;
584738
+ this.brokerApi = this.buildBrokerApi(void 0);
584432
584739
  }
584433
584740
  return this.brokerApi;
584434
584741
  }
584742
+ /**
584743
+ * The `ctx.api` of one in-process addon. Same chain as {@link getBrokerApi},
584744
+ * but its `localProviderLink` knows WHO is calling, so a caller-stamped cap
584745
+ * (`device-history`, keychain, records) can identify the addon. A shared
584746
+ * client cannot: `metrics-native` was refused `declareSeries` ("the caller
584747
+ * addon could not be identified") on every sample.
584748
+ */
584749
+ getAddonApi(addonId) {
584750
+ const cached = this.addonApis.get(addonId);
584751
+ if (cached)
584752
+ return cached;
584753
+ const api = this.buildBrokerApi(addonId);
584754
+ this.addonApis.set(addonId, api);
584755
+ return api;
584756
+ }
584757
+ addonApis = /* @__PURE__ */ new Map();
584758
+ buildBrokerApi(callerAddonId) {
584759
+ const reg = this.capabilityRegistry;
584760
+ const resolver = {
584761
+ getByName: (capName) => reg.getSingleton(capName) ?? reg.getAllProviders(capName)[0] ?? null
584762
+ };
584763
+ const links = [
584764
+ (0, system_1.deviceCapResolverLink)((capName, method, input) => this.moleculer.callCapabilityOnNode(this.moleculer.broker.nodeID, capName, method, input), isDeviceScopedCapName),
584765
+ (0, system_1.brokerTransportLink)(this.moleculer.broker)
584766
+ ];
584767
+ if (callerAddonId !== void 0) {
584768
+ return (0, hub_addon_api_js_1.createHubAddonApi)({ resolver, callerAddonId, links });
584769
+ }
584770
+ const client = (0, client_1.createTRPCClient)({ links: [(0, system_1.localProviderLink)(resolver), ...links] });
584771
+ return client;
584772
+ }
584435
584773
  // Common settings resolver (3-level: defaults → global → per-device).
584436
584774
  // Lazily constructed on first call to `getSettingsResolver()` so tests
584437
584775
  // that don't exercise the settings API can instantiate the service
@@ -586418,7 +586756,7 @@ var require_addon_registry_service = __commonJS({
586418
586756
  dataPlane: dataPlaneFacility.dataPlane,
586419
586757
  peerBytes: peerBytesFacility.peerBytes,
586420
586758
  get api() {
586421
- return registry.getBrokerApi();
586759
+ return registry.getAddonApi(addonId);
586422
586760
  },
586423
586761
  integrationRegistry: this.integrationRegistry ?? void 0,
586424
586762
  // Live capability-collection accessor used by addons like stream-broker
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "camstack",
3
- "version": "1.2.188",
3
+ "version": "1.2.189",
4
4
  "description": "CLI tool for managing and running CamStack server",
5
5
  "keywords": [
6
6
  "camstack",