Bundle 管理器
登记管理器,并设置来源 Bundle 跨版本共用的固定关系。
管理器负责 Bundle 对应的外部业务实例及生命周期副作用。平台负责资源定义、安装编排和运行态绑定; 管理器业务实例、幂等与清理事实由管理器自己持有。公开通信合同、SDK 和服务开发流程见 生命周期与引用协议和 首次接入。
来源 Bundle 的固定关系
当前数据库 BundleDefinition 使用 schemaVersion: "23.0.0",只声明资源、属性和配置。
管理器是来源 Bundle 跨版本共用的独立关系,不写入 BundleDefinition。
旧清单里的插件数组、顺序、失败策略和资源/属性名单不再提供当前安装的管理授权。
管理器直接管理该 Bundle 的全部资源及其属性;新增本包资源不需要再逐资源授予管理权限。 平台仍校验操作者权限、来源关系、目标 Runtime/安装与资源归属,不允许管理器操作其他 Bundle 的资源。
先完成管理器的登记及凭据验收,再使用登记返回的准确管理器身份设置来源关系:
baijimu bundle manager set <bundleId> --workspace-id <workspaceId> \
--manager-id <registeredManagerId>该命令返回关系操作回执,不会重新执行已有安装。不要根据目录名称猜测身份或自行拼装登记记录。 关系不随 Bundle 版本冻结,设置后无需为了这项关系单独创建 Bundle 后继版本。 管理器更换和移除不属于此入口,删除旧清单字段也不表示撤销已登记关系。
发布与安装的分工
- 资源定义与不可变版本由各资源 Owner 管理。
- 作者在数据库定义的
resources选择精确资源版本,使用当前清单协议。 - 纳入或移除资源先按修订更新数据库定义;创建不可变 Bundle 版本时由服务端完整校验。
- Runtime 安装、升级和卸载从来源 Owner 读取当前管理器关系,按正式生命周期合同执行。
- 管理器响应中的属性、凭据和外部业务实例信息由各自 Owner 按合同处理,不复制为平台业务实例库存。
不要用已安装版本的旧插件数组、历史操作快照或成功回执推导当前关系。 Runtime 当前资源及精确版本直接读取资源 Owner;安装记录只证明安装与操作的审计事实。
凭据与副作用
资源凭据按完整资源身份及安装作用域隔离。首次建立作用域时,原文随正式生命周期响应交付; 已有凭据不反复下发原文。丢失时使用显式签发或轮换流程,不提供原文回查或重交付回退。 凭据和业务数据不进入日志、作者清单或普通错误结果。
平台不枚举管理器自己的外部业务实例。管理器持有业务实例身份、幂等键及失败残留, 按一次操作的正式身份处理重复调用。结果未知时应如实返回,不把超时解释为外部操作已撤销。
独立属性写入使用它自身的公开合同与当前来源关系,不需要虚构一个生命周期执行实例。 同步用户来自当前请求委托;定时任务、事件和 Workflow 的执行用户分别由执行 Owner 校验, 不能由管理器凭据推导用户授权。
验证
验证登记与来源关系的准确身份,检查安装、升级、配置和卸载的真实业务结果; 同一操作重放不能重复创建外部实例,不同安装不能互相覆盖。 失败审计和管理器自己的残留处理必须可追踪。引用、授权或 Owner 返回不一致时保留真实错误, 不要改用旧数组、缓存或历史成功结果继续执行。