@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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `ALL_CAPABILITY_DEFINITIONS` (the whole Zod schema graph, ~+100 MB heap per
|
|
6
6
|
* runner). See docs/decisions/adr-0028.md.
|
|
7
7
|
*
|
|
8
|
-
* Coverage: 1 advance-derived caps,
|
|
8
|
+
* Coverage: 1 advance-derived caps, 73 caps with 358 state leaves.
|
|
9
9
|
*/
|
|
10
10
|
/** A bindable scalar in a capability's runtime state. */
|
|
11
11
|
export interface CapStateLeaf {
|
|
@@ -22,6 +22,7 @@ import type { deviceAdoptionCapability } from '../capabilities/device-adoption.c
|
|
|
22
22
|
import type { DeviceDiscoveryStatusSchema } from '../capabilities/device-discovery.cap.js';
|
|
23
23
|
import type { DeviceExportStatusSchema } from '../capabilities/device-export.cap.js';
|
|
24
24
|
import type { deviceStatusCapability } from '../capabilities/device-status.cap.js';
|
|
25
|
+
import type { DishwasherStatusSchema } from '../capabilities/dishwasher.cap.js';
|
|
25
26
|
import type { DoorbellStatusSchema } from '../capabilities/doorbell.cap.js';
|
|
26
27
|
import type { EnumSensorStatusSchema } from '../capabilities/enum-sensor.cap.js';
|
|
27
28
|
import type { EventEmitterStatusSchema } from '../capabilities/event-emitter.cap.js';
|
|
@@ -29,6 +30,7 @@ import type { FanControlStatusSchema } from '../capabilities/fan-control.cap.js'
|
|
|
29
30
|
import type { FeatureProbeStatusSchema } from '../capabilities/feature-probe.cap.js';
|
|
30
31
|
import type { FloodStatusSchema } from '../capabilities/flood.cap.js';
|
|
31
32
|
import type { GasStatusSchema } from '../capabilities/gas.cap.js';
|
|
33
|
+
import type { HeatingValveStatusSchema } from '../capabilities/heating-valve.cap.js';
|
|
32
34
|
import type { HumidifierStatusSchema } from '../capabilities/humidifier.cap.js';
|
|
33
35
|
import type { HumiditySensorStatusSchema } from '../capabilities/humidity-sensor.cap.js';
|
|
34
36
|
import type { ImageStatusSchema } from '../capabilities/image.cap.js';
|
|
@@ -100,6 +102,7 @@ export type CapStatusTypeMap = {
|
|
|
100
102
|
readonly 'device-discovery': z.infer<typeof DeviceDiscoveryStatusSchema>;
|
|
101
103
|
readonly 'device-export': z.infer<typeof DeviceExportStatusSchema>;
|
|
102
104
|
readonly 'device-status': z.infer<(typeof deviceStatusCapability)['status']['schema']>;
|
|
105
|
+
readonly 'dishwasher': z.infer<typeof DishwasherStatusSchema>;
|
|
103
106
|
readonly 'doorbell': z.infer<typeof DoorbellStatusSchema>;
|
|
104
107
|
readonly 'enum-sensor': z.infer<typeof EnumSensorStatusSchema>;
|
|
105
108
|
readonly 'event-emitter': z.infer<typeof EventEmitterStatusSchema>;
|
|
@@ -107,6 +110,7 @@ export type CapStatusTypeMap = {
|
|
|
107
110
|
readonly 'feature-probe': z.infer<typeof FeatureProbeStatusSchema>;
|
|
108
111
|
readonly 'flood': z.infer<typeof FloodStatusSchema>;
|
|
109
112
|
readonly 'gas': z.infer<typeof GasStatusSchema>;
|
|
113
|
+
readonly 'heating-valve': z.infer<typeof HeatingValveStatusSchema>;
|
|
110
114
|
readonly 'humidifier': z.infer<typeof HumidifierStatusSchema>;
|
|
111
115
|
readonly 'humidity-sensor': z.infer<typeof HumiditySensorStatusSchema>;
|
|
112
116
|
readonly 'image': z.infer<typeof ImageStatusSchema>;
|
|
@@ -157,4 +161,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
|
|
|
157
161
|
* aggregator to enumerate caps whose `status` should be polled +
|
|
158
162
|
* streamed via `subscribeDeviceStatusAggregate`.
|
|
159
163
|
*/
|
|
160
|
-
export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording-archive", "recording-onboard", "recording-signal", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
|
|
164
|
+
export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "air-quality-sensor", "alarm-panel", "ambient-light-sensor", "automation-control", "battery", "binary", "brightness", "broker", "camera-credentials", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "cover", "day-night", "device-adoption", "device-discovery", "device-export", "device-status", "dishwasher", "doorbell", "enum-sensor", "event-emitter", "fan-control", "feature-probe", "flood", "gas", "heating-valve", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "motion", "motion-trigger", "motion-zones", "mqtt-broker", "native-object-detection", "navigation", "network-link", "notifier", "numeric-sensor", "osd", "pet-feeder", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "recording-archive", "recording-onboard", "recording-signal", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
|
|
@@ -59,6 +59,7 @@ export { deviceProviderCapability } from '../capabilities/device-provider.cap.js
|
|
|
59
59
|
export { deviceRemovalHookCapability } from '../capabilities/device-removal-hook.cap.js';
|
|
60
60
|
export { deviceStateCapability } from '../capabilities/device-state.cap.js';
|
|
61
61
|
export { deviceStatusCapability } from '../capabilities/device-status.cap.js';
|
|
62
|
+
export { dishwasherCapability } from '../capabilities/dishwasher.cap.js';
|
|
62
63
|
export { doorbellCapability } from '../capabilities/doorbell.cap.js';
|
|
63
64
|
export { embeddingEncoderCapability } from '../capabilities/embedding-encoder.cap.js';
|
|
64
65
|
export { enumSensorCapability } from '../capabilities/enum-sensor.cap.js';
|
|
@@ -70,6 +71,7 @@ export { featureProbeCapability } from '../capabilities/feature-probe.cap.js';
|
|
|
70
71
|
export { filesystemBrowseCapability } from '../capabilities/filesystem-browse.cap.js';
|
|
71
72
|
export { floodCapability } from '../capabilities/flood.cap.js';
|
|
72
73
|
export { gasCapability } from '../capabilities/gas.cap.js';
|
|
74
|
+
export { heatingValveCapability } from '../capabilities/heating-valve.cap.js';
|
|
73
75
|
export { humidifierCapability } from '../capabilities/humidifier.cap.js';
|
|
74
76
|
export { humiditySensorCapability } from '../capabilities/humidity-sensor.cap.js';
|
|
75
77
|
export { imageCapability } from '../capabilities/image.cap.js';
|
|
@@ -237,6 +239,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
237
239
|
readonly deviceRemovalHook: 'device-removal-hook';
|
|
238
240
|
readonly deviceState: 'device-state';
|
|
239
241
|
readonly deviceStatus: 'device-status';
|
|
242
|
+
readonly dishwasher: 'dishwasher';
|
|
240
243
|
readonly doorbell: 'doorbell';
|
|
241
244
|
readonly embeddingEncoder: 'embedding-encoder';
|
|
242
245
|
readonly enumSensor: 'enum-sensor';
|
|
@@ -248,6 +251,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
248
251
|
readonly filesystemBrowse: 'filesystem-browse';
|
|
249
252
|
readonly flood: 'flood';
|
|
250
253
|
readonly gas: 'gas';
|
|
254
|
+
readonly heatingValve: 'heating-valve';
|
|
251
255
|
readonly humidifier: 'humidifier';
|
|
252
256
|
readonly humiditySensor: 'humidity-sensor';
|
|
253
257
|
readonly image: 'image';
|
|
@@ -428,6 +432,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
428
432
|
readonly deviceRemovalHook: TRouter;
|
|
429
433
|
readonly deviceState: TRouter;
|
|
430
434
|
readonly deviceStatus: TRouter;
|
|
435
|
+
readonly dishwasher: TRouter;
|
|
431
436
|
readonly doorbell: TRouter;
|
|
432
437
|
readonly embeddingEncoder: TRouter;
|
|
433
438
|
readonly enumSensor: TRouter;
|
|
@@ -439,6 +444,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
439
444
|
readonly filesystemBrowse: TRouter;
|
|
440
445
|
readonly flood: TRouter;
|
|
441
446
|
readonly gas: TRouter;
|
|
447
|
+
readonly heatingValve: TRouter;
|
|
442
448
|
readonly humidifier: TRouter;
|
|
443
449
|
readonly humiditySensor: TRouter;
|
|
444
450
|
readonly image: TRouter;
|
|
@@ -545,8 +551,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
545
551
|
readonly zoneRules: TRouter;
|
|
546
552
|
readonly zones: TRouter;
|
|
547
553
|
}
|
|
548
|
-
/** Capability names whose mode is `singleton` (
|
|
549
|
-
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'addon-pages', 'addon-settings', 'addon-widgets', 'addons', 'admin-ui', 'air-quality-sensor', 'alarm-panel', 'alerts', 'ambient-light-sensor', 'audio-analysis', 'audio-analyzer', 'audio-codec', 'audio-metrics', 'automation-control', 'backup', 'battery', 'binary', 'brightness', 'button', 'calendars', 'camera-credentials', 'camera-grid-layout', 'camera-pipeline-config', 'camera-streams', 'carbon-monoxide', 'climate-control', 'color', 'composer', 'connectivity', 'consumables', 'contact', 'control', 'core-blocks', 'cover', 'database-snapshot', 'day-night', 'decoder', 'detection-pipeline', 'device-admin-link', 'device-adoption', 'device-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'metrics-provider', 'model-convert', 'model-distributor', 'motion', 'motion-detection', 'motion-trigger', 'motion-zones', 'native-object-detection', 'navigation', 'network-link', 'network-quality', 'node-certificates', 'nodes', 'notification-rules', 'notifier', 'numeric-sensor', 'oidc-connections', 'osd', 'osd-manager', 'pet-feeder', 'pipeline-analytics', 'pipeline-executor', 'pipeline-orchestrator', 'pipeline-runner', 'plate-gallery', 'platform-probe', 'power-meter', 'presence', 'pressure-sensor', 'privacy-mask', 'ptz', 'ptz-autotrack', 'reboot', 'record-entries', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'records', 'scene-monitor', 'script-runner', 'server-management', 'settings-store', 'smoke', 'snapshot', 'sso-bridge', 'storage', 'storage-admin', 'storage-migration', 'stream-broker', 'stream-catalog', 'stream-params', 'stream-signals', 'switch', 'system', 'tamper', 'temperature-sensor', 'terminal-session', 'toast', 'training', 'update', 'user-management', 'vacuum-control', 'valve', 'vector-store', 'vibration', 'viewer-ui', 'water-heater', 'weather', 'webrtc-session', 'zone-analytics', 'zone-rules', 'zones'];
|
|
554
|
+
/** Capability names whose mode is `singleton` (145 caps). */
|
|
555
|
+
export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'addon-pages', 'addon-settings', 'addon-widgets', 'addons', 'admin-ui', 'air-quality-sensor', 'alarm-panel', 'alerts', 'ambient-light-sensor', 'audio-analysis', 'audio-analyzer', 'audio-codec', 'audio-metrics', 'automation-control', 'backup', 'battery', 'binary', 'brightness', 'button', 'calendars', 'camera-credentials', 'camera-grid-layout', 'camera-pipeline-config', 'camera-streams', 'carbon-monoxide', 'climate-control', 'color', 'composer', 'connectivity', 'consumables', 'contact', 'control', 'core-blocks', 'cover', 'database-snapshot', 'day-night', 'decoder', 'detection-pipeline', 'device-admin-link', 'device-adoption', 'device-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'dishwasher', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'heating-valve', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'metrics-provider', 'model-convert', 'model-distributor', 'motion', 'motion-detection', 'motion-trigger', 'motion-zones', 'native-object-detection', 'navigation', 'network-link', 'network-quality', 'node-certificates', 'nodes', 'notification-rules', 'notifier', 'numeric-sensor', 'oidc-connections', 'osd', 'osd-manager', 'pet-feeder', 'pipeline-analytics', 'pipeline-executor', 'pipeline-orchestrator', 'pipeline-runner', 'plate-gallery', 'platform-probe', 'power-meter', 'presence', 'pressure-sensor', 'privacy-mask', 'ptz', 'ptz-autotrack', 'reboot', 'record-entries', 'recording-archive', 'recording-export', 'recording-onboard', 'recording-signal', 'records', 'scene-monitor', 'script-runner', 'server-management', 'settings-store', 'smoke', 'snapshot', 'sso-bridge', 'storage', 'storage-admin', 'storage-migration', 'stream-broker', 'stream-catalog', 'stream-params', 'stream-signals', 'switch', 'system', 'tamper', 'temperature-sensor', 'terminal-session', 'toast', 'training', 'update', 'user-management', 'vacuum-control', 'valve', 'vector-store', 'vibration', 'viewer-ui', 'water-heater', 'weather', 'webrtc-session', 'zone-analytics', 'zone-rules', 'zones'];
|
|
550
556
|
/** Union of singleton capability names (literal string union). */
|
|
551
557
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
552
558
|
/** Capability names whose mode is `collection` (34 caps). */
|
|
@@ -19,6 +19,7 @@ import { coverCapability } from '../capabilities/cover.cap.js';
|
|
|
19
19
|
import { dayNightCapability } from '../capabilities/day-night.cap.js';
|
|
20
20
|
import { deviceDiscoveryCapability } from '../capabilities/device-discovery.cap.js';
|
|
21
21
|
import { deviceStatusCapability } from '../capabilities/device-status.cap.js';
|
|
22
|
+
import { dishwasherCapability } from '../capabilities/dishwasher.cap.js';
|
|
22
23
|
import { doorbellCapability } from '../capabilities/doorbell.cap.js';
|
|
23
24
|
import { enumSensorCapability } from '../capabilities/enum-sensor.cap.js';
|
|
24
25
|
import { eventEmitterCapability } from '../capabilities/event-emitter.cap.js';
|
|
@@ -26,6 +27,7 @@ import { fanControlCapability } from '../capabilities/fan-control.cap.js';
|
|
|
26
27
|
import { featureProbeCapability } from '../capabilities/feature-probe.cap.js';
|
|
27
28
|
import { floodCapability } from '../capabilities/flood.cap.js';
|
|
28
29
|
import { gasCapability } from '../capabilities/gas.cap.js';
|
|
30
|
+
import { heatingValveCapability } from '../capabilities/heating-valve.cap.js';
|
|
29
31
|
import { humidifierCapability } from '../capabilities/humidifier.cap.js';
|
|
30
32
|
import { humiditySensorCapability } from '../capabilities/humidity-sensor.cap.js';
|
|
31
33
|
import { imageCapability } from '../capabilities/image.cap.js';
|
|
@@ -100,6 +102,7 @@ export interface DeviceLocalState {
|
|
|
100
102
|
dayNight: InferRuntimeState<typeof dayNightCapability>;
|
|
101
103
|
deviceDiscovery: InferRuntimeState<typeof deviceDiscoveryCapability>;
|
|
102
104
|
deviceStatus: InferRuntimeState<typeof deviceStatusCapability>;
|
|
105
|
+
dishwasher: InferRuntimeState<typeof dishwasherCapability>;
|
|
103
106
|
doorbell: InferRuntimeState<typeof doorbellCapability>;
|
|
104
107
|
enumSensor: InferRuntimeState<typeof enumSensorCapability>;
|
|
105
108
|
eventEmitter: InferRuntimeState<typeof eventEmitterCapability>;
|
|
@@ -107,6 +110,7 @@ export interface DeviceLocalState {
|
|
|
107
110
|
featureProbe: InferRuntimeState<typeof featureProbeCapability>;
|
|
108
111
|
flood: InferRuntimeState<typeof floodCapability>;
|
|
109
112
|
gas: InferRuntimeState<typeof gasCapability>;
|
|
113
|
+
heatingValve: InferRuntimeState<typeof heatingValveCapability>;
|
|
110
114
|
humidifier: InferRuntimeState<typeof humidifierCapability>;
|
|
111
115
|
humiditySensor: InferRuntimeState<typeof humiditySensorCapability>;
|
|
112
116
|
image: InferRuntimeState<typeof imageCapability>;
|
|
@@ -191,6 +195,7 @@ export interface CapNameToRuntimeStateMap {
|
|
|
191
195
|
'day-night': InferRuntimeState<typeof dayNightCapability>;
|
|
192
196
|
'device-discovery': InferRuntimeState<typeof deviceDiscoveryCapability>;
|
|
193
197
|
'device-status': InferRuntimeState<typeof deviceStatusCapability>;
|
|
198
|
+
'dishwasher': InferRuntimeState<typeof dishwasherCapability>;
|
|
194
199
|
'doorbell': InferRuntimeState<typeof doorbellCapability>;
|
|
195
200
|
'enum-sensor': InferRuntimeState<typeof enumSensorCapability>;
|
|
196
201
|
'event-emitter': InferRuntimeState<typeof eventEmitterCapability>;
|
|
@@ -198,6 +203,7 @@ export interface CapNameToRuntimeStateMap {
|
|
|
198
203
|
'feature-probe': InferRuntimeState<typeof featureProbeCapability>;
|
|
199
204
|
'flood': InferRuntimeState<typeof floodCapability>;
|
|
200
205
|
'gas': InferRuntimeState<typeof gasCapability>;
|
|
206
|
+
'heating-valve': InferRuntimeState<typeof heatingValveCapability>;
|
|
201
207
|
'humidifier': InferRuntimeState<typeof humidifierCapability>;
|
|
202
208
|
'humidity-sensor': InferRuntimeState<typeof humiditySensorCapability>;
|
|
203
209
|
'image': InferRuntimeState<typeof imageCapability>;
|
|
@@ -32,6 +32,7 @@ import type { deviceDiscoveryCapability } from '../capabilities/device-discovery
|
|
|
32
32
|
import type { deviceExtensionCapability } from '../capabilities/device-extension.cap.js';
|
|
33
33
|
import type { deviceOpsCapability } from '../capabilities/device-ops.cap.js';
|
|
34
34
|
import type { deviceStatusCapability } from '../capabilities/device-status.cap.js';
|
|
35
|
+
import type { dishwasherCapability } from '../capabilities/dishwasher.cap.js';
|
|
35
36
|
import type { doorbellCapability } from '../capabilities/doorbell.cap.js';
|
|
36
37
|
import type { enumSensorCapability } from '../capabilities/enum-sensor.cap.js';
|
|
37
38
|
import type { eventEmitterCapability } from '../capabilities/event-emitter.cap.js';
|
|
@@ -39,6 +40,7 @@ import type { fanControlCapability } from '../capabilities/fan-control.cap.js';
|
|
|
39
40
|
import type { featureProbeCapability } from '../capabilities/feature-probe.cap.js';
|
|
40
41
|
import type { floodCapability } from '../capabilities/flood.cap.js';
|
|
41
42
|
import type { gasCapability } from '../capabilities/gas.cap.js';
|
|
43
|
+
import type { heatingValveCapability } from '../capabilities/heating-valve.cap.js';
|
|
42
44
|
import type { humidifierCapability } from '../capabilities/humidifier.cap.js';
|
|
43
45
|
import type { humiditySensorCapability } from '../capabilities/humidity-sensor.cap.js';
|
|
44
46
|
import type { imageCapability } from '../capabilities/image.cap.js';
|
|
@@ -134,6 +136,7 @@ export interface DeviceProxyState {
|
|
|
134
136
|
readonly dayNight: SliceHandle<InferRuntimeState<typeof dayNightCapability>>;
|
|
135
137
|
readonly deviceDiscovery: SliceHandle<InferRuntimeState<typeof deviceDiscoveryCapability>>;
|
|
136
138
|
readonly deviceStatus: SliceHandle<InferRuntimeState<typeof deviceStatusCapability>>;
|
|
139
|
+
readonly dishwasher: SliceHandle<InferRuntimeState<typeof dishwasherCapability>>;
|
|
137
140
|
readonly doorbell: SliceHandle<InferRuntimeState<typeof doorbellCapability>>;
|
|
138
141
|
readonly enumSensor: SliceHandle<InferRuntimeState<typeof enumSensorCapability>>;
|
|
139
142
|
readonly eventEmitter: SliceHandle<InferRuntimeState<typeof eventEmitterCapability>>;
|
|
@@ -141,6 +144,7 @@ export interface DeviceProxyState {
|
|
|
141
144
|
readonly featureProbe: SliceHandle<InferRuntimeState<typeof featureProbeCapability>>;
|
|
142
145
|
readonly flood: SliceHandle<InferRuntimeState<typeof floodCapability>>;
|
|
143
146
|
readonly gas: SliceHandle<InferRuntimeState<typeof gasCapability>>;
|
|
147
|
+
readonly heatingValve: SliceHandle<InferRuntimeState<typeof heatingValveCapability>>;
|
|
144
148
|
readonly humidifier: SliceHandle<InferRuntimeState<typeof humidifierCapability>>;
|
|
145
149
|
readonly humiditySensor: SliceHandle<InferRuntimeState<typeof humiditySensorCapability>>;
|
|
146
150
|
readonly image: SliceHandle<InferRuntimeState<typeof imageCapability>>;
|
|
@@ -232,6 +236,7 @@ export interface DeviceProxy {
|
|
|
232
236
|
readonly deviceExtension?: InferDeviceProxyCap<typeof deviceExtensionCapability>;
|
|
233
237
|
readonly deviceOps?: InferDeviceProxyCap<typeof deviceOpsCapability>;
|
|
234
238
|
readonly deviceStatus?: InferDeviceProxyCap<typeof deviceStatusCapability>;
|
|
239
|
+
readonly dishwasher?: InferDeviceProxyCap<typeof dishwasherCapability>;
|
|
235
240
|
readonly doorbell?: InferDeviceProxyCap<typeof doorbellCapability>;
|
|
236
241
|
readonly enumSensor?: InferDeviceProxyCap<typeof enumSensorCapability>;
|
|
237
242
|
readonly eventEmitter?: InferDeviceProxyCap<typeof eventEmitterCapability>;
|
|
@@ -239,6 +244,7 @@ export interface DeviceProxy {
|
|
|
239
244
|
readonly featureProbe?: InferDeviceProxyCap<typeof featureProbeCapability>;
|
|
240
245
|
readonly flood?: InferDeviceProxyCap<typeof floodCapability>;
|
|
241
246
|
readonly gas?: InferDeviceProxyCap<typeof gasCapability>;
|
|
247
|
+
readonly heatingValve?: InferDeviceProxyCap<typeof heatingValveCapability>;
|
|
242
248
|
readonly humidifier?: InferDeviceProxyCap<typeof humidifierCapability>;
|
|
243
249
|
readonly humiditySensor?: InferDeviceProxyCap<typeof humiditySensorCapability>;
|
|
244
250
|
readonly image?: InferDeviceProxyCap<typeof imageCapability>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
6
6
|
* (~144MB RSS per runner, D28).
|
|
7
7
|
*
|
|
8
|
-
* Coverage:
|
|
8
|
+
* Coverage: 90 device-scoped capabilities.
|
|
9
9
|
*/
|
|
10
10
|
export declare const DEVICE_SCOPED_CAPS: ReadonlySet<string>;
|
|
11
11
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CapabilityHistoryField } from '../capabilities/capability-definition.js';
|
|
2
2
|
/**
|
|
3
3
|
* Cap history catalog, projected from every `*.cap.ts` `history` block.
|
|
4
|
-
*
|
|
4
|
+
* 34 caps with series (62 series), 37 caps answered `'none'`.
|
|
5
5
|
* Field keys are `runtimeState` paths (`a.b` into fixed objects only).
|
|
6
6
|
*/
|
|
7
7
|
export declare const HISTORY_CATALOG: Readonly<Record<string, Readonly<Record<string, CapabilityHistoryField>>>>;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* scope+access check inside `protectedProcedure` (see
|
|
7
7
|
* `server/backend/src/api/trpc/trpc.middleware.ts`).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 1379 method paths across 179 capabilities.
|
|
10
10
|
*/
|
|
11
11
|
import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
|
|
12
12
|
export interface MethodAccessRecord {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* system-scope cap that takes a deviceId was previously never device-filtered
|
|
7
7
|
* — see the generator header).
|
|
8
8
|
*
|
|
9
|
-
* Coverage:
|
|
9
|
+
* Coverage: 544 methods carry a device reference, of which
|
|
10
10
|
* 179 are on SYSTEM-scope caps.
|
|
11
11
|
*
|
|
12
12
|
* Top-level fields, number arrays, and one-level arrays of objects carrying
|
|
@@ -11,7 +11,7 @@ export interface RuntimeStatePolicy {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
14
|
-
* `runtimeState`.
|
|
14
|
+
* `runtimeState`. 71 caps: 37 `restored`, 34 `session`.
|
|
15
15
|
*
|
|
16
16
|
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
17
17
|
* with `durability: 'session'` has one and has decided not to keep it.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SliceHandleApi } from '../device/device-state-handle.js';
|
|
2
|
+
import type { AddonApi } from '../generated/addon-api.js';
|
|
3
|
+
/** Structural bridge: every `AddonApi` client carries `deviceState` (+ optional `live`). */
|
|
4
|
+
export declare function addonSliceHandleApi(api: AddonApi): SliceHandleApi;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AddonApi } from '../generated/addon-api.js';
|
|
2
|
+
/** tRPC client procedure bundle (`query` / `mutate` / `subscribe`). */
|
|
3
|
+
export interface TrpcProcedureLeaf {
|
|
4
|
+
readonly query?: (input?: unknown) => unknown;
|
|
5
|
+
readonly mutate?: (input?: unknown) => unknown;
|
|
6
|
+
readonly subscribe?: (input?: unknown, push?: unknown) => unknown;
|
|
7
|
+
}
|
|
8
|
+
export declare function isTrpcProcedureLeaf(value: unknown): value is TrpcProcedureLeaf;
|
|
9
|
+
export declare function readTrpcLeaf(api: AddonApi, capProp: string, method: string): TrpcProcedureLeaf;
|
|
10
|
+
export type TrpcDispatchKind = 'query' | 'mutation' | 'subscription';
|
|
11
|
+
/**
|
|
12
|
+
* Invoke `api.<capProp>.<method>.{query|mutate|subscribe}(input)`.
|
|
13
|
+
* `Result` is the generated proxy method's return. The leaf itself is only
|
|
14
|
+
* `unknown` (the client is a structural bag), so the assertion is the one
|
|
15
|
+
* boundary between that bag and the typed proxy.
|
|
16
|
+
*/
|
|
17
|
+
export declare function invokeTrpcLeaf<Result>(api: AddonApi, capProp: string, method: string, kind: TrpcDispatchKind, input?: unknown, push?: unknown): Result;
|
package/dist/index.d.ts
CHANGED
|
@@ -47,8 +47,8 @@ export type * from './interfaces/capability.js';
|
|
|
47
47
|
export type * from './interfaces/config-port.js';
|
|
48
48
|
export type * from './interfaces/config-ui.js';
|
|
49
49
|
export type { HydratedFieldEntry } from './interfaces/config-ui.js';
|
|
50
|
-
export { collectHydratedFieldEntries, collectHydratedFieldValues, hydrateSchema, resolveHydratedFieldValue, WELL_KNOWN_TAB_MAP, WELL_KNOWN_TABS, } from './interfaces/config-ui.js';
|
|
51
|
-
export { collectKeychainStoredKeys, collectSecretConfigKeys, isKeychainStoredField, isSecretConfigField, REDACTED_SECRET, schemaDeclaresAnyField, } from './interfaces/config-ui-secrets.js';
|
|
50
|
+
export { collectHydratedFieldEntries, collectHydratedFieldValues, dehydrateConfigField, dehydrateSchema, hydrateSchema, resolveHydratedFieldValue, WELL_KNOWN_TAB_MAP, WELL_KNOWN_TABS, } from './interfaces/config-ui.js';
|
|
51
|
+
export { collectKeychainStoredKeys, collectSecretConfigKeys, omitTransientConfig, isKeychainStoredField, isSecretConfigField, REDACTED_SECRET, schemaDeclaresAnyField, } from './interfaces/config-ui-secrets.js';
|
|
52
52
|
export * from './keychain/index.js';
|
|
53
53
|
export * from './records/index.js';
|
|
54
54
|
export * from './training/index.js';
|
|
@@ -190,6 +190,7 @@ export type { IDevice } from './device/device.js';
|
|
|
190
190
|
export type { DeviceBinding, DeviceBindingEntry } from './device/device-binding.js';
|
|
191
191
|
export { DeviceConfig } from './device/device-config.js';
|
|
192
192
|
export type { DeviceConstructor, DeviceContext, DeviceManagerApi, DevicePersistConfigOptions, IDeviceRegistry, IDeviceRegistryReader, } from './device/device-context.js';
|
|
193
|
+
export { widenDeviceConstructor } from './device/device-context.js';
|
|
193
194
|
export type { AccessoryControlInput, AccessoryControlKind, AccessoryControlPick, DeviceControlKind, SensorMapping, } from './device/device-control-resolution.js';
|
|
194
195
|
export { DEVICE_TYPE_CONTROL_KIND, hasMotionTrigger, isNode, MOTION_TRIGGER_FEATURE, pickAccessoryControl, resolveDeviceControlKind, resolveMutate, SENSOR_FEATURES, SENSOR_MAP, } from './device/device-control-resolution.js';
|
|
195
196
|
export type { DeviceDoAction, DeviceDoOpenArg } from './device/device-do-actions.js';
|