feat(harness): add run context and retry core
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package com.superbiz.agent.harness.retry;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
public record HarnessRetryPolicies(
|
||||
RetryPolicy intentRouter,
|
||||
RetryPolicy diagnosisAgent,
|
||||
RetryPolicy toolCall,
|
||||
RetryPolicy semanticGuard,
|
||||
RetryPolicy evidenceRepair) {
|
||||
|
||||
public HarnessRetryPolicies {
|
||||
Objects.requireNonNull(intentRouter, "intentRouter must not be null");
|
||||
Objects.requireNonNull(diagnosisAgent, "diagnosisAgent must not be null");
|
||||
Objects.requireNonNull(toolCall, "toolCall must not be null");
|
||||
Objects.requireNonNull(semanticGuard, "semanticGuard must not be null");
|
||||
Objects.requireNonNull(evidenceRepair, "evidenceRepair must not be null");
|
||||
}
|
||||
|
||||
public static HarnessRetryPolicies strict() {
|
||||
RetryPolicy oneAttempt = new RetryPolicy(1, Set.of());
|
||||
return new HarnessRetryPolicies(
|
||||
new RetryPolicy(2, Set.of(
|
||||
RetryFailure.TIMEOUT,
|
||||
RetryFailure.TRANSPORT,
|
||||
RetryFailure.INVALID_OUTPUT)),
|
||||
oneAttempt,
|
||||
oneAttempt,
|
||||
new RetryPolicy(2, Set.of(
|
||||
RetryFailure.TIMEOUT,
|
||||
RetryFailure.TRANSPORT,
|
||||
RetryFailure.PARSE_ERROR,
|
||||
RetryFailure.SCHEMA_INVALID)),
|
||||
oneAttempt);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user