@camstack/types 1.2.418 → 1.2.420

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 (46) 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.d.ts +1 -1
  13. package/dist/client.js +191 -5
  14. package/dist/client.mjs +191 -6
  15. package/dist/composition/composition.d.ts +1 -0
  16. package/dist/composition/helpers/actuator.d.ts +58 -0
  17. package/dist/composition/helpers/catalog.d.ts +7 -2
  18. package/dist/composition/helpers/index.d.ts +2 -1
  19. package/dist/composition/helpers/spec.d.ts +6 -1
  20. package/dist/{composition-B85l9j1M.mjs → composition-OhpuespA.mjs} +10 -3
  21. package/dist/{composition-OJKOJJD-.js → composition-re1aezX9.js} +21 -2
  22. package/dist/device/cap-vocabulary/entries/sensors.d.ts +1 -1
  23. package/dist/enums/event-category.d.ts +8 -0
  24. package/dist/enums.js +1 -1
  25. package/dist/enums.mjs +1 -1
  26. package/dist/{event-category-DXZ3f9Q5.js → event-category-Ave2VSxY.js} +8 -0
  27. package/dist/{event-category-DHXxB8t9.mjs → event-category-CT-hz5Rb.mjs} +8 -0
  28. package/dist/generated/addon-api.d.ts +21 -0
  29. package/dist/generated/cap-status-types.d.ts +3 -1
  30. package/dist/generated/capability-router-map.d.ts +5 -2
  31. package/dist/generated/device-local-state.d.ts +3 -0
  32. package/dist/generated/device-proxy.d.ts +3 -0
  33. package/dist/generated/device-scoped-caps.d.ts +1 -1
  34. package/dist/generated/history-catalog.d.ts +1 -1
  35. package/dist/generated/method-access-map.d.ts +1 -1
  36. package/dist/generated/method-device-selectors.d.ts +1 -1
  37. package/dist/generated/runtime-state-durability.d.ts +1 -1
  38. package/dist/generated/system-proxy.d.ts +1 -1
  39. package/dist/index.js +341 -19
  40. package/dist/index.mjs +328 -20
  41. package/dist/interfaces/event-bus.d.ts +15 -0
  42. package/dist/node.js +1 -1
  43. package/dist/node.mjs +1 -1
  44. package/dist/{sleep-7Gw3GJ4n.js → sleep-YJ6FVsUu.js} +8 -2
  45. package/dist/{sleep-B81gwQuR.mjs → sleep-bykKrTgu.mjs} +8 -2
  46. 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.d.ts CHANGED
@@ -14,5 +14,5 @@
14
14
  * value this entry does not export — a missing name here is `undefined` at
15
15
  * runtime, not a build error.
16
16
  */
