@kusinta/iot-schema 0.2.0-beta.6 → 0.2.0-beta.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +44 -29
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +146 -2
- package/src/kusinta/iot/access/v1/acl_pb.js +19 -2
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +160 -4
- package/src/kusinta/iot/access/v1/roles_pb.js +128 -5
- package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +591 -0
- package/src/kusinta/iot/accountlink/v1/account_link_pb.js +160 -0
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +1695 -0
- package/src/kusinta/iot/climate/v1/climate_pb.js +292 -0
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1643 -0
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +339 -0
- package/src/kusinta/iot/common/v1/pairing_pb.d.ts +24 -4
- package/src/kusinta/iot/common/v1/pairing_pb.js +1 -1
- package/src/kusinta/iot/common/v1/types_pb.d.ts +235 -0
- package/src/kusinta/iot/common/v1/types_pb.js +84 -2
- package/src/kusinta/iot/connector/v1/connector_pb.d.ts +713 -3
- package/src/kusinta/iot/connector/v1/connector_pb.js +107 -16
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +213 -1
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +32 -4
- package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
- package/src/kusinta/iot/device/v1/device_event_pb.d.ts +89 -5
- package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
- package/src/kusinta/iot/device/v1/device_pb.d.ts +444 -11
- package/src/kusinta/iot/device/v1/device_pb.js +74 -2
- package/src/kusinta/iot/device/v1/properties_pb.d.ts +26 -5
- package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
- package/src/kusinta/iot/device/v1/property_update_pb.d.ts +46 -2
- package/src/kusinta/iot/device/v1/property_update_pb.js +2 -1
- package/src/kusinta/iot/heating/v1/heating_pb.d.ts +659 -0
- package/src/kusinta/iot/heating/v1/heating_pb.js +119 -0
- package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
- package/src/kusinta/iot/link/v1/link_pb.js +121 -0
- package/src/kusinta/iot/planning/v1/planning_pb.d.ts +199 -0
- package/src/kusinta/iot/planning/v1/planning_pb.js +48 -0
- package/src/kusinta/iot/planning/v1/planning_service_pb.d.ts +121 -0
- package/src/kusinta/iot/planning/v1/planning_service_pb.js +38 -0
- package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
- package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
- package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1263 -0
- package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
- package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
- package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +939 -7
- package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
- package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
- package/src/kusinta/iot/space/v1/space_pb.d.ts +218 -3
- package/src/kusinta/iot/space/v1/space_pb.js +25 -2
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +15 -0
- package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -1
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
- package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +5 -4
- package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +5 -4
- package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
- package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
- package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
- package/src/kusinta/iot/webrtc/v1/device_state_pb.js +34 -5
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +603 -13
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +61 -4
- package/src/kusinta/iot/webrtc/v1/household_pb.d.ts +613 -0
- package/src/kusinta/iot/webrtc/v1/household_pb.js +134 -0
- package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +502 -0
- package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +2595 -75
- package/src/kusinta/iot/webrtc/v1/management_pb.js +382 -5
- package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +582 -0
- package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
- package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +9 -1
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
// @generated from file kusinta/iot/connector/v1/connector.proto (package kusinta.iot.connector.v1, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
|
-
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
5
|
+
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
6
6
|
import type { Message } from "@bufbuild/protobuf";
|
|
7
7
|
import type { ConnectorId, DeviceId, GatewayId } from "../../identity/v1/identity_pb.js";
|
|
8
|
-
import type { ConnectorTransport } from "../../common/v1/types_pb.js";
|
|
9
|
-
import type {
|
|
8
|
+
import type { BackendFailureReason, BackendHealth, ConnectorKind, ConnectorTransport } from "../../common/v1/types_pb.js";
|
|
9
|
+
import type { LinkedService } from "../../accountlink/v1/account_link_pb.js";
|
|
10
10
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
11
|
+
import type { Device } from "../../device/v1/device_pb.js";
|
|
12
|
+
import type { DeviceLink, LinkFunction, LinkState } from "../../link/v1/link_pb.js";
|
|
11
13
|
import type { AttributeWriteRequest, CommandError, DeviceCommand } from "../../webrtc/v1/command_pb.js";
|
|
12
14
|
import type { PairingErrorDetail, PairingWindow } from "../../common/v1/pairing_pb.js";
|
|
13
15
|
import type { PropertyUpdateBatch } from "../../device/v1/property_update_pb.js";
|
|
@@ -28,6 +30,10 @@ export declare type ConnectorInfo = Message<"kusinta.iot.connector.v1.ConnectorI
|
|
|
28
30
|
connectorId?: ConnectorId | undefined;
|
|
29
31
|
|
|
30
32
|
/**
|
|
33
|
+
* User-facing and free-form — "HomeMatic hub", "LoRaWAN". An interface may show
|
|
34
|
+
* it; nothing ever matches on it. connector_id is the routing key; this is only
|
|
35
|
+
* a label for a person.
|
|
36
|
+
*
|
|
31
37
|
* @generated from field: string display_name = 2;
|
|
32
38
|
*/
|
|
33
39
|
displayName: string;
|
|
@@ -53,6 +59,82 @@ export declare type ConnectorInfo = Message<"kusinta.iot.connector.v1.ConnectorI
|
|
|
53
59
|
* @generated from field: repeated uint32 supported_device_type_ids = 6;
|
|
54
60
|
*/
|
|
55
61
|
supportedDeviceTypeIds: number[];
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The connector opens a radio window on request: the app may offer the pairing
|
|
65
|
+
* flow and target webrtc.v1.StartPairing.connector_id at it. A connector whose
|
|
66
|
+
* devices are registered rather than paired (see supports_provisioning) sets this
|
|
67
|
+
* false.
|
|
68
|
+
*
|
|
69
|
+
* @generated from field: bool supports_pairing = 7;
|
|
70
|
+
*/
|
|
71
|
+
supportsPairing: boolean;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The connector registers a device from credentials it is handed, rather than
|
|
75
|
+
* adopting one that joins during a window — the webrtc.v1.ProvisionDevice path.
|
|
76
|
+
* This is how the app knows to show a credential-entry flow instead of pairing,
|
|
77
|
+
* and ProvisionDevice.connector_id is targeted at a connector that declares it.
|
|
78
|
+
*
|
|
79
|
+
* @generated from field: bool supports_provisioning = 8;
|
|
80
|
+
*/
|
|
81
|
+
supportsProvisioning: boolean;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* The connector brokers device-to-device (hard) links: the link picker may offer
|
|
85
|
+
* them and can name the hub behind an otherwise-hidden candidate. Declared here
|
|
86
|
+
* rather than inferred from both devices reporting LINK_MODE_HARD, so it is a
|
|
87
|
+
* statement the connector makes rather than a guess the app assembles.
|
|
88
|
+
*
|
|
89
|
+
* @generated from field: bool brokers_links = 9;
|
|
90
|
+
*/
|
|
91
|
+
brokersLinks: boolean;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Presentation only — an icon or a phrase; see common.v1.ConnectorKind for why it
|
|
95
|
+
* never gates behaviour. Unset is CONNECTOR_KIND_UNSPECIFIED, a generic hub.
|
|
96
|
+
*
|
|
97
|
+
* @generated from field: kusinta.iot.common.v1.ConnectorKind kind = 10;
|
|
98
|
+
*/
|
|
99
|
+
kind: ConnectorKind;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Installer or operator detail — where the hub is, which building leg it serves.
|
|
103
|
+
* Kept off connector_id, whose identity contract routing depends on, and off
|
|
104
|
+
* display_name, which is the short label. Free-form, for a person; never matched
|
|
105
|
+
* on.
|
|
106
|
+
*
|
|
107
|
+
* @generated from field: string description = 11;
|
|
108
|
+
*/
|
|
109
|
+
description: string;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* The connector answers ReinitializeBackend: it can drop and re-establish its connection
|
|
113
|
+
* to its backend on request. The gateway sends ReinitializeBackend only to a connector
|
|
114
|
+
* that declares this, and refuses a reconnect for any other without asking it — a
|
|
115
|
+
* connector whose schema predates the message would ignore it, and the gateway would wait
|
|
116
|
+
* out its deadline for nothing.
|
|
117
|
+
*
|
|
118
|
+
* @generated from field: bool supports_backend_reinitialize = 12;
|
|
119
|
+
*/
|
|
120
|
+
supportsBackendReinitialize: boolean;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* The linked services (accountlink.v1) whose accounts this connector reads devices from,
|
|
124
|
+
* with access tokens the gateway hands it (CredentialsUpdate). Declaring a service asks
|
|
125
|
+
* for its tokens; it does not earn them. The gateway sends a service's tokens only to a
|
|
126
|
+
* connector_id it trusts for that service, only after accepting its handshake, and to
|
|
127
|
+
* one live session at a time: a second session claiming the same service gets none, and
|
|
128
|
+
* a session that ends loses its links with it. Trust is the gateway's own setting, made
|
|
129
|
+
* by its administrators, naming the connector_id per service; with none made for a
|
|
130
|
+
* service, the gateway sends its tokens to no connector. A connector_id counts only on a
|
|
131
|
+
* session the gateway's transport authenticated as that connector (a local socket only
|
|
132
|
+
* the gateway's connectors can open, or mutual TLS); claimed in a handshake alone, it
|
|
133
|
+
* earns nothing.
|
|
134
|
+
*
|
|
135
|
+
* @generated from field: repeated kusinta.iot.accountlink.v1.LinkedService consumes_credentials = 13;
|
|
136
|
+
*/
|
|
137
|
+
consumesCredentials: LinkedService[];
|
|
56
138
|
};
|
|
57
139
|
|
|
58
140
|
/**
|
|
@@ -61,6 +143,116 @@ export declare type ConnectorInfo = Message<"kusinta.iot.connector.v1.ConnectorI
|
|
|
61
143
|
*/
|
|
62
144
|
export declare const ConnectorInfoSchema: GenMessage<ConnectorInfo>;
|
|
63
145
|
|
|
146
|
+
/**
|
|
147
|
+
* An access token for one account link (accountlink.v1): one home's grant at a third-party
|
|
148
|
+
* service, handed to the connector that reads that home's devices there. The gateway holds
|
|
149
|
+
* the token pair and refreshes it; only the short-lived access token crosses, never a
|
|
150
|
+
* refresh token or a client secret. Neither side writes it to disk or a log, nor puts it in
|
|
151
|
+
* BackendHealthReport.detail or an error message, and the connector sends it nowhere but
|
|
152
|
+
* in calls to that service's own API.
|
|
153
|
+
*
|
|
154
|
+
* Sent after every refresh, at least five minutes before the previous token's expires_at,
|
|
155
|
+
* and for a link made while the session is up. After a handshake, every live link arrives
|
|
156
|
+
* in one CredentialsSnapshot instead.
|
|
157
|
+
*
|
|
158
|
+
* Once expires_at plus 60 seconds of clock skew passes without a newer token, or the
|
|
159
|
+
* service refuses a live token as unauthorised (revoked at the service), the connector
|
|
160
|
+
* stops reading the link and reports the link's devices unreachable, the way it reports any
|
|
161
|
+
* unreachable device, until an update arrives. That is the link's state, not the backend's:
|
|
162
|
+
* it does not put the backend in doubt or report it failing, and a connector with no live
|
|
163
|
+
* link reports its backend OK.
|
|
164
|
+
*
|
|
165
|
+
* An update may carry another account's grant under the same id (the home linked again,
|
|
166
|
+
* replaced its link, or relinked after the old grant lapsed). The connector reads with it
|
|
167
|
+
* from then on and removes the link's devices the account no longer has (DeviceRemoval);
|
|
168
|
+
* the devices it still has keep their ids.
|
|
169
|
+
*
|
|
170
|
+
* @generated from message kusinta.iot.connector.v1.CredentialsUpdate
|
|
171
|
+
*/
|
|
172
|
+
export declare type CredentialsUpdate = Message<"kusinta.iot.connector.v1.CredentialsUpdate"> & {
|
|
173
|
+
/**
|
|
174
|
+
* Opaque; it names no home, person or account. Stable for one home and service for as
|
|
175
|
+
* long as the home has that service linked: replacing the link, relinking after it
|
|
176
|
+
* needed relinking, or a cancelled replacement arrives as an update under the same id, so
|
|
177
|
+
* a device read through it keeps its id and its history. A link made after the old one
|
|
178
|
+
* ended (unlinked, or the home handed over or wiped) has a new id, so nothing of the
|
|
179
|
+
* previous household's carries over. The gateway revokes a replaced
|
|
180
|
+
* grant at the service itself. A device read through two links, as when two homes link
|
|
181
|
+
* one account, has a distinct id per link. Not related to a device link's id
|
|
182
|
+
* (CreateLink).
|
|
183
|
+
*
|
|
184
|
+
* @generated from field: string account_link_id = 1;
|
|
185
|
+
*/
|
|
186
|
+
accountLinkId: string;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* @generated from field: kusinta.iot.accountlink.v1.LinkedService service = 2;
|
|
190
|
+
*/
|
|
191
|
+
service: LinkedService;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @generated from field: string access_token = 3;
|
|
195
|
+
*/
|
|
196
|
+
accessToken: string;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Always set. When the service states no lifetime, the gateway states one of at most an
|
|
200
|
+
* hour.
|
|
201
|
+
*
|
|
202
|
+
* @generated from field: google.protobuf.Timestamp expires_at = 4;
|
|
203
|
+
*/
|
|
204
|
+
expiresAt?: Timestamp | undefined;
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Describes the message kusinta.iot.connector.v1.CredentialsUpdate.
|
|
209
|
+
* Use `create(CredentialsUpdateSchema)` to create a new message.
|
|
210
|
+
*/
|
|
211
|
+
export declare const CredentialsUpdateSchema: GenMessage<CredentialsUpdate>;
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Every live account link for the services this connector declares, sent once after each
|
|
215
|
+
* accepted handshake and before any CredentialsUpdate on that session. Empty when there
|
|
216
|
+
* are none. The connector drops every link it knows that is not listed, removing its
|
|
217
|
+
* devices (DeviceRemoval), so a link that ended while the connector was away does not
|
|
218
|
+
* survive the reconnect.
|
|
219
|
+
*
|
|
220
|
+
* @generated from message kusinta.iot.connector.v1.CredentialsSnapshot
|
|
221
|
+
*/
|
|
222
|
+
export declare type CredentialsSnapshot = Message<"kusinta.iot.connector.v1.CredentialsSnapshot"> & {
|
|
223
|
+
/**
|
|
224
|
+
* @generated from field: repeated kusinta.iot.connector.v1.CredentialsUpdate links = 1;
|
|
225
|
+
*/
|
|
226
|
+
links: CredentialsUpdate[];
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Describes the message kusinta.iot.connector.v1.CredentialsSnapshot.
|
|
231
|
+
* Use `create(CredentialsSnapshotSchema)` to create a new message.
|
|
232
|
+
*/
|
|
233
|
+
export declare const CredentialsSnapshotSchema: GenMessage<CredentialsSnapshot>;
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* An account link ended: unlinked, its home handed over, or wiped. Not sent for a
|
|
237
|
+
* replacement, which is an update under the same id. Sent before the gateway revokes the
|
|
238
|
+
* grant at the service. The connector drops the token at once, stops
|
|
239
|
+
* reading the link and removes its devices (DeviceRemoval).
|
|
240
|
+
*
|
|
241
|
+
* @generated from message kusinta.iot.connector.v1.CredentialsRevoked
|
|
242
|
+
*/
|
|
243
|
+
export declare type CredentialsRevoked = Message<"kusinta.iot.connector.v1.CredentialsRevoked"> & {
|
|
244
|
+
/**
|
|
245
|
+
* @generated from field: string account_link_id = 1;
|
|
246
|
+
*/
|
|
247
|
+
accountLinkId: string;
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Describes the message kusinta.iot.connector.v1.CredentialsRevoked.
|
|
252
|
+
* Use `create(CredentialsRevokedSchema)` to create a new message.
|
|
253
|
+
*/
|
|
254
|
+
export declare const CredentialsRevokedSchema: GenMessage<CredentialsRevoked>;
|
|
255
|
+
|
|
64
256
|
/**
|
|
65
257
|
* @generated from message kusinta.iot.connector.v1.ConnectorHandshake
|
|
66
258
|
*/
|
|
@@ -74,6 +266,62 @@ export declare type ConnectorHandshake = Message<"kusinta.iot.connector.v1.Conne
|
|
|
74
266
|
* @generated from field: repeated kusinta.iot.device.v1.Device known_devices = 2;
|
|
75
267
|
*/
|
|
76
268
|
knownDevices: Device[];
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Every link the hub currently holds, reported the way known_devices is.
|
|
272
|
+
*
|
|
273
|
+
* Links are hub state, not gateway state: they outlive a connector restart and
|
|
274
|
+
* can be changed by anyone with access to the hub. The gateway's records are a
|
|
275
|
+
* statement of intent that can drift, so the handshake is the moment to
|
|
276
|
+
* reconcile them against what is really there. A link in the gateway's records
|
|
277
|
+
* and not here has gone; one here and not in the records was made elsewhere.
|
|
278
|
+
*
|
|
279
|
+
* Empty means "states nothing" — a connector that does not model linking is not
|
|
280
|
+
* asserting that no links exist.
|
|
281
|
+
*
|
|
282
|
+
* @generated from field: repeated kusinta.iot.link.v1.DeviceLink known_links = 3;
|
|
283
|
+
*/
|
|
284
|
+
knownLinks: DeviceLink[];
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* The backend's health as the connector handshakes, so the gateway starts every session
|
|
288
|
+
* from the current state rather than from whatever it held before the stream dropped.
|
|
289
|
+
* From then on, changes arrive as BackendHealthReport on the session.
|
|
290
|
+
*
|
|
291
|
+
* Unset states nothing, and the gateway reads it as OK: a connector that predates backend
|
|
292
|
+
* health never sends it, and is never taken to be failing. A connector whose backend has
|
|
293
|
+
* not answered a call since it connected to the gateway — its backend is still in
|
|
294
|
+
* doubt — leaves it unset, or states FAILING only where BackendHealthReport's rules for
|
|
295
|
+
* FAILING already hold; never OK.
|
|
296
|
+
*
|
|
297
|
+
* After connecting to a gateway that sets HandshakeAck.supports_backend_health, a
|
|
298
|
+
* connector that reports backend health follows the rules on BackendHealthReport: its
|
|
299
|
+
* backend is in doubt from connecting to the gateway until it first answers, so the
|
|
300
|
+
* connector states OK (once it has answered) or FAILING within 60 seconds, here or in a
|
|
301
|
+
* BackendHealthReport, reports none of its devices as unreachable while its backend is in
|
|
302
|
+
* doubt, and re-reports them once it is not, as BackendHealthReport says. Toward a gateway
|
|
303
|
+
* that does not set it, none of those rules applies: the connector reports its devices as
|
|
304
|
+
* it did before backend health existed.
|
|
305
|
+
*
|
|
306
|
+
* Safe to set whatever the gateway: the handshake goes before the connector knows which
|
|
307
|
+
* gateway it reached, and a gateway that predates backend health skips the field as
|
|
308
|
+
* unknown. Everything after the handshake waits for HandshakeAck.supports_backend_health.
|
|
309
|
+
*
|
|
310
|
+
* @generated from field: kusinta.iot.connector.v1.BackendHealthReport backend_health = 4;
|
|
311
|
+
*/
|
|
312
|
+
backendHealth?: BackendHealthReport | undefined;
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* For each device in known_devices read through an account link, that link's
|
|
316
|
+
* account_link_id, keyed by the device's id: the handshake's form of
|
|
317
|
+
* DeviceAnnouncement.account_link_id, so a reconnecting connector's linked devices are
|
|
318
|
+
* filed in their homes again. A known device absent here is read through no link. The
|
|
319
|
+
* map only restores a filing the gateway already recorded for that device and link, and
|
|
320
|
+
* only for a link it is sending this session; it never files a device anew.
|
|
321
|
+
*
|
|
322
|
+
* @generated from field: map<string, string> known_device_account_links = 5;
|
|
323
|
+
*/
|
|
324
|
+
knownDeviceAccountLinks: { [key: string]: string };
|
|
77
325
|
};
|
|
78
326
|
|
|
79
327
|
/**
|
|
@@ -82,6 +330,319 @@ export declare type ConnectorHandshake = Message<"kusinta.iot.connector.v1.Conne
|
|
|
82
330
|
*/
|
|
83
331
|
export declare const ConnectorHandshakeSchema: GenMessage<ConnectorHandshake>;
|
|
84
332
|
|
|
333
|
+
/**
|
|
334
|
+
* The health of the backend the connector drives, connector to gateway: whether the radio
|
|
335
|
+
* central or network server behind it is working. See common.v1.BackendHealth.
|
|
336
|
+
*
|
|
337
|
+
* Sent on the session only to a gateway that sets HandshakeAck.supports_backend_health; the
|
|
338
|
+
* handshake's ConnectorHandshake.backend_health is set whatever the gateway, since the ack is
|
|
339
|
+
* not yet known. To a gateway that does not set it — one that predates backend health — the
|
|
340
|
+
* connector sends neither this on the session nor
|
|
341
|
+
* ReinitializeBackendResult, and keeps working as it did before: its backend failing is
|
|
342
|
+
* then only in its own logs.
|
|
343
|
+
*
|
|
344
|
+
* Sent in the handshake (ConnectorHandshake.backend_health), then whenever state or reason
|
|
345
|
+
* changes, and once after every requested re-initialisation (ReinitializeBackend) it
|
|
346
|
+
* attempts, changed or not, before the
|
|
347
|
+
* result that answers it. Not sent for a change of detail alone. Each report replaces the
|
|
348
|
+
* last.
|
|
349
|
+
*
|
|
350
|
+
* The connector's backend is in doubt from when the connector connects to the gateway (each
|
|
351
|
+
* session, whether or not the backend kept answering meanwhile), from any failed call
|
|
352
|
+
* to the backend, and from a re-initialisation the connector attempts, until the backend
|
|
353
|
+
* answers a call again; OK
|
|
354
|
+
* is stated only once it has. While it is in doubt the
|
|
355
|
+
* connector reports none of its devices as unreachable, by whatever its technology uses to
|
|
356
|
+
* say so: a device it cannot reach then may be the backend's fault. The gateway applies no
|
|
357
|
+
* debounce of its own, so the connector never reports FAILING for a single failed call: it
|
|
358
|
+
* reports FAILING once its backend has been in doubt for 60 seconds in all within the last
|
|
359
|
+
* 120 — so a backend that hangs, or answers only now and then, reaches it, and brief failures
|
|
360
|
+
* between answers do not — or sooner when its own
|
|
361
|
+
* retries are used up, with the reason of its latest failed call, or UNREACHABLE when none
|
|
362
|
+
* has failed yet. After a ReinitializeBackend it reports the attempt's true outcome at once,
|
|
363
|
+
* FAILING included, or OK, before the result: the request is the retry a person asked for.
|
|
364
|
+
* A backend outage the connector rides out within 60 seconds opens no problem, and what the
|
|
365
|
+
* backend then says of its devices is reported as it is.
|
|
366
|
+
*
|
|
367
|
+
* When its backend stops being in doubt, whatever started it, the connector reports, within
|
|
368
|
+
* 30 seconds, the current reachability of every device it knows, reachable ones included. If
|
|
369
|
+
* doubt comes back before it is done, it still reports the devices it knows to be reachable,
|
|
370
|
+
* and the rest once the doubt ends. The gateway closes
|
|
371
|
+
* a device's offline problem as recovered only on a report that the device is reachable —
|
|
372
|
+
* this one or any later one — never on silence; it closes for other reasons as reporting.v1
|
|
373
|
+
* says.
|
|
374
|
+
*
|
|
375
|
+
* The gateway raises reporting.v1.PROBLEM_KIND_CONNECTOR_ERROR for this connector while its
|
|
376
|
+
* stream is up and the latest report is FAILING, and clears it when one is anything else; a
|
|
377
|
+
* stream that drops closes it too, and the next handshake decides afresh (see reporting.v1).
|
|
378
|
+
* A connector that never sends one is OK throughout. CONNECTOR_OFFLINE is the other problem
|
|
379
|
+
* and is not this one: that is the stream to the gateway down, this is the stream up and
|
|
380
|
+
* the backend failing.
|
|
381
|
+
*
|
|
382
|
+
* @generated from message kusinta.iot.connector.v1.BackendHealthReport
|
|
383
|
+
*/
|
|
384
|
+
export declare type BackendHealthReport = Message<"kusinta.iot.connector.v1.BackendHealthReport"> & {
|
|
385
|
+
/**
|
|
386
|
+
* @generated from field: kusinta.iot.common.v1.BackendHealth health = 1;
|
|
387
|
+
*/
|
|
388
|
+
health?: BackendHealth | undefined;
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* What went wrong, in the connector's words — an error message, the host it could not
|
|
392
|
+
* reach. For the gateway's logs only. The gateway never forwards it: not to the app, not
|
|
393
|
+
* to the cloud, not into a problem report. Empty when there is nothing to add.
|
|
394
|
+
*
|
|
395
|
+
* @generated from field: string detail = 2;
|
|
396
|
+
*/
|
|
397
|
+
detail: string;
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Describes the message kusinta.iot.connector.v1.BackendHealthReport.
|
|
402
|
+
* Use `create(BackendHealthReportSchema)` to create a new message.
|
|
403
|
+
*/
|
|
404
|
+
export declare const BackendHealthReportSchema: GenMessage<BackendHealthReport>;
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Asks the connector to re-initialise its backend connection, gateway to connector: drop
|
|
408
|
+
* the connection to its radio central or network server and establish it again, as it would
|
|
409
|
+
* at startup. Sent only to a connector that declares
|
|
410
|
+
* ConnectorInfo.supports_backend_reinitialize.
|
|
411
|
+
*
|
|
412
|
+
* Idempotent. Re-initialising a healthy backend is harmless, and asking twice is the same as
|
|
413
|
+
* asking once: a ReinitializeBackend that arrives while one is running starts nothing new,
|
|
414
|
+
* and is answered with the running one's outcome when it finishes. The gateway sends at most
|
|
415
|
+
* one at a time per connector and refuses a second request from above while one is
|
|
416
|
+
* outstanding; the connector's coalescing covers the case where the gateway gave up waiting
|
|
417
|
+
* and asked again.
|
|
418
|
+
*
|
|
419
|
+
* Sent only by a gateway that sets HandshakeAck.supports_backend_health, so a connector
|
|
420
|
+
* that receives it may answer. Answered once, by ReinitializeBackendResult with the same
|
|
421
|
+
* request_id. The connector bounds its attempt so that it answers within 30 seconds of
|
|
422
|
+
* receiving this; the gateway waits at least 45 and at most 60 seconds before it treats the
|
|
423
|
+
* request as timed out. A result arriving after the gateway has given up is ignored, but the
|
|
424
|
+
* health report sent before it still applies.
|
|
425
|
+
*
|
|
426
|
+
* @generated from message kusinta.iot.connector.v1.ReinitializeBackend
|
|
427
|
+
*/
|
|
428
|
+
export declare type ReinitializeBackend = Message<"kusinta.iot.connector.v1.ReinitializeBackend"> & {
|
|
429
|
+
/**
|
|
430
|
+
* minted by the gateway, echoed in the result
|
|
431
|
+
*
|
|
432
|
+
* @generated from field: string request_id = 1;
|
|
433
|
+
*/
|
|
434
|
+
requestId: string;
|
|
435
|
+
};
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Describes the message kusinta.iot.connector.v1.ReinitializeBackend.
|
|
439
|
+
* Use `create(ReinitializeBackendSchema)` to create a new message.
|
|
440
|
+
*/
|
|
441
|
+
export declare const ReinitializeBackendSchema: GenMessage<ReinitializeBackend>;
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* What became of a ReinitializeBackend, connector to gateway.
|
|
445
|
+
*
|
|
446
|
+
* DONE means the attempt was made and has finished — not that it succeeded. Whether the
|
|
447
|
+
* backend works now is stated by the BackendHealthReport the connector sends after every
|
|
448
|
+
* attempt, before this result, so a gateway reading DONE already holds the outcome. Keeping
|
|
449
|
+
* the two apart means there is one place that says whether a backend is healthy, and a
|
|
450
|
+
* result cannot contradict it.
|
|
451
|
+
*
|
|
452
|
+
* @generated from message kusinta.iot.connector.v1.ReinitializeBackendResult
|
|
453
|
+
*/
|
|
454
|
+
export declare type ReinitializeBackendResult = Message<"kusinta.iot.connector.v1.ReinitializeBackendResult"> & {
|
|
455
|
+
/**
|
|
456
|
+
* @generated from field: string request_id = 1;
|
|
457
|
+
*/
|
|
458
|
+
requestId: string;
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* @generated from field: kusinta.iot.connector.v1.ReinitializeOutcome outcome = 2;
|
|
462
|
+
*/
|
|
463
|
+
outcome: ReinitializeOutcome;
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* Why it could not be attempted, when outcome is FAILED: MISCONFIGURED or INTERNAL.
|
|
467
|
+
* UNSPECIFIED otherwise. Never a failure found by attempting — rejected credentials, a
|
|
468
|
+
* backend that does not answer: the attempt was made, so the outcome is DONE and the
|
|
469
|
+
* health report before it says FAILING with AUTH_FAILED, UNREACHABLE or the like.
|
|
470
|
+
*
|
|
471
|
+
* @generated from field: kusinta.iot.common.v1.BackendFailureReason reason = 3;
|
|
472
|
+
*/
|
|
473
|
+
reason: BackendFailureReason;
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* For the gateway's logs only, as BackendHealthReport.detail; never forwarded.
|
|
477
|
+
*
|
|
478
|
+
* @generated from field: string detail = 4;
|
|
479
|
+
*/
|
|
480
|
+
detail: string;
|
|
481
|
+
};
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* Describes the message kusinta.iot.connector.v1.ReinitializeBackendResult.
|
|
485
|
+
* Use `create(ReinitializeBackendResultSchema)` to create a new message.
|
|
486
|
+
*/
|
|
487
|
+
export declare const ReinitializeBackendResultSchema: GenMessage<ReinitializeBackendResult>;
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* Asks the connector to make a link, gateway to connector.
|
|
491
|
+
*
|
|
492
|
+
* Names two devices and a function; resolving that into whatever set of
|
|
493
|
+
* underlying connections the hub needs is the connector's work. It is expected to
|
|
494
|
+
* build the set atomically and roll back a partial one, because a half-built set
|
|
495
|
+
* is a link that lists as healthy and carries nothing.
|
|
496
|
+
*
|
|
497
|
+
* The connector is also expected to repair whatever the operation disturbs. On at
|
|
498
|
+
* least one vendor, both making and removing a link leaves the receiving device
|
|
499
|
+
* in a state it was not in before, with settings that must be captured
|
|
500
|
+
* beforehand and put back after.
|
|
501
|
+
*
|
|
502
|
+
* @generated from message kusinta.iot.connector.v1.CreateLink
|
|
503
|
+
*/
|
|
504
|
+
export declare type CreateLink = Message<"kusinta.iot.connector.v1.CreateLink"> & {
|
|
505
|
+
/**
|
|
506
|
+
* assigned by the gateway, echoed in the result
|
|
507
|
+
*
|
|
508
|
+
* @generated from field: string link_id = 1;
|
|
509
|
+
*/
|
|
510
|
+
linkId: string;
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId sender = 2;
|
|
514
|
+
*/
|
|
515
|
+
sender?: DeviceId | undefined;
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId receiver = 3;
|
|
519
|
+
*/
|
|
520
|
+
receiver?: DeviceId | undefined;
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* @generated from field: kusinta.iot.link.v1.LinkFunction function = 4;
|
|
524
|
+
*/
|
|
525
|
+
function: LinkFunction;
|
|
526
|
+
};
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Describes the message kusinta.iot.connector.v1.CreateLink.
|
|
530
|
+
* Use `create(CreateLinkSchema)` to create a new message.
|
|
531
|
+
*/
|
|
532
|
+
export declare const CreateLinkSchema: GenMessage<CreateLink>;
|
|
533
|
+
|
|
534
|
+
/**
|
|
535
|
+
* Asks the connector to remove a link it previously made.
|
|
536
|
+
*
|
|
537
|
+
* @generated from message kusinta.iot.connector.v1.RemoveLink
|
|
538
|
+
*/
|
|
539
|
+
export declare type RemoveLink = Message<"kusinta.iot.connector.v1.RemoveLink"> & {
|
|
540
|
+
/**
|
|
541
|
+
* @generated from field: string link_id = 1;
|
|
542
|
+
*/
|
|
543
|
+
linkId: string;
|
|
544
|
+
|
|
545
|
+
/**
|
|
546
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId sender = 2;
|
|
547
|
+
*/
|
|
548
|
+
sender?: DeviceId | undefined;
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId receiver = 3;
|
|
552
|
+
*/
|
|
553
|
+
receiver?: DeviceId | undefined;
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* @generated from field: kusinta.iot.link.v1.LinkFunction function = 4;
|
|
557
|
+
*/
|
|
558
|
+
function: LinkFunction;
|
|
559
|
+
};
|
|
560
|
+
|
|
561
|
+
/**
|
|
562
|
+
* Describes the message kusinta.iot.connector.v1.RemoveLink.
|
|
563
|
+
* Use `create(RemoveLinkSchema)` to create a new message.
|
|
564
|
+
*/
|
|
565
|
+
export declare const RemoveLinkSchema: GenMessage<RemoveLink>;
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* Asks the connector what links the hub holds, for reconciliation outside a
|
|
569
|
+
* handshake.
|
|
570
|
+
*
|
|
571
|
+
* @generated from message kusinta.iot.connector.v1.ListLinks
|
|
572
|
+
*/
|
|
573
|
+
export declare type ListLinks = Message<"kusinta.iot.connector.v1.ListLinks"> & {
|
|
574
|
+
/**
|
|
575
|
+
* Unset asks for every link the hub holds.
|
|
576
|
+
*
|
|
577
|
+
* @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
|
|
578
|
+
*/
|
|
579
|
+
deviceId?: DeviceId | undefined;
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* Describes the message kusinta.iot.connector.v1.ListLinks.
|
|
584
|
+
* Use `create(ListLinksSchema)` to create a new message.
|
|
585
|
+
*/
|
|
586
|
+
export declare const ListLinksSchema: GenMessage<ListLinks>;
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* What became of a CreateLink or RemoveLink, connector to gateway.
|
|
590
|
+
*
|
|
591
|
+
* Reports the link's observed state rather than merely whether the call was
|
|
592
|
+
* accepted. A hub will report a link as present and healthy while the devices
|
|
593
|
+
* ignore it, so "the request did not fail" is not the same claim as "the link is
|
|
594
|
+
* carrying" and must not be encoded as though it were.
|
|
595
|
+
*
|
|
596
|
+
* @generated from message kusinta.iot.connector.v1.LinkResult
|
|
597
|
+
*/
|
|
598
|
+
export declare type LinkResult = Message<"kusinta.iot.connector.v1.LinkResult"> & {
|
|
599
|
+
/**
|
|
600
|
+
* @generated from field: string link_id = 1;
|
|
601
|
+
*/
|
|
602
|
+
linkId: string;
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* @generated from field: bool success = 2;
|
|
606
|
+
*/
|
|
607
|
+
success: boolean;
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* @generated from field: kusinta.iot.link.v1.LinkState state = 3;
|
|
611
|
+
*/
|
|
612
|
+
state: LinkState;
|
|
613
|
+
|
|
614
|
+
/**
|
|
615
|
+
* Why not, when success is false. For a person; never parsed.
|
|
616
|
+
*
|
|
617
|
+
* @generated from field: string detail = 4;
|
|
618
|
+
*/
|
|
619
|
+
detail: string;
|
|
620
|
+
};
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Describes the message kusinta.iot.connector.v1.LinkResult.
|
|
624
|
+
* Use `create(LinkResultSchema)` to create a new message.
|
|
625
|
+
*/
|
|
626
|
+
export declare const LinkResultSchema: GenMessage<LinkResult>;
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
* Every link the hub holds, connector to gateway, in reply to ListLinks.
|
|
630
|
+
*
|
|
631
|
+
* @generated from message kusinta.iot.connector.v1.LinksReported
|
|
632
|
+
*/
|
|
633
|
+
export declare type LinksReported = Message<"kusinta.iot.connector.v1.LinksReported"> & {
|
|
634
|
+
/**
|
|
635
|
+
* @generated from field: repeated kusinta.iot.link.v1.DeviceLink links = 1;
|
|
636
|
+
*/
|
|
637
|
+
links: DeviceLink[];
|
|
638
|
+
};
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
* Describes the message kusinta.iot.connector.v1.LinksReported.
|
|
642
|
+
* Use `create(LinksReportedSchema)` to create a new message.
|
|
643
|
+
*/
|
|
644
|
+
export declare const LinksReportedSchema: GenMessage<LinksReported>;
|
|
645
|
+
|
|
85
646
|
/**
|
|
86
647
|
* @generated from message kusinta.iot.connector.v1.HandshakeAck
|
|
87
648
|
*/
|
|
@@ -100,6 +661,25 @@ export declare type HandshakeAck = Message<"kusinta.iot.connector.v1.HandshakeAc
|
|
|
100
661
|
* @generated from field: kusinta.iot.identity.v1.GatewayId gateway_id = 3;
|
|
101
662
|
*/
|
|
102
663
|
gatewayId?: GatewayId | undefined;
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* The gateway understands BackendHealthReport and ReinitializeBackendResult. A connector
|
|
667
|
+
* sends either on the session only when this is set. Unset — a gateway that predates
|
|
668
|
+
* backend health — the connector sends neither and works as before; such a gateway never
|
|
669
|
+
* sends ReinitializeBackend.
|
|
670
|
+
*
|
|
671
|
+
* @generated from field: bool supports_backend_health = 4;
|
|
672
|
+
*/
|
|
673
|
+
supportsBackendHealth: boolean;
|
|
674
|
+
|
|
675
|
+
/**
|
|
676
|
+
* The gateway sends account link tokens (CredentialsSnapshot, CredentialsUpdate) to a
|
|
677
|
+
* connector that declares ConnectorInfo.consumes_credentials and that it trusts for the
|
|
678
|
+
* service. Unset, no token will arrive on this session; the connector reads no link.
|
|
679
|
+
*
|
|
680
|
+
* @generated from field: bool sends_credentials = 5;
|
|
681
|
+
*/
|
|
682
|
+
sendsCredentials: boolean;
|
|
103
683
|
};
|
|
104
684
|
|
|
105
685
|
/**
|
|
@@ -142,6 +722,19 @@ export declare type DeviceAnnouncement = Message<"kusinta.iot.connector.v1.Devic
|
|
|
142
722
|
* @generated from field: string pairing_request_id = 3;
|
|
143
723
|
*/
|
|
144
724
|
pairingRequestId: string;
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
* The account link (CredentialsUpdate) the device is read through, empty for a device
|
|
728
|
+
* that is not. The gateway files the device in that link's home and nowhere else, and
|
|
729
|
+
* accepts only an id it sent this session and has not revoked; a device naming any other
|
|
730
|
+
* is filed in no home, and the gateway logs the mismatch. A
|
|
731
|
+
* device read through two links, as when two homes link the same account, is announced
|
|
732
|
+
* once per link under distinct device ids, each in its own home; revoking one link
|
|
733
|
+
* removes only that link's.
|
|
734
|
+
*
|
|
735
|
+
* @generated from field: string account_link_id = 4;
|
|
736
|
+
*/
|
|
737
|
+
accountLinkId: string;
|
|
145
738
|
};
|
|
146
739
|
|
|
147
740
|
/**
|
|
@@ -521,6 +1114,32 @@ export declare type SessionRequest = Message<"kusinta.iot.connector.v1.SessionRe
|
|
|
521
1114
|
*/
|
|
522
1115
|
value: PairingModeEnded;
|
|
523
1116
|
case: "pairingModeEnded";
|
|
1117
|
+
} | {
|
|
1118
|
+
/**
|
|
1119
|
+
* @generated from field: kusinta.iot.connector.v1.LinkResult link_result = 12;
|
|
1120
|
+
*/
|
|
1121
|
+
value: LinkResult;
|
|
1122
|
+
case: "linkResult";
|
|
1123
|
+
} | {
|
|
1124
|
+
/**
|
|
1125
|
+
* @generated from field: kusinta.iot.connector.v1.LinksReported links_reported = 13;
|
|
1126
|
+
*/
|
|
1127
|
+
value: LinksReported;
|
|
1128
|
+
case: "linksReported";
|
|
1129
|
+
} | {
|
|
1130
|
+
/**
|
|
1131
|
+
* The backend's health; see BackendHealthReport.
|
|
1132
|
+
*
|
|
1133
|
+
* @generated from field: kusinta.iot.connector.v1.BackendHealthReport backend_health = 14;
|
|
1134
|
+
*/
|
|
1135
|
+
value: BackendHealthReport;
|
|
1136
|
+
case: "backendHealth";
|
|
1137
|
+
} | {
|
|
1138
|
+
/**
|
|
1139
|
+
* @generated from field: kusinta.iot.connector.v1.ReinitializeBackendResult reinitialize_backend_result = 15;
|
|
1140
|
+
*/
|
|
1141
|
+
value: ReinitializeBackendResult;
|
|
1142
|
+
case: "reinitializeBackendResult";
|
|
524
1143
|
} | { case: undefined; value?: undefined };
|
|
525
1144
|
};
|
|
526
1145
|
|
|
@@ -594,6 +1213,56 @@ export declare type SessionResponse = Message<"kusinta.iot.connector.v1.SessionR
|
|
|
594
1213
|
*/
|
|
595
1214
|
value: EnterPairingMode;
|
|
596
1215
|
case: "enterPairingMode";
|
|
1216
|
+
} | {
|
|
1217
|
+
/**
|
|
1218
|
+
* The link operations. Separate cases rather than one with a verb, so a
|
|
1219
|
+
* connector that models none of them fails to match rather than having to
|
|
1220
|
+
* decode a request it cannot serve.
|
|
1221
|
+
*
|
|
1222
|
+
* @generated from field: kusinta.iot.connector.v1.CreateLink create_link = 11;
|
|
1223
|
+
*/
|
|
1224
|
+
value: CreateLink;
|
|
1225
|
+
case: "createLink";
|
|
1226
|
+
} | {
|
|
1227
|
+
/**
|
|
1228
|
+
* @generated from field: kusinta.iot.connector.v1.RemoveLink remove_link = 12;
|
|
1229
|
+
*/
|
|
1230
|
+
value: RemoveLink;
|
|
1231
|
+
case: "removeLink";
|
|
1232
|
+
} | {
|
|
1233
|
+
/**
|
|
1234
|
+
* @generated from field: kusinta.iot.connector.v1.ListLinks list_links = 13;
|
|
1235
|
+
*/
|
|
1236
|
+
value: ListLinks;
|
|
1237
|
+
case: "listLinks";
|
|
1238
|
+
} | {
|
|
1239
|
+
/**
|
|
1240
|
+
* See ReinitializeBackend.
|
|
1241
|
+
*
|
|
1242
|
+
* @generated from field: kusinta.iot.connector.v1.ReinitializeBackend reinitialize_backend = 14;
|
|
1243
|
+
*/
|
|
1244
|
+
value: ReinitializeBackend;
|
|
1245
|
+
case: "reinitializeBackend";
|
|
1246
|
+
} | {
|
|
1247
|
+
/**
|
|
1248
|
+
* A linked account's access token, and its end; see CredentialsUpdate.
|
|
1249
|
+
*
|
|
1250
|
+
* @generated from field: kusinta.iot.connector.v1.CredentialsUpdate credentials_update = 15;
|
|
1251
|
+
*/
|
|
1252
|
+
value: CredentialsUpdate;
|
|
1253
|
+
case: "credentialsUpdate";
|
|
1254
|
+
} | {
|
|
1255
|
+
/**
|
|
1256
|
+
* @generated from field: kusinta.iot.connector.v1.CredentialsRevoked credentials_revoked = 16;
|
|
1257
|
+
*/
|
|
1258
|
+
value: CredentialsRevoked;
|
|
1259
|
+
case: "credentialsRevoked";
|
|
1260
|
+
} | {
|
|
1261
|
+
/**
|
|
1262
|
+
* @generated from field: kusinta.iot.connector.v1.CredentialsSnapshot credentials_snapshot = 17;
|
|
1263
|
+
*/
|
|
1264
|
+
value: CredentialsSnapshot;
|
|
1265
|
+
case: "credentialsSnapshot";
|
|
597
1266
|
} | { case: undefined; value?: undefined };
|
|
598
1267
|
};
|
|
599
1268
|
|
|
@@ -603,3 +1272,44 @@ export declare type SessionResponse = Message<"kusinta.iot.connector.v1.SessionR
|
|
|
603
1272
|
*/
|
|
604
1273
|
export declare const SessionResponseSchema: GenMessage<SessionResponse>;
|
|
605
1274
|
|
|
1275
|
+
/**
|
|
1276
|
+
* @generated from enum kusinta.iot.connector.v1.ReinitializeOutcome
|
|
1277
|
+
*/
|
|
1278
|
+
export enum ReinitializeOutcome {
|
|
1279
|
+
/**
|
|
1280
|
+
* Not stated, or a value this gateway's schema does not know. Read as FAILED.
|
|
1281
|
+
*
|
|
1282
|
+
* @generated from enum value: REINITIALIZE_OUTCOME_UNSPECIFIED = 0;
|
|
1283
|
+
*/
|
|
1284
|
+
UNSPECIFIED = 0,
|
|
1285
|
+
|
|
1286
|
+
/**
|
|
1287
|
+
* The connection was dropped and an attempt to establish it again has finished. Its
|
|
1288
|
+
* outcome is the BackendHealthReport sent just before.
|
|
1289
|
+
*
|
|
1290
|
+
* @generated from enum value: REINITIALIZE_OUTCOME_DONE = 1;
|
|
1291
|
+
*/
|
|
1292
|
+
DONE = 1,
|
|
1293
|
+
|
|
1294
|
+
/**
|
|
1295
|
+
* The connector could not attempt it at all — no configuration to reconnect with, a fault
|
|
1296
|
+
* of its own. Health is unchanged and no report precedes this.
|
|
1297
|
+
*
|
|
1298
|
+
* @generated from enum value: REINITIALIZE_OUTCOME_FAILED = 2;
|
|
1299
|
+
*/
|
|
1300
|
+
FAILED = 2,
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* The connector has no backend connection it can re-initialise. A connector that answers
|
|
1304
|
+
* this should not declare supports_backend_reinitialize, but the gateway must handle it.
|
|
1305
|
+
*
|
|
1306
|
+
* @generated from enum value: REINITIALIZE_OUTCOME_NOT_SUPPORTED = 3;
|
|
1307
|
+
*/
|
|
1308
|
+
NOT_SUPPORTED = 3,
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
/**
|
|
1312
|
+
* Describes the enum kusinta.iot.connector.v1.ReinitializeOutcome.
|
|
1313
|
+
*/
|
|
1314
|
+
export declare const ReinitializeOutcomeSchema: GenEnum<ReinitializeOutcome>;
|
|
1315
|
+
|