v0.6.34: trigger.dev fixes, CI speedup, atlassian error extractor

This commit is contained in:
Waleed
2026-04-09 15:31:13 -07:00
committed by GitHub
110 changed files with 267 additions and 25 deletions

View File

@@ -48,7 +48,7 @@ jobs:
# Build AMD64 images and push to ECR immediately (+ GHCR for main)
build-amd64:
name: Build AMD64
needs: [test-build, detect-version]
needs: [detect-version]
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging' || github.ref == 'refs/heads/dev')
runs-on: blacksmith-8vcpu-ubuntu-2404
permissions:
@@ -70,7 +70,7 @@ jobs:
ecr_repo_secret: ECR_REALTIME
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
@@ -150,7 +150,7 @@ jobs:
# Build ARM64 images for GHCR (main branch only, runs in parallel)
build-ghcr-arm64:
name: Build ARM64 (GHCR Only)
needs: [test-build, detect-version]
needs: [detect-version]
runs-on: blacksmith-8vcpu-ubuntu-2404-arm
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
permissions:
@@ -169,7 +169,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Login to GHCR
uses: docker/login-action@v3
@@ -264,10 +264,10 @@ jobs:
outputs:
docs_changed: ${{ steps.filter.outputs.docs }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 2 # Need at least 2 commits to detect changes
- uses: dorny/paths-filter@v3
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
@@ -294,7 +294,7 @@ jobs:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

View File

@@ -15,7 +15,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
ref: staging
token: ${{ secrets.GH_PAT }}
@@ -115,7 +115,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
ref: staging

View File

@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
@@ -117,7 +117,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Login to GHCR
uses: docker/login-action@v3

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2

View File

@@ -14,7 +14,7 @@ jobs:
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2

View File

@@ -14,7 +14,7 @@ jobs:
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v5

View File

@@ -14,7 +14,7 @@ jobs:
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Bun
uses: oven-sh/setup-bun@v2

View File

@@ -1,4 +1,4 @@
import { render } from '@react-email/components'
import { render } from '@react-email/render'
import {
OnboardingFollowupEmail,
OTPVerificationEmail,

View File

@@ -1,4 +1,4 @@
import { render } from '@react-email/components'
import { render } from '@react-email/render'
import { db } from '@sim/db'
import {
member,

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

@@ -26,6 +26,8 @@ const {
mockListCustomTools,
mockGetCustomToolByIdOrTitle,
mockGenerateInternalToken,
mockSecureFetchWithPinnedIP,
mockValidateUrlWithDNS,
} = vi.hoisted(() => ({
mockIsHosted: { value: false },
mockEnv: { NEXT_PUBLIC_APP_URL: 'http://localhost:3000' } as Record<string, string | undefined>,
@@ -40,6 +42,8 @@ const {
mockListCustomTools: vi.fn(),
mockGetCustomToolByIdOrTitle: vi.fn(),
mockGenerateInternalToken: vi.fn(),
mockSecureFetchWithPinnedIP: vi.fn(),
mockValidateUrlWithDNS: vi.fn(),
}))
// Mock feature flags
@@ -73,6 +77,11 @@ vi.mock('@/lib/auth/internal', () => ({
vi.mock('@/lib/billing/core/usage-log', () => ({}))
vi.mock('@/lib/core/security/input-validation.server', () => ({
secureFetchWithPinnedIP: (...args: unknown[]) => mockSecureFetchWithPinnedIP(...args),
validateUrlWithDNS: (...args: unknown[]) => mockValidateUrlWithDNS(...args),
}))
vi.mock('@/lib/core/rate-limiter/hosted-key', () => ({
getHostedKeyRateLimiter: () => mockRateLimiterFns,
}))
@@ -476,6 +485,19 @@ describe('Automatic Internal Route Detection', () => {
beforeEach(() => {
process.env.NEXT_PUBLIC_APP_URL = 'http://localhost:3000'
cleanupEnvVars = setupEnvVars({ NEXT_PUBLIC_APP_URL: 'http://localhost:3000' })
mockValidateUrlWithDNS.mockResolvedValue({ isValid: true, resolvedIP: '93.184.216.34' })
mockSecureFetchWithPinnedIP.mockResolvedValue({
ok: true,
status: 200,
statusText: 'OK',
headers: {
get: (name: string) => (name.toLowerCase() === 'content-type' ? 'application/json' : null),
toRecord: () => ({ 'content-type': 'application/json' }),
},
text: async () => JSON.stringify({}),
json: async () => ({}),
})
})
afterEach(() => {

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',

Some files were not shown because too many files have changed in this diff Show More