gpp-client 26.9.0.dev3__tar.gz → 26.10.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 (114) hide show
  1. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/PKG-INFO +1 -1
  2. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/__init__.py +4 -0
  3. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/custom_fields.py +259 -17
  4. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/custom_mutations.py +3 -2
  5. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/custom_queries.py +48 -0
  6. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/custom_typing_fields.py +24 -0
  7. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/enums.py +18 -1
  8. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/input_types.py +6 -3
  9. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/.gitignore +0 -0
  10. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/LICENSE +0 -0
  11. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/README.md +0 -0
  12. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/graphql/README.md +0 -0
  13. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/pyproject.toml +0 -0
  14. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/__init__.py +0 -0
  15. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/__init__.py +0 -0
  16. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/cli.py +0 -0
  17. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/__init__.py +0 -0
  18. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/attachment.py +0 -0
  19. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/goats.py +0 -0
  20. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/observation.py +0 -0
  21. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/program.py +0 -0
  22. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/scheduler.py +0 -0
  23. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/site_status.py +0 -0
  24. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/target.py +0 -0
  25. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/commands/workflow_state.py +0 -0
  26. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/console.py +0 -0
  27. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/output.py +0 -0
  28. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/cli/utils.py +0 -0
  29. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/client.py +0 -0
  30. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/constants.py +0 -0
  31. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/__init__.py +0 -0
  32. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/atom.py +0 -0
  33. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/attachment.py +0 -0
  34. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/base.py +0 -0
  35. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/goats.py +0 -0
  36. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/observation.py +0 -0
  37. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/program.py +0 -0
  38. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/scheduler.py +0 -0
  39. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/site_status.py +0 -0
  40. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/target.py +0 -0
  41. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/domains/workflow_state.py +0 -0
  42. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/environment.py +0 -0
  43. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/exceptions.py +0 -0
  44. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/async_base_client.py +0 -0
  45. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/base_model.py +0 -0
  46. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/base_operation.py +0 -0
  47. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/client.py +0 -0
  48. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/clone_observation.py +0 -0
  49. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/clone_target.py +0 -0
  50. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/create_call_for_proposals.py +0 -0
  51. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/create_observation.py +0 -0
  52. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/create_program.py +0 -0
  53. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/create_target_by_program_id.py +0 -0
  54. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/create_target_by_program_reference.py +0 -0
  55. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/create_target_by_proposal_reference.py +0 -0
  56. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/delete_call_for_proposals_by_id.py +0 -0
  57. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/delete_observation_by_id.py +0 -0
  58. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/delete_observation_by_reference.py +0 -0
  59. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/delete_program_by_id.py +0 -0
  60. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/delete_target_by_id.py +0 -0
  61. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/exceptions.py +0 -0
  62. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/fragments.py +0 -0
  63. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_call_for_proposals.py +0 -0
  64. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_calls_for_proposals.py +0 -0
  65. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_goats_config_options.py +0 -0
  66. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_goats_configuration_requests.py +0 -0
  67. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_goats_observations.py +0 -0
  68. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_goats_programs.py +0 -0
  69. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_observation.py +0 -0
  70. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_observation_attachments_by_id.py +0 -0
  71. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_observation_attachments_by_reference.py +0 -0
  72. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_observation_workflow_state_by_id.py +0 -0
  73. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_observation_workflow_state_by_reference.py +0 -0
  74. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_observations.py +0 -0
  75. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_program_attachments_by_id.py +0 -0
  76. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_program_attachments_by_proposal_reference.py +0 -0
  77. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_program_attachments_by_reference.py +0 -0
  78. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_program_by_id.py +0 -0
  79. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_program_by_proposal_reference.py +0 -0
  80. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_program_by_reference.py +0 -0
  81. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_programs.py +0 -0
  82. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_scheduler_all_programs_id.py +0 -0
  83. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_scheduler_programs.py +0 -0
  84. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_target_by_id.py +0 -0
  85. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/get_targets.py +0 -0
  86. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/obs_calculation_update.py +0 -0
  87. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/observation_edit.py +0 -0
  88. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/package_environment.py +0 -0
  89. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/ping.py +0 -0
  90. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/program_edit.py +0 -0
  91. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/restore_call_for_proposals_by_id.py +0 -0
  92. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/restore_observation_by_id.py +0 -0
  93. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/restore_observation_by_reference.py +0 -0
  94. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/restore_program_by_id.py +0 -0
  95. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/restore_target_by_id.py +0 -0
  96. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/scheduler_observations_updates.py +0 -0
  97. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/set_observation_workflow_state.py +0 -0
  98. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/target_edit.py +0 -0
  99. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_call_for_proposals_by_id.py +0 -0
  100. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_calls_for_proposals.py +0 -0
  101. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_observation_by_id.py +0 -0
  102. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_observation_by_reference.py +0 -0
  103. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_observations.py +0 -0
  104. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_program_by_id.py +0 -0
  105. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_programs.py +0 -0
  106. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_target_by_id.py +0 -0
  107. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/generated/update_targets.py +0 -0
  108. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/logging_utils.py +0 -0
  109. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/rest/__init__.py +0 -0
  110. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/rest/client.py +0 -0
  111. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/rest/models.py +0 -0
  112. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/rest/utils.py +0 -0
  113. {gpp_client-26.9.0.dev3 → gpp_client-26.10.1.dev1}/src/gpp_client/settings.py +0 -0
  114. {gpp_client-26.9.0.dev3 → gpp_client-26.10.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.9.0.dev3
3
+ Version: 26.10.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
@@ -110,6 +110,7 @@ from .enums import (
110
110
  ExecutionEventType,
111
111
  ExecutionState,
112
112
  Existence,
113
+ ExposureTimeViolationSeverity,
113
114
  FieldLens,
114
115
  Flamingos2CustomSlitWidth,
115
116
  Flamingos2Decker,
@@ -213,6 +214,7 @@ from .enums import (
213
214
  ScienceBand,
214
215
  ScienceMode,
215
216
  ScienceSubtype,
217
+ ScorpioFpu,
216
218
  SeeingTrend,
217
219
  SequenceCommand,
218
220
  SequenceType,
@@ -1751,6 +1753,7 @@ __all__ = [
1751
1753
  "ExecutionState",
1752
1754
  "Existence",
1753
1755
  "ExposureTimeModeInput",
1756
+ "ExposureTimeViolationSeverity",
1754
1757
  "FastTurnaroundInput",
1755
1758
  "FieldLens",
1756
1759
  "Flamingos2AtomInput",
@@ -2823,6 +2826,7 @@ __all__ = [
2823
2826
  "ScienceRequirementsDetailsExposureTimeModeTimeAndCountTime",
2824
2827
  "ScienceRequirementsInput",
2825
2828
  "ScienceSubtype",
2829
+ "ScorpioFpu",
2826
2830
  "SeeingTrend",
2827
2831
  "SequenceCommand",
2828
2832
  "SequenceType",
@@ -37,6 +37,8 @@ from .custom_typing_fields import (
37
37
  CalculatedCategorizedTimeRangeGraphQLField,
38
38
  CalculatedExecutionDigestGraphQLField,
39
39
  CalculatedObservationWorkflowGraphQLField,
40
+ CalibrationDigestGraphQLField,
41
+ CalibrationEstimateGraphQLField,
40
42
  CalibrationProgramReferenceGraphQLField,
41
43
  CallForProposalsExchangePartnerGraphQLField,
42
44
  CallForProposalsGraphQLField,
@@ -124,6 +126,7 @@ from .custom_typing_fields import (
124
126
  ExecutionEventSelectResultGraphQLField,
125
127
  ExecutionGraphQLField,
126
128
  ExposureTimeModeGraphQLField,
129
+ ExposureTimeViolationGraphQLField,
127
130
  FastTurnaroundGraphQLField,
128
131
  Flamingos2AtomGraphQLField,
129
132
  Flamingos2CustomMaskGraphQLField,
@@ -356,6 +359,7 @@ from .custom_typing_fields import (
356
359
  SpectroscopyConfigOptionGmosSouthGraphQLField,
357
360
  SpectroscopyConfigOptionGnirsGraphQLField,
358
361
  SpectroscopyConfigOptionGraphQLField,
362
+ SpectroscopyConfigOptionScorpioGraphQLField,
359
363
  SpectroscopyScienceRequirementsGraphQLField,
360
364
  SpiralTelescopeConfigGeneratorGraphQLField,
361
365
  StepConfigGraphQLField,
@@ -999,12 +1003,16 @@ class AsterismGroupFields(GraphQLField):
999
1003
  include_deleted: bool,
1000
1004
  *,
1001
1005
  offset: Optional[Any] = None,
1006
+ offset_at: Optional[Any] = None,
1007
+ offset_after: Optional[Any] = None,
1002
1008
  limit: Optional[Any] = None,
1003
1009
  ) -> "ObservationSelectResultFields":
1004
1010
  """Observations associated with the common value"""
1005
1011
  arguments: dict[str, dict[str, Any]] = {
1006
1012
  "includeDeleted": {"type": "Boolean!", "value": include_deleted},
1007
1013
  "OFFSET": {"type": "ObservationId", "value": offset},
1014
+ "OFFSET_AT": {"type": "ObservationId", "value": offset_at},
1015
+ "OFFSET_AFTER": {"type": "ObservationId", "value": offset_after},
1008
1016
  "LIMIT": {"type": "NonNegInt", "value": limit},
1009
1017
  }
1010
1018
  cleared_arguments = {
@@ -1155,11 +1163,18 @@ class AtomRecordFields(GraphQLField):
1155
1163
 
1156
1164
  @classmethod
1157
1165
  def steps(
1158
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
1166
+ cls,
1167
+ *,
1168
+ offset: Optional[Any] = None,
1169
+ offset_at: Optional[Any] = None,
1170
+ offset_after: Optional[Any] = None,
1171
+ limit: Optional[Any] = None,
1159
1172
  ) -> "StepRecordSelectResultFields":
1160
1173
  """Recorded steps associated with this atom, ordered by execution order."""
1161
1174
  arguments: dict[str, dict[str, Any]] = {
1162
1175
  "OFFSET": {"type": "PosInt", "value": offset},
1176
+ "OFFSET_AT": {"type": "PosInt", "value": offset_at},
1177
+ "OFFSET_AFTER": {"type": "PosInt", "value": offset_after},
1163
1178
  "LIMIT": {"type": "NonNegInt", "value": limit},
1164
1179
  }
1165
1180
  cleared_arguments = {
@@ -1603,6 +1618,67 @@ class CalculatedObservationWorkflowFields(GraphQLField):
1603
1618
  return self
1604
1619
 
1605
1620
 
1621
+ class CalibrationDigestFields(GraphQLField):
1622
+ """Calibrations an observation still needs over its remaining science time.
1623
+ Existing calibrations are observations of their own, so only the expected time
1624
+ is charged to the observation's total."""
1625
+
1626
+ count: "CalibrationDigestGraphQLField" = CalibrationDigestGraphQLField("count")
1627
+ "Tellurics still needed: existing plus expected. Zero with no telluric."
1628
+
1629
+ @classmethod
1630
+ def existing(cls) -> "CalibrationEstimateFields":
1631
+ """Calibrations already generated for this observation and still to be
1632
+ observed, each at its own estimate or a placeholder while it has none.
1633
+ Not part of the observation's total."""
1634
+ return CalibrationEstimateFields("existing")
1635
+
1636
+ @classmethod
1637
+ def expected(cls) -> "CalibrationEstimateFields":
1638
+ """Calibrations predicted but not generated yet, each at the average estimate
1639
+ of the group's calibrations, or a placeholder while none has a digest.
1640
+ Zero when the observation uses no telluric. A declined telluric fills its
1641
+ slot, so none is expected in its place, but later ones still are.
1642
+ Included in the observation's total."""
1643
+ return CalibrationEstimateFields("expected")
1644
+
1645
+ def fields(
1646
+ self,
1647
+ *subfields: Union[CalibrationDigestGraphQLField, "CalibrationEstimateFields"],
1648
+ ) -> "CalibrationDigestFields":
1649
+ """Subfields should come from the CalibrationDigestFields class"""
1650
+ self._subfields.extend(subfields)
1651
+ return self
1652
+
1653
+ def alias(self, alias: str) -> "CalibrationDigestFields":
1654
+ self._alias = alias
1655
+ return self
1656
+
1657
+
1658
+ class CalibrationEstimateFields(GraphQLField):
1659
+ """Number of calibration observations and their estimated time."""
1660
+
1661
+ count: "CalibrationEstimateGraphQLField" = CalibrationEstimateGraphQLField("count")
1662
+ "Number of calibration observations."
1663
+
1664
+ @classmethod
1665
+ def time(cls) -> "CategorizedTimeFields":
1666
+ """Their estimated time, by charge class."""
1667
+ return CategorizedTimeFields("time")
1668
+
1669
+ def fields(
1670
+ self,
1671
+ *subfields: Union[CalibrationEstimateGraphQLField, "CategorizedTimeFields"],
1672
+ ) -> "CalibrationEstimateFields":
1673
+ """Subfields should come from the CalibrationEstimateFields class"""
1674
+ self._subfields.extend(subfields)
1675
+ return self
1676
+
1677
+ def alias(self, alias: str) -> "CalibrationEstimateFields":
1678
+ self._alias = alias
1679
+ return self
1680
+
1681
+
1606
1682
  class CalibrationProgramReferenceFields(GraphQLField):
1607
1683
  label: "CalibrationProgramReferenceGraphQLField" = (
1608
1684
  CalibrationProgramReferenceGraphQLField("label")
@@ -2730,12 +2806,16 @@ class ConstraintSetGroupFields(GraphQLField):
2730
2806
  include_deleted: bool,
2731
2807
  *,
2732
2808
  offset: Optional[Any] = None,
2809
+ offset_at: Optional[Any] = None,
2810
+ offset_after: Optional[Any] = None,
2733
2811
  limit: Optional[Any] = None,
2734
2812
  ) -> "ObservationSelectResultFields":
2735
2813
  """Observations associated with the common value"""
2736
2814
  arguments: dict[str, dict[str, Any]] = {
2737
2815
  "includeDeleted": {"type": "Boolean!", "value": include_deleted},
2738
2816
  "OFFSET": {"type": "ObservationId", "value": offset},
2817
+ "OFFSET_AT": {"type": "ObservationId", "value": offset_at},
2818
+ "OFFSET_AFTER": {"type": "ObservationId", "value": offset_after},
2739
2819
  "LIMIT": {"type": "NonNegInt", "value": limit},
2740
2820
  }
2741
2821
  cleared_arguments = {
@@ -3080,11 +3160,18 @@ class DatasetFields(GraphQLField):
3080
3160
 
3081
3161
  @classmethod
3082
3162
  def events(
3083
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
3163
+ cls,
3164
+ *,
3165
+ offset: Optional[Any] = None,
3166
+ offset_at: Optional[Any] = None,
3167
+ offset_after: Optional[Any] = None,
3168
+ limit: Optional[Any] = None,
3084
3169
  ) -> "ExecutionEventSelectResultFields":
3085
3170
  """Events associated with the dataset."""
3086
3171
  arguments: dict[str, dict[str, Any]] = {
3087
3172
  "OFFSET": {"type": "ExecutionEventId", "value": offset},
3173
+ "OFFSET_AT": {"type": "ExecutionEventId", "value": offset_at},
3174
+ "OFFSET_AFTER": {"type": "ExecutionEventId", "value": offset_after},
3088
3175
  "LIMIT": {"type": "NonNegInt", "value": limit},
3089
3176
  }
3090
3177
  cleared_arguments = {
@@ -3928,12 +4015,19 @@ class ExecutionFields(GraphQLField):
3928
4015
 
3929
4016
  @classmethod
3930
4017
  def atom_records(
3931
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
4018
+ cls,
4019
+ *,
4020
+ offset: Optional[Any] = None,
4021
+ offset_at: Optional[Any] = None,
4022
+ offset_after: Optional[Any] = None,
4023
+ limit: Optional[Any] = None,
3932
4024
  ) -> "AtomRecordSelectResultFields":
3933
4025
  """Executed (or at least partially executed) atom records, across all visits,
3934
4026
  ordered by execution order of the first contained step."""
3935
4027
  arguments: dict[str, dict[str, Any]] = {
3936
4028
  "OFFSET": {"type": "PosInt", "value": offset},
4029
+ "OFFSET_AT": {"type": "PosInt", "value": offset_at},
4030
+ "OFFSET_AFTER": {"type": "PosInt", "value": offset_after},
3937
4031
  "LIMIT": {"type": "NonNegInt", "value": limit},
3938
4032
  }
3939
4033
  cleared_arguments = {
@@ -3943,11 +4037,18 @@ class ExecutionFields(GraphQLField):
3943
4037
 
3944
4038
  @classmethod
3945
4039
  def datasets(
3946
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
4040
+ cls,
4041
+ *,
4042
+ offset: Optional[Any] = None,
4043
+ offset_at: Optional[Any] = None,
4044
+ offset_after: Optional[Any] = None,
4045
+ limit: Optional[Any] = None,
3947
4046
  ) -> "DatasetSelectResultFields":
3948
4047
  """Datasets associated with the observation, across all visits."""
3949
4048
  arguments: dict[str, dict[str, Any]] = {
3950
4049
  "OFFSET": {"type": "DatasetId", "value": offset},
4050
+ "OFFSET_AT": {"type": "DatasetId", "value": offset_at},
4051
+ "OFFSET_AFTER": {"type": "DatasetId", "value": offset_after},
3951
4052
  "LIMIT": {"type": "NonNegInt", "value": limit},
3952
4053
  }
3953
4054
  cleared_arguments = {
@@ -3957,11 +4058,18 @@ class ExecutionFields(GraphQLField):
3957
4058
 
3958
4059
  @classmethod
3959
4060
  def events(
3960
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
4061
+ cls,
4062
+ *,
4063
+ offset: Optional[Any] = None,
4064
+ offset_at: Optional[Any] = None,
4065
+ offset_after: Optional[Any] = None,
4066
+ limit: Optional[Any] = None,
3961
4067
  ) -> "ExecutionEventSelectResultFields":
3962
4068
  """Events associated with the observation, across all visits."""
3963
4069
  arguments: dict[str, dict[str, Any]] = {
3964
4070
  "OFFSET": {"type": "ExecutionEventId", "value": offset},
4071
+ "OFFSET_AT": {"type": "ExecutionEventId", "value": offset_at},
4072
+ "OFFSET_AFTER": {"type": "ExecutionEventId", "value": offset_after},
3965
4073
  "LIMIT": {"type": "NonNegInt", "value": limit},
3966
4074
  }
3967
4075
  cleared_arguments = {
@@ -3971,11 +4079,18 @@ class ExecutionFields(GraphQLField):
3971
4079
 
3972
4080
  @classmethod
3973
4081
  def visits(
3974
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
4082
+ cls,
4083
+ *,
4084
+ offset: Optional[Any] = None,
4085
+ offset_at: Optional[Any] = None,
4086
+ offset_after: Optional[Any] = None,
4087
+ limit: Optional[Any] = None,
3975
4088
  ) -> "VisitSelectResultFields":
3976
4089
  """Visits associated with the observation."""
3977
4090
  arguments: dict[str, dict[str, Any]] = {
3978
4091
  "OFFSET": {"type": "VisitId", "value": offset},
4092
+ "OFFSET_AT": {"type": "VisitId", "value": offset_at},
4093
+ "OFFSET_AFTER": {"type": "VisitId", "value": offset_after},
3979
4094
  "LIMIT": {"type": "NonNegInt", "value": limit},
3980
4095
  }
3981
4096
  cleared_arguments = {
@@ -4011,7 +4126,7 @@ class ExecutionFields(GraphQLField):
4011
4126
  acquisition_sequence_is_customized: "ExecutionGraphQLField" = ExecutionGraphQLField(
4012
4127
  "acquisitionSequenceIsCustomized"
4013
4128
  )
4014
- "Whether the acquisition sequence has been customized via `replace*Sequence`\n(regardless of whether the replacement differs from what would have been\ngenerated). Cleared by `deleteSequence` or by resetting the acquisition."
4129
+ "Whether the acquisition sequence has been customized via `replace*Sequence`\n(regardless of whether the replacement differs from what would have been\ngenerated). Cleared by `deleteSequence` or by `resetAcquisition` with\n`regenerate` set."
4015
4130
 
4016
4131
  def fields(
4017
4132
  self,
@@ -4263,6 +4378,30 @@ class ExposureTimeModeFields(GraphQLField):
4263
4378
  return self
4264
4379
 
4265
4380
 
4381
+ class ExposureTimeViolationFields(GraphQLField):
4382
+ """An exposure rule that steps of a sequence violate."""
4383
+
4384
+ severity: "ExposureTimeViolationGraphQLField" = ExposureTimeViolationGraphQLField(
4385
+ "severity"
4386
+ )
4387
+ "Whether the violation is an error or a warning."
4388
+ description: "ExposureTimeViolationGraphQLField" = (
4389
+ ExposureTimeViolationGraphQLField("description")
4390
+ )
4391
+ 'The rule violated, as a sentence, e.g. "Exposure times for GMOS North must be\nat least 1 s."'
4392
+
4393
+ def fields(
4394
+ self, *subfields: ExposureTimeViolationGraphQLField
4395
+ ) -> "ExposureTimeViolationFields":
4396
+ """Subfields should come from the ExposureTimeViolationFields class"""
4397
+ self._subfields.extend(subfields)
4398
+ return self
4399
+
4400
+ def alias(self, alias: str) -> "ExposureTimeViolationFields":
4401
+ self._alias = alias
4402
+ return self
4403
+
4404
+
4266
4405
  class FastTurnaroundFields(GraphQLField):
4267
4406
  """Proposal properties for Fast Turnaround CallForProposals."""
4268
4407
 
@@ -10486,6 +10625,10 @@ class ObservationFields(GraphQLField):
10486
10625
  "calibrationRole"
10487
10626
  )
10488
10627
  "The Calibration role of this observation"
10628
+ is_user_defined_telluric: "ObservationGraphQLField" = ObservationGraphQLField(
10629
+ "isUserDefinedTelluric"
10630
+ )
10631
+ "Whether this is a telluric calibration whose target and configuration the\nuser defines (science telluric type USER_DEFINED). Such a telluric is\neditable like a science observation and is never regenerated."
10489
10632
  observer_notes: "ObservationGraphQLField" = ObservationGraphQLField("observerNotes")
10490
10633
  "Notes for the observer"
10491
10634
  priority: "ObservationGraphQLField" = ObservationGraphQLField("priority")
@@ -10628,10 +10771,17 @@ class ObservationTimeEstimateFields(GraphQLField):
10628
10771
  ObservationTimeEstimateGraphQLField("reacquisitionCount")
10629
10772
  )
10630
10773
  "Expected number of reacquisitions: recentering on the target between full\nsetups. Only spectroscopy guided by a PWFS is expected to need them."
10774
+
10775
+ @classmethod
10776
+ def calibrations(cls) -> "CalibrationDigestFields":
10777
+ """Calibrations still needed over the remaining science time, existing and
10778
+ expected."""
10779
+ return CalibrationDigestFields("calibrations")
10780
+
10631
10781
  calibration_count: "ObservationTimeEstimateGraphQLField" = (
10632
10782
  ObservationTimeEstimateGraphQLField("calibrationCount")
10633
10783
  )
10634
- "Expected number of calibration over the remaining science time.\nZero for calibration observations and for modes that take no callibrations per observation."
10784
+ "Number of tellurics still needed."
10635
10785
 
10636
10786
  @classmethod
10637
10787
  def science(cls) -> "CategorizedTimeFields":
@@ -10640,14 +10790,17 @@ class ObservationTimeEstimateFields(GraphQLField):
10640
10790
 
10641
10791
  @classmethod
10642
10792
  def total(cls) -> "CategorizedTimeFields":
10643
- """Total time estimate: science time plus full setup time for every setup and
10644
- reacquisition time for every reacquisition."""
10793
+ """Total time estimate: science time plus full setup time for every setup,
10794
+ reacquisition time for every reacquisition, and the expected calibration
10795
+ time. Add the existing calibration time for the cost of the observation
10796
+ with all its calibrations."""
10645
10797
  return CategorizedTimeFields("total")
10646
10798
 
10647
10799
  def fields(
10648
10800
  self,
10649
10801
  *subfields: Union[
10650
10802
  ObservationTimeEstimateGraphQLField,
10803
+ "CalibrationDigestFields",
10651
10804
  "CategorizedTimeFields",
10652
10805
  "SetupTimeFields",
10653
10806
  ],
@@ -10853,12 +11006,16 @@ class ObservingModeGroupFields(GraphQLField):
10853
11006
  include_deleted: bool,
10854
11007
  *,
10855
11008
  offset: Optional[Any] = None,
11009
+ offset_at: Optional[Any] = None,
11010
+ offset_after: Optional[Any] = None,
10856
11011
  limit: Optional[Any] = None,
10857
11012
  ) -> "ObservationSelectResultFields":
10858
11013
  """Observations associated with the common value"""
10859
11014
  arguments: dict[str, dict[str, Any]] = {
10860
11015
  "includeDeleted": {"type": "Boolean!", "value": include_deleted},
10861
11016
  "OFFSET": {"type": "ObservationId", "value": offset},
11017
+ "OFFSET_AT": {"type": "ObservationId", "value": offset_at},
11018
+ "OFFSET_AFTER": {"type": "ObservationId", "value": offset_after},
10862
11019
  "LIMIT": {"type": "NonNegInt", "value": limit},
10863
11020
  }
10864
11021
  cleared_arguments = {
@@ -11199,12 +11356,16 @@ class ProgramFields(GraphQLField):
11199
11356
  include_deleted: bool,
11200
11357
  *,
11201
11358
  offset: Optional[Any] = None,
11359
+ offset_at: Optional[Any] = None,
11360
+ offset_after: Optional[Any] = None,
11202
11361
  limit: Optional[Any] = None,
11203
11362
  ) -> "ObservationSelectResultFields":
11204
11363
  """All observations associated with the program."""
11205
11364
  arguments: dict[str, dict[str, Any]] = {
11206
11365
  "includeDeleted": {"type": "Boolean!", "value": include_deleted},
11207
11366
  "OFFSET": {"type": "ObservationId", "value": offset},
11367
+ "OFFSET_AT": {"type": "ObservationId", "value": offset_at},
11368
+ "OFFSET_AFTER": {"type": "ObservationId", "value": offset_after},
11208
11369
  "LIMIT": {"type": "NonNegInt", "value": limit},
11209
11370
  }
11210
11371
  cleared_arguments = {
@@ -11216,11 +11377,18 @@ class ProgramFields(GraphQLField):
11216
11377
 
11217
11378
  @classmethod
11218
11379
  def configuration_requests(
11219
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
11380
+ cls,
11381
+ *,
11382
+ offset: Optional[Any] = None,
11383
+ offset_at: Optional[Any] = None,
11384
+ offset_after: Optional[Any] = None,
11385
+ limit: Optional[Any] = None,
11220
11386
  ) -> "ConfigurationRequestSelectResultFields":
11221
11387
  """All configuration requests associated with the program."""
11222
11388
  arguments: dict[str, dict[str, Any]] = {
11223
11389
  "OFFSET": {"type": "ConfigurationRequestId", "value": offset},
11390
+ "OFFSET_AT": {"type": "ConfigurationRequestId", "value": offset_at},
11391
+ "OFFSET_AFTER": {"type": "ConfigurationRequestId", "value": offset_after},
11224
11392
  "LIMIT": {"type": "NonNegInt", "value": limit},
11225
11393
  }
11226
11394
  cleared_arguments = {
@@ -11307,7 +11475,7 @@ class ProgramFields(GraphQLField):
11307
11475
  resource_count: "ProgramGraphQLField" = ProgramGraphQLField("resourceCount")
11308
11476
  "Current number of resources (present, non-system observations, groups,\ntargets, attachments, and program notes) associated with this program, counted\nagainst `resourceLimit`."
11309
11477
  dismissed_warnings: "ProgramGraphQLField" = ProgramGraphQLField("dismissedWarnings")
11310
- "List of validation codes that have been dismissed for this program."
11478
+ "List of validation codes that have been dismissed for this program. An\nobservation with a warning that has not been dismissed cannot be made READY,\nand a READY observation that picks one up reverts to DEFINED until it is\ndismissed."
11311
11479
  too_activation_ceiling: "ProgramGraphQLField" = ProgramGraphQLField(
11312
11480
  "tooActivationCeiling"
11313
11481
  )
@@ -12518,11 +12686,19 @@ class SequenceDigestFields(GraphQLField):
12518
12686
  )
12519
12687
  "Execution state for the sequence. Note, acquisition sequences are never\n'COMPLETED'. The execution state for the observation as a whole is that of\nthe science sequence."
12520
12688
 
12689
+ @classmethod
12690
+ def exposure_time_violations(cls) -> "ExposureTimeViolationFields":
12691
+ """The instrument's exposure rules that steps of the sequence violate, errors
12692
+ first. Errors are exposures that cannot be taken; warnings are those merely
12693
+ outside the recommended range, and are reported for science steps alone."""
12694
+ return ExposureTimeViolationFields("exposureTimeViolations")
12695
+
12521
12696
  def fields(
12522
12697
  self,
12523
12698
  *subfields: Union[
12524
12699
  SequenceDigestGraphQLField,
12525
12700
  "CategorizedTimeFields",
12701
+ "ExposureTimeViolationFields",
12526
12702
  "StepDigestsFields",
12527
12703
  "TelescopeConfigFields",
12528
12704
  ],
@@ -13125,6 +13301,11 @@ class SpectroscopyConfigOptionFields(GraphQLField):
13125
13301
  """For GNIRS options, the GNIRS configuration. Null for other instruments."""
13126
13302
  return SpectroscopyConfigOptionGnirsFields("gnirs")
13127
13303
 
13304
+ @classmethod
13305
+ def scorpio(cls) -> "SpectroscopyConfigOptionScorpioFields":
13306
+ """For SCORPIO options, the SCORPIO configuration. Null for other instruments."""
13307
+ return SpectroscopyConfigOptionScorpioFields("scorpio")
13308
+
13128
13309
  def fields(
13129
13310
  self,
13130
13311
  *subfields: Union[
@@ -13135,6 +13316,7 @@ class SpectroscopyConfigOptionFields(GraphQLField):
13135
13316
  "SpectroscopyConfigOptionGmosNorthFields",
13136
13317
  "SpectroscopyConfigOptionGmosSouthFields",
13137
13318
  "SpectroscopyConfigOptionGnirsFields",
13319
+ "SpectroscopyConfigOptionScorpioFields",
13138
13320
  "WavelengthFields",
13139
13321
  ],
13140
13322
  ) -> "SpectroscopyConfigOptionFields":
@@ -13285,6 +13467,26 @@ class SpectroscopyConfigOptionGnirsFields(GraphQLField):
13285
13467
  return self
13286
13468
 
13287
13469
 
13470
+ class SpectroscopyConfigOptionScorpioFields(GraphQLField):
13471
+ """SCORPIO exposes every channel at once, so a spectroscopy option is identified
13472
+ by its long slit alone."""
13473
+
13474
+ fpu: "SpectroscopyConfigOptionScorpioGraphQLField" = (
13475
+ SpectroscopyConfigOptionScorpioGraphQLField("fpu")
13476
+ )
13477
+
13478
+ def fields(
13479
+ self, *subfields: SpectroscopyConfigOptionScorpioGraphQLField
13480
+ ) -> "SpectroscopyConfigOptionScorpioFields":
13481
+ """Subfields should come from the SpectroscopyConfigOptionScorpioFields class"""
13482
+ self._subfields.extend(subfields)
13483
+ return self
13484
+
13485
+ def alias(self, alias: str) -> "SpectroscopyConfigOptionScorpioFields":
13486
+ self._alias = alias
13487
+ return self
13488
+
13489
+
13288
13490
  class SpectroscopyScienceRequirementsFields(GraphQLField):
13289
13491
  @classmethod
13290
13492
  def wavelength(cls) -> "WavelengthFields":
@@ -13596,11 +13798,18 @@ class StepRecordFields(GraphQLField):
13596
13798
 
13597
13799
  @classmethod
13598
13800
  def datasets(
13599
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
13801
+ cls,
13802
+ *,
13803
+ offset: Optional[Any] = None,
13804
+ offset_at: Optional[Any] = None,
13805
+ offset_after: Optional[Any] = None,
13806
+ limit: Optional[Any] = None,
13600
13807
  ) -> "DatasetSelectResultFields":
13601
13808
  """Datasets associated with this step."""
13602
13809
  arguments: dict[str, dict[str, Any]] = {
13603
13810
  "OFFSET": {"type": "DatasetId", "value": offset},
13811
+ "OFFSET_AT": {"type": "DatasetId", "value": offset_at},
13812
+ "OFFSET_AFTER": {"type": "DatasetId", "value": offset_after},
13604
13813
  "LIMIT": {"type": "NonNegInt", "value": limit},
13605
13814
  }
13606
13815
  cleared_arguments = {
@@ -13610,11 +13819,18 @@ class StepRecordFields(GraphQLField):
13610
13819
 
13611
13820
  @classmethod
13612
13821
  def events(
13613
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
13822
+ cls,
13823
+ *,
13824
+ offset: Optional[Any] = None,
13825
+ offset_at: Optional[Any] = None,
13826
+ offset_after: Optional[Any] = None,
13827
+ limit: Optional[Any] = None,
13614
13828
  ) -> "ExecutionEventSelectResultFields":
13615
13829
  """Execution events associated with this step."""
13616
13830
  arguments: dict[str, dict[str, Any]] = {
13617
13831
  "OFFSET": {"type": "ExecutionEventId", "value": offset},
13832
+ "OFFSET_AT": {"type": "ExecutionEventId", "value": offset_at},
13833
+ "OFFSET_AFTER": {"type": "ExecutionEventId", "value": offset_after},
13618
13834
  "LIMIT": {"type": "NonNegInt", "value": limit},
13619
13835
  }
13620
13836
  cleared_arguments = {
@@ -14051,12 +14267,16 @@ class TargetGroupFields(GraphQLField):
14051
14267
  include_deleted: bool,
14052
14268
  *,
14053
14269
  offset: Optional[Any] = None,
14270
+ offset_at: Optional[Any] = None,
14271
+ offset_after: Optional[Any] = None,
14054
14272
  limit: Optional[Any] = None,
14055
14273
  ) -> "ObservationSelectResultFields":
14056
14274
  """Observations associated with the common value"""
14057
14275
  arguments: dict[str, dict[str, Any]] = {
14058
14276
  "includeDeleted": {"type": "Boolean!", "value": include_deleted},
14059
14277
  "OFFSET": {"type": "ObservationId", "value": offset},
14278
+ "OFFSET_AT": {"type": "ObservationId", "value": offset_at},
14279
+ "OFFSET_AFTER": {"type": "ObservationId", "value": offset_after},
14060
14280
  "LIMIT": {"type": "NonNegInt", "value": limit},
14061
14281
  }
14062
14282
  cleared_arguments = {
@@ -14240,6 +14460,7 @@ class TelluricTypeFields(GraphQLField):
14240
14460
 
14241
14461
  tag: "TelluricTypeGraphQLField" = TelluricTypeGraphQLField("tag")
14242
14462
  star_types: "TelluricTypeGraphQLField" = TelluricTypeGraphQLField("starTypes")
14463
+ count: "TelluricTypeGraphQLField" = TelluricTypeGraphQLField("count")
14243
14464
 
14244
14465
  def fields(self, *subfields: TelluricTypeGraphQLField) -> "TelluricTypeFields":
14245
14466
  """Subfields should come from the TelluricTypeFields class"""
@@ -15420,11 +15641,18 @@ class VisitFields(GraphQLField):
15420
15641
 
15421
15642
  @classmethod
15422
15643
  def atom_records(
15423
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
15644
+ cls,
15645
+ *,
15646
+ offset: Optional[Any] = None,
15647
+ offset_at: Optional[Any] = None,
15648
+ offset_after: Optional[Any] = None,
15649
+ limit: Optional[Any] = None,
15424
15650
  ) -> "AtomRecordSelectResultFields":
15425
15651
  """Executed (or at least partially executed) atom records for this visit."""
15426
15652
  arguments: dict[str, dict[str, Any]] = {
15427
15653
  "OFFSET": {"type": "PosInt", "value": offset},
15654
+ "OFFSET_AT": {"type": "PosInt", "value": offset_at},
15655
+ "OFFSET_AFTER": {"type": "PosInt", "value": offset_after},
15428
15656
  "LIMIT": {"type": "NonNegInt", "value": limit},
15429
15657
  }
15430
15658
  cleared_arguments = {
@@ -15434,11 +15662,18 @@ class VisitFields(GraphQLField):
15434
15662
 
15435
15663
  @classmethod
15436
15664
  def datasets(
15437
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
15665
+ cls,
15666
+ *,
15667
+ offset: Optional[Any] = None,
15668
+ offset_at: Optional[Any] = None,
15669
+ offset_after: Optional[Any] = None,
15670
+ limit: Optional[Any] = None,
15438
15671
  ) -> "DatasetSelectResultFields":
15439
15672
  """Datasets associated with this visit."""
15440
15673
  arguments: dict[str, dict[str, Any]] = {
15441
15674
  "OFFSET": {"type": "DatasetId", "value": offset},
15675
+ "OFFSET_AT": {"type": "DatasetId", "value": offset_at},
15676
+ "OFFSET_AFTER": {"type": "DatasetId", "value": offset_after},
15442
15677
  "LIMIT": {"type": "NonNegInt", "value": limit},
15443
15678
  }
15444
15679
  cleared_arguments = {
@@ -15448,11 +15683,18 @@ class VisitFields(GraphQLField):
15448
15683
 
15449
15684
  @classmethod
15450
15685
  def events(
15451
- cls, *, offset: Optional[Any] = None, limit: Optional[Any] = None
15686
+ cls,
15687
+ *,
15688
+ offset: Optional[Any] = None,
15689
+ offset_at: Optional[Any] = None,
15690
+ offset_after: Optional[Any] = None,
15691
+ limit: Optional[Any] = None,
15452
15692
  ) -> "ExecutionEventSelectResultFields":
15453
15693
  """Execution events associated with this visit."""
15454
15694
  arguments: dict[str, dict[str, Any]] = {
15455
15695
  "OFFSET": {"type": "ExecutionEventId", "value": offset},
15696
+ "OFFSET_AT": {"type": "ExecutionEventId", "value": offset_at},
15697
+ "OFFSET_AFTER": {"type": "ExecutionEventId", "value": offset_after},
15456
15698
  "LIMIT": {"type": "NonNegInt", "value": limit},
15457
15699
  }
15458
15700
  cleared_arguments = {
@@ -722,8 +722,9 @@ class Mutation:
722
722
  cls, input: ResetAcquisitionInput
723
723
  ) -> ResetAcquisitionResultFields:
724
724
  """Resets the acquisition sequence to start from the initial step regardless of
725
- which acquisition steps may have been executed. Requires staff (or better)
726
- access."""
725
+ which acquisition steps may have been executed. An acquisition customized
726
+ via `replace*Sequence` restarts from a copy of its edited steps and stays
727
+ customized, unless `regenerate` is set. Requires staff (or better) access."""
727
728
  arguments: dict[str, dict[str, Any]] = {
728
729
  "input": {"type": "ResetAcquisitionInput!", "value": input}
729
730
  }