@awarevue/api-types 2.0.83 → 2.0.84

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.
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMessageFromAgent = exports.getAgentMessageIssues = exports.ReplyKindByRequestKind = exports.sAbortChange = exports.sApplyChangeProgress = exports.sApplyChangeRs = exports.sApplyChange = exports.sValidateChangeRs = exports.sChangeIssue = exports.sChangeIssueCode = exports.sValidateChangeRq = exports.sRefMap = exports.sDeviceMap = exports.sAccessMutation = exports.sObjectDelete = exports.sObjectMerge = exports.sGetAvailableDevicesRs = exports.sGetAvailableDevicesRq = exports.sPushEventRs = exports.sPushEventRq = exports.sPushStateUpdateRs = exports.sPushStateUpdateRq = exports.sPushFile = exports.sProgressUpdate = exports.sQueryRs = exports.sQueryRq = exports.sRunCommandRs = exports.sRunCommandRq = exports.sStopServiceRs = exports.sStopServiceRq = exports.sStartServiceRs = exports.sStartServiceRq = exports.sValidateProviderConfigRs = exports.sConfigurationIssue = exports.sValidateProviderConfigRq = exports.sUnregister = exports.sRegisterRs = exports.sRegisterRq = exports.sErrorPayload = exports.sAgentErrorCode = exports.sResponsePayload = exports.sMessageWithPayload = exports.sMessageHeader = void 0;
3
+ exports.isMessageFromAgent = exports.getAgentMessageIssues = exports.ReplyKindByRequestKind = exports.sDescribeObjectRs = exports.sDescribeObjectRq = exports.sAbortChange = exports.sApplyChangeProgress = exports.sApplyChangeRs = exports.sApplyChange = exports.sValidateChangeRs = exports.sChangeIssue = exports.sChangeIssueCode = exports.sValidateChangeRq = exports.sRefMap = exports.sDeviceMap = exports.sAccessMutation = exports.sObjectDelete = exports.sObjectMerge = exports.sExternalObjectProps = exports.sExternalZoneProps = exports.sExternalAccessRuleProps = exports.sExternalScheduleProps = exports.sExternalPersonProps = exports.sGetAvailableDevicesRs = exports.sGetAvailableDevicesRq = exports.sPushEventRs = exports.sPushEventRq = exports.sPushStateUpdateRs = exports.sPushStateUpdateRq = exports.sPushFile = exports.sProgressUpdate = exports.sQueryRs = exports.sQueryRq = exports.sRunCommandRs = exports.sRunCommandRq = exports.sStopServiceRs = exports.sStopServiceRq = exports.sStartServiceRs = exports.sStartServiceRq = exports.sValidateProviderConfigRs = exports.sConfigurationIssue = exports.sValidateProviderConfigRq = exports.sUnregister = exports.sRegisterRs = exports.sRegisterRq = exports.sErrorPayload = exports.sAgentErrorCode = exports.sResponsePayload = exports.sMessageWithPayload = exports.sMessageHeader = void 0;
4
4
  const device_import_1 = require("../../objects/device/device-import");
5
5
  const zod_1 = require("zod");
6
6
  const rest_1 = require("../rest");
7
7
  const primitives_1 = require("../../primitives");
8
8
  const agent_metadata_1 = require("../../objects/agent-metadata");
9
+ const objects_1 = require("../../objects");
9
10
  // PROTOCOL ENVELOPE
