type Query {
  """
  List all available log files
  """
  logFiles: [LogFile!]!

  """
  Get the content of a specific log file
  @param path Path to the log file
  @param lines Number of lines to read from the end of the file (default: 100)
  @param startLine Optional starting line number (1-indexed)
  """
  logFile(path: String!, lines: Int, startLine: Int): LogFileContent!
}

type Subscription {
  """
  Subscribe to changes in a log file
  @param path Path to the log file
  """
  logFile(path: String!): LogFileContent!
}

"""
Represents a log file in the system
"""
type LogFile {
  """
  Name of the log file
  """
  name: String!

  """
  Full path to the log file
  """
  path: String!

  """
  Size of the log file in bytes
  """
  size: Int!

  """
  Last modified timestamp
  """
  modifiedAt: DateTime!
}

"""
Content of a log file
"""
type LogFileContent {
  """
  Path to the log file
  """
  path: String!

  """
  Content of the log file
  """
  content: String!

  """
  Total number of lines in the file
  """
  totalLines: Int!
  
  """
  Starting line number of the content (1-indexed)
  """
  startLine: Int
} 