{"record":{"id":"d588ad1ac6d91832","repo":"diegosouzapw/OmniRoute","slug":"lines-requires-positive-start-and-end-1-index","errorCode":null,"errorMessage":"lines requires positive 'start' and 'end' (1-indexed)","messagePattern":"lines requires positive 'start' and 'end' \\(1-indexed\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"open-sse/services/compression/engines/ccr/ccrQuery.ts","lineNumber":50,"sourceCode":"  if (typeof n !== \"number\" || !Number.isFinite(n) || n < 1) return null;\n  return Math.min(Math.floor(n), MAX_RANGE_LINES);\n}\n\nfunction sliceHead(lines: string[], n: number | undefined): CcrQueryResult {\n  const c = clampCount(n);\n  if (c === null) return err(\"head requires a positive 'n'\");\n  return ok(lines.slice(0, c).join(\"\\n\"));\n}\n\nfunction sliceTail(lines: string[], n: number | undefined): CcrQueryResult {\n  const c = clampCount(n);\n  if (c === null) return err(\"tail requires a positive 'n'\");\n  return ok(lines.slice(Math.max(0, lines.length - c)).join(\"\\n\"));\n}\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) {","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/services/compression/engines/ccr/ccrQuery.ts#L32-L68","documentation":"Error \"lines requires positive 'start' and 'end' (1-indexed)\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/services/compression/engines/ccr/ccrQuery.ts:50 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"}