mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-05-20 15:43:44 +00:00
* feat: support manual add and edit for memory facts * fix: restore memory updater save helper * fix: address memory fact review feedback * fix: remove duplicate memory fact edit action * docs: simplify memory fact review setup * docs: relax memory review startup instructions * fix: clear rebase marker in memory settings page * fix: address memory fact review and format issues * fix: address memory fact review feedback * refactor: make memory fact updates explicit patch semantics --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
76 lines
2.0 KiB
TypeScript
76 lines
2.0 KiB
TypeScript
import { getBackendBaseURL } from "../config";
|
|
|
|
import type {
|
|
MemoryFactInput,
|
|
MemoryFactPatchInput,
|
|
UserMemory,
|
|
} from "./types";
|
|
|
|
async function readMemoryResponse(
|
|
response: Response,
|
|
fallbackMessage: string,
|
|
): Promise<UserMemory> {
|
|
if (!response.ok) {
|
|
const errorData = (await response.json().catch(() => ({}))) as {
|
|
detail?: string;
|
|
};
|
|
throw new Error(
|
|
errorData.detail ?? `${fallbackMessage}: ${response.statusText}`,
|
|
);
|
|
}
|
|
|
|
return response.json() as Promise<UserMemory>;
|
|
}
|
|
|
|
export async function loadMemory(): Promise<UserMemory> {
|
|
const response = await fetch(`${getBackendBaseURL()}/api/memory`);
|
|
return readMemoryResponse(response, "Failed to fetch memory");
|
|
}
|
|
|
|
export async function clearMemory(): Promise<UserMemory> {
|
|
const response = await fetch(`${getBackendBaseURL()}/api/memory`, {
|
|
method: "DELETE",
|
|
});
|
|
return readMemoryResponse(response, "Failed to clear memory");
|
|
}
|
|
|
|
export async function deleteMemoryFact(factId: string): Promise<UserMemory> {
|
|
const response = await fetch(
|
|
`${getBackendBaseURL()}/api/memory/facts/${encodeURIComponent(factId)}`,
|
|
{
|
|
method: "DELETE",
|
|
},
|
|
);
|
|
return readMemoryResponse(response, "Failed to delete memory fact");
|
|
}
|
|
|
|
export async function createMemoryFact(
|
|
input: MemoryFactInput,
|
|
): Promise<UserMemory> {
|
|
const response = await fetch(`${getBackendBaseURL()}/api/memory/facts`, {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
body: JSON.stringify(input),
|
|
});
|
|
return readMemoryResponse(response, "Failed to create memory fact");
|
|
}
|
|
|
|
export async function updateMemoryFact(
|
|
factId: string,
|
|
input: MemoryFactPatchInput,
|
|
): Promise<UserMemory> {
|
|
const response = await fetch(
|
|
`${getBackendBaseURL()}/api/memory/facts/${encodeURIComponent(factId)}`,
|
|
{
|
|
method: "PATCH",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
body: JSON.stringify(input),
|
|
},
|
|
);
|
|
return readMemoryResponse(response, "Failed to update memory fact");
|
|
}
|