feat: 完善标准 Skill 包底座

- 标准化 SKILL.md、资源模型、校验规则与安全限额

- 支持流式内容存储和单、多 Skill ZIP 双向编解码
This commit is contained in:
2026-07-27 18:53:24 +08:00
parent 6fa93bd671
commit c48d9a9da6
53 changed files with 7809 additions and 666 deletions

View File

@@ -0,0 +1,69 @@
package com.easyagents.skill.codec;
import com.easyagents.skill.model.SkillPackageLimits;
/**
* Skill 包读取选项。
*/
public final class SkillPackageReadOptions {
private final SkillPackageLimits limits;
private final SkillPackageReadMode mode;
/**
* 使用指定安全限额创建读取选项。
*
* @param limits 安全限额
*/
public SkillPackageReadOptions(SkillPackageLimits limits) {
this(limits, SkillPackageReadMode.COMMIT_ON_VALID);
}
/**
* 使用指定安全限额和内容处理模式创建读取选项。
*
* @param limits 安全限额
* @param mode 内容处理模式
*/
public SkillPackageReadOptions(SkillPackageLimits limits, SkillPackageReadMode mode) {
this.limits = limits == null ? SkillPackageLimits.defaults() : limits;
this.mode = mode == null ? SkillPackageReadMode.COMMIT_ON_VALID : mode;
}
/**
* 创建默认读取选项。
*
* @return 默认读取选项
*/
public static SkillPackageReadOptions defaults() {
return new SkillPackageReadOptions(SkillPackageLimits.defaults());
}
/**
* 创建只返回校验报告且不提交内容的读取选项。
* 二进制资源的 contentRef 仅表示内容哈希身份,不承诺可通过内容存储打开。
*
* @return 只读预检选项
*/
public static SkillPackageReadOptions reportOnly() {
return new SkillPackageReadOptions(SkillPackageLimits.defaults(), SkillPackageReadMode.REPORT_ONLY);
}
/**
* 获取安全限额。
*
* @return 安全限额
*/
public SkillPackageLimits getLimits() {
return limits;
}
/**
* 获取内容处理模式。
*
* @return 内容处理模式
*/
public SkillPackageReadMode getMode() {
return mode;
}
}