You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: rename hint_set → role across MCP, REST, and OpenAPI
Every UAT session flagged hint_set as confusing — "hints" is protocol
jargon. The REPL and CLI already use "role" (role entry, role prefer
exit, role auto). This aligns MCP and REST to match:
- MCP: hint_set → role, hint_set_auto → role_auto
- REST: PUT/DELETE /hints → PUT/DELETE /role
- OpenAPI: HintSetRequest → RoleSetRequest, operationIds updated
- level parameter now defaults to "fixed" (matches REPL: "role entry"
means "role fixed entry")
Also: removed confusing connect=false/listen=false from info output
capabilities — the address fields already show this information.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
/// How strongly to apply the hint: "prefer" (soft), "exclude" (avoid), or "fixed" (force)
48
-
publevel:String,
49
-
/// Target role: "entry", "exit", or "relay"
46
+
pubstructRoleParams{
47
+
/// "auto" to clear, or a role: "entry", "exit", "relay"
50
48
pubrole:String,
49
+
/// How to apply (ignored when role is "auto"): "fixed" (default), "prefer", or "exclude"
50
+
#[serde(default = "default_role_level")]
51
+
publevel:String,
52
+
}
53
+
54
+
fndefault_role_level() -> String{
55
+
"fixed".to_string()
51
56
}
52
57
53
58
/// Wallhack MCP server — exposes daemon management as MCP tools.
@@ -182,19 +187,25 @@ impl WallhackServer {
182
187
}
183
188
184
189
#[tool(
185
-
description = "Set a role hint to influence auto-negotiation: \"prefer\" makes the role more likely, \"exclude\" prevents it, \"fixed\" forces it"
190
+
description = "Set or clear this node's role. Examples: role entry (force entry), role prefer exit (soft preference), role exclude relay (avoid relay), role auto (clear all, return to negotiation)"
0 commit comments