Commit graph

370 commits

Author SHA1 Message Date
ved015
60136ea47a fix(tools): harden cross-SDK memory middleware 2026-08-24 21:33:43 +05:30
Dhravya Shah
7fa452b6b8 feat(tools): SDK-level cross-source memory deduplication
Move profile deduplication into the SDK middleware. Facts are normalized
(strip leading date, trim, collapse whitespace, casefold) and deduplicated
in static > dynamic > search priority within each request, then injected as
one owned <supermemory> block that replaces the previous block instead of
accumulating. Dedup is mode-aware so query-mode search results are not
dropped against an omitted profile. No global/browser Set: request-local
only, safe for concurrent requests and Cloudflare Workers.

Covers AI SDK, OpenAI Chat/Responses, Mastra, and VoltAgent.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-24 20:31:15 +05:30
ved015
80ccb5cc65 chore: merge latest stacked SDK fixes 2026-08-24 19:59:51 +05:30
ved015
6180c047f7 fix(openai-sdk-python): harden middleware requests 2026-08-24 19:59:51 +05:30
ved015
a1a6209ddb chore: merge latest stacked tools fixes 2026-08-24 19:59:47 +05:30
ved015
42ebf17b38 fix(tools): harden OpenAI middleware requests 2026-08-24 19:59:44 +05:30
ved015
9f5decb5e1 chore: merge latest stacked SDK fixes 2026-08-23 20:03:45 +05:30
ved015
ace3a767d7 chore: merge latest stacked tools fixes 2026-08-23 20:02:30 +05:30
ved015
5f9a417ec5 docs(ai-sdk): clarify multi-step memory tools 2026-08-23 20:02:21 +05:30
ved015
594e64b29d fix(tools): align v4 search and safe deletion 2026-08-23 20:01:54 +05:30
ved015
903d78e2ed fix(python-sdks): harden v4 integrations 2026-08-23 19:15:44 +05:30
ved015
e6ac26032e fix(ai-sdk): make seven-tool release publishable 2026-08-22 19:57:25 +05:30
ved015
8a1fae3bb7 chore: merge latest stacked changes 2026-08-22 19:57:18 +05:30
claude[bot]
7153801f11 fix(tools): resolve lint and format errors
- Replace `as any` with typed assertion in claude-memory.ts
- Apply Biome formatting fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-08-22 06:46:13 +00:00
ved015
d21d661380 fix(tools): harden seven-tool parity 2026-08-22 12:13:25 +05:30
ved015
d04bb3b7b1 chore: merge latest stacked changes 2026-08-22 12:10:44 +05:30
ved015
7cf0480b83 fix(openai-sdk-python): harden 7-tool parity 2026-08-21 21:59:32 +05:30
ved015
7eca7c7e53 Merge remote-tracking branch 'origin/main' into fix/openai-sdk-python-v4-api 2026-08-21 21:24:40 +05:30
ved015
183e9fba93 fix(openai-sdk-python): harden v4 migration 2026-08-21 21:24:38 +05:30
Rajarshi Datta
20410a6862
fix(ui): remove the unused, broken AnonymousAuth component (#1555) 2026-08-19 19:22:17 +05:30
Cursor Agent
f68bd30262
Merge origin/main into fix/openai-sdk-python-v4-api
Resolve pyproject.toml conflict by keeping supermemory>=3.50.0
(required for v4 API migration) and main's package version 1.0.5.

Co-authored-by: Dhravya Shah <dhravya@supermemory.com>
2026-08-18 15:20:49 +00:00
Dhravya
5d2b5855fe
feat(auth): AgentID sign-in button on the web login page (#1467)
## What?

Adds a "Continue with AgentID" button to the web app's login page, matching the existing Google/GitHub buttons (same `ExternalAuthButton` pattern, PostHog `login_attempt` capture, last-used badge).

- `packages/lib/auth.ts`: adds the `genericOAuthClient` plugin — generic OAuth providers sign in via `signIn.oauth2({ providerId })`, not `signIn.social`.
- `apps/web/app/(auth)/login/page.tsx`: the button, gated the same way as the other social buttons — always shown on cloud (`NEXT_PUBLIC_HOST_ID === "supermemory"`), opt-in elsewhere via `NEXT_PUBLIC_AGENTID_AUTH_ENABLED` (added to `.env.example`).

## Why?

Companion to supermemoryai/mono#2908, which registers an `agentid` generic OAuth provider (OIDC against auth.agentid.com) on the API so agents can authenticate with their AgentID identity. The consumer app talks to the same better-auth server, so it gets the same sign-in option. mono#2916 additionally auto-invites the agent's verified human owner to the agent's workspace.

Requires mono#2908 to be deployed for the button to work; until then the API rejects the unknown provider and the page shows its normal error state.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches authentication entry points and OAuth client configuration; risk is moderate because it extends login surface area but follows existing social sign-in patterns and is feature-flagged.
>
> **Overview**
> Adds **Continue with AgentID** on the web login page, using the same `ExternalAuthButton` flow as Google/GitHub (PostHog `login_attempt`, last-used badge, loading/error handling).
>
> The button calls **`signIn.oauth2({ providerId: "agentid" })`** instead of `signIn.social`, enabled by registering **`genericOAuthClient`** on the shared better-auth client in `packages/lib/auth.ts`.
>
> Visibility matches other social providers: shown on cloud when `NEXT_PUBLIC_HOST_ID === "supermemory"`, or elsewhere when **`NEXT_PUBLIC_AGENTID_AUTH_ENABLED`** is set (documented in `.env.example`). Depends on the API registering the `agentid` generic OAuth provider.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 90a32786a3. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2026-08-16 23:20:38 +00:00
Abhinav Kumar Singh
82dae50ef4
fix(tools): bound memory forget requests (#1451) 2026-08-13 19:11:00 +05:30
Abhinav Kumar Singh
9d64e0f950
fix: add type checks for TypeScript workspaces (#1447) 2026-08-13 17:55:50 +05:30
pawan
47152afc1d
fix(openai-sdk): cap supermemory to <3.5 so a fresh install imports (#1236) 2026-08-12 20:56:54 +05:30
Abhay Singh
14bcc92c31
fix(memory-graph): center arrow-key navigation in the visible graph area (#1337) 2026-08-12 20:56:23 +05:30
Abhay Singh
74b2201eeb
fix(memory-graph): stop painting expired memories as expiring (#1335)
Co-authored-by: Vedant Mahajan <vedant.04.mahajan@gmail.com>
2026-08-12 20:55:53 +05:30
Abhay Singh
a7efd817ec
fix(validation): reject non-positive page/limit in pagination query schemas (#1271) 2026-08-12 19:35:45 +05:30
Dhravya Shah
c449b2fe53 fix(python-sdks): migrate agent-framework, cartesia, and pipecat to v4 APIs
Use client.add and search.memories hybrid mode, improve profile memory
deduplication for string/pydantic items, and add dedupe unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 19:39:58 -07:00
Dhravya Shah
9c3f84b5cb feat(ai-sdk): re-export full Supermemory tool set from @supermemory/tools
Thin @supermemory/ai-sdk package now mirrors the canonical 7-tool surface
with updated tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 19:39:57 -07:00
Dhravya Shah
d5937b8b26 feat(tools): align 7-tool surface and refresh tool descriptions
Update shared tool descriptions (proactive search, documentAdd guidance),
export TOOL_DESCRIPTIONS from package index, and align OpenAI/AI SDK tool
schemas with memoryForget and document operations.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 19:39:50 -07:00
Dhravya Shah
1160c46ccc feat(openai-sdk-python): expand OpenAI tools to 7-tool parity
Add document_list, document_add, document_delete, get_profile, and
memory_forget alongside search_memories and add_memory. Includes
forget_memory HTTP helper and expanded tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 19:39:24 -07:00
Dhravya Shah
03849ce94f fix(openai-sdk-python): migrate tools and middleware to v4 Supermemory APIs
Replace deprecated search.execute and memories.add with search.memories
(hybrid) and client.add. Fix middleware container_tag param and dedupe
string/pydantic profile memory items.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 19:38:47 -07:00
vorflux[bot]
2731de5c06
fix(web): add Gmail connector logo (#1428)
Co-authored-by: Vorflux AI <249966464+vorflux[bot]@users.noreply.github.com>
2026-08-07 17:35:26 -07:00
Dhravya Shah
45585b4c0f
feat(web): add API Keys management in settings (#1426)
Co-authored-by: Mahesh Sanikommu <maheshthedev@gmail.com>
2026-08-07 12:44:40 -07:00
vorflux
8071a7b085 Add Nova workspace prompt settings (#1323)
Adds a dedicated Workspace Prompt editor for Company Brain organizations while preserving the existing Organization Context ingestion-filter controls for every organization manager.

## Changes

- Keeps Organization Context byte-for-byte unchanged and available independently to all organization managers.
- Adds Workspace Prompt as a separate Company-Brain-only section below it, using the established settings styling and contextual divider.
- Describes Workspace Prompt as persistent guidance that can shape operating preferences, priorities, source/tool choices, workflows, terminology, formatting, and communication style.
- Adds nullable, 1,500-character `workspacePrompt` support to shared request, GET response, and PATCH response contracts.
- Aligns PATCH validation with the real `{ orgId, orgSlug, updated }` API response.
- Merges canonical `updated` settings into the submitting organization’s cache, then exactly refetches that organization.
- Preserves drafts during background refetches, isolates organization switches, retains actionable errors, accessibility, empty `filterPrompt` compatibility, and `X-App-Source: nova`.

## Testing

- Passed focused Biome checks on all changed files.
- Passed `packages/lib` and `packages/validation` TypeScript checks.
- Verified GET/PATCH settings response contracts, partial/null/limit validation, canonical cache merge, and exact organization-bound invalidation.
- Verified Organization Context remains unchanged and Workspace Prompt is separately Company-Brain/manager-gated.
- Confirmed no remaining Workspace Persona identifiers.
- Public preview returns HTTP 200; authenticated settings interactions remain unavailable without a saved OAuth session.
- Full web type-check remains blocked by unrelated baseline diagnostics; none reference changed files.
- No dedicated tests were added, per requester instruction.

---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/7544b72b-aeca-48e2-81c3-514df21cd081)
- Requested by: Soham Daga (soham@supermemory.com)
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
2026-07-29 21:13:59 +00:00
Vedant Mahajan
cfc2b49192
Add shared Agents memory workspace (#1290) 2026-07-23 12:18:44 -07:00
Abhay Singh
d5f95827ed
fix(memory-graph): allow selecting nodes on touch devices (#1262) 2026-07-22 17:57:50 +05:30
Dhravya Shah
f882f1104d
docs: restructure documentation site and update integration UI (#1331)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-07-21 20:19:30 -07:00
MaheshtheDev
9bbe436fab docs(brain): note trial attach after Slack OAuth (#1313)
## Summary
- Documents that mono attaches Scale 14d trial + Company Brain after Slack OAuth from `/brain`.

Stacks on #1310. Billing implementation is in mono.
2026-07-21 21:34:25 +00:00
Rajarshi Datta
86c3ad69d1
fix(middleware): update deduplication logic for profile memories in query mode (#1243) 2026-07-21 19:25:32 +05:30
Paramveer singh
bec73e28ad
docs(tools): correct addMemory default in OpenAI middleware JSDoc (#1253) 2026-07-17 23:17:26 -07:00
Abhay Singh
86854efee6
fix(tools): make claude-memory file operations act on the exact file, literally (#1285)
Some checks failed
Publish Tools / publish (push) Has been cancelled
2026-07-17 18:24:09 +05:30
Abhay Singh
d8796277b0
fix(agent-framework): restore importability on current agent-framework-core releases (#1281) 2026-07-17 14:49:10 +05:30
Haroon
e5e4e498f2
fix(tools): coerce limit/offset in ai-sdk schemas (#1202)
Co-authored-by: Dhravya Shah <dhravyashah@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:42:15 -07:00
Gautam Sharma
bc6eb73d43
fix(tools): reject conflicting container config (#1214) 2026-07-10 19:15:25 -07:00
Bharath
09e3b78fc2
perf(lib): hoist customAlphabet factory in generateId (#1204) 2026-07-10 19:15:21 -07:00
Haroon
d77b6eb6d9
feat(memory-graph): configurable labels + popover z-index (#1201) 2026-07-10 19:15:17 -07:00
pawan
942f03eef9
fix(cartesia-sdk): treat empty profile as no memories, not a retrieval error (#1164) 2026-07-10 19:14:49 -07:00
Dhravya Shah
36b07e2a26
chore(tools): bump @supermemory/tools to 2.1.0 (#1234)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 18:55:15 -07:00