query RunParamInfo {
  runParameterInfo
}

query RunStatus($runId: String!) {
  run(runId: $runId) {
    status
  }
}

query PullRun($runId: String!) {
  run(runId: $runId) {
    runId
    passPercentage
    status
    textSummary
    timestamp
    completedAt
    archived
    typedParameters {
      evalModel
      maximumThreads
      runGoldenEval
      runConfidenceEvaluation
      heavyweightFactor
      createTextSummary
      modelUnderTest
      temperature
      maxOutputTokens
      systemPrompt
      newLineStopOption
    }
    passRate {
      value
      error
    }
    successRate {
      value
      error
    }
    testSuite {
      id
      title
    }
  }

  testResults(runId: $runId) {
    id
    llmOutput
    passPercentage
    passPercentageWithOptional
    resultJson
    qaPair {
      context
      outputContext
    }
    test {
      testId
      inputUnderTest
      context
    }
    metadata
  }
}

query ListRuns(
  $archived: Boolean
  $suiteId: String
  $limit: Int
  $offset: Int
) {
  runsWithCount(
    filterOptions: {
      archived: $archived
      suiteId: $suiteId
      limit: $limit
      offset: $offset
      sortBy: STARTED_AT
    }
  ) {
    runResults {
      runId
      passPercentage
      passRate {
        value
        error
      }
      successRate {
        value
        error
      }
      name
      status
      textSummary
      timestamp
      completedAt
      archived
      typedParameters {
        evalModel
        maximumThreads
        runGoldenEval
        runConfidenceEvaluation
        heavyweightFactor
        createTextSummary
        modelUnderTest
        temperature
        maxOutputTokens
        systemPrompt
        newLineStopOption
      }
      testSuite {
        title
      }
    }
  }
}
