ribaunt 0.2.2 → 0.2.4

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 (60) hide show
  1. package/README.md +113 -10
  2. package/demo/lib/ribaunt-solver.wasm +0 -0
  3. package/demo/lib/solver-worker.js +174 -0
  4. package/demo/lib/solver-worker.js.map +1 -0
  5. package/demo/lib/solver.js +135 -0
  6. package/demo/lib/solver.js.map +1 -0
  7. package/demo/lib/wasm-solver.js +296 -0
  8. package/demo/lib/wasm-solver.js.map +1 -0
  9. package/demo/lib/widget-browser.js +9 -0
  10. package/demo/lib/widget-browser.js.map +1 -0
  11. package/demo/lib/widget.js +942 -0
  12. package/demo/lib/widget.js.map +1 -0
  13. package/demo/lib/worker-client.js +128 -0
  14. package/demo/lib/worker-client.js.map +1 -0
  15. package/dist/cjs/index.d.ts +48 -3
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +196 -17
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/risk.d.ts +124 -0
  20. package/dist/cjs/risk.d.ts.map +1 -0
  21. package/dist/cjs/risk.js +213 -0
  22. package/dist/cjs/risk.js.map +1 -0
  23. package/dist/index.d.ts +48 -3
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +193 -16
  26. package/dist/index.js.map +1 -1
  27. package/dist/ribaunt-solver.wasm +0 -0
  28. package/dist/risk.d.ts +124 -0
  29. package/dist/risk.d.ts.map +1 -0
  30. package/dist/risk.js +202 -0
  31. package/dist/risk.js.map +1 -0
  32. package/dist/solver-worker.d.ts.map +1 -1
  33. package/dist/solver-worker.js +166 -7
  34. package/dist/solver-worker.js.map +1 -1
  35. package/dist/solver.d.ts +1 -0
  36. package/dist/solver.d.ts.map +1 -1
  37. package/dist/solver.js +38 -3
  38. package/dist/solver.js.map +1 -1
  39. package/dist/wasm-solver.d.ts +29 -0
  40. package/dist/wasm-solver.d.ts.map +1 -0
  41. package/dist/wasm-solver.js +296 -0
  42. package/dist/wasm-solver.js.map +1 -0
  43. package/dist/widget-browser.d.ts +3 -2
  44. package/dist/widget-browser.d.ts.map +1 -1
  45. package/dist/widget-browser.js +1 -1
  46. package/dist/widget-browser.js.map +1 -1
  47. package/dist/widget-react.d.ts +4 -1
  48. package/dist/widget-react.d.ts.map +1 -1
  49. package/dist/widget-react.js +102 -14
  50. package/dist/widget-react.js.map +1 -1
  51. package/dist/widget.d.ts +42 -14
  52. package/dist/widget.d.ts.map +1 -1
  53. package/dist/widget.js +254 -12
  54. package/dist/widget.js.map +1 -1
  55. package/dist/worker-client.d.ts +7 -1
  56. package/dist/worker-client.d.ts.map +1 -1
  57. package/dist/worker-client.js +69 -19
  58. package/dist/worker-client.js.map +1 -1
  59. package/package.json +22 -9
  60. package/context7.json +0 -4
