Version Packages - #32
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 1, 2026 19:44
92a0a60 to
1bf899b
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 2, 2026 11:10
1bf899b to
910c33a
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 4, 2026 12:31
910c33a to
e46b374
Compare
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@upstash/agentkit-eve@0.9.0
Minor Changes
0117c2e: feat(eve): add
@upstash/agentkit-eve/memory— Upstash Redis behind eve's memory slotsA new subpath with two integrations for eve's memory feature
(
agent/memory/<slot>.ts), because eve exposes two different seams:redisDocuments()— aMemoryDocumentBackendfor eve's built-infileMemory(), replacing itsVercel Blob storage:
fileMemory({ backend: redisDocuments() }). Without abackend,fileMemory()only resolves storage undereve devand on Vercel with a Blob store attached.redisMemory()— a fullMemoryProviderover the SDK'sAgentMemory: ranked BM25 recall atturn.started/compaction.completed, capture atturn.completed, and the tools<slot>__save_memory,<slot>__search_memory,<slot>__read_sessionand<slot>__forget_memory,bound to the slot's locked scope. Where
fileMemory()replays one curated document, this recallsthe top-K memories relevant to the current turn and needs no tool call to remember anything.
Both are additive:
defineMemoryRecallTool/defineMemorySaveToolare unchanged and remain theright choice for model-driven memory with no slot.
Requirements. The subpath imports
eve/memoryandeve/memory/file(added in eve 0.45.1 and0.45.2), so it needs eve ≥ 0.45.2 — the package's
evepeer stays>=0.32.0because the rootand
./sandboxentry points still work further back. The@upstash/redispeer floor moves to>=1.38.4, whose read-your-writes fixredisDocuments()relies on.redisMemory()options:rememberMessages(defaulttrue, meaning"fromUser"; also"all","fromModel",false),maxRecallCharacters(4000),maxMemoryCharacters(2048), plustopK,minScore,prefix,indexName.Three behaviours worth knowing before you configure it:
ranking, and are reached on demand through
search_memory/read_session. Otherwise a stored"What do you remember?" outranks real facts on the next identical question.
forget_memoryredacts rather than deletes. The text is erased and the entry marked deleted,so it can never be recalled or searched again, but
read_sessionrenders it as[redacted]— asilent gap invites re-deriving the very thing that was removed.
"all"and"fromModel"do not getforget_memory. Those modes store the assistant'sreplies, and a reply confirming a deletion quotes the text it deleted — so erasing something would
write a fresh copy of it. They contribute
save_memory,search_memoryandread_sessiononly.Everything the slot keeps lives in one keyspace of its own (
agentkit:memorySlot) withsessionId,sourceanddeletedindexed, so there is no separate transcript store to fall out of sync.Recalled memories are tagged
session=<id>, andread_sessionreplays that session in order.Patch Changes
@upstash/agentkit-eve-extension@0.9.0
Minor Changes
35e3d69: fix!: rebuild against eve 0.49.0 and raise the
evepeer floor to>=0.48.0No source changed. The extension's
distis rebuilt with eve 0.49.0, which re-stamps the manifest'stool contract 21 → 24 (every other contribution contract is unchanged). eve 0.48.0 is the first
release accepting tool 24, so the
evepeer moves">=0.47.0"→">=0.48.0".No 0.47.x works, including 0.47.7 — the tool contract moved twice in three releases (22 → 23 in
0.47.7, 23 → 24 in 0.48.0). On an unsupported eve the mount contributes nothing and
eve buildfails with
Selected module binding "extensions/agentkit.ts" has no compile or runtime usage.This supersedes the unreleased 0.47.6 rebuild (tool 22, floor
>=0.47.5), which never shipped.Patch Changes
@upstash/agentkit-sdk@0.9.0
Minor Changes
0117c2e: feat(sdk): typed indexed metadata on
AgentMemory, plusget/list/countAgentMemoryaccepts ametadataSchemaof Upstash Search field builders, whose values are suppliedper record as
metadataand can then be filtered on:The schema types everything:
metadataand eachfilterare derived from it, so a wrong operandtype or an undeclared field is a compile error rather than a query that quietly matches nothing. To
narrow a derived type, pass it as a second argument, constrained to the schema:
new AgentMemory<typeof schema, { source: "agent" | "userMessage" }>(…).Also new:
list({ userId, filter, limit })(filter-first, unranked),count({ userId, filter }),and
get({ userId, id })— a direct-key read, for when you have an id and a bounded search pagecould hide it.
Give an extended store its own
prefix. A stricter schema pointed at a keyspace that alreadyholds records written without those fields makes them permanently unreachable: Upstash Search does
not match a missing field against
{$eq: …}and has no$ne. OmittingmetadataSchemaleaves thestore exactly as it was.
Behaviour change:
recall()no longer falls back to "everything for the user" when aquerymatches nothing; it returns nothing, since the fallback made a miss indistinguishable from a hit.
Omitting the query is still how you ask for the whole set. This reaches every caller of
recall,including the memory tools in
@upstash/agentkit-ai-sdk,@upstash/agentkit-eveand the extension.@upstash/agentkit-ai-sdk@0.9.0
Patch Changes
ai-sdk-demo@0.1.4
Patch Changes
eve-demo@0.0.10
Patch Changes
eve-extension-demo@0.0.8
Patch Changes