gpp-client 26.10.8.dev2__tar.gz → 26.11.1.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/PKG-INFO +1 -1
  2. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/__init__.py +12 -0
  3. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/custom_fields.py +249 -13
  4. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/custom_typing_fields.py +30 -0
  5. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/enums.py +19 -2
  6. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/input_types.py +117 -10
  7. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/.gitignore +0 -0
  8. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/LICENSE +0 -0
  9. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/README.md +0 -0
  10. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/graphql/README.md +0 -0
  11. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/pyproject.toml +0 -0
  12. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/__init__.py +0 -0
  13. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/__init__.py +0 -0
  14. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/cli.py +0 -0
  15. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/__init__.py +0 -0
  16. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/attachment.py +0 -0
  17. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/goats.py +0 -0
  18. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/observation.py +0 -0
  19. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/program.py +0 -0
  20. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/scheduler.py +0 -0
  21. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/site_status.py +0 -0
  22. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/target.py +0 -0
  23. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/commands/workflow_state.py +0 -0
  24. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/console.py +0 -0
  25. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/output.py +0 -0
  26. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/cli/utils.py +0 -0
  27. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/client.py +0 -0
  28. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/constants.py +0 -0
  29. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/__init__.py +0 -0
  30. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/atom.py +0 -0
  31. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/attachment.py +0 -0
  32. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/base.py +0 -0
  33. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/goats.py +0 -0
  34. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/observation.py +0 -0
  35. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/program.py +0 -0
  36. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/scheduler.py +0 -0
  37. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/site_status.py +0 -0
  38. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/target.py +0 -0
  39. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/domains/workflow_state.py +0 -0
  40. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/environment.py +0 -0
  41. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/exceptions.py +0 -0
  42. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/async_base_client.py +0 -0
  43. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/base_model.py +0 -0
  44. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/base_operation.py +0 -0
  45. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/client.py +0 -0
  46. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/clone_observation.py +0 -0
  47. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/clone_target.py +0 -0
  48. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/create_call_for_proposals.py +0 -0
  49. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/create_observation.py +0 -0
  50. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/create_program.py +0 -0
  51. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/create_target_by_program_id.py +0 -0
  52. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/create_target_by_program_reference.py +0 -0
  53. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/create_target_by_proposal_reference.py +0 -0
  54. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/custom_mutations.py +0 -0
  55. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/custom_queries.py +0 -0
  56. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/delete_call_for_proposals_by_id.py +0 -0
  57. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/delete_observation_by_id.py +0 -0
  58. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/delete_observation_by_reference.py +0 -0
  59. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/delete_program_by_id.py +0 -0
  60. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/delete_target_by_id.py +0 -0
  61. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/exceptions.py +0 -0
  62. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/fragments.py +0 -0
  63. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_call_for_proposals.py +0 -0
  64. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_calls_for_proposals.py +0 -0
  65. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_goats_config_options.py +0 -0
  66. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_goats_configuration_requests.py +0 -0
  67. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_goats_observations.py +0 -0
  68. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_goats_programs.py +0 -0
  69. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_observation.py +0 -0
  70. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_observation_attachments_by_id.py +0 -0
  71. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_observation_attachments_by_reference.py +0 -0
  72. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_observation_workflow_state_by_id.py +0 -0
  73. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_observation_workflow_state_by_reference.py +0 -0
  74. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_observations.py +0 -0
  75. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_program_attachments_by_id.py +0 -0
  76. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_program_attachments_by_proposal_reference.py +0 -0
  77. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_program_attachments_by_reference.py +0 -0
  78. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_program_by_id.py +0 -0
  79. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_program_by_proposal_reference.py +0 -0
  80. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_program_by_reference.py +0 -0
  81. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_programs.py +0 -0
  82. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_scheduler_all_programs_id.py +0 -0
  83. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_scheduler_programs.py +0 -0
  84. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_target_by_id.py +0 -0
  85. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/get_targets.py +0 -0
  86. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/obs_calculation_update.py +0 -0
  87. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/observation_edit.py +0 -0
  88. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/package_environment.py +0 -0
  89. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/ping.py +0 -0
  90. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/program_edit.py +0 -0
  91. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/restore_call_for_proposals_by_id.py +0 -0
  92. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/restore_observation_by_id.py +0 -0
  93. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/restore_observation_by_reference.py +0 -0
  94. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/restore_program_by_id.py +0 -0
  95. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/restore_target_by_id.py +0 -0
  96. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/scheduler_executed_events.py +0 -0
  97. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/scheduler_observations_updates.py +0 -0
  98. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/set_observation_workflow_state.py +0 -0
  99. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/target_edit.py +0 -0
  100. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_call_for_proposals_by_id.py +0 -0
  101. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_calls_for_proposals.py +0 -0
  102. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_observation_by_id.py +0 -0
  103. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_observation_by_reference.py +0 -0
  104. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_observations.py +0 -0
  105. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_program_by_id.py +0 -0
  106. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_programs.py +0 -0
  107. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_target_by_id.py +0 -0
  108. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/generated/update_targets.py +0 -0
  109. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/logging_utils.py +0 -0
  110. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/rest/__init__.py +0 -0
  111. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/rest/client.py +0 -0
  112. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/rest/models.py +0 -0
  113. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/rest/utils.py +0 -0
  114. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/settings.py +0 -0
  115. {gpp_client-26.10.8.dev2 → gpp_client-26.11.1.dev1}/src/gpp_client/urls.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: gpp-client
