import { atlassianMcpSetupMessage, callAtlassianMcp, firstArray } from './mcp.ts' type SearchJiraInput = { jql?: string maxResults?: number } /** * Search Jira issues through the connected Atlassian MCP server. * @param input - Optional helper arguments (query, limit, filters). * @returns Structured helper result for agents. * @example * import searchJira from 'kody:@kody/atlassian/search-jira' * const result = await searchJira() * // => { ... } */ 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, } }