17
- export { APPLE_SA_TO_MACRO, AUDIO_MACRO_LABELS, AlarmArmModeSchema, CLIP_BROKER_PACED_RATES, COCO_TO_MACRO, CamProfileSchema, ICON_CATEGORIES, ICON_ENTRIES, ICON_KEYS, ICON_VIEWER_MODULES, IconKeySchema, LOCATION_ICON_FALLBACK, DEFINITIVE_DEVICE_REFUSALS, DEVICE_CERT_RENEW_WINDOW_DAYS, DEVICE_DEFINITIVE_REFUSALS_BEFORE_DELETE, DEVICE_REFRESH_REFUSAL_PREFIX, DEVICE_CERT_SIGNATURE, DEVICE_SIGNATURE_MESSAGE_VERSION, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DeviceType, EVENTFUL_CAP_NAMES, EVENT_KIND_BY_CAP, EVENT_TAXONOMY, MACRO_LABELS, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CAMERA_SCOPE_CAP_NAME, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, NC_SYSTEM_EVENT_FAMILY_FILTERS, NC_SYSTEM_EVENT_CLASS_SPECS, NC_SYSTEM_EVENT_KIND_GROUP_SPECS, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, NcAlarmConfigSchema, NcAlarmSensorsSchema, NcAlarmSettingsPatchSchema, NcHistoryEntrySchema, NcRuleLastRunsSchema, NodeDirectorySchema, RECORDING_EXPORT_MAX_READ_BYTES, RETRAIN_REVIEW_ADJUSTED_IOU, RETRAIN_REVIEW_MATCH_IOU, RETRAIN_REVIEW_STATUSES, RETRAIN_REVISION_CONFLICT, SystemMirror, TIMELAPSE_DENSE_FLOOR_SEC, TimelapseRuleSchema, YAMNET_TO_MACRO, alarmDeviceBlocksArming, alarmDeviceSecureOnArm, alarmPatchLanded, canonicalIconKey, buildDeviceEnrollmentLink, buildDeviceSignatureMessage, deviceRefusalFromMessage, isDefinitiveDeviceRefusal, classifyRetrainReview, conditionVisibleForKind, createSystemProxy, droppedConditionsForKind, iconCategoryLabel, iconEntry, iconsInCategory, isIconKey, isHeldBackTemplateVar, isSystemRuleKind, kindsForDiscriminator, locationIconKey, knownValues, nodePickerItems, parseDeviceEnrollmentLink, packagePickerItems, pickerForCondition, pickerForRuleClasses, parseRetrainRevisionConflict, resolveIconKey, resolveModeDelays, retrainBoxIou, retrainRevisionConflictMessage, ruleDeviceCompatCapNames, ruleEditorSectionsForKind, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleSeedForSection, searchIcons, sensorTransitionNeverFires, sensorTransitionOffered, stateLabel, summarizeReview, systemEventClassesFor, systemEventClassKinds, systemEventDeliveryProblems, systemEventFilterAppliesToAnyKind, systemEventKindsOfFamily, systemFamilyOfKind, templateCarriesSummary, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, buildSubjectPath, isDrawableSubjectPath, projectSubjectPath, subjectPathSampleFromBox, subjectPathSvgPoints, expandSystemEventClasses, withSystemEventClasses, bundledCamstack, paintHex, paletteResultSchema, } from './index.js';
17
+ export { APPLE_SA_TO_MACRO, AUDIO_MACRO_LABELS, AlarmArmModeSchema, CLIP_BROKER_PACED_RATES, COCO_TO_MACRO, CamProfileSchema, ICON_CATEGORIES, ICON_ENTRIES, ICON_KEYS, ICON_VIEWER_MODULES, IconKeySchema, LOCATION_ICON_FALLBACK, DEFINITIVE_DEVICE_REFUSALS, DEVICE_CERT_RENEW_WINDOW_DAYS, DEVICE_DEFINITIVE_REFUSALS_BEFORE_DELETE, DEVICE_REFRESH_REFUSAL_PREFIX, DEVICE_CERT_SIGNATURE, DEVICE_SIGNATURE_MESSAGE_VERSION, DEFAULT_TIMELAPSE_PREVIEW_TEXT, DeviceType, EVENTFUL_CAP_NAMES, EVENT_KIND_BY_CAP, EVENT_TAXONOMY, MACRO_LABELS, NC_ALARM_DELAY_MAX_SEC, NC_ALARM_SENSORS_MAX, NC_ALARM_SYSTEM_EVENT_KINDS, NC_ALARM_TRIGGERED_MAX_SEC, NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS, NC_CAMERA_SCOPE_CAP_NAME, NC_CONSUMABLE_LOW_PERCENT_DEFAULT, NC_CONSUMABLE_LOW_PERCENT_MAX, NC_GROUPING_DEFAULT_SEC, NC_GROUPING_MAX_SEC, NC_GROUPING_MIN_SEC, NC_RULE_EDITOR_SECTION_ORDER, NC_RULE_KIND_SPECS, NC_SENSOR_TRANSITION_UNSUPPORTED_REASON, NC_SYSTEM_EVENT_FAMILY_FILTERS, NC_SYSTEM_EVENT_CLASS_SPECS, NC_SYSTEM_EVENT_KIND_GROUP_SPECS, NC_SYSTEM_EVENT_SUMMARY_FAMILIES, NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS, NC_TEMPLATE_VARS, NcAlarmConfigSchema, NcAlarmSensorsSchema, NcAlarmSettingsPatchSchema, NcHistoryEntrySchema, NcRuleLastRunsSchema, NodeDirectorySchema, RECORDING_EXPORT_MAX_READ_BYTES, RETRAIN_REVIEW_ADJUSTED_IOU, RETRAIN_REVIEW_MATCH_IOU, RETRAIN_REVIEW_STATUSES, RETRAIN_REVISION_CONFLICT, SystemMirror, TIMELAPSE_DENSE_FLOOR_SEC, TimelapseRuleSchema, YAMNET_TO_MACRO, alarmDeviceBlocksArming, alarmDeviceSecureOnArm, alarmPatchLanded, canonicalIconKey, buildDeviceEnrollmentLink, buildDeviceSignatureMessage, deviceRefusalFromMessage, isDefinitiveDeviceRefusal, classifyRetrainReview, conditionVisibleForKind, createSystemProxy, droppedConditionsForKind, iconCategoryLabel, iconEntry, iconsInCategory, isIconKey, isHeldBackTemplateVar, isSystemRuleKind, kindsForDiscriminator, locationIconKey, knownValues, nodePickerItems, parseDeviceEnrollmentLink, packagePickerItems, pickerForCondition, pickerForRuleClasses, parseRetrainRevisionConflict, resolveIconKey, resolveModeDelays, retrainBoxIou, retrainRevisionConflictMessage, ruleDeviceCompatCapNames, ruleEditorSectionsForKind, ruleGroupingApplies, ruleKindOf, ruleKindSpec, ruleSeedForSection, searchIcons, sensorTransitionNeverFires, sensorTransitionOffered, stateLabel, summarizeReview, systemEventClassesFor, systemEventClassKinds, systemEventDeliveryProblems, systemEventFilterAppliesToAnyKind, systemEventKindsOfFamily, systemFamilyOfKind, templateCarriesSummary, templateVarDeliveryApplies, templateVarKindApplies, templateVarSystemEventApplies, buildSubjectPath, isDrawableSubjectPath, projectSubjectPath, subjectPathSampleFromBox, subjectPathSvgPoints, expandSystemEventClasses, withSystemEventClasses, bundledCamstack, paintHex, paletteResultSchema, resolveContainerPrimaryChild, } from './index.js';
18
18
  export type { PaletteReady, PaletteResult, PaletteEntryId, PalettePresetId } from './index.js';
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",
@@ -26234,6 +26236,162 @@ method(zod.z.object({
26234
26236
  auth: "protected"
26235
26237
  });
26236
26238
  //#endregion
26239
+ //#region src/device/container-primary-child.ts
26240
+ /**
26241
+ * WHICH child a container stands for — one definition, for every consumer.
26242
+ *
26243
+ * A CONTAINER device has no controllable surface of its own: it groups entity
26244
+ * children (a Gree air-conditioner grouping a climate child plus light, x-fan
26245
+ * and health switches). Everything that has to show or act on a container has
26246
+ * to answer the same question — which child IS the container — and until now
26247
+ * three places answered it separately:
26248
+ *
26249
+ * - `ui-library/device-controls/primary-child.ts` (admin-ui rendering)
26250
+ * - `addon-provider-homeassistant` PARENT_TYPE_PRIORITY (adoption)
26251
+ * - the viewer's own `container-primary.ts` (linked-devices panel)
26252
+ *
26253
+ * Each carried the same list and a comment asking the others to stay in sync.
26254
+ * This is that list, in the one package all of them already depend on.
26255
+ *
26256
+ * `ui-library` and the server's linked-devices expansion IMPORT it. Two
26257
+ * consumers cannot, and keep a checked copy instead: the viewer resolves
26258
+ * `@camstack/types` from its own `node_modules` (an installed release, where a
26259
+ * newly added export simply is not there), and the Home Assistant provider
26260
+ * expresses the same precedence over the `DeviceType` enum because it answers
26261
+ * a different question from the same ordering. `scripts/check-container-
26262
+ * priority-in-sync.ts` fails the build when either drifts — the comment that
26263
+ * used to ask for this could not.
26264
+ *
26265
+ * The rule has two halves and the ORDER matters: an operator's explicit pick
26266
+ * wins outright, and only in its absence does type priority decide. The pick is
26267
+ * keyed on the child's re-sync-stable `entityId`, not its numeric id, so it
26268
+ * survives a re-sync that reallocates ids.
26269
+ */
26270
+ /**
26271
+ * Type priority, most→least "primary". An actuator (climate / lock / cover / …)
26272
+ * outranks a bare `switch` so a container's defining child wins over its
26273
+ * auxiliary switches. Unknown or absent types sort after every entry.
26274
+ *
26275
+ * NB: `siren` deliberately sits BELOW `switch` — it is a switch-family
26276
+ * actuator, and a camera's siren must not out-rank the thing the container is.
26277
+ *
26278
+ * These strings are matched against a child's `DeviceType` VALUE, so they must
26279
+ * equal the enum's string values.
26280
+ */
26281
+ var CONTAINER_CHILD_PRIORITY = [
26282
+ "media-player",
26283
+ "alarm-panel",
26284
+ "thermostat",
26285
+ "climate",
26286
+ "humidifier",
26287
+ "water-heater",
26288
+ "lock",
26289
+ "cover",
26290
+ "valve",
26291
+ "fan",
26292
+ "vacuum",
26293
+ "lawn-mower",
26294
+ "dishwasher",
26295
+ "light",
26296
+ "switch",
26297
+ "siren",
26298
+ "button",
26299
+ "control",
26300
+ "notifier",
26301
+ "script",
26302
+ "automation",
26303
+ "update",
26304
+ "presence",
26305
+ "weather",
26306
+ "image",
26307
+ "sensor"
26308
+ ];
26309
+ /**
26310
+ * Roles that say what a container IS, most→least defining. Consulted BEFORE
26311
+ * type priority, because `DeviceType` cannot tell them apart: Home Assistant
26312
+ * maps a door contact, a battery level, a temperature reading and a "last seen"
26313
+ * timestamp all to `DeviceType.Sensor`. Measured on container 4127 — children
26314
+ * `battery-sensor`, `temperature-sensor`, `datetime-sensor`, `contact-sensor`
26315
+ * and a role-less `button` — the type list ranked `button` above `sensor` and
26316
+ * the container stood for its "Identifica" button instead of the door contact
26317
+ * it is named after.
26318
+ *
26319
+ * Only STATE-DEFINING roles belong here. A diagnostic reading (battery,
26320
+ * temperature, humidity, signal, last-seen) is never what a container is, so
26321
+ * they are deliberately absent and fall through to type priority.
26322
+ */
26323
+ var CONTAINER_CHILD_ROLE_PRIORITY = [
26324
+ "contact-sensor",
26325
+ "motion-sensor",
26326
+ "occupancy-sensor",
26327
+ "smoke-sensor",
26328
+ "co-sensor",
26329
+ "gas-sensor",
26330
+ "leak-sensor",
26331
+ "vibration-sensor",
26332
+ "tamper-sensor",
26333
+ "sound-sensor"
26334
+ ];
26335
+ /**
26336
+ * NOT in the list, deliberately: `binary-sensor` and `binary-helper`. They are
26337
+ * GENERIC — they say "this reports a boolean", not what the container is — and
26338
+ * ranking them above type priority is a live regression, not a hypothetical:
26339
+ * container 1837 holds a real `lock` (features `['lock-open']`) alongside a
26340
+ * child named "Actuator" whose only role is `binary-sensor`, and the generic
26341
+ * role beat the lock. A role earns a place here by naming a SUBJECT (a contact,
26342
+ * a leak, smoke), never by naming a datatype.
26343
+ */
26344
+ function roleRank(role) {
26345
+ if (role === void 0) return CONTAINER_CHILD_ROLE_PRIORITY.length;
26346
+ const i = CONTAINER_CHILD_ROLE_PRIORITY.indexOf(role);
26347
+ return i === -1 ? CONTAINER_CHILD_ROLE_PRIORITY.length : i;
26348
+ }
26349
+ function rank(type) {
26350
+ const i = CONTAINER_CHILD_PRIORITY.indexOf(type);
26351
+ return i === -1 ? CONTAINER_CHILD_PRIORITY.length : i;
26352
+ }
26353
+ /**
26354
+ * The child a container stands for: the operator's pick when it still exists,
26355
+ * else the highest-priority type. `null` for a childless container — a caller
26356
+ * must decide what an empty container means for it, rather than being handed a
26357
+ * child that is not there.
26358
+ */
26359
+ /**
26360
+ * Two names for the same thing, compared the way an integration writes them.
26361
+ *
26362
+ * An exact case-insensitive match was not enough, and the failure was total
26363
+ * rather than marginal. An ESPHome shutter arrives as a container named
26364
+ * `Tapparella-Kitchen` whose children include the COVER, named `Tapparella
26365
+ * kitchen`, and a device-presence entity carrying the slug verbatim,
26366
+ * `tapparella-kitchen`. The slug matched the container exactly and the cover
26367
+ * did not, so the namesake tie-break handed the container to a connectivity
26368
+ * indicator — and the viewer's accessory panel, which correctly shows only
26369
+ * children with an actuating control, then rendered NOTHING. The operator saw
26370
+ * no shutters at all on kitchen, studio and both porch cameras (2026-09-22).
26371
+ *
26372
+ * `Markise` was the control case that proved the mechanism: there the cover
26373
+ * really is called exactly like its container, so it won and appeared.
26374
+ *
26375
+ * Separators are therefore normalised — `-`, `_` and whitespace are the same
26376
+ * character for this comparison, and runs of them collapse. The two candidates
26377
+ * then tie on the namesake and the decision falls through to `rank(type)`,
26378
+ * where `cover` is eighth and a `presence` entity is not listed at all. The
26379
+ * criterion keeps doing its job for a container whose child IS the namesake;
26380
+ * it stops being decided by which integration used a hyphen.
26381
+ */
26382
+ function sameName(childName, containerName) {
26383
+ const flatten = (v) => v.toLowerCase().replace(/[-_\s]+/g, " ").trim();
26384
+ return flatten(childName) === flatten(containerName);
26385
+ }
26386
+ function resolveContainerPrimaryChild(children, overrideEntityId, containerName) {
26387
+ if (overrideEntityId !== void 0 && overrideEntityId !== null) {
26388
+ const picked = children.find((c) => c.stableId === overrideEntityId) ?? children.find((c) => c.entityId !== void 0 && c.entityId === overrideEntityId);
26389
+ if (picked !== void 0) return picked;
26390
+ }
26391
+ const namesake = (c) => containerName !== void 0 && containerName.length > 0 && c.name !== void 0 && sameName(c.name, containerName) ? 0 : 1;
26392
+ return [...children].toSorted((a, b) => roleRank(a.role) - roleRank(b.role) || namesake(a) - namesake(b) || rank(a.type) - rank(b.type))[0] ?? null;
26393
+ }
26394
+ //#endregion
26237
26395
  //#region src/device/device-state-handle.ts
26238
26396
  var DEVICE_STATE_EVENT_CATEGORY = "device.state-changed";
26239
26397
  /**
@@ -26668,6 +26826,7 @@ function createDeviceProxy(api, binding, opts) {
26668
26826
  const featureProbeInterface = { getStatus: (input) => dispatch("feature-probe", "featureProbe", "getStatus", "query", input) };
26669
26827
  const floodInterface = { getStatus: (input) => dispatch("flood", "flood", "getStatus", "query", input) };
26670
26828
  const gasInterface = { getStatus: (input) => dispatch("gas", "gas", "getStatus", "query", input) };
26829
+ const groupCommandsInterface = { getStatus: (input) => dispatch("group-commands", "groupCommands", "getStatus", "query", input) };
26671
26830
  const groupStatusInterface = { getStatus: (input) => dispatch("group-status", "groupStatus", "getStatus", "query", input) };
26672
26831
  const heatingValveInterface = { getStatus: (input) => dispatch("heating-valve", "heatingValve", "getStatus", "query", input) };
26673
26832
  const humidifierInterface = {
@@ -27223,6 +27382,7 @@ function createDeviceProxy(api, binding, opts) {
27223
27382
  featureProbe: createSliceHandle(stateSource, binding.deviceId, "feature-probe"),
27224
27383
  flood: createSliceHandle(stateSource, binding.deviceId, "flood"),
27225
27384
  gas: createSliceHandle(stateSource, binding.deviceId, "gas"),
27385
+ groupCommands: createSliceHandle(stateSource, binding.deviceId, "group-commands"),
27226
27386
  groupStatus: createSliceHandle(stateSource, binding.deviceId, "group-status"),
27227
27387
  heatingValve: createSliceHandle(stateSource, binding.deviceId, "heating-valve"),
27228
27388
  humidifier: createSliceHandle(stateSource, binding.deviceId, "humidifier"),
@@ -27307,6 +27467,7 @@ function createDeviceProxy(api, binding, opts) {
27307
27467
  ...bound("feature-probe") ? { featureProbe: featureProbeInterface } : {},
27308
27468
  ...bound("flood") ? { flood: floodInterface } : {},
27309
27469
  ...bound("gas") ? { gas: gasInterface } : {},
27470
+ ...bound("group-commands") ? { groupCommands: groupCommandsInterface } : {},
27310
27471
  ...bound("group-status") ? { groupStatus: groupStatusInterface } : {},
27311
27472
  ...bound("heating-valve") ? { heatingValve: heatingValveInterface } : {},
27312
27473
  ...bound("humidifier") ? { humidifier: humidifierInterface } : {},
@@ -28086,6 +28247,7 @@ function createSystemProxy(api) {
28086
28247
  listCapabilityProviders: (input) => dispatch("addons", "listCapabilityProviders", "query", input),
28087
28248
  setCapabilityProviderEnabled: (input) => dispatch("addons", "setCapabilityProviderEnabled", "mutation", input),
28088
28249
  getVersions: (input) => dispatch("addons", "getVersions", "query", input),
28250
+ getPackageDocs: (input) => dispatch("addons", "getPackageDocs", "query", input),
28089
28251
  restartAddon: (input) => dispatch("addons", "restartAddon", "mutation", input),
28090
28252
  retryLoad: (input) => dispatch("addons", "retryLoad", "mutation", input),
28091
28253
  getAutoUpdateSettings: (input) => dispatch("addons", "getAutoUpdateSettings", "query", input),
@@ -29173,8 +29335,8 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
29173
29335
  function systemEventFilterApplies(kind, filter) {
29174
29336
  if (LEGACY_KINDS_WITHOUT_FILTERS.has(kind)) return false;
29175
29337
  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-");
29338
+ 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";
29339
+ case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("package-llm-");
29178
29340
  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
29341
  case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
29180
29342
  case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
@@ -29231,6 +29393,8 @@ var NC_SYSTEM_EVENT_FAMILY = {
29231
29393
  "detection-blind": "device-events",
29232
29394
  "motion-noisy": "device-events",
29233
29395
  "motion-calm": "device-events",
29396
+ "package-llm-silent": "device-events",
29397
+ "package-llm-answered": "device-events",
29234
29398
  "recording-stalled": "device-events",
29235
29399
  "recording-healthy": "device-events",
29236
29400
  "recording-degraded": "device-events",
@@ -29332,6 +29496,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
29332
29496
  label: "Motion without a subject",
29333
29497
  kinds: ["motion-noisy", "motion-calm"]
29334
29498
  },
29499
+ {
29500
+ id: "package-llm",
29501
+ family: "device-events",
29502
+ label: "Package confirm",
29503
+ kinds: ["package-llm-silent", "package-llm-answered"]
29504
+ },
29335
29505
  {
29336
29506
  id: "recording",
29337
29507
  family: "device-events",
@@ -30329,6 +30499,8 @@ var DEVICE_EVENTS = [
30329
30499
  "detection-blind",
30330
30500
  "motion-noisy",
30331
30501
  "motion-calm",
30502
+ "package-llm-silent",
30503
+ "package-llm-answered",
30332
30504
  "recording-stalled",
30333
30505
  "recording-healthy",
30334
30506
  "recording-degraded",
@@ -30932,7 +31104,8 @@ var NC_TEMPLATE_VARS = [
30932
31104
  systemEventKinds: [
30933
31105
  "recording-degraded",
30934
31106
  ...DEVICE_ATTENTION,
30935
- ...ALERT_EPISODE
31107
+ ...ALERT_EPISODE,
31108
+ "package-llm-silent"
30936
31109
  ]
30937
31110
  },
30938
31111
  {
@@ -31025,7 +31198,8 @@ var NC_TEMPLATE_VARS = [
31025
31198
  systemEventKinds: [
31026
31199
  "storage-location-low",
31027
31200
  "storage-location-critical",
31028
- "storage-location-ok"
31201
+ "storage-location-ok",
31202
+ "package-llm-silent"
31029
31203
  ]
31030
31204
  },
31031
31205
  {
@@ -31436,7 +31610,9 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
31436
31610
  "device-attention-required",
31437
31611
  "device-attention-resolved",
31438
31612
  "rule-broken",
31439
- "rule-repaired"
31613
+ "rule-repaired",
31614
+ "package-llm-silent",
31615
+ "package-llm-answered"
31440
31616
  ];
31441
31617
  /**
31442
31618
  * Is this descriptor held back from the SERVED catalog as a whole (D647)?
@@ -31549,6 +31725,15 @@ var NC_SYSTEM_EVENT_CLASS_SPECS = [
31549
31725
  snapshotLabel: "Cameras with constant motion now",
31550
31726
  snapshotSection: null
31551
31727
  },
31728
+ {
31729
+ id: "package-llm-confirm",
31730
+ family: "device-events",
31731
+ label: "Package confirm (not answering / answering again)",
31732
+ bad: ["package-llm-silent"],
31733
+ recovery: ["package-llm-answered"],
31734
+ snapshotLabel: "Cameras whose package confirm is not answering",
31735
+ snapshotSection: null
31736
+ },
31552
31737
  {
31553
31738
  id: "recording-health",
31554
31739
  family: "device-events",
@@ -32302,6 +32487,7 @@ exports.parseRetrainRevisionConflict = parseRetrainRevisionConflict;
32302
32487
  exports.pickerForCondition = pickerForCondition;
32303
32488
  exports.pickerForRuleClasses = pickerForRuleClasses;
32304
32489
  exports.projectSubjectPath = projectSubjectPath;
32490
+ exports.resolveContainerPrimaryChild = resolveContainerPrimaryChild;
32305
32491
  exports.resolveIconKey = resolveIconKey;
32306
32492
  exports.resolveModeDelays = resolveModeDelays;
32307
32493
  exports.retrainBoxIou = retrainBoxIou;