@camstack/types 1.2.421 → 1.2.422

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.
Files changed (39) hide show
  1. package/dist/addon.js +1 -1
  2. package/dist/addon.mjs +1 -1
  3. package/dist/capabilities/composer.cap.d.ts +129 -57
  4. package/dist/capabilities/core-blocks.cap.d.ts +936 -410
  5. package/dist/capabilities/index.d.ts +3 -1
  6. package/dist/capabilities/meter.cap.d.ts +53 -0
  7. package/dist/client.js +3 -0
  8. package/dist/client.mjs +3 -0
  9. package/dist/composition/composition-report.d.ts +45 -0
  10. package/dist/composition/composition.d.ts +196 -19
  11. package/dist/composition/helpers/compile-history.d.ts +13 -0
  12. package/dist/composition/helpers/compile.d.ts +2 -1
  13. package/dist/composition/helpers/energy.d.ts +8 -0
  14. package/dist/composition/helpers/history-math.d.ts +39 -0
  15. package/dist/composition/helpers/history-window.d.ts +71 -0
  16. package/dist/composition/helpers/index.d.ts +6 -2
  17. package/dist/composition/helpers/source-pick.d.ts +2 -0
  18. package/dist/composition/helpers/spec.d.ts +23 -10
  19. package/dist/{composition-B3Hkb6v7.js → composition-CPRAP41h.js} +792 -8
  20. package/dist/{composition-B2rw5L29.mjs → composition-CpETZ4HL.mjs} +595 -9
  21. package/dist/device/cap-vocabulary/entries/sensors.d.ts +1 -1
  22. package/dist/generated/addon-api.d.ts +14 -0
  23. package/dist/generated/addon-cap-facts.d.ts +1 -1
  24. package/dist/generated/cap-status-types.d.ts +3 -1
  25. package/dist/generated/capability-router-map.d.ts +5 -2
  26. package/dist/generated/device-local-state.d.ts +3 -0
  27. package/dist/generated/device-proxy.d.ts +3 -0
  28. package/dist/generated/device-scoped-caps.d.ts +1 -1
  29. package/dist/generated/history-catalog.d.ts +1 -1
  30. package/dist/generated/method-access-map.d.ts +1 -1
  31. package/dist/generated/method-device-selectors.d.ts +1 -1
  32. package/dist/generated/runtime-state-durability.d.ts +1 -1
  33. package/dist/index.js +747 -446
  34. package/dist/index.mjs +709 -447
  35. package/dist/node.js +1 -1
  36. package/dist/node.mjs +1 -1
  37. package/dist/{sleep-bykKrTgu.mjs → sleep-0sD_LHLI.mjs} +10 -1
  38. package/dist/{sleep-YJ6FVsUu.js → sleep-CEKGW7A5.js} +10 -1
  39. 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, 75 caps with 351 state leaves.
8
+ * Coverage: 1 advance-derived caps, 76 caps with 352 state leaves.
9
9
  */
10
10
  /** A bindable scalar in a capability's runtime state. */
