diff --git a/README.md b/README.md
index f95271f7..b51829ba 100644
--- a/README.md
+++ b/README.md
@@ -76,7 +76,8 @@ To use the chrome extension,
#### Architecture:
-
+
+
Supermemory has three main modules, managed by [turborepo](https://turbo.build):
@@ -123,6 +124,7 @@ Built with:
- [Cloudflare Queues](https://developers.cloudflare.com/queues/)
- [Cloudflare Browser Rendering](https://developers.cloudflare.com/browser-rendering/)
- [Cloudflare KV](https://developers.cloudflare.com/kv)
+- [mem0](https://app.mem0.ai)
## Star History
diff --git a/apps/cf-ai-backend/src/helper.ts b/apps/cf-ai-backend/src/helper.ts
index 70efaecd..1c4dd69f 100644
--- a/apps/cf-ai-backend/src/helper.ts
+++ b/apps/cf-ai-backend/src/helper.ts
@@ -9,7 +9,7 @@ import { z } from "zod";
import { seededRandom } from "./utils/seededRandom";
import { bulkInsertKv } from "./utils/kvBulkInsert";
-export async function initQuery(env: Env, model: string = "gpt-4o") {
+export async function initQuery(env: Env, model: string = "gemini-1.5-pro") {
const embeddings = new OpenAIEmbeddings({
apiKey: env.OPENAI_API_KEY,
modelName: "text-embedding-3-small",
@@ -35,12 +35,13 @@ export async function initQuery(env: Env, model: string = "gpt-4o") {
console.log("Selected model: ", selectedModel);
break;
case "gemini-1.5-pro":
+ console.log("YES GOOGLE");
const googleai = createGoogleGenerativeAI({
apiKey: env.GOOGLE_AI_API_KEY,
baseURL:
"https://gateway.ai.cloudflare.com/v1/47c2b4d598af9d423c06fc9f936226d5/supermemory/google-vertex-ai",
});
- selectedModel = googleai.chat("models/gemini-1.5-pro-latest");
+ selectedModel = googleai.chat("models/gemini-pro");
console.log("Selected model: ", selectedModel);
break;
case "gpt-4o":
@@ -49,7 +50,6 @@ export async function initQuery(env: Env, model: string = "gpt-4o") {
apiKey: env.OPENAI_API_KEY,
baseURL:
"https://gateway.ai.cloudflare.com/v1/47c2b4d598af9d423c06fc9f936226d5/supermemory/openai",
- compatibility: "strict",
});
selectedModel = openai.chat("gpt-4o-mini");
break;
diff --git a/apps/extension/content/ContentApp.tsx b/apps/extension/content/ContentApp.tsx
index a510a77c..fb28925d 100644
--- a/apps/extension/content/ContentApp.tsx
+++ b/apps/extension/content/ContentApp.tsx
@@ -229,6 +229,18 @@ export default function ContentApp({
if (rep.status === 200) {
toast({
title: "Saved to supermemory.ai",
+ action: (
+
+ ),
});
} else {
toast({
diff --git a/apps/extension/manifest.json b/apps/extension/manifest.json
index 7f998412..51040f89 100644
--- a/apps/extension/manifest.json
+++ b/apps/extension/manifest.json
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"$schema": "https://json.schemastore.org/chrome-manifest",
- "version": "2.63.1",
+ "version": "2.63.2",
"name": "supermemory",
"description": "An extension for https://supermemory.ai - an AI hub for all your bookmarks.",
"background": {
diff --git a/apps/extension/package.json b/apps/extension/package.json
index e028d680..818fd2d6 100644
--- a/apps/extension/package.json
+++ b/apps/extension/package.json
@@ -1,5 +1,6 @@
{
"devDependencies": {
+ "@extension-create/develop": "^1.8.0",
"@types/react": "^18.0.9",
"@types/react-dom": "^18.0.5",
"@webpack-cli/generators": "^3.0.7",
diff --git a/apps/web/app/(dash)/menu.tsx b/apps/web/app/(dash)/menu.tsx
index f9363efb..bdc1aa8a 100644
--- a/apps/web/app/(dash)/menu.tsx
+++ b/apps/web/app/(dash)/menu.tsx
@@ -31,10 +31,20 @@ import ComboboxWithCreate from "@repo/ui/shadcn/combobox";
import { StoredSpace } from "@repo/db/schema";
import useMeasure from "react-use-measure";
import { useKeyPress } from "@/lib/useKeyPress";
+import { useFormStatus } from "react-dom";
function Menu() {
const [spaces, setSpaces] = useState([]);
+ function SubmitButton() {
+ const status = useFormStatus();
+ return (
+
+ );
+ }
+
useEffect(() => {
(async () => {
let spaces = await getSpaces();
@@ -120,15 +130,21 @@ function Menu() {
});
setContent("");
setSelectedSpaces([]);
- if (cont.success) {
- toast.success("Memory queued", {
- richColors: true,
- });
- } else {
- toast.error(`Memory creation failed: ${cont.error}`);
- throw new Error(`Memory creation failed: ${cont.error}`);
- return cont;
- }
+ return cont;
+ };
+
+ const formSubmit = () => {
+ toast.promise(handleSubmit(content, selectedSpaces), {
+ loading: (
+
+ {" "}
+ Creating memory...
+
+ ),
+ success: (data) => "Memory queued",
+ error: (error) => `Memory creation failed: ${error}`,
+ richColors: true,
+ });
};
return (
@@ -180,23 +196,7 @@ function Menu() {
-
diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx
index 28495d64..49805c16 100644
--- a/apps/web/app/layout.tsx
+++ b/apps/web/app/layout.tsx
@@ -86,7 +86,7 @@ export default function RootLayout({
>
{children}
-
+ {/* */}