mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
feat: add provider and model fields to persona configuration (#166)
This commit is contained in:
@@ -10,6 +10,8 @@ type RawParsedPersonaPreview = {
|
||||
display_name: string;
|
||||
system_prompt: string;
|
||||
avatar_data_url: string | null;
|
||||
provider: string | null;
|
||||
model: string | null;
|
||||
source_file: string;
|
||||
};
|
||||
|
||||
@@ -28,6 +30,8 @@ export type ParsedPersonaPreview = {
|
||||
displayName: string;
|
||||
systemPrompt: string;
|
||||
avatarDataUrl: string | null;
|
||||
provider: string | null;
|
||||
model: string | null;
|
||||
sourceFile: string;
|
||||
};
|
||||
|
||||
@@ -46,6 +50,8 @@ type RawPersona = {
|
||||
display_name: string;
|
||||
avatar_url: string | null;
|
||||
system_prompt: string;
|
||||
provider?: string | null;
|
||||
model?: string | null;
|
||||
is_builtin: boolean;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
@@ -57,6 +63,8 @@ function fromRawPersona(persona: RawPersona): AgentPersona {
|
||||
displayName: persona.display_name,
|
||||
avatarUrl: persona.avatar_url,
|
||||
systemPrompt: persona.system_prompt,
|
||||
provider: persona.provider ?? null,
|
||||
model: persona.model ?? null,
|
||||
isBuiltIn: persona.is_builtin,
|
||||
createdAt: persona.created_at,
|
||||
updatedAt: persona.updated_at,
|
||||
@@ -76,6 +84,8 @@ export async function createPersona(
|
||||
displayName: input.displayName,
|
||||
avatarUrl: input.avatarUrl,
|
||||
systemPrompt: input.systemPrompt,
|
||||
provider: input.provider,
|
||||
model: input.model,
|
||||
},
|
||||
}),
|
||||
);
|
||||
@@ -91,6 +101,8 @@ export async function updatePersona(
|
||||
displayName: input.displayName,
|
||||
avatarUrl: input.avatarUrl,
|
||||
systemPrompt: input.systemPrompt,
|
||||
provider: input.provider,
|
||||
model: input.model,
|
||||
},
|
||||
}),
|
||||
);
|
||||
@@ -113,6 +125,8 @@ export async function parsePersonaFiles(
|
||||
displayName: p.display_name,
|
||||
systemPrompt: p.system_prompt,
|
||||
avatarDataUrl: p.avatar_data_url,
|
||||
provider: p.provider,
|
||||
model: p.model,
|
||||
sourceFile: p.source_file,
|
||||
})),
|
||||
skipped: raw.skipped.map((s) => ({
|
||||
|
||||
@@ -410,6 +410,10 @@ export type AgentPersona = {
|
||||
displayName: string;
|
||||
avatarUrl: string | null;
|
||||
systemPrompt: string;
|
||||
/** Preferred ACP provider ID (e.g. "goose", "claude"). */
|
||||
provider: string | null;
|
||||
/** Preferred model ID (e.g. "gpt-4o", "claude-sonnet-4-20250514"). */
|
||||
model: string | null;
|
||||
isBuiltIn: boolean;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
@@ -419,6 +423,8 @@ export type CreatePersonaInput = {
|
||||
displayName: string;
|
||||
avatarUrl?: string;
|
||||
systemPrompt: string;
|
||||
provider?: string;
|
||||
model?: string;
|
||||
};
|
||||
|
||||
export type UpdatePersonaInput = {
|
||||
@@ -426,6 +432,8 @@ export type UpdatePersonaInput = {
|
||||
displayName: string;
|
||||
avatarUrl?: string;
|
||||
systemPrompt: string;
|
||||
provider?: string;
|
||||
model?: string;
|
||||
};
|
||||
|
||||
// ── Team types ────────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user