@kusinta/iot-schema 0.2.0-beta.5 → 0.2.0-beta.50

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 (69) hide show
  1. package/package.json +13 -1
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +138 -2
  3. package/src/kusinta/iot/access/v1/acl_pb.js +19 -2
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +160 -4
  5. package/src/kusinta/iot/access/v1/roles_pb.js +128 -5
  6. package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +591 -0
  7. package/src/kusinta/iot/accountlink/v1/account_link_pb.js +160 -0
  8. package/src/kusinta/iot/climate/v1/climate_pb.d.ts +1492 -0
  9. package/src/kusinta/iot/climate/v1/climate_pb.js +278 -0
  10. package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1344 -0
  11. package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +282 -0
  12. package/src/kusinta/iot/common/v1/pairing_pb.d.ts +217 -0
  13. package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
  14. package/src/kusinta/iot/common/v1/types_pb.d.ts +235 -0
  15. package/src/kusinta/iot/common/v1/types_pb.js +84 -2
  16. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +874 -3
  17. package/src/kusinta/iot/connector/v1/connector_pb.js +126 -13
  18. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +213 -1
  19. package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
  20. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +32 -4
  21. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  22. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +89 -5
  23. package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
  24. package/src/kusinta/iot/device/v1/device_pb.d.ts +426 -11
  25. package/src/kusinta/iot/device/v1/device_pb.js +74 -2
  26. package/src/kusinta/iot/device/v1/properties_pb.d.ts +26 -5
  27. package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
  28. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +42 -2
  29. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -1
  30. package/src/kusinta/iot/heating/v1/heating_pb.d.ts +656 -0
  31. package/src/kusinta/iot/heating/v1/heating_pb.js +119 -0
  32. package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
  33. package/src/kusinta/iot/link/v1/link_pb.js +121 -0
  34. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
  35. package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
  36. package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1251 -0
  37. package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
  38. package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
  39. package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
  40. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +936 -7
  41. package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
  42. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
  43. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
  44. package/src/kusinta/iot/space/v1/space_pb.d.ts +146 -2
  45. package/src/kusinta/iot/space/v1/space_pb.js +10 -1
  46. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +15 -0
  47. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -1
  48. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
  49. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
  50. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +5 -4
  51. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +5 -4
  52. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
  53. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
  54. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
  55. package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
  56. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
  57. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +34 -5
  58. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +732 -3
  59. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +84 -4
  60. package/src/kusinta/iot/webrtc/v1/household_pb.d.ts +612 -0
  61. package/src/kusinta/iot/webrtc/v1/household_pb.js +134 -0
  62. package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +502 -0
  63. package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
  64. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +2149 -76
  65. package/src/kusinta/iot/webrtc/v1/management_pb.js +311 -5
  66. package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +582 -0
  67. package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
  68. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
  69. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +9 -1
@@ -4,12 +4,67 @@
4
4
 
5
5
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
+ import type { SpaceId } from "../../identity/v1/identity_pb.js";
7
8
 
8
9
  /**
9
10
  * Describes the file kusinta/iot/common/v1/types.proto.
10
11
  */
11
12
  export declare const file_kusinta_iot_common_v1_types: GenFile;
12
13
 
