Repository navigation
Pi Agent Platform v1.35.1
A passing failure of the model provider no longer stops a long task.
Fixes
- The provider's own error event in the middle of an answer is asked again. Found on 2026-10-21: gpt-6-sol sent
api_errorafter a tool step, Studio passed it on as it should, and Piagent did not recognise it, so nothing asked again and a long task stopped until the member wrote 8 minutes later. Pi's words for such an event (OpenAIserver_error/api_error, Anthropicapi_error/overloaded_error) are now the codeupstream_server_error, asked again by the turn's retry (2 and 4 s later). - A round cut by a passing provider failure goes on by itself. Where the turn's retry does not run (the WebUI does not replay a round once a tool ran) or does not get through, the next round starts after a pause and tells the agent why: for
upstream_server_error,upstream_interrupted,upstream_incomplete,upstream_timeout,upstream_unavailable,connector_execution_failedandoutput_limit_exceeded, at most 8 times per member message, 15 s doubling to 5 min (about 23 min in all); a round that ends well resets the count; Stop ends the pause. After the last one the turn fails with the reason, as before. - Every ask again is in the member's local log.
studio-link.jsonlnow also hasturn_retryandprovider_retrylines (andoutcome: "gave_up"), so why a task stopped or went on can be read back.
Tests
-
tests/managed-provider-retry.test.mjs: the provider's words becomeupstream_server_error(Studio's own codes keep theirs), a round that goes on and resets the count, the bounded number of asks, Stop while waiting. -
tests/managed-provider-error-resume.test.mjs: WebUI end to end, the provider'sapi_errorevent after a tool step; the task finishes without a click and the retry is in the local log. -
Dependency: vite 8.2.4 (launch-editor advisories GHSA-698v-4r3x-3vcv, GHSA-r825-w8mm-5pxw, GHSA-587h-7wmj-h5pm).
🤖 Generated with Claude Code