pluresdb 1.0.1 → 1.3.0

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 (79) hide show
  1. package/README.md +100 -5
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/better-sqlite3-shared.d.ts +12 -0
  4. package/dist/better-sqlite3-shared.d.ts.map +1 -0
  5. package/dist/better-sqlite3-shared.js +143 -0
  6. package/dist/better-sqlite3-shared.js.map +1 -0
  7. package/dist/better-sqlite3.d.ts +4 -0
  8. package/dist/better-sqlite3.d.ts.map +1 -0
  9. package/dist/better-sqlite3.js +8 -0
  10. package/dist/better-sqlite3.js.map +1 -0
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +21 -16
  13. package/dist/cli.js.map +1 -1
  14. package/dist/node-index.d.ts +98 -2
  15. package/dist/node-index.d.ts.map +1 -1
  16. package/dist/node-index.js +312 -6
  17. package/dist/node-index.js.map +1 -1
  18. package/dist/node-wrapper.d.ts.map +1 -1
  19. package/dist/node-wrapper.js +5 -3
  20. package/dist/node-wrapper.js.map +1 -1
  21. package/dist/types/index.d.ts.map +1 -1
  22. package/dist/types/index.js.map +1 -1
  23. package/dist/types/node-types.d.ts +12 -0
  24. package/dist/types/node-types.d.ts.map +1 -1
  25. package/dist/types/node-types.js.map +1 -1
  26. package/dist/vscode/extension.d.ts.map +1 -1
  27. package/dist/vscode/extension.js +4 -4
  28. package/dist/vscode/extension.js.map +1 -1
  29. package/examples/basic-usage.d.ts +1 -1
  30. package/examples/vscode-extension-example/src/extension.ts +15 -6
  31. package/examples/vscode-extension-integration.d.ts +24 -17
  32. package/examples/vscode-extension-integration.js +140 -106
  33. package/examples/vscode-extension-integration.ts +1 -1
  34. package/{src → legacy}/benchmarks/memory-benchmarks.ts +85 -51
  35. package/{src → legacy}/benchmarks/run-benchmarks.ts +32 -10
  36. package/legacy/better-sqlite3-shared.ts +157 -0
  37. package/legacy/better-sqlite3.ts +4 -0
  38. package/{src → legacy}/cli.ts +14 -4
  39. package/{src → legacy}/config.ts +2 -1
  40. package/{src → legacy}/core/crdt.ts +4 -1
  41. package/{src → legacy}/core/database.ts +57 -22
  42. package/{src → legacy}/healthcheck.ts +11 -5
  43. package/{src → legacy}/http/api-server.ts +125 -21
  44. package/{src → legacy}/index.ts +2 -2
  45. package/{src → legacy}/logic/rules.ts +3 -1
  46. package/{src → legacy}/main.ts +11 -4
  47. package/legacy/node-index.ts +823 -0
  48. package/{src → legacy}/node-wrapper.ts +18 -9
  49. package/{src → legacy}/sqlite-compat.ts +63 -16
  50. package/{src → legacy}/sqlite3-compat.ts +2 -2
  51. package/{src → legacy}/storage/kv-storage.ts +3 -1
  52. package/{src → legacy}/tests/core.test.ts +37 -13
  53. package/{src → legacy}/tests/fixtures/test-data.json +6 -1
  54. package/{src → legacy}/tests/integration/api-server.test.ts +110 -8
  55. package/{src → legacy}/tests/integration/mesh-network.test.ts +8 -2
  56. package/{src → legacy}/tests/logic.test.ts +6 -2
  57. package/{src → legacy}/tests/performance/load.test.ts +4 -2
  58. package/{src → legacy}/tests/security/input-validation.test.ts +5 -1
  59. package/{src → legacy}/tests/unit/core.test.ts +13 -3
  60. package/{src → legacy}/tests/unit/subscriptions.test.ts +1 -1
  61. package/{src → legacy}/tests/vscode_extension_test.ts +39 -11
  62. package/{src → legacy}/types/node-types.ts +14 -0
  63. package/{src → legacy}/vscode/extension.ts +37 -14
  64. package/package.json +19 -9
  65. package/scripts/compiled-crud-verify.ts +3 -1
  66. package/scripts/dogfood.ts +55 -16
  67. package/scripts/postinstall.js +4 -3
  68. package/scripts/release-check.js +190 -0
  69. package/scripts/run-tests.ts +5 -2
  70. package/scripts/update-changelog.js +214 -0
  71. package/web/svelte/package.json +5 -5
  72. package/src/node-index.ts +0 -385
  73. /package/{src → legacy}/main.rs +0 -0
  74. /package/{src → legacy}/network/websocket-server.ts +0 -0
  75. /package/{src → legacy}/tests/fixtures/performance-data.json +0 -0
  76. /package/{src → legacy}/tests/unit/vector-search.test.ts +0 -0
  77. /package/{src → legacy}/types/index.ts +0 -0
  78. /package/{src → legacy}/util/debug.ts +0 -0
  79. /package/{src → legacy}/vector/index.ts +0 -0
