refactor: update TS types for steps-based recipes, remove dead code
Add RecipeStep interface, update Recipe (remove patchTemplate/ impactCategory/impactSummary/action), replace previewApply/applyRecipe with applyConfigPatch, delete recipe_catalog.ts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,10 +12,8 @@ export const api = {
|
|||||||
invoke("refresh_model_catalog", {}),
|
invoke("refresh_model_catalog", {}),
|
||||||
listRecipes: (source?: string): Promise<Recipe[]> =>
|
listRecipes: (source?: string): Promise<Recipe[]> =>
|
||||||
invoke("list_recipes", source ? { source } : {}),
|
invoke("list_recipes", source ? { source } : {}),
|
||||||
previewApply: (recipeId: string, params: Record<string, string>, source?: string): Promise<PreviewResult> =>
|
applyConfigPatch: (patchTemplate: string, params: Record<string, string>): Promise<ApplyResult> =>
|
||||||
invoke("preview_apply", { recipeId, params, source }),
|
invoke("apply_config_patch", { patchTemplate, params }),
|
||||||
applyRecipe: (recipeId: string, params: Record<string, string>, source?: string): Promise<ApplyResult> =>
|
|
||||||
invoke("apply_recipe", { recipeId, params, source }),
|
|
||||||
listHistory: (limit = 20, offset = 0): Promise<{ items: HistoryItem[] }> =>
|
listHistory: (limit = 20, offset = 0): Promise<{ items: HistoryItem[] }> =>
|
||||||
invoke("list_history", { limit, offset }),
|
invoke("list_history", { limit, offset }),
|
||||||
previewRollback: (snapshotId: string): Promise<PreviewResult> =>
|
previewRollback: (snapshotId: string): Promise<PreviewResult> =>
|
||||||
|
|||||||
@@ -1,77 +0,0 @@
|
|||||||
export const builtinRecipes = [
|
|
||||||
{
|
|
||||||
id: "discord-channel-persona",
|
|
||||||
name: "Discord channel persona",
|
|
||||||
description: "Inject different system prompt for one Discord channel",
|
|
||||||
version: "1.0.0",
|
|
||||||
tags: ["discord", "persona", "beginner"],
|
|
||||||
difficulty: "easy",
|
|
||||||
params: [
|
|
||||||
{
|
|
||||||
id: "guild_id",
|
|
||||||
label: "Guild",
|
|
||||||
type: "discord_guild",
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "channel_id",
|
|
||||||
label: "Channel",
|
|
||||||
type: "discord_channel",
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "persona",
|
|
||||||
label: "Persona description",
|
|
||||||
type: "textarea",
|
|
||||||
required: true,
|
|
||||||
minLength: 1,
|
|
||||||
placeholder: "You are...",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
patchTemplate: `{
|
|
||||||
"channels": {
|
|
||||||
"discord": {
|
|
||||||
"guilds": {
|
|
||||||
"{{guild_id}}": {
|
|
||||||
"channels": {
|
|
||||||
"{{channel_id}}": {
|
|
||||||
"systemPrompt": "{{persona}}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}`,
|
|
||||||
impactCategory: "low",
|
|
||||||
impactSummary: "Add/modify channel persona",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "default-model-switch",
|
|
||||||
name: "Switch default model",
|
|
||||||
description:
|
|
||||||
"Change the global default model used by all agents (unless overridden per-agent)",
|
|
||||||
version: "1.0.0",
|
|
||||||
tags: ["model", "productivity"],
|
|
||||||
difficulty: "easy",
|
|
||||||
params: [
|
|
||||||
{
|
|
||||||
id: "model_name",
|
|
||||||
label: "Model",
|
|
||||||
type: "model_profile",
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
patchTemplate: `{
|
|
||||||
"agents": {
|
|
||||||
"defaults": {
|
|
||||||
"model": {
|
|
||||||
"primary": "{{model_name}}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}`,
|
|
||||||
impactCategory: "low",
|
|
||||||
impactSummary: "Switch default model",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
@@ -18,6 +18,12 @@ export interface RecipeParam {
|
|||||||
placeholder?: string;
|
placeholder?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface RecipeStep {
|
||||||
|
action: string;
|
||||||
|
label: string;
|
||||||
|
args: Record<string, unknown>;
|
||||||
|
}
|
||||||
|
|
||||||
export interface Recipe {
|
export interface Recipe {
|
||||||
id: string;
|
id: string;
|
||||||
name: string;
|
name: string;
|
||||||
@@ -26,10 +32,7 @@ export interface Recipe {
|
|||||||
tags: string[];
|
tags: string[];
|
||||||
difficulty: "easy" | "normal" | "advanced";
|
difficulty: "easy" | "normal" | "advanced";
|
||||||
params: RecipeParam[];
|
params: RecipeParam[];
|
||||||
action?: string;
|
steps: RecipeStep[];
|
||||||
patchTemplate: string;
|
|
||||||
impactCategory: string;
|
|
||||||
impactSummary: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ChangeItem {
|
export interface ChangeItem {
|
||||||
|
|||||||
Reference in New Issue
Block a user