@camstack/types 1.2.422 → 1.2.424

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 (47) hide show
  1. package/dist/addon.js +1 -1
  2. package/dist/addon.mjs +1 -1
  3. package/dist/capabilities/composer.cap.d.ts +6 -0
  4. package/dist/capabilities/core-blocks.cap.d.ts +43 -0
  5. package/dist/capabilities/group-active.cap.d.ts +46 -0
  6. package/dist/capabilities/group-commands.cap.d.ts +1 -1
  7. package/dist/capabilities/group-status.cap.d.ts +1 -1
  8. package/dist/capabilities/index.d.ts +3 -1
  9. package/dist/capabilities/lock-control.cap.d.ts +1 -0
  10. package/dist/capabilities/notification-rules.cap.d.ts +12 -0
  11. package/dist/capabilities/switch.cap.d.ts +1 -1
  12. package/dist/client.js +17 -1
  13. package/dist/client.mjs +17 -1
  14. package/dist/composition/composition-report.d.ts +2 -0
  15. package/dist/composition/composition.d.ts +9 -0
  16. package/dist/composition/helpers/actuator-methods.d.ts +39 -0
  17. package/dist/composition/helpers/aggregate.d.ts +2 -0
  18. package/dist/composition/helpers/catalog.d.ts +7 -1
  19. package/dist/composition/helpers/compile-history.d.ts +16 -1
  20. package/dist/composition/helpers/compile-math.d.ts +9 -0
  21. package/dist/composition/helpers/history-math.d.ts +8 -0
  22. package/dist/composition/helpers/index.d.ts +6 -4
  23. package/dist/composition/helpers/source-pick.d.ts +8 -1
  24. package/dist/composition/helpers/spec.d.ts +49 -3
  25. package/dist/{composition-CpETZ4HL.mjs → composition-Bb8iwHEJ.mjs} +175 -5
  26. package/dist/{composition-CPRAP41h.js → composition-CpAc0YfQ.js} +228 -4
  27. package/dist/device/cap-vocabulary/entries/sensors.d.ts +1 -1
  28. package/dist/expression/builtins.d.ts +11 -2
  29. package/dist/expression/expression-source.d.ts +6 -1
  30. package/dist/generated/addon-api.d.ts +14 -0
  31. package/dist/generated/addon-cap-facts.d.ts +1 -1
  32. package/dist/generated/cap-status-types.d.ts +3 -1
  33. package/dist/generated/capability-router-map.d.ts +5 -2
  34. package/dist/generated/device-local-state.d.ts +3 -0
  35. package/dist/generated/device-proxy.d.ts +3 -0
  36. package/dist/generated/device-scoped-caps.d.ts +1 -1
  37. package/dist/generated/history-catalog.d.ts +1 -1
  38. package/dist/generated/method-access-map.d.ts +1 -1
  39. package/dist/generated/method-device-selectors.d.ts +1 -1
  40. package/dist/generated/runtime-state-durability.d.ts +1 -1
  41. package/dist/index.js +648 -34
  42. package/dist/index.mjs +625 -35
  43. package/dist/node.js +1 -1
  44. package/dist/node.mjs +1 -1
  45. package/dist/{sleep-0sD_LHLI.mjs → sleep--jXS9hWo.mjs} +10 -1
  46. package/dist/{sleep-CEKGW7A5.js → sleep-edKiOXLo.js} +10 -1
  47. package/package.json +1 -1
@@ -3850,6 +3850,20 @@ export type AppRouter = TrpcCoreRouter<{
3850
3850
  meta: object;
3851
3851
  }>;
3852
3852
  }>>;
