|
|
|
@@ -200,12 +200,12 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with ampersand and equals: file&name=special.jpg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with backslashes: path\\to\\image.png",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with picture frame emoji: 🖼️.jpg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/border with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/compress with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/convert with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/crop with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/resize with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/rotate with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/border with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/compress with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/convert with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/crop with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/resize with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/rotate with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools adds text overlay to 1x1 pixel image without crash",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools beautifies a 1x1 pixel image without crash",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools converts 1x1 pixel PNG to JPEG without crash",
|
|
|
|
@@ -516,12 +516,12 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects a JSON body on multipart-only endpoint",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects a zero-byte file upload",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects double-encoded path traversal in download",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata preserves metadata with empty settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata strips specific fields via fieldsToRemove",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata writes metadata and returns downloadable file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect rejects request with no file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect returns no exif for metadata-free PNG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect returns parsed EXIF for JPEG with metadata",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata preserves metadata with empty settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata strips specific fields via fieldsToRemove",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata writes metadata and returns downloadable file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata/inspect rejects request with no file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata/inspect returns no exif for metadata-free PNG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata/inspect returns parsed EXIF for JPEG with metadata",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename download is public (no auth required)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename downloads an uploaded file successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 400 for null bytes in filename",
|
|
|
|
@@ -542,32 +542,32 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/config/auth returns authEnabled flag without auth",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/health also works with auth",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/health returns only status and version without auth",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image-enhancement processes an image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image-enhancement/analyze returns analysis data",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image/image-enhancement processes an image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image/image-enhancement/analyze returns analysis data",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement preserves JPEG format through enhancement",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement rejects empty file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal POST /api/v1/tools/noise-removal processes with quick tier",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal POST /api/v1/tools/image/noise-removal processes with quick tier",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal accepts JPEG input",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal returns 400 for empty file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal uses default settings when none provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr accepts language auto and enhance params",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr accepts quality param and returns text without engine field",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr backward compat: old engine param is still accepted",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr returns 400 for invalid quality value",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch accepts gap and backgroundColor settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch applies alignment setting",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch applies border and cornerRadius",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch handles resizeMode crop",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch handles resizeMode stretch",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch outputs jpeg when requested",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch respects quality setting for jpeg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch returns 400 with no images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch returns 400 with only one image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches in grid mode with 2 columns",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches two images horizontally with default settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches vertically",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr accepts language auto and enhance params",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr accepts quality param and returns text without engine field",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr backward compat: old engine param is still accepted",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr returns 400 for invalid quality value",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch accepts gap and backgroundColor settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch applies alignment setting",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch applies border and cornerRadius",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch handles resizeMode crop",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch handles resizeMode stretch",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch outputs jpeg when requested",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch respects quality setting for jpeg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch returns 400 with no images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch returns 400 with only one image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch stitches in grid mode with 2 columns",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch stitches two images horizontally with default settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch stitches vertically",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools excludes tools that are not pipeline-compatible",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools includes AI tools registered for pipeline use",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools includes factory-registered tools (resize, crop, convert)",
|
|
|
|
@@ -630,24 +630,24 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation trim mode with new mode name",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing Input format handling processes JPEG input",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing Input format handling processes WebP input",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert converts PNG to JPEG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert converts PNG to WebP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert rejects quality outside valid range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert rejects unsupported format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop crops an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop returns 400 when required crop fields are missing",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop returns 422 when crop exceeds image bounds",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert converts PNG to JPEG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert converts PNG to WebP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert rejects quality outside valid range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert rejects unsupported format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/crop crops an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/crop returns 400 when required crop fields are missing",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/crop returns 422 when crop exceeds image bounds",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/nonexistent returns 404 for a tool that does not exist",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize download URL from resize result is accessible",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize resizes an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize resizes by percentage",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 for invalid settings (negative width)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 for malformed settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 with empty settings (no dimensions given)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate flips horizontally",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate rotates 90 degrees",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate works with default settings (no rotation)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize download URL from resize result is accessible",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize resizes an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize resizes by percentage",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 for invalid settings (negative width)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 for malformed settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 with empty settings (no dimensions given)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/rotate flips horizontally",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/rotate rotates 90 degrees",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/rotate works with default settings (no rotation)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity each job gets a unique workspace (no cross-contamination)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity tool processing creates both input and output in workspace",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity upload creates workspace with input dir",
|
|
|
|
@@ -1760,8 +1760,8 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Wrong file extension (magic byte detection) detects actual PNG format when filename says .jpg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte / empty file uploads rejects a null-byte-only buffer with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte / empty file uploads rejects a zero-byte file with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/info with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/sharpening with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/image/info with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/image/sharpening with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Author field writes author field (alias for artist)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Comprehensive field writing handles negative date shift",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Comprehensive field writing removes specific fields and adds new ones simultaneously",
|
|
|
|
@@ -5895,8 +5895,8 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode parameter variations optimizes with maximum colors (256)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode parameter variations optimizes with minimum colors (2)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode processes with custom color/effort settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/gif-tools/info returns metadata for an animated GIF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/gif-tools/info returns pages=1 for a static image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/image/gif-tools/info returns metadata for an animated GIF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/image/gif-tools/info returns pages=1 for a static image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resize without dimensions or percentage passes through",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resizes with both width and height",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resizes with only height specified",
|
|
|
|
@@ -6716,34 +6716,34 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-metadata.test.ts > pdf-metadata (requires pikepdf) sets metadata and returns the updated values",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-metadata.test.ts > pdf-metadata validation (ungated) rejects title longer than 500 characters with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-page-numbers.test.ts > pdf-page-numbers (requires pdfcpu) adds page numbers and produces a valid output",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image accepts custom DPI values",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image applies black and white color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image applies grayscale color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts a single page to JPG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts a single page to PNG with per-page URLs and ZIP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts multiple pages and returns JSON with ZIP URL",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts specific comma-separated pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to AVIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to GIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to TIFF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to WebP format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image higher DPI produces larger images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image rejects DPI below minimum",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid page range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid settings (DPI above max)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for page number 0",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for reversed page range (start > end)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image uses defaults when no settings provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image verifies ZIP can be downloaded",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image verifies images can be downloaded from per-page URLs",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns page count for a valid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/preview returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/preview returns thumbnails for all pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image accepts custom DPI values",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image applies black and white color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image applies grayscale color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts a single page to JPG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts a single page to PNG with per-page URLs and ZIP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts multiple pages and returns JSON with ZIP URL",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts specific comma-separated pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to AVIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to GIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to TIFF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to WebP format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image higher DPI produces larger images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image rejects DPI below minimum",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid page range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid settings (DPI above max)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for page number 0",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for reversed page range (start > end)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image uses defaults when no settings provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image verifies ZIP can be downloaded",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image verifies images can be downloaded from per-page URLs",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/info returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/info returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/info returns page count for a valid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/preview returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/preview returns thumbnails for all pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > Preview endpoint edge cases returns 400 when no file is provided to preview",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-text.test.ts > pdf-to-text (requires PyMuPDF) extracts text and returns a .txt file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-word.test.ts > pdf-to-word (requires pdf2docx) returns 202 (long hint) and the job completes with a docx",
|
|
|
|
@@ -8751,12 +8751,12 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with ampersand and equals: file&name=special.jpg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with backslashes: path\\to\\image.png",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with picture frame emoji: 🖼️.jpg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/border with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/compress with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/convert with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/crop with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/resize with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/rotate with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/border with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/compress with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/convert with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/crop with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/resize with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/image/rotate with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools adds text overlay to 1x1 pixel image without crash",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools beautifies a 1x1 pixel image without crash",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools converts 1x1 pixel PNG to JPEG without crash",
|
|
|
|
@@ -9067,12 +9067,12 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects a JSON body on multipart-only endpoint",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects a zero-byte file upload",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects double-encoded path traversal in download",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata preserves metadata with empty settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata strips specific fields via fieldsToRemove",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata writes metadata and returns downloadable file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect rejects request with no file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect returns no exif for metadata-free PNG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect returns parsed EXIF for JPEG with metadata",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata preserves metadata with empty settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata strips specific fields via fieldsToRemove",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata writes metadata and returns downloadable file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata/inspect rejects request with no file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata/inspect returns no exif for metadata-free PNG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/image/edit-metadata/inspect returns parsed EXIF for JPEG with metadata",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename download is public (no auth required)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename downloads an uploaded file successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 400 for null bytes in filename",
|
|
|
|
@@ -9093,32 +9093,32 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/config/auth returns authEnabled flag without auth",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/health also works with auth",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/health returns only status and version without auth",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image-enhancement processes an image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image-enhancement/analyze returns analysis data",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image/image-enhancement processes an image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image/image-enhancement/analyze returns analysis data",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement preserves JPEG format through enhancement",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement rejects empty file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal POST /api/v1/tools/noise-removal processes with quick tier",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal POST /api/v1/tools/image/noise-removal processes with quick tier",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal accepts JPEG input",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal returns 400 for empty file",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal uses default settings when none provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr accepts language auto and enhance params",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr accepts quality param and returns text without engine field",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr backward compat: old engine param is still accepted",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr returns 400 for invalid quality value",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch accepts gap and backgroundColor settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch applies alignment setting",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch applies border and cornerRadius",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch handles resizeMode crop",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch handles resizeMode stretch",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch outputs jpeg when requested",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch respects quality setting for jpeg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch returns 400 with no images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch returns 400 with only one image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches in grid mode with 2 columns",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches two images horizontally with default settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches vertically",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr accepts language auto and enhance params",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr accepts quality param and returns text without engine field",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr backward compat: old engine param is still accepted",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr returns 400 for invalid quality value",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/image/ocr returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch accepts gap and backgroundColor settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch applies alignment setting",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch applies border and cornerRadius",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch handles resizeMode crop",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch handles resizeMode stretch",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch outputs jpeg when requested",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch respects quality setting for jpeg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch returns 400 with no images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch returns 400 with only one image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch stitches in grid mode with 2 columns",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch stitches two images horizontally with default settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/image/stitch stitches vertically",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools excludes tools that are not pipeline-compatible",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools includes AI tools registered for pipeline use",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools includes factory-registered tools (resize, crop, convert)",
|
|
|
|
@@ -9181,24 +9181,24 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation trim mode with new mode name",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing Input format handling processes JPEG input",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing Input format handling processes WebP input",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert converts PNG to JPEG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert converts PNG to WebP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert rejects quality outside valid range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert rejects unsupported format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop crops an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop returns 400 when required crop fields are missing",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop returns 422 when crop exceeds image bounds",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert converts PNG to JPEG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert converts PNG to WebP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert rejects quality outside valid range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/convert rejects unsupported format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/crop crops an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/crop returns 400 when required crop fields are missing",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/crop returns 422 when crop exceeds image bounds",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/nonexistent returns 404 for a tool that does not exist",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize download URL from resize result is accessible",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize resizes an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize resizes by percentage",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 for invalid settings (negative width)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 for malformed settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 with empty settings (no dimensions given)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate flips horizontally",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate rotates 90 degrees",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate works with default settings (no rotation)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize download URL from resize result is accessible",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize resizes an image successfully",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize resizes by percentage",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 for invalid settings (negative width)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 for malformed settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/resize returns 400 with empty settings (no dimensions given)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/rotate flips horizontally",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/rotate rotates 90 degrees",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/image/rotate works with default settings (no rotation)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity each job gets a unique workspace (no cross-contamination)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity tool processing creates both input and output in workspace",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity upload creates workspace with input dir",
|
|
|
|
@@ -10289,8 +10289,8 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Wrong file extension (magic byte detection) detects actual PNG format when filename says .jpg",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte / empty file uploads rejects a null-byte-only buffer with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte / empty file uploads rejects a zero-byte file with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/info with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/sharpening with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/image/info with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/image/sharpening with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Author field writes author field (alias for artist)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Comprehensive field writing handles negative date shift",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Comprehensive field writing removes specific fields and adds new ones simultaneously",
|
|
|
|
@@ -14257,8 +14257,8 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode parameter variations optimizes with maximum colors (256)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode parameter variations optimizes with minimum colors (2)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode processes with custom color/effort settings",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/gif-tools/info returns metadata for an animated GIF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/gif-tools/info returns pages=1 for a static image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/image/gif-tools/info returns metadata for an animated GIF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/image/gif-tools/info returns pages=1 for a static image",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resize without dimensions or percentage passes through",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resizes with both width and height",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resizes with only height specified",
|
|
|
|
@@ -15069,34 +15069,34 @@
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate rejects unknown country code without custom dimensions (400)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate returns 422 when jobId workspace does not exist",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-metadata.test.ts > pdf-metadata validation (ungated) rejects title longer than 500 characters with 400",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image accepts custom DPI values",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image applies black and white color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image applies grayscale color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts a single page to JPG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts a single page to PNG with per-page URLs and ZIP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts multiple pages and returns JSON with ZIP URL",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts specific comma-separated pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to AVIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to GIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to TIFF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to WebP format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image higher DPI produces larger images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image rejects DPI below minimum",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid page range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid settings (DPI above max)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for page number 0",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for reversed page range (start > end)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image uses defaults when no settings provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image verifies ZIP can be downloaded",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image verifies images can be downloaded from per-page URLs",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns page count for a valid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/preview returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/preview returns thumbnails for all pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image accepts custom DPI values",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image applies black and white color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image applies grayscale color mode",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts a single page to JPG",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts a single page to PNG with per-page URLs and ZIP",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts multiple pages and returns JSON with ZIP URL",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts specific comma-separated pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to AVIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to GIF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to TIFF format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image converts to WebP format",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image higher DPI produces larger images",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image rejects DPI below minimum",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid page range",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid settings (DPI above max)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for invalid settings JSON",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for page number 0",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 for reversed page range (start > end)",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image uses defaults when no settings provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image verifies ZIP can be downloaded",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image verifies images can be downloaded from per-page URLs",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/info returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/info returns 400 when no file is provided",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/info returns page count for a valid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/preview returns 400 for invalid PDF",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf/pdf-to-image/preview returns thumbnails for all pages",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > Preview endpoint edge cases returns 400 when no file is provided to preview",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdfa-convert.test.ts > pdfa-convert (requires ghostscript) produces a PDF/A candidate with valid PDF header",
|
|
|
|
|
"/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > API key ownership scoping admin can see all API keys",
|
|
|
|
|