@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.
- package/dist/src/background/index.js.map +7 -7
- package/dist/src/background/message-router.js.map +7 -7
- package/dist/src/elysia/index.d.ts +2 -0
- package/dist/src/elysia/index.js +177 -17
- package/dist/src/elysia/index.js.map +8 -5
- package/dist/src/elysia/peer-repo-plugin.d.ts +79 -0
- package/dist/src/elysia/signaling-server-plugin.d.ts +121 -0
- package/dist/src/index.d.ts +36 -0
- package/dist/src/index.js +1731 -2
- package/dist/src/index.js.map +31 -13
- package/dist/src/shared/adapters/index.js.map +6 -6
- package/dist/src/shared/lib/_client-only.d.ts +38 -0
- package/dist/src/shared/lib/access.d.ts +124 -0
- package/dist/src/shared/lib/blob-ref.d.ts +72 -0
- package/dist/src/shared/lib/context-helpers.js.map +7 -7
- package/dist/src/shared/lib/crdt-specialised.d.ts +129 -0
- package/dist/src/shared/lib/crdt-state.d.ts +86 -0
- package/dist/src/shared/lib/encryption.d.ts +117 -0
- package/dist/src/shared/lib/mesh-network-adapter.d.ts +130 -0
- package/dist/src/shared/lib/mesh-signaling-client.d.ts +85 -0
- package/dist/src/shared/lib/mesh-state.d.ts +102 -0
- package/dist/src/shared/lib/mesh-webrtc-adapter.d.ts +132 -0
- package/dist/src/shared/lib/message-bus.js.map +7 -7
- package/dist/src/shared/lib/migrate-primitive.d.ts +100 -0
- package/dist/src/shared/lib/pairing.d.ts +170 -0
- package/dist/src/shared/lib/peer-relay-adapter.d.ts +80 -0
- package/dist/src/shared/lib/peer-repo-server.d.ts +83 -0
- package/dist/src/shared/lib/peer-state.d.ts +117 -0
- package/dist/src/shared/lib/primitive-registry.d.ts +88 -0
- package/dist/src/shared/lib/resource.js.map +4 -4
- package/dist/src/shared/lib/revocation.d.ts +126 -0
- package/dist/src/shared/lib/schema-version.d.ts +129 -0
- package/dist/src/shared/lib/signing.d.ts +118 -0
- package/dist/src/shared/lib/state.js.map +4 -4
- package/dist/src/shared/state/app-state.js.map +5 -5
- package/dist/tools/init/src/cli.js.map +1 -1
- package/dist/tools/quality/src/index.js +177 -0
- package/dist/tools/quality/src/index.js.map +10 -0
- package/dist/tools/test/src/adapters/index.js.map +2 -2
- package/dist/tools/test/src/browser/harness.d.ts +80 -0
- package/dist/tools/test/src/browser/index.d.ts +32 -0
- package/dist/tools/test/src/browser/index.js +243 -0
- package/dist/tools/test/src/browser/index.js.map +10 -0
- package/dist/tools/test/src/browser/run.d.ts +26 -0
- package/dist/tools/test/src/index.js.map +2 -2
- package/dist/tools/verify/specs/tla/MeshState.cfg +21 -0
- package/dist/tools/verify/specs/tla/MeshState.tla +247 -0
- package/dist/tools/verify/specs/tla/PeerState.cfg +27 -0
- package/dist/tools/verify/specs/tla/PeerState.tla +238 -0
- package/dist/tools/verify/specs/tla/README.md +27 -3
- package/dist/tools/verify/src/cli.js.map +8 -8
- package/dist/tools/visualize/src/cli.js.map +7 -7
- package/package.json +47 -5
|
@@ -1,6 +1,28 @@
|
|
|
1
|
-
# TLA+ Formal
|
|
1
|
+
# TLA+ Formal Specifications for Polly
|
|
2
2
|
|
|
3
|
-
This directory contains formal specifications for
|
|
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
|