GitHub Action
commited on
Commit
·
ec44bd1
1
Parent(s):
f2f34e4
Sync from GitHub with Git LFS
Browse files- agents/bootstrap.txt +2 -2
- agents/peer_sync.py +4 -4
- agents/tools/db_structure.sql +0 -1
- agents/tools/storage.py +5 -0
agents/bootstrap.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
did:hmp:ac0e063e-8609-4ef9-84ed-d7dcafc65977 ["tcp://node1.mesh.local:8000","udp://node1.mesh.local:8030"]
|
2 |
did:hmp:ac0e063e-8709-4ef9-84ed-d7dcafc65977 ["tcp://node2.mesh.local:8010"]
|
3 |
-
did:hmp:ac0e063e-8609-4ff9-84ed-d7dc46c65977 ["tcp://
|
4 |
-
did:hmp:ac0f053e-8609-4ef9-84ed-d7dcafc65977 ["any://
|
|
|
1 |
did:hmp:ac0e063e-8609-4ef9-84ed-d7dcafc65977 ["tcp://node1.mesh.local:8000","udp://node1.mesh.local:8030"]
|
2 |
did:hmp:ac0e063e-8709-4ef9-84ed-d7dcafc65977 ["tcp://node2.mesh.local:8010"]
|
3 |
+
did:hmp:ac0e063e-8609-4ff9-84ed-d7dc46c65977 ["tcp://node3.mesh.local:8020"]
|
4 |
+
did:hmp:ac0f053e-8609-4ef9-84ed-d7dcafc65977 ["any://node4.mesh.local:8000"]
|
agents/peer_sync.py
CHANGED
@@ -134,7 +134,7 @@ def tcp_listener():
|
|
134 |
if data == b"PEER_EXCHANGE_REQUEST":
|
135 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
136 |
peers_list = []
|
137 |
-
for peer in storage.
|
138 |
peer_id = peer["id"]
|
139 |
addresses_json = peer["addresses"]
|
140 |
try:
|
@@ -258,8 +258,8 @@ def udp_discovery():
|
|
258 |
def tcp_peer_exchange():
|
259 |
PEER_EXCHANGE_INTERVAL = 20 # для отладки сделаем меньше
|
260 |
while True:
|
261 |
-
peers = storage.
|
262 |
-
print(f"[PeerExchange] Checking {len(peers)} peers...")
|
263 |
|
264 |
for peer in peers:
|
265 |
# peer может быть tuple (id, addresses) или dict
|
@@ -385,7 +385,7 @@ def tcp_listener():
|
|
385 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
386 |
peers_list = []
|
387 |
|
388 |
-
for peer in storage.
|
389 |
peer_id = peer["id"]
|
390 |
addresses_json = peer["addresses"]
|
391 |
try:
|
|
|
134 |
if data == b"PEER_EXCHANGE_REQUEST":
|
135 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
136 |
peers_list = []
|
137 |
+
for peer in storage.get_known_peers(my_id, limit=50):
|
138 |
peer_id = peer["id"]
|
139 |
addresses_json = peer["addresses"]
|
140 |
try:
|
|
|
258 |
def tcp_peer_exchange():
|
259 |
PEER_EXCHANGE_INTERVAL = 20 # для отладки сделаем меньше
|
260 |
while True:
|
261 |
+
peers = storage.get_known_peers(my_id, limit=50)
|
262 |
+
print(f"[PeerExchange] Checking {len(peers)} peers (raw DB)...")
|
263 |
|
264 |
for peer in peers:
|
265 |
# peer может быть tuple (id, addresses) или dict
|
|
|
385 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
386 |
peers_list = []
|
387 |
|
388 |
+
for peer in storage.get_known_peers(my_id, limit=50):
|
389 |
peer_id = peer["id"]
|
390 |
addresses_json = peer["addresses"]
|
391 |
try:
|
agents/tools/db_structure.sql
CHANGED
@@ -145,7 +145,6 @@ CREATE TABLE IF NOT EXISTS llm_recent_responses (
|
|
145 |
-- Список известных агентов в сети HMP
|
146 |
CREATE TABLE IF NOT EXISTS agent_peers (
|
147 |
id TEXT PRIMARY KEY, -- Уникальный идентификатор (UUID или псевдоним)
|
148 |
-
remote_did TEXT, -- DiD агента
|
149 |
name TEXT, -- Имя агента
|
150 |
addresses TEXT, -- Адреса для связи (JSON)
|
151 |
tags TEXT, -- Теги (Postman, Friend и т.д.)
|
|
|
145 |
-- Список известных агентов в сети HMP
|
146 |
CREATE TABLE IF NOT EXISTS agent_peers (
|
147 |
id TEXT PRIMARY KEY, -- Уникальный идентификатор (UUID или псевдоним)
|
|
|
148 |
name TEXT, -- Имя агента
|
149 |
addresses TEXT, -- Адреса для связи (JSON)
|
150 |
tags TEXT, -- Теги (Postman, Friend и т.д.)
|
agents/tools/storage.py
CHANGED
@@ -942,6 +942,11 @@ class Storage:
|
|
942 |
c.execute("SELECT id, addresses FROM agent_peers WHERE status='online' LIMIT ?", (limit,))
|
943 |
return c.fetchall()
|
944 |
|
|
|
|
|
|
|
|
|
|
|
945 |
# Нормализация адресов
|
946 |
def normalize_address(self, addr: str) -> str:
|
947 |
addr = addr.strip()
|
|
|
942 |
c.execute("SELECT id, addresses FROM agent_peers WHERE status='online' LIMIT ?", (limit,))
|
943 |
return c.fetchall()
|
944 |
|
945 |
+
def get_known_peers(self, my_id, limit=50):
|
946 |
+
c = self.conn.cursor()
|
947 |
+
c.execute("SELECT id, addresses FROM agent_peers WHERE id != ? LIMIT ?", (my_id, limit))
|
948 |
+
return c.fetchall()
|
949 |
+
|
950 |
# Нормализация адресов
|
951 |
def normalize_address(self, addr: str) -> str:
|
952 |
addr = addr.strip()
|