@kohost/api-client 6.5.0 → 7.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.
Files changed (238) hide show
  1. package/dist/httpClient.d.ts +8 -12
  2. package/dist/index-BnWbLEt_.d.ts +22 -0
  3. package/dist/{index-CwkLEwUB.d.ts → index-DJzBywIl.d.ts} +13 -21
  4. package/dist/index.d.ts +11 -11
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/deviceNotifications.d.ts +19 -0
  8. package/dist/lib/deviceNotifications.js +35 -0
  9. package/dist/lib/deviceNotifications.js.map +1 -0
  10. package/dist/lib/index.d.ts +3 -0
  11. package/dist/lib/index.js +23 -0
  12. package/dist/lib/index.js.map +1 -0
  13. package/dist/lib/policy-resolvers.d.ts +12 -0
  14. package/dist/lib/policy-resolvers.js +75 -0
  15. package/dist/lib/policy-resolvers.js.map +1 -0
  16. package/dist/lib/systemCategories.d.ts +10 -0
  17. package/dist/lib/systemCategories.js +61 -0
  18. package/dist/lib/systemCategories.js.map +1 -0
  19. package/dist/models/alarm.js +1 -0
  20. package/dist/models/alarm.js.map +1 -1
  21. package/dist/models/announcement.js +1 -0
  22. package/dist/models/announcement.js.map +1 -1
  23. package/dist/models/automation.js +1 -0
  24. package/dist/models/automation.js.map +1 -1
  25. package/dist/models/camera.js +1 -0
  26. package/dist/models/camera.js.map +1 -1
  27. package/dist/models/category.js +1 -0
  28. package/dist/models/category.js.map +1 -1
  29. package/dist/models/courtesy.js +1 -0
  30. package/dist/models/courtesy.js.map +1 -1
  31. package/dist/models/credential.js +1 -0
  32. package/dist/models/credential.js.map +1 -1
  33. package/dist/models/dimmer.js +1 -0
  34. package/dist/models/dimmer.js.map +1 -1
  35. package/dist/models/emailMessage.js +1 -0
  36. package/dist/models/emailMessage.js.map +1 -1
  37. package/dist/models/energyReport.js +1 -0
  38. package/dist/models/energyReport.js.map +1 -1
  39. package/dist/models/gateway.js +1 -0
  40. package/dist/models/gateway.js.map +1 -1
  41. package/dist/models/issue.d.ts +1 -1
  42. package/dist/models/issue.js +2 -7
  43. package/dist/models/issue.js.map +1 -1
  44. package/dist/models/lock.js +1 -0
  45. package/dist/models/lock.js.map +1 -1
  46. package/dist/models/log.js +1 -0
  47. package/dist/models/log.js.map +1 -1
  48. package/dist/models/mediaFile.js +1 -0
  49. package/dist/models/mediaFile.js.map +1 -1
  50. package/dist/models/mediaSource.js +1 -0
  51. package/dist/models/mediaSource.js.map +1 -1
  52. package/dist/models/motionSensor.js +1 -0
  53. package/dist/models/motionSensor.js.map +1 -1
  54. package/dist/models/notification.js +1 -0
  55. package/dist/models/notification.js.map +1 -1
  56. package/dist/models/order.js +1 -0
  57. package/dist/models/order.js.map +1 -1
  58. package/dist/models/organization.js +1 -2
  59. package/dist/models/organization.js.map +1 -1
  60. package/dist/models/payment.js +1 -0
  61. package/dist/models/payment.js.map +1 -1
  62. package/dist/models/policy.js +1 -0
  63. package/dist/models/policy.js.map +1 -1
  64. package/dist/models/product.js +1 -0
  65. package/dist/models/product.js.map +1 -1
  66. package/dist/models/property.js +1 -1
  67. package/dist/models/property.js.map +1 -1
  68. package/dist/models/reservation.js +1 -0
  69. package/dist/models/reservation.js.map +1 -1
  70. package/dist/models/shortLink.js +1 -0
  71. package/dist/models/shortLink.js.map +1 -1
  72. package/dist/models/smsMessage.js +1 -0
  73. package/dist/models/smsMessage.js.map +1 -1
  74. package/dist/models/space.js +1 -0
  75. package/dist/models/space.js.map +1 -1
  76. package/dist/models/switch.js +1 -0
  77. package/dist/models/switch.js.map +1 -1
  78. package/dist/models/thermostat.js +1 -0
  79. package/dist/models/thermostat.js.map +1 -1
  80. package/dist/models/ticket.js +4 -0
  81. package/dist/models/ticket.js.map +1 -1
  82. package/dist/models/timeSheet.js +1 -0
  83. package/dist/models/timeSheet.js.map +1 -1
  84. package/dist/models/user.js +0 -1
  85. package/dist/models/user.js.map +1 -1
  86. package/dist/models/vendor.js +2 -0
  87. package/dist/models/vendor.js.map +1 -1
  88. package/dist/models/windowCovering.js +1 -0
  89. package/dist/models/windowCovering.js.map +1 -1
  90. package/dist/schemas/alarm.d.ts +4 -0
  91. package/dist/schemas/alarm.js +4 -0
  92. package/dist/schemas/alarm.js.map +1 -1
  93. package/dist/schemas/announcement.d.ts +4 -0
  94. package/dist/schemas/announcement.js +4 -0
  95. package/dist/schemas/announcement.js.map +1 -1
  96. package/dist/schemas/automation.d.ts +4 -0
  97. package/dist/schemas/automation.js +4 -0
  98. package/dist/schemas/automation.js.map +1 -1
  99. package/dist/schemas/camera.d.ts +4 -0
  100. package/dist/schemas/camera.js +4 -0
  101. package/dist/schemas/camera.js.map +1 -1
  102. package/dist/schemas/category.d.ts +4 -0
  103. package/dist/schemas/category.js +4 -0
  104. package/dist/schemas/category.js.map +1 -1
  105. package/dist/schemas/courtesy.d.ts +4 -0
  106. package/dist/schemas/courtesy.js +4 -0
  107. package/dist/schemas/courtesy.js.map +1 -1
  108. package/dist/schemas/credential.d.ts +4 -1
  109. package/dist/schemas/credential.js +5 -1
  110. package/dist/schemas/credential.js.map +1 -1
  111. package/dist/schemas/definitions.d.ts +1 -1
  112. package/dist/schemas/definitions.js +6 -1
  113. package/dist/schemas/definitions.js.map +1 -1
  114. package/dist/schemas/dimmer.d.ts +4 -0
  115. package/dist/schemas/dimmer.js +4 -0
  116. package/dist/schemas/dimmer.js.map +1 -1
  117. package/dist/schemas/emailMessage.d.ts +4 -0
  118. package/dist/schemas/emailMessage.js +4 -0
  119. package/dist/schemas/emailMessage.js.map +1 -1
  120. package/dist/schemas/energyReport.d.ts +4 -0
  121. package/dist/schemas/energyReport.js +4 -0
  122. package/dist/schemas/energyReport.js.map +1 -1
  123. package/dist/schemas/gateway.d.ts +4 -0
  124. package/dist/schemas/gateway.js +4 -0
  125. package/dist/schemas/gateway.js.map +1 -1
  126. package/dist/schemas/issue.d.ts +126 -43
  127. package/dist/schemas/issue.js +88 -44
  128. package/dist/schemas/issue.js.map +1 -1
  129. package/dist/schemas/lock.d.ts +4 -0
  130. package/dist/schemas/lock.js +4 -0
  131. package/dist/schemas/lock.js.map +1 -1
  132. package/dist/schemas/log.d.ts +4 -0
  133. package/dist/schemas/log.js +4 -0
  134. package/dist/schemas/log.js.map +1 -1
  135. package/dist/schemas/mediaFile.d.ts +4 -0
  136. package/dist/schemas/mediaFile.js +4 -0
  137. package/dist/schemas/mediaFile.js.map +1 -1
  138. package/dist/schemas/mediaSource.d.ts +4 -0
  139. package/dist/schemas/mediaSource.js +4 -0
  140. package/dist/schemas/mediaSource.js.map +1 -1
  141. package/dist/schemas/motionSensor.d.ts +4 -0
  142. package/dist/schemas/motionSensor.js +4 -0
  143. package/dist/schemas/motionSensor.js.map +1 -1
  144. package/dist/schemas/notification.d.ts +4 -0
  145. package/dist/schemas/notification.js +4 -0
  146. package/dist/schemas/notification.js.map +1 -1
  147. package/dist/schemas/order.d.ts +4 -0
  148. package/dist/schemas/order.js +4 -0
  149. package/dist/schemas/order.js.map +1 -1
  150. package/dist/schemas/organization.d.ts +45 -13
  151. package/dist/schemas/organization.js +46 -10
  152. package/dist/schemas/organization.js.map +1 -1
  153. package/dist/schemas/payment.d.ts +4 -0
  154. package/dist/schemas/payment.js +4 -0
  155. package/dist/schemas/payment.js.map +1 -1
  156. package/dist/schemas/policy.d.ts +4 -0
  157. package/dist/schemas/policy.js +4 -0
  158. package/dist/schemas/policy.js.map +1 -1
  159. package/dist/schemas/product.d.ts +4 -0
  160. package/dist/schemas/product.js +4 -0
  161. package/dist/schemas/product.js.map +1 -1
  162. package/dist/schemas/property.d.ts +13 -11
  163. package/dist/schemas/property.js +13 -11
  164. package/dist/schemas/property.js.map +1 -1
  165. package/dist/schemas/reservation.d.ts +4 -0
  166. package/dist/schemas/reservation.js +4 -0
  167. package/dist/schemas/reservation.js.map +1 -1
  168. package/dist/schemas/shortLink.d.ts +4 -0
  169. package/dist/schemas/shortLink.js +4 -0
  170. package/dist/schemas/shortLink.js.map +1 -1
  171. package/dist/schemas/smsMessage.d.ts +4 -0
  172. package/dist/schemas/smsMessage.js +4 -0
  173. package/dist/schemas/smsMessage.js.map +1 -1
  174. package/dist/schemas/space.d.ts +4 -0
  175. package/dist/schemas/space.js +4 -0
  176. package/dist/schemas/space.js.map +1 -1
  177. package/dist/schemas/switch.d.ts +4 -0
  178. package/dist/schemas/switch.js +4 -0
  179. package/dist/schemas/switch.js.map +1 -1
  180. package/dist/schemas/thermostat.d.ts +4 -0
  181. package/dist/schemas/thermostat.js +4 -0
  182. package/dist/schemas/thermostat.js.map +1 -1
  183. package/dist/schemas/ticket.d.ts +14 -0
  184. package/dist/schemas/ticket.js +14 -0
  185. package/dist/schemas/ticket.js.map +1 -1
  186. package/dist/schemas/timeSheet.d.ts +4 -0
  187. package/dist/schemas/timeSheet.js +4 -0
  188. package/dist/schemas/timeSheet.js.map +1 -1
  189. package/dist/schemas/user.d.ts +0 -3
  190. package/dist/schemas/user.js +0 -3
  191. package/dist/schemas/user.js.map +1 -1
  192. package/dist/schemas/vendor.d.ts +12 -0
  193. package/dist/schemas/vendor.js +12 -0
  194. package/dist/schemas/vendor.js.map +1 -1
  195. package/dist/schemas/windowCovering.d.ts +4 -0
  196. package/dist/schemas/windowCovering.js +4 -0
  197. package/dist/schemas/windowCovering.js.map +1 -1
  198. package/dist/useCases/createApiKey.d.ts +38 -0
  199. package/dist/useCases/{sendSMS.js → createApiKey.js} +9 -9
  200. package/dist/useCases/createApiKey.js.map +1 -0
  201. package/dist/useCases/{describeIntegration.d.ts → getApiKey.d.ts} +10 -10
  202. package/dist/useCases/{listAnnouncements.js → getApiKey.js} +9 -9
  203. package/dist/useCases/getApiKey.js.map +1 -0
  204. package/dist/useCases/index.d.ts +6 -10
  205. package/dist/useCases/index.js +12 -20
  206. package/dist/useCases/index.js.map +1 -1
  207. package/dist/useCases/{deleteAnnouncement.d.ts → revokeApiKey.d.ts} +10 -10
  208. package/dist/useCases/{deleteAnnouncement.js → revokeApiKey.js} +9 -9
  209. package/dist/useCases/revokeApiKey.js.map +1 -0
  210. package/dist/useCases/{updateAnnouncement.d.ts → rotateApiKey.d.ts} +10 -10
  211. package/dist/useCases/{updateIntegration.js → rotateApiKey.js} +9 -9
  212. package/dist/useCases/rotateApiKey.js.map +1 -0
  213. package/dist/useCases/{updateIntegration.d.ts → updateOrganizationFeatures.d.ts} +6 -6
  214. package/dist/useCases/{updateAnnouncement.js → updateOrganizationFeatures.js} +8 -8
  215. package/dist/useCases/updateOrganizationFeatures.js.map +1 -0
  216. package/dist/useCases/{updatePropertySettings.d.ts → updatePropertyFeatures.d.ts} +6 -6
  217. package/dist/useCases/{updatePropertySettings.js → updatePropertyFeatures.js} +8 -8
  218. package/dist/useCases/{updatePropertySettings.js.map → updatePropertyFeatures.js.map} +1 -1
  219. package/dist/validate.d.ts +160 -160
  220. package/package.json +26 -18
  221. package/dist/useCases/createAnnouncement.d.ts +0 -29
  222. package/dist/useCases/createAnnouncement.js +0 -50
  223. package/dist/useCases/createAnnouncement.js.map +0 -1
  224. package/dist/useCases/createIntegration.d.ts +0 -29
  225. package/dist/useCases/createIntegration.js +0 -50
  226. package/dist/useCases/createIntegration.js.map +0 -1
  227. package/dist/useCases/deleteAnnouncement.js.map +0 -1
  228. package/dist/useCases/describeAnnouncement.d.ts +0 -38
  229. package/dist/useCases/describeAnnouncement.js +0 -50
  230. package/dist/useCases/describeAnnouncement.js.map +0 -1
  231. package/dist/useCases/describeIntegration.js +0 -50
  232. package/dist/useCases/describeIntegration.js.map +0 -1
  233. package/dist/useCases/listAnnouncements.d.ts +0 -29
  234. package/dist/useCases/listAnnouncements.js.map +0 -1
  235. package/dist/useCases/sendSMS.d.ts +0 -29
  236. package/dist/useCases/sendSMS.js.map +0 -1
  237. package/dist/useCases/updateAnnouncement.js.map +0 -1
  238. package/dist/useCases/updateIntegration.js.map +0 -1
