{"owner":"dagster-io","repo":"dagster","hasSpec":true,"specFile":"js_modules/ui-core/src/graphql/schema.graphql","branch":"HEAD","format":"graphql","version":"Unknown","title":"dagster","description":"","endpoints":[],"spec":"interface DisplayableEvent {\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n}\n\ntype EngineEvent implements MessageEvent & DisplayableEvent & StepEvent & MarkerEvent & ErrorEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  markerStart: String\n  markerEnd: String\n  error: PythonError\n}\n\ninterface MarkerEvent {\n  markerStart: String\n  markerEnd: String\n}\n\ninterface ErrorEvent {\n  error: PythonError\n}\n\nenum DagsterEventType {\n  STEP_OUTPUT\n  STEP_INPUT\n  STEP_FAILURE\n  STEP_START\n  STEP_SUCCESS\n  STEP_SKIPPED\n  STEP_WORKER_STARTING\n  STEP_WORKER_STARTED\n  RESOURCE_INIT_STARTED\n  RESOURCE_INIT_SUCCESS\n  RESOURCE_INIT_FAILURE\n  STEP_UP_FOR_RETRY\n  STEP_RESTARTED\n  ASSET_MATERIALIZATION\n  ASSET_MATERIALIZATION_PLANNED\n  ASSET_FAILED_TO_MATERIALIZE\n  ASSET_OBSERVATION\n  STEP_EXPECTATION_RESULT\n  ASSET_CHECK_EVALUATION_PLANNED\n  ASSET_CHECK_EVALUATION\n  ASSET_HEALTH_CHANGED\n  ASSET_WIPED\n  RUN_ENQUEUED\n  RUN_DEQUEUED\n  RUN_STARTING\n  RUN_START\n  RUN_SUCCESS\n  RUN_FAILURE\n  RUN_CANCELING\n  RUN_CANCELED\n  PIPELINE_ENQUEUED\n  PIPELINE_DEQUEUED\n  PIPELINE_STARTING\n  PIPELINE_START\n  PIPELINE_SUCCESS\n  PIPELINE_FAILURE\n  PIPELINE_CANCELING\n  PIPELINE_CANCELED\n  OBJECT_STORE_OPERATION\n  ASSET_STORE_OPERATION\n  LOADED_INPUT\n  HANDLED_OUTPUT\n  ENGINE_EVENT\n  HOOK_COMPLETED\n  HOOK_ERRORED\n  HOOK_SKIPPED\n  ALERT_START\n  ALERT_SUCCESS\n  ALERT_FAILURE\n  LOGS_CAPTURED\n  FRESHNESS_STATE_EVALUATION\n  FRESHNESS_STATE_CHANGE\n  CODE_LOCATION_UPDATED\n}\n\ntype ExecutionStepFailureEvent implements MessageEvent & StepEvent & ErrorEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  error: PythonError\n  errorSource: ErrorSource\n  failureMetadata: FailureMetadata\n}\n\nenum ErrorSource {\n  FRAMEWORK_ERROR\n  USER_CODE_ERROR\n  UNEXPECTED_ERROR\n  INTERRUPT\n}\n\ntype ExecutionStepInputEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  inputName: String!\n  typeCheck: TypeCheck!\n}\n\ntype ExecutionStepOutputEvent implements MessageEvent & StepEvent & DisplayableEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  outputName: String!\n  typeCheck: TypeCheck!\n}\n\ntype ExecutionStepRestartEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ntype ExecutionStepSkippedEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ntype ExecutionStepStartEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ntype ExecutionStepSuccessEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ntype ExecutionStepUpForRetryEvent implements MessageEvent & StepEvent & ErrorEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  error: PythonError\n  secondsToWait: Float\n}\n\ntype ExpectationResult implements DisplayableEvent {\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  success: Boolean!\n}\n\ntype FailureMetadata implements DisplayableEvent {\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n}\n\ntype HandledOutputEvent implements MessageEvent & StepEvent & DisplayableEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  outputName: String!\n  managerKey: String!\n}\n\ntype HookCompletedEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ntype HookErroredEvent implements MessageEvent & StepEvent & ErrorEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  error: PythonError\n}\n\ntype HookSkippedEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ntype LoadedInputEvent implements MessageEvent & StepEvent & DisplayableEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  inputName: String!\n  managerKey: String!\n  upstreamOutputName: String\n  upstreamStepKey: String\n}\n\nenum LogLevel {\n  CRITICAL\n  ERROR\n  INFO\n  WARNING\n  DEBUG\n}\n\ntype LogMessageEvent implements MessageEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ninterface MessageEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n}\n\ntype MissingRunIdErrorEvent {\n  invalidRunId: String!\n}\n\ntype ObjectStoreOperationEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  operationResult: ObjectStoreOperationResult!\n}\n\ntype ObjectStoreOperationResult implements DisplayableEvent {\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  op: ObjectStoreOperationType!\n}\n\nenum ObjectStoreOperationType {\n  SET_OBJECT\n  GET_OBJECT\n  RM_OBJECT\n  CP_OBJECT\n}\n\ntype RunCanceledEvent implements MessageEvent & RunEvent & ErrorEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n  error: PythonError\n}\n\ntype RunCancelingEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype RunDequeuedEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype RunEnqueuedEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype RunFailureEvent implements MessageEvent & RunEvent & ErrorEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n  error: PythonError\n}\n\ninterface RunEvent {\n  pipelineName: String!\n}\n\ninterface PipelineRunStepStats {\n  runId: String!\n  stepKey: String!\n  status: StepEventStatus\n  startTime: Float\n  endTime: Float\n  materializations: [MaterializationEvent!]!\n  expectationResults: [ExpectationResult!]!\n}\n\nenum StepEventStatus {\n  SKIPPED\n  SUCCESS\n  FAILURE\n  IN_PROGRESS\n}\n\ntype ResourceInitFailureEvent implements MessageEvent & DisplayableEvent & StepEvent & MarkerEvent & ErrorEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  markerStart: String\n  markerEnd: String\n  error: PythonError\n}\n\ntype ResourceInitStartedEvent implements MessageEvent & DisplayableEvent & StepEvent & MarkerEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  markerStart: String\n  markerEnd: String\n}\n\ntype ResourceInitSuccessEvent implements MessageEvent & DisplayableEvent & StepEvent & MarkerEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  markerStart: String\n  markerEnd: String\n}\n\ntype RunStepStats implements PipelineRunStepStats {\n  runId: String!\n  stepKey: String!\n  status: StepEventStatus\n  startTime: Float\n  endTime: Float\n  materializations: [MaterializationEvent!]!\n  expectationResults: [ExpectationResult!]!\n  attempts: [RunMarker!]!\n  markers: [RunMarker!]!\n}\n\ntype RunMarker {\n  startTime: Float\n  endTime: Float\n}\n\ntype RunStartEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype RunStartingEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype RunSuccessEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ninterface StepEvent {\n  stepKey: String\n  solidHandleID: String\n}\n\ntype StepExpectationResultEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  expectationResult: ExpectationResult!\n}\n\ntype StepWorkerStartedEvent implements MessageEvent & DisplayableEvent & StepEvent & MarkerEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  markerStart: String\n  markerEnd: String\n}\n\ntype StepWorkerStartingEvent implements MessageEvent & DisplayableEvent & StepEvent & MarkerEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  markerStart: String\n  markerEnd: String\n}\n\ntype MaterializationEvent implements MessageEvent & StepEvent & DisplayableEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  assetKey: AssetKey\n  runOrError: RunOrError!\n  stepStats: RunStepStats!\n  partition: String\n  tags: [EventTag!]!\n  assetLineage: [AssetLineageInfo!]!\n}\n\ntype EventTag {\n  key: String!\n  value: String!\n}\n\ntype AssetLineageInfo {\n  assetKey: AssetKey!\n  partitions: [String!]!\n}\n\ntype ObservationEvent implements MessageEvent & StepEvent & DisplayableEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  assetKey: AssetKey\n  runOrError: RunOrError!\n  stepStats: RunStepStats!\n  partition: String\n  tags: [EventTag!]!\n}\n\ntype TypeCheck implements DisplayableEvent {\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  success: Boolean!\n}\n\ntype AssetMaterializationPlannedEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n  assetKey: AssetKey\n  runOrError: RunOrError!\n}\n\ntype Asset {\n  id: String!\n  key: AssetKey!\n  assetMaterializations(\n    partitions: [String!]\n    beforeTimestampMillis: String\n    afterTimestampMillis: String\n    limit: Int\n  ): [MaterializationEvent!]!\n  assetObservations(\n    partitions: [String!]\n    beforeTimestampMillis: String\n    afterTimestampMillis: String\n    limit: Int\n  ): [ObservationEvent!]!\n  assetEventHistory(\n    partitions: [String!]\n    beforeTimestampMillis: String\n    afterTimestampMillis: String\n    limit: Int!\n    eventTypeSelectors: [AssetEventHistoryEventTypeSelector!]!\n    cursor: String\n  ): AssetResultEventHistoryConnection!\n  definition: AssetNode\n  latestEventSortKey: ID\n  assetHealth: AssetHealth\n  latestMaterializationTimestamp: Float\n  latestObservationTimestamp: Float\n  hasDefinitionOrRecord: Boolean!\n  latestFailedToMaterializeTimestamp: Float\n  freshnessStatusChangedTimestamp: Float\n}\n\ntype AssetResultEventHistoryConnection {\n  results: [AssetResultEventType!]!\n  cursor: String!\n}\n\nunion AssetResultEventType = FailedToMaterializeEvent | MaterializationEvent | ObservationEvent\n\ntype FailedToMaterializeEvent implements MessageEvent & StepEvent & DisplayableEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  assetKey: AssetKey\n  runOrError: RunOrError!\n  stepStats: RunStepStats!\n  partition: String\n  tags: [EventTag!]!\n  materializationFailureReason: AssetMaterializationFailureReason!\n  materializationFailureType: AssetMaterializationFailureType!\n}\n\nenum AssetMaterializationFailureReason {\n  FAILED_TO_MATERIALIZE\n  UPSTREAM_FAILED_TO_MATERIALIZE\n  RUN_TERMINATED\n  UNKNOWN\n}\n\nenum AssetMaterializationFailureType {\n  FAILED\n  SKIPPED\n}\n\nenum AssetEventHistoryEventTypeSelector {\n  MATERIALIZATION\n  FAILED_TO_MATERIALIZE\n  OBSERVATION\n}\n\ntype AssetNode {\n  assetKey: AssetKey!\n  assetMaterializations(\n    partitions: [String!]\n    beforeTimestampMillis: String\n    limit: Int\n  ): [MaterializationEvent!]!\n  assetMaterializationUsedData(timestampMillis: String!): [MaterializationUpstreamDataVersion!]!\n  assetObservations(\n    partitions: [String!]\n    beforeTimestampMillis: String\n    limit: Int\n  ): [ObservationEvent!]!\n  assetsForSameStorageAddress: [AssetNode!]!\n  lastAutoMaterializationEvaluationRecord(\n    asOfEvaluationId: ID\n  ): AutoMaterializeAssetEvaluationRecord\n  backfillPolicy: BackfillPolicy\n  changedReasons: [ChangeReason!]!\n  computeKind: String\n  configField: ConfigTypeField\n  dataVersion(partition: String): String\n  dataVersionByPartition(partitions: [String!]): [String]!\n  dependedBy: [AssetDependency!]!\n  dependedByKeys: [AssetKey!]!\n  dependencies: [AssetDependency!]!\n  dependencyKeys: [AssetKey!]!\n  description(characterLimit: Int): String\n  freshnessInfo: AssetFreshnessInfo\n  freshnessPolicy: FreshnessPolicy\n  freshnessStatusInfo: FreshnessStatusInfo\n  internalFreshnessPolicy: InternalFreshnessPolicy\n  autoMaterializePolicy: AutoMaterializePolicy\n  automationCondition: AutomationCondition\n  graphName: String\n  groupName: String!\n  owners: [AssetOwner!]!\n  id: ID!\n  isExecutable: Boolean!\n  isObservable: Boolean!\n  isMaterializable: Boolean!\n  isPartitioned: Boolean!\n  isVirtual: Boolean!\n  isAutoCreatedStub: Boolean!\n  jobNames: [String!]!\n  jobs: [Pipeline!]!\n  latestMaterializationByPartition(partitions: [String!]): [MaterializationEvent]!\n  latestRunForPartition(partition: String!): Run\n  assetPartitionStatuses: AssetPartitionStatuses!\n  partitionStats: PartitionStats\n  metadataEntries: [MetadataEntry!]!\n  storageAddress: StorageAddress\n  tags: [DefinitionTag!]!\n  kinds: [String!]!\n  op: SolidDefinition\n  opName: String\n  opNames: [String!]!\n  opTags: [DefinitionTag!]!\n  opVersion: String\n  partitionDefinition: PartitionDefinition\n  partitionKeys: [String!]!\n  partitionKeyConnection(limit: Int!, ascending: Boolean!, cursor: String): PartitionKeyConnection\n  partitionKeysByDimension(startIdx: Int, endIdx: Int): [DimensionPartitionKeys!]!\n  pools: [String!]!\n  repository: Repository!\n  requiredResources: [ResourceRequirement!]!\n  staleStatus(partition: String): StaleStatus\n  staleStatusByPartition(partitions: [String!]): [StaleStatus!]!\n  staleCauses(partition: String): [StaleCause!]!\n  staleCausesByPartition(partitions: [String!]): [[StaleCause!]!]\n  type: DagsterType\n  hasMaterializePermission: Boolean!\n  hasWipePermission: Boolean!\n  hasReportRunlessAssetEventPermission: Boolean!\n  hasAssetChecks: Boolean!\n  assetCheckOrError(checkName: String!): AssetCheckOrError!\n  assetChecksOrError(limit: Int, pipeline: PipelineSelector): AssetChecksOrError!\n  currentAutoMaterializeEvaluationId: ID\n  targetingInstigators: [Instigator!]!\n}\n\ntype MaterializationUpstreamDataVersion {\n  assetKey: AssetKey!\n  downstreamAssetKey: AssetKey!\n  timestamp: String!\n}\n\ntype AutoMaterializeAssetEvaluationRecord {\n  id: ID!\n  evaluationId: ID!\n  numRequested: Int!\n  numSkipped: Int!\n  numDiscarded: Int!\n  rulesWithRuleEvaluations: [AutoMaterializeRuleWithRuleEvaluations!]!\n  timestamp: Float!\n  runIds: [String!]!\n  rules: [AutoMaterializeRule!]\n  assetKey: AssetKey!\n}\n\ntype AutoMaterializeRuleWithRuleEvaluations {\n  rule: AutoMaterializeRule!\n  ruleEvaluations: [AutoMaterializeRuleEvaluation!]!\n}\n\ntype AutoMaterializeRule {\n  description: String!\n  decisionType: AutoMaterializeDecisionType!\n  className: String!\n}\n\nenum AutoMaterializeDecisionType {\n  MATERIALIZE\n  SKIP\n  DISCARD\n}\n\ntype AutoMaterializeRuleEvaluation {\n  partitionKeysOrError: PartitionKeysOrError\n  evaluationData: AutoMaterializeRuleEvaluationData\n}\n\nunion PartitionKeysOrError = PartitionKeys | PartitionSubsetDeserializationError\n\ntype PartitionKeys {\n  partitionKeys: [String!]!\n}\n\ntype PartitionSubsetDeserializationError implements Error {\n  message: String!\n}\n\nunion AutoMaterializeRuleEvaluationData =\n  | TextRuleEvaluationData\n  | ParentMaterializedRuleEvaluationData\n  | WaitingOnKeysRuleEvaluationData\n\ntype TextRuleEvaluationData {\n  text: String\n}\n\ntype ParentMaterializedRuleEvaluationData {\n  updatedAssetKeys: [AssetKey!]\n  willUpdateAssetKeys: [AssetKey!]\n}\n\ntype WaitingOnKeysRuleEvaluationData {\n  waitingOnAssetKeys: [AssetKey!]\n}\n\ntype BackfillPolicy {\n  maxPartitionsPerRun: Int\n  description: String!\n  policyType: BackfillPolicyType!\n}\n\nenum BackfillPolicyType {\n  SINGLE_RUN\n  MULTI_RUN\n}\n\nenum ChangeReason {\n  NEW\n  CODE_VERSION\n  DEPENDENCIES\n  PARTITIONS_DEFINITION\n  TAGS\n  METADATA\n  REMOVED\n}\n\ntype AssetDependency {\n  asset: AssetNode!\n  partitionMapping: PartitionMapping\n}\n\ntype PartitionMapping {\n  className: String!\n  description: String!\n}\n\ntype AssetFreshnessInfo {\n  currentLagMinutes: Float\n  currentMinutesLate: Float\n  latestMaterializationMinutesLate: Float\n}\n\ntype FreshnessPolicy {\n  maximumLagMinutes: Float!\n  cronSchedule: String\n  cronScheduleTimezone: String\n  lastEvaluationTimestamp: String\n}\n\ntype FreshnessStatusInfo {\n  freshnessStatus: AssetHealthStatus!\n  freshnessStatusMetadata: AssetHealthFreshnessMeta\n}\n\nenum AssetHealthStatus {\n  HEALTHY\n  WARNING\n  DEGRADED\n  UNKNOWN\n  NOT_APPLICABLE\n}\n\ntype AssetHealthFreshnessMeta {\n  lastMaterializedTimestamp: Float\n}\n\nunion InternalFreshnessPolicy = TimeWindowFreshnessPolicy | CronFreshnessPolicy\n\ntype TimeWindowFreshnessPolicy {\n  failWindowSeconds: Int!\n  warnWindowSeconds: Int\n}\n\ntype CronFreshnessPolicy {\n  deadlineCron: String!\n  lowerBoundDeltaSeconds: Int!\n  timezone: String!\n}\n\ntype AutoMaterializePolicy {\n  policyType: AutoMaterializePolicyType!\n  maxMaterializationsPerMinute: Int\n  rules: [AutoMaterializeRule!]!\n}\n\nenum AutoMaterializePolicyType {\n  EAGER\n  LAZY\n}\n\ntype AutomationCondition {\n  label: String\n  expandedLabel: [String!]!\n}\n\nunion AssetOwner = UserAssetOwner | TeamAssetOwner\n\ntype UserAssetOwner {\n  email: String!\n}\n\ntype TeamAssetOwner {\n  team: String!\n}\n\nunion AssetPartitionStatuses =\n  | DefaultPartitionStatuses\n  | MultiPartitionStatuses\n  | TimePartitionStatuses\n\ntype DefaultPartitionStatuses {\n  materializedPartitions: [String!]!\n  failedPartitions: [String!]!\n  unmaterializedPartitions: [String!]!\n  materializingPartitions: [String!]!\n}\n\ntype MultiPartitionStatuses {\n  ranges: [MaterializedPartitionRangeStatuses2D!]!\n  primaryDimensionName: String!\n}\n\ntype MaterializedPartitionRangeStatuses2D {\n  primaryDimStartKey: String!\n  primaryDimEndKey: String!\n  primaryDimStartTime: Float\n  primaryDimEndTime: Float\n  secondaryDim: PartitionStatus1D!\n}\n\nunion PartitionStatus1D = TimePartitionStatuses | DefaultPartitionStatuses\n\ntype TimePartitionStatuses {\n  ranges: [TimePartitionRangeStatus!]!\n}\n\ntype TimePartitionRangeStatus {\n  startTime: Float!\n  endTime: Float!\n  startKey: String!\n  endKey: String!\n  status: PartitionRangeStatus!\n}\n\nenum PartitionRangeStatus {\n  MATERIALIZING\n  MATERIALIZED\n  FAILED\n}\n\ntype PartitionStats {\n  numMaterialized: Int!\n  numPartitions: Int!\n  numFailed: Int!\n  numMaterializing: Int!\n}\n\ntype StorageAddress {\n  storageKind: String\n  tableName: String!\n}\n\ntype DefinitionTag {\n  key: String!\n  value: String!\n}\n\ntype PartitionDefinition {\n  description: String!\n  type: PartitionDefinitionType!\n  dimensionTypes: [DimensionDefinitionType!]!\n  name: String\n  fmt: String\n}\n\nenum PartitionDefinitionType {\n  TIME_WINDOW\n  STATIC\n  MULTIPARTITIONED\n  DYNAMIC\n}\n\ntype DimensionDefinitionType {\n  name: String!\n  description: String!\n  type: PartitionDefinitionType!\n  isPrimaryDimension: Boolean!\n  dynamicPartitionsDefinitionName: String\n}\n\ntype PartitionKeyConnection {\n  results: [String!]!\n  cursor: String!\n  hasMore: Boolean!\n}\n\ntype DimensionPartitionKeys {\n  name: String!\n  partitionKeys: [String!]!\n  type: PartitionDefinitionType!\n}\n\nenum StaleStatus {\n  MISSING\n  STALE\n  FRESH\n}\n\ntype StaleCause {\n  key: AssetKey!\n  partitionKey: String\n  category: StaleCauseCategory!\n  reason: String!\n  dependency: AssetKey\n  dependencyPartitionKey: String\n}\n\nenum StaleCauseCategory {\n  CODE\n  DATA\n  DEPENDENCIES\n}\n\nunion AssetCheckOrError =\n  | AssetCheck\n  | AssetCheckNotFoundError\n  | AssetCheckNeedsMigrationError\n  | AssetCheckNeedsUserCodeUpgrade\n  | AssetCheckNeedsAgentUpgradeError\n\ntype AssetCheck {\n  name: String!\n  assetKey: AssetKey!\n  description: String\n  jobNames: [String!]!\n  executionForLatestMaterialization: AssetCheckExecution\n  canExecuteIndividually: AssetCheckCanExecuteIndividually!\n  blocking: Boolean!\n  additionalAssetKeys: [AssetKey!]!\n  automationCondition: AutomationCondition\n  partitionDefinition: PartitionDefinition\n  partitionKeysByDimension(startIdx: Int, endIdx: Int): [DimensionPartitionKeys!]!\n  partitionStatuses: AssetCheckPartitionStatuses\n}\n\ntype AssetCheckExecution {\n  id: String!\n  runId: String!\n  status: AssetCheckExecutionResolvedStatus!\n  evaluation: AssetCheckEvaluation\n  timestamp: Float!\n  partition: String\n  stepKey: String\n  run: Run\n}\n\nenum AssetCheckExecutionResolvedStatus {\n  IN_PROGRESS\n  SUCCEEDED\n  FAILED\n  EXECUTION_FAILED\n  SKIPPED\n}\n\ntype AssetCheckEvaluation {\n  timestamp: Float!\n  checkName: String!\n  assetKey: AssetKey!\n  targetMaterialization: AssetCheckEvaluationTargetMaterializationData\n  metadataEntries: [MetadataEntry!]!\n  severity: AssetCheckSeverity!\n  description: String\n  partition: String\n  success: Boolean!\n}\n\ntype AssetCheckEvaluationTargetMaterializationData {\n  storageId: ID!\n  runId: String!\n  timestamp: Float!\n}\n\nenum AssetCheckSeverity {\n  WARN\n  ERROR\n}\n\nenum AssetCheckCanExecuteIndividually {\n  CAN_EXECUTE\n  REQUIRES_MATERIALIZATION\n  NEEDS_USER_CODE_UPGRADE\n}\n\nunion AssetCheckPartitionStatuses =\n  | AssetCheckDefaultPartitionStatuses\n  | AssetCheckMultiPartitionStatuses\n  | AssetCheckTimePartitionStatuses\n\ntype AssetCheckDefaultPartitionStatuses {\n  succeededPartitions: [String!]!\n  failedPartitions: [String!]!\n  inProgressPartitions: [String!]!\n  skippedPartitions: [String!]!\n  executionFailedPartitions: [String!]!\n}\n\ntype AssetCheckMultiPartitionStatuses {\n  ranges: [AssetCheckMultiPartitionRangeStatuses!]!\n  primaryDimensionName: String!\n}\n\ntype AssetCheckMultiPartitionRangeStatuses {\n  primaryDimStartKey: String!\n  primaryDimEndKey: String!\n  primaryDimStartTime: Float\n  primaryDimEndTime: Float\n  secondaryDim: AssetCheckPartitionStatus1D!\n}\n\nunion AssetCheckPartitionStatus1D =\n  | AssetCheckTimePartitionStatuses\n  | AssetCheckDefaultPartitionStatuses\n\ntype AssetCheckTimePartitionStatuses {\n  ranges: [AssetCheckTimePartitionRangeStatus!]!\n}\n\ntype AssetCheckTimePartitionRangeStatus {\n  startTime: Float!\n  endTime: Float!\n  startKey: String!\n  endKey: String!\n  status: AssetCheckPartitionRangeStatus!\n}\n\nenum AssetCheckPartitionRangeStatus {\n  SUCCEEDED\n  FAILED\n  IN_PROGRESS\n  SKIPPED\n  EXECUTION_FAILED\n}\n\ntype AssetCheckNotFoundError implements Error {\n  message: String!\n}\n\ntype AssetCheckNeedsMigrationError implements Error {\n  message: String!\n}\n\ntype AssetCheckNeedsUserCodeUpgrade implements Error {\n  message: String!\n}\n\ntype AssetCheckNeedsAgentUpgradeError implements Error {\n  message: String!\n}\n\nunion AssetChecksOrError =\n  | AssetChecks\n  | AssetCheckNeedsMigrationError\n  | AssetCheckNeedsUserCodeUpgrade\n  | AssetCheckNeedsAgentUpgradeError\n\ntype AssetChecks {\n  checks: [AssetCheck!]!\n}\n\nunion Instigator = Schedule | Sensor\n\ntype AssetHealth {\n  assetHealth: AssetHealthStatus!\n  materializationStatus: AssetHealthStatus!\n  materializationStatusMetadata: AssetHealthMaterializationMeta\n  assetChecksStatus: AssetHealthStatus!\n  assetChecksStatusMetadata: AssetHealthCheckMeta\n  freshnessStatus: AssetHealthStatus!\n  freshnessStatusMetadata: AssetHealthFreshnessMeta\n}\n\nunion AssetHealthMaterializationMeta =\n  | AssetHealthMaterializationDegradedPartitionedMeta\n  | AssetHealthMaterializationHealthyPartitionedMeta\n  | AssetHealthMaterializationDegradedNotPartitionedMeta\n  | AssetHealthMaterializationWarningPartitionedMeta\n  | AssetHealthMaterializationWarningNotPartitionedMeta\n\ntype AssetHealthMaterializationDegradedPartitionedMeta {\n  numFailedPartitions: Int!\n  numMissingPartitions: Int!\n  totalNumPartitions: Int!\n  latestRunId: String\n  latestFailedRunId: String\n}\n\ntype AssetHealthMaterializationHealthyPartitionedMeta {\n  numMissingPartitions: Int!\n  totalNumPartitions: Int!\n  latestRunId: String\n}\n\ntype AssetHealthMaterializationDegradedNotPartitionedMeta {\n  failedRunId: String\n}\n\ntype AssetHealthMaterializationWarningPartitionedMeta {\n  numUpForRetryPartitions: Int!\n  numMissingPartitions: Int!\n  totalNumPartitions: Int!\n  latestRunId: String\n  latestFailedRunId: String\n}\n\ntype AssetHealthMaterializationWarningNotPartitionedMeta {\n  failedRunId: String\n}\n\nunion AssetHealthCheckMeta =\n  | AssetHealthCheckDegradedMeta\n  | AssetHealthCheckWarningMeta\n  | AssetHealthCheckUnknownMeta\n\ntype AssetHealthCheckDegradedMeta {\n  numFailedChecks: Int!\n  numWarningChecks: Int!\n  totalNumChecks: Int!\n}\n\ntype AssetHealthCheckWarningMeta {\n  numWarningChecks: Int!\n  totalNumChecks: Int!\n}\n\ntype AssetHealthCheckUnknownMeta {\n  numNotExecutedChecks: Int!\n  totalNumChecks: Int!\n}\n\nenum EvaluationErrorReason {\n  RUNTIME_TYPE_MISMATCH\n  MISSING_REQUIRED_FIELD\n  MISSING_REQUIRED_FIELDS\n  FIELD_NOT_DEFINED\n  FIELDS_NOT_DEFINED\n  SELECTOR_FIELD_ERROR\n}\n\ntype EvaluationStack {\n  entries: [EvaluationStackEntry!]!\n}\n\nunion EvaluationStackEntry =\n  | EvaluationStackListItemEntry\n  | EvaluationStackPathEntry\n  | EvaluationStackMapKeyEntry\n  | EvaluationStackMapValueEntry\n\ntype EvaluationStackListItemEntry {\n  listIndex: Int!\n}\n\ntype EvaluationStackPathEntry {\n  fieldName: String!\n}\n\ntype EvaluationStackMapKeyEntry {\n  mapKey: GenericScalar!\n}\n\nscalar GenericScalar\n\ntype EvaluationStackMapValueEntry {\n  mapKey: GenericScalar!\n}\n\ntype FieldNotDefinedConfigError implements PipelineConfigValidationError {\n  message: String!\n  path: [String!]!\n  stack: EvaluationStack!\n  reason: EvaluationErrorReason!\n  fieldName: String!\n}\n\ntype FieldsNotDefinedConfigError implements PipelineConfigValidationError {\n  message: String!\n  path: [String!]!\n  stack: EvaluationStack!\n  reason: EvaluationErrorReason!\n  fieldNames: [String!]!\n}\n\ninterface IPipelineSnapshot {\n  name: String!\n  description: String\n  owners: [DefinitionOwner!]!\n  pipelineSnapshotId: String!\n  dagsterTypes: [DagsterType!]!\n  dagsterTypeOrError(dagsterTypeName: String!): DagsterTypeOrError!\n  solids: [Solid!]!\n  modes: [Mode!]!\n  solidHandles(parentHandleID: String): [SolidHandle!]!\n  solidHandle(handleID: String!): SolidHandle\n  tags: [PipelineTag!]!\n  metadataEntries: [MetadataEntry!]!\n  runs(cursor: String, limit: Int): [Run!]!\n  schedules: [Schedule!]!\n  sensors: [Sensor!]!\n  parentSnapshotId: String\n  graphName: String!\n}\n\nunion DefinitionOwner = UserDefinitionOwner | TeamDefinitionOwner\n\ntype UserDefinitionOwner {\n  email: String!\n}\n\ntype TeamDefinitionOwner {\n  team: String!\n}\n\ntype Logger {\n  name: String!\n  description: String\n  configField: ConfigTypeField\n}\n\ntype MissingFieldConfigError implements PipelineConfigValidationError {\n  message: String!\n  path: [String!]!\n  stack: EvaluationStack!\n  reason: EvaluationErrorReason!\n  field: ConfigTypeField!\n}\n\ntype MissingFieldsConfigError implements PipelineConfigValidationError {\n  message: String!\n  path: [String!]!\n  stack: EvaluationStack!\n  reason: EvaluationErrorReason!\n  fields: [ConfigTypeField!]!\n}\n\ntype Mode {\n  id: String!\n  name: String!\n  description: String\n  resources: [Resource!]!\n  loggers: [Logger!]!\n}\n\ntype Pipeline implements SolidContainer & IPipelineSnapshot {\n  id: ID!\n  name: String!\n  description: String\n  solids: [Solid!]!\n  solidHandle(handleID: String!): SolidHandle\n  solidHandles(parentHandleID: String): [SolidHandle!]!\n  modes: [Mode!]!\n  owners: [DefinitionOwner!]!\n  pipelineSnapshotId: String!\n  dagsterTypes: [DagsterType!]!\n  dagsterTypeOrError(dagsterTypeName: String!): DagsterTypeOrError!\n  tags: [PipelineTag!]!\n  metadataEntries: [MetadataEntry!]!\n  runs(cursor: String, limit: Int): [Run!]!\n  schedules: [Schedule!]!\n  sensors: [Sensor!]!\n  parentSnapshotId: String\n  graphName: String!\n  runTags: [PipelineTag!]!\n  externalJobSource: String\n  presets: [PipelinePreset!]!\n  isJob: Boolean!\n  isAssetJob: Boolean!\n  repository: Repository!\n  partitionKeysOrError(\n    cursor: String\n    limit: Int\n    reverse: Boolean\n    selectedAssetKeys: [AssetKeyInput!]\n  ): PartitionKeys!\n  partition(partitionName: String!, selectedAssetKeys: [AssetKeyInput!]): PartitionTagsAndConfig\n  hasLaunchExecutionPermission: Boolean!\n  hasLaunchReexecutionPermission: Boolean!\n  nodeNames: [String!]!\n  automationCondition: AutomationCondition\n}\n\ntype PartitionTagsAndConfig {\n  name: String!\n  jobName: String!\n  runConfigOrError: PartitionRunConfigOrError!\n  tagsOrError: PartitionTagsOrError!\n}\n\ninterface PipelineConfigValidationError {\n  message: String!\n  path: [String!]!\n  stack: EvaluationStack!\n  reason: EvaluationErrorReason!\n}\n\ninterface PipelineConfigValidationInvalid {\n  pipelineName: String!\n  errors: [PipelineConfigValidationError!]!\n}\n\ntype RunConfigValidationInvalid implements PipelineConfigValidationInvalid {\n  pipelineName: String!\n  errors: [PipelineConfigValidationError!]!\n}\n\nunion PipelineConfigValidationResult =\n  | InvalidSubsetError\n  | PipelineConfigValidationValid\n  | RunConfigValidationInvalid\n  | PipelineNotFoundError\n  | PythonError\n\ntype PipelineConfigValidationValid {\n  pipelineName: String!\n}\n\ntype PipelinePreset {\n  name: String!\n  solidSelection: [String!]\n  runConfigYaml: String!\n  mode: String!\n  tags: [PipelineTag!]!\n}\n\ninterface PipelineReference {\n  name: String!\n  solidSelection: [String!]\n}\n\ninterface PipelineRun {\n  id: ID!\n  runId: String!\n  pipelineSnapshotId: String\n  repositoryOrigin: RepositoryOrigin\n  status: RunStatus!\n  pipeline: PipelineReference!\n  pipelineName: String!\n  jobName: String!\n  solidSelection: [String!]\n  stats: RunStatsSnapshotOrError!\n  stepStats: [RunStepStats!]!\n  capturedLogs(fileKey: String!): CapturedLogs!\n  executionPlan: ExecutionPlan\n  stepKeysToExecute: [String!]\n  runConfigYaml: String!\n  runConfig: RunConfigData!\n  mode: String!\n  tags: [PipelineTag!]!\n  rootRunId: String\n  parentRunId: String\n  canTerminate: Boolean!\n  assets: [Asset!]!\n  eventConnection(afterCursor: String, limit: Int): EventConnection!\n}\n\ntype CapturedLogs {\n  logKey: [String!]!\n  stdout: String\n  stderr: String\n  cursor: String\n}\n\ntype EventConnection {\n  events: [DagsterRunEvent!]!\n  cursor: String!\n  hasMore: Boolean!\n}\n\nunion DagsterRunEvent =\n  | ExecutionStepFailureEvent\n  | ExecutionStepInputEvent\n  | ExecutionStepOutputEvent\n  | ExecutionStepSkippedEvent\n  | ExecutionStepStartEvent\n  | ExecutionStepSuccessEvent\n  | ExecutionStepUpForRetryEvent\n  | ExecutionStepRestartEvent\n  | HealthChangedEvent\n  | LogMessageEvent\n  | ResourceInitFailureEvent\n  | ResourceInitStartedEvent\n  | ResourceInitSuccessEvent\n  | RunFailureEvent\n  | RunStartEvent\n  | RunEnqueuedEvent\n  | RunDequeuedEvent\n  | RunStartingEvent\n  | RunCancelingEvent\n  | RunCanceledEvent\n  | RunSuccessEvent\n  | StepWorkerStartedEvent\n  | StepWorkerStartingEvent\n  | HandledOutputEvent\n  | LoadedInputEvent\n  | LogsCapturedEvent\n  | ObjectStoreOperationEvent\n  | StepExpectationResultEvent\n  | MaterializationEvent\n  | ObservationEvent\n  | FailedToMaterializeEvent\n  | EngineEvent\n  | HookCompletedEvent\n  | HookSkippedEvent\n  | HookErroredEvent\n  | AlertStartEvent\n  | AlertSuccessEvent\n  | AlertFailureEvent\n  | AssetMaterializationPlannedEvent\n  | AssetCheckEvaluationPlannedEvent\n  | AssetCheckEvaluationEvent\n\ntype HealthChangedEvent implements MessageEvent & StepEvent & DisplayableEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  label: String\n  description: String\n  metadataEntries: [MetadataEntry!]!\n  assetKey: AssetKey\n  runOrError: RunOrError!\n  stepStats: RunStepStats!\n  partition: String\n  tags: [EventTag!]!\n}\n\ntype LogsCapturedEvent implements MessageEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  fileKey: String!\n  stepKeys: [String!]\n  externalUrl: String\n  externalStdoutUrl: String\n  externalStderrUrl: String\n  shellCmd: LogRetrievalShellCommand\n  pid: Int\n  logKey: String!\n}\n\ntype LogRetrievalShellCommand {\n  stdout: String\n  stderr: String\n}\n\ntype AlertStartEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype AlertSuccessEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype AlertFailureEvent implements MessageEvent & RunEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  pipelineName: String!\n}\n\ntype AssetCheckEvaluationPlannedEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  assetKey: AssetKey!\n  checkName: String!\n}\n\ntype AssetCheckEvaluationEvent implements MessageEvent & StepEvent {\n  runId: String!\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n  stepKey: String\n  solidHandleID: String\n  eventType: DagsterEventType\n  evaluation: AssetCheckEvaluation!\n}\n\ntype PipelineRunLogsSubscriptionFailure {\n  message: String!\n  missingRunId: String\n}\n\nunion PipelineRunLogsSubscriptionPayload =\n  | PipelineRunLogsSubscriptionSuccess\n  | PipelineRunLogsSubscriptionFailure\n\ntype PipelineRunLogsSubscriptionSuccess {\n  run: Run!\n  messages: [DagsterRunEvent!]!\n  hasMorePastEvents: Boolean!\n  cursor: String!\n}\n\nunion RunOrError = Run | RunNotFoundError | PythonError\n\ninterface PipelineRunStatsSnapshot {\n  id: String!\n  runId: String!\n  stepsSucceeded: Int!\n  stepsFailed: Int!\n  materializations: Int!\n  expectations: Int!\n  enqueuedTime: Float\n  launchTime: Float\n  startTime: Float\n  endTime: Float\n}\n\nunion RunStatsSnapshotOrError = RunStatsSnapshot | PythonError\n\ntype RunStatsSnapshot implements PipelineRunStatsSnapshot {\n  id: String!\n  runId: String!\n  stepsSucceeded: Int!\n  stepsFailed: Int!\n  materializations: Int!\n  expectations: Int!\n  enqueuedTime: Float\n  launchTime: Float\n  startTime: Float\n  endTime: Float\n}\n\nenum RunStatus {\n  QUEUED\n  NOT_STARTED\n  MANAGED\n  STARTING\n  STARTED\n  SUCCESS\n  FAILURE\n  CANCELING\n  CANCELED\n}\n\ntype PipelineSnapshot implements SolidContainer & IPipelineSnapshot & PipelineReference {\n  id: ID!\n  name: String!\n  description: String\n  solids: [Solid!]!\n  solidHandle(handleID: String!): SolidHandle\n  solidHandles(parentHandleID: String): [SolidHandle!]!\n  modes: [Mode!]!\n  owners: [DefinitionOwner!]!\n  pipelineSnapshotId: String!\n  dagsterTypes: [DagsterType!]!\n  dagsterTypeOrError(dagsterTypeName: String!): DagsterTypeOrError!\n  tags: [PipelineTag!]!\n  metadataEntries: [MetadataEntry!]!\n  runs(cursor: String, limit: Int): [Run!]!\n  schedules: [Schedule!]!\n  sensors: [Sensor!]!\n  parentSnapshotId: String\n  graphName: String!\n  solidSelection: [String!]\n  runTags: [PipelineTag!]!\n  externalJobSource: String\n}\n\nunion PipelineSnapshotOrError =\n  | PipelineNotFoundError\n  | PipelineSnapshot\n  | PipelineSnapshotNotFoundError\n  | PythonError\n\ntype Resource {\n  name: String!\n  description: String\n  configField: ConfigTypeField\n}\n\ntype RuntimeMismatchConfigError implements PipelineConfigValidationError {\n  message: String!\n  path: [String!]!\n  stack: EvaluationStack!\n  reason: EvaluationErrorReason!\n  valueRep: String\n}\n\ntype Run implements PipelineRun & RunsFeedEntry {\n  id: ID!\n  runId: String!\n  pipelineSnapshotId: String\n  repositoryOrigin: RepositoryOrigin\n  status: RunStatus!\n  pipeline: PipelineReference!\n  pipelineName: String!\n  jobName: String!\n  solidSelection: [String!]\n  stats: RunStatsSnapshotOrError!\n  stepStats: [RunStepStats!]!\n  capturedLogs(fileKey: String!): CapturedLogs!\n  executionPlan: ExecutionPlan\n  stepKeysToExecute: [String!]\n  runConfigYaml: String!\n  runConfig: RunConfigData!\n  mode: String!\n  tags: [PipelineTag!]!\n  rootRunId: String\n  parentRunId: String\n  canTerminate: Boolean!\n  assets: [Asset!]!\n  eventConnection(afterCursor: String, limit: Int): EventConnection!\n  runStatus: RunStatus!\n  creationTime: Float!\n  startTime: Float\n  endTime: Float\n  assetSelection(limit: Int): [AssetKey!]\n  assetCheckSelection(limit: Int): [AssetCheckhandle!]\n  parentPipelineSnapshotId: String\n  assetSelectionCount: Int!\n  assetCheckSelectionCount: Int!\n  resolvedOpSelection: [String!]\n  assetMaterializations: [MaterializationEvent!]!\n  assetChecks: [AssetCheckhandle!]\n  updateTime: Float\n  hasReExecutePermission: Boolean!\n  hasTerminatePermission: Boolean!\n  hasDeletePermission: Boolean!\n  hasConcurrencyKeySlots: Boolean!\n  rootConcurrencyKeys: [String!]\n  allPools: [String!]\n  hasUnconstrainedRootNodes: Boolean!\n  hasRunMetricsEnabled: Boolean!\n  externalJobSource: String\n}\n\ninterface RunsFeedEntry {\n  id: ID!\n  runStatus: RunStatus\n  creationTime: Float!\n  startTime: Float\n  endTime: Float\n  tags: [PipelineTag!]!\n  jobName: String\n  assetSelection: [AssetKey!]\n  assetCheckSelection: [AssetCheckhandle!]\n}\n\ntype AssetCheckhandle {\n  name: String!\n  assetKey: AssetKey!\n}\n\ntype SelectorTypeConfigError implements PipelineConfigValidationError {\n  message: String!\n  path: [String!]!\n  stack: EvaluationStack!\n  reason: EvaluationErrorReason!\n  incomingFields: [String!]!\n}\n\ntype UnknownPipeline implements PipelineReference {\n  name: String!\n  solidSelection: [String!]\n}\n\ntype AssetConnection {\n  nodes: [Asset!]!\n  cursor: String\n}\n\nunion AssetOrError = Asset | AssetNotFoundError\n\nunion AssetsOrError = AssetConnection | PythonError\n\nunion DeletePipelineRunResult =\n  | DeletePipelineRunSuccess\n  | UnauthorizedError\n  | PythonError\n  | RunNotFoundError\n\ntype DeletePipelineRunSuccess {\n  runId: String!\n}\n\ntype DeleteRunMutation {\n  Output: DeletePipelineRunResult!\n}\n\nunion ExecutionPlanOrError =\n  | ExecutionPlan\n  | RunConfigValidationInvalid\n  | PipelineNotFoundError\n  | InvalidSubsetError\n  | PythonError\n\ntype LaunchBackfillMutation {\n  Output: LaunchBackfillResult!\n}\n\ntype LaunchRunMutation {\n  Output: LaunchRunResult!\n}\n\ntype LaunchMultipleRunsMutation {\n  Output: LaunchMultipleRunsResultOrError!\n}\n\nunion LaunchMultipleRunsResultOrError = LaunchMultipleRunsResult | PythonError\n\ntype LaunchRunReexecutionMutation {\n  Output: LaunchRunReexecutionResult!\n}\n\nunion PipelineOrError = Pipeline | PipelineNotFoundError | InvalidSubsetError | PythonError\n\ntype ReloadRepositoryLocationMutation {\n  Output: ReloadRepositoryLocationMutationResult!\n}\n\nunion ReloadRepositoryLocationMutationResult =\n  | WorkspaceLocationEntry\n  | ReloadNotSupported\n  | RepositoryLocationNotFound\n  | UnauthorizedError\n  | PythonError\n\ntype WorkspaceLocationEntry {\n  id: ID!\n  name: String!\n  locationOrLoadError: RepositoryLocationOrLoadError\n  loadStatus: RepositoryLocationLoadStatus!\n  displayMetadata: [RepositoryMetadata!]!\n  updatedTimestamp: Float!\n  versionKey: String!\n  defsStateInfo: DefsStateInfo\n  permissions: [Permission!]!\n  featureFlags: [FeatureFlag!]!\n  definitionsSource: DefinitionsSource!\n}\n\nunion RepositoryLocationOrLoadError = RepositoryLocation | PythonError\n\nenum RepositoryLocationLoadStatus {\n  LOADING\n  LOADED\n}\n\ntype Permission {\n  permission: String!\n  value: Boolean!\n  disabledReason: String\n}\n\ntype FeatureFlag {\n  name: String!\n  enabled: Boolean!\n}\n\nenum DefinitionsSource {\n  CODE_SERVER\n  CONNECTION\n}\n\ntype ReloadWorkspaceMutation {\n  Output: ReloadWorkspaceMutationResult!\n}\n\nunion ReloadWorkspaceMutationResult = Workspace | UnauthorizedError | PythonError\n\ntype Workspace {\n  id: String!\n  locationEntries: [WorkspaceLocationEntry!]!\n}\n\ntype ShutdownRepositoryLocationMutation {\n  Output: ShutdownRepositoryLocationMutationResult!\n}\n\nunion ShutdownRepositoryLocationMutationResult =\n  | ShutdownRepositoryLocationSuccess\n  | RepositoryLocationNotFound\n  | UnauthorizedError\n  | PythonError\n\ntype ShutdownRepositoryLocationSuccess {\n  repositoryLocationName: String!\n}\n\ninterface TerminatePipelineExecutionFailure {\n  run: Run!\n  message: String!\n}\n\ninterface TerminatePipelineExecutionSuccess {\n  run: Run!\n}\n\ntype TerminateRunFailure implements TerminatePipelineExecutionFailure {\n  run: Run!\n  message: String!\n}\n\ntype TerminateRunMutation {\n  Output: TerminateRunResult!\n}\n\nunion TerminateRunResult =\n  | TerminateRunSuccess\n  | TerminateRunFailure\n  | RunNotFoundError\n  | UnauthorizedError\n  | PythonError\n\ntype TerminateRunSuccess implements TerminatePipelineExecutionSuccess {\n  run: Run!\n}\n\nenum TerminateRunPolicy {\n  SAFE_TERMINATE\n  MARK_AS_CANCELED_IMMEDIATELY\n}\n\nenum InstigationTickStatus {\n  STARTED\n  SKIPPED\n  SUCCESS\n  FAILURE\n}\n\ntype Schedule {\n  id: ID!\n  name: String!\n  cronSchedule: String!\n  pipelineName: String!\n  solidSelection: [String]\n  mode: String!\n  executionTimezone: String\n  description: String\n  defaultStatus: InstigationStatus!\n  canReset: Boolean!\n  scheduleState: InstigationState!\n  partitionSet: PartitionSet\n  futureTicks(cursor: Float, limit: Int, until: Float): DryRunInstigationTicks!\n  futureTick(tickTimestamp: Int!): DryRunInstigationTick!\n  potentialTickTimestamps(startTimestamp: Float, upperLimit: Int, lowerLimit: Int): [Float!]!\n  assetSelection: AssetSelection\n  owners: [DefinitionOwner!]!\n  tags: [DefinitionTag!]!\n  metadataEntries: [MetadataEntry!]!\n}\n\nenum InstigationStatus {\n  RUNNING\n  STOPPED\n}\n\ntype AssetSelection {\n  assetSelectionString: String\n  assetKeys: [AssetKey!]!\n  assetChecks: [AssetCheckhandle!]!\n  assets: [Asset!]!\n  assetsOrError: AssetsOrError!\n}\n\nunion ScheduleMutationResult =\n  | PythonError\n  | UnauthorizedError\n  | ScheduleStateResult\n  | ScheduleNotFoundError\n\nunion ScheduleOrError = Schedule | ScheduleNotFoundError | PythonError\n\ntype Scheduler {\n  schedulerClass: String\n}\n\nunion SchedulerOrError = Scheduler | SchedulerNotDefinedError | PythonError\n\ntype Schedules {\n  results: [Schedule!]!\n}\n\nunion SchedulesOrError = Schedules | RepositoryNotFoundError | PythonError\n\ntype ScheduleStateResult {\n  scheduleState: InstigationState!\n}\n\nenum ScheduleStatus {\n  RUNNING\n  STOPPED\n  ENDED\n}\n\ntype ScheduleTick {\n  tickId: String!\n  status: InstigationTickStatus!\n  timestamp: Float!\n  tickSpecificData: ScheduleTickSpecificData\n}\n\ntype ScheduleTickFailureData {\n  error: PythonError!\n}\n\nunion ScheduleTickSpecificData = ScheduleTickSuccessData | ScheduleTickFailureData\n\ntype ScheduleTickSuccessData {\n  run: Run\n}\n\ntype StartScheduleMutation {\n  Output: ScheduleMutationResult!\n}\n\ntype StopRunningScheduleMutation {\n  Output: ScheduleMutationResult!\n}\n\ntype ResetScheduleMutation {\n  Output: ScheduleMutationResult!\n}\n\ntype AssetKey {\n  path: [String!]!\n}\n\nunion LaunchBackfillResult =\n  | LaunchBackfillSuccess\n  | PartitionSetNotFoundError\n  | PartitionKeysNotFoundError\n  | InvalidStepError\n  | InvalidOutputError\n  | RunConfigValidationInvalid\n  | PipelineNotFoundError\n  | RunConflict\n  | UnauthorizedError\n  | PythonError\n  | InvalidSubsetError\n  | PresetNotFoundError\n  | ConflictingExecutionParamsError\n  | NoModeProvidedError\n\ntype PartitionKeysNotFoundError implements Error {\n  message: String!\n  partitionKeys: [String!]!\n}\n\ntype LaunchBackfillSuccess {\n  backfillId: String!\n  launchedRunIds: [String]\n}\n\nunion ConfigTypeOrError =\n  | EnumConfigType\n  | CompositeConfigType\n  | RegularConfigType\n  | PipelineNotFoundError\n  | ConfigTypeNotFoundError\n  | PythonError\n\ntype ArrayConfigType implements ConfigType & WrappingConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n  ofType: ConfigType!\n}\n\ntype CompositeConfigType implements ConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n  fields: [ConfigTypeField!]!\n}\n\ninterface ConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n}\n\ntype ConfigTypeField {\n  name: String!\n  description: String\n  configType: ConfigType!\n  configTypeKey: String!\n  isRequired: Boolean!\n  isSecret: Boolean!\n  defaultValueAsJson: String\n}\n\ntype EnumConfigType implements ConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n  values: [EnumConfigValue!]!\n  givenName: String!\n}\n\ntype EnumConfigValue {\n  value: String!\n  description: String\n}\n\ntype NullableConfigType implements ConfigType & WrappingConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n  ofType: ConfigType!\n}\n\ntype RegularConfigType implements ConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n  givenName: String!\n}\n\ntype ScalarUnionConfigType implements ConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n  scalarType: ConfigType!\n  nonScalarType: ConfigType!\n  scalarTypeKey: String!\n  nonScalarTypeKey: String!\n}\n\ninterface WrappingConfigType {\n  ofType: ConfigType!\n}\n\ntype MapConfigType implements ConfigType {\n  key: String!\n  description: String\n  recursiveConfigTypes: [ConfigType!]!\n  typeParamKeys: [String!]!\n  isSelector: Boolean!\n  keyType: ConfigType!\n  valueType: ConfigType!\n  keyLabelName: String\n}\n\ninterface DagsterType {\n  key: String!\n  name: String\n  displayName: String!\n  description: String\n  isNullable: Boolean!\n  isList: Boolean!\n  isBuiltin: Boolean!\n  isNothing: Boolean!\n  inputSchemaType: ConfigType\n  outputSchemaType: ConfigType\n  innerTypes: [DagsterType!]!\n  metadataEntries: [MetadataEntry!]!\n}\n\nunion DagsterTypeOrError =\n  | RegularDagsterType\n  | PipelineNotFoundError\n  | DagsterTypeNotFoundError\n  | PythonError\n\ntype ListDagsterType implements DagsterType & WrappingDagsterType {\n  key: String!\n  name: String\n  displayName: String!\n  description: String\n  isNullable: Boolean!\n  isList: Boolean!\n  isBuiltin: Boolean!\n  isNothing: Boolean!\n  inputSchemaType: ConfigType\n  outputSchemaType: ConfigType\n  innerTypes: [DagsterType!]!\n  metadataEntries: [MetadataEntry!]!\n  ofType: DagsterType!\n}\n\ntype NullableDagsterType implements DagsterType & WrappingDagsterType {\n  key: String!\n  name: String\n  displayName: String!\n  description: String\n  isNullable: Boolean!\n  isList: Boolean!\n  isBuiltin: Boolean!\n  isNothing: Boolean!\n  inputSchemaType: ConfigType\n  outputSchemaType: ConfigType\n  innerTypes: [DagsterType!]!\n  metadataEntries: [MetadataEntry!]!\n  ofType: DagsterType!\n}\n\ntype RegularDagsterType implements DagsterType {\n  key: String!\n  name: String\n  displayName: String!\n  description: String\n  isNullable: Boolean!\n  isList: Boolean!\n  isBuiltin: Boolean!\n  isNothing: Boolean!\n  inputSchemaType: ConfigType\n  outputSchemaType: ConfigType\n  innerTypes: [DagsterType!]!\n  metadataEntries: [MetadataEntry!]!\n}\n\ninterface WrappingDagsterType {\n  ofType: DagsterType!\n}\n\ntype AssetNotFoundError implements Error {\n  message: String!\n}\n\ntype ConflictingExecutionParamsError implements Error {\n  message: String!\n}\n\ntype ConfigTypeNotFoundError implements Error {\n  message: String!\n  pipeline: Pipeline!\n  configTypeName: String!\n}\n\ntype DagsterTypeNotFoundError implements Error {\n  message: String!\n  dagsterTypeName: String!\n}\n\ninterface Error {\n  message: String!\n}\n\ntype InvalidOutputError {\n  stepKey: String!\n  invalidOutputName: String!\n}\n\ntype InvalidPipelineRunsFilterError implements Error {\n  message: String!\n}\n\ntype InvalidStepError {\n  invalidStepKey: String!\n}\n\ntype InvalidSubsetError implements Error {\n  message: String!\n  pipeline: Pipeline!\n}\n\ntype ModeNotFoundError implements Error {\n  message: String!\n  mode: String!\n}\n\ntype NoModeProvidedError implements Error {\n  message: String!\n  pipelineName: String!\n}\n\ntype PartitionSetNotFoundError implements Error {\n  message: String!\n  partitionSetName: String!\n}\n\ntype PipelineNotFoundError implements Error {\n  message: String!\n  pipelineName: String!\n  repositoryName: String!\n  repositoryLocationName: String!\n}\n\ninterface PipelineRunConflict {\n  message: String!\n}\n\ntype RunConflict implements Error & PipelineRunConflict {\n  message: String!\n}\n\ninterface PipelineRunNotFoundError implements Error {\n  runId: String!\n  message: String!\n}\n\ntype PipelineSnapshotNotFoundError implements Error {\n  message: String!\n  snapshotId: String!\n}\n\ntype PresetNotFoundError implements Error {\n  message: String!\n  preset: String!\n}\n\ntype PythonError implements Error {\n  message: String!\n  className: String\n  stack: [String!]!\n  cause: PythonError\n  causes: [PythonError!]!\n  errorChain: [ErrorChainLink!]!\n}\n\ntype ErrorChainLink implements Error {\n  message: String!\n  error: PythonError!\n  isExplicitLink: Boolean!\n}\n\ntype UnauthorizedError implements Error {\n  message: String!\n}\n\ntype ReloadNotSupported implements Error {\n  message: String!\n}\n\ntype RepositoryLocationNotFound implements Error {\n  message: String!\n}\n\ntype RepositoryNotFoundError implements Error {\n  message: String!\n  repositoryName: String!\n  repositoryLocationName: String!\n}\n\ntype ResourceNotFoundError implements Error {\n  message: String!\n  resourceName: String!\n}\n\ntype RunGroupNotFoundError implements Error {\n  message: String!\n  runId: String!\n}\n\ntype RunNotFoundError implements PipelineRunNotFoundError & Error {\n  runId: String!\n  message: String!\n}\n\ntype ScheduleNotFoundError implements Error {\n  message: String!\n  scheduleName: String!\n}\n\ntype SchedulerNotDefinedError implements Error {\n  message: String!\n}\n\ntype SensorNotFoundError implements Error {\n  message: String!\n  sensorName: String!\n}\n\ntype UnsupportedOperationError implements Error {\n  message: String!\n}\n\ntype DuplicateDynamicPartitionError implements Error {\n  message: String!\n  partitionsDefName: String!\n  partitionName: String!\n}\n\ntype ExecutionPlan {\n  steps: [ExecutionStep!]!\n  artifactsPersisted: Boolean!\n  assetSelection: [String!]!\n  assetKeys: [AssetKey!]!\n}\n\ntype ExecutionStep {\n  key: String!\n  inputs: [ExecutionStepInput!]!\n  outputs: [ExecutionStepOutput!]!\n  solidHandleID: String!\n  kind: StepKind!\n  metadata: [MetadataItemDefinition!]!\n}\n\ntype ExecutionStepInput {\n  name: String!\n  dependsOn: [ExecutionStep!]!\n}\n\ntype ExecutionStepOutput {\n  name: String!\n}\n\nenum StepKind {\n  COMPUTE\n  UNRESOLVED_MAPPED\n  UNRESOLVED_COLLECT\n}\n\ntype LocationStateChangeEvent {\n  eventType: LocationStateChangeEventType!\n  message: String!\n  locationName: String!\n  serverId: String\n}\n\nenum LocationStateChangeEventType {\n  LOCATION_UPDATED\n  LOCATION_DISCONNECTED\n  LOCATION_RECONNECTED\n  LOCATION_ERROR\n}\n\ntype LocationStateChangeSubscription {\n  event: LocationStateChangeEvent!\n}\n\nunion RepositoriesOrError = RepositoryConnection | RepositoryNotFoundError | PythonError\n\ntype Repository {\n  id: ID!\n  name: String!\n  location: RepositoryLocation!\n  pipelines: [Pipeline!]!\n  jobs: [Job!]!\n  usedSolids: [UsedSolid!]!\n  usedSolid(name: String!): UsedSolid\n  origin: RepositoryOrigin!\n  partitionSets: [PartitionSet!]!\n  schedules: [Schedule!]!\n  sensors(sensorType: SensorType): [Sensor!]!\n  assetNodes: [AssetNode!]!\n  assetNodesConnection(cursor: String, limit: Int!): AssetNodeConnection!\n  assetManifest: GenericScalar\n  displayMetadata: [RepositoryMetadata!]!\n  assetGroups: [AssetGroup!]!\n  allTopLevelResourceDetails: [ResourceDetails!]!\n}\n\ntype Job implements SolidContainer & IPipelineSnapshot {\n  id: ID!\n  name: String!\n  description: String\n  solids: [Solid!]!\n  solidHandle(handleID: String!): SolidHandle\n  solidHandles(parentHandleID: String): [SolidHandle!]!\n  modes: [Mode!]!\n  owners: [DefinitionOwner!]!\n  pipelineSnapshotId: String!\n  dagsterTypes: [DagsterType!]!\n  dagsterTypeOrError(dagsterTypeName: String!): DagsterTypeOrError!\n  tags: [PipelineTag!]!\n  metadataEntries: [MetadataEntry!]!\n  runs(cursor: String, limit: Int): [Run!]!\n  schedules: [Schedule!]!\n  sensors: [Sensor!]!\n  parentSnapshotId: String\n  graphName: String!\n  runTags: [PipelineTag!]!\n  externalJobSource: String\n  presets: [PipelinePreset!]!\n  isJob: Boolean!\n  isAssetJob: Boolean!\n  repository: Repository!\n  partitionKeysOrError(\n    cursor: String\n    limit: Int\n    reverse: Boolean\n    selectedAssetKeys: [AssetKeyInput!]\n  ): PartitionKeys!\n  partition(partitionName: String!, selectedAssetKeys: [AssetKeyInput!]): PartitionTagsAndConfig\n  hasLaunchExecutionPermission: Boolean!\n  hasLaunchReexecutionPermission: Boolean!\n  nodeNames: [String!]!\n  automationCondition: AutomationCondition\n}\n\nenum SensorType {\n  STANDARD\n  RUN_STATUS\n  ASSET\n  MULTI_ASSET\n  FRESHNESS_POLICY\n  AUTO_MATERIALIZE\n  AUTOMATION\n  UNKNOWN\n}\n\ntype AssetNodeConnection {\n  nodes: [AssetNode!]!\n  cursor: String\n  hasMore: Boolean!\n}\n\ntype AssetGroup {\n  id: String!\n  groupName: String!\n  assetKeys: [AssetKey!]!\n}\n\ntype ResourceDetails {\n  id: String!\n  name: String!\n  description: String\n  configFields: [ConfigTypeField!]!\n  configuredValues: [ConfiguredValue!]!\n  isTopLevel: Boolean!\n  nestedResources: [NestedResourceEntry!]!\n  parentResources: [NestedResourceEntry!]!\n  resourceType: String!\n  assetKeysUsing: [AssetKey!]!\n  jobsOpsUsing: [JobWithOps!]!\n  schedulesUsing: [String!]!\n  sensorsUsing: [String!]!\n}\n\ntype ConfiguredValue {\n  key: String!\n  value: String!\n  type: ConfiguredValueType!\n}\n\nenum ConfiguredValueType {\n  VALUE\n  ENV_VAR\n  SECRET\n}\n\ntype NestedResourceEntry {\n  name: String!\n  type: NestedResourceType!\n  resource: ResourceDetails\n}\n\nenum NestedResourceType {\n  ANONYMOUS\n  TOP_LEVEL\n}\n\ntype JobWithOps {\n  jobName: String!\n  opHandleIDs: [String!]!\n}\n\ntype RepositoryConnection {\n  nodes: [Repository!]!\n}\n\ntype RepositoryLocation {\n  id: ID!\n  name: String!\n  isReloadSupported: Boolean!\n  environmentPath: String\n  repositories: [Repository!]!\n  serverId: String\n  dagsterLibraryVersions: [DagsterLibraryVersion!]\n}\n\ntype DagsterLibraryVersion {\n  name: String!\n  version: String!\n}\n\nunion RepositoryOrError = PythonError | Repository | RepositoryNotFoundError\n\nunion WorkspaceLocationEntryOrError = WorkspaceLocationEntry | PythonError\n\ntype DefsStateInfo {\n  keyStateInfo: [DefsStateInfoEntry!]!\n}\n\ntype DefsKeyStateInfo {\n  version: String!\n  createTimestamp: Float!\n  managementType: DefsStateManagementType!\n}\n\ntype DefsStateInfoEntry {\n  name: String!\n  info: DefsKeyStateInfo\n}\n\nenum DefsStateManagementType {\n  VERSIONED_STATE_STORAGE\n  LOCAL_FILESYSTEM\n  LEGACY_CODE_SERVER_SNAPSHOTS\n}\n\ninput AssetKeyInput {\n  path: [String!]!\n}\n\ninput ExecutionMetadata {\n  tags: [ExecutionTag!]\n  rootRunId: String\n  parentRunId: String\n}\n\ninput ExecutionParams {\n  selector: JobOrPipelineSelector!\n  runConfigData: RunConfigData\n  mode: String\n  executionMetadata: ExecutionMetadata\n  stepKeys: [String!]\n  preset: String\n}\n\ninput JobOrPipelineSelector {\n  pipelineName: String\n  jobName: String\n  repositoryName: String!\n  repositoryLocationName: String!\n  solidSelection: [String!]\n  assetSelection: [AssetKeyInput!]\n  assetCheckSelection: [AssetCheckHandleInput!]\n}\n\ninput AssetCheckHandleInput {\n  assetKey: AssetKeyInput!\n  name: String!\n}\n\ninput ExecutionTag {\n  key: String!\n  value: String!\n}\n\ninput InstigationSelector {\n  repositoryName: String!\n  repositoryLocationName: String!\n  name: String!\n}\n\ninput MarshalledInput {\n  inputName: String!\n  key: String!\n}\n\ninput MarshalledOutput {\n  outputName: String!\n  key: String!\n}\n\ninput LaunchBackfillParams {\n  selector: PartitionSetSelector\n  partitionNames: [String!]\n  partitionsByAssets: [PartitionsByAssetSelector]\n  reexecutionSteps: [String!]\n  assetSelection: [AssetKeyInput!]\n  fromFailure: Boolean\n  allPartitions: Boolean\n  tags: [ExecutionTag!]\n  forceSynchronousSubmission: Boolean\n  title: String\n  description: String\n  runConfigData: RunConfigData\n}\n\ninput PartitionSetSelector {\n  partitionSetName: String!\n  repositorySelector: RepositorySelector!\n}\n\ninput PartitionsByAssetSelector {\n  assetKey: AssetKeyInput!\n  partitions: PartitionsSelector\n}\n\ninput PartitionsSelector {\n  range: PartitionRangeSelector\n  ranges: [PartitionRangeSelector!]\n}\n\ninput PartitionRangeSelector {\n  start: String!\n  end: String!\n}\n\ninput RunsFilter {\n  runIds: [String]\n  pipelineName: String\n  tags: [ExecutionTag!]\n  statuses: [RunStatus!]\n  snapshotId: String\n  updatedAfter: Float\n  updatedBefore: Float\n  createdBefore: Float\n  createdAfter: Float\n  mode: String\n}\n\ninput PipelineSelector {\n  pipelineName: String!\n  repositoryName: String!\n  repositoryLocationName: String!\n  solidSelection: [String!]\n  assetSelection: [AssetKeyInput!]\n  assetCheckSelection: [AssetCheckHandleInput!]\n}\n\ninput RepositorySelector {\n  repositoryName: String!\n  repositoryLocationName: String!\n}\n\ninput ResourceSelector {\n  repositoryName: String!\n  repositoryLocationName: String!\n  resourceName: String!\n}\n\ninput ScheduleSelector {\n  repositoryName: String!\n  repositoryLocationName: String!\n  scheduleName: String!\n}\n\ninput SensorSelector {\n  repositoryName: String!\n  repositoryLocationName: String!\n  sensorName: String!\n}\n\ninput StepExecution {\n  stepKey: String!\n  marshalledInputs: [MarshalledInput!]\n  marshalledOutputs: [MarshalledOutput!]\n}\n\ninput StepOutputHandle {\n  stepKey: String!\n  outputName: String!\n}\n\ninput TagInput {\n  key: String!\n  value: String!\n}\n\ninput ReportRunlessAssetEventsParams {\n  eventType: AssetEventType!\n  assetKey: AssetKeyInput!\n  partitionKeys: [String]\n  description: String\n}\n\nenum AssetEventType {\n  ASSET_MATERIALIZATION\n  ASSET_OBSERVATION\n}\n\ninput BulkActionsFilter {\n  statuses: [BulkActionStatus!]\n  createdBefore: Float\n  createdAfter: Float\n  selectorId: String\n}\n\nenum BulkActionStatus {\n  REQUESTED\n  COMPLETED\n  FAILED\n  CANCELED\n  CANCELING\n  COMPLETED_SUCCESS\n  COMPLETED_FAILED\n  FAILING\n}\n\ntype DaemonHealth {\n  id: String!\n  daemonStatus(daemonType: String): DaemonStatus!\n  allDaemonStatuses: [DaemonStatus!]!\n}\n\ntype DaemonStatus {\n  daemonType: String!\n  id: ID!\n  required: Boolean!\n  healthy: Boolean\n  lastHeartbeatTime: Float\n  lastHeartbeatErrors: [PythonError!]!\n}\n\ntype Instance {\n  id: String!\n  info: String\n  runLauncher: RunLauncher\n  runQueuingSupported: Boolean!\n  runQueueConfig: RunQueueConfig\n  executablePath: String!\n  daemonHealth: DaemonHealth!\n  hasInfo: Boolean!\n  autoMaterializePaused: Boolean!\n  supportsConcurrencyLimits: Boolean!\n  minConcurrencyLimitValue: Int!\n  maxConcurrencyLimitValue: Int!\n  concurrencyLimits: [ConcurrencyKeyInfo!]!\n  concurrencyLimit(concurrencyKey: String): ConcurrencyKeyInfo!\n  useAutoMaterializeSensors: Boolean!\n  poolConfig: PoolConfig\n  freshnessEvaluationEnabled: Boolean!\n}\n\ntype RunQueueConfig {\n  maxConcurrentRuns: Int!\n  tagConcurrencyLimitsYaml: String\n  isOpConcurrencyAware: Boolean\n  maxConcurrentRunsAllBranchDeployments: Int\n}\n\ntype ConcurrencyKeyInfo {\n  concurrencyKey: String!\n  slotCount: Int!\n  claimedSlots: [ClaimedConcurrencySlot!]!\n  pendingSteps: [PendingConcurrencyStep!]!\n  activeSlotCount: Int!\n  activeRunIds: [String!]!\n  pendingStepCount: Int!\n  pendingStepRunIds: [String!]!\n  assignedStepCount: Int!\n  assignedStepRunIds: [String!]!\n  limit: Int\n  usingDefaultLimit: Boolean\n}\n\ntype ClaimedConcurrencySlot {\n  runId: String!\n  stepKey: String!\n}\n\ntype PendingConcurrencyStep {\n  runId: String!\n  stepKey: String!\n  enqueuedTimestamp: Float!\n  assignedTimestamp: Float\n  priority: Int\n}\n\ntype PoolConfig {\n  poolGranularity: String\n  defaultPoolLimit: Int\n  opGranularityRunBuffer: Int\n}\n\ntype RunLauncher {\n  name: String!\n}\n\ntype DryRunInstigationTick {\n  timestamp: Float\n  evaluationResult: TickEvaluation\n}\n\ntype TickEvaluation {\n  dynamicPartitionsRequests: [DynamicPartitionRequest!]\n  runRequests: [RunRequest!]\n  skipReason: String\n  error: PythonError\n  cursor: String\n}\n\ntype DynamicPartitionRequest {\n  partitionKeys: [String!]\n  partitionsDefName: String!\n  type: DynamicPartitionsRequestType!\n}\n\nenum DynamicPartitionsRequestType {\n  ADD_PARTITIONS\n  DELETE_PARTITIONS\n}\n\ntype RunRequest {\n  runKey: String\n  tags: [PipelineTag!]!\n  runConfigYaml: String!\n  assetSelection: [AssetKey!]\n  assetChecks: [AssetCheckhandle!]\n  jobName: String\n}\n\ntype DryRunInstigationTicks {\n  results: [DryRunInstigationTick!]!\n  cursor: Float!\n}\n\nunion InstigationTypeSpecificData = SensorData | ScheduleData\n\ntype InstigationState {\n  id: ID!\n  selectorId: String!\n  name: String!\n  instigationType: InstigationType!\n  status: InstigationStatus!\n  repositoryName: String!\n  repositoryLocationName: String!\n  repositoryOrigin: RepositoryOrigin!\n  typeSpecificData: InstigationTypeSpecificData\n  runs(limit: Int): [Run!]!\n  runsCount: Int!\n  tick(tickId: ID!): InstigationTick!\n  ticks(\n    dayRange: Int\n    dayOffset: Int\n    limit: Int\n    cursor: String\n    statuses: [InstigationTickStatus!]\n    beforeTimestamp: Float\n    afterTimestamp: Float\n  ): [InstigationTick!]!\n  nextTick: DryRunInstigationTick\n  runningCount: Int!\n  hasStartPermission: Boolean!\n  hasStopPermission: Boolean!\n}\n\nenum InstigationType {\n  SCHEDULE\n  SENSOR\n  AUTO_MATERIALIZE\n}\n\ntype InstigationStateNotFoundError implements Error {\n  message: String!\n  name: String!\n}\n\nunion InstigationStateOrError = InstigationState | InstigationStateNotFoundError | PythonError\n\ntype InstigationStates {\n  results: [InstigationState!]!\n}\n\nunion InstigationStatesOrError = InstigationStates | PythonError\n\ntype InstigationTick {\n  id: ID!\n  tickId: ID!\n  status: InstigationTickStatus!\n  timestamp: Float!\n  runIds: [String!]!\n  runKeys: [String!]!\n  error: PythonError\n  skipReason: String\n  cursor: String\n  runs: [Run!]!\n  originRunIds: [String!]!\n  logKey: [String!]\n  logEvents: InstigationEventConnection!\n  dynamicPartitionsRequestResults: [DynamicPartitionsRequestResult!]!\n  endTimestamp: Float\n  requestedAssetKeys: [AssetKey!]!\n  requestedAssetMaterializationCount: Int!\n  requestedMaterializationsForAssets: [RequestedMaterializationsForAsset!]!\n  requestedJobRunCount: Int!\n  requestedRunsForJobs: [RequestedRunsForJob!]!\n  autoMaterializeAssetEvaluationId: ID\n  instigationType: InstigationType!\n}\n\ntype InstigationEventConnection {\n  events: [InstigationEvent!]!\n  cursor: String!\n  hasMore: Boolean!\n}\n\ntype InstigationEvent {\n  message: String!\n  timestamp: String!\n  level: LogLevel!\n}\n\ntype DynamicPartitionsRequestResult {\n  partitionKeys: [String!]\n  partitionsDefName: String!\n  type: DynamicPartitionsRequestType!\n  skippedPartitionKeys: [String!]!\n}\n\ntype RequestedMaterializationsForAsset {\n  assetKey: AssetKey!\n  partitionKeys: [String!]!\n}\n\ntype RequestedRunsForJob {\n  jobName: String!\n  partitionKeys: [String!]!\n}\n\ntype ScheduleData {\n  cronSchedule: String!\n  startTimestamp: Float\n}\n\ntype SensorData {\n  lastTickTimestamp: Float\n  lastRunKey: String\n  lastCursor: String\n}\n\ninterface MetadataEntry {\n  label: String!\n  description: String\n}\n\ntype TableColumnLineageMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  lineage: [TableColumnLineageEntry!]!\n}\n\ntype TableSchemaMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  schema: TableSchema!\n}\n\ntype TableMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  table: Table!\n}\n\ntype FloatMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  floatValue: Float\n  floatRepr: String!\n}\n\ntype IntMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  intValue: Int\n  intRepr: String!\n}\n\ntype JsonMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  jsonString: String!\n}\n\ntype BoolMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  boolValue: Boolean\n}\n\ntype MarkdownMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  mdStr: String!\n}\n\ntype MetadataItemDefinition {\n  key: String!\n  value: String!\n}\n\ntype PathMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  path: String!\n}\n\ntype NotebookMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  path: String!\n}\n\ntype PythonArtifactMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  module: String!\n  name: String!\n}\n\ntype TextMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  text: String!\n}\n\ntype UrlMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  url: String!\n}\n\ntype PipelineRunMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  runId: String!\n}\n\ntype AssetMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  assetKey: AssetKey!\n}\n\ntype JobMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  jobName: String!\n  repositoryName: String\n  locationName: String!\n}\n\ntype CodeReferencesMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  codeReferences: [SourceLocation!]!\n}\n\nunion SourceLocation = LocalFileCodeReference | UrlCodeReference\n\ntype LocalFileCodeReference {\n  filePath: String!\n  lineNumber: Int\n  label: String\n}\n\ntype UrlCodeReference {\n  url: String!\n  label: String\n}\n\ntype NullMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n}\n\ntype TimestampMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  timestamp: Float!\n}\n\ntype PoolMetadataEntry implements MetadataEntry {\n  label: String!\n  description: String\n  pool: String!\n}\n\ntype Partition {\n  name: String!\n  partitionSetName: String!\n  solidSelection: [String!]\n  mode: String!\n  runConfigOrError: PartitionRunConfigOrError!\n  tagsOrError: PartitionTagsOrError!\n  runs(filter: RunsFilter, cursor: String, limit: Int): [Run!]!\n  status: RunStatus\n}\n\ntype PartitionRunConfig {\n  yaml: String!\n}\n\nunion PartitionRunConfigOrError = PartitionRunConfig | PythonError\n\ntype Partitions {\n  results: [Partition!]!\n}\n\ntype PartitionSet {\n  id: ID!\n  name: String!\n  pipelineName: String!\n  solidSelection: [String!]\n  mode: String!\n  partitionsOrError(cursor: String, limit: Int, reverse: Boolean): PartitionsOrError!\n  partition(partitionName: String!): Partition\n  partitionStatusesOrError: PartitionStatusesOrError!\n  partitionRuns: [PartitionRun!]!\n  repositoryOrigin: RepositoryOrigin!\n  hasLaunchBackfillPermission: Boolean!\n  hasCancelBackfillPermission: Boolean!\n  backfills(cursor: String, limit: Int): [PartitionBackfill!]!\n}\n\ntype PartitionRun {\n  id: String!\n  partitionName: String!\n  run: Run\n}\n\ntype PartitionBackfill implements RunsFeedEntry {\n  id: ID!\n  runStatus: RunStatus!\n  creationTime: Float!\n  startTime: Float\n  endTime: Float\n  tags: [PipelineTag!]!\n  jobName: String\n  assetSelection: [AssetKey!]\n  assetCheckSelection: [AssetCheckhandle!]\n  status: BulkActionStatus!\n  partitionNames: [String!]\n  isValidSerialization: Boolean!\n  numPartitions: Int\n  numCancelable: Int!\n  fromFailure: Boolean!\n  reexecutionSteps: [String!]\n  partitionSetName: String\n  timestamp: Float!\n  endTimestamp: Float\n  partitionSet: PartitionSet\n  runs(limit: Int): [Run!]!\n  unfinishedRuns(limit: Int): [Run!]!\n  cancelableRuns(limit: Int): [Run!]!\n  error: PythonError\n  partitionStatuses: PartitionStatuses\n  partitionStatusCounts: [PartitionStatusCounts!]!\n  partitionsTargetedForAssetKey(assetKey: AssetKeyInput): AssetBackfillTargetPartitions\n  isAssetBackfill: Boolean!\n  assetBackfillData: AssetBackfillData\n  hasCancelPermission: Boolean!\n  hasResumePermission: Boolean!\n  user: String\n  title: String\n  description: String\n  logEvents(cursor: String): InstigationEventConnection!\n}\n\ntype AssetBackfillTargetPartitions {\n  ranges: [PartitionKeyRange!]\n  partitionKeys: [String!]\n}\n\ntype PartitionKeyRange {\n  start: String!\n  end: String!\n}\n\ntype AssetBackfillData {\n  assetBackfillStatuses: [AssetBackfillStatus!]!\n  rootTargetedPartitions: AssetBackfillTargetPartitions\n}\n\nunion AssetBackfillStatus = AssetPartitionsStatusCounts | UnpartitionedAssetStatus\n\ntype AssetPartitionsStatusCounts {\n  assetKey: AssetKey!\n  numPartitionsTargeted: Int!\n  numPartitionsInProgress: Int!\n  numPartitionsMaterialized: Int!\n  numPartitionsFailed: Int!\n}\n\ntype UnpartitionedAssetStatus {\n  assetKey: AssetKey!\n  inProgress: Boolean!\n  materialized: Boolean!\n  failed: Boolean!\n}\n\nunion PartitionSetOrError = PartitionSet | PartitionSetNotFoundError | PythonError\n\ntype PartitionSets {\n  results: [PartitionSet!]!\n}\n\nunion PartitionSetsOrError = PartitionSets | PipelineNotFoundError | PythonError\n\nunion PartitionsOrError = Partitions | PythonError\n\ntype PartitionStatus {\n  id: String!\n  partitionName: String!\n  runId: String\n  runStatus: RunStatus\n  runDuration: Float\n}\n\ntype PartitionStatusCounts {\n  runStatus: RunStatus!\n  count: Int!\n}\n\ntype PartitionStatuses {\n  results: [PartitionStatus!]!\n}\n\nunion PartitionStatusesOrError = PartitionStatuses | PythonError\n\ntype PartitionTags {\n  results: [PipelineTag!]!\n}\n\nunion PartitionTagsOrError = PartitionTags | PythonError\n\ntype RepositoryOrigin {\n  id: String!\n  repositoryLocationName: String!\n  repositoryName: String!\n  repositoryLocationMetadata: [RepositoryMetadata!]!\n}\n\ntype RepositoryMetadata {\n  key: String!\n  value: String!\n}\n\ntype RunConfigSchema {\n  rootConfigType: ConfigType!\n  allConfigTypes: [ConfigType!]!\n  isRunConfigValid(runConfigData: RunConfigData): PipelineConfigValidationResult!\n  rootDefaultYaml: String!\n}\n\nunion RunConfigSchemaOrError =\n  | RunConfigSchema\n  | PipelineNotFoundError\n  | InvalidSubsetError\n  | ModeNotFoundError\n  | PythonError\n\nunion LaunchRunResult =\n  | LaunchRunSuccess\n  | InvalidStepError\n  | InvalidOutputError\n  | RunConfigValidationInvalid\n  | PipelineNotFoundError\n  | RunConflict\n  | UnauthorizedError\n  | PythonError\n  | InvalidSubsetError\n  | PresetNotFoundError\n  | ConflictingExecutionParamsError\n  | NoModeProvidedError\n\ntype LaunchMultipleRunsResult {\n  launchMultipleRunsResult: [LaunchRunResult!]!\n}\n\nunion LaunchRunReexecutionResult =\n  | LaunchRunSuccess\n  | InvalidStepError\n  | InvalidOutputError\n  | RunConfigValidationInvalid\n  | PipelineNotFoundError\n  | RunConflict\n  | UnauthorizedError\n  | PythonError\n  | InvalidSubsetError\n  | PresetNotFoundError\n  | ConflictingExecutionParamsError\n  | NoModeProvidedError\n\ninterface LaunchPipelineRunSuccess {\n  run: Run!\n}\n\ntype LaunchRunSuccess implements LaunchPipelineRunSuccess {\n  run: Run!\n}\n\nunion RunsOrError = Runs | InvalidPipelineRunsFilterError | PythonError\n\ntype Runs implements PipelineRuns {\n  results: [Run!]!\n  count: Int!\n}\n\ninterface PipelineRuns {\n  results: [Run!]!\n  count: Int\n}\n\nscalar RunConfigData\n\ntype RunGroup {\n  rootRunId: String!\n  runs: [Run]\n}\n\nunion RunGroupOrError = RunGroup | RunGroupNotFoundError | PythonError\n\ntype RunGroups {\n  results: [RunGroup!]!\n}\n\ntype Sensor {\n  id: ID!\n  jobOriginId: String!\n  name: String!\n  targets: [Target!]\n  defaultStatus: InstigationStatus!\n  canReset: Boolean!\n  hasCursorUpdatePermissions: Boolean!\n  sensorState: InstigationState!\n  minIntervalSeconds: Int!\n  description: String\n  nextTick: DryRunInstigationTick\n  metadata: SensorMetadata!\n  sensorType: SensorType!\n  assetSelection: AssetSelection\n  owners: [DefinitionOwner!]!\n  tags: [DefinitionTag!]!\n  metadataEntries: [MetadataEntry!]!\n}\n\ntype Target {\n  pipelineName: String!\n  mode: String!\n  solidSelection: [String!]\n}\n\ntype SensorMetadata {\n  assetKeys: [AssetKey!]\n}\n\nunion SensorOrError = Sensor | SensorNotFoundError | UnauthorizedError | PythonError\n\ntype Sensors {\n  results: [Sensor!]!\n}\n\nunion SensorsOrError = Sensors | RepositoryNotFoundError | PythonError\n\ntype StopSensorMutationResult {\n  instigationState: InstigationState\n}\n\nunion StopSensorMutationResultOrError = StopSensorMutationResult | UnauthorizedError | PythonError\n\ntype StopSensorMutation {\n  Output: StopSensorMutationResultOrError!\n}\n\ntype SetSensorCursorMutation {\n  Output: SensorOrError!\n}\n\ntype ResetSensorMutation {\n  Output: SensorOrError!\n}\n\ntype CompositeSolidDefinition implements ISolidDefinition & SolidContainer {\n  name: String!\n  description: String\n  metadata: [MetadataItemDefinition!]!\n  inputDefinitions: [InputDefinition!]!\n  outputDefinitions: [OutputDefinition!]!\n  assetNodes: [AssetNode!]!\n  pools: [String!]!\n  id: ID!\n  solids: [Solid!]!\n  solidHandle(handleID: String!): SolidHandle\n  solidHandles(parentHandleID: String): [SolidHandle!]!\n  modes: [Mode!]!\n  inputMappings: [InputMapping!]!\n  outputMappings: [OutputMapping!]!\n}\n\ntype Input {\n  solid: Solid!\n  definition: InputDefinition!\n  dependsOn: [Output!]!\n  isDynamicCollect: Boolean!\n}\n\ntype InputDefinition {\n  name: String!\n  description: String\n  type: DagsterType!\n  metadataEntries: [MetadataEntry!]!\n}\n\ntype InputMapping {\n  mappedInput: Input!\n  definition: InputDefinition!\n}\n\ninterface ISolidDefinition {\n  name: String!\n  description: String\n  metadata: [MetadataItemDefinition!]!\n  inputDefinitions: [InputDefinition!]!\n  outputDefinitions: [OutputDefinition!]!\n  assetNodes: [AssetNode!]!\n  pools: [String!]!\n}\n\ntype Output {\n  solid: Solid!\n  definition: OutputDefinition!\n  dependedBy: [Input!]!\n}\n\ntype OutputDefinition {\n  name: String!\n  description: String\n  isDynamic: Boolean\n  type: DagsterType!\n  metadataEntries: [MetadataEntry!]!\n}\n\ntype OutputMapping {\n  mappedOutput: Output!\n  definition: OutputDefinition!\n}\n\ntype ResourceRequirement {\n  resourceKey: String!\n}\n\ntype Solid {\n  name: String!\n  definition: ISolidDefinition!\n  inputs: [Input!]!\n  outputs: [Output!]!\n  isDynamicMapped: Boolean!\n}\n\ninterface SolidContainer {\n  id: ID!\n  name: String!\n  description: String\n  solids: [Solid!]!\n  solidHandle(handleID: String!): SolidHandle\n  solidHandles(parentHandleID: String): [SolidHandle!]!\n  modes: [Mode!]!\n}\n\ntype SolidDefinition implements ISolidDefinition {\n  name: String!\n  description: String\n  metadata: [MetadataItemDefinition!]!\n  inputDefinitions: [InputDefinition!]!\n  outputDefinitions: [OutputDefinition!]!\n  assetNodes: [AssetNode!]!\n  pools: [String!]!\n  configField: ConfigTypeField\n  requiredResources: [ResourceRequirement!]!\n  pool: String\n}\n\ntype SolidHandle {\n  handleID: String!\n  solid: Solid!\n  parent: SolidHandle\n  stepStats(limit: Int): SolidStepStatsOrError\n}\n\nunion SolidStepStatsOrError = SolidStepStatsConnection | SolidStepStatusUnavailableError\n\ntype SolidStepStatsConnection {\n  nodes: [RunStepStats!]!\n}\n\ntype SolidStepStatusUnavailableError implements Error {\n  message: String!\n}\n\ntype Table {\n  schema: TableSchema!\n  records: [String!]!\n}\n\ntype TableSchema {\n  constraints: TableConstraints\n  columns: [TableColumn!]!\n}\n\ntype TableColumn {\n  name: String!\n  type: String!\n  description: String\n  constraints: TableColumnConstraints!\n  tags: [DefinitionTag!]!\n}\n\ntype TableColumnConstraints {\n  nullable: Boolean!\n  unique: Boolean!\n  other: [String!]!\n}\n\ntype TableConstraints {\n  other: [String!]!\n}\n\ntype TableColumnDep {\n  assetKey: AssetKey!\n  columnName: String!\n}\n\ntype TableColumnLineageEntry {\n  columnName: String!\n  columnDeps: [TableColumnDep!]!\n}\n\ntype PipelineTag {\n  key: String!\n  value: String!\n}\n\ntype PipelineTagAndValues {\n  key: String!\n  values: [String!]!\n}\n\ntype NodeInvocationSite {\n  pipeline: Pipeline!\n  solidHandle: SolidHandle!\n}\n\ntype UsedSolid {\n  definition: ISolidDefinition!\n  invocations: [NodeInvocationSite!]!\n}\n\ntype AppManagedComponent {\n  componentId: String!\n  componentType: String!\n  attributes: String!\n}\n\ntype AppManagedComponents {\n  locationName: String!\n  components: [AppManagedComponent!]!\n}\n\nunion AppManagedComponentsOrError = AppManagedComponents | PythonError\n\ntype SetAppManagedComponentSuccess {\n  component: AppManagedComponent!\n}\n\nunion SetAppManagedComponentResult =\n  | SetAppManagedComponentSuccess\n  | AppManagedComponentValidationError\n  | UnauthorizedError\n  | PythonError\n\ntype AppManagedComponentValidationError {\n  componentId: String!\n  message: String!\n  errors: [String!]!\n}\n\ntype DeleteAppManagedComponentSuccess {\n  locationName: String!\n  componentId: String!\n}\n\nunion DeleteAppManagedComponentResult =\n  | DeleteAppManagedComponentSuccess\n  | UnauthorizedError\n  | PythonError\n\ntype Component {\n  componentId: String!\n  componentType: String!\n  isAppManaged: Boolean!\n  attributes: String\n  defsStateKey: String\n  defsStateManagementType: DefsStateManagementType\n  defsStateInfo: DefsKeyStateInfo\n}\n\ntype Components {\n  locationName: String!\n  components: [Component!]!\n}\n\nunion ComponentsOrError = Components | PythonError\n\ntype RefreshComponentStateSuccess {\n  component: Component!\n}\n\ntype RefreshComponentStateAccepted {\n  locationName: String!\n  defsStateKey: String!\n}\n\ntype RefreshComponentStateError {\n  locationName: String!\n  defsStateKey: String!\n  message: String!\n}\n\nunion RefreshComponentStateResult =\n  | RefreshComponentStateSuccess\n  | RefreshComponentStateAccepted\n  | RefreshComponentStateError\n  | UnauthorizedError\n  | PythonError\n\nscalar JsonSchema\n\ntype ComponentFormSchema {\n  dataSchema: JsonSchema!\n  uiSchema: JsonSchema!\n}\n\ntype ComponentTypeInfo {\n  name: String!\n  namespace: String!\n  example: String!\n  schema: JsonSchema\n  formSchema: ComponentFormSchema\n  description: String\n  owners: [String!]\n  tags: [String!]\n  produces: [String!]\n  isAppManaged: Boolean!\n}\n\ntype ComponentTypes {\n  locationName: String!\n  componentTypes: [ComponentTypeInfo!]!\n}\n\nunion ComponentTypesOrError = ComponentTypes | RepositoryLocationNotFound | PythonError\n\ntype Query {\n  version: String!\n  repositoriesOrError(repositorySelector: RepositorySelector): RepositoriesOrError!\n  repositoryOrError(repositorySelector: RepositorySelector!): RepositoryOrError!\n  workspaceOrError: WorkspaceOrError!\n  locationStatusesOrError: WorkspaceLocationStatusEntriesOrError!\n  workspaceLocationEntryOrError(name: String!): WorkspaceLocationEntryOrError\n  pipelineOrError(params: PipelineSelector!): PipelineOrError!\n  resourcesOrError(pipelineSelector: PipelineSelector!): ResourcesOrError!\n  pipelineSnapshotOrError(\n    snapshotId: String\n    activePipelineSelector: PipelineSelector\n  ): PipelineSnapshotOrError!\n  graphOrError(selector: GraphSelector): GraphOrError!\n  scheduler: SchedulerOrError!\n  scheduleOrError(scheduleSelector: ScheduleSelector!): ScheduleOrError!\n  schedulesOrError(\n    repositorySelector: RepositorySelector!\n    scheduleStatus: InstigationStatus\n  ): SchedulesOrError!\n  topLevelResourceDetailsOrError(resourceSelector: ResourceSelector!): ResourceDetailsOrError!\n  allTopLevelResourceDetailsOrError(\n    repositorySelector: RepositorySelector!\n  ): ResourceDetailsListOrError!\n  utilizedEnvVarsOrError(repositorySelector: RepositorySelector!): EnvVarWithConsumersOrError!\n  sensorOrError(sensorSelector: SensorSelector!): SensorOrError!\n  sensorsOrError(\n    repositorySelector: RepositorySelector!\n    sensorStatus: InstigationStatus\n  ): SensorsOrError!\n  instigationStateOrError(\n    instigationSelector: InstigationSelector!\n    id: String\n  ): InstigationStateOrError!\n  instigationStatesOrError(repositoryID: String!): InstigationStatesOrError!\n  partitionSetsOrError(\n    repositorySelector: RepositorySelector!\n    pipelineName: String!\n  ): PartitionSetsOrError!\n  partitionSetOrError(\n    repositorySelector: RepositorySelector!\n    partitionSetName: String\n  ): PartitionSetOrError!\n  pipelineRunsOrError(filter: RunsFilter, cursor: String, limit: Int): RunsOrError!\n  pipelineRunOrError(runId: ID!): RunOrError!\n  runsOrError(filter: RunsFilter, cursor: String, limit: Int): RunsOrError!\n  runOrError(runId: ID!): RunOrError!\n  runsFeedOrError(\n    limit: Int!\n    cursor: String\n    view: RunsFeedView!\n    filter: RunsFilter\n  ): RunsFeedConnectionOrError!\n  runsFeedCountOrError(view: RunsFeedView!, filter: RunsFilter): RunsFeedCountOrError!\n  runTagKeysOrError: RunTagKeysOrError\n  runTagsOrError(tagKeys: [String!], valuePrefix: String, limit: Int): RunTagsOrError\n  runIdsOrError(filter: RunsFilter, cursor: String, limit: Int): RunIdsOrError!\n  runGroupOrError(runId: ID!): RunGroupOrError!\n  isPipelineConfigValid(\n    pipeline: PipelineSelector!\n    mode: String!\n    runConfigData: RunConfigData\n  ): PipelineConfigValidationResult!\n  executionPlanOrError(\n    pipeline: PipelineSelector!\n    mode: String!\n    runConfigData: RunConfigData\n  ): ExecutionPlanOrError!\n  runConfigSchemaOrError(selector: PipelineSelector!, mode: String): RunConfigSchemaOrError!\n  instance: Instance!\n  assetsOrError(\n    prefix: [String!]\n    assetKeys: [AssetKeyInput!]\n    cursor: String\n    limit: Int\n  ): AssetsOrError!\n  assetRecordsOrError(prefix: [String!], cursor: String, limit: Int): AssetRecordsOrError!\n  assetOrError(assetKey: AssetKeyInput!): AssetOrError!\n  assetNodes(\n    group: AssetGroupSelector\n    pipeline: PipelineSelector\n    assetKeys: [AssetKeyInput!]\n    loadMaterializations: Boolean = false\n  ): [AssetNode!]!\n  assetNodeOrError(assetKey: AssetKeyInput!): AssetNodeOrError!\n  assetNodeAdditionalRequiredKeys(assetKeys: [AssetKeyInput!]!): [AssetKey!]!\n  assetNodeDefinitionCollisions(assetKeys: [AssetKeyInput!]!): [AssetNodeDefinitionCollision!]!\n  partitionBackfillOrError(backfillId: String!): PartitionBackfillOrError!\n  assetBackfillPreview(params: AssetBackfillPreviewParams!): [AssetPartitions!]!\n  partitionBackfillsOrError(\n    status: BulkActionStatus\n    cursor: String\n    limit: Int\n    filters: BulkActionsFilter\n  ): PartitionBackfillsOrError!\n  permissions: [Permission!]!\n  canBulkTerminate: Boolean!\n  assetsLatestInfo(assetKeys: [AssetKeyInput!]!): [AssetLatestInfo!]!\n  logsForRun(runId: ID!, afterCursor: String, limit: Int): EventConnectionOrError!\n  capturedLogsMetadata(logKey: [String!]!): CapturedLogsMetadata!\n  capturedLogs(logKey: [String!]!, cursor: String, limit: Int): CapturedLogs!\n  shouldShowNux: Boolean!\n  test: TestFields\n  autoMaterializeAssetEvaluationsOrError(\n    assetKey: AssetKeyInput!\n    limit: Int!\n    cursor: String\n  ): AutoMaterializeAssetEvaluationRecordsOrError\n  truePartitionsForAutomationConditionEvaluationNode(\n    assetKey: AssetKeyInput\n    assetJobKey: AssetJobKeyInput\n    evaluationId: ID!\n    nodeUniqueId: String\n  ): [String!]!\n  autoMaterializeEvaluationsForEvaluationId(\n    evaluationId: ID!\n  ): AutoMaterializeAssetEvaluationRecordsOrError\n  assetConditionEvaluationForPartition(\n    assetKey: AssetKeyInput\n    evaluationId: ID!\n    partition: String!\n  ): AssetConditionEvaluation\n  assetConditionEvaluationRecordsOrError(\n    assetKey: AssetKeyInput\n    assetCheckKey: AssetCheckHandleInput\n    assetJobKey: AssetJobKeyInput\n    limit: Int!\n    cursor: String\n  ): AssetConditionEvaluationRecordsOrError\n  assetConditionEvaluationsForEvaluationId(\n    evaluationId: ID!\n  ): AssetConditionEvaluationRecordsOrError\n  autoMaterializeTicks(\n    dayRange: Int\n    dayOffset: Int\n    limit: Int\n    cursor: String\n    statuses: [InstigationTickStatus!]\n    beforeTimestamp: Float\n    afterTimestamp: Float\n  ): [InstigationTick!]!\n  assetCheckExecutions(\n    assetKey: AssetKeyInput!\n    checkName: String!\n    partition: String\n    limit: Int!\n    cursor: String\n  ): [AssetCheckExecution!]!\n  latestDefsStateInfo: DefsStateInfo\n  appManagedComponentsForLocationOrError(locationName: String!): AppManagedComponentsOrError!\n  componentsForLocationOrError(locationName: String!): ComponentsOrError!\n  componentTypesForLocationOrError(locationName: String!): ComponentTypesOrError!\n}\n\nunion WorkspaceOrError = Workspace | PythonError\n\nunion WorkspaceLocationStatusEntriesOrError = WorkspaceLocationStatusEntries | PythonError\n\ntype WorkspaceLocationStatusEntries {\n  entries: [WorkspaceLocationStatusEntry!]!\n}\n\ntype WorkspaceLocationStatusEntry {\n  id: ID!\n  name: String!\n  loadStatus: RepositoryLocationLoadStatus!\n  updateTimestamp: Float!\n  versionKey: String!\n  permissions: [Permission!]!\n}\n\nunion ResourcesOrError =\n  | ResourceConnection\n  | PipelineNotFoundError\n  | InvalidSubsetError\n  | PythonError\n\ntype ResourceConnection {\n  resources: [Resource!]!\n}\n\nunion GraphOrError = Graph | GraphNotFoundError | PythonError\n\ntype Graph implements SolidContainer {\n  id: ID!\n  name: String!\n  description: String\n  solids: [Solid!]!\n  solidHandle(handleID: String!): SolidHandle\n  solidHandles(parentHandleID: String): [SolidHandle!]!\n  modes: [Mode!]!\n}\n\ntype GraphNotFoundError implements Error {\n  message: String!\n  graphName: String!\n  repositoryName: String!\n  repositoryLocationName: String!\n}\n\ninput GraphSelector {\n  graphName: String!\n  repositoryName: String!\n  repositoryLocationName: String!\n}\n\nunion ResourceDetailsOrError = ResourceDetails | ResourceNotFoundError | PythonError\n\nunion ResourceDetailsListOrError = ResourceDetailsList | RepositoryNotFoundError | PythonError\n\ntype ResourceDetailsList {\n  results: [ResourceDetails!]!\n}\n\nunion EnvVarWithConsumersOrError = EnvVarWithConsumersList | PythonError\n\ntype EnvVarWithConsumersList {\n  results: [EnvVarWithConsumers!]!\n}\n\ntype EnvVarWithConsumers {\n  envVarName: String!\n  envVarConsumers: [EnvVarConsumer!]!\n}\n\ntype EnvVarConsumer {\n  type: EnvVarConsumerType!\n  name: String!\n}\n\nenum EnvVarConsumerType {\n  RESOURCE\n}\n\nunion RunsFeedConnectionOrError = RunsFeedConnection | PythonError\n\ntype RunsFeedConnection {\n  results: [RunsFeedEntry!]!\n  cursor: String!\n  hasMore: Boolean!\n}\n\nenum RunsFeedView {\n  ROOTS\n  RUNS\n  BACKFILLS\n}\n\nunion RunsFeedCountOrError = RunsFeedCount | PythonError\n\ntype RunsFeedCount {\n  count: Int!\n}\n\nunion RunTagKeysOrError = PythonError | RunTagKeys\n\ntype RunTagKeys {\n  keys: [String!]!\n}\n\nunion RunTagsOrError = PythonError | RunTags\n\ntype RunTags {\n  tags: [PipelineTagAndValues!]!\n}\n\nunion RunIdsOrError = RunIds | InvalidPipelineRunsFilterError | PythonError\n\ntype RunIds {\n  results: [String!]!\n}\n\nunion AssetRecordsOrError = AssetRecordConnection | PythonError\n\ntype AssetRecordConnection {\n  assets: [AssetRecord!]!\n  cursor: String\n}\n\ntype AssetRecord {\n  id: String!\n  key: AssetKey!\n}\n\ninput AssetGroupSelector {\n  groupName: String!\n  repositoryName: String!\n  repositoryLocationName: String!\n}\n\nunion AssetNodeOrError = AssetNode | AssetNotFoundError\n\ntype AssetNodeDefinitionCollision {\n  assetKey: AssetKey!\n  repositories: [Repository!]!\n}\n\nunion PartitionBackfillOrError = PartitionBackfill | BackfillNotFoundError | PythonError\n\ntype BackfillNotFoundError implements Error {\n  message: String!\n  backfillId: String!\n}\n\ntype AssetPartitions {\n  assetKey: AssetKey!\n  partitions: AssetBackfillTargetPartitions\n}\n\ninput AssetBackfillPreviewParams {\n  partitionNames: [String!]!\n  assetSelection: [AssetKeyInput!]!\n}\n\nunion PartitionBackfillsOrError = PartitionBackfills | PythonError\n\ntype PartitionBackfills {\n  results: [PartitionBackfill!]!\n}\n\ntype AssetLatestInfo {\n  id: ID!\n  assetKey: AssetKey!\n  latestMaterialization: MaterializationEvent\n  unstartedRunIds: [String!]!\n  inProgressRunIds: [String!]!\n  latestRun: Run\n}\n\nunion EventConnectionOrError = EventConnection | RunNotFoundError | PythonError\n\ntype CapturedLogsMetadata {\n  stdoutDownloadUrl: String\n  stdoutLocation: String\n  stderrDownloadUrl: String\n  stderrLocation: String\n}\n\ntype TestFields {\n  alwaysException: String\n  asyncString: String\n}\n\nunion AutoMaterializeAssetEvaluationRecordsOrError =\n  | AutoMaterializeAssetEvaluationRecords\n  | AutoMaterializeAssetEvaluationNeedsMigrationError\n\ntype AutoMaterializeAssetEvaluationRecords {\n  records: [AutoMaterializeAssetEvaluationRecord!]!\n}\n\ntype AutoMaterializeAssetEvaluationNeedsMigrationError implements Error {\n  message: String!\n}\n\ninput AssetJobKeyInput {\n  jobName: String!\n}\n\ntype AssetConditionEvaluation {\n  rootUniqueId: String!\n  evaluationNodes: [AssetConditionEvaluationNode!]!\n}\n\nunion AssetConditionEvaluationNode =\n  | UnpartitionedAssetConditionEvaluationNode\n  | PartitionedAssetConditionEvaluationNode\n  | SpecificPartitionAssetConditionEvaluationNode\n\ntype UnpartitionedAssetConditionEvaluationNode {\n  uniqueId: String!\n  description: String!\n  entityKey: EntityKey!\n  startTimestamp: Float\n  endTimestamp: Float\n  metadataEntries: [MetadataEntry!]!\n  status: AssetConditionEvaluationStatus!\n  childUniqueIds: [String!]!\n}\n\nunion EntityKey = AssetKey | AssetCheckhandle | AssetJobKey\n\ntype AssetJobKey {\n  jobName: String!\n}\n\nenum AssetConditionEvaluationStatus {\n  TRUE\n  FALSE\n  SKIPPED\n}\n\ntype PartitionedAssetConditionEvaluationNode {\n  uniqueId: String!\n  description: String!\n  entityKey: EntityKey!\n  startTimestamp: Float\n  endTimestamp: Float\n  numTrue: Int\n  numCandidates: Int\n  childUniqueIds: [String!]!\n}\n\ntype SpecificPartitionAssetConditionEvaluationNode {\n  uniqueId: String!\n  description: String!\n  entityKey: EntityKey!\n  metadataEntries: [MetadataEntry!]!\n  status: AssetConditionEvaluationStatus!\n  childUniqueIds: [String!]!\n}\n\nunion AssetConditionEvaluationRecordsOrError =\n  | AssetConditionEvaluationRecords\n  | AutoMaterializeAssetEvaluationNeedsMigrationError\n\ntype AssetConditionEvaluationRecords {\n  records: [AssetConditionEvaluationRecord!]!\n}\n\ntype AssetConditionEvaluationRecord {\n  id: ID!\n  evaluationId: ID!\n  runIds: [String!]!\n  timestamp: Float!\n  assetKey: AssetKey\n  entityKey: EntityKey!\n  numRequested: Int\n  startTimestamp: Float\n  endTimestamp: Float\n  isLegacy: Boolean!\n  evaluation: AssetConditionEvaluation!\n  rootUniqueId: String!\n  evaluationNodes: [AutomationConditionEvaluationNode!]!\n}\n\ntype AutomationConditionEvaluationNode {\n  uniqueId: String!\n  userLabel: String\n  expandedLabel: [String!]!\n  entityKey: EntityKey!\n  startTimestamp: Float\n  endTimestamp: Float\n  numTrue: Int\n  numCandidates: Int\n  isPartitioned: Boolean!\n  childUniqueIds: [String!]!\n  operatorType: String!\n  sinceMetadata: SinceConditionMetadata\n}\n\ntype SinceConditionMetadata {\n  triggerEvaluationId: ID\n  triggerTimestamp: Float\n  resetEvaluationId: ID\n  resetTimestamp: Float\n}\n\ntype Mutation {\n  launchPipelineExecution(executionParams: ExecutionParams!): LaunchRunResult!\n  launchRun(executionParams: ExecutionParams!): LaunchRunResult!\n  launchMultipleRuns(executionParamsList: [ExecutionParams!]!): LaunchMultipleRunsResultOrError!\n  launchPipelineReexecution(\n    executionParams: ExecutionParams\n    reexecutionParams: ReexecutionParams\n  ): LaunchRunReexecutionResult!\n  launchRunReexecution(\n    executionParams: ExecutionParams\n    reexecutionParams: ReexecutionParams\n  ): LaunchRunReexecutionResult!\n  startSchedule(scheduleSelector: ScheduleSelector!): ScheduleMutationResult!\n  stopRunningSchedule(\n    id: String\n    scheduleOriginId: String\n    scheduleSelectorId: String\n  ): ScheduleMutationResult!\n  resetSchedule(scheduleSelector: ScheduleSelector!): ScheduleMutationResult!\n  startSensor(sensorSelector: SensorSelector!): SensorOrError!\n  setSensorCursor(cursor: String, sensorSelector: SensorSelector!): SensorOrError!\n  stopSensor(\n    id: String\n    jobOriginId: String\n    jobSelectorId: String\n  ): StopSensorMutationResultOrError!\n  resetSensor(sensorSelector: SensorSelector!): SensorOrError!\n  sensorDryRun(cursor: String, selectorData: SensorSelector!): SensorDryRunResult!\n  scheduleDryRun(selectorData: ScheduleSelector!, timestamp: Float): ScheduleDryRunResult!\n  terminatePipelineExecution(\n    runId: String!\n    terminatePolicy: TerminateRunPolicy\n  ): TerminateRunResult!\n  terminateRun(runId: String!, terminatePolicy: TerminateRunPolicy): TerminateRunResult!\n  terminateRuns(\n    runIds: [String!]!\n    terminatePolicy: TerminateRunPolicy\n  ): TerminateRunsResultOrError!\n  deletePipelineRun(runId: String!): DeletePipelineRunResult!\n  deleteRun(runId: String!): DeletePipelineRunResult!\n  reloadRepositoryLocation(repositoryLocationName: String!): ReloadRepositoryLocationMutationResult!\n  reloadWorkspace: ReloadWorkspaceMutationResult!\n  shutdownRepositoryLocation(\n    repositoryLocationName: String!\n  ): ShutdownRepositoryLocationMutationResult!\n  wipeAssets(assetPartitionRanges: [PartitionsByAssetSelector!]!): AssetWipeMutationResult!\n  reportRunlessAssetEvents(\n    eventParams: ReportRunlessAssetEventsParams!\n  ): ReportRunlessAssetEventsResult!\n  reportAssetCheckEvaluations(\n    eventParams: ReportAssetCheckEvaluationsParams!\n  ): ReportAssetCheckEvaluationResult!\n  launchPartitionBackfill(backfillParams: LaunchBackfillParams!): LaunchBackfillResult!\n  resumePartitionBackfill(backfillId: String!): ResumeBackfillResult!\n  reexecutePartitionBackfill(reexecutionParams: ReexecutionParams): LaunchBackfillResult!\n  cancelPartitionBackfill(backfillId: String!): CancelBackfillResult!\n  logTelemetry(\n    action: String!\n    clientId: String!\n    clientTime: String!\n    metadata: String!\n  ): LogTelemetryMutationResult!\n  setNuxSeen: Boolean!\n  addDynamicPartition(\n    partitionKey: String!\n    partitionsDefName: String!\n    repositorySelector: RepositorySelector!\n  ): AddDynamicPartitionResult!\n  deleteDynamicPartitions(\n    partitionKeys: [String!]!\n    partitionsDefName: String!\n    repositorySelector: RepositorySelector!\n  ): DeleteDynamicPartitionsResult!\n  setAppManagedComponent(\n    attributes: String!\n    componentId: String!\n    componentType: String!\n    locationName: String!\n  ): SetAppManagedComponentResult!\n  deleteAppManagedComponent(\n    componentId: String!\n    locationName: String!\n  ): DeleteAppManagedComponentResult!\n  refreshComponentState(defsStateKey: String!, locationName: String!): RefreshComponentStateResult!\n  setAutoMaterializePaused(paused: Boolean!): Boolean!\n  setConcurrencyLimit(concurrencyKey: String!, limit: Int!): Boolean!\n  deleteConcurrencyLimit(concurrencyKey: String!): Boolean!\n  freeConcurrencySlotsForRun(runId: String!): Boolean!\n  freeConcurrencySlots(runId: String!, stepKey: String): Boolean!\n}\n\ninput ReexecutionParams {\n  parentRunId: String!\n  strategy: ReexecutionStrategy!\n  extraTags: [ExecutionTag!]\n  useParentRunTags: Boolean\n}\n\nenum ReexecutionStrategy {\n  FROM_ASSET_FAILURE\n  FROM_FAILURE\n  ALL_STEPS\n}\n\nunion SensorDryRunResult =\n  | PythonError\n  | SensorNotFoundError\n  | UnauthorizedError\n  | DryRunInstigationTick\n\nunion ScheduleDryRunResult =\n  | DryRunInstigationTick\n  | PythonError\n  | ScheduleNotFoundError\n  | UnauthorizedError\n\nunion TerminateRunsResultOrError = TerminateRunsResult | PythonError\n\ntype TerminateRunsResult {\n  terminateRunResults: [TerminateRunResult!]!\n}\n\nunion AssetWipeMutationResult =\n  | AssetNotFoundError\n  | UnauthorizedError\n  | PythonError\n  | UnsupportedOperationError\n  | AssetWipeSuccess\n\ntype AssetWipeSuccess {\n  assetPartitionRanges: [AssetPartitionRange!]!\n}\n\ntype AssetPartitionRange {\n  assetKey: AssetKey!\n  partitionRange: PartitionRange\n}\n\ntype PartitionRange {\n  start: String!\n  end: String!\n}\n\nunion ReportRunlessAssetEventsResult =\n  | UnauthorizedError\n  | PythonError\n  | ReportRunlessAssetEventsSuccess\n\ntype ReportRunlessAssetEventsSuccess {\n  assetKey: AssetKey!\n}\n\nunion ReportAssetCheckEvaluationResult =\n  | UnauthorizedError\n  | PythonError\n  | ReportAssetCheckEvaluationsSuccess\n\ntype ReportAssetCheckEvaluationsSuccess {\n  assetKey: AssetKey!\n  checkName: String!\n}\n\ninput ReportAssetCheckEvaluationsParams {\n  assetKey: AssetKeyInput!\n  checkName: String!\n  passed: Boolean!\n  severity: AssetCheckSeverity\n  serializedMetadata: String\n  partitionKeys: [String]\n  description: String\n}\n\nunion ResumeBackfillResult = ResumeBackfillSuccess | UnauthorizedError | PythonError\n\ntype ResumeBackfillSuccess {\n  backfillId: String!\n}\n\nunion CancelBackfillResult = CancelBackfillSuccess | UnauthorizedError | PythonError\n\ntype CancelBackfillSuccess {\n  backfillId: String!\n}\n\nunion LogTelemetryMutationResult = LogTelemetrySuccess | PythonError\n\ntype LogTelemetrySuccess {\n  action: String!\n}\n\nunion AddDynamicPartitionResult =\n  | AddDynamicPartitionSuccess\n  | UnauthorizedError\n  | PythonError\n  | DuplicateDynamicPartitionError\n\ntype AddDynamicPartitionSuccess {\n  partitionsDefName: String!\n  partitionKey: String!\n}\n\nunion DeleteDynamicPartitionsResult =\n  | DeleteDynamicPartitionsSuccess\n  | UnauthorizedError\n  | PythonError\n\ntype DeleteDynamicPartitionsSuccess {\n  partitionsDefName: String!\n}\n\ntype Subscription {\n  pipelineRunLogs(runId: ID!, cursor: String): PipelineRunLogsSubscriptionPayload!\n  capturedLogs(logKey: [String!]!, cursor: String): CapturedLogs!\n  locationStateChangeEvents: LocationStateChangeSubscription!\n}\n"}