@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.
Files changed (62) hide show
  1. package/README.md +83 -3
  2. package/dist/cli/polly.js +21 -1
  3. package/dist/cli/polly.js.map +3 -3
  4. package/dist/src/background/index.js.map +7 -7
  5. package/dist/src/background/message-router.js.map +7 -7
  6. package/dist/src/elysia/index.d.ts +2 -0
  7. package/dist/src/elysia/index.js +177 -17
  8. package/dist/src/elysia/index.js.map +8 -5
  9. package/dist/src/elysia/peer-repo-plugin.d.ts +79 -0
  10. package/dist/src/elysia/signaling-server-plugin.d.ts +121 -0
  11. package/dist/src/index.d.ts +4 -0
  12. package/dist/src/index.js +90 -1
  13. package/dist/src/index.js.map +15 -13
  14. package/dist/src/mesh.d.ts +29 -0
  15. package/dist/src/mesh.js +1502 -0
  16. package/dist/src/mesh.js.map +22 -0
  17. package/dist/src/peer.d.ts +29 -0
  18. package/dist/src/peer.js +928 -0
  19. package/dist/src/peer.js.map +20 -0
  20. package/dist/src/shared/adapters/index.js.map +6 -6
  21. package/dist/src/shared/lib/_client-only.d.ts +38 -0
  22. package/dist/src/shared/lib/access.d.ts +124 -0
  23. package/dist/src/shared/lib/blob-ref.d.ts +72 -0
  24. package/dist/src/shared/lib/context-helpers.js.map +7 -7
  25. package/dist/src/shared/lib/crdt-specialised.d.ts +129 -0
  26. package/dist/src/shared/lib/crdt-state.d.ts +86 -0
  27. package/dist/src/shared/lib/encryption.d.ts +117 -0
  28. package/dist/src/shared/lib/mesh-network-adapter.d.ts +130 -0
  29. package/dist/src/shared/lib/mesh-signaling-client.d.ts +85 -0
  30. package/dist/src/shared/lib/mesh-state.d.ts +102 -0
  31. package/dist/src/shared/lib/mesh-webrtc-adapter.d.ts +132 -0
  32. package/dist/src/shared/lib/message-bus.js.map +7 -7
  33. package/dist/src/shared/lib/migrate-primitive.d.ts +100 -0
  34. package/dist/src/shared/lib/pairing.d.ts +170 -0
  35. package/dist/src/shared/lib/peer-relay-adapter.d.ts +80 -0
  36. package/dist/src/shared/lib/peer-repo-server.d.ts +83 -0
  37. package/dist/src/shared/lib/peer-state.d.ts +117 -0
  38. package/dist/src/shared/lib/primitive-registry.d.ts +88 -0
  39. package/dist/src/shared/lib/resource.js.map +4 -4
  40. package/dist/src/shared/lib/revocation.d.ts +126 -0
  41. package/dist/src/shared/lib/schema-version.d.ts +129 -0
  42. package/dist/src/shared/lib/signing.d.ts +118 -0
  43. package/dist/src/shared/lib/state.js.map +4 -4
  44. package/dist/src/shared/state/app-state.js.map +5 -5
  45. package/dist/tools/init/src/cli.js.map +1 -1
  46. package/dist/tools/quality/src/cli.js +162 -0
  47. package/dist/tools/quality/src/cli.js.map +11 -0
  48. package/dist/tools/test/src/adapters/index.js.map +2 -2
  49. package/dist/tools/test/src/browser/harness.d.ts +80 -0
  50. package/dist/tools/test/src/browser/index.d.ts +32 -0
  51. package/dist/tools/test/src/browser/index.js +243 -0
  52. package/dist/tools/test/src/browser/index.js.map +10 -0
  53. package/dist/tools/test/src/browser/run.d.ts +26 -0
  54. package/dist/tools/test/src/index.js.map +2 -2
  55. package/dist/tools/verify/specs/tla/MeshState.cfg +21 -0
  56. package/dist/tools/verify/specs/tla/MeshState.tla +247 -0
  57. package/dist/tools/verify/specs/tla/PeerState.cfg +27 -0
  58. package/dist/tools/verify/specs/tla/PeerState.tla +238 -0
  59. package/dist/tools/verify/specs/tla/README.md +27 -3
  60. package/dist/tools/verify/src/cli.js.map +8 -8
  61. package/dist/tools/visualize/src/cli.js.map +7 -7
  62. 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=C2AEE82F23E5AE9464756E2164756E21
2160
+ //# debugId=0888B09580CA471964756E2164756E21