fix(lint): check type assertions in web_search history helper and test

This commit is contained in:
shaw
2026-10-09 11:10:11 +08:00
parent 64caa9af8b
commit 85e3110953
2 changed files with 12 additions and 3 deletions
@@ -120,7 +120,8 @@ func ensureOpenAIOAuthWebSearchToolForHistory(reqBody map[string]any, responsesL
case !responsesLite:
reqBody["tools"] = append(tools, cloneOpenAIWebSearchHistoryTool())
case additionalToolsIndex >= 0:
item := input[additionalToolsIndex].(map[string]any)
// additionalToolsIndex is only recorded for map items.
item, _ := input[additionalToolsIndex].(map[string]any)
existing, _ := item["tools"].([]any)
item["tools"] = append(existing, cloneOpenAIWebSearchHistoryTool())
default:
@@ -138,7 +138,15 @@ func TestEnsureOpenAIOAuthWebSearchToolForHistoryDoesNotShareToolMap(t *testing.
second := map[string]any{"input": []any{map[string]any{"type": "web_search_call"}}}
require.True(t, ensureOpenAIOAuthWebSearchToolForHistory(first, false))
require.True(t, ensureOpenAIOAuthWebSearchToolForHistory(second, false))
first["tools"].([]any)[0].(map[string]any)["external_web_access"] = true
require.Equal(t, false, second["tools"].([]any)[0].(map[string]any)["external_web_access"])
firstTools, ok := first["tools"].([]any)
require.True(t, ok)
firstTool, ok := firstTools[0].(map[string]any)
require.True(t, ok)
firstTool["external_web_access"] = true
secondTools, ok := second["tools"].([]any)
require.True(t, ok)
secondTool, ok := secondTools[0].(map[string]any)
require.True(t, ok)
require.Equal(t, false, secondTool["external_web_access"])
require.Equal(t, false, openAIWebSearchHistoryTool["external_web_access"])
}