@awarevue/api-types 1.0.114 → 1.1.0

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.
@@ -595,6 +595,74 @@ export declare const sRunCommandRs: z.ZodIntersection<z.ZodObject<{
595
595
  kind: "command-rs";
596
596
  requestId: string;
597
597
  }>, z.ZodObject<{}, z.UnknownKeysParam, z.ZodTypeAny, {}, {}>>;
598
+ export declare const sQueryRq: z.ZodObject<{
599
+ kind: z.ZodLiteral<"query">;
600
+ query: z.ZodString;
601
+ device: z.ZodObject<{
602
+ name: z.ZodString;
603
+ foreignRef: z.ZodString;
604
+ provider: z.ZodString;
605
+ providerMetadata: z.ZodObject<{}, "strip", z.ZodUnknown, z.objectOutputType<{}, z.ZodUnknown, "strip">, z.objectInputType<{}, z.ZodUnknown, "strip">>;
606
+ }, "strip", z.ZodTypeAny, {
607
+ name: string;
608
+ foreignRef: string;
609
+ provider: string;
610
+ providerMetadata: {} & {
611
+ [k: string]: unknown;
612
+ };
613
+ }, {
614
+ name: string;
615
+ foreignRef: string;
616
+ provider: string;
617
+ providerMetadata: {} & {
618
+ [k: string]: unknown;
619
+ };
620
+ }>;
621
+ args: z.ZodUnknown;
622
+ replyUrl: z.ZodOptional<z.ZodString>;
623
+ }, "strip", z.ZodTypeAny, {
624
+ kind: "query";
625
+ device: {
626
+ name: string;
627
+ foreignRef: string;
628
+ provider: string;
629
+ providerMetadata: {} & {
630
+ [k: string]: unknown;
631
+ };
632
+ };
633
+ query: string;
634
+ args?: unknown;
635
+ replyUrl?: string | undefined;
636
+ }, {
637
+ kind: "query";
638
+ device: {
639
+ name: string;
640
+ foreignRef: string;
641
+ provider: string;
642
+ providerMetadata: {} & {
643
+ [k: string]: unknown;
644
+ };
645
+ };
646
+ query: string;
647
+ args?: unknown;
648
+ replyUrl?: string | undefined;
649
+ }>;
650
+ export declare const sQueryRs: z.ZodIntersection<z.ZodObject<{
651
+ requestId: z.ZodString;
652
+ kind: z.ZodLiteral<"query-rs">;
653
+ }, "strip", z.ZodTypeAny, {
654
+ kind: "query-rs";
655
+ requestId: string;
656
+ }, {
657
+ kind: "query-rs";
658
+ requestId: string;
659
+ }>, z.ZodObject<{
660
+ result: z.ZodUnknown;
661
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
662
+ result?: unknown;
663
+ }, {
664
+ result?: unknown;
665
+ }>>;
598
666
  export declare const sPushStateUpdateRq: z.ZodObject<{
599
667
  kind: z.ZodLiteral<"state">;
600
668
  foreignRef: z.ZodString;
@@ -8573,6 +8641,8 @@ export type StopServiceRq = z.infer<typeof sStopServiceRq>;
8573
8641
  export type StopServiceRs = z.infer<typeof sStopServiceRs>;
8574
8642
  export type RunCommandRq = z.infer<typeof sRunCommandRq>;
8575
8643
  export type RunCommandRs = z.infer<typeof sRunCommandRs>;
8644
+ export type QueryRq = z.infer<typeof sQueryRq>;
8645
+ export type QueryRs = z.infer<typeof sQueryRs>;
8576
8646
  export type PushStateUpdateRq = z.infer<typeof sPushStateUpdateRq>;
8577
8647
  export type PushStateUpdateRs = z.infer<typeof sPushStateUpdateRs>;
8578
8648
  export type PushEventRq = z.infer<typeof sPushEventRq>;
@@ -8608,6 +8678,8 @@ export type PayloadByKind = {
8608
8678
  'stop-rs': StopServiceRs;
8609
8679
  command: RunCommandRq;
8610
8680
  'command-rs': RunCommandRs;
8681
+ query: QueryRq;
8682
+ 'query-rs': QueryRs;
8611
8683
  state: PushStateUpdateRq;
8612
8684
  'state-rs': PushStateUpdateRs;
8613
8685
  event: PushEventRq;
@@ -8622,8 +8694,8 @@ export type PayloadByKind = {
8622
8694
  'abort-change': AccessAbortChange;
8623
8695
  'error-rs': ErrorPayload;
8624
8696
  };
8625
- export type FromAgent = ErrorPayload | RegisterRq | Unregister | ValidateProviderConfigRs | StartServiceRs | StopServiceRs | RunCommandRs | PushStateUpdateRq | PushEventRq | GetAvailableDevicesRs | AccessValidateChangeRs | AccessApplyChangeRs | AccessApplyChangeProgress;
8626
- export type FromServer = ErrorPayload | RegisterRs | ValidateProviderConfigRq | StartServiceRq | StopServiceRq | RunCommandRq | PushStateUpdateRs | PushEventRs | GetAvailableDevicesRq | AccessValidateChangeRq | AccessApplyChange | AccessAbortChange;
8697
+ export type FromAgent = ErrorPayload | RegisterRq | Unregister | ValidateProviderConfigRs | StartServiceRs | StopServiceRs | RunCommandRs | QueryRs | PushStateUpdateRq | PushEventRq | GetAvailableDevicesRs | AccessValidateChangeRs | AccessApplyChangeRs | AccessApplyChangeProgress;
8698
+ export type FromServer = ErrorPayload | RegisterRs | ValidateProviderConfigRq | StartServiceRq | StopServiceRq | RunCommandRq | QueryRq | PushStateUpdateRs | PushEventRs | GetAvailableDevicesRq | AccessValidateChangeRq | AccessApplyChange | AccessAbortChange;
8627
8699
  export type AnyPayload = FromAgent | FromServer;
8628
8700
  export declare const getAgentMessageIssues: (message: unknown) => string[];
8629
8701
  export declare const isMessageFromAgent: (message: unknown) => message is Message<FromAgent>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMessageFromAgent = exports.getAgentMessageIssues = 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.sRunCommandRs = exports.sRunCommandRq = exports.sStopServiceRs = exports.sStopServiceRq = exports.sStartServiceRs = exports.sStartServiceRq = exports.sValidateProviderConfigRs = exports.sConfigurationIssue = exports.sValidateProviderConfigRq = exports.sUnregister = exports.sRegisterRs = exports.sRegisterRq = exports.sAccessControlCapabilityReport = exports.sTokenSpecs = exports.sAccessObjectKind = exports.sProviderSpecs = exports.sUiHint = exports.sUiWidgetHint = exports.sUiOrderHint = exports.sErrorPayload = exports.sResponsePayload = exports.sMessageWithPayload = exports.sMessageHeader = void 0;
3
+ exports.isMessageFromAgent = exports.getAgentMessageIssues = 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.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.sAccessControlCapabilityReport = exports.sTokenSpecs = exports.sAccessObjectKind = exports.sProviderSpecs = exports.sUiHint = exports.sUiWidgetHint = exports.sUiOrderHint = exports.sErrorPayload = exports.sResponsePayload = exports.sMessageWithPayload = exports.sMessageHeader = void 0;
4
4
  const device_1 = require("../device");
5
5
  const device_import_1 = require("../device-import");
6
6
  const credential_1 = require("../access-control/credential");
@@ -142,6 +142,21 @@ exports.sRunCommandRq = zod_1.z
142
142
  })
143
143
  .describe('Request to run a device command');
