fleetmesh-node 0.2.0__py3-none-any.whl

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 (338) hide show
  1. fleetmesh_node-0.2.0.dist-info/METADATA +57 -0
  2. fleetmesh_node-0.2.0.dist-info/RECORD +338 -0
  3. fleetmesh_node-0.2.0.dist-info/WHEEL +5 -0
  4. fleetmesh_node-0.2.0.dist-info/entry_points.txt +2 -0
  5. fleetmesh_node-0.2.0.dist-info/licenses/LICENSE +121 -0
  6. fleetmesh_node-0.2.0.dist-info/top_level.txt +2 -0
  7. node/RELEASE +1 -0
  8. node/__init__.py +35 -0
  9. node/app/__init__.py +49 -0
  10. node/app/commands.py +265 -0
  11. node/app/config.py +131 -0
  12. node/app/control.py +670 -0
  13. node/app/core.py +867 -0
  14. node/app/plugins.py +76 -0
  15. node/app/router.py +83 -0
  16. node/app/socket.py +431 -0
  17. node/app/systemd.py +36 -0
  18. node/app/views.py +204 -0
  19. node/channels/__init__.py +378 -0
  20. node/channels/bus.py +331 -0
  21. node/channels/journal.py +46 -0
  22. node/commands/__init__.py +140 -0
  23. node/commands/adapter.py +210 -0
  24. node/commands/base.py +278 -0
  25. node/commands/cluster_cmds.py +183 -0
  26. node/commands/compute_cmds.py +401 -0
  27. node/commands/core.py +474 -0
  28. node/commands/gossip_cmds.py +106 -0
  29. node/commands/nsite_cmds.py +141 -0
  30. node/commands/peering.py +402 -0
  31. node/commands/plugin_cmds.py +135 -0
  32. node/commands/sidecar_cmds.py +120 -0
  33. node/commands/sync.py +388 -0
  34. node/commands/transport_cmds.py +451 -0
  35. node/commands/video_cmds.py +99 -0
  36. node/compartment/__init__.py +124 -0
  37. node/compartment/base.py +868 -0
  38. node/compartment/command.py +458 -0
  39. node/compartment/context.py +163 -0
  40. node/compartment/every.py +108 -0
  41. node/compartment/handler.py +131 -0
  42. node/compartment/lifecycle.py +460 -0
  43. node/compartment/lint.py +388 -0
  44. node/compartment/need.py +158 -0
  45. node/compartment/problem.py +521 -0
  46. node/compartment/refusals.py +120 -0
  47. node/compartment/registry.py +790 -0
  48. node/compartment/schema.py +290 -0
  49. node/compartment/sidecar.py +499 -0
  50. node/compartment/stores.py +662 -0
  51. node/compartment/wire.py +225 -0
  52. node/compartment/worker.py +61 -0
  53. node/config/__init__.py +43 -0
  54. node/config/base.py +116 -0
  55. node/config/change.py +441 -0
  56. node/config/changestore.py +201 -0
  57. node/config/compartments.py +1144 -0
  58. node/config/node.py +318 -0
  59. node/config/parameter.py +563 -0
  60. node/config/protocols.py +274 -0
  61. node/config/records.py +171 -0
  62. node/examples/__init__.py +1 -0
  63. node/examples/demo.py +226 -0
  64. node/examples/follower.py +46 -0
  65. node/interfaces.py +235 -0
  66. node/keystore/__init__.py +27 -0
  67. node/keystore/core.py +103 -0
  68. node/keystore/enclave.py +688 -0
  69. node/meshnode.py +111 -0
  70. node/metrics/__init__.py +396 -0
  71. node/metrics/adapters.py +102 -0
  72. node/metrics/face.py +110 -0
  73. node/planes/__init__.py +21 -0
  74. node/planes/identity/__init__.py +20 -0
  75. node/planes/identity/announce/__init__.py +9 -0
  76. node/planes/identity/announce/compartment.py +447 -0
  77. node/planes/identity/announce/types.py +26 -0
  78. node/planes/identity/discovery/__init__.py +9 -0
  79. node/planes/identity/discovery/compartment.py +522 -0
  80. node/planes/identity/discovery/types.py +13 -0
  81. node/planes/identity/linked/__init__.py +1 -0
  82. node/planes/identity/linked/compartment.py +270 -0
  83. node/planes/identity/linked/types.py +25 -0
  84. node/planes/identity/presence/__init__.py +7 -0
  85. node/planes/identity/presence/compartment.py +409 -0
  86. node/planes/identity/presence/types.py +14 -0
  87. node/planes/operations/__init__.py +13 -0
  88. node/planes/operations/scheduler/__init__.py +9 -0
  89. node/planes/operations/scheduler/compartment.py +353 -0
  90. node/planes/operations/scheduler/types.py +21 -0
  91. node/planes/operations/updates/__init__.py +17 -0
  92. node/planes/operations/updates/core.py +310 -0
  93. node/planes/operations/updates/store.py +79 -0
  94. node/planes/operations/updates/types.py +20 -0
  95. node/planes/peering/__init__.py +28 -0
  96. node/planes/peering/budget/__init__.py +43 -0
  97. node/planes/peering/budget/chain.py +43 -0
  98. node/planes/peering/budget/core.py +537 -0
  99. node/planes/peering/budget/evaluation.py +80 -0
  100. node/planes/peering/budget/meter.py +100 -0
  101. node/planes/peering/budget/receipts.py +439 -0
  102. node/planes/peering/budget/shape.py +101 -0
  103. node/planes/peering/budget/tick.py +110 -0
  104. node/planes/peering/budget/types.py +67 -0
  105. node/planes/peering/budget/windows.py +346 -0
  106. node/planes/peering/capacity/__init__.py +7 -0
  107. node/planes/peering/capacity/compartment.py +342 -0
  108. node/planes/peering/capacity/types.py +24 -0
  109. node/planes/peering/peering/__init__.py +25 -0
  110. node/planes/peering/peering/core.py +464 -0
  111. node/planes/peering/peering/envelope.py +142 -0
  112. node/planes/peering/peering/handshake.py +198 -0
  113. node/planes/peering/peering/shape.py +80 -0
  114. node/planes/peering/peering/types.py +39 -0
  115. node/planes/peering/reporter/__init__.py +42 -0
  116. node/planes/peering/reporter/constants.py +29 -0
  117. node/planes/peering/reporter/core.py +299 -0
  118. node/planes/peering/reporter/finding.py +74 -0
  119. node/planes/peering/reporter/findings.py +171 -0
  120. node/planes/peering/reporter/publish.py +285 -0
  121. node/planes/peering/reporter/reading.py +193 -0
  122. node/planes/peering/reporter/shape.py +86 -0
  123. node/planes/peering/reporter/types.py +50 -0
  124. node/planes/peering/strain/__init__.py +9 -0
  125. node/planes/peering/strain/compartment.py +204 -0
  126. node/planes/peering/strain/types.py +21 -0
  127. node/planes/peering/trust/__init__.py +9 -0
  128. node/planes/peering/trust/compartment.py +239 -0
  129. node/planes/peering/trust/types.py +30 -0
  130. node/planes/services/__init__.py +33 -0
  131. node/planes/services/compute/__init__.py +160 -0
  132. node/planes/services/compute/common.py +134 -0
  133. node/planes/services/compute/compartment.py +681 -0
  134. node/planes/services/compute/executors/__init__.py +121 -0
  135. node/planes/services/compute/executors/agent.py +840 -0
  136. node/planes/services/compute/executors/bacalhau.py +605 -0
  137. node/planes/services/compute/executors/base.py +127 -0
  138. node/planes/services/compute/executors/harness.py +439 -0
  139. node/planes/services/compute/executors/mcp.py +454 -0
  140. node/planes/services/compute/executors/media.py +898 -0
  141. node/planes/services/compute/executors/nondet.py +283 -0
  142. node/planes/services/compute/executors/providers.py +499 -0
  143. node/planes/services/compute/executors/registry.py +140 -0
  144. node/planes/services/compute/executors/wasm.py +244 -0
  145. node/planes/services/compute/executors/zk.py +604 -0
  146. node/planes/services/compute/jobs.py +227 -0
  147. node/planes/services/compute/load.py +180 -0
  148. node/planes/services/compute/market.py +433 -0
  149. node/planes/services/compute/sandbox.py +282 -0
  150. node/planes/services/compute/types.py +84 -0
  151. node/planes/services/compute_wire/__init__.py +58 -0
  152. node/planes/services/compute_wire/compartment.py +256 -0
  153. node/planes/services/compute_wire/messages.py +320 -0
  154. node/planes/services/compute_wire/sealing.py +147 -0
  155. node/planes/services/compute_wire/session.py +572 -0
  156. node/planes/services/compute_wire/types.py +49 -0
  157. node/planes/services/compute_wire/verify.py +331 -0
  158. node/planes/services/dvm/__init__.py +24 -0
  159. node/planes/services/dvm/gateway.py +526 -0
  160. node/planes/services/dvm/protocol.py +35 -0
  161. node/planes/services/dvm/translate.py +15 -0
  162. node/planes/services/dvm/types.py +25 -0
  163. node/planes/services/gateway/__init__.py +40 -0
  164. node/planes/services/gateway/settle.py +279 -0
  165. node/planes/services/gateway/translate.py +644 -0
  166. node/planes/services/gossip/__init__.py +22 -0
  167. node/planes/services/gossip/core.py +929 -0
  168. node/planes/services/gossip/envelope.py +154 -0
  169. node/planes/services/gossip/mesh.py +127 -0
  170. node/planes/services/gossip/types.py +50 -0
  171. node/planes/services/nsite/__init__.py +7 -0
  172. node/planes/services/nsite/client.py +62 -0
  173. node/planes/services/nsite/compartment.py +752 -0
  174. node/planes/services/nsite/types.py +44 -0
  175. node/planes/services/paidfetch/__init__.py +7 -0
  176. node/planes/services/paidfetch/compartment.py +862 -0
  177. node/planes/services/paidfetch/types.py +99 -0
  178. node/planes/services/settle/__init__.py +27 -0
  179. node/planes/services/settle/compartment.py +384 -0
  180. node/planes/services/settle/engine.py +456 -0
  181. node/planes/services/settle/gateways.py +541 -0
  182. node/planes/services/settle/payment.py +512 -0
  183. node/planes/services/settle/store.py +74 -0
  184. node/planes/services/settle/types.py +58 -0
  185. node/planes/services/sidecars/__init__.py +8 -0
  186. node/planes/services/sidecars/compartment.py +461 -0
  187. node/planes/services/sidecars/manifest.py +304 -0
  188. node/planes/services/sidecars/manifests/10-grasp.json +37 -0
  189. node/planes/services/sidecars/manifests/20-ncontainer.json +31 -0
  190. node/planes/services/sidecars/manifests/30-magpie.json +28 -0
  191. node/planes/services/sidecars/types.py +43 -0
  192. node/planes/services/video/__init__.py +106 -0
  193. node/planes/services/video/barter.py +407 -0
  194. node/planes/services/video/cli.py +158 -0
  195. node/planes/services/video/compartment.py +932 -0
  196. node/planes/services/video/ingest.py +524 -0
  197. node/planes/services/video/ledger.py +705 -0
  198. node/planes/services/video/packager.py +847 -0
  199. node/planes/services/video/player.py +456 -0
  200. node/planes/services/video/timed_segments.py +124 -0
  201. node/planes/services/video/transit.py +478 -0
  202. node/planes/store/__init__.py +24 -0
  203. node/planes/store/blob_replication/__init__.py +7 -0
  204. node/planes/store/blob_replication/compartment.py +496 -0
  205. node/planes/store/blob_replication/types.py +35 -0
  206. node/planes/store/blob_wire/__init__.py +48 -0
  207. node/planes/store/blob_wire/client.py +57 -0
  208. node/planes/store/blob_wire/core.py +359 -0
  209. node/planes/store/blob_wire/intake.py +74 -0
  210. node/planes/store/blob_wire/messages.py +85 -0
  211. node/planes/store/projected/__init__.py +7 -0
  212. node/planes/store/projected/compartment.py +258 -0
  213. node/planes/store/projected/types.py +29 -0
  214. node/planes/store/retention/__init__.py +7 -0
  215. node/planes/store/retention/compartment.py +214 -0
  216. node/planes/store/retention/types.py +12 -0
  217. node/planes/store/sync/__init__.py +35 -0
  218. node/planes/store/sync/core.py +311 -0
  219. node/planes/store/sync/envelope.py +106 -0
  220. node/planes/store/sync/handover.py +206 -0
  221. node/planes/store/sync/initiator.py +128 -0
  222. node/planes/store/sync/responder.py +114 -0
  223. node/planes/store/sync/rules.py +179 -0
  224. node/planes/store/sync/shape.py +80 -0
  225. node/planes/store/sync/types.py +51 -0
  226. node/planes/transport/__init__.py +23 -0
  227. node/planes/transport/bridge/__init__.py +13 -0
  228. node/planes/transport/bridge/compartment.py +785 -0
  229. node/planes/transport/bridge/ratelimit.py +44 -0
  230. node/planes/transport/bridge/types.py +43 -0
  231. node/planes/transport/lan/__init__.py +9 -0
  232. node/planes/transport/lan/compartment.py +446 -0
  233. node/planes/transport/lan/types.py +25 -0
  234. node/planes/transport/link/__init__.py +7 -0
  235. node/planes/transport/link/compartment.py +257 -0
  236. node/planes/transport/link/types.py +27 -0
  237. node/planes/transport/mediation/__init__.py +45 -0
  238. node/planes/transport/mediation/compartment.py +238 -0
  239. node/planes/transport/mediation/leaf.py +107 -0
  240. node/planes/transport/mediation/messages.py +302 -0
  241. node/planes/transport/mediation/service.py +233 -0
  242. node/planes/transport/mediation/store.py +37 -0
  243. node/planes/transport/mediation/types.py +20 -0
  244. node/planes/transport/p2p/__init__.py +7 -0
  245. node/planes/transport/p2p/compartment.py +349 -0
  246. node/planes/transport/p2p/types.py +22 -0
  247. node/protocols/__init__.py +277 -0
  248. node/protocols/activitypub/__init__.py +56 -0
  249. node/protocols/activitypub/actor.py +230 -0
  250. node/protocols/activitypub/federation.py +490 -0
  251. node/protocols/activitypub/media.py +145 -0
  252. node/protocols/activitypub/models.py +286 -0
  253. node/protocols/activitypub/package.py +271 -0
  254. node/protocols/activitypub/store.py +564 -0
  255. node/protocols/arcade/__init__.py +26 -0
  256. node/protocols/atproto/__init__.py +13 -0
  257. node/protocols/atproto/firehose.py +126 -0
  258. node/protocols/atproto/metering.py +165 -0
  259. node/protocols/atproto/package.py +155 -0
  260. node/protocols/atproto/repo.py +250 -0
  261. node/protocols/atproto/xrpc.py +285 -0
  262. node/protocols/base.py +109 -0
  263. node/protocols/circles/__init__.py +29 -0
  264. node/protocols/dm/__init__.py +50 -0
  265. node/protocols/grasp/__init__.py +22 -0
  266. node/protocols/isotime.py +15 -0
  267. node/protocols/nostr/__init__.py +51 -0
  268. node/protocols/nostr/blobstore.py +383 -0
  269. node/protocols/nostr/blossom.py +627 -0
  270. node/protocols/nostr/client.py +377 -0
  271. node/protocols/nostr/descriptor.py +211 -0
  272. node/protocols/nostr/eventstore.py +304 -0
  273. node/protocols/nostr/package.py +182 -0
  274. node/protocols/nostr/peers.py +109 -0
  275. node/protocols/nostr/relayserver.py +656 -0
  276. node/protocols/p2panda/__init__.py +22 -0
  277. node/protocols/p2panda/identity.py +19 -0
  278. node/protocols/p2panda/package.py +236 -0
  279. node/protocols/p2panda/rung.py +152 -0
  280. node/protocols/p2panda/store.py +273 -0
  281. node/protocols/rhio/__init__.py +33 -0
  282. node/protocols/rhio/package.py +275 -0
  283. node/protocols/rhio/rung.py +136 -0
  284. node/protocols/rhio/store.py +1423 -0
  285. node/protocols/ssb/muxrpc.py +256 -0
  286. node/protocols/ssb/package.py +267 -0
  287. node/protocols/textile/__init__.py +111 -0
  288. node/protocols/textile/transducers.py +259 -0
  289. node/release.py +119 -0
  290. node/storage/__init__.py +88 -0
  291. node/storage/accounts.py +305 -0
  292. node/storage/adapter.py +161 -0
  293. node/storage/base.py +385 -0
  294. node/storage/dialect.py +209 -0
  295. node/storage/grants.py +317 -0
  296. node/storage/locator.py +150 -0
  297. node/storage/postgres.py +294 -0
  298. node/storage/projected.py +953 -0
  299. node/storage/sharding.py +448 -0
  300. node/storage/standing.py +568 -0
  301. node/testnet/__init__.py +9 -0
  302. node/testnet/cluster.py +731 -0
  303. node/testnet/fips_daemon.py +230 -0
  304. node/transport/__init__.py +94 -0
  305. node/transport/const.py +110 -0
  306. node/transport/didcomm_inbound.py +251 -0
  307. node/transport/dnstxt.py +169 -0
  308. node/transport/fips_rung/__init__.py +67 -0
  309. node/transport/fips_rung/core.py +666 -0
  310. node/transport/fips_rung/listener.py +96 -0
  311. node/transport/fips_rung/types.py +12 -0
  312. node/transport/host.py +334 -0
  313. node/transport/iroh_rung/__init__.py +29 -0
  314. node/transport/iroh_rung/core.py +477 -0
  315. node/transport/iroh_rung/quic.py +942 -0
  316. node/transport/iroh_rung/types.py +22 -0
  317. node/transport/ladder.py +145 -0
  318. node/transport/lineproto.py +49 -0
  319. node/transport/mdns.py +303 -0
  320. node/transport/netfetch.py +283 -0
  321. node/transport/relay_rung/__init__.py +23 -0
  322. node/transport/relay_rung/cooldown.py +87 -0
  323. node/transport/relay_rung/core.py +138 -0
  324. node/transport/relay_rung/inbound.py +161 -0
  325. node/transport/relay_rung/ledger.py +104 -0
  326. node/transport/relay_rung/listen.py +121 -0
  327. node/transport/relay_rung/outbound.py +181 -0
  328. node/transport/relay_rung/shape.py +71 -0
  329. node/transport/relay_rung/types.py +58 -0
  330. node/transport/relay_rung/wire.py +63 -0
  331. node/transport/router.py +761 -0
  332. node/transport/rung.py +276 -0
  333. node/transport/ssb_rung.py +166 -0
  334. node/transport/ws.py +502 -0
  335. sidecar/fleetmesh_announce.py +338 -0
  336. sidecar/fleetmesh_p2p.py +373 -0
  337. sidecar/fleetmesh_rhio.py +352 -0
  338. sidecar/fleetmesh_ssb.py +603 -0
