@camstack/types 1.2.376 → 1.2.377

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.js CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_sleep = require("./sleep-Dq0Uyeh0.js");
3
3
  const require_event_category = require("./event-category-T43rdQWR.js");
4
- const require_err_msg = require("./err-msg-Ls8Q6dHO.js");
4
+ const require_err_msg = require("./err-msg-Bb-s4Xuj.js");
5
5
  //#region src/generated/cap-input-defaults.ts
6
6
  /**
7
7
  * AUTO-GENERATED by scripts/generate-cap-input-defaults.ts — DO NOT EDIT.
@@ -771,6 +771,18 @@ var CAP_STATE_LEAVES = Object.freeze({
771
771
  {
772
772
  "path": "swingHorizontal",
773
773
  "valueType": "boolean"
774
+ },
775
+ {
776
+ "path": "minTemp",
777
+ "valueType": "number"
778
+ },
779
+ {
780
+ "path": "maxTemp",
781
+ "valueType": "number"
782
+ },
783
+ {
784
+ "path": "tempStep",
785
+ "valueType": "number"
774
786
  }
775
787
  ],
776
788
  "color": [
package/dist/addon.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { $t as normalizeAddonInitResult, An as isSecretFieldView, Bt as registerKnownSecret, D as collectZodSecretPaths, Dn as SECRET_CLEAR, F as viewerUiCapability, Ft as createSecretsAccess, Gt as PEER_BYTES_STALL_MS, Ht as shortSecretRefHash, I as DEVICE_CHILDREN_BATCH_MAX, It as MIN_SCRUBBED_LENGTH, Jt as DATAPLANE_SECRET_HEADER, Kt as PEER_BYTES_TICKET_TTL_MS, Lt as clearKnownSecrets, Mn as isSecretMarkerLike, Nn as makeSecretMarker, Nt as resolveSecretViewsIn, O as isZodSecret, On as classifySecretWrite, P as deviceOpsCapability, Pn as toSecretFieldView, Pt as REVALIDATE_AFTER_MS, Rt as forgetKnownSecret, S as createEventBusSliceSource, Ut as PEER_BYTES_CHUNK_BYTES, V as adminUiCapability, Vt as scrubKnownSecrets, Wt as PEER_BYTES_MAX_OUTSTANDING, Xt as DisposerChain, Y as expandCapMethods, Zt as BaseAddon, _ as readErrorI18n, at as MODEL_FORMATS, b as isDeviceScopedCap, c as asString, cn as SECRET_REF_SCHEME, d as parseJsonUnknown, dn as formatSecretScope, f as hfModelUrl, fn as globalSecretScope, g as ErrorI18nPayloadSchema, hn as parseSecretRef, j as HF_REPO, jn as isSecretMarker, kn as isSecretClear, ln as arrayItemFieldPath, mn as normalizeSecretOwner, nt as nodePin, o as asJsonObject, ot as ReadinessRegistry, p as BOOT_RECOVERY_BACKOFF_MS, pn as isSecretRef, r as maskUrlCredentials, rt as readNodePin, st as ReadinessTimeoutError, t as sleep, un as buildSecretRef, ut as scopeKey, vn as createEvent, x as createDeviceProxy, y as DEVICE_SCOPED_CAPS, yn as emitReadiness, z as describeCustomActions, zt as knownSecretCount } from "./sleep-bwsTj221.mjs";
2
2
  import { t as EventCategory } from "./event-category-C4hVnRo8.mjs";
3
- import { a as DeviceType, t as errMsg } from "./err-msg-DLerKiVO.mjs";
3
+ import { a as DeviceType, t as errMsg } from "./err-msg--2RrYiLO.mjs";
4
4
  //#region src/generated/cap-input-defaults.ts
5
5
  /**
6
6
  * AUTO-GENERATED by scripts/generate-cap-input-defaults.ts — DO NOT EDIT.
@@ -770,6 +770,18 @@ var CAP_STATE_LEAVES = Object.freeze({
770
770
  {
771
771
  "path": "swingHorizontal",
772
772
  "valueType": "boolean"
773
+ },
774
+ {
775
+ "path": "minTemp",
776
+ "valueType": "number"
777
+ },
778
+ {
779
+ "path": "maxTemp",
780
+ "valueType": "number"
781
+ },
782
+ {
783
+ "path": "tempStep",
784
+ "valueType": "number"
773
785
  }
774
786
  ],
775
787
  "color": [
@@ -73,6 +73,9 @@ export declare const ClimateControlStatusSchema: z.ZodObject<{
73
73
  currentHumidity: z.ZodNullable<z.ZodNumber>;
74
74
  swingVertical: z.ZodNullable<z.ZodBoolean>;
75
75
  swingHorizontal: z.ZodNullable<z.ZodBoolean>;
76
+ minTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
77
+ maxTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
78
+ tempStep: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
76
79
  lastFetchedAt: z.ZodNumber;
77
80
  }, z.core.$strip>;
78
81
  export type ClimateControlStatus = z.infer<typeof ClimateControlStatusSchema>;
@@ -157,6 +160,9 @@ export declare const climateControlCapability: {
157
160
  currentHumidity: z.ZodNullable<z.ZodNumber>;
158
161
  swingVertical: z.ZodNullable<z.ZodBoolean>;
159
162
  swingHorizontal: z.ZodNullable<z.ZodBoolean>;
163
+ minTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
164
+ maxTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
165
+ tempStep: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
160
166
  lastFetchedAt: z.ZodNumber;
161
167
  }, z.core.$strip>;
162
168
  readonly kind: 'push';
@@ -197,6 +203,9 @@ export declare const climateControlCapability: {
197
203
  currentHumidity: z.ZodNullable<z.ZodNumber>;
198
204
  swingVertical: z.ZodNullable<z.ZodBoolean>;
199
205
  swingHorizontal: z.ZodNullable<z.ZodBoolean>;
206
+ minTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
207
+ maxTemp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
208
+ tempStep: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
200
209
  lastFetchedAt: z.ZodNumber;
201
210
  }, z.core.$strip>;
202
211
  /**
@@ -1,4 +1,4 @@
1
- const require_err_msg = require("./err-msg-Ls8Q6dHO.js");
1
+ const require_err_msg = require("./err-msg-Bb-s4Xuj.js");
2
2
  let zod = require("zod");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/ffmpeg/invocation.ts
@@ -1,4 +1,4 @@
1
- import { a as DeviceType, i as DeviceRole } from "./err-msg-DLerKiVO.mjs";
1
+ import { a as DeviceType, i as DeviceRole } from "./err-msg--2RrYiLO.mjs";
2
2
  import { z } from "zod";
3
3
  import { createHash } from "node:crypto";
4
4
  //#region src/ffmpeg/invocation.ts
@@ -269,6 +269,9 @@ export declare enum DeviceRole {
269
269
  /** Virtual HA toggle (input_boolean.*) — distinguishable from a
270
270
  * real Switch device for UI rendering / export adapters. */
