# -----------------------------------------------
# !!! THIS FILE WAS GENERATED BY TYPE-GRAPHQL !!!
# !!!   DO NOT MODIFY THIS FILE BY YOURSELF   !!!
# -----------------------------------------------

input APIDocCompletionInput {
  code: String!
  language: String
}

type APIDocCompletionOutput {
  message: String
}

"""Represents a pair of access and refresh tokens."""
type AccessToken {
  """The access token for API authentication."""
  accesToken: String!

  """The refresh token to obtain a new access token."""
  refreshToken: String!
}

"""Entity for Activity"""
type Activity {
  """BPMN 2.0 task type"""
  activityType: String

  """Approval line for handling the activity."""
  approvalLine: [ApprovalLineItem!]

  """Roles eligible to pick up activity from the activity bank."""
  assigneeRole: Role

  """Who to resolve for the activity."""
  assignees: [AssigneeItem!]

  """User assigned to the client application"""
  client: User
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain
  id: ID!
  issuerRole: Role
  model: [ActivityModelItem!]

  """
  Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.
  """
  multiple: String
  name: String
  priority: Float
  reportSource: String

  """The type of report to be shown when a task is approved"""
  reportType: String

  """Autostart schedule in crontab format"""
  schedule: String

  """ID of the autostart schedule registered in the schedule service"""
  scheduleId: String
  searchKeys: [ActivitySearchKeyItem!]

  """Standard time for this activity to be performed"""
  standardTime: Float

  """Whether the purpose of starting the activity is to issue or post"""
  startingType: String
  state: String

  """The final authority on a given activity."""
  supervisoryRole: Role
  thumbnail: String

  """Time zone to which automatic scheduling is applied"""
  timezone: String
  uiSource: String

  """The type of UI to be shown when a task is performed"""
  uiType: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
  viewSource: String

  """The type of view to be shown when a task is approved"""
  viewType: String
}

"""Entity for ActivityApproval"""
type ActivityApproval {
  activityThread: ActivityThread
  approver: User
  approverRole: Role
  comment: String
  createdAt: DateTimeISO
  creator: User
  derivedApprovals: [ActivityApproval!]!
  domain: Domain!
  id: ID!
  judgment: String

  """Nth order approval for the given activity thread"""
  order: Float

  """delegator approval"""
  originalApproval: ActivityApproval
  round: Float
  terminatedAt: DateTimeISO
  terminator: User
  transaction: String
  updatedAt: DateTimeISO
  updater: User
}

type ActivityApprovalList {
  items: [ActivityApproval!]!
  total: Int!
}

type ActivityEvent {
  date: DateTimeISO
  id: String
  name: String
  priority: Float
  state: String
  type: String
}

"""Entity for ActivityInstance"""
type ActivityInstance {
  activity: Activity
  activityThreads: [ActivityThread!]!
  activityType: String
  adhocType: String
  approvalLine: [ApprovalLineItem!]
  assignedAt: DateTimeISO
  assigneeRole: Role
  assignees: [AssigneeItem!]
  bizKeys: Role!
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  dueAt: DateTimeISO
  id: ID!
  input: Object
  issuedAt: DateTimeISO
  issuer: User
  key01: String
  key02: String
  key03: String
  key04: String
  key05: String
  name: String
  output: Object
  priority: Float
  reason: String
  refBy: String
  startedAt: DateTimeISO
  starter: User
  state: String
  supervisoryRole: Role
  terminatedAt: DateTimeISO
  terminator: User
  threadsMax: Int
  threadsMin: Int
  thumbnail: String
  transaction: String
  uiSource: String
  uiType: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
  viewSource: String
  viewType: String
}

input ActivityInstanceDraft {
  activityId: String
  activityType: String
  adhocType: String
  approvalLine: Object
  assigneeRole: ObjectRef
  assignees: Object
  description: String
  dueAt: Date
  id: ID
  input: Object
  name: String!
  output: Object
  priority: Float
  reason: String
  refBy: String
  supervisoryRole: ObjectRef
  threadsMax: Int
  threadsMin: Int
  uiSource: String
  uiType: String
  viewSource: String
  viewType: String
}

"""History Entity of ActivityInstance"""
type ActivityInstanceHistory {
  activityType: String
  adhocType: String
  approvalLine: [ApprovalLineItem!]
  assignedAt: DateTimeISO
  assigneeRole: Role
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  dueAt: DateTimeISO
  id: ID!
  input: Object
  issuedAt: DateTimeISO
  issuer: User
  key01: String
  key02: String
  key03: String
  key04: String
  key05: String
  name: String
  output: Object
  priority: Float
  reason: String
  refBy: String
  startedAt: DateTimeISO
  starter: User
  state: String
  supervisoryRole: Role
  terminatedAt: DateTimeISO
  terminator: User
  threadsMax: Int
  threadsMin: Int
  transaction: String
  uiSource: String
  uiType: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
}

type ActivityInstanceHistoryList {
  items: [ActivityInstanceHistory!]!
  total: Int!
}

input ActivityInstanceIssue {
  activityId: String
  activityType: String
  adhocType: String
  approvalLine: Object
  assigneeRole: ObjectRef
  assignees: Object
  description: String
  dueAt: Date
  id: ID
  input: Object
  name: String
  output: Object
  priority: Float
  reason: String
  refBy: String
  supervisoryRole: ObjectRef
  threadsMax: Int
  threadsMin: Int
  uiSource: String
  uiType: String
  viewSource: String
  viewType: String
}

type ActivityInstanceList {
  items: [ActivityInstance!]!
  total: Int!
}

type ActivityList {
  items: [Activity!]!
  total: Int!
}

"""Entity for ActivityModelItem"""
type ActivityModelItem {
  active: Boolean
  description: String
  hidden: Boolean
  inout: ActivityModelItemInoutType
  mandatory: Boolean
  name: String
  options: Object
  quantifier: [Int!]
  spec: Object
  tag: String
  type: String
  unit: String
}

"""inout enumeration of a activity-model-item"""
enum ActivityModelItemInoutType {
  in
  inout
  out
}

input ActivityPatch {
  activityType: String
  approvalLine: Object
  assigneeRole: ObjectRef
  assignees: Object
  cuFlag: String
  description: String
  id: ID
  issuerRole: ObjectRef
  model: Object
  multiple: String
  name: String
  priority: Float
  reportSource: String
  reportType: String
  schedule: String
  scheduleId: String
  searchKeys: Object
  standardTime: Float
  startingType: String
  state: String
  supervisoryRole: ObjectRef
  thumbnail: Upload
  timezone: String
  uiSource: String
  uiType: String
  viewSource: String
  viewType: String
}

"""Entity for ActivitySearchKeyItem"""
type ActivitySearchKeyItem {
  description: String
  inputKey: String
  name: String!
  tKey: String
}

"""Object Type for My Activity Summary"""
type ActivitySummary {
  numberOfApprovalPendings: Float
  numberOfDrafts: Float
  numberOfPicks: Float
  numberOfToDos: Float
}

"""Entity for ActivityTemplate"""
type ActivityTemplate {
  active: Boolean
  activityType: String
  category: String
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  model: [ActivityModelItem!]
  name: String
  reportSource: String
  reportType: String
  state: String
  thumbnail: String
  uiSource: String
  uiType: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
  viewSource: String
  viewType: String
  visibility: String
}

type ActivityTemplateList {
  items: [ActivityTemplate!]!
  total: Int!
}

input ActivityTemplatePatch {
  active: Boolean
  activityType: String
  category: String
  cuFlag: String
  description: String
  id: ID
  model: Object
  name: String
  reportSource: String
  reportType: String
  state: String
  thumbnail: Upload
  uiSource: String
  uiType: String
  viewSource: String
  viewType: String
  visibility: String
}

"""Entity for ActivityThread"""
type ActivityThread {
  activityApprovals: [ActivityApproval!]!
  activityInstance: ActivityInstance
  activityThreadHistories: [ActivityThreadHistory!]!
  assignedAt: DateTimeISO
  assignee: User
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  dueAt: DateTimeISO
  id: ID!
  output: Object

  """Specific reason for the execution of the last transaction"""
  reason: String
  round: Float
  startedAt: DateTimeISO
  state: String
  terminatedAt: DateTimeISO
  terminator: User
  transaction: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
}

"""History Entity of ActivityThread"""
type ActivityThreadHistory {
  activityInstance: ActivityInstance
  assignedAt: DateTimeISO
  assignee: User
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  dueAt: DateTimeISO
  id: ID!
  output: Object

  """Specific reason for the execution of the last transaction"""
  reason: String
  round: Float
  startedAt: DateTimeISO
  state: String
  terminatedAt: DateTimeISO
  terminator: User
  transaction: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
}

type ActivityThreadList {
  items: [ActivityThread!]!
  total: Int!
}

input ActivityThreadSave {
  output: Object
}

"""
A flexible scalar type that can represent any GraphQL value, including String, Boolean, Int, Float, Object, or List. Use this type for fields or arguments that may accept or return various data types.
"""
scalar Any

"""
Represents a user that is bound to a specific application, with an associated scope and refresh token.
"""
type AppBinding {
  """The application to which the user is bound."""
  application: Application

  """Timestamp when the user account was created."""
  createdAt: DateTimeISO
  creator: User!

  """Optional description or note about the user."""
  description: String

  """Domains (organizations, companies, etc.) the user belongs to."""
  domains: [Domain!]!

  """Email address of the user."""
  email: EmailAddress!

  """Unique identifier for the user."""
  id: ID!

  """Locale or language preference for the user."""
  locale: String

  """Full name of the user."""
  name: String

  """Whether the user is the owner of the domain (not persisted in DB)."""
  owner: Boolean

  """Reference information for the user (external system, etc.)."""
  reference: String

  """The refresh token for the application."""
  refreshToken: String

  """Roles assigned to the user."""
  roles: [Role!]!

  """The scope of access granted to the application."""
  scope: String

  """Single sign-on (SSO) identifier for federated authentication."""
  ssoId: String

  """Current status of the user account."""
  status: String!

  """Timestamp when the user account was last updated."""
  updatedAt: DateTimeISO
  updater: User!

  """Type or category of the user (e.g., user, application, appliance)."""
  userType: String

  """Unique username for the user."""
  username: String

  """External authentication providers linked to the user."""
  usersAuthProviders: [UsersAuthProviders!]
}

"""A paginated list of application bindings."""
type AppBindingList {
  """The list of application binding items."""
  items: [AppBinding!]

  """The total number of application bindings."""
  total: Int
}

"""
Represents a physical or virtual appliance that can be managed by the system.
"""
type Appliance {
  """The access token for the appliance."""
  accessToken: String

  """The brand or manufacturer of the appliance."""
  brand: String

  """The timestamp when the appliance was created."""
  createdAt: DateTimeISO

  """The user who created the appliance."""
  creator: User

  """A description of the appliance."""
  description: String

  """The domain to which the appliance belongs."""
  domain: Domain!

  """Unique identifier for the appliance."""
  id: ID!

  """The model of the appliance."""
  model: String

  """The name of the appliance."""
  name: String!

  """The network mask of the appliance."""
  netmask: String

  """The serial number of the appliance."""
  serialNo: String

  """The timestamp when the appliance was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the appliance."""
  updater: User
}

"""A paginated list of appliances."""
type ApplianceList {
  """The list of appliance items."""
  items: [Appliance!]

  """The total number of appliances."""
  total: Int
}

"""Input for updating (patching) an existing appliance."""
input AppliancePatch {
  """The new brand for the appliance."""
  brand: String

  """The new description for the appliance."""
  description: String

  """The unique identifier of the appliance to update."""
  id: ID

  """The new model for the appliance."""
  model: String

  """The new name for the appliance."""
  name: String

  """The new network mask for the appliance."""
  netmask: String

  """The new serial number for the appliance."""
  serialNo: String
}

"""
Represents a third-party application that can be integrated with the system.
"""
type Application {
  accessTokenUrl: String!

  """The unique key for the application (client ID)."""
  appKey: String

  """The secret key for the application (client secret)."""
  appSecret: String
  authUrl: String!
  availableScopes: String!

  """The timestamp when the application was created."""
  createdAt: DateTimeISO

  """The user who created the application."""
  creator: User

  """A description of the application."""
  description: String

  """The domain to which the application belongs."""
  domain: Domain!

  """The contact email for the application."""
  email: EmailAddress!

  """A URL to the icon for the application."""
  icon: String

  """Unique identifier for the application."""
  id: ID!

  """The name of the application."""
  name: String!

  """The redirect URL for OAuth2 flows."""
  redirectUrl: String!

  """The status of the application (e.g., DRAFT, ACTIVATED)."""
  status: String!

  """The type of the application."""
  type: String!

  """The timestamp when the application was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the application."""
  updater: User

  """The URL of the application."""
  url: String!

  """The webhook URL for the application to receive events."""
  webhook: String
}

"""A paginated list of applications."""
type ApplicationList {
  """The list of application items."""
  items: [Application!]

  """The total number of applications."""
  total: Int
}

"""Input for updating (patching) an existing application."""
input ApplicationPatch {
  """The new description for the application."""
  description: String

  """The new contact email for the application."""
  email: EmailAddress

  """The new icon URL for the application."""
  icon: String

  """The new name for the application."""
  name: String

  """The new redirect URL for the application."""
  redirectUrl: String

  """The new type for the application."""
  type: ApplicationType

  """The new URL for the application."""
  url: String

  """The new webhook URL for the application."""
  webhook: String
}

"""The type of an application."""
enum ApplicationType {
  MMS
  OTHERS
  SELLERCRAFT
  SFTP
  XERO
  XILNEX
}

