From 157664acb224b886bcfdbd07b79ae1cf9a7c9bd1 Mon Sep 17 00:00:00 2001 From: jinye Date: Sat, 7 Nov 2026 18:09:32 +0800 Subject: [PATCH] refactor(runtime-broker): import inline fully qualified names (#16535) --- .../routing/RoutingRuntimeProvisioner.java | 7 ++++--- .../service/RuntimeBindingProvisioning.java | 3 ++- .../service/RuntimeBrokerService.java | 16 ++++++++++------ .../service/RuntimeBrokerSupport.java | 10 ++++++---- .../service/RuntimeExecutionDispatcher.java | 5 +++-- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/routing/RoutingRuntimeProvisioner.java b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/routing/RoutingRuntimeProvisioner.java index adbe3553ce4..e3c7a704119 100644 --- a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/routing/RoutingRuntimeProvisioner.java +++ b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/routing/RoutingRuntimeProvisioner.java @@ -14,6 +14,7 @@ import com.alibaba.qwen.code.runtimebroker.RuntimeScope; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.concurrent.CompletionStage; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -43,9 +44,9 @@ public final class RoutingRuntimeProvisioner implements RuntimeProvisioner { Function kindSelector, BiConsumer leaseRegistrar, Consumer leaseReleaser) { this.delegates = Map.copyOf(delegates); - this.kindSelector = java.util.Objects.requireNonNull(kindSelector, "kindSelector"); - this.leaseRegistrar = java.util.Objects.requireNonNull(leaseRegistrar, "leaseRegistrar"); - this.leaseReleaser = java.util.Objects.requireNonNull(leaseReleaser, "leaseReleaser"); + this.kindSelector = Objects.requireNonNull(kindSelector, "kindSelector"); + this.leaseRegistrar = Objects.requireNonNull(leaseRegistrar, "leaseRegistrar"); + this.leaseReleaser = Objects.requireNonNull(leaseReleaser, "leaseReleaser"); if (delegates.isEmpty() || delegates.entrySet().stream() .anyMatch(entry -> !entry.getValue().supportsKind(entry.getKey()))) { throw new IllegalArgumentException("Each routed provider must own its exact kind"); diff --git a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBindingProvisioning.java b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBindingProvisioning.java index 5f9b8a370f3..9e6cc3e8c3a 100644 --- a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBindingProvisioning.java +++ b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBindingProvisioning.java @@ -23,6 +23,7 @@ import com.alibaba.qwen.code.runtimebroker.service.RuntimeBrokerService.BindingR import java.time.Clock; import java.time.Duration; import java.time.Instant; +import java.util.Objects; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; @@ -1250,7 +1251,7 @@ final class RuntimeBindingProvisioning { && lease.getLeaseId().equals(attestation.getLeaseId()) && lease.getEpoch() == attestation.getEpoch() && request.getScope().equals(attestation.getScope()) - && java.util.Objects.equals(request.getStorageId(), + && Objects.equals(request.getStorageId(), attestation.getStorageId()) && seed.getProvisionRequestId().equals( attestation.getProvisionRequestId()); diff --git a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerService.java b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerService.java index b60a38f36ff..02b6a24897b 100644 --- a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerService.java +++ b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerService.java @@ -12,6 +12,7 @@ import com.alibaba.qwen.code.runtimebroker.ResidentWorkspaceProfile; import com.alibaba.qwen.code.runtimebroker.RuntimeBindingRecord; import com.alibaba.qwen.code.runtimebroker.RuntimeBindingRepository; import com.alibaba.qwen.code.runtimebroker.RuntimeBrokerException; +import com.alibaba.qwen.code.runtimebroker.RuntimeBrokerOperations; import com.alibaba.qwen.code.runtimebroker.RuntimeDrainReceipt; import com.alibaba.qwen.code.runtimebroker.RuntimeExtensionCommandVerifier; import com.alibaba.qwen.code.runtimebroker.RuntimeLease; @@ -31,6 +32,7 @@ import com.alibaba.qwen.code.runtimebroker.RuntimeTransport; import com.alibaba.qwen.code.runtimebroker.ToolExecutionRecord; import com.alibaba.qwen.code.runtimebroker.ToolExecutionRepository; import com.alibaba.qwen.code.runtimebroker.protocol.ProviderRuntimeProtocol; +import com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds; import com.alibaba.qwen.code.runtimebroker.service.RuntimeBindingRegistry.BindingContext; import com.alibaba.qwen.code.runtimebroker.service.RuntimeBindingRegistry.SessionContext; import com.alibaba.qwen.code.runtimebroker.transport.CsiFileHistoryProtocol; @@ -45,9 +47,11 @@ import org.apache.commons.codec.digest.DigestUtils; import java.nio.charset.StandardCharsets; import java.time.Clock; import java.time.Duration; +import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.UUID; import java.util.concurrent.CompletableFuture; @@ -83,7 +87,7 @@ import static com.alibaba.qwen.code.runtimebroker.service.RuntimeBrokerSupport.u import static com.alibaba.qwen.code.runtimebroker.service.RuntimeBrokerSupport.unwrap; /** Repository-backed orchestration for the private Managed Runtime contract. */ -public final class RuntimeBrokerService implements AutoCloseable, com.alibaba.qwen.code.runtimebroker.RuntimeBrokerOperations { +public final class RuntimeBrokerService implements AutoCloseable, RuntimeBrokerOperations { /** * Floor for {@code v3ResultWindow}: refuses sub-second durations. The * managed-agent-server property declares {@code @DurationUnit(SECONDS)}, @@ -345,7 +349,7 @@ public final class RuntimeBrokerService implements AutoCloseable, com.alibaba.qw if (current == null || !current.getBindingId().equals(binding.getBindingId()) || current.getGeneration() != binding.getGeneration() || current.getState() != RuntimeBindingRecord.State.READY || current.isDrainRequested() || !current.hasSameLease(binding.getLease()) - || !java.util.Objects.equals(current.getResourceHandle(), binding.getResourceHandle()) + || !Objects.equals(current.getResourceHandle(), binding.getResourceHandle()) || sessionRepository.countActiveByBinding(binding.getBindingId(), binding.getGeneration()) != 0 || executionRepository.hasActiveByBinding(binding.getBindingId(), binding.getGeneration())) { return failed(conflict("workspace_close_execution_unsettled", "Original resident work remains unsettled")); @@ -709,7 +713,7 @@ public final class RuntimeBrokerService implements AutoCloseable, com.alibaba.qw } private CompletionStage acknowledgeDrainedTools(RuntimeBindingRecord binding, String cursor) { - if (!com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) || binding.getLease() == null) { + if (!RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) || binding.getLease() == null) { return CompletableFuture.completedFuture(null); } var batch = executionRepository.findByBinding(binding.getBindingId(), binding.getGeneration(), cursor, 100); @@ -722,7 +726,7 @@ public final class RuntimeBrokerService implements AutoCloseable, com.alibaba.qw } private CompletionStage stopAcknowledgedRuntime(RuntimeBindingRecord binding) { - if (!com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) || binding.getLease() == null) { + if (!RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) || binding.getLease() == null) { return acknowledgeDrainedTools(binding, null).thenCompose(ignored -> provisioner.stopDrained(binding)); } return safeStage(() -> provisioner.reconcile(binding.getRequest(), binding.getProvisionSeed(), @@ -1191,7 +1195,7 @@ public final class RuntimeBrokerService implements AutoCloseable, com.alibaba.qw } public void configureExtensionCommandVerifier(RuntimeExtensionCommandVerifier verifier) { - this.extensionCommandVerifier = java.util.Objects.requireNonNull(verifier, "verifier"); + this.extensionCommandVerifier = Objects.requireNonNull(verifier, "verifier"); } public CompletionStage control(String harnessSessionId, @@ -2354,7 +2358,7 @@ public final class RuntimeBrokerService implements AutoCloseable, com.alibaba.qw || executionRepository.hasActiveByRuntimeSession( context.binding().getBindingId(), context.binding().getGeneration(), context.session().getRuntimeSessionId(), - new java.util.HashSet<>(context.backgroundProcesses()))) { + new HashSet<>(context.backgroundProcesses()))) { throw conflict("runtime_session_busy", "Runtime Session has an active operation"); } diff --git a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerSupport.java b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerSupport.java index ff44a4f51e1..ec0f82c9a94 100644 --- a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerSupport.java +++ b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeBrokerSupport.java @@ -9,11 +9,13 @@ import com.alibaba.qwen.code.runtimebroker.RuntimeScope; import com.alibaba.qwen.code.runtimebroker.StoreFailureException; import com.alibaba.qwen.code.runtimebroker.ToolExecutionRecord; import com.alibaba.qwen.code.runtimebroker.protocol.ProviderRuntimeProtocol; +import com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds; import java.time.Duration; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; @@ -214,8 +216,8 @@ final class RuntimeBrokerSupport { Map actual) { if (actual == null || !actual.keySet().equals(Set.of("executionCallId", "manifest", "deliveryStatus", "historyRevision")) - || !java.util.Objects.equals(expected.get("executionCallId"), actual.get("executionCallId")) - || !java.util.Objects.equals(expected.get("deliveryStatus"), actual.get("deliveryStatus"))) { + || !Objects.equals(expected.get("executionCallId"), actual.get("executionCallId")) + || !Objects.equals(expected.get("deliveryStatus"), actual.get("deliveryStatus"))) { return false; } Object leftRevision = expected.get("historyRevision"); @@ -235,7 +237,7 @@ final class RuntimeBrokerSupport { return false; } for (String field : List.of("resourceId", "kind", "digest")) { - if (!java.util.Objects.equals(saved.get(field), received.get(field))) { + if (!Objects.equals(saved.get(field), received.get(field))) { return false; } } @@ -249,7 +251,7 @@ final class RuntimeBrokerSupport { } static Map sshNoStartReceipt(RuntimeBindingRecord binding, ToolExecutionRecord execution) { - if (!com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) + if (!RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) || !execution.isSettled() || !"not_started".equals(execution.getExecutionStatus()) || execution.getResult() == null || !execution.getResult().containsKey("capture") || execution.getResult().get("capture") != null diff --git a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeExecutionDispatcher.java b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeExecutionDispatcher.java index 3f3eada8491..d35d54479b2 100644 --- a/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeExecutionDispatcher.java +++ b/packages/managed-agent-server/runtime-broker/src/main/java/com/alibaba/qwen/code/runtimebroker/service/RuntimeExecutionDispatcher.java @@ -15,6 +15,7 @@ import com.alibaba.qwen.code.runtimebroker.RuntimeTransport; import com.alibaba.qwen.code.runtimebroker.ToolExecutionRecord; import com.alibaba.qwen.code.runtimebroker.ToolExecutionRepository; import com.alibaba.qwen.code.runtimebroker.protocol.ProviderRuntimeProtocol; +import com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds; import com.alibaba.qwen.code.runtimebroker.service.RuntimeBindingRegistry.SessionContext; import java.time.Clock; @@ -234,7 +235,7 @@ final class RuntimeExecutionDispatcher { } return null; }).thenCompose(ignored -> { - if (!com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds.SSH_PROCESS.equals(context.binding().getRequest().getProvisionerKind())) { + if (!RuntimeProviderKinds.SSH_PROCESS.equals(context.binding().getRequest().getProvisionerKind())) { return CompletableFuture.completedFuture(null); } ToolExecutionRecord settled = executionRepository.findByExecutionCallId(executing.getExecutionCallId()); @@ -397,7 +398,7 @@ final class RuntimeExecutionDispatcher { } CompletionStage acknowledgePersistedTools(RuntimeBindingRecord binding, ToolExecutionRecord execution) { - if (!com.alibaba.qwen.code.runtimebroker.protocol.RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) + if (!RuntimeProviderKinds.SSH_PROCESS.equals(binding.getRequest().getProvisionerKind()) || !execution.isSettled() || execution.getResult() == null || ProviderRuntimeProtocol.isReference(execution.getReference())) { return CompletableFuture.completedFuture(null);