browse: refactor tool responses to match claudetool patterns
This was vibe-coded, but the vibe was wrong.
Make it look like the rest of the code,
which will ease upcoming refactoring work.
Switch from JSON to XML-ish for textual tool outputs.
Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: se50bf57009dfd97ak
diff --git a/claudetool/browse/browse_test.go b/claudetool/browse/browse_test.go
index 024f685..65be1e9 100644
--- a/claudetool/browse/browse_test.go
+++ b/claudetool/browse/browse_test.go
@@ -183,22 +183,13 @@
}
// Verify the response is successful
- var response struct {
- Status string `json:"status"`
- Error string `json:"error,omitempty"`
- }
-
resultText := result[0].Text
- if err := json.Unmarshal([]byte(resultText), &response); err != nil {
- t.Fatalf("Error unmarshaling response: %v", err)
- }
-
- if response.Status != "success" {
+ if !strings.Contains(resultText, "done") {
// If browser automation is not available, skip the test
- if strings.Contains(response.Error, "browser automation not available") {
+ if strings.Contains(resultText, "browser automation not available") {
t.Skip("Browser automation not available in this environment")
} else {
- t.Errorf("Expected status 'success', got '%s' with error: %s", response.Status, response.Error)
+ t.Fatalf("Expected done in result text, got: %s", resultText)
}
}
@@ -351,8 +342,8 @@
if err != nil {
t.Fatalf("Navigation error: %v", err)
}
- if !strings.Contains(content[0].Text, "success") {
- t.Fatalf("Expected success in navigation response, got: %s", content[0].Text)
+ if !strings.Contains(content[0].Text, "done") {
+ t.Fatalf("Expected done in navigation response, got: %s", content[0].Text)
}
// Check default viewport dimensions via JavaScript
@@ -412,8 +403,8 @@
if err != nil {
t.Fatalf("Error: %v", err)
}
- if !strings.Contains(content[0].Text, "success") {
- t.Fatalf("Expected success in response, got: %s", content[0].Text)
+ if !strings.Contains(content[0].Text, "done") {
+ t.Fatalf("Expected done in response, got: %s", content[0].Text)
}
// Navigate to a test page and verify using JavaScript to get window dimensions
@@ -422,8 +413,8 @@
if err != nil {
t.Fatalf("Error: %v", err)
}
- if !strings.Contains(content[0].Text, "success") {
- t.Fatalf("Expected success in response, got: %s", content[0].Text)
+ if !strings.Contains(content[0].Text, "done") {
+ t.Fatalf("Expected done in response, got: %s", content[0].Text)
}
// Check dimensions via JavaScript