"""Entity for ApprovalLine"""
type ApprovalLine {
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  model: [ApprovalLineItem!]
  name: String
  owner: ApprovalLineOwner
  ownerEmployee: Employee
  ownerType: String
  ownerValue: String
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for approval line item"""
type ApprovalLineItem {
  approver: OrgMemberTarget
  type: String
  value: String
}

type ApprovalLineList {
  items: [ApprovalLine!]!
  total: Int!
}

type ApprovalLineOwner {
  controlNo: String

  """Field description"""
  description: String

  """Field id"""
  id: ID!

  """Field name"""
  name: String
}

"""type enumeration of a approvalLineOwner"""
enum ApprovalLineOwnerType {
  Common
  Employee
}

input ApprovalLinePatch {
  cuFlag: String
  description: String
  id: ID
  model: Object
  name: String
  owner: ObjectRefApprovalLineOwnerType
  ownerType: ApprovalLineOwnerType
}

type AssigneeItem {
  assignee: OrgMemberTarget
  type: OrgMemberTargetType
  value: String
}

type Attachment {
  category: String
  createdAt: DateTimeISO!
  creator: User
  description: String
  domain: Domain!
  encoding: String!
  fullpath: String!
  id: ID!
  mimetype: String!
  name: String!
  path: String!
  refBy: String
  refType: String
  size: String!
  tags: Object
  updatedAt: DateTimeISO!
  updater: User
}

type AttachmentList {
  items: [Attachment!]!
  total: Int!
}

input AttachmentPatch {
  category: String
  description: String
  encoding: String
  file: Upload
  mimetype: String
  name: String
  refBy: String
  refType: String
  tags: Object
}

"""
Represents an AttributeSet entity, which defines a set of attributes for a specific entity type.
"""
type AttributeSet {
  """The date and time when this AttributeSet was created."""
  createdAt: DateTimeISO

  """A description of the AttributeSet."""
  description: String

  """The name of the entity this AttributeSet is associated with."""
  entity: String

  """The unique identifier of the AttributeSet."""
  id: ID!

  """A list of items (attributes) included in this AttributeSet."""
  items: [AttributeSetItem!]

  """The date and time when this AttributeSet was last updated."""
  updatedAt: DateTimeISO
}

"""
Represents an item (attribute) within an AttributeSet, including its type, options, and metadata.
"""
type AttributeSetItem {
  """Whether the attribute item is active."""
  active: Boolean

  """A description of the attribute item."""
  description: String

  """Whether the attribute item is hidden."""
  hidden: Boolean

  """The name of the attribute item."""
  name: String!

  """Options or additional settings for the attribute item."""
  options: Object

  """A tag for categorizing or identifying the attribute item."""
  tag: String

  """The type of the attribute item (e.g., number, text, boolean)."""
  type: AttributeSetItemType
}

"""Input type for creating or updating an AttributeSetItem."""
input AttributeSetItemPatch {
  """Whether the attribute item is active."""
  active: Boolean

  """A description of the attribute item."""
  description: String

  """Whether the attribute item is hidden."""
  hidden: Boolean

  """The name of the attribute item."""
  name: String

  """Options or additional settings for the attribute item."""
  options: Object

  """A tag for categorizing or identifying the attribute item."""
  tag: String

  """The type of the attribute item (e.g., number, text, boolean)."""
  type: AttributeSetItemType
}

"""
Enumeration of possible types for an attribute set item, such as number, text, boolean, select, date, datetime, or file.
"""
enum AttributeSetItemType {
  boolean
  date
  datetime
  file
  number
  secret
  select
  text
}

"""A paginated list of AttributeSet entities."""
type AttributeSetList {
  """The list of AttributeSet entities."""
  items: [AttributeSet!]!

  """The total number of AttributeSet entities."""
  total: Int!
}

"""Input type for updating an existing AttributeSet entity."""
input AttributeSetPatch {
  """A flag indicating create/update operation."""
  cuFlag: String

  """A description of the AttributeSet."""
  description: String

  """The name of the entity this AttributeSet is associated with."""
  entity: String

  """The unique identifier of the AttributeSet."""
  id: ID

  """A list of items (attributes) to update in this AttributeSet."""
  items: [AttributeSetItemPatch!]
}

"""
Represents a configured instance of an authentication provider for a specific domain.
"""
type AuthProvider {
  """Indicates whether this authentication provider is currently active."""
  active: Boolean

  """Client ID for OAuth/OIDC providers."""
  clientId: String

  """Client secret for OAuth/OIDC providers (stored encrypted)."""
  clientSecret: String

  """The timestamp when this provider instance was created."""
  createdAt: DateTimeISO

  """The user who created this provider instance."""
  creator: User

  """The domain to which this authentication provider belongs."""
  domain: Domain!

  """Unique identifier for the configured authentication provider."""
  id: ID!

  """A key-value map for additional provider-specific parameters."""
  params: Object

  """Private key, used by some authentication providers (stored encrypted)."""
  privateKey: String

  """Tenant ID, used by some multi-tenant authentication providers."""
  tenantId: String

  """The type of the authentication provider (e.g., keycloak, google)."""
  type: String

  """The timestamp when this provider instance was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated this provider instance."""
  updater: User

  """A list of user-provider associations for this provider."""
  usersAuthProviders: [UsersAuthProviders!]
}

"""A paginated list of configured authentication provider instances."""
type AuthProviderList {
  """The list of authentication provider items."""
  items: [AuthProvider!]!

  """The total number of authentication providers."""
  total: Int!
}

"""
Describes a single configuration parameter for an authentication provider.
"""
type AuthProviderParameterSpec {
  """The human-readable label for the parameter, shown in UI."""
  label: String!

  """The name of the parameter, used as the key in the params object."""
  name: String!

  """Placeholder text for the input field."""
  placeholder: String

  """Additional properties for the parameter (e.g., min, max)."""
  property: Object

  """CSS styles for the input field."""
  styles: Object

  """The data type of the parameter (e.g., text, number, boolean)."""
  type: String!
}

"""
Input for updating (patching) an existing authentication provider instance.
"""
input AuthProviderPatch {
  """The new active status for the provider."""
  active: Boolean

  """The new client ID for the provider."""
  clientId: String

  """The new client secret for the provider."""
  clientSecret: String

  """
  A flag indicating whether the provider is being created, updated, or deleted.
  """
  cuFlag: String

  """The unique identifier of the provider instance to update."""
  id: ID

  """The new provider-specific parameters."""
  params: Object

  """The new private key for the provider."""
  privateKey: String

  """The new tenant ID for the provider."""
  tenantId: String

  """The new type for the provider."""
  type: String
}

"""Describes a type of authentication provider available in the system."""
type AuthProviderType {
  """A brief description of the authentication provider."""
  description: String

  """Helpful information or a link to documentation for the provider."""
  help: String

  """
  A list of parameters required to configure this authentication provider.
  """
  parameterSpec: [AuthProviderParameterSpec!]

  """
  The unique type name of the authentication provider (e.g., keycloak, google).
  """
  type: String!
}

"""A list of available authentication provider types."""
type AuthProviderTypeList {
  """The list of authentication provider type items."""
  items: [AuthProviderType!]!

  """The total number of authentication provider types."""
  total: Int!
}

"""Represents a visual dashboard or display board."""
type Board {
  """The timestamp when the board was created."""
  createdAt: DateTimeISO

  """The user who created the board."""
  creator: User

  """The timestamp when the board was soft-deleted."""
  deletedAt: DateTimeISO

  """A detailed description of the board."""
  description: String

  """The domain to which this board belongs."""
  domain: Domain

  """The group to which this board belongs."""
  group: Group

  """Unique identifier for the board."""
  id: ID

  """The JSON model defining the layout and components of the board."""
  model: String

  """The name of the board."""
  name: String!

  """A list of play groups that this board is a part of."""
  playGroups: [PlayGroup!]

  """The state of the board, can be 'draft' or 'released'."""
  state: String

  """A base64 encoded thumbnail image of the board."""
  thumbnail: String

  """The type of the board, can be 'main', 'sub', or 'popup'."""
  type: String

  """The timestamp when the board was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the board."""
  updater: User

  """The version of the board model."""
  version: Float
}

"""Represents a board that a user has marked as a favorite."""
type BoardFavorite {
  """The timestamp when the board was created."""
  createdAt: DateTimeISO

  """The user who created the board."""
  creator: User

  """The timestamp when the board was soft-deleted."""
  deletedAt: DateTimeISO

  """A detailed description of the board."""
  description: String

  """The domain to which this board belongs."""
  domain: Domain

  """The unique identifier for the favorite marking itself."""
  favoriteId: String

  """The group to which this board belongs."""
  group: Group

  """Unique identifier for the board."""
  id: ID

  """The JSON model defining the layout and components of the board."""
  model: String

  """The name of the board."""
  name: String!

  """A list of play groups that this board is a part of."""
  playGroups: [PlayGroup!]

  """The state of the board, can be 'draft' or 'released'."""
  state: String

  """A base64 encoded thumbnail image of the board."""
  thumbnail: String

  """The type of the board, can be 'main', 'sub', or 'popup'."""
  type: String

  """The timestamp when the board was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the board."""
  updater: User

  """The version of the board model."""
  version: Float
}

"""A paginated list of favorite boards."""
type BoardFavoriteList {
  """The list of favorite board items."""
  items: [BoardFavorite!]!

  """The total number of favorite boards."""
  total: Int!
}

"""Stores historical versions of board entities."""
type BoardHistory {
  """
  The action that created this history record (e.g., created, updated, deleted).
  """
  action: String!

  """The creation timestamp of the original board."""
  createdAt: DateTimeISO

  """The user who created the original board."""
  creator: User

  """The deletion timestamp of the board, if applicable."""
  deletedAt: DateTimeISO

  """The description of the board at this point in history."""
  description: String

  """The domain this board belonged to."""
  domain: Domain

  """The group the board belonged to at this point in history."""
  group: Group

  """Unique identifier for the board history record."""
  id: ID!

  """The JSON model of the board at this point in history."""
  model: String

  """The name of the board at this point in history."""
  name: String!

  """The ID of the original board entity this history record belongs to."""
  originalId: String!

  """The play groups the board was part of at this point in history."""
  playGroups: [PlayGroup!]

  """
  The base64 encoded thumbnail image of the board at this point in history.
  """
  thumbnail: String

  """
  The type of the board at this point in history, can be 'main', 'sub', or 'popup'.
  """
  type: String

  """The last update timestamp of the board at this point in history."""
  updatedAt: DateTimeISO

  """The user who made the changes recorded in this history entry."""
  updater: User

  """The version number of this board history record."""
  version: Float
}

"""A paginated list of boards."""
type BoardList {
  """The list of board items."""
  items: [Board!]!

  """The total number of boards."""
  total: Int!
}

"""Input for updating (patching) an existing board."""
input BoardPatch {
  """The new description for the board."""
  description: String

  """The new group ID for the board."""
  groupId: String

  """The new JSON model for the board."""
  model: String

  """The new name for the board."""
  name: String

  """The new base64 encoded thumbnail image for the board."""
  thumbnail: String

  """The new type for the board, can be 'main', 'sub', or 'popup'."""
  type: String
}

"""A reusable template for creating new boards."""
type BoardTemplate {
  """The timestamp when the template was created."""
  createdAt: DateTimeISO

  """The user who created the template."""
  creator: User

  """A detailed description of the board template."""
  description: String

  """The domain to which this template belongs."""
  domain: Domain!

  """Unique identifier for the board template."""
  id: ID!
  mine: Boolean!

  """The JSON model that defines the layout and components of the template."""
  model: String

  """The name of the board template."""
  name: String

  """A list of tags for categorizing the template."""
  tags: [String!]

  """A base64 encoded thumbnail image of the template."""
  thumbnail: String

  """The timestamp when the template was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the template."""
  updater: User

  """The visibility of the template: 'private', 'public', or 'domain'."""
  visibility: String
}

"""A paginated list of board templates."""
type BoardTemplateList {
  """The list of board template items."""
  items: [BoardTemplate!]!

  """The total number of board templates."""
  total: Int!
}

"""Input for updating (patching) an existing board template."""
input BoardTemplatePatch {
  """
  A flag indicating whether the template is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the board template."""
  description: String

  """The unique identifier of the board template to update."""
  id: ID

  """The new JSON model for the board template."""
  model: String

  """The new name for the board template."""
  name: String

  """The new base64 encoded thumbnail image for the board template."""
  thumbnail: String

  """The new visibility for the board template: 'private' or 'public'."""
  visibility: String
}

input ChatCompletionInput {
  content: String!
}

type ChatCompletionOutput {
  message: String
}

input CodeDecipherInput {
  code: String!
  language: String
  system: String
}

type CodeDecipherOutput {
  message: String
}

"""Entity for CommonCode"""
type CommonCode {
  createdAt: DateTimeISO
  creator: User
  description: String
  details: [CommonCodeDetail!]!
  domain: Domain!
  id: ID!
  name: String!
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for CommonCodeDetail"""
type CommonCodeDetail {
  commonCode: CommonCode
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  labels: Object
  name: String!
  rank: Float
  updatedAt: DateTimeISO
  updater: User
}

type CommonCodeDetailList {
  items: [CommonCodeDetail!]!
  total: Int!
}

input CommonCodeDetailPatch {
  commonCode: ObjectRef!
  cuFlag: String
  description: String
  id: ID
  labels: Object
  name: String
  rank: Float
}

type CommonCodeList {
  items: [CommonCode!]!
  total: Int!
}

input CommonCodePatch {
  cuFlag: String
  description: String
  details: [String!]
  id: ID
  name: String
}

"""Represents a configured connection to an external system or service."""
type Connection {
  """Whether to automatically connect when the application starts"""
  active: Boolean

  """The timestamp when the connection was created."""
  createdAt: DateTimeISO

  """The user who created the connection."""
  creator: User

  """A detailed description of the connection."""
  description: String

  """The domain to which this connection belongs."""
  domain: Domain

  """The edge appliance that delegates this connection, if any."""
  edge: Appliance

  """The endpoint URL or address for the connection."""
  endpoint: String

  """Unique identifier for the connection."""
  id: ID!

  """The name of the connection."""
  name: String!

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """A key-value map of parameters for the connection."""
  params: Object

  """The current status of the connection (e.g., CONNECTED, DISCONNECTED)."""
  state: String

  """The type of the connection (e.g., tcp, http, mqtt)."""
  type: String

  """The timestamp when the connection was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the connection."""
  updater: User
}

"""A paginated list of connections."""
type ConnectionList {
  """The list of connection items."""
  items: [Connection!]!

  """The total number of connections."""
  total: Int!
}

"""Input for updating (patching) an existing connection."""
input ConnectionPatch {
  """Whether to automatically connect when the application starts"""
  active: Boolean

  """
  A flag indicating whether the connection is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the connection."""
  description: String

  """The new edge appliance for the connection."""
  edge: ObjectRef

  """The new endpoint for the connection."""
  endpoint: String

  """The unique identifier of the connection to update."""
  id: ID

  """The new name for the connection."""
  name: String

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """The new parameters for the connection."""
  params: Object

  """The new type for the connection."""
  type: String
}

"""Represents the state of a connection at a point in time."""
type ConnectionState {
  """The description of the connection."""
  description: String

  """The domain of the connection."""
  domain: Domain!

  """The edge appliance associated with the connection."""
  edge: Appliance

  """The unique identifier of the connection."""
  id: String

  """The name of the connection."""
  name: String

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """The current status of the connection."""
  state: String

  """The timestamp when this state was recorded."""
  timestamp: DateTimeISO

  """The type of the connection."""
  type: String
}

"""A paginated list of connector types."""
type ConnectorList {
  """The list of connector type items."""
  items: [ConnectorType!]!

  """The total number of connector types."""
  total: Int!
}

"""
Describes a type of connector, which handles communication for a specific protocol.
"""
type ConnectorType {
  """A brief description of the connector."""
  description: String

  """A URL or text providing more detailed help information."""
  help: String

  """The unique name of the connector type."""
  name: String!

  """A list of parameters required to configure this connector type."""
  parameterSpec: [PropertySpec!]

  """A list of task prefixes that this connector can handle."""
  taskPrefixes: [String!]
}

"""Entity for Contact"""
type Contact {
  address: String
  company: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  department: String
  domain: Domain!
  email: EmailAddress
  id: ID!
  items: [ContactItem!]
  name: String
  note: String
  phone: String
  profile: Profile
  updatedAt: DateTimeISO
  updater: User
}

type ContactItem {
  label: String!
  type: String!
  value: String!
}

input ContactItemPatch {
  label: String!
  type: String!
  value: String!
}

type ContactList {
  items: [Contact!]!
  total: Int!
}

input ContactPatch {
  address: String
  company: String
  cuFlag: String
  department: String
  email: EmailAddress
  id: ID
  items: [ContactItemPatch!]
  name: String
  note: String
  phone: String
  profile: ProfileInput
}

"""
Represents a data payload delivered via subscription, including its domain, tag, and content.
"""
type Data {
  """The actual data content delivered by the subscription."""
  data: Object

  """The domain where the data originated."""
  domain: Domain

  """
  The tag name attached to the data, used for filtering and identification.
  """
  tag: String!
}

"""
Represents a data archive record for storing historical data exports. This entity tracks archive requests, download status, and provides access to historical data files.
"""
type DataArchive {
  createdAt: DateTimeISO
  creator: User
  domain: Domain!

  """Presigned URL for downloading the archived data file."""
  downloadUrl: String

  """Unique identifier for the data archive."""
  id: ID!

  """
  Parameters used for the archive request including query filters and export options.
  """
  requestParams: Object

  """Current status of the archive request (pending, done, error)."""
  status: String
  type: String
  updatedAt: DateTimeISO
  updater: User
}

"""Represents a paginated list of data archives."""
type DataArchiveList {
  """List of data archives."""
  items: [DataArchive!]!

  """Total number of data archives in the list."""
  total: Int!
}

input DataArchivePatch {
  """Create/Update flag for batch operations."""
  cuFlag: String

  """Presigned URL for downloading the archived data file."""
  downloadUrl: String
  id: ID

  """
  Parameters used for the archive request including query filters and export options.
  """
  requestParams: Object

  """Current status of the archive request (pending, done, error)."""
  status: String

  """Type of archive request (manual or automatic)."""
  type: String
}

"""Entity for DataItem"""
type DataItem {
  """Indicates if the data item is active"""
  active: Boolean

  """
  Aggregation functions to be used in data summarizing logic for a given period.
  """
  agg: String

  """A description of the data item"""
  description: String

  """
  Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.
  """
  group: String

  """Indicates if the data item is hidden"""
  hidden: Boolean

  """The name of the data item"""
  name: String!

  """Options associated with the data item type"""
  options: Object

  """The maximum number of data values allowed for this field"""
  quota: Int

  """Specifies the valid ranges and parameters for this data item."""
  spec: Object

  """
  The grouping logic for data finalize in the given field during periodic task deadlines.
  """
  stat: String

  """
  Specifies a secondary grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.
  """
  subgroup: String

  """
  Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.
  """
  tag: String

  """The type of the data item"""
  type: String

  """The unit of measurement for the data item"""
  unit: String
}

input DataItemPatch {
  """Indicates if the data item is active"""
  active: Boolean

  """
  Aggregation functions to be used in data summarizing logic for a given period.
  """
  agg: String

  """A description of the data item"""
  description: String

  """
  Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.
  """
  group: String

  """Indicates if the data item is hidden"""
  hidden: Boolean

  """The name of the data item"""
  name: String

  """Options associated with the data item type"""
  options: Object

  """The maximum number of data values allowed for this field"""
  quota: Int

  """Specifies the valid ranges and parameters for this data item."""
  spec: Object

  """
  The grouping logic for data summarization in the given field during periodic task deadlines.
  """
  stat: String

  """
  Specifies a secondary grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.
  """
  subgroup: String

  """
  Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.
  """
  tag: String

  """The type of the data item"""
  type: DataItemType

  """The unit of measurement for the data item"""
  unit: String
}

"""type enumeration of a data-item"""
enum DataItemType {
  boolean
  date
  datetime
  file
  number
  radio
  select
  signature
  text
}

"""
Represents a key item that defines the categorization structure for data organization and search.
"""
type DataKeyItem {
  """The data key used for categorization and indexing."""
  dataKey: String

  """Description of the key item."""
  description: String

  """Name of the key item for identification."""
  name: String!

  """The template key for data organization."""
  tKey: String
}

input DataKeyItemPatch {
  """The data key used for categorization and indexing."""
  dataKey: String

  """Description of the key item."""
  description: String
  name: String

  """The template key for data organization."""
  tKey: String
}

"""
Represents a data key set that defines the categorization and indexing structure for data samples. This entity organizes data using key items for efficient search and partitioning.
"""
type DataKeySet {
  active: Boolean
  createdAt: DateTimeISO
  creator: User

  """
  The key items that define the categorization structure for this key set.
  """
  dataKeyItems: [DataKeyItem!]
  description: String
  domain: Domain!

  """Unique identifier for the data key set."""
  id: ID!
  name: String!
  reportType: String
  reportView: String
  thumbnail: String
  updatedAt: DateTimeISO
  updater: User
}

"""Represents a paginated list of data key sets."""
type DataKeySetList {
  """List of data key sets."""
  items: [DataKeySet!]!

  """Total number of data key sets in the list."""
  total: Int!
}

input DataKeySetPatch {
  """Indicates if the data key set is active."""
  active: Boolean

  """Create/Update flag for batch operations."""
  cuFlag: String

  """
  The key items that define the categorization structure for this key set.
  """
  dataKeyItems: [DataKeyItemPatch!]

  """Description of the data key set."""
  description: String
  id: ID
  name: String

  """Type of report to generate for this key set."""
  reportType: String

  """Custom report view for this key set."""
  reportView: String

  """Thumbnail image for visual representation of the key set."""
  thumbnail: Upload
}

type DataOOCS {
  collected_at: DateTimeISO!
  data: String!
  key_01: String!
  key_02: String!
}

"""
Represents an out-of-control (OOC) quality event that requires corrective action. This entity tracks the resolution workflow and maintains history of quality issues.
"""
type DataOoc {
  collectedAt: DateTimeISO
  correctedAt: DateTimeISO

  """Description of the corrective action taken to resolve the OOC issue."""
  correctiveAction: String

  """Instructions for corrective action to resolve the OOC issue."""
  correctiveInstruction: String
  corrector: User
  createdAt: DateTimeISO
  creator: User
  data: Object
  dataItems: [DataItem!]
  dataSample: DataSample
  dataSet: DataSet
  dataSetVersion: Float
  description: String
  domain: Domain!

  """
  Complete history of the OOC event, including all status changes and actions taken.
  """
  history: Object

  """Unique identifier for the OOC record."""
  id: ID!
  judgment: Object
  key01: String
  key02: String
  key03: String
  key04: String
  key05: String
  name: String
  ooc: Boolean
  oos: Boolean
  partitionKeys: Object
  rawData: String
  resolveActivityInstance: ActivityInstance
  reviewActivityInstance: ActivityInstance
  reviewedAt: DateTimeISO
  reviewer: User
  source: String

  """Current status of the OOC event in the corrective action workflow."""
  state: String
  type: String
  updatedAt: DateTimeISO
  updater: User
  useCase: String
  workDate: String
  workShift: String
}

"""Represents a paginated list of OOC events."""
type DataOocList {
  """List of OOC events."""
  items: [DataOoc!]!

  """Total number of OOC events in the list."""
  total: Int!
}

input DataOocPatch {
  """Description of the corrective action taken to resolve the OOC issue."""
  correctiveAction: String

  """Unique identifier for the OOC record."""
  id: ID

  """Current status of the OOC event in the corrective action workflow."""
  state: DataOocStatus
}

"""Out of control data corrective action process progress status"""
enum DataOocStatus {
  CORRECTED
  ISSUED
  REVIEWED
}

"""
Represents a single collected data sample, including values, metadata, judgment results, and links to the dataset and workflow activities.
"""
type DataSample {
  collectedAt: DateTimeISO
  createdAt: DateTimeISO
  creator: User

  """The actual collected data values for this sample."""
  data: Object
  dataItems: [DataItem!]
  dataOoc: DataOoc
  dataSet: DataSet!
  dataSetVersion: Float
  description: String
  domain: Domain!

  """Unique identifier for the data sample."""
  id: ID!

  """
  Quality judgment results for this sample, including pass/fail status and any automated analysis results.
  """
  judgment: Object
  key01: String
  key02: String
  key03: String
  key04: String
  key05: String
  name: String

  """Indicates if this sample is out of control (OOC)."""
  ooc: Boolean

  """Indicates if this sample is out of specification (OOS)."""
  oos: Boolean
  partitionKeys: Object
  rawData: String
  reviewActivityInstance: ActivityInstance
  source: String
  type: String
  updatedAt: DateTimeISO
  updater: User
  useCase: String
  workDate: String
  workShift: String
}

"""Represents a paginated list of data samples."""
type DataSampleList {
  """List of data samples."""
  items: [DataSample!]!

  """Total number of data samples in the list."""
  total: Int!
}

"""
Represents a data sensor configuration that connects hardware devices to datasets for automated data collection. This entity manages the communication protocol and data mapping.
"""
type DataSensor {
  active: Boolean
  appliance: Appliance

  """Brand name of the hardware device."""
  brand: String

  """Capacity or measurement range of the sensor."""
  capacity: Float
  createdAt: DateTimeISO
  creator: User
  dataSet: DataSet

  """
  The decoder scenario that automatically executes based on the trigger of raw data collection
  """
  decoder: Scenario

  """Description of the data sensor configuration."""
  description: String

  """Unique identifier of the hardware device connected to this sensor."""
  deviceId: String
  domain: Domain!

  """Unique identifier for the data sensor."""
  id: ID!

  """Model name of the hardware device."""
  model: String

  """Name of the data sensor for identification."""
  name: String!
  netmask: String
  refBy: String
  serialNo: String
  tag: String

  """Unit of measurement for the sensor capacity."""
  unit: String
  updatedAt: DateTimeISO
  updater: User
}

"""Represents a paginated list of data sensors."""
type DataSensorList {
  """List of data sensors."""
  items: [DataSensor!]!

  """Total number of data sensors in the list."""
  total: Int!
}

input DataSensorPatch {
  """Indicates if the data sensor is active."""
  active: Boolean

  """Reference to the appliance this sensor is connected to."""
  appliance: ObjectRef

  """Brand name of the hardware device."""
  brand: String

  """Capacity or measurement range of the sensor."""
  capacity: Float

  """Create/Update flag for batch operations."""
  cuFlag: String!

  """Reference to the dataset this sensor collects data for."""
  dataSet: ObjectRef

  """Reference to the decoder scenario for this sensor."""
  decoder: ObjectRef

  """Description of the data sensor configuration."""
  description: String

  """Unique identifier of the hardware device connected to this sensor."""
  deviceId: String
  id: ID

  """Model name of the hardware device."""
  model: String
  name: String

  """Network mask for the sensor connection."""
  netmask: String

  """Reference identifier for the sensor."""
  refBy: String

  """Serial number of the hardware device."""
  serialNo: String

  """Tag for categorizing the sensor."""
  tag: String

  """Unit of measurement for the sensor capacity."""
  unit: String
}

"""Entity for DataSet"""
type DataSet {
  """Indicates whether the dataset is currently active or in use."""
  active: Boolean

  """Retrieves the approval line items for the dataset"""
  approvalLine: [ApprovalLineItem!]!

  """Who to contact for OOC issues"""
  assignees: [AssigneeItem!]

  """The date and time the dataset was created"""
  createdAt: DateTimeISO

  """The user who created the dataset"""
  creator: User

  """Data items for the dataset"""
  dataItems: [DataItem!]

  """The key set used for this dataset"""
  dataKeySet: DataKeySet

  """The date and time the dataset was deleted"""
  deletedAt: DateTimeISO

  """A description of the dataset"""
  description: String

  """The domain to which the dataset belongs"""
  domain: Domain

  """Retrieves the entry board for the dataset"""
  entryBoard: Board

  """The person responsible for manually entering the data for that dataset"""
  entryRole: Role

  """
  Specifies the method of data entry for the dataset. If set to "generated", data entry screens are automatically generated based on the defined data items. For other types, specific entry screens are configured for each type and specified in the "entryView" field.
  """
  entryType: String

  """
  Specifies the custom data entry screen or view for the dataset. When "entryType" is not "generated", this field indicates the screen to be used for data entry. When "entryType" is "generated", this field may not apply.
  """
  entryView: String

  """The unique identifier of the dataset"""
  id: ID!

  """Whether the user is allowed to enter data for this dataset"""
  isEntryAllowed: Boolean!

  """Whether the user is a supervisor for this dataset"""
  isSupervisor: Boolean!

  """Retrieves the latest collection time for the dataset."""
  latestCollectedAt: DateTimeISO

  """Retrieves the monitor board for the dataset"""
  monitorBoard: Board

  """
  Specifies the method of data monitoring for the dataset. If set to "generated", monitoring screens are automatically generated based on the dataset configuration. For other types, specific monitoring screens are configured for each type and specified in the "monitorView" field.
  """
  monitorType: String

  """
  Specifies the custom data monitoring screen or view for the dataset. When "monitorType" is not "generated", this field indicates the screen to be used for data monitoring. When "monitorType" is "generated", this field may not apply.
  """
  monitorView: String

  """The name of the dataset"""
  name: String!

  """Retrieves the next schedule time for the dataset."""
  nextSchedule: DateTimeISO

  """Retrieves the next summary schedule time for the dataset."""
  nextSummarySchedule: DateTimeISO

  """Scenario for handling normal data-sample occurance for that dataset"""
  normalScenario: Scenario

  """
  Approval line for handling abnormal data occurance issues for that dataset
  """
  outlierApprovalLine: [ApprovalLineItem!]

  """
  Scenario for handling abnormal data-sample occurance issues for that dataset
  """
  outlierScenario: Scenario

  """
  Specifies the partition keys used to distribute and organize the dataset's data. Partition keys are properties or attributes that determine how data is logically grouped, stored, and retrieved. They enable efficient data management and querying by allowing data to be organized into smaller, manageable partitions or segments.
  """
  partitionKeys: Object

  """Retrieves the previous schedule time for the dataset."""
  prevSchedule: DateTimeISO

  """The report template of the dataset"""
  reportTemplate: String

  """
  Specifies the method of reporting for the dataset. If set to "generated", report templates are automatically generated based on the dataset configuration. For other types, specific report templates are configured for each type and specified in the "reportView" field.
  """
  reportType: String

  """
  Specifies the custom report template or view for the dataset. When "reportType" is not "generated", this field indicates the report template or view to be used for reporting. When "reportType" is "generated", this field may not apply.
  """
  reportView: String

  """Indicates if the dataset requires review"""
  requiresReview: Boolean

  """The final authority on resolving outlier related to that dataset."""
  resolverRole: Role

  """Approval line for confrim of the dataset"""
  reviewApprovalLine: [ApprovalLineItem!]

  """The schedule of the dataset"""
  schedule: String

  """The schedule ID of the dataset"""
  scheduleId: String

  """
  Retrieves the current operational status of the dataset including schedule information, state, start time, and next scheduled execution. This field resolver provides real-time status information for monitoring dataset operations.
  """
  status: DataSetState!

  """The summary period of the dataset"""
  summaryPeriod: String

  """The summary schedule of the dataset"""
  summarySchedule: String

  """The summary schedule ID of the dataset"""
  summaryScheduleId: String

  """The final authority on issues related to that dataset."""
  supervisoryRole: Role

  """A tag name of data to be published when a data sample created"""
  tag: String

  """
  The maximum allowed time limit (in seconds) for completing the data entry operation
  """
  timeLimit: Float

  """The timezone of the dataset"""
  timezone: String

  """The type of the dataset"""
  type: String

  """The date and time the dataset was last updated"""
  updatedAt: DateTimeISO

  """The user who last updated the dataset"""
  updater: User

  """
  Specifies the intended purpose or role of the dataset within the system. It helps users understand why the dataset was created and guides the specification of data items accordingly. Common use case options may include "QA," "CCP," "SPC," and others.
  """
  useCase: String

  """The version of the dataset"""
  version: Float
}

"""
Represents a historical version of a dataset configuration. This entity tracks all changes made to datasets over time for audit and rollback purposes.
"""
type DataSetHistory {
  """Type of action performed on the dataset (INSERT, UPDATE, DELETE)."""
  action: String!

  """Active status of the dataset at the time of this historical version."""
  active: Boolean

  """Assignee configuration at the time of this historical version."""
  assignees: [AssigneeItem!]

  """Creation timestamp of this historical version."""
  createdAt: DateTimeISO

  """User who created this historical version."""
  creator: User

  """Data items configuration at the time of this historical version."""
  dataItems: [DataItem!]
  dataKeySet: DataKeySet

  """ID of the data key set at the time of this historical version."""
  dataKeySetId: String

  """Description of the dataset at the time of this historical version."""
  description: String
  domain: Domain!
  entryBoard: Board
  entryRole: Role!

  """ID of the entry role at the time of this historical version."""
  entryRoleId: String

  """Entry type of the dataset at the time of this historical version."""
  entryType: String

  """Entry view of the dataset at the time of this historical version."""
  entryView: String

  """Unique identifier for the dataset history record."""
  id: ID!
  monitorBoard: Board

  """Monitor type of the dataset at the time of this historical version."""
  monitorType: String

  """Monitor view of the dataset at the time of this historical version."""
  monitorView: String

  """Name of the dataset at the time of this historical version."""
  name: String!

  """ID of the normal scenario at the time of this historical version."""
  normalScenarioId: String

  """ID of the original dataset that this history record belongs to."""
  originalId: String!

  """
  Outlier approval line configuration at the time of this historical version.
  """
  outlierApprovalLine: [ApprovalLineItem!]

  """ID of the outlier scenario at the time of this historical version."""
  outlierScenarioId: String

  """Partition keys configuration at the time of this historical version."""
  partitionKeys: Object

  """Report template of the dataset at the time of this historical version."""
  reportTemplate: String

  """Report type of the dataset at the time of this historical version."""
  reportType: String

  """Report view of the dataset at the time of this historical version."""
  reportView: String

  """Review requirement setting at the time of this historical version."""
  requiresReview: Boolean

  """
  Review approval line configuration at the time of this historical version.
  """
  reviewApprovalLine: [ApprovalLineItem!]

  """Schedule configuration at the time of this historical version."""
  schedule: String

  """Schedule ID at the time of this historical version."""
  scheduleId: String

  """Summary period configuration at the time of this historical version."""
  summaryPeriod: String

  """Summary schedule configuration at the time of this historical version."""
  summarySchedule: String

  """Summary schedule ID at the time of this historical version."""
  summaryScheduleId: String
  supervisoryRole: Role!

  """ID of the supervisory role at the time of this historical version."""
  supervisoryRoleId: String

  """Tag name of the dataset at the time of this historical version."""
  tag: String
  timestamp: User!

  """Timezone configuration at the time of this historical version."""
  timezone: String

  """Type of the dataset at the time of this historical version."""
  type: String

  """Last update timestamp of this historical version."""
  updatedAt: DateTimeISO

  """User who last updated this historical version."""
  updater: User

  """Use case of the dataset at the time of this historical version."""
  useCase: String

  """Version number of this historical dataset configuration."""
  version: Float
}

"""Represents a paginated list of dataset history records."""
type DataSetHistoryList {
  """List of dataset history records."""
  items: [DataSetHistory!]!

  """Total number of dataset history records in the list."""
  total: Int!
}

type DataSetList {
  items: [DataSet!]!
  total: Int!
}

input DataSetPatch {
  active: Boolean
  cuFlag: String!
  dataItems: [DataItemPatch!]
  dataKeySet: ObjectRef
  description: String
  entryRole: ObjectRef
  entryType: String
  entryView: String
  id: ID
  monitorType: String
  monitorView: String
  name: String
  normalScenario: ObjectRef
  outlierApprovalLine: Object
  outlierScenario: ObjectRef
  partitionKeys: Object
  reportTemplate: Upload
  reportType: String
  reportView: String
  requiresReview: Boolean
  resolverRole: ObjectRef
  reviewApprovalLine: Object
  schedule: String
  summaryPeriod: String
  supervisoryRole: ObjectRef

  """A tag name of data to be published when a data sample created"""
  tag: String

  """
  The maximum allowed time limit (in seconds) for completing the data entry operation
  """
  timeLimit: Float
  timezone: String
  type: String
  useCase: String
}

type DataSetState {
  id: String!
  nextSchedule: DateTimeISO!
  scheduleId: String!
  startedAt: DateTimeISO!
  state: String!
}

"""
Represents a data specification that defines the structure, validation rules, and metadata for a dataset.
"""
type DataSpec {
  """A description of the data specification and its purpose."""
  description: String

  """Help text or documentation for the data specification."""
  help: String

  """The unique name identifier for the data specification."""
  name: String!

  """
  The specification items that define the data structure and validation rules.
  """
  specItems: [DataSpecItem!]
}

"""
Represents a specification item that defines the structure and validation rules for a data field.
"""
type DataSpecItem {
  """The display label for the specification item."""
  label: String!

  """The unique name identifier for the specification item."""
  name: String!

  """Placeholder text for the input field."""
  placeholder: String

  """Additional properties and configuration for the specification item."""
  property: Object

  """The data type of the specification item."""
  type: String!
}

"""Represents a paginated list of data specifications."""
type DataSpecList {
  """List of data specifications."""
  items: [DataSpec!]!

  """Total number of data specifications in the list."""
  total: Int!
}

"""
Represents an aggregated summary of collected data for a dataset, including statistics, counts, and partition keys for reporting and analysis.
"""
type DataSummary {
  """Total number of data samples in this summary period."""
  count: Float

  """Number of out-of-control (OOC) samples in this summary period."""
  countOoc: Float

  """Number of out-of-specification (OOS) samples in this summary period."""
  countOos: Float
  createdAt: DateTimeISO
  creator: User
  data01: Float
  data02: Float
  data03: Float
  data04: Float
  data05: Float
  dataItems: [DataItem!]
  dataSet: DataSet!
  dataSetVersion: Float
  date: String
  description: String
  domain: Domain!

  """Unique identifier for the data summary."""
  id: ID!
  key01: String
  key02: String
  key03: String
  key04: String
  key05: String
  name: String
  period: String

  """Aggregated statistical data for this summary period."""
  summary: Object
  type: String
  updatedAt: DateTimeISO
  updater: User
}

"""Represents a paginated list of data summaries."""
type DataSummaryList {
  """List of data summaries."""
  items: [DataSummary!]!

  """Total number of data summaries in the list."""
  total: Int!
}

"""
A custom scalar type for representing date values. Accepts and serializes dates as either timestamps (milliseconds since epoch) or ISO date strings. Use this type for fields or arguments that require date-only values without time components.
"""
scalar Date

"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.This scalar is serialized to a string in ISO 8601 format and parsed from a string in ISO 8601 format.
"""
scalar DateTimeISO

"""날짜 타입 (오늘 또는 내일)"""
enum DateType {
  TODAY
  TOMORROW
}

"""Entity for Department"""
type Department {
  active: Boolean
  children(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): [Department!]!
  controlNo: String!
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain!
  extension: String
  id: ID!
  manager: Employee
  members: [Employee!]!
  name: String
  parent: Department
  picture: String
  updatedAt: DateTimeISO
  updater: User
  version: Float
}

type DepartmentList {
  items: [Department!]!
  total: Int!
}

input DepartmentPatch {
  active: Boolean
  controlNo: String
  cuFlag: String
  description: String
  id: ID
  manager: ObjectRefForEmployee
  name: String
  parent: ObjectRef
  picture: Upload
}

"""
Represents a domain entity, which is a logical grouping of users, roles, and resources within the system.
"""
type Domain {
  """Additional attributes associated with the domain."""
  attributes: Object

  """The brand image URL associated with the domain, if any."""
  brandImage: String

  """The brand name associated with the domain, if any."""
  brandName: String

  """The child domains, if any, under this domain."""
  children: Domain

  """The content image URL associated with the domain, if any."""
  contentImage: String

  """The date and time when the domain was created."""
  createdAt: DateTimeISO

  """The date and time when the domain was deleted, if applicable."""
  deletedAt: DateTimeISO

  """A description of the domain."""
  description: String

  """The environment variables associated with the domain."""
  envVars: [EnvVar!]

  """The external type of the domain, if applicable."""
  extType: String

  """The unique identifier of the domain."""
  id: ID!

  """A list of IPs and their associated access levels for the domain."""
  iplist: Object

  """The name of the domain."""
  name: String!

  """The owner of the domain, if applicable."""
  owner: String
  ownerUser: User

  """The parent domain, if this domain is a subdomain."""
  parent: Domain

  """The subdomain of the domain, if applicable."""
  subdomain: String

  """
  A flag indicating if the domain is a system domain. Deprecated, use `parent` instead.
  """
  systemFlag: Boolean

  """The theme associated with the domain, if any."""
  theme: String

  """The timezone of the domain, if applicable."""
  timezone: String

  """The date and time when the domain was last updated."""
  updatedAt: DateTimeISO
  workShifts: [WorkShift!]!
}

"""Input for generating a new domain."""
input DomainGeneratorInput {
  """A description for the new domain."""
  description: String

  """The name of the new domain."""
  name: String!
}

"""Domain information"""
type DomainInfo {
  attributes: String
  domain: Domain
  domainAttributes: String
  domainId: String
  domainInfo: String
  domainInfos: String
  domainName: String
  id: ID!
}

"""
Input type for creating a new domain entity, including name, description, and extended entity type.
"""
input DomainInput {
  """A description of the domain."""
  description: String

  """
  The 'extType' field stands for 'extended entity type' and specifies the business or organizational category this domain represents, such as company, department, factory, or project.
  """
  extType: String

  """The name of the domain."""
  name: String!
}

"""Represents a typed relationship between two domains."""
type DomainLink {
  """The timestamp when the domain link was created."""
  createdAt: DateTimeISO!

  """The user who created the domain link."""
  creator: User

  """Unique identifier for the domain link."""
  id: ID!

  """The source domain in the relationship."""
  sourceDomain: Domain!

  """The target domain in the relationship."""
  targetDomain: Domain!

  """The type of the relationship (e.g., has, maintains, owns)."""
  type: String!

  """The timestamp when the domain link was last updated."""
  updatedAt: DateTimeISO!

  """The user who last updated the domain link."""
  updater: User
}

"""A paginated list of domain links."""
type DomainLinkList {
  """The list of domain link items."""
  items: [DomainLink!]!

  """The total number of domain links."""
  total: Int!
}

"""Input for updating (patching) an existing domain link."""
input DomainLinkPatch {
  """
  A flag indicating whether the link is being created, updated, or deleted.
  """
  cuFlag: String

  """The unique identifier of the domain link to update."""
  id: ID!

  """The new source domain for the relationship."""
  sourceDomain: ObjectRef

  """The new target domain for the relationship."""
  targetDomain: ObjectRef

  """The new type for the relationship."""
  type: String
}

type DomainList {
  items: [Domain!]
  total: Int
}

"""Input type for updating an existing domain entity."""
input DomainPatch {
  """Additional attributes for the domain in key-value pairs."""
  attributes: Object

  """The brand image URL for the domain."""
  brandImage: String

  """The brand name associated with the domain."""
  brandName: String

  """The content image URL for the domain."""
  contentImage: String

  """A description of the domain."""
  description: String

  """
  The 'extType' field stands for 'extended entity type' and specifies the business or organizational category this domain represents, such as company, department, factory, or project.
  """
  extType: String

  """The unique identifier of the domain."""
  id: String

  """The name of the domain."""
  name: String

  """The unique identifier of the domain owner."""
  owner: String

  """A reference to the parent domain, if any."""
  parent: ObjectRef

  """The subdomain associated with the domain."""
  subdomain: String

  """A flag indicating if the domain is a system domain."""
  systemFlag: Boolean

  """The theme associated with the domain."""
  theme: String

  """The timezone setting for the domain."""
  timezone: String
}

"""
Input for the domain creation wizard, including domain, users, and roles.
"""
input DomainUserRoleInput {
  """The details of the new domain to be created."""
  domain: DomainInput!

  """A list of new roles to be created within the domain."""
  roles: [NewRole!]!

  """A list of new users to be created within the domain."""
  users: [NewUserByDomainWizardInput!]!
}

"""
Represents a dynamic data summary with flexible key-value pairs for different summary periods.
"""
type DynamicDataSummary {
  """Total number of data samples in this summary period."""
  count: Float

  """Number of out-of-control (OOC) samples in this summary period."""
  countOoc: Float

  """Number of out-of-specification (OOS) samples in this summary period."""
  countOos: Float

  """First aggregated data value for this summary period."""
  data01: Float

  """Second aggregated data value for this summary period."""
  data02: Float

  """Third aggregated data value for this summary period."""
  data03: Float

  """Fourth aggregated data value for this summary period."""
  data04: Float

  """Fifth aggregated data value for this summary period."""
  data05: Float

  """Date identifier for the summary period."""
  date: String

  """First partition key for data categorization."""
  key01: String

  """Second partition key for data categorization."""
  key02: String

  """Third partition key for data categorization."""
  key03: String

  """Fourth partition key for data categorization."""
  key04: String

  """Fifth partition key for data categorization."""
  key05: String

  """Month identifier for the summary period."""
  month: String

  """Period identifier for the summary (e.g., hour, day, shift)."""
  period: String
}

type EaasInverterData {
  """날짜"""
  date: String

  """발전시간"""
  generationTime: Float

  """인버터 번호"""
  no: String

  """인버터 발전량"""
  value: Float
}

type EaasInverterDetail {
  """AC 전력"""
  AC_P: Float

  """DC 전류"""
  DC_I: Float

  """DC 전력"""
  DC_P: Float

  """DC 전압"""
  DC_V: Float

  """AC 전류 R"""
  IC_R: Float

  """AC 전류 S"""
  IC_S: Float

  """AC 전류 T"""
  IC_T: Float

  """AC 전압 R-S"""
  IV_R: Float

  """AC 전압 S-T"""
  IV_S: Float

  """AC 전압 T-R"""
  IV_T: Float

  """AC 출력"""
  ac: String

  """수신시간"""
  collectedAt: String

  """인버터 상태"""
  com: String

  """DC 출력"""
  dc: String

  """인버터 설명"""
  description: String

  """통신 장애 여부"""
  isNoSignal: String

  """인버터 번호"""
  no: String

  """인버터 운영 상태"""
  run: String
}

type EaasInverterHistory {
  """AC 전력"""
  AC_P: Float

  """날짜 (YYYY-MM-DD HH:mm:ss)"""
  DATE_INFO: String

  """DC 전류"""
  DC_I: Float

  """DC 전력"""
  DC_P: Float

  """DC 전압"""
  DC_V: Float

  """AC 전류 R"""
  IC_R: Float

  """AC 전류 S"""
  IC_S: Float

  """AC 전류 T"""
  IC_T: Float

  """AC 전압 R-S"""
  IV_R: Float

  """AC 전압 S-T"""
  IV_S: Float

  """AC 전압 T-R"""
  IV_T: Float

  """역률"""
  PF: String

  """수집 시간"""
  collectedAt: String

  """일일누적 발전량"""
  dailyGeneration: Float

  """인버터 번호"""
  no: String

  """총 누적 발전량"""
  totalGeneration: Float
}

type EaasInverterHistoryList {
  items: [EaasInverterHistory!]!
  total: Int!
}

type EaasInverterPeriodData {
  """날짜/시간"""
  date: String

  """발전시간"""
  generationTime: Float

  """인버터 번호"""
  no: String

  """인버터 발전량"""
  value: Float
}

type EaasInverterSummary {
  """인터터 총 용량"""
  capacity: Float

  """인버터 개수"""
  inverterCount: Float

  """모델명 (여러개면 ,로 구분)"""
  modelNames: String

  """도메인(발전소) ID"""
  powerPlantId: String
}

type EaasInverterSummaryBetweenDate {
  """일일 평균 발전시간"""
  dailyAverageGenerationTime: Float
}

"""
A field whose value conforms to the standard internet email address format as specified in HTML Spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address.
"""
scalar EmailAddress @specifiedBy(url: "https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address")

"""Entity for Employee"""
type Employee {
  active: Boolean
  address: String
  alias: String
  approvalLines: [ApprovalLine!]!
  bankAccount: String
  bankName: String
  contact: Contact
  controlNo: String!
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  department: Department
  domain: Domain!
  email: EmailAddress
  emergencyContact: String
  emergencyContactPhone: String
  extension: String
  hiredOn: DateTimeISO
  id: ID!
  jobPosition: String
  jobResponsibility: String
  manages: [Department!]!
  name: String
  note: String
  phone: String
  photo: String
  profile: Profile
  retiredOn: DateTimeISO
  supervises: [Employee!]!
  supervisor: Employee
  type: String
  updatedAt: DateTimeISO
  updater: User
  user: User
  version: Float
}

type EmployeeList {
  items: [Employee!]!
  total: Int!
}

input EmployeePatch {
  active: Boolean
  alias: String
  bankAccount: String
  bankName: String
  contact: ObjectRefForContact
  controlNo: String
  cuFlag: String
  department: ObjectRefForDepartment
  emergencyContact: String
  emergencyContactPhone: String
  hiredOn: DateTimeISO
  id: ID
  jobPosition: String
  jobResponsibility: String
  name: String
  note: String
  photo: Upload
  retiredOn: DateTimeISO
  supervisor: ObjectRefForEmployee
  type: EmployeeType
  user: ObjectRefForUser
}

"""type enumeration of a employee"""
enum EmployeeType {
  FULLTIME
  PARTTIME
  TEMPORARY
}

"""Environment variable entity for storing key-value pairs."""
type EnvVar {
  """Indicates whether this environment variable is currently active."""
  active: Boolean!

  """The timestamp when the environment variable was created."""
  createdAt: DateTimeISO

  """A detailed description of the environment variable."""
  description: String

  """The domain to which this environment variable belongs."""
  domain: Domain

  """The domain ID to which this environment variable belongs."""
  domainId: String!

  """Unique identifier for the environment variable."""
  id: ID!

  """The name of the environment variable."""
  name: String!

  """The timestamp when the environment variable was last updated."""
  updatedAt: DateTimeISO

  """The value of the environment variable (encrypted)."""
  value: String
}

"""List of environment variables."""
type EnvVarList {
  """The list of environment variable items."""
  items: [EnvVar!]!

  """The total number of environment variables."""
  total: Int!
}

"""Input type for updating an existing environment variable."""
input EnvVarPatch {
  """The new active status for the environment variable."""
  active: Boolean

  """
  A flag indicating whether the environment variable is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the environment variable."""
  description: String

  """The unique identifier of the environment variable to update."""
  id: ID

  """The new name for the environment variable."""
  name: String

  """The new value for the environment variable."""
  value: String
}

"""Entity for Favorite"""
type Favorite {
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  id: ID!
  routing: String!
  updatedAt: DateTimeISO
  updater: User
  user: User!
}

type FavoriteList {
  items: [Favorite!]!
  total: Int!
}

"""Input type for specifying a filter condition in a list query."""
input Filter {
  """The field name to apply the filter on."""
  name: String!

  """The operator to use for filtering (e.g., eq, ne, gt, lt, in, etc.)."""
  operator: String!

  """Set to true if the filter applies to a relation field."""
  relation: Boolean

  """The value to compare the field against."""
  value: Any
}

"""Entity for Font"""
type Font {
  active: Boolean!
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  files: [Attachment!]
  id: ID!
  name: String!
  path: String
  provider: String!
  updatedAt: DateTimeISO
  updater: User
  uri: String
}

type FontList {
  items: [Font!]!
  total: Int!
}

input FontPatch {
  active: Boolean
  files: [Upload!]
  name: String
  path: String
  provider: String
  uri: String
}

"""Represents a role that is granted to a specific domain."""
type GrantedRole {
  """The domain to which the role is granted."""
  domain: Domain!

  """Unique identifier for the granted role."""
  id: ID!

  """The role being granted."""
  role: Role!
}

"""A group used to organize and manage boards."""
type Group {
  """The list of boards belonging to this group."""
  boards: [Board!]

  """The timestamp when the group was created."""
  createdAt: DateTimeISO

  """The user who created the group."""
  creator: User

  """A detailed description of the group."""
  description: String

  """The domain to which this group belongs."""
  domain: Domain

  """Unique identifier for the group."""
  id: ID!

  """The name of the group."""
  name: String!

  """The timestamp when the group was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the group."""
  updater: User
}

"""A paginated list of board groups."""
type GroupList {
  """The list of group items."""
  items: [Group!]!

  """The total number of groups."""
  total: Int!
}

"""Input for updating (patching) an existing board group."""
input GroupPatch {
  """The new description for the group."""
  description: String

  """The new name for the group."""
  name: String
}

input ImageCompletionInput {
  count: Float!
  description: String!
  size: String!
}

type ImageCompletionOutput {
  images: String
}

"""
Enumeration for inherited value types: None, Only, or Include. Used to specify how values are inherited in queries or filters.
"""
enum InheritedValueType {
  Include
  None
  Only
}

"""Entity for InstallableActivity"""
type InstallableActivity {
  activity: Activity
  activityType: String
  category: String
  description: String
  model: [ActivityModelItem!]

  """
  Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.
  """
  multiple: String
  name: String
  priority: Float

  """Provider information of the Activity"""
  provider: String

  """Release information of the Activity"""
  release: String
  reportSource: String
  reportType: String
  startingType: String
  thumbnail: String
  uiSource: String
  uiType: String
  viewSource: String
  viewType: String
}

type InstallableActivityList {
  items: [InstallableActivity!]!
  total: Int!
}

"""Entity for InverterStatus"""
type InverterStatus {
  ac: Float
  acc: Float
  alias: String
  attributes: String
  collectedAt: DateTimeISO
  com: String
  createdAt: DateTimeISO
  creator: User
  dc: Float
  domain: Domain
  domainId: String
  ds: Float
  id: ID!
  isNoSignal: String
  ivtId: String
  rtuId: String
  run: String
  updatedAt: DateTimeISO
  updater: User
}

type InverterStatusList {
  items: [InverterStatus!]!
  total: Int!
}

input InverterStatusPatch {
  ac: Float
  acc: Float
  alias: String
  collectedAt: DateTimeISO
  com: String
  cuFlag: String
  dc: Float
  ds: Float
  id: ID
  ivtId: String
  rtuId: String
  run: String
}

type InverterStatusSummary {
  collectedAt: DateTimeISO
  currentOutput: Float
  generationTime: Float
  inverterCommunicationStatus: Boolean
  inverterOperationStatus: Boolean
  inverters: [InverterStatus!]
  todayGenerated: Float
  todaySmpIncome: Float
}

"""Entity for InverterSummary"""
type InverterSummary {
  date: String
  inverters: [InverterSummaryItem!]
  month: String
  period: String
}

"""Entity for summary item by inverter"""
type InverterSummaryItem {
  count: Float
  countOoc: Float
  countOos: Float
  data01: Float
  data02: Float
  data03: Float
  data04: Float
  data05: Float
  ivtId: String
  key01: String
  key02: String
  key03: String
  key04: String
  key05: String
  rtuId: String
}

"""
Represents an invitation for a user to join a system or a specific resource.
"""
type Invitation {
  """The timestamp when the invitation was created."""
  createdAt: DateTimeISO

  """The user who created the invitation."""
  creator: User

  """The email address to which the invitation is sent."""
  email: EmailAddress!

  """Unique identifier for the invitation."""
  id: ID!

  """
  A reference to the resource the user is invited to (e.g., company ID, bizplace ID).
  """
  reference: String!

  """The unique token used to accept the invitation."""
  token: String!

  """The type of resource the invitation is for (e.g., company, bizplace)."""
  type: String!

  """The timestamp when the invitation was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the invitation."""
  updater: User
}

"""A paginated list of invitations."""
type InvitationList {
  """The list of invitation items."""
  items: [Invitation!]

  """The total number of invitations."""
  total: Int
}

type IssueHistory {
  """수집 시간"""
  collected_at: String

  """통신 장애 상태"""
  com: Float

  """에러 코드"""
  fault: String

  """History ID"""
  id: String

  """인버터 번호"""
  inverter_no: String

  """통신 장애 상태"""
  isNoSignal: String

  """발전 장애 상태"""
  run: Float
}

type IssueHistorySummary {
  """통신 장애 개수"""
  com: Float

  """총 개수"""
  count: Float

  """통신 장애 개수"""
  isNoSignal: Float

  """발전 장애 개수"""
  run: Float
}

"""
A field whose value is a JSON Web Token (JWT): https://jwt.io/introduction.
"""
scalar JWT

input KakaoNotificationPatch {
  apikey: String!
  button_1: String
  failover: String
  fmessage_1: String
  fsubject_1: String
  linkAnd: String
  linkIos: String
  message_1: String!
  receiver_1: String!
  recvname_1: String!
  sender: String!
  senderkey: String!
  subject_1: String!
  tpl_code: String!
  userid: String!
}

input LiveWeatherPatch {
  humidity: Float
  icon: String
  id: String
  lat: Float
  lon: Float
  pressure: Float
  state: String
  sunrise: Float
  sunset: Float
  temp: Float
  windSpeed: Float
}

"""
Represents a log entry, including its source, level, message, and timestamp.
"""
type Log {
  """The severity level of the log entry (e.g., error, warning, info)."""
  level: String!

  """The main message or content of the log entry."""
  message: String!

  """The source object or context from which the log originated."""
  source: Object!

  """The timestamp indicating when the log entry was created."""
  timestamp: String!
}

"""Records user login attempts."""
type LoginHistory {
  """The domain the user logged into."""
  accessDomain: Domain!

  """The user who logged in."""
  accessUser: User!

  """The timestamp of the login attempt."""
  accessedAt: DateTimeISO

  """The IP address from which the login attempt was made."""
  accessorIp: String

  """Unique identifier for the login history record."""
  id: ID!
}

"""A paginated list of login history records."""
type LoginHistoryList {
  """The list of login history items."""
  items: [LoginHistory!]!

  """The total number of login history records."""
  total: Int!
}

type Mutation {
  """To abort a ActivityInstance"""
  abortActivityInstance(id: String!, reason: String): ActivityInstance!

  """To abort multiple ActivityInstances"""
  abortActivityInstances(ids: [String!]!): Boolean!

  """To abort a ActivityThread"""
  abortActivityThread(id: String!, reason: String): ActivityThread!

  """To activate installable activity to Activity on given domain"""
  activateInstallableActivity(name: String!): Activity!

  """
  Activates a user account in the current domain. Use this mutation to enable a user who was previously inactive.
  """
  activateUser(
    """The username or email of the user to activate."""
    username: String!
  ): Boolean!

  """To approve ActivityApproval"""
  approveActivityApproval(comment: String, id: String!): ActivityApproval

  """To assign a ActivityInstance"""
  assignActivityInstance(
    """Email of assignee users"""
    assignees: [String!]
    dueAt: DateTimeISO
    id: String!
    reason: String
  ): ActivityInstance!

  """
  Attaches an existing contact to an employee. The contact is identified by its ID and the employee is identified by their ID.
  """
  attachContact(contactId: String!, id: String!): Employee!
  cancelInvitation(email: EmailAddress!, reference: String!, type: String!): Boolean!

  """To clear translations cache"""
  clearTranslationsCache: Boolean!

  """
  Clones a board from an existing one, potentially into a different domain.
  """
  cloneBoard(id: String!, patch: BoardPatch!, targetGroupId: String, targetSubdomain: String!): Board!

  """날씨 마루 데이터 수집"""
  collectWeatherMaru: Boolean!

  """Establishes a live connection to a configured endpoint."""
  connectConnection(name: String!): Connection!

  """To copy multiple data-archives"""
  copyDataArchives(ids: [String!]!): [DataArchive!]!

  """To copy multiple data-sets"""
  copyDataSets(ids: [String!]!): [DataSet!]!

  """
  Copies multiple existing scenarios within the same domain, creating new scenarios with new IDs.
  """
  copyScenarios(ids: [String!]!): [Scenario!]!

  """To create new Activity"""
  createActivity(activity: NewActivity!): Activity!

  """To create new ActivityTemplate"""
  createActivityTemplate(activityTemplate: NewActivityTemplate!): ActivityTemplate!

  """To create new appliance"""
  createAppliance(appliance: NewAppliance!): Appliance!

  """To create new application"""
  createApplication(application: NewApplication!): Application!

  """To create new ApprovalLine"""
  createApprovalLine(approvalLine: NewApprovalLine!): ApprovalLine!
  createAttachment(attachment: NewAttachment!): Attachment!
  createAttachments(attachments: [NewAttachment!]!): [Attachment!]!

  """
  Creates a new AttributeSet entity. Use this mutation to define a new set of attributes for a specific entity type.
  """
  createAttributeSet(
    """The input object containing the new AttributeSet details."""
    attribute: NewAttributeSet!
  ): AttributeSet!

  """To create new AuthProvider"""
  createAuthProvider(authProvider: NewAuthProvider!): AuthProvider!

  """Creates a new board."""
  createBoard(board: NewBoard!): Board!

  """To create new BoardTemplate"""
  createBoardTemplate(boardTemplate: NewBoardTemplate!): BoardTemplate!

  """To create new CommonCode"""
  createCommonCode(commonCode: NewCommonCode!): CommonCode!

  """To create new CommonCodeDetail"""
  createCommonCodeDetail(commonCodeDetail: NewCommonCodeDetail!): CommonCodeDetail!

  """Creates a new connection."""
  createConnection(connection: NewConnection!): Connection!

  """To create new Contact"""
  createContact(contact: NewContact!): Contact!

  """
  Creates a new data archive record for storing historical data exports. This mutation tracks the archive request and download status.
  """
  createDataArchive(dataArchive: NewDataArchive!): DataArchive!

  """
  Creates a new data key set for organizing and categorizing data samples. This defines the indexing structure used for data partitioning and search.
  """
  createDataKeySet(dataKeySet: NewDataKeySet!): DataKeySet!

  """
  Creates a new out-of-control (OOC) record for quality management. This mutation initiates the corrective action workflow for data samples that exceed control limits.
  """
  createDataOoc(dataOoc: NewDataOoc!): DataOoc!

  """
  Creates a new data sample record with collected values, metadata, and links to the dataset. Used for both manual and automated data collection processes.
  """
  createDataSample(dataSample: NewDataSample!): DataSample!

  """
  Creates a new data sensor configuration for automated data collection. This mutation sets up the connection between hardware devices and datasets.
  """
  createDataSensor(dataSensor: NewDataSensor!): DataSensor!

  """
  Creates a new dataset with complete configuration including data items, roles, approval lines, and workflow settings. This mutation initializes the data collection structure and associated metadata.
  """
  createDataSet(dataSet: NewDataSet!): DataSet!

  """To create new Department"""
  createDepartment(department: NewDepartment!): Department!

  """
  Creates a new domain entity. Only superusers are granted this privilege. Use this mutation to register a new domain with a unique subdomain.
  """
  createDomain(
    """The input object containing the new domain details."""
    domainInput: DomainPatch!
  ): Domain!

  """To create new DomainLink"""
  createDomainLink(domainLink: NewDomainLink!): DomainLink!

  """
  Creates a new employee record with the provided details. Optionally associates the employee with a supervisor, department, and system user. If a photo is provided, it will be attached to the employee record.
  """
  createEmployee(employee: NewEmployee!): Employee!

  """To create new EnvVar"""
  createEnvVar(envVar: NewEnvVar!): EnvVar!

  """To create new Favorite"""
  createFavorite(favorite: NewFavorite!): Favorite!

  """To create new Font"""
  createFont(font: NewFont!): Font!

  """Creates a new board group."""
  createGroup(group: NewGroup!): Group

  """To create new InverterStatus"""
  createInverterStatus(inverter: NewInverterStatus!): InverterStatus!

  """To create new ApprovalLine for current user"""
  createMyApprovalLine(approvalLine: NewApprovalLine!): ApprovalLine!

  """To create my new PagePreference"""
  createMyPagePreference(pagePreference: NewPagePreference!): PagePreference!

  """To create new Notification"""
  createNotification(notification: NewNotification!): Notification!

  """To create new NotificationRule"""
  createNotificationRule(notificationRule: NewNotificationRule!): NotificationRule!

  """To create new Oauth2Client"""
  createOauth2Client(oauth2Client: NewOauth2Client!): Oauth2Client!

  """Creates a new payload log."""
  createPayloadLog(payloadLog: NewPayloadLog!): PayloadLog!

  """Creates a new play group."""
  createPlayGroup(playGroup: NewPlayGroup!): PlayGroup!

  """To create new PowerPlantGroup"""
  createPowerPlantGroup(powerPlantGroupName: String!): PowerPlantGroup!

  """To create multiple PowerPlantGroupBindings"""
  createPowerPlantGroupBindings(powerPlantGroupId: String!, powerPlantIds: [String!]!): Boolean!

  """To create new PrinterDevice"""
  createPrinterDevice(printerDevice: NewPrinterDevice!): PrinterDevice!

  """To create new privilege"""
  createPrivilege(privilege: NewPrivilege!): Privilege!

  """To create new user"""
  createRole(role: NewRole!): User!

  """Creates a new scenario."""
  createScenario(scenario: NewScenario!): Scenario!

  """To create new Setting"""
  createSetting(setting: NewSetting!): Setting!

  """Creates a new state register."""
  createStateRegister(stateRegister: NewStateRegister!): StateRegister!

  """To create new Terminology"""
  createTerminology(terminology: NewTerminology!): Terminology!

  """Creates a new theme."""
  createTheme(theme: NewTheme!): Theme!

  """
  Creates a new user in the system. Use this mutation to register a user with the specified credentials and domain information.
  """
  createUser(
    """The input object containing new user information."""
    user: NewUser!
  ): User!

  """To create new UserPreference"""
  createUserPreference(preference: NewUserPreference!): UserPreference!

  """To deactivate installable activity to Activity on given domain"""
  deactivateInstallableActivity(name: String!): Activity!

  """To delegate ActivityApproval"""
  delegateActivityApproval(comment: String, id: String!, to: ObjectRef!): ActivityApproval

  """To delegate a ActivityThread"""
  delegateActivityThread(assignee: ObjectRef, dueAt: DateTimeISO, id: String!, reason: String): ActivityThread!

  """To delete multiple Activities"""
  deleteActivities(ids: [String!]!): Boolean!

  """To delete Activity"""
  deleteActivity(id: String!): Boolean!

  """To delete ActivityTemplate"""
  deleteActivityTemplate(id: String!): Boolean!

  """To delete multiple ActivityTemplates"""
  deleteActivityTemplates(ids: [String!]!): Boolean!
  deleteAppBinding(id: String!): Boolean!

  """To delete appliance"""
  deleteAppliance(id: String!): Boolean!

  """To delete application"""
  deleteApplication(id: String!): Boolean!

  """To delete ApprovalLine"""
  deleteApprovalLine(id: String!): Boolean!

  """To delete multiple ApprovalLines"""
  deleteApprovalLines(ids: [String!]!): Boolean!
  deleteAttachment(id: String!): Boolean!
  deleteAttachmentsByRef(refBys: [String!]!, refType: String): Boolean!

  """
  Deletes an AttributeSet entity by its unique identifier. Use this mutation to permanently remove an attribute set.
  """
  deleteAttributeSet(
    """The unique identifier of the AttributeSet to delete."""
    id: String!
  ): Boolean!

  """
  Deletes multiple AttributeSet entities by their unique identifiers. Use this mutation to remove several attribute sets at once.
  """
  deleteAttributeSets(
    """An array of unique identifiers for the AttributeSets to delete."""
    ids: [String!]!
  ): Boolean!

  """To delete AuthProvider"""
  deleteAuthProvider(id: String!): Boolean!
  deleteAuthProviders(ids: [String!]!): Boolean!

  """Deletes a board."""
  deleteBoard(id: String!): Boolean!

  """To delete BoardTemplate"""
  deleteBoardTemplate(id: String!): Boolean!

  """To delete CommonCode"""
  deleteCommonCode(id: String!): Boolean!

  """To delete CommonCodeDetail"""
  deleteCommonCodeDetail(id: String!): Boolean!

  """To delete multiple CommonCodeDetails"""
  deleteCommonCodeDetails(ids: [String!]!): Boolean!

  """To delete multiple CommonCodes"""
  deleteCommonCodes(ids: [String!]!): Boolean!

  """Deletes a single connection by its name."""
  deleteConnection(name: String!): Boolean!

  """Deletes multiple connections by their names."""
  deleteConnections(names: [String!]!): Boolean!

  """To delete Contact"""
  deleteContact(id: String!): Boolean!

  """To delete multiple Contacts"""
  deleteContacts(ids: [String!]!): Boolean!

  """
  Deletes a data archive record and removes the associated download files. This mutation cleans up completed or failed archive requests.
  """
  deleteDataArchive(id: String!): Boolean!

  """
  Deletes multiple data archive records in a single operation. This mutation supports batch deletion for efficient cleanup of archive requests.
  """
  deleteDataArchives(ids: [String!]!): Boolean!

  """
  Deletes a data key set and its associated thumbnail. This operation removes the categorization structure and all related attachments.
  """
  deleteDataKeySet(id: String!): Boolean!

  """
  Deletes multiple data key sets in a single operation. This mutation supports batch deletion for efficient cleanup of categorization structures.
  """
  deleteDataKeySets(ids: [String!]!): Boolean!

  """
  Deletes a data sensor configuration and removes the connection between hardware devices and datasets.
  """
  deleteDataSensor(id: String!): Boolean!

  """
  Deletes multiple data sensor configurations in a single operation. This mutation supports batch deletion for efficient sensor cleanup.
  """
  deleteDataSensors(ids: [String!]!): Boolean!

  """
  Deletes a dataset and all its associated data. This operation removes the dataset configuration, data samples, and related metadata from the system.
  """
  deleteDataSet(id: String!): Boolean!

  """
  Deletes multiple datasets in a single operation. This mutation supports batch deletion for efficient cleanup of multiple datasets and their associated data.
  """
  deleteDataSets(ids: [String!]!): Boolean!

  """To delete Department"""
  deleteDepartment(id: String!): Boolean!

  """To delete multiple Departments"""
  deleteDepartments(ids: [String!]!): Boolean!

  """
  Deletes a domain entity by its name. Only superusers are granted this privilege. Use this mutation to permanently remove a domain.
  """
  deleteDomain(
    """The name of the domain to delete."""
    name: String!
  ): Domain!

  """To delete DomainLink"""
  deleteDomainLink(id: String!): Boolean!

  """To delete multiple DomainLinks"""
  deleteDomainLinks(ids: [String!]!): Boolean!

  """
  Removes a user from the current domain. Use this mutation to revoke a user's access to a specific domain without deleting their account.
  """
  deleteDomainUser(
    """The username or email of the user to remove from the domain."""
    username: String!
  ): Boolean!

  """
  Deletes multiple domain entities by their names. Only superusers are granted this privilege. Use this mutation to remove several domains at once.
  """
  deleteDomains(
    """An array of domain names to delete."""
    names: [String!]!
  ): Boolean!

  """To delete Activity Instance of draft state"""
  deleteDraftActivityInstance(id: String!): Boolean!

  """To delete multiple Activity Instances of draft state"""
  deleteDraftActivityInstances(ids: [String!]!): Boolean!

  """
  Deletes an employee record identified by the given ID. Also deletes any attachments associated with the employee.
  """
  deleteEmployee(id: String!): Boolean!

  """
  Deletes multiple employee records identified by the given IDs. Also deletes any attachments associated with each employee.
  """
  deleteEmployees(ids: [String!]!): Boolean!

  """To delete EnvVar"""
  deleteEnvVar(id: String!): Boolean!

  """To delete multiple EnvVars"""
  deleteEnvVars(ids: [String!]!): Boolean!

  """To delete Favorite"""
  deleteFavorite(routing: String!): Boolean!

  """To delete Font"""
  deleteFont(id: String!): Boolean!

  """Deletes a board group."""
  deleteGroup(id: String!): Boolean!

  """To delete ApprovalLine for current user"""
  deleteMyApprovalLine(id: String!): Boolean!

  """To delete multiple ApprovalLines for current user"""
  deleteMyApprovalLines(ids: [String!]!): Boolean!

  """To delete my PagePreference"""
  deleteMyPagePreference(element: String!, page: String!): Boolean!

  """To delete my preference"""
  deleteMyUserPreference(element: String!, key: String!): Boolean!

  """To delete Notification"""
  deleteNotification(id: String!): Boolean!

  """To delete NotificationRule"""
  deleteNotificationRule(id: String!): Boolean!

  """To delete multiple NotificationRules"""
  deleteNotificationRules(ids: [String!]!): Boolean!

  """To delete multiple Notificationes"""
  deleteNotificationes(ids: [String!]!): Boolean!

  """To delete Oauth2Client"""
  deleteOauth2Client(id: String!): Boolean!

  """To delete multiple Oauth2Clients"""
  deleteOauth2Clients(ids: [String!]!): Boolean!

  """To delete multiple OpenWeatherCities"""
  deleteOpenWeatherCities(ids: [String!]!): Boolean!

  """To delete PagePreference"""
  deletePagePreference(id: String!): Boolean!

  """To delete multiple PagePreferences"""
  deletePagePreferences(ids: [String!]!): Boolean!

  """To delete multiple partnerSettings"""
  deletePartnerSettings(ids: [String!]!): Boolean!

  """Deletes a single payload log by its ID."""
  deletePayloadLog(id: String!): Boolean!

  """Deletes multiple payload logs by their IDs."""
  deletePayloadLogs(ids: [String!]!): Boolean!

  """Deletes a play group."""
  deletePlayGroup(id: String!): Boolean!

  """To delete PowerPlantGroup"""
  deletePowerPlantGroup(id: String!): Boolean!

  """To delete PowerPlantGroupBinding"""
  deletePowerPlantGroupBinding(id: String!): Boolean!

  """To delete multiple PowerPlantGroupBindings"""
  deletePowerPlantGroupBindings(ids: [String!]!): Boolean!

  """To delete multiple PowerPlantGroups"""
  deletePowerPlantGroups(ids: [String!]!): Boolean!

  """To delete PrinterDevice"""
  deletePrinterDevice(id: String!): Boolean!

  """To delete multiple printerDevices"""
  deletePrinterDevices(ids: [String!]!): Boolean!

  """To delete privilege"""
  deletePrivilege(category: String!, name: String!): Boolean!

  """To delete role"""
  deleteRole(id: String!): Boolean!

  """To delete multiple roles"""
  deleteRoles(ids: [String!]!): Boolean!

  """Deletes a single scenario by its name."""
  deleteScenario(name: String!): Boolean!

  """Deletes multiple scenarios by their IDs."""
  deleteScenarios(ids: [String!]!): Boolean!

  """To delete Setting"""
  deleteSetting(name: String!): Boolean!

  """To delete multiple settings"""
  deleteSettings(names: [String!]!): Boolean!

  """Deletes a single state register by its ID."""
  deleteStateRegister(id: String!): Boolean!

  """Deletes multiple state registers by their IDs."""
  deleteStateRegisters(ids: [String!]!): Boolean!

  """Deletes multiple scenario steps by their IDs."""
  deleteSteps(ids: [String!]!): Boolean!

  """To delete multiple Terminologies"""
  deleteTerminologies(ids: [String!]!): Boolean!

  """To delete Terminology"""
  deleteTerminology(id: String!): Boolean!

  """Deletes a single theme by its ID."""
  deleteTheme(id: String!): Boolean!

  """Deletes multiple themes by their IDs."""
  deleteThemes(ids: [String!]!): Boolean!

  """
  Deletes a user from the system by their username. Use this mutation to permanently remove a user account and revoke their access.
  """
  deleteUser(
    """The username of the user to delete."""
    username: String!
  ): Boolean!

  """To delete UserPreference"""
  deleteUserPreference(id: String!): Boolean!

  """To delete multiple UserPreferences"""
  deleteUserPreferences(ids: [String!]!): Boolean!

  """
  Deletes multiple users from the system by their usernames. Use this mutation to remove several user accounts at once.
  """
  deleteUsers(
    """An array of usernames to delete."""
    usernames: [String!]!
  ): Boolean!

  """To delete multiple workShifts"""
  deleteWorkShifts(ids: [String!]!): Boolean!

  """
  Detaches an existing contact from an employee. The employee is identified by their ID.
  """
  detachContact(id: String!): Employee!

  """Terminates a live connection."""
  disconnectConnection(name: String!): Connection!
  domainRegister(domainInput: DomainGeneratorInput!): Domain!
  domainUserRoleRegister(newDomainInfo: DomainUserRoleInput!): Domain!

  """To draft standard ActivityInstance"""
  draftActivityInstance(activityInstance: ActivityInstanceDraft!): ActivityInstance!

  """To end a ActivityInstance"""
  endActivityInstance(id: String!, output: Object, reason: String): ActivityInstance!

  """To end a ActivityThread"""
  endActivityThread(id: String!, output: Object, reason: String): ActivityThread!

  """
  Finalizes data collection for a specific period and generates summary records. This operation processes all collected data within the specified time range.
  """
  finalizeDataCollection(dataSetId: String!, date: String!, period: String!): Boolean!

  """
  Finalizes and generates the latest data summaries for the specified dataset. This operation aggregates collected data into summary records for reporting and analysis.
  """
  finalizeLatestDataCollection(dataSetId: String!): Boolean!
  generateApplianceSecret(id: String!): Appliance!
  generateApplicationSecret(id: String!): Application!

  """Deprecated. Use finalizeDataCollection"""
  generateDataSummaries(dataSetId: String!, date: String!, period: String!): Boolean! @deprecated(reason: "This resolver has been replaced by finalizeDataCollection")

  """Deprecated. Use finalizeLatestDataCollection"""
  generateLatestDataSummaries(dataSetId: String!): Boolean! @deprecated(reason: "This resolver has been replaced by finalizeLatestDataCollection")

  """
  Generates a presigned URL for downloading archived data. This mutation initiates the data export process and notifies users when the download is ready.
  """
  generatePresignedUrl(patch: DataArchivePatch!): DataArchive!
  generateUploadURL(type: String!): UploadURL!

  """To get oauth2 auth URL"""
  getOauth2AuthUrl(id: String!): String!
  grantRoles(customerId: String!, roles: [RolePatch!]!): Boolean!

  """To import multiple Activities"""
  importActivities(activities: [ActivityPatch!]!): Boolean!

  """To import multiple ActivityTemplates"""
  importActivityTemplates(activityTemplates: [ActivityTemplatePatch!]!): Boolean!

  """To import multiple ApprovalLines"""
  importApprovalLines(approvalLines: [ApprovalLinePatch!]!): Boolean!

  """To import some Attachments"""
  importAttachments(file: Upload!): [Attachment!]!

  """
  Imports multiple AttributeSet entities into the system. Use this mutation to bulk import attribute sets from external sources.
  """
  importAttributeSets(
    """An array of AttributeSetPatch objects to import."""
    attributes: [AttributeSetPatch!]!
  ): Boolean!

  """Imports multiple boards from JSON files."""
  importBoards(files: [Upload!]!, groupId: String!, overwrite: Boolean!): [Board!]!

  """To import multiple CommonCodeDetails"""
  importCommonCodeDetails(commonCodeDetails: [CommonCodeDetailPatch!]!): Boolean!

  """To import multiple CommonCodes"""
  importCommonCodes(commonCodes: [CommonCodePatch!]!): Boolean!

  """
  Imports multiple connections. Can overwrite existing connections if IDs or names match.
  """
  importConnections(connections: [ConnectionPatch!]!): Boolean!

  """To import multiple Contacts"""
  importContacts(contacts: [ContactPatch!]!): Boolean!

  """To import multiple data-archives"""
  importDataArchives(dataArchives: [DataArchivePatch!]!): Boolean!

  """
  Imports multiple data key sets from external sources. This mutation supports bulk import of data categorization structures.
  """
  importDataKeySets(dataKeySets: [DataKeySetPatch!]!): Boolean!

  """To import multiple data-sets"""
  importDataSets(dataSets: [DataSetPatch!]!): Boolean!

  """To import multiple Departments"""
  importDepartments(departments: [DepartmentPatch!]!): Boolean!

  """
  Imports multiple employee records into the system. Each employee record must be provided in the EmployeePatch format.
  """
  importEmployees(employees: [EmployeePatch!]!): Boolean!

  """To import multiple NotificationRules"""
  importNotificationRules(notificationRules: [NotificationRulePatch!]!): Boolean!

  """To import multiple Oauth2Clients"""
  importOauth2Clients(oauth2Clients: [Oauth2ClientPatch!]!): Boolean!

  """
  Imports multiple scenarios, including their steps. This can overwrite existing scenarios if IDs match.
  """
  importScenarios(scenarios: [ScenarioPatch!]!): Boolean!

  """Imports multiple state registers from a provided list."""
  importStateRegisters(stateRegisters: [StateRegisterPatch!]!): Boolean!

  """To import multiple Terminologies"""
  importTerminologies(terminologies: [TerminologyPatch!]!): Boolean!

  """Imports multiple themes."""
  importThemes(themes: [ThemePatch!]!): Boolean!

  """
  Inactivates a user account in the current domain. Use this mutation to disable a user, making them unable to log in.
  """
  inactivateUser(
    """The username or email of the user to inactivate."""
    username: String!
  ): Boolean!

  """To initialize InverterStatus"""
  initializeInverterStatuses: Boolean!

  """To initialize initialACC StateRegister"""
  initializeStateRegisterInitialACC: Boolean!
  inviteCustomer(customerDomainName: String!): Boolean!

  """
  Invites an existing user to join the current domain. Use this mutation to add a user to a domain if they already exist in the system.
  """
  inviteUser(
    """The username or email of the user to invite."""
    username: String!
  ): Boolean!

  """To issue standard ActivityInstance"""
  issueActivityInstance(activityInstance: ActivityInstanceIssue!): ActivityInstance!

  """
  Issues a data collection task for the specified dataset. This mutation creates a worklist activity for manual data entry, allowing authorized users to input data samples according to the dataset configuration.
  """
  issueDataCollection(dataSetId: String!): Boolean!

  """Assigns one or more boards to a group."""
  joinGroup(boardIds: [String!]!, id: String!): Group!

  """Adds one or more boards to a play group."""
  joinPlayGroup(boardIds: [String!]!, id: String!): PlayGroup!

  """Removes one or more boards from a play group."""
  leavePlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
  multipleUpload(files: [Upload!]!): [Attachment!]!

  """
  To pick an activity ActivityInstance voluntarily. [cautions] This resolver will return a assigned ActivityThread.
  """
  pickActivityInstance(id: String!): ActivityThread

  """To refresh oauth2 access token"""
  refreshOauth2AccessToken(id: String!): Oauth2Client!

  """To register a board as a board template with the given ID"""
  registerBoardAsTemplate(
    """description of board template to be regiestered"""
    description: String!

    """board Id to be regiestered"""
    id: String!

    """name of board template to be regiestered"""
    name: String!

    """visibility of board template to be regiestered"""
    visibility: String!
  ): BoardTemplate!

  """
  Registers an existing employee as a system user, granting them access to the system. The employee is identified by their ID.
  """
  registerEmployeeAsSystemUser(
    """Employee Id"""
    employeeId: String!
  ): Boolean!

  """To reject ActivityApproval"""
  rejectActivityApproval(comment: String, id: String!): ActivityApproval

  """Releases a board, making it public and creating a version history."""
  releaseBoard(id: String!): Board!
  renewApplicationAccessToken(id: String!, scope: String!): AccessToken!

  """Sets the custom playback order for boards in a play group."""
  reorderPlayGroup(boardIds: [String!]!, id: String!): PlayGroup!

  """
  Resets a user's password to the default value. Use this mutation to restore access to a user who has forgotten their password.
  """
  resetPasswordToDefault(
    """The username or email of the user whose password to reset."""
    username: String!
  ): Boolean!

  """To restart ActivityThread"""
  restartActivityThread(id: String!, output: Object, reason: String): ActivityThread

  """Reverts a board to a specific historical version."""
  revertBoardVersion(id: String!, version: Float!): Board!

  """
  Runs a new scenario instance once and returns the result after it finishes.
  """
  runScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstanceRunResult!

  """To approve ActivityApproval"""
  saveActivityApproval(comment: String, id: String!): ActivityApproval

  """To save ActivityThread information"""
  saveActivityThread(id: String!, save: ActivityThreadSave!): ActivityThread!
  sendInvitation(email: EmailAddress!, reference: String!, type: String!): Invitation!

  """To create new KakaoNotificationHistory"""
  sendKakaoNotification(kakaoNotificationPatch: KakaoNotificationPatch!): Boolean!
  singleUpload(file: Upload!): Attachment!

  """To start posting activity based on the schedule of the given activity"""
  startActivitySchedule(activityId: String!): Activity!

  """To start ActivityThread"""
  startActivityThread(id: String!, output: Object, reason: String): ActivityThread

  """
  Starts automated data collection scheduling for the specified dataset. This mutation registers a cron-based schedule that automatically triggers data collection tasks according to the dataset configuration.
  """
  startDataCollectionSchedule(dataSetId: String!): DataSet!

  """
  Starts automated data summary scheduling for the specified dataset. This mutation registers a cron-based schedule that automatically generates statistical summaries of collected data according to the configured summary period.
  """
  startDataSummarySchedule(dataSetId: String!): DataSet!

  """Starts a new scenario instance, which will run in the background."""
  startScenario(instanceName: String, scenarioName: String!, variables: Object): ScenarioInstanceStartResult!

  """Starts the schedule for a specific scenario, if one is defined."""
  startScenarioSchedule(scenarioId: String!): Scenario!

  """To stop posting activity based on the schedule of the given activity"""
  stopActivitySchedule(activityId: String!): Activity

  """
  Stops automated data collection scheduling for the specified dataset. This mutation unregisters the cron schedule and disables automatic data collection tasks.
  """
  stopDataCollectionSchedule(dataSetId: String!): DataSet

  """To stop data summary schedule for the given dataset"""
  stopDataSummarySchedule(dataSetId: String!): DataSet

  """Stops a running scenario instance by its name."""
  stopScenario(instanceName: String): ScenarioInstance

  """Stops the schedule for a specific scenario."""
  stopScenarioSchedule(scenarioId: String!): Scenario!

  """To submit a ActivityThread"""
  submitActivityThread(id: String!, output: Object, reason: String): ActivityThread!

  """To synchronize auth-providers users"""
  synchronizeAuthProviderUsers(id: String!): Boolean!

  """
  To synchronize privilege master from graphql directives. Only superuser is permitted.
  """
  synchronizePrivilegeMaster(privilege: NewPrivilege!): Boolean!
  terminateContract(partnerName: String!): Boolean!

  """
  Transfers domain ownership to another user. Use this mutation to assign the owner role to a different user within the domain.
  """
  transferOwner(
    """The username or email of the user to transfer ownership to."""
    username: String!
  ): Boolean!

  """To modify Activity information"""
  updateActivity(id: String!, patch: ActivityPatch!): Activity!

  """To modify ActivityTemplate information"""
  updateActivityTemplate(id: String!, patch: ActivityTemplatePatch!): ActivityTemplate!

  """To save ActivityThread Output Data"""
  updateActivityThreadOutput(id: String!, output: Object!): ActivityThread!
  updateAppliance(id: String!, patch: AppliancePatch!): Appliance!
  updateApplication(id: String!, patch: ApplicationPatch!): Application!

  """To modify ApprovalLine information"""
  updateApprovalLine(id: String!, patch: ApprovalLinePatch!): ApprovalLine!
  updateAttachment(id: String!, patch: AttachmentPatch!): Attachment!

  """
  Updates an existing AttributeSet entity. Use this mutation to modify the properties or items of an AttributeSet.
  """
  updateAttributeSet(
    """The unique identifier of the AttributeSet to update."""
    id: String!

    """The patch object containing updated fields for the AttributeSet."""
    patch: AttributeSetPatch!
  ): AttributeSet!

  """To modify AuthProvider information"""
  updateAuthProvider(id: String!, patch: AuthProviderPatch!): AuthProvider!

  """
  Updates a board. If a model is provided, it also generates a new thumbnail.
  """
  updateBoard(id: String!, patch: BoardPatch!): Board!

  """To modify BoardTemplate information"""
  updateBoardTemplate(id: String!, patch: BoardTemplatePatch!): BoardTemplate!

  """To modify CommonCode information"""
  updateCommonCode(name: String!, patch: CommonCodePatch!): CommonCode!

  """To modify CommonCodeDetail information"""
  updateCommonCodeDetail(id: String!, patch: CommonCodeDetailPatch!): CommonCodeDetail!

  """Updates an existing connection."""
  updateConnection(name: String!, patch: ConnectionPatch!): Connection!

  """To modify Contact information"""
  updateContact(id: String!, patch: ContactPatch!): Contact!

  """
  Updates a data archive record with new status, download URL, and request parameters. This mutation tracks the progress of data export operations.
  """
  updateDataArchive(id: String!, patch: DataArchivePatch!): DataArchive!

  """
  Updates a data key set configuration including key items and thumbnail. This mutation maintains the indexing structure for data organization.
  """
  updateDataKeySet(id: String!, patch: DataKeySetPatch!): DataKeySet!

  """
  Updates an out-of-control record with new status, corrective actions, and workflow progress. This mutation tracks the resolution process for quality issues.
  """
  updateDataOoc(id: String!, patch: DataOocPatch!): DataOoc!

  """
  Updates a data sensor configuration including connection parameters and data mapping settings.
  """
  updateDataSensor(id: String!, patch: DataSensorPatch!): DataSensor!

  """
  Updates an existing dataset configuration. This mutation allows modification of data items, roles, approval lines, and other settings while maintaining version history.
  """
  updateDataSet(id: String!, patch: DataSetPatch!): DataSet!

  """To modify Department information"""
  updateDepartment(id: String!, patch: DepartmentPatch!): Department!

  """To update domain (Only superuser is granted this privilege.)"""
  updateDomain(name: String!, patch: DomainPatch!): Domain!

  """To modify DomainLink information"""
  updateDomainLink(id: String!, patch: DomainLinkPatch!): DomainLink!

  """To update multiple domains (Only superuser is granted this privilege.)"""
  updateDomains(patches: [DomainPatch!]!): Boolean!

  """
  Updates the details of an existing employee identified by the given ID. Optionally updates the supervisor, department, system user, and photo associated with the employee.
  """
  updateEmployee(id: String!, patch: EmployeePatch!): Employee!

  """To modify EnvVar information"""
  updateEnvVar(envVar: EnvVarPatch!, id: String!): EnvVar!

  """To modify Font information"""
  updateFont(id: String!, patch: FontPatch!): Font!

  """Updates an existing board group."""
  updateGroup(id: String!, patch: GroupPatch!): Group!

  """To modify InverterStatus information"""
  updateInverterStatus(id: String!, patch: InverterStatusPatch!): InverterStatus!

  """OPEN WEATHER API 날씨 데이터 수집"""
  updateLiveWeather(liveWeathers: [LiveWeatherPatch!]!): Boolean!

  """To modify multiple Activities' information"""
  updateMultipleActivity(patches: [ActivityPatch!]!): [Activity!]!

  """To modify multiple ActivityTemplates' information"""
  updateMultipleActivityTemplate(patches: [ActivityTemplatePatch!]!): [ActivityTemplate!]!

  """To modify multiple ApprovalLines' information"""
  updateMultipleApprovalLine(patches: [ApprovalLinePatch!]!): [ApprovalLine!]!

  """
  Updates or creates multiple AttributeSet entities in a single operation. Use this mutation for batch processing of attribute sets.
  """
  updateMultipleAttributeSet(
    """An array of patch objects for batch update or creation."""
    patches: [AttributeSetPatch!]!
  ): [AttributeSet!]!
  updateMultipleAuthProvider(patches: [AuthProviderPatch!]!): [AuthProvider!]!

  """To modify multiple CommonCodes' information"""
  updateMultipleCommonCode(patches: [CommonCodePatch!]!): [CommonCode!]!

  """To modify multiple CommonCodeDetails' information"""
  updateMultipleCommonCodeDetail(patches: [CommonCodeDetailPatch!]!): [CommonCodeDetail!]!

  """Updates multiple connections at once."""
  updateMultipleConnection(patches: [ConnectionPatch!]!): [Connection!]!

  """To modify multiple Contacts' information"""
  updateMultipleContact(patches: [ContactPatch!]!): [Contact!]!

  """
  Updates multiple data archive records in a single operation. This mutation supports batch processing for efficient archive management.
  """
  updateMultipleDataArchive(patches: [DataArchivePatch!]!): [DataArchive!]!

  """
  Updates multiple data key sets in a single operation. This mutation supports batch processing for efficient management of data categorization structures.
  """
  updateMultipleDataKeySet(patches: [DataKeySetPatch!]!): [DataKeySet!]!

  """
  Updates multiple data sensor configurations in a single operation. This mutation supports batch processing for efficient sensor management.
  """
  updateMultipleDataSensor(patches: [DataSensorPatch!]!): [DataSensor!]!

  """
  Updates multiple datasets in a single operation. This mutation supports batch processing for efficient management of multiple dataset configurations.
  """
  updateMultipleDataSet(patches: [DataSetPatch!]!): [DataSet!]!

  """To modify multiple Departments' information"""
  updateMultipleDepartment(patches: [DepartmentPatch!]!): [Department!]!

  """To modify multiple DomainLinks' information"""
  updateMultipleDomainLink(patches: [DomainLinkPatch!]!): [DomainLink!]!

  """
  Updates or creates multiple employee records based on the provided patches. New employees are created if the "cuFlag" is "+", and existing employees are updated if the "cuFlag" is "M".
  """
  updateMultipleEmployee(patches: [EmployeePatch!]!): [Employee!]!

  """To modify multiple EnvVars' information"""
  updateMultipleEnvVars(patches: [EnvVarPatch!]!): [EnvVar!]!

  """To modify multiple ApprovalLines' information for current user"""
  updateMultipleMyApprovalLine(patches: [ApprovalLinePatch!]!): [ApprovalLine!]!

  """To modify multiple Notificationes' information"""
  updateMultipleNotification(patches: [NotificationPatch!]!): [Notification!]!

  """To modify multiple NotificationRules' information"""
  updateMultipleNotificationRule(patches: [NotificationRulePatch!]!): [NotificationRule!]!

  """To modify multiple OpenWeatherCities' information"""
  updateMultipleOpenWeatherCity(patches: [OpenWeatherCityPatch!]!): [OpenWeatherCity!]!

  """To modify multiple PartnerSettings' information"""
  updateMultiplePartnerSetting(patches: [PartnerSettingPatch!]!): [PartnerSetting!]!

  """Updates multiple payload logs at once."""
  updateMultiplePayloadLog(patches: [PayloadLogPatch!]!): [PayloadLog!]!

  """To modify multiple PowerPlantGroups' information"""
  updateMultiplePowerPlantGroup(patches: [PowerPlantGroupPatch!]!): [PowerPlantGroup!]!

  """To modify multiple PrinterDevices' information"""
  updateMultiplePrinterDevice(patches: [PrinterDevicePatch!]!): [PrinterDevice!]!

  """
  Updates multiple scenarios at once. Can be used to create or update records.
  """
  updateMultipleScenario(patches: [ScenarioPatch!]!): [Scenario!]!

  """To modify multiple Settings' information"""
  updateMultipleSetting(patches: [SettingPatch!]!): [Setting!]!

  """Updates multiple state registers at once."""
  updateMultipleStateRegister(patches: [StateRegisterPatch!]!): [StateRegister!]!

  """
  Updates multiple steps within a specific scenario. This operation replaces all existing steps for the scenario.
  """
  updateMultipleStep(patches: [StepPatch!]!, scenarioId: String!): [Step!]!

  """To modify multiple Terminologies' information"""
  updateMultipleTerminologies(patches: [TerminologyPatch!]!): [Terminology!]!

  """
  Updates multiple themes at once. Can create or update themes based on the cuFlag.
  """
  updateMultipleTheme(patches: [ThemePatch!]!): [Theme!]!

  """
  Updates or creates multiple users in a single operation. Use this mutation for batch processing of user records.
  """
  updateMultipleUser(
    """An array of patch objects for batch update or creation."""
    patches: [UserPatch!]!
  ): [User!]!

  """To modify multiple WorkShifts' information"""
  updateMultipleWorkShift(patches: [WorkShiftPatch!]!): [WorkShift!]!

  """To modify ApprovalLine information for current user"""
  updateMyApprovalLine(id: String!, patch: ApprovalLinePatch!): ApprovalLine!

  """To create or update my PagePreference"""
  updateMyPagePreference(element: String!, page: String!, preference: Object!): PagePreference!

  """To create or update my preference"""
  updateMyUserPreference(key: String!, preference: Object!): UserPreference!

  """To modify Notification information"""
  updateNotification(id: String!, patch: NotificationPatch!): Notification!

  """To modify NotificationRule information"""
  updateNotificationRule(id: String!, patch: NotificationRulePatch!): NotificationRule!

  """To modify Oauth2Client information"""
  updateOauth2Client(id: String!, patch: Oauth2ClientPatch!): Oauth2Client!

  """OD Cloud Dust 데이터 수집"""
  updateOdCloudDust(dustState: String!): Boolean!

  """Updates an existing payload log."""
  updatePayloadLog(id: String!, patch: PayloadLogPatch!): PayloadLog!

  """Updates an existing play group."""
  updatePlayGroup(id: String!, patch: PlayGroupPatch!): PlayGroup!

  """To modify PowerPlantGroup information"""
  updatePowerPlantGroup(id: String!, powerPlantGroupName: String!): PowerPlantGroup!

  """To modify PrinterDevice information"""
  updatePrinterDevice(id: String!, patch: PrinterDevicePatch!): PrinterDevice!

  """To modify privilege information"""
  updatePrivilege(category: String!, name: String!, patch: PrivilegePatch!): Privilege!

  """To modify role information"""
  updateRole(id: String!, patch: RolePatch!): Role!

  """Updates an existing scenario."""
  updateScenario(name: String!, patch: ScenarioPatch!): Scenario!

  """To update secure IP list for domain"""
  updateSecureIPList(iplist: Object!): Object

  """To modify Setting information"""
  updateSetting(name: String!, patch: SettingPatch!): Setting!

  """Updates an existing state register."""
  updateStateRegister(id: String!, patch: StateRegisterPatch!): StateRegister!

  """
  Updates the state of a specific state register, identified by its name.
  """
  updateStateRegisterByName(name: String!, state: Object!): StateRegister!

  """To modify Terminology information"""
  updateTerminology(id: String!, patch: TerminologyPatch!): Terminology!

  """Updates an existing theme."""
  updateTheme(id: String!, patch: ThemePatch!): Theme!

  """
  Updates the information of an existing user. Use this mutation to modify user profile details, such as name, email, or roles.
  """
  updateUser(
    """The email address of the user to update."""
    email: EmailAddress!

    """The patch object containing updated user fields."""
    patch: UserPatch!
  ): User!

  """To modify UserPreference information"""
  updateUserPreference(id: String!, patch: UserPreferencePatch!): UserPreference!

  """
  Updates the roles assigned to a user. Use this mutation to change a user's permissions within the domain.
  """
  updateUserRoles(
    """The list of roles that can be assigned to the user."""
    availableRoles: [ObjectRef!]!

    """The list of roles to be assigned to the user."""
    selectedRoles: [ObjectRef!]!

    """The username or email of the user whose roles to update."""
    username: String!
  ): User!
}

