Browse the documentation

AEL 1.0.0

Frequently asked questions

Short answers about AEL, the Agent Engineering Language, and AEL 1.0.0. Most answers end with the page that says more.

About AEL

What is AEL?

AEL, the Agent Engineering Language, is a programming language for building AI agents as reliable, native software. You write agents, their prompts, tools and workflows as typed code, and AEL builds them into self-contained programs for servers, containers and devices.

More in the Overview and Features.

Where should I start reading?

  • Overview: what AEL is, its features and how a project fits together.
  • First look: getting AEL 1.0.0, a first program, a first agent and the layout of a project.
  • Agents: prompts, models, tools, workflows, budgets and teams of agents.
  • Packages: official packages and the private packages you build and host yourself.
  • Release notes: what AEL 1.0.0 includes, area by area.

The documentation home lists every section.

Getting AEL

How do I get AEL 1.0.0?

AEL 1.0.0 is available on request: ask for your download on ael.openeng.ai/download, and OpenEng sends you the build for your platform by e-mail. Tell us your name, e-mail address, organisation and the platform you want, and OpenEng sends the AEL 1.0.0 build for that platform to that address.

Where do I get AEL?

AEL 1.0.0 is sent by request from ael.openeng.ai/download; official packages are on pack.ael.openeng.ai, the full documentation on docs.ael.openeng.ai and the record of every release on releases.ael.openeng.ai. Getting AEL 1.0.0 says how to request it and what else you need.

What does AEL 1.0.0 include?

The AEL 1.0.0 release notes list what AEL 1.0.0 includes, area by area. Features gives each feature in more detail.

Platforms

Which platforms does AEL 1.0.0 support?

AEL 1.0.0 builds for these targets:

  • Linux on x86-64 and ARM64
  • macOS on Apple silicon (ARM64)
  • Windows on x86-64
  • Containers: static Linux executables and minimal container images for x86-64 and ARM64
  • Microcontroller boards: Raspberry Pi Pico (RP2040), STM32 NUCLEO-G071RB and ESP32-C3, and one more board, to be announced

AEL 1.0.0 also builds for the ESP32 family of microcontrollers (ESP32-C3, ESP32-C6, ESP32-H2, ESP32-S3, ESP32 and ESP32-S2) and for coin-cell-class microcontroller boards.

Supported targets gives each target's name and profile, and Microcontroller boards describes building, flashing and monitoring firmware.

How does a program fit a small device?

Runtimes come in sizes for each class of device, from servers down to coin-cell-class microcontrollers, and a program that does not fit its device's class is refused when you build it. A board's support names its profile, so you know before you flash whether your program fits.

More in Supported targets.

What are the distributions of AEL?

AEL 1.0.0 is the full distribution; smaller distributions of the same version leave out components, such as support for other languages or for agents, and refuse a feature they leave out by naming it.

More in Distributions.

Other languages and isolation

Can my application hold functions written in other languages?

Yes. Your application can hold private functions written in other languages, with typed AEL signatures, built and run with your own toolchains, pinned by version. A function in another language runs on the same machine by default or in a sandbox, which needs the isolation facilities of Linux and runs only on the Linux target the documentation names for it, and a missing toolchain, a wrong version or a missing sandbox is refused before anything runs.

More in Functions in other languages.

What do I install for them?

The toolchain of each language you write a function in, at the version the function pins, on the machine that builds your program and on the machine that runs it: your functions in other languages are built and run with your own toolchains, pinned by version. AEL never downloads a toolchain or a runtime for you, and a project that declares no function in another language needs none.

More in Functions in other languages.

Can a component run in a sandbox?

Yes: isolated components and the sandbox for functions in other languages run on Linux on x86-64.

You mark an agent, node or subagent as isolated: it always runs in a sandbox in its own process, outside the shared communication layer, reachable only through the edges you declare and holding only the resources it declares itself. Isolation needs the isolation facilities of Linux and runs only on the Linux target the documentation names for it: on macOS, on Windows, on microcontroller boards, on other Linux targets and on any host without those facilities, an isolated component is refused, never run without isolation.

More in Isolated components and Supported targets.

Durable runs

Does a run survive a restart?

Only when its agent declares a storage point. A run is durable only when its agent declares a storage point, a storage package you select that keeps the run's state in a directory, in object storage or in an SQL database you run; without one, the run runs to completion and keeps nothing.

More in Bindings and storage.

Does AEL include a database?

No. AEL itself contains no database: the memory, knowledge and durable state of your runs live in the storage, database and vector-store packages you select.

More in Bindings and storage.

Packages

Who publishes packages, and how do private packages work?

Only OpenEng publishes to the official registry at pack.ael.openeng.ai; every version is signed, and a published version never changes.

Your own packages are private packages. You build a package with the ael package command, which produces a single package file. You host that file yourself: as a release download in your own GitHub or GitLab project, at any https address, or inside your project. Your project records the file's address and fingerprint, and AEL refuses the file if it ever changes. Access tokens for your private host stay outside your project files. AEL never treats an external package as an official one, even if its name matches.

More in The official registry and Private packages.

Can a package run native code or install scripts?

No. Every AEL package, from OpenEng or from you, is written in AEL and ships as compiled, verified AEL, with no bundled native code and no install scripts.

More in Security and provenance.

Contact and security

How do I contact the AEL team?

E-mail ael@openeng.ai. The address is also at the foot of every page.

How do I report a security issue?

Security reports go to ael@openeng.ai, the same address. This site's security.txt names it too.