{"packages":{"auth":[{"tier":"free","requires":{"system":{"openssl":{"min":3.0}}},"latest":{"openbookregister":true},"version":"0.2.0+bedb8476","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","released":"2026-04-24"},{"tier":"free","requires":{"system":{"openssl":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.0+a905842c","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","released":"2026-04-14"}],"fragjan-check-pattern":[{"latest":{"fragjan":true},"requires":{"system":{"lua":{"min":5.1}}},"tier":"free","version":"0.1.5+a223b94f","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-27"},{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.3+d80f1857","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-27"},{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.2+ef98877a","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-19"},{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.1+0eaf02b0","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-19"},{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.0+b370900b","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-18"}],"fragjan-check-exists":[{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.2+89db1135","supports":{"fragjan":{"min":"0.1.2"}},"description":"fragjan primitive: check if a file or directory exists in a project","released":"2026-05-27"},{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.1+d6d3ba9a","supports":{"fragjan":{"min":"0.1.2"}},"description":"fragjan primitive: check if a file or directory exists in a project","released":"2026-05-23"},{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.0+6ea950a6","supports":{"fragjan":{"min":"0.1.2"}},"description":"fragjan primitive: check if a file or directory exists in a project","released":"2026-05-19"}],"fragjan-check-linecount":[{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.1+880e75e3","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: count lines in a file","released":"2026-05-19"},{"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.0+e89ecf2d","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: count lines in a file","released":"2026-05-18"}],"tax-calc":[{"tier":"free","requires":{"system":[]},"latest":{"steurjan":true,"stapul":true,"raidjan":true,"kaupapi":true},"version":"0.1.1+ace89389","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"},"stapul":{"max":"<2.0.0","min":"0.1.0"},"raidjan":{"max":"<2.0.0","min":"0.1.0"},"kaupapi":{"max":"<2.0.0","min":"0.1.0"}},"description":"Decimal-accurate net/gross price calculation for DAW systems","released":"2026-05-01"},{"tier":"free","requires":{"system":[]},"latest":{"steurjan":false},"version":"0.1.0+3097a54a","supports":{"steurjan":{"max":"<2.0.0","min":"1.0.0"}},"description":"One-line description","released":"2026-05-01"}],"daw-modul-product":[{"tier":"free","requires":{"system":[]},"latest":{"kaupapi":true,"raidjan":true,"stapul":true,"redan":true,"steurjan":true},"version":"0.1.1+b7154039","supports":{"kaupapi":{"max":"<2.0.0","min":"0.1.0"},"raidjan":{"max":"<2.0.0","min":"0.1.0"},"stapul":{"max":"<2.0.0","min":"0.1.0"},"redan":{"max":"<2