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