@kohost/api-client 4.5.2 → 4.5.3

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 (246) hide show
  1. package/dist/amqpClient.cjs.map +1 -1
  2. package/dist/amqpClient.js +1 -1
  3. package/dist/{chunk-ANFME4PS.js → chunk-2WENKTKS.js} +1 -1
  4. package/dist/{chunk-NP5F6QMM.js → chunk-2ZCAJFR6.js} +1 -1
  5. package/dist/{chunk-M5X5MAMO.js → chunk-3FKDV3W4.js} +1 -1
  6. package/dist/{chunk-LRTOHGB2.js → chunk-3RWMCGZU.js} +1 -1
  7. package/dist/{chunk-TQFOLO5K.js → chunk-4NFVHN5G.js} +1 -1
  8. package/dist/{chunk-LSJGBXK7.js → chunk-4W6JII6E.js} +1 -1
  9. package/dist/{chunk-LSJGBXK7.js.map → chunk-4W6JII6E.js.map} +1 -1
  10. package/dist/{chunk-ZU7D7NTB.js → chunk-5LFNNWB4.js} +1 -1
  11. package/dist/{chunk-CFNGKVGU.js → chunk-6EUTKLZA.js} +1 -1
  12. package/dist/{chunk-ALNMPVX6.js → chunk-6GG7FCXY.js} +1 -1
  13. package/dist/{chunk-RISVSRZG.js → chunk-6VPU637U.js} +1 -1
  14. package/dist/{chunk-PJKWZ4E7.js → chunk-7FQ7Z3RO.js} +1 -1
  15. package/dist/{chunk-TUFZH6AD.js → chunk-7MNN27JF.js} +1 -1
  16. package/dist/{chunk-FVP5AOHC.js → chunk-7T43HWEL.js} +1 -1
  17. package/dist/{chunk-4AFOAB6J.js → chunk-AMDG4VWD.js} +1 -1
  18. package/dist/{chunk-RXVFLL3E.js → chunk-BXA5EVPM.js} +1 -1
  19. package/dist/{chunk-UHZNVQJL.js → chunk-CAQ76IFU.js} +1 -1
  20. package/dist/{chunk-5EDOP7SD.js → chunk-CDUIG4WQ.js} +1 -1
  21. package/dist/{chunk-VOEI53EX.js → chunk-CY5V5W5V.js} +1 -1
  22. package/dist/{chunk-PDHZFIDQ.js → chunk-D66JCFTT.js} +1 -1
  23. package/dist/{chunk-44MXAJLE.js → chunk-DYMBTM73.js} +1 -1
  24. package/dist/{chunk-RT5GN57D.js → chunk-DYQSQZVT.js} +1 -1
  25. package/dist/{chunk-GMEDY3CY.js → chunk-FDRRHETK.js} +1 -1
  26. package/dist/chunk-FYZDWPFY.js +1 -0
  27. package/dist/{chunk-U6LM27GO.js.map → chunk-FYZDWPFY.js.map} +1 -1
  28. package/dist/{chunk-ZHKBERFH.js → chunk-H5OAPB2Y.js} +1 -1
  29. package/dist/{chunk-YXPWJUIO.js → chunk-HB4EGDYH.js} +1 -1
  30. package/dist/{chunk-YXPWJUIO.js.map → chunk-HB4EGDYH.js.map} +1 -1
  31. package/dist/{chunk-345UV6PD.js → chunk-HPW3XWUB.js} +1 -1
  32. package/dist/{chunk-345UV6PD.js.map → chunk-HPW3XWUB.js.map} +1 -1
  33. package/dist/{chunk-YY6NO4Q7.js → chunk-J5HVSLP7.js} +1 -1
  34. package/dist/{chunk-HBM76KWM.js → chunk-JG2H6XAB.js} +1 -1
  35. package/dist/{chunk-JTMLWXAG.js → chunk-JRY5TCUM.js} +1 -1
  36. package/dist/{chunk-6DFQIA4E.js → chunk-K2OFGN44.js} +1 -1
  37. package/dist/{chunk-34GBFTWN.js → chunk-MA2VFACS.js} +1 -1
  38. package/dist/{chunk-LJOZIKAX.js → chunk-MFC2JUHY.js} +1 -1
  39. package/dist/{chunk-LJOZIKAX.js.map → chunk-MFC2JUHY.js.map} +1 -1
  40. package/dist/{chunk-AGZ6HJSH.js → chunk-MWTYSIRS.js} +1 -1
  41. package/dist/{chunk-AGZ6HJSH.js.map → chunk-MWTYSIRS.js.map} +1 -1
  42. package/dist/{chunk-GBT23YOH.js → chunk-NXQ5HVAF.js} +1 -1
  43. package/dist/{chunk-KAJLZORW.js → chunk-O6GKAYC6.js} +1 -1
  44. package/dist/{chunk-ZMHHWBMW.js → chunk-PKWJFH57.js} +1 -1
  45. package/dist/chunk-QYOZLIPR.js +1 -0
  46. package/dist/chunk-QYOZLIPR.js.map +1 -0
  47. package/dist/{chunk-4EQQGMC3.js → chunk-RB5HY3XD.js} +1 -1
  48. package/dist/{chunk-5PAYL6WO.js → chunk-RPHZUN3P.js} +1 -1
  49. package/dist/{chunk-UYNTJCKP.js → chunk-RT4BGIIF.js} +1 -1
  50. package/dist/{chunk-HNS2SBBF.js → chunk-SBXJHZAY.js} +1 -1
  51. package/dist/{chunk-PRNDB7WM.js → chunk-SPUECDEK.js} +1 -1
  52. package/dist/{chunk-QUX6UPWR.js → chunk-TOF7KO6L.js} +1 -1
  53. package/dist/{chunk-3XCEXZZU.js → chunk-UW7FP5S6.js} +1 -1
  54. package/dist/{chunk-DNI2JI3H.js → chunk-VHWAG4ZM.js} +1 -1
  55. package/dist/{chunk-U2CAGSFM.js → chunk-VIOFNSO2.js} +1 -1
  56. package/dist/{chunk-7PX5KVYB.js → chunk-VLR3CPYE.js} +1 -1
  57. package/dist/{chunk-DUAYP7FO.js → chunk-YTKXZUMB.js} +1 -1
  58. package/dist/{chunk-JFGH6K22.js → chunk-YU7HOW3Q.js} +1 -1
  59. package/dist/commands/index.cjs.map +1 -1
  60. package/dist/commands/index.js +1 -1
  61. package/dist/errors/index.cjs.map +1 -1
  62. package/dist/errors/index.js +1 -1
  63. package/dist/events/index.cjs.map +1 -1
  64. package/dist/events/index.js +1 -1
  65. package/dist/index.cjs +1 -1
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.js +1 -1
  68. package/dist/models/alarm.cjs +1 -1
  69. package/dist/models/alarm.cjs.map +1 -1
  70. package/dist/models/alarm.js +1 -1
  71. package/dist/models/announcement.cjs +1 -1
  72. package/dist/models/announcement.cjs.map +1 -1
  73. package/dist/models/announcement.js +1 -1
  74. package/dist/models/automation.cjs +1 -1
  75. package/dist/models/automation.cjs.map +1 -1
  76. package/dist/models/automation.js +1 -1
  77. package/dist/models/camera.cjs +1 -1
  78. package/dist/models/camera.cjs.map +1 -1
  79. package/dist/models/camera.js +1 -1
  80. package/dist/models/category.cjs +1 -1
  81. package/dist/models/category.cjs.map +1 -1
  82. package/dist/models/category.js +1 -1
  83. package/dist/models/courtesy.cjs +1 -1
  84. package/dist/models/courtesy.cjs.map +1 -1
  85. package/dist/models/courtesy.js +1 -1
  86. package/dist/models/credential.cjs +1 -1
  87. package/dist/models/credential.cjs.map +1 -1
  88. package/dist/models/credential.js +1 -1
  89. package/dist/models/deviceRouter.cjs +1 -1
  90. package/dist/models/deviceRouter.cjs.map +1 -1
  91. package/dist/models/deviceRouter.js +1 -1
  92. package/dist/models/dimmer.cjs +1 -1
  93. package/dist/models/dimmer.cjs.map +1 -1
  94. package/dist/models/dimmer.js +1 -1
  95. package/dist/models/discoveredDevice.cjs +1 -1
  96. package/dist/models/discoveredDevice.cjs.map +1 -1
  97. package/dist/models/discoveredDevice.js +1 -1
  98. package/dist/models/emailMessage.cjs +1 -1
  99. package/dist/models/emailMessage.cjs.map +1 -1
  100. package/dist/models/emailMessage.js +1 -1
  101. package/dist/models/energyReport.cjs +1 -1
  102. package/dist/models/energyReport.cjs.map +1 -1
  103. package/dist/models/energyReport.js +1 -1
  104. package/dist/models/energyReportShard.cjs +1 -1
  105. package/dist/models/energyReportShard.cjs.map +1 -1
  106. package/dist/models/energyReportShard.js +1 -1
  107. package/dist/models/gateway.cjs +1 -1
  108. package/dist/models/gateway.cjs.map +1 -1
  109. package/dist/models/gateway.js +1 -1
  110. package/dist/models/identification.cjs +1 -1
  111. package/dist/models/identification.cjs.map +1 -1
  112. package/dist/models/identification.js +1 -1
  113. package/dist/models/index.cjs +1 -1
  114. package/dist/models/index.cjs.map +1 -1
  115. package/dist/models/index.js +1 -1
  116. package/dist/models/issue.cjs +1 -1
  117. package/dist/models/issue.cjs.map +1 -1
  118. package/dist/models/issue.js +1 -1
  119. package/dist/models/lock.cjs +1 -1
  120. package/dist/models/lock.cjs.map +1 -1
  121. package/dist/models/lock.js +1 -1
  122. package/dist/models/log.cjs +1 -1
  123. package/dist/models/log.cjs.map +1 -1
  124. package/dist/models/log.js +1 -1
  125. package/dist/models/mediaFile.cjs +1 -1
  126. package/dist/models/mediaFile.cjs.map +1 -1
  127. package/dist/models/mediaFile.js +1 -1
  128. package/dist/models/mediaSource.cjs +1 -1
  129. package/dist/models/mediaSource.cjs.map +1 -1
  130. package/dist/models/mediaSource.js +1 -1
  131. package/dist/models/motionSensor.cjs +1 -1
  132. package/dist/models/motionSensor.cjs.map +1 -1
  133. package/dist/models/motionSensor.js +1 -1
  134. package/dist/models/order.cjs +1 -1
  135. package/dist/models/order.cjs.map +1 -1
  136. package/dist/models/order.js +1 -1
  137. package/dist/models/organization.cjs +1 -1
  138. package/dist/models/organization.cjs.map +1 -1
  139. package/dist/models/organization.js +1 -1
  140. package/dist/models/payment.cjs +1 -1
  141. package/dist/models/payment.cjs.map +1 -1
  142. package/dist/models/payment.js +1 -1
  143. package/dist/models/policy.cjs +1 -1
  144. package/dist/models/policy.cjs.map +1 -1
  145. package/dist/models/policy.js +1 -1
  146. package/dist/models/product.cjs +1 -1
  147. package/dist/models/product.cjs.map +1 -1
  148. package/dist/models/product.js +1 -1
  149. package/dist/models/property.cjs +1 -1
  150. package/dist/models/property.cjs.map +1 -1
  151. package/dist/models/property.js +1 -1
  152. package/dist/models/reservation.cjs +1 -1
  153. package/dist/models/reservation.cjs.map +1 -1
  154. package/dist/models/reservation.js +1 -1
  155. package/dist/models/room.cjs +1 -1
  156. package/dist/models/room.cjs.map +1 -1
  157. package/dist/models/room.js +1 -1
  158. package/dist/models/scene.cjs +1 -1
  159. package/dist/models/scene.cjs.map +1 -1
  160. package/dist/models/scene.js +1 -1
  161. package/dist/models/shortLink.cjs +1 -1
  162. package/dist/models/shortLink.cjs.map +1 -1
  163. package/dist/models/shortLink.js +1 -1
  164. package/dist/models/smsMessage.cjs +1 -1
  165. package/dist/models/smsMessage.cjs.map +1 -1
  166. package/dist/models/smsMessage.js +1 -1
  167. package/dist/models/space.cjs +1 -1
  168. package/dist/models/space.cjs.map +1 -1
  169. package/dist/models/space.d.cts +9 -13
  170. package/dist/models/space.d.ts +9 -13
  171. package/dist/models/space.js +1 -1
  172. package/dist/models/switch.cjs +1 -1
  173. package/dist/models/switch.cjs.map +1 -1
  174. package/dist/models/switch.js +1 -1
  175. package/dist/models/systemUser.cjs +1 -1
  176. package/dist/models/systemUser.cjs.map +1 -1
  177. package/dist/models/systemUser.js +1 -1
  178. package/dist/models/thermostat.cjs +1 -1
  179. package/dist/models/thermostat.cjs.map +1 -1
  180. package/dist/models/thermostat.js +1 -1
  181. package/dist/models/ticket.cjs +1 -1
  182. package/dist/models/ticket.cjs.map +1 -1
  183. package/dist/models/ticket.js +1 -1
  184. package/dist/models/timeSheet.cjs +1 -1
  185. package/dist/models/timeSheet.cjs.map +1 -1
  186. package/dist/models/timeSheet.js +1 -1
  187. package/dist/models/user.cjs +1 -1
  188. package/dist/models/user.cjs.map +1 -1
  189. package/dist/models/user.js +1 -1
  190. package/dist/models/vendor.cjs +1 -1
  191. package/dist/models/vendor.cjs.map +1 -1
  192. package/dist/models/vendor.js +1 -1
  193. package/dist/models/windowCovering.cjs +1 -1
  194. package/dist/models/windowCovering.cjs.map +1 -1
  195. package/dist/models/windowCovering.js +1 -1
  196. package/dist/useCases/index.cjs.map +1 -1
  197. package/dist/useCases/index.js +1 -1
  198. package/dist/utils.cjs +1 -1
  199. package/dist/utils.cjs.map +1 -1
  200. package/dist/utils.js +1 -1
  201. package/package.json +1 -1
  202. package/dist/chunk-U6LM27GO.js +0 -1
  203. package/dist/chunk-URMAPWOS.js +0 -1
  204. package/dist/chunk-URMAPWOS.js.map +0 -1
  205. /package/dist/{chunk-ANFME4PS.js.map → chunk-2WENKTKS.js.map} +0 -0
  206. /package/dist/{chunk-NP5F6QMM.js.map → chunk-2ZCAJFR6.js.map} +0 -0
  207. /package/dist/{chunk-M5X5MAMO.js.map → chunk-3FKDV3W4.js.map} +0 -0
  208. /package/dist/{chunk-LRTOHGB2.js.map → chunk-3RWMCGZU.js.map} +0 -0
  209. /package/dist/{chunk-TQFOLO5K.js.map → chunk-4NFVHN5G.js.map} +0 -0
  210. /package/dist/{chunk-ZU7D7NTB.js.map → chunk-5LFNNWB4.js.map} +0 -0
  211. /package/dist/{chunk-CFNGKVGU.js.map → chunk-6EUTKLZA.js.map} +0 -0
  212. /package/dist/{chunk-ALNMPVX6.js.map → chunk-6GG7FCXY.js.map} +0 -0
  213. /package/dist/{chunk-RISVSRZG.js.map → chunk-6VPU637U.js.map} +0 -0
  214. /package/dist/{chunk-PJKWZ4E7.js.map → chunk-7FQ7Z3RO.js.map} +0 -0
  215. /package/dist/{chunk-TUFZH6AD.js.map → chunk-7MNN27JF.js.map} +0 -0
  216. /package/dist/{chunk-FVP5AOHC.js.map → chunk-7T43HWEL.js.map} +0 -0
  217. /package/dist/{chunk-4AFOAB6J.js.map → chunk-AMDG4VWD.js.map} +0 -0
  218. /package/dist/{chunk-RXVFLL3E.js.map → chunk-BXA5EVPM.js.map} +0 -0
  219. /package/dist/{chunk-UHZNVQJL.js.map → chunk-CAQ76IFU.js.map} +0 -0
  220. /package/dist/{chunk-5EDOP7SD.js.map → chunk-CDUIG4WQ.js.map} +0 -0
  221. /package/dist/{chunk-VOEI53EX.js.map → chunk-CY5V5W5V.js.map} +0 -0
  222. /package/dist/{chunk-PDHZFIDQ.js.map → chunk-D66JCFTT.js.map} +0 -0
  223. /package/dist/{chunk-44MXAJLE.js.map → chunk-DYMBTM73.js.map} +0 -0
  224. /package/dist/{chunk-RT5GN57D.js.map → chunk-DYQSQZVT.js.map} +0 -0
  225. /package/dist/{chunk-GMEDY3CY.js.map → chunk-FDRRHETK.js.map} +0 -0
  226. /package/dist/{chunk-ZHKBERFH.js.map → chunk-H5OAPB2Y.js.map} +0 -0
  227. /package/dist/{chunk-YY6NO4Q7.js.map → chunk-J5HVSLP7.js.map} +0 -0
  228. /package/dist/{chunk-HBM76KWM.js.map → chunk-JG2H6XAB.js.map} +0 -0
  229. /package/dist/{chunk-JTMLWXAG.js.map → chunk-JRY5TCUM.js.map} +0 -0
  230. /package/dist/{chunk-6DFQIA4E.js.map → chunk-K2OFGN44.js.map} +0 -0
  231. /package/dist/{chunk-34GBFTWN.js.map → chunk-MA2VFACS.js.map} +0 -0
  232. /package/dist/{chunk-GBT23YOH.js.map → chunk-NXQ5HVAF.js.map} +0 -0
  233. /package/dist/{chunk-KAJLZORW.js.map → chunk-O6GKAYC6.js.map} +0 -0
  234. /package/dist/{chunk-ZMHHWBMW.js.map → chunk-PKWJFH57.js.map} +0 -0
  235. /package/dist/{chunk-4EQQGMC3.js.map → chunk-RB5HY3XD.js.map} +0 -0
  236. /package/dist/{chunk-5PAYL6WO.js.map → chunk-RPHZUN3P.js.map} +0 -0
  237. /package/dist/{chunk-UYNTJCKP.js.map → chunk-RT4BGIIF.js.map} +0 -0
  238. /package/dist/{chunk-HNS2SBBF.js.map → chunk-SBXJHZAY.js.map} +0 -0
  239. /package/dist/{chunk-PRNDB7WM.js.map → chunk-SPUECDEK.js.map} +0 -0
  240. /package/dist/{chunk-QUX6UPWR.js.map → chunk-TOF7KO6L.js.map} +0 -0
  241. /package/dist/{chunk-3XCEXZZU.js.map → chunk-UW7FP5S6.js.map} +0 -0
  242. /package/dist/{chunk-DNI2JI3H.js.map → chunk-VHWAG4ZM.js.map} +0 -0
  243. /package/dist/{chunk-U2CAGSFM.js.map → chunk-VIOFNSO2.js.map} +0 -0
  244. /package/dist/{chunk-7PX5KVYB.js.map → chunk-VLR3CPYE.js.map} +0 -0
  245. /package/dist/{chunk-DUAYP7FO.js.map → chunk-YTKXZUMB.js.map} +0 -0
  246. /package/dist/{chunk-JFGH6K22.js.map → chunk-YU7HOW3Q.js.map} +0 -0