input NewActivity {
  active: Boolean
  activityType: String
  approvalLine: Object
  assigneeRole: ObjectRef
  assignees: Object
  description: String
  issuerRole: ObjectRef
  model: Object
  multiple: String
  name: String!
  priority: Float
  reportSource: String
  reportType: String
  schedule: String
  scheduleId: String
  searchKeys: Object
  standardTime: Float
  startingType: String
  state: String
  supervisoryRole: ObjectRef
  thumbnail: Upload
  timezone: String
  uiSource: String
  uiType: String
  viewSource: String
  viewType: String
}

input NewActivityTemplate {
  active: Boolean
  activityType: String
  category: String
  description: String
  model: Object
  name: String!
  reportSource: String
  reportType: String
  state: String
  thumbnail: Upload
  uiSource: String
  uiType: String
  viewSource: String
  viewType: String
  visibility: String
}

"""Input for creating a new appliance."""
input NewAppliance {
  """The brand of the new appliance."""
  brand: String!

  """A description for the new appliance."""
  description: String

  """The model of the new appliance."""
  model: String!

  """The name of the new appliance."""
  name: String!

  """The network mask for the new appliance."""
  netmask: String

  """The serial number of the new appliance."""
  serialNo: String!
}

"""Input for creating a new application."""
input NewApplication {
  """A description for the new application."""
  description: String

  """The contact email for the new application."""
  email: EmailAddress

  """A URL to the icon for the new application."""
  icon: String

  """The name of the new application."""
  name: String!

  """The redirect URL for the new application."""
  redirectUrl: String

  """The type of the new application."""
  type: ApplicationType

  """The URL of the new application."""
  url: String

  """The webhook URL for the new application."""
  webhook: String
}

