diff --git a/registry-index.json b/registry-index.json index 49c2dba..3f800c5 100644 --- a/registry-index.json +++ b/registry-index.json @@ -1 +1 @@ -{"packages":{"product":[{"latest":{"kaupapi":true,"redan":true,"steurjan":true,"raidjan":true,"stapul":true},"tier":"free","requires":{"system":[]},"supports":{"kaupapi":{"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"},"raidjan":{"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","version":"0.2.0+69bf06a6","released":"2026-05-03"},{"latest":{"kaupapi":false,"redan":false,"steurjan":false,"raidjan":false,"stapul":false},"tier":"free","requires":{"system":[]},"supports":{"kaupapi":{"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"},"raidjan":{"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","version":"0.1.2+570bdf80","released":"2026-05-03"}],"git":[{"latest":{"steurjan":true},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.9+4a244af3","released":"2026-05-24"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.8+b1d364d6","released":"2026-05-23"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.7+ce04a3db","released":"2026-05-22"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.6+421b7bc3","released":"2026-05-18"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.5+f1f408ed","released":"2026-05-18"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.4+9d9dc1ba","released":"2026-05-18"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.3+8f74be4f","released":"2026-05-16"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.2+e9ea50cc","released":"2026-05-16"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.1+4b8784fb","released":"2026-05-16"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"1.0.0+e69ea947-dirty","released":"2026-05-16"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"0.2.4+20b37df9","released":"2026-05-11"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"0.2.3+9f0c258a","released":"2026-05-10"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"0.2.2+69947086","released":"2026-05-10"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"0.2.1+d72bb814","released":"2026-05-10"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"0.2.0+f7281c13","released":"2026-04-18"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"0.1.6+b4f9258c","released":"2026-04-03"},{"latest":{"kaupapi":true,"steurjan":false},"tier":"free","requires":{"system":{"git":{"min":2}}},"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Git VCS adapter for DAW projects","version":"0.1.5+6fe653cc","released":"2026-03-24"}],"federation-sync":[{"latest":{"obr":true,"kaupapi":true,"redan":true,"steurjan":true,"raidjan":true},"tier":"free","requires":{"system":[]},"supports":{"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"},"steurjan":{"min":"0.1.0","max":"<2.0.0"},"raidjan":{"min":"0.1.0","max":"<2.0.0"}},"description":"Block-based federation sync protocol for DAW instances","version":"0.1.0+56f7ba6d","released":"2026-05-03"}],"fragjan-check-exists":[{"latest":{"fragjan":true},"tier":"free","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","version":"0.1.3+981615c3","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","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","version":"0.1.2+89db1135","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","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","version":"0.1.1+d6d3ba9a","released":"2026-05-23"},{"latest":{"fragjan":false},"tier":"free","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","version":"0.1.0+6ea950a6","released":"2026-05-19"}],"storage-sqlite":[{"latest":{"openbookregister":true,"steurjan":true},"tier":"free","requires":{"system":{"sqlite3-lua":{"one-of":{"lua-sql-sqlite3":{"min":"0.9.0"},"lsqlite3":{"min":"0.9.0"}}}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"min":"1.0.0","max":"<2.0.0"}},"description":"SQLite storage backend","version":"0.2.0+de4d5c96","released":"2026-04-22"},{"latest":{"openbookregister":false,"steurjan":false},"tier":"free","requires":{"system":{"sqlite3-lua":{"one-of":{"lua-sql-sqlite3":{"min":"0.9.0"},"lsqlite3":{"min":"0.9.0"}}}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"min":"1.0.0","max":"<2.0.0"}},"description":"SQLite storage backend","version":"0.1.3+b47cc6aa","released":"2026-04-17"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{"lua-sql-sqlite3":{"min":"0.9.0"}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"SQLite storage backend","version":"0.1.2+2ea11433","released":"2026-04-17"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"SQLite storage backend","version":"0.1.1+243bf884","released":"2026-04-17"},{"latest":{"openbookregister":false,"steurjan":false},"tier":"free","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}},"supports":{"openbookregister":{"min":"1.0.0","max":"<2.0.0"},"steurjan":{"min":"1.0.0","max":"<2.0.0"}},"description":"SQLite storage backend","version":"0.1.0+65568170","released":"2026-04-17"}],"fragjan-check-pattern":[{"latest":{"fragjan":true},"released":"2026-05-31","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.8+30ca7614","tier":"free"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.7+cb860de3","released":"2026-05-31"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.6+f7bc85d1","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.5+a223b94f","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.3+d80f1857","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.2+ef98877a","released":"2026-05-19"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.1+0eaf02b0","released":"2026-05-19"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: search for a pattern in a file","version":"0.1.0+b370900b","released":"2026-05-18"}],"fragjan-check-filehassiblingdir":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: check if a file has a sibling directory with the same name","version":"0.1.1+c7fe8ae0","released":"2026-05-31"}],"fragjan-check-multi-exists":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.5"}},"description":"Check existence of multiple files or directories (any/all)","version":"0.1.1+a617a13b","released":"2026-05-28"}],"api":[{"latest":{"openbookregister":true},"tier":"free","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","version":"0.2.0+f6586377","released":"2026-04-24"},{"latest":{"openbookregister":false},"tier":"free","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","version":"0.1.0+7d291211","released":"2026-04-14"}],"fragjan-check-listvalues":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}},"description":"Validate table literal values against allowed or forbidden list","version":"0.1.3+4fda08f2","released":"2026-05-26"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}},"description":"Validate table literal values against allowed or forbidden list","version":"0.1.2+5a1ea021","released":"2026-05-26"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}},"description":"Validate table literal values against allowed or forbidden list","version":"0.1.1+2b52665d","released":"2026-05-26"}],"log-file":[{"latest":[],"description":"File log backend -- writes daw_log/v1 entries to a log file","requires":{"system":[]},"supports":[],"released":"2026-06-03","version":"0.1.0+537ff816","tier":"free"}],"fragjan-check-linemultipattern":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.9"}},"description":"Check if a line contains all given patterns simultaneously (AND semantics)","version":"0.1.1+64c9de56","released":"2026-05-30"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.9"}},"description":"Check if a line contains all given patterns simultaneously (AND semantics)","version":"0.1.1+53fda3ce","released":"2026-05-30"}],"storage-pg":[{"latest":{"openbookregister":true},"tier":"free","requires":{"system":{"postgresql":{"min":17.0},"pg-backend":{"one-of":{"pgmoon":{"min":1.12},"lua-sql-postgresql":{"min":2.6}}}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"PostgreSQL storage backend for DAW projects","version":"0.3.0+833cfe38","released":"2026-04-24"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{"postgresql":{"min":17.0},"pg-backend":{"one-of":{"pgmoon":{"min":1.12},"lua-sql-postgresql":{"min":2.6}}}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"PostgreSQL storage backend for DAW projects","version":"0.2.0+0531bc3c-dirty","released":"2026-04-24"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{"postgresql":{"min":17},"pg-backend":{"one-of":{"pgmoon":{"min":1.12},"lua-sql-postgresql":{"min":2.6}}}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"PostgreSQL storage backend for DAW projects","version":"0.2.0+e6c1a475","released":"2026-04-13"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{"libpq":{"min":17},"psql":{"min":17}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"PostgreSQL storage backend for DAW projects","version":"0.1.1+cd594238","released":"2026-04-12"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"PostgreSQL storage backend for DAW projects","version":"0.1.0+e9622390-dirty","released":"2026-04-12"}],"fragjan-check-linecount":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: count lines in a file","version":"0.1.3+0338d557","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: count lines in a file","version":"0.1.1+880e75e3","released":"2026-05-19"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: count lines in a file","version":"0.1.0+e89ecf2d","released":"2026-05-18"}],"tax-calc":[{"latest":{"raidjan":true,"kaupapi":true,"steurjan":true,"stapul":true},"tier":"free","requires":{"system":[]},"supports":{"raidjan":{"min":"0.1.0","max":"<2.0.0"},"kaupapi":{"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":"Decimal-accurate net/gross price calculation for DAW systems","version":"0.1.1+ace89389","released":"2026-05-01"},{"latest":{"steurjan":false},"tier":"free","requires":{"system":[]},"supports":{"steurjan":{"min":"1.0.0","max":"<2.0.0"}},"description":"One-line description","version":"0.1.0+3097a54a","released":"2026-05-01"}],"fragjan-check-filecorrelation":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.10"}},"description":"Correlate two patterns within a file (if A present, B must/must-not be present)","version":"0.1.0+ccc8b03a","released":"2026-05-31"}],"fragjan-check-markdown":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: extract structured content from Markdown files","version":"0.1.1+1b35432c","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"description":"fragjan primitive: extract structured content from Markdown files","version":"0.1.0+4906b51e","released":"2026-05-24"}],"http-server":[{"latest":{"openbookregister":true},"tier":"free","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","version":"0.2.0+77253d3d","released":"2026-04-22"},{"latest":{"openbookregister":false},"tier":"free","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","version":"0.1.3+81faed66","released":"2026-04-14"},{"latest":{"openbookregister":false},"tier":"free","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","version":"0.1.2+eb857c68","released":"2026-04-14"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{"lua-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","version":"0.1.1+c696c6cf","released":"2026-04-14"},{"latest":{},"tier":"free","requires":{"system":{"lua-socket":{"min":3}}},"supports":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","version":"0.1.0+ca749c8a","released":"2026-04-14"},{"latest":{},"tier":"free","requires":{"system":{"lua-socket":{"min":3}}},"supports":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","version":"0.1.0+ca749c8a-dirty","released":"2026-04-14"}],"daw-modul-product":[{"latest":{"kaupapi":true,"redan":true,"steurjan":true,"raidjan":true,"stapul":true},"tier":"free","requires":{"system":[]},"supports":{"kaupapi":{"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"},"raidjan":{"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","version":"0.1.1+b7154039","released":"2026-05-01"}],"fragjan-check-list-values":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}},"description":"Validate table literal values against allowed or forbidden list","version":"0.1.0+61e08ab6","released":"2026-05-26"}],"auth":[{"latest":{"openbookregister":true},"tier":"free","requires":{"system":{"openssl":{"min":3.0}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","version":"0.2.0+bedb8476","released":"2026-04-24"},{"latest":{"openbookregister":false},"tier":"free","requires":{"system":{"openssl":{"min":3}}},"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","version":"0.1.0+a905842c","released":"2026-04-14"}],"fragjan-check-linepattern":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.2.0"}},"description":"fragjan primitive: match pattern on a line, with optional line-level exclusion","version":"0.1.2+5920794a","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.2.0"}},"description":"fragjan primitive: match pattern on a line, with optional line-level exclusion","version":"0.1.1+09b9c01b","released":"2026-05-26"}],"fragjan-check-contains":[{"latest":{"fragjan":true},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"description":"fragjan primitive: check if a file contains or does not contain a pattern","version":"0.1.5+a223b94f","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"description":"fragjan primitive: check if a file contains or does not contain a pattern","version":"0.1.4+0ba69437","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"description":"fragjan primitive: check if a file contains or does not contain a pattern","version":"0.1.3+d80f1857","released":"2026-05-27"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"description":"fragjan primitive: check if a file contains or does not contain a pattern","version":"0.1.2+60af72cd","released":"2026-05-19"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"description":"fragjan primitive: check if a file contains or does not contain a pattern","version":"0.1.1+b61170f5","released":"2026-05-19"},{"latest":{"fragjan":false},"tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}},"description":"fragjan primitive: check if a file contains or does not contain a pattern","version":"0.1.0+4e20f780","released":"2026-05-19"}]}} \ No newline at end of file +{"packages":{"fragjan-check-markdown":[{"description":"fragjan primitive: extract structured content from Markdown files","released":"2026-05-27","latest":{"fragjan":true},"version":"0.1.1+1b35432c","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: extract structured content from Markdown files","released":"2026-05-24","latest":{"fragjan":false},"version":"0.1.0+4906b51e","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}}],"fragjan-check-contains":[{"description":"fragjan primitive: check if a file contains or does not contain a pattern","released":"2026-05-27","latest":{"fragjan":true},"version":"0.1.5+a223b94f","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}}},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","released":"2026-05-27","latest":{"fragjan":false},"version":"0.1.4+0ba69437","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}}},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","released":"2026-05-27","latest":{"fragjan":false},"version":"0.1.3+d80f1857","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}}},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.2+60af72cd","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}}},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.1+b61170f5","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}}},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.0+4e20f780","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.3"}}}],"fragjan-check-filecorrelation":[{"description":"Correlate two patterns within a file (if A present, B must/must-not be present)","released":"2026-05-31","latest":{"fragjan":true},"version":"0.1.0+ccc8b03a","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.10"}}}],"storage-pg":[{"description":"PostgreSQL storage backend for DAW projects","released":"2026-04-24","latest":{"openbookregister":true},"version":"0.3.0+833cfe38","tier":"free","requires":{"system":{"pg-backend":{"one-of":{"pgmoon":{"min":1.12},"lua-sql-postgresql":{"min":2.6}}},"postgresql":{"min":17.0}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"PostgreSQL storage backend for DAW projects","released":"2026-04-24","latest":{"openbookregister":false},"version":"0.2.0+0531bc3c-dirty","tier":"free","requires":{"system":{"pg-backend":{"one-of":{"pgmoon":{"min":1.12},"lua-sql-postgresql":{"min":2.6}}},"postgresql":{"min":17.0}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"PostgreSQL storage backend for DAW projects","released":"2026-04-13","latest":{"openbookregister":false},"version":"0.2.0+e6c1a475","tier":"free","requires":{"system":{"pg-backend":{"one-of":{"pgmoon":{"min":1.12},"lua-sql-postgresql":{"min":2.6}}},"postgresql":{"min":17}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"PostgreSQL storage backend for DAW projects","released":"2026-04-12","latest":{"openbookregister":false},"version":"0.1.1+cd594238","tier":"free","requires":{"system":{"libpq":{"min":17},"psql":{"min":17}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"PostgreSQL storage backend for DAW projects","released":"2026-04-12","latest":{"openbookregister":false},"version":"0.1.0+e9622390-dirty","tier":"free","requires":{"system":{}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}}],"log-file":[{"released":"2026-06-03","requires":{"system":[]},"latest":[],"supports":[],"description":"File log backend -- writes daw_log/v1 entries to a log file","tier":"free","version":"0.1.0+c50286d0"},{"description":"File log backend -- writes daw_log/v1 entries to a log file","tier":"free","latest":[],"version":"0.1.0+537ff816","released":"2026-06-03","requires":{"system":[]},"supports":[]}],"fragjan-check-linecount":[{"description":"fragjan primitive: count lines in a file","released":"2026-05-27","latest":{"fragjan":true},"version":"0.1.3+0338d557","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: count lines in a file","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.1+880e75e3","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: count lines in a file","released":"2026-05-18","latest":{"fragjan":false},"version":"0.1.0+e89ecf2d","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}}],"auth":[{"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","released":"2026-04-24","latest":{"openbookregister":true},"version":"0.2.0+bedb8476","tier":"free","requires":{"system":{"openssl":{"min":3.0}}},"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","latest":{"openbookregister":false},"version":"0.1.0+a905842c","tier":"free","requires":{"system":{"openssl":{"min":3}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}}],"git":[{"description":"Git VCS adapter for DAW projects","released":"2026-05-24","latest":{"steurjan":true},"version":"1.0.9+4a244af3","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-23","latest":{"steurjan":false},"version":"1.0.8+b1d364d6","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-22","latest":{"steurjan":false},"version":"1.0.7+ce04a3db","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-18","latest":{"steurjan":false},"version":"1.0.6+421b7bc3","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-18","latest":{"steurjan":false},"version":"1.0.5+f1f408ed","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-18","latest":{"steurjan":false},"version":"1.0.4+9d9dc1ba","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-16","latest":{"steurjan":false},"version":"1.0.3+8f74be4f","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-16","latest":{"steurjan":false},"version":"1.0.2+e9ea50cc","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-16","latest":{"steurjan":false},"version":"1.0.1+4b8784fb","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-16","latest":{"steurjan":false},"version":"1.0.0+e69ea947-dirty","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-11","latest":{"steurjan":false},"version":"0.2.4+20b37df9","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-10","latest":{"steurjan":false},"version":"0.2.3+9f0c258a","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-10","latest":{"steurjan":false},"version":"0.2.2+69947086","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-05-10","latest":{"steurjan":false},"version":"0.2.1+d72bb814","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-04-18","latest":{"steurjan":false},"version":"0.2.0+f7281c13","tier":"free","requires":{"system":{"git":{"min":2.0}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-04-03","latest":{"steurjan":false},"version":"0.1.6+b4f9258c","tier":"free","requires":{"system":{"git":{"min":2}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Git VCS adapter for DAW projects","released":"2026-03-24","latest":{"steurjan":false,"kaupapi":true},"version":"0.1.5+6fe653cc","tier":"free","requires":{"system":{"git":{"min":2}}},"supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}}}],"fragjan-check-listvalues":[{"description":"Validate table literal values against allowed or forbidden list","released":"2026-05-26","latest":{"fragjan":true},"version":"0.1.3+4fda08f2","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}}},{"description":"Validate table literal values against allowed or forbidden list","released":"2026-05-26","latest":{"fragjan":false},"version":"0.1.2+5a1ea021","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}}},{"description":"Validate table literal values against allowed or forbidden list","released":"2026-05-26","latest":{"fragjan":false},"version":"0.1.1+2b52665d","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}}}],"fragjan-check-pattern":[{"released":"2026-05-31","tier":"free","latest":{"fragjan":true},"version":"0.1.8+30ca7614","description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-31","latest":{"fragjan":false},"version":"0.1.7+cb860de3","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-27","latest":{"fragjan":false},"version":"0.1.6+f7bc85d1","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-27","latest":{"fragjan":false},"version":"0.1.5+a223b94f","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-27","latest":{"fragjan":false},"version":"0.1.3+d80f1857","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.2+ef98877a","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.1+0eaf02b0","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}},{"description":"fragjan primitive: search for a pattern in a file","released":"2026-05-18","latest":{"fragjan":false},"version":"0.1.0+b370900b","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}}],"api":[{"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","released":"2026-04-24","latest":{"openbookregister":true},"version":"0.2.0+f6586377","tier":"free","requires":{"system":[]},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","released":"2026-04-14","latest":{"openbookregister":false},"version":"0.1.0+7d291211","tier":"free","requires":{"system":{}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}}],"federation-sync":[{"description":"Block-based federation sync protocol for DAW instances","released":"2026-05-03","latest":{"obr":true,"raidjan":true,"kaupapi":true,"redan":true,"steurjan":true},"version":"0.1.0+56f7ba6d","tier":"free","requires":{"system":[]},"supports":{"obr":{"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"},"redan":{"max":"<2.0.0","min":"0.1.0"},"steurjan":{"max":"<2.0.0","min":"0.1.0"}}}],"fragjan-check-filehassiblingdir":[{"description":"fragjan primitive: check if a file has a sibling directory with the same name","released":"2026-05-31","latest":{"fragjan":true},"version":"0.1.1+c7fe8ae0","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}}}],"fragjan-check-linepattern":[{"description":"fragjan primitive: match pattern on a line, with optional line-level exclusion","released":"2026-05-27","latest":{"fragjan":true},"version":"0.1.2+5920794a","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.2.0"}}},{"description":"fragjan primitive: match pattern on a line, with optional line-level exclusion","released":"2026-05-26","latest":{"fragjan":false},"version":"0.1.1+09b9c01b","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.2.0"}}}],"fragjan-check-linemultipattern":[{"description":"Check if a line contains all given patterns simultaneously (AND semantics)","released":"2026-05-30","latest":{"fragjan":true},"version":"0.1.1+64c9de56","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.9"}}},{"description":"Check if a line contains all given patterns simultaneously (AND semantics)","released":"2026-05-30","latest":{"fragjan":false},"version":"0.1.1+53fda3ce","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.9"}}}],"fragjan-check-list-values":[{"description":"Validate table literal values against allowed or forbidden list","released":"2026-05-26","latest":{"fragjan":true},"version":"0.1.0+61e08ab6","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.0"}}}],"tax-calc":[{"description":"Decimal-accurate net/gross price calculation for DAW systems","released":"2026-05-01","latest":{"raidjan":true,"kaupapi":true,"stapul":true,"steurjan":true},"version":"0.1.1+ace89389","tier":"free","requires":{"system":[]},"supports":{"raidjan":{"max":"<2.0.0","min":"0.1.0"},"kaupapi":{"max":"<2.0.0","min":"0.1.0"},"stapul":{"max":"<2.0.0","min":"0.1.0"},"steurjan":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"One-line description","released":"2026-05-01","latest":{"steurjan":false},"version":"0.1.0+3097a54a","tier":"free","requires":{"system":[]},"supports":{"steurjan":{"max":"<2.0.0","min":"1.0.0"}}}],"daw-modul-product":[{"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","released":"2026-05-01","latest":{"raidjan":true,"stapul":true,"redan":true,"kaupapi":true,"steurjan":true},"version":"0.1.1+b7154039","tier":"free","requires":{"system":[]},"supports":{"raidjan":{"max":"<2.0.0","min":"0.1.0"},"stapul":{"max":"<2.0.0","min":"0.1.0"},"redan":{"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"}}}],"fragjan-check-multi-exists":[{"description":"Check existence of multiple files or directories (any/all)","released":"2026-05-28","latest":{"fragjan":true},"version":"0.1.1+a617a13b","tier":"free","requires":{"system":[]},"supports":{"fragjan":{"min":"0.2.5"}}}],"product":[{"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","released":"2026-05-03","latest":{"raidjan":true,"stapul":true,"redan":true,"kaupapi":true,"steurjan":true},"version":"0.2.0+69bf06a6","tier":"free","requires":{"system":[]},"supports":{"raidjan":{"max":"<2.0.0","min":"0.1.0"},"stapul":{"max":"<2.0.0","min":"0.1.0"},"redan":{"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"}}},{"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","released":"2026-05-03","latest":{"raidjan":false,"stapul":false,"redan":false,"kaupapi":false,"steurjan":false},"version":"0.1.2+570bdf80","tier":"free","requires":{"system":[]},"supports":{"raidjan":{"max":"<2.0.0","min":"0.1.0"},"stapul":{"max":"<2.0.0","min":"0.1.0"},"redan":{"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"}}}],"http-server":[{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","released":"2026-04-22","latest":{"openbookregister":true},"version":"0.2.0+77253d3d","tier":"free","requires":{"system":{"socket":{"min":3.0}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","released":"2026-04-14","latest":{"openbookregister":false},"version":"0.1.3+81faed66","tier":"free","requires":{"system":{"socket":{"min":3}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","released":"2026-04-14","latest":{"openbookregister":false},"version":"0.1.2+eb857c68","tier":"free","requires":{"system":{"socket":{"min":3}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","released":"2026-04-14","latest":{"openbookregister":false},"version":"0.1.1+c696c6cf","tier":"free","requires":{"system":{"lua-socket":{"min":3}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","released":"2026-04-14","latest":{},"version":"0.1.0+ca749c8a","tier":"free","requires":{"system":{"lua-socket":{"min":3}}},"supports":{}},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","released":"2026-04-14","latest":{},"version":"0.1.0+ca749c8a-dirty","tier":"free","requires":{"system":{"lua-socket":{"min":3}}},"supports":{}}],"storage-sqlite":[{"description":"SQLite storage backend","released":"2026-04-22","latest":{"steurjan":true,"openbookregister":true},"version":"0.2.0+de4d5c96","tier":"free","requires":{"system":{"sqlite3-lua":{"one-of":{"lsqlite3":{"min":"0.9.0"},"lua-sql-sqlite3":{"min":"0.9.0"}}}}},"supports":{"steurjan":{"max":"<2.0.0","min":"1.0.0"},"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"SQLite storage backend","released":"2026-04-17","latest":{"steurjan":false,"openbookregister":false},"version":"0.1.3+b47cc6aa","tier":"free","requires":{"system":{"sqlite3-lua":{"one-of":{"lsqlite3":{"min":"0.9.0"},"lua-sql-sqlite3":{"min":"0.9.0"}}}}},"supports":{"steurjan":{"max":"<2.0.0","min":"1.0.0"},"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"SQLite storage backend","released":"2026-04-17","latest":{"openbookregister":false},"version":"0.1.2+2ea11433","tier":"free","requires":{"system":{"lua-sql-sqlite3":{"min":"0.9.0"}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"SQLite storage backend","released":"2026-04-17","latest":{"openbookregister":false},"version":"0.1.1+243bf884","tier":"free","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}},"supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}}},{"description":"SQLite storage backend","released":"2026-04-17","latest":{"steurjan":false,"openbookregister":false},"version":"0.1.0+65568170","tier":"free","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}},"supports":{"steurjan":{"max":"<2.0.0","min":"1.0.0"},"openbookregister":{"max":"<2.0.0","min":"1.0.0"}}}],"fragjan-check-exists":[{"description":"fragjan primitive: check if a file or directory exists in a project","released":"2026-05-27","latest":{"fragjan":true},"version":"0.1.3+981615c3","tier":"free","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","released":"2026-05-27","latest":{"fragjan":false},"version":"0.1.2+89db1135","tier":"free","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","released":"2026-05-23","latest":{"fragjan":false},"version":"0.1.1+d6d3ba9a","tier":"free","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","released":"2026-05-19","latest":{"fragjan":false},"version":"0.1.0+6ea950a6","tier":"free","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.2"}}}]}} \ No newline at end of file diff --git a/registry-index.json.minisig b/registry-index.json.minisig index 457e1d3..036236a 100644 --- a/registry-index.json.minisig +++ b/registry-index.json.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RUQBsYbloFAfPsprsgdQUjHnDCuF5tkiovCEWFIM+n2y91l31UbtxrFco7Jt1Z8AIM2gC27UKEHOLSlhyb1k8TLhLrLwXwY9Dgg= -trusted comment: timestamp:1780487830 file:registry-index.json hashed -Sy+XG5gFyjCcZYEif5ZcFH4MIcnUk+ARojHJTb64iWuv9Ku6SjRPxTl6jvVXTINAM80x4DhJ20cZxYS62h+QAg== +RUQBsYbloFAfPqFskMhx0CwX478rL42OFdjSJjhoPp5m8FuLhB2tNQJR1IzctwOryg1pKKuiZj26Kx/LpOv76Pmyo5ePddWx5Qw= +trusted comment: timestamp:1780503433 file:registry-index.json hashed +NPtsiMmo7w6sd7123j+DML6fGHb/p+n6hNccC+YkgywCpdKIgi+sieAUKvRdgdKT7qA7P0i0Fd5P6vjSgYTIBQ==