@camstack/types 1.2.446 → 1.2.448

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 (35) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/addon.js +3 -2
  3. package/dist/addon.mjs +3 -2
  4. package/dist/automation/action.d.ts +2 -0
  5. package/dist/automation/index.d.ts +3 -1
  6. package/dist/automation/normalize-units.d.ts +59 -0
  7. package/dist/automation/recipe.d.ts +15 -1
  8. package/dist/capabilities/action-source.cap.d.ts +1 -0
  9. package/dist/capabilities/actions.cap.d.ts +32 -1
  10. package/dist/capabilities/core-blocks.cap.d.ts +17 -0
  11. package/dist/capabilities/index.d.ts +3 -1
  12. package/dist/capabilities/remote-layout-components.cap.d.ts +81 -0
  13. package/dist/capabilities/remote.cap.d.ts +2 -0
  14. package/dist/client.js +1 -2
  15. package/dist/client.mjs +1 -2
  16. package/dist/device/cap-vocabulary/types.d.ts +9 -1
  17. package/dist/generated/addon-api.d.ts +15 -0
  18. package/dist/generated/capability-router-map.d.ts +5 -2
  19. package/dist/generated/collection-array-methods.d.ts +1 -1
  20. package/dist/generated/method-access-map.d.ts +1 -1
  21. package/dist/generated/system-proxy.d.ts +2 -0
  22. package/dist/index.d.ts +6 -1
  23. package/dist/index.js +1786 -733
  24. package/dist/index.mjs +1750 -734
  25. package/dist/interfaces/event-bus.d.ts +9 -0
  26. package/dist/remote/remote-builtin-components.d.ts +15 -0
  27. package/dist/remote/remote-components.d.ts +109 -0
  28. package/dist/remote/remote-config.d.ts +121 -0
  29. package/dist/remote/remote-layout-ops.d.ts +68 -0
  30. package/dist/{sleep-6eG9C8Xl.mjs → sleep-63gM_1JR.mjs} +1 -0
  31. package/dist/{sleep-UXDHn-oJ.js → sleep-BSPhInRm.js} +1 -0
  32. package/dist/units/index.d.ts +3 -0
  33. package/dist/units/quantity-input.d.ts +58 -0
  34. package/dist/units/quantity-units.d.ts +8 -0
  35. package/package.json +1 -1
package/dist/client.mjs CHANGED
@@ -28964,6 +28964,7 @@ function createSystemProxy(api) {
28964
28964
  sendCommand: (input) => dispatch("remote", "sendCommand", "mutation", input),
28965
28965
  sendMediaCommand: (input) => dispatch("remote", "sendMediaCommand", "mutation", input)
28966
28966
  },
