feat: split dirigent_tools into individual tools + human @mention override

Feature 1: Split dirigent_tools
- Replace monolithic dirigent_tools (9 actions) with 9 individual tools
- Discord: dirigent_channel_create, dirigent_channel_update, dirigent_member_list
- Policy: dirigent_policy_get, dirigent_policy_set, dirigent_policy_delete
- Turn: dirigent_turn_status, dirigent_turn_advance, dirigent_turn_reset
- Extract shared executeDiscordAction() helper

Feature 2: Human @mention override
- When humanList user @mentions agents, temporarily override turn order
- Only mentioned agents cycle, ordered by their turn order position
- Original order restores when cycle returns to first agent or all NO_REPLY
- New: setMentionOverride(), hasMentionOverride(), extractMentionedUserIds()
- New: buildUserIdToAccountIdMap() for reverse userId→accountId resolution

Bump version to 0.3.0
This commit is contained in:
zhi
2026-03-07 16:55:01 +00:00
parent bbd18cd90c
commit 0729e83b38
7 changed files with 436 additions and 113 deletions

View File

@@ -1,5 +1,17 @@
# Changelog
## 0.3.0
- **Split `dirigent_tools` into individual tools**: Each action is now a separate tool with focused parameters:
- `dirigent_channel_create`, `dirigent_channel_update`, `dirigent_member_list` (Discord control)
- `dirigent_policy_get`, `dirigent_policy_set`, `dirigent_policy_delete` (policy management)
- `dirigent_turn_status`, `dirigent_turn_advance`, `dirigent_turn_reset` (turn management)
- **Human @mention override**: When a `humanList` user @mentions specific agents:
- Temporarily overrides the speaking order to only mentioned agents
- Agents cycle in their original turn-order position
- After all mentioned agents have spoken, original order restores and state goes dormant
- Handles edge cases: all NO_REPLY, reset, non-agent mentions
## 0.2.0
- **Project renamed from WhisperGate to Dirigent**