Repository navigation
feat: migrate to API v5 with legacy server compatibility - #68
Merged
Merged
Conversation
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
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.
API v5 without rekeying existing installations
Release 2.1.19 uses pinned official
supermemory@5.0.1for the hosted API. Existing container tags become namespace paths,customIdbecomes the documentid, and extraction context becomessupportingContext. Six-hour shared capture/manual-save IDs, metadata, last-turn capture, tool aliases, configuration/env/key precedence, and processing defaults remain. Saves use POST append/diff with memory/dynamic processing; malformed, failed, or unknown-state acknowledgments are rejected.Search explicitly retains memories mode, threshold 0.6, no reranking/rewrite, and existing tool limits. Queried profiles request profile and search concurrently; object facts become text and search timestamps come from
system. Exact forgetting requires documented arrays/match fields and checks the v5 per-ID outcome. Wipe validates stable pagination totals, exact page cardinality and complete unique root document enumeration before any DELETE, then checks partial batch outcomes rather than claiming full success. No semantic bulk forget or document PATCH replacement is introduced.Custom-server compatibility and delivery
Custom endpoints default to the pinned official v4 SDK through the external
supermemory-legacydependency.apiVersion/SUPERMEMORY_API_VERSIONallow explicit v5 opt-in or legacy rollback; configuration takes precedence. Equivalent hosted root spellings normalize to v5. Custom URL prefixes and bearer/source headers are preserved, with no failed-write negotiation or hosted fallback.Both source and runtime host entrypoints are retained. The build externalizes both declared runtime SDKs, the Bun lock is updated, and prepack rebuilds the shipped runtime. Configuration files are not rewritten; the changelog warns against rerunning setup, which replaces advanced options. PRs #25, #62, #66 and #67 remain separate: no capture-management skip, metadata stamping, publishing or CI changes, and legacy forget behavior is unchanged.
Verification and limits
No hosted memory API, real credentials, backend migration, live publish, tag or merge was used. Historical backend data/ranking/processing and server-upgrade rollback are unverified. Split profile search uses an explicit ten-result limit; the legacy profile endpoint's undocumented search limit/ranking cannot be proved equivalent offline. Existing SDK policy stays 60 seconds per attempt and two retries, not exactly-once billing; SDK timeout bounds headers, not stalled response bodies, and v5 surfaces 409 without retrying.