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 +85 -5
- package/dist/{launcher-FYTHPW44.js → launcher-LKHQ7I4L.js} +456 -118
- package/package.json +1 -1
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-
|
|
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-
|
|
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-
|
|
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: "
|
|
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
|
|
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-
|
|
24028
|
-
var
|
|
24029
|
-
"../system/dist/dist-
|
|
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: "
|
|
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
|
|
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-
|
|
113282
|
-
var
|
|
113283
|
-
"../system/dist/device-ca-
|
|
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 =
|
|
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-
|
|
113701
|
-
var
|
|
113702
|
-
"../system/dist/phase6-declare-gate-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
115669
|
-
var
|
|
115670
|
-
"../system/dist/composition-sources-
|
|
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 =
|
|
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 =
|
|
115788
|
-
var require_composition_sources =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
126398
|
-
var
|
|
126399
|
-
"../types/dist/sleep
|
|
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 (
|
|
131550
|
+
if (!isCapRecord(value)) return false;
|
|
131465
131551
|
const record = value;
|
|
131466
|
-
return
|
|
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 (
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
146114
|
-
var require_phase6_declare_gate =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
163752
|
-
var
|
|
163753
|
-
"../system/dist/wal-maintenance-
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
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-
|
|
173982
|
-
var
|
|
173983
|
-
"../system/dist/constants-
|
|
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 =
|
|
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-
|
|
174049
|
-
var
|
|
174050
|
-
"../system/dist/agent-https-
|
|
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 =
|
|
174220
|
+
var require_dist10 = require_dist_DyjNaeIj();
|
|
174054
174221
|
var require_x509_es = require_x509_es_C4cOo48M();
|
|
174055
|
-
var require_constants15 =
|
|
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 =
|
|
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 =
|
|
192802
|
-
var require_agent_https =
|
|
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 =
|
|
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-
|
|
280166
|
-
var
|
|
280167
|
-
"../system/dist/hub-mdns-ciao-
|
|
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 =
|
|
280337
|
+
var require_dist10 = require_dist_DyjNaeIj();
|
|
280171
280338
|
var require_x509_es = require_x509_es_C4cOo48M();
|
|
280172
|
-
var require_agent_https =
|
|
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-
|
|
281172
|
-
var
|
|
281173
|
-
"../system/dist/restore-archive-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
292530
|
-
var require_agent_https =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
301603
|
-
|
|
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 =
|
|
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: "
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|