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
- Created a new `useOrgOnboarding` hook that uses `org.metadata.isOnboarded` to track onboarding state
- Updated the home page to conditionally use either the old localStorage-based onboarding or the new DB-backed onboarding based on feature flag
- Added a "Restart Onboarding" option in the user dropdown menu
- Improved the onboarding chat sidebar with per-link loading indicators
- Enhanced the X/Twitter research API to better handle different URL formats
- Updated the integrations step to use the new onboarding completion method
- Added `updateOrgMetadata` function to the auth context for easier metadata updates
#### 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
### Add user display name functionality and enhance space management with emoji support and deletion capabilities.
### What changed?
- Added support for user display names, which are now stored and displayed throughout the app
- Implemented emoji support for spaces (projects), allowing users to customize their space icons
- Created a new `AddSpaceModal` component with emoji picker for creating spaces
- Added space deletion functionality with options to move content to another space or delete everything
- Enhanced the space selector UI to show emojis and delete options
### TL;DR
Redesigned the browser extension UI with a dark theme and improved the Twitter bookmarks import experience with a new onboarding flow.
### What changed?
- Added a new `RightArrow` icon component for UI navigation
- Completely redesigned the popup UI with a dark theme and improved layout
- Enhanced Twitter bookmarks import functionality:
- Added an onboarding toast that appears the first time a user visits the bookmarks page
- Implemented a persistent import intent system that automatically opens the import modal when navigating to the bookmarks page
- Created a progress toast to show import status
- Improved folder import UI
- Updated the extension icon and added a new logo SVG
- Improved the project selection modal with better styling
### TL;DR
TESTING REMAINING. This is my hypothesis. @MaheshtheDev please carry on from here or we can test in prod.
Added a proxy endpoint for OAuth authorization server metadata to support non-compliant MCP clients.
### What changed?
Added a new endpoint `/.well-known/oauth-authorization-server` to the MCP server that proxies requests to the main API. This endpoint fetches the authorization server metadata from the API and returns it to clients.
### How to test?
1. Make a GET request to `/.well-known/oauth-authorization-server` on the MCP server
2. Verify that it returns the same metadata as the main API's `/.well-known/oauth-authorization-server` endpoint
3. Test with a client that expects to find the authorization server metadata on the MCP domain
### Why make this change?
Some MCP clients don't correctly follow the OAuth specification. Instead of using the `authorization_servers` array provided in the protected resource metadata, they look for the authorization server metadata directly on the MCP server domain. This proxy endpoint ensures compatibility with these non-compliant clients without requiring them to be updated.
Added documentation for the new `context` prompt in the Supermemory MCP server that enables automatic user profile injection into AI conversations. Updated the MCP overview page with detailed parameter documentation and usage guidance, and added a changelog entry for December 30, 2025.
**Files changed:**
- `apps/docs/supermemory-mcp/mcp.mdx` - Added Prompts section with `context` prompt documentation
- `apps/docs/changelog/developer-platform.mdx` - Added December 30, 2025 changelog entry
Generated from [fix: prompt injection with mcp](https://github.com/supermemoryai/supermemory/pull/638) @MaheshtheDev
Add comprehensive documentation for the S3 connector including:
- Quick setup with TypeScript, Python, and cURL examples
- S3-compatible services support (MinIO, DigitalOcean Spaces, R2)
- Prefix filtering and dynamic container tag extraction
- Connection management and sync behavior
- IAM permissions and security best practices
Added comprehensive documentation for the new `promptTemplate` option in the AI SDK, which allows developers to customize how memories are formatted and injected into system prompts. This includes examples for XML-based prompting (Claude), custom branding, and the `MemoryPromptData` interface.
## Files Changed
- `apps/docs/ai-sdk/user-profiles.mdx` - Added "Custom Prompt Templates" section with examples and interface documentation
- `apps/docs/ai-sdk/overview.mdx` - Updated User Profiles section to mention customization capabilities
Generated from [feat: allow prompt template for @supermemory/tools package](https://github.com/supermemoryai/supermemory/pull/655) @MaheshtheDev
## Add customizable prompt templates for memory injection
**Changes:**
- Add `promptTemplate` option to `withSupermemory()` for full control over injected memory format (XML, custom branding, etc.)
- New `MemoryPromptData` interface with `userMemories` and `generalSearchMemories` fields
- Exclude `system` messages from persistence to avoid storing injected prompts
- Add JSDoc comments to all public interfaces for better DevEx
**Usage:**
```typescript
const customPrompt = (data: MemoryPromptData) => `
<user_memories>
${data.userMemories}
${data.generalSearchMemories}
</user_memories>
`.trim()
const model = withSupermemory(openai("gpt-4"), "user-123", {
promptTemplate: customPrompt,
})
```