input NewApprovalLine {
  description: String
  model: Object
  name: String!
  owner: ObjectRefApprovalLineOwnerType!
  ownerType: ApprovalLineOwnerType!
}

input NewAttachment {
  category: String
  description: String
  file: Upload!
  refBy: String
  refType: String
  tags: Object
}

"""
Input type for creating a new AttributeSet entity, including entity name, description, and items.
"""
input NewAttributeSet {
  """Whether this AttributeSet is active."""
  active: Boolean

  """A description of the AttributeSet."""
  description: String

  """The name of the entity this AttributeSet is associated with."""
  entity: String!

  """A list of items (attributes) included in this AttributeSet."""
  items: [AttributeSetItemPatch!]
}

"""Input for creating a new authentication provider instance."""
input NewAuthProvider {
  """Whether the new provider instance should be active."""
  active: Boolean

  """Client ID for OAuth/OIDC providers."""
  clientId: String

  """Client secret for OAuth/OIDC providers."""
  clientSecret: String

  """Provider-specific parameters."""
  params: Object

  """Private key, for certain types of providers."""
  privateKey: String

  """Tenant ID, for multi-tenant providers."""
  tenantId: String

  """The type of the authentication provider (e.g., keycloak, google)."""
  type: String!
}

"""Input for creating a new board."""
input NewBoard {
  """A detailed description for the new board."""
  description: String

  """The ID of the group to associate the new board with."""
  groupId: String

  """The JSON model for the new board."""
  model: String!

  """The name of the new board."""
  name: String!

  """A base64 encoded thumbnail image for the new board."""
  thumbnail: String

  """The type for the new board, can be 'main', 'sub', or 'popup'."""
  type: String
}

