@camstack/types 1.2.418 → 1.2.419

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.
Files changed (45) hide show
  1. package/dist/addon.js +2 -2
  2. package/dist/addon.mjs +2 -2
  3. package/dist/capabilities/addons.cap.d.ts +67 -1
  4. package/dist/capabilities/color.cap.d.ts +1 -0
  5. package/dist/capabilities/composer.cap.d.ts +3 -0
  6. package/dist/capabilities/core-blocks.cap.d.ts +21 -0
  7. package/dist/capabilities/group-commands.cap.d.ts +49 -0
  8. package/dist/capabilities/group-status.cap.d.ts +1 -1
  9. package/dist/capabilities/index.d.ts +4 -2
  10. package/dist/capabilities/notification-rules.cap.d.ts +46 -0
  11. package/dist/capabilities/osd-manager.cap.d.ts +12 -0
  12. package/dist/client.js +34 -5
  13. package/dist/client.mjs +34 -5
  14. package/dist/composition/composition.d.ts +1 -0
  15. package/dist/composition/helpers/actuator.d.ts +58 -0
  16. package/dist/composition/helpers/catalog.d.ts +7 -2
  17. package/dist/composition/helpers/index.d.ts +2 -1
  18. package/dist/composition/helpers/spec.d.ts +6 -1
  19. package/dist/{composition-B85l9j1M.mjs → composition-OhpuespA.mjs} +10 -3
  20. package/dist/{composition-OJKOJJD-.js → composition-re1aezX9.js} +21 -2
  21. package/dist/device/cap-vocabulary/entries/sensors.d.ts +1 -1
  22. package/dist/enums/event-category.d.ts +8 -0
  23. package/dist/enums.js +1 -1
  24. package/dist/enums.mjs +1 -1
  25. package/dist/{event-category-DXZ3f9Q5.js → event-category-Ave2VSxY.js} +8 -0
  26. package/dist/{event-category-DHXxB8t9.mjs → event-category-CT-hz5Rb.mjs} +8 -0
  27. package/dist/generated/addon-api.d.ts +21 -0
  28. package/dist/generated/cap-status-types.d.ts +3 -1
  29. package/dist/generated/capability-router-map.d.ts +5 -2
  30. package/dist/generated/device-local-state.d.ts +3 -0
  31. package/dist/generated/device-proxy.d.ts +3 -0
  32. package/dist/generated/device-scoped-caps.d.ts +1 -1
  33. package/dist/generated/history-catalog.d.ts +1 -1
  34. package/dist/generated/method-access-map.d.ts +1 -1
  35. package/dist/generated/method-device-selectors.d.ts +1 -1
  36. package/dist/generated/runtime-state-durability.d.ts +1 -1
  37. package/dist/generated/system-proxy.d.ts +1 -1
  38. package/dist/index.js +341 -19
  39. package/dist/index.mjs +328 -20
  40. package/dist/interfaces/event-bus.d.ts +15 -0
  41. package/dist/node.js +1 -1
  42. package/dist/node.mjs +1 -1
  43. package/dist/{sleep-7Gw3GJ4n.js → sleep-YJ6FVsUu.js} +8 -2
  44. package/dist/{sleep-B81gwQuR.mjs → sleep-bykKrTgu.mjs} +8 -2
  45. package/package.json +1 -1
