{"version":3,"sources":["../../../../tools/warp_grep/agent/config.ts"],"sourcesContent":["// Parse timeout from env, defaulting to 30 seconds\nconst parseEnvTimeout = (envValue: string | undefined, defaultMs: number): number => {\n  if (!envValue) return defaultMs;\n  const parsed = parseInt(envValue, 10);\n  return isNaN(parsed) || parsed <= 0 ? defaultMs : parsed;\n};\n\nexport const AGENT_CONFIG = {\n  MAX_TURNS: 6,\n  /** Default timeout for model calls. Can be overridden via MORPH_WARP_GREP_TIMEOUT env var (in ms) */\n  TIMEOUT_MS: parseEnvTimeout(process.env.MORPH_WARP_GREP_TIMEOUT, 60_000),\n  MAX_CONTEXT_CHARS: 321_600,\n  MAX_OUTPUT_LINES: 200,\n  MAX_LIST_RESULTS: 500,\n  MAX_READ_LINES: 800,\n  MAX_LIST_DEPTH: 3,\n  LIST_TIMEOUT_MS: 2_000,\n};\n\n/**\n * Comprehensive exclusion list for directories and files\n * These patterns are used with ripgrep's -g flag\n */\nconst BUILTIN_EXCLUDES = [\n  // Version control\n  '.git', '.svn', '.hg', '.bzr',\n  \n  // Dependencies\n  'node_modules', 'bower_components', '.pnpm', '.yarn',\n  'vendor', 'packages', 'Pods', '.bundle',\n  \n  // Python\n  '__pycache__', '.pytest_cache', '.mypy_cache', '.ruff_cache',\n  '.venv', 'venv', '.tox', '.nox', '.eggs', '*.egg-info',\n  \n  // Build outputs\n  'dist', 'build', 'out', 'output', 'target', '_build',\n  '.next', '.nuxt', '.output', '.vercel', '.netlify',\n  \n  // Cache directories\n  '.cache', '.parcel-cache', '.turbo', '.nx', '.gradle',\n  \n  // IDE/Editor\n  '.idea', '.vscode', '.vs',\n  \n  // Coverage\n  'coverage', '.coverage', 'htmlcov', '.nyc_output',\n  \n  // Temporary\n  'tmp', 'temp', '.tmp', '.temp',\n  \n  // Lock files\n  'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'bun.lockb',\n  'Cargo.lock', 'Gemfile.lock', 'poetry.lock',\n  \n  // Binary/minified\n  '*.min.js', '*.min.css', '*.bundle.js',\n  '*.wasm', '*.so', '*.dll', '*.pyc',\n  '*.map', '*.js.map',\n  \n  // Hidden directories catch-all\n  '.*',\n];\n\nexport const DEFAULT_EXCLUDES = (process.env.MORPH_WARP_GREP_EXCLUDE || '')\n  .split(',')\n  .map(s => s.trim())\n  .filter(Boolean)\n  .concat(BUILTIN_EXCLUDES);\n\nexport const DEFAULT_MODEL = 'morph-warp-grep-v2.1';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAM,kBAAkB,CAAC,UAA8B,cAA8B;AACnF,MAAI,CAAC,SAAU,QAAO;AACtB,QAAM,SAAS,SAAS,UAAU,EAAE;AACpC,SAAO,MAAM,MAAM,KAAK,UAAU,IAAI,YAAY;AACpD;AAEO,IAAM,eAAe;AAAA,EAC1B,WAAW;AAAA;AAAA,EAEX,YAAY,gBAAgB,QAAQ,IAAI,yBAAyB,GAAM;AAAA,EACvE,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,iBAAiB;AACnB;AAMA,IAAM,mBAAmB;AAAA;AAAA,EAEvB;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAO;AAAA;AAAA,EAGvB;AAAA,EAAgB;AAAA,EAAoB;AAAA,EAAS;AAAA,EAC7C;AAAA,EAAU;AAAA,EAAY;AAAA,EAAQ;AAAA;AAAA,EAG9B;AAAA,EAAe;AAAA,EAAiB;AAAA,EAAe;AAAA,EAC/C;AAAA,EAAS;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAS;AAAA;AAAA,EAG1C;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAO;AAAA,EAAU;AAAA,EAAU;AAAA,EAC5C;AAAA,EAAS;AAAA,EAAS;AAAA,EAAW;AAAA,EAAW;AAAA;AAAA,EAGxC;AAAA,EAAU;AAAA,EAAiB;AAAA,EAAU;AAAA,EAAO;AAAA;AAAA,EAG5C;AAAA,EAAS;AAAA,EAAW;AAAA;AAAA,EAGpB;AAAA,EAAY;AAAA,EAAa;AAAA,EAAW;AAAA;AAAA,EAGpC;AAAA,EAAO;AAAA,EAAQ;AAAA,EAAQ;AAAA;AAAA,EAGvB;AAAA,EAAqB;AAAA,EAAa;AAAA,EAAkB;AAAA,EACpD;AAAA,EAAc;AAAA,EAAgB;AAAA;AAAA,EAG9B;AAAA,EAAY;AAAA,EAAa;AAAA,EACzB;AAAA,EAAU;AAAA,EAAQ;AAAA,EAAS;AAAA,EAC3B;AAAA,EAAS;AAAA;AAAA,EAGT;AACF;AAEO,IAAM,oBAAoB,QAAQ,IAAI,2BAA2B,IACrE,MAAM,GAAG,EACT,IAAI,OAAK,EAAE,KAAK,CAAC,EACjB,OAAO,OAAO,EACd,OAAO,gBAAgB;AAEnB,IAAM,gBAAgB;","names":[]}