271
271
  BinaryHelper = "binary-helper",
272
+ /** A smart plug: a `switch` whose source says it is an outlet (HA
273
+ * `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
274
+ Outlet = "outlet",
272
275
  /** Generic motion / occupancy / moving event source. Distinct from
273
276
  * the camera accessory PirSensor role: that one is a camera child;
274
277
  * this is a standalone HA / 3rd-party motion sensor. */
@@ -273,6 +273,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
273
273
  /** Virtual HA toggle (input_boolean.*) — distinguishable from a
274
274
  * real Switch device for UI rendering / export adapters. */
275
275
  DeviceRole["BinaryHelper"] = "binary-helper";
276
+ /** A smart plug: a `switch` whose source says it is an outlet (HA
277
+ * `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
278
+ DeviceRole["Outlet"] = "outlet";
276
279
  /** Generic motion / occupancy / moving event source. Distinct from
277
280
  * the camera accessory PirSensor role: that one is a camera child;
278
281
  * this is a standalone HA / 3rd-party motion sensor. */
@@ -273,6 +273,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
273
273
  /** Virtual HA toggle (input_boolean.*) — distinguishable from a
274
274
  * real Switch device for UI rendering / export adapters. */
275
275
  DeviceRole["BinaryHelper"] = "binary-helper";
276
+ /** A smart plug: a `switch` whose source says it is an outlet (HA
277
+ * `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
278
+ DeviceRole["Outlet"] = "outlet";
276
279
  /** Generic motion / occupancy / moving event source. Distinct from
277
280
  * the camera accessory PirSensor role: that one is a camera child;
278
281
  * this is a standalone HA / 3rd-party motion sensor. */
@@ -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, 71 caps with 341 state leaves.
8
+ * Coverage: 1 advance-derived caps, 71 caps with 344 state leaves.
9
9
  */
10
10
  /** A bindable scalar in a capability's runtime state. */
