@matter/protocol 0.15.1 → 0.15.2-alpha.0-20250703-2e16aba2b
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/Val.d.ts +4 -0
- package/dist/cjs/action/Val.d.ts.map +1 -1
- package/dist/cjs/action/Val.js.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.d.ts +10 -8
- package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +152 -80
- package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
- package/dist/cjs/action/client/ClientSubscription.d.ts +17 -0
- package/dist/cjs/action/client/ClientSubscription.d.ts.map +1 -0
- package/dist/cjs/action/client/ClientSubscription.js +22 -0
- package/dist/cjs/action/client/ClientSubscription.js.map +6 -0
- package/dist/cjs/action/client/ClientSubscriptionHandler.d.ts +20 -0
- package/dist/cjs/action/client/ClientSubscriptionHandler.d.ts.map +1 -0
- package/dist/cjs/action/client/ClientSubscriptionHandler.js +117 -0
- package/dist/cjs/action/client/ClientSubscriptionHandler.js.map +6 -0
- package/dist/cjs/action/client/ClientSubscriptions.d.ts +45 -0
- package/dist/cjs/action/client/ClientSubscriptions.d.ts.map +1 -0
- package/dist/cjs/action/client/ClientSubscriptions.js +141 -0
- package/dist/cjs/action/client/ClientSubscriptions.js.map +6 -0
- package/dist/cjs/action/client/InputChunk.d.ts +12 -0
- package/dist/cjs/action/client/InputChunk.d.ts.map +1 -0
- package/dist/cjs/action/client/InputChunk.js +89 -0
- package/dist/cjs/action/client/InputChunk.js.map +6 -0
- package/dist/cjs/action/client/ReadScope.d.ts +26 -0
- package/dist/cjs/action/client/ReadScope.d.ts.map +1 -0
- package/dist/cjs/action/client/ReadScope.js +87 -0
- package/dist/cjs/action/client/ReadScope.js.map +6 -0
- package/dist/cjs/action/client/index.d.ts +5 -0
- package/dist/cjs/action/client/index.d.ts.map +1 -1
- package/dist/cjs/action/client/index.js +5 -0
- package/dist/cjs/action/client/index.js.map +1 -1
- package/dist/cjs/action/request/Read.d.ts +0 -4
- package/dist/cjs/action/request/Read.d.ts.map +1 -1
- package/dist/cjs/action/request/Read.js.map +1 -1
- package/dist/cjs/action/request/Subscribe.d.ts +14 -1
- package/dist/cjs/action/request/Subscribe.d.ts.map +1 -1
- package/dist/cjs/action/request/Subscribe.js +2 -2
- package/dist/cjs/action/request/Subscribe.js.map +1 -1
- package/dist/cjs/action/response/SubscribeResult.d.ts +3 -5
- package/dist/cjs/action/response/SubscribeResult.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.js +0 -1
- package/dist/cjs/common/FailsafeContext.js.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.d.ts +6 -1
- package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.js +16 -0
- package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionClient.js +8 -4
- package/dist/cjs/interaction/InteractionClient.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +20 -16
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +18 -10
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.d.ts +5 -6
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +2 -5
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +3 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.js +4 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/esm/action/Val.d.ts +4 -0
- package/dist/esm/action/Val.d.ts.map +1 -1
- package/dist/esm/action/Val.js.map +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts +10 -8
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +154 -82
- package/dist/esm/action/client/ClientInteraction.js.map +1 -1
- package/dist/esm/action/client/ClientSubscription.d.ts +17 -0
- package/dist/esm/action/client/ClientSubscription.d.ts.map +1 -0
- package/dist/esm/action/client/ClientSubscription.js +6 -0
- package/dist/esm/action/client/ClientSubscription.js.map +6 -0
- package/dist/esm/action/client/ClientSubscriptionHandler.d.ts +20 -0
- package/dist/esm/action/client/ClientSubscriptionHandler.d.ts.map +1 -0
- package/dist/esm/action/client/ClientSubscriptionHandler.js +97 -0
- package/dist/esm/action/client/ClientSubscriptionHandler.js.map +6 -0
- package/dist/esm/action/client/ClientSubscriptions.d.ts +45 -0
- package/dist/esm/action/client/ClientSubscriptions.d.ts.map +1 -0
- package/dist/esm/action/client/ClientSubscriptions.js +129 -0
- package/dist/esm/action/client/ClientSubscriptions.js.map +6 -0
- package/dist/esm/action/client/InputChunk.d.ts +12 -0
- package/dist/esm/action/client/InputChunk.d.ts.map +1 -0
- package/dist/esm/action/client/InputChunk.js +69 -0
- package/dist/esm/action/client/InputChunk.js.map +6 -0
- package/dist/esm/action/client/ReadScope.d.ts +26 -0
- package/dist/esm/action/client/ReadScope.d.ts.map +1 -0
- package/dist/esm/action/client/ReadScope.js +67 -0
- package/dist/esm/action/client/ReadScope.js.map +6 -0
- package/dist/esm/action/client/index.d.ts +5 -0
- package/dist/esm/action/client/index.d.ts.map +1 -1
- package/dist/esm/action/client/index.js +5 -0
- package/dist/esm/action/client/index.js.map +1 -1
- package/dist/esm/action/request/Read.d.ts +0 -4
- package/dist/esm/action/request/Read.d.ts.map +1 -1
- package/dist/esm/action/request/Read.js.map +1 -1
- package/dist/esm/action/request/Subscribe.d.ts +14 -1
- package/dist/esm/action/request/Subscribe.d.ts.map +1 -1
- package/dist/esm/action/request/Subscribe.js +2 -2
- package/dist/esm/action/request/Subscribe.js.map +1 -1
- package/dist/esm/action/response/SubscribeResult.d.ts +3 -5
- package/dist/esm/action/response/SubscribeResult.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.js +0 -1
- package/dist/esm/common/FailsafeContext.js.map +1 -1
- package/dist/esm/fabric/FabricAuthority.d.ts +6 -1
- package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/esm/fabric/FabricAuthority.js +25 -1
- package/dist/esm/fabric/FabricAuthority.js.map +1 -1
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionClient.js +8 -4
- package/dist/esm/interaction/InteractionClient.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +20 -16
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +18 -10
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/mdns/MdnsScanner.d.ts +5 -6
- package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsScanner.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +2 -5
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts +3 -0
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.js +4 -0
- package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
- package/package.json +6 -6
- package/src/action/Val.ts +5 -0
- package/src/action/client/ClientInteraction.ts +178 -90
- package/src/action/client/ClientSubscription.ts +18 -0
- package/src/action/client/ClientSubscriptionHandler.ts +137 -0
- package/src/action/client/ClientSubscriptions.ts +172 -0
- package/src/action/client/InputChunk.ts +79 -0
- package/src/action/client/ReadScope.ts +107 -0
- package/src/action/client/index.ts +5 -0
- package/src/action/request/Read.ts +0 -5
- package/src/action/request/Subscribe.ts +17 -3
- package/src/action/response/SubscribeResult.ts +3 -4
- package/src/common/FailsafeContext.ts +0 -1
- package/src/fabric/FabricAuthority.ts +29 -1
- package/src/interaction/InteractionClient.ts +8 -4
- package/src/interaction/InteractionMessenger.ts +18 -11
- package/src/mdns/MdnsScanner.ts +5 -6
- package/src/protocol/DeviceCommissioner.ts +2 -7
- package/src/securechannel/SecureChannelMessenger.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceCommissioner.d.ts","sourceRoot":"","sources":["../../../src/protocol/DeviceCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAEH,WAAW,EACX,aAAa,EAKb,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAmC,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;GAEG;AACH,8BAAsB,2BAA2B;IAC7C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,2BAA2B,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;;gBAQf,OAAO,EAAE,yBAAyB;IA+C9C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAY9C,IAAI,eAAe,oBAGlB;IAEK,0BAA0B,CAC5B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,MAAM,YAAY;IAgB1C,uBAAuB,CAAC,wBAAwB,CAAC,EAAE,MAAM,YAAY;
|
|
1
|
+
{"version":3,"file":"DeviceCommissioner.d.ts","sourceRoot":"","sources":["../../../src/protocol/DeviceCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAEH,WAAW,EACX,aAAa,EAKb,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAmC,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;GAEG;AACH,8BAAsB,2BAA2B;IAC7C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,2BAA2B,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;;gBAQf,OAAO,EAAE,yBAAyB;IA+C9C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAY9C,IAAI,eAAe,oBAGlB;IAEK,0BAA0B,CAC5B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,MAAM,YAAY;IAgB1C,uBAAuB,CAAC,wBAAwB,CAAC,EAAE,MAAM,YAAY;IAoB3E,UAAU,CAAC,eAAe,EAAE,eAAe;IAsB3C,IAAI,eAAe,YAElB;IAED,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM;IAQpC,oBAAoB;IAmDd,gBAAgB;IAsBhB,KAAK;CAQd"}
|
|
@@ -95,8 +95,7 @@ class DeviceCommissioner {
|
|
|
95
95
|
commissioningEndCallback
|
|
96
96
|
);
|
|
97
97
|
}
|
|
98
|
-
|
|
99
|
-
await failsafeContext.construction;
|
|
98
|
+
beginTimed(failsafeContext) {
|
|
100
99
|
this.#failsafeContext = failsafeContext;
|
|
101
100
|
this.#context.fabrics.events.added.on((fabric) => {
|
|
102
101
|
const fabrics = this.#context.fabrics.fabrics;
|
|
@@ -153,9 +152,7 @@ class DeviceCommissioner {
|
|
|
153
152
|
}
|
|
154
153
|
this.#activeCommissioningEndCallback = activeCommissioningEndCallback;
|
|
155
154
|
this.#activeDiscriminator = discriminator;
|
|
156
|
-
this.#enterCommissioningMode(windowStatus, discriminator)
|
|
157
|
-
(error) => logger.warn("Error sending announcement:", error)
|
|
158
|
-
);
|
|
155
|
+
await this.#enterCommissioningMode(windowStatus, discriminator);
|
|
159
156
|
}
|
|
160
157
|
async endCommissioning() {
|
|
161
158
|
if (this.#windowStatus === AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/DeviceCommissioner.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kCAAkC;AAE3C,SAAS,yBAAyB;AAClC,SAAS,qBAAqB;AAC9B;AAAA,EACI;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACG;AACP,SAAS,6BAA6B;AACtC,SAAS,YAAY,sBAAsB;AAC3C,SAA+B,YAAY,2BAA2B;AAEtE,SAAS,wBAAwB;AAEjC,MAAM,SAAS,OAAO,IAAI,oBAAoB;AAKvC,MAAe,4BAA4B;AAElD;AAmBO,MAAM,mBAAmB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,gBAAgB,2BAA2B,0BAA0B;AAAA,EACrE;AAAA,EACA;AAAA,EACA,aAAa,IAAI,cAAc,IAAI;AAAA,EAEnC,YAAY,SAAoC;AAC5C,SAAK,WAAW;AAEhB,SAAK,WAAW,GAAG,KAAK,SAAS,WAAW,UAAU,KAAK,gBAAgB;AAG3E,SAAK,WAAW,GAAG,KAAK,SAAS,QAAQ,OAAO,SAAS,YAAY;AAGjE,UACI,KAAK,SAAS,QAAQ,WAAW,KACjC,KAAK,kBAAkB,2BAA2B,0BAA0B,eAC9E;AACE,aAAK,qBAAqB;AAAA,MAC9B;AAAA,IACJ,CAAC;AAGD,SAAK,WAAW,GAAG,KAAK,SAAS,WAAW,sBAAsB,KAAK,uBAAuB;AAG9F,SAAK,WAAW,GAAG,KAAK,SAAS,sBAAsB,mBAAmB,YAAY;AAClF,aAAO,KAAK,wEAAwE;AACpF,YAAM,KAAK,iBAAiB;AAAA,IAChC,CAAC;AAED,SAAK,WAAW,GAAG,KAAK,SAAS,SAAS,SAAS,SAAS,aAAW;AACnE,YAAM,qBAAqB,QAAQ,QAAQ;AAG3C,YAAM,wBACF,uBAAuB,SACjB,SACA,KAAK,SAAS,QAAQ,YAAY,kBAAkB,GAAG;AAMjE,UAAI,KAAK,SAAS,QAAQ,SAAS,KAAK,QAAQ,UAAU,CAAC,uBAAuB;AAC9E,aAAK,SAAS,WACT,iBAAiB,EACjB,MAAM,WAAS,OAAO,KAAK,0BAA0B,KAAK,CAAC;AAAA,MACpE;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,mBAAmB;AAAA,MACpC,SAAS,IAAI,IAAI,aAAa;AAAA,MAC9B,UAAU,IAAI,IAAI,cAAc;AAAA,MAChC,YAAY,IAAI,IAAI,gBAAgB;AAAA,MACpC,uBAAuB,IAAI,IAAI,qBAAqB;AAAA,MACpD,qBAAqB,IAAI,IAAI,2BAA2B;AAAA,IAC5D,CAAC;AACD,QAAI,IAAI,oBAAoB,QAAQ;AACpC,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,kBAAkB;AAClB,SAAK,oBAAoB;AACzB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,2BACF,eACA,YACA,0BACF;AACE,QAAI,KAAK,kBAAkB,2BAA2B,0BAA0B,iBAAiB;AAC7F,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,SAAS,sBAAsB,oBAAoB,UAAU;AAClE,UAAM,KAAK;AAAA,MACP,2BAA2B,0BAA0B;AAAA,MACrD;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,wBAAwB,0BAA+C;AACzE,QAAI,KAAK,kBAAkB,2BAA2B,0BAA0B,oBAAoB;AAChG,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,SAAS,sBAAsB;AAAA,MAChC,MAAM,WAAW,QAAQ,KAAK,SAAS,UAAU,KAAK,SAAS,oBAAoB,OAAO,UAAU;AAAA,QAChG,YAAY;AAAA,QACZ,MAAM,KAAK,SAAS,QAAQ,OAAO,YAAY,EAAE;AAAA,MACrD,CAAC;AAAA,IACL;AAEA,UAAM,KAAK;AAAA,MACP,2BAA2B,0BAA0B;AAAA,MACrD;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -26,16 +26,19 @@ export declare class SecureChannelMessenger {
|
|
|
26
26
|
anyNextMessage(expectedMessageInfo: string, expectedProcessingTimeMs?: number): Promise<Message>;
|
|
27
27
|
/**
|
|
28
28
|
* Waits for the next message and decodes it.
|
|
29
|
+
*
|
|
29
30
|
* When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
|
|
30
31
|
*/
|
|
31
32
|
nextMessageDecoded<T>(expectedMessageType: number, schema: TlvSchema<T>, expectedProcessingTimeMs?: number): Promise<T>;
|
|
32
33
|
/**
|
|
33
34
|
* Waits for the next message and returns it.
|
|
35
|
+
*
|
|
34
36
|
* When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
|
|
35
37
|
*/
|
|
36
38
|
waitForSuccess(expectedMessageInfo: string, expectedProcessingTimeMs?: number): Promise<void>;
|
|
37
39
|
/**
|
|
38
40
|
* Sends a message of the given type with the given payload.
|
|
41
|
+
*
|
|
39
42
|
* If no ExchangeSendOptions are provided, the expectedProcessingTimeMs will be set to
|
|
40
43
|
* EXPECTED_CRYPTO_PROCESSING_TIME_MS.
|
|
41
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecureChannelMessenger.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAc,WAAW,EAAuB,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtF,+EAA+E;AAC/E,qBAAa,0BAA2B,SAAQ,WAAW;aAGnC,iBAAiB,EAAE,iBAAiB;aACpC,kBAAkB,EAAE,uBAAuB;gBAF3D,OAAO,EAAE,MAAM,EACC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,uBAAuB;CAMlE;AAED,iGAAiG;AACjG,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,qBAAa,sBAAsB;;IAI3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;gBAAzB,QAAQ,EAAE,eAAe,EAC5C,+BAA+B,SAAqC;IAKxE,IAAI,OAAO,yCAEV;IAEK,WAAW,CACb,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC,EAChE,mBAAmB,CAAC,EAAE,MAAM;IAK1B,cAAc,CAChB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC;
|
|
1
|
+
{"version":3,"file":"SecureChannelMessenger.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAc,WAAW,EAAuB,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtF,+EAA+E;AAC/E,qBAAa,0BAA2B,SAAQ,WAAW;aAGnC,iBAAiB,EAAE,iBAAiB;aACpC,kBAAkB,EAAE,uBAAuB;gBAF3D,OAAO,EAAE,MAAM,EACC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,uBAAuB;CAMlE;AAED,iGAAiG;AACjG,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,qBAAa,sBAAsB;;IAI3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;gBAAzB,QAAQ,EAAE,eAAe,EAC5C,+BAA+B,SAAqC;IAKxE,IAAI,OAAO,yCAEV;IAEK,WAAW,CACb,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC,EAChE,mBAAmB,CAAC,EAAE,MAAM;IAK1B,cAAc,CAChB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC;IA4BpE;;;;OAIG;IACG,kBAAkB,CAAC,CAAC,EACtB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,wBAAwB,SAAwC;IAKpE;;;;OAIG;IACG,cAAc,CAChB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC;IAMpE;;;;;OAKG;IACG,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAU3F,SAAS,CAAC,IAAI,EAAE,uBAAuB;IAIvC,WAAW;IAIX,gBAAgB;IAIhB,cAAc;IAIR,KAAK;IAyBX,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;CAuBxE"}
|
|
@@ -34,6 +34,7 @@ class SecureChannelMessenger {
|
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Waits for the next message and returns it.
|
|
37
|
+
*
|
|
37
38
|
* When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
|
|
38
39
|
*/
|
|
39
40
|
async #nextMessage(expectedMessageType, expectedProcessingTimeMs = this.#defaultExpectedProcessingTimeMs, expectedMessageInfo) {
|
|
@@ -51,6 +52,7 @@ class SecureChannelMessenger {
|
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
53
54
|
* Waits for the next message and decodes it.
|
|
55
|
+
*
|
|
54
56
|
* When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
|
|
55
57
|
*/
|
|
56
58
|
async nextMessageDecoded(expectedMessageType, schema, expectedProcessingTimeMs = this.#defaultExpectedProcessingTimeMs) {
|
|
@@ -58,6 +60,7 @@ class SecureChannelMessenger {
|
|
|
58
60
|
}
|
|
59
61
|
/**
|
|
60
62
|
* Waits for the next message and returns it.
|
|
63
|
+
*
|
|
61
64
|
* When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
|
|
62
65
|
*/
|
|
63
66
|
async waitForSuccess(expectedMessageInfo, expectedProcessingTimeMs = this.#defaultExpectedProcessingTimeMs) {
|
|
@@ -65,6 +68,7 @@ class SecureChannelMessenger {
|
|
|
65
68
|
}
|
|
66
69
|
/**
|
|
67
70
|
* Sends a message of the given type with the given payload.
|
|
71
|
+
*
|
|
68
72
|
* If no ExchangeSendOptions are provided, the expectedProcessingTimeMs will be set to
|
|
69
73
|
* EXPECTED_CRYPTO_PROCESSING_TIME_MS.
|
|
70
74
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/securechannel/SecureChannelMessenger.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,aAAa,2BAA2B;AAC7D,SAAS,mBAAmB,yBAAyB,yBAAoC;AAGzF,SAAS,qCAAqC;AAGvC,MAAM,mCAAmC,YAAY;AAAA,EACjD,YACH,SACgB,mBACA,oBAClB;AACE;AAAA,MACI,IAAI,kBAAkB,iBAAiB,CAAC,KAAK,iBAAiB,OAAO,wBAAwB,kBAAkB,CAAC,KAAK,kBAAkB,MAAM,OAAO;AAAA,IACxJ;AALgB;AACA;AAAA,EAKpB;AACJ;AAGO,MAAM,qCAAqC;AAG3C,MAAM,oCAAoC;AAE1C,MAAM,uBAAuB;AAAA,EAGhC,YACuB,UACnB,kCAAkC,oCACpC;AAFqB;AAGnB,SAAK,mCAAmC;AAAA,EAC5C;AAAA,EAPA;AAAA,EASA,IAAI,UAAU;AACV,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,MAAM,YACF,qBACA,2BAA2B,KAAK,kCAChC,qBACF;AACE,WAAO,KAAK,aAAa,qBAAqB,0BAA0B,mBAAmB;AAAA,EAC/F;AAAA,EAEA,MAAM,eACF,qBACA,2BAA2B,KAAK,kCAClC;AACE,WAAO,KAAK,aAAa,QAAW,0BAA0B,mBAAmB;AAAA,EACrF;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
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.15.
|
|
3
|
+
"version": "0.15.2-alpha.0-20250703-2e16aba2b",
|
|
4
4
|
"description": "Low-level APIs for Matter interaction",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
"#*": "./src/*"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@matter/general": "0.15.
|
|
44
|
-
"@matter/model": "0.15.
|
|
45
|
-
"@matter/types": "0.15.
|
|
43
|
+
"@matter/general": "0.15.2-alpha.0-20250703-2e16aba2b",
|
|
44
|
+
"@matter/model": "0.15.2-alpha.0-20250703-2e16aba2b",
|
|
45
|
+
"@matter/types": "0.15.2-alpha.0-20250703-2e16aba2b"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@matter/tools": "0.15.
|
|
49
|
-
"@matter/testing": "0.15.
|
|
48
|
+
"@matter/tools": "0.15.2-alpha.0-20250703-2e16aba2b",
|
|
49
|
+
"@matter/testing": "0.15.2-alpha.0-20250703-2e16aba2b"
|
|
50
50
|
},
|
|
51
51
|
"files": [
|
|
52
52
|
"dist/**/*",
|
package/src/action/Val.ts
CHANGED
|
@@ -13,34 +13,48 @@ import { InvokeResult } from "#action/response/InvokeResult.js";
|
|
|
13
13
|
import { ReadResult } from "#action/response/ReadResult.js";
|
|
14
14
|
import { SubscribeResult } from "#action/response/SubscribeResult.js";
|
|
15
15
|
import { WriteResult } from "#action/response/WriteResult.js";
|
|
16
|
-
import { Environment, Environmental,
|
|
17
|
-
import { InteractionClientMessenger } from "#interaction/InteractionMessenger.js";
|
|
18
|
-
import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
|
|
16
|
+
import { BasicSet, Environment, Environmental, ImplementationError, PromiseQueue } from "#general";
|
|
17
|
+
import { InteractionClientMessenger, MessageType } from "#interaction/InteractionMessenger.js";
|
|
19
18
|
import { InteractionQueue } from "#peer/InteractionQueue.js";
|
|
20
19
|
import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
|
|
20
|
+
import { TlvSubscribeResponse } from "#types";
|
|
21
|
+
import { ClientSubscriptions } from "./ClientSubscriptions.js";
|
|
22
|
+
import { InputChunk } from "./InputChunk.js";
|
|
21
23
|
|
|
22
|
-
export interface
|
|
24
|
+
export interface ClientInteractionContext {
|
|
23
25
|
exchanges: ExchangeProvider;
|
|
24
|
-
subscriptions:
|
|
26
|
+
subscriptions: ClientSubscriptions;
|
|
25
27
|
queue: PromiseQueue;
|
|
26
28
|
}
|
|
27
29
|
|
|
30
|
+
export const DEFAULT_MIN_INTERVAL_FLOOR_SECONDS = 1;
|
|
31
|
+
|
|
28
32
|
/**
|
|
29
|
-
*
|
|
33
|
+
* Client-side implementation of the Matter protocol.
|
|
30
34
|
*/
|
|
31
35
|
export class ClientInteraction<SessionT extends InteractionSession = InteractionSession>
|
|
32
36
|
implements Interactable<SessionT>
|
|
33
37
|
{
|
|
34
38
|
readonly #exchanges: ExchangeProvider;
|
|
35
|
-
readonly #subscriptions:
|
|
39
|
+
readonly #subscriptions: ClientSubscriptions;
|
|
36
40
|
readonly #queue?: PromiseQueue;
|
|
41
|
+
readonly #interactions = new BasicSet<Read | Write | Invoke | Subscribe>();
|
|
42
|
+
#closed = false;
|
|
37
43
|
|
|
38
|
-
constructor(context:
|
|
44
|
+
constructor(context: ClientInteractionContext) {
|
|
39
45
|
this.#exchanges = context.exchanges;
|
|
40
46
|
this.#subscriptions = context.subscriptions;
|
|
41
47
|
this.#queue = context.queue;
|
|
42
48
|
}
|
|
43
49
|
|
|
50
|
+
async close() {
|
|
51
|
+
this.#closed = true;
|
|
52
|
+
|
|
53
|
+
while (this.#interactions.size) {
|
|
54
|
+
await this.#interactions.deleted;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
44
58
|
get subscriptions() {
|
|
45
59
|
return this.#subscriptions;
|
|
46
60
|
}
|
|
@@ -52,104 +66,178 @@ export class ClientInteraction<SessionT extends InteractionSession = Interaction
|
|
|
52
66
|
static [Environmental.create](env: Environment) {
|
|
53
67
|
const instance = new ClientInteraction({
|
|
54
68
|
exchanges: env.get(ExchangeProvider),
|
|
55
|
-
subscriptions: env.get(
|
|
69
|
+
subscriptions: env.get(ClientSubscriptions),
|
|
56
70
|
queue: env.get(InteractionQueue),
|
|
57
71
|
});
|
|
58
72
|
env.set(ClientInteraction, instance);
|
|
59
73
|
return instance;
|
|
60
74
|
}
|
|
61
75
|
|
|
62
|
-
read(
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
async *read(request: Read, _session?: SessionT): ReadResult {
|
|
77
|
+
try {
|
|
78
|
+
this.#begin(request);
|
|
79
|
+
const messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
80
|
+
|
|
81
|
+
await messenger.sendReadRequest(request);
|
|
82
|
+
|
|
83
|
+
for await (const report of messenger.readDataReports()) {
|
|
84
|
+
yield InputChunk(report);
|
|
85
|
+
}
|
|
86
|
+
} finally {
|
|
87
|
+
this.#end(request);
|
|
88
|
+
}
|
|
65
89
|
}
|
|
66
90
|
|
|
67
91
|
async write<T extends Write>(request: T, _session?: SessionT): WriteResult<T> {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
let messenger: undefined | InteractionClientMessenger;
|
|
93
|
+
try {
|
|
94
|
+
this.#begin(request);
|
|
95
|
+
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
96
|
+
const response = await messenger.sendWriteCommand(request);
|
|
97
|
+
if (request.suppressResponse) {
|
|
98
|
+
return undefined as Awaited<WriteResult<T>>;
|
|
99
|
+
}
|
|
100
|
+
if (!response || !response.writeResponses?.length) {
|
|
101
|
+
return new Array<WriteResult.AttributeStatus>() as Awaited<WriteResult<T>>;
|
|
102
|
+
} else {
|
|
103
|
+
return response.writeResponses.map(
|
|
104
|
+
({
|
|
105
|
+
path: { nodeId, endpointId, clusterId, attributeId, listIndex },
|
|
106
|
+
status: { status, clusterStatus },
|
|
107
|
+
}) => ({
|
|
108
|
+
kind: "attr-status",
|
|
109
|
+
path: {
|
|
110
|
+
nodeId,
|
|
111
|
+
endpointId: endpointId!,
|
|
112
|
+
clusterId: clusterId!,
|
|
113
|
+
attributeId: attributeId!,
|
|
114
|
+
listIndex,
|
|
115
|
+
},
|
|
116
|
+
status,
|
|
117
|
+
clusterStatus,
|
|
118
|
+
}),
|
|
119
|
+
) as Awaited<WriteResult<T>>;
|
|
120
|
+
}
|
|
121
|
+
} finally {
|
|
122
|
+
await messenger?.close();
|
|
123
|
+
this.#end(request);
|
|
93
124
|
}
|
|
94
125
|
}
|
|
95
126
|
|
|
96
127
|
async *invoke(request: Invoke, _session?: SessionT): InvokeResult {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
128
|
+
let messenger: undefined | InteractionClientMessenger;
|
|
129
|
+
try {
|
|
130
|
+
this.#begin(request);
|
|
131
|
+
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
132
|
+
const result = await messenger.sendInvokeCommand(request);
|
|
133
|
+
if (!request.suppressResponse) {
|
|
134
|
+
if (result && result.invokeResponses?.length) {
|
|
135
|
+
const chunk: InvokeResult.Chunk = result.invokeResponses
|
|
136
|
+
.map(response => {
|
|
137
|
+
if (response.command !== undefined) {
|
|
138
|
+
const {
|
|
139
|
+
commandPath: { endpointId, clusterId, commandId },
|
|
140
|
+
commandRef,
|
|
141
|
+
commandFields,
|
|
142
|
+
} = response.command;
|
|
143
|
+
const res: InvokeResult.CommandResponse = {
|
|
144
|
+
kind: "cmd-response",
|
|
145
|
+
path: {
|
|
146
|
+
endpointId: endpointId!,
|
|
147
|
+
clusterId: clusterId,
|
|
148
|
+
commandId: commandId,
|
|
149
|
+
},
|
|
150
|
+
commandRef,
|
|
151
|
+
data: commandFields!, // TODO add decoding
|
|
152
|
+
};
|
|
153
|
+
return res;
|
|
154
|
+
} else if (response.status !== undefined) {
|
|
155
|
+
const {
|
|
156
|
+
commandPath: { endpointId, clusterId, commandId },
|
|
157
|
+
commandRef,
|
|
158
|
+
status: { status, clusterStatus },
|
|
159
|
+
} = response.status;
|
|
160
|
+
const res: InvokeResult.CommandStatus = {
|
|
161
|
+
kind: "cmd-status",
|
|
162
|
+
path: {
|
|
163
|
+
endpointId: endpointId!,
|
|
164
|
+
clusterId: clusterId,
|
|
165
|
+
commandId: commandId,
|
|
166
|
+
},
|
|
167
|
+
commandRef,
|
|
168
|
+
status,
|
|
169
|
+
clusterStatus,
|
|
170
|
+
};
|
|
171
|
+
return res;
|
|
172
|
+
} else {
|
|
173
|
+
// Should not happen but if we ignore the response?
|
|
174
|
+
return undefined;
|
|
175
|
+
}
|
|
176
|
+
})
|
|
177
|
+
.filter(r => r !== undefined);
|
|
178
|
+
yield chunk;
|
|
179
|
+
} else {
|
|
180
|
+
yield [];
|
|
181
|
+
}
|
|
147
182
|
}
|
|
183
|
+
} finally {
|
|
184
|
+
await messenger?.close();
|
|
185
|
+
this.#end(request);
|
|
148
186
|
}
|
|
149
187
|
}
|
|
150
188
|
|
|
151
|
-
subscribe(
|
|
152
|
-
|
|
153
|
-
|
|
189
|
+
async subscribe(request: Subscribe, _session?: SessionT): SubscribeResult {
|
|
190
|
+
let messenger: undefined | InteractionClientMessenger;
|
|
191
|
+
try {
|
|
192
|
+
this.#begin(request);
|
|
193
|
+
|
|
194
|
+
messenger = await InteractionClientMessenger.create(this.#exchanges);
|
|
195
|
+
|
|
196
|
+
await messenger.sendSubscribeRequest({
|
|
197
|
+
...request,
|
|
198
|
+
minIntervalFloorSeconds: DEFAULT_MIN_INTERVAL_FLOOR_SECONDS,
|
|
199
|
+
maxIntervalCeilingSeconds: DEFAULT_MIN_INTERVAL_FLOOR_SECONDS,
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
await this.#handleSubscriptionResponse(request, readChunks(messenger));
|
|
203
|
+
|
|
204
|
+
const responseMessage = await messenger.nextMessage(MessageType.SubscribeResponse);
|
|
205
|
+
const response = TlvSubscribeResponse.decode(responseMessage.payload);
|
|
206
|
+
|
|
207
|
+
return this.#subscriptions.add(request, response);
|
|
208
|
+
} finally {
|
|
209
|
+
await messenger?.close();
|
|
210
|
+
this.#end(request);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
async #handleSubscriptionResponse(request: Subscribe, result: ReadResult) {
|
|
215
|
+
if (request.updated) {
|
|
216
|
+
await request.updated(result);
|
|
217
|
+
} else {
|
|
218
|
+
// It doesn't really make sense to subscribe without listening to the result, but higher-level Interactables
|
|
219
|
+
// may process responses so the subscriber doesn't need to. So "updated" may be omitted from the API, so
|
|
220
|
+
// we handle this case
|
|
221
|
+
//
|
|
222
|
+
// We need to await the generator or the interactable will hang
|
|
223
|
+
for await (const _chunk of result);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
#begin(request: Read | Write | Invoke | Subscribe) {
|
|
228
|
+
if (this.#closed) {
|
|
229
|
+
throw new ImplementationError("Client interaction unavailable after close");
|
|
230
|
+
}
|
|
231
|
+
this.#interactions.add(request);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
#end(request: Read | Write | Invoke | Subscribe) {
|
|
235
|
+
this.#interactions.delete(request);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
async function* readChunks(messenger: InteractionClientMessenger) {
|
|
240
|
+
for await (const report of messenger.readDataReports()) {
|
|
241
|
+
yield InputChunk(report);
|
|
154
242
|
}
|
|
155
243
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Subscribe } from "#action/request/Subscribe.js";
|
|
8
|
+
import { ActiveSubscription } from "#action/response/SubscribeResult.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The client view of an established Matter subscription.
|
|
12
|
+
*/
|
|
13
|
+
export interface ClientSubscription extends ActiveSubscription {
|
|
14
|
+
request: Subscribe;
|
|
15
|
+
timeoutAtMs?: number;
|
|
16
|
+
isClosed: boolean;
|
|
17
|
+
isReading: boolean;
|
|
18
|
+
}
|