@decentnetwork/lan 0.1.7 → 0.1.8

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.
Binary file
Binary file
Binary file
Binary file
@@ -108,11 +108,13 @@ export class ConfigLoader {
108
108
  enabled: false,
109
109
  userids: [],
110
110
  refreshIntervalMs: 60_000,
111
- // Default: do NOT auto-friend roster peers. Dora is a naming
112
- // / IP service, not a trust statement. Operators opt in with
113
- // `agentnet dora autofriend all` (closed labs) or
114
- // `agentnet dora autofriend allow <name|userid>` (whitelist).
115
- autoFriend: "none",
111
+ // Default: auto-friend every peer in the dora roster. Dora
112
+ // membership IS the trust statement joining a dora means
113
+ // "I want to be on this network", and a single-tenant lab is
114
+ // the common case. Operators on a multi-tenant / public
115
+ // dora opt out with `agentnet dora autofriend none` or
116
+ // whitelist via `agentnet dora autofriend allow <peer>...`.
117
+ autoFriend: "all",
116
118
  },
117
119
  };
118
120
  }
@@ -318,14 +318,16 @@ export class DoraIntegration {
318
318
  this.friendRequested.add(entry.userid);
319
319
  return;
320
320
  }
321
- // Policy gate. Dora is a name service, not a trust statement.
322
- // Default ("none") means we DON'T auto-friend roster peers
323
- // an operator on a multi-tenant dora isn't asking to be
324
- // mutually-friended with everyone else just because they share
325
- // a name service. "all" reproduces the old behavior (closed
326
- // labs). Otherwise the policy is a whitelist of names or
327
- // userids; only matches are friended.
328
- const policy = this.opts.config.autoFriend ?? "none";
321
+ // Policy gate. The undefined default is "all" because a peer
322
+ // that just joined a dora explicitly said "I want to be on
323
+ // this network" that's the trust statement. Without "all"
324
+ // as the legacy-config default, new peers can never join an
325
+ // existing mesh: their roster fills up but everyone else's
326
+ // legacy configs (lacking autoFriend) silently refuse to
327
+ // friend them back. Operators on a public / multi-tenant dora
328
+ // can opt out with `agentnet dora autofriend none` or supply
329
+ // a whitelist via `agentnet dora autofriend allow <peer>...`.
330
+ const policy = this.opts.config.autoFriend ?? "all";
329
331
  if (!this.policyAllows(entry, policy)) {
330
332
  // Mark as "seen" so we don't re-evaluate the policy every
331
333
  // 60s for entries we deliberately skip — but DON'T mark as
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decentnetwork/lan",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Private virtual LAN for self-hosted services and AI agents, built on Elastos Carrier. NAT-traversal, name service, ACL, all over a peer-to-peer mesh — no public IP required.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",