48 Commits
Author SHA1 Message Date
Prasanna 66ce7f8c78 fix docs icons in dark mode (#1735) 2026-09-30 22:00:27 +00:00
Prasanna721 8a4d9d76ae release memory graph 0.2.4 (#1686)
Before: npm serves 0.2.3 without the merged fixes.

After: merging publishes 0.2.4 with the theme, initial fit, and node settling fixes.

Validation: package typecheck and build passed.
2026-09-18 21:44:52 +00:00
Prasanna721 2a6dcda7f6 fix graph styling and initial layout (#1684)
**Before:** Console lost its theme and dots. Incoming nodes needed a drag to reorganize, fit missed later pages, and clicks or drag release could leave the layout moving.

**After:** Restore themed rendering with configurable dots. Automatically settle and fit incoming nodes, keep clicks from reheating forces, and cool the layout after drag release.

**Checked:** Package types/build and Console build linked to this package.

Console companion: [mono#3295](https://github.com/supermemoryai/mono/pull/3295).
2026-09-18 21:18:33 +00:00
Prasanna 8652a0e5ea add eve docs and refresh integrations (#1671) 2026-09-16 15:24:08 -07:00
Prasanna721 9cbddcec56 docs: historical backfill guide (#1474)
Adds a focused guide for backfilling dated documents with `documentDate` and the batch ingestion API.

- includes TypeScript and Python batch examples plus optional completion polling
- links the guide from the docs navigation and ingestion entry points

Validated with `bunx mintlify@latest validate` and `bunx mintlify@latest broken-links`.
2026-08-14 20:46:21 +00:00
Prasanna721 bf81cb94ea add ChatGPT default memory FAQ (#1423)
Adds one FAQ to the ChatGPT Web setup guide for making Supermemory the default memory.

- shows how to disable ChatGPT memory and optionally move the existing summary
- adds light and dark screenshots plus the custom instruction to paste

Tested with `mintlify validate` and `mintlify broken-links`.
2026-08-07 01:14:03 +00:00
Prasanna721 4d86b728dd update supermemory mcp docs (#1408)
Updates the Supermemory MCP docs for the revamped tool, space, widget, and OAuth flows.

- adds a screenshot-backed ChatGPT Web setup guide with light and dark variants
- refreshes the overview, setup, tools, spaces, and widget docs
- keeps manual JSON configuration in a dropdown

Tested all four local MCP docs routes and image references.

for mcp image light mode -> dark mode images and dark mode has light mode (since the background was blending in i made this way to refocus user attention on the screenshots)
2026-08-04 19:58:49 +00:00
Prasanna721 a99cf4f7e1 fix mcp graph and file uploads (#1397)
Fixes cross-host graph rendering and moves widget uploads off the JSON/base64 tool transport.

- render graph data from the launcher result without a second tool call
- stream multipart uploads through one-time, short-lived upload sessions
- remove temporary widget diagnostics and redundant unit tests

Tested with Biome, TypeScript, 17 unit tests, a Wrangler deployment dry-run, and live graph rendering in ChatGPT and Claude. Authenticated E2E setup is currently blocked by the saved OAuth refresh session returning `invalid_grant: session not found`.
2026-08-04 18:58:14 +00:00
Prasanna721 434c86e2c3 fix docs image pipeline (#1411)
Keep docs asset URLs repo-root-relative and pass images as literal MDX children so Mintlify can compile them through OptimizedImage under the /docs mount.

Mintlify's official guidance says: “Image paths are root-relative from your docs repository.” It also says relative paths such as `./screenshot.png` are unsupported. See [Image embeds](https://www.mintlify.com/docs/create/image-embeds).

The existing `/images/...` paths were correct. The failure came from passing them through custom-component string props, which kept Mintlify from seeing those images during its MDX transform.

- fix hero, building-block, and Slack avatar images
- preserve Slack avatar clipping
- normalize Hermes and Company Brain icon sizing

Tested with Mintlify validation, broken-link checks, and browser checks across every changed route.
2026-08-04 04:55:50 +00:00
Prasanna721 05aab3a09f fix docs links and assets (#1407)
Fixes broken docs navigation and asset paths from the site audit.

- serves docs images from `/images` and adds the missing Cartesia icon
- corrects homepage, console, and LinkedIn destinations
- removes agent-only comparison headings from the web TOC

Tested with Mintlify validate and Mintlify broken-links.
2026-08-04 00:04:41 +00:00
Prasanna721 7e7e820489 fix mcp app contracts (#1394)
Fixes MCP app submission metadata and makes widget delivery consistent across hosts.

- content-hash widget resources and set the production widget domain
- add typed structured outputs to direct tools and scope default-space calls
- keep graph rendering compatible with both initial results and app-side loading

Tested with `bun run check-types` and `bun run test:unit` (42 tests).
2026-08-01 06:41:17 +00:00
Prasanna721 68769200b0 validate MCP OAuth login flow (#1395)
Adjusts login handling for a limited credential-validation flow. Normal Google and magic-link sign-ins are unchanged for other accounts.

Tested with direct login validation and a production build.
2026-08-01 05:15:22 +00:00
Prasanna721 48fb1969f8 fix chatgpt memory graph rendering (#1393)
ChatGPT can omit nullable nested fields from structured tool results and does not reliably expose result metadata to MCP Apps. Keep graph data in `structuredContent`, tolerate missing document titles, and bundle React inside the widget so the graph renders consistently across hosts.

- use the deployable `app-v4` resource URI
- keep the graph response and widget schema aligned
- remove the `esm.sh` runtime dependency

Tested with typecheck, 42 unit tests, production widget build, 36 branch-local authenticated E2E tests, and a live ChatGPT graph render.
2026-07-31 21:20:15 +00:00
Prasanna721 9e194fbc50 fix MCP app result contracts (#1385)
Moves MCP App results onto explicit runtime schemas so hosts can distinguish model-visible output from widget-only graph data.

- advertises output schemas for structured tools
- validates API, session, and widget boundaries instead of asserting response types
- marks additive app writes as non-destructive and removes redundant widget typing

Verified with MCP typecheck, 42 unit tests, and the production widget build. Claude Desktop host validation is in progress against a temporary tunnel.
2026-07-31 18:23:29 +00:00
Prasanna 04e5b4dccf fix clipped space picker (#1381) 2026-07-30 19:15:23 -07:00
Prasanna721 95a34602b7 register SpaceState durable object (#1376)
Registers `SpaceState` before the stateless MCP starts routing requests through it. The class is intentionally unused here, so this changes no request behavior.

Rollout:
1. Apply this exact commit once with `wrangler deploy`, not `wrangler versions upload`.
2. Rerun the Workers check and merge this parent PR.
3. Land #1120, which adds the active-space methods and request routing.

Verified with the MCP widget build, isolated class typecheck, and Wrangler deploy/version dry runs.
2026-07-30 21:28:22 +00:00
Prasanna721 949413d98e fix mcp consent org restore (#1126)
Stops Nova's saved active org from overriding the org picked on the MCP OAuth consent page.

- skips localStorage org restoration on `/oauth/consent`
- keeps normal Nova org restore behavior everywhere else

Testing:
- `bunx biome check --write packages/lib/auth-context.tsx`
- `bun run --filter @repo/web lint` passes with existing warnings
- `bunx tsc --noEmit --project apps/web/tsconfig.json` fails on existing unrelated type errors outside this change
2026-06-16 21:19:06 +00:00
Prasanna721 e75349d82c fail closed on mcp approve (#1123)
The consent screen now fails the approve action if the MCP scope bind fails, if the OAuth consent response omits a redirect URL, or if approve tries to send the user back into a signed Better Auth interaction URL.

That prevents the UI from showing Access authorized while Claude never receives the callback.

Testing:
- bunx biome check --write apps/web/app/oauth/consent/page.tsx
- bun run --filter @repo/web lint (passes with existing warnings outside this file)
- bunx tsc --noEmit --project apps/web/tsconfig.json (fails on existing unrelated app errors)
2026-06-16 19:42:59 +00:00
Prasanna721 8de01a49d3 fix oauth resume redirect (#1122)
Fix the Claude Desktop MCP OAuth resume path after login/org selection.

- drop stale signed Better Auth params before resuming \`/oauth2/authorize\`
- consume \`prompt=login\` so approve can continue to consent/code redirect instead of looping back to login

Tested with \`bunx biome check apps/web/app/'(auth)'/login/page.tsx\`.
2026-06-16 18:31:35 +00:00
Prasanna721 651e304735 feat(web): MCP OAuth consent page (#1118)
Consent + connect UI for the new OAuth 2.1 provider. The API side lives in mono#1812 (stacked on the Enterprise MCP PR). When an MCP client starts OAuth, this is the page where you pick the org and approve access.

What's here:

- `/oauth/consent`: the consent screen. Pick an organization (cards), then set access: permission (read / read+write) and scope (full, or scoped to specific container-tag spaces with a searchable picker). Approving hands the code back to the client.
- `/connect`: plugin-aware entry for known clients (Claude Code, etc.).
- `ConsentCard.tsx`: shared card component (org list with fade, dual-icon connecting header, scoped-spaces picker), built to reuse across plugins.
- plus a fix to the mcp resource metadata.

Pairs with mono#1812 (the API OAuth provider) and the Enterprise MCP PR. Draft until the end-to-end flow is verified.
2026-06-16 17:33:09 +00:00
Prasanna 0b5081698c docs: fix s3 connector config shape (#941) 2026-05-13 12:40:22 -07:00
c01e3a3de0 docs: SMFS documentation — providers, Python bash tool, examples (#889)
Co-authored-by: Dhravya <63950637+Dhravya@users.noreply.github.com>
Co-authored-by: docs <docs@supermemory.ai>
2026-04-28 20:04:15 -07:00
a91136dad8 MCP connector fix (#849)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-10 21:20:41 -07:00
Prasanna721 543c45a626 fix(mcp): fix broken memory graph and improve UI design (#837)
## Summary
- Fixed memory graph stuck on "Loading graph data..." caused by field name mismatch after package rewrite (`memoryEntries` vs `memories`, `type` vs `documentType`)
- Improved MCP app UI to match console-v2 design: golden derives edges (#FBBF24), edge glow pass, node hover effects, dot mode at low zoom, vertical controls with keyboard shortcuts, expandable legend
- Synced local `memory-graph` edgeDerives constant with published npm version

## Test plan
- [ ] Run `cd apps/mcp && bun run dev`, connect via Claude Desktop
- [ ] Verify graph renders with golden derives edges and blue dashed extends edges
- [ ] Verify node hover/selection glow effects
- [ ] Verify Fit (Z), Center (C), zoom (+/-) keyboard shortcuts
- [ ] Verify legend expands/collapses
2026-04-08 21:21:10 +00:00
Prasanna721 c012f3b5c4 fix stale session cookie (#823)
- redirect to login when session is gone instead of blank screen
- show cached username while session restores so header doesn't flicker
- cleaned up redundant type casts and unused vars
2026-04-03 01:55:24 +00:00
Prasanna721 694ad8123a fix: remove useQuery wrapper around synchronous billing checks (#805)
#### fix: billing subscription status race condition

 - **Bug fix**: Replaced `fetchSubscriptionStatus` (useQuery wrapper) with `getSubscriptionStatus` (pure function) — fixes intermittent "Upgrade to Pro"
  failures caused by stale cached billing state
  - **Anti-pattern**: Removed `fetchConnectionsFeature` useQuery wrapper, replaced with direct `autumn.customer?.features?.connections` read
  - **Dead code**: Removed unused `useMemoriesUsage` hook and `fetchMemoriesFeature`
2026-03-26 05:29:53 +00:00
Prasanna721 55ef8ab899 fix: billing gate broke for scale/enterprise and downgraded users (#794)
The subscription check on plugins, connections, and usage pages was hardcoded to only look at `api_pro`. Users on scale or enterprise plans saw "Upgrade to Pro" and couldn't create plugin keys or manage connections.

Also, the check only looked at product `status` but not the `allowed` flag from autumn — so users who downgraded but were still in their billing period got locked out early.
2026-03-22 16:05:08 +00:00
Prasanna721 2470d81486 skip claude review for bot PRs (#779)
Skip code review workflow when PR is created by Graphite or Dependabot bots — they were triggering the review, failing, and showing a false red X.
2026-03-10 16:53:56 +00:00
Prasanna721 a0514e7a44 add ci, auto-fix, and upgrade code review workflows (#776)
Add CI and upgrade Claude workflows

 No CI existed — type errors and lint issues only caught by Cloudflare builds. Added type check + biome lint CI on PRs, auto-fix workflow when CI fails, and
  upgraded code review with supermemory MCP + inline comments.
2026-03-10 07:20:45 +00:00
Prasanna721 6883a68c06 feat: add plugin auth connect page (#764)
feat: add plugin auth connect page

Add /auth/connect page for plugin OAuth flow with callback origin validation, user consent step, and upgrade gate.
2026-03-05 21:34:27 +00:00
Prasanna721 2bbc7fc7a5 feat(mcp): add interactive memory graph MCP App visualization (#763)
### feat(mcp): add memory graph visualization MCP App

#### Summary
  - Add interactive force-directed graph visualization as an MCP App using `force-graph` + `d3-force-3d`
  - Register `memory-graph` and `fetch-graph-data` tools with MCP Apps SDK UI resources
  - Add graph API client methods (`getGraphBounds`, `getGraphViewport`) to `SupermemoryClient`
  - Set up Vite + `vite-plugin-singlefile` build pipeline to produce a self-contained HTML bundle
  - Support light/dark theme, zoom controls, node popups, and legend

  #### Files changed
  - `apps/mcp/src/server.ts` — register app tools + HTML resource
  - `apps/mcp/src/client.ts` — add graph API types and methods
  - `apps/mcp/src/ui/mcp-app.ts` — force-graph visualization app
  - `apps/mcp/src/ui/global.css`, `mcp-app.css` — styling
  - `apps/mcp/mcp-app.html` — entry HTML for Vite
  - `apps/mcp/vite.config.ts` — Vite single-file build config
  - `apps/mcp/package.json` — add UI deps and build scripts
  - `apps/mcp/wrangler.jsonc` — add HTML text import rule
2026-03-05 16:28:34 +00:00
Prasanna721 c82dcdc30a fix(mcp): hide containerTag from tool schemas when x-sm-project header is set (#749)
### fix(mcp): prevent LLM from overriding x-sm-project container tag

- When `x-sm-project` header is configured, the `containerTag` field is now
    excluded from memory/recall/context tool schemas
 - This prevents LLMs from overriding the configured project by picking a
    different containerTag from the available projects list
  - When no header is set, behavior is unchanged — containerTag remains visible
    in schemas for manual project selection via listProjects
2026-02-20 04:34:57 +00:00
Prasanna721 7339822997 fix: space deletion state cleanup and single-select for add document (#748)
fix: space deletion + new space not reflecting in selector

Deleting a space wasn't switching back to Nova Spaces because we were reading stale cache data

  New spaces created from the add-document modal weren't showing up in the dropdown

  Added single-select mode to the space selector in the add-document flow since you're picking one space, not multiple.
2026-02-19 07:09:47 +00:00
Prasanna721 cc2dcaa306 fix: space deletion not switching to Nova Spaces and new space not appearing in dropdown (#747)
### fix: space selector state bugs on create and delete

Two related bugs in the space selector caused by query cache key mismatches in `use-project-mutations.ts`:

1. New spaces not appearing in dropdown until refresh — wrong query cache was being invalidated after creation.
 2. App stuck on deleted space instead of switching to Nova Spaces — delete handler was reading from an empty cache, so the selection never updated.
2026-02-19 06:54:32 +00:00
Prasanna721 cda3bca0d0 docs: add FAQ section to OpenClaw integration page (#746)
docs: add FAQ section to OpenClaw integration page

 Added FAQ section below Manual Configuration with 5 questions covering installation, custom container tags for Twitter
  bookmarks, work/personal memory separation, non-technical setup via agent, and per-channel session memory separation with
  feature request CTA.
2026-02-18 06:02:41 +00:00
Prasanna721 e40176088a docs: update OpenClaw integration docs v2 (#743)
### docs: OpenClaw integration v2 documentation

Restructure OpenClaw docs for Openclaw v2
2026-02-17 06:20:48 +00:00
Prasanna721 15613c2421 feat: change "All Spaces" to "Nova Spaces" with multi-select support (#731)
### Implemented nova spaces multi-select

  ##### Summary
  - Renamed "All Spaces" to "Nova Spaces" - now filters to only nova content (sm_project_*)
  - Added multi-select spaces support via "Select Spaces" modal
  - Projects API now returns `{ nova, developer }` instead of `{ projects }`

  ##### Changes
  - `selectedProject` → `selectedProjects[]` (array-based selection)
  - New `SelectSpacesModal` component for picking multiple spaces
  - Selected spaces appear at top in modal
  - Search works by containerTag
  - Graphs filter by selected spaces
2026-02-13 21:34:58 +00:00
Prasanna721 b439e7ea01 fix: chat messages saving broken (#730)
1. New chat messages saving to old thread (race condition)
2. Feedback modal null handling issue (boolean | null not coerced to boolean)
3. Wrong icon on Integrations tab (was Cable, now Sun)
4. Wrong icon on Graph tab (was LayoutGridIcon, now GraphIcon)
  5. Missing cursor pointer on header tabs
  6. Default view was "graph" instead of "list"
2026-02-11 00:25:35 +00:00
Prasanna721 11a0abd5c0 feat: migrate to api_pro billing and add credits-based usage display (#729)
Summary

  - Migrate from consumer_pro to api_pro billing product across the app
  - Enable Nova app for all users (remove feature flag)
  - Add credits-based usage tracking with tokens abstraction
2026-02-10 05:53:47 +00:00
Prasanna 1ad3c8b492 trigger: Mintlify build (#725) 2026-02-04 14:56:37 -07:00
Prasanna721 f9506d6a24 fix: mintlify build\ (#724)
Testing mintlify build
2026-02-04 20:36:56 +00:00
Prasanna721 9a0f366ff6 docs: add entity context documentation and fix MDX parsing (#723)
Add entity context documentation to customization and add-memories pages, remove nav icons from Developer Platform, fix install.md parsing error

 Changes:
  - Remove icons from Developer Platform subheadings (Getting Started, Concepts, Using supermemory, Connectors and sync, Migration Guides)
  - Add Entity Context section to customization page with usage example and accordion for advanced API
  - Add entityContext parameter to add-memories Parameters table and examples accordion
  - Fix MDX parsing error in install.md (wrap curly braces in backticks)
2026-02-03 22:53:21 +00:00
Prasanna721 a2a0a266eb docs: add Claude Code integration page (#716)
### update Claude Code docs in integration page

 - Add apps/docs/integrations/claude-code.mdx — documentation for Claude Code Supermemory plugin
  - Add apps/docs/images/claude-code-icon.svg — custom sidebar icon
  - Add apps/docs/images/claude-code-supermemory.png — hero image
  - Update apps/docs/docs.json — add claude-code to Plugins navigation group

### validation
<img width="3046" height="1536" alt="Screenshot 2026-01-29 at 12 50 06 PM" src="https://github.com/user-attachments/assets/5180f237-f886-47a5-a0b3-7436cebd610a" />
2026-01-29 21:02:38 +00:00
Prasanna721 efd6c133e6 docs: add ClawdBot integration page (#714)
Clawdbot docs

Changes:
  - Added integrations/clawdbot.mdx — ClawdBot Supermemory Plugin documentation page with shrimp icon
  - Added "Plugins" group to the bottom of the Integrations sidebar in docs.json
  - Page covers: API key setup (zsh/bash/PowerShell), plugin install, how it works (auto-recall/auto-capture), features (AI
  tools, slash commands, CLI), manual configuration, and advanced options
2026-01-27 22:18:18 +00:00
Prasanna721 0a8c5fa049 Re - feat(pipecat-sdk): add speech-to-speech model support (Gemini Live) (#683)
#### RE-RAISING Pipecat live speech PR

### Added native speech-to-speech model support

### Summary:
  - Speech-to-speech support - Auto-detect audio frames and inject memories to system prompt for native audio models (Gemini Live, etc.)
  - Fix memory bloating - Replace memories each turn using XML tags instead of accumulating
  - Add temporal context - Show recency on search results ([2d ago], [15 Jan])
  - New inject_mode param - auto (default), system, or user

### Docs update
  - Update the docs for native speech-2-speech models
2026-01-21 03:58:26 +00:00
Prasanna721 ced23c7ea2 pipecat-sdk (#669)
### Changes

 - New documentation page: apps/docs/voice-realtime/pipecat.mdx
  - Installation guide for supermemory-pipecat package
  - Configuration with SupermemoryPipecatService and InputParams
  - Pipeline integration guide
  - How it works (Memory Retrieval, Context Enhancement)
  - Memory modes table (profile, query, full)
  - Configuration options with InputParams
  - Complete FastAPI voice agent example
 - Updated docs.json:
  - Added new "Voice & Realtime" group under SDKs tab with mic icon
  - Removed external npm/pypi link pages from SDK sidebar

### Files Changed

 apps/docs/voice-realtime/pipecat.mdx  (new)
 apps/docs/docs.json                   (modified)

### Navigation

SDKs → Voice & Realtime → Pipecat

#
2026-01-13 05:44:44 +00:00
Prasanna d015036b05 pipecat-sdk (#663) 2026-01-10 15:19:31 -08:00
Prasanna 7e79e227d3 docs: added MemoryBench documentation (#630) 2025-12-24 11:01:26 -08:00