feat: add skill API client
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
55
frontend/src/api/skill.ts
Normal file
55
frontend/src/api/skill.ts
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
import api from './index'
|
||||||
|
import type { AxiosResponse } from 'axios'
|
||||||
|
|
||||||
|
export interface Skill {
|
||||||
|
id: string
|
||||||
|
name: string
|
||||||
|
description: string | null
|
||||||
|
instructions: string
|
||||||
|
agent_type: string
|
||||||
|
tools: string[]
|
||||||
|
required_context: string[]
|
||||||
|
output_format: string | null
|
||||||
|
visibility: 'private' | 'team' | 'market'
|
||||||
|
team_id: string | null
|
||||||
|
is_active: boolean
|
||||||
|
owner_id: string
|
||||||
|
created_at: string
|
||||||
|
updated_at: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SkillCreate {
|
||||||
|
name: string
|
||||||
|
description?: string
|
||||||
|
instructions: string
|
||||||
|
agent_type: string
|
||||||
|
tools?: string[]
|
||||||
|
required_context?: string[]
|
||||||
|
output_format?: string
|
||||||
|
visibility?: 'private' | 'team' | 'market'
|
||||||
|
team_id?: string
|
||||||
|
is_active?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SkillUpdate {
|
||||||
|
name?: string
|
||||||
|
description?: string
|
||||||
|
instructions?: string
|
||||||
|
agent_type?: string
|
||||||
|
tools?: string[]
|
||||||
|
required_context?: string[]
|
||||||
|
output_format?: string
|
||||||
|
visibility?: 'private' | 'team' | 'market'
|
||||||
|
team_id?: string
|
||||||
|
is_active?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export const skillApi = {
|
||||||
|
list: (params?: { agent_type?: string; visibility?: string }): Promise<AxiosResponse<Skill[]>> => {
|
||||||
|
return api.get('/api/skills', { params })
|
||||||
|
},
|
||||||
|
get: (id: string): Promise<AxiosResponse<Skill>> => api.get(`/api/skills/${id}`),
|
||||||
|
create: (data: SkillCreate): Promise<AxiosResponse<Skill>> => api.post('/api/skills', data),
|
||||||
|
update: (id: string, data: SkillUpdate): Promise<AxiosResponse<Skill>> => api.put(`/api/skills/${id}`, data),
|
||||||
|
delete: (id: string): Promise<AxiosResponse<void>> => api.delete(`/api/skills/${id}`),
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user