@kohost/api-client 3.0.0-beta.24 → 3.0.0-beta.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.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![npm version](https://badge.fury.io/js/@kohost%2Fapi-client.svg)](https://badge.fury.io/js/@kohost%2Fapi-client)
1
+ [![npm version](https://badge.fury.io/js/@kohost%2Fapi-client.svg)](https://badge.fury.io/js/@kohost%2Fapi-client) [![Use Case Synced](https://github.com/kohost/api-client/actions/workflows/sync-use-cases.yml/badge.svg?branch=master)](https://github.com/kohost/api-client/actions/workflows/sync-use-cases.yml)
2
2
 
3
3
  # Kohost API Client
4
4
 
@@ -185,9 +185,11 @@ var amqp = require("amqplib");
185
185
  var crypto = require("crypto");
186
186
  var isFatalError = require("amqplib/lib/connection").isFatalError;
187
187
  var debug = require("debug")("kohost:amqp-client");
188
- var HEADER_KEY_ORGANIZATION_ID = "organization-id";
189
- var HEADER_KEY_PROPERTY_ID = "property-id";
190
- var HEADER_KEY_DRIVER = "driver";
188
+ var HEADER_KEY_ORGANIZATION_ID = "X-Organization-Id";
189
+ var HEADER_KEY_PROPERTY_ID = "X-Property-Id";
190
+ var HEADER_KEY_DRIVER = "X-Driver";
191
+ var HEADER_KEY_COMMAND_NAME = "X-Command-Name";
192
+ var HEADER_KEY_EVENT_NAME = "X-Event-Name";
191
193
  var exchanges = {
192
194
  // routes commands based on `command-name` header and in many cases `property-id` header
193
195
  Commands: {
@@ -272,21 +274,19 @@ var KohostAMQPClient = class {
272
274
  debug("parseMessage input %o", message);
273
275
  let error = null;
274
276
  let data = {};
275
- let params = {};
276
277
  let query = {};
277
278
  let context = {};
278
279
  let headers = {};
279
280
  const isCommand = ((_a = message == null ? void 0 : message.properties) == null ? void 0 : _a.type) === "Command";
280
281
  const isEvent = ((_b = message == null ? void 0 : message.properties) == null ? void 0 : _b.type) === "Event";
281
282
  const messageHeaders = ((_c = message == null ? void 0 : message.properties) == null ? void 0 : _c.headers) || {};
282
- const commandName = messageHeaders["command-name"] || null;
283
- const eventName = messageHeaders["event-name"] || null;
283
+ const commandName = messageHeaders[HEADER_KEY_COMMAND_NAME] || null;
284
+ const eventName = messageHeaders[HEADER_KEY_EVENT_NAME] || null;
284
285
  if (message.content) {
285
286
  try {
286
287
  const payload = ((_d = message.properties) == null ? void 0 : _d.contentType) === "application/json" ? JSON.parse(message.content.toString()) : message.content.toString();
287
288
  data = (payload == null ? void 0 : payload.data) || {};
288
289
  error = payload == null ? void 0 : payload.error;
289
- params = (payload == null ? void 0 : payload.params) || {};
290
290
  query = (payload == null ? void 0 : payload.query) || {};
291
291
  context = (payload == null ? void 0 : payload.context) || {};
292
292
  } catch (error2) {
@@ -314,7 +314,6 @@ var KohostAMQPClient = class {
314
314
  if (error)
315
315
  parsed.error = this.parseError(error);
316
316
  parsed.data = data;
317
- parsed.params = params;
318
317
  parsed.query = query;
319
318
  parsed.context = context;
320
319
  parsed.headers = headers;
@@ -2361,6 +2361,44 @@ var require_DescribeLock = __commonJS({
2361
2361
  }
2362
2362
  });
2363
2363
 
2364
+ // dist/useCases/GetMobileKey.js
2365
+ var require_GetMobileKey = __commonJS({
2366
+ "dist/useCases/GetMobileKey.js"(exports2, module2) {
2367
+ module2.exports = /* @__PURE__ */ __name(function GetMobileKey2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2368
+ if (!requestData)
2369
+ requestData = {};
2370
+ const pathParams = [":roomId", ":id"];
2371
+ const { data, query, headers } = requestData;
2372
+ let url = "/rooms/:roomId/locks/:id/mobileKey";
2373
+ if (pathParams && data) {
2374
+ for (const param of pathParams) {
2375
+ const paramName = param.replace(":", "");
2376
+ url = url.replace(param, data[paramName]);
2377
+ }
2378
+ }
2379
+ if (url.match(/:[a-zA-Z0-9]+/g)) {
2380
+ const missingParams = url.match(/:[a-zA-Z0-9]+/g);
2381
+ const missing = missingParams.map((param) => param.replace(":", ""));
2382
+ return Promise.reject(
2383
+ new Error("Missing parameters: " + missing.join(", "))
2384
+ );
2385
+ }
2386
+ const config = {
2387
+ method: "post",
2388
+ url,
2389
+ ...httpConfigOptions
2390
+ };
2391
+ if (data)
2392
+ config.data = data;
2393
+ if (query)
2394
+ config.params = query;
2395
+ if (headers)
2396
+ config.headers = headers;
2397
+ return this._http.request(config);
2398
+ }, "GetMobileKey");
2399
+ }
2400
+ });
2401
+
2364
2402
  // dist/useCases/CreateSwitch.js
2365
2403
  var require_CreateSwitch = __commonJS({
2366
2404
  "dist/useCases/CreateSwitch.js"(exports2, module2) {
@@ -2589,15 +2627,15 @@ var require_SetSwitch = __commonJS({
2589
2627
  }
2590
2628
  });
2591
2629
 
2592
- // dist/useCases/CreateSource.js
2593
- var require_CreateSource = __commonJS({
2594
- "dist/useCases/CreateSource.js"(exports2, module2) {
2595
- module2.exports = /* @__PURE__ */ __name(function CreateSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2630
+ // dist/useCases/CreateMediaSource.js
2631
+ var require_CreateMediaSource = __commonJS({
2632
+ "dist/useCases/CreateMediaSource.js"(exports2, module2) {
2633
+ module2.exports = /* @__PURE__ */ __name(function CreateMediaSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2596
2634
  if (!requestData)
2597
2635
  requestData = {};
2598
2636
  const pathParams = [":roomId"];
2599
2637
  const { data, query, headers } = requestData;
2600
- let url = "/rooms/:roomId/sources";
2638
+ let url = "/rooms/:roomId/mediaSources";
2601
2639
  if (pathParams && data) {
2602
2640
  for (const param of pathParams) {
2603
2641
  const paramName = param.replace(":", "");
@@ -2623,19 +2661,19 @@ var require_CreateSource = __commonJS({
2623
2661
  if (headers)
2624
2662
  config.headers = headers;
2625
2663
  return this._http.request(config);
2626
- }, "CreateSource");
2664
+ }, "CreateMediaSource");
2627
2665
  }
2628
2666
  });
2629
2667
 
2630
- // dist/useCases/ListSources.js
2631
- var require_ListSources = __commonJS({
2632
- "dist/useCases/ListSources.js"(exports2, module2) {
2633
- module2.exports = /* @__PURE__ */ __name(function ListSources2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2668
+ // dist/useCases/ListMediaSources.js
2669
+ var require_ListMediaSources = __commonJS({
2670
+ "dist/useCases/ListMediaSources.js"(exports2, module2) {
2671
+ module2.exports = /* @__PURE__ */ __name(function ListMediaSources2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2634
2672
  if (!requestData)
2635
2673
  requestData = {};
2636
2674
  const pathParams = [":roomId"];
2637
2675
  const { data, query, headers } = requestData;
2638
- let url = "/rooms/:roomId/sources";
2676
+ let url = "/rooms/:roomId/mediaSources";
2639
2677
  if (pathParams && data) {
2640
2678
  for (const param of pathParams) {
2641
2679
  const paramName = param.replace(":", "");
@@ -2661,19 +2699,19 @@ var require_ListSources = __commonJS({
2661
2699
  if (headers)
2662
2700
  config.headers = headers;
2663
2701
  return this._http.request(config);
2664
- }, "ListSources");
2702
+ }, "ListMediaSources");
2665
2703
  }
2666
2704
  });
2667
2705
 
2668
- // dist/useCases/UpdateSource.js
2669
- var require_UpdateSource = __commonJS({
2670
- "dist/useCases/UpdateSource.js"(exports2, module2) {
2671
- module2.exports = /* @__PURE__ */ __name(function UpdateSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2706
+ // dist/useCases/UpdateMediaSource.js
2707
+ var require_UpdateMediaSource = __commonJS({
2708
+ "dist/useCases/UpdateMediaSource.js"(exports2, module2) {
2709
+ module2.exports = /* @__PURE__ */ __name(function UpdateMediaSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2672
2710
  if (!requestData)
2673
2711
  requestData = {};
2674
2712
  const pathParams = [":roomId", ":id"];
2675
2713
  const { data, query, headers } = requestData;
2676
- let url = "/rooms/:roomId/sources/:id";
2714
+ let url = "/rooms/:roomId/mediaSources/:id";
2677
2715
  if (pathParams && data) {
2678
2716
  for (const param of pathParams) {
2679
2717
  const paramName = param.replace(":", "");
@@ -2699,19 +2737,19 @@ var require_UpdateSource = __commonJS({
2699
2737
  if (headers)
2700
2738
  config.headers = headers;
2701
2739
  return this._http.request(config);
2702
- }, "UpdateSource");
2740
+ }, "UpdateMediaSource");
2703
2741
  }
2704
2742
  });
2705
2743
 
2706
- // dist/useCases/DeleteSource.js
2707
- var require_DeleteSource = __commonJS({
2708
- "dist/useCases/DeleteSource.js"(exports2, module2) {
2709
- module2.exports = /* @__PURE__ */ __name(function DeleteSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2744
+ // dist/useCases/DeleteMediaSource.js
2745
+ var require_DeleteMediaSource = __commonJS({
2746
+ "dist/useCases/DeleteMediaSource.js"(exports2, module2) {
2747
+ module2.exports = /* @__PURE__ */ __name(function DeleteMediaSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2710
2748
  if (!requestData)
2711
2749
  requestData = {};
2712
2750
  const pathParams = [":roomId", ":id"];
2713
2751
  const { data, query, headers } = requestData;
2714
- let url = "/rooms/:roomId/sources/:id";
2752
+ let url = "/rooms/:roomId/mediaSources/:id";
2715
2753
  if (pathParams && data) {
2716
2754
  for (const param of pathParams) {
2717
2755
  const paramName = param.replace(":", "");
@@ -2737,19 +2775,19 @@ var require_DeleteSource = __commonJS({
2737
2775
  if (headers)
2738
2776
  config.headers = headers;
2739
2777
  return this._http.request(config);
2740
- }, "DeleteSource");
2778
+ }, "DeleteMediaSource");
2741
2779
  }
2742
2780
  });
2743
2781
 
2744
- // dist/useCases/DescribeSource.js
2745
- var require_DescribeSource = __commonJS({
2746
- "dist/useCases/DescribeSource.js"(exports2, module2) {
2747
- module2.exports = /* @__PURE__ */ __name(function DescribeSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2782
+ // dist/useCases/DescribeMediaSource.js
2783
+ var require_DescribeMediaSource = __commonJS({
2784
+ "dist/useCases/DescribeMediaSource.js"(exports2, module2) {
2785
+ module2.exports = /* @__PURE__ */ __name(function DescribeMediaSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2748
2786
  if (!requestData)
2749
2787
  requestData = {};
2750
2788
  const pathParams = [":roomId", ":id"];
2751
2789
  const { data, query, headers } = requestData;
2752
- let url = "/rooms/:roomId/sources/:id";
2790
+ let url = "/rooms/:roomId/mediaSources/:id";
2753
2791
  if (pathParams && data) {
2754
2792
  for (const param of pathParams) {
2755
2793
  const paramName = param.replace(":", "");
@@ -2775,19 +2813,19 @@ var require_DescribeSource = __commonJS({
2775
2813
  if (headers)
2776
2814
  config.headers = headers;
2777
2815
  return this._http.request(config);
2778
- }, "DescribeSource");
2816
+ }, "DescribeMediaSource");
2779
2817
  }
2780
2818
  });
2781
2819
 
2782
- // dist/useCases/SetSource.js
2783
- var require_SetSource = __commonJS({
2784
- "dist/useCases/SetSource.js"(exports2, module2) {
2785
- module2.exports = /* @__PURE__ */ __name(function SetSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2820
+ // dist/useCases/SetMediaSource.js
2821
+ var require_SetMediaSource = __commonJS({
2822
+ "dist/useCases/SetMediaSource.js"(exports2, module2) {
2823
+ module2.exports = /* @__PURE__ */ __name(function SetMediaSource2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
2786
2824
  if (!requestData)
2787
2825
  requestData = {};
2788
2826
  const pathParams = [":roomId", ":id"];
2789
2827
  const { data, query, headers } = requestData;
2790
- let url = "/rooms/:roomId/sources/:id";
2828
+ let url = "/rooms/:roomId/mediaSources/:id";
2791
2829
  if (pathParams && data) {
2792
2830
  for (const param of pathParams) {
2793
2831
  const paramName = param.replace(":", "");
@@ -2813,7 +2851,7 @@ var require_SetSource = __commonJS({
2813
2851
  if (headers)
2814
2852
  config.headers = headers;
2815
2853
  return this._http.request(config);
2816
- }, "SetSource");
2854
+ }, "SetMediaSource");
2817
2855
  }
2818
2856
  });
2819
2857
 
@@ -3539,6 +3577,44 @@ var require_ListTickets = __commonJS({
3539
3577
  }
3540
3578
  });
3541
3579
 
3580
+ // dist/useCases/ListMyTickets.js
3581
+ var require_ListMyTickets = __commonJS({
3582
+ "dist/useCases/ListMyTickets.js"(exports2, module2) {
3583
+ module2.exports = /* @__PURE__ */ __name(function ListMyTickets2(requestData = { data: null, query: null, headers: null }, httpConfigOptions = {}) {
3584
+ if (!requestData)
3585
+ requestData = {};
3586
+ const pathParams = null;
3587
+ const { data, query, headers } = requestData;
3588
+ let url = "/tickets/mine";
3589
+ if (pathParams && data) {
3590
+ for (const param of pathParams) {
3591
+ const paramName = param.replace(":", "");
3592
+ url = url.replace(param, data[paramName]);
3593
+ }
3594
+ }
3595
+ if (url.match(/:[a-zA-Z0-9]+/g)) {
3596
+ const missingParams = url.match(/:[a-zA-Z0-9]+/g);
3597
+ const missing = missingParams.map((param) => param.replace(":", ""));
3598
+ return Promise.reject(
3599
+ new Error("Missing parameters: " + missing.join(", "))
3600
+ );
3601
+ }
3602
+ const config = {
3603
+ method: "get",
3604
+ url,
3605
+ ...httpConfigOptions
3606
+ };
3607
+ if (data)
3608
+ config.data = data;
3609
+ if (query)
3610
+ config.params = query;
3611
+ if (headers)
3612
+ config.headers = headers;
3613
+ return this._http.request(config);
3614
+ }, "ListMyTickets");
3615
+ }
3616
+ });
3617
+
3542
3618
  // dist/useCases/UpdateMessageReadStatus.js
3543
3619
  var require_UpdateMessageReadStatus = __commonJS({
3544
3620
  "dist/useCases/UpdateMessageReadStatus.js"(exports2, module2) {
@@ -5008,18 +5084,19 @@ var ListLocks = require_ListLocks();
5008
5084
  var UpdateLock = require_UpdateLock();
5009
5085
  var DeleteLock = require_DeleteLock();
5010
5086
  var DescribeLock = require_DescribeLock();
5087
+ var GetMobileKey = require_GetMobileKey();
5011
5088
  var CreateSwitch = require_CreateSwitch();
5012
5089
  var ListSwitches = require_ListSwitches();
5013
5090
  var UpdateSwitch = require_UpdateSwitch();
5014
5091
  var DeleteSwitch = require_DeleteSwitch();
5015
5092
  var DescribeSwitch = require_DescribeSwitch();
5016
5093
  var SetSwitch = require_SetSwitch();
5017
- var CreateSource = require_CreateSource();
5018
- var ListSources = require_ListSources();
5019
- var UpdateSource = require_UpdateSource();
5020
- var DeleteSource = require_DeleteSource();
5021
- var DescribeSource = require_DescribeSource();
5022
- var SetSource = require_SetSource();
5094
+ var CreateMediaSource = require_CreateMediaSource();
5095
+ var ListMediaSources = require_ListMediaSources();
5096
+ var UpdateMediaSource = require_UpdateMediaSource();
5097
+ var DeleteMediaSource = require_DeleteMediaSource();
5098
+ var DescribeMediaSource = require_DescribeMediaSource();
5099
+ var SetMediaSource = require_SetMediaSource();
5023
5100
  var CreateThermostat = require_CreateThermostat();
5024
5101
  var ListThermostats = require_ListThermostats();
5025
5102
  var UpdateThermostat = require_UpdateThermostat();
@@ -5039,6 +5116,7 @@ var CreateTicketMessage = require_CreateTicketMessage();
5039
5116
  var DeleteTicket = require_DeleteTicket();
5040
5117
  var DescribeTicket = require_DescribeTicket();
5041
5118
  var ListTickets = require_ListTickets();
5119
+ var ListMyTickets = require_ListMyTickets();
5042
5120
  var UpdateMessageReadStatus = require_UpdateMessageReadStatus();
5043
5121
  var UpdateTicket = require_UpdateTicket();
5044
5122
  var UpdateTicketStatus = require_UpdateTicketStatus();
@@ -5250,18 +5328,19 @@ KohostApiClient.prototype.ListLocks = ListLocks;
5250
5328
  KohostApiClient.prototype.UpdateLock = UpdateLock;
5251
5329
  KohostApiClient.prototype.DeleteLock = DeleteLock;
5252
5330
  KohostApiClient.prototype.DescribeLock = DescribeLock;
5331
+ KohostApiClient.prototype.GetMobileKey = GetMobileKey;
5253
5332
  KohostApiClient.prototype.CreateSwitch = CreateSwitch;
5254
5333
  KohostApiClient.prototype.ListSwitches = ListSwitches;
5255
5334
  KohostApiClient.prototype.UpdateSwitch = UpdateSwitch;
5256
5335
  KohostApiClient.prototype.DeleteSwitch = DeleteSwitch;
5257
5336
  KohostApiClient.prototype.DescribeSwitch = DescribeSwitch;
5258
5337
  KohostApiClient.prototype.SetSwitch = SetSwitch;
5259
- KohostApiClient.prototype.CreateSource = CreateSource;
5260
- KohostApiClient.prototype.ListSources = ListSources;
5261
- KohostApiClient.prototype.UpdateSource = UpdateSource;
5262
- KohostApiClient.prototype.DeleteSource = DeleteSource;
5263
- KohostApiClient.prototype.DescribeSource = DescribeSource;
5264
- KohostApiClient.prototype.SetSource = SetSource;
5338
+ KohostApiClient.prototype.CreateMediaSource = CreateMediaSource;
5339
+ KohostApiClient.prototype.ListMediaSources = ListMediaSources;
5340
+ KohostApiClient.prototype.UpdateMediaSource = UpdateMediaSource;
5341
+ KohostApiClient.prototype.DeleteMediaSource = DeleteMediaSource;
5342
+ KohostApiClient.prototype.DescribeMediaSource = DescribeMediaSource;
5343
+ KohostApiClient.prototype.SetMediaSource = SetMediaSource;
5265
5344
  KohostApiClient.prototype.CreateThermostat = CreateThermostat;
5266
5345
  KohostApiClient.prototype.ListThermostats = ListThermostats;
5267
5346
  KohostApiClient.prototype.UpdateThermostat = UpdateThermostat;
@@ -5281,6 +5360,7 @@ KohostApiClient.prototype.CreateTicketMessage = CreateTicketMessage;
5281
5360
  KohostApiClient.prototype.DeleteTicket = DeleteTicket;
5282
5361
  KohostApiClient.prototype.DescribeTicket = DescribeTicket;
5283
5362
  KohostApiClient.prototype.ListTickets = ListTickets;
5363
+ KohostApiClient.prototype.ListMyTickets = ListMyTickets;
5284
5364
  KohostApiClient.prototype.UpdateMessageReadStatus = UpdateMessageReadStatus;
5285
5365
  KohostApiClient.prototype.UpdateTicket = UpdateTicket;
5286
5366
  KohostApiClient.prototype.UpdateTicketStatus = UpdateTicketStatus;
@@ -1907,17 +1907,12 @@ var require_mediaSource = __commonJS({
1907
1907
  title: "Media Source",
1908
1908
  description: "Any media source",
1909
1909
  type: "object",
1910
+ required: ["id", "type", "systemData", "audio", "video", "driver"],
1910
1911
  properties: {
1911
1912
  id: {
1912
1913
  $ref: "https://api.kohost.io/schemas/v3/definitions/device.json#/definitions/id"
1913
1914
  },
1914
1915
  type: {
1915
- $ref: "https://api.kohost.io/schemas/v3/definitions/device.json#/definitions/type"
1916
- },
1917
- driver: {
1918
- $ref: "https://api.kohost.io/schemas/v3/definitions/common.json#/definitions/driver"
1919
- },
1920
- subType: {
1921
1916
  type: "string",
1922
1917
  enum: [
1923
1918
  "tv",
@@ -1928,6 +1923,9 @@ var require_mediaSource = __commonJS({
1928
1923
  "uncontrolledDevice"
1929
1924
  ]
1930
1925
  },
1926
+ driver: {
1927
+ $ref: "https://api.kohost.io/schemas/v3/definitions/common.json#/definitions/driver"
1928
+ },
1931
1929
  audio: {
1932
1930
  type: "boolean"
1933
1931
  },
@@ -1940,6 +1938,27 @@ var require_mediaSource = __commonJS({
1940
1938
  volumeFeedback: {
1941
1939
  type: "boolean"
1942
1940
  },
1941
+ muted: {
1942
+ type: "boolean"
1943
+ },
1944
+ volume: {
1945
+ type: "number",
1946
+ minimum: 0,
1947
+ maximum: 100
1948
+ },
1949
+ power: {
1950
+ type: "string",
1951
+ enum: ["on", "off"]
1952
+ },
1953
+ input: {
1954
+ type: "string"
1955
+ },
1956
+ supportedInputs: {
1957
+ type: "array",
1958
+ items: {
1959
+ type: "string"
1960
+ }
1961
+ },
1943
1962
  command: {
1944
1963
  type: ["string", "null"],
1945
1964
  enum: [
@@ -1983,6 +2002,7 @@ var require_mediaSource = __commonJS({
1983
2002
  "input",
1984
2003
  "power",
1985
2004
  "enterChannel",
2005
+ "enterVolume",
1986
2006
  "number10",
1987
2007
  "number11",
1988
2008
  "number12",
@@ -2039,7 +2059,12 @@ var require_mediaSource = __commonJS({
2039
2059
  "hdmi2",
2040
2060
  "hdmi3",
2041
2061
  "cecDeviceList",
2042
- "mtsSap"
2062
+ "mtsSap",
2063
+ "red",
2064
+ "green",
2065
+ "yellow",
2066
+ "blue",
2067
+ "alert"
2043
2068
  ]
2044
2069
  },
2045
2070
  supportedNotifications: {
@@ -2052,8 +2077,7 @@ var require_mediaSource = __commonJS({
2052
2077
  $ref: "https://api.kohost.io/schemas/v3/definitions/device.json#/definitions/systemData"
2053
2078
  }
2054
2079
  },
2055
- additionalProperties: false,
2056
- required: ["id", "type", "systemData", "audio", "video", "driver"]
2080
+ additionalProperties: false
2057
2081
  };
2058
2082
  }
2059
2083
  });