{"packages":{"api":[{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","tier":"free","released":"2026-04-24","latest":{"openbookregister":true},"version":"0.2.0+f6586377","requires":{"system":[]}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","tier":"free","released":"2026-04-14","latest":{"openbookregister":false},"version":"0.1.0+7d291211","requires":{"system":{}}}],"fragjan-check-exists":[{"supports":{"fragjan":{"min":"0.1.2"}},"description":"fragjan primitive: check if a file or directory exists in a project","tier":"free","released":"2026-05-27","latest":{"fragjan":true},"version":"0.1.2+89db1135","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.2"}},"description":"fragjan primitive: check if a file or directory exists in a project","tier":"free","released":"2026-05-23","latest":{"fragjan":false},"version":"0.1.1+d6d3ba9a","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.2"}},"description":"fragjan primitive: check if a file or directory exists in a project","tier":"free","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.0+6ea950a6","requires":{"system":{"lua":{"min":5.1}}}}],"http-server":[{"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-22","latest":{"openbookregister":true},"version":"0.2.0+77253d3d","requires":{"system":{"socket":{"min":3.0}}}},{"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","latest":{"openbookregister":false},"version":"0.1.3+81faed66","requires":{"system":{"socket":{"min":3}}}},{"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","latest":{"openbookregister":false},"version":"0.1.2+eb857c68","requires":{"system":{"socket":{"min":3}}}},{"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","latest":{"openbookregister":false},"version":"0.1.1+c696c6cf","requires":{"system":{"lua-socket":{"min":3}}}},{"supports":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free","released":"2026-04-14","latest":{},"version":"0.1.0+ca749c8a","requires":{"system":{"lua-socket":{"min":3}}}},{"supports":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","tier":"free","released":"2026-04-14","latest":{},"version":"0.1.0+ca749c8a-dirty","requires":{"system":{"lua-socket":{"min":3}}}}],"product":[{"supports":{"kaupapi":{"min":"0.1.0","max":"<2.0.0"},"raidjan":{"min":"0.1.0","max":"<2.0.0"},"redan":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"min":"0.1.0","max":"<2.0.0"},"stapul":{"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","latest":{"kaupapi":true,"raidjan":true,"redan":true,"steurjan":true,"stapul":true},"version":"0.2.0+69bf06a6","requires":{"system":[]}},{"supports":{"kaupapi":{"min":"0.1.0","max":"<2.0.0"},"raidjan":{"min":"0.1.0","max":"<2.0.0"},"redan":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"min":"0.1.0","max":"<2.0.0"},"stapul":{"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","latest":{"kaupapi":false,"raidjan":false,"redan":false,"steurjan":false,"stapul":false},"version":"0.1.2+570bdf80","requires":{"sy