Skip to content

Commit c356dc4

Browse files
committed
feat(cli)+fix(build): 对齐 openclaw CLI 参考补齐 26 个缺失命令;修复 Lombok 注解处理失效
- CLI 参考对齐:新增 attach/audit/browser/claws/connect/dns/docs/fleet/ infer/memory(3)/path(5)/policy/promos(2)/resume/sandbox(3)/setup(2)/ tasks/transcripts(3)/triage/voicecall/webhooks(2)/wiki/workboard(4)/ worker/file-transfer 共 37 个门面方法与 14 个类型化 Options (含通用 SubcommandOptions,覆盖 browser/infer/wiki 大子命令树) - 修复存量编译破损:feature/3.0.x HEAD 自 Jackson 迁移提交后即不可编译 (OpenClawConstants 引用、ResponseRequest.InputItemBuilder 等 198-200 错) - 修复 WorkboardOptions.argument(String) 重复定义——javac Enter 阶段 硬错误导致注解处理轮次被整体跳过,200 个 Lombok 生成方法级联报错 - compiler 配置补 <release> 与 <proc>full</proc>(Maven 4 + JDK 21 显式化) - 测试 154 个全绿(新增 OpenClawCliMissingCommandsTest 13 个参数装配契约)
1 parent eb25e0d commit c356dc4

16 files changed

Lines changed: 2518 additions & 2 deletions

‎pom.xml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,8 @@
462462
<artifactId>maven-compiler-plugin</artifactId>
463463
<version>${maven-compiler-plugin.version}</version>
464464
<configuration>
465-
465+
<release>${java.version}</release>
466+
<proc>full</proc>
466467
<parameters>true</parameters>
467468
<encoding>${project.build.sourceEncoding}</encoding>
468469
<maxmem>512M</maxmem>

‎src/main/java/io/github/easy4j/openclaw/api/model/ResponseRequest.java‎

Lines changed: 96 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,105 @@ public class ResponseRequest {
128128
@Setter
129129
@NoArgsConstructor
130130
@AllArgsConstructor
131-
@Builder
132131
@JsonInclude(JsonInclude.Include.NON_NULL)
133132
public static class InputItem {
134133

134+
/**
135+
* 手写构建器:显式声明以规避 JDK 21 javac 在 Enter 阶段先于 Lombok
136+
* 生成解析嵌套 builder 类型的时序问题(公开 API 与 Lombok 生成形态一致)。
137+
*
138+
* @author <a href="https://github.com/loong10k">Loong Wan</a>
139+
* @since 1.0.0
140+
*/
141+
public static class InputItemBuilder {
142+
143+
private final InputItem item = new InputItem();
144+
145+
/**
146+
* 设置 JSON 属性 {@code type}。
147+
*
148+
* @param value 类型判别值
149+
* @return 当前构建器
150+
*/
151+
public InputItemBuilder type(String value) {
152+
item.type = value;
153+
return this;
154+
}
155+
156+
/**
157+
* 设置 JSON 属性 {@code role}。
158+
*
159+
* @param value 消息角色
160+
* @return 当前构建器
161+
*/
162+
public InputItemBuilder role(String value) {
163+
item.role = value;
164+
return this;
165+
}
166+
167+
/**
168+
* 设置 JSON 属性 {@code content}。
169+
*
170+
* @param value 消息正文
171+
* @return 当前构建器
172+
*/
173+
public InputItemBuilder content(String value) {
174+
item.content = value;
175+
return this;
176+
}
177+
178+
/**
179+
* 设置 JSON 属性 {@code call_id}。
180+
*
181+
* @param value 函数调用标识
182+
* @return 当前构建器
183+
*/
184+
public InputItemBuilder callId(String value) {
185+
item.callId = value;
186+
return this;
187+
}
188+
189+
/**
190+
* 设置函数调用输出文本。
191+
*
192+
* @param value 输出文本
193+
* @return 当前构建器
194+
*/
195+
public InputItemBuilder output(String value) {
196+
item.output = value;
197+
return this;
198+
}
199+
200+
/**
201+
* 设置 JSON 属性 {@code source}。
202+
*
203+
* @param value 数据来源
204+
* @return 当前构建器
205+
*/
206+
public InputItemBuilder source(Source value) {
207+
item.source = value;
208+
return this;
209+
}
210+
211+
/**
212+
* 构建不可变 {@link InputItem}。
213+
*
214+
* @return 输入项实例
215+
*/
216+
public InputItem build() {
217+
return item;
218+
}
219+
}
220+
221+
/**
222+
* 返回输入项构建器。
223+
*
224+
* @return 新的 {@link InputItemBuilder} 实例
225+
*/
226+
public static InputItemBuilder builder() {
227+
return new InputItemBuilder();
228+
}
229+
135230
/**
136231
* JSON 属性 {@code type},表示对象或协议帧的类型判别值。
137232
*/

0 commit comments

Comments
 (0)