{"uid":"cap_ONEwqVzky6qgrvpWp64F_","slug":"justhandled-filename-portability-preflight-5eb46d2c","name":"JustHandled Filename Portability Preflight","description":"Flag reserved names, invalid characters, trailing dots, case collisions, Unicode collisions, and long paths.","url":"https://justhandled-agent-gateway.netlify.app/api/run/filename-portability-preflight","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"paths":{"type":"array","items":{"type":"string","maxLength":4096},"maxItems":5000,"minItems":1},"max_path_length":{"type":"integer","maximum":32767,"minimum":1}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_d8Q4UGpOITS7rEOMmPPHI","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates file paths for reserved names, invalid characters, trailing dots, case collisions, Unicode collisions, and excessive length before storage or deployment.","exampleAgentPrompt":"Can you run a portability preflight on these file paths — ['aux.txt', 'résumé.pdf', 'Folder/folder/test.py', 'COM1.log', 'toolong/'.repeat(200)] — with a max path length of 260 characters, and flag any reserved names, bad characters, case or Unicode collisions, or trailing dots?","exampleUseCases":[{"title":"Pre-upload filename safety check","prompt":"Before I upload these 50 files to S3, can you check all their paths for reserved names, invalid characters, trailing dots, and anything that might break on Windows or Linux? Max path length should be 260 characters."},{"title":"Cross-platform deployment path audit","prompt":"I'm deploying a Node project and want to make sure none of the filenames will cause issues — can you preflight all the paths in this list for case collisions, Unicode problems, and reserved names before we go live?"},{"title":"CI pipeline filename validation","prompt":"As part of our build step, screen these 200 file paths for portability issues — flag anything with illegal characters, trailing dots, name collisions, or paths longer than 4096 characters so we can fail the build early."}],"resultDescription":"A structured response listing each path and any portability violations detected, including flags for reserved names (e.g. CON, AUX, COM1), invalid or unsafe characters, trailing dots, case collisions (two paths that differ only in case), Unicode normalization collisions, and paths exceeding the specified maximum length.","failureModes":["Empty paths array returns a validation error (minItems: 1)","Paths array exceeding 5000 items is rejected","Individual path strings longer than 4096 characters are rejected","max_path_length set outside the range 1–32767 is rejected","Malformed JSON body returns a parse error","Network timeout if the batch is very large"],"whenToPreferThis":"Use this endpoint when you need to pre-screen file paths for cross-platform portability issues before uploading, deploying, or storing them — especially when your pipeline spans Windows, macOS, and Linux environments where reserved names, case sensitivity, and Unicode normalization differ. It is particularly valuable in CI/CD workflows, bulk file migration tools, or any agent that programmatically generates file paths and needs to catch issues before they cause hard-to-debug runtime errors.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:33:16.804Z","isFirstParty":false}