@keyneom/sync-kit 0.1.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 (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/dist/auth/google-web/index.d.ts +53 -0
  4. package/dist/auth/google-web/index.d.ts.map +1 -0
  5. package/dist/auth/google-web/index.js +115 -0
  6. package/dist/auth/google-web/index.js.map +1 -0
  7. package/dist/core/errors.d.ts +11 -0
  8. package/dist/core/errors.d.ts.map +1 -0
  9. package/dist/core/errors.js +19 -0
  10. package/dist/core/errors.js.map +1 -0
  11. package/dist/core/index.d.ts +3 -0
  12. package/dist/core/index.d.ts.map +1 -0
  13. package/dist/core/index.js +3 -0
  14. package/dist/core/index.js.map +1 -0
  15. package/dist/core/types.d.ts +52 -0
  16. package/dist/core/types.d.ts.map +1 -0
  17. package/dist/core/types.js +2 -0
  18. package/dist/core/types.js.map +1 -0
  19. package/dist/crypto/base64url.d.ts +3 -0
  20. package/dist/crypto/base64url.d.ts.map +1 -0
  21. package/dist/crypto/base64url.js +34 -0
  22. package/dist/crypto/base64url.js.map +1 -0
  23. package/dist/crypto/canonical.d.ts +3 -0
  24. package/dist/crypto/canonical.d.ts.map +1 -0
  25. package/dist/crypto/canonical.js +30 -0
  26. package/dist/crypto/canonical.js.map +1 -0
  27. package/dist/crypto/envelope.d.ts +31 -0
  28. package/dist/crypto/envelope.d.ts.map +1 -0
  29. package/dist/crypto/envelope.js +109 -0
  30. package/dist/crypto/envelope.js.map +1 -0
  31. package/dist/crypto/index.d.ts +6 -0
  32. package/dist/crypto/index.d.ts.map +1 -0
  33. package/dist/crypto/index.js +6 -0
  34. package/dist/crypto/index.js.map +1 -0
  35. package/dist/crypto/profiles.d.ts +73 -0
  36. package/dist/crypto/profiles.d.ts.map +1 -0
  37. package/dist/crypto/profiles.js +48 -0
  38. package/dist/crypto/profiles.js.map +1 -0
  39. package/dist/crypto/runtime.d.ts +11 -0
  40. package/dist/crypto/runtime.d.ts.map +1 -0
  41. package/dist/crypto/runtime.js +57 -0
  42. package/dist/crypto/runtime.js.map +1 -0
  43. package/dist/index.d.ts +4 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +4 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/keys/web-passkey/index.d.ts +34 -0
  48. package/dist/keys/web-passkey/index.d.ts.map +1 -0
  49. package/dist/keys/web-passkey/index.js +186 -0
  50. package/dist/keys/web-passkey/index.js.map +1 -0
  51. package/dist/snapshot/controller.d.ts +23 -0
  52. package/dist/snapshot/controller.d.ts.map +1 -0
  53. package/dist/snapshot/controller.js +150 -0
  54. package/dist/snapshot/controller.js.map +1 -0
  55. package/dist/snapshot/index.d.ts +2 -0
  56. package/dist/snapshot/index.d.ts.map +1 -0
  57. package/dist/snapshot/index.js +2 -0
  58. package/dist/snapshot/index.js.map +1 -0
  59. package/dist/snapshot/lifecycle.d.ts +11 -0
  60. package/dist/snapshot/lifecycle.d.ts.map +1 -0
  61. package/dist/snapshot/lifecycle.js +37 -0
  62. package/dist/snapshot/lifecycle.js.map +1 -0
  63. package/dist/stores/google-drive/index.d.ts +43 -0
  64. package/dist/stores/google-drive/index.d.ts.map +1 -0
  65. package/dist/stores/google-drive/index.js +136 -0
  66. package/dist/stores/google-drive/index.js.map +1 -0
  67. package/fixtures/v1/easybc-web-android-gzip.json +41 -0
  68. package/fixtures/v1/easybc-web-uncompressed.json +35 -0
  69. package/fixtures/v1/failures.json +42 -0
  70. package/fixtures/v1/family-chores-web-uncompressed.json +73 -0
  71. package/fixtures/v1/profiles.json +51 -0
  72. package/package.json +76 -0
@@ -0,0 +1,51 @@
1
+ {
2
+ "generatedAt": "2026-06-29",
3
+ "profiles": [
4
+ {
5
+ "appId": "easy-bc",
6
+ "filename": "easybc-sync-v1.json",
7
+ "aad": "easy-bc-sync-envelope-v1",
8
+ "hkdfInfo": "easy-bc-cloud-content-key-v1",
9
+ "compression": "gzip-if-smaller",
10
+ "algorithm": "AES-256-GCM+HKDF-SHA-256",
11
+ "schemaVersion": 1,
12
+ "nonceBytes": 12,
13
+ "kdfSaltBytes": 32,
14
+ "prfInputBytes": 32,
15
+ "tagBits": 128,
16
+ "passkey": {
17
+ "rpId": "keyneom.github.io",
18
+ "rpName": "EasyBC",
19
+ "userName": "encrypted-sync",
20
+ "userDisplayName": "EasyBC encrypted sync",
21
+ "algorithm": -7,
22
+ "residentKey": "required",
23
+ "userVerification": "required",
24
+ "timeoutMs": 60000
25
+ }
26
+ },
27
+ {
28
+ "appId": "family-chores",
29
+ "filename": "family-chores-sync-v1.json",
30
+ "aad": "family-chores-sync-envelope-v1",
31
+ "hkdfInfo": "family-chores-cloud-content-key-v1",
32
+ "compression": "none",
33
+ "algorithm": "AES-256-GCM+HKDF-SHA-256",
34
+ "schemaVersion": 1,
35
+ "nonceBytes": 12,
36
+ "kdfSaltBytes": 32,
37
+ "prfInputBytes": 32,
38
+ "tagBits": 128,
39
+ "passkey": {
40
+ "rpId": "keyneom.github.io",
41
+ "rpName": "Family Chores",
42
+ "userName": "encrypted-sync",
43
+ "userDisplayName": "Family Chores encrypted sync",
44
+ "algorithm": -7,
45
+ "residentKey": "required",
46
+ "userVerification": "required",
47
+ "timeoutMs": 60000
48
+ }
49
+ }
50
+ ]
51
+ }
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@keyneom/sync-kit",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "description": "Provider-neutral encrypted application-data synchronization with opt-in browser adapters.",
6
+ "type": "module",
7
+ "license": "MIT",
8
+ "sideEffects": false,
9
+ "files": [
10
+ "dist",
11
+ "fixtures",
12
+ "README.md",
13
+ "LICENSE"
14
+ ],
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ },
20
+ "./core": {
21
+ "types": "./dist/core/index.d.ts",
22
+ "import": "./dist/core/index.js"
23
+ },
24
+ "./crypto": {
25
+ "types": "./dist/crypto/index.d.ts",
26
+ "import": "./dist/crypto/index.js"
27
+ },
28
+ "./snapshot": {
29
+ "types": "./dist/snapshot/index.d.ts",
30
+ "import": "./dist/snapshot/index.js"
31
+ },
32
+ "./snapshot/lifecycle": {
33
+ "types": "./dist/snapshot/lifecycle.d.ts",
34
+ "import": "./dist/snapshot/lifecycle.js"
35
+ },
36
+ "./keys/web-passkey": {
37
+ "types": "./dist/keys/web-passkey/index.d.ts",
38
+ "import": "./dist/keys/web-passkey/index.js"
39
+ },
40
+ "./auth/google-web": {
41
+ "types": "./dist/auth/google-web/index.d.ts",
42
+ "import": "./dist/auth/google-web/index.js"
43
+ },
44
+ "./stores/google-drive": {
45
+ "types": "./dist/stores/google-drive/index.d.ts",
46
+ "import": "./dist/stores/google-drive/index.js"
47
+ },
48
+ "./fixtures/*": "./fixtures/*"
49
+ },
50
+ "scripts": {
51
+ "build": "tsc -p tsconfig.build.json",
52
+ "check": "npm run fixtures:check && npm run lint && npm run typecheck && npm test && npm run build && npm run pack:check",
53
+ "fixtures": "node scripts/generate-v1-fixtures.mjs",
54
+ "fixtures:check": "node scripts/check-v1-fixtures.mjs",
55
+ "lint": "eslint .",
56
+ "pack:check": "node scripts/check-package.mjs",
57
+ "prepack": "npm run build",
58
+ "test": "vitest run",
59
+ "typecheck": "tsc --noEmit"
60
+ },
61
+ "engines": {
62
+ "node": ">=20"
63
+ },
64
+ "publishConfig": {
65
+ "access": "public",
66
+ "provenance": true
67
+ },
68
+ "devDependencies": {
69
+ "@eslint/js": "^9.30.0",
70
+ "@types/node": "^24.0.0",
71
+ "eslint": "^9.30.0",
72
+ "typescript": "^5.9.0",
73
+ "typescript-eslint": "^8.35.0",
74
+ "vitest": "^4.0.0"
75
+ }
76
+ }