Repository navigation
fix(eve-extension): rebuild on eve 0.85.0 and migrate to the eve 0.84+ extension API - #82
Merged
Merged
Conversation
…+ extension API Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CMK4es9MSvTWcpjytYN8Kz
There was a problem hiding this comment.
🟡 Changes recommended
The Eve upgrade leaves an incompatible installed Connect peer dependency in the demo, causing strict peer-dependency installs to fail.
1 open issue
1 file not reviewed
pnpm-lock.yaml: Generated file
What changed in this PR
Migrates the Eve extension to the 0.84+ APIs and rebuilds it with Eve 0.85.0, addressing the published extension’s manifest incompatibility left unresolved by #79. The separate Eve adapter and its demo remain on 0.82.0.
Changes:
- Updates dynamic tools and session-context typing to the new extension API.
- Migrates chat-history capture to delivery and content events, storing reply-phase assistant text.
- Raises the Eve peer floor to 0.85.0 and updates the demo, documentation, and release changeset.
| File | Description |
|---|---|
pnpm-lock.yaml |
Resolves Eve 0.85.0 and its peer dependencies. |
packages/eve-extension/README.md |
Updates compatibility requirements and dynamic-tool timing. |
packages/eve-extension/package.json |
Raises Eve development dependency and peer floor. |
packages/eve-extension/extension/tools/search.ts |
Migrates the search resolver to callback-form defineDynamic. |
packages/eve-extension/extension/tools/search_count.ts |
Migrates the count resolver. |
packages/eve-extension/extension/tools/search_chat_history.ts |
Migrates the history-search resolver. |
packages/eve-extension/extension/tools/search_aggregate.ts |
Migrates the aggregation resolver. |
packages/eve-extension/extension/tools/read_chat_history.ts |
Migrates the transcript-read resolver. |
packages/eve-extension/extension/lib/session.ts |
Introduces the shared SessionRef type. |
packages/eve-extension/extension/lib/runtime.ts |
Uses SessionRef for identity resolution and capture. |
packages/eve-extension/extension/hooks/chat_history.ts |
Captures user deliveries and assistant reply text. |
packages/eve-extension/extension/extension.ts |
Updates the configured user-ID callback type. |
packages/eve-extension/AGENTS.md |
Documents the new Eve compatibility floor. |
examples/eve-extension-demo/package.json |
Moves the extension demo to Eve 0.85.0. |
examples/eve-extension-demo/evals/agentkit-smoke.eval.ts |
Uses the renamed turn.reply property. |
CLAUDE.md |
Records migration and compatibility details. |
.changeset/eve-extension-eve-085.md |
Adds a minor-release entry for the migration. |
Review effort: Balanced
…85 peer Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CMK4es9MSvTWcpjytYN8Kz
There was a problem hiding this comment.
🔵 Needs a closer look
Verification is limited to typechecking and builds, leaving migrated chat-history capture, retrieval, and tenant isolation untested with chatHistory enabled against live Redis.
No open issues 🎉
1 resolved since last review
1 file not reviewed
pnpm-lock.yaml: Generated file
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Problem
Published
@upstash/agentkit-eve-extension@0.16.1failseve buildon eve 0.84.0 and later:eve 0.84.0 replaced per-capability contract epochs with a manifest that records the eve version the extension was built with, and changed the extension source API. #79 only bumped devDependencies, so it did not fix this.
Changes (
packages/eve-extension)SessionContextis no longer exported fromeve/tools. AddedSessionRef = Pick<SessionFrame, "session">(extension/lib/session.ts), used for the optionaluserIdfunction andresolveUserId.search,search_aggregate,search_count,search_chat_history,read_chat_history) usedefineDynamic(() => tool | null)instead ofdefineDynamic({ events: { "session.started" } }).message.receivedbecomesdelivery.consumed(text parts ofevent.data.parts);message.completedbecomescontent.completed, filtered to text parts withphase: "reply". Behaviour change: one stored assistant message per reply text part, and narration between tool calls is not stored.{ formatVersion: 3, builtWithEve: "0.85.0", contractMajor: 0 }.>=0.83.0->>=0.85.0. Verified by packing the dist into fresh consumers: eve 0.83.3 fails ("no valid compatibility manifest"), 0.84.0 and 0.84.1 fail ("was built with eve 0.85.0. Upgrade eve to 0.85.0 or later"), 0.85.0eve buildis clean with theexamples/eve-extension-demoagent mounted.examples/eve-extension-demo: eve^0.85.0; its eval usesturn.reply(renamed fromturn.messagein the eve 0.84+ eval API).@upstash/agentkit-eve-extension; README,AGENTS.md,CLAUDE.mdupdated.packages/eveandexamples/eve-demostay on eve 0.82.0 (they still need their own source migration, including./sandbox).Verification
pnpm lint,pnpm typecheck,node scripts/sync-version.mjs --check,pnpm build, all example builds,eve-demomocked eval (10 gates).eve-extension-demomocked eval: 3/4 gates. The failingcalledTool(agentkit__search_count)gate fails only because the throwaway Redis allows one search index ("Exceeded max index count of 1"); the tool mounts and executes. Needs a re-run on a Redis with more search indexes.chatHistoryoff). It is typechecked and built only. Please try the demo withchatHistory: truebefore releasing.pnpm testand the TanStack e2e were not re-run for this PR (no change to those packages).🤖 Generated with Claude Code
https://claude.ai/code/session_01CMK4es9MSvTWcpjytYN8Kz