@matter/protocol 0.16.0-alpha.0-20251013-89bb7099d → 0.16.0-alpha.0-20251018-dd1ea6a8a
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/client/ClientInteraction.d.ts +10 -5
- package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +129 -18
- package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
- package/dist/cjs/action/request/Invoke.d.ts +36 -8
- package/dist/cjs/action/request/Invoke.d.ts.map +1 -1
- package/dist/cjs/action/request/Invoke.js +80 -15
- package/dist/cjs/action/request/Invoke.js.map +1 -1
- package/dist/cjs/action/request/Read.d.ts +1 -1
- package/dist/cjs/action/request/Read.d.ts.map +1 -1
- package/dist/cjs/action/request/Read.js +10 -2
- package/dist/cjs/action/request/Read.js.map +1 -1
- package/dist/cjs/action/request/Specifier.d.ts +16 -1
- package/dist/cjs/action/request/Specifier.d.ts.map +1 -1
- package/dist/cjs/action/request/Specifier.js +56 -1
- package/dist/cjs/action/request/Specifier.js.map +1 -1
- package/dist/cjs/action/request/Write.d.ts +5 -3
- package/dist/cjs/action/request/Write.d.ts.map +1 -1
- package/dist/cjs/action/request/Write.js +52 -12
- package/dist/cjs/action/request/Write.js.map +1 -1
- package/dist/cjs/action/response/InvokeResult.d.ts +6 -0
- package/dist/cjs/action/response/InvokeResult.d.ts.map +1 -1
- package/dist/cjs/action/server/EventReadResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/EventReadResponse.js +2 -2
- package/dist/cjs/action/server/EventReadResponse.js.map +1 -1
- package/dist/cjs/events/OccurrenceManager.d.ts.map +1 -1
- package/dist/cjs/events/OccurrenceManager.js +2 -1
- package/dist/cjs/events/OccurrenceManager.js.map +1 -1
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionClient.js +91 -74
- package/dist/cjs/interaction/InteractionClient.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -2
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +25 -12
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +20 -17
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageChannel.js +1 -1
- package/dist/cjs/protocol/MessageChannel.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +1 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +14 -4
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/protocol/ProtocolHandler.d.ts +7 -2
- package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.js +2 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
- package/dist/cjs/session/GroupSession.d.ts +8 -1
- package/dist/cjs/session/GroupSession.d.ts.map +1 -1
- package/dist/cjs/session/GroupSession.js +10 -0
- package/dist/cjs/session/GroupSession.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +3 -1
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +13 -0
- package/dist/cjs/session/NodeSession.js.map +2 -2
- package/dist/cjs/session/SecureSession.d.ts +2 -0
- package/dist/cjs/session/SecureSession.d.ts.map +1 -1
- package/dist/cjs/session/SecureSession.js.map +1 -1
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +3 -15
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +10 -18
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +1 -1
- package/dist/cjs/session/pase/PaseClient.js.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +2 -2
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts +10 -5
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +140 -20
- package/dist/esm/action/client/ClientInteraction.js.map +1 -1
- package/dist/esm/action/request/Invoke.d.ts +36 -8
- package/dist/esm/action/request/Invoke.d.ts.map +1 -1
- package/dist/esm/action/request/Invoke.js +81 -16
- package/dist/esm/action/request/Invoke.js.map +1 -1
- package/dist/esm/action/request/Read.d.ts +1 -1
- package/dist/esm/action/request/Read.d.ts.map +1 -1
- package/dist/esm/action/request/Read.js +12 -4
- package/dist/esm/action/request/Read.js.map +1 -1
- package/dist/esm/action/request/Specifier.d.ts +16 -1
- package/dist/esm/action/request/Specifier.d.ts.map +1 -1
- package/dist/esm/action/request/Specifier.js +56 -1
- package/dist/esm/action/request/Specifier.js.map +1 -1
- package/dist/esm/action/request/Write.d.ts +5 -3
- package/dist/esm/action/request/Write.d.ts.map +1 -1
- package/dist/esm/action/request/Write.js +53 -13
- package/dist/esm/action/request/Write.js.map +1 -1
- package/dist/esm/action/response/InvokeResult.d.ts +6 -0
- package/dist/esm/action/response/InvokeResult.d.ts.map +1 -1
- package/dist/esm/action/server/EventReadResponse.d.ts.map +1 -1
- package/dist/esm/action/server/EventReadResponse.js +3 -2
- package/dist/esm/action/server/EventReadResponse.js.map +1 -1
- package/dist/esm/events/OccurrenceManager.d.ts.map +1 -1
- package/dist/esm/events/OccurrenceManager.js +2 -1
- package/dist/esm/events/OccurrenceManager.js.map +1 -1
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionClient.js +92 -74
- package/dist/esm/interaction/InteractionClient.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +3 -2
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +25 -12
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +20 -17
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/esm/protocol/MessageChannel.js +2 -2
- package/dist/esm/protocol/MessageChannel.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +1 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +14 -4
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/protocol/ProtocolHandler.d.ts +7 -2
- package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts +1 -1
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelProtocol.js +2 -1
- package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
- package/dist/esm/session/GroupSession.d.ts +8 -1
- package/dist/esm/session/GroupSession.d.ts.map +1 -1
- package/dist/esm/session/GroupSession.js +11 -1
- package/dist/esm/session/GroupSession.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +3 -1
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +13 -0
- package/dist/esm/session/NodeSession.js.map +2 -2
- package/dist/esm/session/SecureSession.d.ts +2 -0
- package/dist/esm/session/SecureSession.d.ts.map +1 -1
- package/dist/esm/session/SecureSession.js.map +1 -1
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +5 -17
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
- package/dist/esm/session/case/CaseServer.js +12 -20
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +1 -1
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +3 -2
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/action/client/ClientInteraction.ts +181 -27
- package/src/action/request/Invoke.ts +149 -27
- package/src/action/request/Read.ts +27 -7
- package/src/action/request/Specifier.ts +80 -1
- package/src/action/request/Write.ts +71 -19
- package/src/action/response/InvokeResult.ts +8 -0
- package/src/action/server/EventReadResponse.ts +7 -3
- package/src/events/OccurrenceManager.ts +2 -1
- package/src/interaction/InteractionClient.ts +135 -96
- package/src/interaction/InteractionMessenger.ts +32 -12
- package/src/protocol/ExchangeManager.ts +27 -29
- package/src/protocol/MessageChannel.ts +2 -2
- package/src/protocol/MessageExchange.ts +18 -4
- package/src/protocol/ProtocolHandler.ts +7 -2
- package/src/securechannel/SecureChannelProtocol.ts +5 -1
- package/src/session/GroupSession.ts +12 -1
- package/src/session/NodeSession.ts +21 -0
- package/src/session/SecureSession.ts +2 -0
- package/src/session/case/CaseClient.ts +3 -23
- package/src/session/case/CaseServer.ts +15 -20
- package/src/session/pase/PaseClient.ts +1 -1
- package/src/session/pase/PaseServer.ts +3 -2
|
@@ -24,9 +24,9 @@ module.exports = __toCommonJS(CaseClient_exports);
|
|
|
24
24
|
var import_Icac = require("#certificate/kinds/Icac.js");
|
|
25
25
|
var import_Noc = require("#certificate/kinds/Noc.js");
|
|
26
26
|
var import_general = require("#general");
|
|
27
|
-
var import_PeerAddress = require("#peer/PeerAddress.js");
|
|
28
27
|
var import_MessageExchange = require("#protocol/MessageExchange.js");
|
|
29
28
|
var import_SecureChannelMessenger = require("#securechannel/SecureChannelMessenger.js");
|
|
29
|
+
var import_NodeSession = require("#session/NodeSession.js");
|
|
30
30
|
var import_types = require("#types");
|
|
31
31
|
var import_CaseMessages = require("./CaseMessages.js");
|
|
32
32
|
var import_CaseMessenger = require("./CaseMessenger.js");
|
|
@@ -120,7 +120,7 @@ class CaseClient {
|
|
|
120
120
|
caseAuthenticatedTags: caseAuthenticatedTags2
|
|
121
121
|
});
|
|
122
122
|
await messenger.sendSuccess();
|
|
123
|
-
|
|
123
|
+
import_NodeSession.NodeSession.logNew(logger, "Resumed", secureSession, messenger, fabric2, peerNodeId);
|
|
124
124
|
resumptionRecord.resumptionId = resumptionId;
|
|
125
125
|
resumptionRecord.sessionParameters = secureSession.parameters;
|
|
126
126
|
resumed = true;
|
|
@@ -220,7 +220,7 @@ class CaseClient {
|
|
|
220
220
|
peerSessionParameters,
|
|
221
221
|
caseAuthenticatedTags: sessionCaseAuthenticatedTags
|
|
222
222
|
});
|
|
223
|
-
|
|
223
|
+
import_NodeSession.NodeSession.logNew(logger, "New", secureSession, messenger, fabric, peerNodeId);
|
|
224
224
|
resumptionRecord = {
|
|
225
225
|
fabric,
|
|
226
226
|
peerNodeId,
|
|
@@ -234,17 +234,5 @@ class CaseClient {
|
|
|
234
234
|
await this.#sessions.saveResumptionRecord(resumptionRecord);
|
|
235
235
|
return { session: secureSession, resumed };
|
|
236
236
|
}
|
|
237
|
-
#logNewSession(operation, session, messenger, fabric, peerNodeId) {
|
|
238
|
-
logger.info(
|
|
239
|
-
`${operation} session with`,
|
|
240
|
-
import_general.Diagnostic.strong((0, import_PeerAddress.PeerAddress)({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
|
|
241
|
-
import_general.Diagnostic.dict({
|
|
242
|
-
id: session.id,
|
|
243
|
-
address: messenger.channelName,
|
|
244
|
-
fabric: `${import_types.NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
|
|
245
|
-
...session.parameterDiagnostics
|
|
246
|
-
})
|
|
247
|
-
);
|
|
248
|
-
}
|
|
249
237
|
}
|
|
250
238
|
//# sourceMappingURL=CaseClient.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/case/CaseClient.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAqB;AACrB,iBAAoB;AAEpB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["fabric", "caseAuthenticatedTags"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"CaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAoB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAoBpE,qBAAa,UAAW,YAAW,eAAe;;IAC9C,QAAQ,CAAC,EAAE,KAA8B;IACzC,QAAQ,CAAC,qBAAqB,SAAS;gBAK3B,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAKtD,aAAa,CAAC,QAAQ,EAAE,eAAe;IAyPvC,KAAK;CAGd"}
|
|
@@ -23,6 +23,7 @@ __export(CaseServer_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(CaseServer_exports);
|
|
24
24
|
var import_Noc = require("#certificate/kinds/Noc.js");
|
|
25
25
|
var import_general = require("#general");
|
|
26
|
+
var import_NodeSession = require("#session/NodeSession.js");
|
|
26
27
|
var import_types = require("#types");
|
|
27
28
|
var import_FabricManager = require("../../fabric/FabricManager.js");
|
|
28
29
|
var import_SecureChannelMessenger = require("../../securechannel/SecureChannelMessenger.js");
|
|
@@ -59,7 +60,7 @@ class CaseServer {
|
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
async #handleSigma1(messenger) {
|
|
62
|
-
logger.info(
|
|
63
|
+
logger.info("Received pairing request \xAB", import_general.Diagnostic.via(messenger.channelName));
|
|
63
64
|
const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
|
|
64
65
|
const resumptionRecord = sigma1.resumptionId !== void 0 && sigma1.initiatorResumeMic !== void 0 ? this.#sessions.findResumptionRecordById(sigma1.resumptionId) : void 0;
|
|
65
66
|
const context = new Sigma1Context(this.#fabrics.crypto, messenger, sigma1Bytes, sigma1, resumptionRecord);
|
|
@@ -70,9 +71,12 @@ class CaseServer {
|
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
73
|
logger.info(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
"Invalid resumption ID or resume MIC received from",
|
|
75
|
+
messenger.channelName,
|
|
76
|
+
import_general.Diagnostic.dict({
|
|
77
|
+
resumptionId: context.peerResumptionId,
|
|
78
|
+
resumeMic: context.peerResumeMic
|
|
79
|
+
})
|
|
76
80
|
);
|
|
77
81
|
throw new import_general.UnexpectedDataError("Invalid resumption ID or resume MIC.");
|
|
78
82
|
}
|
|
@@ -123,13 +127,7 @@ class CaseServer {
|
|
|
123
127
|
await secureSession.destroy(false);
|
|
124
128
|
throw error;
|
|
125
129
|
}
|
|
126
|
-
logger.
|
|
127
|
-
`Session ${secureSession.id} resumed with ${cx.messenger.channelName} for Fabric ${import_types.NodeId.toHexString(
|
|
128
|
-
fabric.nodeId
|
|
129
|
-
)} (index ${fabric.fabricIndex}) and PeerNode ${import_types.NodeId.toHexString(peerNodeId)}`,
|
|
130
|
-
"with CATs",
|
|
131
|
-
caseAuthenticatedTags
|
|
132
|
-
);
|
|
130
|
+
import_NodeSession.NodeSession.logNew(logger, "Resumed", secureSession, cx.messenger, fabric, peerNodeId);
|
|
133
131
|
cx.resumptionRecord.resumptionId = cx.localResumptionId;
|
|
134
132
|
await cx.messenger.waitForSuccess("Sigma2Resume-Success");
|
|
135
133
|
await cx.messenger.close();
|
|
@@ -227,13 +225,7 @@ class CaseServer {
|
|
|
227
225
|
peerSessionParameters: cx.peerSessionParams,
|
|
228
226
|
caseAuthenticatedTags
|
|
229
227
|
});
|
|
230
|
-
logger.
|
|
231
|
-
`Session ${secureSession.id} created with ${cx.messenger.channelName} for Fabric ${import_types.NodeId.toHexString(
|
|
232
|
-
fabric.nodeId
|
|
233
|
-
)} (index ${fabric.fabricIndex}) and PeerNode ${import_types.NodeId.toHexString(peerNodeId)}`,
|
|
234
|
-
"with CATs",
|
|
235
|
-
caseAuthenticatedTags
|
|
236
|
-
);
|
|
228
|
+
import_NodeSession.NodeSession.logNew(logger, "New", secureSession, cx.messenger, fabric, peerNodeId);
|
|
237
229
|
await cx.messenger.sendSuccess();
|
|
238
230
|
const resumptionRecord = {
|
|
239
231
|
peerNodeId,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/case/CaseServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,iBAAoB;AACpB,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,iBAAoB;AACpB,qBAAsG;AACtG,yBAA4B;AAG5B,mBAAoE;AACpE,2BAAmD;AAGnD,oCAA2C;AAC3C,0BAaO;AACP,2BAAoC;AA9BpC;AAAA;AAAA;AAAA;AAAA;AAgCA,MAAM,SAAS,sBAAO,IAAI,YAAY;AAE/B,MAAM,WAAsC;AAAA,EACtC,KAAK;AAAA,EACL,wBAAwB;AAAA,EAEjC;AAAA,EACA;AAAA,EAEA,YAAY,UAA0B,SAAwB;AAC1D,SAAK,YAAY;AACjB,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,cAAc,UAA2B;AAC3C,UAAM,YAAY,IAAI,yCAAoB,QAAQ;AAClD,QAAI;AACA,YAAM,KAAK,cAAc,SAAS;AAAA,IACtC,SAAS,OAAO;AACZ,aAAO,MAAM,8CAA8C,KAAK;AAEhE,UAAI,iBAAiB,0CAAqB;AACtC,cAAM,UAAU,UAAU,qCAAwB,kBAAkB;AAAA,MACxE,WAES,EAAE,iBAAiB,2DAA6B;AACrD,cAAM,UAAU,UAAU,qCAAwB,YAAY;AAAA,MAClE;AAAA,IACJ,UAAE;AAEE,YAAM,SAAS,QAAQ,QAAQ;AAAA,IACnC;AAAA,EACJ;AAAA,EAEA,MAAM,cAAc,WAAgC;AAChD,WAAO,KAAK,iCAA8B,0BAAW,IAAI,UAAU,WAAW,CAAC;AAG/E,UAAM,EAAE,aAAa,OAAO,IAAI,MAAM,UAAU,WAAW;AAC3D,UAAM,mBACF,OAAO,iBAAiB,UAAa,OAAO,uBAAuB,SAC7D,KAAK,UAAU,yBAAyB,OAAO,YAAY,IAC3D;AAEV,UAAM,UAAU,IAAI,cAAc,KAAK,SAAS,QAAQ,WAAW,aAAa,QAAQ,gBAAgB;AAGxG,QAAI,MAAM,KAAK,QAAQ,OAAO,GAAG;AAC7B;AAAA,IACJ;AAGA,QAAI,MAAM,KAAK,gBAAgB,OAAO,GAAG;AACrC;AAAA,IACJ;AAEA,WAAO;AAAA,MACH;AAAA,MACA,UAAU;AAAA,MACV,0BAAW,KAAK;AAAA,QACZ,cAAc,QAAQ;AAAA,QACtB,WAAW,QAAQ;AAAA,MACvB,CAAC;AAAA,IACL;AAEA,UAAM,IAAI,mCAAoB,sCAAsC;AAAA,EACxE;AAAA,EAEA,MAAM,QAAQ,IAAmB;AAC7B,QAAI,GAAG,qBAAqB,UAAa,GAAG,kBAAkB,UAAa,GAAG,qBAAqB,QAAW;AAC1G,aAAO;AAAA,IACX;AAEA,UAAM,EAAE,cAAc,QAAQ,YAAY,sBAAsB,IAAI,GAAG;AACvE,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,UAAM,gBAAgB,MAAM,OAAO;AAAA,MAC/B;AAAA,MACA,qBAAM,OAAO,GAAG,YAAY,GAAG,gBAAgB;AAAA,MAC/C;AAAA,IACJ;AAEA,QAAI;AACA,aAAO,QAAQ,eAAe,GAAG,eAAe,qCAAiB;AAAA,IACrE,SAAS,GAAG;AACR,wCAAmB,OAAO,CAAC;AAG3B,SAAG,mBAAmB,GAAG,gBAAgB;AAEzC,aAAO;AAAA,IACX;AAGA,UAAM,qBAAqB,MAAM,KAAK,UAAU,0BAA0B;AAC1E,UAAM,oBAAoB,qBAAM,OAAO,GAAG,YAAY,GAAG,gBAAgB;AACzE,UAAM,gBAAgB,MAAM,KAAK,UAAU,oBAAoB;AAAA,MAC3D,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,eAAe,GAAG;AAAA,MAClB;AAAA,MACA,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,MACd,uBAAuB,GAAG;AAAA,MAC1B;AAAA,IACJ,CAAC;AAGD,UAAM,aAAa,qBAAM,OAAO,GAAG,YAAY,GAAG,iBAAiB;AACnE,UAAM,YAAY,MAAM,OAAO,cAAc,cAAc,YAAY,mCAAe;AACtF,UAAM,YAAY,OAAO,QAAQ,WAAW,IAAI,WAAW,CAAC,GAAG,qCAAiB;AAChF,QAAI;AACA,YAAM,yBAAyB,KAAK,UAAU;AAC9C,YAAM,GAAG,UAAU,iBAAiB;AAAA,QAChC,cAAc,GAAG;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAO;AAEZ,YAAM,cAAc,QAAQ,KAAK;AACjC,YAAM;AAAA,IACV;AAEA,mCAAY,OAAO,QAAQ,WAAW,eAAe,GAAG,WAAW,QAAQ,UAAU;AAErF,OAAG,iBAAiB,eAAe,GAAG;AAGtC,UAAM,GAAG,UAAU,eAAe,sBAAsB;AAExD,UAAM,GAAG,UAAU,MAAM;AACzB,UAAM,KAAK,UAAU,qBAAqB,GAAG,gBAAgB;AAE7D,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,gBAAgB,IAAmB;AACrC;AAAA;AAAA,MAEI,EAAE,GAAG,qBAAqB,UAAa,GAAG,kBAAkB;AAAA,MAE5D,EAAE,GAAG,qBAAqB,UAAa,GAAG,kBAAkB,UAAa,GAAG,qBAAqB;AAAA,MACnG;AACE,aAAO;AAAA,IACX;AAGA,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,UAAM,kBAAkB,OAAO,YAAY,EAAE;AAG7C,UAAM,SAAS,MAAM,KAAK,SAAS,4BAA4B,GAAG,eAAe,GAAG,UAAU;AAC9F,UAAM,EAAE,iBAAiB,YAAY,oBAAoB,iCAAiC,IAAI;AAC9F,UAAM,MAAM,MAAM,OAAO,cAAc;AACvC,UAAM,yBAAyB,IAAI;AACnC,UAAM,eAAe,MAAM,OAAO,iBAAiB,SAAK,0BAAU,GAAG,iBAAiB,CAAC;AAEvF,UAAM,aAAa,qBAAM;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,OAAO,cAAc,GAAG,KAAK;AAAA,IACvC;AACA,UAAM,YAAY,MAAM,OAAO,cAAc,cAAc,YAAY,+BAAW;AAClF,UAAM,gBAAgB,kCAAc,OAAO;AAAA,MACvC,cAAc;AAAA,MACd,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,oBAAoB,GAAG;AAAA,IAC3B,CAAC;AACD,UAAM,YAAY,MAAM,OAAO,KAAK,aAAa;AACjD,UAAM,gBAAgB,2CAAuB,OAAO;AAAA,MAChD,cAAc;AAAA,MACd,eAAe;AAAA,MACf;AAAA,MACA,cAAc,GAAG;AAAA,IACrB,CAAC;AACD,UAAM,YAAY,OAAO,QAAQ,WAAW,eAAe,mCAAe;AAC1E,UAAM,qBAAqB,MAAM,KAAK,UAAU,0BAA0B;AAC1E,UAAM,cAAc,MAAM,GAAG,UAAU,WAAW;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,wBAAwB,KAAK,UAAU;AAAA;AAAA,IAC3C,CAAC;AAGD,UAAM;AAAA,MACF;AAAA,MACA,QAAQ,EAAE,WAAW,cAAc;AAAA,IACvC,IAAI,MAAM,GAAG,UAAU,WAAW;AAClC,UAAM,aAAa,qBAAM;AAAA,MACrB;AAAA,MACA,MAAM,OAAO,cAAc,CAAC,GAAG,OAAO,WAAW,CAAC;AAAA,IACtD;AACA,UAAM,YAAY,MAAM,OAAO,cAAc,cAAc,YAAY,+BAAW;AAClF,UAAM,oBAAoB,OAAO,QAAQ,WAAW,eAAe,mCAAe;AAClF,UAAM;AAAA,MACF,cAAc;AAAA,MACd,eAAe;AAAA,MACf,WAAW;AAAA,IACf,IAAI,2CAAuB,OAAO,iBAAiB;AAEnD,UAAM,OAAO,kBAAkB,eAAe,sBAAsB;AAEpE,UAAM,oBAAoB,kCAAc,OAAO;AAAA,MAC3C,cAAc;AAAA,MACd,eAAe;AAAA,MACf,oBAAoB,GAAG;AAAA,MACvB,oBAAoB;AAAA,IACxB,CAAC;AACD,UAAM;AAAA,MACF,wBAAwB;AAAA,MACxB,SAAS,EAAE,UAAU,cAAc,QAAQ,YAAY,sBAAsB;AAAA,IACjF,IAAI,eAAI,QAAQ,aAAa,EAAE;AAE/B,QAAI,OAAO,aAAa,cAAc;AAClC,YAAM,IAAI,mCAAoB,uBAAuB,OAAO,QAAQ,QAAQ,YAAY,EAAE;AAAA,IAC9F;AAEA,UAAM,OAAO,gBAAY,0BAAU,aAAa,GAAG,mBAAmB,aAAa;AAGnF,UAAM,oBAAoB,qBAAM;AAAA,MAC5B;AAAA,MACA,MAAM,OAAO,cAAc,CAAC,GAAG,OAAO,aAAa,WAAW,CAAC;AAAA,IACnE;AACA,UAAM,gBAAgB,MAAM,KAAK,UAAU,oBAAoB;AAAA,MAC3D,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,eAAe,GAAG;AAAA,MAClB;AAAA,MACA,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,MACd,uBAAuB,GAAG;AAAA,MAC1B;AAAA,IACJ,CAAC;AAED,mCAAY,OAAO,QAAQ,OAAO,eAAe,GAAG,WAAW,QAAQ,UAAU;AAEjF,UAAM,GAAG,UAAU,YAAY;AAE/B,UAAM,mBAAmB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,GAAG;AAAA,MACjB,mBAAmB,cAAc;AAAA,MACjC;AAAA,IACJ;AAEA,UAAM,GAAG,UAAU,MAAM;AACzB,UAAM,KAAK,UAAU,qBAAqB,gBAAgB;AAE1D,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAQ;AAAA,EAEd;AACJ;AAEA,MAAM,cAAc;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,YACI,QACA,WACA,OACA,QACA,kBACF;AACE,SAAK,SAAS;AACd,SAAK,YAAY;AACjB,SAAK,QAAQ;AACb,SAAK,gBAAgB,OAAO;AAC5B,SAAK,mBAAmB,OAAO;AAC/B,SAAK,gBAAgB,OAAO;AAC5B,SAAK,gBAAgB,OAAO;AAC5B,SAAK,aAAa,OAAO;AACzB,SAAK,oBAAoB,OAAO;AAChC,SAAK,oBAAoB,OAAO;AAChC,SAAK,mBAAmB;AAAA,EAC5B;AAAA,EAEA,IAAI,oBAAoB;AACpB,WAAQ,KAAK,uBAAuB,KAAK,OAAO,YAAY,EAAE;AAAA,EAClE;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -105,7 +105,7 @@ class PaseClient {
|
|
|
105
105
|
peerSessionParameters
|
|
106
106
|
});
|
|
107
107
|
await messenger.close();
|
|
108
|
-
logger.info(
|
|
108
|
+
logger.info("Paired successfully \xBB", messenger.channelName);
|
|
109
109
|
return secureSession;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -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,qBAAyF;AAEzF,mBAAsE;AAGtE,2BAAwE;AAXxE;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,EAAE,gBAAgB,IAAI;AAE5B,MAAM,SAAS,sBAAO,IAAI,YAAY;AAE/B,MAAM,WAAW;AAAA,EACpB;AAAA,EAEA,YAAY,UAA0B;AAClC,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,aAAa,6BAA6B,QAAgB,cAAsB,iBAAkC;AAC9G,UAAM,EAAE,IAAI,EAAE,IAAI,MAAM,uBAAQ,WAAW,QAAQ,iBAAiB,YAAY;AAChF,WAAO,qBAAM,OAAO,gBAAgB,IAAI,EAAE,GAAG,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,uBAAuB,QAAgB;AAC1C,QAAI;AACJ,eAAY,OAAO,eAAe,WAAY;AAC9C,QAAI,kCAAqB,oBAAoB,SAAS,QAAQ,GAAG;AAC7D,kBAAY;AAAA,IAChB;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,4BAA4B,QAAgB;AAC/C,WAAO,OAAO,eAAe;AAAA,EACjC;AAAA,EAEA,MAAM,KAAK,wBAA2C,UAA2B,UAAkB;AAC/F,UAAM,YAAY,IAAI,yCAAoB,QAAQ;AAClD,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,UAAM,kBAAkB,OAAO,YAAY,EAAE;AAC7C,UAAM,qBAAqB,MAAM,KAAK,UAAU,0BAA0B;AAG1E,UAAM,iBAAiB,MAAM,UAAU,sBAAsB;AAAA,MACzD;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,oBAAoB;AAAA,MACpB;AAAA,IACJ,CAAC;AACD,UAAM;AAAA,MACF;AAAA,MACA,UAAU,EAAE,iBAAiB,oBAAoB,uBAAuB;AAAA,IAC5E,IAAI,MAAM,UAAU,uBAAuB;AAC3C,QAAI,oBAAoB,QAAW;AAG/B,YAAM,UAAU,UAAU,qCAAwB,YAAY;AAC9D,YAAM,IAAI,mCAAoB,0EAA0E;AAAA,IAC5G;AAGA,UAAM,wBAAwB;AAAA,MAC1B,GAAG,SAAS,QAAQ;AAAA,MACpB,GAAI,0BAA0B,CAAC;AAAA,IACnC;AAGA,UAAM,EAAE,IAAI,GAAG,IAAI,MAAM,uBAAQ,YAAY,QAAQ,iBAAiB,QAAQ;AAC9E,UAAM,UAAU,uBAAQ;AAAA,MACpB;AAAA,MACA,MAAM,OAAO,cAAc,CAAC,oCAAe,gBAAgB,eAAe,CAAC;AAAA,MAC3E;AAAA,IACJ;AACA,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,qBAAM,SAAS,UAAU,GAAG,GAAG;AAChC,YAAM,UAAU,UAAU,qCAAwB,YAAY;AAC9D,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AACA,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,oBAAO;AAAA,MACnB,eAAe;AAAA,MACf,cAAc;AAAA,MACd,MAAM,IAAI,WAAW,CAAC;AAAA,MACtB,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,IACJ,CAAC;AACD,UAAM,UAAU,MAAM;AACtB,WAAO,KAAK,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,
|
|
1
|
+
{"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EAKL,eAAe,EACf,eAAe,EAMlB,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;;IAwB1C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IA1BrC,QAAQ,CAAC,EAAE,KAA8B;IACzC,QAAQ,CAAC,qBAAqB,SAAS;WAK1B,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKrG,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,KAAK,EACxB,eAAe,CAAC,EAAE,eAAe;gBASzB,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,KAAK,EACR,eAAe,CAAC,EAAE,eAAe,YAAA;IAGhD,aAAa,CAAC,QAAQ,EAAE,eAAe;YAwC/B,oBAAoB;IAyE5B,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,UAAO;IAU9D,KAAK;CAGd"}
|
|
@@ -89,7 +89,7 @@ class PaseServer {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
async handlePairingRequest(crypto, messenger) {
|
|
92
|
-
logger.info(
|
|
92
|
+
logger.info("Received pairing request \xAB", import_general.Diagnostic.via(messenger.channelName));
|
|
93
93
|
this.#pairingTimer = import_general.Time.getTimer(
|
|
94
94
|
"PASE pairing timeout",
|
|
95
95
|
PASE_PAIRING_TIMEOUT_MS,
|
|
@@ -142,7 +142,7 @@ class PaseServer {
|
|
|
142
142
|
isResumption: false,
|
|
143
143
|
peerSessionParameters: initiatorSessionParams
|
|
144
144
|
});
|
|
145
|
-
logger.info(`Session ${responderSessionId} created with
|
|
145
|
+
logger.info(import_general.Diagnostic.strong(`Session ${responderSessionId} created`), "with", messenger.channelName);
|
|
146
146
|
await messenger.sendSuccess();
|
|
147
147
|
await messenger.close();
|
|
148
148
|
this.#pairingTimer?.stop();
|
|
@@ -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;AAAA;AAMA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Interactable, InteractionSession } from "#action/Interactable.js";
|
|
7
|
-
import {
|
|
7
|
+
import { ClientInvoke } from "#action/request/Invoke.js";
|
|
8
8
|
import { Read } from "#action/request/Read.js";
|
|
9
9
|
import { Subscribe } from "#action/request/Subscribe.js";
|
|
10
10
|
import { Write } from "#action/request/Write.js";
|
|
11
|
-
import {
|
|
11
|
+
import { DecodedInvokeResult } from "#action/response/InvokeResult.js";
|
|
12
12
|
import { ReadResult } from "#action/response/ReadResult.js";
|
|
13
13
|
import { SubscribeResult } from "#action/response/SubscribeResult.js";
|
|
14
14
|
import { WriteResult } from "#action/response/WriteResult.js";
|
|
15
|
-
import { Environment, Environmental, PromiseQueue } from "#general";
|
|
15
|
+
import { Duration, Environment, Environmental, PromiseQueue } from "#general";
|
|
16
16
|
import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
|
|
17
17
|
import { ClientSubscriptions } from "./ClientSubscriptions.js";
|
|
18
18
|
export interface ClientInteractionContext {
|
|
@@ -20,7 +20,7 @@ export interface ClientInteractionContext {
|
|
|
20
20
|
subscriptions: ClientSubscriptions;
|
|
21
21
|
queue: PromiseQueue;
|
|
22
22
|
}
|
|
23
|
-
export declare const DEFAULT_MIN_INTERVAL_FLOOR:
|
|
23
|
+
export declare const DEFAULT_MIN_INTERVAL_FLOOR: Duration;
|
|
24
24
|
/**
|
|
25
25
|
* Client-side implementation of the Matter protocol.
|
|
26
26
|
*/
|
|
@@ -32,8 +32,13 @@ export declare class ClientInteraction<SessionT extends InteractionSession = Int
|
|
|
32
32
|
get queue(): PromiseQueue | undefined;
|
|
33
33
|
static [Environmental.create](env: Environment): ClientInteraction<InteractionSession>;
|
|
34
34
|
read(request: Read, _session?: SessionT): ReadResult;
|
|
35
|
+
/**
|
|
36
|
+
* Write chosen attributes remotely to the node.
|
|
37
|
+
* The returned attribute write status information is returned. No error is thrown for individual attribute write
|
|
38
|
+
* failures.
|
|
39
|
+
*/
|
|
35
40
|
write<T extends Write>(request: T, _session?: SessionT): WriteResult<T>;
|
|
36
|
-
invoke(request:
|
|
41
|
+
invoke(request: ClientInvoke, _session?: SessionT): DecodedInvokeResult;
|
|
37
42
|
subscribe(request: Subscribe, _session?: SessionT): SubscribeResult;
|
|
38
43
|
cancelSubscription(id: number): void;
|
|
39
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAU,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAgB,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAGH,QAAQ,EACR,WAAW,EACX,aAAa,EAIb,YAAY,EAEf,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAK/D,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,KAAK,EAAE,YAAY,CAAC;CACvB;AAED,eAAO,MAAM,0BAA0B,UAAa,CAAC;AAKrD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CACnF,YAAW,YAAY,CAAC,QAAQ,CAAC;;gBAQrB,OAAO,EAAE,wBAAwB;IAMvC,KAAK;IAQX,IAAI,aAAa,wBAEhB;IAED,IAAI,KAAK,6BAER;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAUvC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU;IAyC3D;;;;OAIG;IACG,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IAiEtE,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,mBAAmB;IAyGxE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,eAAe;IA2DzE,kBAAkB,CAAC,EAAE,EAAE,MAAM;CA2BhC"}
|
|
@@ -3,14 +3,28 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { resolvePathForSpecifier } from "#action/index.js";
|
|
7
|
+
import { Invoke } from "#action/request/Invoke.js";
|
|
8
|
+
import {
|
|
9
|
+
BasicSet,
|
|
10
|
+
Diagnostic,
|
|
11
|
+
Duration,
|
|
12
|
+
Environmental,
|
|
13
|
+
ImplementationError,
|
|
14
|
+
isObject,
|
|
15
|
+
Logger,
|
|
16
|
+
Seconds
|
|
17
|
+
} from "#general";
|
|
7
18
|
import { InteractionClientMessenger, MessageType } from "#interaction/InteractionMessenger.js";
|
|
8
19
|
import { InteractionQueue } from "#peer/InteractionQueue.js";
|
|
9
20
|
import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
|
|
10
|
-
import { TlvSubscribeResponse } from "#types";
|
|
21
|
+
import { Status, TlvNoResponse, TlvSubscribeResponse } from "#types";
|
|
11
22
|
import { ClientSubscriptions } from "./ClientSubscriptions.js";
|
|
12
23
|
import { InputChunk } from "./InputChunk.js";
|
|
24
|
+
const logger = Logger.get("ClientInteraction");
|
|
13
25
|
const DEFAULT_MIN_INTERVAL_FLOOR = Seconds(1);
|
|
26
|
+
const DEFAULT_TIMED_REQUEST_TIMEOUT = Seconds(10);
|
|
27
|
+
const DEFAULT_MINIMUM_RESPONSE_TIMEOUT_WITH_FAILSAFE = Seconds(30);
|
|
14
28
|
class ClientInteraction {
|
|
15
29
|
#exchanges;
|
|
16
30
|
#subscriptions;
|
|
@@ -44,34 +58,71 @@ class ClientInteraction {
|
|
|
44
58
|
return instance;
|
|
45
59
|
}
|
|
46
60
|
async *read(request, _session) {
|
|
61
|
+
const readPathsCount = (request.attributeRequests?.length ?? 0) + (request.eventRequests?.length ?? 0);
|
|
62
|
+
if (readPathsCount > 9) {
|
|
63
|
+
logger.debug(
|
|
64
|
+
"Read interactions with more then 9 paths might be not allowed by the device. Consider splitting then into several read requests."
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
this.#begin(request);
|
|
68
|
+
let messenger;
|
|
47
69
|
try {
|
|
48
|
-
this.#
|
|
49
|
-
|
|
70
|
+
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
71
|
+
logger.debug("Read \xBB", messenger.exchange.via, request);
|
|
50
72
|
await messenger.sendReadRequest(request);
|
|
73
|
+
let attributeReportCount = 0;
|
|
74
|
+
let eventReportCount = 0;
|
|
51
75
|
for await (const report of messenger.readDataReports()) {
|
|
76
|
+
attributeReportCount += report.attributeReports?.length ?? 0;
|
|
77
|
+
eventReportCount += report.eventReports?.length ?? 0;
|
|
52
78
|
yield InputChunk(report);
|
|
53
79
|
}
|
|
80
|
+
logger.debug(
|
|
81
|
+
"Read \xAB",
|
|
82
|
+
messenger.exchange.via,
|
|
83
|
+
Diagnostic.weak(
|
|
84
|
+
attributeReportCount + eventReportCount === 0 ? "(empty)" : Diagnostic.dict({ attributes: attributeReportCount, events: eventReportCount })
|
|
85
|
+
)
|
|
86
|
+
);
|
|
54
87
|
} finally {
|
|
88
|
+
await messenger?.close();
|
|
55
89
|
this.#end(request);
|
|
56
90
|
}
|
|
57
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Write chosen attributes remotely to the node.
|
|
94
|
+
* The returned attribute write status information is returned. No error is thrown for individual attribute write
|
|
95
|
+
* failures.
|
|
96
|
+
*/
|
|
58
97
|
async write(request, _session) {
|
|
98
|
+
this.#begin(request);
|
|
59
99
|
let messenger;
|
|
60
100
|
try {
|
|
61
|
-
this.#begin(request);
|
|
62
101
|
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
102
|
+
if (request.timedRequest) {
|
|
103
|
+
await messenger.sendTimedRequest(request.timeout ?? DEFAULT_TIMED_REQUEST_TIMEOUT);
|
|
104
|
+
}
|
|
105
|
+
logger.info("Write \xBB", messenger.exchange.via, request);
|
|
63
106
|
const response = await messenger.sendWriteCommand(request);
|
|
64
107
|
if (request.suppressResponse) {
|
|
65
108
|
return void 0;
|
|
66
109
|
}
|
|
67
110
|
if (!response || !response.writeResponses?.length) {
|
|
68
|
-
return
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
let successCount = 0;
|
|
114
|
+
let failureCount = 0;
|
|
115
|
+
const result = response.writeResponses.map(
|
|
116
|
+
({
|
|
117
|
+
path: { nodeId, endpointId, clusterId, attributeId, listIndex },
|
|
118
|
+
status: { status, clusterStatus }
|
|
119
|
+
}) => {
|
|
120
|
+
if (status === Status.Success) {
|
|
121
|
+
successCount++;
|
|
122
|
+
} else {
|
|
123
|
+
failureCount++;
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
75
126
|
kind: "attr-status",
|
|
76
127
|
path: {
|
|
77
128
|
nodeId,
|
|
@@ -82,20 +133,41 @@ class ClientInteraction {
|
|
|
82
133
|
},
|
|
83
134
|
status,
|
|
84
135
|
clusterStatus
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
logger.info(
|
|
140
|
+
"Write \xAB",
|
|
141
|
+
messenger.exchange.via,
|
|
142
|
+
Diagnostic.weak(
|
|
143
|
+
successCount + failureCount === 0 ? "(empty)" : Diagnostic.dict({ success: successCount, failure: failureCount })
|
|
144
|
+
)
|
|
145
|
+
);
|
|
146
|
+
return result;
|
|
88
147
|
} finally {
|
|
89
148
|
await messenger?.close();
|
|
90
149
|
this.#end(request);
|
|
91
150
|
}
|
|
92
151
|
}
|
|
93
152
|
async *invoke(request, _session) {
|
|
153
|
+
this.#begin(request);
|
|
94
154
|
let messenger;
|
|
95
155
|
try {
|
|
96
|
-
this.#begin(request);
|
|
97
156
|
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
98
|
-
|
|
157
|
+
if (request.timedRequest) {
|
|
158
|
+
await messenger.sendTimedRequest(request.timeout ?? DEFAULT_TIMED_REQUEST_TIMEOUT);
|
|
159
|
+
}
|
|
160
|
+
logger.info(
|
|
161
|
+
"Invoke \xBB",
|
|
162
|
+
messenger.exchange.via,
|
|
163
|
+
Diagnostic.asFlags({ suppressResponse: request.suppressResponse, timed: request.timedRequest }),
|
|
164
|
+
request
|
|
165
|
+
);
|
|
166
|
+
const { expectedProcessingTime, useExtendedFailSafeMessageResponseTimeout } = request;
|
|
167
|
+
const result = await messenger.sendInvokeCommand(
|
|
168
|
+
request,
|
|
169
|
+
expectedProcessingTime ?? (useExtendedFailSafeMessageResponseTimeout ? DEFAULT_MINIMUM_RESPONSE_TIMEOUT_WITH_FAILSAFE : void 0)
|
|
170
|
+
);
|
|
99
171
|
if (!request.suppressResponse) {
|
|
100
172
|
if (result && result.invokeResponses?.length) {
|
|
101
173
|
const chunk = result.invokeResponses.map((response) => {
|
|
@@ -105,6 +177,25 @@ class ClientInteraction {
|
|
|
105
177
|
commandRef,
|
|
106
178
|
commandFields
|
|
107
179
|
} = response.command;
|
|
180
|
+
const cmd = request.commands.get(commandRef);
|
|
181
|
+
if (!cmd) {
|
|
182
|
+
throw new ImplementationError(
|
|
183
|
+
`No response schema found for commandRef ${commandRef} (endpoint ${endpointId}, cluster ${clusterId}, command ${commandId})`
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
const responseSchema = Invoke.commandOf(cmd).responseSchema;
|
|
187
|
+
if (commandFields === void 0 && responseSchema !== TlvNoResponse) {
|
|
188
|
+
throw new ImplementationError(
|
|
189
|
+
`No command fields found for commandRef ${commandRef} (endpoint ${endpointId}, cluster ${clusterId}, command ${commandId})`
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
const data = commandFields === void 0 ? void 0 : responseSchema.decodeTlv(commandFields);
|
|
193
|
+
logger.info(
|
|
194
|
+
"Invoke \xAB",
|
|
195
|
+
messenger.exchange.via,
|
|
196
|
+
Diagnostic.strong(resolvePathForSpecifier(cmd)),
|
|
197
|
+
isObject(data) ? Diagnostic.dict(data) : Diagnostic.weak("(no payload)")
|
|
198
|
+
);
|
|
108
199
|
const res = {
|
|
109
200
|
kind: "cmd-response",
|
|
110
201
|
path: {
|
|
@@ -113,8 +204,7 @@ class ClientInteraction {
|
|
|
113
204
|
commandId
|
|
114
205
|
},
|
|
115
206
|
commandRef,
|
|
116
|
-
data
|
|
117
|
-
// TODO add decoding
|
|
207
|
+
data
|
|
118
208
|
};
|
|
119
209
|
return res;
|
|
120
210
|
} else if (response.status !== void 0) {
|
|
@@ -150,10 +240,32 @@ class ClientInteraction {
|
|
|
150
240
|
}
|
|
151
241
|
}
|
|
152
242
|
async subscribe(request, _session) {
|
|
243
|
+
const subscriptionPathsCount = (request.attributeRequests?.length ?? 0) + (request.eventRequests?.length ?? 0);
|
|
244
|
+
if (subscriptionPathsCount > 3) {
|
|
245
|
+
logger.debug("Subscribe interactions with more then 3 paths might be not allowed by the device.");
|
|
246
|
+
}
|
|
247
|
+
if (!request.keepSubscriptions) {
|
|
248
|
+
for (const subscription of this.#subscriptions) {
|
|
249
|
+
logger.debug(
|
|
250
|
+
`Removing subscription with ID ${subscription.subscriptionId} because new subscription replaces it`
|
|
251
|
+
);
|
|
252
|
+
subscription.close();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
this.#begin(request);
|
|
153
256
|
let messenger;
|
|
154
257
|
try {
|
|
155
|
-
this.#begin(request);
|
|
156
258
|
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
259
|
+
logger.info(
|
|
260
|
+
"Subscribe \xBB",
|
|
261
|
+
messenger.exchange.via,
|
|
262
|
+
Diagnostic.asFlags({ keepSubscriptions: request.keepSubscriptions }),
|
|
263
|
+
Diagnostic.dict({
|
|
264
|
+
min: Duration.format(request.minIntervalFloor),
|
|
265
|
+
max: Duration.format(request.maxIntervalCeiling)
|
|
266
|
+
}),
|
|
267
|
+
request
|
|
268
|
+
);
|
|
157
269
|
await messenger.sendSubscribeRequest({
|
|
158
270
|
minIntervalFloorSeconds: Seconds.of(DEFAULT_MIN_INTERVAL_FLOOR),
|
|
159
271
|
maxIntervalCeilingSeconds: Seconds.of(DEFAULT_MIN_INTERVAL_FLOOR),
|
|
@@ -163,6 +275,14 @@ class ClientInteraction {
|
|
|
163
275
|
await this.#handleSubscriptionResponse(request, readChunks(messenger));
|
|
164
276
|
const responseMessage = await messenger.nextMessage(MessageType.SubscribeResponse);
|
|
165
277
|
const response = TlvSubscribeResponse.decode(responseMessage.payload);
|
|
278
|
+
logger.info(
|
|
279
|
+
"Subscription successful \xAB",
|
|
280
|
+
messenger.exchange.via,
|
|
281
|
+
Diagnostic.dict({
|
|
282
|
+
subId: response.subscriptionId,
|
|
283
|
+
interval: Duration.format(Seconds(response.maxInterval))
|
|
284
|
+
})
|
|
285
|
+
);
|
|
166
286
|
return this.#subscriptions.add(request, response);
|
|
167
287
|
} finally {
|
|
168
288
|
await messenger?.close();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/action/client/ClientInteraction.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|