@awarevue/api-types 2.0.24 → 2.0.26

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 (139) hide show
  1. package/dist/_legacy/index.js +18 -2
  2. package/dist/_legacy/milestone.js +2 -1
  3. package/dist/_legacy/orchid.js +2 -1
  4. package/dist/alarm-automation.js +37 -26
  5. package/dist/api/agent-protocol/index.js +17 -1
  6. package/dist/api/agent-protocol/protocol.js +219 -212
  7. package/dist/api/commands/alarm.js +46 -43
  8. package/dist/api/commands/all.js +25 -22
  9. package/dist/api/commands/camera-lift.js +13 -10
  10. package/dist/api/commands/camera.js +65 -61
  11. package/dist/api/commands/display.js +27 -24
  12. package/dist/api/commands/door.js +21 -18
  13. package/dist/api/commands/index.js +28 -12
  14. package/dist/api/commands/intercom-terminal.js +2 -1
  15. package/dist/api/commands/io-board.js +11 -8
  16. package/dist/api/commands/nvr-exporter.js +20 -17
  17. package/dist/api/commands/pbx.js +13 -10
  18. package/dist/api/commands/presence-tracker.js +25 -22
  19. package/dist/api/commands/server.js +21 -18
  20. package/dist/api/error.js +93 -89
  21. package/dist/api/events/alarm.js +53 -50
  22. package/dist/api/events/all.js +57 -53
  23. package/dist/api/events/camera.js +68 -65
  24. package/dist/api/events/display.js +6 -3
  25. package/dist/api/events/door.js +60 -57
  26. package/dist/api/events/index.js +28 -12
  27. package/dist/api/events/intercom-terminal.js +16 -13
  28. package/dist/api/events/io-board.js +10 -7
  29. package/dist/api/events/nvr-exporter.js +14 -11
  30. package/dist/api/events/panic-button.js +8 -5
  31. package/dist/api/events/presence-tracker.js +29 -26
  32. package/dist/api/events/reader.js +11 -8
  33. package/dist/api/events/server.js +12 -9
  34. package/dist/api/index.js +25 -9
  35. package/dist/api/mqtt/index.js +17 -1
  36. package/dist/api/mqtt/payloads.js +15 -12
  37. package/dist/api/queries/all.js +23 -20
  38. package/dist/api/queries/camera.js +19 -16
  39. package/dist/api/queries/index.js +21 -5
  40. package/dist/api/queries/nvr-analytics-server.js +57 -54
  41. package/dist/api/queries/nvr-exporter.js +26 -23
  42. package/dist/api/queries/nvr-recorder.js +32 -29
  43. package/dist/api/rest/access-rule.js +14 -8
  44. package/dist/api/rest/agreement.js +6 -3
  45. package/dist/api/rest/alarm.js +2 -1
  46. package/dist/api/rest/api-keys.js +11 -8
  47. package/dist/api/rest/app.js +11 -8
  48. package/dist/api/rest/auth.js +12 -9
  49. package/dist/api/rest/automation.js +13 -10
  50. package/dist/api/rest/aware-config.js +2 -1
  51. package/dist/api/rest/bookmarks.js +17 -14
  52. package/dist/api/rest/cast.js +11 -5
  53. package/dist/api/rest/custom-field.js +6 -3
  54. package/dist/api/rest/device-event.js +2 -1
  55. package/dist/api/rest/device-group.js +19 -13
  56. package/dist/api/rest/file.js +2 -1
  57. package/dist/api/rest/index.js +50 -34
  58. package/dist/api/rest/io-device.js +21 -14
  59. package/dist/api/rest/layout.js +23 -17
  60. package/dist/api/rest/macros.js +6 -3
  61. package/dist/api/rest/media.js +55 -52
  62. package/dist/api/rest/module-config.js +2 -1
  63. package/dist/api/rest/notifications.js +11 -8
  64. package/dist/api/rest/person-agreement.js +11 -5
  65. package/dist/api/rest/person-presence.js +26 -23
  66. package/dist/api/rest/person-type.js +6 -3
  67. package/dist/api/rest/person.js +11 -5
  68. package/dist/api/rest/query.js +13 -8
  69. package/dist/api/rest/schedule.js +11 -8
  70. package/dist/api/rest/security-level.js +6 -3
  71. package/dist/api/rest/template.js +13 -10
  72. package/dist/api/rest/token-conversion.js +6 -3
  73. package/dist/api/rest/user.js +31 -28
  74. package/dist/api/rest/view.js +20 -14
  75. package/dist/api/rest/webrtc-playback.js +12 -6
  76. package/dist/api/rest/zone.js +14 -8
  77. package/dist/api/state/index.js +2 -1
  78. package/dist/api/ws/device-communication.js +46 -38
  79. package/dist/api/ws/index.js +21 -5
  80. package/dist/api/ws/notifications.js +17 -10
  81. package/dist/api/ws/progress.js +37 -30
  82. package/dist/api/ws/web-rtc-signaling.js +72 -65
  83. package/dist/api/ws/web-socket.js +5 -2
  84. package/dist/index.js +22 -6
  85. package/dist/objects/access-rule.js +32 -29
  86. package/dist/objects/agent-metadata.js +33 -30
  87. package/dist/objects/agreement.js +10 -7
  88. package/dist/objects/all.js +7 -4
  89. package/dist/objects/api-key.js +10 -7
  90. package/dist/objects/automation-rule.js +28 -25
  91. package/dist/objects/bookmark.js +14 -11
  92. package/dist/objects/credential.js +15 -9
  93. package/dist/objects/custom-field.js +11 -8
  94. package/dist/objects/device/alarm.js +6 -3
  95. package/dist/objects/device/any-device.js +206 -203
  96. package/dist/objects/device/camera-lift.js +6 -3
  97. package/dist/objects/device/camera.js +30 -27
  98. package/dist/objects/device/device-gateway.js +4 -1
  99. package/dist/objects/device/device-import.js +26 -23
  100. package/dist/objects/device/device-relation.js +16 -13
  101. package/dist/objects/device/display.js +6 -3
  102. package/dist/objects/device/door.js +10 -7
  103. package/dist/objects/device/index.js +38 -22
  104. package/dist/objects/device/intercom-operator.js +4 -1
  105. package/dist/objects/device/intercom-terminal.js +20 -17
  106. package/dist/objects/device/io-board.js +8 -5
  107. package/dist/objects/device/motion-sensor.js +6 -3
  108. package/dist/objects/device/nvr-analytics-server.js +8 -5
  109. package/dist/objects/device/nvr-exporter.js +9 -6
  110. package/dist/objects/device/nvr-recorder.js +8 -5
  111. package/dist/objects/device/panic-button.js +6 -3
  112. package/dist/objects/device/pbx.js +7 -4
  113. package/dist/objects/device/presence-tracker.js +4 -1
  114. package/dist/objects/device/reader.js +4 -1
  115. package/dist/objects/device/server.js +4 -1
  116. package/dist/objects/device/system.js +7 -4
  117. package/dist/objects/device-group.js +11 -8
  118. package/dist/objects/index.js +44 -28
  119. package/dist/objects/layout.js +23 -20
  120. package/dist/objects/macro.js +20 -17
  121. package/dist/objects/module-config.js +2 -1
  122. package/dist/objects/notification.js +15 -12
  123. package/dist/objects/person-agreement.js +10 -7
  124. package/dist/objects/person-presence.js +32 -29
  125. package/dist/objects/person-type.js +17 -11
  126. package/dist/objects/person.js +42 -39
  127. package/dist/objects/role.js +11 -8
  128. package/dist/objects/schedule.js +45 -39
  129. package/dist/objects/security-level.js +13 -10
  130. package/dist/objects/template.js +10 -7
  131. package/dist/objects/token-conversion.js +10 -7
  132. package/dist/objects/user.js +14 -11
  133. package/dist/objects/view.js +53 -50
  134. package/dist/objects/world-object.js +8 -5
  135. package/dist/objects/zone.js +16 -13
  136. package/dist/package.json +1 -1
  137. package/dist/permissions.js +149 -146
  138. package/dist/primitives.js +30 -27
  139. package/package.json +1 -1
