SDKs
  • bma-sdk 2.1.0 (Go github.com/beeos-ai/bma-sdk/v2, TypeScript @beeos-ai/bma-sdk, Python bma-sdk). New SendAndStream / sendAndStream / send_and_stream: send the events, then open the resumable stream with Last-Event-ID set to the bma_resume_cursor of the send response, so frames written before the subscription are not lost. Within one sequence the user.message can come after session.status_running; the send response id is the input (ain_…), matched to the user.message on the stream through bma_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 single harness is deprecated), AgentTurnConfig.harness, agent.custom_tool_use / agent.custom_tool_result with requestCustomTool / respondCustomToolResult, and tools_token.refresh. Go only: Client.RefreshModelToken / AgentTurn.RefreshModelToken (model_token.refresh); ACPAgent hosts a local ACP brain (the platform model credential, refreshed when at most 10 minutes remain, and the deterministic appr_ approval id) and re-checks every local tool call against the turn’s policy. Additive; see MIGRATION.md (1.3.0).
SDKs
  • bma-executor-sdk 1.2.0 (Go, TypeScript, Python). New machine_id option (default BMA_MACHINE_ID); token exchange and renewal use the executor’s own resource, POST /v1/machines/{machine_id}/token or POST /v1/environments/{environment_id}/token. A machine token without a machine id keeps working through the legacy POST /api/v1/executors/token alias. Also declares the fs capability and the fs.mount / fs.unmount methods. Sessions that use custom tools run on a registered machine like any other session. Additive; see MIGRATION.md (1.2.0).
SDKs
  • SDK 1.0.0. bma-sdk and bma-executor-sdk 1.0.0 are published for Go, TypeScript and Python (npm, PyPI, Go module proxy). bma-sdk is 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-sdk registers one typed handler per tool (client.tools.bash.handle). Upgrading from 0.4: see MIGRATION.md in each repository.
Platform
  • Ask before creating a machine. A tool with always_ask now asks before the session’s machine is created; a denied or unanswered call provisions nothing.
  • create_machine works 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 /v1 extensions, 0.4.2) and bma-executor-sdk (Executor Protocol, 0.4.9) replace the archived bma-sdks repository. Package names are unchanged. On PyPI the latest published versions are 0.4.1 and 0.4.8.
See the roadmap for what is next.