fix(examples): improve sdk examples

Andrey Nering created

* Check errors where we weren't checking them
* Exit with status 1 on errors

Change summary

internal/ai/examples/agent/main.go                  |  8 ++++++--
internal/ai/examples/simple/main.go                 |  4 ++--
internal/ai/examples/stream/main.go                 | 10 +++++++---
internal/ai/examples/streaming-agent-simple/main.go |  2 +-
4 files changed, 16 insertions(+), 8 deletions(-)

Detailed changes

internal/ai/examples/agent/main.go 🔗

@@ -16,7 +16,7 @@ func main() {
 	model, err := provider.LanguageModel("gpt-4o")
 	if err != nil {
 		fmt.Println(err)
-		return
+		os.Exit(1)
 	}
 
 	// Create weather tool using the new type-safe API
@@ -38,9 +38,13 @@ func main() {
 		ai.WithTools(weatherTool),
 	)
 
-	result, _ := agent.Generate(context.Background(), ai.AgentCall{
+	result, err := agent.Generate(context.Background(), ai.AgentCall{
 		Prompt: "What's the weather in pristina",
 	})
+	if err != nil {
+		fmt.Println(err)
+		os.Exit(1)
+	}
 
 	fmt.Println("Steps: ", len(result.Steps))
 	for _, s := range result.Steps {

internal/ai/examples/simple/main.go 🔗

@@ -14,7 +14,7 @@ func main() {
 	model, err := provider.LanguageModel("claude-sonnet-4-20250514")
 	if err != nil {
 		fmt.Println(err)
-		return
+		os.Exit(1)
 	}
 
 	response, err := model.Generate(context.Background(), ai.Call{
@@ -25,7 +25,7 @@ func main() {
 	})
 	if err != nil {
 		fmt.Println(err)
-		return
+		os.Exit(1)
 	}
 
 	fmt.Println("Assistant: ", response.Content.Text())

internal/ai/examples/stream/main.go 🔗

@@ -15,7 +15,7 @@ func main() {
 	model, err := provider.LanguageModel("gpt-4o")
 	if err != nil {
 		fmt.Println(err)
-		return
+		os.Exit(1)
 	}
 
 	stream, err := model.Stream(context.Background(), ai.Call{
@@ -44,11 +44,15 @@ func main() {
 	})
 	if err != nil {
 		fmt.Println(err)
-		return
+		os.Exit(1)
 	}
 
 	for chunk := range stream {
-		data, _ := json.Marshal(chunk)
+		data, err := json.Marshal(chunk)
+		if err != nil {
+			fmt.Println(err)
+			continue
+		}
 		fmt.Println(string(data))
 	}
 }