improvement(linear): cleanup linear checks (#2075)

This commit is contained in:
Vikhyath Mondreti
2025-11-20 01:32:01 -08:00
committed by GitHub
parent 472aff5dd7
commit 304cafe698
31 changed files with 112 additions and 255 deletions

View File

@@ -39,8 +39,11 @@ export const linearArchiveProjectTool: ToolConfig<
body: (params) => ({
query: `
mutation ArchiveProject($id: String!) {
projectArchive(id: $id) {
projectDelete(id: $id) {
success
entity {
id
}
}
}
`,
@@ -61,7 +64,7 @@ export const linearArchiveProjectTool: ToolConfig<
}
}
const result = data.data.projectArchive
const result = data.data.projectDelete
if (!result.success) {
return {
success: false,

View File

@@ -64,8 +64,7 @@ export const linearCreateAttachmentTool: ToolConfig<
title: params.title,
}
if (params.subtitle !== undefined && params.subtitle !== null && params.subtitle !== '')
input.subtitle = params.subtitle
if (params.subtitle != null && params.subtitle !== '') input.subtitle = params.subtitle
return {
query: `

View File

@@ -90,38 +90,32 @@ export const linearCreateCustomerTool: ToolConfig<
}
// Optional fields with proper validation
if (
params.domains !== undefined &&
params.domains !== null &&
Array.isArray(params.domains) &&
params.domains.length > 0
) {
if (params.domains != null && Array.isArray(params.domains) && params.domains.length > 0) {
input.domains = params.domains
}
if (
params.externalIds !== undefined &&
params.externalIds !== null &&
params.externalIds != null &&
Array.isArray(params.externalIds) &&
params.externalIds.length > 0
) {
input.externalIds = params.externalIds
}
if (params.logoUrl !== undefined && params.logoUrl !== null && params.logoUrl !== '') {
if (params.logoUrl != null && params.logoUrl !== '') {
input.logoUrl = params.logoUrl
}
if (params.ownerId !== undefined && params.ownerId !== null && params.ownerId !== '') {
if (params.ownerId != null && params.ownerId !== '') {
input.ownerId = params.ownerId
}
if (params.revenue !== undefined && params.revenue !== null) {
if (params.revenue != null) {
input.revenue = params.revenue
}
if (params.size !== undefined && params.size !== null) {
if (params.size != null) {
input.size = params.size
}
if (params.statusId !== undefined && params.statusId !== null && params.statusId !== '') {
if (params.statusId != null && params.statusId !== '') {
input.statusId = params.statusId
}
if (params.tierId !== undefined && params.tierId !== null && params.tierId !== '') {
if (params.tierId != null && params.tierId !== '') {
input.tierId = params.tierId
}

View File

@@ -67,17 +67,17 @@ export const linearCreateCustomerRequestTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {
customerId: params.customerId,
priority: params.priority !== undefined && params.priority !== null ? params.priority : 0,
priority: params.priority != null ? params.priority : 0,
}
// Optional fields with proper validation
if (params.body !== undefined && params.body !== null && params.body !== '') {
if (params.body != null && params.body !== '') {
input.body = params.body
}
if (params.issueId !== undefined && params.issueId !== null && params.issueId !== '') {
if (params.issueId != null && params.issueId !== '') {
input.issueId = params.issueId
}
if (params.projectId !== undefined && params.projectId !== null && params.projectId !== '') {
if (params.projectId != null && params.projectId !== '') {
input.projectId = params.projectId
}

View File

@@ -69,21 +69,13 @@ export const linearCreateCustomerStatusTool: ToolConfig<
color: params.color,
}
if (
params.displayName !== undefined &&
params.displayName !== null &&
params.displayName !== ''
) {
if (params.displayName != null && params.displayName !== '') {
input.displayName = params.displayName
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = params.position
}

View File

@@ -69,21 +69,13 @@ export const linearCreateCustomerTierTool: ToolConfig<
color: params.color,
}
if (
params.displayName !== undefined &&
params.displayName !== null &&
params.displayName !== ''
) {
if (params.displayName != null && params.displayName !== '') {
input.displayName = params.displayName
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = params.position
}

View File

@@ -59,8 +59,7 @@ export const linearCreateCycleTool: ToolConfig<LinearCreateCycleParams, LinearCr
endsAt: params.endsAt,
}
if (params.name !== undefined && params.name !== null && params.name !== '')
input.name = params.name
if (params.name != null && params.name !== '') input.name = params.name
return {
query: `

View File

@@ -57,14 +57,10 @@ export const linearCreateFavoriteTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.issueId !== undefined && params.issueId !== null && params.issueId !== '')
input.issueId = params.issueId
if (params.projectId !== undefined && params.projectId !== null && params.projectId !== '')
input.projectId = params.projectId
if (params.cycleId !== undefined && params.cycleId !== null && params.cycleId !== '')
input.cycleId = params.cycleId
if (params.labelId !== undefined && params.labelId !== null && params.labelId !== '')
input.labelId = params.labelId
if (params.issueId != null && params.issueId !== '') input.issueId = params.issueId
if (params.projectId != null && params.projectId !== '') input.projectId = params.projectId
if (params.cycleId != null && params.cycleId !== '') input.cycleId = params.cycleId
if (params.labelId != null && params.labelId !== '') input.labelId = params.labelId
if (Object.keys(input).length === 0) {
throw new Error('At least one ID (issue, project, cycle, or label) must be provided')

View File

@@ -62,18 +62,10 @@ export const linearCreateIssueTool: ToolConfig<LinearCreateIssueParams, LinearCr
title: params.title,
}
if (
params.projectId !== undefined &&
params.projectId !== null &&
params.projectId !== ''
) {
if (params.projectId != null && params.projectId !== '') {
input.projectId = params.projectId
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}

View File

@@ -57,16 +57,10 @@ export const linearCreateLabelTool: ToolConfig<LinearCreateLabelParams, LinearCr
name: params.name,
}
if (params.color !== undefined && params.color !== null && params.color !== '')
input.color = params.color
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
)
if (params.color != null && params.color !== '') input.color = params.color
if (params.description != null && params.description !== '')
input.description = params.description
if (params.teamId !== undefined && params.teamId !== null && params.teamId !== '')
input.teamId = params.teamId
if (params.teamId != null && params.teamId !== '') input.teamId = params.teamId
return {
query: `

View File

@@ -78,27 +78,19 @@ export const linearCreateProjectTool: ToolConfig<
name: params.name,
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.leadId !== undefined && params.leadId !== null && params.leadId !== '') {
if (params.leadId != null && params.leadId !== '') {
input.leadId = params.leadId
}
if (params.startDate !== undefined && params.startDate !== null && params.startDate !== '') {
if (params.startDate != null && params.startDate !== '') {
input.startDate = params.startDate
}
if (
params.targetDate !== undefined &&
params.targetDate !== null &&
params.targetDate !== ''
) {
if (params.targetDate != null && params.targetDate !== '') {
input.targetDate = params.targetDate
}
if (params.priority !== undefined && params.priority !== null) {
if (params.priority != null) {
input.priority = Number(params.priority)
}

View File

@@ -68,20 +68,16 @@ export const linearCreateProjectLabelTool: ToolConfig<
name: params.name,
}
if (params.color !== undefined && params.color !== null && params.color !== '') {
if (params.color != null && params.color !== '') {
input.color = params.color
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.isGroup !== undefined && params.isGroup !== null) {
if (params.isGroup != null) {
input.isGroup = params.isGroup
}
if (params.parentId !== undefined && params.parentId !== null && params.parentId !== '') {
if (params.parentId != null && params.parentId !== '') {
input.parentId = params.parentId
}

View File

@@ -57,8 +57,7 @@ export const linearCreateProjectLinkTool: ToolConfig<
url: params.url,
}
if (params.label !== undefined && params.label !== null && params.label !== '')
input.label = params.label
if (params.label != null && params.label !== '') input.label = params.label
return {
query: `

View File

@@ -63,18 +63,10 @@ export const linearCreateProjectMilestoneTool: ToolConfig<
name: params.name,
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (
params.targetDate !== undefined &&
params.targetDate !== null &&
params.targetDate !== ''
) {
if (params.targetDate != null && params.targetDate !== '') {
input.targetDate = params.targetDate
}

View File

@@ -69,17 +69,13 @@ export const linearCreateProjectStatusTool: ToolConfig<
color: params.color,
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.indefinite !== undefined && params.indefinite !== null) {
if (params.indefinite != null) {
input.indefinite = params.indefinite
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = params.position
}

View File

@@ -57,8 +57,7 @@ export const linearCreateProjectUpdateTool: ToolConfig<
body: params.body,
}
if (params.health !== undefined && params.health !== null && params.health !== '')
input.health = params.health
if (params.health != null && params.health !== '') input.health = params.health
return {
query: `

View File

@@ -77,14 +77,10 @@ export const linearCreateWorkflowStateTool: ToolConfig<
type: params.type,
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = Number(params.position)
}

View File

@@ -46,10 +46,10 @@ export const linearReadIssuesTool: ToolConfig<LinearReadIssuesParams, LinearRead
body: (params) => {
const filter: Record<string, any> = {}
if (params.teamId !== undefined && params.teamId !== null && params.teamId !== '') {
if (params.teamId != null && params.teamId !== '') {
filter.team = { id: { eq: params.teamId } }
}
if (params.projectId !== undefined && params.projectId !== null && params.projectId !== '') {
if (params.projectId != null && params.projectId !== '') {
filter.project = { id: { eq: params.projectId } }
}

View File

@@ -56,8 +56,7 @@ export const linearUpdateAttachmentTool: ToolConfig<
title: params.title,
}
if (params.subtitle !== undefined && params.subtitle !== null && params.subtitle !== '')
input.subtitle = params.subtitle
if (params.subtitle != null && params.subtitle !== '') input.subtitle = params.subtitle
return {
query: `

View File

@@ -45,8 +45,7 @@ export const linearUpdateCommentTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.body !== undefined && params.body !== null && params.body !== '')
input.body = params.body
if (params.body != null && params.body !== '') input.body = params.body
return {
query: `

View File

@@ -93,41 +93,35 @@ export const linearUpdateCustomerTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (
params.domains !== undefined &&
params.domains !== null &&
Array.isArray(params.domains) &&
params.domains.length > 0
) {
if (params.domains != null && Array.isArray(params.domains) && params.domains.length > 0) {
input.domains = params.domains
}
if (
params.externalIds !== undefined &&
params.externalIds !== null &&
params.externalIds != null &&
Array.isArray(params.externalIds) &&
params.externalIds.length > 0
) {
input.externalIds = params.externalIds
}
if (params.logoUrl !== undefined && params.logoUrl !== null && params.logoUrl !== '') {
if (params.logoUrl != null && params.logoUrl !== '') {
input.logoUrl = params.logoUrl
}
if (params.ownerId !== undefined && params.ownerId !== null && params.ownerId !== '') {
if (params.ownerId != null && params.ownerId !== '') {
input.ownerId = params.ownerId
}
if (params.revenue !== undefined && params.revenue !== null) {
if (params.revenue != null) {
input.revenue = params.revenue
}
if (params.size !== undefined && params.size !== null) {
if (params.size != null) {
input.size = params.size
}
if (params.statusId !== undefined && params.statusId !== null && params.statusId !== '') {
if (params.statusId != null && params.statusId !== '') {
input.statusId = params.statusId
}
if (params.tierId !== undefined && params.tierId !== null && params.tierId !== '') {
if (params.tierId != null && params.tierId !== '') {
input.tierId = params.tierId
}

View File

@@ -74,23 +74,19 @@ export const linearUpdateCustomerRequestTool: ToolConfig<
const input: Record<string, any> = {}
// Optional fields with proper validation
if (params.body !== undefined && params.body !== null && params.body !== '') {
if (params.body != null && params.body !== '') {
input.body = params.body
}
if (params.priority !== undefined && params.priority !== null) {
if (params.priority != null) {
input.priority = params.priority
}
if (
params.customerId !== undefined &&
params.customerId !== null &&
params.customerId !== ''
) {
if (params.customerId != null && params.customerId !== '') {
input.customerId = params.customerId
}
if (params.issueId !== undefined && params.issueId !== null && params.issueId !== '') {
if (params.issueId != null && params.issueId !== '') {
input.issueId = params.issueId
}
if (params.projectId !== undefined && params.projectId !== null && params.projectId !== '') {
if (params.projectId != null && params.projectId !== '') {
input.projectId = params.projectId
}

View File

@@ -72,27 +72,19 @@ export const linearUpdateCustomerStatusTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (params.color !== undefined && params.color !== null && params.color !== '') {
if (params.color != null && params.color !== '') {
input.color = params.color
}
if (
params.displayName !== undefined &&
params.displayName !== null &&
params.displayName !== ''
) {
if (params.displayName != null && params.displayName !== '') {
input.displayName = params.displayName
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = params.position
}

View File

@@ -72,27 +72,19 @@ export const linearUpdateCustomerTierTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (params.color !== undefined && params.color !== null && params.color !== '') {
if (params.color != null && params.color !== '') {
input.color = params.color
}
if (
params.displayName !== undefined &&
params.displayName !== null &&
params.displayName !== ''
) {
if (params.displayName != null && params.displayName !== '') {
input.displayName = params.displayName
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = params.position
}

View File

@@ -79,37 +79,25 @@ export const linearUpdateIssueTool: ToolConfig<LinearUpdateIssueParams, LinearUp
body: (params) => {
const input: Record<string, any> = {}
if (params.title !== undefined && params.title !== null && params.title !== '') {
if (params.title != null && params.title !== '') {
input.title = params.title
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.stateId !== undefined && params.stateId !== null && params.stateId !== '') {
if (params.stateId != null && params.stateId !== '') {
input.stateId = params.stateId
}
if (
params.assigneeId !== undefined &&
params.assigneeId !== null &&
params.assigneeId !== ''
) {
if (params.assigneeId != null && params.assigneeId !== '') {
input.assigneeId = params.assigneeId
}
if (params.priority !== undefined && params.priority !== null) {
if (params.priority != null) {
input.priority = Number(params.priority)
}
if (params.estimate !== undefined && params.estimate !== null) {
if (params.estimate != null) {
input.estimate = Number(params.estimate)
}
if (
params.labelIds !== undefined &&
params.labelIds !== null &&
Array.isArray(params.labelIds)
) {
if (params.labelIds != null && Array.isArray(params.labelIds)) {
input.labelIds = params.labelIds
}

View File

@@ -55,15 +55,9 @@ export const linearUpdateLabelTool: ToolConfig<LinearUpdateLabelParams, LinearUp
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '')
input.name = params.name
if (params.color !== undefined && params.color !== null && params.color !== '')
input.color = params.color
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
)
if (params.name != null && params.name !== '') input.name = params.name
if (params.color != null && params.color !== '') input.color = params.color
if (params.description != null && params.description !== '')
input.description = params.description
return {

View File

@@ -81,33 +81,25 @@ export const linearUpdateProjectTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.state !== undefined && params.state !== null && params.state !== '') {
if (params.state != null && params.state !== '') {
input.state = params.state
}
if (params.leadId !== undefined && params.leadId !== null && params.leadId !== '') {
if (params.leadId != null && params.leadId !== '') {
input.leadId = params.leadId
}
if (params.startDate !== undefined && params.startDate !== null && params.startDate !== '') {
if (params.startDate != null && params.startDate !== '') {
input.startDate = params.startDate
}
if (
params.targetDate !== undefined &&
params.targetDate !== null &&
params.targetDate !== ''
) {
if (params.targetDate != null && params.targetDate !== '') {
input.targetDate = params.targetDate
}
if (params.priority !== undefined && params.priority !== null) {
if (params.priority != null) {
input.priority = Number(params.priority)
}

View File

@@ -60,17 +60,13 @@ export const linearUpdateProjectLabelTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (params.color !== undefined && params.color !== null && params.color !== '') {
if (params.color != null && params.color !== '') {
input.color = params.color
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}

View File

@@ -60,21 +60,13 @@ export const linearUpdateProjectMilestoneTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (
params.targetDate !== undefined &&
params.targetDate !== null &&
params.targetDate !== ''
) {
if (params.targetDate != null && params.targetDate !== '') {
input.targetDate = params.targetDate
}

View File

@@ -72,23 +72,19 @@ export const linearUpdateProjectStatusTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (params.color !== undefined && params.color !== null && params.color !== '') {
if (params.color != null && params.color !== '') {
input.color = params.color
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.indefinite !== undefined && params.indefinite !== null) {
if (params.indefinite != null) {
input.indefinite = params.indefinite
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = params.position
}

View File

@@ -66,20 +66,16 @@ export const linearUpdateWorkflowStateTool: ToolConfig<
body: (params) => {
const input: Record<string, any> = {}
if (params.name !== undefined && params.name !== null && params.name !== '') {
if (params.name != null && params.name !== '') {
input.name = params.name
}
if (params.color !== undefined && params.color !== null && params.color !== '') {
if (params.color != null && params.color !== '') {
input.color = params.color
}
if (
params.description !== undefined &&
params.description !== null &&
params.description !== ''
) {
if (params.description != null && params.description !== '') {
input.description = params.description
}
if (params.position !== undefined && params.position !== null) {
if (params.position != null) {
input.position = Number(params.position)
}