{"record":{"id":"93eaf786157c08e4","repo":"diegosouzapw/OmniRoute","slug":"invalid-regex-pattern","errorCode":null,"errorMessage":"invalid regex pattern","messagePattern":"invalid regex pattern","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"open-sse/services/compression/engines/ccr/ccrQuery.ts","lineNumber":64,"sourceCode":"}\n\nfunction sliceLines(lines: string[], start?: number, end?: number): CcrQueryResult {\n  if (typeof start !== \"number\" || typeof end !== \"number\" || start < 1 || end < 1) {\n    return err(\"lines requires positive 'start' and 'end' (1-indexed)\");\n  }\n  if (start > end) return err(\"lines: 'start' must be <= 'end'\");\n  return ok(lines.slice(start - 1, Math.min(end, lines.length)).join(\"\\n\"));\n}\n\nfunction grepLines(lines: string[], pattern?: string, unique?: boolean): CcrQueryResult {\n  if (!pattern) return err(\"grep requires a 'pattern'\");\n  if (pattern.length > MAX_PATTERN_LEN) return err(`pattern exceeds ${MAX_PATTERN_LEN} chars`);\n  if (!safeRegex(pattern)) return err(\"pattern rejected: potentially catastrophic backtracking\");\n  let re: RegExp;\n  try {\n    re = new RegExp(pattern);\n  } catch {\n    return err(\"invalid regex pattern\");\n  }\n  const matched: string[] = [];\n  let truncated = false;\n  for (const line of lines) {\n    if (re.test(line)) {\n      matched.push(line);\n      if (matched.length >= MAX_GREP_MATCHES) {\n        truncated = true;\n        break;\n      }\n    }\n  }\n  const out = unique ? [...new Set(matched)] : matched;\n  const body = out.join(\"\\n\");\n  return ok(truncated ? `${body}\\n…[truncated at ${MAX_GREP_MATCHES} matches]` : body);\n}\n\nfunction blockStats(text: string, lines: string[]): CcrQueryResult {","sourceCodeStart":46,"sourceCodeEnd":82,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/services/compression/engines/ccr/ccrQuery.ts#L46-L82","documentation":"Error \"invalid regex pattern\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/services/compression/engines/ccr/ccrQuery.ts:64 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}