@matter/nodejs 0.16.6-alpha.0-20260121-bc6d62766 → 0.16.6-alpha.0-20260122-b5154bcb4

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 (150) hide show
  1. package/dist/cjs/config.d.ts +6 -0
  2. package/dist/cjs/config.d.ts.map +1 -1
  3. package/dist/cjs/config.js +14 -1
  4. package/dist/cjs/config.js.map +1 -1
  5. package/dist/cjs/environment/NodeJsEnvironment.d.ts +2 -1
  6. package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +1 -1
  7. package/dist/cjs/environment/NodeJsEnvironment.js +28 -10
  8. package/dist/cjs/environment/NodeJsEnvironment.js.map +1 -1
  9. package/dist/cjs/storage/StorageFactory.d.ts +52 -0
  10. package/dist/cjs/storage/StorageFactory.d.ts.map +1 -0
  11. package/dist/cjs/storage/StorageFactory.js +215 -0
  12. package/dist/cjs/storage/StorageFactory.js.map +6 -0
  13. package/dist/cjs/storage/fs/StorageBackendDisk.d.ts.map +1 -0
  14. package/dist/cjs/storage/{StorageBackendDisk.js.map → fs/StorageBackendDisk.js.map} +1 -1
  15. package/dist/cjs/storage/fs/StorageBackendJsonFile.d.ts.map +1 -0
  16. package/dist/cjs/storage/{StorageBackendJsonFile.js.map → fs/StorageBackendJsonFile.js.map} +1 -1
  17. package/dist/cjs/storage/fs/index.d.ts +8 -0
  18. package/dist/cjs/storage/fs/index.d.ts.map +1 -0
  19. package/dist/cjs/storage/fs/index.js +25 -0
  20. package/dist/cjs/storage/fs/index.js.map +6 -0
  21. package/dist/cjs/storage/index.d.ts +3 -2
  22. package/dist/cjs/storage/index.d.ts.map +1 -1
  23. package/dist/cjs/storage/index.js +3 -2
  24. package/dist/cjs/storage/index.js.map +1 -1
  25. package/dist/cjs/storage/sqlite/SqliteStorage.d.ts +105 -0
  26. package/dist/cjs/storage/sqlite/SqliteStorage.d.ts.map +1 -0
  27. package/dist/cjs/storage/sqlite/SqliteStorage.js +439 -0
  28. package/dist/cjs/storage/sqlite/SqliteStorage.js.map +6 -0
  29. package/dist/cjs/storage/sqlite/SqliteStorageError.d.ts +19 -0
  30. package/dist/cjs/storage/sqlite/SqliteStorageError.d.ts.map +1 -0
  31. package/dist/cjs/storage/sqlite/SqliteStorageError.js +38 -0
  32. package/dist/cjs/storage/sqlite/SqliteStorageError.js.map +6 -0
  33. package/dist/cjs/storage/sqlite/SqliteTypes.d.ts +67 -0
  34. package/dist/cjs/storage/sqlite/SqliteTypes.d.ts.map +1 -0
  35. package/dist/cjs/storage/sqlite/SqliteTypes.js +35 -0
  36. package/dist/cjs/storage/sqlite/SqliteTypes.js.map +6 -0
  37. package/dist/cjs/storage/sqlite/SqliteUtil.d.ts +33 -0
  38. package/dist/cjs/storage/sqlite/SqliteUtil.d.ts.map +1 -0
  39. package/dist/cjs/storage/sqlite/SqliteUtil.js +64 -0
  40. package/dist/cjs/storage/sqlite/SqliteUtil.js.map +6 -0
  41. package/dist/cjs/storage/sqlite/index.d.ts +10 -0
  42. package/dist/cjs/storage/sqlite/index.d.ts.map +1 -0
  43. package/dist/cjs/storage/sqlite/index.js +34 -0
  44. package/dist/cjs/storage/sqlite/index.js.map +6 -0
  45. package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts +17 -0
  46. package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts.map +1 -0
  47. package/dist/cjs/storage/sqlite/platform/BunSqlite.js +62 -0
  48. package/dist/cjs/storage/sqlite/platform/BunSqlite.js.map +6 -0
  49. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts +12 -0
  50. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts.map +1 -0
  51. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js +49 -0
  52. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js.map +6 -0
  53. package/dist/cjs/storage/sqlite/platform/PlatformSqlite.d.ts +8 -0
  54. package/dist/cjs/storage/sqlite/platform/PlatformSqlite.d.ts.map +1 -0
  55. package/dist/cjs/storage/sqlite/platform/PlatformSqlite.js +54 -0
  56. package/dist/cjs/storage/sqlite/platform/PlatformSqlite.js.map +6 -0
  57. package/dist/cjs/util/runtimeChecks.d.ts +14 -0
  58. package/dist/cjs/util/runtimeChecks.d.ts.map +1 -0
  59. package/dist/cjs/util/runtimeChecks.js +45 -0
  60. package/dist/cjs/util/runtimeChecks.js.map +6 -0
  61. package/dist/esm/config.d.ts +6 -0
  62. package/dist/esm/config.d.ts.map +1 -1
  63. package/dist/esm/config.js +14 -1
  64. package/dist/esm/config.js.map +1 -1
  65. package/dist/esm/environment/NodeJsEnvironment.d.ts +2 -1
  66. package/dist/esm/environment/NodeJsEnvironment.d.ts.map +1 -1
  67. package/dist/esm/environment/NodeJsEnvironment.js +29 -10
  68. package/dist/esm/environment/NodeJsEnvironment.js.map +1 -1
  69. package/dist/esm/storage/StorageFactory.d.ts +52 -0
  70. package/dist/esm/storage/StorageFactory.d.ts.map +1 -0
  71. package/dist/esm/storage/StorageFactory.js +195 -0
  72. package/dist/esm/storage/StorageFactory.js.map +6 -0
  73. package/dist/esm/storage/fs/StorageBackendDisk.d.ts.map +1 -0
  74. package/dist/esm/storage/{StorageBackendDisk.js.map → fs/StorageBackendDisk.js.map} +1 -1
  75. package/dist/esm/storage/fs/StorageBackendJsonFile.d.ts.map +1 -0
  76. package/dist/esm/storage/{StorageBackendJsonFile.js.map → fs/StorageBackendJsonFile.js.map} +1 -1
  77. package/dist/esm/storage/fs/index.d.ts +8 -0
  78. package/dist/esm/storage/fs/index.d.ts.map +1 -0
  79. package/dist/esm/storage/fs/index.js +8 -0
  80. package/dist/esm/storage/fs/index.js.map +6 -0
  81. package/dist/esm/storage/index.d.ts +3 -2
  82. package/dist/esm/storage/index.d.ts.map +1 -1
  83. package/dist/esm/storage/index.js +3 -2
  84. package/dist/esm/storage/index.js.map +1 -1
  85. package/dist/esm/storage/sqlite/SqliteStorage.d.ts +105 -0
  86. package/dist/esm/storage/sqlite/SqliteStorage.d.ts.map +1 -0
  87. package/dist/esm/storage/sqlite/SqliteStorage.js +423 -0
  88. package/dist/esm/storage/sqlite/SqliteStorage.js.map +6 -0
  89. package/dist/esm/storage/sqlite/SqliteStorageError.d.ts +19 -0
  90. package/dist/esm/storage/sqlite/SqliteStorageError.d.ts.map +1 -0
  91. package/dist/esm/storage/sqlite/SqliteStorageError.js +18 -0
  92. package/dist/esm/storage/sqlite/SqliteStorageError.js.map +6 -0
  93. package/dist/esm/storage/sqlite/SqliteTypes.d.ts +67 -0
  94. package/dist/esm/storage/sqlite/SqliteTypes.d.ts.map +1 -0
  95. package/dist/esm/storage/sqlite/SqliteTypes.js +15 -0
  96. package/dist/esm/storage/sqlite/SqliteTypes.js.map +6 -0
  97. package/dist/esm/storage/sqlite/SqliteUtil.d.ts +33 -0
  98. package/dist/esm/storage/sqlite/SqliteUtil.d.ts.map +1 -0
  99. package/dist/esm/storage/sqlite/SqliteUtil.js +44 -0
  100. package/dist/esm/storage/sqlite/SqliteUtil.js.map +6 -0
  101. package/dist/esm/storage/sqlite/index.d.ts +10 -0
  102. package/dist/esm/storage/sqlite/index.d.ts.map +1 -0
  103. package/dist/esm/storage/sqlite/index.js +14 -0
  104. package/dist/esm/storage/sqlite/index.js.map +6 -0
  105. package/dist/esm/storage/sqlite/platform/BunSqlite.d.ts +17 -0
  106. package/dist/esm/storage/sqlite/platform/BunSqlite.d.ts.map +1 -0
  107. package/dist/esm/storage/sqlite/platform/BunSqlite.js +32 -0
  108. package/dist/esm/storage/sqlite/platform/BunSqlite.js.map +6 -0
  109. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.d.ts +12 -0
  110. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.d.ts.map +1 -0
  111. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js +29 -0
  112. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js.map +6 -0
  113. package/dist/esm/storage/sqlite/platform/PlatformSqlite.d.ts +8 -0
  114. package/dist/esm/storage/sqlite/platform/PlatformSqlite.d.ts.map +1 -0
  115. package/dist/esm/storage/sqlite/platform/PlatformSqlite.js +24 -0
  116. package/dist/esm/storage/sqlite/platform/PlatformSqlite.js.map +6 -0
  117. package/dist/esm/util/runtimeChecks.d.ts +14 -0
  118. package/dist/esm/util/runtimeChecks.d.ts.map +1 -0
  119. package/dist/esm/util/runtimeChecks.js +25 -0
  120. package/dist/esm/util/runtimeChecks.js.map +6 -0
  121. package/package.json +10 -10
  122. package/src/config.ts +18 -4
  123. package/src/environment/NodeJsEnvironment.ts +41 -12
  124. package/src/net/NodeJsHttpEndpoint.ts +1 -1
  125. package/src/storage/StorageFactory.ts +310 -0
  126. package/src/storage/fs/index.ts +8 -0
  127. package/src/storage/index.ts +3 -2
  128. package/src/storage/sqlite/SqliteStorage.ts +572 -0
  129. package/src/storage/sqlite/SqliteStorageError.ts +23 -0
  130. package/src/storage/sqlite/SqliteTypes.ts +75 -0
  131. package/src/storage/sqlite/SqliteUtil.ts +61 -0
  132. package/src/storage/sqlite/index.ts +10 -0
  133. package/src/storage/sqlite/platform/BunSqlite.ts +40 -0
  134. package/src/storage/sqlite/platform/NodeJsSqlite.ts +35 -0
  135. package/src/storage/sqlite/platform/PlatformSqlite.ts +52 -0
  136. package/src/util/runtimeChecks.ts +31 -0
  137. package/dist/cjs/storage/StorageBackendDisk.d.ts.map +0 -1
  138. package/dist/cjs/storage/StorageBackendJsonFile.d.ts.map +0 -1
  139. package/dist/esm/storage/StorageBackendDisk.d.ts.map +0 -1
  140. package/dist/esm/storage/StorageBackendJsonFile.d.ts.map +0 -1
  141. /package/dist/cjs/storage/{StorageBackendDisk.d.ts → fs/StorageBackendDisk.d.ts} +0 -0
  142. /package/dist/cjs/storage/{StorageBackendDisk.js → fs/StorageBackendDisk.js} +0 -0
  143. /package/dist/cjs/storage/{StorageBackendJsonFile.d.ts → fs/StorageBackendJsonFile.d.ts} +0 -0
  144. /package/dist/cjs/storage/{StorageBackendJsonFile.js → fs/StorageBackendJsonFile.js} +0 -0
  145. /package/dist/esm/storage/{StorageBackendDisk.d.ts → fs/StorageBackendDisk.d.ts} +0 -0
  146. /package/dist/esm/storage/{StorageBackendDisk.js → fs/StorageBackendDisk.js} +0 -0
  147. /package/dist/esm/storage/{StorageBackendJsonFile.d.ts → fs/StorageBackendJsonFile.d.ts} +0 -0
  148. /package/dist/esm/storage/{StorageBackendJsonFile.js → fs/StorageBackendJsonFile.js} +0 -0
  149. /package/src/storage/{StorageBackendDisk.ts → fs/StorageBackendDisk.ts} +0 -0
  150. /package/src/storage/{StorageBackendJsonFile.ts → fs/StorageBackendJsonFile.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/config.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -37,9 +37,10 @@ import { Environment, VariableService } from "#general";
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
+ * * `storage.driver` - Storage driver to use: "file" (default) or "sqlite" (requires Node.js v22+). Automatically migrates data when switching drivers.
40
41
  * * `nodejs.crypto` - Enables crypto implementation in this package. Default: true
41
42
  * * `nodejs.network` - Enables network implementation in this package. Default: true
42
- * * `nodejs.storage` - Enables file-based storage implementation in this package. Default: true
43
+ * * `nodejs.storage` - Enables storage implementation in this package. Default: true
43
44
  * * `runtime.signals` - By default register SIGINT and SIGUSR2 (diag) handlers, set to false if not wanted
44
45
  * * `runtime.exitcode` - By default we set the process.exitcode to 0 (ok) or 1 (crash); set to false to disable
45
46
  * * `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;AAIH,OAAO,EAKH,WAAW,EAQX,eAAe,EAClB,MAAM,UAAU,CAAC;AASlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,iBAAiB,gBAqBhC;AAyGD,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,EAKH,WAAW,EASX,eAAe,EAClB,MAAM,UAAU,CAAC;AAalB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,iBAAiB,gBAqBhC;AAgID,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe;;;EAsBnD;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;EAiBhD"}
@@ -17,14 +17,16 @@ import {
17
17
  Logger,
18
18
  Network,
19
19
  ServiceBundle,
20
+ StandardCrypto,
20
21
  StorageService
21
22
  } from "#general";
22
23
  import { NodeJsHttpEndpoint } from "#net/NodeJsHttpEndpoint.js";
24
+ import { StorageFactory } from "#storage/index.js";
25
+ import { isBunjs } from "#util/runtimeChecks.js";
23
26
  import { existsSync, readFileSync } from "node:fs";
24
27
  import { writeFile } from "node:fs/promises";
25
28
  import { resolve } from "node:path";
26
29
  import { NodeJsNetwork } from "../net/NodeJsNetwork.js";
27
- import { StorageBackendDisk } from "../storage/StorageBackendDisk.js";
28
30
  import { ProcessManager } from "./ProcessManager.js";
29
31
  function NodeJsEnvironment() {
30
32
  const env = new Environment("default");
@@ -73,16 +75,21 @@ function rootDirOf(env) {
73
75
  function configureCrypto(env) {
74
76
  Boot.init(() => {
75
77
  if (config.installCrypto || (env.vars.boolean("nodejs.crypto") ?? true)) {
76
- const crypto = new NodeJsCrypto();
78
+ let crypto;
79
+ if (!isBunjs()) {
80
+ crypto = new NodeJsCrypto();
81
+ } else {
82
+ crypto = new StandardCrypto(global.crypto);
83
+ }
77
84
  env.set(Entropy, crypto);
78
85
  env.set(Crypto, crypto);
79
- } else {
80
- if (Environment.default.has(Entropy)) {
81
- env.set(Entropy, Environment.default.get(Entropy));
82
- }
83
- if (Environment.default.has(Crypto)) {
84
- env.set(Crypto, Environment.default.get(Crypto));
85
- }
86
+ return;
87
+ }
88
+ if (Environment.default.has(Entropy)) {
89
+ env.set(Entropy, Environment.default.get(Entropy));
90
+ }
91
+ if (Environment.default.has(Crypto)) {
92
+ env.set(Crypto, Environment.default.get(Crypto));
86
93
  }
87
94
  });
88
95
  }
@@ -117,7 +124,19 @@ function configureStorage(env) {
117
124
  env.vars.use(() => {
118
125
  service.location = env.vars.get("storage.path", rootDirOf(env));
119
126
  });
120
- service.factory = (namespace) => new StorageBackendDisk(resolve(service.location ?? ".", namespace), env.vars.get("storage.clear", false));
127
+ const shouldClear = env.vars.get("storage.clear", false);
128
+ let storageDriver = config.storageDriver ?? env.vars.string("storage.driver") ?? "file";
129
+ if (storageDriver.length === 0) {
130
+ storageDriver = "file";
131
+ }
132
+ service.factory = async (namespace) => {
133
+ return await StorageFactory.create({
134
+ driver: storageDriver,
135
+ rootDir: service.location ?? ".",
136
+ namespace,
137
+ clear: shouldClear
138
+ });
139
+ };
121
140
  service.resolve = (...paths) => resolve(rootDirOf(env), ...paths);
122
141
  }
123
142
  function loadConfigFile(vars) {
@@ -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
  }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { StorageBackendDisk } from "./fs/StorageBackendDisk.js";
7
+ /**
8
+ * Storage Types which is implemented.
9
+ */
10
+ export declare enum StorageType {
11
+ FILE = "file",
12
+ SQLITE = "sqlite"
13
+ }
14
+ /**
15
+ * Factory for creating storage backends with automatic migration support.
16
+ *
17
+ * Provides a unified interface for creating different storage implementations
18
+ * (file-based, SQLite) with seamless migration between storage types.
19
+ *
20
+ * @see {@link StorageType} for available storage types
21
+ * @see {@link create} for creating storage instances
22
+ */
23
+ export declare namespace StorageFactory {
24
+ /**
25
+ * Creates a storage instance with automatic migration support.
26
+ *
27
+ * It is also initialized while creating.
28
+ *
29
+ * This is the main entry point for creating storage backends.
30
+ * It handles:
31
+ * - Directory creation if not exists
32
+ * - Automatic migration from other storage types
33
+ * - Backup of original data
34
+ */
35
+ function create(args: {
36
+ driver: StorageType | string;
37
+ rootDir: string;
38
+ namespace: string;
39
+ clear?: boolean;
40
+ }): Promise<StorageBackendDisk | import("./sqlite/SqliteStorage.js").SqliteStorage>;
41
+ /**
42
+ * Remove the storage instance completely.
43
+ *
44
+ * use `storage.clear()` for clearing without remove completely.
45
+ */
46
+ function remove(args: {
47
+ driver: StorageType | string;
48
+ rootDir: string;
49
+ namespace: string;
50
+ }): Promise<void>;
51
+ }
52
+ //# sourceMappingURL=StorageFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageFactory.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAKhE;;GAEG;AAEH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED;;;;;;;;GAQG;AACH,yBAAiB,cAAc,CAAC;IAG5B;;;;;;;;;;OAUG;IACH,SAAsB,MAAM,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACnB,mFA+EA;IAED;;;;OAIG;IACH,SAAsB,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,iBAWtG;CAgKJ"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { supportsSqlite } from "#util/runtimeChecks.js";
7
+ import { Logger, StorageError, StorageMigration, toJson } from "@matter/general";
8
+ import { lstat, mkdir, rename, rm, writeFile } from "node:fs/promises";
9
+ import { resolve } from "node:path";
10
+ import { StorageBackendDisk } from "./fs/StorageBackendDisk.js";
11
+ import { PlatformSqlite } from "./sqlite/index.js";
12
+ const logger = new Logger("StorageFactory");
13
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
14
+ StorageType2["FILE"] = "file";
15
+ StorageType2["SQLITE"] = "sqlite";
16
+ return StorageType2;
17
+ })(StorageType || {});
18
+ var StorageFactory;
19
+ ((StorageFactory2) => {
20
+ const StorageTypes = ["file" /* FILE */, "sqlite" /* SQLITE */];
21
+ async function create(args) {
22
+ const { driver, namespace } = args;
23
+ const rootDir = resolve(args.rootDir);
24
+ const clear = args.clear ?? false;
25
+ const type = getStorageType(driver);
26
+ if (!await exists(rootDir)) {
27
+ await mkdir(rootDir, { recursive: true });
28
+ }
29
+ const path = getRealPath(type, rootDir, namespace);
30
+ if (clear || await exists(path)) {
31
+ return await createRawInit(type, path, clear);
32
+ }
33
+ const storage = await createRawInit(type, path, false);
34
+ const migrationRootDir = resolve(rootDir, ".migrations", getResultDirName(namespace));
35
+ for (const otherType of StorageTypes) {
36
+ if (type === otherType) {
37
+ continue;
38
+ }
39
+ if (otherType === "sqlite" /* SQLITE */ && !supportsSqlite()) {
40
+ continue;
41
+ }
42
+ const otherPath = getRealPath(otherType, rootDir, namespace);
43
+ if (!await hasStorage(otherType, otherPath)) {
44
+ continue;
45
+ }
46
+ try {
47
+ const otherStorage = await createRawInit(otherType, otherPath, false);
48
+ const migrationResult = await StorageMigration.migrate(otherStorage, storage);
49
+ await otherStorage.close();
50
+ const resultDir = resolve(migrationRootDir, otherType);
51
+ await mkdir(resultDir, { recursive: true });
52
+ await writeFile(resolve(resultDir, "migration.log"), StorageMigration.resultToLog(migrationResult));
53
+ await writeFile(
54
+ resolve(resultDir, "metadata.json"),
55
+ toJson(
56
+ getMetadata({
57
+ fromType: otherType,
58
+ fromPath: otherPath,
59
+ toType: type,
60
+ toPath: path,
61
+ result: migrationResult
62
+ }),
63
+ 4
64
+ )
65
+ );
66
+ const backupPath = getRealPath(otherType, resultDir, namespace);
67
+ await rename(otherPath, backupPath);
68
+ } catch (err) {
69
+ const errorMessage = err?.message ?? String(err);
70
+ logger.error(
71
+ `[migrate] Failed to migrate '${namespace}' from ${otherType} to ${type}!
72
+ Error: ${errorMessage}`
73
+ );
74
+ }
75
+ }
76
+ return storage;
77
+ }
78
+ StorageFactory2.create = create;
79
+ async function remove(args) {
80
+ const { driver, namespace } = args;
81
+ const rootDir = resolve(args.rootDir);
82
+ const type = getStorageType(driver);
83
+ const path = getRealPath(type, rootDir, namespace);
84
+ if (!await exists(path)) {
85
+ return;
86
+ }
87
+ await rm(path, { recursive: true, force: true });
88
+ }
89
+ StorageFactory2.remove = remove;
90
+ async function createRaw(type, path, clear) {
91
+ const normalizedType = type.toLowerCase();
92
+ if (normalizedType === "sqlite" /* SQLITE */) {
93
+ if (!supportsSqlite()) {
94
+ throw new Error(
95
+ `SQLite storage is not supported in this environment.
96
+ Node.js v22+ is required for SQLite support.
97
+ Current version: ${process.version}
98
+ `.replace(/\n\s+/g, "\n")
99
+ );
100
+ }
101
+ return await PlatformSqlite(path, clear);
102
+ }
103
+ if (normalizedType === "file" /* FILE */) {
104
+ return new StorageBackendDisk(path, clear);
105
+ }
106
+ throw new Error(`'${type}' storage type is not implemented.`);
107
+ }
108
+ async function createRawInit(type, path, clear) {
109
+ const storage = await createRaw(type, path, clear);
110
+ await storage.initialize();
111
+ return storage;
112
+ }
113
+ async function hasStorage(type, path) {
114
+ try {
115
+ const pathStat = await lstat(path);
116
+ switch (type) {
117
+ case "file" /* FILE */:
118
+ return pathStat.isDirectory();
119
+ case "sqlite" /* SQLITE */:
120
+ return pathStat.isFile();
121
+ default:
122
+ return false;
123
+ }
124
+ } catch (err) {
125
+ return false;
126
+ }
127
+ }
128
+ function getResultDirName(namespace) {
129
+ const timestamp = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace(/[-:]/g, "").replace("T", "_").substring(2);
130
+ return `${namespace}_${timestamp}_${generateRandomId()}`;
131
+ }
132
+ function getMetadata(args) {
133
+ const migrationResult = args.result;
134
+ return {
135
+ version: "1.0.0",
136
+ timestamp: Date.now(),
137
+ source: {
138
+ type: args.fromType,
139
+ path: args.fromPath
140
+ },
141
+ target: {
142
+ type: args.toType,
143
+ path: args.toPath
144
+ },
145
+ result: {
146
+ success: migrationResult.success,
147
+ migratedCount: migrationResult.migratedCount,
148
+ skippedCount: migrationResult.skippedCount,
149
+ totalItems: migrationResult.migratedCount + migrationResult.skippedCount
150
+ }
151
+ };
152
+ }
153
+ function getStorageType(inputType) {
154
+ for (const storageType of StorageTypes) {
155
+ if (storageType === inputType.toLowerCase()) {
156
+ return storageType;
157
+ }
158
+ }
159
+ throw new StorageError(`Unknown '${inputType}' type storage!`);
160
+ }
161
+ function getRealPath(type, rootDir, namespaces) {
162
+ const namespaceArr = typeof namespaces === "string" ? [namespaces] : namespaces;
163
+ switch (type) {
164
+ case "file" /* FILE */:
165
+ return resolve(rootDir, ...namespaceArr);
166
+ case "sqlite" /* SQLITE */:
167
+ const lastIndex = namespaceArr.length - 1;
168
+ namespaceArr[lastIndex] += ".db";
169
+ return resolve(rootDir, ...namespaceArr);
170
+ default:
171
+ throw new Error(`NOT IMPLEMENTED ${type} type.`);
172
+ }
173
+ }
174
+ function generateRandomId() {
175
+ const characters = "abcdefghijklmnopqrstuvwxyz0123456789";
176
+ let result = "";
177
+ for (let i = 0; i < 6; i += 1) {
178
+ result += characters.charAt(Math.floor(Math.random() * characters.length));
179
+ }
180
+ return result;
181
+ }
182
+ async function exists(path) {
183
+ try {
184
+ await lstat(resolve(path));
185
+ return true;
186
+ } catch (err) {
187
+ return false;
188
+ }
189
+ }
190
+ })(StorageFactory || (StorageFactory = {}));
191
+ export {
192
+ StorageFactory,
193
+ StorageType
194
+ };
195
+ //# sourceMappingURL=StorageFactory.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/storage/StorageFactory.ts"],
4
+ "mappings": "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",
5
+ "names": ["StorageType", "StorageFactory"]
6
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageBackendDisk.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/StorageBackendDisk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EAKL,OAAO,EAEP,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAmBlB,qBAAa,kBAAmB,SAAQ,OAAO;;IAG3C,SAAS,CAAC,aAAa,UAAS;gBAIpB,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ;IAMvC,IAAI,WAAW,YAEd;IAEK,UAAU;IA0DV,KAAK;IAKX,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAInB,KAAK;IAOX,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,iBAAiB,UAAQ;IAY/D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAWhC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D,GAAG,CAAC,CAAC,SAAS,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkB7F,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;IAIlF,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IACjF,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoG/E,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAW5C,yEAAyE;IACnE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;IAKvB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IAmB/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAKhC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;CA0BpC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/storage/StorageBackendDisk.ts"],
3
+ "sources": ["../../../../src/storage/fs/StorageBackendDisk.ts"],
4
4
  "mappings": "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",
5
5
  "names": ["value", "name"]
6
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageBackendJsonFile.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/StorageBackendJsonFile.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,oBAAoB,EAAgB,qBAAqB,EAAgB,MAAM,UAAU,CAAC;AAItH,qBAAa,sBAAuB,SAAQ,oBAAoB;IAWhD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVjC,2GAA2G;IAC3G,MAAM,CAAC,WAAW,8BAAe;IACjC,SAAS,gBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IACF,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAa;gBAET,IAAI,EAAE,MAAM;WAInB,MAAM,CAAC,IAAI,EAAE,MAAM;IAMhC,UAAU;IAcnB,OAAO,CAAC,aAAa;IASZ,GAAG,CACR,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC3D,KAAK,CAAC,EAAE,qBAAqB,GAC9B,IAAI;IAKE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7C,KAAK,IAAI,IAAI;YAKR,MAAM;IAcL,KAAK;IAQpB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;CAGnB"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/storage/StorageBackendJsonFile.ts"],
3
+ "sources": ["../../../../src/storage/fs/StorageBackendJsonFile.ts"],
4
4
  "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,UAAU,SAAS,sBAAsB,cAAqC,MAAM,cAAc;AAC3G,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAEnB,MAAM,+BAA+B,qBAAqB;AAAA,EAW7D,YAA6B,MAAc;AACvC,UAAM;AADmB;AAAA,EAE7B;AAAA;AAAA,EAXA,OAAO,cAAc,QAAQ;AAAA,EAC7B,YAAY,QAAQ,QAAQ;AAAA,EAEX,cAAc,KAAK;AAAA,IAAS;AAAA,IAAkB,uBAAuB;AAAA,IAAa,MAC/F,KAAK,OAAO;AAAA,EAChB;AAAA,EACQ,SAAS;AAAA,EACT;AAAA,EAMR,aAAsB,OAAO,MAAc;AACvC,UAAM,UAAU,IAAI,KAAK,IAAI;AAC7B,YAAQ,WAAW;AACnB,WAAO;AAAA,EACX;AAAA,EAES,aAAa;AAClB,QAAI,KAAK,YAAa,OAAM,IAAI,aAAa,8BAA8B;AAC3E,UAAM,WAAW;AACjB,QAAI;AACA,WAAK,QAAQ,KAAK,SAAS,aAAa,KAAK,MAAM,OAAO,CAAC;AAAA,IAC/D,SAAS,OAAY;AAEjB,UAAI,MAAM,SAAS,UAAU;AACzB,cAAM;AAAA,MACV;AAAA,IACJ;AACA,SAAK,gBAAgB;AAAA,EACzB;AAAA,EAEQ,gBAAgB;AACpB,QAAI,CAAC,KAAK,YAAY,WAAW;AAC7B,WAAK,YAAY,IAAI,QAAQ,aAAW;AACpC,aAAK,mBAAmB;AAAA,MAC5B,CAAC;AACD,WAAK,YAAY,MAAM;AAAA,IAC3B;AAAA,EACJ;AAAA,EAES,IACL,UACA,aACA,OACI;AACJ,UAAM,IAAI,UAAU,aAAa,KAAK;AACtC,SAAK,cAAc;AAAA,EACvB;AAAA,EAES,OAAO,UAAoB,KAAmB;AACnD,UAAM,OAAO,UAAU,GAAG;AAC1B,SAAK,cAAc;AAAA,EACvB;AAAA,EAES,QAAc;AACnB,UAAM,MAAM;AACZ,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,MAAc,SAAS;AACnB,QAAI,CAAC,KAAK,eAAe,KAAK,OAAQ;AACtC,QAAI,KAAK,YAAY,WAAW;AAC5B,WAAK,YAAY,KAAK;AAAA,IAC1B;AACA,QAAI;AACA,YAAM,UAAU,KAAK,MAAM,KAAK,OAAO,KAAK,KAAK,GAAG,OAAO;AAAA,IAC/D,UAAE;AACE,UAAI,KAAK,qBAAqB,QAAW;AACrC,aAAK,mBAAmB;AAAA,MAC5B;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,YAAY,KAAK;AACtB,UAAM,KAAK,OAAO;AAClB,UAAM,MAAM,MAAM;AAClB,SAAK,SAAS;AACd,SAAK,gBAAgB;AAAA,EACzB;AAAA,EAEQ,OAAO,QAAqB;AAChC,WAAO,OAAO,QAAQ,CAAC;AAAA,EAC3B;AAAA,EAEQ,SAAS,MAAmB;AAChC,WAAO,SAAS,IAAI;AAAA,EACxB;AACJ;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./StorageBackendDisk.js";
7
+ export * from "./StorageBackendJsonFile.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/fs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./StorageBackendDisk.js";
7
+ export * from "./StorageBackendJsonFile.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/storage/fs/index.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./StorageBackendDisk.js";
7
- export * from "./StorageBackendJsonFile.js";
6
+ export * from "./fs/index.js";
7
+ export * from "./sqlite/index.js";
8
+ export * from "./StorageFactory.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./StorageBackendDisk.js";
7
- export * from "./StorageBackendJsonFile.js";
6
+ export * from "./fs/index.js";
7
+ export * from "./sqlite/index.js";
8
+ export * from "./StorageFactory.js";
8
9
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/storage/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,105 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type Bytes, type CloneableStorage, type SupportedStorageTypes, Storage } from "@matter/general";
7
+ import type { DatabaseCreator, DatabaseLike, SafeUint8Array } from "./SqliteTypes.js";
8
+ import { SqliteTransaction as Transaction } from "./SqliteTypes.js";
9
+ /**
10
+ * Type of Key-Value store table
11
+ *
12
+ * T means JSON or BLOB type
13
+ */
14
+ type KVStoreType<T extends string | SafeUint8Array = string | SafeUint8Array> = {
15
+ context: string;
16
+ key: string;
17
+ value_type: T extends string ? "json" : "blob";
18
+ value_json: T extends string ? string : null;
19
+ value_blob: T extends SafeUint8Array ? SafeUint8Array : null;
20
+ };
21
+ /**
22
+ * SQLite implementation of `StorageBackendDisk.ts`
23
+ *
24
+ * `DatabaseCreator` is need to use (sqlite).
25
+ *
26
+ * Supports `node:sqlite`, `bun:sqlite`. (maybe also `better-sqlite3` support)
27
+ */
28
+ export declare class SqliteStorage extends Storage implements CloneableStorage {
29
+ #private;
30
+ static readonly memoryPath = ":memory:";
31
+ static readonly defaultTableName = "kvstore";
32
+ protected isInitialized: boolean;
33
+ protected readonly database: DatabaseLike;
34
+ protected readonly dbPath: string;
35
+ protected readonly tableName: string;
36
+ protected readonly clearOnInit: boolean;
37
+ protected readonly databaseCreator: DatabaseCreator;
38
+ /**
39
+ * Create sqlite-based disk
40
+ *
41
+ * @param args.databaseCreator database instance creator
42
+ * @param args.path Database path (treats `null` as `:memory:`, DO NOT input `:memory:` directly)
43
+ * @param args.clear Clear on init
44
+ * @param args.tableName table name
45
+ */
46
+ constructor(args: {
47
+ databaseCreator: DatabaseCreator;
48
+ path: string | null;
49
+ tableName?: string;
50
+ clear?: boolean;
51
+ });
52
+ /**
53
+ * Manual transaction control
54
+ *
55
+ * Use this for explicit transaction management across multiple operations.
56
+ * Internal methods like `set()` will automatically detect and use external transactions.
57
+ *
58
+ * TODO: Sync transaction to native matter.js API
59
+ */
60
+ transaction(mode: Transaction): void;
61
+ protected withAnyTransaction<T>(callback: () => T): T;
62
+ get initialized(): boolean;
63
+ initialize(): Promise<void>;
64
+ clone(): Storage;
65
+ close(): void;
66
+ get<T extends SupportedStorageTypes>(contexts: string[], key: string): T | null | undefined;
67
+ protected getRawAll(): KVStoreType<string | SafeUint8Array>[];
68
+ set(contexts: string[], key: string, value: SupportedStorageTypes): void;
69
+ set(contexts: string[], values: Record<string, SupportedStorageTypes>): void;
70
+ /**
71
+ * Set [contexts, key] to value
72
+ * @param contexts Context
73
+ * @param key Key
74
+ * @param value Value
75
+ * @returns
76
+ */
77
+ protected setValue(contexts: string[], key: string, value: string): void;
78
+ /**
79
+ * Set Raw data. (for copy)
80
+ */
81
+ protected setRaw(rawData: KVStoreType[]): void;
82
+ delete(contexts: string[], key: string): void;
83
+ keys(contexts: string[]): string[];
84
+ values(contexts: string[]): Record<string, SupportedStorageTypes>;
85
+ /**
86
+ * Return sub contexts of context
87
+ * (search nested depth, return 1 depth of them)
88
+ * @param contexts context path
89
+ * @returns sub contexts
90
+ */
91
+ contexts(contexts: string[]): string[];
92
+ /**
93
+ * Should be implement to platform specific class
94
+ * when `completely = true`
95
+ *
96
+ * basic cleanup query for here.
97
+ */
98
+ clear(_completely?: boolean): Promise<void>;
99
+ clearAll(contexts: string[]): void;
100
+ has(contexts: string[], key: string): boolean;
101
+ openBlob(contexts: string[], key: string): Blob;
102
+ writeBlobFromStream(contexts: string[], key: string, stream: ReadableStream<Bytes>): Promise<void>;
103
+ }
104
+ export {};
105
+ //# sourceMappingURL=SqliteStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteStorage.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite/SqliteStorage.ts"],"names":[],"mappings":"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"}