When we started building the first applications on Liya Engine, we noticed ourselves doing the same work repeatedly: writing prompts tuned to a specific domain, building retrieval configurations that knew how to chunk and index domain-specific documents, defining output schemas that encoded domain knowledge, and adding guardrails that understood what safe outputs looked like for that vertical.
The solution was Domain Packs — versioned, composable bundles that encapsulate all of this domain knowledge in a single deployable unit.
Anatomy of a Domain Pack
A Domain Pack is a YAML-defined configuration that specifies four components: a prompt library, a retrieval config, an output schema, and a guardrails policy. These four components are versioned together so that upgrades don't silently change application behaviour.
How packs are executed
When you invoke a Domain Pack via the API, the Liya Engine runtime loads the pack configuration, resolves all referenced assets, constructs the agent context, and executes the prompt pipeline. The output is validated against the pack's output schema before being returned to you, so you always receive structured, typed data.
Building your own
In the coming weeks we're opening up the Pack Developer SDK, which gives you the same tools we used to build our first-party packs. You'll be able to publish packs to the Liya Engine marketplace and make them available to other platform users.