@opentrons/shared-data 0.1.6-alpha.14 → 0.1.6-alpha.16

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 (41) hide show
  1. package/command/schemas/10.json +5 -5
  2. package/command/schemas/11.json +1249 -107
  3. package/command/types/unsafe.ts +1 -1
  4. package/deck/definitions/5/ot3_standard.json +0 -24
  5. package/labware/definitions/2/opentrons_flex_deck_riser/1.json +1 -1
  6. package/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +18 -1
  7. package/labware/schemas/2.json +29 -13
  8. package/labware/schemas/3.json +29 -13
  9. package/lib/command/index.d.ts +1 -1
  10. package/lib/command/schemas/10.json +5 -5
  11. package/lib/command/schemas/11.json +1249 -107
  12. package/lib/command/types/unsafe.d.ts +1 -1
  13. package/lib/deck/definitions/5/ot3_standard.json +0 -24
  14. package/lib/index.mjs +4171 -2783
  15. package/lib/js/__tests__/liquidClassSchema.test.d.ts +1 -0
  16. package/lib/js/constants.d.ts +1 -1
  17. package/lib/js/helpers/index.d.ts +3 -0
  18. package/lib/labware/definitions/2/opentrons_flex_deck_riser/1.json +1 -1
  19. package/lib/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +18 -1
  20. package/lib/labware/schemas/2.json +29 -13
  21. package/lib/labware/schemas/3.json +29 -13
  22. package/lib/liquid-class/definitions/1/water.json +2376 -0
  23. package/lib/liquid-class/fixtures/1/fixture_glycerol50.json +224 -0
  24. package/lib/liquid-class/schemas/1.json +485 -0
  25. package/lib/module/schemas/3.json +1 -1
  26. package/lib/pipette/definitions/2/general/eight_channel_em/p1000/3_0.json +320 -0
  27. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/3_0.json +3 -3
  28. package/lib/pipette/definitions/2/geometry/eight_channel_em/p1000/3_0.json +55 -0
  29. package/lib/pipette/definitions/2/liquid/eight_channel_em/p1000/default/3_0.json +236 -0
  30. package/liquid-class/definitions/1/water.json +2376 -0
  31. package/liquid-class/fixtures/{fixture_glycerol50.json → 1/fixture_glycerol50.json} +27 -43
  32. package/liquid-class/schemas/1.json +36 -37
  33. package/module/schemas/3.json +1 -1
  34. package/package.json +1 -1
  35. package/pipette/definitions/2/general/eight_channel_em/p1000/3_0.json +320 -0
  36. package/pipette/definitions/2/general/ninety_six_channel/p200/3_0.json +3 -3
  37. package/pipette/definitions/2/geometry/eight_channel_em/p1000/3_0.json +55 -0
  38. package/pipette/definitions/2/geometry/eight_channel_em/p1000/placeholder.gltf +0 -0
  39. package/pipette/definitions/2/liquid/eight_channel_em/p1000/default/3_0.json +236 -0
  40. package/tsconfig-data.json +1 -0
  41. package/tsconfig.json +1 -0