144
144
  exports.sRunCommandRs = (0, exports.sResponsePayload)(zod_1.z.literal('command-rs'), zod_1.z.object({})).describe('Response for running a device command');
145
+ // QUERIES
146
+ exports.sQueryRq = zod_1.z.object({
147
+ kind: zod_1.z.literal('query'),
148
+ query: zod_1.z.string().nonempty(),
149
+ device: device_1.sForeignDeviceInfo,
150
+ args: zod_1.z.unknown().describe('Query arguments, depends on the query type'),
151
+ replyUrl: zod_1.z
152
+ .string()
153
+ .nonempty()
154
+ .optional()
155
+ .describe('URL to optionally POST the query response to. The default is to reply via query-rs'),
156
+ });
157
+ exports.sQueryRs = (0, exports.sResponsePayload)(zod_1.z.literal('query-rs'), zod_1.z.object({
158
+ result: zod_1.z.unknown().describe('Query result, depends on the query type'),
159
+ })).describe('Response for a query');
145
160
  // PUSH DEVICE STATE UPDATE
146
161
  exports.sPushStateUpdateRq = zod_1.z
147
162
  .object({
@@ -278,28 +293,6 @@ exports.sObjectDelete = zod_1.z
278
293
  }),
279
294
  ])
280
295
  .describe('Object delete request');
281
- // export const sRelationMerge = z.object({
282
- // kind: z.literal('relation-merge'),
283
- // left: z.object({
284
- // kind: sAccessObjectKind,
285
- // objectId: z
286
- // .string()
287
- // .optional()
288
- // .describe(
289
- // 'Object ID as in backend. Can be undefined if object is new to backend and agent is trying to create it',
290
- // ),
291
- // }),
292
- // right: z.object({
293
- // kind: sAccessObjectKind,
294
- // objectId: z
295
- // .string()
296
- // .optional()
297
- // .describe(
298
- // 'Object ID as in backend. Can be undefined if object is new to backend and agent is trying to create it',
299
- // ),
300
- // }),
301
- // linkExists: z.boolean(),
302
- // });
303
296
  exports.sAccessMutation = zod_1.z
304
297
  .union([exports.sObjectMerge, exports.sObjectDelete])
305
298
  .describe('Access object change description');
