wowok 2.2.7 → 2.2.9

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 (64) hide show
  1. package/NOTICE +4 -4
  2. package/README.md +32 -1
  3. package/THIRD_PARTY_LICENSES/MIT_LICENSE.txt +2 -2
  4. package/dist/cjs/w/call/allocation.js +1 -1
  5. package/dist/cjs/w/call/arbitration.js +1 -1
  6. package/dist/cjs/w/call/contact.js +1 -1
  7. package/dist/cjs/w/call/demand.js +1 -1
  8. package/dist/cjs/w/call/machine.js +1 -1
  9. package/dist/cjs/w/call/order.js +1 -1
  10. package/dist/cjs/w/call/permission.js +1 -1
  11. package/dist/cjs/w/call/repository.js +1 -1
  12. package/dist/cjs/w/call/reward.js +1 -1
  13. package/dist/cjs/w/call/service.js +1 -1
  14. package/dist/cjs/w/call/treasury.js +1 -1
  15. package/dist/cjs/w/local/storage.d.ts +1 -1
  16. package/dist/cjs/w/local/storage.js +1 -1
  17. package/dist/cjs/w/messenger/pq/store-adapter.d.ts +1 -1
  18. package/dist/cjs/w/messenger/storage.d.ts +1 -1
  19. package/dist/cjs/w/messenger/storage.js +1 -1
  20. package/dist/cjs/w/query/event.d.ts +2 -1
  21. package/dist/cjs/w/query/event.js +1 -1
  22. package/dist/cjs/w/query/object.d.ts +11 -0
  23. package/dist/cjs/w/query/object.js +1 -1
  24. package/dist/cjs/w/query/received.d.ts +3 -1
  25. package/dist/cjs/w/query/received.js +1 -1
  26. package/dist/esm/w/call/allocation.js +1 -1
  27. package/dist/esm/w/call/arbitration.js +1 -1
  28. package/dist/esm/w/call/contact.js +1 -1
  29. package/dist/esm/w/call/demand.js +1 -1
  30. package/dist/esm/w/call/machine.js +1 -1
  31. package/dist/esm/w/call/order.js +1 -1
  32. package/dist/esm/w/call/permission.js +1 -1
  33. package/dist/esm/w/call/repository.js +1 -1
  34. package/dist/esm/w/call/reward.js +1 -1
  35. package/dist/esm/w/call/service.js +1 -1
  36. package/dist/esm/w/call/treasury.js +1 -1
  37. package/dist/esm/w/local/storage.d.ts +1 -1
  38. package/dist/esm/w/local/storage.js +1 -1
  39. package/dist/esm/w/messenger/pq/store-adapter.d.ts +1 -1
  40. package/dist/esm/w/messenger/storage.d.ts +1 -1
  41. package/dist/esm/w/messenger/storage.js +1 -1
  42. package/dist/esm/w/query/event.d.ts +2 -1
  43. package/dist/esm/w/query/event.js +1 -1
  44. package/dist/esm/w/query/object.d.ts +11 -0
  45. package/dist/esm/w/query/object.js +1 -1
  46. package/dist/esm/w/query/received.d.ts +3 -1
  47. package/dist/esm/w/query/received.js +1 -1
  48. package/package.json +2 -15
  49. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-arm64.node +0 -0
  50. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-x64.node +0 -0
  51. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm.node +0 -0
  52. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm64.node +0 -0
  53. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-x64.node +0 -0
  54. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-arm64.node +0 -0
  55. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-x64.node +0 -0
  56. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-arm64.node +0 -0
  57. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-x64.node +0 -0
  58. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm.node +0 -0
  59. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm64.node +0 -0
  60. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-x64.node +0 -0
  61. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-arm64.node +0 -0
  62. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-x64.node +0 -0
  63. package/scripts/download-prebuilds.js +0 -252
  64. package/scripts/install-better-sqlite3.js +0 -377
