@matter/node 0.16.10 → 0.16.11-alpha.0-20260225-033797f3c

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.
Files changed (36) hide show
  1. package/dist/cjs/behavior/system/http/HttpInterface.js +1 -1
  2. package/dist/cjs/behavior/system/http/HttpInterface.js.map +1 -1
  3. package/dist/cjs/behavior/system/mqtt/MqttInterface.d.ts.map +1 -1
  4. package/dist/cjs/behavior/system/mqtt/MqttInterface.js +2 -0
  5. package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +1 -1
  6. package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts +11 -3
  7. package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
  8. package/dist/cjs/behavior/system/remote/RemoteInterface.js +16 -9
  9. package/dist/cjs/behavior/system/remote/RemoteInterface.js.map +1 -1
  10. package/dist/cjs/behavior/system/remote/RemoteServer.d.ts +8 -0
  11. package/dist/cjs/behavior/system/remote/RemoteServer.d.ts.map +1 -1
  12. package/dist/cjs/behavior/system/remote/RemoteServer.js +58 -2
  13. package/dist/cjs/behavior/system/remote/RemoteServer.js.map +1 -1
  14. package/dist/cjs/behavior/system/websocket/WebSocketInterface.js +1 -1
  15. package/dist/cjs/behavior/system/websocket/WebSocketInterface.js.map +1 -1
  16. package/dist/esm/behavior/system/http/HttpInterface.js +1 -1
  17. package/dist/esm/behavior/system/http/HttpInterface.js.map +1 -1
  18. package/dist/esm/behavior/system/mqtt/MqttInterface.d.ts.map +1 -1
  19. package/dist/esm/behavior/system/mqtt/MqttInterface.js +2 -0
  20. package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +1 -1
  21. package/dist/esm/behavior/system/remote/RemoteInterface.d.ts +11 -3
  22. package/dist/esm/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
  23. package/dist/esm/behavior/system/remote/RemoteInterface.js +16 -9
  24. package/dist/esm/behavior/system/remote/RemoteInterface.js.map +1 -1
  25. package/dist/esm/behavior/system/remote/RemoteServer.d.ts +8 -0
  26. package/dist/esm/behavior/system/remote/RemoteServer.d.ts.map +1 -1
  27. package/dist/esm/behavior/system/remote/RemoteServer.js +72 -3
  28. package/dist/esm/behavior/system/remote/RemoteServer.js.map +1 -1
  29. package/dist/esm/behavior/system/websocket/WebSocketInterface.js +1 -1
  30. package/dist/esm/behavior/system/websocket/WebSocketInterface.js.map +1 -1
  31. package/package.json +7 -7
  32. package/src/behavior/system/http/HttpInterface.ts +1 -1
  33. package/src/behavior/system/mqtt/MqttInterface.ts +2 -0
  34. package/src/behavior/system/remote/RemoteInterface.ts +27 -12
  35. package/src/behavior/system/remote/RemoteServer.ts +79 -2
  36. package/src/behavior/system/websocket/WebSocketInterface.ts +1 -1
