Skip to content

Commit 7f1366b

Browse files
committed
refactor: use json valid function from charmbracelet/x/json
1 parent fb35cdf commit 7f1366b

4 files changed

Lines changed: 6 additions & 16 deletions

File tree

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ go 1.24.5
44

55
require (
66
github.com/anthropics/anthropic-sdk-go v1.10.0
7+
github.com/charmbracelet/x/json v0.2.0
78
github.com/go-viper/mapstructure/v2 v2.4.0
89
github.com/google/uuid v1.6.0
910
github.com/openai/openai-go/v2 v2.3.0

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
github.com/anthropics/anthropic-sdk-go v1.10.0 h1:jDKQTfC0miIEj21eMmPrNSLKTNdNa3nHZOhd4wZz1cI=
22
github.com/anthropics/anthropic-sdk-go v1.10.0/go.mod h1:WTz31rIUHUHqai2UslPpw5CwXrQP3geYBioRV4WOLvE=
3+
github.com/charmbracelet/x/json v0.2.0 h1:DqB+ZGx2h+Z+1s98HOuOyli+i97wsFQIxP2ZQANTPrQ=
4+
github.com/charmbracelet/x/json v0.2.0/go.mod h1:opFIflx2YgXgi49xVUu8gEQ21teFAxyMwvOiZhIvWNM=
35
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
46
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
57
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=

openai/json.go

Lines changed: 0 additions & 14 deletions
This file was deleted.

openai/openai.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"strings"
1313

1414
"github.com/charmbracelet/ai/ai"
15+
xjson "github.com/charmbracelet/x/json"
1516
"github.com/google/uuid"
1617
"github.com/openai/openai-go/v2"
1718
"github.com/openai/openai-go/v2/option"
@@ -584,7 +585,7 @@ func (o languageModel) Stream(ctx context.Context, call ai.Call) (ai.StreamRespo
584585
return
585586
}
586587
toolCalls[toolCallDelta.Index] = existingToolCall
587-
if isValidJSON(existingToolCall.arguments) {
588+
if xjson.IsValid(existingToolCall.arguments) {
588589
if !yield(ai.StreamPart{
589590
Type: ai.StreamPartTypeToolInputEnd,
590591
ID: existingToolCall.id,
@@ -645,7 +646,7 @@ func (o languageModel) Stream(ctx context.Context, call ai.Call) (ai.StreamRespo
645646
}) {
646647
return
647648
}
648-
if isValidJSON(toolCalls[toolCallDelta.Index].arguments) {
649+
if xjson.IsValid(toolCalls[toolCallDelta.Index].arguments) {
649650
if !yield(ai.StreamPart{
650651
Type: ai.StreamPartTypeToolInputEnd,
651652
ID: toolCallDelta.ID,

0 commit comments

Comments
 (0)