diff --git a/registry-index.json b/registry-index.json index 4cde069..456939b 100644 --- a/registry-index.json +++ b/registry-index.json @@ -1 +1 @@ -{"packages":{"federation-sync":[{"supports":{"raidjan":{"min":"0.1.0","max":"<2.0.0"},"obr":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"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"}},"tier":"free","released":"2026-05-03","version":"0.1.0+56f7ba6d","latest":{"raidjan":true,"obr":true,"steurjan":true,"kaupapi":true,"redan":true},"description":"Block-based federation sync protocol for DAW instances","requires":{"system":[]}}],"daw-modul-product":[{"supports":{"raidjan":{"min":"0.1.0","max":"<2.0.0"},"stapul":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"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"}},"tier":"free","released":"2026-05-01","version":"0.1.1+b7154039","latest":{"raidjan":true,"stapul":true,"steurjan":true,"kaupapi":true,"redan":true},"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","requires":{"system":[]}}],"product":[{"supports":{"raidjan":{"min":"0.1.0","max":"<2.0.0"},"stapul":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"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"}},"tier":"free","released":"2026-05-03","version":"0.2.0+69bf06a6","latest":{"raidjan":true,"stapul":true,"steurjan":true,"kaupapi":true,"redan":true},"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","requires":{"system":[]}},{"supports":{"raidjan":{"min":"0.1.0","max":"<2.0.0"},"stapul":{"min":"0.1.0","max":"<2.0.0"},"steurjan":{"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"}},"tier":"free","released":"2026-05-03","version":"0.1.2+570bdf80","latest":{"raidjan":false,"stapul":false,"steurjan":false,"kaupapi":false,"redan":false},"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","requires":{"system":[]}}],"api":[{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-24","version":"0.2.0+f6586377","latest":{"openbookregister":true},"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","requires":{"system":[]}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-14","version":"0.1.0+7d291211","latest":{"openbookregister":false},"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","requires":{"system":{}}}],"auth":[{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-24","version":"0.2.0+bedb8476","latest":{"openbookregister":true},"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","requires":{"system":{"openssl":{"min":3.0}}}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-14","version":"0.1.0+a905842c","latest":{"openbookregister":false},"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","requires":{"system":{"openssl":{"min":3}}}}],"git":[{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-24","version":"1.0.9+4a244af3","latest":{"steurjan":true},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-23","version":"1.0.8+b1d364d6","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-22","version":"1.0.7+ce04a3db","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-18","version":"1.0.6+421b7bc3","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-18","version":"1.0.5+f1f408ed","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-18","version":"1.0.4+9d9dc1ba","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-16","version":"1.0.3+8f74be4f","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-16","version":"1.0.2+e9ea50cc","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-16","version":"1.0.1+4b8784fb","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-16","version":"1.0.0+e69ea947-dirty","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-11","version":"0.2.4+20b37df9","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-10","version":"0.2.3+9f0c258a","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-10","version":"0.2.2+69947086","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-10","version":"0.2.1+d72bb814","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-18","version":"0.2.0+f7281c13","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-03","version":"0.1.6+b4f9258c","latest":{"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2}}}},{"supports":{"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-03-24","version":"0.1.5+6fe653cc","latest":{"kaupapi":true,"steurjan":false},"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2}}}}],"fragjan-check-markdown":[{"supports":{"fragjan":{"min":"0.1.0"}},"tier":"free","released":"2026-05-24","version":"0.1.0+4906b51e","latest":{"fragjan":true},"description":"fragjan primitive: extract structured content from Markdown files","requires":{"system":{"lua":{"min":5.1}}}}],"fragjan-check-contains":[{"supports":{"fragjan":{"min":"0.1.3"}},"tier":"free","released":"2026-05-19","version":"0.1.2+60af72cd","latest":{"fragjan":true},"description":"fragjan primitive: check if a file contains or does not contain a pattern","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.3"}},"tier":"free","released":"2026-05-19","version":"0.1.1+b61170f5","latest":{"fragjan":false},"description":"fragjan primitive: check if a file contains or does not contain a pattern","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.3"}},"tier":"free","released":"2026-05-19","version":"0.1.0+4e20f780","latest":{"fragjan":false},"description":"fragjan primitive: check if a file contains or does not contain a pattern","requires":{"system":{"lua":{"min":5.1}}}}],"fragjan-check-list-values":[{"supports":{"fragjan":{"min":"0.2.0"}},"tier":"free","released":"2026-05-26","version":"0.1.0+61e08ab6","latest":{"fragjan":true},"description":"Validate table literal values against allowed or forbidden list","requires":{"system":[]}}],"tax-calc":[{"supports":{"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"},"steurjan":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-01","version":"0.1.1+ace89389","latest":{"raidjan":true,"stapul":true,"kaupapi":true,"steurjan":true},"description":"Decimal-accurate net/gross price calculation for DAW systems","requires":{"system":[]}},{"supports":{"steurjan":{"min":"1.0.0","max":"<2.0.0"}},"tier":"free","released":"2026-05-01","version":"0.1.0+3097a54a","latest":{"steurjan":false},"description":"One-line description","requires":{"system":[]}}],"fragjan-check-linepattern":[{"supports":{"fragjan":{"min":"0.2.0"}},"tier":"free","released":"2026-05-26","version":"0.1.1+09b9c01b","latest":{"fragjan":true},"description":"fragjan primitive: match pattern on a line, with optional line-level exclusion","requires":{"system":{"lua":{"min":5.1}}}}],"storage-pg":[{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-24","version":"0.3.0+833cfe38","latest":{"openbookregister":true},"description":"PostgreSQL storage backend for DAW projects","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"}},"tier":"free","released":"2026-04-24","version":"0.2.0+0531bc3c-dirty","latest":{"openbookregister":false},"description":"PostgreSQL storage backend for DAW projects","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"}},"tier":"free","released":"2026-04-13","version":"0.2.0+e6c1a475","latest":{"openbookregister":false},"description":"PostgreSQL storage backend for DAW projects","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"}},"tier":"free","released":"2026-04-12","version":"0.1.1+cd594238","latest":{"openbookregister":false},"description":"PostgreSQL storage backend for DAW projects","requires":{"system":{"libpq":{"min":17},"psql":{"min":17}}}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-12","version":"0.1.0+e9622390-dirty","latest":{"openbookregister":false},"description":"PostgreSQL storage backend for DAW projects","requires":{"system":{}}}],"fragjan-check-exists":[{"supports":{"fragjan":{"min":"0.1.2"}},"tier":"free","released":"2026-05-23","version":"0.1.1+d6d3ba9a","latest":{"fragjan":true},"description":"fragjan primitive: check if a file or directory exists in a project","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.2"}},"tier":"free","released":"2026-05-19","version":"0.1.0+6ea950a6","latest":{"fragjan":false},"description":"fragjan primitive: check if a file or directory exists in a project","requires":{"system":{"lua":{"min":5.1}}}}],"fragjan-check-listvalues":[{"description":"Validate table literal values against allowed or forbidden list","tier":"free","released":"2026-05-26","version":"0.1.3+4fda08f2","latest":{"fragjan":true},"supports":{"fragjan":{"min":"0.2.0"}},"requires":{"system":[]}},{"supports":{"fragjan":{"min":"0.2.0"}},"tier":"free","released":"2026-05-26","version":"0.1.2+5a1ea021","latest":{"fragjan":false},"description":"Validate table literal values against allowed or forbidden list","requires":{"system":[]}},{"supports":{"fragjan":{"min":"0.2.0"}},"tier":"free","released":"2026-05-26","version":"0.1.1+2b52665d","latest":{"fragjan":false},"description":"Validate table literal values against allowed or forbidden list","requires":{"system":[]}}],"fragjan-check-linecount":[{"supports":{"fragjan":{"min":"0.1.0"}},"tier":"free","released":"2026-05-19","version":"0.1.1+880e75e3","latest":{"fragjan":true},"description":"fragjan primitive: count lines in a file","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.0"}},"tier":"free","released":"2026-05-18","version":"0.1.0+e89ecf2d","latest":{"fragjan":false},"description":"fragjan primitive: count lines in a file","requires":{"system":{"lua":{"min":5.1}}}}],"http-server":[{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-22","version":"0.2.0+77253d3d","latest":{"openbookregister":true},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"socket":{"min":3.0}}}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-14","version":"0.1.3+81faed66","latest":{"openbookregister":false},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"socket":{"min":3}}}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-14","version":"0.1.2+eb857c68","latest":{"openbookregister":false},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"socket":{"min":3}}}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-14","version":"0.1.1+c696c6cf","latest":{"openbookregister":false},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"lua-socket":{"min":3}}}},{"supports":{},"tier":"free","released":"2026-04-14","version":"0.1.0+ca749c8a","latest":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"lua-socket":{"min":3}}}},{"supports":{},"tier":"free","released":"2026-04-14","version":"0.1.0+ca749c8a-dirty","latest":{},"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"lua-socket":{"min":3}}}}],"fragjan-check-pattern":[{"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}},"supports":{"fragjan":{"min":"0.1.0"}},"latest":{"fragjan":true},"tier":"free","released":"2026-05-27","version":"0.1.5+a223b94f"},{"supports":{"fragjan":{"min":"0.1.0"}},"tier":"free","released":"2026-05-27","version":"0.1.3+d80f1857","latest":{"fragjan":false},"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.0"}},"tier":"free","released":"2026-05-19","version":"0.1.2+ef98877a","latest":{"fragjan":false},"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.0"}},"tier":"free","released":"2026-05-19","version":"0.1.1+0eaf02b0","latest":{"fragjan":false},"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}}},{"supports":{"fragjan":{"min":"0.1.0"}},"tier":"free","released":"2026-05-18","version":"0.1.0+b370900b","latest":{"fragjan":false},"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}}}],"storage-sqlite":[{"supports":{"steurjan":{"min":"1.0.0","max":"<2.0.0"},"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-22","version":"0.2.0+de4d5c96","latest":{"steurjan":true,"openbookregister":true},"description":"SQLite storage backend","requires":{"system":{"sqlite3-lua":{"one-of":{"lsqlite3":{"min":"0.9.0"},"lua-sql-sqlite3":{"min":"0.9.0"}}}}}},{"supports":{"steurjan":{"min":"1.0.0","max":"<2.0.0"},"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-17","version":"0.1.3+b47cc6aa","latest":{"steurjan":false,"openbookregister":false},"description":"SQLite storage backend","requires":{"system":{"sqlite3-lua":{"one-of":{"lsqlite3":{"min":"0.9.0"},"lua-sql-sqlite3":{"min":"0.9.0"}}}}}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-17","version":"0.1.2+2ea11433","latest":{"openbookregister":false},"description":"SQLite storage backend","requires":{"system":{"lua-sql-sqlite3":{"min":"0.9.0"}}}},{"supports":{"openbookregister":{"min":"0.1.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-17","version":"0.1.1+243bf884","latest":{"openbookregister":false},"description":"SQLite storage backend","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}}},{"supports":{"steurjan":{"min":"1.0.0","max":"<2.0.0"},"openbookregister":{"min":"1.0.0","max":"<2.0.0"}},"tier":"free","released":"2026-04-17","version":"0.1.0+65568170","latest":{"steurjan":false,"openbookregister":false},"description":"SQLite storage backend","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}}}]}} \ No newline at end of file +{"packages":{"fragjan-check-exists":[{"description":"fragjan primitive: check if a file or directory exists in a project","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.2+89db1135","tier":"free","supports":{"fragjan":{"min":"0.1.2"}},"released":"2026-05-27"},{"description":"fragjan primitive: check if a file or directory exists in a project","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.1+d6d3ba9a","tier":"free","supports":{"fragjan":{"min":"0.1.2"}},"released":"2026-05-23"},{"description":"fragjan primitive: check if a file or directory exists in a project","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.0+6ea950a6","tier":"free","supports":{"fragjan":{"min":"0.1.2"}},"released":"2026-05-19"}],"fragjan-check-markdown":[{"description":"fragjan primitive: extract structured content from Markdown files","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.0+4906b51e","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-24"}],"storage-pg":[{"description":"PostgreSQL storage backend for DAW projects","requires":{"system":{"postgresql":{"min":17.0},"pg-backend":{"one-of":{"lua-sql-postgresql":{"min":2.6},"pgmoon":{"min":1.12}}}}},"latest":{"openbookregister":true},"version":"0.3.0+833cfe38","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-24"},{"description":"PostgreSQL storage backend for DAW projects","requires":{"system":{"postgresql":{"min":17.0},"pg-backend":{"one-of":{"lua-sql-postgresql":{"min":2.6},"pgmoon":{"min":1.12}}}}},"latest":{"openbookregister":false},"version":"0.2.0+0531bc3c-dirty","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-24"},{"description":"PostgreSQL storage backend for DAW projects","requires":{"system":{"postgresql":{"min":17},"pg-backend":{"one-of":{"lua-sql-postgresql":{"min":2.6},"pgmoon":{"min":1.12}}}}},"latest":{"openbookregister":false},"version":"0.2.0+e6c1a475","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-13"},{"description":"PostgreSQL storage backend for DAW projects","requires":{"system":{"psql":{"min":17},"libpq":{"min":17}}},"latest":{"openbookregister":false},"version":"0.1.1+cd594238","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-12"},{"description":"PostgreSQL storage backend for DAW projects","requires":{"system":{}},"latest":{"openbookregister":false},"version":"0.1.0+e9622390-dirty","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-12"}],"federation-sync":[{"description":"Block-based federation sync protocol for DAW instances","requires":{"system":[]},"latest":{"obr":true,"steurjan":true,"raidjan":true,"redan":true,"kaupapi":true},"version":"0.1.0+56f7ba6d","tier":"free","supports":{"obr":{"max":"<2.0.0","min":"0.1.0"},"steurjan":{"max":"<2.0.0","min":"0.1.0"},"raidjan":{"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"}},"released":"2026-05-03"}],"fragjan-check-linepattern":[{"description":"fragjan primitive: match pattern on a line, with optional line-level exclusion","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.1+09b9c01b","tier":"free","supports":{"fragjan":{"min":"0.2.0"}},"released":"2026-05-26"}],"fragjan-check-listvalues":[{"description":"Validate table literal values against allowed or forbidden list","requires":{"system":[]},"latest":{"fragjan":true},"version":"0.1.3+4fda08f2","tier":"free","supports":{"fragjan":{"min":"0.2.0"}},"released":"2026-05-26"},{"description":"Validate table literal values against allowed or forbidden list","requires":{"system":[]},"latest":{"fragjan":false},"version":"0.1.2+5a1ea021","tier":"free","supports":{"fragjan":{"min":"0.2.0"}},"released":"2026-05-26"},{"description":"Validate table literal values against allowed or forbidden list","requires":{"system":[]},"latest":{"fragjan":false},"version":"0.1.1+2b52665d","tier":"free","supports":{"fragjan":{"min":"0.2.0"}},"released":"2026-05-26"}],"auth":[{"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","requires":{"system":{"openssl":{"min":3.0}}},"latest":{"openbookregister":true},"version":"0.2.0+bedb8476","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-24"},{"description":"Authentication for DAW projects -- API key auth, JWT (no cookies)","requires":{"system":{"openssl":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.0+a905842c","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-14"}],"storage-sqlite":[{"description":"SQLite storage backend","requires":{"system":{"sqlite3-lua":{"one-of":{"lua-sql-sqlite3":{"min":"0.9.0"},"lsqlite3":{"min":"0.9.0"}}}}},"latest":{"openbookregister":true,"steurjan":true},"version":"0.2.0+de4d5c96","tier":"free","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","requires":{"system":{"sqlite3-lua":{"one-of":{"lua-sql-sqlite3":{"min":"0.9.0"},"lsqlite3":{"min":"0.9.0"}}}}},"latest":{"openbookregister":false,"steurjan":false},"version":"0.1.3+b47cc6aa","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"},"steurjan":{"max":"<2.0.0","min":"1.0.0"}},"released":"2026-04-17"},{"description":"SQLite storage backend","requires":{"system":{"lua-sql-sqlite3":{"min":"0.9.0"}}},"latest":{"openbookregister":false},"version":"0.1.2+2ea11433","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-17"},{"description":"SQLite storage backend","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}},"latest":{"openbookregister":false},"version":"0.1.1+243bf884","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-17"},{"description":"SQLite storage backend","requires":{"system":{"luasqlite3":{"min":"0.9.0"}}},"latest":{"openbookregister":false,"steurjan":false},"version":"0.1.0+65568170","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"1.0.0"},"steurjan":{"max":"<2.0.0","min":"1.0.0"}},"released":"2026-04-17"}],"daw-modul-product":[{"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","requires":{"system":[]},"latest":{"steurjan":true,"raidjan":true,"redan":true,"stapul":true,"kaupapi":true},"version":"0.1.1+b7154039","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"},"raidjan":{"max":"<2.0.0","min":"0.1.0"},"redan":{"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"}},"released":"2026-05-01"}],"tax-calc":[{"description":"Decimal-accurate net/gross price calculation for DAW systems","requires":{"system":[]},"latest":{"raidjan":true,"stapul":true,"kaupapi":true,"steurjan":true},"version":"0.1.1+ace89389","tier":"free","supports":{"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"}},"released":"2026-05-01"},{"description":"One-line description","requires":{"system":[]},"latest":{"steurjan":false},"version":"0.1.0+3097a54a","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"1.0.0"}},"released":"2026-05-01"}],"fragjan-check-pattern":[{"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}},"released":"2026-05-27","version":"0.1.5+a223b94f","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"latest":{"fragjan":true}},{"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.3+d80f1857","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-27"},{"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.2+ef98877a","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-19"},{"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.1+0eaf02b0","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-19"},{"description":"fragjan primitive: search for a pattern in a file","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.0+b370900b","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-18"}],"git":[{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":true},"version":"1.0.9+4a244af3","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-24"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.8+b1d364d6","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-23"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.7+ce04a3db","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-22"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.6+421b7bc3","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-18"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.5+f1f408ed","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-18"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.4+9d9dc1ba","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-18"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.3+8f74be4f","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-16"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.2+e9ea50cc","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-16"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.1+4b8784fb","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-16"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"1.0.0+e69ea947-dirty","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-16"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"0.2.4+20b37df9","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-11"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"0.2.3+9f0c258a","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-10"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"0.2.2+69947086","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-10"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"0.2.1+d72bb814","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-05-10"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2.0}}},"latest":{"steurjan":false},"version":"0.2.0+f7281c13","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-18"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2}}},"latest":{"steurjan":false},"version":"0.1.6+b4f9258c","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-03"},{"description":"Git VCS adapter for DAW projects","requires":{"system":{"git":{"min":2}}},"latest":{"kaupapi":true,"steurjan":false},"version":"0.1.5+6fe653cc","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-03-24"}],"http-server":[{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"socket":{"min":3.0}}},"latest":{"openbookregister":true},"version":"0.2.0+77253d3d","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-22"},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"socket":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.3+81faed66","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-14"},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"socket":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.2+eb857c68","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-14"},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"lua-socket":{"min":3}}},"latest":{"openbookregister":false},"version":"0.1.1+c696c6cf","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-14"},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"lua-socket":{"min":3}}},"latest":{},"version":"0.1.0+ca749c8a","tier":"free","supports":{},"released":"2026-04-14"},{"description":"Generic TCP-based HTTP server with URL param routing and static file serving","requires":{"system":{"lua-socket":{"min":3}}},"latest":{},"version":"0.1.0+ca749c8a-dirty","tier":"free","supports":{},"released":"2026-04-14"}],"api":[{"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","requires":{"system":[]},"latest":{"openbookregister":true},"version":"0.2.0+f6586377","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-24"},{"description":"API layer for DAW HTTP services -- CORS, rate-limiting, JSON helpers, auth hook","requires":{"system":{}},"latest":{"openbookregister":false},"version":"0.1.0+7d291211","tier":"free","supports":{"openbookregister":{"max":"<2.0.0","min":"0.1.0"}},"released":"2026-04-14"}],"product":[{"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","requires":{"system":[]},"latest":{"steurjan":true,"raidjan":true,"redan":true,"stapul":true,"kaupapi":true},"version":"0.2.0+69bf06a6","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"},"raidjan":{"max":"<2.0.0","min":"0.1.0"},"redan":{"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"}},"released":"2026-05-03"},{"description":"Shared product module -- validation, category resolution, price lookup, bundle expansion","requires":{"system":[]},"latest":{"steurjan":false,"raidjan":false,"redan":false,"stapul":false,"kaupapi":false},"version":"0.1.2+570bdf80","tier":"free","supports":{"steurjan":{"max":"<2.0.0","min":"0.1.0"},"raidjan":{"max":"<2.0.0","min":"0.1.0"},"redan":{"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"}},"released":"2026-05-03"}],"fragjan-check-list-values":[{"description":"Validate table literal values against allowed or forbidden list","requires":{"system":[]},"latest":{"fragjan":true},"version":"0.1.0+61e08ab6","tier":"free","supports":{"fragjan":{"min":"0.2.0"}},"released":"2026-05-26"}],"fragjan-check-contains":[{"description":"fragjan primitive: check if a file contains or does not contain a pattern","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.2+60af72cd","tier":"free","supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-19"},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.1+b61170f5","tier":"free","supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-19"},{"description":"fragjan primitive: check if a file contains or does not contain a pattern","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.0+4e20f780","tier":"free","supports":{"fragjan":{"min":"0.1.3"}},"released":"2026-05-19"}],"fragjan-check-linecount":[{"description":"fragjan primitive: count lines in a file","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":true},"version":"0.1.1+880e75e3","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-19"},{"description":"fragjan primitive: count lines in a file","requires":{"system":{"lua":{"min":5.1}}},"latest":{"fragjan":false},"version":"0.1.0+e89ecf2d","tier":"free","supports":{"fragjan":{"min":"0.1.0"}},"released":"2026-05-18"}]}} \ No newline at end of file diff --git a/registry-index.json.minisig b/registry-index.json.minisig index a1a21fe..ea5dd1c 100644 --- a/registry-index.json.minisig +++ b/registry-index.json.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RUQBsYbloFAfPtFGH1m8vnn2M9T1mZTi10kPKvGgjh8hkRLPtMICFkJyzHsro3Yv1iCe213SMeFioarzeHPJEoU0UrKyqANInwI= -trusted comment: timestamp:1779883085 file:registry-index.json hashed -dRZn5HqM1GEv3HM9+pf90RJfjR7c1ea+HTwlpiRXkChD9VWKJ3S2H4FgcU2Wa1+UQrKQztyRlQP/YbjOwxlnAQ== +RUQBsYbloFAfPn6QUzex5thvvaW9APEQTzcMvWAmyzUnQzduuAz4/v3UguC6dwIuKDAQZi7SkRbBqas9qsLyVSTsq19PvXsJmAo= +trusted comment: timestamp:1779883816 file:registry-index.json hashed +iTf/50LjS+X7BKsJCIuFo9NXFH7QnzWvVB+2zsVKWu/LZrRnnpfJDPy0wlmqLA8jwCgaS7PPhHrTEfq5b8fPCg==