← back to Dw Boardroom Governance
src/agents/vp.ts
48 lines
/**
* VP Agent — Delegation coordinator
* Uses keyword routing + exec hierarchy to suggest delegates
*/
import { routeByKeywords, getExecForAgent, buildHierarchyPath } from '../engine/delegationEngine';
import { EXEC_DELEGATES } from '../types';
export interface DelegationSuggestion {
suggestedDelegate: string | null;
exec: string | null;
hierarchyPath: string;
confidence: 'high' | 'medium' | 'low';
reasoning: string;
}
export function suggestDelegate(taskDescription: string): DelegationSuggestion {
const agent = routeByKeywords(taskDescription);
if (agent) {
const exec = getExecForAgent(agent);
return {
suggestedDelegate: agent,
exec,
hierarchyPath: buildHierarchyPath(agent),
confidence: 'high',
reasoning: `Keyword match routed to ${agent} under ${exec || 'unknown exec'}`,
};
}
// No keyword match — suggest based on context clues
return {
suggestedDelegate: null,
exec: null,
hierarchyPath: '',
confidence: 'low',
reasoning: 'No keyword match found. Manual delegation recommended.',
};
}
export function getExecTeam(exec: string): string[] {
return EXEC_DELEGATES[exec] || [];
}
export function getAllExecs(): string[] {
return Object.keys(EXEC_DELEGATES);
}