@changw98ic/core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -0
- package/README.md +28 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/types/adapter.d.ts +220 -0
- package/dist/types/adapter.d.ts.map +1 -0
- package/dist/types/adapter.js +72 -0
- package/dist/types/adapter.js.map +1 -0
- package/dist/types/entity.d.ts +327 -0
- package/dist/types/entity.d.ts.map +1 -0
- package/dist/types/entity.js +135 -0
- package/dist/types/entity.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/skill.d.ts +676 -0
- package/dist/types/skill.d.ts.map +1 -0
- package/dist/types/skill.js +128 -0
- package/dist/types/skill.js.map +1 -0
- package/dist/types/state.d.ts +786 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/state.js +136 -0
- package/dist/types/state.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Schema - 通用 Skill 定义格式
|
|
3
|
+
*
|
|
4
|
+
* 设计目标:
|
|
5
|
+
* - 平台无关: 可编译到 Claude Code / OpenAI / Cursor / OpenClaw
|
|
6
|
+
* - 类型安全: 使用 Zod 进行运行时验证
|
|
7
|
+
* - 可扩展: 支持自定义工具和工作流
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Tool Definition
|
|
12
|
+
// ============================================================================
|
|
13
|
+
export const ToolTypeSchema = z.enum([
|
|
14
|
+
'read', // 读取文件
|
|
15
|
+
'write', // 写入文件
|
|
16
|
+
'edit', // 编辑文件
|
|
17
|
+
'bash', // 执行命令
|
|
18
|
+
'http', // HTTP 请求
|
|
19
|
+
'task', // 子任务/Agent 调用
|
|
20
|
+
'grep', // 搜索文件内容
|
|
21
|
+
'glob', // 搜索文件路径
|
|
22
|
+
'ask', // 用户交互
|
|
23
|
+
'custom', // 自定义工具
|
|
24
|
+
]);
|
|
25
|
+
export const ToolDefinitionSchema = z.object({
|
|
26
|
+
name: z.string().min(1),
|
|
27
|
+
type: ToolTypeSchema,
|
|
28
|
+
description: z.string().optional(),
|
|
29
|
+
schema: z.record(z.unknown()).optional(), // JSON Schema for parameters
|
|
30
|
+
required: z.boolean().default(false),
|
|
31
|
+
});
|
|
32
|
+
// ============================================================================
|
|
33
|
+
// Prompt Template
|
|
34
|
+
// ============================================================================
|
|
35
|
+
export const PromptRoleSchema = z.enum(['system', 'user', 'assistant']);
|
|
36
|
+
export const PromptTemplateSchema = z.object({
|
|
37
|
+
role: PromptRoleSchema,
|
|
38
|
+
content: z.string(),
|
|
39
|
+
condition: z.string().optional(), // 条件表达式(何时使用此 prompt)
|
|
40
|
+
template: z.string().optional(), // 模板文件路径(替代 content)
|
|
41
|
+
variables: z.record(z.string()).optional(), // 模板变量
|
|
42
|
+
});
|
|
43
|
+
// ============================================================================
|
|
44
|
+
// Workflow Step
|
|
45
|
+
// ============================================================================
|
|
46
|
+
export const WorkflowStepSchema = z.object({
|
|
47
|
+
step: z.string(), // Step ID (如 "Step 0", "Step 1")
|
|
48
|
+
name: z.string().optional(), // Step 名称
|
|
49
|
+
action: z.string(), // 动作描述
|
|
50
|
+
tools: z.array(z.string()).optional(), // 使用的工具名称
|
|
51
|
+
references: z.array(z.string()).optional(), // 参考文档路径
|
|
52
|
+
condition: z.string().optional(), // 条件表达式
|
|
53
|
+
optional: z.boolean().default(false), // 是否可选
|
|
54
|
+
timeout: z.number().optional(), // 超时时间(毫秒)
|
|
55
|
+
retry: z.number().optional(), // 重试次数
|
|
56
|
+
onFailure: z.enum(['abort', 'skip', 'continue']).default('abort'),
|
|
57
|
+
});
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Reference Loading
|
|
60
|
+
// ============================================================================
|
|
61
|
+
export const ReferenceLoadLevelSchema = z.enum(['L0', 'L1', 'L2', 'L3']);
|
|
62
|
+
export const ReferenceDefinitionSchema = z.object({
|
|
63
|
+
path: z.string(), // 文件路径(相对于 skill 目录)
|
|
64
|
+
purpose: z.string().optional(), // 用途说明
|
|
65
|
+
level: ReferenceLoadLevelSchema.default('L1'),
|
|
66
|
+
trigger: z.string().optional(), // 触发条件
|
|
67
|
+
});
|
|
68
|
+
// ============================================================================
|
|
69
|
+
// Success Criteria
|
|
70
|
+
// ============================================================================
|
|
71
|
+
export const SuccessCriterionSchema = z.object({
|
|
72
|
+
id: z.string(),
|
|
73
|
+
description: z.string(),
|
|
74
|
+
required: z.boolean().default(true),
|
|
75
|
+
validateCommand: z.string().optional(), // 验证命令
|
|
76
|
+
});
|
|
77
|
+
// ============================================================================
|
|
78
|
+
// Skill Definition
|
|
79
|
+
// ============================================================================
|
|
80
|
+
export const SkillSchema = z.object({
|
|
81
|
+
// 基本信息
|
|
82
|
+
name: z.string().min(1),
|
|
83
|
+
version: z.string().regex(/^\d+\.\d+\.\d+$/),
|
|
84
|
+
description: z.string(),
|
|
85
|
+
// 触发
|
|
86
|
+
triggers: z.array(z.string()).min(1), // 触发词/命令
|
|
87
|
+
// 工具
|
|
88
|
+
tools: z.array(ToolDefinitionSchema).min(1),
|
|
89
|
+
// 提示词
|
|
90
|
+
prompts: z.array(PromptTemplateSchema).min(1),
|
|
91
|
+
// 工作流
|
|
92
|
+
workflow: z.array(WorkflowStepSchema).min(1),
|
|
93
|
+
// 参考文档
|
|
94
|
+
references: z.array(ReferenceDefinitionSchema).optional(),
|
|
95
|
+
// 成功标准
|
|
96
|
+
successCriteria: z.array(SuccessCriterionSchema).optional(),
|
|
97
|
+
// 元数据
|
|
98
|
+
author: z.string().optional(),
|
|
99
|
+
license: z.string().default('GPL-3.0'),
|
|
100
|
+
keywords: z.array(z.string()).optional(),
|
|
101
|
+
homepage: z.string().url().optional(),
|
|
102
|
+
repository: z.string().url().optional(),
|
|
103
|
+
// 平台适配配置
|
|
104
|
+
adapters: z.record(z.unknown()).optional(),
|
|
105
|
+
});
|
|
106
|
+
// ============================================================================
|
|
107
|
+
// Skill Collection
|
|
108
|
+
// ============================================================================
|
|
109
|
+
export const SkillCollectionSchema = z.object({
|
|
110
|
+
name: z.string(),
|
|
111
|
+
version: z.string(),
|
|
112
|
+
description: z.string().optional(),
|
|
113
|
+
skills: z.array(SkillSchema),
|
|
114
|
+
});
|
|
115
|
+
// ============================================================================
|
|
116
|
+
// Validation Helper
|
|
117
|
+
// ============================================================================
|
|
118
|
+
export function validateSkill(data) {
|
|
119
|
+
return SkillSchema.parse(data);
|
|
120
|
+
}
|
|
121
|
+
export function safeValidateSkill(data) {
|
|
122
|
+
const result = SkillSchema.safeParse(data);
|
|
123
|
+
if (result.success) {
|
|
124
|
+
return { success: true, data: result.data };
|
|
125
|
+
}
|
|
126
|
+
return { success: false, error: result.error };
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"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"}
|