@matter/types 0.15.2-alpha.0-20250703-2e16aba2b → 0.15.2-alpha.0-20250708-b8eb61a5e
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/datatype/GroupId.d.ts +3 -1
- package/dist/cjs/datatype/GroupId.d.ts.map +1 -1
- package/dist/cjs/datatype/GroupId.js +5 -2
- package/dist/cjs/datatype/GroupId.js.map +1 -1
- package/dist/cjs/datatype/NodeId.d.ts +0 -2
- package/dist/cjs/datatype/NodeId.d.ts.map +1 -1
- package/dist/cjs/datatype/NodeId.js +0 -4
- package/dist/cjs/datatype/NodeId.js.map +1 -1
- package/dist/cjs/protocol/definitions/secure-channel.d.ts +3 -0
- package/dist/cjs/protocol/definitions/secure-channel.d.ts.map +1 -1
- package/dist/cjs/protocol/definitions/secure-channel.js +6 -0
- package/dist/cjs/protocol/definitions/secure-channel.js.map +1 -1
- package/dist/esm/datatype/GroupId.d.ts +3 -1
- package/dist/esm/datatype/GroupId.d.ts.map +1 -1
- package/dist/esm/datatype/GroupId.js +5 -2
- package/dist/esm/datatype/GroupId.js.map +1 -1
- package/dist/esm/datatype/NodeId.d.ts +0 -2
- package/dist/esm/datatype/NodeId.d.ts.map +1 -1
- package/dist/esm/datatype/NodeId.js +0 -4
- package/dist/esm/datatype/NodeId.js.map +1 -1
- package/dist/esm/protocol/definitions/secure-channel.d.ts +3 -0
- package/dist/esm/protocol/definitions/secure-channel.d.ts.map +1 -1
- package/dist/esm/protocol/definitions/secure-channel.js +6 -0
- package/dist/esm/protocol/definitions/secure-channel.js.map +1 -1
- package/package.json +5 -5
- package/src/datatype/GroupId.ts +8 -2
- package/src/datatype/NodeId.ts +0 -6
- package/src/protocol/definitions/secure-channel.ts +6 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Branded } from "#general";
|
|
7
7
|
import { TlvWrapper } from "../tlv/TlvWrapper.js";
|
|
8
|
-
import { NodeId } from "./NodeId.js";
|
|
8
|
+
import type { NodeId } from "./NodeId.js";
|
|
9
9
|
/**
|
|
10
10
|
* A Group Identifier (Group ID or GID) is a 16-bit number that identifies a set of Nodes across a
|
|
11
11
|
* Fabric at the message layer (see Section 4.15, “Group Key Management”). A Group ID can further
|
|
@@ -33,6 +33,8 @@ export declare namespace GroupId {
|
|
|
33
33
|
function isApplicationGroupId(groupId: GroupId): boolean;
|
|
34
34
|
function assertGroupId(groupId: GroupId): void;
|
|
35
35
|
function fromNodeId(nodeId: NodeId): GroupId;
|
|
36
|
+
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
37
|
+
const isGroupNodeId: (nodeId: NodeId) => boolean;
|
|
36
38
|
}
|
|
37
39
|
/** Tlv Schema for a Group Id. */
|
|
38
40
|
export declare const TlvGroupId: TlvWrapper<GroupId, number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupId.d.ts","sourceRoot":"","sources":["../../../src/datatype/GroupId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAsC,MAAM,UAAU,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupId.d.ts","sourceRoot":"","sources":["../../../src/datatype/GroupId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAsC,MAAM,UAAU,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjD,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,OAAO,CAKjE;AAED,yBAAiB,OAAO,CAAC;IACd,MAAM,WAAW,SAAa,CAAC;IAEtC,2DAA2D;IACpD,MAAM,SAAS,EAAa,OAAO,CAAC;IAE3C;;OAEG;IACI,MAAM,iBAAiB,EAAa,OAAO,CAAC;IAI5C,MAAM,OAAO,8DAAuB,CAAC;IAE5C,6DAA6D;IAC7D,SAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE9D;IAED,SAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QAI7C;IAED,SAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQlD;IAED,gHAAgH;IACzG,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,OAG9C,CAAC;CACL;AAED,iCAAiC;AACjC,eAAO,MAAM,UAAU,6BAItB,CAAC"}
|
|
@@ -26,7 +26,6 @@ var import_general = require("#general");
|
|
|
26
26
|
var import_ValidationError = require("../common/ValidationError.js");
|
|
27
27
|
var import_TlvNumber = require("../tlv/TlvNumber.js");
|
|
28
28
|
var import_TlvWrapper = require("../tlv/TlvWrapper.js");
|
|
29
|
-
var import_NodeId = require("./NodeId.js");
|
|
30
29
|
/**
|
|
31
30
|
* @license
|
|
32
31
|
* Copyright 2022-2025 Matter.js Authors
|
|
@@ -54,13 +53,17 @@ function GroupId(groupId, validate = true) {
|
|
|
54
53
|
}
|
|
55
54
|
GroupId2.assertGroupId = assertGroupId;
|
|
56
55
|
function fromNodeId(nodeId) {
|
|
57
|
-
if (!
|
|
56
|
+
if (!(0, GroupId2.isGroupNodeId)(nodeId)) {
|
|
58
57
|
throw new import_general.InternalError(`NodeId ${nodeId} is not a Group NodeId`);
|
|
59
58
|
}
|
|
60
59
|
const groupId = Number(nodeId & BigInt(65535));
|
|
61
60
|
return GroupId2(groupId);
|
|
62
61
|
}
|
|
63
62
|
GroupId2.fromNodeId = fromNodeId;
|
|
63
|
+
GroupId2.isGroupNodeId = (nodeId) => {
|
|
64
|
+
const nodeIdHex = nodeId.toString(16);
|
|
65
|
+
return nodeIdHex.startsWith("ffffffffffff") && nodeIdHex.length === 16;
|
|
66
|
+
};
|
|
64
67
|
})(GroupId || (GroupId = {}));
|
|
65
68
|
const TlvGroupId = new import_TlvWrapper.TlvWrapper(
|
|
66
69
|
import_TlvNumber.TlvUInt16,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/datatype/GroupId.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA4D;AAC5D,6BAAwD;AACxD,uBAA0B;AAC1B,wBAA2B;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA4D;AAC5D,6BAAwD;AACxD,uBAA0B;AAC1B,wBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AA0BO,SAAS,QAAQ,SAAiB,WAAW,MAAe;AAC/D,MAAI,CAAC,YAAa,WAAW,KAAU,WAAW,OAAS;AACvD,WAAO,OAAO,OAAO;AAAA,EACzB;AACA,QAAM,IAAI,kDAA2B,qBAAqB,OAAO,EAAE;AACvE;AAAA,CAEO,CAAUA,aAAV;AACI,EAAMA,SAAA,cAAcA,SAAQ,CAAC;AAG7B,EAAMA,SAAA,YAAY;AAKlB,EAAMA,SAAA,oBAAoB;AAI1B,EAAMA,SAAA,cAAU,oCAAYA,QAAO;AAGnC,WAAS,qBAAqB,SAA2B;AAC5D,WAAO,WAAW,KAAU,WAAW;AAAA,EAC3C;AAFO,EAAAA,SAAS;AAIT,WAAS,cAAc,SAAkB;AAC5C,QAAI,YAAYA,SAAQ,aAAa;AACjC,YAAM,IAAI,mCAAoB,kDAAkD;AAAA,IACpF;AAAA,EACJ;AAJO,EAAAA,SAAS;AAMT,WAAS,WAAW,QAAyB;AAChD,QAAI,KAACA,SAAA,eAAc,MAAM,GAAG;AACxB,YAAM,IAAI,6BAAc,UAAU,MAAM,wBAAwB;AAAA,IACpE;AAEA,UAAM,UAAU,OAAO,SAAS,OAAO,KAAM,CAAC;AAE9C,WAAOA,SAAQ,OAAO;AAAA,EAC1B;AARO,EAAAA,SAAS;AAWT,EAAMA,SAAA,gBAAgB,CAAC,WAA4B;AACtD,UAAM,YAAY,OAAO,SAAS,EAAE;AACpC,WAAO,UAAU,WAAW,cAAc,KAAK,UAAU,WAAW;AAAA,EACxE;AAAA,GAxCa;AA4CV,MAAM,aAAa,IAAI;AAAA,EAC1B;AAAA,EACA,aAAW;AAAA,EACX,WAAS,QAAQ,OAAO,KAAK;AAAA;AACjC;",
|
|
5
5
|
"names": ["GroupId"]
|
|
6
6
|
}
|
|
@@ -32,8 +32,6 @@ export declare namespace NodeId {
|
|
|
32
32
|
*/
|
|
33
33
|
const isOperationalNodeId: (nodeId: NodeId) => boolean;
|
|
34
34
|
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
35
|
-
const isGroupNodeId: (nodeId: NodeId) => boolean;
|
|
36
|
-
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
37
35
|
const fromGroupId: (groupId: number) => NodeId;
|
|
38
36
|
/**
|
|
39
37
|
* A Temporary Local Node ID is a 64-bit Node ID that contains an implementation-dependent value in its lower
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeId.d.ts","sourceRoot":"","sources":["../../../src/datatype/NodeId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAS,MAAM,EAAmC,MAAM,UAAU,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/C,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAE9D;AAED,yBAAiB,MAAM,CAAC;IAIpB;;;OAGG;IACI,MAAM,mBAAmB,QAAY,CAAC;IAEtC,MAAM,WAAW,GAAI,QAAQ,MAAM,WAIzC,CAAC;IAEF;;;;OAIG;IACI,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,MAOxD,CAAC;IAEF;;OAEG;IACI,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,OAEpD,CAAC;IAEF,gHAAgH;IACzG,MAAM,
|
|
1
|
+
{"version":3,"file":"NodeId.d.ts","sourceRoot":"","sources":["../../../src/datatype/NodeId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAS,MAAM,EAAmC,MAAM,UAAU,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/C,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAE9D;AAED,yBAAiB,MAAM,CAAC;IAIpB;;;OAGG;IACI,MAAM,mBAAmB,QAAY,CAAC;IAEtC,MAAM,WAAW,GAAI,QAAQ,MAAM,WAIzC,CAAC;IAEF;;;;OAIG;IACI,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,MAOxD,CAAC;IAEF;;OAEG;IACI,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,OAEpD,CAAC;IAEF,gHAAgH;IACzG,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,MAE7C,CAAC;IAEF;;;;OAIG;IACI,MAAM,wBAAwB,GAAI,IAAI,MAAM,KAAG,MAKrD,CAAC;IAEF;;;OAGG;IACI,MAAM,wBAAwB,GAAI,IAAI,oBAAoB,KAAG,MAKnE,CAAC;IAEK,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,OAGvD,CAAC;IAEK,MAAM,6BAA6B,GAAI,QAAQ,MAAM,KAAG,oBAK9D,CAAC;IAEF;;;;OAIG;IACI,MAAM,wBAAwB,GAAI,IAAI,MAAM,KAAG,MAKrD,CAAC;CACL;AAED,wCAAwC;AACxC,eAAO,MAAM,SAAS,qCAIrB,CAAC"}
|
|
@@ -55,10 +55,6 @@ function NodeId(v) {
|
|
|
55
55
|
NodeId2.isOperationalNodeId = (nodeId) => {
|
|
56
56
|
return nodeId >= OPERATIONAL_NODE_MIN && nodeId <= OPERATIONAL_NODE_MAX;
|
|
57
57
|
};
|
|
58
|
-
NodeId2.isGroupNodeId = (nodeId) => {
|
|
59
|
-
const nodeIdHex = nodeId.toString(16);
|
|
60
|
-
return nodeIdHex.startsWith("ffffffffffff") && nodeIdHex.length === 16;
|
|
61
|
-
};
|
|
62
58
|
NodeId2.fromGroupId = (groupId) => {
|
|
63
59
|
return NodeId2(BigInt("0xFFFFFFFFFFFF" + (0, import_GroupId.GroupId)(groupId).toString(16).padStart(4, "0")));
|
|
64
60
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/datatype/NodeId.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAwB;AACxB,qBAAwE;AACxE,uBAA0B;AAC1B,wBAA2B;AAC3B,kCAAqC;AAVrC;AAAA;AAAA;AAAA;AAAA;AAoBO,SAAS,OAAO,GAAyC;AAC5D,SAAO,OAAO,CAAC;AACnB;AAAA,CAEO,CAAUA,YAAV;AACH,QAAM,uBAAuB,OAAO,oBAAoB;AACxD,QAAM,uBAAuB,OAAO,oBAAoB;AAMjD,EAAMA,QAAA,sBAAsBA,QAAO,CAAC;AAEpC,EAAMA,QAAA,cAAc,CAAC,WAAmB;AAC3C,UAAM,SAAS,IAAI,0BAAW;AAC9B,WAAO,YAAY,MAAM;AACzB,WAAO,qBAAM,MAAM,OAAO,YAAY,CAAC,EAAE,YAAY;AAAA,EACzD;AAOO,EAAMA,QAAA,0BAA0B,CAAC,WAA2B;AAC/D,WAAO,MAAM;AACT,YAAM,eAAe,OAAO,aAAa,CAAC;AAC1C,UAAI,gBAAgB,wBAAwB,gBAAgB,sBAAsB;AAC9E,eAAOA,QAAO,YAAY;AAAA,MAC9B;AAAA,IACJ;AAAA,EACJ;AAKO,EAAMA,QAAA,sBAAsB,CAAC,WAA4B;AAC5D,WAAO,UAAU,wBAAwB,UAAU;AAAA,EACvD;AAGO,EAAMA,QAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAwB;AACxB,qBAAwE;AACxE,uBAA0B;AAC1B,wBAA2B;AAC3B,kCAAqC;AAVrC;AAAA;AAAA;AAAA;AAAA;AAoBO,SAAS,OAAO,GAAyC;AAC5D,SAAO,OAAO,CAAC;AACnB;AAAA,CAEO,CAAUA,YAAV;AACH,QAAM,uBAAuB,OAAO,oBAAoB;AACxD,QAAM,uBAAuB,OAAO,oBAAoB;AAMjD,EAAMA,QAAA,sBAAsBA,QAAO,CAAC;AAEpC,EAAMA,QAAA,cAAc,CAAC,WAAmB;AAC3C,UAAM,SAAS,IAAI,0BAAW;AAC9B,WAAO,YAAY,MAAM;AACzB,WAAO,qBAAM,MAAM,OAAO,YAAY,CAAC,EAAE,YAAY;AAAA,EACzD;AAOO,EAAMA,QAAA,0BAA0B,CAAC,WAA2B;AAC/D,WAAO,MAAM;AACT,YAAM,eAAe,OAAO,aAAa,CAAC;AAC1C,UAAI,gBAAgB,wBAAwB,gBAAgB,sBAAsB;AAC9E,eAAOA,QAAO,YAAY;AAAA,MAC9B;AAAA,IACJ;AAAA,EACJ;AAKO,EAAMA,QAAA,sBAAsB,CAAC,WAA4B;AAC5D,WAAO,UAAU,wBAAwB,UAAU;AAAA,EACvD;AAGO,EAAMA,QAAA,cAAc,CAAC,YAA4B;AACpD,WAAOA,QAAO,OAAO,uBAAmB,wBAAQ,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EAC3F;AAOO,EAAMA,QAAA,2BAA2B,CAAC,OAAuB;AAC5D,QAAI,KAAK,KAAK,KAAK,YAAY;AAC3B,YAAM,IAAI,mCAAoB,eAAe,EAAE,EAAE;AAAA,IACrD;AACA,WAAOA,QAAO,OAAO,eAAe,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EACzE;AAMO,EAAMA,QAAA,2BAA2B,CAAC,OAAqC;AAC1E,QAAI,KAAK,KAAK,KAAK,YAAY;AAC3B,YAAM,IAAI,mCAAoB,mCAAmC,EAAE,EAAE;AAAA,IACzE;AACA,WAAOA,QAAO,OAAO,eAAe,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EACzE;AAEO,EAAMA,QAAA,yBAAyB,CAAC,WAA4B;AAC/D,UAAM,YAAY,OAAO,SAAS,EAAE;AACpC,WAAO,UAAU,WAAW,UAAU,KAAK,UAAU,WAAW;AAAA,EACpE;AAEO,EAAMA,QAAA,gCAAgC,CAAC,WAAyC;AACnF,QAAI,KAACA,QAAA,wBAAuB,MAAM,GAAG;AACjC,YAAM,IAAI,mCAAoB,mCAAmC,MAAM,EAAE;AAAA,IAC7E;AACA,eAAO,kDAAqB,SAAS,OAAO,SAAS,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AAAA,EAC1E;AAOO,EAAMA,QAAA,2BAA2B,CAAC,OAAuB;AAC5D,QAAI,KAAK,KAAK,KAAK,YAAY;AAC3B,YAAM,IAAI,mCAAoB,eAAe,EAAE,EAAE;AAAA,IACrD;AACA,WAAOA,QAAO,OAAO,eAAe,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EACzE;AAAA,GAvFa;AA2FV,MAAM,YAAY,IAAI;AAAA,EACzB;AAAA,EACA,YAAU;AAAA,EACV,WAAS,OAAO,OAAO,KAAK,CAAC;AACjC;",
|
|
5
5
|
"names": ["NodeId"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secure-channel.d.ts","sourceRoot":"","sources":["../../../../src/protocol/definitions/secure-channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAS,CAAC;AAEjD,oBAAY,iBAAiB;IACzB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,aAAa,KAAO;IAEpB,gFAAgF;IAChF,iBAAiB,KAAO;IAExB,2FAA2F;IAC3F,kBAAkB,KAAO;IAEzB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,oDAAoD;IACpD,SAAS,KAAO;IAEhB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,8CAA8C;IAC9C,MAAM,KAAO;IAEb,+CAA+C;IAC/C,MAAM,KAAO;IAEb,8CAA8C;IAC9C,MAAM,KAAO;IAEb,0DAA0D;IAC1D,YAAY,KAAO;IAEnB,qHAAqH;IACrH,YAAY,KAAO;IAEnB,0FAA0F;IAC1F,iBAAiB,KAAO;CAC3B;AAED,oBAAY,uBAAuB;IAC/B,yFAAyF;IACzF,OAAO,IAAS;IAEhB,oDAAoD;IACpD,kBAAkB,IAAS;IAE3B,oDAAoD;IACpD,YAAY,IAAS;IAErB,8GAA8G;IAC9G,YAAY,IAAS;IAErB,4GAA4G;IAC5G,IAAI,IAAS;IAEb;;OAEG;IACH,YAAY,QAAS;CACxB"}
|
|
1
|
+
{"version":3,"file":"secure-channel.d.ts","sourceRoot":"","sources":["../../../../src/protocol/definitions/secure-channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAS,CAAC;AAEjD,oBAAY,iBAAiB;IACzB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,aAAa,KAAO;IAEpB,gFAAgF;IAChF,iBAAiB,KAAO;IAExB,2FAA2F;IAC3F,kBAAkB,KAAO;IAEzB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,oDAAoD;IACpD,SAAS,KAAO;IAEhB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,8CAA8C;IAC9C,MAAM,KAAO;IAEb,+CAA+C;IAC/C,MAAM,KAAO;IAEb,8CAA8C;IAC9C,MAAM,KAAO;IAEb,0DAA0D;IAC1D,YAAY,KAAO;IAEnB,qHAAqH;IACrH,YAAY,KAAO;IAEnB,0FAA0F;IAC1F,iBAAiB,KAAO;CAC3B;AAED,oBAAY,uBAAuB;IAC/B,yFAAyF;IACzF,OAAO,IAAS;IAEhB,oDAAoD;IACpD,kBAAkB,IAAS;IAE3B,oDAAoD;IACpD,YAAY,IAAS;IAErB,8GAA8G;IAC9G,YAAY,IAAS;IAErB,4GAA4G;IAC5G,IAAI,IAAS;IAEb;;OAEG;IACH,YAAY,QAAS;CACxB;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAEtE;CACJ"}
|
|
@@ -55,4 +55,10 @@ var SecureChannelStatusCode = /* @__PURE__ */ ((SecureChannelStatusCode2) => {
|
|
|
55
55
|
SecureChannelStatusCode2[SecureChannelStatusCode2["GeneralError"] = 65535] = "GeneralError";
|
|
56
56
|
return SecureChannelStatusCode2;
|
|
57
57
|
})(SecureChannelStatusCode || {});
|
|
58
|
+
((SecureMessageType2) => {
|
|
59
|
+
function isStandaloneAck(protocolId, messageType) {
|
|
60
|
+
return protocolId === SECURE_CHANNEL_PROTOCOL_ID && messageType === 16 /* StandaloneAck */;
|
|
61
|
+
}
|
|
62
|
+
SecureMessageType2.isStandaloneAck = isStandaloneAck;
|
|
63
|
+
})(SecureMessageType || (SecureMessageType = {}));
|
|
58
64
|
//# sourceMappingURL=secure-channel.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/protocol/definitions/secure-channel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,6BAA6B;AAEnC,IAAK,oBAAL,kBAAKA,uBAAL;AAKH,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,mBAAgB,MAAhB;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAGA,EAAAA,sCAAA,wBAAqB,MAArB;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAlDQ,SAAAA;AAAA,GAAA;AAqDL,IAAK,0BAAL,kBAAKC,6BAAL;AAEH,EAAAA,kDAAA,aAAU,KAAV;AAGA,EAAAA,kDAAA,wBAAqB,KAArB;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,UAAO,KAAP;AAKA,EAAAA,kDAAA,kBAAe,SAAf;AAnBQ,SAAAA;AAAA,GAAA;",
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,6BAA6B;AAEnC,IAAK,oBAAL,kBAAKA,uBAAL;AAKH,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,mBAAgB,MAAhB;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAGA,EAAAA,sCAAA,wBAAqB,MAArB;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAlDQ,SAAAA;AAAA,GAAA;AAqDL,IAAK,0BAAL,kBAAKC,6BAAL;AAEH,EAAAA,kDAAA,aAAU,KAAV;AAGA,EAAAA,kDAAA,wBAAqB,KAArB;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,UAAO,KAAP;AAKA,EAAAA,kDAAA,kBAAe,SAAf;AAnBQ,SAAAA;AAAA,GAAA;AAAA,CAsBL,CAAUD,uBAAV;AACI,WAAS,gBAAgB,YAAoB,aAAqB;AACrE,WAAO,eAAe,8BAA8B,gBAAgB;AAAA,EACxE;AAFO,EAAAA,mBAAS;AAAA,GADH;",
|
|
5
5
|
"names": ["SecureMessageType", "SecureChannelStatusCode"]
|
|
6
6
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Branded } from "#general";
|
|
7
7
|
import { TlvWrapper } from "../tlv/TlvWrapper.js";
|
|
8
|
-
import { NodeId } from "./NodeId.js";
|
|
8
|
+
import type { NodeId } from "./NodeId.js";
|
|
9
9
|
/**
|
|
10
10
|
* A Group Identifier (Group ID or GID) is a 16-bit number that identifies a set of Nodes across a
|
|
11
11
|
* Fabric at the message layer (see Section 4.15, “Group Key Management”). A Group ID can further
|
|
@@ -33,6 +33,8 @@ export declare namespace GroupId {
|
|
|
33
33
|
function isApplicationGroupId(groupId: GroupId): boolean;
|
|
34
34
|
function assertGroupId(groupId: GroupId): void;
|
|
35
35
|
function fromNodeId(nodeId: NodeId): GroupId;
|
|
36
|
+
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
37
|
+
const isGroupNodeId: (nodeId: NodeId) => boolean;
|
|
36
38
|
}
|
|
37
39
|
/** Tlv Schema for a Group Id. */
|
|
38
40
|
export declare const TlvGroupId: TlvWrapper<GroupId, number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupId.d.ts","sourceRoot":"","sources":["../../../src/datatype/GroupId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAsC,MAAM,UAAU,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupId.d.ts","sourceRoot":"","sources":["../../../src/datatype/GroupId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAsC,MAAM,UAAU,CAAC;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjD,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,OAAO,CAKjE;AAED,yBAAiB,OAAO,CAAC;IACd,MAAM,WAAW,SAAa,CAAC;IAEtC,2DAA2D;IACpD,MAAM,SAAS,EAAa,OAAO,CAAC;IAE3C;;OAEG;IACI,MAAM,iBAAiB,EAAa,OAAO,CAAC;IAI5C,MAAM,OAAO,8DAAuB,CAAC;IAE5C,6DAA6D;IAC7D,SAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE9D;IAED,SAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QAI7C;IAED,SAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQlD;IAED,gHAAgH;IACzG,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,OAG9C,CAAC;CACL;AAED,iCAAiC;AACjC,eAAO,MAAM,UAAU,6BAItB,CAAC"}
|
|
@@ -7,7 +7,6 @@ import { InternalError, UnexpectedDataError } from "#general";
|
|
|
7
7
|
import { ValidationOutOfBoundsError, validatorOf } from "../common/ValidationError.js";
|
|
8
8
|
import { TlvUInt16 } from "../tlv/TlvNumber.js";
|
|
9
9
|
import { TlvWrapper } from "../tlv/TlvWrapper.js";
|
|
10
|
-
import { NodeId } from "./NodeId.js";
|
|
11
10
|
function GroupId(groupId, validate = true) {
|
|
12
11
|
if (!validate || groupId >= 0 && groupId <= 65535) {
|
|
13
12
|
return Number(groupId);
|
|
@@ -30,13 +29,17 @@ function GroupId(groupId, validate = true) {
|
|
|
30
29
|
}
|
|
31
30
|
GroupId2.assertGroupId = assertGroupId;
|
|
32
31
|
function fromNodeId(nodeId) {
|
|
33
|
-
if (!
|
|
32
|
+
if (!(0, GroupId2.isGroupNodeId)(nodeId)) {
|
|
34
33
|
throw new InternalError(`NodeId ${nodeId} is not a Group NodeId`);
|
|
35
34
|
}
|
|
36
35
|
const groupId = Number(nodeId & BigInt(65535));
|
|
37
36
|
return GroupId2(groupId);
|
|
38
37
|
}
|
|
39
38
|
GroupId2.fromNodeId = fromNodeId;
|
|
39
|
+
GroupId2.isGroupNodeId = (nodeId) => {
|
|
40
|
+
const nodeIdHex = nodeId.toString(16);
|
|
41
|
+
return nodeIdHex.startsWith("ffffffffffff") && nodeIdHex.length === 16;
|
|
42
|
+
};
|
|
40
43
|
})(GroupId || (GroupId = {}));
|
|
41
44
|
const TlvGroupId = new TlvWrapper(
|
|
42
45
|
TlvUInt16,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/datatype/GroupId.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,eAAe,2BAA2B;AAC5D,SAAS,4BAA4B,mBAAmB;AACxD,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,eAAe,2BAA2B;AAC5D,SAAS,4BAA4B,mBAAmB;AACxD,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAiBpB,SAAS,QAAQ,SAAiB,WAAW,MAAe;AAC/D,MAAI,CAAC,YAAa,WAAW,KAAU,WAAW,OAAS;AACvD,WAAO,OAAO,OAAO;AAAA,EACzB;AACA,QAAM,IAAI,2BAA2B,qBAAqB,OAAO,EAAE;AACvE;AAAA,CAEO,CAAUA,aAAV;AACI,EAAMA,SAAA,cAAcA,SAAQ,CAAC;AAG7B,EAAMA,SAAA,YAAY;AAKlB,EAAMA,SAAA,oBAAoB;AAI1B,EAAMA,SAAA,UAAU,YAAYA,QAAO;AAGnC,WAAS,qBAAqB,SAA2B;AAC5D,WAAO,WAAW,KAAU,WAAW;AAAA,EAC3C;AAFO,EAAAA,SAAS;AAIT,WAAS,cAAc,SAAkB;AAC5C,QAAI,YAAYA,SAAQ,aAAa;AACjC,YAAM,IAAI,oBAAoB,kDAAkD;AAAA,IACpF;AAAA,EACJ;AAJO,EAAAA,SAAS;AAMT,WAAS,WAAW,QAAyB;AAChD,QAAI,KAACA,SAAA,eAAc,MAAM,GAAG;AACxB,YAAM,IAAI,cAAc,UAAU,MAAM,wBAAwB;AAAA,IACpE;AAEA,UAAM,UAAU,OAAO,SAAS,OAAO,KAAM,CAAC;AAE9C,WAAOA,SAAQ,OAAO;AAAA,EAC1B;AARO,EAAAA,SAAS;AAWT,EAAMA,SAAA,gBAAgB,CAAC,WAA4B;AACtD,UAAM,YAAY,OAAO,SAAS,EAAE;AACpC,WAAO,UAAU,WAAW,cAAc,KAAK,UAAU,WAAW;AAAA,EACxE;AAAA,GAxCa;AA4CV,MAAM,aAAa,IAAI;AAAA,EAC1B;AAAA,EACA,aAAW;AAAA,EACX,WAAS,QAAQ,OAAO,KAAK;AAAA;AACjC;",
|
|
5
5
|
"names": ["GroupId"]
|
|
6
6
|
}
|
|
@@ -32,8 +32,6 @@ export declare namespace NodeId {
|
|
|
32
32
|
*/
|
|
33
33
|
const isOperationalNodeId: (nodeId: NodeId) => boolean;
|
|
34
34
|
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
35
|
-
const isGroupNodeId: (nodeId: NodeId) => boolean;
|
|
36
|
-
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
37
35
|
const fromGroupId: (groupId: number) => NodeId;
|
|
38
36
|
/**
|
|
39
37
|
* A Temporary Local Node ID is a 64-bit Node ID that contains an implementation-dependent value in its lower
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeId.d.ts","sourceRoot":"","sources":["../../../src/datatype/NodeId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAS,MAAM,EAAmC,MAAM,UAAU,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/C,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAE9D;AAED,yBAAiB,MAAM,CAAC;IAIpB;;;OAGG;IACI,MAAM,mBAAmB,QAAY,CAAC;IAEtC,MAAM,WAAW,GAAI,QAAQ,MAAM,WAIzC,CAAC;IAEF;;;;OAIG;IACI,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,MAOxD,CAAC;IAEF;;OAEG;IACI,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,OAEpD,CAAC;IAEF,gHAAgH;IACzG,MAAM,
|
|
1
|
+
{"version":3,"file":"NodeId.d.ts","sourceRoot":"","sources":["../../../src/datatype/NodeId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAS,MAAM,EAAmC,MAAM,UAAU,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/C,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAE9D;AAED,yBAAiB,MAAM,CAAC;IAIpB;;;OAGG;IACI,MAAM,mBAAmB,QAAY,CAAC;IAEtC,MAAM,WAAW,GAAI,QAAQ,MAAM,WAIzC,CAAC;IAEF;;;;OAIG;IACI,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,MAOxD,CAAC;IAEF;;OAEG;IACI,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,OAEpD,CAAC;IAEF,gHAAgH;IACzG,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,MAE7C,CAAC;IAEF;;;;OAIG;IACI,MAAM,wBAAwB,GAAI,IAAI,MAAM,KAAG,MAKrD,CAAC;IAEF;;;OAGG;IACI,MAAM,wBAAwB,GAAI,IAAI,oBAAoB,KAAG,MAKnE,CAAC;IAEK,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,OAGvD,CAAC;IAEK,MAAM,6BAA6B,GAAI,QAAQ,MAAM,KAAG,oBAK9D,CAAC;IAEF;;;;OAIG;IACI,MAAM,wBAAwB,GAAI,IAAI,MAAM,KAAG,MAKrD,CAAC;CACL;AAED,wCAAwC;AACxC,eAAO,MAAM,SAAS,qCAIrB,CAAC"}
|
|
@@ -31,10 +31,6 @@ function NodeId(v) {
|
|
|
31
31
|
NodeId2.isOperationalNodeId = (nodeId) => {
|
|
32
32
|
return nodeId >= OPERATIONAL_NODE_MIN && nodeId <= OPERATIONAL_NODE_MAX;
|
|
33
33
|
};
|
|
34
|
-
NodeId2.isGroupNodeId = (nodeId) => {
|
|
35
|
-
const nodeIdHex = nodeId.toString(16);
|
|
36
|
-
return nodeIdHex.startsWith("ffffffffffff") && nodeIdHex.length === 16;
|
|
37
|
-
};
|
|
38
34
|
NodeId2.fromGroupId = (groupId) => {
|
|
39
35
|
return NodeId2(BigInt("0xFFFFFFFFFFFF" + GroupId(groupId).toString(16).padStart(4, "0")));
|
|
40
36
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/datatype/NodeId.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AACxB,SAAkB,OAAe,YAAY,2BAA2B;AACxE,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,4BAA4B;AAU9B,SAAS,OAAO,GAAyC;AAC5D,SAAO,OAAO,CAAC;AACnB;AAAA,CAEO,CAAUA,YAAV;AACH,QAAM,uBAAuB,OAAO,oBAAoB;AACxD,QAAM,uBAAuB,OAAO,oBAAoB;AAMjD,EAAMA,QAAA,sBAAsBA,QAAO,CAAC;AAEpC,EAAMA,QAAA,cAAc,CAAC,WAAmB;AAC3C,UAAM,SAAS,IAAI,WAAW;AAC9B,WAAO,YAAY,MAAM;AACzB,WAAO,MAAM,MAAM,OAAO,YAAY,CAAC,EAAE,YAAY;AAAA,EACzD;AAOO,EAAMA,QAAA,0BAA0B,CAAC,WAA2B;AAC/D,WAAO,MAAM;AACT,YAAM,eAAe,OAAO,aAAa,CAAC;AAC1C,UAAI,gBAAgB,wBAAwB,gBAAgB,sBAAsB;AAC9E,eAAOA,QAAO,YAAY;AAAA,MAC9B;AAAA,IACJ;AAAA,EACJ;AAKO,EAAMA,QAAA,sBAAsB,CAAC,WAA4B;AAC5D,WAAO,UAAU,wBAAwB,UAAU;AAAA,EACvD;AAGO,EAAMA,QAAA,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AACxB,SAAkB,OAAe,YAAY,2BAA2B;AACxE,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,4BAA4B;AAU9B,SAAS,OAAO,GAAyC;AAC5D,SAAO,OAAO,CAAC;AACnB;AAAA,CAEO,CAAUA,YAAV;AACH,QAAM,uBAAuB,OAAO,oBAAoB;AACxD,QAAM,uBAAuB,OAAO,oBAAoB;AAMjD,EAAMA,QAAA,sBAAsBA,QAAO,CAAC;AAEpC,EAAMA,QAAA,cAAc,CAAC,WAAmB;AAC3C,UAAM,SAAS,IAAI,WAAW;AAC9B,WAAO,YAAY,MAAM;AACzB,WAAO,MAAM,MAAM,OAAO,YAAY,CAAC,EAAE,YAAY;AAAA,EACzD;AAOO,EAAMA,QAAA,0BAA0B,CAAC,WAA2B;AAC/D,WAAO,MAAM;AACT,YAAM,eAAe,OAAO,aAAa,CAAC;AAC1C,UAAI,gBAAgB,wBAAwB,gBAAgB,sBAAsB;AAC9E,eAAOA,QAAO,YAAY;AAAA,MAC9B;AAAA,IACJ;AAAA,EACJ;AAKO,EAAMA,QAAA,sBAAsB,CAAC,WAA4B;AAC5D,WAAO,UAAU,wBAAwB,UAAU;AAAA,EACvD;AAGO,EAAMA,QAAA,cAAc,CAAC,YAA4B;AACpD,WAAOA,QAAO,OAAO,mBAAmB,QAAQ,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EAC3F;AAOO,EAAMA,QAAA,2BAA2B,CAAC,OAAuB;AAC5D,QAAI,KAAK,KAAK,KAAK,YAAY;AAC3B,YAAM,IAAI,oBAAoB,eAAe,EAAE,EAAE;AAAA,IACrD;AACA,WAAOA,QAAO,OAAO,eAAe,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EACzE;AAMO,EAAMA,QAAA,2BAA2B,CAAC,OAAqC;AAC1E,QAAI,KAAK,KAAK,KAAK,YAAY;AAC3B,YAAM,IAAI,oBAAoB,mCAAmC,EAAE,EAAE;AAAA,IACzE;AACA,WAAOA,QAAO,OAAO,eAAe,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EACzE;AAEO,EAAMA,QAAA,yBAAyB,CAAC,WAA4B;AAC/D,UAAM,YAAY,OAAO,SAAS,EAAE;AACpC,WAAO,UAAU,WAAW,UAAU,KAAK,UAAU,WAAW;AAAA,EACpE;AAEO,EAAMA,QAAA,gCAAgC,CAAC,WAAyC;AACnF,QAAI,KAACA,QAAA,wBAAuB,MAAM,GAAG;AACjC,YAAM,IAAI,oBAAoB,mCAAmC,MAAM,EAAE;AAAA,IAC7E;AACA,WAAO,qBAAqB,SAAS,OAAO,SAAS,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AAAA,EAC1E;AAOO,EAAMA,QAAA,2BAA2B,CAAC,OAAuB;AAC5D,QAAI,KAAK,KAAK,KAAK,YAAY;AAC3B,YAAM,IAAI,oBAAoB,eAAe,EAAE,EAAE;AAAA,IACrD;AACA,WAAOA,QAAO,OAAO,eAAe,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;AAAA,EACzE;AAAA,GAvFa;AA2FV,MAAM,YAAY,IAAI;AAAA,EACzB;AAAA,EACA,YAAU;AAAA,EACV,WAAS,OAAO,OAAO,KAAK,CAAC;AACjC;",
|
|
5
5
|
"names": ["NodeId"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secure-channel.d.ts","sourceRoot":"","sources":["../../../../src/protocol/definitions/secure-channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAS,CAAC;AAEjD,oBAAY,iBAAiB;IACzB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,aAAa,KAAO;IAEpB,gFAAgF;IAChF,iBAAiB,KAAO;IAExB,2FAA2F;IAC3F,kBAAkB,KAAO;IAEzB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,oDAAoD;IACpD,SAAS,KAAO;IAEhB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,8CAA8C;IAC9C,MAAM,KAAO;IAEb,+CAA+C;IAC/C,MAAM,KAAO;IAEb,8CAA8C;IAC9C,MAAM,KAAO;IAEb,0DAA0D;IAC1D,YAAY,KAAO;IAEnB,qHAAqH;IACrH,YAAY,KAAO;IAEnB,0FAA0F;IAC1F,iBAAiB,KAAO;CAC3B;AAED,oBAAY,uBAAuB;IAC/B,yFAAyF;IACzF,OAAO,IAAS;IAEhB,oDAAoD;IACpD,kBAAkB,IAAS;IAE3B,oDAAoD;IACpD,YAAY,IAAS;IAErB,8GAA8G;IAC9G,YAAY,IAAS;IAErB,4GAA4G;IAC5G,IAAI,IAAS;IAEb;;OAEG;IACH,YAAY,QAAS;CACxB"}
|
|
1
|
+
{"version":3,"file":"secure-channel.d.ts","sourceRoot":"","sources":["../../../../src/protocol/definitions/secure-channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAS,CAAC;AAEjD,oBAAY,iBAAiB;IACzB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,iBAAiB,IAAO;IAExB;;;OAGG;IACH,aAAa,KAAO;IAEpB,gFAAgF;IAChF,iBAAiB,KAAO;IAExB,2FAA2F;IAC3F,kBAAkB,KAAO;IAEzB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,oDAAoD;IACpD,SAAS,KAAO;IAEhB,mDAAmD;IACnD,SAAS,KAAO;IAEhB,8CAA8C;IAC9C,MAAM,KAAO;IAEb,+CAA+C;IAC/C,MAAM,KAAO;IAEb,8CAA8C;IAC9C,MAAM,KAAO;IAEb,0DAA0D;IAC1D,YAAY,KAAO;IAEnB,qHAAqH;IACrH,YAAY,KAAO;IAEnB,0FAA0F;IAC1F,iBAAiB,KAAO;CAC3B;AAED,oBAAY,uBAAuB;IAC/B,yFAAyF;IACzF,OAAO,IAAS;IAEhB,oDAAoD;IACpD,kBAAkB,IAAS;IAE3B,oDAAoD;IACpD,YAAY,IAAS;IAErB,8GAA8G;IAC9G,YAAY,IAAS;IAErB,4GAA4G;IAC5G,IAAI,IAAS;IAEb;;OAEG;IACH,YAAY,QAAS;CACxB;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAEtE;CACJ"}
|
|
@@ -30,6 +30,12 @@ var SecureChannelStatusCode = /* @__PURE__ */ ((SecureChannelStatusCode2) => {
|
|
|
30
30
|
SecureChannelStatusCode2[SecureChannelStatusCode2["GeneralError"] = 65535] = "GeneralError";
|
|
31
31
|
return SecureChannelStatusCode2;
|
|
32
32
|
})(SecureChannelStatusCode || {});
|
|
33
|
+
((SecureMessageType2) => {
|
|
34
|
+
function isStandaloneAck(protocolId, messageType) {
|
|
35
|
+
return protocolId === SECURE_CHANNEL_PROTOCOL_ID && messageType === 16 /* StandaloneAck */;
|
|
36
|
+
}
|
|
37
|
+
SecureMessageType2.isStandaloneAck = isStandaloneAck;
|
|
38
|
+
})(SecureMessageType || (SecureMessageType = {}));
|
|
33
39
|
export {
|
|
34
40
|
SECURE_CHANNEL_PROTOCOL_ID,
|
|
35
41
|
SecureChannelStatusCode,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/protocol/definitions/secure-channel.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,6BAA6B;AAEnC,IAAK,oBAAL,kBAAKA,uBAAL;AAKH,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,mBAAgB,MAAhB;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAGA,EAAAA,sCAAA,wBAAqB,MAArB;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAlDQ,SAAAA;AAAA,GAAA;AAqDL,IAAK,0BAAL,kBAAKC,6BAAL;AAEH,EAAAA,kDAAA,aAAU,KAAV;AAGA,EAAAA,kDAAA,wBAAqB,KAArB;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,UAAO,KAAP;AAKA,EAAAA,kDAAA,kBAAe,SAAf;AAnBQ,SAAAA;AAAA,GAAA;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,6BAA6B;AAEnC,IAAK,oBAAL,kBAAKA,uBAAL;AAKH,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,uBAAoB,KAApB;AAMA,EAAAA,sCAAA,mBAAgB,MAAhB;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAGA,EAAAA,sCAAA,wBAAqB,MAArB;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,eAAY,MAAZ;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,YAAS,MAAT;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,kBAAe,MAAf;AAGA,EAAAA,sCAAA,uBAAoB,MAApB;AAlDQ,SAAAA;AAAA,GAAA;AAqDL,IAAK,0BAAL,kBAAKC,6BAAL;AAEH,EAAAA,kDAAA,aAAU,KAAV;AAGA,EAAAA,kDAAA,wBAAqB,KAArB;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,kBAAe,KAAf;AAGA,EAAAA,kDAAA,UAAO,KAAP;AAKA,EAAAA,kDAAA,kBAAe,SAAf;AAnBQ,SAAAA;AAAA,GAAA;AAAA,CAsBL,CAAUD,uBAAV;AACI,WAAS,gBAAgB,YAAoB,aAAqB;AACrE,WAAO,eAAe,8BAA8B,gBAAgB;AAAA,EACxE;AAFO,EAAAA,mBAAS;AAAA,GADH;",
|
|
5
5
|
"names": ["SecureMessageType", "SecureChannelStatusCode"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/types",
|
|
3
|
-
"version": "0.15.2-alpha.0-
|
|
3
|
+
"version": "0.15.2-alpha.0-20250708-b8eb61a5e",
|
|
4
4
|
"description": "Definitions for Matter application",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
"embed-examples": "embedme **/README.md"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@matter/general": "0.15.2-alpha.0-
|
|
37
|
-
"@matter/model": "0.15.2-alpha.0-
|
|
36
|
+
"@matter/general": "0.15.2-alpha.0-20250708-b8eb61a5e",
|
|
37
|
+
"@matter/model": "0.15.2-alpha.0-20250708-b8eb61a5e"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@matter/tools": "0.15.2-alpha.0-
|
|
41
|
-
"@matter/testing": "0.15.2-alpha.0-
|
|
40
|
+
"@matter/tools": "0.15.2-alpha.0-20250708-b8eb61a5e",
|
|
41
|
+
"@matter/testing": "0.15.2-alpha.0-20250708-b8eb61a5e"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"dist/**/*",
|
package/src/datatype/GroupId.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { Branded, InternalError, UnexpectedDataError } from "#general";
|
|
|
8
8
|
import { ValidationOutOfBoundsError, validatorOf } from "../common/ValidationError.js";
|
|
9
9
|
import { TlvUInt16 } from "../tlv/TlvNumber.js";
|
|
10
10
|
import { TlvWrapper } from "../tlv/TlvWrapper.js";
|
|
11
|
-
import { NodeId } from "./NodeId.js";
|
|
11
|
+
import type { NodeId } from "./NodeId.js";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* A Group Identifier (Group ID or GID) is a 16-bit number that identifies a set of Nodes across a
|
|
@@ -58,7 +58,7 @@ export namespace GroupId {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
export function fromNodeId(nodeId: NodeId): GroupId {
|
|
61
|
-
if (!
|
|
61
|
+
if (!isGroupNodeId(nodeId)) {
|
|
62
62
|
throw new InternalError(`NodeId ${nodeId} is not a Group NodeId`);
|
|
63
63
|
}
|
|
64
64
|
// NodeId is a 64-bit value, where the lower 16 bits represent the GroupId
|
|
@@ -66,6 +66,12 @@ export namespace GroupId {
|
|
|
66
66
|
// TODO Check if 0 is allowed??
|
|
67
67
|
return GroupId(groupId);
|
|
68
68
|
}
|
|
69
|
+
|
|
70
|
+
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
71
|
+
export const isGroupNodeId = (nodeId: NodeId): boolean => {
|
|
72
|
+
const nodeIdHex = nodeId.toString(16);
|
|
73
|
+
return nodeIdHex.startsWith("ffffffffffff") && nodeIdHex.length === 16;
|
|
74
|
+
};
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
/** Tlv Schema for a Group Id. */
|
package/src/datatype/NodeId.ts
CHANGED
|
@@ -59,12 +59,6 @@ export namespace NodeId {
|
|
|
59
59
|
return nodeId >= OPERATIONAL_NODE_MIN && nodeId <= OPERATIONAL_NODE_MAX;
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
63
|
-
export const isGroupNodeId = (nodeId: NodeId): boolean => {
|
|
64
|
-
const nodeIdHex = nodeId.toString(16);
|
|
65
|
-
return nodeIdHex.startsWith("ffffffffffff") && nodeIdHex.length === 16;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
62
|
/** A Group Node ID is a 64-bit Node ID that contains a particular Group ID in the lower half of the Node ID. */
|
|
69
63
|
export const fromGroupId = (groupId: number): NodeId => {
|
|
70
64
|
return NodeId(BigInt("0xFFFFFFFFFFFF" + GroupId(groupId).toString(16).padStart(4, "0")));
|
|
@@ -83,3 +83,9 @@ export enum SecureChannelStatusCode {
|
|
|
83
83
|
*/
|
|
84
84
|
GeneralError = 0xffff,
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
export namespace SecureMessageType {
|
|
88
|
+
export function isStandaloneAck(protocolId: number, messageType: number) {
|
|
89
|
+
return protocolId === SECURE_CHANNEL_PROTOCOL_ID && messageType === SecureMessageType.StandaloneAck;
|
|
90
|
+
}
|
|
91
|
+
}
|