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