{"packages":{"fragjan-check-markdown":[{"description":"fragjan primitive: extract structured content from Markdown files","latest":{"fragjan":true},"tier":"free","version":"0.1.1+1b35432c","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-27"},{"description":"fragjan primitive: extract structured content from Markdown files","latest":{"fragjan":false},"tier":"free","version":"0.1.0+4906b51e","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-24"}],"fragjan-check-pattern":[{"description":"fragjan primitive: search for a pattern in a file","latest":{"fragjan":true},"supports":{"fragjan":{"min":"0.1.0"}},"version":"0.1.6+f7bc85d1","requires":{"system":{"lua":{"min":5.1}}},"tier":"free","released":"2026-05-27"},{"description":"fragjan primitive: search for a pattern in a file","latest":{"fragjan":false},"tier":"free","version":"0.1.5+a223b94f","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-27"},{"description":"fragjan primitive: search for a pattern in a file","latest":{"fragjan":false},"tier":"free","version":"0.1.3+d80f1857","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-27"},{"description":"fragjan primitive: search for a pattern in a file","latest":{"fragjan":false},"tier":"free","version":"0.1.2+ef98877a","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-19"},{"description":"fragjan primitive: search for a pattern in a file","latest":{"fragjan":false},"tier":"free","version":"0.1.1+0eaf02b0","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-19"},{"description":"fragjan primitive: search for a pattern in a file","latest":{"fragjan":false},"tier":"free","version":"0.1.0+b370900b","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-18"}],"fragjan-check-contains":[{"description":"fragjan primitive: check if a file contains or does not contain a pattern","latest":{"fragjan":true},"tier":"free","version":"0.1.5+a223b94f","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-27"},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","latest":{"fragjan":false},"tier":"free","version":"0.1.4+0ba69437","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-27"},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","latest":{"fragjan":false},"tier":"free","version":"0.1.3+d80f1857","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-27"},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","latest":{"fragjan":false},"tier":"free","version":"0.1.2+60af72cd","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-19"},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","latest":{"fragjan":false},"tier":"free","version":"0.1.1+b61170f5","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-19"},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","latest":{"fragjan":false},"tier":"free","version":"0.1.0+4e20f780","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-19"}],"storage-sqlite":[{"description":"SQLite storage backend","latest":{"openbookregister":true,"steurjan":true},"tier":"free","version":"0.2.0+de4d5c96","requires":{"system":{"sqlite3-lua":{"one-of":{"lsqlite3":{"min":"0.9.0"},"lua-sql-sqlite3":{"min":"0.9.0"}}}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"},"steurjan":{"max":"<2.0.0","min":"1.0.0"}},"released":"2026-04-22"},{"description":"SQLite storage backend","latest":{"openbookregi