@matter/protocol 0.14.0-alpha.0-20250521-979eda05d → 0.14.0-alpha.0-20250525-d6ada0d45
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/dist/cjs/action/server/AttributeWriteResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/AttributeWriteResponse.js +1 -14
- package/dist/cjs/action/server/AttributeWriteResponse.js.map +1 -1
- package/dist/cjs/events/OccurrenceManager.d.ts +10 -2
- package/dist/cjs/events/OccurrenceManager.d.ts.map +1 -1
- package/dist/cjs/events/OccurrenceManager.js +57 -11
- package/dist/cjs/events/OccurrenceManager.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +2 -11
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +1 -38
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.d.ts +23 -1
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.js +124 -11
- package/dist/cjs/mdns/MdnsScanner.js.map +2 -2
- package/dist/esm/action/server/AttributeWriteResponse.d.ts.map +1 -1
- package/dist/esm/action/server/AttributeWriteResponse.js +2 -15
- package/dist/esm/action/server/AttributeWriteResponse.js.map +1 -1
- package/dist/esm/events/OccurrenceManager.d.ts +10 -2
- package/dist/esm/events/OccurrenceManager.d.ts.map +1 -1
- package/dist/esm/events/OccurrenceManager.js +62 -12
- package/dist/esm/events/OccurrenceManager.js.map +1 -1
- package/dist/esm/fabric/Fabric.d.ts +2 -11
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +1 -38
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/mdns/MdnsScanner.d.ts +23 -1
- package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsScanner.js +127 -11
- package/dist/esm/mdns/MdnsScanner.js.map +2 -2
- package/package.json +6 -6
- package/src/action/server/AttributeWriteResponse.ts +2 -20
- package/src/events/OccurrenceManager.ts +91 -11
- package/src/fabric/Fabric.ts +1 -49
- package/src/mdns/MdnsScanner.ts +187 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeWriteResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/AttributeWriteResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAqC,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"AttributeWriteResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/AttributeWriteResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAqC,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAQH,SAAS,EACZ,MAAM,QAAQ,CAAC;AAIhB;;;;GAIG;AACH,qBAAa,sBAAsB,CAC/B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;gBAahB,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ;IAK3C,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAsCtF,IAAI,MAAM;;;;MAMT;cA0Pe,UAAU,CACtB,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE,WAAW,CAAC,qBAAqB,EACvC,KAAK,EAAE,SAAS;CAqEvB"}
|
|
@@ -39,7 +39,6 @@ class AttributeWriteResponse extends import_DataResponse.DataResponse {
|
|
|
39
39
|
#currentEndpoint;
|
|
40
40
|
#currentCluster;
|
|
41
41
|
#previousProcessedAttributePath;
|
|
42
|
-
#wildcardPathFlags = 0;
|
|
43
42
|
// Count how many attribute status (on error) and attribute values (on success) we have emitted
|
|
44
43
|
#statusCount = 0;
|
|
45
44
|
#successCount = 0;
|
|
@@ -92,11 +91,10 @@ class AttributeWriteResponse extends import_DataResponse.DataResponse {
|
|
|
92
91
|
* Validate a wildcard path and update internal state.
|
|
93
92
|
*/
|
|
94
93
|
async #processWildcard(path, value) {
|
|
95
|
-
const { nodeId, endpointId
|
|
94
|
+
const { nodeId, endpointId } = path;
|
|
96
95
|
if (nodeId !== void 0 && nodeId !== this.nodeId) {
|
|
97
96
|
return;
|
|
98
97
|
}
|
|
99
|
-
this.#wildcardPathFlags = wildcardPathFlags ? import_DataResponse.WildcardPathFlagsCodec.encode(wildcardPathFlags) : 0;
|
|
100
98
|
if (endpointId === void 0) {
|
|
101
99
|
const responses = new Array();
|
|
102
100
|
for (const endpoint2 of this.node) {
|
|
@@ -195,8 +193,6 @@ class AttributeWriteResponse extends import_DataResponse.DataResponse {
|
|
|
195
193
|
* Emits previous chunk if it exists and was not for this endpoint. This means that our chunk size is one endpoint
|
|
196
194
|
* worth of data, except for the initial error chunk if there are path errors.
|
|
197
195
|
*
|
|
198
|
-
* {@link this.#wildcardPathFlags} to numeric bitmap must be set prior to invocation.
|
|
199
|
-
*
|
|
200
196
|
* TODO - skip endpoints for which subject is unauthorized as optimization
|
|
201
197
|
*/
|
|
202
198
|
#writeEndpointForWildcard(endpoint, path, value) {
|
|
@@ -207,9 +203,6 @@ class AttributeWriteResponse extends import_DataResponse.DataResponse {
|
|
|
207
203
|
import_types.StatusCode.InvalidAction
|
|
208
204
|
);
|
|
209
205
|
}
|
|
210
|
-
if (endpoint.wildcardPathFlags & this.#wildcardPathFlags) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
206
|
if (this.#currentEndpoint !== endpoint) {
|
|
214
207
|
this.#currentEndpoint = endpoint;
|
|
215
208
|
this.#currentCluster = void 0;
|
|
@@ -227,9 +220,6 @@ class AttributeWriteResponse extends import_DataResponse.DataResponse {
|
|
|
227
220
|
* TODO - skip clusters for which subject is unauthorized
|
|
228
221
|
*/
|
|
229
222
|
#writeClusterForWildcard(cluster, path, value) {
|
|
230
|
-
if (cluster.type.wildcardPathFlags & this.#wildcardPathFlags) {
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
223
|
if (this.#currentCluster !== cluster) {
|
|
234
224
|
this.#currentCluster = cluster;
|
|
235
225
|
}
|
|
@@ -252,9 +242,6 @@ class AttributeWriteResponse extends import_DataResponse.DataResponse {
|
|
|
252
242
|
if (!this.#guardedCurrentCluster.type.attributes[attribute.id]) {
|
|
253
243
|
return;
|
|
254
244
|
}
|
|
255
|
-
if (attribute.wildcardPathFlags & this.#wildcardPathFlags) {
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
245
|
if (!attribute.limits.writable || this.session.authorityAt(attribute.limits.readLevel, this.#guardedCurrentCluster.location) !== import_AccessControl.AccessControl.Authority.Granted || attribute.limits.timed && !this.session.timed) {
|
|
259
246
|
return;
|
|
260
247
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/action/server/AttributeWriteResponse.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,2BAA8B;AAC9B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["endpoint", "FabricIndexField"]
|
|
6
6
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Construction, MaybePromise, Observable } from "#general";
|
|
7
|
-
import { EventNumber, FabricIndex, TlvEventFilter, TlvEventPath, TypeFromSchema } from "#types";
|
|
7
|
+
import { EventNumber, EventPriority, FabricIndex, TlvEventFilter, TlvEventPath, TypeFromSchema } from "#types";
|
|
8
8
|
import { EventStore } from "./EventStore.js";
|
|
9
9
|
import { NumberedOccurrence, Occurrence } from "./Occurrence.js";
|
|
10
10
|
export interface OccurrenceManagerContext {
|
|
@@ -44,7 +44,7 @@ export declare class OccurrenceManager {
|
|
|
44
44
|
clusterId: import("#types").ClusterId;
|
|
45
45
|
eventId: import("#types").EventId;
|
|
46
46
|
epochTimestamp: number;
|
|
47
|
-
priority:
|
|
47
|
+
priority: EventPriority;
|
|
48
48
|
payload: unknown;
|
|
49
49
|
}, void, unknown>;
|
|
50
50
|
close(): MaybePromise<void>;
|
|
@@ -66,6 +66,14 @@ export declare namespace OccurrenceManager {
|
|
|
66
66
|
* {@link minimumEventAllowance}.
|
|
67
67
|
*/
|
|
68
68
|
maxEventAllowance: number;
|
|
69
|
+
/**
|
|
70
|
+
* Minimum allowances by priority. This ensures a minimum number of non-critical events avoid LRU
|
|
71
|
+
* harvesting. Critical events take the rest of the entries up to the defined global minimum.
|
|
72
|
+
*/
|
|
73
|
+
minPriorityEventAllowance: {
|
|
74
|
+
info: number;
|
|
75
|
+
debug: number;
|
|
76
|
+
};
|
|
69
77
|
}
|
|
70
78
|
const DefaultBufferConfig: BufferConfig;
|
|
71
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OccurrenceManager.d.ts","sourceRoot":"","sources":["../../../src/events/OccurrenceManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,YAAY,EAOZ,YAAY,EACZ,UAAU,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,
|
|
1
|
+
{"version":3,"file":"OccurrenceManager.d.ts","sourceRoot":"","sources":["../../../src/events/OccurrenceManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,YAAY,EAOZ,YAAY,EACZ,UAAU,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EAEX,cAAc,EACd,YAAY,EACZ,cAAc,EACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,UAAU,EAAqB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIjE,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,UAAU,CAAC;IAElB,YAAY,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC;CACjD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;;IAc1B,IAAI,YAAY,oCAEf;WAEY,MAAM,CAAC,OAAO,EAAE,wBAAwB;gBAIzC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,wBAAwB;IAgC7D,IAAI,KAAK,uDAER;IAEK,KAAK;IA4CX;;;OAGG;IACH,KAAK,CACD,SAAS,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,EAC9C,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,EAAE,EACjD,oBAAoB,CAAC,EAAE,WAAW,GACnC,YAAY,CAAC,kBAAkB,EAAE,CAAC;IAmFrC;;;OAGG;IACI,GAAG,CAAC,QAAQ,CAAC,EAAE,WAAW;;;;;;;;;IA8BjC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC;IAI3B,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAAC,kBAAkB,CAAC;CAgHhE;AAED,yBAAiB,iBAAiB,CAAC;IAC/B;;OAEG;IACH,UAAiB,YAAY;QACzB;;WAEG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAE1B;;;;;WAKG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAE1B;;;WAGG;QACH,yBAAyB,EAAE;YACvB,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;SACjB,CAAC;KACL;IAEM,MAAM,mBAAmB,EAAE,YAOjC,CAAC;CACL"}
|
|
@@ -246,21 +246,63 @@ class OccurrenceManager {
|
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
#dropOldOccurrences() {
|
|
249
|
-
|
|
250
|
-
if (
|
|
249
|
+
let toDelete = this.#storedEventCount - this.#bufferConfig.minEventAllowance;
|
|
250
|
+
if (toDelete <= 0) {
|
|
251
251
|
return;
|
|
252
252
|
}
|
|
253
|
-
logger.debug(`Event store is full; dropping ${
|
|
253
|
+
logger.debug(`Event store is full; dropping ${toDelete} old occurrence${toDelete === 1 ? "s" : ""}`);
|
|
254
|
+
const prioData = {
|
|
255
|
+
[import_types.EventPriority.Info]: {
|
|
256
|
+
count: this.#bufferConfig.minPriorityEventAllowance["info"],
|
|
257
|
+
minPosition: -1
|
|
258
|
+
},
|
|
259
|
+
[import_types.EventPriority.Debug]: {
|
|
260
|
+
count: this.#bufferConfig.minPriorityEventAllowance["debug"],
|
|
261
|
+
minPosition: -1
|
|
262
|
+
}
|
|
263
|
+
};
|
|
254
264
|
const asyncDrops = Array();
|
|
255
|
-
for (
|
|
256
|
-
const
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
265
|
+
for (let i = this.#occurrences.length - 1; i >= 0; i--) {
|
|
266
|
+
const { priority } = this.#occurrences[i];
|
|
267
|
+
if (priority !== import_types.EventPriority.Critical) {
|
|
268
|
+
const data = prioData[priority];
|
|
269
|
+
if (data.count > 0) {
|
|
270
|
+
data.count--;
|
|
271
|
+
if (data.count === 0) {
|
|
272
|
+
data.minPosition = i;
|
|
273
|
+
if (prioData[import_types.EventPriority.Info].minPosition > -1 && prioData[import_types.EventPriority.Debug].minPosition > -1) {
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
262
278
|
}
|
|
263
279
|
}
|
|
280
|
+
const occurrences = this.#occurrences;
|
|
281
|
+
for (const priority of [import_types.EventPriority.Debug, import_types.EventPriority.Info, import_types.EventPriority.Critical]) {
|
|
282
|
+
const checkUpTo = priority === import_types.EventPriority.Critical ? this.#storedEventCount : prioData[priority].minPosition;
|
|
283
|
+
if (checkUpTo === -1) {
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
for (let i = 0; i < checkUpTo && toDelete > 0; i++) {
|
|
287
|
+
if (occurrences[i] === void 0) continue;
|
|
288
|
+
const { priority: entryPriority, number } = occurrences[i];
|
|
289
|
+
if (entryPriority === priority) {
|
|
290
|
+
const drop = import_general.MaybePromise.catch(
|
|
291
|
+
this.#store.delete(number),
|
|
292
|
+
(error) => logger.warn(`Error dropping occurrence #${number}: ${error}`)
|
|
293
|
+
);
|
|
294
|
+
if (import_general.MaybePromise.is(drop)) {
|
|
295
|
+
asyncDrops.push(drop);
|
|
296
|
+
}
|
|
297
|
+
occurrences[i] = void 0;
|
|
298
|
+
toDelete--;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
if (toDelete <= 0) {
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
this.#occurrences = occurrences.filter((entry) => entry);
|
|
264
306
|
this.#storedEventCount = this.#occurrences.length;
|
|
265
307
|
if (asyncDrops.length) {
|
|
266
308
|
return import_general.MatterAggregateError.allSettled(asyncDrops, "Error dropping occurrences").then(() => {
|
|
@@ -271,7 +313,11 @@ class OccurrenceManager {
|
|
|
271
313
|
((OccurrenceManager2) => {
|
|
272
314
|
OccurrenceManager2.DefaultBufferConfig = {
|
|
273
315
|
minEventAllowance: 1e4,
|
|
274
|
-
maxEventAllowance: 11e3
|
|
316
|
+
maxEventAllowance: 11e3,
|
|
317
|
+
minPriorityEventAllowance: {
|
|
318
|
+
info: 2e3,
|
|
319
|
+
debug: 2e3
|
|
320
|
+
}
|
|
275
321
|
};
|
|
276
322
|
})(OccurrenceManager || (OccurrenceManager = {}));
|
|
277
323
|
//# sourceMappingURL=OccurrenceManager.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/events/OccurrenceManager.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAWO;AACP,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["occurrence", "occurrences", "OccurrenceManager"]
|
|
6
6
|
}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { GroupKeyManagement } from "#clusters/group-key-management";
|
|
7
|
-
import { BinaryKeyPair, Key, MatterError, MaybePromise, PrivateKey
|
|
7
|
+
import { BinaryKeyPair, Key, MatterError, MaybePromise, PrivateKey } from "#general";
|
|
8
8
|
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
9
|
-
import {
|
|
9
|
+
import { FabricId, FabricIndex, NodeId, VendorId } from "#types";
|
|
10
10
|
import { SecureSession } from "../session/SecureSession.js";
|
|
11
11
|
export declare class PublicKeyError extends MatterError {
|
|
12
12
|
}
|
|
@@ -49,12 +49,6 @@ export declare class Fabric {
|
|
|
49
49
|
set persistCallback(callback: (isUpdate?: boolean) => MaybePromise<void>);
|
|
50
50
|
remove(currentSessionId?: number): Promise<void>;
|
|
51
51
|
persist(isUpdate?: boolean): MaybePromise<void> | undefined;
|
|
52
|
-
getScopedClusterDataValue<T>(cluster: Cluster<any, any, any, any, any>, clusterDataKey: string): T | undefined;
|
|
53
|
-
setScopedClusterDataValue<T>(cluster: Cluster<any, any, any, any, any>, clusterDataKey: string, value: T): MaybePromise<void> | undefined;
|
|
54
|
-
deleteScopedClusterDataValue(cluster: Cluster<any, any, any, any, any>, clusterDataKey: string): MaybePromise<void>;
|
|
55
|
-
hasScopedClusterDataValue(cluster: Cluster<any, any, any, any, any>, clusterDataKey: string): boolean;
|
|
56
|
-
deleteScopedClusterData(cluster: Cluster<any, any, any, any, any>): MaybePromise<void> | undefined;
|
|
57
|
-
getScopedClusterDataKeys(cluster: Cluster<any, any, any, any, any>): string[];
|
|
58
52
|
getGroupKeySet(groupKeySetId: number): import("#types").TypeFromFields<{
|
|
59
53
|
groupKeySetId: import("#types").FieldType<number>;
|
|
60
54
|
groupKeySecurityPolicy: import("#types").FieldType<GroupKeyManagement.GroupKeySecurityPolicy>;
|
|
@@ -103,8 +97,6 @@ export declare class FabricBuilder {
|
|
|
103
97
|
build(fabricIndex: FabricIndex): Promise<Fabric>;
|
|
104
98
|
}
|
|
105
99
|
export declare namespace Fabric {
|
|
106
|
-
interface ScopedClusterData extends Map<number, Map<string, SupportedStorageTypes>> {
|
|
107
|
-
}
|
|
108
100
|
type Config = {
|
|
109
101
|
fabricIndex: FabricIndex;
|
|
110
102
|
fabricId: FabricId;
|
|
@@ -120,7 +112,6 @@ export declare namespace Fabric {
|
|
|
120
112
|
intermediateCACert: Uint8Array | undefined;
|
|
121
113
|
operationalCert: Uint8Array;
|
|
122
114
|
label: string;
|
|
123
|
-
scopedClusterData?: ScopedClusterData;
|
|
124
115
|
};
|
|
125
116
|
}
|
|
126
117
|
//# sourceMappingURL=Fabric.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACH,aAAa,EAOb,GAAG,EAEH,WAAW,EAEX,YAAY,EACZ,UAAU,
|
|
1
|
+
{"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,7 +78,6 @@ class Fabric {
|
|
|
78
78
|
operationalIdentityProtectionKey;
|
|
79
79
|
intermediateCACert;
|
|
80
80
|
operationalCert;
|
|
81
|
-
#scopedClusterData;
|
|
82
81
|
#keyPair;
|
|
83
82
|
#sessions = /* @__PURE__ */ new Set();
|
|
84
83
|
#label;
|
|
@@ -99,7 +98,6 @@ class Fabric {
|
|
|
99
98
|
this.operationalCert = config.operationalCert;
|
|
100
99
|
this.#label = config.label;
|
|
101
100
|
this.#keyPair = (0, import_general.PrivateKey)(config.keyPair);
|
|
102
|
-
this.#scopedClusterData = config.scopedClusterData ?? /* @__PURE__ */ new Map();
|
|
103
101
|
}
|
|
104
102
|
get config() {
|
|
105
103
|
return {
|
|
@@ -116,8 +114,7 @@ class Fabric {
|
|
|
116
114
|
operationalIdentityProtectionKey: this.operationalIdentityProtectionKey,
|
|
117
115
|
intermediateCACert: this.intermediateCACert,
|
|
118
116
|
operationalCert: this.operationalCert,
|
|
119
|
-
label: this.#label
|
|
120
|
-
scopedClusterData: this.#scopedClusterData
|
|
117
|
+
label: this.#label
|
|
121
118
|
};
|
|
122
119
|
}
|
|
123
120
|
get label() {
|
|
@@ -191,40 +188,6 @@ class Fabric {
|
|
|
191
188
|
persist(isUpdate = true) {
|
|
192
189
|
return this.#persistCallback?.(isUpdate);
|
|
193
190
|
}
|
|
194
|
-
getScopedClusterDataValue(cluster, clusterDataKey) {
|
|
195
|
-
const dataMap = this.#scopedClusterData.get(cluster.id);
|
|
196
|
-
if (dataMap === void 0) {
|
|
197
|
-
return void 0;
|
|
198
|
-
}
|
|
199
|
-
return dataMap.get(clusterDataKey);
|
|
200
|
-
}
|
|
201
|
-
setScopedClusterDataValue(cluster, clusterDataKey, value) {
|
|
202
|
-
if (!this.#scopedClusterData.has(cluster.id)) {
|
|
203
|
-
this.#scopedClusterData.set(cluster.id, /* @__PURE__ */ new Map());
|
|
204
|
-
}
|
|
205
|
-
this.#scopedClusterData.get(cluster.id).set(clusterDataKey, value);
|
|
206
|
-
return this.persist(false);
|
|
207
|
-
}
|
|
208
|
-
deleteScopedClusterDataValue(cluster, clusterDataKey) {
|
|
209
|
-
if (!this.#scopedClusterData.has(cluster.id)) {
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
this.#scopedClusterData.get(cluster.id).delete(clusterDataKey);
|
|
213
|
-
return this.persist(false);
|
|
214
|
-
}
|
|
215
|
-
hasScopedClusterDataValue(cluster, clusterDataKey) {
|
|
216
|
-
return this.#scopedClusterData.has(cluster.id) && this.#scopedClusterData.get(cluster.id).has(clusterDataKey);
|
|
217
|
-
}
|
|
218
|
-
deleteScopedClusterData(cluster) {
|
|
219
|
-
this.#scopedClusterData.delete(cluster.id);
|
|
220
|
-
return this.persist(false);
|
|
221
|
-
}
|
|
222
|
-
getScopedClusterDataKeys(cluster) {
|
|
223
|
-
if (!this.#scopedClusterData.has(cluster.id)) {
|
|
224
|
-
return [];
|
|
225
|
-
}
|
|
226
|
-
return Array.from(this.#scopedClusterData.get(cluster.id).keys());
|
|
227
|
-
}
|
|
228
191
|
getGroupKeySet(groupKeySetId) {
|
|
229
192
|
if (groupKeySetId === 0) {
|
|
230
193
|
return OperationalGroupKeySet.asTlvGroupSet(this.getGroupSetForIpk());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/fabric/Fabric.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,gCAKO;AACP,kCAAmC;AACnC,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["OperationalGroupKeySet"]
|
|
6
6
|
}
|
|
@@ -3,11 +3,31 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { ChannelType, Diagnostic, Lifespan, Network, ServerAddressIp, UdpMulticastServer } from "#general";
|
|
6
|
+
import { BasicSet, ChannelType, Diagnostic, Lifespan, Network, ServerAddressIp, UdpMulticastServer } from "#general";
|
|
7
7
|
import { NodeId } from "#types";
|
|
8
8
|
import { CommissionableDevice, CommissionableDeviceIdentifiers, DiscoveryData, OperationalDevice, Scanner } from "../common/Scanner.js";
|
|
9
9
|
import { Fabric } from "../fabric/Fabric.js";
|
|
10
10
|
type MatterServerRecordWithExpire = ServerAddressIp & Lifespan;
|
|
11
|
+
/**
|
|
12
|
+
* Interface to add criteria for MDNS discovery a node is interested in
|
|
13
|
+
*
|
|
14
|
+
* This interface is used to define criteria for mDNS scanner targets.
|
|
15
|
+
* It includes the information if commissionable devices are relevant for the target
|
|
16
|
+
* and a list of operational targets. Operational targets can consist of operational IDs
|
|
17
|
+
* and optional node IDs.
|
|
18
|
+
*
|
|
19
|
+
* When no commissionable devices are relevant and no operational targets are defined, it is
|
|
20
|
+
* not required to add a criteria to the scanner.
|
|
21
|
+
*/
|
|
22
|
+
export interface MdnsScannerTargetCriteria {
|
|
23
|
+
/** Are commissionable MDNS records relevant? */
|
|
24
|
+
commissionable: boolean;
|
|
25
|
+
/** List of operational targets. */
|
|
26
|
+
operationalTargets: {
|
|
27
|
+
operationalId: Uint8Array;
|
|
28
|
+
nodeId?: NodeId;
|
|
29
|
+
}[];
|
|
30
|
+
}
|
|
11
31
|
/**
|
|
12
32
|
* This class implements the Scanner interface for a MDNS scanner via UDP messages in a IP based network. It sends out
|
|
13
33
|
* queries to discover various types of Matter device types and listens for announcements.
|
|
@@ -20,6 +40,8 @@ export declare class MdnsScanner implements Scanner {
|
|
|
20
40
|
netInterface?: string;
|
|
21
41
|
}): Promise<MdnsScanner>;
|
|
22
42
|
constructor(multicastServer: UdpMulticastServer, enableIpv4?: boolean);
|
|
43
|
+
/** Set to add or delete criteria for MDNS discovery */
|
|
44
|
+
get targetCriteriaProviders(): BasicSet<MdnsScannerTargetCriteria, MdnsScannerTargetCriteria>;
|
|
23
45
|
/**
|
|
24
46
|
* Method to find an operational device (already commissioned) and return a promise with the list of discovered
|
|
25
47
|
* IP/ports or an empty array if not found.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,QAAQ,EAER,WAAW,EACX,UAAU,EAUV,QAAQ,EAGR,OAAO,EAEP,eAAe,EAIf,kBAAkB,EAGrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,EACH,oBAAoB,EACpB,+BAA+B,EAC/B,aAAa,EACb,iBAAiB,EACjB,OAAO,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAkB7C,KAAK,4BAA4B,GAAG,eAAe,GAAG,QAAQ,CAAC;AAoC/D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACtC,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IAExB,mCAAmC;IACnC,kBAAkB,EAAE;QAChB,aAAa,EAAE,UAAU,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACP;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACvC,IAAI,IAAI,gBAEP;WAEY,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAsDnF,eAAe,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO;IAcrE,uDAAuD;IACvD,IAAI,uBAAuB,mEAE1B;IAiWD;;;OAGG;IACG,qBAAqB,CACvB,EAAE,aAAa,EAAE,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAwBzC,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAAO;IAKtF,mCAAmC,CAAC,UAAU,EAAE,+BAA+B,EAAE,cAAc,UAAO;IAQtG,8BAA8B,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAoLxE;;;;;;;OAOG;IACG,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,cAAc,SAAI,EAClB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiBlC;;;OAGG;IACG,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiDlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B;mBAlOvD,eAAe,EAAE;;;;;;;;;;;;;;;;;oBA5jBxB,MAAM;YACd,MAAM;YACN,MAAM;YACN,MAAM;;IA+xBd;;OAEG;IACG,KAAK;IA8tBX,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa;IAmBnD,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;CASvF"}
|