- Enable ProTable search on Accounts (username/email), Models (model_id/alias), Providers (display_name/name) with hideInSearch for non-searchable columns - Add scenarios (Select tags) and quick_commands (Form.List) to AgentTemplates create form, plus service type updates - Remove unused quota_reset_interval from ProviderKey model, key_pool SQL, handlers, and frontend types; add migration + bump schema to v11 - Add Vitest config, test setup, request interceptor tests (7 cases), authStore tests (8 cases) — all 15 passing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
36 lines
1.7 KiB
TypeScript
36 lines
1.7 KiB
TypeScript
import request, { withSignal } from './request'
|
|
import type { AgentTemplate, PaginatedResponse } from '@/types'
|
|
|
|
export const agentTemplateService = {
|
|
list: (params?: Record<string, unknown>, signal?: AbortSignal) =>
|
|
request.get<PaginatedResponse<AgentTemplate>>('/agent-templates', withSignal({ params }, signal)).then((r) => r.data),
|
|
|
|
get: (id: string, signal?: AbortSignal) =>
|
|
request.get<AgentTemplate>(`/agent-templates/${id}`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
getFull: (id: string, signal?: AbortSignal) =>
|
|
request.get<AgentTemplate>(`/agent-templates/${id}/full`, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
create: (data: {
|
|
name: string; description?: string; category?: string; source?: string
|
|
model?: string; system_prompt?: string; tools?: string[]
|
|
capabilities?: string[]; temperature?: number; max_tokens?: number
|
|
visibility?: string; emoji?: string; personality?: string
|
|
soul_content?: string; welcome_message?: string
|
|
communication_style?: string; source_id?: string
|
|
scenarios?: string[]
|
|
quick_commands?: Array<{ label: string; command: string }>
|
|
}, signal?: AbortSignal) =>
|
|
request.post<AgentTemplate>('/agent-templates', data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
update: (id: string, data: {
|
|
description?: string; model?: string; system_prompt?: string
|
|
tools?: string[]; capabilities?: string[]; temperature?: number
|
|
max_tokens?: number; visibility?: string; status?: string
|
|
}, signal?: AbortSignal) =>
|
|
request.post<AgentTemplate>(`/agent-templates/${id}`, data, withSignal({}, signal)).then((r) => r.data),
|
|
|
|
archive: (id: string, signal?: AbortSignal) =>
|
|
request.delete<AgentTemplate>(`/agent-templates/${id}`, withSignal({}, signal)).then((r) => r.data),
|
|
}
|