28967
+ remoteLayoutComponents: { listComponents: (input) => dispatch("remoteLayoutComponents", "listComponents", "query", input) },
28967
28968
  serverManagement: {
28968
28969
  getServerPackageStatus: (input) => dispatch("serverManagement", "getServerPackageStatus", "query", input),
28969
28970
  checkServerUpdate: (input) => dispatch("serverManagement", "checkServerUpdate", "mutation", input),
@@ -31741,8 +31742,6 @@ var NC_TEMPLATE_VARS = [
31741
31742
  * delete it from here then, and the served catalog names it again.
31742
31743
  */
31743
31744
  var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
31744
- "node-restarting",
31745
- "node-updating",
31746
31745
  "alert-critical",
31747
31746
  "alert-error",
31748
31747
  "alert-critical-resolved",
@@ -20,6 +20,7 @@ import type * as CapRegistry from '../../generated/capability-router-map.js';
20
20
  import type { EventCategory } from '../../enums/event-category.js';
21
21
  import type { ICON_KEYS } from '../icon-catalog.generated.js';
22
22
  import type { DeviceRole, DeviceType } from '../device-type.js';
23
+ import type { ReadingQuantity } from '../../units/quantity.js';
23
24
  /** One catalog icon key (lucide id) — the same vocabulary as `IconKey`. */
24
25
  export type VocabIcon = (typeof ICON_KEYS)[number];
25
26
  /** A human string in every language the map carries. */
@@ -82,13 +83,20 @@ export interface EnumOffer {
82
83
  readonly kind: 'enum';
83
84
  readonly values: readonly VocabChoice[];
84
85
  }
85
- /** A number, within the Zod input's bounds. `unit` is a display suffix. */
86
+ /**
87
+ * A number, within the Zod input's bounds. With `quantity` the number is a
88
+ * physical quantity: `unit` is the unit the METHOD expects (what its input
89
+ * declares with `paramMeta`) and a client lets the person pick any unit of
90
+ * that quantity (`unitsForQuantity`), converting to `unit` before the call.
91
+ * Without `quantity`, `unit` is only a display suffix.
92
+ */
86
93
  export interface NumberOffer {
87
94
  readonly kind: 'number';
88
95
  readonly min?: number;
89
96
  readonly max?: number;
90
97
  readonly step?: number;
91
98
  readonly unit?: string;
99
+ readonly quantity?: ReadingQuantity;
92
100
  }
93
101
  /** Free text. */
94
102
  export interface TextOffer {
@@ -119,6 +119,7 @@ import type { recordingOnboardCapability } from '../capabilities/recording-onboa
119
119
  import type { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
120
120
  import type { recordingCapability } from '../capabilities/recording.cap.js';
121
121
  import type { recordsCapability } from '../capabilities/records.cap.js';
122
+ import type { remoteLayoutComponentsCapability } from '../capabilities/remote-layout-components.cap.js';
122
123
  import type { remoteCapability } from '../capabilities/remote.cap.js';
123
124
  import type { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
124
125
  import type { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
@@ -8927,6 +8928,20 @@ export type AppRouter = TrpcCoreRouter<{
8927
8928
  meta: object;
8928
8929
  }>;
8929
8930
  }>>;
8931
+ remoteLayoutComponents: TRPCBuiltRouter<{
8932
+ ctx: TrpcContext;
8933
+ meta: object;
8934
+ errorShape: AugmentedErrorShape;
8935
+ transformer: true;
8936
+ }, TRPCDecorateCreateRouterOptions<{
8937
+ listComponents: TRPCQueryProcedure<{
8938
+ input: {
8939
+ [x: string]: unknown;
8940
+ } & z.input<typeof remoteLayoutComponentsCapability.methods.listComponents.input>;
8941
+ output: z.infer<typeof remoteLayoutComponentsCapability.methods.listComponents.output>;
8942
+ meta: object;
8943
+ }>;
8944
+ }>>;
8930
8945
  runningState: TRPCBuiltRouter<{
8931
8946
  ctx: TrpcContext;
8932
8947
  meta: object;
@@ -146,6 +146,7 @@ export { recordingOnboardCapability } from '../capabilities/recording-onboard.ca
146
146
  export { recordingSignalCapability } from '../capabilities/recording-signal.cap.js';
147
147
  export { recordsCapability } from '../capabilities/records.cap.js';
148
148
  export { remoteCapability } from '../capabilities/remote.cap.js';
149
+ export { remoteLayoutComponentsCapability } from '../capabilities/remote-layout-components.cap.js';
149
150
  export { runningStateCapability } from '../capabilities/running-state.cap.js';
150
151
  export { sceneMonitorCapability } from '../capabilities/scene-monitor.cap.js';
151
152
  export { scriptRunnerCapability } from '../capabilities/script-runner.cap.js';
@@ -339,6 +340,7 @@ export declare const CAPABILITY_NAMES: {
339
340
  readonly recordingSignal: 'recording-signal';
340
341
  readonly records: 'records';
341
342
  readonly remote: 'remote';
343
+ readonly remoteLayoutComponents: 'remote-layout-components';
342
344
  readonly runningState: 'running-state';
343
345
  readonly sceneMonitor: 'scene-monitor';
344
346
  readonly scriptRunner: 'script-runner';
@@ -545,6 +547,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
545
547
  readonly recordingSignal: TRouter;
546
548
  readonly records: TRouter;
547
549
  readonly remote: TRouter;
550
+ readonly remoteLayoutComponents: TRouter;
548
551
  readonly runningState: TRouter;
549
552
  readonly sceneMonitor: TRouter;
550
553
  readonly scriptRunner: TRouter;
@@ -594,8 +597,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
594
597
  export declare const SINGLETON_CAPABILITY_NAMES: readonly ['accessories', 'actions', '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', 'ir-transmitter', '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', 'pet-fountain', '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', 'remote', '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'];
595
598
  /** Union of singleton capability names (literal string union). */
596
599
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
597
- /** Capability names whose mode is `collection` (38 caps). */
598
- export declare const COLLECTION_CAPABILITY_NAMES: readonly ['action-source', 'addon-pages-source', 'addon-routes', 'addon-widgets-source', 'auth-provider', 'broker', 'calendar-source', 'connection-test', 'custom-model-registry', 'data-store-provider', 'device-adoption', 'device-export', 'device-extension', 'device-provider', 'device-removal-hook', 'embedding-encoder', 'failure-contribution', 'llm', 'load-contribution', 'log-channels', 'log-destination', 'login-method', 'mesh-network', 'mqtt-broker', 'network-access', 'node-removal-hook', 'notification-output', 'oauth-integration', 'recording', 'smtp-provider', 'storage-evictable', 'storage-occupancy', 'storage-provider', 'template', 'training-provider', 'turn-provider', 'user-passkeys', 'videoclips'];
600
+ /** Capability names whose mode is `collection` (39 caps). */
601
+ export declare const COLLECTION_CAPABILITY_NAMES: readonly ['action-source', 'addon-pages-source', 'addon-routes', 'addon-widgets-source', 'auth-provider', 'broker', 'calendar-source', 'connection-test', 'custom-model-registry', 'data-store-provider', 'device-adoption', 'device-export', 'device-extension', 'device-provider', 'device-removal-hook', 'embedding-encoder', 'failure-contribution', 'llm', 'load-contribution', 'log-channels', 'log-destination', 'login-method', 'mesh-network', 'mqtt-broker', 'network-access', 'node-removal-hook', 'notification-output', 'oauth-integration', 'recording', 'remote-layout-components', 'smtp-provider', 'storage-evictable', 'storage-occupancy', 'storage-provider', 'template', 'training-provider', 'turn-provider', 'user-passkeys', 'videoclips'];
599
602
  /** Union of collection capability names (literal string union). */
600
603
  export type CollectionCapabilityName = typeof COLLECTION_CAPABILITY_NAMES[number];
601
604
  /** Capability mode lookup at runtime — mirrors the `.cap.ts` definitions. */
@@ -8,7 +8,7 @@
8
8
  * barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
9
9
  * forked runner. See docs/decisions/adr-0028.md.
10
10
  *
11
- * Coverage: 28 collection caps, 48 array methods.
11
+ * Coverage: 29 collection caps, 49 array methods.
12
12
  */
13
13
  export declare const COLLECTION_ARRAY_METHODS: Readonly<Record<string, readonly string[]>>;
14
14
  /**
@@ -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: 1430 method paths across 192 capabilities.
9
+ * Coverage: 1431 method paths across 193 capabilities.
10
10
  */
11
11
  import type { MethodRole } from '../auth/viewer-access.js';
12
12
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
@@ -46,6 +46,7 @@ import type { recordEntriesCapability } from '../capabilities/record-entries.cap
46
46
  import type { recordingArchiveCapability } from '../capabilities/recording-archive.cap.js';
47
47
  import type { recordingExportCapability } from '../capabilities/recording-export.cap.js';
48
48
  import type { remoteCapability } from '../capabilities/remote.cap.js';
49
+ import type { remoteLayoutComponentsCapability } from '../capabilities/remote-layout-components.cap.js';
49
50
  import type { serverManagementCapability } from '../capabilities/server-management.cap.js';
50
51
  import type { settingsStoreCapability } from '../capabilities/settings-store.cap.js';
51
52
  import type { storageCapability } from '../capabilities/storage.cap.js';
@@ -113,6 +114,7 @@ export interface SystemProxy {
113
114
  readonly recordingArchive: Pick<InferProvider<typeof recordingArchiveCapability>, 'getAvailabilityBatch' | 'getDaysWithRecordingsBatch' | 'getStorageUsage' | 'listOpsLog' | 'pauseForStorageMigration' | 'resumeForStorageMigration' | 'refreshStorageLocationsForMigration' | 'startStorageMigrationMove' | 'getStorageMigrationMoveStatus' | 'cancelStorageMigrationMove' | 'relocateFootage' | 'listRelocateJobs' | 'getRelocateResidue' | 'reconcileLedgerAgainstDisk' | 'cancelRelocateJob' | 'planStorageRebalance' | 'startStorageRebalance' | 'getPlacement' | 'setDevicePlacement'>;
114
115
  readonly recordingExport: Pick<InferProvider<typeof recordingExportCapability>, 'createExport' | 'getExport' | 'cancelExport' | 'deleteExport' | 'getDownloadUrl' | 'readExportBytes'>;
115
116
  readonly remote: Pick<InferProvider<typeof remoteCapability>, 'getConfig' | 'setConfig' | 'listCommands' | 'sendCommand' | 'sendMediaCommand'>;
117
+ readonly remoteLayoutComponents: Pick<InferProvider<typeof remoteLayoutComponentsCapability>, 'listComponents'>;
116
118
  readonly serverManagement: Pick<InferProvider<typeof serverManagementCapability>, 'getServerPackageStatus' | 'checkServerUpdate' | 'applyServerUpdate' | 'installDesktopUpdate' | 'rollbackServerUpdate' | 'restartServer' | 'getLaunchOverrides' | 'setLaunchOverrides'>;
117
119
  readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'upsert' | 'upsertMany' | 'insert' | 'insertMany' | 'transact' | 'update' | 'delete' | 'deleteWhere' | 'updateWhere' | 'count' | 'aggregate' | 'histogram' | 'isEmpty' | 'declareCollection'>;
118
120
  readonly storage: Pick<InferProvider<typeof storageCapability>, 'resolve' | 'write' | 'read' | 'exists' | 'list' | 'delete' | 'getAvailableSpace' | 'beginUpload' | 'writeChunk' | 'finalizeUpload' | 'abortUpload' | 'beginDownload' | 'readChunk' | 'endDownload' | 'listLocations' | 'listLocationDeclarations' | 'upsertLocation' | 'deleteLocation' | 'listDrainProgress' | 'testLocation' | 'listProviders' | 'testConfig'>;
package/dist/index.d.ts CHANGED
@@ -163,8 +163,10 @@ export { APP_FLOW_DEFAULT_REDIRECT, APP_FLOW_REFUSAL_MESSAGES, APP_FLOW_STATE_PR
163
163
  export { SSO_STATE_COOKIE, SSO_STATE_COOKIE_MAX_AGE_SEC } from './auth/sso-state.js';
164
164
  export { buildDeviceEnrollmentLink, buildDeviceSignatureMessage, type CompleteEnrollmentInput, CompleteEnrollmentInputSchema, type CompleteEnrollmentOutput, CompleteEnrollmentOutputSchema, DEVICE_CERT_RENEW_WINDOW_DAYS, DEVICE_CERT_SIGNATURE, DEVICE_CERT_VALIDITY_DAYS, DEVICE_ENROLLMENT_TTL_MS, DEVICE_NONCE_TTL_MS, DEVICE_SAN_CREDENTIAL_PREFIX, DEVICE_SAN_USER_PREFIX, DEVICE_SIGNATURE_MESSAGE_VERSION, type DeviceCertificateLoginMethod, DeviceCertificateLoginMethodSchema, type DeviceChallenge, DeviceChallengeSchema, type DeviceCredential, DeviceCredentialSchema, type DeviceCredentialStatus, DeviceCredentialStatusSchema, type DevicePlatform, DevicePlatformSchema, type DeviceProofInput, DeviceProofInputSchema, type CompleteEnrollmentResult, CompleteEnrollmentResultSchema, DEFINITIVE_DEVICE_REFUSALS, DEVICE_DEFINITIVE_REFUSALS_BEFORE_DELETE, DEVICE_REFRESH_REFUSAL_PREFIX, deviceRefusalFromMessage, type DeviceChallengeResult, DeviceChallengeResultSchema, DeviceEnrollProofSchema, type DeviceRefusal, type DeviceRefusalReason, DeviceRefusalReasonSchema, DeviceRefusalSchema, type DeviceRevoker, type EnrollSelfInput, EnrollSelfInputSchema, formatDeviceRevoker, isDefinitiveDeviceRefusal, type RenewDeviceCertificateResult, RenewDeviceCertificateResultSchema, type RevokeOwnDeviceCertificateResult, RevokeOwnDeviceCertificateResultSchema, type DeviceSignaturePurpose, DeviceSignaturePurposeSchema, type RenewDeviceCertificateOutput, RenewDeviceCertificateOutputSchema, type StartEnrollmentOutput, StartEnrollmentOutputSchema, parseDeviceEnrollmentLink, } from './auth/device-certificate.js';
165
165
  export { advertisedHubOrigins, claimedRequestOrigins, normalizeOrigin, pickRequestOrigin, type RequestHeaders, requestMountPrefix, } from './auth/request-origin.js';
166
- export type { ActionStep, AutomationAction, AutomationCondition, AutomationConditionAll, AutomationConditionAny, AutomationConditionExpression, AutomationConditionLeaf, AutomationConditionStationaryPresent, AutomationConditionNot, AutomationConditionOperator, AutomationConditionTraceNode, AutomationRecipe, AutomationRunMode, AutomationRunOutcome, AutomationRunTrace, AutomationRunVerdict, AutomationStateDoc, AutomationStepTrace, AutomationTrigger, AutomationTriggerTrace, ConditionEvaluation, ConditionReader, DetectionDecision, DetectionTrigger, DetectionVars, GenerateAutomationBlockInput, MirrorRefreshFetchers, MirrorRefreshReport, MirrorSource, StationaryChangedInput, StationaryDecision, StationaryTrigger, StationaryVars, TraceNodeOutcome, TraceValue, TrackLifecycleInput, } from './automation/index.js';
166
+ export type { ActionStep, AutomationAction, AutomationCapStep, AutomationCondition, AutomationConditionAll, AutomationConditionAny, AutomationConditionExpression, AutomationConditionLeaf, AutomationConditionStationaryPresent, AutomationConditionNot, AutomationConditionOperator, AutomationConditionTraceNode, AutomationRecipe, AutomationRunMode, AutomationRunOutcome, AutomationRunTrace, AutomationRunVerdict, AutomationStateDoc, AutomationStepTrace, AutomationTrigger, AutomationTriggerTrace, ConditionEvaluation, ConditionReader, DetectionDecision, DetectionTrigger, DetectionVars, GenerateAutomationBlockInput, MirrorRefreshFetchers, MirrorRefreshReport, MirrorSource, StationaryChangedInput, StationaryDecision, StationaryTrigger, StationaryVars, TraceNodeOutcome, TraceValue, TrackLifecycleInput, } from './automation/index.js';
167
167
  export { ActionStepSchema, AutomationActionSchema, AutomationCapStepSchema, AutomationWaitStepSchema, EMPTY_AUTOMATION_STATE, mergeSkipTraces, AutomationConditionOperatorSchema, AutomationConditionSchema, AutomationConditionTraceNodeSchema, AutomationRecipeSchema, AutomationRunModeSchema, AutomationRunOutcomeSchema, AutomationRunTraceSchema, AutomationRunVerdictSchema, AutomationStateDocSchema, AutomationStepTraceSchema, AutomationTriggerSchema, AutomationTriggerTraceSchema, appendTrace, buildTriggerTrace, collectMirrorSources, ConditionMirror, conditionDepth, countConditionLeaves, DEFAULT_TRACE_KEEP, DetectionTriggerFilter, detectionClassMatches, evaluateConditionTree, evaluateStationaryTrigger, generateAutomationBlock, isSkippedTrace, MAX_CONDITION_DEPTH, MAX_CONDITION_LEAVES, MAX_TRACE_KEEP, RunGate, skipSignature, TraceNodeOutcomeSchema, TraceValueSchema, validateRecipeBounds, } from './automation/index.js';
168
+ export { UnitWarningSchema, capUnitResolver, normalizeActionUnits, normalizeConditionUnits, normalizeRecipeUnits, } from './automation/index.js';
169
+ export type { UnitResolver, UnitWarning, UnitsNormalized } from './automation/index.js';
168
170
  export * from './automation/action.js';
169
171
  export * from './automation/step-runner.js';
170
172
  export * from './automation/export-entities.js';
@@ -173,6 +175,9 @@ export * from './capabilities/index.js';
173
175
  export * from './running-state/defaults.js';
174
176
  export * from './remote/remote-roles.js';
175
177
  export * from './remote/remote-config.js';
178
+ export * from './remote/remote-components.js';
179
+ export * from './remote/remote-layout-ops.js';
180
+ export * from './remote/remote-builtin-components.js';
176
181
  export * from './remote/smartir-draft.js';
177
182
  export * from './template/template-kinds.js';
178
183
  export * from './running-state/from-operation.js';