Skip to content

v0.7.0 - Universal Provider SDK

Choose a tag to compare

@eliautobot eliautobot released this 07 Aug 19:51

Highlights

This feature release adds the Universal Provider SDK and provider contract 1.1, allowing Virtual Office to connect to multiple native agent frameworks through one manifest-driven integration layer.

  • Adds built-in adapters for OpenClaw, Hermes, Codex CLI, Claude Code, OpenCode, and Antigravity.
  • Adds Provider SDK Settings for connections, models, permissions, discovery, active sessions, authentication status, native files, and AgentSkills.
  • Makes New Agent and Agent Desk provider-aware, including native creation schemas, capabilities, workspace files, sessions, and skills.
  • Adds provider-neutral progressive chat streaming for text, thinking, tool calls, tool results, approvals, completion, interruption, and errors.
  • Keeps the full chat window and in-office chat bubble synchronized with each agent's selected native session.
  • Preserves ordered commentary, tool activity, refreshed history, and late final responses through the shared chat reducer.
  • Supports native external-agent discovery and retains temporarily missing agents as offline so they can be safely forgotten without deleting native files.
  • Documents the extension contract for third-party vo_provider_*.py adapters.

Chat windows and streaming improvements

  • Adds one shared event/reducer pipeline for OpenClaw, Hermes, Codex CLI, Claude Code, and Provider SDK streams so every framework follows the same ordered chat behavior.
  • Progressive text, thinking, tool calls, tool results, approvals, status, completion, interruption, and errors update the active assistant response in place instead of creating duplicate or out-of-order bubbles.
  • Commentary is finalized before thinking or tool activity and can resume beneath it; final answers then render in the correct transcript position.
  • Tool calls and results remain paired, including fast tools whose result arrives before a visible start event, while duplicate and stale terminal events are ignored.
  • Completion, failure, and cancellation now settle running tool cards and clear typing, thinking, and running indicators instead of leaving stale activity behind.
  • Late cumulative final payloads amend the just-finished assistant bubble in place, preventing partial suffix bubbles and truncated final answers.
  • Refreshed history preserves source order even when providers reuse timestamps, pairs restored tool results correctly, and suppresses duplicated provider reasoning.
  • OpenClaw history can recover public Codex commentary from the matching rollout after refresh and in long sessions while encrypted private reasoning remains excluded.
  • The full chat window and yellow in-office bubble share the selected native session and progressively display partial text, tools, results, status, and final settlement.
  • Secondary Chat 1–3 windows open at a practical width, retain manual horizontal resizing, compress only when the viewport requires it, and avoid overlapping adjacent chat windows.
  • Chat windows clamp and re-dock correctly when switching between desktop and mobile layouts so floating panels do not remain off-screen.
  • Stream regression coverage includes cumulative snapshot providers, rapid and multiple tools, raw tool-result roles, duplicate events, failures, cancellation, late finals, history refresh, and desktop/mobile rendering.

Native files and skills

  • Provider manifests explicitly allowlist which native files Virtual Office may list, read, create, edit, or delete.
  • Credential-bearing files and undeclared workspace files remain hidden.
  • Traversal and symlink escapes are rejected.
  • Managed files such as Codex configuration can be exposed as read-only.
  • Native AgentSkills install into each framework's correct directory and require valid AgentSkills frontmatter.
  • File and skill overwrites/deletions create recoverable backups.

Integration fixes

  • OpenClaw workspace paths are translated correctly between Docker mounts and the external Gateway filesystem namespace.
  • Models, Providers, and Cron toolbar links are resolved by URL so their labels remain correct when the Provider SDK link is present.
  • Fresh deployments with no weather location configured no longer generate a browser-console 404.
  • Existing unified chat, workspace, Cron, Skills, Ollama, Hermes Messaging Gateway, and wall-safe gathering behavior remains intact.

Authentication

Authentication remains owned by each native framework; Virtual Office does not bundle or expose provider credentials.

  • OpenClaw, Hermes, Codex CLI, and OpenCode completed connected acceptance testing.
  • Claude Code and Antigravity lifecycle, settings, native files, and skills integration passed, but model-backed chat requires users to authenticate with their native CLIs.

Validation

  • All six provider contracts and manifest/UI contracts passed against the live product.
  • Passed 40 Python provider/product tests, 25 chat-session and bubble checks, 45 chat-stream architecture checks, 8 gathering checks, 16 review-parser checks, 22 workflow checks, and 5 project CRUD checks.
  • A real OpenCode model turn completed through the progressive SDK event stream.
  • 300 concurrent live conformance requests completed with 300 HTTP 200 responses.
  • JavaScript and Python syntax checks passed.
  • Desktop 1365x900 and mobile 390x844 Provider SDK layouts rendered all six providers without horizontal overflow or browser-console errors.
  • The release tree passed scans for personal account identifiers, user-specific home paths, private/tailnet addresses, high-confidence API tokens, and private keys.
  • Temporary test agents, sessions, workspaces, skills, projects, histories, and backups were cleaned up.