fix(tools): add Atlassian error extractor to all Jira, JSM, and Confluence tools (#4085)

* fix(tools): add Atlassian error extractor to all Jira, JSM, and Confluence tools

Wire up the existing `atlassian-errors` error extractor to all 95 Atlassian
tool configs so the executor surfaces meaningful error messages instead of
generic status codes. Also fix the extractor itself to handle all three
Atlassian error response formats: `errorMessage` (JSM), `errorMessages`
array (Jira), and `message` (Confluence).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(tools): lint formatting fix for error extractor

* fix(tools): handle all Atlassian error formats in error extractor

Add RFC 7807 errors[].title format (Confluence v2, Forms/ProForma API)
and Jira field-level errors object to the atlassian-errors extractor.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Waleed
2026-04-09 15:18:34 -07:00
committed by Waleed Latif
parent d38cc98fd7
commit 050b4634cd
96 changed files with 225 additions and 3 deletions

View File

@@ -34,6 +34,8 @@ export const confluenceAddLabelTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -44,6 +44,8 @@ export const confluenceCreateBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -31,6 +31,8 @@ export const confluenceCreateCommentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -40,6 +40,8 @@ export const confluenceCreatePageTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -38,6 +38,8 @@ export const confluenceCreatePagePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -39,6 +39,8 @@ export const confluenceCreateSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -35,6 +35,8 @@ export const confluenceCreateSpacePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -30,6 +30,8 @@ export const confluenceDeleteAttachmentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -31,6 +31,8 @@ export const confluenceDeleteBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -30,6 +30,8 @@ export const confluenceDeleteCommentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -33,6 +33,8 @@ export const confluenceDeleteLabelTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -32,6 +32,8 @@ export const confluenceDeletePageTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -33,6 +33,8 @@ export const confluenceDeletePagePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -31,6 +31,8 @@ export const confluenceDeleteSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -33,6 +33,8 @@ export const confluenceDeleteSpacePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -49,6 +49,8 @@ export const confluenceGetBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -39,6 +39,8 @@ export const confluenceGetPageAncestorsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -42,6 +42,8 @@ export const confluenceGetPageChildrenTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -43,6 +43,8 @@ export const confluenceGetPageDescendantsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -54,6 +54,8 @@ export const confluenceGetPageVersionTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -47,6 +47,8 @@ export const confluenceGetPagesByLabelTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -42,6 +42,8 @@ export const confluenceGetSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -41,6 +41,8 @@ export const confluenceGetTaskTool: ToolConfig<ConfluenceGetTaskParams, Confluen
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -33,6 +33,8 @@ export const confluenceGetUserTool: ToolConfig<ConfluenceGetUserParams, Confluen
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -39,6 +39,8 @@ export const confluenceListAttachmentsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -47,6 +47,8 @@ export const confluenceListBlogPostsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -55,6 +55,8 @@ export const confluenceListBlogPostsInSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -39,6 +39,8 @@ export const confluenceListCommentsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -37,6 +37,8 @@ export const confluenceListLabelsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -43,6 +43,8 @@ export const confluenceListPagePropertiesTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -40,6 +40,8 @@ export const confluenceListPageVersionsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -57,6 +57,8 @@ export const confluenceListPagesInSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -38,6 +38,8 @@ export const confluenceListSpaceLabelsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -42,6 +42,8 @@ export const confluenceListSpacePermissionsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -38,6 +38,8 @@ export const confluenceListSpacePropertiesTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -38,6 +38,8 @@ export const confluenceListSpacesTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -52,6 +52,8 @@ export const confluenceListTasksTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -21,6 +21,8 @@ export const confluenceRetrieveTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -34,6 +34,8 @@ export const confluenceSearchTool: ToolConfig<ConfluenceSearchParams, Confluence
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -44,6 +44,8 @@ export const confluenceSearchInSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const confluenceUpdateTool: ToolConfig<ConfluenceUpdateParams, Confluence
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -37,6 +37,8 @@ export const confluenceUpdateBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -31,6 +31,8 @@ export const confluenceUpdateCommentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -38,6 +38,8 @@ export const confluenceUpdateSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -44,6 +44,8 @@ export const confluenceUpdateTaskTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -37,6 +37,8 @@ export const confluenceUploadAttachmentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -41,9 +41,41 @@ export interface ErrorExtractorConfig {
const ERROR_EXTRACTORS: ErrorExtractorConfig[] = [
{
id: 'atlassian-errors',
description: 'Atlassian REST API errorMessage field',
examples: ['Jira', 'Jira Service Management', 'Confluence'],
extract: (errorInfo) => errorInfo?.data?.errorMessage,
description:
'Atlassian REST API error formats (errorMessage, errorMessages, errors[].title, message)',
examples: ['Jira', 'Jira Service Management', 'Confluence', 'JSM Forms/ProForma'],
extract: (errorInfo) => {
// JSM Service Desk: singular errorMessage string
if (errorInfo?.data?.errorMessage) {
return errorInfo.data.errorMessage
}
// Jira Platform: errorMessages array
if (
Array.isArray(errorInfo?.data?.errorMessages) &&
errorInfo.data.errorMessages.length > 0
) {
return errorInfo.data.errorMessages.join(', ')
}
// Confluence v2 / Forms API: RFC 7807 errors array with title/detail
if (Array.isArray(errorInfo?.data?.errors) && errorInfo.data.errors.length > 0) {
const err = errorInfo.data.errors[0]
if (err?.title) {
return err.detail ? `${err.title}: ${err.detail}` : err.title
}
}
// Jira Platform field-level errors object
if (errorInfo?.data?.errors && !Array.isArray(errorInfo.data.errors)) {
const fieldErrors = Object.entries(errorInfo.data.errors)
.map(([field, msg]) => `${field}: ${msg}`)
.join(', ')
if (fieldErrors) return fieldErrors
}
// Generic message fallback (auth/gateway errors)
if (errorInfo?.data?.message) {
return errorInfo.data.message
}
return undefined
},
},
{
id: 'graphql-errors',

View File

@@ -14,6 +14,8 @@ export const jiraAddAttachmentTool: ToolConfig<JiraAddAttachmentParams, JiraAddA
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -30,6 +30,8 @@ export const jiraAddCommentTool: ToolConfig<JiraAddCommentParams, JiraAddComment
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -14,6 +14,8 @@ export const jiraAddWatcherTool: ToolConfig<JiraAddWatcherParams, JiraAddWatcher
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -57,6 +57,8 @@ export const jiraAddWorklogTool: ToolConfig<JiraAddWorklogParams, JiraAddWorklog
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -14,6 +14,8 @@ export const jiraAssignIssueTool: ToolConfig<JiraAssignIssueParams, JiraAssignIs
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -14,6 +14,8 @@ export const jiraBulkRetrieveTool: ToolConfig<JiraRetrieveBulkParams, JiraRetrie
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -17,6 +17,8 @@ export const jiraCreateIssueLinkTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -17,6 +17,8 @@ export const jiraDeleteAttachmentTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -15,6 +15,8 @@ export const jiraDeleteCommentTool: ToolConfig<JiraDeleteCommentParams, JiraDele
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -14,6 +14,8 @@ export const jiraDeleteIssueTool: ToolConfig<JiraDeleteIssueParams, JiraDeleteIs
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -17,6 +17,8 @@ export const jiraDeleteIssueLinkTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -15,6 +15,8 @@ export const jiraDeleteWorklogTool: ToolConfig<JiraDeleteWorklogParams, JiraDele
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -35,6 +35,8 @@ export const jiraGetAttachmentsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -32,6 +32,8 @@ export const jiraGetCommentsTool: ToolConfig<JiraGetCommentsParams, JiraGetComme
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -32,6 +32,8 @@ export const jiraGetUsersTool: ToolConfig<JiraGetUsersParams, JiraGetUsersRespon
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -32,6 +32,8 @@ export const jiraGetWorklogsTool: ToolConfig<JiraGetWorklogsParams, JiraGetWorkl
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -15,6 +15,8 @@ export const jiraRemoveWatcherTool: ToolConfig<JiraRemoveWatcherParams, JiraRemo
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -195,6 +195,8 @@ export const jiraRetrieveTool: ToolConfig<JiraRetrieveParams, JiraRetrieveRespon
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -81,6 +81,8 @@ export const jiraSearchIssuesTool: ToolConfig<JiraSearchIssuesParams, JiraSearch
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -15,6 +15,8 @@ export const jiraSearchUsersTool: ToolConfig<JiraSearchUsersParams, JiraSearchUs
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -17,6 +17,8 @@ export const jiraTransitionIssueTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jiraUpdateTool: ToolConfig<JiraUpdateParams, JiraUpdateResponse> =
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -31,6 +31,8 @@ export const jiraUpdateCommentTool: ToolConfig<JiraUpdateCommentParams, JiraUpda
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -58,6 +58,8 @@ export const jiraUpdateWorklogTool: ToolConfig<JiraUpdateWorklogParams, JiraUpda
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jiraWriteTool: ToolConfig<JiraWriteParams, JiraWriteResponse> = {
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmAddCommentTool: ToolConfig<JsmAddCommentParams, JsmAddCommentRes
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -12,6 +12,8 @@ export const jsmAddCustomerTool: ToolConfig<JsmAddCustomerParams, JsmAddCustomer
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -15,6 +15,8 @@ export const jsmAddOrganizationTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -16,6 +16,8 @@ export const jsmAddParticipantsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmAnswerApprovalTool: ToolConfig<JsmAnswerApprovalParams, JsmAnswe
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -15,6 +15,8 @@ export const jsmCreateOrganizationTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -12,6 +12,8 @@ export const jsmCreateRequestTool: ToolConfig<JsmCreateRequestParams, JsmCreateR
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmGetApprovalsTool: ToolConfig<JsmGetApprovalsParams, JsmGetApprov
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmGetCommentsTool: ToolConfig<JsmGetCommentsParams, JsmGetComments
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmGetCustomersTool: ToolConfig<JsmGetCustomersParams, JsmGetCustom
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -16,6 +16,8 @@ export const jsmGetFormStructureTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -17,6 +17,8 @@ export const jsmGetFormTemplatesTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -14,6 +14,8 @@ export const jsmGetIssueFormsTool: ToolConfig<JsmGetIssueFormsParams, JsmGetIssu
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -16,6 +16,8 @@ export const jsmGetOrganizationsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -16,6 +16,8 @@ export const jsmGetParticipantsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmGetQueuesTool: ToolConfig<JsmGetQueuesParams, JsmGetQueuesRespon
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -17,6 +17,8 @@ export const jsmGetRequestTool: ToolConfig<JsmGetRequestParams, JsmGetRequestRes
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -20,6 +20,8 @@ export const jsmGetRequestTypeFieldsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -16,6 +16,8 @@ export const jsmGetRequestTypesTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmGetRequestsTool: ToolConfig<JsmGetRequestsParams, JsmGetRequests
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -16,6 +16,8 @@ export const jsmGetServiceDesksTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -13,6 +13,8 @@ export const jsmGetSlaTool: ToolConfig<JsmGetSlaParams, JsmGetSlaResponse> = {
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -14,6 +14,8 @@ export const jsmGetTransitionsTool: ToolConfig<JsmGetTransitionsParams, JsmGetTr
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',

View File

@@ -15,6 +15,8 @@ export const jsmTransitionRequestTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',