@gemini-hlsw/lucuma-schemas 0.176.0

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.
@@ -0,0 +1,568 @@
1
+ #import NonEmptyString, Offset, Angle, Sidereal, GuideProbe, TargetId, Nonsidereal from "./ObservationDB.graphql"
2
+ #import SiderealInput, ObservationId, OffsetInput, NonsiderealInput, WavelengthInput, AngleInput from "./ObservationDB.graphql"
3
+ #import Long, BigDecimal, Timestamp, TimeSpanInput from "./ObservationDB.graphql"
4
+ #import Instrument, Site, TimeSpan, Date from "./ObservationDB.graphql"
5
+
6
+ """Target properties input"""
7
+ input TargetPropertiesInput {
8
+ id: TargetId!
9
+ name: NonEmptyString!
10
+ sidereal: SiderealInput
11
+ nonsidereal: NonsiderealInput
12
+ azel: AzElTargetInput
13
+ wavelength: WavelengthInput
14
+ }
15
+
16
+ input GuideTargetPropertiesInput {
17
+ name: NonEmptyString!
18
+ sidereal: SiderealInput
19
+ nonsidereal: NonsiderealInput
20
+ }
21
+
22
+ type Distance {
23
+ micrometers: Long!
24
+ millimeters: BigDecimal!
25
+ }
26
+
27
+ input DistanceInput @oneOf {
28
+ micrometers: Long
29
+ millimeters: BigDecimal
30
+ }
31
+
32
+ input AzElTargetInput {
33
+ azimuth: AngleInput!
34
+ elevation: AngleInput!
35
+ }
36
+
37
+ type PointOrigin {
38
+ x: Angle!
39
+ y: Angle!
40
+ }
41
+
42
+ input PointOriginInput {
43
+ x: AngleInput!
44
+ y: AngleInput!
45
+ }
46
+
47
+ input InstrumentSpecificsInput {
48
+ iaa: AngleInput!
49
+ focusOffset: DistanceInput!
50
+ agName: String!
51
+ origin: PointOriginInput!
52
+ }
53
+
54
+ """Slew Options input"""
55
+ input SlewOptionsInput {
56
+ zeroChopThrow: Boolean!
57
+ zeroSourceOffset: Boolean!
58
+ zeroSourceDiffTrack: Boolean!
59
+ zeroMountOffset: Boolean!
60
+ zeroMountDiffTrack: Boolean!
61
+ shortcircuitTargetFilter: Boolean!
62
+ shortcircuitMountFilter: Boolean!
63
+ resetPointing: Boolean!
64
+ stopGuide: Boolean!
65
+ zeroGuideOffset: Boolean!
66
+ zeroInstrumentOffset: Boolean!
67
+ autoparkPwfs1: Boolean!
68
+ autoparkPwfs2: Boolean!
69
+ autoparkOiwfs: Boolean!
70
+ autoparkGems: Boolean!
71
+ autoparkAowfs: Boolean!
72
+ }
73
+
74
+ enum ParkStatus {
75
+ NOT_PARKED
76
+ PARKED
77
+ }
78
+
79
+ enum FollowStatus {
80
+ NOT_FOLLOWING
81
+ FOLLOWING
82
+ }
83
+
84
+ type MechSystemState {
85
+ parked: ParkStatus!
86
+ follow: FollowStatus!
87
+ }
88
+
89
+ type TelescopeState {
90
+ mount: MechSystemState!
91
+ scs: MechSystemState!
92
+ crcs: MechSystemState!
93
+ pwfs1: MechSystemState!
94
+ pwfs2: MechSystemState!
95
+ oiwfs: MechSystemState!
96
+ }
97
+
98
+ type NavigateState {
99
+ onSwappedTarget: Boolean!
100
+ }
101
+
102
+ input GuiderConfig{
103
+ target: GuideTargetPropertiesInput!
104
+ tracking: ProbeTrackingInput!
105
+ }
106
+
107
+ input TcsConfigInput {
108
+ sourceATarget: TargetPropertiesInput!
109
+ instParams: InstrumentSpecificsInput!
110
+ pwfs1: GuiderConfig
111
+ pwfs2: GuiderConfig
112
+ oiwfs: GuiderConfig
113
+ rotator: RotatorTrackingInput!
114
+ instrument: Instrument!
115
+ baffles: BaffleConfigInput
116
+ }
117
+
118
+ input SwapConfigInput {
119
+ guideTarget: TargetPropertiesInput!
120
+ acParams: InstrumentSpecificsInput!
121
+ rotator: RotatorTrackingInput!
122
+ }
123
+
124
+ enum RotatorTrackingMode {
125
+ TRACKING
126
+ FIXED
127
+ }
128
+
129
+ input RotatorTrackingInput {
130
+ ipa: AngleInput!
131
+ mode: RotatorTrackingMode!
132
+ }
133
+
134
+ input ProbeTrackingInput {
135
+ nodAchopA: Boolean!
136
+ nodAchopB: Boolean!
137
+ nodBchopA: Boolean!
138
+ nodBchopB: Boolean!
139
+ }
140
+
141
+ enum TipTiltSource {
142
+ PWFS1
143
+ PWFS2
144
+ OIWFS
145
+ }
146
+
147
+ enum M1CorrectionSource {
148
+ PWFS1
149
+ PWFS2
150
+ OIWFS
151
+ }
152
+
153
+ type GuideConfigurationState {
154
+ """M2 Tip-Tilt correction sources. An empty array means no corrections"""
155
+ m2Inputs: [TipTiltSource!]
156
+ """M2 coma correction enabled. Only valid if m2Inputs and m1Input are defined"""
157
+ m2Coma: Boolean
158
+ """M1 correction source. If it is not defined it means no M1 correction"""
159
+ m1Input: M1CorrectionSource
160
+ """Tip-tilt offload to the mount enabled"""
161
+ mountOffload: Boolean!
162
+ """Probe guide. If none is used, the attribute will not be present"""
163
+ probeGuide: ProbeGuide
164
+ """Is PWFS1 integrating?"""
165
+ p1Integrating: Boolean!
166
+ """Is PWFS2 integrating?"""
167
+ p2Integrating: Boolean!
168
+ """Is OIWFS integrating?"""
169
+ oiIntegrating: Boolean!
170
+ """Is the AC/HRWFS integrating?"""
171
+ acIntegrating: Boolean!
172
+ }
173
+
174
+ input GuideConfigurationInput {
175
+ """M2 Tip-Tilt correction sources. An empty array means no corrections"""
176
+ m2Inputs: [TipTiltSource!]
177
+ """M2 coma correction enabled. Only valid if m2Inputs and m1Input are defined"""
178
+ m2Coma: Boolean
179
+ """M1 correction source. If it is not defined it means no M1 correction"""
180
+ m1Input: M1CorrectionSource
181
+ """Tip-tilt offload to the mount enabled"""
182
+ mountOffload: Boolean!
183
+ """Flag for day time tests. It sets all gains to 0"""
184
+ daytimeMode: Boolean!
185
+ """Probe names to be used for guiding"""
186
+ probeGuide: ProbeGuideInput
187
+ }
188
+
189
+ input ProbeGuideInput {
190
+ from: GuideProbe
191
+ to: GuideProbe
192
+ }
193
+
194
+ type ProbeGuide {
195
+ from: GuideProbe
196
+ to: GuideProbe
197
+ }
198
+
199
+ enum LogLevel {
200
+ ERROR
201
+ WARN
202
+ INFO
203
+ DEBUG
204
+ TRACE
205
+ }
206
+
207
+ type LogMessage {
208
+ timestamp: Timestamp!
209
+ level: LogLevel!
210
+ thread: String!
211
+ message: String!
212
+ }
213
+
214
+ enum OperationResult {
215
+ SUCCESS
216
+ FAILURE
217
+ }
218
+
219
+ type OperationOutcome {
220
+ result: OperationResult!
221
+ msg: String
222
+ }
223
+
224
+ type GuideQuality {
225
+ flux: Int!
226
+ centroidDetected: Boolean!
227
+ }
228
+
229
+ type GuidersQualityValues {
230
+ pwfs1: GuideQuality!
231
+ pwfs2: GuideQuality!
232
+ oiwfs: GuideQuality!
233
+ }
234
+
235
+ enum LightSource {
236
+ SKY
237
+ AO
238
+ GCAL
239
+ }
240
+
241
+ enum LightSink {
242
+ GMOS
243
+ NIRI_F6
244
+ NIRI_F14
245
+ NIRI_F32
246
+ AC
247
+ HR
248
+ GMOS_IFU
249
+ GNIRS
250
+ VISITOR
251
+ F2
252
+ GSAOI
253
+ GPI
254
+ GHOST
255
+ IGRINS2
256
+ }
257
+
258
+ enum AcquistionAdjustmentCommand {
259
+ """ Request the user to confirm the adjustment """
260
+ ASK_USER
261
+ """ User confirms to apply the adjustment """
262
+ USER_CONFIRMS
263
+ """ User cancels the adjustment """
264
+ USER_CANCELS
265
+ }
266
+
267
+ input AcquisitionAdjustmentInput {
268
+ offset: OffsetInput!
269
+ ipa: AngleInput
270
+ iaa: AngleInput
271
+ command: AcquistionAdjustmentCommand! = ASK_USER
272
+ }
273
+
274
+ type AcquisitionAdjustmentState {
275
+ offset: Offset!
276
+ ipa: Angle
277
+ iaa: Angle
278
+ command: AcquistionAdjustmentCommand!
279
+ }
280
+
281
+ type HorizontalOffset {
282
+ azimuth: Angle!
283
+ elevation: Angle!
284
+ }
285
+
286
+ input HorizontalOffsetInput {
287
+ azimuth: AngleInput!
288
+ elevation: AngleInput!
289
+ }
290
+
291
+ input FocalPlaneOffsetInput {
292
+ deltaX: AngleInput!
293
+ deltaY: AngleInput!
294
+ }
295
+
296
+ type FocalPlaneOffset {
297
+ deltaX: Angle!
298
+ deltaY: Angle!
299
+ }
300
+
301
+ input EquatorialOffsetInput {
302
+ deltaRA: AngleInput!
303
+ deltaDec: AngleInput!
304
+ }
305
+
306
+ input ProbeFrameOffsetInput {
307
+ probeFrame: GuideProbe!
308
+ deltaU: AngleInput!
309
+ deltaV: AngleInput!
310
+ alignAngle: AngleInput
311
+ }
312
+
313
+ input HandsetAdjustmentInput @oneOf {
314
+ """ Azimuth/Elevation coordinate system """
315
+ horizontalAdjustment: HorizontalOffsetInput
316
+ """ Telescope focal plane coordinate system (X, Y)"""
317
+ focalPlaneAdjustment: FocalPlaneOffsetInput
318
+ """ Instrument coordinate system (P, Q) """
319
+ instrumentAdjustment: OffsetInput
320
+ """ Right Ascension/Declination coordinate system """
321
+ equatorialAdjustment: EquatorialOffsetInput
322
+ """ Offset applied in one of the probe's reference frame """
323
+ probeFrameAdjustment: ProbeFrameOffsetInput
324
+ }
325
+
326
+ type PointingCorrections {
327
+ local: HorizontalOffset!
328
+ guide: HorizontalOffset!
329
+ }
330
+
331
+ enum AdjustTarget {
332
+ SOURCE_A
333
+ PWFS1
334
+ PWFS2
335
+ OIWFS
336
+ }
337
+
338
+ type TargetOffsets {
339
+ sourceA: FocalPlaneOffset
340
+ pwfs1: FocalPlaneOffset
341
+ pwfs2: FocalPlaneOffset
342
+ oiwfs: FocalPlaneOffset
343
+ }
344
+
345
+ type ServerConfiguration {
346
+ version: String!
347
+ site: Site!
348
+ odbUri: String!
349
+ ssoUri: String!
350
+ }
351
+
352
+ enum AcLens {
353
+ AC
354
+ HRWFS
355
+ }
356
+
357
+ enum AcNdFilter {
358
+ OPEN
359
+ ND1
360
+ ND2
361
+ ND3
362
+ ND100
363
+ ND1000
364
+ FILT04
365
+ FILT06
366
+ FILT08
367
+ }
368
+
369
+ enum AcFilter {
370
+ NEUTRAL
371
+ U_RED1
372
+ B_BLUE
373
+ V_GREEN
374
+ R_RED2
375
+ I_RED3
376
+ }
377
+
378
+ enum AcWindowSize {
379
+ FULL
380
+ WINDOW_200X200
381
+ WINDOW_100X100
382
+ }
383
+
384
+ input AcWindowCenter {
385
+ x: Int
386
+ y: Int
387
+ }
388
+
389
+ input AcWindowInput {
390
+ type: AcWindowSize!
391
+ center: AcWindowCenter
392
+ }
393
+
394
+ type AcMechs {
395
+ lens: AcLens
396
+ filter: AcFilter
397
+ ndFilter: AcNdFilter
398
+ }
399
+
400
+ enum PwfsFilter {
401
+ NEUTRAL
402
+ BLUE
403
+ GREEN
404
+ RED
405
+ RED04
406
+ RED1
407
+ }
408
+
409
+ enum PwfsFieldStop {
410
+ PRISM
411
+ FS10
412
+ FS6_4
413
+ FS3_2
414
+ FS1_6
415
+ OPEN1
416
+ OPEN2
417
+ OPEN3
418
+ OPEN4
419
+ }
420
+
421
+ type PwfsMechsState {
422
+ filter: PwfsFilter
423
+ fieldStop: PwfsFieldStop
424
+ }
425
+
426
+ enum DeployableBaffle {
427
+ THERMAL_IR
428
+ NEAR_IR
429
+ VISIBLE
430
+ EXTENDED
431
+ }
432
+
433
+ enum CentralBaffle {
434
+ OPEN
435
+ CLOSED
436
+ }
437
+
438
+ input BaffleAutoInput {
439
+ visibleLimit: WavelengthInput!
440
+ nearirLimit: WavelengthInput!
441
+ }
442
+
443
+ input BaffleManualInput {
444
+ centralBaffle: CentralBaffle!
445
+ deployableBaffle: DeployableBaffle!
446
+ }
447
+
448
+ "One and only one of the configurations must be provided"
449
+ input BaffleConfigInput @oneOf {
450
+ autoConfig: BaffleAutoInput
451
+ manualConfig: BaffleManualInput
452
+ }
453
+
454
+ type BafflesState {
455
+ centralBaffle: CentralBaffle!
456
+ deployableBaffle: DeployableBaffle!
457
+ }
458
+
459
+ type WfsConfigState {
460
+ exposureTime: TimeSpan!
461
+ saving: Boolean!
462
+ }
463
+
464
+ type Query {
465
+ telescopeState: TelescopeState!
466
+ guideState: GuideConfigurationState!
467
+ guidersQualityValues: GuidersQualityValues!
468
+ navigateState: NavigateState!
469
+ instrumentPort(instrument: Instrument!): Int
470
+ serverVersion: String
471
+ targetAdjustmentOffsets: TargetOffsets!
472
+ originAdjustmentOffset: FocalPlaneOffset!
473
+ pointingAdjustmentOffset: PointingCorrections!
474
+ serverConfiguration: ServerConfiguration!
475
+ acMechsState: AcMechs!
476
+ pwfs1MechsState: PwfsMechsState!
477
+ pwfs2MechsState: PwfsMechsState!
478
+ bafflesState: BafflesState
479
+ pwfs1ConfigState: WfsConfigState!
480
+ pwfs2ConfigState: WfsConfigState!
481
+ oiwfsConfigState: WfsConfigState!
482
+ }
483
+
484
+ type Mutation {
485
+ mountPark: OperationOutcome!
486
+ mountFollow(enable: Boolean!): OperationOutcome!
487
+ rotatorPark: OperationOutcome!
488
+ rotatorFollow(enable: Boolean!): OperationOutcome!
489
+ scsFollow(enable: Boolean!): OperationOutcome!
490
+ slew(slewOptions: SlewOptionsInput!, config: TcsConfigInput!, obsId: ObservationId): OperationOutcome!
491
+ tcsConfig(config: TcsConfigInput!): OperationOutcome!
492
+ swapTarget(swapConfig: SwapConfigInput!): OperationOutcome!
493
+ restoreTarget(config: TcsConfigInput!): OperationOutcome!
494
+ instrumentSpecifics(instrumentSpecificsParams: InstrumentSpecificsInput!): OperationOutcome!
495
+ rotatorConfig(config: RotatorTrackingInput!): OperationOutcome!
496
+ pwfs1Filter(filter: PwfsFilter): OperationOutcome!
497
+ pwfs1FieldStop(fieldStop: PwfsFieldStop): OperationOutcome!
498
+ pwfs1Target(target: TargetPropertiesInput!): OperationOutcome!
499
+ pwfs1ProbeTracking(config: ProbeTrackingInput!): OperationOutcome!
500
+ pwfs1Park: OperationOutcome!
501
+ pwfs1Follow(enable: Boolean!): OperationOutcome!
502
+ pwfs1Observe(period: TimeSpanInput!): OperationOutcome!
503
+ pwfs1StopObserve: OperationOutcome!
504
+ pwfs1CircularBuffer(enable: Boolean): OperationOutcome!
505
+ pwfs2Filter(filter: PwfsFilter): OperationOutcome!
506
+ pwfs2FieldStop(fieldStop: PwfsFieldStop): OperationOutcome!
507
+ pwfs2Target(target: TargetPropertiesInput!): OperationOutcome!
508
+ pwfs2ProbeTracking(config: ProbeTrackingInput!): OperationOutcome!
509
+ pwfs2Park: OperationOutcome!
510
+ pwfs2Follow(enable: Boolean!): OperationOutcome!
511
+ pwfs2Observe(period: TimeSpanInput!): OperationOutcome!
512
+ pwfs2StopObserve: OperationOutcome!
513
+ pwfs2CircularBuffer(enable: Boolean): OperationOutcome!
514
+ oiwfsTarget(target: TargetPropertiesInput!): OperationOutcome!
515
+ oiwfsProbeTracking(config: ProbeTrackingInput!): OperationOutcome!
516
+ oiwfsPark: OperationOutcome!
517
+ oiwfsFollow(enable: Boolean!): OperationOutcome!
518
+ oiwfsObserve(period: TimeSpanInput!): OperationOutcome!
519
+ oiwfsStopObserve: OperationOutcome!
520
+ oiwfsCircularBuffer(enable: Boolean): OperationOutcome!
521
+ acObserve(period: TimeSpanInput!): OperationOutcome!
522
+ acStopObserve: OperationOutcome!
523
+ guideEnable(config: GuideConfigurationInput!): OperationOutcome!
524
+ guideDisable: OperationOutcome!
525
+ m1Park: OperationOutcome!
526
+ m1Unpark: OperationOutcome!
527
+ m1OpenLoopOff: OperationOutcome!
528
+ m1OpenLoopOn: OperationOutcome!
529
+ m1ZeroFigure: OperationOutcome!
530
+ m1LoadAoFigure: OperationOutcome!
531
+ m1LoadNonAoFigure: OperationOutcome!
532
+ lightpathConfig(from: LightSource, to: LightSink): OperationOutcome!
533
+ acquisitionAdjustment(adjustment: AcquisitionAdjustmentInput!): OperationOutcome!
534
+ wfsSky(wfs: GuideProbe!, period: TimeSpanInput!): OperationOutcome!
535
+ adjustTarget(target: AdjustTarget!, offset: HandsetAdjustmentInput!, openLoops: Boolean!): OperationOutcome!
536
+ adjustPointing(offset: HandsetAdjustmentInput!): OperationOutcome!
537
+ adjustOrigin(offset: HandsetAdjustmentInput!, openLoops: Boolean!): OperationOutcome!
538
+ resetTargetAdjustment(target: AdjustTarget!, openLoops: Boolean!): OperationOutcome!
539
+ absorbTargetAdjustment(target: AdjustTarget!): OperationOutcome!
540
+ resetLocalPointingAdjustment: OperationOutcome!
541
+ resetGuidePointingAdjustment: OperationOutcome!
542
+ absorbGuidePointingAdjustment: OperationOutcome!
543
+ resetOriginAdjustment(openLoops: Boolean!): OperationOutcome!
544
+ absorbOriginAdjustment: OperationOutcome!
545
+ acLens(lens: AcLens!): OperationOutcome!
546
+ acNdFilter(ndFilter: AcNdFilter!): OperationOutcome!
547
+ acFilter(filter: AcFilter!): OperationOutcome!
548
+ acWindowSize(size: AcWindowInput!): OperationOutcome!
549
+ refreshEphemerisFiles(observingNight: Date): OperationOutcome!
550
+ }
551
+
552
+ type Subscription {
553
+ logMessage: LogMessage!
554
+ guideState: GuideConfigurationState!
555
+ guidersQualityValues: GuidersQualityValues!
556
+ telescopeState: TelescopeState!
557
+ navigateState: NavigateState!
558
+ acquisitionAdjustmentState: AcquisitionAdjustmentState!
559
+ targetAdjustmentOffsets: TargetOffsets!
560
+ originAdjustmentOffset: FocalPlaneOffset!
561
+ pointingAdjustmentOffset: PointingCorrections!
562
+ acMechsState: AcMechs!
563
+ pwfs1MechsState: PwfsMechsState!
564
+ pwfs2MechsState: PwfsMechsState!
565
+ pwfs1ConfigState: WfsConfigState!
566
+ pwfs2ConfigState: WfsConfigState!
567
+ oiwfsConfigState: WfsConfigState!
568
+ }
package/package.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "@gemini-hlsw/lucuma-schemas",
3
+ "version": "0.176.0",
4
+ "license": "BSD-3-Clause",
5
+ "exports": {
6
+ "./odb": "./ObservationDB.graphql",
7
+ "./navigate": "./navigate.graphql"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/gemini-hlsw/lucuma-apps.git"
12
+ }
13
+ }