@matter/nodejs 0.14.1-alpha.0-20250607-a93593303 → 0.15.0-alpha.0-20250613-a55f991d4

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 (76) hide show
  1. package/dist/cjs/config.d.ts +8 -0
  2. package/dist/cjs/config.d.ts.map +1 -1
  3. package/dist/cjs/config.js +22 -0
  4. package/dist/cjs/config.js.map +1 -1
  5. package/dist/cjs/crypto/NodeJsCrypto.d.ts +10 -10
  6. package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +1 -1
  7. package/dist/cjs/crypto/NodeJsCrypto.js +13 -10
  8. package/dist/cjs/crypto/NodeJsCrypto.js.map +1 -1
  9. package/dist/cjs/crypto/index.d.ts +0 -1
  10. package/dist/cjs/crypto/index.d.ts.map +1 -1
  11. package/dist/cjs/crypto/index.js +0 -1
  12. package/dist/cjs/crypto/index.js.map +1 -1
  13. package/dist/cjs/environment/NodeJsEnvironment.d.ts +5 -2
  14. package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +1 -1
  15. package/dist/cjs/environment/NodeJsEnvironment.js +19 -4
  16. package/dist/cjs/environment/NodeJsEnvironment.js.map +1 -1
  17. package/dist/cjs/environment/ProcessManager.d.ts.map +1 -1
  18. package/dist/cjs/environment/ProcessManager.js +2 -3
  19. package/dist/cjs/environment/ProcessManager.js.map +1 -1
  20. package/dist/cjs/environment/register.js +1 -3
  21. package/dist/cjs/environment/register.js.map +1 -1
  22. package/dist/cjs/net/index.d.ts +0 -1
  23. package/dist/cjs/net/index.d.ts.map +1 -1
  24. package/dist/cjs/net/index.js +0 -1
  25. package/dist/cjs/net/index.js.map +1 -1
  26. package/dist/esm/config.d.ts +8 -0
  27. package/dist/esm/config.d.ts.map +1 -1
  28. package/dist/esm/config.js +22 -0
  29. package/dist/esm/config.js.map +1 -1
  30. package/dist/esm/crypto/NodeJsCrypto.d.ts +10 -10
  31. package/dist/esm/crypto/NodeJsCrypto.d.ts.map +1 -1
  32. package/dist/esm/crypto/NodeJsCrypto.js +13 -11
  33. package/dist/esm/crypto/NodeJsCrypto.js.map +1 -1
  34. package/dist/esm/crypto/index.d.ts +0 -1
  35. package/dist/esm/crypto/index.d.ts.map +1 -1
  36. package/dist/esm/crypto/index.js +0 -1
  37. package/dist/esm/crypto/index.js.map +1 -1
  38. package/dist/esm/environment/NodeJsEnvironment.d.ts +5 -2
  39. package/dist/esm/environment/NodeJsEnvironment.d.ts.map +1 -1
  40. package/dist/esm/environment/NodeJsEnvironment.js +21 -4
  41. package/dist/esm/environment/NodeJsEnvironment.js.map +1 -1
  42. package/dist/esm/environment/ProcessManager.d.ts.map +1 -1
  43. package/dist/esm/environment/ProcessManager.js +2 -3
  44. package/dist/esm/environment/ProcessManager.js.map +1 -1
  45. package/dist/esm/environment/register.js +2 -4
  46. package/dist/esm/environment/register.js.map +1 -1
  47. package/dist/esm/net/index.d.ts +0 -1
  48. package/dist/esm/net/index.d.ts.map +1 -1
  49. package/dist/esm/net/index.js +0 -1
  50. package/dist/esm/net/index.js.map +1 -1
  51. package/package.json +10 -10
  52. package/src/config.ts +26 -0
  53. package/src/crypto/NodeJsCrypto.ts +18 -11
  54. package/src/crypto/index.ts +0 -1
  55. package/src/environment/NodeJsEnvironment.ts +30 -7
  56. package/src/environment/ProcessManager.ts +2 -3
  57. package/src/environment/register.ts +2 -4
  58. package/src/net/index.ts +0 -1
  59. package/dist/cjs/crypto/register.d.ts +0 -7
  60. package/dist/cjs/crypto/register.d.ts.map +0 -1
  61. package/dist/cjs/crypto/register.js +0 -23
  62. package/dist/cjs/crypto/register.js.map +0 -6
  63. package/dist/cjs/net/register.d.ts +0 -7
  64. package/dist/cjs/net/register.d.ts.map +0 -1
  65. package/dist/cjs/net/register.js +0 -24
  66. package/dist/cjs/net/register.js.map +0 -6
  67. package/dist/esm/crypto/register.d.ts +0 -7
  68. package/dist/esm/crypto/register.d.ts.map +0 -1
  69. package/dist/esm/crypto/register.js +0 -22
  70. package/dist/esm/crypto/register.js.map +0 -6
  71. package/dist/esm/net/register.d.ts +0 -7
  72. package/dist/esm/net/register.d.ts.map +0 -1
  73. package/dist/esm/net/register.js +0 -23
  74. package/dist/esm/net/register.js.map +0 -6
  75. package/src/crypto/register.ts +0 -27
  76. package/src/net/register.ts +0 -31
