@camstack/types 1.2.77 → 1.2.79

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.
@@ -139,6 +139,12 @@ export declare const snapshotCapability: {
139
139
  width: z.ZodNullable<z.ZodNumber>;
140
140
  neverCaptured: z.ZodBoolean;
141
141
  sleeping: z.ZodBoolean;
142
+ stateReason: z.ZodNullable<z.ZodEnum<{
143
+ sleeping: "sleeping";
144
+ unreachable: "unreachable";
145
+ disabled: "disabled";
146
+ waking: "waking";
147
+ }>>;
142
148
  }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind> & {
143
149
  readonly systemOnly: true;
144
150
  };
@@ -6,20 +6,23 @@
6
6
  * system-scope cap that takes a deviceId was previously never device-filtered
7
7
  * — see the generator header).
8
8
  *
9
- * Coverage: 331 methods carry a device reference, of which
9
+ * Coverage: 332 methods carry a device reference, of which
10
10
  * 124 are on SYSTEM-scope caps.
11
11
  *
12
- * Only TOP-LEVEL input fields appear here; a nested device id is not
13
- * extractable by the middleware and is failed by the classification guard
14
- * instead of passing unenforced.
12
+ * Top-level fields, number arrays, and one-level arrays of objects carrying
13
+ * a numeric device field (targets[].deviceId) are all mapped; the matcher
14
+ * resolves every form and requires EVERY referenced device to be covered.
15
15
  */
16
- /** How a device reference is carried: one number, or an array of numbers. */
17
- export type DeviceRefForm = 'single' | 'array';
16
+ /** How a device reference is carried: one number, an array of numbers, or an
17
+ * array of objects each carrying a numeric device field. */
18
+ export type DeviceRefForm = 'single' | 'array' | 'object-array';
18
19
  export interface DeviceRefField {
19
20
  readonly name: string;
20
21
  readonly form: DeviceRefForm;
21
22
  /** When true the field may be absent or null — enforcement skips it. */
22
23
  readonly optional: boolean;
24
+ /** For object-array: the device-id field inside each element. */
25
+ readonly itemField?: string;
23
26
  }
24
27
  export declare const METHOD_DEVICE_SELECTORS: Readonly<Record<string, readonly DeviceRefField[]>>;
25
28
  /** Cap-method paths that carry a device reference AND live on a system-scope
package/dist/index.js CHANGED
@@ -19097,7 +19097,16 @@ targets: zod.z.array(zod.z.object({
19097
19097
  /** A sleeping battery camera: the frame is deliberately stale and will
19098
19098
  * NOT refresh in the background. A surface should say so rather than
19099
19099
  * present it as current. */
19100
- sleeping: zod.z.boolean()
19100
+ sleeping: zod.z.boolean(),
19101
+ /** Current device state rendered over the cached frame. State images
19102
+ * remain authoritative even when their photographic background is
19103
+ * old; null means the link must carry a current camera frame. */
19104
+ stateReason: zod.z.enum([
19105
+ "disabled",
19106
+ "sleeping",
19107
+ "unreachable",
19108
+ "waking"
19109
+ ]).nullable()
19101
19110
  })))
19102
19111
  },
19103
19112
  status: {
@@ -41250,6 +41259,12 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
41250
41259
  form: "single",
41251
41260
  optional: false
41252
41261
  }],
41262
+ "snapshot.getSnapshotLinks": [{
41263
+ name: "targets",
41264
+ form: "object-array",
41265
+ optional: false,
41266
+ itemField: "deviceId"
41267
+ }],
41253
41268
  "snapshot.getSnapshotOverview": [{
41254
41269
  name: "deviceIds",
41255
41270
  form: "array",
package/dist/index.mjs CHANGED
@@ -19096,7 +19096,16 @@ targets: z.array(z.object({
19096
19096
  /** A sleeping battery camera: the frame is deliberately stale and will
19097
19097
  * NOT refresh in the background. A surface should say so rather than
19098
19098
  * present it as current. */
19099
- sleeping: z.boolean()
19099
+ sleeping: z.boolean(),
19100
+ /** Current device state rendered over the cached frame. State images
19101
+ * remain authoritative even when their photographic background is
19102
+ * old; null means the link must carry a current camera frame. */
19103
+ stateReason: z.enum([
19104
+ "disabled",
19105
+ "sleeping",
19106
+ "unreachable",
19107
+ "waking"
19108
+ ]).nullable()
19100
19109
  })))
19101
19110
  },
19102
19111
  status: {
@@ -41249,6 +41258,12 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
41249
41258
  form: "single",
41250
41259
  optional: false
41251
41260
  }],
41261
+ "snapshot.getSnapshotLinks": [{
41262
+ name: "targets",
41263
+ form: "object-array",
41264
+ optional: false,
41265
+ itemField: "deviceId"
41266
+ }],
41252
41267
  "snapshot.getSnapshotOverview": [{
41253
41268
  name: "deviceIds",
41254
41269
  form: "array",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.77",
3
+ "version": "1.2.79",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",