/** * Zod schemas for Pylon API responses. * These define minimal response shapes to avoid context overflow in LLM clients. * * Philosophy: * - Default responses contain only essential fields for listing/searching * - Use pylon_get_* tools to fetch full details for a specific item * - Even "full" responses exclude massive fields like body_html * - Body content requires explicit fetch via dedicated tool */ import { z } from 'zod'; export declare const PaginationSchema: z.ZodObject<{ cursor: z.ZodNullable; has_next_page: z.ZodBoolean; }, z.core.$strip>; /** * Minimal issue fields for list/search operations. * This is what gets returned by default to avoid context overflow. */ export declare const IssueMinimalSchema: z.ZodObject<{ id: z.ZodString; number: z.ZodOptional; title: z.ZodString; state: z.ZodString; link: z.ZodOptional; created_at: z.ZodOptional; assignee_id: z.ZodOptional>; account_id: z.ZodOptional>; tags: z.ZodOptional>>; }, z.core.$strip>; /** * Standard issue fields - more detail but still excludes body_html. * Use for pylon_get_issue when you need details but not the full body. */ export declare const IssueStandardSchema: z.ZodObject<{ id: z.ZodString; number: z.ZodOptional; title: z.ZodString; state: z.ZodString; link: z.ZodOptional; created_at: z.ZodOptional; assignee_id: z.ZodOptional>; account_id: z.ZodOptional>; tags: z.ZodOptional>>; requester_id: z.ZodOptional>; team_id: z.ZodOptional>; resolution_time: z.ZodOptional>; latest_message_time: z.ZodOptional>; first_response_time: z.ZodOptional>; customer_portal_visible: z.ZodOptional; source: z.ZodOptional; type: z.ZodOptional; }, z.core.$strip>; /** * Full issue including body - only used when explicitly requested. * The body_html is truncated to prevent context overflow. */ export declare const IssueFullSchema: z.ZodObject<{ id: z.ZodString; number: z.ZodOptional; title: z.ZodString; state: z.ZodString; link: z.ZodOptional; created_at: z.ZodOptional; assignee_id: z.ZodOptional>; account_id: z.ZodOptional>; tags: z.ZodOptional>>; requester_id: z.ZodOptional>; team_id: z.ZodOptional>; resolution_time: z.ZodOptional>; latest_message_time: z.ZodOptional>; first_response_time: z.ZodOptional>; customer_portal_visible: z.ZodOptional; source: z.ZodOptional; type: z.ZodOptional; body_html: z.ZodOptional>; }, z.core.$strip>; export type IssueMinimal = z.infer; export type IssueStandard = z.infer; export type IssueFull = z.infer; export declare const AccountMinimalSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; primary_domain: z.ZodOptional>; owner_id: z.ZodOptional>; tags: z.ZodOptional>>; }, z.core.$strip>; export declare const AccountStandardSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; primary_domain: z.ZodOptional>; owner_id: z.ZodOptional>; tags: z.ZodOptional>>; domains: z.ZodOptional>>; created_at: z.ZodOptional; type: z.ZodOptional; }, z.core.$strip>; export type AccountMinimal = z.infer; export type AccountStandard = z.infer; export declare const ContactMinimalSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; email: z.ZodOptional>; account_id: z.ZodOptional>; portal_role: z.ZodOptional>; }, z.core.$strip>; export declare const ContactStandardSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; email: z.ZodOptional>; account_id: z.ZodOptional>; portal_role: z.ZodOptional>; emails: z.ZodOptional>>; avatar_url: z.ZodOptional>; created_at: z.ZodOptional; }, z.core.$strip>; export type ContactMinimal = z.infer; export type ContactStandard = z.infer; export declare const TagSchema: z.ZodObject<{ id: z.ZodString; value: z.ZodString; object_type: z.ZodEnum<{ account: "account"; issue: "issue"; contact: "contact"; }>; hex_color: z.ZodOptional>; }, z.core.$strip>; export type Tag = z.infer; export declare const TeamMinimalSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; member_count: z.ZodOptional; }, z.core.$strip>; export declare const TeamStandardSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; member_count: z.ZodOptional; users: z.ZodOptional>>; }, z.core.$strip>; export type TeamMinimal = z.infer; export type TeamStandard = z.infer; /** * Transform a raw issue to minimal format. */ export declare function toIssueMinimal(raw: Record): IssueMinimal; /** * Transform a raw issue to standard format (more fields, no body). */ export declare function toIssueStandard(raw: Record): IssueStandard; /** * Transform a raw issue to full format (includes truncated body). */ export declare function toIssueFull(raw: Record): IssueFull; /** * Transform raw account to minimal format. */ export declare function toAccountMinimal(raw: Record): AccountMinimal; /** * Transform raw account to standard format. */ export declare function toAccountStandard(raw: Record): AccountStandard; /** * Transform raw contact to minimal format. */ export declare function toContactMinimal(raw: Record): ContactMinimal; /** * Transform raw contact to standard format. */ export declare function toContactStandard(raw: Record): ContactStandard; /** * Transform raw team to minimal format. */ export declare function toTeamMinimal(raw: Record): TeamMinimal; /** * Transform raw team to standard format. */ export declare function toTeamStandard(raw: Record): TeamStandard; //# sourceMappingURL=schemas.d.ts.map