@@ -1,377 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * better-sqlite3 prebuilt binary installation script
5
- *
6
- * Hybrid approach (Option B priority, Option A fallback):
7
- * 1. First check for local prebuilt binaries (Option B) - priority, no network required
8
- * 2. If no matching local version, try downloading from GitHub (Option A)
9
- * 3. If download fails, prompt user for manual installation
10
- *
11
- * This script runs in the following scenarios:
12
- * - During development when running npm install
13
- * - When users install the wowok package
14
- * - When other packages depend on wowok
15
- */
16
-
17
- import { execSync } from "child_process";
18
- import fs from "fs";
19
- import path from "path";
20
- import { fileURLToPath } from "url";
21
-
22
- const __filename = fileURLToPath(import.meta.url);
23
- const __dirname = path.dirname(__filename);
24
-
25
- const GREEN = "\x1b[32m";
26
- const YELLOW = "\x1b[33m";
27
- const RED = "\x1b[31m";
28
- const BLUE = "\x1b[34m";
29
- const NC = "\x1b[0m";
30
-
31
- function log(message) {
32
- console.log(message);
33
- }
34
-
35
- function logInfo(message) {
36
- console.log(`${BLUE}${message}${NC}`);
37
- }
38
-
39
- function logSuccess(message) {
40
- console.log(`${GREEN}${message}${NC}`);
41
- }
42
-
43
- function logWarning(message) {
44
- console.log(`${YELLOW}${message}${NC}`);
45
- }
46
-
47
- function logError(message) {
48
- console.log(`${RED}${message}${NC}`);
49
- }
50
-
51
- // Detect if currently being installed as a dependency
52
- function getInstallContext() {
53
- const cwd = process.cwd();
54
- const isDependency =
55
- cwd.includes("node_modules") ||
56
- !fs.existsSync(path.join(cwd, "package.json"));
57
- return {
58
- cwd,
59
- isDependency,
60
- isDirectInstall: !isDependency,
61
- };
62
- }
63
-
64
- function getPlatformInfo() {
65
- const platform = process.platform;
66
- const arch = process.arch;
67
- const nodeAbi = process.versions.modules;
68
-
69
- const platformMap = {
70
- linux: "linux",
71
- darwin: "darwin",
72
- win32: "win32",
73
- freebsd: "freebsd",
74
- };
75
-
76
- return {
77
- platform: platformMap[platform] || platform,
78
- arch,
79
- nodeAbi,
80
- platformKey: `${platform}-${arch}`,
81
- fullKey: `node-v${nodeAbi}-${platformMap[platform] || platform}-${arch}`,
82
- };
83
- }
84
-
85
- function findLocalPrebuilt(platformInfo, packageRoot) {
86
- const prebuildsDir = path.join(packageRoot, "prebuilds");
87
-
88
- if (fs.existsSync(prebuildsDir)) {
89
- const files = fs.readdirSync(prebuildsDir);
90
-
91
- const exactPattern = new RegExp(
92
- `better-sqlite3-v[\\d.]+-${platformInfo.fullKey}\\.node$`,
93
- );
94
- for (const file of files) {
95
- if (exactPattern.test(file)) {
96
- return {
97
- path: path.join(prebuildsDir, file),
98
- exactMatch: true,
99
- source: "package",
100
- };
101
- }
102
- }
103
-
104
- const platformArchPattern = new RegExp(
105
- `better-sqlite3-v[\\d.]+-node-v[\\d]+-${platformInfo.platform}-${platformInfo.arch}\\.node$`,
106
- );
107
- for (const file of files) {
108
- if (platformArchPattern.test(file)) {
109
- logWarning(
110
- `Found similar version: ${file} (Node ABI may not match)`,
111
- );
112
- return {
113
- path: path.join(prebuildsDir, file),
114
- exactMatch: false,
115
- source: "package",
116
- };
117
- }
118
- }
119
- }
120
-
121
- return null;
122
- }
123
-
124
- function copyPrebuiltToBetterSqlite3(
125
- sourcePath,
126
- betterSqlite3Path,
127
- platformInfo,
128
- ) {
129
- const targetDir = path.join(betterSqlite3Path, "build", "Release");
130
- const targetPath = path.join(targetDir, "better_sqlite3.node");
131
-
132
- fs.mkdirSync(targetDir, { recursive: true });
133
- fs.copyFileSync(sourcePath, targetPath);
134
-
135
- const bindingDir = path.join(
136
- betterSqlite3Path,
137
- "lib",
138
- "binding",
139
- platformInfo.fullKey,
140
- );
141
- fs.mkdirSync(bindingDir, { recursive: true });
142
- fs.copyFileSync(sourcePath, path.join(bindingDir, "better_sqlite3.node"));
143
-
144
- return targetPath;
145
- }
146
-
147
- function downloadPrebuilt(platformInfo, betterSqlite3Path) {
148
- const packageJsonPath = path.join(betterSqlite3Path, "package.json");
149
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
150
- const version = packageJson.version;
151
-
152
- const downloadUrl = `https://github.com/WiseLibs/better-sqlite3/releases/download/v${version}/better-sqlite3-v${version}-${platformInfo.fullKey}.tar.gz`;
153
-
154
- const tempDir = path.join(betterSqlite3Path, ".download-temp");
155
- fs.mkdirSync(tempDir, { recursive: true });
156
- const tempFile = path.join(tempDir, "prebuilt.tar.gz");
157
-
158
- try {
159
- if (process.platform === "win32") {
160
- execSync(
161
- `powershell -Command "Invoke-WebRequest -Uri '${downloadUrl}' -OutFile '${tempFile}'"`,
162
- {
163
- stdio: "pipe",
164
- },
165
- );
166
- } else {
167
- execSync(`curl -L -o "${tempFile}" "${downloadUrl}"`, {
168
- stdio: "pipe",
169
- });
170
- }
171
-
172
- const extractDir = path.join(tempDir, "extracted");
173
- fs.mkdirSync(extractDir, { recursive: true });
174
- execSync(`tar -xzf "${tempFile}" -C "${extractDir}"`, {
175
- stdio: "pipe",
176
- });
177
-
178
- const files = fs.readdirSync(extractDir);
179
- const nodeFile = files.find((f) => f.endsWith(".node"));
180
-
181
- if (!nodeFile) {
182
- throw new Error(".node file not found");
183
- }
184
-
185
- const sourcePath = path.join(extractDir, nodeFile);
186
- const targetPath = copyPrebuiltToBetterSqlite3(
187
- sourcePath,
188
- betterSqlite3Path,
189
- platformInfo,
190
- );
191
-
192
- fs.rmSync(tempDir, { recursive: true, force: true });
193
-
194
- return targetPath;
195
- } catch (error) {
196
- if (fs.existsSync(tempDir)) {
197
- fs.rmSync(tempDir, { recursive: true, force: true });
198
- }
199
- throw error;
200
- }
201
- }
202
-
203
- function tryPrebuildInstall(betterSqlite3Path) {
204
- try {
205
- execSync("npx prebuild-install --verbose", {
206
- cwd: betterSqlite3Path,
207
- stdio: "pipe",
208
- });
209
- return fs.existsSync(
210
- path.join(
211
- betterSqlite3Path,
212
- "build",
213
- "Release",
214
- "better_sqlite3.node",
215
- ),
216
- );
217
- } catch (error) {
218
- return false;
219
- }
220
- }
221
-
222
- function main() {
223
- const context = getInstallContext();
224
- const platformInfo = getPlatformInfo();
225
-
226
- const packageRoot = __dirname.includes("node_modules")
227
- ? path.resolve(__dirname, "..")
228
- : process.cwd();
229
-
230
- const isSilent = context.isDependency;
231
-
232
- if (!isSilent) {
233
- log(`${BLUE}=== better-sqlite3 Prebuilt Binary Installation ===${NC}`);
234
- logInfo(`Platform: ${platformInfo.platform}-${platformInfo.arch}`);
235
- logInfo(`Node.js ABI: node-v${platformInfo.nodeAbi}`);
236
- }
237
-
238
- const possiblePaths = [
239
- path.join(packageRoot, "node_modules", "better-sqlite3"),
240
- path.join(process.cwd(), "node_modules", "better-sqlite3"),
241
- path.join(packageRoot, "..", "better-sqlite3"),
242
- ];
243
-
244
- let betterSqlite3Path = null;
245
- for (const p of possiblePaths) {
246
- if (fs.existsSync(p)) {
247
- betterSqlite3Path = p;
248
- break;
249
- }
250
- }
251
-
252
- if (!betterSqlite3Path) {
253
- if (!isSilent) {
254
- logWarning(
255
- "better-sqlite3 not installed, skipping prebuilt binary installation",
256
- );
257
- logInfo(
258
- "Tip: To use SQLite features, run: npm install better-sqlite3",
259
- );
260
- }
261
- return;
262
- }
263
-
264
- const prebuiltPath = path.join(
265
- betterSqlite3Path,
266
- "build",
267
- "Release",
268
- "better_sqlite3.node",
269
- );
270
- if (fs.existsSync(prebuiltPath)) {
271
- if (!isSilent) {
272
- logSuccess("better-sqlite3 prebuilt binary already exists");
273
- }
274
- return;
275
- }
276
-
277
- if (!isSilent) {
278
- logInfo("");
279
- logInfo("Step 1: Looking for local prebuilt binaries...");
280
- }
281
-
282
- const localPrebuilt = findLocalPrebuilt(platformInfo, packageRoot);
283
-
284
- if (localPrebuilt) {
285
- try {
286
- copyPrebuiltToBetterSqlite3(
287
- localPrebuilt.path,
288
- betterSqlite3Path,
289
- platformInfo,
290
- );
291
- if (!isSilent) {
292
- if (localPrebuilt.exactMatch) {
293
- logSuccess(
294
- "Installed successfully using local prebuilt binary!",
295
- );
296
- } else {
297
- logWarning(
298
- "Installed using similar version, but Node ABI may not match",
299
- );
300
- logInfo(
301
- " If issues occur, consider downloading matching version from GitHub",
302
- );
303
- }
304
- }
305
- return;
306
- } catch (error) {
307
- if (!isSilent) {
308
- logError(`Failed to use local version: ${error.message}`);
309
- }
310
- }
311
- } else if (!isSilent) {
312
- logInfo("No local prebuilt binaries found");
313
- }
314
-
315
- if (!isSilent) {
316
- logInfo("");
317
- logInfo("Step 2: Trying to download prebuilt binary from GitHub...");
318
- }
319
-
320
- if (tryPrebuildInstall(betterSqlite3Path)) {
321
- if (!isSilent) {
322
- logSuccess("Downloaded successfully via prebuild-install!");
323
- }
324
- return;
325
- }
326
-
327
- try {
328
- downloadPrebuilt(platformInfo, betterSqlite3Path);
329
- if (!isSilent) {
330
- logSuccess("Downloaded and installed successfully from GitHub!");
331
- }
332
- return;
333
- } catch (error) {
334
- if (!isSilent) {
335
- logError(`Download failed: ${error.message}`);
336
- }
337
- }
338
-
339
- if (!isSilent) {
340
- logInfo("");
341
- logWarning("========================================");
342
- logWarning("better-sqlite3 prebuilt binary installation failed");
343
- logWarning("========================================");
344
- logInfo("");
345
- logInfo("You can try the following solutions:");
346
- logInfo("");
347
- logInfo("1. Manually download prebuilt binary:");
348
- logInfo(
349
- ` Visit: https://github.com/WiseLibs/better-sqlite3/releases`,
350
- );
351
- logInfo(
352
- ` Download: better-sqlite3-v{version}-${platformInfo.fullKey}.tar.gz`,
353
- );
354
- logInfo(` Extract to: ${betterSqlite3Path}/build/Release/`);
355
- logInfo("");
356
- logInfo("2. Build from source (requires Python and C++ toolchain):");
357
- logInfo(" npm install better-sqlite3 --build-from-source");
358
- logInfo("");
359
- logInfo("3. Use a compatible Node.js version:");
360
- logInfo(
361
- " Check: https://github.com/WiseLibs/better-sqlite3/releases",
362
- );
363
- logInfo(" Find matching prebuilt binaries");
364
- logInfo("");
365
- logWarning("Note: better-sqlite3 will attempt to compile on first use");
366
- logWarning(" Runtime errors may occur if build tools are missing");
367
- } else {
368
- logWarning(
369
- `[wowok] better-sqlite3 prebuilt binary installation failed (${platformInfo.fullKey})`,
370
- );
371
- logWarning(
372
- "[wowok] For SQLite features, manually install prebuilt binary or build toolchain",
373
- );
374
- }
375
- }
376
-
377
- main();