Key-value store handed to executors through RuntimeContext.cache.
Expiry options accepted by Cache.put.
One audit record emitted while a request is being served.
ExecutionEvent before a timestamp is stamped on it.
The unit of composition: something that answers a program.
RuntimeContext plus the identity of the running execution.
An executor, or the id of a model to run.
Where streamed chunks are written.
A named, capability-scoped edit applied to every program passing through.
The runtime services available while a request is being served.
A tool the model may call during a tool loop.
A capability a ProgramTransform declares before it may be applied.
Stamps an audit event with the current time.
Runtime contracts and combinators for building executors.
The root entry point carries only contracts — Executor, Tool, ProgramTransform, ExecutorContext and friends. Everything that does work lives on a subpath, and each symbol has exactly one import path:
@neutrome/lilsdk/loops—retry,fallback, goal loops@neutrome/lilsdk/tools— tool loops@neutrome/lilsdk/managed— capability and attachment executors@neutrome/lilsdk/stream— stream observation and output helpers@neutrome/lilsdk/primitives— functional helpers over instruction listsPrograms themselves are built with
@neutrome/lil-engine, which owns the protocol; this package owns everything that runs.Executor factories are named
create*Executor, exceptretryandfallback, which read better as bare verbs.Example