@camstack/addon-export-alexa 1.2.14 → 1.2.15

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.
@@ -26,7 +26,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  //#endregion
27
27
  let node_crypto = require("node:crypto");
28
28
  node_crypto = __toESM(node_crypto);
29
- //#region ../types/dist/event-category-41fKf-q9.mjs
29
+ //#region ../types/dist/event-category-Cv9dO26A.mjs
30
30
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
31
31
  EventCategory["SystemBoot"] = "system.boot";
32
32
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -42,6 +42,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
42
42
  */
43
43
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
44
44
  /**
45
+ * A newer addon or server-root package version was found by the
46
+ * authoritative registry check. Emitted once per
47
+ * `(target, packageName, currentVersion, latestVersion)` transition; repeated
48
+ * polling of the same result is deduplicated by the checker.
49
+ */
50
+ EventCategory["UpdateAvailable"] = "update.available";
51
+ /**
45
52
  * Readiness transition for a capability provider. Every producer emits
46
53
  * this event on `onInitialize` completion, `onDestroy`, and
47
54
  * `$node.reconnect`; every consumer that needs to gate on a cross-process
@@ -14055,8 +14062,35 @@ var NcDeliverySchema = _enum([
14055
14062
  "immediate",
14056
14063
  "track-end",
14057
14064
  "device-event",
14058
- "package-event"
14065
+ "package-event",
14066
+ "system-event"
14067
+ ]);
14068
+ /**
14069
+ * Stable Notification Center vocabulary over infrastructure/liveness events.
14070
+ * Bus categories are normalized into these intent-level kinds so rules do not
14071
+ * depend on a provider's raw event name or payload shape.
14072
+ */
14073
+ var NcSystemEventKindSchema = _enum([
14074
+ "camera-online",
14075
+ "camera-offline",
14076
+ "stream-online",
14077
+ "stream-offline",
14078
+ "node-online",
14079
+ "node-offline",
14080
+ "addon-update-available",
14081
+ "server-update-available"
14059
14082
  ]);
14083
+ /**
14084
+ * One coherent system-event condition. `kinds` is the required opt-in safety
14085
+ * gate; the remaining lists are optional narrowing filters relevant to the
14086
+ * selected kinds.
14087
+ */
14088
+ var NcSystemEventConditionSchema = object({
14089
+ kinds: array(NcSystemEventKindSchema).min(1),
14090
+ deviceIds: array(number().int()).min(1).optional(),
14091
+ nodeIds: array(string().min(1)).min(1).optional(),
14092
+ packageNames: array(string().min(1)).min(1).optional()
14093
+ });
14060
14094
  /** Weekly schedule — OR of windows; absence on the rule = always active. */
