scalar Datetime

type Query {
  hello: String!
  helloDb: String
  stateChanges: [StateChange!]
  globalState: String!
  source(fileName: String): [String]
  sourceLine(lineNo: Int!, fileName: String): String
  exception: String
}

type Subscription {
  counter: Int!
  globalState: String!
  threadTaskIds: [ThreadTaskId!]!
  threadTaskState(threadId: String!, taskId: String): ThreadTaskState
  stdout: String
}

type Mutation {
  exec: Boolean!
  reset(statement: String): Boolean!
  close: Boolean!
  sendPdbCommand(threadId: String!, taskId: String, command: String!): Boolean!
  updateHelloDbMessage(message: String!): Boolean!
}

type ThreadTaskId {
  threadId: String!
  taskId: String
}

type ThreadTaskState {
  prompting: Int
  fileName: String
  lineNo: Int
  traceEvent: String
}

type StateChange {
  name: String
  time: Datetime
}