/** * GraphQL queries for project initialization. * * Used by ProjectInitService to create/connect GitHub Projects V2, * set up custom fields, and read back field IDs for config generation. */ export interface RepositoryOwnerResponse { repository: { id: string; owner: { id: string; login: string; }; projectsV2: { nodes: Array<{ id: string; number: number; title: string; url: string; }>; }; }; } export interface CreateProjectResponse { createProjectV2: { projectV2: { id: string; number: number; title: string; url: string; owner: { login: string; }; }; }; } export interface CreateFieldTextResponse { createProjectV2Field: { projectV2Field: { id: string; name: string; dataType: string; }; }; } export interface CreateFieldSingleSelectResponse { createProjectV2Field: { projectV2Field: { id: string; name: string; dataType: string; options: Array<{ id: string; name: string; color: string; }>; }; }; } export interface ProjectFieldNode { id: string; name: string; dataType: string; options?: Array<{ id: string; name: string; color: string; }>; } export interface UpdateFieldSingleSelectResponse { updateProjectV2Field: { projectV2Field: { id: string; name: string; options: Array<{ id: string; name: string; color: string; }>; }; }; } export interface GetProjectWithFieldsResponse { node: { id: string; number: number; title: string; url: string; fields: { nodes: ProjectFieldNode[]; }; }; } export declare const GET_REPOSITORY_OWNER = "\n query GetRepositoryOwner($owner: String!, $name: String!) {\n repository(owner: $owner, name: $name) {\n id\n owner {\n id\n ... on User { login }\n ... on Organization { login }\n }\n projectsV2(first: 20) {\n nodes {\n id\n number\n title\n url\n }\n }\n }\n }\n"; export declare const CREATE_PROJECT = "\n mutation CreateProject($ownerId: ID!, $title: String!) {\n createProjectV2(input: {\n ownerId: $ownerId,\n title: $title\n }) {\n projectV2 {\n id\n number\n title\n url\n owner {\n ... on User { login }\n ... on Organization { login }\n }\n }\n }\n }\n"; export declare const CREATE_FIELD_TEXT = "\n mutation CreateFieldText($projectId: ID!, $name: String!) {\n createProjectV2Field(input: {\n projectId: $projectId,\n dataType: TEXT,\n name: $name\n }) {\n projectV2Field {\n ... on ProjectV2Field {\n id\n name\n dataType\n }\n }\n }\n }\n"; export declare const CREATE_FIELD_SINGLE_SELECT = "\n mutation CreateFieldSingleSelect($projectId: ID!, $name: String!, $options: [ProjectV2SingleSelectFieldOptionInput!]!) {\n createProjectV2Field(input: {\n projectId: $projectId,\n dataType: SINGLE_SELECT,\n name: $name,\n singleSelectOptions: $options\n }) {\n projectV2Field {\n ... on ProjectV2SingleSelectField {\n id\n name\n dataType\n options {\n id\n name\n color\n }\n }\n }\n }\n }\n"; export declare const UPDATE_FIELD_SINGLE_SELECT = "\n mutation UpdateFieldSingleSelect($fieldId: ID!, $options: [ProjectV2SingleSelectFieldOptionInput!]!) {\n updateProjectV2Field(input: {\n fieldId: $fieldId,\n singleSelectOptions: $options\n }) {\n projectV2Field {\n ... on ProjectV2SingleSelectField {\n id\n name\n options {\n id\n name\n color\n }\n }\n }\n }\n }\n"; export declare const GET_PROJECT_WITH_FIELDS = "\n query GetProjectWithFields($projectId: ID!) {\n node(id: $projectId) {\n ... on ProjectV2 {\n id\n number\n title\n url\n fields(first: 30) {\n nodes {\n ... on ProjectV2Field {\n id\n name\n dataType\n }\n ... on ProjectV2SingleSelectField {\n id\n name\n dataType\n options {\n id\n name\n color\n }\n }\n }\n }\n }\n }\n }\n"; export interface FieldOptionInput { name: string; color: string; description?: string; } export declare const FIELD_OPTIONS: { readonly AI_SUITABILITY: { name: string; color: string; description: string; }[]; readonly RISK_LEVEL: { name: string; color: string; description: string; }[]; readonly EFFORT: { name: string; color: string; description: string; }[]; readonly TASK_TYPE: { name: string; color: string; description: string; }[]; readonly STATUS: { name: string; color: string; description: string; }[]; }; /** Mapping from status display name to config key */ export declare const STATUS_NAME_TO_KEY: Record; import type { MethodologyProfile } from '../../../profiles/types.js'; /** * Build GitHub status field options from a MethodologyProfile. * Assigns colors by state category with rotation within each category. */ export declare function buildStatusOptionsForProfile(profile: MethodologyProfile): FieldOptionInput[]; /** * Build status name → config key mapping from a MethodologyProfile. * Maps state.name → state.key from profile.states. */ export declare function buildStatusNameToKeyForProfile(profile: MethodologyProfile): Record; /** Mapping from single-select field display names to config keys */ export declare const OPTION_NAME_TO_KEY: Record>; //# sourceMappingURL=project-init-queries.d.ts.map