feat(extensions): 安装前解析有界依赖锁
This commit is contained in:
@@ -49,3 +49,12 @@ ZIP 在解压前独立校验中央目录计数、重复原始名称、本地头
|
||||
清单解析最多 1 MiB、32 层、10000 个节点、一个文档,限制别名及记录的锚点大小;重复键、包含指令、循环别名、非 UTF-8 和未知 schema_version 拒绝。关闭文件包含与环境插值特性。JSON 类别先验证 JSON 语法再进行重复键检查,不接受伪装为 JSON 的 YAML。
|
||||
|
||||
Theme 必须声明 theme_id;Skill/Plugin 支持 Runtime 现有的 id 或专用 skill_id/plugin_id,两者同时出现须相等。YAML 类型版本及全部类型权限集合须与发行一致,重复权限拒绝。人设、模板、MCP 和模型方案检查各自基本结构及递归秘密字段;声明式包通过检查不代表已具备运行权限。项目自带 markdown-workbench/note-reviewer 清单已在 Rust 和 Community 校验中验证。
|
||||
|
||||
|
||||
## 本地依赖锁预览
|
||||
|
||||
Rust 暂存库可为指定根发行生成只读依赖预览。依赖键为同命名空间的包 ID,或同一来源下的 `namespace/package_id`;不跨来源借用同名包。完整裸版本(如 `1.2.3`)表示精确版本,其余采用 Rust SemVer 的 `=`, `^`, `~`, 比较符、通配符和逗号交集语法;不支持的范围明确拒绝,不能当作任意版本。
|
||||
|
||||
预览固定根发行,优先选择符合全部约束的较新稳定版本,发生依赖冲突时回溯;验证应用 min/max 版本、平台和架构,按依赖先于使用者输出。缺包、版本冲突和环均不生成部分结果。预算为同来源最多 4096 个候选、64 MiB 元数据、200 个解析包、10000 次搜索展开和 4 MiB 预览编码。
|
||||
|
||||
锁定结果包含来源、命名空间、包类型/版本、归档摘要、签名者摘要、完整发行摘要和权限集;整体摘要另绑定应用版本与目标平台/架构。所选包会重新读取归档并复核签名与清单。该本地预览不下载缺包、不启用实例、不授予许可;正式安装仍须在线复核撤回状态并确认权限,随后按锁定结果执行事务。
|
||||
|
||||
Reference in New Issue
Block a user