11
11
  export interface CapStateLeaf {
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_sleep = require("./sleep-Dq0Uyeh0.js");
3
3
  const require_event_category = require("./event-category-T43rdQWR.js");
4
- const require_composition = require("./composition-DIp0uE_b.js");
4
+ const require_composition = require("./composition-CUAOHZ38.js");
5
5
  const require_node_color = require("./node-color.js");
6
- const require_err_msg = require("./err-msg-Ls8Q6dHO.js");
6
+ const require_err_msg = require("./err-msg-Bb-s4Xuj.js");
7
7
  const require_enums = require("./enums.js");
8
8
  let zod = require("zod");
9
9
  //#region src/media/media-owner-key.ts
@@ -59701,6 +59701,12 @@ var ClimateControlStatusSchema = zod.z.object({
59701
59701
  /** Horizontal louver swing on/off. Null when the device has no
59702
59702
  * horizontal swing surface (gate with `DeviceFeature.ClimateSwingHorizontal`). */
59703
59703
  swingHorizontal: zod.z.boolean().nullable(),
59704
+ /** Lowest setpoint the device accepts, Celsius. Absent / null = not reported. */
59705
+ minTemp: zod.z.number().nullable().optional(),
59706
+ /** Highest setpoint the device accepts, Celsius. Absent / null = not reported. */
59707
+ maxTemp: zod.z.number().nullable().optional(),
59708
+ /** Setpoint granularity, Celsius (0.5, 1). Absent / null = not reported. */
59709
+ tempStep: zod.z.number().positive().nullable().optional(),
59704
59710
  /** Ms epoch when the slice was last updated (push or command). */
59705
59711
  lastFetchedAt: zod.z.number()
59706
59712
  });
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { $ as resolveCapMount, $t as normalizeAddonInitResult, A as HF_BASE_URL, An as isSecretFieldView, At as makeSourceBrokerId, B as deviceCustomAction, Bn as schemaDeclaresAnyField, Bt as registerKnownSecret, C as createLazyTrpcSource, Cn as collectHydratedFieldEntries, Ct as ProfileSlotSchema, D as collectZodSecretPaths, Dn as SECRET_CLEAR, Dt as SubscribeAudioChunksInputSchema, E as SECRET_META, En as resolveHydratedFieldValue, Et as StreamSourceSchema, F as viewerUiCapability, Fn as REDACTED_SECRET, Ft as createSecretsAccess, G as HISTORY_DEFAULT_MIN_INTERVAL_MS, Gt as PEER_BYTES_STALL_MS, H as DEFAULT_RUNTIME_STATE_DURABILITY, Hn as audioChunkBytesPerSample, Ht as shortSecretRefHash, I as DEVICE_CHILDREN_BATCH_MAX, In as collectKeychainStoredKeys, It as MIN_SCRUBBED_LENGTH, J as event, Jt as DATAPLANE_SECRET_HEADER, K as HISTORY_UNIT_LABELS, Kt as PEER_BYTES_TICKET_TTL_MS, L as customAction, Ln as collectSecretConfigKeys, Lt as clearKnownSecrets, M as RUNTIME_DEFAULTS, Mn as isSecretMarkerLike, Mt as selectAssignedProfileSlots, N as RawStateResultSchema, Nn as makeSecretMarker, Nt as resolveSecretViewsIn, O as isZodSecret, On as classifySecretWrite, Ot as SubscribeAudioChunksResultSchema, P as deviceOpsCapability, Pn as toSecretFieldView, Pt as REVALIDATE_AFTER_MS, Q as optionalMethod, Qt as classifyStoreError, R as defineCustomActions, Rn as isKeychainStoredField, Rt as forgetKnownSecret, S as createEventBusSliceSource, Sn as WELL_KNOWN_TAB_MAP, St as ProfileRtspEntrySchema, T as createSliceHandle, Tn as hydrateSchema, Tt as StreamSourceEntrySchema, U as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Un as expandAudioChunkToF32le, Ut as PEER_BYTES_CHUNK_BYTES, V as adminUiCapability, Vn as AUDIO_CHUNK_FORMATS, Vt as scrubKnownSecrets, W as DEVICE_STATUS_METHOD, Wn as isAudioChunkFormat, Wt as PEER_BYTES_MAX_OUTSTANDING, X as isDeviceConfigCap, Xt as DisposerChain, Y as expandCapMethods, Yt as SHARE_VIEW_KINDS, Z as method, Zt as BaseAddon, _ as readErrorI18n, _n as createDurableState, _t as CamStreamKindSchema, a as asJsonArray, an as collectSecretMarkerRefs, at as MODEL_FORMATS, b as isDeviceScopedCap, bn as isEvent, bt as DecodedAudioChunkSchema, c as asString, cn as SECRET_REF_SCHEME, ct as emitDownForOwnedCaps, d as parseJsonUnknown, dn as formatSecretScope, dt as AudioChunkFormatSchema, en as mergeSecretStatePaths, et as systemMethod, f as hfModelUrl, fn as globalSecretScope, ft as AudioStreamPickSchema, g as ErrorI18nPayloadSchema, gn as normalizeNodeId, gt as CamProfileSchema, h as ErrorCodeSchema, hn as parseSecretRef, ht as CAM_PROFILE_ORDER, i as asBoolean, in as KeychainWriteRefusedError, it as toNodeId, j as HF_REPO, jn as isSecretMarker, jt as parseProfileBrokerId, k as DEFAULT_TOKEN_EXPIRY, kn as isSecretClear, kt as makeProfileBrokerId, l as parseJsonArray, ln as arrayItemFieldPath, lt as readinessKey, m as CamstackError, mn as normalizeSecretOwner, mt as BrokerStatusSchema, n as sleepCancellable, nn as secretTreeFromPaths, nt as nodePin, o as asJsonObject, on as resolveSecretMarkers, ot as ReadinessRegistry, p as BOOT_RECOVERY_BACKOFF_MS, pn as isSecretRef, pt as BrokerStatsSchema, q as PROVIDER_PIN_FIELD, qt as PeerBytesTicketSchema, r as maskUrlCredentials, rn as secretTreeFromSchema, rt as readNodePin, s as asNumber, sn as transformSecretWrite, st as ReadinessTimeoutError, t as sleep, tn as parseSecretStatePath, tt as CAP_NODE_PIN_CONTEXT_KEY, u as parseJsonObject, un as buildSecretRef, ut as scopeKey, v as userError, vn as createEvent, vt as CamStreamResolutionSchema, w as createMirrorSource, wn as collectHydratedFieldValues, wt as ProfileSlotStatusSchema, x as createDeviceProxy, xn as WELL_KNOWN_TABS, xt as FrameHandleSchema, y as DEVICE_SCOPED_CAPS, yn as emitReadiness, yt as CameraStreamSchema, z as describeCustomActions, zn as isSecretConfigField, zt as knownSecretCount } from "./sleep-bwsTj221.mjs";
2
2
  import { i as publicEventCategories, n as OWNER_ONLY_EVENT_CATEGORIES, r as isOwnerOnlyEventCategory, t as EventCategory } from "./event-category-C4hVnRo8.mjs";
3
- import { $ as MAX_EXPRESSION_AST_NODES, A as compositionFeatureEnabled, At as Fmp4BoxSplitter, B as createStatefulExpressionMemory, Bt as pickVideoEncoder, C as CompositionTargetSchema, Ct as FFMPEG_PATH_ENV, D as MAX_COMPOSITION_ITEMS, E as MAX_COMPOSITION_FIELDS_PER_FEATURE, F as featureFieldEntries, Ft as buildInputArgs, G as createExpressionScope, H as evaluateStatefulExpressionCall, I as featureSources, It as buildVideoArgs, J as compileExpressionSafe, K as evaluateAst, L as fieldReads, Lt as invocationFromEncodeProfile, M as compositionReadKey, Mt as audioPlanFromEncodeProfile, N as compositionSliceKey, Nt as buildAudioArgs, O as composedDeviceRef, P as compositionSourceKey, Pt as buildFfmpegArgs, Q as EXPRESSION_IDENTIFIER_RE, R as EXPRESSION_INJECTED_NOW, Rt as isSoftwareDecode, S as CompositionSourceRefSchema, St as sliceChangedAt, T as MAX_COMPOSITION_FEATURES, U as toExpressionValue, V as evaluateExpressionSource, Vt as resolveStreamMaps, W as validateExpressionSource, X as tokenize, Y as parseExpression, Z as EXPRESSION_COMPILE_CACHE_CAPACITY, _ as CompositionItemEntrySchema, _t as SOURCE_DEVICE_TYPES, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, at as EXPRESSION_BUILTINS, b as CompositionPassthroughFeatureSchema, bt as isSourceCap, c as CompositionCommandTargetSchema, ct as evaluateCount, d as CompositionFeatureSchema, dt as ExpressionEvalError, et as MAX_EXPRESSION_BINDINGS, f as CompositionFieldReadSchema, ft as ExpressionParseError, g as CompositionFromSourceSchema, gt as SOURCE_CAP_CHANGED_AT_FIELD, h as CompositionForwardCommandSchema, ht as SOURCE_CAP_ACTIVE_FIELD, i as COMPOSITION_ITEM_KEY_RE, it as RESERVED_BINDING_NAMES, j as compositionItemFieldPath, jt as AUDIO_PRESETS, k as composedDeviceStableId, kt as canonicalHash, l as CompositionExistingTargetSchema, lt as evaluateRose, m as CompositionFieldsFeatureSchema, mt as SOURCE_CAPS, n as COMPOSER_ADDON_ID, nt as MAX_EXPRESSION_EVAL_STEPS, o as CompositionBindingSchema, ot as EXPRESSION_BUILTIN_NAMES, p as CompositionFieldSourceSchema, pt as DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, q as compileExpression, r as COMPOSITION_ITEM_ARRAY_PATH, rt as MAX_EXPRESSION_SOURCE_LENGTH, s as CompositionCodeSourceSchema, st as disarmRoseMemory, t as COMPOSED_DEVICE_STABLE_ID_PREFIX, tt as MAX_EXPRESSION_CALL_ARGS, u as CompositionExpressionSourceSchema, ut as isStatefulBuiltin, v as CompositionLiteralBindingSchema, vt as evaluateSensorEdge, w as MAX_COMPOSITION_CODE_LENGTH, x as CompositionSchema, xt as sliceActiveValue, y as CompositionNewTargetSchema, yt as evaluateSensorLevelEdge, z as cloneStatefulExpressionMemory, zt as logBannerArgs } from "./composition-EQ9Ok0Ee.mjs";
3
+ import { $ as MAX_EXPRESSION_AST_NODES, A as compositionFeatureEnabled, At as Fmp4BoxSplitter, B as createStatefulExpressionMemory, Bt as pickVideoEncoder, C as CompositionTargetSchema, Ct as FFMPEG_PATH_ENV, D as MAX_COMPOSITION_ITEMS, E as MAX_COMPOSITION_FIELDS_PER_FEATURE, F as featureFieldEntries, Ft as buildInputArgs, G as createExpressionScope, H as evaluateStatefulExpressionCall, I as featureSources, It as buildVideoArgs, J as compileExpressionSafe, K as evaluateAst, L as fieldReads, Lt as invocationFromEncodeProfile, M as compositionReadKey, Mt as audioPlanFromEncodeProfile, N as compositionSliceKey, Nt as buildAudioArgs, O as composedDeviceRef, P as compositionSourceKey, Pt as buildFfmpegArgs, Q as EXPRESSION_IDENTIFIER_RE, R as EXPRESSION_INJECTED_NOW, Rt as isSoftwareDecode, S as CompositionSourceRefSchema, St as sliceChangedAt, T as MAX_COMPOSITION_FEATURES, U as toExpressionValue, V as evaluateExpressionSource, Vt as resolveStreamMaps, W as validateExpressionSource, X as tokenize, Y as parseExpression, Z as EXPRESSION_COMPILE_CACHE_CAPACITY, _ as CompositionItemEntrySchema, _t as SOURCE_DEVICE_TYPES, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, at as EXPRESSION_BUILTINS, b as CompositionPassthroughFeatureSchema, bt as isSourceCap, c as CompositionCommandTargetSchema, ct as evaluateCount, d as CompositionFeatureSchema, dt as ExpressionEvalError, et as MAX_EXPRESSION_BINDINGS, f as CompositionFieldReadSchema, ft as ExpressionParseError, g as CompositionFromSourceSchema, gt as SOURCE_CAP_CHANGED_AT_FIELD, h as CompositionForwardCommandSchema, ht as SOURCE_CAP_ACTIVE_FIELD, i as COMPOSITION_ITEM_KEY_RE, it as RESERVED_BINDING_NAMES, j as compositionItemFieldPath, jt as AUDIO_PRESETS, k as composedDeviceStableId, kt as canonicalHash, l as CompositionExistingTargetSchema, lt as evaluateRose, m as CompositionFieldsFeatureSchema, mt as SOURCE_CAPS, n as COMPOSER_ADDON_ID, nt as MAX_EXPRESSION_EVAL_STEPS, o as CompositionBindingSchema, ot as EXPRESSION_BUILTIN_NAMES, p as CompositionFieldSourceSchema, pt as DEFAULT_FIRST_SIGHTING_FRESHNESS_MS, q as compileExpression, r as COMPOSITION_ITEM_ARRAY_PATH, rt as MAX_EXPRESSION_SOURCE_LENGTH, s as CompositionCodeSourceSchema, st as disarmRoseMemory, t as COMPOSED_DEVICE_STABLE_ID_PREFIX, tt as MAX_EXPRESSION_CALL_ARGS, u as CompositionExpressionSourceSchema, ut as isStatefulBuiltin, v as CompositionLiteralBindingSchema, vt as evaluateSensorEdge, w as MAX_COMPOSITION_CODE_LENGTH, x as CompositionSchema, xt as sliceActiveValue, y as CompositionNewTargetSchema, yt as evaluateSensorLevelEdge, z as cloneStatefulExpressionMemory, zt as logBannerArgs } from "./composition-DOwQB_Ua.mjs";
4
4
  import { NODE_COLOR_IDS, NodeColorIdSchema, assignNodeColorId } from "./node-color.mjs";
5
- import { a as DeviceType, i as DeviceRole, n as ChargingStatus, r as DeviceFeature, t as errMsg } from "./err-msg-DLerKiVO.mjs";
5
+ import { a as DeviceType, i as DeviceRole, n as ChargingStatus, r as DeviceFeature, t as errMsg } from "./err-msg--2RrYiLO.mjs";
6
6
  import { EventSourceType } from "./enums.mjs";
7
7
  import { z } from "zod";
8
8
  //#region src/media/media-owner-key.ts
@@ -59700,6 +59700,12 @@ var ClimateControlStatusSchema = z.object({
59700
59700
  /** Horizontal louver swing on/off. Null when the device has no
59701
59701
  * horizontal swing surface (gate with `DeviceFeature.ClimateSwingHorizontal`). */
59702
59702
  swingHorizontal: z.boolean().nullable(),
59703
+ /** Lowest setpoint the device accepts, Celsius. Absent / null = not reported. */
59704
+ minTemp: z.number().nullable().optional(),
59705
+ /** Highest setpoint the device accepts, Celsius. Absent / null = not reported. */
59706
+ maxTemp: z.number().nullable().optional(),
59707
+ /** Setpoint granularity, Celsius (0.5, 1). Absent / null = not reported. */
59708
+ tempStep: z.number().positive().nullable().optional(),
59703
59709
  /** Ms epoch when the slice was last updated (push or command). */
59704
59710
  lastFetchedAt: z.number()
59705
59711
  });
package/dist/node.js CHANGED
@@ -21,8 +21,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  enumerable: true
22
22
  }) : target, mod));
