@plures/pluresdb 1.4.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 (96) hide show
  1. package/LICENSE +72 -0
  2. package/README.md +450 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/better-sqlite3-shared.d.ts +12 -0
  5. package/dist/better-sqlite3-shared.d.ts.map +1 -0
  6. package/dist/better-sqlite3-shared.js +143 -0
  7. package/dist/better-sqlite3-shared.js.map +1 -0
  8. package/dist/better-sqlite3.d.ts +4 -0
  9. package/dist/better-sqlite3.d.ts.map +1 -0
  10. package/dist/better-sqlite3.js +8 -0
  11. package/dist/better-sqlite3.js.map +1 -0
  12. package/dist/cli.d.ts +7 -0
  13. package/dist/cli.d.ts.map +1 -0
  14. package/dist/cli.js +258 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/node-index.d.ts +148 -0
  17. package/dist/node-index.d.ts.map +1 -0
  18. package/dist/node-index.js +665 -0
  19. package/dist/node-index.js.map +1 -0
  20. package/dist/node-wrapper.d.ts +44 -0
  21. package/dist/node-wrapper.d.ts.map +1 -0
  22. package/dist/node-wrapper.js +296 -0
  23. package/dist/node-wrapper.js.map +1 -0
  24. package/dist/types/index.d.ts +28 -0
  25. package/dist/types/index.d.ts.map +1 -0
  26. package/dist/types/index.js +3 -0
  27. package/dist/types/index.js.map +1 -0
  28. package/dist/types/node-types.d.ts +71 -0
  29. package/dist/types/node-types.d.ts.map +1 -0
  30. package/dist/types/node-types.js +6 -0
  31. package/dist/types/node-types.js.map +1 -0
  32. package/dist/vscode/extension.d.ts +81 -0
  33. package/dist/vscode/extension.d.ts.map +1 -0
  34. package/dist/vscode/extension.js +309 -0
  35. package/dist/vscode/extension.js.map +1 -0
  36. package/examples/basic-usage.d.ts +2 -0
  37. package/examples/basic-usage.d.ts.map +1 -0
  38. package/examples/basic-usage.js +26 -0
  39. package/examples/basic-usage.js.map +1 -0
  40. package/examples/basic-usage.ts +29 -0
  41. package/examples/vscode-extension-example/README.md +95 -0
  42. package/examples/vscode-extension-example/package.json +49 -0
  43. package/examples/vscode-extension-example/src/extension.ts +172 -0
  44. package/examples/vscode-extension-example/tsconfig.json +12 -0
  45. package/examples/vscode-extension-integration.d.ts +31 -0
  46. package/examples/vscode-extension-integration.d.ts.map +1 -0
  47. package/examples/vscode-extension-integration.js +319 -0
  48. package/examples/vscode-extension-integration.js.map +1 -0
  49. package/examples/vscode-extension-integration.ts +41 -0
  50. package/legacy/benchmarks/memory-benchmarks.ts +350 -0
  51. package/legacy/benchmarks/run-benchmarks.ts +315 -0
  52. package/legacy/better-sqlite3-shared.ts +157 -0
  53. package/legacy/better-sqlite3.ts +4 -0
  54. package/legacy/cli.ts +241 -0
  55. package/legacy/config.ts +50 -0
  56. package/legacy/core/crdt.ts +107 -0
  57. package/legacy/core/database.ts +529 -0
  58. package/legacy/healthcheck.ts +162 -0
  59. package/legacy/http/api-server.ts +438 -0
  60. package/legacy/index.ts +28 -0
  61. package/legacy/logic/rules.ts +46 -0
  62. package/legacy/main.rs +3 -0
  63. package/legacy/main.ts +197 -0
  64. package/legacy/network/websocket-server.ts +115 -0
  65. package/legacy/node-index.ts +823 -0
  66. package/legacy/node-wrapper.ts +329 -0
  67. package/legacy/sqlite-compat.ts +633 -0
  68. package/legacy/sqlite3-compat.ts +55 -0
  69. package/legacy/storage/kv-storage.ts +73 -0
  70. package/legacy/tests/core.test.ts +305 -0
  71. package/legacy/tests/fixtures/performance-data.json +71 -0
  72. package/legacy/tests/fixtures/test-data.json +129 -0
  73. package/legacy/tests/integration/api-server.test.ts +334 -0
  74. package/legacy/tests/integration/mesh-network.test.ts +303 -0
  75. package/legacy/tests/logic.test.ts +34 -0
  76. package/legacy/tests/performance/load.test.ts +290 -0
  77. package/legacy/tests/security/input-validation.test.ts +286 -0
  78. package/legacy/tests/unit/core.test.ts +226 -0
  79. package/legacy/tests/unit/subscriptions.test.ts +135 -0
  80. package/legacy/tests/unit/vector-search.test.ts +173 -0
  81. package/legacy/tests/vscode_extension_test.ts +281 -0
  82. package/legacy/types/index.ts +32 -0
  83. package/legacy/types/node-types.ts +80 -0
  84. package/legacy/util/debug.ts +14 -0
  85. package/legacy/vector/index.ts +59 -0
  86. package/legacy/vscode/extension.ts +387 -0
  87. package/package.json +127 -0
  88. package/scripts/compiled-crud-verify.ts +30 -0
  89. package/scripts/dogfood.ts +297 -0
  90. package/scripts/postinstall.js +156 -0
  91. package/scripts/release-check.js +190 -0
  92. package/scripts/run-tests.ts +178 -0
  93. package/scripts/setup-libclang.ps1 +209 -0
  94. package/scripts/update-changelog.js +214 -0
  95. package/web/README.md +27 -0
  96. package/web/svelte/package.json +31 -0
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPlainObject = isPlainObject;
4
+ exports.normalizeParameterInput = normalizeParameterInput;
5
+ exports.shapeRow = shapeRow;
6
+ exports.normalizeQueryResult = normalizeQueryResult;
7
+ exports.splitSqlStatements = splitSqlStatements;
8
+ exports.sanitizeDataDirName = sanitizeDataDirName;
9
+ function isPlainObject(value) {
10
+ if (value === null || typeof value !== "object") {
11
+ return false;
12
+ }
13
+ const proto = Object.getPrototypeOf(value);
14
+ return proto === Object.prototype || proto === null;
15
+ }
16
+ function normalizeParameterInput(args) {
17
+ if (args.length === 0) {
18
+ return [];
19
+ }
20
+ if (args.length === 1) {
21
+ const first = args[0];
22
+ if (Array.isArray(first)) {
23
+ return first;
24
+ }
25
+ if (isPlainObject(first)) {
26
+ return [first];
27
+ }
28
+ return [first];
29
+ }
30
+ return args;
31
+ }
32
+ function expandDotNotation(row) {
33
+ const result = {};
34
+ for (const [key, value] of Object.entries(row)) {
35
+ const parts = key.split(".");
36
+ let cursor = result;
37
+ for (let index = 0; index < parts.length; index++) {
38
+ const part = parts[index];
39
+ if (index === parts.length - 1) {
40
+ cursor[part] = value;
41
+ }
42
+ else {
43
+ const next = cursor[part];
44
+ if (!isPlainObject(next)) {
45
+ cursor[part] = {};
46
+ }
47
+ cursor = cursor[part];
48
+ }
49
+ }
50
+ }
51
+ return result;
52
+ }
53
+ function shapeRow(row, columns, mode) {
54
+ if (mode.raw) {
55
+ return row;
56
+ }
57
+ let normalized;
58
+ if (Array.isArray(row)) {
59
+ if (columns && columns.length > 0) {
60
+ const mapped = {};
61
+ columns.forEach((column, index) => {
62
+ mapped[column] = row[index];
63
+ });
64
+ normalized = mapped;
65
+ }
66
+ else {
67
+ normalized = [...row];
68
+ }
69
+ }
70
+ else if (isPlainObject(row)) {
71
+ normalized = { ...row };
72
+ }
73
+ else {
74
+ normalized = row;
75
+ }
76
+ if (mode.pluck) {
77
+ if (Array.isArray(row)) {
78
+ return row[0];
79
+ }
80
+ if (isPlainObject(row)) {
81
+ const keys = Object.keys(row);
82
+ return keys.length > 0
83
+ ? row[keys[0]]
84
+ : undefined;
85
+ }
86
+ if (columns && columns.length > 0 && isPlainObject(normalized)) {
87
+ return normalized[columns[0]];
88
+ }
89
+ return normalized;
90
+ }
91
+ if (mode.expand && isPlainObject(normalized)) {
92
+ return expandDotNotation(normalized);
93
+ }
94
+ return normalized;
95
+ }
96
+ function normalizeQueryResult(raw) {
97
+ if (raw && typeof raw === "object" && "rows" in raw) {
98
+ const result = raw;
99
+ const columnsValue = Array.isArray(result.columns) ? result.columns : [];
100
+ const rowsValue = Array.isArray(result.rows) ? result.rows : [];
101
+ const changesValue = typeof result.changes === "number"
102
+ ? result.changes
103
+ : 0;
104
+ const lastInsertRowIdValue = typeof result.lastInsertRowId === "number"
105
+ ? result.lastInsertRowId
106
+ : typeof result.lastInsertRowid === "number"
107
+ ? Number(result.lastInsertRowid)
108
+ : 0;
109
+ return {
110
+ rows: rowsValue,
111
+ columns: columnsValue,
112
+ changes: changesValue,
113
+ lastInsertRowId: lastInsertRowIdValue,
114
+ };
115
+ }
116
+ if (Array.isArray(raw)) {
117
+ return {
118
+ rows: raw,
119
+ columns: [],
120
+ changes: 0,
121
+ lastInsertRowId: 0,
122
+ };
123
+ }
124
+ if (raw === undefined || raw === null) {
125
+ return { rows: [], columns: [], changes: 0, lastInsertRowId: 0 };
126
+ }
127
+ return {
128
+ rows: [raw],
129
+ columns: [],
130
+ changes: 0,
131
+ lastInsertRowId: 0,
132
+ };
133
+ }
134
+ function splitSqlStatements(sql) {
135
+ return sql
136
+ .split(/;\s*(?=(?:[^"']|"[^"]*"|'[^']*')*$)/)
137
+ .map((statement) => statement.trim())
138
+ .filter((statement) => statement.length > 0);
139
+ }
140
+ function sanitizeDataDirName(name) {
141
+ return name.replace(/[\s\\/:]+/g, "_").replace(/_+/g, "_");
142
+ }
143
+ //# sourceMappingURL=better-sqlite3-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-sqlite3-shared.js","sourceRoot":"","sources":["../legacy/better-sqlite3-shared.ts"],"names":[],"mappings":";;AAEA,sCAQC;AAED,0DAeC;AAyBD,4BAgDC;AAED,oDA2CC;AAED,gDAKC;AAED,kDAEC;AA1JD,SAAgB,aAAa,CAC3B,KAAc;IAEd,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAe;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,GAA4B;IAE5B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,GAA4B,MAAM,CAAC;QAC7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAA4B,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,QAAQ,CACtB,GAAY,EACZ,OAA6B,EAC7B,IAAuD;IAEvD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,UAAmB,CAAC;IAExB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAChC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,UAAU,GAAG,EAAE,GAAI,GAA+B,EAAE,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAA8B,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAE,GAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,OAAQ,UAAsC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,iBAAiB,CAAC,UAAqC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAY;IAC/C,IACE,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAK,GAA+B,EAC5E,CAAC;QACD,MAAM,MAAM,GAAG,GAAqD,CAAC;QACrE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YACrD,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,oBAAoB,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;YACrE,CAAC,CAAC,MAAM,CAAC,eAAe;YACxB,CAAC,CAAC,OAAQ,MAAkC,CAAC,eAAe,KAAK,QAAQ;gBACzE,CAAC,CAAC,MAAM,CAAE,MAAkC,CAAC,eAAe,CAAC;gBAC7D,CAAC,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,oBAAoB;SACtC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,CAAC,GAAG,CAAC;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC;QACV,eAAe,EAAE,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACP,KAAK,CAAC,qCAAqC,CAAC;SAC5C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { BetterSQLite3Database, BetterSQLite3Statement } from "./node-index";
2
+ export default BetterSQLite3Database;
3
+ export { BetterSQLite3Database, BetterSQLite3Statement };
4
+ //# sourceMappingURL=better-sqlite3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-sqlite3.d.ts","sourceRoot":"","sources":["../legacy/better-sqlite3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE7E,eAAe,qBAAqB,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BetterSQLite3Statement = exports.BetterSQLite3Database = void 0;
4
+ const node_index_1 = require("./node-index");
5
+ Object.defineProperty(exports, "BetterSQLite3Database", { enumerable: true, get: function () { return node_index_1.BetterSQLite3Database; } });
6
+ Object.defineProperty(exports, "BetterSQLite3Statement", { enumerable: true, get: function () { return node_index_1.BetterSQLite3Statement; } });
7
+ exports.default = node_index_1.BetterSQLite3Database;
8
+ //# sourceMappingURL=better-sqlite3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-sqlite3.js","sourceRoot":"","sources":["../legacy/better-sqlite3.ts"],"names":[],"mappings":";;;AAAA,6CAA6E;AAGpE,sGAHA,kCAAqB,OAGA;AAAE,uGAHA,mCAAsB,OAGA;AADtD,kBAAe,kCAAqB,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI wrapper for PluresDB in Node.js environment
4
+ * This allows VSCode extensions to use pluresdb as a regular npm package
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../legacy/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
package/dist/cli.js ADDED
@@ -0,0 +1,258 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * CLI wrapper for PluresDB in Node.js environment
5
+ * This allows VSCode extensions to use pluresdb as a regular npm package
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ const node_wrapper_1 = require("./node-wrapper");
45
+ const path = __importStar(require("path"));
46
+ const fs = __importStar(require("fs"));
47
+ const node_process_1 = __importDefault(require("node:process"));
48
+ // Parse command line arguments
49
+ const args = node_process_1.default.argv.slice(2);
50
+ const command = args[0];
51
+ if (!command) {
52
+ console.log(`
53
+ PluresDB - P2P Graph Database with SQLite Compatibility
54
+
55
+ Usage: pluresdb <command> [options]
56
+
57
+ Commands:
58
+ serve Start the PluresDB server
59
+ put <key> <value> Store a key-value pair
60
+ get <key> Retrieve a value by key
61
+ delete <key> Delete a key-value pair
62
+ query <sql> Execute SQL query
63
+ vsearch <query> Perform vector search
64
+ list [prefix] List all keys (optionally with prefix)
65
+ config Show configuration
66
+ config set <key> <value> Set configuration value
67
+ --help Show this help message
68
+ --version Show version
69
+
70
+ Examples:
71
+ pluresdb serve --port 8080
72
+ pluresdb put "user:123" '{"name": "John"}'
73
+ pluresdb get "user:123"
74
+ pluresdb query "SELECT * FROM users"
75
+ pluresdb vsearch "machine learning"
76
+ `);
77
+ node_process_1.default.exit(0);
78
+ }
79
+ if (command === "--version") {
80
+ const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "../package.json"), "utf8"));
81
+ console.log(packageJson.version);
82
+ node_process_1.default.exit(0);
83
+ }
84
+ if (command === "--help") {
85
+ console.log(`
86
+ PluresDB - P2P Graph Database with SQLite Compatibility
87
+
88
+ Usage: pluresdb <command> [options]
89
+
90
+ Commands:
91
+ serve Start the PluresDB server
92
+ put <key> <value> Store a key-value pair
93
+ get <key> Retrieve a value by key
94
+ delete <key> Delete a key-value pair
95
+ query <sql> Execute SQL query
96
+ vsearch <query> Perform vector search
97
+ list [prefix] List all keys (optionally with prefix)
98
+ config Show configuration
99
+ config set <key> <value> Set configuration value
100
+ --help Show this help message
101
+ --version Show version
102
+
103
+ Examples:
104
+ pluresdb serve --port 8080
105
+ pluresdb put "user:123" '{"name": "John"}'
106
+ pluresdb get "user:123"
107
+ pluresdb query "SELECT * FROM users"
108
+ pluresdb vsearch "machine learning"
109
+ `);
110
+ node_process_1.default.exit(0);
111
+ }
112
+ // Parse options
113
+ const options = {};
114
+ let i = 1;
115
+ while (i < args.length) {
116
+ const arg = args[i];
117
+ if (arg.startsWith("--")) {
118
+ const key = arg.substring(2);
119
+ const value = args[i + 1];
120
+ if (value && !value.startsWith("--")) {
121
+ options[key] = value;
122
+ i += 2;
123
+ }
124
+ else {
125
+ options[key] = true;
126
+ i += 1;
127
+ }
128
+ }
129
+ else {
130
+ i += 1;
131
+ }
132
+ }
133
+ async function main() {
134
+ try {
135
+ if (command === "serve") {
136
+ const config = {
137
+ port: options.port ? parseInt(options.port) : 34567,
138
+ host: options.host || "localhost",
139
+ dataDir: options["data-dir"] ||
140
+ path.join(require("os").homedir(), ".pluresdb"),
141
+ webPort: options["web-port"] ? parseInt(options["web-port"]) : 34568,
142
+ logLevel: options["log-level"] || "info",
143
+ };
144
+ const plures = new node_wrapper_1.PluresNode({ config, autoStart: true });
145
+ console.log(`🚀 PluresDB server starting...`);
146
+ console.log(`📊 API: http://${config.host}:${config.port}`);
147
+ console.log(`🌐 Web UI: http://${config.host}:${config.webPort}`);
148
+ console.log(`📁 Data: ${config.dataDir}`);
149
+ console.log(`\nPress Ctrl+C to stop the server`);
150
+ // Handle graceful shutdown
151
+ node_process_1.default.on("SIGINT", async () => {
152
+ console.log("\n🛑 Shutting down PluresDB...");
153
+ await plures.stop();
154
+ node_process_1.default.exit(0);
155
+ });
156
+ // Keep the process alive
157
+ await new Promise(() => { });
158
+ }
159
+ else {
160
+ // For other commands, we need to start the server first
161
+ const plures = new node_wrapper_1.PluresNode({ autoStart: true });
162
+ try {
163
+ switch (command) {
164
+ case "put":
165
+ if (args.length < 3) {
166
+ console.error("Error: put command requires key and value");
167
+ node_process_1.default.exit(1);
168
+ }
169
+ const key = args[1];
170
+ const value = JSON.parse(args[2]);
171
+ await plures.put(key, value);
172
+ console.log(`✅ Stored: ${key}`);
173
+ break;
174
+ case "get":
175
+ if (args.length < 2) {
176
+ console.error("Error: get command requires key");
177
+ node_process_1.default.exit(1);
178
+ }
179
+ const getKey = args[1];
180
+ const result = await plures.get(getKey);
181
+ if (result === null) {
182
+ console.log("Key not found");
183
+ }
184
+ else {
185
+ console.log(JSON.stringify(result, null, 2));
186
+ }
187
+ break;
188
+ case "delete":
189
+ if (args.length < 2) {
190
+ console.error("Error: delete command requires key");
191
+ node_process_1.default.exit(1);
192
+ }
193
+ const deleteKey = args[1];
194
+ await plures.delete(deleteKey);
195
+ console.log(`✅ Deleted: ${deleteKey}`);
196
+ break;
197
+ case "query":
198
+ if (args.length < 2) {
199
+ console.error("Error: query command requires SQL");
200
+ node_process_1.default.exit(1);
201
+ }
202
+ const sql = args[1];
203
+ const queryResult = await plures.query(sql);
204
+ console.log(JSON.stringify(queryResult, null, 2));
205
+ break;
206
+ case "vsearch":
207
+ if (args.length < 2) {
208
+ console.error("Error: vsearch command requires query");
209
+ node_process_1.default.exit(1);
210
+ }
211
+ const searchQuery = args[1];
212
+ const limit = options.limit ? parseInt(options.limit) : 10;
213
+ const searchResult = await plures.vectorSearch(searchQuery, limit);
214
+ console.log(JSON.stringify(searchResult, null, 2));
215
+ break;
216
+ case "list":
217
+ const prefix = args[1];
218
+ const listResult = await plures.list(prefix);
219
+ console.log(JSON.stringify(listResult, null, 2));
220
+ break;
221
+ case "config":
222
+ if (args[1] === "set") {
223
+ if (args.length < 4) {
224
+ console.error("Error: config set requires key and value");
225
+ node_process_1.default.exit(1);
226
+ }
227
+ const configKey = args[2];
228
+ const configValue = args[3];
229
+ await plures.setConfig({ [configKey]: configValue });
230
+ console.log(`✅ Set config: ${configKey} = ${configValue}`);
231
+ }
232
+ else {
233
+ const config = await plures.getConfig();
234
+ console.log(JSON.stringify(config, null, 2));
235
+ }
236
+ break;
237
+ default:
238
+ console.error(`Unknown command: ${command}`);
239
+ console.log('Run "pluresdb --help" for usage information');
240
+ node_process_1.default.exit(1);
241
+ }
242
+ }
243
+ finally {
244
+ await plures.stop();
245
+ }
246
+ }
247
+ }
248
+ catch (error) {
249
+ console.error("Error:", error instanceof Error ? error.message : String(error));
250
+ node_process_1.default.exit(1);
251
+ }
252
+ }
253
+ // Run the main function
254
+ main().catch((error) => {
255
+ console.error("Fatal error:", error instanceof Error ? error.message : String(error));
256
+ node_process_1.default.exit(1);
257
+ });
258
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../legacy/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Node.js Entry Point for PluresDB
3
+ * This provides a clean API for VSCode extensions and other Node.js applications
4
+ */
5
+ import { EventEmitter } from "node:events";
6
+ import { BetterSQLite3Options, BetterSQLite3RunResult, Peer, PluresDBOptions, QueryResult } from "./types/node-types";
7
+ export declare class PluresNode extends EventEmitter {
8
+ private process;
9
+ private config;
10
+ private denoPath;
11
+ private isRunning;
12
+ private apiUrl;
13
+ constructor(options?: PluresDBOptions);
14
+ private findDenoPath;
15
+ private isCommandAvailable;
16
+ start(): Promise<void>;
17
+ private waitForServer;
18
+ stop(): Promise<void>;
19
+ getApiUrl(): string;
20
+ getWebUrl(): string;
21
+ isServerRunning(): boolean;
22
+ query(sql: string, params?: any[]): Promise<any>;
23
+ put(key: string, value: any): Promise<void>;
24
+ get(key: string): Promise<any>;
25
+ delete(key: string): Promise<void>;
26
+ vectorSearch(query: string, limit?: number): Promise<any[]>;
27
+ list(prefix?: string): Promise<string[]>;
28
+ getConfig(): Promise<any>;
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
+ }>;
55
+ }
56
+ export declare class SQLiteCompatibleAPI {
57
+ private plures;
58
+ constructor(options?: PluresDBOptions);
59
+ start(): Promise<void>;
60
+ stop(): Promise<void>;
61
+ run(sql: string, params?: any[]): Promise<any>;
62
+ get(sql: string, params?: any[]): Promise<any>;
63
+ all(sql: string, params?: any[]): Promise<any>;
64
+ exec(sql: string): Promise<any>;
65
+ put(key: string, value: any): Promise<void>;
66
+ getValue(key: string): Promise<any>;
67
+ delete(key: string): Promise<void>;
68
+ vectorSearch(query: string, limit?: number): Promise<any[]>;
69
+ list(prefix?: string): Promise<string[]>;
70
+ getApiUrl(): string;
71
+ getWebUrl(): string;
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;
144
+ }
145
+ export { PluresNode as default };
146
+ export * from "./types/node-types";
147
+ export { createPluresExtension, PluresVSCodeExtension, } from "./vscode/extension";
148
+ //# sourceMappingURL=node-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-index.d.ts","sourceRoot":"","sources":["../legacy/node-index.ts"],"names":[],"mappings":"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"}