@@ -1 +1 @@
1
- import{validateMediaFile}from"./chunk-YXPWJUIO.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var MediaFile=class extends Entity{static{__name(this,"MediaFile")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.fileHash&&(this.fileHash=data.fileHash),void 0!==data.category&&(this.category=data.category),void 0!==data.mimeType&&(this.mimeType=data.mimeType),void 0!==data.data&&(this.data=data.data),void 0!==data.url&&(this.url=data.url),void 0!==data.width&&(this.width=data.width),void 0!==data.height&&(this.height=data.height),void 0!==data.size&&(this.size=data.size),void 0!==data.uploadUrl&&(this.uploadUrl=data.uploadUrl),void 0!==data.uploadUrlExpires&&(this.uploadUrlExpires=data.uploadUrlExpires),void 0!==data.createdBy&&(this.createdBy=data.createdBy),void 0!==data.systemId&&(this.systemId=data.systemId)}createImageVariant(params){if("image/*"!=this.mimeType)throw new Error("Only dynamic images can have variants");if(!this.url)throw new Error("MediaFile has no url");const query=Object.keys(params).map((key=>`${key}=${params[key]}`)).join(",");return this.url.replace(/\/public$/,`/${query}`)}};Object.defineProperty(MediaFile.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]}}),Object.defineProperty(MediaFile.prototype,"validator",{get:__name((function(){return validateMediaFile}),"get")});export{MediaFile};//# sourceMappingURL=chunk-UHZNVQJL.js.map
1
+ import{validateMediaFile}from"./chunk-HB4EGDYH.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var MediaFile=class extends Entity{static{__name(this,"MediaFile")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.fileHash&&(this.fileHash=data.fileHash),void 0!==data.category&&(this.category=data.category),void 0!==data.mimeType&&(this.mimeType=data.mimeType),void 0!==data.data&&(this.data=data.data),void 0!==data.url&&(this.url=data.url),void 0!==data.width&&(this.width=data.width),void 0!==data.height&&(this.height=data.height),void 0!==data.size&&(this.size=data.size),void 0!==data.uploadUrl&&(this.uploadUrl=data.uploadUrl),void 0!==data.uploadUrlExpires&&(this.uploadUrlExpires=data.uploadUrlExpires),void 0!==data.createdBy&&(this.createdBy=data.createdBy),void 0!==data.systemId&&(this.systemId=data.systemId)}createImageVariant(params){if("image/*"!=this.mimeType)throw new Error("Only dynamic images can have variants");if(!this.url)throw new Error("MediaFile has no url");const query=Object.keys(params).map((key=>`${key}=${params[key]}`)).join(",");return this.url.replace(/\/public$/,`/${query}`)}};Object.defineProperty(MediaFile.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]}}),Object.defineProperty(MediaFile.prototype,"validator",{get:__name((function(){return validateMediaFile}),"get")});export{MediaFile};//# sourceMappingURL=chunk-CAQ76IFU.js.map
@@ -1 +1 @@
1
- import{validateGateway}from"./chunk-YXPWJUIO.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Gateway=class extends Entity{static{__name(this,"Gateway")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),void 0!==data.offline&&(this.offline=data.offline),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.status=data.status,void 0!==data.systemId&&(this.systemId=data.systemId),this.driver=data.driver,void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Gateway.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},offline:{type:"boolean"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]}}),Object.defineProperty(Gateway.prototype,"validator",{get:__name((function(){return validateGateway}),"get")});export{Gateway};//# sourceMappingURL=chunk-5EDOP7SD.js.map
1
+ import{validateGateway}from"./chunk-HB4EGDYH.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Gateway=class extends Entity{static{__name(this,"Gateway")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),void 0!==data.offline&&(this.offline=data.offline),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.status=data.status,void 0!==data.systemId&&(this.systemId=data.systemId),this.driver=data.driver,void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Gateway.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},offline:{type:"boolean"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]}}),Object.defineProperty(Gateway.prototype,"validator",{get:__name((function(){return validateGateway}),"get")});export{Gateway};//# sourceMappingURL=chunk-CDUIG4WQ.js.map
@@ -1 +1 @@
1
- import{validateCredential}from"./chunk-YXPWJUIO.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Credential=class extends Entity{static{__name(this,"Credential")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.driver&&(this.driver=data.driver),void 0!==data.discriminator&&(this.discriminator=data.discriminator),this.credential=data.credential,void 0!==data.userId&&(this.userId=data.userId),void 0!==data.organizationId&&(this.organizationId=data.organizationId),void 0!==data.propertyId&&(this.propertyId=data.propertyId),void 0!==data.deviceId&&(this.deviceId=data.deviceId),void 0!==data.userAgent&&(this.userAgent=data.userAgent),this.expires=data.expires,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Credential.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Credential.prototype,"validator",{get:__name((function(){return validateCredential}),"get")});export{Credential};//# sourceMappingURL=chunk-VOEI53EX.js.map
1
+ import{validateCredential}from"./chunk-HB4EGDYH.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Credential=class extends Entity{static{__name(this,"Credential")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.driver&&(this.driver=data.driver),void 0!==data.discriminator&&(this.discriminator=data.discriminator),this.credential=data.credential,void 0!==data.userId&&(this.userId=data.userId),void 0!==data.organizationId&&(this.organizationId=data.organizationId),void 0!==data.propertyId&&(this.propertyId=data.propertyId),void 0!==data.deviceId&&(this.deviceId=data.deviceId),void 0!==data.userAgent&&(this.userAgent=data.userAgent),this.expires=data.expires,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Credential.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Credential.prototype,"validator",{get:__name((function(){return validateCredential}),"get")});export{Credential};//# sourceMappingURL=chunk-CY5V5W5V.js.map
@@ -1 +1 @@
1
- import{validateCamera}from"./chunk-YXPWJUIO.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Camera=class extends Entity{static{__name(this,"Camera")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.liveStreams&&(this.liveStreams=data.liveStreams),void 0!==data.liveStream&&(this.liveStream=data.liveStream),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Camera.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",enum:["camera"],default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Camera.prototype,"validator",{get:__name((function(){return validateCamera}),"get")});export{Camera};//# sourceMappingURL=chunk-PDHZFIDQ.js.map
1
+ import{validateCamera}from"./chunk-HB4EGDYH.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Camera=class extends Entity{static{__name(this,"Camera")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.liveStreams&&(this.liveStreams=data.liveStreams),void 0!==data.liveStream&&(this.liveStream=data.liveStream),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Camera.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",enum:["camera"],default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Camera.prototype,"validator",{get:__name((function(){return validateCamera}),"get")});export{Camera};//# sourceMappingURL=chunk-D66JCFTT.js.map
@@ -1 +1 @@
1
- import{validateCourtesy}from"./chunk-YXPWJUIO.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Courtesy=class extends Entity{static{__name(this,"Courtesy")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.supportedStates=data.supportedStates,this.state=data.state,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Courtesy.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",required:["id","type","driver","supportedStates","state"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Courtesy.prototype,"validator",{get:__name((function(){return validateCourtesy}),"get")});export{Courtesy};//# sourceMappingURL=chunk-44MXAJLE.js.map
1
+ import{validateCourtesy}from"./chunk-HB4EGDYH.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Courtesy=class extends Entity{static{__name(this,"Courtesy")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.supportedStates=data.supportedStates,this.state=data.state,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Courtesy.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",required:["id","type","driver","supportedStates","state"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Courtesy.prototype,"validator",{get:__name((function(){return validateCourtesy}),"get")});export{Courtesy};//# sourceMappingURL=chunk-DYMBTM73.js.map
@@ -1 +1 @@
1
- import{validateRoom}from"./chunk-YXPWJUIO.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Room=class extends Entity{static{__name(this,"Room")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.name=data.name,void 0!==data.floor&&(this.floor=data.floor),void 0!==data.dimmers&&(this.dimmers=data.dimmers),void 0!==data.switches&&(this.switches=data.switches),void 0!==data.thermostats&&(this.thermostats=data.thermostats),void 0!==data.locks&&(this.locks=data.locks),void 0!==data.windowCoverings&&(this.windowCoverings=data.windowCoverings),void 0!==data.courtesy&&(this.courtesy=data.courtesy),void 0!==data.cameras&&(this.cameras=data.cameras),void 0!==data.mediaSources&&(this.mediaSources=data.mediaSources),void 0!==data.motionSensors&&(this.motionSensors=data.motionSensors),void 0!==data.alarms&&(this.alarms=data.alarms),void 0!==data.occupiedAt&&(this.occupiedAt=data.occupiedAt),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}static getDevicePath(type){switch(type){case"tv":case"dvr":case"appleTv":case"discPlayer":case"mediaPlayer":case"uncontrolledDevice":case"mediaSource":return"mediaSources";case"courtesy":return"courtesy";case"switch":return"switches";case"dimmer":return"dimmers";case"thermostat":return"thermostats";case"lock":return"locks";case"windowCovering":return"windowCoverings";case"camera":return"cameras";case"motionSensor":return"motionSensors";case"alarm":return"alarms";default:throw new Error("Invalid device type:"+type)}}static getDeviceTypeFromPath(path){if(!["dimmers","switches","thermostats","locks","windowCoverings","courtesy","cameras","mediaSources","motionSensors","alarms"].includes(path))throw new Error("Invalid device path:"+path);switch(path){case"courtesy":return path;case"switches":return"switch";default:return path.slice(0,-1)}}get hasDimmer(){return this.dimmers?.length>0}get hasSwitch(){return this.switches?.length>0}get hasWindowCovering(){return this.windowCoverings?.length>0}get hasShade(){return this.hasWindowCovering}get hasThermostat(){return this.thermostats?.length>0}get hasClimate(){return this.hasThermostat}get hasLock(){return this.locks?.length>0}get hasCourtesy(){return this.courtesy?.length>0}get hasCamera(){return this.cameras?.length>0}get hasMedia(){return this.mediaSources?.length>0}get hasLight(){const hasDiscriminatorLight=this.switches?.some((sw=>"light"===sw.discriminator||"fan"===sw.discriminator));return this.hasDimmer||hasDiscriminatorLight}get hasAlarm(){return this.alarms?.length>0}get occupied(){const now=new Date,lastOccupied=new Date(this.occupiedAt);return now.getTime()-lastOccupied.getTime()<36e5}};Object.defineProperty(Room.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1}}),Object.defineProperty(Room.prototype,"validator",{get:__name((function(){return validateRoom}),"get")});export{Room};//# sourceMappingURL=chunk-RT5GN57D.js.map
1
+ import{validateRoom}from"./chunk-HB4EGDYH.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Room=class extends Entity{static{__name(this,"Room")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.name=data.name,void 0!==data.floor&&(this.floor=data.floor),void 0!==data.dimmers&&(this.dimmers=data.dimmers),void 0!==data.switches&&(this.switches=data.switches),void 0!==data.thermostats&&(this.thermostats=data.thermostats),void 0!==data.locks&&(this.locks=data.locks),void 0!==data.windowCoverings&&(this.windowCoverings=data.windowCoverings),void 0!==data.courtesy&&(this.courtesy=data.courtesy),void 0!==data.cameras&&(this.cameras=data.cameras),void 0!==data.mediaSources&&(this.mediaSources=data.mediaSources),void 0!==data.motionSensors&&(this.motionSensors=data.motionSensors),void 0!==data.alarms&&(this.alarms=data.alarms),void 0!==data.occupiedAt&&(this.occupiedAt=data.occupiedAt),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}static getDevicePath(type){switch(type){case"tv":case"dvr":case"appleTv":case"discPlayer":case"mediaPlayer":case"uncontrolledDevice":case"mediaSource":return"mediaSources";case"courtesy":return"courtesy";case"switch":return"switches";case"dimmer":return"dimmers";case"thermostat":return"thermostats";case"lock":return"locks";case"windowCovering":return"windowCoverings";case"camera":return"cameras";case"motionSensor":return"motionSensors";case"alarm":return"alarms";default:throw new Error("Invalid device type:"+type)}}static getDeviceTypeFromPath(path){if(!["dimmers","switches","thermostats","locks","windowCoverings","courtesy","cameras","mediaSources","motionSensors","alarms"].includes(path))throw new Error("Invalid device path:"+path);switch(path){case"courtesy":return path;case"switches":return"switch";default:return path.slice(0,-1)}}get hasDimmer(){return this.dimmers?.length>0}get hasSwitch(){return this.switches?.length>0}get hasWindowCovering(){return this.windowCoverings?.length>0}get hasShade(){return this.hasWindowCovering}get hasThermostat(){return this.thermostats?.length>0}get hasClimate(){return this.hasThermostat}get hasLock(){return this.locks?.length>0}get hasCourtesy(){return this.courtesy?.length>0}get hasCamera(){return this.cameras?.length>0}get hasMedia(){return this.mediaSources?.length>0}get hasLight(){const hasDiscriminatorLight=this.switches?.some((sw=>"light"===sw.discriminator||"fan"===sw.discriminator));return this.hasDimmer||hasDiscriminatorLight}get hasAlarm(){return this.alarms?.length>0}get occupied(){const now=new Date,lastOccupied=new Date(this.occupiedAt);return now.getTime()-lastOccupied.getTime()<36e5}};Object.defineProperty(Room.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1}}),Object.defineProperty(Room.prototype,"validator",{get:__name((function(){return validateRoom}),"get")});export{Room};//# sourceMappingURL=chunk-DYQSQZVT.js.map
@@ -1 +1 @@
1
- import{validateAutomation}from"./chunk-YXPWJUIO.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Automation=class extends Entity{static{__name(this,"Automation")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.isEnabled&&(this.isEnabled=data.isEnabled),this.trigger=data.trigger,this.actions=data.actions,void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.lastTriggeredAt&&(this.lastTriggeredAt=data.lastTriggeredAt)}get isTimeBased(){return"time"===this.discriminator||this.trigger&&"time"===this.trigger.type}get isDeviceBased(){return"device"===this.discriminator||this.trigger&&"time"!==this.trigger.type}get isRepeating(){return this.isTimeBased()&&!1!==this.trigger?.schedule?.repeat}};Object.defineProperty(Automation.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"automation.json",title:"Automation",description:"An automation is a collection of triggers and actions",type:"object",required:["id","type","trigger","actions"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"The friendly name of the automation"},type:{type:"string",enum:["automation"],default:"automation"},isEnabled:{type:"boolean",description:"Whether the automation is currently enabled",default:!0},trigger:{type:"object",description:"The trigger that initiates the automation",required:["discriminator","schedule"],properties:{discriminator:{type:"string",enum:["time"],description:"Type of trigger"},schedule:{type:"object",description:"Schedule for time-based triggers",required:["days","time","timezone"],properties:{days:{type:"array",description:"Days of the week (0 = Sunday, 6 = Saturday)",items:{type:"integer",minimum:0,maximum:6}},time:{type:"string",description:"Time of day to trigger the automation"},timeOffsetSeconds:{type:"integer",description:"Offset in seconds from the scheduled time",default:0},repeat:{type:"boolean",description:"Whether the schedule repeats",default:!0},timezone:{type:"string",description:"Timezone for the schedule (IANA timezone format)"}}}}},actions:{type:"array",description:"Actions to perform when the trigger conditions are met",items:{type:"object",required:["deviceId","roomId","discriminator","state"],properties:{deviceId:{type:"string",description:"ID of the device to control"},roomId:{type:"string",description:"ID of the room containing the device"},discriminator:{type:"string",description:"Type discriminator for the device (e.g., 'windowCovering', 'switch')"},duration:{type:"integer",description:"Duration in seconds to keep the device in the configured state",minimum:0},state:{type:"array",items:{type:"object",required:["property","value"],properties:{property:{type:"string",description:"Property to set (e.g., 'state', 'level', 'setpoint')"},value:{type:["string","number","boolean"],description:"Value to set the property to"}}}}}},minItems:1},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},lastTriggeredAt:{$ref:"definitions.json#/definitions/date",description:"When the automation was last triggered"}},additionalProperties:!1}}),Object.defineProperty(Automation.prototype,"validator",{get:__name((function(){return validateAutomation}),"get")});export{Automation};//# sourceMappingURL=chunk-GMEDY3CY.js.map
1
+ import{validateAutomation}from"./chunk-HB4EGDYH.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Automation=class extends Entity{static{__name(this,"Automation")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.isEnabled&&(this.isEnabled=data.isEnabled),this.trigger=data.trigger,this.actions=data.actions,void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.lastTriggeredAt&&(this.lastTriggeredAt=data.lastTriggeredAt)}get isTimeBased(){return"time"===this.discriminator||this.trigger&&"time"===this.trigger.type}get isDeviceBased(){return"device"===this.discriminator||this.trigger&&"time"!==this.trigger.type}get isRepeating(){return this.isTimeBased()&&!1!==this.trigger?.schedule?.repeat}};Object.defineProperty(Automation.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"automation.json",title:"Automation",description:"An automation is a collection of triggers and actions",type:"object",required:["id","type","trigger","actions"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"The friendly name of the automation"},type:{type:"string",enum:["automation"],default:"automation"},isEnabled:{type:"boolean",description:"Whether the automation is currently enabled",default:!0},trigger:{type:"object",description:"The trigger that initiates the automation",required:["discriminator","schedule"],properties:{discriminator:{type:"string",enum:["time"],description:"Type of trigger"},schedule:{type:"object",description:"Schedule for time-based triggers",required:["days","time","timezone"],properties:{days:{type:"array",description:"Days of the week (0 = Sunday, 6 = Saturday)",items:{type:"integer",minimum:0,maximum:6}},time:{type:"string",description:"Time of day to trigger the automation"},timeOffsetSeconds:{type:"integer",description:"Offset in seconds from the scheduled time",default:0},repeat:{type:"boolean",description:"Whether the schedule repeats",default:!0},timezone:{type:"string",description:"Timezone for the schedule (IANA timezone format)"}}}}},actions:{type:"array",description:"Actions to perform when the trigger conditions are met",items:{type:"object",required:["deviceId","roomId","discriminator","state"],properties:{deviceId:{type:"string",description:"ID of the device to control"},roomId:{type:"string",description:"ID of the room containing the device"},discriminator:{type:"string",description:"Type discriminator for the device (e.g., 'windowCovering', 'switch')"},duration:{type:"integer",description:"Duration in seconds to keep the device in the configured state",minimum:0},state:{type:"array",items:{type:"object",required:["property","value"],properties:{property:{type:"string",description:"Property to set (e.g., 'state', 'level', 'setpoint')"},value:{type:["string","number","boolean"],description:"Value to set the property to"}}}}}},minItems:1},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},lastTriggeredAt:{$ref:"definitions.json#/definitions/date",description:"When the automation was last triggered"}},additionalProperties:!1}}),Object.defineProperty(Automation.prototype,"validator",{get:__name((function(){return validateAutomation}),"get")});export{Automation};//# sourceMappingURL=chunk-FDRRHETK.js.map
@@ -0,0 +1 @@
1
+ import{Vendor}from"./chunk-7MNN27JF.js";import{WindowCovering}from"./chunk-UW7FP5S6.js";import{SmsMessage}from"./chunk-JG2H6XAB.js";import{Space}from"./chunk-QYOZLIPR.js";import{Switch}from"./chunk-2ZCAJFR6.js";import{SystemUser}from"./chunk-O6GKAYC6.js";import{Thermostat}from"./chunk-6VPU637U.js";import{Ticket}from"./chunk-RPHZUN3P.js";import{TimeSheet}from"./chunk-3FKDV3W4.js";import{User}from"./chunk-JRY5TCUM.js";import{Payment}from"./chunk-PKWJFH57.js";import{Policy}from"./chunk-SPUECDEK.js";import{Product}from"./chunk-7FQ7Z3RO.js";import{Property}from"./chunk-BXA5EVPM.js";import{Reservation}from"./chunk-NXQ5HVAF.js";import{Room}from"./chunk-DYQSQZVT.js";import{Scene}from"./chunk-6EUTKLZA.js";import{ShortLink}from"./chunk-6GG7FCXY.js";import{Issue}from"./chunk-RB5HY3XD.js";import{Lock}from"./chunk-VLR3CPYE.js";import{Log}from"./chunk-AMDG4VWD.js";import{MediaFile}from"./chunk-CAQ76IFU.js";import{MediaSource}from"./chunk-4NFVHN5G.js";import{MotionSensor}from"./chunk-7T43HWEL.js";import{Order}from"./chunk-RT4BGIIF.js";import{Organization}from"./chunk-TOF7KO6L.js";import{DiscoveredDevice}from"./chunk-J5HVSLP7.js";import{EmailMessage}from"./chunk-SBXJHZAY.js";import{EnergyReport}from"./chunk-5LFNNWB4.js";import{EnergyReportShard}from"./chunk-K2OFGN44.js";import{Gateway}from"./chunk-CDUIG4WQ.js";import{Identification}from"./chunk-3RWMCGZU.js";import{Announcement}from"./chunk-VHWAG4ZM.js";import{Automation}from"./chunk-FDRRHETK.js";import{Camera}from"./chunk-D66JCFTT.js";import{Category}from"./chunk-2WENKTKS.js";import{Courtesy}from"./chunk-DYMBTM73.js";import{Credential}from"./chunk-CY5V5W5V.js";import{DeviceRouter}from"./chunk-MA2VFACS.js";import{Dimmer}from"./chunk-YU7HOW3Q.js";import{Alarm}from"./chunk-VIOFNSO2.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__export}from"./chunk-XE4OXN2W.js";var models_exports={};__export(models_exports,{Alarm:()=>Alarm,Announcement:()=>Announcement,Automation:()=>Automation,Camera:()=>Camera,Category:()=>Category,Courtesy:()=>Courtesy,Credential:()=>Credential,DeviceRouter:()=>DeviceRouter,Dimmer:()=>Dimmer,DiscoveredDevice:()=>DiscoveredDevice,EmailMessage:()=>EmailMessage,EnergyReport:()=>EnergyReport,EnergyReportShard:()=>EnergyReportShard,Entity:()=>Entity,Gateway:()=>Gateway,Identification:()=>Identification,Issue:()=>Issue,Lock:()=>Lock,Log:()=>Log,MediaFile:()=>MediaFile,MediaSource:()=>MediaSource,MotionSensor:()=>MotionSensor,Order:()=>Order,Organization:()=>Organization,Payment:()=>Payment,Policy:()=>Policy,Product:()=>Product,Property:()=>Property,Reservation:()=>Reservation,Room:()=>Room,Scene:()=>Scene,ShortLink:()=>ShortLink,SmsMessage:()=>SmsMessage,Space:()=>Space,Switch:()=>Switch,SystemUser:()=>SystemUser,Thermostat:()=>Thermostat,Ticket:()=>Ticket,TimeSheet:()=>TimeSheet,User:()=>User,Vendor:()=>Vendor,WindowCovering:()=>WindowCovering});export{models_exports};//# sourceMappingURL=chunk-FYZDWPFY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/models/index.js"],"sourcesContent":["// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-10T14:33:47.326Z\n\nexport * from \"./alarm\";\nexport * from \"./announcement\";\nexport * from \"./automation\";\nexport * from \"./camera\";\nexport * from \"./category\";\nexport * from \"./courtesy\";\nexport * from \"./credential\";\nexport * from \"./deviceRouter\";\nexport * from \"./dimmer\";\nexport * from \"./discoveredDevice\";\nexport * from \"./emailMessage\";\nexport * from \"./energyReport\";\nexport * from \"./energyReportShard\";\nexport * from \"./entity\";\nexport * from \"./gateway\";\nexport * from \"./identification\";\nexport * from \"./issue\";\nexport * from \"./lock\";\nexport * from \"./log\";\nexport * from \"./mediaFile\";\nexport * from \"./mediaSource\";\nexport * from \"./motionSensor\";\nexport * from \"./order\";\nexport * from \"./organization\";\nexport * from \"./payment\";\nexport * from \"./policy\";\nexport * from \"./product\";\nexport * from \"./property\";\nexport * from \"./reservation\";\nexport * from \"./room\";\nexport * from \"./scene\";\nexport * from \"./shortLink\";\nexport * from \"./smsMessage\";\nexport * from \"./space\";\nexport * from \"./switch\";\nexport * from \"./systemUser\";\nexport * from \"./thermostat\";\nexport * from \"./ticket\";\nexport * from \"./timeSheet\";\nexport * from \"./user\";\nexport * from \"./vendor\";\nexport * from \"./windowCovering\";"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/models/index.js"],"sourcesContent":["// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-13T20:36:28.616Z\n\nexport * from \"./alarm\";\nexport * from \"./announcement\";\nexport * from \"./automation\";\nexport * from \"./camera\";\nexport * from \"./category\";\nexport * from \"./courtesy\";\nexport * from \"./credential\";\nexport * from \"./deviceRouter\";\nexport * from \"./dimmer\";\nexport * from \"./discoveredDevice\";\nexport * from \"./emailMessage\";\nexport * from \"./energyReport\";\nexport * from \"./energyReportShard\";\nexport * from \"./entity\";\nexport * from \"./gateway\";\nexport * from \"./identification\";\nexport * from \"./issue\";\nexport * from \"./lock\";\nexport * from \"./log\";\nexport * from \"./mediaFile\";\nexport * from \"./mediaSource\";\nexport * from \"./motionSensor\";\nexport * from \"./order\";\nexport * from \"./organization\";\nexport * from \"./payment\";\nexport * from \"./policy\";\nexport * from \"./product\";\nexport * from \"./property\";\nexport * from \"./reservation\";\nexport * from \"./room\";\nexport * from \"./scene\";\nexport * from \"./shortLink\";\nexport * from \"./smsMessage\";\nexport * from \"./space\";\nexport * from \"./switch\";\nexport * from \"./systemUser\";\nexport * from \"./thermostat\";\nexport * from \"./ticket\";\nexport * from \"./timeSheet\";\nexport * from \"./user\";\nexport * from \"./vendor\";\nexport * from \"./windowCovering\";"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
@@ -1 +1 @@
1
- import{errors_exports}from"./chunk-LJOZIKAX.js";import{amqpExchanges}from"./chunk-THXOWLL3.js";import{__name}from"./chunk-XE4OXN2W.js";import{connect}from"amqplib";import{isFatalError}from"amqplib/lib/connection";import dbg from"debug";import{Buffer}from"node:buffer";import*as crypto from"node:crypto";var randomUUID2=crypto.randomUUID,debug=dbg("kohost:amqp-client"),KohostAMQPClient=class{static{__name(this,"KohostAMQPClient")}static get Message(){return Message}static get exchanges(){return amqpExchanges}static generateCorrelationId(){return randomUUID2()}static validateMessage(message){if(!message)throw new Error("Message is required")}static parseError(err){let type,message,options={};if(err.message&&err.type){const{message:errMessage,type:errType,...rest}=err;type=errType,message=errMessage,options=rest}else message=err.message||"Unknown Error";return debug("parseError",type,message,options),type&&errors_exports[type]?new errors_exports[type](message,options):new Error(message,options)}static parseMessage(message){let error=null,data={},query={},context={},headers={};const isCommand="Command"===message?.properties?.type,isEvent="Event"===message?.properties?.type,messageHeaders=message?.properties?.headers||{},commandName=messageHeaders["X-Command-Name"]||null,eventName=messageHeaders["X-Event-Name"]||null;if(message.content)try{const payload="application/json"===message.properties?.contentType?JSON.parse(message.content.toString()):message.content.toString();data=payload?.data||{},error=payload?.error,query=payload?.query||{},context=payload?.context||{}}catch(error2){debug("error parsing content",error2),data=message.content.toString()}if(message?.properties?.headers){const orgHeader=message.properties.headers["X-Organization-Id"],propertyHeader=message.properties.headers["X-Property-Id"],driverHeader=message.properties.headers["X-Driver"];orgHeader&&(context.organizationId=orgHeader,headers["X-Organization-Id"]=orgHeader),propertyHeader&&(context.propertyId=propertyHeader,headers["X-Property-Id"]=propertyHeader),driverHeader&&(context.driver=driverHeader,headers["X-Driver"]=driverHeader)}const parsed={};return error&&(parsed.error=this.parseError(error)),parsed.data=data,parsed.query=query,parsed.context=context,parsed.headers=headers,isEvent&&eventName?parsed.event=eventName:isCommand&&commandName&&(parsed.command=commandName),debug("amqp parsed %o",parsed),parsed}static getMessage(message){if(!message?.content)return null;const payload=JSON.parse(message.content.toString()),data=payload?.data;return data}static isFatalError(err){return isFatalError(err)}async createConnection(connection,options={}){return await connect(connection,options)}static createMessage(content){return new Message(content)}async createChannel(connection){return await connection.createChannel()}async assertExchange(channel,{exchange:exchange,type:type,options:options}){return await channel.assertExchange(exchange,type,options)}async assertQueue(channel,{queue:queue,options:options}){return await channel.assertQueue(queue,options)}async bindQueue(channel,{queue:queue,exchange:exchange,routingKey:routingKey,args:args}){return await channel.bindQueue(queue,exchange,routingKey,args)}async bindExchange(channel,{source:source,destination:destination,routingKey:routingKey,args:args}){return await channel.bindExchange(destination,source,routingKey,args)}async subscribeToQueue(channel,{queue:queue,cb:cb,options:options}){return await channel.consume(queue,cb,options)}publishToExchange(channel,{exchange:exchange,routingKey:routingKey,content:content,options:options}){return channel.publish(exchange,routingKey,content,options)}},Message=class{static{__name(this,"Message")}constructor(content){this.toExchange=null,this.content=content,this.options={contentType:"application/json",timestamp:Date.now()},this.routingKey=""}get correlationId(){return this.options.correlationId||null}to({exchange:exchange}){if(void 0===exchange)throw new Error("Exchange is required");return this.toExchange=exchange,this}withType(type){return this.options.type=type,this}withRoutingKey(routingKey){return this.routingKey=routingKey,this}withHeaders(headers){return this.options.headers||(this.options.headers={}),this.options.headers={...this.options.headers,...headers},this}withContext(context){for(let key in context)this.withHeaders({[key]:context[key]});return this}withCorrelationId(correlationId){return this.options.correlationId=correlationId,this}withReplyTo(queue){return this.options.replyTo=queue,this}build(){let content=this.content;return content.build&&"function"==typeof content.build&&(content=content.build()),{exchange:this.toExchange,content:Buffer.from(JSON.stringify(content)),options:this.options,routingKey:this.routingKey}}};export{KohostAMQPClient};//# sourceMappingURL=chunk-ZHKBERFH.js.map
1
+ import{errors_exports}from"./chunk-MFC2JUHY.js";import{amqpExchanges}from"./chunk-THXOWLL3.js";import{__name}from"./chunk-XE4OXN2W.js";import{connect}from"amqplib";import{isFatalError}from"amqplib/lib/connection";import dbg from"debug";import{Buffer}from"node:buffer";import*as crypto from"node:crypto";var randomUUID2=crypto.randomUUID,debug=dbg("kohost:amqp-client"),KohostAMQPClient=class{static{__name(this,"KohostAMQPClient")}static get Message(){return Message}static get exchanges(){return amqpExchanges}static generateCorrelationId(){return randomUUID2()}static validateMessage(message){if(!message)throw new Error("Message is required")}static parseError(err){let type,message,options={};if(err.message&&err.type){const{message:errMessage,type:errType,...rest}=err;type=errType,message=errMessage,options=rest}else message=err.message||"Unknown Error";return debug("parseError",type,message,options),type&&errors_exports[type]?new errors_exports[type](message,options):new Error(message,options)}static parseMessage(message){let error=null,data={},query={},context={},headers={};const isCommand="Command"===message?.properties?.type,isEvent="Event"===message?.properties?.type,messageHeaders=message?.properties?.headers||{},commandName=messageHeaders["X-Command-Name"]||null,eventName=messageHeaders["X-Event-Name"]||null;if(message.content)try{const payload="application/json"===message.properties?.contentType?JSON.parse(message.content.toString()):message.content.toString();data=payload?.data||{},error=payload?.error,query=payload?.query||{},context=payload?.context||{}}catch(error2){debug("error parsing content",error2),data=message.content.toString()}if(message?.properties?.headers){const orgHeader=message.properties.headers["X-Organization-Id"],propertyHeader=message.properties.headers["X-Property-Id"],driverHeader=message.properties.headers["X-Driver"];orgHeader&&(context.organizationId=orgHeader,headers["X-Organization-Id"]=orgHeader),propertyHeader&&(context.propertyId=propertyHeader,headers["X-Property-Id"]=propertyHeader),driverHeader&&(context.driver=driverHeader,headers["X-Driver"]=driverHeader)}const parsed={};return error&&(parsed.error=this.parseError(error)),parsed.data=data,parsed.query=query,parsed.context=context,parsed.headers=headers,isEvent&&eventName?parsed.event=eventName:isCommand&&commandName&&(parsed.command=commandName),debug("amqp parsed %o",parsed),parsed}static getMessage(message){if(!message?.content)return null;const payload=JSON.parse(message.content.toString()),data=payload?.data;return data}static isFatalError(err){return isFatalError(err)}async createConnection(connection,options={}){return await connect(connection,options)}static createMessage(content){return new Message(content)}async createChannel(connection){return await connection.createChannel()}async assertExchange(channel,{exchange:exchange,type:type,options:options}){return await channel.assertExchange(exchange,type,options)}async assertQueue(channel,{queue:queue,options:options}){return await channel.assertQueue(queue,options)}async bindQueue(channel,{queue:queue,exchange:exchange,routingKey:routingKey,args:args}){return await channel.bindQueue(queue,exchange,routingKey,args)}async bindExchange(channel,{source:source,destination:destination,routingKey:routingKey,args:args}){return await channel.bindExchange(destination,source,routingKey,args)}async subscribeToQueue(channel,{queue:queue,cb:cb,options:options}){return await channel.consume(queue,cb,options)}publishToExchange(channel,{exchange:exchange,routingKey:routingKey,content:content,options:options}){return channel.publish(exchange,routingKey,content,options)}},Message=class{static{__name(this,"Message")}constructor(content){this.toExchange=null,this.content=content,this.options={contentType:"application/json",timestamp:Date.now()},this.routingKey=""}get correlationId(){return this.options.correlationId||null}to({exchange:exchange}){if(void 0===exchange)throw new Error("Exchange is required");return this.toExchange=exchange,this}withType(type){return this.options.type=type,this}withRoutingKey(routingKey){return this.routingKey=routingKey,this}withHeaders(headers){return this.options.headers||(this.options.headers={}),this.options.headers={...this.options.headers,...headers},this}withContext(context){for(let key in context)this.withHeaders({[key]:context[key]});return this}withCorrelationId(correlationId){return this.options.correlationId=correlationId,this}withReplyTo(queue){return this.options.replyTo=queue,this}build(){let content=this.content;return content.build&&"function"==typeof content.build&&(content=content.build()),{exchange:this.toExchange,content:Buffer.from(JSON.stringify(content)),options:this.options,routingKey:this.routingKey}}};export{KohostAMQPClient};//# sourceMappingURL=chunk-H5OAPB2Y.js.map