@@ -391,6 +384,7 @@ const fromAgentSchemaByKind = {
391
384
  'start-rs': exports.sStartServiceRs,
392
385
  'stop-rs': exports.sStopServiceRs,
393
386
  'command-rs': exports.sRunCommandRs,
387
+ 'query-rs': exports.sQueryRs,
394
388
  state: exports.sPushStateUpdateRq,
395
389
  event: exports.sPushEventRq,
396
390
  'get-available-devices-rs': exports.sGetAvailableDevicesRs,
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ export declare const QUERY_DEVICE_GRAPH = "core:device-graph";
2
3
  export declare const QUERY_RECORDINGS_BY_TIME_RANGE = "cctv:recordings-by-time-range";
3
4
  export declare const QUERY_MEDIA_SEARCH = "cctv:media-search";
4
5
  export declare const QUERY_RTSP_DATA = "cctv:rtsp-data";
@@ -45,7 +46,7 @@ export declare const sMediaSearchArgs: z.ZodObject<{
45
46
  similarTo?: string | undefined;
46
47
  sortBy?: "time_asc" | "time_desc" | undefined;
47
48
  }>;
48
- export declare const sRtspDataArgs: z.ZodNull;
49
+ export declare const sRtspDataArgs: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
49
50
  export declare const sPreviewImageArgs: z.ZodObject<{
50
51
  time: z.ZodNumber;
51
52
  height: z.ZodNumber;
@@ -99,7 +100,416 @@ export declare const sObjectThumbnailArgs: z.ZodObject<{
99
100
  }, {
100
101
  providerAssignedRef: string;
101
102
  }>;
102
- export declare const sRecordingsResponse: z.ZodArray<z.ZodAny, "many">;
103
+ export declare const sDeviceGraphResponse: z.ZodObject<{
104
+ devices: z.ZodArray<z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
105
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ tags?: string[] | undefined;
108
+ }, {
109
+ tags?: string[] | undefined;
110
+ }>, z.ZodObject<{
111
+ name: z.ZodString;
112
+ foreignRef: z.ZodString;
113
+ provider: z.ZodString;
114
+ providerMetadata: z.ZodObject<{}, "strip", z.ZodUnknown, z.objectOutputType<{}, z.ZodUnknown, "strip">, z.objectInputType<{}, z.ZodUnknown, "strip">>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ name: string;
117
+ foreignRef: string;
118
+ provider: string;
119
+ providerMetadata: {} & {
120
+ [k: string]: unknown;
121
+ };
122
+ }, {
123
+ name: string;
124
+ foreignRef: string;
125
+ provider: string;
126
+ providerMetadata: {} & {
127
+ [k: string]: unknown;
128
+ };
129
+ }>>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
130
+ type: z.ZodLiteral<"alarm">;
131
+ }, "strip", z.ZodTypeAny, {
132
+ type: "alarm";
133
+ }, {
134
+ type: "alarm";
135
+ }>, z.ZodObject<{
136
+ lensType: z.ZodEnum<["flat", "fisheye"]>;
137
+ mountPoint: z.ZodEnum<["wall", "ceiling", "floor"]>;
138
+ ptzCapable: z.ZodBoolean;
139
+ ptzPanSpeed: z.ZodNumber;
140
+ ptzTiltSpeed: z.ZodNumber;
141
+ ptzZoomSpeed: z.ZodNumber;
142
+ recordingCapable: z.ZodBoolean;
143
+ webrtcPlaybackSource: z.ZodNullable<z.ZodIntersection<z.ZodObject<{
144
+ kind: z.ZodString;
145
+ }, "strip", z.ZodTypeAny, {
146
+ kind: string;
147
+ }, {
148
+ kind: string;
149
+ }>, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
150
+ streams: z.ZodArray<z.ZodObject<{
151
+ id: z.ZodString;
152
+ displayName: z.ZodString;
153
+ externalPlayerUrl: z.ZodNullable<z.ZodString>;
154
+ }, "strip", z.ZodTypeAny, {
155
+ id: string;
156
+ displayName: string;
157
+ externalPlayerUrl: string | null;
158
+ }, {
159
+ id: string;
160
+ displayName: string;
161
+ externalPlayerUrl: string | null;
162
+ }>, "many">;
163
+ defaultStreamId: z.ZodString;
164
+ } & {
165
+ type: z.ZodLiteral<"camera">;
166
+ }, "strip", z.ZodTypeAny, {
167
+ type: "camera";
168
+ streams: {
169
+ id: string;
170
+ displayName: string;
171
+ externalPlayerUrl: string | null;
172
+ }[];
173
+ lensType: "flat" | "fisheye";
174
+ mountPoint: "wall" | "ceiling" | "floor";
175
+ ptzCapable: boolean;
176
+ ptzPanSpeed: number;
177
+ ptzTiltSpeed: number;
178
+ ptzZoomSpeed: number;
179
+ recordingCapable: boolean;
180
+ webrtcPlaybackSource: ({
181
+ kind: string;
182
+ } & Record<string, unknown>) | null;
183
+ defaultStreamId: string;
184
+ }, {
185
+ type: "camera";
186
+ streams: {
187
+ id: string;
188
+ displayName: string;
189
+ externalPlayerUrl: string | null;
190
+ }[];
191
+ lensType: "flat" | "fisheye";
192
+ mountPoint: "wall" | "ceiling" | "floor";
193
+ ptzCapable: boolean;
194
+ ptzPanSpeed: number;
195
+ ptzTiltSpeed: number;
196
+ ptzZoomSpeed: number;
197
+ recordingCapable: boolean;
198
+ webrtcPlaybackSource: ({
199
+ kind: string;
200
+ } & Record<string, unknown>) | null;
201
+ defaultStreamId: string;
202
+ }>, z.ZodObject<{
203
+ canReportOpenState: z.ZodBoolean;
204
+ canReportLockState: z.ZodBoolean;
205
+ canControlLock: z.ZodBoolean;
206
+ canRelease: z.ZodBoolean;
207
+ } & {
208
+ type: z.ZodLiteral<"door">;
209
+ }, "strip", z.ZodTypeAny, {
210
+ type: "door";
211
+ canReportOpenState: boolean;
212
+ canReportLockState: boolean;
213
+ canControlLock: boolean;
214
+ canRelease: boolean;
215
+ }, {
216
+ type: "door";
217
+ canReportOpenState: boolean;
218
+ canReportLockState: boolean;
219
+ canControlLock: boolean;
220
+ canRelease: boolean;
221
+ }>, z.ZodObject<{
222
+ inputs: z.ZodArray<z.ZodString, "many">;
223
+ outputs: z.ZodArray<z.ZodString, "many">;
224
+ } & {
225
+ type: z.ZodLiteral<"io-board">;
226
+ }, "strip", z.ZodTypeAny, {
227
+ type: "io-board";
228
+ inputs: string[];
229
+ outputs: string[];
230
+ }, {
231
+ type: "io-board";
232
+ inputs: string[];
233
+ outputs: string[];
234
+ }>, z.ZodObject<{
235
+ type: z.ZodLiteral<"camera-lift">;
236
+ }, "strip", z.ZodTypeAny, {
237
+ type: "camera-lift";
238
+ }, {
239
+ type: "camera-lift";
240
+ }>, z.ZodObject<{
241
+ type: z.ZodLiteral<"motion-sensor">;
242
+ }, "strip", z.ZodTypeAny, {
243
+ type: "motion-sensor";
244
+ }, {
245
+ type: "motion-sensor";
246
+ }>, z.ZodObject<{
247
+ type: z.ZodLiteral<"panic-button">;
248
+ }, "strip", z.ZodTypeAny, {
249
+ type: "panic-button";
250
+ }, {
251
+ type: "panic-button";
252
+ }>, z.ZodObject<{
253
+ sipUri: z.ZodString;
254
+ sipUser: z.ZodString;
255
+ sipPassword: z.ZodString;
256
+ sipRealm: z.ZodString;
257
+ remoteExtension: z.ZodString;
258
+ } & {
259
+ type: z.ZodLiteral<"intercom-terminal">;
260
+ }, "strip", z.ZodTypeAny, {
261
+ type: "intercom-terminal";
262
+ sipUri: string;
263
+ sipUser: string;
264
+ sipPassword: string;
265
+ sipRealm: string;
266
+ remoteExtension: string;
267
+ }, {
268
+ type: "intercom-terminal";
269
+ sipUri: string;
270
+ sipUser: string;
271
+ sipPassword: string;
272
+ sipRealm: string;
273
+ remoteExtension: string;
274
+ }>, z.ZodObject<{
275
+ sipWsUrl: z.ZodString;
276
+ } & {
277
+ type: z.ZodLiteral<"pbx">;
278
+ }, "strip", z.ZodTypeAny, {
279
+ type: "pbx";
280
+ sipWsUrl: string;
281
+ }, {
282
+ type: "pbx";
283
+ sipWsUrl: string;
284
+ }>, z.ZodObject<{
285
+ type: z.ZodLiteral<"server">;
286
+ }, "strip", z.ZodTypeAny, {
287
+ type: "server";
288
+ }, {
289
+ type: "server";
290
+ }>, z.ZodObject<{
291
+ type: z.ZodLiteral<"intercom-operator">;
292
+ }, "strip", z.ZodTypeAny, {
293
+ type: "intercom-operator";
294
+ }, {
295
+ type: "intercom-operator";
296
+ }>, z.ZodObject<{
297
+ type: z.ZodLiteral<"device-gateway">;
298
+ }, "strip", z.ZodTypeAny, {
299
+ type: "device-gateway";
300
+ }, {
301
+ type: "device-gateway";
302
+ }>, z.ZodObject<{
303
+ type: z.ZodLiteral<"presence-tracker">;
304
+ }, "strip", z.ZodTypeAny, {
305
+ type: "presence-tracker";
306
+ }, {
307
+ type: "presence-tracker";
308
+ }>, z.ZodObject<{
309
+ type: z.ZodLiteral<"reader">;
310
+ }, "strip", z.ZodTypeAny, {
311
+ type: "reader";
312
+ }, {
313
+ type: "reader";
314
+ }>, z.ZodObject<{
315
+ type: z.ZodLiteral<"display">;
316
+ }, "strip", z.ZodTypeAny, {
317
+ type: "display";
318
+ }, {
319
+ type: "display";
320
+ }>]>>, "many">;
321
+ relations: z.ZodArray<z.ZodIntersection<z.ZodObject<{
322
+ leftId: z.ZodString;
323
+ rightId: z.ZodString;
324
+ kind: z.ZodEnum<["attachedTo", "parent", "child", "holds", "isHeldBy", "observes", "isObservedBy", "sendsInputTo", "receivesInputFrom", "sendsOutputTo", "receivesOutputFrom", "unlocks", "isUnlockedBy", "controls", "isControlledBy"]>;
325
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
326
+ leftId: z.ZodString;
327
+ rightId: z.ZodString;
328
+ kind: z.ZodEnum<["attachedTo", "parent", "child", "holds", "isHeldBy", "observes", "isObservedBy", "sendsInputTo", "receivesInputFrom", "sendsOutputTo", "receivesOutputFrom", "unlocks", "isUnlockedBy", "controls", "isControlledBy"]>;
329
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
330
+ leftId: z.ZodString;
331
+ rightId: z.ZodString;
332
+ kind: z.ZodEnum<["attachedTo", "parent", "child", "holds", "isHeldBy", "observes", "isObservedBy", "sendsInputTo", "receivesInputFrom", "sendsOutputTo", "receivesOutputFrom", "unlocks", "isUnlockedBy", "controls", "isControlledBy"]>;
333
+ }, z.ZodUnknown, "strip">>, z.ZodObject<{
334
+ provider: z.ZodString;
335
+ }, "strip", z.ZodTypeAny, {
336
+ provider: string;
337
+ }, {
338
+ provider: string;
339
+ }>>, "many">;
340
+ }, "strip", z.ZodTypeAny, {
341
+ devices: ({
342
+ tags?: string[] | undefined;
343
+ } & {
344
+ name: string;
345
+ foreignRef: string;
346
+ provider: string;
347
+ providerMetadata: {} & {
348
+ [k: string]: unknown;
349
+ };
350
+ } & ({
351
+ type: "alarm";
352
+ } | {
353
+ type: "camera";
354
+ streams: {
355
+ id: string;
356
+ displayName: string;
357
+ externalPlayerUrl: string | null;
358
+ }[];
359
+ lensType: "flat" | "fisheye";
360
+ mountPoint: "wall" | "ceiling" | "floor";
361
+ ptzCapable: boolean;
362
+ ptzPanSpeed: number;
363
+ ptzTiltSpeed: number;
364
+ ptzZoomSpeed: number;
365
+ recordingCapable: boolean;
366
+ webrtcPlaybackSource: ({
367
+ kind: string;
368
+ } & Record<string, unknown>) | null;
369
+ defaultStreamId: string;
370
+ } | {
371
+ type: "door";
372
+ canReportOpenState: boolean;
373
+ canReportLockState: boolean;
374
+ canControlLock: boolean;
375
+ canRelease: boolean;
376
+ } | {
377
+ type: "io-board";
378
+ inputs: string[];
379
+ outputs: string[];
380
+ } | {
381
+ type: "camera-lift";
382
+ } | {
383
+ type: "motion-sensor";
384
+ } | {
385
+ type: "panic-button";
386
+ } | {
387
+ type: "intercom-terminal";
388
+ sipUri: string;
389
+ sipUser: string;
390
+ sipPassword: string;
391
+ sipRealm: string;
392
+ remoteExtension: string;
393
+ } | {
394
+ type: "pbx";
395
+ sipWsUrl: string;
396
+ } | {
397
+ type: "server";
398
+ } | {
399
+ type: "intercom-operator";
400
+ } | {
401
+ type: "device-gateway";
402
+ } | {
403
+ type: "presence-tracker";
404
+ } | {
405
+ type: "reader";
406
+ } | {
407
+ type: "display";
408
+ }))[];
409
+ relations: ({
410
+ kind: "parent" | "attachedTo" | "child" | "holds" | "isHeldBy" | "observes" | "isObservedBy" | "sendsInputTo" | "receivesInputFrom" | "sendsOutputTo" | "receivesOutputFrom" | "unlocks" | "isUnlockedBy" | "controls" | "isControlledBy";
411
+ leftId: string;
412
+ rightId: string;
413
+ } & {
414
+ [k: string]: unknown;
415
+ } & {
416
+ provider: string;
417
+ })[];
418
+ }, {
419
+ devices: ({
420
+ tags?: string[] | undefined;
421
+ } & {
422
+ name: string;
423
+ foreignRef: string;
424
+ provider: string;
425
+ providerMetadata: {} & {
426
+ [k: string]: unknown;
427
+ };
428
+ } & ({
429
+ type: "alarm";
430
+ } | {
431
+ type: "camera";
432
+ streams: {
433
+ id: string;
434
+ displayName: string;
435
+ externalPlayerUrl: string | null;
436
+ }[];
437
+ lensType: "flat" | "fisheye";
438
+ mountPoint: "wall" | "ceiling" | "floor";
439
+ ptzCapable: boolean;
440
+ ptzPanSpeed: number;
441
+ ptzTiltSpeed: number;
442
+ ptzZoomSpeed: number;
443
+ recordingCapable: boolean;
444
+ webrtcPlaybackSource: ({
445
+ kind: string;
446
+ } & Record<string, unknown>) | null;
447
+ defaultStreamId: string;
448
+ } | {
449
+ type: "door";
450
+ canReportOpenState: boolean;
451
+ canReportLockState: boolean;
452
+ canControlLock: boolean;
453
+ canRelease: boolean;
454
+ } | {
455
+ type: "io-board";
456
+ inputs: string[];
457
+ outputs: string[];
458
+ } | {
459
+ type: "camera-lift";
460
+ } | {
461
+ type: "motion-sensor";
462
+ } | {
463
+ type: "panic-button";
464
+ } | {
465
+ type: "intercom-terminal";
466
+ sipUri: string;
467
+ sipUser: string;
468
+ sipPassword: string;
469
+ sipRealm: string;
470
+ remoteExtension: string;
471
+ } | {
472
+ type: "pbx";
473
+ sipWsUrl: string;
474
+ } | {
475
+ type: "server";
476
+ } | {
477
+ type: "intercom-operator";
478
+ } | {
479
+ type: "device-gateway";
480
+ } | {
481
+ type: "presence-tracker";
482
+ } | {
483
+ type: "reader";
484
+ } | {
485
+ type: "display";
486
+ }))[];
487
+ relations: ({
488
+ kind: "parent" | "attachedTo" | "child" | "holds" | "isHeldBy" | "observes" | "isObservedBy" | "sendsInputTo" | "receivesInputFrom" | "sendsOutputTo" | "receivesOutputFrom" | "unlocks" | "isUnlockedBy" | "controls" | "isControlledBy";
489
+ leftId: string;
490
+ rightId: string;
491
+ } & {
492
+ [k: string]: unknown;
493
+ } & {
494
+ provider: string;
495
+ })[];
496
+ }>;
497
+ export declare const sRecordingsResponse: z.ZodArray<z.ZodObject<{
498
+ start: z.ZodNumber;
499
+ end: z.ZodNumber;
500
+ motion: z.ZodOptional<z.ZodNumber>;
501
+ objects: z.ZodOptional<z.ZodNumber>;
502
+ }, "strip", z.ZodTypeAny, {
503
+ end: number;
504
+ start: number;
505
+ motion?: number | undefined;
506
+ objects?: number | undefined;
507
+ }, {
508
+ end: number;
509
+ start: number;
510
+ motion?: number | undefined;
511
+ objects?: number | undefined;
512
+ }>, "many">;
103
513
  export declare const sMediaSearchMatch: z.ZodObject<{
104
514
  relevance: z.ZodNumber;
105
515
  providerAssignedRef: z.ZodString;
@@ -197,11 +607,67 @@ export declare const sRtspDataResponse: z.ZodObject<{
197
607
  password: string;
198
608
  cameraName: string;
199
609
  }>;
200
- export declare const sPreviewImageResponse: z.ZodNever;
201
- export declare const sCameraLatestFrameResponse: z.ZodNever;
202
- export declare const sScenePreviewClipResponse: z.ZodNever;
203
- export declare const sObjectSnapshotResponse: z.ZodNever;
204
- export declare const sObjectThumbnailResponse: z.ZodNever;
610
+ export declare const sFileResponse: z.ZodNullable<z.ZodObject<{
611
+ mimeType: z.ZodString;
612
+ data: z.ZodString;
613
+ }, "strip", z.ZodTypeAny, {
614
+ data: string;
615
+ mimeType: string;
616
+ }, {
617
+ data: string;
618
+ mimeType: string;
619
+ }>>;
620
+ export declare const sPreviewImageResponse: z.ZodNullable<z.ZodObject<{
621
+ mimeType: z.ZodString;
622
+ data: z.ZodString;
623
+ }, "strip", z.ZodTypeAny, {
624
+ data: string;
625
+ mimeType: string;
626
+ }, {
627
+ data: string;
628
+ mimeType: string;
629
+ }>>;
630
+ export declare const sCameraLatestFrameResponse: z.ZodNullable<z.ZodObject<{
631
+ mimeType: z.ZodString;
632
+ data: z.ZodString;
633
+ }, "strip", z.ZodTypeAny, {
634
+ data: string;
635
+ mimeType: string;
636
+ }, {
637
+ data: string;
638
+ mimeType: string;
639
+ }>>;
640
+ export declare const sScenePreviewClipResponse: z.ZodNullable<z.ZodObject<{
641
+ mimeType: z.ZodString;
642
+ data: z.ZodString;
643
+ }, "strip", z.ZodTypeAny, {
644
+ data: string;
645
+ mimeType: string;
646
+ }, {
647
+ data: string;
648
+ mimeType: string;
649
+ }>>;
650
+ export declare const sObjectSnapshotResponse: z.ZodNullable<z.ZodObject<{
651
+ mimeType: z.ZodString;
652
+ data: z.ZodString;
653
+ }, "strip", z.ZodTypeAny, {
654
+ data: string;
655
+ mimeType: string;
656
+ }, {
657
+ data: string;
658
+ mimeType: string;
659
+ }>>;
660
+ export declare const sObjectThumbnailResponse: z.ZodNullable<z.ZodObject<{
661
+ mimeType: z.ZodString;
662
+ data: z.ZodString;
663
+ }, "strip", z.ZodTypeAny, {
664
+ data: string;
665
+ mimeType: string;
666
+ }, {
667
+ data: string;
668
+ mimeType: string;
669
+ }>>;
670
+ export type DeviceGraphResponse = z.infer<typeof sDeviceGraphResponse>;
205
671
  export type RecordingsByTimeRangeArgs = z.infer<typeof sRecordingsByTimeRangeArgs>;
206
672
  export type MediaSearchArgs = z.infer<typeof sMediaSearchArgs>;
207
673
  export type RtspDataArgs = z.infer<typeof sRtspDataArgs>;
@@ -220,6 +686,7 @@ export type ScenePreviewClipResponse = z.infer<typeof sScenePreviewClipResponse>
220
686
  export type ObjectSnapshotResponse = z.infer<typeof sObjectSnapshotResponse>;
221
687
  export type ObjectThumbnailResponse = z.infer<typeof sObjectThumbnailResponse>;
222
688
  export declare const requestSchemasByType: {
689
+ readonly "core:device-graph": z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
223
690
  readonly "cctv:recordings-by-time-range": z.ZodObject<{
224
691
  timeFrom: z.ZodNumber;
225
692
  timeTo: z.ZodNumber;
@@ -258,7 +725,7 @@ export declare const requestSchemasByType: {
258
725
  similarTo?: string | undefined;
259
726
  sortBy?: "time_asc" | "time_desc" | undefined;
260
727
  }>;
261
- readonly "cctv:rtsp-data": z.ZodNull;
728
+ readonly "cctv:rtsp-data": z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
262
729
  readonly "cctv:preview-image": z.ZodObject<{
263
730
  time: z.ZodNumber;
264
731
  height: z.ZodNumber;
@@ -314,7 +781,416 @@ export declare const requestSchemasByType: {
314
781
  }>;
315
782
  };
316
783
  export declare const responseSchemasByType: {
317
- readonly "cctv:recordings-by-time-range": z.ZodArray<z.ZodAny, "many">;
784
+ readonly "core:device-graph": z.ZodObject<{
785
+ devices: z.ZodArray<z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
786
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
787
+ }, "strip", z.ZodTypeAny, {
788
+ tags?: string[] | undefined;
789
+ }, {
790
+ tags?: string[] | undefined;
791
+ }>, z.ZodObject<{
792
+ name: z.ZodString;
793
+ foreignRef: z.ZodString;
794
+ provider: z.ZodString;
795
+ providerMetadata: z.ZodObject<{}, "strip", z.ZodUnknown, z.objectOutputType<{}, z.ZodUnknown, "strip">, z.objectInputType<{}, z.ZodUnknown, "strip">>;
796
+ }, "strip", z.ZodTypeAny, {
797
+ name: string;
798
+ foreignRef: string;
799
+ provider: string;
800
+ providerMetadata: {} & {
801
+ [k: string]: unknown;
802
+ };
803
+ }, {
804
+ name: string;
805
+ foreignRef: string;
806
+ provider: string;
807
+ providerMetadata: {} & {
808
+ [k: string]: unknown;
809
+ };
810
+ }>>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
811
+ type: z.ZodLiteral<"alarm">;
812
+ }, "strip", z.ZodTypeAny, {
813
+ type: "alarm";
814
+ }, {
815
+ type: "alarm";
816
+ }>, z.ZodObject<{
817
+ lensType: z.ZodEnum<["flat", "fisheye"]>;
818
+ mountPoint: z.ZodEnum<["wall", "ceiling", "floor"]>;
819
+ ptzCapable: z.ZodBoolean;
820
+ ptzPanSpeed: z.ZodNumber;
821
+ ptzTiltSpeed: z.ZodNumber;
822
+ ptzZoomSpeed: z.ZodNumber;
823
+ recordingCapable: z.ZodBoolean;
824
+ webrtcPlaybackSource: z.ZodNullable<z.ZodIntersection<z.ZodObject<{
825
+ kind: z.ZodString;
826
+ }, "strip", z.ZodTypeAny, {
827
+ kind: string;
828
+ }, {
829
+ kind: string;
830
+ }>, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
831
+ streams: z.ZodArray<z.ZodObject<{
832
+ id: z.ZodString;
833
+ displayName: z.ZodString;
834
+ externalPlayerUrl: z.ZodNullable<z.ZodString>;
835
+ }, "strip", z.ZodTypeAny, {
836
+ id: string;
837
+ displayName: string;
838
+ externalPlayerUrl: string | null;
839
+ }, {
840
+ id: string;
841
+ displayName: string;
842
+ externalPlayerUrl: string | null;
843
+ }>, "many">;
844
+ defaultStreamId: z.ZodString;
845
+ } & {
846
+ type: z.ZodLiteral<"camera">;
847
+ }, "strip", z.ZodTypeAny, {
848
+ type: "camera";
849
+ streams: {
850
+ id: string;
851
+ displayName: string;
852
+ externalPlayerUrl: string | null;
853
+ }[];
854
+ lensType: "flat" | "fisheye";
855
+ mountPoint: "wall" | "ceiling" | "floor";
856
+ ptzCapable: boolean;
857
+ ptzPanSpeed: number;
858
+ ptzTiltSpeed: number;
859
+ ptzZoomSpeed: number;
860
+ recordingCapable: boolean;
861
+ webrtcPlaybackSource: ({
862
+ kind: string;
863
+ } & Record<string, unknown>) | null;
864
+ defaultStreamId: string;
865
+ }, {
866
+ type: "camera";
867
+ streams: {
868
+ id: string;
869
+ displayName: string;
870
+ externalPlayerUrl: string | null;
871
+ }[];
872
+ lensType: "flat" | "fisheye";
873
+ mountPoint: "wall" | "ceiling" | "floor";
874
+ ptzCapable: boolean;
875
+ ptzPanSpeed: number;
876
+ ptzTiltSpeed: number;
877
+ ptzZoomSpeed: number;
878
+ recordingCapable: boolean;
879
+ webrtcPlaybackSource: ({
880
+ kind: string;
881
+ } & Record<string, unknown>) | null;
882
+ defaultStreamId: string;
883
+ }>, z.ZodObject<{
884
+ canReportOpenState: z.ZodBoolean;
885
+ canReportLockState: z.ZodBoolean;
886
+ canControlLock: z.ZodBoolean;
887
+ canRelease: z.ZodBoolean;
888
+ } & {
889
+ type: z.ZodLiteral<"door">;
890
+ }, "strip", z.ZodTypeAny, {
891
+ type: "door";
892
+ canReportOpenState: boolean;
893
+ canReportLockState: boolean;
894
+ canControlLock: boolean;
895
+ canRelease: boolean;
896
+ }, {
897
+ type: "door";
898
+ canReportOpenState: boolean;
899
+ canReportLockState: boolean;
900
+ canControlLock: boolean;
901
+ canRelease: boolean;
902
+ }>, z.ZodObject<{
903
+ inputs: z.ZodArray<z.ZodString, "many">;
904
+ outputs: z.ZodArray<z.ZodString, "many">;
905
+ } & {
906
+ type: z.ZodLiteral<"io-board">;
907
+ }, "strip", z.ZodTypeAny, {
908
+ type: "io-board";
909
+ inputs: string[];
910
+ outputs: string[];
911
+ }, {
912
+ type: "io-board";
913
+ inputs: string[];
914
+ outputs: string[];
915
+ }>, z.ZodObject<{
916
+ type: z.ZodLiteral<"camera-lift">;
917
+ }, "strip", z.ZodTypeAny, {
918
+ type: "camera-lift";
919
+ }, {
920
+ type: "camera-lift";
921
+ }>, z.ZodObject<{
922
+ type: z.ZodLiteral<"motion-sensor">;
923
+ }, "strip", z.ZodTypeAny, {
924
+ type: "motion-sensor";
925
+ }, {
926
+ type: "motion-sensor";
927
+ }>, z.ZodObject<{
928
+ type: z.ZodLiteral<"panic-button">;
929
+ }, "strip", z.ZodTypeAny, {
930
+ type: "panic-button";
931
+ }, {
932
+ type: "panic-button";
933
+ }>, z.ZodObject<{
934
+ sipUri: z.ZodString;
935
+ sipUser: z.ZodString;
936
+ sipPassword: z.ZodString;
937
+ sipRealm: z.ZodString;
938
+ remoteExtension: z.ZodString;
939
+ } & {
940
+ type: z.ZodLiteral<"intercom-terminal">;
941
+ }, "strip", z.ZodTypeAny, {
942
+ type: "intercom-terminal";
943
+ sipUri: string;
944
+ sipUser: string;
945
+ sipPassword: string;
946
+ sipRealm: string;
947
+ remoteExtension: string;
948
+ }, {
949
+ type: "intercom-terminal";
950
+ sipUri: string;
951
+ sipUser: string;
952
+ sipPassword: string;
953
+ sipRealm: string;
954
+ remoteExtension: string;
955
+ }>, z.ZodObject<{
956
+ sipWsUrl: z.ZodString;
957
+ } & {
958
+ type: z.ZodLiteral<"pbx">;
959
+ }, "strip", z.ZodTypeAny, {
960
+ type: "pbx";
961
+ sipWsUrl: string;
962
+ }, {
963
+ type: "pbx";
964
+ sipWsUrl: string;
965
+ }>, z.ZodObject<{
966
+ type: z.ZodLiteral<"server">;
967
+ }, "strip", z.ZodTypeAny, {
968
+ type: "server";
969
+ }, {
970
+ type: "server";
971
+ }>, z.ZodObject<{
972
+ type: z.ZodLiteral<"intercom-operator">;
973
+ }, "strip", z.ZodTypeAny, {
974
+ type: "intercom-operator";
975
+ }, {
976
+ type: "intercom-operator";
977
+ }>, z.ZodObject<{
978
+ type: z.ZodLiteral<"device-gateway">;
979
+ }, "strip", z.ZodTypeAny, {
980
+ type: "device-gateway";
981
+ }, {
982
+ type: "device-gateway";
983
+ }>, z.ZodObject<{
984
+ type: z.ZodLiteral<"presence-tracker">;
985
+ }, "strip", z.ZodTypeAny, {
986
+ type: "presence-tracker";
987
+ }, {
988
+ type: "presence-tracker";
989
+ }>, z.ZodObject<{
990
+ type: z.ZodLiteral<"reader">;
991
+ }, "strip", z.ZodTypeAny, {
992
+ type: "reader";
993
+ }, {
994
+ type: "reader";
995
+ }>, z.ZodObject<{
996
+ type: z.ZodLiteral<"display">;
997
+ }, "strip", z.ZodTypeAny, {
998
+ type: "display";
999
+ }, {
1000
+ type: "display";
1001
+ }>]>>, "many">;
1002
+ relations: z.ZodArray<z.ZodIntersection<z.ZodObject<{
1003
+ leftId: z.ZodString;
1004
+ rightId: z.ZodString;
1005
+ kind: z.ZodEnum<["attachedTo", "parent", "child", "holds", "isHeldBy", "observes", "isObservedBy", "sendsInputTo", "receivesInputFrom", "sendsOutputTo", "receivesOutputFrom", "unlocks", "isUnlockedBy", "controls", "isControlledBy"]>;
1006
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
1007
+ leftId: z.ZodString;
1008
+ rightId: z.ZodString;
1009
+ kind: z.ZodEnum<["attachedTo", "parent", "child", "holds", "isHeldBy", "observes", "isObservedBy", "sendsInputTo", "receivesInputFrom", "sendsOutputTo", "receivesOutputFrom", "unlocks", "isUnlockedBy", "controls", "isControlledBy"]>;
1010
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
1011
+ leftId: z.ZodString;
1012
+ rightId: z.ZodString;
1013
+ kind: z.ZodEnum<["attachedTo", "parent", "child", "holds", "isHeldBy", "observes", "isObservedBy", "sendsInputTo", "receivesInputFrom", "sendsOutputTo", "receivesOutputFrom", "unlocks", "isUnlockedBy", "controls", "isControlledBy"]>;
1014
+ }, z.ZodUnknown, "strip">>, z.ZodObject<{
1015
+ provider: z.ZodString;
1016
+ }, "strip", z.ZodTypeAny, {
1017
+ provider: string;
1018
+ }, {
1019
+ provider: string;
1020
+ }>>, "many">;
1021
+ }, "strip", z.ZodTypeAny, {
1022
+ devices: ({
1023
+ tags?: string[] | undefined;
1024
+ } & {
1025
+ name: string;
1026
+ foreignRef: string;
1027
+ provider: string;
1028
+ providerMetadata: {} & {
1029
+ [k: string]: unknown;
1030
+ };
1031
+ } & ({
1032
+ type: "alarm";
1033
+ } | {
1034
+ type: "camera";
1035
+ streams: {
1036
+ id: string;
1037
+ displayName: string;
1038
+ externalPlayerUrl: string | null;
1039
+ }[];
1040
+ lensType: "flat" | "fisheye";
1041
+ mountPoint: "wall" | "ceiling" | "floor";
1042
+ ptzCapable: boolean;
1043
+ ptzPanSpeed: number;
1044
+ ptzTiltSpeed: number;
1045
+ ptzZoomSpeed: number;
1046
+ recordingCapable: boolean;
1047
+ webrtcPlaybackSource: ({
1048
+ kind: string;
1049
+ } & Record<string, unknown>) | null;
1050
+ defaultStreamId: string;
1051
+ } | {
1052
+ type: "door";
1053
+ canReportOpenState: boolean;
1054
+ canReportLockState: boolean;
1055
+ canControlLock: boolean;
1056
+ canRelease: boolean;
1057
+ } | {
1058
+ type: "io-board";
1059
+ inputs: string[];
1060
+ outputs: string[];
1061
+ } | {
1062
+ type: "camera-lift";
1063
+ } | {
1064
+ type: "motion-sensor";
1065
+ } | {
1066
+ type: "panic-button";
1067
+ } | {
1068
+ type: "intercom-terminal";
1069
+ sipUri: string;
1070
+ sipUser: string;
1071
+ sipPassword: string;
1072
+ sipRealm: string;
1073
+ remoteExtension: string;
1074
+ } | {
1075
+ type: "pbx";
1076
+ sipWsUrl: string;
1077
+ } | {
1078
+ type: "server";
1079
+ } | {
1080
+ type: "intercom-operator";
1081
+ } | {
1082
+ type: "device-gateway";
1083
+ } | {
1084
+ type: "presence-tracker";
1085
+ } | {
1086
+ type: "reader";
1087
+ } | {
1088
+ type: "display";
1089
+ }))[];
1090
+ relations: ({
1091
+ kind: "parent" | "attachedTo" | "child" | "holds" | "isHeldBy" | "observes" | "isObservedBy" | "sendsInputTo" | "receivesInputFrom" | "sendsOutputTo" | "receivesOutputFrom" | "unlocks" | "isUnlockedBy" | "controls" | "isControlledBy";
1092
+ leftId: string;
1093
+ rightId: string;
1094
+ } & {
1095
+ [k: string]: unknown;
1096
+ } & {
1097
+ provider: string;
1098
+ })[];
1099
+ }, {
1100
+ devices: ({
1101
+ tags?: string[] | undefined;
1102
+ } & {
1103
+ name: string;
1104
+ foreignRef: string;
1105
+ provider: string;
1106
+ providerMetadata: {} & {
1107
+ [k: string]: unknown;
1108
+ };
1109
+ } & ({
1110
+ type: "alarm";
1111
+ } | {
1112
+ type: "camera";
1113
+ streams: {
1114
+ id: string;
1115
+ displayName: string;
1116
+ externalPlayerUrl: string | null;
1117
+ }[];
1118
+ lensType: "flat" | "fisheye";
1119
+ mountPoint: "wall" | "ceiling" | "floor";
1120
+ ptzCapable: boolean;
1121
+ ptzPanSpeed: number;
1122
+ ptzTiltSpeed: number;
1123
+ ptzZoomSpeed: number;
1124
+ recordingCapable: boolean;
1125
+ webrtcPlaybackSource: ({
1126
+ kind: string;
1127
+ } & Record<string, unknown>) | null;
1128
+ defaultStreamId: string;
1129
+ } | {
1130
+ type: "door";
1131
+ canReportOpenState: boolean;
1132
+ canReportLockState: boolean;
1133
+ canControlLock: boolean;
1134
+ canRelease: boolean;
1135
+ } | {
1136
+ type: "io-board";
1137
+ inputs: string[];
1138
+ outputs: string[];
1139
+ } | {
1140
+ type: "camera-lift";
1141
+ } | {
1142
+ type: "motion-sensor";
1143
+ } | {
1144
+ type: "panic-button";
1145
+ } | {
1146
+ type: "intercom-terminal";
1147
+ sipUri: string;
1148
+ sipUser: string;
1149
+ sipPassword: string;
1150
+ sipRealm: string;
1151
+ remoteExtension: string;
1152
+ } | {
1153
+ type: "pbx";
1154
+ sipWsUrl: string;
1155
+ } | {
1156
+ type: "server";
1157
+ } | {
1158
+ type: "intercom-operator";
1159
+ } | {
1160
+ type: "device-gateway";
1161
+ } | {
1162
+ type: "presence-tracker";
1163
+ } | {
1164
+ type: "reader";
1165
+ } | {
1166
+ type: "display";
1167
+ }))[];
1168
+ relations: ({
1169
+ kind: "parent" | "attachedTo" | "child" | "holds" | "isHeldBy" | "observes" | "isObservedBy" | "sendsInputTo" | "receivesInputFrom" | "sendsOutputTo" | "receivesOutputFrom" | "unlocks" | "isUnlockedBy" | "controls" | "isControlledBy";
1170
+ leftId: string;
1171
+ rightId: string;
1172
+ } & {
1173
+ [k: string]: unknown;
1174
+ } & {
1175
+ provider: string;
1176
+ })[];
1177
+ }>;
1178
+ readonly "cctv:recordings-by-time-range": z.ZodArray<z.ZodObject<{
1179
+ start: z.ZodNumber;
1180
+ end: z.ZodNumber;
1181
+ motion: z.ZodOptional<z.ZodNumber>;
1182
+ objects: z.ZodOptional<z.ZodNumber>;
1183
+ }, "strip", z.ZodTypeAny, {
1184
+ end: number;
1185
+ start: number;
1186
+ motion?: number | undefined;
1187
+ objects?: number | undefined;
1188
+ }, {
1189
+ end: number;
1190
+ start: number;
1191
+ motion?: number | undefined;
1192
+ objects?: number | undefined;
1193
+ }>, "many">;
318
1194
  readonly "cctv:media-search": z.ZodArray<z.ZodObject<{
319
1195
  relevance: z.ZodNumber;
320
1196
  providerAssignedRef: z.ZodString;
@@ -384,13 +1260,59 @@ export declare const responseSchemasByType: {
384
1260
  password: string;
385
1261
  cameraName: string;
386
1262
  }>;
387
- readonly "cctv:preview-image": z.ZodNever;
388
- readonly "cctv:latest-frame": z.ZodNever;
389
- readonly "cctv:scene-preview-clip": z.ZodNever;
390
- readonly "cctv:object-snapshot": z.ZodNever;
391
- readonly "cctv:object-thumbnail": z.ZodNever;
1263
+ readonly "cctv:preview-image": z.ZodNullable<z.ZodObject<{
1264
+ mimeType: z.ZodString;
1265
+ data: z.ZodString;
1266
+ }, "strip", z.ZodTypeAny, {
1267
+ data: string;
1268
+ mimeType: string;
1269
+ }, {
1270
+ data: string;
1271
+ mimeType: string;
1272
+ }>>;
1273
+ readonly "cctv:latest-frame": z.ZodNullable<z.ZodObject<{
1274
+ mimeType: z.ZodString;
1275
+ data: z.ZodString;
1276
+ }, "strip", z.ZodTypeAny, {
1277
+ data: string;
1278
+ mimeType: string;
1279
+ }, {
1280
+ data: string;
1281
+ mimeType: string;
1282
+ }>>;
1283
+ readonly "cctv:scene-preview-clip": z.ZodNullable<z.ZodObject<{
1284
+ mimeType: z.ZodString;
1285
+ data: z.ZodString;
1286
+ }, "strip", z.ZodTypeAny, {
1287
+ data: string;
1288
+ mimeType: string;
1289
+ }, {
1290
+ data: string;
1291
+ mimeType: string;
1292
+ }>>;
1293
+ readonly "cctv:object-snapshot": z.ZodNullable<z.ZodObject<{
1294
+ mimeType: z.ZodString;
1295
+ data: z.ZodString;
1296
+ }, "strip", z.ZodTypeAny, {
1297
+ data: string;
1298
+ mimeType: string;
1299
+ }, {
1300
+ data: string;
1301
+ mimeType: string;
1302
+ }>>;
1303
+ readonly "cctv:object-thumbnail": z.ZodNullable<z.ZodObject<{
1304
+ mimeType: z.ZodString;
1305
+ data: z.ZodString;
1306
+ }, "strip", z.ZodTypeAny, {
1307
+ data: string;
1308
+ mimeType: string;
1309
+ }, {
1310
+ data: string;
1311
+ mimeType: string;
1312
+ }>>;
392
1313
  };
393
1314
  export type QueryRequestMap = {
1315
+ [QUERY_DEVICE_GRAPH]: object;
394
1316
  [QUERY_RECORDINGS_BY_TIME_RANGE]: RecordingsByTimeRangeArgs;
395
1317
  [QUERY_MEDIA_SEARCH]: MediaSearchArgs;
396
1318
  [QUERY_RTSP_DATA]: RtspDataArgs;
@@ -401,6 +1323,7 @@ export type QueryRequestMap = {
401
1323
  [QUERY_OBJECT_THUMBNAIL]: ObjectThumbnailArgs;
402
1324
  };
403
1325
  export type QueryResponseMap = {
1326
+ [QUERY_DEVICE_GRAPH]: DeviceGraphResponse;
404
1327
  [QUERY_RECORDINGS_BY_TIME_RANGE]: RecordingsResponse;
405
1328
  [QUERY_MEDIA_SEARCH]: MediaSearchResponse;
406
1329
  [QUERY_RTSP_DATA]: RtspDataResponse;
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.responseSchemasByType = exports.requestSchemasByType = exports.sObjectThumbnailResponse = exports.sObjectSnapshotResponse = exports.sScenePreviewClipResponse = exports.sCameraLatestFrameResponse = exports.sPreviewImageResponse = exports.sRtspDataResponse = exports.sMediaSearchResponse = exports.sMediaSearchMatch = exports.sRecordingsResponse = exports.sObjectThumbnailArgs = exports.sObjectSnapshotArgs = exports.sScenePreviewClipArgs = exports.sCameraLatestFrameArgs = exports.sPreviewImageArgs = exports.sRtspDataArgs = exports.sMediaSearchArgs = exports.sRecordingsByTimeRangeArgs = exports.QUERY_OBJECT_THUMBNAIL = exports.QUERY_OBJECT_SNAPSHOT = exports.QUERY_SCENE_PREVIEW_CLIP = exports.QUERY_CAMERA_LATEST_FRAME = exports.QUERY_PREVIEW_IMAGE = exports.QUERY_RTSP_DATA = exports.QUERY_MEDIA_SEARCH = exports.QUERY_RECORDINGS_BY_TIME_RANGE = void 0;
3
+ exports.responseSchemasByType = exports.requestSchemasByType = exports.sObjectThumbnailResponse = exports.sObjectSnapshotResponse = exports.sScenePreviewClipResponse = exports.sCameraLatestFrameResponse = exports.sPreviewImageResponse = exports.sFileResponse = exports.sRtspDataResponse = exports.sMediaSearchResponse = exports.sMediaSearchMatch = exports.sRecordingsResponse = exports.sDeviceGraphResponse = exports.sObjectThumbnailArgs = exports.sObjectSnapshotArgs = exports.sScenePreviewClipArgs = exports.sCameraLatestFrameArgs = exports.sPreviewImageArgs = exports.sRtspDataArgs = exports.sMediaSearchArgs = exports.sRecordingsByTimeRangeArgs = exports.QUERY_OBJECT_THUMBNAIL = exports.QUERY_OBJECT_SNAPSHOT = exports.QUERY_SCENE_PREVIEW_CLIP = exports.QUERY_CAMERA_LATEST_FRAME = exports.QUERY_PREVIEW_IMAGE = exports.QUERY_RTSP_DATA = exports.QUERY_MEDIA_SEARCH = exports.QUERY_RECORDINGS_BY_TIME_RANGE = exports.QUERY_DEVICE_GRAPH = void 0;
4
+ const device_import_1 = require("../device-import");
4
5
  const api_1 = require("../api");
5
6
  const zod_1 = require("zod");
6
- // Query constants
7
+ // CORE
8
+ exports.QUERY_DEVICE_GRAPH = 'core:device-graph';
9
+ // CCTV
7
10
  exports.QUERY_RECORDINGS_BY_TIME_RANGE = 'cctv:recordings-by-time-range';
8
11
  exports.QUERY_MEDIA_SEARCH = 'cctv:media-search';
9
12
  exports.QUERY_RTSP_DATA = 'cctv:rtsp-data';
@@ -29,7 +32,7 @@ exports.sMediaSearchArgs = zod_1.z
29
32
  sortBy: api_1.sSortOptions,
30
33
  })
31
34
  .partial();
32
- exports.sRtspDataArgs = zod_1.z.null();
35
+ exports.sRtspDataArgs = zod_1.z.object({});
33
36
  exports.sPreviewImageArgs = zod_1.z.object({
34
37
  time: zod_1.z.number(),
35
38
  height: zod_1.z.number(),
@@ -52,7 +55,8 @@ exports.sObjectThumbnailArgs = zod_1.z.object({
52
55
  providerAssignedRef: zod_1.z.string(),
53
56
  });
54
57
  // Zod schemas for responses
55
- exports.sRecordingsResponse = zod_1.z.array(zod_1.z.any()); // RecordingSequence[] - using z.any() as RecordingSequence might be complex
58
+ exports.sDeviceGraphResponse = device_import_1.sDeviceDiscoveryDto;
59
+ exports.sRecordingsResponse = zod_1.z.array(api_1.sRecordingSequence);
56
60
  exports.sMediaSearchMatch = zod_1.z.object({
57
61
  relevance: zod_1.z.number(),
58
62
  providerAssignedRef: zod_1.z.string(),
@@ -63,7 +67,7 @@ exports.sMediaSearchMatch = zod_1.z.object({
63
67
  startTime: zod_1.z.number(),
64
68
  endTime: zod_1.z.number().nullable(),
65
69
  });
66
- exports.sMediaSearchResponse = zod_1.z.array(exports.sMediaSearchMatch); // MediaSearchMatchDto[] - using z.any() as MediaSearchMatchDto might be complex
70
+ exports.sMediaSearchResponse = zod_1.z.array(exports.sMediaSearchMatch);
67
71
  exports.sRtspDataResponse = zod_1.z.object({
68
72
  cameraName: zod_1.z.string(),
69
73
  username: zod_1.z.string(),
@@ -75,14 +79,21 @@ exports.sRtspDataResponse = zod_1.z.object({
75
79
  rtspUrl: zod_1.z.string(),
76
80
  })),
77
81
  });
78
- // File download responses are typed as never since they return file downloads
79
- exports.sPreviewImageResponse = zod_1.z.never();
80
- exports.sCameraLatestFrameResponse = zod_1.z.never();
81
- exports.sScenePreviewClipResponse = zod_1.z.never();
82
- exports.sObjectSnapshotResponse = zod_1.z.never();
83
- exports.sObjectThumbnailResponse = zod_1.z.never();
82
+ // File download responses
83
+ exports.sFileResponse = zod_1.z
84
+ .object({
85
+ mimeType: zod_1.z.string().nonempty(),
86
+ data: zod_1.z.string().nonempty(),
87
+ })
88
+ .nullable();
89
+ exports.sPreviewImageResponse = exports.sFileResponse;
90
+ exports.sCameraLatestFrameResponse = exports.sFileResponse;
91
+ exports.sScenePreviewClipResponse = exports.sFileResponse;
92
+ exports.sObjectSnapshotResponse = exports.sFileResponse;
93
+ exports.sObjectThumbnailResponse = exports.sFileResponse;
84
94
  // Dictionary of request schemas by query type
85
95
  exports.requestSchemasByType = {
96
+ [exports.QUERY_DEVICE_GRAPH]: zod_1.z.object({}),
86
97
  [exports.QUERY_RECORDINGS_BY_TIME_RANGE]: exports.sRecordingsByTimeRangeArgs,
87
98
  [exports.QUERY_MEDIA_SEARCH]: exports.sMediaSearchArgs,
88
99
  [exports.QUERY_RTSP_DATA]: exports.sRtspDataArgs,
@@ -94,6 +105,7 @@ exports.requestSchemasByType = {
94
105
  };
95
106
  // Dictionary of response schemas by query type
96
107
  exports.responseSchemasByType = {
108
+ [exports.QUERY_DEVICE_GRAPH]: exports.sDeviceGraphResponse,
97
109
  [exports.QUERY_RECORDINGS_BY_TIME_RANGE]: exports.sRecordingsResponse,
98
110
  [exports.QUERY_MEDIA_SEARCH]: exports.sMediaSearchResponse,
99
111
  [exports.QUERY_RTSP_DATA]: exports.sRtspDataResponse,
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awarevue/api-types",
3
- "version": "1.0.114",
3
+ "version": "1.1.0",
4
4
  "description": "Common types between backend, agent(s) and frontend(s)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awarevue/api-types",
3
- "version": "1.0.114",
3
+ "version": "1.1.0",
4
4
  "description": "Common types between backend, agent(s) and frontend(s)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",