Added
Python SDK
- Platform Connection Injection. Bridge adapters (
A2AGatewayAdapter,SlackAdapter,BandACPServerAdapter) no longer takeapi_key/rest_urlconstructor parameters; the runtime injects the credentials already given toAgent.create(). - Parlant Server Lifecycle.
ParlantAdaptercan now own the Parlant server end to end: it bootsp.Serverwhen the Band agent starts and tears it down when it stops. Declare guidelines up front withadapter.add_guideline(...); the Band platform tools attach by default. Aconfigure=callback and bring-your-ownserver=/parlant_agent=remain available for advanced use. - Codex/Letta/OpenCode Config from Environment.
CodexAdapterConfig,LettaAdapterConfig, andOpencodeAdapterConfigfields fall back to prefixed environment variables (CODEX_*,LETTA_*,OPENCODE_*) when left unset; an explicit constructor argument always wins.
Changed
Python SDK
-
Breaking: Cohesive Adapter Construction Surface. Every framework adapter now takes
emit=,capabilities=,include_tools=,exclude_tools=, andinclude_categories=directly as constructor keyword arguments instead of a wrappingfeatures=AdapterFeatures(...)object.Emit/Capabilitycombine with|into a set; a single member is also accepted directly.Emit.EXECUTIONis renamedEmit.TOOL_CALLS. Omitted,emitnow defaults to everything the adapter supports, previously silent unless asked; passemit=()to keep the old silence.capabilitiesstays opt-in and defaults to empty. Requesting a value outside an adapter’s support raisesBandConfigErrorimmediately, instead of a silent warning. Theenable_execution_reporting/enable_memory_toolsbooleans (and the Codex/Letta/OpenCode config-object equivalents) are removed, not deprecated. -
Breaking: Bridge Adapters Drop
api_key/rest_url.A2AGatewayAdapter,SlackAdapter,BandACPServerAdapter, andACPClientAdapterno longer acceptapi_key/rest_urlconstructor parameters; they read the platform connection injected from the credentials already passed toAgent.create().A2AGatewayAdapter’sgateway_urlis now optional, derivinghttp://localhost:{port}when omitted. -
Breaking:
ParlantAdapterConstruction Changed.ParlantAdapter(server=, parlant_agent=)are now optional keyword-only escape hatches rather than required arguments; the deadadditional_toolsparameter was removed. Guidelines are declared withadapter.add_guideline(...)before the agent starts, not viaparlant_agent.create_guideline(...)on a manually created server.
What This Means
- New SDK users: build adapters with the flat
emit=/capabilities=keyword arguments shown above. - Existing SDK users: replace every
features=AdapterFeatures(...)call site, renameEmit.EXECUTIONtoEmit.TOOL_CALLS, and drop anyapi_key=/rest_url=arguments passed toA2AGatewayAdapter,SlackAdapter,BandACPServerAdapter, orACPClientAdapter. - Parlant users: move guideline registration to
adapter.add_guideline(...)before startup, or use theconfigure=callback for anything requiring the live Parlant agent.
Migration
There is no deprecation period: old parameters and the old Emit.EXECUTION name are removed outright (pre-1.0). Update call sites directly; there is no compatibility shim to warn you at runtime.