"""Input for creating a new board template."""
input NewBoardTemplate {
  """A detailed description for the new board template."""
  description: String!

  """The JSON model for the new board template."""
  model: String!

  """The name of the new board template."""
  name: String!

  """A base64 encoded thumbnail image for the new board template."""
  thumbnail: String

  """The visibility for the new board template: 'private' or 'public'."""
  visibility: String!
}

input NewCommonCode {
  description: String
  details: [String!]
  name: String!
}

input NewCommonCodeDetail {
  commonCode: ObjectRef!
  description: String
  labels: Object
  name: String!
  rank: Float!
}

"""Input for creating a new connection."""
input NewConnection {
  """Whether to automatically connect when the application starts"""
  active: Boolean

  """A detailed description for the new connection."""
  description: String

  """Reference to the edge appliance for the new connection."""
  edge: ObjectRef

  """The endpoint URL or address for the new connection."""
  endpoint: String

  """The name for the new connection."""
  name: String!

  """
  When true, connection is created on-demand when needed and cleaned up after use.
  """
  onDemand: Boolean

  """A key-value map of parameters for the new connection."""
  params: Object

  """The type of the new connection (e.g., tcp, http, mqtt)."""
  type: String
}

input NewContact {
  address: String
  company: String
  department: String
  email: EmailAddress
  items: [ContactItemPatch!]
  name: String!
  note: String
  phone: String
  profile: ProfileInput
}

input NewDataArchive {
  downloadUrl: String
  requestParams: Object
  status: String
  type: String
}

input NewDataKeySet {
  active: Boolean
  dataKeyItems: [DataKeyItemPatch!]
  description: String

  """Name of the data key set for identification."""
  name: String!
  reportType: String
  reportView: String
  thumbnail: Upload
}