11
11
  export interface CapStateLeaf {
@@ -41,6 +41,7 @@ import type { IntercomStatusSchema } from '../capabilities/intercom.cap.js';
41
41
  import type { LawnMowerControlStatusSchema } from '../capabilities/lawn-mower-control.cap.js';
42
42
  import type { LockControlStatusSchema } from '../capabilities/lock-control.cap.js';
43
43
  import type { MediaPlayerStatusSchema } from '../capabilities/media-player.cap.js';
44
+ import type { MeterStatusSchema } from '../capabilities/meter.cap.js';
44
45
  import type { MotionStatusSchema } from '../capabilities/motion.cap.js';
45
46
  import type { MotionTriggerStatusSchema } from '../capabilities/motion-trigger.cap.js';
46
47
  import type { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
@@ -124,6 +125,7 @@ export type CapStatusTypeMap = {
124
125
  readonly 'lawn-mower-control': z.infer<typeof LawnMowerControlStatusSchema>;
125
126
  readonly 'lock-control': z.infer<typeof LockControlStatusSchema>;
126
127
  readonly 'media-player': z.infer<typeof MediaPlayerStatusSchema>;
128
+ readonly 'meter': z.infer<typeof MeterStatusSchema>;
127
129
  readonly 'motion': z.infer<typeof MotionStatusSchema>;
128
130
  readonly 'motion-trigger': z.infer<typeof MotionTriggerStatusSchema>;
129
131
  readonly 'motion-zones': z.infer<(typeof motionZonesCapability)['status']['schema']>;
@@ -167,4 +169,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
167
169
  * aggregator to enumerate caps whose `status` should be polled +
168
170
  * streamed via `subscribeDeviceStatusAggregate`.
169
171
  */
170
- 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", "group-commands", "group-status", "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", "running-state", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
172
+ 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", "group-commands", "group-status", "heating-valve", "humidifier", "humidity-sensor", "image", "image-settings", "intercom", "lawn-mower-control", "lock-control", "media-player", "meter", "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", "running-state", "scene-monitor", "script-runner", "smoke", "snapshot", "stream-params", "switch", "tamper", "temperature-sensor", "update", "vacuum-control", "valve", "vibration", "water-heater", "weather"];
@@ -94,6 +94,7 @@ export { logDestinationCapability } from '../capabilities/log-destination.cap.js
94
94
  export { loginMethodCapability } from '../capabilities/login-method.cap.js';
95
95
  export { mediaPlayerCapability } from '../capabilities/media-player.cap.js';
96
96
  export { meshNetworkCapability } from '../capabilities/mesh-network.cap.js';
97
+ export { meterCapability } from '../capabilities/meter.cap.js';
97
98
  export { metricsProviderCapability } from '../capabilities/metrics-provider.cap.js';
98
99
  export { modelConvertCapability } from '../capabilities/model-convert.cap.js';
99
100
  export { modelDistributorCapability } from '../capabilities/model-distributor.cap.js';
@@ -278,6 +279,7 @@ export declare const CAPABILITY_NAMES: {
278
279
  readonly loginMethod: 'login-method';
279
280
  readonly mediaPlayer: 'media-player';
280
281
  readonly meshNetwork: 'mesh-network';
282
+ readonly meter: 'meter';
281
283
  readonly metricsProvider: 'metrics-provider';
282
284
  readonly modelConvert: 'model-convert';
283
285
  readonly modelDistributor: 'model-distributor';
@@ -475,6 +477,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
475
477
  readonly loginMethod: TRouter;
476
478
  readonly mediaPlayer: TRouter;
477
479
  readonly meshNetwork: TRouter;
480
+ readonly meter: TRouter;
478
481
  readonly metricsProvider: TRouter;
479
482
  readonly modelConvert: TRouter;
480
483
  readonly modelDistributor: TRouter;
@@ -563,8 +566,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
563
566
  readonly zoneRules: TRouter;
564
567
  readonly zones: TRouter;
565
568
  }
566
- /** Capability names whose mode is `singleton` (148 caps). */
567
- 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-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'dishwasher', 'display-palette', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'group-commands', 'group-status', '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', 'running-state', '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'];
569
+ /** Capability names whose mode is `singleton` (149 caps). */
570
+ 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-credentials', 'device-discovery', 'device-history', 'device-manager', 'device-ops', 'device-state', 'device-status', 'dishwasher', 'display-palette', 'doorbell', 'enum-sensor', 'event-emitter', 'face-gallery', 'fan-control', 'feature-probe', 'filesystem-browse', 'flood', 'gas', 'group-commands', 'group-status', 'heating-valve', 'humidifier', 'humidity-sensor', 'image', 'image-settings', 'integrations', 'intercom', 'keychain', 'keychain-admin', 'lawn-mower-control', 'llm-runtime', 'local-network', 'lock-control', 'media-player', 'meter', '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', 'running-state', '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'];
568
571
  /** Union of singleton capability names (literal string union). */
569
572
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
570
573
  /** Capability names whose mode is `collection` (35 caps). */
@@ -38,6 +38,7 @@ import { intercomCapability } from '../capabilities/intercom.cap.js';
38
38
  import { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
39
39
  import { lockControlCapability } from '../capabilities/lock-control.cap.js';
40
40
  import { mediaPlayerCapability } from '../capabilities/media-player.cap.js';
41
+ import { meterCapability } from '../capabilities/meter.cap.js';
41
42
  import { motionCapability } from '../capabilities/motion.cap.js';
42
43
  import { motionTriggerCapability } from '../capabilities/motion-trigger.cap.js';
43
44
  import { motionZonesCapability } from '../capabilities/motion-zones.cap.js';
@@ -124,6 +125,7 @@ export interface DeviceLocalState {
124
125
  lawnMowerControl: InferRuntimeState<typeof lawnMowerControlCapability>;
125
126
  lockControl: InferRuntimeState<typeof lockControlCapability>;
126
127
  mediaPlayer: InferRuntimeState<typeof mediaPlayerCapability>;
128
+ meter: InferRuntimeState<typeof meterCapability>;
127
129
  motion: InferRuntimeState<typeof motionCapability>;
128
130
  motionTrigger: InferRuntimeState<typeof motionTriggerCapability>;
129
131
  motionZones: InferRuntimeState<typeof motionZonesCapability>;
@@ -220,6 +222,7 @@ export interface CapNameToRuntimeStateMap {
220
222
  'lawn-mower-control': InferRuntimeState<typeof lawnMowerControlCapability>;
221
223
  'lock-control': InferRuntimeState<typeof lockControlCapability>;
222
224
  'media-player': InferRuntimeState<typeof mediaPlayerCapability>;
225
+ 'meter': InferRuntimeState<typeof meterCapability>;
223
226
  'motion': InferRuntimeState<typeof motionCapability>;
224
227
  'motion-trigger': InferRuntimeState<typeof motionTriggerCapability>;
225
228
  'motion-zones': InferRuntimeState<typeof motionZonesCapability>;
@@ -51,6 +51,7 @@ import type { intercomCapability } from '../capabilities/intercom.cap.js';
51
51
  import type { lawnMowerControlCapability } from '../capabilities/lawn-mower-control.cap.js';
52
52
  import type { lockControlCapability } from '../capabilities/lock-control.cap.js';
53
53
  import type { mediaPlayerCapability } from '../capabilities/media-player.cap.js';
54
+ import type { meterCapability } from '../capabilities/meter.cap.js';
54
55
  import type { motionCapability } from '../capabilities/motion.cap.js';
55
56
  import type { motionDetectionCapability } from '../capabilities/motion-detection.cap.js';
56
57
  import type { motionTriggerCapability } from '../capabilities/motion-trigger.cap.js';
@@ -158,6 +159,7 @@ export interface DeviceProxyState {
158
159
  readonly lawnMowerControl: SliceHandle<InferRuntimeState<typeof lawnMowerControlCapability>>;
159
160
  readonly lockControl: SliceHandle<InferRuntimeState<typeof lockControlCapability>>;
160
161
  readonly mediaPlayer: SliceHandle<InferRuntimeState<typeof mediaPlayerCapability>>;
162
+ readonly meter: SliceHandle<InferRuntimeState<typeof meterCapability>>;
161
163
  readonly motion: SliceHandle<InferRuntimeState<typeof motionCapability>>;
162
164
  readonly motionTrigger: SliceHandle<InferRuntimeState<typeof motionTriggerCapability>>;
163
165
  readonly motionZones: SliceHandle<InferRuntimeState<typeof motionZonesCapability>>;
@@ -261,6 +263,7 @@ export interface DeviceProxy {
261
263
  readonly lawnMowerControl?: InferDeviceProxyCap<typeof lawnMowerControlCapability>;
262
264
  readonly lockControl?: InferDeviceProxyCap<typeof lockControlCapability>;
263
265
  readonly mediaPlayer?: InferDeviceProxyCap<typeof mediaPlayerCapability>;
266
+ readonly meter?: InferDeviceProxyCap<typeof meterCapability>;
264
267
  readonly motion?: InferDeviceProxyCap<typeof motionCapability>;
265
268
  readonly motionDetection?: InferDeviceProxyCap<typeof motionDetectionCapability>;
266
269
  readonly motionTrigger?: InferDeviceProxyCap<typeof motionTriggerCapability>;
@@ -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: 93 device-scoped capabilities.
8
+ * Coverage: 94 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, CapabilityHistoryItems } from '../capabilities/capability-definition.js';
2
2
  /**
3
3
  * Cap history catalog, projected from every `*.cap.ts` `history` block.
4
- * 41 caps with series (75 series), 32 caps answered `'none'`.
4
+ * 42 caps with series (76 series), 32 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: 1385 method paths across 183 capabilities.
9
+ * Coverage: 1386 method paths across 184 capabilities.
10
10
  */
11
11
  import type { MethodRole } from '../auth/viewer-access.js';
12
12
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
@@ -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: 548 methods carry a device reference, of which
9
+ * Coverage: 549 methods carry a device reference, of which
10
10
  * 174 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`. 74 caps: 38 `restored`, 36 `session`.
14
+ * `runtimeState`. 75 caps: 39 `restored`, 36 `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.