Roles and Processors
Choose the Aster behavior and execution primitives that fit an integration.
Choose the right primitive
- Use a Role to declare requested behavior: instructions, model constraints, callable visibility, history policy, and composition policy. A Role owns no lifecycle, credentials, grants, or runtime identity.
- Use a Processor to implement a bounded Invocation. Processor selection is host-owned and does not appear as a user-selectable persona.
- Use a service for composable runtime behavior such as modes, tools, skills, managed apps, MCP servers, and providers.
- Use a plugin for an installable package boundary that can bundle services, Roles, Processors, assets, setup metadata, and marketplace information.
- Use a Space to declare local Roles, tools, triggers, workflows, policies, and environment configuration.
- Use Distro for the default Aster product composition.
Roles
Roles are authority-free behavior declarations. A Space exposes a flat Role catalog and may record one canonical aster://.../roles/<roleId> default. Choosing a Role affects only the next admitted Invocation; it does not create a Task, thread, session, or durable worker identity.
When a Space exposes exactly one Role, Aster selects it implicitly. With multiple Roles and no valid default, the composer requires an explicit choice.
Processors
Processors execute admitted Invocations behind the host boundary. The host chooses a compatible Processor, applies grants and isolation, records Evidence, and settles the Invocation beneath Work.
Install the Processor authoring package:
npm install @aster/processor@aster/processor provides Processor.make() v2 for context-package-in / settlement-out domain loops, typed tools, the brokered/wrapped tool and event ports, host-owned session-lease helpers, and a template certified by the same conformance kit as first-party harnesses. Authored loops never own durable session state or poll transport inboxes.
See:
Services, plugins, and Spaces
Services expose typed runtime facets. Plugins package those facets and their assets for installation. Spaces select installed capabilities and declare their own Role catalog, workflows, policies, workspace configuration, and triggers.
See:
Package map
@aster/spacesdefines Space modules.@aster/gatedefines framework and boundary contracts.@aster/distrocomposes the default product runtime.@aster/processordefines the host execution implementation boundary.@aster/authoringdefines plugin, service, and Role authoring primitives.@aster/sdkis the generated gateway client.