lex-lex
Extension registry for LegionIO. Persists extension, runner, and function metadata to the database when LEX gems load.
What It Does
When LegionIO loads extensions, it publishes LexRegister messages to RabbitMQ. This extension:
- Consumes those messages via a subscription actor
-
Persists extension/runner/function records to
legion-datamodels - Syncs in-memory extension state with the database on startup
Without lex-lex, the REST API (/api/extensions), MCP tools (legion.list_extensions), and CLI (legion lex list) return empty results.
Runners
| Runner | Methods | Purpose |
|---|---|---|
| Extension | create, update, get, delete | CRUD for extensions |
| Runner | create, update, get, delete | CRUD for runners |
| Function | create, update, get, delete, build_args | CRUD for functions + arg schema |
| Register | save | Persist full extension descriptor |
| Sync | sync | Reconcile in-memory state with DB |
Requirements
- Ruby >= 3.4
-
legion-datamust be connected (data_required? true)
Development
bundle install
bundle exec rspec
bundle exec rubocopLicense
MIT