Skip to main content

Environments

An environment is the governed execution container for ECP (Execution Control Protocol) workflows. Workflows stay portable; environments hold host bindings.

Create and bind

Node host (CLI and server apps):
Common builder methods: Import extension packages for side-effect catalog registration before binding by string id.

Init and operational APIs

Do not call run/encode on the environment builder — use the Ecp returned by init(). ecp.validate() / ecp validate check the graph and environment only. Run input is validated against workflow.accepts on ecp.run (and --dry-run), not on validate. Also available on Ecp: invoke, test, decode, patch, search, and describe.

Secrets and extension config

Keep credentials out of workflows. Store them with ecp config secrets, then pass secrets("…") into extension .with({…}):
secrets(...) and env(...) helpers are environment setup only. See Security.

Browser hosts

@executioncontrolprotocol/browser provides a slim host (executor, registry, session). Apps bind providers and harnesses. The browser demo is one such app; see Demo providers and configuration.

CLI

Point commands at an environment module:
Bare describe is a light inventory. Pass --capability or --extension with an exact id for full metadata and JSON Schema.

Next steps