@@ -1,30 +1,33 @@
1
- import { sPersonId, sZoneId } from '../../primitives';
2
- import { z } from 'zod';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.presenceTrackerCommands = exports.sTogglePresenceCommand = exports.sCheckOutPersonCommand = exports.sCheckInPersonCommand = void 0;
4
+ const primitives_1 = require("../../primitives");
5
+ const zod_1 = require("zod");
3
6
  // COMMANDS
4
- export const sCheckInPersonCommand = z.object({
5
- command: z.literal('presence-tracker.check-in'),
6
- params: z.object({
7
- personId: sPersonId,
8
- zoneId: sZoneId.nullable(),
7
+ exports.sCheckInPersonCommand = zod_1.z.object({
8
+ command: zod_1.z.literal('presence-tracker.check-in'),
9
+ params: zod_1.z.object({
10
+ personId: primitives_1.sPersonId,
11
+ zoneId: primitives_1.sZoneId.nullable(),
9
12
  }),
10
13
  });
11
- export const sCheckOutPersonCommand = z.object({
12
- command: z.literal('presence-tracker.check-out'),
13
- params: z.object({
14
- personId: sPersonId,
15
- zoneId: sZoneId.nullable(),
16
- leave: z.boolean(),
14
+ exports.sCheckOutPersonCommand = zod_1.z.object({
15
+ command: zod_1.z.literal('presence-tracker.check-out'),
16
+ params: zod_1.z.object({
17
+ personId: primitives_1.sPersonId,
18
+ zoneId: primitives_1.sZoneId.nullable(),
19
+ leave: zod_1.z.boolean(),
17
20
  }),
18
21
  });
19
- export const sTogglePresenceCommand = z.object({
20
- command: z.literal('presence-tracker.toggle-presence'),
21
- params: z.object({
22
- personId: sPersonId,
23
- zoneId: sZoneId.nullable(),
22
+ exports.sTogglePresenceCommand = zod_1.z.object({
23
+ command: zod_1.z.literal('presence-tracker.toggle-presence'),
24
+ params: zod_1.z.object({
25
+ personId: primitives_1.sPersonId,
26
+ zoneId: primitives_1.sZoneId.nullable(),
24
27
  }),
25
28
  });
26
- export const presenceTrackerCommands = {
27
- 'presence-tracker.check-in': sCheckInPersonCommand,
28
- 'presence-tracker.check-out': sCheckOutPersonCommand,
29
- 'presence-tracker.toggle-presence': sTogglePresenceCommand,
29
+ exports.presenceTrackerCommands = {
30
+ 'presence-tracker.check-in': exports.sCheckInPersonCommand,
31
+ 'presence-tracker.check-out': exports.sCheckOutPersonCommand,
32
+ 'presence-tracker.toggle-presence': exports.sTogglePresenceCommand,
30
33
  };
@@ -1,24 +1,27 @@
1
- import { z } from 'zod';
2
- import { sDeviceParam, sMacroId, sNotificationSeverity, } from '../../primitives';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serverCommands = exports.sNotify = exports.sRunMacroCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const primitives_1 = require("../../primitives");
3
6
  // COMMANDS
4
- export const sRunMacroCommand = z.object({
5
- command: z.literal('server.run-macro'),
6
- params: z.object({
7
- macroId: sMacroId,
7
+ exports.sRunMacroCommand = zod_1.z.object({
8
+ command: zod_1.z.literal('server.run-macro'),
9
+ params: zod_1.z.object({
10
+ macroId: primitives_1.sMacroId,
8
11
  }),
9
12
  });
10
- export const sNotify = z.object({
11
- command: z.literal('server.notify'),
12
- params: z.object({
13
- source: sDeviceParam,
14
- message: z.string().nonempty(),
15
- severity: sNotificationSeverity,
16
- metadata: z.record(z.unknown()),
17
- notificationRef: z.string().nonempty().nullable(),
18
- recipientId: z.string().nonempty().nullable(),
13
+ exports.sNotify = zod_1.z.object({
14
+ command: zod_1.z.literal('server.notify'),
15
+ params: zod_1.z.object({
16
+ source: primitives_1.sDeviceParam,
17
+ message: zod_1.z.string().nonempty(),
18
+ severity: primitives_1.sNotificationSeverity,
19
+ metadata: zod_1.z.record(zod_1.z.unknown()),
20
+ notificationRef: zod_1.z.string().nonempty().nullable(),
21
+ recipientId: zod_1.z.string().nonempty().nullable(),
19
22
  }),
20
23
  });
21
- export const serverCommands = {
22
- 'server.run-macro': sRunMacroCommand,
23
- 'server.notify': sNotify,
24
+ exports.serverCommands = {
25
+ 'server.run-macro': exports.sRunMacroCommand,
26
+ 'server.notify': exports.sNotify,
24
27
  };
package/dist/api/error.js CHANGED
@@ -1,45 +1,49 @@
1
- import { z } from 'zod';
2
- import { sCredentialType } from '../objects/credential';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorMetadataSchemas = exports.AppErrorCode = exports.sTokenLimitExceededMeta = exports.sTokenInvalidFormatMeta = exports.sZoneAccessRuleConflictMeta = exports.sAccessRuleConflictMeta = exports.sVoidMeta = exports.sConflictMeta = exports.sInvalidMeta = exports.sNotFoundMeta = exports.sDuplicateMeta = void 0;
4
+ exports.isErrorResponse = isErrorResponse;
5
+ const zod_1 = require("zod");
6
+ const credential_1 = require("../objects/credential");
3
7
  // METADATA
4
- export const sDuplicateMeta = z.object({
5
- subject: z.string(),
6
- field: z.string(),
7
- value: z.string().optional(),
8
- existingId: z.string().optional(), // UUID or whatever
8
+ exports.sDuplicateMeta = zod_1.z.object({
9
+ subject: zod_1.z.string(),
10
+ field: zod_1.z.string(),
11
+ value: zod_1.z.string().optional(),
12
+ existingId: zod_1.z.string().optional(), // UUID or whatever
9
13
  });
10
- export const sNotFoundMeta = z.object({
11
- subject: z.string(),
12
- field: z.string(),
13
- value: z.string(),
14
+ exports.sNotFoundMeta = zod_1.z.object({
15
+ subject: zod_1.z.string(),
16
+ field: zod_1.z.string(),
17
+ value: zod_1.z.string(),
14
18
  });
15
- export const sInvalidMeta = z.object({
16
- subject: z.string(),
17
- fieldErrors: z.record(z.string()), // key → human msg
19
+ exports.sInvalidMeta = zod_1.z.object({
20
+ subject: zod_1.z.string(),
21
+ fieldErrors: zod_1.z.record(zod_1.z.string()), // key → human msg
18
22
  });
19
- export const sConflictMeta = z.object({
20
- subject: z.string(),
21
- blockingSubject: z.string().optional(),
22
- blockingId: z.string().optional(),
23
- value: z.string().optional(),
23
+ exports.sConflictMeta = zod_1.z.object({
24
+ subject: zod_1.z.string(),
25
+ blockingSubject: zod_1.z.string().optional(),
26
+ blockingId: zod_1.z.string().optional(),
27
+ value: zod_1.z.string().optional(),
24
28
  });
25
- export const sVoidMeta = z.object({}).strict();
26
- export const sAccessRuleConflictMeta = z.object({
27
- deviceSchedules: z.record(z.string(), z.array(z.string())),
29
+ exports.sVoidMeta = zod_1.z.object({}).strict();
30
+ exports.sAccessRuleConflictMeta = zod_1.z.object({
31
+ deviceSchedules: zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string())),
28
32
  });
29
- export const sZoneAccessRuleConflictMeta = z.object({
30
- zoneId: z.string(),
31
- accessRuleIds: z.array(z.string()),
33
+ exports.sZoneAccessRuleConflictMeta = zod_1.z.object({
34
+ zoneId: zod_1.z.string(),
35
+ accessRuleIds: zod_1.z.array(zod_1.z.string()),
32
36
  });
33
- export const sTokenInvalidFormatMeta = z.object({
34
- token: z.string(),
35
- expectedFormat: z.string(),
37
+ exports.sTokenInvalidFormatMeta = zod_1.z.object({
38
+ token: zod_1.z.string(),
39
+ expectedFormat: zod_1.z.string(),
36
40
  });
37
- export const sTokenLimitExceededMeta = z.object({
38
- limit: z.number(),
39
- type: sCredentialType,
41
+ exports.sTokenLimitExceededMeta = zod_1.z.object({
42
+ limit: zod_1.z.number(),
43
+ type: credential_1.sCredentialType,
40
44
  });
41
45
  // ERROR CODES
42
- export var AppErrorCode;
46
+ var AppErrorCode;
43
47
  (function (AppErrorCode) {
44
48
  // generic
45
49
  AppErrorCode["RESOURCE_ALREADY_EXISTS"] = "RESOURCE_ALREADY_EXISTS";
@@ -106,74 +110,74 @@ export var AppErrorCode;
106
110
  AppErrorCode["VIEW_ALREADY_EXISTS"] = "VIEW_ALREADY_EXISTS";
107
111
  // config
108
112
  AppErrorCode["CONFIG_INVALID"] = "CONFIG_INVALID";
109
- })(AppErrorCode || (AppErrorCode = {}));
110
- export const errorMetadataSchemas = {
111
- [AppErrorCode.RESOURCE_ALREADY_EXISTS]: sDuplicateMeta,
112
- [AppErrorCode.RESOURCE_NOT_FOUND]: sNotFoundMeta,
113
- [AppErrorCode.RESOURCE_INVALID]: sInvalidMeta,
114
- [AppErrorCode.RESOURCE_IN_USE]: sConflictMeta,
115
- [AppErrorCode.RESOURCE_NOT_SUPPORTED]: sVoidMeta,
116
- [AppErrorCode.RESOURCE_FORBIDDEN]: sVoidMeta,
117
- [AppErrorCode.BAD_REFERENCE]: sVoidMeta,
113
+ })(AppErrorCode || (exports.AppErrorCode = AppErrorCode = {}));
114
+ exports.errorMetadataSchemas = {
115
+ [AppErrorCode.RESOURCE_ALREADY_EXISTS]: exports.sDuplicateMeta,
116
+ [AppErrorCode.RESOURCE_NOT_FOUND]: exports.sNotFoundMeta,
117
+ [AppErrorCode.RESOURCE_INVALID]: exports.sInvalidMeta,
118
+ [AppErrorCode.RESOURCE_IN_USE]: exports.sConflictMeta,
119
+ [AppErrorCode.RESOURCE_NOT_SUPPORTED]: exports.sVoidMeta,
120
+ [AppErrorCode.RESOURCE_FORBIDDEN]: exports.sVoidMeta,
121
+ [AppErrorCode.BAD_REFERENCE]: exports.sVoidMeta,
118
122
  // access
119
- [AppErrorCode.ACCESS_RULE_NOT_FOUND]: sNotFoundMeta,
120
- [AppErrorCode.ACCESS_RULE_PERMISSION_CONFLICT]: sAccessRuleConflictMeta,
123
+ [AppErrorCode.ACCESS_RULE_NOT_FOUND]: exports.sNotFoundMeta,
124
+ [AppErrorCode.ACCESS_RULE_PERMISSION_CONFLICT]: exports.sAccessRuleConflictMeta,
121
125
  // alarm
122
- [AppErrorCode.ALARM_NOT_FOUND]: sNotFoundMeta,
126
+ [AppErrorCode.ALARM_NOT_FOUND]: exports.sNotFoundMeta,
123
127
  // auth / user
124
- [AppErrorCode.AUTH_INVALID_CREDENTIALS]: sVoidMeta,
125
- [AppErrorCode.AUTH_CITADEL_MODE_ENABLED]: sVoidMeta,
126
- [AppErrorCode.USER_NOT_FOUND]: sNotFoundMeta,
127
- [AppErrorCode.USERNAME_ALREADY_EXISTS]: sDuplicateMeta,
128
- [AppErrorCode.EMAIL_ALREADY_EXISTS]: sDuplicateMeta,
129
- [AppErrorCode.CANNOT_DELETE_ROOT_USER]: sVoidMeta,
128
+ [AppErrorCode.AUTH_INVALID_CREDENTIALS]: exports.sVoidMeta,
129
+ [AppErrorCode.AUTH_CITADEL_MODE_ENABLED]: exports.sVoidMeta,
130
+ [AppErrorCode.USER_NOT_FOUND]: exports.sNotFoundMeta,
131
+ [AppErrorCode.USERNAME_ALREADY_EXISTS]: exports.sDuplicateMeta,
132
+ [AppErrorCode.EMAIL_ALREADY_EXISTS]: exports.sDuplicateMeta,
133
+ [AppErrorCode.CANNOT_DELETE_ROOT_USER]: exports.sVoidMeta,
130
134
  // person / token
131
- [AppErrorCode.PERSON_NOT_FOUND]: sNotFoundMeta,
132
- [AppErrorCode.PERSON_INVALID_ID]: sInvalidMeta,
133
- [AppErrorCode.TOKEN_NOT_SUPPORTED]: sVoidMeta,
134
- [AppErrorCode.TOKEN_INVALID_FORMAT]: sTokenInvalidFormatMeta,
135
- [AppErrorCode.TOKEN_LIMIT_EXCEEDED]: sTokenLimitExceededMeta,
136
- [AppErrorCode.TOKEN_IN_USE]: sConflictMeta,
135
+ [AppErrorCode.PERSON_NOT_FOUND]: exports.sNotFoundMeta,
136
+ [AppErrorCode.PERSON_INVALID_ID]: exports.sInvalidMeta,
137
+ [AppErrorCode.TOKEN_NOT_SUPPORTED]: exports.sVoidMeta,
138
+ [AppErrorCode.TOKEN_INVALID_FORMAT]: exports.sTokenInvalidFormatMeta,
139
+ [AppErrorCode.TOKEN_LIMIT_EXCEEDED]: exports.sTokenLimitExceededMeta,
140
+ [AppErrorCode.TOKEN_IN_USE]: exports.sConflictMeta,
137
141
  // device
138
- [AppErrorCode.DEVICE_NOT_FOUND]: sNotFoundMeta,
139
- [AppErrorCode.DEVICE_ALREADY_EXISTS]: sDuplicateMeta,
140
- [AppErrorCode.DEVICE_INVALID_ID]: sInvalidMeta,
141
- [AppErrorCode.DEVICE_INVALID_TYPE]: sInvalidMeta,
142
- [AppErrorCode.DEVICE_INVALID_RELATION_TYPE]: sInvalidMeta,
143
- [AppErrorCode.DEVICE_INVALID_TEMPLATE]: sInvalidMeta,
144
- [AppErrorCode.DEVICE_INVALID_PROVIDER_METADATA]: sInvalidMeta,
145
- [AppErrorCode.DEVICE_PRESET_ALREADY_EXISTS]: sDuplicateMeta,
146
- [AppErrorCode.DEVICE_NOT_SUPPORTED]: sVoidMeta,
142
+ [AppErrorCode.DEVICE_NOT_FOUND]: exports.sNotFoundMeta,
143
+ [AppErrorCode.DEVICE_ALREADY_EXISTS]: exports.sDuplicateMeta,
144
+ [AppErrorCode.DEVICE_INVALID_ID]: exports.sInvalidMeta,
145
+ [AppErrorCode.DEVICE_INVALID_TYPE]: exports.sInvalidMeta,
146
+ [AppErrorCode.DEVICE_INVALID_RELATION_TYPE]: exports.sInvalidMeta,
147
+ [AppErrorCode.DEVICE_INVALID_TEMPLATE]: exports.sInvalidMeta,
148
+ [AppErrorCode.DEVICE_INVALID_PROVIDER_METADATA]: exports.sInvalidMeta,
149
+ [AppErrorCode.DEVICE_PRESET_ALREADY_EXISTS]: exports.sDuplicateMeta,
150
+ [AppErrorCode.DEVICE_NOT_SUPPORTED]: exports.sVoidMeta,
147
151
  // group / zone / schedule
148
- [AppErrorCode.GROUP_NOT_FOUND]: sNotFoundMeta,
149
- [AppErrorCode.GROUP_ALREADY_EXISTS]: sDuplicateMeta,
150
- [AppErrorCode.ZONE_NOT_FOUND]: sNotFoundMeta,
151
- [AppErrorCode.ZONE_ALREADY_EXISTS]: sDuplicateMeta,
152
- [AppErrorCode.ZONE_IN_USE]: sConflictMeta,
153
- [AppErrorCode.ZONE_ACCESS_RULE_CONFLICT]: sZoneAccessRuleConflictMeta,
154
- [AppErrorCode.SCHEDULE_NOT_FOUND]: sNotFoundMeta,
155
- [AppErrorCode.SCHEDULE_ALREADY_EXISTS]: sDuplicateMeta,
156
- [AppErrorCode.SCHEDULE_IN_USE]: sConflictMeta,
152
+ [AppErrorCode.GROUP_NOT_FOUND]: exports.sNotFoundMeta,
153
+ [AppErrorCode.GROUP_ALREADY_EXISTS]: exports.sDuplicateMeta,
154
+ [AppErrorCode.ZONE_NOT_FOUND]: exports.sNotFoundMeta,
155
+ [AppErrorCode.ZONE_ALREADY_EXISTS]: exports.sDuplicateMeta,
156
+ [AppErrorCode.ZONE_IN_USE]: exports.sConflictMeta,
157
+ [AppErrorCode.ZONE_ACCESS_RULE_CONFLICT]: exports.sZoneAccessRuleConflictMeta,
158
+ [AppErrorCode.SCHEDULE_NOT_FOUND]: exports.sNotFoundMeta,
159
+ [AppErrorCode.SCHEDULE_ALREADY_EXISTS]: exports.sDuplicateMeta,
160
+ [AppErrorCode.SCHEDULE_IN_USE]: exports.sConflictMeta,
157
161
  // permission / role
158
- [AppErrorCode.PERMISSION_ALREADY_EXISTS]: sDuplicateMeta,
159
- [AppErrorCode.ROLE_ALREADY_EXISTS]: sDuplicateMeta,
160
- [AppErrorCode.ADMIN_ROLE_CANNOT_UPDATE]: sVoidMeta,
161
- [AppErrorCode.ADMIN_ROLE_CANNOT_DELETE]: sVoidMeta,
162
+ [AppErrorCode.PERMISSION_ALREADY_EXISTS]: exports.sDuplicateMeta,
163
+ [AppErrorCode.ROLE_ALREADY_EXISTS]: exports.sDuplicateMeta,
164
+ [AppErrorCode.ADMIN_ROLE_CANNOT_UPDATE]: exports.sVoidMeta,
165
+ [AppErrorCode.ADMIN_ROLE_CANNOT_DELETE]: exports.sVoidMeta,
162
166
  // automation / rules
163
- [AppErrorCode.RULE_ALREADY_EXISTS]: sDuplicateMeta,
164
- [AppErrorCode.RULE_INVALID_BODY]: sInvalidMeta,
165
- [AppErrorCode.RULE_MISSING_CODE]: sVoidMeta,
167
+ [AppErrorCode.RULE_ALREADY_EXISTS]: exports.sDuplicateMeta,
168
+ [AppErrorCode.RULE_INVALID_BODY]: exports.sInvalidMeta,
169
+ [AppErrorCode.RULE_MISSING_CODE]: exports.sVoidMeta,
166
170
  // layout / view
167
- [AppErrorCode.LAYOUT_ALREADY_EXISTS]: sDuplicateMeta,
168
- [AppErrorCode.VIEW_ALREADY_EXISTS]: sDuplicateMeta,
171
+ [AppErrorCode.LAYOUT_ALREADY_EXISTS]: exports.sDuplicateMeta,
172
+ [AppErrorCode.VIEW_ALREADY_EXISTS]: exports.sDuplicateMeta,
169
173
  // config
170
- [AppErrorCode.CONFIG_INVALID]: sInvalidMeta,
171
- [AppErrorCode.UNKNOWN]: sVoidMeta,
172
- [AppErrorCode.SERVER_INTERNAL_ERROR]: sVoidMeta,
173
- [AppErrorCode.UNAUTHORIZED]: sVoidMeta,
174
- [AppErrorCode.BAD_REQUEST]: sVoidMeta,
174
+ [AppErrorCode.CONFIG_INVALID]: exports.sInvalidMeta,
175
+ [AppErrorCode.UNKNOWN]: exports.sVoidMeta,
176
+ [AppErrorCode.SERVER_INTERNAL_ERROR]: exports.sVoidMeta,
177
+ [AppErrorCode.UNAUTHORIZED]: exports.sVoidMeta,
178
+ [AppErrorCode.BAD_REQUEST]: exports.sVoidMeta,
175
179
  };
176
- export function isErrorResponse(err) {
180
+ function isErrorResponse(err) {
177
181
  return (!!err &&
178
182
  typeof err === 'object' &&
179
183
  'code' in err &&
@@ -1,52 +1,55 @@
1
- import { z } from 'zod';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.alarmEventSchemasByKind = exports.sAlarmRearmedEvent = exports.sAlarmArmReleasedEvent = exports.sAlarmDisarmedEvent = exports.sAlarmArmedEvent = exports.sAlarmDisarmedAllEvent = exports.sAlarmArmedAllEvent = exports.sAlarmAcknowledgedEvent = exports.sAlarmTriggeredEvent = void 0;
4
+ const zod_1 = require("zod");
2
5
  // EVENTS
3
- export const sAlarmTriggeredEvent = z.object({
4
- kind: z.literal('alarm-triggered'),
5
- alarmId: z.string().nonempty(),
6
- });
7
- export const sAlarmAcknowledgedEvent = z.object({
8
- kind: z.literal('alarm-acknowledged'),
9
- alarmId: z.string().nonempty(),
10
- userId: z.string().optional(),
11
- personId: z.string().optional(),
12
- });
13
- export const sAlarmArmedAllEvent = z.object({
14
- kind: z.literal('alarm-armed-all'),
15
- userId: z.string().optional(),
16
- personId: z.string().optional(),
17
- });
18
- export const sAlarmDisarmedAllEvent = z.object({
19
- kind: z.literal('alarm-disarmed-all'),
20
- userId: z.string().optional(),
21
- personId: z.string().optional(),
22
- });
23
- export const sAlarmArmedEvent = z.object({
24
- kind: z.literal('alarm-armed'),
25
- subjects: z.array(z.string().nonempty()),
26
- userId: z.string().optional(),
27
- personId: z.string().optional(),
28
- });
29
- export const sAlarmDisarmedEvent = z.object({
30
- kind: z.literal('alarm-disarmed'),
31
- subjects: z.array(z.string().nonempty()),
32
- userId: z.string().optional(),
33
- personId: z.string().optional(),
34
- });
35
- export const sAlarmArmReleasedEvent = z.object({
36
- kind: z.literal('alarm-arm-released'),
37
- userId: z.string().optional(),
38
- personId: z.string().optional(),
39
- });
40
- export const sAlarmRearmedEvent = z.object({
41
- kind: z.literal('alarm-rearmed'),
42
- });
43
- export const alarmEventSchemasByKind = {
44
- 'alarm-triggered': sAlarmTriggeredEvent,
45
- 'alarm-acknowledged': sAlarmAcknowledgedEvent,
46
- 'alarm-armed-all': sAlarmArmedAllEvent,
47
- 'alarm-disarmed-all': sAlarmDisarmedAllEvent,
48
- 'alarm-armed': sAlarmArmedEvent,
49
- 'alarm-disarmed': sAlarmDisarmedEvent,
50
- 'alarm-arm-released': sAlarmArmReleasedEvent,
51
- 'alarm-rearmed': sAlarmRearmedEvent,
6
+ exports.sAlarmTriggeredEvent = zod_1.z.object({
7
+ kind: zod_1.z.literal('alarm-triggered'),
8
+ alarmId: zod_1.z.string().nonempty(),
9
+ });
10
+ exports.sAlarmAcknowledgedEvent = zod_1.z.object({
11
+ kind: zod_1.z.literal('alarm-acknowledged'),
12
+ alarmId: zod_1.z.string().nonempty(),
13
+ userId: zod_1.z.string().optional(),
14
+ personId: zod_1.z.string().optional(),
15
+ });
16
+ exports.sAlarmArmedAllEvent = zod_1.z.object({
17
+ kind: zod_1.z.literal('alarm-armed-all'),
18
+ userId: zod_1.z.string().optional(),
19
+ personId: zod_1.z.string().optional(),
20
+ });
21
+ exports.sAlarmDisarmedAllEvent = zod_1.z.object({
22
+ kind: zod_1.z.literal('alarm-disarmed-all'),
23
+ userId: zod_1.z.string().optional(),
24
+ personId: zod_1.z.string().optional(),
25
+ });
26
+ exports.sAlarmArmedEvent = zod_1.z.object({
27
+ kind: zod_1.z.literal('alarm-armed'),
28
+ subjects: zod_1.z.array(zod_1.z.string().nonempty()),
29
+ userId: zod_1.z.string().optional(),
30
+ personId: zod_1.z.string().optional(),
31
+ });
32
+ exports.sAlarmDisarmedEvent = zod_1.z.object({
33
+ kind: zod_1.z.literal('alarm-disarmed'),
34
+ subjects: zod_1.z.array(zod_1.z.string().nonempty()),
35
+ userId: zod_1.z.string().optional(),
36
+ personId: zod_1.z.string().optional(),
37
+ });
38
+ exports.sAlarmArmReleasedEvent = zod_1.z.object({
39
+ kind: zod_1.z.literal('alarm-arm-released'),
40
+ userId: zod_1.z.string().optional(),
41
+ personId: zod_1.z.string().optional(),
42
+ });
43
+ exports.sAlarmRearmedEvent = zod_1.z.object({
44
+ kind: zod_1.z.literal('alarm-rearmed'),
45
+ });
46
+ exports.alarmEventSchemasByKind = {
47
+ 'alarm-triggered': exports.sAlarmTriggeredEvent,
48
+ 'alarm-acknowledged': exports.sAlarmAcknowledgedEvent,
49
+ 'alarm-armed-all': exports.sAlarmArmedAllEvent,
50
+ 'alarm-disarmed-all': exports.sAlarmDisarmedAllEvent,
51
+ 'alarm-armed': exports.sAlarmArmedEvent,
52
+ 'alarm-disarmed': exports.sAlarmDisarmedEvent,
53
+ 'alarm-arm-released': exports.sAlarmArmReleasedEvent,
54
+ 'alarm-rearmed': exports.sAlarmRearmedEvent,
52
55
  };
@@ -1,37 +1,40 @@
1
- import { z } from 'zod';
2
- import { alarmEventSchemasByKind } from './alarm';
3
- import { cameraEventSchemasByKind } from './camera';
4
- import { doorEventSchemaByKind } from './door';
5
- import { intercomTerminalEventSchemaByKind, } from './intercom-terminal';
6
- import { ioBoardEventSchemaByKind } from './io-board';
7
- import { panicButtonEventSchemaByKind } from './panic-button';
8
- import { presenceTrackerEventSchemaByKind, } from './presence-tracker';
9
- import { readerEventSchemaByKind } from './reader';
10
- import { nvrExporterEventSchemasByKind, } from './nvr-exporter';
11
- export const sDeviceCommandTriggered = z.object({
12
- kind: z.literal('device-command'),
13
- userId: z.string().nonempty().optional(),
14
- command: z.string().nonempty(),
15
- args: z.record(z.unknown()),
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDeviceEvent = exports.eventsByDeviceType = exports.eventSchemaByKind = exports.eventKindLabels = exports.sEventHeader = exports.sDeviceDisconnectedEvent = exports.sDeviceConnectedEvent = exports.sMotionDetected = exports.sDeviceCommandTriggered = void 0;
4
+ const zod_1 = require("zod");
5
+ const alarm_1 = require("./alarm");
6
+ const camera_1 = require("./camera");
7
+ const door_1 = require("./door");
8
+ const intercom_terminal_1 = require("./intercom-terminal");
9
+ const io_board_1 = require("./io-board");
10
+ const panic_button_1 = require("./panic-button");
11
+ const presence_tracker_1 = require("./presence-tracker");
12
+ const reader_1 = require("./reader");
13
+ const nvr_exporter_1 = require("./nvr-exporter");
14
+ exports.sDeviceCommandTriggered = zod_1.z.object({
15
+ kind: zod_1.z.literal('device-command'),
16
+ userId: zod_1.z.string().nonempty().optional(),
17
+ command: zod_1.z.string().nonempty(),
18
+ args: zod_1.z.record(zod_1.z.unknown()),
16
19
  });
17
- export const sMotionDetected = z.object({
18
- kind: z.literal('motion-detected'),
20
+ exports.sMotionDetected = zod_1.z.object({
21
+ kind: zod_1.z.literal('motion-detected'),
19
22
  });
20
- export const sDeviceConnectedEvent = z.object({
21
- kind: z.literal('device-connected'),
22
- clientId: z.number().int().positive().optional(),
23
+ exports.sDeviceConnectedEvent = zod_1.z.object({
24
+ kind: zod_1.z.literal('device-connected'),
25
+ clientId: zod_1.z.number().int().positive().optional(),
23
26
  });
24
- export const sDeviceDisconnectedEvent = z.object({
25
- kind: z.literal('device-disconnected'),
26
- clientId: z.number().int().positive().optional(),
27
+ exports.sDeviceDisconnectedEvent = zod_1.z.object({
28
+ kind: zod_1.z.literal('device-disconnected'),
29
+ clientId: zod_1.z.number().int().positive().optional(),
27
30
  });
28
- export const sEventHeader = z.object({
29
- id: z.string().nonempty(),
30
- timestamp: z.number().int().positive(),
31
- deviceId: z.string().nonempty(),
32
- observedBy: z.string().optional(),
31
+ exports.sEventHeader = zod_1.z.object({
32
+ id: zod_1.z.string().nonempty(),
33
+ timestamp: zod_1.z.number().int().positive(),
34
+ deviceId: zod_1.z.string().nonempty(),
35
+ observedBy: zod_1.z.string().optional(),
33
36
  });
34
- export const eventKindLabels = {
37
+ exports.eventKindLabels = {
35
38
  'door-access': 'Door Access',
36
39
  'door-force': 'Force-Opened',
37
40
  'door-tamper': 'Tampered',
@@ -79,42 +82,42 @@ export const eventKindLabels = {
79
82
  'notification-created': 'Notification Created',
80
83
  'notification-acknowledged': 'Notification Acknowledged',
81
84
  };
82
- export const eventSchemaByKind = {
83
- ...alarmEventSchemasByKind,
84
- ...cameraEventSchemasByKind,
85
- ...doorEventSchemaByKind,
86
- ...intercomTerminalEventSchemaByKind,
87
- ...ioBoardEventSchemaByKind,
88
- ...panicButtonEventSchemaByKind,
89
- ...presenceTrackerEventSchemaByKind,
90
- ...readerEventSchemaByKind,
91
- ...nvrExporterEventSchemasByKind,
92
- 'motion-detected': sMotionDetected,
93
- 'device-command': sDeviceCommandTriggered,
94
- 'device-connected': sDeviceConnectedEvent,
95
- 'device-disconnected': sDeviceDisconnectedEvent,
85
+ exports.eventSchemaByKind = {
86
+ ...alarm_1.alarmEventSchemasByKind,
87
+ ...camera_1.cameraEventSchemasByKind,
88
+ ...door_1.doorEventSchemaByKind,
89
+ ...intercom_terminal_1.intercomTerminalEventSchemaByKind,
90
+ ...io_board_1.ioBoardEventSchemaByKind,
91
+ ...panic_button_1.panicButtonEventSchemaByKind,
92
+ ...presence_tracker_1.presenceTrackerEventSchemaByKind,
93
+ ...reader_1.readerEventSchemaByKind,
94
+ ...nvr_exporter_1.nvrExporterEventSchemasByKind,
95
+ 'motion-detected': exports.sMotionDetected,
96
+ 'device-command': exports.sDeviceCommandTriggered,
97
+ 'device-connected': exports.sDeviceConnectedEvent,
98
+ 'device-disconnected': exports.sDeviceDisconnectedEvent,
96
99
  };
97
- export const eventsByDeviceType = {
100
+ exports.eventsByDeviceType = {
98
101
  camera: [
99
- ...Object.keys(cameraEventSchemasByKind),
102
+ ...Object.keys(camera_1.cameraEventSchemasByKind),
100
103
  'motion-detected',
101
104
  ],
102
- door: Object.keys(doorEventSchemaByKind),
103
- 'io-board': Object.keys(ioBoardEventSchemaByKind),
104
- 'panic-button': Object.keys(panicButtonEventSchemaByKind),
105
- 'presence-tracker': Object.keys(presenceTrackerEventSchemaByKind),
106
- reader: Object.keys(readerEventSchemaByKind),
105
+ door: Object.keys(door_1.doorEventSchemaByKind),
106
+ 'io-board': Object.keys(io_board_1.ioBoardEventSchemaByKind),
107
+ 'panic-button': Object.keys(panic_button_1.panicButtonEventSchemaByKind),
108
+ 'presence-tracker': Object.keys(presence_tracker_1.presenceTrackerEventSchemaByKind),
109
+ reader: Object.keys(reader_1.readerEventSchemaByKind),
107
110
  'motion-sensor': ['motion-detected'],
108
- 'nvr-exporter': Object.keys(nvrExporterEventSchemasByKind),
111
+ 'nvr-exporter': Object.keys(nvr_exporter_1.nvrExporterEventSchemasByKind),
109
112
  };
110
- export const isDeviceEvent = (event) => {
113
+ const isDeviceEvent = (event) => {
111
114
  if (typeof event !== 'object' || event === null)
112
115
  return false;
113
116
  if (!('kind' in event))
114
117
  return false;
115
118
  if (typeof event.kind !== 'string')
116
119
  return false;
117
- const schema = eventSchemaByKind[event.kind];
120
+ const schema = exports.eventSchemaByKind[event.kind];
118
121
  if (!schema)
119
122
  return false;
120
123
  const result = schema.safeParse(event);
@@ -122,3 +125,4 @@ export const isDeviceEvent = (event) => {
122
125
  return false;
123
126
  return true;
124
127
  };
128
+ exports.isDeviceEvent = isDeviceEvent;