@@ -0,0 +1,57 @@
1
+ Metadata-Version: 2.4
2
+ Name: fleetmesh-node
3
+ Version: 0.2.0
4
+ Summary: meshnode: the first fleetmesh node, built on the fleetmesh-core reference
5
+ License: CC0-1.0
6
+ Requires-Python: >=3.10
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: fleetmesh-core>=0.2.1
10
+ Requires-Dist: fleetmesh-protocols>=0.1.0
11
+ Requires-Dist: cryptography>=41.0.0
12
+ Provides-Extra: wasm
13
+ Requires-Dist: wasmtime==49.0.0; extra == "wasm"
14
+ Provides-Extra: postgres
15
+ Requires-Dist: psycopg[binary]==3.3.6; extra == "postgres"
16
+ Provides-Extra: dev
17
+ Requires-Dist: mypy>=1.10; extra == "dev"
18
+ Requires-Dist: pyflakes>=3.2; extra == "dev"
19
+ Dynamic: license-file
20
+
21
+ # meshnode
22
+
23
+ `meshnode` is the sovereign node runtime and peer daemon for **Fleetmesh** ([fleetmesh.org](https://www.fleetmesh.org)).
24
+
25
+ It runs headless on a VPS, bare metal server, edge gateway, Raspberry Pi, laptop, or embedded device.
26
+
27
+ ## Core Compartments & Subsystems
28
+
29
+ - **Autonomous Wire Transports**: Multi-rung transport ladder across FIPS-140-3 native datagrams (Rank 5), Iroh QUIC (Rank 10), Rhio NATS JetStream (Rank 12), p2panda operation logs (Rank 15), libp2p (Rank 20), and Nostr WebSocket gift-wrap fallbacks (Rank 30).
30
+ - **Pluggable Multi-Protocol Runtime (`node/protocols/`)**: Modular protocol packages (`nostr`, `atproto`, `activitypub`, `ssb`, `p2panda`, `rhio`) multiplexed over `ProtocolHost` with zero overhead when disabled.
31
+ - **Signed Bilateral Accounting**: Token-bucket rate limiting, signed consumption receipts, and automated AIMD strain recovery.
32
+ - **Verifiable Execution Engines**: Multi-runtime execution fabric: deterministic WASM/WASI, Groth16 & zkVM (RISC Zero/SP1) verifiers, Bacalhau compute-over-data, streaming AI/LLM inference, ReAct agents, and NIP-90 DVM gateway.
33
+ - **Storage Fabric**: Dual-engine SQLite WAL and PostgreSQL dialects, Blossom / CAR v1 / MST content-addressed stores, and Negentropy set reconciliation.
34
+ - **Control Socket IPC**: High-speed Unix domain socket (`meshnode-control/1`) consumed by `meshctl` for live, non-destructive hot-reconciliation.
35
+
36
+ ## Running Locally
37
+
38
+ ```sh
39
+ # Initialize a new node
40
+ ./bin/meshnode init /var/lib/fleetmesh
41
+
42
+ # Start the node runtime
43
+ ./bin/meshnode run /var/lib/fleetmesh
44
+
45
+ # Check daemon health and compartments
46
+ ./bin/meshnode health /var/lib/fleetmesh
47
+ ```
48
+
49
+ ## Contributing
50
+
51
+ `CONTRIBUTING.md` says how changes land (the tripwires, pure moves, one
52
+ workstream per commit series); `SECURITY.md` says where to report a
53
+ vulnerability privately and what is and is not a security boundary.
54
+
55
+ ## Licence
56
+
57
+ [CC0 1.0 Universal](LICENSE)
@@ -0,0 +1,338 @@
1
+ fleetmesh_node-0.2.0.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
2
+ node/RELEASE,sha256=6d2FB_S_DG9CRY5BrqgzrQvT9hJycjNe7pv01YVB7Wc,6
3
+ node/__init__.py,sha256=qNFG-yjVR5cqA1zTl55tdj8djcQ7GuUwrIcyxsU4dn4,1479
4
+ node/interfaces.py,sha256=8uMdc3QU-nfKSMrE8V53E8O9EsAmvDNs5kQ36-SSNG4,7173
5
+ node/meshnode.py,sha256=rdH1coLvErH-rwJ2FmO604tJkGhBZh4OhNTv62hRsQs,7105
6
+ node/release.py,sha256=UZdRAV0hYmavhZJEsGMEATdZhDzOXVwfkJke_1L6OAk,5203
7
+ node/app/__init__.py,sha256=VNaIxHE-k_nCbh8_p6-Igq5OVtZWl6TucYc68dElqTU,2735
8
+ node/app/commands.py,sha256=DZnCp5gb1o43WvyCpetF2cQHNgup_JcYTP7qknqsIbo,11700
9
+ node/app/config.py,sha256=p1OSkwLlLvkYZ6V44tmWYGFVmMJvZVZukFsE7TmR4as,4947
10
+ node/app/control.py,sha256=m5MG6J5I8l7d6EWZfQe7llhEmdsgnvaKpjvFp6AEUsE,32370
11
+ node/app/core.py,sha256=Se0aOAh24FghQYCAj_my5L3I5gLbd7fQ-jNcS4XeS7M,46230
12
+ node/app/plugins.py,sha256=NQ9dEZrAAMLsS1d2GlM-CYIHtDbESIJ-bjF3u9po4J8,3447
13
+ node/app/router.py,sha256=-QY7jcvhPSBDngiAqS9h54TDSLbKToQUB9_WAodhPMA,3216
14
+ node/app/socket.py,sha256=nm4rJdVa8hck6SVW1zSBUhSN7tKwqtxLQhj_AFy7yow,18511
15
+ node/app/systemd.py,sha256=SjBDrKSogRBYrvdnvtihbFZ0zP8lRWi7yoW9wyr2pNI,1053
16
+ node/app/views.py,sha256=KRlfL6Akevym430vx6lqVf5BVISbHkwzjbPznpxSMNU,9176
17
+ node/channels/__init__.py,sha256=TJ_RRYofLPWScMeYbSOy33L7Zq1l8ZvrEtnzGJjeIbY,15280
18
+ node/channels/bus.py,sha256=XDUlxeEflf_RVNC4lHqP1X6G-2PkK1IeBdqbTPLCJGM,11606
19
+ node/channels/journal.py,sha256=ttSogafUyrRsoXnfAxxiXEDLX2sBkIM7sm1sZXQvF-w,1933
20
+ node/commands/__init__.py,sha256=hh5ohuLdzPeGaebvdZnRktGTb4qznQz_k-Pn6USFicM,5637
21
+ node/commands/adapter.py,sha256=N6H5OBgw-t1GpMIpg5TpH3ZhD8WuOJdSYzwQd_NJDKc,7714
22
+ node/commands/base.py,sha256=QG3B6nWucSmgMoQg1w6d6VCoi7ZXd-UQrycS350ocEQ,10466
23
+ node/commands/cluster_cmds.py,sha256=Qie4t1yQ1sG4oJpF4erHA3jyE4sREpqZwtl2Xgjd5Qo,7465
24
+ node/commands/compute_cmds.py,sha256=d-uRIC340c09hePAM0jlWiYfFuUUbVoj6axR6FBADLY,20097
25
+ node/commands/core.py,sha256=tVeiCpb7Y8YFc2IgHdt9DIQOvbCbVjiBavI2lID9iAc,23303
26
+ node/commands/gossip_cmds.py,sha256=iZfziwoTmQVE5HvhQVVxvMui2ZYxlaqe-qQuXsqSGpw,5184
27
+ node/commands/nsite_cmds.py,sha256=ApDqaMPn6h0pdAfWvUvjo7u27A2i_-_718cIKsUi1N0,5821
28
+ node/commands/peering.py,sha256=dv2E4Wi0s6C1ksWANtlUealLtMJwDXQ8-67mrN8X6UM,20609
29
+ node/commands/plugin_cmds.py,sha256=PMHZe0I-L7ucf6Ac3ZrocdubjmOOMEi8p3ZwTfEkMP0,5845
30
+ node/commands/sidecar_cmds.py,sha256=1wcsJ5R0lEzuWQTVgWxARooytW03sx0596X9Fughycg,5608
31
+ node/commands/sync.py,sha256=OS8v26kA6wuYGW3qIgD8yQ-owIUfIC5xdukWevcigSY,16834
32
+ node/commands/transport_cmds.py,sha256=9HFYWvEhEWJhIx6np5SbF8tUBiTe6uJEcVAGn2ZwJvg,19880
33
+ node/commands/video_cmds.py,sha256=Km5OCgbmANDIQP3Fif4S1AW1791fdX7JtySlVwiAzzw,3481
34
+ node/compartment/__init__.py,sha256=AhVXFRQwyK1UaeoDUj3wHW2kk6cjb9tghGCNIBOCgeg,4540
35
+ node/compartment/base.py,sha256=6xqhKsCMcGbvHX5dOm9y6rjjTm55uZbF9gpvvoYy9-4,39265
36
+ node/compartment/command.py,sha256=KglwPD1IbACSUWmlv6KdbAFQAUQY7TQqWDANdQbvDNg,19591
37
+ node/compartment/context.py,sha256=wHHy7KPMI3QXSmdmRYN0XWeuWE7m5UnFpB3kjBHwXj8,7420
38
+ node/compartment/every.py,sha256=WdWKhXdLqToZ0klVon9nLOE8O4JQe-VvyH150VpUuKE,5172
39
+ node/compartment/handler.py,sha256=3lh254BMO3JHusiVhvbnE4jlYe5BpzfnRA0TzXtoJ1w,4935
40
+ node/compartment/lifecycle.py,sha256=YXO64WojunU-boNb0OV5C2osuk9knIQ1wMHdxCQq-s4,21284
41
+ node/compartment/lint.py,sha256=Xdw-LGgteX0uFz-Bs2R0C1N_37M1QBttu4HxPHwdw6c,16888
42
+ node/compartment/need.py,sha256=kwwdjUElmk4XbpceIZ81zgZfUa1ut0mscugYpXKqV4M,6808
43
+ node/compartment/problem.py,sha256=yXalP313nFHaOTHZ1nyHj2JKO0UDtZqoH4h4J_hD0Kg,16174
44
+ node/compartment/refusals.py,sha256=n12ndTIfVFy23lpc7Ygbt4omorudSxhA-5WcyJ3ESJQ,3961
45
+ node/compartment/registry.py,sha256=RE42dVe-wtw7OgDb5OL-uv-eYF5Py2DqyBPMm7bVA4s,39726
46
+ node/compartment/schema.py,sha256=eAxIynsazEMg2IE0qKS788fxCbrS8YIMIGx4x5d9kOU,11754
47
+ node/compartment/sidecar.py,sha256=atY9k7s8icggL0Lw1rOQkaPzFZZoquYTzeRZOPLCxjg,22588
48
+ node/compartment/stores.py,sha256=jKGizj3pa0ZnPNybYJO6KBuW8mmkEKI_DYJZ3Q-amK0,24468
49
+ node/compartment/wire.py,sha256=TKbUHBj7V2rviDP1-3kBd79R2elnOKE1dZ1KxitJf7U,8063
50
+ node/compartment/worker.py,sha256=lp1b507Dvf1titTJxuSCeWDezQ5V1UlaIJ_Y8YPQeEo,2568
51
+ node/config/__init__.py,sha256=u2bAcLKUjmYTEkjMQu6SDFtrG8vggaBVm0VTr77dnrk,3003
52
+ node/config/base.py,sha256=cyYV9wsP9o8uk9X5qEKhQvpivKNlSRDqU0pfSaKW3pE,3531
53
+ node/config/change.py,sha256=0viTg60gEutE1uqtnYGoh4BjqQls1gLnBNf1nYNQQBs,17743
54
+ node/config/changestore.py,sha256=UcDq7MS6cHLBg3MEDDKGvub061CXoEHaPP0llCawGgY,8599
55
+ node/config/compartments.py,sha256=MBWNvyRWiWCPdWoveF_lZcBAsR4CMIjvm8UCf0gLaP8,56856
56
+ node/config/node.py,sha256=cyIv7daiIUGMwoKcgjvZ1q31K3pxR_g8Ei2EF_-t7OE,17047
57
+ node/config/parameter.py,sha256=CXT2ZdUnguW1VXLbp9hIarhBckf9Kee1Xg1AlY3Y0lA,24172
58
+ node/config/protocols.py,sha256=dfqc-VxeHkF6ewKriF4zTzBcel81VnIqLs1g2O_dwN4,12670
59
+ node/config/records.py,sha256=mn35CXz128DOaJbIjq6DxYg95DDqOGPMyYaCoANchpk,6960
60
+ node/examples/__init__.py,sha256=W7aFEmkcTmxO4tHoSb2pBSZs3048hO51nUxfNITUAVs,71
61
+ node/examples/demo.py,sha256=vhJqBG-UYU2nzrTvYyOKtLm1xCLzBZOZ581H5oE6lyM,11228
62
+ node/examples/follower.py,sha256=4DHPlUxUTP9llSz6brGtrDkQWfJNXHyI-cxjQdrW8Fw,1602
63
+ node/keystore/__init__.py,sha256=6EmWcgasKXoGgsTBACyUFz2bUQg21Zi9_crcz8x6Tjc,603
64
+ node/keystore/core.py,sha256=GPH53CxQJ1slBlIpX7mP7KmCCVSc3_1_ULZ6IxrzcLk,4724
65
+ node/keystore/enclave.py,sha256=7m6XXWJKwXTLAcX261LQsSWKxOUdaBOfUDpiXlEfoUI,27005
66
+ node/metrics/__init__.py,sha256=_XPkq8VP6Agwye5h-bTIhRRcsSm6dRv5D3RbInNhq8w,17485
67
+ node/metrics/adapters.py,sha256=Xx58bfoOAK350X9m_ro5zTrUHvn0OWtasOPrmrXRjYs,4091
68
+ node/metrics/face.py,sha256=owC7wPtJJQAn4mq-RNIlVQ20rTW_lkMxJL6qProsQq4,4918
69
+ node/planes/__init__.py,sha256=8dA0qtpPCdDpkqbztGjWlWfrZp8d9VpPnkpgWBAxhYc,701
70
+ node/planes/identity/__init__.py,sha256=VvNwdQt255qhj8ZGo88Z4eve9XDdDQ9YNKX5mBUJpKE,544
71
+ node/planes/identity/announce/__init__.py,sha256=ajfnf6OUzbRWNDvH6t3ZfQtImWlhEVVCchfF8LdSHlE,295
72
+ node/planes/identity/announce/compartment.py,sha256=Kd4eEUhzOn-6IZRRqr8S6rMsNIG233jX9Ed18W0xSTo,19230
73
+ node/planes/identity/announce/types.py,sha256=1o0fSQE-HItVrvMHrgnQPl8OUgXF3WZXGRuxAVPI4Yo,772
74
+ node/planes/identity/discovery/__init__.py,sha256=2l55dTNb3ws6Fj08W4cRcbNsOfmpYMc3GETH-Tau-bg,263
75
+ node/planes/identity/discovery/compartment.py,sha256=6fkjO0vePAZJXlx3MT51Vb3UMPbB3yE8wUfijwQu1Xs,26855
76
+ node/planes/identity/discovery/types.py,sha256=QpkpP8fKsFezZFHhKHZQELRl4frF0kjZW17RkSESsOY,361
77
+ node/planes/identity/linked/__init__.py,sha256=QK5whBMuXyAslNiOrM6S0l5xGoaNJo0v5cBDS0oiYhw,75
78
+ node/planes/identity/linked/compartment.py,sha256=HP5JVwKKrxkyS2IqMd5jl3st8t-tNTAsKYsYDxLvNT0,10895
79
+ node/planes/identity/linked/types.py,sha256=kOW5BElqFSpz9dFi_tZXd116LRnTOY_aRB55qG134hA,574
80
+ node/planes/identity/presence/__init__.py,sha256=4dlQJ3Y4NyrOMsNJR6BrQhQzorQYoCLy4h3RqDi4RjQ,195
81
+ node/planes/identity/presence/compartment.py,sha256=8WDVqv6_NjB0xQpZe_94wr0ZhdgnDXPdPaXbFZkSNCg,20021
82
+ node/planes/identity/presence/types.py,sha256=jOJwHY6fdhx2pqIWXnPUlt_MpPTnKJWcr23rx7fbOc4,367
83
+ node/planes/operations/__init__.py,sha256=HLHdeCS_jjsANJODLnFmeVdKQ4z-5U5IIS5XBoRLQh4,384
84
+ node/planes/operations/scheduler/__init__.py,sha256=OiBi9lxNgiQr1qx-Ua3Lmb5tMIPBcyNjMdp32LdsSlE,314
85
+ node/planes/operations/scheduler/compartment.py,sha256=9U4MG9LAZyuucQxA_tySXprhgWVBgQtTRH9eEJ6ovaw,17887
86
+ node/planes/operations/scheduler/types.py,sha256=ffAU4Cu15xVImdP_ALn-g8qa_SLZqZLVMbsGurGl2g4,568
87
+ node/planes/operations/updates/__init__.py,sha256=pJ8pFipUUKffMhl-acugIV9ewWEAARjpqT7_HJffu9I,899
88
+ node/planes/operations/updates/core.py,sha256=IPAdo2izPJbnLhGpcHx8SKedpH0a5KLNK7Bo-rrItEQ,14195
89
+ node/planes/operations/updates/store.py,sha256=aEX4cwcwNbtqXNk1n8qB9o2YSRDBeBZ-kllU9u7Mu9I,3195
90
+ node/planes/operations/updates/types.py,sha256=zLAxKSqYdqiefwOVPPoWtb6803lvf7qodCz1joZVL2c,610
91
+ node/planes/peering/__init__.py,sha256=Uqse22oiL75veYlxqVI-sVjgUbikOMYEQV7L-5RD5RU,734
92
+ node/planes/peering/budget/__init__.py,sha256=uu8N30jT-73UZhaJ3yGp_hUZ5CQXqvIafiE5mFTD0tU,2441
93
+ node/planes/peering/budget/chain.py,sha256=xI-CZ1lUcQk8Tr-YJ-gIb5f6MkTRmuItvv50JV2_0fM,1733
94
+ node/planes/peering/budget/core.py,sha256=ZJovzrDUScscVsmF5NBvml-3I46MrlbZbLTWTPF7TuI,29459
95
+ node/planes/peering/budget/evaluation.py,sha256=0BvnVvxvZjKHY0mfZBKrcegmxiVvnbuxCq0Rl2Ci7K4,3345
96
+ node/planes/peering/budget/meter.py,sha256=Rt8Zbl3iTT_iQeu_kUsu8cCNkFM6TRr5DLX1p5P7_jw,4424
97
+ node/planes/peering/budget/receipts.py,sha256=Ehi7zfxP1mp0HUDVtdEnrep9NmKWSyuybPnbCkgeS5I,26362
98
+ node/planes/peering/budget/shape.py,sha256=5tsA7lPmUXIu0XBuNk0tMzCyRZG000pnR9kEMeoGehs,4819
99
+ node/planes/peering/budget/tick.py,sha256=Ha6SFcEuPNBYqHKNlRZ_-EcDSCztecn8bSQbO_dSLhk,5821
100
+ node/planes/peering/budget/types.py,sha256=Tul_vmVXE8bakhsgH031Zjr7dDNYyU91hLhI6-1_5hc,1771
101
+ node/planes/peering/budget/windows.py,sha256=KRJH-LRhuMDzRDc2ZP8QXdqNa7pBanqQPuVvI1d6LNc,20564
102
+ node/planes/peering/capacity/__init__.py,sha256=tYiGTh6O76iX9g3Qmllx8inOA5IIYgRrrT3fLoKNjxg,197
103
+ node/planes/peering/capacity/compartment.py,sha256=h_t4kYWoUiG3NCZZBT2o4XumMyEOA5BTJx5BUaHkycc,16863
104
+ node/planes/peering/capacity/types.py,sha256=vpNmKi8AaSO2mDiywkIDQMoi3bXtWM0cBl6GTZYi3_c,596
105
+ node/planes/peering/peering/__init__.py,sha256=FE-zL6R8XGE9bZvqTMa1UcmQ6DoeIh_QCwPkwhfbbls,1274
106
+ node/planes/peering/peering/core.py,sha256=gICwqDRmom5-1KF8-l4PmjUNB7SvX34xEG7Yg4X87FQ,25150
107
+ node/planes/peering/peering/envelope.py,sha256=CVDn4HMVcEMXKEfOoR4AyKi8Rts8KA8rGsNsEkQTAVE,6935
108
+ node/planes/peering/peering/handshake.py,sha256=YvDxgOHi1KLtqaaumeqmPW0AktrXLoVUBRNHx6r3DSk,11020
109
+ node/planes/peering/peering/shape.py,sha256=sa_dz0DLa1ktrNo8rHjhl5M_gZBvRnCNQKECmIrk-Ww,3879
110
+ node/planes/peering/peering/types.py,sha256=KPubM_p_hC_jzaXY1plSpInMNP6tkK8SQ_QTEEjCugs,1184
111
+ node/planes/peering/reporter/__init__.py,sha256=98UEbhcZZT1a4M6mORQaJ-Sed2BybPFnxMiHbkQBsZw,2220
112
+ node/planes/peering/reporter/constants.py,sha256=I24FqPCSUianO4GIUJBOVfKw0ASqiPpRjNV4M0-tLng,1408
113
+ node/planes/peering/reporter/core.py,sha256=sEch0nn3g5fN-TtUJItHjAbsUDyUb4Pp6izdQL9jjsg,15434
114
+ node/planes/peering/reporter/finding.py,sha256=oU-ftlSamFMIrCDONlExuHXvoEfTmetw1Wxa8Xd1nEg,3509
115
+ node/planes/peering/reporter/findings.py,sha256=tx8SIW5J1ANpmQc8el7iPdV08EU1orUw0-_vzmj775A,9216
116
+ node/planes/peering/reporter/publish.py,sha256=v9wNOSNaAiSSJw3ZaEzD7kDCnribgZxZU-hw7zGD2GM,16151
117
+ node/planes/peering/reporter/reading.py,sha256=S5VPKZCBsuxF1vp218_fzmPC3XEEcRmocDRDEb-KMjM,10709
118
+ node/planes/peering/reporter/shape.py,sha256=tHzO5k4u8vS0ev4FItRH_0-kn0BrFGspb-JS6qGJLEE,4023
119
+ node/planes/peering/reporter/types.py,sha256=7vo-hy1QnyoS7E6s-Oll9jb_b-J1As5NEH10Plbi2vY,1324
120
+ node/planes/peering/strain/__init__.py,sha256=RWeIIpGQ0lz5Tcu2umPf286TjbDSgIlBcthGYLLA37o,279
121
+ node/planes/peering/strain/compartment.py,sha256=Urmzr_weeV4kaxpKGEwmxsUTh-UNjk32Xd-KDHhW8vY,8979
122
+ node/planes/peering/strain/types.py,sha256=03io8f256XPxI1dB1uHFfnR_HUmcgGiDFcdC6LNZ4wo,577
123
+ node/planes/peering/trust/__init__.py,sha256=-nK3_uh0wHyMrUVMNMPkgA6P6NxZmF6-eqLLQooEef0,321
124
+ node/planes/peering/trust/compartment.py,sha256=iK3WmWulKlgb9smOfQNlzCzqcYGuwZMMnKUBngEedBM,11401
125
+ node/planes/peering/trust/types.py,sha256=aVxiocYJ9R9FDMjVQc4JOthnvJouxYijLpcu38eE3II,707
126
+ node/planes/services/__init__.py,sha256=uqXhrbwuV1i9qKWW0xGwrGfn9OmtqFOsGqu0NfBVPJg,1124
127
+ node/planes/services/compute/__init__.py,sha256=rd1oM2ut2X-fUy4UVNgff2DWJpZjSfi-5W8WRFW4GoI,5150
128
+ node/planes/services/compute/common.py,sha256=9hRSKhcxaKHpwfPVQevK1lUCc6kZGFSzlyK1Te_RDyY,5192
129
+ node/planes/services/compute/compartment.py,sha256=tQm7Urhmy1R5_Rg9eWDp2axLpZXAXlq4BjYPu18P6S4,31140
130
+ node/planes/services/compute/jobs.py,sha256=x_J-xdg5FV8rRIJ7-FSf_DnDe5uWFU4lxpkhjuhHvTk,9685
131
+ node/planes/services/compute/load.py,sha256=I-lUQ7eNUutyL0J7DkBiSZuIm-YNSIP18tXTAJ93aX4,6912
132
+ node/planes/services/compute/market.py,sha256=nfF4n_F-f3iftfCdTgSmoeppBzzpNxMBY4727YkVfXk,15613
133
+ node/planes/services/compute/sandbox.py,sha256=clveUAgXcfmxIqgtxcN-kxkZmR2eUSReiE8LQgBuSHQ,11808
134
+ node/planes/services/compute/types.py,sha256=tn8vfuVLmWd8S671VelIv4FGCzypmrT8ZgRVYtgVezA,2177
135
+ node/planes/services/compute/executors/__init__.py,sha256=obF5aN_TXlrPS_Dah1_D1bfFzpsNnUhXNLiAW8e7CJI,4010
136
+ node/planes/services/compute/executors/agent.py,sha256=fIrkdSWQM7xzwc4TKuDEErlARBbrMeI7mDrNBfmf9SA,34368
137
+ node/planes/services/compute/executors/bacalhau.py,sha256=zG_ZsuuxkgDnn5DQ2Ao-DBVw98uXDEWxe1EQnN-3P3E,23430
138
+ node/planes/services/compute/executors/base.py,sha256=hz0TA1Vy2T7AxwLOQIJd_wRRGrXkI1I0EiUL7svdi00,3840
139
+ node/planes/services/compute/executors/harness.py,sha256=x9RO3qz2_YvkosD4HZ-7Dqm27FPIXSwXNTvAQ2SvEQQ,19346
140
+ node/planes/services/compute/executors/mcp.py,sha256=ELWdRk05PF1bszS3dr64q4GtIscSjaDJrycTTSdESTA,17954
141
+ node/planes/services/compute/executors/media.py,sha256=UmV3fz_3qXfj_KNSKrpvJWcBZCNI9Xa8wCsN6SEGY_Q,39338
142
+ node/planes/services/compute/executors/nondet.py,sha256=ed6VvrTxIbKEbod4G0aPDTkGwOCIXFrceewQQojjuyc,10840
143
+ node/planes/services/compute/executors/providers.py,sha256=SDdsEnDoO_m4CNDnJ1xO6Ty4DK1nxORq4yA8C21peq4,20097
144
+ node/planes/services/compute/executors/registry.py,sha256=F9HJeS71uoAVTr3oXvpTE7Y3zoTis1fy6bifT96GS6A,6754
145
+ node/planes/services/compute/executors/wasm.py,sha256=PtK8DIXHD8tP-LOnoBR5sKxiFrBa7Nns_D_d3GIK_Q4,10270
146
+ node/planes/services/compute/executors/zk.py,sha256=QcoF81kagrz7L233Ul8Cr60VpfG_gpZwBzWMUAWcr0c,22298
147
+ node/planes/services/compute_wire/__init__.py,sha256=IggPedXG3-2gjD7sTjat9yR7g9UpFZWlozJwh-6KviY,2122
148
+ node/planes/services/compute_wire/compartment.py,sha256=5JQZOOt-JSp-XVA0b_6WNa6msakI9itZXkGiHWoUEaU,11097
149
+ node/planes/services/compute_wire/messages.py,sha256=JQnLntzL-z8pGmXcmSNEgDtlc1Y3scs28cUx0y7JIsg,9841
150
+ node/planes/services/compute_wire/sealing.py,sha256=Rk2nAnlcNKjnbzQt-oxI3rFln_2IdVGk4PM6LMVlBuE,5092
151
+ node/planes/services/compute_wire/session.py,sha256=ystvTNigRU8Kthqj8oF_qAqiqhXelgaVYwDCPlQ9W3A,22195
152
+ node/planes/services/compute_wire/types.py,sha256=D7y6jSqSEtXMnuZnjQ5_dkLiwwHurEE28sn9w6m8dQk,1170
153
+ node/planes/services/compute_wire/verify.py,sha256=hL3RL2hGRJqm8ZMPA1Y38nDBN8N09f8fleoJjDp6BxY,15070
154
+ node/planes/services/dvm/__init__.py,sha256=oVFHPVw953DsVjMGJ8g8-RSSoBCVXUVkruwTcdKPI_I,1359
155
+ node/planes/services/dvm/gateway.py,sha256=n-BUKMoD7plUmM3cA8RZDRh8zKO8Q6NooJHK_m5aavk,23351
156
+ node/planes/services/dvm/protocol.py,sha256=W8Kd97xcxVGSL_Tu3Jq3MFhpGARujPSuAplFXC30qWQ,2047
157
+ node/planes/services/dvm/translate.py,sha256=pyhSQCAar463MoBQMPKWdL0nZNbwNrBjG0UJdctfGJo,967
158
+ node/planes/services/dvm/types.py,sha256=l62i_rtQT0c6DZQrYaRLF7zfRznJIcCKj5Rbqf4Rxzc,692
159
+ node/planes/services/gateway/__init__.py,sha256=aumWIl3A1Wwz8Mw04lbYJeEG9J2xohatIVJgWQlL6Xo,992
160
+ node/planes/services/gateway/settle.py,sha256=-GzTMLaJPQc23FJV5Fk-jokP1GUkJOGLQpR6N2pX5GQ,10696
161
+ node/planes/services/gateway/translate.py,sha256=jYOd5mYJJYHaxnb9PPo9zC1-ulfyveVRiqznbevpbbE,22545
162
+ node/planes/services/gossip/__init__.py,sha256=v5FPSbVJxazl-xxlEdr19jKvmbm85kwwaFBy2qJF5XU,1252
163
+ node/planes/services/gossip/core.py,sha256=Oa56zfPnW5x5GmA5jIYomCWT7nB3VhO8oqYH0wD2YyQ,47442
164
+ node/planes/services/gossip/envelope.py,sha256=aBUIYlFhrVdeAnvrtMXojQocm4HGNX7Yy1eQrRSOAnM,4823
165
+ node/planes/services/gossip/mesh.py,sha256=yL4I7QmoY25bCnYJGgAzl0e76bdcSitlw_AHS869zCg,5500
166
+ node/planes/services/gossip/types.py,sha256=XzraKiM5SeZQ2jYUWeL74CYEJrToqAtkoEwz1rNl48M,987
167
+ node/planes/services/nsite/__init__.py,sha256=yvnnJn6AYoXpKuLcI0ZXLrHbsesYsfURRTPEOhX-XAU,207
168
+ node/planes/services/nsite/client.py,sha256=vBkWi_meWI3ryz5KIOvdLqgs7dky481L0KiWATTTYvs,2152
169
+ node/planes/services/nsite/compartment.py,sha256=eJbtWm19x7otUg6hG8z6PPi7xq1frNgLNPMR_aiya-k,35984
170
+ node/planes/services/nsite/types.py,sha256=BrDIj3EFB4tXaAyS-x50JkGfHUfWqelv6z2nN0Yiq0Q,948
171
+ node/planes/services/paidfetch/__init__.py,sha256=Np35hDMJI0hCg03YDOoPr2NnZUcQmPdPYHDNsciM6wU,198
172
+ node/planes/services/paidfetch/compartment.py,sha256=1krRnl4YFK-tMcWaRff45auIfRcFZP6X6L5D3Lkzt9s,40096
173
+ node/planes/services/paidfetch/types.py,sha256=d3MPhePrysszw1TTTqq4mbGjPKj-FYpquTZEeMj6uc4,2276
174
+ node/planes/services/settle/__init__.py,sha256=zrCbewk1jGEx06VzA-haSDzeX1GDTo061rV9fFSMIEc,1236
175
+ node/planes/services/settle/compartment.py,sha256=0Tv7PosYp6mdVr5o7Ptp-Huo1EBOv5nFkg_Y7rjq0FI,18772
176
+ node/planes/services/settle/engine.py,sha256=vGF6XlldmflDJrqnwGbpXV0PZvkBXoeKUojCCahOAcM,19138
177
+ node/planes/services/settle/gateways.py,sha256=Yw1kfOMsQceMh5xzF5VCfA2JD68LPkRfGicMhBOjNAw,21912
178
+ node/planes/services/settle/payment.py,sha256=t2tZc0fArR6AftJVSJlXCEaysyS_dptvpUnqMU2oOm4,22261
179
+ node/planes/services/settle/store.py,sha256=7L_lL2tLJeFINXiiHixBZax4Y8uPgT6uSMwy0Uf1Ans,2977
180
+ node/planes/services/settle/types.py,sha256=QvxncmTW3gUYAP0KUnY5U1xWiyrTRfKtNrPjTzMOGjQ,1494
181
+ node/planes/services/sidecars/__init__.py,sha256=n7eSu0RTUIpIiVUl8Ib7dp3F3XzOG1mLb5VTslQvUy4,231
182
+ node/planes/services/sidecars/compartment.py,sha256=fln8Koj-nk2J_VnKVWe-H-olqIGZzRH0zpIgG0APcjM,22355
183
+ node/planes/services/sidecars/manifest.py,sha256=kamdRAusf2_i85j36BjbmtKWW232iL6LG-EuLX1VutM,14323
184
+ node/planes/services/sidecars/types.py,sha256=fockcI3J8N8-iMPbKCrguw2cj9kDR3eXKHF7XxvmFeI,831
185
+ node/planes/services/sidecars/manifests/10-grasp.json,sha256=Hk9qVt-3RbWISmyLvJr_1i5TW7MgP2r6vwBXDOPmwgA,755
186
+ node/planes/services/sidecars/manifests/20-ncontainer.json,sha256=zsPO2bZRj3eLTkim9j7J24LGbjaJpegUrID8xWq-Lus,581
187
+ node/planes/services/sidecars/manifests/30-magpie.json,sha256=NjhLX9iAQ6RIcMzI8vogENzdgeacW93Z6eVC1-PMtYQ,644
188
+ node/planes/services/video/__init__.py,sha256=4Bhy5tqkZe3g6H3VtGehwZNRAgnUWMA0Bgbjo-JqpDk,2949
189
+ node/planes/services/video/barter.py,sha256=pyF0wnjs--1d1qf8dpFPNvFiKfRbd7xBlgMCRIJenBM,17104
190
+ node/planes/services/video/cli.py,sha256=tL1pWXrAFAxIfsAJAaILxIare_G3aXBdHCUeiKx8MlM,6238
191
+ node/planes/services/video/compartment.py,sha256=OACE151N18CAx_dr1Q5EZi9y6_jFxicMwlc79ZbXW-M,42345
192
+ node/planes/services/video/ingest.py,sha256=mIh8gPwENzxbVTqjuhFqQPxcYHqYqavKH6gp8t3BRm8,20382
193
+ node/planes/services/video/ledger.py,sha256=jfyrniZA5kTZEFu9fqNFPzhLMF4qgv3tg9jJllwaL-Q,27997
194
+ node/planes/services/video/packager.py,sha256=F5xKtkAJ1YcsUqRDZPltCMkohgRkTYoQgpsv3iCbfG4,38756
195
+ node/planes/services/video/player.py,sha256=m5kGF8poNt7eMCcza590VH1cmFRIBPCcqLhfeuQUInM,19778
196
+ node/planes/services/video/timed_segments.py,sha256=Bqjga13DHkwrkA8Nkwuj1pdHz2mv9TbYYGi2pKsmZtI,5841
197
+ node/planes/services/video/transit.py,sha256=jdbopkx4DaD6mVAmy7BunHM0_Ts9jlkTchdEKPOyJ2E,18735
198
+ node/planes/store/__init__.py,sha256=yPKSWK5qSN52zt9M64dTElM9khJFjY5g1q4PESuayso,702
199
+ node/planes/store/blob_replication/__init__.py,sha256=h7d3Hqv2DMQ3sktBSJPJnQrvGpcZ3WQWpGEpJNiISYA,201
200
+ node/planes/store/blob_replication/compartment.py,sha256=NTLReB1zeBeXTY7NYxO1xLcIj_X6GdHudXqd9wkGlxA,21675
201
+ node/planes/store/blob_replication/types.py,sha256=7lPbYJnjs6iorJ-HJYcK9Rl0RsEXInxP7xyJhYP_WSs,677
202
+ node/planes/store/blob_wire/__init__.py,sha256=MpWOsAY2Akh6UAmr89FZT43navGEJkTDKhwuthCSIfE,2462
203
+ node/planes/store/blob_wire/client.py,sha256=0psyPtFatdmsHi7Km-d0yvK1dZ6vYJDEkGkjbWlDcIw,2323
204
+ node/planes/store/blob_wire/core.py,sha256=C4R5kBR3jtNvh1xge1-iDlLisZj4s_qFiVOKWPzRBII,15892
205
+ node/planes/store/blob_wire/intake.py,sha256=idDMNx6pPxZYL9fpFR6ECVnr3EtGjVQZdovxOsax_ls,3297
206
+ node/planes/store/blob_wire/messages.py,sha256=szF5nVXmvluEZeBiuNYB0Z3v-EzcD_FTJGyXRq_EMcc,3952
207
+ node/planes/store/projected/__init__.py,sha256=7aip5LIgMLZlaGGu6I2Uf6WYNn_SdWtAjBhCXBK3394,249
208
+ node/planes/store/projected/compartment.py,sha256=KLc3hmI_oLrkovf_3a7JseQIxgONqHClQH3-PH5D2hQ,9533
209
+ node/planes/store/projected/types.py,sha256=8xDxXP1M_whUCcMyho1pdcIM1qpW98X9CdOBOXEWFp0,650
210
+ node/planes/store/retention/__init__.py,sha256=csHZWCYPbqq-_a002A9V7Ol2mMCgNWdWqumeSpfcIEk,201
211
+ node/planes/store/retention/compartment.py,sha256=hHyZvn6dxfhnBu2MCse0ll5YuI-ZvWaFiV0OZWW06bE,10165
212
+ node/planes/store/retention/types.py,sha256=LAgznuIRQwBWH40pnGB-DoWrgetOPhpwBbtk5aEZ6zg,290
213
+ node/planes/store/sync/__init__.py,sha256=MuwhRXpNsxxALTamG9iPaR6cAQRYcZM1GDa7-r5MOgk,1936
214
+ node/planes/store/sync/core.py,sha256=NSHe_nGR5CJHOImPwDDBDhRLVzlfIHP0zo88iZoCPwA,16356
215
+ node/planes/store/sync/envelope.py,sha256=0BzTAlkABx5kar9gggCK7jyOf2hajLbCkkWyUr8Ms7k,4018
216
+ node/planes/store/sync/handover.py,sha256=AqwfFozc6WZA518MprCbp8yL4jO2oJDgoxP089P3rzc,11165
217
+ node/planes/store/sync/initiator.py,sha256=5yx5ojV-kOQsSjQGxDqiaHvG4DxTMiJed9D-qmxu-r0,6523
218
+ node/planes/store/sync/responder.py,sha256=bkSgC7AWRR_AhHamojETpSi7Eu1DuL8hPVZbYSL8zaM,5796
219
+ node/planes/store/sync/rules.py,sha256=PIrF1ApwPvYdqXPe9Vuu_GH1LjrqJ0tfbI_FUMBmXys,8583
220
+ node/planes/store/sync/shape.py,sha256=n8h7P2QmWLUCzfkU00TB1Gj4aYcUg3bSct0AJvjfe6I,3507
221
+ node/planes/store/sync/types.py,sha256=BkHTjTqoJGQGkou9eQivRtu6oPRIyMPkM2t0lxtBjkI,1237
222
+ node/planes/transport/__init__.py,sha256=LcfgNwbiMf7cU3-8eT-VJlLJjW6FdT--XUENASJBYlo,594
223
+ node/planes/transport/bridge/__init__.py,sha256=6Qa6PoTMSJ3kW_SwH821NzFZiqAW1G8LLycLDwQl1r0,548
224
+ node/planes/transport/bridge/compartment.py,sha256=oGHwITWf5KG9Oi7Q8v3H-zIKFywhiufWiqM2c_GMryQ,34155
225
+ node/planes/transport/bridge/ratelimit.py,sha256=Je1Ye4Am16YS3qdTroVO3YGw93I4_UQKhuW-DA_7Hak,1717
226
+ node/planes/transport/bridge/types.py,sha256=J3dKwOdfC8ArId8wbvk1SAFLbm8sL6zp_-302ampBEQ,922
227
+ node/planes/transport/lan/__init__.py,sha256=7Ks6EkJB3rkcBJdTIwa2fx98OLqeMLj3Er7ervGbUR0,269
228
+ node/planes/transport/lan/compartment.py,sha256=Fi18oCfN1x6oAv60EcuEyFZpRlW-mtAYeuWL0GYWgFs,20885
229
+ node/planes/transport/lan/types.py,sha256=rVpp3y23AxzKWYsBPvTy0iEoiTeNLFzlN1jVAYs12uE,574
230
+ node/planes/transport/link/__init__.py,sha256=_7gS1HMnpgmvZ7PVWpLFbzGnAVVrRaSoWqjIaJ_M0q8,171
231
+ node/planes/transport/link/compartment.py,sha256=mkyOj2phsfgUYN1fwoRSmrZr6P_eQ8dkK7YyCMHJies,13883
232
+ node/planes/transport/link/types.py,sha256=Xo0kUYOIe1Spp27YlfA2II1EbpV1SXucgA3ylMxWZvs,1170
233
+ node/planes/transport/mediation/__init__.py,sha256=Ay43t0ivK6xzHKaAQ3N5JGwaQO981yh4jLczaCDeQcI,2867
234
+ node/planes/transport/mediation/compartment.py,sha256=BPcOvxhhc7WiLpXgzkrswerjOR1ExLSoJSZJ8_RWB_M,12678
235
+ node/planes/transport/mediation/leaf.py,sha256=VlzTlMHQEp7cNE6s1mKNIzikIRQuE_A4grJD7oBlmA4,4044
236
+ node/planes/transport/mediation/messages.py,sha256=EFEitOY4OOrgEPciwCZwLNx_KWFFzEAHzVmM72anqIM,9537
237
+ node/planes/transport/mediation/service.py,sha256=yL6XA-cDfTlgEvVbLFNRytRzbbir1sqnoUMuPRns7Fo,10427
238
+ node/planes/transport/mediation/store.py,sha256=ouNkodmx9LFJnUK2-tXz7Lt0116dTBjSpf0Q3aAgXYA,1397
239
+ node/planes/transport/mediation/types.py,sha256=Ke_QrINGQ3ZmC-e8ihbFC04Aoy68p4YA64UPcpvF8yE,512
240
+ node/planes/transport/p2p/__init__.py,sha256=Ovev4HExcULM9mrO4rEyXbuTxyyGH5fERNqo2eZEyjQ,205
241
+ node/planes/transport/p2p/compartment.py,sha256=Hx5aW6u2GW0ikQ_HxH8kBB3w1dun8llf1oVRhQBPih4,13999
242
+ node/planes/transport/p2p/types.py,sha256=yxxno0ieAkArneYje5CTLfr8ARRfLpQNbwXGLvbFuiY,460
243
+ node/protocols/__init__.py,sha256=ZAW83ulc4q4SddcKOKJi3f8qbTSk5E1afR7cutc99Vo,11834
244
+ node/protocols/base.py,sha256=5UkNsYyA2tzW5k0vNli3_OxO_Tnw8zjp8fHPSMx4dU8,4214
245
+ node/protocols/isotime.py,sha256=T9H_UxHTdOe1OFX0xn1ClBe0eilqgZXGMx1y3jr0VsQ,536
246
+ node/protocols/activitypub/__init__.py,sha256=d2g3Q5YjFVWs9itL6HuEbvTJ9RlB-IBBFgI7KWeXQPA,1547
247
+ node/protocols/activitypub/actor.py,sha256=8IT5xH8wwpa6dJ4Nxxv5wRvL5rnrru2X3EFrRmM6Tak,7521
248
+ node/protocols/activitypub/federation.py,sha256=mW3elqYSWbSBBvvjvClMdhK2BHOkMxJXkkTbWYcY7rg,18597
249
+ node/protocols/activitypub/media.py,sha256=pSM7i1E_WOYY-G5xgmxhdtQR5baDDnTvuXmFP387Gjw,5034
250
+ node/protocols/activitypub/models.py,sha256=37xr6GD95GSRksB9gDlR-10yB6egVvBYptKWjdD15XI,7981
251
+ node/protocols/activitypub/package.py,sha256=i1e2-12YmhyZoUv4jGMHzVaeaJpFLF-RiSLJ3Tc9lGA,10210
252
+ node/protocols/activitypub/store.py,sha256=jmKrzOzeCvjQ0oE4bbbt047Djjot5gNEU_Ere176uj4,20990
253
+ node/protocols/arcade/__init__.py,sha256=ns_H8Cxkck3wKT-Pgs6b4oAidtk16AIdexcas0g-abI,769
254
+ node/protocols/atproto/__init__.py,sha256=tq2UiTPKTrfFIi-oyS24RsjPz4BzGR3bTY_d79tposE,403
255
+ node/protocols/atproto/firehose.py,sha256=VNlQf83HY_tINPxsdtj2eQmzg1UVmYoaEGXKXbeYc8s,4081
256
+ node/protocols/atproto/metering.py,sha256=inLBEtqQAc-pCMADWF_LjOryPpnm2bDG-K_Xs04v6Ok,6326
257
+ node/protocols/atproto/package.py,sha256=X329PVTOm9wyJ_WBC6eVpY7Dox-TTkJ8kjpfeHChFMU,5321
258
+ node/protocols/atproto/repo.py,sha256=O1X1yozeZvvRhVqwoxlmA0S0QQgf-O2hABBQI9SsVgc,8539
259
+ node/protocols/atproto/xrpc.py,sha256=jvo6gcvtRuGRdP_m2_qYAWf_o2ML-qTHEpPG3RLOqAo,12479
260
+ node/protocols/circles/__init__.py,sha256=sZqUYwiNm-zDCk8E8XgXpolFRVHq47Kz_pkxHU9lGzM,831
261
+ node/protocols/dm/__init__.py,sha256=gN2KyWMhRyrqQeFhJbZddxy814FxXKGK2SYoD6TnayI,1274
262
+ node/protocols/grasp/__init__.py,sha256=EhIJRXgrMq_9PXIfphdLEXIFkRxiO5PsxKxrk9Q-Wj4,844
263
+ node/protocols/nostr/__init__.py,sha256=3DEiUqHGTv1aYDKaW82cukHDKpBTIvo5zjDRzTI0KCk,1944
264
+ node/protocols/nostr/blobstore.py,sha256=Pl5vHxTELB_r7xQWHUafS9h0QcQGk8_fq__FcWUVdZ8,14878
265
+ node/protocols/nostr/blossom.py,sha256=rWZXWIWQjH3kKtoOFPzKk4NcBayvnBL18XCkLOAOvIU,26642
266
+ node/protocols/nostr/client.py,sha256=HeCv1WcEFo8Qd96Tz_RWnO_2l5BTxwW6A8b0BkMDDdY,17133
267
+ node/protocols/nostr/descriptor.py,sha256=u0RuLNGVUAIU-s5f2AzDysxuLtYvf3ehvXJ-EGkr9W4,8169
268
+ node/protocols/nostr/eventstore.py,sha256=_SU2JjSLOvegqMevRUgSXb_7YX7pA_27MxRGSuLoN8s,14358
269
+ node/protocols/nostr/package.py,sha256=v8OjKc_Jwee-lleRh_XMcejwxASMaH_WNqdSsfoz0lQ,6322
270
+ node/protocols/nostr/peers.py,sha256=1mG_wgh9UM1DE26AWkBCKJ0roClWsg3cRHXbO3rzxNE,4670
271
+ node/protocols/nostr/relayserver.py,sha256=92MlOcLnC4XV4y_FlgtOS_x-k5Sa7Ztt2QOf4g87gq0,32797
272
+ node/protocols/p2panda/__init__.py,sha256=8IDjqrXePN-dkc7TM57ymiC1D1geNRtp4FL_NPiC-0I,678
273
+ node/protocols/p2panda/identity.py,sha256=M3zeSnP_yFQovogg--Q9uuNZKufSWRWSwlcwQ1dDSFI,514
274
+ node/protocols/p2panda/package.py,sha256=yDJAnnkCix65g8YfBE5MvSSJT4qtQH35fEonXWUv37c,8908
275
+ node/protocols/p2panda/rung.py,sha256=bhLz5OYTktXoLP2Ttw-xOGeRX-tQBenMjU5bTnSclHs,5499
276
+ node/protocols/p2panda/store.py,sha256=VoIJYJNLgUA_yXE2-8NpvlB2MakEmu-GJs7yPNSzbqI,12017
277
+ node/protocols/rhio/__init__.py,sha256=NSR3wWRX0QUQ7bTX7qwOfnCWgcML-yOBiQhEHFRX2RY,808
278
+ node/protocols/rhio/package.py,sha256=RAkcfBZ1lJXFR6ryXCJMLy6xH7jF5ujDUBLSzpX7Fak,10760
279
+ node/protocols/rhio/rung.py,sha256=uFahC-AGdMfqShXQ6wJ68cpAS2e02Jt0DQ_wFTqyabU,4818
280
+ node/protocols/rhio/store.py,sha256=SBghSX44QB7YrZuZARn04uD3QmqKmRQbnB-qYa2PH6o,61030
281
+ node/protocols/ssb/muxrpc.py,sha256=LmWKYFVT3mznzThyjcYKaRtW6EHjTPgPQi7LIzC150c,8014
282
+ node/protocols/ssb/package.py,sha256=SAXDo8eEtFG64TmGmn-452C2WZlfxYKUj86YmvroMCE,9579
283
+ node/protocols/textile/__init__.py,sha256=jrGYkMM0NygUR_wuEYSS6_1iqa_pvvFC_jU3Kp1sh60,2903
284
+ node/protocols/textile/transducers.py,sha256=EPPecXihekhlWT1O04S_G25GV63H-NTFEmp0Vx7tqr4,9952
285
+ node/storage/__init__.py,sha256=FJjNi5bIelUAiyHr0z0qGQNC3i5bsK2_9lCRVqnuK6g,3821
286
+ node/storage/accounts.py,sha256=m82gwd0eCxCmI2_dPv4G8wziRDWzO8LoPKo6wz9Y9oY,13676
287
+ node/storage/adapter.py,sha256=oBprYsQNh3CHIwHCAbgZTKyq7Z8JWQIzW9PKFLTEeOY,5263
288
+ node/storage/base.py,sha256=uyvTKe0KLL-ogvwFWzo9QPTstqEcOCzqMgHYY3Qto7U,15978
289
+ node/storage/dialect.py,sha256=MVFhmcv88SPnecksyvcJ9V9Tm7WSAqBDljYFATXnTCo,9521
290
+ node/storage/grants.py,sha256=HVdfdQ5qMZJozbd1MDtfdW2RcAOzwWTvPWxvf25B_1Q,17220
291
+ node/storage/locator.py,sha256=LtRN482ft4d9tWA21jGINCyMeBkPRpQwb0jgEDnC930,6397
292
+ node/storage/postgres.py,sha256=o_T2WxUmWQWZABSkhRk4eShunN9p0XpBhYE2Ak63OWU,12347
293
+ node/storage/projected.py,sha256=ylmo7sT9Kw8H44drX5NZ0M1dHNIBgFguHyEkPX9TqE4,39807
294
+ node/storage/sharding.py,sha256=6AXIRQpkdPcb2vWtKtzs78OiBZWJop3aPTLeEb5-ijw,17871
295
+ node/storage/standing.py,sha256=yte1pspVyA5ulwItqPQfZH2pAbOJAzvRnDhYE8V1Wow,22026
296
+ node/testnet/__init__.py,sha256=TpltWHCmp5bKaK1u7oPf25G8A9R7ErgPspFFTXciCFQ,549
297
+ node/testnet/cluster.py,sha256=kw5dPK4ZkcBDd6VHW30fIJs80BFRvlBLULUgHx4M2nQ,31776
298
+ node/testnet/fips_daemon.py,sha256=BjWmd5Y4FgBrxucuoeI7jV_lydaj-xvwEypeP1-LLt8,11454
299
+ node/transport/__init__.py,sha256=pUAScBIUxo07IkiVUwudJgOBLtGarqqipHUXsUlH3Uw,3397
300
+ node/transport/const.py,sha256=HSJph40MobrnZ5ALsJ94UqqpdjWp2me0ZMhkU7-UGTM,5470
301
+ node/transport/didcomm_inbound.py,sha256=3oIjPInGQBScbx5D6PXpScphSZ2vXdIJ3KshjCab9pA,12052
302
+ node/transport/dnstxt.py,sha256=oaAFAQJ29m_D52RXn7coNotdX2dtOjyHsXfMQ-znJcU,5897
303
+ node/transport/host.py,sha256=H8DZvDH-ZDma9BXqvxoXj_CmbUBQ78i3qi42EJI_dx4,12668
304
+ node/transport/ladder.py,sha256=T4q18-iq8ehBmkGO2fSniZm22IS5eVwcSKUkO4vyOVg,6011
305
+ node/transport/lineproto.py,sha256=Bcb9us9dq0OKHY2Y8PZ0n95bUw8jhrztHlEpB7vLfrg,1924
306
+ node/transport/mdns.py,sha256=xHcnvbiq21qPxzB4YvZuQVD457jzpxzuyp_RiQLE-4A,12305
307
+ node/transport/netfetch.py,sha256=IVFZr_-LeXdY20I-hBESxgQz5_oQPg2CWtOp2bGyQ6w,12195
308
+ node/transport/router.py,sha256=As7iv6bCur9Op2lvQ-k_vLpOJZfY9H7deit3rTEFp04,31784
309
+ node/transport/rung.py,sha256=mUsw77utJ8R1oBcO-gt3i78XD3eEZJKzFp_7PpPvosE,10932
310
+ node/transport/ssb_rung.py,sha256=ELHdUEgXNu34ioKAi5RLW0LrV_nzTlQSXbQ6LJZOycs,5963
311
+ node/transport/ws.py,sha256=Swz-zmEexj5Lh5wWfPOtV8XsKemIqe8gOU2p6cf4N-8,18975
312
+ node/transport/fips_rung/__init__.py,sha256=7yHze2_W7xm9qtOd3iqLWZBjP4zCpnvgSaUTu3muG80,1464
313
+ node/transport/fips_rung/core.py,sha256=7wXezrHPn9P8VPUNAXV1lvhMMk3_yy5Hae1uRpDVOaE,25835
314
+ node/transport/fips_rung/listener.py,sha256=FlvuEwYJX5PLFA-y8A__cfubg7Jesbk1G115w_G7nfA,4044
315
+ node/transport/fips_rung/types.py,sha256=KBsAsZaEkEN4XHID8VZ6CzepjqU27uG604qZtez8sco,370
316
+ node/transport/iroh_rung/__init__.py,sha256=fFSZ0zrlttB545Io7HivnkdoOY1wT3y_i7nN2ZuUxfY,799
317
+ node/transport/iroh_rung/core.py,sha256=Z-W3W4zO3w2qF6QOGpfogeJ46ZBm2PjpNnT0f0W_zf4,18213
318
+ node/transport/iroh_rung/quic.py,sha256=FENehnUl8Gqxx36cMnDBo7bL_rRYInX4zlkB6h6Oh6M,37931
319
+ node/transport/iroh_rung/types.py,sha256=ggOJ33yyDcCnNxwey3TF-xlE59ImwUacba3FC2L57yA,482
320
+ node/transport/relay_rung/__init__.py,sha256=a_d2XZciNTR8y6JHrIjpLrAfuV5kshaMcNuVppchFds,1062
321
+ node/transport/relay_rung/cooldown.py,sha256=atDQ7V2Nv9gEzqsoPNUcafctobJqu_zUqUP63sVC_Lo,3909
322
+ node/transport/relay_rung/core.py,sha256=w-Escs9dZevYztny2Ekm5qKl3kgAUjcC1FJ1kPf_aYM,6980
323
+ node/transport/relay_rung/inbound.py,sha256=uWtk92axGVG6TD2HrfJbJ2c4IWxADQI7PrSCDUbK78Y,7715
324
+ node/transport/relay_rung/ledger.py,sha256=qkkpHebloULMCC7NIAKDEihj8XvKDHnU0fIxAEBNHQ8,4549
325
+ node/transport/relay_rung/listen.py,sha256=R1RxVfEqF_BgqnebQ4zNHUB_mRn97vdRPXH9_7Uqyvg,5401
326
+ node/transport/relay_rung/outbound.py,sha256=jIdzaiyN3SecCHRqwrsKq_ireTOCTbLT1Y4OSHISFHw,8687
327
+ node/transport/relay_rung/shape.py,sha256=0BZeXaBBMnX7zRffu2YWkw1h0xAo6ZmSicIZMnskdn4,2687
328
+ node/transport/relay_rung/types.py,sha256=GjEgFG00OoyhCQX0J8EUVBIUwYwkyI7-ufXtH_jtSSY,1632
329
+ node/transport/relay_rung/wire.py,sha256=lulsKEVfoyw2PqFCkbzWLnwwZ0LezRouOhT0pSA3058,2729
330
+ sidecar/fleetmesh_announce.py,sha256=33M9vy83PbPZvmP3a_auLSHpAVBUgATiELBv8ueWXNU,15243
331
+ sidecar/fleetmesh_p2p.py,sha256=ZRJ2v-n5adjITjKCF6dHAJ3bFp_7Zk_01EAvuZ2R0bM,16817
332
+ sidecar/fleetmesh_rhio.py,sha256=VzUKCgPkH_1SebAMbREO0tGI4kmmsss_aBKbhdw7vC0,12019
333
+ sidecar/fleetmesh_ssb.py,sha256=e5cu_6LYfT5NR3vloBT6-l3zIae2OC71U8NsrVm4kW0,21677
334
+ fleetmesh_node-0.2.0.dist-info/METADATA,sha256=GWxs_oewkwUIWIhvhFQxplViDz1a1_8In-fQbL3NooU,2556
335
+ fleetmesh_node-0.2.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
336
+ fleetmesh_node-0.2.0.dist-info/entry_points.txt,sha256=x9FNV0yhQzIuhdZiSDDDJ92O5sx9LguQF6wy9ei6_ws,48
337
+ fleetmesh_node-0.2.0.dist-info/top_level.txt,sha256=smlH8y-dtGstWPvHaiU1DtjivCacerRWeKjLT1cpxj4,13
338
+ fleetmesh_node-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.2.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ meshnode = node.meshnode:main
@@ -0,0 +1,121 @@
1
+ Creative Commons Legal Code
2
+
3
+ CC0 1.0 Universal
4
+
5
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12
+ HEREUNDER.
13
+
14
+ Statement of Purpose
15
+
16
+ The laws of most jurisdictions throughout the world automatically confer
17
+ exclusive Copyright and Related Rights (defined below) upon the creator
18
+ and subsequent owner(s) (each and all, an "owner") of an original work of
19
+ authorship and/or a database (each, a "Work").
20
+
21
+ Certain owners wish to permanently relinquish those rights to a Work for
22
+ the purpose of contributing to a commons of creative, cultural and
23
+ scientific works ("Commons") that the public can reliably and without fear
24
+ of later claims of infringement build upon, modify, incorporate in other
25
+ works, reuse and redistribute as freely as possible in any form whatsoever
26
+ and for any purposes, including without limitation commercial purposes.
27
+ These owners may contribute to the Commons to promote the ideal of a free
28
+ culture and the further production of creative, cultural and scientific
29
+ works, or to gain reputation or greater distribution for their Work in
30
+ part through the use and efforts of others.
31
+
32
+ For these and/or other purposes and motivations, and without any
33
+ expectation of additional consideration or compensation, the person
34
+ associating CC0 with a Work (the "Affirmer"), to the extent that he or she
35
+ is an owner of Copyright and Related Rights in the Work, voluntarily
36
+ elects to apply CC0 to the Work and publicly distribute the Work under its
37
+ terms, with knowledge of his or her Copyright and Related Rights in the
38
+ Work and the meaning and intended legal effect of CC0 on those rights.
39
+
40
+ 1. Copyright and Related Rights. A Work made available under CC0 may be
41
+ protected by copyright and related or neighboring rights ("Copyright and
42
+ Related Rights"). Copyright and Related Rights include, but are not
43
+ limited to, the following:
44
+
45
+ i. the right to reproduce, adapt, distribute, perform, display,
46
+ communicate, and translate a Work;
47
+ ii. moral rights retained by the original author(s) and/or performer(s);
48
+ iii. publicity and privacy rights pertaining to a person's image or
49
+ likeness depicted in a Work;
50
+ iv. rights protecting against unfair competition in regards to a Work,
51
+ subject to the limitations in paragraph 4(a), below;
52
+ v. rights protecting the extraction, dissemination, use and reuse of data
53
+ in a Work;
54
+ vi. database rights (such as those arising under Directive 96/9/EC of the
55
+ European Parliament and of the Council of 11 March 1996 on the legal
56
+ protection of databases, and under any national implementation
57
+ thereof, including any amended or successor version of such
58
+ directive); and
59
+ vii. other similar, equivalent or corresponding rights throughout the
60
+ world based on applicable law or treaty, and any national
61
+ implementations thereof.
62
+
63
+ 2. Waiver. To the greatest extent permitted by, but not in contravention
64
+ of, applicable law, Affirmer hereby overtly, fully, permanently,
65
+ irrevocably and unconditionally waives, abandons, and surrenders all of
66
+ Affirmer's Copyright and Related Rights and associated claims and causes
67
+ of action, whether now known or unknown (including existing as well as
68
+ future claims and causes of action), in the Work (i) in all territories
69
+ worldwide, (ii) for the maximum duration provided by applicable law or
70
+ treaty (including future time extensions), (iii) in any current or future
71
+ medium and for any number of copies, and (iv) for any purpose whatsoever,
72
+ including without limitation commercial, advertising or promotional
73
+ purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
74
+ member of the public at large and to the detriment of Affirmer's heirs and
75
+ successors, fully intending that such Waiver shall not be subject to
76
+ revocation, rescission, cancellation, termination, or any other legal or
77
+ equitable action to disrupt the quiet enjoyment of the Work by the public
78
+ as contemplated by Affirmer's express Statement of Purpose.
79
+
80
+ 3. Public License Fallback. Should any part of the Waiver for any reason
81
+ be judged legally invalid or ineffective under applicable law, then the
82
+ Waiver shall be preserved to the maximum extent permitted taking into
83
+ account Affirmer's express Statement of Purpose. In addition, to the
84
+ extent the Waiver is so judged Affirmer hereby grants to each affected
85
+ person a royalty-free, non transferable, non sublicensable, non exclusive,
86
+ irrevocable and unconditional license to exercise Affirmer's Copyright and
87
+ Related Rights in the Work (i) in all territories worldwide, (ii) for the
88
+ maximum duration provided by applicable law or treaty (including future
89
+ time extensions), (iii) in any current or future medium and for any number
90
+ of copies, and (iv) for any purpose whatsoever, including without
91
+ limitation commercial, advertising or promotional purposes (the
92
+ "License"). The License shall be deemed effective as of the date CC0 was
93
+ applied by Affirmer to the Work. Should any part of the License for any
94
+ reason be judged legally invalid or ineffective under applicable law, such
95
+ partial invalidity or ineffectiveness shall not invalidate the remainder
96
+ of the License, and in such case Affirmer hereby affirms that he or she
97
+ will not (i) exercise any of his or her remaining Copyright and Related
98
+ Rights in the Work or (ii) assert any associated claims and causes of
99
+ action with respect to the Work, in either case contrary to Affirmer's
100
+ express Statement of Purpose.
101
+
102
+ 4. Limitations and Disclaimers.
103
+
104
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
105
+ surrendered, licensed or otherwise affected by this document.
106
+ b. Affirmer offers the Work as-is and makes no representations or
107
+ warranties of any kind concerning the Work, express, implied,
108
+ statutory or otherwise, including without limitation warranties of
109
+ title, merchantability, fitness for a particular purpose, non
110
+ infringement, or the absence of latent or other defects, accuracy, or
111
+ the present or absence of errors, whether or not discoverable, all to
112
+ the greatest extent permissible under applicable law.
113
+ c. Affirmer disclaims responsibility for clearing rights of other persons
114
+ that may apply to the Work or any use thereof, including without
115
+ limitation any person's Copyright and Related Rights in the Work.
116
+ Further, Affirmer disclaims responsibility for obtaining any necessary
117
+ consents, permissions or other rights required for any use of the
118
+ Work.
119
+ d. Affirmer understands and acknowledges that Creative Commons is not a
120
+ party to this document and has no duty or obligation with respect to
121
+ this CC0 or use of the Work.
@@ -0,0 +1,2 @@
1
+ node
2
+ sidecar
node/RELEASE ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
node/__init__.py ADDED
@@ -0,0 +1,35 @@
1
+ """meshnode: the first implementation, built on fleetmesh_core/.
2
+
3
+ fleetmesh_core/ is the executable reference: standard library only, no I/O, no clock, no
4
+ network, and every constant read from schema/. This package is everything a
5
+ running node needs that the reference deliberately does not have - real
6
+ cryptography for the envelopes, keys on disk, a relay to talk to, a transport,
7
+ a scheduler - wired around the reference's mechanisms rather than beside them.
8
+
9
+ Depends on the `cryptography` package for X25519, Ed25519, ChaCha20, AES key
10
+ wrap and HKDF. Nothing here goes into the protocol digest.
11
+
12
+ Importing this package installs the fast curve under fleetmesh_core.crypto. The
13
+ reference is affine arithmetic with a modular inversion on every point
14
+ addition, which is readable and costs 58 ms a signature; a node that carries
15
+ one hop signature per delivered event cannot run at that price. The fast path
16
+ is the same arithmetic in Jacobian coordinates with a precomputed table for
17
+ the fixed base, checked against the reference and against BIP-340's own
18
+ vectors in node/tests/test_curve.py.
19
+ """
20
+ from __future__ import annotations
21
+
22
+ import os
23
+ import sys
24
+
25
+ _core_path = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..', 'core'))
26
+ if _core_path not in sys.path and os.path.isdir(_core_path):
27
+ sys.path.insert(0, _core_path)
28
+
29
+ from fleetmesh_core.crypto import curve as _curve # noqa: E402 (must precede anything that signs)
30
+
31
+ _curve.install()
32
+
33
+
34
+
35
+
node/app/__init__.py ADDED
@@ -0,0 +1,49 @@
1
+ """The node, assembled: every piece of node/ wired around fleetmesh_core/ and run on a clock.
2
+
3
+ NodeApp is what `meshnode run` starts and what the tests start in-process.
4
+ It owns the keys, the store, the relay face, the transport and the config file,
5
+ assembles the compartments in `node/compartment/` around them, dispatches
6
+ inbound messages to the four protocol handlers, and ticks the registry.
7
+
8
+ What it no longer does is the work. The tick used to run five mechanisms of its
9
+ own between the registry's - the relay journal, the operator's trust decisions,
10
+ the coverage and discovery publications, the descriptor and the heartbeat, and
11
+ the scheduled pulls - and each of those said no in ways nothing could read back:
12
+ `propose failed` and `pull failed` were tuples in a return value, printed once
13
+ and gone. They are compartments now, and every one of those noes is a refusal.
14
+
15
+ Nothing in here decides anything the reference decides.
16
+
17
+ The package: config.py (the control table, the defaults, config.json),
18
+ systemd.py (sd_notify), views.py (what the CLI and the socket both render),
19
+ control.py (the operator's verbs, as a mixin) and core.py (NodeApp). Every
20
+ name that was module-level in node/app.py is re-exported here, so
21
+ `from node import app` reads as it did.
22
+ """
23
+ from __future__ import annotations
24
+ from typing import Any
25
+ from ..protocols.nostr import descriptor # noqa: E402
26
+ from .commands import NODE_COMMANDS, NODE_COMMANDS_BY_KEY # noqa: E402
27
+ from .config import (CONTROL, DEFAULTS, ConfigError, _blob_storage_cap, # noqa: E402
28
+ config_from_manifests, defaults, load_config, save_config, typed_config, validate_config)
29
+ from .systemd import sd_notify # noqa: E402
30
+ from .views import _live_peers, grant_view, windows_view # noqa: E402
31
+ from .core import NodeApp, _line, _short, trust_decision, trust_tiers # noqa: E402
32
+ from ..compartment.context import NodeContext, NodeStores # noqa: E402
33
+
34
+ __all__ = ['CONTROL', 'DEFAULTS', 'ConfigError', 'NODE_COMMANDS', 'NODE_COMMANDS_BY_KEY', 'NodeApp',
35
+ 'NodeContext', 'NodeStores', 'ProtocolRouter',
36
+ '_blob_storage_cap', '_line',
37
+ '_live_peers', '_short', 'config_from_manifests', 'defaults', 'descriptor', 'grant_view',
38
+ 'load_config', 'save_config', 'sd_notify', 'trust_decision', 'trust_tiers', 'typed_config', 'validate_config',
39
+ 'windows_view', 'router']
40
+
41
+
42
+ def __getattr__(name: str) -> Any:
43
+ if name == 'ProtocolRouter':
44
+ from .router import ProtocolRouter
45
+ return ProtocolRouter
46
+ if name in ('router', 'socket', 'control'):
47
+ import importlib
48
+ return importlib.import_module(f'.{name}', __package__)
49
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")