10
11
  exports.sMessageHeader = zod_1.z.object({
11
12
  version: zod_1.z.number().describe('Protocol version'),
@@ -36,6 +37,7 @@ exports.sRegisterRq = zod_1.z.object({
36
37
  accessControlProviders: zod_1.z
37
38
  .record(zod_1.z.string(), agent_metadata_1.sAccessControlCapabilityReport)
38
39
  .optional(),
40
+ testerCliTags: zod_1.z.array(zod_1.z.string().nonempty()).optional(),
39
41
  });
40
42
  exports.sRegisterRs = (0, exports.sResponsePayload)(zod_1.z.literal('register-rs'), zod_1.z.object({}));
41
43
  // UNREGISTER
@@ -165,74 +167,72 @@ exports.sGetAvailableDevicesRq = zod_1.z
165
167
  .describe('Request to get available devices from a provider via an agent');
166
168
  exports.sGetAvailableDevicesRs = (0, exports.sResponsePayload)(zod_1.z.literal('get-available-devices-rs'), device_import_1.sDeviceDiscoveryDto).describe('Response for getting available devices from a provider via an agent');
167
169
  // ACCESS SYNC SECTION
170
+ exports.sExternalPersonProps = zod_1.z.object({
171
+ firstName: zod_1.z.string().nonempty(),
172
+ lastName: zod_1.z.string().nonempty(),
173
+ validFrom: zod_1.z.number().nullable(),
174
+ validTo: zod_1.z.number().nullable(),
175
+ accessSuspended: zod_1.z.boolean(),
176
+ credentials: zod_1.z
177
+ .array(rest_1.sAssignedCredential.omit({ note: true }))
178
+ .describe('IDs of credentials assigned to the person'),
179
+ });
180
+ exports.sExternalScheduleProps = zod_1.z.object({
181
+ displayName: zod_1.z.string().nonempty(),
182
+ include: objects_1.sScheduleDetailsRequest,
183
+ });
184
+ exports.sExternalAccessRuleProps = zod_1.z.object({
185
+ displayName: zod_1.z.string().nonempty(),
186
+ appliedTo: zod_1.z.array(zod_1.z.string().nonempty()),
187
+ permissions: zod_1.z.array(objects_1.sAccessRulePermissionDto),
188
+ groupPermissions: zod_1.z.array(objects_1.sAccessRuleGroupPermissionDto),
189
+ });
190
+ exports.sExternalZoneProps = zod_1.z.object({
191
+ displayName: zod_1.z.string().nonempty(),
192
+ devices: zod_1.z.array(zod_1.z.string().nonempty()),
193
+ });
194
+ exports.sExternalObjectProps = zod_1.z.object({
195
+ person: exports.sExternalPersonProps,
196
+ schedule: exports.sExternalScheduleProps,
197
+ accessRule: exports.sExternalAccessRuleProps,
198
+ zone: exports.sExternalZoneProps,
199
+ });
168
200
  // ————————————————————————————————————————————————————
169
201
  // Merge (insert vs update) variants, all listed explicitly
170
202
  // ————————————————————————————————————————————————————
171
203
  exports.sObjectMerge = zod_1.z
172
204
  .union([
173
- // accessRule insert
174
- zod_1.z.object({
175
- kind: zod_1.z.literal('merge'),
176
- objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
177
- objectKind: zod_1.z.literal('accessRule'),
178
- original: rest_1.sCreateAccessRuleRequest,
179
- props: rest_1.sCreateAccessRuleRequest,
180
- }),
181
205
  // accessRule update
182
206
  zod_1.z.object({
183
207
  kind: zod_1.z.literal('merge'),
184
208
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
185
209
  objectKind: zod_1.z.literal('accessRule'),
186
- original: rest_1.sCreateAccessRuleRequest,
187
- props: rest_1.sCreateAccessRuleRequest.partial(),
188
- }),
189
- // schedule insert
190
- zod_1.z.object({
191
- kind: zod_1.z.literal('merge'),
192
- objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
193
- objectKind: zod_1.z.literal('schedule'),
194
- original: rest_1.sCreateScheduleRequest,
195
- props: rest_1.sCreateScheduleRequest,
210
+ original: exports.sExternalAccessRuleProps,
211
+ props: exports.sExternalAccessRuleProps.partial(),
196
212
  }),
197
213
  // schedule update
198
214
  zod_1.z.object({
199
215
  kind: zod_1.z.literal('merge'),
200
216
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
201
217
  objectKind: zod_1.z.literal('schedule'),
202
- original: rest_1.sCreateScheduleRequest,
203
- props: rest_1.sCreateScheduleRequest.partial(),
204
- }),
205
- // person insert
206
- zod_1.z.object({
207
- kind: zod_1.z.literal('merge'),
208
- objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
209
- objectKind: zod_1.z.literal('person'),
210
- original: rest_1.sCreatePersonRequest,
211
- props: rest_1.sCreatePersonRequest,
218
+ original: exports.sExternalScheduleProps,
219
+ props: exports.sExternalScheduleProps.partial(),
212
220
  }),
213
221
  // person update
214
222
  zod_1.z.object({
215
223
  kind: zod_1.z.literal('merge'),
216
224
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
217
225
  objectKind: zod_1.z.literal('person'),
218
- original: rest_1.sCreatePersonRequest,
219
- props: rest_1.sCreatePersonRequest.partial(),
220
- }),
221
- // zone insert
222
- zod_1.z.object({
223
- kind: zod_1.z.literal('merge'),
224
- objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
225
- objectKind: zod_1.z.literal('zone'),
226
- original: rest_1.sCreateZoneRequest,
227
- props: rest_1.sCreateZoneRequest,
226
+ original: exports.sExternalPersonProps,
227
+ props: exports.sExternalPersonProps.partial(),
228
228
  }),
229
229
  // zone update
230
230
  zod_1.z.object({
231
231
  kind: zod_1.z.literal('merge'),
232
232
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
233
233
  objectKind: zod_1.z.literal('zone'),
234
- original: rest_1.sCreateZoneRequest,
235
- props: rest_1.sCreateZoneRequest.partial(),
234
+ original: exports.sExternalZoneProps,
235
+ props: exports.sExternalZoneProps.partial(),
236
236
  }),
237
237
  ])
238
238
  .describe('Object merge request');
@@ -245,25 +245,25 @@ exports.sObjectDelete = zod_1.z
245
245
  kind: zod_1.z.literal('delete'),
246
246
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
247
247
  objectKind: zod_1.z.literal('accessRule'),
248
- original: rest_1.sCreateAccessRuleRequest,
248
+ original: exports.sExternalAccessRuleProps,
249
249
  }),
