@plures/pluresdb 1.6.10 → 2.9.6

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 (126) hide show
  1. package/README.md +97 -289
  2. package/crates/README.md +99 -0
  3. package/crates/pluresdb-node/README.md +181 -0
  4. package/crates/pluresdb-node/index.d.ts +0 -0
  5. package/crates/pluresdb-node/index.js +265 -0
  6. package/crates/pluresdb-node/package.json +35 -0
  7. package/dist/napi/index.js +60 -0
  8. package/embedded.d.ts +1 -0
  9. package/embedded.js +46 -0
  10. package/package.json +20 -9
  11. package/dist/.tsbuildinfo +0 -1
  12. package/dist/better-sqlite3-shared.d.ts +0 -12
  13. package/dist/better-sqlite3-shared.d.ts.map +0 -1
  14. package/dist/better-sqlite3-shared.js +0 -143
  15. package/dist/better-sqlite3-shared.js.map +0 -1
  16. package/dist/better-sqlite3.d.ts +0 -4
  17. package/dist/better-sqlite3.d.ts.map +0 -1
  18. package/dist/better-sqlite3.js +0 -8
  19. package/dist/better-sqlite3.js.map +0 -1
  20. package/dist/cli.d.ts +0 -7
  21. package/dist/cli.d.ts.map +0 -1
  22. package/dist/cli.js.map +0 -1
  23. package/dist/local-first/unified-api.d.ts +0 -110
  24. package/dist/local-first/unified-api.d.ts.map +0 -1
  25. package/dist/local-first/unified-api.js +0 -348
  26. package/dist/local-first/unified-api.js.map +0 -1
  27. package/dist/node-index.d.ts +0 -150
  28. package/dist/node-index.d.ts.map +0 -1
  29. package/dist/node-index.js +0 -668
  30. package/dist/node-index.js.map +0 -1
  31. package/dist/node-wrapper.d.ts +0 -44
  32. package/dist/node-wrapper.d.ts.map +0 -1
  33. package/dist/node-wrapper.js +0 -296
  34. package/dist/node-wrapper.js.map +0 -1
  35. package/dist/types/index.d.ts +0 -28
  36. package/dist/types/index.d.ts.map +0 -1
  37. package/dist/types/index.js +0 -3
  38. package/dist/types/index.js.map +0 -1
  39. package/dist/types/node-types.d.ts +0 -71
  40. package/dist/types/node-types.d.ts.map +0 -1
  41. package/dist/types/node-types.js +0 -6
  42. package/dist/types/node-types.js.map +0 -1
  43. package/dist/util/debug.d.ts +0 -3
  44. package/dist/util/debug.d.ts.map +0 -1
  45. package/dist/util/debug.js +0 -34
  46. package/dist/util/debug.js.map +0 -1
  47. package/dist/vscode/extension.d.ts +0 -81
  48. package/dist/vscode/extension.d.ts.map +0 -1
  49. package/dist/vscode/extension.js +0 -309
  50. package/dist/vscode/extension.js.map +0 -1
  51. package/examples/basic-usage.d.ts +0 -2
  52. package/examples/basic-usage.d.ts.map +0 -1
  53. package/examples/basic-usage.js +0 -26
  54. package/examples/basic-usage.js.map +0 -1
  55. package/examples/basic-usage.ts +0 -29
  56. package/examples/browser-demo/README.md +0 -204
  57. package/examples/browser-demo/index.html +0 -466
  58. package/examples/browser-wasm-integration.md +0 -411
  59. package/examples/ipc-demo/README.md +0 -127
  60. package/examples/local-first-usage.ts +0 -138
  61. package/examples/native-ipc-integration.md +0 -526
  62. package/examples/tauri-demo/README.md +0 -240
  63. package/examples/tauri-integration.md +0 -260
  64. package/examples/vscode-extension-example/README.md +0 -95
  65. package/examples/vscode-extension-example/package.json +0 -49
  66. package/examples/vscode-extension-example/src/extension.ts +0 -172
  67. package/examples/vscode-extension-example/tsconfig.json +0 -12
  68. package/examples/vscode-extension-integration.d.ts +0 -31
  69. package/examples/vscode-extension-integration.d.ts.map +0 -1
  70. package/examples/vscode-extension-integration.js +0 -319
  71. package/examples/vscode-extension-integration.js.map +0 -1
  72. package/examples/vscode-extension-integration.ts +0 -41
  73. package/legacy/benchmarks/memory-benchmarks.ts +0 -350
  74. package/legacy/benchmarks/run-benchmarks.ts +0 -315
  75. package/legacy/better-sqlite3-shared.ts +0 -157
  76. package/legacy/better-sqlite3.ts +0 -4
  77. package/legacy/cli.ts +0 -241
  78. package/legacy/config.ts +0 -50
  79. package/legacy/core/crdt.ts +0 -107
  80. package/legacy/core/database.ts +0 -529
  81. package/legacy/healthcheck.ts +0 -162
  82. package/legacy/http/api-server.ts +0 -569
  83. package/legacy/index.ts +0 -31
  84. package/legacy/local-first/unified-api.ts +0 -449
  85. package/legacy/logic/rules.ts +0 -46
  86. package/legacy/main.rs +0 -3
  87. package/legacy/main.ts +0 -197
  88. package/legacy/network/websocket-server.ts +0 -115
  89. package/legacy/node-index.ts +0 -827
  90. package/legacy/node-wrapper.ts +0 -329
  91. package/legacy/plugins/README.md +0 -181
  92. package/legacy/plugins/example-embedding-plugin.ts +0 -56
  93. package/legacy/plugins/plugin-system.ts +0 -315
  94. package/legacy/sqlite-compat.ts +0 -633
  95. package/legacy/sqlite3-compat.ts +0 -55
  96. package/legacy/storage/kv-storage.ts +0 -73
  97. package/legacy/tests/core.test.ts +0 -305
  98. package/legacy/tests/fixtures/performance-data.json +0 -71
  99. package/legacy/tests/fixtures/test-data.json +0 -129
  100. package/legacy/tests/integration/api-server.test.ts +0 -334
  101. package/legacy/tests/integration/mesh-network.test.ts +0 -303
  102. package/legacy/tests/logic.test.ts +0 -34
  103. package/legacy/tests/performance/load.test.ts +0 -290
  104. package/legacy/tests/security/input-validation.test.ts +0 -286
  105. package/legacy/tests/unit/core.test.ts +0 -226
  106. package/legacy/tests/unit/local-first-api.test.ts +0 -65
  107. package/legacy/tests/unit/plugin-system.test.ts +0 -388
  108. package/legacy/tests/unit/subscriptions.test.ts +0 -135
  109. package/legacy/tests/unit/vector-search.test.ts +0 -173
  110. package/legacy/tests/vscode_extension_test.ts +0 -281
  111. package/legacy/types/index.ts +0 -32
  112. package/legacy/types/node-types.ts +0 -80
  113. package/legacy/util/debug.ts +0 -27
  114. package/legacy/vector/index.ts +0 -59
  115. package/legacy/vscode/extension.ts +0 -387
  116. package/scripts/compiled-crud-verify.ts +0 -30
  117. package/scripts/dogfood.ts +0 -297
  118. package/scripts/postinstall.js +0 -156
  119. package/scripts/publish-crates.sh +0 -95
  120. package/scripts/release-check.js +0 -224
  121. package/scripts/run-tests.ts +0 -178
  122. package/scripts/setup-libclang.ps1 +0 -209
  123. package/scripts/update-changelog.js +0 -214
  124. package/scripts/validate-npm-publish.js +0 -228
  125. package/web/README.md +0 -27
  126. package/web/svelte/package.json +0 -31