@@ -41,7 +41,7 @@ class HttpInterface extends import_RemoteInterface.RemoteInterface {
41
41
  static protocol = "http";
42
42
  #http;
43
43
  async start() {
44
- this.#http = await this.env.get(import_general.HttpService).create(this.address);
44
+ this.#http = await this.env.get(import_general.HttpService).create(this);
45
45
  this.#http.http = this.#handleRequest.bind(this);
46
46
  }
47
47
  async stop() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/http/HttpInterface.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAYO;AACP,mBAAoD;AACpD,iBAAoB;AACpB,qBAAwB;AAIxB,6BAAgC;AAzBhC;AAAA;AAAA;AAAA;AAAA;AA2BA,MAAM,SAAS,sBAAO,IAAI,eAAe;AAKlC,MAAM,sBAAsB,uCAAgB;AAAA,EAC/C,OAAgB,WAAW;AAAA,EAC3B;AAAA,EAEA,MAAyB,QAAQ;AAC7B,SAAK,QAAQ,MAAM,KAAK,IAAI,IAAI,0BAAW,EAAE,OAAO,IAAI;AACxD,SAAK,MAAM,OAAO,KAAK,eAAe,KAAK,IAAI;AAAA,EACnD;AAAA,EAEA,MAAyB,OAAO;AAC5B,UAAM,KAAK,OAAO,MAAM;AAAA,EAC5B;AAAA,EAEA,MAAM,eAAe,SAAkB;AACnC,QAAI;AAEJ,QAAI;AACA,YAAM,UAAU,IAAI,0BAAW,QAAQ,GAAG;AAC1C,YAAM,OAAO,KAAK,KAAK,WAAW,IAAI,uBAAQ,OAAO,CAAC;AACtD,UAAI,CAAC,MAAM;AACP;AAAA,MACJ;AAEA,iBAAW,MAAM,KAAK,KAAK,IAAI,QAAQ,OAAM,UAAS;AAClD,cAAM,WAAW,MAAM,eAAI,YAAY,OAAO,IAAI;AAClD,YAAI,aAAa,QAAW;AACxB,gBAAM,IAAI,4BAAe,cAAc,SAAS,QAAQ,QAAQ,aAAa;AAAA,QACjF;AAEA,eAAO,KAAK,oBAAoB,SAAS,QAAQ;AAAA,MACrD,CAAC;AAED,iBAAW,SAAS,QAAQ;AAE5B,aAAO;AAAA,IACX,SAAS,GAAG;AACR,YAAMA,YAAW,WAAW,CAAC;AAE7B,eAAS,SAASA,WAAU,CAAC;AAE7B,aAAOA;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,MAAM,oBAAoB,SAAkB,MAAmB;AAC3D,YAAQ,QAAQ,QAAQ;AAAA,MACpB,KAAK,OAAO;AACR,cAAM,cAAc,KAAK,KAAK;AAC9B,YAAI,gBAAgB,QAAW;AAC3B,gBAAM,IAAI,mCAAoB;AAAA,QAClC;AACA,eAAO,cAAc,SAAS,WAAW;AAAA,MAC7C;AAAA,MAEA,KAAK,QAAQ;AACT,cAAM,aAAa,MAAM,aAAa,OAAO;AAE7C,YAAI,KAAK,aAAa;AAClB,gBAAM,cAAc,MAAM,KAAK,OAAO,UAAU;AAChD,cAAI,gBAAgB,QAAW;AAC3B,mBAAO,GAAG;AAAA,UACd;AACA,iBAAO,cAAc,SAAS,WAAW;AAAA,QAC7C;AAEA,YAAI,KAAK,gBAAgB;AACrB,iBAAO,cAAc,SAAS,KAAK,UAAU,KAAK,OAAO,UAAU,CAAC;AAAA,QACxE;AAEA,cAAM,KAAK,IAAI,UAAU;AACzB,eAAO,GAAG;AAAA,MACd;AAAA,MAEA,KAAK,OAAO;AACR,cAAM,iBAAiB,MAAM,aAAa,OAAO;AACjD,aAAK,MAAM,cAAc;AACzB,eAAO,GAAG;AAAA,MACd;AAAA,MAEA,KAAK,SAAS;AACV,cAAM,iBAAiB,MAAM,aAAa,OAAO;AACjD,aAAK,MAAM,cAAc;AACzB,eAAO,GAAG;AAAA,MACd;AAAA,MAEA,KAAK;AACD,cAAM,KAAK,OAAO;AAClB;AAAA,IACR;AAEA,UAAM,IAAI,mCAAoB;AAAA,EAClC;AACJ;AAEO,MAAM,2BAA2B,2BAAY;AAAC;AAC9C,MAAM,2CAA2C,2BAAY;AAAC;AAGrE,MAAM,gBAAmE;AAAA,EACrE,CAAC,4BAAe,wBAAwB,GAAG;AAAA,EAC3C,CAAC,4BAAe,eAAe,GAAG;AAAA,EAClC,CAAC,oCAAqB,GAAG;AAAA,EACzB,CAAC,oBAAoB,GAAG;AAAA,EACxB,CAAC,oCAAoC,GAAG;AAC5C;AAEA,MAAM,aAAa;AAAA,EACf,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACT;AAIO,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAC3B,MAAM,mBAAmB;AAEhC,eAAe,aAAa,SAA0C;AAClE,MAAI,cAAc,QAAQ,QAAQ,IAAI,cAAc;AACpD,MAAI,aAAa;AACb,kBAAc,YAAY,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK;AAAA,EACjD,OAAO;AACH,kBAAc;AAAA,EAClB;AAEA,UAAQ,aAAa;AAAA,IACjB,KAAK;AACD,aAAO,EAAE,MAAM,MAAM,QAAQ,KAAK,EAAE;AAAA,IAExC,KAAK;AACD,aAAO,EAAE,KAAK,MAAM,QAAQ,MAAM,EAAE;AAAA,IAExC;AACI,YAAM,IAAI,mCAAmC;AAAA,EACrD;AACJ;AAEA,SAAS,KAAK;AACV,SAAO,IAAI,SAAS,MAAM;AAAA,IACtB,QAAQ;AAAA,IACR,YAAY,WAAW,GAAG;AAAA,EAC9B,CAAC;AACL;AAEA,SAAS,cAAc,SAAkB,UAA2C;AAChF,QAAM,oBAAoB,OAAO,iBAAiB;AAElD,QAAM,SAAS,QAAQ,QAAQ,IAAI,iBAAiB;AAEpD,QAAM,YAAY,QAAQ,MAAM,GAAG,EAAE,IAAI,cAAY,SAAS,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC;AAElF,MAAI;AACJ,MAAI,WAAW;AACX,eAAW,YAAY,WAAW;AAC9B,UAAI,aAAa,oBAAoB;AACjC,YAAI,mBAAmB;AACnB,wBAAc;AAAA,QAClB,OAAO;AACH,wBAAc;AAAA,QAClB;AACA;AAAA,MACJ;AAEA,UAAK,CAAC,qBAAqB,aAAa,qBAAsB,aAAa,kBAAkB;AACzF,sBAAc;AACd;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,gBAAgB,QAAW;AAC3B,YAAM,IAAI,mBAAmB,uCAAuC,MAAM,GAAG;AAAA,IACjF;AAAA,EACJ,WAAW,mBAAmB;AAC1B,kBAAc;AAAA,EAClB,OAAO;AACH,kBAAc;AAAA,EAClB;AAEA,MAAI;AACJ,MAAI,mBAAmB;AAEnB,WAAO,sBAAO,KAAK,uBAAuB,aAAa,QAAQ,CAAC;AAAA,EACpE,WAAW,gBAAgB,kBAAkB;AAEzC,WAAO,qBAAM,UAAU,SAAS,GAAG;AAAA,EACvC,OAAO;AAEH,WAAO,SAAS;AAAA,EACpB;AAEA,SAAO,IAAI;AAAA,IACP;AAAA,IAEA;AAAA,MACI,QAAQ;AAAA,MACR,YAAY,WAAW,GAAG;AAAA,MAC1B,SAAS;AAAA,QACL,gBAAgB;AAAA,MACpB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEA,SAAS,WAAW,GAAY;AAC5B,QAAM,YAAQ,wBAAQ,CAAC;AAEvB,MAAI;AACJ,aAAW,CAAC,MAAM,UAAU,KAAK,eAAe;AAC5C,QAAI,iBAAiB,MAAM;AACvB,eAAS;AAAA,IACb;AAAA,EACJ;AAEA,MAAI,WAAW,QAAW;AACtB,QAAI,aAAa,kCAAqB;AAClC,eAAS;AAAA,IACb,OAAO;AACH,eAAS;AAAA,IACb;AAAA,EACJ;AAEA,MAAI,MAAM;AACV,MAAI,UAAU,OAAO,SAAS,KAAK;AAC/B,WAAQ,MAAsB,MAAM;AACpC,cAAW,MAA8B,eAAe,MAAM;AAAA,EAClE,OAAO;AACH,WAAO;AACP,cAAU;AAAA,EACd;AAEA,SAAO,IAAI;AAAA,IACP,KAAK,UAAU;AAAA,MACX,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,IAED;AAAA,MACI;AAAA,MACA,YAAa,WAAsC,MAAM,KAAK;AAAA,MAC9D,SAAS;AAAA,QACL,gBAAgB;AAAA,QAChB,cAAc;AAAA,MAClB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEA,SAAS,WAAW,SAAkB,UAAoB;AACtD,SAAO,OAAO,oBAAoB,SAAS,QAAQ,CAAC;AACxD;AAEA,SAAS,SAAS,SAAkB,UAAoB,OAAgB;AACpE,MAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACjD,WAAO,MAAM,oBAAoB,SAAS,QAAQ,GAAG,KAAK;AAAA,EAC9D,WAAW,iBAAiB,4BAAa;AACrC,WAAO,MAAM,oBAAoB,SAAS,QAAQ,GAAG,0BAAW,aAAa,KAAK,GAAG,MAAM,OAAO;AAAA,EACtG,OAAO;AACH,WAAO,KAAK,oBAAoB,SAAS,QAAQ,OAAG,wBAAQ,KAAK,EAAE,OAAO;AAAA,EAC9E;AACJ;AAEA,SAAS,oBAAoB,SAAkB,UAAoB;AAC/D,SAAO,0BAAW,OAAO,KAAK,0BAAW,OAAO,QAAQ,GAAG,GAAG,KAAK,QAAQ,QAAQ,KAAK,SAAS,QAAQ,GAAG;AAChH;AAEA,gBAAgB,uBAAuB,aAAqB,UAA+C;AACvG,UAAQ,aAAa;AAAA,IACjB,KAAK;AACD,uBAAiB,YAAY,UAAU;AACnC,cAAM,SAAS;AAAA,MACnB;AACA;AAAA,IAEJ,KAAK;AACD,uBAAiB,YAAY,UAAU;AACnC,cAAM,GAAG,SAAS,IAAI;AAAA;AAAA,MAC1B;AACA;AAAA,IAEJ;AACI,YAAM,IAAI,6BAAc,sCAAsC,WAAW,EAAE;AAAA,EACnF;AACJ;",
5
5
  "names": ["response"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MqttInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,eAAe;;IAC9C,OAAgB,QAAQ,SAAU;cAMT,KAAK;cA0BL,IAAI;CAmPhC"}
1
+ {"version":3,"file":"MqttInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,eAAe;;IAC9C,OAAgB,QAAQ,SAAU;cAMT,KAAK;cA4BL,IAAI;CAmPhC"}
@@ -90,6 +90,8 @@ class MqttInterface extends import_RemoteInterface.RemoteInterface {
90
90
  this.#endpoint = await this.env.get(import_general.MqttService).connect({
91
91
  address: this.address,
92
92
  environment: this.node.env,
93
+ certificate: this.certificate,
94
+ key: this.key,
93
95
  will: {
94
96
  topic: this.root.at("status").toString(),
95
97
  payload: "offline"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -11,15 +11,17 @@ import { ApiPath } from "./api/ApiPath.js";
11
11
  */
12
12
  export declare abstract class RemoteInterface {
13
13
  #private;
14
- constructor(node: ServerNode, address: AppAddress);
14
+ constructor({ node, address, certificate, key }: RemoteInterface.Configuration);
15
15
  join(...name: unknown[]): Lifetime;
16
16
  get root(): ApiPath;
17
17
  get env(): import("#general").Environment;
18
18
  get node(): ServerNode<ServerNode.RootEndpoint>;
19
19
  get address(): AppAddress;
20
+ get certificate(): string | undefined;
21
+ get key(): string | undefined;
20
22
  get isAborted(): boolean;
21
23
  get abort(): AbortSignal;
22
- static create<This extends new (node: ServerNode, address: AppAddress) => RemoteInterface>(this: This, node: ServerNode, address: AppAddress): Promise<RemoteInterface>;
24
+ static create<This extends new (config: RemoteInterface.Configuration) => RemoteInterface>(this: This, config: RemoteInterface.Configuration): Promise<RemoteInterface>;
23
25
  close(): Promise<void>;
24
26
  protected assertProtocol(appProtocol: string): void;
25
27
  protected addWorker(worker: Promise<void>): void;
@@ -36,7 +38,13 @@ export declare abstract class RemoteInterface {
36
38
  export declare namespace RemoteInterface {
37
39
  interface Type {
38
40
  protocol: string;
39
- create(node: ServerNode, address: AppAddress): Promise<RemoteInterface>;
41
+ create(config: Configuration): Promise<RemoteInterface>;
42
+ }
43
+ interface Configuration {
44
+ node: ServerNode;
45
+ address: AppAddress;
46
+ certificate?: string;
47
+ key?: string;
40
48
  }
41
49
  }
42
50
  //# sourceMappingURL=RemoteInterface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,UAAU,EAIV,QAAQ,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C;;GAEG;AACH,8BAAsB,eAAe;;gBAQrB,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAajD,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIvB,IAAI,IAAI,YAEP;IAED,IAAI,GAAG,mCAEN;IAED,IAAI,IAAI,wCAEP;IAED,IAAI,OAAO,eAEV;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,KAAK,gBAER;WAEY,MAAM,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,eAAe,EAC3F,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,UAAU;IAYjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;IAQ5C,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM,CAAC,QAAQ,SAAM;IAErB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KAC3E;CACJ"}
1
+ {"version":3,"file":"RemoteInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,UAAU,EAIV,QAAQ,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C;;GAEG;AACH,8BAAsB,eAAe;;gBAUrB,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,aAAa;IAW9E,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIvB,IAAI,IAAI,YAEP;IAED,IAAI,GAAG,mCAEN;IAED,IAAI,IAAI,wCAEP;IAED,IAAI,OAAO,eAEV;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,GAAG,uBAEN;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,KAAK,gBAER;WAEY,MAAM,CAAC,IAAI,SAAS,KAAK,MAAM,EAAE,eAAe,CAAC,aAAa,KAAK,eAAe,EAC3F,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,eAAe,CAAC,aAAa;IAYnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;IAS5C,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM,CAAC,QAAQ,SAAM;IAErB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KAC3D;IAED,UAAiB,aAAa;QAC1B,IAAI,EAAE,UAAU,CAAC;QACjB,OAAO,EAAE,UAAU,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB;CACJ"}
@@ -81,17 +81,17 @@ class RemoteInterface {
81
81
  #abort = new import_general.Abort();
82
82
  #root;
83
83
  #workers;
84
- constructor(node, address) {
85
- if (address.appProtocol !== this.constructor.protocol) {
86
- throw new import_general.ImplementationError(
87
- `API endpoint type ${this.constructor.name} does not support address ${address}`
88
- );
89
- }
84
+ #certificate;
85
+ #key;
86
+ constructor({ node, address, certificate, key }) {
87
+ this.assertProtocol(address.appProtocol);
90
88
  this.#node = node;
91
89
  this.#lifetime = node.env.join((0, import_general.decamelize)(this.constructor.name, " "));
92
90
  this.#workers = new import_general.BasicMultiplex();
93
91
  this.#address = address;
94
92
  this.#root = new import_ApiPath.ApiPath(address);
93
+ this.#certificate = certificate;
94
+ this.#key = key;
95
95
  }
96
96
  join(...name) {
97
97
  return this.#lifetime.join(...name);
@@ -108,14 +108,20 @@ class RemoteInterface {
108
108
  get address() {
109
109
  return this.#address;
110
110
  }
111
+ get certificate() {
112
+ return this.#certificate;
113
+ }
114
+ get key() {
115
+ return this.#key;
116
+ }
111
117
  get isAborted() {
112
118
  return this.#abort.aborted;
113
119
  }
114
120
  get abort() {
115
121
  return this.#abort.signal;
116
122
  }
117
- static async create(node, address) {
118
- const instance = new this(node, address);
123
+ static async create(config) {
124
+ const instance = new this(config);
119
125
  try {
120
126
  await instance.start();
121
127
  } catch (e) {
@@ -144,7 +150,8 @@ class RemoteInterface {
144
150
  }
145
151
  }
146
152
  assertProtocol(appProtocol) {
147
- if (this.address.appProtocol !== appProtocol) {
153
+ const baseProtocol = this.constructor.protocol;
154
+ if (appProtocol !== baseProtocol && appProtocol !== `${baseProtocol}s`) {
148
155
  throw new import_general.ImplementationError(
149
156
  `Invalid protocol ${this.address} for API endpoin type ${this.constructor.name}`
150
157
  );
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/remote/RemoteInterface.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBASO;AAEP,qBAAwB;AAjBxB;AAAA;AAAA;AAAA;AAAA;AAmBA,MAAM,SAAS,sBAAO,IAAI,eAAe;AAKlC,MAAe,gBAAgB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,IAAI,qBAAM;AAAA,EACnB;AAAA,EACA;AAAA,EAEA,YAAY,MAAkB,SAAqB;AAC/C,QAAI,QAAQ,gBAAiB,KAAK,YAAgD,UAAU;AACxF,YAAM,IAAI;AAAA,QACN,qBAAqB,KAAK,YAAY,IAAI,6BAA6B,OAAO;AAAA,MAClF;AAAA,IACJ;AACA,SAAK,QAAQ;AACb,SAAK,YAAY,KAAK,IAAI,SAAK,2BAAW,KAAK,YAAY,MAAM,GAAG,CAAC;AACrE,SAAK,WAAW,IAAI,8BAAe;AACnC,SAAK,WAAW;AAChB,SAAK,QAAQ,IAAI,uBAAQ,OAAO;AAAA,EACpC;AAAA,EAEA,QAAQ,MAAiB;AACrB,WAAO,KAAK,UAAU,KAAK,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,aAAa,OAET,MACA,SACF;AACE,UAAM,WAAW,IAAI,KAAK,MAAM,OAAO;AACvC,QAAI;AACA,YAAM,SAAS,MAAM;AAAA,IACzB,SAAS,GAAG;AACR,YAAM,SAAS,MAAM;AACrB,YAAM;AAAA,IACV;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAuB;AAKzB;AAAA;AAJA,UAAI,KAAK,WAAW;AAChB;AAAA,MACJ;AAEA,YAAM,WAAW,qBAAK,UAAU,QAAQ;AAExC,WAAK,OAAO;AAEZ,UAAI;AACA,cAAM,KAAK,KAAK;AAAA,MACpB,SAAS,GAAG;AACR,eAAO,MAAM,kCAAkC,KAAK,OAAO,EAAE;AAAA,MACjE;AAAA,aARA;AAAA;AAAA;AAAA;AAAA;AAAA,EASJ;AAAA,EAEU,eAAe,aAAqB;AAC1C,QAAI,KAAK,QAAQ,gBAAgB,aAAa;AAC1C,YAAM,IAAI;AAAA,QACN,oBAAoB,KAAK,OAAO,yBAAyB,KAAK,YAAY,IAAI;AAAA,MAClF;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,UAAU,QAAuB;AACvC,SAAK,SAAS,IAAI,MAAM;AAAA,EAC5B;AAAA,EAEA,OAAO,WAAW;AAAA;AAAA;AAAA;AAAA,EAUlB,MAAgB,OAAsB;AAClC,UAAM,KAAK,SAAS,MAAM;AAAA,EAC9B;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBASO;AAEP,qBAAwB;AAjBxB;AAAA;AAAA;AAAA;AAAA;AAmBA,MAAM,SAAS,sBAAO,IAAI,eAAe;AAKlC,MAAe,gBAAgB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,IAAI,qBAAM;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,EAAE,MAAM,SAAS,aAAa,IAAI,GAAkC;AAC5E,SAAK,eAAe,QAAQ,WAAW;AACvC,SAAK,QAAQ;AACb,SAAK,YAAY,KAAK,IAAI,SAAK,2BAAW,KAAK,YAAY,MAAM,GAAG,CAAC;AACrE,SAAK,WAAW,IAAI,8BAAe;AACnC,SAAK,WAAW;AAChB,SAAK,QAAQ,IAAI,uBAAQ,OAAO;AAChC,SAAK,eAAe;AACpB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,QAAQ,MAAiB;AACrB,WAAO,KAAK,UAAU,KAAK,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,aAAa,OAET,QACF;AACE,UAAM,WAAW,IAAI,KAAK,MAAM;AAChC,QAAI;AACA,YAAM,SAAS,MAAM;AAAA,IACzB,SAAS,GAAG;AACR,YAAM,SAAS,MAAM;AACrB,YAAM;AAAA,IACV;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAuB;AAKzB;AAAA;AAJA,UAAI,KAAK,WAAW;AAChB;AAAA,MACJ;AAEA,YAAM,WAAW,qBAAK,UAAU,QAAQ;AAExC,WAAK,OAAO;AAEZ,UAAI;AACA,cAAM,KAAK,KAAK;AAAA,MACpB,SAAS,GAAG;AACR,eAAO,MAAM,kCAAkC,KAAK,OAAO,EAAE;AAAA,MACjE;AAAA,aARA;AAAA;AAAA;AAAA;AAAA;AAAA,EASJ;AAAA,EAEU,eAAe,aAAqB;AAC1C,UAAM,eAAgB,KAAK,YAAgD;AAC3E,QAAI,gBAAgB,gBAAgB,gBAAgB,GAAG,YAAY,KAAK;AACpE,YAAM,IAAI;AAAA,QACN,oBAAoB,KAAK,OAAO,yBAAyB,KAAK,YAAY,IAAI;AAAA,MAClF;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,UAAU,QAAuB;AACvC,SAAK,SAAS,IAAI,MAAM;AAAA,EAC5B;AAAA,EAEA,OAAO,WAAW;AAAA;AAAA;AAAA;AAAA,EAUlB,MAAgB,OAAsB;AAClC,UAAM,KAAK,SAAS,MAAM;AAAA,EAC9B;AACJ;",
5
5
  "names": []
6
6
  }
@@ -56,6 +56,14 @@ export declare namespace RemoteServer {
56
56
  * also online.
57
57
  */
58
58
  allowOfflineUse: boolean;
59
+ /**
60
+ * Certificate for encrypted endpoints in PEM format.
61
+ */
62
+ certificate?: string;
63
+ /**
64
+ * Private key for encrypted endpoints in PEM format.
65
+ */
66
+ key?: string;
59
67
  }
60
68
  }
61
69
  //# sourceMappingURL=RemoteServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;;IAC/C,gBAAyB,KAAK,QAAQ;IAEtC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC;IAEnC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAEnB,UAAU;IAiBhB,CAAC,MAAM,CAAC,YAAY,CAAC;IAoC9B,gBAAyB,MAAM,gBAS7B;CACL;AAED,yBAAiB,YAAY,CAAC;IAC1B,MAAa,QAAQ;QACjB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC/B;IAED,MAAa,KAAK;QACd;;;;;;;;;;WAUG;QACH,OAAO,SAAM;QAEb;;WAEG;QACH,OAAO,UAAQ;QAEf;;;;;WAKG;QACH,eAAe,UAAQ;KAC1B;CACJ"}
1
+ {"version":3,"file":"RemoteServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAgBjD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;;;;;;;;GAWG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;;IAC/C,gBAAyB,KAAK,QAAQ;IAEtC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC;IAEnC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAEnB,UAAU;IAyBhB,CAAC,MAAM,CAAC,YAAY,CAAC;IA4C9B,gBAAyB,MAAM,gBAW7B;CAmCL;AAED,yBAAiB,YAAY,CAAC;IAC1B,MAAa,QAAQ;QACjB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC/B;IAED,MAAa,KAAK;QACd;;;;;;;;;;WAUG;QACH,OAAO,SAAM;QAEb;;WAEG;QACH,OAAO,UAAQ;QAEf;;;;;WAKG;QACH,eAAe,UAAQ;QAEvB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB;CACJ"}
@@ -31,10 +31,17 @@ var import_ServerEndpointInitializer = require("#node/server/ServerEndpointIniti
31
31
  * Copyright 2022-2026 Matter.js Authors
32
32
  * SPDX-License-Identifier: Apache-2.0
33
33
  */
34
+ const logger = import_general.Logger.get("RemoteServer");
34
35
  class RemoteServer extends import_Behavior.Behavior {
35
36
  static early = true;
36
37
  static interfaceType;
37
38
  async initialize() {
39
+ if (this.state.key === void 0) {
40
+ this.state.key = await this.#createKey();
41
+ }
42
+ if (this.state.certificate === void 0) {
43
+ this.state.certificate = await this.#createCertificate(this.state.key);
44
+ }
38
45
  if (!(this.env.get(import_EndpointInitializer.EndpointInitializer) instanceof import_ServerEndpointInitializer.ServerEndpointInitializer)) {
39
46
  throw new import_general.ImplementationError("Remote server is not installed in a ServerNode");
40
47
  }
@@ -57,8 +64,15 @@ class RemoteServer extends import_Behavior.Behavior {
57
64
  throw new import_general.InternalError(`Remote server ${this.constructor.name} does not define a remote interface`);
58
65
  }
59
66
  const address = new import_general.AppAddress(this.state.address);
60
- const intf = await interfaceType.create(this.endpoint, address);
67
+ const { key, certificate } = this.state;
68
+ const intf = await interfaceType.create({
69
+ node: this.endpoint,
70
+ address,
71
+ key,
72
+ certificate
73
+ });
61
74
  this.internal.interface = intf;
75
+ logger.info("Listening on", import_general.Diagnostic.strong(intf.address));
62
76
  }
63
77
  async #stop() {
64
78
  const { interface: intf } = this.internal;
@@ -80,8 +94,42 @@ class RemoteServer extends import_Behavior.Behavior {
80
94
  },
81
95
  (0, import_model.FieldElement)({ name: "address", type: "string" }),
82
96
  (0, import_model.FieldElement)({ name: "enabled", type: "bool" }),
83
- (0, import_model.FieldElement)({ name: "allowOfflineUse", type: "bool" })
97
+ (0, import_model.FieldElement)({ name: "allowOfflineUse", type: "bool" }),
98
+ (0, import_model.FieldElement)({ name: "certificate", type: "octstr" }),
99
+ (0, import_model.FieldElement)({ name: "key", type: "octstr" })
84
100
  );
101
+ async #createKey() {
102
+ const key = await this.env.get(import_general.Crypto).createKeyPair();
103
+ if (key.pem === void 0) {
104
+ throw new import_general.InternalError("PEM form of new private key is missing");
105
+ }
106
+ return key.pem;
107
+ }
108
+ async #createCertificate(pkcs8) {
109
+ const crypto = this.env.get(import_general.Crypto);
110
+ const key = (0, import_general.Key)({ pem: pkcs8, kty: import_general.KeyType.EC, crv: import_general.CurveType.p256 });
111
+ const notBefore = /* @__PURE__ */ new Date();
112
+ const notAfter = /* @__PURE__ */ new Date();
113
+ notAfter.setFullYear(notAfter.getFullYear() + 10);
114
+ const unsigned = {
115
+ serialNumber: crypto.randomBytes(20),
116
+ subject: { commonName: import_general.X520.CommonName("localhost") },
117
+ validity: {
118
+ notBefore,
119
+ notAfter
120
+ },
121
+ issuer: { commonName: import_general.X520.CommonName("matter.js") },
122
+ extensions: {
123
+ basicConstraints: {
124
+ isCa: true
125
+ }
126
+ },
127
+ signatureAlgorithm: import_general.X962.EcdsaWithSHA256,
128
+ publicKey: import_general.X962.PublicKeyEcPrime256v1(key.publicBits)
129
+ };
130
+ const certificate = await import_general.X509.sign(this.env.get(import_general.Crypto), key, unsigned);
131
+ return import_general.X509.certificateToPem(certificate);
132
+ }
85
133
  }
86
134
  ((RemoteServer2) => {
87
135
  class Internal {
@@ -112,6 +160,14 @@ class RemoteServer extends import_Behavior.Behavior {
112
160
  * also online.
113
161
  */
114
162
  allowOfflineUse = true;
163
+ /**
164
+ * Certificate for encrypted endpoints in PEM format.
165
+ */
166
+ certificate;
167
+ /**
168
+ * Private key for encrypted endpoints in PEM format.
169
+ */
170
+ key;
115
171
  }
116
172
  RemoteServer2.State = State;
117
173
  })(RemoteServer || (RemoteServer = {}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/remote/RemoteServer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAAyB;AACzB,iCAAoC;AACpC,qBAA+D;AAC/D,mBAA4C;AAE5C,uCAA0C;AAX1C;AAAA;AAAA;AAAA;AAAA;AA0BO,MAAe,qBAAqB,yBAAS;AAAA,EAChD,OAAyB,QAAQ;AAAA,EAEjC,OAAO;AAAA,EAKP,MAAe,aAAa;AACxB,QAAI,EAAE,KAAK,IAAI,IAAI,8CAAmB,aAAa,6DAA4B;AAC3E,YAAM,IAAI,mCAAoB,gDAAgD;AAAA,IAClF;AAEA,SAAK,QAAS,KAAK,SAAwB,UAAU,QAAQ,KAAK,MAAM;AACxE,SAAK,QAAS,KAAK,SAAwB,UAAU,SAAS,KAAK,UAAU;AAI7E,SAAK,QAAS,KAAK,SAAwB,UAAU,YAAY,KAAK,KAAK;AAE3E,QAAI,KAAK,MAAM,iBAAiB;AAC5B,YAAM,KAAK,OAAO;AAAA,IACtB;AAAA,EACJ;AAAA,EAEA,CAAU,OAAO,YAAY,IAAI;AAC7B,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,MAAM,SAAS;AACX,QAAI,CAAC,KAAK,MAAM,WAAW,KAAK,SAAS,WAAW;AAChD;AAAA,IACJ;AAEA,UAAM,gBAAiB,KAAK,YAAoC;AAChE,QAAI,OAAQ,kBAA0B,YAAY;AAC9C,YAAM,IAAI,6BAAc,iBAAiB,KAAK,YAAY,IAAI,qCAAqC;AAAA,IACvG;AAEA,UAAM,UAAU,IAAI,0BAAW,KAAK,MAAM,OAAO;AACjD,UAAM,OAAO,MAAM,cAAc,OAAO,KAAK,UAAwB,OAAO;AAE5E,SAAK,SAAS,YAAY;AAAA,EAC9B;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,EAAE,WAAW,KAAK,IAAI,KAAK;AACjC,QAAI,CAAC,MAAM;AACP;AAAA,IACJ;AAEA,SAAK,SAAS,YAAY;AAC1B,UAAM,KAAK,MAAM;AAAA,EACrB;AAAA,EAEA,MAAM,aAAa;AACf,QAAI,CAAC,KAAK,MAAM,iBAAiB;AAC7B,YAAM,KAAK,MAAM;AAAA,IACrB;AAAA,EACJ;AAAA,EAEA,OAAyB,SAAS,IAAI;AAAA,IAClC;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,QAEA,2BAAa,EAAE,MAAM,WAAW,MAAM,SAAS,CAAC;AAAA,QAChD,2BAAa,EAAE,MAAM,WAAW,MAAM,OAAO,CAAC;AAAA,QAC9C,2BAAa,EAAE,MAAM,mBAAmB,MAAM,OAAO,CAAC;AAAA,EAC1D;AACJ;AAAA,CAEO,CAAUA,kBAAV;AAAA,EACI,MAAM,SAAS;AAAA,IAClB;AAAA,EACJ;AAFO,EAAAA,cAAM;AAAA,EAIN,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYf,UAAU;AAAA;AAAA;AAAA;AAAA,IAKV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQV,kBAAkB;AAAA,EACtB;AA1BO,EAAAA,cAAM;AAAA,GALA;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAAyB;AACzB,iCAAoC;AACpC,qBAaO;AACP,mBAA4C;AAE5C,uCAA0C;AAxB1C;AAAA;AAAA;AAAA;AAAA;AA2BA,MAAM,SAAS,sBAAO,IAAI,cAAc;AAcjC,MAAe,qBAAqB,yBAAS;AAAA,EAChD,OAAyB,QAAQ;AAAA,EAEjC,OAAO;AAAA,EAKP,MAAe,aAAa;AACxB,QAAI,KAAK,MAAM,QAAQ,QAAW;AAC9B,WAAK,MAAM,MAAM,MAAM,KAAK,WAAW;AAAA,IAC3C;AAEA,QAAI,KAAK,MAAM,gBAAgB,QAAW;AACtC,WAAK,MAAM,cAAc,MAAM,KAAK,mBAAmB,KAAK,MAAM,GAAG;AAAA,IACzE;AAEA,QAAI,EAAE,KAAK,IAAI,IAAI,8CAAmB,aAAa,6DAA4B;AAC3E,YAAM,IAAI,mCAAoB,gDAAgD;AAAA,IAClF;AAEA,SAAK,QAAS,KAAK,SAAwB,UAAU,QAAQ,KAAK,MAAM;AACxE,SAAK,QAAS,KAAK,SAAwB,UAAU,SAAS,KAAK,UAAU;AAI7E,SAAK,QAAS,KAAK,SAAwB,UAAU,YAAY,KAAK,KAAK;AAE3E,QAAI,KAAK,MAAM,iBAAiB;AAC5B,YAAM,KAAK,OAAO;AAAA,IACtB;AAAA,EACJ;AAAA,EAEA,CAAU,OAAO,YAAY,IAAI;AAC7B,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,MAAM,SAAS;AACX,QAAI,CAAC,KAAK,MAAM,WAAW,KAAK,SAAS,WAAW;AAChD;AAAA,IACJ;AAEA,UAAM,gBAAiB,KAAK,YAAoC;AAChE,QAAI,OAAQ,kBAA0B,YAAY;AAC9C,YAAM,IAAI,6BAAc,iBAAiB,KAAK,YAAY,IAAI,qCAAqC;AAAA,IACvG;AAEA,UAAM,UAAU,IAAI,0BAAW,KAAK,MAAM,OAAO;AACjD,UAAM,EAAE,KAAK,YAAY,IAAI,KAAK;AAClC,UAAM,OAAO,MAAM,cAAc,OAAO;AAAA,MACpC,MAAM,KAAK;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAED,SAAK,SAAS,YAAY;AAE1B,WAAO,KAAK,gBAAgB,0BAAW,OAAO,KAAK,OAAO,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,EAAE,WAAW,KAAK,IAAI,KAAK;AACjC,QAAI,CAAC,MAAM;AACP;AAAA,IACJ;AAEA,SAAK,SAAS,YAAY;AAC1B,UAAM,KAAK,MAAM;AAAA,EACrB;AAAA,EAEA,MAAM,aAAa;AACf,QAAI,CAAC,KAAK,MAAM,iBAAiB;AAC7B,YAAM,KAAK,MAAM;AAAA,IACrB;AAAA,EACJ;AAAA,EAEA,OAAyB,SAAS,IAAI;AAAA,IAClC;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,QAEA,2BAAa,EAAE,MAAM,WAAW,MAAM,SAAS,CAAC;AAAA,QAChD,2BAAa,EAAE,MAAM,WAAW,MAAM,OAAO,CAAC;AAAA,QAC9C,2BAAa,EAAE,MAAM,mBAAmB,MAAM,OAAO,CAAC;AAAA,QACtD,2BAAa,EAAE,MAAM,eAAe,MAAM,SAAS,CAAC;AAAA,QACpD,2BAAa,EAAE,MAAM,OAAO,MAAM,SAAS,CAAC;AAAA,EAChD;AAAA,EAEA,MAAM,aAAa;AACf,UAAM,MAAM,MAAM,KAAK,IAAI,IAAI,qBAAM,EAAE,cAAc;AACrD,QAAI,IAAI,QAAQ,QAAW;AACvB,YAAM,IAAI,6BAAc,wCAAwC;AAAA,IACpE;AACA,WAAO,IAAI;AAAA,EACf;AAAA,EAEA,MAAM,mBAAmB,OAAe;AACpC,UAAM,SAAS,KAAK,IAAI,IAAI,qBAAM;AAClC,UAAM,UAAM,oBAAI,EAAE,KAAK,OAAO,KAAK,uBAAQ,IAAI,KAAK,yBAAU,KAAK,CAAC;AACpE,UAAM,YAAY,oBAAI,KAAK;AAC3B,UAAM,WAAW,oBAAI,KAAK;AAC1B,aAAS,YAAY,SAAS,YAAY,IAAI,EAAE;AAChD,UAAM,WAAqC;AAAA,MACvC,cAAc,OAAO,YAAY,EAAE;AAAA,MACnC,SAAS,EAAE,YAAY,oBAAK,WAAW,WAAW,EAAE;AAAA,MACpD,UAAU;AAAA,QACN;AAAA,QACA;AAAA,MACJ;AAAA,MACA,QAAQ,EAAE,YAAY,oBAAK,WAAW,WAAW,EAAE;AAAA,MACnD,YAAY;AAAA,QACR,kBAAkB;AAAA,UACd,MAAM;AAAA,QACV;AAAA,MACJ;AAAA,MACA,oBAAoB,oBAAK;AAAA,MACzB,WAAW,oBAAK,sBAAsB,IAAI,UAAW;AAAA,IACzD;AACA,UAAM,cAAc,MAAM,oBAAK,KAAK,KAAK,IAAI,IAAI,qBAAM,GAAG,KAAK,QAAQ;AACvE,WAAO,oBAAK,iBAAiB,WAAW;AAAA,EAC5C;AACJ;AAAA,CAEO,CAAUA,kBAAV;AAAA,EACI,MAAM,SAAS;AAAA,IAClB;AAAA,EACJ;AAFO,EAAAA,cAAM;AAAA,EAIN,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYf,UAAU;AAAA;AAAA;AAAA;AAAA,IAKV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQV,kBAAkB;AAAA;AAAA;AAAA;AAAA,IAKlB;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA,EACJ;AApCO,EAAAA,cAAM;AAAA,GALA;",
5
5
  "names": ["RemoteServer"]
6
6
  }
@@ -84,7 +84,7 @@ class WebSocketInterface extends import_RemoteInterface.RemoteInterface {
84
84
  #http;
85
85
  #mutex = new import_general.Mutex(this);
86
86
  async start() {
87
- this.#http = await this.env.get(import_general.HttpService).create(this.address);
87
+ this.#http = await this.env.get(import_general.HttpService).create(this);
88
88
  this.#http.ws = this.#handleConnection.bind(this);
89
89
  }
90
90
  async stop() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/websocket/WebSocketInterface.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["request"]
6
6
  }
@@ -24,7 +24,7 @@ class HttpInterface extends RemoteInterface {
24
24
  static protocol = "http";
25
25
  #http;
26
26
  async start() {
27
- this.#http = await this.env.get(HttpService).create(this.address);
27
+ this.#http = await this.env.get(HttpService).create(this);
28
28
  this.#http.http = this.#handleRequest.bind(this);
29
29
  }
30
30
  async stop() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/http/HttpInterface.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["response"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MqttInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,eAAe;;IAC9C,OAAgB,QAAQ,SAAU;cAMT,KAAK;cA0BL,IAAI;CAmPhC"}
1
+ {"version":3,"file":"MqttInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,eAAe;;IAC9C,OAAgB,QAAQ,SAAU;cAMT,KAAK;cA4BL,IAAI;CAmPhC"}
@@ -77,6 +77,8 @@ class MqttInterface extends RemoteInterface {
77
77
  this.#endpoint = await this.env.get(MqttService).connect({
78
78
  address: this.address,
79
79
  environment: this.node.env,
80
+ certificate: this.certificate,
81
+ key: this.key,
80
82
  will: {
81
83
  topic: this.root.at("status").toString(),
82
84
  payload: "offline"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -11,15 +11,17 @@ import { ApiPath } from "./api/ApiPath.js";
11
11
  */
12
12
  export declare abstract class RemoteInterface {
13
13
  #private;
14
- constructor(node: ServerNode, address: AppAddress);
14
+ constructor({ node, address, certificate, key }: RemoteInterface.Configuration);
15
15
  join(...name: unknown[]): Lifetime;
16
16
  get root(): ApiPath;
17
17
  get env(): import("#general").Environment;
18
18
  get node(): ServerNode<ServerNode.RootEndpoint>;
19
19
  get address(): AppAddress;
20
+ get certificate(): string | undefined;
21
+ get key(): string | undefined;
20
22
  get isAborted(): boolean;
21
23
  get abort(): AbortSignal;
22
- static create<This extends new (node: ServerNode, address: AppAddress) => RemoteInterface>(this: This, node: ServerNode, address: AppAddress): Promise<RemoteInterface>;
24
+ static create<This extends new (config: RemoteInterface.Configuration) => RemoteInterface>(this: This, config: RemoteInterface.Configuration): Promise<RemoteInterface>;
23
25
  close(): Promise<void>;
24
26
  protected assertProtocol(appProtocol: string): void;
25
27
  protected addWorker(worker: Promise<void>): void;
@@ -36,7 +38,13 @@ export declare abstract class RemoteInterface {
36
38
  export declare namespace RemoteInterface {
37
39
  interface Type {
38
40
  protocol: string;
39
- create(node: ServerNode, address: AppAddress): Promise<RemoteInterface>;
41
+ create(config: Configuration): Promise<RemoteInterface>;
42
+ }
43
+ interface Configuration {
44
+ node: ServerNode;
45
+ address: AppAddress;
46
+ certificate?: string;
47
+ key?: string;
40
48
  }
41
49
  }
42
50
  //# sourceMappingURL=RemoteInterface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,UAAU,EAIV,QAAQ,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C;;GAEG;AACH,8BAAsB,eAAe;;gBAQrB,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAajD,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIvB,IAAI,IAAI,YAEP;IAED,IAAI,GAAG,mCAEN;IAED,IAAI,IAAI,wCAEP;IAED,IAAI,OAAO,eAEV;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,KAAK,gBAER;WAEY,MAAM,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,eAAe,EAC3F,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,UAAU;IAYjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;IAQ5C,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM,CAAC,QAAQ,SAAM;IAErB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KAC3E;CACJ"}
1
+ {"version":3,"file":"RemoteInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,UAAU,EAIV,QAAQ,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C;;GAEG;AACH,8BAAsB,eAAe;;gBAUrB,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,aAAa;IAW9E,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIvB,IAAI,IAAI,YAEP;IAED,IAAI,GAAG,mCAEN;IAED,IAAI,IAAI,wCAEP;IAED,IAAI,OAAO,eAEV;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,GAAG,uBAEN;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,KAAK,gBAER;WAEY,MAAM,CAAC,IAAI,SAAS,KAAK,MAAM,EAAE,eAAe,CAAC,aAAa,KAAK,eAAe,EAC3F,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,eAAe,CAAC,aAAa;IAYnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;IAS5C,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM,CAAC,QAAQ,SAAM;IAErB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KAC3D;IAED,UAAiB,aAAa;QAC1B,IAAI,EAAE,UAAU,CAAC;QACjB,OAAO,EAAE,UAAU,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB;CACJ"}
@@ -64,17 +64,17 @@ class RemoteInterface {
64
64
  #abort = new Abort();
65
65
  #root;
66
66
  #workers;
67
- constructor(node, address) {
68
- if (address.appProtocol !== this.constructor.protocol) {
69
- throw new ImplementationError(
70
- `API endpoint type ${this.constructor.name} does not support address ${address}`
71
- );
72
- }
67
+ #certificate;
68
+ #key;
69
+ constructor({ node, address, certificate, key }) {
70
+ this.assertProtocol(address.appProtocol);
73
71
  this.#node = node;
74
72
  this.#lifetime = node.env.join(decamelize(this.constructor.name, " "));
75
73
  this.#workers = new BasicMultiplex();
76
74
  this.#address = address;
77
75
  this.#root = new ApiPath(address);
76
+ this.#certificate = certificate;
77
+ this.#key = key;
78
78
  }
79
79
  join(...name) {
80
80
  return this.#lifetime.join(...name);
@@ -91,14 +91,20 @@ class RemoteInterface {
91
91
  get address() {
92
92
  return this.#address;
93
93
  }
94
+ get certificate() {
95
+ return this.#certificate;
96
+ }
97
+ get key() {
98
+ return this.#key;
99
+ }
94
100
  get isAborted() {
95
101
  return this.#abort.aborted;
96
102
  }
97
103
  get abort() {
98
104
  return this.#abort.signal;
99
105
  }
100
- static async create(node, address) {
101
- const instance = new this(node, address);
106
+ static async create(config) {
107
+ const instance = new this(config);
102
108
  try {
103
109
  await instance.start();
104
110
  } catch (e) {
@@ -127,7 +133,8 @@ class RemoteInterface {
127
133
  }
128
134
  }
129
135
  assertProtocol(appProtocol) {
130
- if (this.address.appProtocol !== appProtocol) {
136
+ const baseProtocol = this.constructor.protocol;
137
+ if (appProtocol !== baseProtocol && appProtocol !== `${baseProtocol}s`) {
131
138
  throw new ImplementationError(
132
139
  `Invalid protocol ${this.address} for API endpoin type ${this.constructor.name}`
133
140
  );
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/remote/RemoteInterface.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OAEG;AAEP,SAAS,eAAe;AAExB,MAAM,SAAS,OAAO,IAAI,eAAe;AAKlC,MAAe,gBAAgB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,IAAI,MAAM;AAAA,EACnB;AAAA,EACA;AAAA,EAEA,YAAY,MAAkB,SAAqB;AAC/C,QAAI,QAAQ,gBAAiB,KAAK,YAAgD,UAAU;AACxF,YAAM,IAAI;AAAA,QACN,qBAAqB,KAAK,YAAY,IAAI,6BAA6B,OAAO;AAAA,MAClF;AAAA,IACJ;AACA,SAAK,QAAQ;AACb,SAAK,YAAY,KAAK,IAAI,KAAK,WAAW,KAAK,YAAY,MAAM,GAAG,CAAC;AACrE,SAAK,WAAW,IAAI,eAAe;AACnC,SAAK,WAAW;AAChB,SAAK,QAAQ,IAAI,QAAQ,OAAO;AAAA,EACpC;AAAA,EAEA,QAAQ,MAAiB;AACrB,WAAO,KAAK,UAAU,KAAK,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,aAAa,OAET,MACA,SACF;AACE,UAAM,WAAW,IAAI,KAAK,MAAM,OAAO;AACvC,QAAI;AACA,YAAM,SAAS,MAAM;AAAA,IACzB,SAAS,GAAG;AACR,YAAM,SAAS,MAAM;AACrB,YAAM;AAAA,IACV;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAuB;AAKzB;AAAA;AAJA,UAAI,KAAK,WAAW;AAChB;AAAA,MACJ;AAEA,YAAM,WAAW,qBAAK,UAAU,QAAQ;AAExC,WAAK,OAAO;AAEZ,UAAI;AACA,cAAM,KAAK,KAAK;AAAA,MACpB,SAAS,GAAG;AACR,eAAO,MAAM,kCAAkC,KAAK,OAAO,EAAE;AAAA,MACjE;AAAA,aARA;AAAA;AAAA;AAAA;AAAA;AAAA,EASJ;AAAA,EAEU,eAAe,aAAqB;AAC1C,QAAI,KAAK,QAAQ,gBAAgB,aAAa;AAC1C,YAAM,IAAI;AAAA,QACN,oBAAoB,KAAK,OAAO,yBAAyB,KAAK,YAAY,IAAI;AAAA,MAClF;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,UAAU,QAAuB;AACvC,SAAK,SAAS,IAAI,MAAM;AAAA,EAC5B;AAAA,EAEA,OAAO,WAAW;AAAA;AAAA;AAAA;AAAA,EAUlB,MAAgB,OAAsB;AAClC,UAAM,KAAK,SAAS,MAAM;AAAA,EAC9B;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OAEG;AAEP,SAAS,eAAe;AAExB,MAAM,SAAS,OAAO,IAAI,eAAe;AAKlC,MAAe,gBAAgB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,IAAI,MAAM;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,EAAE,MAAM,SAAS,aAAa,IAAI,GAAkC;AAC5E,SAAK,eAAe,QAAQ,WAAW;AACvC,SAAK,QAAQ;AACb,SAAK,YAAY,KAAK,IAAI,KAAK,WAAW,KAAK,YAAY,MAAM,GAAG,CAAC;AACrE,SAAK,WAAW,IAAI,eAAe;AACnC,SAAK,WAAW;AAChB,SAAK,QAAQ,IAAI,QAAQ,OAAO;AAChC,SAAK,eAAe;AACpB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,QAAQ,MAAiB;AACrB,WAAO,KAAK,UAAU,KAAK,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,aAAa,OAET,QACF;AACE,UAAM,WAAW,IAAI,KAAK,MAAM;AAChC,QAAI;AACA,YAAM,SAAS,MAAM;AAAA,IACzB,SAAS,GAAG;AACR,YAAM,SAAS,MAAM;AACrB,YAAM;AAAA,IACV;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAuB;AAKzB;AAAA;AAJA,UAAI,KAAK,WAAW;AAChB;AAAA,MACJ;AAEA,YAAM,WAAW,qBAAK,UAAU,QAAQ;AAExC,WAAK,OAAO;AAEZ,UAAI;AACA,cAAM,KAAK,KAAK;AAAA,MACpB,SAAS,GAAG;AACR,eAAO,MAAM,kCAAkC,KAAK,OAAO,EAAE;AAAA,MACjE;AAAA,aARA;AAAA;AAAA;AAAA;AAAA;AAAA,EASJ;AAAA,EAEU,eAAe,aAAqB;AAC1C,UAAM,eAAgB,KAAK,YAAgD;AAC3E,QAAI,gBAAgB,gBAAgB,gBAAgB,GAAG,YAAY,KAAK;AACpE,YAAM,IAAI;AAAA,QACN,oBAAoB,KAAK,OAAO,yBAAyB,KAAK,YAAY,IAAI;AAAA,MAClF;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,UAAU,QAAuB;AACvC,SAAK,SAAS,IAAI,MAAM;AAAA,EAC5B;AAAA,EAEA,OAAO,WAAW;AAAA;AAAA;AAAA;AAAA,EAUlB,MAAgB,OAAsB;AAClC,UAAM,KAAK,SAAS,MAAM;AAAA,EAC9B;AACJ;",
5
5
  "names": []
6
6
  }
@@ -56,6 +56,14 @@ export declare namespace RemoteServer {
56
56
  * also online.
57
57
  */
58
58
  allowOfflineUse: boolean;
59
+ /**
60
+ * Certificate for encrypted endpoints in PEM format.
61
+ */
62
+ certificate?: string;
63
+ /**
64
+ * Private key for encrypted endpoints in PEM format.
65
+ */
66
+ key?: string;
59
67
  }
60
68
  }
61
69
  //# sourceMappingURL=RemoteServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;;IAC/C,gBAAyB,KAAK,QAAQ;IAEtC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC;IAEnC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAEnB,UAAU;IAiBhB,CAAC,MAAM,CAAC,YAAY,CAAC;IAoC9B,gBAAyB,MAAM,gBAS7B;CACL;AAED,yBAAiB,YAAY,CAAC;IAC1B,MAAa,QAAQ;QACjB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC/B;IAED,MAAa,KAAK;QACd;;;;;;;;;;WAUG;QACH,OAAO,SAAM;QAEb;;WAEG;QACH,OAAO,UAAQ;QAEf;;;;;WAKG;QACH,eAAe,UAAQ;KAC1B;CACJ"}
1
+ {"version":3,"file":"RemoteServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAgBjD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;;;;;;;;GAWG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;;IAC/C,gBAAyB,KAAK,QAAQ;IAEtC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC;IAEnC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAEnB,UAAU;IAyBhB,CAAC,MAAM,CAAC,YAAY,CAAC;IA4C9B,gBAAyB,MAAM,gBAW7B;CAmCL;AAED,yBAAiB,YAAY,CAAC;IAC1B,MAAa,QAAQ;QACjB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC/B;IAED,MAAa,KAAK;QACd;;;;;;;;;;WAUG;QACH,OAAO,SAAM;QAEb;;WAEG;QACH,OAAO,UAAQ;QAEf;;;;;WAKG;QACH,eAAe,UAAQ;QAEvB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB;CACJ"}
@@ -5,13 +5,33 @@
5
5
  */
6
6
  import { Behavior } from "#behavior/Behavior.js";
7
7
  import { EndpointInitializer } from "#endpoint/properties/EndpointInitializer.js";
8
- import { AppAddress, ImplementationError, InternalError } from "#general";
8
+ import {
9
+ AppAddress,
10
+ Crypto,
11
+ CurveType,
12
+ Diagnostic,
13
+ ImplementationError,
14
+ InternalError,
15
+ Key,
16
+ KeyType,
17
+ Logger,
18
+ X509,
19
+ X520,
20
+ X962
21
+ } from "#general";
9
22
  import { DatatypeModel, FieldElement } from "#model";
10
23
  import { ServerEndpointInitializer } from "#node/server/ServerEndpointInitializer.js";
24
+ const logger = Logger.get("RemoteServer");
11
25
  class RemoteServer extends Behavior {
12
26
  static early = true;
13
27
  static interfaceType;
14
28
  async initialize() {
29
+ if (this.state.key === void 0) {
30
+ this.state.key = await this.#createKey();
31
+ }
32
+ if (this.state.certificate === void 0) {
33
+ this.state.certificate = await this.#createCertificate(this.state.key);
34
+ }
15
35
  if (!(this.env.get(EndpointInitializer) instanceof ServerEndpointInitializer)) {
16
36
  throw new ImplementationError("Remote server is not installed in a ServerNode");
17
37
  }
@@ -34,8 +54,15 @@ class RemoteServer extends Behavior {
34
54
  throw new InternalError(`Remote server ${this.constructor.name} does not define a remote interface`);
35
55
  }
36
56
  const address = new AppAddress(this.state.address);
37
- const intf = await interfaceType.create(this.endpoint, address);
57
+ const { key, certificate } = this.state;
58
+ const intf = await interfaceType.create({
59
+ node: this.endpoint,
60
+ address,
61
+ key,
62
+ certificate
63
+ });
38
64
  this.internal.interface = intf;
65
+ logger.info("Listening on", Diagnostic.strong(intf.address));
39
66
  }
40
67
  async #stop() {
41
68
  const { interface: intf } = this.internal;
@@ -57,8 +84,42 @@ class RemoteServer extends Behavior {
57
84
  },
58
85
  FieldElement({ name: "address", type: "string" }),
59
86
  FieldElement({ name: "enabled", type: "bool" }),
60
- FieldElement({ name: "allowOfflineUse", type: "bool" })
87
+ FieldElement({ name: "allowOfflineUse", type: "bool" }),
88
+ FieldElement({ name: "certificate", type: "octstr" }),
89
+ FieldElement({ name: "key", type: "octstr" })
61
90
  );
91
+ async #createKey() {
92
+ const key = await this.env.get(Crypto).createKeyPair();
93
+ if (key.pem === void 0) {
94
+ throw new InternalError("PEM form of new private key is missing");
95
+ }
96
+ return key.pem;
97
+ }
98
+ async #createCertificate(pkcs8) {
99
+ const crypto = this.env.get(Crypto);
100
+ const key = Key({ pem: pkcs8, kty: KeyType.EC, crv: CurveType.p256 });
101
+ const notBefore = /* @__PURE__ */ new Date();
102
+ const notAfter = /* @__PURE__ */ new Date();
103
+ notAfter.setFullYear(notAfter.getFullYear() + 10);
104
+ const unsigned = {
105
+ serialNumber: crypto.randomBytes(20),
106
+ subject: { commonName: X520.CommonName("localhost") },
107
+ validity: {
108
+ notBefore,
109
+ notAfter
110
+ },
111
+ issuer: { commonName: X520.CommonName("matter.js") },
112
+ extensions: {
113
+ basicConstraints: {
114
+ isCa: true
115
+ }
116
+ },
117
+ signatureAlgorithm: X962.EcdsaWithSHA256,
118
+ publicKey: X962.PublicKeyEcPrime256v1(key.publicBits)
119
+ };
120
+ const certificate = await X509.sign(this.env.get(Crypto), key, unsigned);
121
+ return X509.certificateToPem(certificate);
122
+ }
62
123
  }
63
124
  ((RemoteServer2) => {
64
125
  class Internal {
@@ -89,6 +150,14 @@ class RemoteServer extends Behavior {
89
150
  * also online.
90
151
  */
91
152
  allowOfflineUse = true;
153
+ /**
154
+ * Certificate for encrypted endpoints in PEM format.
155
+ */
156
+ certificate;
157
+ /**
158
+ * Private key for encrypted endpoints in PEM format.
159
+ */
160
+ key;
92
161
  }
93
162
  RemoteServer2.State = State;
94
163
  })(RemoteServer || (RemoteServer = {}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/remote/RemoteServer.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAS,YAAY,qBAAqB,qBAAqB;AAC/D,SAAS,eAAe,oBAAoB;AAE5C,SAAS,iCAAiC;AAenC,MAAe,qBAAqB,SAAS;AAAA,EAChD,OAAyB,QAAQ;AAAA,EAEjC,OAAO;AAAA,EAKP,MAAe,aAAa;AACxB,QAAI,EAAE,KAAK,IAAI,IAAI,mBAAmB,aAAa,4BAA4B;AAC3E,YAAM,IAAI,oBAAoB,gDAAgD;AAAA,IAClF;AAEA,SAAK,QAAS,KAAK,SAAwB,UAAU,QAAQ,KAAK,MAAM;AACxE,SAAK,QAAS,KAAK,SAAwB,UAAU,SAAS,KAAK,UAAU;AAI7E,SAAK,QAAS,KAAK,SAAwB,UAAU,YAAY,KAAK,KAAK;AAE3E,QAAI,KAAK,MAAM,iBAAiB;AAC5B,YAAM,KAAK,OAAO;AAAA,IACtB;AAAA,EACJ;AAAA,EAEA,CAAU,OAAO,YAAY,IAAI;AAC7B,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,MAAM,SAAS;AACX,QAAI,CAAC,KAAK,MAAM,WAAW,KAAK,SAAS,WAAW;AAChD;AAAA,IACJ;AAEA,UAAM,gBAAiB,KAAK,YAAoC;AAChE,QAAI,OAAQ,kBAA0B,YAAY;AAC9C,YAAM,IAAI,cAAc,iBAAiB,KAAK,YAAY,IAAI,qCAAqC;AAAA,IACvG;AAEA,UAAM,UAAU,IAAI,WAAW,KAAK,MAAM,OAAO;AACjD,UAAM,OAAO,MAAM,cAAc,OAAO,KAAK,UAAwB,OAAO;AAE5E,SAAK,SAAS,YAAY;AAAA,EAC9B;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,EAAE,WAAW,KAAK,IAAI,KAAK;AACjC,QAAI,CAAC,MAAM;AACP;AAAA,IACJ;AAEA,SAAK,SAAS,YAAY;AAC1B,UAAM,KAAK,MAAM;AAAA,EACrB;AAAA,EAEA,MAAM,aAAa;AACf,QAAI,CAAC,KAAK,MAAM,iBAAiB;AAC7B,YAAM,KAAK,MAAM;AAAA,IACrB;AAAA,EACJ;AAAA,EAEA,OAAyB,SAAS,IAAI;AAAA,IAClC;AAAA,MACI,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IAEA,aAAa,EAAE,MAAM,WAAW,MAAM,SAAS,CAAC;AAAA,IAChD,aAAa,EAAE,MAAM,WAAW,MAAM,OAAO,CAAC;AAAA,IAC9C,aAAa,EAAE,MAAM,mBAAmB,MAAM,OAAO,CAAC;AAAA,EAC1D;AACJ;AAAA,CAEO,CAAUA,kBAAV;AAAA,EACI,MAAM,SAAS;AAAA,IAClB;AAAA,EACJ;AAFO,EAAAA,cAAM;AAAA,EAIN,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYf,UAAU;AAAA;AAAA;AAAA;AAAA,IAKV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQV,kBAAkB;AAAA,EACtB;AA1BO,EAAAA,cAAM;AAAA,GALA;",
4
+ "mappings": "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",
5
5
  "names": ["RemoteServer"]
6
6
  }
@@ -61,7 +61,7 @@ class WebSocketInterface extends RemoteInterface {
61
61
  #http;
62
62
  #mutex = new Mutex(this);
63
63
  async start() {
64
- this.#http = await this.env.get(HttpService).create(this.address);
64
+ this.#http = await this.env.get(HttpService).create(this);
65
65
  this.#http.ws = this.#handleConnection.bind(this);
66
66
  }
67
67
  async stop() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/websocket/WebSocketInterface.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["request"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.16.10",
3
+ "version": "0.16.11-alpha.0-20260225-033797f3c",
4
4
  "description": "API for building Matter nodes",
5
5
  "keywords": [
6
6
  "iot",
@@ -42,14 +42,14 @@
42
42
  "#*": "./src/*"
43
43
  },
44
44
  "dependencies": {
45
- "@matter/general": "0.16.10",
46
- "@matter/model": "0.16.10",
47
- "@matter/types": "0.16.10",
48
- "@matter/protocol": "0.16.10"
45
+ "@matter/general": "0.16.11-alpha.0-20260225-033797f3c",
46
+ "@matter/model": "0.16.11-alpha.0-20260225-033797f3c",
47
+ "@matter/types": "0.16.11-alpha.0-20260225-033797f3c",
48
+ "@matter/protocol": "0.16.11-alpha.0-20260225-033797f3c"
49
49
  },
50
50
  "devDependencies": {
51
- "@matter/tools": "0.16.10",
52
- "@matter/testing": "0.16.10"
51
+ "@matter/tools": "0.16.11-alpha.0-20260225-033797f3c",
52
+ "@matter/testing": "0.16.11-alpha.0-20260225-033797f3c"
53
53
  },
54
54
  "files": [
55
55
  "dist/**/*",
@@ -35,7 +35,7 @@ export class HttpInterface extends RemoteInterface {
35
35
  #http?: HttpEndpoint;
36
36
 
37
37
  protected override async start() {
38
- this.#http = await this.env.get(HttpService).create(this.address);
38
+ this.#http = await this.env.get(HttpService).create(this);
39
39
  this.#http.http = this.#handleRequest.bind(this);
40
40
  }
41
41
 
@@ -49,6 +49,8 @@ export class MqttInterface extends RemoteInterface {
49
49
  this.#endpoint = await this.env.get(MqttService).connect({
50
50
  address: this.address,
51
51
  environment: this.node.env,
52
+ certificate: this.certificate,
53
+ key: this.key,
52
54
 
53
55
  will: {
54
56
  topic: this.root.at("status").toString(),
@@ -29,18 +29,18 @@ export abstract class RemoteInterface {
29
29
  #abort = new Abort();
30
30
  #root: ApiPath;
31
31
  #workers: Multiplex;
32
+ #certificate?: string;
33
+ #key?: string;
32
34
 
33
- constructor(node: ServerNode, address: AppAddress) {
34
- if (address.appProtocol !== (this.constructor as unknown as RemoteInterface.Type).protocol) {
35
- throw new ImplementationError(
36
- `API endpoint type ${this.constructor.name} does not support address ${address}`,
37
- );
38
- }
35
+ constructor({ node, address, certificate, key }: RemoteInterface.Configuration) {
36
+ this.assertProtocol(address.appProtocol);
39
37
  this.#node = node;
40
38
  this.#lifetime = node.env.join(decamelize(this.constructor.name, " "));
41
39
  this.#workers = new BasicMultiplex();
42
40
  this.#address = address;
43
41
  this.#root = new ApiPath(address);
42
+ this.#certificate = certificate;
43
+ this.#key = key;
44
44
  }
45
45
 
46
46
  join(...name: unknown[]) {
@@ -63,6 +63,14 @@ export abstract class RemoteInterface {
63
63
  return this.#address;
64
64
  }
65
65
 
66
+ get certificate() {
67
+ return this.#certificate;
68
+ }
69
+
70
+ get key() {
71
+ return this.#key;
72
+ }
73
+
66
74
  get isAborted() {
67
75
  return this.#abort.aborted;
68
76
  }
@@ -71,12 +79,11 @@ export abstract class RemoteInterface {
71
79
  return this.#abort.signal;
72
80
  }
73
81
 
74
- static async create<This extends new (node: ServerNode, address: AppAddress) => RemoteInterface>(
82
+ static async create<This extends new (config: RemoteInterface.Configuration) => RemoteInterface>(
75
83
  this: This,
76
- node: ServerNode,
77
- address: AppAddress,
84
+ config: RemoteInterface.Configuration,
78
85
  ) {
79
- const instance = new this(node, address);
86
+ const instance = new this(config);
80
87
  try {
81
88
  await instance.start();
82
89
  } catch (e) {
@@ -103,7 +110,8 @@ export abstract class RemoteInterface {
103
110
  }
104
111
 
105
112
  protected assertProtocol(appProtocol: string) {
106
- if (this.address.appProtocol !== appProtocol) {
113
+ const baseProtocol = (this.constructor as unknown as RemoteInterface.Type).protocol;
114
+ if (appProtocol !== baseProtocol && appProtocol !== `${baseProtocol}s`) {
107
115
  throw new ImplementationError(
108
116
  `Invalid protocol ${this.address} for API endpoin type ${this.constructor.name}`,
109
117
  );
@@ -132,6 +140,13 @@ export abstract class RemoteInterface {
132
140
  export namespace RemoteInterface {
133
141
  export interface Type {
134
142
  protocol: string;
135
- create(node: ServerNode, address: AppAddress): Promise<RemoteInterface>;
143
+ create(config: Configuration): Promise<RemoteInterface>;
144
+ }
145
+
146
+ export interface Configuration {
147
+ node: ServerNode;
148
+ address: AppAddress;
149
+ certificate?: string;
150
+ key?: string;
136
151
  }
137
152
  }
@@ -6,12 +6,27 @@
6
6
 
7
7
  import { Behavior } from "#behavior/Behavior.js";
8
8
  import { EndpointInitializer } from "#endpoint/properties/EndpointInitializer.js";
9
- import { AppAddress, ImplementationError, InternalError } from "#general";
9
+ import {
10
+ AppAddress,
11
+ Crypto,
12
+ CurveType,
13
+ Diagnostic,
14
+ ImplementationError,
15
+ InternalError,
16
+ Key,
17
+ KeyType,
18
+ Logger,
19
+ X509,
20
+ X520,
21
+ X962,
22
+ } from "#general";
10
23
  import { DatatypeModel, FieldElement } from "#model";
11
24
  import type { ServerNode } from "#node/ServerNode.js";
12
25
  import { ServerEndpointInitializer } from "#node/server/ServerEndpointInitializer.js";
13
26
  import { RemoteInterface } from "./RemoteInterface.js";
14
27
 
28
+ const logger = Logger.get("RemoteServer");
29
+
15
30
  /**
16
31
  * Base class for {@link Behavior}s that enable remote access to a {@link ServerNode} via a non-Matter API.
17
32
  *
@@ -33,6 +48,14 @@ export abstract class RemoteServer extends Behavior {
33
48
  declare state: RemoteServer.State;
34
49
 
35
50
  override async initialize() {
51
+ if (this.state.key === undefined) {
52
+ this.state.key = await this.#createKey();
53
+ }
54
+
55
+ if (this.state.certificate === undefined) {
56
+ this.state.certificate = await this.#createCertificate(this.state.key);
57
+ }
58
+
36
59
  if (!(this.env.get(EndpointInitializer) instanceof ServerEndpointInitializer)) {
37
60
  throw new ImplementationError("Remote server is not installed in a ServerNode");
38
61
  }
@@ -64,9 +87,17 @@ export abstract class RemoteServer extends Behavior {
64
87
  }
65
88
 
66
89
  const address = new AppAddress(this.state.address);
67
- const intf = await interfaceType.create(this.endpoint as ServerNode, address);
90
+ const { key, certificate } = this.state;
91
+ const intf = await interfaceType.create({
92
+ node: this.endpoint as ServerNode,
93
+ address,
94
+ key,
95
+ certificate,
96
+ });
68
97
 
69
98
  this.internal.interface = intf;
99
+
100
+ logger.info("Listening on", Diagnostic.strong(intf.address));
70
101
  }
71
102
 
72
103
  async #stop() {
@@ -94,7 +125,43 @@ export abstract class RemoteServer extends Behavior {
94
125
  FieldElement({ name: "address", type: "string" }),
95
126
  FieldElement({ name: "enabled", type: "bool" }),
96
127
  FieldElement({ name: "allowOfflineUse", type: "bool" }),
128
+ FieldElement({ name: "certificate", type: "octstr" }),
129
+ FieldElement({ name: "key", type: "octstr" }),
97
130
  );
131
+
132
+ async #createKey() {
133
+ const key = await this.env.get(Crypto).createKeyPair();
134
+ if (key.pem === undefined) {
135
+ throw new InternalError("PEM form of new private key is missing");
136
+ }
137
+ return key.pem;
138
+ }
139
+
140
+ async #createCertificate(pkcs8: string) {
141
+ const crypto = this.env.get(Crypto);
142
+ const key = Key({ pem: pkcs8, kty: KeyType.EC, crv: CurveType.p256 });
143
+ const notBefore = new Date();
144
+ const notAfter = new Date();
145
+ notAfter.setFullYear(notAfter.getFullYear() + 10);
146
+ const unsigned: X509.UnsignedCertificate = {
147
+ serialNumber: crypto.randomBytes(20),
148
+ subject: { commonName: X520.CommonName("localhost") },
149
+ validity: {
150
+ notBefore,
151
+ notAfter,
152
+ },
153
+ issuer: { commonName: X520.CommonName("matter.js") },
154
+ extensions: {
155
+ basicConstraints: {
156
+ isCa: true,
157
+ },
158
+ },
159
+ signatureAlgorithm: X962.EcdsaWithSHA256,
160
+ publicKey: X962.PublicKeyEcPrime256v1(key.publicBits!),
161
+ };
162
+ const certificate = await X509.sign(this.env.get(Crypto), key, unsigned);
163
+ return X509.certificateToPem(certificate);
164
+ }
98
165
  }
99
166
 
100
167
  export namespace RemoteServer {
@@ -128,5 +195,15 @@ export namespace RemoteServer {
128
195
  * also online.
129
196
  */
130
197
  allowOfflineUse = true;
198
+
199
+ /**
200
+ * Certificate for encrypted endpoints in PEM format.
201
+ */
202
+ certificate?: string;
203
+
204
+ /**
205
+ * Private key for encrypted endpoints in PEM format.
206
+ */
207
+ key?: string;
131
208
  }
132
209
  }
@@ -25,7 +25,7 @@ export class WebSocketInterface extends RemoteInterface {
25
25
  #mutex = new Mutex(this);
26
26
 
27
27
  protected override async start() {
28
- this.#http = await this.env.get(HttpService).create(this.address);
28
+ this.#http = await this.env.get(HttpService).create(this);
29
29
  this.#http.ws = this.#handleConnection.bind(this);
30
30
  }
31
31