Add optional 'from' parameter to send_message

- Allow explicit sender role instead of auto-detection
- Fixes issue where process.cwd() doesn't match caller workspace
- Users can specify from: 'admin-dev', 'api-dev', or 'web-dev'
- Falls back to detectRole() if not provided

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-10-09 07:41:26 +02:00
parent 94dca0e38c
commit 24e871ea01

View File

@@ -22,6 +22,7 @@ function detectRole(): string {
// Schemas // Schemas
const SendMessageSchema = z.object({ const SendMessageSchema = z.object({
to: z.enum(['admin-dev', 'api-dev', 'web-dev']), to: z.enum(['admin-dev', 'api-dev', 'web-dev']),
from: z.enum(['admin-dev', 'api-dev', 'web-dev']).optional(),
subject: z.string(), subject: z.string(),
message: z.string(), message: z.string(),
data: z.record(z.any()).optional(), data: z.record(z.any()).optional(),
@@ -46,8 +47,8 @@ export class SendMessageTool extends ToolHandler<SendMessageInput, any> {
} }
protected async handle(input: SendMessageInput, _context: ToolContext): Promise<any> { protected async handle(input: SendMessageInput, _context: ToolContext): Promise<any> {
const { to, subject, message, data } = input; const { to, from: explicitFrom, subject, message, data } = input;
const from = detectRole(); const from = explicitFrom || detectRole();
const payload = { const payload = {
from, from,