input NewDataOoc {
  """Timestamp when the OOC event was detected."""
  collectedAt: DateTimeISO

  """The data values that triggered the OOC event."""
  data: Object

  """Reference to the data sample that triggered this OOC event."""
  dataSample: ObjectRef

  """Reference to the dataset this OOC event belongs to."""
  dataSet: ObjectRef

  """Version of the dataset when this OOC event was created."""
  dataSetVersion: Float

  """Description of the OOC event."""
  description: String

  """Name of the OOC event for identification."""
  name: String!

  """Indicates if this event is out of control (OOC)."""
  ooc: Boolean

  """Indicates if this event is out of specification (OOS)."""
  oos: Boolean

  """Raw data string that triggered the OOC event."""
  rawData: String

  """
  Source of the OOC event (e.g., sensor ID, manual entry, external system).
  """
  source: String

  """Initial status of the OOC event in the corrective action workflow."""
  state: DataOocStatus

  """Work date when the OOC event occurred."""
  workDate: String

  """Work shift when the OOC event occurred."""
  workShift: String
}

input NewDataSample {
  """Timestamp when the data sample was collected."""
  collectedAt: DateTimeISO

  """The actual collected data values for this sample."""
  data: Object

  """Reference to the dataset this sample belongs to."""
  dataSet: ObjectRef

  """Version of the dataset when this sample was collected."""
  dataSetVersion: Float

  """Optional description of the data sample."""
  description: String

  """Optional name for the data sample."""
  name: String

  """Raw data string before processing or transformation."""
  rawData: String

  """
  Source of the data sample (e.g., sensor ID, manual entry, external system).
  """
  source: String

  """Work date when the data sample was collected."""
  workDate: String

  """Work shift when the data sample was collected."""
  workShift: String
}

input NewDataSensor {
  active: Boolean
  appliance: ObjectRef
  brand: String
  capacity: Float
  dataSet: ObjectRef
  decoder: ObjectRef
  description: String
  deviceId: String
  model: String

  """Name of the data sensor for identification."""
  name: String!
  netmask: String
  refBy: String
  serialNo: String
  tag: String
  unit: String
}

input NewDataSet {
  active: Boolean
  dataItems: [DataItemPatch!]
  dataKeySet: ObjectRef
  description: String
  entryRole: ObjectRef
  entryType: String
  entryView: String
  monitorType: String
  monitorView: String

  """
  The unique name identifier for the dataset. This field is used for dataset identification and must be unique within the domain.
  """
  name: String!
  normalScenario: ObjectRef
  outlierApprovalLine: Object
  outlierScenario: ObjectRef
  partitionKeys: Object
  reportTemplate: Upload
  reportType: String
  reportView: String
  requiresReview: Boolean
  resolverRole: ObjectRef
  reviewApprovalLine: Object
  schedule: String
  summaryPeriod: String
  supervisoryRole: ObjectRef

  """A tag name of data to be published when a data sample created"""
  tag: String

  """
  The maximum allowed time limit (in seconds) for completing the data entry operation
  """
  timeLimit: Float
  timezone: String
  type: String
  useCase: String
}

input NewDepartment {
  active: Boolean
  controlNo: String!
  description: String
  extension: String
  manager: ObjectRefForEmployee
  name: String!
  parent: ObjectRef
  picture: Upload
}

"""Input for creating a new domain link."""
input NewDomainLink {
  """The source domain in the relationship."""
  sourceDomain: ObjectRef!

  """The target domain in the relationship."""
  targetDomain: ObjectRef!

  """The type of the relationship."""
  type: String!
}

input NewEmployee {
  active: Boolean
  alias: String
  bankAccount: String
  bankName: String
  contact: ObjectRefForContact
  controlNo: String!
  department: ObjectRefForDepartment
  emergencyContact: String
  emergencyContactPhone: String
  extension: String
  hiredOn: DateTimeISO
  jobPosition: String
  jobResponsibility: String
  name: String!
  note: String
  photo: Upload
  retiredOn: DateTimeISO
  supervisor: ObjectRefForEmployee
  type: EmployeeType
  user: ObjectRefForUser
}

"""Input type for creating a new environment variable."""
input NewEnvVar {
  """Indicates whether this environment variable is active."""
  active: Boolean

  """A detailed description for the new environment variable."""
  description: String

  """The name for the new environment variable."""
  name: String!

  """The value for the new environment variable."""
  value: String
}

input NewFavorite {
  routing: String!
}

input NewFont {
  active: Boolean
  files: [Upload!]
  name: String!
  path: String
  provider: String
  uri: String
}

"""Input for creating a new board group."""
input NewGroup {
  """A detailed description for the new group."""
  description: String

  """The name of the new group."""
  name: String!
}

input NewInverterStatus {
  ac: Float
  acc: Float
  alias: String
  collectedAt: DateTimeISO
  com: String
  dc: Float
  ds: Float
  ivtId: String
  rtuId: String
  run: String
}

input NewNotification {
  body: String
  image: String
  ownerId: String
  property: Object
  subject: String
  timestamp: DateTimeISO
  title: String
  type: String
  url: String
}

input NewNotificationRule {
  active: Boolean
  body: String
  description: String
  name: String!
  state: NotificationRuleStatus
  thumbnail: Upload
  title: String
  url: String
}

input NewOauth2Client {
  accessToken: String
  accessTokenUrl: String
  authUrl: String
  callbackUrl: String
  clientId: String
  clientSecret: String
  codeChallengeMethod: String
  codeVerifier: String
  description: String
  grantType: String
  icon: String
  jwtToken: JWT
  name: String!
  password: String
  refreshToken: String
  scopes: String
  username: String
  webhook: String
}

input NewPagePreference {
  element: String
  page: String
  preference: Object!
  user: ObjectRef!
}

"""Input for creating a new payload log."""
input NewPayloadLog {
  """A description for the new payload log entry."""
  description: String

  """The name for the new payload log entry."""
  name: String!
}

"""Input for creating a new play group."""
input NewPlayGroup {
  """A detailed description for the new play group."""
  description: String

  """The name of the new play group."""
  name: String!
}

input NewPrinterDevice {
  activeFlag: Boolean
  defaultFlag: Boolean
  description: String!
  dpi: Int
  jobCategory: String
  jobClass: String
  jobType: String
  name: String!
  note: String
  printerDriver: String
  printerIp: String
  printerPort: Int
  serviceUrl: String
  status: String
  type: String
}

input NewPrivilege {
  category: String!
  description: String
  name: String!
  roles: [ObjectRef!]
}

"""Input for creating a new role."""
input NewRole {
  """A description for the new role."""
  description: String

  """The name of the new role."""
  name: String!

  """Privileges to be granted by the new role."""
  privileges: [ObjectRef!]

  """Users to be assigned to the new role."""
  users: [ObjectRef!]
}

"""Input for creating a new scenario."""
input NewScenario {
  """Indicates if the new scenario should be active upon creation."""
  active: Boolean

  """A detailed description for the new scenario."""
  description: String

  """Iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN."""
  iteration: String

  """The name of the new scenario."""
  name: String!

  """The role required to execute the new scenario."""
  role: ObjectRef

  """A cron-style schedule for the new scenario."""
  schedule: String

  """The timezone for the schedule."""
  timezone: String

  """Time-to-live in seconds for new scenario instances."""
  ttl: Float

  """The type of the new scenario, for categorization."""
  type: String
}

input NewSetting {
  category: String!
  description: String
  name: String!
  value: String
}

"""Input for creating a new state register."""
input NewStateRegister {
  """
  Whether to automatically publish state changes. If true, state changes will be published using the name as the tag.
  """
  autoPublish: Boolean

  """Description of the state register"""
  description: String

  """Group name for the state register"""
  group: String

  """
  Name of the state register. If autoPublish is enabled, this name is used as the publish tag.
  """
  name: String!

  """Number of decimal places if the state is a number type"""
  place: String

  """
  Reference to an external entity or data, used as a flexible foreign key
  """
  refBy: String

  """Current state value"""
  state: Object

  """Time to live for the state value in seconds"""
  ttl: Int

  """Type of the state"""
  type: String

  """Unit of the state value"""
  unit: String
}

input NewTerminology {
  category: String!
  description: String
  display: String!
  locale: String!
  name: String!
}

"""Input for creating a new theme."""
input NewTheme {
  """Whether the new theme should be active upon creation."""
  active: Boolean

  """A detailed description for the new theme."""
  description: String

  """The name for the new theme."""
  name: String!

  """The type of the new theme."""
  type: String

  """A JSON object of style values for the new theme."""
  value: Object
}

"""Input type for creating a new user account."""
input NewUser {
  """Optional description or note about the user."""
  description: String

  """Email address of the user."""
  email: EmailAddress!

  """Full name of the user."""
  name: String!

  """Password for the user account."""
  password: String

  """Roles assigned to the user."""
  roles: [ObjectRef!]

  """Type or category of the user (e.g., admin, operator, guest)."""
  userType: String

  """Unique username for the user."""
  username: String!
}

"""Input for creating a new user as part of the domain creation wizard."""
input NewUserByDomainWizardInput {
  """The email address of the new user."""
  email: EmailAddress!

  """
  Indicates whether the user should be invited via email instead of created directly.
  """
  isInvitee: Boolean

  """The full name of the new user."""
  name: String!

  """Indicates whether this user is an owner of the domain."""
  owner: Boolean!

  """
  The password for the new user. If not provided, an invitation will be sent.
  """
  password: String

  """A list of roles to be assigned to the new user."""
  roles: [NewRole!]!
}

input NewUserPreference {
  key: String!
  preference: Object!
  user: ObjectRef!
}

"""Entity for Notification"""
type Notification {
  body: String
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  id: ID!
  image: String
  owner: User
  property: Object
  state: String
  subject: String
  timestamp: Date
  title: String
  type: String
  updatedAt: DateTimeISO
  updater: User
  url: String
}

type NotificationList {
  items: [Notification!]!
  total: Int!
}

input NotificationPatch {
  cuFlag: String
  id: ID
  state: NotificationStatus
}

"""Entity for NotificationRule"""
type NotificationRule {
  body: String
  channels: String
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  description: String
  domain: Domain!
  id: ID!
  name: String

  """notification recipients."""
  recipients: [RecipientItem!]
  state: String
  thumbnail: String
  title: String
  updatedAt: DateTimeISO
  updater: User
  url: String
  version: Float
}

type NotificationRuleList {
  items: [NotificationRule!]!
  total: Int!
}

input NotificationRulePatch {
  body: String
  cuFlag: String
  description: String
  id: ID
  name: String
  state: NotificationRuleStatus
  thumbnail: Upload
  title: String
  url: String
}

"""state enumeration of a notificationRule"""
enum NotificationRuleStatus {
  DRAFT
  RELEASED
}

"""state enumeration of a notification"""
enum NotificationStatus {
  NOTREAD
  READ
}

"""Entity for Oauth2Client"""
type Oauth2Client {
  accessToken: String
  accessTokenUrl: String
  authUrl: String
  callbackUrl: String
  clientId: String
  clientSecret: String
  codeChallengeMethod: String
  codeVerifier: String
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  expires: DateTimeISO
  grantType: String
  icon: String
  id: ID!
  jwtToken: JWT
  name: String!
  password: String
  refreshToken: String
  scopes: String
  state: String
  tokenType: String
  updatedAt: DateTimeISO
  updater: User
  username: String
  webhook: String
}

type Oauth2ClientList {
  items: [Oauth2Client!]!
  total: Int!
}

input Oauth2ClientPatch {
  accessToken: String
  accessTokenUrl: String
  authUrl: String
  callbackUrl: String
  clientId: String
  clientSecret: String
  codeChallengeMethod: String
  codeVerifier: String
  description: String
  grantType: String
  icon: String
  jwtToken: JWT
  name: String
  password: String
  refreshToken: String
  scopes: String
  username: String
  webhook: String
}

"""
A custom scalar type for representing arbitrary JSON objects. Use this type for fields or arguments that require flexible, structured data beyond standard GraphQL scalar types.
"""
scalar Object