package/dist/cli.js CHANGED
@@ -37,12 +37,16 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  return result;
38
38
  };
39
39
  })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
40
43
  Object.defineProperty(exports, "__esModule", { value: true });
41
44
  const node_wrapper_1 = require("./node-wrapper");
42
45
  const path = __importStar(require("path"));
43
46
  const fs = __importStar(require("fs"));
47
+ const node_process_1 = __importDefault(require("node:process"));
44
48
  // Parse command line arguments
45
- const args = process.argv.slice(2);
49
+ const args = node_process_1.default.argv.slice(2);
46
50
  const command = args[0];
47
51
  if (!command) {
48
52
  console.log(`
@@ -70,12 +74,12 @@ Examples:
70
74
  pluresdb query "SELECT * FROM users"
71
75
  pluresdb vsearch "machine learning"
72
76
  `);
73
- process.exit(0);
77
+ node_process_1.default.exit(0);
74
78
  }
75
79
  if (command === "--version") {
76
80
  const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "../package.json"), "utf8"));
77
81
  console.log(packageJson.version);
78
- process.exit(0);
82
+ node_process_1.default.exit(0);
79
83
  }
80
84
  if (command === "--help") {
81
85
  console.log(`
@@ -103,7 +107,7 @@ Examples:
103
107
  pluresdb query "SELECT * FROM users"
104
108
  pluresdb vsearch "machine learning"
105
109
  `);
106
- process.exit(0);
110
+ node_process_1.default.exit(0);
107
111
  }
108
112
  // Parse options
109
113
  const options = {};