@@ -12,6 +12,10 @@ declare const automationSchema: {
12
12
  readonly id: {
13
13
  readonly $ref: "definitions.json#/definitions/id";
14
14
  };
15
+ readonly propertyId: {
16
+ readonly type: "string";
17
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
18
+ };
15
19
  readonly name: {
16
20
  readonly type: "string";
17
21
  readonly description: "The friendly name of the automation";
@@ -9,6 +9,10 @@ const automationSchema = {
9
9
  id: {
10
10
  $ref: "definitions.json#/definitions/id"
11
11
  },
12
+ propertyId: {
13
+ type: "string",
14
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
15
+ },
12
16
  name: {
13
17
  type: "string",
14
18
  description: "The friendly name of the automation"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/automation.ts"],"sourcesContent":["import type { FromSchema } from \"json-schema-to-ts\";\nimport defs, { ISODateString } from \"./definitions\";\n\nexport const automationSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"automation.json\",\n title: \"Automation\",\n description: \"An automation is a collection of triggers and actions\",\n type: \"object\",\n required: [\"id\", \"type\", \"trigger\", \"actions\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n description: \"The friendly name of the automation\",\n },\n type: {\n type: \"string\",\n enum: [\"automation\"],\n default: \"automation\",\n },\n isEnabled: {\n type: \"boolean\",\n description: \"Whether the automation is currently enabled\",\n default: true,\n },\n description: {\n type: \"string\",\n description: \"The text description of the automation\",\n },\n trigger: {\n type: \"object\",\n description: \"The trigger that initiates the automation\",\n required: [\"discriminator\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"schedule\", \"event\", \"rrule\"],\n description: \"Type of trigger\",\n },\n rrule: {\n type: \"object\",\n additionalProperties: false,\n description: \"RFC 5545 recurrence rule with solar time support\",\n required: [\"expression\", \"timezone\"],\n properties: {\n expression: {\n type: \"string\",\n description:\n \"RFC 5545 RRULE string. Use BYHOUR/BYMINUTE for time when timeMode is omitted. Must not contain BYHOUR/BYMINUTE when timeMode is provided.\",\n },\n timezone: {\n type: \"string\",\n description: \"IANA timezone for rule evaluation\",\n },\n timeMode: {\n type: \"object\",\n additionalProperties: false,\n required: [\"type\"],\n properties: {\n type: {\n type: \"string\",\n enum: [\"fixed\", \"sunrise\", \"sunset\"],\n description:\n \"How to determine execution time on matching days\",\n },\n time: {\n type: \"string\",\n description: \"HH:mm time for fixed mode\",\n },\n offsetSeconds: {\n type: \"integer\",\n description:\n \"Offset in seconds from time or solar event (negative = before)\",\n default: 0,\n },\n },\n },\n location: {\n type: \"object\",\n additionalProperties: false,\n description: \"Required when timeMode is sunrise or sunset\",\n required: [\"lat\", \"lng\"],\n properties: {\n lat: {\n type: \"number\",\n minimum: -90,\n maximum: 90,\n },\n lng: {\n type: \"number\",\n minimum: -180,\n maximum: 180,\n },\n },\n },\n },\n },\n // Time-based trigger properties\n schedule: {\n type: \"object\",\n additionalProperties: false,\n description: \"Schedule for time-based triggers\",\n required: [\"days\", \"time\", \"timezone\"],\n properties: {\n days: {\n type: \"array\",\n description: \"Days of the week (0 = Sunday, 6 = Saturday)\",\n items: {\n type: \"integer\",\n minimum: 0,\n maximum: 6,\n },\n },\n time: {\n type: \"string\",\n description: \"Time of day to trigger the automation\",\n },\n timeOffsetSeconds: {\n type: \"integer\",\n description: \"Offset in seconds from the scheduled time\",\n default: 0,\n },\n repeat: {\n type: \"boolean\",\n description: \"Whether the schedule repeats\",\n default: true,\n },\n timezone: {\n type: \"string\",\n description: \"Timezone for the schedule (IANA timezone format)\",\n },\n },\n },\n event: {\n type: \"object\",\n required: [\"eventType\", \"eventProperties\", \"match\"],\n additionalProperties: false,\n properties: {\n eventType: {\n type: \"string\",\n description:\n \"Name of the event that triggers the automation actions\",\n },\n eventProperties: {\n type: \"array\",\n description:\n \"Properties of the event that triggers the automation actions\",\n items: {\n type: \"object\",\n required: [\"property\", \"value\", \"operator\"],\n additionalProperties: false,\n properties: {\n property: {\n type: \"string\",\n description: \"Property of the event\",\n },\n value: {\n type: [\"string\", \"number\", \"boolean\"],\n description: \"Value of the property\",\n },\n operator: {\n type: \"string\",\n description: \"Operator of the property\",\n enum: [\n \"==\",\n \"!=\",\n \">\",\n \">=\",\n \"<\",\n \"<=\",\n \"contains\",\n \"notContains\",\n ],\n },\n },\n },\n },\n match: {\n type: \"string\",\n description:\n \"Match criteria for the event to trigger the automation actions\",\n enum: [\"any\", \"all\"],\n },\n },\n },\n },\n },\n actions: {\n type: \"array\",\n description: \"Actions to perform when the trigger conditions are met\",\n items: {\n type: \"object\",\n required: [\"useCase\", \"useCaseParams\"],\n additionalProperties: false,\n properties: {\n useCase: {\n type: \"string\",\n description: \"Name of the use case to call\",\n },\n useCaseParams: {\n type: \"object\",\n description: \"Parameters to pass to the use case\",\n required: [\"data\"],\n properties: {\n data: {\n type: [\"object\", \"array\"],\n description: \"Data to pass to the use case\",\n },\n },\n },\n },\n minItems: 1,\n },\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was created\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was updated\",\n },\n nextRunAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation is scheduled to run next\",\n },\n lastRunAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was last triggered\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n webhookUrl: {\n type: \"string\",\n description: \"The URL of the webhook that triggers the automation\",\n format: \"uri\",\n },\n },\n additionalProperties: false,\n} as const;\n\nexport type AutomationSchema = FromSchema<\n typeof automationSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/automation.ts"],"sourcesContent":["import type { FromSchema } from \"json-schema-to-ts\";\nimport defs, { ISODateString } from \"./definitions\";\n\nexport const automationSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"automation.json\",\n title: \"Automation\",\n description: \"An automation is a collection of triggers and actions\",\n type: \"object\",\n required: [\"id\", \"type\", \"trigger\", \"actions\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n name: {\n type: \"string\",\n description: \"The friendly name of the automation\",\n },\n type: {\n type: \"string\",\n enum: [\"automation\"],\n default: \"automation\",\n },\n isEnabled: {\n type: \"boolean\",\n description: \"Whether the automation is currently enabled\",\n default: true,\n },\n description: {\n type: \"string\",\n description: \"The text description of the automation\",\n },\n trigger: {\n type: \"object\",\n description: \"The trigger that initiates the automation\",\n required: [\"discriminator\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"schedule\", \"event\", \"rrule\"],\n description: \"Type of trigger\",\n },\n rrule: {\n type: \"object\",\n additionalProperties: false,\n description: \"RFC 5545 recurrence rule with solar time support\",\n required: [\"expression\", \"timezone\"],\n properties: {\n expression: {\n type: \"string\",\n description:\n \"RFC 5545 RRULE string. Use BYHOUR/BYMINUTE for time when timeMode is omitted. Must not contain BYHOUR/BYMINUTE when timeMode is provided.\",\n },\n timezone: {\n type: \"string\",\n description: \"IANA timezone for rule evaluation\",\n },\n timeMode: {\n type: \"object\",\n additionalProperties: false,\n required: [\"type\"],\n properties: {\n type: {\n type: \"string\",\n enum: [\"fixed\", \"sunrise\", \"sunset\"],\n description:\n \"How to determine execution time on matching days\",\n },\n time: {\n type: \"string\",\n description: \"HH:mm time for fixed mode\",\n },\n offsetSeconds: {\n type: \"integer\",\n description:\n \"Offset in seconds from time or solar event (negative = before)\",\n default: 0,\n },\n },\n },\n location: {\n type: \"object\",\n additionalProperties: false,\n description: \"Required when timeMode is sunrise or sunset\",\n required: [\"lat\", \"lng\"],\n properties: {\n lat: {\n type: \"number\",\n minimum: -90,\n maximum: 90,\n },\n lng: {\n type: \"number\",\n minimum: -180,\n maximum: 180,\n },\n },\n },\n },\n },\n // Time-based trigger properties\n schedule: {\n type: \"object\",\n additionalProperties: false,\n description: \"Schedule for time-based triggers\",\n required: [\"days\", \"time\", \"timezone\"],\n properties: {\n days: {\n type: \"array\",\n description: \"Days of the week (0 = Sunday, 6 = Saturday)\",\n items: {\n type: \"integer\",\n minimum: 0,\n maximum: 6,\n },\n },\n time: {\n type: \"string\",\n description: \"Time of day to trigger the automation\",\n },\n timeOffsetSeconds: {\n type: \"integer\",\n description: \"Offset in seconds from the scheduled time\",\n default: 0,\n },\n repeat: {\n type: \"boolean\",\n description: \"Whether the schedule repeats\",\n default: true,\n },\n timezone: {\n type: \"string\",\n description: \"Timezone for the schedule (IANA timezone format)\",\n },\n },\n },\n event: {\n type: \"object\",\n required: [\"eventType\", \"eventProperties\", \"match\"],\n additionalProperties: false,\n properties: {\n eventType: {\n type: \"string\",\n description:\n \"Name of the event that triggers the automation actions\",\n },\n eventProperties: {\n type: \"array\",\n description:\n \"Properties of the event that triggers the automation actions\",\n items: {\n type: \"object\",\n required: [\"property\", \"value\", \"operator\"],\n additionalProperties: false,\n properties: {\n property: {\n type: \"string\",\n description: \"Property of the event\",\n },\n value: {\n type: [\"string\", \"number\", \"boolean\"],\n description: \"Value of the property\",\n },\n operator: {\n type: \"string\",\n description: \"Operator of the property\",\n enum: [\n \"==\",\n \"!=\",\n \">\",\n \">=\",\n \"<\",\n \"<=\",\n \"contains\",\n \"notContains\",\n ],\n },\n },\n },\n },\n match: {\n type: \"string\",\n description:\n \"Match criteria for the event to trigger the automation actions\",\n enum: [\"any\", \"all\"],\n },\n },\n },\n },\n },\n actions: {\n type: \"array\",\n description: \"Actions to perform when the trigger conditions are met\",\n items: {\n type: \"object\",\n required: [\"useCase\", \"useCaseParams\"],\n additionalProperties: false,\n properties: {\n useCase: {\n type: \"string\",\n description: \"Name of the use case to call\",\n },\n useCaseParams: {\n type: \"object\",\n description: \"Parameters to pass to the use case\",\n required: [\"data\"],\n properties: {\n data: {\n type: [\"object\", \"array\"],\n description: \"Data to pass to the use case\",\n },\n },\n },\n },\n minItems: 1,\n },\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was created\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was updated\",\n },\n nextRunAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation is scheduled to run next\",\n },\n lastRunAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was last triggered\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n webhookUrl: {\n type: \"string\",\n description: \"The URL of the webhook that triggers the automation\",\n format: \"uri\",\n },\n },\n additionalProperties: false,\n} as const;\n\nexport type AutomationSchema = FromSchema<\n typeof automationSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"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","names":[]}
@@ -13,6 +13,10 @@ declare const cameraSchema: {
13
13
  readonly id: {
14
14
  readonly $ref: "definitions.json#/definitions/id";
15
15
  };
16
+ readonly propertyId: {
17
+ readonly type: "string";
18
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
19
+ };
16
20
  readonly name: {
17
21
  readonly type: "string";
18
22
  };
@@ -10,6 +10,10 @@ const cameraSchema = {
10
10
  id: {
11
11
  $ref: "definitions.json#/definitions/id"
12
12
  },
13
+ propertyId: {
14
+ type: "string",
15
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
16
+ },
13
17
  name: {
14
18
  type: "string"
15
19
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/camera.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const cameraSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"camera.json\",\n title: \"Camera\",\n description: \"Any smart camera\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"doorStation\"],\n },\n type: {\n type: \"string\",\n enum: [\"camera\"],\n default: \"camera\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n liveStream: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n enum: [\n \"aws-kinesis\",\n \"cloudflare-stream\",\n \"doorbird\",\n \"digital-watchdog\",\n \"verkada\",\n \"mediamtx\",\n \"mobile-mule\",\n ],\n },\n allowedOrigins: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n authRequired: {\n type: \"boolean\",\n },\n authHeaders: {\n type: [\"object\", \"null\"],\n additionalProperties: true,\n default: null,\n },\n iframe: {\n type: [\"string\", \"null\"],\n },\n hls: {\n type: [\"string\", \"null\"],\n },\n webRTC: {\n type: [\"string\", \"null\"],\n },\n rtsp: {\n type: [\"string\", \"null\"],\n description: \"Local RTSP stream URL\",\n examples: [\n \"rtsp://192.168.1.4:544/channels/1\",\n \"rtsp://10.145.6.129:8554/unicast\",\n ],\n },\n previewImage: {\n type: [\"string\", \"null\"],\n description: \"Source to preview the camera stream\",\n examples: [\n \"https://example.com/preview.jpg\",\n \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA\",\n ],\n },\n },\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n alerts: {\n $ref: \"definitions.json#/definitions/alerts\"\n },\n },\n} as const;\n\nexport type CameraSchema = FromSchema<\n typeof cameraSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,eAAe;AAAA,EAC1B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,QAAQ;AAAA,EACjC,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,sBAAsB;AAAA,MACtB,YAAY;AAAA,QACV,IAAI;AAAA,UACF,MAAM;AAAA,QACR;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,OAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,QACF;AAAA,QACA,cAAc;AAAA,UACZ,MAAM;AAAA,QACR;AAAA,QACA,aAAa;AAAA,UACX,MAAM,CAAC,UAAU,MAAM;AAAA,UACvB,sBAAsB;AAAA,UACtB,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,MAAM,CAAC,UAAU,MAAM;AAAA,QACzB;AAAA,QACA,KAAK;AAAA,UACH,MAAM,CAAC,UAAU,MAAM;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM,CAAC,UAAU,MAAM;AAAA,QACzB;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,CAAC,UAAU,MAAM;AAAA,UACvB,aAAa;AAAA,UACb,UAAU;AAAA,YACR;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,cAAc;AAAA,UACZ,MAAM,CAAC,UAAU,MAAM;AAAA,UACvB,aAAa;AAAA,UACb,UAAU;AAAA,YACR;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/camera.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const cameraSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"camera.json\",\n title: \"Camera\",\n description: \"Any smart camera\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n name: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"doorStation\"],\n },\n type: {\n type: \"string\",\n enum: [\"camera\"],\n default: \"camera\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n liveStream: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n enum: [\n \"aws-kinesis\",\n \"cloudflare-stream\",\n \"doorbird\",\n \"digital-watchdog\",\n \"verkada\",\n \"mediamtx\",\n \"mobile-mule\",\n ],\n },\n allowedOrigins: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n authRequired: {\n type: \"boolean\",\n },\n authHeaders: {\n type: [\"object\", \"null\"],\n additionalProperties: true,\n default: null,\n },\n iframe: {\n type: [\"string\", \"null\"],\n },\n hls: {\n type: [\"string\", \"null\"],\n },\n webRTC: {\n type: [\"string\", \"null\"],\n },\n rtsp: {\n type: [\"string\", \"null\"],\n description: \"Local RTSP stream URL\",\n examples: [\n \"rtsp://192.168.1.4:544/channels/1\",\n \"rtsp://10.145.6.129:8554/unicast\",\n ],\n },\n previewImage: {\n type: [\"string\", \"null\"],\n description: \"Source to preview the camera stream\",\n examples: [\n \"https://example.com/preview.jpg\",\n \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA\",\n ],\n },\n },\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n alerts: {\n $ref: \"definitions.json#/definitions/alerts\"\n },\n },\n} as const;\n\nexport type CameraSchema = FromSchema<\n typeof cameraSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,eAAe;AAAA,EAC1B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,QAAQ;AAAA,EACjC,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,sBAAsB;AAAA,MACtB,YAAY;AAAA,QACV,IAAI;AAAA,UACF,MAAM;AAAA,QACR;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,OAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,QACF;AAAA,QACA,cAAc;AAAA,UACZ,MAAM;AAAA,QACR;AAAA,QACA,aAAa;AAAA,UACX,MAAM,CAAC,UAAU,MAAM;AAAA,UACvB,sBAAsB;AAAA,UACtB,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,MAAM,CAAC,UAAU,MAAM;AAAA,QACzB;AAAA,QACA,KAAK;AAAA,UACH,MAAM,CAAC,UAAU,MAAM;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM,CAAC,UAAU,MAAM;AAAA,QACzB;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,CAAC,UAAU,MAAM;AAAA,UACvB,aAAa;AAAA,UACb,UAAU;AAAA,YACR;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,cAAc;AAAA,UACZ,MAAM,CAAC,UAAU,MAAM;AAAA,UACvB,aAAa;AAAA,UACb,UAAU;AAAA,YACR;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
@@ -11,6 +11,10 @@ declare const categorySchema: {
11
11
  readonly id: {
12
12
  readonly $ref: "definitions.json#/definitions/id";
13
13
  };
14
+ readonly propertyId: {
15
+ readonly type: "string";
16
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
17
+ };
14
18
  readonly type: {
15
19
  readonly type: "string";
16
20
  readonly enum: readonly ["category"];
@@ -8,6 +8,10 @@ const categorySchema = {
8
8
  id: {
9
9
  $ref: "definitions.json#/definitions/id"
10
10
  },
11
+ propertyId: {
12
+ type: "string",
13
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
14
+ },
11
15
  type: {
12
16
  type: "string",
13
17
  enum: ["category"],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/category.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const categorySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"category.json\",\n title: \"Category\",\n type: \"object\",\n required: [\"id\", \"type\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"category\"],\n default: \"category\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n description: {\n type: \"string\",\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 10,\n default: 9,\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"product\", \"mediaFile\", \"property\", \"user\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n additionalProperties: false,\n} as const;\n\nexport type CategorySchema = FromSchema<\n typeof categorySchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,iBAAiB;AAAA,EAC5B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,eAAe;AAAA,EACxC,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,MACjB,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC,SAAS,WAAW,aAAa,YAAY,MAAM;AAAA,IAC5D;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,sBAAsB;AACxB;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/category.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const categorySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"category.json\",\n title: \"Category\",\n type: \"object\",\n required: [\"id\", \"type\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n type: {\n type: \"string\",\n enum: [\"category\"],\n default: \"category\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n description: {\n type: \"string\",\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 10,\n default: 9,\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"product\", \"mediaFile\", \"property\", \"user\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n additionalProperties: false,\n} as const;\n\nexport type CategorySchema = FromSchema<\n typeof categorySchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,iBAAiB;AAAA,EAC5B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,eAAe;AAAA,EACxC,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,MACjB,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC,SAAS,WAAW,aAAa,YAAY,MAAM;AAAA,IAC5D;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,sBAAsB;AACxB;","names":[]}
@@ -13,6 +13,10 @@ declare const courtesySchema: {
13
13
  readonly id: {
14
14
  readonly $ref: "definitions.json#/definitions/id";
15
15
  };
16
+ readonly propertyId: {
17
+ readonly type: "string";
18
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
19
+ };
16
20
  readonly name: {
17
21
  readonly type: "string";
18
22
  };
@@ -10,6 +10,10 @@ const courtesySchema = {
10
10
  id: {
11
11
  $ref: "definitions.json#/definitions/id"
12
12
  },
13
+ propertyId: {
14
+ type: "string",
15
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
16
+ },
13
17
  name: {
14
18
  type: "string"
15
19
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/courtesy.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const courtesySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"courtesy.json\",\n title: \"Courtesy\",\n description: \"Any smart courtesy system\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\", \"supportedStates\", \"state\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"courtesy\"],\n default: \"courtesy\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedStates: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\"privacy\", \"service\", \"none\"],\n },\n },\n state: {\n type: \"string\",\n $ref: \"#/properties/supportedStates/items\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n} as const;\n\nexport type CourtesySchema = FromSchema<\n typeof courtesySchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,iBAAiB;AAAA,EAC5B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,UAAU,mBAAmB,OAAO;AAAA,EAC7D,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,MACjB,SAAS;AAAA,IACX;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,QACL,MAAM,CAAC,WAAW,WAAW,MAAM;AAAA,MACrC;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/courtesy.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const courtesySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"courtesy.json\",\n title: \"Courtesy\",\n description: \"Any smart courtesy system\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\", \"supportedStates\", \"state\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"courtesy\"],\n default: \"courtesy\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedStates: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\"privacy\", \"service\", \"none\"],\n },\n },\n state: {\n type: \"string\",\n $ref: \"#/properties/supportedStates/items\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n} as const;\n\nexport type CourtesySchema = FromSchema<\n typeof courtesySchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,iBAAiB;AAAA,EAC5B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,UAAU,mBAAmB,OAAO;AAAA,EAC7D,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,MACjB,SAAS;AAAA,IACX;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,QACL,MAAM,CAAC,WAAW,WAAW,MAAM;AAAA,MACrC;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
@@ -25,11 +25,14 @@ declare const credentialSchema: {
25
25
  };
26
26
  readonly discriminator: {
27
27
  readonly type: "string";
28
- readonly enum: readonly ["verificationCode", "token", "mobileKey", "pin", "publicKey", "passkeyChallenge", "alarmCode"];
28
+ readonly enum: readonly ["verificationCode", "token", "mobileKey", "pin", "publicKey", "passkeyChallenge", "alarmCode", "apiKey"];
29
29
  };
30
30
  readonly credential: {
31
31
  readonly type: "string";
32
32
  };
33
+ readonly keyHash: {
34
+ readonly type: "string";
35
+ };
33
36
  readonly userId: {
34
37
  readonly type: "string";
35
38
  };
@@ -29,12 +29,16 @@ const credentialSchema = {
29
29
  "pin",
30
30
  "publicKey",
31
31
  "passkeyChallenge",
32
- "alarmCode"
32
+ "alarmCode",
33
+ "apiKey"
33
34
  ]
34
35
  },
35
36
  credential: {
36
37
  type: "string"
37
38
  },
39
+ keyHash: {
40
+ type: "string"
41
+ },
38
42
  userId: {
39
43
  type: "string"
40
44
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/credential.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const credentialSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"credential.json\",\n title: \"Credential\",\n type: \"object\",\n required: [\"id\", \"type\", \"credential\", \"expires\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"credential\",\n enum: [\"credential\"],\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"verificationCode\",\n \"token\",\n \"mobileKey\",\n \"pin\",\n \"publicKey\",\n \"passkeyChallenge\",\n \"alarmCode\",\n ],\n },\n credential: {\n type: \"string\",\n },\n userId: {\n type: \"string\",\n },\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n deviceId: {\n type: \"string\",\n },\n userAgent: {\n type: \"string\",\n },\n expires: {\n type: [\"string\", \"object\", \"null\"],\n format: \"date-time\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n} as const;\n\nexport type CredentialSchema = Omit<\n FromSchema<\n typeof credentialSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n >,\n \"expires\"\n> & { expires: Date | ISODateString | null };\n"],"mappings":"AAGO,MAAM,mBAAmB;AAAA,EAC9B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,cAAc,SAAS;AAAA,EAChD,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,CAAC,YAAY;AAAA,IACrB;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM,CAAC,UAAU,UAAU,MAAM;AAAA,MACjC,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/credential.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const credentialSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"credential.json\",\n title: \"Credential\",\n type: \"object\",\n required: [\"id\", \"type\", \"credential\", \"expires\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"credential\",\n enum: [\"credential\"],\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"verificationCode\",\n \"token\",\n \"mobileKey\",\n \"pin\",\n \"publicKey\",\n \"passkeyChallenge\",\n \"alarmCode\",\n \"apiKey\",\n ],\n },\n credential: {\n type: \"string\",\n },\n keyHash: {\n type: \"string\",\n },\n userId: {\n type: \"string\",\n },\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n deviceId: {\n type: \"string\",\n },\n userAgent: {\n type: \"string\",\n },\n expires: {\n type: [\"string\", \"object\", \"null\"],\n format: \"date-time\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n} as const;\n\nexport type CredentialSchema = Omit<\n FromSchema<\n typeof credentialSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n >,\n \"expires\"\n> & { expires: Date | ISODateString | null };\n"],"mappings":"AAGO,MAAM,mBAAmB;AAAA,EAC9B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,cAAc,SAAS;AAAA,EAChD,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,CAAC,YAAY;AAAA,IACrB;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM,CAAC,UAAU,UAAU,MAAM;AAAA,MACjC,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
@@ -113,7 +113,7 @@ declare const defs: {
113
113
  readonly type: "array";
114
114
  readonly uniqueItems: true;
115
115
  readonly items: {
116
- readonly enum: readonly ["button 1", "button 2", "button 3", "button 4", "button 5", "idle", "powerHasBeedApplied", "acMainsDisconnected", "acMainsReconnected", "replaceBatterySoon", "replaceBatteryNow", "batteryOk", "hardwareFailure", "softwareFailure", "hardwareFailureWithCode", "softwareFailureWithCode", "motionDetection", "airFilterNeedsCleaned", "airFilterNeedsReplaced", "smokeDetected", "outsideSafeTemperatureRange", "outsideSafeHumidityRange", "scheduleMaintenance", "doorAjar", "communicationFailure", "communicationOk", "burglarAlarm", "fireAlarm"];
116
+ readonly enum: readonly ["button 1", "button 2", "button 3", "button 4", "button 5", "idle", "powerHasBeedApplied", "acMainsDisconnected", "acMainsReconnected", "replaceBattery", "replaceBatterySoon", "replaceBatteryNow", "batteryOk", "hardwareFailure", "softwareFailure", "hardwareFailureWithCode", "softwareFailureWithCode", "motionDetection", "airFilterNeedsCleaned", "airFilterNeedsReplaced", "smokeDetected", "outsideSafeTemperatureRange", "outsideSafeHumidityRange", "scheduleMaintenance", "doorAjar", "communicationFailure", "communicationOk", "burglarAlarm", "fireAlarm", "powerTrouble", "monitoringTrouble", "bellTrouble", "configIssue"];
117
117
  };
118
118
  };
119
119
  readonly notification: {
@@ -224,6 +224,7 @@ const defs = {
224
224
  "powerHasBeedApplied",
225
225
  "acMainsDisconnected",
226
226
  "acMainsReconnected",
227
+ "replaceBattery",
227
228
  "replaceBatterySoon",
228
229
  "replaceBatteryNow",
229
230
  "batteryOk",
@@ -242,7 +243,11 @@ const defs = {
242
243
  "communicationFailure",
243
244
  "communicationOk",
244
245
  "burglarAlarm",
245
- "fireAlarm"
246
+ "fireAlarm",
247
+ "powerTrouble",
248
+ "monitoringTrouble",
249
+ "bellTrouble",
250
+ "configIssue"
246
251
  ]
247
252
  }
248
253
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/definitions.ts"],"sourcesContent":["const defs = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"definitions.json\",\n title: \"Definitions\",\n definitions: {\n id: {\n type: \"string\",\n description: \"Identifier of the object.\",\n },\n systemId: {\n type: \"string\",\n description: \"Identifier of the object, directly related to the system.\",\n },\n systemData: {\n type: \"object\",\n },\n metadata: {\n type: \"object\",\n default: {},\n },\n date: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n file: {\n type: \"object\",\n required: [\"name\", \"type\", \"data\"],\n properties: {\n name: {\n type: \"string\",\n description: \"Name of the file.\",\n },\n type: {\n type: \"string\",\n description: \"MIME type of the file (e.g. application/pdf).\",\n },\n data: {\n type: \"string\",\n description: \"Base64-encoded data of the file.\",\n },\n },\n },\n address: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n line1: {\n type: \"string\",\n },\n line2: {\n type: \"string\",\n },\n line3: {\n type: \"string\",\n },\n city: {\n type: \"string\",\n },\n state: {\n type: \"string\",\n },\n postalCode: {\n type: \"string\",\n },\n countryCode: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n },\n },\n driver: {\n type: \"string\",\n description: \"Driver used to communicate with the object.\",\n enum: [\n \"adlink\",\n \"avigilon-alta\",\n \"aws-kinesis\",\n \"bacnet\",\n \"benq\",\n \"butler\",\n \"comelit\",\n \"cool-automation\",\n \"crestron\",\n \"dell\",\n \"digital-watchdog\",\n \"distech\",\n \"dmp\",\n \"doorbird\",\n \"dormakaba\",\n \"dsc\",\n \"dsc-itv2\",\n \"earbridge\",\n \"ecobee\",\n \"epson\",\n \"geovision-rs\",\n \"geovision-as-manager\",\n \"honeywell-vista\",\n \"honeywell-resideo\",\n \"igor\",\n \"inncom\",\n \"isapi\",\n \"kohost-k7\",\n \"kohost\",\n \"lapi\",\n \"lg\",\n \"lg-webos\",\n \"linortek\",\n \"lirc\",\n \"mews\",\n \"mht\",\n \"mobile-mule\",\n \"mock\",\n \"modbus\",\n \"napco\",\n \"newline\",\n \"obix\",\n \"one-roster\",\n \"onvif\",\n \"orchid-fusion\",\n \"paxton\",\n \"pdk\",\n \"pelican-wireless\",\n \"power-shades\",\n \"rachio\",\n \"rebrandly\",\n \"relay\",\n \"reolink\",\n \"rtsp\",\n \"salto\",\n \"salto-irn\",\n \"samsung\",\n \"se\",\n \"sendgrid\",\n \"singlewire\",\n \"smartboard\",\n \"sonifi\",\n \"stay-n-touch\",\n \"storable\",\n \"twilio\",\n \"unifi\",\n \"valcom\",\n \"veracross\",\n \"verkada\",\n \"vivotek\",\n \"vizio\",\n \"wisenet\",\n \"zkteco\",\n \"cloudflare-images\",\n \"cloudflare-stream\",\n \"insperia-privacy\",\n ],\n },\n type: {\n type: \"string\",\n enum: [\n \"alarm\",\n \"camera\",\n \"courtesy\",\n \"dimmer\",\n \"gateway\",\n \"lock\",\n \"mediaSource\",\n \"motionSensor\",\n \"switch\",\n \"thermostat\",\n \"windowCovering\",\n ],\n },\n name: {\n type: \"string\",\n },\n alerts: {\n type: \"array\",\n uniqueItems: true,\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"type\", \"status\", \"message\"],\n properties: {\n id: {\n type: \"string\"\n },\n type: {\n type: \"string\",\n enum: [\n \"Battery\",\n \"Button\",\n \"Communication\",\n \"Config\",\n \"Cost\",\n \"Door Ajar\",\n \"Equipment\",\n \"Maintenance\",\n \"Motion\",\n \"Registration\",\n \"Temperature\",\n ],\n },\n status: {\n type: \"string\",\n enum: [\"Active\", \"Resolved\"],\n },\n message: {\n type: \"string\",\n },\n },\n },\n },\n supportedNotifications: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\n \"button 1\",\n \"button 2\",\n \"button 3\",\n \"button 4\",\n \"button 5\",\n \"idle\",\n \"powerHasBeedApplied\",\n \"acMainsDisconnected\",\n \"acMainsReconnected\",\n \"replaceBatterySoon\",\n \"replaceBatteryNow\",\n \"batteryOk\",\n \"hardwareFailure\",\n \"softwareFailure\",\n \"hardwareFailureWithCode\",\n \"softwareFailureWithCode\",\n \"motionDetection\",\n \"airFilterNeedsCleaned\",\n \"airFilterNeedsReplaced\",\n \"smokeDetected\",\n \"outsideSafeTemperatureRange\",\n \"outsideSafeHumidityRange\",\n \"scheduleMaintenance\",\n \"doorAjar\",\n \"communicationFailure\",\n \"communicationOk\",\n \"burglarAlarm\",\n \"fireAlarm\",\n ],\n },\n },\n notification: {\n type: [\"object\", \"null\"],\n properties: {\n name: {\n type: \"string\",\n $ref: \"#/definitions/supportedNotifications/items\",\n },\n timestamp: {\n type: \"number\",\n minimum: 1655907956593,\n },\n description: {\n type: \"string\",\n },\n },\n },\n batteryLevel: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n watts: {\n type: \"number\",\n minimum: 0,\n },\n revenue: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n date: {\n type: \"string\",\n format: \"date-time\",\n },\n price: {\n type: \"number\",\n },\n tax: {\n type: [\"number\", \"null\"],\n },\n },\n },\n },\n },\n} as const;\n\nexport type ISODateString = ReturnType<Date[\"toISOString\"]>;\n\nexport { defs as definitionsSchema };\nexport default defs;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/definitions.ts"],"sourcesContent":["const defs = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"definitions.json\",\n title: \"Definitions\",\n definitions: {\n id: {\n type: \"string\",\n description: \"Identifier of the object.\",\n },\n systemId: {\n type: \"string\",\n description: \"Identifier of the object, directly related to the system.\",\n },\n systemData: {\n type: \"object\",\n },\n metadata: {\n type: \"object\",\n default: {},\n },\n date: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n file: {\n type: \"object\",\n required: [\"name\", \"type\", \"data\"],\n properties: {\n name: {\n type: \"string\",\n description: \"Name of the file.\",\n },\n type: {\n type: \"string\",\n description: \"MIME type of the file (e.g. application/pdf).\",\n },\n data: {\n type: \"string\",\n description: \"Base64-encoded data of the file.\",\n },\n },\n },\n address: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n line1: {\n type: \"string\",\n },\n line2: {\n type: \"string\",\n },\n line3: {\n type: \"string\",\n },\n city: {\n type: \"string\",\n },\n state: {\n type: \"string\",\n },\n postalCode: {\n type: \"string\",\n },\n countryCode: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n },\n },\n driver: {\n type: \"string\",\n description: \"Driver used to communicate with the object.\",\n enum: [\n \"adlink\",\n \"avigilon-alta\",\n \"aws-kinesis\",\n \"bacnet\",\n \"benq\",\n \"butler\",\n \"comelit\",\n \"cool-automation\",\n \"crestron\",\n \"dell\",\n \"digital-watchdog\",\n \"distech\",\n \"dmp\",\n \"doorbird\",\n \"dormakaba\",\n \"dsc\",\n \"dsc-itv2\",\n \"earbridge\",\n \"ecobee\",\n \"epson\",\n \"geovision-rs\",\n \"geovision-as-manager\",\n \"honeywell-vista\",\n \"honeywell-resideo\",\n \"igor\",\n \"inncom\",\n \"isapi\",\n \"kohost-k7\",\n \"kohost\",\n \"lapi\",\n \"lg\",\n \"lg-webos\",\n \"linortek\",\n \"lirc\",\n \"mews\",\n \"mht\",\n \"mobile-mule\",\n \"mock\",\n \"modbus\",\n \"napco\",\n \"newline\",\n \"obix\",\n \"one-roster\",\n \"onvif\",\n \"orchid-fusion\",\n \"paxton\",\n \"pdk\",\n \"pelican-wireless\",\n \"power-shades\",\n \"rachio\",\n \"rebrandly\",\n \"relay\",\n \"reolink\",\n \"rtsp\",\n \"salto\",\n \"salto-irn\",\n \"samsung\",\n \"se\",\n \"sendgrid\",\n \"singlewire\",\n \"smartboard\",\n \"sonifi\",\n \"stay-n-touch\",\n \"storable\",\n \"twilio\",\n \"unifi\",\n \"valcom\",\n \"veracross\",\n \"verkada\",\n \"vivotek\",\n \"vizio\",\n \"wisenet\",\n \"zkteco\",\n \"cloudflare-images\",\n \"cloudflare-stream\",\n \"insperia-privacy\",\n ],\n },\n type: {\n type: \"string\",\n enum: [\n \"alarm\",\n \"camera\",\n \"courtesy\",\n \"dimmer\",\n \"gateway\",\n \"lock\",\n \"mediaSource\",\n \"motionSensor\",\n \"switch\",\n \"thermostat\",\n \"windowCovering\",\n ],\n },\n name: {\n type: \"string\",\n },\n alerts: {\n type: \"array\",\n uniqueItems: true,\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"type\", \"status\", \"message\"],\n properties: {\n id: {\n type: \"string\"\n },\n type: {\n type: \"string\",\n enum: [\n \"Battery\",\n \"Button\",\n \"Communication\",\n \"Config\",\n \"Cost\",\n \"Door Ajar\",\n \"Equipment\",\n \"Maintenance\",\n \"Motion\",\n \"Registration\",\n \"Temperature\",\n ],\n },\n status: {\n type: \"string\",\n enum: [\"Active\", \"Resolved\"],\n },\n message: {\n type: \"string\",\n },\n },\n },\n },\n supportedNotifications: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\n \"button 1\",\n \"button 2\",\n \"button 3\",\n \"button 4\",\n \"button 5\",\n \"idle\",\n \"powerHasBeedApplied\",\n \"acMainsDisconnected\",\n \"acMainsReconnected\",\n \"replaceBattery\",\n \"replaceBatterySoon\",\n \"replaceBatteryNow\",\n \"batteryOk\",\n \"hardwareFailure\",\n \"softwareFailure\",\n \"hardwareFailureWithCode\",\n \"softwareFailureWithCode\",\n \"motionDetection\",\n \"airFilterNeedsCleaned\",\n \"airFilterNeedsReplaced\",\n \"smokeDetected\",\n \"outsideSafeTemperatureRange\",\n \"outsideSafeHumidityRange\",\n \"scheduleMaintenance\",\n \"doorAjar\",\n \"communicationFailure\",\n \"communicationOk\",\n \"burglarAlarm\",\n \"fireAlarm\",\n \"powerTrouble\",\n \"monitoringTrouble\",\n \"bellTrouble\",\n \"configIssue\",\n ],\n },\n },\n notification: {\n type: [\"object\", \"null\"],\n properties: {\n name: {\n type: \"string\",\n $ref: \"#/definitions/supportedNotifications/items\",\n },\n timestamp: {\n type: \"number\",\n minimum: 1655907956593,\n },\n description: {\n type: \"string\",\n },\n },\n },\n batteryLevel: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n watts: {\n type: \"number\",\n minimum: 0,\n },\n revenue: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n date: {\n type: \"string\",\n format: \"date-time\",\n },\n price: {\n type: \"number\",\n },\n tax: {\n type: [\"number\", \"null\"],\n },\n },\n },\n },\n },\n} as const;\n\nexport type ISODateString = ReturnType<Date[\"toISOString\"]>;\n\nexport { defs as definitionsSchema };\nexport default defs;\n"],"mappings":"AAAA,MAAM,OAAO;AAAA,EACX,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,IACX,IAAI;AAAA,MACF,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,CAAC;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM,CAAC,UAAU,QAAQ;AAAA,MACzB,QAAQ;AAAA,IACV;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU,CAAC,QAAQ,QAAQ,MAAM;AAAA,MACjC,YAAY;AAAA,QACV,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,sBAAsB;AAAA,MACtB,YAAY;AAAA,QACV,IAAI;AAAA,UACF,MAAM;AAAA,QACR;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,QACR;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,QACR;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,QACR;AAAA,QACA,MAAM;AAAA,UACJ,MAAM;AAAA,QACR;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,QACR;AAAA,QACA,YAAY;AAAA,UACV,MAAM;AAAA,QACR;AAAA,QACA,aAAa;AAAA,UACX,MAAM;AAAA,UACN,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,QACL,MAAM;AAAA,QACN,sBAAsB;AAAA,QACtB,UAAU,CAAC,QAAQ,UAAU,SAAS;AAAA,QACtC,YAAY;AAAA,UACV,IAAI;AAAA,YACF,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,YACJ,MAAM;AAAA,YACN,MAAM;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAAA,UACA,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,MAAM,CAAC,UAAU,UAAU;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,QACL,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,MAAM,CAAC,UAAU,MAAM;AAAA,MACvB,YAAY;AAAA,QACV,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,QACR;AAAA,QACA,WAAW;AAAA,UACT,MAAM;AAAA,UACN,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,YAAY;AAAA,UACV,IAAI;AAAA,YACF,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,YACJ,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,YACJ,MAAM;AAAA,YACN,QAAQ;AAAA,UACV;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,UACA,KAAK;AAAA,YACH,MAAM,CAAC,UAAU,MAAM;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAKA,IAAO,sBAAQ;","names":[]}
@@ -11,6 +11,10 @@ declare const dimmerSchema: {
11
11
  readonly id: {
12
12
  readonly $ref: "definitions.json#/definitions/id";
13
13
  };
14
+ readonly propertyId: {
15
+ readonly type: "string";
16
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
17
+ };
14
18
  readonly name: {
15
19
  readonly type: "string";
16
20
  };
@@ -8,6 +8,10 @@ const dimmerSchema = {
8
8
  id: {
9
9
  $ref: "definitions.json#/definitions/id"
10
10
  },
11
+ propertyId: {
12
+ type: "string",
13
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
14
+ },
11
15
  name: {
12
16
  type: "string"
13
17
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/dimmer.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const dimmerSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"dimmer.json\",\n title: \"Dimmer\",\n description: \"Any smart dimmer\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"dimmer\"],\n default: \"dimmer\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n alerts: {\n $ref: \"definitions.json#/definitions/alerts\"\n },\n level: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 100,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"level\", \"driver\"],\n} as const;\n\nexport type DimmerSchema = FromSchema<\n typeof dimmerSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,eAAe;AAAA,EAC1B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA,IACX;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,UAAU,MAAM;AAAA,MACvB,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM,QAAQ,SAAS,QAAQ;AAC5C;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/dimmer.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const dimmerSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"dimmer.json\",\n title: \"Dimmer\",\n description: \"Any smart dimmer\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"dimmer\"],\n default: \"dimmer\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n alerts: {\n $ref: \"definitions.json#/definitions/alerts\"\n },\n level: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 100,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"level\", \"driver\"],\n} as const;\n\nexport type DimmerSchema = FromSchema<\n typeof dimmerSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,eAAe;AAAA,EAC1B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA,IACX;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,UAAU,MAAM;AAAA,MACvB,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM,QAAQ,SAAS,QAAQ;AAC5C;","names":[]}
@@ -12,6 +12,10 @@ declare const emailMessageSchema: {
12
12
  readonly id: {
13
13
  readonly $ref: "definitions.json#/definitions/id";
14
14
  };
15
+ readonly propertyId: {
16
+ readonly type: "string";
17
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
18
+ };
15
19
  readonly type: {
16
20
  readonly type: "string";
17
21
  readonly default: "emailMessage";
@@ -9,6 +9,10 @@ const emailMessageSchema = {
9
9
  id: {
10
10
  $ref: "definitions.json#/definitions/id"
11
11
  },
12
+ propertyId: {
13
+ type: "string",
14
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
15
+ },
12
16
  type: {
13
17
  type: "string",
14
18
  default: "emailMessage",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/emailMessage.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const emailMessageSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"emailMessage.json\",\n title: \"Email Message\",\n type: \"object\",\n required: [\"id\", \"type\", \"to\", \"from\", \"status\", \"subject\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"emailMessage\",\n enum: [\"emailMessage\"],\n },\n to: {\n type: \"string\",\n },\n from: {\n type: \"string\",\n description: \"Must be in the format of 'Sender <email@example.com>\",\n },\n subject: {\n type: \"string\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"sending\",\n \"sent\",\n \"deferred\",\n \"delivered\",\n \"undelivered\",\n \"bounced\",\n \"blocked\",\n \"receiving\",\n \"received\",\n \"opened\",\n \"clicked\",\n \"unsubscribed\",\n \"spamReport\",\n ],\n },\n statusMessage: {\n type: \"string\",\n },\n html: {\n type: \"string\",\n },\n text: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n headers: {\n type: \"object\",\n additionalProperties: { type: \"string\" },\n description: \"Additional headers for the email message, key/value pairs\",\n },\n replyTo: {\n type: [\"string\", \"array\"],\n },\n appData: {\n type: \"object\",\n additionalProperties: true,\n description:\n \"Additional data for the email message, used for custom data\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n} as const;\n\nexport type EmailMessageSchema = FromSchema<\n typeof emailMessageSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,MAAM,QAAQ,UAAU,SAAS;AAAA,EAC1D,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,CAAC,cAAc;AAAA,IACvB;AAAA,IACA,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,sBAAsB,EAAE,MAAM,SAAS;AAAA,MACvC,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,MAAM,CAAC,UAAU,OAAO;AAAA,IAC1B;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,sBAAsB;AAAA,MACtB,aACE;AAAA,IACJ;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/emailMessage.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const emailMessageSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"emailMessage.json\",\n title: \"Email Message\",\n type: \"object\",\n required: [\"id\", \"type\", \"to\", \"from\", \"status\", \"subject\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n type: {\n type: \"string\",\n default: \"emailMessage\",\n enum: [\"emailMessage\"],\n },\n to: {\n type: \"string\",\n },\n from: {\n type: \"string\",\n description: \"Must be in the format of 'Sender <email@example.com>\",\n },\n subject: {\n type: \"string\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"sending\",\n \"sent\",\n \"deferred\",\n \"delivered\",\n \"undelivered\",\n \"bounced\",\n \"blocked\",\n \"receiving\",\n \"received\",\n \"opened\",\n \"clicked\",\n \"unsubscribed\",\n \"spamReport\",\n ],\n },\n statusMessage: {\n type: \"string\",\n },\n html: {\n type: \"string\",\n },\n text: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n headers: {\n type: \"object\",\n additionalProperties: { type: \"string\" },\n description: \"Additional headers for the email message, key/value pairs\",\n },\n replyTo: {\n type: [\"string\", \"array\"],\n },\n appData: {\n type: \"object\",\n additionalProperties: true,\n description:\n \"Additional data for the email message, used for custom data\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n deletedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n} as const;\n\nexport type EmailMessageSchema = FromSchema<\n typeof emailMessageSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,UAAU,CAAC,MAAM,QAAQ,MAAM,QAAQ,UAAU,SAAS;AAAA,EAC1D,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,CAAC,cAAc;AAAA,IACvB;AAAA,IACA,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,sBAAsB,EAAE,MAAM,SAAS;AAAA,MACvC,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,MAAM,CAAC,UAAU,OAAO;AAAA,IAC1B;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,sBAAsB;AAAA,MACtB,aACE;AAAA,IACJ;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
@@ -12,6 +12,10 @@ declare const energyReportSchema: {
12
12
  readonly id: {
13
13
  readonly $ref: "definitions.json#/definitions/id";
14
14
  };
15
+ readonly propertyId: {
16
+ readonly type: "string";
17
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
18
+ };
15
19
  readonly type: {
16
20
  readonly type: "string";
17
21
  readonly enum: readonly ["energyReport"];
@@ -18,6 +18,10 @@ const energyReportSchema = {
18
18
  id: {
19
19
  $ref: "definitions.json#/definitions/id"
20
20
  },
21
+ propertyId: {
22
+ type: "string",
23
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
24
+ },
21
25
  type: {
22
26
  type: "string",
23
27
  enum: ["energyReport"],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/energyReport.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const energyReportSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"energyReport.json\",\n title: \"Energy Report\",\n description: \"Hourly Report for Energy based on energy report shards\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"roomId\",\n \"first\",\n \"last\",\n \"consumption\",\n \"totals\",\n \"costPerKw\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"energyReport\"],\n default: \"energyReport\",\n },\n reportTime: {\n type: \"string\",\n enum: [\"hourly\", \"daily\", \"monthly\"],\n },\n roomId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n first: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n last: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n consumption: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"id\", \"type\", \"kwh\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n kwh: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n totals: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"lights\", \"climate\", \"media\"],\n properties: {\n lights: {\n type: \"number\",\n minimum: 0,\n },\n climate: {\n type: \"number\",\n minimum: 0,\n },\n media: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n costPerKw: {\n type: \"number\",\n minimum: 0,\n },\n },\n} as const;\n\nexport type EnergyReportSchema = FromSchema<\n typeof energyReportSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,MACrB,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,UAAU,SAAS,SAAS;AAAA,IACrC;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,UAAU,QAAQ;AAAA,MACzB,QAAQ;AAAA,IACV;AAAA,IACA,MAAM;AAAA,MACJ,MAAM,CAAC,UAAU,QAAQ;AAAA,MACzB,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU,CAAC,MAAM,QAAQ,KAAK;AAAA,QAC9B,YAAY;AAAA,UACV,IAAI;AAAA,YACF,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,YACJ,MAAM;AAAA,UACR;AAAA,UACA,KAAK;AAAA,YACH,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU,CAAC,UAAU,WAAW,OAAO;AAAA,QACvC,YAAY;AAAA,UACV,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,UACA,SAAS;AAAA,YACP,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/energyReport.ts"],"sourcesContent":["import defs, { ISODateString } from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const energyReportSchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"energyReport.json\",\n title: \"Energy Report\",\n description: \"Hourly Report for Energy based on energy report shards\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"roomId\",\n \"first\",\n \"last\",\n \"consumption\",\n \"totals\",\n \"costPerKw\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n type: {\n type: \"string\",\n enum: [\"energyReport\"],\n default: \"energyReport\",\n },\n reportTime: {\n type: \"string\",\n enum: [\"hourly\", \"daily\", \"monthly\"],\n },\n roomId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n first: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n last: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n consumption: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"id\", \"type\", \"kwh\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n kwh: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n totals: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"lights\", \"climate\", \"media\"],\n properties: {\n lights: {\n type: \"number\",\n minimum: 0,\n },\n climate: {\n type: \"number\",\n minimum: 0,\n },\n media: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n costPerKw: {\n type: \"number\",\n minimum: 0,\n },\n },\n} as const;\n\nexport type EnergyReportSchema = FromSchema<\n typeof energyReportSchema,\n {\n references: [typeof defs];\n deserialize: [\n {\n pattern: {\n format: \"date-time\";\n };\n output: Date | ISODateString;\n },\n ];\n }\n>;\n"],"mappings":"AAGO,MAAM,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,MACrB,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,UAAU,SAAS,SAAS;AAAA,IACrC;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,UAAU,QAAQ;AAAA,MACzB,QAAQ;AAAA,IACV;AAAA,IACA,MAAM;AAAA,MACJ,MAAM,CAAC,UAAU,QAAQ;AAAA,MACzB,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU,CAAC,MAAM,QAAQ,KAAK;AAAA,QAC9B,YAAY;AAAA,UACV,IAAI;AAAA,YACF,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,YACJ,MAAM;AAAA,UACR;AAAA,UACA,KAAK;AAAA,YACH,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU,CAAC,UAAU,WAAW,OAAO;AAAA,QACvC,YAAY;AAAA,UACV,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,UACA,SAAS;AAAA,YACP,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -12,6 +12,10 @@ declare const gatewaySchema: {
12
12
  readonly id: {
13
13
  readonly $ref: "definitions.json#/definitions/id";
14
14
  };
15
+ readonly propertyId: {
16
+ readonly type: "string";
17
+ readonly description: "ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.";
18
+ };
15
19
  readonly name: {
16
20
  readonly type: "string";
17
21
  };
@@ -9,6 +9,10 @@ const gatewaySchema = {
9
9
  id: {
10
10
  $ref: "definitions.json#/definitions/id"
11
11
  },
12
+ propertyId: {
13
+ type: "string",
14
+ description: "ID of the property this entity belongs to. Optional \u2014 used as a per-document filter inside the org-scoped database."
15
+ },
12
16
  name: {
13
17
  type: "string"
14
18
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../.generated/schemas/gateway.ts"],"sourcesContent":["import defs from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const gatewaySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"iotGateway.json\",\n title: \"Gateway\",\n description:\n \"Any smart gateway that is an entrypoint for controlling devices\",\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n offline: {\n type: \"boolean\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n alerts: {\n $ref: \"definitions.json#/definitions/alerts\"\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n status: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"status\", \"driver\"],\n} as const;\n\nexport type GatewaySchema = FromSchema<\n typeof gatewaySchema,\n { references: [typeof defs] }\n>;\n"],"mappings":"AAGO,MAAM,gBAAgB;AAAA,EAC3B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aACE;AAAA,EACF,MAAM;AAAA,EACN,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM,QAAQ,UAAU,QAAQ;AAC7C;","names":[]}
1
+ {"version":3,"sources":["../../.generated/schemas/gateway.ts"],"sourcesContent":["import defs from \"./definitions\";\nimport type { FromSchema } from \"json-schema-to-ts\";\n\nexport const gatewaySchema = {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"iotGateway.json\",\n title: \"Gateway\",\n description:\n \"Any smart gateway that is an entrypoint for controlling devices\",\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n propertyId: {\n type: \"string\",\n description: \"ID of the property this entity belongs to. Optional — used as a per-document filter inside the org-scoped database.\",\n },\n name: {\n type: \"string\",\n },\n offline: {\n type: \"boolean\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n alerts: {\n $ref: \"definitions.json#/definitions/alerts\"\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n status: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n manufacturer: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"status\", \"driver\"],\n} as const;\n\nexport type GatewaySchema = FromSchema<\n typeof gatewaySchema,\n { references: [typeof defs] }\n>;\n"],"mappings":"AAGO,MAAM,gBAAgB;AAAA,EAC3B,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aACE;AAAA,EACF,MAAM;AAAA,EACN,sBAAsB;AAAA,EACtB,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,wBAAwB;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM,QAAQ,UAAU,QAAQ;AAC7C;","names":[]}