@camstack/addon-ai 0.4.5 → 0.4.7

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
@@ -19347,7 +19347,31 @@ DeviceType.Camera, method(object({
19347
19347
  lastCapturedAt: number$1().nullable(),
19348
19348
  cacheAgeMs: number$1().nullable(),
19349
19349
  etag: string().nullable()
19350
- }))), systemMethod(object({
19350
+ }))), systemMethod(object({ deviceId: number$1() }), object({
19351
+ /** The battery slice as read, or null when the device has none. */
19352
+ battery: object({
19353
+ sleeping: boolean(),
19354
+ lastUpdated: number$1(),
19355
+ lastContactAt: number$1().optional()
19356
+ }).nullable(),
19357
+ /** The resolved snapshot state (what the overlay decision used). */
19358
+ state: object({
19359
+ isBattery: boolean(),
19360
+ reason: _enum([
19361
+ "disabled",
19362
+ "sleeping",
19363
+ "unreachable",
19364
+ "waking"
19365
+ ]).nullable()
19366
+ }),
19367
+ /** The cached frame behind the next paint. */
19368
+ frame: object({
19369
+ capturedAt: number$1().nullable(),
19370
+ ageMs: number$1().nullable()
19371
+ }),
19372
+ /** A wake window is currently open (the Waking overlay's source). */
19373
+ waking: boolean()
19374
+ })), systemMethod(object({
19351
19375
  /** The tiles a surface is actually rendering. One entry per (device,
19352
19376
  * width) the caller will paint — the width is snapped to the server's
19353
19377
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19386,7 +19410,14 @@ targets: array(object({
19386
19410
  "sleeping",
19387
19411
  "unreachable",
19388
19412
  "waking"
19389
- ]).nullable()
19413
+ ]).nullable(),
19414
+ /** A battery camera (whatever its current state). An AWAKE battery
19415
+ * camera is deliberately NOT recaptured on the poll cadence — every
19416
+ * capture is a camera hit that would keep it out of sleep — so its
19417
+ * cached frame legitimately ages past the currency ceiling while
19418
+ * nothing is streaming. A surface must keep painting it (a fresh
19419
+ * frame is captured at each wake), not blank to "unavailable". */
19420
+ battery: boolean()
19390
19421
  })));
19391
19422
  /**
19392
19423
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -30562,6 +30593,12 @@ Object.freeze({
30562
30593
  addonId: null,
30563
30594
  access: "view"
30564
30595
  },
30596
+ "snapshot.getDebugState": {
30597
+ capName: "snapshot",
30598
+ capScope: "device",
30599
+ addonId: null,
30600
+ access: "view"
30601
+ },
30565
30602
  "snapshot.getSnapshot": {
30566
30603
  capName: "snapshot",
30567
30604
  capScope: "device",
@@ -33159,6 +33196,11 @@ Object.freeze({
33159
33196
  form: "single",
33160
33197
  optional: false
33161
33198
  }],
33199
+ "snapshot.getDebugState": [{
33200
+ name: "deviceId",
33201
+ form: "single",
33202
+ optional: false
33203
+ }],
33162
33204
  "snapshot.getSnapshot": [{
33163
33205
  name: "deviceId",
33164
33206
  form: "single",
package/dist/addon.mjs CHANGED
@@ -19373,7 +19373,31 @@ DeviceType.Camera, method(object({
19373
19373
  lastCapturedAt: number$1().nullable(),
19374
19374
  cacheAgeMs: number$1().nullable(),
19375
19375
  etag: string().nullable()
19376
- }))), systemMethod(object({
19376
+ }))), systemMethod(object({ deviceId: number$1() }), object({
19377
+ /** The battery slice as read, or null when the device has none. */
19378
+ battery: object({
19379
+ sleeping: boolean(),
19380
+ lastUpdated: number$1(),
19381
+ lastContactAt: number$1().optional()
19382
+ }).nullable(),
19383
+ /** The resolved snapshot state (what the overlay decision used). */
19384
+ state: object({
19385
+ isBattery: boolean(),
19386
+ reason: _enum([
19387
+ "disabled",
19388
+ "sleeping",
19389
+ "unreachable",
19390
+ "waking"
19391
+ ]).nullable()
19392
+ }),
19393
+ /** The cached frame behind the next paint. */
19394
+ frame: object({
19395
+ capturedAt: number$1().nullable(),
19396
+ ageMs: number$1().nullable()
19397
+ }),
19398
+ /** A wake window is currently open (the Waking overlay's source). */
19399
+ waking: boolean()
19400
+ })), systemMethod(object({
19377
19401
  /** The tiles a surface is actually rendering. One entry per (device,
19378
19402
  * width) the caller will paint — the width is snapped to the server's
19379
19403
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19412,7 +19436,14 @@ targets: array(object({
19412
19436
  "sleeping",
19413
19437
  "unreachable",
19414
19438
  "waking"
19415
- ]).nullable()
19439
+ ]).nullable(),
19440
+ /** A battery camera (whatever its current state). An AWAKE battery
19441
+ * camera is deliberately NOT recaptured on the poll cadence — every
19442
+ * capture is a camera hit that would keep it out of sleep — so its
19443
+ * cached frame legitimately ages past the currency ceiling while
19444
+ * nothing is streaming. A surface must keep painting it (a fresh
19445
+ * frame is captured at each wake), not blank to "unavailable". */
19446
+ battery: boolean()
19416
19447
  })));
19417
19448
  /**
19418
19449
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -30588,6 +30619,12 @@ Object.freeze({
30588
30619
  addonId: null,
30589
30620
  access: "view"
30590
30621
  },
30622
+ "snapshot.getDebugState": {
30623
+ capName: "snapshot",
30624
+ capScope: "device",
30625
+ addonId: null,
30626
+ access: "view"
30627
+ },
30591
30628
  "snapshot.getSnapshot": {
30592
30629
  capName: "snapshot",
30593
30630
  capScope: "device",
@@ -33185,6 +33222,11 @@ Object.freeze({
33185
33222
  form: "single",
33186
33223
  optional: false
33187
33224
  }],
33225
+ "snapshot.getDebugState": [{
33226
+ name: "deviceId",
33227
+ form: "single",
33228
+ optional: false
33229
+ }],
33188
33230
  "snapshot.getSnapshot": [{
33189
33231
  name: "deviceId",
33190
33232
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-ai",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "AI addon for CamStack — the `llm` collection provider (cloud, LAN, and camstack-managed local llama.cpp profiles) plus the per-node `llm-runtime` managed executor.",
5
5
  "keywords": [
6
6
  "camstack",