Releases

What's new in AgentOS

What changed in the AgentOS platform and its TypeScript and Python SDKs, newest first. RSS

  1. 0.4.1

    TypeScript SDK22 September 2026

    Security

    • The API key no longer appears when a run, task or span is serialised with JSON.stringify or printed with util.inspect. In 0.3.0 and 0.4.0, logging or returning one of these objects exposed the key. Upgrade, and rotate any key that may have been logged.
    • Redirects are no longer followed. A redirect fails with an AgentOSError coded REDIRECT; set baseUrl to the final address.
    • A baseUrl that uses plain http:// for anything other than localhost logs a warning, since the key would travel unencrypted.
  2. 0.4.0

    TypeScript SDK22 September 2026

    Added

    • Control plane. Every workspace operation as a typed method: aos.agents, aos.runs, aos.approvals, aos.evals, aos.schedules, aos.resources, aos.alerts, aos.reports, aos.tools, aos.folders, aos.conversations, aos.members, aos.apiKeys, aos.notifications, aos.integrations, aos.marketplace, aos.fleet and aos.workspaces (56 methods). Generated from the server's schemas; see the reference.
    • workspace option and AGENTOS_WORKSPACE, for control-plane calls with a personal key.

    Changed

    • The README is rewritten as a complete guide.
  3. 0.3.0

    TypeScript SDK22 September 2026

    Breaking

    • invoke() returns { runId, status, output, durationMs, sessionId, approval, inputRequest }. status is "completed", "awaiting_approval" or "awaiting_input"; a paused run used to look like a success with an empty output. output is null while paused, and typed with a generic (invoke<T>()).
    • emitLLMResponse() takes token usage in camelCase: { inputTokens, outputTokens }.
    • The LangChain handler records a span tree instead of tasks and events.
    • Node 20 or later.

    Added

    • Configuration from the environment: AGENTOS_API_KEY, AGENTOS_AGENT_ID, AGENTOS_BASE_URL, AGENTOS_DISABLED. agentId is optional and can be passed per call, for workspace keys.
    • invokeStream(), reply(), and the full invoke API: sessionId, startSession, history, externalUserId, parentRunId, test.
    • withRun(), which completes or fails a run around a function.
    • run.cancel(), run.complete({ usage }) for token counts, and span.fail().
    • client.flush() and client.shutdown(). In Node, queued events are also sent automatically before exit.
    • Retries with backoff for transient failures; a 429's Retry-After is honoured. Invokes are only retried on 429, since the agent may already be running.
    • AgentOSTransientError, AgentOSConfigError, status on every error, and retryAfter on AgentOSRateLimitError.
    • Options: maxQueueSize, maxRetries, timeoutMs, onError, fetch.
    • startRun({ parentRunId }).

    Fixed

    • A failed background flush could crash the Node process with an unhandled rejection.
    • Events were lost silently when a send failed. Transient failures now stay queued and retry; rejected batches are dropped and counted in run.droppedEvents.
    • The event queue is bounded. When it fills, debug and info events are dropped before warnings and errors.
    • The LangChain handler reported every model as "llm" and every tool as "tool", and made a network call on each chain step.
    • The package declares "type": "module" and separate type declarations for import and require. Its ES module build was being loaded as CommonJS, which can break import on older Node versions.
  4. 0.2.2

    TypeScript SDK13 May 2026
    • Prompt variables and parent run ids on invoke().