llx-0.0.1
x86_64-linux.default
· build #12
· raw
unpackPhase
1unpacking source archive /nix/store/9c9rkx10b0w6hia0nzfcgd1s5h0l710r-source2source root is sourceconfigurePhase
3no configure script, doing nothingbuildPhase
4Picked up JAVA_TOOL_OPTIONS: -Duser.home=/build/tmp.997yw6m7Vd5Picked up JAVA_TOOL_OPTIONS: -Duser.home=/build/tmp.997yw6m7Vd6GUARDRAILS IS ENABLED. RUNTIME PERFORMANCE WILL BE AFFECTED.7Mode: :runtime config: {:throw? true, :guardrails/use-stderr? true}8Guardrails was enabled because the guardrails.enabled property is set to a (any) value.9--- unit (clojure.test) ---------------------------10ol.llx.agent.loop-test11 command-predicate-test12 recognizes commands13 rejects signals14 rejects events15 initial-state-has-expected-shape-test16 handle-command-abort-when-idle-test17 handle-command-continue-with-steering-all-mode-test18 idle-transition-invalid-signal-test19 tool-executing-transition-tool-result-with-steering-all-mode-dequeues-all-test20 dequeues all steering messages in :all mode21 idle-transition-continue-start-test22 appends messages and transitions to streaming23 emits turn-start (no agent-start), message events, and call-llm24 call-llm receives the full message history including new messages25 handle-command-set-follow-up-mode-test26 tool-executing-transition-tool-update-test27 handle-command-set-steering-mode-test28 tool-executing-transition-tool-error-last-tool-test29 clears pending-tool-calls30 records error result and resumes llm31 step-signal-llm-done-no-tools-to-idle-test32 tool-executing-transition-tool-result-with-remaining-test33 processes result and keeps remaining tools34 appends result to messages35 emits tool-execution-end, message events, and starts next tool36 route-from-streaming-test37 idle routes to idle38 tool-executing routes to tool-executing39 closed routes to closed40 streaming stays streaming41 handle-command-prompt-from-idle-test42 step-tool-loop-test43 state progression through tool loop44 tool completion resumes llm45 final state has all messages46 agent-end emitted on final transition to idle47 step-signal-llm-done-with-tools-test48 handle-command-append-message-test49 agent-end-not-emitted-on-streaming-to-tool-executing-test50 tool-executing-transition-tool-error-with-steering-interrupts-remaining-tools-test51 does not execute the next real tool and resumes llm after synthetic skipped results52 keeps one steering message queued in one-at-a-time mode53 appends error result, skipped tool results, and dequeued steering message54 handle-command-continue-with-follow-up-one-at-a-time-test55 handle-command-set-system-prompt-test56 handle-command-clear-follow-up-queue-test57 handle-command-abort-when-streaming-test58 step-abort-from-streaming-to-idle-test59 abort signal from streaming60 abort command from streaming61 idle-transition-prompt-start-test62 appends messages and transitions to streaming63 emits agent-start, turn-start, message events, and call-llm64 call-llm receives the full message history including new messages65 handle-command-reset-test66 handle-command-set-schema-config-test67 streaming-transition-llm-done-no-tools-test68 transitions to idle and clears stream-message69 appends the final message70 emits message-end and turn-end71 handle-command-continue-with-follow-up-all-mode-test72 handle-command-steer-test73 tool-executing-transition-tool-error-with-remaining-test74 records error result and keeps remaining tools75 emits tool-execution-end, message events, and starts next tool76 handle-command-prompt-when-not-idle-test77 handle-command-clear-messages-test78 streaming-transition-abort-test79 transitions to idle and clears stream-message80 emits message-end and turn-end81 handle-command-continue-with-steering-one-at-a-time-test82 step-prompt-from-idle-to-streaming-test83 handle-command-set-model-test84 step-full-happy-path-test85 state progression86 final state has both messages87 agent-end is emitted on final step88 agent-end is not emitted on intermediate steps89 agent-end-not-emitted-when-staying-idle-test90 handle-command-continue-empty-queues-test91 handle-command-set-thinking-level-test92 streaming-transition-llm-done-prefers-steering-over-follow-up-test93 uses steering messages first and leaves follow-up queued94 continues immediately with call-llm95 route-from-tool-executing-test96 with pending tool calls stays tool-executing97 without pending tool calls routes to streaming98 closed routes to closed99 handle-command-replace-messages-test100 agent-end-emitted-on-error-to-idle-test101 tool-executing-transition-unknown-signal-test102 handle-command-set-tools-test103 closed-transition-is-terminal-test104 any signal returns state unchanged with no effects105 handle-command-clear-steering-queue-test106 tool-executing-transition-tool-result-with-steering-interrupts-remaining-tools-test107 clears pending tool calls and keeps remaining steering queued in one-at-a-time mode108 appends current tool result, synthetic skipped results, and dequeued steering message109 emits current result events, skipped tool lifecycle events, steering message events, and resumes llm110 streaming-transition-unknown-signal-test111 tool-executing-transition-abort-test112 transitions to idle and clears pending-tool-calls113 emits turn-end114 streaming-transition-llm-error-test115 transitions to idle and sets error116 emits message-end and turn-end117 streaming-transition-llm-start-test118 streaming-transition-llm-chunk-test119 step-abort-from-tool-executing-to-idle-test120 tool-executing-transition-tool-result-last-tool-test121 clears pending-tool-calls122 appends result to messages and resumes llm123 handle-command-continue-steering-before-follow-up-test124 streaming-transition-llm-done-with-follow-up-queue-starts-next-turn-test125 starts a new turn from follow-up messages when no steering exists126 continues the run with another llm call127 handle-command-continue-when-not-idle-test128 agent-end-emitted-on-streaming-to-idle-test129 streaming-transition-llm-done-with-tools-test130 transitions to tool-executing131 sets pending-tool-calls and clears stream-message132 appends the message133 emits message-end, tool-execution-start, and execute-tool134 handle-command-clear-all-queues-test135 route-from-idle-test136 handle-command-follow-up-test137 streaming-transition-llm-done-with-steering-queue-starts-next-turn-test138 moves directly into the next streaming turn139 appends the finished assistant message and queued steering message140 continues the run by ending the turn and scheduling more llm work141 step-prompt-when-streaming-is-rejected-test142143ol.llx.ai.utils.unicode-test144 sanitize-surrogates-handles-surrogate-edge-cases145 preserves valid emoji surrogate pairs146 removes unpaired high surrogate147 removes unpaired low surrogate148 removes high surrogate at end of string149 removes multiple unpaired surrogates in one string150 preserves mixed content: emoji, CJK, math symbols, special quotes151 handles nil and empty input152 passes through plain ASCII unchanged153 sanitize-payload-deep-walks-data-structures154 sanitizes strings nested in maps, vectors, and mixed structures155 real-world LinkedIn data with emoji preserved156 unpaired surrogates stripped from tool result content157 handles bare string input158 handles bare vector input159 passes through non-string leaves unchanged160 truncate-limits-string-length161 truncates only when input exceeds max-len162 coerces nil to empty string163164ol.llx.ai.adapters.openai-responses-test165 normalize-tool-call-id-trims-trailing-underscores-and-enforces-fc-prefix166 finalize-throws-on-unknown-stop-reason167 build-request-replays-versioned-text-signature-metadata168 normalize-tool-call-id-preserves-same-provider-item-ids169 build-request-preserves-valid-emoji-surrogate-pairs170 cache-retention-mapping171 cache-control none omits both prompt cache fields172 cache-control long sets 24h retention for direct api.openai.com173 cache-control long does not set retention for non-openai base url174 build-request-emits-provider-payload-trove-signal175 decode-event-message-output-item-done-encodes-versioned-text-signature176 decode-event-stream-contract177 finalize-maps-responses-status-to-canonical-stop-reason178 normalize-tool-call-id-hashes-foreign-item-ids179 normalize-tool-call-id-gates-by-provider-allowlist180 normalize-tool-call-id-normalizes-pipe-ids-and-preserves-pairing181 build-request-sanitizes-unpaired-surrogates-in-user-text182 decode-event-reasoning-summary-part-done-requires-summary-part183 finalize-calculates-tier-adjusted-cost-when-usage-present184 normalize-tool-call-id-matches-upstream-issue-1022-test-id185 decode-event-response-failed-includes-provider-error-details186 build-request-converts-context-to-openai-responses-input187 stream-error-normalization-contract188 build-request-disables-reasoning-when-no-reasoning-opts189190ol.llx.ai.adapters.openai-codex-responses-test191 build-request-disables-reasoning-when-no-reasoning-opts192 build-request-rejects-token-missing-account-id193 build-request-shapes-codex-url-and-headers194 build-request-prefers-explicit-api-key-over-env195 build-request-strips-codex-unsupported-payload-fields196197ol.llx.ai.errors-test198 retry-delay-uses-linear-backoff-for-connection-errors199 connection-error-is-recoverable200 http-status->error-maps-common-codes201 400 -> invalid-request202 401 -> authentication-error203 403 -> authorization-error204 404 -> model-not-found205 408 -> timeout206 500 -> server-error207 502 -> server-error208 503 -> server-error209 extract-retry-after-from-message-parses-seconds210 provider-error-with-custom-recoverability211 server-error-is-recoverable212 should-retry-allows-transient-errors213 http-status-429-without-quota-returns-rate-limit214 should-retry-respects-max-retries215 extract-retry-after-from-message-returns-nil-when-missing216 retry-loop-async-exhausts-retries-and-throws217 retry-loop-async-succeeds-on-first-attempt218 retry-delay-uses-exponential-backoff-for-rate-limit-without-header219 quota-exceeded-is-not-recoverable220 timeout-error-is-recoverable221 retry-delay-exceeded-is-not-recoverable222 should-retry-rejects-client-errors223 rate-limit-error-has-correct-type-and-recoverable224 http-status-unknown-5xx-returns-recoverable-provider-error225 returns-nil-when-no-header226 retry-after-ms-takes-priority227 retry-loop-async-does-not-retry-client-errors228 invalid-request-is-not-recoverable229 retry-delay-adds-jitter-for-server-errors230 extracts-retry-after-seconds-header231 retry-delay-uses-server-retry-after-for-rate-limit232 retry-loop-async-fails-when-server-retry-delay-exceeds-cap233 retry-loop-async-emits-retry-scheduled-trove-signal234 extracts-x-ratelimit-reset-after-header235 extracts-retry-after-ms-header236 http-status-429-with-quota-and-retry-after-returns-rate-limit237 retry-loop-async-retries-transient-and-succeeds238 caps-at-max-seconds239 content-filter-is-not-recoverable240 authentication-error-is-not-recoverable241 predicates-match-error-categories242 llx-error? matches structured errors243 recoverable? matches recoverable errors244 rate-limit-error?245 quota-exceeded-error?246 rate-limited-error?247 timeout-error?248 client-error?249 transient-error?250 http-status-429-with-quota-body-returns-quota-exceeded251 http-status-unknown-4xx-returns-non-recoverable-provider-error252 model-not-found-is-not-recoverable253254ol.llx.ai.client-test255 opts-registry-overrides-env-registry256 complete-transforms-context-before-build-request257 complete-rejects-malformed-adapter-finalize-result258 complete-simple-wrapper-normalizes-openai-responses-reasoning-to-effort259 complete-allows-xhigh-for-supported-model260 stream-simple-wrapper-normalizes-options261 complete-retries-without-thread-sleep-hook262 complete-retries-on-transient-error263 complete-returns-deferred264 complete-surfaces-unknown-openai-completions-stop-reason-as-error-message265 unified-opts->request-opts-normalizes-unified-shape266 stream-retries-open-stream-on-transient-error267 complete-openai-completions-non-2xx268 complete-simple-wrapper-normalizes-options269 complete-rejects-unsupported-xhigh-with-structured-error270 complete-emits-error-lifecycle-trove-signals271 stream-rejects-unsupported-xhigh-with-structured-error272 unified-opts->request-opts-rejects-provider-shape-in-unified-opts273 stream-returns-csp-channel274 stream-close-delegates-to-runtime-cancel-fn275 complete-does-not-retry-on-client-error276 complete-emits-lifecycle-trove-signals277278ol.llx.ai.utils.tool-validation-test279 validate-tool-call280 success case281 tool not found282 validation errors are structured283 missing required field284 human-readable error message includes tool name and arguments285 tool-not-found error message includes tool name286 coerces string values using the input schema287 applies schema defaults from the input schema288 resolves custom schema references from the active registry289290ol.llx.ai.client.stream-test291 run-stream-calls-cancel-when-output-channel-preclosed292 run-stream-emits-start-and-done-events293 runtime-run-stream-input-requires-runtime-hooks294 requires stream runtime hooks295296ol.llx.ai.client.jvm-test297 run-stream-wraps-untyped-stream-errors-as-streaming-error298 run-stream-cancel-fn-closes-upstream-body299 run-stream-emits-stream-event-error-trove-signal300 run-stream-validation301 rejects malformed decoded events302 rejects malformed finalize output303 malformed normalize-error still emits terminal error304 run-stream-emits-stream-lifecycle-trove-signals305306ol.llx.ai.models-test307 model-utility-functions308 calculate-cost309 supports-xhigh?310 direct anthropic 4.6 models use the larger context window311 models-equal?312 model-registry-and-lookup313314ol.llx.ai.model-catalog.generate-test315 build-catalog-is-deterministically-sorted316 build-catalog-rejects-invalid-override-shapes317 build-catalog-rejects-provider-change-for-existing-id318 generate-models-uses-checked-in-overrides-and-emits-openai-codex-models319 build-catalog-normalizes-supported-providers-only320 render-generated-source-is-stable321 build-catalog-rejects-duplicate-normalized-source-keys322 generate-models-writes-artifact-using-injected-paths323 build-catalog-deep-merges-nested-override-fields324 build-catalog-supports-provider-qualified-override-keys325326ol.llx.ai.transform-messages-test327 same-model-replay-preserves-thinking-and-signatures328 missing-tool-results-get-synthetic-error-message329 synthetic-tool-result-uses-real-time-when-clock-missing330 does-not-duplicate-existing-synthetic-tool-result331 google-gated-normalization-rewrites-assistant-and-tool-result-ids332 fixture-for-aborted-reasoning-skips-aborted-turn333 aborted assistant turn is removed from replay334 tool-call-id-normalization-propagates-to-tool-result335 skipped-assistant-turns-with-error-or-aborted-stop-reasons336 cross-model-replay-converts-thinking-and-drops-signatures337 user-interruption-inserts-only-missing-tool-results338 tool-call-id-normalization-avoids-collision-for-mistral339340ol.llx.ai.utils.overflow-test341 context-overflow-detection342 detects explicit provider messages343 detects 400/413 status codes344 detects silent overflow with context window345 false for non-overflow errors346347ol.llx.ai.oauth.cli-test348 login-command-writes-auth-json-in-current-working-directory349 persists oauth credentials to auth.json350351ol.llx.agent-test352 create-agent-rejects-missing-custom-schema-registration-test353 tool-and-pending-tool-call-schema-test354 rehydrate-agent-uses-snapshot-test355 create-agent-ignores-initial-state-option-test356 set-model-validates-model-shape-test357 tool-call-schema-contract-test358 create-agent-requires-env-contract-test359 set-schema-config-clears-user-additions-without-removing-canonical-schemas-test360 tool-schema-tightening-on-commands-and-state-test361 :ol.llx.agent/command-set-tools expects :ol.llx.agent/tool entries362 :ol.llx.agent/create-agent-opts expects :ol.llx.agent/tool entries in :tools363 :ol.llx.agent.loop/state expects :ol.llx.agent/tool entries in :tools364 create-agent-initializes-state-test365 effect-execute-tool-tool-call-schema-test366 prompt-validates-messages-test367 subscribe-unsubscribe-test368 set-schema-config-ignores-nil-fields-test369 nil schema-registry preserves the current user registry370 nil custom-message-schemas preserves the current dispatch map371 command-wrappers-dispatch-through-driver-run-test372 prompt dispatches vector messages373 continue dispatches the continue command374 abort dispatches the abort command375 state mutators dispatch commands376 rehydrate-agent-custom-message-validation-test377 set-schema-config-updates-custom-message-validation-on-live-agent-test378 tool-signal-and-event-schema-tightening-test379 create-agent-default-convert-to-llm-test380 custom-message-schemas-validate-message-and-messages-test381 :ol.llx.agent/custom-message-schemas requires namespace-qualified dispatch keys382 :ol.llx.agent/message rejects custom roles when not registered383 :ol.llx.agent/message accepts registered custom role384 :ol.llx.agent/messages accepts canonical + registered custom messages385 :ol.llx.agent/messages rejects invalid registered custom message payloads386 canonical messages remain valid with custom registrations enabled387 custom-message-public-api-validation-test388 custom-message-schema-may-reference-provided-schemas-test389390ol.llx.ai.schema-test391 oauth-schema-contracts392 accepts OpenAI Codex provider and API enum values393 accepts oauth credential and provider contracts394 rejects oauth credential map missing required keys395 rejects oauth provider missing required function slots396 event-schemas397 accepts stream terminal events398 rejects malformed events399 accepts delta events with required payload400 usage-schema401 accepts usage where total-tokens equals component sum402 accepts usage where provider total-tokens does not match component sum (Google!)403 options-schema-allows-provider-specific-option-keys404 message-schemas405 accepts all three canonical message roles406 assistant message accepts unknown keys407 context-schema408 context is an ordered vector of canonical messages409 context-map enforces required :messages and optional envelope keys410 config-schema411 accepts known provider config412 accepts unknown provider keys413 model-schema414 accepts a valid model415 accepts supported openai-completions compat profile keys416 accepts unknown model keys417 adapter-and-env-schema418 accepts valid adapter and runtime env419 rejects adapter missing required function slots420 rejects env missing required function slots421 runtime-boundary-schemas422 accepts runtime adapter boundary maps423 rejects malformed runtime boundary maps424 accepts run-stream argument map contract425 schema-registry-rebuilds-when-component-schemas-change426 options-schema427 accepts valid unified request options428 accepts unknown unified request option keys429 accepts valid provider request options including provider-specific keys430 tool input schema field descriptions survive json schema conversion431432ol.llx.ai.adapters.google-generative-ai-test433 reasoning-config-gemini-25-pro-budget-differs-from-flash434 google-normalizer-matches-upstream-issue-1022-test-id-under-gate435 build-request-preserves-valid-emoji-surrogate-pairs436 build-request-emits-provider-payload-trove-signal437 finalize-throws-on-unknown-stop-reason438 decode-event-stream-contract439 reasoning-config-omitted-when-model-not-reasoning440 build-request-converts-canonical-context-to-google-payload441 reasoning-config-disables-thinking-by-default-for-gemini-3-pro442 decode-event-tool-call-missing-args-defaults-to-empty-map443 adapter-registers-tool-call-id-normalizer-with-model-id-gate444 decode-event-stream-usage-calculates-costs445 open-stream-non-2xx-throws-structured-error446 build-request-gemini-3-preserves-unsigned-tool-calls-with-sentinel447 build-request-sanitizes-unpaired-surrogates-in-user-and-system448 reasoning-config-gemini-3-flash-uses-level449 build-request-tool-result-image-forwarding-by-model-capability450 gemini-3 multimodal model forwards image in functionResponse parts451 text-only model drops images from functionResponse452 finalize-calculates-usage-costs453 reasoning-config-gemini-3-pro-uses-level454 thought-signature-alone-is-not-thinking455 reasoning-config-disables-thinking-by-default-for-gemini-25456 reasoning-config-gemini-3-pro-clamps-low-effort457 build-request-uses-custom-thinking-budgets458 reasoning-config-disables-thinking-by-default-for-gemini-3459 stream-error-normalization-contract460 map-stop-reason-fail-fast-on-unknown461 unknown finish reason in stream decode fails fast462463ol.llx.ai.utils.rate-limit-test464 rate-limited-detection465 detects structured error types466 detects provider message patterns467 false for non-rate-limit errors468469ol.llx.agent.driver-test470 prompt-continues-through-queued-steering-without-stalling-test471 abort-cancels-tool-execution-and-returns-to-idle-test472 abort-drops-stale-llm-events-and-allows-reuse-test473474ol.llx.ai.adapters.common-test475 empty-usage-shape-is-canonical476 trim-trailing-slash-removes-single-trailing-slash477 parse-json-safe-returns-decoded-or-empty-map478 parse-json-lenient-falls-back-to-decode479 uses decode-safe when it succeeds480 falls back to decode when decode-safe returns nil481 uses decode directly when decode-safe is absent482483ol.llx.ai.oauth.openai-codex-test484 parse-authorization-input-cases485 accepts full redirect URL486 accepts code#state format487 accepts query-string format488 falls back to raw code489 login-openai-codex-state-mismatch-fails490 login-openai-codex-bind-failure-falls-back-to-manual-input491 login-openai-codex-manual-fallback492 account-id-extraction493494ol.llx.ai.adapters.anthropic-messages-test495 build-request-preserves-valid-emoji-surrogate-pairs496 build-request-omits-temperature-when-thinking-is-enabled497 build-request-converts-canonical-context-to-anthropic-payload498 build-request-emits-provider-payload-trove-signal499 build-request-enables-adaptive-thinking-for-sonnet-4-6500 normalize-tool-call-id-sanitizes-and-truncates501 image-only-content-does-not-inject-placeholder-text502 decode-event-stream-contract503 build-request-clamps-sonnet-4-6-xhigh-to-high504 finalize-maps-anthropic-stop-reasons505 finalize-throws-on-unknown-stop-reason506 build-request-uses-custom-thinking-budgets507 build-request-omits-thinking-when-model-not-reasoning508 decode-event-redacted-thinking-round-trips-to-canonical-content509 build-request-enables-budget-thinking-for-older-reasoning-model510 build-request-enables-adaptive-thinking-for-opus-4-6511 build-request-replays-redacted-thinking-as-anthropic-redacted-block512 build-request-sanitizes-unpaired-surrogates-in-user-and-system513 decode-event-stream-usage-calculates-costs514 finalize-calculates-usage-costs515 build-request-disables-thinking-when-no-reasoning-opts516517ol.llx.agent.fx-test518 fx-call-llm-emits-llm-error-on-non-canonical-event-type-test519 fx-call-llm-runs-hooks-and-maps-events-test520 fx-call-llm-emits-llm-error-on-hook-failure-test521 fx-call-llm-uses-default-stream-fn-when-not-provided-test522 fx-execute-tool-uses-updated-schema-config-from-live-agent-test523 execute-fx-validates-effect-shape-test524 fx-execute-tool-uses-active-schema-registry-for-input-coercion-test525526ol.llx.ai.registry-test527 registry-operations528 unregister and clear adapters529 rejects invalid api value530 registry-patterns531 immutable registry returns new value532 mutable registry533 dynamic registry534535ol.llx.ai.guardrails-contract-test536 guardrails-enforces-boundary-shapes537 decode-event boundary is enforced for all adapters538539ol.llx.ai.oauth-test540 refresh-oauth-token-dispatch541 oauth-provider-registry-operations542 get-oauth-api-key-behavior543 returns nil for missing provider credentials544 returns existing api key when credential is not expired545 refreshes expired credential before returning api key546547ol.llx.ai.adapters.openai-completions-test548 response->assistant-message-calculates-usage-costs549 build-request-missing-api-key-message-includes-env-var-name550 decode-event-maps-provider-finish-reason-errors551 build-request-reads-provider-specific-env-api-key552 normalize-tool-call-id-pipe-ids-use-call-segment-sanitize-and-truncate553 decode-event-tracks-thinking-signature554 normalize-tool-call-id-matches-upstream-issue-1022-test-id555 decode-event-stream-contract556 decode-event-extracts-reasoning-details-to-tool-call-signature557 normalize-tool-call-id-mistral-shape558 normalization is deterministic 9-char alphanumeric559 build-request-emits-provider-payload-trove-signal560 build-request-zai-disables-thinking-when-no-reasoning561 build-request-batches-tool-result-images-for-openai-completions562 decode-event-thinking-to-text-transition563 decode-event-stream-usage-calculates-costs564 build-request-preserves-valid-emoji-surrogate-pairs565 build-request-zai-thinking-format-sends-thinking-object566 response->assistant-message-maps-provider-finish-reason-errors567 normalize-tool-call-id-mistral-avoids-collision-for-distinct-source-ids568 decode-event-stream-falls-back-to-choice-usage569 convert-message-restores-thinking-field-from-signature570 response->assistant-message-falls-back-to-choice-usage571 build-request-sanitizes-unpaired-surrogates-in-user-text572 build-request-qwen-thinking-format-sends-enable-thinking573 build-request-forwards-tools-and-tool-choice-with-compat-token-field574 normalize-tool-call-id-openai-compatible-non-pipe-ids-are-unchanged575 build-request-tool-choice-sentinel-strings-pass-through576 build-request-sanitizes-unpaired-surrogates-in-tool-result-text577 build-request-omits-reasoning-effort-when-model-lacks-reasoning578 build-request-openai-compatible-omits-auth-and-respects-compat-overrides579 decode-event-emits-thinking-events-for-reasoning-content580 build-request-includes-reasoning-effort-for-reasoning-model581 normalize-tool-call-id-openai-non-pipe-ids-are-truncated-only582 convert-message-reconstructs-reasoning-details-from-tool-signatures583584333 tests, 1549 assertions, 0 failures.585Picked up JAVA_TOOL_OPTIONS: -Duser.home=/build/tmp.997yw6m7Vd586Picked up JAVA_TOOL_OPTIONS: -Duser.home=/build/tmp.997yw6m7VdfixupPhase
587shrinking RPATHs of ELF executables and libraries in /nix/store/7hkmldk24x64wk7ijh1vmynr6x7jhcam-llx-0.0.1588checking for references to /build/ in /nix/store/7hkmldk24x64wk7ijh1vmynr6x7jhcam-llx-0.0.1...589patching script interpreter paths in /nix/store/7hkmldk24x64wk7ijh1vmynr6x7jhcam-llx-0.0.1