feat: add agent search config and system assistant defaults
Adds a config jsonb column to agents for per-agent search settings (enabled, rerank, maxResults). Types systemAssistants with rename and rerank sub-objects. Backfills missing systemAssistants keys on settings fetch. Includes generated drizzle migrations.
This commit is contained in:
@@ -15,6 +15,13 @@ export default defineEventHandler(async (event) => {
|
||||
systemPrompt: z.string().nullable().optional(),
|
||||
imageUrl: z.string().optional(),
|
||||
defaultModelId: z.string().optional(),
|
||||
config: z.object({
|
||||
search: z.object({
|
||||
enabled: z.boolean(),
|
||||
rerank: z.boolean(),
|
||||
maxResults: z.number().min(1).max(50),
|
||||
}).optional(),
|
||||
}).optional(),
|
||||
})
|
||||
.safeParse(body),
|
||||
);
|
||||
@@ -28,15 +35,17 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
const agentId = getRouterParam(event, 'id')!;
|
||||
|
||||
const { name, systemPrompt, imageUrl, defaultModelId } = result.data;
|
||||
const { name, systemPrompt, imageUrl, defaultModelId, config } = result.data;
|
||||
|
||||
const updateData: Record<string, any> = {};
|
||||
if (name !== undefined) updateData.name = name;
|
||||
if (systemPrompt !== undefined) updateData.systemPrompt = systemPrompt;
|
||||
if (imageUrl !== undefined) updateData.imageUrl = imageUrl;
|
||||
if (defaultModelId !== undefined) updateData.defaultModelId = defaultModelId;
|
||||
if (config !== undefined) updateData.config = config;
|
||||
|
||||
const res = await db.update(agents)
|
||||
.set({
|
||||
name,
|
||||
systemPrompt,
|
||||
imageUrl,
|
||||
defaultModelId,
|
||||
})
|
||||
.set(updateData)
|
||||
.where(
|
||||
and(
|
||||
eq(agents.id, agentId),
|
||||
@@ -55,10 +64,7 @@ export default defineEventHandler(async (event) => {
|
||||
op: 'update',
|
||||
payload: {
|
||||
id: agentId,
|
||||
name,
|
||||
systemPrompt,
|
||||
imageUrl,
|
||||
defaultModelId,
|
||||
...updateData,
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user