SDKs
- bma-sdk 2.1.0 (Go
github.com/beeos-ai/bma-sdk/v2, TypeScript@beeos-ai/bma-sdk, Pythonbma-sdk). NewSendAndStream/sendAndStream/send_and_stream: send the events, then open the resumable stream withLast-Event-IDset to thebma_resume_cursorof the send response, so frames written before the subscription are not lost. Within one sequence theuser.messagecan come aftersession.status_running; the send response id is the input (ain_…), matched to theuser.messageon the stream throughbma_input_id. Additive, no breaking change. See bma-sdk. - bma-executor-sdk 1.3.0 (Go, TypeScript, Python). Contract 1.4.0 (additive):
AgentCapability.harnesses[](the singleharnessis deprecated),AgentTurnConfig.harness,agent.custom_tool_use/agent.custom_tool_resultwithrequestCustomTool/respondCustomToolResult, andtools_token.refresh. Go only:Client.RefreshModelToken/AgentTurn.RefreshModelToken(model_token.refresh);ACPAgenthosts a local ACP brain (the platform model credential, refreshed when at most 10 minutes remain, and the deterministicappr_approval id) and re-checks every local tool call against the turn’s policy. Additive; seeMIGRATION.md(1.3.0).
SDKs
- bma-executor-sdk 1.2.0 (Go, TypeScript, Python). New
machine_idoption (defaultBMA_MACHINE_ID); token exchange and renewal use the executor’s own resource,POST /v1/machines/{machine_id}/tokenorPOST /v1/environments/{environment_id}/token. A machine token without a machine id keeps working through the legacyPOST /api/v1/executors/tokenalias. Also declares thefscapability and thefs.mount/fs.unmountmethods. Sessions that use custom tools run on a registered machine like any other session. Additive; seeMIGRATION.md(1.2.0).
SDKs
- SDK 1.0.0.
bma-sdkandbma-executor-sdk1.0.0 are published for Go, TypeScript and Python (npm, PyPI, Go module proxy).bma-sdkis a resource-style client (bma.agents.sessions.create,client.Agents.Sessions.New) with retries, auto-pagination and a typed event stream that reconnects like EventSource; the base URL is the API origin.bma-executor-sdkregisters one typed handler per tool (client.tools.bash.handle). Upgrading from 0.4: seeMIGRATION.mdin each repository.
Platform
- Ask before creating a machine. A tool with
always_asknow asks before the session’s machine is created; a denied or unanswered call provisions nothing. create_machineworks for agents created through/v1.
Platform
- Lazy machines. A session gets its machine on the first tool call that needs one. Chat-only sessions never hold a machine.
- Idle pause. Pools can pause idle machines instead of deleting them; paused machines keep disk and memory, do not count against quota, and resume on the next use.
- Subagents belong to their session. Results and questions return to the spawning session; a subagent sees only that session’s machines.
Platform
- Automatic session titles after the first turn, announced with
session.updated. - Environment desktop wallpaper (
config.desktop.wallpaper.file_id).
SDKs
- SDKs split by role.
bma-sdk(REST and/v1extensions, 0.4.2) andbma-executor-sdk(Executor Protocol, 0.4.9) replace the archivedbma-sdksrepository. Package names are unchanged. On PyPI the latest published versions are 0.4.1 and 0.4.8.