.lmaAny-tool
Call anything this install has — adapters, actions, MCP tools, capabilities.
- Needs an install
- a .lma file
- free to run
Why .lma exists.
A language with NO verb table. Its vocabulary is whatever the running install currently holds: every adapter tool, every stored functioncall and user integration, every automation action, every MCP tool, and every vendor-neutral capability. Register an adapter, publish an app, connect a provider — and existing scripts can call it, with no change to any language code. DISCOVER searches all of it, DESCRIBE prints a verb's declared arguments, USE calls one, and EACH fans a call over a list. A capability ref names an OUTCOME (cap:email.send) and the ecosystem picks the provider and credential at call time, which is why every run keeps a TRACE.
Needs an install
Its vocabulary is a RUNNING Leumas install — your collections, your tools, your models. That is why it cannot run anonymously: with no account there is nobody for it to act as.
What can this install do, and can it encode a string?
Takes inputs — Named inputs become {{slots}} inside argument literals: { "text": "hello leumas" }..
# What can this install do, and can it encode a string?
# inputs: input=hello leumas
PLANES
DISCOVER "base64"
DESCRIBE a-text.Base64Encode
USE a-text.Base64Encode { "text": "{{input}}" } -> encoded
PRINT "encoded: {{encoded}}"
TRACE
RETURN encoded
1 more example
Reference: fan one tool over a list, then act on the result.
# Reference: fan one tool over a list, then act on the result.
# `rows` would normally arrive as an input from an lmq query.
# inputs: rows=[{"body":"first note"},{"body":"second note"}]
USING tool
DISCOVER "text"
EACH row IN rows USE a-text.Base64Encode { "text": "{{row.body}}" } -> encoded
PRINT encoded
WHEN encoded.0 != "" THEN PRINT "at least one row encoded"
TRACE
RETURN encoded
The shape of it.
Straight from the interpreter catalogue — the same summary the editor shows as a placeholder.
PLANES
DISCOVER "base64"
DESCRIBE a-text.Base64Encode
USE a-text.Base64Encode { "text": "{{input}}" } -> encoded
PRINT encoded
TRACE
RETURN encodedWhere to take it.
Or run it against an install you already have: the CLI takes --studio <url> --token <t>.