mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-04-14 22:09:37 +08:00
fix: gate node p2p behind explicit config
This commit is contained in:
@@ -142,7 +142,17 @@ func NewAgentLoop(cfg *config.Config, msgBus *bus.MessageBus, provider providers
|
||||
return nodes.Response{OK: false, Code: "unsupported_action", Node: "local", Action: req.Action, Error: "unsupported local simulated action"}
|
||||
}
|
||||
})
|
||||
nodesRouter := &nodes.Router{P2P: &nodes.WebsocketP2PTransport{Manager: nodesManager}, Relay: &nodes.HTTPRelayTransport{Manager: nodesManager}}
|
||||
var nodeP2P nodes.Transport
|
||||
if cfg.Gateway.Nodes.P2P.Enabled {
|
||||
switch strings.ToLower(strings.TrimSpace(cfg.Gateway.Nodes.P2P.Transport)) {
|
||||
case "", "websocket_tunnel":
|
||||
nodeP2P = &nodes.WebsocketP2PTransport{Manager: nodesManager}
|
||||
case "webrtc":
|
||||
// Keep the mode explicit but non-default until a direct data channel is production-ready.
|
||||
nodeP2P = &nodes.WebsocketP2PTransport{Manager: nodesManager}
|
||||
}
|
||||
}
|
||||
nodesRouter := &nodes.Router{P2P: nodeP2P, Relay: &nodes.HTTPRelayTransport{Manager: nodesManager}}
|
||||
toolsRegistry.Register(tools.NewNodesTool(nodesManager, nodesRouter, filepath.Join(workspace, "memory", "nodes-dispatch-audit.jsonl")))
|
||||
|
||||
if cs != nil {
|
||||
|
||||
32
pkg/agent/loop_nodes_p2p_test.go
Normal file
32
pkg/agent/loop_nodes_p2p_test.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package agent
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"clawgo/pkg/bus"
|
||||
"clawgo/pkg/config"
|
||||
)
|
||||
|
||||
func TestNewAgentLoopDisablesNodeP2PByDefault(t *testing.T) {
|
||||
cfg := config.DefaultConfig()
|
||||
cfg.Agents.Defaults.Workspace = t.TempDir()
|
||||
|
||||
loop := NewAgentLoop(cfg, bus.NewMessageBus(), stubLLMProvider{}, nil)
|
||||
if loop.nodeRouter == nil {
|
||||
t.Fatalf("expected node router to be configured")
|
||||
}
|
||||
if loop.nodeRouter.P2P != nil {
|
||||
t.Fatalf("expected node p2p transport to be disabled by default")
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewAgentLoopEnablesNodeP2PWhenConfigured(t *testing.T) {
|
||||
cfg := config.DefaultConfig()
|
||||
cfg.Agents.Defaults.Workspace = t.TempDir()
|
||||
cfg.Gateway.Nodes.P2P.Enabled = true
|
||||
|
||||
loop := NewAgentLoop(cfg, bus.NewMessageBus(), stubLLMProvider{}, nil)
|
||||
if loop.nodeRouter == nil || loop.nodeRouter.P2P == nil {
|
||||
t.Fatalf("expected node p2p transport to be enabled")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user