"""
Input type for referencing another object by its unique identifier, with optional name and description.
"""
input ObjectRef {
  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

input ObjectRefApprovalLineOwnerType {
  controlNo: String

  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

input ObjectRefForContact {
  address: String

  """A description of the referenced object."""
  description: String
  email: EmailAddress

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
  phone: String
}

input ObjectRefForDepartment {
  controlNo: String

  """A description of the referenced object."""
  description: String

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

input ObjectRefForEmployee {
  active: Boolean
  alias: String
  controlNo: String

  """A description of the referenced object."""
  description: String
  email: EmailAddress
  hiredOn: DateTimeISO

  """The unique identifier of the referenced object."""
  id: ID!
  jobPosition: String
  jobResponsibility: String

  """The name of the referenced object."""
  name: String
  photo: String
  type: EmployeeType
}

input ObjectRefForUser {
  """A description of the referenced object."""
  description: String
  email: EmailAddress

  """The unique identifier of the referenced object."""
  id: ID!

  """The name of the referenced object."""
  name: String
}

"""Entity for Dust of OdCloud"""
type OdCloudDust {
  dustState: String
  id: ID!
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for OpenWeatherCity"""
type OpenWeatherCity {
  cityId: String
  cityName: String
  id: ID!
  updatedAt: DateTimeISO
  updater: User
  weather: Object
  weatherCollectedAt: DateTimeISO
}

type OpenWeatherCityList {
  items: [OpenWeatherCity!]!
  total: Int!
}

input OpenWeatherCityPatch {
  cityId: String
  cityName: String
  cuFlag: String
  id: ID
}

type OrgMemberTarget {
  controlNo: String

  """Field description"""
  description: String

  """Field id"""
  id: ID!

  """Field name"""
  name: String
}

"""type enumeration of a approval line item"""
enum OrgMemberTargetType {
  Department
  Employee
  MyDepartment
  MySupervisor
  Myself
  Role
}

"""Entity for PagePreference"""
type PagePreference {
  createdAt: DateTimeISO
  creator: User
  domain: Domain!
  element: String
  id: ID!
  page: String
  preference: Object
  updatedAt: DateTimeISO
  updater: User
  user: User!
}

type PagePreferenceList {
  items: [PagePreference!]!
  total: Int!
}

"""Input type for specifying pagination options in a list query."""
input Pagination {
  """The maximum number of items per page."""
  limit: Int

  """The page number to retrieve."""
  page: Int
}

"""Represents a partnership between two domains."""
type Partner {
  """The timestamp when the partnership was approved."""
  approvedAt: DateTimeISO

  """The user who approved the partnership."""
  approver: User

  """The domain initiating the partnership."""
  domain: Domain!

  """Unique identifier for the partnership."""
  id: ID!

  """The domain being partnered with."""
  partnerDomain: Domain!

  """The timestamp when the partnership was requested."""
  requestedAt: DateTimeISO

  """The user who requested the partnership."""
  requester: User
}

"""A paginated list of partnerships."""
type PartnerList {
  """The list of partnership items."""
  items: [Partner!]

  """The total number of partnerships."""
  total: Int
}

"""Entity for PartnerSetting"""
type PartnerSetting {
  category: String
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  name: String
  partnerDomain: Domain
  partnerDomainId: String
  setting: Setting
  settingId: String
  updatedAt: DateTimeISO
  updater: User
  value: String
}

type PartnerSettingList {
  items: [PartnerSetting!]!
  total: Int!
}

input PartnerSettingPatch {
  cuFlag: String!
  id: ID
  partnerDomain: ObjectRef
  setting: ObjectRef
  value: String
}

"""
Password rule configuration for user accounts, specifying required character types and patterns.
"""
type PasswordRule {
  """Whether repeated characters are allowed in the password."""
  allowRepeat: Boolean

  """Whether at least one digit is required."""
  digit: Boolean

  """Minimum length required for a loose password pattern."""
  looseCharacterLength: Float

  """Whether at least one lowercase letter is required."""
  lowerCase: Boolean

  """Whether at least one special character is required."""
  specialCharacter: Boolean

  """Minimum length required for a strict password pattern."""
  tightCharacterLength: Float

  """Whether at least one uppercase letter is required."""
  upperCase: Boolean

  """Whether to allow a loose password pattern."""
  useLoosePattern: Boolean

  """Whether to enforce a strict password pattern."""
  useTightPattern: Boolean
}

"""Logs the request and response payloads for API interactions."""
type PayloadLog {
  """The timestamp when the log entry was created."""
  createdAt: DateTimeISO

  """The user who created the log entry."""
  creator: User

  """The domain in which the transaction occurred."""
  domain: Domain!

  """The API endpoint that was called."""
  endpoint: String!

  """Unique identifier for the payload log entry."""
  id: ID!

  """A descriptive name for the transaction being logged."""
  name: String!

  """The full request payload, usually in JSON format."""
  request: String!

  """The full response payload, usually in JSON format."""
  response: String!

  """The source of the request."""
  src: String

  """The direction of the data flow (ingestion or egestion)."""
  type: String!

  """The timestamp when the log entry was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the log entry."""
  updater: User
}

"""A paginated list of payload logs."""
type PayloadLogList {
  """The list of payload log items."""
  items: [PayloadLog!]!

  """The total number of payload logs."""
  total: Int!
}

"""Input for updating (patching) an existing payload log."""
input PayloadLogPatch {
  """
  A flag indicating whether the log is being created, updated, or deleted.
  """
  cuFlag: String!

  """The new description for the payload log entry."""
  description: String

  """The unique identifier of the payload log to update."""
  id: ID

  """The new name for the payload log entry."""
  name: String
}

"""Represents an item pending in a scenario queue."""
type PendingObject {
  """The timestamp indicating when the item is due for processing."""
  due: String!

  """The priority level of the item in the queue."""
  priority: Int!

  """The actual data or task object in the queue."""
  stuff: Object!

  """A tag for categorizing or filtering queue items."""
  tag: String
}

"""A group of boards that can be played in a sequence or collection."""
type PlayGroup {
  """The list of boards included in this play group."""
  boards: [Board!]

  """The timestamp when the play group was created."""
  createdAt: DateTimeISO

  """The user who created the play group."""
  creator: User

  """A detailed description of the play group."""
  description: String

  """The domain to which this play group belongs."""
  domain: Domain

  """Unique identifier for the play group."""
  id: ID!

  """The name of the play group."""
  name: String!

  """
  An array of board IDs, defining the specific playback order of boards within the group.
  """
  order: [String!]

  """The timestamp when the play group was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the play group."""
  updater: User
}

"""A paginated list of play groups."""
type PlayGroupList {
  """The list of play group items."""
  items: [PlayGroup!]!

  """The total number of play groups."""
  total: Int!
}

"""Input for updating (patching) an existing play group."""
input PlayGroupPatch {
  """The new description for the play group."""
  description: String

  """The new name for the play group."""
  name: String
}

type PowerPlant {
  """위치"""
  address: String

  """교류전력(출력)"""
  alternatingCurrent: Float

  """평균 """
  avgPrc: Float

  """설비용량"""
  capacity: Float

  """직류전력(입력)"""
  directCurrent: Float

  """발전량"""
  generationAmount: Float

  """발전시간"""
  generationTime: Float

  """도메인(발전소) ID"""
  id: String

  """통신장애 여부"""
  isNoSignal: String

  """최대 인버터 통신 상태"""
  maxInverterCommunicationStatus: String

  """최대 인버터 운영 상태"""
  maxInverterOperationStatus: String

  """발전소명"""
  name: String

  """날씨"""
  weatherId: String
}

type PowerPlantCount {
  capacity: Float!
  communicationFaultCount: Int!
  count: Int!
  faultCount: Int!
  generationTime: Float!
  listCount: Int!
  normalCount: Int!
  stopCount: Int!
}

type PowerPlantDetail {
  """주소"""
  address: String

  """교류전력(출력)"""
  alternatingCurrent: Float

  """설비용량"""
  capacity: Float

  """사업주"""
  ceo: String

  """사업주 전화번호"""
  ceoPhone: String

  """최근 수집 시간"""
  collectedAt: String

  """발전시간"""
  generationTime: Float

  """도메인(발전소) ID"""
  id: String

  """인버터 제조사"""
  inverterManufacturer: String

  """인버터 모델"""
  inverterModel: String

  """발전소명"""
  name: String

  """REC 가중치"""
  rec: Float

  """새로고침 시간"""
  refreshTime: Float

  """안전관리자"""
  safetyManager: String

  """안전관리자 전화번호"""
  safetyManagerPhone: String

  """오늘의 발전량"""
  todayGenerated: Float

  """날씨"""
  weatherId: String
}

"""발전소 그룹"""
type PowerPlantGroup {
  createdAt: DateTimeISO
  creator: User
  deletedAt: DateTimeISO
  domain: Domain
  id: ID!
  name: String
  powerPlantCount: Int!
  updatedAt: DateTimeISO
  updater: User
}

"""도메인(발전소)와 발전소 그룹 N:N 바인딩 정보"""
type PowerPlantGroupBinding {
  domain: Domain
  id: ID!
  powerPlantGroup: PowerPlantGroup
}

type PowerPlantGroupList {
  items: [PowerPlantGroup!]!
  total: Int!
}

input PowerPlantGroupPatch {
  id: ID
  name: String
}

type PowerPlantHeaderInfo {
  """설비용량"""
  capacity: Float

  """도메인(발전소) ID"""
  id: String

  """통신장애 여부"""
  isNoSignal: String

  """인버터 통신 상태"""
  maxInverterCommunicationStatus: String

  """인버터 운영 상태"""
  maxInverterOperationStatus: String

  """발전소명"""
  name: String

  """날씨"""
  weatherId: String
}

type PowerPlantList {
  items: [PowerPlant!]!
  total: PowerPlantCount!
}

type PowerPlantSummary {
  """이번달 평균 발전시간"""
  avg_generation_time: Float

  """도메인(발전소) ID"""
  powerPlantId: String

  """당일 누적 발전량"""
  sum_acc: Float
}

"""Entity for PrinterDevice"""
type PrinterDevice {
  activeFlag: Boolean
  createdAt: DateTimeISO
  creator: User
  defaultFlag: Boolean
  description: String!
  domain: Domain!
  dpi: Int
  id: ID!
  jobCategory: String
  jobClass: String
  jobType: String
  name: String!
  note: String
  printerDriver: String
  printerIp: String
  printerPort: Int
  serviceUrl: String
  status: String
  type: String!
  updatedAt: DateTimeISO
  updater: User
}

type PrinterDeviceList {
  items: [PrinterDevice!]!
  total: Int!
}

input PrinterDevicePatch {
  activeFlag: Boolean
  cuFlag: String!
  defaultFlag: Boolean
  description: String
  dpi: Int
  id: ID
  jobCategory: String
  jobClass: String
  jobType: String
  name: String
  note: String
  printerDriver: String
  printerIp: String
  printerPort: Int
  serviceUrl: String
  status: String
  type: String
}

"""
A privilege that can be granted to roles to control access to resources.
"""
type Privilege {
  """The category of the privilege (e.g., security, resource)."""
  category: String

  """The timestamp when the privilege was created."""
  createdAt: DateTimeISO

  """The user who created the privilege."""
  creator: User

  """A detailed description of what the privilege allows."""
  description: String

  """Unique identifier for the privilege."""
  id: ID!

  """The name of the privilege."""
  name: String!
  privilege: String!

  """Roles that include this privilege."""
  roles: [Role!]

  """The timestamp when the privilege was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the privilege."""
  updater: User
}

type PrivilegeList {
  items: [Privilege!]
  total: Int
}

"""Represents a privilege object with its properties."""
type PrivilegeObject {
  """The category of the privilege."""
  category: String

  """Indicates if the privilege is for an owner."""
  owner: Boolean

  """The name of the privilege."""
  privilege: String

  """Indicates if the privilege is for a superuser."""
  super: Boolean
}

input PrivilegePatch {
  category: String
  description: String
  id: String
  name: String
  roles: [ObjectRef!]
}

"""Object type for Profile"""
type Profile {
  left: Float
  picture: String
  top: Float
  zoom: Float
}

"""Input type for Profile"""
input ProfileInput {
  file: Upload
  left: Float
  picture: String
  top: Float
  zoom: Float
}

"""
Describes a single property for a component or a step, used for UI rendering and configuration.
"""
type PropertySpec {
  """The human-readable label for the property, shown in UI."""
  label: String!

  """The name of the property, used as the key in configuration objects."""
  name: String!

  """Placeholder text for the input field."""
  placeholder: String

  """
  Additional properties specific to the type (e.g., options for a select).
  """
  property: Object

  """CSS styles to be applied to the input field."""
  styles: Object

  """
  The data type of the property (e.g., text, number, boolean, select, password).
  """
  type: String!

  """
  Whether this property should use Domain attributes for secure storage instead of direct params.
  """
  useDomainAttribute: Boolean
}

type Query {
  APIDocCompletion(input: APIDocCompletionInput!): APIDocCompletionOutput!

  """To fetch multiple Activities"""
  activities(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityList!

  """To fetch a Activity"""
  activity(id: String!): Activity

  """To fetch a ActivityApproval"""
  activityApproval(id: String!): ActivityApproval

  """To fetch multiple ActivityApprovals"""
  activityApprovals(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityApprovalList!

  """To fetch a Activity by name"""
  activityByName(name: String!): Activity

  """To fetch activity events by period"""
  activityEvents(from: String!, to: String!): [ActivityEvent!]!

  """To fetch a ActivityInstance"""
  activityInstance(id: String!): ActivityInstance

  """To fetch multiple ActivityInstanceHistory"""
  activityInstanceHistories(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityInstanceHistoryList!

  """To fetch a ActivityInstanceHistory"""
  activityInstanceHistory(id: String!): ActivityInstanceHistory!

  """To fetch multiple ActivityInstances"""
  activityInstances(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityInstanceList!

  """To fetch multiple activity instances by activity"""
  activityInstancesByActivity(
    activityId: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityInstanceList!

  """To fetch multiple ActivityInstances"""
  activityInstancesIssuedByMe(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityInstanceList!

  """To fetch a Activity Summary"""
  activitySummary: ActivitySummary

  """To fetch a ActivityTemplate"""
  activityTemplate(id: String!): ActivityTemplate

  """To fetch multiple ActivityTemplates"""
  activityTemplates(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityTemplateList!

  """To fetch a ActivityThread"""
  activityThread(id: String!): ActivityThread

  """To fetch multiple ActivityThreads"""
  activityThreads(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityThreadList!

  """"""
  allInverterHistoriesByDate(date: String!, powerPlantId: String!): [EaasInverterHistory!]
  appBinding(id: String!): AppBinding!
  appBindings(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AppBindingList!

  """ To fetch appliance"""
  appliance(id: String!): Appliance!

  """To fetch multiple appliance"""
  appliances(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApplianceList!

  """To fetch application"""
  application(id: String!): Application!

  """To fetch multiple application"""
  applications(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApplicationList!

  """To fetch the approvals(ActivityApprovals) which has done by me"""
  approvalDoneList(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityApprovalList!

  """To fetch a approval line"""
  approvalLine(id: String!): ApprovalLine

  """To fetch referable approval lines for the user"""
  approvalLineReferences(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!

  """To fetch multiple approval lines"""
  approvalLines(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!

  """To fetch the list of work results I need to review"""
  approvalPendingList(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityApprovalList!
  attachment(id: String!): Attachment!
  attachments(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AttachmentList!

  """
  Fetches a single AttributeSet entity by its unique identifier. Use this query to retrieve the details of a specific attribute set.
  """
  attributeSet(
    """The unique identifier of the AttributeSet to fetch."""
    id: String!
  ): AttributeSet

  """
  Fetches a single AttributeSet entity by the associated entity name. Use this query to retrieve the attribute set for a specific entity type.
  """
  attributeSetByEntity(
    """The entity name associated with the AttributeSet."""
    entity: String!
  ): AttributeSet

  """
  Fetches a list of AttributeSet entities with pagination and filtering options. Use this query to retrieve multiple attribute sets.
  """
  attributeSets(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AttributeSetList!

  """To fetch a AuthProvider"""
  authProvider(id: String!): AuthProvider

  """To fetch a AuthProvider"""
  authProviderTypes: AuthProviderTypeList

  """To fetch multiple AuthProviders"""
  authProviders(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): AuthProviderList!

  """Finds a single board by its ID."""
  board(id: String!): Board!

  """Finds a single board by its name."""
  boardByName(name: String!): Board

  """To fetch a Board Model by name"""
  boardByNameEaas(name: String!): Board

  """Retrieves the most recently published version of a board."""
  boardPublished(id: String!): BoardHistory!

  """To fetch a BoardTemplate"""
  boardTemplate(id: String!): BoardTemplate

  """To fetch multiple BoardTemplates"""
  boardTemplates(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardTemplateList!

  """To fetch BoardTemplates created by me"""
  boardTemplatesCreatedByMe(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardTemplateList!

  """Retrieves up to 10 historical versions of a specific board."""
  boardVersions(id: String!): [BoardHistory!]!

  """Retrieves a paginated list of all boards."""
  boards(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardList!

  """Retrieves a paginated list of boards created by the current user."""
  boardsCreatedByMe(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardList!
  chatCompletion(input: ChatCompletionInput!): ChatCompletionOutput!

  """
  Checks if the system is configured to provide a default password for new users.
  """
  checkDefaultPassword: Boolean!

  """
  Determines whether the system provides a default password when creating a new user.
  """
  checkResettablePasswordToDefault: Boolean!

  """To fetch the preset of role for new user"""
  checkRolePreset: [Role!]!

  """
  Checks if the current authenticated user belongs to the current domain.
  """
  checkUserBelongsDomain: Boolean!

  """Checks if a user with the given email address exists in the system."""
  checkUserExistence(
    """The email address to check for existence."""
    email: EmailAddress!
  ): Boolean!

  """To fetch common approval lines"""
  commonApprovalLines(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!

  """To fetch a CommonCode"""
  commonCode(name: String!): CommonCode

  """To fetch a CommonCodeDetail"""
  commonCodeDetail(id: String!): CommonCodeDetail!

  """To fetch multiple CommonCodeDetails"""
  commonCodeDetails(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): CommonCodeDetailList!

  """To fetch multiple CommonCodes"""
  commonCodes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): CommonCodeList!

  """Fetches a single connection by its name, including its current state."""
  connection(name: String!): Connection!

  """
  Fetches a paginated list of connections, including their current states.
  """
  connections(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ConnectionList!

  """Fetches a single connector type by its name."""
  connector(name: String!): ConnectorType!

  """Fetches the connector type associated with a specific connection."""
  connectorByConnection(connectionName: String!): ConnectorType!

  """Fetches a list of all available connector types."""
  connectors: ConnectorList!

  """To fetch a Contact"""
  contact(id: String!): Contact

  """To fetch multiple Contacts"""
  contacts(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ContactList!
  customers: [Domain!]!

  """
  Retrieves a single data archive by its unique identifier. This query fetches detailed information about a data archive request including its status, download URL, and associated dataset information for data export purposes.
  """
  dataArchive(id: String!): DataArchive!

  """
  Retrieves multiple data archives with pagination support. This query is used for listing and managing data export requests, allowing users to track the status of their data download requests and access completed archives.
  """
  dataArchives(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataArchiveList!

  """
  Retrieves a single data key set by its unique identifier. This query fetches detailed information about a key set including its key items, configuration, and metadata. Data key sets define the indexing and categorization structure for data samples and summaries.
  """
  dataKeySet(id: String!): DataKeySet

  """
  Retrieves multiple data key sets with pagination and filtering support. This query allows searching key sets by name and description, and is used for listing and managing data categorization structures across all datasets.
  """
  dataKeySets(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataKeySetList!

  """
  Retrieves a single out-of-control (OOC) record by its unique identifier. This query fetches detailed information about an OOC event including its status, corrective actions, review process, and associated data sample.
  """
  dataOoc(id: String!): DataOoc!

  """
  Retrieves multiple out-of-control (OOC) records with pagination and filtering support. This query allows searching OOC events by name and description, and is used for monitoring and managing quality control issues across all datasets.
  """
  dataOocs(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataOocList!

  """
  Retrieves a single data sample by its unique identifier. This query fetches detailed information about a specific data sample including its values, metadata, collection timestamp, and associated dataset information.
  """
  dataSample(id: String!): DataSample!

  """
  Retrieves multiple data samples with pagination and filtering support. This query allows searching samples by name and description, and is used for listing and browsing collected data samples across all datasets.
  """
  dataSamples(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSampleList!

  """
  Retrieves data samples that belong to datasets using a specific data key set. This query filters samples by key set ID and enables cross-dataset analysis based on shared key configurations, useful for comparing data across related datasets.
  """
  dataSamplesByDataKeySet(
    dataKeySetId: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSampleList!

  """
  Retrieves data samples that belong to a specific dataset. This query filters samples by dataset ID and includes searchable fields based on the dataset's key configuration, allowing for targeted data analysis within a particular dataset context.
  """
  dataSamplesByDataSet(
    dataSetId: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSampleList!

  """
  Retrieves data samples within a specified time period for a given dataset. This query supports various period options (today, this month, 30 days, etc.) and is essential for time-based data analysis, trend monitoring, and historical data review.
  """
  dataSamplesByPeriod(
    dataSetName: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination
    period: String!

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSampleList!

  """
  Retrieves a single data sensor by its unique identifier. This query fetches detailed information about a sensor including its device configuration, data collection settings, and associated dataset information.
  """
  dataSensor(id: String!): DataSensor!

  """
  Retrieves multiple data sensors with pagination and filtering support. This query allows searching sensors by name, description, device ID, and tag, and is used for listing and managing automated data collection devices across all datasets.
  """
  dataSensors(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSensorList!

  """
  Retrieves a single DataSet by its unique identifier. This query is used to fetch detailed information about a specific dataset including its configuration, data items, roles, and workflow settings.
  """
  dataSet(id: String!): DataSet!

  """
  Retrieves a DataSet by its name. This query is useful when you know the dataset name and need to fetch its complete configuration and settings.
  """
  dataSetByName(name: String!): DataSet!

  """To fetch multiple DataSetHistories"""
  dataSetHistories(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSetHistoryList!

  """To fetch a DataSetHistory"""
  dataSetHistory(id: String!, timestamp: Date!): DataSetHistory!

  """
  Retrieves multiple DataSets with pagination and filtering support. This query allows searching datasets by name, description, tag, or supervisory role, and is commonly used for listing and managing datasets in the system.
  """
  dataSets(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSetList!

  """
  Retrieves DataSets that the current user is authorized to enter data for. This query filters datasets based on the user's roles (entry role or supervisory role) and only returns active datasets. Used for data entry interfaces where users need to see datasets they can contribute to.
  """
  dataSetsForEntry(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSetList!

  """
  Retrieves DataSets that the current user is authorized to view reports for. This query filters datasets based on the user's supervisory roles and only returns active datasets. Used for reporting interfaces where users need to see datasets they can monitor and analyze.
  """
  dataSetsForReport(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSetList!

  """To fetch a data-spec"""
  dataSpec(name: String!): DataSpec!

  """To fetch all data-specs"""
  dataSpecs: DataSpecList!

  """
  Retrieves multiple data summaries with pagination and filtering support. This query allows searching summaries by name and description, and is used for listing and browsing aggregated statistical data across all datasets.
  """
  dataSummaries(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSummaryList!

  """
  Retrieves data summaries that belong to datasets using a specific data key set. This query filters summaries by key set ID and enables cross-dataset statistical analysis based on shared key configurations, useful for comparing aggregated data across related datasets.
  """
  dataSummariesByDataKeySet(
    dataKeySetId: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSummaryList!

  """
  Retrieves data summaries that belong to a specific dataset by dataset ID. This query filters summaries by dataset ID and includes searchable fields based on the dataset's key configuration, enabling targeted statistical analysis within a particular dataset context.
  """
  dataSummariesByDataSet(
    dataSetId: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSummaryList!

  """
  Retrieves data summaries that belong to a specific dataset by dataset name. This query filters summaries by dataset name and includes searchable fields based on the dataset's key configuration, enabling targeted statistical analysis within a particular dataset context.
  """
  dataSummariesByDataSetName(
    dataSetName: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DataSummaryList!

  """
  Retrieves a single data summary by its unique identifier. This query fetches aggregated statistical information about data samples including averages, counts, and other summary statistics for a specific time period.
  """
  dataSummary(id: String!): DataSummary

  """
  Retrieves dynamically grouped data summaries for a specific time period and dataset. This query provides aggregated statistical information grouped by data keys, enabling trend analysis and performance monitoring across different dimensions.
  """
  dataSummaryByPeriod(
    dataKeys: [String!]
    dataSetName: String!

    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination
    period: String!

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): [DynamicDataSummary!]!
  decipherCode(input: CodeDecipherInput!): CodeDecipherOutput!
  decipherErrorCode(input: CodeDecipherInput!): CodeDecipherOutput!

  """To fetch a Department"""
  department(id: String!): Department

  """To fetch a Root Departments"""
  departmentRoots(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DepartmentList

  """To fetch multiple Departments"""
  departments(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DepartmentList!

  """
  Fetches a single domain entity by its unique identifier. Only superusers are granted this privilege.
  """
  domain(
    """The unique identifier of the domain to fetch."""
    id: String!
  ): Domain!

  """To fetch multiple dynamically grouped InverterSummaries"""
  domainInfo: [DomainInfo!]!

  """To fetch multiple DomainLinks"""
  domainLinks(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DomainLinkList!

  """
  Fetches the list of available domain types from configuration. Only superusers are granted this privilege.
  """
  domainTypes: [String!]!

  """
  Fetches all domain entities with pagination and filtering options. Only superusers are granted this privilege.
  """
  domains(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DomainList!

  """To fetch domains with given privilege for user"""
  domainsWithPrivilege(category: String!, privilege: String!): [Domain!]!

  """To fetch the tasks(ActivityThreads) which has done by me"""
  doneList(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityThreadList!

  """To fetch my own ActivityInstances"""
  draftList(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityInstanceList!

  """To fetch multiple appliance"""
  edges(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApplianceList!

  """
  Fetches a specific employee by their unique ID. Returns the employee object if found, or null if not found.
  """
  employee(id: String!): Employee

  """
  Fetches a list of employees based on provided query parameters. Supports searching by name, control number, and alias.
  """
  employees(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): EmployeeList!
  envVar(id: String!): EnvVar
  envVars(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): EnvVarList!

  """To fetch a Favorite"""
  favorite(id: String!): Favorite!

  """To fetch multiple BoardFavorites"""
  favoriteBoards(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): BoardFavoriteList!

  """To fetch multiple Favorites"""
  favorites(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): FavoriteList!

  """Fetches the current state of a single connection by its name."""
  fetchConnectionState(name: String!): ConnectionState!

  """Fetch data from data_oocs table from the past hour"""
  fetchRecentDataOOCS: [DataOOCS!]!

  """To fetch a Font"""
  font(id: String!): Font!

  """To fetch multiple Fonts"""
  fonts(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): FontList!

  """To fetch a work date and work shift for given datetime"""
  getWorkDateAndShift(dateTime: DateTimeISO!): WorkShiftInfo!
  grantedRoles: [GrantedRole!]!
  grantingRoles(customerId: String!): [GrantedRole!]!

  """Finds a single board group by its ID."""
  group(id: String!): Group

  """Retrieves a paginated list of board groups."""
  groups(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): GroupList!

  """To query whether I have the given permission"""
  hasPrivilege(category: String!, privilege: String!): Boolean!
  i18nCompletion(input: i18nCompletionInput!): i18nCompletionOutput!
  imageCompletion(input: ImageCompletionInput!): ImageCompletionOutput!

  """To fetch multiple InstallableActivitys"""
  installableActivities(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): InstallableActivityList!

  """To fetch a InstallableActivity"""
  installableActivity(name: String!): InstallableActivity

  """To fetch integration Analyses"""
  integrationAnalysis: Object!

  """To fetch a InverterStatus"""
  inverter(id: String!): InverterStatus

  """"""
  inverterDetailByPowerPlantId(powerPlantId: String!): [EaasInverterDetail!]

  """"""
  inverterHistoriesByDate(date: String!, dateType: String!, inverterId: String!, limit: Float!, page: Float!, powerPlantId: String!): EaasInverterHistoryList

  """"""
  inverterRtuBindingListByPowerPlantId(powerPlantId: String!): [DataSensor!]

  """"""
  inverterSeperateDailyByPowerPlantId(date: String!, powerPlantId: String!): [EaasInverterData!]

  """"""
  inverterSeperateMonthlyByPowerPlantId(date: String!, powerPlantId: String!): [EaasInverterData!]

  """"""
  inverterSeperateYearlyByPowerPlantId(date: String!, powerPlantId: String!): [EaasInverterData!]

  """"""
  inverterStatusListByPowerPlantId(powerPlantId: String!): [InverterStatus!]

  """To fetch a InverterStatus"""
  inverterSummary: InverterStatusSummary

  """"""
  inverterSummaryBetweenDate(endDate: String!, powerPlantId: String!, startDate: String!): EaasInverterSummaryBetweenDate

  """To fetch multiple dynamically grouped InverterSummaries"""
  inverterSummaryByPeriod(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination
    period: String!

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): [InverterSummary!]!

  """"""
  inverterSummaryByPowerPlantId(powerPlantId: String!): EaasInverterSummary

  """"""
  inverterSummaryDailyByPowerPlantId(date: String!, powerPlantId: String!): [EaasInverterPeriodData!]

  """"""
  inverterSummaryMonthlyByPowerPlantId(date: String!, powerPlantId: String!): [EaasInverterPeriodData!]

  """"""
  inverterSummaryYearlyByPowerPlantId(date: String!, powerPlantId: String!): [EaasInverterPeriodData!]

  """To fetch multiple InverterStatuss"""
  inverters(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): InverterStatusList!
  invitation(email: EmailAddress!, reference: String!, type: String!): Invitation!
  invitations(reference: String!, type: String!): InvitationList!

  """"""
  issueHistories(fromDate: String!, limit: Float!, page: Float!, powerPlantId: String!, toDate: String!): [IssueHistory!]

  """"""
  issueHistorySummary(fromDate: String!, powerPlantId: String!, toDate: String!): IssueHistorySummary

  """To fetch multiple LoginHistories"""
  loginHistories(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): LoginHistoryList!

  """To fetch approval lines only for to the user"""
  myApprovalLines(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ApprovalLineList!

  """To fetch current user's Favorites"""
  myFavorites: [Favorite!]!
  myLoginHistories(limit: Float!): [LoginHistory!]!

  """To fetch my notifications"""
  myNotifications(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): NotificationList!

  """To fetch a User's own PagePreference"""
  myPageAllPreferences(page: String!): [PagePreference!]

  """To fetch a User's own PagePreference"""
  myPagePreference(element: String!, page: String!): PagePreference

  """To fetch multiple PagePreferences"""
  myPagePreferences(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PagePreferenceList!

  """To fetch a PowerPlant Detail"""
  myPowerPlant: PowerPlantDetail!

  """To fetch roles of current user (id, name only)"""
  myRoles: [RoleBrief!]!

  """To fetch a User's own UserPreference"""
  myUserPreference(element: String!, key: String!): UserPreference

  """To fetch multiple UserPreferences"""
  myUserPreferences(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): UserPreferenceList!

  """To fetch a Notification"""
  notification(id: String!): Notification

  """To fetch a NotificationRule"""
  notificationRule(id: String!): NotificationRule

  """To fetch multiple NotificationRules"""
  notificationRules(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): NotificationRuleList!

  """To fetch multiple Notificationes"""
  notificationes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): NotificationList!

  """To fetch a Oauth2Client"""
  oauth2Client(id: String!): Oauth2Client

  """To fetch multiple Oauth2Clients"""
  oauth2Clients(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): Oauth2ClientList!

  """To fetch OdCloudDust"""
  odCloudDust: OdCloudDust!

  """To fetch multiple OpenWeatherCities"""
  openWeatherCities(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): OpenWeatherCityList!

  """To fetch a PagePreference"""
  pagePreference(id: String!): PagePreference

  """To fetch specific domain's CommonCodes by given name"""
  partnerCommonCode(name: String!, partnerDomainId: String!): CommonCode!

  """To fetch a PartnerSetting"""
  partnerSetting(name: String!, partnerDomainId: String!): PartnerSetting!

  """To fetch multiple PartnerSettings"""
  partnerSettings(filters: [Filter!]!, pagination: Pagination!, partnerDomain: ObjectRef!, sortings: [Sorting!]!): PartnerSettingList!
  partners(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PartnerList!

  """
  Retrieves the current password rule configuration for the system, such as required character types and minimum length.
  """
  passwordRule: PasswordRule!

  """Fetches a single payload log by its ID."""
  payloadLog(id: String!): PayloadLog!

  """Fetches a paginated list of payload logs."""
  payloadLogs(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PayloadLogList!

  """To get list of activity instance that a user can pick"""
  pickableActivityList(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityInstanceList!

  """Finds a single play group by its ID."""
  playGroup(id: String!): PlayGroup

  """Finds a single play group by its name."""
  playGroupByName(name: String!): PlayGroup

  """Retrieves a paginated list of play groups."""
  playGroups(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PlayGroupList!

  """To fetch a PowerPlant Detail"""
  powerPlantDetail(id: String!): PowerPlantDetail

  """To fetch a PowerPlantGroup"""
  powerPlantGroup(id: String!): PowerPlantGroup

  """To fetch a PowerPlantGroupBinding"""
  powerPlantGroupBinding(id: String!): PowerPlantGroupBinding

  """To fetch multiple PowerPlantGroups"""
  powerPlantGroups(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PowerPlantGroupList!

  """To fetch a PowerPlant Header Info"""
  powerPlantHeaderInfo(id: String!): PowerPlantHeaderInfo

  """To fetch a PowerPlantGroupBinding"""
  powerPlantListByPowerPlantGroupId(powerPlantGroupId: String!): [PowerPlantGroupBinding!]

  """To fetch a PowerPlant Summary"""
  powerPlantSummary(id: String!): PowerPlantSummary

  """To fetch a PowerPlant"""
  powerPlants(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PowerPlantList

  """To fetch a PowerPlant List for Header"""
  powerPlantsForHeader(id: String!): [PowerPlant!]

  """To fetch a UserPreference"""
  preference(id: String!): UserPreference

  """To fetch a PrinterDevice"""
  printerDevice(id: String!): PrinterDevice!

  """To fetch multiple PrinterDevices"""
  printerDevices(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PrinterDeviceList!

  """To fetch multiple privileges"""
  privileges(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): PrivilegeList!

  """To query data in S3 using Amazon Athena SDK"""
  queryFromAthena(queryData: Object!): Any!

  """"""
  recs(fromDate: String!, limit: Float!, page: Float!, toDate: String!): SmpAndRecList

  """To fetch role"""
  role(name: String!): Role!

  """To fetch privileges of a role"""
  rolePrivileges(roleId: String!): [RolePrivilege!]!

  """To fetch multiple users"""
  roles(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): RoleList!

  """Fetches a single scenario by its ID."""
  scenario(id: String!): Scenario!

  """Fetches a single scenario instance by its name."""
  scenarioInstance(instanceName: String!): ScenarioInstance!

  """Fetches a list of all active scenario instances."""
  scenarioInstances(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ScenarioInstanceList!

  """Fetches a paginated list of scenarios."""
  scenarios(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ScenarioList!
  searchCustomers(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): DomainList!

  """
  Fetches the secure IP list (whitelist, blacklist, etc.) for the current domain. Only domain owners and superusers are granted this privilege.
  """
  secureIPList: Object

  """To fetch a Setting"""
  setting(name: String!, partnerDomainId: String): Setting!

  """To fetch multiple Settings"""
  settings(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): SettingList!

  """"""
  smps(fromDate: String!, limit: Float!, page: Float!, toDate: String!): SmpAndRecList

  """To fetch the list of activities I can start"""
  startableActivities(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityList!

  """Fetches a single state register by its ID."""
  stateRegister(id: String!): StateRegister

  """Fetches a single state register by its name."""
  stateRegisterByName(name: String!): StateRegister

  """Fetches a paginated list of state registers."""
  stateRegisters(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): StateRegisterList!

  """To fetch multiple dynamically grouped InverterSummaries"""
  statusByDomainQuery: [InverterStatus!]!

  """Fetches a single scenario step by its name."""
  step(name: String!): Step!

  """Fetches a paginated list of scenario steps."""
  steps(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): StepList!

  """To fetch multiple dynamically grouped InverterSummaries"""
  summaryByDomainQuery: [SummaryData!]!

  """To fetch the list of activities that I can report on"""
  supervisableActivities(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityList!

  """Fetches a single task type by its name."""
  taskType(name: String!): TaskType!

  """Fetches a list of all available task types."""
  taskTypes: TaskTypeList!

  """
  Fetches a list of task types that are compatible with a specific connection.
  """
  taskTypesByConnection(connectionName: String!): TaskTypeList!

  """To fetch multiple Terminologies"""
  terminologies(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): TerminologyList!

  """To fetch a Terminology"""
  terminology(id: String!): Terminology!

  """Finds a single theme by its ID."""
  theme(id: String!): Theme

  """Retrieves a paginated list of themes."""
  themes(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ThemeList!

  """"""
  thisMonthSmpAndRec: ThisMonthSmpAndRec

  """To fetch a TodayRec for Header"""
  todayRec: TodaySmpRec

  """To fetch a TodaySmp for Header"""
  todaySmp: TodaySmpRec

  """To fetch my own ActivityThreads"""
  todoList(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): ActivityThreadList!

  """Fetches a user by their email address within the current domain."""
  user(
    """The email address of the user to fetch."""
    email: EmailAddress!
  ): User!

  """To fetch roles of a user"""
  userRoles(userId: String!): [UserRole!]!

  """
  Fetches a list of users based on provided search parameters within the current domain.
  """
  users(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): UserList!
  vendors: [Domain!]!

  """To fetch WeatherMaru of dateType data"""
  weatherMaruByDateType(dateType: DateType!): WeatherMaru!

  """To fetch WeatherMaru of hour data"""
  weatherMaruByHour(dateType: DateType!, hour: String!): WeatherMaru!

  """To fetch multiple WorkShifts"""
  workShifts(
    """An array of filter conditions to apply to the list query."""
    filters: [Filter!]

    """Inherited value type for the list query."""
    inherited: InheritedValueType

    """Pagination options for the list query."""
    pagination: Pagination

    """Sorting options for the list query."""
    sortings: [Sorting!]
  ): WorkShiftList!
}

type RecipientItem {
  recipient: OrgMemberTarget
  type: OrgMemberTargetType
  value: String
}

"""
A role that groups a set of privileges, which can be assigned to users.
"""
type Role {
  """The timestamp when the role was created."""
  createdAt: DateTimeISO

  """The user who created the role."""
  creator: User

  """A description of the role."""
  description: String

  """The domain to which the role belongs."""
  domain: Domain!

  """Unique identifier for the role."""
  id: ID!

  """The name of the role."""
  name: String

  """Privileges granted by this role."""
  privileges: [Privilege!]

  """The timestamp when the role was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the role."""
  updater: User

  """Users who are assigned this role."""
  users: [User!]
}

"""A brief summary of a role, containing only the ID and name."""
type RoleBrief {
  """The unique identifier of the role."""
  id: String

  """The name of the role."""
  name: String
}

"""A paginated list of roles."""
type RoleList {
  """The list of role items."""
  items: [Role!]

  """The total number of roles."""
  total: Int
}

"""Input for updating (patching) an existing role."""
input RolePatch {
  """
  A flag indicating whether the role is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the role."""
  description: String

  """The unique identifier of the role to update."""
  id: String

  """The new name for the role."""
  name: String

  """A new list of privileges to be granted by the role."""
  privileges: [ObjectRef!]

  """A new list of users to be assigned to the role."""
  users: [ObjectRef!]
}

"""Represents a privilege and whether it is assigned to a specific role."""
type RolePrivilege {
  """Indicates whether the privilege is assigned to the role."""
  assigned: Boolean

  """The category of the privilege."""
  category: String

  """A description of the privilege."""
  description: String

  """The unique identifier of the privilege."""
  id: String

  """The name of the privilege."""
  name: String
}

"""Represents a sequence of steps designed to automate a task or process."""
type Scenario {
  """
  Indicates if the scenario should be automatically started when the server starts.
  """
  active: Boolean
  connectionNames: [Connection!]!

  """The timestamp when the scenario was created."""
  createdAt: DateTimeISO

  """The user who created the scenario."""
  creator: User

  """A detailed description of the scenario."""
  description: String

  """The domain to which this scenario belongs."""
  domain: Domain!

  """Unique identifier for the scenario."""
  id: ID!
  instances: [ScenarioInstance!]

  """Iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN."""
  iteration: String

  """The name of the scenario."""
  name: String!

  """Privilege required to execute the scenario."""
  privilege: PrivilegeObject

  """Indicates if the scenario is accessible and executable system-wide."""
  public: Boolean
  publishTags: [Connection!]!

  """Role required to execute the scenario."""
  role: Role

  """A cron-style schedule for running the scenario automatically."""
  schedule: String

  """The ID of the scheduled job, if any."""
  scheduleId: String
  state: String

  """The sequence of steps that make up the scenario."""
  steps: [Step!]

  """The timezone for the schedule."""
  timezone: String

  """Time-to-live in seconds for scenario instances."""
  ttl: Float

  """The type of the scenario, used for categorization."""
  type: String

  """The timestamp when the scenario was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the scenario."""
  updater: User
}

"""Represents a running or completed instance of a scenario."""
type ScenarioInstance {
  """A key-value map of data generated and used by the instance."""
  data: Object

  """The domain in which the instance is running."""
  domain: Domain

  """The unique name for this specific instance of the scenario."""
  instanceName: String

  """A message associated with the current state (e.g., an error message)."""
  message: String

  """The current progress of the instance."""
  progress: ScenarioInstanceProgress

  """The final result of the scenario run."""
  result: Object

  """The root scenario instance if this is a sub-scenario."""
  root: ScenarioInstance

  """The name of the scenario being executed."""
  scenarioName: String

  """The current execution state of the instance."""
  state: String

  """The timestamp of the last update."""
  timestamp: DateTimeISO

  """The user who initiated the instance."""
  user: User

  """A key-value map of variables used in the instance."""
  variables: Object
}

"""A paginated list of scenario instances."""
type ScenarioInstanceList {
  """The list of scenario instance items."""
  items: [ScenarioInstance!]!

  """The total number of scenario instances."""
  total: Int!
}

"""Provides progress information for a running scenario instance."""
type ScenarioInstanceProgress {
  """The completion rate of the scenario as a percentage."""
  rate: Int!

  """The number of rounds the scenario has completed."""
  rounds: Int!

  """The current step number being executed."""
  step: Int!

  """The total number of steps in the scenario."""
  steps: Int!
}

"""Contains the final result of a completed scenario instance run."""
type ScenarioInstanceRunResult {
  """The final set of data after the run."""
  data: Object

  """The unique name of the instance that was run."""
  instanceName: String

  """A final message from the run (e.g., success or failure reason)."""
  message: String

  """The final result returned by the scenario."""
  result: Object

  """The name of the scenario that was executed."""
  scenarioName: String

  """The final state of the instance after the run."""
  state: String

  """The timestamp when the run completed."""
  timestamp: DateTimeISO

  """The final set of variables after the run."""
  variables: Object
}

"""Contains the final result of a completed scenario instance start."""
type ScenarioInstanceStartResult {
  """A final message from the run (e.g., success or failure reason)."""
  message: String

  """The final state of the instance after the run."""
  state: String

  """The timestamp when the instance started."""
  timestamp: DateTimeISO
}

"""
Represents the complete state of a scenario instance at a point in time.
"""
type ScenarioInstanceState {
  """A key-value map of data generated and used by the instance."""
  data: Object

  """The domain in which the instance is running."""
  domain: Domain

  """The unique name of this specific instance."""
  instanceName: String

  """A message associated with the current state (e.g., an error message)."""
  message: String

  """The progress of the running instance."""
  progress: ScenarioInstanceProgress

  """The name of the scenario being executed."""
  scenarioName: String

  """The current execution state of the instance."""
  state: ScenarioInstanceStatus

  """The timestamp when this state was recorded."""
  timestamp: DateTimeISO

  """A key-value map of variables used in the instance."""
  variables: Object
}

"""Enumeration of possible states for a scenario instance."""
enum ScenarioInstanceStatus {
  HALTED
  READY
  STARTED
  STOPPED
  UNLOADED
}

"""A paginated list of scenarios."""
type ScenarioList {
  """The list of scenario items."""
  items: [Scenario!]!

  """The total number of scenarios."""
  total: Int!
}

"""Input for updating (patching) an existing scenario."""
input ScenarioPatch {
  """
  Indicates if the scenario should be automatically started when the server starts.
  """
  active: Boolean

  """
  A flag indicating whether the scenario is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the scenario."""
  description: String

  """The unique identifier of the scenario to update."""
  id: ID

  """
  The new iteration for scenario execution: SELF, CHILDREN, or SELF & CHILDREN.
  """
  iteration: String

  """The new name for the scenario."""
  name: String

  """The new role for the scenario."""
  role: ObjectRef

  """The new schedule for the scenario."""
  schedule: String

  """A list of steps to be updated within the scenario."""
  steps: [StepPatch!]

  """The new timezone for the scenario."""
  timezone: String

  """The new time-to-live for scenario instances."""
  ttl: Float

  """The new type for the scenario."""
  type: String
}

"""Represents the state of a scenario queue for a specific domain."""
type ScenarioQueueState {
  """The domain to which this queue state belongs."""
  domain: Domain!

  """The list of pending items in the queue."""
  queue: [PendingObject!]!
}

"""Entity for Setting"""
type Setting {
  category: String!
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  id: ID!
  name: String!
  updatedAt: DateTimeISO
  updater: User
  value: String
}

type SettingList {
  items: [Setting!]!
  total: Int!
}

input SettingPatch {
  category: String
  cuFlag: String
  description: String
  id: ID
  name: String
  value: String
}

type SmpAndRec {
  """오늘의 평균"""
  AVG_PRC: Float

  """오늘의 최고"""
  HIGH_PRC: Float

  """오늘의 최저"""
  LOW_PRC: Float

  """날짜"""
  date: String
}

type SmpAndRecList {
  items: [SmpAndRec!]!
  total: Int!
}

"""Input type for specifying sorting options in a list query."""
input Sorting {
  """Set to true for descending order. Default is false (ascending)."""
  desc: Boolean

  """The field name to sort the results by."""
  name: String!
}

"""
Represents a key-value store for maintaining the state of various entities within a domain.
"""
type StateRegister {
  """
  Whether to automatically publish state changes. If true, state changes will be published using the name as the tag.
  """
  autoPublish: Boolean

  """Creation time of the state register"""
  createdAt: DateTimeISO

  """User who created the state register"""
  creator: User

  """ID of the user who created the state register"""
  creatorId: String

  """Description of the state register"""
  description: String

  """Associated domain for the state register"""
  domain: Domain!

  """ID of the associated domain"""
  domainId: String!

  """Group name for the state register"""
  group: String

  """Unique identifier for the state register."""
  id: ID!

  """
  Name of the state register. If autoPublish is enabled, this name is used as the publish tag.
  """
  name: String

  """Number of decimal places if the state is a number type"""
  place: String

  """
  Reference to an external entity or data, used as a flexible foreign key
  """
  refBy: String

  """Current state value"""
  state: Object

  """Time to live for the state value in seconds"""
  ttl: Int

  """Type of the state"""
  type: String

  """Unit of the state value"""
  unit: String

  """Last update time of the state register"""
  updatedAt: DateTimeISO

  """User who last updated the state register"""
  updater: User

  """ID of the user who last updated the state register"""
  updaterId: String

  """User who wrote the state"""
  writer: User

  """ID of the user who wrote the state"""
  writerId: String

  """Time when the state was recorded"""
  wroteAt: DateTimeISO
}

"""A paginated list of state registers."""
type StateRegisterList {
  """List of state registers"""
  items: [StateRegister!]!

  """Total number of state registers"""
  total: Int!
}

"""Input for updating (patching) an existing state register."""
input StateRegisterPatch {
  """
  Whether to automatically publish state changes. If true, state changes will be published using the name as the tag.
  """
  autoPublish: Boolean

  """Flag indicating create/update operations"""
  cuFlag: String

  """Description of the state register"""
  description: String

  """Group name for the state register"""
  group: String

  """ID of the state register"""
  id: ID

  """
  Name of the state register. If autoPublish is enabled, this name is used as the publish tag.
  """
  name: String

  """Number of decimal places if the state is a number type"""
  place: String

  """
  Reference to an external entity or data, used as a flexible foreign key
  """
  refBy: String

  """Current state value"""
  state: Object

  """Time to live for the state value in seconds"""
  ttl: Int

  """Type of the state"""
  type: String

  """Unit of the state value"""
  unit: String
}

"""
Represents a single step within a scenario, defining a specific task to be executed.
"""
type Step {
  """The name of the connection to be used for this step."""
  connection: String

  """The timestamp when the step was created."""
  createdAt: DateTimeISO

  """The user who created this step."""
  creator: User

  """A detailed description of what the step involves."""
  description: String

  """The domain to which this step belongs."""
  domain: Domain

  """The unique identifier for the step."""
  id: ID!

  """Indicates if the step execution should be logged."""
  log: Boolean

  """The name of the step."""
  name: String!

  """A key-value map of parameters for the step task."""
  params: Object

  """
  A boolean attribute indicating whether the result of this step should be included in the final output.
  """
  result: Boolean

  """The scenario that includes this step."""
  scenario: Scenario

  """The sequence number of the step within its scenario."""
  sequence: Float

  """Indicates if the step should be skipped during execution."""
  skip: Boolean

  """The specific task type associated with this step."""
  task: String

  """The timestamp when the step was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated this step."""
  updater: User
}

"""A paginated list of steps."""
type StepList {
  """The list of step items."""
  items: [Step!]!

  """The total number of steps."""
  total: Int!
}

"""Input for updating (patching) an existing step."""
input StepPatch {
  """The new connection for the step."""
  connection: String

  """
  A flag indicating whether the step is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the step."""
  description: String

  """The unique identifier of the step to update."""
  id: ID

  """The new log status for the step."""
  log: Boolean

  """The new name for the step."""
  name: String

  """The new parameters for the step."""
  params: Object

  """The new result inclusion status for the step."""
  result: Boolean

  """The new sequence number for the step."""
  sequence: Int

  """The new skip status for the step."""
  skip: Boolean

  """The new task type for the step."""
  task: String
}

type Subscription {
  activityApproval: ActivityApproval!
  activityInstance: ActivityInstance!
  activityThread: ActivityThread!

  """Subscribes to real-time updates for a specific board."""
  board(id: String!): Board!

  """Subscribes to log messages from connections."""
  connectionLog(level: String): Log!

  """Subscribes to the state changes of connections."""
  connectionState(name: String): ConnectionState!
  data(tag: String!): Data!

  """
  Real-time subscription for out-of-control (OOC) events. Users with supervisory roles receive immediate notifications when OOC events occur in their domain.
  """
  dataOoc: DataOoc!
  notification(subjects: [String!]): Notification!

  """Subscribes to real-time updates for a specific play group."""
  playGroup(id: String!): PlayGroup!

  """Subscribes to log messages from scenario instances."""
  scenarioInstanceLog(instanceName: String, level: String, scenarioName: String): Log!

  """Subscribes to state changes from scenario instances."""
  scenarioInstanceState(instanceName: String, scenarioName: String): ScenarioInstanceState!

  """Subscribes to changes in the scenario queue."""
  scenarioQueueState: ScenarioQueueState!
}

"""SummaryData"""
type SummaryData {
  data01: String
  data02: String
  data03: String
  data04: String
  domainId: String
  domainName: String
  key01: String
}

"""Describes a type of task that can be used in a scenario."""
type TaskType {
  """Indicates whether this task type can be used without a connector."""
  connectorFree: Boolean

  """A brief description of what the task does."""
  description: String

  """A URL or text providing more detailed help information."""
  help: String

  """The unique name of the task type."""
  name: String!

  """A list of parameters that can be configured for this task type."""
  parameterSpec: [PropertySpec!]
}

"""A paginated list of task types."""
type TaskTypeList {
  """The list of task type items."""
  items: [TaskType!]!

  """The total number of task types."""
  total: Int!
}

"""Entity for Terminology"""
type Terminology {
  category: String!
  createdAt: DateTimeISO
  creator: User
  description: String
  display: String!
  domain: Domain!
  id: ID!
  locale: String!
  name: String!
  updatedAt: DateTimeISO
  updater: User
}

type TerminologyList {
  items: [Terminology!]!
  total: Int!
}

input TerminologyPatch {
  category: String
  cuFlag: String
  description: String
  display: String
  id: ID
  locale: String
  name: String
}

"""
Represents a visual theme or style that can be applied to dashboard components.
"""
type Theme {
  """Indicates whether the theme is currently active and available for use."""
  active: Boolean

  """The timestamp when the theme was created."""
  createdAt: DateTimeISO

  """The user who created the theme."""
  creator: User

  """The timestamp when the theme was soft-deleted."""
  deletedAt: DateTimeISO

  """A detailed description of the theme."""
  description: String

  """The domain to which this theme belongs."""
  domain: Domain!

  """Unique identifier for the theme."""
  id: ID!

  """The name of the theme."""
  name: String

  """The type of the theme (e.g., Legend)."""
  type: String

  """The timestamp when the theme was last updated."""
  updatedAt: DateTimeISO

  """The user who last updated the theme."""
  updater: User

  """A JSON object containing the theme-specific style values."""
  value: Object
}

"""A paginated list of themes."""
type ThemeList {
  """The list of theme items."""
  items: [Theme!]!

  """The total number of themes."""
  total: Int!
}

"""Input for updating (patching) an existing theme."""
input ThemePatch {
  """The new active status for the theme."""
  active: Boolean

  """
  A flag indicating whether the theme is being created, updated, or deleted.
  """
  cuFlag: String

  """The new description for the theme."""
  description: String

  """The unique identifier of the theme to update."""
  id: ID

  """The new name for the theme."""
  name: String

  """The new type for the theme."""
  type: String

  """The new JSON object of style values for the theme."""
  value: Object
}

type ThisMonthSmpAndRec {
  REC: SmpAndRec!
  SMP: SmpAndRec!
}

type TodaySmpRec {
  """오늘의 평균 SMP/REC"""
  AVG_PRC: Float

  """오늘의 최고 SMP/REC"""
  HIGH_PRC: Float

  """오늘의 최저 SMP/REC"""
  LOW_PRC: Float

  """거래 날짜"""
  TRAD_DAY: String

  """도메인(발전소) ID"""
  powerPlantId: String
}

"""The `Upload` scalar type represents a file upload."""
scalar Upload

type UploadURL {
  fields: Any!
  url: String!
}

"""
Represents a user account in the system, including authentication, roles, and domain associations.
"""
type User {
  """Timestamp when the user account was created."""
  createdAt: DateTimeISO

  """User who created this user account."""
  creator: User

  """Optional description or note about the user."""
  description: String

  """Domains (organizations, companies, etc.) the user belongs to."""
  domains: [Domain!]!

  """Email address of the user."""
  email: EmailAddress!

  """Unique identifier for the user."""
  id: ID!

  """Locale or language preference for the user."""
  locale: String

  """Full name of the user."""
  name: String

  """Whether the user is the owner of the domain (not persisted in DB)."""
  owner: Boolean

  """Reference information for the user (external system, etc.)."""
  reference: String

  """Roles assigned to the user."""
  roles: [Role!]!

  """Single sign-on (SSO) identifier for federated authentication."""
  ssoId: String

  """Current status of the user account."""
  status: String!

  """Timestamp when the user account was last updated."""
  updatedAt: DateTimeISO

  """User who last updated this user account."""
  updater: User

  """Type or category of the user (e.g., user, application, appliance)."""
  userType: String

  """Unique username for the user."""
  username: String

  """External authentication providers linked to the user."""
  usersAuthProviders: [UsersAuthProviders!]
}

"""A paginated list of users and the total count."""
type UserList {
  """List of user objects."""
  items: [User!]

  """Total number of users matching the query."""
  total: Int
}

"""Input type for updating (patching) an existing user account."""
input UserPatch {
  """
  Change flag for tracking updates (e.g., C/U/D for create/update/delete).
  """
  cuFlag: String

  """Optional description or note about the user."""
  description: String

  """Domains associated with the user."""
  domains: [ObjectRef!]

  """Email address of the user."""
  email: EmailAddress

  """Unique identifier of the user to update."""
  id: ID

  """Full name of the user."""
  name: String

  """Password for the user account."""
  password: String

  """Roles assigned to the user."""
  roles: [ObjectRef!]

  """Status of the user account (e.g., active, inactive)."""
  status: String

  """Type or category of the user (e.g., admin, operator, guest)."""
  userType: String
}

"""Entity for UserPreference"""
type UserPreference {
  createdAt: DateTimeISO
  creator: User
  domain: Domain
  id: ID!
  key: String
  preference: Object
  updatedAt: DateTimeISO
  updater: User
  user: User!
}

type UserPreferenceList {
  items: [UserPreference!]!
  total: Int!
}

input UserPreferencePatch {
  cuFlag: String
  id: ID
  key: String!
  preference: Object!
  user: ObjectRef!
}

"""Represents a role and whether it is assigned to a specific user."""
type UserRole {
  """Indicates whether the role is assigned to the user."""
  assigned: Boolean

  """A description of the role."""
  description: String

  """The unique identifier of the role."""
  id: String

  """The name of the role."""
  name: String
}

"""
Represents the link between a user and an external authentication provider.
"""
type UsersAuthProviders {
  """The authentication provider associated with this link."""
  authProvider: AuthProvider

  """The timestamp when this link was created."""
  createdAt: DateTimeISO

  """The domain to which this link belongs."""
  domain: Domain!

  """Unique identifier for the user-provider link."""
  id: ID!

  """
  The unique identifier for the user from the external provider (SSO ID).
  """
  ssoId: String

  """The timestamp when this link was last updated."""
  updatedAt: DateTimeISO

  """The user associated with this link."""
  user: User
}

"""Entity for Weather Maru"""
type WeatherMaru {
  baseDate: DateTimeISO
  data: Object
  dateType: String
  id: ID!
  time05: Object
  time06: Object
  time07: Object
  time08: Object
  time09: Object
  time10: Object
  time11: Object
  time12: Object
  time13: Object
  time14: Object
  time15: Object
  time16: Object
  time17: Object
  time18: Object
  time19: Object
  time20: Object
  updatedAt: DateTimeISO
  updater: User
}

"""Entity for WorkShift"""
type WorkShift {
  createdAt: DateTimeISO
  creator: User
  description: String
  domain: Domain!
  fromDate: Float
  fromTime: String
  id: ID!
  name: String!
  toDate: Float
  toTime: String
  updatedAt: DateTimeISO
  updater: User
}

type WorkShiftInfo {
  dateRange: [DateTimeISO!]
  shiftRange: [DateTimeISO!]
  workDate: String
  workShift: String
}

type WorkShiftList {
  items: [WorkShift!]!
  total: Int!
}

input WorkShiftPatch {
  description: String
  fromDate: Float!
  fromTime: String!
  name: String!
  toDate: Float!
  toTime: String!
}

input i18nCompletionInput {
  json: String!
}

type i18nCompletionOutput {
  message: String
}