feat(skills): 内置技能 - 补齐总纲引用的方法卡与第三方许可声明,升级影策短剧工作流
内置技能包补齐 SKILL.md 名录中引用的 cards/*.md 方法卡,并为改编自开源项目的包附上 THIRD-PARTY-LICENSES.md。影策短剧制作工作流升级到 1.1.0,新增输入分流、故事圣经、状态机与镜头连续性硬门禁。新增测试拦截总纲引用了但包内缺失的方法卡。
This commit is contained in:
1 parent
64a3273c50
commit
5d0d07dbe5
736 files changed
+81142
-15
No files matched your search
@@ -2,6 +2,7 @@ package skills
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"testing"
|
||||
|
||||
"infinite-canvas/backend/internal/model"
|
||||
@@ -11,6 +12,24 @@ import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// 总纲名录里写死的 `cards/…` 路径会被 Agent 直接交给 skill_read_file;
|
||||
// 包里缺卡时只会在运行时报「读取参考资料失败」,所以在这里提前拦住。
|
||||
func TestBuiltinPackagesShipReferencedCards(t *testing.T) {
|
||||
packages, err := loadBuiltinSkillPackages(nil)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// 只认具体文件名;`cards/<slug>.md` 这类占位写法不算引用。
|
||||
reference := regexp.MustCompile("`(cards/[^`<>\\s]+\\.md)`")
|
||||
for _, item := range packages {
|
||||
for _, match := range reference.FindAllStringSubmatch(string(item.archive.Files["SKILL.md"]), -1) {
|
||||
if _, ok := item.archive.Files[match[1]]; !ok {
|
||||
t.Errorf("builtin skill %s (%s) references missing %s", item.skill.ID, item.skill.Name, match[1])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuiltinMarkdownPackagesPreserveHistoryAndUserState(t *testing.T) {
|
||||
db, err := gorm.Open(sqlite.Open(filepath.Join(t.TempDir(), "skills.db")), &gorm.Config{})
|
||||
if err != nil {
|
||||
|
||||
Reference in new issue
Block a user