diff --git a/internal/jsonext/json.go b/providers/openai/json.go similarity index 71% rename from internal/jsonext/json.go rename to providers/openai/json.go index 467f22e2cb478acef6ace9bb3246b956168523dd..0601aa0c38c8229a86d82787cc2b93aa36262f1b 100644 --- a/internal/jsonext/json.go +++ b/providers/openai/json.go @@ -1,10 +1,10 @@ -package jsonext +package openai import ( "encoding/json" ) -func IsValidJSON[T string | []byte](data T) bool { +func isValidJSON[T string | []byte](data T) bool { if len(data) == 0 { // hot path return false } diff --git a/providers/openai/openai.go b/providers/openai/openai.go index 3c27222a1f4f4d24fb24a74c741f515a3a3e5f58..4627defdb65bbd902ab74893300f9453c452230e 100644 --- a/providers/openai/openai.go +++ b/providers/openai/openai.go @@ -12,7 +12,6 @@ import ( "strings" "github.com/charmbracelet/ai" - "github.com/charmbracelet/ai/internal/jsonext" "github.com/google/uuid" "github.com/openai/openai-go/v2" "github.com/openai/openai-go/v2/option" @@ -585,7 +584,7 @@ func (o languageModel) Stream(ctx context.Context, call ai.Call) (ai.StreamRespo return } toolCalls[toolCallDelta.Index] = existingToolCall - if jsonext.IsValidJSON(existingToolCall.arguments) { + if isValidJSON(existingToolCall.arguments) { if !yield(ai.StreamPart{ Type: ai.StreamPartTypeToolInputEnd, ID: existingToolCall.id, @@ -646,7 +645,7 @@ func (o languageModel) Stream(ctx context.Context, call ai.Call) (ai.StreamRespo }) { return } - if jsonext.IsValidJSON(toolCalls[toolCallDelta.Index].arguments) { + if isValidJSON(toolCalls[toolCallDelta.Index].arguments) { if !yield(ai.StreamPart{ Type: ai.StreamPartTypeToolInputEnd, ID: toolCallDelta.ID,