14
+ /**
15
+ * Who owns one of the building's own devices as an asset: who paid for it, for billing and
16
+ * for what becomes of it when a household or the gateway's owner changes. Distinct from
17
+ * DeviceOwnershipType, which says whether a person owns a device outright; a device a person
18
+ * owns has no asset owner.
19
+ *
20
+ * VISIBILITY NEVER FOLLOWS IT. What anyone sees of a device, or may do to it, is decided by
21
+ * the space it is filed in and how they stand to that space (access.v1.MembershipRelation),
22
+ * never by its asset owner: a device the organisation owns in someone's home is seen by the
23
+ * organisation's people as service and no more, and a device a household owns gives that
24
+ * household nothing beyond what living in the home gives it. Setting or changing an asset
25
+ * owner changes no one's access.
26
+ *
27
+ * IT DECIDES ONE THING: whether a room's outer limits can bind the device
28
+ * (climate.v1.OuterRoomLimits, WHAT THEY BIND). It still decides nothing about who sees what.
29
+ *
30
+ * Unset: not recorded. On a device whose ownership is COMPANY, anything that depends on it
31
+ * reads an unset owner as owner_organisation; a device a person owns has none, and is theirs.
32
+ *
33
+ * @generated from message kusinta.iot.common.v1.AssetOwner
34
+ */
35
+ export declare type AssetOwner = Message<"kusinta.iot.common.v1.AssetOwner"> & {
36
+ /**
37
+ * @generated from oneof kusinta.iot.common.v1.AssetOwner.owner
38
+ */
39
+ owner: {
40
+ /**
41
+ * The organisation that owns the gateway (signaling.v1.GatewayStreamOpened, OWNER OF
42
+ * RECORD), whichever that is: such an asset goes with the gateway when it moves to
43
+ * another organisation. Only true is sent; false is refused.
44
+ *
45
+ * @generated from field: bool owner_organisation = 1;
46
+ */
47
+ value: boolean;
48
+ case: "ownerOrganisation";
49
+ } | {
50
+ /**
51
+ * The household of a home, named by the home's apartment. Keyed to the home, never to a
52
+ * person: when the household changes, the asset stays with the home for the next one
53
+ * (webrtc.v1 household.proto, HANDOVER).
54
+ *
55
+ * @generated from field: kusinta.iot.identity.v1.SpaceId household_home_id = 2;
56
+ */
57
+ value: SpaceId;
58
+ case: "householdHomeId";
59
+ } | { case: undefined; value?: undefined };
60
+ };
61
+
62
+ /**
63
+ * Describes the message kusinta.iot.common.v1.AssetOwner.
64
+ * Use `create(AssetOwnerSchema)` to create a new message.
65
+ */
66
+ export declare const AssetOwnerSchema: GenMessage<AssetOwner>;
67
+
13
68
  /**
14
69
  * @generated from message kusinta.iot.common.v1.ErrorDetail
15
70
  */
@@ -36,6 +91,37 @@ export declare type ErrorDetail = Message<"kusinta.iot.common.v1.ErrorDetail"> &
36
91
  */
37
92
  export declare const ErrorDetailSchema: GenMessage<ErrorDetail>;
38
93
 
94
+ /**
95
+ * A connector's backend health, as both legs carry it: connector to gateway inside
96
+ * connector.v1.BackendHealthReport, and gateway to app on webrtc.v1.ConnectorDescriptor.
97
+ *
98
+ * Deliberately state and category only. A connector's free-text detail travels beside this,
99
+ * on the connector leg alone, and is for the gateway's logs: it may name hosts, addresses or
100
+ * accounts, and it never reaches the app or the cloud. Carrying only this type on the app
101
+ * leg is what keeps it there.
102
+ *
103
+ * @generated from message kusinta.iot.common.v1.BackendHealth
104
+ */
105
+ export declare type BackendHealth = Message<"kusinta.iot.common.v1.BackendHealth"> & {
106
+ /**
107
+ * @generated from field: kusinta.iot.common.v1.BackendHealthState state = 1;
108
+ */
109
+ state: BackendHealthState;
110
+
111
+ /**
112
+ * Why, when state is FAILING. UNSPECIFIED otherwise, and ignored when state is not FAILING.
113
+ *
114
+ * @generated from field: kusinta.iot.common.v1.BackendFailureReason reason = 2;
115
+ */
116
+ reason: BackendFailureReason;
117
+ };
118
+
119
+ /**
120
+ * Describes the message kusinta.iot.common.v1.BackendHealth.
121
+ * Use `create(BackendHealthSchema)` to create a new message.
122
+ */
123
+ export declare const BackendHealthSchema: GenMessage<BackendHealth>;
124
+
39
125
  /**
40
126
  * @generated from enum kusinta.iot.common.v1.SpaceType
41
127
  */