@@ -105,6 +105,8 @@ export declare const NcSystemEventKindSchema: z.ZodEnum<{
105
105
  "node-online": "node-online";
106
106
  "node-restarting": "node-restarting";
107
107
  "node-updating": "node-updating";
108
+ "package-llm-answered": "package-llm-answered";
109
+ "package-llm-silent": "package-llm-silent";
108
110
  "recording-degraded": "recording-degraded";
109
111
  "recording-healthy": "recording-healthy";
110
112
  "recording-stalled": "recording-stalled";
@@ -216,6 +218,8 @@ export declare const NcSystemEventConditionSchema: z.ZodObject<{
216
218
  "node-online": "node-online";
217
219
  "node-restarting": "node-restarting";
218
220
  "node-updating": "node-updating";
221
+ "package-llm-answered": "package-llm-answered";
222
+ "package-llm-silent": "package-llm-silent";
219
223
  "recording-degraded": "recording-degraded";
220
224
  "recording-healthy": "recording-healthy";
221
225
  "recording-stalled": "recording-stalled";
@@ -948,6 +952,8 @@ export declare const NcConditionsSchema: z.ZodObject<{
948
952
  "node-online": "node-online";
949
953
  "node-restarting": "node-restarting";
950
954
  "node-updating": "node-updating";
955
+ "package-llm-answered": "package-llm-answered";
956
+ "package-llm-silent": "package-llm-silent";
951
957
  "recording-degraded": "recording-degraded";
952
958
  "recording-healthy": "recording-healthy";
953
959
  "recording-stalled": "recording-stalled";
@@ -1358,6 +1364,8 @@ export declare const NcRuleInputSchema: z.ZodObject<{
1358
1364
  "node-online": "node-online";
1359
1365
  "node-restarting": "node-restarting";
1360
1366
  "node-updating": "node-updating";
1367
+ "package-llm-answered": "package-llm-answered";
1368
+ "package-llm-silent": "package-llm-silent";
1361
1369
  "recording-degraded": "recording-degraded";
1362
1370
  "recording-healthy": "recording-healthy";
1363
1371
  "recording-stalled": "recording-stalled";
@@ -1884,6 +1892,8 @@ export declare const NcRulePatchSchema: z.ZodObject<{
1884
1892
  "node-online": "node-online";
1885
1893
  "node-restarting": "node-restarting";
1886
1894
  "node-updating": "node-updating";
1895
+ "package-llm-answered": "package-llm-answered";
1896
+ "package-llm-silent": "package-llm-silent";
1887
1897
  "recording-degraded": "recording-degraded";
1888
1898
  "recording-healthy": "recording-healthy";
1889
1899
  "recording-stalled": "recording-stalled";
@@ -2287,6 +2297,8 @@ export declare const NcRuleUpdateInputSchema: z.ZodObject<{
2287
2297
  "node-online": "node-online";
2288
2298
  "node-restarting": "node-restarting";
2289
2299
  "node-updating": "node-updating";
2300
+ "package-llm-answered": "package-llm-answered";
2301
+ "package-llm-silent": "package-llm-silent";
2290
2302
  "recording-degraded": "recording-degraded";
2291
2303
  "recording-healthy": "recording-healthy";
2292
2304
  "recording-stalled": "recording-stalled";
@@ -2511,6 +2523,8 @@ export declare const NcRuleSchema: z.ZodObject<{
2511
2523
  "node-online": "node-online";
2512
2524
  "node-restarting": "node-restarting";
2513
2525
  "node-updating": "node-updating";
2526
+ "package-llm-answered": "package-llm-answered";
2527
+ "package-llm-silent": "package-llm-silent";
2514
2528
  "recording-degraded": "recording-degraded";
2515
2529
  "recording-healthy": "recording-healthy";
2516
2530
  "recording-stalled": "recording-stalled";
@@ -3050,6 +3064,8 @@ export declare const NcTemplateVarDescriptorSchema: z.ZodObject<{
3050
3064
  "node-online": "node-online";
3051
3065
  "node-restarting": "node-restarting";
3052
3066
  "node-updating": "node-updating";
3067
+ "package-llm-answered": "package-llm-answered";
3068
+ "package-llm-silent": "package-llm-silent";
3053
3069
  "recording-degraded": "recording-degraded";
3054
3070
  "recording-healthy": "recording-healthy";
3055
3071
  "recording-stalled": "recording-stalled";
@@ -3144,6 +3160,8 @@ export declare const NcTemplateVarContextSchema: z.ZodObject<{
3144
3160
  "node-online": "node-online";
3145
3161
  "node-restarting": "node-restarting";
3146
3162
  "node-updating": "node-updating";
3163
+ "package-llm-answered": "package-llm-answered";
3164
+ "package-llm-silent": "package-llm-silent";
3147
3165
  "recording-degraded": "recording-degraded";
3148
3166
  "recording-healthy": "recording-healthy";
3149
3167
  "recording-stalled": "recording-stalled";
@@ -3235,6 +3253,8 @@ export declare const NcTemplatePreviewInputSchema: z.ZodObject<{
3235
3253
  "node-online": "node-online";
3236
3254
  "node-restarting": "node-restarting";
3237
3255
  "node-updating": "node-updating";
3256
+ "package-llm-answered": "package-llm-answered";
3257
+ "package-llm-silent": "package-llm-silent";
3238
3258
  "recording-degraded": "recording-degraded";
3239
3259
  "recording-healthy": "recording-healthy";
3240
3260
  "recording-stalled": "recording-stalled";
@@ -3408,6 +3428,8 @@ export declare const NcHistorySubjectSchema: z.ZodObject<{
3408
3428
  "node-online": "node-online";
3409
3429
  "node-restarting": "node-restarting";
3410
3430
  "node-updating": "node-updating";
3431
+ "package-llm-answered": "package-llm-answered";
3432
+ "package-llm-silent": "package-llm-silent";
3411
3433
  "recording-degraded": "recording-degraded";
3412
3434
  "recording-healthy": "recording-healthy";
3413
3435
  "recording-stalled": "recording-stalled";
@@ -3518,6 +3540,8 @@ export declare const NcHistoryEntrySchema: z.ZodObject<{
3518
3540
  "node-online": "node-online";
3519
3541
  "node-restarting": "node-restarting";
3520
3542
  "node-updating": "node-updating";
3543
+ "package-llm-answered": "package-llm-answered";
3544
+ "package-llm-silent": "package-llm-silent";
3521
3545
  "recording-degraded": "recording-degraded";
3522
3546
  "recording-healthy": "recording-healthy";
3523
3547
  "recording-stalled": "recording-stalled";
@@ -4657,6 +4681,8 @@ export declare const notificationRulesCapability: {
4657
4681
  "node-online": "node-online";
4658
4682
  "node-restarting": "node-restarting";
4659
4683
  "node-updating": "node-updating";
4684
+ "package-llm-answered": "package-llm-answered";
4685
+ "package-llm-silent": "package-llm-silent";
4660
4686
  "recording-degraded": "recording-degraded";
4661
4687
  "recording-healthy": "recording-healthy";
4662
4688
  "recording-stalled": "recording-stalled";
@@ -5028,6 +5054,8 @@ export declare const notificationRulesCapability: {
5028
5054
  "node-online": "node-online";
5029
5055
  "node-restarting": "node-restarting";
5030
5056
  "node-updating": "node-updating";
5057
+ "package-llm-answered": "package-llm-answered";
5058
+ "package-llm-silent": "package-llm-silent";
5031
5059
  "recording-degraded": "recording-degraded";
5032
5060
  "recording-healthy": "recording-healthy";
5033
5061
  "recording-stalled": "recording-stalled";
@@ -5397,6 +5425,8 @@ export declare const notificationRulesCapability: {
5397
5425
  "node-online": "node-online";
5398
5426
  "node-restarting": "node-restarting";
5399
5427
  "node-updating": "node-updating";
5428
+ "package-llm-answered": "package-llm-answered";
5429
+ "package-llm-silent": "package-llm-silent";
5400
5430
  "recording-degraded": "recording-degraded";
5401
5431
  "recording-healthy": "recording-healthy";
5402
5432
  "recording-stalled": "recording-stalled";
@@ -5760,6 +5790,8 @@ export declare const notificationRulesCapability: {
5760
5790
  "node-online": "node-online";
5761
5791
  "node-restarting": "node-restarting";
5762
5792
  "node-updating": "node-updating";
5793
+ "package-llm-answered": "package-llm-answered";
5794
+ "package-llm-silent": "package-llm-silent";
5763
5795
  "recording-degraded": "recording-degraded";
5764
5796
  "recording-healthy": "recording-healthy";
5765
5797
  "recording-stalled": "recording-stalled";
@@ -6286,6 +6318,8 @@ export declare const notificationRulesCapability: {
6286
6318
  "node-online": "node-online";
6287
6319
  "node-restarting": "node-restarting";
6288
6320
  "node-updating": "node-updating";
6321
+ "package-llm-answered": "package-llm-answered";
6322
+ "package-llm-silent": "package-llm-silent";
6289
6323
  "recording-degraded": "recording-degraded";
6290
6324
  "recording-healthy": "recording-healthy";
6291
6325
  "recording-stalled": "recording-stalled";
@@ -6508,6 +6542,8 @@ export declare const notificationRulesCapability: {
6508
6542
  "node-online": "node-online";
6509
6543
  "node-restarting": "node-restarting";
6510
6544
  "node-updating": "node-updating";
6545
+ "package-llm-answered": "package-llm-answered";
6546
+ "package-llm-silent": "package-llm-silent";
6511
6547
  "recording-degraded": "recording-degraded";
6512
6548
  "recording-healthy": "recording-healthy";
6513
6549
  "recording-stalled": "recording-stalled";
@@ -7070,6 +7106,8 @@ export declare const notificationRulesCapability: {
7070
7106
  "node-online": "node-online";
7071
7107
  "node-restarting": "node-restarting";
7072
7108
  "node-updating": "node-updating";
7109
+ "package-llm-answered": "package-llm-answered";
7110
+ "package-llm-silent": "package-llm-silent";
7073
7111
  "recording-degraded": "recording-degraded";
7074
7112
  "recording-healthy": "recording-healthy";
7075
7113
  "recording-stalled": "recording-stalled";
@@ -7458,6 +7496,8 @@ export declare const notificationRulesCapability: {
7458
7496
  "node-online": "node-online";
7459
7497
  "node-restarting": "node-restarting";
7460
7498
  "node-updating": "node-updating";
7499
+ "package-llm-answered": "package-llm-answered";
7500
+ "package-llm-silent": "package-llm-silent";
7461
7501
  "recording-degraded": "recording-degraded";
7462
7502
  "recording-healthy": "recording-healthy";
7463
7503
  "recording-stalled": "recording-stalled";
@@ -7929,6 +7969,8 @@ export declare const notificationRulesCapability: {
7929
7969
  "node-online": "node-online";
7930
7970
  "node-restarting": "node-restarting";
7931
7971
  "node-updating": "node-updating";
7972
+ "package-llm-answered": "package-llm-answered";
7973
+ "package-llm-silent": "package-llm-silent";
7932
7974
  "recording-degraded": "recording-degraded";
7933
7975
  "recording-healthy": "recording-healthy";
7934
7976
  "recording-stalled": "recording-stalled";
@@ -8029,6 +8071,8 @@ export declare const notificationRulesCapability: {
8029
8071
  "node-online": "node-online";
8030
8072
  "node-restarting": "node-restarting";
8031
8073
  "node-updating": "node-updating";
8074
+ "package-llm-answered": "package-llm-answered";
8075
+ "package-llm-silent": "package-llm-silent";
8032
8076
  "recording-degraded": "recording-degraded";
8033
8077
  "recording-healthy": "recording-healthy";
8034
8078
  "recording-stalled": "recording-stalled";
@@ -8158,6 +8202,8 @@ export declare const notificationRulesCapability: {
8158
8202
  "node-online": "node-online";
8159
8203
  "node-restarting": "node-restarting";
8160
8204
  "node-updating": "node-updating";
8205
+ "package-llm-answered": "package-llm-answered";
8206
+ "package-llm-silent": "package-llm-silent";
8161
8207
  "recording-degraded": "recording-degraded";
8162
8208
  "recording-healthy": "recording-healthy";
8163
8209
  "recording-stalled": "recording-stalled";
@@ -249,6 +249,8 @@ export declare const OsdSlotBindingSchema: z.ZodObject<{
249
249
  "node-online": "node-online";
250
250
  "node-restarting": "node-restarting";
251
251
  "node-updating": "node-updating";
252
+ "package-llm-answered": "package-llm-answered";
253
+ "package-llm-silent": "package-llm-silent";
252
254
  "recording-degraded": "recording-degraded";
253
255
  "recording-healthy": "recording-healthy";
254
256
  "recording-stalled": "recording-stalled";
@@ -451,6 +453,8 @@ export declare const OsdSlotViewSchema: z.ZodObject<{
451
453
  "node-online": "node-online";
452
454
  "node-restarting": "node-restarting";
453
455
  "node-updating": "node-updating";
456
+ "package-llm-answered": "package-llm-answered";
457
+ "package-llm-silent": "package-llm-silent";
454
458
  "recording-degraded": "recording-degraded";
455
459
  "recording-healthy": "recording-healthy";
456
460
  "recording-stalled": "recording-stalled";
@@ -725,6 +729,8 @@ export declare const osdManagerCapability: {
725
729
  "node-online": "node-online";
726
730
  "node-restarting": "node-restarting";
727
731
  "node-updating": "node-updating";
732
+ "package-llm-answered": "package-llm-answered";
733
+ "package-llm-silent": "package-llm-silent";
728
734
  "recording-degraded": "recording-degraded";
729
735
  "recording-healthy": "recording-healthy";
730
736
  "recording-stalled": "recording-stalled";
@@ -1018,6 +1024,8 @@ export declare const osdManagerCapability: {
1018
1024
  "node-online": "node-online";
1019
1025
  "node-restarting": "node-restarting";
1020
1026
  "node-updating": "node-updating";
1027
+ "package-llm-answered": "package-llm-answered";
1028
+ "package-llm-silent": "package-llm-silent";
1021
1029
  "recording-degraded": "recording-degraded";
1022
1030
  "recording-healthy": "recording-healthy";
1023
1031
  "recording-stalled": "recording-stalled";
@@ -1219,6 +1227,8 @@ export declare const osdManagerCapability: {
1219
1227
  "node-online": "node-online";
1220
1228
  "node-restarting": "node-restarting";
1221
1229
  "node-updating": "node-updating";
1230
+ "package-llm-answered": "package-llm-answered";
1231
+ "package-llm-silent": "package-llm-silent";
1222
1232
  "recording-degraded": "recording-degraded";
1223
1233
  "recording-healthy": "recording-healthy";
1224
1234
  "recording-stalled": "recording-stalled";
@@ -1464,6 +1474,8 @@ export declare const osdManagerCapability: {
1464
1474
  "node-online": "node-online";
1465
1475
  "node-restarting": "node-restarting";
1466
1476
  "node-updating": "node-updating";
1477
+ "package-llm-answered": "package-llm-answered";
1478
+ "package-llm-silent": "package-llm-silent";
1467
1479
  "recording-degraded": "recording-degraded";
1468
1480
  "recording-healthy": "recording-healthy";
1469
1481
  "recording-stalled": "recording-stalled";
package/dist/client.js CHANGED
@@ -22678,6 +22678,8 @@ var NcSystemEventKindSchema = zod.z.enum([
22678
22678
  "detection-blind",
22679
22679
  "motion-noisy",
22680
22680
  "motion-calm",
22681
+ "package-llm-silent",
22682
+ "package-llm-answered",
22681
22683
  "recording-stalled",
22682
22684
  "recording-healthy",
22683
22685
  "recording-degraded",
@@ -26668,6 +26670,7 @@ function createDeviceProxy(api, binding, opts) {
26668
26670
  const featureProbeInterface = { getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input) };
26669
26671
  const floodInterface = { getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input) };
26670
26672
  const gasInterface = { getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input) };
26673
+ const groupCommandsInterface = { getStatus: (input) => dispatch("group-commands", "groupCommands", "getStatus", "query", input) };
26671
26674
  const groupStatusInterface = { getStatus: (input) => dispatch("group-status", "groupStatus", "getStatus", "query", input) };
26672
26675
  const heatingValveInterface = { getStatus: (input) => dispatch("heating-valve", "heatingValve", "getStatus", "query", input) };
26673
26676
  const humidifierInterface = {
@@ -27223,6 +27226,7 @@ function createDeviceProxy(api, binding, opts) {
27223
27226
  featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
27224
27227
  flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
27225
27228
  gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
27229
+ groupCommands: createSliceHandle(stateSource, binding.deviceId, "group-commands"),
27226
27230
  groupStatus: createSliceHandle(stateSource, binding.deviceId, "group-status"),
27227
27231
  heatingValve: createSliceHandle(stateSource, binding.deviceId, "heating-valve"),
27228
27232
  humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
@@ -27307,6 +27311,7 @@ function createDeviceProxy(api, binding, opts) {
27307
27311
  ...bound("feature-probe") ? { featureProbe: featureProbeInterface } : {},
27308
27312
  ...bound("flood") ? { flood: floodInterface } : {},
27309
27313
  ...bound("gas") ? { gas: gasInterface } : {},
27314
+ ...bound("group-commands") ? { groupCommands: groupCommandsInterface } : {},
27310
27315
  ...bound("group-status") ? { groupStatus: groupStatusInterface } : {},
27311
27316
  ...bound("heating-valve") ? { heatingValve: heatingValveInterface } : {},
27312
27317
  ...bound("humidifier") ? { humidifier: humidifierInterface } : {},
@@ -28086,6 +28091,7 @@ function createSystemProxy(api) {
28086
28091
  listCapabilityProviders: (input) => dispatch("addons", "listCapabilityProviders", "query", input),
28087
28092
  setCapabilityProviderEnabled: (input) => dispatch("addons", "setCapabilityProviderEnabled", "mutation", input),
28088
28093
  getVersions: (input) => dispatch("addons", "getVersions", "query", input),
28094
+ getPackageDocs: (input) => dispatch("addons", "getPackageDocs", "query", input),
28089
28095
  restartAddon: (input) => dispatch("addons", "restartAddon", "mutation", input),
28090
28096
  retryLoad: (input) => dispatch("addons", "retryLoad", "mutation", input),
28091
28097
  getAutoUpdateSettings: (input) => dispatch("addons", "getAutoUpdateSettings", "query", input),
@@ -29173,8 +29179,8 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
29173
29179
  function systemEventFilterApplies(kind, filter) {
29174
29180
  if (LEGACY_KINDS_WITHOUT_FILTERS.has(kind)) return false;
29175
29181
  switch (filter) {
29176
- case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("recording-") || kind === "alarm-triggered";
29177
- case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-");
29182
+ case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("package-llm-") || kind.startsWith("recording-") || kind === "alarm-triggered";
29183
+ case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("package-llm-");
29178
29184
  case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-") || kind.startsWith("alert-");
29179
29185
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
29180
29186
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
@@ -29231,6 +29237,8 @@ var NC_SYSTEM_EVENT_FAMILY = {
29231
29237
  "detection-blind": "device-events",
29232
29238
  "motion-noisy": "device-events",
29233
29239
  "motion-calm": "device-events",
29240
+ "package-llm-silent": "device-events",
29241
+ "package-llm-answered": "device-events",
29234
29242
  "recording-stalled": "device-events",
29235
29243
  "recording-healthy": "device-events",
29236
29244
  "recording-degraded": "device-events",
@@ -29332,6 +29340,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
29332
29340
  label: "Motion without a subject",
29333
29341
  kinds: ["motion-noisy", "motion-calm"]
29334
29342
  },
29343
+ {
29344
+ id: "package-llm",
29345
+ family: "device-events",
29346
+ label: "Package confirm",
29347
+ kinds: ["package-llm-silent", "package-llm-answered"]
29348
+ },
29335
29349
  {
29336
29350
  id: "recording",
29337
29351
  family: "device-events",
@@ -30329,6 +30343,8 @@ var DEVICE_EVENTS = [
30329
30343
  "detection-blind",
30330
30344
  "motion-noisy",
30331
30345
  "motion-calm",
30346
+ "package-llm-silent",
30347
+ "package-llm-answered",
30332
30348
  "recording-stalled",
30333
30349
  "recording-healthy",
30334
30350
  "recording-degraded",
@@ -30932,7 +30948,8 @@ var NC_TEMPLATE_VARS = [
30932
30948
  systemEventKinds: [
30933
30949
  "recording-degraded",
30934
30950
  ...DEVICE_ATTENTION,
30935
- ...ALERT_EPISODE
30951
+ ...ALERT_EPISODE,
30952
+ "package-llm-silent"
30936
30953
  ]
30937
30954
  },
30938
30955
  {
@@ -31025,7 +31042,8 @@ var NC_TEMPLATE_VARS = [
31025
31042
  systemEventKinds: [
31026
31043
  "storage-location-low",
31027
31044
  "storage-location-critical",
31028
- "storage-location-ok"
31045
+ "storage-location-ok",
31046
+ "package-llm-silent"
31029
31047
  ]
31030
31048
  },
31031
31049
  {
@@ -31436,7 +31454,9 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
31436
31454
  "device-attention-required",
31437
31455
  "device-attention-resolved",
31438
31456
  "rule-broken",
31439
- "rule-repaired"
31457
+ "rule-repaired",
31458
+ "package-llm-silent",
31459
+ "package-llm-answered"
31440
31460
  ];
31441
31461
  /**
31442
31462
  * Is this descriptor held back from the SERVED catalog as a whole (D647)?
@@ -31549,6 +31569,15 @@ var NC_SYSTEM_EVENT_CLASS_SPECS = [
31549
31569
  snapshotLabel: "Cameras with constant motion now",
31550
31570
  snapshotSection: null
31551
31571
  },
31572
+ {
31573
+ id: "package-llm-confirm",
31574
+ family: "device-events",
31575
+ label: "Package confirm (not answering / answering again)",
31576
+ bad: ["package-llm-silent"],
31577
+ recovery: ["package-llm-answered"],
31578
+ snapshotLabel: "Cameras whose package confirm is not answering",
31579
+ snapshotSection: null
31580
+ },
31552
31581
  {
31553
31582
  id: "recording-health",
31554
31583
  family: "device-events",
package/dist/client.mjs CHANGED
@@ -22677,6 +22677,8 @@ var NcSystemEventKindSchema = z.enum([
22677
22677
  "detection-blind",
22678
22678
  "motion-noisy",
22679
22679
  "motion-calm",
22680
+ "package-llm-silent",
22681
+ "package-llm-answered",
22680
22682
  "recording-stalled",
22681
22683
  "recording-healthy",
22682
22684
  "recording-degraded",
@@ -26667,6 +26669,7 @@ function createDeviceProxy(api, binding, opts) {
26667
26669
  const featureProbeInterface = { getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input) };
26668
26670
  const floodInterface = { getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input) };
26669
26671
  const gasInterface = { getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input) };
26672
+ const groupCommandsInterface = { getStatus: (input) => dispatch("group-commands", "groupCommands", "getStatus", "query", input) };
26670
26673
  const groupStatusInterface = { getStatus: (input) => dispatch("group-status", "groupStatus", "getStatus", "query", input) };
26671
26674
  const heatingValveInterface = { getStatus: (input) => dispatch("heating-valve", "heatingValve", "getStatus", "query", input) };
26672
26675
  const humidifierInterface = {
@@ -27222,6 +27225,7 @@ function createDeviceProxy(api, binding, opts) {
27222
27225
  featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
27223
27226
  flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
27224
27227
  gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
27228
+ groupCommands: createSliceHandle(stateSource, binding.deviceId, "group-commands"),
27225
27229
  groupStatus: createSliceHandle(stateSource, binding.deviceId, "group-status"),
27226
27230
  heatingValve: createSliceHandle(stateSource, binding.deviceId, "heating-valve"),
27227
27231
  humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
@@ -27306,6 +27310,7 @@ function createDeviceProxy(api, binding, opts) {
27306
27310
  ...bound("feature-probe") ? { featureProbe: featureProbeInterface } : {},
27307
27311
  ...bound("flood") ? { flood: floodInterface } : {},
27308
27312
  ...bound("gas") ? { gas: gasInterface } : {},
27313
+ ...bound("group-commands") ? { groupCommands: groupCommandsInterface } : {},
27309
27314
  ...bound("group-status") ? { groupStatus: groupStatusInterface } : {},
27310
27315
  ...bound("heating-valve") ? { heatingValve: heatingValveInterface } : {},
27311
27316
  ...bound("humidifier") ? { humidifier: humidifierInterface } : {},
@@ -28085,6 +28090,7 @@ function createSystemProxy(api) {
28085
28090
  listCapabilityProviders: (input) => dispatch("addons", "listCapabilityProviders", "query", input),
28086
28091
  setCapabilityProviderEnabled: (input) => dispatch("addons", "setCapabilityProviderEnabled", "mutation", input),
28087
28092
  getVersions: (input) => dispatch("addons", "getVersions", "query", input),
28093
+ getPackageDocs: (input) => dispatch("addons", "getPackageDocs", "query", input),
28088
28094
  restartAddon: (input) => dispatch("addons", "restartAddon", "mutation", input),
28089
28095
  retryLoad: (input) => dispatch("addons", "retryLoad", "mutation", input),
28090
28096
  getAutoUpdateSettings: (input) => dispatch("addons", "getAutoUpdateSettings", "query", input),
@@ -29172,8 +29178,8 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
29172
29178
  function systemEventFilterApplies(kind, filter) {
29173
29179
  if (LEGACY_KINDS_WITHOUT_FILTERS.has(kind)) return false;
29174
29180
  switch (filter) {
29175
- case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("recording-") || kind === "alarm-triggered";
29176
- case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-");
29181
+ case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("package-llm-") || kind.startsWith("recording-") || kind === "alarm-triggered";
29182
+ case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("package-llm-");
29177
29183
  case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated" || kind.startsWith("storage-location-") || kind.startsWith("alert-");
29178
29184
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
29179
29185
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
@@ -29230,6 +29236,8 @@ var NC_SYSTEM_EVENT_FAMILY = {
29230
29236
  "detection-blind": "device-events",
29231
29237
  "motion-noisy": "device-events",
29232
29238
  "motion-calm": "device-events",
29239
+ "package-llm-silent": "device-events",
29240
+ "package-llm-answered": "device-events",
29233
29241
  "recording-stalled": "device-events",
29234
29242
  "recording-healthy": "device-events",
29235
29243
  "recording-degraded": "device-events",
@@ -29331,6 +29339,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
29331
29339
  label: "Motion without a subject",
29332
29340
  kinds: ["motion-noisy", "motion-calm"]
29333
29341
  },
29342
+ {
29343
+ id: "package-llm",
29344
+ family: "device-events",
29345
+ label: "Package confirm",
29346
+ kinds: ["package-llm-silent", "package-llm-answered"]
29347
+ },
29334
29348
  {
29335
29349
  id: "recording",
29336
29350
  family: "device-events",
@@ -30328,6 +30342,8 @@ var DEVICE_EVENTS = [
30328
30342
  "detection-blind",
30329
30343
  "motion-noisy",
30330
30344
  "motion-calm",
30345
+ "package-llm-silent",
30346
+ "package-llm-answered",
30331
30347
  "recording-stalled",
30332
30348
  "recording-healthy",
30333
30349
  "recording-degraded",
@@ -30931,7 +30947,8 @@ var NC_TEMPLATE_VARS = [
30931
30947
  systemEventKinds: [
30932
30948
  "recording-degraded",
30933
30949
  ...DEVICE_ATTENTION,
30934
- ...ALERT_EPISODE
30950
+ ...ALERT_EPISODE,
30951
+ "package-llm-silent"
30935
30952
  ]
30936
30953
  },
30937
30954
  {
@@ -31024,7 +31041,8 @@ var NC_TEMPLATE_VARS = [
31024
31041
  systemEventKinds: [
31025
31042
  "storage-location-low",
31026
31043
  "storage-location-critical",
31027
- "storage-location-ok"
31044
+ "storage-location-ok",
31045
+ "package-llm-silent"
31028
31046
  ]
31029
31047
  },
31030
31048
  {
@@ -31435,7 +31453,9 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
31435
31453
  "device-attention-required",
31436
31454
  "device-attention-resolved",
31437
31455
  "rule-broken",
31438
- "rule-repaired"
31456
+ "rule-repaired",
31457
+ "package-llm-silent",
31458
+ "package-llm-answered"
31439
31459
  ];
31440
31460
  /**
31441
31461
  * Is this descriptor held back from the SERVED catalog as a whole (D647)?
@@ -31548,6 +31568,15 @@ var NC_SYSTEM_EVENT_CLASS_SPECS = [
31548
31568
  snapshotLabel: "Cameras with constant motion now",
31549
31569
  snapshotSection: null
31550
31570
  },
31571
+ {
31572
+ id: "package-llm-confirm",
31573
+ family: "device-events",
31574
+ label: "Package confirm (not answering / answering again)",
31575
+ bad: ["package-llm-silent"],
31576
+ recovery: ["package-llm-answered"],
31577
+ snapshotLabel: "Cameras whose package confirm is not answering",
31578
+ snapshotSection: null
31579
+ },
31551
31580
  {
31552
31581
  id: "recording-health",
31553
31582
  family: "device-events",
@@ -775,6 +775,7 @@ export declare const CompositionSchema: z.ZodObject<{
775
775
  templateId: typeof import("./index.js").GroupTemplateIdSchema;
776
776
  aggregate: typeof import("./index.js").AggregateReducerSchema;
777
777
  members: z.ZodArray<typeof import("./index.js").HelperMemberSchema>;
778
+ active: z.ZodOptional<typeof import("./index.js").ActiveCriterionSchema>;
778
779
  }, z.core.$strip>], "kind">>;
779
780
  }, z.core.$strip>;
780
781
  export type Composition = z.infer<typeof CompositionSchema>;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Actuator groups (D944 phase 1b). The active boolean is the binary reducer
3
+ * with unknown members left out. A command is one call per member that binds
4
+ * the cap, including members that are offline. One failure does not cancel
5
+ * the others.
6
+ */
7
+ import { DeviceFeature } from '../../device/device-type.js';
8
+ import type { ActiveCriterion, BinaryAggregate } from './spec.js';
9
+ /** Caps a light group may expose, in display order. Switch is the active state. */
10
+ export declare const LIGHT_SHARED_CAPS: readonly ['switch', 'brightness', 'color'];
11
+ export type LightSharedCap = (typeof LIGHT_SHARED_CAPS)[number];
12
+ /** How many member calls run at once. The rest wait; none are dropped. */
13
+ export declare const FAN_OUT_CONCURRENCY: number;
14
+ export interface FanOutMember {
15
+ readonly deviceId: number;
16
+ readonly caps: readonly string[];
17
+ /** Offline members are still commanded — they may wake. Not a reason to skip. */
18
+ readonly online: boolean;
19
+ }
20
+ export interface FanOutCall {
21
+ readonly deviceId: number;
22
+ readonly cap: string;
23
+ readonly method: string;
24
+ readonly args: Readonly<Record<string, unknown>>;
25
+ }
26
+ export interface FanOutOk {
27
+ readonly deviceId: number;
28
+ readonly ok: true;
29
+ }
30
+ export interface FanOutFailed {
31
+ readonly deviceId: number;
32
+ readonly ok: false;
33
+ readonly error: string;
34
+ }
35
+ export type FanOutMemberResult = FanOutOk | FanOutFailed;
36
+ /** `at-least-one` is any included member on; `all` is every included member on. */
37
+ export declare function reducerForActive(active: ActiveCriterion): BinaryAggregate;
38
+ export declare function activeForReducer(reducer: BinaryAggregate): ActiveCriterion;
39
+ /**
40
+ * Caps every member binds, from {@link LIGHT_SHARED_CAPS}. An empty member
41
+ * list shares nothing. A member that lacks colour drops colour from the group.
42
+ */
43
+ export declare function sharedLightCaps(memberCaps: readonly (readonly string[])[]): readonly string[];
44
+ /**
45
+ * Colour modes every member advertises. Offline does not remove a mode:
46
+ * the caller passes device features, not liveness. No members → no mode.
47
+ */
48
+ export declare function sharedColorModes(memberFeatures: readonly (readonly string[])[]): readonly DeviceFeature[];
49
+ /**
50
+ * One call per member that binds `cap`. Offline members stay in the list.
51
+ * A member without the cap is not called — the command cannot reach it.
52
+ */
53
+ export declare function fanOutTargets(members: readonly FanOutMember[], cap: string, method: string, args: Readonly<Record<string, unknown>>): readonly FanOutCall[];
54
+ /**
55
+ * Run every call. A throw is that member's result; the other calls still run.
56
+ * At most {@link FAN_OUT_CONCURRENCY} are in flight.
57
+ */
58
+ export declare function runFanOut(calls: readonly FanOutCall[], invoke: (call: FanOutCall) => Promise<void>): Promise<readonly FanOutMemberResult[]>;
@@ -16,14 +16,19 @@ export interface HelperCompanion {
16
16
  }
17
17
  export interface GroupTemplate {
18
18
  readonly id: GroupTemplateId;
19
- readonly family: 'numeric' | 'binary';
19
+ readonly family: 'numeric' | 'binary' | 'actuator';
20
20
  readonly summary: string;
21
21
  readonly deviceType: DeviceType;
22
- readonly role: DeviceRole;
22
+ readonly role: DeviceRole | undefined;
23
23
  /** Members are this one device type. */
24
24
  readonly memberDeviceType: DeviceType;
25
25
  readonly outputCap: string;
26
26
  readonly outputField: string;
27
+ /**
28
+ * Methods the composer fans out. Empty for a reading. A free composition
29
+ * still cannot serve these caps (`has-commands`).
30
+ */
31
+ readonly commandCaps: readonly string[];
27
32
  /** Quantity of the output reading. `device` is chosen per numeric sensor. */
28
33
  readonly quantity: ReadingQuantity;
29
34
  readonly baseUnit: string | undefined;
@@ -1,6 +1,7 @@
1
+ export { FAN_OUT_CONCURRENCY, LIGHT_SHARED_CAPS, type FanOutCall, type FanOutFailed, type FanOutMember, type FanOutMemberResult, type FanOutOk, type LightSharedCap, activeForReducer, fanOutTargets, reducerForActive, runFanOut, sharedColorModes, sharedLightCaps, } from './actuator.js';
1
2
  export { type AggregateCounts, type AggregateEmpty, type AggregateOutcome, type AggregatePublish, type AggregateReadResult, type AggregateUnavailable, type AggregateValue, type EvaluateAggregateInput, evaluateAggregate, } from './aggregate.js';
2
3
  export { type GroupTemplate, type HelperAccept, type HelperCompanion, GROUP_TEMPLATES, groupTemplate, } from './catalog.js';
3
4
  export { type HelperCompileResult, type HelperCompiled, type HelperRefused, compileHelper, sameHelperBody, templateDeviceType, } from './compile.js';
4
5
  export { type HelperMemberFact, helperSaveProblems, } from './save.js';
5
6
  export { type SourcePick, type SourcePickAccept, type SourcePickHistory, type SourcePickRequest, sourcePickForTemplate, } from './source-pick.js';
6
- export { AGGREGATE_REDUCERS, AggregateReducerSchema, BINARY_AGGREGATES, GROUP_TEMPLATE_IDS, GroupHelperSpecSchema, GroupTemplateIdSchema, HelperMemberSchema, HelperSpecSchema, MAX_HELPER_MEMBERS, NUMERIC_AGGREGATES, type AggregateReducer, type BinaryAggregate, type GroupHelperSpec, type GroupTemplateId, type HelperMember, type HelperSpec, type NumericAggregate, } from './spec.js';
7
+ export { ACTIVE_CRITERIA, AGGREGATE_REDUCERS, ActiveCriterionSchema, AggregateReducerSchema, BINARY_AGGREGATES, GROUP_TEMPLATE_IDS, GroupHelperSpecSchema, GroupTemplateIdSchema, HelperMemberSchema, HelperSpecSchema, MAX_HELPER_MEMBERS, NUMERIC_AGGREGATES, type ActiveCriterion, type AggregateReducer, type BinaryAggregate, type GroupHelperSpec, type GroupTemplateId, type HelperMember, type HelperSpec, type NumericAggregate, } from './spec.js';
@@ -6,16 +6,20 @@ import { z } from 'zod';
6
6
  import { CompositionSourceRefSchema } from '../source-ref.js';
7
7
  /** A group may name more members than an expression call (the 16-arg cap). */
8
8
  export declare const MAX_HELPER_MEMBERS: number;
9
- export declare const GROUP_TEMPLATE_IDS: readonly ['temperature', 'humidity', 'pressure', 'illuminance', 'power', 'energy', 'battery', 'numeric', 'motion', 'contact', 'leak', 'smoke', 'occupancy', 'binary'];
9
+ export declare const GROUP_TEMPLATE_IDS: readonly ['temperature', 'humidity', 'pressure', 'illuminance', 'power', 'energy', 'battery', 'numeric', 'motion', 'contact', 'leak', 'smoke', 'occupancy', 'binary', 'switch', 'light'];
10
10
  export type GroupTemplateId = (typeof GROUP_TEMPLATE_IDS)[number];
11
11
  export declare const NUMERIC_AGGREGATES: readonly ['mean', 'median', 'min', 'max', 'sum'];
12
12
  export type NumericAggregate = (typeof NUMERIC_AGGREGATES)[number];
13
13
  export declare const BINARY_AGGREGATES: readonly ['any', 'all'];
14
14
  export type BinaryAggregate = (typeof BINARY_AGGREGATES)[number];
15
+ /** How an actuator group decides it is on. Unknown members never count as off. */
16
+ export declare const ACTIVE_CRITERIA: readonly ['at-least-one', 'all'];
17
+ export type ActiveCriterion = (typeof ACTIVE_CRITERIA)[number];
15
18
  export declare const AGGREGATE_REDUCERS: readonly ['mean', 'median', 'min', 'max', 'sum', 'any', 'all'];
16
19
  export type AggregateReducer = (typeof AGGREGATE_REDUCERS)[number];
17
20
  export declare const GroupTemplateIdSchema: z.ZodType<GroupTemplateId>;
18
21
  export declare const AggregateReducerSchema: z.ZodType<AggregateReducer>;
22
+ export declare const ActiveCriterionSchema: z.ZodType<ActiveCriterion>;
19
23
  /** One member. The field is stored so occupancy can name motion or binary. */
20
24
  export declare const HelperMemberSchema: z.ZodObject<{
21
25
  source: typeof CompositionSourceRefSchema;
@@ -32,6 +36,7 @@ export declare const GroupHelperSpecSchema: z.ZodObject<{
32
36
  templateId: typeof GroupTemplateIdSchema;
33
37
  aggregate: typeof AggregateReducerSchema;
34
38
  members: z.ZodArray<typeof HelperMemberSchema>;
39
+ active: z.ZodOptional<typeof ActiveCriterionSchema>;
35
40
  }>;
36
41
  export type GroupHelperSpec = z.infer<typeof GroupHelperSpecSchema>;
37
42
  export declare const HelperSpecSchema: z.ZodDiscriminatedUnion<[typeof GroupHelperSpecSchema], 'kind'>;