From 94dca0e38c2851a0301c4cdde03b0c3aafbc2488 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 9 Oct 2025 07:39:33 +0200 Subject: [PATCH] Fix: Simplify role detection to work with all path formats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove leading slash requirement - use includes() directly - Add word boundary regex for 'api' to avoid false matches - Covers /srv/joylo-api, /srv/joylo-apps/joylo-admin, etc - Should fix 'unknown' role detection issue 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/tools/builtin/messaging.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tools/builtin/messaging.ts b/src/tools/builtin/messaging.ts index c3bedec..dc7e368 100644 --- a/src/tools/builtin/messaging.ts +++ b/src/tools/builtin/messaging.ts @@ -6,15 +6,15 @@ import { z } from 'zod'; function detectRole(): string { const cwd = process.cwd(); - // Check for specific workspace patterns with leading slash - if (cwd.includes('/joylo-admin')) return 'admin-dev'; - if (cwd.includes('/joylo-api')) return 'api-dev'; - if (cwd.includes('/joylo-web')) return 'web-dev'; + // Match patterns - check most specific first + if (cwd.includes('joylo-admin') || cwd.includes('joylo/admin')) return 'admin-dev'; + if (cwd.includes('joylo-api') || cwd.includes('joylo/api')) return 'api-dev'; + if (cwd.includes('joylo-web') || cwd.includes('joylo/web')) return 'web-dev'; - // Fallback for different path formats - if (cwd.match(/admin/i)) return 'admin-dev'; - if (cwd.match(/api/i)) return 'api-dev'; - if (cwd.match(/web/i)) return 'web-dev'; + // Fallback regex + if (/admin/i.test(cwd)) return 'admin-dev'; + if (/\bapi\b/i.test(cwd)) return 'api-dev'; + if (/\bweb\b/i.test(cwd)) return 'web-dev'; return 'unknown'; }