@@ -0,0 +1,485 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "opentronsLiquidClassSchemaV1",
4
+ "title": "Liquid Class Schema",
5
+ "description": "Schema for defining a single liquid class's properties for liquid handling functions.",
6
+ "type": "object",
7
+ "definitions": {
8
+ "positiveNumber": {
9
+ "type": "number",
10
+ "minimum": 0
11
+ },
12
+ "safeString": {
13
+ "description": "A string safe to use for namespace. Lowercase-only.",
14
+ "type": "string",
15
+ "pattern": "^[a-z0-9._]+$"
16
+ },
17
+ "delay": {
18
+ "type": "object",
19
+ "properties": {
20
+ "enable": {
21
+ "type": "boolean",
22
+ "description": "Whether delay is enabled."
23
+ },
24
+ "params": {
25
+ "type": "object",
26
+ "properties": {
27
+ "duration": {
28
+ "#ref": "#/definitions/positiveNumber",
29
+ "description": "Duration of delay, in seconds."
30
+ }
31
+ },
32
+ "required": ["duration"],
33
+ "additionalProperties": false
34
+ }
35
+ },
36
+ "required": ["enable"],
37
+ "additionalProperties": false
38
+ },
39
+ "positionReference": {
40
+ "type": "string",
41
+ "description": "Reference point for positioning.",
42
+ "enum": ["well-bottom", "well-top", "well-center", "liquid-meniscus"]
43
+ },
44
+ "coordinate": {
45
+ "type": "object",
46
+ "description": "3-dimensional coordinate.",
47
+ "properties": {
48
+ "x": {
49
+ "type": "number"
50
+ },
51
+ "y": {
52
+ "type": "number"
53
+ },
54
+ "z": {
55
+ "type": "number"
56
+ }
57
+ },
58
+ "required": ["x", "y", "z"],
59
+ "additionalProperties": false
60
+ },
61
+ "touchTip": {
62
+ "type": "object",
63
+ "description": "Shared properties for the touch-tip function.",
64
+ "properties": {
65
+ "enable": {
66
+ "type": "boolean",
67
+ "description": "Whether touch-tip is enabled."
68
+ },
69
+ "params": {
70
+ "type": "object",
71
+ "properties": {
72
+ "zOffset": {
73
+ "type": "number",
74
+ "description": "Offset from the top of the well for touch-tip, in millimeters."
75
+ },
76
+ "mmToEdge": {
77
+ "type": "number",
78
+ "description": "Offset away from the the well edge, in millimeters."
79
+ },
80
+ "speed": {
81
+ "$ref": "#/definitions/positiveNumber",
82
+ "description": "Touch-tip speed, in millimeters per second."
83
+ }
84
+ },
85
+ "required": ["zOffset", "mmToEdge", "speed"],
86
+ "additionalProperties": false
87
+ }
88
+ },
89
+ "required": ["enable"],
90
+ "additionalProperties": false
91
+ },
92
+ "airGapByVolume": {
93
+ "type": "array",
94
+ "description": "Settings for air gap keyed by target aspiration volume.",
95
+ "items": {
96
+ "type": "array",
97
+ "items": { "$ref": "#/definitions/positiveNumber" },
98
+ "minItems": 2,
99
+ "maxItems": 2
100
+ },
101
+ "minItems": 1
102
+ },
103
+ "flowRateByVolume": {
104
+ "type": "array",
105
+ "description": "Settings for flow rate keyed by target aspiration/dispense volume.",
106
+ "items": {
107
+ "type": "array",
108
+ "items": { "$ref": "#/definitions/positiveNumber" },
109
+ "minItems": 2,
110
+ "maxItems": 2
111
+ },
112
+ "minItems": 1
113
+ },
114
+ "pushOutByVolume": {
115
+ "type": "array",
116
+ "description": "Settings for pushout keyed by target aspiration volume.",
117
+ "items": {
118
+ "type": "array",
119
+ "items": { "$ref": "#/definitions/positiveNumber" },
120
+ "minItems": 2,
121
+ "maxItems": 2
122
+ },
123
+ "minItems": 1
124
+ },
125
+ "disposalByVolume": {
126
+ "type": "array",
127
+ "description": "An array of two tuples containing positive numbers.",
128
+ "items": {
129
+ "type": "array",
130
+ "items": { "$ref": "#/definitions/positiveNumber" },
131
+ "minItems": 2,
132
+ "maxItems": 2
133
+ },
134
+ "minItems": 1
135
+ },
136
+ "conditioningByVolume": {
137
+ "type": "array",
138
+ "description": "Settings for conditioning volume keyed by target dispense volume.",
139
+ "items": {
140
+ "type": "array",
141
+ "items": { "$ref": "#/definitions/positiveNumber" },
142
+ "minItems": 2,
143
+ "maxItems": 2
144
+ },
145
+ "minItems": 1
146
+ },
147
+ "mix": {
148
+ "type": "object",
149
+ "description": "Mixing properties.",
150
+ "properties": {
151
+ "enable": {
152
+ "type": "boolean",
153
+ "description": "Whether mix is enabled."
154
+ },
155
+ "params": {
156
+ "type": "object",
157
+ "properties": {
158
+ "repetitions": {
159
+ "type": "integer",
160
+ "description": "Number of mixing repetitions.",
161
+ "minimum": 0
162
+ },
163
+ "volume": {
164
+ "$ref": "#/definitions/positiveNumber",
165
+ "description": "Volume used for mixing, in microliters."
166
+ }
167
+ },
168
+ "required": ["repetitions", "volume"],
169
+ "additionalProperties": false
170
+ }
171
+ },
172
+ "required": ["enable"],
173
+ "additionalProperties": false
174
+ },
175
+ "blowout": {
176
+ "type": "object",
177
+ "description": "Blowout properties.",
178
+ "properties": {
179
+ "enable": {
180
+ "type": "boolean",
181
+ "description": "Whether blow-out is enabled."
182
+ },
183
+ "params": {
184
+ "type": "object",
185
+ "properties": {
186
+ "location": {
187
+ "type": "string",
188
+ "enum": ["source", "destination", "trash"],
189
+ "description": "Location well or trash entity for blow out."
190
+ },
191
+ "flowRate": {
192
+ "$ref": "#/definitions/positiveNumber",
193
+ "description": "Flow rate for blow out, in microliters per second."
194
+ }
195
+ },
196
+ "required": ["location", "flowRate"]
197
+ }
198
+ },
199
+ "required": ["enable"],
200
+ "additionalProperties": false
201
+ },
202
+ "submerge": {
203
+ "type": "object",
204
+ "description": "Shared properties for the submerge function before aspiration or dispense.",
205
+ "properties": {
206
+ "positionReference": {
207
+ "$ref": "#/definitions/positionReference"
208
+ },
209
+ "offset": {
210
+ "$ref": "#/definitions/coordinate"
211
+ },
212
+ "speed": {
213
+ "$ref": "#/definitions/positiveNumber",
214
+ "description": "Speed of submerging, in millimeters per second."
215
+ },
216
+ "delay": {
217
+ "$ref": "#/definitions/delay"
218
+ }
219
+ },
220
+ "required": ["positionReference", "offset", "speed", "delay"],
221
+ "additionalProperties": false
222
+ },
223
+ "retractAspirate": {
224
+ "type": "object",
225
+ "description": "Shared properties for the retract function after aspiration or dispense.",
226
+ "properties": {
227
+ "positionReference": {
228
+ "$ref": "#/definitions/positionReference"
229
+ },
230
+ "offset": {
231
+ "$ref": "#/definitions/coordinate"
232
+ },
233
+ "speed": {
234
+ "$ref": "#/definitions/positiveNumber",
235
+ "description": "Speed of retraction, in millimeters per second."
236
+ },
237
+ "airGapByVolume": {
238
+ "$ref": "#/definitions/airGapByVolume"
239
+ },
240
+ "touchTip": {
241
+ "$ref": "#/definitions/touchTip"
242
+ },
243
+ "delay": {
244
+ "$ref": "#/definitions/delay"
245
+ }
246
+ },
247
+ "required": [
248
+ "positionReference",
249
+ "offset",
250
+ "speed",
251
+ "airGapByVolume",
252
+ "delay"
253
+ ],
254
+ "additionalProperties": false
255
+ },
256
+ "retractDispense": {
257
+ "type": "object",
258
+ "description": "Shared properties for the retract function after aspiration or dispense.",
259
+ "properties": {
260
+ "positionReference": {
261
+ "$ref": "#/definitions/positionReference"
262
+ },
263
+ "offset": {
264
+ "$ref": "#/definitions/coordinate"
265
+ },
266
+ "speed": {
267
+ "$ref": "#/definitions/positiveNumber",
268
+ "description": "Speed of retraction, in millimeters per second."
269
+ },
270
+ "airGapByVolume": {
271
+ "$ref": "#/definitions/airGapByVolume"
272
+ },
273
+ "blowout": {
274
+ "$ref": "#/definitions/blowout"
275
+ },
276
+ "touchTip": {
277
+ "$ref": "#/definitions/touchTip"
278
+ },
279
+ "delay": {
280
+ "$ref": "#/definitions/delay"
281
+ }
282
+ },
283
+ "required": [
284
+ "positionReference",
285
+ "offset",
286
+ "speed",
287
+ "airGapByVolume",
288
+ "blowout",
289
+ "touchTip",
290
+ "delay"
291
+ ],
292
+ "additionalProperties": false
293
+ },
294
+ "aspirateParams": {
295
+ "type": "object",
296
+ "description": "Parameters specific to the aspirate function.",
297
+ "properties": {
298
+ "submerge": {
299
+ "$ref": "#/definitions/submerge"
300
+ },
301
+ "retract": {
302
+ "$ref": "#/definitions/retractAspirate"
303
+ },
304
+ "positionReference": {
305
+ "$ref": "#/definitions/positionReference"
306
+ },
307
+ "offset": {
308
+ "$ref": "#/definitions/coordinate"
309
+ },
310
+ "flowRateByVolume": {
311
+ "$ref": "#/definitions/flowRateByVolume"
312
+ },
313
+ "preWet": {
314
+ "type": "boolean",
315
+ "description": "Whether to perform a pre-wet action."
316
+ },
317
+ "mix": {
318
+ "$ref": "#/definitions/mix"
319
+ },
320
+ "delay": {
321
+ "$ref": "#/definitions/delay"
322
+ }
323
+ },
324
+ "required": [
325
+ "submerge",
326
+ "retract",
327
+ "positionReference",
328
+ "offset",
329
+ "flowRateByVolume",
330
+ "preWet",
331
+ "mix",
332
+ "delay"
333
+ ],
334
+ "additionalProperties": false
335
+ },
336
+ "singleDispenseParams": {
337
+ "type": "object",
338
+ "description": "Parameters specific to the single-dispense function.",
339
+ "properties": {
340
+ "submerge": {
341
+ "$ref": "#/definitions/submerge"
342
+ },
343
+ "retract": {
344
+ "$ref": "#/definitions/retractDispense"
345
+ },
346
+ "positionReference": {
347
+ "$ref": "#/definitions/positionReference"
348
+ },
349
+ "offset": {
350
+ "$ref": "#/definitions/coordinate"
351
+ },
352
+ "flowRateByVolume": {
353
+ "$ref": "#/definitions/flowRateByVolume"
354
+ },
355
+ "mix": {
356
+ "$ref": "#/definitions/mix"
357
+ },
358
+ "pushOutByVolume": {
359
+ "$ref": "#/definitions/pushOutByVolume"
360
+ },
361
+ "delay": {
362
+ "$ref": "#/definitions/delay"
363
+ }
364
+ },
365
+ "required": [
366
+ "submerge",
367
+ "retract",
368
+ "positionReference",
369
+ "offset",
370
+ "flowRateByVolume",
371
+ "mix",
372
+ "pushOutByVolume",
373
+ "delay"
374
+ ],
375
+ "additionalProperties": false
376
+ },
377
+ "multiDispenseParams": {
378
+ "type": "object",
379
+ "description": "Parameters specific to the multi-dispense function.",
380
+ "properties": {
381
+ "submerge": {
382
+ "$ref": "#/definitions/submerge"
383
+ },
384
+ "retract": {
385
+ "$ref": "#/definitions/retractDispense"
386
+ },
387
+ "positionReference": {
388
+ "$ref": "#/definitions/positionReference"
389
+ },
390
+ "offset": {
391
+ "$ref": "#/definitions/coordinate"
392
+ },
393
+ "flowRateByVolume": {
394
+ "$ref": "#/definitions/flowRateByVolume"
395
+ },
396
+ "conditioningByVolume": {
397
+ "$ref": "#/definitions/conditioningByVolume"
398
+ },
399
+ "disposalByVolume": {
400
+ "$ref": "#/definitions/disposalByVolume"
401
+ },
402
+ "delay": {
403
+ "$ref": "#/definitions/delay"
404
+ }
405
+ },
406
+ "required": [
407
+ "submerge",
408
+ "retract",
409
+ "positionReference",
410
+ "offset",
411
+ "flowRateByVolume",
412
+ "conditioningByVolume",
413
+ "disposalByVolume",
414
+ "delay"
415
+ ],
416
+ "additionalProperties": false
417
+ }
418
+ },
419
+ "properties": {
420
+ "liquidClassName": {
421
+ "$ref": "#/definitions/safeString",
422
+ "description": "The name of the liquid class specified when loading into protocol (e.g., water, ethanol, serum). Should be the same as file name."
423
+ },
424
+ "displayName": {
425
+ "type": "string",
426
+ "description": "User-readable name of the liquid class."
427
+ },
428
+ "schemaVersion": {
429
+ "description": "Which schema version a liquid class is using",
430
+ "type": "number",
431
+ "enum": [1]
432
+ },
433
+ "namespace": {
434
+ "$ref": "#/definitions/safeString"
435
+ },
436
+ "byPipette": {
437
+ "type": "array",
438
+ "description": "Liquid class settings by each pipette compatible with this liquid class.",
439
+ "items": {
440
+ "type": "object",
441
+ "description": "The settings for a specific kind of pipette when interacting with this liquid class",
442
+ "properties": {
443
+ "pipetteModel": {
444
+ "type": "string",
445
+ "description": "The pipette model this applies to"
446
+ },
447
+ "byTipType": {
448
+ "type": "array",
449
+ "description": "Settings for each kind of tip this pipette can use",
450
+ "items": {
451
+ "type": "object",
452
+ "properties": {
453
+ "tiprack": {
454
+ "type": "string",
455
+ "description": "The tiprack name whose tip will be used when handling this specific liquid class with this pipette"
456
+ },
457
+ "aspirate": {
458
+ "$ref": "#/definitions/aspirateParams"
459
+ },
460
+ "singleDispense": {
461
+ "$ref": "#/definitions/singleDispenseParams"
462
+ },
463
+ "multiDispense": {
464
+ "$ref": "#/definitions/multiDispenseParams"
465
+ }
466
+ },
467
+ "required": ["tiprack", "aspirate", "singleDispense"],
468
+ "additionalProperties": false
469
+ }
470
+ }
471
+ },
472
+ "required": ["pipetteModel", "byTipType"],
473
+ "additionalProperties": false
474
+ }
475
+ }
476
+ },
477
+ "required": [
478
+ "liquidClassName",
479
+ "displayName",
480
+ "schemaVersion",
481
+ "namespace",
482
+ "byPipette"
483
+ ],
484
+ "additionalProperties": false
485
+ }
@@ -141,7 +141,7 @@
141
141
  },
142
142
  "gripperOffsets": {
143
143
  "type": "object",
144
- "description": "Offsets to be added when calculating the coordinates a gripper should go to when picking up or dropping a labware on a module.",
144
+ "description": "Offsets to be added when calculating the coordinates a gripper should go to when picking up or dropping a labware on this module.",
145
145
  "properties": {
146
146
  "default": {
147
147
  "type": "object",