@fairfox/polly 0.20.0 → 0.21.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 (81) hide show
  1. package/README.md +11 -0
  2. package/dist/src/background/index.js +22 -12
  3. package/dist/src/background/index.js.map +8 -8
  4. package/dist/src/background/message-router.js +22 -12
  5. package/dist/src/background/message-router.js.map +8 -8
  6. package/dist/src/client/index.js +187 -154
  7. package/dist/src/client/index.js.map +4 -4
  8. package/dist/src/elysia/index.d.ts +2 -0
  9. package/dist/src/elysia/index.js +195 -25
  10. package/dist/src/elysia/index.js.map +8 -5
  11. package/dist/src/elysia/peer-repo-plugin.d.ts +79 -0
  12. package/dist/src/elysia/plugin.d.ts +3 -3
  13. package/dist/src/elysia/signaling-server-plugin.d.ts +121 -0
  14. package/dist/src/index.d.ts +36 -0
  15. package/dist/src/index.js +1752 -13
  16. package/dist/src/index.js.map +31 -13
  17. package/dist/src/shared/adapters/index.js +22 -12
  18. package/dist/src/shared/adapters/index.js.map +7 -7
  19. package/dist/src/shared/lib/_client-only.d.ts +38 -0
  20. package/dist/src/shared/lib/access.d.ts +124 -0
  21. package/dist/src/shared/lib/blob-ref.d.ts +72 -0
  22. package/dist/src/shared/lib/context-helpers.js +22 -12
  23. package/dist/src/shared/lib/context-helpers.js.map +8 -8
  24. package/dist/src/shared/lib/crdt-specialised.d.ts +129 -0
  25. package/dist/src/shared/lib/crdt-state.d.ts +86 -0
  26. package/dist/src/shared/lib/encryption.d.ts +117 -0
  27. package/dist/src/shared/lib/errors.js +19 -9
  28. package/dist/src/shared/lib/errors.js.map +2 -2
  29. package/dist/src/shared/lib/mesh-network-adapter.d.ts +130 -0
  30. package/dist/src/shared/lib/mesh-signaling-client.d.ts +85 -0
  31. package/dist/src/shared/lib/mesh-state.d.ts +102 -0
  32. package/dist/src/shared/lib/mesh-webrtc-adapter.d.ts +132 -0
  33. package/dist/src/shared/lib/message-bus.js +22 -12
  34. package/dist/src/shared/lib/message-bus.js.map +8 -8
  35. package/dist/src/shared/lib/migrate-primitive.d.ts +100 -0
  36. package/dist/src/shared/lib/pairing.d.ts +170 -0
  37. package/dist/src/shared/lib/peer-relay-adapter.d.ts +80 -0
  38. package/dist/src/shared/lib/peer-repo-server.d.ts +83 -0
  39. package/dist/src/shared/lib/peer-state.d.ts +117 -0
  40. package/dist/src/shared/lib/primitive-registry.d.ts +88 -0
  41. package/dist/src/shared/lib/resource.js +22 -12
  42. package/dist/src/shared/lib/resource.js.map +5 -5
  43. package/dist/src/shared/lib/revocation.d.ts +126 -0
  44. package/dist/src/shared/lib/schema-version.d.ts +129 -0
  45. package/dist/src/shared/lib/signing.d.ts +118 -0
  46. package/dist/src/shared/lib/state.js +22 -12
  47. package/dist/src/shared/lib/state.js.map +5 -5
  48. package/dist/src/shared/lib/test-helpers.js +19 -9
  49. package/dist/src/shared/lib/test-helpers.js.map +2 -2
  50. package/dist/src/shared/state/app-state.js +22 -12
  51. package/dist/src/shared/state/app-state.js.map +6 -6
  52. package/dist/src/shared/types/messages.js +19 -9
  53. package/dist/src/shared/types/messages.js.map +2 -2
  54. package/dist/tools/init/src/cli.js +6 -2
  55. package/dist/tools/init/src/cli.js.map +3 -3
  56. package/dist/tools/quality/src/index.js +177 -0
  57. package/dist/tools/quality/src/index.js.map +10 -0
  58. package/dist/tools/test/src/adapters/index.d.ts +2 -2
  59. package/dist/tools/test/src/adapters/index.js +19 -9
  60. package/dist/tools/test/src/adapters/index.js.map +5 -5
  61. package/dist/tools/test/src/browser/harness.d.ts +80 -0
  62. package/dist/tools/test/src/browser/index.d.ts +32 -0
  63. package/dist/tools/test/src/browser/index.js +243 -0
  64. package/dist/tools/test/src/browser/index.js.map +10 -0
  65. package/dist/tools/test/src/browser/run.d.ts +26 -0
  66. package/dist/tools/test/src/index.js +19 -9
  67. package/dist/tools/test/src/index.js.map +5 -5
  68. package/dist/tools/test/src/test-utils.js +19 -9
  69. package/dist/tools/test/src/test-utils.js.map +2 -2
  70. package/dist/tools/verify/specs/tla/MeshState.cfg +21 -0
  71. package/dist/tools/verify/specs/tla/MeshState.tla +247 -0
  72. package/dist/tools/verify/specs/tla/PeerState.cfg +27 -0
  73. package/dist/tools/verify/specs/tla/PeerState.tla +238 -0
  74. package/dist/tools/verify/specs/tla/README.md +27 -3
  75. package/dist/tools/verify/src/cli.js +10 -6
  76. package/dist/tools/verify/src/cli.js.map +10 -10
  77. package/dist/tools/verify/src/config.js +19 -9
  78. package/dist/tools/verify/src/config.js.map +2 -2
  79. package/dist/tools/visualize/src/cli.js +6 -2
  80. package/dist/tools/visualize/src/cli.js.map +8 -8
  81. package/package.json +52 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fairfox/polly",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Multi-execution-context framework with reactive state and cross-context messaging for Chrome extensions, PWAs, and worker-based applications",
