|
73 | 73 | tools-to-call (->> (:tool_calls message) |
74 | 74 | (map (fn [tool-call] |
75 | 75 | (cond-> {:id (:id tool-call) |
76 | | - :full-name (:name (:function tool-call)) |
77 | | - :arguments (json/parse-string (:arguments (:function tool-call)))} |
| 76 | + :full-name (:name (:function tool-call)) |
| 77 | + :arguments (json/parse-string (:arguments (:function tool-call)))} |
78 | 78 | ;; Preserve Google Gemini thought signatures |
79 | | - (get-in tool-call [:extra_content :google :thought_signature]) |
80 | | - (assoc :external-id |
81 | | - (get-in tool-call [:extra_content :google :thought_signature])))))) |
| 79 | + (get-in tool-call [:extra_content :google :thought_signature]) |
| 80 | + (assoc :external-id |
| 81 | + (get-in tool-call [:extra_content :google :thought_signature])))))) |
82 | 82 | ;; DeepSeek returns reasoning_content, OpenAI o1 returns reasoning |
83 | 83 | reasoning-content (:reasoning_content message)] |
84 | 84 | {:usage (parse-usage usage) |
85 | 85 | :reason-id (str (random-uuid)) |
86 | 86 | :tools-to-call tools-to-call |
87 | 87 | :call-tools-fn (fn [on-tools-called] |
88 | 88 | (on-tools-called-wrapper tools-to-call on-tools-called nil)) |
89 | | - :reason-text (or (:reasoning message) reasoning-content) |
| 89 | + :reason-text (or (:reasoning message) |
| 90 | + (:reasoning_text message) |
| 91 | + reasoning-content) |
90 | 92 | :reasoning-content reasoning-content |
91 | 93 | :output-text (:content message)})) |
92 | 94 |
|
|
438 | 440 |
|
439 | 441 | ;; Process reasoning if present (o1 models and compatible providers) |
440 | 442 | (when-let [reasoning-text (or (:reasoning delta) |
441 | | - (:reasoning_content delta))] |
| 443 | + (:reasoning_content delta) |
| 444 | + (:reasoning_text delta))] |
442 | 445 | (when-not (= (:type @reasoning-state*) :delta) |
443 | 446 | (start-delta-reasoning)) |
444 | 447 | (on-reason {:status :thinking |
|
450 | 453 | (when (and (= (:type state) :delta) |
451 | 454 | (:id state) ;; defensive check |
452 | 455 | (nil? (:reasoning delta)) |
453 | | - (nil? (:reasoning_content delta))) |
| 456 | + (nil? (:reasoning_content delta)) |
| 457 | + (nil? (:reasoning_text delta))) |
454 | 458 | ;; Flush any buffered content before finishing reasoning |
455 | 459 | (flush-content-buffer) |
456 | 460 | (finish-reasoning! reasoning-state* on-reason))) |
|
0 commit comments