MCPcopy Index your code
hub / github.com/triggerdotdev/trigger.dev / onError

Function onError

integrations/linear/src/index.ts:1975–2016  ·  view source on GitHub ↗
(error: unknown)

Source from the content-addressed store, hash-verified

1973}
1974
1975export function onError(error: unknown): ReturnType<RunTaskErrorCallback> {
1976 if (error instanceof LinearError) {
1977 // fail fast on user errors
1978 if (error.errors?.some((e) => e.userError)) {
1979 return {
1980 skipRetrying: true,
1981 };
1982 }
1983 }
1984
1985 if (!(error instanceof RatelimitedLinearError)) {
1986 return;
1987 }
1988
1989 const rateLimitRemaining = error.raw?.response?.headers?.get("X-RateLimit-Requests-Remaining");
1990 const rateLimitReset = error.raw?.response?.headers?.get("X-RateLimit-Requests-Reset");
1991
1992 if (rateLimitRemaining === "0" && rateLimitReset) {
1993 const resetDate = new Date(Number(rateLimitReset) * 1000);
1994
1995 return {
1996 retryAt: resetDate,
1997 error,
1998 };
1999 }
2000
2001 const queryComplexity = error.raw?.response?.headers?.get("X-Complexity");
2002 const complexityRemaining = error.raw?.response?.headers?.get("X-RateLimit-Complexity-Remaining");
2003 const complexityReset = error.raw?.response?.headers?.get("X-RateLimit-Complexity-Reset");
2004
2005 if (
2006 (complexityRemaining === "0" || Number(complexityRemaining) < Number(queryComplexity)) &&
2007 complexityReset
2008 ) {
2009 const resetDate = new Date(Number(complexityReset) * 1000);
2010
2011 return {
2012 retryAt: resetDate,
2013 error,
2014 };
2015 }
2016}
2017
2018export const serializeLinearOutput = <T>(obj: T): Prettify<SerializedLinearOutput<T>> => {
2019 return JSON.parse(JSON.stringify(obj), (key, value) => {

Callers

nothing calls this directly

Calls 1

getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…