@fairfox/polly 0.20.1 → 0.22.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/README.md +83 -3
- package/dist/cli/polly.js +21 -1
- package/dist/cli/polly.js.map +3 -3
- 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 +4 -0
- package/dist/src/index.js +90 -1
- package/dist/src/index.js.map +15 -13
- package/dist/src/mesh.d.ts +29 -0
- package/dist/src/mesh.js +1502 -0
- package/dist/src/mesh.js.map +22 -0
- package/dist/src/peer.d.ts +29 -0
- package/dist/src/peer.js +928 -0
- package/dist/src/peer.js.map +20 -0
- 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/cli.js +162 -0
- package/dist/tools/quality/src/cli.js.map +11 -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 +51 -5
package/dist/src/index.js
CHANGED
|
@@ -1983,6 +1983,81 @@ var uiState = signal3({
|
|
|
1983
1983
|
sidebarOpen: false,
|
|
1984
1984
|
selectedPanel: "main"
|
|
1985
1985
|
});
|
|
1986
|
+
// src/shared/lib/access.ts
|
|
1987
|
+
function anyone() {
|
|
1988
|
+
return () => true;
|
|
1989
|
+
}
|
|
1990
|
+
function nobody() {
|
|
1991
|
+
return () => false;
|
|
1992
|
+
}
|
|
1993
|
+
function onlyPeer(peerId) {
|
|
1994
|
+
return (identity) => identity.peerId === peerId;
|
|
1995
|
+
}
|
|
1996
|
+
function anyOfPeers(peerIds) {
|
|
1997
|
+
const set = new Set(peerIds);
|
|
1998
|
+
return (identity) => set.has(identity.peerId);
|
|
1999
|
+
}
|
|
2000
|
+
function and(a, b) {
|
|
2001
|
+
return (identity) => a(identity) && b(identity);
|
|
2002
|
+
}
|
|
2003
|
+
function or(a, b) {
|
|
2004
|
+
return (identity) => a(identity) || b(identity);
|
|
2005
|
+
}
|
|
2006
|
+
function not(a) {
|
|
2007
|
+
return (identity) => !a(identity);
|
|
2008
|
+
}
|
|
2009
|
+
function publicAccess() {
|
|
2010
|
+
return {
|
|
2011
|
+
read: anyone(),
|
|
2012
|
+
write: anyone()
|
|
2013
|
+
};
|
|
2014
|
+
}
|
|
2015
|
+
function ownerAccess(peerId) {
|
|
2016
|
+
const pred = onlyPeer(peerId);
|
|
2017
|
+
return { read: pred, write: pred };
|
|
2018
|
+
}
|
|
2019
|
+
function groupAccess(peerIds) {
|
|
2020
|
+
const pred = anyOfPeers(peerIds);
|
|
2021
|
+
return { read: pred, write: pred };
|
|
2022
|
+
}
|
|
2023
|
+
function readOnlyExcept(writer) {
|
|
2024
|
+
return {
|
|
2025
|
+
read: anyone(),
|
|
2026
|
+
write: writer
|
|
2027
|
+
};
|
|
2028
|
+
}
|
|
2029
|
+
// src/shared/lib/blob-ref.ts
|
|
2030
|
+
function isBlobRef(value) {
|
|
2031
|
+
if (typeof value !== "object" || value === null)
|
|
2032
|
+
return false;
|
|
2033
|
+
const v = value;
|
|
2034
|
+
return typeof v["hash"] === "string" && /^[0-9a-f]{64}$/.test(v["hash"]) && typeof v["size"] === "number" && Number.isInteger(v["size"]) && v["size"] >= 0 && typeof v["filename"] === "string" && typeof v["mimeType"] === "string";
|
|
2035
|
+
}
|
|
2036
|
+
async function computeBlobHash(bytes) {
|
|
2037
|
+
const buffer = new ArrayBuffer(bytes.byteLength);
|
|
2038
|
+
const copy = new Uint8Array(buffer);
|
|
2039
|
+
copy.set(bytes);
|
|
2040
|
+
const digest = await crypto.subtle.digest("SHA-256", buffer);
|
|
2041
|
+
const view = new Uint8Array(digest);
|
|
2042
|
+
let hex = "";
|
|
2043
|
+
for (const byte of view) {
|
|
2044
|
+
hex += byte.toString(16).padStart(2, "0");
|
|
2045
|
+
}
|
|
2046
|
+
return hex;
|
|
2047
|
+
}
|
|
2048
|
+
async function createBlobRef({
|
|
2049
|
+
bytes,
|
|
2050
|
+
filename,
|
|
2051
|
+
mimeType
|
|
2052
|
+
}) {
|
|
2053
|
+
const hash = await computeBlobHash(bytes);
|
|
2054
|
+
return {
|
|
2055
|
+
hash,
|
|
2056
|
+
size: bytes.byteLength,
|
|
2057
|
+
filename,
|
|
2058
|
+
mimeType
|
|
2059
|
+
};
|
|
2060
|
+
}
|
|
1986
2061
|
|
|
1987
2062
|
// src/index.ts
|
|
1988
2063
|
init_constraints();
|
|
@@ -2045,15 +2120,29 @@ export {
|
|
|
2045
2120
|
runInContext,
|
|
2046
2121
|
registerConstraints,
|
|
2047
2122
|
registerConstraint,
|
|
2123
|
+
readOnlyExcept,
|
|
2048
2124
|
quickTest,
|
|
2125
|
+
publicAccess,
|
|
2126
|
+
ownerAccess,
|
|
2127
|
+
or,
|
|
2128
|
+
onlyPeer,
|
|
2129
|
+
not,
|
|
2130
|
+
nobody,
|
|
2049
2131
|
isRuntimeConstraintsEnabled,
|
|
2132
|
+
isBlobRef,
|
|
2133
|
+
groupAccess,
|
|
2050
2134
|
getMessageBus,
|
|
2051
2135
|
createTestSuite,
|
|
2052
2136
|
createContext,
|
|
2053
2137
|
createChromeAdapters2 as createChromeAdapters,
|
|
2138
|
+
createBlobRef,
|
|
2139
|
+
computeBlobHash,
|
|
2054
2140
|
clearConstraints,
|
|
2055
2141
|
checkPreconditions,
|
|
2056
2142
|
checkPostconditions,
|
|
2143
|
+
anyone,
|
|
2144
|
+
anyOfPeers,
|
|
2145
|
+
and,
|
|
2057
2146
|
TimeoutError,
|
|
2058
2147
|
TestRunner,
|
|
2059
2148
|
MessageBus,
|
|
@@ -2068,4 +2157,4 @@ export {
|
|
|
2068
2157
|
$persistedState
|
|
2069
2158
|
};
|
|
2070
2159
|
|
|
2071
|
-
//# debugId=
|
|
2160
|
+
//# debugId=0888B09580CA471964756E2164756E21
|