14061
14095
  var NcScheduleSchema = object({
14062
14096
  windows: array(object({
@@ -14361,6 +14395,8 @@ var NcConditionsSchema = object({
14361
14395
  "picked-up",
14362
14396
  "both"
14363
14397
  ]).optional(),
14398
+ /** Infrastructure/liveness/update event matcher (`system-event` delivery). */
14399
+ systemEvent: NcSystemEventConditionSchema.optional(),
14364
14400
  /**
14365
14401
  * PERSONAL-RULE custom zones (viewer-drawn). Inline normalized polygons
14366
14402
  * (MaskShape vocabulary). A record passes when its bbox overlaps ANY
@@ -14580,7 +14616,8 @@ var NcTestResultSchema = object({
14580
14616
  "object-event",
14581
14617
  "track",
14582
14618
  "device-event",
14583
- "package-event"
14619
+ "package-event",
14620
+ "system-event"
14584
14621
  ]),
14585
14622
  deviceId: number(),
14586
14623
  timestamp: number(),
@@ -14602,7 +14639,8 @@ var NcConditionDescriptorSchema = object({
14602
14639
  "schedule",
14603
14640
  "device",
14604
14641
  "package",
14605
- "occupancy"
14642
+ "occupancy",
14643
+ "system"
14606
14644
  ]),
14607
14645
  label: string(),
14608
14646
  /** Editor widget the UI renders — never hardcode per-condition forms. */
@@ -14620,7 +14658,8 @@ var NcConditionDescriptorSchema = object({
14620
14658
  "crossingSelect",
14621
14659
  "polygonDraw",
14622
14660
  "occupancy",
14623
- "deviceState"
14661
+ "deviceState",
14662
+ "systemEvent"
14624
14663
  ]),
14625
14664
  operator: _enum([
14626
14665
  "in",
@@ -14679,7 +14718,8 @@ var NcHistoryRecordKindSchema = _enum([
14679
14718
  "object-event",
14680
14719
  "track-end",
14681
14720
  "device-event",
14682
- "package-event"
14721
+ "package-event",
14722
+ "system-event"
14683
14723
  ]);
14684
14724
  /** Subject summary frozen on the row at fire time (survives rule/record edits). */
14685
14725
  var NcHistorySubjectSchema = object({
@@ -14687,7 +14727,14 @@ var NcHistorySubjectSchema = object({
14687
14727
  label: string().optional(),
14688
14728
  confidence: number().optional(),
14689
14729
  zones: array(string()),
14690
- timestamp: number()
14730
+ timestamp: number(),
14731
+ systemEvent: object({
14732
+ kind: NcSystemEventKindSchema,
14733
+ subject: string(),
14734
+ title: string(),
14735
+ body: string(),
14736
+ data: record(string(), unknown())
14737
+ }).optional()
14691
14738
  });
14692
14739
  /**
14693
14740
  * One delivery-history row. This is a read-only VIEW over the durable
@@ -1,5 +1,5 @@
1
1
  import * as crypto$1 from "node:crypto";
2
- //#region ../types/dist/event-category-41fKf-q9.mjs
2
+ //#region ../types/dist/event-category-Cv9dO26A.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -15,6 +15,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
15
15
  */
16
16
  EventCategory["SystemRestartCompleted"] = "system.restart-completed";
17
17
  /**
18
+ * A newer addon or server-root package version was found by the
19
+ * authoritative registry check. Emitted once per
20
+ * `(target, packageName, currentVersion, latestVersion)` transition; repeated
21
+ * polling of the same result is deduplicated by the checker.
22
+ */
23
+ EventCategory["UpdateAvailable"] = "update.available";
24
+ /**
18
25
  * Readiness transition for a capability provider. Every producer emits
19
26
  * this event on `onInitialize` completion, `onDestroy`, and
20
27
  * `$node.reconnect`; every consumer that needs to gate on a cross-process
@@ -14028,8 +14035,35 @@ var NcDeliverySchema = _enum([
14028
14035
  "immediate",
14029
14036
  "track-end",
14030
14037
  "device-event",
14031
- "package-event"
14038
+ "package-event",
14039
+ "system-event"
14040
+ ]);
14041
+ /**
14042
+ * Stable Notification Center vocabulary over infrastructure/liveness events.
14043
+ * Bus categories are normalized into these intent-level kinds so rules do not
14044
+ * depend on a provider's raw event name or payload shape.
14045
+ */
14046
+ var NcSystemEventKindSchema = _enum([
14047
+ "camera-online",
14048
+ "camera-offline",
14049
+ "stream-online",
14050
+ "stream-offline",
14051
+ "node-online",
14052
+ "node-offline",
14053
+ "addon-update-available",
14054
+ "server-update-available"
14032
14055
  ]);
14056
+ /**
14057
+ * One coherent system-event condition. `kinds` is the required opt-in safety
14058
+ * gate; the remaining lists are optional narrowing filters relevant to the
14059
+ * selected kinds.
14060
+ */
14061
+ var NcSystemEventConditionSchema = object({
14062
+ kinds: array(NcSystemEventKindSchema).min(1),
14063
+ deviceIds: array(number().int()).min(1).optional(),
14064
+ nodeIds: array(string().min(1)).min(1).optional(),
14065
+ packageNames: array(string().min(1)).min(1).optional()
14066
+ });
14033
14067
  /** Weekly schedule — OR of windows; absence on the rule = always active. */
14034
14068
  var NcScheduleSchema = object({
14035
14069
  windows: array(object({
@@ -14334,6 +14368,8 @@ var NcConditionsSchema = object({
14334
14368
  "picked-up",
14335
14369
  "both"
14336
14370
  ]).optional(),
14371
+ /** Infrastructure/liveness/update event matcher (`system-event` delivery). */
14372
+ systemEvent: NcSystemEventConditionSchema.optional(),
14337
14373
  /**
14338
14374
  * PERSONAL-RULE custom zones (viewer-drawn). Inline normalized polygons
14339
14375
  * (MaskShape vocabulary). A record passes when its bbox overlaps ANY
@@ -14553,7 +14589,8 @@ var NcTestResultSchema = object({
14553
14589
  "object-event",
14554
14590
  "track",
14555
14591
  "device-event",
14556
- "package-event"
14592
+ "package-event",
14593
+ "system-event"
14557
14594
  ]),
14558
14595
  deviceId: number(),
14559
14596
  timestamp: number(),
@@ -14575,7 +14612,8 @@ var NcConditionDescriptorSchema = object({
14575
14612
  "schedule",
14576
14613
  "device",
14577
14614
  "package",
14578
- "occupancy"
14615
+ "occupancy",
14616
+ "system"
14579
14617
  ]),
14580
14618
  label: string(),
14581
14619
  /** Editor widget the UI renders — never hardcode per-condition forms. */
@@ -14593,7 +14631,8 @@ var NcConditionDescriptorSchema = object({
14593
14631
  "crossingSelect",
14594
14632
  "polygonDraw",
14595
14633
  "occupancy",
14596
- "deviceState"
14634
+ "deviceState",
14635
+ "systemEvent"
14597
14636
  ]),
14598
14637
  operator: _enum([
14599
14638
  "in",
@@ -14652,7 +14691,8 @@ var NcHistoryRecordKindSchema = _enum([
14652
14691
  "object-event",
14653
14692
  "track-end",
14654
14693
  "device-event",
14655
- "package-event"
14694
+ "package-event",
14695
+ "system-event"
14656
14696
  ]);
14657
14697
  /** Subject summary frozen on the row at fire time (survives rule/record edits). */
14658
14698
  var NcHistorySubjectSchema = object({
@@ -14660,7 +14700,14 @@ var NcHistorySubjectSchema = object({
14660
14700
  label: string().optional(),
14661
14701
  confidence: number().optional(),
14662
14702
  zones: array(string()),
14663
- timestamp: number()
14703
+ timestamp: number(),
14704
+ systemEvent: object({
14705
+ kind: NcSystemEventKindSchema,
14706
+ subject: string(),
14707
+ title: string(),
14708
+ body: string(),
14709
+ data: record(string(), unknown())
14710
+ }).optional()
14664
14711
  });
14665
14712
  /**
14666
14713
  * One delivery-history row. This is a read-only VIEW over the durable
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-alexa",
3
- "version": "1.2.14",
3
+ "version": "1.2.15",
4
4
  "description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
5
5
  "keywords": [
6
6
  "camstack",