/** * Capability Matrix (Core) * * Defines which operations can run natively in TypeScript vs requiring * the CLEO CLI (bash). Used by dual-mode routing to determine execution path. * * Each operation is tagged as: * - native: Runs in TypeScript, works cross-platform (no bash needed) * - cli: Requires CLEO CLI subprocess (Unix-only) * - hybrid: Can run either way (prefers CLI when available) * * preferredChannel encodes token-efficiency routing (from routing-table.ts): * - cli: Human-readable output, shell integration, interactive prompts * - either: No significant difference or context-dependent * * Canonical location: src/core/routing/capability-matrix.ts * Re-exported from: src/dispatch/lib/capability-matrix.ts (backward compat) * * @task T5706 */ /** * Execution mode for an operation */ export type ExecutionMode = 'native' | 'cli' | 'hybrid'; /** * Gateway type */ export type GatewayType = 'query' | 'mutate'; /** * Preferred communication channel for token efficiency. * CLI is the only dispatch channel. * @task T5240 */ export type PreferredChannel = 'cli' | 'either'; export interface OperationCapability { domain: string; operation: string; gateway: GatewayType; mode: ExecutionMode; preferredChannel: PreferredChannel; } /** * Capability report returned by system.doctor */ export interface CapabilityReport { totalOperations: number; native: number; cli: number; hybrid: number; domains: Record; } /** * Lookup the execution mode for a specific operation */ export declare function getOperationMode(domain: string, operation: string, gateway: GatewayType): ExecutionMode | undefined; /** * Check if an operation can run natively (without CLI) */ export declare function canRunNatively(domain: string, operation: string, gateway: GatewayType): boolean; /** * Check if an operation requires CLI */ export declare function requiresCLI(domain: string, operation: string, gateway: GatewayType): boolean; /** * Get all native-capable operations for a domain */ export declare function getNativeOperations(domain: string): OperationCapability[]; /** * Generate a capability report for system.doctor */ export declare function generateCapabilityReport(): CapabilityReport; /** * Get the full capability matrix (for testing/introspection) */ export declare function getCapabilityMatrix(): ReadonlyArray; //# sourceMappingURL=capability-matrix.d.ts.map