@kusinta/iot-schema 0.1.0-beta.7 → 0.2.0-beta.1

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 (54) hide show
  1. package/README.md +7 -0
  2. package/package.json +13 -2
  3. package/src/kusinta/iot/access/v1/acl_pb.d.ts +103 -14
  4. package/src/kusinta/iot/access/v1/acl_pb.js +14 -7
  5. package/src/kusinta/iot/access/v1/roles_pb.d.ts +28 -1
  6. package/src/kusinta/iot/access/v1/roles_pb.js +5 -1
  7. package/src/kusinta/iot/common/v1/types_pb.d.ts +1 -1
  8. package/src/kusinta/iot/common/v1/types_pb.js +1 -1
  9. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +70 -33
  10. package/src/kusinta/iot/connector/v1/connector_pb.js +17 -15
  11. package/src/kusinta/iot/connector/v1/connector_service_pb.d.ts +6 -6
  12. package/src/kusinta/iot/connector/v1/connector_service_pb.js +3 -3
  13. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +238 -0
  14. package/src/kusinta/iot/device/v1/cluster_state_pb.js +54 -0
  15. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +40 -11
  16. package/src/kusinta/iot/device/v1/descriptor_pb.js +5 -4
  17. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +162 -0
  18. package/src/kusinta/iot/device/v1/device_event_pb.js +45 -0
  19. package/src/kusinta/iot/device/v1/device_pb.d.ts +156 -30
  20. package/src/kusinta/iot/device/v1/device_pb.js +14 -6
  21. package/src/kusinta/iot/device/v1/matter_options_pb.d.ts +84 -0
  22. package/src/kusinta/iot/device/v1/matter_options_pb.js +91 -0
  23. package/src/kusinta/iot/device/v1/properties_pb.d.ts +229 -208
  24. package/src/kusinta/iot/device/v1/properties_pb.js +10 -2
  25. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +199 -10
  26. package/src/kusinta/iot/device/v1/property_update_pb.js +22 -4
  27. package/src/kusinta/iot/identity/v1/identity_pb.d.ts +1 -1
  28. package/src/kusinta/iot/identity/v1/identity_pb.js +1 -1
  29. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +170 -0
  30. package/src/kusinta/iot/registration/v1/registration_pb.js +61 -0
  31. package/src/kusinta/iot/registration/v1/registration_service_pb.d.ts +34 -0
  32. package/src/kusinta/iot/registration/v1/registration_service_pb.js +19 -0
  33. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +320 -0
  34. package/src/kusinta/iot/signaling/v1/signaling_pb.js +83 -0
  35. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +34 -0
  36. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +19 -0
  37. package/src/kusinta/iot/space/v1/space_pb.d.ts +3 -3
  38. package/src/kusinta/iot/space/v1/space_pb.js +3 -3
  39. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +66 -48
  40. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +9 -8
  41. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +50 -0
  42. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +53 -0
  43. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +152 -0
  44. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +28 -0
  45. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +271 -41
  46. package/src/kusinta/iot/webrtc/v1/command_pb.js +30 -4
  47. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +69 -6
  48. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +20 -5
  49. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +392 -23
  50. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +81 -11
  51. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +451 -0
  52. package/src/kusinta/iot/webrtc/v1/management_pb.js +106 -0
  53. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +10 -4
  54. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +3 -3