@@ -77,6 +163,11 @@ export enum SpaceType {
77
163
  export declare const SpaceTypeSchema: GenEnum<SpaceType>;
78
164
 
79
165
  /**
166
+ * Whether a person owns a device outright. COMPANY: no person does; it is one of the
167
+ * building's own devices. RESIDENT: a person does (device.v1.DeviceDescriptor.owner_user_id),
168
+ * for a device of their own that they may take with them. Who paid for one of the
169
+ * building's own devices is a separate question, answered by AssetOwner.
170
+ *
80
171
  * @generated from enum kusinta.iot.common.v1.DeviceOwnershipType
81
172
  */
82
173
  export enum DeviceOwnershipType {
@@ -161,3 +252,147 @@ export enum ConnectorTransport {
161
252
  */
162
253
  export declare const ConnectorTransportSchema: GenEnum<ConnectorTransport>;
163
254
 
255
+ /**
256
+ * What technology a connector speaks, for an interface to pick an icon or an
257
+ * explanatory phrase. Presentation only, and never a behaviour gate: what a
258
+ * connector can do is stated by the capability booleans on ConnectorInfo
259
+ * (supports_pairing, supports_provisioning, brokers_links), and branching on the
260
+ * kind instead would hardcode vendor knowledge and force a client change for every
261
+ * new technology. A proto3 open enum: a reader given a value its schema predates
262
+ * keeps UNSPECIFIED's fallback rather than failing, which is exactly why the kind
263
+ * may never decide anything that matters.
264
+ *
265
+ * @generated from enum kusinta.iot.common.v1.ConnectorKind
266
+ */
267
+ export enum ConnectorKind {
268
+ /**
269
+ * @generated from enum value: CONNECTOR_KIND_UNSPECIFIED = 0;
270
+ */
271
+ UNSPECIFIED = 0,
272
+
273
+ /**
274
+ * @generated from enum value: CONNECTOR_KIND_HOMEMATIC_IP = 1;
275
+ */
276
+ HOMEMATIC_IP = 1,
277
+
278
+ /**
279
+ * @generated from enum value: CONNECTOR_KIND_LORAWAN = 2;
280
+ */
281
+ LORAWAN = 2,
282
+ }
283
+
284
+ /**
285
+ * Describes the enum kusinta.iot.common.v1.ConnectorKind.
286
+ */
287
+ export declare const ConnectorKindSchema: GenEnum<ConnectorKind>;
288
+
289
+ /**
290
+ * Whether the backend a connector drives is working: the radio central, the network server,
291
+ * whatever the connector talks to on the far side from the gateway. Distinct from whether
292
+ * the connector itself is connected — that is the gateway↔connector stream, and a connector
293
+ * whose stream is down states nothing at all.
294
+ *
295
+ * Open, like every proto3 enum: a reader given a value its schema predates holds the number.
296
+ * Every reader treats anything but FAILING as healthy, so a state added later must be one an
297
+ * older reader may safely take for OK. A new way of failing is a new BackendFailureReason
298
+ * under FAILING, never a new state.
299
+ *
300
+ * @generated from enum kusinta.iot.common.v1.BackendHealthState
301
+ */
302
+ export enum BackendHealthState {
303
+ /**
304
+ * No statement. Read as OK: a connector that predates backend health, or one whose backend
305
+ * is still in doubt as it handshakes (see connector.v1.BackendHealthReport), has said
306
+ * nothing is wrong.
307
+ *
308
+ * @generated from enum value: BACKEND_HEALTH_STATE_UNSPECIFIED = 0;
309
+ */
310
+ UNSPECIFIED = 0,
311
+
312
+ /**
313
+ * The backend is reachable and answering.
314
+ *
315
+ * @generated from enum value: BACKEND_HEALTH_STATE_OK = 1;
316
+ */
317
+ OK = 1,
318
+
319
+ /**
320
+ * The backend is failing, and not for a single dropped call: it has been in doubt for 60
321
+ * seconds within the last 120 (see connector.v1.BackendHealthReport), or the connector's own
322
+ * retries are used up, or a requested re-initialisation
323
+ * left it failing (see connector.v1.BackendHealthReport). The connector stays connected to
324
+ * the gateway.
325
+ *
326
+ * @generated from enum value: BACKEND_HEALTH_STATE_FAILING = 2;
327
+ */
328
+ FAILING = 2,
329
+ }
330
+
331
+ /**
332
+ * Describes the enum kusinta.iot.common.v1.BackendHealthState.
333
+ */
334
+ export declare const BackendHealthStateSchema: GenEnum<BackendHealthState>;
335
+
336
+ /**
337
+ * Why a backend is failing, or why a re-initialisation could not be attempted. Coarse on
338
+ * purpose: each value answers "what should someone do now?", and the specifics belong in a
339
+ * connector's log-only detail, never here.
340
+ *
341
+ * Shared rather than mirrored, for the reason PairingError gives: the connector produces it
342
+ * and the gateway passes it through unchanged.
343
+ *
344
+ * @generated from enum kusinta.iot.common.v1.BackendFailureReason
345
+ */
346
+ export enum BackendFailureReason {
347
+ /**
348
+ * Not stated, or a value this reader's schema does not know. Read as BACKEND_ERROR.
349
+ *
350
+ * @generated from enum value: BACKEND_FAILURE_REASON_UNSPECIFIED = 0;
351
+ */
352
+ UNSPECIFIED = 0,
353
+
354
+ /**
355
+ * The backend cannot be reached: no route, connection refused, no answer. Often a power or
356
+ * network fault at the backend's side; a re-initialisation may help once that is fixed.
357
+ *
358
+ * @generated from enum value: BACKEND_FAILURE_REASON_UNREACHABLE = 1;
359
+ */
360
+ UNREACHABLE = 1,
361
+
362
+ /**
363
+ * The backend answered and refused the connector's credentials. Retrying the same
364
+ * credentials will not help; someone must change them.
365
+ *
366
+ * @generated from enum value: BACKEND_FAILURE_REASON_AUTH_FAILED = 2;
367
+ */
368
+ AUTH_FAILED = 2,
369
+
370
+ /**
371
+ * The backend is reached and authenticated, but answers with errors or not as the connector
372
+ * expects: a fault on the backend's side, or a version the connector does not understand.
373
+ *
374
+ * @generated from enum value: BACKEND_FAILURE_REASON_BACKEND_ERROR = 3;
375
+ */
376
+ BACKEND_ERROR = 3,
377
+
378
+ /**
379
+ * The connector lacks what it needs to reach the backend at all: an address, credentials.
380
+ * Needs an installer, not a retry.
381
+ *
382
+ * @generated from enum value: BACKEND_FAILURE_REASON_MISCONFIGURED = 4;
383
+ */
384
+ MISCONFIGURED = 4,
385
+
386
+ /**
387
+ * A fault in the connector itself, not in the backend.
388
+ *
389
+ * @generated from enum value: BACKEND_FAILURE_REASON_INTERNAL = 5;
390
+ */
391
+ INTERNAL = 5,
392
+ }
393
+
394
+ /**
395
+ * Describes the enum kusinta.iot.common.v1.BackendFailureReason.
396
+ */
397
+ export declare const BackendFailureReasonSchema: GenEnum<BackendFailureReason>;
398
+
@@ -3,19 +3,34 @@
3
3
  /* eslint-disable */
4
4
 
5
5
  import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
6
7
 
7
8
  /**
8
9
  * Describes the file kusinta/iot/common/v1/types.proto.
9
10
  */
10
11
  export const file_kusinta_iot_common_v1_types = /*@__PURE__*/
11
- fileDesc("CiFrdXNpbnRhL2lvdC9jb21tb24vdjEvdHlwZXMucHJvdG8SFWt1c2ludGEuaW90LmNvbW1vbi52MSKhAQoLRXJyb3JEZXRhaWwSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEkIKCG1ldGFkYXRhGAMgAygLMjAua3VzaW50YS5pb3QuY29tbW9uLnYxLkVycm9yRGV0YWlsLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBKqEBCglTcGFjZVR5cGUSGgoWU1BBQ0VfVFlQRV9VTlNQRUNJRklFRBAAEhcKE1NQQUNFX1RZUEVfQlVJTERJTkcQARIUChBTUEFDRV9UWVBFX0ZMT09SEAISGAoUU1BBQ0VfVFlQRV9BUEFSVE1FTlQQAxITCg9TUEFDRV9UWVBFX1JPT00QBBIaChZTUEFDRV9UWVBFX0NPTU1PTl9BUkVBEAUqgwEKE0RldmljZU93bmVyc2hpcFR5cGUSJQohREVWSUNFX09XTkVSU0hJUF9UWVBFX1VOU1BFQ0lGSUVEEAASIQodREVWSUNFX09XTkVSU0hJUF9UWVBFX0NPTVBBTlkQARIiCh5ERVZJQ0VfT1dORVJTSElQX1RZUEVfUkVTSURFTlQQAirhAQoURGV2aWNlTGlmZWN5Y2xlU3RhdGUSJgoiREVWSUNFX0xJRkVDWUNMRV9TVEFURV9VTlNQRUNJRklFRBAAEigKJERFVklDRV9MSUZFQ1lDTEVfU1RBVEVfUEVORElOR19DTEFJTRABEiAKHERFVklDRV9MSUZFQ1lDTEVfU1RBVEVfT1dORUQQAhIrCidERVZJQ0VfTElGRUNZQ0xFX1NUQVRFX1BFTkRJTkdfVFJBTlNGRVIQAxIoCiRERVZJQ0VfTElGRUNZQ0xFX1NUQVRFX0JVSUxESU5HX1BPT0wQBCqAAQoSQ29ubmVjdG9yVHJhbnNwb3J0EiMKH0NPTk5FQ1RPUl9UUkFOU1BPUlRfVU5TUEVDSUZJRUQQABIjCh9DT05ORUNUT1JfVFJBTlNQT1JUX1VOSVhfU09DS0VUEAESIAocQ09OTkVDVE9SX1RSQU5TUE9SVF9NVExTX1RDUBACQgJIAWIGcHJvdG8z");
12
+ fileDesc("CiFrdXNpbnRhL2lvdC9jb21tb24vdjEvdHlwZXMucHJvdG8SFWt1c2ludGEuaW90LmNvbW1vbi52MSJyCgpBc3NldE93bmVyEhwKEm93bmVyX29yZ2FuaXNhdGlvbhgBIAEoCEgAEj0KEWhvdXNlaG9sZF9ob21lX2lkGAIgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZEgAQgcKBW93bmVyIqEBCgtFcnJvckRldGFpbBIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSQgoIbWV0YWRhdGEYAyADKAsyMC5rdXNpbnRhLmlvdC5jb21tb24udjEuRXJyb3JEZXRhaWwuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEihgEKDUJhY2tlbmRIZWFsdGgSOAoFc3RhdGUYASABKA4yKS5rdXNpbnRhLmlvdC5jb21tb24udjEuQmFja2VuZEhlYWx0aFN0YXRlEjsKBnJlYXNvbhgCIAEoDjIrLmt1c2ludGEuaW90LmNvbW1vbi52MS5CYWNrZW5kRmFpbHVyZVJlYXNvbiqhAQoJU3BhY2VUeXBlEhoKFlNQQUNFX1RZUEVfVU5TUEVDSUZJRUQQABIXChNTUEFDRV9UWVBFX0JVSUxESU5HEAESFAoQU1BBQ0VfVFlQRV9GTE9PUhACEhgKFFNQQUNFX1RZUEVfQVBBUlRNRU5UEAMSEwoPU1BBQ0VfVFlQRV9ST09NEAQSGgoWU1BBQ0VfVFlQRV9DT01NT05fQVJFQRAFKoMBChNEZXZpY2VPd25lcnNoaXBUeXBlEiUKIURFVklDRV9PV05FUlNISVBfVFlQRV9VTlNQRUNJRklFRBAAEiEKHURFVklDRV9PV05FUlNISVBfVFlQRV9DT01QQU5ZEAESIgoeREVWSUNFX09XTkVSU0hJUF9UWVBFX1JFU0lERU5UEAIq4QEKFERldmljZUxpZmVjeWNsZVN0YXRlEiYKIkRFVklDRV9MSUZFQ1lDTEVfU1RBVEVfVU5TUEVDSUZJRUQQABIoCiRERVZJQ0VfTElGRUNZQ0xFX1NUQVRFX1BFTkRJTkdfQ0xBSU0QARIgChxERVZJQ0VfTElGRUNZQ0xFX1NUQVRFX09XTkVEEAISKwonREVWSUNFX0xJRkVDWUNMRV9TVEFURV9QRU5ESU5HX1RSQU5TRkVSEAMSKAokREVWSUNFX0xJRkVDWUNMRV9TVEFURV9CVUlMRElOR19QT09MEAQqgAEKEkNvbm5lY3RvclRyYW5zcG9ydBIjCh9DT05ORUNUT1JfVFJBTlNQT1JUX1VOU1BFQ0lGSUVEEAASIwofQ09OTkVDVE9SX1RSQU5TUE9SVF9VTklYX1NPQ0tFVBABEiAKHENPTk5FQ1RPUl9UUkFOU1BPUlRfTVRMU19UQ1AQAipsCg1Db25uZWN0b3JLaW5kEh4KGkNPTk5FQ1RPUl9LSU5EX1VOU1BFQ0lGSUVEEAASHwobQ09OTkVDVE9SX0tJTkRfSE9NRU1BVElDX0lQEAESGgoWQ09OTkVDVE9SX0tJTkRfTE9SQVdBThACKnkKEkJhY2tlbmRIZWFsdGhTdGF0ZRIkCiBCQUNLRU5EX0hFQUxUSF9TVEFURV9VTlNQRUNJRklFRBAAEhsKF0JBQ0tFTkRfSEVBTFRIX1NUQVRFX09LEAESIAocQkFDS0VORF9IRUFMVEhfU1RBVEVfRkFJTElORxACKocCChRCYWNrZW5kRmFpbHVyZVJlYXNvbhImCiJCQUNLRU5EX0ZBSUxVUkVfUkVBU09OX1VOU1BFQ0lGSUVEEAASJgoiQkFDS0VORF9GQUlMVVJFX1JFQVNPTl9VTlJFQUNIQUJMRRABEiYKIkJBQ0tFTkRfRkFJTFVSRV9SRUFTT05fQVVUSF9GQUlMRUQQAhIoCiRCQUNLRU5EX0ZBSUxVUkVfUkVBU09OX0JBQ0tFTkRfRVJST1IQAxIoCiRCQUNLRU5EX0ZBSUxVUkVfUkVBU09OX01JU0NPTkZJR1VSRUQQBBIjCh9CQUNLRU5EX0ZBSUxVUkVfUkVBU09OX0lOVEVSTkFMEAVCAkgBYgZwcm90bzM", [file_kusinta_iot_identity_v1_identity]);
13
+
14
+ /**
15
+ * Describes the message kusinta.iot.common.v1.AssetOwner.
16
+ * Use `create(AssetOwnerSchema)` to create a new message.
17
+ */
18
+ export const AssetOwnerSchema = /*@__PURE__*/
19
+ messageDesc(file_kusinta_iot_common_v1_types, 0);
12
20
 
13
21
  /**
14
22
  * Describes the message kusinta.iot.common.v1.ErrorDetail.
15
23
  * Use `create(ErrorDetailSchema)` to create a new message.
16
24
  */
17
25
  export const ErrorDetailSchema = /*@__PURE__*/
18
- messageDesc(file_kusinta_iot_common_v1_types, 0);
26
+ messageDesc(file_kusinta_iot_common_v1_types, 1);
27
+
28
+ /**
29
+ * Describes the message kusinta.iot.common.v1.BackendHealth.
30
+ * Use `create(BackendHealthSchema)` to create a new message.
31
+ */
32
+ export const BackendHealthSchema = /*@__PURE__*/
33
+ messageDesc(file_kusinta_iot_common_v1_types, 2);
19
34
 
20
35
  /**
21
36
  * Describes the enum kusinta.iot.common.v1.SpaceType.
@@ -36,6 +51,11 @@ export const DeviceOwnershipTypeSchema = /*@__PURE__*/
36
51
  enumDesc(file_kusinta_iot_common_v1_types, 1);
37
52
 
38
53
  /**
54
+ * Whether a person owns a device outright. COMPANY: no person does; it is one of the
55
+ * building's own devices. RESIDENT: a person does (device.v1.DeviceDescriptor.owner_user_id),
56
+ * for a device of their own that they may take with them. Who paid for one of the
57
+ * building's own devices is a separate question, answered by AssetOwner.
58
+ *
39
59
  * @generated from enum kusinta.iot.common.v1.DeviceOwnershipType
40
60
  */
41
61
  export const DeviceOwnershipType = /*@__PURE__*/
@@ -65,3 +85,65 @@ export const ConnectorTransportSchema = /*@__PURE__*/
65
85
  export const ConnectorTransport = /*@__PURE__*/
66
86
  tsEnum(ConnectorTransportSchema);
67
87
 
88
+ /**
89
+ * Describes the enum kusinta.iot.common.v1.ConnectorKind.
90
+ */
91
+ export const ConnectorKindSchema = /*@__PURE__*/
92
+ enumDesc(file_kusinta_iot_common_v1_types, 4);
93
+
94
+ /**
95
+ * What technology a connector speaks, for an interface to pick an icon or an
96
+ * explanatory phrase. Presentation only, and never a behaviour gate: what a
97
+ * connector can do is stated by the capability booleans on ConnectorInfo
98
+ * (supports_pairing, supports_provisioning, brokers_links), and branching on the
99
+ * kind instead would hardcode vendor knowledge and force a client change for every
100
+ * new technology. A proto3 open enum: a reader given a value its schema predates
101
+ * keeps UNSPECIFIED's fallback rather than failing, which is exactly why the kind
102
+ * may never decide anything that matters.
103
+ *
104
+ * @generated from enum kusinta.iot.common.v1.ConnectorKind
105
+ */
106
+ export const ConnectorKind = /*@__PURE__*/
107
+ tsEnum(ConnectorKindSchema);
108
+
109
+ /**
110
+ * Describes the enum kusinta.iot.common.v1.BackendHealthState.
111
+ */
112
+ export const BackendHealthStateSchema = /*@__PURE__*/
113
+ enumDesc(file_kusinta_iot_common_v1_types, 5);
114
+
115
+ /**
116
+ * Whether the backend a connector drives is working: the radio central, the network server,
117
+ * whatever the connector talks to on the far side from the gateway. Distinct from whether
118
+ * the connector itself is connected — that is the gateway↔connector stream, and a connector
119
+ * whose stream is down states nothing at all.
120
+ *
121
+ * Open, like every proto3 enum: a reader given a value its schema predates holds the number.
122
+ * Every reader treats anything but FAILING as healthy, so a state added later must be one an
123
+ * older reader may safely take for OK. A new way of failing is a new BackendFailureReason
124
+ * under FAILING, never a new state.
125
+ *
126
+ * @generated from enum kusinta.iot.common.v1.BackendHealthState
127
+ */
128
+ export const BackendHealthState = /*@__PURE__*/
129
+ tsEnum(BackendHealthStateSchema);
130
+
131
+ /**
132
+ * Describes the enum kusinta.iot.common.v1.BackendFailureReason.
133
+ */
134
+ export const BackendFailureReasonSchema = /*@__PURE__*/
135
+ enumDesc(file_kusinta_iot_common_v1_types, 6);
136
+
137
+ /**
138
+ * Why a backend is failing, or why a re-initialisation could not be attempted. Coarse on
139
+ * purpose: each value answers "what should someone do now?", and the specifics belong in a
140
+ * connector's log-only detail, never here.
141
+ *
142
+ * Shared rather than mirrored, for the reason PairingError gives: the connector produces it
143
+ * and the gateway passes it through unchanged.
144
+ *
145
+ * @generated from enum kusinta.iot.common.v1.BackendFailureReason
146
+ */
147
+ export const BackendFailureReason = /*@__PURE__*/
148
+ tsEnum(BackendFailureReasonSchema);
149
+