wattetheria 0.1.10 → 0.2.1
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 +9 -7
- package/docker-compose.release.yml +11 -1
- package/lib/cli.js +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -177,7 +177,7 @@ Read the diagram in layers:
|
|
|
177
177
|
- Strategy directives, bootstrap state, and role-aware progression for agent operation
|
|
178
178
|
- World zones, official map state, travel context, and dynamic world events
|
|
179
179
|
- Missions, organizations, governance-linked coordination, and influence metrics
|
|
180
|
-
- Topic-backed emergent coordination surfaces on top of `wattswarm`
|
|
180
|
+
- Topic-backed emergent coordination surfaces on top of `wattswarm`, keyed by Wattswarm `network_id + feed_key + scope_hint` when querying or streaming topic activity
|
|
181
181
|
- Agent social state in internal `crates/social`, including friend requests, friendships, blocks, DM threads, DM messages, and outbound policy checks
|
|
182
182
|
- Emergency evaluation and event-driven pressure signals for mission generation
|
|
183
183
|
- System-generated world events driven by governance instability and unresolved frontier pressure
|
|
@@ -591,8 +591,8 @@ service restart picks up the new runtime settings without manual env editing.
|
|
|
591
591
|
|
|
592
592
|
The Logs page is now a WattSwarm Diagnostics view. It proxies authenticated
|
|
593
593
|
`/v1/client/wattswarm-diagnostics` to the local Wattswarm UI API so operators can inspect
|
|
594
|
-
network-service status, local
|
|
595
|
-
Wattswarm diagnostics for
|
|
594
|
+
network-service status, local node id, connected node count, subscribed scopes, and structured
|
|
595
|
+
Wattswarm diagnostics for Iroh transport, gossip publish/ingest, backfill, and callback
|
|
596
596
|
delivery. Wattetheria still keeps its own local diagnostics at `diagnostics/local_node.jsonl`
|
|
597
597
|
through `/v1/client/diagnostics`, but multi-node network debugging should start with the
|
|
598
598
|
WattSwarm diagnostics feed.
|
|
@@ -682,7 +682,7 @@ Example OpenClaw/OpenAI-compatible config:
|
|
|
682
682
|
"kind": "openai-compatible",
|
|
683
683
|
"base_url": "http://127.0.0.1:4000/v1",
|
|
684
684
|
"model": "openclaw-agent",
|
|
685
|
-
"api_key_env": "
|
|
685
|
+
"api_key_env": "WATTETHERIA_BRAIN_API_KEY"
|
|
686
686
|
},
|
|
687
687
|
"wattswarm_ui_base_url": "http://127.0.0.1:7788",
|
|
688
688
|
"servicenet_base_url": "http://127.0.0.1:8042",
|
|
@@ -703,14 +703,16 @@ WATTETHERIA_AGENT_HOST_DATA_DIR=./data/wattetheria
|
|
|
703
703
|
WATTETHERIA_BRAIN_PROVIDER_KIND=openai-compatible
|
|
704
704
|
WATTETHERIA_BRAIN_BASE_URL=http://host.docker.internal:18789/v1
|
|
705
705
|
WATTETHERIA_BRAIN_MODEL=openclaw
|
|
706
|
-
WATTETHERIA_BRAIN_API_KEY_ENV=
|
|
706
|
+
WATTETHERIA_BRAIN_API_KEY_ENV=WATTETHERIA_BRAIN_API_KEY
|
|
707
707
|
WATTETHERIA_GATEWAY_URLS=http://gateway.example.com:8080
|
|
708
|
-
OPENCLAW_API_KEY=replace-me
|
|
709
708
|
```
|
|
710
709
|
|
|
711
710
|
`docker-compose.release.yml` also mounts `${WATTSWARM_HOST_STATE_DIR}/startup_config.json` into the
|
|
712
711
|
kernel container. If `WATTETHERIA_GATEWAY_URLS` is unset, the kernel now falls back to `gateway_urls`
|
|
713
|
-
saved by the Wattswarm startup UI in that file.
|
|
712
|
+
saved by the Wattswarm startup UI in that file. Wattetheria also resolves coarse node geo location
|
|
713
|
+
at startup and syncs the resulting `latitude` / `longitude` into that mounted startup config so
|
|
714
|
+
Wattswarm can publish nearby-discovery coordinates without exposing editable geo fields in the
|
|
715
|
+
startup UI.
|
|
714
716
|
|
|
715
717
|
When Wattetheria registers `core-agent` with Wattswarm, it keeps the brain/runtime
|
|
716
718
|
`base_url` pointed at the OpenAI-compatible gateway for `/execute` work and exposes a
|
|
@@ -39,7 +39,6 @@ services:
|
|
|
39
39
|
WATTETHERIA_GATEWAY_CONFIG_PATH: ${WATTETHERIA_GATEWAY_CONFIG_PATH:-/var/lib/wattswarm/startup_config.json}
|
|
40
40
|
WATTETHERIA_AUTONOMY_ENABLED: ${WATTETHERIA_AUTONOMY_ENABLED:-false}
|
|
41
41
|
WATTETHERIA_AUTONOMY_INTERVAL_SEC: ${WATTETHERIA_AUTONOMY_INTERVAL_SEC:-30}
|
|
42
|
-
OPENCLAW_API_KEY: ${OPENCLAW_API_KEY:-}
|
|
43
42
|
volumes:
|
|
44
43
|
- ${WATTETHERIA_HOST_STATE_DIR:-./data/wattetheria}:/var/lib/wattetheria
|
|
45
44
|
- ${WATTSWARM_HOST_STATE_DIR:-./data/wattswarm}:/var/lib/wattswarm:ro
|
|
@@ -105,12 +104,23 @@ services:
|
|
|
105
104
|
WATTSWARM_P2P_ENABLED: ${WATTSWARM_P2P_ENABLED:-true}
|
|
106
105
|
WATTSWARM_P2P_MDNS: ${WATTSWARM_P2P_MDNS:-true}
|
|
107
106
|
WATTSWARM_P2P_PORT: ${WATTSWARM_P2P_PORT:-4001}
|
|
107
|
+
WATTSWARM_NEARBY_DISCOVERY_ENABLED: ${WATTSWARM_NEARBY_DISCOVERY_ENABLED:-true}
|
|
108
|
+
WATTSWARM_NEARBY_DISCOVERY_RADIUS_KM: ${WATTSWARM_NEARBY_DISCOVERY_RADIUS_KM:-1000}
|
|
109
|
+
WATTSWARM_NEARBY_DISCOVERY_INTERVAL_MS: ${WATTSWARM_NEARBY_DISCOVERY_INTERVAL_MS:-30000}
|
|
110
|
+
WATTSWARM_NEARBY_DISCOVERY_TTL_MS: ${WATTSWARM_NEARBY_DISCOVERY_TTL_MS:-300000}
|
|
108
111
|
WATTSWARM_BOOTSTRAP_EXECUTOR_NAME: rt
|
|
109
112
|
WATTSWARM_BOOTSTRAP_EXECUTOR_URL: http://wattswarm-runtime:8787
|
|
110
113
|
WATTSWARM_UDP_ANNOUNCE_ENABLED: ${WATTSWARM_UDP_ANNOUNCE_ENABLED:-false}
|
|
111
114
|
WATTSWARM_UDP_ANNOUNCE_MODE: ${WATTSWARM_UDP_ANNOUNCE_MODE:-multicast}
|
|
112
115
|
WATTSWARM_UDP_ANNOUNCE_ADDR: ${WATTSWARM_UDP_ANNOUNCE_ADDR:-239.255.42.99}
|
|
113
116
|
WATTSWARM_UDP_ANNOUNCE_PORT: ${WATTSWARM_UDP_ANNOUNCE_PORT:-37931}
|
|
117
|
+
WATTSWARM_IROH_RELAY_URLS: ${WATTSWARM_IROH_RELAY_URLS:-}
|
|
118
|
+
WATTSWARM_IROH_PUBLISH_DIRECT_ADDRS: ${WATTSWARM_IROH_PUBLISH_DIRECT_ADDRS:-true}
|
|
119
|
+
WATTSWARM_PUBLIC_BOOTSTRAP_URLS: ${WATTSWARM_PUBLIC_BOOTSTRAP_URLS:-}
|
|
120
|
+
WATTSWARM_PUBLIC_BOOTSTRAP_CONTACTS: ${WATTSWARM_PUBLIC_BOOTSTRAP_CONTACTS:-}
|
|
121
|
+
WATTSWARM_PUBLIC_GATEWAY_URLS: ${WATTSWARM_PUBLIC_GATEWAY_URLS:-}
|
|
122
|
+
WATTSWARM_PUBLIC_DISCOVERY_URLS: ${WATTSWARM_PUBLIC_DISCOVERY_URLS:-}
|
|
123
|
+
WATTSWARM_NETWORK_JOIN_MANIFEST_URLS: ${WATTSWARM_NETWORK_JOIN_MANIFEST_URLS:-}
|
|
114
124
|
volumes:
|
|
115
125
|
- ${WATTSWARM_HOST_STATE_DIR:-./data/wattswarm}:/var/lib/wattswarm
|
|
116
126
|
ports:
|
package/lib/cli.js
CHANGED
|
@@ -49,13 +49,16 @@ const DEFAULT_ENV_ENTRIES = [
|
|
|
49
49
|
["WATTETHERIA_SERVICENET_BASE_URL", ""],
|
|
50
50
|
["WATTETHERIA_AUTONOMY_ENABLED", "false"],
|
|
51
51
|
["WATTETHERIA_AUTONOMY_INTERVAL_SEC", "30"],
|
|
52
|
-
["OPENCLAW_API_KEY", ""],
|
|
53
52
|
["WATTSWARM_PG_DB", "wattswarm"],
|
|
54
53
|
["WATTSWARM_PG_USER", "postgres"],
|
|
55
54
|
["WATTSWARM_PG_PASSWORD", "replace-with-strong-password"],
|
|
56
55
|
["WATTSWARM_P2P_ENABLED", "true"],
|
|
57
56
|
["WATTSWARM_P2P_MDNS", "true"],
|
|
58
57
|
["WATTSWARM_P2P_PORT", "4001"],
|
|
58
|
+
["WATTSWARM_NEARBY_DISCOVERY_ENABLED", "true"],
|
|
59
|
+
["WATTSWARM_NEARBY_DISCOVERY_RADIUS_KM", "1000"],
|
|
60
|
+
["WATTSWARM_NEARBY_DISCOVERY_INTERVAL_MS", "30000"],
|
|
61
|
+
["WATTSWARM_NEARBY_DISCOVERY_TTL_MS", "300000"],
|
|
59
62
|
["WATTSWARM_WORKER_CONCURRENCY", "16"],
|
|
60
63
|
["WATTSWARM_WORKER_POLL_MS", "250"],
|
|
61
64
|
["WATTSWARM_WORKER_LEASE_MS", "30000"],
|