aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/contexts
diff options
context:
space:
mode:
authorDhravya <[email protected]>2024-04-13 09:14:37 -0700
committerDhravya <[email protected]>2024-04-13 09:14:37 -0700
commit75cae41f2aebd6343ce95cd0b6910870724ed374 (patch)
tree44c9a92202801aea87cdaffd51bcd8b836fa69ea /apps/web/src/contexts
parentCloudflareAI for better streaming (diff)
downloadsupermemory-75cae41f2aebd6343ce95cd0b6910870724ed374.tar.xz
supermemory-75cae41f2aebd6343ce95cd0b6910870724ed374.zip
merge
Diffstat (limited to 'apps/web/src/contexts')
-rw-r--r--apps/web/src/contexts/MemoryContext.tsx80
1 files changed, 45 insertions, 35 deletions
diff --git a/apps/web/src/contexts/MemoryContext.tsx b/apps/web/src/contexts/MemoryContext.tsx
index aa9cab81..0438d75e 100644
--- a/apps/web/src/contexts/MemoryContext.tsx
+++ b/apps/web/src/contexts/MemoryContext.tsx
@@ -1,15 +1,20 @@
"use client";
import React, { useCallback } from "react";
import { CollectedSpaces } from "../../types/memory";
-import { StoredContent, storedContent, StoredSpace } from "@/server/db/schema";
+import {
+ ChachedSpaceContent,
+ StoredContent,
+ storedContent,
+ StoredSpace,
+} from "@/server/db/schema";
import { addMemory, searchMemoriesAndSpaces } from "@/actions/db";
import { User } from "next-auth";
export type SearchResult = {
- type: "memory" | "space",
- space: StoredSpace,
- memory: StoredContent
-}
+ type: "memory" | "space";
+ space: StoredSpace;
+ memory: StoredContent;
+};
// temperory (will change)
export const MemoryContext = React.createContext<{
@@ -21,8 +26,8 @@ export const MemoryContext = React.createContext<{
memory: typeof storedContent.$inferInsert,
spaces?: number[],
) => Promise<void>;
- cachedMemories: StoredContent[];
- search: (query: string) => Promise<SearchResult[]>;
+ cachedMemories: ChachedSpaceContent[];
+ search: (query: string) => Promise<SearchResult[]>;
}>({
spaces: [],
freeMemories: [],
@@ -30,57 +35,62 @@ export const MemoryContext = React.createContext<{
addSpace: async () => {},
deleteSpace: async () => {},
cachedMemories: [],
- search: async () => []
+ search: async () => [],
});
export const MemoryProvider: React.FC<
{
spaces: StoredSpace[];
freeMemories: StoredContent[];
- cachedMemories: StoredContent[];
- user: User;
+ cachedMemories: ChachedSpaceContent[];
+ user: User;
} & React.PropsWithChildren
-> = ({ children, user, spaces: initalSpaces, freeMemories: initialFreeMemories, cachedMemories: initialCachedMemories }) => {
-
+> = ({
+ children,
+ user,
+ spaces: initalSpaces,
+ freeMemories: initialFreeMemories,
+ cachedMemories: initialCachedMemories,
+}) => {
const [spaces, setSpaces] = React.useState<StoredSpace[]>(initalSpaces);
const [freeMemories, setFreeMemories] =
React.useState<StoredContent[]>(initialFreeMemories);
- const [cachedMemories, setCachedMemories] = React.useState<StoredContent[]>(
- initialCachedMemories
- );
+ const [cachedMemories, setCachedMemories] = React.useState<
+ ChachedSpaceContent[]
+ >(initialCachedMemories);
const addSpace = async (space: StoredSpace) => {
- setSpaces((prev) => [...prev, space]);
- }
-
- const deleteSpace = async (id: number) => {
- setSpaces((prev) => prev.filter((s) => s.id !== id));
- }
+ setSpaces((prev) => [...prev, space]);
+ };
- const search = async (query: string) => {
- if (!user.id) {
- throw new Error('user id is not define')
- }
- const data = await searchMemoriesAndSpaces(user.id, query)
- return data as SearchResult[]
- }
+ const deleteSpace = async (id: number) => {
+ setSpaces((prev) => prev.filter((s) => s.id !== id));
+ };
+
+ const search = async (query: string) => {
+ if (!user.id) {
+ throw new Error("user id is not define");
+ }
+ const data = await searchMemoriesAndSpaces(user.id, query);
+ return data as SearchResult[];
+ };
// const fetchMemories = useCallback(async (query: string) => {
// const response = await fetch(`/api/memories?${query}`);
// }, []);
- const _addMemory = async (
- memory: typeof storedContent.$inferInsert,
- spaces: number[] = [],
- ) => {
- const content = await addMemory(memory, spaces);
- }
+ const _addMemory = async (
+ memory: typeof storedContent.$inferInsert,
+ spaces: number[] = [],
+ ) => {
+ const content = await addMemory(memory, spaces);
+ };
return (
<MemoryContext.Provider
value={{
- search,
+ search,
spaces,
addSpace,
deleteSpace,