@fairfox/polly 0.20.1 → 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 (53) hide show
  1. package/dist/src/background/index.js.map +7 -7
  2. package/dist/src/background/message-router.js.map +7 -7
  3. package/dist/src/elysia/index.d.ts +2 -0
  4. package/dist/src/elysia/index.js +177 -17
  5. package/dist/src/elysia/index.js.map +8 -5
  6. package/dist/src/elysia/peer-repo-plugin.d.ts +79 -0
  7. package/dist/src/elysia/signaling-server-plugin.d.ts +121 -0
  8. package/dist/src/index.d.ts +36 -0
  9. package/dist/src/index.js +1731 -2
  10. package/dist/src/index.js.map +31 -13
  11. package/dist/src/shared/adapters/index.js.map +6 -6
  12. package/dist/src/shared/lib/_client-only.d.ts +38 -0
  13. package/dist/src/shared/lib/access.d.ts +124 -0
  14. package/dist/src/shared/lib/blob-ref.d.ts +72 -0
  15. package/dist/src/shared/lib/context-helpers.js.map +7 -7
  16. package/dist/src/shared/lib/crdt-specialised.d.ts +129 -0
  17. package/dist/src/shared/lib/crdt-state.d.ts +86 -0
  18. package/dist/src/shared/lib/encryption.d.ts +117 -0
  19. package/dist/src/shared/lib/mesh-network-adapter.d.ts +130 -0
  20. package/dist/src/shared/lib/mesh-signaling-client.d.ts +85 -0
  21. package/dist/src/shared/lib/mesh-state.d.ts +102 -0
  22. package/dist/src/shared/lib/mesh-webrtc-adapter.d.ts +132 -0
  23. package/dist/src/shared/lib/message-bus.js.map +7 -7
  24. package/dist/src/shared/lib/migrate-primitive.d.ts +100 -0
  25. package/dist/src/shared/lib/pairing.d.ts +170 -0
  26. package/dist/src/shared/lib/peer-relay-adapter.d.ts +80 -0
  27. package/dist/src/shared/lib/peer-repo-server.d.ts +83 -0
  28. package/dist/src/shared/lib/peer-state.d.ts +117 -0
  29. package/dist/src/shared/lib/primitive-registry.d.ts +88 -0
  30. package/dist/src/shared/lib/resource.js.map +4 -4
  31. package/dist/src/shared/lib/revocation.d.ts +126 -0
  32. package/dist/src/shared/lib/schema-version.d.ts +129 -0
  33. package/dist/src/shared/lib/signing.d.ts +118 -0
  34. package/dist/src/shared/lib/state.js.map +4 -4
  35. package/dist/src/shared/state/app-state.js.map +5 -5
  36. package/dist/tools/init/src/cli.js.map +1 -1
  37. package/dist/tools/quality/src/index.js +177 -0
  38. package/dist/tools/quality/src/index.js.map +10 -0
  39. package/dist/tools/test/src/adapters/index.js.map +2 -2
  40. package/dist/tools/test/src/browser/harness.d.ts +80 -0
  41. package/dist/tools/test/src/browser/index.d.ts +32 -0
  42. package/dist/tools/test/src/browser/index.js +243 -0
  43. package/dist/tools/test/src/browser/index.js.map +10 -0
  44. package/dist/tools/test/src/browser/run.d.ts +26 -0
  45. package/dist/tools/test/src/index.js.map +2 -2
  46. package/dist/tools/verify/specs/tla/MeshState.cfg +21 -0
  47. package/dist/tools/verify/specs/tla/MeshState.tla +247 -0
  48. package/dist/tools/verify/specs/tla/PeerState.cfg +27 -0
  49. package/dist/tools/verify/specs/tla/PeerState.tla +238 -0
  50. package/dist/tools/verify/specs/tla/README.md +27 -3
  51. package/dist/tools/verify/src/cli.js.map +8 -8
  52. package/dist/tools/visualize/src/cli.js.map +7 -7
  53. package/package.json +47 -5
@@ -1,6 +1,28 @@
1
- # TLA+ Formal Specification for MessageRouter
1
+ # TLA+ Formal Specifications for Polly
2
2
 
3
- This directory contains formal specifications for the web extension's message routing system using TLA+ (Temporal Logic of Actions).
3
+ This directory contains formal specifications for Polly's distributed
4
+ protocols using TLA+ (Temporal Logic of Actions). There are three specs:
5
+
6
+ - **MessageRouter.tla** — the original message-routing spec for the web
7
+ extension's cross-context message bus. Single-writer, routing-focused,
8
+ verifies loop-freedom and eventual delivery.
9
+
10
+ - **PeerState.tla** — the RFC-041 Phase 1 protocol for `$peerState`, the
11
+ middle resilience tier where the server participates as a full peer on
12
+ the data path. Multi-writer, set-oriented, verifies strong eventual
13
+ convergence and recovery after server data loss. See the header comment
14
+ in the file for the full property list.
15
+
16
+ - **MeshState.tla** — the RFC-041 Phase 2 protocol for `$meshState`, the
17
+ strongest resilience tier where the server is not on the data path.
18
+ Extends PeerState with signed operations, per-peer access sets, and
19
+ key revocation. Verifies signature soundness (a peer never observes
20
+ an op from outside its access set), revocation convergence (once a
21
+ peer is revoked, honest peers drop its future ops), and no-fabrication
22
+ (every op in any replica has a known producer).
23
+
24
+ Each spec has a companion `.cfg` file with the small bounded constants
25
+ TLC uses when model-checking the spec exhaustively.
4
26
 
5
27
  ## What is This?
6
28
 
@@ -51,8 +73,10 @@ bun run tla:down # Stop container
51
73
  # Start the TLA+ container
52
74
  docker-compose -f specs/docker-compose.yml up -d
53
75
 
54
- # Run the model checker
76
+ # Run the model checker against each spec
55
77
  docker-compose -f specs/docker-compose.yml exec tla tlc MessageRouter.tla
78
+ docker-compose -f specs/docker-compose.yml exec tla tlc PeerState.tla
79
+ docker-compose -f specs/docker-compose.yml exec tla tlc MeshState.tla
56
80
 
57
81
  # Interactive shell (for exploring)
58
82
  docker-compose -f specs/docker-compose.yml exec tla sh