chore: add list define and mock data

This commit is contained in:
Joel
2026-01-14 16:01:07 +08:00
parent c6ddf89980
commit 1a8fd08563
2 changed files with 150 additions and 0 deletions

View File

@ -0,0 +1,121 @@
import type { SkillItem } from './type'
import { SKILL_ROOT_ID, SkillItemKind } from './type'
export const mockSkillItems: SkillItem[] = [
{
id: 'skills',
name: 'skills',
parent_id: SKILL_ROOT_ID,
kind: SkillItemKind.folder,
},
{
id: 'skills/_schemas',
name: '_schemas',
parent_id: 'skills',
kind: SkillItemKind.folder,
},
{
id: 'skills/_schemas/email-writer',
name: 'email-writer',
parent_id: 'skills/_schemas',
kind: SkillItemKind.folder,
},
{
id: 'skills/_schemas/email-writer/skill',
name: 'SKILL.md',
parent_id: 'skills/_schemas/email-writer',
kind: SkillItemKind.file,
ext: 'md',
size: 1820,
},
{
id: 'skills/_schemas/email-writer/prompt',
name: 'prompt.md',
parent_id: 'skills/_schemas/email-writer',
kind: SkillItemKind.file,
ext: 'md',
size: 964,
},
{
id: 'skills/_schemas/email-writer/output-schema',
name: 'output.schema.json',
parent_id: 'skills/_schemas/email-writer',
kind: SkillItemKind.file,
ext: 'json',
size: 742,
},
{
id: 'skills/_schemas/email-writer/toolmap',
name: 'toolmap.yaml',
parent_id: 'skills/_schemas/email-writer',
kind: SkillItemKind.file,
ext: 'yaml',
size: 540,
},
{
id: 'skills/_schemas/email-writer/examples',
name: 'examples.jsonl',
parent_id: 'skills/_schemas/email-writer',
kind: SkillItemKind.file,
ext: 'jsonl',
size: 1205,
},
{
id: 'skills/_index',
name: '_index.json',
parent_id: 'skills',
kind: SkillItemKind.file,
ext: 'json',
size: 356,
},
{
id: 'skills/_tags',
name: '_tags.json',
parent_id: 'skills',
kind: SkillItemKind.file,
ext: 'json',
size: 212,
},
{
id: 'skills/web-research',
name: 'web-research',
parent_id: 'skills',
kind: SkillItemKind.folder,
},
{
id: 'skills/support-triage',
name: 'support-triage',
parent_id: 'skills',
kind: SkillItemKind.folder,
},
{
id: 'knowledge',
name: 'knowledge',
parent_id: SKILL_ROOT_ID,
kind: SkillItemKind.folder,
},
{
id: 'tools',
name: 'tools',
parent_id: SKILL_ROOT_ID,
kind: SkillItemKind.folder,
},
{
id: 'templates',
name: 'templates',
parent_id: SKILL_ROOT_ID,
kind: SkillItemKind.folder,
},
{
id: 'evals',
name: 'evals',
parent_id: SKILL_ROOT_ID,
kind: SkillItemKind.folder,
},
{
id: 'dist',
name: 'dist',
parent_id: SKILL_ROOT_ID,
kind: SkillItemKind.folder,
},
]

View File

@ -0,0 +1,29 @@
export const SKILL_ROOT_ID = 'root' as const
export type SkillItemId = string
export type SkillParentId = SkillItemId | typeof SKILL_ROOT_ID | null
export enum SkillItemKind {
folder = 'folder',
file = 'file',
}
export type SkillItemBase = {
id: SkillItemId
name: string
parent_id: SkillParentId
path?: string
}
export type SkillFolderItem = SkillItemBase & {
kind: 'folder'
}
export type SkillFileItem = SkillItemBase & {
kind: 'file'
ext?: string
size?: number
}
export type SkillItem = SkillFolderItem | SkillFileItem
export type SkillList = SkillItem[]