"""Constants specific to Jira operations."""
# Based on https://support.atlassian.com/jira-software-cloud/docs/what-is-advanced-search-in-jira-cloud/
# "Reserved words" section — verified 2026-02-23
# Using lowercase for case-insensitive matching
RESERVED_JQL_WORDS = {
"a",
"an",
"abort",
"access",
"add",
"after",
"alias",
"all",
"alter",
"and",
"any",
"are",
"as",
"asc",
"at",
"audit",
"avg",
"be",
"before",
"begin",
"between",
"boolean",
"break",
"but",
"by",
"byte",
"catch",
"cf",
"char",
"character",
"check",
"checkpoint",
"collate",
"collation",
"column",
"commit",
"connect",
"continue",
"count",
"create",
"current",
"date",
"decimal",
"declare",
"decrement",
"default",
"defaults",
"define",
"delete",
"delimiter",
"desc",
"difference",
"distinct",
"divide",
"do",
"double",
"drop",
"else",
"empty",
"encoding",
"end",
"equals",
"escape",
"exclusive",
"exec",
"execute",
"exists",
"explain",
"false",
"fetch",
"field",
"file",
"first",
"float",
"for",
"from",
"function",
"go",
"goto",
"grant",
"greater",
"group",
"having",
"identified",
"if",
"immediate",
"in",
"increment",
"index",
"initial",
"inner",
"inout",
"input",
"insert",
"int",
"integer",
"intersect",
"intersection",
"into",
"is",
"isempty",
"isnull",
"it",
"join",
"last",
"left",
"less",
"like",
"limit",
"lock",
"long",
"max",
"min",
"minus",
"mode",
"modify",
"modulo",
"more",
"multiply",
"next",
"no",
"noaudit",
"not",
"notin",
"nowait",
"null",
"number",
"object",
"of",
"on",
"option",
"or",
"order",
"outer",
"output",
"power",
"previous",
"prior",
"privileges",
"public",
"raise",
"raw",
"remainder",
"rename",
"resource",
"return",
"returns",
"revoke",
"right",
"row",
"rowid",
"rownum",
"rows",
"select",
"session",
"set",
"share",
"size",
"sqrt",
"start",
"strict",
"string",
"subtract",
"such",
"sum",
"synonym",
"table",
"that",
"the",
"their",
"then",
"there",
"these",
"they",
"this",
"to",
"trans",
"transaction",
"trigger",
"true",
"uid",
"union",
"unique",
"update",
"user",
"validate",
"values",
"view",
"was",
"when",
"whenever",
"where",
"while",
"will",
"with",
}
# Set of default fields returned by Jira read operations when no specific fields are requested.
DEFAULT_READ_JIRA_FIELDS: set[str] = {
"summary",
"description",
"status",
"assignee",
"reporter",
"labels",
"priority",
"created",
"updated",
"issuetype",
}