@@ -1,9 +1,9 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/connector/v1/connector_service.proto (package kusinta.iot.connector.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv2";
6
- import type { ConnectRequestSchema, ConnectResponseSchema } from "./connector_pb";
6
+ import type { SessionRequestSchema, SessionResponseSchema } from "./connector_pb.js";
7
7
 
8
8
  /**
9
9
  * Describes the file kusinta/iot/connector/v1/connector_service.proto.
@@ -18,12 +18,12 @@ export declare const file_kusinta_iot_connector_v1_connector_service: GenFile;
18
18
  */
19
19
  export declare const ConnectorGatewayService: GenService<{
20
20
  /**
21
- * @generated from rpc kusinta.iot.connector.v1.ConnectorGatewayService.Connect
21
+ * @generated from rpc kusinta.iot.connector.v1.ConnectorGatewayService.Session
22
22
  */
23
- connect: {
23
+ session: {
24
24
  methodKind: "bidi_streaming";
25
- input: typeof ConnectRequestSchema;
26
- output: typeof ConnectResponseSchema;
25
+ input: typeof SessionRequestSchema;
26
+ output: typeof SessionResponseSchema;
27
27
  },
28
28
  }>;
29
29
 
@@ -1,15 +1,15 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/connector/v1/connector_service.proto (package kusinta.iot.connector.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
6
- import { file_kusinta_iot_connector_v1_connector } from "./connector_pb";
6
+ import { file_kusinta_iot_connector_v1_connector } from "./connector_pb.js";
7
7
 
8
8
  /**
9
9
  * Describes the file kusinta/iot/connector/v1/connector_service.proto.
10
10
  */
11
11
  export const file_kusinta_iot_connector_v1_connector_service = /*@__PURE__*/
12
- fileDesc("CjBrdXNpbnRhL2lvdC9jb25uZWN0b3IvdjEvY29ubmVjdG9yX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LmNvbm5lY3Rvci52MTJ9ChdDb25uZWN0b3JHYXRld2F5U2VydmljZRJiCgdDb25uZWN0Eigua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkNvbm5lY3RSZXF1ZXN0Gikua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLkNvbm5lY3RSZXNwb25zZSgBMAFCAkgBYgZwcm90bzM", [file_kusinta_iot_connector_v1_connector]);
12
+ fileDesc("CjBrdXNpbnRhL2lvdC9jb25uZWN0b3IvdjEvY29ubmVjdG9yX3NlcnZpY2UucHJvdG8SGGt1c2ludGEuaW90LmNvbm5lY3Rvci52MTJ9ChdDb25uZWN0b3JHYXRld2F5U2VydmljZRJiCgdTZXNzaW9uEigua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlNlc3Npb25SZXF1ZXN0Gikua3VzaW50YS5pb3QuY29ubmVjdG9yLnYxLlNlc3Npb25SZXNwb25zZSgBMAFCAkgBYgZwcm90bzM", [file_kusinta_iot_connector_v1_connector]);
13
13
 
14
14
  /**
15
15
  * ConnectorGatewayService: connector dials the gateway on startup.
@@ -0,0 +1,238 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/device/v1/cluster_state.proto (package kusinta.iot.device.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+
8
+ /**
9
+ * Describes the file kusinta/iot/device/v1/cluster_state.proto.
10
+ */
11
+ export declare const file_kusinta_iot_device_v1_cluster_state: GenFile;
12
+
13
+ /**
14
+ * Matter null. Distinct from a field being absent: Matter types many attributes as
15
+ * nullable, where null is a reported value meaning "not currently known" — a thermostat
16
+ * that cannot read its local temperature reports null, which is not the same as never
17
+ * having reported at all.
18
+ *
19
+ * @generated from message kusinta.iot.device.v1.NullValue
20
+ */
21
+ export declare type NullValue = Message<"kusinta.iot.device.v1.NullValue"> & {
22
+ };
23
+
24
+ /**
25
+ * Describes the message kusinta.iot.device.v1.NullValue.
26
+ * Use `create(NullValueSchema)` to create a new message.
27
+ */
28
+ export declare const NullValueSchema: GenMessage<NullValue>;
29
+
30
+ /**
31
+ * A Matter attribute value of any shape, including the ones a scalar cannot carry.
32
+ *
33
+ * Self-describing rather than Matter's own TLV as opaque bytes: an app that cannot decode
34
+ * a value cannot show it, and TLV would make the generic path useful only to the gateway.
35
+ * The cost is a recursive message; the benefit is that an attribute this schema has never
36
+ * heard of is still renderable.
37
+ *
38
+ * Widths are deliberately wider than most attributes need — sint64 covers every signed
39
+ * Matter integer type and uint64 every unsigned one, so a generic carrier never has to
40
+ * know an attribute's declared width to carry its value.
41
+ *
42
+ * @generated from message kusinta.iot.device.v1.AttributeValue
43
+ */
44
+ export declare type AttributeValue = Message<"kusinta.iot.device.v1.AttributeValue"> & {
45
+ /**
46
+ * @generated from oneof kusinta.iot.device.v1.AttributeValue.value
47
+ */
48
+ value: {
49
+ /**
50
+ * @generated from field: bool bool_value = 1;
51
+ */
52
+ value: boolean;
53
+ case: "boolValue";
54
+ } | {
55
+ /**
56
+ * @generated from field: sint64 int_value = 2;
57
+ */
58
+ value: bigint;
59
+ case: "intValue";
60
+ } | {
61
+ /**
62
+ * @generated from field: uint64 uint_value = 3;
63
+ */
64
+ value: bigint;
65
+ case: "uintValue";
66
+ } | {
67
+ /**
68
+ * @generated from field: double double_value = 4;
69
+ */
70
+ value: number;
71
+ case: "doubleValue";
72
+ } | {
73
+ /**
74
+ * @generated from field: string string_value = 5;
75
+ */
76
+ value: string;
77
+ case: "stringValue";
78
+ } | {
79
+ /**
80
+ * @generated from field: bytes bytes_value = 6;
81
+ */
82
+ value: Uint8Array;
83
+ case: "bytesValue";
84
+ } | {
85
+ /**
86
+ * @generated from field: kusinta.iot.device.v1.AttributeValueList list_value = 7;
87
+ */
88
+ value: AttributeValueList;
89
+ case: "listValue";
90
+ } | {
91
+ /**
92
+ * @generated from field: kusinta.iot.device.v1.AttributeValueStruct struct_value = 8;
93
+ */
94
+ value: AttributeValueStruct;
95
+ case: "structValue";
96
+ } | {
97
+ /**
98
+ * @generated from field: kusinta.iot.device.v1.NullValue null_value = 9;
99
+ */
100
+ value: NullValue;
101
+ case: "nullValue";
102
+ } | { case: undefined; value?: undefined };
103
+ };
104
+
105
+ /**
106
+ * Describes the message kusinta.iot.device.v1.AttributeValue.
107
+ * Use `create(AttributeValueSchema)` to create a new message.
108
+ */
109
+ export declare const AttributeValueSchema: GenMessage<AttributeValue>;
110
+
111
+ /**
112
+ * @generated from message kusinta.iot.device.v1.AttributeValueList
113
+ */
114
+ export declare type AttributeValueList = Message<"kusinta.iot.device.v1.AttributeValueList"> & {
115
+ /**
116
+ * @generated from field: repeated kusinta.iot.device.v1.AttributeValue values = 1;
117
+ */
118
+ values: AttributeValue[];
119
+ };
120
+
121
+ /**
122
+ * Describes the message kusinta.iot.device.v1.AttributeValueList.
123
+ * Use `create(AttributeValueListSchema)` to create a new message.
124
+ */
125
+ export declare const AttributeValueListSchema: GenMessage<AttributeValueList>;
126
+
127
+ /**
128
+ * Matter struct fields are addressed by numeric context tag, not by name, so the map is
129
+ * keyed by tag. A consumer that knows the struct's definition reads the tags it wants; one
130
+ * that does not can still carry and re-emit the whole thing.
131
+ *
132
+ * @generated from message kusinta.iot.device.v1.AttributeValueStruct
133
+ */
134
+ export declare type AttributeValueStruct = Message<"kusinta.iot.device.v1.AttributeValueStruct"> & {
135
+ /**
136
+ * @generated from field: map<uint32, kusinta.iot.device.v1.AttributeValue> fields = 1;
137
+ */
138
+ fields: { [key: number]: AttributeValue };
139
+ };
140
+
141
+ /**
142
+ * Describes the message kusinta.iot.device.v1.AttributeValueStruct.
143
+ * Use `create(AttributeValueStructSchema)` to create a new message.
144
+ */
145
+ export declare const AttributeValueStructSchema: GenMessage<AttributeValueStruct>;
146
+
147
+ /**
148
+ * @generated from message kusinta.iot.device.v1.AttributeState
149
+ */
150
+ export declare type AttributeState = Message<"kusinta.iot.device.v1.AttributeState"> & {
151
+ /**
152
+ * @generated from field: uint32 attribute_id = 1;
153
+ */
154
+ attributeId: number;
155
+
156
+ /**
157
+ * @generated from field: kusinta.iot.device.v1.AttributeValue value = 2;
158
+ */
159
+ value?: AttributeValue | undefined;
160
+ };
161
+
162
+ /**
163
+ * Describes the message kusinta.iot.device.v1.AttributeState.
164
+ * Use `create(AttributeStateSchema)` to create a new message.
165
+ */
166
+ export declare const AttributeStateSchema: GenMessage<AttributeState>;
167
+
168
+ /**
169
+ * One cluster hosted by an endpoint: what it is, what it supports, and any attribute value
170
+ * that has no typed home.
171
+ *
172
+ * An entry exists for EVERY cluster the endpoint hosts, including clusters this schema
173
+ * models with a typed properties message. That is not a contradiction of the
174
+ * one-value-one-place rule below — cluster_revision, feature_map and
175
+ * accepted_command_ids describe the cluster itself and have nowhere else to live.
176
+ *
177
+ * attributes is where the rule applies: it holds ONLY the attribute values that no typed
178
+ * field covers. An attribute the schema models is carried in its typed field and MUST NOT
179
+ * be repeated here — a value that exists in two places is a value that can disagree with
180
+ * itself.
181
+ *
182
+ * This is what lets an endpoint report something useful when its device type is not
183
+ * modelled, or when it carries a cluster beyond its device type's set, which the Matter
184
+ * specification explicitly permits.
185
+ *
186
+ * @generated from message kusinta.iot.device.v1.ClusterState
187
+ */
188
+ export declare type ClusterState = Message<"kusinta.iot.device.v1.ClusterState"> & {
189
+ /**
190
+ * @generated from field: uint32 cluster_id = 1;
191
+ */
192
+ clusterId: number;
193
+
194
+ /**
195
+ * Matter's ClusterRevision. Which revision of the cluster definition the device
196
+ * implements.
197
+ *
198
+ * @generated from field: optional uint32 cluster_revision = 2;
199
+ */
200
+ clusterRevision?: number | undefined;
201
+
202
+ /**
203
+ * Matter's FeatureMap: a bitmap of the optional features this cluster supports on this
204
+ * endpoint.
205
+ *
206
+ * Worth carrying even for fully-modelled clusters, because it resolves an ambiguity the
207
+ * presence rule cannot. properties.proto says an absent field means "never reported" —
208
+ * but without a FeatureMap, absent is also what an attribute the device does not
209
+ * implement looks like. With it, a consumer can tell "not supported" from "not yet
210
+ * seen".
211
+ *
212
+ * @generated from field: optional uint32 feature_map = 3;
213
+ */
214
+ featureMap?: number | undefined;
215
+
216
+ /**
217
+ * Attribute values with no typed field. See the message comment.
218
+ *
219
+ * @generated from field: repeated kusinta.iot.device.v1.AttributeState attributes = 4;
220
+ */
221
+ attributes: AttributeState[];
222
+
223
+ /**
224
+ * Matter's AcceptedCommandList: which commands this cluster accepts on this endpoint.
225
+ * Without it a consumer must infer a device's capabilities from its device type and
226
+ * discover the truth by sending a command and watching it fail.
227
+ *
228
+ * @generated from field: repeated uint32 accepted_command_ids = 5;
229
+ */
230
+ acceptedCommandIds: number[];
231
+ };
232
+
233
+ /**
234
+ * Describes the message kusinta.iot.device.v1.ClusterState.
235
+ * Use `create(ClusterStateSchema)` to create a new message.
236
+ */
237
+ export declare const ClusterStateSchema: GenMessage<ClusterState>;
238
+
@@ -0,0 +1,54 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/device/v1/cluster_state.proto (package kusinta.iot.device.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+
7
+ /**
8
+ * Describes the file kusinta/iot/device/v1/cluster_state.proto.
9
+ */
10
+ export const file_kusinta_iot_device_v1_cluster_state = /*@__PURE__*/
11
+ fileDesc("CilrdXNpbnRhL2lvdC9kZXZpY2UvdjEvY2x1c3Rlcl9zdGF0ZS5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIgsKCU51bGxWYWx1ZSLfAgoOQXR0cmlidXRlVmFsdWUSFAoKYm9vbF92YWx1ZRgBIAEoCEgAEhMKCWludF92YWx1ZRgCIAEoEkgAEhQKCnVpbnRfdmFsdWUYAyABKARIABIWCgxkb3VibGVfdmFsdWUYBCABKAFIABIWCgxzdHJpbmdfdmFsdWUYBSABKAlIABIVCgtieXRlc192YWx1ZRgGIAEoDEgAEj8KCmxpc3RfdmFsdWUYByABKAsyKS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVMaXN0SAASQwoMc3RydWN0X3ZhbHVlGAggASgLMisua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlU3RydWN0SAASNgoKbnVsbF92YWx1ZRgJIAEoCzIgLmt1c2ludGEuaW90LmRldmljZS52MS5OdWxsVmFsdWVIAEIHCgV2YWx1ZSJLChJBdHRyaWJ1dGVWYWx1ZUxpc3QSNQoGdmFsdWVzGAEgAygLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlIrUBChRBdHRyaWJ1dGVWYWx1ZVN0cnVjdBJHCgZmaWVsZHMYASADKAsyNy5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVTdHJ1Y3QuRmllbGRzRW50cnkaVAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgNEjQKBXZhbHVlGAIgASgLMiUua3VzaW50YS5pb3QuZGV2aWNlLnYxLkF0dHJpYnV0ZVZhbHVlOgI4ASJcCg5BdHRyaWJ1dGVTdGF0ZRIUCgxhdHRyaWJ1dGVfaWQYASABKA0SNAoFdmFsdWUYAiABKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWUi2QEKDENsdXN0ZXJTdGF0ZRISCgpjbHVzdGVyX2lkGAEgASgNEh0KEGNsdXN0ZXJfcmV2aXNpb24YAiABKA1IAIgBARIYCgtmZWF0dXJlX21hcBgDIAEoDUgBiAEBEjkKCmF0dHJpYnV0ZXMYBCADKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlU3RhdGUSHAoUYWNjZXB0ZWRfY29tbWFuZF9pZHMYBSADKA1CEwoRX2NsdXN0ZXJfcmV2aXNpb25CDgoMX2ZlYXR1cmVfbWFwQgJIAWIGcHJvdG8z");
12
+
13
+ /**
14
+ * Describes the message kusinta.iot.device.v1.NullValue.
15
+ * Use `create(NullValueSchema)` to create a new message.
16
+ */
17
+ export const NullValueSchema = /*@__PURE__*/
18
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 0);
19
+
20
+ /**
21
+ * Describes the message kusinta.iot.device.v1.AttributeValue.
22
+ * Use `create(AttributeValueSchema)` to create a new message.
23
+ */
24
+ export const AttributeValueSchema = /*@__PURE__*/
25
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 1);
26
+
27
+ /**
28
+ * Describes the message kusinta.iot.device.v1.AttributeValueList.
29
+ * Use `create(AttributeValueListSchema)` to create a new message.
30
+ */
31
+ export const AttributeValueListSchema = /*@__PURE__*/
32
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 2);
33
+
34
+ /**
35
+ * Describes the message kusinta.iot.device.v1.AttributeValueStruct.
36
+ * Use `create(AttributeValueStructSchema)` to create a new message.
37
+ */
38
+ export const AttributeValueStructSchema = /*@__PURE__*/
39
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 3);
40
+
41
+ /**
42
+ * Describes the message kusinta.iot.device.v1.AttributeState.
43
+ * Use `create(AttributeStateSchema)` to create a new message.
44
+ */
45
+ export const AttributeStateSchema = /*@__PURE__*/
46
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 4);
47
+
48
+ /**
49
+ * Describes the message kusinta.iot.device.v1.ClusterState.
50
+ * Use `create(ClusterStateSchema)` to create a new message.
51
+ */
52
+ export const ClusterStateSchema = /*@__PURE__*/
53
+ messageDesc(file_kusinta_iot_device_v1_cluster_state, 5);
54
+
@@ -1,12 +1,13 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/device/v1/descriptor.proto (package kusinta.iot.device.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
- import type { ConnectorId, DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb";
8
- import type { DeviceLifecycleState, DeviceOwnershipType } from "../../common/v1/types_pb";
7
+ import type { ConnectorId, DeviceId, SpaceId, UserId } from "../../identity/v1/identity_pb.js";
8
+ import type { DeviceLifecycleState, DeviceOwnershipType } from "../../common/v1/types_pb.js";
9
9
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
10
+ import type { HomematicDeviceIdentity } from "../../vendor/homematic/v1/homematic_pb.js";
10
11
 
11
12
  /**
12
13
  * Describes the file kusinta/iot/device/v1/descriptor.proto.
@@ -14,7 +15,10 @@ import type { Timestamp } from "@bufbuild/protobuf/wkt";
14
15
  export declare const file_kusinta_iot_device_v1_descriptor: GenFile;
15
16
 
16
17
  /**
17
- * DeviceDescriptor holds identity and Matter BasicInformation cluster fields.
18
+ * DeviceDescriptor holds identity and Matter BasicInformation cluster fields — what the
19
+ * device IS, not what it reports. The device types it presents are one per endpoint, in
20
+ * Device.endpoints.
21
+ *
18
22
  * Fields 1-19 are stable Matter-aligned fields. Fields 20+ are ownership/lifecycle.
19
23
  *
20
24
  * @generated from message kusinta.iot.device.v1.DeviceDescriptor
@@ -25,13 +29,6 @@ export declare type DeviceDescriptor = Message<"kusinta.iot.device.v1.DeviceDesc
25
29
  */
26
30
  deviceId?: DeviceId | undefined;
27
31
 
28
- /**
29
- * Matter 1.5.1 device type ID (e.g. 0x0301 = Thermostat, 0x0302 = TemperatureSensor)
30
- *
31
- * @generated from field: uint32 matter_device_type_id = 2;
32
- */
33
- matterDeviceTypeId: number;
34
-
35
32
  /**
36
33
  * Matter BasicInformation cluster attributes
37
34
  *
@@ -105,6 +102,38 @@ export declare type DeviceDescriptor = Message<"kusinta.iot.device.v1.DeviceDesc
105
102
  * @generated from field: google.protobuf.Timestamp claimed_at = 16;
106
103
  */
107
104
  claimedAt?: Timestamp | undefined;
105
+
106
+ /**
107
+ * Who the device is in its vendor's own terms — an address and a model string that
108
+ * identify the PHYSICAL device, not one of its endpoints. It belongs here rather than
109
+ * beside the per-endpoint vendor readings, which would duplicate it onto every
110
+ * endpoint with no rule saying whether a producer should.
111
+ *
112
+ * Absent for a device with no vendor extension, which is most of them.
113
+ * Set when this device sits behind a Matter bridge, naming the bridge's own Device.
114
+ *
115
+ * A bridge is one Matter node exposing many devices, and each gets its own DeviceId here
116
+ * rather than becoming an endpoint of the bridge: a user perceives twelve bridged bulbs
117
+ * as twelve things, and one row that cannot be placed in twelve rooms is not usable.
118
+ *
119
+ * So a Device is a Matter node OR one device behind one — the equivalence is deliberately
120
+ * not exact, and this field is how a consumer tells which. Absent means the device is
121
+ * reached directly.
122
+ *
123
+ * @generated from field: optional kusinta.iot.identity.v1.DeviceId bridged_by = 19;
124
+ */
125
+ bridgedBy?: DeviceId | undefined;
126
+
127
+ /**
128
+ * @generated from oneof kusinta.iot.device.v1.DeviceDescriptor.vendor_identity
129
+ */
130
+ vendorIdentity: {
131
+ /**
132
+ * @generated from field: kusinta.iot.vendor.homematic.v1.HomematicDeviceIdentity homematic = 18;
133
+ */
134
+ value: HomematicDeviceIdentity;
135
+ case: "homematic";
136
+ } | { case: undefined; value?: undefined };
108
137
  };
109
138
 
110
139
  /**
@@ -1,17 +1,18 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts"
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
2
  // @generated from file kusinta/iot/device/v1/descriptor.proto (package kusinta.iot.device.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
- import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb";
8
- import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb";
7
+ import { file_kusinta_iot_common_v1_types } from "../../common/v1/types_pb.js";
8
+ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
9
+ import { file_kusinta_iot_vendor_homematic_v1_homematic } from "../../vendor/homematic/v1/homematic_pb.js";
9
10
 
10
11
  /**
11
12
  * Describes the file kusinta/iot/device/v1/descriptor.proto.
12
13
  */
13
14
  export const file_kusinta_iot_device_v1_descriptor = /*@__PURE__*/
14
- fileDesc("CiZrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGVzY3JpcHRvci5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIv0EChBEZXZpY2VEZXNjcmlwdG9yEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEh0KFW1hdHRlcl9kZXZpY2VfdHlwZV9pZBgCIAEoDRITCgt2ZW5kb3JfbmFtZRgDIAEoCRIUCgxwcm9kdWN0X25hbWUYBCABKAkSFQoNc2VyaWFsX251bWJlchgFIAEoCRISCgpub2RlX2xhYmVsGAYgASgJEhEKCXZlbmRvcl9pZBgHIAEoDRISCgpwcm9kdWN0X2lkGAggASgNEh8KF2hhcmR3YXJlX3ZlcnNpb25fc3RyaW5nGAkgASgJEh8KF3NvZnR3YXJlX3ZlcnNpb25fc3RyaW5nGAogASgJEjoKDGNvbm5lY3Rvcl9pZBgLIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEjIKCHNwYWNlX2lkGAwgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI9Cglvd25lcnNoaXAYDSABKA4yKi5rdXNpbnRhLmlvdC5jb21tb24udjEuRGV2aWNlT3duZXJzaGlwVHlwZRI+CglsaWZlY3ljbGUYDiABKA4yKy5rdXNpbnRhLmlvdC5jb21tb24udjEuRGV2aWNlTGlmZWN5Y2xlU3RhdGUSNgoNb3duZXJfdXNlcl9pZBgPIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBIuCgpjbGFpbWVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity]);
15
+ fileDesc("CiZrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGVzY3JpcHRvci5wcm90bxIVa3VzaW50YS5pb3QuZGV2aWNlLnYxIrkGChBEZXZpY2VEZXNjcmlwdG9yEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEhMKC3ZlbmRvcl9uYW1lGAMgASgJEhQKDHByb2R1Y3RfbmFtZRgEIAEoCRIVCg1zZXJpYWxfbnVtYmVyGAUgASgJEhIKCm5vZGVfbGFiZWwYBiABKAkSEQoJdmVuZG9yX2lkGAcgASgNEhIKCnByb2R1Y3RfaWQYCCABKA0SHwoXaGFyZHdhcmVfdmVyc2lvbl9zdHJpbmcYCSABKAkSHwoXc29mdHdhcmVfdmVyc2lvbl9zdHJpbmcYCiABKAkSOgoMY29ubmVjdG9yX2lkGAsgASgLMiQua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuQ29ubmVjdG9ySWQSMgoIc3BhY2VfaWQYDCABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEj0KCW93bmVyc2hpcBgNIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEj4KCWxpZmVjeWNsZRgOIAEoDjIrLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VMaWZlY3ljbGVTdGF0ZRI2Cg1vd25lcl91c2VyX2lkGA8gASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEi4KCmNsYWltZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKCmJyaWRnZWRfYnkYEyABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZEgBiAEBEk0KCWhvbWVtYXRpYxgSIAEoCzI4Lmt1c2ludGEuaW90LnZlbmRvci5ob21lbWF0aWMudjEuSG9tZW1hdGljRGV2aWNlSWRlbnRpdHlIAEIRCg92ZW5kb3JfaWRlbnRpdHlCDQoLX2JyaWRnZWRfYnlKBAgCEANKBAgREBJSFW1hdHRlcl9kZXZpY2VfdHlwZV9pZFIJZW5kcG9pbnRzQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_vendor_homematic_v1_homematic]);
15
16
 
16
17
  /**
17
18
  * Describes the message kusinta.iot.device.v1.DeviceDescriptor.
@@ -0,0 +1,162 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/device/v1/device_event.proto (package kusinta.iot.device.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+ import type { DeviceId } from "../../identity/v1/identity_pb.js";
8
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
+ import type { AttributeValue } from "./cluster_state_pb.js";
10
+
11
+ /**
12
+ * Describes the file kusinta/iot/device/v1/device_event.proto.
13
+ */
14
+ export declare const file_kusinta_iot_device_v1_device_event: GenFile;
15
+
16
+ /**
17
+ * Something that HAPPENED on a device, as opposed to what a device currently IS.
18
+ *
19
+ * PropertyUpdate answers "what is the lock's state now" — latest wins, order does not
20
+ * matter, a missed one is corrected by the next. DeviceEvent answers "what happened to the
21
+ * lock" — each is a distinct occurrence, order matters, and a missed one is gone unless it
22
+ * is fetched by its number. Matter models both for the same reason, and neither substitutes
23
+ * for the other: a lock's LockState attribute cannot say who unlocked it, with what
24
+ * credential, at what time, and an event log cannot cheaply answer what the state is now.
25
+ *
26
+ * This is the audit surface. In a building with several residents sharing a device, "the
27
+ * door is unlocked" and "this credential unlocked the door at 14:02" are different
28
+ * questions with different consumers.
29
+ *
30
+ * Events do NOT feed Device.endpoints. A consumer must not merge an event into a properties
31
+ * field or a ClusterState — an event's data is its own payload, not an attribute value, and
32
+ * the attribute it relates to reports separately. The resolution rule in
33
+ * property_update.proto has nothing to do with events.
34
+ *
35
+ * @generated from message kusinta.iot.device.v1.DeviceEvent
36
+ */
37
+ export declare type DeviceEvent = Message<"kusinta.iot.device.v1.DeviceEvent"> & {
38
+ /**
39
+ * @generated from field: kusinta.iot.identity.v1.DeviceId device_id = 1;
40
+ */
41
+ deviceId?: DeviceId | undefined;
42
+
43
+ /**
44
+ * Which endpoint emitted it, and which cluster defines it. Required, as for an update.
45
+ *
46
+ * @generated from field: optional uint32 endpoint_id = 2;
47
+ */
48
+ endpointId?: number | undefined;
49
+
50
+ /**
51
+ * @generated from field: uint32 cluster_id = 3;
52
+ */
53
+ clusterId: number;
54
+
55
+ /**
56
+ * The Matter event ID within that cluster.
57
+ *
58
+ * @generated from field: uint32 event_id = 4;
59
+ */
60
+ eventId: number;
61
+
62
+ /**
63
+ * Matter's EventNumber: monotonically increasing per node, and the reason an event log
64
+ * can be resumed rather than merely replayed. A consumer that sees a gap knows it missed
65
+ * something and can say so — the one guarantee a PropertyUpdate stream cannot give.
66
+ *
67
+ * Monotonic within one device. Do NOT compare across devices; they are unrelated
68
+ * sequences.
69
+ *
70
+ * @generated from field: uint64 event_number = 5;
71
+ */
72
+ eventNumber: bigint;
73
+
74
+ /**
75
+ * When the device says it happened, which is not when the gateway saw it. On a
76
+ * battery-powered device that wakes on a cycle, the two can differ by minutes.
77
+ *
78
+ * @generated from field: google.protobuf.Timestamp timestamp = 6;
79
+ */
80
+ timestamp?: Timestamp | undefined;
81
+
82
+ /**
83
+ * @generated from field: kusinta.iot.device.v1.EventPriority priority = 7;
84
+ */
85
+ priority: EventPriority;
86
+
87
+ /**
88
+ * The event's own payload. Matter events carry a struct, so this is normally
89
+ * AttributeValue.struct_value keyed by context tag; a scalar-payload event uses a scalar
90
+ * case directly.
91
+ *
92
+ * @generated from field: kusinta.iot.device.v1.AttributeValue data = 8;
93
+ */
94
+ data?: AttributeValue | undefined;
95
+ };
96
+
97
+ /**
98
+ * Describes the message kusinta.iot.device.v1.DeviceEvent.
99
+ * Use `create(DeviceEventSchema)` to create a new message.
100
+ */
101
+ export declare const DeviceEventSchema: GenMessage<DeviceEvent>;
102
+
103
+ /**
104
+ * @generated from message kusinta.iot.device.v1.DeviceEventBatch
105
+ */
106
+ export declare type DeviceEventBatch = Message<"kusinta.iot.device.v1.DeviceEventBatch"> & {
107
+ /**
108
+ * @generated from field: repeated kusinta.iot.device.v1.DeviceEvent events = 1;
109
+ */
110
+ events: DeviceEvent[];
111
+
112
+ /**
113
+ * When the gateway received these, as distinct from each event's own timestamp, which is
114
+ * when the device says it happened. The two differ by however long a sleeping device took
115
+ * to wake, and for an audit trail both matter: one is what occurred, the other is when
116
+ * anyone could have known.
117
+ *
118
+ * @generated from field: google.protobuf.Timestamp received_at = 2;
119
+ */
120
+ receivedAt?: Timestamp | undefined;
121
+ };
122
+
123
+ /**
124
+ * Describes the message kusinta.iot.device.v1.DeviceEventBatch.
125
+ * Use `create(DeviceEventBatchSchema)` to create a new message.
126
+ */
127
+ export declare const DeviceEventBatchSchema: GenMessage<DeviceEventBatch>;
128
+
129
+ /**
130
+ * Matter's event priority. Governs retention and delivery urgency, not severity in a
131
+ * logging sense: CRITICAL events are retained and delivered with the most effort, DEBUG
132
+ * with the least.
133
+ *
134
+ * @generated from enum kusinta.iot.device.v1.EventPriority
135
+ */
136
+ export enum EventPriority {
137
+ /**
138
+ * @generated from enum value: EVENT_PRIORITY_UNSPECIFIED = 0;
139
+ */
140
+ UNSPECIFIED = 0,
141
+
142
+ /**
143
+ * @generated from enum value: EVENT_PRIORITY_DEBUG = 1;
144
+ */
145
+ DEBUG = 1,
146
+
147
+ /**
148
+ * @generated from enum value: EVENT_PRIORITY_INFO = 2;
149
+ */
150
+ INFO = 2,
151
+
152
+ /**
153
+ * @generated from enum value: EVENT_PRIORITY_CRITICAL = 3;
154
+ */
155
+ CRITICAL = 3,
156
+ }
157
+
158
+ /**
159
+ * Describes the enum kusinta.iot.device.v1.EventPriority.
160
+ */
161
+ export declare const EventPrioritySchema: GenEnum<EventPriority>;
162
+
@@ -0,0 +1,45 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file kusinta/iot/device/v1/device_event.proto (package kusinta.iot.device.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
+ import { file_kusinta_iot_device_v1_cluster_state } from "./cluster_state_pb.js";
8
+ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
9
+
10
+ /**
11
+ * Describes the file kusinta/iot/device/v1/device_event.proto.
12
+ */
13
+ export const file_kusinta_iot_device_v1_device_event = /*@__PURE__*/
14
+ fileDesc("CihrdXNpbnRhL2lvdC9kZXZpY2UvdjEvZGV2aWNlX2V2ZW50LnByb3RvEhVrdXNpbnRhLmlvdC5kZXZpY2UudjEixQIKC0RldmljZUV2ZW50EjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEhgKC2VuZHBvaW50X2lkGAIgASgNSACIAQESEgoKY2x1c3Rlcl9pZBgDIAEoDRIQCghldmVudF9pZBgEIAEoDRIUCgxldmVudF9udW1iZXIYBSABKAQSLQoJdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI2Cghwcmlvcml0eRgHIAEoDjIkLmt1c2ludGEuaW90LmRldmljZS52MS5FdmVudFByaW9yaXR5EjMKBGRhdGEYCCABKAsyJS5rdXNpbnRhLmlvdC5kZXZpY2UudjEuQXR0cmlidXRlVmFsdWVCDgoMX2VuZHBvaW50X2lkIncKEERldmljZUV2ZW50QmF0Y2gSMgoGZXZlbnRzGAEgAygLMiIua3VzaW50YS5pb3QuZGV2aWNlLnYxLkRldmljZUV2ZW50Ei8KC3JlY2VpdmVkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCp/Cg1FdmVudFByaW9yaXR5Eh4KGkVWRU5UX1BSSU9SSVRZX1VOU1BFQ0lGSUVEEAASGAoURVZFTlRfUFJJT1JJVFlfREVCVUcQARIXChNFVkVOVF9QUklPUklUWV9JTkZPEAISGwoXRVZFTlRfUFJJT1JJVFlfQ1JJVElDQUwQA0ICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_device_v1_cluster_state, file_kusinta_iot_identity_v1_identity]);
15
+
16
+ /**
17
+ * Describes the message kusinta.iot.device.v1.DeviceEvent.
18
+ * Use `create(DeviceEventSchema)` to create a new message.
19
+ */
20
+ export const DeviceEventSchema = /*@__PURE__*/
21
+ messageDesc(file_kusinta_iot_device_v1_device_event, 0);
22
+
23
+ /**
24
+ * Describes the message kusinta.iot.device.v1.DeviceEventBatch.
25
+ * Use `create(DeviceEventBatchSchema)` to create a new message.
26
+ */
27
+ export const DeviceEventBatchSchema = /*@__PURE__*/
28
+ messageDesc(file_kusinta_iot_device_v1_device_event, 1);
29
+
30
+ /**
31
+ * Describes the enum kusinta.iot.device.v1.EventPriority.
32
+ */
33
+ export const EventPrioritySchema = /*@__PURE__*/
34
+ enumDesc(file_kusinta_iot_device_v1_device_event, 0);
35
+
36
+ /**
37
+ * Matter's event priority. Governs retention and delivery urgency, not severity in a
38
+ * logging sense: CRITICAL events are retained and delivered with the most effort, DEBUG
39
+ * with the least.
40
+ *
41
+ * @generated from enum kusinta.iot.device.v1.EventPriority
42
+ */
43
+ export const EventPriority = /*@__PURE__*/
44
+ tsEnum(EventPrioritySchema);
45
+