| author | |
| committer | |
| log | 9bf349cf6b3988dd01e2d9871b99e1be883aaa41 |
| tree | f6c81631e4d4d3401d4ef5fac64e8cfa358a8cdf |
| parent | 0118b52295264a73ef7cd045437181f7b3e5a99f |
| signature | Signed by PGP key B5690EEEBB952194 |
2 files changed, 4 insertions(+), 1 deletions(-)
apps/server/src/provider/acp/CursorTransportFailure.test.ts+2| ... | ... | @@ -38,6 +38,8 @@ describe("CursorTransportFailure", () => { |
| 38 | 38 | "Error: ConnectError: [unauthenticated] sign in", |
| 39 | 39 | "Error: ConnectError: [permission_denied] subscription required", |
| 40 | 40 | "Error: HTTP 500 from the application being debugged", |
| 41 | "Error: RetriableError: [internal] Failed to run step, exceeded max retries", | |
| 42 | "Error: RetriableError: [internal] Failed to run step, exceeded max retries\n at step (cli.js:1:2)", | |
| 41 | 43 | ])("preserves prose, code and non-transport errors: %s", (message) => { |
| 42 | 44 | expect(failureFor([...message])).toBeUndefined(); |
| 43 | 45 | }); |
apps/server/src/provider/acp/CursorTransportFailure.ts+2-1| ... | ... | @@ -1,6 +1,7 @@ |
| 1 | 1 | const maxLineLength = 4096; |
| 2 | // Cursor also uses RetriableError for agent-loop failures; preserve those diagnostics. | |
| 2 | 3 | const transportError = |
| 3 | /^Error: (?:RetriableError: .+|ConnectError: \[(?:unavailable|aborted|deadline_exceeded)\].*)$/; | |
| 4 | /^Error: (?:RetriableError: (?!\[internal\]).+|ConnectError: \[(?:unavailable|aborted|deadline_exceeded)\].*)$/; | |
| 4 | 5 | const serverError = "Something went wrong communicating with the server. Please try again."; |
| 5 | 6 | |
| 6 | 7 | interface ReplyState { |