fix qr decoding, spool edit dialog, and opus 5 token budget
This commit is contained in:
+17
-2
@@ -161,8 +161,8 @@ func readOnce(img image.Image, auth Auth) (float64, string, string, error) {
|
||||
b64 := base64.StdEncoding.EncodeToString(buf.Bytes())
|
||||
|
||||
reqBody := map[string]interface{}{
|
||||
"model": "claude-opus-4-8",
|
||||
"max_tokens": 600,
|
||||
"model": "claude-opus-5",
|
||||
"max_tokens": 4000,
|
||||
"messages": []map[string]interface{}{{
|
||||
"role": "user",
|
||||
"content": []map[string]interface{}{
|
||||
@@ -185,7 +185,9 @@ func readOnce(img image.Image, auth Auth) (float64, string, string, error) {
|
||||
req.Header.Set("anthropic-version", "2023-06-01")
|
||||
auth.apply(req)
|
||||
|
||||
endPost := trace("claude.post")
|
||||
resp, err := (&http.Client{Timeout: 90 * time.Second}).Do(req)
|
||||
endPost()
|
||||
if err != nil {
|
||||
return 0, "", "", err
|
||||
}
|
||||
@@ -196,15 +198,28 @@ func readOnce(img image.Image, auth Auth) (float64, string, string, error) {
|
||||
}
|
||||
var parsed struct {
|
||||
Content []struct {
|
||||
Type string `json:"type"`
|
||||
Text string `json:"text"`
|
||||
} `json:"content"`
|
||||
StopReason string `json:"stop_reason"`
|
||||
Usage struct {
|
||||
OutputTokens int `json:"output_tokens"`
|
||||
} `json:"usage"`
|
||||
}
|
||||
if err := json.Unmarshal(respBody, &parsed); err != nil {
|
||||
return 0, "", "", err
|
||||
}
|
||||
var text string
|
||||
var blocks []string
|
||||
for _, c := range parsed.Content {
|
||||
text += c.Text
|
||||
blocks = append(blocks, c.Type)
|
||||
}
|
||||
slog.Debug("claude reply", "stopReason", parsed.StopReason,
|
||||
"blocks", strings.Join(blocks, ","), "outputTokens", parsed.Usage.OutputTokens)
|
||||
if strings.TrimSpace(text) == "" {
|
||||
return 0, "", "", fmt.Errorf("empty reply (stopReason %q, blocks %q, outputTokens %d)",
|
||||
parsed.StopReason, strings.Join(blocks, ","), parsed.Usage.OutputTokens)
|
||||
}
|
||||
var wr struct {
|
||||
Weight float64 `json:"weight"`
|
||||
|
||||
Reference in New Issue
Block a user