23
23
  //#endregion
24
- const require_composition = require("./composition-DIp0uE_b.js");
25
- const require_err_msg = require("./err-msg-Ls8Q6dHO.js");
24
+ const require_composition = require("./composition-CUAOHZ38.js");
25
+ const require_err_msg = require("./err-msg-Bb-s4Xuj.js");
26
26
  let node_crypto = require("node:crypto");
27
27
  let node_fs = require("node:fs");
28
28
  node_fs = __toESM(node_fs);
package/dist/node.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { At as Fmp4BoxSplitter, Ct as FFMPEG_PATH_ENV, Dt as getFfmpegArtifact, Et as FFMPEG_RELEASE, Ot as getFfmpegDownloadUrl, P as compositionSourceKey, Pt as buildFfmpegArgs, Rt as isSoftwareDecode, Tt as ffmpegBinaryName, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, kt as canonicalHash, wt as chooseFfmpegBinary } from "./composition-EQ9Ok0Ee.mjs";
2
- import { t as errMsg } from "./err-msg-DLerKiVO.mjs";
1
+ import { At as Fmp4BoxSplitter, Ct as FFMPEG_PATH_ENV, Dt as getFfmpegArtifact, Et as FFMPEG_RELEASE, Ot as getFfmpegDownloadUrl, P as compositionSourceKey, Pt as buildFfmpegArgs, Rt as isSoftwareDecode, Tt as ffmpegBinaryName, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, kt as canonicalHash, wt as chooseFfmpegBinary } from "./composition-DOwQB_Ua.mjs";
2
+ import { t as errMsg } from "./err-msg--2RrYiLO.mjs";
3
3
  import { createHash, createHmac, randomUUID, timingSafeEqual } from "node:crypto";
4
4
  import * as fs from "node:fs";
5
5
  import { chmodSync, createWriteStream, existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.376",
3
+ "version": "1.2.377",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",