@@ -9,7 +9,8 @@ export class WorkerUnavailableError extends Error {
9
9
  function abortError() {
10
10
  return new DOMException('Challenge solving aborted', 'AbortError');
11
11
  }
12
- function solveInWorker(tokens, onProgress, signal) {
12
+ const CANCEL_GRACE_MS = 250;
13
+ function solveInWorker(tokens, onProgress, signal, wasmMode = 'preferred', onBackend) {
13
14
  return new Promise((resolve, reject) => {
14
15
  if (typeof Worker === 'undefined') {
15
16
  reject(new WorkerUnavailableError());
@@ -24,47 +25,96 @@ function solveInWorker(tokens, onProgress, signal) {
24
25
  return;
25
26
  }
26
27
  const id = globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
27
- const cleanup = () => {
28
+ let cancelTimer;
29
+ let cancelled = false;
30
+ const release = () => {
31
+ if (cancelTimer !== undefined)
32
+ clearTimeout(cancelTimer);
33
+ cancelTimer = undefined;
28
34
  signal?.removeEventListener('abort', handleAbort);
35
+ };
36
+ const finish = () => {
37
+ release();
29
38
  worker.terminate();
30
39
  };
31
40
  const handleAbort = () => {
32
- cleanup();
33
- reject(abortError());
41
+ if (cancelled)
42
+ return;
43
+ cancelled = true;
44
+ worker.postMessage({ type: 'cancel', id });
45
+ cancelTimer = setTimeout(() => {
46
+ finish();
47
+ reject(abortError());
48
+ }, CANCEL_GRACE_MS);
34
49
  };
35
- if (signal?.aborted) {
36
- handleAbort();
37
- return;
38
- }
39
- signal?.addEventListener('abort', handleAbort, { once: true });
40
- worker.addEventListener('error', () => {
41
- cleanup();
42
- reject(new WorkerUnavailableError('The solver worker failed to load'));
43
- }, { once: true });
44
50
  worker.addEventListener('message', (event) => {
45
51
  const message = event.data;
46
52
  if (!message || message.id !== id)
47
53
  return;
54
+ if (message.type === 'cancelled') {
55
+ release();
56
+ reject(abortError());
57
+ return;
58
+ }
59
+ if (message.type === 'backend' && message.backend) {
60
+ if (cancelled)
61
+ return;
62
+ try {
63
+ onBackend?.(message.backend);
64
+ }
65
+ catch {
66
+ // telemetry must never break solving
67
+ }
68
+ return;
69
+ }
70
+ if (cancelled)
71
+ return;
48
72
  if (message.type === 'progress' && message.progress !== undefined) {
49
73
  onProgress?.(message.progress);
50
74
  }
51
75
  else if (message.type === 'result' && message.solutions) {
52
- cleanup();
76
+ finish();
53
77
  resolve(message.solutions);
54
78
  }
55
79
  else if (message.type === 'error') {
56
- cleanup();
80
+ finish();
57
81
  reject(new Error(message.error ?? 'Worker solving failed'));
58
82
  }
59
83
  });
60
- worker.postMessage({ type: 'solve', id, tokens });
84
+ worker.addEventListener('error', () => {
85
+ finish();
86
+ reject(new WorkerUnavailableError('The solver worker failed to load'));
87
+ }, { once: true });
88
+ if (signal?.aborted) {
89
+ finish();
90
+ reject(abortError());
91
+ return;
92
+ }
93
+ signal?.addEventListener('abort', handleAbort, { once: true });
94
+ worker.postMessage({ type: 'solve', id, tokens, wasmMode });
61
95
  });
62
96
  }
63
- export async function solveChallengeWithWorker(tokens, onProgress, signal, mode = 'preferred') {
64
- if (mode === 'disabled')
97
+ export async function solveChallengeWithWorker(tokens, onProgress, signal, mode = 'preferred', wasmMode = 'preferred', onBackend) {
98
+ // Backwards compat: if wasmMode is an options object, normalize
99
+ // Also support legacy 4-arg calls where 5th arg is wasmMode string
100
+ let normalizedWasmMode = wasmMode;
101
+ let normalizedOnBackend = onBackend;
102
+ // If 5th arg looks like object with wasmMode property, handle (future proof)
103
+ if (typeof wasmMode === 'object' && wasmMode !== null && 'wasmMode' in wasmMode) {
104
+ const opts = wasmMode;
105
+ normalizedWasmMode = opts.wasmMode ?? 'preferred';
106
+ normalizedOnBackend = opts.onBackend;
107
+ }
108
+ if (normalizedWasmMode !== 'preferred' && normalizedWasmMode !== 'disabled') {
109
+ normalizedWasmMode = 'preferred';
110
+ }
111
+ if (mode === 'disabled') {
112
+ // Even when worker disabled, we still solve on main thread via JS (no wasm on main thread for v1)
113
+ // Telemetry for main thread fallback is not needed
65
114
  return solveChallenge(tokens, onProgress, signal);
115
+ }
66
116
  try {
67
- return await solveInWorker(tokens, onProgress, signal);
117
+ return await solveInWorker(tokens, onProgress, signal, normalizedWasmMode, normalizedOnBackend);
68
118
  }
69
119
  catch (error) {
70
120
  if (mode === 'preferred'
@@ -1 +1 @@
1
- {"version":3,"file":"worker-client.js","sourceRoot":"","sources":["../src/worker-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAEf,MAAM,aAAa,CAAC;AAIrB,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAG/C,YAAY,OAAO,GAAG,mCAAmC;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAG,oBAAoB,CAAC;QAInC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAUD,SAAS,UAAU;IACjB,OAAO,IAAI,YAAY,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CACpB,MAAgB,EAChB,UAAuC,EACvC,MAAoB;IAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,sBAAsB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACjF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,sBAAsB,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACzE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAkC,EAAE,EAAE;YACxE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE;gBAAE,OAAO;YAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClE,UAAU,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1D,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpC,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAgB,EAChB,UAAuC,EACvC,MAAoB,EACpB,OAAmB,WAAW;IAE9B,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE3E,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,IAAI,KAAK,WAAW;eACjB,KAAK,YAAY,sBAAsB;eACvC,CAAC,MAAM,EAAE,OAAO,EACnB,CAAC;YACD,OAAO,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"worker-client.js","sourceRoot":"","sources":["../src/worker-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ribaunt",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "A PoW CAPTCHA library that provides stateless and secure user verification",
5
5
  "homepage": "https://ribaunt.com",
6
6
  "bugs": {
@@ -36,7 +36,8 @@
36
36
  "./worker-client": {
37
37
  "types": "./dist/worker-client.d.ts",
38
38
  "default": "./dist/worker-client.js"
39
- }
39
+ },
40
+ "./package.json": "./package.json"
40
41
  },
41
42
  "repository": {
42
43
  "type": "git",
@@ -45,29 +46,34 @@
45
46
  "license": "GPL-3.0-only",
46
47
  "author": "ribaunt",
47
48
  "type": "module",
48
- "scripts": {
49
- "build": "node scripts/clean.mjs && tsc && tsc --project tsconfig.cjs.json && node scripts/prepare-cjs.mjs",
50
- "test": "vitest run",
51
- "test:coverage": "vitest run --coverage"
49
+ "engines": {
50
+ "node": ">=22"
52
51
  },
53
52
  "devDependencies": {
53
+ "@eslint/js": "^10.0.1",
54
54
  "@types/jsonwebtoken": "^9.0.10",
55
55
  "@types/node": "^24.6.2",
56
56
  "@types/react": "^19.2.14",
57
57
  "@types/react-dom": "^19.2.3",
58
58
  "@vitest/coverage-v8": "^4.1.9",
59
+ "assemblyscript": "0.28.20",
59
60
  "dotenv": "^17.2.3",
61
+ "eslint": "^10.9.0",
62
+ "eslint-plugin-react-hooks": "^7.1.1",
63
+ "globals": "^17.11.0",
64
+ "ioredis": "^6.0.0",
60
65
  "jsdom": "^27.0.1",
61
66
  "react": "^19.2.4",
62
67
  "react-dom": "^19.2.4",
63
68
  "typescript": "^5.9.3",
69
+ "typescript-eslint": "^8.67.0",
64
70
  "vitest": "^4.1.9"
65
71
  },
66
72
  "peerDependencies": {
67
73
  "ioredis": ">=5.0.0",
68
- "redis": ">=4.0.0",
69
74
  "react": "^18.0.0 || ^19.0.0",
70
- "react-dom": "^18.0.0 || ^19.0.0"
75
+ "react-dom": "^18.0.0 || ^19.0.0",
76
+ "redis": ">=4.0.0"
71
77
  },
72
78
  "peerDependenciesMeta": {
73
79
  "ioredis": {
@@ -85,5 +91,12 @@
85
91
  },
86
92
  "dependencies": {
87
93
  "jsonwebtoken": "^9.0.2"
94
+ },
95
+ "scripts": {
96
+ "build": "node scripts/clean.mjs && node scripts/build-wasm.mjs && tsc && tsc --project tsconfig.cjs.json && node scripts/prepare-cjs.mjs && node scripts/prepare-demo.mjs",
97
+ "build:wasm": "node scripts/build-wasm.mjs",
98
+ "lint": "eslint .",
99
+ "test": "pnpm run build && vitest run",
100
+ "test:coverage": "pnpm run build && vitest run --coverage"
88
101
  }
89
- }
102
+ }
package/context7.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "url": "https://context7.com/ribaunt/ribaunt",
3
- "public_key": "pk_0hOWdNLxagQvIBshSH0ZZ"
4
- }