3
- Version: 26.10.8.dev2
3
+ Version: 26.11.1.dev1
4
4
  Summary: Gemini Program Platform client.
5
5
  Project-URL: Homepage, https://github.com/gemini-hlsw/gpp-client
6
6
  Project-URL: Source, https://github.com/gemini-hlsw/gpp-client
@@ -122,6 +122,7 @@ from .enums import (
122
122
  Flamingos2ReadMode,
123
123
  Flamingos2ReadoutMode,
124
124
  Flamingos2Reads,
125
+ Flamingos2WindowCover,
125
126
  FluxDensityContinuumIntegratedUnits,
126
127
  FluxDensityContinuumSurfaceUnits,
127
128
  FocalPlane,
@@ -193,6 +194,7 @@ from .enums import (
193
194
  MosSlitPriority,
194
195
  ObsActiveStatus,
195
196
  ObservationPriority,
197
+ ObservationQaState,
196
198
  ObservationValidationCode,
197
199
  ObservationValidationCodeSeverity,
198
200
  ObservationWorkflowState,
@@ -1349,6 +1351,7 @@ from .input_types import (
1349
1351
  WhereConfigurationRequest,
1350
1352
  WhereDataset,
1351
1353
  WhereDatasetChronicleEntry,
1354
+ WhereDatasetQaCounts,
1352
1355
  WhereDatasetReference,
1353
1356
  WhereEqDatabaseOperation,
1354
1357
  WhereEqExecutionEventType,
@@ -1373,6 +1376,7 @@ from .input_types import (
1373
1376
  WhereGroup,
1374
1377
  WhereImagingConfigOption,
1375
1378
  WhereObservation,
1379
+ WhereObservationQa,
1376
1380
  WhereObservationReference,
1377
1381
  WhereObservatoryEq,
1378
1382
  WhereOptionBoolean,
@@ -1383,6 +1387,7 @@ from .input_types import (
1383
1387
  WhereOptionEqGender,
1384
1388
  WhereOptionEqImagingCapability,
1385
1389
  WhereOptionEqInstrument,
1390
+ WhereOptionEqObservationQaState,
1386
1391
  WhereOptionEqObservingModeType,
1387
1392
  WhereOptionEqPartner,
1388
1393
  WhereOptionEqQaState,
@@ -1406,6 +1411,7 @@ from .input_types import (
1406
1411
  WhereOrderGroupId,
1407
1412
  WhereOrderInt,
1408
1413
  WhereOrderLong,
1414
+ WhereOrderNonNegInt,
1409
1415
  WhereOrderObservationId,
1410
1416
  WhereOrderObservationPriority,
1411
1417
  WhereOrderObservationWorkflowState,
@@ -1857,6 +1863,7 @@ __all__ = [
1857
1863
  "Flamingos2Reads",
1858
1864
  "Flamingos2StaticInput",
1859
1865
  "Flamingos2StepInput",
1866
+ "Flamingos2WindowCover",
1860
1867
  "FluxDensity",
1861
1868
  "FluxDensityContinuumIntegratedInput",
1862
1869
  "FluxDensityContinuumIntegratedUnits",
@@ -2671,6 +2678,7 @@ __all__ = [
2671
2678
  "ObservationEditObservationEditValueTimingWindowsEndTimingWindowEndAt",
2672
2679
  "ObservationPriority",
2673
2680
  "ObservationPropertiesInput",
2681
+ "ObservationQaState",
2674
2682
  "ObservationTimesInput",
2675
2683
  "ObservationValidationCode",
2676
2684
  "ObservationValidationCodeSeverity",
@@ -3035,6 +3043,7 @@ __all__ = [
3035
3043
  "WhereConfigurationRequest",
3036
3044
  "WhereDataset",
3037
3045
  "WhereDatasetChronicleEntry",
3046
+ "WhereDatasetQaCounts",
3038
3047
  "WhereDatasetReference",
3039
3048
  "WhereEqDatabaseOperation",
3040
3049
  "WhereEqExecutionEventType",
@@ -3059,6 +3068,7 @@ __all__ = [
3059
3068
  "WhereGroup",
3060
3069
  "WhereImagingConfigOption",
3061
3070
  "WhereObservation",
3071
+ "WhereObservationQa",
3062
3072
  "WhereObservationReference",
3063
3073
  "WhereObservatoryEq",
3064
3074
  "WhereOptionBoolean",
@@ -3069,6 +3079,7 @@ __all__ = [
3069
3079
  "WhereOptionEqGender",
3070
3080
  "WhereOptionEqImagingCapability",
3071
3081
  "WhereOptionEqInstrument",
3082
+ "WhereOptionEqObservationQaState",
3072
3083
  "WhereOptionEqObservingModeType",
3073
3084
  "WhereOptionEqPartner",
3074
3085
  "WhereOptionEqQaState",
@@ -3092,6 +3103,7 @@ __all__ = [
3092
3103
  "WhereOrderGroupId",
3093
3104
  "WhereOrderInt",
3094
3105
  "WhereOrderLong",
3106
+ "WhereOrderNonNegInt",
3095
3107
  "WhereOrderObservationId",
3096
3108
  "WhereOrderObservationPriority",
3097
3109
  "WhereOrderObservationWorkflowState",
@@ -62,8 +62,10 @@ from .custom_typing_fields import (
62
62
  ConditionsMeasurementGraphQLField,
63
63
  ConfigChangeEstimateGraphQLField,
64
64
  ConfigurationConditionsGraphQLField,
65
+ ConfigurationFlamingos2ImagingGraphQLField,
65
66
  ConfigurationFlamingos2LongSlitGraphQLField,
66
67
  ConfigurationFlamingos2MosGraphQLField,
68
+ ConfigurationGhostIfuGraphQLField,
67
69
  ConfigurationGmosNorthIfuGraphQLField,
68
70
  ConfigurationGmosNorthImagingGraphQLField,
69
71
  ConfigurationGmosNorthLongSlitGraphQLField,
@@ -73,6 +75,7 @@ from .custom_typing_fields import (
73
75
  ConfigurationGmosSouthLongSlitGraphQLField,
74
76
  ConfigurationGmosSouthMosGraphQLField,
75
77
  ConfigurationGnirsIfuGraphQLField,
78
+ ConfigurationGnirsImagingGraphQLField,
76
79
  ConfigurationGnirsLongSlitGraphQLField,
77
80
  ConfigurationGraphQLField,
78
81
  ConfigurationIgrins2LongSlitGraphQLField,
@@ -100,6 +103,7 @@ from .custom_typing_fields import (
100
103
  DatasetEstimateGraphQLField,
101
104
  DatasetEventGraphQLField,
102
105
  DatasetGraphQLField,
106
+ DatasetQaCountsGraphQLField,
103
107
  DatasetReferenceGraphQLField,
104
108
  DatasetSelectResultGraphQLField,
105
109
  DateIntervalGraphQLField,
@@ -280,6 +284,7 @@ from .custom_typing_fields import (
280
284
  MonitoringProgramReferenceGraphQLField,
281
285
  NonsiderealGraphQLField,
282
286
  ObservationGraphQLField,
287
+ ObservationQaGraphQLField,
283
288
  ObservationReferenceGraphQLField,
284
289
  ObservationSelectResultGraphQLField,
285
290
  ObservationTimeEstimateGraphQLField,
@@ -1723,11 +1728,16 @@ class CalibrationProgramReferenceFields(GraphQLField):
1723
1728
  class CalibrationSetFields(GraphQLField):
1724
1729
  """One row of a daytime calibration: a kind, an exposure count, the GCAL
1725
1730
  configuration (flats and arcs only) and one instrument setup. The generator
1726
- expands it into one atom holding `count` identical DAY_CAL steps."""
1731
+ expands it into one atom: `count` identical DAY_CAL steps for a manual kind,
1732
+ the steps the Smart GCAL lookup returns for a smart kind."""
1727
1733
 
1728
1734
  kind: "CalibrationSetGraphQLField" = CalibrationSetGraphQLField("kind")
1729
1735
  count: "CalibrationSetGraphQLField" = CalibrationSetGraphQLField("count")
1730
- "Exposures taken with this setup."
1736
+ "Steps this set contributes to the sequence: `explicitCount` for a manual\nstep, the number of steps the Smart GCAL lookup returns for a smart step, or\nnull when the lookup finds no mapping for the setup."
1737
+ explicit_count: "CalibrationSetGraphQLField" = CalibrationSetGraphQLField(
1738
+ "explicitCount"
1739
+ )
1740
+ "Exposures requested for this setup, as given on input. Always present for\na manual step, always null for a smart step."
1731
1741
 
1732
1742
  @classmethod
1733
1743
  def gcal(cls) -> "CalibrationSetGcalFields":
@@ -1744,13 +1754,26 @@ class CalibrationSetFields(GraphQLField):
1744
1754
  """GMOS South setup, when the instrument is GMOS South."""
1745
1755
  return GmosSouthDynamicFields("gmosSouth")
1746
1756
 
1757
+ @classmethod
1758
+ def flamingos_2(cls) -> "Flamingos2DynamicFields":
1759
+ """Flamingos 2 setup, when the instrument is Flamingos 2. Its window cover
1760
+ is exactly as entered; a set never defaults it."""
1761
+ return Flamingos2DynamicFields("flamingos2")
1762
+
1763
+ @classmethod
1764
+ def igrins_2(cls) -> "Igrins2DynamicFields":
1765
+ """IGRINS-2 setup, when the instrument is IGRINS-2."""
1766
+ return Igrins2DynamicFields("igrins2")
1767
+
1747
1768
  def fields(
1748
1769
  self,
1749
1770
  *subfields: Union[
1750
1771
  CalibrationSetGraphQLField,
1751
1772
  "CalibrationSetGcalFields",
1773
+ "Flamingos2DynamicFields",
1752
1774
  "GmosNorthDynamicFields",
1753
1775
  "GmosSouthDynamicFields",
1776
+ "Igrins2DynamicFields",
1754
1777
  ],
1755
1778
  ) -> "CalibrationSetFields":
1756
1779
  """Subfields should come from the CalibrationSetFields class"""
@@ -2400,6 +2423,23 @@ class ConfigurationConditionsFields(GraphQLField):
2400
2423
  return self
2401
2424
 
2402
2425
 
2426
+ class ConfigurationFlamingos2ImagingFields(GraphQLField):
2427
+ filters: "ConfigurationFlamingos2ImagingGraphQLField" = (
2428
+ ConfigurationFlamingos2ImagingGraphQLField("filters")
2429
+ )
2430
+
2431
+ def fields(
2432
+ self, *subfields: ConfigurationFlamingos2ImagingGraphQLField
2433
+ ) -> "ConfigurationFlamingos2ImagingFields":
2434
+ """Subfields should come from the ConfigurationFlamingos2ImagingFields class"""
2435
+ self._subfields.extend(subfields)
2436
+ return self
2437
+
2438
+ def alias(self, alias: str) -> "ConfigurationFlamingos2ImagingFields":
2439
+ self._alias = alias
2440
+ return self
2441
+
2442
+
2403
2443
  class ConfigurationFlamingos2LongSlitFields(GraphQLField):
2404
2444
  disperser: "ConfigurationFlamingos2LongSlitGraphQLField" = (
2405
2445
  ConfigurationFlamingos2LongSlitGraphQLField("disperser")
@@ -2434,6 +2474,23 @@ class ConfigurationFlamingos2MosFields(GraphQLField):
2434
2474
  return self
2435
2475
 
2436
2476
 
2477
+ class ConfigurationGhostIfuFields(GraphQLField):
2478
+ resolution_mode: "ConfigurationGhostIfuGraphQLField" = (
2479
+ ConfigurationGhostIfuGraphQLField("resolutionMode")
2480
+ )
2481
+
2482
+ def fields(
2483
+ self, *subfields: ConfigurationGhostIfuGraphQLField
2484
+ ) -> "ConfigurationGhostIfuFields":
2485
+ """Subfields should come from the ConfigurationGhostIfuFields class"""
2486
+ self._subfields.extend(subfields)
2487
+ return self
2488
+
2489
+ def alias(self, alias: str) -> "ConfigurationGhostIfuFields":
2490
+ self._alias = alias
2491
+ return self
2492
+
2493
+
2437
2494
  class ConfigurationGmosNorthIfuFields(GraphQLField):
2438
2495
  grating: "ConfigurationGmosNorthIfuGraphQLField" = (
2439
2496
  ConfigurationGmosNorthIfuGraphQLField("grating")
@@ -2594,6 +2651,26 @@ class ConfigurationGnirsIfuFields(GraphQLField):
2594
2651
  return self
2595
2652
 
2596
2653
 
2654
+ class ConfigurationGnirsImagingFields(GraphQLField):
2655
+ camera: "ConfigurationGnirsImagingGraphQLField" = (
2656
+ ConfigurationGnirsImagingGraphQLField("camera")
2657
+ )
2658
+ filters: "ConfigurationGnirsImagingGraphQLField" = (
2659
+ ConfigurationGnirsImagingGraphQLField("filters")
2660
+ )
2661
+
2662
+ def fields(
2663
+ self, *subfields: ConfigurationGnirsImagingGraphQLField
2664
+ ) -> "ConfigurationGnirsImagingFields":
2665
+ """Subfields should come from the ConfigurationGnirsImagingFields class"""
2666
+ self._subfields.extend(subfields)
2667
+ return self
2668
+
2669
+ def alias(self, alias: str) -> "ConfigurationGnirsImagingFields":
2670
+ self._alias = alias
2671
+ return self
2672
+
2673
+
2597
2674
  class ConfigurationGnirsLongSlitFields(GraphQLField):
2598
2675
  grating: "ConfigurationGnirsLongSlitGraphQLField" = (
2599
2676
  ConfigurationGnirsLongSlitGraphQLField("grating")
@@ -2674,6 +2751,10 @@ class ConfigurationObservingModeFields(GraphQLField):
2674
2751
  def gmos_south_imaging(cls) -> "ConfigurationGmosSouthImagingFields":
2675
2752
  return ConfigurationGmosSouthImagingFields("gmosSouthImaging")
2676
2753
 
2754
+ @classmethod
2755
+ def flamingos_2_imaging(cls) -> "ConfigurationFlamingos2ImagingFields":
2756
+ return ConfigurationFlamingos2ImagingFields("flamingos2Imaging")
2757
+
2677
2758
  @classmethod
2678
2759
  def flamingos_2_long_slit(cls) -> "ConfigurationFlamingos2LongSlitFields":
2679
2760
  return ConfigurationFlamingos2LongSlitFields("flamingos2LongSlit")
@@ -2682,6 +2763,10 @@ class ConfigurationObservingModeFields(GraphQLField):
2682
2763
  def flamingos_2_mos(cls) -> "ConfigurationFlamingos2MosFields":
2683
2764
  return ConfigurationFlamingos2MosFields("flamingos2Mos")
2684
2765
 
2766
+ @classmethod
2767
+ def ghost_ifu(cls) -> "ConfigurationGhostIfuFields":
2768
+ return ConfigurationGhostIfuFields("ghostIfu")
2769
+
2685
2770
  @classmethod
2686
2771
  def gnirs_long_slit(cls) -> "ConfigurationGnirsLongSlitFields":
2687
2772
  return ConfigurationGnirsLongSlitFields("gnirsLongSlit")
@@ -2690,6 +2775,10 @@ class ConfigurationObservingModeFields(GraphQLField):
2690
2775
  def gnirs_ifu(cls) -> "ConfigurationGnirsIfuFields":
2691
2776
  return ConfigurationGnirsIfuFields("gnirsIfu")
2692
2777
 
2778
+ @classmethod
2779
+ def gnirs_imaging(cls) -> "ConfigurationGnirsImagingFields":
2780
+ return ConfigurationGnirsImagingFields("gnirsImaging")
2781
+
2693
2782
  @classmethod
2694
2783
  def igrins_2_long_slit(cls) -> "ConfigurationIgrins2LongSlitFields":
2695
2784
  return ConfigurationIgrins2LongSlitFields("igrins2LongSlit")
@@ -2702,8 +2791,10 @@ class ConfigurationObservingModeFields(GraphQLField):
2702
2791
  self,
2703
2792
  *subfields: Union[
2704
2793
  ConfigurationObservingModeGraphQLField,
2794
+ "ConfigurationFlamingos2ImagingFields",
2705
2795
  "ConfigurationFlamingos2LongSlitFields",
2706
2796
  "ConfigurationFlamingos2MosFields",
2797
+ "ConfigurationGhostIfuFields",
2707
2798
  "ConfigurationGmosNorthIfuFields",
2708
2799
  "ConfigurationGmosNorthImagingFields",
2709
2800
  "ConfigurationGmosNorthLongSlitFields",
@@ -2713,6 +2804,7 @@ class ConfigurationObservingModeFields(GraphQLField):
2713
2804
  "ConfigurationGmosSouthLongSlitFields",
2714
2805
  "ConfigurationGmosSouthMosFields",
2715
2806
  "ConfigurationGnirsIfuFields",
2807
+ "ConfigurationGnirsImagingFields",
2716
2808
  "ConfigurationGnirsLongSlitFields",
2717
2809
  "ConfigurationIgrins2LongSlitFields",
2718
2810
  "ConfigurationVisitorFields",
@@ -3536,6 +3628,36 @@ class DatasetEventFields(GraphQLField):
3536
3628
  return self
3537
3629
 
3538
3630
 
3631
+ class DatasetQaCountsFields(GraphQLField):
3632
+ """The number of an observation's written science datasets in each QA state.
3633
+ Datasets that were never written, such as those of aborted exposures, are not
3634
+ counted."""
3635
+
3636
+ total: "DatasetQaCountsGraphQLField" = DatasetQaCountsGraphQLField("total")
3637
+ "All science datasets."
3638
+ pass_: "DatasetQaCountsGraphQLField" = DatasetQaCountsGraphQLField("pass")
3639
+ "Science datasets whose QA state is PASS."
3640
+ usable: "DatasetQaCountsGraphQLField" = DatasetQaCountsGraphQLField("usable")
3641
+ "Science datasets whose QA state is USABLE."
3642
+ fail: "DatasetQaCountsGraphQLField" = DatasetQaCountsGraphQLField("fail")
3643
+ "Science datasets whose QA state is FAIL."
3644
+ not_assessed: "DatasetQaCountsGraphQLField" = DatasetQaCountsGraphQLField(
3645
+ "notAssessed"
3646
+ )
3647
+ "Science datasets with no QA state yet."
3648
+
3649
+ def fields(
3650
+ self, *subfields: DatasetQaCountsGraphQLField
3651
+ ) -> "DatasetQaCountsFields":
3652
+ """Subfields should come from the DatasetQaCountsFields class"""
3653
+ self._subfields.extend(subfields)
3654
+ return self
3655
+
3656
+ def alias(self, alias: str) -> "DatasetQaCountsFields":
3657
+ self._alias = alias
3658
+ return self
3659
+
3660
+
3539
3661
  class DatasetReferenceFields(GraphQLField):
3540
3662
  """Dataset reference type, broken into its constituient parts and including
3541
3663
  a formatted label."""
@@ -4658,6 +4780,10 @@ class Flamingos2DynamicFields(GraphQLField):
4658
4780
  "Flamingos 2 readout mode."
4659
4781
  reads: "Flamingos2DynamicGraphQLField" = Flamingos2DynamicGraphQLField("reads")
4660
4782
  "Flamingos 2 reads."
4783
+ window_cover: "Flamingos2DynamicGraphQLField" = Flamingos2DynamicGraphQLField(
4784
+ "windowCover"
4785
+ )
4786
+ "Flamingos 2 window cover. Null means automatic."
4661
4787
 
4662
4788
  @classmethod
4663
4789
  def central_wavelength(cls) -> "WavelengthFields":
@@ -8927,6 +9053,14 @@ class GroupFields(GraphQLField):
8927
9053
 
8928
9054
  same_night: "GroupGraphQLField" = GroupGraphQLField("sameNight")
8929
9055
  "If true, all observations in this group must be scheduled on the same night.\nMutually exclusive with `maximumInterval`.\nOnly valid for AND groups."
9056
+ minimum_observations_per_night: "GroupGraphQLField" = GroupGraphQLField(
9057
+ "minimumObservationsPerNight"
9058
+ )
9059
+ "On any night when at least one of this group's observations completes, at\nleast this many must complete that night. Nights on which none complete are\nunconstrained. Null means no minimum. Every completion counts, including an\nOR group's extras, through the night the group completes; later ones don't.\nA per-observation calibration group (a science observation with its\ncalibrations) counts as one observation. Daytime calibrations are ignored,\nso it completes with its science observation and any tellurics. Mutually\nexclusive with `sameNight`."
9060
+ maximum_observations_per_night: "GroupGraphQLField" = GroupGraphQLField(
9061
+ "maximumObservationsPerNight"
9062
+ )
9063
+ "No more than this many of this group's observations may complete on any one\nnight. Null means no maximum. Counted as for `minimumObservationsPerNight`.\nMutually exclusive with `sameNight`."
8930
9064
 
8931
9065
  @classmethod
8932
9066
  def elements(cls, include_deleted: bool) -> "GroupElementFields":
@@ -9023,13 +9157,39 @@ class GroupElementFields(GraphQLField):
9023
9157
 
9024
9158
 
9025
9159
  class GroupProgressFields(GraphQLField):
9026
- """A group's progress toward satisfying its constraints."""
9160
+ """A group's progress toward satisfying its constraints.
9161
+
9162
+ An observation's timing is taken from its execution: it starts with its first
9163
+ execution event other than a slew, and completes with its last event, as in
9164
+ `ExecutionTimestamps`. A visitor instrument observation, which records only
9165
+ slews, is instead timed by its time charge: it starts with its first slew and
9166
+ completes where its charge ends, as in its visits'
9167
+ `timeChargeInvoice.interval`. The charge end is recorded some time after the
9168
+ fact (the charge runs until the next chargeable visit at the site starts or the
9169
+ night ends), and until then the observation completes at its slew.
9170
+
9171
+ A complete observation whose QA state (see `ObservationQa.state`) is `USABLE`
9172
+ or `FAIL` is rejected: it never counts as complete, and it isn't checked
9173
+ against the group's constraints. One not yet assessed counts, including one
9174
+ with some datasets still unassessed: until a person settles its QA state, an
9175
+ observation is assumed to be good, so that group progress never sends the
9176
+ scheduler back into a group without a QA decision. The calibrations in a
9177
+ per-observation calibration group go with their science observation: they are
9178
+ left out when it is, and rejected when it is. A subgroup with only rejected
9179
+ elements is itself rejected. A group with no `minimumRequired` requires all of
9180
+ its elements, rejected ones included, so it is `UNSCHEDULABLE` until a minimum
9181
+ is set. With a minimum, rejected elements are left out, and a replacement (a
9182
+ new observation) may take a rejected one's place. A rejection can still break
9183
+ the group's time constraints (its intervals, same night, or observations per
9184
+ night), or the order of an ordered group whose later elements are already
9185
+ complete, since the completions left are checked without it, and a replacement
9186
+ observed later can't undo that."""
9027
9187
 
9028
9188
  status: "GroupProgressGraphQLField" = GroupProgressGraphQLField("status")
9029
9189
  completed: "GroupProgressGraphQLField" = GroupProgressGraphQLField("completed")
9030
- "The number of the group's complete elements that count toward it, a subgroup\ncounting as one element. An ordered group's elements after the first\n`required` don't count, nor do an unordered group's completions after it is\ncomplete. Always zero while empty or pending, and fewer than `required` while\nongoing."
9190
+ "The number of the group's complete elements that count toward it, a subgroup\ncounting as one element. An ordered group's elements after the first\n`required` don't count, nor do an unordered group's completions after it is\ncomplete. Always zero while empty or pending, and fewer than `required` while\nongoing, except in a group with a minimum observations per night whose night\nin progress is short of it and may still take an extra observation."
9031
9191
  required: "GroupProgressGraphQLField" = GroupProgressGraphQLField("required")
9032
- "The number of elements the group requires: its `minimumRequired`, or every\nviable (non-inactive) element when that is unset. Zero only when empty."
9192
+ "The number of elements the group requires: its `minimumRequired`, or, when\nthat is unset, every element that isn't left out (see `GroupStatus.EMPTY`),\nrejected ones included. Zero only when empty."
9033
9193
 
9034
9194
  @classmethod
9035
9195
  def next_window(cls) -> "GroupWindowFields":
@@ -9059,9 +9219,9 @@ class GroupWindowFields(GraphQLField):
9059
9219
  scheduler to combine with it."""
9060
9220
 
9061
9221
  start: "GroupWindowGraphQLField" = GroupWindowGraphQLField("start")
9062
- "The earliest time the next element may start, per the minimum interval."
9222
+ "The earliest time the next element may start, per the minimum interval, or\nthe end of the night in progress once it holds the group's maximum\nobservations per night."
9063
9223
  end: "GroupWindowGraphQLField" = GroupWindowGraphQLField("end")
9064
- "The latest time the next element may finish, per the maximum interval or the\nend of the night for a same-night group. Null if there is no such limit.\nFitting an observation into the window (say, by its time estimate) is left to\nthe scheduler."
9224
+ "The latest time the next element may finish, per the maximum interval, the\nend of the night for a same-night group, or the end of the night in progress\nwhile it is short of the group's minimum observations per night. Null if\nthere is no such limit.\nFitting an observation into the window (say, by its time estimate) is left to\nthe scheduler."
9065
9225
 
9066
9226
  def fields(self, *subfields: GroupWindowGraphQLField) -> "GroupWindowFields":
9067
9227
  """Subfields should come from the GroupWindowFields class"""
@@ -9099,6 +9259,11 @@ class GroupedImagingVariantFields(GraphQLField):
9099
9259
  """Offset generator to use for the sky datasets."""
9100
9260
  return TelescopeConfigGeneratorFields("skyOffsets")
9101
9261
 
9262
+ exposures_per_offset: "GroupedImagingVariantGraphQLField" = (
9263
+ GroupedImagingVariantGraphQLField("exposuresPerOffset")
9264
+ )
9265
+ "Number of consecutive science exposures to collect at each object offset\nposition before moving to the next position. The overall exposure count still\ncaps the total, so the final position may receive fewer exposures."
9266
+
9102
9267
  def fields(
9103
9268
  self,
9104
9269
  *subfields: Union[
@@ -9868,6 +10033,11 @@ class InterleavedImagingVariantFields(GraphQLField):
9868
10033
  """Offset generator to use for the sky datasets."""
9869
10034
  return TelescopeConfigGeneratorFields("skyOffsets")
9870
10035
 
10036
+ exposures_per_offset: "InterleavedImagingVariantGraphQLField" = (
10037
+ InterleavedImagingVariantGraphQLField("exposuresPerOffset")
10038
+ )
10039
+ "Number of consecutive science exposures to collect in one filter at each\nobject offset position before moving on to the next filter and position. A\nfilter's final position may receive fewer exposures so that its overall\nexposure count is honored."
10040
+
9871
10041
  def fields(
9872
10042
  self,
9873
10043
  *subfields: Union[
@@ -10880,6 +11050,11 @@ class ObservationFields(GraphQLField):
10880
11050
  held around this observation's pointing."""
10881
11051
  return ArchiveDuplicationFields("archiveDuplication")
10882
11052
 
11053
+ @classmethod
11054
+ def qa(cls) -> "ObservationQaFields":
11055
+ """The QA verdict for the observation as a whole."""
11056
+ return ObservationQaFields("qa")
11057
+
10883
11058
  def fields(
10884
11059
  self,
10885
11060
  *subfields: Union[
@@ -10892,6 +11067,7 @@ class ObservationFields(GraphQLField):
10892
11067
  "ConstraintSetFields",
10893
11068
  "ExecutionFields",
10894
11069
  "ItcInterface",
11070
+ "ObservationQaFields",
10895
11071
  "ObservationReferenceFields",
10896
11072
  "ObservingModeFields",
10897
11073
  "PosAngleConstraintFields",
@@ -10912,6 +11088,45 @@ class ObservationFields(GraphQLField):
10912
11088
  return self
10913
11089
 
10914
11090
 
11091
+ class ObservationQaFields(GraphQLField):
11092
+ """The QA verdict for an observation as a whole. It is calculated from the QA
11093
+ states of the observation's written science datasets unless staff override it.
11094
+ Acquisition datasets are ignored, as are datasets that were never written
11095
+ (such as those of aborted exposures):
11096
+
11097
+ * no science datasets, or any not yet assessed: no verdict (null)
11098
+ * all datasets PASS: PASS
11099
+ * all datasets FAIL: FAIL
11100
+ * otherwise: USABLE
11101
+
11102
+ An override stays in place as datasets are added or their QA states change,
11103
+ until staff clear it. Even when some datasets fail, the observation as a
11104
+ whole may pass."""
11105
+
11106
+ state: "ObservationQaGraphQLField" = ObservationQaGraphQLField("state")
11107
+ "The effective QA state: the staff override when there is one, otherwise the\ncalculated state. Null when the observation has no verdict."
11108
+ computed: "ObservationQaGraphQLField" = ObservationQaGraphQLField("computed")
11109
+ "The QA state calculated from the science datasets, ignoring any override.\nNull when there are no science datasets or any is not yet assessed."
11110
+ override: "ObservationQaGraphQLField" = ObservationQaGraphQLField("override")
11111
+ "The staff-assigned QA state, if any. Set it with `qaStateOverride` in\n`ObservationPropertiesInput`."
11112
+
11113
+ @classmethod
11114
+ def datasets(cls) -> "DatasetQaCountsFields":
11115
+ """The number of science datasets in each QA state."""
11116
+ return DatasetQaCountsFields("datasets")
11117
+
11118
+ def fields(
11119
+ self, *subfields: Union[ObservationQaGraphQLField, "DatasetQaCountsFields"]
11120
+ ) -> "ObservationQaFields":
11121
+ """Subfields should come from the ObservationQaFields class"""
11122
+ self._subfields.extend(subfields)
11123
+ return self
11124
+
11125
+ def alias(self, alias: str) -> "ObservationQaFields":
11126
+ self._alias = alias
11127
+ return self
11128
+
11129
+
10915
11130
  class ObservationReferenceFields(GraphQLField):
10916
11131
  """Observation reference type, broken into its constituient parts and including
10917
11132
  a formatted label."""
@@ -11508,6 +11723,11 @@ class PreImagingVariantFields(GraphQLField):
11508
11723
  def offset_4(cls) -> "OffsetFields":
11509
11724
  return OffsetFields("offset4")
11510
11725
 
11726
+ exposures_per_offset: "PreImagingVariantGraphQLField" = (
11727
+ PreImagingVariantGraphQLField("exposuresPerOffset")
11728
+ )
11729
+ "Number of consecutive science exposures to collect in one filter at each\noffset position before moving on to the next position. A filter's final\nposition may receive fewer exposures so that its overall exposure count is\nhonored."
11730
+
11511
11731
  def fields(
11512
11732
  self, *subfields: Union[PreImagingVariantGraphQLField, "OffsetFields"]
11513
11733
  ) -> "PreImagingVariantFields":
@@ -14430,10 +14650,12 @@ class TargetEnvironmentFields(GraphQLField):
14430
14650
  @classmethod
14431
14651
  def guide_environment(cls) -> "GuideEnvironmentFields":
14432
14652
  """The guide target(s) and related information.
14433
- If a guide target has been set via `guideTargetName`, that target will be
14434
- returned. If it not found or not usable, an error will be returned.
14435
- If no guide target has been set, or it has been invalidated by observation/target
14436
- changes, Gaia will be searched for the best guide target available."""
14653
+ If a guide target has been selected via `setGuideTargetName`, that target will
14654
+ be returned. If it is not found or not usable, an error naming it will be
14655
+ returned; select another guide target or clear the selection to return to
14656
+ automatic selection. A selection is never discarded by observation or target
14657
+ changes. If no guide target has been selected, Gaia will be searched for the
14658
+ best guide target available."""
14437
14659
  return GuideEnvironmentFields("guideEnvironment")
14438
14660
 
14439
14661
  @classmethod
@@ -14462,7 +14684,7 @@ class TargetEnvironmentFields(GraphQLField):
14462
14684
  guide_target_name: "TargetEnvironmentGraphQLField" = TargetEnvironmentGraphQLField(
14463
14685
  "guideTargetName"
14464
14686
  )
14465
- "The name of the guide target, if any, set by `setGuideTargetName`.\nIf the name is no longer valid or a sequence cannot be generated, null will\nbe returned."
14687
+ "The name of the guide target, if any, selected by `setGuideTargetName`. The\nselection is returned until it is cleared or replaced, whether or not the\nstar is usable with the current observation settings."
14466
14688
  use_blind_offset: "TargetEnvironmentGraphQLField" = TargetEnvironmentGraphQLField(
14467
14689
  "useBlindOffset"
14468
14690
  )
@@ -14900,6 +15122,17 @@ class TimeChargeInvoiceFields(GraphQLField):
14900
15122
  time along with any automatically applied discounts (e.g., for bad weather)
14901
15123
  and manual adjustments made by staff."""
14902
15124
 
15125
+ @classmethod
15126
+ def interval(cls) -> "TimestampIntervalFields":
15127
+ """The interval over which the raw 'executionTime' was measured, before any
15128
+ discounts. For most visits this is the same as the visit's own 'interval',
15129
+ from its first execution event to its last. Visitor instrument visits,
15130
+ which record only slew events, are charged from the slew until the next
15131
+ chargeable visit at the site starts or, once the night is over, until
15132
+ nautical dawn, so for them it extends to that point. Null if the visit has
15133
+ no events."""
15134
+ return TimestampIntervalFields("interval")
15135
+
14903
15136
  @classmethod
14904
15137
  def execution_time(cls) -> "CategorizedTimeFields":
14905
15138
  """Raw execution time."""
@@ -14928,6 +15161,7 @@ class TimeChargeInvoiceFields(GraphQLField):
14928
15161
  "CategorizedTimeFields",
14929
15162
  "TimeChargeCorrectionFields",
14930
15163
  "TimeChargeDiscountInterface",
15164
+ "TimestampIntervalFields",
14931
15165
  ],
14932
15166
  ) -> "TimeChargeInvoiceFields":
14933
15167
  """Subfields should come from the TimeChargeInvoiceFields class"""
@@ -15897,7 +16131,9 @@ class VisitFields(GraphQLField):
15897
16131
 
15898
16132
  @classmethod
15899
16133
  def interval(cls) -> "TimestampIntervalFields":
15900
- """Time interval during which this visit executed."""
16134
+ """Time interval from the visit's first execution event to its last. For the
16135
+ interval over which time is charged, which differs for visitor instrument
16136
+ visits, see 'timeChargeInvoice.interval'."""
15901
16137
  return TimestampIntervalFields("interval")
15902
16138
 
15903
16139
  @classmethod
@@ -1931,6 +1931,18 @@ class ObservationGraphQLField(GraphQLField):
1931
1931
  return self
1932
1932
 
1933
1933
 
1934
+ class ObservationQaGraphQLField(GraphQLField):
1935
+ def alias(self, alias: str) -> "ObservationQaGraphQLField":
1936
+ self._alias = alias
1937
+ return self
1938
+
1939
+
1940
+ class DatasetQaCountsGraphQLField(GraphQLField):
1941
+ def alias(self, alias: str) -> "DatasetQaCountsGraphQLField":
1942
+ self._alias = alias
1943
+ return self
1944
+
1945
+
1934
1946
  class ArchiveMatchGraphQLField(GraphQLField):
1935
1947
  def alias(self, alias: str) -> "ArchiveMatchGraphQLField":
1936
1948
  self._alias = alias
@@ -2009,6 +2021,12 @@ class ConfigurationGmosSouthImagingGraphQLField(GraphQLField):
2009
2021
  return self
2010
2022
 
2011
2023
 
2024
+ class ConfigurationFlamingos2ImagingGraphQLField(GraphQLField):
2025
+ def alias(self, alias: str) -> "ConfigurationFlamingos2ImagingGraphQLField":
2026
+ self._alias = alias
2027
+ return self
2028
+
2029
+
2012
2030
  class ConfigurationFlamingos2LongSlitGraphQLField(GraphQLField):
2013
2031
  def alias(self, alias: str) -> "ConfigurationFlamingos2LongSlitGraphQLField":
2014
2032
  self._alias = alias
@@ -2045,6 +2063,18 @@ class ConfigurationGnirsIfuGraphQLField(GraphQLField):
2045
2063
  return self
2046
2064
 
2047
2065
 
2066
+ class ConfigurationGnirsImagingGraphQLField(GraphQLField):
2067
+ def alias(self, alias: str) -> "ConfigurationGnirsImagingGraphQLField":
2068
+ self._alias = alias
2069
+ return self
2070
+
2071
+
2072
+ class ConfigurationGhostIfuGraphQLField(GraphQLField):
2073
+ def alias(self, alias: str) -> "ConfigurationGhostIfuGraphQLField":
2074
+ self._alias = alias
2075
+ return self
2076
+
2077
+
2048
2078
  class ConfigurationIgrins2LongSlitGraphQLField(GraphQLField):
2049
2079
  def alias(self, alias: str) -> "ConfigurationIgrins2LongSlitGraphQLField":
2050
2080
  self._alias = alias