{"packages":{"fragjan-check-linecount":[{"released":"2026-05-27","tier":"free","latest":{"fragjan":true},"supports":{"fragjan":{"min":"0.1.0"}},"requires":{"system":{"lua":{"min":5.1}}},"description":"fragjan primitive: count lines in a file","version":"0.1.3+0338d557"},{"released":"2026-05-19","tier":"free","latest":{"fragjan":false},"supports":{"fragjan":{"min":"0.1.0"}},"requires":{"system":{"lua":{"min":5.1}}},"description":"fragjan primitive: count lines in a file","version":"0.1.1+880e75e3"},{"released":"2026-05-18","tier":"free","latest":{"fragjan":false},"supports":{"fragjan":{"min":"0.1.0"}},"requires":{"system":{"lua":{"min":5.1}}},"description":"fragjan primitive: count lines in a file","version":"0.1.0+e89ecf2d"}],"daw-modul-product":[{"released":"2026-05-01","tier":"free","latest":{"redan":true,"raidjan":true,"stapul":true,"kaupapi":true,"steurjan":true},"supports":{"redan":{"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"},"kaupapi":{"max":"<2.0.0","min":"0.1.0"},"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"requires":{"system":[]},"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","version":"0.1.1+b7154039"}],"fragjan-check-filecorrelation":[{"released":"2026-05-31","tier":"free","latest":{"fragjan":true},"supports":{"fragjan":{"min":"0.2.10"}},"requires":{"system":[]},"description":"Correlate two patterns within a file (if A present, B must/must-not be present)","version":"0.1.0+ccc8b03a"}],"fragjan-check-listvalues":[{"released":"2026-05-26","tier":"free","latest":{"fragjan":true},"supports":{"fragjan":{"min":"0.2.0"}},"requires":{"system":[]},"description":"Validate table literal values against allowed or forbidden list","version":"0.1.3+4fda08f2"},{"released":"2026-05-26","tier":"free","latest":{"fragjan":false},"supports":{"fragjan":{"min":"0.2.0"}},"requires":{"system":[]},"description":"Validate table literal values against allowed or forbidden list","version":"0.1.2+5a1ea021"},{"released":"2026-05-26","tier":"free","latest":{"fragjan":false},"supports":{"fragjan":{"min":"0.2.0"}},"requires":{"system":[]},"description":"Validate table literal values against allowed or forbidden list","version":"0.1.1+2b52665d"}],"api":[{"released":"2026-04-24","tier":"free","latest":{"openbookregister":true},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"requires":{"system":[]},"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","version":"0.2.0+f6586377"},{"released":"2026-04-14","tier":"free","latest":{"openbookregister":false},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"requires":{"system":{}},"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","version":"0.1.0+7d291211"}],"http-server":[{"released":"2026-04-22","tier":"free","latest":{"openbookregister":true},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"requires":{"system":{"socket":{"min":3.0}}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","version":"0.2.0+77253d3d"},{"released":"2026-04-14","tier":"free","latest":{"openbookregister":false},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"requires":{"system":{"socket":{"min":3}}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","version":"0.1.3+81faed66"},{"released":"2026-04-14","tier":"free","latest":{"openbookregister":false},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"requires":{"system":{"socket":{"min":3}}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","version":"0.1.2+eb857c68"},{"released":"2026-04-14","tier":"free","latest":{"openbookregister":false},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"requires":{"system":{"lua-socket":{"min":3}}},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","version":"0.1.1+c696c6cf"},{