Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-app | 730a790 | Commit Preview URL Branch Preview URL |
Apr 02 2026, 10:51 PM |
MaheshtheDev
left a comment
There was a problem hiding this comment.
@sreedharsreeram please update the package version and update the documentation for this packages with these new tools
5eb9bde to
6bb8c68
Compare
How to use the Graphite Merge QueueAdd the label Main to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Done! Please review |
|
@sreedharsreeram please fix merge conflicts |
6bb8c68 to
3bdf7d3
Compare
Confidence Score: 2/5 - Changes NeededNot safe to merge — the new Key Findings:
Files requiring special attention
|
|
Claude finished @sreedharsreeram's task in 1m 25s —— View job PR Review Complete
Summary: This PR adds hybrid/documents search modes for RAG applications. The concerns raised by earlier reviewers have been addressed:
Score: 9/10 — Ready to ship. |
There was a problem hiding this comment.
Overview: Adds hybrid/documents search modes for RAG and makes conversationId a required parameter.
Issues found:
-
Critical: ReferenceError in
memory-client.ts:329—memoriesResponseis referenced outside its scope. WhenuseHybridSearchis true (hybrid/documents mode), this will throw a ReferenceError at runtime sincememoriesResponseis only defined in theelsebranch. -
Documentation mismatch — All README examples use the old 3-argument signature
withSupermemory(model, containerTag, options)but the API now requires 4 arguments withconversationIdas required positional parameter. -
Breaking change flagged by other reviewers — The
withSupermemorysignature change from(model, containerTag, options?)to(model, containerTag, conversationId, options?)is a breaking change that should warrant a major version bump (2.0.0), not minor (1.5.0).
Score: 5/10
The hybrid search feature looks well-designed, but the ReferenceError will crash any usage of hybrid/documents mode. This needs to be fixed before merge.
Prefix unused variables with underscore and fix formatting in memory-client. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Confidence Score: 1/5 - Blocking IssuesNot safe to merge — the Key Findings:
Files requiring special attention
|
Confidence Score: 1/5 - Blocking IssuesNot safe to merge — this PR introduces two critical runtime-breaking bugs that will cause immediate failures in production. In Key Findings:
Files requiring special attention
|
There was a problem hiding this comment.
Overview: Adds hybrid/documents search modes for RAG and makes conversationId a required parameter.
Issues found:
-
Critical: ReferenceError in
memory-client.ts:335—memoriesResponseis referenced outside its scope. WhenuseHybridSearchis true (hybrid/documents mode), this will throw a ReferenceError at runtime sincememoriesResponseis only defined in theelseblock at line 274. -
Documentation mismatch — All README examples (lines 193, 220) use the signature without the now-required
conversationIdfield. Sinceoptionsis now required withconversationId: string, examples likewithSupermemory(openai("gpt-4"), "user-123", { mode: "full" })will fail TypeScript compilation. -
Breaking change — Making
optionsrequired andconversationIdrequired within it is a breaking change. TypeScript will catch this at compile time (not a silent failure), but it warrants a major version bump (2.0.0) rather than minor (1.5.0).
Score: 4/10
The hybrid search feature is well-designed, but the ReferenceError will crash any usage of hybrid/documents mode. This must be fixed before merge.
Confidence Score: 1/5 - Blocking IssuesNot safe to merge — this PR contains a confirmed runtime Key Findings:
Files requiring special attention
|
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Confidence Score: 4/5 - Mostly SafeLikely safe but review recommended — this PR introduces Key Findings:
Files requiring special attention
|
There was a problem hiding this comment.
Overview: Adds hybrid/documents search modes for RAG and makes conversationId required.
Good news: The ReferenceError bug flagged by earlier reviewers has been fixed in this version. The code now properly declares rawSearchResults at function scope (line 216), avoiding the scoping issue where memoriesResponse was referenced outside its else block.
Issues found:
-
Documentation examples missing required field — All new examples in README.md and user-profiles.mdx are missing the now-required
conversationIdfield. Users following the docs will get TypeScript errors. See inline comments for suggested fixes. -
Breaking API change — Making
optionsrequired andconversationIdrequired within it changes the public API signature fromwithSupermemory(model, tag, options?)towithSupermemory(model, tag, options)where options must includeconversationId. This is technically a breaking change that would warrant a major version bump (2.0.0) under strict semver. However, TypeScript will catch this at compile time (not a silent failure), so the impact is manageable.
Score: 8/10
The hybrid search feature is well-implemented and the previous scoping bug has been fixed. The only blocking issues are the documentation examples that won't compile. Once those are updated, this is good to ship.
Confidence Score: 4/5 - Mostly SafeSafe to merge — the PR cleanly introduces hybrid RAG search support through well-scoped additions to Key Findings:
Files requiring special attention
|
Break long conditionals across multiple lines and use single quotes for string containing escaped double quotes. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Overview: Adds hybrid/documents search modes for RAG, enabling search across both memories AND document chunks via a new /v4/search endpoint.
Issues found: None — the concerns raised by earlier reviewers have been addressed in this version.
Clarifications on previous review concerns:
-
ReferenceError (FIXED): The
memoriesResponsescoping bug flagged in earlier reviews has been fixed. The code now properly declaresrawSearchResultsat function scope (memory-client.ts:216-219), so it's always accessible regardless of which branch executes. -
Breaking API change (NOT an issue): The
withSupermemorysignature remains(model, containerTag, options?)withconversationIdstaying optional insideoptions. The only change is a new runtime validation: ifaddMemory: "always"is set, thenconversationIdis now required (vercel/index.ts:131-134). This is a stricter validation for a specific use case, not a positional argument change. -
Documentation examples (CORRECT): The hybrid search examples in README.md and user-profiles.mdx don't have
addMemory: "always", so they correctly omitconversationId. Only examples that persist conversations need it.
What's well done:
- Clean separation between hybrid search path and legacy profile search path
- Proper error handling in both
supermemoryHybridSearchandsupermemoryProfileSearch - Good use of TypeScript types for
SearchModeandSearchResultItem - Clear JSDoc documentation throughout
Score: 9/10
This is ready to ship. The hybrid search feature is well-implemented and the earlier scoping bug has been properly resolved.
Confidence Score: 4/5 - Mostly SafeSafe to merge — this PR cleanly introduces hybrid search support via a new Key Findings:
Files requiring special attention
|
Confidence Score: 4/5 - Mostly SafeSafe to merge — this PR cleanly introduces hybrid search (RAG) capability and conversation-scoped memory enforcement to Key Findings:
Files requiring special attention
|
There was a problem hiding this comment.
Overview: Adds hybrid/documents search modes for RAG via a new /v4/search endpoint, enabling search across both memories AND document chunks.
Issues found: None — this looks good to ship.
Clarifications on previous review concerns:
-
ReferenceError (FIXED): The scoping bug where
memoriesResponsewas referenced outside itselseblock has been properly fixed. The code now declaresrawSearchResultsat function scope (memory-client.ts:216-219), so it's always accessible regardless of which branch executes. -
Breaking API change (NOT an issue): The
withSupermemorysignature remains(model, containerTag, options?)withconversationIdstaying optional insideWrapVercelLanguageModelOptions(vercel/index.ts:17). The only change is a new runtime validation: ifaddMemory: "always"is set, thenconversationIdis required (vercel/index.ts:131-138). This is defensive programming — TypeScript will catch it at compile time if you have proper types, and runtime throws a clear error message. This is not a breaking change for existing callers. -
Documentation (CORRECT): The hybrid search examples correctly omit
conversationIdwhen not usingaddMemory: "always". Examples that do useaddMemory: "always"now includeconversationId.
What's well done:
- Clean separation between hybrid search path and legacy profile search path in
buildMemoriesText - Proper error handling in both
supermemoryHybridSearchandsupermemoryProfileSearch - Good TypeScript types for
SearchModeandSearchResultItem - Clear JSDoc documentation throughout
- Appropriate minor version bump (1.5.0) for additive, non-breaking features
Score: 9/10
Confidence Score: 4/5 - Mostly SafeLikely safe but review recommended — this PR introduces Key Findings:
Files requiring special attention
|

No description provided.