@matter/protocol 0.12.6-alpha.0-20250304-03716637c → 0.13.0-alpha.0-20250307-ebf84a05a
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/common/Scanner.d.ts +25 -1
- package/dist/cjs/common/Scanner.d.ts.map +1 -1
- package/dist/cjs/common/Scanner.js +18 -1
- package/dist/cjs/common/Scanner.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +0 -1
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/mdns/MdnsBroadcaster.js +3 -3
- package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.js +1 -1
- package/dist/cjs/mdns/MdnsScanner.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +55 -55
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +33 -1
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +16 -3
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +14 -4
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/case/CaseMessages.d.ts +15 -0
- package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseMessenger.d.ts +15 -0
- package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +7 -1
- package/dist/cjs/session/pase/PaseClient.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessages.d.ts +21 -0
- package/dist/cjs/session/pase/PaseMessages.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseMessages.js +6 -1
- package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessenger.d.ts +10 -0
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +8 -2
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/common/Scanner.d.ts +25 -1
- package/dist/esm/common/Scanner.d.ts.map +1 -1
- package/dist/esm/common/Scanner.js +18 -1
- package/dist/esm/common/Scanner.js.map +1 -1
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +0 -1
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/mdns/MdnsBroadcaster.js +3 -3
- package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsScanner.js +1 -1
- package/dist/esm/mdns/MdnsScanner.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +55 -55
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/session/Session.d.ts +33 -1
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +16 -3
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +15 -4
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/case/CaseMessages.d.ts +15 -0
- package/dist/esm/session/case/CaseMessages.d.ts.map +1 -1
- package/dist/esm/session/case/CaseMessenger.d.ts +15 -0
- package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +7 -1
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseMessages.d.ts +21 -0
- package/dist/esm/session/pase/PaseMessages.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseMessages.js +16 -2
- package/dist/esm/session/pase/PaseMessages.js.map +1 -1
- package/dist/esm/session/pase/PaseMessenger.d.ts +10 -0
- package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +8 -2
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/common/Scanner.ts +18 -2
- package/src/fabric/Fabric.ts +0 -1
- package/src/mdns/MdnsBroadcaster.ts +3 -3
- package/src/mdns/MdnsScanner.ts +3 -2
- package/src/peer/ControllerCommissioningFlow.ts +55 -52
- package/src/session/Session.ts +50 -1
- package/src/session/SessionManager.ts +20 -2
- package/src/session/pase/PaseClient.ts +10 -1
- package/src/session/pase/PaseMessages.ts +17 -1
- package/src/session/pase/PaseServer.ts +11 -1
|
@@ -20,6 +20,11 @@ export declare const TlvCaseSigma1: import("#types").ObjectSchema<{
|
|
|
20
20
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
21
21
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
22
22
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
23
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
24
|
+
tcpClient: import("#types").BitFlag;
|
|
25
|
+
tcpServer: import("#types").BitFlag;
|
|
26
|
+
}>>;
|
|
27
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
23
28
|
}>>;
|
|
24
29
|
resumptionId: import("#types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
|
|
25
30
|
initiatorResumeMic: import("#types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
|
|
@@ -38,6 +43,11 @@ export declare const TlvCaseSigma2: import("#types").ObjectSchema<{
|
|
|
38
43
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
39
44
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
40
45
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
46
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
47
|
+
tcpClient: import("#types").BitFlag;
|
|
48
|
+
tcpServer: import("#types").BitFlag;
|
|
49
|
+
}>>;
|
|
50
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
41
51
|
}>>;
|
|
42
52
|
}>;
|
|
43
53
|
/** @see {@link MatterSpecification.v13.Core} § 4.14.2.3 */
|
|
@@ -53,6 +63,11 @@ export declare const TlvCaseSigma2Resume: import("#types").ObjectSchema<{
|
|
|
53
63
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
54
64
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
55
65
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
66
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
67
|
+
tcpClient: import("#types").BitFlag;
|
|
68
|
+
tcpServer: import("#types").BitFlag;
|
|
69
|
+
}>>;
|
|
70
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
56
71
|
}>>;
|
|
57
72
|
}>;
|
|
58
73
|
/** @see {@link MatterSpecification.v13.Core} § 4.14.2.3 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseMessages.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseMessages.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,eAAe,6BAAoC,CAAC;AACjE,eAAO,MAAM,eAAe,6BAAoC,CAAC;AACjE,eAAO,MAAM,iBAAiB,6BAAoC,CAAC;AACnE,eAAO,MAAM,iBAAiB,6BAAoC,CAAC;AACnE,eAAO,MAAM,WAAW,6BAA6B,CAAC;AACtD,eAAO,MAAM,WAAW,6BAA6B,CAAC;AACtD,eAAO,MAAM,eAAe,6BAAoC,CAAC;AACjE,eAAO,MAAM,eAAe,6BAAoC,CAAC;AAEjE,2DAA2D;AAC3D,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"CaseMessages.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseMessages.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,eAAe,6BAAoC,CAAC;AACjE,eAAO,MAAM,eAAe,6BAAoC,CAAC;AACjE,eAAO,MAAM,iBAAiB,6BAAoC,CAAC;AACnE,eAAO,MAAM,iBAAiB,6BAAoC,CAAC;AACnE,eAAO,MAAM,WAAW,6BAA6B,CAAC;AACtD,eAAO,MAAM,WAAW,6BAA6B,CAAC;AACtD,eAAO,MAAM,eAAe,6BAAoC,CAAC;AACjE,eAAO,MAAM,eAAe,6BAAoC,CAAC;AAEjE,2DAA2D;AAC3D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EAQxB,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,aAAa;;EAExB,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,aAAa;;;;;EAKxB,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB;;;;;EAKjC,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB;;;;EAIjC,CAAC"}
|
|
@@ -22,6 +22,11 @@ export declare class CaseServerMessenger extends SecureChannelMessenger {
|
|
|
22
22
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
23
23
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
24
24
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
25
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
26
|
+
tcpClient: import("#types").BitFlag;
|
|
27
|
+
tcpServer: import("#types").BitFlag;
|
|
28
|
+
}>>;
|
|
29
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
25
30
|
}>>;
|
|
26
31
|
resumptionId: import("#types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
|
|
27
32
|
initiatorResumeMic: import("#types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
|
|
@@ -53,6 +58,11 @@ export declare class CaseClientMessenger extends SecureChannelMessenger {
|
|
|
53
58
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
54
59
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
55
60
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
61
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
62
|
+
tcpClient: import("#types").BitFlag;
|
|
63
|
+
tcpServer: import("#types").BitFlag;
|
|
64
|
+
}>>;
|
|
65
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
56
66
|
}>>;
|
|
57
67
|
}>;
|
|
58
68
|
sigma2Resume?: undefined;
|
|
@@ -69,6 +79,11 @@ export declare class CaseClientMessenger extends SecureChannelMessenger {
|
|
|
69
79
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
70
80
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
71
81
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
82
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
83
|
+
tcpClient: import("#types").BitFlag;
|
|
84
|
+
tcpServer: import("#types").BitFlag;
|
|
85
|
+
}>>;
|
|
86
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
72
87
|
}>>;
|
|
73
88
|
}>;
|
|
74
89
|
sigma2Bytes?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAqB,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErG,qBAAa,mBAAoB,SAAQ,sBAAsB;IACrD,UAAU
|
|
1
|
+
{"version":3,"file":"CaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAqB,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErG,qBAAa,mBAAoB,SAAQ,sBAAsB;IACrD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;IAKhB,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC;IAIvD,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,mBAAmB,CAAC;IAInE,UAAU;;;;;;CAInB;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC3D,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC;IAIjD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBhB,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC;CAG1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseClient.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA6B,eAAe,EAAgC,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,qBAAa,UAAU;;gBAGP,QAAQ,EAAE,cAAc;WAIvB,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKhG,MAAM,CAAC,sBAAsB;IAS7B,MAAM,CAAC,2BAA2B;IAI5B,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"PaseClient.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA6B,eAAe,EAAgC,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,qBAAa,UAAU;;gBAGP,QAAQ,EAAE,cAAc;WAIvB,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKhG,MAAM,CAAC,sBAAsB;IAS7B,MAAM,CAAC,2BAA2B;IAI5B,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM;CAkE/F"}
|
|
@@ -32,12 +32,18 @@ class PaseClient {
|
|
|
32
32
|
const messenger = new PaseClientMessenger(exchange);
|
|
33
33
|
const initiatorRandom = Crypto.getRandom();
|
|
34
34
|
const initiatorSessionId = await this.#sessions.getNextAvailableSessionId();
|
|
35
|
+
const tcpSupported = sessionParameters.supportedTransports?.tcpClient || sessionParameters.supportedTransports?.tcpServer || false;
|
|
35
36
|
const requestPayload = await messenger.sendPbkdfParamRequest({
|
|
36
37
|
initiatorRandom,
|
|
37
38
|
initiatorSessionId,
|
|
38
39
|
passcodeId: DEFAULT_PASSCODE_ID,
|
|
39
40
|
hasPbkdfParameters: false,
|
|
40
|
-
initiatorSessionParams:
|
|
41
|
+
initiatorSessionParams: {
|
|
42
|
+
...sessionParameters,
|
|
43
|
+
// The MAX_TCP_MESSAGE_SIZE field SHALL only be present if the SUPPORTED_TRANSPORTS field
|
|
44
|
+
// indicates that TCP is supported.
|
|
45
|
+
maxTcpMessageSize: tcpSupported ? sessionParameters.maxTcpMessageSize : void 0
|
|
46
|
+
}
|
|
41
47
|
});
|
|
42
48
|
const {
|
|
43
49
|
responsePayload,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/pase/PaseClient.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,QAAQ,IAAI,QAAyB,SAAS,2BAA2B;AAEzF,SAAS,sBAAsB,cAAc;AAG7C,SAAS,qBAAqB,qBAAqB,qBAAqB;AAExE,MAAM,EAAE,gBAAgB,IAAI;AAE5B,MAAM,SAAS,OAAO,IAAI,YAAY;AAE/B,MAAM,WAAW;AAAA,EACpB;AAAA,EAEA,YAAY,UAA0B;AAClC,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,aAAa,6BAA6B,cAAsB,iBAAkC;AAC9F,UAAM,EAAE,IAAI,EAAE,IAAI,MAAM,QAAQ,WAAW,iBAAiB,YAAY;AACxE,WAAO,MAAM,OAAO,gBAAgB,IAAI,EAAE,GAAG,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,yBAAyB;AAC5B,QAAI;AACJ,eAAY,OAAO,gBAAgB,IAAI,WAAY;AACnD,QAAI,qBAAqB,oBAAoB,SAAS,QAAQ,GAAG;AAC7D,kBAAY;AAAA,IAChB;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,8BAA8B;AACjC,WAAO,OAAO,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEA,MAAM,KAAK,mBAAsC,UAA2B,UAAkB;AAC1F,UAAM,YAAY,IAAI,oBAAoB,QAAQ;AAClD,UAAM,kBAAkB,OAAO,UAAU;AACzC,UAAM,qBAAqB,MAAM,KAAK,UAAU,0BAA0B;AAG1E,UAAM,iBAAiB,MAAM,UAAU,sBAAsB;AAAA,MACzD;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,QAAQ,IAAI,QAAyB,SAAS,2BAA2B;AAEzF,SAAS,sBAAsB,cAAc;AAG7C,SAAS,qBAAqB,qBAAqB,qBAAqB;AAExE,MAAM,EAAE,gBAAgB,IAAI;AAE5B,MAAM,SAAS,OAAO,IAAI,YAAY;AAE/B,MAAM,WAAW;AAAA,EACpB;AAAA,EAEA,YAAY,UAA0B;AAClC,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,aAAa,6BAA6B,cAAsB,iBAAkC;AAC9F,UAAM,EAAE,IAAI,EAAE,IAAI,MAAM,QAAQ,WAAW,iBAAiB,YAAY;AACxE,WAAO,MAAM,OAAO,gBAAgB,IAAI,EAAE,GAAG,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,yBAAyB;AAC5B,QAAI;AACJ,eAAY,OAAO,gBAAgB,IAAI,WAAY;AACnD,QAAI,qBAAqB,oBAAoB,SAAS,QAAQ,GAAG;AAC7D,kBAAY;AAAA,IAChB;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,8BAA8B;AACjC,WAAO,OAAO,gBAAgB,IAAI;AAAA,EACtC;AAAA,EAEA,MAAM,KAAK,mBAAsC,UAA2B,UAAkB;AAC1F,UAAM,YAAY,IAAI,oBAAoB,QAAQ;AAClD,UAAM,kBAAkB,OAAO,UAAU;AACzC,UAAM,qBAAqB,MAAM,KAAK,UAAU,0BAA0B;AAG1E,UAAM,eACF,kBAAkB,qBAAqB,aACvC,kBAAkB,qBAAqB,aACvC;AACJ,UAAM,iBAAiB,MAAM,UAAU,sBAAsB;AAAA,MACzD;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,QACpB,GAAG;AAAA;AAAA;AAAA,QAGH,mBAAmB,eAAe,kBAAkB,oBAAoB;AAAA,MAC5E;AAAA,IACJ,CAAC;AACD,UAAM;AAAA,MACF;AAAA,MACA,UAAU,EAAE,iBAAiB,oBAAoB,uBAAuB;AAAA,IAC5E,IAAI,MAAM,UAAU,uBAAuB;AAC3C,QAAI,oBAAoB;AACpB,YAAM,IAAI,oBAAoB,oDAAoD;AAGtF,wBAAoB;AAAA,MAChB,GAAG,SAAS,QAAQ;AAAA,MACpB,GAAI,0BAA0B,CAAC;AAAA,IACnC;AAGA,UAAM,EAAE,IAAI,GAAG,IAAI,MAAM,QAAQ,YAAY,iBAAiB,QAAQ;AACtE,UAAM,UAAU,QAAQ,OAAO,OAAO,KAAK,CAAC,eAAe,gBAAgB,eAAe,CAAC,GAAG,EAAE;AAChG,UAAM,IAAI,QAAQ,SAAS;AAC3B,UAAM,UAAU,cAAc,EAAE,GAAG,EAAE,CAAC;AAGtC,UAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,UAAU,cAAc;AACzD,UAAM,EAAE,IAAI,KAAK,IAAI,IAAI,MAAM,QAAQ,+BAA+B,IAAI,GAAG,CAAC;AAC9E,QAAI,CAAC,MAAM,SAAS,UAAU,GAAG;AAC7B,YAAM,IAAI,oBAAoB,wDAAwD;AAC1F,UAAM,UAAU,cAAc,EAAE,UAAU,IAAI,CAAC;AAG/C,UAAM,UAAU,eAAe,mBAAmB;AAClD,UAAM,gBAAgB,MAAM,KAAK,UAAU,oBAAoB;AAAA,MAC3D,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,eAAe;AAAA,MACf,cAAc;AAAA,MACd,MAAM,IAAI,WAAW,CAAC;AAAA,MACtB,aAAa;AAAA,MACb,cAAc;AAAA,MACd,uBAAuB;AAAA,IAC3B,CAAC;AACD,UAAM,UAAU,MAAM;AACtB,WAAO,KAAK,yCAAyC,UAAU,eAAe,CAAC,GAAG;AAElF,WAAO;AAAA,EACX;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -19,6 +19,13 @@ export declare const TlvSessionParameters: import("#types").ObjectSchema<{
|
|
|
19
19
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
20
20
|
/** Maximum Paths pert Invoke */
|
|
21
21
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
22
|
+
/** Supported transport protocols in addition to MRP.*/
|
|
23
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
24
|
+
tcpClient: import("#types").BitFlag;
|
|
25
|
+
tcpServer: import("#types").BitFlag;
|
|
26
|
+
}>>;
|
|
27
|
+
/** Maximum size of the message carried over TCP in bytes */
|
|
28
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
22
29
|
}>;
|
|
23
30
|
/** @see {@link MatterSpecification.v13.Core} § 4.14.1.2 */
|
|
24
31
|
export declare const TlvPbkdfParamRequest: import("#types").ObjectSchema<{
|
|
@@ -41,6 +48,13 @@ export declare const TlvPbkdfParamRequest: import("#types").ObjectSchema<{
|
|
|
41
48
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
42
49
|
/** Maximum Paths pert Invoke */
|
|
43
50
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
51
|
+
/** Supported transport protocols in addition to MRP.*/
|
|
52
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
53
|
+
tcpClient: import("#types").BitFlag;
|
|
54
|
+
tcpServer: import("#types").BitFlag;
|
|
55
|
+
}>>;
|
|
56
|
+
/** Maximum size of the message carried over TCP in bytes */
|
|
57
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
44
58
|
}>>;
|
|
45
59
|
}>;
|
|
46
60
|
/** @see {@link MatterSpecification.v13.Core} § 4.14.1.2 */
|
|
@@ -67,6 +81,13 @@ export declare const TlvPbkdfParamResponse: import("#types").ObjectSchema<{
|
|
|
67
81
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
68
82
|
/** Maximum Paths pert Invoke */
|
|
69
83
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
84
|
+
/** Supported transport protocols in addition to MRP.*/
|
|
85
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
86
|
+
tcpClient: import("#types").BitFlag;
|
|
87
|
+
tcpServer: import("#types").BitFlag;
|
|
88
|
+
}>>;
|
|
89
|
+
/** Maximum size of the message carried over TCP in bytes */
|
|
90
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
70
91
|
}>>;
|
|
71
92
|
}>;
|
|
72
93
|
/** @see {@link MatterSpecification.v13.Core} § 4.14.1.2 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseMessages.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"PaseMessages.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;IAC7B,wDAAwD;;IAGxD,0DAA0D;;IAG1D,iFAAiF;;IAGjF,2BAA2B;;IAG3B,kCAAkC;;IAGlC,6BAA6B;;IAG7B,gCAAgC;;IAGhC,uDAAuD;;;;;IAGvD,4DAA4D;;EAE9D,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB;;;;;;QA7B7B,wDAAwD;;QAGxD,0DAA0D;;QAG1D,iFAAiF;;QAGjF,2BAA2B;;QAG3B,kCAAkC;;QAGlC,6BAA6B;;QAG7B,gCAAgC;;QAGhC,uDAAuD;;;;;QAGvD,4DAA4D;;;EAW9D,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB;;;;;;;;;QAtC9B,wDAAwD;;QAGxD,0DAA0D;;QAG1D,iFAAiF;;QAGjF,2BAA2B;;QAG3B,kCAAkC;;QAGlC,6BAA6B;;QAG7B,gCAAgC;;QAGhC,uDAAuD;;;;;QAGvD,4DAA4D;;;EA0B9D,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,YAAY;;EAEvB,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,YAAY;;;EAGvB,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,YAAY;;EAEvB,CAAC"}
|
|
@@ -3,8 +3,18 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { SupportedTransportsBitmap } from "#common/index.js";
|
|
6
7
|
import { CRYPTO_HASH_LEN_BYTES, CRYPTO_PUBLIC_KEY_SIZE_BYTES } from "#general";
|
|
7
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
TlvBitmap,
|
|
10
|
+
TlvBoolean,
|
|
11
|
+
TlvByteString,
|
|
12
|
+
TlvField,
|
|
13
|
+
TlvObject,
|
|
14
|
+
TlvOptionalField,
|
|
15
|
+
TlvUInt16,
|
|
16
|
+
TlvUInt32
|
|
17
|
+
} from "#types";
|
|
8
18
|
const TlvSessionParameters = TlvObject({
|
|
9
19
|
/** Maximum sleep interval of node when in idle mode. */
|
|
10
20
|
idleIntervalMs: TlvOptionalField(1, TlvUInt32),
|
|
@@ -19,7 +29,11 @@ const TlvSessionParameters = TlvObject({
|
|
|
19
29
|
/** Specification version. */
|
|
20
30
|
specificationVersion: TlvOptionalField(6, TlvUInt32),
|
|
21
31
|
/** Maximum Paths pert Invoke */
|
|
22
|
-
maxPathsPerInvoke: TlvOptionalField(7, TlvUInt16)
|
|
32
|
+
maxPathsPerInvoke: TlvOptionalField(7, TlvUInt16),
|
|
33
|
+
/** Supported transport protocols in addition to MRP.*/
|
|
34
|
+
supportedTransports: TlvOptionalField(8, TlvBitmap(TlvUInt16, SupportedTransportsBitmap)),
|
|
35
|
+
/** Maximum size of the message carried over TCP in bytes */
|
|
36
|
+
maxTcpMessageSize: TlvOptionalField(9, TlvUInt32)
|
|
23
37
|
});
|
|
24
38
|
const TlvPbkdfParamRequest = TlvObject({
|
|
25
39
|
initiatorRandom: TlvField(1, TlvByteString.bound({ length: 32 })),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/pase/PaseMessages.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,uBAAuB,oCAAoC;AACpE,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iCAAiC;AAC1C,SAAS,uBAAuB,oCAAoC;AACpE;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAGA,MAAM,uBAAuB,UAAU;AAAA;AAAA,EAE1C,gBAAgB,iBAAiB,GAAG,SAAS;AAAA;AAAA,EAG7C,kBAAkB,iBAAiB,GAAG,SAAS;AAAA;AAAA,EAG/C,mBAAmB,iBAAiB,GAAG,SAAS;AAAA;AAAA,EAGhD,mBAAmB,iBAAiB,GAAG,SAAS;AAAA;AAAA,EAGhD,0BAA0B,iBAAiB,GAAG,SAAS;AAAA;AAAA,EAGvD,sBAAsB,iBAAiB,GAAG,SAAS;AAAA;AAAA,EAGnD,mBAAmB,iBAAiB,GAAG,SAAS;AAAA;AAAA,EAGhD,qBAAqB,iBAAiB,GAAG,UAAU,WAAW,yBAAyB,CAAC;AAAA;AAAA,EAGxF,mBAAmB,iBAAiB,GAAG,SAAS;AACpD,CAAC;AAGM,MAAM,uBAAuB,UAAU;AAAA,EAC1C,iBAAiB,SAAS,GAAG,cAAc,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC;AAAA,EAChE,oBAAoB,SAAS,GAAG,SAAS;AAAA;AAAA,EACzC,YAAY,SAAS,GAAG,SAAS;AAAA;AAAA,EACjC,oBAAoB,SAAS,GAAG,UAAU;AAAA,EAC1C,wBAAwB,iBAAiB,GAAG,oBAAoB;AACpE,CAAC;AAGM,MAAM,wBAAwB,UAAU;AAAA,EAC3C,iBAAiB,SAAS,GAAG,cAAc,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC;AAAA,EAChE,iBAAiB,SAAS,GAAG,cAAc,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC;AAAA,EAChE,oBAAoB,SAAS,GAAG,SAAS;AAAA,EACzC,iBAAiB;AAAA,IACb;AAAA,IACA,UAAU;AAAA,MACN,YAAY,SAAS,GAAG,SAAS;AAAA,MACjC,MAAM,SAAS,GAAG,cAAc,MAAM,EAAE,WAAW,IAAI,WAAW,GAAG,CAAC,CAAC;AAAA,IAC3E,CAAC;AAAA,EACL;AAAA,EACA,wBAAwB,iBAAiB,GAAG,oBAAoB;AACpE,CAAC;AAGM,MAAM,eAAe,UAAU;AAAA,EAClC,GAAG,SAAS,GAAG,cAAc,MAAM,EAAE,QAAQ,6BAA6B,CAAC,CAAC;AAAA;AAChF,CAAC;AAGM,MAAM,eAAe,UAAU;AAAA,EAClC,GAAG,SAAS,GAAG,cAAc,MAAM,EAAE,QAAQ,6BAA6B,CAAC,CAAC;AAAA;AAAA,EAC5E,UAAU,SAAS,GAAG,cAAc,MAAM,EAAE,QAAQ,sBAAsB,CAAC,CAAC;AAAA;AAChF,CAAC;AAGM,MAAM,eAAe,UAAU;AAAA,EAClC,UAAU,SAAS,GAAG,cAAc,MAAM,EAAE,QAAQ,sBAAsB,CAAC,CAAC;AAAA;AAChF,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -29,6 +29,11 @@ export declare class PaseServerMessenger extends SecureChannelMessenger {
|
|
|
29
29
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
30
30
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
31
31
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
32
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
33
|
+
tcpClient: import("#types").BitFlag;
|
|
34
|
+
tcpServer: import("#types").BitFlag;
|
|
35
|
+
}>>;
|
|
36
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
32
37
|
}>>;
|
|
33
38
|
}>;
|
|
34
39
|
}>;
|
|
@@ -61,6 +66,11 @@ export declare class PaseClientMessenger extends SecureChannelMessenger {
|
|
|
61
66
|
interactionModelRevision: import("#types").OptionalFieldType<number>;
|
|
62
67
|
specificationVersion: import("#types").OptionalFieldType<number>;
|
|
63
68
|
maxPathsPerInvoke: import("#types").OptionalFieldType<number>;
|
|
69
|
+
supportedTransports: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
70
|
+
tcpClient: import("#types").BitFlag;
|
|
71
|
+
tcpServer: import("#types").BitFlag;
|
|
72
|
+
}>>;
|
|
73
|
+
maxTcpMessageSize: import("#types").OptionalFieldType<number>;
|
|
64
74
|
}>>;
|
|
65
75
|
}>;
|
|
66
76
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAqB,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAEH,sBAAsB,EACzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,aAAa,6BAAiD,CAAC;AAE5E,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACrE,KAAK,kBAAkB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACvE,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AACrD,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AACrD,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAErD,qBAAa,mBAAoB,SAAQ,sBAAsB;IACrD,qBAAqB
|
|
1
|
+
{"version":3,"file":"PaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAqB,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAEH,sBAAsB,EACzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,aAAa,6BAAiD,CAAC;AAE5E,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACrE,KAAK,kBAAkB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACvE,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AACrD,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AACrD,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAErD,qBAAa,mBAAoB,SAAQ,sBAAsB;IACrD,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;IAQrB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB;IAMzD,aAAa;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;CAGhB;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC3D,qBAAqB,CAAC,OAAO,EAAE,iBAAiB;IAM1C,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ5B,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;CAGrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAKH,eAAe,EACf,eAAe,EAKlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAuB,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAS7F,qBAAa,oCAAqC,SAAQ,eAAe;CAAG;AAE5E,qBAAa,UAAW,YAAW,eAAe;;IAsB1C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAxBrC,QAAQ,CAAC,EAAE,KAA8B;WAK5B,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKrG,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,UAAU,EAC7B,eAAe,CAAC,EAAE,eAAe;gBAQzB,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,UAAU,EACb,eAAe,CAAC,EAAE,eAAe,YAAA;IAGhD,aAAa,CAAC,QAAQ,EAAE,eAAe;YA0B/B,oBAAoB;
|
|
1
|
+
{"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAKH,eAAe,EACf,eAAe,EAKlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAuB,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAS7F,qBAAa,oCAAqC,SAAQ,eAAe;CAAG;AAE5E,qBAAa,UAAW,YAAW,eAAe;;IAsB1C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAxBrC,QAAQ,CAAC,EAAE,KAA8B;WAK5B,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKrG,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,UAAU,EAC7B,eAAe,CAAC,EAAE,eAAe;gBAQzB,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,UAAU,EACb,eAAe,CAAC,EAAE,eAAe,YAAA;IAGhD,aAAa,CAAC,QAAQ,EAAE,eAAe;YA0B/B,oBAAoB;IA6F5B,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,UAAO;IAU9D,KAAK;CAGd"}
|
|
@@ -94,13 +94,19 @@ class PaseServer {
|
|
|
94
94
|
}
|
|
95
95
|
const responderSessionId = await this.sessions.getNextAvailableSessionId();
|
|
96
96
|
const responderRandom = Crypto.getRandom();
|
|
97
|
+
const responderSessionParams = this.sessions.sessionParameters;
|
|
98
|
+
const tcpSupported = responderSessionParams.supportedTransports?.tcpClient || responderSessionParams.supportedTransports?.tcpServer || false;
|
|
97
99
|
const responsePayload = await messenger.sendPbkdfParamResponse({
|
|
98
100
|
initiatorRandom,
|
|
99
101
|
responderRandom,
|
|
100
102
|
responderSessionId,
|
|
101
103
|
pbkdfParameters: hasPbkdfParameters ? void 0 : this.pbkdfParameters,
|
|
102
|
-
responderSessionParams:
|
|
103
|
-
|
|
104
|
+
responderSessionParams: {
|
|
105
|
+
...responderSessionParams,
|
|
106
|
+
// The MAX_TCP_MESSAGE_SIZE field SHALL only be present if the SUPPORTED_TRANSPORTS field
|
|
107
|
+
// indicates that TCP is supported.
|
|
108
|
+
maxTcpMessageSize: tcpSupported ? responderSessionParams.maxTcpMessageSize : void 0
|
|
109
|
+
}
|
|
104
110
|
});
|
|
105
111
|
const spake2p = Spake2p.create(Crypto.hash([SPAKE_CONTEXT, requestPayload, responsePayload]), this.w0);
|
|
106
112
|
const { x: X } = await messenger.readPasePake1();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/pase/PaseServer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,OACG;AAEP,SAAS,QAAQ,oBAAoB,kCAAkC;AAGvE,SAAS,kCAAkC;AAC3C,SAAS,qBAAqB,qBAAqB,qBAAqB;AAExE,MAAM,EAAE,gBAAgB,IAAI;AAE5B,MAAM,SAAS,OAAO,IAAI,YAAY;AAEtC,MAAM,0BAA0B;AAChC,MAAM,gCAAgC;AAE/B,MAAM,6CAA6C,gBAAgB;AAAC;AAEpE,MAAM,WAAsC;AAAA,EAqB/C,YACY,UACS,IACA,GACA,iBACnB;AAJU;AACS;AACA;AACA;AAAA,EAClB;AAAA,EAzBM,KAAK;AAAA,EAEd;AAAA,EACA,iBAAiB;AAAA,EAEjB,aAAa,QAAQ,UAA0B,cAAsB,iBAAkC;AACnG,UAAM,EAAE,IAAI,EAAE,IAAI,MAAM,QAAQ,WAAW,iBAAiB,YAAY;AACxE,WAAO,IAAI,WAAW,UAAU,IAAI,GAAG,eAAe;AAAA,EAC1D;AAAA,EAEA,OAAO,sBACH,UACA,mBACA,iBACF;AACE,UAAM,KAAK,gBAAgB,kBAAkB,MAAM,GAAG,EAAE,CAAC;AACzD,UAAM,IAAI,kBAAkB,MAAM,IAAI,KAAK,EAAE;AAC7C,WAAO,IAAI,WAAW,UAAU,IAAI,GAAG,eAAe;AAAA,EAC1D;AAAA,EASA,MAAM,cAAc,UAA2B;AAC3C,UAAM,YAAY,IAAI,oBAAoB,QAAQ;AAClD,QAAI;AACA,YAAM,KAAK,qBAAqB,SAAS;AAAA,IAC7C,SAAS,OAAO;AACZ,WAAK;AACL,aAAO;AAAA,QACH,oDAAoD,KAAK,cAAc,IAAI,6BAA6B;AAAA,QACxG;AAAA,MACJ;AAGA,YAAM,YAAY,EAAE,iBAAiB;AACrC,YAAM,KAAK,cAAc,WAAW,SAAS;AAE7C,UAAI,KAAK,kBAAkB,+BAA+B;AACtD,cAAM,IAAI;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,UAAE;AAEE,YAAM,SAAS,QAAQ,QAAQ;AAAA,IACnC;AAAA,EACJ;AAAA,EAEA,MAAc,qBAAqB,WAAgC;AAK/D,QAAI,KAAK,SAAS,eAAe,GAAG;AAChC,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,KAAK,kBAAkB,UAAa,KAAK,cAAc,WAAW;AAClE,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO,KAAK,iCAAiC,UAAU,eAAe,CAAC,GAAG;AAE1E,SAAK,gBAAgB,KAAK;AAAA,MAAS;AAAA,MAAwB;AAAA,MAAyB,MAChF,KAAK,cAAc,SAAS;AAAA,IAChC,EAAE,MAAM;AAGR,UAAM;AAAA,MACF;AAAA,MACA,SAAS;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,oBAAoB;AAAA,MACxB;AAAA,IACJ,IAAI,MAAM,UAAU,sBAAsB;AAC1C,QAAI,eAAe,qBAAqB;AACpC,YAAM,IAAI,oBAAoB,2BAA2B,UAAU,GAAG;AAAA,IAC1E;AAEA,UAAM,qBAAqB,MAAM,KAAK,SAAS,0BAA0B;AACzE,UAAM,kBAAkB,OAAO,UAAU;AAEzC,UAAM,kBAAkB,MAAM,UAAU,uBAAuB;AAAA,MAC3D;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAiB,qBAAqB,SAAY,KAAK;AAAA,MACvD,wBAAwB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0-alpha.0-20250307-ebf84a05a",
|
|
4
4
|
"description": "Low-level APIs for Matter interaction",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"#*": "./src/*"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@matter/general": "0.
|
|
44
|
-
"@matter/model": "0.
|
|
45
|
-
"@matter/types": "0.
|
|
43
|
+
"@matter/general": "0.13.0-alpha.0-20250307-ebf84a05a",
|
|
44
|
+
"@matter/model": "0.13.0-alpha.0-20250307-ebf84a05a",
|
|
45
|
+
"@matter/types": "0.13.0-alpha.0-20250307-ebf84a05a",
|
|
46
46
|
"@noble/curves": "^1.8.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@matter/tools": "0.
|
|
50
|
-
"@matter/testing": "0.
|
|
49
|
+
"@matter/tools": "0.13.0-alpha.0-20250307-ebf84a05a",
|
|
50
|
+
"@matter/testing": "0.13.0-alpha.0-20250307-ebf84a05a"
|
|
51
51
|
},
|
|
52
52
|
"files": [
|
|
53
53
|
"dist/**/*",
|
package/src/common/Scanner.ts
CHANGED
|
@@ -5,9 +5,25 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { BasicSet, ChannelType, Environment, Environmental, Lifespan, ServerAddress, ServerAddressIp } from "#general";
|
|
8
|
-
import { DiscoveryCapabilitiesBitmap, NodeId, TypeFromPartialBitSchema, VendorId } from "#types";
|
|
8
|
+
import { BitFlag, BitmapSchema, DiscoveryCapabilitiesBitmap, NodeId, TypeFromPartialBitSchema, VendorId } from "#types";
|
|
9
9
|
import { Fabric } from "../fabric/Fabric.js";
|
|
10
10
|
|
|
11
|
+
export const SupportedTransportsBitmap = {
|
|
12
|
+
// Bit 0 is reserved
|
|
13
|
+
/**
|
|
14
|
+
* TCP Client
|
|
15
|
+
* The advertising Node implements the TCP Client mode and MAY connect to a peer Node that is a TCP Server.
|
|
16
|
+
*/
|
|
17
|
+
tcpClient: BitFlag(1),
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* TCP Server
|
|
21
|
+
* The advertising Node implements the TCP Server mode and SHALL listen for incoming TCP connections.
|
|
22
|
+
*/
|
|
23
|
+
tcpServer: BitFlag(2),
|
|
24
|
+
};
|
|
25
|
+
export const SupportedTransportsSchema = BitmapSchema(SupportedTransportsBitmap);
|
|
26
|
+
|
|
11
27
|
/**
|
|
12
28
|
* All information exposed by a commissionable device via announcements.
|
|
13
29
|
* The properties are named identical as in the Matter specification.
|
|
@@ -41,7 +57,7 @@ export type DiscoveryData = {
|
|
|
41
57
|
SAT?: number;
|
|
42
58
|
|
|
43
59
|
/** TCP supported */
|
|
44
|
-
T?: number;
|
|
60
|
+
T?: number; // SupportedTransportsBitmap but comes in as number, so converted on usage
|
|
45
61
|
|
|
46
62
|
/** ICD Long Idle Time operating mode supported */
|
|
47
63
|
ICD?: number;
|
package/src/fabric/Fabric.ts
CHANGED
|
@@ -231,7 +231,7 @@ export class MdnsBroadcaster {
|
|
|
231
231
|
`SII=${sessionIdleInterval}` /* Session Idle Interval */,
|
|
232
232
|
`SAI=${sessionActiveInterval}` /* Session Active Interval */,
|
|
233
233
|
`SAT=${sessionActiveThreshold}` /* Session Active Threshold */,
|
|
234
|
-
//`T=${TCP_SUPPORTED}` /* TCP not supported */,
|
|
234
|
+
//`T=${TCP_SUPPORTED}` /* TODO TCP not supported */,
|
|
235
235
|
`D=${discriminator}` /* Discriminator */,
|
|
236
236
|
`CM=${mode}` /* Commission Mode */,
|
|
237
237
|
`PH=${PairingHintBitmapSchema.encode(pairingHint)}` /* Pairing Hint */,
|
|
@@ -324,7 +324,7 @@ export class MdnsBroadcaster {
|
|
|
324
324
|
`SII=${sessionIdleInterval}` /* Session Idle Interval */,
|
|
325
325
|
`SAI=${sessionActiveInterval}` /* Session Active Interval */,
|
|
326
326
|
`SAT=${sessionActiveThreshold}` /* Session Active Threshold */,
|
|
327
|
-
//`T=${TCP_SUPPORTED}` /* TCP not supported */,
|
|
327
|
+
//`T=${TCP_SUPPORTED}` /* TODO TCP not supported */,
|
|
328
328
|
//`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
|
|
329
329
|
],
|
|
330
330
|
deviceMatterQname,
|
|
@@ -387,7 +387,7 @@ export class MdnsBroadcaster {
|
|
|
387
387
|
`SII=${sessionIdleInterval}` /* Session Idle Interval */,
|
|
388
388
|
`SAI=${sessionActiveInterval}` /* Session Active Interval */,
|
|
389
389
|
`SAT=${sessionActiveThreshold}` /* Session Active Threshold */,
|
|
390
|
-
//`T=${TCP_SUPPORTED}` /* TCP not supported */,
|
|
390
|
+
//`T=${TCP_SUPPORTED}` /* TODO TCP not supported */,
|
|
391
391
|
//`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
|
|
392
392
|
]),
|
|
393
393
|
];
|
package/src/mdns/MdnsScanner.ts
CHANGED
|
@@ -1316,8 +1316,9 @@ export class MdnsScanner implements Scanner {
|
|
|
1316
1316
|
// Fill in some defaults for convenience
|
|
1317
1317
|
if (result.T === undefined) {
|
|
1318
1318
|
result.T = 0; // TCP not supported
|
|
1319
|
-
} else if (result.T
|
|
1320
|
-
// Value 1 is reserved and should be handled as 0 according to Matter spec
|
|
1319
|
+
} else if (!(result.T & ~1 & 6)) {
|
|
1320
|
+
// Value 1 is reserved and should be handled as 0 according to Matter spec,
|
|
1321
|
+
// else check if tcpClient (Bit 1) or tcpServer (Bit 2) or both are supported, all other values are invalid
|
|
1321
1322
|
result.T = 0; // TCP not supported
|
|
1322
1323
|
}
|
|
1323
1324
|
if (result.ICD === undefined) {
|