build / build-push (push) Successful in 54s
原来助手表单只渲染"缺失的必填项",且控件只有文本/单选/时间 —— 与各模块 自己的发布页相比缺了接收对象多选、附件、定时发送、置顶、紧急程度、回执单据、 发布方式等字段,用户没法"填得一样"。 补齐一层共享的表单能力,再把三个发布工具按模块页逐字段重写: 共享能力 - ToolParam: 新增 join(分隔符)/multiple/allOption(哨兵)/scopes(推送范围), array 类型有选项来源时自动用多选控件;数组 schema 补 items - ToolDef: 新增 fullForm() —— 表单渲染全部字段(不再只渲染缺失必填) - ToolExecutor: POST_JSON 前按 joinSeparator 把数组拼成模块要的逗号串; allToken 与具体项互斥(只选具体项→拼串,否则发哨兵) - AgentOrchestrator: file 控件补 uploadPath(/<模块>/api/base/FileUpload) - 模板/参数文件同步下发 joinSeparator/uploadPath/multiple/allToken/scopeType 三个发布工具 - notice.publish: 补重要程度/接收班级(pushScopes 对象数组)/置顶/短信/阅读回执/ 附件/定时发送/发布方式;新增 notice.stuTree(组织树) - dorm.publish: 补紧急程度/生效时间/回执截止/回执单据/接收宿舍(多选,ALL)/ 宿管配合/置顶/短信/附件/定时发送/存草稿 - activity.publish: 补报名截止/回执方式三档/名额上限/家长随行/活动费用/ 接收班级(多选,ALL)/短信/附件/定时发送/存草稿 - leave.submit/register: 连续请假改为可填参数,补连续天数与佐证材料附件 测试:发布工具契约 + 表单字段与模块页一致性断言;90 tests 全绿