Skip to content

feat(harness-eve): add experimental eve harness#16552

Draft
felixarntz wants to merge 9 commits into
mainfrom
fa/eve-harness
Draft

feat(harness-eve): add experimental eve harness#16552
felixarntz wants to merge 9 commits into
mainfrom
fa/eve-harness

Conversation

@felixarntz

Copy link
Copy Markdown
Collaborator

Background

This is experimental. DO NOT MERGE.

This is an experiment for connecting HarnessAgent to a specific deployed eve agent. eve does not currently expose a generic harness process that AI SDK can launch; users must first build and deploy an eve agent, then provide that agent URL to createEve().

This is not feasible to publish in its current stage. The adapter is useful for exploring how far the current harness abstraction can stretch around eve's architecture, where the deployed eve application owns the agent runtime.

Summary

  • Adds the experimental harness-eve package with a createEve({ url }) factory, remote eve client auth, stream translation, resume state, and tool approval handling.
  • Surfaces known eve framework tools as built-ins, while treating agent-specific eve tools as provider-executed dynamic tool calls.
  • Rejects unsupported HarnessAgent capabilities explicitly instead of silently ignoring them.
  • Adds docs, README content, ai-functions examples, and basic Next/TUI e2e examples for connecting to a deployed eve agent.

How It Works

There is no eve export because there is no generic eve harness to run. To try this, you first create and deploy an eve agent, then connect HarnessAgent to that specific deployment:

const agent = new HarnessAgent({
  harness: createEve({ url: process.env.EVE_AGENT_URL! }),
  sandbox: createJustBashSandbox(),
});

The AI SDK sandbox is only present because HarnessAgent requires one. Actual execution happens inside the remote eve agent, using that agent's configured model, tools, skills, and sandbox.

Known Limitations

  • No generic "run the eve harness" mode. The "eve harness" here is a specific eve agent.
  • No host-defined AI SDK tools.
  • No host-provided skills.
  • No activeTools or inactiveTools filtering.
  • No AI SDK control over eve's sandbox. --> This is probably the most severe issue.
  • Only known eve framework tools can be hardcoded as built-ins; eve agent-specific tools are dynamic.
  • Manual compaction is not supported.
  • eve connection authorization flows are not supported.

Checklist

  • All commits are signed (PRs with unsigned commits cannot be merged)
  • Tests have been added / updated (for bug fixes / features)
  • Documentation has been added / updated (for bug fixes / features)
  • A patch changeset for relevant packages has been added (for bug fixes / features - run pnpm changeset in the project root)
  • I have reviewed this pull request (self-review)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant