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:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user