Skip to content

Commit 18ea992

Browse files
ctawiahcursoragent
andcommitted
refactor: adopt LDAIConfigTypes nested names in config types (AIC-2663)
Update the AIConfig hierarchy, LDAIClientImpl, and tests to reference the consolidated LDAIConfigTypes.{Mode,Message,Model,Provider,Tool,JudgeConfiguration} types introduced on the data-model PR. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent d5a4ee5 commit 18ea992

10 files changed

Lines changed: 105 additions & 105 deletions

File tree

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/AIAgentConfig.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.launchdarkly.sdk.server.ai;
22

3-
import com.launchdarkly.sdk.server.ai.datamodel.AIConfigMode;
4-
import com.launchdarkly.sdk.server.ai.datamodel.JudgeConfiguration;
5-
import com.launchdarkly.sdk.server.ai.datamodel.ModelConfig;
6-
import com.launchdarkly.sdk.server.ai.datamodel.ProviderConfig;
7-
import com.launchdarkly.sdk.server.ai.datamodel.ToolConfig;
3+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Mode;
4+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.JudgeConfiguration;
5+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Model;
6+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Provider;
7+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Tool;
88

99
import java.util.Collections;
1010
import java.util.Map;
@@ -20,18 +20,18 @@
2020
public final class AIAgentConfig extends AIConfig {
2121
private final String instructions;
2222
private final JudgeConfiguration judgeConfiguration;
23-
private final Map<String, ToolConfig> tools;
23+
private final Map<String, Tool> tools;
2424

2525
AIAgentConfig(
2626
String key,
2727
boolean enabled,
28-
ModelConfig model,
29-
ProviderConfig provider,
28+
Model model,
29+
Provider provider,
3030
String instructions,
3131
JudgeConfiguration judgeConfiguration,
32-
Map<String, ToolConfig> tools,
32+
Map<String, Tool> tools,
3333
Supplier<LDAIConfigTracker> trackerFactory) {
34-
super(key, enabled, AIConfigMode.AGENT, model, provider, trackerFactory);
34+
super(key, enabled, Mode.AGENT, model, provider, trackerFactory);
3535
this.instructions = instructions;
3636
this.judgeConfiguration = judgeConfiguration;
3737
this.tools = tools == null ? null : Collections.unmodifiableMap(tools);
@@ -60,7 +60,7 @@ public JudgeConfiguration getJudgeConfiguration() {
6060
*
6161
* @return an unmodifiable map of tools, or {@code null} if none were specified
6262
*/
63-
public Map<String, ToolConfig> getTools() {
63+
public Map<String, Tool> getTools() {
6464
return tools;
6565
}
6666
}

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/AIAgentConfigDefault.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.launchdarkly.sdk.server.ai;
22

3-
import com.launchdarkly.sdk.server.ai.datamodel.JudgeConfiguration;
4-
import com.launchdarkly.sdk.server.ai.datamodel.ToolConfig;
3+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.JudgeConfiguration;
4+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Tool;
55

66
import java.util.Collections;
77
import java.util.LinkedHashMap;
@@ -16,7 +16,7 @@
1616
public final class AIAgentConfigDefault extends AIConfigDefault {
1717
private final String instructions;
1818
private final JudgeConfiguration judgeConfiguration;
19-
private final Map<String, ToolConfig> tools;
19+
private final Map<String, Tool> tools;
2020

2121
private AIAgentConfigDefault(Builder builder) {
2222
super(builder);
@@ -49,7 +49,7 @@ public JudgeConfiguration getJudgeConfiguration() {
4949
*
5050
* @return an unmodifiable map of tools, or {@code null} if none were specified
5151
*/
52-
public Map<String, ToolConfig> getTools() {
52+
public Map<String, Tool> getTools() {
5353
return tools;
5454
}
5555

@@ -77,7 +77,7 @@ public static AIAgentConfigDefault disabled() {
7777
public static final class Builder extends AbstractBuilder<Builder> {
7878
private String instructions;
7979
private JudgeConfiguration judgeConfiguration;
80-
private Map<String, ToolConfig> tools;
80+
private Map<String, Tool> tools;
8181

8282
private Builder() {
8383
}
@@ -115,7 +115,7 @@ public Builder judgeConfiguration(JudgeConfiguration judgeConfiguration) {
115115
* @param tools the tools; may be {@code null}
116116
* @return this builder
117117
*/
118-
public Builder tools(Map<String, ToolConfig> tools) {
118+
public Builder tools(Map<String, Tool> tools) {
119119
this.tools = tools;
120120
return this;
121121
}

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/AICompletionConfig.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package com.launchdarkly.sdk.server.ai;
22

3-
import com.launchdarkly.sdk.server.ai.datamodel.AIConfigMode;
4-
import com.launchdarkly.sdk.server.ai.datamodel.JudgeConfiguration;
5-
import com.launchdarkly.sdk.server.ai.datamodel.LDMessage;
6-
import com.launchdarkly.sdk.server.ai.datamodel.ModelConfig;
7-
import com.launchdarkly.sdk.server.ai.datamodel.ProviderConfig;
8-
import com.launchdarkly.sdk.server.ai.datamodel.ToolConfig;
3+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Mode;
4+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.JudgeConfiguration;
5+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Message;
6+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Model;
7+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Provider;
8+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Tool;
99

1010
import java.util.Collections;
1111
import java.util.List;
@@ -20,20 +20,20 @@
2020
* supplied variables and evaluation context. Instances are immutable.
2121
*/
2222
public final class AICompletionConfig extends AIConfig {
23-
private final List<LDMessage> messages;
23+
private final List<Message> messages;
2424
private final JudgeConfiguration judgeConfiguration;
25-
private final Map<String, ToolConfig> tools;
25+
private final Map<String, Tool> tools;
2626

2727
AICompletionConfig(
2828
String key,
2929
boolean enabled,
30-
ModelConfig model,
31-
ProviderConfig provider,
32-
List<LDMessage> messages,
30+
Model model,
31+
Provider provider,
32+
List<Message> messages,
3333
JudgeConfiguration judgeConfiguration,
34-
Map<String, ToolConfig> tools,
34+
Map<String, Tool> tools,
3535
Supplier<LDAIConfigTracker> trackerFactory) {
36-
super(key, enabled, AIConfigMode.COMPLETION, model, provider, trackerFactory);
36+
super(key, enabled, Mode.COMPLETION, model, provider, trackerFactory);
3737
this.messages = messages == null ? null : Collections.unmodifiableList(messages);
3838
this.judgeConfiguration = judgeConfiguration;
3939
this.tools = tools == null ? null : Collections.unmodifiableMap(tools);
@@ -44,7 +44,7 @@ public final class AICompletionConfig extends AIConfig {
4444
*
4545
* @return an unmodifiable list of messages, or {@code null} if none were specified
4646
*/
47-
public List<LDMessage> getMessages() {
47+
public List<Message> getMessages() {
4848
return messages;
4949
}
5050

@@ -62,7 +62,7 @@ public JudgeConfiguration getJudgeConfiguration() {
6262
*
6363
* @return an unmodifiable map of tools, or {@code null} if none were specified
6464
*/
65-
public Map<String, ToolConfig> getTools() {
65+
public Map<String, Tool> getTools() {
6666
return tools;
6767
}
6868
}

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/AICompletionConfigDefault.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.launchdarkly.sdk.server.ai;
22

3-
import com.launchdarkly.sdk.server.ai.datamodel.JudgeConfiguration;
4-
import com.launchdarkly.sdk.server.ai.datamodel.LDMessage;
5-
import com.launchdarkly.sdk.server.ai.datamodel.ToolConfig;
3+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.JudgeConfiguration;
4+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Message;
5+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Tool;
66

77
import java.util.ArrayList;
88
import java.util.Collections;
@@ -17,9 +17,9 @@
1717
* Build instances with {@link #builder()}. Instances are immutable.
1818
*/
1919
public final class AICompletionConfigDefault extends AIConfigDefault {
20-
private final List<LDMessage> messages;
20+
private final List<Message> messages;
2121
private final JudgeConfiguration judgeConfiguration;
22-
private final Map<String, ToolConfig> tools;
22+
private final Map<String, Tool> tools;
2323

2424
private AICompletionConfigDefault(Builder builder) {
2525
super(builder);
@@ -35,7 +35,7 @@ private AICompletionConfigDefault(Builder builder) {
3535
*
3636
* @return an unmodifiable list of messages, or {@code null} if none were specified
3737
*/
38-
public List<LDMessage> getMessages() {
38+
public List<Message> getMessages() {
3939
return messages;
4040
}
4141

@@ -53,7 +53,7 @@ public JudgeConfiguration getJudgeConfiguration() {
5353
*
5454
* @return an unmodifiable map of tools, or {@code null} if none were specified
5555
*/
56-
public Map<String, ToolConfig> getTools() {
56+
public Map<String, Tool> getTools() {
5757
return tools;
5858
}
5959

@@ -79,9 +79,9 @@ public static AICompletionConfigDefault disabled() {
7979
* Builder for {@link AICompletionConfigDefault}.
8080
*/
8181
public static final class Builder extends AbstractBuilder<Builder> {
82-
private List<LDMessage> messages;
82+
private List<Message> messages;
8383
private JudgeConfiguration judgeConfiguration;
84-
private Map<String, ToolConfig> tools;
84+
private Map<String, Tool> tools;
8585

8686
private Builder() {
8787
}
@@ -97,7 +97,7 @@ protected Builder self() {
9797
* @param messages the messages; may be {@code null}
9898
* @return this builder
9999
*/
100-
public Builder messages(List<LDMessage> messages) {
100+
public Builder messages(List<Message> messages) {
101101
this.messages = messages;
102102
return this;
103103
}
@@ -119,7 +119,7 @@ public Builder judgeConfiguration(JudgeConfiguration judgeConfiguration) {
119119
* @param tools the tools; may be {@code null}
120120
* @return this builder
121121
*/
122-
public Builder tools(Map<String, ToolConfig> tools) {
122+
public Builder tools(Map<String, Tool> tools) {
123123
this.tools = tools;
124124
return this;
125125
}

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/AIConfig.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.launchdarkly.sdk.server.ai;
22

3-
import com.launchdarkly.sdk.server.ai.datamodel.AIConfigMode;
4-
import com.launchdarkly.sdk.server.ai.datamodel.ModelConfig;
5-
import com.launchdarkly.sdk.server.ai.datamodel.ProviderConfig;
3+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Mode;
4+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Model;
5+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Provider;
66

77
import java.util.Objects;
88
import java.util.function.Supplier;
@@ -20,17 +20,17 @@
2020
public abstract class AIConfig {
2121
private final String key;
2222
private final boolean enabled;
23-
private final AIConfigMode mode;
24-
private final ModelConfig model;
25-
private final ProviderConfig provider;
23+
private final Mode mode;
24+
private final Model model;
25+
private final Provider provider;
2626
private final Supplier<LDAIConfigTracker> trackerFactory;
2727

2828
AIConfig(
2929
String key,
3030
boolean enabled,
31-
AIConfigMode mode,
32-
ModelConfig model,
33-
ProviderConfig provider,
31+
Mode mode,
32+
Model model,
33+
Provider provider,
3434
Supplier<LDAIConfigTracker> trackerFactory) {
3535
this.key = key;
3636
this.enabled = enabled;
@@ -66,7 +66,7 @@ public boolean isEnabled() {
6666
*
6767
* @return the mode, never {@code null}
6868
*/
69-
public AIConfigMode getMode() {
69+
public Mode getMode() {
7070
return mode;
7171
}
7272

@@ -75,7 +75,7 @@ public AIConfigMode getMode() {
7575
*
7676
* @return the model, or {@code null} if none was specified
7777
*/
78-
public ModelConfig getModel() {
78+
public Model getModel() {
7979
return model;
8080
}
8181

@@ -84,7 +84,7 @@ public ModelConfig getModel() {
8484
*
8585
* @return the provider, or {@code null} if none was specified
8686
*/
87-
public ProviderConfig getProvider() {
87+
public Provider getProvider() {
8888
return provider;
8989
}
9090

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/AIConfigDefault.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.launchdarkly.sdk.server.ai;
22

3-
import com.launchdarkly.sdk.server.ai.datamodel.ModelConfig;
4-
import com.launchdarkly.sdk.server.ai.datamodel.ProviderConfig;
3+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Model;
4+
import com.launchdarkly.sdk.server.ai.datamodel.LDAIConfigTypes.Provider;
55

66
/**
77
* The common, mode-independent surface of a caller-supplied default AI Config.
@@ -14,8 +14,8 @@
1414
*/
1515
public abstract class AIConfigDefault {
1616
private final Boolean enabled;
17-
private final ModelConfig model;
18-
private final ProviderConfig provider;
17+
private final Model model;
18+
private final Provider provider;
1919

2020
AIConfigDefault(AbstractBuilder<?> builder) {
2121
this.enabled = builder.enabled;
@@ -46,7 +46,7 @@ public boolean isEnabled() {
4646
*
4747
* @return the model, or {@code null} if none was specified
4848
*/
49-
public ModelConfig getModel() {
49+
public Model getModel() {
5050
return model;
5151
}
5252

@@ -55,7 +55,7 @@ public ModelConfig getModel() {
5555
*
5656
* @return the provider, or {@code null} if none was specified
5757
*/
58-
public ProviderConfig getProvider() {
58+
public Provider getProvider() {
5959
return provider;
6060
}
6161

@@ -69,8 +69,8 @@ public ProviderConfig getProvider() {
6969
*/
7070
protected abstract static class AbstractBuilder<B extends AbstractBuilder<B>> {
7171
private Boolean enabled;
72-
private ModelConfig model;
73-
private ProviderConfig provider;
72+
private Model model;
73+
private Provider provider;
7474

7575
/**
7676
* Returns this builder as the concrete subtype.
@@ -96,7 +96,7 @@ public B enabled(boolean enabled) {
9696
* @param model the model configuration; may be {@code null}
9797
* @return this builder
9898
*/
99-
public B model(ModelConfig model) {
99+
public B model(Model model) {
100100
this.model = model;
101101
return self();
102102
}
@@ -107,7 +107,7 @@ public B model(ModelConfig model) {
107107
* @param provider the provider configuration; may be {@code null}
108108
* @return this builder
109109
*/
110-
public B provider(ProviderConfig provider) {
110+
public B provider(Provider provider) {
111111
this.provider = provider;
112112
return self();
113113
}

0 commit comments

Comments
 (0)