@camstack/addon-export-hap 1.2.107 → 1.2.108

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.
@@ -21131,6 +21131,14 @@ var NativeCropResultSchema = object({
21131
21131
  * set `encodeJpeg: true`; `bytes` is then absent.
21132
21132
  */
21133
21133
  jpeg: string().optional(),
21134
+ /**
21135
+ * The SAME compressed JPEG as `jpeg`, as bytes (D462). Present instead of
21136
+ * `jpeg` when the request set `acceptJpegBytes`; a request that did not gets
21137
+ * `jpeg` exactly as before. MsgPack and the mesh leg both carry binary —
21138
+ * `bytes` above has crossed this boundary as a `Uint8Array` all along — so
21139
+ * base64 was buying nothing but a multi-megabyte string in the relay's heap.
21140
+ */
21141
+ jpegBytes: _instanceof(Uint8Array).optional(),
21134
21142
  width: number().int().positive(),
21135
21143
  height: number().int().positive(),
21136
21144
  /**
@@ -21197,7 +21205,14 @@ var ParkTrackFrameResultSchema = discriminatedUnion("parked", [object({
21197
21205
  })]);
21198
21206
  /** A retrieved parcel — the runner's own JPEG, base64 for the wire. */
21199
21207
  var ParkedTrackFrameSchema = object({
21200
- jpeg: string(),
21208
+ /**
21209
+ * Base64 JPEG — the pre-D462 wire. OPTIONAL since D462: a request that set
21210
+ * `acceptJpegBytes` is answered in `jpegBytes` and this is then absent.
21211
+ * Exactly one of the two is present.
21212
+ */
21213
+ jpeg: string().optional(),
21214
+ /** The same JPEG as bytes, for a caller that declared it reads them (D462). */
21215
+ jpegBytes: _instanceof(Uint8Array).optional(),
21201
21216
  width: number().int().positive(),
21202
21217
  height: number().int().positive(),
21203
21218
  /** The frame instant the parcel shows (the caller's clock, echoed back). */
@@ -21784,6 +21799,13 @@ method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mu
21784
21799
  bbox: NativeCropBboxSchema,
21785
21800
  maxWidth: number().int().positive().optional(),
21786
21801
  /**
21802
+ * The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
21803
+ * back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
21804
+ * wire — never assume consent: a pre-D462 caller parses the field as
21805
+ * base64 and bytes would decode to garbage rather than fail.
21806
+ */
21807
+ acceptJpegBytes: boolean().optional(),
21808
+ /**
21787
21809
  * When `true`, the runner encodes the resolved crop to JPEG ON THE
21788
21810
  * OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
21789
21811
  * Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
@@ -21851,7 +21873,14 @@ method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mu
21851
21873
  }), ParkTrackFrameResultSchema, { kind: "mutation" }), method(object({
21852
21874
  deviceId: number(),
21853
21875
  trackId: string(),
21854
- kind: ParkedFrameKindSchema
21876
+ kind: ParkedFrameKindSchema,
21877
+ /**
21878
+ * The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
21879
+ * back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
21880
+ * wire — never assume consent: a pre-D462 caller parses the field as
21881
+ * base64 and bytes would decode to garbage rather than fail.
21882
+ */
21883
+ acceptJpegBytes: boolean().optional()
21855
21884
  }), ParkedTrackFrameSchema.nullable()), method(object({
21856
21885
  deviceId: number(),
21857
21886
  trackId: string()
@@ -21119,6 +21119,14 @@ var NativeCropResultSchema = object({
21119
21119
  * set `encodeJpeg: true`; `bytes` is then absent.
21120
21120
  */
21121
21121
  jpeg: string().optional(),
21122
+ /**
21123
+ * The SAME compressed JPEG as `jpeg`, as bytes (D462). Present instead of
21124
+ * `jpeg` when the request set `acceptJpegBytes`; a request that did not gets
21125
+ * `jpeg` exactly as before. MsgPack and the mesh leg both carry binary —
21126
+ * `bytes` above has crossed this boundary as a `Uint8Array` all along — so
21127
+ * base64 was buying nothing but a multi-megabyte string in the relay's heap.
21128
+ */
21129
+ jpegBytes: _instanceof(Uint8Array).optional(),
21122
21130
  width: number().int().positive(),
21123
21131
  height: number().int().positive(),
21124
21132
  /**
@@ -21185,7 +21193,14 @@ var ParkTrackFrameResultSchema = discriminatedUnion("parked", [object({
21185
21193
  })]);
21186
21194
  /** A retrieved parcel — the runner's own JPEG, base64 for the wire. */
21187
21195
  var ParkedTrackFrameSchema = object({
21188
- jpeg: string(),
21196
+ /**
21197
+ * Base64 JPEG — the pre-D462 wire. OPTIONAL since D462: a request that set
21198
+ * `acceptJpegBytes` is answered in `jpegBytes` and this is then absent.
21199
+ * Exactly one of the two is present.
21200
+ */
21201
+ jpeg: string().optional(),
21202
+ /** The same JPEG as bytes, for a caller that declared it reads them (D462). */
21203
+ jpegBytes: _instanceof(Uint8Array).optional(),
21189
21204
  width: number().int().positive(),
21190
21205
  height: number().int().positive(),
21191
21206
  /** The frame instant the parcel shows (the caller's clock, echoed back). */
@@ -21772,6 +21787,13 @@ method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mu
21772
21787
  bbox: NativeCropBboxSchema,
21773
21788
  maxWidth: number().int().positive().optional(),
21774
21789
  /**
21790
+ * The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
21791
+ * back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
21792
+ * wire — never assume consent: a pre-D462 caller parses the field as
21793
+ * base64 and bytes would decode to garbage rather than fail.
21794
+ */
21795
+ acceptJpegBytes: boolean().optional(),
21796
+ /**
21775
21797
  * When `true`, the runner encodes the resolved crop to JPEG ON THE
21776
21798
  * OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
21777
21799
  * Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
@@ -21839,7 +21861,14 @@ method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mu
21839
21861
  }), ParkTrackFrameResultSchema, { kind: "mutation" }), method(object({
21840
21862
  deviceId: number(),
21841
21863
  trackId: string(),
21842
- kind: ParkedFrameKindSchema
21864
+ kind: ParkedFrameKindSchema,
21865
+ /**
21866
+ * The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
21867
+ * back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
21868
+ * wire — never assume consent: a pre-D462 caller parses the field as
21869
+ * base64 and bytes would decode to garbage rather than fail.
21870
+ */
21871
+ acceptJpegBytes: boolean().optional()
21843
21872
  }), ParkedTrackFrameSchema.nullable()), method(object({
21844
21873
  deviceId: number(),
21845
21874
  trackId: string()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-hap",
3
- "version": "1.2.107",
3
+ "version": "1.2.108",
4
4
  "description": "HomeKit (HAP) exporter for CamStack devices. Publishes each exposed device as its own HomeKit accessory: cameras and doorbells with SRTP streaming, HomeKit Secure Video, motion, two-way audio, PTZ and battery; switches, lights, locks and sensors through a capability→service table.",
5
5
  "keywords": [
6
6
  "camstack",