Terminal-based AI coding agent with interactive TUI for autonomous code generation.
Features: - Interactive TUI with React/Ink - Autonomous agent with tool calls (bash, read, write, edit, glob, grep) - Permission system with pattern-based rules - Session management with auto-compaction - Dual providers: GitHub Copilot and Ollama - MCP server integration - Todo panel and theme system - Streaming responses - GitHub-compatible project context
This commit is contained in:
127
src/constants/provider-quality.ts
Normal file
127
src/constants/provider-quality.ts
Normal file
@@ -0,0 +1,127 @@
|
||||
import type { TaskType } from "@/types/provider-quality";
|
||||
|
||||
export const QUALITY_THRESHOLDS = {
|
||||
HIGH: 0.85,
|
||||
MEDIUM: 0.6,
|
||||
LOW: 0.4,
|
||||
INITIAL: 0.5,
|
||||
} as const;
|
||||
|
||||
export const SCORE_ADJUSTMENTS = {
|
||||
APPROVAL: 0.05,
|
||||
CORRECTION: -0.08,
|
||||
USER_REJECTION: -0.15,
|
||||
MINOR_ISSUE: -0.02,
|
||||
MAJOR_ISSUE: -0.05,
|
||||
} as const;
|
||||
|
||||
export const TASK_TYPE_PATTERNS: Record<TaskType, RegExp[]> = {
|
||||
code_generation: [
|
||||
/create\s+(a\s+)?function/i,
|
||||
/write\s+(a\s+)?code/i,
|
||||
/implement/i,
|
||||
/generate\s+(a\s+)?/i,
|
||||
/add\s+(a\s+)?(new\s+)?feature/i,
|
||||
/build\s+(a\s+)?/i,
|
||||
],
|
||||
refactoring: [
|
||||
/refactor/i,
|
||||
/clean\s*up/i,
|
||||
/restructure/i,
|
||||
/reorganize/i,
|
||||
/simplify/i,
|
||||
/improve\s+(the\s+)?code/i,
|
||||
],
|
||||
bug_fix: [
|
||||
/fix/i,
|
||||
/bug/i,
|
||||
/error/i,
|
||||
/issue/i,
|
||||
/not\s+working/i,
|
||||
/broken/i,
|
||||
/problem/i,
|
||||
/debug/i,
|
||||
],
|
||||
documentation: [
|
||||
/document/i,
|
||||
/comment/i,
|
||||
/readme/i,
|
||||
/explain\s+.*\s+code/i,
|
||||
/add\s+.*\s+docs/i,
|
||||
/jsdoc/i,
|
||||
/tsdoc/i,
|
||||
],
|
||||
testing: [
|
||||
/test/i,
|
||||
/spec/i,
|
||||
/unit\s+test/i,
|
||||
/integration/i,
|
||||
/coverage/i,
|
||||
/mock/i,
|
||||
],
|
||||
explanation: [
|
||||
/explain/i,
|
||||
/what\s+(does|is)/i,
|
||||
/how\s+(does|do)/i,
|
||||
/why/i,
|
||||
/understand/i,
|
||||
/clarify/i,
|
||||
],
|
||||
review: [
|
||||
/review/i,
|
||||
/check/i,
|
||||
/evaluate/i,
|
||||
/assess/i,
|
||||
/audit/i,
|
||||
/pr\s+review/i,
|
||||
],
|
||||
general: [],
|
||||
};
|
||||
|
||||
export const NEGATIVE_FEEDBACK_PATTERNS = [
|
||||
/fix\s+this/i,
|
||||
/that'?s?\s+(wrong|incorrect)/i,
|
||||
/not\s+(good|right|correct|working)/i,
|
||||
/doesn'?t?\s+work/i,
|
||||
/incorrect/i,
|
||||
/broken/i,
|
||||
/bad\s+(code|response)/i,
|
||||
/try\s+again/i,
|
||||
/redo/i,
|
||||
/wrong/i,
|
||||
];
|
||||
|
||||
export const POSITIVE_FEEDBACK_PATTERNS = [
|
||||
/thanks/i,
|
||||
/thank\s+you/i,
|
||||
/perfect/i,
|
||||
/great/i,
|
||||
/works/i,
|
||||
/good\s+(job|work)/i,
|
||||
/excellent/i,
|
||||
/awesome/i,
|
||||
/exactly/i,
|
||||
];
|
||||
|
||||
export const DEFAULT_QUALITY_SCORES: Record<TaskType, number> = {
|
||||
code_generation: QUALITY_THRESHOLDS.INITIAL,
|
||||
refactoring: QUALITY_THRESHOLDS.INITIAL,
|
||||
bug_fix: QUALITY_THRESHOLDS.INITIAL,
|
||||
documentation: QUALITY_THRESHOLDS.INITIAL,
|
||||
testing: QUALITY_THRESHOLDS.INITIAL,
|
||||
explanation: QUALITY_THRESHOLDS.INITIAL,
|
||||
review: QUALITY_THRESHOLDS.INITIAL,
|
||||
general: QUALITY_THRESHOLDS.INITIAL,
|
||||
};
|
||||
|
||||
export const PROVIDER_IDS = {
|
||||
OLLAMA: "ollama",
|
||||
COPILOT: "copilot",
|
||||
} as const;
|
||||
|
||||
export const CASCADE_CONFIG = {
|
||||
MIN_AUDIT_THRESHOLD: QUALITY_THRESHOLDS.HIGH,
|
||||
MAX_SKIP_THRESHOLD: QUALITY_THRESHOLDS.LOW,
|
||||
DECAY_RATE: 0.01,
|
||||
DECAY_INTERVAL_MS: 7 * 24 * 60 * 60 * 1000, // 1 week
|
||||
} as const;
|
||||
Reference in New Issue
Block a user