@@ -132,7 +136,8 @@ async function main() {
132
136
  const config = {
133
137
  port: options.port ? parseInt(options.port) : 34567,
134
138
  host: options.host || "localhost",
135
- dataDir: options["data-dir"] || path.join(require("os").homedir(), ".pluresdb"),
139
+ dataDir: options["data-dir"] ||
140
+ path.join(require("os").homedir(), ".pluresdb"),
136
141
  webPort: options["web-port"] ? parseInt(options["web-port"]) : 34568,
137
142
  logLevel: options["log-level"] || "info",
138
143
  };
@@ -143,10 +148,10 @@ async function main() {
143
148
  console.log(`📁 Data: ${config.dataDir}`);
144
149
  console.log(`\nPress Ctrl+C to stop the server`);
145
150
  // Handle graceful shutdown
146
- process.on("SIGINT", async () => {
151
+ node_process_1.default.on("SIGINT", async () => {
147
152
  console.log("\n🛑 Shutting down PluresDB...");
148
153
  await plures.stop();
149
- process.exit(0);
154
+ node_process_1.default.exit(0);
150
155
  });
151
156
  // Keep the process alive
152
157
  await new Promise(() => { });
@@ -159,7 +164,7 @@ async function main() {
159
164
  case "put":
160
165
  if (args.length < 3) {
161
166
  console.error("Error: put command requires key and value");
162
- process.exit(1);
167
+ node_process_1.default.exit(1);
163
168
  }
164
169
  const key = args[1];
165
170
  const value = JSON.parse(args[2]);
@@ -169,7 +174,7 @@ async function main() {
169
174
  case "get":
170
175
  if (args.length < 2) {
171
176
  console.error("Error: get command requires key");
172
- process.exit(1);
177
+ node_process_1.default.exit(1);
173
178
  }
174
179
  const getKey = args[1];
175
180
  const result = await plures.get(getKey);
@@ -183,7 +188,7 @@ async function main() {
183
188
  case "delete":
184
189
  if (args.length < 2) {
185
190
  console.error("Error: delete command requires key");
186
- process.exit(1);
191
+ node_process_1.default.exit(1);
187
192
  }
188
193
  const deleteKey = args[1];
189
194
  await plures.delete(deleteKey);
@@ -192,7 +197,7 @@ async function main() {
192
197
  case "query":
193
198
  if (args.length < 2) {
194
199
  console.error("Error: query command requires SQL");
195
- process.exit(1);
200
+ node_process_1.default.exit(1);
196
201
  }
197
202
  const sql = args[1];
198
203
  const queryResult = await plures.query(sql);
@@ -201,7 +206,7 @@ async function main() {
201
206
  case "vsearch":
202
207
  if (args.length < 2) {
203
208
  console.error("Error: vsearch command requires query");
204
- process.exit(1);
209
+ node_process_1.default.exit(1);
205
210
  }
206
211
  const searchQuery = args[1];
207
212
  const limit = options.limit ? parseInt(options.limit) : 10;
@@ -217,7 +222,7 @@ async function main() {
217
222
  if (args[1] === "set") {
218
223
  if (args.length < 4) {
219
224
  console.error("Error: config set requires key and value");
220
- process.exit(1);
225
+ node_process_1.default.exit(1);
221
226
  }
222
227
  const configKey = args[2];
223
228
  const configValue = args[3];
@@ -232,7 +237,7 @@ async function main() {
232
237
  default:
233
238
  console.error(`Unknown command: ${command}`);
234
239
  console.log('Run "pluresdb --help" for usage information');
235
- process.exit(1);
240
+ node_process_1.default.exit(1);
236
241
  }
237
242
  }
238
243
  finally {
@@ -242,12 +247,12 @@ async function main() {
242
247
  }
243
248
  catch (error) {
244
249
  console.error("Error:", error instanceof Error ? error.message : String(error));
245
- process.exit(1);
250
+ node_process_1.default.exit(1);
246
251
  }
247
252
  }
248
253
  // Run the main function
249
254
  main().catch((error) => {
250
255
  console.error("Fatal error:", error instanceof Error ? error.message : String(error));
251
- process.exit(1);
256
+ node_process_1.default.exit(1);
252
257
  });
253
258
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../legacy/cli.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * This provides a clean API for VSCode extensions and other Node.js applications
4
4
  */
5
5
  import { EventEmitter } from "node:events";
6
- import { PluresDBOptions } from "./types/node-types";
6
+ import { BetterSQLite3Options, BetterSQLite3RunResult, Peer, PluresDBOptions, QueryResult } from "./types/node-types";
7
7
  export declare class PluresNode extends EventEmitter {
8
8
  private process;
9
9
  private config;
@@ -27,6 +27,31 @@ export declare class PluresNode extends EventEmitter {
27
27
  list(prefix?: string): Promise<string[]>;
28
28
  getConfig(): Promise<any>;
29
29
  setConfig(config: any): Promise<void>;
30
+ createIdentity(options: {
31
+ name: string;
32
+ email: string;
33
+ }): Promise<{
34
+ id: string;
35
+ publicKey: string;
36
+ }>;
37
+ searchPeers(query: string): Promise<Peer[]>;
38
+ shareNode(nodeId: string, targetPeerId: string, options?: {
39
+ accessLevel?: "read-only" | "read-write" | "admin";
40
+ }): Promise<{
41
+ sharedNodeId: string;
42
+ }>;
43
+ acceptSharedNode(sharedNodeId: string): Promise<{
44
+ success: boolean;
45
+ }>;
46
+ addDevice(device: {
47
+ name: string;
48
+ type: "laptop" | "phone" | "server" | "desktop";
49
+ }): Promise<{
50
+ id: string;
51
+ }>;
52
+ syncWithDevice(deviceId: string): Promise<{
53
+ success: boolean;
54
+ }>;
30
55
  }
31
56
  export declare class SQLiteCompatibleAPI {
32
57
  private plures;
@@ -45,8 +70,79 @@ export declare class SQLiteCompatibleAPI {
45
70
  getApiUrl(): string;
46
71
  getWebUrl(): string;
47
72
  isRunning(): boolean;
73
+ createIdentity(options: {
74
+ name: string;
75
+ email: string;
76
+ }): Promise<{
77
+ id: string;
78
+ publicKey: string;
79
+ }>;
80
+ searchPeers(query: string): Promise<Peer[]>;
81
+ shareNode(nodeId: string, targetPeerId: string, options?: {
82
+ accessLevel?: "read-only" | "read-write" | "admin";
83
+ }): Promise<{
84
+ sharedNodeId: string;
85
+ }>;
86
+ acceptSharedNode(sharedNodeId: string): Promise<{
87
+ success: boolean;
88
+ }>;
89
+ addDevice(device: {
90
+ name: string;
91
+ type: "laptop" | "phone" | "server" | "desktop";
92
+ }): Promise<{
93
+ id: string;
94
+ }>;
95
+ syncWithDevice(deviceId: string): Promise<{
96
+ success: boolean;
97
+ }>;
98
+ }
99
+ export declare class BetterSQLite3Statement {
100
+ private readonly database;
101
+ private readonly sql;
102
+ private boundParams;
103
+ private rawMode;
104
+ private pluckMode;
105
+ private expandMode;
106
+ readonly reader: boolean;
107
+ constructor(database: BetterSQLite3Database, sql: string);
108
+ get databaseInstance(): BetterSQLite3Database;
109
+ bind(...params: unknown[]): this;
110
+ raw(toggle?: boolean): this;
111
+ pluck(toggle?: boolean): this;
112
+ expand(toggle?: boolean): this;
113
+ safeIntegers(): this;
114
+ run(...params: unknown[]): Promise<BetterSQLite3RunResult>;
115
+ get(...params: unknown[]): Promise<unknown>;
116
+ all(...params: unknown[]): Promise<unknown[]>;
117
+ iterate(...params: unknown[]): AsyncIterableIterator<unknown>;
118
+ columns(): Promise<string[]>;
119
+ private resolveParams;
120
+ private fetchRows;
121
+ private transformRows;
122
+ }
123
+ export declare class BetterSQLite3Database {
124
+ private readonly options;
125
+ private readonly plures;
126
+ private readonly filename;
127
+ private readonly verbose?;
128
+ private openPromise;
129
+ private opened;
130
+ constructor(filenameOrOptions?: string | BetterSQLite3Options, maybeOptions?: BetterSQLite3Options);
131
+ get name(): string;
132
+ get isOpen(): boolean;
133
+ open(): Promise<this>;
134
+ close(): Promise<void>;
135
+ prepare(sql: string): BetterSQLite3Statement;
136
+ exec(sql: string): Promise<this>;
137
+ transaction<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult> | TResult): (...args: TArgs) => Promise<TResult>;
138
+ pragma(statement: string): Promise<unknown[]>;
139
+ defaultSafeIntegers(): this;
140
+ unsafeMode(): this;
141
+ executeStatement(sql: string, params: unknown[]): Promise<QueryResult>;
142
+ private ensureOpen;
143
+ private resolveOptions;
48
144
  }
49
145
  export { PluresNode as default };
50
146
  export * from "./types/node-types";
51
- export { PluresVSCodeExtension, createPluresExtension } from "./vscode/extension";
147
+ export { createPluresExtension, PluresVSCodeExtension, } from "./vscode/extension";
52
148
  //# sourceMappingURL=node-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-index.d.ts","sourceRoot":"","sources":["../src/node-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,OAAO,EAAkB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrE,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAc;gBAEhB,OAAO,GAAE,eAAoB;IAmBzC,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,kBAAkB;IASpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAiFd,aAAa;IAmBrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,OAAO;IAKpB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAcpD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAa9B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAcvD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAaxC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAUzB,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5C;AAGD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,CAAC,EAAE,eAAe;IAI/B,KAAK;IAIL,IAAI;IAKJ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO;IAInC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO;IAKnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO;IAKnC,IAAI,CAAC,GAAG,EAAE,MAAM;IAKhB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAI3B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK;IAItC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM;IAI1B,SAAS;IAIT,SAAS;IAIT,SAAS;CAGV;AAGD,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"node-index.d.ts","sourceRoot":"","sources":["../legacy/node-index.ts"],"names":[],"mappings":"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"}
@@ -43,14 +43,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
43
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.createPluresExtension = exports.PluresVSCodeExtension = exports.default = exports.SQLiteCompatibleAPI = exports.PluresNode = void 0;
46
+ exports.PluresVSCodeExtension = exports.createPluresExtension = exports.default = exports.BetterSQLite3Database = exports.BetterSQLite3Statement = exports.SQLiteCompatibleAPI = exports.PluresNode = void 0;
47
47
  const node_events_1 = require("node:events");
48
48
  const node_child_process_1 = require("node:child_process");
49
49
  const path = __importStar(require("node:path"));
50
50
  const fs = __importStar(require("node:fs"));
51
51
  const os = __importStar(require("node:os"));
52
52
  const node_process_1 = __importDefault(require("node:process"));
53
- const packageRoot = typeof __dirname !== "undefined" ? path.resolve(__dirname, "..") : node_process_1.default.cwd();
53
+ const better_sqlite3_shared_1 = require("./better-sqlite3-shared");
54
+ const packageRoot = typeof __dirname !== "undefined"
55
+ ? path.resolve(__dirname, "..")
56
+ : node_process_1.default.cwd();
54
57
  class PluresNode extends node_events_1.EventEmitter {
55
58
  process = null;
56
59
  config;
@@ -89,7 +92,7 @@ class PluresNode extends node_events_1.EventEmitter {
89
92
  return denoPath;
90
93
  }
91
94
  }
92
- catch (error) {
95
+ catch {
93
96
  // Continue to next path
94
97
  }
95
98
  }
@@ -97,7 +100,9 @@ class PluresNode extends node_events_1.EventEmitter {
97
100
  }
98
101
  isCommandAvailable(command) {
99
102
  try {
100
- require("child_process").execSync(`"${command}" --version`, { stdio: "ignore" });
103
+ require("child_process").execSync(`"${command}" --version`, {
104
+ stdio: "ignore",
105
+ });
101
106
  return true;
102
107
  }
103
108
  catch {
@@ -181,7 +186,7 @@ class PluresNode extends node_events_1.EventEmitter {
181
186
  return;
182
187
  }
183
188
  }
184
- catch (error) {
189
+ catch {
185
190
  // Server not ready yet
186
191
  }
187
192
  await new Promise((resolve) => setTimeout(resolve, 100));
@@ -295,6 +300,73 @@ class PluresNode extends node_events_1.EventEmitter {
295
300
  throw new Error(`Set config failed: ${response.statusText}`);
296
301
  }
297
302
  }
303
+ // P2P API methods
304
+ async createIdentity(options) {
305
+ const response = await fetch(`${this.apiUrl}/api/identity`, {
306
+ method: "POST",
307
+ headers: { "Content-Type": "application/json" },
308
+ body: JSON.stringify(options),
309
+ });
310
+ if (!response.ok) {
311
+ throw new Error(`Create identity failed: ${response.statusText}`);
312
+ }
313
+ return response.json();
314
+ }
315
+ async searchPeers(query) {
316
+ const response = await fetch(`${this.apiUrl}/api/peers/search?q=${encodeURIComponent(query)}`);
317
+ if (!response.ok) {
318
+ throw new Error(`Search peers failed: ${response.statusText}`);
319
+ }
320
+ return response.json();
321
+ }
322
+ async shareNode(nodeId, targetPeerId, options) {
323
+ const response = await fetch(`${this.apiUrl}/api/share`, {
324
+ method: "POST",
325
+ headers: { "Content-Type": "application/json" },
326
+ body: JSON.stringify({
327
+ nodeId,
328
+ targetPeerId,
329
+ accessLevel: options?.accessLevel || "read-only",
330
+ }),
331
+ });
332
+ if (!response.ok) {
333
+ throw new Error(`Share node failed: ${response.statusText}`);
334
+ }
335
+ return response.json();
336
+ }
337
+ async acceptSharedNode(sharedNodeId) {
338
+ const response = await fetch(`${this.apiUrl}/api/share/accept`, {
339
+ method: "POST",
340
+ headers: { "Content-Type": "application/json" },
341
+ body: JSON.stringify({ sharedNodeId }),
342
+ });
343
+ if (!response.ok) {
344
+ throw new Error(`Accept shared node failed: ${response.statusText}`);
345
+ }
346
+ return response.json();
347
+ }
348
+ async addDevice(device) {
349
+ const response = await fetch(`${this.apiUrl}/api/devices`, {
350
+ method: "POST",
351
+ headers: { "Content-Type": "application/json" },
352
+ body: JSON.stringify(device),
353
+ });
354
+ if (!response.ok) {
355
+ throw new Error(`Add device failed: ${response.statusText}`);
356
+ }
357
+ return response.json();
358
+ }
359
+ async syncWithDevice(deviceId) {
360
+ const response = await fetch(`${this.apiUrl}/api/devices/sync`, {
361
+ method: "POST",
362
+ headers: { "Content-Type": "application/json" },
363
+ body: JSON.stringify({ deviceId }),
364
+ });
365
+ if (!response.ok) {
366
+ throw new Error(`Sync with device failed: ${response.statusText}`);
367
+ }
368
+ return response.json();
369
+ }
298
370
  }
299
371
  exports.PluresNode = PluresNode;
300
372
  exports.default = PluresNode;
@@ -350,10 +422,244 @@ class SQLiteCompatibleAPI {
350
422
  isRunning() {
351
423
  return this.plures.isServerRunning();
352
424
  }
425
+ // P2P API methods
426
+ async createIdentity(options) {
427
+ return this.plures.createIdentity(options);
428
+ }
429
+ async searchPeers(query) {
430
+ return this.plures.searchPeers(query);
431
+ }
432
+ async shareNode(nodeId, targetPeerId, options) {
433
+ return this.plures.shareNode(nodeId, targetPeerId, options);
434
+ }
435
+ async acceptSharedNode(sharedNodeId) {
436
+ return this.plures.acceptSharedNode(sharedNodeId);
437
+ }
438
+ async addDevice(device) {
439
+ return this.plures.addDevice(device);
440
+ }
441
+ async syncWithDevice(deviceId) {
442
+ return this.plures.syncWithDevice(deviceId);
443
+ }
353
444
  }
354
445
  exports.SQLiteCompatibleAPI = SQLiteCompatibleAPI;
446
+ class BetterSQLite3Statement {
447
+ database;
448
+ sql;
449
+ boundParams;
450
+ rawMode = false;
451
+ pluckMode = false;
452
+ expandMode = false;
453
+ reader;
454
+ constructor(database, sql) {
455
+ this.database = database;
456
+ this.sql = sql;
457
+ this.reader = /^\s*select/i.test(sql);
458
+ }
459
+ get databaseInstance() {
460
+ return this.database;
461
+ }
462
+ bind(...params) {
463
+ this.boundParams = (0, better_sqlite3_shared_1.normalizeParameterInput)(params);
464
+ return this;
465
+ }
466
+ raw(toggle = true) {
467
+ this.rawMode = toggle;
468
+ if (toggle) {
469
+ this.pluckMode = false;
470
+ }
471
+ return this;
472
+ }
473
+ pluck(toggle = true) {
474
+ this.pluckMode = toggle;
475
+ if (toggle) {
476
+ this.expandMode = false;
477
+ this.rawMode = false;
478
+ }
479
+ return this;
480
+ }
481
+ expand(toggle = true) {
482
+ this.expandMode = toggle;
483
+ if (toggle) {
484
+ this.pluckMode = false;
485
+ }
486
+ return this;
487
+ }
488
+ safeIntegers() {
489
+ // No-op for compatibility with better-sqlite3 API
490
+ return this;
491
+ }
492
+ async run(...params) {
493
+ const result = await this.database.executeStatement(this.sql, this.resolveParams(params));
494
+ return {
495
+ changes: typeof result.changes === "number" ? result.changes : 0,
496
+ lastInsertRowid: typeof result.lastInsertRowId === "number"
497
+ ? result.lastInsertRowId
498
+ : null,
499
+ columns: result.columns,
500
+ };
501
+ }
502
+ async get(...params) {
503
+ const rows = await this.fetchRows(params);
504
+ return rows.length > 0 ? rows[0] : undefined;
505
+ }
506
+ async all(...params) {
507
+ return await this.fetchRows(params);
508
+ }
509
+ async *iterate(...params) {
510
+ const rows = await this.fetchRows(params);
511
+ for (const row of rows) {
512
+ yield row;
513
+ }
514
+ }
515
+ async columns() {
516
+ const result = await this.database.executeStatement(this.sql, this.boundParams ?? []);
517
+ return result.columns ?? [];
518
+ }
519
+ resolveParams(params) {
520
+ const normalized = (0, better_sqlite3_shared_1.normalizeParameterInput)(params);
521
+ if (normalized.length > 0) {
522
+ return normalized;
523
+ }
524
+ return this.boundParams ? [...this.boundParams] : [];
525
+ }
526
+ async fetchRows(params) {
527
+ const result = await this.database.executeStatement(this.sql, this.resolveParams(params));
528
+ return this.transformRows(result);
529
+ }
530
+ transformRows(result) {
531
+ return result.rows.map((row) => (0, better_sqlite3_shared_1.shapeRow)(row, result.columns, {
532
+ raw: this.rawMode,
533
+ pluck: this.pluckMode,
534
+ expand: this.expandMode,
535
+ }));
536
+ }
537
+ }
538
+ exports.BetterSQLite3Statement = BetterSQLite3Statement;
539
+ class BetterSQLite3Database {
540
+ options;
541
+ plures;
542
+ filename;
543
+ verbose;
544
+ openPromise = null;
545
+ opened = false;
546
+ constructor(filenameOrOptions, maybeOptions) {
547
+ const { filename, options } = this.resolveOptions(filenameOrOptions, maybeOptions);
548
+ this.filename = filename;
549
+ this.options = options;
550
+ this.verbose = options.verbose;
551
+ const config = { ...options.config };
552
+ if (!config.dataDir) {
553
+ const baseDir = options.memory
554
+ ? path.join(os.tmpdir(), "pluresdb", "better-sqlite3-memory")
555
+ : path.join(os.homedir(), ".pluresdb", "better-sqlite3");
556
+ const safeName = (0, better_sqlite3_shared_1.sanitizeDataDirName)(filename === ":memory:" ? "memory" : filename);
557
+ config.dataDir = path.join(baseDir, safeName);
558
+ }
559
+ this.plures = new PluresNode({
560
+ config,
561
+ denoPath: options.denoPath,
562
+ autoStart: false,
563
+ });
564
+ if (options.autoStart !== false) {
565
+ void this.open();
566
+ }
567
+ }
568
+ get name() {
569
+ return this.filename;
570
+ }
571
+ get isOpen() {
572
+ return this.opened;
573
+ }
574
+ async open() {
575
+ await this.ensureOpen();
576
+ return this;
577
+ }
578
+ async close() {
579
+ if (!this.opened && !this.openPromise) {
580
+ return;
581
+ }
582
+ await this.plures.stop();
583
+ this.opened = false;
584
+ this.openPromise = null;
585
+ }
586
+ prepare(sql) {
587
+ if (!this.opened) {
588
+ throw new Error("Database is not open. Call await db.open() before preparing statements.");
589
+ }
590
+ return new BetterSQLite3Statement(this, sql);
591
+ }
592
+ async exec(sql) {
593
+ await this.ensureOpen();
594
+ for (const statement of (0, better_sqlite3_shared_1.splitSqlStatements)(sql)) {
595
+ await this.executeStatement(statement, []);
596
+ }
597
+ return this;
598
+ }
599
+ transaction(fn) {
600
+ return async (...args) => {
601
+ await this.ensureOpen();
602
+ await this.executeStatement("BEGIN", []);
603
+ try {
604
+ const result = await fn(...args);
605
+ await this.executeStatement("COMMIT", []);
606
+ return result;
607
+ }
608
+ catch (error) {
609
+ await this.executeStatement("ROLLBACK", []).catch(() => undefined);
610
+ throw error;
611
+ }
612
+ };
613
+ }
614
+ async pragma(statement) {
615
+ const sql = /^\s*pragma/i.test(statement)
616
+ ? statement
617
+ : `PRAGMA ${statement}`;
618
+ const result = await this.executeStatement(sql, []);
619
+ return result.rows;
620
+ }
621
+ defaultSafeIntegers() {
622
+ return this;
623
+ }
624
+ unsafeMode() {
625
+ return this;
626
+ }
627
+ async executeStatement(sql, params) {
628
+ await this.ensureOpen();
629
+ const normalizedParams = (0, better_sqlite3_shared_1.normalizeParameterInput)(params);
630
+ const raw = await this.plures.query(sql, normalizedParams);
631
+ return (0, better_sqlite3_shared_1.normalizeQueryResult)(raw);
632
+ }
633
+ async ensureOpen() {
634
+ if (this.opened) {
635
+ return;
636
+ }
637
+ if (!this.openPromise) {
638
+ this.openPromise = (async () => {
639
+ await this.plures.start();
640
+ this.opened = true;
641
+ if (this.verbose) {
642
+ this.verbose(`PluresDB ready for better-sqlite3 compatibility (${this.filename})`);
643
+ }
644
+ })();
645
+ }
646
+ await this.openPromise;
647
+ }
648
+ resolveOptions(filenameOrOptions, maybeOptions) {
649
+ if (typeof filenameOrOptions === "string") {
650
+ return {
651
+ filename: filenameOrOptions,
652
+ options: { ...(maybeOptions ?? {}), filename: filenameOrOptions },
653
+ };
654
+ }
655
+ const options = filenameOrOptions ?? {};
656
+ const filename = options.filename ?? ":memory:";
657
+ return { filename, options: { ...options, filename } };
658
+ }
659
+ }
660
+ exports.BetterSQLite3Database = BetterSQLite3Database;
355
661
  __exportStar(require("./types/node-types"), exports);
356
662
  var extension_1 = require("./vscode/extension");
357
- Object.defineProperty(exports, "PluresVSCodeExtension", { enumerable: true, get: function () { return extension_1.PluresVSCodeExtension; } });
358
663
  Object.defineProperty(exports, "createPluresExtension", { enumerable: true, get: function () { return extension_1.createPluresExtension; } });
664
+ Object.defineProperty(exports, "PluresVSCodeExtension", { enumerable: true, get: function () { return extension_1.PluresVSCodeExtension; } });
359
665
  //# sourceMappingURL=node-index.js.map