Skip to content

Commit 4e76948

Browse files
committed
fix(examples): align Java examples with regenerated SDK types
1 parent 28b1d0a commit 4e76948

10 files changed

Lines changed: 79 additions & 82 deletions

build.gradle

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,6 @@ sourceSets {
8080
examples {
8181
java {
8282
srcDir 'examples'
83-
// Exclude examples that still need API updates.
84-
exclude 'manage/ListModels.java' // Duplicate class name with agent/ListModels
85-
exclude 'manage/MemberPermissions.java' // getScopes() not in generated API
86-
exclude 'manage/UsageBreakdown.java' // getModels() return type mismatch
8783
}
8884
compileClasspath += sourceSets.main.output + configurations.runtimeClasspath
8985
runtimeClasspath += sourceSets.main.output + configurations.runtimeClasspath

examples/agent/CustomProviders.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,17 @@
22
import com.deepgram.resources.agent.v1.types.AgentV1Settings;
33
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgent;
44
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeak;
5-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeakEndpoint;
6-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeakEndpointProvider;
7-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeakOneItemProviderDeepgramModel;
85
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThink;
9-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItem;
10-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItemProvider;
116
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAudio;
12-
import com.deepgram.resources.agent.v1.types.Deepgram;
137
import com.deepgram.resources.agent.v1.websocket.V1WebSocketClient;
148
import com.deepgram.types.Anthropic;
15-
import java.util.List;
16-
import java.util.Map;
9+
import com.deepgram.types.AnthropicThinkProviderModel;
10+
import com.deepgram.types.Deepgram;
11+
import com.deepgram.types.DeepgramSpeakProviderModel;
12+
import com.deepgram.types.SpeakSettingsV1;
13+
import com.deepgram.types.SpeakSettingsV1Provider;
14+
import com.deepgram.types.ThinkSettingsV1;
15+
import com.deepgram.types.ThinkSettingsV1Provider;
1716
import java.util.concurrent.CompletableFuture;
1817
import java.util.concurrent.CountDownLatch;
1918
import java.util.concurrent.TimeUnit;
@@ -57,23 +56,24 @@ public static void main(String[] args) {
5756

5857
try {
5958
// Configure Anthropic as the think provider
60-
Anthropic anthropicProvider = Anthropic.of(Map.of("model", "claude-sonnet-4-20250514"));
59+
Anthropic anthropicProvider = Anthropic.builder()
60+
.model(AnthropicThinkProviderModel.CLAUDE_SONNET420250514)
61+
.build();
6162

6263
// Configure Deepgram as the speak provider
6364
Deepgram deepgramSpeakProvider = Deepgram.builder()
64-
.model(AgentV1SettingsAgentSpeakOneItemProviderDeepgramModel.AURA2ASTERIA_EN)
65+
.model(DeepgramSpeakProviderModel.AURA2ASTERIA_EN)
6566
.build();
6667

67-
AgentV1SettingsAgentSpeak speakSettings =
68-
AgentV1SettingsAgentSpeak.of(AgentV1SettingsAgentSpeakEndpoint.builder()
69-
.provider(AgentV1SettingsAgentSpeakEndpointProvider.deepgram(deepgramSpeakProvider))
68+
AgentV1SettingsAgentSpeak speakSettings = AgentV1SettingsAgentSpeak.of(SpeakSettingsV1.builder()
69+
.provider(SpeakSettingsV1Provider.deepgram(deepgramSpeakProvider))
7070
.build());
7171

7272
AgentV1SettingsAgent agentConfig = AgentV1SettingsAgent.builder()
73-
.think(AgentV1SettingsAgentThink.of(List.of(AgentV1SettingsAgentThinkOneItem.builder()
74-
.provider(AgentV1SettingsAgentThinkOneItemProvider.of(anthropicProvider))
73+
.think(AgentV1SettingsAgentThink.of(ThinkSettingsV1.builder()
74+
.provider(ThinkSettingsV1Provider.anthropic(anthropicProvider))
7575
.prompt("You are a helpful assistant. Keep responses concise.")
76-
.build())))
76+
.build()))
7777
.speak(speakSettings)
7878
.greeting("Hello! I'm powered by Anthropic Claude with Deepgram voices.")
7979
.build();

examples/agent/InjectMessage.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
import com.deepgram.resources.agent.v1.types.AgentV1Settings;
55
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgent;
66
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThink;
7-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItem;
8-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItemProvider;
97
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAudio;
108
import com.deepgram.resources.agent.v1.websocket.V1WebSocketClient;
119
import com.deepgram.types.OpenAiThinkProvider;
12-
import java.util.List;
13-
import java.util.Map;
10+
import com.deepgram.types.OpenAiThinkProviderModel;
11+
import com.deepgram.types.ThinkSettingsV1;
12+
import com.deepgram.types.ThinkSettingsV1Provider;
1413
import java.util.concurrent.CompletableFuture;
1514
import java.util.concurrent.CountDownLatch;
1615
import java.util.concurrent.TimeUnit;
@@ -52,18 +51,18 @@ public static void main(String[] args) {
5251

5352
try {
5453
// Configure the agent
55-
OpenAiThinkProvider openAiProvider = OpenAiThinkProvider.of(Map.of("model", "gpt-4o-mini"));
54+
OpenAiThinkProvider openAiProvider = OpenAiThinkProvider.builder()
55+
.model(OpenAiThinkProviderModel.GPT4O_MINI)
56+
.build();
5657

5758
AgentV1Settings settings = AgentV1Settings.builder()
5859
.audio(AgentV1SettingsAudio.builder().build())
5960
.agent(AgentV1SettingsAgent.builder()
60-
.think(AgentV1SettingsAgentThink.of(
61-
List.of(AgentV1SettingsAgentThinkOneItem.builder()
62-
.provider(
63-
AgentV1SettingsAgentThinkOneItemProvider.of(openAiProvider))
64-
.prompt(
65-
"You are a helpful voice assistant. Keep responses brief and conversational.")
66-
.build())))
61+
.think(AgentV1SettingsAgentThink.of(ThinkSettingsV1.builder()
62+
.provider(ThinkSettingsV1Provider.openAi(openAiProvider))
63+
.prompt(
64+
"You are a helpful voice assistant. Keep responses brief and conversational.")
65+
.build()))
6766
.greeting("Hello! I'm ready to chat.")
6867
.build())
6968
.build();

examples/agent/ProviderCombinations.java

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgent;
22
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeak;
3-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeakEndpoint;
4-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeakEndpointProvider;
5-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentSpeakOneItemProviderDeepgramModel;
63
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThink;
7-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItem;
8-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItemProvider;
9-
import com.deepgram.resources.agent.v1.types.Deepgram;
104
import com.deepgram.types.Anthropic;
5+
import com.deepgram.types.AnthropicThinkProviderModel;
6+
import com.deepgram.types.Deepgram;
7+
import com.deepgram.types.DeepgramSpeakProviderModel;
118
import com.deepgram.types.Google;
9+
import com.deepgram.types.GoogleThinkProviderModel;
1210
import com.deepgram.types.OpenAiThinkProvider;
13-
import java.util.List;
14-
import java.util.Map;
11+
import com.deepgram.types.OpenAiThinkProviderModel;
12+
import com.deepgram.types.SpeakSettingsV1;
13+
import com.deepgram.types.SpeakSettingsV1Provider;
14+
import com.deepgram.types.ThinkSettingsV1;
15+
import com.deepgram.types.ThinkSettingsV1Provider;
1516

1617
/**
1718
* Demonstrates building different provider combination configurations for comparison. Shows how to configure OpenAI,
@@ -27,22 +28,22 @@ public static void main(String[] args) {
2728

2829
// Shared speak provider (Deepgram TTS)
2930
Deepgram deepgramSpeak = Deepgram.builder()
30-
.model(AgentV1SettingsAgentSpeakOneItemProviderDeepgramModel.AURA2ASTERIA_EN)
31+
.model(DeepgramSpeakProviderModel.AURA2ASTERIA_EN)
3132
.build();
32-
AgentV1SettingsAgentSpeak speakSettings =
33-
AgentV1SettingsAgentSpeak.of(AgentV1SettingsAgentSpeakEndpoint.builder()
34-
.provider(AgentV1SettingsAgentSpeakEndpointProvider.deepgram(deepgramSpeak))
33+
AgentV1SettingsAgentSpeak speakSettings = AgentV1SettingsAgentSpeak.of(SpeakSettingsV1.builder()
34+
.provider(SpeakSettingsV1Provider.deepgram(deepgramSpeak))
3535
.build());
3636

3737
// Combination 1: OpenAI GPT-4o Mini + Deepgram
3838
System.out.println("=== Combination 1: OpenAI + Deepgram ===");
39-
OpenAiThinkProvider openAiProvider = OpenAiThinkProvider.of(Map.of("model", "gpt-4o-mini"));
39+
OpenAiThinkProvider openAiProvider =
40+
OpenAiThinkProvider.builder().model(OpenAiThinkProviderModel.GPT4O_MINI).build();
4041

4142
AgentV1SettingsAgent openAiConfig = AgentV1SettingsAgent.builder()
42-
.think(AgentV1SettingsAgentThink.of(List.of(AgentV1SettingsAgentThinkOneItem.builder()
43-
.provider(AgentV1SettingsAgentThinkOneItemProvider.of(openAiProvider))
43+
.think(AgentV1SettingsAgentThink.of(ThinkSettingsV1.builder()
44+
.provider(ThinkSettingsV1Provider.openAi(openAiProvider))
4445
.prompt("You are a helpful assistant powered by OpenAI.")
45-
.build())))
46+
.build()))
4647
.speak(speakSettings)
4748
.greeting("Hello! I'm powered by OpenAI GPT-4o Mini.")
4849
.build();
@@ -53,13 +54,14 @@ public static void main(String[] args) {
5354

5455
// Combination 2: Anthropic Claude + Deepgram
5556
System.out.println("=== Combination 2: Anthropic + Deepgram ===");
56-
Anthropic anthropicProvider = Anthropic.of(Map.of("model", "claude-sonnet-4-20250514"));
57+
Anthropic anthropicProvider =
58+
Anthropic.builder().model(AnthropicThinkProviderModel.CLAUDE_SONNET420250514).build();
5759

5860
AgentV1SettingsAgent anthropicConfig = AgentV1SettingsAgent.builder()
59-
.think(AgentV1SettingsAgentThink.of(List.of(AgentV1SettingsAgentThinkOneItem.builder()
60-
.provider(AgentV1SettingsAgentThinkOneItemProvider.of(anthropicProvider))
61+
.think(AgentV1SettingsAgentThink.of(ThinkSettingsV1.builder()
62+
.provider(ThinkSettingsV1Provider.anthropic(anthropicProvider))
6163
.prompt("You are a helpful assistant powered by Anthropic Claude.")
62-
.build())))
64+
.build()))
6365
.speak(speakSettings)
6466
.greeting("Hello! I'm powered by Anthropic Claude.")
6567
.build();
@@ -70,13 +72,13 @@ public static void main(String[] args) {
7072

7173
// Combination 3: Google Gemini + Deepgram
7274
System.out.println("=== Combination 3: Google + Deepgram ===");
73-
Google googleProvider = Google.of(Map.of("model", "gemini-2.5-flash"));
75+
Google googleProvider = Google.builder().model(GoogleThinkProviderModel.GEMINI25FLASH).build();
7476

7577
AgentV1SettingsAgent googleConfig = AgentV1SettingsAgent.builder()
76-
.think(AgentV1SettingsAgentThink.of(List.of(AgentV1SettingsAgentThinkOneItem.builder()
77-
.provider(AgentV1SettingsAgentThinkOneItemProvider.of(googleProvider))
78+
.think(AgentV1SettingsAgentThink.of(ThinkSettingsV1.builder()
79+
.provider(ThinkSettingsV1Provider.google(googleProvider))
7880
.prompt("You are a helpful assistant powered by Google Gemini.")
79-
.build())))
81+
.build()))
8082
.speak(speakSettings)
8183
.greeting("Hello! I'm powered by Google Gemini.")
8284
.build();

examples/agent/VoiceAgent.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22
import com.deepgram.resources.agent.v1.types.AgentV1Settings;
33
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgent;
44
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThink;
5-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItem;
6-
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAgentThinkOneItemProvider;
75
import com.deepgram.resources.agent.v1.types.AgentV1SettingsAudio;
86
import com.deepgram.resources.agent.v1.websocket.V1WebSocketClient;
97
import com.deepgram.types.OpenAiThinkProvider;
8+
import com.deepgram.types.OpenAiThinkProviderModel;
9+
import com.deepgram.types.ThinkSettingsV1;
10+
import com.deepgram.types.ThinkSettingsV1Provider;
1011
import java.io.InputStream;
1112
import java.net.URI;
12-
import java.util.List;
13-
import java.util.Map;
1413
import java.util.concurrent.CompletableFuture;
1514
import java.util.concurrent.CountDownLatch;
1615
import java.util.concurrent.TimeUnit;
@@ -59,13 +58,15 @@ public static void main(String[] args) {
5958
// Send agent settings after receiving welcome
6059
try {
6160
// Configure the LLM think provider (OpenAI)
62-
OpenAiThinkProvider openAiProvider = OpenAiThinkProvider.of(Map.of("model", "gpt-4o-mini"));
61+
OpenAiThinkProvider openAiProvider = OpenAiThinkProvider.builder()
62+
.model(OpenAiThinkProviderModel.GPT4O_MINI)
63+
.build();
6364

6465
AgentV1SettingsAgent agentConfig = AgentV1SettingsAgent.builder()
65-
.think(AgentV1SettingsAgentThink.of(List.of(AgentV1SettingsAgentThinkOneItem.builder()
66-
.provider(AgentV1SettingsAgentThinkOneItemProvider.of(openAiProvider))
66+
.think(AgentV1SettingsAgentThink.of(ThinkSettingsV1.builder()
67+
.provider(ThinkSettingsV1Provider.openAi(openAiProvider))
6768
.prompt("You are a helpful voice assistant. Keep your responses brief.")
68-
.build())))
69+
.build()))
6970
.greeting("Hello! How can I help you today?")
7071
.build();
7172

examples/listen/Captions.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ public Void visit(ListenV1Response response) {
7777
for (int i = 0; i < paras.size(); i++) {
7878
ListenV1ResponseResultsChannelsItemAlternativesItemParagraphsParagraphsItem para =
7979
paras.get(i);
80-
float speaker = para.getSpeaker().orElse(0f);
81-
System.out.printf("Speaker %.0f:%n", speaker);
80+
int speaker = para.getSpeaker().orElse(0);
81+
System.out.printf("Speaker %d:%n", speaker);
8282

8383
List<
8484
ListenV1ResponseResultsChannelsItemAlternativesItemParagraphsParagraphsItemSentencesItem>
@@ -100,11 +100,11 @@ public Void visit(ListenV1Response response) {
100100
System.out.println("=== Utterances ===");
101101
System.out.println("-".repeat(60));
102102
for (ListenV1ResponseResultsUtterancesItem utterance : utterances) {
103-
float speaker = utterance.getSpeaker().orElse(0f);
103+
int speaker = utterance.getSpeaker().orElse(0);
104104
float start = utterance.getStart().orElse(0f);
105105
float end = utterance.getEnd().orElse(0f);
106106
String transcript = utterance.getTranscript().orElse("");
107-
System.out.printf("[%.2f - %.2f] Speaker %.0f: %s%n", start, end, speaker, transcript);
107+
System.out.printf("[%.2f - %.2f] Speaker %d: %s%n", start, end, speaker, transcript);
108108
}
109109
}
110110

examples/listen/LiveStreamingV2.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.deepgram.resources.listen.v2.types.ListenV2TurnInfoEvent;
55
import com.deepgram.resources.listen.v2.websocket.V2ConnectOptions;
66
import com.deepgram.resources.listen.v2.websocket.V2WebSocketClient;
7+
import com.deepgram.types.ListenV2Model;
78
import java.util.concurrent.CompletableFuture;
89
import java.util.concurrent.CountDownLatch;
910
import java.util.concurrent.TimeUnit;
@@ -64,7 +65,7 @@ public static void main(String[] args) {
6465

6566
// Connect to the WebSocket
6667
CompletableFuture<Void> connectFuture = wsClient.connect(
67-
V2ConnectOptions.builder().model("flux-general-en").build());
68+
V2ConnectOptions.builder().model(ListenV2Model.FLUX_GENERAL_EN).build());
6869
connectFuture.get(10, TimeUnit.SECONDS);
6970

7071
System.out.println("V2 WebSocket connected. In a real application, you would stream");
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
/**
99
* List all available Deepgram models (speech-to-text and text-to-speech).
1010
*
11-
* <p>Usage: java ListModels
11+
* <p>Usage: java ManageListModels
1212
*/
13-
public class ListModels {
13+
public class ManageListModels {
1414
public static void main(String[] args) {
1515
// Get API key from environment
1616
String apiKey = System.getenv("DEEPGRAM_API_KEY");

examples/manage/MemberPermissions.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,10 @@ public static void main(String[] args) {
6161
for (ListProjectMembersV1ResponseMembersItem member : members) {
6262
String memberId = member.getMemberId().orElse("unknown");
6363
String email = member.getEmail().orElse("unknown");
64-
List<String> memberScopes = member.getScopes().orElse(Collections.emptyList());
6564

6665
System.out.printf(" Member: %s%n", email);
6766
System.out.printf(" ID: %s%n", memberId);
6867

69-
// Show scopes from the member listing
70-
if (!memberScopes.isEmpty()) {
71-
System.out.println(" Scopes (from member):");
72-
for (String scope : memberScopes) {
73-
System.out.printf(" - %s%n", scope);
74-
}
75-
}
76-
7768
// Also fetch detailed scopes via the scopes endpoint
7869
try {
7970
ListProjectMemberScopesV1Response scopesResponse =

0 commit comments

Comments
 (0)