From 1a8fd08563096bea5fb1889491e855ce02a045dd Mon Sep 17 00:00:00 2001 From: Joel Date: Wed, 14 Jan 2026 16:01:07 +0800 Subject: [PATCH] chore: add list define and mock data --- .../components/workflow/skill/mock-data.ts | 121 ++++++++++++++++++ web/app/components/workflow/skill/type.ts | 29 +++++ 2 files changed, 150 insertions(+) create mode 100644 web/app/components/workflow/skill/mock-data.ts create mode 100644 web/app/components/workflow/skill/type.ts diff --git a/web/app/components/workflow/skill/mock-data.ts b/web/app/components/workflow/skill/mock-data.ts new file mode 100644 index 0000000000..924753ff57 --- /dev/null +++ b/web/app/components/workflow/skill/mock-data.ts @@ -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, + }, +] diff --git a/web/app/components/workflow/skill/type.ts b/web/app/components/workflow/skill/type.ts new file mode 100644 index 0000000000..cc0dbc3b4f --- /dev/null +++ b/web/app/components/workflow/skill/type.ts @@ -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[]