@@ -58,6 +58,14 @@
58
58
  "import": "./dist/tools/test/src/index.js",
59
59
  "types": "./dist/tools/test/src/index.d.ts"
60
60
  },
61
+ "./test/browser": {
62
+ "import": "./dist/tools/test/src/browser/index.js",
63
+ "types": "./dist/tools/test/src/browser/index.d.ts"
64
+ },
65
+ "./quality": {
66
+ "import": "./dist/tools/quality/src/index.js",
67
+ "types": "./dist/tools/quality/src/index.d.ts"
68
+ },
61
69
  "./elysia": {
62
70
  "import": "./dist/src/elysia/index.js",
63
71
  "types": "./dist/src/elysia/index.d.ts"
@@ -95,32 +103,43 @@
95
103
  "publish:public": "npm publish --access public --otp=$(pass-cli item totp --output json --item-id Rdr--oUgHp-IfyjoTB7vhMPHfNt6Oz2JpXfS1WrdQMQ9damDMPOvKiOxxpCZqp92WgqXnfY68cSXWdQ_JVMNMQ== --share-id Ixmpll6U5ioU_1P4fzUbarQNANRPU51O68xzFblTB08S0HUfw4dhQaNAv4Yv7Sud_Vf8ps4mnQUFqdvN-eTRdQ== | jq -r '.totp')"
96
104
  },
97
105
  "devDependencies": {
98
- "@biomejs/biome": "^2.3.10",
99
- "@types/bun": "^1.3.5",
100
- "@types/chrome": "^0.1.32",
106
+ "@automerge/automerge-repo": "^2.5.5",
107
+ "@automerge/automerge-repo-network-websocket": "^2.5.5",
108
+ "@automerge/automerge-repo-storage-indexeddb": "^2.5.5",
109
+ "@automerge/automerge-repo-storage-nodefs": "^2.5.5",
110
+ "@biomejs/biome": "^2.4.8",
111
+ "@elysiajs/eden": "^1.4.8",
112
+ "@types/bun": "^1.3.10",
113
+ "@types/chrome": "^0.1.38",
101
114
  "@types/serialize-javascript": "^5.0.4",
115
+ "@types/ws": "^8.18.1",
116
+ "elysia": "^1.4.28",
102
117
  "fast-check": "^3.23.2",
118
+ "puppeteer": "^24.41.0",
119
+ "tweetnacl": "^1.0.3",
103
120
  "typescript": "^5.9.3"
104
121
  },
105
122
  "engines": {
106
123
  "bun": ">=1.2.0"
107
124
  },
108
125
  "dependencies": {
109
- "@preact/signals": "^2.5.1",
110
- "preact": "^10.28.1",
126
+ "@preact/signals": "^2.8.2",
127
+ "preact": "^10.29.0",
111
128
  "serialize-javascript": "^6.0.2",
112
129
  "ts-morph": "^21.0.1"
113
130
  },
114
- "optionalDependencies": {
115
- "elysia": "^1.4.0",
116
- "@elysiajs/eden": "^1.2.0"
117
- },
118
131
  "peerDependencies": {
119
132
  "typescript": "^5.9.3",
120
133
  "preact": "^10.28.1",
121
134
  "@preact/signals": "^2.5.1",
122
135
  "elysia": ">= 1.4.0",
123
- "@elysiajs/eden": ">= 1.2.0"
136
+ "@elysiajs/eden": ">= 1.2.0",
137
+ "@automerge/automerge-repo": ">= 2.5.0",
138
+ "@automerge/automerge-repo-network-websocket": ">= 2.5.0",
139
+ "@automerge/automerge-repo-storage-indexeddb": ">= 2.5.0",
140
+ "@automerge/automerge-repo-storage-nodefs": ">= 2.5.0",
141
+ "ws": ">= 8.0.0",
142
+ "tweetnacl": ">= 1.0.0"
124
143
  },
125
144
  "peerDependenciesMeta": {
126
145
  "elysia": {
@@ -128,6 +147,24 @@
128
147
  },
129
148
  "@elysiajs/eden": {
130
149
  "optional": true
150
+ },
151
+ "@automerge/automerge-repo": {
152
+ "optional": true
153
+ },
154
+ "@automerge/automerge-repo-network-websocket": {
155
+ "optional": true
156
+ },
157
+ "@automerge/automerge-repo-storage-indexeddb": {
158
+ "optional": true
159
+ },
160
+ "@automerge/automerge-repo-storage-nodefs": {
161
+ "optional": true
162
+ },
163
+ "ws": {
164
+ "optional": true
165
+ },
166
+ "tweetnacl": {
167
+ "optional": true
131
168
  }
132
169
  },
133
170
  "keywords": [
@@ -158,5 +195,8 @@
158
195
  "bugs": {
159
196
  "url": "https://github.com/AlexJeffcott/polly/issues"
160
197
  },
161
- "homepage": "https://github.com/AlexJeffcott/polly#readme"
198
+ "homepage": "https://github.com/AlexJeffcott/polly#readme",
199
+ "trustedDependencies": [
200
+ "node-datachannel"
201
+ ]
162
202
  }