Repository navigation
feat: migrate Codex REST to official SDK v5 - #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.
|
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.
Migrate document capture, profiles, search, the raw recall path, the status probe, and retained library helpers to exact-pinned
supermemory@5.0.1. Requests use the SDK's actual positional namespace/body/options contract, preserve source headers/custom prefixes/auth, normalize object facts and system timestamps, and keep the existing namespace strings, session IDs, metadata, fan-out, merge/dedup, local floor/caps, approvals, and hook budgets.Capture continues to POST new deltas to the same session document ID, never PATCH the last delta over canonical content. A valid ID and nonfailed v5 acceptance status are required before advancing the cursor. Processing stays memory/dynamic; acceptance isn't processing completion or exactly-once billing proof.
Compatibility and distribution
SUPERMEMORY_API_VERSION/apiVersionexplicitly selectv5orlegacy. There is no failed-request version fallback, hosted rerouting, data backfill, namespace move, or persisted-file conversion.Verification and limits
npm ci, typecheck, build, 70 unchanged tests, syntax/diff checks, and clean rebuild byte comparison pass. Git fixture tests useGIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/nullto prevent the sandbox's remote rewrite from changing expected namespace hashes. No test files are added or modified.Scratch-only probes cover 270 real requests to credential-free local HTTP sinks across Node 24.18.0 and actual Node 18.0.0: v5/legacy routes and bodies, prefix/auth/source, namespace encoding/filter fan-out, profile/search normalization, append-intent IDs, failed/malformed/lost-response acceptance, aborts and no hook retries, retained cursors and later recovery, raw-reader parity, status, and installed hooks without any node_modules. Cold npm installation with production dependencies also resolves both exact SDK pins. Config/key/URL precedence and normalized hosted identity pass 21 probes; original config/credentials/legacy cursor fixture bytes survive reads and the tested install. Publisher simulations keep this release at 1.0.20 and advance an ordinary next release to 1.0.21.
The deep library exports remain callable, but stock SDK5 unbounded requests have different retry statuses/backoff from SDK4: a local 409 fixture sends once on v5 versus three attempts on legacy. Installed automatic hooks already disable retries and retain the cursor on 409; documented explicit operations use the unchanged MCP proxy. This is not a full retry-parity claim for unknown external deep-import consumers.
No hosted memory API calls, live credentials, user devices, backend data changes, merge, tag, or publish. Historical backend data/key resolution, semantic ranking, delayed extraction, namespace isolation, server storage upgrades/rollback, exact-content deletion on a v5-only server, and exactly-once append/billing behavior remain unverified. The separated profile-query search uses the guide's explicit legacy defaults, not a claim that undocumented historical profile defaults have been measured.