3853
+ groupActive: TRPCBuiltRouter<{
3854
+ ctx: TrpcContext;
3855
+ meta: object;
3856
+ errorShape: AugmentedErrorShape;
3857
+ transformer: true;
3858
+ }, TRPCDecorateCreateRouterOptions<{
3859
+ getStatus: TRPCQueryProcedure<{
3860
+ input: {
3861
+ [x: string]: unknown;
3862
+ } & z.input<typeof DEVICE_STATUS_METHOD.getStatus.input>;
3863
+ output: z.infer<typeof DEVICE_STATUS_METHOD.getStatus.output>;
3864
+ meta: object;
3865
+ }>;
3866
+ }>>;
3853
3867
  groupCommands: TRPCBuiltRouter<{
3854
3868
  ctx: TrpcContext;
3855
3869
  meta: object;
@@ -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, 76 caps with 352 state leaves.
8
+ * Coverage: 1 advance-derived caps, 77 caps with 353 state leaves.
9
9
  */
10
10
  /** A bindable scalar in a capability's runtime state. */
11
11
  export interface CapStateLeaf {
@@ -30,6 +30,7 @@ import type { FanControlStatusSchema } from '../capabilities/fan-control.cap.js'
30
30
  import type { FeatureProbeStatusSchema } from '../capabilities/feature-probe.cap.js';
31
31
  import type { FloodStatusSchema } from '../capabilities/flood.cap.js';
32
32
  import type { GasStatusSchema } from '../capabilities/gas.cap.js';
33
+ import type { groupActiveCapability } from '../capabilities/group-active.cap.js';
33
34
  import type { groupCommandsCapability } from '../capabilities/group-commands.cap.js';
34
35
  import type { groupStatusCapability } from '../capabilities/group-status.cap.js';
35
36
  import type { HeatingValveStatusSchema } from '../capabilities/heating-valve.cap.js';
@@ -114,6 +115,7 @@ export type CapStatusTypeMap = {
114
115
  readonly 'feature-probe': z.infer<typeof FeatureProbeStatusSchema>;
115
116
  readonly 'flood': z.infer<typeof FloodStatusSchema>;
116
117
  readonly 'gas': z.infer<typeof GasStatusSchema>;
118
+ readonly 'group-active': z.infer<(typeof groupActiveCapability)['status']['schema']>;
117
119
  readonly 'group-commands': z.infer<(typeof groupCommandsCapability)['status']['schema']>;
118
120
  readonly 'group-status': z.infer<(typeof groupStatusCapability)['status']['schema']>;
119
121
  readonly 'heating-valve': z.infer<typeof HeatingValveStatusSchema>;
@@ -169,4 +171,4 @@ export type CapNameWithStatus = keyof CapStatusTypeMap;
169
171
  * aggregator to enumerate caps whose `status` should be polled +
170
172
  * streamed via `subscribeDeviceStatusAggregate`.
171
173
  */
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"];
174
+ 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-active", "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"];
@@ -72,6 +72,7 @@ export { featureProbeCapability } from '../capabilities/feature-probe.cap.js';
72
72
  export { filesystemBrowseCapability } from '../capabilities/filesystem-browse.cap.js';
73
73
  export { floodCapability } from '../capabilities/flood.cap.js';
74
74
  export { gasCapability } from '../capabilities/gas.cap.js';
75
+ export { groupActiveCapability } from '../capabilities/group-active.cap.js';
75
76
  export { groupCommandsCapability } from '../capabilities/group-commands.cap.js';
76
77
  export { groupStatusCapability } from '../capabilities/group-status.cap.js';
77
78
  export { heatingValveCapability } from '../capabilities/heating-valve.cap.js';
@@ -257,6 +258,7 @@ export declare const CAPABILITY_NAMES: {
257
258
  readonly filesystemBrowse: 'filesystem-browse';
258
259
  readonly flood: 'flood';
259
260
  readonly gas: 'gas';
261
+ readonly groupActive: 'group-active';
260
262
  readonly groupCommands: 'group-commands';
261
263
  readonly groupStatus: 'group-status';
262
264
  readonly heatingValve: 'heating-valve';
@@ -455,6 +457,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
455
457
  readonly filesystemBrowse: TRouter;
456
458
  readonly flood: TRouter;
457
459
  readonly gas: TRouter;
460
+ readonly groupActive: TRouter;
458
461
  readonly groupCommands: TRouter;
459
462
  readonly groupStatus: TRouter;
460
463
  readonly heatingValve: TRouter;
@@ -566,8 +569,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
566
569
  readonly zoneRules: TRouter;
567
570
  readonly zones: TRouter;
568
571
  }
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'];
572
+ /** Capability names whose mode is `singleton` (150 caps). */
573
+ 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-active', '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'];
571
574
  /** Union of singleton capability names (literal string union). */
572
575
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
573
576
  /** Capability names whose mode is `collection` (35 caps). */
@@ -27,6 +27,7 @@ import { fanControlCapability } from '../capabilities/fan-control.cap.js';
27
27
  import { featureProbeCapability } from '../capabilities/feature-probe.cap.js';
28
28
  import { floodCapability } from '../capabilities/flood.cap.js';
29
29
  import { gasCapability } from '../capabilities/gas.cap.js';
30
+ import { groupActiveCapability } from '../capabilities/group-active.cap.js';
30
31
  import { groupCommandsCapability } from '../capabilities/group-commands.cap.js';
31
32
  import { groupStatusCapability } from '../capabilities/group-status.cap.js';
32
33
  import { heatingValveCapability } from '../capabilities/heating-valve.cap.js';
@@ -114,6 +115,7 @@ export interface DeviceLocalState {
114
115
  featureProbe: InferRuntimeState<typeof featureProbeCapability>;
115
116
  flood: InferRuntimeState<typeof floodCapability>;
116
117
  gas: InferRuntimeState<typeof gasCapability>;
118
+ groupActive: InferRuntimeState<typeof groupActiveCapability>;
117
119
  groupCommands: InferRuntimeState<typeof groupCommandsCapability>;
118
120
  groupStatus: InferRuntimeState<typeof groupStatusCapability>;
119
121
  heatingValve: InferRuntimeState<typeof heatingValveCapability>;
@@ -211,6 +213,7 @@ export interface CapNameToRuntimeStateMap {
211
213
  'feature-probe': InferRuntimeState<typeof featureProbeCapability>;
212
214
  'flood': InferRuntimeState<typeof floodCapability>;
213
215
  'gas': InferRuntimeState<typeof gasCapability>;
216
+ 'group-active': InferRuntimeState<typeof groupActiveCapability>;
214
217
  'group-commands': InferRuntimeState<typeof groupCommandsCapability>;
215
218
  'group-status': InferRuntimeState<typeof groupStatusCapability>;
216
219
  'heating-valve': InferRuntimeState<typeof heatingValveCapability>;
@@ -40,6 +40,7 @@ import type { fanControlCapability } from '../capabilities/fan-control.cap.js';
40
40
  import type { featureProbeCapability } from '../capabilities/feature-probe.cap.js';
41
41
  import type { floodCapability } from '../capabilities/flood.cap.js';
42
42
  import type { gasCapability } from '../capabilities/gas.cap.js';
43
+ import type { groupActiveCapability } from '../capabilities/group-active.cap.js';
43
44
  import type { groupCommandsCapability } from '../capabilities/group-commands.cap.js';
44
45
  import type { groupStatusCapability } from '../capabilities/group-status.cap.js';
45
46
  import type { heatingValveCapability } from '../capabilities/heating-valve.cap.js';
@@ -148,6 +149,7 @@ export interface DeviceProxyState {
148
149
  readonly featureProbe: SliceHandle<InferRuntimeState<typeof featureProbeCapability>>;
149
150
  readonly flood: SliceHandle<InferRuntimeState<typeof floodCapability>>;
150
151
  readonly gas: SliceHandle<InferRuntimeState<typeof gasCapability>>;
152
+ readonly groupActive: SliceHandle<InferRuntimeState<typeof groupActiveCapability>>;
151
153
  readonly groupCommands: SliceHandle<InferRuntimeState<typeof groupCommandsCapability>>;
152
154
  readonly groupStatus: SliceHandle<InferRuntimeState<typeof groupStatusCapability>>;
153
155
  readonly heatingValve: SliceHandle<InferRuntimeState<typeof heatingValveCapability>>;
@@ -252,6 +254,7 @@ export interface DeviceProxy {
252
254
  readonly featureProbe?: InferDeviceProxyCap<typeof featureProbeCapability>;
253
255
  readonly flood?: InferDeviceProxyCap<typeof floodCapability>;
254
256
  readonly gas?: InferDeviceProxyCap<typeof gasCapability>;
257
+ readonly groupActive?: InferDeviceProxyCap<typeof groupActiveCapability>;
255
258
  readonly groupCommands?: InferDeviceProxyCap<typeof groupCommandsCapability>;
256
259
  readonly groupStatus?: InferDeviceProxyCap<typeof groupStatusCapability>;
257
260
  readonly heatingValve?: InferDeviceProxyCap<typeof heatingValveCapability>;
@@ -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: 94 device-scoped capabilities.
8
+ * Coverage: 95 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
- * 42 caps with series (76 series), 32 caps answered `'none'`.
4
+ * 42 caps with series (76 series), 33 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: 1386 method paths across 184 capabilities.
9
+ * Coverage: 1387 method paths across 185 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: 549 methods carry a device reference, of which
9
+ * Coverage: 550 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`. 75 caps: 39 `restored`, 36 `session`.
14
+ * `runtimeState`. 76 caps: 39 `restored`, 37 `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.