@@ -11,14 +11,14 @@ import {
11
11
  CRYPTO_ENCRYPT_ALGORITHM,
12
12
  CRYPTO_HASH_ALGORITHM,
13
13
  CRYPTO_SYMMETRIC_KEY_LENGTH,
14
- Crypto,
15
14
  CryptoDecryptError,
16
15
  CryptoVerifyError,
17
16
  PrivateKey,
18
17
  asError
19
18
  } from "#general";
20
19
  import * as crypto from "node:crypto";
21
- class NodeJsCrypto extends Crypto {
20
+ class NodeJsCrypto {
21
+ implementationName = "Node.js";
22
22
  encrypt(key, data, nonce, aad) {
23
23
  const cipher = crypto.createCipheriv(CRYPTO_ENCRYPT_ALGORITHM, key, nonce, {
24
24
  authTagLength: CRYPTO_AUTH_TAG_LENGTH
@@ -63,10 +63,7 @@ class NodeJsCrypto extends Crypto {
63
63
  sharedSecret: new Uint8Array(ecdh.computeSecret(peerPublicKey))
64
64
  };
65
65
  }
66
- ecdhGenerateSecret(peerPublicKey, ecdh) {
67
- return new Uint8Array(ecdh.computeSecret(peerPublicKey));
68
- }
69
- hash(data) {
66
+ computeSha256(data) {
70
67
  const hasher = crypto.createHash(CRYPTO_HASH_ALGORITHM);
71
68
  if (Array.isArray(data)) {
72
69
  data.forEach((chunk) => hasher.update(chunk));
@@ -75,7 +72,7 @@ class NodeJsCrypto extends Crypto {
75
72
  }
76
73
  return new Uint8Array(hasher.digest());
77
74
  }
78
- pbkdf2(secret, salt, iteration, keyLength) {
75
+ createPbkdf2Key(secret, salt, iteration, keyLength) {
79
76
  return new Promise((resolver, rejecter) => {
80
77
  crypto.pbkdf2(secret, salt, iteration, keyLength, CRYPTO_HASH_ALGORITHM, (error, key) => {
81
78
  if (error !== null) rejecter(error);
@@ -83,7 +80,7 @@ class NodeJsCrypto extends Crypto {
83
80
  });
84
81
  });
85
82
  }
86
- hkdf(secret, salt, info, length = CRYPTO_SYMMETRIC_KEY_LENGTH) {
83
+ createHkdfKey(secret, salt, info, length = CRYPTO_SYMMETRIC_KEY_LENGTH) {
87
84
  return new Promise((resolver, rejecter) => {
88
85
  crypto.hkdf(CRYPTO_HASH_ALGORITHM, secret, salt, info, length, (error, key) => {
89
86
  if (error !== null) rejecter(error);
@@ -91,12 +88,12 @@ class NodeJsCrypto extends Crypto {
91
88
  });
92
89
  });
93
90
  }
94
- hmac(key, data) {
91
+ signHmac(key, data) {
95
92
  const hmac = crypto.createHmac(CRYPTO_HASH_ALGORITHM, key);
96
93
  hmac.update(data);
97
94
  return new Uint8Array(hmac.digest());
98
95
  }
99
- sign(privateKey, data, dsaEncoding = "ieee-p1363") {
96
+ signEcdsa(privateKey, data, dsaEncoding = "ieee-p1363") {
100
97
  const signer = crypto.createSign(CRYPTO_HASH_ALGORITHM);
101
98
  if (Array.isArray(data)) {
102
99
  data.forEach((chunk) => signer.update(chunk));
@@ -112,7 +109,7 @@ class NodeJsCrypto extends Crypto {
112
109
  })
113
110
  );
114
111
  }
115
- verify(publicKey, data, signature, dsaEncoding = "ieee-p1363") {
112
+ verifyEcdsa(publicKey, data, signature, dsaEncoding = "ieee-p1363") {
116
113
  const verifier = crypto.createVerify(CRYPTO_HASH_ALGORITHM);
117
114
  verifier.update(data);
118
115
  const success = verifier.verify(
@@ -134,6 +131,11 @@ class NodeJsCrypto extends Crypto {
134
131
  privateKey.set(nodePrivateKey, CRYPTO_EC_KEY_BYTES - nodePrivateKey.length);
135
132
  return PrivateKey(privateKey, { publicKey: ecdh.getPublicKey() });
136
133
  }
134
+ generateDhSecret(key, peerKey) {
135
+ const ecdh = crypto.createECDH(CRYPTO_EC_CURVE);
136
+ ecdh.setPrivateKey(key.privateBits);
137
+ return ecdh.computeSecret(peerKey.publicBits);
138
+ }
137
139
  }
138
140
  export {
139
141
  NodeJsCrypto
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/NodeJsCrypto.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,6 +3,5 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import "./register.js";
7
6
  export * from "./NodeJsCrypto.js";
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,eAAe,CAAC;AACvB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -3,6 +3,5 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import "./register.js";
7
6
  export * from "./NodeJsCrypto.js";
8
7
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;",
5
5
  "names": []
6
6
  }
@@ -30,13 +30,16 @@ import { Environment, VariableService } from "#general";
30
30
  * 4. Command line parameters
31
31
  *
32
32
  * The following variables are defined by this class additionally to {@link Environment}:
33
- * * `environment` - Name of the environment, Default "default"
33
+ * * `environment` - Name of the environment. Default "default"
34
34
  * * `path.root` - Path considered as root for any files to store, Fallback: ".", Default: APPDATA/.matter (Windows), HOME/.matter else (or .matter-<envname>)
35
35
  * * `path.config` - Path to config file, Default: "config.json"
36
- * * `trace.path` - Path of the trace file to write, Default: "trace.jsonl" relative to path.root
36
+ * * `trace.path` - Path of the trace file to write. Default: "trace.jsonl" relative to path.root
37
37
  * * `trace.enable` - Enable writing a trace file
38
38
  * * `storage.path` - Where to store storage files, Default: "path.root"
39
39
  * * `storage.clear` - Clear storage on start? Default: false
40
+ * * `nodejs.crypto` - Enables crypto implementation in this package. Default: true
41
+ * * `nodejs.network` - Enables network implementation in this package. Default: true
42
+ * * `nodejs.storage` - Enables file-based storage implementation in this package. Default: true
40
43
  * * `runtime.signals` - By default register SIGINT and SIGUSR2 (diag) handlers, set to false if not wanted
41
44
  * * `runtime.exitcode` - By default we set the process.exitcode to 0 (ok) or 1 (crash); set to false to disable
42
45
  * * `runtime.unhandlederrors` - By default we log unhandled errors to matter.js log; set to false to disable
@@ -1 +1 @@
1
- {"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEH,WAAW,EAMX,eAAe,EAClB,MAAM,UAAU,CAAC;AAQlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iBAAiB,gBAkBhC;AAgED,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe;;;EAsBnD;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;EAiBhD"}
1
+ {"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIH,WAAW,EAMX,eAAe,EAClB,MAAM,UAAU,CAAC;AAQlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,iBAAiB,gBAmBhC;AAgFD,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe;;;EAsBnD;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;EAiBhD"}
@@ -4,8 +4,11 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { config } from "#config.js";
7
+ import { NodeJsCrypto } from "#crypto/NodeJsCrypto.js";
7
8
  import {
8
9
  asError,
10
+ Boot,
11
+ Crypto,
9
12
  Environment,
10
13
  ImplementationError,
11
14
  LogFormat,
@@ -22,6 +25,7 @@ import { ProcessManager } from "./ProcessManager.js";
22
25
  function NodeJsEnvironment() {
23
26
  const env = new Environment("default");
24
27
  loadVariables(env);
28
+ configureCrypto(env);
25
29
  configureRuntime(env);
26
30
  configureStorage(env);
27
31
  configureNetwork(env);
@@ -58,12 +62,28 @@ function loadVariables(env) {
58
62
  await writeFile(configPath, JSON.stringify(configVars, void 0, 4));
59
63
  };
60
64
  }
65
+ function configureCrypto(env) {
66
+ if (!config.installCrypto || !(env.vars.boolean("nodejs.crypto") ?? true)) {
67
+ return;
68
+ }
69
+ Boot.init(() => {
70
+ Crypto.provider = () => new NodeJsCrypto();
71
+ });
72
+ }
73
+ function configureNetwork(env) {
74
+ if (!config.installNetwork || !(env.vars.boolean("nodejs.network") ?? true)) {
75
+ return;
76
+ }
77
+ Boot.init(() => {
78
+ env.set(Network, new NodeJsNetwork());
79
+ });
80
+ }
61
81
  function configureRuntime(env) {
62
82
  const processManager = new ProcessManager(env);
63
83
  env.set(ProcessManager, processManager);
64
84
  }
65
85
  function configureStorage(env) {
66
- if (!config.initializeStorage) {
86
+ if (!config.initializeStorage || !(env.vars.boolean("nodejs.storage") ?? true)) {
67
87
  return;
68
88
  }
69
89
  const service = env.get(StorageService);
@@ -72,9 +92,6 @@ function configureStorage(env) {
72
92
  });
73
93
  service.factory = (namespace) => new StorageBackendDisk(resolve(service.location ?? ".", namespace), env.vars.get("storage.clear", false));
74
94
  }
75
- function configureNetwork(env) {
76
- env.set(Network, new NodeJsNetwork());
77
- }
78
95
  function loadConfigFile(vars) {
79
96
  const configPath = vars.get("path.config", "config.json");
80
97
  if (!existsSync(configPath)) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/NodeJsEnvironment.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../../src/environment/ProcessManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAU,cAAc,EAAwB,MAAM,UAAU,CAAC;AAKnG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,YAAY;;IAInC,SAAS,CAAC,GAAG,EAAE,WAAW;IAHtC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;gBAGZ,GAAG,EAAE,WAAW;IActC,KAAK;IAOL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,SAAS,KAAK,gBAAgB,SAE7B;IAED,SAAS,KAAK,kBAAkB,SAE/B;IAED,SAAS,KAAK,wBAAwB,SAErC;IAED,SAAS,CAAC,aAAa,aAiBrB;IAEF,SAAS,CAAC,YAAY,aAMpB;IAEF,SAAS,CAAC,aAAa,aAIrB;IAEF,SAAS,CAAC,gBAAgB,aAKxB;IAEF,SAAS,CAAC,WAAW,aAInB;IAEF,SAAS,CAAC,iBAAiB,aAEzB;IAEF,SAAS,CAAC,wBAAwB,aAGhC;IAEF,SAAS,CAAC,0BAA0B,aAGlC;CAUL"}
1
+ {"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../../src/environment/ProcessManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAU,cAAc,EAAwB,MAAM,UAAU,CAAC;AAKnG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,YAAY;;IAInC,SAAS,CAAC,GAAG,EAAE,WAAW;IAHtC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;gBAGZ,GAAG,EAAE,WAAW;IActC,KAAK;IAOL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,SAAS,KAAK,gBAAgB,SAE7B;IAED,SAAS,KAAK,kBAAkB,SAE/B;IAED,SAAS,KAAK,wBAAwB,SAErC;IAED,SAAS,CAAC,aAAa,aAiBrB;IAEF,SAAS,CAAC,YAAY,aAMpB;IAEF,SAAS,CAAC,aAAa,aAIrB;IAEF,SAAS,CAAC,gBAAgB,aAIxB;IAEF,SAAS,CAAC,WAAW,aAInB;IAEF,SAAS,CAAC,iBAAiB,aAEzB;IAEF,SAAS,CAAC,wBAAwB,aAGhC;IAEF,SAAS,CAAC,0BAA0B,aAGlC;CAUL"}
@@ -66,9 +66,8 @@ class ProcessManager {
66
66
  };
67
67
  interruptHandler = () => {
68
68
  this.uninstallInterruptHandlers();
69
- if (this.runtime.interrupt()) {
70
- this.installInterruptHandlers();
71
- }
69
+ this.installInterruptHandlers();
70
+ this.runtime.interrupt();
72
71
  };
73
72
  exitHandler = () => {
74
73
  if (process.exitCode === 13) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/ProcessManager.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAoC,QAAQ,sBAA4C;AAGxF,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAuBnC,MAAM,eAAuC;AAAA,EAIhD,YAAsB,KAAkB;AAAlB;AAClB,SAAK,UAAU,IAAI,IAAI,cAAc;AAErC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAC1C,SAAK,QAAQ,QAAQ,GAAG,KAAK,YAAY;AACzC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAE1C,QAAI,KAAK,0BAA0B;AAC/B,cAAQ,YAAY,4BAA4B,WAAS;AACrD,eAAO,qBAAqB,KAAK;AAAA,MACrC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAfU;AAAA,EACV,2BAA2B;AAAA,EAgB3B,QAAQ;AACJ,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,QAAQ,QAAQ,IAAI,KAAK,YAAY;AAC1C,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,eAAe;AAAA,EACxB;AAAA,EAEA,CAAC,OAAO,OAAO,IAAI;AACf,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,IAAc,mBAAmB;AAC7B,WAAO,KAAK,IAAI,KAAK,IAAI,mBAAmB,IAAI;AAAA,EACpD;AAAA,EAEA,IAAc,qBAAqB;AAC/B,WAAO,KAAK,IAAI,KAAK,IAAI,oBAAoB,IAAI;AAAA,EACrD;AAAA,EAEA,IAAc,2BAA2B;AACrC,WAAO,KAAK,IAAI,KAAK,IAAI,2BAA2B,IAAI;AAAA,EAC5D;AAAA,EAEU,gBAAgB,MAAM;AAC5B,SAAK,IAAI,KAAK,IAAI,MAAM;AACpB,UAAI,KAAK,kBAAkB;AACvB,YAAI,KAAK,0BAA0B;AAC/B;AAAA,QACJ;AAEA,aAAK,yBAAyB;AAE9B,gBAAQ,GAAG,WAAW,KAAK,iBAAiB;AAC5C,gBAAQ,GAAG,QAAQ,KAAK,WAAW;AAEnC,aAAK,2BAA2B;AAAA,MACpC,OAAO;AACH,aAAK,eAAe;AAAA,MACxB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEU,eAAe,MAAM;AAC3B,SAAK,eAAe;AAEpB,QAAI,KAAK,sBAAsB,QAAQ,aAAa,QAAW;AAC3D,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,gBAAgB,MAAM;AAC5B,QAAI,KAAK,oBAAoB;AACzB,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,mBAAmB,MAAM;AAC/B,SAAK,2BAA2B;AAChC,QAAI,KAAK,QAAQ,UAAU,GAAG;AAC1B,WAAK,yBAAyB;AAAA,IAClC;AAAA,EACJ;AAAA,EAEU,cAAc,MAAM;AAC1B,QAAI,QAAQ,aAAa,IAAI;AACzB,aAAO,MAAM,yEAAyE;AAAA,IAC1F;AAAA,EACJ;AAAA,EAEU,oBAAoB,MAAM;AAChC,SAAK,IAAI,SAAS;AAAA,EACtB;AAAA,EAEU,2BAA2B,MAAM;AACvC,YAAQ,GAAG,UAAU,KAAK,gBAAgB;AAC1C,YAAQ,GAAG,WAAW,KAAK,gBAAgB;AAAA,EAC/C;AAAA,EAEU,6BAA6B,MAAM;AACzC,YAAQ,IAAI,UAAU,KAAK,gBAAgB;AAC3C,YAAQ,IAAI,WAAW,KAAK,gBAAgB;AAAA,EAChD;AAAA,EAEA,iBAAiB;AACb,QAAI,KAAK,0BAA0B;AAC/B,WAAK,2BAA2B;AAChC,cAAQ,IAAI,WAAW,KAAK,iBAAiB;AAC7C,cAAQ,IAAI,QAAQ,KAAK,WAAW;AACpC,WAAK,2BAA2B;AAAA,IACpC;AAAA,EACJ;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAoC,QAAQ,sBAA4C;AAGxF,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAuBnC,MAAM,eAAuC;AAAA,EAIhD,YAAsB,KAAkB;AAAlB;AAClB,SAAK,UAAU,IAAI,IAAI,cAAc;AAErC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAC1C,SAAK,QAAQ,QAAQ,GAAG,KAAK,YAAY;AACzC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAE1C,QAAI,KAAK,0BAA0B;AAC/B,cAAQ,YAAY,4BAA4B,WAAS;AACrD,eAAO,qBAAqB,KAAK;AAAA,MACrC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAfU;AAAA,EACV,2BAA2B;AAAA,EAgB3B,QAAQ;AACJ,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,QAAQ,QAAQ,IAAI,KAAK,YAAY;AAC1C,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,eAAe;AAAA,EACxB;AAAA,EAEA,CAAC,OAAO,OAAO,IAAI;AACf,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,IAAc,mBAAmB;AAC7B,WAAO,KAAK,IAAI,KAAK,IAAI,mBAAmB,IAAI;AAAA,EACpD;AAAA,EAEA,IAAc,qBAAqB;AAC/B,WAAO,KAAK,IAAI,KAAK,IAAI,oBAAoB,IAAI;AAAA,EACrD;AAAA,EAEA,IAAc,2BAA2B;AACrC,WAAO,KAAK,IAAI,KAAK,IAAI,2BAA2B,IAAI;AAAA,EAC5D;AAAA,EAEU,gBAAgB,MAAM;AAC5B,SAAK,IAAI,KAAK,IAAI,MAAM;AACpB,UAAI,KAAK,kBAAkB;AACvB,YAAI,KAAK,0BAA0B;AAC/B;AAAA,QACJ;AAEA,aAAK,yBAAyB;AAE9B,gBAAQ,GAAG,WAAW,KAAK,iBAAiB;AAC5C,gBAAQ,GAAG,QAAQ,KAAK,WAAW;AAEnC,aAAK,2BAA2B;AAAA,MACpC,OAAO;AACH,aAAK,eAAe;AAAA,MACxB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEU,eAAe,MAAM;AAC3B,SAAK,eAAe;AAEpB,QAAI,KAAK,sBAAsB,QAAQ,aAAa,QAAW;AAC3D,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,gBAAgB,MAAM;AAC5B,QAAI,KAAK,oBAAoB;AACzB,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,mBAAmB,MAAM;AAC/B,SAAK,2BAA2B;AAChC,SAAK,yBAAyB;AAC9B,SAAK,QAAQ,UAAU;AAAA,EAC3B;AAAA,EAEU,cAAc,MAAM;AAC1B,QAAI,QAAQ,aAAa,IAAI;AACzB,aAAO,MAAM,yEAAyE;AAAA,IAC1F;AAAA,EACJ;AAAA,EAEU,oBAAoB,MAAM;AAChC,SAAK,IAAI,SAAS;AAAA,EACtB;AAAA,EAEU,2BAA2B,MAAM;AACvC,YAAQ,GAAG,UAAU,KAAK,gBAAgB;AAC1C,YAAQ,GAAG,WAAW,KAAK,gBAAgB;AAAA,EAC/C;AAAA,EAEU,6BAA6B,MAAM;AACzC,YAAQ,IAAI,UAAU,KAAK,gBAAgB;AAC3C,YAAQ,IAAI,WAAW,KAAK,gBAAgB;AAAA,EAChD;AAAA,EAEA,iBAAiB;AACb,QAAI,KAAK,0BAA0B;AAC/B,WAAK,2BAA2B;AAChC,cAAQ,IAAI,WAAW,KAAK,iBAAiB;AAC7C,cAAQ,IAAI,QAAQ,KAAK,WAAW;AACpC,WAAK,2BAA2B;AAAA,IACpC;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -3,9 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Boot, Environment } from "#general";
6
+ import { Environment } from "#general";
7
7
  import { NodeJsEnvironment } from "./NodeJsEnvironment.js";
8
- Boot.init(() => {
9
- Environment.default = NodeJsEnvironment();
10
- });
8
+ Environment.default = NodeJsEnvironment();
11
9
  //# sourceMappingURL=register.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/register.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAM,mBAAmB;AAClC,SAAS,yBAAyB;AAElC,KAAK,KAAK,MAAM;AACZ,cAAY,UAAU,kBAAkB;AAC5C,CAAC;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAElC,YAAY,UAAU,kBAAkB;",
5
5
  "names": []
6
6
  }
@@ -3,7 +3,6 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import "./register.js";
7
6
  export * from "./NodeJsNetwork.js";
8
7
  export * from "./NodeJsUdpChannel.js";
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/net/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,eAAe,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/net/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -3,7 +3,6 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import "./register.js";
7
6
  export * from "./NodeJsNetwork.js";
8
7
  export * from "./NodeJsUdpChannel.js";
9
8
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/net/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/nodejs",
3
- "version": "0.14.1-alpha.0-20250607-a93593303",
3
+ "version": "0.15.0-alpha.0-20250613-a55f991d4",
4
4
  "description": "Node.js platform support for matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -44,17 +44,17 @@
44
44
  "#*": "./src/*"
45
45
  },
46
46
  "dependencies": {
47
- "@matter/general": "0.14.1-alpha.0-20250607-a93593303",
48
- "@matter/node": "0.14.1-alpha.0-20250607-a93593303",
49
- "@matter/protocol": "0.14.1-alpha.0-20250607-a93593303",
50
- "@matter/types": "0.14.1-alpha.0-20250607-a93593303"
47
+ "@matter/general": "0.15.0-alpha.0-20250613-a55f991d4",
48
+ "@matter/node": "0.15.0-alpha.0-20250613-a55f991d4",
49
+ "@matter/protocol": "0.15.0-alpha.0-20250613-a55f991d4",
50
+ "@matter/types": "0.15.0-alpha.0-20250613-a55f991d4"
51
51
  },
52
52
  "devDependencies": {
53
- "@matter/model": "0.14.1-alpha.0-20250607-a93593303",
54
- "@matter/protocol": "0.14.1-alpha.0-20250607-a93593303",
55
- "@matter/tools": "0.14.1-alpha.0-20250607-a93593303",
56
- "@matter/testing": "0.14.1-alpha.0-20250607-a93593303",
57
- "@project-chip/matter.js": "0.14.1-alpha.0-20250607-a93593303",
53
+ "@matter/model": "0.15.0-alpha.0-20250613-a55f991d4",
54
+ "@matter/protocol": "0.15.0-alpha.0-20250613-a55f991d4",
55
+ "@matter/tools": "0.15.0-alpha.0-20250613-a55f991d4",
56
+ "@matter/testing": "0.15.0-alpha.0-20250613-a55f991d4",
57
+ "@project-chip/matter.js": "0.15.0-alpha.0-20250613-a55f991d4",
58
58
  "@types/bytebuffer": "^5.0.49"
59
59
  },
60
60
  "files": [
package/src/config.ts CHANGED
@@ -15,6 +15,8 @@ let initializeStorage = true;
15
15
  let trapProcessSignals = true;
16
16
  let trapUnhandledErrors = true;
17
17
  let setProcessExitCodeOnError = true;
18
+ let installCrypto = true;
19
+ let installNetwork = true;
18
20
 
19
21
  export class NodeJsAlreadyInitializedError extends Error {}
20
22
 
@@ -120,6 +122,30 @@ export const config = {
120
122
  loadConfigFile = value;
121
123
  },
122
124
 
125
+ /**
126
+ * Enables installation of native node.js crypto implementation (default: true).
127
+ */
128
+ get installCrypto() {
129
+ return installCrypto;
130
+ },
131
+
132
+ set installCrypto(value: boolean) {
133
+ assertUninitialized("installNodeJsCrypto");
134
+ installCrypto = value;
135
+ },
136
+
137
+ /**
138
+ * Enables installation of node.js networking into default environment.
139
+ */
140
+ get installNetwork() {
141
+ return installNetwork;
142
+ },
143
+
144
+ set installNetwork(value: boolean) {
145
+ assertUninitialized("installNodeJsNetwork");
146
+ installNetwork = value;
147
+ },
148
+
123
149
  /**
124
150
  * Enables automatic initialization of storage on startup (default: true).
125
151
  *
@@ -17,11 +17,14 @@ import {
17
17
  CryptoDsaEncoding,
18
18
  CryptoVerifyError,
19
19
  PrivateKey,
20
+ PublicKey,
20
21
  asError,
21
22
  } from "#general";
22
23
  import * as crypto from "node:crypto";
23
24
 
24
- export class NodeJsCrypto extends Crypto {
25
+ export class NodeJsCrypto implements Crypto {
26
+ implementationName = "Node.js";
27
+
25
28
  encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array {
26
29
  const cipher = crypto.createCipheriv(CRYPTO_ENCRYPT_ALGORITHM, key, nonce, {
27
30
  authTagLength: CRYPTO_AUTH_TAG_LENGTH,
@@ -71,11 +74,7 @@ export class NodeJsCrypto extends Crypto {
71
74
  };
72
75
  }
73
76
 
74
- ecdhGenerateSecret(peerPublicKey: Uint8Array, ecdh: crypto.ECDH): Uint8Array {
75
- return new Uint8Array(ecdh.computeSecret(peerPublicKey));
76
- }
77
-
78
- hash(data: Uint8Array | Uint8Array[]): Uint8Array {
77
+ computeSha256(data: Uint8Array | Uint8Array[]): Uint8Array {
79
78
  const hasher = crypto.createHash(CRYPTO_HASH_ALGORITHM);
80
79
  if (Array.isArray(data)) {
81
80
  data.forEach(chunk => hasher.update(chunk));
@@ -85,7 +84,7 @@ export class NodeJsCrypto extends Crypto {
85
84
  return new Uint8Array(hasher.digest());
86
85
  }
87
86
 
88
- pbkdf2(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): Promise<Uint8Array> {
87
+ createPbkdf2Key(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): Promise<Uint8Array> {
89
88
  return new Promise<Uint8Array>((resolver, rejecter) => {
90
89
  crypto.pbkdf2(secret, salt, iteration, keyLength, CRYPTO_HASH_ALGORITHM, (error, key) => {
91
90
  if (error !== null) rejecter(error);
@@ -94,7 +93,7 @@ export class NodeJsCrypto extends Crypto {
94
93
  });
95
94
  }
96
95
 
97
- hkdf(
96
+ createHkdfKey(
98
97
  secret: Uint8Array,
99
98
  salt: Uint8Array,
100
99
  info: Uint8Array,
@@ -108,13 +107,13 @@ export class NodeJsCrypto extends Crypto {
108
107
  });
109
108
  }
110
109
 
111
- hmac(key: Uint8Array, data: Uint8Array): Uint8Array {
110
+ signHmac(key: Uint8Array, data: Uint8Array): Uint8Array {
112
111
  const hmac = crypto.createHmac(CRYPTO_HASH_ALGORITHM, key);
113
112
  hmac.update(data);
114
113
  return new Uint8Array(hmac.digest());
115
114
  }
116
115
 
117
- sign(
116
+ signEcdsa(
118
117
  privateKey: JsonWebKey,
119
118
  data: Uint8Array | Uint8Array[],
120
119
  dsaEncoding: CryptoDsaEncoding = "ieee-p1363",
@@ -135,7 +134,7 @@ export class NodeJsCrypto extends Crypto {
135
134
  );
136
135
  }
137
136
 
138
- verify(
137
+ verifyEcdsa(
139
138
  publicKey: JsonWebKey,
140
139
  data: Uint8Array,
141
140
  signature: Uint8Array,
@@ -156,6 +155,7 @@ export class NodeJsCrypto extends Crypto {
156
155
  }
157
156
 
158
157
  createKeyPair() {
158
+ // Note that we this key may be used for DH or DSA but we use an ECDH to generate
159
159
  const ecdh = crypto.createECDH(CRYPTO_EC_CURVE);
160
160
  ecdh.generateKeys();
161
161
 
@@ -167,4 +167,11 @@ export class NodeJsCrypto extends Crypto {
167
167
 
168
168
  return PrivateKey(privateKey, { publicKey: ecdh.getPublicKey() });
169
169
  }
170
+
171
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey) {
172
+ const ecdh = crypto.createECDH(CRYPTO_EC_CURVE);
173
+ ecdh.setPrivateKey(key.privateBits);
174
+
175
+ return ecdh.computeSecret(peerKey.publicBits);
176
+ }
170
177
  }
@@ -4,5 +4,4 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import "./register.js";
8
7
  export * from "./NodeJsCrypto.js";
@@ -5,8 +5,11 @@
5
5
  */
6
6
 
7
7
  import { config } from "#config.js";
8
+ import { NodeJsCrypto } from "#crypto/NodeJsCrypto.js";
8
9
  import {
9
10
  asError,
11
+ Boot,
12
+ Crypto,
10
13
  Environment,
11
14
  ImplementationError,
12
15
  LogFormat,
@@ -48,13 +51,16 @@ import { ProcessManager } from "./ProcessManager.js";
48
51
  * 4. Command line parameters
49
52
  *
50
53
  * The following variables are defined by this class additionally to {@link Environment}:
51
- * * `environment` - Name of the environment, Default "default"
54
+ * * `environment` - Name of the environment. Default "default"
52
55
  * * `path.root` - Path considered as root for any files to store, Fallback: ".", Default: APPDATA/.matter (Windows), HOME/.matter else (or .matter-<envname>)
53
56
  * * `path.config` - Path to config file, Default: "config.json"
54
- * * `trace.path` - Path of the trace file to write, Default: "trace.jsonl" relative to path.root
57
+ * * `trace.path` - Path of the trace file to write. Default: "trace.jsonl" relative to path.root
55
58
  * * `trace.enable` - Enable writing a trace file
56
59
  * * `storage.path` - Where to store storage files, Default: "path.root"
57
60
  * * `storage.clear` - Clear storage on start? Default: false
61
+ * * `nodejs.crypto` - Enables crypto implementation in this package. Default: true
62
+ * * `nodejs.network` - Enables network implementation in this package. Default: true
63
+ * * `nodejs.storage` - Enables file-based storage implementation in this package. Default: true
58
64
  * * `runtime.signals` - By default register SIGINT and SIGUSR2 (diag) handlers, set to false if not wanted
59
65
  * * `runtime.exitcode` - By default we set the process.exitcode to 0 (ok) or 1 (crash); set to false to disable
60
66
  * * `runtime.unhandlederrors` - By default we log unhandled errors to matter.js log; set to false to disable
@@ -63,6 +69,7 @@ export function NodeJsEnvironment() {
63
69
  const env = new Environment("default");
64
70
 
65
71
  loadVariables(env);
72
+ configureCrypto(env);
66
73
  configureRuntime(env);
67
74
  configureStorage(env);
68
75
  configureNetwork(env);
@@ -117,13 +124,33 @@ function loadVariables(env: Environment) {
117
124
  };
118
125
  }
119
126
 
127
+ function configureCrypto(env: Environment) {
128
+ if (!config.installCrypto || !(env.vars.boolean("nodejs.crypto") ?? true)) {
129
+ return;
130
+ }
131
+
132
+ Boot.init(() => {
133
+ Crypto.provider = () => new NodeJsCrypto();
134
+ });
135
+ }
136
+
137
+ function configureNetwork(env: Environment) {
138
+ if (!config.installNetwork || !(env.vars.boolean("nodejs.network") ?? true)) {
139
+ return;
140
+ }
141
+
142
+ Boot.init(() => {
143
+ env.set(Network, new NodeJsNetwork());
144
+ });
145
+ }
146
+
120
147
  function configureRuntime(env: Environment) {
121
148
  const processManager = new ProcessManager(env);
122
149
  env.set(ProcessManager, processManager);
123
150
  }
124
151
 
125
152
  function configureStorage(env: Environment) {
126
- if (!config.initializeStorage) {
153
+ if (!config.initializeStorage || !(env.vars.boolean("nodejs.storage") ?? true)) {
127
154
  return;
128
155
  }
129
156
 
@@ -137,10 +164,6 @@ function configureStorage(env: Environment) {
137
164
  new StorageBackendDisk(resolve(service.location ?? ".", namespace), env.vars.get("storage.clear", false));
138
165
  }
139
166
 
140
- function configureNetwork(env: Environment) {
141
- env.set(Network, new NodeJsNetwork());
142
- }
143
-
144
167
  export function loadConfigFile(vars: VariableService) {
145
168
  const configPath = vars.get("path.config", "config.json");
146
169
 
@@ -106,9 +106,8 @@ export class ProcessManager implements Destructable {
106
106
 
107
107
  protected interruptHandler = () => {
108
108
  this.uninstallInterruptHandlers();
109
- if (this.runtime.interrupt()) {
110
- this.installInterruptHandlers();
111
- }
109
+ this.installInterruptHandlers();
110
+ this.runtime.interrupt();
112
111
  };
113
112
 
114
113
  protected exitHandler = () => {
@@ -4,9 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { Boot, Environment } from "#general";
7
+ import { Environment } from "#general";
8
8
  import { NodeJsEnvironment } from "./NodeJsEnvironment.js";
9
9
 
10
- Boot.init(() => {
11
- Environment.default = NodeJsEnvironment();
12
- });
10
+ Environment.default = NodeJsEnvironment();
package/src/net/index.ts CHANGED
@@ -4,6 +4,5 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import "./register.js";
8
7
  export * from "./NodeJsNetwork.js";
9
8
  export * from "./NodeJsUdpChannel.js";
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2025 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
7
- //# sourceMappingURL=register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/crypto/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}