@kusinta/iot-schema 0.2.0-beta.4 → 0.2.0-beta.41

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