@@ -1,172 +0,0 @@
1
- import * as vscode from "vscode";
2
- import { SQLiteCompatibleAPI } from "pluresdb";
3
- import * as path from "path";
4
-
5
- export function activate(context: vscode.ExtensionContext) {
6
- console.log("PluresDB extension is now active!");
7
-
8
- // Initialize PluresDB database
9
- const db = new SQLiteCompatibleAPI({
10
- config: {
11
- dataDir: path.join(context.globalStorageUri.fsPath, "pluresdb"),
12
- port: 34567,
13
- host: "localhost",
14
- },
15
- });
16
-
17
- // Start the database
18
- db.start()
19
- .then(() => {
20
- console.log("PluresDB database started");
21
-
22
- // Set up database schema
23
- setupDatabase(db);
24
- })
25
- .catch((error) => {
26
- console.error("Failed to start PluresDB:", error);
27
- vscode.window.showErrorMessage("Failed to start PluresDB database");
28
- });
29
-
30
- // Register commands
31
- const helloWorldCommand = vscode.commands.registerCommand(
32
- "pluresdb-example.helloWorld",
33
- () => {
34
- vscode.window.showInformationMessage("Hello World from PluresDB!");
35
- },
36
- );
37
-
38
- const storeDataCommand = vscode.commands.registerCommand(
39
- "pluresdb-example.storeData",
40
- async () => {
41
- const key = await vscode.window.showInputBox({
42
- prompt: "Enter key to store",
43
- placeHolder: "user:123",
44
- });
45
-
46
- if (key) {
47
- const value = await vscode.window.showInputBox({
48
- prompt: "Enter value (JSON)",
49
- placeHolder: '{"name": "John", "email": "john@example.com"}',
50
- });
51
-
52
- if (value) {
53
- try {
54
- const parsedValue = JSON.parse(value);
55
- await db.put(key, parsedValue);
56
- vscode.window.showInformationMessage(`Stored data for key: ${key}`);
57
- } catch (error) {
58
- vscode.window.showErrorMessage(
59
- `Failed to store data: ${
60
- error instanceof Error ? error.message : String(error)
61
- }`,
62
- );
63
- }
64
- }
65
- }
66
- },
67
- );
68
-
69
- const retrieveDataCommand = vscode.commands.registerCommand(
70
- "pluresdb-example.retrieveData",
71
- async () => {
72
- const key = await vscode.window.showInputBox({
73
- prompt: "Enter key to retrieve",
74
- placeHolder: "user:123",
75
- });
76
-
77
- if (key) {
78
- try {
79
- const value = await db.getValue(key);
80
- if (value) {
81
- const doc = await vscode.workspace.openTextDocument({
82
- content: JSON.stringify(value, null, 2),
83
- language: "json",
84
- });
85
- await vscode.window.showTextDocument(doc);
86
- } else {
87
- vscode.window.showInformationMessage("Key not found");
88
- }
89
- } catch (error) {
90
- vscode.window.showErrorMessage(
91
- `Failed to retrieve data: ${
92
- error instanceof Error ? error.message : String(error)
93
- }`,
94
- );
95
- }
96
- }
97
- },
98
- );
99
-
100
- const searchDataCommand = vscode.commands.registerCommand(
101
- "pluresdb-example.searchData",
102
- async () => {
103
- const query = await vscode.window.showInputBox({
104
- prompt: "Enter search query",
105
- placeHolder: "machine learning",
106
- });
107
-
108
- if (query) {
109
- try {
110
- const results = await db.vectorSearch(query, 10);
111
- const doc = await vscode.workspace.openTextDocument({
112
- content: JSON.stringify(results, null, 2),
113
- language: "json",
114
- });
115
- await vscode.window.showTextDocument(doc);
116
- } catch (error) {
117
- vscode.window.showErrorMessage(
118
- `Search failed: ${
119
- error instanceof Error ? error.message : String(error)
120
- }`,
121
- );
122
- }
123
- }
124
- },
125
- );
126
-
127
- // Register all commands
128
- context.subscriptions.push(
129
- helloWorldCommand,
130
- storeDataCommand,
131
- retrieveDataCommand,
132
- searchDataCommand,
133
- );
134
-
135
- // Clean up on deactivation
136
- context.subscriptions.push({
137
- dispose: () => {
138
- db.stop().catch(console.error);
139
- },
140
- });
141
- }
142
-
143
- async function setupDatabase(db: SQLiteCompatibleAPI) {
144
- try {
145
- // Create tables for common VSCode extension use cases
146
- await db.exec(`
147
- CREATE TABLE IF NOT EXISTS settings (
148
- key TEXT PRIMARY KEY,
149
- value TEXT,
150
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
151
- )
152
- `);
153
-
154
- await db.exec(`
155
- CREATE TABLE IF NOT EXISTS documents (
156
- id TEXT PRIMARY KEY,
157
- content TEXT,
158
- language TEXT,
159
- file_path TEXT,
160
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
161
- )
162
- `);
163
-
164
- console.log("Database schema created successfully");
165
- } catch (error) {
166
- console.error("Failed to create database schema:", error);
167
- }
168
- }
169
-
170
- export function deactivate() {
171
- console.log("PluresDB extension deactivated");
172
- }
@@ -1,12 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "target": "ES2020",
5
- "outDir": "out",
6
- "lib": ["ES2020"],
7
- "sourceMap": true,
8
- "rootDir": "src",
9
- "strict": true
10
- },
11
- "exclude": ["node_modules", ".vscode-test"]
12
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * VSCode Extension Integration Example
3
- * This shows how to integrate PluresDB into a VSCode extension
4
- */
5
- import * as vscode from "vscode";
6
- export declare class PluresExtension {
7
- private plures;
8
- private sqliteAPI;
9
- private context;
10
- constructor(context: vscode.ExtensionContext);
11
- private setupEventHandlers;
12
- activate(): Promise<void>;
13
- deactivate(): Promise<void>;
14
- private registerCommands;
15
- private setupDatabase;
16
- storeSetting(key: string, value: any): Promise<any>;
17
- getSetting(key: string): Promise<any>;
18
- storeDocument(
19
- id: string,
20
- content: string,
21
- language: string,
22
- filePath: string,
23
- ): Promise<any>;
24
- searchDocuments(query: string): Promise<any>;
25
- executeSQL(sql: string, params?: any[]): Promise<any>;
26
- }
27
- export declare function activate(
28
- context: vscode.ExtensionContext,
29
- ): PluresExtension;
30
- export declare function deactivate(extension: PluresExtension): void;
31
- //# sourceMappingURL=vscode-extension-integration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vscode-extension-integration.d.ts","sourceRoot":"","sources":["vscode-extension-integration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGjC,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,EAAE,MAAM,CAAC,gBAAgB;IA+B5C,OAAO,CAAC,kBAAkB;IAcpB,QAAQ;IAkBR,UAAU;IAShB,OAAO,CAAC,gBAAgB;YA6GV,aAAa;IAmCrB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAIpC,UAAU,CAAC,GAAG,EAAE,MAAM;IAItB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAS7E,eAAe,CAAC,KAAK,EAAE,MAAM;IAI7B,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO;CAGjD;AAGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,qBAIxD;AAGD,wBAAgB,UAAU,CAAC,SAAS,EAAE,iBAAiB,QAEtD"}
@@ -1,319 +0,0 @@
1
- "use strict";
2
- /**
3
- * VSCode Extension Integration Example
4
- * This shows how to integrate PluresDB into a VSCode extension
5
- */
6
- var __createBinding = (this && this.__createBinding) ||
7
- (Object.create
8
- ? function (o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (
12
- !desc ||
13
- ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)
14
- ) {
15
- desc = {
16
- enumerable: true,
17
- get: function () {
18
- return m[k];
19
- },
20
- };
21
- }
22
- Object.defineProperty(o, k2, desc);
23
- }
24
- : function (o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- });
28
- var __setModuleDefault = (this && this.__setModuleDefault) ||
29
- (Object.create
30
- ? function (o, v) {
31
- Object.defineProperty(o, "default", { enumerable: true, value: v });
32
- }
33
- : function (o, v) {
34
- o["default"] = v;
35
- });
36
- var __importStar = (this && this.__importStar) ||
37
- (function () {
38
- var ownKeys = function (o) {
39
- ownKeys = Object.getOwnPropertyNames ||
40
- function (o) {
41
- var ar = [];
42
- for (var k in o) {
43
- if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44
- }
45
- return ar;
46
- };
47
- return ownKeys(o);
48
- };
49
- return function (mod) {
50
- if (mod && mod.__esModule) return mod;
51
- var result = {};
52
- if (mod != null) {
53
- for (var k = ownKeys(mod), i = 0; i < k.length; i++) {
54
- if (k[i] !== "default") __createBinding(result, mod, k[i]);
55
- }
56
- }
57
- __setModuleDefault(result, mod);
58
- return result;
59
- };
60
- })();
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.PluresExtension = void 0;
63
- exports.activate = activate;
64
- exports.deactivate = deactivate;
65
- const vscode = __importStar(require("vscode"));
66
- const pluresdb_1 = require("pluresdb");
67
- class PluresExtension {
68
- plures;
69
- sqliteAPI;
70
- context;
71
- constructor(context) {
72
- this.context = context;
73
- // Initialize PluresDB with VSCode-specific configuration
74
- this.plures = new pluresdb_1.PluresNode({
75
- config: {
76
- port: 34567,
77
- host: "localhost",
78
- dataDir: path.join(context.globalStorageUri.fsPath, "pluresdb"),
79
- webPort: 34568,
80
- logLevel: "info",
81
- },
82
- autoStart: false, // We'll start it manually
83
- });
84
- // Create SQLite-compatible API
85
- this.sqliteAPI = new pluresdb_1.SQLiteCompatibleAPI({
86
- config: {
87
- port: 34567,
88
- host: "localhost",
89
- dataDir: path.join(context.globalStorageUri.fsPath, "pluresdb"),
90
- webPort: 34568,
91
- logLevel: "info",
92
- },
93
- autoStart: false,
94
- });
95
- // Set up event handlers
96
- this.setupEventHandlers();
97
- }
98
- setupEventHandlers() {
99
- this.plures.on("started", () => {
100
- vscode.window.showInformationMessage("PluresDB database started");
101
- });
102
- this.plures.on("stopped", () => {
103
- vscode.window.showInformationMessage("PluresDB database stopped");
104
- });
105
- this.plures.on("error", (error) => {
106
- vscode.window.showErrorMessage(`PluresDB error: ${error.message}`);
107
- });
108
- }
109
- async activate() {
110
- try {
111
- // Start PluresDB
112
- await this.plures.start();
113
- await this.sqliteAPI.start();
114
- // Register commands
115
- this.registerCommands();
116
- // Set up database schema
117
- await this.setupDatabase();
118
- vscode.window.showInformationMessage("PluresDB extension activated");
119
- } catch (error) {
120
- vscode.window.showErrorMessage(
121
- `Failed to activate PluresDB: ${error.message}`,
122
- );
123
- }
124
- }
125
- async deactivate() {
126
- try {
127
- await this.plures.stop();
128
- await this.sqliteAPI.stop();
129
- } catch (error) {
130
- console.error("Error stopping PluresDB:", error);
131
- }
132
- }
133
- registerCommands() {
134
- // Command to open PluresDB web UI
135
- const openWebUI = vscode.commands.registerCommand(
136
- "pluresdb.openWebUI",
137
- () => {
138
- const webUrl = this.plures.getWebUrl();
139
- vscode.env.openExternal(vscode.Uri.parse(webUrl));
140
- },
141
- );
142
- // Command to execute SQL query
143
- const executeQuery = vscode.commands.registerCommand(
144
- "pluresdb.executeQuery",
145
- async () => {
146
- const sql = await vscode.window.showInputBox({
147
- prompt: "Enter SQL query",
148
- placeHolder: "SELECT * FROM users",
149
- });
150
- if (sql) {
151
- try {
152
- const result = await this.sqliteAPI.all(sql);
153
- const doc = await vscode.workspace.openTextDocument({
154
- content: JSON.stringify(result, null, 2),
155
- language: "json",
156
- });
157
- await vscode.window.showTextDocument(doc);
158
- } catch (error) {
159
- vscode.window.showErrorMessage(`Query failed: ${error.message}`);
160
- }
161
- }
162
- },
163
- );
164
- // Command to perform vector search
165
- const vectorSearch = vscode.commands.registerCommand(
166
- "pluresdb.vectorSearch",
167
- async () => {
168
- const query = await vscode.window.showInputBox({
169
- prompt: "Enter search query",
170
- placeHolder: "machine learning",
171
- });
172
- if (query) {
173
- try {
174
- const results = await this.sqliteAPI.vectorSearch(query, 10);
175
- const doc = await vscode.workspace.openTextDocument({
176
- content: JSON.stringify(results, null, 2),
177
- language: "json",
178
- });
179
- await vscode.window.showTextDocument(doc);
180
- } catch (error) {
181
- vscode.window.showErrorMessage(
182
- `Vector search failed: ${error.message}`,
183
- );
184
- }
185
- }
186
- },
187
- );
188
- // Command to store data
189
- const storeData = vscode.commands.registerCommand(
190
- "pluresdb.storeData",
191
- async () => {
192
- const key = await vscode.window.showInputBox({
193
- prompt: "Enter key",
194
- placeHolder: "user:123",
195
- });
196
- if (key) {
197
- const value = await vscode.window.showInputBox({
198
- prompt: "Enter value (JSON)",
199
- placeHolder: '{"name": "John", "email": "john@example.com"}',
200
- });
201
- if (value) {
202
- try {
203
- const parsedValue = JSON.parse(value);
204
- await this.sqliteAPI.put(key, parsedValue);
205
- vscode.window.showInformationMessage(
206
- `Stored data for key: ${key}`,
207
- );
208
- } catch (error) {
209
- vscode.window.showErrorMessage(
210
- `Failed to store data: ${error.message}`,
211
- );
212
- }
213
- }
214
- }
215
- },
216
- );
217
- // Command to retrieve data
218
- const retrieveData = vscode.commands.registerCommand(
219
- "pluresdb.retrieveData",
220
- async () => {
221
- const key = await vscode.window.showInputBox({
222
- prompt: "Enter key to retrieve",
223
- placeHolder: "user:123",
224
- });
225
- if (key) {
226
- try {
227
- const value = await this.sqliteAPI.getValue(key);
228
- if (value) {
229
- const doc = await vscode.workspace.openTextDocument({
230
- content: JSON.stringify(value, null, 2),
231
- language: "json",
232
- });
233
- await vscode.window.showTextDocument(doc);
234
- } else {
235
- vscode.window.showInformationMessage("Key not found");
236
- }
237
- } catch (error) {
238
- vscode.window.showErrorMessage(
239
- `Failed to retrieve data: ${error.message}`,
240
- );
241
- }
242
- }
243
- },
244
- );
245
- // Register all commands
246
- this.context.subscriptions.push(
247
- openWebUI,
248
- executeQuery,
249
- vectorSearch,
250
- storeData,
251
- retrieveData,
252
- );
253
- }
254
- async setupDatabase() {
255
- // Create tables for common VSCode extension use cases
256
- const tables = [
257
- `CREATE TABLE IF NOT EXISTS settings (
258
- key TEXT PRIMARY KEY,
259
- value TEXT,
260
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
261
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
262
- )`,
263
- `CREATE TABLE IF NOT EXISTS documents (
264
- id TEXT PRIMARY KEY,
265
- content TEXT,
266
- language TEXT,
267
- file_path TEXT,
268
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
269
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
270
- )`,
271
- `CREATE TABLE IF NOT EXISTS search_history (
272
- id INTEGER PRIMARY KEY AUTOINCREMENT,
273
- query TEXT,
274
- results_count INTEGER,
275
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
276
- )`,
277
- ];
278
- for (const sql of tables) {
279
- try {
280
- await this.sqliteAPI.exec(sql);
281
- } catch (error) {
282
- console.error("Error creating table:", error);
283
- }
284
- }
285
- }
286
- // Public API methods for other parts of the extension
287
- async storeSetting(key, value) {
288
- return this.sqliteAPI.put(`settings:${key}`, value);
289
- }
290
- async getSetting(key) {
291
- return this.sqliteAPI.getValue(`settings:${key}`);
292
- }
293
- async storeDocument(id, content, language, filePath) {
294
- return this.sqliteAPI.put(`documents:${id}`, {
295
- content,
296
- language,
297
- filePath,
298
- updatedAt: new Date().toISOString(),
299
- });
300
- }
301
- async searchDocuments(query) {
302
- return this.sqliteAPI.vectorSearch(query, 20);
303
- }
304
- async executeSQL(sql, params = []) {
305
- return this.sqliteAPI.all(sql, params);
306
- }
307
- }
308
- exports.PluresExtension = PluresExtension;
309
- // Extension activation function
310
- function activate(context) {
311
- const extension = new PluresExtension(context);
312
- extension.activate();
313
- return extension;
314
- }
315
- // Extension deactivation function
316
- function deactivate(extension) {
317
- extension.deactivate();
318
- }
319
- //# sourceMappingURL=vscode-extension-integration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vscode-extension-integration.js","sourceRoot":"","sources":["vscode-extension-integration.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * VSCode Extension Integration Example
3
- * This shows how to integrate PluresDB into a VSCode extension
4
- */
5
-
6
- import * as vscode from "vscode";
7
- import {
8
- createPluresExtension,
9
- ExtensionContextLike,
10
- PluresVSCodeExtension,
11
- VSCodeAPI,
12
- } from "../src/vscode/extension.ts";
13
-
14
- let extensionInstance: PluresVSCodeExtension | undefined;
15
-
16
- export async function activate(context: vscode.ExtensionContext) {
17
- const mappedContext: ExtensionContextLike = {
18
- subscriptions: context.subscriptions,
19
- globalStorageUri: { fsPath: context.globalStorageUri.fsPath },
20
- };
21
-
22
- const vscodeApi = vscode as unknown as VSCodeAPI;
23
- extensionInstance = createPluresExtension(vscodeApi, mappedContext);
24
-
25
- await extensionInstance.activate();
26
-
27
- context.subscriptions.push({
28
- dispose: () => {
29
- extensionInstance?.deactivate().catch((error) => {
30
- console.error("Failed to deactivate PluresDB extension", error);
31
- });
32
- },
33
- });
34
-
35
- return extensionInstance;
36
- }
37
-
38
- export async function deactivate() {
39
- await extensionInstance?.deactivate();
40
- extensionInstance = undefined;
41
- }