Commit Graph

67 Commits

Author SHA1 Message Date
a4836097e4 fix: add default values for optional config fields
- Add default values for enableDiscordControlTool, enableWhispergatePolicyTool,
  discordControlApiBaseUrl, enableDebugLogs, debugLogChannelIds
- Merge defaults in both baseConfig and getLivePluginConfig
- Fixes issue where whispergateway_tools tool was not exposed due to missing
  config fields in openclaw.json
2026-02-26 22:16:23 +00:00
4622173787 fix: restore model after no-reply executes (needsRestore flag) 2026-02-26 13:39:43 +00:00
211a94233f chore(debug): log parsed sender/channel fields in hook decision recompute 2026-02-26 11:47:23 +00:00
zhi
f33dc13af4 fix: extract senderId from event.prompt instead of ctx in hooks
Root cause: PluginHookAgentContext in before_model_resolve only has
agentId, sessionKey, sessionId, workspaceDir, messageProvider.
senderId, channelId, input are NOT available in this hook phase.

The plugin was reading ctx.senderId (undefined) -> inHumanList=false
for ALL Discord sessions -> shouldUseNoReply=true -> all silenced.

Fix: use event.prompt which contains the full user message including
the 'Conversation info (untrusted metadata)' JSON block, and extract
sender_id from there. Same fix applied to before_prompt_build.
2026-02-26 08:56:24 +00:00
8eade446b3 fix(hooks): move first-pass decision to before_model_resolve and keep message_received for debug only 2026-02-26 02:33:15 +00:00
51149dd6a0 feat(debug): add whispergate hook diagnostics with channel-scoped debug logs 2026-02-26 01:58:01 +00:00
46ea43b3fe fix(rules): inject end-marker prompt for every non-no-reply discord turn 2026-02-26 01:47:27 +00:00
ca96779159 refactor(tooling): merge discord_control and whispergate_policy into whispergateway_tools 2026-02-26 01:31:31 +00:00
e5999743fe feat(policy-runtime): in-memory policy state with whispergate_policy tool and atomic persist 2026-02-26 00:35:17 +00:00
682d9a336e feat(policy-file): move channel overrides to standalone channelPoliciesFile with hot reload 2026-02-26 00:28:34 +00:00
d6f908b813 feat(policy): add per-channel channelPolicies with hot-reload list mode/lists 2026-02-26 00:23:47 +00:00
6d463a4572 feat(config): add hot-reload config + listMode (human-list/agent-list) 2026-02-26 00:18:05 +00:00
0f526346f4 feat(tool): register optional discord_control tool in whispergate plugin and align defaults 2026-02-25 23:37:15 +00:00
32405fa3e2 feat(plugin): inject 🔚 ending instruction for bypass/end-symbol discord turns 2026-02-25 11:04:01 +00:00
f09972c083 feat(plugin): add sender normalization, TTL, and one-shot decisions 2026-02-25 10:43:11 +00:00
83b9d517ec feat(plugin): extract rule engine and harden channel/session handling 2026-02-25 10:39:47 +00:00
7728892d15 feat(plugin): add WhisperGate rule engine and model override hook 2026-02-25 10:36:59 +00:00