/** * Lightweight user-turn intent classification for tool/skill routing. * * Pure heuristics (no LLM). Used by oneshot/TUI to: * - keep pure chat light (existing isPureChatOneShotRequest) * - enable web / plan / ops / subagent tools when signals match * - leave coding tools available for engineering work * * Not a hard state machine — the agent loop still decides; this only shapes * host-side tool filters and prompt budgets. */ export type IntentClass = 'chat' | 'coding' | 'debug' | 'research' | 'ops' | 'design' | 'plan_only'; export type IntentConfidence = 'high' | 'medium' | 'low'; export interface IntentClassification { primary: IntentClass; /** Secondary tags that also matched (for logging / skill suggestions). */ secondary: IntentClass[]; confidence: IntentConfidence; } /** * Classify a user message into a primary intent for host routing. * Longer / multi-signal messages get medium confidence and secondary tags. */ export declare function classifyUserIntent(message: string): IntentClassification; /** Whether this intent typically needs coding mutation tools. */ export declare function intentNeedsCodingTools(intent: IntentClass): boolean; /** Whether this intent typically needs web tools. */ export declare function intentNeedsWebTools(intent: IntentClass): boolean; /** Whether this intent is plan/architecture without immediate implement. */ export declare function intentNeedsPlanTools(intent: IntentClass): boolean; /** * Soft dynamic-context note when the user asks for canvas/UI design work but * this Moss session has no Ardot/design-canvas tools registered. * Empty string when not design intent (or when design tools are available). */ export declare function buildDesignIntentHandoffContext(message: string, options?: { hasDesignTools?: boolean; }): string; //# sourceMappingURL=intent-classify.d.ts.map