{"packages":{"product":[{"released":"2026-05-03","requires":{"system":[]},"latest":{"steurjan":true,"raidjan":true,"stapul":true,"kaupapi":true,"redan":true},"version":"0.2.0+69bf06a6","supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"},"raidjan":{"min":"0.1.0","max":"<2.0.0"},"stapul":{"min":"0.1.0","max":"<2.0.0"},"kaupapi":{"min":"0.1.0","max":"<2.0.0"},"redan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","tier":"free"},{"released":"2026-05-03","requires":{"system":[]},"latest":{"steurjan":false,"raidjan":false,"stapul":false,"kaupapi":false,"redan":false},"version":"0.1.2+570bdf80","supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"},"raidjan":{"min":"0.1.0","max":"<2.0.0"},"stapul":{"min":"0.1.0","max":"<2.0.0"},"kaupapi":{"min":"0.1.0","max":"<2.0.0"},"redan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","tier":"free"}],"federation-sync":[{"released":"2026-05-03","requires":{"system":[]},"latest":{"steurjan":true,"raidjan":true,"obr":true,"kaupapi":true,"redan":true},"version":"0.1.0+56f7ba6d","supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"},"raidjan":{"min":"0.1.0","max":"<2.0.0"},"obr":{"min":"0.1.0","max":"<2.0.0"},"kaupapi":{"min":"0.1.0","max":"<2.0.0"},"redan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Block-based federation sync protocol for DAW instances","tier":"free"}],"tax-calc":[{"released":"2026-05-01","requires":{"system":[]},"latest":{"stapul":true,"steurjan":true,"raidjan":true,"kaupapi":true},"version":"0.1.1+ace89389","supports":{"stapul":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"min":"0.1.0","max":"<2.0.0"},"raidjan":{"min":"0.1.0","max":"<2.0.0"},"kaupapi":{"min":"0.1.0","max":"<2.0.0"}},"description":"Decimal-accurate net/gross price calculation for DAW systems","tier":"free"},{"released":"2026-05-01","requires":{"system":[]},"latest":{"steurjan":false},"version":"0.1.0+3097a54a","supports":{"steurjan":{"min":"1.0.0","max":"<2.0.0"}},"description":"One-line description","tier":"free"}],"http-server":[{"released":"2026-04-22","requires":{"system":{"socket":{"min":3.0}}},"latest":{"openbookregister":true},"version":"0.2.0+77253d3d","supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free"},{"released":"2026-04-14","requires":{"system":{"socket":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.3+81faed66","supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free"},{"released":"2026-04-14","requires":{"system":{"socket":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.2+eb857c68","supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free"},{"released":"2026-04-14","requires":{"system":{"lua-socket":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.1+c696c6cf","supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free"},{"released":"2026-04-14","requires":{"system":{"lua-socket":{"min":3}}},"latest":{},"version":"0.1.0+ca749c8a","supports":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free"},{"released":"2026-04-14","requires":{"system":{"lua-socket":{"min":3}}},"latest":{},"version":"0.1.0+ca749c8a-dirty","supports":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free"}],"fragjan-check-pattern":[{"released":"2026-05-18","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.0+b370900b","supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","