import { z } from 'zod';
import { defineTool, } from '../toolDefinition.js';
import { AgentToolNames } from '../shared/agentToolNames.js';
export const getIssueToolParamsSchema = z.object({
    issue_id: z.string(),
});
/**
 * Response schema for the get_issue tool
 * Contains only fields that are meaningful to the LLM
 */
export const getIssueToolResponseSchema = z.object({
    id: z.string().optional(),
    issue_tracker_variant_id: z.string().optional(),
    issue_tracker_link: z.string().optional(),
    open: z.boolean().optional(),
    issue_fields: z.record(z.string(), z.any()).optional(),
    linked_tests: z.array(z.string()).optional(),
    linked_test_runs: z.array(z.string()).optional(),
    linked_test_run_ai_failure_summaries: z.array(z.record(z.string(), z.any())).optional(),
    deleted_on_jira: z.boolean().optional(),
});
export const GetIssueToolDefinition = defineTool({
    name: AgentToolNames.GetIssue,
    description: 'Retrieve details of a specific JIRA issue by its ID',
    argumentsSchema: getIssueToolParamsSchema,
    responseSchema: getIssueToolResponseSchema,
});
//# sourceMappingURL=IssueToolDefinition.js.map