{"$comment":"Generated from src/lib/game-files.ts and src/lib/game-manifest.ts. Docs: https://www.fradiation.games/docs/builds","entry":{"default":"index.html","mustBeAtTop":true,"singleTopFolderIsStripped":true},"manifestFile":"fradiation.json","limits":{"files":1000,"totalBytes":524288000,"fileBytes":209715200,"multipartAboveBytes":67108864,"uploadsPerDay":20},"paths":{"maxLength":240,"separator":"/","relativeOnly":true,"segmentPattern":"^[A-Za-z0-9_][A-Za-z0-9._ ()+-]*$","segmentMayNotEndWith":["."," "],"note":"Every folder and file name must match segmentPattern, so no dotfiles. Paths inside the build must be relative: builds are served from https://<slug>.containment.cloud/<buildId>/."},"fileTypes":{"html":"text/html","htm":"text/html","js":"application/javascript","mjs":"application/javascript","css":"text/css","json":"application/json","map":"application/json","wasm":"application/wasm","data":"application/octet-stream","pck":"application/octet-stream","bin":"application/octet-stream","unityweb":"application/octet-stream","mem":"application/octet-stream","txt":"text/plain","xml":"application/xml","svg":"image/svg+xml","png":"image/png","jpg":"image/jpeg","jpeg":"image/jpeg","gif":"image/gif","webp":"image/webp","avif":"image/avif","ico":"image/x-icon","ktx2":"image/ktx2","basis":"application/octet-stream","glb":"model/gltf-binary","gltf":"model/gltf+json","mp3":"audio/mpeg","ogg":"audio/ogg","wav":"audio/wav","m4a":"audio/mp4","mp4":"video/mp4","webm":"video/webm","woff":"font/woff","woff2":"font/woff2","ttf":"font/ttf","otf":"font/otf"},"precompressed":{"suffixes":{".br":"br",".gz":"gzip"},"note":"A .br or .gz copy of an allowed type (Game.wasm.br) is served with that Content-Encoding. .data.gz is served as application/gzip."},"threads":{"runsOnSite":false,"note":"Threaded builds (SharedArrayBuffer: Unity multithreading, Godot thread support, pthreads) don't run on the site yet, because its game pages aren't cross-origin isolated. Build single-threaded and leave fradiation.json threads false."},"junkSkipped":["__MACOSX/",".DS_Store","Thumbs.db","desktop.ini",".git/","._*"],"mutations":{"caps":{"total":30,"gamma":3,"cherenkov":1},"tiers":["alpha","beta","gamma","cherenkov"],"keyPattern":"^[a-z0-9-]{2,40}$","icons":["skull","flame","zap","bomb","crosshair","shield","shield-alert","trophy","crown","star","rocket","ghost","heart","swords","sword","target","timer","gem","key","eye","radiation","biohazard","atom","bug","sparkles","medal","award","flag","map","compass","footprints","gauge","infinity","moon","sun","snowflake","droplet","anchor","bot","radar","satellite","plane","car","hand-fist","dumbbell","brain","clover","dice-5","puzzle","gamepad-2","joystick","coins","package","hammer","wrench","lock","unlock","hourglass","siren","tent","tree-pine","mountain","waves","wind","cloud-lightning","egg","fish","bird","cat","dog","rabbit","turtle","axe","shovel","pickaxe","wand-sparkles","scroll","cake","pizza","beer","coffee","music","headphones","camera","film","tv","cpu","battery-charging","plug","magnet","flask-conical","syringe","pill","bone","ear","hand","thumbs-up","party-popper","fire-extinguisher","shell"]},"boards":{"max":10,"keyPattern":"^[a-z0-9-]{2,40}$","order":["desc","asc"],"format":["number","time"]},"storage":{"keepNewest":5,"graceDays":30,"softLimitBytes":2147483648},"api":{"base":"https://www.fradiation.games/api/v1","auth":"Authorization: Bearer <token>. Tokens start with frad_ and are made under Agents & tokens, https://www.fradiation.games/dev/agents.","tokenEnv":"FRADIATION_TOKEN","deploy":"node check-build.mjs deploy <folder-or-zip> [--game <slug>] [--live] [--playtest] [--notes <text>] [--json]","endpoints":["GET /me","GET /builds?game=<slug>","POST /builds/begin","POST /builds/finish","POST /builds/cancel","POST /builds/live","POST /builds/playtest","POST /cover?game=<slug> (image bytes)"],"docs":"https://www.fradiation.games/docs/agents#the-upload-api"},"mcp":{"url":"https://www.fradiation.games/api/mcp","transport":"streamable-http","auth":"OAuth: a request without a token gets a 401 pointing at /.well-known/oauth-protected-resource/api/mcp, and the client signs the person in through the browser. An API token as Authorization: Bearer <token> also works.","upload":"begin_upload (file list with sha256 + fradiation.json) returns presigned PUT URLs, one per missing file; PUT the bytes with no headers; then finish_upload.","docs":"https://www.fradiation.games/docs/agents#connect-your-agent"}}