- Replace standalone no-reply-api Docker service with unified sidecar (services/main.mjs) that routes /no-reply/* and /moderator/* and starts/stops with openclaw-gateway - Add moderator Discord Gateway client (services/moderator/index.mjs) for real-time MESSAGE_CREATE push instead of polling; notifies plugin via HTTP callback - Add plugin HTTP routes (plugin/web/dirigent-api.ts) for moderator → plugin callbacks (wake-from-dormant, interrupt tail-match) - Fix tool registration format: AgentTool requires execute: not handler:; factory form for tools needing ctx - Rename no-reply-process.ts → sidecar-process.ts, startNoReplyApi → startSideCar - Remove dead config fields from openclaw.plugin.json (humanList, agentList, listMode, channelPoliciesFile, endSymbols, waitIdentifier, multiMessage*, bypassUserIds, etc.) - Rename noReplyPort → sideCarPort - Remove docker-compose.yml, dev-up/down scripts, package-plugin.mjs, test-no-reply-api.mjs - Update install.mjs: clean dist before build, copy services/, drop dead config writes - Update README, Makefile, smoke script for new architecture Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
790 B
JSON
23 lines
790 B
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": {
|
|
"moderatorBotToken": { "type": "string" },
|
|
"scheduleIdentifier": { "type": "string", "default": "➡️" },
|
|
"identityFilePath": { "type": "string" },
|
|
"channelStoreFilePath": { "type": "string" },
|
|
"debugMode": { "type": "boolean", "default": false },
|
|
"noReplyProvider": { "type": "string", "default": "dirigent" },
|
|
"noReplyModel": { "type": "string", "default": "no-reply" },
|
|
"sideCarPort": { "type": "number", "default": 8787 }
|
|
},
|
|
"required": []
|
|
}
|
|
}
|