Skip to content

Commit 40d07fd

Browse files
committed
fix(providers): preserve runtime-owned error codes
1 parent e7a0fc5 commit 40d07fd

4 files changed

Lines changed: 7 additions & 27 deletions

File tree

src/providers/iyunbiao/runtime.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,7 @@ export async function executeIyunbiaoAction(
162162
const detailTable =
163163
input.detailTableName === undefined ? undefined : segment(input.detailTableName, "detailTableName");
164164
if ((name === "download_attachment" || name === "download_cloud_file") && !options.transitFiles) {
165-
throw new ProviderRequestError(
166-
500,
167-
"Yunbiao attachment download requires file transit and execution context",
168-
undefined,
169-
"provider_not_configured",
170-
);
165+
throw new ProviderRequestError(500, "Yunbiao attachment download requires file transit and execution context");
171166
}
172167
const cloudId = name === "download_cloud_file" ? segment(String(input.fileId), "fileId") : undefined;
173168
if (name === "save_user") {

src/providers/miro/executors.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ export const oauth: ProviderOAuthRuntime = {
258258
const message = optionalString(payload?.message);
259259
if (!response.ok) {
260260
if (message === "Invalid refresh token") {
261-
throw new ProviderRequestError(401, message, payload, "credential_expired");
261+
throw new ProviderRequestError(401, message, payload);
262262
}
263263
throw input.createError(message ?? `Miro token refresh failed (HTTP ${response.status}).`);
264264
}

src/providers/paperless_ngx/runtime-helpers.ts

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -309,12 +309,7 @@ export function mapPaperlessError(
309309
}
310310
if (status === 401) {
311311
return credentialInvalidDetails.has(message)
312-
? new ProviderRequestError(
313-
401,
314-
`Paperless-ngx rejected the API token: ${message}`,
315-
undefined,
316-
"credential_expired",
317-
)
312+
? new ProviderRequestError(401, `Paperless-ngx rejected the API token: ${message}`)
318313
: new ProviderRequestError(401, message, undefined, "provider_error");
319314
}
320315
if (status === 403) return new ProviderRequestError(403, message, undefined, "provider_error");
@@ -496,12 +491,7 @@ export async function validatePaperlessCredential(
496491

497492
export function requirePaperlessFileTransit(context: Pick<PaperlessExecutionContext, "transitFiles">): void {
498493
if (!context.transitFiles) {
499-
throw new ProviderRequestError(
500-
500,
501-
"Paperless-ngx transit file storage is not configured",
502-
undefined,
503-
"provider_not_configured",
504-
);
494+
throw new ProviderRequestError(500, "Paperless-ngx transit file storage is not configured");
505495
}
506496
}
507497

@@ -512,12 +502,7 @@ export async function transitPaperlessResponse(
512502
const body = input.response.body;
513503
if (!connection.transitFiles) {
514504
await body?.cancel().catch(() => undefined);
515-
throw new ProviderRequestError(
516-
500,
517-
"Paperless-ngx transit file storage is not configured",
518-
undefined,
519-
"provider_not_configured",
520-
);
505+
throw new ProviderRequestError(500, "Paperless-ngx transit file storage is not configured");
521506
}
522507
if (!body) {
523508
throw new ProviderRequestError(502, "Paperless-ngx returned an empty file response", undefined, "provider_error");

src/providers/speedtest_tracker/runtime.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,10 @@ function createSpeedtestTrackerError(status: number, payload: unknown, phase: Re
285285
return providerInputError(message);
286286
}
287287
if (status === 401 && message.startsWith(unauthenticatedPrefix)) {
288-
return new ProviderRequestError(401, message, undefined, "credential_expired");
288+
return new ProviderRequestError(401, message);
289289
}
290290
if (status === 403 && isPermissionDenied(payload)) {
291-
return new ProviderRequestError(403, message, undefined, "scope_missing");
291+
return new ProviderRequestError(403, message);
292292
}
293293
if (status === 422) {
294294
return providerInputError(formatValidationMessage(message, record));

0 commit comments

Comments
 (0)