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
34 lines
1.7 KiB
JSON
34 lines
1.7 KiB
JSON
{
|
|
"id": "dirigent",
|
|
"name": "Dirigent",
|
|
"version": "0.3.0",
|
|
"description": "Rule-based no-reply gate with provider/model override and turn management",
|
|
"entry": "./index.ts",
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": { "type": "boolean", "default": true },
|
|
"discordOnly": { "type": "boolean", "default": true },
|
|
"listMode": { "type": "string", "enum": ["human-list", "agent-list"], "default": "human-list" },
|
|
"humanList": { "type": "array", "items": { "type": "string" }, "default": [] },
|
|
"agentList": { "type": "array", "items": { "type": "string" }, "default": [] },
|
|
"channelPoliciesFile": { "type": "string", "default": "~/.openclaw/dirigent-channel-policies.json" },
|
|
"bypassUserIds": { "type": "array", "items": { "type": "string" }, "default": [] },
|
|
"endSymbols": { "type": "array", "items": { "type": "string" }, "default": ["🔚"] },
|
|
"schedulingIdentifier": { "type": "string", "default": "➡️" },
|
|
"noReplyProvider": { "type": "string" },
|
|
"noReplyModel": { "type": "string" },
|
|
"enableDiscordControlTool": { "type": "boolean", "default": true },
|
|
"enableDirigentPolicyTool": { "type": "boolean", "default": true },
|
|
"discordControlApiBaseUrl": { "type": "string", "default": "http://127.0.0.1:8790" },
|
|
"discordControlApiToken": { "type": "string" },
|
|
"discordControlCallerId": { "type": "string" },
|
|
"enableDebugLogs": { "type": "boolean", "default": false },
|
|
"debugLogChannelIds": { "type": "array", "items": { "type": "string" }, "default": [] },
|
|
"moderatorBotToken": { "type": "string" }
|
|
},
|
|
"required": ["noReplyProvider", "noReplyModel"]
|
|
}
|
|
}
|