INNER CODE UNIT · TypeScript
matchPlaybook
AmrDab/clawdcursor · src/tools/playbooks/index.ts:71
export function matchPlaybook(task: string, _activeApp: string): string | null {
const t = task.toLowerCase();
// Compose + submit form (mail, message, or any compose-style flow).
// Matches any intent that asks to compose AND send/submit AND has a
// recipient-like noun. Pure regex \u2014 no app names.
if (/\bsend\b.*\b(email|message|mail|note|invite)\b|\bcompose\b.*\b(email|message|mail)\b|\bsend\s+to\s+\S+@/i.test(t)) {
return 'compose-send';
}
// Find & replace \u2014 universal across text editors, IDEs, browsers, docs.
if (/\bfind\s+and\s+replace\b|\breplace\s+all\b/i.test(t)) {
return 'find-replace';
}
return null;
}