Files
wifi-densepose/.claude/helpers/router.js
Claude 6ed69a3d48 feat: Complete Rust port of WiFi-DensePose with modular crates
Major changes:
- Organized Python v1 implementation into v1/ subdirectory
- Created Rust workspace with 9 modular crates:
  - wifi-densepose-core: Core types, traits, errors
  - wifi-densepose-signal: CSI processing, phase sanitization, FFT
  - wifi-densepose-nn: Neural network inference (ONNX/Candle/tch)
  - wifi-densepose-api: Axum-based REST/WebSocket API
  - wifi-densepose-db: SQLx database layer
  - wifi-densepose-config: Configuration management
  - wifi-densepose-hardware: Hardware abstraction
  - wifi-densepose-wasm: WebAssembly bindings
  - wifi-densepose-cli: Command-line interface

Documentation:
- ADR-001: Workspace structure
- ADR-002: Signal processing library selection
- ADR-003: Neural network inference strategy
- DDD domain model with bounded contexts

Testing:
- 69 tests passing across all crates
- Signal processing: 45 tests
- Neural networks: 21 tests
- Core: 3 doc tests

Performance targets:
- 10x faster CSI processing (~0.5ms vs ~5ms)
- 5x lower memory usage (~100MB vs ~500MB)
- WASM support for browser deployment
2026-01-13 03:11:16 +00:00

67 lines
2.1 KiB
JavaScript

#!/usr/bin/env node
/**
* Claude Flow Agent Router
* Routes tasks to optimal agents based on learned patterns
*/
const AGENT_CAPABILITIES = {
coder: ['code-generation', 'refactoring', 'debugging', 'implementation'],
tester: ['unit-testing', 'integration-testing', 'coverage', 'test-generation'],
reviewer: ['code-review', 'security-audit', 'quality-check', 'best-practices'],
researcher: ['web-search', 'documentation', 'analysis', 'summarization'],
architect: ['system-design', 'architecture', 'patterns', 'scalability'],
'backend-dev': ['api', 'database', 'server', 'authentication'],
'frontend-dev': ['ui', 'react', 'css', 'components'],
devops: ['ci-cd', 'docker', 'deployment', 'infrastructure'],
};
const TASK_PATTERNS = {
// Code patterns
'implement|create|build|add|write code': 'coder',
'test|spec|coverage|unit test|integration': 'tester',
'review|audit|check|validate|security': 'reviewer',
'research|find|search|documentation|explore': 'researcher',
'design|architect|structure|plan': 'architect',
// Domain patterns
'api|endpoint|server|backend|database': 'backend-dev',
'ui|frontend|component|react|css|style': 'frontend-dev',
'deploy|docker|ci|cd|pipeline|infrastructure': 'devops',
};
function routeTask(task) {
const taskLower = task.toLowerCase();
// Check patterns
for (const [pattern, agent] of Object.entries(TASK_PATTERNS)) {
const regex = new RegExp(pattern, 'i');
if (regex.test(taskLower)) {
return {
agent,
confidence: 0.8,
reason: `Matched pattern: ${pattern}`,
};
}
}
// Default to coder for unknown tasks
return {
agent: 'coder',
confidence: 0.5,
reason: 'Default routing - no specific pattern matched',
};
}
// CLI
const task = process.argv.slice(2).join(' ');
if (task) {
const result = routeTask(task);
console.log(JSON.stringify(result, null, 2));
} else {
console.log('Usage: router.js <task description>');
console.log('\nAvailable agents:', Object.keys(AGENT_CAPABILITIES).join(', '));
}
module.exports = { routeTask, AGENT_CAPABILITIES, TASK_PATTERNS };