feat(memory): update MEMORY.md structure and consolidate identity preferences

This commit is contained in:
Abhimanyu Saharan
2026-02-14 23:20:15 +05:30
parent eb8540751c
commit 313ce874f9
23 changed files with 720 additions and 551 deletions

View File

@@ -31,10 +31,8 @@ import {
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { Textarea } from "@/components/ui/textarea";
import {
DEFAULT_IDENTITY_PROFILE,
DEFAULT_SOUL_TEMPLATE,
} from "@/lib/agent-templates";
type IdentityProfile = {
@@ -121,9 +119,6 @@ export default function EditAgentPage() {
const [identityProfile, setIdentityProfile] = useState<
IdentityProfile | undefined
>(undefined);
const [soulTemplate, setSoulTemplate] = useState<string | undefined>(
undefined,
);
const [error, setError] = useState<string | null>(null);
const boardsQuery = useListBoardsApiV1BoardsGet<
@@ -198,10 +193,6 @@ export default function EditAgentPage() {
return withIdentityDefaults(null);
}, [loadedAgent?.identity_profile]);
const loadedSoulTemplate = useMemo(() => {
return loadedAgent?.soul_template?.trim() || DEFAULT_SOUL_TEMPLATE;
}, [loadedAgent?.soul_template]);
const isLoading =
boardsQuery.isLoading || agentQuery.isLoading || updateMutation.isPending;
const errorMessage =
@@ -213,7 +204,6 @@ export default function EditAgentPage() {
const resolvedHeartbeatEvery = heartbeatEvery ?? loadedHeartbeat.every;
const resolvedHeartbeatTarget = heartbeatTarget ?? loadedHeartbeat.target;
const resolvedIdentityProfile = identityProfile ?? loadedIdentityProfile;
const resolvedSoulTemplate = soulTemplate ?? loadedSoulTemplate;
const resolvedBoardId = useMemo(() => {
if (resolvedIsGatewayMain) return boardId ?? "";
@@ -266,7 +256,6 @@ export default function EditAgentPage() {
loadedAgent.identity_profile,
resolvedIdentityProfile,
) as unknown as Record<string, unknown> | null,
soul_template: resolvedSoulTemplate.trim() || null,
};
if (!resolvedIsGatewayMain) {
payload.board_id = resolvedBoardId || null;
@@ -439,7 +428,7 @@ export default function EditAgentPage() {
<p className="text-xs font-semibold uppercase tracking-wider text-slate-500">
Personality & behavior
</p>
<div className="mt-4 space-y-6">
<div className="mt-4">
<div className="space-y-2">
<label className="text-sm font-medium text-slate-900">
Communication style
@@ -455,17 +444,6 @@ export default function EditAgentPage() {
disabled={isLoading}
/>
</div>
<div className="space-y-2">
<label className="text-sm font-medium text-slate-900">
Soul template
</label>
<Textarea
value={resolvedSoulTemplate}
onChange={(event) => setSoulTemplate(event.target.value)}
rows={10}
disabled={isLoading}
/>
</div>
</div>
</div>

View File

@@ -28,11 +28,7 @@ import {
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { Textarea } from "@/components/ui/textarea";
import {
DEFAULT_IDENTITY_PROFILE,
DEFAULT_SOUL_TEMPLATE,
} from "@/lib/agent-templates";
import { DEFAULT_IDENTITY_PROFILE } from "@/lib/agent-templates";
type IdentityProfile = {
role: string;
@@ -89,7 +85,6 @@ export default function NewAgentPage() {
const [identityProfile, setIdentityProfile] = useState<IdentityProfile>({
...DEFAULT_IDENTITY_PROFILE,
});
const [soulTemplate, setSoulTemplate] = useState(DEFAULT_SOUL_TEMPLATE);
const [error, setError] = useState<string | null>(null);
const boardsQuery = useListBoardsApiV1BoardsGet<
@@ -147,7 +142,6 @@ export default function NewAgentPage() {
identity_profile: normalizeIdentityProfile(
identityProfile,
) as unknown as Record<string, unknown> | null,
soul_template: soulTemplate.trim() || null,
},
});
};
@@ -260,7 +254,7 @@ export default function NewAgentPage() {
<p className="text-xs font-semibold uppercase tracking-wider text-slate-500">
Personality & behavior
</p>
<div className="mt-4 space-y-6">
<div className="mt-4">
<div className="space-y-2">
<label className="text-sm font-medium text-slate-900">
Communication style
@@ -276,17 +270,6 @@ export default function NewAgentPage() {
disabled={isLoading}
/>
</div>
<div className="space-y-2">
<label className="text-sm font-medium text-slate-900">
Soul template
</label>
<Textarea
value={soulTemplate}
onChange={(event) => setSoulTemplate(event.target.value)}
rows={10}
disabled={isLoading}
/>
</div>
</div>
</div>