import { atlassianMcpSetupMessage, callAtlassianMcp, firstArray } from './mcp.ts'
type SearchJiraInput = {
jql?: string
maxResults?: number
}
export default async function searchJira(input: SearchJiraInput = {}) {
const jql = input.jql?.trim() || 'assignee = currentUser() ORDER BY updated DESC'
const maxResults = input.maxResults ?? 10
const mcp = await callAtlassianMcp(
['searchJiraIssuesUsingJql', 'search_jira_issues_using_jql', 'search', 'jira_search'],
{ jql, maxResults },
)
if (!mcp) {
throw new Error(atlassianMcpSetupMessage())
}
return {
via: 'mcp',
tool: mcp.tool,
jql,
issues: firstArray(mcp.result) ?? mcp.result,
}
}