250
250
  zod_1.z.object({
251
251
  kind: zod_1.z.literal('delete'),
252
252
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
253
253
  objectKind: zod_1.z.literal('schedule'),
254
- original: rest_1.sCreateScheduleRequest,
254
+ original: exports.sExternalScheduleProps,
255
255
  }),
256
256
  zod_1.z.object({
257
257
  kind: zod_1.z.literal('delete'),
258
258
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
259
259
  objectKind: zod_1.z.literal('person'),
260
- original: rest_1.sCreatePersonRequest,
260
+ original: exports.sExternalPersonProps,
261
261
  }),
262
262
  zod_1.z.object({
263
263
  kind: zod_1.z.literal('delete'),
264
264
  objectId: zod_1.z.string().nonempty().describe('Object ID as in backend'),
265
265
  objectKind: zod_1.z.literal('zone'),
266
- original: rest_1.sCreateZoneRequest,
266
+ original: exports.sExternalZoneProps,
267
267
  }),
268
268
  ])
269
269
  .describe('Object delete request');
@@ -351,6 +351,57 @@ exports.sAbortChange = zod_1.z
351
351
  policyVersion: zod_1.z.number().describe('Version of the access changes'),
352
352
  })
353
353
  .describe('Request to abort access changes');
354
+ // DESCRIBE
355
+ exports.sDescribeObjectRq = zod_1.z
356
+ .object({
357
+ kind: zod_1.z.literal('describe-object'),
358
+ provider: zod_1.z.string().nonempty(),
359
+ objectAssignedRef: zod_1.z
360
+ .string()
361
+ .nonempty()
362
+ .describe('Object ID as in 3rd party backend'),
363
+ objectKind: agent_metadata_1.sAccessObjectKind,
364
+ })
365
+ .describe('Request to describe the capabilities of a provider via an agent');
366
+ exports.sDescribeObjectRs = (0, exports.sResponsePayload)(zod_1.z.literal('describe-object-rs'), zod_1.z.object({
367
+ object: zod_1.z
368
+ .union([
369
+ zod_1.z.object({
370
+ objectKind: zod_1.z.literal('accessRule'),
371
+ objectAssignedRef: zod_1.z
372
+ .string()
373
+ .nonempty()
374
+ .describe('Object ID as in 3rd party backend'),
375
+ data: exports.sExternalAccessRuleProps,
376
+ }),
377
+ zod_1.z.object({
378
+ objectKind: zod_1.z.literal('schedule'),
379
+ objectAssignedRef: zod_1.z
380
+ .string()
381
+ .nonempty()
382
+ .describe('Object ID as in 3rd party backend'),
383
+ data: exports.sExternalScheduleProps,
384
+ }),
385
+ zod_1.z.object({
386
+ objectKind: zod_1.z.literal('person'),
387
+ data: exports.sExternalPersonProps,
388
+ objectAssignedRef: zod_1.z
389
+ .string()
390
+ .nonempty()
391
+ .describe('Object ID as in 3rd party backend'),
392
+ }),
393
+ zod_1.z.object({
394
+ objectKind: zod_1.z.literal('zone'),
395
+ data: exports.sExternalZoneProps,
396
+ objectAssignedRef: zod_1.z
397
+ .string()
398
+ .nonempty()
399
+ .describe('Object ID as in 3rd party backend'),
400
+ }),
401
+ ])
402
+ .nullable()
403
+ .describe('Object data or null if the object was not found'),
404
+ }));
354
405
  const fromAgentSchemaByKind = {
355
406
  register: exports.sRegisterRq,
356
407
  unregister: exports.sUnregister,
@@ -366,6 +417,7 @@ const fromAgentSchemaByKind = {
366
417
  'validate-change-rs': exports.sValidateChangeRs,
367
418
  'apply-change-rs': exports.sApplyChangeRs,
368
419
  'apply-change-progress': exports.sApplyChangeProgress,
420
+ 'describe-object-rs': exports.sDescribeObjectRs,
369
421
  'error-rs': exports.sErrorPayload,
370
422
  };
371
423
  exports.ReplyKindByRequestKind = {
@@ -380,6 +432,7 @@ exports.ReplyKindByRequestKind = {
380
432
  'get-available-devices': 'get-available-devices-rs',
381
433
  'validate-change': 'validate-change-rs',
382
434
  'apply-change': 'apply-change-rs',
435
+ 'describe-object': 'describe-object-rs',
383
436
  };
384
437
  const getAgentMessageIssues = (message) => {
385
438
  const result = exports.sMessageHeader.safeParse(message);
@@ -42,7 +42,6 @@ export declare const sAccessObjectKind: z.ZodEnum<{
42
42
  person: "person";
43
43
  zone: "zone";
44
44
  schedule: "schedule";
45
- device: "device";
46
45
  accessRule: "accessRule";
47
46
  }>;
48
47
  export declare const sTokenSpecs: z.ZodObject<{
@@ -70,7 +69,6 @@ export declare const sAccessControlCapabilityReport: z.ZodObject<{
70
69
  person: "person";
71
70
  zone: "zone";
72
71
  schedule: "schedule";
73
- device: "device";
74
72
  accessRule: "accessRule";
75
73
  }>>;
76
74
  oneSchedulePerDoor: z.ZodBoolean;
@@ -36,7 +36,6 @@ exports.sAccessObjectKind = zod_1.z.enum([
36
36
  'accessRule',
37
37
  'schedule',
38
38
  'person',
39
- 'device',
40
39
  'zone',
41
40
  ]);
42
41
  exports.sTokenSpecs = zod_1.z.object({
package/dist/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/Linc-Security-Systems/aware-essentials.git"
6
6
  },
7
- "version": "2.0.83",
7
+ "version": "2.0.84",
8
8
  "description": "Common types between backend, agent(s) and frontend(s)",
9
9
  "main": "dist/index.js",
10
10
  "types": "dist/index.d.ts",
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/Linc-Security-Systems/aware-essentials.git"
6
6
  },
7
- "version": "2.0.83",
7
+ "version": "2.0.84",
8
8
  "description": "Common types between backend, agent(s) and frontend(s)",
9
9
  "main": "dist/index.js",
10
10
  "types": "dist/index.d.ts",