@camstack/types 1.2.380 → 1.2.382
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.d.ts +2 -0
- package/dist/addon.js +88 -2
- package/dist/addon.mjs +79 -3
- package/dist/capabilities/alerts.cap.d.ts +25 -0
- package/dist/capabilities/battery.cap.d.ts +1 -1
- package/dist/capabilities/caller-stamp.d.ts +4 -3
- package/dist/capabilities/dishwasher.cap.d.ts +178 -0
- package/dist/capabilities/heating-valve.cap.d.ts +39 -0
- package/dist/capabilities/index.d.ts +5 -1
- package/dist/capabilities/storage-admin.cap.d.ts +22 -0
- package/dist/client.js +71 -32
- package/dist/client.mjs +71 -32
- package/dist/{composition-DOwQB_Ua.mjs → composition-CB6PMT9p.mjs} +1 -1
- package/dist/{composition-CUAOHZ38.js → composition-eoYYVfOp.js} +1 -1
- package/dist/device/base-device-provider.d.ts +4 -2
- package/dist/device/device-context.d.ts +2 -0
- package/dist/device/device-control-resolution.d.ts +1 -1
- package/dist/device/device-type.d.ts +5 -1
- package/dist/{err-msg--2RrYiLO.mjs → err-msg-BXKzRBwg.mjs} +4 -0
- package/dist/{err-msg-Bb-s4Xuj.js → err-msg-BhVbr0NX.js} +4 -0
- package/dist/ffmpeg/fmp4-fragment-child.d.ts +2 -2
- package/dist/ffmpeg/process.d.ts +21 -0
- package/dist/generated/addon-api.d.ts +329 -230
- package/dist/generated/addon-cap-facts.d.ts +1 -1
- package/dist/generated/cap-status-types.d.ts +5 -1
- package/dist/generated/capability-router-map.d.ts +8 -2
- package/dist/generated/device-local-state.d.ts +6 -0
- package/dist/generated/device-proxy.d.ts +6 -0
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/history-catalog.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/helpers/addon-slice-handle.d.ts +4 -0
- package/dist/helpers/trpc-leaf.d.ts +17 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +431 -68
- package/dist/index.mjs +413 -67
- package/dist/interfaces/addon-peer-bytes.d.ts +19 -2
- package/dist/interfaces/config-ui-secrets.d.ts +2 -0
- package/dist/interfaces/config-ui.d.ts +14 -0
- package/dist/node.d.ts +2 -2
- package/dist/node.js +6 -2
- package/dist/node.mjs +6 -3
- package/dist/records/in-memory-records.d.ts +21 -0
- package/dist/records/index.d.ts +3 -0
- package/dist/records/settings-array-adopts-from.d.ts +12 -0
- package/dist/records/settings-brokers-adopts-from.d.ts +10 -0
- package/dist/{sleep-CIGOw58l.js → sleep--L6qY125.js} +572 -47
- package/dist/{sleep-WsrozGDL.mjs → sleep-BOjuyoPC.mjs} +489 -48
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep
|
|
2
|
+
const require_sleep = require("./sleep--L6qY125.js");
|
|
3
3
|
const require_event_category = require("./event-category-Hoe-mqbd.js");
|
|
4
|
-
const require_composition = require("./composition-
|
|
4
|
+
const require_composition = require("./composition-eoYYVfOp.js");
|
|
5
5
|
const require_node_color = require("./node-color.js");
|
|
6
|
-
const require_err_msg = require("./err-msg-
|
|
6
|
+
const require_err_msg = require("./err-msg-BhVbr0NX.js");
|
|
7
7
|
const require_enums = require("./enums.js");
|
|
8
8
|
let zod = require("zod");
|
|
9
9
|
//#region src/media/media-owner-key.ts
|
|
@@ -8280,8 +8280,13 @@ var AlertSeveritySchema = zod.z.enum([
|
|
|
8280
8280
|
"info",
|
|
8281
8281
|
"success",
|
|
8282
8282
|
"warning",
|
|
8283
|
-
"error"
|
|
8283
|
+
"error",
|
|
8284
|
+
"critical"
|
|
8284
8285
|
]);
|
|
8286
|
+
var AlertActionSchema = zod.z.object({
|
|
8287
|
+
label: zod.z.string(),
|
|
8288
|
+
href: zod.z.string().optional()
|
|
8289
|
+
});
|
|
8285
8290
|
var AlertStatusSchema = zod.z.enum([
|
|
8286
8291
|
"active",
|
|
8287
8292
|
"in-progress",
|
|
@@ -8299,6 +8304,7 @@ var AlertSchema = zod.z.object({
|
|
|
8299
8304
|
severity: AlertSeveritySchema,
|
|
8300
8305
|
title: zod.z.string(),
|
|
8301
8306
|
message: zod.z.string(),
|
|
8307
|
+
action: AlertActionSchema.optional(),
|
|
8302
8308
|
status: AlertStatusSchema,
|
|
8303
8309
|
progress: zod.z.number().optional(),
|
|
8304
8310
|
read: zod.z.boolean(),
|
|
@@ -13949,30 +13955,6 @@ id: zod.z.union([zod.z.string(), zod.z.number()]) }), {
|
|
|
13949
13955
|
}
|
|
13950
13956
|
};
|
|
13951
13957
|
//#endregion
|
|
13952
|
-
//#region src/capabilities/caller-stamp.ts
|
|
13953
|
-
/**
|
|
13954
|
-
* Every cap whose provider reads a `callerAddonId` in its input (the keychain's
|
|
13955
|
-
* owner check, device-history's `not-owner`, records' owner).
|
|
13956
|
-
*
|
|
13957
|
-
* The stamp is set ONLY by the transport (`stampCallerAddonId`, or stated by a
|
|
13958
|
-
* hub in-process caller). The generated HTTP/tRPC mount parses input with
|
|
13959
|
-
* `.loose()`, so without this a session could add the key itself and act as
|
|
13960
|
-
* another addon. The mount strips it for these caps.
|
|
13961
|
-
*/
|
|
13962
|
-
var CALLER_STAMPED_CAPABILITIES = [
|
|
13963
|
-
"keychain",
|
|
13964
|
-
"device-history",
|
|
13965
|
-
"records",
|
|
13966
|
-
"integrations",
|
|
13967
|
-
"device-manager"
|
|
13968
|
-
];
|
|
13969
|
-
/** A copy of `input` without the caller stamp. Anything that is not a plain object passes through. */
|
|
13970
|
-
function withoutCallerStamp(input) {
|
|
13971
|
-
if (input === null || typeof input !== "object" || Array.isArray(input)) return input;
|
|
13972
|
-
if (!Object.prototype.hasOwnProperty.call(input, "callerAddonId")) return input;
|
|
13973
|
-
return Object.fromEntries(Object.entries(input).filter(([key]) => key !== "callerAddonId"));
|
|
13974
|
-
}
|
|
13975
|
-
//#endregion
|
|
13976
13958
|
//#region src/capabilities/records.cap.ts
|
|
13977
13959
|
/**
|
|
13978
13960
|
* records - an addon's own facts and documents (D881): ledgers, audit rows,
|
|
@@ -14360,13 +14342,31 @@ var storageAdminCapability = {
|
|
|
14360
14342
|
adoptRecords: require_sleep.method(zod.z.object({
|
|
14361
14343
|
owner: zod.z.string().min(1),
|
|
14362
14344
|
kind: require_sleep.RecordKindNameSchema,
|
|
14363
|
-
records: zod.z.array(RecordInputSchema).
|
|
14345
|
+
records: zod.z.array(RecordInputSchema).max(require_sleep.RECORD_BATCH_MAX),
|
|
14364
14346
|
/** The LAST batch: the copy is complete, the boot guard stops asking. */
|
|
14365
14347
|
complete: zod.z.boolean().optional()
|
|
14366
|
-
}), zod.z.object({ adopted: zod.z.number().int() }), {
|
|
14348
|
+
}).refine((input) => input.records.length > 0 || input.complete === true, { message: "records must be non-empty unless complete is true" }), zod.z.object({ adopted: zod.z.number().int() }), {
|
|
14367
14349
|
kind: "mutation",
|
|
14368
14350
|
auth: "admin"
|
|
14369
|
-
})
|
|
14351
|
+
}),
|
|
14352
|
+
/**
|
|
14353
|
+
* Read rows from a legacy KV table by physical name, without a running
|
|
14354
|
+
* `declareCollection`. Used by `records-adopt.ts` when the owner already
|
|
14355
|
+
* moved to records and the collection door refuses the name.
|
|
14356
|
+
*/
|
|
14357
|
+
readLegacyCollection: require_sleep.method(zod.z.object({
|
|
14358
|
+
collection: zod.z.string().min(1),
|
|
14359
|
+
cursor: zod.z.string().optional(),
|
|
14360
|
+
limit: zod.z.number().int().min(1).max(1e3).optional()
|
|
14361
|
+
}), zod.z.object({
|
|
14362
|
+
rows: zod.z.array(zod.z.object({
|
|
14363
|
+
id: zod.z.string(),
|
|
14364
|
+
data: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
14365
|
+
})),
|
|
14366
|
+
nextCursor: zod.z.string().nullable()
|
|
14367
|
+
}), { auth: "admin" }),
|
|
14368
|
+
/** True when a declared kind lists `collection` as `adoptsFrom` and adoption finished. */
|
|
14369
|
+
isAdoptedLegacyTable: require_sleep.method(zod.z.object({ collection: zod.z.string().min(1) }), zod.z.object({ adopted: zod.z.boolean() }), { auth: "admin" })
|
|
14370
14370
|
}
|
|
14371
14371
|
};
|
|
14372
14372
|
//#endregion
|
|
@@ -59458,7 +59458,8 @@ var batteryCapability = {
|
|
|
59458
59458
|
require_err_msg.DeviceType.Button,
|
|
59459
59459
|
require_err_msg.DeviceType.Switch,
|
|
59460
59460
|
require_err_msg.DeviceType.PetFeeder,
|
|
59461
|
-
require_err_msg.DeviceType.Container
|
|
59461
|
+
require_err_msg.DeviceType.Container,
|
|
59462
|
+
require_err_msg.DeviceType.Thermostat
|
|
59462
59463
|
],
|
|
59463
59464
|
methods: {
|
|
59464
59465
|
/**
|
|
@@ -61207,6 +61208,127 @@ onStatusChanged: { data: zod.z.object({
|
|
|
61207
61208
|
volatileStateFields: ["lastChangedAt"]
|
|
61208
61209
|
};
|
|
61209
61210
|
//#endregion
|
|
61211
|
+
//#region src/capabilities/dishwasher.cap.ts
|
|
61212
|
+
/**
|
|
61213
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
61214
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
61215
|
+
*
|
|
61216
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
61217
|
+
* by any integration that exposes the same program / option surface.
|
|
61218
|
+
*
|
|
61219
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
61220
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
61221
|
+
*/
|
|
61222
|
+
var DishwasherStateSchema = zod.z.enum([
|
|
61223
|
+
"idle",
|
|
61224
|
+
"running",
|
|
61225
|
+
"paused",
|
|
61226
|
+
"finished",
|
|
61227
|
+
"error",
|
|
61228
|
+
"unavailable"
|
|
61229
|
+
]);
|
|
61230
|
+
var DishwasherConsumableLevelSchema = zod.z.enum([
|
|
61231
|
+
"ok",
|
|
61232
|
+
"low",
|
|
61233
|
+
"empty"
|
|
61234
|
+
]);
|
|
61235
|
+
var DishwasherStatusSchema = zod.z.object({
|
|
61236
|
+
state: DishwasherStateSchema,
|
|
61237
|
+
/** Active program id/name, or null when none selected / unknown. */
|
|
61238
|
+
program: zod.z.string().nullable(),
|
|
61239
|
+
/** Program tokens the hardware accepts — drives the UI selector. */
|
|
61240
|
+
availablePrograms: zod.z.array(zod.z.string()),
|
|
61241
|
+
/** Minutes remaining on the active cycle, or null when not running. */
|
|
61242
|
+
remainingMinutes: zod.z.number().int().nonnegative().nullable(),
|
|
61243
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
61244
|
+
progressPercent: zod.z.number().min(0).max(100).nullable(),
|
|
61245
|
+
/** True when the door is reported open. */
|
|
61246
|
+
doorOpen: zod.z.boolean(),
|
|
61247
|
+
/** True when remote start is allowed (door closed, power on, etc.). */
|
|
61248
|
+
remoteStartAllowed: zod.z.boolean(),
|
|
61249
|
+
/** Main power / switched-on state. */
|
|
61250
|
+
powerOn: zod.z.boolean(),
|
|
61251
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
61252
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
61253
|
+
halfLoad: zod.z.boolean(),
|
|
61254
|
+
hygienePlus: zod.z.boolean(),
|
|
61255
|
+
errorCode: zod.z.number().nullable(),
|
|
61256
|
+
errorLabel: zod.z.string().nullable(),
|
|
61257
|
+
lastFetchedAt: zod.z.number()
|
|
61258
|
+
});
|
|
61259
|
+
var dishwasherCapability = {
|
|
61260
|
+
name: "dishwasher",
|
|
61261
|
+
scope: "device",
|
|
61262
|
+
deviceNative: true,
|
|
61263
|
+
mode: "singleton",
|
|
61264
|
+
deviceTypes: [require_err_msg.DeviceType.Dishwasher],
|
|
61265
|
+
methods: {
|
|
61266
|
+
start: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
|
|
61267
|
+
kind: "mutation",
|
|
61268
|
+
auth: "protected"
|
|
61269
|
+
}),
|
|
61270
|
+
pause: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
|
|
61271
|
+
kind: "mutation",
|
|
61272
|
+
auth: "protected"
|
|
61273
|
+
}),
|
|
61274
|
+
stop: require_sleep.method(zod.z.object({ deviceId: zod.z.number().int().nonnegative() }), zod.z.void(), {
|
|
61275
|
+
kind: "mutation",
|
|
61276
|
+
auth: "protected"
|
|
61277
|
+
}),
|
|
61278
|
+
setProgram: require_sleep.method(zod.z.object({
|
|
61279
|
+
deviceId: zod.z.number().int().nonnegative(),
|
|
61280
|
+
program: zod.z.string().min(1)
|
|
61281
|
+
}), zod.z.void(), {
|
|
61282
|
+
kind: "mutation",
|
|
61283
|
+
auth: "protected"
|
|
61284
|
+
}),
|
|
61285
|
+
setPower: require_sleep.method(zod.z.object({
|
|
61286
|
+
deviceId: zod.z.number().int().nonnegative(),
|
|
61287
|
+
on: zod.z.boolean()
|
|
61288
|
+
}), zod.z.void(), {
|
|
61289
|
+
kind: "mutation",
|
|
61290
|
+
auth: "protected"
|
|
61291
|
+
}),
|
|
61292
|
+
setHalfLoad: require_sleep.method(zod.z.object({
|
|
61293
|
+
deviceId: zod.z.number().int().nonnegative(),
|
|
61294
|
+
on: zod.z.boolean()
|
|
61295
|
+
}), zod.z.void(), {
|
|
61296
|
+
kind: "mutation",
|
|
61297
|
+
auth: "protected"
|
|
61298
|
+
}),
|
|
61299
|
+
setHygienePlus: require_sleep.method(zod.z.object({
|
|
61300
|
+
deviceId: zod.z.number().int().nonnegative(),
|
|
61301
|
+
on: zod.z.boolean()
|
|
61302
|
+
}), zod.z.void(), {
|
|
61303
|
+
kind: "mutation",
|
|
61304
|
+
auth: "protected"
|
|
61305
|
+
}),
|
|
61306
|
+
setOption: require_sleep.method(zod.z.object({
|
|
61307
|
+
deviceId: zod.z.number().int().nonnegative(),
|
|
61308
|
+
key: zod.z.string().min(1),
|
|
61309
|
+
value: zod.z.union([
|
|
61310
|
+
zod.z.boolean(),
|
|
61311
|
+
zod.z.string(),
|
|
61312
|
+
zod.z.number()
|
|
61313
|
+
])
|
|
61314
|
+
}), zod.z.void(), {
|
|
61315
|
+
kind: "mutation",
|
|
61316
|
+
auth: "protected"
|
|
61317
|
+
})
|
|
61318
|
+
},
|
|
61319
|
+
status: {
|
|
61320
|
+
schema: DishwasherStatusSchema,
|
|
61321
|
+
kind: "poll"
|
|
61322
|
+
},
|
|
61323
|
+
runtimeState: DishwasherStatusSchema,
|
|
61324
|
+
durability: "session",
|
|
61325
|
+
history: { fields: { progressPercent: {
|
|
61326
|
+
kind: "gauge",
|
|
61327
|
+
unit: "%",
|
|
61328
|
+
deadband: 2
|
|
61329
|
+
} } }
|
|
61330
|
+
};
|
|
61331
|
+
//#endregion
|
|
61210
61332
|
//#region src/capabilities/doorbell.cap.ts
|
|
61211
61333
|
var DoorbellStatusSchema = zod.z.object({
|
|
61212
61334
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
@@ -62064,6 +62186,34 @@ var gasCapability = {
|
|
|
62064
62186
|
volatileStateFields: ["lastChangedAt"]
|
|
62065
62187
|
};
|
|
62066
62188
|
//#endregion
|
|
62189
|
+
//#region src/capabilities/heating-valve.cap.ts
|
|
62190
|
+
var HeatingValveStatusSchema = zod.z.object({
|
|
62191
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
62192
|
+
position: zod.z.number().min(0).max(100).nullable(),
|
|
62193
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
62194
|
+
lastFetchedAt: zod.z.number()
|
|
62195
|
+
});
|
|
62196
|
+
var heatingValveCapability = {
|
|
62197
|
+
name: "heating-valve",
|
|
62198
|
+
scope: "device",
|
|
62199
|
+
deviceNative: true,
|
|
62200
|
+
mode: "singleton",
|
|
62201
|
+
deviceTypes: [require_err_msg.DeviceType.Thermostat],
|
|
62202
|
+
methods: {},
|
|
62203
|
+
status: {
|
|
62204
|
+
schema: HeatingValveStatusSchema,
|
|
62205
|
+
kind: "push"
|
|
62206
|
+
},
|
|
62207
|
+
runtimeState: HeatingValveStatusSchema,
|
|
62208
|
+
durability: "session",
|
|
62209
|
+
history: { fields: { position: {
|
|
62210
|
+
kind: "gauge",
|
|
62211
|
+
unit: "%",
|
|
62212
|
+
deadband: 1
|
|
62213
|
+
} } },
|
|
62214
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
62215
|
+
};
|
|
62216
|
+
//#endregion
|
|
62067
62217
|
//#region src/capabilities/humidifier.cap.ts
|
|
62068
62218
|
/**
|
|
62069
62219
|
* Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
|
|
@@ -75136,6 +75286,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
75136
75286
|
dayNight: dayNightCapability,
|
|
75137
75287
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
75138
75288
|
deviceStatus: deviceStatusCapability,
|
|
75289
|
+
dishwasher: dishwasherCapability,
|
|
75139
75290
|
doorbell: doorbellCapability,
|
|
75140
75291
|
enumSensor: enumSensorCapability,
|
|
75141
75292
|
eventEmitter: eventEmitterCapability,
|
|
@@ -75143,6 +75294,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
75143
75294
|
featureProbe: featureProbeCapability,
|
|
75144
75295
|
flood: floodCapability,
|
|
75145
75296
|
gas: gasCapability,
|
|
75297
|
+
heatingValve: heatingValveCapability,
|
|
75146
75298
|
humidifier: humidifierCapability,
|
|
75147
75299
|
humiditySensor: humiditySensorCapability,
|
|
75148
75300
|
image: imageCapability,
|
|
@@ -75230,13 +75382,14 @@ var BaseDevice = class {
|
|
|
75230
75382
|
get state() {
|
|
75231
75383
|
if (!this._stateProxyCache) {
|
|
75232
75384
|
const cache = {};
|
|
75233
|
-
const handler = { get: (
|
|
75385
|
+
const handler = { get: (target, key) => {
|
|
75234
75386
|
const k = key;
|
|
75235
|
-
|
|
75387
|
+
const existing = Reflect.get(target, k);
|
|
75388
|
+
if (existing !== void 0) return existing;
|
|
75236
75389
|
const cap = DEVICE_LOCAL_STATE_CAPS[k];
|
|
75237
75390
|
if (!cap) return void 0;
|
|
75238
75391
|
const proxy = this.sliceProxy(cap);
|
|
75239
|
-
|
|
75392
|
+
Reflect.set(target, k, proxy);
|
|
75240
75393
|
return proxy;
|
|
75241
75394
|
} };
|
|
75242
75395
|
this._stateProxyCache = new Proxy(cache, handler);
|
|
@@ -75435,7 +75588,7 @@ var BaseDevice = class {
|
|
|
75435
75588
|
async updateSourceInfo(patch) {
|
|
75436
75589
|
const next = mergeSourceInfo(this.sourceInfo, patch);
|
|
75437
75590
|
this._sourceInfoCache = Object.freeze({ ...next });
|
|
75438
|
-
const action = this.ctx.api
|
|
75591
|
+
const action = this.ctx.api.deviceManager?.setMetadata;
|
|
75439
75592
|
if (action) try {
|
|
75440
75593
|
await action.mutate({
|
|
75441
75594
|
deviceId: this.id,
|
|
@@ -75470,7 +75623,7 @@ var BaseDevice = class {
|
|
|
75470
75623
|
* device boot on a meta refresh.
|
|
75471
75624
|
*/
|
|
75472
75625
|
async refreshFeatures() {
|
|
75473
|
-
const action = this.ctx.api
|
|
75626
|
+
const action = this.ctx.api.deviceManager?.registerDevice;
|
|
75474
75627
|
if (!action) return;
|
|
75475
75628
|
try {
|
|
75476
75629
|
await action.mutate({
|
|
@@ -75876,6 +76029,12 @@ var BaseDeviceProvider = class extends require_sleep.BaseAddon {
|
|
|
75876
76029
|
provider: this
|
|
75877
76030
|
}];
|
|
75878
76031
|
}
|
|
76032
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
76033
|
+
providerRegistrationsFromSuper(result) {
|
|
76034
|
+
if (Array.isArray(result)) return result;
|
|
76035
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
76036
|
+
return [];
|
|
76037
|
+
}
|
|
75879
76038
|
async onShutdown() {
|
|
75880
76039
|
this._restoreShuttingDown = true;
|
|
75881
76040
|
this.cancelRestoreRetries();
|
|
@@ -77035,6 +77194,12 @@ async function exposeBlockDevices(ctx, input) {
|
|
|
77035
77194
|
}
|
|
77036
77195
|
}
|
|
77037
77196
|
//#endregion
|
|
77197
|
+
//#region src/device/device-context.ts
|
|
77198
|
+
/** Map entry helper — concrete camera/hub classes widen to `DeviceConstructor<IDevice>`. */
|
|
77199
|
+
function widenDeviceConstructor(ctor) {
|
|
77200
|
+
return ctor;
|
|
77201
|
+
}
|
|
77202
|
+
//#endregion
|
|
77038
77203
|
//#region src/device/device-control-resolution.ts
|
|
77039
77204
|
/**
|
|
77040
77205
|
* Device-control RESOLUTION LOGIC — the single, presentation-free source of
|
|
@@ -77105,7 +77270,8 @@ var DEVICE_TYPE_CONTROL_KIND = {
|
|
|
77105
77270
|
[require_err_msg.DeviceType.LawnMower]: "lawn-mower",
|
|
77106
77271
|
[require_err_msg.DeviceType.Container]: "dummy",
|
|
77107
77272
|
[require_err_msg.DeviceType.Image]: "image",
|
|
77108
|
-
[require_err_msg.DeviceType.PetFeeder]: "pet-feeder"
|
|
77273
|
+
[require_err_msg.DeviceType.PetFeeder]: "pet-feeder",
|
|
77274
|
+
[require_err_msg.DeviceType.Dishwasher]: "dishwasher"
|
|
77109
77275
|
};
|
|
77110
77276
|
var DEVICE_TYPE_VALUES = new Set(Object.values(require_err_msg.DeviceType));
|
|
77111
77277
|
/**
|
|
@@ -79631,6 +79797,60 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
79631
79797
|
addonId: null,
|
|
79632
79798
|
access: "view"
|
|
79633
79799
|
},
|
|
79800
|
+
"dishwasher.getStatus": {
|
|
79801
|
+
capName: "dishwasher",
|
|
79802
|
+
capScope: "device",
|
|
79803
|
+
addonId: null,
|
|
79804
|
+
access: "view"
|
|
79805
|
+
},
|
|
79806
|
+
"dishwasher.pause": {
|
|
79807
|
+
capName: "dishwasher",
|
|
79808
|
+
capScope: "device",
|
|
79809
|
+
addonId: null,
|
|
79810
|
+
access: "create"
|
|
79811
|
+
},
|
|
79812
|
+
"dishwasher.setHalfLoad": {
|
|
79813
|
+
capName: "dishwasher",
|
|
79814
|
+
capScope: "device",
|
|
79815
|
+
addonId: null,
|
|
79816
|
+
access: "create"
|
|
79817
|
+
},
|
|
79818
|
+
"dishwasher.setHygienePlus": {
|
|
79819
|
+
capName: "dishwasher",
|
|
79820
|
+
capScope: "device",
|
|
79821
|
+
addonId: null,
|
|
79822
|
+
access: "create"
|
|
79823
|
+
},
|
|
79824
|
+
"dishwasher.setOption": {
|
|
79825
|
+
capName: "dishwasher",
|
|
79826
|
+
capScope: "device",
|
|
79827
|
+
addonId: null,
|
|
79828
|
+
access: "create"
|
|
79829
|
+
},
|
|
79830
|
+
"dishwasher.setPower": {
|
|
79831
|
+
capName: "dishwasher",
|
|
79832
|
+
capScope: "device",
|
|
79833
|
+
addonId: null,
|
|
79834
|
+
access: "create"
|
|
79835
|
+
},
|
|
79836
|
+
"dishwasher.setProgram": {
|
|
79837
|
+
capName: "dishwasher",
|
|
79838
|
+
capScope: "device",
|
|
79839
|
+
addonId: null,
|
|
79840
|
+
access: "create"
|
|
79841
|
+
},
|
|
79842
|
+
"dishwasher.start": {
|
|
79843
|
+
capName: "dishwasher",
|
|
79844
|
+
capScope: "device",
|
|
79845
|
+
addonId: null,
|
|
79846
|
+
access: "create"
|
|
79847
|
+
},
|
|
79848
|
+
"dishwasher.stop": {
|
|
79849
|
+
capName: "dishwasher",
|
|
79850
|
+
capScope: "device",
|
|
79851
|
+
addonId: null,
|
|
79852
|
+
access: "create"
|
|
79853
|
+
},
|
|
79634
79854
|
"doorbell.getStatus": {
|
|
79635
79855
|
capName: "doorbell",
|
|
79636
79856
|
capScope: "device",
|
|
@@ -79841,6 +80061,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
79841
80061
|
addonId: null,
|
|
79842
80062
|
access: "view"
|
|
79843
80063
|
},
|
|
80064
|
+
"heatingValve.getStatus": {
|
|
80065
|
+
capName: "heating-valve",
|
|
80066
|
+
capScope: "device",
|
|
80067
|
+
addonId: null,
|
|
80068
|
+
access: "view"
|
|
80069
|
+
},
|
|
79844
80070
|
"humidifier.getStatus": {
|
|
79845
80071
|
capName: "humidifier",
|
|
79846
80072
|
capScope: "device",
|
|
@@ -83981,6 +84207,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
83981
84207
|
addonId: null,
|
|
83982
84208
|
access: "delete"
|
|
83983
84209
|
},
|
|
84210
|
+
"storageAdmin.isAdoptedLegacyTable": {
|
|
84211
|
+
capName: "storage-admin",
|
|
84212
|
+
capScope: "system",
|
|
84213
|
+
addonId: null,
|
|
84214
|
+
access: "view"
|
|
84215
|
+
},
|
|
83984
84216
|
"storageAdmin.listKinds": {
|
|
83985
84217
|
capName: "storage-admin",
|
|
83986
84218
|
capScope: "system",
|
|
@@ -83993,6 +84225,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
83993
84225
|
addonId: null,
|
|
83994
84226
|
access: "view"
|
|
83995
84227
|
},
|
|
84228
|
+
"storageAdmin.readLegacyCollection": {
|
|
84229
|
+
capName: "storage-admin",
|
|
84230
|
+
capScope: "system",
|
|
84231
|
+
addonId: null,
|
|
84232
|
+
access: "view"
|
|
84233
|
+
},
|
|
83996
84234
|
"storageAdmin.readRecords": {
|
|
83997
84235
|
capName: "storage-admin",
|
|
83998
84236
|
capScope: "system",
|
|
@@ -85479,6 +85717,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
85479
85717
|
"device-removal-hook",
|
|
85480
85718
|
"device-state",
|
|
85481
85719
|
"device-status",
|
|
85720
|
+
"dishwasher",
|
|
85482
85721
|
"doorbell",
|
|
85483
85722
|
"embedding-encoder",
|
|
85484
85723
|
"enum-sensor",
|
|
@@ -85490,6 +85729,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
85490
85729
|
"filesystem-browse",
|
|
85491
85730
|
"flood",
|
|
85492
85731
|
"gas",
|
|
85732
|
+
"heating-valve",
|
|
85493
85733
|
"humidifier",
|
|
85494
85734
|
"humidity-sensor",
|
|
85495
85735
|
"image",
|
|
@@ -85628,6 +85868,7 @@ var DEVICE_CAP_NAMES = [
|
|
|
85628
85868
|
"device-extension",
|
|
85629
85869
|
"device-ops",
|
|
85630
85870
|
"device-status",
|
|
85871
|
+
"dishwasher",
|
|
85631
85872
|
"doorbell",
|
|
85632
85873
|
"enum-sensor",
|
|
85633
85874
|
"event-emitter",
|
|
@@ -85635,6 +85876,7 @@ var DEVICE_CAP_NAMES = [
|
|
|
85635
85876
|
"feature-probe",
|
|
85636
85877
|
"flood",
|
|
85637
85878
|
"gas",
|
|
85879
|
+
"heating-valve",
|
|
85638
85880
|
"humidifier",
|
|
85639
85881
|
"humidity-sensor",
|
|
85640
85882
|
"image",
|
|
@@ -86088,6 +86330,41 @@ var DEVICE_DO_ACTIONS = [
|
|
|
86088
86330
|
method: "callPet",
|
|
86089
86331
|
args: {}
|
|
86090
86332
|
},
|
|
86333
|
+
{
|
|
86334
|
+
id: "dishwasher.start",
|
|
86335
|
+
label: "Start cycle",
|
|
86336
|
+
cap: "dishwasher",
|
|
86337
|
+
method: "start",
|
|
86338
|
+
args: {}
|
|
86339
|
+
},
|
|
86340
|
+
{
|
|
86341
|
+
id: "dishwasher.pause",
|
|
86342
|
+
label: "Pause",
|
|
86343
|
+
cap: "dishwasher",
|
|
86344
|
+
method: "pause",
|
|
86345
|
+
args: {}
|
|
86346
|
+
},
|
|
86347
|
+
{
|
|
86348
|
+
id: "dishwasher.stop",
|
|
86349
|
+
label: "Stop",
|
|
86350
|
+
cap: "dishwasher",
|
|
86351
|
+
method: "stop",
|
|
86352
|
+
args: {}
|
|
86353
|
+
},
|
|
86354
|
+
{
|
|
86355
|
+
id: "dishwasher.powerOn",
|
|
86356
|
+
label: "Power on",
|
|
86357
|
+
cap: "dishwasher",
|
|
86358
|
+
method: "setPower",
|
|
86359
|
+
args: { on: true }
|
|
86360
|
+
},
|
|
86361
|
+
{
|
|
86362
|
+
id: "dishwasher.powerOff",
|
|
86363
|
+
label: "Power off",
|
|
86364
|
+
cap: "dishwasher",
|
|
86365
|
+
method: "setPower",
|
|
86366
|
+
args: { on: false }
|
|
86367
|
+
},
|
|
86091
86368
|
{
|
|
86092
86369
|
id: "ptz.goHome",
|
|
86093
86370
|
label: "PTZ go home",
|
|
@@ -86364,7 +86641,8 @@ var DEVICE_TYPE_DO_CAPS = {
|
|
|
86364
86641
|
[require_err_msg.DeviceType.LawnMower]: ["lawn-mower-control"],
|
|
86365
86642
|
[require_err_msg.DeviceType.Container]: [],
|
|
86366
86643
|
[require_err_msg.DeviceType.Image]: [],
|
|
86367
|
-
[require_err_msg.DeviceType.PetFeeder]: ["pet-feeder"]
|
|
86644
|
+
[require_err_msg.DeviceType.PetFeeder]: ["pet-feeder"],
|
|
86645
|
+
[require_err_msg.DeviceType.Dishwasher]: ["dishwasher"]
|
|
86368
86646
|
};
|
|
86369
86647
|
/**
|
|
86370
86648
|
* Whether a device type belongs in a Do / automation action device picker.
|
|
@@ -87266,9 +87544,10 @@ var SystemMirror = class {
|
|
|
87266
87544
|
for (let i = 0; i < targets.length; i += parallelism) {
|
|
87267
87545
|
const chunk = targets.slice(i, i + parallelism);
|
|
87268
87546
|
const settled = await Promise.allSettled(chunk.map(async (proxy) => {
|
|
87269
|
-
const cap = proxy
|
|
87270
|
-
|
|
87271
|
-
|
|
87547
|
+
const cap = Reflect.get(proxy, capName);
|
|
87548
|
+
const method = typeof cap === "object" && cap !== null ? Reflect.get(cap, methodName) : void 0;
|
|
87549
|
+
if (typeof method !== "function") throw new Error(`device '${proxy.deviceId}' does not expose '${capName}.${methodName}'`);
|
|
87550
|
+
return await Reflect.apply(method, cap, [args]);
|
|
87272
87551
|
}));
|
|
87273
87552
|
for (let j = 0; j < settled.length; j++) {
|
|
87274
87553
|
const proxy = chunk[j];
|
|
@@ -87496,7 +87775,7 @@ function matchesString(haystack, match) {
|
|
|
87496
87775
|
//#region src/device/zod-to-config-ui.ts
|
|
87497
87776
|
/** Access Zod v4 internal .def — not in public typings but stable at runtime */
|
|
87498
87777
|
function zodDef(schema) {
|
|
87499
|
-
return schema
|
|
87778
|
+
return Reflect.get(schema, "def");
|
|
87500
87779
|
}
|
|
87501
87780
|
/** Access internal properties on a Zod schema instance */
|
|
87502
87781
|
function zodInternals(schema) {
|
|
@@ -87643,6 +87922,7 @@ var CAP_NAMES_WITH_STATUS = [
|
|
|
87643
87922
|
"device-discovery",
|
|
87644
87923
|
"device-export",
|
|
87645
87924
|
"device-status",
|
|
87925
|
+
"dishwasher",
|
|
87646
87926
|
"doorbell",
|
|
87647
87927
|
"enum-sensor",
|
|
87648
87928
|
"event-emitter",
|
|
@@ -87650,6 +87930,7 @@ var CAP_NAMES_WITH_STATUS = [
|
|
|
87650
87930
|
"feature-probe",
|
|
87651
87931
|
"flood",
|
|
87652
87932
|
"gas",
|
|
87933
|
+
"heating-valve",
|
|
87653
87934
|
"humidifier",
|
|
87654
87935
|
"humidity-sensor",
|
|
87655
87936
|
"image",
|
|
@@ -87757,6 +88038,7 @@ var CAPABILITY_NAMES = {
|
|
|
87757
88038
|
deviceRemovalHook: "device-removal-hook",
|
|
87758
88039
|
deviceState: "device-state",
|
|
87759
88040
|
deviceStatus: "device-status",
|
|
88041
|
+
dishwasher: "dishwasher",
|
|
87760
88042
|
doorbell: "doorbell",
|
|
87761
88043
|
embeddingEncoder: "embedding-encoder",
|
|
87762
88044
|
enumSensor: "enum-sensor",
|
|
@@ -87768,6 +88050,7 @@ var CAPABILITY_NAMES = {
|
|
|
87768
88050
|
filesystemBrowse: "filesystem-browse",
|
|
87769
88051
|
flood: "flood",
|
|
87770
88052
|
gas: "gas",
|
|
88053
|
+
heatingValve: "heating-valve",
|
|
87771
88054
|
humidifier: "humidifier",
|
|
87772
88055
|
humiditySensor: "humidity-sensor",
|
|
87773
88056
|
image: "image",
|
|
@@ -88120,6 +88403,10 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
88120
88403
|
key: "deviceStatus",
|
|
88121
88404
|
name: "device-status"
|
|
88122
88405
|
},
|
|
88406
|
+
{
|
|
88407
|
+
key: "dishwasher",
|
|
88408
|
+
name: "dishwasher"
|
|
88409
|
+
},
|
|
88123
88410
|
{
|
|
88124
88411
|
key: "doorbell",
|
|
88125
88412
|
name: "doorbell"
|
|
@@ -88164,6 +88451,10 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
88164
88451
|
key: "gas",
|
|
88165
88452
|
name: "gas"
|
|
88166
88453
|
},
|
|
88454
|
+
{
|
|
88455
|
+
key: "heatingValve",
|
|
88456
|
+
name: "heating-valve"
|
|
88457
|
+
},
|
|
88167
88458
|
{
|
|
88168
88459
|
key: "humidifier",
|
|
88169
88460
|
name: "humidifier"
|
|
@@ -88656,6 +88947,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
88656
88947
|
deviceRemovalHookCapability,
|
|
88657
88948
|
deviceStateCapability,
|
|
88658
88949
|
deviceStatusCapability,
|
|
88950
|
+
dishwasherCapability,
|
|
88659
88951
|
doorbellCapability,
|
|
88660
88952
|
embeddingEncoderCapability,
|
|
88661
88953
|
enumSensorCapability,
|
|
@@ -88667,6 +88959,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
88667
88959
|
filesystemBrowseCapability,
|
|
88668
88960
|
floodCapability,
|
|
88669
88961
|
gasCapability,
|
|
88962
|
+
heatingValveCapability,
|
|
88670
88963
|
humidifierCapability,
|
|
88671
88964
|
humiditySensorCapability,
|
|
88672
88965
|
imageCapability,
|
|
@@ -89597,6 +89890,51 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
89597
89890
|
form: "single",
|
|
89598
89891
|
optional: false
|
|
89599
89892
|
}],
|
|
89893
|
+
"dishwasher.getStatus": [{
|
|
89894
|
+
name: "deviceId",
|
|
89895
|
+
form: "single",
|
|
89896
|
+
optional: false
|
|
89897
|
+
}],
|
|
89898
|
+
"dishwasher.pause": [{
|
|
89899
|
+
name: "deviceId",
|
|
89900
|
+
form: "single",
|
|
89901
|
+
optional: false
|
|
89902
|
+
}],
|
|
89903
|
+
"dishwasher.setHalfLoad": [{
|
|
89904
|
+
name: "deviceId",
|
|
89905
|
+
form: "single",
|
|
89906
|
+
optional: false
|
|
89907
|
+
}],
|
|
89908
|
+
"dishwasher.setHygienePlus": [{
|
|
89909
|
+
name: "deviceId",
|
|
89910
|
+
form: "single",
|
|
89911
|
+
optional: false
|
|
89912
|
+
}],
|
|
89913
|
+
"dishwasher.setOption": [{
|
|
89914
|
+
name: "deviceId",
|
|
89915
|
+
form: "single",
|
|
89916
|
+
optional: false
|
|
89917
|
+
}],
|
|
89918
|
+
"dishwasher.setPower": [{
|
|
89919
|
+
name: "deviceId",
|
|
89920
|
+
form: "single",
|
|
89921
|
+
optional: false
|
|
89922
|
+
}],
|
|
89923
|
+
"dishwasher.setProgram": [{
|
|
89924
|
+
name: "deviceId",
|
|
89925
|
+
form: "single",
|
|
89926
|
+
optional: false
|
|
89927
|
+
}],
|
|
89928
|
+
"dishwasher.start": [{
|
|
89929
|
+
name: "deviceId",
|
|
89930
|
+
form: "single",
|
|
89931
|
+
optional: false
|
|
89932
|
+
}],
|
|
89933
|
+
"dishwasher.stop": [{
|
|
89934
|
+
name: "deviceId",
|
|
89935
|
+
form: "single",
|
|
89936
|
+
optional: false
|
|
89937
|
+
}],
|
|
89600
89938
|
"doorbell.getStatus": [{
|
|
89601
89939
|
name: "deviceId",
|
|
89602
89940
|
form: "single",
|
|
@@ -89666,6 +90004,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
89666
90004
|
form: "single",
|
|
89667
90005
|
optional: false
|
|
89668
90006
|
}],
|
|
90007
|
+
"heatingValve.getStatus": [{
|
|
90008
|
+
name: "deviceId",
|
|
90009
|
+
form: "single",
|
|
90010
|
+
optional: false
|
|
90011
|
+
}],
|
|
89669
90012
|
"humidifier.getStatus": [{
|
|
89670
90013
|
name: "deviceId",
|
|
89671
90014
|
form: "single",
|
|
@@ -91698,7 +92041,7 @@ function getCapsByProviderKind(kind) {
|
|
|
91698
92041
|
//#region src/generated/runtime-state-durability.ts
|
|
91699
92042
|
/**
|
|
91700
92043
|
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
91701
|
-
* `runtimeState`.
|
|
92044
|
+
* `runtimeState`. 71 caps: 37 `restored`, 34 `session`.
|
|
91702
92045
|
*
|
|
91703
92046
|
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
91704
92047
|
* with `durability: 'session'` has one and has decided not to keep it.
|
|
@@ -91784,6 +92127,10 @@ var RUNTIME_STATE_POLICY = {
|
|
|
91784
92127
|
durability: "restored",
|
|
91785
92128
|
volatileFields: ["lastChangedAt"]
|
|
91786
92129
|
},
|
|
92130
|
+
"dishwasher": {
|
|
92131
|
+
durability: "session",
|
|
92132
|
+
volatileFields: []
|
|
92133
|
+
},
|
|
91787
92134
|
"doorbell": {
|
|
91788
92135
|
durability: "restored",
|
|
91789
92136
|
volatileFields: []
|
|
@@ -91812,6 +92159,10 @@ var RUNTIME_STATE_POLICY = {
|
|
|
91812
92159
|
durability: "restored",
|
|
91813
92160
|
volatileFields: ["lastChangedAt"]
|
|
91814
92161
|
},
|
|
92162
|
+
"heating-valve": {
|
|
92163
|
+
durability: "session",
|
|
92164
|
+
volatileFields: ["lastFetchedAt"]
|
|
92165
|
+
},
|
|
91815
92166
|
"humidifier": {
|
|
91816
92167
|
durability: "session",
|
|
91817
92168
|
volatileFields: []
|
|
@@ -92145,7 +92496,7 @@ var BucketAccumulator = class {
|
|
|
92145
92496
|
//#region src/generated/history-catalog.ts
|
|
92146
92497
|
/**
|
|
92147
92498
|
* Cap history catalog, projected from every `*.cap.ts` `history` block.
|
|
92148
|
-
*
|
|
92499
|
+
* 34 caps with series (62 series), 37 caps answered `'none'`.
|
|
92149
92500
|
* Field keys are `runtimeState` paths (`a.b` into fixed objects only).
|
|
92150
92501
|
*/
|
|
92151
92502
|
var HISTORY_CATALOG = {
|
|
@@ -92227,6 +92578,11 @@ var HISTORY_CATALOG = {
|
|
|
92227
92578
|
minIntervalMs: 0
|
|
92228
92579
|
} },
|
|
92229
92580
|
"device-status": { "online": { kind: "boolean" } },
|
|
92581
|
+
"dishwasher": { "progressPercent": {
|
|
92582
|
+
kind: "gauge",
|
|
92583
|
+
unit: "%",
|
|
92584
|
+
deadband: 2
|
|
92585
|
+
} },
|
|
92230
92586
|
"fan-control": {
|
|
92231
92587
|
"percentage": {
|
|
92232
92588
|
kind: "gauge",
|
|
@@ -92237,6 +92593,11 @@ var HISTORY_CATALOG = {
|
|
|
92237
92593
|
},
|
|
92238
92594
|
"flood": { "flooded": { kind: "boolean" } },
|
|
92239
92595
|
"gas": { "detected": { kind: "boolean" } },
|
|
92596
|
+
"heating-valve": { "position": {
|
|
92597
|
+
kind: "gauge",
|
|
92598
|
+
unit: "%",
|
|
92599
|
+
deadband: 1
|
|
92600
|
+
} },
|
|
92240
92601
|
"humidifier": {
|
|
92241
92602
|
"currentHumidity": {
|
|
92242
92603
|
kind: "gauge",
|
|
@@ -92541,21 +92902,8 @@ var SCOPE_PRESETS = [
|
|
|
92541
92902
|
* dropping the reference.
|
|
92542
92903
|
*/
|
|
92543
92904
|
function createSystemProxy(api) {
|
|
92544
|
-
const typedApi = api;
|
|
92545
|
-
/**
|
|
92546
|
-
* Invoke `api.<capProp>.<method>.{query|mutate|subscribe}(input)`.
|
|
92547
|
-
* Returns `any` so the caller-side per-method declaration assigns
|
|
92548
|
-
* cleanly into the strongly-typed `Pick<InferProvider<...>, ...>`
|
|
92549
|
-
* shape on the `SystemProxy` interface — the proxy's contract is
|
|
92550
|
-
* enforced by the interface, not the dispatch helper.
|
|
92551
|
-
*/
|
|
92552
92905
|
function dispatch(capProp, method, kind, input, push) {
|
|
92553
|
-
|
|
92554
|
-
if (!leaf) throw new Error(`SystemProxy: api has no '${capProp}.${method}'`);
|
|
92555
|
-
const fn = leaf;
|
|
92556
|
-
if (kind === "mutation") return fn.mutate(input);
|
|
92557
|
-
if (kind === "subscription") return fn.subscribe(input, push);
|
|
92558
|
-
return fn.query(input);
|
|
92906
|
+
return require_sleep.invokeTrpcLeaf(api, capProp, method, kind, input, push);
|
|
92559
92907
|
}
|
|
92560
92908
|
return {
|
|
92561
92909
|
addonPages: { listPages: (input) => dispatch("addonPages", "listPages", "query", input) },
|
|
@@ -101656,13 +102004,11 @@ function pointInPolygon(point, polygon) {
|
|
|
101656
102004
|
*/
|
|
101657
102005
|
function bindAddonActions(api, addonId, catalog) {
|
|
101658
102006
|
const out = {};
|
|
101659
|
-
for (const action of Object.keys(catalog)) out[action] = (input) => {
|
|
101660
|
-
|
|
101661
|
-
|
|
101662
|
-
|
|
101663
|
-
|
|
101664
|
-
});
|
|
101665
|
-
};
|
|
102007
|
+
for (const action of Object.keys(catalog)) out[action] = (input) => api.addons.custom.mutate({
|
|
102008
|
+
addonId,
|
|
102009
|
+
action,
|
|
102010
|
+
input
|
|
102011
|
+
});
|
|
101666
102012
|
return out;
|
|
101667
102013
|
}
|
|
101668
102014
|
//#endregion
|
|
@@ -102160,7 +102506,7 @@ exports.BrokerTestConnectionResultSchema = TestConnectionResultSchema;
|
|
|
102160
102506
|
exports.BrokerUnsubscribeInputSchema = UnsubscribeInputSchema;
|
|
102161
102507
|
exports.BucketAccumulator = BucketAccumulator;
|
|
102162
102508
|
exports.BulkRecordSchema = BulkRecordSchema;
|
|
102163
|
-
exports.CALLER_STAMPED_CAPABILITIES = CALLER_STAMPED_CAPABILITIES;
|
|
102509
|
+
exports.CALLER_STAMPED_CAPABILITIES = require_sleep.CALLER_STAMPED_CAPABILITIES;
|
|
102164
102510
|
exports.CAMERA_SENSORS_NOT_LOADED = CAMERA_SENSORS_NOT_LOADED;
|
|
102165
102511
|
exports.CAMERA_SENSORS_SETTINGS_KEY = CAMERA_SENSORS_SETTINGS_KEY;
|
|
102166
102512
|
exports.CAMERA_SWITCH_CATALOG = CAMERA_SWITCH_CATALOG;
|
|
@@ -102529,6 +102875,9 @@ exports.DiscoveredChildDeviceSchema = DiscoveredChildDeviceSchema;
|
|
|
102529
102875
|
exports.DiscoveredChildStatusSchema = DiscoveredChildStatusSchema;
|
|
102530
102876
|
exports.DiscoveredDeviceSchema = DiscoveredDeviceSchema;
|
|
102531
102877
|
exports.DiscoveredTargetSchema = DiscoveredTargetSchema;
|
|
102878
|
+
exports.DishwasherConsumableLevelSchema = DishwasherConsumableLevelSchema;
|
|
102879
|
+
exports.DishwasherStateSchema = DishwasherStateSchema;
|
|
102880
|
+
exports.DishwasherStatusSchema = DishwasherStatusSchema;
|
|
102532
102881
|
exports.DiskReconcileJobSchema = DiskReconcileJobSchema;
|
|
102533
102882
|
exports.DisposerChain = require_sleep.DisposerChain;
|
|
102534
102883
|
exports.DoorbellPressEventSchema = DoorbellPressEventSchema;
|
|
@@ -102694,6 +103043,7 @@ exports.HUB_VIEWER_MOUNT = HUB_VIEWER_MOUNT;
|
|
|
102694
103043
|
exports.HWACCEL_OPTIONS = HWACCEL_OPTIONS;
|
|
102695
103044
|
exports.HardwareClassIdSchema = HardwareClassIdSchema;
|
|
102696
103045
|
exports.HealthStatusSchema = HealthStatusSchema;
|
|
103046
|
+
exports.HeatingValveStatusSchema = HeatingValveStatusSchema;
|
|
102697
103047
|
exports.HfModelResolutionSchema = HfModelResolutionSchema;
|
|
102698
103048
|
exports.HistoryPointSchema = HistoryPointSchema;
|
|
102699
103049
|
exports.HistoryResolutionEnum = HistoryResolutionEnum;
|
|
@@ -103532,6 +103882,8 @@ exports.SENSOR_MAP = SENSOR_MAP;
|
|
|
103532
103882
|
exports.SERVER_NAME_MAX_LENGTH = SERVER_NAME_MAX_LENGTH;
|
|
103533
103883
|
exports.SERVER_NAME_SETTING_KEY = SERVER_NAME_SETTING_KEY;
|
|
103534
103884
|
exports.SESSION_PLACEMENT_SETTING_KEY = SESSION_PLACEMENT_SETTING_KEY;
|
|
103885
|
+
exports.SETTINGS_ARRAY_ADOPTS_PREFIX = require_sleep.SETTINGS_ARRAY_ADOPTS_PREFIX;
|
|
103886
|
+
exports.SETTINGS_BROKERS_ADOPTS_PREFIX = require_sleep.SETTINGS_BROKERS_ADOPTS_PREFIX;
|
|
103535
103887
|
exports.SHARE_SOURCE_SETTING_KEY = SHARE_SOURCE_SETTING_KEY;
|
|
103536
103888
|
exports.SHARE_VIEW_KINDS = require_sleep.SHARE_VIEW_KINDS;
|
|
103537
103889
|
exports.SINGLE_HUB_ADDRESS_ROLES = SINGLE_HUB_ADDRESS_ROLES;
|
|
@@ -104061,6 +104413,8 @@ exports.defineCustomActions = require_sleep.defineCustomActions;
|
|
|
104061
104413
|
exports.defineEntryKind = require_sleep.defineEntryKind;
|
|
104062
104414
|
exports.defineExtensionSlotProvider = defineExtensionSlotProvider;
|
|
104063
104415
|
exports.defineRecordKinds = require_sleep.defineRecordKinds;
|
|
104416
|
+
exports.dehydrateConfigField = require_sleep.dehydrateConfigField;
|
|
104417
|
+
exports.dehydrateSchema = require_sleep.dehydrateSchema;
|
|
104064
104418
|
exports.deleteAlarmProfile = deleteAlarmProfile;
|
|
104065
104419
|
exports.deriveBatteryPresence = deriveBatteryPresence;
|
|
104066
104420
|
exports.deriveCameraSwitches = deriveCameraSwitches;
|
|
@@ -104104,6 +104458,7 @@ exports.deviceStateCapability = deviceStateCapability;
|
|
|
104104
104458
|
exports.deviceStatusCapability = deviceStatusCapability;
|
|
104105
104459
|
exports.diffStepSettings = diffStepSettings;
|
|
104106
104460
|
exports.disarmRoseMemory = require_composition.disarmRoseMemory;
|
|
104461
|
+
exports.dishwasherCapability = dishwasherCapability;
|
|
104107
104462
|
exports.doActionSelectValue = doActionSelectValue;
|
|
104108
104463
|
exports.doorbellCapability = doorbellCapability;
|
|
104109
104464
|
exports.doorbellFeatureSources = doorbellFeatureSources;
|
|
@@ -104200,6 +104555,7 @@ exports.globalSecretScope = require_sleep.globalSecretScope;
|
|
|
104200
104555
|
exports.hasModelBoundOverrides = hasModelBoundOverrides;
|
|
104201
104556
|
exports.hasMotionTrigger = hasMotionTrigger;
|
|
104202
104557
|
exports.hasUrlScheme = hasUrlScheme;
|
|
104558
|
+
exports.heatingValveCapability = heatingValveCapability;
|
|
104203
104559
|
exports.hfModelUrl = require_sleep.hfModelUrl;
|
|
104204
104560
|
exports.historyFieldsFor = historyFieldsFor;
|
|
104205
104561
|
exports.htmlToText = htmlToText;
|
|
@@ -104322,6 +104678,7 @@ exports.logDestinationCapability = logDestinationCapability;
|
|
|
104322
104678
|
exports.logLevelAtMost = logLevelAtMost;
|
|
104323
104679
|
exports.loginMethodCapability = loginMethodCapability;
|
|
104324
104680
|
exports.looseSchema = looseSchema;
|
|
104681
|
+
exports.makeInMemoryRecords = require_sleep.makeInMemoryRecords;
|
|
104325
104682
|
exports.makeProfileBrokerId = require_sleep.makeProfileBrokerId;
|
|
104326
104683
|
exports.makeSecretMarker = require_sleep.makeSecretMarker;
|
|
104327
104684
|
exports.makeSourceBrokerId = require_sleep.makeSourceBrokerId;
|
|
@@ -104386,6 +104743,7 @@ exports.objectInputDeclaresAddonId = objectInputDeclaresAddonId;
|
|
|
104386
104743
|
exports.objectInputDeclaresRequiredDeviceId = objectInputDeclaresRequiredDeviceId;
|
|
104387
104744
|
exports.occupancyScope = occupancyScope;
|
|
104388
104745
|
exports.oidcConnectionsCapability = oidcConnectionsCapability;
|
|
104746
|
+
exports.omitTransientConfig = require_sleep.omitTransientConfig;
|
|
104389
104747
|
exports.optionalAncestors = optionalAncestors;
|
|
104390
104748
|
exports.optionalMethod = require_sleep.optionalMethod;
|
|
104391
104749
|
exports.osdCapability = osdCapability;
|
|
@@ -104412,6 +104770,8 @@ exports.parseSecretPath = require_sleep.parseSecretPath;
|
|
|
104412
104770
|
exports.parseSecretRef = require_sleep.parseSecretRef;
|
|
104413
104771
|
exports.parseSecretStatePath = require_sleep.parseSecretStatePath;
|
|
104414
104772
|
exports.parseSessionPlacementPolicy = parseSessionPlacementPolicy;
|
|
104773
|
+
exports.parseSettingsArrayAdoptsFrom = require_sleep.parseSettingsArrayAdoptsFrom;
|
|
104774
|
+
exports.parseSettingsBrokersAdoptsFrom = require_sleep.parseSettingsBrokersAdoptsFrom;
|
|
104415
104775
|
exports.parseShareSource = parseShareSource;
|
|
104416
104776
|
exports.parseStreamParamsFormPatch = parseStreamParamsFormPatch;
|
|
104417
104777
|
exports.parseTrainingEventLine = parseTrainingEventLine;
|
|
@@ -104585,7 +104945,9 @@ exports.servedTemplateVars = servedTemplateVars;
|
|
|
104585
104945
|
exports.serverManagementCapability = serverManagementCapability;
|
|
104586
104946
|
exports.setByPath = setByPath;
|
|
104587
104947
|
exports.settingValuesEqual = settingValuesEqual;
|
|
104948
|
+
exports.settingsArrayAdoptsFrom = require_sleep.settingsArrayAdoptsFrom;
|
|
104588
104949
|
exports.settingsBelow = settingsBelow;
|
|
104950
|
+
exports.settingsBrokersAdoptsFrom = require_sleep.settingsBrokersAdoptsFrom;
|
|
104589
104951
|
exports.settingsStoreCapability = settingsStoreCapability;
|
|
104590
104952
|
exports.shortHostname = shortHostname;
|
|
104591
104953
|
exports.shortSecretRefHash = require_sleep.shortSecretRefHash;
|
|
@@ -104699,6 +105061,7 @@ exports.webrtcSessionCapability = webrtcSessionCapability;
|
|
|
104699
105061
|
exports.weeklyMaskIndex = weeklyMaskIndex;
|
|
104700
105062
|
exports.weeklyMaskIsUniform = weeklyMaskIsUniform;
|
|
104701
105063
|
exports.weeklyMaskToWindows = weeklyMaskToWindows;
|
|
105064
|
+
exports.widenDeviceConstructor = widenDeviceConstructor;
|
|
104702
105065
|
exports.windowsToWeeklyMask = windowsToWeeklyMask;
|
|
104703
105066
|
exports.wiringAddonHealthSchema = wiringAddonHealthSchema;
|
|
104704
105067
|
exports.wiringHealthSnapshotSchema = wiringHealthSnapshotSchema;
|
|
@@ -104707,7 +105070,7 @@ exports.wiringProbeKindSchema = wiringProbeKindSchema;
|
|
|
104707
105070
|
exports.wiringProbeResultSchema = wiringProbeResultSchema;
|
|
104708
105071
|
exports.withFieldFrom = withFieldFrom;
|
|
104709
105072
|
exports.withLocationMode = withLocationMode;
|
|
104710
|
-
exports.withoutCallerStamp = withoutCallerStamp;
|
|
105073
|
+
exports.withoutCallerStamp = require_sleep.withoutCallerStamp;
|
|
104711
105074
|
exports.withoutField = withoutField;
|
|
104712
105075
|
exports.writeModelBoundSetting = writeModelBoundSetting;
|
|
104713
105076
|
exports.zodEntriesToConfigUI = zodEntriesToConfigUI;
|