Skip to content

Fix role-label leakage and add a local Supermemory server - #10

Closed
jhaynie wants to merge 2 commits into
supermemoryai:mainfrom
jhaynie:provider-fixes-and-local-server
Closed

jhaynie wants to merge 2 commits into
supermemoryai:mainfrom
jhaynie:provider-fixes-and-local-server

Conversation

@jhaynie

@jhaynie jhaynie commented Oct 1, 2026

Copy link
Copy Markdown

Summary

npm run supermemory:up
  read .env                         # gitignored
  if the base URL is Azure Foundry
    start azure-shim                # max_tokens -> max_completion_tokens
    point the server at the shim
  start supermemory-server 0.0.8    # localhost:6767, local embeddings
  write .env.local                  # SUPERMEMORY_API_KEY, SUPERMEMORY_BASE_URL
  add a document and search it

Turns are stored as separate [user] and [assistant] blocks, so the next role label is not part of the memory text. supermemory() passes through the Supermemory SDK client options, including baseURL.

Live evals from upstream pull request #1 are ported onto the memory provider. They were not merged as a git merge because that branch still targets the old extension layout.

Evidence

  • Before: a self-hosted boot with no model key exits immediately. With Azure Foundry, memory extraction fails: Unsupported parameter: 'max_tokens'.
    After: npm run supermemory:up against Foundry deployment gpt-5.6-luna printed READY: http://127.0.0.1:6767 stored and searched document yyqns8MAzsPPAEVQaaLgC9. The server log showed memory agent completed (5209ms, 1 memories).
  • Before: conversation text user: … best\nassistant: … could be stored as "best assistant".
    After: npm test is 7 pass, 0 fail, including the issue 7 string and client option passthrough.

.env, .env.local, and .env.supermemory match .gitignore (.env*) and are not in this branch.

Merge Danger

Door: two-way

Revert the branch. The Docker volume is local and is not part of the repo.

Blast Radius: provider behavior

New captures use [user] / [assistant] blocks. Client construction now forwards SDK options and reads SUPERMEMORY_BASE_URL. The Docker files are not in the published files list (dist only).

…port live evals.

Conversation turns are stored as [user] and [assistant] blocks so extraction does not treat the next role as a word in the previous message.

supermemory() forwards SDK client options and leaves omitted fields to the SDK, including SUPERMEMORY_API_KEY, SUPERMEMORY_BASE_URL, and SUPERMEMORY_LOG.

Upstream PR #1 conflicted with the memory-provider rewrite, so the live evals follow the current tools, Eve's session API, and the opaque scope key.
@jhaynie jhaynie closed this Oct 1, 2026
@jhaynie
jhaynie deleted the provider-fixes-and-local-server branch October 1, 2026 14:58
@jhaynie
jhaynie restored the provider-fixes-and-local-server branch October 1, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant